diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 5c2096cfe4d..58834f4597e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -47,8 +47,8 @@ /nixos/doc/manual/man-nixos-option.xml @nbp /nixos/modules/installer/tools/nixos-option.sh @nbp -# NixOS modules -/nixos/modules @Infinisil +# New NixOS modules +/nixos/modules/module-list.nix @Infinisil # Python-related code and docs /maintainers/scripts/update-python-libraries @FRidh @@ -58,11 +58,11 @@ /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 @@ -107,8 +107,8 @@ # Eclipse /pkgs/applications/editors/eclipse @rycee -# https://github.com/NixOS/nixpkgs/issues/31401 -/lib/licenses.nix @ghost +# Licenses +/lib/licenses.nix @alyssais # Qt / KDE /pkgs/applications/kde @ttuegel @@ -122,6 +122,14 @@ /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 @@ -131,3 +139,14 @@ # Bazel /pkgs/development/tools/build-managers/bazel @mboes @Profpatsch + +# NixOS modules for e-mail and dns services +/nixos/modules/services/mail/mailman.nix @peti +/nixos/modules/services/mail/postfix.nix @peti +/nixos/modules/services/networking/bind.nix @peti +/nixos/modules/services/mail/rspamd.nix @peti + +# Emacs +/pkgs/applications/editors/emacs-modes @adisbladis +/pkgs/applications/editors/emacs @adisbladis +/pkgs/top-level/emacs-packages.nix @adisbladis diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 466d8d2c359..d7463385ae5 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -8,5 +8,4 @@ ## Technical details -Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the -results. +Please run `nix run nixpkgs.nix-info -c nix-info -m` and paste the result. diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000000..8cc9a80758d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,37 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '0.kind: bug' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. ... +2. ... +3. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Additional context** +Add any other context about the problem here. + +**Metadata** +Please run `nix run nixpkgs.nix-info -c nix-info -m` and paste the result. + +Maintainer information: +```yaml +# a list of nixpkgs attributes affected by the problem +attribute: +# a list of nixos modules affected by the problem +module: +``` diff --git a/.github/ISSUE_TEMPLATE/packaging_request.md b/.github/ISSUE_TEMPLATE/packaging_request.md new file mode 100644 index 00000000000..1ddcd983f31 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/packaging_request.md @@ -0,0 +1,18 @@ +--- +name: Packaging requests +about: For packages that are missing +title: '' +labels: '0.kind: packaging request' +assignees: '' + +--- + +**Project description** +_describe the project a little_ + +**Metadata** + +* homepage URL: +* source URL: +* license: mit, bsd, gpl2+ , ... +* platforms: unix, linux, darwin, ... diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 22940f5ea98..a4f1c61e8f5 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,3 +1,4 @@ + ###### Motivation for this change @@ -11,11 +12,12 @@ - [ ] 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 +- [ ] Ensured that relevant documentation is up to date - [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md). ---- +###### Notify maintainers +cc @ diff --git a/.version b/.version index 360de6347ae..ba19dc3bb41 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -19.03 \ No newline at end of file +19.09 \ No newline at end of file diff --git a/COPYING b/COPYING index 7c52fb76897..9a73903d6df 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 diff --git a/README.md b/README.md index 29c023e4dcd..d589b953d18 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ [logo](https://nixos.org/nixos) [![Code Triagers Badge](https://www.codetriage.com/nixos/nixpkgs/badges/users.svg)](https://www.codetriage.com/nixos/nixpkgs) +[![Open Collective supporters](https://opencollective.com/nixos/tiers/supporter/badge.svg?label=Supporter&color=brightgreen)](https://opencollective.com/nixos) Nixpkgs is a collection of packages for the [Nix](https://nixos.org/nix/) package manager. It is periodically built and tested by the [Hydra](https://hydra.nixos.org/) @@ -12,12 +13,12 @@ build daemon as so-called channels. To get channel information via git, add ``` For stability and maximum binary package support, it is recommended to maintain -custom changes on top of one of the channels, e.g. `nixos-18.09` 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.09 +% git rebase channels/nixos-19.03 ``` For pull requests, please rebase onto nixpkgs `master`. @@ -31,9 +32,9 @@ 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.09 release](https://hydra.nixos.org/jobset/nixos/release-18.09) +* [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.09 release](https://hydra.nixos.org/job/nixos/release-18.09/tested#tabs-constituents) +* [Tests for 19.03 release](https://hydra.nixos.org/job/nixos/release-19.03/tested#tabs-constituents) Communication: diff --git a/doc/.gitignore b/doc/.gitignore index cb07135e685..b5c58be03d1 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -1,7 +1,8 @@ *.chapter.xml *.section.xml .version -out -manual-full.xml -highlightjs +functions/library/generated functions/library/locations.xml +highlightjs +manual-full.xml +out diff --git a/doc/Makefile b/doc/Makefile index cd6d7eb8d1c..e7ca31b20d7 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -8,10 +8,10 @@ debug: nix-shell --run "xmloscopy --docbook5 ./manual.xml ./manual-full.xml" .PHONY: format -format: +format: doc-support/result find . -iname '*.xml' -type f | while read f; do \ echo $$f ;\ - xmlformat --config-file "$$XMLFORMAT_CONFIG" -i $$f ;\ + xmlformat --config-file "doc-support/result/xmlformat.conf" -i $$f ;\ done .PHONY: fix-misc-xml @@ -21,19 +21,19 @@ fix-misc-xml: .PHONY: clean clean: - rm -f ${MD_TARGETS} .version manual-full.xml functions/library/locations.xml functions/library/generated + rm -f ${MD_TARGETS} doc-support/result .version manual-full.xml functions/library/locations.xml functions/library/generated rm -rf ./out/ ./highlightjs .PHONY: validate -validate: manual-full.xml - jing "$$RNG" manual-full.xml +validate: manual-full.xml doc-support/result + jing doc-support/result/docbook.rng manual-full.xml -out/html/index.html: manual-full.xml style.css highlightjs +out/html/index.html: doc-support/result manual-full.xml style.css highlightjs mkdir -p out/html - xsltproc ${xsltFlags} \ + xsltproc \ --nonet --xinclude \ --output $@ \ - "$$XSL/docbook/xhtml/docbook.xsl" \ + doc-support/result/xhtml.xsl \ ./manual-full.xml mkdir -p out/html/highlightjs/ @@ -43,50 +43,48 @@ out/html/index.html: manual-full.xml style.css highlightjs cp ./style.css out/html/style.css mkdir -p out/html/images/callouts - cp "$$XSL/docbook/images/callouts/"*.svg out/html/images/callouts/ + cp doc-support/result/xsl/docbook/images/callouts/*.svg out/html/images/callouts/ chmod u+w -R out/html/ out/epub/manual.epub: manual-full.xml mkdir -p out/epub/scratch - xsltproc ${xsltFlags} --nonet \ + xsltproc --nonet \ --output out/epub/scratch/ \ - "$$XSL/docbook/epub/docbook.xsl" \ + doc-support/result/epub.xsl \ ./manual-full.xml cp ./overrides.css out/epub/scratch/OEBPS cp ./style.css out/epub/scratch/OEBPS mkdir -p out/epub/scratch/OEBPS/images/callouts/ - cp "$$XSL/docbook/images/callouts/"*.svg out/epub/scratch/OEBPS/images/callouts/ + cp doc-support/result/xsl/docbook/images/callouts/*.svg out/epub/scratch/OEBPS/images/callouts/ echo "application/epub+zip" > mimetype zip -0Xq "out/epub/manual.epub" mimetype rm mimetype cd "out/epub/scratch/" && zip -Xr9D "../manual.epub" * rm -rf "out/epub/scratch/" -highlightjs: +highlightjs: doc-support/result mkdir -p highlightjs - cp -r "$$HIGHLIGHTJS/highlight.pack.js" highlightjs/ - cp -r "$$HIGHLIGHTJS/LICENSE" highlightjs/ - cp -r "$$HIGHLIGHTJS/mono-blue.css" highlightjs/ - cp -r "$$HIGHLIGHTJS/loader.js" highlightjs/ + cp -r doc-support/result/highlightjs/highlight.pack.js highlightjs/ + cp -r doc-support/result/highlightjs/LICENSE highlightjs/ + cp -r doc-support/result/highlightjs/mono-blue.css highlightjs/ + cp -r doc-support/result/highlightjs/loader.js highlightjs/ 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 +.version: doc-support/result + ln -rfs ./doc-support/result/version .version -function_locations := $(shell nix-build --no-out-link ./lib-function-locations.nix) +doc-support/result: doc-support/default.nix + (cd doc-support; nix-build) -functions/library/locations.xml: - ln -s $(function_locations) ./functions/library/locations.xml +functions/library/locations.xml: doc-support/result + ln -rfs ./doc-support/result/function-locations.xml functions/library/locations.xml -functions/library/generated: - nix-build ./lib-function-docs.nix \ - --arg locationsXml $(function_locations)\ - --out-link ./functions/library/generated +functions/library/generated: doc-support/result + ln -rfs ./doc-support/result/function-docs functions/library/generated %.section.xml: %.section.md pandoc $^ -w docbook+smart \ diff --git a/doc/coding-conventions.xml b/doc/coding-conventions.xml index d2c7a1baae9..48356247a49 100644 --- a/doc/coding-conventions.xml +++ b/doc/coding-conventions.xml @@ -197,20 +197,14 @@ 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. + 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. @@ -253,15 +247,15 @@ args.stdenv.mkDerivation (args // { - The name attribute should - be identical to the upstream package name. + The name attribute should be + identical to the upstream package name. - The name attribute must not - contain uppercase letters — 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". @@ -275,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 @@ -814,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 reproducible 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. @@ -869,8 +864,10 @@ src = fetchFromGitHub { } 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. + 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. @@ -924,7 +921,7 @@ src = fetchFromGitHub { You can convert between formats with nix-hash, for example: -$ nix-hash --type sha256 --to-base32 HASH +$ nix-hash --type sha256 --to-base32 HASH @@ -953,17 +950,23 @@ $ nix-hash --type sha256 --to-base32 HASH 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. + + + 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: + 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: + @@ -972,7 +975,8 @@ $ nix-hash --type sha256 --to-base32 HASH - hashes from upstream (in method 3) should be obtained via secure protocol; + hashes from upstream (in method 3) should be obtained via secure + protocol; @@ -982,12 +986,12 @@ $ nix-hash --type sha256 --to-base32 HASH - 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. + 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. @@ -1034,7 +1038,7 @@ patches = [ ./0001-changes.patch ]; Move to the root directory of the source code you're patching. -$ cd the/program/source +$ cd the/program/source @@ -1042,8 +1046,8 @@ $ cd the/program/source If a git repository is not already present, create one and stage all of the source files. -$ git init -$ git add . +$ git init +$ git add . @@ -1056,7 +1060,7 @@ $ git add . Use git to create a diff, and pipe the output to a patch file: -$ git diff > nixpkgs/pkgs/the/package/0001-changes.patch +$ git diff > nixpkgs/pkgs/the/package/0001-changes.patch diff --git a/doc/configuration.xml b/doc/configuration.xml index 8a5ff8dcb8e..b497fa4e272 100644 --- a/doc/configuration.xml +++ b/doc/configuration.xml @@ -132,13 +132,13 @@ - 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. + 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,9 +175,8 @@ - For a more useful example, try the following. This configuration - only allows unfree packages named 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: builtins.elem diff --git a/doc/contributing.xml b/doc/contributing.xml index d28442b7a2c..523c1c9c8f0 100644 --- a/doc/contributing.xml +++ b/doc/contributing.xml @@ -12,9 +12,9 @@ xlink:href="https://github.com/NixOS/nixpkgs/tree/master/doc">doc You can quickly check your edits with make: - $ cd /path/to/nixpkgs/doc - $ nix-shell - [nix-shell]$ make +$ cd /path/to/nixpkgs/doc +$ nix-shell +[nix-shell]$ make If you experience problems, run make debug to help @@ -24,10 +24,10 @@ xlink:href="https://github.com/NixOS/nixpkgs/tree/master/doc">doc After making modifications to the manual, it's important to build it before committing. You can do that as follows: - $ cd /path/to/nixpkgs/doc - $ nix-shell - [nix-shell]$ make clean - [nix-shell]$ nix-build . +$ cd /path/to/nixpkgs/doc +$ nix-shell +[nix-shell]$ make clean +[nix-shell]$ nix-build . If the build succeeds, the manual will be in ./result/share/doc/nixpkgs/manual.html. diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml index 40cf11304ea..b7844da195d 100644 --- a/doc/cross-compilation.xml +++ b/doc/cross-compilation.xml @@ -6,17 +6,18 @@ Introduction - "Cross-compilation" means compiling a program on one machine for another 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. However, there are significant - advantages to rigorously distinguishing between build-time and run-time - environments! This applies 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. + "Cross-compilation" means compiling a program on one machine for another + 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. 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,19 +31,20 @@
Packaging in a cross-friendly manner -
+
Platform parameters - Nixpkgs follows the 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 - will run. The third attribute, target, is relevant - only for certain specific compilers and build tools. + 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 + will run. The third attribute, target, is relevant + only for certain specific compilers and build tools. @@ -95,10 +97,10 @@ 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 of specifying this single "target - platform" is thus pushed to build time of the compiler. The root cause of - this 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. + 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 @@ -136,9 +138,9 @@ 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. 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 + 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. @@ -149,14 +151,14 @@ - This is a 3- or 4- component shorthand for the platform. Examples of this - would be x86_64-unknown-linux-gnu and + 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. 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 + 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,10 @@ - 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. See - lib.systems.parse for the exact - representation. + 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. See + lib.systems.parse for the exact representation. @@ -218,8 +219,20 @@
-
- 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 @@ -227,83 +240,98 @@ - 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 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 a 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 @@ -311,8 +339,8 @@ 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! + many features just to figure out the same answer to the same common + problem. Feel free to add to this list! @@ -434,35 +462,217 @@ nix-build <nixpkgs> --arg crossSystem '{ config = "<arch>-<os> build plan or package set. A simple "build vs deploy" dichotomy is adequate: the sliding window principle described in the previous section shows how to interpolate between the these two "end points" to get the 3 platform triple - for each bootstrapping stage. That means for any package a given package set, - even those not bound on the top level but only reachable via 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 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. + for each bootstrapping stage. That means for any package a given package + set, even those not bound on the top level but only reachable via + 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 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.
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 7ceaec28af3..d9051167dee 100644 --- a/doc/default.nix +++ b/doc/default.nix @@ -1,8 +1,7 @@ { pkgs ? (import ./.. { }), nixpkgs ? { }}: let lib = pkgs.lib; - locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs; }; - functionDocs = import ./lib-function-docs.nix { inherit locationsXml pkgs; }; + doc-support = import ./doc-support { inherit pkgs nixpkgs; }; in pkgs.stdenv.mkDerivation { name = "nixpkgs-manual"; @@ -10,30 +9,8 @@ in pkgs.stdenv.mkDerivation { src = ./.; - # Hacking on these variables? Make sure to close and open - # nix-shell between each test, maybe even: - # $ nix-shell --run "make clean all" - # otherwise they won't reapply :) - HIGHLIGHTJS = pkgs.documentation-highlighter; - XSL = "${pkgs.docbook_xsl_ns}/xml/xsl"; - RNG = "${pkgs.docbook5}/xml/rng/docbook/docbook.rng"; - XMLFORMAT_CONFIG = ../nixos/doc/xmlformat.conf; - xsltFlags = lib.concatStringsSep " " [ - "--param section.autolabel 1" - "--param section.label.includes.component.label 1" - "--stringparam html.stylesheet 'style.css overrides.css highlightjs/mono-blue.css'" - "--stringparam html.script './highlightjs/highlight.pack.js ./highlightjs/loader.js'" - "--param xref.with.number.and.title 1" - "--param toc.section.depth 3" - "--stringparam admon.style ''" - "--stringparam callout.graphics.extension .svg" - ]; - postPatch = '' - rm -rf ./functions/library/locations.xml - ln -s ${locationsXml} ./functions/library/locations.xml - ln -s ${functionDocs} ./functions/library/generated - echo ${lib.version} > .version + ln -s ${doc-support} ./doc-support/result ''; installPhase = '' diff --git a/doc/doc-support/default.nix b/doc/doc-support/default.nix new file mode 100644 index 00000000000..53990b67719 --- /dev/null +++ b/doc/doc-support/default.nix @@ -0,0 +1,45 @@ +{ pkgs ? (import ../.. {}), nixpkgs ? { }}: +let + locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs; }; + functionDocs = import ./lib-function-docs.nix { inherit locationsXml pkgs; }; + version = pkgs.lib.version; + + epub-xsl = pkgs.writeText "epub.xsl" '' + + + + + + ''; + + xhtml-xsl = pkgs.writeText "xhtml.xsl" '' + + + + + + ''; +in pkgs.runCommand "doc-support" {} +'' + mkdir result + ( + cd result + ln -s ${locationsXml} ./function-locations.xml + ln -s ${functionDocs} ./function-docs + + ln -s ${pkgs.docbook5}/xml/rng/docbook/docbook.rng ./docbook.rng + ln -s ${pkgs.docbook_xsl_ns}/xml/xsl ./xsl + ln -s ${epub-xsl} ./epub.xsl + ln -s ${xhtml-xsl} ./xhtml.xsl + + ln -s ${../../nixos/doc/xmlformat.conf} ./xmlformat.conf + ln -s ${pkgs.documentation-highlighter} ./highlightjs + + echo -n "${version}" > ./version + ) + mv result $out +'' diff --git a/doc/lib-function-docs.nix b/doc/doc-support/lib-function-docs.nix similarity index 97% rename from doc/lib-function-docs.nix rename to doc/doc-support/lib-function-docs.nix index 421f848d25a..5199b949e7b 100644 --- a/doc/lib-function-docs.nix +++ b/doc/doc-support/lib-function-docs.nix @@ -6,7 +6,7 @@ with pkgs; stdenv.mkDerivation { name = "nixpkgs-lib-docs"; - src = ./../lib; + src = ./../../lib; buildInputs = [ nixdoc ]; installPhase = '' diff --git a/doc/lib-function-locations.nix b/doc/doc-support/lib-function-locations.nix similarity index 100% rename from doc/lib-function-locations.nix rename to doc/doc-support/lib-function-locations.nix diff --git a/doc/doc-support/parameters.xml b/doc/doc-support/parameters.xml new file mode 100644 index 00000000000..bc13e2b70de --- /dev/null +++ b/doc/doc-support/parameters.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/doc/functions.xml b/doc/functions.xml index 53b3654fc45..3b60f46d81d 100644 --- a/doc/functions.xml +++ b/doc/functions.xml @@ -16,6 +16,8 @@ + + diff --git a/doc/functions/appimagetools.xml b/doc/functions/appimagetools.xml new file mode 100644 index 00000000000..e6dbc22f48d --- /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/dockertools.xml b/doc/functions/dockertools.xml index ff446cbfffd..a284182bb04 100644 --- a/doc/functions/dockertools.xml +++ b/doc/functions/dockertools.xml @@ -24,9 +24,9 @@ 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. + 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. @@ -47,7 +47,7 @@ buildImage { contents = pkgs.redis; runAsRoot = '' - #!${stdenv.shell} + #!${pkgs.runtimeShell} mkdir -p /data ''; @@ -190,8 +190,8 @@ buildImage { 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: + docker images, the newly created images will be listed + like this: - Default: 24 + Default: 100 + + + Maximum: 125 + + + + + + extraCommands optional + + + + Shell commands to run while building the final layer, without access + to most of the layer contents. Changes to this layer are "on top" + of all the other layers, so can create additional directories + and files. @@ -402,9 +418,9 @@ pkgs.dockerTools.buildLayeredImage { 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. + that it can be used to pull a Docker image from a Docker registry. By + default Docker Hub is used + to pull images. @@ -417,10 +433,11 @@ pkgs.dockerTools.buildLayeredImage { pullImage { imageName = "nixos/nix"; imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; - finalImageTag = "1.11"; - sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; - os = "linux"; - arch = "x86_64"; + finalImageName = "nix"; + finalImageTag = "1.11"; + sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; + os = "linux"; + arch = "x86_64"; } @@ -436,21 +453,18 @@ pullImage { 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. + 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 @@ -458,25 +472,53 @@ sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b 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 + +
@@ -484,10 +526,10 @@ sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b 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. + 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. @@ -511,7 +553,7 @@ exportImage { name = someLayeredImage.name; } - + @@ -544,7 +586,7 @@ buildImage { name = "shadow-basic"; runAsRoot = '' - #!${stdenv.shell} + #!${pkgs.runtimeShell} ${shadowSetup} groupadd -r redis useradd -r -g redis redis diff --git a/doc/functions/fetchers.xml b/doc/functions/fetchers.xml index b3bd2fe0f45..a736008c9d4 100644 --- a/doc/functions/fetchers.xml +++ b/doc/functions/fetchers.xml @@ -5,24 +5,21 @@ 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. + 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 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. + 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. + 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. + 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. - - - + + + 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. + 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. - - - + + + 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/library.xml b/doc/functions/library.xml index b01de3c6e41..e6aedaa6efd 100644 --- a/doc/functions/library.xml +++ b/doc/functions/library.xml @@ -13,12 +13,17 @@ - + + + + +
diff --git a/doc/functions/nix-gitignore.xml b/doc/functions/nix-gitignore.xml index 465b38e0bf1..9011570d1ea 100644 --- a/doc/functions/nix-gitignore.xml +++ b/doc/functions/nix-gitignore.xml @@ -14,15 +14,15 @@ 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. + 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 @@ -40,24 +40,29 @@ ]]> - These functions are derived from the Filter functions - by setting the first filter argument to (_: _: true): + 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. + 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 - + If you want to make your own filter from scratch, you may use + -
@@ -66,10 +71,11 @@ gitignoreFilter = ign: root: filterPattern (gitignoreToPatterns ign) root; 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: - + If you wish to use a filter that would search for .gitignore files in + subdirectories, just like git does by default, use this function: + - 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 - + 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/snap/example-firefox.nix b/doc/functions/snap/example-firefox.nix new file mode 100644 index 00000000000..d58c98a65a2 --- /dev/null +++ b/doc/functions/snap/example-firefox.nix @@ -0,0 +1,28 @@ +let + inherit (import { }) snapTools firefox; +in snapTools.makeSnap { + meta = { + name = "nix-example-firefox"; + summary = firefox.meta.description; + architectures = [ "amd64" ]; + apps.nix-example-firefox = { + command = "${firefox}/bin/firefox"; + plugs = [ + "pulseaudio" + "camera" + "browser-support" + "avahi-observe" + "cups-control" + "desktop" + "desktop-legacy" + "gsettings" + "home" + "network" + "mount-observe" + "removable-media" + "x11" + ]; + }; + confinement = "strict"; + }; +} diff --git a/doc/functions/snap/example-hello.nix b/doc/functions/snap/example-hello.nix new file mode 100644 index 00000000000..123da80c547 --- /dev/null +++ b/doc/functions/snap/example-hello.nix @@ -0,0 +1,12 @@ +let + inherit (import { }) snapTools hello; +in snapTools.makeSnap { + meta = { + name = "hello"; + summary = hello.meta.description; + description = hello.meta.longDescription; + architectures = [ "amd64" ]; + confinement = "strict"; + apps.hello.command = "${hello}/bin/hello"; + }; +} diff --git a/doc/functions/snaptools.xml b/doc/functions/snaptools.xml new file mode 100644 index 00000000000..d0e3efdf6c6 --- /dev/null +++ b/doc/functions/snaptools.xml @@ -0,0 +1,74 @@ +
+ pkgs.snapTools + + + pkgs.snapTools is a set of functions for creating + Snapcraft images. Snap and Snapcraft is not used to perform these operations. + + +
+ The makeSnap Function + + + makeSnap takes a single named argument, + meta. This argument mirrors + the upstream + snap.yaml format exactly. + + + + The base should not be be specified, as + makeSnap will force set it. + + + + Currently, makeSnap does not support creating GUI + stubs. + +
+ +
+ Build a Hello World Snap + + + Making a Hello World Snap + + The following expression packages GNU Hello as a Snapcraft snap. + + + + nix-build this expression and install it with + snap install ./result --dangerous. + hello will now be the Snapcraft version of the package. + + +
+ +
+ Build a Hello World Snap + + + Making a Graphical Snap + + Graphical programs require many more integrations with the host. This + example uses Firefox as an example, because it is one of the most + complicated programs we could package. + + + + nix-build this expression and install it with + snap install ./result --dangerous. + nix-example-firefox will now be the Snapcraft version of + the Firefox package. + + + The specific meaning behind plugs can be looked up in the + Snapcraft + interface documentation. + + +
+
diff --git a/doc/functions/trivial-builders.xml b/doc/functions/trivial-builders.xml index 92a07aedb5b..0211a4f3172 100644 --- a/doc/functions/trivial-builders.xml +++ b/doc/functions/trivial-builders.xml @@ -5,12 +5,11 @@ 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. + 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. @@ -19,45 +18,42 @@ 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 + + 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 + mkdir $out - echo I can write data to the Nix store > $out/message + echo I can write data to the Nix store > $out/message - echo I can also run basic commands like: + echo I can also run basic commands like: - echo ls - ls + echo ls + ls - echo whoami - whoami + echo whoami + whoami - echo date - date - '' - + echo date + date +'' + @@ -65,41 +61,35 @@ 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. + + 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 + 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. - + + 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. + @@ -109,16 +99,15 @@ 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, + 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. + 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 index 237f3441874..f268c552566 100644 --- a/doc/languages-frameworks/android.section.md +++ b/doc/languages-frameworks/android.section.md @@ -185,10 +185,9 @@ with import {}; androidenv.emulateApp { name = "emulate-MyAndroidApp"; - platformVersion = "24"; - abiVersion = "armeabi-v7a"; # mips, x86 or x86_64 - systemImageType = "default"; - useGoogleAPIs = false; + platformVersion = "28"; + abiVersion = "x86_64"; # armeabi-v7a, mips, x86 + systemImageType = "google_apis_playstore"; } ``` @@ -201,7 +200,7 @@ with import {}; androidenv.emulateApp { name = "emulate-MyAndroidApp"; platformVersion = "24"; - abiVersion = "armeabi-v7a"; # mips, x86 or x86_64 + abiVersion = "armeabi-v7a"; # mips, x86, x86_64 systemImageType = "default"; useGoogleAPIs = false; app = ./MyApp.apk; diff --git a/doc/languages-frameworks/beam.xml b/doc/languages-frameworks/beam.xml index ac7a83ed426..dee7f2d7419 100644 --- a/doc/languages-frameworks/beam.xml +++ b/doc/languages-frameworks/beam.xml @@ -131,8 +131,8 @@ in beamPackages, use the following command: - -$ nix-env -f "<nixpkgs>" -qaP -A beamPackages + +$ nix-env -f "<nixpkgs>" -qaP -A beamPackages beamPackages.esqlite esqlite-0.2.1 beamPackages.goldrush goldrush-0.1.7 beamPackages.ibrowse ibrowse-4.2.2 @@ -140,16 +140,16 @@ beamPackages.jiffy jiffy-0.14.5 beamPackages.lager lager-3.0.2 beamPackages.meck meck-0.8.3 beamPackages.rebar3-pc pc-1.1.0 - + To install any of those packages into your profile, refer to them by their attribute path (first column): - -$ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse - + +$ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse + The attribute path of any BEAM package corresponds to the name of that @@ -178,22 +178,22 @@ $ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse - { stdenv, fetchFromGitHub, buildRebar3, ibrowse, jsx, erlware_commons }: +{ stdenv, fetchFromGitHub, buildRebar3, ibrowse, jsx, erlware_commons }: - buildRebar3 rec { - name = "hex2nix"; - version = "0.0.1"; +buildRebar3 rec { + name = "hex2nix"; + version = "0.0.1"; - src = fetchFromGitHub { - owner = "ericbmerritt"; - repo = "hex2nix"; - rev = "${version}"; - sha256 = "1w7xjidz1l5yjmhlplfx7kphmnpvqm67w99hd2m7kdixwdxq0zqg"; - }; + src = fetchFromGitHub { + owner = "ericbmerritt"; + repo = "hex2nix"; + rev = "${version}"; + sha256 = "1w7xjidz1l5yjmhlplfx7kphmnpvqm67w99hd2m7kdixwdxq0zqg"; + }; - beamDeps = [ ibrowse jsx erlware_commons ]; - } - + beamDeps = [ ibrowse jsx erlware_commons ]; +} + Such derivations are callable with @@ -228,29 +228,29 @@ $ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse - { buildErlangMk, fetchHex, cowlib, ranch }: +{ buildErlangMk, fetchHex, cowlib, ranch }: - buildErlangMk { - name = "cowboy"; - version = "1.0.4"; +buildErlangMk { + name = "cowboy"; + version = "1.0.4"; - src = fetchHex { - pkg = "cowboy"; - version = "1.0.4"; - sha256 = "6a0edee96885fae3a8dd0ac1f333538a42e807db638a9453064ccfdaa6b9fdac"; - }; + src = fetchHex { + pkg = "cowboy"; + version = "1.0.4"; + sha256 = "6a0edee96885fae3a8dd0ac1f333538a42e807db638a9453064ccfdaa6b9fdac"; + }; - beamDeps = [ cowlib ranch ]; + beamDeps = [ cowlib ranch ]; - meta = { - description = '' - Small, fast, modular HTTP server written in Erlang - ''; - license = stdenv.lib.licenses.isc; - homepage = https://github.com/ninenines/cowboy; - }; - } - + meta = { + description = '' + Small, fast, modular HTTP server written in Erlang + ''; + license = stdenv.lib.licenses.isc; + homepage = https://github.com/ninenines/cowboy; + }; +} +
@@ -262,56 +262,56 @@ $ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse - { buildMix, fetchHex, plug, absinthe }: +{ buildMix, fetchHex, plug, absinthe }: - buildMix { - name = "absinthe_plug"; - version = "1.0.0"; +buildMix { + name = "absinthe_plug"; + version = "1.0.0"; - src = fetchHex { - pkg = "absinthe_plug"; - version = "1.0.0"; - sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33"; - }; + src = fetchHex { + pkg = "absinthe_plug"; + version = "1.0.0"; + sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33"; + }; - beamDeps = [ plug absinthe ]; + beamDeps = [ plug absinthe ]; - meta = { - description = '' - A plug for Absinthe, an experimental GraphQL toolkit - ''; - license = stdenv.lib.licenses.bsd3; - homepage = https://github.com/CargoSense/absinthe_plug; - }; - } - + meta = { + description = '' + A plug for Absinthe, an experimental GraphQL toolkit + ''; + license = stdenv.lib.licenses.bsd3; + homepage = https://github.com/CargoSense/absinthe_plug; + }; +} + Alternatively, we can use buildHex as a shortcut: - { buildHex, buildMix, plug, absinthe }: +{ buildHex, buildMix, plug, absinthe }: - buildHex { - name = "absinthe_plug"; - version = "1.0.0"; +buildHex { + name = "absinthe_plug"; + version = "1.0.0"; - sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33"; + sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33"; - builder = buildMix; + builder = buildMix; - beamDeps = [ plug absinthe ]; + beamDeps = [ plug absinthe ]; - meta = { - description = '' - A plug for Absinthe, an experimental GraphQL toolkit - ''; - license = stdenv.lib.licenses.bsd3; - homepage = https://github.com/CargoSense/absinthe_plug; - }; - } - + meta = { + description = '' + A plug for Absinthe, an experimental GraphQL toolkit + ''; + license = stdenv.lib.licenses.bsd3; + homepage = https://github.com/CargoSense/absinthe_plug; + }; +} +
@@ -330,47 +330,47 @@ $ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse could do the following: - - $ nix-shell -A beamPackages.ibrowse.env --run "erl" - Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] + +$ nix-shell -A beamPackages.ibrowse.env --run "erl" +Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] - Eshell V7.0 (abort with ^G) - 1> m(ibrowse). - Module: ibrowse - MD5: 3b3e0137d0cbb28070146978a3392945 - Compiled: January 10 2016, 23:34 - Object file: /nix/store/g1rlf65rdgjs4abbyj4grp37ry7ywivj-ibrowse-4.2.2/lib/erlang/lib/ibrowse-4.2.2/ebin/ibrowse.beam - Compiler options: [{outdir,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/ebin"}, - debug_info,debug_info,nowarn_shadow_vars, - warn_unused_import,warn_unused_vars,warnings_as_errors, - {i,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/include"}] - Exports: - add_config/1 send_req_direct/7 - all_trace_off/0 set_dest/3 - code_change/3 set_max_attempts/3 - get_config_value/1 set_max_pipeline_size/3 - get_config_value/2 set_max_sessions/3 - get_metrics/0 show_dest_status/0 - get_metrics/2 show_dest_status/1 - handle_call/3 show_dest_status/2 - handle_cast/2 spawn_link_worker_process/1 - handle_info/2 spawn_link_worker_process/2 - init/1 spawn_worker_process/1 - module_info/0 spawn_worker_process/2 - module_info/1 start/0 - rescan_config/0 start_link/0 - rescan_config/1 stop/0 - send_req/3 stop_worker_process/1 - send_req/4 stream_close/1 - send_req/5 stream_next/1 - send_req/6 terminate/2 - send_req_direct/4 trace_off/0 - send_req_direct/5 trace_off/2 - send_req_direct/6 trace_on/0 - trace_on/2 - ok - 2> - +Eshell V7.0 (abort with ^G) +1> m(ibrowse). +Module: ibrowse +MD5: 3b3e0137d0cbb28070146978a3392945 +Compiled: January 10 2016, 23:34 +Object file: /nix/store/g1rlf65rdgjs4abbyj4grp37ry7ywivj-ibrowse-4.2.2/lib/erlang/lib/ibrowse-4.2.2/ebin/ibrowse.beam +Compiler options: [{outdir,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/ebin"}, +debug_info,debug_info,nowarn_shadow_vars, +warn_unused_import,warn_unused_vars,warnings_as_errors, +{i,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/include"}] +Exports: +add_config/1 send_req_direct/7 +all_trace_off/0 set_dest/3 +code_change/3 set_max_attempts/3 +get_config_value/1 set_max_pipeline_size/3 +get_config_value/2 set_max_sessions/3 +get_metrics/0 show_dest_status/0 +get_metrics/2 show_dest_status/1 +handle_call/3 show_dest_status/2 +handle_cast/2 spawn_link_worker_process/1 +handle_info/2 spawn_link_worker_process/2 +init/1 spawn_worker_process/1 +module_info/0 spawn_worker_process/2 +module_info/1 start/0 +rescan_config/0 start_link/0 +rescan_config/1 stop/0 +send_req/3 stop_worker_process/1 +send_req/4 stream_close/1 +send_req/5 stream_next/1 +send_req/6 terminate/2 +send_req_direct/4 trace_off/0 +send_req_direct/5 trace_off/2 +send_req_direct/6 trace_on/0 +trace_on/2 +ok +2> + Notice the -A beamPackages.ibrowse.env. That is the key @@ -408,7 +408,7 @@ let in drv - +
Building in a Shell (for Mix Projects) @@ -474,7 +474,7 @@ plt: analyze: build plt $(NIX_SHELL) --run "mix dialyzer --no-compile" - + Using a shell.nix as described (see @@ -513,9 +513,9 @@ analyze: build plt nixpkgs repository: - -$ nix-build -A beamPackages - + +$ nix-build -A beamPackages + That will attempt to build every package in beamPackages. diff --git a/doc/languages-frameworks/crystal.section.md b/doc/languages-frameworks/crystal.section.md new file mode 100644 index 00000000000..07bfc65a553 --- /dev/null +++ b/doc/languages-frameworks/crystal.section.md @@ -0,0 +1,71 @@ +# Crystal + +## Building a Crystal package + +This section uses [Mint](https://github.com/mint-lang/mint) as an example for how to build a Crystal package. + +If the Crystal project has any dependencies, the first step is to get a `shards.nix` file encoding those. Get a copy of the project and go to its root directory such that its `shard.lock` file is in the current directory, then run `crystal2nix` in it +```bash +$ git clone https://github.com/mint-lang/mint +$ cd mint +$ git checkout 0.5.0 +$ nix-shell -p crystal2nix --run crystal2nix +``` + +This should have generated a `shards.nix` file. + +Next create a Nix file for your derivation and use `pkgs.crystal.buildCrystalPackage` as follows: +```nix +with import {}; +crystal.buildCrystalPackage rec { + pname = "mint"; + version = "0.5.0"; + + src = fetchFromGitHub { + owner = "mint-lang"; + repo = "mint"; + rev = version; + sha256 = "0vxbx38c390rd2ysvbwgh89v2232sh5rbsp3nk9wzb70jybpslvl"; + }; + + # Insert the path to your shards.nix file here + shardsFile = ./shards.nix; + + ... +} +``` + +This won't build anything yet, because we haven't told it what files build. We can specify a mapping from binary names to source files with the `crystalBinaries` attribute. The project's compilation instructions should show this. For Mint, the binary is called "mint", which is compiled from the source file `src/mint.cr`, so we'll specify this as follows: + +```nix + crystalBinaries.mint.src = "src/mint.cr"; + + # ... +``` + +Additionally you can override the default `crystal build` options (which are currently `--release --progress --no-debug --verbose`) with + +```nix + crystalBinaries.mint.options = [ "--release" "--verbose" ]; +``` + +Depending on the project, you might need additional steps to get it to compile successfully. In Mint's case, we need to link against openssl, so in the end the Nix file looks as follows: + +```nix +with import {}; +crystal.buildCrystalPackage rec { + version = "0.5.0"; + pname = "mint"; + src = fetchFromGitHub { + owner = "mint-lang"; + repo = "mint"; + rev = version; + sha256 = "0vxbx38c390rd2ysvbwgh89v2232sh5rbsp3nk9wzb70jybpslvl"; + }; + + shardsFile = ./shards.nix; + crystalBinaries.mint.src = "src/mint.cr"; + + buildInputs = [ openssl_1_0_2 ]; +} +``` diff --git a/doc/languages-frameworks/go.xml b/doc/languages-frameworks/go.xml index ab4c9f0f7c8..b2b4962cb5f 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. - - - - + + 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. - + + 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 + + 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. - - - - + + + + + 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. - + + 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: + + 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: +$ nix-build -A deis.bin + + or build all outputs with: - $ nix-build -A deis.all - - bin output will be installed by default with - nix-env -i or systemPackages. - +$ nix-build -A deis.all + + 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 81f662f1a17..48d22831cd9 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 @@ -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 ``` @@ -953,7 +953,7 @@ is essentially a "free software" license (BSD3), according to paragraph 2 of the LGPL, GHC must be distributed under the terms of the LGPL! To work around these problems GHC can be build with a slower but LGPL-free -alternative implemention for Integer called +alternative implementation for Integer called [integer-simple](http://hackage.haskell.org/package/integer-simple). To get a GHC compiler build with `integer-simple` instead of `integer-gmp` use diff --git a/doc/languages-frameworks/idris.section.md b/doc/languages-frameworks/idris.section.md index 50979d76d98..e88015f08e3 100644 --- a/doc/languages-frameworks/idris.section.md +++ b/doc/languages-frameworks/idris.section.md @@ -11,10 +11,21 @@ $ # On non-NixOS $ nix-env -i nixpkgs.idris ``` -This however only provides the `prelude` and `base` libraries. To install additional libraries: +This however only provides the `prelude` and `base` libraries. To install idris with additional libraries, you can use the `idrisPackages.with-packages` function, e.g. in an overlay in `~/.config/nixpkgs/overlays/my-idris.nix`: + +```nix +self: super: { + myIdris = with self.idrisPackages; with-packages [ contrib pruviloj ]; +} +``` + +And then: ``` -$ nix-env -iE 'pkgs: pkgs.idrisPackages.with-packages (with pkgs.idrisPackages; [ contrib pruviloj ])' +$ # On NixOS +$ nix-env -iA nixos.myIdris +$ # On non-NixOS +$ nix-env -iA nixpkgs.myIdris ``` To see all available Idris packages: @@ -113,3 +124,21 @@ in another file (say `default.nix`) to be able to build it with ``` $ nix-build -A yaml ``` + +## Passing options to `idris` commands + +The `build-idris-package` function provides also optional input values to set additional options for the used `idris` commands. + +Specifically, you can set `idrisBuildOptions`, `idrisTestOptions`, `idrisInstallOptions` and `idrisDocOptions` to provide additional options to the `idris` command respectively when building, testing, installing and generating docs for your package. + +For example you could set + +``` +build-idris-package { + idrisBuildOptions = [ "--log" "1" "--verbose" ] + + ... +} +``` + +to require verbose output during `idris` build phase. diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml index 4564df98fe9..cd4e95cfae6 100644 --- a/doc/languages-frameworks/index.xml +++ b/doc/languages-frameworks/index.xml @@ -32,4 +32,5 @@ + diff --git a/doc/languages-frameworks/java.xml b/doc/languages-frameworks/java.xml index 667a795a8d3..68a1a097984 100644 --- a/doc/languages-frameworks/java.xml +++ b/doc/languages-frameworks/java.xml @@ -10,7 +10,7 @@ stdenv.mkDerivation { name = "..."; src = fetchurl { ... }; - buildInputs = [ jdk ant ]; + nativeBuildInputs = [ jdk ant ]; buildPhase = "ant"; } @@ -30,7 +30,8 @@ stdenv.mkDerivation { foo.jar in its share/java directory, and another package declares the attribute -buildInputs = [ jdk libfoo ]; +buildInputs = [ libfoo ]; +nativeBuildInputs = [ jdk ]; then CLASSPATH will be set to /nix/store/...-libfoo/share/java/foo.jar. @@ -46,7 +47,7 @@ buildInputs = [ jdk libfoo ]; script to run it using the OpenJRE. You can use makeWrapper for this: -buildInputs = [ makeWrapper ]; +nativeBuildInputs = [ makeWrapper ]; installPhase = '' @@ -68,7 +69,7 @@ installPhase = can be done in a generic fashion with the --set argument of makeWrapper: - --set JAVA_HOME ${jdk.home} +--set JAVA_HOME ${jdk.home}
@@ -76,7 +77,7 @@ installPhase = It is possible to use a different Java compiler than javac from the OpenJDK. For instance, to use the GNU Java Compiler: -buildInputs = [ gcj ant ]; +nativeBuildInputs = [ gcj ant ]; Here, Ant will automatically use gij (the GNU Java Runtime) instead of the OpenJRE. diff --git a/doc/languages-frameworks/lua.xml b/doc/languages-frameworks/lua.xml index 21014029996..5144bb24ff6 100644 --- a/doc/languages-frameworks/lua.xml +++ b/doc/languages-frameworks/lua.xml @@ -29,7 +29,7 @@ fileSystem = buildLuaPackage { maintainers = with maintainers; [ flosse ]; }; }; - + diff --git a/doc/languages-frameworks/ocaml.xml b/doc/languages-frameworks/ocaml.xml index ea077061680..b7006ecba99 100644 --- a/doc/languages-frameworks/ocaml.xml +++ b/doc/languages-frameworks/ocaml.xml @@ -4,39 +4,38 @@ 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. + 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. + 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. + 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 { @@ -63,17 +62,17 @@ buildDunePackage rec { 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. + 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 { @@ -94,6 +93,5 @@ buildDunePackage rec { maintainers = [ maintainers.eqyiel ]; }; } - - + diff --git a/doc/languages-frameworks/perl.xml b/doc/languages-frameworks/perl.xml index a675e666586..065212a0e18 100644 --- a/doc/languages-frameworks/perl.xml +++ b/doc/languages-frameworks/perl.xml @@ -47,13 +47,13 @@ foo = import ../path/to/foo.nix { in all-packages.nix. You can test building a Perl package as follows: -$ nix-build -A perlPackages.ClassC3 +$ nix-build -A perlPackages.ClassC3 buildPerlPackage adds perl- to the start of the name attribute, so the package above is actually called perl-Class-C3-0.21. So to install it, you can say: -$ nix-env -i perl-Class-C3 +$ nix-env -i perl-Class-C3 (Of course you can also install using the attribute name: nix-env -i -A perlPackages.ClassC3.) @@ -75,7 +75,8 @@ $ nix-env -i perl-Class-C3 It adds the contents of the PERL5LIB environment variable to #! .../bin/perl line of Perl scripts as -Idir flags. This ensures - that a script can find its dependencies. + that a script can find its dependencies. (This can cause this shebang line + to become too long for Darwin to handle; see the note below.) @@ -137,6 +138,36 @@ ClassC3Componentised = buildPerlPackage rec { + + On Darwin, if a script has too many + -Idir flags in its first line + (its “shebang line”), it will not run. This can be worked around by calling + the shortenPerlShebang function from the + postInstall phase: + +{ stdenv, buildPerlPackage, fetchurl, shortenPerlShebang }: + +ImageExifTool = buildPerlPackage { + pname = "Image-ExifTool"; + version = "11.50"; + + src = fetchurl { + url = "https://www.sno.phy.queensu.ca/~phil/exiftool/Image-ExifTool-11.50.tar.gz"; + sha256 = "0d8v48y94z8maxkmw1rv7v9m0jg2dc8xbp581njb6yhr7abwqdv3"; + }; + + buildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang; + postInstall = stdenv.lib.optional stdenv.isDarwin '' + shortenPerlShebang $out/bin/exiftool + ''; +}; + + This will remove the -I flags from the shebang line, + rewrite them in the use lib form, and put them on the next + line instead. This function can be given any number of Perl scripts as + arguments; it will modify them in-place. + +
Generation from CPAN @@ -148,7 +179,7 @@ ClassC3Componentised = buildPerlPackage rec { -$ nix-env -i nix-generate-from-cpan +$ nix-env -i nix-generate-from-cpan @@ -156,7 +187,7 @@ $ nix-env -i nix-generate-from-cpan unpacks the corresponding package, and prints a Nix expression on standard output. For example: -$ nix-generate-from-cpan XML::Simple +$ nix-generate-from-cpan XML::Simple XMLSimple = buildPerlPackage rec { name = "XML-Simple-2.22"; src = fetchurl { diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index acd2bf769b0..4963c97a6c9 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -188,23 +188,22 @@ building Python libraries is `buildPythonPackage`. Let's see how we can build th ```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 = with lib; { - 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 ]; }; } ``` @@ -279,32 +278,31 @@ 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 = with lib; { - 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`. @@ -314,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 = with lib; { - 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 ]; }; } ``` @@ -348,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 = 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 ]; - }; + 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 ]; }; } ``` @@ -404,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"; @@ -437,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"; @@ -449,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 ]; @@ -457,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 ``` @@ -515,7 +510,7 @@ Each interpreter has the following attributes: ### 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 @@ -566,7 +561,7 @@ buildPythonPackage rec { ''; checkInputs = [ hypothesis ]; - buildInputs = [ setuptools_scm ]; + nativeBuildInputs = [ setuptools_scm ]; propagatedBuildInputs = [ attrs py setuptools six pluggy ]; meta = with lib; { @@ -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,19 +592,28 @@ 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. +* `permitUserSite ? false`: Skip setting the `PYTHONNOUSERSITE` environment variable in wrapped 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"`, `"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`). * `preShellHook`: Hook to execute commands before `shellHook`. * `postShellHook`: Hook to execute commands after `shellHook`. * `removeBinByteCode ? true`: Remove bytecode from `/bin`. Bytecode is only created when the filenames end with `.py`. +* `setupPyGlobalFlags ? []`: List of flags passed to `setup.py` command. * `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 @@ -638,7 +637,7 @@ with import {}; }; }); }; - in pkgs.python3.override {inherit packageOverrides;}; + in pkgs.python3.override {inherit packageOverrides; self = python;}; in python.withPackages(ps: [ps.blaze])).env ``` @@ -727,7 +726,7 @@ Saving the following as `default.nix` with import {}; python.buildEnv.override { - extraLibs = [ pkgs.pythonPackages.pyramid ]; + extraLibs = [ pythonPackages.pyramid ]; ignoreCollisions = true; } ``` @@ -759,6 +758,7 @@ specified packages in its path. * `extraLibs`: List of packages installed inside the environment. * `postBuild`: Shell command executed after the build of environment. * `ignoreCollisions`: Ignore file collisions inside the environment (default is `false`). +* `permitUserSite`: Skip setting the `PYTHONNOUSERSITE` environment variable in wrapped binaries in the environment. #### `python.withPackages` function @@ -809,11 +809,12 @@ Given a `default.nix`: ```nix with import {}; -buildPythonPackage { name = "myproject"; +pythonPackages.buildPythonPackage { + name = "myproject"; + buildInputs = with pythonPackages; [ pyramid ]; -buildInputs = with pkgs.pythonPackages; [ pyramid ]; - -src = ./.; } + src = ./.; +} ``` Running `nix-shell` with no arguments should give you @@ -874,7 +875,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 @@ -1000,10 +1000,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: # @@ -1023,14 +1026,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 ''; } ``` @@ -1123,6 +1127,14 @@ LLVM implementation. To use that one instead, Intel recommends users set it with 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 diff --git a/doc/languages-frameworks/qt.xml b/doc/languages-frameworks/qt.xml index b9b605b81da..3332ce8c06e 100644 --- a/doc/languages-frameworks/qt.xml +++ b/doc/languages-frameworks/qt.xml @@ -4,71 +4,182 @@ Qt - Qt is a comprehensive desktop and mobile application development toolkit for - C++. Legacy support is available for Qt 3 and Qt 4, but all current - development uses Qt 5. The Qt 5 packages in Nixpkgs are updated frequently to - take advantage of new features, but older versions are typically retained - until their support window ends. The most important consideration in - packaging Qt-based software is ensuring that each package and all its - dependencies use the same version of Qt 5; this consideration motivates most - of the tools described below. + This section describes the differences between Nix expressions for Qt + libraries and applications and Nix expressions for other C++ software. Some + knowledge of the latter is assumed. There are primarily two problems which + the Qt infrastructure is designed to address: ensuring consistent versioning + of all dependencies and finding dependencies at runtime. -
- Packaging Libraries for Nixpkgs + + Nix expression for a Qt package (<filename>default.nix</filename>) + +{ mkDerivation, lib, qtbase }: +mkDerivation { + pname = "myapp"; + version = "1.0"; + + buildInputs = [ qtbase ]; +} + + + + + + + Import mkDerivation and Qt (such as + qtbase modules directly. Do not + import Qt package sets; the Qt versions of dependencies may not be + coherent, causing build and runtime failures. + + + + + Use mkDerivation instead of + stdenv.mkDerivation. mkDerivation + is a wrapper around stdenv.mkDerivation which + applies some Qt-specific settings. + This deriver accepts the same arguments as + stdenv.mkDerivation; refer to + for details. + + + To use another deriver instead of + stdenv.mkDerivation, use + mkDerivationWith: + +mkDerivationWith myDeriver { + # ... +} + + If you cannot use mkDerivationWith, please refer to + . + + + + + mkDerivation accepts the same arguments as + stdenv.mkDerivation, such as + buildInputs. + + + + + + Locating runtime dependencies + + Qt applications need to be wrapped to find runtime dependencies. If you + cannot use mkDerivation or + mkDerivationWith above, include + wrapQtAppsHook in nativeBuildInputs: + +stdenv.mkDerivation { + # ... + + nativeBuildInputs = [ wrapQtAppsHook ]; +} + + + + + + Entries added to qtWrapperArgs are used to modify the + wrappers created by wrapQtAppsHook. The entries are + passed as arguments to . + +mkDerivation { + # ... + + qtWrapperArgs = [ ''--prefix PATH : /path/to/bin'' ]; +} + + + + + Set dontWrapQtApps to stop applications from being + wrapped automatically. It is required to wrap applications manually with + wrapQtApp, using the syntax of + : + +mkDerivation { + # ... + + dontWrapQtApps = true; + preFixup = '' + wrapQtApp "$out/bin/myapp" --prefix PATH : /path/to/bin + ''; +} + + + + - Whenever possible, libraries that use Qt 5 should be built with each - available version. Packages providing libraries should be added to the - top-level function mkLibsForQt5, which is used to build a - set of libraries for every Qt 5 version. A special - callPackage function is used in this scope to ensure that - the entire dependency tree uses the same Qt 5 version. Import dependencies - unqualified, i.e., qtbase not - qt5.qtbase. Do not import a package - set such as qt5 or libsForQt5. + wrapQtAppsHook ignores files that are non-ELF executables. + This means that scripts won't be automatically wrapped so you'll need to manually + wrap them as previously mentioned. An example of when you'd always need to do this + is with Python applications that use PyQT. + - - If a library does not support a particular version of Qt 5, it is best to - mark it as broken by setting its meta.broken attribute. A - package may be marked broken for certain versions by testing the - qtbase.version attribute, which will always give the - current Qt 5 version. - -
+ + Libraries are built with every available version of Qt. Use the meta.broken + attribute to disable the package for unsupported Qt versions: + +mkDerivation { + # ... -
- Packaging Applications for Nixpkgs + # Disable this library with Qt < 5.9.0 + meta.broken = builtins.compareVersions qtbase.version "5.9.0" < 0; +} + + - - Call your application expression using - libsForQt5.callPackage instead of - callPackage. Import dependencies unqualified, i.e., - qtbase not qt5.qtbase. Do - not import a package set such as qt5 or - libsForQt5. - + + Adding a library to Nixpkgs + + Add a Qt library to all-packages.nix by adding it to the + collection inside mkLibsForQt5. This ensures that the + library is built with every available version of Qt as needed. + + Adding a Qt library to <filename>all-packages.nix</filename> + +{ + # ... - - Qt 5 maintains strict backward compatibility, so it is generally best to - build an application package against the latest version using the - libsForQt5 library set. In case a package does not build - with the latest Qt version, it is possible to pick a set pinned to a - particular version, e.g. libsForQt55 for Qt 5.5, if that - is the latest version the package supports. If a package must be pinned to - an older Qt version, be sure to file a bug upstream; because Qt is strictly - backwards-compatible, any incompatibility is by definition a bug in the - application. - + mkLibsForQt5 = self: with self; { + # ... + + mylib = callPackage ../path/to/mylib {}; + }; + + # ... +} + + + + + + + Adding an application to Nixpkgs + + Add a Qt application to all-packages.nix using + libsForQt5.callPackage instead of the usual + callPackage. The former ensures that all dependencies + are built with the same version of Qt. + + Adding a Qt application to <filename>all-packages.nix</filename> + +{ + # ... + + myapp = libsForQt5.callPackage ../path/to/myapp/ {}; + + # ... +} + + + + - - When testing applications in Nixpkgs, it is a common practice to build the - package with nix-build and run it using the created - symbolic link. This will not work with Qt applications, however, because - they have many hard runtime requirements that can only be guaranteed if the - package is actually installed. To test a Qt application, install it with - nix-env or run it inside nix-shell. - -
diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md index 14b36f55f52..2d9338f2e89 100644 --- a/doc/languages-frameworks/rust.section.md +++ b/doc/languages-frameworks/rust.section.md @@ -336,9 +336,9 @@ with import {}; let src = fetchFromGitHub { owner = "mozilla"; repo = "nixpkgs-mozilla"; - # commit from: 2018-03-27 - rev = "2945b0b6b2fd19e7d23bac695afd65e320efcebe"; - sha256 = "034m1dryrzh2lmjvk3c0krgip652dql46w5yfwpvh7gavd3iypyw"; + # commit from: 2019-05-15 + rev = "9f35c4b09fd44a77227e79ff0c1b4b6a69dff533"; + sha256 = "18h0nvh55b5an4gmlgfbvwbyqj91bklf1zymis6lbdh75571qaz0"; }; in with import "${src.out}/rust-overlay.nix" pkgs pkgs; diff --git a/doc/languages-frameworks/texlive.xml b/doc/languages-frameworks/texlive.xml index 5792a16963a..97f274933be 100644 --- a/doc/languages-frameworks/texlive.xml +++ b/doc/languages-frameworks/texlive.xml @@ -26,7 +26,7 @@ texlive.combine { inherit (texlive) scheme-small collection-langkorean algorithms cm-super; } - + There are all the schemes, collections and a few thousand packages, as defined upstream (perhaps with tiny differences). @@ -44,7 +44,7 @@ texlive.combine { # elem tlType [ "run" "bin" "doc" "source" ] # there are also other attributes: version, name } - +
diff --git a/doc/languages-frameworks/vim.section.md b/doc/languages-frameworks/vim.section.md index e4c486a0e52..537e7b93e52 100644 --- a/doc/languages-frameworks/vim.section.md +++ b/doc/languages-frameworks/vim.section.md @@ -21,7 +21,7 @@ At the moment we support three different methods for managing plugins: Adding custom .vimrc lines can be done using the following code: -``` +```nix vim_configurable.customize { # `name` specifies the name of the executable and package name = "vim-with-plugins"; @@ -32,11 +32,11 @@ vim_configurable.customize { } ``` -This configuration is used when vim is invoked with the command specified as name, in this case `vim-with-plugins`. +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: -``` +```nix neovim.override { configure = { customRC = '' @@ -46,10 +46,10 @@ neovim.override { } ``` -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: +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: -``` +```nix neovim-qt.override { neovim = neovim.override { configure = { @@ -63,16 +63,16 @@ neovim-qt.override { ## 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: +To store you plugins in Vim packages (the native Vim plugin manager, see `:help packages`) the following example can be used: -``` +```nix vim_configurable.customize { vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; { # 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. + # 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 @@ -83,7 +83,7 @@ vim_configurable.customize { `myVimPackage` is an arbitrary name for the generated package. You can choose any name you like. For Neovim the syntax is: -``` +```nix neovim.override { configure = { customRC = '' @@ -92,7 +92,7 @@ neovim.override { 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 + # 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 = [ ]; }; @@ -102,7 +102,7 @@ neovim.override { The resulting package can be added to `packageOverrides` in `~/.nixpkgs/config.nix` to make it installable: -``` +```nix { packageOverrides = pkgs: with pkgs; { myVim = vim_configurable.customize { @@ -126,7 +126,7 @@ After that you can install your special grafted `myVim` or `myNeovim` packages. To use [vim-plug](https://github.com/junegunn/vim-plug) to manage your Vim plugins the following example can be used: -``` +```nix vim_configurable.customize { vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; { # loaded on launch @@ -137,7 +137,7 @@ vim_configurable.customize { For Neovim the syntax is: -``` +```nix neovim.override { configure = { customRC = '' @@ -161,95 +161,117 @@ assuming that "using latest version" is ok most of the time. First create a vim-scripts file having one plugin name per line. Example: - "tlib" - {'name': 'vim-addon-sql'} - {'filetype_regex': '\%(vim)$', 'names': ['reload', 'vim-dev-plugin']} +``` +"tlib" +{'name': 'vim-addon-sql'} +{'filetype_regex': '\%(vim)$', 'names': ['reload', 'vim-dev-plugin']} +``` Such vim-scripts file can be read by VAM as well like this: - call vam#Scripts(expand('~/.vim-scripts'), {}) +```vim +call vam#Scripts(expand('~/.vim-scripts'), {}) +``` Create a default.nix file: - { nixpkgs ? import {}, compiler ? "ghc7102" }: - nixpkgs.vim_configurable.customize { name = "vim"; vimrcConfig.vam.pluginDictionaries = [ "vim-addon-vim2nix" ]; } +```nix +{ nixpkgs ? import {}, compiler ? "ghc7102" }: +nixpkgs.vim_configurable.customize { name = "vim"; vimrcConfig.vam.pluginDictionaries = [ "vim-addon-vim2nix" ]; } +``` Create a generate.vim file: - ActivateAddons vim-addon-vim2nix - let vim_scripts = "vim-scripts" - call nix#ExportPluginsForNix({ - \ 'path_to_nixpkgs': eval('{"'.substitute(substitute(substitute($NIX_PATH, ':', ',', 'g'), '=',':', 'g'), '\([:,]\)', '"\1"',"g").'"}')["nixpkgs"], - \ 'cache_file': '/tmp/vim2nix-cache', - \ 'try_catch': 0, - \ 'plugin_dictionaries': ["vim-addon-manager"]+map(readfile(vim_scripts), 'eval(v:val)') - \ }) +```vim +ActivateAddons vim-addon-vim2nix +let vim_scripts = "vim-scripts" +call nix#ExportPluginsForNix({ +\ 'path_to_nixpkgs': eval('{"'.substitute(substitute(substitute($NIX_PATH, ':', ',', 'g'), '=',':', 'g'), '\([:,]\)', '"\1"',"g").'"}')["nixpkgs"], +\ 'cache_file': '/tmp/vim2nix-cache', +\ 'try_catch': 0, +\ 'plugin_dictionaries': ["vim-addon-manager"]+map(readfile(vim_scripts), 'eval(v:val)') +\ }) +``` Then run - nix-shell -p vimUtils.vim_with_vim2nix --command "vim -c 'source generate.vim'" +```bash +nix-shell -p vimUtils.vim_with_vim2nix --command "vim -c 'source generate.vim'" +``` You should get a Vim buffer with the nix derivations (output1) and vam.pluginDictionaries (output2). -You can add your vim to your system's configuration file like this and start it by "vim-my": +You can add your Vim to your system's configuration file like this and start it by "vim-my": - my-vim = - let plugins = let inherit (vimUtils) buildVimPluginFrom2Nix; in { - copy paste output1 here - }; in vim_configurable.customize { - name = "vim-my"; +``` +my-vim = + let plugins = let inherit (vimUtils) buildVimPluginFrom2Nix; in { + copy paste output1 here + }; in vim_configurable.customize { + name = "vim-my"; - vimrcConfig.vam.knownPlugins = plugins; # optional - vimrcConfig.vam.pluginDictionaries = [ - copy paste output2 here - ]; - - # Pathogen would be - # vimrcConfig.pathogen.knownPlugins = plugins; # plugins - # vimrcConfig.pathogen.pluginNames = ["tlib"]; - }; + vimrcConfig.vam.knownPlugins = plugins; # optional + vimrcConfig.vam.pluginDictionaries = [ + copy paste output2 here + ]; + # Pathogen would be + # vimrcConfig.pathogen.knownPlugins = plugins; # plugins + # vimrcConfig.pathogen.pluginNames = ["tlib"]; + }; +``` Sample output1: - "reload" = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "reload"; - src = fetchgit { - url = "git://github.com/xolox/vim-reload"; - rev = "0a601a668727f5b675cb1ddc19f6861f3f7ab9e1"; - sha256 = "0vb832l9yxj919f5hfg6qj6bn9ni57gnjd3bj7zpq7d4iv2s4wdh"; - }; - dependencies = ["nim-misc"]; +``` +"reload" = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "reload"; + src = fetchgit { + url = "git://github.com/xolox/vim-reload"; + rev = "0a601a668727f5b675cb1ddc19f6861f3f7ab9e1"; + sha256 = "0vb832l9yxj919f5hfg6qj6bn9ni57gnjd3bj7zpq7d4iv2s4wdh"; + }; + dependencies = ["nim-misc"]; - }; - [...] +}; +[...] +``` Sample output2: - [ - ''vim-addon-manager'' - ''tlib'' - { "name" = ''vim-addon-sql''; } - { "filetype_regex" = ''\%(vim)$$''; "names" = [ ''reload'' ''vim-dev-plugin'' ]; } - ] - +```nix +[ + ''vim-addon-manager'' + ''tlib'' + { "name" = ''vim-addon-sql''; } + { "filetype_regex" = ''\%(vim)$$''; "names" = [ ''reload'' ''vim-dev-plugin'' ]; } +] +``` ## 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. +Nix expressions for Vim plugins are stored in [pkgs/misc/vim-plugins](/pkgs/misc/vim-plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`./update.py`](/pkgs/misc/vim-plugins/update.py). This creates a [generated.nix](/pkgs/misc/vim-plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](/pkgs/misc/vim-plugins/vim-plugin-names). Plugins are listed in alphabetical order in `vim-plugin-names` using the format `[github username]/[repository]`. For example https://github.com/scrooloose/nerdtree becomes `scrooloose/nerdtree`. + +Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](/pkgs/misc/vim-plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added: + +``` +deoplete-fish = super.deoplete-fish.overrideAttrs(old: { + dependencies = with super; [ deoplete-nvim vim-fish ]; +}); +``` + +Sometimes plugins require an override that must be changed when the plugin is updated. This can cause issues when Vim plugins are auto-updated but the associated override isn't updated. For these plugins, the override should be written so that it specifies all information required to install the plugin, and running `./update.py` doesn't change the derivation for the plugin. Manually updating the override is required to update these types of plugins. An example of such a plugin is `LanguageClient-neovim`. + +To add a new plugin: + + 1. run `./update.py` and create a commit named "vimPlugins: Update", + 2. add the new plugin to [vim-plugin-names](/pkgs/misc/vim-plugins/vim-plugin-names) and add overrides if required to [overrides.nix](/pkgs/misc/vim-plugins/overrides.nix), + 3. run `./update.py` again and create a commit named "vimPlugins.[name]: init at [version]" (where `name` and `version` can be found in [generated.nix](/pkgs/misc/vim-plugins/generated.nix)), and + 4. create a pull request. ## 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/manual.xml b/doc/manual.xml index f31897aed03..ab845e1a108 100644 --- a/doc/manual.xml +++ b/doc/manual.xml @@ -1,12 +1,13 @@ - Nixpkgs Contributors Guide + Nixpkgs Users and Contributors Guide Version + diff --git a/doc/meta.xml b/doc/meta.xml index 774ed2db750..58c390a68b8 100644 --- a/doc/meta.xml +++ b/doc/meta.xml @@ -30,7 +30,7 @@ meta = with stdenv.lib; { The meta-attributes of a package can be queried from the command-line using nix-env: -$ nix-env -qa hello --json +$ nix-env -qa hello --json { "hello": { "meta": { @@ -70,7 +70,7 @@ $ nix-env -qa hello --json nix-env knows about the description field specifically: -$ nix-env -qa hello --description +$ nix-env -qa hello --description hello-2.3 A program that produces a familiar, friendly greeting @@ -150,6 +150,19 @@ hello-2.3 A program that produces a familiar, friendly greeting + + + changelog + + + + A link or a list of links to the location of Changelog for a package. + A link may use expansion to refer to the correct changelog version. + Example: + "https://git.savannah.gnu.org/cgit/hello.git/plain/NEWS?h=v${version}" + + + license @@ -259,11 +272,9 @@ meta.platforms = stdenv.lib.platforms.linux; 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. + passthru attribute set. This is due to how + meta attributes work, and the fact that they + are supposed to contain only metadata, not derivations. diff --git a/doc/multiple-output.xml b/doc/multiple-output.xml index d18e282c5bd..d0247e081f9 100644 --- a/doc/multiple-output.xml +++ b/doc/multiple-output.xml @@ -101,6 +101,13 @@ 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 diff --git a/doc/package-notes.xml b/doc/package-notes.xml index e23593107d8..d2c660e22a9 100644 --- a/doc/package-notes.xml +++ b/doc/package-notes.xml @@ -92,9 +92,9 @@ modulesTree = [kernel] If needed you can also run make menuconfig: -$ nix-env -i ncurses -$ export NIX_CFLAGS_LINK=-lncurses -$ make menuconfig ARCH=arch +$ nix-env -i ncurses +$ export NIX_CFLAGS_LINK=-lncurses +$ make menuconfig ARCH=arch @@ -142,8 +142,8 @@ $ make menuconfig ARCH=arch The generator is invoked as follows: -$ cd pkgs/servers/x11/xorg -$ cat tarballs-7.5.list extra.list old.list \ +$ cd pkgs/servers/x11/xorg +$ cat tarballs-7.5.list extra.list old.list \ | perl ./generate-expr-from-tarballs.pl For each of the tarballs in the .list files, the script @@ -160,8 +160,8 @@ $ cat tarballs-7.5.list extra.list old.list \ A file like tarballs-7.5.list contains all tarballs in a X.org release. It can be generated like this: -$ export i="mirror://xorg/X11R7.4/src/everything/" -$ cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \ +$ export i="mirror://xorg/X11R7.4/src/everything/" +$ cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \ | perl -e 'while (<>) { if (/(href|HREF)="([^"]*.bz2)"/) { print "$ENV{'i'}$2\n"; }; }' \ | sort > tarballs-7.4.list @@ -210,7 +210,7 @@ $ cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \ often available. It is possible to list available Eclipse packages by issuing the command: -$ nix-env -f '<nixpkgs>' -qaP -A eclipses --description +$ nix-env -f '<nixpkgs>' -qaP -A eclipses --description Once an Eclipse variant is installed it can be run using the eclipse command, as expected. From within Eclipse it is @@ -250,7 +250,7 @@ packageOverrides = pkgs: { available for installation using eclipseWithPlugins by running -$ nix-env -f '<nixpkgs>' -qaP -A eclipses.plugins --description +$ nix-env -f '<nixpkgs>' -qaP -A eclipses.plugins --description @@ -307,19 +307,36 @@ packageOverrides = pkgs: {
-
Elm - To update Elm compiler, see nixpkgs/pkgs/development/compilers/elm/README.md. + To start a development environment do nix-shell -p elmPackages.elm elmPackages.elm-format - To package Elm applications, read about elm2nix. + To update Elm compiler, see + nixpkgs/pkgs/development/compilers/elm/README.md. + + + + To package Elm applications, + read about + elm2nix.
+
+ Kakoune + + Kakoune can be built to autoload plugins: +(kakoune.override { + configure = { + plugins = with pkgs.kakounePlugins; [ parinfer-rust ]; + }; +}) + +
Interactive shell helpers @@ -347,312 +364,6 @@ packageOverrides = pkgs: {
-
- Steam - -
- Steam in Nix - - - Steam is distributed as a .deb file, for now only as - an i686 package (the amd64 package only has documentation). When unpacked, - it has a script called steam that in ubuntu (their - target distro) would go to /usr/bin . When run for the - first time, this script copies some files to the user's home, which include - another script that is the ultimate responsible for launching the steam - binary, which is also in $HOME. - - - - Nix problems and constraints: - - - - We don't have /bin/bash and many scripts point - there. Similarly for /usr/bin/python . - - - - - We don't have the dynamic loader in /lib . - - - - - The steam.sh script in $HOME can not be patched, as - it is checked and rewritten by steam. - - - - - The steam binary cannot be patched, it's also checked. - - - - - - - The current approach to deploy Steam in NixOS is composing a FHS-compatible - chroot environment, as documented - here. - This allows us to have binaries in the expected paths without disrupting - the system, and to avoid patching them to work in a non FHS environment. - -
- -
- How to play - - - For 64-bit systems it's important to have -hardware.opengl.driSupport32Bit = true; - in your /etc/nixos/configuration.nix. You'll also need -hardware.pulseaudio.support32Bit = true; - if you are using PulseAudio - this will enable 32bit ALSA apps integration. - To use the Steam controller or other Steam supported controllers such as - the DualShock 4 or Nintendo Switch Pro, you need to add -hardware.steam-hardware.enable = true; - to your configuration. - -
- -
- Troubleshooting - - - - - - Steam fails to start. What do I do? - - - - Try to run -strace steam - to see what is causing steam to fail. - - - - - - Using the FOSS Radeon or nouveau (nvidia) drivers - - - - - - The newStdcpp parameter was removed since NixOS - 17.09 and should not be needed anymore. - - - - - Steam ships statically linked with a version of libcrypto that - conflics with the one dynamically loaded by radeonsi_dri.so. If you - get the error -steam.sh: line 713: 7842 Segmentation fault (core dumped) - have a look at - this - pull request. - - - - - - - - Java - - - - - - There is no java in steam chrootenv by default. If you get a message - like -/home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found - You need to add - steam.override { withJava = true; }; - to your configuration. - - - - - - - -
- -
- steam-run - - - The FHS-compatible chroot used for steam can also be used to run other - linux games that expect a FHS environment. To do it, add -pkgs.(steam.override { - nativeOnly = true; - newStdcpp = true; - }).run - to your configuration, rebuild, and run the game with -steam-run ./foo - -
-
-
- Emacs - -
- Configuring Emacs - - - The Emacs package comes with some extra helpers to make it easier to - configure. emacsWithPackages allows you to manage - packages from ELPA. This means that you will not have to install that - packages from within Emacs. For instance, if you wanted to use - company, counsel, - flycheck, ivy, - magit, projectile, and - use-package you could use this as a - ~/.config/nixpkgs/config.nix override: - - - -{ - packageOverrides = pkgs: with pkgs; { - myEmacs = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [ - company - counsel - flycheck - ivy - magit - projectile - use-package - ])); - } -} - - - - You can install it like any other packages via nix-env -iA - myEmacs. However, this will only install those packages. It will - not configure them for us. To do this, we need to - provide a configuration file. Luckily, it is possible to do this from - within Nix! By modifying the above example, we can make Emacs load a custom - config file. The key is to create a package that provide a - default.el file in - /share/emacs/site-start/. Emacs knows to load this - file automatically when it starts. - - - -{ - packageOverrides = pkgs: with pkgs; rec { - myEmacsConfig = writeText "default.el" '' -;; initialize package - -(require 'package) -(package-initialize 'noactivate) -(eval-when-compile - (require 'use-package)) - -;; load some packages - -(use-package company - :bind ("<C-tab>" . company-complete) - :diminish company-mode - :commands (company-mode global-company-mode) - :defer 1 - :config - (global-company-mode)) - -(use-package counsel - :commands (counsel-descbinds) - :bind (([remap execute-extended-command] . counsel-M-x) - ("C-x C-f" . counsel-find-file) - ("C-c g" . counsel-git) - ("C-c j" . counsel-git-grep) - ("C-c k" . counsel-ag) - ("C-x l" . counsel-locate) - ("M-y" . counsel-yank-pop))) - -(use-package flycheck - :defer 2 - :config (global-flycheck-mode)) - -(use-package ivy - :defer 1 - :bind (("C-c C-r" . ivy-resume) - ("C-x C-b" . ivy-switch-buffer) - :map ivy-minibuffer-map - ("C-j" . ivy-call)) - :diminish ivy-mode - :commands ivy-mode - :config - (ivy-mode 1)) - -(use-package magit - :defer - :if (executable-find "git") - :bind (("C-x g" . magit-status) - ("C-x G" . magit-dispatch-popup)) - :init - (setq magit-completing-read-function 'ivy-completing-read)) - -(use-package projectile - :commands projectile-mode - :bind-keymap ("C-c p" . projectile-command-map) - :defer 5 - :config - (projectile-global-mode)) - ''; - myEmacs = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [ - (runCommand "default.el" {} '' -mkdir -p $out/share/emacs/site-lisp -cp ${myEmacsConfig} $out/share/emacs/site-lisp/default.el -'') - company - counsel - flycheck - ivy - magit - projectile - use-package - ])); - }; -} - - - - This provides a fairly full Emacs start file. It will load in addition to - the user's presonal config. You can always disable it by passing - -q to the Emacs command. - - - - Sometimes emacsWithPackages is not enough, as this - package set has some priorities imposed on packages (with the lowest - priority assigned to Melpa Unstable, and the highest for packages manually - defined in pkgs/top-level/emacs-packages.nix). But you - can't control this priorities when some package is installed as a - dependency. You can override it on per-package-basis, providing all the - required dependencies manually - but it's tedious and there is always a - possibility that an unwanted dependency will sneak in through some other - package. To completely override such a package you can use - overrideScope'. - - - -overrides = self: super: rec { - haskell-mode = self.melpaPackages.haskell-mode; - ... -}; -((emacsPackagesNgGen emacs).overrideScope' overrides).emacsWithPackages (p: with p; [ - # here both these package will use haskell-mode of our own choice - ghc-mod - dante -]) - -
-
Weechat @@ -757,64 +468,6 @@ stdenv.mkDerivation { }
-
- Citrix Receiver - - - The Citrix - Receiver is a remote desktop viewer which provides access to - XenDesktop - installations. - - -
- Basic usage - - - The tarball archive needs to be downloaded manually as the licenses - agreements of the vendor need to be accepted first. This is available at - the - download - page at citrix.com. Then run nix-prefetch-url - file://$PWD/linuxx64-$version.tar.gz. With the archive available - in the store the package can be built and installed with Nix. - - - - Note: it's recommended to install Citrix - Receiver using nix-env -i or globally to - ensure that the .desktop files are installed properly - into $XDG_CONFIG_DIRS. Otherwise it won't be possible to - open .ica files automatically from the browser to start - a Citrix connection. - -
- -
- Custom certificates - - - The Citrix Receiver in nixpkgs trusts - several certificates - from the - Mozilla database by default. However several companies using Citrix - might require their own corporate certificate. On distros with imperative - packaging these certs can be stored easily in - $ICAROOT, - however this directory is a store path in nixpkgs. In - order to work around this issue the package provides a simple mechanism to - add custom certificates without rebuilding the entire package using - symlinkJoin: - - { config.allowUnfree = true; }; -let extraCerts = [ ./custom-cert-1.pem ./custom-cert-2.pem /* ... */ ]; in -citrix_receiver.override { - inherit extraCerts; -}]]> - - -
-
ibus-engines.typing-booster @@ -853,7 +506,7 @@ citrix_receiver.override { The IBus engine is based on hunspell to support completion in many languages. By default the dictionaries - de-de, en-us, + de-de, en-us, fr-moderne es-es, it-it, sv-se and sv-fi are in use. To add another dictionary, the package can be overridden like this: @@ -886,4 +539,52 @@ citrix_receiver.override {
+
+ Nginx + + + Nginx is a + reverse proxy and lightweight webserver. + + +
+ ETags on static files served from the Nix store + + + HTTP has a couple different mechanisms for caching to prevent + clients from having to download the same content repeatedly + if a resource has not changed since the last time it was requested. + When nginx is used as a server for static files, it implements + the caching mechanism based on the + Last-Modified + response header automatically; unfortunately, it works by using + filesystem timestamps to determine the value of the + Last-Modified header. This doesn't give the + desired behavior when the file is in the Nix store, because all + file timestamps are set to 0 (for reasons related to build + reproducibility). + + + + Fortunately, HTTP supports an alternative (and more effective) + caching mechanism: the + ETag + response header. The value of the ETag header + specifies some identifier for the particular content that the + server is sending (e.g. a hash). When a client makes a second + request for the same resource, it sends that value back in an + If-None-Match header. If the ETag value is + unchanged, then the server does not need to resend the content. + + + + As of NixOS 19.09, the nginx package in Nixpkgs is patched such + that when nginx serves a file out of /nix/store, + the hash in the store path is used as the ETag + header in the HTTP response, thus providing proper caching functionality. + This happens automatically; you do not need to do modify any + configuration to get this behavior. + +
+
diff --git a/doc/package-specific-user-notes.xml b/doc/package-specific-user-notes.xml new file mode 100644 index 00000000000..a176f4d1395 --- /dev/null +++ b/doc/package-specific-user-notes.xml @@ -0,0 +1,482 @@ + + Package-specific usage notes + + These chapters includes some notes + that apply to specific packages and should + answer some of the frequently asked questions + related to Nixpkgs use. + + Some useful information related to package use + can be found in package-specific development notes. + + +
+ OpenGL + + + Packages that use OpenGL have NixOS desktop as their primary target. The + current solution for loading the GPU-specific drivers is based on + libglvnd and looks for the driver implementation in + LD_LIBRARY_PATH. If you are using a non-NixOS + GNU/Linux/X11 desktop with free software video drivers, consider launching + OpenGL-dependent programs from Nixpkgs with Nixpkgs versions of + libglvnd and mesa_drivers in + LD_LIBRARY_PATH. For proprietary video drivers you might + have luck with also adding the corresponding video driver package. + +
+
+ Locales + + + To allow simultaneous use of packages linked against different versions of + glibc with different locale archive formats Nixpkgs + patches glibc to rely on + LOCALE_ARCHIVE environment variable. + + + + On non-NixOS distributions this variable is obviously not set. This can + cause regressions in language support or even crashes in some + Nixpkgs-provided programs. The simplest way to mitigate this problem is + exporting the LOCALE_ARCHIVE variable pointing to + ${glibcLocales}/lib/locale/locale-archive. The drawback + (and the reason this is not the default) is the relatively large (a hundred + MiB) size of the full set of locales. It is possible to build a custom set + of locales by overriding parameters allLocales and + locales of the package. + +
+ +
+ Emacs + +
+ Configuring Emacs + + + The Emacs package comes with some extra helpers to make it easier to + configure. emacsWithPackages allows you to manage + packages from ELPA. This means that you will not have to install that + packages from within Emacs. For instance, if you wanted to use + company, counsel, + flycheck, ivy, + magit, projectile, and + use-package you could use this as a + ~/.config/nixpkgs/config.nix override: + + + +{ + packageOverrides = pkgs: with pkgs; { + myEmacs = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [ + company + counsel + flycheck + ivy + magit + projectile + use-package + ])); + } +} + + + + You can install it like any other packages via nix-env -iA + myEmacs. However, this will only install those packages. It will + not configure them for us. To do this, we need to + provide a configuration file. Luckily, it is possible to do this from + within Nix! By modifying the above example, we can make Emacs load a custom + config file. The key is to create a package that provide a + default.el file in + /share/emacs/site-start/. Emacs knows to load this + file automatically when it starts. + + + +{ + packageOverrides = pkgs: with pkgs; rec { + myEmacsConfig = writeText "default.el" '' +;; initialize package + +(require 'package) +(package-initialize 'noactivate) +(eval-when-compile + (require 'use-package)) + +;; load some packages + +(use-package company + :bind ("<C-tab>" . company-complete) + :diminish company-mode + :commands (company-mode global-company-mode) + :defer 1 + :config + (global-company-mode)) + +(use-package counsel + :commands (counsel-descbinds) + :bind (([remap execute-extended-command] . counsel-M-x) + ("C-x C-f" . counsel-find-file) + ("C-c g" . counsel-git) + ("C-c j" . counsel-git-grep) + ("C-c k" . counsel-ag) + ("C-x l" . counsel-locate) + ("M-y" . counsel-yank-pop))) + +(use-package flycheck + :defer 2 + :config (global-flycheck-mode)) + +(use-package ivy + :defer 1 + :bind (("C-c C-r" . ivy-resume) + ("C-x C-b" . ivy-switch-buffer) + :map ivy-minibuffer-map + ("C-j" . ivy-call)) + :diminish ivy-mode + :commands ivy-mode + :config + (ivy-mode 1)) + +(use-package magit + :defer + :if (executable-find "git") + :bind (("C-x g" . magit-status) + ("C-x G" . magit-dispatch-popup)) + :init + (setq magit-completing-read-function 'ivy-completing-read)) + +(use-package projectile + :commands projectile-mode + :bind-keymap ("C-c p" . projectile-command-map) + :defer 5 + :config + (projectile-global-mode)) + ''; + myEmacs = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [ + (runCommand "default.el" {} '' +mkdir -p $out/share/emacs/site-lisp +cp ${myEmacsConfig} $out/share/emacs/site-lisp/default.el +'') + company + counsel + flycheck + ivy + magit + projectile + use-package + ])); + }; +} + + + + This provides a fairly full Emacs start file. It will load in addition to + the user's presonal config. You can always disable it by passing + -q to the Emacs command. + + + + Sometimes emacsWithPackages is not enough, as this + package set has some priorities imposed on packages (with the lowest + priority assigned to Melpa Unstable, and the highest for packages manually + defined in pkgs/top-level/emacs-packages.nix). But you + can't control this priorities when some package is installed as a + dependency. You can override it on per-package-basis, providing all the + required dependencies manually - but it's tedious and there is always a + possibility that an unwanted dependency will sneak in through some other + package. To completely override such a package you can use + overrideScope'. + + + +overrides = self: super: rec { + haskell-mode = self.melpaPackages.haskell-mode; + ... +}; +((emacsPackagesGen emacs).overrideScope' overrides).emacsWithPackages (p: with p; [ + # here both these package will use haskell-mode of our own choice + ghc-mod + dante +]) + +
+
+ +
+ DLib + + + DLib is a modern, C++-based toolkit which + provides several machine learning algorithms. + + +
+ Compiling without AVX support + + + Especially older CPUs don't support + AVX + (Advanced Vector Extensions) instructions that are used by DLib to + optimize their algorithms. + + + + On the affected hardware errors like Illegal instruction will occur. + In those cases AVX support needs to be disabled: +self: super: { + dlib = super.dlib.override { avxSupport = false; }; +} + +
+
+ +
+ Unfree software + + + All users of Nixpkgs are free software users, and many users (and + developers) of Nixpkgs want to limit and tightly control their exposure to + unfree software. At the same time, many users need (or want) + to run some specific + pieces of proprietary software. Nixpkgs includes some expressions for unfree + software packages. By default unfree software cannot be installed and + doesn’t show up in searches. To allow installing unfree software in a + single Nix invocation one can export + NIXPKGS_ALLOW_UNFREE=1. For a persistent solution, users + can set allowUnfree in the Nixpkgs configuration. + + + + Fine-grained control is possible by defining + allowUnfreePredicate function in config; it takes the + mkDerivation parameter attrset and returns + true for unfree packages that should be allowed. + +
+ +
+ Steam + +
+ Steam in Nix + + + Steam is distributed as a .deb file, for now only as + an i686 package (the amd64 package only has documentation). When unpacked, + it has a script called steam that in Ubuntu (their + target distro) would go to /usr/bin . When run for the + first time, this script copies some files to the user's home, which include + another script that is the ultimate responsible for launching the steam + binary, which is also in $HOME. + + + + Nix problems and constraints: + + + + We don't have /bin/bash and many scripts point + there. Similarly for /usr/bin/python . + + + + + We don't have the dynamic loader in /lib . + + + + + The steam.sh script in $HOME can not be patched, as + it is checked and rewritten by steam. + + + + + The steam binary cannot be patched, it's also checked. + + + + + + + The current approach to deploy Steam in NixOS is composing a FHS-compatible + chroot environment, as documented + here. + This allows us to have binaries in the expected paths without disrupting + the system, and to avoid patching them to work in a non FHS environment. + +
+ +
+ How to play + + + For 64-bit systems it's important to have +hardware.opengl.driSupport32Bit = true; + in your /etc/nixos/configuration.nix. You'll also need +hardware.pulseaudio.support32Bit = true; + if you are using PulseAudio - this will enable 32bit ALSA apps integration. + To use the Steam controller or other Steam supported controllers such as + the DualShock 4 or Nintendo Switch Pro, you need to add +hardware.steam-hardware.enable = true; + to your configuration. + +
+ +
+ Troubleshooting + + + + + + Steam fails to start. What do I do? + + + + Try to run +strace steam + to see what is causing steam to fail. + + + + + + Using the FOSS Radeon or nouveau (nvidia) drivers + + + + + + The newStdcpp parameter was removed since NixOS + 17.09 and should not be needed anymore. + + + + + Steam ships statically linked with a version of libcrypto that + conflics with the one dynamically loaded by radeonsi_dri.so. If you + get the error +steam.sh: line 713: 7842 Segmentation fault (core dumped) + have a look at + this + pull request. + + + + + + + + Java + + + + + + There is no java in steam chrootenv by default. If you get a message + like +/home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found + You need to add + steam.override { withJava = true; }; + to your configuration. + + + + + + + +
+ +
+ steam-run + + + The FHS-compatible chroot used for steam can also be used to run other + linux games that expect a FHS environment. To do it, add +pkgs.(steam.override { + nativeOnly = true; + newStdcpp = true; + }).run + to your configuration, rebuild, and run the game with +steam-run ./foo + +
+
+ +
+ Citrix Receiver & Citrix Workspace App + + + + + Please note that the citrix_receiver package has been deprecated since its + development was discontinued by upstream + and will be replaced by the citrix workspace app. + + + Citrix Receiver and + Citrix Workspace App + are a remote desktop viewers which provide access to + XenDesktop + installations. + + +
+ Basic usage + + + The tarball archive needs to be downloaded manually as the license + agreements of the vendor for + Citrix Receiver + or Citrix Workspace + need to be accepted first. + Then run nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz. + With the archive available + in the store the package can be built and installed with Nix. + + + + Caution with <command>nix-shell</command> installs + + It's recommended to install Citrix Receiver + and/or Citrix Workspace using + nix-env -i or globally to + ensure that the .desktop files are installed properly + into $XDG_CONFIG_DIRS. Otherwise it won't be possible to + open .ica files automatically from the browser to start + a Citrix connection. + + +
+ +
+ Custom certificates + + + The Citrix Receiver and Citrix Workspace App + in nixpkgs trust several certificates + from the + Mozilla database by default. However several companies using Citrix + might require their own corporate certificate. On distros with imperative + packaging these certs can be stored easily in + $ICAROOT, + however this directory is a store path in nixpkgs. In + order to work around this issue the package provides a simple mechanism to + add custom certificates without rebuilding the entire package using + symlinkJoin: + + { config.allowUnfree = true; }; +let extraCerts = [ ./custom-cert-1.pem ./custom-cert-2.pem /* ... */ ]; in +citrix_workspace.override { # the same applies for `citrix_receiver` if used. + inherit extraCerts; +}]]> + + +
+
+
diff --git a/doc/platform-notes.xml b/doc/platform-notes.xml index 6050271dbf6..157d3fe2fcd 100644 --- a/doc/platform-notes.xml +++ b/doc/platform-notes.xml @@ -20,14 +20,14 @@ scripts. - stdenv.mkDerivation { - name = "libfoo-1.2.3"; - # ... - buildPhase = '' - $CC -o hello hello.c - ''; - } - +stdenv.mkDerivation { + name = "libfoo-1.2.3"; + # ... + buildPhase = '' + $CC -o hello hello.c + ''; +} + @@ -39,12 +39,12 @@ fixupPhase. - stdenv.mkDerivation { - name = "libfoo-1.2.3"; - # ... - makeFlags = stdenv.lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libfoo.dylib"; - } - +stdenv.mkDerivation { + name = "libfoo-1.2.3"; + # ... + makeFlags = stdenv.lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libfoo.dylib"; +} + @@ -62,19 +62,19 @@ 1 manpage. - dyld: Library not loaded: /nix/store/7hnmbscpayxzxrixrgxvvlifzlxdsdir-jq-1.5-lib/lib/libjq.1.dylib - Referenced from: /private/tmp/nix-build-jq-1.5.drv-0/jq-1.5/tests/../jq - Reason: image not found - ./tests/jqtest: line 5: 75779 Abort trap: 6 - +dyld: Library not loaded: /nix/store/7hnmbscpayxzxrixrgxvvlifzlxdsdir-jq-1.5-lib/lib/libjq.1.dylib +Referenced from: /private/tmp/nix-build-jq-1.5.drv-0/jq-1.5/tests/../jq +Reason: image not found +./tests/jqtest: line 5: 75779 Abort trap: 6 + - stdenv.mkDerivation { - name = "libfoo-1.2.3"; - # ... - doInstallCheck = true; - installCheckTarget = "check"; - } - +stdenv.mkDerivation { + name = "libfoo-1.2.3"; + # ... + doInstallCheck = true; + installCheckTarget = "check"; +} + @@ -85,19 +85,19 @@ on xcode. - stdenv.mkDerivation { - name = "libfoo-1.2.3"; - # ... - prePatch = '' - substituteInPlace Makefile \ - --replace '/usr/bin/xcrun clang' clang - ''; - } - +stdenv.mkDerivation { + name = "libfoo-1.2.3"; + # ... + prePatch = '' + substituteInPlace Makefile \ + --replace '/usr/bin/xcrun clang' clang + ''; +} + The package xcbuild can be used to build projects that - really depend on Xcode. However, this replacement is not 100% - compatible with Xcode and can occasionally cause issues. + really depend on Xcode. However, this replacement is not 100% compatible + with Xcode and can occasionally cause issues. diff --git a/doc/quick-start.xml b/doc/quick-start.xml index 8dd673ed273..292d66864a4 100644 --- a/doc/quick-start.xml +++ b/doc/quick-start.xml @@ -9,8 +9,8 @@ Checkout the Nixpkgs source tree: -$ git clone https://github.com/NixOS/nixpkgs -$ cd nixpkgs +$ git clone https://github.com/NixOS/nixpkgs +$ cd nixpkgs @@ -23,7 +23,7 @@ $ cd nixpkgs See for some hints on the tree organisation. Create a directory for your package, e.g. -$ mkdir pkgs/development/libraries/libfoo +$ mkdir pkgs/development/libraries/libfoo @@ -34,8 +34,8 @@ $ mkdir pkgs/development/libraries/libfoo as arguments, and returns a build of the package in the Nix store. The expression should usually be called default.nix. -$ emacs pkgs/development/libraries/libfoo/default.nix -$ git add pkgs/development/libraries/libfoo/default.nix +$ emacs pkgs/development/libraries/libfoo/default.nix +$ git add pkgs/development/libraries/libfoo/default.nix You can have a look at the existing Nix expressions under @@ -148,8 +148,8 @@ $ git add pkgs/development/libraries/libfoo/default.nix You can use nix-prefetch-url - url to get the - SHA-256 hash of source distributions. There are similar commands as + url to get the SHA-256 hash of source + distributions. There are similar commands as nix-prefetch-git and nix-prefetch-hg available in nix-prefetch-scripts package. @@ -180,7 +180,7 @@ $ git add pkgs/development/libraries/libfoo/default.nix with some descriptive name for the variable, e.g. libfoo. -$ emacs pkgs/top-level/all-packages.nix +$ emacs pkgs/top-level/all-packages.nix The attributes in that file are sorted by category (like “Development / @@ -193,7 +193,7 @@ $ emacs pkgs/top-level/all-packages.nix To test whether the package builds, run the following command from the root of the nixpkgs source tree: -$ nix-build -A libfoo +$ nix-build -A libfoo where libfoo should be the variable name defined in the previous step. You may want to add the flag to keep the temporary build directory in case something fails. If the build @@ -205,13 +205,17 @@ $ nix-build -A libfoo If you want to install the package into your profile (optional), do -$ nix-env -f . -iA libfoo +$ nix-env -f . -iA libfoo - Optionally commit the new package and open a pull request, or send a patch - to https://groups.google.com/forum/#!forum/nix-devel. + Optionally commit the new package and open a pull request to nixpkgs, or + use + the Patches category on Discourse for sending a patch without a + GitHub account. diff --git a/doc/reviewing-contributions.xml b/doc/reviewing-contributions.xml index f541b7f22da..5aa950625ef 100644 --- a/doc/reviewing-contributions.xml +++ b/doc/reviewing-contributions.xml @@ -24,11 +24,13 @@ The high change rate of Nixpkgs makes any pull request that remains open for too long subject to conflicts that will require extra work from the submitter - or the merger. Reviewing pull requests in a timely manner and being responsive - to the comments is the key to avoid this issue. GitHub provides sort filters - that can be used to see the most - recently and the and the + least recently updated pull requests. We highly encourage looking at @@ -151,11 +153,11 @@ nixpkgs-unstable for easier review by running the following commands from a nixpkgs clone. -$ git remote add channels https://github.com/NixOS/nixpkgs-channels.git $ git remote add channels https://github.com/NixOS/nixpkgs-channels.git -$ git fetch channels nixos-unstable -$ git fetch origin pull/PRNUMBER/head -$ git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD $ git fetch channels nixos-unstable +$ git fetch origin pull/PRNUMBER/head +$ git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD @@ -187,14 +189,15 @@ $ git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD - The nox tool can - be used to review a pull request content in a single command. It doesn't - rebase on a channel branch so it might trigger multiple source builds. + The + nix-review + tool can be used to review a pull request content in a single command. PRNUMBER should be replaced by the number at the end - of the pull request title. + of the pull request title. You can also provide the full github pull + request url. -$ nix-shell -p nox --run "nox-review -k pr PRNUMBER" +$ nix-shell -p nix-review --run "nix-review pr PRNUMBER" @@ -609,8 +612,8 @@ policy. 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. + references of packages and modules they maintain so the maintainership can + be taken over by other contributors. diff --git a/doc/stdenv.xml b/doc/stdenv.xml index 81bd4556193..fe592965656 100644 --- a/doc/stdenv.xml +++ b/doc/stdenv.xml @@ -31,9 +31,28 @@ stdenv.mkDerivation { separate Nix expression from pkgs/all-packages.nix, you need to pass it as a function argument.) Specifying a name and a src is the absolute minimum - you need to do. Many packages have dependencies that are not provided in the - standard environment. It’s usually sufficient to specify those - dependencies in the buildInputs attribute: + Nix requires. For convenience, you can also use pname and + version attributes and mkDerivation + will automatically set name to + "${pname}-${version}" by default. Since + RFC 0035, + this is preferred for packages in Nixpkgs, as it allows us to reuse the + version easily: + +stdenv.mkDerivation rec { + pname = "libfoo"; + version = "1.2.3"; + src = fetchurl { + url = "http://example.org/libfoo-source-${version}.tar.bz2"; + sha256 = "0x2g1jqygyr5wiwg4ma1nd7w4ydpy82z9gkcv8vh2v8dn3y58v5m"; + }; +} + + + + Many packages have dependencies that are not provided in the standard + environment. It’s usually sufficient to specify those dependencies in the + buildInputs attribute: stdenv.mkDerivation { name = "libfoo-1.2.3"; @@ -222,24 +241,24 @@ 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. dependencies which - run on the platform where the new derivation will be built. + 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. dependencies which run on the platform where the new + derivation will be built. - 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 + 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 nativeBuildInputs would be added to the PATH. @@ -252,9 +271,10 @@ genericBuild The dependency is propagated when it forces some of its other-transitive (non-immediate) downstream dependencies to also take it on as an immediate - dependency. Nix itself already takes a package's transitive dependencies into - account, but this propagation ensures nixpkgs-specific infrastructure like - setup hooks (mentioned above) also are run as if the propagated dependency. + dependency. Nix itself already takes a package's transitive dependencies + into account, but this propagation ensures nixpkgs-specific infrastructure + like setup hooks (mentioned above) also are run as if the propagated + dependency. @@ -270,9 +290,9 @@ genericBuild 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. + 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. @@ -287,8 +307,8 @@ genericBuild propagation logic. - They're confusing in very different ways so... hopefully if something doesn't - make sense in one presentation, it will 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) @@ -323,32 +343,35 @@ let f(h, t, i) = i + (if i <= 0 then h else t - 1) 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 "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 + + 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. - 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 dependency of it should be able to "discover" an - offset greater than its reduced target offsets. + 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 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, - h + 1 is skipped over between the host and target offsets. - Instead of squashing the offsets, we need to "rip" them apart so no + h + 1 is skipped over between the host and target + offsets. Instead of squashing the offsets, we need to "rip" them apart so no transitive dependencies' offset is that one. - Overall, the unifying theme here is that propagation shouldn't be introducing - transitive dependencies involving platforms the depending package is unaware - of. The offset bounds checking and definition of + Overall, the unifying theme here is that propagation shouldn't be + 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 @@ -381,8 +404,8 @@ let f(h, h + 1, i) = i + h 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 could - be in the future. + persist as run-time dependencies. This isn't currently enforced, but + could be in the future.
@@ -396,10 +419,10 @@ let f(h, h + 1, i) = i + h 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. 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 + 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 could be called depsBuildHost but nativeBuildInputs is used for historical continuity. @@ -407,8 +430,9 @@ let f(h, h + 1, i) = i + h 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. + 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. @@ -421,33 +445,36 @@ 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. 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. + 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. + 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. + 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. @@ -462,11 +489,11 @@ let f(h, h + 1, i) = i + h 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 - over a depsHostHost on the tool doing the building for - this purpose. + 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 over a depsHostHost on the tool doing the + building for this purpose. @@ -481,8 +508,8 @@ let f(h, h + 1, i) = i + h 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 - platform (i.e. isn't a compiler or similar tool), put it here, rather than - in depsBuildBuild. + platform (i.e. isn't a compiler or similar tool), put it here, rather + than in depsBuildBuild. These are often programs and libraries used by the new derivation at @@ -664,10 +691,11 @@ passthru = { hello.baz.value1. We don't specify any usage or schema of passthru - it is meant for values that would be useful outside the derivation in other parts of a Nix expression (e.g. in - other derivations). An example would be to convey some specific dependency - of your derivation which contains a program with plugins support. Later, - others who make derivations with plugins can use passed-through dependency - to ensure that their plugin would be binary-compatible with built program. + other derivations). An example would be to convey some specific + dependency of your derivation which contains a program with plugins + support. Later, others who make derivations with plugins can use + passed-through dependency to ensure that their plugin would be + binary-compatible with built program. @@ -677,9 +705,9 @@ passthru = { - 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: + 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; @@ -695,16 +723,21 @@ passthru.updateScript = writeScript "update-zoom-us" '' update-source-version zoom-us "$version" ''; - The attribute can also contain a list, a script followed by arguments to be passed to it: + 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. - + + The script will be usually run from the root of the Nixpkgs repository + but you should not rely on that. Also 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. + nix-shell maintainers/scripts/update.nix. @@ -730,7 +763,8 @@ passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ] latter is convenient from a build script. However, typically one only wants to add some commands to a phase, e.g. by defining postInstall or preFixup, as skipping - some of the default actions may have unexpected consequences. + some of the default actions may have unexpected consequences. The default + script for each phase is defined in the file pkgs/stdenv/generic/setup.sh.
@@ -752,7 +786,7 @@ passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ] set, the default value is used, which is $prePhases unpackPhase patchPhase $preConfigurePhases configurePhase $preBuildPhases buildPhase checkPhase $preInstallPhases installPhase - fixupPhase $preDistPhases distPhase $postPhases. + fixupPhase installCheckPhase $preDistPhases distPhase $postPhases. Usually, if you just want to add a few phases, it’s more convenient @@ -953,6 +987,16 @@ passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ] + + + dontUnpack + + + + Set to true to skip the unpack phase. + + + dontMakeSourcesWritable @@ -1075,6 +1119,16 @@ passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ] + + + dontConfigure + + + + Set to true to skip the configure phase. + + + configureFlagsArray @@ -1178,8 +1232,8 @@ passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ] By default, when cross compiling, the configure script has and passed. Packages can instead pass [ "build" "host" "target" ] - or a subset to control exactly which platform flags are passed. Compilers - and other tools can use this to also pass the target platform. + or a subset to control exactly which platform flags are passed. + Compilers and other tools can use this to also pass the target platform. Eventually these will be passed building natively as well, to improve @@ -1545,6 +1599,16 @@ installTargets = "install-bin install-doc"; Variables controlling the fixup phase + + + dontFixup + + + + Set to true to skip the fixup phase. + + + dontStrip @@ -1562,7 +1626,7 @@ installTargets = "install-bin install-doc"; - Like dontStripHost, but only affects the + Like dontStrip, but only affects the strip command targetting the package's host platform. Useful when supporting cross compilation, but otherwise feel free to ignore. @@ -1575,7 +1639,7 @@ installTargets = "install-bin install-doc"; - Like dontStripHost, but only affects the + Like dontStrip, but only affects the strip command targetting the packages' target platform. Useful when supporting cross compilation, but otherwise feel free to ignore. @@ -1694,10 +1758,11 @@ installTargets = "install-bin install-doc"; - 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 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. @@ -1812,8 +1877,8 @@ set debug-file-directory ~/.nix-profile/lib/debug A list of dependencies used by the phase. This gets included in - nativeBuildInputs when doInstallCheck is - set. + nativeBuildInputs when + doInstallCheck is set. @@ -2160,10 +2225,11 @@ someVar=$(stripHash $name) dependency derivation is already built just the same—depending is just needing something to exist, and needing is idempotent. However, a dependency specified twice will have its setup hook run twice, and that could easily - change the build environment (though a well-written setup hook will therefore - strive to be idempotent so this is in fact not observable). More broadly, - setup hooks are anti-modular in that multiple dependencies, whether the same - or different, should not interfere and yet their setup hooks may well do so. + change the build environment (though a well-written setup hook will + therefore strive to be idempotent so this is in fact not observable). More + broadly, setup hooks are anti-modular in that multiple dependencies, whether + the same or different, should not interfere and yet their setup hooks may + well do so. @@ -2185,14 +2251,15 @@ someVar=$(stripHash $name) 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 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 + compiler's target platform. The hostOffset variable is + defined with the current dependency's host offset + 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 - + @@ -2204,24 +2271,22 @@ addEnvHooks "$hostOffset" myBashFunction - 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. - + 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. - + /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. + @@ -2229,11 +2294,11 @@ addEnvHooks "$hostOffset" myBashFunction 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. - + + 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. + @@ -2241,12 +2306,11 @@ addEnvHooks "$hostOffset" myBashFunction 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. - + + 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. + @@ -2254,15 +2318,14 @@ addEnvHooks "$hostOffset" myBashFunction 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. - + + 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. + @@ -2270,12 +2333,12 @@ addEnvHooks "$hostOffset" myBashFunction 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. - + + 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. + @@ -2283,14 +2346,14 @@ addEnvHooks "$hostOffset" myBashFunction 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 + + 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. - + environment. See for more + information. + @@ -2298,11 +2361,11 @@ addEnvHooks "$hostOffset" myBashFunction 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. - + + 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. + @@ -2310,11 +2373,11 @@ addEnvHooks "$hostOffset" myBashFunction 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. - + + 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. + @@ -2322,10 +2385,10 @@ addEnvHooks "$hostOffset" myBashFunction set-source-date-epoch-to-latest.sh - - This sets SOURCE_DATE_EPOCH to the - modification time of the most recent file. - + + This sets SOURCE_DATE_EPOCH to the modification time + of the most recent file. + @@ -2335,19 +2398,19 @@ addEnvHooks "$hostOffset" myBashFunction 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. + 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. - 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 + 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 @@ -2357,11 +2420,12 @@ addEnvHooks "$hostOffset" myBashFunction nativeBuildInputs) in environment variables. The Bintools Wrapper's setup hook causes any lib and lib64 subdirectories to be added to - 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. + 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 @@ -2370,8 +2434,8 @@ addEnvHooks "$hostOffset" myBashFunction 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 + 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. @@ -2387,16 +2451,16 @@ addEnvHooks "$hostOffset" myBashFunction Wrappers, properly disambiguating them. - A problem with this final task is that the 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. This - triple-threat means Bintools Wrapper will break those packages, as LD is - already defined as the actual linker which the package won't override yet - doesn't want to use. The workaround is to define, just for the - problematic package, LD as the C compiler. A good way to - do this would be preConfigure = "LD=$CC". + only so define LD when it is undefined as a fallback. + This triple-threat means Bintools Wrapper will break those packages, as + LD is already defined as the actual linker which the package won't + override yet doesn't want to use. The workaround is to define, just for + the problematic package, LD as the C compiler. A good way + to do this would be preConfigure = "LD=$CC". @@ -2406,13 +2470,13 @@ addEnvHooks "$hostOffset" myBashFunction - 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. + 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 the CC Wrapper. This @@ -2434,14 +2498,13 @@ addEnvHooks "$hostOffset" myBashFunction - + - 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. + 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. @@ -2499,11 +2562,11 @@ addEnvHooks "$hostOffset" myBashFunction The autoreconfHook derivation adds - autoreconfPhase, which runs autoreconf, libtoolize and - automake, essentially preparing the configure script in 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. + autoreconfPhase, which runs autoreconf, libtoolize + and automake, essentially preparing the configure script in + 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. @@ -2547,9 +2610,9 @@ addEnvHooks "$hostOffset" myBashFunction - Exports GDK_PIXBUF_MODULE_FILE environment variable to the - builder. Add librsvg package to buildInputs to get svg - support. + Exports GDK_PIXBUF_MODULE_FILE environment variable to + the builder. Add librsvg package to buildInputs to + get svg support. @@ -2594,21 +2657,20 @@ addEnvHooks "$hostOffset" myBashFunction This is useful for programs that use - dlopen - 3 - to load libraries at runtime. + 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. + 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. + The autoPatchelf command also recognizes a + --no-recurse command line flag, + which prevents it from recursing into subdirectories. @@ -2619,29 +2681,37 @@ addEnvHooks "$hostOffset" myBashFunction 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. 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. + 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. 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. - nativeBuildInputs = [ breakpointHook ]; - +nativeBuildInputs = [ breakpointHook ]; + When a build failure happens there will be an instruction printed that shows how to attach with cntr to the build sandbox. + + Caution with remote builds + + This won't work with remote builds as the build environment is on + a different machine and can't be accessed by cntr. + Remote builds can be turned off by setting --option builders '' + for nix-build or --builders '' for + nix build. + + @@ -2649,16 +2719,15 @@ addEnvHooks "$hostOffset" myBashFunction libiconv, libintl - - 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. - + + 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. + @@ -2666,17 +2735,17 @@ addEnvHooks "$hostOffset" myBashFunction 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. + + 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. @@ -2685,12 +2754,12 @@ addEnvHooks "$hostOffset" myBashFunction 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. + + 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. @@ -2699,13 +2768,13 @@ addEnvHooks "$hostOffset" myBashFunction 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. + + 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. @@ -2714,11 +2783,11 @@ addEnvHooks "$hostOffset" myBashFunction 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. + + 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. @@ -2727,9 +2796,9 @@ addEnvHooks "$hostOffset" myBashFunction unzip - - This setup hook will allow you to unzip .zip files specified in $src. - There are many similar packages like unrar, undmg, etc. + + This setup hook will allow you to unzip .zip files specified in $src. + There are many similar packages like unrar, undmg, etc. @@ -2738,11 +2807,11 @@ addEnvHooks "$hostOffset" myBashFunction wafHook - - Overrides the configure, build, and install phases. This will run the - "waf" script used by many projects. If 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. + + 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. @@ -2751,14 +2820,14 @@ addEnvHooks "$hostOffset" myBashFunction 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. + + 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. - +
@@ -2824,7 +2893,7 @@ addEnvHooks "$hostOffset" myBashFunction printf(help_message); ^ cc1plus: some warnings being treated as errors - + @@ -2846,7 +2915,7 @@ cc1plus: some warnings being treated as errors bin/blib.a(bios_console.o): In function `bios_handle_cup': /tmp/nix-build-ipxe-20141124-5cbdc41.drv-0/ipxe-5cbdc41/src/arch/i386/firmware/pcbios/bios_console.c:86: undefined reference to `__stack_chk_fail' - + @@ -2875,19 +2944,19 @@ bin/blib.a(bios_console.o): In function `bios_handle_cup': malloc.c:404:15: error: return type is an incomplete type malloc.c:410:19: error: storage size of 'ms' isn't known - + strdup.h:22:1: error: expected identifier or '(' before '__extension__' - + strsep.c:65:23: error: register name not specified for 'delim' - + installwatch.c:3751:5: error: conflicting types for '__open_2' - + fcntl2.h:50:4: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments - + @@ -2912,7 +2981,7 @@ fcntl2.h:50:4: error: call to '__open_missing_mode' declared with attribute erro ccbLfRgg.s: Assembler messages: ccbLfRgg.s:33: Error: missing or invalid displacement expression `private_key_len@GOTOFF' - + @@ -2976,7 +3045,7 @@ ccbLfRgg.s:33: Error: missing or invalid displacement expression `private_key_le intel_drv.so: undefined symbol: vgaHWFreeHWRec - + diff --git a/doc/submitting-changes.xml b/doc/submitting-changes.xml index 4a6a2c634a5..a04ec08b048 100644 --- a/doc/submitting-changes.xml +++ b/doc/submitting-changes.xml @@ -36,8 +36,8 @@ -$ git checkout 0998212 -$ git checkout -b 'fix/pkg-name-update' +$ git checkout 0998212 +$ git checkout -b 'fix/pkg-name-update' @@ -351,25 +351,24 @@ 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. - - - - review uncommitted changes: -nix-shell -p nox --run "nox-review wip" + 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 changes from pull request number 12345: -nix-shell -p nox --run "nox-review pr 12345" +nix-shell -p nix-review --run "nix-review pr 12345" + + + + review uncommitted changes: +nix-shell -p nix-review --run "nix-review wip"
@@ -515,7 +514,7 @@ The original commit message describing the reason why the world was torn apart. (cherry picked from commit abcdef) Reason: I just had a gut feeling that this would also be wanted by people from the stone age. - + diff --git a/lib/default.nix b/lib/default.nix index d400907ebb0..18d2dfae1e1 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -50,7 +50,7 @@ let filesystem = callLibs ./filesystem.nix; # back-compat aliases - platforms = systems.forMeta; + platforms = systems.doubles; inherit (builtins) add addErrorContext attrNames concatLists deepSeq elem elemAt filter genericClosure genList getAttr @@ -59,7 +59,7 @@ 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' converge extends composeExtensions makeExtensible makeExtensibleWithCustomName; @@ -71,7 +71,7 @@ let zipAttrsWithNames zipAttrsWith zipAttrs recursiveUpdateUntil recursiveUpdate matchAttrs overrideExisting getOutput getBin getLib getDev chooseDevOutputs zipWithNames zip; - inherit (lists) singleton foldr fold foldl foldl' imap0 imap1 + inherit (lists) singleton forEach foldr fold foldl foldl' imap0 imap1 concatMap flatten remove findSingle findFirst any all count optional optionals toList range partition zipListsWith zipLists reverseList listDfs toposort sort naturalSort compareLists take @@ -81,7 +81,7 @@ let intersperse concatStringsSep concatMapStringsSep concatImapStringsSep makeSearchPath makeSearchPathOutput makeLibraryPath makeBinPath optionalString - hasPrefix hasSuffix stringToCharacters stringAsChars escape + hasInfix hasPrefix hasSuffix stringToCharacters stringAsChars escape escapeShellArg escapeShellArgs replaceChars lowerChars upperChars toLower toUpper addContextFrom splitString removePrefix removeSuffix versionOlder versionAtLeast getVersion @@ -109,7 +109,7 @@ let mkFixStrictness mkOrder mkBefore mkAfter mkAliasDefinitions mkAliasAndWrapDefinitions fixMergeModules mkRemovedOptionModule mkRenamedOptionModule mkMergedOptionModule mkChangedOptionModule - mkAliasOptionModule mkAliasOptionModuleWithPriority doRename filterModules; + mkAliasOptionModule doRename filterModules; inherit (options) isOption mkEnableOption mkSinkUndeclaredOptions mergeDefaultOption mergeOneOption mergeEqualOption getValues getFiles optionAttrSetToDocList optionAttrSetToDocList' diff --git a/lib/fixed-points.nix b/lib/fixed-points.nix index 2f818c88de5..968930526a6 100644 --- a/lib/fixed-points.nix +++ b/lib/fixed-points.nix @@ -30,9 +30,12 @@ rec { # nix-repl> converge (x: x / 2) 16 # 0 converge = f: x: - if (f x) == x - then x - else converge f (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 diff --git a/lib/generators.nix b/lib/generators.nix index 863ba847423..a71654bec6c 100644 --- a/lib/generators.nix +++ b/lib/generators.nix @@ -178,7 +178,7 @@ rec { toPlist = {}: v: let isFloat = builtins.isFloat or (x: false); expr = ind: x: with builtins; - if isNull x then "" else + if x == null then "" else if isBool x then bool ind x else if isInt x then int ind x else if isString x then str ind x else diff --git a/lib/licenses.nix b/lib/licenses.nix index b022d8bc11b..c964060d2a5 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -145,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"; @@ -428,12 +434,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { lgpl21 = spdx { spdxId = "LGPL-2.1-only"; - fullName = "GNU Library General Public License v2.1 only"; + fullName = "GNU Lesser General Public License v2.1 only"; }; lgpl21Plus = spdx { spdxId = "LGPL-2.1-or-later"; - fullName = "GNU Library General Public License v2.1 or later"; + fullName = "GNU Lesser General Public License v2.1 or later"; }; lgpl3 = spdx { @@ -451,9 +457,9 @@ 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"; + libpng2 = spdx { + spdxId = "libpng-2.0"; # Used since libpng 1.6.36. + fullName = "PNG Reference Library version 2"; }; libtiff = spdx { @@ -561,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"; diff --git a/lib/lists.nix b/lib/lists.nix index be541427c24..e4fcf959b60 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -7,7 +7,7 @@ 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]` @@ -21,6 +21,19 @@ rec { */ singleton = x: [x]; + /* Apply the function to each element in the list. Same as `map`, but arguments + flipped. + + Type: forEach :: [a] -> (a -> b) -> [b] + + Example: + forEach [ 1 2 ] (x: + toString x + ) + => [ "1" "2" ] + */ + forEach = xs: f: map f xs; + /* “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))`. @@ -633,8 +646,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/modules.nix b/lib/modules.nix index 5c9d66d8f97..c3c903c1dfa 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -323,16 +323,14 @@ rec { else mergeDefinitions loc opt.type defs'; - # Check whether the option is defined, and apply the ‘apply’ - # function to the merged value. This allows options to yield a - # value computed from the definitions. - value = - if !res.isDefined then - throw "The option `${showOption loc}' is used but not defined." - else if opt ? apply then - opt.apply res.mergedValue - else - res.mergedValue; + + # The value with a check that it is defined + valueDefined = if res.isDefined then res.mergedValue else + throw "The option `${showOption loc}' is used but not defined."; + + # Apply the 'apply' function to the merged value. This allows options to + # yield a value computed from the definitions + value = if opt ? apply then opt.apply valueDefined else valueDefined; in opt // { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value; @@ -476,8 +474,22 @@ rec { optionSet to options of type submodule. FIXME: remove eventually. */ fixupOptionType = loc: opt: - if opt.type.getSubModules or null == null - then opt // { type = opt.type or types.unspecified; } + let + options = opt.options or + (throw "Option `${showOption loc'}' has type optionSet but has no option attribute, in ${showFiles opt.declarations}."); + f = tp: + let optionSetIn = type: (tp.name == type) && (tp.functor.wrapped.name == "optionSet"); + in + if tp.name == "option set" || tp.name == "submodule" then + throw "The option ${showOption loc} uses submodules without a wrapping type, in ${showFiles opt.declarations}." + else if optionSetIn "attrsOf" then types.attrsOf (types.submodule options) + else if optionSetIn "loaOf" then types.loaOf (types.submodule options) + else if optionSetIn "listOf" then types.listOf (types.submodule options) + else if optionSetIn "nullOr" then types.nullOr (types.submodule options) + else tp; + in + if opt.type.getSubModules or null == null + then opt // { type = f (opt.type or types.unspecified); } else opt // { type = opt.type.substSubModules opt.options; options = []; }; @@ -596,6 +608,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; @@ -690,16 +705,7 @@ rec { use = id; }; - /* Like ‘mkAliasOptionModule’, but copy over the priority of the option as well. */ - mkAliasOptionModuleWithPriority = from: to: doRename { - inherit from to; - visible = true; - warn = false; - use = id; - withPriority = true; - }; - - doRename = { from, to, visible, warn, use, withPriority ? false }: + doRename = { from, to, visible, warn, use, withPriority ? true }: { config, options, ... }: let fromOpt = getAttrFromPath from options; diff --git a/lib/options.nix b/lib/options.nix index 5cea99067aa..e5c0631a543 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -36,7 +36,7 @@ rec { example ? null, # String describing the option. description ? null, - # Related packages used in the manual (see `genRelatedPackages` in ../nixos/doc/manual/default.nix). + # Related packages used in the manual (see `genRelatedPackages` in ../nixos/lib/make-options-doc/default.nix). relatedPackages ? null, # Option type, providing type-checking and value merging. type ? null, @@ -48,6 +48,8 @@ rec { visible ? null, # Whether the option can be set only once readOnly ? null, + # Deprecated, used by types.optionSet. + options ? null } @ attrs: attrs // { _type = "option"; }; @@ -99,7 +101,7 @@ rec { mergeOneOption = loc: defs: if defs == [] then abort "This case should never happen." else if length defs != 1 then - throw "The unique option `${showOption loc}' is defined multiple times, in ${showFiles (getFiles defs)}." + throw "The unique option `${showOption loc}' is defined multiple times, in:\n - ${concatStringsSep "\n - " (getFiles defs)}." else (head defs).value; /* "Merge" option definitions by checking that they all have the same value. */ @@ -141,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; diff --git a/lib/sources.nix b/lib/sources.nix index 1a9f3f7d1f3..c4680087b24 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 || @@ -53,12 +53,16 @@ rec { # Filter sources by a list of regular expressions. # # E.g. `src = sourceByRegex ./my-subproject [".*\.py$" "^database.sql$"]` - sourceByRegex = src: regexes: cleanSourceWith { - filter = (path: type: - let relPath = lib.removePrefix (toString src + "/") (toString path); - in lib.any (re: builtins.match re relPath != null) regexes); - inherit src; - }; + sourceByRegex = src: regexes: + let + isFiltered = src ? _isLibCleanSourceWith; + origSrc = if isFiltered then src.origSrc else src; + in lib.cleanSourceWith { + filter = (path: type: + let relPath = lib.removePrefix (toString origSrc + "/") (toString path); + in lib.any (re: builtins.match re relPath != null) regexes); + inherit src; + }; # Get all files ending with the specified suffices from the given # directory or its descendants. E.g. `sourceFilesBySuffices ./dir @@ -83,7 +87,7 @@ rec { # Sometimes git stores the commitId directly in the file but # sometimes it stores something like: «ref: refs/heads/branch-name» matchRef = match "^ref: (.*)$" fileContent; - in if isNull matchRef + in if matchRef == null then fileContent else readCommitFromFile (lib.head matchRef) path # Sometimes, the file isn't there at all and has been packed away in the @@ -92,7 +96,7 @@ rec { then let fileContent = readFile packedRefsName; matchRef = match (".*\n([^\n ]*) " + file + "\n.*") fileContent; - in if isNull matchRef + in if matchRef == null then throw ("Could not find " + file + " in " + packedRefsName) else lib.head matchRef else throw ("Not a .git directory: " + path); diff --git a/lib/strings.nix b/lib/strings.nix index 47c881cfbc7..ae0d74c6721 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -90,7 +90,7 @@ rec { /* Same as `concatMapStringsSep`, but the mapping function additionally receives the position of its argument. - Type: concatMapStringsSep :: string -> (int -> string -> string) -> [string] -> string + Type: concatIMapStringsSep :: string -> (int -> string -> string) -> [string] -> string Example: concatImapStringsSep "-" (pos: x: toString (x / pos)) [ 6 6 6 ] diff --git a/lib/systems/default.nix b/lib/systems/default.nix index 77f20095295..8aa413f5381 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -3,7 +3,6 @@ rec { doubles = import ./doubles.nix { inherit lib; }; - forMeta = import ./for-meta.nix { inherit lib; }; parse = import ./parse.nix { inherit lib; }; inspect = import ./inspect.nix { inherit lib; }; platforms = import ./platforms.nix { inherit lib; }; @@ -15,7 +14,9 @@ rec { # `parsed` is inferred from args, both because there are two options with one # clearly prefered, and to prevent cycles. A simpler fixed point where the RHS # always just used `final.*` would fail on both counts. - elaborate = args: let + elaborate = args': let + args = if lib.isString args' then { system = args'; } + else args'; final = { # Prefer to parse `config` as it is strictly more informative. parsed = parse.mkSystemFromString (if args ? config then args.config else args.system); @@ -24,15 +25,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 = { @@ -58,7 +64,7 @@ rec { "netbsd" = "NetBSD"; "freebsd" = "FreeBSD"; "openbsd" = "OpenBSD"; - "wasm" = "Wasm"; + "wasi" = "Wasi"; }.${final.parsed.kernel.name} or null; # uname -p @@ -68,16 +74,22 @@ rec { 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" = "ppc64"; - "mips64" = "mips"; - "mipsel64" = "mipsel"; + "powerpc64le" = "ppc64le"; }.${final.parsed.cpu.name} or final.parsed.cpu.name; emulator = pkgs: let @@ -98,13 +110,14 @@ rec { wine = (pkgs.winePackagesFor wine-name).minimal; in if final.parsed.kernel.name == pkgs.stdenv.hostPlatform.parsed.kernel.name && - (final.parsed.cpu.name == pkgs.stdenv.hostPlatform.parsed.cpu.name || - (final.isi686 && pkgs.stdenv.hostPlatform.isx86_64)) - then pkgs.runtimeShell + 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 diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix index 58677c0bdd9..823f6a915d6 100644 --- a/lib/systems/doubles.nix +++ b/lib/systems/doubles.nix @@ -13,10 +13,20 @@ let "i686-cygwin" "i686-freebsd" "i686-linux" "i686-netbsd" "i686-openbsd" - "x86_64-cygwin" "x86_64-darwin" "x86_64-freebsd" "x86_64-linux" + "x86_64-cygwin" "x86_64-freebsd" "x86_64-linux" "x86_64-netbsd" "x86_64-openbsd" "x86_64-solaris" + "x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin" + "x86_64-windows" "i686-windows" + + "wasm64-wasi" "wasm32-wasi" + + "powerpc64le-linux" + + "riscv32-linux" "riscv64-linux" + + "aarch64-none" "avr-none" "arm-none" "i686-none" "x86_64-none" "powerpc-none" "msp430-none" "riscv64-none" "riscv32-none" ]; allParsed = map parse.mkSystemFromString all; @@ -34,6 +44,7 @@ in rec { i686 = filterDoubles predicates.isi686; x86_64 = filterDoubles predicates.isx86_64; mips = filterDoubles predicates.isMips; + riscv = filterDoubles predicates.isRiscV; cygwin = filterDoubles predicates.isCygwin; darwin = filterDoubles predicates.isDarwin; @@ -45,7 +56,10 @@ in rec { 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"]; + embedded = filterDoubles predicates.isNone; + + 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 90068f566ed..4861fe634a0 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -44,14 +44,6 @@ rec { platform = platforms.aarch64-multiplatform; }; - armv5te-android-prebuilt = rec { - config = "armv5tel-unknown-linux-androideabi"; - sdkVer = "21"; - ndkVer = "18b"; - platform = platforms.armv5te-android; - useAndroidPrebuilt = true; - }; - armv7a-android-prebuilt = rec { config = "armv7a-unknown-linux-androideabi"; sdkVer = "24"; @@ -96,12 +88,32 @@ rec { config = "aarch64-unknown-linux-musl"; }; + gnu64 = { config = "x86_64-unknown-linux-gnu"; }; + gnu32 = { config = "i686-unknown-linux-gnu"; }; + musl64 = { config = "x86_64-unknown-linux-musl"; }; musl32 = { config = "i686-unknown-linux-musl"; }; riscv64 = riscv "64"; riscv32 = riscv "32"; + riscv64-embedded = { + config = "riscv64-none-elf"; + libc = "newlib"; + platform = platforms.riscv-multiplatform "64"; + }; + + riscv32-embedded = { + config = "riscv32-none-elf"; + libc = "newlib"; + platform = platforms.riscv-multiplatform "32"; + }; + + msp430 = { + config = "msp430-elf"; + libc = "newlib"; + }; + avr = { config = "avr"; }; @@ -135,11 +147,6 @@ rec { libc = "newlib"; }; - alpha-embedded = { - config = "alpha-elf"; - libc = "newlib"; - }; - i686-embedded = { config = "i686-elf"; libc = "newlib"; @@ -213,6 +220,22 @@ rec { platform = {}; }; + # BSDs + + amd64-netbsd = { + config = "x86_64-unknown-netbsd"; + libc = "nblibc"; + }; + + # + # WASM + # + + wasi32 = { + config = "wasm32-unknown-wasi"; + useLLVM = true; + }; + # Ghcjs ghcjs = { config = "js-unknown-ghcjs"; diff --git a/lib/systems/for-meta.nix b/lib/systems/for-meta.nix deleted file mode 100644 index 51fb6ae760d..00000000000 --- a/lib/systems/for-meta.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib }: -let - inherit (lib.systems) parse; - inherit (lib.systems.inspect) patterns; - - abis = lib.mapAttrs (_: abi: builtins.removeAttrs abi [ "assertions" ]) parse.abis; - -in rec { - all = [ {} ]; # `{}` matches anything - none = []; - - arm = [ patterns.isAarch32 ]; - aarch64 = [ patterns.isAarch64 ]; - x86 = [ patterns.isx86 ]; - i686 = [ patterns.isi686 ]; - x86_64 = [ patterns.isx86_64 ]; - mips = [ patterns.isMips ]; - riscv = [ patterns.isRiscV ]; - - cygwin = [ patterns.isCygwin ]; - darwin = [ patterns.isDarwin ]; - freebsd = [ patterns.isFreeBSD ]; - # Should be better, but MinGW is unclear. - gnu = [ - { kernel = parse.kernels.linux; abi = abis.gnu; } - { kernel = parse.kernels.linux; abi = abis.gnueabi; } - { kernel = parse.kernels.linux; abi = abis.gnueabihf; } - ]; - illumos = [ patterns.isSunOS ]; - linux = [ patterns.isLinux ]; - netbsd = [ patterns.isNetBSD ]; - openbsd = [ patterns.isOpenBSD ]; - unix = patterns.isUnix; # Actually a list - windows = [ patterns.isWindows ]; - - inherit (lib.systems.doubles) mesaPlatforms; -} diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index bf186126d4a..8a95787110b 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -20,7 +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; }; }; @@ -41,6 +43,8 @@ rec { isWindows = { kernel = kernels.windows; }; isCygwin = { kernel = kernels.windows; abi = abis.cygnus; }; isMinGW = { kernel = kernels.windows; abi = abis.gnu; }; + isWasi = { kernel = kernels.wasi; }; + isNone = { kernel = kernels.none; }; 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 a20b334311e..0c42689a9b1 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -69,24 +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"; }; - aarch64_be = { bits = 64; significantByte = bigEndian; family = "arm"; version = "8"; }; + 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"; }; - i486 = { bits = 32; significantByte = littleEndian; family = "x86"; }; - i586 = { bits = 32; significantByte = littleEndian; family = "x86"; }; - i686 = { bits = 32; significantByte = littleEndian; family = "x86"; }; - x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; }; + 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"; }; @@ -109,11 +109,92 @@ rec { alpha = { bits = 64; significantByte = littleEndian; family = "alpha"; }; + msp430 = { bits = 16; significantByte = littleEndian; family = "msp430"; }; avr = { bits = 8; family = "avr"; }; js = { bits = 32; significantByte = littleEndian; family = "js"; }; }; + # 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 { @@ -147,6 +228,7 @@ rec { elf = {}; macho = {}; pe = {}; + wasm = {}; unknown = {}; }; @@ -189,6 +271,7 @@ rec { none = { execFormat = unknown; families = { }; }; openbsd = { execFormat = elf; families = { inherit bsd; }; }; solaris = { execFormat = elf; families = { }; }; + wasi = { execFormat = wasm; families = { }; }; windows = { execFormat = pe; families = { }; }; ghcjs = { execFormat = unknown; families = { }; }; } // { # aliases @@ -298,6 +381,8 @@ rec { 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"; } + 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"]) @@ -348,7 +433,7 @@ rec { mkSystemFromString = s: mkSystemFromSkeleton (mkSkeletonFromList (lib.splitString "-" s)); - doubleFromSystem = { cpu, vendor, kernel, abi, ... }: + doubleFromSystem = { cpu, kernel, abi, ... }: /**/ if abi == abis.cygnus then "${cpu.name}-cygwin" else if kernel.families ? darwin then "${cpu.name}-darwin" else "${cpu.name}-${kernel.name}"; diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index 03bfce25610..a2b43c970a4 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"; }; diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index a72777cbf2a..cf344122cf4 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -71,6 +71,15 @@ checkConfigError 'The option value .* in .* is not of type.*positive integer.*' checkConfigOutput "42" config.value ./declare-int-between-value.nix ./define-value-int-positive.nix checkConfigError 'The option value .* in .* is not of type.*between.*-21 and 43.*inclusive.*' config.value ./declare-int-between-value.nix ./define-value-int-negative.nix +# Check either types +# types.either +checkConfigOutput "42" config.value ./declare-either.nix ./define-value-int-positive.nix +checkConfigOutput "\"24\"" config.value ./declare-either.nix ./define-value-string.nix +# types.oneOf +checkConfigOutput "42" config.value ./declare-oneOf.nix ./define-value-int-positive.nix +checkConfigOutput "[ ]" config.value ./declare-oneOf.nix ./define-value-list.nix +checkConfigOutput "\"24\"" config.value ./declare-oneOf.nix ./define-value-string.nix + # Check mkForce without submodules. set -- config.enable ./declare-enable.nix ./define-enable.nix checkConfigOutput "true" "$@" @@ -149,7 +158,7 @@ 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 mkAliasOptionModuleWithPriority. +# 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 diff --git a/lib/tests/modules/alias-with-priority-can-override.nix b/lib/tests/modules/alias-with-priority-can-override.nix index a6b26895f3a..9a18c9d9f61 100644 --- a/lib/tests/modules/alias-with-priority-can-override.nix +++ b/lib/tests/modules/alias-with-priority-can-override.nix @@ -1,5 +1,8 @@ # This is a test to show that mkAliasOptionModule sets the priority correctly # for aliased options. +# +# This test shows that an alias with a high priority is able to override +# a non-aliased option. { config, lib, ... }: @@ -32,10 +35,10 @@ with lib; imports = [ # Create an alias for the "enable" option. - (mkAliasOptionModuleWithPriority [ "enableAlias" ] [ "enable" ]) + (mkAliasOptionModule [ "enableAlias" ] [ "enable" ]) - # Disable the aliased option, but with a default (low) priority so it - # should be able to be overridden by the next import. + # Disable the aliased option with a high priority so it + # should override the next import. ( { config, lib, ... }: { enableAlias = lib.mkForce false; diff --git a/lib/tests/modules/alias-with-priority.nix b/lib/tests/modules/alias-with-priority.nix index 923483684cb..a35a06fc697 100644 --- a/lib/tests/modules/alias-with-priority.nix +++ b/lib/tests/modules/alias-with-priority.nix @@ -1,5 +1,8 @@ # This is a test to show that mkAliasOptionModule sets the priority correctly # for aliased options. +# +# This test shows that an alias with a low priority is able to be overridden +# with a non-aliased option. { config, lib, ... }: @@ -32,7 +35,7 @@ with lib; imports = [ # Create an alias for the "enable" option. - (mkAliasOptionModuleWithPriority [ "enableAlias" ] [ "enable" ]) + (mkAliasOptionModule [ "enableAlias" ] [ "enable" ]) # Disable the aliased option, but with a default (low) priority so it # should be able to be overridden by the next import. diff --git a/lib/tests/modules/declare-either.nix b/lib/tests/modules/declare-either.nix new file mode 100644 index 00000000000..5a0fa978a13 --- /dev/null +++ b/lib/tests/modules/declare-either.nix @@ -0,0 +1,5 @@ +{ lib, ... }: { + options.value = lib.mkOption { + type = lib.types.either lib.types.int lib.types.str; + }; +} diff --git a/lib/tests/modules/declare-oneOf.nix b/lib/tests/modules/declare-oneOf.nix new file mode 100644 index 00000000000..df092a14f81 --- /dev/null +++ b/lib/tests/modules/declare-oneOf.nix @@ -0,0 +1,9 @@ +{ lib, ... }: { + options.value = lib.mkOption { + type = lib.types.oneOf [ + lib.types.int + (lib.types.listOf lib.types.int) + lib.types.str + ]; + }; +} diff --git a/lib/tests/release.nix b/lib/tests/release.nix index d9a8a006725..737d142d253 100644 --- a/lib/tests/release.nix +++ b/lib/tests/release.nix @@ -1,11 +1,9 @@ { pkgs ? import ((import ../.).cleanSource ../..) {} }: -pkgs.stdenv.mkDerivation { - name = "nixpkgs-lib-tests"; - buildInputs = [ pkgs.nix ]; +pkgs.runCommandNoCC "nixpkgs-lib-tests" { + buildInputs = [ pkgs.nix (import ./check-eval.nix) ]; NIX_PATH="nixpkgs=${pkgs.path}"; - - buildCommand = '' +} '' datadir="${pkgs.nix}/share" export TEST_ROOT=$(pwd)/test-tmp export NIX_BUILD_HOOK= @@ -22,10 +20,5 @@ pkgs.stdenv.mkDerivation { cd ${pkgs.path}/lib/tests bash ./modules.sh - [[ "$(nix-instantiate --eval --strict misc.nix)" == "[ ]" ]] - - [[ "$(nix-instantiate --eval --strict systems.nix)" == "[ ]" ]] - touch $out - ''; -} +'' diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix index 5e129365821..5748c09b564 100644 --- a/lib/tests/systems.nix +++ b/lib/tests/systems.nix @@ -12,19 +12,19 @@ let expected = lib.sort lib.lessThan y; }; in with lib.systems.doubles; lib.runTests { - testall = mseteq all (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ windows); + testall = mseteq all (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ wasi ++ windows ++ embedded); - testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv7l-linux" ]; - testi686 = mseteq i686 [ "i686-linux" "i686-freebsd" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" ]; + testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv7l-linux" "arm-none" "armv7a-darwin" ]; + testi686 = mseteq i686 [ "i686-linux" "i686-freebsd" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" "i686-none" "i686-darwin" ]; testmips = mseteq mips [ "mipsel-linux" ]; - testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" ]; + testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" "x86_64-none" ]; testcygwin = mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ]; - testdarwin = mseteq darwin [ "x86_64-darwin" ]; + testdarwin = mseteq darwin [ "x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin" ]; testfreebsd = mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ]; testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */); testillumos = mseteq illumos [ "x86_64-solaris" ]; - testlinux = mseteq linux [ "i686-linux" "x86_64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "mipsel-linux" ]; + testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64le-linux" ]; testnetbsd = mseteq netbsd [ "i686-netbsd" "x86_64-netbsd" ]; testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ]; testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ]; diff --git a/lib/trivial.nix b/lib/trivial.nix index 17489311236..f2710a6f033 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -112,7 +112,7 @@ rec { # Function to call f: # Argument to check for null before passing it to `f` - a: if isNull a then a else f a; + a: if a == null then a else f a; # Pull in some builtins not included elsewhere. inherit (builtins) @@ -134,7 +134,7 @@ rec { On each release the first letter is bumped and a new animal is chosen starting with that new letter. */ - codeName = "Koi"; + codeName = "Loris"; /* Returns the current nixpkgs version suffix as string. */ versionSuffix = @@ -259,9 +259,10 @@ rec { # 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 7a88e1b9e36..bcb5de0c379 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -111,7 +111,7 @@ rec { name = "int"; description = "signed integer"; check = isInt; - merge = mergeOneOption; + merge = mergeEqualOption; }; # Specialized subdomains of int @@ -176,14 +176,14 @@ rec { name = "float"; description = "floating point number"; check = isFloat; - merge = mergeOneOption; + merge = mergeEqualOption; }; str = mkOptionType { name = "str"; description = "string"; check = isString; - merge = mergeOneOption; + merge = mergeEqualOption; }; strMatching = pattern: mkOptionType { @@ -217,7 +217,8 @@ rec { # Deprecated; should not be used because it quietly concatenates # strings, which is usually not what you want. - string = separatedString ""; + string = warn "types.string is deprecated because it quietly concatenates strings" + (separatedString ""); attrs = mkOptionType { name = "attrs"; @@ -243,7 +244,7 @@ rec { name = "path"; # Hacky: there is no ‘isPath’ primop. check = x: builtins.substring 0 1 (toString x) == "/"; - merge = mergeOneOption; + merge = mergeEqualOption; }; # drop this in the future: @@ -415,7 +416,7 @@ rec { name = "enum"; description = "one of ${concatMapStringsSep ", " show values}"; check = flip elem values; - merge = mergeOneOption; + merge = mergeEqualOption; functor = (defaultFunctor name) // { payload = values; binOp = a: b: unique (a ++ b); }; }; @@ -443,6 +444,13 @@ rec { functor = (defaultFunctor name) // { wrapped = [ t1 t2 ]; }; }; + # Any of the types in the given list + oneOf = ts: + let + head' = if ts == [] then throw "types.oneOf needs to get at least one type in its argument" else head ts; + tail' = tail ts; + in foldl' either head' tail'; + # Either value of type `finalType` or `coercedType`, the latter is # converted to `finalType` using `coerceFunc`. coercedTo = coercedType: coerceFunc: finalType: @@ -469,8 +477,10 @@ rec { # Obsolete alternative to configOf. It takes its option # declarations from the ‘options’ attribute of containing option # declaration. - optionSet = builtins.throw "types.optionSet is deprecated; use types.submodule instead" "optionSet"; - + optionSet = mkOptionType { + 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 bbf016194ef..7298ed804bb 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7,6 +7,7 @@ # Optional github = "GithubUsername"; + githubId = your-github-id; keys = [{ longkeyid = "rsa2048/0x0123456789ABCDEF"; fingerprint = "AAAA BBBB CCCC DDDD EEEE FFFF 0000 1111 2222 3333"; @@ -19,6 +20,7 @@ - `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/`), + - `githubId` is your GitHub user ID, which can be found at `https://api.github.com/users/`, - `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. @@ -38,31 +40,68 @@ See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data. */ { + "00-matt" = { + name = "Matt Smith"; + email = "matt@offtopica.uk"; + github = "00-matt"; + githubId = 48835712; + }; + "0x4A6F" = { + email = "0x4A6F@shackspace.de"; + name = "Joachim Ernst"; + github = "0x4A6F"; + githubId = 9675338; + keys = [{ + longkeyid = "rsa8192/0x87027528B006D66D"; + fingerprint = "F466 A548 AD3F C1F1 8C88 4576 8702 7528 B006 D66D"; + }]; + }; "1000101" = { email = "jan.hrnko@satoshilabs.com"; github = "1000101"; + githubId = 791309; name = "Jan Hrnko"; }; a1russell = { email = "adamlr6+pub@gmail.com"; github = "a1russell"; + githubId = 241628; name = "Adam Russell"; }; aanderse = { email = "aaron@fosslib.net"; github = "aanderse"; + githubId = 7755101; name = "Aaron Andersen"; }; + aaronjanse = { + email = "aaron@ajanse.me"; + github = "aaronjanse"; + githubId = 16829510; + name = "Aaron Janse"; + }; aaronschif = { email = "aaronschif@gmail.com"; github = "aaronschif"; + githubId = 2258953; name = "Aaron Schif"; }; abaldeau = { email = "andreas@baldeau.net"; github = "baldo"; + githubId = 178750; name = "Andreas Baldeau"; }; + abbe = { + email = "ashish.is@lostca.se"; + github = "wahjava"; + githubId = 2255192; + name = "Ashish SHUKLA"; + keys = [{ + longkeyid = "rsa4096/0xC746CFA9E74FA4B0"; + fingerprint = "F682 CDCC 39DC 0FEA E116 20B6 C746 CFA9 E74F A4B0"; + }]; + }; abbradar = { email = "ab@fmap.me"; github = "abbradar"; @@ -71,31 +110,37 @@ abhi18av = { email = "abhi18av@gmail.com"; github = "abhi18av"; + githubId = 12799326; name = "Abhinav Sharma"; }; abigailbuccaneer = { email = "abigailbuccaneer@gmail.com"; github = "abigailbuccaneer"; + githubId = 908758; name = "Abigail Bunyan"; }; aborsu = { email = "a.borsu@gmail.com"; github = "aborsu"; + githubId = 5033617; name = "Augustin Borsu"; }; aboseley = { email = "adam.boseley@gmail.com"; github = "aboseley"; + githubId = 13504599; name = "Adam Boseley"; }; abuibrahim = { email = "ruslan@babayev.com"; github = "abuibrahim"; + githubId = 2321000; name = "Ruslan Babayev"; }; acowley = { email = "acowley@gmail.com"; github = "acowley"; + githubId = 124545; name = "Anthony Cowley"; }; adamt = { @@ -106,51 +151,73 @@ adelbertc = { email = "adelbertc@gmail.com"; github = "adelbertc"; + githubId = 1332980; name = "Adelbert Chang"; }; adev = { email = "adev@adev.name"; github = "adevress"; + githubId = 1773511; name = "Adrien Devresse"; }; adisbladis = { email = "adis@blad.is"; github = "adisbladis"; + githubId = 63286; name = "Adam Hose"; }; Adjective-Object = { email = "mhuan13@gmail.com"; github = "Adjective-Object"; + githubId = 1174858; name = "Maxwell Huang-Hobbs"; }; adnelson = { email = "ithinkican@gmail.com"; github = "adnelson"; + githubId = 5091511; name = "Allen Nelson"; }; adolfogc = { email = "adolfo.garcia.cr@gmail.com"; github = "adolfogc"; + githubId = 1250775; name = "Adolfo E. García Castro"; }; aepsil0n = { email = "eduard.bopp@aepsil0n.de"; github = "aepsil0n"; + githubId = 3098430; name = "Eduard Bopp"; }; + aerialx = { + email = "aaron+nixos@aaronlindsay.com"; + github = "AerialX"; + githubId = 117295; + name = "Aaron Lindsay"; + }; aespinosa = { email = "allan.espinosa@outlook.com"; github = "aespinosa"; + githubId = 58771; name = "Allan Espinosa"; }; + aethelz = { + email = "aethelz@protonmail.com"; + github = "aethelz"; + githubId = 10677343; + name = "Eugene"; + }; aflatter = { email = "flatter@fastmail.fm"; github = "aflatter"; + githubId = 168; name = "Alexander Flatter"; }; afldcr = { email = "alex@fldcr.com"; github = "afldcr"; + githubId = 335271; name = "James Alexander Feldman-Crough"; }; aforemny = { @@ -161,31 +228,43 @@ afranchuk = { email = "alex.franchuk@gmail.com"; github = "afranchuk"; + githubId = 4296804; name = "Alex Franchuk"; }; aherrmann = { email = "andreash87@gmx.ch"; github = "aherrmann"; + githubId = 732652; name = "Andreas Herrmann"; }; ahmedtd = { email = "ahmed.taahir@gmail.com"; github = "ahmedtd"; + githubId = 1017202; name = "Taahir Ahmed"; }; ahuzik = { email = "ales.guzik@gmail.com"; github = "alesguzik"; + githubId = 209175; name = "Ales Huzik"; }; aij = { email = "aij+git@mrph.org"; github = "aij"; + githubId = 4732885; name = "Ivan Jager"; }; + ajs124 = { + email = "nix@ajs124.de"; + github = "ajs124"; + githubId = 1229027; + name = "Andreas Schrägle"; + }; ajgrf = { email = "a@ajgrf.com"; github = "ajgrf"; + githubId = 10733175; name = "Alex Griffin"; }; ak = { @@ -196,36 +275,54 @@ akavel = { email = "czapkofan@gmail.com"; github = "akavel"; + githubId = 273837; name = "Mateusz Czapliński"; }; akaWolf = { email = "akawolf0@gmail.com"; github = "akaWolf"; + githubId = 5836586; name = "Artjom Vejsel"; }; akc = { email = "akc@akc.is"; github = "akc"; + githubId = 1318982; name = "Anders Claesson"; }; akru = { email = "mail@akru.me"; github = "akru"; + githubId = 786394; name = "Alexander Krupenkin "; }; + alexarice = { + email = "alexrice999@hotmail.co.uk"; + github = "alexarice"; + githubId = 17208985; + name = "Alex Rice"; + }; + alexbakker = { + email = "ab@alexbakker.me"; + github = "alexbakker"; + name = "Alexander Bakker"; + }; alexchapman = { email = "alex@farfromthere.net"; github = "AJChapman"; + githubId = 8316672; name = "Alex Chapman"; }; alexfmpe = { email = "alexandre.fmp.esteves@gmail.com"; github = "alexfmpe"; + githubId = 2335822; name = "Alexandre Esteves"; }; alexvorobiev = { email = "alexander.vorobiev@gmail.com"; github = "alexvorobiev"; + githubId = 782180; name = "Alex Vorobiev"; }; algorith = { @@ -235,8 +332,15 @@ alibabzo = { email = "alistair.bill@gmail.com"; github = "alibabzo"; + githubId = 2822871; name = "Alistair Bill"; }; + alkeryn = { + email = "plbraundev@gmail.com"; + github = "Alkeryn"; + githubId = 11599075; + name = "Pierre-Louis Braun"; + }; all = { email = "nix-commits@lists.science.uu.nl"; name = "Nix Committers"; @@ -244,6 +348,7 @@ allonsy = { email = "linuxbash8@gmail.com"; github = "allonsy"; + githubId = 5892756; name = "Alec Snyder"; }; alunduil = { @@ -254,6 +359,7 @@ amar1729 = { email = "amar.paul16@gmail.com"; github = "amar1729"; + githubId = 15623522; name = "Amar Paul"; }; ambrop72 = { @@ -264,11 +370,13 @@ amiddelk = { email = "amiddelk@gmail.com"; github = "amiddelk"; + githubId = 1358320; name = "Arie Middelkoop"; }; amiloradovsky = { email = "miloradovsky@gmail.com"; github = "amiloradovsky"; + githubId = 20530052; name = "Andrew Miloradovsky"; }; aminb = { @@ -279,31 +387,43 @@ aminechikhaoui = { email = "amine.chikhaoui91@gmail.com"; github = "AmineChikhaoui"; + githubId = 5149377; name = "Amine Chikhaoui"; }; amorsillo = { email = "andrew.morsillo@gmail.com"; github = "AndrewMorsillo"; + githubId = 858965; name = "Andrew Morsillo"; }; andersk = { email = "andersk@mit.edu"; github = "andersk"; + githubId = 26471; name = "Anders Kaseorg"; }; + anderslundstedt = { + email = "git@anderslundstedt.se"; + github = "anderslundstedt"; + githubId = 4514101; + name = "Anders Lundstedt"; + }; AndersonTorres = { email = "torres.anderson.85@protonmail.com"; github = "AndersonTorres"; + githubId = 5954806; name = "Anderson Torres"; }; anderspapitto = { email = "anderspapitto@gmail.com"; github = "anderspapitto"; + githubId = 1388690; name = "Anders Papitto"; }; andir = { email = "andreas@rammhold.de"; github = "andir"; + githubId = 638836; name = "Andreas Rammhold"; }; andreabedini = { @@ -319,16 +439,25 @@ andrestylianos = { email = "andre.stylianos@gmail.com"; github = "andrestylianos"; + githubId = 7112447; name = "Andre S. Ramos"; }; andrew-d = { email = "andrew@du.nham.ca"; github = "andrew-d"; + githubId = 1079173; name = "Andrew Dunham"; }; + andrewchambers = { + email = "ac@acha.ninja"; + github = "andrewchambers"; + githubId = 962885; + name = "Andrew Chambers"; + }; andrewrk = { email = "superjoe30@gmail.com"; github = "andrewrk"; + githubId = 106511; name = "Andrew Kelley"; }; andsild = { @@ -339,16 +468,37 @@ aneeshusa = { email = "aneeshusa@gmail.com"; github = "aneeshusa"; + githubId = 2085567; name = "Aneesh Agrawal"; }; + angristan = { + email = "angristan@pm.me"; + github = "angristan"; + githubId = 11699655; + name = "Stanislas Lange"; + }; ankhers = { - email = "justin.k.wood@gmail.com"; + email = "me@ankhers.dev"; github = "ankhers"; + githubId = 750786; name = "Justin Wood"; }; + anpryl = { + email = "anpryl@gmail.com"; + github = "anpryl"; + githubId = 5327697; + name = "Anatolii Prylutskyi"; + }; + anton-dessiatov = { + email = "anton.dessiatov@gmail.com"; + github = "anton-dessiatov"; + githubId = 2873280; + name = "Anton Desyatov"; + }; Anton-Latukha = { email = "anton.latuka+nixpkgs@gmail.com"; github = "Anton-Latukha"; + githubId = 20933385; name = "Anton Latukha"; }; antono = { @@ -359,51 +509,61 @@ antonxy = { email = "anton.schirg@posteo.de"; github = "antonxy"; + githubId = 4194320; name = "Anton Schirg"; }; apeschar = { email = "albert@peschar.net"; github = "apeschar"; + githubId = 122977; name = "Albert Peschar"; }; apeyroux = { email = "alex@px.io"; github = "apeyroux"; + githubId = 1078530; name = "Alexandre Peyroux"; }; ar1a = { email = "aria@ar1as.space"; github = "ar1a"; + githubId = 8436007; name = "Aria Edmonds"; }; arcadio = { email = "arc@well.ox.ac.uk"; github = "arcadio"; + githubId = 56009; name = "Arcadio Rubio García"; }; ardumont = { email = "eniotna.t@gmail.com"; github = "ardumont"; + githubId = 718812; name = "Antoine R. Dumont"; }; aristid = { email = "aristidb@gmail.com"; github = "aristidb"; + githubId = 30712; name = "Aristid Breitkreuz"; }; ariutta = { email = "anders.riutta@gmail.com"; github = "ariutta"; + githubId = 1296771; name = "Anders Riutta"; }; arobyn = { email = "shados@shados.net"; github = "shados"; + githubId = 338268; name = "Alexei Robyn"; }; artemist = { email = "me@artem.ist"; github = "artemist"; + githubId = 1226638; name = "Artemis Tosini"; keys = [{ longkeyid = "rsa4096/0x4FDC96F161E7BA8A"; @@ -413,51 +573,73 @@ artuuge = { email = "artuuge@gmail.com"; github = "artuuge"; + githubId = 10285250; name = "Artur E. Ruuge"; }; ashalkhakov = { email = "artyom.shalkhakov@gmail.com"; github = "ashalkhakov"; + githubId = 1270502; name = "Artyom Shalkhakov"; }; ashgillman = { email = "gillmanash@gmail.com"; github = "ashgillman"; + githubId = 816777; name = "Ashley Gillman"; }; + ashkitten = { + email = "ashlea@protonmail.com"; + github = "ashkitten"; + githubId = 9281956; + name = "ash lea"; + }; aske = { email = "aske@fmap.me"; github = "aske"; + githubId = 869771; name = "Kirill Boltaev"; }; asppsa = { email = "asppsa@gmail.com"; github = "asppsa"; + githubId = 453170; name = "Alastair Pharo"; }; astro = { email = "astro@spaceboyz.net"; github = "astro"; + githubId = 12923; name = "Astro"; }; astsmtl = { email = "astsmtl@yandex.ru"; github = "astsmtl"; + githubId = 2093941; name = "Alexander Tsamutali"; }; asymmetric = { email = "lorenzo@mailbox.org"; github = "asymmetric"; + githubId = 101816; name = "Lorenzo Manacorda"; }; aszlig = { email = "aszlig@nix.build"; github = "aszlig"; + githubId = 192147; name = "aszlig"; }; + athas = { + email = "athas@sigkill.dk"; + github = "athas"; + githubId = 55833; + name = "Troels Henriksen"; + }; atnnn = { email = "etienne@atnnn.com"; github = "atnnn"; + githubId = 706854; name = "Etienne Laurin"; }; auntie = { @@ -468,11 +650,13 @@ avaq = { email = "avaq+nixos@xs4all.nl"; github = "avaq"; + githubId = 1217745; name = "Aldwin Vlasblom"; }; avery = { email = "averyl+nixos@protonmail.com"; github = "AveryLychee"; + githubId = 9147625; name = "Avery Lychee"; }; averelld = { @@ -480,24 +664,44 @@ github = "averelld"; name = "averelld"; }; + avitex = { + email = "theavitex@gmail.com"; + github = "avitex"; + githubId = 5110816; + name = "avitex"; + keys = [{ + longkeyid = "rsa4096/0x8B366C443CABE942"; + fingerprint = "271E 136C 178E 06FA EA4E B854 8B36 6C44 3CAB E942"; + }]; + }; avnik = { email = "avn@avnik.info"; github = "avnik"; + githubId = 153538; name = "Alexander V. Nikolaev"; }; + aw = { + email = "aw-nixos@meterriblecrew.net"; + github = "herrwiese"; + githubId = 206242; + name = "Andreas Wiese"; + }; aycanirican = { email = "iricanaycan@gmail.com"; github = "aycanirican"; + githubId = 135230; name = "Aycan iRiCAN"; }; babariviere = { email = "babariviere@protonmail.com"; github = "babariviere"; + githubId = 12128029; name = "babariviere"; }; bachp = { email = "pascal.bach@nextrem.ch"; github = "bachp"; + githubId = 333807; name = "Pascal Bach"; }; backuitist = { @@ -514,84 +718,118 @@ email = "sivaraman.balaji@gmail.com"; name = "Balaji Sivaraman"; }; + balsoft = { + email = "balsoft75@gmail.com"; + github = "balsoft"; + githubId = 18467667; + name = "Alexander Bantyev"; + }; bandresen = { email = "bandresen@gmail.com"; github = "bandresen"; + githubId = 80325; name = "Benjamin Andresen"; }; baracoder = { email = "baracoder@googlemail.com"; github = "baracoder"; + githubId = 127523; name = "Herman Fries"; }; barrucadu = { email = "mike@barrucadu.co.uk"; github = "barrucadu"; + githubId = 75235; name = "Michael Walker"; }; basvandijk = { email = "v.dijk.bas@gmail.com"; github = "basvandijk"; + githubId = 576355; name = "Bas van Dijk"; }; Baughn = { email = "sveina@gmail.com"; github = "Baughn"; + githubId = 45811; name = "Svein Ove Aas"; }; bb010g = { email = "me@bb010g.com"; github = "bb010g"; + githubId = 340132; name = "Brayden Banks"; }; bbarker = { email = "brandon.barker@gmail.com"; github = "bbarker"; + githubId = 916366; name = "Brandon Elam Barker"; }; + bbigras = { + email = "bigras.bruno@gmail.com"; + github = "bbigras"; + githubId = 24027; + name = "Bruno Bigras"; + }; bcarrell = { email = "brandoncarrell@gmail.com"; github = "bcarrell"; + githubId = 1015044; name = "Brandon Carrell"; }; bcdarwin = { email = "bcdarwin@gmail.com"; github = "bcdarwin"; + githubId = 164148; name = "Ben Darwin"; }; + bdesham = { + email = "benjamin@esham.io"; + github = "bdesham"; + githubId = 354230; + name = "Benjamin Esham"; + }; bdimcheff = { email = "brandon@dimcheff.com"; github = "bdimcheff"; + githubId = 14111; name = "Brandon Dimcheff"; }; bendlas = { email = "herwig@bendlas.net"; github = "bendlas"; + githubId = 214787; name = "Herwig Hochleitner"; }; benley = { email = "benley@gmail.com"; github = "benley"; + githubId = 1432730; name = "Benjamin Staffin"; }; bennofs = { email = "benno.fuenfstueck@gmail.com"; github = "bennofs"; + githubId = 3192959; name = "Benno Fünfstück"; }; benpye = { email = "ben@curlybracket.co.uk"; github = "benpye"; + githubId = 442623; name = "Ben Pye"; }; benwbooth = { email = "benwbooth@gmail.com"; github = "benwbooth"; + githubId = 75972; name = "Ben Booth"; }; berce = { email = "bert.moens@gmail.com"; github = "berce"; + githubId = 10439709; name = "Bert Moens"; }; berdario = { @@ -602,31 +840,43 @@ bergey = { email = "bergey@teallabs.org"; github = "bergey"; + githubId = 251106; name = "Daniel Bergey"; }; + betaboon = { + email = "betaboon@0x80.ninja"; + github = "betaboon"; + githubId = 7346933; + name = "betaboon"; + }; bfortz = { email = "bernard.fortz@gmail.com"; github = "bfortz"; + githubId = 16426882; name = "Bernard Fortz"; }; bgamari = { email = "ben@smart-cactus.org"; github = "bgamari"; + githubId = 1010174; name = "Ben Gamari"; }; bhall = { email = "brendan.j.hall@bath.edu"; github = "brendan-hall"; + githubId = 34919100; name = "Brendan Hall"; }; bhipple = { email = "bhipple@protonmail.com"; github = "bhipple"; + githubId = 2071583; name = "Benjamin Hipple"; }; binarin = { email = "binarin@binarin.ru"; github = "binarin"; + githubId = 185443; name = "Alexey Lebedeff"; }; bjg = { @@ -636,11 +886,13 @@ bjornfor = { email = "bjorn.forsman@gmail.com"; github = "bjornfor"; + githubId = 133602; name = "Bjørn Forsman"; }; bkchr = { email = "nixos@kchr.de"; github = "bkchr"; + githubId = 5718007; name = "Bastian Köcher"; }; bluescreen303 = { @@ -651,21 +903,25 @@ bobakker = { email = "bobakk3r@gmail.com"; github = "bobakker"; + githubId = 10221570; name = "Bo Bakker"; }; bobvanderlinden = { email = "bobvanderlinden@gmail.com"; github = "bobvanderlinden"; + githubId = 6375609; name = "Bob van der Linden"; }; bodil = { email = "nix@bodil.org"; github = "bodil"; + githubId = 17880; name = "Bodil Stokke"; }; boj = { email = "brian@uncannyworks.com"; github = "boj"; + githubId = 50839; name = "Brian Jones"; }; boothead = { @@ -676,165 +932,215 @@ borisbabic = { email = "boris.ivan.babic@gmail.com"; github = "borisbabic"; + githubId = 1743184; name = "Boris Babić"; }; bosu = { email = "boriss@gmail.com"; github = "bosu"; + githubId = 3465841; name = "Boris Sukholitko"; }; bradediger = { email = "brad@bradediger.com"; github = "bradediger"; + githubId = 4621; name = "Brad Ediger"; }; brainrape = { email = "martonboros@gmail.com"; github = "brainrape"; + githubId = 302429; name = "Marton Boros"; }; bramd = { email = "bram@bramd.nl"; github = "bramd"; + githubId = 86652; name = "Bram Duvigneau"; }; braydenjw = { email = "nixpkgs@willenborg.ca"; github = "braydenjw"; + githubId = 2506621; name = "Brayden Willenborg"; }; brian-dawn = { email = "brian.t.dawn@gmail.com"; github = "brian-dawn"; + githubId = 1274409; name = "Brian Dawn"; }; + brianhicks = { + email = "brian@brianthicks.com"; + github = "BrianHicks"; + githubId = 355401; + name = "Brian Hicks"; + }; bricewge = { email = "bricewge@gmail.com"; github = "bricewge"; + githubId = 5525646; name = "Brice Waegeneire"; }; bstrik = { email = "dutchman55@gmx.com"; github = "bstrik"; + githubId = 7716744; name = "Berno Strik"; }; buffet = { email = "niclas@countingsort.com"; github = "buffet"; + githubId = 33751841; name = "Niclas Meyer"; }; bugworm = { email = "bugworm@zoho.com"; github = "bugworm"; + githubId = 7214361; name = "Roman Gerasimenko"; }; bzizou = { email = "Bruno@bzizou.net"; github = "bzizou"; + githubId = 2647566; name = "Bruno Bzeznik"; }; c0bw3b = { email = "c0bw3b@gmail.com"; github = "c0bw3b"; + githubId = 24417923; name = "Renaud"; }; c0deaddict = { email = "josvanbakel@protonmail.com"; github = "c0deaddict"; + githubId = 510553; name = "Jos van Bakel"; }; - c0dehero = { - email = "codehero@nerdpol.ch"; - name = "CodeHero"; - }; calbrecht = { email = "christian.albrecht@mayflower.de"; github = "calbrecht"; + githubId = 1516457; name = "Christian Albrecht"; }; + callahad = { + email = "dan.callahan@gmail.com"; + github = "callahad"; + githubId = 24193; + name = "Dan Callahan"; + }; calvertvl = { email = "calvertvl@gmail.com"; github = "calvertvl"; + githubId = 7435854; name = "Victor Calvert"; }; campadrenalin = { email = "campadrenalin@gmail.com"; github = "campadrenalin"; + githubId = 289492; name = "Philip Horger"; }; candeira = { email = "javier@candeira.com"; github = "candeira"; + githubId = 91694; name = "Javier Candeira"; }; canndrew = { email = "shum@canndrew.org"; github = "canndrew"; + githubId = 5555066; name = "Andrew Cann"; }; carlosdagos = { email = "m@cdagostino.io"; github = "carlosdagos"; + githubId = 686190; name = "Carlos D'Agostino"; }; carlsverre = { email = "accounts@carlsverre.com"; github = "carlsverre"; + githubId = 82591; name = "Carl Sverre"; }; cartr = { email = "carter.sande@duodecima.technology"; github = "cartr"; + githubId = 5241813; name = "Carter Sande"; }; casey = { email = "casey@rodarmor.net"; github = "casey"; + githubId = 1945; name = "Casey Rodarmor"; }; catern = { email = "sbaugh@catern.com"; github = "catern"; + githubId = 5394722; name = "Spencer Baugh"; }; caugner = { email = "nixos@caugner.de"; github = "caugner"; + githubId = 495429; name = "Claas Augner"; }; cbley = { email = "claudio.bley@gmail.com"; github = "avdv"; + githubId = 3471749; name = "Claudio Bley"; }; cdepillabout = { email = "cdep.illabout@gmail.com"; github = "cdepillabout"; + githubId = 64804; name = "Dennis Gosnell"; }; + ceedubs = { + email = "ceedubs@gmail.com"; + github = "ceedubs"; + githubId = 977929; + name = "Cody Allen"; + }; + cf6b88f = { + email = "elmo.todurov@eesti.ee"; + name = "Elmo Todurov"; + }; cfouche = { email = "chaddai.fouche@gmail.com"; github = "Chaddai"; + githubId = 5771456; name = "Chaddaï Fouché"; }; chaduffy = { email = "charles@dyfis.net"; github = "charles-dyfis-net"; + githubId = 22370; name = "Charles Duffy"; }; changlinli = { email = "mail@changlinli.com"; github = "changlinli"; + githubId = 1762540; name = "Changlin Li"; }; CharlesHD = { email = "charleshdespointes@gmail.com"; github = "CharlesHD"; + githubId = 6608071; name = "Charles Huyghues-Despointes"; }; chaoflow = { email = "flo@chaoflow.net"; github = "chaoflow"; + githubId = 89596; name = "Florian Friesdorf"; }; chattered = { @@ -844,101 +1150,127 @@ ChengCat = { email = "yu@cheng.cat"; github = "ChengCat"; + githubId = 33503784; name = "Yucheng Zhang"; }; chessai = { email = "chessai1996@gmail.com"; github = "chessai"; + githubId = 18648043; name = "Daniel Cartwright"; }; chiiruno = { email = "okinan@protonmail.com"; github = "chiiruno"; + githubId = 30435868; name = "Okina Matara"; }; choochootrain = { email = "hurshal@imap.cc"; github = "choochootrain"; + githubId = 803961; name = "Hurshal Patel"; }; chpatrick = { email = "chpatrick@gmail.com"; github = "chpatrick"; + githubId = 832719; name = "Patrick Chilton"; }; chreekat = { email = "b@chreekat.net"; github = "chreekat"; + githubId = 538538; name = "Bryan Richter"; }; chris-martin = { email = "ch.martin@gmail.com"; github = "chris-martin"; + githubId = 399718; name = "Chris Martin"; }; + chrisaw = { + email = "home@chrisaw.com"; + github = "cawilliamson"; + githubId = 1141769; + name = "Christopher A. Williamson"; + }; chrisjefferson = { email = "chris@bubblescope.net"; github = "chrisjefferson"; + githubId = 811527; name = "Christopher Jefferson"; }; chrisrosset = { email = "chris@rosset.org.uk"; github = "chrisrosset"; + githubId = 1103294; name = "Christopher Rosset"; }; christopherpoole = { email = "mail@christopherpoole.net"; github = "christopherpoole"; + githubId = 2245737; name = "Christopher Mark Poole"; }; ciil = { email = "simon@lackerbauer.com"; github = "ciil"; + githubId = 3956062; name = "Simon Lackerbauer"; }; ck3d = { email = "ck3d@gmx.de"; github = "ck3d"; + githubId = 25088352; name = "Christian Kögler"; }; ckampka = { email = "christian@kampka.net"; github = "kampka"; + githubId = 422412; name = "Christian Kampka"; }; ckauhaus = { email = "kc@flyingcircus.io"; github = "ckauhaus"; + githubId = 1448923; name = "Christian Kauhaus"; }; cko = { email = "christine.koppelt@gmail.com"; github = "cko"; + githubId = 68239; name = "Christine Koppelt"; }; clacke = { email = "claes.wallin@greatsinodevelopment.com"; github = "clacke"; + githubId = 199180; name = "Claes Wallin"; }; cleverca22 = { email = "cleverca22@gmail.com"; github = "cleverca22"; + githubId = 848609; name = "Michael Bishop"; }; cmcdragonkai = { email = "roger.qiu@matrix.ai"; github = "cmcdragonkai"; + githubId = 640797; name = "Roger Qiu"; }; cmfwyp = { email = "cmfwyp@riseup.net"; github = "cmfwyp"; + githubId = 20808761; name = "cmfwyp"; }; cobbal = { email = "andrew.cobb@gmail.com"; github = "cobbal"; + githubId = 180339; name = "Andrew Cobb"; }; coconnor = { @@ -949,51 +1281,67 @@ codsl = { email = "codsl@riseup.net"; github = "codsl"; + githubId = 6402559; name = "codsl"; }; codyopel = { email = "codyopel@gmail.com"; github = "codyopel"; + githubId = 5561189; name = "Cody Opel"; }; + cohencyril = { + email = "cyril.cohen@inria.fr"; + github = "CohenCyril"; + githubId = 298705; + name = "Cyril Cohen"; + }; colemickens = { email = "cole.mickens@gmail.com"; github = "colemickens"; + githubId = 327028; name = "Cole Mickens"; }; colescott = { email = "colescottsf@gmail.com"; github = "colescott"; + githubId = 5684605; name = "Cole Scott"; }; copumpkin = { email = "pumpkingod@gmail.com"; github = "copumpkin"; + githubId = 2623; name = "Dan Peebles"; }; corngood = { email = "corngood@gmail.com"; github = "corngood"; + githubId = 3077118; name = "David McFarland"; }; coroa = { email = "jonas@chaoflow.net"; github = "coroa"; + githubId = 2552981; name = "Jonas Hörsch"; }; costrouc = { email = "chris.ostrouchov@gmail.com"; github = "costrouc"; + githubId = 1740337; name = "Chris Ostrouchov"; }; couchemar = { email = "couchemar@yandex.ru"; github = "couchemar"; + githubId = 1573344; name = "Andrey Pavlov"; }; cpages = { email = "page@ruiec.cat"; github = "cpages"; + githubId = 411324; name = "Carles Pagès"; }; cransom = { @@ -1004,71 +1352,105 @@ CrazedProgrammer = { email = "crazedprogrammer@gmail.com"; github = "CrazedProgrammer"; + githubId = 12202789; name = "CrazedProgrammer"; }; cryptix = { email = "cryptix@riseup.net"; github = "cryptix"; + githubId = 111202; name = "Henry Bubert"; }; CrystalGamma = { email = "nixos@crystalgamma.de"; github = "CrystalGamma"; + githubId = 6297001; name = "Jona Stubbe"; }; csingley = { email = "csingley@gmail.com"; github = "csingley"; + githubId = 398996; name = "Christopher Singley"; }; cstrahan = { email = "charles@cstrahan.com"; github = "cstrahan"; + githubId = 143982; name = "Charles Strahan"; }; cwoac = { email = "oliver@codersoffortune.net"; github = "cwoac"; + githubId = 1382175; name = "Oliver Matthews"; }; + cypherpunk2140 = { + email = "stefan.mihaila@pm.me"; + github = "cypherpunk2140"; + githubId = 2217136; + name = "Ștefan D. Mihăilă"; + keys = [ + { longkeyid = "rsa4096/6E68A39BF16A3ECB"; + fingerprint = "CBC9 C7CC 51F0 4A61 3901 C723 6E68 A39B F16A 3ECB"; + } + { longkeyid = "rsa4096/6220AD7846220A52"; + fingerprint = "7EAB 1447 5BBA 7DDE 7092 7276 6220 AD78 4622 0A52"; + } + ]; + }; + dalance = { + email = "dalance@gmail.com"; + github = "dalance"; + githubId = 4331004; + name = "Naoya Hatta"; + }; DamienCassou = { email = "damien@cassou.me"; github = "DamienCassou"; + githubId = 217543; name = "Damien Cassou"; }; danbst = { email = "abcz2.uprola@gmail.com"; github = "danbst"; + githubId = 743057; name = "Danylo Hlynskyi"; }; dancek = { email = "hannu.hartikainen@gmail.com"; github = "dancek"; + githubId = 245394; name = "Hannu Hartikainen"; }; danharaj = { email = "dan@obsidian.systems"; github = "danharaj"; + githubId = 23366017; name = "Dan Haraj"; }; danieldk = { email = "me@danieldk.eu"; github = "danieldk"; + githubId = 49398; name = "Daniël de Kok"; }; danielfullmer = { email = "danielrf12@gmail.com"; github = "danielfullmer"; + githubId = 1298344; name = "Daniel Fullmer"; }; das-g = { email = "nixpkgs@raphael.dasgupta.ch"; github = "das-g"; + githubId = 97746; name = "Raphael Das Gupta"; }; das_j = { email = "janne@hess.ooo"; github = "dasJ"; + githubId = 4971975; name = "Janne Heß"; }; dasuxullebt = { @@ -1078,11 +1460,13 @@ david50407 = { email = "me@davy.tw"; github = "david50407"; + githubId = 841969; name = "David Kuo"; }; davidak = { email = "post@davidak.de"; github = "davidak"; + githubId = 91113; name = "David Kleuker"; }; davidrusu = { @@ -1093,51 +1477,73 @@ davorb = { email = "davor@davor.se"; github = "davorb"; + githubId = 798427; name = "Davor Babic"; }; + dawidsowa = { + email = "dawid_sowa@posteo.net"; + github = "dawidsowa"; + githubId = 49904992; + name = "Dawid Sowa"; + }; dbohdan = { email = "dbohdan@dbohdan.com"; github = "dbohdan"; + githubId = 3179832; name = "D. Bohdan"; }; dbrock = { email = "daniel@brockman.se"; github = "dbrock"; + githubId = 14032; name = "Daniel Brockman"; }; deepfire = { email = "_deepfire@feelingofgreen.ru"; github = "deepfire"; + githubId = 452652; name = "Kosyrev Serge"; }; + delan = { + name = "Delan Azabani"; + email = "delan@azabani.com"; + github = "delan"; + githubId = 465303; + }; delroth = { email = "delroth@gmail.com"; github = "delroth"; + githubId = 202798; name = "Pierre Bourdon"; }; deltaevo = { email = "deltaduartedavid@gmail.com"; github = "DeltaEvo"; + githubId = 8864716; name = "Duarte David"; }; demin-dmitriy = { email = "demindf@gmail.com"; github = "demin-dmitriy"; + githubId = 5503422; name = "Dmitriy Demin"; }; demize = { email = "johannes@kyriasis.com"; github = "kyrias"; + githubId = 2285387; name = "Johannes Löthberg"; }; demyanrogozhin = { email = "demyan.rogozhin@gmail.com"; github = "demyanrogozhin"; + githubId = 62989; name = "Demyan Rogozhin"; }; derchris = { email = "derchris@me.com"; github = "derchrisuk"; + githubId = 706758; name = "Christian Gerbrandt"; }; DerGuteMoritz = { @@ -1148,11 +1554,13 @@ dermetfan = { email = "serverkorken@gmail.com"; github = "dermetfan"; + githubId = 4956158; name = "Robin Stumm"; }; DerTim1 = { email = "tim.digel@active-group.de"; github = "DerTim1"; + githubId = 21953890; name = "Tim Digel"; }; desiderius = { @@ -1163,21 +1571,25 @@ devhell = { email = "\"^\"@regexmail.net"; github = "devhell"; + githubId = 896182; name = "devhell"; }; dezgeg = { email = "tuomas.tynkkynen@iki.fi"; github = "dezgeg"; + githubId = 579369; name = "Tuomas Tynkkynen"; }; dfordivam = { email = "dfordivam+nixpkgs@gmail.com"; github = "dfordivam"; + githubId = 681060; name = "Divam"; }; dfoxfranke = { email = "dfoxfranke@gmail.com"; github = "dfoxfranke"; + githubId = 4708206; name = "Daniel Fox Franke"; }; dgonyeo = { @@ -1185,54 +1597,88 @@ github = "dgonyeo"; name = "Derek Gonyeo"; }; + dhkl = { + email = "david@davidslab.com"; + github = "dhl"; + githubId = 265220; + name = "David Leung"; + }; dipinhora = { email = "dipinhora+github@gmail.com"; github = "dipinhora"; + githubId = 11946442; name = "Dipin Hora"; }; disassembler = { email = "disasm@gmail.com"; github = "disassembler"; + githubId = 651205; name = "Samuel Leathers"; }; + disserman = { + email = "disserman@gmail.com"; + github = "divi255"; + githubId = 40633781; + name = "Sergei S."; + }; dizfer = { email = "david@izquierdofernandez.com"; github = "dizfer"; + githubId = 8852888; name = "David Izquierdo"; }; Dje4321 = { email = "dje4321@gmail.com"; github = "dje4321"; + githubId = 10913120; name = "Dje4321"; }; dmalikov = { email = "malikov.d.y@gmail.com"; github = "dmalikov"; + githubId = 997543; name = "Dmitry Malikov"; }; DmitryTsygankov = { email = "dmitry.tsygankov@gmail.com"; github = "DmitryTsygankov"; + githubId = 425354; name = "Dmitry Tsygankov"; }; dmjio = { email = "djohnson.m@gmail.com"; github = "dmjio"; + githubId = 875324; name = "David Johnson"; }; + dmvianna = { + email = "dmlvianna@gmail.com"; + github = "dmvianna"; + githubId = 1708810; + name = "Daniel Vianna"; + }; dochang = { email = "dochang@gmail.com"; github = "dochang"; + githubId = 129093; name = "Desmond O. Chang"; }; domenkozar = { email = "domen@dev.si"; github = "domenkozar"; + githubId = 126339; name = "Domen Kozar"; }; + doronbehar = { + email = "me@doronbehar.com"; + github = "doronbehar"; + githubId = 10998835; + name = "Doron Behar"; + }; dotlambda = { email = "rschuetz17@gmail.com"; github = "dotlambda"; + githubId = 6806011; name = "Robert Schütz"; }; doublec = { @@ -1243,16 +1689,19 @@ dpaetzel = { email = "david.a.paetzel@gmail.com"; github = "dpaetzel"; + githubId = 974130; name = "David Pätzel"; }; dpflug = { email = "david@pflug.email"; github = "dpflug"; + githubId = 108501; name = "David Pflug"; }; drets = { email = "dmitryrets@gmail.com"; github = "drets"; + githubId = 6199462; name = "Dmytro Rets"; }; drewkett = { @@ -1262,56 +1711,92 @@ dsferruzza = { email = "david.sferruzza@gmail.com"; github = "dsferruzza"; + githubId = 1931963; name = "David Sferruzza"; }; dtzWill = { - email = "nix@wdtz.org"; + email = "w@wdtz.org"; github = "dtzWill"; + githubId = 817330; name = "Will Dietz"; + keys = [{ + longkeyid = "rsa4096/0xFD42C7D0D41494C8"; + fingerprint = "389A 78CB CD88 5E0C 4701 DEB9 FD42 C7D0 D414 94C8"; + }]; + }; + dump_stack = { + email = "root@dumpstack.io"; + github = "jollheef"; + githubId = 1749762; + name = "Mikhail Klementev"; + keys = [{ + longkeyid = "rsa4096/0x1525585D1B43C62A"; + fingerprint = "5DD7 C6F6 0630 F08E DAE7 4711 1525 585D 1B43 C62A"; + }]; + }; + dxf = { + email = "dingxiangfei2009@gmail.com"; + github = "dingxiangfei2009"; + name = "Ding Xiang Fei"; }; dysinger = { email = "tim@dysinger.net"; github = "dysinger"; + githubId = 447; name = "Tim Dysinger"; }; dywedir = { - email = "dywedir@protonmail.ch"; + email = "dywedir@gra.red"; github = "dywedir"; + githubId = 399312; name = "Vladyslav M."; }; dzabraev = { email = "dzabraew@gmail.com"; github = "dzabraev"; + githubId = 15128988; name = "Maksim Dzabraev"; }; e-user = { email = "nixos@sodosopa.io"; github = "e-user"; + githubId = 93086; name = "Alexander Kahl"; }; eadwu = { email = "edmund.wu@protonmail.com"; github = "eadwu"; + githubId = 22758444; name = "Edmund Wu"; }; + ealasu = { + email = "emanuel.alasu@gmail.com"; + github = "ealasu"; + githubId = 1362096; + name = "Emanuel Alasu"; + }; eamsden = { email = "edward@blackriversoft.com"; github = "eamsden"; + githubId = 54573; name = "Edward Amsden"; }; earldouglas = { email = "james@earldouglas.com"; github = "earldouglas"; + githubId = 424946; name = "James Earl Douglas"; }; earvstedt = { email = "erik.arvstedt@gmail.com"; github = "erikarvstedt"; + githubId = 36110478; name = "Erik Arvstedt"; }; ebzzry = { email = "ebzzry@ebzzry.io"; github = "ebzzry"; + githubId = 7875; name = "Rommel Martinez"; }; edanaher = { @@ -1322,41 +1807,61 @@ edef = { email = "edef@edef.eu"; github = "edef1c"; + githubId = 50854; name = "edef"; }; embr = { email = "hi@liclac.eu"; github = "liclac"; + githubId = 428026; name = "embr"; }; + emily = { + email = "nixpkgs@emily.moe"; + github = "emilazy"; + githubId = 18535642; + name = "Emily"; + }; + endocrimes = { + email = "dani@builds.terrible.systems"; + github = "endocrimes"; + githubId = 1330683; + name = "Danielle Lancashire"; + }; ederoyd46 = { email = "matt@ederoyd.co.uk"; github = "ederoyd46"; + githubId = 119483; name = "Matthew Brown"; }; eduarrrd = { email = "e.bachmakov@gmail.com"; github = "eduarrrd"; + githubId = 1181393; name = "Eduard Bachmakov"; }; edude03 = { email = "michael@melenion.com"; github = "edude03"; + githubId = 494483; name = "Michael Francis"; }; edwtjo = { email = "ed@cflags.cc"; github = "edwtjo"; + githubId = 54799; name = "Edward Tjörnhammar"; }; eelco = { email = "eelco.dolstra@logicblox.com"; github = "edolstra"; + githubId = 1148549; name = "Eelco Dolstra"; }; ehegnes = { email = "eric.hegnes@gmail.com"; github = "ehegnes"; + githubId = 884970; name = "Eric Hegnes"; }; ehmry = { @@ -1366,56 +1871,67 @@ eikek = { email = "eike.kettner@posteo.de"; github = "eikek"; + githubId = 701128; name = "Eike Kettner"; }; ekleog = { email = "leo@gaspard.io"; github = "ekleog"; + githubId = 411447; name = "Leo Gaspard"; }; elasticdog = { email = "aaron@elasticdog.com"; github = "elasticdog"; + githubId = 4742; name = "Aaron Bull Schaefer"; }; eleanor = { email = "dejan@proteansec.com"; github = "proteansec"; + githubId = 1753498; name = "Dejan Lukan"; }; eliasp = { email = "mail@eliasprobst.eu"; github = "eliasp"; + githubId = 48491; name = "Elias Probst"; }; elijahcaine = { email = "elijahcainemv@gmail.com"; github = "pop"; + githubId = 1897147; name = "Elijah Caine"; }; elitak = { email = "elitak@gmail.com"; github = "elitak"; + githubId = 769073; name = "Eric Litak"; }; ellis = { email = "nixos@ellisw.net"; github = "ellis"; + githubId = 97852; name = "Ellis Whitehead"; }; elohmeier = { email = "elo-nixos@nerdworks.de"; github = "elohmeier"; + githubId = 2536303; name = "Enno Lohmeier"; }; elseym = { email = "elseym@me.com"; github = "elseym"; + githubId = 907478; name = "Simon Waibl"; }; elvishjerricco = { email = "elvishjerricco@gmail.com"; github = "ElvishJerricco"; + githubId = 1365692; name = "Will Fancher"; }; emmanuelrosa = { @@ -1426,16 +1942,25 @@ endgame = { email = "jack@jackkelly.name"; github = "endgame"; + githubId = 231483; name = "Jack Kelly"; }; + enorris = { + name = "Eric Norris"; + email = "erictnorris@gmail.com"; + github = "ericnorris"; + githubId = 1906605; + }; enzime = { email = "enzime@users.noreply.github.com"; github = "enzime"; + githubId = 10492681; name = "Michael Hoang"; }; eperuffo = { email = "info@emanueleperuffo.com"; github = "emanueleperuffo"; + githubId = 5085029; name = "Emanuele Peruffo"; }; epitrochoid = { @@ -1445,11 +1970,19 @@ eqyiel = { email = "ruben@maher.fyi"; github = "eqyiel"; + githubId = 3422442; name = "Ruben Maher"; }; + eraserhd = { + email = "jason.m.felice@gmail.com"; + github = "eraserhd"; + githubId = 147284; + name = "Jason Felice"; + }; ericbmerritt = { email = "eric@afiniate.com"; github = "ericbmerritt"; + githubId = 4828; name = "Eric Merritt"; }; ericsagnes = { @@ -1460,11 +1993,13 @@ ericson2314 = { email = "John.Ericson@Obsidian.Systems"; github = "ericson2314"; + githubId = 1055245; name = "John Ericson"; }; erictapen = { email = "justin.humm@posteo.de"; github = "erictapen"; + githubId = 11532355; name = "Justin Humm"; keys = [{ longkeyid = "rsa4096/0x438871E000AA178E"; @@ -1474,11 +2009,13 @@ erikryb = { email = "erik.rybakken@math.ntnu.no"; github = "erikryb"; + githubId = 3787281; name = "Erik Rybakken"; }; erosennin = { email = "ag@sologoc.com"; github = "erosennin"; + githubId = 1583484; name = "Andrey Golovizin"; }; ertes = { @@ -1493,65 +2030,83 @@ ethercrow = { email = "ethercrow@gmail.com"; github = "ethercrow"; + githubId = 222467; name = "Dmitry Ivanov"; }; etu = { email = "elis@hirwing.se"; github = "etu"; + githubId = 461970; name = "Elis Hirwing"; keys = [{ longkeyid = "rsa4096/0xD57EFA625C9A925F"; fingerprint = "67FE 98F2 8C44 CF22 1828 E12F D57E FA62 5C9A 925F"; }]; }; + evanjs = { + email = "evanjsx@gmail.com"; + github = "evanjs"; + githubId = 1847524; + name = "Evan Stoll"; + }; evck = { email = "eric@evenchick.com"; github = "ericevenchick"; + githubId = 195032; name = "Eric Evenchick"; }; exfalso = { email = "0slemi0@gmail.com"; github = "exfalso"; + githubId = 1042674; name = "Andras Slemmer"; }; exi = { email = "nixos@reckling.org"; github = "exi"; + githubId = 449463; name = "Reno Reckling"; }; exlevan = { email = "exlevan@gmail.com"; github = "exlevan"; + githubId = 873530; name = "Alexey Levan"; }; expipiplus1 = { email = "nix@monoid.al"; github = "expipiplus1"; + githubId = 857308; name = "Joe Hermaszewski"; }; eyjhb = { email = "eyjhbb@gmail.com"; github = "eyJhb"; + githubId = 25955146; name = "eyJhb"; }; f--t = { email = "git@f-t.me"; github = "f--t"; + githubId = 2817965; name = "f--t"; }; f-breidenstein = { email = "mail@felixbreidenstein.de"; - github = "f-breidenstein"; + github = "fleaz"; + githubId = 2489598; name = "Felix Breidenstein"; }; fadenb = { email = "tristan.helmich+nixos@gmail.com"; github = "fadenb"; + githubId = 878822; name = "Tristan Helmich"; }; falsifian = { email = "james.cook@utoronto.ca"; github = "falsifian"; + githubId = 225893; name = "James Cook"; }; fare = { @@ -1559,76 +2114,129 @@ github = "fare"; name = "Francois-Rene Rideau"; }; + farlion = { + email = "florian.peter@gmx.at"; + github = "workflow"; + githubId = 1276854; + name = "Florian Peter"; + }; fdns = { email = "fdns02@gmail.com"; github = "fdns"; name = "Felipe Espinoza"; }; + ffinkdevs = { + email = "fink@h0st.space"; + github = "ffinkdevs"; + githubId = 45924649; + name = "Fabian Fink"; + }; fgaz = { email = "fgaz@fgaz.me"; github = "fgaz"; + githubId = 8182846; name = "Francesco Gazzetta"; }; FireyFly = { email = "nix@firefly.nu"; github = "FireyFly"; + githubId = 415760; name = "Jonas Höglund"; }; + flexw = { + email = "felix.weilbach@t-online.de"; + github = "FlexW"; + githubId = 19961516; + name = "Felix Weilbach"; + }; flokli = { email = "flokli@flokli.de"; github = "flokli"; + githubId = 183879; name = "Florian Klink"; }; FlorianFranzen = { email = "Florian.Franzen@gmail.com"; github = "FlorianFranzen"; + githubId = 781077; name = "Florian Franzen"; }; florianjacob = { email = "projects+nixos@florianjacob.de"; github = "florianjacob"; + githubId = 1109959; name = "Florian Jacob"; }; flosse = { email = "mail@markus-kohlhase.de"; github = "flosse"; + githubId = 276043; name = "Markus Kohlhase"; }; fluffynukeit = { email = "dan@fluffynukeit.com"; github = "fluffynukeit"; + githubId = 844574; name = "Daniel Austin"; }; fmthoma = { email = "f.m.thoma@googlemail.com"; github = "fmthoma"; + githubId = 5918766; name = "Franz Thoma"; }; forkk = { email = "forkk@forkk.net"; github = "forkk"; + githubId = 1300078; name = "Andrew Okin"; }; fornever = { email = "friedrich@fornever.me"; github = "fornever"; + githubId = 92793; name = "Friedrich von Never"; }; fpletz = { email = "fpletz@fnordicwalking.de"; github = "fpletz"; + githubId = 114159; 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"; + githubId = 84968; name = "Florian Paul Schmidt"; }; + + fragamus = { + email = "innovative.engineer@gmail.com"; + github = "fragamus"; + name = "Michael Gough"; + }; + + fredeb = { + email = "im@fredeb.dev"; + github = "fredeeb"; + githubId = 7551358; + name = "Frede Emil"; + }; freepotion = { - email = "freepotion@protonmail.com"; + email = "free.potion@yandex.ru"; github = "freepotion"; + githubId = 42352817; name = "Free Potion"; }; + freezeboy = { + email = "freezeboy@users.noreply.github.com"; + github = "freezeboy"; + name = "freezeboy"; + }; Fresheyeball = { email = "fresheyeball@gmail.com"; github = "fresheyeball"; @@ -1637,31 +2245,37 @@ fridh = { email = "fridh@fridh.nl"; github = "fridh"; + githubId = 2129135; name = "Frederik Rietdijk"; }; frlan = { email = "frank@frank.uvena.de"; github = "frlan"; + githubId = 1010248; name = "Frank Lanitz"; }; fro_ozen = { email = "fro_ozen@gmx.de"; github = "froozen"; + githubId = 1943632; name = "fro_ozen"; }; frontsideair = { email = "photonia@gmail.com"; github = "frontsideair"; + githubId = 868283; name = "Fatih Altinok"; }; ftrvxmtrx = { email = "ftrvxmtrx@gmail.com"; github = "ftrvxmtrx"; + githubId = 248148; name = "Siarhei Zirukin"; }; fuerbringer = { email = "severin@fuerbringer.info"; github = "fuerbringer"; + githubId = 10528737; name = "Severin Fürbringer"; }; funfunctor = { @@ -1671,16 +2285,19 @@ fusion809 = { email = "brentonhorne77@gmail.com"; github = "fusion809"; + githubId = 4717341; name = "Brenton Horne"; }; fuuzetsu = { email = "fuuzetsu@fuuzetsu.co.uk"; github = "fuuzetsu"; + githubId = 893115; name = "Mateusz Kowalczyk"; }; fuwa = { email = "echowss@gmail.com"; github = "fuwa0529"; + githubId = 40521440; name = "Haruka Akiyama"; }; fuzzy-id = { @@ -1690,16 +2307,19 @@ fxfactorial = { email = "edgar.factorial@gmail.com"; github = "fxfactorial"; + githubId = 3036816; name = "Edgar Aroutiounian"; }; gabesoft = { email = "gabesoft@gmail.com"; github = "gabesoft"; + githubId = 606000; name = "Gabriel Adomnicai"; }; gal_bolle = { email = "florent.becker@ens-lyon.org"; github = "FlorentBecker"; + githubId = 7047019; name = "Florent Becker"; }; garbas = { @@ -1710,6 +2330,7 @@ garrison = { email = "jim@garrison.cc"; github = "garrison"; + githubId = 91987; name = "Jim Garrison"; }; gavin = { @@ -1720,81 +2341,109 @@ gebner = { email = "gebner@gebner.org"; github = "gebner"; + githubId = 313929; name = "Gabriel Ebner"; }; geistesk = { email = "post@0x21.biz"; github = "geistesk"; + githubId = 8402811; name = "Alvar Penning"; }; genesis = { email = "ronan@aimao.org"; github = "bignaux"; + githubId = 149484; name = "Ronan Bignaux"; }; georgewhewell = { email = "georgerw@gmail.com"; github = "georgewhewell"; + githubId = 1176131; name = "George Whewell"; }; gerschtli = { email = "tobias.happ@gmx.de"; github = "Gerschtli"; + githubId = 10353047; name = "Tobias Happ"; }; + ggpeti = { + email = "ggpeti@gmail.com"; + github = "ggpeti"; + githubId = 3217744; + name = "Peter Ferenczy"; + }; gilligan = { email = "tobias.pflug@gmail.com"; github = "gilligan"; + githubId = 27668; name = "Tobias Pflug"; }; giogadi = { email = "lgtorres42@gmail.com"; github = "giogadi"; + githubId = 1713676; name = "Luis G. Torres"; }; gleber = { email = "gleber.p@gmail.com"; github = "gleber"; + githubId = 33185; name = "Gleb Peregud"; }; glenns = { email = "glenn.searby@gmail.com"; github = "glenns"; + githubId = 615606; name = "Glenn Searby"; }; + gloaming = { + email = "ch9871@gmail.com"; + github = "gloaming"; + githubId = 10156748; + name = "Craig Hall"; + }; globin = { email = "mail@glob.in"; github = "globin"; + githubId = 1447245; name = "Robin Gloster"; }; gnidorah = { email = "gnidorah@yandex.com"; github = "gnidorah"; + githubId = 12064730; name = "Alex Ivanov"; }; goibhniu = { email = "cillian.deroiste@gmail.com"; github = "cillianderoiste"; + githubId = 643494; name = "Cillian de Róiste"; }; Gonzih = { email = "gonzih@gmail.com"; github = "Gonzih"; + githubId = 266275; name = "Max Gonzih"; }; goodrone = { email = "goodrone@gmail.com"; github = "goodrone"; + githubId = 1621335; name = "Andrew Trachenko"; }; gpyh = { email = "yacine.hmito@gmail.com"; github = "yacinehmito"; + githubId = 6893840; name = "Yacine Hmito"; }; grahamc = { email = "graham@grahamc.com"; github = "grahamc"; + githubId = 76716; name = "Graham Christensen"; }; grburst = { @@ -1805,6 +2454,7 @@ greydot = { email = "lanablack@amok.cc"; github = "greydot"; + githubId = 7385287; name = "Lana Black"; }; gridaphobe = { @@ -1815,101 +2465,127 @@ guibert = { email = "david.guibert@gmail.com"; github = "dguibert"; + githubId = 1178864; name = "David Guibert"; }; groodt = { email = "groodt@gmail.com"; github = "groodt"; + githubId = 343415; name = "Greg Roodt"; }; guibou = { email = "guillaum.bouchard@gmail.com"; github = "guibou"; + githubId = 9705357; name = "Guillaume Bouchard"; }; guillaumekoenig = { email = "guillaume.edward.koenig@gmail.com"; github = "guillaumekoenig"; + githubId = 10654650; name = "Guillaume Koenig"; }; guyonvarch = { email = "joris@guyonvarch.me"; github = "guyonvarch"; + githubId = 6768842; name = "Joris Guyonvarch"; }; hakuch = { email = "hakuch@gmail.com"; github = "hakuch"; + githubId = 1498782; name = "Jesse Haber-Kucharsky"; }; hamhut1066 = { email = "github@hamhut1066.com"; - github = "hamhut1066"; + github = "moredhel"; + githubId = 1742172; name = "Hamish Hutchings"; }; hansjoergschurr = { email = "commits@schurr.at"; github = "hansjoergschurr"; + githubId = 9850776; name = "Hans-Jörg Schurr"; }; HaoZeke = { email = "r95g10@gmail.com"; github = "haozeke"; + githubId = 4336207; name = "Rohit Goswami"; }; haslersn = { email = "haslersn@fius.informatik.uni-stuttgart.de"; github = "haslersn"; + githubId = 33969028; name = "Sebastian Hasler"; }; havvy = { email = "ryan.havvy@gmail.com"; github = "havvy"; + githubId = 731722; name = "Ryan Scheel"; }; hax404 = { email = "hax404foogit@hax404.de"; github = "hax404"; + githubId = 1379411; name = "Georg Haas"; }; hbunke = { email = "bunke.hendrik@gmail.com"; github = "hbunke"; + githubId = 1768793; name = "Hendrik Bunke"; }; hce = { email = "hc@hcesperer.org"; github = "hce"; + githubId = 147689; name = "Hans-Christian Esperer"; }; hectorj = { email = "hector.jusforgues+nixos@gmail.com"; github = "hectorj"; + githubId = 2427959; name = "Hector Jusforgues"; }; hedning = { email = "torhedinbronner@gmail.com"; github = "hedning"; + githubId = 71978; name = "Tor Hedin Brønner"; }; heel = { email = "parizhskiy@gmail.com"; github = "heel"; + githubId = 287769; name = "Sergii Paryzhskyi"; }; helkafen = { email = "arnaudpourseb@gmail.com"; github = "Helkafen"; + githubId = 2405974; name = "Sébastian Méric de Bellefon"; }; henrytill = { email = "henrytill@gmail.com"; github = "henrytill"; + githubId = 6430643; name = "Henry Till"; }; + herberteuler = { + email = "herberteuler@gmail.com"; + github = "herberteuler"; + githubId = 1401179; + name = "Guanpeng Xu"; + }; hhm = { email = "heehooman+nixpkgs@gmail.com"; github = "hhm0"; + githubId = 3656888; name = "hhm"; }; hinton = { @@ -1919,125 +2595,164 @@ hlolli = { email = "hlolli@gmail.com"; github = "hlolli"; + githubId = 6074754; name = "Hlodver Sigurdsson"; }; + hugoreeves = { + email = "hugolreeves@gmail.com"; + github = "hugoreeves"; + githubId = 20039091; + name = "Hugo Reeves"; + }; hodapp = { email = "hodapp87@gmail.com"; github = "Hodapp87"; + githubId = 896431; name = "Chris Hodapp"; }; hrdinka = { email = "c.nix@hrdinka.at"; github = "hrdinka"; + githubId = 1436960; name = "Christoph Hrdinka"; }; hschaeidt = { email = "he.schaeidt@gmail.com"; github = "hschaeidt"; + githubId = 1614615; name = "Hendrik Schaeidt"; }; htr = { email = "hugo@linux.com"; github = "htr"; + githubId = 39689; name = "Hugo Tavares Reis"; }; hyphon81 = { email = "zero812n@gmail.com"; github = "hyphon81"; + githubId = 12491746; name = "Masato Yonekawa"; }; iand675 = { email = "ian@iankduncan.com"; github = "iand675"; + githubId = 69209; name = "Ian Duncan"; }; ianwookim = { email = "ianwookim@gmail.com"; github = "wavewave"; + githubId = 1031119; name = "Ian-Woo Kim"; }; iblech = { email = "iblech@speicherleck.de"; github = "iblech"; + githubId = 3661115; name = "Ingo Blechschmidt"; }; idontgetoutmuch = { email = "dominic@steinitz.org"; github = "idontgetoutmuch"; + githubId = 1550265; name = "Dominic Steinitz"; }; igsha = { email = "igor.sharonov@gmail.com"; github = "igsha"; + githubId = 5345170; name = "Igor Sharonov"; }; iimog = { email = "iimog@iimog.org"; github = "iimog"; + githubId = 7403236; name = "Markus J. Ankenbrand"; }; ikervagyok = { email = "ikervagyok@gmail.com"; github = "ikervagyok"; + githubId = 7481521; name = "Balázs Lengyel"; }; ilikeavocadoes = { email = "ilikeavocadoes@hush.com"; github = "ilikeavocadoes"; + githubId = 36193715; name = "Lassi Haasio"; }; illegalprime = { email = "themichaeleden@gmail.com"; github = "illegalprime"; + githubId = 4401220; name = "Michael Eden"; }; ilya-kolpakov = { email = "ilya.kolpakov@gmail.com"; github = "ilya-kolpakov"; + githubId = 592849; name = "Ilya Kolpakov"; }; imalison = { email = "IvanMalison@gmail.com"; github = "IvanMalison"; + githubId = 1246619; name = "Ivan Malison"; }; imalsogreg = { email = "imalsogreg@gmail.com"; github = "imalsogreg"; + githubId = 993484; name = "Greg Hale"; }; imuli = { email = "i@imu.li"; github = "imuli"; + githubId = 4085046; name = "Imuli"; }; infinisil = { - email = "infinisil@icloud.com"; + email = "contact@infinisil.com"; github = "infinisil"; name = "Silvan Mosberger"; }; ingenieroariel = { email = "ariel@nunez.co"; github = "ingenieroariel"; + githubId = 54999; name = "Ariel Nunez"; }; ironpinguin = { email = "michele@catalano.de"; github = "ironpinguin"; + githubId = 137306; name = "Michele Catalano"; }; ivan = { email = "ivan@ludios.org"; github = "ivan"; + githubId = 4458; name = "Ivan Kozik"; }; ivan-tkatchev = { email = "tkatchev@gmail.com"; name = "Ivan Tkatchev"; }; + ivanbrennan = { + email = "ivan.brennan@gmail.com"; + github = "ivanbrennan"; + githubId = 1672874; + name = "Ivan Brennan"; + keys = [{ + longkeyid = "rsa4096/0x79C3C47DC652EA54"; + fingerprint = "7311 2700 AB4F 4CDF C68C F6A5 79C3 C47D C652 EA54"; + }]; + }; ivegotasthma = { email = "ivegotasthma@protonmail.com"; github = "ivegotasthma"; + githubId = 2437675; name = "John Doe"; keys = [{ longkeyid = "rsa4096/09AC52AEA87817A4"; @@ -2047,68 +2762,97 @@ ixmatus = { email = "parnell@digitalmentat.com"; github = "ixmatus"; + githubId = 30714; name = "Parnell Springmeyer"; }; ixxie = { email = "matan@fluxcraft.net"; github = "ixxie"; + githubId = 20320695; name = "Matan Bendix Shenhav"; }; izorkin = { email = "Izorkin@gmail.com"; github = "izorkin"; + githubId = 26877687; name = "Yurii Izorkin"; }; + jasoncarr = { + email = "jcarr250@gmail.com"; + github = "jasoncarr0"; + name = "Jason Carr"; + }; j-keck = { email = "jhyphenkeck@gmail.com"; github = "j-keck"; + githubId = 3081095; name = "Jürgen Keck"; }; + j03 = { + email = "github@johannesloetzsch.de"; + github = "johannesloetzsch"; + name = "Johannes Lötzsch"; + }; jagajaga = { email = "ars.seroka@gmail.com"; github = "jagajaga"; + githubId = 2179419; name = "Arseniy Seroka"; }; jakelogemann = { email = "jake.logemann@gmail.com"; github = "jakelogemann"; + githubId = 820715; name = "Jake Logemann"; }; jakewaksbaum = { email = "jake.waksbaum@gmail.com"; github = "jbaum98"; + githubId = 5283991; name = "Jake Waksbaum"; }; jammerful = { email = "jammerful@gmail.com"; github = "jammerful"; + githubId = 20176306; name = "jammerful"; }; jansol = { email = "jan.solanti@paivola.fi"; github = "jansol"; + githubId = 2588851; name = "Jan Solanti"; }; javaguirre = { email = "contacto@javaguirre.net"; github = "javaguirre"; + githubId = 488556; name = "Javier Aguirre"; }; jb55 = { email = "jb55@jb55.com"; github = "jb55"; + githubId = 45598; name = "William Casarin"; }; jbedo = { email = "cu@cua0.org"; github = "jbedo"; + githubId = 372912; name = "Justin Bedő"; }; jbgi = { email = "jb@giraudeau.info"; github = "jbgi"; + githubId = 221929; name = "Jean-Baptiste Giraudeau"; }; + jchw = { + email = "johnwchadwick@gmail.com"; + github = "jchv"; + githubId = 938744; + name = "John Chadwick"; + }; jcumming = { email = "jack@mudshark.org"; name = "Jack Cummings"; @@ -2116,31 +2860,46 @@ jD91mZM2 = { email = "me@krake.one"; github = "jD91mZM2"; + githubId = 12830969; name = "jD91mZM2"; }; jdagilliland = { email = "jdagilliland@gmail.com"; github = "jdagilliland"; + githubId = 1383440; name = "Jason Gilliland"; }; + jdanek = { + email = "jdanek@redhat.com"; + github = "jdanekrh"; + keys = [{ + longkeyid = "ed25519/0x69275CADF15D872E"; + fingerprint = "D4A6 F051 AD58 2E7C BCED 5439 6927 5CAD F15D 872E"; + }]; + name = "Jiri Daněk"; + }; jdehaas = { email = "qqlq@nullptr.club"; github = "jeroendehaas"; + githubId = 117874; name = "Jeroen de Haas"; }; jefdaj = { email = "jefdaj@gmail.com"; github = "jefdaj"; + githubId = 1198065; name = "Jeffrey David Johnson"; }; jensbin = { email = "jensbin+git@pm.me"; github = "jensbin"; + githubId = 1608697; name = "Jens Binkert"; }; jerith666 = { email = "github@matt.mchenryfamily.org"; github = "jerith666"; + githubId = 854319; name = "Matt McHenry"; }; jeschli = { @@ -2151,6 +2910,7 @@ jethro = { email = "jethrokuan95@gmail.com"; github = "jethrokuan"; + githubId = 1667473; name = "Jethro Kuan"; }; jfb = { @@ -2161,75 +2921,85 @@ jflanglois = { email = "yourstruly@julienlanglois.me"; github = "jflanglois"; + githubId = 18501; name = "Julien Langlois"; }; jfrankenau = { email = "johannes@frankenau.net"; github = "jfrankenau"; + githubId = 2736480; name = "Johannes Frankenau"; }; jgeerds = { email = "jascha@geerds.org"; github = "jgeerds"; + githubId = 1473909; name = "Jascha Geerds"; }; jgertm = { email = "jger.tm@gmail.com"; github = "jgertm"; + githubId = 6616642; name = "Tim Jaeger"; }; jgillich = { email = "jakob@gillich.me"; github = "jgillich"; + githubId = 347965; name = "Jakob Gillich"; }; jglukasik = { email = "joseph@jgl.me"; github = "jglukasik"; + githubId = 6445082; name = "Joseph Lukasik"; }; jhhuh = { email = "jhhuh.note@gmail.com"; github = "jhhuh"; + githubId = 5843245; name = "Ji-Haeng Huh"; }; jhillyerd = { email = "james+nixos@hillyerd.com"; github = "jhillyerd"; + githubId = 2502736; name = "James Hillyerd"; }; jirkamarsik = { email = "jiri.marsik89@gmail.com"; github = "jirkamarsik"; + githubId = 184898; name = "Jirka Marsik"; }; jlesquembre = { email = "jl@lafuente.me"; github = "jlesquembre"; + githubId = 1058504; name = "José Luis Lafuente"; }; jluttine = { email = "jaakko.luttinen@iki.fi"; github = "jluttine"; + githubId = 2195834; name = "Jaakko Luttinen"; }; jmagnusj = { email = "jmagnusj@gmail.com"; github = "magnusjonsson"; + githubId = 8900; name = "Johan Magnus Jonsson"; }; jmettes = { email = "jonathan@jmettes.com"; github = "jmettes"; + githubId = 587870; name = "Jonathan Mettes"; }; - Jo = { - email = "0x4A6F@shackspace.de"; - name = "Joachim Ernst"; - }; joachifm = { email = "joachifm@fastmail.fm"; github = "joachifm"; + githubId = 41977; name = "Joachim Fasting"; }; joamaki = { @@ -2240,110 +3010,175 @@ joelburget = { email = "joelburget@gmail.com"; github = "joelburget"; + githubId = 310981; name = "Joel Burget"; }; joelmo = { email = "joel.moberg@gmail.com"; github = "joelmo"; + githubId = 336631; name = "Joel Moberg"; }; joelteon = { email = "me@joelt.io"; name = "Joel Taylor"; }; + joepie91 = { + email = "admin@cryto.net"; + name = "Sven Slootweg"; + github = "joepie91"; + }; + joesalisbury = { + email = "salisbury.joseph@gmail.com"; + github = "JosephSalisbury"; + name = "Joe Salisbury"; + }; johanot = { email = "write@ownrisk.dk"; github = "johanot"; + githubId = 998763; name = "Johan Thomsen"; }; johbo = { email = "johannes@bornhold.name"; github = "johbo"; + githubId = 117805; name = "Johannes Bornhold"; }; johnazoidberg = { email = "git@danielschaefer.me"; github = "johnazoidberg"; + githubId = 5307138; name = "Daniel Schäfer"; }; johnchildren = { email = "john.a.children@gmail.com"; github = "johnchildren"; + githubId = 32305209; name = "John Children"; }; johnmh = { email = "johnmh@openblox.org"; github = "johnmh"; + githubId = 2576152; name = "John M. Harris, Jr."; }; johnramsden = { email = "johnramsden@riseup.net"; github = "johnramsden"; + githubId = 8735102; name = "John Ramsden"; }; joko = { email = "ioannis.koutras@gmail.com"; github = "jokogr"; + githubId = 1252547; + 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 = { email = "jon@jonafato.com"; github = "jonafato"; + githubId = 392720; name = "Jon Banafato"; }; jonathanreeve = { email = "jon.reeve@gmail.com"; github = "JonathanReeve"; + githubId = 1843676; name = "Jonathan Reeve"; }; joncojonathan = { email = "joncojonathan@gmail.com"; github = "joncojonathan"; + githubId = 11414454; name = "Jonathan Haddock"; }; + jonringer = { + email = "jonringer117@gmail.com"; + github = "jonringer"; + githubId = 7673602; + name = "Jonathan Ringer"; + }; + jorise = { + email = "info@jorisengbers.nl"; + github = "JorisE"; + githubId = 1767283; + name = "Joris Engbers"; + }; jorsn = { name = "Johannes Rosenberger"; email = "johannes@jorsn.eu"; github = "jorsn"; + githubId = 4646725; }; jpdoyle = { email = "joethedoyle@gmail.com"; github = "jpdoyle"; + githubId = 1918771; name = "Joe Doyle"; }; jpierre03 = { email = "nix@prunetwork.fr"; github = "jpierre03"; + githubId = 954536; name = "Jean-Pierre PRUNARET"; }; jpotier = { email = "jpo.contributes.to.nixos@marvid.fr"; github = "jpotier"; + githubId = 752510; name = "Martin Potier"; }; jqueiroz = { email = "nixos@johnjq.com"; github = "jqueiroz"; + githubId = 4968215; name = "Jonathan Queiroz"; }; jraygauthier = { email = "jraygauthier@gmail.com"; github = "jraygauthier"; + githubId = 4611077; name = "Raymond Gauthier"; }; + jtobin = { + email = "jared@jtobin.io"; + github = "jtobin"; + githubId = 1414434; + name = "Jared Tobin"; + }; jtojnar = { email = "jtojnar@gmail.com"; github = "jtojnar"; + githubId = 705123; name = "Jan Tojnar"; }; + juaningan = { + email = "juaningan@gmail.com"; + github = "juaningan"; + githubId = 810075; + name = "Juan Rodal"; + }; juliendehos = { email = "dehos@lisic.univ-littoral.fr"; github = "juliendehos"; name = "Julien Dehos"; }; + justinwoo = { + email = "moomoowoo@gmail.com"; + github = "justinwoo"; + githubId = 2396926; + name = "Justin Woo"; + }; jwiegley = { email = "johnw@newartisans.com"; github = "jwiegley"; + githubId = 8460; name = "John Wiegley"; }; jwilberding = { @@ -2358,21 +3193,25 @@ jzellner = { email = "jeffz@eml.cc"; github = "sofuture"; + githubId = 66669; name = "Jeff Zellner"; }; kaiha = { email = "kai.harries@gmail.com"; github = "kaiha"; + githubId = 6544084; name = "Kai Harries"; }; kalbasit = { email = "wael.nasreddine@gmail.com"; github = "kalbasit"; + githubId = 87115; name = "Wael Nasreddine"; }; kamilchm = { email = "kamil.chm@gmail.com"; github = "kamilchm"; + githubId = 1621930; name = "Kamil Chmielewski"; }; kampfschlaefer = { @@ -2387,58 +3226,101 @@ kazcw = { email = "kaz@lambdaverse.org"; github = "kazcw"; + githubId = 1047859; name = "Kaz Wesley"; }; kentjames = { email = "jameschristopherkent@gmail.com"; github = "kentjames"; + githubId = 2029444; name = "James Kent"; }; kevincox = { email = "kevincox@kevincox.ca"; github = "kevincox"; + githubId = 494012; name = "Kevin Cox"; }; khumba = { email = "bog@khumba.net"; github = "khumba"; + githubId = 788813; name = "Bryan Gardiner"; }; KibaFox = { email = "kiba.fox@foxypossibilities.com"; github = "KibaFox"; + githubId = 16481032; name = "Kiba Fox"; }; kierdavis = { email = "kierdavis@gmail.com"; github = "kierdavis"; + githubId = 845652; name = "Kier Davis"; }; + killercup = { + email = "killercup@gmail.com"; + github = "killercup"; + githubId = 20063; + name = "Pascal Hertleif"; + }; kiloreux = { email = "kiloreux@gmail.com"; github = "kiloreux"; + githubId = 6282557; name = "Kiloreux Emperex"; }; + kim0 = { + email = "email.ahmedkamal@googlemail.com"; + github = "kim0"; + name = "Ahmed Kamal"; + }; kimburgess = { email = "kim@acaprojects.com"; github = "kimburgess"; + githubId = 843652; name = "Kim Burgess"; }; kini = { email = "keshav.kini@gmail.com"; github = "kini"; + githubId = 691290; name = "Keshav Kini"; }; kirelagin = { email = "kirelagin@gmail.com"; github = "kirelagin"; + githubId = 451835; name = "Kirill Elagin"; }; + kirikaza = { + email = "k@kirikaza.ru"; + github = "kirikaza"; + name = "Kirill Kazakov"; + }; kisonecat = { email = "kisonecat@gmail.com"; github = "kisonecat"; + githubId = 148352; name = "Jim Fowler"; }; + kiwi = { + email = "envy1988@gmail.com"; + github = "Kiwi"; + githubId = 35715; + name = "Robert Djubek"; + keys = [{ + longkeyid = "rsa4096/0x156C88A5B0A04B2A"; + fingerprint = "8992 44FC D291 5CA2 0A97 802C 156C 88A5 B0A0 4B2A"; + }]; + }; + kjuvi = { + email = "quentin.vaucher@pm.me"; + github = "kjuvi"; + githubId = 17534323; + name = "Quentin Vaucher"; + }; kkallio = { email = "tierpluspluslists@gmail.com"; name = "Karn Kallio"; @@ -2446,27 +3328,45 @@ klntsky = { email = "klntsky@gmail.com"; name = "Vladimir Kalnitsky"; - github = "8084"; + github = "klntsky"; + githubId = 18447310; }; kmeakin = { email = "karlwfmeakin@gmail.com"; name = "Karl Meakin"; github = "Kmeakin"; + githubId = 19665139; + }; + + kmein = { + email = "kieran.meinhardt@gmail.com"; + name = "Kierán Meinhardt"; + github = "kmein"; + githubId = 10352507; }; knedlsepp = { email = "josef.kemetmueller@gmail.com"; github = "knedlsepp"; + githubId = 3287933; name = "Josef Kemetmüller"; }; knl = { email = "nikola@knezevic.co"; github = "knl"; + githubId = 361496; name = "Nikola Knežević"; }; + kolaente = { + email = "k@knt.li"; + github = "kolaente"; + githubId = 13721712; + name = "Konrad Langenberg"; + }; konimex = { email = "herdiansyah@netc.eu"; github = "konimex"; + githubId = 15692230; name = "Muhammad Herdiansyah"; }; koral = { @@ -2477,58 +3377,80 @@ kovirobi = { email = "kovirobi@gmail.com"; github = "kovirobi"; + githubId = 1903418; name = "Kovacsics Robert"; }; kquick = { email = "quick@sparq.org"; github = "kquick"; + githubId = 787421; name = "Kevin Quick"; }; kragniz = { email = "louis@kragniz.eu"; github = "kragniz"; + githubId = 735008; name = "Louis Taylor"; }; krav = { email = "kristoffer@microdisko.no"; github = "krav"; + githubId = 4032; name = "Kristoffer Thømt Ravneberg"; }; kroell = { email = "nixosmainter@makroell.de"; github = "rokk4"; + githubId = 17659803; name = "Matthias Axel Kröll"; }; kristoff3r = { email = "k.soeholm@gmail.com"; github = "kristoff3r"; + githubId = 160317; name = "Kristoffer Søholm"; }; ktf = { email = "giulio.eulisse@cern.ch"; github = "ktf"; + githubId = 10544; name = "Giuluo Eulisse"; }; + ktor = { + email = "kruszewsky@gmail.com"; + github = "ktor"; + name = "Pawel Kruszewski"; + }; ktosiek = { email = "tomasz.kontusz@gmail.com"; github = "ktosiek"; + githubId = 278013; name = "Tomasz Kontusz"; }; kuznero = { email = "roman@kuznero.com"; github = "kuznero"; + githubId = 449813; name = "Roman Kuznetsov"; }; kylewlacy = { email = "kylelacy+nix@pm.me"; github = "kylewlacy"; + githubId = 1362179; name = "Kyle Lacy"; }; lasandell = { email = "lasandell@gmail.com"; github = "lasandell"; + githubId = 2034420; name = "Luke Sandell"; }; + lambda-11235 = { + email = "taranlynn0@gmail.com"; + github = "lambda-11235"; + githubId = 16354815; + name = "Taran Lynn"; + }; lassulus = { email = "lassulus@gmail.com"; github = "Lassulus"; @@ -2537,23 +3459,33 @@ layus = { email = "layus.on@gmail.com"; github = "layus"; + githubId = 632767; name = "Guillaume Maudoux"; }; lblasc = { email = "lblasc@znode.net"; github = "lblasc"; + githubId = 32152; name = "Luka Blaskovic"; }; ldesgoui = { email = "ldesgoui@gmail.com"; github = "ldesgoui"; + githubId = 2472678; name = "Lucas Desgouilles"; }; league = { email = "league@contrapunctus.net"; github = "league"; + githubId = 50286; name = "Christopher League"; }; + leahneukirchen = { + email = "leah@vuxu.org"; + github = "leahneukirchen"; + githubId = 139; + name = "Leah Neukirchen"; + }; lebastr = { email = "lebastr@gmail.com"; github = "lebastr"; @@ -2562,26 +3494,31 @@ ledif = { email = "refuse@gmail.com"; github = "ledif"; + githubId = 307744; name = "Adam Fidel"; }; leemachin = { email = "me@mrl.ee"; github = "leemachin"; + githubId = 736291; name = "Lee Machin"; }; leenaars = { email = "ml.software@leenaa.rs"; github = "leenaars"; + githubId = 4158274; name = "Michiel Leenaars"; }; lejonet = { email = "daniel@kuehn.se"; github = "lejonet"; + githubId = 567634; name = "Daniel Kuehn"; }; leo60228 = { email = "iakornfeld@gmail.com"; github = "leo60228"; + githubId = 8355305; name = "leo60228"; }; leonardoce = { @@ -2592,81 +3529,136 @@ lethalman = { email = "lucabru@src.gnome.org"; github = "lethalman"; + githubId = 480920; name = "Luca Bruno"; }; lewo = { email = "lewo@abesis.fr"; github = "nlewo"; + githubId = 3425311; name = "Antoine Eiche"; }; lheckemann = { email = "git@sphalerite.org"; github = "lheckemann"; + githubId = 341954; name = "Linus Heckemann"; }; lhvwb = { email = "nathaniel.baxter@gmail.com"; github = "nathanielbaxter"; + githubId = 307589; name = "Nathaniel Baxter"; }; + lightbulbjim = { + email = "chris@killred.net"; + github = "lightbulbjim"; + name = "Chris Rendle-Short"; + }; lightdiscord = { email = "root@arnaud.sh"; github = "lightdiscord"; + githubId = 24509182; name = "Arnaud Pascal"; }; lihop = { email = "nixos@leroy.geek.nz"; github = "lihop"; + githubId = 3696783; name = "Leroy Hopson"; }; + lilyball = { + email = "lily@sb.org"; + github = "lilyball"; + githubId = 714; + name = "Lily Ballard"; + }; limeytexan = { email = "limeytexan@gmail.com"; github = "limeytexan"; + githubId = 36448130; name = "Michael Brantley"; }; + linarcx = { + email = "linarcx@gmail.com"; + github = "linarcx"; + githubId = 10884422; + name = "Kaveh Ahangar"; + }; linc01n = { email = "git@lincoln.hk"; github = "linc01n"; + githubId = 667272; name = "Lincoln Lee"; }; linquize = { email = "linquize@yahoo.com.hk"; github = "linquize"; + githubId = 791115; name = "Linquize"; }; linus = { email = "linusarver@gmail.com"; github = "listx"; + githubId = 725613; name = "Linus Arver"; }; + livnev = { + email = "lev@liv.nev.org.uk"; + github = "livnev"; + githubId = 3964494; + name = "Lev Livnev"; + keys = [{ + longkeyid = "rsa2048/0x68FF81E6A7850F49"; + fingerprint = "74F5 E5CC 19D3 B5CB 608F 6124 68FF 81E6 A785 0F49"; + }]; + }; + luis = { + email = "luis.nixos@gmail.com"; + github = "Luis-Hebendanz"; + githubId = 22085373; + name = "Luis Hebendanz"; + }; lionello = { email = "lio@lunesu.com"; github = "lionello"; + githubId = 591860; name = "Lionello Lunesu"; }; lluchs = { email = "lukas.werling@gmail.com"; github = "lluchs"; + githubId = 516527; name = "Lukas Werling"; }; lnl7 = { email = "daiderd@gmail.com"; github = "lnl7"; + githubId = 689294; name = "Daiderd Jordan"; }; lo1tuma = { email = "schreck.mathias@gmail.com"; github = "lo1tuma"; + githubId = 169170; name = "Mathias Schreck"; }; + loewenheim = { + email = "loewenheim@mailbox.org"; + github = "loewenheim"; + githubId = 7622248; + name = "Sebastian Zivota"; + }; lopsided98 = { email = "benwolsieffer@gmail.com"; github = "lopsided98"; + githubId = 5624721; name = "Ben Wolsieffer"; }; loskutov = { email = "ignat.loskutov@gmail.com"; github = "loskutov"; + githubId = 1202012; name = "Ignat Loskutov"; }; lovek323 = { @@ -2677,16 +3669,19 @@ lowfatcomputing = { email = "andreas.wagner@lowfatcomputing.org"; github = "lowfatcomputing"; + githubId = 10626; name = "Andreas Wagner"; }; lschuermann = { email = "leon.git@is.currently.online"; github = "lschuermann"; + githubId = 5341193; name = "Leon Schuermann"; }; lsix = { email = "lsix@lancelotsix.com"; github = "lsix"; + githubId = 724339; name = "Lancelot SIX"; }; ltavard = { @@ -2697,41 +3692,61 @@ lucas8 = { email = "luc.linux@mailoo.org"; github = "lucas8"; + githubId = 2025623; name = "Luc Chabassier"; }; + lucus16 = { + email = "lars.jellema@gmail.com"; + github = "Lucus16"; + githubId = 2487922; + name = "Lars Jellema"; + }; ludo = { email = "ludo@gnu.org"; github = "civodul"; + githubId = 1168435; name = "Ludovic Courtès"; }; lufia = { email = "lufia@lufia.org"; github = "lufia"; + githubId = 1784379; name = "Kyohei Kadota"; }; luispedro = { email = "luis@luispedro.org"; github = "luispedro"; + githubId = 79334; name = "Luis Pedro Coelho"; }; lukeadams = { email = "luke.adams@belljar.io"; github = "lukeadams"; + githubId = 3508077; name = "Luke Adams"; }; + lukebfox = { + email = "lbentley-fox1@sheffield.ac.uk"; + github = "lukebfox"; + githubId = 34683288; + name = "Luke Bentley-Fox"; + }; lukego = { email = "luke@snabb.co"; github = "lukego"; + githubId = 13791; name = "Luke Gorrie"; }; luz = { email = "luz666@daum.net"; github = "Luz"; + githubId = 208297; name = "Luz"; }; lw = { email = "lw@fmap.me"; github = "lolwat97"; + githubId = 2057309; name = "Sergey Sofeychuk"; }; lyt = { @@ -2745,92 +3760,143 @@ ma27 = { email = "maximilian@mbosch.me"; github = "ma27"; + githubId = 6025220; name = "Maximilian Bosch"; }; ma9e = { email = "sean@lfo.team"; - github = "ma9e"; + github = "furrycatherder"; + githubId = 36235154; name = "Sean Haugh"; }; madjar = { email = "georges.dubus@compiletoi.net"; github = "madjar"; + githubId = 109141; name = "Georges Dubus"; }; mafo = { email = "Marc.Fontaine@gmx.de"; github = "MarcFontaine"; + githubId = 1433367; name = "Marc Fontaine"; }; + magenbluten = { + email = "magenbluten@codemonkey.cc"; + github = "magenbluten"; + githubId = 1140462; + name = "magenbluten"; + }; magnetophon = { email = "bart@magnetophon.nl"; github = "magnetophon"; + githubId = 7645711; name = "Bart Brouns"; }; mahe = { email = "matthias.mh.herrmann@gmail.com"; github = "2chilled"; + githubId = 1238350; name = "Matthias Herrmann"; }; makefu = { email = "makefu@syntax-fehler.de"; github = "makefu"; + githubId = 115218; name = "Felix Richter"; }; malyn = { email = "malyn@strangeGizmo.com"; github = "malyn"; + githubId = 346094; name = "Michael Alyn Miller"; }; manveru = { email = "m.fellinger@gmail.com"; github = "manveru"; + githubId = 3507; name = "Michael Fellinger"; }; marcweber = { email = "marco-oweber@gmx.de"; github = "marcweber"; + githubId = 34086; name = "Marc Weber"; }; + marenz = { + email = "marenz@arkom.men"; + github = "marenz2569"; + githubId = 12773269; + name = "Markus Schmidl"; + }; markus1189 = { email = "markus1189@gmail.com"; github = "markus1189"; + githubId = 591567; name = "Markus Hauck"; }; markuskowa = { email = "markus.kowalewski@gmail.com"; github = "markuskowa"; + githubId = 26470037; name = "Markus Kowalewski"; }; markWot = { email = "markus@wotringer.de"; name = "Markus Wotringer"; }; + marius851000 = { + email = "mariusdavid@laposte.net"; + name = "Marius David"; + github = "marius851000"; + githubId = 22586596; + }; marsam = { email = "marsam@users.noreply.github.com"; github = "marsam"; + githubId = 65531; name = "Mario Rodas"; }; martijnvermaat = { email = "martijn@vermaat.name"; github = "martijnvermaat"; + githubId = 623509; name = "Martijn Vermaat"; }; martingms = { email = "martin@mg.am"; github = "martingms"; + githubId = 458783; name = "Martin Gammelsæter"; }; + marzipankaiser = { + email = "nixos@gaisseml.de"; + github = "marzipankaiser"; + githubId = 2551444; + name = "Marcial Gaißert"; + keys = [{ + longkeyid = "rsa2048/0xB629036BE399EEE9"; + fingerprint = "B573 5118 0375 A872 FBBF 7770 B629 036B E399 EEE9"; + }]; + }; matejc = { email = "cotman.matej@gmail.com"; github = "matejc"; + githubId = 854770; name = "Matej Cotman"; }; mathnerd314 = { email = "mathnerd314.gph+hs@gmail.com"; github = "mathnerd314"; + githubId = 322214; name = "Mathnerd314"; }; + matklad = { + email = "aleksey.kladov@gmail.com"; + github = "matklad"; + githubId = 1711539; + name = "matklad"; + }; matthewbauer = { email = "mjbauer95@gmail.com"; github = "matthewbauer"; @@ -2839,78 +3905,104 @@ matthiasbeyer = { email = "mail@beyermatthias.de"; github = "matthiasbeyer"; + githubId = 427866; 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"; + githubId = 136037; name = "Matthew Maurer"; }; mbakke = { email = "mbakke@fastmail.com"; github = "mbakke"; + githubId = 1269099; name = "Marius Bakke"; }; mbbx6spp = { email = "me@susanpotter.net"; github = "mbbx6spp"; + githubId = 564; name = "Susan Potter"; }; mbe = { email = "brandonedens@gmail.com"; github = "brandonedens"; + githubId = 396449; name = "Brandon Edens"; }; mbode = { email = "maxbode@gmail.com"; github = "mbode"; + githubId = 9051309; name = "Maximilian Bode"; }; mboes = { email = "mboes@tweag.net"; github = "mboes"; + githubId = 51356; name = "Mathieu Boespflug"; }; mbrgm = { email = "marius@yeai.de"; github = "mbrgm"; + githubId = 2971615; name = "Marius Bergmann"; }; mcmtroffaes = { email = "matthias.troffaes@gmail.com"; github = "mcmtroffaes"; + githubId = 158568; name = "Matthias C. M. Troffaes"; }; mdaiter = { email = "mdaiter8121@gmail.com"; github = "mdaiter"; + githubId = 1377571; name = "Matthew S. Daiter"; }; mdevlamynck = { email = "matthias.devlamynck@mailoo.org"; github = "mdevlamynck"; + githubId = 4378377; name = "Matthias Devlamynck"; }; meditans = { email = "meditans@gmail.com"; github = "meditans"; + githubId = 4641445; name = "Carlo Nucera"; }; megheaiulian = { email = "iulian.meghea@gmail.com"; github = "megheaiulian"; + githubId = 1788114; name = "Meghea Iulian"; }; mehandes = { email = "niewskici@gmail.com"; github = "mehandes"; + githubId = 32581276; name = "Matt Deming"; }; meisternu = { email = "meister@krutt.org"; github = "meisternu"; + githubId = 8263431; name = "Matt Miemiec"; }; + melchips = { + email = "truphemus.francois@gmail.com"; + github = "melchips"; + githubId = 365721; + name = "Francois Truphemus"; + }; melsigl = { email = "melanie.bianca.sigl@gmail.com"; github = "melsigl"; @@ -2919,40 +4011,59 @@ melkor333 = { email = "samuel@ton-kunst.ch"; github = "melkor333"; + githubId = 6412377; name = "Samuel Ruprecht"; }; metabar = { email = "softs@metabarcoding.org"; name = "Celine Mercier"; }; + metadark = { + email = "kira.bruneau@gmail.com"; + name = "Kira Bruneau"; + github = "metadark"; + githubId = 382041; + }; + mfossen = { + email = "msfossen@gmail.com"; + github = "mfossen"; + githubId = 3300322; + name = "Mitchell Fossen"; + }; mgdelacroix = { email = "mgdelacroix@gmail.com"; github = "mgdelacroix"; + githubId = 223323; name = "Miguel de la Cruz"; }; mgregoire = { email = "gregoire@martinache.net"; github = "M-Gregoire"; + githubId = 9469313; name = "Gregoire Martinache"; }; mgttlinger = { email = "megoettlinger@gmail.com"; github = "mgttlinger"; + githubId = 5120487; name = "Merlin Göttlinger"; }; mguentner = { email = "code@klandest.in"; github = "mguentner"; + githubId = 668926; name = "Maximilian Güntner"; }; mhaselsteiner = { email = "magdalena.haselsteiner@gmx.at"; github = "mhaselsteiner"; + githubId = 20536514; name = "Magdalena Haselsteiner"; }; mic92 = { email = "joerg@thalheim.io"; github = "mic92"; + githubId = 96200; name = "Jörg Thalheim"; keys = [{ # compare with https://keybase.io/Mic92 @@ -2968,6 +4079,7 @@ michalrus = { email = "m@michalrus.com"; github = "michalrus"; + githubId = 4366292; name = "Michal Rus"; }; michelk = { @@ -2975,24 +4087,34 @@ github = "michelk"; name = "Michel Kuhlmann"; }; + michojel = { + email = "mic.liamg@gmail.com"; + github = "michojel"; + githubId = 21156022; + name = "Michal Minář"; + }; mickours = { email = "mickours@gmail.com<"; github = "mickours"; + githubId = 837312; name = "Michael Mercier"; }; midchildan = { email = "midchildan+nix@gmail.com"; github = "midchildan"; + githubId = 7343721; name = "midchildan"; }; mikefaille = { email = "michael@faille.io"; github = "mikefaille"; + githubId = 978196; name = "Michaël Faille"; }; mikoim = { email = "ek@esh.ink"; github = "mikoim"; + githubId = 3958340; name = "Eshin Kunishima"; }; miltador = { @@ -3002,8 +4124,14 @@ mimadrid = { email = "mimadrid@ucm.es"; github = "mimadrid"; + githubId = 3269878; name = "Miguel Madrid"; }; + minijackson = { + email = "minijackson@riseup.net"; + github = "minijackson"; + name = "Rémi Nicole"; + }; mirdhyn = { email = "mirdhyn@gmail.com"; github = "mirdhyn"; @@ -3012,36 +4140,43 @@ mirrexagon = { email = "mirrexagon@mirrexagon.com"; github = "mirrexagon"; + githubId = 1776903; name = "Andrew Abbott"; }; mjanczyk = { email = "m@dragonvr.pl"; github = "mjanczyk"; + githubId = 1001112; name = "Marcin Janczyk"; }; mjp = { email = "mike@mythik.co.uk"; github = "MikePlayle"; + githubId = 16974598; name = "Mike Playle"; }; mkazulak = { email = "kazulakm@gmail.com"; github = "mulderr"; + githubId = 5698461; name = "Maciej Kazulak"; }; mkg = { email = "mkg@vt.edu"; github = "mkgvt"; + githubId = 22477669; name = "Mark K Gardner"; }; mlieberman85 = { email = "mlieberman85@gmail.com"; github = "mlieberman85"; + githubId = 622577; name = "Michael Lieberman"; }; mmahut = { email = "marek.mahut@gmail.com"; github = "mmahut"; + githubId = 104795; name = "Marek Mahut"; }; mmlb = { @@ -3052,21 +4187,25 @@ mnacamura = { email = "m.nacamura@gmail.com"; github = "mnacamura"; + githubId = 45770; name = "Mitsuhiro Nakamura"; }; moaxcp = { email = "moaxcp@gmail.com"; github = "moaxcp"; + githubId = 7831184; name = "John Mercier"; }; modulistic = { email = "modulistic@gmail.com"; github = "modulistic"; + githubId = 1902456; name = "Pablo Costa"; }; mog = { email = "mog-lists@rldn.net"; github = "mogorman"; + githubId = 64710; name = "Matthew O'Gorman"; }; Mogria = { @@ -3074,34 +4213,46 @@ github = "mogria"; name = "Mogria"; }; + monsieurp = { + email = "monsieurp@gentoo.org"; + github = "monsieurp"; + githubId = 350116; + name = "Patrice Clement"; + }; montag451 = { email = "montag451@laposte.net"; github = "montag451"; + githubId = 249317; name = "montag451"; }; moosingin3space = { email = "moosingin3space@gmail.com"; github = "moosingin3space"; + githubId = 830082; name = "Nathan Moos"; }; moredread = { email = "code@apb.name"; github = "moredread"; + githubId = 100848; name = "André-Patrick Bubel"; }; moretea = { email = "maarten@moretea.nl"; github = "moretea"; + githubId = 99988; name = "Maarten Hoogendoorn"; }; MostAwesomeDude = { email = "cds@corbinsimpson.com"; github = "MostAwesomeDude"; + githubId = 118035; name = "Corbin Simpson"; }; mounium = { email = "muoniurn@gmail.com"; github = "mounium"; + githubId = 20026143; name = "Katona László"; }; MP2E = { @@ -3112,13 +4263,21 @@ mpcsh = { email = "m@mpc.sh"; github = "mpcsh"; + githubId = 2894019; name = "Mark Cohen"; }; mpickering = { email = "matthewtpickering@gmail.com"; github = "mpickering"; + githubId = 1216657; name = "Matthew Pickering"; }; + mpoquet = { + email = "millian.poquet@gmail.com"; + github = "mpoquet"; + githubId = 3502831; + name = "Millian Poquet"; + }; mpscholten = { email = "marc@mpscholten.de"; github = "mpscholten"; @@ -3127,45 +4286,68 @@ mpsyco = { email = "fr.st-amour@gmail.com"; github = "fstamour"; + githubId = 2881922; name = "Francis St-Amour"; }; + mredaelli = { + email = "massimo@typish.io"; + github = "mredaelli"; + name = "Massimo Redaelli"; + }; mrkkrp = { email = "markkarpov92@gmail.com"; github = "mrkkrp"; + githubId = 8165792; name = "Mark Karpov"; }; + mrmebelman = { + email = "burzakovskij@protonmail.com"; + github = "MrMebelMan"; + githubId = 15896005; + name = "Vladyslav Burzakovskyy"; + }; mrVanDalo = { email = "contact@ingolf-wagner.de"; github = "mrVanDalo"; + githubId = 839693; name = "Ingolf Wanger"; }; msackman = { email = "matthew@wellquite.org"; name = "Matthew Sackman"; }; + mschneider = { + email = "markus.schneider.sic+nix@gmail.com"; + name = "Markus Schneider"; + }; mschristiansen = { email = "mikkel@rheosystems.com"; github = "mschristiansen"; + githubId = 437005; name = "Mikkel Christiansen"; }; msiedlarek = { email = "mikolaj@siedlarek.pl"; github = "msiedlarek"; + githubId = 133448; name = "Mikołaj Siedlarek"; }; mstarzyk = { email = "mstarzyk@gmail.com"; github = "mstarzyk"; + githubId = 111304; name = "Maciek Starzyk"; }; msteen = { email = "emailmatthijs@gmail.com"; github = "msteen"; + githubId = 788953; name = "Matthijs Steen"; }; mt-caret = { email = "mtakeda.enigsol@gmail.com"; github = "mt-caret"; + githubId = 4996739; name = "Masayuki Takeda"; }; MtP = { @@ -3176,41 +4358,55 @@ mtreskin = { email = "zerthurd@gmail.com"; github = "Zert"; + githubId = 39034; name = "Max Treskin"; }; mudri = { email = "lamudri@gmail.com"; github = "laMudri"; + githubId = 5139265; name = "James Wood"; }; muflax = { email = "mail@muflax.com"; github = "muflax"; + githubId = 69918; name = "Stefan Dorn"; }; mvnetbiz = { email = "mvnetbiz@gmail.com"; github = "mvnetbiz"; + githubId = 6455574; name = "Matt Votava"; }; + mwilsoninsight = { + email = "max.wilson@insight.com"; + github = "mwilsoninsight"; + githubId = 47782621; + name = "Max Wilson"; + }; myrl = { email = "myrl.0xf@gmail.com"; github = "myrl"; + githubId = 9636071; name = "Myrl Hex"; }; nadrieril = { email = "nadrieril@gmail.com"; github = "nadrieril"; + githubId = 6783654; name = "Nadrieril Feneanar"; }; nalbyuites = { email = "ashijit007@gmail.com"; github = "nalbyuites"; + githubId = 1009523; name = "Ashijit Pramanik"; }; namore = { email = "namor@hemio.de"; github = "namore"; + githubId = 1222539; name = "Roman Naumann"; }; nand0p = { @@ -3225,133 +4421,175 @@ nathan-gs = { email = "nathan@nathan.gs"; github = "nathan-gs"; + githubId = 330943; name = "Nathan Bijnens"; }; + nathyong = { + email = "nathyong@noreply.github.com"; + github = "nathyong"; + githubId = 818502; + name = "Nathan Yong"; + }; nckx = { email = "github@tobias.gr"; github = "nckx"; + githubId = 364510; name = "Tobias Geerinckx-Rice"; }; ndowens = { email = "ndowens04@gmail.com"; github = "ndowens"; + githubId = 117743; name = "Nathan Owens"; }; neeasade = { email = "nathanisom27@gmail.com"; github = "neeasade"; + githubId = 3747396; name = "Nathan Isom"; }; neonfuz = { email = "neonfuz@gmail.com"; github = "neonfuz"; + githubId = 2590830; name = "Sage Raflik"; }; nequissimus = { email = "tim@nequissimus.com"; github = "nequissimus"; + githubId = 628342; name = "Tim Steinbach"; }; netixx = { email = "dev.espinetfrancois@gmail.com"; github = "netixx"; + githubId = 1488603; name = "François Espinet"; }; nikitavoloboev = { email = "nikita.voloboev@gmail.com"; github = "nikitavoloboev"; + githubId = 6391776; name = "Nikita Voloboev"; }; nfjinjing = { email = "nfjinjing@gmail.com"; - github = "nfjinjing"; name = "Jinjing Wang"; }; nh2 = { email = "mail@nh2.me"; github = "nh2"; + githubId = 399535; name = "Niklas Hambüchen"; }; nhooyr = { email = "anmol@aubble.com"; github = "nhooyr"; + githubId = 10180857; name = "Anmol Sethi"; }; nickhu = { email = "me@nickhu.co.uk"; github = "nickhu"; + githubId = 450276; name = "Nick Hu"; }; nicknovitski = { email = "nixpkgs@nicknovitski.com"; github = "nicknovitski"; + githubId = 151337; name = "Nick Novitski"; }; nico202 = { email = "anothersms@gmail.com"; github = "nico202"; + githubId = 8214542; name = "Nicolò Balzarotti"; }; NikolaMandic = { email = "nikola@mandic.email"; github = "NikolaMandic"; + githubId = 4368690; name = "Ratko Mladic"; }; ninjatrappeur = { email = "felix@alternativebit.fr"; github = "ninjatrappeur"; + githubId = 1219785; name = "Félix Baylac-Jacqué"; }; nioncode = { email = "nioncode+github@gmail.com"; github = "nioncode"; + githubId = 3159451; name = "Nicolas Schneider"; }; nipav = { email = "niko.pavlinek@gmail.com"; github = "nipav"; + githubId = 16385648; name = "Niko Pavlinek"; }; nixy = { email = "nixy@nixy.moe"; github = "nixy"; + githubId = 7588406; name = "Andrew R. M."; }; nmattia = { email = "nicolas@nmattia.com"; github = "nmattia"; + githubId = 6930756; name = "Nicolas Mattia"; }; nocent = { email = "nocent@protonmail.ch"; github = "nocent"; + githubId = 25505957; name = "nocent"; }; nocoolnametom = { email = "nocoolnametom@gmail.com"; github = "nocoolnametom"; + githubId = 810877; name = "Tom Doggett"; }; + nomeata = { + email = "mail@joachim-breitner.de"; + github = "nomeata"; + githubId = 148037; + name = "Joachim Breitner"; + }; noneucat = { email = "andy@lolc.at"; github = "noneucat"; + githubId = 40049608; name = "Andy Chun"; }; notthemessiah = { email = "brian.cohen.88@gmail.com"; github = "notthemessiah"; + githubId = 2946283; name = "Brian Cohen"; }; np = { email = "np.nix@nicolaspouillard.fr"; github = "np"; + githubId = 5548; name = "Nicolas Pouillard"; }; nphilou = { email = "nphilou@gmail.com"; github = "nphilou"; + githubId = 9939720; name = "Philippe Nguyen"; }; + nshalman = { + email = "nahamu@gmail.com"; + github = "nshalman"; + githubId = 20391; + name = "Nahum Shalman"; + }; nslqqq = { email = "nslqqq@gmail.com"; name = "Nikita Mikhailov"; @@ -3359,51 +4597,61 @@ nthorne = { email = "notrupertthorne@gmail.com"; github = "nthorne"; + githubId = 1839979; name = "Niklas Thörne"; }; numinit = { email = "me@numin.it"; github = "numinit"; + githubId = 369111; name = "Morgan Jones"; }; nyanloutre = { email = "paul@nyanlout.re"; github = "nyanloutre"; + githubId = 7677321; name = "Paul Trehiou"; }; nyarly = { email = "nyarly@gmail.com"; github = "nyarly"; + githubId = 127548; name = "Judson Lester"; }; nzhang-zh = { email = "n.zhang.hp.au@gmail.com"; github = "nzhang-zh"; + githubId = 30825096; name = "Ning Zhang"; }; obadz = { email = "obadz-nixos@obadz.com"; github = "obadz"; + githubId = 3359345; name = "obadz"; }; ocharles = { email = "ollie@ocharles.org.uk"; github = "ocharles"; + githubId = 20878; name = "Oliver Charles"; }; odi = { email = "oliver.dunkl@gmail.com"; github = "odi"; + githubId = 158758; name = "Oliver Dunkl"; }; offline = { email = "jaka@x-truder.net"; github = "offlinehacker"; + githubId = 585547; name = "Jaka Hudoklin"; }; oida = { email = "oida@posteo.de"; github = "oida"; + githubId = 7249506; name = "oida"; }; okasu = { @@ -3413,11 +4661,13 @@ olcai = { email = "dev@timan.info"; github = "olcai"; + githubId = 20923; name = "Erik Timan"; }; olejorgenb = { email = "olejorgenb@yahoo.no"; github = "olejorgenb"; + githubId = 72201; name = "Ole Jørgen Brønner"; }; olynch = { @@ -3425,14 +4675,22 @@ github = "olynch"; name = "Owen Lynch"; }; + omnipotententity = { + email = "omnipotententity@gmail.com"; + github = "omnipotententity"; + githubId = 1538622; + name = "Michael Reilly"; + }; OPNA2608 = { email = "christoph.neidahl@gmail.com"; github = "OPNA2608"; + githubId = 23431373; name = "Christoph Neidahl"; }; orbekk = { email = "kjetil.orbekk@gmail.com"; github = "orbekk"; + githubId = 19862; name = "KJ Ørbekk"; }; orbitz = { @@ -3443,21 +4701,25 @@ orivej = { email = "orivej@gmx.fr"; github = "orivej"; + githubId = 101514; name = "Orivej Desh"; }; osener = { email = "ozan@ozansener.com"; github = "osener"; + githubId = 111265; name = "Ozan Sener"; }; otwieracz = { email = "slawek@otwiera.cz"; github = "otwieracz"; + githubId = 108072; name = "Slawomir Gonet"; }; oxij = { email = "oxij@oxij.org"; github = "oxij"; + githubId = 391919; name = "Jan Malakhovski"; keys = [{ longkeyid = "rsa2048/0x0E6CA66E5C557AA8"; @@ -3467,66 +4729,79 @@ oyren = { email = "m.scheuren@oyra.eu"; github = "oyren"; + githubId = 15930073; name = "Moritz Scheuren"; }; pacien = { email = "b4gx3q.nixpkgs@pacien.net"; github = "pacien"; + githubId = 1449319; name = "Pacien Tran-Girard"; }; paddygord = { email = "pgpatrickgordon@gmail.com"; github = "paddygord"; + githubId = 10776658; name = "Patrick Gordon"; }; paholg = { email = "paho@paholg.com"; github = "paholg"; + githubId = 4908217; name = "Paho Lurie-Gregg"; }; pakhfn = { email = "pakhfn@gmail.com"; github = "pakhfn"; + githubId = 11016164; name = "Fedor Pakhomov"; }; panaeon = { email = "vitalii.voloshyn@gmail.com"; github = "panaeon"; + githubId = 686076; name = "Vitalii Voloshyn"; }; pandaman = { email = "kointosudesuyo@infoseek.jp"; github = "pandaman64"; + githubId = 1788628; name = "pandaman"; }; paperdigits = { email = "mica@silentumbrella.com"; github = "paperdigits"; + githubId = 71795; name = "Mica Semrick"; }; paraseba = { email = "paraseba@gmail.com"; github = "paraseba"; + githubId = 20792; name = "Sebastian Galkin"; }; pashev = { email = "pashev.igor@gmail.com"; github = "ip1981"; + githubId = 131844; name = "Igor Pashev"; }; patternspandemic = { email = "patternspandemic@live.com"; github = "patternspandemic"; + githubId = 15645854; name = "Brad Christensen"; }; pawelpacana = { email = "pawel.pacana@gmail.com"; github = "pawelpacana"; + githubId = 116740; name = "Paweł Pacana"; }; pbogdan = { email = "ppbogdan@gmail.com"; github = "pbogdan"; + githubId = 157610; name = "Piotr Bogdan"; }; pcarrier = { @@ -3537,76 +4812,97 @@ periklis = { email = "theopompos@gmail.com"; github = "periklis"; + githubId = 152312; name = "Periklis Tsirakidis"; }; pesterhazy = { email = "pesterhazy@gmail.com"; github = "pesterhazy"; + githubId = 106328; name = "Paulus Esterhazy"; }; petabyteboy = { email = "me@pbb.lc"; github = "petabyteboy"; + githubId = 3250809; name = "Milan Pässler"; }; peterhoeg = { email = "peter@hoeg.com"; github = "peterhoeg"; + githubId = 722550; name = "Peter Hoeg"; }; peterromfeldhk = { email = "peter.romfeld.hk@gmail.com"; github = "peterromfeldhk"; + githubId = 5515707; name = "Peter Romfeld"; }; peti = { email = "simons@cryp.to"; github = "peti"; + githubId = 28323; name = "Peter Simons"; }; philandstuff = { email = "philip.g.potter@gmail.com"; github = "philandstuff"; + githubId = 581269; name = "Philip Potter"; }; phile314 = { email = "nix@314.ch"; github = "phile314"; + githubId = 1640697; name = "Philipp Hausmann"; }; Phlogistique = { email = "noe.rubinstein@gmail.com"; github = "Phlogistique"; + githubId = 421510; name = "Noé Rubinstein"; }; phreedom = { email = "phreedom@yandex.ru"; github = "phreedom"; + githubId = 62577; name = "Evgeny Egorochkin"; }; phryneas = { email = "mail@lenzw.de"; github = "phryneas"; + githubId = 4282439; name = "Lenz Weber"; }; phunehehe = { email = "phunehehe@gmail.com"; github = "phunehehe"; + githubId = 627831; name = "Hoang Xuan Phu"; }; pierrechevalier83 = { email = "pierrechevalier83@gmail.com"; github = "pierrechevalier83"; + githubId = 5790907; name = "Pierre Chevalier"; }; + pierreis = { + email = "pierre@pierre.is"; + github = "pierreis"; + githubId = 203973; + name = "Pierre Matri"; + }; pierrer = { email = "pierrer@pi3r.be"; github = "pierrer"; + githubId = 93115; name = "Pierre Radermecker"; }; pierron = { email = "nixos@nbp.name"; github = "nbp"; + githubId = 1179566; name = "Nicolas B. Pierron"; }; piotr = { @@ -3616,16 +4912,19 @@ pjbarnoy = { email = "pjbarnoy@gmail.com"; github = "pjbarnoy"; + githubId = 119460; name = "Perry Barnoy"; }; pjones = { email = "pjones@devalot.com"; github = "pjones"; + githubId = 3737; name = "Peter Jones"; }; pkmx = { email = "pkmx.tw@gmail.com"; github = "pkmx"; + githubId = 610615; name = "Chih-Mao Chen"; }; plchldr = { @@ -3636,16 +4935,19 @@ plcplc = { email = "plcplc@gmail.com"; github = "plcplc"; + githubId = 358550; name = "Philip Lykke Carlsen"; }; plumps = { email = "maks.bronsky@web.de"; github = "plumps"; + githubId = 13000278; name = "Maksim Bronsky"; }; pmahoney = { email = "pat@polycrystal.org"; github = "pmahoney"; + githubId = 103822; name = "Patrick Mahoney"; }; pmeunier = { @@ -3656,21 +4958,25 @@ pmiddend = { email = "pmidden@secure.mailbox.org"; github = "pmiddend"; + githubId = 178496; name = "Philipp Middendorf"; }; pmyjavec = { email = "pauly@myjavec.com"; github = "pmyjavec"; + githubId = 315096; name = "Pauly Myjavec"; }; pnelson = { email = "me@pnelson.ca"; github = "pnelson"; + githubId = 579773; name = "Philip Nelson"; }; pneumaticat = { email = "kevin@potatofrom.space"; github = "pneumaticat"; + githubId = 11365056; name = "Kevin Liu"; }; polyrod = { @@ -3678,19 +4984,39 @@ github = "polyrod"; name = "Maurizio Di Pietro"; }; + pombeirp = { + email = "nix@endgr.33mail.com"; + github = "PombeirP"; + githubId = 138074; + name = "Pedro Pombeiro"; + }; pradeepchhetri = { email = "pradeep.chhetri89@gmail.com"; github = "pradeepchhetri"; + githubId = 2232667; name = "Pradeep Chhetri"; }; + pradyuman = { + email = "me@pradyuman.co"; + github = "pradyuman"; + githubId = 9904569; + name = "Pradyuman Vig"; + keys = [ + { longkeyid = "rsa4096/4F74D5361C4CA31E"; + fingerprint = "240B 57DE 4271 2480 7CE3 EAC8 4F74 D536 1C4C A31E"; + } + ]; + }; prikhi = { email = "pavan.rikhi@gmail.com"; github = "prikhi"; + githubId = 1304102; name = "Pavan Rikhi"; }; primeos = { email = "dev.primeos@gmail.com"; github = "primeos"; + githubId = 7537109; name = "Michael Weiss"; keys = [ { longkeyid = "ed25519/0x130826A6C2A389FD"; # Git only @@ -3704,26 +5030,41 @@ Profpatsch = { email = "mail@profpatsch.de"; github = "Profpatsch"; + githubId = 3153638; name = "Profpatsch"; }; proglodyte = { email = "proglodyte23@gmail.com"; github = "proglodyte"; + githubId = 18549627; name = "Proglodyte"; }; + protoben = { + email = "protob3n@gmail.com"; + github = "protoben"; + githubId = 4633847; + name = "Ben Hamlin"; + }; prusnak = { - email = "stick@gk2.sk"; + email = "pavol@rusnak.io"; github = "prusnak"; + githubId = 42201; name = "Pavol Rusnak"; + keys = [{ + longkeyid = "rsa4096/0x91F3B339B9A02A3D"; + fingerprint = "86E6 792F C27B FD47 8860 C110 91F3 B339 B9A0 2A3D"; + }]; }; pshendry = { email = "paul@pshendry.com"; github = "pshendry"; + githubId = 1829032; name = "Paul Hendry"; }; psibi = { email = "sibi@psibi.in"; github = "psibi"; + githubId = 737477; name = "Sibi"; }; pstn = { @@ -3733,79 +5074,122 @@ pSub = { email = "mail@pascal-wittmann.de"; github = "pSub"; + githubId = 83842; name = "Pascal Wittmann"; }; psyanticy = { email = "iuns@outlook.fr"; github = "PsyanticY"; + githubId = 20524473; name = "Psyanticy"; }; ptival = { email = "valentin.robert.42@gmail.com"; github = "Ptival"; + githubId = 478606; name = "Valentin Robert"; }; + ptrhlm = { + email = "ptrhlm0@gmail.com"; + github = "ptrhlm"; + githubId = 9568176; + name = "Piotr Halama"; + }; + puckipedia = { + email = "puck@puckipedia.com"; + github = "puckipedia"; + githubId = 488734; + name = "Puck Meerburg"; + }; puffnfresh = { email = "brian@brianmckenna.org"; github = "puffnfresh"; + githubId = 37715; name = "Brian McKenna"; }; pxc = { email = "patrick.callahan@latitudeengineering.com"; name = "Patrick Callahan"; }; + pyrolagus = { + email = "pyrolagus@gmail.com"; + github = "PyroLagus"; + githubId = 4579165; + name = "Danny Bautista"; + }; q3k = { email = "q3k@q3k.org"; github = "q3k"; + githubId = 315234; name = "Serge Bazanski"; }; qknight = { email = "js@lastlog.de"; github = "qknight"; + githubId = 137406; name = "Joachim Schiele"; }; qoelet = { email = "kenny@machinesung.com"; github = "qoelet"; + githubId = 115877; name = "Kenny Shen"; }; qyliss = { email = "hi@alyssa.is"; github = "alyssais"; + githubId = 2768870; 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"; + githubId = 1246959; + name = "Raquel García"; + }; ragge = { email = "r.dahlen@gmail.com"; github = "ragnard"; + githubId = 882; name = "Ragnar Dahlen"; }; ralith = { email = "ben.e.saunders@gmail.com"; github = "ralith"; + githubId = 104558; name = "Benjamin Saunders"; }; ramkromberg = { email = "ramkromberg@mail.com"; github = "ramkromberg"; + githubId = 14829269; name = "Ram Kromberg"; }; rardiol = { email = "ricardo.ardissone@gmail.com"; github = "rardiol"; + githubId = 11351304; name = "Ricardo Ardissone"; }; rasendubi = { email = "rasen.dubi@gmail.com"; github = "rasendubi"; + githubId = 1366419; name = "Alexey Shmalko"; }; raskin = { email = "7c6f434c@mail.ru"; github = "7c6f434c"; + githubId = 1891350; name = "Michael Raskin"; }; ravloony = { @@ -3815,91 +5199,121 @@ rawkode = { email = "david.andrew.mckay@gmail.com"; github = "rawkode"; + githubId = 145816; name = "David McKay"; }; razvan = { email = "razvan.panda@gmail.com"; github = "razvan-panda"; + githubId = 1758708; name = "Răzvan Flavius Panda"; }; rbasso = { email = "rbasso@sharpgeeks.net"; github = "rbasso"; + githubId = 16487165; name = "Rafael Basso"; }; rbrewer = { email = "rwb123@gmail.com"; github = "rbrewer123"; + githubId = 743058; name = "Rob Brewer"; }; rdnetto = { email = "rdnetto@gmail.com"; github = "rdnetto"; + githubId = 1973389; name = "Reuben D'Netto"; }; redbaron = { email = "ivanov.maxim@gmail.com"; github = "redbaron"; + githubId = 16624; name = "Maxim Ivanov"; }; redfish64 = { email = "engler@gmail.com"; github = "redfish64"; + githubId = 1922770; name = "Tim Engler"; }; redvers = { email = "red@infect.me"; github = "redvers"; + githubId = 816465; name = "Redvers Davies"; }; refnil = { email = "broemartino@gmail.com"; github = "refnil"; + githubId = 1142322; name = "Martin Lavoie"; }; regnat = { email = "regnat@regnat.ovh"; github = "regnat"; + githubId = 7226587; name = "Théophane Hufschmitt"; }; relrod = { email = "ricky@elrod.me"; github = "relrod"; + githubId = 43930; name = "Ricky Elrod"; }; rembo10 = { email = "rembo10@users.noreply.github.com"; github = "rembo10"; + githubId = 801525; name = "rembo10"; }; renatoGarcia = { email = "fgarcia.renato@gmail.com"; github = "renatoGarcia"; + githubId = 220211; name = "Renato Garcia"; }; + rencire = { + email = "546296+rencire@users.noreply.github.com"; + github = "rencire"; + githubId = 546296; + name = "Eric Ren"; + }; renzo = { email = "renzocarbonara@gmail.com"; github = "k0001"; + githubId = 3302; name = "Renzo Carbonara"; }; retrry = { email = "retrry@gmail.com"; github = "retrry"; + githubId = 500703; name = "Tadas Barzdžius"; }; + rexim = { + email = "reximkut@gmail.com"; + github = "rexim"; + githubId = 165283; + name = "Alexey Kutepov"; + }; rht = { email = "rhtbot@protonmail.com"; github = "rht"; + githubId = 395821; name = "rht"; }; richardipsum = { email = "richardipsum@fastmail.co.uk"; github = "richardipsum"; + githubId = 10631029; name = "Richard Ipsum"; }; rick68 = { email = "rick68@gmail.com"; github = "rick68"; + githubId = 42619; name = "Wei-Ming Yang"; }; rickynils = { @@ -3910,27 +5324,44 @@ ris = { email = "code@humanleg.org.uk"; github = "risicle"; + githubId = 807447; name = "Robert Scott"; }; rittelle = { email = "rittelle@posteo.de"; github = "rittelle"; + githubId = 33598633; name = "Lennart Rittel"; }; + rixed = { + email = "rixed-github@happyleptic.org"; + github = "rixed"; + githubId = 449990; + name = "Cedric Cellier"; + }; rkoe = { email = "rk@simple-is-better.org"; github = "rkoe"; + githubId = 2507744; name = "Roland Koebler"; }; rlupton20 = { email = "richard.lupton@gmail.com"; github = "rlupton20"; + githubId = 13752145; name = "Richard Lupton"; }; rnhmjoj = { - email = "micheleguerinirocco@me.com"; + email = "rnhmjoj@inventati.org"; github = "rnhmjoj"; + githubId = 2817565; name = "Michele Guerini Rocco"; + keys = + [ + { longkeyid = "ed25519/0xBFBAF4C975F76450"; + fingerprint = "92B2 904F D293 C94D C4C9 3E6B BFBA F4C9 75F7 6450"; + } + ]; }; rob = { email = "rob.vermaas@gmail.com"; @@ -3945,86 +5376,109 @@ robbinch = { email = "robbinch33@gmail.com"; github = "robbinch"; + githubId = 12312980; name = "Robbin C."; }; roberth = { email = "nixpkgs@roberthensing.nl"; github = "roberth"; + githubId = 496447; name = "Robert Hensing"; }; robertodr = { email = "roberto.diremigio@gmail.com"; github = "robertodr"; + githubId = 3708689; name = "Roberto Di Remigio"; }; robgssp = { email = "robgssp@gmail.com"; github = "robgssp"; + githubId = 521306; name = "Rob Glossop"; }; roblabla = { email = "robinlambertz+dev@gmail.com"; github = "roblabla"; + githubId = 1069318; name = "Robin Lambertz"; }; roconnor = { email = "roconnor@theorem.ca"; github = "roconnor"; + githubId = 852967; name = "Russell O'Connor"; }; romildo = { email = "malaquias@gmail.com"; github = "romildo"; + githubId = 1217934; name = "José Romildo Malaquias"; }; rongcuid = { email = "rongcuid@outlook.com"; github = "rongcuid"; + githubId = 1312525; name = "Rongcui Dong"; }; roosemberth = { email = "roosembert.palacios+nixpkgs@gmail.com"; github = "roosemberth"; + githubId = 3621083; name = "Roosembert (Roosemberth) Palacios"; }; royneary = { email = "christian@ulrich.earth"; github = "royneary"; + githubId = 1942810; name = "Christian Ulrich"; }; rprospero = { email = "rprospero+nix@gmail.com"; github = "rprospero"; + githubId = 1728853; name = "Adam Washington"; }; + rps = { + email = "robbpseaton@gmail.com"; + github = "robertseaton"; + githubId = 221121; + name = "Robert P. Seaton"; + }; rszibele = { email = "richard@szibele.com"; github = "rszibele"; + githubId = 1387224; name = "Richard Szibele"; }; rtreffer = { email = "treffer+nixos@measite.de"; github = "rtreffer"; + githubId = 61306; name = "Rene Treffer"; }; rushmorem = { email = "rushmore@webenchanter.com"; github = "rushmorem"; + githubId = 4958190; name = "Rushmore Mushambi"; }; ruuda = { email = "dev+nix@veniogames.com"; github = "ruuda"; + githubId = 506953; name = "Ruud van Asseldonk"; }; rvl = { email = "dev+nix@rodney.id.au"; github = "rvl"; + githubId = 1019641; name = "Rodney Lorrimar"; }; rvlander = { email = "rvlander@gaetanandre.eu"; github = "rvlander"; + githubId = 5236428; name = "Gaëtan André"; }; rvolosatovs = { @@ -4035,6 +5489,7 @@ ryanartecona = { email = "ryanartecona@gmail.com"; github = "ryanartecona"; + githubId = 889991; name = "Ryan Artecona"; }; ryansydnor = { @@ -4045,51 +5500,65 @@ ryantm = { email = "ryan@ryantm.com"; github = "ryantm"; + githubId = 4804; name = "Ryan Mulligan"; }; ryantrinkle = { email = "ryan.trinkle@gmail.com"; github = "ryantrinkle"; + githubId = 1156448; name = "Ryan Trinkle"; }; rybern = { email = "ryan.bernstein@columbia.edu"; github = "rybern"; + githubId = 4982341; name = "Ryan Bernstein"; }; rycee = { email = "robert@rycee.net"; github = "rycee"; + githubId = 798147; name = "Robert Helgesson"; + keys = [{ + longkeyid = "rsa4096/0x3573356C25C424D4"; + fingerprint = "36CA CF52 D098 CC0E 78FB 0CB1 3573 356C 25C4 24D4"; + }]; }; ryneeverett = { email = "ryneeverett@gmail.com"; github = "ryneeverett"; + githubId = 3280280; name = "Ryne Everett"; }; rzetterberg = { email = "richard.zetterberg@gmail.com"; github = "rzetterberg"; + githubId = 766350; name = "Richard Zetterberg"; }; - s1lvester = { - email = "s1lvester@bockhacker.me"; - github = "s1lvester"; - name = "Markus Silvester"; - }; samdroid-apps = { email = "sam@sam.today"; github = "samdroid-apps"; + githubId = 6022042; name = "Sam Parkinson"; }; + samrose = { + email = "samuel.rose@gmail.com"; + github = "samrose"; + githubId = 115821; + name = "Sam Rose"; + }; samueldr = { email = "samuel@dionne-riel.com"; github = "samueldr"; + githubId = 132835; name = "Samuel Dionne-Riel"; }; samuelrivas = { email = "samuelrivas@gmail.com"; github = "samuelrivas"; + githubId = 107703; name = "Samuel Rivas"; }; sander = { @@ -4100,21 +5569,31 @@ sargon = { email = "danielehlers@mindeye.net"; github = "sargon"; + githubId = 178904; name = "Daniel Ehlers"; }; + saschagrunert = { + email = "mail@saschagrunert.de"; + github = "saschagrunert"; + githubId = 695473; + name = "Sascha Grunert"; + }; sauyon = { email = "s@uyon.co"; github = "sauyon"; + githubId = 2347889; name = "Sauyon Lee"; }; sb0 = { email = "sb@m-labs.hk"; github = "sbourdeauducq"; + githubId = 720864; name = "Sébastien Bourdeauducq"; }; sboosali = { email = "SamBoosalis@gmail.com"; github = "sboosali"; + githubId = 2320433; name = "Sam Boosalis"; }; scalavision = { @@ -4125,6 +5604,7 @@ schmitthenner = { email = "development@schmitthenner.eu"; github = "fkz"; + githubId = 354463; name = "Fabian Schmitthenner"; }; schmittlauch = { @@ -4134,6 +5614,7 @@ schneefux = { email = "schneefux+nixos_pkg@schneefux.xyz"; github = "schneefux"; + githubId = 15379000; name = "schneefux"; }; schristo = { @@ -4143,91 +5624,131 @@ scode = { email = "peter.schuller@infidyne.com"; github = "scode"; + githubId = 59476; name = "Peter Schuller"; }; scolobb = { email = "sivanov@colimite.fr"; github = "scolobb"; + githubId = 11320; name = "Sergiu Ivanov"; }; screendriver = { email = "nix@echooff.de"; github = "screendriver"; + githubId = 149248; name = "Christian Rackerseder"; }; Scriptkiddi = { email = "nixos@scriptkiddi.de"; github = "scriptkiddi"; + githubId = 3598650; name = "Fritz Otlinghaus"; }; + scubed2 = { + email = "scubed2@gmail.com"; + github = "scubed2"; + name = "Sterling Stein"; + }; sdll = { email = "sasha.delly@gmail.com"; github = "sdll"; + githubId = 17913919; name = "Sasha Illarionov"; }; SeanZicari = { email = "sean.zicari@gmail.com"; github = "SeanZicari"; + githubId = 2343853; name = "Sean Zicari"; }; sellout = { email = "greg@technomadic.org"; github = "sellout"; + githubId = 33031; name = "Greg Pfeil"; }; sengaya = { email = "tlo@sengaya.de"; github = "sengaya"; + githubId = 1286668; name = "Thilo Uttendorfer"; }; sephalon = { email = "me@sephalon.net"; github = "sephalon"; + githubId = 893474; name = "Stefan Wiehler"; }; sepi = { email = "raffael@mancini.lu"; github = "sepi"; + githubId = 529649; name = "Raffael Mancini"; }; seppeljordan = { email = "sebastian.jordan.mail@googlemail.com"; github = "seppeljordan"; + githubId = 4805746; name = "Sebastian Jordan"; }; seqizz = { email = "seqizz@gmail.com"; github = "seqizz"; + githubId = 307899; name = "Gurkan Gur"; }; sfrijters = { email = "sfrijters@gmail.com"; github = "sfrijters"; + githubId = 918365; name = "Stefan Frijters"; }; + sgo = { + email = "stig@stig.io"; + github = "stigtsp"; + githubId = 75371; + name = "Stig Palmquist"; + }; + sgraf = { + email = "sgraf1337@gmail.com"; + github = "sgraf812"; + githubId = 1151264; + name = "Sebastian Graf"; + }; shanemikel = { email = "shanemikel1@gmail.com"; github = "shanemikel"; + githubId = 6720672; name = "Shane Pearlman"; }; shawndellysse = { email = "sdellysse@gmail.com"; github = "shawndellysse"; + githubId = 293035; name = "Shawn Dellysse"; }; + shazow = { + email = "andrey.petrov@shazow.net"; + github = "shazow"; + name = "Andrey Petrov"; + }; sheenobu = { email = "sheena.artrip@gmail.com"; github = "sheenobu"; + githubId = 1443459; name = "Sheena Artrip"; }; sheganinans = { email = "sheganinans@gmail.com"; github = "sheganinans"; + githubId = 2146203; name = "Aistis Raulinaitis"; }; shell = { email = "cam.turn@gmail.com"; github = "VShell"; + githubId = 251028; name = "Shell Turner"; }; shlevy = { @@ -4235,49 +5756,69 @@ github = "shlevy"; name = "Shea Levy"; }; + shmish111 = { + email = "shmish111@gmail.com"; + github = "shmish111"; + name = "David Smith"; + }; shou = { email = "x+g@shou.io"; github = "Shou"; + githubId = 819413; name = "Benedict Aas"; }; siddharthist = { email = "langston.barrett@gmail.com"; - github = "siddharthist"; + github = "langston-barrett"; + githubId = 4294323; name = "Langston Barrett"; }; siers = { email = "veinbahs+nixpkgs@gmail.com"; github = "siers"; + githubId = 235147; name = "Raitis Veinbahs"; }; sifmelcara = { email = "ming@culpring.com"; github = "sifmelcara"; + githubId = 10496191; name = "Ming Chuan"; }; sigma = { email = "yann.hodique@gmail.com"; github = "sigma"; + githubId = 16090; name = "Yann Hodique"; }; + sikmir = { + email = "sikmir@gmail.com"; + github = "sikmir"; + githubId = 688044; + name = "Nikolay Korotkiy"; + }; simonvandel = { email = "simon.vandel@gmail.com"; github = "simonvandel"; + githubId = 2770647; name = "Simon Vandel Sillesen"; }; sivteck = { email = "sivaram1992@gmail.com"; github = "sivteck"; + githubId = 8017899; name = "Sivaram Balakrishnan"; }; sjagoe = { email = "simon@simonjagoe.com"; github = "sjagoe"; + githubId = 80012; name = "Simon Jagoe"; }; sjau = { email = "nixos@sjau.ch"; github = "sjau"; + githubId = 848812; name = "Stephan Jau"; }; sjmackenzie = { @@ -4292,6 +5833,7 @@ skeidel = { email = "svenkeidel@gmail.com"; github = "svenkeidel"; + githubId = 266500; name = "Sven Keidel"; }; skrzyp = { @@ -4301,11 +5843,23 @@ sleexyz = { email = "freshdried@gmail.com"; github = "sleexyz"; + githubId = 1505617; name = "Sean Lee"; }; + smakarov = { + email = "setser200018@gmail.com"; + github = "setser"; + githubId = 12733495; + 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"; + githubId = 95471; name = "Sébastien Maret"; keys = [{ longkeyid = "rsa4096/0x86E30E5A0F5FC59C"; @@ -4315,56 +5869,77 @@ smironov = { email = "grrwlf@gmail.com"; github = "grwlf"; + githubId = 4477729; name = "Sergey Mironov"; }; sna = { email = "abouzahra.9@wright.edu"; github = "s-na"; + githubId = 20214715; name = "S. Nordin Abouzahra"; }; snaar = { email = "snaar@snaar.net"; github = "snaar"; + githubId = 602439; name = "Serguei Narojnyi"; }; snyh = { email = "snyh@snyh.org"; github = "snyh"; + githubId = 1437166; name = "Xia Bin"; }; solson = { email = "scott@solson.me"; github = "solson"; + githubId = 26806; name = "Scott Olson"; }; + sondr3 = { + email = "nilsen.sondre@gmail.com"; + github = "sondr3"; + githubId = 2280539; + 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"; + githubId = 115308; name = "Richard Marko"; }; sorpaas = { email = "hi@that.world"; github = "sorpaas"; + githubId = 6277322; name = "Wei Tang"; }; spacefrogg = { email = "spacefrogg-nixos@meterriblecrew.net"; github = "spacefrogg"; + githubId = 167881; name = "Michael Raitza"; }; spacekookie = { email = "kookie@spacekookie.de"; github = "spacekookie"; + githubId = 7669898; name = "Katharina Fey"; }; spencerjanssen = { email = "spencerjanssen@gmail.com"; github = "spencerjanssen"; + githubId = 2600039; name = "Spencer Janssen"; }; spinus = { email = "tomasz.czyz@gmail.com"; github = "spinus"; + githubId = 950799; name = "Tomasz Czyż"; }; sprock = { @@ -4375,6 +5950,7 @@ spwhitt = { email = "sw@swhitt.me"; github = "spwhitt"; + githubId = 1414088; name = "Spencer Whitt"; }; srghma = { @@ -4382,124 +5958,188 @@ github = "srghma"; name = "Sergei Khoma"; }; + srgom = { + email = "srgom@users.noreply.github.com"; + github = "srgom"; + githubId = 8103619; + name = "SRGOM"; + }; srhb = { email = "sbrofeldt@gmail.com"; github = "srhb"; + githubId = 219362; name = "Sarah Brofeldt"; }; SShrike = { email = "severen@shrike.me"; github = "severen"; + githubId = 4061736; name = "Severen Redwood"; }; + steell = { + email = "steve@steellworks.com"; + github = "Steell"; + githubId = 1699155; + name = "Steve Elliott"; + }; stephenmw = { email = "stephen@q5comm.com"; github = "stephenmw"; + githubId = 231788; name = "Stephen Weinberg"; }; + sterfield = { + email = "sterfield@gmail.com"; + github = "sterfield"; + githubId = 5747061; + name = "Guillaume Loetscher"; + }; sternenseemann = { email = "post@lukasepple.de"; github = "sternenseemann"; + githubId = 3154475; name = "Lukas Epple"; }; + steshaw = { + name = "Steven Shaw"; + email = "steven@steshaw.org"; + github = "steshaw"; + githubId = 45735; + keys = [{ + longkeyid = "rsa4096/0x1D9A17DFD23DCB91"; + fingerprint = "0AFE 77F7 474D 1596 EE55 7A29 1D9A 17DF D23D CB91"; + }]; + }; stesie = { email = "stesie@brokenpipe.de"; github = "stesie"; + githubId = 113068; name = "Stefan Siegl"; }; + steve-chavez = { + email = "stevechavezast@gmail.com"; + github = "steve-chavez"; + githubId = 1829294; + name = "Steve Chávez"; + }; steveej = { email = "mail@stefanjunker.de"; github = "steveej"; + githubId = 1181362; name = "Stefan Junker"; }; StijnDW = { email = "stekke@airmail.cc"; github = "StijnDW"; + githubId = 1751956; name = "Stijn DW"; }; StillerHarpo = { email = "florianengel39@gmail.com"; github = "StillerHarpo"; + githubId = 25526706; name = "Florian Engel"; }; stites = { email = "sam@stites.io"; github = "stites"; + githubId = 1694705; name = "Sam Stites"; }; stumoss = { email = "samoss@gmail.com"; github = "stumoss"; + githubId = 638763; name = "Stuart Moss"; }; + suhr = { + email = "suhr@i2pmail.org"; + github = "suhr"; + githubId = 65870; + name = "Сухарик"; + }; SuprDewd = { email = "suprdewd@gmail.com"; github = "SuprDewd"; + githubId = 187109; name = "Bjarki Ágúst Guðmundsson"; }; suvash = { email = "suvash+nixpkgs@gmail.com"; github = "suvash"; + githubId = 144952; name = "Suvash Thapaliya"; }; sveitser = { email = "sveitser@gmail.com"; github = "sveitser"; + githubId = 1040871; name = "Mathis Antony"; }; svsdep = { email = "svsdep@gmail.com"; github = "svsdep"; + githubId = 36695359; name = "Vasyl Solovei"; }; swarren83 = { email = "shawn.w.warren@gmail.com"; github = "swarren83"; + githubId = 4572854; name = "Shawn Warren"; }; swdunlop = { email = "swdunlop@gmail.com"; github = "swdunlop"; + githubId = 120188; name = "Scott W. Dunlop"; }; swflint = { email = "swflint@flintfam.org"; github = "swflint"; + githubId = 1771109; name = "Samuel W. Flint"; }; swistak35 = { email = "me@swistak35.com"; github = "swistak35"; + githubId = 332289; name = "Rafał Łasocha"; }; symphorien = { email = "symphorien_nixpkgs@xlumurb.eu"; github = "symphorien"; + githubId = 12595971; name = "Guillaume Girol"; }; synthetica = { email = "nix@hilhorst.be"; github = "Synthetica9"; + githubId = 7075751; name = "Patrick Hilhorst"; }; szczyp = { email = "qb@szczyp.com"; github = "szczyp"; + githubId = 203195; name = "Szczyp"; }; sztupi = { email = "attila.sztupak@gmail.com"; github = "sztupi"; + githubId = 143103; name = "Attila Sztupak"; }; t184256 = { email = "monk@unboiled.info"; github = "t184256"; + githubId = 5991987; name = "Alexander Sosedkin"; }; tadeokondrak = { email = "me@tadeo.ca"; github = "tadeokondrak"; + githubId = 4098453; name = "Tadeo Kondrak"; keys = [{ longkeyid = "ed25519/0xFBE607FCC49516D3"; @@ -4509,11 +6149,13 @@ tadfisher = { email = "tadfisher@gmail.com"; github = "tadfisher"; + githubId = 129148; name = "Tad Fisher"; }; taeer = { email = "taeer@necsi.edu"; github = "Radvendii"; + githubId = 1239929; name = "Taeer Bar-Yam"; }; taha = { @@ -4524,73 +6166,98 @@ tailhook = { email = "paul@colomiets.name"; github = "tailhook"; + githubId = 321799; name = "Paul Colomiets"; }; taketwo = { email = "alexandrov88@gmail.com"; github = "taketwo"; + githubId = 1241736; name = "Sergey Alexandrov"; }; takikawa = { email = "asumu@igalia.com"; github = "takikawa"; + githubId = 64192; name = "Asumu Takikawa"; }; taktoa = { email = "taktoa@gmail.com"; github = "taktoa"; + githubId = 553443; name = "Remy Goldschmidt"; }; taku0 = { email = "mxxouy6x3m_github@tatapa.org"; github = "taku0"; + githubId = 870673; name = "Takuo Yonezawa"; }; talyz = { email = "kim.lindberger@gmail.com"; github = "talyz"; + githubId = 63433; name = "Kim Lindberger"; }; taneb = { email = "nvd1234@gmail.com"; github = "Taneb"; + githubId = 1901799; name = "Nathan van Doorn"; }; tari = { email = "peter@taricorp.net"; github = "tari"; + githubId = 506181; name = "Peter Marheine"; }; tavyc = { email = "octavian.cerna@gmail.com"; github = "tavyc"; + githubId = 3650609; name = "Octavian Cerna"; }; tazjin = { email = "mail@tazj.in"; github = "tazjin"; + githubId = 1552853; name = "Vincent Ambo"; }; tbenst = { email = "nix@tylerbenster.com"; github = "tbenst"; + githubId = 863327; name = "Tyler Benster"; }; teh = { email = "tehunger@gmail.com"; github = "teh"; + githubId = 139251; name = "Tom Hunger"; }; telotortium = { email = "rirelan@gmail.com"; github = "telotortium"; + githubId = 1755789; name = "Robert Irelan"; }; teozkr = { email = "teo@nullable.se"; github = "teozkr"; + githubId = 649832; name = "Teo Klestrup Röijezon"; }; + terlar = { + email = "terlar@gmail.com"; + github = "terlar"; + githubId = 280235; + name = "Terje Larsen"; + }; + tesq0 = { + email = "mikolaj.galkowski@gmail.com"; + github = "tesq0"; + name = "Mikolaj Galkowski"; + }; teto = { email = "mcoudron@hotmail.com"; github = "teto"; @@ -4599,26 +6266,31 @@ tex = { email = "milan.svoboda@centrum.cz"; github = "tex"; + githubId = 27386; name = "Milan Svoboda"; }; tg-x = { email = "*@tg-x.net"; github = "tg-x"; + githubId = 378734; name = "TG ⊗ Θ"; }; thall = { email = "niclas.thall@gmail.com"; github = "thall"; + githubId = 102452; name = "Niclas Thall"; }; thammers = { email = "jawr@gmx.de"; github = "tobias-hammerschmidt"; + githubId = 2543259; name = "Tobias Hammerschmidt"; }; thanegill = { email = "me@thanegill.com"; github = "thanegill"; + githubId = 1141680; name = "Thane Gill"; }; the-kenny = { @@ -4626,29 +6298,62 @@ github = "the-kenny"; name = "Moritz Ulrich"; }; + thedavidmeister = { + email = "thedavidmeister@gmail.com"; + github = "thedavidmeister"; + githubId = 629710; + name = "David Meister"; + }; + thefloweringash = { + email = "lorne@cons.org.nz"; + github = "thefloweringash"; + githubId = 42933; + name = "Andrew Childs"; + }; + thesola10 = { + email = "thesola10@bobile.fr"; + github = "thesola10"; + githubId = 7287268; + 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"; + githubId = 1220572; name = "Christian Theune"; }; + thiagokokada = { + email = "thiagokokada@gmail.com"; + github = "thiagokokada"; + githubId = 844343; + name = "Thiago K. Okada"; + }; ThomasMader = { email = "thomas.mader@gmail.com"; github = "ThomasMader"; + githubId = 678511; name = "Thomas Mader"; }; thoughtpolice = { email = "aseipp@pobox.com"; github = "thoughtpolice"; + githubId = 3416; name = "Austin Seipp"; }; thpham = { email = "thomas.pham@ithings.ch"; github = "thpham"; + githubId = 224674; name = "Thomas Pham"; }; tilpner = { email = "till@hoeppner.ws"; github = "tilpner"; + githubId = 4322055; name = "Till Höppner"; }; timbertson = { @@ -4659,31 +6364,37 @@ timokau = { email = "timokau@zoho.com"; github = "timokau"; + githubId = 3799330; name = "Timo Kaufmann"; }; timor = { email = "timor.dd@googlemail.com"; github = "timor"; + githubId = 174156; name = "timor"; }; timput = { email = "tim@timput.com"; github = "TimPut"; + githubId = 2845239; name = "Tim Put"; }; tiramiseb = { email = "sebastien@maccagnoni.eu"; github = "tiramiseb"; + githubId = 1292007; name = "Sébastien Maccagnoni"; }; titanous = { email = "jonathan@titanous.com"; github = "titanous"; + githubId = 13026; name = "Jonathan Rudenberg"; }; tmplt = { email = "tmplt@dragons.rocks"; github = "tmplt"; + githubId = 6118602; name = "Viktor"; }; tnias = { @@ -4693,62 +6404,80 @@ }; tobim = { email = "nix@tobim.fastmail.fm"; - github = "tobimpub"; + github = "tobim"; + githubId = 858790; name = "Tobias Mayer"; }; + tobiasBora = { + email = "tobias.bora.list@gmail.com"; + github = "tobiasBora"; + githubId = 2164118; + name = "Tobias Bora"; + }; tohl = { email = "tom@logand.com"; github = "tohl"; + githubId = 12159013; name = "Tomas Hlavaty"; }; tokudan = { email = "git@danielfrank.net"; github = "tokudan"; + githubId = 692610; name = "Daniel Frank"; }; tomahna = { email = "kevin.rauscher@tomahna.fr"; github = "Tomahna"; + githubId = 8577941; name = "Kevin Rauscher"; }; tomberek = { email = "tomberek@gmail.com"; github = "tomberek"; + githubId = 178444; name = "Thomas Bereknyei"; }; tomsmeets = { email = "tom.tsmeets@gmail.com"; github = "tomsmeets"; + githubId = 6740669; name = "Tom Smeets"; }; toonn = { email = "nnoot@toonn.io"; github = "toonn"; + githubId = 1486805; name = "Toon Nolten"; }; travisbhartwell = { email = "nafai@travishartwell.net"; github = "travisbhartwell"; + githubId = 10110; name = "Travis B. Hartwell"; }; treemo = { email = "matthieu.chevrier@treemo.fr"; github = "treemo"; + githubId = 207457; name = "Matthieu Chevrier"; }; trevorj = { email = "nix@trevor.joynson.io"; github = "akatrevorjay"; + githubId = 1312290; name = "Trevor Joynson"; }; trino = { email = "muehlhans.hubert@ekodia.de"; github = "hmuehlhans"; + githubId = 9870613; name = "Hubert Mühlhans"; }; troydm = { email = "d.geurkov@gmail.com"; github = "troydm"; + githubId = 483735; name = "Dmitry Geurkov"; }; tstrobel = { @@ -4758,11 +6487,13 @@ ttuegel = { email = "ttuegel@mailbox.org"; github = "ttuegel"; + githubId = 563054; name = "Thomas Tuegel"; }; tv = { email = "tv@krebsco.de"; github = "4z3"; + githubId = 427872; name = "Tomislav Viljetić"; }; tvestelind = { @@ -4773,6 +6504,7 @@ tvorog = { email = "marszaripov@gmail.com"; github = "tvorog"; + githubId = 1325161; name = "Marsel Zaripov"; }; tweber = { @@ -4785,44 +6517,62 @@ github = "twey"; name = "James ‘Twey’ Kay"; }; + twhitehead = { + name = "Tyson Whitehead"; + email = "twhitehead@gmail.com"; + github = "twhitehead"; + githubId = 787843; + keys = [{ + longkeyid = "rsa2048/0x594258F0389D2802"; + fingerprint = "E631 8869 586F 99B4 F6E6 D785 5942 58F0 389D 2802"; + }]; + }; typetetris = { email = "ericwolf42@mail.com"; github = "typetetris"; + githubId = 1983821; name = "Eric Wolf"; }; udono = { email = "udono@virtual-things.biz"; github = "udono"; + githubId = 347983; name = "Udo Spallek"; }; unode = { email = "alves.rjc@gmail.com"; github = "unode"; + githubId = 122319; name = "Renato Alves"; }; uralbash = { email = "root@uralbash.ru"; github = "uralbash"; + githubId = 619015; name = "Svintsov Dmitry"; }; uri-canva = { email = "uri@canva.com"; github = "uri-canva"; + githubId = 33242106; name = "Uri Baghin"; }; uskudnik = { email = "urban.skudnik@gmail.com"; github = "uskudnik"; + githubId = 120451; name = "Urban Skudnik"; }; utdemir = { email = "me@utdemir.com"; github = "utdemir"; + githubId = 928084; name = "Utku Demir"; }; uvnikita = { email = "uv.nikita@gmail.com"; github = "uvNikita"; + githubId = 1084748; name = "Nikita Uvarov"; }; uwap = { @@ -4833,13 +6583,21 @@ va1entin = { email = "github@valentinsblog.com"; github = "va1entin"; + githubId = 31535155; name = "Valentin Heidelberger"; }; vaibhavsagar = { email = "vaibhavsagar@gmail.com"; github = "vaibhavsagar"; + githubId = 1525767; name = "Vaibhav Sagar"; }; + valebes = { + email = "valebes@gmail.com"; + github = "valebes"; + githubid = 10956211; + name = "Valerio Besozzi"; + }; valeriangalliat = { email = "val@codejam.info"; github = "valeriangalliat"; @@ -4848,66 +6606,93 @@ vandenoever = { email = "jos@vandenoever.info"; github = "vandenoever"; + githubId = 608417; name = "Jos van den Oever"; }; vanschelven = { email = "klaas@vanschelven.com"; github = "vanschelven"; + githubId = 223833; name = "Klaas van Schelven"; }; vanzef = { email = "vanzef@gmail.com"; github = "vanzef"; + githubId = 12428837; name = "Ivan Solyankin"; }; varunpatro = { email = "varun.kumar.patro@gmail.com"; github = "varunpatro"; + githubId = 6943308; name = "Varun Patro"; }; vbgl = { email = "Vincent.Laporte@gmail.com"; github = "vbgl"; + githubId = 2612464; name = "Vincent Laporte"; }; vbmithr = { email = "vb@luminar.eu.org"; github = "vbmithr"; + githubId = 797581; 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"; + githubId = 1785925; + keys = [{ + longkeyid = "rsa4096/0xE747DF1F9575A3AA"; + fingerprint = "B600 6460 B60A 80E7 8206 2449 E747 DF1F 9575 A3AA"; + }]; }; vdemeester = { email = "vincent@sbr.pm"; github = "vdemeester"; + githubId = 6508; name = "Vincent Demeester"; }; velovix = { email = "xaviosx@gmail.com"; github = "velovix"; + githubId = 2856634; name = "Tyler Compton"; }; veprbl = { email = "veprbl@gmail.com"; github = "veprbl"; + githubId = 245573; name = "Dmitry Kalinkin"; }; vidbina = { email = "vid@bina.me"; github = "vidbina"; + githubId = 335406; name = "David Asabina"; }; vifino = { email = "vifino@tty.sh"; github = "vifino"; + githubId = 5837359; name = "Adrian Pistol"; }; + vika_nezrimaya = { + email = "vika@fireburn.ru"; + github = "kisik21"; + githubId = 7953163; + name = "Vika Shleina"; + keys = [{ + longkeyid = "rsa4096/0x5402B9B5497BACDB"; + fingerprint = "A03C D09C 36CF D9F6 1ADF AF11 5402 B9B5 497B ACDB"; + }]; + }; vinymeuh = { email = "vinymeuh@gmail.com"; github = "vinymeuh"; + githubId = 118959; name = "VinyMeuh"; }; viric = { @@ -4915,6 +6700,12 @@ github = "viric"; name = "Lluís Batlle i Rossell"; }; + virusdave = { + email = "dave.nicponski@gmail.com"; + github = "virusdave"; + githubId = 6148271; + name = "Dave Nicponski"; + }; vizanto = { email = "danny@prime.vc"; github = "vizanto"; @@ -4923,21 +6714,25 @@ vklquevs = { email = "vklquevs@gmail.com"; github = "vklquevs"; + githubId = 1771234; name = "vklquevs"; }; vlaci = { email = "laszlo.vasko@outlook.com"; github = "vlaci"; + githubId = 1771332; name = "László Vaskó"; }; vlstill = { email = "xstill@fi.muni.cz"; github = "vlstill"; + githubId = 4070422; name = "Vladimír Štill"; }; vmandela = { email = "venkat.mandela@gmail.com"; github = "vmandela"; + githubId = 849772; name = "Venkateswara Rao Mandela"; }; vmchale = { @@ -4948,11 +6743,13 @@ volhovm = { email = "volhovm.cs@gmail.com"; github = "volhovm"; + githubId = 5604643; name = "Mikhail Volkhov"; }; volth = { email = "jaroslavas@volth.com"; github = "volth"; + githubId = 508305; name = "Jaroslavas Pocepko"; }; vozz = { @@ -4962,26 +6759,37 @@ vrthra = { email = "rahul@gopinath.org"; github = "vrthra"; + githubId = 70410; name = "Rahul Gopinath"; }; vskilet = { email = "victor@sene.ovh"; github = "vskilet"; + githubId = 7677567; name = "Victor SENE"; }; + vyorkin = { + email = "vasiliy.yorkin@gmail.com"; + github = "vyorkin"; + githubId = 988849; + name = "Vasiliy Yorkin"; + }; vyp = { email = "elisp.vim@gmail.com"; github = "vyp"; + githubId = 3889405; name = "vyp"; }; waynr = { name = "Wayne Warren"; email = "wayne.warren.s@gmail.com"; github = "waynr"; + githubId = 1441126; }; wchresta = { email = "wchresta.nix@chrummibei.ch"; github = "wchresta"; + githubId = 34962284; name = "wchresta"; }; wedens = { @@ -4991,6 +6799,7 @@ willibutz = { email = "willibutz@posteo.de"; github = "willibutz"; + githubId = 20464732; name = "Willi Butz"; }; willtim = { @@ -5001,34 +6810,46 @@ email = "windenntw@gmail.com"; name = "Antonio Vargas Gonzalez"; }; + winpat = { + email = "patrickwinter@posteo.ch"; + github = "winpat"; + githubId = 6016963; + name = "Patrick Winter"; + }; wizeman = { email = "rcorreia@wizy.org"; github = "wizeman"; + githubId = 168610; name = "Ricardo M. Correia"; }; wjlroe = { email = "willroe@gmail.com"; github = "wjlroe"; + githubId = 43315; name = "William Roe"; }; wmertens = { email = "Wout.Mertens@gmail.com"; github = "wmertens"; + githubId = 54934; name = "Wout Mertens"; }; woffs = { email = "github@woffs.de"; github = "woffs"; + githubId = 895853; name = "Frank Doepper"; }; womfoo = { email = "kranium@gikos.net"; github = "womfoo"; + githubId = 1595132; name = "Kranium Gikos Mendoza"; }; worldofpeace = { - email = "worldofpeace@users.noreply.github.com"; + email = "worldofpeace@protonmail.ch"; github = "worldofpeace"; + githubId = 28888242; name = "Worldofpeace"; }; wscott = { @@ -5039,26 +6860,37 @@ wucke13 = { email = "info@wucke13.de"; github = "wucke13"; + githubId = 20400405; name = "Wucke"; }; wykurz = { email = "wykurz@gmail.com"; github = "wykurz"; + githubId = 483465; name = "Mateusz Wykurz"; }; wyvie = { email = "elijahrum@gmail.com"; github = "wyvie"; + githubId = 3992240; name = "Elijah Rum"; }; xaverdh = { email = "hoe.dom@gmx.de"; github = "xaverdh"; + githubId = 11050617; name = "Dominik Xaver Hörl"; }; + xbreak = { + email = "xbreak@alphaware.se"; + github = "xbreak"; + githubId = 13489144; + name = "Calle Rosenquist"; + }; xeji = { email = "xeji@cat3.de"; github = "xeji"; + githubId = 36407913; name = "Uli Baum"; }; xnaveira = { @@ -5069,26 +6901,37 @@ xnwdd = { email = "nwdd+nixos@no.team"; github = "xnwdd"; + githubId = 3028542; name = "Guillermo NWDD"; }; + xrelkd = { + email = "46590321+xrelkd@users.noreply.github.com"; + github = "xrelkd"; + githubId = 46590321; + name = "xrelkd"; + }; xurei = { email = "olivier.bourdoux@gmail.com"; github = "xurei"; + githubId = 621695; name = "Olivier Bourdoux"; }; xvapx = { email = "marti.serra.coscollano@gmail.com"; github = "xvapx"; + githubId = 11824817; name = "Marti Serra"; }; xwvvvvwx = { email = "davidterry@posteo.de"; github = "xwvvvvwx"; + githubId = 6689924; name = "David Terry"; }; xzfc = { email = "xzfcpw@gmail.com"; github = "xzfc"; + githubId = 5121426; name = "Albert Safin"; }; y0no = { @@ -5099,91 +6942,108 @@ yarny = { email = "41838844+Yarny0@users.noreply.github.com"; github = "Yarny0"; + githubId = 41838844; name = "Yarny"; }; yarr = { email = "savraz@gmail.com"; github = "Eternity-Yarr"; + githubId = 3705333; name = "Dmitry V."; }; yegortimoshenko = { email = "yegortimoshenko@riseup.net"; github = "yegortimoshenko"; + githubId = 1643293; name = "Yegor Timoshenko"; }; yesbox = { email = "jesper.geertsen.jonsson@gmail.com"; github = "yesbox"; + githubId = 4113027; name = "Jesper Geertsen Jonsson"; }; ylwghst = { email = "ylwghst@onionmail.info"; github = "ylwghst"; + githubId = 26011724; name = "Burim Augustin Berisa"; }; yochai = { email = "yochai@titat.info"; github = "yochai"; + githubId = 1322201; name = "Yochai"; }; yorickvp = { email = "yorickvanpelt@gmail.com"; github = "yorickvp"; + githubId = 647076; name = "Yorick van Pelt"; }; yrashk = { email = "yrashk@gmail.com"; github = "yrashk"; + githubId = 452; name = "Yurii Rashkovskii"; }; ysndr = { email = "me@ysndr.de"; github = "ysndr"; + githubId = 7040031; name = "Yannik Sander"; }; yuriaisaka = { email = "yuri.aisaka+nix@gmail.com"; github = "yuriaisaka"; + githubId = 687198; name = "Yuri Aisaka"; }; yurrriq = { email = "eric@ericb.me"; github = "yurrriq"; + githubId = 1866448; name = "Eric Bailey"; }; z77z = { email = "maggesi@math.unifi.it"; github = "maggesi"; + githubId = 1809783; name = "Marco Maggesi"; }; zachcoyle = { email = "zach.coyle@gmail.com"; github = "zachcoyle"; + githubId = 908716; name = "Zach Coyle"; }; zagy = { email = "cz@flyingcircus.io"; github = "zagy"; + githubId = 568532; name = "Christian Zagrodnick"; }; zalakain = { - email = "contact@unaizalakain.info"; + email = "ping@umazalakain.info"; github = "umazalakain"; - name = "Unai Zalakain"; + name = "Uma Zalakain"; }; zaninime = { email = "francesco@zanini.me"; github = "zaninime"; + githubId = 450885; name = "Francesco Zanini"; }; zarelit = { email = "david@zarel.net"; github = "zarelit"; + githubId = 3449926; name = "David Costa"; }; zauberpony = { email = "elmar@athmer.org"; github = "zauberpony"; + githubId = 250877; name = "Elmar Athmer"; }; zef = { @@ -5193,51 +7053,73 @@ zgrannan = { email = "zgrannan@gmail.com"; github = "zgrannan"; + githubId = 1141948; name = "Zack Grannan"; }; zimbatm = { email = "zimbatm@zimbatm.com"; github = "zimbatm"; + githubId = 3248; name = "zimbatm"; }; Zimmi48 = { email = "theo.zimmermann@univ-paris-diderot.fr"; github = "Zimmi48"; + githubId = 1108325; name = "Théo Zimmermann"; }; zohl = { email = "zohl@fmap.me"; github = "zohl"; + githubId = 6067895; name = "Al Zohali"; }; + zookatron = { + email = "tim@zookatron.com"; + github = "zookatron"; + githubId = 1772064; + name = "Tim Zook"; + }; zoomulator = { email = "zoomulator@gmail.com"; github = "zoomulator"; + githubId = 1069303; name = "Kim Simmons"; }; zraexy = { email = "zraexy@gmail.com"; github = "zraexy"; + githubId = 8100652; name = "David Mell"; }; zx2c4 = { email = "Jason@zx2c4.com"; github = "zx2c4"; + githubId = 10643; name = "Jason A. Donenfeld"; }; zzamboni = { email = "diego@zzamboni.org"; github = "zzamboni"; + githubId = 32876; name = "Diego Zamboni"; }; - mredaelli = { - email = "massimo@typish.io"; - github = "mredaelli"; - name = "Massimo Redaelli"; + turbomack = { + email = "marek.faj@gmail.com"; + github = "turboMaCk"; + githubId = 2130305; + name = "Marek Fajkus"; }; - shmish111 = { - email = "shmish111@gmail.com"; - github = "shmish111"; - name = "David Smith"; + melling = { + email = "mattmelling@fastmail.com"; + github = "mattmelling"; + githubId = 1215331; + name = "Matt Melling"; + }; + wd15 = { + email = "daniel.wheeler2@gmail.com"; + github = "wd15"; + githubId = 1986844; + name = "Daniel Wheeler"; }; } diff --git a/maintainers/scripts/fetch-kde-qt.sh b/maintainers/scripts/fetch-kde-qt.sh index 1357f87aaa5..a267a5fa871 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:?usage: $0 } + +cat <&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)" +# Set in the update-luarocks-shell.nix +NIXPKGS_PATH="$LUAROCKS_NIXPKGS_PATH" -exit_trap() -{ - local lc="$BASH_COMMAND" rc=$? - test $rc -eq 0 || echo -e "*** error $rc: $lc.\nGenerated temporary file in $TMP_FILE" >&2 +# 10 is a pretty arbitrary number of simultaneous jobs, but it is generally +# impolite to hit a webserver with *too* many simultaneous connections :) +PARALLEL_JOBS=10 + +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 + echo "" + echo " -c to set the list of luarocks package to generate" + exit 1 } +if [ $# -lt 1 ]; then + print_help + exit 1 +fi + +trap exit_trap EXIT while getopts ":hc:" opt; do - case $opt in + case $opt in h) - print_help - ;; + print_help + ;; c) - echo "Loading package list from $OPTARG !" >&2 - CSV_FILE="$OPTARG" - ;; + echo "Loading package list from $OPTARG !" >&2 + CSV_FILE="$OPTARG" + ;; \?) - echo "Invalid option: -$OPTARG" >&2 - ;; - esac - shift $((OPTIND-1)) + echo "Invalid option: -$OPTARG" >&2 + ;; + esac + shift $((OPTIND - 1)) done GENERATED_NIXFILE="$1" @@ -61,7 +65,7 @@ nixpkgs$ ${0} ${GENERATED_NIXFILE} These packages are manually refined in lua-overrides.nix */ -{ self, lua, stdenv, fetchurl, fetchgit, pkgs, ... } @ args: +{ self, stdenv, fetchurl, fetchgit, pkgs, ... } @ args: self: super: with self; { @@ -72,41 +76,60 @@ FOOTER=" /* GENERATED */ " +function convert_pkg() { + nix_pkg_name="$1" + lua_pkg_name="$2" + server="$3" + pkg_version="$4" + lua_version="$5" + maintainers="$6" -function convert_pkg () { - pkg="$1" - server="" - if [ ! -z "$2" ]; then - server=" --server=$2" - fi + if [ "${nix_pkg_name:0:1}" == "#" ]; then + echo "Skipping comment ${*}" >&2 + return + fi + if [ -z "$lua_pkg_name" ]; then + echo "Using nix_name as lua_pkg_name for '$nix_pkg_name'" >&2 + lua_pkg_name="$nix_pkg_name" + fi - version="${3:-}" - - echo "looking at $pkg (version $version) from server [$server]" >&2 - cmd="luarocks nix $server $pkg $version" - drv="$($cmd)" - if [ $? -ne 0 ]; then - echo "Failed to convert $pkg" >&2 - echo "$drv" >&2 + echo "Building expression for $lua_pkg_name (version $pkg_version) from server [$server]" >&2 + luarocks_args=(nix) + if [[ -n $server ]]; then + luarocks_args+=("--only-server=$server") + fi + if [[ -n $maintainers ]]; then + luarocks_args+=("--maintainers=$maintainers") + fi + if [[ -n $lua_version ]]; then + lua_drv_path=$(nix-build --no-out-link "$NIXPKGS_PATH" -A "$lua_version") + luarocks_args+=("--lua-dir=$lua_drv_path/bin") + fi + luarocks_args+=("$lua_pkg_name") + if [[ -n $pkg_version ]]; then + luarocks_args+=("$pkg_version") + fi + echo "Running 'luarocks ${luarocks_args[*]}'" >&2 + if drv="$nix_pkg_name = $(luarocks "${luarocks_args[@]}")"; then + echo "$drv" else - echo "$drv" | tee -a "$TMP_FILE" + echo "Failed to convert $nix_pkg_name" >&2 + return 1 fi } # params needed when called via callPackage echo "$HEADER" | tee "$TMP_FILE" -# list of packages with format -# name,server,version -while IFS=, read -r pkg_name server version -do - if [ -z "$pkg_name" ]; then - echo "Skipping empty package name" >&2 - fi - convert_pkg "$pkg_name" "$server" "$version" -done < "$CSV_FILE" +# Ensure parallel can run our bash function +export -f convert_pkg +export SHELL=bash +# Read each line in the csv file and run convert_pkg for each, in parallel +parallel --group --keep-order --halt now,fail=1 --jobs "$PARALLEL_JOBS" --colsep ',' convert_pkg {} <"$CSV_FILE" | tee -a "$TMP_FILE" # close the set echo "$FOOTER" | tee -a "$TMP_FILE" cp "$TMP_FILE" "$GENERATED_NIXFILE" + +# vim: set ts=4 sw=4 ft=sh: diff --git a/maintainers/scripts/update-luarocks-shell.nix b/maintainers/scripts/update-luarocks-shell.nix new file mode 100644 index 00000000000..23a940b3691 --- /dev/null +++ b/maintainers/scripts/update-luarocks-shell.nix @@ -0,0 +1,9 @@ +{ nixpkgs ? import ../.. { } +}: +with nixpkgs; +mkShell { + buildInputs = [ + bash luarocks-nix nix-prefetch-scripts parallel + ]; + LUAROCKS_NIXPKGS_PATH = toString nixpkgs.path; +} diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix index 120cd5552f4..04723cb8a36 100755 --- a/maintainers/scripts/update.nix +++ b/maintainers/scripts/update.nix @@ -20,7 +20,9 @@ let in [x] ++ nubOn f xs; - pkgs = import ./../../default.nix { }; + pkgs = import ./../../default.nix { + overlays = []; + }; packagesWith = cond: return: set: nubOn (pkg: pkg.updateScript) @@ -67,9 +69,12 @@ let let attrSet = pkgs.lib.attrByPath (pkgs.lib.splitString "." path) null pkgs; in - packagesWith (name: pkg: builtins.hasAttr "updateScript" pkg) - (name: pkg: pkg) - attrSet; + if attrSet == null then + builtins.throw "Attribute path `${path}` does not exists." + else + packagesWith (name: pkg: builtins.hasAttr "updateScript" pkg) + (name: pkg: pkg) + attrSet; packageByName = name: let @@ -122,9 +127,17 @@ let packageData = package: { name = package.name; pname = (builtins.parseDrvName package.name).name; - updateScript = pkgs.lib.toList package.updateScript; + updateScript = map builtins.toString (pkgs.lib.toList package.updateScript); }; + packagesJson = pkgs.writeText "packages.json" (builtins.toJSON (map packageData packages)); + + optionalArgs = + pkgs.lib.optional (max-workers != null) "--max-workers=${max-workers}" + ++ pkgs.lib.optional (keep-going == "true") "--keep-going"; + + args = [ packagesJson ] ++ optionalArgs; + in pkgs.stdenv.mkDerivation { name = "nixpkgs-update-script"; buildCommand = '' @@ -139,6 +152,6 @@ in pkgs.stdenv.mkDerivation { ''; shellHook = '' 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"} + exec ${pkgs.python3.interpreter} ${./update.py} ${builtins.concatStringsSep " " args} ''; } diff --git a/nixos/doc/manual/Makefile b/nixos/doc/manual/Makefile index b251a1f5e2c..9ff599a0090 100644 --- a/nixos/doc/manual/Makefile +++ b/nixos/doc/manual/Makefile @@ -6,13 +6,14 @@ debug: generated manual-combined.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 f078b8c3ba3..526803e429b 100644 --- a/nixos/doc/manual/administration/cleaning-store.xml +++ b/nixos/doc/manual/administration/cleaning-store.xml @@ -11,12 +11,12 @@ Nix’s garbage collector to remove old, unreferenced packages. This is easy: -$ nix-collect-garbage +$ nix-collect-garbage Alternatively, you can use a systemd unit that does the same in the background: -# systemctl start nix-gc.service +# systemctl start nix-gc.service You can tell NixOS in configuration.nix to run this unit automatically at certain points in time, for instance, every night at 03:15: @@ -31,11 +31,11 @@ $ nix-collect-garbage configurations. The following command deletes old roots, removing the ability to roll back to them: -$ nix-collect-garbage -d +$ nix-collect-garbage -d You can also do this for specific profiles, e.g. -$ nix-env -p /nix/var/nix/profiles/per-user/eelco/profile --delete-generations old +$ nix-env -p /nix/var/nix/profiles/per-user/eelco/profile --delete-generations old Note that NixOS system configurations are stored in the profile /nix/var/nix/profiles/system. @@ -45,7 +45,7 @@ $ nix-env -p /nix/var/nix/profiles/per-user/eelco/profile --delete-generations o Nix store) is to run Nix’s store optimiser, which seeks out identical files in the store and replaces them with hard links to a single copy. -$ nix-store --optimise +$ nix-store --optimise Since this command needs to read the entire Nix store, it can take quite a while to finish. diff --git a/nixos/doc/manual/administration/container-networking.xml b/nixos/doc/manual/administration/container-networking.xml index 2ee8bfdd50f..42486f01fe8 100644 --- a/nixos/doc/manual/administration/container-networking.xml +++ b/nixos/doc/manual/administration/container-networking.xml @@ -11,10 +11,10 @@ 10.233.0.0/16. You can get the container’s IPv4 address as follows: -# nixos-container show-ip foo +# nixos-container show-ip foo 10.233.4.2 -$ ping -c1 10.233.4.2 +$ ping -c1 10.233.4.2 64 bytes from 10.233.4.2: icmp_seq=1 ttl=64 time=0.106 ms diff --git a/nixos/doc/manual/administration/control-groups.xml b/nixos/doc/manual/administration/control-groups.xml index bb8b7f83d9e..16d03cc0d1a 100644 --- a/nixos/doc/manual/administration/control-groups.xml +++ b/nixos/doc/manual/administration/control-groups.xml @@ -16,7 +16,7 @@ systemd hierarchy, which is what systemd uses to keep track of the processes belonging to each service or user session: -$ systemd-cgls +$ systemd-cgls ├─user │ └─eelco │ └─c1 diff --git a/nixos/doc/manual/administration/imperative-containers.xml b/nixos/doc/manual/administration/imperative-containers.xml index 9bb62bc2ece..7ded0c11786 100644 --- a/nixos/doc/manual/administration/imperative-containers.xml +++ b/nixos/doc/manual/administration/imperative-containers.xml @@ -29,6 +29,13 @@ = true; users.users.root.openssh.authorizedKeys.keys = ["ssh-dss AAAAB3N…"]; ' + + By default the next free address in the 10.233.0.0/16 subnet will be chosen + as container IP. This behavior can be altered by setting --host-address and + --local-address: + +# nixos-container create test --config-file test-container.nix \ + --local-address 10.235.1.2 --host-address 10.235.1.1 diff --git a/nixos/doc/manual/administration/logging.xml b/nixos/doc/manual/administration/logging.xml index a41936b373d..da4877fcdf0 100644 --- a/nixos/doc/manual/administration/logging.xml +++ b/nixos/doc/manual/administration/logging.xml @@ -11,14 +11,14 @@ The command journalctl allows you to see the contents of the journal. For example, -$ journalctl -b +$ journalctl -b shows all journal entries since the last reboot. (The output of journalctl is piped into less by default.) You can use various options and match operators to restrict output to messages of interest. For instance, to get all messages from PostgreSQL: -$ journalctl -u postgresql.service +$ journalctl -u postgresql.service -- Logs begin at Mon, 2013-01-07 13:28:01 CET, end at Tue, 2013-01-08 01:09:57 CET. -- ... Jan 07 15:44:14 hagbard postgres[2681]: [2-1] LOG: database system is shut down @@ -29,7 +29,7 @@ Jan 07 15:45:13 hagbard postgres[2500]: [1-1] LOG: database system is ready to Or to get all messages since the last reboot that have at least a “critical” severity level: -$ journalctl -b -p crit +$ journalctl -b -p crit Dec 17 21:08:06 mandark sudo[3673]: pam_unix(sudo:auth): auth could not identify password for [alice] Dec 29 01:30:22 mandark kernel[6131]: [1053513.909444] CPU6: Core temperature above threshold, cpu clock throttled (total events = 1) diff --git a/nixos/doc/manual/administration/rollback.xml b/nixos/doc/manual/administration/rollback.xml index 07c6acaa469..fb87810ba46 100644 --- a/nixos/doc/manual/administration/rollback.xml +++ b/nixos/doc/manual/administration/rollback.xml @@ -33,7 +33,7 @@ where N is the number of the NixOS system configuration. To get a list of the available configurations, do: -$ ls -l /nix/var/nix/profiles/system-*-link +$ ls -l /nix/var/nix/profiles/system-*-link ... lrwxrwxrwx 1 root root 78 Aug 12 13:54 /nix/var/nix/profiles/system-268-link -> /nix/store/202b...-nixos-13.07pre4932_5a676e4-4be1055 diff --git a/nixos/doc/manual/administration/running.xml b/nixos/doc/manual/administration/running.xml index 786dd5e2390..19bec1f7794 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/administration/service-mgmt.xml b/nixos/doc/manual/administration/service-mgmt.xml index 0c2085c8155..1b9c745eb59 100644 --- a/nixos/doc/manual/administration/service-mgmt.xml +++ b/nixos/doc/manual/administration/service-mgmt.xml @@ -21,7 +21,7 @@ systemd. Without any arguments, it shows the status of active units: -$ systemctl +$ systemctl -.mount loaded active mounted / swapfile.swap loaded active active /swapfile sshd.service loaded active running SSH Daemon @@ -33,7 +33,7 @@ graphical.target loaded active active Graphical Interface You can ask for detailed status information about a unit, for instance, the PostgreSQL database service: -$ systemctl status postgresql.service +$ systemctl status postgresql.service postgresql.service - PostgreSQL Server Loaded: loaded (/nix/store/pn3q73mvh75gsrl8w7fdlfk3fq5qm5mw-unit/postgresql.service) Active: active (running) since Mon, 2013-01-07 15:55:57 CET; 9h ago diff --git a/nixos/doc/manual/administration/store-corruption.xml b/nixos/doc/manual/administration/store-corruption.xml index a4ca3b651e2..b9d11152d5e 100644 --- a/nixos/doc/manual/administration/store-corruption.xml +++ b/nixos/doc/manual/administration/store-corruption.xml @@ -18,7 +18,7 @@ If the corruption is in a path in the closure of the NixOS system configuration, you can fix it by doing -# nixos-rebuild switch --repair +# nixos-rebuild switch --repair This will cause Nix to check every path in the closure, and if its cryptographic hash differs from the hash recorded in Nix’s database, the @@ -28,7 +28,7 @@ You can also scan the entire Nix store for corrupt paths: -# nix-store --verify --check-contents --repair +# nix-store --verify --check-contents --repair Any corrupt paths will be redownloaded if they’re available in a binary cache; otherwise, they cannot be repaired. diff --git a/nixos/doc/manual/administration/user-sessions.xml b/nixos/doc/manual/administration/user-sessions.xml index 1d95cfb22b6..80daf6bdbff 100644 --- a/nixos/doc/manual/administration/user-sessions.xml +++ b/nixos/doc/manual/administration/user-sessions.xml @@ -10,7 +10,7 @@ allows querying and manipulating user sessions. For instance, to list all user sessions: -$ loginctl +$ loginctl SESSION UID USER SEAT c1 500 eelco seat0 c3 0 root seat0 @@ -21,7 +21,7 @@ $ loginctl devices attached to the system; usually, there is only one seat.) To get information about a session: -$ loginctl session-status c3 +$ loginctl session-status c3 c3 - root (0) Since: Tue, 2013-01-08 01:17:56 CET; 4min 42s ago Leader: 2536 (login) diff --git a/nixos/doc/manual/configuration/ad-hoc-packages.xml b/nixos/doc/manual/configuration/ad-hoc-packages.xml index 19159d8db5b..c7e882d846f 100644 --- a/nixos/doc/manual/configuration/ad-hoc-packages.xml +++ b/nixos/doc/manual/configuration/ad-hoc-packages.xml @@ -9,7 +9,7 @@ With the command nix-env, you can install and uninstall packages from the command line. For instance, to install Mozilla Thunderbird: -$ nix-env -iA nixos.thunderbird +$ nix-env -iA nixos.thunderbird If you invoke this as root, the package is installed in the Nix profile /nix/var/nix/profiles/default and visible to all users of the system; otherwise, the package ends up in @@ -25,7 +25,7 @@ $ nix-env -iA nixos.thunderbird Packages come from the NixOS channel. You typically upgrade a package by updating to the latest version of the NixOS channel: -$ nix-channel --update nixos +$ nix-channel --update nixos and then running nix-env -i again. Other packages in the profile are not affected; this is the crucial difference @@ -34,21 +34,21 @@ $ nix-channel --update nixos their current versions in the NixOS channel. You can however upgrade all packages for which there is a newer version by doing: -$ nix-env -u '*' +$ nix-env -u '*' A package can be uninstalled using the flag: -$ nix-env -e thunderbird +$ nix-env -e thunderbird Finally, you can roll back an undesirable nix-env action: -$ nix-env --rollback +$ nix-env --rollback diff --git a/nixos/doc/manual/configuration/adding-custom-packages.xml b/nixos/doc/manual/configuration/adding-custom-packages.xml index cdcfa10b820..182641055e4 100644 --- a/nixos/doc/manual/configuration/adding-custom-packages.xml +++ b/nixos/doc/manual/configuration/adding-custom-packages.xml @@ -14,8 +14,8 @@ xlink:href="http://nixos.org/nixpkgs/manual">Nixpkgs manual. In short, you clone Nixpkgs: -$ git clone https://github.com/NixOS/nixpkgs -$ cd nixpkgs +$ git clone https://github.com/NixOS/nixpkgs +$ cd nixpkgs Then you write and test the package as described in the Nixpkgs manual. Finally, you add it to environment.systemPackages, e.g. @@ -65,8 +65,8 @@ stdenv.mkDerivation rec { This allows testing the package easily: -$ nix-build my-hello.nix -$ ./result/bin/hello +$ nix-build my-hello.nix +$ ./result/bin/hello Hello, world! diff --git a/nixos/doc/manual/configuration/config-file.xml b/nixos/doc/manual/configuration/config-file.xml index c77cfe137ba..eadafb94b8f 100644 --- a/nixos/doc/manual/configuration/config-file.xml +++ b/nixos/doc/manual/configuration/config-file.xml @@ -200,8 +200,9 @@ swapDevices = [ { device = "/dev/disk/by-label/swap"; } ]; = pkgs.postgresql_10; The latter option definition changes the default PostgreSQL package used - by NixOS’s PostgreSQL service to 10.x. 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 cebc4122c6c..5961209bc13 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,7 +21,9 @@ + + diff --git a/nixos/doc/manual/configuration/declarative-packages.xml b/nixos/doc/manual/configuration/declarative-packages.xml index be9884fe9dc..5fb3bcb9f8f 100644 --- a/nixos/doc/manual/configuration/declarative-packages.xml +++ b/nixos/doc/manual/configuration/declarative-packages.xml @@ -22,13 +22,18 @@ You can get a list of the available packages as follows: -$ nix-env -qaP '*' --description +$ nix-env -qaP '*' --description 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/ipv6-config.xml b/nixos/doc/manual/configuration/ipv6-config.xml index e9ab7cce4eb..675a5d9a260 100644 --- a/nixos/doc/manual/configuration/ipv6-config.xml +++ b/nixos/doc/manual/configuration/ipv6-config.xml @@ -39,7 +39,7 @@ = { address = "fe00::1"; interface = "enp0s3"; -} +}; diff --git a/nixos/doc/manual/configuration/kubernetes.xml b/nixos/doc/manual/configuration/kubernetes.xml new file mode 100644 index 00000000000..54a100e4479 --- /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/matrix.xml b/nixos/doc/manual/configuration/matrix.xml new file mode 100644 index 00000000000..ef8d5cbda88 --- /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"; # without a trailing / + }; + }; + }; + }; + 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 5ff5bc22c85..7ad0ae80a48 100644 --- a/nixos/doc/manual/configuration/modularity.xml +++ b/nixos/doc/manual/configuration/modularity.xml @@ -106,42 +106,40 @@ The unique option `services.httpd.adminAddr' is defined multiple times, in `/etc configuration option is. The command allows you to find out: -$ nixos-option +$ nixos-option true -$ nixos-option +$ nixos-option [ "tun" "ipv6" "loop" ... ] - Interactive exploration of the configuration is possible using - nix repl, a read-eval-print loop for Nix expressions. - 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. +nix-repl> config. "mandark" -nix-repl> map (x: x.hostName) config. +nix-repl> map (x: x.hostName) config. [ "example.org" "example.gov" ]
- 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, ... }: + 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; - }; +let netConfig = { hostName }: { + networking.hostName = hostName; + networking.useDHCP = false; +}; - in +in - { imports = [ (netConfig "nixos.localdomain") ]; } - - +{ imports = [ (netConfig "nixos.localdomain") ]; } + + diff --git a/nixos/doc/manual/configuration/profiles.xml b/nixos/doc/manual/configuration/profiles.xml index 92c0f6202f2..9d08f7f7bed 100644 --- a/nixos/doc/manual/configuration/profiles.xml +++ b/nixos/doc/manual/configuration/profiles.xml @@ -12,14 +12,14 @@ 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. + 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 diff --git a/nixos/doc/manual/configuration/profiles/all-hardware.xml b/nixos/doc/manual/configuration/profiles/all-hardware.xml index 17297519947..2936f71069d 100644 --- a/nixos/doc/manual/configuration/profiles/all-hardware.xml +++ b/nixos/doc/manual/configuration/profiles/all-hardware.xml @@ -1,15 +1,16 @@ -
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. + 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 diff --git a/nixos/doc/manual/configuration/profiles/base.xml b/nixos/doc/manual/configuration/profiles/base.xml index f58a35d626e..b75f6ba25b4 100644 --- a/nixos/doc/manual/configuration/profiles/base.xml +++ b/nixos/doc/manual/configuration/profiles/base.xml @@ -1,15 +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). + 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 index 87c8b9ee31b..04fa1643d0f 100644 --- a/nixos/doc/manual/configuration/profiles/clone-config.xml +++ b/nixos/doc/manual/configuration/profiles/clone-config.xml @@ -1,14 +1,21 @@ -
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. + 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. + + + + On images where the installation media also becomes an installation target, + copying over configuration.nix should be disabled by + setting installer.cloneConfig to false. + For example, this is done in sd-image-aarch64.nix.
diff --git a/nixos/doc/manual/configuration/profiles/demo.xml b/nixos/doc/manual/configuration/profiles/demo.xml index 98829e4696d..395a5ec357c 100644 --- a/nixos/doc/manual/configuration/profiles/demo.xml +++ b/nixos/doc/manual/configuration/profiles/demo.xml @@ -1,13 +1,15 @@ -
Demo + - This profile just enables a demo user, with password demo, uid 1000, wheel - group and - autologin in the SDDM display manager. + 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 index bf962442cce..efa7b8f24c4 100644 --- a/nixos/doc/manual/configuration/profiles/docker-container.xml +++ b/nixos/doc/manual/configuration/profiles/docker-container.xml @@ -1,15 +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 - . + 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 index 5ded61d9763..73e3abc59d0 100644 --- a/nixos/doc/manual/configuration/profiles/graphical.xml +++ b/nixos/doc/manual/configuration/profiles/graphical.xml @@ -1,20 +1,21 @@ -
Graphical + Defines a NixOS configuration with the Plasma 5 desktop. It's used by the graphical installation CD. + It sets , , ( - without Qt4 Support), and + 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 index b3b433792f5..dc83fc837e2 100644 --- a/nixos/doc/manual/configuration/profiles/hardened.xml +++ b/nixos/doc/manual/configuration/profiles/hardened.xml @@ -1,22 +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 ). See the + - profile source for further detail on which settings are altered. + 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 index 54dc61f236e..1b64497ebf7 100644 --- a/nixos/doc/manual/configuration/profiles/headless.xml +++ b/nixos/doc/manual/configuration/profiles/headless.xml @@ -1,18 +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. + 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 index 44ccfc538ad..192ae955b68 100644 --- a/nixos/doc/manual/configuration/profiles/installation-device.xml +++ b/nixos/doc/manual/configuration/profiles/installation-device.xml @@ -1,35 +1,36 @@ -
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. + Provides a basic configuration for installation devices like CDs. + This enables redistributable firmware, includes the + Clone Config profile + and a copy of the Nixpkgs channel, so nixos-install + works out of the box. - 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. + Documentation for Nixpkgs + and NixOS are + forcefully enabled (to override the + Minimal profile preference); the + NixOS manual is shown automatically on TTY 8, udisks is disabled. + Autologin is enabled as nixos user, while passwordless + login as both root and nixos is possible. + Passwordless sudo is enabled too. + wpa_supplicant is + enabled, but configured to not autostart. - 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. + It is explained how to login, start the ssh server, and if available, + how to start the display manager. + - 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. + 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 index a24af21bd7f..179f2d0be64 100644 --- a/nixos/doc/manual/configuration/profiles/minimal.xml +++ b/nixos/doc/manual/configuration/profiles/minimal.xml @@ -1,16 +1,16 @@ -
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, + 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 index d08068650fb..5d055c45d2d 100644 --- a/nixos/doc/manual/configuration/profiles/qemu-guest.xml +++ b/nixos/doc/manual/configuration/profiles/qemu-guest.xml @@ -4,10 +4,12 @@ version="5.0" xml:id="sec-profile-qemu-guest"> 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 diff --git a/nixos/doc/manual/configuration/user-mgmt.xml b/nixos/doc/manual/configuration/user-mgmt.xml index 66c1c6eb3a1..4b1710f3a2b 100644 --- a/nixos/doc/manual/configuration/user-mgmt.xml +++ b/nixos/doc/manual/configuration/user-mgmt.xml @@ -44,7 +44,7 @@ A user ID (uid) is assigned automatically. You can also specify a uid manually by adding - uid = 1000; +uid = 1000; to the user specification. diff --git a/nixos/doc/manual/configuration/wireless.xml b/nixos/doc/manual/configuration/wireless.xml index f7e99ff0e35..9c0e3a8d7aa 100644 --- a/nixos/doc/manual/configuration/wireless.xml +++ b/nixos/doc/manual/configuration/wireless.xml @@ -23,26 +23,41 @@ 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 > /etc/wpa_supplicant.conf +$ 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 restart the wpa_supplicant service. -# systemctl restart wpa_supplicant.service +# systemctl restart wpa_supplicant.service
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml index e7d66f391f5..7cdc5196e0d 100644 --- a/nixos/doc/manual/configuration/x-windows.xml +++ b/nixos/doc/manual/configuration/x-windows.xml @@ -35,8 +35,8 @@ NixOS’s default display manager (the program that - 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: + 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; @@ -60,8 +60,41 @@ # systemctl start display-manager.service + + 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"; + + + - NVIDIA Graphics Cards + 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 @@ -98,13 +125,12 @@ You will 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; - + For recent AMD GPUs you most likely want to keep either the defaults + or "amdgpu" (both free). + Touchpads @@ -133,4 +159,134 @@ versions. + + Custom XKB layouts + + It is possible to install custom + + XKB + + keyboard layouts using the option + . + As a first example, we are going to create a layout based on the basic US + layout, with an additional layer to type some greek symbols by pressing the + right-alt key. + + + To do this we are going to create a us-greek file + with a xkb_symbols section. + + +xkb_symbols "us-greek" +{ + include "us(basic)" // includes the base US keys + include "level3(ralt_switch)" // configures right alt as a third level switch + + key <LatA> { [ a, A, Greek_alpha ] }; + key <LatB> { [ b, B, Greek_beta ] }; + key <LatG> { [ g, G, Greek_gamma ] }; + key <LatD> { [ d, D, Greek_delta ] }; + key <LatZ> { [ z, Z, Greek_zeta ] }; +}; + + + To install the layout, the filepath, a description and the list of + languages must be given: + + +.us-greek = { + description = "US layout with alt-gr greek"; + languages = [ "eng" ]; + symbolsFile = /path/to/us-greek; +} + + + + The name should match the one given to the + xkb_symbols block. + + + + The layout should now be installed and ready to use: try it by + running setxkbmap us-greek and type + <alt>+a. To change the default the usual + + option can still be used. + + + A layout can have several other components besides + xkb_symbols, for example we will define new + keycodes for some multimedia key and bind these to some symbol. + + + Use the xev utility from + pkgs.xorg.xev to find the codes of the keys of + interest, then create a media-key file to hold + the keycodes definitions + + +xkb_keycodes "media" +{ + <volUp> = 123; + <volDown> = 456; +} + + + Now use the newly define keycodes in media-sym: + + +xkb_symbols "media" +{ + key.type = "ONE_LEVEL"; + key <volUp> { [ XF86AudioLowerVolume ] }; + key <volDown> { [ XF86AudioRaiseVolume ] }; +} + + + As before, to install the layout do + + +.media = { + description = "Multimedia keys remapping"; + languages = [ "eng" ]; + symbolsFile = /path/to/media-key; + keycodesFile = /path/to/media-sym; +}; + + + + The function pkgs.writeText <filename> <content> + can be useful if you prefer to keep the layout definitions + inside the NixOS configuration. + + + + Unfortunately, the Xorg server does not (currently) support setting a + keymap directly but relies instead on XKB rules to select the matching + components (keycodes, types, ...) of a layout. This means that components + other than symbols won't be loaded by default. As a workaround, you + can set the keymap using setxkbmap at the start of the + session with: + + + = "setxkbmap -keycodes media"; + + + To learn how to write layouts take a look at the XKB + + documentation + . More example layouts can also be found + + here + . + + diff --git a/nixos/doc/manual/configuration/xfce.xml b/nixos/doc/manual/configuration/xfce.xml index 77d5d963279..6ac99c6b2be 100644 --- a/nixos/doc/manual/configuration/xfce.xml +++ b/nixos/doc/manual/configuration/xfce.xml @@ -11,7 +11,7 @@ xfce.enable = true; default = "xfce"; }; - + Optionally, compton can be enabled for nice graphical @@ -24,7 +24,7 @@ shadow = true; fadeDelta = 4; }; - + Some Xfce programs are not installed automatically. To install them manually @@ -37,7 +37,7 @@ To enable Thunar volume support, put = true; - + into your configuration.nix. @@ -58,14 +58,14 @@ on start (look at journalctl --user -b). Thunar:2410): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.UDisks2VolumeMonitor is not supported - + This is caused by some needed GNOME services not running. This is all fixed by enabling "Launch GNOME services on startup" in the Advanced tab of the Session and Startup settings panel. Alternatively, you can run this command to do the same thing. -$ xfconf-query -c xfce4-session -p /compat/LaunchGNOME -s true - +$ xfconf-query -c xfce4-session -p /compat/LaunchGNOME -s true + A log-out and re-log will be needed for this to take effect. diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 02b91773f5d..f9de2db1a08 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -5,55 +5,6 @@ with pkgs; let lib = pkgs.lib; - # Remove invisible and internal options. - optionsListVisible = lib.filter (opt: opt.visible && !opt.internal) (lib.optionAttrSetToDocList options); - - # Replace functions by the string - substFunction = x: - if builtins.isAttrs x then lib.mapAttrs (name: substFunction) x - else if builtins.isList x then map substFunction x - else if lib.isFunction x then "" - else x; - - # Generate DocBook documentation for a list of packages. This is - # what `relatedPackages` option of `mkOption` from - # ../../../lib/options.nix influences. - # - # Each element of `relatedPackages` can be either - # - a string: that will be interpreted as an attribute name from `pkgs`, - # - a list: that will be interpreted as an attribute path from `pkgs`, - # - an attrset: that can specify `name`, `path`, `package`, `comment` - # (either of `name`, `path` is required, the rest are optional). - genRelatedPackages = packages: - let - unpack = p: if lib.isString p then { name = p; } - else if lib.isList p then { path = p; } - else p; - describe = args: - let - title = args.title or null; - name = args.name or (lib.concatStringsSep "." args.path); - path = args.path or [ args.name ]; - package = args.package or (lib.attrByPath path (throw "Invalid package attribute path `${toString path}'") pkgs); - in "" - + "${lib.optionalString (title != null) "${title} aka "}pkgs.${name} (${package.meta.name})" - + lib.optionalString (!package.meta.available) " [UNAVAILABLE]" - + ": ${package.meta.description or "???"}." - + lib.optionalString (args ? comment) "\n${args.comment}" - # Lots of `longDescription's break DocBook, so we just wrap them into - + lib.optionalString (package.meta ? longDescription) "\n${package.meta.longDescription}" - + ""; - in "${lib.concatStringsSep "\n" (map (p: describe (unpack p)) packages)}"; - - optionsListDesc = lib.flip map optionsListVisible (opt: opt // { - # Clean up declaration sites to not refer to the NixOS source tree. - declarations = map stripAnyPrefixes opt.declarations; - } - // lib.optionalAttrs (opt ? example) { example = substFunction opt.example; } - // lib.optionalAttrs (opt ? default) { default = substFunction opt.default; } - // lib.optionalAttrs (opt ? type) { type = substFunction opt.type; } - // lib.optionalAttrs (opt ? relatedPackages && opt.relatedPackages != []) { relatedPackages = genRelatedPackages opt.relatedPackages; }); - # We need to strip references to /nix/store/* from options, # including any `extraSources` if some modules came from elsewhere, # or else the build will fail. @@ -63,37 +14,13 @@ let prefixesToStrip = map (p: "${toString p}/") ([ ../../.. ] ++ extraSources); stripAnyPrefixes = lib.flip (lib.fold lib.removePrefix) prefixesToStrip; - # Custom "less" that pushes up all the things ending in ".enable*" - # and ".package*" - optionLess = a: b: - let - ise = lib.hasPrefix "enable"; - isp = lib.hasPrefix "package"; - cmp = lib.splitByAndCompare ise lib.compare - (lib.splitByAndCompare isp lib.compare lib.compare); - in lib.compareLists cmp a.loc b.loc < 0; - - # Customly sort option list for the man page. - optionsList = lib.sort optionLess optionsListDesc; - - # Convert the list of options into an XML file. - optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList); - - optionsDocBook = runCommand "options-db.xml" {} '' - optionsXML=${optionsXML} - if grep /nixpkgs/nixos/modules $optionsXML; then - echo "The manual appears to depend on the location of Nixpkgs, which is bad" - echo "since this prevents sharing via the NixOS channel. This is typically" - echo "caused by an option default that refers to a relative path (see above" - echo "for hints about the offending path)." - exit 1 - fi - ${buildPackages.libxslt.bin}/bin/xsltproc \ - --stringparam revision '${revision}' \ - -o intermediate.xml ${./options-to-docbook.xsl} $optionsXML - ${buildPackages.libxslt.bin}/bin/xsltproc \ - -o "$out" ${./postprocess-option-descriptions.xsl} intermediate.xml - ''; + optionsDoc = buildPackages.nixosOptionsDoc { + inherit options revision; + transformOptions = opt: opt // { + # Clean up declaration sites to not refer to the NixOS source tree. + declarations = map stripAnyPrefixes opt.declarations; + }; + }; sources = lib.sourceFilesBySuffices ./. [".xml"]; @@ -108,7 +35,7 @@ let generatedSources = runCommand "generated-docbook" {} '' mkdir $out ln -s ${modulesDoc} $out/modules.xml - ln -s ${optionsDocBook} $out/options-db.xml + ln -s ${optionsDoc.optionsDocBook} $out/options-db.xml printf "%s" "${version}" > $out/version ''; @@ -234,22 +161,7 @@ let in rec { inherit generatedSources; - # The NixOS options in JSON format. - optionsJSON = runCommand "options-json" - { meta.description = "List of NixOS options in JSON format"; - } - '' - # Export list of options in different format. - dst=$out/share/doc/nixos - mkdir -p $dst - - cp ${builtins.toFile "options.json" (builtins.unsafeDiscardStringContext (builtins.toJSON - (builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList)))) - } $dst/options.json - - mkdir -p $out/nix-support - echo "file json $dst/options.json" >> $out/nix-support/hydra-build-products - ''; # */ + inherit (optionsDoc) optionsJSON optionsXML optionsDocBook; # Generate the NixOS manual. manualHTML = runCommand "nixos-manual-html" @@ -268,7 +180,10 @@ in rec { --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/ @@ -327,6 +242,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/building-nixos.xml b/nixos/doc/manual/development/building-nixos.xml index 23d9ddf88a7..56a596baed0 100644 --- a/nixos/doc/manual/development/building-nixos.xml +++ b/nixos/doc/manual/development/building-nixos.xml @@ -14,14 +14,14 @@ Default CD/DVD configurations are available inside nixos/modules/installer/cd-dvd. -$ git clone https://github.com/NixOS/nixpkgs.git -$ cd nixpkgs/nixos -$ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix default.nix +$ git clone https://github.com/NixOS/nixpkgs.git +$ cd nixpkgs/nixos +$ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix default.nix Before burning your CD/DVD, you can check the content of the image by mounting anywhere like suggested by the following command: -# mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso +# mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso diff --git a/nixos/doc/manual/development/building-parts.xml b/nixos/doc/manual/development/building-parts.xml index b4791b72970..88369fb891b 100644 --- a/nixos/doc/manual/development/building-parts.xml +++ b/nixos/doc/manual/development/building-parts.xml @@ -8,8 +8,8 @@ With the command nix-build, you can build specific parts of your NixOS configuration. This is done as follows: -$ cd /path/to/nixpkgs/nixos -$ nix-build -A config.option +$ cd /path/to/nixpkgs/nixos +$ nix-build -A config.option where option is a NixOS option with type “derivation” (i.e. something that can be built). Attributes of interest include: @@ -28,7 +28,7 @@ $ nix-build -A config.option A shortcut to build this is: -$ nix-build -A system +$ nix-build -A system @@ -66,9 +66,9 @@ $ nix-build -A system test whether the kernel and the initial ramdisk boot correctly, by using QEMU’s and options: -$ nix-build -A config.system.build.initialRamdisk -o initrd -$ nix-build -A config.system.build.kernel -o kernel -$ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/null +$ nix-build -A config.system.build.initialRamdisk -o initrd +$ nix-build -A config.system.build.kernel -o kernel +$ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/null @@ -99,15 +99,15 @@ $ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/ contain dots (e.g. httpd.service), you need to put them between quotes, like this: -$ nix-build -A 'config.systemd.units."httpd.service".unit' +$ nix-build -A 'config.systemd.units."httpd.service".unit' You can also test individual units, without rebuilding the whole system, by putting them in /run/systemd/system: -$ cp $(nix-build -A 'config.systemd.units."httpd.service".unit')/httpd.service \ +$ cp $(nix-build -A 'config.systemd.units."httpd.service".unit')/httpd.service \ /run/systemd/system/tmp-httpd.service -# systemctl daemon-reload -# systemctl start tmp-httpd.service +# systemctl daemon-reload +# systemctl start tmp-httpd.service Note that the unit must not have the same name as any unit in /etc/systemd/system since those take precedence over diff --git a/nixos/doc/manual/development/development.xml b/nixos/doc/manual/development/development.xml index 03dee6ff09b..43f511b3e96 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-types.xml b/nixos/doc/manual/development/option-types.xml index d993e47bc91..8fcbb627342 100644 --- a/nixos/doc/manual/development/option-types.xml +++ b/nixos/doc/manual/development/option-types.xml @@ -346,6 +346,18 @@ + + + types.oneOf [ t1 t2 ... ] + + + + Type t1 or type t2 and so forth, + e.g. with types; oneOf [ int str bool ]. Multiple definitions + cannot be merged. + + + types.coercedTo from f to @@ -512,7 +524,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 (). @@ -522,7 +534,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); }; diff --git a/nixos/doc/manual/development/releases.xml b/nixos/doc/manual/development/releases.xml index d4e5ff3f431..1cdec64f69b 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) - - @@ -105,6 +98,16 @@ stableBranch set to false. + + + Remove attributes that we know we will not be able to support, + especially if there is a stable alternative. E.g. Check that our + Linux kernels' + + projected end-of-life are after our release projected + end-of-life + + Edit changelog at @@ -182,6 +185,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 @@ -211,6 +220,30 @@
+
+ Release Management Team + + For each release there are two release managers. After each release the + release manager having managed two releases steps down and the release + management team of the last release appoints a new release manager. + + + This makes sure a release management team always consists of one release + manager who already has managed one release and one release manager being + introduced to their role, making it easier to pass on knowledge and + experience. + + + A release manager's role and responsibilities are: + + + manage the release process + start discussions about features and changes for a given release + create a roadmap + release in cooperation with Eelco Dolstra + decide which bug fixes, features, etc... get backported after a release + +
Release schedule diff --git a/nixos/doc/manual/development/running-nixos-tests-interactively.xml b/nixos/doc/manual/development/running-nixos-tests-interactively.xml index c15ad448317..e390d62fde2 100644 --- a/nixos/doc/manual/development/running-nixos-tests-interactively.xml +++ b/nixos/doc/manual/development/running-nixos-tests-interactively.xml @@ -9,17 +9,17 @@ The test itself can be run interactively. This is particularly useful when developing or debugging a test: -$ nix-build nixos/tests/login.nix -A driver -$ ./result/bin/nixos-test-driver +$ nix-build nixos/tests/login.nix -A driver +$ ./result/bin/nixos-test-driver starting VDE switch for network 1 -> +> You can then take any Perl statement, e.g. -> startAll -> testScript -> $machine->succeed("touch /tmp/foo") -> print($machine->succeed("pwd")) # Show stdout of command +> 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. @@ -30,8 +30,8 @@ starting VDE switch for network 1 To just start and experiment with the VMs, run: -$ nix-build nixos/tests/login.nix -A driver -$ ./result/bin/nixos-run-vms +$ 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. diff --git a/nixos/doc/manual/development/running-nixos-tests.xml b/nixos/doc/manual/development/running-nixos-tests.xml index eadbe1ea4f2..13ae1ed9369 100644 --- a/nixos/doc/manual/development/running-nixos-tests.xml +++ b/nixos/doc/manual/development/running-nixos-tests.xml @@ -12,12 +12,12 @@ xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix">login.nix, you just do: -$ nix-build '<nixpkgs/nixos/tests/login.nix>' +$ nix-build '<nixpkgs/nixos/tests/login.nix>' or, if you don’t want to rely on NIX_PATH: -$ cd /my/nixpkgs/nixos/tests -$ nix-build login.nix +$ cd /my/nixpkgs/nixos/tests +$ nix-build login.nix … running the VM test script machine: QEMU running (pid 8841) @@ -30,7 +30,7 @@ machine: QEMU running (pid 8841) fast, as no disk image needs to be created. Afterwards, you can view a pretty-printed log of the test: -$ firefox result/log.html +$ firefox result/log.html
diff --git a/nixos/doc/manual/development/sources.xml b/nixos/doc/manual/development/sources.xml index eec9b56b1c0..3c30c782746 100644 --- a/nixos/doc/manual/development/sources.xml +++ b/nixos/doc/manual/development/sources.xml @@ -11,10 +11,10 @@ modify NixOS, however, you should check out the latest sources from Git. This is as follows: -$ git clone https://github.com/NixOS/nixpkgs -$ cd nixpkgs -$ git remote add channels https://github.com/NixOS/nixpkgs-channels -$ git remote update channels +$ git clone https://github.com/NixOS/nixpkgs +$ cd nixpkgs +$ git remote add channels https://github.com/NixOS/nixpkgs-channels +$ git remote update channels This will check out the latest Nixpkgs sources to ./nixpkgs the NixOS sources to @@ -32,23 +32,23 @@ $ git remote update channels not have caught up yet and you’ll have to rebuild everything from source. So you may want to create a local branch based on your current NixOS version: -$ nixos-version +$ nixos-version 17.09pre104379.6e0b727 (Hummingbird) -$ git checkout -b local 6e0b727 +$ git checkout -b local 6e0b727 Or, to base your local branch on the latest version available in a NixOS channel: -$ git remote update channels -$ git checkout -b local channels/nixos-17.03 +$ git remote update channels +$ git checkout -b local channels/nixos-17.03 (Replace nixos-17.03 with the name of the channel you want to use.) You can use git merge or git rebase to keep your local branch in sync with the channel, e.g. -$ git remote update channels -$ git merge channels/nixos-17.03 +$ git remote update channels +$ git merge channels/nixos-17.03 You can use git cherry-pick to copy commits from your local branch to the upstream branch. @@ -58,7 +58,7 @@ $ git merge channels/nixos-17.03 tell nixos-rebuild about them using the flag: -# nixos-rebuild switch -I nixpkgs=/my/sources/nixpkgs +# nixos-rebuild switch -I nixpkgs=/my/sources/nixpkgs
@@ -67,7 +67,7 @@ $ git merge channels/nixos-17.03 /my/sources/nixpkgs, or change the default by adding a symlink in ~/.nix-defexpr: -$ ln -s /my/sources/nixpkgs ~/.nix-defexpr/nixpkgs +$ ln -s /my/sources/nixpkgs ~/.nix-defexpr/nixpkgs You may want to delete the symlink ~/.nix-defexpr/channels_root to prevent root’s NixOS diff --git a/nixos/doc/manual/development/testing-installer.xml b/nixos/doc/manual/development/testing-installer.xml index 63f5f3de7f4..902f995fbc1 100644 --- a/nixos/doc/manual/development/testing-installer.xml +++ b/nixos/doc/manual/development/testing-installer.xml @@ -8,15 +8,15 @@ Building, burning, and booting from an installation CD is rather tedious, so here is a quick way to see if the installer works properly: -# mount -t tmpfs none /mnt -# nixos-generate-config --root /mnt -$ nix-build '<nixpkgs/nixos>' -A config.system.build.nixos-install -# ./result/bin/nixos-install +# mount -t tmpfs none /mnt +# nixos-generate-config --root /mnt +$ nix-build '<nixpkgs/nixos>' -A config.system.build.nixos-install +# ./result/bin/nixos-install
To start a login shell in the new NixOS installation in /mnt: -$ nix-build '<nixpkgs/nixos>' -A config.system.build.nixos-enter -# ./result/bin/nixos-enter +$ nix-build '<nixpkgs/nixos>' -A config.system.build.nixos-enter +# ./result/bin/nixos-enter diff --git a/nixos/doc/manual/development/writing-nixos-tests.xml b/nixos/doc/manual/development/writing-nixos-tests.xml index 4a2615c9407..6be2d0a4d23 100644 --- a/nixos/doc/manual/development/writing-nixos-tests.xml +++ b/nixos/doc/manual/development/writing-nixos-tests.xml @@ -397,9 +397,9 @@ startAll; - $machine->systemctl("list-jobs --no-pager"); // runs `systemctl list-jobs --no-pager` - $machine->systemctl("list-jobs --no-pager", "any-user"); // spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager` - +$machine->systemctl("list-jobs --no-pager"); // runs `systemctl list-jobs --no-pager` +$machine->systemctl("list-jobs --no-pager", "any-user"); // spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager` + @@ -410,10 +410,10 @@ startAll; To test user units declared by systemd.user.services the optional $user argument can be used: - $machine->start; - $machine->waitForX; - $machine->waitForUnit("xautolock.service", "x-session-user"); - +$machine->start; +$machine->waitForX; +$machine->waitForUnit("xautolock.service", "x-session-user"); + This applies to systemctl, getUnitInfo, waitForUnit, startJob and stopJob. diff --git a/nixos/doc/manual/installation/changing-config.xml b/nixos/doc/manual/installation/changing-config.xml index 1a116ec0b65..48193d986ab 100644 --- a/nixos/doc/manual/installation/changing-config.xml +++ b/nixos/doc/manual/installation/changing-config.xml @@ -9,10 +9,18 @@ changed something in that file, you should do -# nixos-rebuild switch +# nixos-rebuild switch + to build the new configuration, make it the default configuration for booting, and try to realise the configuration in the running system (e.g., by restarting system services). + + + This command doesn't start/stop user + services automatically. nixos-rebuild only runs a + daemon-reload for each user with running user services. + + @@ -23,7 +31,8 @@ You can also do -# nixos-rebuild test +# nixos-rebuild test + to build the configuration and switch the running system to it, but without making it the boot default. So if (say) the configuration locks up your machine, you can just reboot to get back to a working configuration. @@ -31,7 +40,8 @@ There is also -# nixos-rebuild boot +# nixos-rebuild boot + to build the configuration and make it the boot default, but not switch to it now (so it will only take effect after the next reboot). @@ -39,7 +49,8 @@ You can make your configuration show up in a different submenu of the GRUB 2 boot screen by giving it a different profile name, e.g. -# nixos-rebuild switch -p test +# nixos-rebuild switch -p test + which causes the new configuration (and previous ones created using -p test) to show up in the GRUB submenu “NixOS - Profile 'test'”. This can be useful to separate test configurations from @@ -48,7 +59,8 @@ Finally, you can do -$ nixos-rebuild build +$ nixos-rebuild build + to build the configuration but nothing more. This is useful to see whether everything compiles cleanly. @@ -58,8 +70,8 @@ $ nixos-rebuild build virtual machine that contains the desired configuration. Just do -$ nixos-rebuild build-vm -$ ./result/bin/run-*-vm +$ nixos-rebuild build-vm +$ ./result/bin/run-*-vm The VM does not have any data from your host system, so your existing user accounts and home directories will not be available unless you have set @@ -74,12 +86,12 @@ $ ./result/bin/run-*-vm guest. For instance, the following will forward host port 2222 to guest port 22 (SSH): -$ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm +$ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm allowing you to log in via SSH (assuming you have set the appropriate passwords or SSH authorized keys): -$ ssh -p 2222 localhost +$ ssh -p 2222 localhost diff --git a/nixos/doc/manual/installation/installation.xml b/nixos/doc/manual/installation/installation.xml index d4276be95d6..2901f462dee 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-from-other-distro.xml b/nixos/doc/manual/installation/installing-from-other-distro.xml index d1e49a2a159..8ed45899fd7 100644 --- a/nixos/doc/manual/installation/installing-from-other-distro.xml +++ b/nixos/doc/manual/installation/installing-from-other-distro.xml @@ -47,8 +47,8 @@ Short version: -$ curl https://nixos.org/nix/install | sh -$ . $HOME/.nix-profile/etc/profile.d/nix.sh # …or open a fresh shell +$ curl https://nixos.org/nix/install | sh +$ . $HOME/.nix-profile/etc/profile.d/nix.sh # …or open a fresh shell More details in the the nixpkgs channel by default. -$ nix-channel --list +$ nix-channel --list nixpkgs https://nixos.org/channels/nixpkgs-unstable As that channel gets released without running the NixOS tests, it will be safer to use the nixos-* channels instead: -$ nix-channel --add https://nixos.org/channels/nixos-version nixpkgs +$ nix-channel --add https://nixos.org/channels/nixos-version nixpkgs You may want to throw in a nix-channel --update for good measure. @@ -89,7 +89,7 @@ $ nix-channel --add https://nixos.org/channels/nixos-version -$ nix-env -iE "_: with import <nixpkgs/nixos> { configuration = {}; }; with config.system.build; [ nixos-generate-config nixos-install nixos-enter manual.manpages ]" +$ nix-env -iE "_: with import <nixpkgs/nixos> { configuration = {}; }; with config.system.build; [ nixos-generate-config nixos-install nixos-enter manual.manpages ]" @@ -116,7 +116,7 @@ $ nix-channel --add https://nixos.org/channels/nixos-version Generate your NixOS configuration: -$ sudo `which nixos-generate-config` --root /mnt +$ sudo `which nixos-generate-config` --root /mnt You'll probably want to edit the configuration files. Refer to the nixos-generate-config step in @@ -148,8 +148,8 @@ $ nix-channel --add https://nixos.org/channels/nixos-version -$ sudo groupadd -g 30000 nixbld -$ sudo useradd -u 30000 -g nixbld -G nixbld nixbld +$ sudo groupadd -g 30000 nixbld +$ sudo useradd -u 30000 -g nixbld -G nixbld nixbld @@ -161,7 +161,7 @@ $ sudo useradd -u 30000 -g nixbld -G nixbld nixbld existing systems without the help of a rescue USB drive or similar. -$ sudo PATH="$PATH" NIX_PATH="$NIX_PATH" `which nixos-install` --root /mnt +$ sudo PATH="$PATH" NIX_PATH="$NIX_PATH" `which nixos-install` --root /mnt Again, please refer to the nixos-install step in for more information. @@ -175,8 +175,8 @@ $ sudo useradd -u 30000 -g nixbld -G nixbld nixbld Optionally, you may want to clean up your non-NixOS distribution: -$ sudo userdel nixbld -$ sudo groupdel nixbld +$ sudo userdel nixbld +$ sudo groupdel nixbld If you do not wish to keep the Nix package manager installed either, run something like sudo rm -rv ~/.nix-* /nix and remove the @@ -193,7 +193,7 @@ $ sudo groupdel nixbld Generate your NixOS configuration: -$ sudo `which nixos-generate-config` --root / +$ sudo `which nixos-generate-config` --root / Note that this will place the generated configuration files in /etc/nixos. You'll probably want to edit the @@ -212,21 +212,21 @@ $ sudo groupdel nixbld users.users.root.initialHashedPassword = ""; - + Build the NixOS closure and install it in the system profile: -$ nix-env -p /nix/var/nix/profiles/system -f '<nixpkgs/nixos>' -I nixos-config=/etc/nixos/configuration.nix -iA system +$ nix-env -p /nix/var/nix/profiles/system -f '<nixpkgs/nixos>' -I nixos-config=/etc/nixos/configuration.nix -iA system Change ownership of the /nix tree to root (since your Nix install was probably single user): -$ sudo chown -R 0.0 /nix +$ sudo chown -R 0.0 /nix @@ -284,16 +284,16 @@ $ sudo groupdel nixbld Let's create the files: -$ sudo touch /etc/NIXOS -$ sudo touch /etc/NIXOS_LUSTRATE - +$ sudo touch /etc/NIXOS +$ sudo touch /etc/NIXOS_LUSTRATE + Let's also make sure the NixOS configuration files are kept once we reboot on NixOS: -$ echo etc/nixos | sudo tee -a /etc/NIXOS_LUSTRATE - +$ echo etc/nixos | sudo tee -a /etc/NIXOS_LUSTRATE + @@ -312,8 +312,9 @@ $ echo etc/nixos | sudo tee -a /etc/NIXOS_LUSTRATE -$ sudo mv -v /boot /boot.bak && - sudo /nix/var/nix/profiles/system/bin/switch-to-configuration boot +$ sudo mv -v /boot /boot.bak && +sudo /nix/var/nix/profiles/system/bin/switch-to-configuration boot + Cross your fingers, reboot, hopefully you should get a NixOS prompt! diff --git a/nixos/doc/manual/installation/installing-usb.xml b/nixos/doc/manual/installation/installing-usb.xml index c0372e8ebd9..83598635acc 100644 --- a/nixos/doc/manual/installation/installing-usb.xml +++ b/nixos/doc/manual/installation/installing-usb.xml @@ -15,16 +15,16 @@ On macOS - -$ diskutil list + +$ diskutil list [..] /dev/diskN (external, physical): #: TYPE NAME SIZE IDENTIFIER [..] -$ diskutil unmountDisk diskN +$ diskutil unmountDisk diskN Unmount of all volumes on diskN was successful -$ sudo dd 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 diff --git a/nixos/doc/manual/installation/installing-virtualbox-guest.xml b/nixos/doc/manual/installation/installing-virtualbox-guest.xml index 766785dfe07..5c86eacfbf4 100644 --- a/nixos/doc/manual/installation/installing-virtualbox-guest.xml +++ b/nixos/doc/manual/installation/installing-virtualbox-guest.xml @@ -77,10 +77,10 @@ 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. 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. + /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. diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml index 8e94f946c5e..9cea2db610e 100644 --- a/nixos/doc/manual/installation/installing.xml +++ b/nixos/doc/manual/installation/installing.xml @@ -29,13 +29,14 @@ - You are logged-in automatically as root. (The - root user account has an empty password.) + You are logged-in automatically as nixos. + The nixos user account has an empty password so you + can use sudo without a 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 + start display-manager to start the desktop environment. 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!) @@ -54,7 +55,7 @@ To manually configure the network on the graphical installer, first disable - network-manager with systemctl stop network-manager. + network-manager with systemctl stop NetworkManager. @@ -65,9 +66,9 @@ 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. + need to activate the SSH daemon via systemctl start + sshd. You then must set a password for either root or + nixos with passwd> to be able to login. @@ -110,7 +111,7 @@ Create a GPT partition table. -# parted /dev/sda -- mklabel gpt +# parted /dev/sda -- mklabel gpt @@ -118,14 +119,14 @@ 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 +# 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% +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% The swap partition size rules are no different than for other Linux @@ -140,8 +141,8 @@ 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 +# parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB +# parted /dev/sda -- set 3 boot on @@ -172,21 +173,21 @@ Create a MBR partition table. -# parted /dev/sda -- mklabel msdos +# 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 +# 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% +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% The swap partition size rules are no different than for other Linux @@ -218,7 +219,7 @@ since this makes the file system configuration independent from device changes. For example: -# mkfs.ext4 -L nixos /dev/sda1 +# mkfs.ext4 -L nixos /dev/sda1 @@ -227,7 +228,7 @@ recommended to assign a label to the swap partition: . For example: -# mkswap -L swap /dev/sda2 +# mkswap -L swap /dev/sda2 @@ -242,7 +243,7 @@ it’s recommended to assign a label to the boot partition: . For example: -# mkfs.fat -F 32 -n boot /dev/sda3 +# mkfs.fat -F 32 -n boot /dev/sda3 @@ -273,7 +274,7 @@ Mount the target file system on which NixOS should be installed on /mnt, e.g. -# mount /dev/disk/by-label/nixos /mnt +# mount /dev/disk/by-label/nixos /mnt @@ -287,8 +288,8 @@ Mount the boot file system on /mnt/boot, e.g. -# mkdir -p /mnt/boot -# mount /dev/disk/by-label/boot /mnt/boot +# mkdir -p /mnt/boot +# mount /dev/disk/by-label/boot /mnt/boot @@ -303,7 +304,7 @@ the build actions that it may spawn) may need quite a bit of RAM, depending on your configuration. -# swapon /dev/sda2 +# swapon /dev/sda2 @@ -325,16 +326,16 @@ The command nixos-generate-config can generate an initial configuration file for you: -# nixos-generate-config --root /mnt +# nixos-generate-config --root /mnt You should then edit /mnt/etc/nixos/configuration.nix to suit your needs: -# nano /mnt/etc/nixos/configuration.nix +# 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. + nix-env -f '<nixpkgs>' -iA emacs. @@ -377,6 +378,10 @@ option can be set to true to automatically add them to the grub menu. + + 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 @@ -408,7 +413,7 @@ Do the installation: -# nixos-install +# 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 @@ -435,7 +440,7 @@ Retype new UNIX password: *** If everything went well: -# reboot +# reboot @@ -456,16 +461,16 @@ Retype new UNIX password: *** 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 +$ useradd -c 'Eelco Dolstra' -m eelco +$ passwd eelco You may also want to install some software. For instance, -$ nix-env -qa \* +$ nix-env -qaP \* shows what packages are available, and -$ nix-env -i w3m +$ nix-env -f '<nixpkgs>' -iA w3m install the w3m browser. @@ -485,19 +490,19 @@ $ nix-env -i w3m 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% +# 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 +# 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 @@ -505,23 +510,23 @@ $ nix-env -i w3m With a partitioned disk. -# mkfs.ext4 -L nixos /dev/sda1 -# mkswap -L swap /dev/sda2 -# swapon /dev/sda2 -# mkfs.fat -F 32 -n boot /dev/sda3 # (for UEFI systems only) -# mount /dev/disk/by-label/nixos /mnt -# mkdir -p /mnt/boot # (for UEFI systems only) -# mount /dev/disk/by-label/boot /mnt/boot # (for UEFI systems only) -# nixos-generate-config --root /mnt -# nano /mnt/etc/nixos/configuration.nix -# nixos-install -# reboot +# mkfs.ext4 -L nixos /dev/sda1 +# mkswap -L swap /dev/sda2 +# swapon /dev/sda2 +# mkfs.fat -F 32 -n boot /dev/sda3 # (for UEFI systems only) +# mount /dev/disk/by-label/nixos /mnt +# mkdir -p /mnt/boot # (for UEFI systems only) +# mount /dev/disk/by-label/boot /mnt/boot # (for UEFI systems only) +# nixos-generate-config --root /mnt +# nano /mnt/etc/nixos/configuration.nix +# nixos-install +# reboot NixOS Configuration - + { config, pkgs, ... }: { imports = [ # Include the results of the hardware scan. @@ -539,7 +544,7 @@ $ nix-env -i w3m # Enable the OpenSSH server. services.sshd.enable = true; } - +
diff --git a/nixos/doc/manual/installation/upgrading.xml b/nixos/doc/manual/installation/upgrading.xml index 69668b1d4bd..35b4d266e12 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. @@ -63,8 +63,8 @@ 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 @@ -75,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: @@ -127,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 87e4f3dae86..7d6e04e0dd9 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-enter.xml b/nixos/doc/manual/man-nixos-enter.xml index 42edaa1ae5b..1481db46712 100644 --- a/nixos/doc/manual/man-nixos-enter.xml +++ b/nixos/doc/manual/man-nixos-enter.xml @@ -34,6 +34,12 @@ shell-command + + + + + + @@ -100,6 +106,16 @@ + + + + + + + Suppresses all output from the activation script of the target system. + + + diff --git a/nixos/doc/manual/man-nixos-generate-config.xml b/nixos/doc/manual/man-nixos-generate-config.xml index 43d6c2696a2..61531a8f01c 100644 --- a/nixos/doc/manual/man-nixos-generate-config.xml +++ b/nixos/doc/manual/man-nixos-generate-config.xml @@ -154,7 +154,7 @@ file systems on /mnt and /mnt/boot, you would run: -$ nixos-generate-config --root /mnt +$ nixos-generate-config --root /mnt The resulting file /mnt/etc/nixos/hardware-configuration.nix might look @@ -204,7 +204,7 @@ $ nixos-generate-config --root /mnt After installation, if your hardware configuration changes, you can run: -$ nixos-generate-config +$ nixos-generate-config to update /etc/nixos/hardware-configuration.nix. Your /etc/nixos/configuration.nix will diff --git a/nixos/doc/manual/man-nixos-install.xml b/nixos/doc/manual/man-nixos-install.xml index 25f4f40613a..4fb94ee7494 100644 --- a/nixos/doc/manual/man-nixos-install.xml +++ b/nixos/doc/manual/man-nixos-install.xml @@ -13,72 +13,72 @@ - nixos-install + nixos-install path - + root - + path - + - + - + - + - + - + number - + number - + name value - + - + @@ -255,12 +255,12 @@ on an ext4 file system created in /dev/sda1: -$ mkfs.ext4 /dev/sda1 -$ mount /dev/sda1 /mnt -$ nixos-generate-config --root /mnt -$ # edit /mnt/etc/nixos/configuration.nix -$ nixos-install -$ reboot +$ mkfs.ext4 /dev/sda1 +$ mount /dev/sda1 /mnt +$ nixos-generate-config --root /mnt +$ # edit /mnt/etc/nixos/configuration.nix +$ nixos-install +$ reboot diff --git a/nixos/doc/manual/man-nixos-option.xml b/nixos/doc/manual/man-nixos-option.xml index d436cce742a..3e316e10d4e 100644 --- a/nixos/doc/manual/man-nixos-option.xml +++ b/nixos/doc/manual/man-nixos-option.xml @@ -13,19 +13,19 @@ - nixos-option + nixos-option path - + - + - + option.name @@ -103,13 +103,13 @@ Examples Investigate option values: -$ nixos-option boot.loader +$ nixos-option boot.loader This attribute set contains: generationsDir grub initScript -$ nixos-option boot.loader.grub.enable +$ nixos-option boot.loader.grub.enable Value: true diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index b6a247286d4..4c20cfcdd7d 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -38,6 +38,10 @@ + + + + @@ -66,9 +70,9 @@ + - - builder-spec + builder-spec @@ -86,6 +90,35 @@ + + + path + + + + + + + + + + + + + number + + + + + + + + + + + + + @@ -97,7 +130,8 @@ NixOS module, you must run nixos-rebuild to make the changes take effect. It builds the new system in /nix/store, runs its activation script, and stop and - (re)starts any system services if needed. + (re)starts any system services if needed. Please note that user services need + to be started manually as they aren't detected by the activation script at the moment. This command has one required argument, which specifies the desired @@ -156,7 +190,7 @@ the current directory, which points to the output of the top-level “system” derivation. This is essentially the same as doing -$ nix-build /path/to/nixpkgs/nixos -A system +$ nix-build /path/to/nixpkgs/nixos -A system Note that you do not need to be root to run nixos-rebuild build. @@ -188,6 +222,16 @@ $ nix-build /path/to/nixpkgs/nixos -A system + + + + + + + Opens configuration.nix in the default editor. + + + @@ -201,8 +245,8 @@ $ nix-build /path/to/nixpkgs/nixos -A system at the script that starts the VM. Thus, to test a NixOS configuration in a virtual machine, you should do the following: -$ nixos-rebuild build-vm -$ ./result/bin/run-*-vm +$ nixos-rebuild build-vm +$ ./result/bin/run-*-vm @@ -320,25 +364,23 @@ $ ./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. - - + + 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. + + @@ -363,7 +405,7 @@ $ ./result/bin/run-*-vm test.nix without affecting the default system profile, you would do: -$ nixos-rebuild switch -p test -I nixos-config=./test.nix +$ nixos-rebuild switch -p test -I nixos-config=./test.nix The new configuration will appear in the GRUB 2 submenu “NixOS - Profile 'test'”. diff --git a/nixos/doc/manual/man-pages.xml b/nixos/doc/manual/man-pages.xml index 0390dda6468..f5a1dd2d69f 100644 --- a/nixos/doc/manual/man-pages.xml +++ b/nixos/doc/manual/man-pages.xml @@ -6,7 +6,7 @@ EelcoDolstra Author - 2007-2018Eelco Dolstra + 2007-2019Eelco Dolstra diff --git a/nixos/doc/manual/release-notes/release-notes.xml b/nixos/doc/manual/release-notes/release-notes.xml index a222bfa29d5..02b59147721 100644 --- a/nixos/doc/manual/release-notes/release-notes.xml +++ b/nixos/doc/manual/release-notes/release-notes.xml @@ -8,6 +8,7 @@ This section lists the release notes for each stable version of NixOS and current unstable revision. + diff --git a/nixos/doc/manual/release-notes/rl-1509.xml b/nixos/doc/manual/release-notes/rl-1509.xml index e500c9d6342..5c4d9970178 100644 --- a/nixos/doc/manual/release-notes/rl-1509.xml +++ b/nixos/doc/manual/release-notes/rl-1509.xml @@ -627,7 +627,7 @@ nix-env -f "<nixpkgs>" -iA haskellPackages.pandoc In case of an infinite loop, use the --show-trace command line argument and read the line just above the error message. -$ nixos-rebuild build --show-trace +$ nixos-rebuild build --show-trace … while evaluating the module argument `pkgs' in "/etc/nixos/my-module.nix": infinite recursion encountered diff --git a/nixos/doc/manual/release-notes/rl-1703.xml b/nixos/doc/manual/release-notes/rl-1703.xml index 6ca79e2bc00..86f4a1ccfb7 100644 --- a/nixos/doc/manual/release-notes/rl-1703.xml +++ b/nixos/doc/manual/release-notes/rl-1703.xml @@ -626,17 +626,17 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-overlays-install"> overlays. For example, the following code: - let - pkgs = import <nixpkgs> {}; - in - pkgs.overridePackages (self: super: ...) +let + pkgs = import <nixpkgs> {}; +in + pkgs.overridePackages (self: super: ...) should be replaced by: - let - pkgs = import <nixpkgs> {}; - in - import pkgs.path { overlays = [(self: super: ...)]; } +let + pkgs = import <nixpkgs> {}; +in + import pkgs.path { overlays = [(self: super: ...)]; } diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml index 8715a05f508..3f10b26223d 100644 --- a/nixos/doc/manual/release-notes/rl-1809.xml +++ b/nixos/doc/manual/release-notes/rl-1809.xml @@ -639,7 +639,8 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull' - Groups kvm and render are introduced now, as systemd requires them. + Groups kvm and render are introduced + now, as systemd requires them. diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml index 6f78983d482..8ff1681d3b4 100644 --- a/nixos/doc/manual/release-notes/rl-1903.xml +++ b/nixos/doc/manual/release-notes/rl-1903.xml @@ -3,7 +3,7 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="sec-release-19.03"> - Release 19.03 (“Koi”, 2019/03/??) + Release 19.03 (“Koi”, 2019/04/11)
- The default Python 3 interpreter is now CPython 3.7 instead of CPython 3.6. + End of support is planned for end of October 2019, handing over to 19.09. - Added the Pantheon desktop environment. - It can be enabled through services.xserver.desktopManager.pantheon.enable. + 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. - services.xserver.desktopManager.pantheon default enables lightdm - as a display manager and using Pantheon's greeter. + By default, services.xserver.desktopManager.pantheon + enables LightDM as a display manager, as pantheon's screen locking + implementation relies on it. - This is because of limitations with the screenlocking implementation, whereas the - screenlocker would be non-functional without 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. - - Because of that it is recommended to retain this precaution, however if you'd like to change this 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. +
@@ -78,10 +96,41 @@ 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. + 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 + . @@ -146,22 +195,37 @@ - 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 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 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 - []. + 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 []. @@ -189,17 +253,21 @@ - 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. + 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 + 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 @@ -227,37 +295,41 @@ - 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 + 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. + 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 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 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. + 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. @@ -269,46 +341,49 @@ - The option services.xserver.displayManager.job.logToFile which was + 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). + 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. - - - - + (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 + 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 + 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. - + + + 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 @@ -341,92 +416,125 @@ shared hosts yes ''; - See #50316 + 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 + 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. + 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 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. + 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. - - - - Support for NixOS module system type types.optionSet and - lib.mkOption argument options is removed. - 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). - - + + + + 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. + 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. + + @@ -441,127 +549,218 @@ The module gained the option - which determines the used - Matomo version. + 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 + 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. + 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. + 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. + composableDerivation along with supporting library + functions has been removed. - The deprecated truecrypt package has been removed - and truecrypt attribute is now an alias for + 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. + 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 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 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. - - - Default algorithm for ZRAM swap was changed to zstd. - - - 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. - + + The quassel-webserver package and module was removed from nixpkgs due to + the lack of maintainers. + - 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. + 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. + 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. + 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. + 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 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 00000000000..11c13b8d942 --- /dev/null +++ b/nixos/doc/manual/release-notes/rl-1909.xml @@ -0,0 +1,705 @@ +
+ Release 19.09 (“Loris”, 2019/09/??) + +
+ Highlights + + + In addition to numerous new and upgraded packages, this release has the + following highlights: + + + + + + End of support is planned for end of April 2020, handing over to 20.03. + + + + + PHP now defaults to PHP 7.3, updated from 7.2. + + + + + PHP 7.1 is no longer supported due to upstream not supporting this version for the entire lifecycle of the 19.09 release. + + + + + The binfmt module is now easier to use. Additional systems can + be added through . + For instance, boot.binfmt.emulatedSystems = [ + "wasm32-wasi" "x86_64-windows" "aarch64-linux" ]; will + set up binfmt interpreters for each of those listed systems. + + + + + The installer now uses a less privileged nixos user whereas before we logged in as root. + To gain root privileges use sudo -i without a password. + + + + + We've updated to Xfce 4.14, which brings a new module . + If you'd like to upgrade, please switch from the module as it + will be deprecated in a future release. They're incompatibilities with the current Xfce module; it doesn't support + and it isn't recommended to use + and simultaneously or to downgrade from Xfce 4.14 after upgrading. + + + + + The GNOME 3 desktop manager module sports an interface to enable/disable core services, applications, and optional GNOME packages + like games. + + This can be achieved with the following options which the desktop manager default enables, excluding games. + services.gnome3.core-os-services.enable + services.gnome3.core-shell.enable + services.gnome3.core-utilities.enable + services.gnome3.games.enable + + With these options we hope to give users finer grained control over their systems. Prior to this change you'd either have to manually + disable options or use which only excluded the optional applications. + is now unguarded, it can exclude any package installed with + in the GNOME 3 module. + + + + + Orthogonal to the previous changes to the GNOME 3 desktop manager module, we've updated all default services and applications + to match as close as possible to a default reference GNOME 3 experience. + + + The following changes were enacted in + + + Applications removed from defaults: + accerciser + dconf-editor + evolution + gnome-documents + gnome-nettool + gnome-power-manager + gnome-todo + gnome-tweaks + gnome-usage + gucharmap + nautilus-sendto + vinagre + + + Applications added to defaults: + cheese + geary + + + The following changes were enacted in + + + Applications added to defaults: + gnome-color-manager + orca + + + Services enabled: + + + + +
+ +
+ New Services + + + The following new services were added since the last release: + + + + + + ./programs/dwm-status.nix + + + +
+ +
+ 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. + + + + + The option was removed, as it was only used by the wordpress + apache-httpd service to wait for mysql to have started up. + This can be accomplished by either describing a dependency on mysql.service (preferred) + or waiting for the (hardcoded) /run/mysqld/mysql.sock file to appear. + + + + + The module has been removed, see + instead for a free software fork of Emby. + + See the Jellyfin documentation: + + Migrating from Emby to Jellyfin + + + + + + IPv6 Privacy Extensions are now enabled by default for undeclared + interfaces. The previous behaviour was quite misleading — even though + the default value for + was + true, undeclared interfaces would not prefer temporary + addresses. Now, interfaces not mentioned in the config will prefer + temporary addresses. EUI64 addresses can still be set as preferred by + explicitly setting the option to false for the + interface in question. + + + + + Since Bittorrent Sync was superseded by Resilio Sync in 2016, the + bittorrentSync, bittorrentSync14, + and bittorrentSync16 packages have been removed in + favor of resilio-sync. + + + The corresponding module, has been + replaced by the module. + + + + + The httpd service no longer attempts to start the postgresql service. If you have come to depend + on this behaviour then you can preserve the behavior with the following configuration: + systemd.services.httpd.after = [ "postgresql.service" ]; + + + The option has been + marked as deprecated. You may still use this feature, but it will be + removed in a future release of NixOS. You are encouraged to convert any + httpd subservices you may have written to a full NixOS module. + + + Most of the httpd subservices packaged with NixOS have been replaced with + full NixOS modules including LimeSurvey, WordPress, and Zabbix. These + modules can be enabled using the , + , , + and options. + + + + + The option + was renamed to + (capital L). This follows + + upstreams renaming + of the setting. + + + + + As of this release the NixOps feature autoLuks is deprecated. It no longer works + with our systemd version without manual intervention. + + + Whenever the usage of the module is detected the evaluation will fail with a message + explaining why and how to deal with the situation. + + + A new knob named nixops.enableDeprecatedAutoLuks + has been introduced to disable the eval failure and to acknowledge the notice was received and read. + If you plan on using the feature please note that it might break with subsequent updates. + + + Make sure you set the _netdev option for each of the file systems referring to block + devices provided by the autoLuks module. Not doing this might render the system in a + state where it doesn't boot anymore. + + + If you are actively using the autoLuks module please let us know in + issue #62211. + + + + + The setopt declarations will be evaluated at the end of /etc/zshrc, so any code in , + and may break if it relies on those options being set. + + + + + The prometheus-nginx-exporter package now uses the offical exporter provided by NGINX Inc. + Its metrics are differently structured and are incompatible to the old ones. For information about the metrics, + have a look at the official repo. + + + + + The shibboleth-sp package has been updated to version 3. + It is largely backward compatible, for further information refer to the + release notes + and upgrade guide. + + + Nodejs 8 is scheduled EOL under the lifetime of 19.09 and has been dropped. + + + + + By default, prometheus exporters are now run with DynamicUser enabled. + Exporters that need a real user, now run under a seperate user and group which follow the pattern <exporter-name>-exporter, instead of the previous default nobody and nogroup. + Only some exporters are affected by the latter, namely the exporters dovecot, node, postfix and varnish. + + + + + The ibus-qt package is not installed by default anymore when is set to ibus. + If IBus support in Qt 4.x applications is required, add the ibus-qt package to your manually. + + + + + The CUPS Printing service now uses socket-based activation by + default, only starting when needed. The previous behavior can + be restored by setting + to + false. + + + + + The module has been removed from nixpkgs due to lack of maintainer. + + + + + The module has been removed from nixpkgs due to lack of maintainer. + + + + + Squid 3 has been removed and the derivation now refers to Squid 4. + + + + + The option has been replaced by + . The new option allows setting extra + configuration while being better type-checked and mergeable. + + + + + No service depends on keys.target anymore which is a systemd + target that indicates if all NixOps keys were successfully uploaded. + Instead, <key-name>-key.service should be used to define + a dependency of a key in a service. The full issue behind the keys.target + dependency is described at NixOS/nixpkgs#67265. + + + The following services are affected by this: + + services.dovecot2 + services.nsd + services.softether + services.strongswan + services.strongswan-swanctl + services.httpd + + + + + + The option has been replaced by a read-only option for each certificate you define. This will be + a subdirectory of /var/lib/acme. You can use this read-only option to figure out where the certificates are stored for a specific certificate. For example, + the option will use this directory option to find the certs for the virtual host. + + + and options have been removed. To execute a service before certificates + are provisioned or renewed add a RequiredBy=acme-${cert}.service to any service. + + + Furthermore, the acme module will not automatically add a dependency on lighttpd.service anymore. If you are using certficates provided by letsencrypt + for lighttpd, then you should depend on the certificate service acme-${cert}.service> manually. + + + For nginx, the dependencies are still automatically managed when is enabled just like before. What changed is that nginx now directly depends on the specific certificates that it needs, + instead of depending on the catch-all acme-certificates.target. This target unit was also removed from the codebase. + This will mean nginx will no longer depend on certificates it isn't explicitly managing and fixes a bug with certificate renewal + ordering racing with nginx restarting which could lead to nginx getting in a broken state as described at + NixOS/nixpkgs#60180. + + + + + The old deprecated emacs package sets have been dropped. + What used to be called emacsPackagesNg is now simply called emacsPackages. + + + + + is now disabled by default. + It was not useful except for debugging purposes and was confusingly set as default in some circumstances. + + + + +
+ +
+ 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. + + + + + + + The hunspellDicts.fr-any dictionary now ships with fr_FR.{aff,dic} + which is linked to fr-toutesvariantes.{aff,dic}. + + + + + The mysql service now runs as mysql + user. Previously, systemd did execute it as root, and mysql dropped privileges + itself. + This includes ExecStartPre= and + ExecStartPost= phases. + To accomplish that, runtime and data directory setup was delegated to + RuntimeDirectory and tmpfiles. + + + + + With the upgrade to systemd version 242 the systemd-timesyncd + service is no longer using DynamicUser=yes. In order for the + upgrade to work we rely on an activation script to move the state from the old + to the new directory. The older directory (prior 19.09) was + /var/lib/private/systemd/timesync. + + + As long as the system.config.stateVersion is below + 19.09 the state folder will migrated to its proper location + (/var/lib/systemd/timesync), if required. + + + + + The package avahi is now built to look up service + definitions from /etc/avahi/services instead of its + output directory in the nix store. Accordingly the module + now supports custom service definitions via + , which are then placed + in the aforementioned directory. See + avahi.service5 + for more information on custom service definitions. + + + + + Since version 0.1.19, cargo-vendor honors package + includes that are specified in the Cargo.toml + file of Rust crates. rustPlatform.buildRustPackage uses + cargo-vendor to collect and build dependent crates. + Since this change in cargo-vendor changes the set of + vendored files for most Rust packages, the hash that use used to verify + the dependencies, cargoSha256, also changes. + + + The cargoSha256 hashes of all in-tree derivations that + use buildRustPackage have been updated to reflect this + change. However, third-party derivations that use + buildRustPackage may have to be updated as well. + + + + + The consul package was upgraded past version 1.5, + so its deprecated legacy UI is no longer available. + + + + + The default resample-method for PulseAudio has been changed from the upstream default speex-float-1 + to speex-float-5. Be aware that low-powered ARM-based and MIPS-based boards will struggle with this + so you'll need to set back to speex-float-1. + + + + + The phabricator package and associated httpd.extraSubservice, as well as the + phd service have been removed from nixpkgs due to lack of maintainer. + + + + + The mercurial httpd.extraSubservice has been removed from nixpkgs due to lack of maintainer. + + + + + The trac httpd.extraSubservice has been removed from nixpkgs because it was unmaintained. + + + + + The foswiki package and associated httpd.extraSubservice have been removed + from nixpkgs due to lack of maintainer. + + + + + The tomcat-connector httpd.extraSubservice has been removed from nixpkgs. + + + + + It's now possible to change configuration in + services.nextcloud after the initial deploy + since all config parameters are persisted in an additional config file generated by the module. + Previously core configuration like database parameters were set using their imperative + installer after creating /var/lib/nextcloud. + + + + + There exists now lib.forEach, which is like map, but with + arguments flipped. When mapping function body spans many lines (or has nested + maps), it is often hard to follow which list is modified. + + + Previous solution to this problem was either to use lib.flip map + idiom or extract that anonymous mapping function to a named one. Both can still be used + but lib.forEach is preferred over lib.flip map. + + + The /etc/sysctl.d/nixos.conf file containing all the options set via + boot.kernel.sysctl was moved to + /etc/sysctl.d/60-nixos.conf, as + sysctl.d5 + recommends prefixing all filenames in /etc/sysctl.d with a + two-digit number and a dash to simplify the ordering of the files. + + + + + We now install the sysctl snippets shipped with systemd. + + This enables: + + Loose reverse path filtering + + + Source route filtering + + + + fq_codel as a packet scheduler (this helps to fight bufferbloat) + + + + This also configures the kernel to pass coredumps to systemd-coredump, + and restricts the SysRq key combinations to the sync command only. + These sysctl snippets can be found in /etc/sysctl.d/50-*.conf, + and overridden via boot.kernel.sysctl + (which will place the parameters in /etc/sysctl.d/60-nixos.conf). + + + + + Coredumps are now acquired by systemd-coredump by default. + systemd-coredump behaviour can still be modified via + . + To stick to the old behaviour (having the kernel dump to a file called core + in the working directory), without piping it through systemd-coredump, set + to "core". + + + + + systemd.packages option now also supports generators and + shutdown scripts. Old systemd.generator-packages option has + been removed. + + + + + The rmilter package was removed with associated module and options due deprecation by upstream developer. + Use rspamd in proxy mode instead. + + + + + systemd cgroup accounting via the + systemd.enableCgroupAccounting + option is now enabled by default. It now also enables the more recent Block IO and IP accounting + features. + + + + + We no longer enable custom font rendering settings with by default. + The defaults from fontconfig are sufficient. + + + + + The crashplan package and the + crashplan service have been removed from nixpkgs due to + crashplan shutting down the service, while the crashplansb + package and crashplan-small-business service have been + removed from nixpkgs due to lack of maintainer. + + + The redis module was hardcoded to use the redis user, + /run/redis as runtime directory and + /var/lib/redis as state directory. + Note that the NixOS module for Redis now disables kernel support for Transparent Huge Pages (THP), + because this features causes major performance problems for Redis, + e.g. (https://redis.io/topics/latency). + + + + + Using adds a default emoji font noto-fonts-emoji. + + Users of the following options will have this enabled by default: + + + + + + + + + + + + + + + + + + The altcoins categorization of packages has + been removed. You now access these packages at the top level, + ie. nix-shell -p dogecoin instead of + nix-shell -p altcoins.dogecoin, etc. + + + +
+
diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix index a5580f4712e..1bad63b9194 100644 --- a/nixos/lib/build-vms.nix +++ b/nixos/lib/build-vms.nix @@ -32,14 +32,14 @@ rec { import ./eval-config.nix { inherit system; - modules = configurations ++ + modules = configurations ++ extraConfigurations; + baseModules = (import ../modules/module-list.nix) ++ [ ../modules/virtualisation/qemu-vm.nix ../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs { key = "no-manual"; documentation.nixos.enable = false; } { key = "qemu"; system.build.qemu = qemu; } - ] ++ optional minimal ../modules/testing/minimal-kernel.nix - ++ extraConfigurations; - extraArgs = { inherit nodes; }; + { key = "nodes"; _module.args.nodes = nodes; } + ] ++ optional minimal ../modules/testing/minimal-kernel.nix; }; @@ -54,11 +54,11 @@ rec { machinesNumbered = zipLists machines (range 1 254); - nodes_ = flip map machinesNumbered (m: nameValuePair m.fst + nodes_ = forEach machinesNumbered (m: nameValuePair m.fst [ ( { config, nodes, ... }: let interfacesNumbered = zipLists config.virtualisation.vlans (range 1 255); - interfaces = flip map interfacesNumbered ({ fst, snd }: + interfaces = forEach interfacesNumbered ({ fst, snd }: nameValuePair "eth${toString snd}" { ipv4.addresses = [ { address = "192.168.${toString fst}.${toString m.snd}"; prefixLength = 24; @@ -67,7 +67,7 @@ rec { in { key = "ip-address"; config = - { networking.hostName = m.fst; + { networking.hostName = mkDefault m.fst; networking.interfaces = listToAttrs interfaces; @@ -88,7 +88,7 @@ rec { "${config.networking.hostName}\n")); virtualisation.qemu.options = - flip map interfacesNumbered + forEach interfacesNumbered ({ fst, snd }: qemuNICFlags snd fst m.snd); }; } diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix index 5f05b037bdd..77490ca3762 100644 --- a/nixos/lib/eval-config.nix +++ b/nixos/lib/eval-config.nix @@ -51,7 +51,7 @@ in rec { # system configuration. inherit (lib.evalModules { inherit prefix check; - modules = modules ++ extraModules ++ baseModules ++ [ pkgsModule ]; + modules = baseModules ++ extraModules ++ [ pkgsModule ] ++ modules; args = extraArgs; specialArgs = { modulesPath = builtins.toString ../modules; } // specialArgs; @@ -60,7 +60,7 @@ in rec { # 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-ext4-fs.nix b/nixos/lib/make-ext4-fs.nix index 47c6374c81a..932adcd9796 100644 --- a/nixos/lib/make-ext4-fs.nix +++ b/nixos/lib/make-ext4-fs.nix @@ -1,9 +1,14 @@ # Builds an ext4 image containing a populated /nix/store with the closure -# of store paths passed in the storePaths parameter. The generated image -# is sized to only fit its contents, with the expectation that a script -# resizes the filesystem at boot time. +# of store paths passed in the storePaths parameter, in addition to the +# contents of a directory that can be populated with commands. The +# generated image is sized to only fit its contents, with the expectation +# that a script resizes the filesystem at boot time. { pkgs +# List of derivations to be included , storePaths +# Shell commands to populate the ./files directory. +# All files in that directory are copied to the root of the FS. +, populateImageCommands ? "" , volumeLabel , uuid ? "44444444-4444-4444-8888-888888888888" , e2fsprogs @@ -23,13 +28,17 @@ pkgs.stdenv.mkDerivation { buildCommand = '' + ( + mkdir -p ./files + ${populateImageCommands} + ) # Add the closures of the top-level store objects. storePaths=$(cat ${sdClosureInfo}/store-paths) # 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) - numDataBlocks=$(du -c -B 4096 --apparent-size $storePaths | awk '$2 == "total" { print int($1 * 1.03) }') + numInodes=$(find $storePaths ./files | wc -l) + numDataBlocks=$(du -s -c -B 4096 --apparent-size $storePaths ./files | tail -1 | awk '{ print int($1 * 1.03) }') bytes=$((2 * 4096 * $numInodes + 4096 * $numDataBlocks)) echo "Creating an EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks)" @@ -47,6 +56,12 @@ pkgs.stdenv.mkDerivation { echo "copying store paths to image..." cptofs -t ext4 -i $out $storePaths /nix/store/ + ( + echo "copying files to image..." + cd ./files + cptofs -t ext4 -i $out ./* / + ) + # 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 echo "--- Fsck failed for EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks) ---" diff --git a/nixos/lib/make-options-doc/default.nix b/nixos/lib/make-options-doc/default.nix new file mode 100644 index 00000000000..88e052106a2 --- /dev/null +++ b/nixos/lib/make-options-doc/default.nix @@ -0,0 +1,164 @@ +/* Generate JSON, XML and DocBook documentation for given NixOS options. + + Minimal example: + + { pkgs, }: + + let + eval = import (pkgs.path + "/nixos/lib/eval-config.nix") { + baseModules = [ + ../module.nix + ]; + modules = []; + }; + in pkgs.nixosOptionsDoc { + options = eval.options; + } + +*/ +{ pkgs +, lib +, options +, transformOptions ? lib.id # function for additional tranformations of the options +, revision ? "" # Specify revision for the options +}: + +let + # Replace functions by the string + substFunction = x: + if builtins.isAttrs x then lib.mapAttrs (name: substFunction) x + else if builtins.isList x then map substFunction x + else if lib.isFunction x then "" + else x; + + optionsListDesc = lib.flip map optionsListVisible + (opt: transformOptions opt + // lib.optionalAttrs (opt ? example) { example = substFunction opt.example; } + // lib.optionalAttrs (opt ? default) { default = substFunction opt.default; } + // lib.optionalAttrs (opt ? type) { type = substFunction opt.type; } + // lib.optionalAttrs (opt ? relatedPackages && opt.relatedPackages != []) { relatedPackages = genRelatedPackages opt.relatedPackages; } + ); + + # Generate DocBook documentation for a list of packages. This is + # what `relatedPackages` option of `mkOption` from + # ../../../lib/options.nix influences. + # + # Each element of `relatedPackages` can be either + # - a string: that will be interpreted as an attribute name from `pkgs`, + # - a list: that will be interpreted as an attribute path from `pkgs`, + # - an attrset: that can specify `name`, `path`, `package`, `comment` + # (either of `name`, `path` is required, the rest are optional). + genRelatedPackages = packages: + let + unpack = p: if lib.isString p then { name = p; } + else if lib.isList p then { path = p; } + else p; + describe = args: + let + title = args.title or null; + name = args.name or (lib.concatStringsSep "." args.path); + path = args.path or [ args.name ]; + package = args.package or (lib.attrByPath path (throw "Invalid package attribute path `${toString path}'") pkgs); + in "" + + "${lib.optionalString (title != null) "${title} aka "}pkgs.${name} (${package.meta.name})" + + lib.optionalString (!package.meta.available) " [UNAVAILABLE]" + + ": ${package.meta.description or "???"}." + + lib.optionalString (args ? comment) "\n${args.comment}" + # Lots of `longDescription's break DocBook, so we just wrap them into + + lib.optionalString (package.meta ? longDescription) "\n${package.meta.longDescription}" + + ""; + in "${lib.concatStringsSep "\n" (map (p: describe (unpack p)) packages)}"; + + # Custom "less" that pushes up all the things ending in ".enable*" + # and ".package*" + optionLess = a: b: + let + ise = lib.hasPrefix "enable"; + isp = lib.hasPrefix "package"; + cmp = lib.splitByAndCompare ise lib.compare + (lib.splitByAndCompare isp lib.compare lib.compare); + in lib.compareLists cmp a.loc b.loc < 0; + + # Remove invisible and internal options. + optionsListVisible = lib.filter (opt: opt.visible && !opt.internal) (lib.optionAttrSetToDocList options); + + # Customly sort option list for the man page. + optionsList = lib.sort optionLess optionsListDesc; + + # Convert the list of options into an XML file. + optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList); + + optionsNix = builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList); + + # TODO: declarations: link to github + singleAsciiDoc = name: value: '' + == ${name} + + ${value.description} + + [discrete] + === details + + Type:: ${value.type} + ${ if lib.hasAttr "default" value + then '' + Default:: + + + ---- + ${builtins.toJSON value.default} + ---- + '' + else "No Default:: {blank}" + } + ${ if value.readOnly + then "Read Only:: {blank}" + else "" + } + ${ if lib.hasAttr "example" value + then '' + Example:: + + + ---- + ${builtins.toJSON value.example} + ---- + '' + else "No Example:: {blank}" + } + ''; + +in rec { + inherit optionsNix; + + optionsAsciiDoc = lib.concatStringsSep "\n" (lib.mapAttrsToList singleAsciiDoc optionsNix); + + optionsJSON = pkgs.runCommand "options.json" + { meta.description = "List of NixOS options in JSON format"; + } + '' + # Export list of options in different format. + dst=$out/share/doc/nixos + mkdir -p $dst + + cp ${builtins.toFile "options.json" (builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix))} $dst/options.json + + mkdir -p $out/nix-support + echo "file json $dst/options.json" >> $out/nix-support/hydra-build-products + ''; # */ + + optionsDocBook = pkgs.runCommand "options-docbook.xml" {} '' + optionsXML=${optionsXML} + if grep /nixpkgs/nixos/modules $optionsXML; then + echo "The manual appears to depend on the location of Nixpkgs, which is bad" + echo "since this prevents sharing via the NixOS channel. This is typically" + echo "caused by an option default that refers to a relative path (see above" + echo "for hints about the offending path)." + exit 1 + fi + + ${pkgs.libxslt.bin}/bin/xsltproc \ + --stringparam revision '${revision}' \ + -o intermediate.xml ${./options-to-docbook.xsl} $optionsXML + ${pkgs.libxslt.bin}/bin/xsltproc \ + -o "$out" ${./postprocess-option-descriptions.xsl} intermediate.xml + ''; +} diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/lib/make-options-doc/options-to-docbook.xsl similarity index 100% rename from nixos/doc/manual/options-to-docbook.xsl rename to nixos/lib/make-options-doc/options-to-docbook.xsl diff --git a/nixos/doc/manual/postprocess-option-descriptions.xsl b/nixos/lib/make-options-doc/postprocess-option-descriptions.xsl similarity index 100% rename from nixos/doc/manual/postprocess-option-descriptions.xsl rename to nixos/lib/make-options-doc/postprocess-option-descriptions.xsl diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm index 006da889671..4d3d63cd2db 100644 --- a/nixos/lib/test-driver/Machine.pm +++ b/nixos/lib/test-driver/Machine.pm @@ -31,9 +31,17 @@ sub new { if (!$startCommand) { # !!! merge with qemu-vm.nix. + my $netBackend = "-netdev user,id=net0"; + my $netFrontend = "-device virtio-net-pci,netdev=net0"; + + $netBackend .= "," . $args->{netBackendArgs} + if defined $args->{netBackendArgs}; + + $netFrontend .= "," . $args->{netFrontendArgs} + if defined $args->{netFrontendArgs}; + $startCommand = - "qemu-kvm -m 384 " . - "-net nic,model=virtio \$QEMU_OPTS "; + "qemu-kvm -m 384 $netBackend $netFrontend \$QEMU_OPTS "; if (defined $args->{hda}) { if ($args->{hdaInterface} eq "scsi") { diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix index a13e76a6956..76706877103 100644 --- a/nixos/lib/testing.nix +++ b/nixos/lib/testing.nix @@ -24,7 +24,7 @@ in rec { buildInputs = [ makeWrapper perl ]; - unpackPhase = "true"; + dontUnpack = true; preferLocalBuild = true; diff --git a/nixos/lib/testing/jquery.nix b/nixos/lib/testing/jquery.nix index 103721cadc3..e272f66a576 100644 --- a/nixos/lib/testing/jquery.nix +++ b/nixos/lib/testing/jquery.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { sha256 = "1v956yf5spw0156rni5z77hzqwmby7ajwdcd6mkhb6zvl36awr90"; }; - unpackPhase = "true"; + dontUnpack = true; installPhase = '' diff --git a/nixos/maintainers/option-usages.nix b/nixos/maintainers/option-usages.nix index 242c2a4dd44..11247666ecd 100644 --- a/nixos/maintainers/option-usages.nix +++ b/nixos/maintainers/option-usages.nix @@ -102,7 +102,7 @@ let # builtins multiply by 4 the memory usage and the time used to compute # each options. tryCollectOptions = moduleResult: - flip map (excludeOptions (collect isOption moduleResult)) (opt: + forEach (excludeOptions (collect isOption moduleResult)) (opt: { name = showOption opt.loc; } // builtins.tryEval (strict opt.value)); in keepNames ( @@ -145,7 +145,7 @@ let displayOptionsGraph = let checkList = - if !(isNull testOption) then [ testOption ] + if testOption != null then [ testOption ] else testOptions; checkAll = checkList == []; in diff --git a/nixos/maintainers/scripts/cloudstack/cloudstack-image.nix b/nixos/maintainers/scripts/cloudstack/cloudstack-image.nix new file mode 100644 index 00000000000..37b46db059c --- /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 eeae27ede0f..88d95e67544 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/modules/config/fonts/fontconfig-penultimate.nix b/nixos/modules/config/fonts/fontconfig-penultimate.nix index 7e05e77d967..7100f10dcfc 100644 --- a/nixos/modules/config/fonts/fontconfig-penultimate.nix +++ b/nixos/modules/config/fonts/fontconfig-penultimate.nix @@ -31,7 +31,7 @@ let # use latest when no version is passed makeCacheConf = { version ? null }: let - fcPackage = if builtins.isNull version + fcPackage = if version == null then "fontconfig" else "fontconfig_${version}"; makeCache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.fonts; }; @@ -52,83 +52,11 @@ let ''; + # local configuration file localConf = pkgs.writeText "fc-local.conf" cfg.localConf; - # The configuration to be included in /etc/font/ - penultimateConf = pkgs.runCommand "font-penultimate-conf" {} '' - support_folder=$out/etc/fonts/conf.d - latest_folder=$out/etc/fonts/${latestVersion}/conf.d - - mkdir -p $support_folder - mkdir -p $latest_folder - - ln -s ${supportFontsConf} $support_folder/../fonts.conf - ln -s ${latestPkg.out}/etc/fonts/fonts.conf \ - $latest_folder/../fonts.conf - - # fontconfig-penultimate various configuration files - ln -s ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/*.conf \ - $support_folder - ln -s ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/*.conf \ - $latest_folder - - ln -s ${cacheConfSupport} $support_folder/00-nixos-cache.conf - ln -s ${cacheConfLatest} $latest_folder/00-nixos-cache.conf - - rm $support_folder/10-antialias.conf $latest_folder/10-antialias.conf - ln -s ${antialiasConf} $support_folder/10-antialias.conf - ln -s ${antialiasConf} $latest_folder/10-antialias.conf - - rm $support_folder/10-hinting.conf $latest_folder/10-hinting.conf - ln -s ${hintingConf} $support_folder/10-hinting.conf - ln -s ${hintingConf} $latest_folder/10-hinting.conf - - ${optionalString cfg.useEmbeddedBitmaps '' - rm $support_folder/10-no-embedded-bitmaps.conf - rm $latest_folder/10-no-embedded-bitmaps.conf - ''} - - rm $support_folder/10-subpixel.conf $latest_folder/10-subpixel.conf - ln -s ${subpixelConf} $support_folder/10-subpixel.conf - ln -s ${subpixelConf} $latest_folder/10-subpixel.conf - - ${optionalString (cfg.dpi != 0) '' - ln -s ${dpiConf} $support_folder/11-dpi.conf - ln -s ${dpiConf} $latest_folder/11-dpi.conf - ''} - - ${optionalString (!cfg.includeUserConf) '' - rm $support_folder/50-user.conf - rm $latest_folder/50-user.conf - ''} - - # 51-local.conf - rm $latest_folder/51-local.conf - substitute \ - ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/51-local.conf \ - $latest_folder/51-local.conf \ - --replace local.conf /etc/fonts/${latestVersion}/local.conf - - # local.conf (indirect priority 51) - ${optionalString (cfg.localConf != "") '' - ln -s ${localConf} $out/etc/fonts/local.conf - ln -s ${localConf} $out/etc/fonts/${latestVersion}/local.conf - ''} - - ln -s ${defaultFontsConf} $support_folder/52-default-fonts.conf - ln -s ${defaultFontsConf} $latest_folder/52-default-fonts.conf - - ${optionalString cfg.allowBitmaps '' - rm $support_folder/53-no-bitmaps.conf - rm $latest_folder/53-no-bitmaps.conf - ''} - - ${optionalString (!cfg.allowType1) '' - ln -s ${rejectType1} $support_folder/53-no-type1.conf - ln -s ${rejectType1} $latest_folder/53-no-type1.conf - ''} - ''; - + # rendering settings configuration files + # priority 10 hintingConf = pkgs.writeText "fc-10-hinting.conf" '' @@ -197,6 +125,8 @@ let ''; + # default fonts configuration file + # priority 52 defaultFontsConf = let genDefault = fonts: name: optionalString (fonts != []) '' @@ -226,7 +156,9 @@ let ''; - rejectType1 = pkgs.writeText "fc-53-no-type1.conf" '' + # reject Type 1 fonts + # priority 53 + rejectType1 = pkgs.writeText "fc-53-nixos-reject-type1.conf" '' @@ -243,6 +175,88 @@ let ''; + # The configuration to be included in /etc/font/ + penultimateConf = pkgs.runCommand "fontconfig-penultimate-conf" { + preferLocalBuild = true; + } '' + support_folder=$out/etc/fonts/conf.d + latest_folder=$out/etc/fonts/${latestVersion}/conf.d + + mkdir -p $support_folder + mkdir -p $latest_folder + + # fonts.conf + ln -s ${supportFontsConf} $support_folder/../fonts.conf + ln -s ${latestPkg.out}/etc/fonts/fonts.conf \ + $latest_folder/../fonts.conf + + # fontconfig-penultimate various configuration files + ln -s ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/*.conf \ + $support_folder + ln -s ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/*.conf \ + $latest_folder + + ln -s ${cacheConfSupport} $support_folder/00-nixos-cache.conf + ln -s ${cacheConfLatest} $latest_folder/00-nixos-cache.conf + + rm $support_folder/10-antialias.conf $latest_folder/10-antialias.conf + ln -s ${antialiasConf} $support_folder/10-antialias.conf + ln -s ${antialiasConf} $latest_folder/10-antialias.conf + + rm $support_folder/10-hinting.conf $latest_folder/10-hinting.conf + ln -s ${hintingConf} $support_folder/10-hinting.conf + ln -s ${hintingConf} $latest_folder/10-hinting.conf + + ${optionalString cfg.useEmbeddedBitmaps '' + rm $support_folder/10-no-embedded-bitmaps.conf + rm $latest_folder/10-no-embedded-bitmaps.conf + ''} + + rm $support_folder/10-subpixel.conf $latest_folder/10-subpixel.conf + ln -s ${subpixelConf} $support_folder/10-subpixel.conf + ln -s ${subpixelConf} $latest_folder/10-subpixel.conf + + ${optionalString (cfg.dpi != 0) '' + ln -s ${dpiConf} $support_folder/11-dpi.conf + ln -s ${dpiConf} $latest_folder/11-dpi.conf + ''} + + # 50-user.conf + ${optionalString (!cfg.includeUserConf) '' + rm $support_folder/50-user.conf + rm $latest_folder/50-user.conf + ''} + + # 51-local.conf + rm $latest_folder/51-local.conf + substitute \ + ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/51-local.conf \ + $latest_folder/51-local.conf \ + --replace local.conf /etc/fonts/${latestVersion}/local.conf + + # local.conf (indirect priority 51) + ${optionalString (cfg.localConf != "") '' + ln -s ${localConf} $support_folder/../local.conf + ln -s ${localConf} $latest_folder/../local.conf + ''} + + # 52-nixos-default-fonts.conf + ln -s ${defaultFontsConf} $support_folder/52-nixos-default-fonts.conf + ln -s ${defaultFontsConf} $latest_folder/52-nixos-default-fonts.conf + + # 53-no-bitmaps.conf + ${optionalString cfg.allowBitmaps '' + rm $support_folder/53-no-bitmaps.conf + rm $latest_folder/53-no-bitmaps.conf + ''} + + ${optionalString (!cfg.allowType1) '' + # 53-nixos-reject-type1.conf + ln -s ${rejectType1} $support_folder/53-nixos-reject-type1.conf + ln -s ${rejectType1} $latest_folder/53-nixos-reject-type1.conf + ''} + ''; + in { @@ -255,7 +269,7 @@ in penultimate = { enable = mkOption { type = types.bool; - default = true; + default = false; description = '' Enable fontconfig-penultimate settings to supplement the NixOS defaults by providing per-font rendering defaults and diff --git a/nixos/modules/config/fonts/fontconfig-ultimate.nix b/nixos/modules/config/fonts/fontconfig-ultimate.nix index 7549dc6c065..45328f3eaf1 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 12f5ca2e799..bcb86f11ead 100644 --- a/nixos/modules/config/fonts/fontconfig.nix +++ b/nixos/modules/config/fonts/fontconfig.nix @@ -14,250 +14,254 @@ Low number means high priority. */ -{ config, lib, pkgs, ... }: +{ config, pkgs, lib, ... }: with lib; -let cfg = config.fonts.fontconfig; +let + cfg = config.fonts.fontconfig; - fcBool = x: "" + (boolToString x) + ""; + fcBool = x: "" + (boolToString x) + ""; - # back-supported fontconfig version and package - # version is used for font cache generation - supportVersion = "210"; - supportPkg = pkgs."fontconfig_${supportVersion}"; + # back-supported fontconfig version and package + # version is used for font cache generation + supportVersion = "210"; + supportPkg = pkgs."fontconfig_${supportVersion}"; - # latest fontconfig version and package - # version is used for configuration folder name, /etc/fonts/VERSION/ - # note: format differs from supportVersion and can not be used with makeCacheConf - latestVersion = pkgs.fontconfig.configVersion; - latestPkg = pkgs.fontconfig; + # latest fontconfig version and package + # version is used for configuration folder name, /etc/fonts/VERSION/ + # note: format differs from supportVersion and can not be used with makeCacheConf + latestVersion = pkgs.fontconfig.configVersion; + latestPkg = pkgs.fontconfig; - # supported version fonts.conf - supportFontsConf = pkgs.makeFontsConf { fontconfig = supportPkg; fontDirectories = config.fonts.fonts; }; + # supported version fonts.conf + supportFontsConf = pkgs.makeFontsConf { fontconfig = supportPkg; fontDirectories = config.fonts.fonts; }; - # configuration file to read fontconfig cache - # version dependent - # priority 0 - cacheConfSupport = makeCacheConf { version = supportVersion; }; - cacheConfLatest = makeCacheConf {}; + # configuration file to read fontconfig cache + # version dependent + # priority 0 + cacheConfSupport = makeCacheConf { version = supportVersion; }; + cacheConfLatest = makeCacheConf {}; - # generate the font cache setting file for a fontconfig version - # use latest when no version is passed - makeCacheConf = { version ? null }: - let - fcPackage = if builtins.isNull version - then "fontconfig" - else "fontconfig_${version}"; - makeCache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.fonts; }; - cache = makeCache pkgs."${fcPackage}"; - cache32 = makeCache pkgs.pkgsi686Linux."${fcPackage}"; - in - pkgs.writeText "fc-00-nixos-cache.conf" '' - - - - - ${concatStringsSep "\n" (map (font: "${font}") config.fonts.fonts)} - - ${cache} - ${optionalString (pkgs.stdenv.isx86_64 && cfg.cache32Bit) '' - ${cache32} - ''} - - ''; - - # rendering settings configuration file - # priority 10 - renderConf = pkgs.writeText "fc-10-nixos-rendering.conf" '' + # generate the font cache setting file for a fontconfig version + # use latest when no version is passed + makeCacheConf = { version ? null }: + let + fcPackage = if version == null + then "fontconfig" + else "fontconfig_${version}"; + makeCache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.fonts; }; + cache = makeCache pkgs."${fcPackage}"; + cache32 = makeCache pkgs.pkgsi686Linux."${fcPackage}"; + in + pkgs.writeText "fc-00-nixos-cache.conf" '' - - - - - ${fcBool cfg.hinting.enable} - - - ${fcBool cfg.hinting.autohint} - - - hintslight - - - ${fcBool cfg.antialias} - - - ${cfg.subpixel.rgba} - - - lcd${cfg.subpixel.lcdfilter} - - - - ${optionalString (cfg.dpi != 0) '' - - - ${toString cfg.dpi} - - + + ${concatStringsSep "\n" (map (font: "${font}") config.fonts.fonts)} + + ${cache} + ${optionalString (pkgs.stdenv.isx86_64 && cfg.cache32Bit) '' + ${cache32} ''} - ''; - # local configuration file - # priority 51 - localConf = pkgs.writeText "fc-local.conf" cfg.localConf; + # rendering settings configuration file + # priority 10 + renderConf = pkgs.writeText "fc-10-nixos-rendering.conf" '' + + + - # default fonts configuration file - # priority 52 - defaultFontsConf = - let genDefault = fonts: name: - optionalString (fonts != []) '' - - ${name} - - ${concatStringsSep "" - (map (font: '' - ${font} - '') fonts)} - - - ''; - in - pkgs.writeText "fc-52-nixos-default-fonts.conf" '' - - - - - - ${genDefault cfg.defaultFonts.sansSerif "sans-serif"} - - ${genDefault cfg.defaultFonts.serif "serif"} - - ${genDefault cfg.defaultFonts.monospace "monospace"} - - - ''; - - # bitmap font options - # priority 53 - rejectBitmaps = pkgs.writeText "fc-53-nixos-bitmaps.conf" '' - - - - - ${optionalString (!cfg.allowBitmaps) '' - - - - - false - - - - ''} - - - - - ${fcBool cfg.useEmbeddedBitmaps} + + + + ${fcBool cfg.hinting.enable} + + + ${fcBool cfg.hinting.autohint} + + + hintslight + + + ${fcBool cfg.antialias} + + + ${cfg.subpixel.rgba} + + + lcd${cfg.subpixel.lcdfilter} - - ''; - - # reject Type 1 fonts - # priority 53 - rejectType1 = pkgs.writeText "fc-53-nixos-reject-type1.conf" '' - - - - - - - - - Type 1 - - - - - - ''; - - # fontconfig configuration package - confPkg = pkgs.runCommand "fontconfig-conf" {} '' - support_folder=$out/etc/fonts - latest_folder=$out/etc/fonts/${latestVersion} - - mkdir -p $support_folder/conf.d - mkdir -p $latest_folder/conf.d - - # fonts.conf - ln -s ${supportFontsConf} $support_folder/fonts.conf - ln -s ${latestPkg.out}/etc/fonts/fonts.conf \ - $latest_folder/fonts.conf - - # fontconfig default config files - ln -s ${supportPkg.out}/etc/fonts/conf.d/*.conf \ - $support_folder/conf.d/ - ln -s ${latestPkg.out}/etc/fonts/conf.d/*.conf \ - $latest_folder/conf.d/ - - # update latest 51-local.conf path to look at the latest local.conf - rm $latest_folder/conf.d/51-local.conf - - substitute ${latestPkg.out}/etc/fonts/conf.d/51-local.conf \ - $latest_folder/conf.d/51-local.conf \ - --replace local.conf /etc/fonts/${latestVersion}/local.conf - - # 00-nixos-cache.conf - ln -s ${cacheConfSupport} \ - $support_folder/conf.d/00-nixos-cache.conf - ln -s ${cacheConfLatest} $latest_folder/conf.d/00-nixos-cache.conf - - # 10-nixos-rendering.conf - ln -s ${renderConf} $support_folder/conf.d/10-nixos-rendering.conf - ln -s ${renderConf} $latest_folder/conf.d/10-nixos-rendering.conf - - # 50-user.conf - ${optionalString (! cfg.includeUserConf) '' - rm $support_folder/conf.d/50-user.conf - rm $latest_folder/conf.d/50-user.conf + ${optionalString (cfg.dpi != 0) '' + + + ${toString cfg.dpi} + + ''} - # local.conf (indirect priority 51) - ${optionalString (cfg.localConf != "") '' - ln -s ${localConf} $support_folder/local.conf - ln -s ${localConf} $latest_folder/local.conf - ''} + + ''; - # 52-nixos-default-fonts.conf - ln -s ${defaultFontsConf} $support_folder/conf.d/52-nixos-default-fonts.conf - ln -s ${defaultFontsConf} $latest_folder/conf.d/52-nixos-default-fonts.conf + # local configuration file + localConf = pkgs.writeText "fc-local.conf" cfg.localConf; - # 53-nixos-bitmaps.conf - ln -s ${rejectBitmaps} $support_folder/conf.d/53-nixos-bitmaps.conf - ln -s ${rejectBitmaps} $latest_folder/conf.d/53-nixos-bitmaps.conf + # default fonts configuration file + # priority 52 + defaultFontsConf = + let genDefault = fonts: name: + optionalString (fonts != []) '' + + ${name} + + ${concatStringsSep "" + (map (font: '' + ${font} + '') fonts)} + + + ''; + in + pkgs.writeText "fc-52-nixos-default-fonts.conf" '' + + + - ${optionalString (! cfg.allowType1) '' - # 53-nixos-reject-type1.conf - ln -s ${rejectType1} $support_folder/conf.d/53-nixos-reject-type1.conf - ln -s ${rejectType1} $latest_folder/conf.d/53-nixos-reject-type1.conf - ''} - ''; + + ${genDefault cfg.defaultFonts.sansSerif "sans-serif"} - # Package with configuration files - # this merge all the packages in the fonts.fontconfig.confPackages list - fontconfigEtc = pkgs.buildEnv { - name = "fontconfig-etc"; - paths = cfg.confPackages; - ignoreCollisions = true; - }; + ${genDefault cfg.defaultFonts.serif "serif"} + + ${genDefault cfg.defaultFonts.monospace "monospace"} + + ${genDefault cfg.defaultFonts.emoji "emoji"} + + + ''; + + # bitmap font options + # priority 53 + rejectBitmaps = pkgs.writeText "fc-53-no-bitmaps.conf" '' + + + + + ${optionalString (!cfg.allowBitmaps) '' + + + + + false + + + + ''} + + + + + ${fcBool cfg.useEmbeddedBitmaps} + + + + + ''; + + # reject Type 1 fonts + # priority 53 + rejectType1 = pkgs.writeText "fc-53-nixos-reject-type1.conf" '' + + + + + + + + + Type 1 + + + + + + ''; + + # fontconfig configuration package + confPkg = pkgs.runCommand "fontconfig-conf" { + preferLocalBuild = true; + } '' + support_folder=$out/etc/fonts/conf.d + latest_folder=$out/etc/fonts/${latestVersion}/conf.d + + mkdir -p $support_folder + mkdir -p $latest_folder + + # fonts.conf + ln -s ${supportFontsConf} $support_folder/../fonts.conf + ln -s ${latestPkg.out}/etc/fonts/fonts.conf \ + $latest_folder/../fonts.conf + + # fontconfig default config files + ln -s ${supportPkg.out}/etc/fonts/conf.d/*.conf \ + $support_folder/ + ln -s ${latestPkg.out}/etc/fonts/conf.d/*.conf \ + $latest_folder/ + + # update latest 51-local.conf path to look at the latest local.conf + rm $latest_folder/51-local.conf + + substitute ${latestPkg.out}/etc/fonts/conf.d/51-local.conf \ + $latest_folder/51-local.conf \ + --replace local.conf /etc/fonts/${latestVersion}/local.conf + + # 00-nixos-cache.conf + ln -s ${cacheConfSupport} \ + $support_folder/00-nixos-cache.conf + ln -s ${cacheConfLatest} $latest_folder/00-nixos-cache.conf + + # 10-nixos-rendering.conf + ln -s ${renderConf} $support_folder/10-nixos-rendering.conf + ln -s ${renderConf} $latest_folder/10-nixos-rendering.conf + + # 50-user.conf + ${optionalString (!cfg.includeUserConf) '' + rm $support_folder/50-user.conf + rm $latest_folder/50-user.conf + ''} + + # local.conf (indirect priority 51) + ${optionalString (cfg.localConf != "") '' + ln -s ${localConf} $support_folder/../local.conf + ln -s ${localConf} $latest_folder/../local.conf + ''} + + # 52-nixos-default-fonts.conf + ln -s ${defaultFontsConf} $support_folder/52-nixos-default-fonts.conf + ln -s ${defaultFontsConf} $latest_folder/52-nixos-default-fonts.conf + + # 53-no-bitmaps.conf + ln -s ${rejectBitmaps} $support_folder/53-no-bitmaps.conf + ln -s ${rejectBitmaps} $latest_folder/53-no-bitmaps.conf + + ${optionalString (!cfg.allowType1) '' + # 53-nixos-reject-type1.conf + ln -s ${rejectType1} $support_folder/53-nixos-reject-type1.conf + ln -s ${rejectType1} $latest_folder/53-nixos-reject-type1.conf + ''} + ''; + + # Package with configuration files + # this merge all the packages in the fonts.fontconfig.confPackages list + fontconfigEtc = pkgs.buildEnv { + name = "fontconfig-etc"; + paths = cfg.confPackages; + ignoreCollisions = true; + }; in { @@ -342,6 +346,21 @@ in in case multiple languages must be supported. ''; }; + + emoji = mkOption { + type = types.listOf types.str; + default = ["Noto Color Emoji"]; + description = '' + System-wide default emoji font(s). Multiple fonts may be listed + in case a font does not support all emoji. + + Note that fontconfig matches color emoji fonts preferentially, + so if you want to use a black and white font while having + a color font installed (eg. Noto Color Emoji installed alongside + Noto Emoji), fontconfig will still choose the color font even + when it is later in the list. + ''; + }; }; hinting = { diff --git a/nixos/modules/config/fonts/fontdir.nix b/nixos/modules/config/fonts/fontdir.nix index 180e38f81f4..cc70fbf8744 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/fonts/fonts.nix b/nixos/modules/config/fonts/fonts.nix index 0dd01df9da7..abb806b601a 100644 --- a/nixos/modules/config/fonts/fonts.nix +++ b/nixos/modules/config/fonts/fonts.nix @@ -43,6 +43,7 @@ with lib; pkgs.xorg.fontmiscmisc pkgs.xorg.fontcursormisc pkgs.unifont + pkgs.noto-fonts-emoji ]; }; diff --git a/nixos/modules/config/ldap.nix b/nixos/modules/config/ldap.nix index f65a3fc50d5..e008497a2a6 100644 --- a/nixos/modules/config/ldap.nix +++ b/nixos/modules/config/ldap.nix @@ -27,25 +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.rootpwmoddn != "") - "rootpwmoddn ${cfg.daemon.rootpwmoddn}" } - ${optionalString (cfg.daemon.extraConfig != "") cfg.daemon.extraConfig } - ''; - }; + 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 } + ''; - insertLdapPassword = !config.users.ldap.daemon.enable && - config.users.ldap.bind.distinguishedName != ""; + # 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 @@ -139,13 +143,13 @@ in ''; }; - rootpwmodpw = mkOption { + 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 + 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. ''; }; }; @@ -161,7 +165,7 @@ in ''; }; - password = mkOption { + passwordFile = mkOption { default = "/etc/ldap/bind.password"; type = types.str; description = '' @@ -220,14 +224,14 @@ 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 + if test -f "${cfg.bind.passwordFile}" ; then umask 0077 conf="$(mktemp)" - printf 'bindpw %s\n' "$(cat ${cfg.bind.password})" | + printf 'bindpw %s\n' "$(cat ${cfg.bind.passwordFile})" | cat ${ldapConfig.source} - >"$conf" mv -fT "$conf" /etc/ldap.conf fi @@ -251,7 +255,6 @@ in }; systemd.services = mkIf cfg.daemon.enable { - nslcd = { wantedBy = [ "multi-user.target" ]; @@ -259,32 +262,32 @@ in umask 0077 conf="$(mktemp)" { - cat ${nslcdConfig.source} - test -z '${cfg.bind.distinguishedName}' -o ! -f '${cfg.bind.password}' || - printf 'bindpw %s\n' "$(cat '${cfg.bind.password}')" - test -z '${cfg.daemon.rootpwmoddn}' -o ! -f '${cfg.daemon.rootpwmodpw}' || - printf 'rootpwmodpw %s\n' "$(cat '${cfg.daemon.rootpwmodpw}')" + 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" /etc/nslcd.conf + mv -fT "$conf" /run/nslcd/nslcd.conf ''; - - # NOTE: because one cannot pass a custom config path to `nslcd` - # (which is only able to use `/etc/nslcd.conf`) - # changes in `nslcdConfig` won't change `serviceConfig`, - # and thus won't restart `nslcd`. - # Therefore `restartTriggers` is used on `/etc/nslcd.conf`. - restartTriggers = [ nslcdConfig.source ]; + 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/locale.nix b/nixos/modules/config/locale.nix new file mode 100644 index 00000000000..6f056588187 --- /dev/null +++ b/nixos/modules/config/locale.nix @@ -0,0 +1,94 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + tzdir = "${pkgs.tzdata}/share/zoneinfo"; + nospace = str: filter (c: c == " ") (stringToCharacters str) == []; + timezone = types.nullOr (types.addCheck types.str nospace) + // { description = "null or string without spaces"; }; + + lcfg = config.location; + +in + +{ + options = { + + time = { + + timeZone = mkOption { + default = null; + type = timezone; + example = "America/New_York"; + description = '' + The time zone used when displaying times and dates. See + for a comprehensive list of possible values for this setting. + + If null, the timezone will default to UTC and can be set imperatively + using timedatectl. + ''; + }; + + hardwareClockInLocalTime = mkOption { + default = false; + type = types.bool; + description = "If set, keep the hardware clock in local time instead of UTC."; + }; + + }; + + location = { + + latitude = mkOption { + type = types.float; + description = '' + Your current latitude, between + -90.0 and 90.0. Must be provided + along with longitude. + ''; + }; + + longitude = mkOption { + type = types.float; + description = '' + Your current longitude, between + between -180.0 and 180.0. Must be + provided along with latitude. + ''; + }; + + provider = mkOption { + type = types.enum [ "manual" "geoclue2" ]; + default = "manual"; + description = '' + The location provider to use for determining your location. If set to + manual you must also provide latitude/longitude. + ''; + }; + + }; + }; + + config = { + + environment.sessionVariables.TZDIR = "/etc/zoneinfo"; + + services.geoclue2.enable = mkIf (lcfg.provider == "geoclue2") true; + + # This way services are restarted when tzdata changes. + systemd.globalEnvironment.TZDIR = tzdir; + + systemd.services.systemd-timedated.environment = lib.optionalAttrs (config.time.timeZone != null) { NIXOS_STATIC_TIMEZONE = "1"; }; + + environment.etc = { + zoneinfo.source = tzdir; + } // lib.optionalAttrs (config.time.timeZone != null) { + localtime.source = "/etc/zoneinfo/${config.time.timeZone}"; + localtime.mode = "direct-symlink"; + }; + }; + +} diff --git a/nixos/modules/config/malloc.nix b/nixos/modules/config/malloc.nix new file mode 100644 index 00000000000..65130454735 --- /dev/null +++ b/nixos/modules/config/malloc.nix @@ -0,0 +1,91 @@ +{ config, lib, pkgs, ... }: +with lib; + +let + cfg = config.environment.memoryAllocator; + + # The set of alternative malloc(3) providers. + providers = { + "graphene-hardened" = rec { + libPath = "${pkgs.graphene-hardened-malloc}/lib/libhardened_malloc.so"; + description = '' + An allocator designed to mitigate memory corruption attacks, such as + those caused by use-after-free bugs. + ''; + }; + + "jemalloc" = { + libPath = "${pkgs.jemalloc}/lib/libjemalloc.so"; + description = '' + A general purpose allocator that emphasizes fragmentation avoidance + and scalable concurrency support. + ''; + }; + + "scudo" = { + libPath = "${pkgs.llvmPackages.compiler-rt}/lib/linux/libclang_rt.scudo-x86_64.so"; + description = '' + A user-mode allocator based on LLVM Sanitizer’s CombinedAllocator, + which aims at providing additional mitigations against heap based + vulnerabilities, while maintaining good performance. + ''; + }; + }; + + providerConf = providers."${cfg.provider}"; + + # An output that contains only the shared library, to avoid + # needlessly bloating the system closure + mallocLib = pkgs.runCommand "malloc-provider-${cfg.provider}" + rec { + preferLocalBuild = true; + allowSubstitutes = false; + origLibPath = providerConf.libPath; + libName = baseNameOf origLibPath; + } + '' + mkdir -p $out/lib + cp -L $origLibPath $out/lib/$libName + ''; + + # The full path to the selected provider shlib. + providerLibPath = "${mallocLib}/lib/${mallocLib.libName}"; +in + +{ + meta = { + maintainers = [ maintainers.joachifm ]; + }; + + options = { + environment.memoryAllocator.provider = mkOption { + type = types.enum ([ "libc" ] ++ attrNames providers); + default = "libc"; + description = '' + The system-wide memory allocator. + + Briefly, the system-wide memory allocator providers are: + + libc: the standard allocator provided by libc + ${toString (mapAttrsToList + (name: value: "${name}: ${value.description}") + providers)} + + + + + Selecting an alternative allocator (i.e., anything other than + libc) may result in instability, data loss, + and/or service failure. + + + ''; + }; + }; + + config = mkIf (cfg.provider != "libc") { + environment.etc."ld-nix.so.preload".text = '' + ${providerLibPath} + ''; + }; +} diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix index 25253cf02e1..4b9086022ed 100644 --- a/nixos/modules/config/networking.nix +++ b/nixos/modules/config/networking.nix @@ -7,16 +7,6 @@ with lib; let cfg = config.networking; - dnsmasqResolve = config.services.dnsmasq.enable && - config.services.dnsmasq.resolveLocalQueries; - hasLocalResolver = config.services.bind.enable || - config.services.unbound.enable || - dnsmasqResolve; - - 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"; @@ -64,48 +54,6 @@ in ''; }; - networking.dnsSingleRequest = lib.mkOption { - type = types.bool; - default = false; - description = '' - Recent versions of glibc will issue both ipv4 (A) and ipv6 (AAAA) - address queries at the same time, from the same port. Sometimes upstream - routers will systemically drop the ipv4 queries. The symptom of this problem is - that 'getent hosts example.com' only returns ipv6 (or perhaps only ipv4) addresses. The - workaround for this is to specify the option 'single-request' in - /etc/resolv.conf. This option enables that. - ''; - }; - - networking.dnsExtensionMechanism = lib.mkOption { - type = types.bool; - default = true; - description = '' - Enable the edns0 option in resolv.conf. With - that option set, glibc supports use of the extension mechanisms for - DNS (EDNS) specified in RFC 2671. The most popular user of that feature is DNSSEC, - which does not work without it. - ''; - }; - - networking.extraResolvconfConf = lib.mkOption { - type = types.lines; - default = ""; - example = "libc=NO"; - description = '' - Extra configuration to append to resolvconf.conf. - ''; - }; - - networking.resolvconfOptions = lib.mkOption { - type = types.listOf types.str; - default = []; - example = [ "ndots:1" "rotate" ]; - description = '' - Set the options in /etc/resolv.conf. - ''; - }; - networking.timeServers = mkOption { default = [ "0.nixos.pool.ntp.org" @@ -233,42 +181,13 @@ in oneToString = set: ip: ip + " " + concatStringsSep " " set.${ip}; allToString = set: concatMapStringsSep "\n" (oneToString set) (attrNames set); in '' - ${allToString cfg.hosts} + ${allToString (filterAttrs (_: v: v != []) cfg.hosts)} ${cfg.extraHosts} ''; # /etc/host.conf: resolver configuration file "host.conf".text = cfg.hostConf; - # /etc/resolvconf.conf: Configuration for openresolv. - "resolvconf.conf".text = - '' - # This is the default, but we must set it here to prevent - # 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}' - '' + optionalString hasLocalResolver '' - # This hosts runs a full-blown DNS resolver. - name_servers='127.0.0.1' - '' + optionalString dnsmasqResolve '' - dnsmasq_conf=/etc/dnsmasq-conf.conf - dnsmasq_resolv=/etc/dnsmasq-resolv.conf - '' + cfg.extraResolvconfConf + '' - ''; - - } // optionalAttrs config.services.resolved.enable { - # 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 = "/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"; @@ -295,26 +214,6 @@ in # Install the proxy environment variables environment.sessionVariables = cfg.proxy.envVars; - # This is needed when /etc/resolv.conf is being overriden by networkd - # and other configurations. If the file is destroyed by an environment - # activation then it must be rebuilt so that applications which interface - # with /etc/resolv.conf directly don't break. - system.activationScripts.resolvconf = stringAfter [ "etc" "specialfs" "var" ] - '' - # Systemd resolved controls its own resolv.conf - rm -f /run/resolvconf/interfaces/systemd - ${optionalString config.services.resolved.enable '' - rm -rf /run/resolvconf/interfaces - mkdir -p /run/resolvconf/interfaces - ln -s /run/systemd/resolve/resolv.conf /run/resolvconf/interfaces/systemd - ''} - - # Make sure resolv.conf is up to date if not managed manually or by systemd - ${optionalString (!config.environment.etc?"resolv.conf") '' - ${pkgs.openresolv}/bin/resolvconf -u - ''} - ''; - }; } diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index 37e66c64542..74cf74d7418 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -34,7 +34,7 @@ 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; + pinentry = super.pinentry.override { gtk2 = null; gcr = null; qt4 = null; qt5 = null; }; gobject-introspection = super.gobject-introspection.override { x11Support = false; }; })); }; diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix index b601e908e49..13277fe56e4 100644 --- a/nixos/modules/config/nsswitch.nix +++ b/nixos/modules/config/nsswitch.nix @@ -61,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 = { @@ -85,7 +94,7 @@ in { group: ${concatStringsSep " " passwdArray} shadow: ${concatStringsSep " " shadowArray} - hosts: ${concatStringsSep " " hostArray} + hosts: ${concatStringsSep " " config.system.nssHosts} networks: files ethers: files @@ -94,6 +103,8 @@ 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 diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index e61a3a73120..5c3e3930258 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -245,6 +245,9 @@ in { # Disable flat volumes to enable relative ones hardware.pulseaudio.daemon.config.flat-volumes = mkDefault "no"; + # Upstream defaults to speex-float-1 which results in audible artifacts + hardware.pulseaudio.daemon.config.resample-method = mkDefault "speex-float-5"; + # Allow PulseAudio to get realtime priority using rtkit. security.rtkit.enable = true; diff --git a/nixos/modules/config/qt5.nix b/nixos/modules/config/qt5.nix new file mode 100644 index 00000000000..7de1c0f5d55 --- /dev/null +++ b/nixos/modules/config/qt5.nix @@ -0,0 +1,102 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.qt5; + + isQGnome = cfg.platformTheme == "gnome" && cfg.style == "adwaita"; + isQtStyle = cfg.platformTheme == "gtk2" && cfg.style != "adwaita"; + + packages = if isQGnome then [ pkgs.qgnomeplatform pkgs.adwaita-qt ] + else if isQtStyle then [ pkgs.qtstyleplugins ] + else throw "`qt5.platformTheme` ${cfg.platformTheme} and `qt5.style` ${cfg.style} are not compatible."; + +in + +{ + + options = { + qt5 = { + + enable = mkEnableOption "Qt5 theming configuration"; + + platformTheme = mkOption { + type = types.enum [ + "gtk2" + "gnome" + ]; + example = "gnome"; + relatedPackages = [ + "qgnomeplatform" + ["libsForQt5" "qtstyleplugins"] + ]; + description = '' + Selects the platform theme to use for Qt5 applications. + The options are + + + gtk + Use GTK theme with + qtstyleplugins + + + + gnome + Use GNOME theme with + qgnomeplatform + + + + ''; + }; + + style = mkOption { + type = types.enum [ + "adwaita" + "cleanlooks" + "gtk2" + "motif" + "plastique" + ]; + example = "adwaita"; + relatedPackages = [ + "adwaita-qt" + ["libsForQt5" "qtstyleplugins"] + ]; + description = '' + Selects the style to use for Qt5 applications. + The options are + + + adwaita + Use Adwaita Qt style with + adwaita + + + + cleanlooks + gtk2 + motif + plastique + Use styles from + qtstyleplugins + + + + ''; + }; + }; + }; + + config = mkIf cfg.enable { + + environment.variables.QT_QPA_PLATFORMTHEME = cfg.platformTheme; + + environment.variables.QT_STYLE_OVERRIDE = cfg.style; + + environment.systemPackages = packages; + + }; +} diff --git a/nixos/modules/config/resolvconf.nix b/nixos/modules/config/resolvconf.nix new file mode 100644 index 00000000000..406c6a7ac32 --- /dev/null +++ b/nixos/modules/config/resolvconf.nix @@ -0,0 +1,149 @@ +# /etc files related to networking, such as /etc/services. + +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.networking.resolvconf; + + resolvconfOptions = cfg.extraOptions + ++ optional cfg.dnsSingleRequest "single-request" + ++ optional cfg.dnsExtensionMechanism "edns0"; + + configText = + '' + # This is the default, but we must set it here to prevent + # 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}' + '' + optionalString cfg.useLocalResolver '' + # This hosts runs a full-blown DNS resolver. + name_servers='127.0.0.1' + '' + cfg.extraConfig; + +in + +{ + + options = { + + networking.resolvconf = { + + enable = mkOption { + type = types.bool; + default = false; + internal = true; + description = '' + DNS configuration is managed by resolvconf. + ''; + }; + + useHostResolvConf = mkOption { + type = types.bool; + default = false; + description = '' + In containers, whether to use the + resolv.conf supplied by the host. + ''; + }; + + dnsSingleRequest = lib.mkOption { + type = types.bool; + default = false; + description = '' + Recent versions of glibc will issue both ipv4 (A) and ipv6 (AAAA) + address queries at the same time, from the same port. Sometimes upstream + routers will systemically drop the ipv4 queries. The symptom of this problem is + that 'getent hosts example.com' only returns ipv6 (or perhaps only ipv4) addresses. The + workaround for this is to specify the option 'single-request' in + /etc/resolv.conf. This option enables that. + ''; + }; + + dnsExtensionMechanism = mkOption { + type = types.bool; + default = true; + description = '' + Enable the edns0 option in resolv.conf. With + that option set, glibc supports use of the extension mechanisms for + DNS (EDNS) specified in RFC 2671. The most popular user of that feature is DNSSEC, + which does not work without it. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + example = "libc=NO"; + description = '' + Extra configuration to append to resolvconf.conf. + ''; + }; + + extraOptions = mkOption { + type = types.listOf types.str; + default = []; + example = [ "ndots:1" "rotate" ]; + description = '' + Set the options in /etc/resolv.conf. + ''; + }; + + useLocalResolver = mkOption { + type = types.bool; + default = false; + description = '' + Use local DNS server for resolving. + ''; + }; + + }; + + }; + + config = mkMerge [ + { + networking.resolvconf.enable = !(config.environment.etc ? "resolv.conf"); + + environment.etc."resolvconf.conf".text = + if !cfg.enable then + # Force-stop any attempts to use resolvconf + '' + echo "resolvconf is disabled on this system but was used anyway:" >&2 + echo "$0 $*" >&2 + exit 1 + '' + else configText; + } + + (mkIf cfg.enable { + environment.systemPackages = [ pkgs.openresolv ]; + + systemd.services.resolvconf = { + description = "resolvconf update"; + + before = [ "network-pre.target" ]; + wants = [ "network-pre.target" ]; + wantedBy = [ "multi-user.target" ]; + restartTriggers = [ config.environment.etc."resolvconf.conf".source ]; + + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.openresolv}/bin/resolvconf -u"; + RemainAfterExit = true; + }; + }; + + }) + ]; + +} diff --git a/nixos/modules/config/sysctl.nix b/nixos/modules/config/sysctl.nix index 74bff602a47..fb2b58eed72 100644 --- a/nixos/modules/config/sysctl.nix +++ b/nixos/modules/config/sysctl.nix @@ -8,7 +8,7 @@ let name = "sysctl option value"; check = val: let - checkType = x: isBool x || isString x || isInt x || isNull x; + checkType = x: isBool x || isString x || isInt x || x == null; in checkType val || (val._type or "" == "override" && checkType val.content); merge = loc: defs: mergeOneOption loc (filterOverrides defs); @@ -42,22 +42,16 @@ in config = { - environment.etc."sysctl.d/nixos.conf".text = + environment.etc."sysctl.d/60-nixos.conf".text = concatStrings (mapAttrsToList (n: v: optionalString (v != null) "${n}=${if v == false then "0" else toString v}\n" ) config.boot.kernel.sysctl); systemd.services.systemd-sysctl = { wantedBy = [ "multi-user.target" ]; - restartTriggers = [ config.environment.etc."sysctl.d/nixos.conf".source ]; + restartTriggers = [ config.environment.etc."sysctl.d/60-nixos.conf".source ]; }; - # Enable hardlink and symlink restrictions. See - # https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=800179c9b8a1e796e441674776d11cd4c05d61d7 - # for details. - boot.kernel.sysctl."fs.protected_hardlinks" = true; - boot.kernel.sysctl."fs.protected_symlinks" = true; - # Hide kernel pointers (e.g. in /proc/modules) for unprivileged # users as these make it easier to exploit kernel vulnerabilities. boot.kernel.sysctl."kernel.kptr_restrict" = 1; diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 7a65e44e828..fae2fc74008 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -7,7 +7,7 @@ with lib; let - requiredPackages = map lib.lowPrio + requiredPackages = map (pkg: setPrio ((pkg.meta.priority or 5) + 3) pkg) [ config.nix.package pkgs.acl pkgs.attr diff --git a/nixos/modules/config/timezone.nix b/nixos/modules/config/timezone.nix deleted file mode 100644 index b15948f6e2e..00000000000 --- a/nixos/modules/config/timezone.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - - tzdir = "${pkgs.tzdata}/share/zoneinfo"; - nospace = str: filter (c: c == " ") (stringToCharacters str) == []; - timezone = types.nullOr (types.addCheck types.str nospace) - // { description = "null or string without spaces"; }; - -in - -{ - options = { - - time = { - - timeZone = mkOption { - default = null; - type = timezone; - example = "America/New_York"; - description = '' - The time zone used when displaying times and dates. See - for a comprehensive list of possible values for this setting. - - If null, the timezone will default to UTC and can be set imperatively - using timedatectl. - ''; - }; - - hardwareClockInLocalTime = mkOption { - default = false; - type = types.bool; - description = "If set, keep the hardware clock in local time instead of UTC."; - }; - - }; - }; - - config = { - - environment.sessionVariables.TZDIR = "/etc/zoneinfo"; - - # This way services are restarted when tzdata changes. - systemd.globalEnvironment.TZDIR = tzdir; - - systemd.services.systemd-timedated.environment = lib.optionalAttrs (config.time.timeZone != null) { NIXOS_STATIC_TIMEZONE = "1"; }; - - environment.etc = { - zoneinfo.source = tzdir; - } // lib.optionalAttrs (config.time.timeZone != null) { - localtime.source = "/etc/zoneinfo/${config.time.timeZone}"; - localtime.mode = "direct-symlink"; - }; - }; - -} diff --git a/nixos/modules/config/update-users-groups.pl b/nixos/modules/config/update-users-groups.pl index ef5e6346f02..59cea51c611 100644 --- a/nixos/modules/config/update-users-groups.pl +++ b/nixos/modules/config/update-users-groups.pl @@ -267,6 +267,7 @@ foreach my $line (-f "/etc/shadow" ? read_file("/etc/shadow") : ()) { next if !defined $u; $hashedPassword = "!" if !$spec->{mutableUsers}; $hashedPassword = $u->{hashedPassword} if defined $u->{hashedPassword} && !$spec->{mutableUsers}; # FIXME + chomp $hashedPassword; push @shadowNew, join(":", $name, $hashedPassword, @rest) . "\n"; $shadowSeen{$name} = 1; } diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index c3f228c9bcc..c91eb0ebb87 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -181,7 +181,7 @@ let }; hashedPassword = mkOption { - type = with types; uniq (nullOr str); + type = with types; nullOr str; default = null; description = '' Specifies the hashed password for the user. @@ -191,7 +191,7 @@ let }; password = mkOption { - type = with types; uniq (nullOr str); + type = with types; nullOr str; default = null; description = '' Specifies the (clear text) password for the user. @@ -203,7 +203,7 @@ let }; passwordFile = mkOption { - type = with types; uniq (nullOr string); + type = with types; nullOr str; default = null; description = '' The full path to a file that contains the user's password. The password @@ -215,7 +215,7 @@ let }; initialHashedPassword = mkOption { - type = with types; uniq (nullOr str); + type = with types; nullOr str; default = null; description = '' Specifies the initial hashed password for the user, i.e. the @@ -230,7 +230,7 @@ let }; initialPassword = mkOption { - type = with types; uniq (nullOr str); + type = with types; nullOr str; default = null; description = '' Specifies the initial password for the user, i.e. the @@ -304,7 +304,7 @@ let }; members = mkOption { - type = with types; listOf string; + type = with types; listOf str; default = []; description = '' The user names of the group members, added to the @@ -564,7 +564,10 @@ in { }; }) (filterAttrs (_: u: u.packages != []) cfg.users)); - environment.profiles = [ "/etc/profiles/per-user/$USER" ]; + environment.profiles = [ + "$HOME/.nix-profile" + "/etc/profiles/per-user/$USER" + ]; assertions = [ { assertion = !cfg.enforceIdUniqueness || (uidsAreUnique && gidsAreUnique); diff --git a/nixos/modules/config/vte.nix b/nixos/modules/config/vte.nix new file mode 100644 index 00000000000..d4a8c926fef --- /dev/null +++ b/nixos/modules/config/vte.nix @@ -0,0 +1,52 @@ +# VTE + +{ config, pkgs, lib, ... }: + +with lib; + +let + + vteInitSnippet = '' + # Show current working directory in VTE terminals window title. + # Supports both bash and zsh, requires interactive shell. + . ${pkgs.vte}/etc/profile.d/vte.sh + ''; + +in + +{ + + options = { + + programs.bash.vteIntegration = mkOption { + default = false; + type = types.bool; + description = '' + Whether to enable Bash integration for VTE terminals. + This allows it to preserve the current directory of the shell + across terminals. + ''; + }; + + programs.zsh.vteIntegration = mkOption { + default = false; + type = types.bool; + description = '' + Whether to enable Zsh integration for VTE terminals. + This allows it to preserve the current directory of the shell + across terminals. + ''; + }; + + }; + + config = mkMerge [ + (mkIf config.programs.bash.vteIntegration { + programs.bash.interactiveShellInit = mkBefore vteInitSnippet; + }) + + (mkIf config.programs.zsh.vteIntegration { + programs.zsh.interactiveShellInit = vteInitSnippet; + }) + ]; +} diff --git a/nixos/modules/config/xdg/mime.nix b/nixos/modules/config/xdg/mime.nix index cd1064630fb..a5374c2b468 100644 --- a/nixos/modules/config/xdg/mime.nix +++ b/nixos/modules/config/xdg/mime.nix @@ -24,7 +24,7 @@ with lib; 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 + XDG_DATA_DIRS=$out/share PKGSYSTEM_ENABLE_FSYNC=0 ${pkgs.buildPackages.shared-mime-info}/bin/update-mime-database -V $out/share/mime > /dev/null fi if [ -w $out/share/applications ]; then diff --git a/nixos/modules/config/xdg/portal.nix b/nixos/modules/config/xdg/portal.nix new file mode 100644 index 00000000000..bdbbfda2bb4 --- /dev/null +++ b/nixos/modules/config/xdg/portal.nix @@ -0,0 +1,58 @@ +{ config, pkgs ,lib ,... }: + +with lib; + +{ + options.xdg.portal = { + enable = + mkEnableOption "xdg desktop integration"//{ + default = false; + }; + + extraPortals = mkOption { + type = types.listOf types.package; + default = []; + description = '' + List of additional portals to add to path. Portals allow interaction + with system, like choosing files or taking screenshots. At minimum, + a desktop portal implementation should be listed. GNOME and KDE already + adds xdg-desktop-portal-gtk; and + xdg-desktop-portal-kde respectively. On other desktop + environments you probably want to add them yourself. + ''; + }; + + gtkUsePortal = mkOption { + type = types.bool; + default = false; + description = '' + Sets environment variable GTK_USE_PORTAL to 1. + This is needed for packages ran outside Flatpak to respect and use XDG Desktop Portals. + For example, you'd need to set this for non-flatpak Firefox to use native filechoosers. + Defaults to false to respect its opt-in nature. + ''; + }; + }; + + config = + let + cfg = config.xdg.portal; + packages = [ pkgs.xdg-desktop-portal ] ++ cfg.extraPortals; + + in mkIf cfg.enable { + + assertions = [ + { assertion = (cfg.gtkUsePortal -> cfg.extraPortals != []); + message = "Setting xdg.portal.gtkUsePortal to true requires a portal implementation in xdg.portal.extraPortals such as xdg-desktop-portal-gtk or xdg-desktop-portal-kde."; + } + ]; + + services.dbus.packages = packages; + systemd.packages = packages; + + environment.variables = { + GTK_USE_PORTAL = mkIf cfg.gtkUsePortal "1"; + XDG_DESKTOP_PORTAL_PATH = map (p: "${p}/share/xdg-desktop-portal/portals") cfg.extraPortals; + }; + }; +} diff --git a/nixos/modules/config/zram.nix b/nixos/modules/config/zram.nix index 925d945c081..5d411c73a56 100644 --- a/nixos/modules/config/zram.nix +++ b/nixos/modules/config/zram.nix @@ -91,13 +91,13 @@ in }; algorithm = mkOption { - default = "zstd"; - example = "lzo"; + 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. + 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 ''; diff --git a/nixos/modules/hardware/acpilight.nix b/nixos/modules/hardware/acpilight.nix new file mode 100644 index 00000000000..34e8a222096 --- /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 69cc22aaa34..534fcc34276 100644 --- a/nixos/modules/hardware/all-firmware.nix +++ b/nixos/modules/hardware/all-firmware.nix @@ -38,6 +38,12 @@ in { firmwareLinuxNonfree intel2200BGFirmware rtl8192su-firmware + 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,7 +60,10 @@ in { }]; hardware.firmware = with pkgs; [ broadcom-bt-firmware - ]; + b43Firmware_5_1_138 + b43Firmware_6_30_163_46 + b43FirmwareCutter + ] ++ optional (pkgs.stdenv.hostPlatform.isi686 || pkgs.stdenv.hostPlatform.isx86_64) facetimehd-firmware; }) ]; } diff --git a/nixos/modules/hardware/device-tree.nix b/nixos/modules/hardware/device-tree.nix new file mode 100644 index 00000000000..f57502d4c83 --- /dev/null +++ b/nixos/modules/hardware/device-tree.nix @@ -0,0 +1,56 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.hardware.deviceTree; +in { + options = { + hardware.deviceTree = { + enable = mkOption { + default = pkgs.stdenv.hostPlatform.platform.kernelDTB or false; + type = types.bool; + description = '' + Build device tree files. These are used to describe the + non-discoverable hardware of a system. + ''; + }; + + base = mkOption { + default = "${config.boot.kernelPackages.kernel}/dtbs"; + defaultText = "\${config.boot.kernelPackages.kernel}/dtbs"; + example = literalExample "pkgs.deviceTree_rpi"; + type = types.path; + description = '' + The package containing the base device-tree (.dtb) to boot. Contains + device trees bundled with the Linux kernel by default. + ''; + }; + + overlays = mkOption { + default = []; + example = literalExample + "[\"\${pkgs.deviceTree_rpi.overlays}/w1-gpio.dtbo\"]"; + type = types.listOf types.path; + description = '' + A path containing device tree overlays (.dtbo) to be applied to all + base device-trees. + ''; + }; + + package = mkOption { + default = null; + type = types.nullOr types.path; + internal = true; + description = '' + A path containing the result of applying `overlays` to `base`. + ''; + }; + }; + }; + + config = mkIf (cfg.enable) { + hardware.deviceTree.package = if (cfg.overlays != []) + then pkgs.deviceTree.applyOverlays cfg.base cfg.overlays else cfg.base; + }; +} diff --git a/nixos/modules/hardware/ksm.nix b/nixos/modules/hardware/ksm.nix index d6ac69b5d65..99d46c25236 100644 --- a/nixos/modules/hardware/ksm.nix +++ b/nixos/modules/hardware/ksm.nix @@ -1,9 +1,24 @@ { config, lib, ... }: -{ - options.hardware.enableKSM = lib.mkEnableOption "Kernel Same-Page Merging"; +with lib; - config = lib.mkIf config.hardware.enableKSM { +let + cfg = config.hardware.ksm; + +in { + options.hardware.ksm = { + enable = mkEnableOption "Kernel Same-Page Merging"; + sleep = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + How many milliseconds ksmd should sleep between scans. + Setting it to null uses the kernel's default time. + ''; + }; + }; + + config = mkIf cfg.enable { systemd.services.enable-ksm = { description = "Enable Kernel Same-Page Merging"; wantedBy = [ "multi-user.target" ]; @@ -11,6 +26,7 @@ script = '' if [ -e /sys/kernel/mm/ksm ]; then echo 1 > /sys/kernel/mm/ksm/run + ${optionalString (cfg.sleep != null) ''echo ${toString cfg.sleep} > /sys/kernel/mm/ksm/sleep_millisecs''} fi ''; }; diff --git a/nixos/modules/hardware/ledger.nix b/nixos/modules/hardware/ledger.nix new file mode 100644 index 00000000000..41abe74315a --- /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 00000000000..d6f43bdddcc --- /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 6b7b8069fd4..57cac56bd8a 100644 --- a/nixos/modules/hardware/opengl.nix +++ b/nixos/modules/hardware/opengl.nix @@ -11,9 +11,9 @@ let videoDrivers = config.services.xserver.videoDrivers; makePackage = p: pkgs.buildEnv { - name = "mesa-drivers+txc-${p.mesa_drivers.version}"; + name = "mesa-drivers+txc-${p.mesa.version}"; paths = - [ p.mesa_drivers + [ p.mesa.drivers (if cfg.s3tcSupport then p.libtxc_dxtn else p.libtxc_dxtn_s2tc) ]; }; @@ -118,6 +118,19 @@ in set. This can be used to add OpenCL drivers, VA-API/VDPAU drivers etc. ''; }; + + setLdLibraryPath = mkOption { + type = types.bool; + internal = true; + default = false; + description = '' + Whether the LD_LIBRARY_PATH environment variable + should be set to the locations of driver libraries. Drivers which + rely on overriding libraries should set this to true. Drivers which + support libglvnd and other dispatch libraries + instead of overriding libraries should not set this. + ''; + }; }; }; @@ -145,11 +158,8 @@ in ) ]; - environment.sessionVariables.LD_LIBRARY_PATH = - [ "/run/opengl-driver/lib" ] ++ optional cfg.driSupport32Bit "/run/opengl-driver-32/lib"; - - environment.variables.XDG_DATA_DIRS = - [ "/run/opengl-driver/share" ] ++ optional cfg.driSupport32Bit "/run/opengl-driver-32/share"; + environment.sessionVariables.LD_LIBRARY_PATH = mkIf cfg.setLdLibraryPath + ([ "/run/opengl-driver/lib" ] ++ optional cfg.driSupport32Bit "/run/opengl-driver-32/lib"); hardware.opengl.package = mkDefault (makePackage pkgs); hardware.opengl.package32 = mkDefault (makePackage pkgs.pkgsi686Linux); diff --git a/nixos/modules/hardware/raid/hpsa.nix b/nixos/modules/hardware/raid/hpsa.nix index 3a65cb800a9..4d7af138292 100644 --- a/nixos/modules/hardware/raid/hpsa.nix +++ b/nixos/modules/hardware/raid/hpsa.nix @@ -4,11 +4,11 @@ with lib; let hpssacli = pkgs.stdenv.mkDerivation rec { - name = "hpssacli-${version}"; + pname = "hpssacli"; version = "2.40-13.0"; src = pkgs.fetchurl { - url = "https://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/${pname}-${version}_amd64.deb"; sha256 = "11w7fwk93lmfw0yya4jpjwdmgjimqxx6412sqa166g1pz4jil4sw"; }; diff --git a/nixos/modules/hardware/video/amdgpu-pro.nix b/nixos/modules/hardware/video/amdgpu-pro.nix index ab9e0c92020..8e91e9d2baa 100644 --- a/nixos/modules/hardware/video/amdgpu-pro.nix +++ b/nixos/modules/hardware/video/amdgpu-pro.nix @@ -30,10 +30,11 @@ in nixpkgs.config.xorg.abiCompat = "1.19"; services.xserver.drivers = singleton - { name = "amdgpu"; modules = [ package ]; libPath = [ package ]; }; + { name = "amdgpu"; modules = [ package ]; }; hardware.opengl.package = package; hardware.opengl.package32 = package32; + hardware.opengl.setLdLibraryPath = true; boot.extraModulePackages = [ package ]; diff --git a/nixos/modules/hardware/video/ati.nix b/nixos/modules/hardware/video/ati.nix index 6102919f015..f867bba8063 100644 --- a/nixos/modules/hardware/video/ati.nix +++ b/nixos/modules/hardware/video/ati.nix @@ -21,10 +21,11 @@ in nixpkgs.config.xorg.abiCompat = "1.17"; services.xserver.drivers = singleton - { name = "fglrx"; modules = [ ati_x11 ]; libPath = [ "${ati_x11}/lib" ]; }; + { name = "fglrx"; modules = [ ati_x11 ]; }; hardware.opengl.package = ati_x11; hardware.opengl.package32 = pkgs.pkgsi686Linux.linuxPackages.ati_drivers_x11.override { libsOnly = true; kernel = null; }; + hardware.opengl.setLdLibraryPath = true; environment.systemPackages = [ ati_x11 ]; diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index 6ba8130af71..3ab2afc9740 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. -{ stdenv, config, lib, pkgs, ... }: +{ config, lib, pkgs, ... }: with lib; @@ -79,8 +79,16 @@ in ''; }; + hardware.nvidia.optimus_prime.allowExternalGpu = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Configure X to allow external NVIDIA GPUs when using optimus. + ''; + }; + hardware.nvidia.optimus_prime.nvidiaBusId = lib.mkOption { - type = lib.types.string; + type = lib.types.str; default = ""; example = "PCI:1:0:0"; description = '' @@ -90,7 +98,7 @@ in }; hardware.nvidia.optimus_prime.intelBusId = lib.mkOption { - type = lib.types.string; + type = lib.types.str; default = ""; example = "PCI:0:2:0"; description = '' @@ -130,10 +138,10 @@ in services.xserver.drivers = singleton { name = "nvidia"; modules = [ nvidia_x11.bin ]; - libPath = [ nvidia_x11 ]; deviceSection = optionalString optimusCfg.enable '' BusID "${optimusCfg.nvidiaBusId}" + ${optionalString optimusCfg.allowExternalGpu "Option \"AllowExternalGpus\""} ''; screenSection = '' @@ -172,6 +180,11 @@ in 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. diff --git a/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix b/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix index 2cf5f13bc15..a808429c999 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/ibus.nix b/nixos/modules/i18n/input-method/ibus.nix index f8e021f551e..8109ef76c40 100644 --- a/nixos/modules/i18n/input-method/ibus.nix +++ b/nixos/modules/i18n/input-method/ibus.nix @@ -55,7 +55,7 @@ in # Without dconf enabled it is impossible to use IBus environment.systemPackages = with pkgs; [ - ibus-qt gnome3.dconf ibusAutostart + gnome3.dconf ibusAutostart ]; environment.variables = { diff --git a/nixos/modules/installer/cd-dvd/channel.nix b/nixos/modules/installer/cd-dvd/channel.nix index e946c4abc57..ab5e7c0645f 100644 --- a/nixos/modules/installer/cd-dvd/channel.nix +++ b/nixos/modules/installer/cd-dvd/channel.nix @@ -13,7 +13,7 @@ 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.outPath} $out/nixos diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix index 228ef371d25..1578e1547bc 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix @@ -1,23 +1,37 @@ # This module contains the basic configuration for building a graphical NixOS # installation CD. -{ config, lib, pkgs, ... }: +{ lib, pkgs, ... }: with lib; { imports = [ ./installation-cd-base.nix ]; + # Whitelist wheel users to do anything + # This is useful for things like pkexec + # + # WARNING: this is dangerous for systems + # outside the installation-cd and shouldn't + # be used anywhere else. + security.polkit.extraConfig = '' + polkit.addRule(function(action, subject) { + if (subject.isInGroup("wheel")) { + return polkit.Result.YES; + } + }); + ''; + services.xserver = { enable = true; # Don't start the X server by default. autorun = mkForce false; - # Automatically login as root. + # Automatically login as nixos. displayManager.slim = { enable = true; - defaultUser = "root"; + defaultUser = "nixos"; autoLogin = true; }; @@ -31,6 +45,9 @@ with lib; # there is no power management backend such as upower). powerManagement.enable = true; + # Enable sound in graphical iso's. + hardware.pulseaudio.enable = true; + environment.systemPackages = [ # Include gparted for partitioning disks. pkgs.gparted 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 42b5ec88227..0b813bbf37b 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix @@ -1,7 +1,7 @@ # This module defines a NixOS installation CD that contains X11 and # GNOME 3. -{ config, lib, pkgs, ... }: +{ lib, ... }: with lib; 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 1c3c9cb30b4..2536ba73a1d 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix @@ -1,5 +1,5 @@ # This module defines a NixOS installation CD that contains X11 and -# Plasma5. +# Plasma 5. { config, lib, pkgs, ... }: @@ -30,15 +30,20 @@ with lib; Version=1.0 Type=Application Name=NixOS Manual - Exec=firefox ${config.system.build.manual.manualHTMLIndex} + Exec=firefox ${config.system.build.manual.manual}/share/doc/nixos/index.html Icon=text-html ''; + homeDir = "/home/nixos/"; + desktopDir = homeDir + "Desktop/"; + in '' - mkdir -p /root/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 + mkdir -p ${desktopDir} + chown nixos ${homeDir} ${desktopDir} + + ln -sfT ${manualDesktopFile} ${desktopDir + "nixos-manual.desktop"} + ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop ${desktopDir + "gparted.desktop"} + ln -sfT ${pkgs.konsole}/share/applications/org.kde.konsole.desktop ${desktopDir + "org.kde.konsole.desktop"} ''; } diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index e78e290e743..d5c92cfc1d9 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -88,7 +88,7 @@ let # result in incorrect boot entries. baseIsolinuxCfg = '' - SERIAL 0 38400 + SERIAL 0 115200 TIMEOUT ${builtins.toString syslinuxTimeout} UI vesamenu.c32 MENU TITLE NixOS @@ -165,6 +165,8 @@ let else "# No refind for ${targetArch}" ; + + grubPkgs = if config.boot.loader.grub.forcei686 then pkgs.pkgsi686Linux else pkgs; grubMenuCfg = '' # @@ -196,7 +198,7 @@ let fi ${ # When there is a theme configured, use it, otherwise use the background image. - if (!isNull config.isoImage.grubTheme) then '' + if config.isoImage.grubTheme != null then '' # Sets theme. set theme=(hd0)/EFI/boot/grub-theme/theme.txt # Load theme fonts @@ -241,7 +243,7 @@ let # Modules that may or may not be available per-platform. echo "Adding additional modules:" for mod in efi_uga; do - if [ -f ${pkgs.grub2_efi}/lib/grub/${pkgs.grub2_efi.grubTarget}/$mod.mod ]; then + if [ -f ${grubPkgs.grub2_efi}/lib/grub/${grubPkgs.grub2_efi.grubTarget}/$mod.mod ]; then echo " - $mod" MODULES+=" $mod" fi @@ -249,9 +251,9 @@ let # Make our own efi program, we can't rely on "grub-install" since it seems to # probe for devices, even with --skip-fs-probe. - ${pkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/boot${targetArch}.efi -p /EFI/boot -O ${pkgs.grub2_efi.grubTarget} \ + ${grubPkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/boot${targetArch}.efi -p /EFI/boot -O ${grubPkgs.grub2_efi.grubTarget} \ $MODULES - cp ${pkgs.grub2_efi}/share/grub/unicode.pf2 $out/EFI/boot/ + cp ${grubPkgs.grub2_efi}/share/grub/unicode.pf2 $out/EFI/boot/ cat < $out/EFI/boot/grub.cfg @@ -362,7 +364,7 @@ let # Name used by UEFI for architectures. targetArch = - if pkgs.stdenv.isi686 then + if pkgs.stdenv.isi686 || config.boot.loader.grub.forcei686 then "ia32" else if pkgs.stdenv.isx86_64 then "x64" @@ -506,7 +508,7 @@ in # here and it causes a cyclic dependency. boot.loader.grub.enable = false; - environment.systemPackages = [ pkgs.grub2 pkgs.grub2_efi ] + environment.systemPackages = [ grubPkgs.grub2 grubPkgs.grub2_efi ] ++ optional canx86BiosBoot pkgs.syslinux ; @@ -620,7 +622,7 @@ in { source = "${pkgs.memtest86plus}/memtest.bin"; target = "/boot/memtest.bin"; } - ] ++ optionals (!isNull config.isoImage.grubTheme) [ + ] ++ optionals (config.isoImage.grubTheme != null) [ { source = config.isoImage.grubTheme; target = "/EFI/boot/grub-theme"; } diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix index 5f7194e92a3..2d34406a032 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix @@ -26,8 +26,15 @@ in # Also increase the amount of CMA to ensure the virtual console on the RPi3 works. boot.kernelParams = ["cma=32M" "console=ttyS0,115200n8" "console=ttyAMA0,115200n8" "console=tty0"]; + boot.initrd.availableKernelModules = [ + # Allows early (earlier) modesetting for the Raspberry Pi + "vc4" "bcm2835_dma" "i2c_bcm2835" + # Allows early (earlier) modesetting for Allwinner SoCs + "sun4i_drm" "sun8i_drm_hdmi" "sun8i_mixer" + ]; + sdImage = { - populateBootCommands = let + populateFirmwareCommands = let configTxt = pkgs.writeText "config.txt" '' kernel=u-boot-rpi3.bin @@ -43,10 +50,17 @@ in avoid_warnings=1 ''; in '' - (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/) - cp ${pkgs.ubootRaspberryPi3_64bit}/u-boot.bin boot/u-boot-rpi3.bin - cp ${configTxt} boot/config.txt - ${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot + (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/) + cp ${pkgs.ubootRaspberryPi3_64bit}/u-boot.bin firmware/u-boot-rpi3.bin + cp ${configTxt} firmware/config.txt ''; + populateRootCommands = '' + mkdir -p ./files/boot + ${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./files/boot + ''; }; + + # the installation media is also the installation target, + # so we don't want to provide the installation configuration.nix. + installer.cloneConfig = false; } 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 71448f74c36..651d1a36dc1 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix @@ -29,7 +29,7 @@ in boot.kernelParams = ["console=ttyS0,115200n8" "console=ttymxc0,115200n8" "console=ttyAMA0,115200n8" "console=ttyO0,115200n8" "console=ttySAC2,115200n8" "console=tty0"]; sdImage = { - populateBootCommands = let + populateFirmwareCommands = let configTxt = pkgs.writeText "config.txt" '' # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel # when attempting to show low-voltage or overtemperature warnings. @@ -46,11 +46,18 @@ in enable_uart=1 ''; in '' - (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/) - cp ${pkgs.ubootRaspberryPi2}/u-boot.bin boot/u-boot-rpi2.bin - cp ${pkgs.ubootRaspberryPi3_32bit}/u-boot.bin boot/u-boot-rpi3.bin - cp ${configTxt} boot/config.txt - ${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot + (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/) + cp ${pkgs.ubootRaspberryPi2}/u-boot.bin firmware/u-boot-rpi2.bin + cp ${pkgs.ubootRaspberryPi3_32bit}/u-boot.bin firmware/u-boot-rpi3.bin + cp ${configTxt} firmware/config.txt ''; + populateRootCommands = '' + mkdir -p ./files/boot + ${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./files/boot + ''; }; + + # the installation media is also the installation target, + # so we don't want to provide the installation configuration.nix. + installer.cloneConfig = false; } diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix index 96e06670694..2a131d9ce98 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix @@ -22,7 +22,7 @@ in boot.kernelPackages = pkgs.linuxPackages_rpi; sdImage = { - populateBootCommands = let + populateFirmwareCommands = let configTxt = pkgs.writeText "config.txt" '' # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel # when attempting to show low-voltage or overtemperature warnings. @@ -35,11 +35,18 @@ in kernel=u-boot-rpi1.bin ''; in '' - (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/) - cp ${pkgs.ubootRaspberryPiZero}/u-boot.bin boot/u-boot-rpi0.bin - cp ${pkgs.ubootRaspberryPi}/u-boot.bin boot/u-boot-rpi1.bin - cp ${configTxt} boot/config.txt - ${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot + (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/) + cp ${pkgs.ubootRaspberryPiZero}/u-boot.bin firmware/u-boot-rpi0.bin + cp ${pkgs.ubootRaspberryPi}/u-boot.bin firmware/u-boot-rpi1.bin + cp ${configTxt} firmware/config.txt ''; + populateRootCommands = '' + mkdir -p ./files/boot + ${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./files/boot + ''; }; + + # the installation media is also the installation target, + # so we don't want to provide the installation configuration.nix. + installer.cloneConfig = false; } diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix index 69746a8e979..0a015044155 100644 --- a/nixos/modules/installer/cd-dvd/sd-image.nix +++ b/nixos/modules/installer/cd-dvd/sd-image.nix @@ -1,8 +1,12 @@ # This module creates a bootable SD card image containing the given NixOS -# configuration. The generated image is MBR partitioned, with a FAT /boot -# partition, and ext4 root partition. The generated image is sized to fit -# its contents, and a boot script automatically resizes the root partition -# to fit the device on the first boot. +# configuration. The generated image is MBR partitioned, with a FAT +# /boot/firmware partition, and ext4 root partition. The generated image +# is sized to fit its contents, and a boot script automatically resizes +# the root partition to fit the device on the first boot. +# +# The firmware partition is built with expectation to hold the Raspberry +# Pi firmware and bootloader, and be removed and replaced with a firmware +# build for the target SoC for other board families. # # The derivation for the SD image will be placed in # config.system.build.sdImage @@ -14,12 +18,18 @@ with lib; let rootfsImage = pkgs.callPackage ../../../lib/make-ext4-fs.nix ({ inherit (config.sdImage) storePaths; + populateImageCommands = config.sdImage.populateRootCommands; volumeLabel = "NIXOS_SD"; } // optionalAttrs (config.sdImage.rootPartitionUUID != null) { uuid = config.sdImage.rootPartitionUUID; }); in { + imports = [ + (mkRemovedOptionModule [ "sdImage" "bootPartitionID" ] "The FAT partition for SD image now only holds the Raspberry Pi firmware files. Use firmwarePartitionID to configure that partition's ID.") + (mkRemovedOptionModule [ "sdImage" "bootSize" ] "The boot files for SD image have been moved to the main ext4 partition. The FAT partition now only holds the Raspberry Pi firmware files. Changing its size may not be required.") + ]; + options.sdImage = { imageName = mkOption { default = "${config.sdImage.imageBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.img"; @@ -43,17 +53,17 @@ in ''; }; - bootPartitionID = mkOption { - type = types.string; + firmwarePartitionID = mkOption { + type = types.str; default = "0x2178694e"; description = '' - Volume ID for the /boot partition on the SD card. This value must be a - 32-bit hexadecimal number. + Volume ID for the /boot/firmware partition on the SD card. This value + must be a 32-bit hexadecimal number. ''; }; rootPartitionUUID = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; example = "14e19a7b-0ae0-484d-9d54-43bd6fdc20c7"; description = '' @@ -61,29 +71,44 @@ in ''; }; - bootSize = mkOption { + firmwareSize = mkOption { type = types.int; - default = 120; + # As of 2019-08-18 the Raspberry pi firmware + u-boot takes ~18MiB + default = 30; description = '' - Size of the /boot partition, in megabytes. + Size of the /boot/firmware partition, in megabytes. ''; }; - populateBootCommands = mkOption { - example = literalExample "'' cp \${pkgs.myBootLoader}/u-boot.bin boot/ ''"; + populateFirmwareCommands = mkOption { + example = literalExample "'' cp \${pkgs.myBootLoader}/u-boot.bin firmware/ ''"; description = '' - Shell commands to populate the ./boot directory. + Shell commands to populate the ./firmware directory. All files in that directory are copied to the - /boot partition on the SD image. + /boot/firmware partition on the SD image. + ''; + }; + + populateRootCommands = mkOption { + example = literalExample "''\${extlinux-conf-builder} -t 3 -c \${config.system.build.toplevel} -d ./files/boot''"; + description = '' + Shell commands to populate the ./files directory. + All files in that directory are copied to the + root (/) partition on the SD image. Use this to + populate the ./files/boot (/boot) directory. ''; }; }; config = { fileSystems = { - "/boot" = { - device = "/dev/disk/by-label/NIXOS_BOOT"; + "/boot/firmware" = { + device = "/dev/disk/by-label/FIRMWARE"; fsType = "vfat"; + # Alternatively, this could be removed from the configuration. + # The filesystem is not needed at runtime, it could be treated + # as an opaque blob instead of a discrete FAT32 filesystem. + options = [ "nofail" "noauto" ]; }; "/" = { device = "/dev/disk/by-label/NIXOS_SD"; @@ -105,39 +130,44 @@ in 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 + # Gap in front of the first partition, in MiB + gap=8 + + # Create the image file sized to fit /boot/firmware and /, plus slack for the gap. rootSizeBlocks=$(du -B 512 --apparent-size ${rootfsImage} | awk '{ print $1 }') - bootSizeBlocks=$((${toString config.sdImage.bootSize} * 1024 * 1024 / 512)) - imageSize=$((rootSizeBlocks * 512 + bootSizeBlocks * 512 + 20 * 1024 * 1024)) + firmwareSizeBlocks=$((${toString config.sdImage.firmwareSize} * 1024 * 1024 / 512)) + imageSize=$((rootSizeBlocks * 512 + firmwareSizeBlocks * 512 + gap * 1024 * 1024)) truncate -s $imageSize $img # type=b is 'W95 FAT32', type=83 is 'Linux'. + # The "bootable" partition is where u-boot will look file for the bootloader + # information (dtbs, extlinux.conf file). sfdisk $img <&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-enter.sh b/nixos/modules/installer/tools/nixos-enter.sh index 518dbbbf21e..4680cd8ae95 100644 --- a/nixos/modules/installer/tools/nixos-enter.sh +++ b/nixos/modules/installer/tools/nixos-enter.sh @@ -16,7 +16,8 @@ fi mountPoint=/mnt system=/nix/var/nix/profiles/system -command=($system/sw/bin/bash "--login") +command=("$system/sw/bin/bash" "--login") +silent=0 while [ "$#" -gt 0 ]; do i="$1"; shift 1 @@ -32,9 +33,12 @@ while [ "$#" -gt 0 ]; do exit 1 ;; --command|-c) - command=($system/sw/bin/bash "-c" "$1") + command=("$system/sw/bin/bash" "-c" "$1") shift 1 ;; + --silent) + silent=1 + ;; --) command=("$@") break @@ -51,11 +55,20 @@ if [[ ! -e $mountPoint/etc/NIXOS ]]; then exit 126 fi -mkdir -m 0755 -p "$mountPoint/dev" "$mountPoint/sys" +mkdir -p "$mountPoint/dev" "$mountPoint/sys" +chmod 0755 "$mountPoint/dev" "$mountPoint/sys" mount --rbind /dev "$mountPoint/dev" mount --rbind /sys "$mountPoint/sys" +# If silent, write both stdout and stderr of activation script to /dev/null +# otherwise, write both streams to stderr of this process +if [ "$silent" -eq 0 ]; then + PIPE_TARGET="/dev/stderr" +else + PIPE_TARGET="/dev/null" +fi + # Run the activation script. Set $LOCALE_ARCHIVE to supress some Perl locale warnings. -LOCALE_ARCHIVE=$system/sw/lib/locale/locale-archive chroot "$mountPoint" "$system/activate" >&2 || true +LOCALE_ARCHIVE="$system/sw/lib/locale/locale-archive" chroot "$mountPoint" "$system/activate" >>$PIPE_TARGET 2>&1 || true exec chroot "$mountPoint" "${command[@]}" diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 686204ee034..cfdbdaabf5c 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -258,6 +258,16 @@ foreach my $path (glob "/sys/class/{block,mmc_host}/*") { } } +# Add bcache module, if needed. +my @bcacheDevices = glob("/dev/bcache*"); +if (scalar @bcacheDevices > 0) { + push @initrdAvailableKernelModules, "bcache"; +} + +# Prevent unbootable systems if LVM snapshots are present at boot time. +if (`lsblk -o TYPE` =~ "lvm") { + push @initrdKernelModules, "dm-snapshot"; +} my $virt = `systemd-detect-virt`; chomp $virt; @@ -319,10 +329,19 @@ my @swapDevices; if (@swaps) { shift @swaps; foreach my $swap (@swaps) { - $swap =~ /^(\S+)\s/; - next unless -e $1; - my $dev = findStableDevPath $1; - push @swapDevices, "{ device = \"$dev\"; }"; + my @fields = split ' ', $swap; + my $swapFilename = $fields[0]; + my $swapType = $fields[1]; + next unless -e $swapFilename; + my $dev = findStableDevPath $swapFilename; + if ($swapType =~ "partition") { + push @swapDevices, "{ device = \"$dev\"; }"; + } elsif ($swapType =~ "file") { + # swap *files* are more likely specified in configuration.nix, so + # ignore them here. + } else { + die "Unsupported swap type: $swapType\n"; + } } } @@ -422,6 +441,10 @@ EOF } } + # Don't emit tmpfs entry for /tmp, because it most likely comes from the + # boot.tmpOnTmpfs option in configuration.nix (managed declaratively). + next if ($mountPoint eq "/tmp" && $fsType eq "tmpfs"); + # Emit the filesystem. $fileSystems .= < 1920) { + push @attrs, "# High-DPI console"; + push @attrs, 'i18n.consoleFont = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";'; + } +} + # Generate the hardware configuration file. @@ -497,6 +535,7 @@ sub multiLineList { } my $initrdAvailableKernelModules = toNixStringList(uniq @initrdAvailableKernelModules); +my $initrdKernelModules = toNixStringList(uniq @initrdKernelModules); my $kernelModules = toNixStringList(uniq @kernelModules); my $modulePackages = toNixList(uniq @modulePackages); @@ -516,6 +555,7 @@ my $hwConfig = <&2 diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 00c4d5018bf..05add59117d 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -36,9 +36,9 @@ let nixos-generate-config = makeProg { name = "nixos-generate-config"; src = ./nixos-generate-config.pl; - path = [ pkgs.btrfs-progs ]; + path = lib.optionals (lib.elem "btrfs" config.boot.supportedFilesystems) [ pkgs.btrfs-progs ]; perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/${pkgs.perl.libPrefix}"; - inherit (config.system.nixos) release; + inherit (config.system.nixos-generate-config) configuration; }; nixos-option = makeProg { @@ -61,8 +61,111 @@ in { + options.system.nixos-generate-config.configuration = mkOption { + internal = true; + type = types.str; + description = '' + The NixOS module that nixos-generate-config + saves to /etc/nixos/configuration.nix. + + This is an internal option. No backward compatibility is guaranteed. + Use at your own risk! + + Note that this string gets spliced into a Perl script. The perl + variable $bootLoaderConfig can be used to + splice in the boot loader configuration. + ''; + }; + config = { + system.nixos-generate-config.configuration = mkDefault '' + # Edit this configuration file to define what should be installed on + # your system. Help is available in the configuration.nix(5) man page + # and in the NixOS manual (accessible by running ‘nixos-help’). + + { config, pkgs, ... }: + + { + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + $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"; + # consoleKeyMap = "us"; + # defaultLocale = "en_US.UTF-8"; + # }; + + # 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 + # ]; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # Enable CUPS to print documents. + # services.printing.enable = true; + + # Enable sound. + # sound.enable = true; + # hardware.pulseaudio.enable = true; + + # Enable the X11 windowing system. + # services.xserver.enable = true; + # services.xserver.layout = "us"; + # services.xserver.xkbOptions = "eurosign:e"; + + # Enable touchpad support. + # services.xserver.libinput.enable = true; + + # Enable the KDE Desktop Environment. + # services.xserver.displayManager.sddm.enable = true; + # services.xserver.desktopManager.plasma5.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + # users.users.jane = { + # isNormalUser = true; + # extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + # }; + + # This value determines the NixOS release with which your system is to be + # compatible, in order to avoid breaking some software such as database + # servers. You should change this only after NixOS release notes say you + # should. + system.stateVersion = "${config.system.nixos.release}"; # Did you read the comment? + + } + ''; + environment.systemPackages = [ nixos-build-vms nixos-install diff --git a/nixos/modules/installer/virtualbox-demo.nix b/nixos/modules/installer/virtualbox-demo.nix index 2e1b4b3998b..af3e1aecca7 100644 --- a/nixos/modules/installer/virtualbox-demo.nix +++ b/nixos/modules/installer/virtualbox-demo.nix @@ -57,7 +57,5 @@ with lib; # Enable the OpenSSH daemon. # services.openssh.enable = true; - - system.stateVersion = mkDefault "18.03"; ''; } diff --git a/nixos/modules/misc/crashdump.nix b/nixos/modules/misc/crashdump.nix index 6e0b49fa9af..3c47e79d051 100644 --- a/nixos/modules/misc/crashdump.nix +++ b/nixos/modules/misc/crashdump.nix @@ -58,7 +58,6 @@ in "crashkernel=${crashdump.reservedMemory}" "nmi_watchdog=panic" "softlockup_panic=1" - "idle=poll" ]; kernelPatches = [ { name = "crashdump-config"; diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix index 9b2e1235b74..deecb005270 100644 --- a/nixos/modules/misc/documentation.nix +++ b/nixos/modules/misc/documentation.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, baseModules, ... }: +{ config, lib, pkgs, baseModules, extraModules, modules, ... }: with lib; @@ -6,6 +6,8 @@ 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. @@ -18,7 +20,7 @@ let options = let scrubbedEval = evalModules { - modules = [ { nixpkgs.localSystem = config.nixpkgs.localSystem; } ] ++ baseModules; + modules = [ { nixpkgs.localSystem = config.nixpkgs.localSystem; } ] ++ manualModules; args = (config._module.args) // { modules = [ ]; }; specialArgs = { pkgs = scrubDerivations "pkgs" pkgs; }; }; @@ -47,11 +49,7 @@ let 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 + browser="${pkgs.w3m-nographics}/bin/w3m" fi fi exec "$browser" ${manual.manualHTMLIndex} @@ -146,6 +144,17 @@ in ''; }; + 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. + ''; + }; + }; }; @@ -174,8 +183,6 @@ in }) (mkIf cfg.doc.enable { - # TODO(@oxij): put it here and remove from profiles? - # environment.systemPackages = [ pkgs.w3m ]; # w3m-nox? environment.pathsToLink = [ "/share/doc" ]; environment.extraOutputsToInstall = [ "doc" ] ++ optional cfg.dev.enable "devdoc"; }) diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 5f134b51939..ac6af1ce8b7 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -44,7 +44,7 @@ vsftpd = 7; ftp = 8; bitlbee = 9; - avahi = 10; + #avahi = 10; # removed 2019-05-22 nagios = 11; atd = 12; postfix = 13; @@ -145,7 +145,7 @@ #notbit = 111; # unused aerospike = 111; ngircd = 112; - btsync = 113; + #btsync = 113; # unused minecraft = 114; vault = 115; rippled = 116; @@ -251,7 +251,7 @@ gale = 223; matrix-synapse = 224; rspamd = 225; - rmilter = 226; + # rmilter = 226; # unused, removed 2019-08-22 cfdyndns = 227; gammu-smsd = 228; pdnsd = 229; @@ -265,14 +265,14 @@ syncthing = 237; caddy = 239; taskd = 240; - factorio = 241; - emby = 242; + # factorio = 241; # DynamicUser = true + # emby = 242; # unusued, removed 2019-05-01 graylog = 243; sniproxy = 244; nzbget = 245; mosquitto = 246; toxvpn = 247; - squeezelite = 248; + # squeezelite = 248; # DynamicUser = true turnserver = 249; smokeping = 250; gocd-agent = 251; @@ -339,6 +339,8 @@ rss2email = 312; cockroachdb = 313; zoneminder = 314; + paperless = 315; + #mailman = 316; # removed 2019-08-30 # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -357,7 +359,7 @@ vsftpd = 7; ftp = 8; bitlbee = 9; - avahi = 10; + #avahi = 10; # removed 2019-05-22 #nagios = 11; # unused atd = 12; postfix = 13; @@ -456,7 +458,7 @@ #notbit = 111; # unused aerospike = 111; #ngircd = 112; # unused - btsync = 113; + #btsync = 113; # unused #minecraft = 114; # unused vault = 115; #ripped = 116; # unused @@ -515,7 +517,7 @@ tss = 176; #memcached = 177; # unused, removed 2018-01-03 #ntp = 179; # unused - #zabbix = 180; # unused + zabbix = 180; #redis = 181; # unused, removed 2018-01-03 #unifi = 183; # unused #uptimed = 184; # unused @@ -558,7 +560,7 @@ gale = 223; matrix-synapse = 224; rspamd = 225; - rmilter = 226; + # rmilter = 226; # unused, removed 2019-08-22 cfdyndns = 227; pdnsd = 229; octoprint = 230; @@ -566,8 +568,8 @@ syncthing = 237; caddy = 239; taskd = 240; - factorio = 241; - emby = 242; + # factorio = 241; # unused + # emby = 242; # unused, removed 2019-05-01 sniproxy = 244; nzbget = 245; mosquitto = 246; @@ -638,6 +640,8 @@ rss2email = 312; cockroachdb = 313; zoneminder = 314; + paperless = 315; + #mailman = 316; # removed 2019-08-30 # 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/nixops-autoluks.nix b/nixos/modules/misc/nixops-autoluks.nix new file mode 100644 index 00000000000..20c143286af --- /dev/null +++ b/nixos/modules/misc/nixops-autoluks.nix @@ -0,0 +1,43 @@ +{ config, options, lib, ... }: +let + path = [ "deployment" "autoLuks" ]; + hasAutoLuksConfig = lib.hasAttrByPath path config && (lib.attrByPath path {} config) != {}; + + inherit (config.nixops) enableDeprecatedAutoLuks; +in { + options.nixops.enableDeprecatedAutoLuks = lib.mkEnableOption "Enable the deprecated NixOps AutoLuks module"; + + config = { + assertions = [ + { + assertion = if hasAutoLuksConfig then hasAutoLuksConfig && enableDeprecatedAutoLuks else true; + message = '' + ⚠️ !!! WARNING !!! ⚠️ + + NixOps autoLuks is deprecated. The feature was never widely used and the maintenance did outgrow the benefit. + If you still want to use the module: + a) Please raise your voice in the issue tracking usage of the module: + https://github.com/NixOS/nixpkgs/issues/62211 + b) make sure you set the `_netdev` option for each of the file + systems referring to block devices provided by the autoLuks module. + + ⚠️ If you do not set the option your system will not boot anymore! ⚠️ + + { + fileSystems."/secret" = { options = [ "_netdev" ]; }; + } + + b) set the option >nixops.enableDeprecatedAutoLuks = true< to remove this error. + + + For more details read through the following resources: + - https://github.com/NixOS/nixops/pull/1156 + - https://github.com/NixOS/nixpkgs/issues/47550 + - https://github.com/NixOS/nixpkgs/issues/62211 + - https://github.com/NixOS/nixpkgs/pull/61321 + ''; + } + ]; + }; + +} diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix index 3a717fddaba..afb74581e23 100644 --- a/nixos/modules/misc/nixpkgs.nix +++ b/nixos/modules/misc/nixpkgs.nix @@ -19,7 +19,7 @@ let lhs = optCall lhs_ { inherit pkgs; }; rhs = optCall rhs_ { inherit pkgs; }; in - lhs // rhs // + recursiveUpdate lhs rhs // optionalAttrs (lhs ? packageOverrides) { packageOverrides = pkgs: optCall lhs.packageOverrides pkgs // @@ -127,13 +127,14 @@ in default = []; example = literalExample '' - [ (self: super: { + [ + (self: super: { openssh = super.openssh.override { hpnSupport = true; kerberos = self.libkrb5; }; - }; - ) ] + }) + ] ''; type = types.listOf overlayType; description = '' @@ -195,7 +196,6 @@ 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. diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index c576cf4cb92..3ae60cb7916 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -1,4 +1,4 @@ -{ options, config, lib, pkgs, ... }: +{ config, lib, pkgs, ... }: with lib; @@ -95,6 +95,7 @@ in PRETTY_NAME="NixOS ${cfg.version} (${cfg.codeName})" LOGO="nix-snowflake" HOME_URL="https://nixos.org/" + DOCUMENTATION_URL="https://nixos.org/nixos/manual/index.html" 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 8a9a936d3b2..4bc37ed3f17 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -11,6 +11,7 @@ ./config/xdg/icons.nix ./config/xdg/menus.nix ./config/xdg/mime.nix + ./config/xdg/portal.nix ./config/appstream.nix ./config/xdg/sounds.nix ./config/gtk/gtk-icon-cache.nix @@ -19,22 +20,27 @@ ./config/iproute2.nix ./config/krb5/default.nix ./config/ldap.nix + ./config/locale.nix + ./config/malloc.nix ./config/networking.nix ./config/no-x-libs.nix ./config/nsswitch.nix ./config/power-management.nix ./config/pulseaudio.nix + ./config/qt5.nix + ./config/resolvconf.nix ./config/shells-environment.nix ./config/swap.nix ./config/sysctl.nix ./config/system-environment.nix ./config/system-path.nix ./config/terminfo.nix - ./config/timezone.nix ./config/unix-odbc-drivers.nix ./config/users-groups.nix ./config/vpnc.nix + ./config/vte.nix ./config/zram.nix + ./hardware/acpilight.nix ./hardware/all-firmware.nix ./hardware/bladeRF.nix ./hardware/brightnessctl.nix @@ -42,10 +48,14 @@ ./hardware/cpu/amd-microcode.nix ./hardware/cpu/intel-microcode.nix ./hardware/digitalbitbox.nix + ./hardware/device-tree.nix ./hardware/sensor/iio.nix ./hardware/ksm.nix + ./hardware/ledger.nix + ./hardware/logitech.nix ./hardware/mcelog.nix ./hardware/network/b43.nix + ./hardware/network/intel-2200bg.nix ./hardware/nitrokey.nix ./hardware/opengl.nix ./hardware/pcmcia.nix @@ -80,6 +90,7 @@ ./misc/nixpkgs.nix ./misc/passthru.nix ./misc/version.nix + ./misc/nixops-autoluks.nix ./programs/adb.nix ./programs/atop.nix ./programs/autojump.nix @@ -87,18 +98,27 @@ ./programs/bcc.nix ./programs/blcr.nix ./programs/browserpass.nix + ./programs/captive-browser.nix ./programs/ccache.nix ./programs/cdemu.nix ./programs/chromium.nix + ./programs/clickshare.nix ./programs/command-not-found/command-not-found.nix ./programs/criu.nix ./programs/dconf.nix ./programs/digitalbitbox/default.nix ./programs/dmrconfig.nix ./programs/environment.nix + ./programs/evince.nix + ./programs/file-roller.nix ./programs/firejail.nix ./programs/fish.nix ./programs/freetds.nix + ./programs/fuse.nix + ./programs/gnome-disks.nix + ./programs/gnome-documents.nix + ./programs/gnome-terminal.nix + ./programs/gpaste.nix ./programs/gnupg.nix ./programs/gphoto2.nix ./programs/iftop.nix @@ -118,6 +138,7 @@ ./programs/qt5ct.nix ./programs/screen.nix ./programs/sedutil.nix + ./programs/seahorse.nix ./programs/slock.nix ./programs/shadow.nix ./programs/shell.nix @@ -128,19 +149,23 @@ ./programs/sysdig.nix ./programs/systemtap.nix ./programs/sway.nix - ./programs/sway-beta.nix ./programs/thefuck.nix ./programs/tmux.nix + ./programs/tsm-client.nix ./programs/udevil.nix + ./programs/usbtop.nix ./programs/venus.nix ./programs/vim.nix ./programs/wavemon.nix ./programs/way-cooler.nix + ./programs/waybar.nix ./programs/wireshark.nix + ./programs/x2goserver.nix ./programs/xfs_quota.nix ./programs/xonsh.nix ./programs/xss-lock.nix ./programs/yabar.nix + ./programs/zmap.nix ./programs/zsh/oh-my-zsh.nix ./programs/zsh/zsh.nix ./programs/zsh/zsh-autoenv.nix @@ -170,35 +195,50 @@ ./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 ./services/amqp/activemq/default.nix ./services/amqp/rabbitmq.nix ./services/audio/alsa.nix + ./services/audio/jack.nix ./services/audio/icecast.nix ./services/audio/liquidsoap.nix ./services/audio/mpd.nix ./services/audio/mopidy.nix + ./services/audio/roon-server.nix ./services/audio/slimserver.nix + ./services/audio/snapserver.nix ./services/audio/squeezelite.nix + ./services/audio/spotifyd.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/postgresql-wal-receiver.nix ./services/backup/restic.nix ./services/backup/restic-rest-server.nix ./services/backup/rsnapshot.nix ./services/backup/tarsnap.nix + ./services/backup/tsm.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 @@ -241,6 +281,7 @@ ./services/databases/virtuoso.nix ./services/desktops/accountsservice.nix ./services/desktops/bamf.nix + ./services/desktops/deepin/deepin.nix ./services/desktops/dleyna-renderer.nix ./services/desktops/dleyna-server.nix ./services/desktops/pantheon/contractor.nix @@ -248,23 +289,19 @@ ./services/desktops/flatpak.nix ./services/desktops/geoclue2.nix ./services/desktops/gsignond.nix + ./services/desktops/gvfs.nix ./services/desktops/pipewire.nix ./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/chrome-gnome-shell.nix ./services/desktops/gnome3/evolution-data-server.nix - ./services/desktops/gnome3/file-roller.nix - ./services/desktops/gnome3/gnome-disks.nix - ./services/desktops/gnome3/gnome-documents.nix + ./services/desktops/gnome3/glib-networking.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-terminal-server.nix + ./services/desktops/gnome3/gnome-settings-daemon.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 @@ -284,6 +321,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 @@ -298,9 +336,11 @@ ./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/throttled.nix ./services/hardware/trezord.nix ./services/hardware/triggerhappy.nix ./services/hardware/u2f.nix @@ -327,13 +367,16 @@ ./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/mailman.nix ./services/mail/mlmmj.nix ./services/mail/offlineimap.nix ./services/mail/opendkim.nix @@ -345,13 +388,13 @@ ./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 @@ -364,12 +407,13 @@ ./services/misc/couchpotato.nix ./services/misc/devmon.nix ./services/misc/dictd.nix + ./services/misc/dwm-status.nix ./services/misc/dysnomia.nix ./services/misc/disnix.nix ./services/misc/docker-registry.nix - ./services/misc/emby.nix ./services/misc/errbot.nix ./services/misc/etcd.nix + ./services/misc/ethminer.nix ./services/misc/exhibitor.nix ./services/misc/felix.nix ./services/misc/folding-at-home.nix @@ -385,20 +429,22 @@ ./services/misc/gollum.nix ./services/misc/gpsd.nix ./services/misc/headphones.nix + ./services/misc/greenclip.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 ./services/misc/mbpfan.nix ./services/misc/mediatomb.nix ./services/misc/mesos-master.nix ./services/misc/mesos-slave.nix + ./services/misc/metabase.nix ./services/misc/mwlib.nix ./services/misc/nix-daemon.nix ./services/misc/nix-gc.nix @@ -410,10 +456,10 @@ ./services/misc/octoprint.nix ./services/misc/osrm.nix ./services/misc/packagekit.nix + ./services/misc/paperless.nix ./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 @@ -435,6 +481,7 @@ ./services/misc/synergy.nix ./services/misc/sysprof.nix ./services/misc/taskserver + ./services/misc/tiddlywiki.nix ./services/misc/tzupdate.nix ./services/misc/uhub.nix ./services/misc/weechat.nix @@ -458,6 +505,7 @@ ./services/monitoring/heapster.nix ./services/monitoring/incron.nix ./services/monitoring/kapacitor.nix + ./services/monitoring/loki.nix ./services/monitoring/longview.nix ./services/monitoring/monit.nix ./services/monitoring/munin.nix @@ -467,19 +515,21 @@ ./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/sysstat.nix - ./services/monitoring/systemhealth.nix ./services/monitoring/teamviewer.nix ./services/monitoring/telegraf.nix + ./services/monitoring/thanos.nix ./services/monitoring/ups.nix ./services/monitoring/uptime.nix ./services/monitoring/vnstat.nix ./services/monitoring/zabbix-agent.nix + ./services/monitoring/zabbix-proxy.nix ./services/monitoring/zabbix-server.nix ./services/network-filesystems/beegfs.nix ./services/network-filesystems/cachefilesd.nix @@ -507,16 +557,17 @@ ./services/networking/avahi-daemon.nix ./services/networking/babeld.nix ./services/networking/bind.nix + ./services/networking/bitcoind.nix ./services/networking/autossh.nix ./services/networking/bird.nix ./services/networking/bitlbee.nix - ./services/networking/btsync.nix ./services/networking/charybdis.nix ./services/networking/chrony.nix ./services/networking/cjdns.nix ./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 @@ -558,10 +609,12 @@ ./services/networking/iodine.nix ./services/networking/iperf3.nix ./services/networking/ircd-hybrid/default.nix + ./services/networking/jormungandr.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 @@ -577,6 +630,7 @@ ./services/networking/morty.nix ./services/networking/miredo.nix ./services/networking/mstpd.nix + ./services/networking/mtprotoproxy.nix ./services/networking/murmur.nix ./services/networking/mxisd.nix ./services/networking/namecoind.nix @@ -595,6 +649,7 @@ ./services/networking/nullidentdmod.nix ./services/networking/nylon.nix ./services/networking/ocserv.nix + ./services/networking/ofono.nix ./services/networking/oidentd.nix ./services/networking/openfire.nix ./services/networking/openntpd.nix @@ -611,6 +666,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 @@ -644,10 +700,13 @@ ./services/networking/syncthing-relay.nix ./services/networking/tcpcrypt.nix ./services/networking/teamspeak3.nix + ./services/networking/tedicross.nix + ./services/networking/thelounge.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 @@ -655,6 +714,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 @@ -676,6 +736,7 @@ ./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 @@ -710,6 +771,7 @@ ./services/system/uptimed.nix ./services/torrent/deluge.nix ./services/torrent/flexget.nix + ./services/torrent/magnetico.nix ./services/torrent/opentracker.nix ./services/torrent/peerflix.nix ./services/torrent/transmission.nix @@ -720,10 +782,16 @@ ./services/web-apps/atlassian/crowd.nix ./services/web-apps/atlassian/jira.nix ./services/web-apps/codimd.nix + ./services/web-apps/cryptpad.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/limesurvey.nix ./services/web-apps/mattermost.nix + ./services/web-apps/mediawiki.nix + ./services/web-apps/miniflux.nix + ./services/web-apps/moodle.nix ./services/web-apps/nextcloud.nix ./services/web-apps/nexus.nix ./services/web-apps/pgpkeyserver-lite.nix @@ -732,9 +800,12 @@ ./services/web-apps/tt-rss.nix ./services/web-apps/selfoss.nix ./services/web-apps/virtlyst.nix + ./services/web-apps/wordpress.nix ./services/web-apps/youtrack.nix + ./services/web-apps/zabbix.nix ./services/web-servers/apache-httpd/default.nix ./services/web-servers/caddy.nix + ./services/web-servers/darkhttpd.nix ./services/web-servers/fcgiwrap.nix ./services/web-servers/hitch/default.nix ./services/web-servers/hydron.nix @@ -749,13 +820,15 @@ ./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 ./services/web-servers/uwsgi.nix ./services/web-servers/varnish/default.nix - ./services/web-servers/winstone.nix ./services/web-servers/zope2.nix + ./services/x11/extra-layouts.nix + ./services/x11/clight.nix ./services/x11/colord.nix ./services/x11/compton.nix ./services/x11/unclutter.nix @@ -795,7 +868,6 @@ ./system/activation/activation-script.nix ./system/activation/top-level.nix ./system/boot/binfmt.nix - ./system/boot/coredump.nix ./system/boot/emergency-mode.nix ./system/boot/grow-partition.nix ./system/boot/initrd-network.nix @@ -856,9 +928,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/graphical.nix b/nixos/modules/profiles/graphical.nix index fba756391b1..649f5564ac6 100644 --- a/nixos/modules/profiles/graphical.nix +++ b/nixos/modules/profiles/graphical.nix @@ -14,5 +14,9 @@ libinput.enable = true; # for touchpad support on many laptops }; + # 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 9ab2ee87a19..626d8b1d2bd 100644 --- a/nixos/modules/profiles/hardened.nix +++ b/nixos/modules/profiles/hardened.nix @@ -24,7 +24,9 @@ with lib; security.allowSimultaneousMultithreading = mkDefault false; - security.virtualization.flushL1DataCache = mkDefault "always"; + security.forcePageTableIsolation = mkDefault true; + + security.virtualisation.flushL1DataCache = mkDefault "always"; security.apparmor.enable = mkDefault true; @@ -41,8 +43,8 @@ with lib; # Disable legacy virtual syscalls "vsyscall=none" - # Enable PTI even if CPU claims to be safe from meltdown - "pti=on" + # Enable page allocator randomization + "page_alloc.shuffle=1" ]; boot.blacklistedKernelModules = [ @@ -87,4 +89,34 @@ with lib; # # The value is taken from the KSPP recommendations (Debian uses 4096). boot.kernel.sysctl."vm.mmap_min_addr" = mkDefault 65536; + + # Disable ftrace debugging + boot.kernel.sysctl."kernel.ftrace_enabled" = mkDefault false; + + # Enable strict reverse path filtering (that is, do not attempt to route + # packets that "obviously" do not belong to the iface's network; dropped + # packets are logged as martians). + boot.kernel.sysctl."net.ipv4.conf.all.log_martians" = mkDefault true; + boot.kernel.sysctl."net.ipv4.conf.all.rp_filter" = mkDefault "1"; + boot.kernel.sysctl."net.ipv4.conf.default.log_martians" = mkDefault true; + boot.kernel.sysctl."net.ipv4.conf.default.rp_filter" = mkDefault "1"; + + # Ignore broadcast ICMP (mitigate SMURF) + boot.kernel.sysctl."net.ipv4.icmp_echo_ignore_broadcasts" = mkDefault true; + + # Ignore incoming ICMP redirects (note: default is needed to ensure that the + # setting is applied to interfaces added after the sysctls are set) + boot.kernel.sysctl."net.ipv4.conf.all.accept_redirects" = mkDefault false; + boot.kernel.sysctl."net.ipv4.conf.all.secure_redirects" = mkDefault false; + boot.kernel.sysctl."net.ipv4.conf.default.accept_redirects" = mkDefault false; + boot.kernel.sysctl."net.ipv4.conf.default.secure_redirects" = mkDefault false; + boot.kernel.sysctl."net.ipv6.conf.all.accept_redirects" = mkDefault false; + boot.kernel.sysctl."net.ipv6.conf.default.accept_redirects" = mkDefault false; + + # Ignore outgoing ICMP redirects (this is ipv4 only) + boot.kernel.sysctl."net.ipv4.conf.all.send_redirects" = mkDefault false; + boot.kernel.sysctl."net.ipv4.conf.default.send_redirects" = mkDefault false; + + # Restrict userfaultfd syscalls to processes with the SYS_PTRACE capability + boot.kernel.sysctl."vm.unprivileged_userfaultfd" = mkDefault false; } diff --git a/nixos/modules/profiles/installation-device.nix b/nixos/modules/profiles/installation-device.nix index 580ea4a58e5..fd30220ce1c 100644 --- a/nixos/modules/profiles/installation-device.nix +++ b/nixos/modules/profiles/installation-device.nix @@ -32,20 +32,39 @@ with lib; #services.rogue.enable = true; # Disable some other stuff we don't need. - security.sudo.enable = mkDefault false; services.udisks2.enable = mkDefault false; + # Use less privileged nixos user + users.users.nixos = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" "video" ]; + # Allow the graphical user to login without password + initialHashedPassword = ""; + }; + + # Allow the user to log in as root without a password. + users.users.root.initialHashedPassword = ""; + + # Allow passwordless sudo from nixos user + security.sudo = { + enable = mkDefault true; + wheelNeedsPassword = mkForce false; + }; + # Automatically log in at the virtual consoles. - services.mingetty.autologinUser = "root"; + services.mingetty.autologinUser = "nixos"; # Some more help text. - services.mingetty.helpLine = - '' + services.mingetty.helpLine = '' + The "nixos" and "root" accounts have empty passwords. - The "root" account has an empty password. ${ - optionalString config.services.xserver.enable - "Type `systemctl start display-manager' to\nstart the graphical user interface."} - ''; + Type `sudo systemctl start sshd` to start the SSH daemon. + You then must set a password for either "root" or "nixos" + with `passwd` to be able to login. + '' + optionalString config.services.xserver.enable '' + Type `sudo systemctl start display-manager' to + start the graphical user interface. + ''; # Allow sshd to be started manually through "systemctl start sshd". services.openssh = { @@ -86,8 +105,5 @@ with lib; # because we have the firewall enabled. This makes installs from the # console less cumbersome if the machine has a public IP. networking.firewall.logRefusedConnections = mkDefault false; - - # Allow the user to log in as root without a password. - users.users.root.initialHashedPassword = ""; }; } diff --git a/nixos/modules/programs/bash/bash.nix b/nixos/modules/programs/bash/bash.nix index d22f9dfa319..99daec5ff5b 100644 --- a/nixos/modules/programs/bash/bash.nix +++ b/nixos/modules/programs/bash/bash.nix @@ -34,7 +34,7 @@ let bashAliases = concatStringsSep "\n" ( mapAttrsFlatten (k: v: "alias ${k}=${escapeShellArg v}") - (filterAttrs (k: v: !isNull v) cfg.shellAliases) + (filterAttrs (k: v: v != null) cfg.shellAliases) ); in @@ -98,11 +98,11 @@ in if [ "$TERM" != "dumb" -o -n "$INSIDE_EMACS" ]; then PROMPT_COLOR="1;31m" let $UID && PROMPT_COLOR="1;32m" - if [ -n "$INSIDE_EMACS" ]; then + if [ -n "$INSIDE_EMACS" -o "$TERM" == "eterm" -o "$TERM" == "eterm-color" ]; 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\] " + 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" @@ -226,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 5f8a44a9848..e1456d3c184 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/captive-browser.nix b/nixos/modules/programs/captive-browser.nix new file mode 100644 index 00000000000..55d474e5c9d --- /dev/null +++ b/nixos/modules/programs/captive-browser.nix @@ -0,0 +1,122 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.captive-browser; +in +{ + ###### interface + + options = { + programs.captive-browser = { + enable = mkEnableOption "captive browser"; + + package = mkOption { + type = types.package; + default = pkgs.captive-browser; + defaultText = "pkgs.captive-browser"; + description = "Which package to use for captive-browser"; + }; + + interface = mkOption { + type = types.str; + description = "your public network interface (wlp3s0, wlan0, eth0, ...)"; + }; + + # the options below are the same as in "captive-browser.toml" + browser = mkOption { + type = types.str; + default = concatStringsSep " " [ ''${pkgs.chromium}/bin/chromium'' + ''--user-data-dir=$HOME/.chromium-captive'' + ''--proxy-server="socks5://$PROXY"'' + ''--host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE localhost"'' + ''--no-first-run'' + ''--new-window'' + ''--incognito'' + ''http://cache.nixos.org/'' + ]; + description = '' + The shell (/bin/sh) command executed once the proxy starts. + When browser exits, the proxy exits. An extra env var PROXY is available. + + Here, we use a separate Chrome instance in Incognito mode, so that + it can run (and be waited for) alongside the default one, and that + it maintains no state across runs. To configure this browser open a + normal window in it, settings will be preserved. + + @volth: chromium is to open a plain HTTP (not HTTPS nor redirect to HTTPS!) website. + upstream uses http://example.com but I have seen captive portals whose DNS server resolves "example.com" to 127.0.0.1 + ''; + }; + + dhcp-dns = mkOption { + type = types.str; + description = '' + The shell (/bin/sh) command executed to obtain the DHCP + DNS server address. The first match of an IPv4 regex is used. + IPv4 only, because let's be real, it's a captive portal. + ''; + }; + + socks5-addr = mkOption { + type = types.str; + default = "localhost:1666"; + description = ''the listen address for the SOCKS5 proxy server''; + }; + + bindInterface = mkOption { + default = true; + type = types.bool; + description = '' + Binds captive-browser to the network interface declared in + cfg.interface. This can be used to avoid collisions + with private subnets. + ''; + }; + }; + }; + + ###### implementation + + config = mkIf cfg.enable { + + programs.captive-browser.dhcp-dns = mkOptionDefault ( + if config.networking.networkmanager.enable then + "${pkgs.networkmanager}/bin/nmcli dev show ${escapeShellArg cfg.interface} | ${pkgs.gnugrep}/bin/fgrep IP4.DNS" + else if config.networking.dhcpcd.enable then + "${pkgs.dhcpcd}/bin/dhcpcd -U ${escapeShellArg cfg.interface} | ${pkgs.gnugrep}/bin/fgrep domain_name_servers" + else if config.networking.useNetworkd then + "${cfg.package}/bin/systemd-networkd-dns ${escapeShellArg cfg.interface}" + else + "${config.security.wrapperDir}/udhcpc --quit --now -f -i ${escapeShellArg cfg.interface} -O dns --script ${ + pkgs.writeScript "udhcp-script" '' + #!/bin/sh + if [ "$1" = bound ]; then + echo "$dns" + fi + ''}" + ); + + security.wrappers.udhcpc = { + capabilities = "cap_net_raw+p"; + source = "${pkgs.busybox}/bin/udhcpc"; + }; + + security.wrappers.captive-browser = { + capabilities = "cap_net_raw+p"; + source = pkgs.writeScript "captive-browser" '' + #!${pkgs.bash}/bin/bash + export XDG_CONFIG_HOME=${pkgs.writeTextDir "captive-browser.toml" '' + browser = """${cfg.browser}""" + dhcp-dns = """${cfg.dhcp-dns}""" + socks5-addr = """${cfg.socks5-addr}""" + ${optionalString cfg.bindInterface '' + bind-device = """${cfg.interface}""" + ''} + ''} + exec ${cfg.package}/bin/captive-browser + ''; + }; + }; +} diff --git a/nixos/modules/programs/clickshare.nix b/nixos/modules/programs/clickshare.nix new file mode 100644 index 00000000000..9980a7daf52 --- /dev/null +++ b/nixos/modules/programs/clickshare.nix @@ -0,0 +1,21 @@ +{ config, lib, pkgs, ... }: + +{ + + options.programs.clickshare-csc1.enable = + lib.options.mkEnableOption '' + Barco ClickShare CSC-1 driver/client. + This allows users in the clickshare + group to access and use a ClickShare USB dongle + that is connected to the machine + ''; + + config = lib.modules.mkIf config.programs.clickshare-csc1.enable { + environment.systemPackages = [ pkgs.clickshare-csc1 ]; + services.udev.packages = [ pkgs.clickshare-csc1 ]; + users.groups.clickshare = {}; + }; + + meta.maintainers = [ lib.maintainers.yarny ]; + +} diff --git a/nixos/modules/programs/dconf.nix b/nixos/modules/programs/dconf.nix index 9c9765b06b6..eeebc3558bd 100644 --- a/nixos/modules/programs/dconf.nix +++ b/nixos/modules/programs/dconf.nix @@ -34,11 +34,11 @@ in 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-*)"; + # For dconf executable + environment.systemPackages = [ pkgs.gnome3.dconf ]; + + # Needed for unwrapped applications + environment.variables.GIO_EXTRA_MODULES = mkIf cfg.enable [ "${pkgs.gnome3.dconf.lib}/lib/gio/modules" ]; }; } diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix index 3c6d356ef99..66eb8348266 100644 --- a/nixos/modules/programs/environment.nix +++ b/nixos/modules/programs/environment.nix @@ -21,11 +21,11 @@ in PAGER = mkDefault "less -R"; EDITOR = mkDefault "nano"; XCURSOR_PATH = [ "$HOME/.icons" ]; + XDG_CONFIG_DIRS = [ "/etc/xdg" ]; # needs to be before profile-relative paths to allow changes through environment.etc }; - environment.profiles = - [ "$HOME/.nix-profile" - "/nix/var/nix/profiles/default" + environment.profiles = mkAfter + [ "/nix/var/nix/profiles/default" "/run/current-system/sw" ]; diff --git a/nixos/modules/programs/evince.nix b/nixos/modules/programs/evince.nix new file mode 100644 index 00000000000..473fddb09d0 --- /dev/null +++ b/nixos/modules/programs/evince.nix @@ -0,0 +1,42 @@ +# Evince. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + # Added 2019-08-09 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "evince" "enable" ] + [ "programs" "evince" "enable" ]) + ]; + + ###### interface + + options = { + + programs.evince = { + + enable = mkEnableOption + "Evince, the GNOME document viewer"; + + }; + + }; + + + ###### implementation + + config = mkIf config.programs.evince.enable { + + environment.systemPackages = [ pkgs.evince ]; + + services.dbus.packages = [ pkgs.evince ]; + + systemd.packages = [ pkgs.evince ]; + + }; + +} diff --git a/nixos/modules/programs/file-roller.nix b/nixos/modules/programs/file-roller.nix new file mode 100644 index 00000000000..64f6a94e764 --- /dev/null +++ b/nixos/modules/programs/file-roller.nix @@ -0,0 +1,39 @@ +# File Roller. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + # Added 2019-08-09 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "file-roller" "enable" ] + [ "programs" "file-roller" "enable" ]) + ]; + + ###### interface + + options = { + + programs.file-roller = { + + enable = mkEnableOption "File Roller, an archive manager for GNOME"; + + }; + + }; + + + ###### implementation + + config = mkIf config.programs.file-roller.enable { + + environment.systemPackages = [ pkgs.gnome3.file-roller ]; + + services.dbus.packages = [ pkgs.gnome3.file-roller ]; + + }; + +} diff --git a/nixos/modules/programs/fish.nix b/nixos/modules/programs/fish.nix index b38af07b92c..87f6816e4ac 100644 --- a/nixos/modules/programs/fish.nix +++ b/nixos/modules/programs/fish.nix @@ -10,7 +10,7 @@ let fishAliases = concatStringsSep "\n" ( mapAttrsFlatten (k: v: "alias ${k} ${escapeShellArg v}") - (filterAttrs (k: v: !isNull v) cfg.shellAliases) + (filterAttrs (k: v: v != null) cfg.shellAliases) ); in @@ -169,6 +169,59 @@ 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" @@ -179,7 +232,6 @@ in 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 00000000000..a8c797d185a --- /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/fuse.nix b/nixos/modules/programs/fuse.nix new file mode 100644 index 00000000000..c15896efbb5 --- /dev/null +++ b/nixos/modules/programs/fuse.nix @@ -0,0 +1,37 @@ +{ config, lib, ... }: + +with lib; + +let + cfg = config.programs.fuse; +in { + meta.maintainers = with maintainers; [ primeos ]; + + options.programs.fuse = { + mountMax = mkOption { + # In the C code it's an "int" (i.e. signed and at least 16 bit), but + # negative numbers obviously make no sense: + type = types.ints.between 0 32767; # 2^15 - 1 + default = 1000; + description = '' + Set the maximum number of FUSE mounts allowed to non-root users. + ''; + }; + + userAllowOther = mkOption { + type = types.bool; + default = false; + description = '' + Allow non-root users to specify the allow_other or allow_root mount + options, see mount.fuse3(8). + ''; + }; + }; + + config = { + environment.etc."fuse.conf".text = '' + ${optionalString (!cfg.userAllowOther) "#"}user_allow_other + mount_max = ${toString cfg.mountMax} + ''; + }; +} diff --git a/nixos/modules/programs/gnome-disks.nix b/nixos/modules/programs/gnome-disks.nix new file mode 100644 index 00000000000..1cf839a6ddb --- /dev/null +++ b/nixos/modules/programs/gnome-disks.nix @@ -0,0 +1,46 @@ +# GNOME Disks. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + # Added 2019-08-09 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "gnome-disks" "enable" ] + [ "programs" "gnome-disks" "enable" ]) + ]; + + ###### interface + + options = { + + programs.gnome-disks = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Disks daemon, a program designed to + be a UDisks2 graphical front-end. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.programs.gnome-disks.enable { + + environment.systemPackages = [ pkgs.gnome3.gnome-disk-utility ]; + + services.dbus.packages = [ pkgs.gnome3.gnome-disk-utility ]; + + }; + +} diff --git a/nixos/modules/programs/gnome-documents.nix b/nixos/modules/programs/gnome-documents.nix new file mode 100644 index 00000000000..bfa3d409ee3 --- /dev/null +++ b/nixos/modules/programs/gnome-documents.nix @@ -0,0 +1,50 @@ +# GNOME Documents. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + # Added 2019-08-09 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "gnome-documents" "enable" ] + [ "programs" "gnome-documents" "enable" ]) + ]; + + ###### interface + + options = { + + programs.gnome-documents = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Documents, a document + manager application for GNOME. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.programs.gnome-documents.enable { + + environment.systemPackages = [ pkgs.gnome3.gnome-documents ]; + + services.dbus.packages = [ pkgs.gnome3.gnome-documents ]; + + services.gnome3.gnome-online-accounts.enable = true; + + services.gnome3.gnome-online-miners.enable = true; + + }; + +} diff --git a/nixos/modules/programs/gnome-terminal.nix b/nixos/modules/programs/gnome-terminal.nix new file mode 100644 index 00000000000..0036677a157 --- /dev/null +++ b/nixos/modules/programs/gnome-terminal.nix @@ -0,0 +1,36 @@ +# GNOME Terminal. + +{ config, pkgs, lib, ... }: + +with lib; + +let + + cfg = config.programs.gnome-terminal; + +in + +{ + + # Added 2019-08-19 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "gnome-terminal-server" "enable" ] + [ "programs" "gnome-terminal" "enable" ]) + ]; + + options = { + + programs.gnome-terminal.enable = mkEnableOption "GNOME Terminal"; + + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.gnome3.gnome-terminal ]; + services.dbus.packages = [ pkgs.gnome3.gnome-terminal ]; + systemd.packages = [ pkgs.gnome3.gnome-terminal ]; + + programs.bash.vteIntegration = true; + programs.zsh.vteIntegration = true; + }; +} diff --git a/nixos/modules/programs/gnupg.nix b/nixos/modules/programs/gnupg.nix index b01de9efaa5..bcbc994efe9 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; @@ -74,8 +83,9 @@ in systemd.user.sockets.dirmngr = mkIf cfg.dirmngr.enable { wantedBy = [ "sockets.target" ]; }; - - systemd.packages = [ pkgs.gnupg ]; + + environment.systemPackages = with pkgs; [ cfg.package ]; + systemd.packages = [ cfg.package ]; environment.interactiveShellInit = '' # Bind gpg-agent to this TTY if gpg commands are used. @@ -84,13 +94,15 @@ in '' + (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 - - if [ -z "$SSH_AUTH_SOCK" ]; then - export SSH_AUTH_SOCK=$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket) - fi + ${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=$(${cfg.package}/bin/gpgconf --list-dirs agent-ssh-socket) + fi + ''; + assertions = [ { assertion = cfg.agent.enableSSHSupport -> !config.programs.ssh.startAgent; message = "You can't use ssh-agent and GnuPG agent with SSH support enabled at the same time!"; diff --git a/nixos/modules/programs/gpaste.nix b/nixos/modules/programs/gpaste.nix new file mode 100644 index 00000000000..4f6deb77e5e --- /dev/null +++ b/nixos/modules/programs/gpaste.nix @@ -0,0 +1,34 @@ +# GPaste. +{ config, lib, pkgs, ... }: + +with lib; + +{ + + # Added 2019-08-09 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "gpaste" "enable" ] + [ "programs" "gpaste" "enable" ]) + ]; + + ###### interface + options = { + programs.gpaste = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GPaste, a clipboard manager. + ''; + }; + }; + }; + + ###### implementation + config = mkIf config.programs.gpaste.enable { + environment.systemPackages = [ pkgs.gnome3.gpaste ]; + services.dbus.packages = [ pkgs.gnome3.gpaste ]; + systemd.packages = [ pkgs.gnome3.gpaste ]; + }; +} diff --git a/nixos/modules/programs/less.nix b/nixos/modules/programs/less.nix index d39103a5805..9fdf99e9c69 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/nylas-mail.nix b/nixos/modules/programs/nylas-mail.nix deleted file mode 100644 index 08a6cd0a604..00000000000 --- a/nixos/modules/programs/nylas-mail.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - cfg = config.services.nylas-mail; -in { - ###### interface - options = { - services.nylas-mail = { - - enable = mkEnableOption '' - nylas-mail - Open-source mail client built on the modern web with Electron, React, and Flux - ''; - - gnome3-keyring = mkOption { - type = types.bool; - default = true; - description = "Enable gnome3 keyring for nylas-mail."; - }; - }; - }; - - - ###### implementation - - config = mkIf cfg.enable { - - environment.systemPackages = [ pkgs.nylas-mail-bin ]; - - services.gnome3.gnome-keyring = mkIf cfg.gnome3-keyring { - enable = true; - }; - - }; -} diff --git a/nixos/modules/programs/seahorse.nix b/nixos/modules/programs/seahorse.nix new file mode 100644 index 00000000000..c08b0a85374 --- /dev/null +++ b/nixos/modules/programs/seahorse.nix @@ -0,0 +1,44 @@ +# Seahorse. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + # Added 2019-08-27 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "seahorse" "enable" ] + [ "programs" "seahorse" "enable" ]) + ]; + + + ###### interface + + options = { + + programs.seahorse = { + + enable = mkEnableOption "Seahorse, a GNOME application for managing encryption keys and passwords in the GNOME Keyring"; + + }; + + }; + + + ###### implementation + + config = mkIf config.programs.seahorse.enable { + + environment.systemPackages = [ + pkgs.gnome3.seahorse + ]; + + services.dbus.packages = [ + pkgs.gnome3.seahorse + ]; + + }; + +} diff --git a/nixos/modules/programs/shell.nix b/nixos/modules/programs/shell.nix index 9842e2bef64..b7f7b91b5fb 100644 --- a/nixos/modules/programs/shell.nix +++ b/nixos/modules/programs/shell.nix @@ -12,7 +12,7 @@ with lib; '' # 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 + if [ "$(stat -c '%u' "$NIX_USER_PROFILE_DIR")" != "$(id -u)" ]; then echo "WARNING: the per-user profile dir $NIX_USER_PROFILE_DIR should belong to user id $(id -u)" >&2 fi @@ -34,7 +34,7 @@ with lib; # Create the per-user garbage collector roots directory. NIX_USER_GCROOTS_DIR="/nix/var/nix/gcroots/per-user/$USER" mkdir -m 0755 -p "$NIX_USER_GCROOTS_DIR" - if [ "$(stat --printf '%u' "$NIX_USER_GCROOTS_DIR")" != "$(id -u)" ]; then + if [ "$(stat -c '%u' "$NIX_USER_GCROOTS_DIR")" != "$(id -u)" ]; then echo "WARNING: the per-user gcroots dir $NIX_USER_GCROOTS_DIR should belong to user id $(id -u)" >&2 fi diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index 46965dd35b7..733b8f7636f 100644 --- a/nixos/modules/programs/ssh.nix +++ b/nixos/modules/programs/ssh.nix @@ -21,7 +21,7 @@ let knownHostsText = (flip (concatMapStringsSep "\n") knownHosts (h: assert h.hostNames != []; - concatStringsSep "," h.hostNames + " " + optionalString h.certAuthority "@cert-authority " + concatStringsSep "," h.hostNames + " " + (if h.publicKey != null then h.publicKey else readFile h.publicKeyFile) )) + "\n"; @@ -128,6 +128,14 @@ in default = {}; type = types.loaOf (types.submodule ({ name, ... }: { options = { + certAuthority = mkOption { + type = types.bool; + default = false; + description = '' + This public key is an SSH certificate authority, rather than an + individual host's key. + ''; + }; hostNames = mkOption { type = types.listOf types.str; default = []; @@ -227,6 +235,7 @@ in systemd.user.services.ssh-agent = mkIf cfg.startAgent { description = "SSH Agent"; wantedBy = [ "default.target" ]; + unitConfig.ConditionUser = "!@system"; serviceConfig = { ExecStartPre = "${pkgs.coreutils}/bin/rm -f %t/ssh-agent"; ExecStart = diff --git a/nixos/modules/programs/ssmtp.nix b/nixos/modules/programs/ssmtp.nix index 44756171b74..0e060e3f522 100644 --- a/nixos/modules/programs/ssmtp.nix +++ b/nixos/modules/programs/ssmtp.nix @@ -148,7 +148,7 @@ in UseSTARTTLS=${yesNo cfg.useSTARTTLS} #Debug=YES ${optionalString (cfg.authUser != "") "AuthUser=${cfg.authUser}"} - ${optionalString (!isNull cfg.authPassFile) "AuthPassFile=${cfg.authPassFile}"} + ${optionalString (cfg.authPassFile != null) "AuthPassFile=${cfg.authPassFile}"} ''; environment.systemPackages = [pkgs.ssmtp]; diff --git a/nixos/modules/programs/sway-beta.nix b/nixos/modules/programs/sway-beta.nix deleted file mode 100644 index 3c235de0ce6..00000000000 --- a/nixos/modules/programs/sway-beta.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ config, pkgs, lib, ... }: - -with lib; - -let - cfg = config.programs.sway-beta; - swayPackage = cfg.package; - - swayWrapped = pkgs.writeShellScriptBin "sway" '' - set -o errexit - - if [ ! "$_SWAY_WRAPPER_ALREADY_EXECUTED" ]; then - export _SWAY_WRAPPER_ALREADY_EXECUTED=1 - ${cfg.extraSessionCommands} - 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 { - name = "sway-joined"; - paths = [ swayWrapped swayPackage ]; - }; -in { - options.programs.sway-beta = { - enable = mkEnableOption '' - Sway, the i3-compatible tiling Wayland compositor. This module will be removed after the final release of Sway 1.0 - ''; - - package = mkOption { - type = types.package; - default = pkgs.sway-beta; - defaultText = "pkgs.sway-beta"; - description = '' - The package to be used for `sway`. - ''; - }; - - extraSessionCommands = mkOption { - type = types.lines; - default = ""; - example = '' - 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. - ''; - }; - - extraPackages = mkOption { - type = with types; listOf package; - default = with pkgs; [ - swaylock swayidle - xwayland rxvt_unicode dmenu - ]; - defaultText = literalExample '' - with pkgs; [ swaylock swayidle xwayland rxvt_unicode dmenu ]; - ''; - example = literalExample '' - with pkgs; [ - xwayland - i3status i3status-rust - termite rofi light - ] - ''; - description = '' - Extra packages to be installed system wide. - ''; - }; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [ swayJoined ] ++ cfg.extraPackages; - 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 colemickens ]; -} diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix index b3847db8cd9..b4f03151cdc 100644 --- a/nixos/modules/programs/sway.nix +++ b/nixos/modules/programs/sway.nix @@ -16,9 +16,9 @@ let if [ "$DBUS_SESSION_BUS_ADDRESS" ]; then export DBUS_SESSION_BUS_ADDRESS - exec sway-setcap "$@" + exec ${swayPackage}/bin/sway "$@" else - exec ${pkgs.dbus}/bin/dbus-run-session sway-setcap "$@" + exec ${pkgs.dbus}/bin/dbus-run-session ${swayPackage}/bin/sway "$@" fi ''; swayJoined = pkgs.symlinkJoin { @@ -28,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. @@ -53,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 = '' @@ -70,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 21ed6603c1b..b909916158d 100644 --- a/nixos/modules/programs/thefuck.nix +++ b/nixos/modules/programs/thefuck.nix @@ -17,7 +17,7 @@ in alias = mkOption { default = "fuck"; - type = types.string; + type = types.str; description = '' `thefuck` needs an alias to be configured. diff --git a/nixos/modules/programs/tmux.nix b/nixos/modules/programs/tmux.nix index 3d5a37274ae..ed077e3daa7 100644 --- a/nixos/modules/programs/tmux.nix +++ b/nixos/modules/programs/tmux.nix @@ -177,7 +177,7 @@ in { systemPackages = [ pkgs.tmux ]; variables = { - TMUX_TMPDIR = lib.optional cfg.secureSocket ''''${XDG_RUNTIME_DIR:-"/run/user/\$(id -u)"}''; + TMUX_TMPDIR = lib.optional cfg.secureSocket ''''${XDG_RUNTIME_DIR:-"/run/user/$(id -u)"}''; }; }; }; diff --git a/nixos/modules/programs/tsm-client.nix b/nixos/modules/programs/tsm-client.nix new file mode 100644 index 00000000000..eb6f1247528 --- /dev/null +++ b/nixos/modules/programs/tsm-client.nix @@ -0,0 +1,287 @@ +{ config, lib, pkgs, ... }: + +let + + inherit (builtins) length map; + inherit (lib.attrsets) attrNames filterAttrs hasAttr mapAttrs mapAttrsToList optionalAttrs; + inherit (lib.modules) mkDefault mkIf; + inherit (lib.options) literalExample mkEnableOption mkOption; + inherit (lib.strings) concatStringsSep optionalString toLower; + inherit (lib.types) addCheck attrsOf lines loaOf nullOr package path port str strMatching submodule; + + # Checks if given list of strings contains unique + # elements when compared without considering case. + # Type: checkIUnique :: [string] -> bool + # Example: checkIUnique ["foo" "Foo"] => false + checkIUnique = lst: + let + lenUniq = l: length (lib.lists.unique l); + in + lenUniq lst == lenUniq (map toLower lst); + + # TSM rejects servername strings longer than 64 chars. + servernameType = strMatching ".{1,64}"; + + serverOptions = { name, config, ... }: { + options.name = mkOption { + type = servernameType; + example = "mainTsmServer"; + description = '' + Local name of the IBM TSM server, + must be uncapitalized and no longer than 64 chars. + The value will be used for the + server + directive in dsm.sys. + ''; + }; + options.server = mkOption { + type = strMatching ".+"; + example = "tsmserver.company.com"; + description = '' + Host/domain name or IP address of the IBM TSM server. + The value will be used for the + tcpserveraddress + directive in dsm.sys. + ''; + }; + options.port = mkOption { + type = addCheck port (p: p<=32767); + default = 1500; # official default + description = '' + TCP port of the IBM TSM server. + The value will be used for the + tcpport + directive in dsm.sys. + TSM does not support ports above 32767. + ''; + }; + options.node = mkOption { + type = strMatching ".+"; + example = "MY-TSM-NODE"; + description = '' + Target node name on the IBM TSM server. + The value will be used for the + nodename + directive in dsm.sys. + ''; + }; + options.genPasswd = mkEnableOption '' + automatic client password generation. + This option influences the + passwordaccess + directive in dsm.sys. + The password will be stored in the directory + given by the option . + Caution: + If this option is enabled and the server forces + to renew the password (e.g. on first connection), + a random password will be generated and stored + ''; + options.passwdDir = mkOption { + type = path; + example = "/home/alice/tsm-password"; + description = '' + Directory that holds the TSM + node's password information. + The value will be used for the + passworddir + directive in dsm.sys. + ''; + }; + options.includeExclude = mkOption { + type = lines; + default = ""; + example = '' + exclude.dir /nix/store + include.encrypt /home/.../* + ''; + description = '' + include.* and + exclude.* directives to be + used when sending files to the IBM TSM server. + The lines will be written into a file that the + inclexcl + directive in dsm.sys points to. + ''; + }; + options.extraConfig = mkOption { + # TSM option keys are case insensitive; + # we have to ensure there are no keys that + # differ only by upper and lower case. + type = addCheck + (attrsOf (nullOr str)) + (attrs: checkIUnique (attrNames attrs)); + default = {}; + example.compression = "yes"; + example.passwordaccess = null; + description = '' + Additional key-value pairs for the server stanza. + Values must be strings, or null + for the key not to be used in the stanza + (e.g. to overrule values generated by other options). + ''; + }; + options.text = mkOption { + type = lines; + example = literalExample + ''lib.modules.mkAfter "compression no"''; + description = '' + Additional text lines for the server stanza. + This option can be used if certion configuration keys + must be used multiple times or ordered in a certain way + as the option can't + control the order of lines in the resulting stanza. + Note that the server + line at the beginning of the stanza is + not part of this option's value. + ''; + }; + options.stanza = mkOption { + type = str; + internal = true; + visible = false; + description = "Server stanza text generated from the options."; + }; + config.name = mkDefault name; + # Client system-options file directives are explained here: + # https://www.ibm.com/support/knowledgecenter/SSEQVQ_8.1.8/client/c_opt_usingopts.html + config.extraConfig = + mapAttrs (lib.trivial.const mkDefault) ( + { + commmethod = "v6tcpip"; # uses v4 or v6, based on dns lookup result + tcpserveraddress = config.server; + tcpport = builtins.toString config.port; + nodename = config.node; + passwordaccess = if config.genPasswd then "generate" else "prompt"; + passworddir = ''"${config.passwdDir}"''; + } // optionalAttrs (config.includeExclude!="") { + inclexcl = ''"${pkgs.writeText "inclexcl.dsm.sys" config.includeExclude}"''; + } + ); + config.text = + let + attrset = filterAttrs (k: v: v!=null) config.extraConfig; + mkLine = k: v: k + optionalString (v!="") " ${v}"; + lines = mapAttrsToList mkLine attrset; + in + concatStringsSep "\n" lines; + config.stanza = '' + server ${config.name} + ${config.text} + ''; + }; + + options.programs.tsmClient = { + enable = mkEnableOption '' + IBM Spectrum Protect (Tivoli Storage Manager, TSM) + client command line applications with a + client system-options file "dsm.sys" + ''; + servers = mkOption { + type = loaOf (submodule [ serverOptions ]); + default = {}; + example.mainTsmServer = { + server = "tsmserver.company.com"; + node = "MY-TSM-NODE"; + extraConfig.compression = "yes"; + }; + description = '' + Server definitions ("stanzas") + for the client system-options file. + ''; + }; + defaultServername = mkOption { + type = nullOr servernameType; + default = null; + example = "mainTsmServer"; + description = '' + If multiple server stanzas are declared with + , + this option may be used to name a default + server stanza that IBM TSM uses in the absence of + a user-defined dsm.opt file. + This option translates to a + defaultserver configuration line. + ''; + }; + dsmSysText = mkOption { + type = lines; + readOnly = true; + description = '' + This configuration key contains the effective text + of the client system-options file "dsm.sys". + It should not be changed, but may be + used to feed the configuration into other + TSM-depending packages used on the system. + ''; + }; + package = mkOption { + type = package; + default = pkgs.tsm-client; + defaultText = "pkgs.tsm-client"; + example = literalExample "pkgs.tsm-client-withGui"; + description = '' + The TSM client derivation to be + added to the system environment. + It will called with .override + to add paths to the client system-options file. + ''; + }; + wrappedPackage = mkOption { + type = package; + readOnly = true; + description = '' + The TSM client derivation, wrapped with the path + to the client system-options file "dsm.sys". + This option is to provide the effective derivation + for other modules that want to call TSM executables. + ''; + }; + }; + + cfg = config.programs.tsmClient; + + assertions = [ + { + assertion = checkIUnique (mapAttrsToList (k: v: v.name) cfg.servers); + message = '' + TSM servernames contain duplicate name + (note that case doesn't matter!) + ''; + } + { + assertion = (cfg.defaultServername!=null)->(hasAttr cfg.defaultServername cfg.servers); + message = "TSM defaultServername not found in list of servers"; + } + ]; + + dsmSysText = '' + **** IBM Spectrum Protect (Tivoli Storage Manager) + **** client system-options file "dsm.sys". + **** Do not edit! + **** This file is generated by NixOS configuration. + + ${optionalString (cfg.defaultServername!=null) "defaultserver ${cfg.defaultServername}"} + + ${concatStringsSep "\n" (mapAttrsToList (k: v: v.stanza) cfg.servers)} + ''; + +in + +{ + + inherit options; + + config = mkIf cfg.enable { + inherit assertions; + programs.tsmClient.dsmSysText = dsmSysText; + programs.tsmClient.wrappedPackage = cfg.package.override rec { + dsmSysCli = pkgs.writeText "dsm.sys" cfg.dsmSysText; + dsmSysApi = dsmSysCli; + }; + environment.systemPackages = [ cfg.wrappedPackage ]; + }; + + meta.maintainers = [ lib.maintainers.yarny ]; + +} diff --git a/nixos/modules/programs/usbtop.nix b/nixos/modules/programs/usbtop.nix new file mode 100644 index 00000000000..c1b6ee38caa --- /dev/null +++ b/nixos/modules/programs/usbtop.nix @@ -0,0 +1,21 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.programs.usbtop; +in { + options = { + programs.usbtop.enable = mkEnableOption "usbtop and required kernel module"; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + usbtop + ]; + + boot.kernelModules = [ + "usbmon" + ]; + }; +} diff --git a/nixos/modules/programs/waybar.nix b/nixos/modules/programs/waybar.nix new file mode 100644 index 00000000000..22530e6c7d4 --- /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/x2goserver.nix b/nixos/modules/programs/x2goserver.nix new file mode 100644 index 00000000000..d9e7b6e4a5c --- /dev/null +++ b/nixos/modules/programs/x2goserver.nix @@ -0,0 +1,148 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.x2goserver; + + defaults = { + superenicer = { "enable" = cfg.superenicer.enable; }; + }; + confText = generators.toINI {} (recursiveUpdate defaults cfg.settings); + x2goServerConf = pkgs.writeText "x2goserver.conf" confText; + + x2goAgentOptions = pkgs.writeText "x2goagent.options" '' + X2GO_NXOPTIONS="" + X2GO_NXAGENT_DEFAULT_OPTIONS="${concatStringsSep " " cfg.nxagentDefaultOptions}" + ''; + +in { + options.programs.x2goserver = { + enable = mkEnableOption "x2goserver" // { + description = '' + Enables the x2goserver module. + NOTE: This will create a good amount of symlinks in `/usr/local/bin` + ''; + }; + + superenicer = { + enable = mkEnableOption "superenicer" // { + description = '' + Enables the SupeReNicer code in x2gocleansessions, this will renice + suspended sessions to nice level 19 and renice them to level 0 if the + session becomes marked as running again + ''; + }; + }; + + nxagentDefaultOptions = mkOption { + type = types.listOf types.str; + default = [ "-extension GLX" "-nolisten tcp" ]; + example = [ "-extension GLX" "-nolisten tcp" ]; + description = '' + List of default nx agent options. + ''; + }; + + settings = mkOption { + type = types.attrsOf types.attrs; + default = {}; + description = '' + x2goserver.conf ini configuration as nix attributes. See + `x2goserver.conf(5)` for details + ''; + example = literalExample '' + superenicer = { + "enable" = "yes"; + "idle-nice-level" = 19; + }; + telekinesis = { "enable" = "no"; }; + ''; + }; + }; + + config = mkIf cfg.enable { + + environment.systemPackages = [ pkgs.x2goserver ]; + + users.groups.x2go = {}; + users.users.x2go = { + home = "/var/lib/x2go/db"; + group = "x2go"; + }; + + security.wrappers.x2gosqliteWrapper = { + source = "${pkgs.x2goserver}/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl"; + owner = "x2go"; + group = "x2go"; + setgid = true; + }; + security.wrappers.x2goprintWrapper = { + source = "${pkgs.x2goserver}/bin/x2goprint"; + owner = "x2go"; + group = "x2go"; + setgid = true; + }; + + systemd.tmpfiles.rules = with pkgs; [ + "d /var/lib/x2go/ - x2go x2go - -" + "d /var/lib/x2go/db - x2go x2go - -" + "d /var/lib/x2go/conf - x2go x2go - -" + "d /run/x2go 0755 x2go x2go - -" + ] ++ + # x2goclient sends SSH commands with preset PATH set to + # "/usr/local/bin;/usr/bin;/bin". Since we cannot filter arbitrary ssh + # commands, we have to make the following executables available. + map (f: "L+ /usr/local/bin/${f} - - - - ${x2goserver}/bin/${f}") [ + "x2goagent" "x2gobasepath" "x2gocleansessions" "x2gocmdexitmessage" + "x2godbadmin" "x2gofeature" "x2gofeaturelist" "x2gofm" "x2gogetapps" + "x2gogetservers" "x2golistdesktops" "x2golistmounts" "x2golistsessions" + "x2golistsessions_root" "x2golistshadowsessions" "x2gomountdirs" + "x2gopath" "x2goprint" "x2goresume-desktopsharing" "x2goresume-session" + "x2goruncommand" "x2goserver-run-extensions" "x2gosessionlimit" + "x2gosetkeyboard" "x2goshowblocks" "x2gostartagent" + "x2gosuspend-desktopsharing" "x2gosuspend-session" + "x2goterminate-desktopsharing" "x2goterminate-session" + "x2goumount-session" "x2goversion" + ] ++ [ + "L+ /usr/local/bin/awk - - - - ${gawk}/bin/awk" + "L+ /usr/local/bin/chmod - - - - ${coreutils}/bin/chmod" + "L+ /usr/local/bin/cp - - - - ${coreutils}/bin/cp" + "L+ /usr/local/bin/sed - - - - ${gnused}/bin/sed" + "L+ /usr/local/bin/setsid - - - - ${utillinux}/bin/setsid" + "L+ /usr/local/bin/xrandr - - - - ${xorg.xrandr}/bin/xrandr" + "L+ /usr/local/bin/xmodmap - - - - ${xorg.xmodmap}/bin/xmodmap" + ]; + + systemd.services.x2goserver = { + description = "X2Go Server Daemon"; + wantedBy = [ "multi-user.target" ]; + unitConfig.Documentation = "man:x2goserver.conf(5)"; + serviceConfig = { + Type = "forking"; + ExecStart = "${pkgs.x2goserver}/bin/x2gocleansessions"; + PIDFile = "/run/x2go/x2goserver.pid"; + User = "x2go"; + Group = "x2go"; + RuntimeDirectory = "x2go"; + StateDirectory = "x2go"; + }; + preStart = '' + if [ ! -e /var/lib/x2go/setup_ran ] + then + mkdir -p /var/lib/x2go/conf + cp -r ${pkgs.x2goserver}/etc/x2go/* /var/lib/x2go/conf/ + ln -sf ${x2goServerConf} /var/lib/x2go/conf/x2goserver.conf + ln -sf ${x2goAgentOptions} /var/lib/x2go/conf/x2goagent.options + ${pkgs.x2goserver}/bin/x2godbadmin --createdb + touch /var/lib/x2go/setup_ran + fi + ''; + }; + + # https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=276 + security.sudo.extraConfig = '' + Defaults env_keep+=QT_GRAPHICSSYSTEM + ''; + }; +} diff --git a/nixos/modules/programs/xonsh.nix b/nixos/modules/programs/xonsh.nix index f967ca82ac8..5cd2a49f807 100644 --- a/nixos/modules/programs/xonsh.nix +++ b/nixos/modules/programs/xonsh.nix @@ -26,6 +26,7 @@ in package = mkOption { type = types.package; + default = pkgs.xonsh; example = literalExample "pkgs.xonsh.override { configFile = \"/path/to/xonshrc\"; }"; description = '' xonsh package to use. @@ -46,12 +47,11 @@ in environment.etc."xonshrc".text = cfg.config; - environment.systemPackages = [ pkgs.xonsh ]; + environment.systemPackages = [ cfg.package ]; environment.shells = [ "/run/current-system/sw/bin/xonsh" - "/var/run/current-system/sw/bin/xonsh" - "${pkgs.xonsh}/bin/xonsh" + "${cfg.package}/bin/xonsh" ]; }; diff --git a/nixos/modules/programs/xss-lock.nix b/nixos/modules/programs/xss-lock.nix index c290df01b96..a7ad9b89db4 100644 --- a/nixos/modules/programs/xss-lock.nix +++ b/nixos/modules/programs/xss-lock.nix @@ -8,12 +8,23 @@ in { options.programs.xss-lock = { enable = mkEnableOption "xss-lock"; + lockerCommand = mkOption { default = "${pkgs.i3lock}/bin/i3lock"; example = literalExample ''''${pkgs.i3lock-fancy}/bin/i3lock-fancy''; - type = types.string; + type = types.separatedString " "; description = "Locker to be used with xsslock"; }; + + extraOptions = mkOption { + default = [ ]; + example = [ "--ignore-sleep" ]; + type = types.listOf types.str; + description = '' + Additional command-line arguments to pass to + xss-lock. + ''; + }; }; config = mkIf cfg.enable { @@ -21,7 +32,13 @@ in description = "XSS Lock Daemon"; wantedBy = [ "graphical-session.target" ]; partOf = [ "graphical-session.target" ]; - serviceConfig.ExecStart = "${pkgs.xss-lock}/bin/xss-lock ${cfg.lockerCommand}"; + serviceConfig.ExecStart = with lib; + strings.concatStringsSep " " ([ + "${pkgs.xss-lock}/bin/xss-lock" + ] ++ (map escapeShellArg cfg.extraOptions) ++ [ + "--" + cfg.lockerCommand + ]); }; }; } diff --git a/nixos/modules/programs/yabar.nix b/nixos/modules/programs/yabar.nix index db085211366..5de9331ac52 100644 --- a/nixos/modules/programs/yabar.nix +++ b/nixos/modules/programs/yabar.nix @@ -76,7 +76,7 @@ in font = mkOption { default = "sans bold 9"; example = "Droid Sans, FontAwesome Bold 9"; - type = types.string; + type = types.str; description = '' The font that will be used to draw the status bar. @@ -95,7 +95,7 @@ in extra = mkOption { default = {}; - type = types.attrsOf types.string; + type = types.attrsOf types.str; description = '' An attribute set which contains further attributes of a bar. @@ -107,7 +107,7 @@ in type = types.attrsOf(types.submodule { options.exec = mkOption { example = "YABAR_DATE"; - type = types.string; + type = types.str; description = '' The type of the indicator to be executed. ''; @@ -125,7 +125,7 @@ in options.extra = mkOption { default = {}; - type = types.attrsOf (types.either types.string types.int); + type = types.attrsOf (types.either types.str types.int); description = '' An attribute set which contains further attributes of a indicator. diff --git a/nixos/modules/programs/zmap.nix b/nixos/modules/programs/zmap.nix new file mode 100644 index 00000000000..2e27fce4d7c --- /dev/null +++ b/nixos/modules/programs/zmap.nix @@ -0,0 +1,18 @@ +{ pkgs, config, lib, ... }: + +with lib; + +let + cfg = config.programs.zmap; +in { + options.programs.zmap = { + enable = mkEnableOption "ZMap"; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.zmap ]; + + environment.etc."zmap/blacklist.conf".source = "${pkgs.zmap}/etc/zmap/blacklist.conf"; + environment.etc."zmap/zmap.conf".source = "${pkgs.zmap}/etc/zmap.conf"; + }; +} diff --git a/nixos/modules/programs/zsh/oh-my-zsh.xml b/nixos/modules/programs/zsh/oh-my-zsh.xml index b26980daf06..568c2de6557 100644 --- a/nixos/modules/programs/zsh/oh-my-zsh.xml +++ b/nixos/modules/programs/zsh/oh-my-zsh.xml @@ -87,9 +87,9 @@ 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 + 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. diff --git a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix index 89087a229eb..7184e5d9b9a 100644 --- a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix +++ b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix @@ -33,7 +33,7 @@ in patterns = mkOption { default = {}; - type = types.attrsOf types.string; + type = types.attrsOf types.str; example = literalExample '' { @@ -50,7 +50,7 @@ in }; styles = mkOption { default = {}; - type = types.attrsOf types.string; + type = types.attrsOf types.str; example = literalExample '' { diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix index 164d8db5859..6e9eefd74d1 100644 --- a/nixos/modules/programs/zsh/zsh.nix +++ b/nixos/modules/programs/zsh/zsh.nix @@ -12,7 +12,7 @@ let zshAliases = concatStringsSep "\n" ( mapAttrsFlatten (k: v: "alias ${k}=${escapeShellArg v}") - (filterAttrs (k: v: !isNull v) cfg.shellAliases) + (filterAttrs (k: v: v != null) cfg.shellAliases) ); in @@ -69,9 +69,7 @@ in promptInit = mkOption { default = '' - if [ "$TERM" != dumb ]; then - autoload -U promptinit && promptinit && prompt walters - fi + autoload -U promptinit && promptinit && prompt walters && setopt prompt_sp ''; description = '' Shell script code used to initialise the zsh prompt. @@ -79,6 +77,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 = '' @@ -162,12 +187,10 @@ in . /etc/zinputrc - # history defaults - SAVEHIST=2000 - HISTSIZE=2000 - HISTFILE=$HOME/.zsh_history - - setopt HIST_IGNORE_DUPS SHARE_HISTORY HIST_FCNTL_LOCK + # 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} HELPDIR="${pkgs.zsh}/share/zsh/$ZSH_VERSION/help" @@ -182,10 +205,20 @@ in ${cfg.interactiveShellInit} + ${optionalString (cfg.setOptions != []) "setopt ${concatStringsSep " " cfg.setOptions}"} + ${zshAliases} ${cfg.promptInit} + # Need to disable features to support TRAMP + if [ "$TERM" = dumb ]; then + unsetopt zle prompt_cr prompt_subst + unset RPS1 RPROMPT + PS1='$ ' + PROMPT='$ ' + fi + # Read system-wide modifications. if test -f /etc/zshrc.local; then . /etc/zshrc.local @@ -203,7 +236,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 7bcdfdb5230..9e0ab60ca67 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -4,26 +4,12 @@ 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; @@ -33,18 +19,24 @@ with lib; 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" "flatpak" "extraPortals" ] [ "xdg" "portal" "extraPortals" ]) (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" ]) @@ -54,10 +46,15 @@ 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.") + (mkRemovedOptionModule [ "services" "prometheus2" "alertmanagerURL" ] '' + Due to incompatibility, the alertmanagerURL option has been removed, + please use 'services.prometheus2.alertmanagers' instead. + '') (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ]) (mkRenamedOptionModule [ "services" "vmwareGuest" ] [ "virtualisation" "vmware" "guest" ]) (mkRenamedOptionModule [ "jobs" ] [ "systemd" "services" ]) @@ -70,93 +67,44 @@ with lib; (mkRemovedOptionModule [ "security" "setuidOwners" ] "Use security.wrappers instead") (mkRemovedOptionModule [ "security" "setuidPrograms" ] "Use security.wrappers instead") + (mkRenamedOptionModule [ "security" "virtualization" "flushL1DataCache" ] [ "security" "virtualisation" "flushL1DataCache" ]) + # 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") + # rmilter/rspamd + (mkRemovedOptionModule [ "services" "rmilter" ] "Use services.rspamd.* instead to set up milter service") # Xsession script (mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "xserver" "displayManager" "job" "logToFile" ]) (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" ]) @@ -172,9 +120,13 @@ with lib; # murmur (mkRenamedOptionModule [ "services" "murmur" "welcome" ] [ "services" "murmur" "welcometext" ]) + (mkRemovedOptionModule [ "services" "murmur" "pidfile" ] "Hardcoded to /run/murmur/murmurd.pid now") # parsoid - (mkRemovedOptionModule [ "services" "parsoid" "interwikis" ] [ "services" "parsoid" "wikis" ]) + (mkRemovedOptionModule [ "services" "parsoid" "interwikis" ] "Use services.parsoid.wikis instead") + + # plexpy / tautulli + (mkRenamedOptionModule [ "services" "plexpy" ] [ "services" "tautulli" ]) # piwik was renamed to matomo (mkRenamedOptionModule [ "services" "piwik" "enable" ] [ "services" "matomo" "enable" ]) @@ -195,7 +147,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; } )) @@ -226,6 +178,12 @@ with lib; The starting time can be configured via services.postgresqlBackup.startAt. '') + # phpfpm + (mkRemovedOptionModule [ "services" "phpfpm" "poolConfigs" ] "Use services.phpfpm.pools instead.") + + # zabbixServer + (mkRenamedOptionModule [ "services" "zabbixServer" "dbServer" ] [ "services" "zabbixServer" "database" "host" ]) + # Profile splitting (mkRenamedOptionModule [ "virtualisation" "growPartition" ] [ "boot" "growPartition" ]) @@ -266,6 +224,12 @@ with lib; (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.") + (mkRemovedOptionModule [ "services" "winstone" ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ "services" "mysql" "pidDir" ] "Don't wait for pidfiles, describe dependencies through systemd") + (mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.") + (mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.") + (mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages instead.") + (mkRemovedOptionModule [ "systemd" "coredump" "enable" ] "Enabled by default. Set boot.kernel.sysctl.\"kernel.core_pattern\" = \"core\"; to disable.") # ZSH (mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ]) @@ -290,7 +254,45 @@ with lib; (mkRenamedOptionModule [ "hardware" "ckb" "enable" ] [ "hardware" "ckb-next" "enable" ]) (mkRenamedOptionModule [ "hardware" "ckb" "package" ] [ "hardware" "ckb-next" "package" ]) - ] ++ (flip map [ "blackboxExporter" "collectdExporter" "fritzboxExporter" + # binfmt + (mkRenamedOptionModule [ "boot" "binfmtMiscRegistrations" ] [ "boot" "binfmt" "registrations" ]) + + # ACME + (mkRemovedOptionModule [ "security" "acme" "directory"] "ACME Directory is now hardcoded to /var/lib/acme and its permisisons are managed by systemd. See https://github.com/NixOS/nixpkgs/issues/53852 for more info.") + (mkRemovedOptionModule [ "security" "acme" "preDelay"] "This option has been removed. If you want to make sure that something executes before certificates are provisioned, add a RequiredBy=acme-\${cert}.service to the service you want to execute before the cert renewal") + (mkRemovedOptionModule [ "security" "acme" "activationDelay"] "This option has been removed. If you want to make sure that something executes before certificates are provisioned, add a RequiredBy=acme-\${cert}.service to the service you want to execute before the cert renewal") + + # KSM + (mkRenamedOptionModule [ "hardware" "enableKSM" ] [ "hardware" "ksm" "enable" ]) + + # resolvconf + (mkRenamedOptionModule [ "networking" "dnsSingleRequest" ] [ "networking" "resolvconf" "dnsSingleRequest" ]) + (mkRenamedOptionModule [ "networking" "dnsExtensionMechanism" ] [ "networking" "resolvconf" "dnsExtensionMechanism" ]) + (mkRenamedOptionModule [ "networking" "extraResolvconfConf" ] [ "networking" "resolvconf" "extraConfig" ]) + (mkRenamedOptionModule [ "networking" "resolvconfOptions" ] [ "networking" "resolvconf" "extraOptions" ]) + + # Redshift + (mkChangedOptionModule [ "services" "redshift" "latitude" ] [ "location" "latitude" ] + (config: + let value = getAttrFromPath [ "services" "redshift" "latitude" ] config; + in if value == null then + throw "services.redshift.latitude is set to null, you can remove this" + else builtins.fromJSON value)) + (mkChangedOptionModule [ "services" "redshift" "longitude" ] [ "location" "longitude" ] + (config: + let value = getAttrFromPath [ "services" "redshift" "longitude" ] config; + in if value == null then + throw "services.redshift.longitude is set to null, you can remove this" + else builtins.fromJSON value)) + + # Redis + (mkRemovedOptionModule [ "services" "redis" "user" ] "The redis module now is hardcoded to the redis user.") + (mkRemovedOptionModule [ "services" "redis" "dbpath" ] "The redis module now uses /var/lib/redis as data directory.") + (mkRemovedOptionModule [ "services" "redis" "dbFilename" ] "The redis module now uses /var/lib/redis/dump.rdb as database dump location.") + (mkRemovedOptionModule [ "services" "redis" "appendOnlyFilename" ] "This option was never used.") + (mkRemovedOptionModule [ "services" "redis" "pidFile" ] "This option was removed.") + + ] ++ (forEach [ "blackboxExporter" "collectdExporter" "fritzboxExporter" "jsonExporter" "minioExporter" "nginxExporter" "nodeExporter" "snmpExporter" "unifiExporter" "varnishExporter" ] (opt: mkRemovedOptionModule [ "services" "prometheus" "${opt}" ] '' diff --git a/nixos/modules/security/acme.nix b/nixos/modules/security/acme.nix index 092704c6fc3..feb54affbf8 100644 --- a/nixos/modules/security/acme.nix +++ b/nixos/modules/security/acme.nix @@ -80,25 +80,11 @@ let ''; }; - activationDelay = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - Systemd time span expression to delay copying new certificates to main - state directory. See systemd.time - 7. - ''; - }; - - preDelay = mkOption { - type = types.lines; - default = ""; - description = '' - Commands to run after certificates are re-issued but before they are - activated. Typically the new certificate is published to DNS. - - Executed in the same directory with the new certificate. - ''; + directory = mkOption { + type = types.str; + readOnly = true; + default = "/var/lib/acme/${name}"; + description = "Directory where certificate and other state is stored."; }; extraDomains = mkOption { @@ -126,13 +112,6 @@ in options = { security.acme = { - directory = mkOption { - default = "/var/lib/acme"; - type = types.str; - description = '' - Directory where certs and other state will be stored by default. - ''; - }; validMin = mkOption { type = types.int; @@ -181,7 +160,11 @@ in default = { }; type = with types; attrsOf (submodule certOpts); description = '' - Attribute set of certificates to get signed and renewed. + Attribute set of certificates to get signed and renewed. Creates + acme-''${cert}.{service,timer} systemd units for + each certificate defined here. Other services can add dependencies + to those units if they rely on the certificates being present, + or trigger restarts of the service if certificates get renewed. ''; example = literalExample '' { @@ -209,8 +192,7 @@ in servicesLists = mapAttrsToList certToServices cfg.certs; certToServices = cert: data: let - cpath = lpath + optionalString (data.activationDelay != null) ".staging"; - lpath = "${cfg.directory}/${cert}"; + lpath = "acme/${cert}"; rights = if data.allowKeysForGroup then "750" else "700"; cmdline = [ "-v" "-d" data.domain "--default_root" data.webroot "--valid_min" cfg.validMin ] ++ optionals (data.email != null) [ "--email" data.email ] @@ -224,79 +206,27 @@ in serviceConfig = { Type = "oneshot"; SuccessExitStatus = [ "0" "1" ]; - PermissionsStartOnly = true; User = data.user; Group = data.group; PrivateTmp = true; + StateDirectory = lpath; + StateDirectoryMode = rights; + WorkingDirectory = "/var/lib/${lpath}"; + ExecStart = "${pkgs.simp_le}/bin/simp_le ${escapeShellArgs cmdline}"; + ExecStopPost = + let + script = pkgs.writeScript "acme-post-stop" '' + #!${pkgs.runtimeShell} -e + ${data.postRun} + ''; + in + "+${script}"; }; - path = with pkgs; [ simp_le systemd ]; - preStart = '' - mkdir -p '${cfg.directory}' - chown 'root:root' '${cfg.directory}' - chmod 755 '${cfg.directory}' - if [ ! -d '${cpath}' ]; then - mkdir '${cpath}' - fi - chmod ${rights} '${cpath}' - chown -R '${data.user}:${data.group}' '${cpath}' - mkdir -p '${data.webroot}/.well-known/acme-challenge' - chown -R '${data.user}:${data.group}' '${data.webroot}/.well-known/acme-challenge' - ''; - script = '' - cd '${cpath}' - set +e - simp_le ${escapeShellArgs cmdline} - EXITCODE=$? - set -e - echo "$EXITCODE" > /tmp/lastExitCode - exit "$EXITCODE" - ''; - postStop = '' - cd '${cpath}' - if [ -e /tmp/lastExitCode ] && [ "$(cat /tmp/lastExitCode)" = "0" ]; then - ${if data.activationDelay != null then '' - - ${data.preDelay} - - if [ -d '${lpath}' ]; then - systemd-run --no-block --on-active='${data.activationDelay}' --unit acme-setlive-${cert}.service - else - systemctl --wait start acme-setlive-${cert}.service - fi - '' else data.postRun} - - # noop ensuring that the "if" block is non-empty even if - # activationDelay == null and postRun == "" - true - fi - ''; - - before = [ "acme-certificates.target" ]; - wantedBy = [ "acme-certificates.target" ]; - }; - delayService = { - description = "Set certificate for ${cert} live"; - path = with pkgs; [ rsync ]; - serviceConfig = { - Type = "oneshot"; - }; - script = '' - rsync -a --delete-after '${cpath}/' '${lpath}' - ''; - postStop = data.postRun; }; selfsignedService = { description = "Create preliminary self-signed certificate for ${cert}"; path = [ pkgs.openssl ]; - preStart = '' - if [ ! -d '${cpath}' ] - then - mkdir -p '${cpath}' - chmod ${rights} '${cpath}' - chown '${data.user}:${data.group}' '${cpath}' - fi - ''; script = '' workdir="$(mktemp -d)" @@ -318,50 +248,41 @@ in -out $workdir/server.crt # Copy key to destination - cp $workdir/server.key ${cpath}/key.pem + cp $workdir/server.key /var/lib/${lpath}/key.pem # Create fullchain.pem (same format as "simp_le ... -f fullchain.pem" creates) - cat $workdir/{server.crt,ca.crt} > "${cpath}/fullchain.pem" + cat $workdir/{server.crt,ca.crt} > "/var/lib/${lpath}/fullchain.pem" # Create full.pem for e.g. lighttpd - cat $workdir/{server.key,server.crt,ca.crt} > "${cpath}/full.pem" + cat $workdir/{server.key,server.crt,ca.crt} > "/var/lib/${lpath}/full.pem" # Give key acme permissions - chown '${data.user}:${data.group}' "${cpath}/"{key,fullchain,full}.pem - chmod ${rights} "${cpath}/"{key,fullchain,full}.pem + chown '${data.user}:${data.group}' "/var/lib/${lpath}/"{key,fullchain,full}.pem + chmod ${rights} "/var/lib/${lpath}/"{key,fullchain,full}.pem ''; serviceConfig = { Type = "oneshot"; - PermissionsStartOnly = true; PrivateTmp = true; + StateDirectory = lpath; User = data.user; Group = data.group; }; unitConfig = { # Do not create self-signed key when key already exists - ConditionPathExists = "!${cpath}/key.pem"; + ConditionPathExists = "!/var/lib/${lpath}/key.pem"; }; - before = [ - "acme-selfsigned-certificates.target" - ]; - wantedBy = [ - "acme-selfsigned-certificates.target" - ]; }; in ( [ { name = "acme-${cert}"; value = acmeService; } ] ++ optional cfg.preliminarySelfsigned { name = "acme-selfsigned-${cert}"; value = selfsignedService; } - ++ optional (data.activationDelay != null) { name = "acme-setlive-${cert}"; value = delayService; } ); servicesAttr = listToAttrs services; - injectServiceDep = { - after = [ "acme-selfsigned-certificates.target" ]; - wants = [ "acme-selfsigned-certificates.target" "acme-certificates.target" ]; - }; in - servicesAttr // - (if config.services.nginx.enable then { nginx = injectServiceDep; } else {}) // - (if config.services.lighttpd.enable then { lighttpd = injectServiceDep; } else {}); + servicesAttr; + + systemd.tmpfiles.rules = + flip mapAttrsToList cfg.certs + (cert: data: "d ${data.webroot}/.well-known/acme-challenge - ${data.user} ${data.group}"); systemd.timers = flip mapAttrs' cfg.certs (cert: data: nameValuePair ("acme-${cert}") @@ -377,9 +298,6 @@ in }; }) ); - - systemd.targets."acme-selfsigned-certificates" = mkIf cfg.preliminarySelfsigned {}; - systemd.targets."acme-certificates" = {}; }) ]; diff --git a/nixos/modules/security/acme.xml b/nixos/modules/security/acme.xml index ef71fe53d0c..9d0a1995e0f 100644 --- a/nixos/modules/security/acme.xml +++ b/nixos/modules/security/acme.xml @@ -59,10 +59,8 @@ http { 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 . + /var/lib/acme/foo.example.com. - Refer to for all available configuration options for the security.acme diff --git a/nixos/modules/security/apparmor.nix b/nixos/modules/security/apparmor.nix index d323a158a4d..cfc65b347bc 100644 --- a/nixos/modules/security/apparmor.nix +++ b/nixos/modules/security/apparmor.nix @@ -29,11 +29,18 @@ in config = mkIf cfg.enable { environment.systemPackages = [ pkgs.apparmor-utils ]; + boot.kernelParams = [ "apparmor=1" "security=apparmor" ]; + systemd.services.apparmor = let 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 +50,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/auditd.nix b/nixos/modules/security/auditd.nix index 6abac244dac..9d26cfbcfb1 100644 --- a/nixos/modules/security/auditd.nix +++ b/nixos/modules/security/auditd.nix @@ -6,6 +6,10 @@ with lib; options.security.auditd.enable = mkEnableOption "the Linux Audit daemon"; config = mkIf config.security.auditd.enable { + boot.kernelParams = [ "audit=1" ]; + + environment.systemPackages = [ pkgs.audit ]; + systemd.services.auditd = { description = "Linux Audit daemon"; wantedBy = [ "basic.target" ]; diff --git a/nixos/modules/security/ca.nix b/nixos/modules/security/ca.nix index 67469be18b4..1c4ee421fc5 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/duosec.nix b/nixos/modules/security/duosec.nix index df6108dede7..997328ad9e6 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/misc.nix b/nixos/modules/security/misc.nix index 4506a67487d..16e3bfb1419 100644 --- a/nixos/modules/security/misc.nix +++ b/nixos/modules/security/misc.nix @@ -12,14 +12,18 @@ with lib; type = types.bool; default = true; description = '' - Whether to allow creation of user namespaces. A recurring problem - with user namespaces is the 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 + 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). + + 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. ''; }; @@ -38,35 +42,39 @@ with lib; 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 ) + (see ) versus malicious VM guests (SMT could "bring back" previously flushed data). - - ''; }; - security.virtualization.flushL1DataCache = mkOption { + security.forcePageTableIsolation = mkOption { + type = types.bool; + default = false; + description = '' + Whether to force-enable the Page Table Isolation (PTI) Linux kernel + feature even on CPU models that claim to be safe from Meltdown. + + This hardening feature is most beneficial to systems that run untrusted + workloads that rely on address space isolation for security. + ''; + }; + + security.virtualisation.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 @@ -88,7 +96,7 @@ with lib; enters the guest. May incur significant performance cost.
- + ''; }; }; @@ -118,8 +126,12 @@ with lib; boot.kernelParams = [ "nosmt" ]; }) - (mkIf (config.security.virtualization.flushL1DataCache != null) { - boot.kernelParams = [ "kvm-intel.vmentry_l1d_flush=${config.security.virtualization.flushL1DataCache}" ]; + (mkIf config.security.forcePageTableIsolation { + boot.kernelParams = [ "pti=on" ]; + }) + + (mkIf (config.security.virtualisation.flushL1DataCache != null) { + boot.kernelParams = [ "kvm-intel.vmentry_l1d_flush=${config.security.virtualisation.flushL1DataCache}" ]; }) ]; } diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 206b529ed68..9c7ddc2f4ee 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -48,6 +48,16 @@ let ''; }; + 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. + ''; + }; + googleAuthenticator = { enable = mkOption { default = false; @@ -131,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; @@ -328,6 +350,8 @@ let "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 @@ -340,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"} @@ -350,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"} @@ -383,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 '' @@ -621,6 +650,54 @@ in }; }; + 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.str; + description = "client id"; + }; + + debug = mkOption { + default = false; + type = types.bool; + description = '' + Debug output to stderr. + ''; + }; + }; + security.pam.enableEcryptfs = mkOption { default = false; description = '' diff --git a/nixos/modules/security/rngd.nix b/nixos/modules/security/rngd.nix index a54ef2e6fca..d9d6d9c9f25 100644 --- a/nixos/modules/security/rngd.nix +++ b/nixos/modules/security/rngd.nix @@ -2,20 +2,30 @@ with lib; +let + cfg = config.security.rngd; +in { options = { - security.rngd.enable = mkOption { - type = types.bool; - default = true; - description = '' - Whether to enable the rng daemon, which adds entropy from - hardware sources of randomness to the kernel entropy pool when - available. - ''; + security.rngd = { + enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to enable the rng daemon, which adds entropy from + hardware sources of randomness to the kernel entropy pool when + available. + ''; + }; + debug = mkOption { + type = types.bool; + default = false; + description = "Whether to enable debug output (-d)."; + }; }; }; - config = mkIf config.security.rngd.enable { + config = mkIf cfg.enable { services.udev.extraRules = '' KERNEL=="random", TAG+="systemd" SUBSYSTEM=="cpu", ENV{MODALIAS}=="cpu:type:x86,*feature:*009E*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service" @@ -29,7 +39,15 @@ with lib; description = "Hardware RNG Entropy Gatherer Daemon"; - serviceConfig.ExecStart = "${pkgs.rng-tools}/sbin/rngd -f"; + serviceConfig = { + ExecStart = "${pkgs.rng-tools}/sbin/rngd -f" + + optionalString cfg.debug " -d"; + NoNewPrivileges = true; + PrivateNetwork = true; + PrivateTmp = true; + ProtectSystem = "full"; + ProtectHome = true; + }; }; }; } diff --git a/nixos/modules/security/sudo.nix b/nixos/modules/security/sudo.nix index 69a2a4f8f9a..10ee036be84 100644 --- a/nixos/modules/security/sudo.nix +++ b/nixos/modules/security/sudo.nix @@ -91,7 +91,7 @@ in type = with types; listOf (submodule { options = { users = mkOption { - type = with types; listOf (either string int); + type = with types; listOf (either str int); description = '' The usernames / UIDs this rule should apply for. ''; @@ -99,7 +99,7 @@ in }; groups = mkOption { - type = with types; listOf (either string int); + type = with types; listOf (either str int); description = '' The groups / GIDs this rule should apply for. ''; @@ -107,7 +107,7 @@ in }; host = mkOption { - type = types.string; + type = types.str; default = "ALL"; description = '' For what host this rule should apply. @@ -115,7 +115,7 @@ in }; runAs = mkOption { - type = with types; string; + type = with types; str; default = "ALL:ALL"; description = '' Under which user/group the specified command is allowed to run. @@ -130,11 +130,11 @@ in description = '' The commands for which the rule should apply. ''; - type = with types; listOf (either string (submodule { + type = with types; listOf (either str (submodule { options = { command = mkOption { - type = with types; string; + type = with types; str; description = '' A command being either just a path to a binary to allow any arguments, the full command with arguments pre-set or with "" used as the argument, @@ -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 00000000000..cd4eb81dbe1 --- /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/services/admin/oxidized.nix b/nixos/modules/services/admin/oxidized.nix index 70f7dd9e364..39112c3970d 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; @@ -97,8 +97,8 @@ in preStart = '' mkdir -p ${cfg.dataDir}/.config/oxidized - cp -v ${cfg.routerDB} ${cfg.dataDir}/.config/oxidized/router.db - cp -v ${cfg.configFile} ${cfg.dataDir}/.config/oxidized/config + ln -f -s ${cfg.routerDB} ${cfg.dataDir}/.config/oxidized/router.db + ln -f -s ${cfg.configFile} ${cfg.dataDir}/.config/oxidized/config ''; serviceConfig = { diff --git a/nixos/modules/services/amqp/activemq/default.nix b/nixos/modules/services/amqp/activemq/default.nix index 27bfd91cd2d..7729da27304 100644 --- a/nixos/modules/services/amqp/activemq/default.nix +++ b/nixos/modules/services/amqp/activemq/default.nix @@ -40,7 +40,7 @@ in { ''; }; configurationURI = mkOption { - type = types.string; + type = types.str; default = "xbean:activemq.xml"; description = '' The URI that is passed along to the BrokerFactory to @@ -51,7 +51,7 @@ in { ''; }; baseDir = mkOption { - type = types.string; + type = types.str; default = "/var/activemq"; description = '' The base directory where ActiveMQ stores its persistent data and logs. @@ -81,7 +81,7 @@ in { ''; }; extraJavaOptions = mkOption { - type = types.string; + type = types.separatedString " "; default = ""; example = "-Xmx2G -Xms2G -XX:MaxPermSize=512M"; description = '' diff --git a/nixos/modules/services/amqp/rabbitmq.nix b/nixos/modules/services/amqp/rabbitmq.nix index 7373be2a9b0..302b94de196 100644 --- a/nixos/modules/services/amqp/rabbitmq.nix +++ b/nixos/modules/services/amqp/rabbitmq.nix @@ -179,11 +179,11 @@ in { } // optionalAttrs (cfg.config != "") { RABBITMQ_ADVANCED_CONFIG_FILE = advanced_config_file; }; serviceConfig = { - PermissionsStartOnly = true; # preStart must be run as root 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"; @@ -197,11 +197,8 @@ in { preStart = '' ${optionalString (cfg.cookie != "") '' echo -n ${cfg.cookie} > ${cfg.dataDir}/.erlang.cookie - chown rabbitmq:rabbitmq ${cfg.dataDir}/.erlang.cookie chmod 600 ${cfg.dataDir}/.erlang.cookie ''} - mkdir -p /var/log/rabbitmq - chown rabbitmq:rabbitmq /var/log/rabbitmq ''; }; diff --git a/nixos/modules/services/audio/alsa.nix b/nixos/modules/services/audio/alsa.nix index 376aad66e23..4939adc4ee6 100644 --- a/nixos/modules/services/audio/alsa.nix +++ b/nixos/modules/services/audio/alsa.nix @@ -64,7 +64,7 @@ in }; volumeStep = mkOption { - type = types.string; + type = types.str; default = "1"; example = "1%"; description = '' diff --git a/nixos/modules/services/audio/jack.nix b/nixos/modules/services/audio/jack.nix new file mode 100644 index 00000000000..aa3351f401a --- /dev/null +++ b/nixos/modules/services/audio/jack.nix @@ -0,0 +1,290 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.jack; + + pcmPlugin = cfg.jackd.enable && cfg.alsa.enable; + loopback = cfg.jackd.enable && cfg.loopback.enable; + + enable32BitAlsaPlugins = cfg.alsa.support32Bit && pkgs.stdenv.isx86_64 && pkgs.pkgsi686Linux.alsaLib != null; + + umaskNeeded = versionOlder cfg.jackd.package.version "1.9.12"; + bridgeNeeded = versionAtLeast cfg.jackd.package.version "1.9.12"; +in { + options = { + services.jack = { + jackd = { + enable = mkEnableOption '' + JACK Audio Connection Kit. You need to add yourself to the "jackaudio" group + ''; + + package = mkOption { + # until jack1 promiscuous mode is fixed + internal = true; + type = types.package; + default = pkgs.jack2; + defaultText = "pkgs.jack2"; + example = literalExample "pkgs.jack1"; + description = '' + The JACK package to use. + ''; + }; + + extraOptions = mkOption { + type = types.listOf types.str; + default = [ + "-dalsa" + ]; + example = literalExample '' + [ "-dalsa" "--device" "hw:1" ]; + ''; + description = '' + Specifies startup command line arguments to pass to JACK server. + ''; + }; + + session = mkOption { + type = types.lines; + description = '' + Commands to run after JACK is started. + ''; + }; + + }; + + alsa = { + enable = mkOption { + type = types.bool; + default = true; + description = '' + Route audio to/from generic ALSA-using applications using ALSA JACK PCM plugin. + ''; + }; + + support32Bit = mkOption { + type = types.bool; + default = false; + description = '' + Whether to support sound for 32-bit ALSA applications on 64-bit system. + ''; + }; + }; + + loopback = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Create ALSA loopback device, instead of using PCM plugin. Has broader + application support (things like Steam will work), but may need fine-tuning + for concrete hardware. + ''; + }; + + index = mkOption { + type = types.int; + default = 10; + description = '' + Index of an ALSA loopback device. + ''; + }; + + config = mkOption { + type = types.lines; + description = '' + ALSA config for loopback device. + ''; + }; + + dmixConfig = mkOption { + type = types.lines; + default = ""; + example = '' + period_size 2048 + periods 2 + ''; + description = '' + For music production software that still doesn't support JACK natively you + would like to put buffer/period adjustments here + to decrease dmix device latency. + ''; + }; + + session = mkOption { + type = types.lines; + description = '' + Additional commands to run to setup loopback device. + ''; + }; + }; + + }; + + }; + + config = mkMerge [ + + (mkIf pcmPlugin { + sound.extraConfig = '' + pcm_type.jack { + libs.native = ${pkgs.alsaPlugins}/lib/alsa-lib/libasound_module_pcm_jack.so ; + ${lib.optionalString enable32BitAlsaPlugins + "libs.32Bit = ${pkgs.pkgsi686Linux.alsaPlugins}/lib/alsa-lib/libasound_module_pcm_jack.so ;"} + } + pcm.!default { + @func getenv + vars [ PCM ] + default "plug:jack" + } + ''; + }) + + (mkIf loopback { + boot.kernelModules = [ "snd-aloop" ]; + boot.kernelParams = [ "snd-aloop.index=${toString cfg.loopback.index}" ]; + sound.extraConfig = cfg.loopback.config; + }) + + (mkIf cfg.jackd.enable { + services.jack.jackd.session = '' + ${lib.optionalString bridgeNeeded "${pkgs.a2jmidid}/bin/a2jmidid -e &"} + ''; + # https://alsa.opensrc.org/Jack_and_Loopback_device_as_Alsa-to-Jack_bridge#id06 + services.jack.loopback.config = '' + pcm.loophw00 { + type hw + card ${toString cfg.loopback.index} + device 0 + subdevice 0 + } + pcm.amix { + type dmix + ipc_key 219345 + slave { + pcm loophw00 + ${cfg.loopback.dmixConfig} + } + } + pcm.asoftvol { + type softvol + slave.pcm "amix" + control { name Master } + } + pcm.cloop { + type hw + card ${toString cfg.loopback.index} + device 1 + subdevice 0 + format S32_LE + } + pcm.loophw01 { + type hw + card ${toString cfg.loopback.index} + device 0 + subdevice 1 + } + pcm.ploop { + type hw + card ${toString cfg.loopback.index} + device 1 + subdevice 1 + format S32_LE + } + pcm.aduplex { + type asym + playback.pcm "asoftvol" + capture.pcm "loophw01" + } + pcm.!default { + type plug + slave.pcm aduplex + } + ''; + services.jack.loopback.session = '' + alsa_in -j cloop -dcloop & + alsa_out -j ploop -dploop & + while [ "$(jack_lsp cloop)" == "" ] || [ "$(jack_lsp ploop)" == "" ]; do sleep 1; done + jack_connect cloop:capture_1 system:playback_1 + jack_connect cloop:capture_2 system:playback_2 + jack_connect system:capture_1 ploop:playback_1 + jack_connect system:capture_2 ploop:playback_2 + ''; + + assertions = [ + { + assertion = !(cfg.alsa.enable && cfg.loopback.enable); + message = "For JACK both alsa and loopback options shouldn't be used at the same time."; + } + ]; + + users.users.jackaudio = { + group = "jackaudio"; + extraGroups = [ "audio" ]; + description = "JACK Audio system service user"; + }; + # http://jackaudio.org/faq/linux_rt_config.html + security.pam.loginLimits = [ + { domain = "@jackaudio"; type = "-"; item = "rtprio"; value = "99"; } + { domain = "@jackaudio"; type = "-"; item = "memlock"; value = "unlimited"; } + ]; + users.groups.jackaudio = {}; + + environment = { + systemPackages = [ cfg.jackd.package ]; + etc."alsa/conf.d/50-jack.conf".source = "${pkgs.alsaPlugins}/etc/alsa/conf.d/50-jack.conf"; + variables.JACK_PROMISCUOUS_SERVER = "jackaudio"; + }; + + services.udev.extraRules = '' + ACTION=="add", SUBSYSTEM=="sound", ATTRS{id}!="Loopback", TAG+="systemd", ENV{SYSTEMD_WANTS}="jack.service" + ''; + + systemd.services.jack = { + description = "JACK Audio Connection Kit"; + serviceConfig = { + User = "jackaudio"; + ExecStart = "${cfg.jackd.package}/bin/jackd ${lib.escapeShellArgs cfg.jackd.extraOptions}"; + LimitRTPRIO = 99; + LimitMEMLOCK = "infinity"; + } // optionalAttrs umaskNeeded { + UMask = "007"; + }; + path = [ cfg.jackd.package ]; + environment = { + JACK_PROMISCUOUS_SERVER = "jackaudio"; + JACK_NO_AUDIO_RESERVATION = "1"; + }; + restartIfChanged = false; + }; + systemd.services.jack-session = { + description = "JACK session"; + script = '' + jack_wait -w + ${cfg.jackd.session} + ${lib.optionalString cfg.loopback.enable cfg.loopback.session} + ''; + serviceConfig = { + RemainAfterExit = true; + User = "jackaudio"; + StateDirectory = "jack"; + LimitRTPRIO = 99; + LimitMEMLOCK = "infinity"; + }; + path = [ cfg.jackd.package ]; + environment = { + JACK_PROMISCUOUS_SERVER = "jackaudio"; + HOME = "/var/lib/jack"; + }; + wantedBy = [ "jack.service" ]; + partOf = [ "jack.service" ]; + after = [ "jack.service" ]; + restartIfChanged = false; + }; + }) + + ]; + + meta.maintainers = [ maintainers.gnidorah ]; +} diff --git a/nixos/modules/services/audio/liquidsoap.nix b/nixos/modules/services/audio/liquidsoap.nix index 66f84ef2076..3a047d10a63 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/mopidy.nix b/nixos/modules/services/audio/mopidy.nix index e2f4ec39f94..a534b692f17 100644 --- a/nixos/modules/services/audio/mopidy.nix +++ b/nixos/modules/services/audio/mopidy.nix @@ -70,25 +70,25 @@ in { config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - mopidy mopidy - -" + ]; + systemd.services.mopidy = { wantedBy = [ "multi-user.target" ]; after = [ "network.target" "sound.target" ]; description = "mopidy music player daemon"; - preStart = "mkdir -p ${cfg.dataDir} && chown -R mopidy:mopidy ${cfg.dataDir}"; serviceConfig = { ExecStart = "${mopidyEnv}/bin/mopidy --config ${concatStringsSep ":" ([mopidyConf] ++ cfg.extraConfigFiles)}"; User = "mopidy"; - PermissionsStartOnly = true; }; }; systemd.services.mopidy-scan = { description = "mopidy local files scanner"; - preStart = "mkdir -p ${cfg.dataDir} && chown -R mopidy:mopidy ${cfg.dataDir}"; serviceConfig = { ExecStart = "${mopidyEnv}/bin/mopidy --config ${concatStringsSep ":" ([mopidyConf] ++ cfg.extraConfigFiles)} local scan"; User = "mopidy"; - PermissionsStartOnly = true; Type = "oneshot"; }; }; @@ -98,7 +98,7 @@ in { group = "mopidy"; extraGroups = [ "audio" ]; description = "Mopidy daemon user"; - home = "${cfg.dataDir}"; + home = cfg.dataDir; }; users.groups.mopidy.gid = gid; diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix index 5bfe2b6a22a..0df8f9688d2 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/roon-server.nix b/nixos/modules/services/audio/roon-server.nix new file mode 100644 index 00000000000..d4b0b098b78 --- /dev/null +++ b/nixos/modules/services/audio/roon-server.nix @@ -0,0 +1,73 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + name = "roon-server"; + cfg = config.services.roon-server; +in { + options = { + services.roon-server = { + enable = mkEnableOption "Roon Server"; + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open ports in the firewall for the server. + + UDP: 9003 + TCP: 9100 - 9200 + ''; + }; + user = mkOption { + type = types.str; + default = "roon-server"; + description = '' + User to run the Roon Server as. + ''; + }; + group = mkOption { + type = types.str; + default = "roon-server"; + description = '' + Group to run the Roon Server as. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.roon-server = { + after = [ "network.target" ]; + description = "Roon Server"; + wantedBy = [ "multi-user.target" ]; + + environment.ROON_DATAROOT = "/var/lib/${name}"; + + serviceConfig = { + ExecStart = "${pkgs.roon-server}/opt/start.sh"; + LimitNOFILE = 8192; + User = cfg.user; + Group = cfg.group; + StateDirectory = name; + }; + }; + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPortRanges = [ + { from = 9100; to = 9200; } + ]; + allowedUDPPorts = [ 9003 ]; + }; + + + users.groups."${cfg.group}" = {}; + users.users."${cfg.user}" = + if cfg.user == "roon-server" then { + isSystemUser = true; + description = "Roon Server user"; + groups = [ cfg.group "audio" ]; + } + else {}; + }; +} diff --git a/nixos/modules/services/audio/slimserver.nix b/nixos/modules/services/audio/slimserver.nix index 640403d2c97..8f94a2b4940 100644 --- a/nixos/modules/services/audio/slimserver.nix +++ b/nixos/modules/services/audio/slimserver.nix @@ -42,15 +42,17 @@ in { config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - slimserver slimserver - -" + ]; + systemd.services.slimserver = { after = [ "network.target" ]; description = "Slim Server for Logitech Squeezebox Players"; wantedBy = [ "multi-user.target" ]; - preStart = "mkdir -p ${cfg.dataDir} && chown -R slimserver:slimserver ${cfg.dataDir}"; serviceConfig = { User = "slimserver"; - PermissionsStartOnly = true; # Issue 40589: Disable broken image/video support (audio still works!) ExecStart = "${cfg.package}/slimserver.pl --logdir ${cfg.dataDir}/logs --prefsdir ${cfg.dataDir}/prefs --cachedir ${cfg.dataDir}/cache --noimage --novideo"; }; diff --git a/nixos/modules/services/audio/snapserver.nix b/nixos/modules/services/audio/snapserver.nix new file mode 100644 index 00000000000..b0b9264e816 --- /dev/null +++ b/nixos/modules/services/audio/snapserver.nix @@ -0,0 +1,216 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + 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/spotifyd.nix b/nixos/modules/services/audio/spotifyd.nix new file mode 100644 index 00000000000..e3556b2559c --- /dev/null +++ b/nixos/modules/services/audio/spotifyd.nix @@ -0,0 +1,42 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.spotifyd; + spotifydConf = pkgs.writeText "spotifyd.conf" cfg.config; +in +{ + options = { + services.spotifyd = { + enable = mkEnableOption "spotifyd, a Spotify playing daemon"; + + config = mkOption { + default = ""; + type = types.lines; + description = '' + Configuration for Spotifyd. For syntax and directives, see + https://github.com/Spotifyd/spotifyd#Configuration. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.spotifyd = { + wantedBy = [ "multi-user.target" ]; + after = [ "network-online.target" "sound.target" ]; + description = "spotifyd, a Spotify playing daemon"; + serviceConfig = { + ExecStart = "${pkgs.spotifyd}/bin/spotifyd --no-daemon --cache_path /var/cache/spotifyd --config ${spotifydConf}"; + Restart = "always"; + RestartSec = 12; + DynamicUser = true; + CacheDirectory = "spotifyd"; + SupplementaryGroups = ["audio"]; + }; + }; + }; + + meta.maintainers = [ maintainers.anderslundstedt ]; +} diff --git a/nixos/modules/services/audio/squeezelite.nix b/nixos/modules/services/audio/squeezelite.nix index 57ae3855993..05506f5bcc7 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 d34c1c9d83c..551bd941fe6 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"; @@ -23,7 +23,7 @@ in { mpd = { host = mkOption { - type = types.string; + type = types.str; default = "localhost"; description = "The host where MPD is listening."; example = "localhost"; @@ -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 00000000000..1884f3536a9 --- /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 (oneOf [ str 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 24cad612826..41bda7893a7 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} } diff --git a/nixos/modules/services/backup/crashplan-small-business.nix b/nixos/modules/services/backup/crashplan-small-business.nix deleted file mode 100644 index 790dafefe66..00000000000 --- a/nixos/modules/services/backup/crashplan-small-business.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ config, pkgs, lib, ... }: - -let - cfg = config.services.crashplansb; - crashplansb = pkgs.crashplansb.override { maxRam = cfg.maxRam; }; -in - -with lib; - -{ - options = { - services.crashplansb = { - enable = mkOption { - default = false; - type = types.bool; - description = '' - Starts crashplan for small business background service. - ''; - }; - maxRam = mkOption { - default = "1024m"; - example = "2G"; - type = types.str; - description = '' - Maximum amount of ram that the crashplan engine should use. - ''; - }; - openPorts = mkOption { - description = "Open ports in the firewall for crashplan."; - default = true; - type = types.bool; - }; - ports = mkOption { - # https://support.code42.com/Administrator/6/Planning_and_installing/TCP_and_UDP_ports_used_by_the_Code42_platform - # used ports can also be checked in the desktop app console using the command connection.info - description = "which ports to open."; - default = [ 4242 4243 4244 4247 ]; - type = types.listOf types.int; - }; - }; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [ crashplansb ]; - networking.firewall.allowedTCPPorts = mkIf cfg.openPorts cfg.ports; - - systemd.services.crashplansb = { - description = "CrashPlan Backup Engine"; - - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "local-fs.target" ]; - - preStart = '' - install -d -m 755 ${crashplansb.vardir} - install -d -m 700 ${crashplansb.vardir}/conf - install -d -m 700 ${crashplansb.manifestdir} - install -d -m 700 ${crashplansb.vardir}/cache - install -d -m 700 ${crashplansb.vardir}/backupArchives - install -d -m 777 ${crashplansb.vardir}/log - cp -avn ${crashplansb}/conf.template/* ${crashplansb.vardir}/conf - ''; - - serviceConfig = { - Type = "forking"; - EnvironmentFile = "${crashplansb}/bin/run.conf"; - ExecStart = "${crashplansb}/bin/CrashPlanEngine start"; - ExecStop = "${crashplansb}/bin/CrashPlanEngine stop"; - PIDFile = "${crashplansb.vardir}/CrashPlanEngine.pid"; - WorkingDirectory = crashplansb; - }; - }; - }; -} diff --git a/nixos/modules/services/backup/crashplan.nix b/nixos/modules/services/backup/crashplan.nix deleted file mode 100644 index c540cc6e2ae..00000000000 --- a/nixos/modules/services/backup/crashplan.nix +++ /dev/null @@ -1,67 +0,0 @@ -{ config, pkgs, lib, ... }: - -let - cfg = config.services.crashplan; - crashplan = pkgs.crashplan; -in - -with lib; - -{ - options = { - services.crashplan = { - enable = mkOption { - default = false; - type = types.bool; - description = '' - Starts crashplan background service. - ''; - }; - }; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [ crashplan ]; - - systemd.services.crashplan = { - description = "CrashPlan Backup Engine"; - - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "local-fs.target" ]; - - preStart = '' - ensureDir() { - dir=$1 - mode=$2 - - if ! test -e $dir; then - ${pkgs.coreutils}/bin/mkdir -m $mode -p $dir - elif [ "$(${pkgs.coreutils}/bin/stat -c %a $dir)" != "$mode" ]; then - ${pkgs.coreutils}/bin/chmod $mode $dir - fi - } - - ensureDir ${crashplan.vardir} 755 - ensureDir ${crashplan.vardir}/conf 700 - ensureDir ${crashplan.manifestdir} 700 - ensureDir ${crashplan.vardir}/cache 700 - ensureDir ${crashplan.vardir}/backupArchives 700 - ensureDir ${crashplan.vardir}/log 777 - cp -avn ${crashplan}/conf.template/* ${crashplan.vardir}/conf - for x in app.asar bin install.vars lang lib libc42archive64.so libc52archive.so libjniwrap64.so libjniwrap.so libjtux64.so libjtux.so libleveldb64.so libleveldb.so libmd564.so libmd5.so share skin upgrade; do - rm -f ${crashplan.vardir}/$x; - ln -sf ${crashplan}/$x ${crashplan.vardir}/$x; - done - ''; - - serviceConfig = { - Type = "forking"; - EnvironmentFile = "${crashplan}/bin/run.conf"; - ExecStart = "${crashplan}/bin/CrashPlanEngine start"; - ExecStop = "${crashplan}/bin/CrashPlanEngine stop"; - PIDFile = "${crashplan.vardir}/CrashPlanEngine.pid"; - WorkingDirectory = crashplan; - }; - }; - }; -} diff --git a/nixos/modules/services/backup/duplicati.nix b/nixos/modules/services/backup/duplicati.nix index 80287f30b81..0ff720c5897 100644 --- a/nixos/modules/services/backup/duplicati.nix +++ b/nixos/modules/services/backup/duplicati.nix @@ -19,13 +19,22 @@ in }; interface = mkOption { - default = "lo"; + default = "127.0.0.1"; type = types.str; description = '' Listening interface for the web UI Set it to "any" to listen on all available interfaces ''; }; + + user = mkOption { + default = "duplicati"; + type = types.str; + description = '' + Duplicati runs as it's own user. It will only be able to backup world-readable files. + Run as root with special care. + ''; + }; }; }; @@ -37,14 +46,15 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { - User = "duplicati"; + User = cfg.user; Group = "duplicati"; + StateDirectory = "duplicati"; ExecStart = "${pkgs.duplicati}/bin/duplicati-server --webservice-interface=${cfg.interface} --webservice-port=${toString cfg.port} --server-datafolder=/var/lib/duplicati"; Restart = "on-failure"; }; }; - users.users.duplicati = { + users.users.duplicati = lib.optionalAttrs (cfg.user == "duplicati") { uid = config.ids.uids.duplicati; home = "/var/lib/duplicati"; createHome = true; diff --git a/nixos/modules/services/backup/duplicity.nix b/nixos/modules/services/backup/duplicity.nix new file mode 100644 index 00000000000..a8d56424862 --- /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 f0c273ffebf..ba6e154f6b3 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 11efa47ec5b..13a36ae32ac 100644 --- a/nixos/modules/services/backup/postgresql-backup.nix +++ b/nixos/modules/services/backup/postgresql-backup.nix @@ -14,11 +14,6 @@ let 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 @@ -32,7 +27,6 @@ let serviceConfig = { Type = "oneshot"; - PermissionsStartOnly = "true"; User = "postgres"; }; @@ -87,7 +81,7 @@ in { }; pgdumpOptions = mkOption { - type = types.string; + type = types.separatedString " "; default = "-Cbo"; description = '' Command line options for pg_dump. This options is not used @@ -107,6 +101,11 @@ in { 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"; diff --git a/nixos/modules/services/backup/postgresql-wal-receiver.nix b/nixos/modules/services/backup/postgresql-wal-receiver.nix new file mode 100644 index 00000000000..d9a37037992 --- /dev/null +++ b/nixos/modules/services/backup/postgresql-wal-receiver.nix @@ -0,0 +1,203 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + receiverSubmodule = { + options = { + postgresqlPackage = mkOption { + type = types.package; + example = literalExample "pkgs.postgresql_11"; + description = '' + PostgreSQL package to use. + ''; + }; + + directory = mkOption { + type = types.path; + example = literalExample "/mnt/pg_wal/main/"; + description = '' + Directory to write the output to. + ''; + }; + + statusInterval = mkOption { + type = types.int; + default = 10; + description = '' + Specifies the number of seconds between status packets sent back to the server. + This allows for easier monitoring of the progress from server. + A value of zero disables the periodic status updates completely, + although an update will still be sent when requested by the server, to avoid timeout disconnect. + ''; + }; + + slot = mkOption { + type = types.str; + default = ""; + example = "some_slot_name"; + description = '' + Require pg_receivewal to use an existing replication slot (see + Section 26.2.6 of the PostgreSQL manual). + When this option is used, pg_receivewal will report a flush position to the server, + indicating when each segment has been synchronized to disk so that the server can remove that segment if it is not otherwise needed. + + When the replication client of pg_receivewal is configured on the server as a synchronous standby, + then using a replication slot will report the flush position to the server, but only when a WAL file is closed. + Therefore, that configuration will cause transactions on the primary to wait for a long time and effectively not work satisfactorily. + The option must be specified in addition to make this work correctly. + ''; + }; + + synchronous = mkOption { + type = types.bool; + default = false; + description = '' + Flush the WAL data to disk immediately after it has been received. + Also send a status packet back to the server immediately after flushing, regardless of . + + This option should be specified if the replication client of pg_receivewal is configured on the server as a synchronous standby, + to ensure that timely feedback is sent to the server. + ''; + }; + + compress = mkOption { + type = types.ints.between 0 9; + default = 0; + description = '' + Enables gzip compression of write-ahead logs, and specifies the compression level + (0 through 9, 0 being no compression and 9 being best compression). + The suffix .gz will automatically be added to all filenames. + + This option requires PostgreSQL >= 10. + ''; + }; + + connection = mkOption { + type = types.str; + example = "postgresql://user@somehost"; + description = '' + Specifies parameters used to connect to the server, as a connection string. + See Section 34.1.1 of the PostgreSQL manual for more information. + + Because pg_receivewal doesn't connect to any particular database in the cluster, + database name in the connection string will be ignored. + ''; + }; + + extraArgs = mkOption { + type = with types; listOf str; + default = [ ]; + example = literalExample '' + [ + "--no-sync" + ] + ''; + description = '' + A list of extra arguments to pass to the pg_receivewal command. + ''; + }; + + environment = mkOption { + type = with types; attrsOf str; + default = { }; + example = literalExample '' + { + PGPASSFILE = "/private/passfile"; + PGSSLMODE = "require"; + } + ''; + description = '' + Environment variables passed to the service. + Usable parameters are listed in Section 34.14 of the PostgreSQL manual. + ''; + }; + }; + }; + +in { + options = { + services.postgresqlWalReceiver = { + receivers = mkOption { + type = with types; attrsOf (submodule receiverSubmodule); + default = { }; + example = literalExample '' + { + main = { + postgresqlPackage = pkgs.postgresql_11; + directory = /mnt/pg_wal/main/; + slot = "main_wal_receiver"; + connection = "postgresql://user@somehost"; + }; + } + ''; + description = '' + PostgreSQL WAL receivers. + Stream write-ahead logs from a PostgreSQL server using pg_receivewal (formerly pg_receivexlog). + See the man page for more information. + ''; + }; + }; + }; + + config = let + receivers = config.services.postgresqlWalReceiver.receivers; + in mkIf (receivers != { }) { + users = { + users.postgres = { + uid = config.ids.uids.postgres; + group = "postgres"; + description = "PostgreSQL server user"; + }; + + groups.postgres = { + gid = config.ids.gids.postgres; + }; + }; + + assertions = concatLists (attrsets.mapAttrsToList (name: config: [ + { + assertion = config.compress > 0 -> versionAtLeast config.postgresqlPackage.version "10"; + message = "Invalid configuration for WAL receiver \"${name}\": compress requires PostgreSQL version >= 10."; + } + ]) receivers); + + systemd.tmpfiles.rules = mapAttrsToList (name: config: '' + d ${escapeShellArg config.directory} 0750 postgres postgres - - + '') receivers; + + systemd.services = with attrsets; mapAttrs' (name: config: nameValuePair "postgresql-wal-receiver-${name}" { + description = "PostgreSQL WAL receiver (${name})"; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + User = "postgres"; + Group = "postgres"; + KillSignal = "SIGINT"; + Restart = "always"; + RestartSec = 30; + }; + + inherit (config) environment; + + script = let + receiverCommand = postgresqlPackage: + if (versionAtLeast postgresqlPackage.version "10") + then "${postgresqlPackage}/bin/pg_receivewal" + else "${postgresqlPackage}/bin/pg_receivexlog"; + in '' + ${receiverCommand config.postgresqlPackage} \ + --no-password \ + --directory=${escapeShellArg config.directory} \ + --status-interval=${toString config.statusInterval} \ + --dbname=${escapeShellArg config.connection} \ + ${optionalString (config.compress > 0) "--compress=${toString config.compress}"} \ + ${optionalString (config.slot != "") "--slot=${escapeShellArg config.slot}"} \ + ${optionalString config.synchronous "--synchronous"} \ + ${concatStringsSep " " config.extraArgs} + ''; + }) receivers; + }; + + meta.maintainers = with maintainers; [ pacien ]; +} diff --git a/nixos/modules/services/backup/rsnapshot.nix b/nixos/modules/services/backup/rsnapshot.nix index bb5dcab1dcf..6635a51ec2c 100644 --- a/nixos/modules/services/backup/rsnapshot.nix +++ b/nixos/modules/services/backup/rsnapshot.nix @@ -2,7 +2,7 @@ with lib; -let +let cfg = config.services.rsnapshot; cfgfile = pkgs.writeText "rsnapshot.conf" '' config_version 1.2 @@ -52,7 +52,7 @@ in cronIntervals = mkOption { default = {}; example = { hourly = "0 * * * *"; daily = "50 21 * * *"; }; - type = types.attrsOf types.string; + type = types.attrsOf types.str; description = '' Periodicity at which intervals should be run by cron. Note that the intervals also have to exist in configuration diff --git a/nixos/modules/services/backup/tsm.nix b/nixos/modules/services/backup/tsm.nix new file mode 100644 index 00000000000..3b2bb37491b --- /dev/null +++ b/nixos/modules/services/backup/tsm.nix @@ -0,0 +1,106 @@ +{ config, lib, ... }: + +let + + inherit (lib.attrsets) hasAttr; + inherit (lib.modules) mkDefault mkIf; + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.types) nullOr strMatching; + + options.services.tsmBackup = { + enable = mkEnableOption '' + automatic backups with the + IBM Spectrum Protect (Tivoli Storage Manager, TSM) client. + This also enables + + ''; + command = mkOption { + type = strMatching ".+"; + default = "backup"; + example = "incr"; + description = '' + The actual command passed to the + dsmc executable to start the backup. + ''; + }; + servername = mkOption { + type = strMatching ".+"; + example = "mainTsmServer"; + description = '' + Create a systemd system service + tsm-backup.service that starts + a backup based on the given servername's stanza. + Note that this server's + will default to + /var/lib/tsm-backup/password + (but may be overridden); + also, the service will use + /var/lib/tsm-backup as + HOME when calling + dsmc. + ''; + }; + autoTime = mkOption { + type = nullOr (strMatching ".+"); + default = null; + example = "12:00"; + description = '' + The backup service will be invoked + automatically at the given date/time, + which must be in the format described in + systemd.time5. + The default null + disables automatic backups. + ''; + }; + }; + + cfg = config.services.tsmBackup; + cfgPrg = config.programs.tsmClient; + + assertions = [ + { + assertion = hasAttr cfg.servername cfgPrg.servers; + message = "TSM service servername not found in list of servers"; + } + { + assertion = cfgPrg.servers.${cfg.servername}.genPasswd; + message = "TSM service requires automatic password generation"; + } + ]; + +in + +{ + + inherit options; + + config = mkIf cfg.enable { + inherit assertions; + programs.tsmClient.enable = true; + programs.tsmClient.servers."${cfg.servername}".passwdDir = + mkDefault "/var/lib/tsm-backup/password"; + systemd.services.tsm-backup = { + description = "IBM Spectrum Protect (Tivoli Storage Manager) Backup"; + # DSM_LOG needs a trailing slash to have it treated as a directory. + # `/var/log` would be littered with TSM log files otherwise. + environment.DSM_LOG = "/var/log/tsm-backup/"; + # TSM needs a HOME dir to store certificates. + environment.HOME = "/var/lib/tsm-backup"; + # for exit status description see + # https://www.ibm.com/support/knowledgecenter/en/SSEQVQ_8.1.8/client/c_sched_rtncode.html + serviceConfig.SuccessExitStatus = "4 8"; + # The `-se` option must come after the command. + # The `-optfile` option suppresses a `dsm.opt`-not-found warning. + serviceConfig.ExecStart = + "${cfgPrg.wrappedPackage}/bin/dsmc ${cfg.command} -se='${cfg.servername}' -optfile=/dev/null"; + serviceConfig.LogsDirectory = "tsm-backup"; + serviceConfig.StateDirectory = "tsm-backup"; + serviceConfig.StateDirectoryMode = "0750"; + startAt = mkIf (cfg.autoTime!=null) cfg.autoTime; + }; + }; + + meta.maintainers = [ lib.maintainers.yarny ]; + +} diff --git a/nixos/modules/services/backup/zfs-replication.nix b/nixos/modules/services/backup/zfs-replication.nix new file mode 100644 index 00000000000..785cedb9869 --- /dev/null +++ b/nixos/modules/services/backup/zfs-replication.nix @@ -0,0 +1,90 @@ +{ lib, pkgs, config, ... }: + +with lib; + +let + cfg = config.services.zfs.autoReplication; + recursive = optionalString cfg.recursive " --recursive"; + followDelete = optionalString cfg.followDelete " --follow-delete"; +in { + options = { + services.zfs.autoReplication = { + enable = mkEnableOption "ZFS snapshot replication."; + + followDelete = mkOption { + description = "Remove remote snapshots that don't have a local correspondant."; + default = true; + type = types.bool; + }; + + host = mkOption { + description = "Remote host where snapshots should be sent."; + example = "example.com"; + type = types.str; + }; + + identityFilePath = mkOption { + description = "Path to SSH key used to login to host."; + example = "/home/username/.ssh/id_rsa"; + type = types.path; + }; + + localFilesystem = mkOption { + description = "Local ZFS fileystem from which snapshots should be sent. Defaults to the attribute name."; + example = "pool/file/path"; + type = types.str; + }; + + remoteFilesystem = mkOption { + description = "Remote ZFS filesystem where snapshots should be sent."; + example = "pool/file/path"; + type = types.str; + }; + + recursive = mkOption { + description = "Recursively discover snapshots to send."; + default = true; + type = types.bool; + }; + + username = mkOption { + description = "Username used by SSH to login to remote host."; + example = "username"; + type = types.str; + }; + }; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = [ + pkgs.lz4 + ]; + + systemd.services."zfs-replication" = { + after = [ + "zfs-snapshot-daily.service" + "zfs-snapshot-frequent.service" + "zfs-snapshot-hourly.service" + "zfs-snapshot-monthly.service" + "zfs-snapshot-weekly.service" + ]; + description = "ZFS Snapshot Replication"; + documentation = [ + "https://github.com/alunduil/zfs-replicate" + ]; + restartIfChanged = false; + serviceConfig.ExecStart = "${pkgs.zfs-replicate}/bin/zfs-replicate${recursive} -l ${escapeShellArg cfg.username} -i ${escapeShellArg cfg.identityFilePath}${followDelete} ${escapeShellArg cfg.host} ${escapeShellArg cfg.remoteFilesystem} ${escapeShellArg cfg.localFilesystem}"; + wantedBy = [ + "zfs-snapshot-daily.service" + "zfs-snapshot-frequent.service" + "zfs-snapshot-hourly.service" + "zfs-snapshot-monthly.service" + "zfs-snapshot-weekly.service" + ]; + }; + }; + + meta = { + maintainers = with lib.maintainers; [ alunduil ]; + }; +} diff --git a/nixos/modules/services/backup/znapzend.nix b/nixos/modules/services/backup/znapzend.nix index fc8a424190f..9c7f8465572 100644 --- a/nixos/modules/services/backup/znapzend.nix +++ b/nixos/modules/services/backup/znapzend.nix @@ -7,28 +7,23 @@ let planDescription = '' The znapzend backup plan to use for the source. - - + The plan specifies how often to backup and for how long to keep the backups. It consists of a series of retention periodes to interval associations: - - + retA=>intA,retB=>intB,... - - - Both intervals and retention periods are expressed in standard units - of time or multiples of them. You can use both the full name or a - shortcut according to the following listing: - - + + Both intervals and retention periods are expressed in standard units + of time or multiples of them. You can use both the full name or a + shortcut according to the following listing: + second|sec|s, minute|min, hour|h, day|d, week|w, month|mon|m, year|y - - + See znapzendzetup1 for more info. ''; planExample = "1h=>10min,1d=>1h,1w=>1d,1m=>1w,1y=>1m"; @@ -139,12 +134,10 @@ let type = nullOr ints.u16; description = '' Port to use for mbuffer. - - + If this is null, it will run mbuffer through ssh. - - + If this is not null, it will run mbuffer directly through TCP, which is not encrypted but faster. In that case the given port needs to be open on the destination host. @@ -255,7 +248,7 @@ let cfg = config.services.znapzend; onOff = b: if b then "on" else "off"; - nullOff = b: if isNull b then "off" else toString b; + nullOff = b: if b == null then "off" else toString b; stripSlashes = replaceStrings [ "/" ] [ "." ]; attrsToFile = config: concatStringsSep "\n" (builtins.attrValues ( @@ -263,7 +256,7 @@ let mkDestAttrs = dst: with dst; mapAttrs' (n: v: nameValuePair "dst_${label}${n}" v) ({ - "" = optionalString (! isNull host) "${host}:" + dataset; + "" = optionalString (host != null) "${host}:" + dataset; _plan = plan; } // optionalAttrs (presend != null) { _precmd = presend; @@ -382,8 +375,10 @@ in | xargs -I{} ${pkgs.znapzend}/bin/znapzendzetup delete "{}" '' + concatStringsSep "\n" (mapAttrsToList (dataset: config: '' echo Importing znapzend zetup ${config} for dataset ${dataset} - ${pkgs.znapzend}/bin/znapzendzetup import --write ${dataset} ${config} - '') files); + ${pkgs.znapzend}/bin/znapzendzetup import --write ${dataset} ${config} & + '') files) + '' + wait + ''; serviceConfig = { ExecStart = let 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 00000000000..ad7d17c9c28 --- /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 98% rename from nixos/modules/services/cluster/kubernetes/dashboard.nix rename to nixos/modules/services/cluster/kubernetes/addons/dashboard.nix index 454e7d35bc0..2295694ffc7 100644 --- a/nixos/modules/services/cluster/kubernetes/dashboard.nix +++ b/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix @@ -169,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"; @@ -210,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"; @@ -323,6 +329,6 @@ in { inherit subjects; }; }) - )); + ))]; }; } diff --git a/nixos/modules/services/cluster/kubernetes/dns.nix b/nixos/modules/services/cluster/kubernetes/addons/dns.nix similarity index 90% rename from nixos/modules/services/cluster/kubernetes/dns.nix rename to nixos/modules/services/cluster/kubernetes/addons/dns.nix index ea3e0706163..ee0ac632ecf 100644 --- a/nixos/modules/services/cluster/kubernetes/dns.nix +++ b/nixos/modules/services/cluster/kubernetes/addons/dns.nix @@ -3,7 +3,7 @@ with lib; let - version = "1.3.1"; + version = "1.5.0"; cfg = config.services.kubernetes.addons.dns; ports = { dns = 10053; @@ -38,14 +38,26 @@ in { 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"; + imageDigest = "sha256:e83beb5e43f8513fa735e77ffc5859640baea30a882a11cc75c4c3244a737d3c"; finalImageTag = version; - sha256 = "0vbylgyxv2jm2mnzk6f28jbsj305zsxmx3jr6ngjq461czcl5fi5"; + sha256 = "15sbmhrxjxidj0j0cccn1qxpg6al175w43m6ngspl0mc132zqc9q"; }; }; }; @@ -54,21 +66,7 @@ in { services.kubernetes.kubelet.seedDockerImages = singleton (pkgs.dockerTools.pullImage cfg.coredns); - 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"; - }; - }; - + services.kubernetes.addonManager.bootstrapAddons = { coredns-cr = { apiVersion = "rbac.authorization.k8s.io/v1beta1"; kind = "ClusterRole"; @@ -123,13 +121,29 @@ in { } ]; }; + }; + + 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" = "Reconcile"; + "addonmanager.kubernetes.io/mode" = cfg.reconcileMode; "k8s-app" = "kube-dns"; "kubernetes.io/cluster-service" = "true"; }; @@ -146,7 +160,7 @@ in { fallthrough in-addr.arpa ip6.arpa } prometheus :${toString ports.metrics} - proxy . /etc/resolv.conf + forward . /etc/resolv.conf cache 30 loop reload @@ -160,7 +174,7 @@ in { kind = "Deployment"; metadata = { labels = { - "addonmanager.kubernetes.io/mode" = "Reconcile"; + "addonmanager.kubernetes.io/mode" = cfg.reconcileMode; "k8s-app" = "kube-dns"; "kubernetes.io/cluster-service" = "true"; "kubernetes.io/name" = "CoreDNS"; diff --git a/nixos/modules/services/cluster/kubernetes/apiserver.nix b/nixos/modules/services/cluster/kubernetes/apiserver.nix new file mode 100644 index 00000000000..f293dd79f42 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/apiserver.nix @@ -0,0 +1,499 @@ + { 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; + }; + + preferredAddressTypes = mkOption { + description = "List of the preferred NodeAddressTypes to use for kubelet connections."; + type = nullOr str; + default = null; + }; + + 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.preferredAddressTypes != null) + "--kubelet-preferred-address-types=${cfg.preferredAddressTypes}"} \ + ${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 00000000000..b94e8bd86d4 --- /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 6f3c45b29bf..143b41f57f6 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; }; @@ -94,73 +72,6 @@ let default = null; }; }; - - kubeConfigDefaults = { - server = mkDefault cfg.kubeconfig.server; - caFile = mkDefault cfg.kubeconfig.caFile; - 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 +81,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 +96,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; - }; - - caFile = mkOption { - description = "Etcd ca file."; - default = cfg.caFile; - type = types.nullOr types.path; - }; - }; - kubeconfig = mkKubeConfigOptions "Default kubeconfig"; + 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; + }; + caFile = mkOption { description = "Default kubernetes certificate authority"; type = types.nullOr types.path; @@ -230,549 +119,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; - }; - - 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 { @@ -787,304 +149,75 @@ in { 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} \ - ${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"} \ - ${if (cfg.clusterCidr!=null) - then "--cluster-cidr=${cfg.clusterCidr} --allocate-node-cidrs=true" - else "--allocate-node-cidrs=false"} \ - ${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"; - }; - 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 (any (el: el == "master") cfg.roles) { - virtualisation.docker.enable = mkDefault true; - services.kubernetes.kubelet.enable = mkDefault true; - services.kubernetes.kubelet.allowPrivileged = mkDefault true; - services.kubernetes.kubelet.applyManifests = mkDefault true; + (mkIf (elem "master" cfg.roles) { 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; + 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"; + }; + }; + }; }) - # if this node is only a master make it unschedulable by default + (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 == "node") cfg.roles) { + (mkIf (elem "node" cfg.roles) { + services.kubernetes.kubelet.enable = mkDefault true; + services.kubernetes.proxy.enable = 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 cfg.kubelet.enable { virtualisation.docker = { enable = mkDefault true; @@ -1094,26 +227,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 + ''; }; }; }) @@ -1123,20 +248,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; @@ -1148,53 +296,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.apiserverAddress = mkDefault ("https://${if cfg.apiserver.advertiseAddress != null + then cfg.apiserver.advertiseAddress + else "${cfg.masterAddress}:${toString cfg.apiserver.securePort}"}"); - 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"; - - networking.firewall.allowedUDPPorts = [ - 8285 # flannel udp - 8472 # flannel vxlan - ]; + services.kubernetes.kubeconfig.server = mkDefault cfg.apiserverAddress; }) ]; } diff --git a/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixos/modules/services/cluster/kubernetes/flannel.nix new file mode 100644 index 00000000000..d9437427d6d --- /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 00000000000..4c5df96bcc6 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/kubelet.nix @@ -0,0 +1,419 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.kubelet; + + cniConfig = + if cfg.cni.config != [] && cfg.cni.configDir != null then + throw "Verbatim CNI-config and CNI configDir cannot both be set." + else if cfg.cni.configDir != null 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; + + 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 (domain != null) ".${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 00000000000..47384ae50a0 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/pki.nix @@ -0,0 +1,406 @@ +{ 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"; + + 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 (cfg.etcClusterAdminKubeconfig != null) + (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 00000000000..23f4d97b703 --- /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 00000000000..a0e48454295 --- /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/boinc/client.nix b/nixos/modules/services/computing/boinc/client.nix index 8abe3c5b8c9..7022751b3f0 100644 --- a/nixos/modules/services/computing/boinc/client.nix +++ b/nixos/modules/services/computing/boinc/client.nix @@ -105,19 +105,18 @@ in isSystemUser = true; }; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - boinc - - -" + ]; + systemd.services.boinc = { description = "BOINC Client"; after = ["network.target" "local-fs.target"]; wantedBy = ["multi-user.target"]; - preStart = '' - mkdir -p ${cfg.dataDir} - chown boinc ${cfg.dataDir} - ''; script = '' ${fhsEnvExecutable} --dir ${cfg.dataDir} --redirectio ${allowRemoteGuiRpcFlag} ''; serviceConfig = { - PermissionsStartOnly = true; # preStart must be run as root User = "boinc"; Nice = 10; }; diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix index 0f07e6133bb..9c615fbe885 100644 --- a/nixos/modules/services/continuous-integration/buildbot/master.nix +++ b/nixos/modules/services/continuous-integration/buildbot/master.nix @@ -199,10 +199,10 @@ in { package = mkOption { type = types.package; - default = pkgs.pythonPackages.buildbot-full; - defaultText = "pkgs.pythonPackages.buildbot-full"; + default = pkgs.python3Packages.buildbot-full; + defaultText = "pkgs.python3Packages.buildbot-full"; description = "Package to use for buildbot."; - example = literalExample "pkgs.python3Packages.buildbot-full"; + example = literalExample "pkgs.python3Packages.buildbot"; }; packages = mkOption { diff --git a/nixos/modules/services/continuous-integration/buildbot/worker.nix b/nixos/modules/services/continuous-integration/buildbot/worker.nix index 4130ec918a7..49e04ca3622 100644 --- a/nixos/modules/services/continuous-integration/buildbot/worker.nix +++ b/nixos/modules/services/continuous-integration/buildbot/worker.nix @@ -118,10 +118,10 @@ in { package = mkOption { type = types.package; - default = pkgs.pythonPackages.buildbot-worker; - defaultText = "pkgs.pythonPackages.buildbot-worker"; + default = pkgs.python3Packages.buildbot-worker; + defaultText = "pkgs.python3Packages.buildbot-worker"; description = "Package to use for buildbot worker."; - example = literalExample "pkgs.python3Packages.buildbot-worker"; + example = literalExample "pkgs.python2Packages.buildbot-worker"; }; packages = mkOption { diff --git a/nixos/modules/services/continuous-integration/buildkite-agent.nix b/nixos/modules/services/continuous-integration/buildkite-agent.nix index 9daf391c73c..12cc3d2b1cc 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))} ''; @@ -236,7 +236,7 @@ in }; assertions = [ - { assertion = cfg.hooksPath == hooksDir || all isNull (attrValues cfg.hooks); + { assertion = cfg.hooksPath == hooksDir || all (v: v == null) (attrValues cfg.hooks); message = '' Options `services.buildkite-agent.hooksPath' and `services.buildkite-agent.hooks.' are mutually exclusive. diff --git a/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner.nix index a0aff1b8b5b..3d307b1abcf 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)} \ @@ -110,7 +111,10 @@ in config = mkIf cfg.enable { systemd.services.gitlab-runner = { path = cfg.packages; - environment = config.networking.proxy.envVars; + environment = config.networking.proxy.envVars // { + # Gitlab runner will not start if the HOME variable is not set + HOME = cfg.workDir; + }; description = "Gitlab Runner"; after = [ "network.target" ] ++ optional hasDocker "docker.service"; diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix index 1eca45fbd57..ec6a36413fe 100644 --- a/nixos/modules/services/continuous-integration/jenkins/default.nix +++ b/nixos/modules/services/continuous-integration/jenkins/default.nix @@ -189,7 +189,7 @@ in { preStart = let replacePlugins = - if isNull cfg.plugins + if cfg.plugins == null then "" else let pluginCmds = lib.attrsets.mapAttrsToList diff --git a/nixos/modules/services/databases/cassandra.nix b/nixos/modules/services/databases/cassandra.nix index d741ee48c48..9c8b6c50af1 100644 --- a/nixos/modules/services/databases/cassandra.nix +++ b/nixos/modules/services/databases/cassandra.nix @@ -8,25 +8,28 @@ let cassandraConfig = flip recursiveUpdate cfg.extraConfig ({ commitlog_sync = "batch"; commitlog_sync_batch_window_in_ms = 2; + start_native_transport = cfg.allowClients; + cluster_name = cfg.clusterName; partitioner = "org.apache.cassandra.dht.Murmur3Partitioner"; endpoint_snitch = "SimpleSnitch"; - seed_provider = - [{ class_name = "org.apache.cassandra.locator.SimpleSeedProvider"; - parameters = [ { seeds = "127.0.0.1"; } ]; - }]; data_file_directories = [ "${cfg.homeDir}/data" ]; commitlog_directory = "${cfg.homeDir}/commitlog"; saved_caches_directory = "${cfg.homeDir}/saved_caches"; - } // (if builtins.compareVersions cfg.package.version "3" >= 0 - then { hints_directory = "${cfg.homeDir}/hints"; } - else {}) + } // (lib.optionalAttrs (cfg.seedAddresses != []) { + seed_provider = [{ + class_name = "org.apache.cassandra.locator.SimpleSeedProvider"; + parameters = [ { seeds = concatStringsSep "," cfg.seedAddresses; } ]; + }]; + }) // (lib.optionalAttrs (lib.versionAtLeast cfg.package.version "3") { + hints_directory = "${cfg.homeDir}/hints"; + }) ); cassandraConfigWithAddresses = cassandraConfig // - ( if isNull cfg.listenAddress + ( if cfg.listenAddress == null then { listen_interface = cfg.listenInterface; } else { listen_address = cfg.listenAddress; } ) // ( - if isNull cfg.rpcAddress + if cfg.rpcAddress == null then { rpc_interface = cfg.rpcInterface; } else { rpc_address = cfg.rpcAddress; } ); @@ -39,15 +42,42 @@ let mkdir -p "$out" echo "$cassandraYaml" > "$out/cassandra.yaml" - ln -s "$cassandraEnvPkg" "$out/cassandra-env.sh" ln -s "$cassandraLogbackConfig" "$out/logback.xml" + + cp "$cassandraEnvPkg" "$out/cassandra-env.sh" + + # Delete default JMX Port, otherwise we can't set it using env variable + sed -i '/JMX_PORT="7199"/d' "$out/cassandra-env.sh" + + # Delete default password file + sed -i '/-Dcom.sun.management.jmxremote.password.file=\/etc\/cassandra\/jmxremote.password/d' "$out/cassandra-env.sh" ''; }; + defaultJmxRolesFile = builtins.foldl' + (left: right: left + right) "" + (map (role: "${role.username} ${role.password}") cfg.jmxRoles); + fullJvmOptions = cfg.jvmOpts + ++ lib.optionals (cfg.jmxRoles != []) [ + "-Dcom.sun.management.jmxremote.authenticate=true" + "-Dcom.sun.management.jmxremote.password.file=${cfg.jmxRolesFile}" + ] + ++ lib.optionals cfg.remoteJmx [ + "-Djava.rmi.server.hostname=${cfg.rpcAddress}" + ]; in { options.services.cassandra = { enable = mkEnableOption '' Apache Cassandra – Scalable and highly available database. ''; + clusterName = mkOption { + type = types.str; + default = "Test Cluster"; + description = '' + The name of the cluster. + This setting prevents nodes in one logical cluster from joining + another. All nodes in a cluster must have the same value. + ''; + }; user = mkOption { type = types.str; default = defaultUser; @@ -162,6 +192,28 @@ in { XML logback configuration for cassandra ''; }; + seedAddresses = mkOption { + type = types.listOf types.str; + default = [ "127.0.0.1" ]; + description = '' + The addresses of hosts designated as contact points in the cluster. A + joining node contacts one of the nodes in the seeds list to learn the + topology of the ring. + Set to 127.0.0.1 for a single node cluster. + ''; + }; + allowClients = mkOption { + type = types.bool; + default = true; + description = '' + Enables or disables the native transport server (CQL binary protocol). + This server uses the same address as the rpcAddress, + but the port it uses is not rpc_port but + native_transport_port. See the official Cassandra + docs for more information on these variables and set them using + extraConfig. + ''; + }; extraConfig = mkOption { type = types.attrs; default = {}; @@ -178,11 +230,11 @@ in { example = literalExample "null"; description = '' Set the interval how often full repairs are run, i.e. - `nodetool repair --full` is executed. See + nodetool repair --full is executed. See https://cassandra.apache.org/doc/latest/operating/repair.html for more information. - Set to `null` to disable full repairs. + Set to null to disable full repairs. ''; }; fullRepairOptions = mkOption { @@ -199,41 +251,150 @@ in { example = literalExample "null"; description = '' Set the interval how often incremental repairs are run, i.e. - `nodetool repair` is executed. See + nodetool repair is executed. See https://cassandra.apache.org/doc/latest/operating/repair.html for more information. - Set to `null` to disable incremental repairs. + Set to null to disable incremental repairs. ''; }; incrementalRepairOptions = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = []; example = [ "--partitioner-range" ]; description = '' Options passed through to the incremental repair command. ''; }; + maxHeapSize = mkOption { + type = types.nullOr types.str; + default = null; + example = "4G"; + description = '' + Must be left blank or set together with heapNewSize. + If left blank a sensible value for the available amount of RAM and CPU + cores is calculated. + + Override to set the amount of memory to allocate to the JVM at + start-up. For production use you may wish to adjust this for your + environment. MAX_HEAP_SIZE is the total amount of memory dedicated + to the Java heap. HEAP_NEWSIZE refers to the size of the young + generation. + + The main trade-off for the young generation is that the larger it + is, the longer GC pause times will be. The shorter it is, the more + expensive GC will be (usually). + ''; + }; + heapNewSize = mkOption { + type = types.nullOr types.str; + default = null; + example = "800M"; + description = '' + Must be left blank or set together with heapNewSize. + If left blank a sensible value for the available amount of RAM and CPU + cores is calculated. + + Override to set the amount of memory to allocate to the JVM at + start-up. For production use you may wish to adjust this for your + environment. HEAP_NEWSIZE refers to the size of the young + generation. + + The main trade-off for the young generation is that the larger it + is, the longer GC pause times will be. The shorter it is, the more + expensive GC will be (usually). + + The example HEAP_NEWSIZE assumes a modern 8-core+ machine for decent pause + times. If in doubt, and if you do not particularly want to tweak, go with + 100 MB per physical CPU core. + ''; + }; + mallocArenaMax = mkOption { + type = types.nullOr types.int; + default = null; + example = 4; + description = '' + Set this to control the amount of arenas per-thread in glibc. + ''; + }; + remoteJmx = mkOption { + type = types.bool; + default = false; + description = '' + Cassandra ships with JMX accessible *only* from localhost. + To enable remote JMX connections set to true. + + Be sure to also enable authentication and/or TLS. + See: https://wiki.apache.org/cassandra/JmxSecurity + ''; + }; + jmxPort = mkOption { + type = types.int; + default = 7199; + description = '' + Specifies the default port over which Cassandra will be available for + JMX connections. + For security reasons, you should not expose this port to the internet. + Firewall it if needed. + ''; + }; + jmxRoles = mkOption { + default = []; + description = '' + Roles that are allowed to access the JMX (e.g. nodetool) + BEWARE: The passwords will be stored world readable in the nix-store. + It's recommended to use your own protected file using + jmxRolesFile + + Doesn't work in versions older than 3.11 because they don't like that + it's world readable. + ''; + type = types.listOf (types.submodule { + options = { + username = mkOption { + type = types.str; + description = "Username for JMX"; + }; + password = mkOption { + type = types.str; + description = "Password for JMX"; + }; + }; + }); + }; + jmxRolesFile = mkOption { + type = types.nullOr types.path; + default = if (lib.versionAtLeast cfg.package.version "3.11") + then pkgs.writeText "jmx-roles-file" defaultJmxRolesFile + else null; + example = "/var/lib/cassandra/jmx.password"; + description = '' + Specify your own jmx roles file. + + Make sure the permissions forbid "others" from reading the file if + you're using Cassandra below version 3.11. + ''; + }; }; config = mkIf cfg.enable { assertions = - [ { assertion = - ((isNull cfg.listenAddress) - || (isNull cfg.listenInterface) - ) && !((isNull cfg.listenAddress) - && (isNull cfg.listenInterface) - ); + [ { assertion = (cfg.listenAddress == null) != (cfg.listenInterface == null); message = "You have to set either listenAddress or listenInterface"; } - { assertion = - ((isNull cfg.rpcAddress) - || (isNull cfg.rpcInterface) - ) && !((isNull cfg.rpcAddress) - && (isNull cfg.rpcInterface) - ); + { assertion = (cfg.rpcAddress == null) != (cfg.rpcInterface == null); message = "You have to set either rpcAddress or rpcInterface"; } + { assertion = (cfg.maxHeapSize == null) == (cfg.heapNewSize == null); + message = "If you set either of maxHeapSize or heapNewSize you have to set both"; + } + { assertion = cfg.remoteJmx -> cfg.jmxRolesFile != null; + message = '' + If you want JMX available remotely you need to set a password using + jmxRoles or jmxRolesFile if + using Cassandra older than v3.11. + ''; + } ]; users = mkIf (cfg.user == defaultUser) { extraUsers."${defaultUser}" = @@ -251,7 +412,12 @@ in { after = [ "network.target" ]; environment = { CASSANDRA_CONF = "${cassandraEtc}"; - JVM_OPTS = builtins.concatStringsSep " " cfg.jvmOpts; + JVM_OPTS = builtins.concatStringsSep " " fullJvmOptions; + MAX_HEAP_SIZE = toString cfg.maxHeapSize; + HEAP_NEWSIZE = toString cfg.heapNewSize; + MALLOC_ARENA_MAX = toString cfg.mallocArenaMax; + LOCAL_JMX = if cfg.remoteJmx then "no" else "yes"; + JMX_PORT = toString cfg.jmxPort; }; wantedBy = [ "multi-user.target" ]; serviceConfig = @@ -276,7 +442,7 @@ in { }; }; systemd.timers.cassandra-full-repair = - mkIf (!isNull cfg.fullRepairInterval) { + mkIf (cfg.fullRepairInterval != null) { description = "Schedule full repairs on Cassandra"; wantedBy = [ "timers.target" ]; timerConfig = @@ -300,7 +466,7 @@ in { }; }; systemd.timers.cassandra-incremental-repair = - mkIf (!isNull cfg.incrementalRepairInterval) { + mkIf (cfg.incrementalRepairInterval != null) { description = "Schedule incremental repairs on Cassandra"; wantedBy = [ "timers.target" ]; timerConfig = diff --git a/nixos/modules/services/databases/clickhouse.nix b/nixos/modules/services/databases/clickhouse.nix index 21e0cee3415..dbabcae43ee 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"; }; }; diff --git a/nixos/modules/services/databases/cockroachdb.nix b/nixos/modules/services/databases/cockroachdb.nix index e977751b21e..268fdcc819f 100644 --- a/nixos/modules/services/databases/cockroachdb.nix +++ b/nixos/modules/services/databases/cockroachdb.nix @@ -7,7 +7,7 @@ let crdb = cfg.package; escape = builtins.replaceStrings ["%"] ["%%"]; - ifNotNull = v: s: optionalString (!isNull v) s; + ifNotNull = v: s: optionalString (v != null) s; startupCommand = lib.concatStringsSep " " [ # Basic startup @@ -164,7 +164,7 @@ in config = mkIf config.services.cockroachdb.enable { assertions = [ - { assertion = !cfg.insecure -> !(isNull cfg.certsDir); + { assertion = !cfg.insecure -> cfg.certsDir != null; message = "CockroachDB must have a set of SSL certificates (.certsDir), or run in Insecure Mode (.insecure = true)"; } ]; diff --git a/nixos/modules/services/databases/couchdb.nix b/nixos/modules/services/databases/couchdb.nix index ca89b119820..53224db1d89 100644 --- a/nixos/modules/services/databases/couchdb.nix +++ b/nixos/modules/services/databases/couchdb.nix @@ -56,7 +56,7 @@ in { user = mkOption { - type = types.string; + type = types.str; default = "couchdb"; description = '' User account under which couchdb runs. @@ -64,7 +64,7 @@ in { }; group = mkOption { - type = types.string; + type = types.str; default = "couchdb"; description = '' Group account under which couchdb runs. @@ -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 @@ -106,7 +106,7 @@ in { }; bindAddress = mkOption { - type = types.string; + type = types.str; default = "127.0.0.1"; description = '' Defines the IP address by which CouchDB will be accessible. @@ -138,7 +138,7 @@ in { }; configFile = mkOption { - type = types.string; + type = types.path; description = '' Configuration file for persisting runtime changes. File needs to be readable and writable from couchdb user/group. @@ -158,28 +158,20 @@ 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} - -" + "f '${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}; + preStart = '' 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 { # we are actually specifying 4 configuration files: @@ -191,7 +183,6 @@ in { }; serviceConfig = { - PermissionsStartOnly = true; User = cfg.user; Group = cfg.group; ExecStart = executable; diff --git a/nixos/modules/services/databases/firebird.nix b/nixos/modules/services/databases/firebird.nix index cc81b440450..042c9841df5 100644 --- a/nixos/modules/services/databases/firebird.nix +++ b/nixos/modules/services/databases/firebird.nix @@ -95,6 +95,11 @@ in environment.systemPackages = [cfg.package]; + systemd.tmpfiles.rules = [ + "d '${dataDir}' 0700 ${cfg.user} - - -" + "d '${systemDir}' 0700 ${cfg.user} - - -" + ]; + systemd.services.firebird = { description = "Firebird Super-Server"; @@ -104,21 +109,16 @@ in # is a better way preStart = '' - mkdir -m 0700 -p \ - "${dataDir}" \ - "${systemDir}" \ - /var/log/firebird - if ! test -e "${systemDir}/security2.fdb"; then cp ${firebird}/security2.fdb "${systemDir}" fi - chown -R ${cfg.user} "${dataDir}" "${systemDir}" /var/log/firebird chmod -R 700 "${dataDir}" "${systemDir}" /var/log/firebird ''; - serviceConfig.PermissionsStartOnly = true; # preStart must be run as root serviceConfig.User = cfg.user; + serviceConfig.LogsDirectory = "firebird"; + serviceConfig.LogsDirectoryMode = "0700"; serviceConfig.ExecStart = ''${firebird}/bin/fbserver -d''; # TODO think about shutdown diff --git a/nixos/modules/services/databases/foundationdb.nix b/nixos/modules/services/databases/foundationdb.nix index ad24f9f4b0f..8f8d0da7c8d 100644 --- a/nixos/modules/services/databases/foundationdb.nix +++ b/nixos/modules/services/databases/foundationdb.nix @@ -36,6 +36,10 @@ let memory = ${cfg.memory} storage_memory = ${cfg.storageMemory} + ${optionalString (lib.versionAtLeast cfg.package.version "6.1") '' + trace_format = ${cfg.traceFormat} + ''} + ${optionalString (cfg.tls != null) '' tls_plugin = ${pkg}/libexec/plugins/FDBLibTLS.so tls_certificate_file = ${cfg.tls.certificate} @@ -136,7 +140,7 @@ in }; logSize = mkOption { - type = types.string; + type = types.str; default = "10MiB"; description = '' Roll over to a new log file after the current log file @@ -145,7 +149,7 @@ in }; maxLogSize = mkOption { - type = types.string; + type = types.str; default = "100MiB"; description = '' Delete the oldest log file when the total size of all log @@ -167,7 +171,7 @@ in }; memory = mkOption { - type = types.string; + type = types.str; default = "8GiB"; description = '' Maximum memory used by the process. The default value is @@ -189,7 +193,7 @@ in }; storageMemory = mkOption { - type = types.string; + type = types.str; default = "1GiB"; description = '' Maximum memory used for data storage. The default value is @@ -317,9 +321,24 @@ in default = "/run/foundationdb.pid"; description = "Path to pidfile for fdbmonitor."; }; + + traceFormat = mkOption { + type = types.enum [ "xml" "json" ]; + default = "xml"; + description = "Trace logging format."; + }; }; config = mkIf cfg.enable { + assertions = [ + { assertion = lib.versionOlder cfg.package.version "6.1" -> cfg.traceFormat == "xml"; + message = '' + Versions of FoundationDB before 6.1 do not support configurable trace formats (only XML is supported). + This option has no effect for version '' + cfg.package.version + '', and enabling it is an error. + ''; + } + ]; + environment.systemPackages = [ pkg ]; users.users = optionalAttrs (cfg.user == "foundationdb") (singleton @@ -340,6 +359,13 @@ in } ]; + systemd.tmpfiles.rules = [ + "d /etc/foundationdb 0755 ${cfg.user} ${cfg.group} - -" + "d '${cfg.dataDir}' 0770 ${cfg.user} ${cfg.group} - -" + "d '${cfg.logDir}' 0770 ${cfg.user} ${cfg.group} - -" + "F '${cfg.pidfile}' - ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.foundationdb = { description = "FoundationDB Service"; @@ -377,25 +403,12 @@ in path = [ pkg pkgs.coreutils ]; preStart = '' - rm -f ${cfg.pidfile} && \ - touch ${cfg.pidfile} && \ - chown -R ${cfg.user}:${cfg.group} ${cfg.pidfile} - - for x in "${cfg.logDir}" "${cfg.dataDir}"; do - [ ! -d "$x" ] && mkdir -m 0700 -vp "$x"; - chown -R ${cfg.user}:${cfg.group} "$x"; - done - - [ ! -d /etc/foundationdb ] && \ - mkdir -m 0775 -vp /etc/foundationdb && \ - chown -R ${cfg.user}:${cfg.group} "/etc/foundationdb" - if [ ! -f /etc/foundationdb/fdb.cluster ]; then cf=/etc/foundationdb/fdb.cluster desc=$(tr -dc A-Za-z0-9 /dev/null | head -c8) rand=$(tr -dc A-Za-z0-9 /dev/null | head -c8) echo ''${desc}:''${rand}@${initialIpAddr}:${builtins.toString cfg.listenPortStart} > $cf - chmod 0664 $cf && chown -R ${cfg.user}:${cfg.group} $cf + chmod 0664 $cf touch "${cfg.dataDir}/.first_startup" fi ''; @@ -404,7 +417,7 @@ in postStart = '' if [ -e "${cfg.dataDir}/.first_startup" ]; then - fdbcli --exec "configure new single memory" + fdbcli --exec "configure new single ssd" rm -f "${cfg.dataDir}/.first_startup"; fi ''; diff --git a/nixos/modules/services/databases/foundationdb.xml b/nixos/modules/services/databases/foundationdb.xml index bf4b644c9b8..b0b1ebeab45 100644 --- a/nixos/modules/services/databases/foundationdb.xml +++ b/nixos/modules/services/databases/foundationdb.xml @@ -47,14 +47,14 @@ services.foundationdb.package = pkgs.foundationdb52; # FoundationDB 5.2.x After running nixos-rebuild, you can verify whether FoundationDB is running by executing fdbcli (which is added to ): - -$ sudo -u foundationdb fdbcli + +$ sudo -u foundationdb fdbcli Using cluster file `/etc/foundationdb/fdb.cluster'. The database is available. Welcome to the fdbcli. For help, type `help'. -fdb> status +fdb> status Using cluster file `/etc/foundationdb/fdb.cluster'. @@ -72,8 +72,8 @@ Cluster: ... -fdb> - +fdb> + @@ -82,8 +82,8 @@ fdb> 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 + +a@link> cat fdb-status.py #! /usr/bin/env nix-shell #! nix-shell -i python -p python pythonPackages.foundationdb52 @@ -103,11 +103,11 @@ def main(): if __name__ == "__main__": main() -a@link> chmod +x fdb-status.py -a@link> ./fdb-status.py +a@link> chmod +x fdb-status.py +a@link> ./fdb-status.py FoundationDB available: True -a@link> - +a@link> + @@ -266,10 +266,10 @@ services.foundationdb.dataDir = "/data/fdb"; every node a coordinator automatically: - -fdbcli> configure double ssd -fdbcli> coordinators auto - + +fdbcli> configure double ssd +fdbcli> coordinators auto + This will transparently update all the servers within seconds, and @@ -386,10 +386,10 @@ services.foundationdb.extraReadWritePaths = [ "/opt/fdb-backups" ]; 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 - + +$ sudo -u foundationdb fdbbackup start -t default -d file:///opt/fdb-backups +$ sudo -u foundationdb fdbbackup status -t default +
Known limitations diff --git a/nixos/modules/services/databases/hbase.nix b/nixos/modules/services/databases/hbase.nix index 4772e897efe..2d1a47bbaa3 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 @@ -53,7 +53,7 @@ in { user = mkOption { - type = types.string; + type = types.str; default = "hbase"; description = '' User account under which HBase runs. @@ -61,7 +61,7 @@ in { }; group = mkOption { - type = types.string; + type = types.str; default = "hbase"; description = '' Group account under which HBase runs. @@ -94,6 +94,11 @@ in { config = mkIf config.services.hbase.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - ${cfg.user} ${cfg.group} - -" + "d '${cfg.logDir}' - ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.hbase = { description = "HBase Server"; wantedBy = [ "multi-user.target" ]; @@ -103,19 +108,7 @@ in { HBASE_LOG_DIR = cfg.logDir; }; - preStart = - '' - mkdir -p ${cfg.dataDir}; - mkdir -p ${cfg.logDir}; - - if [ "$(id -u)" = 0 ]; then - chown ${cfg.user}:${cfg.group} ${cfg.dataDir} - chown ${cfg.user}:${cfg.group} ${cfg.logDir} - fi - ''; - serviceConfig = { - PermissionsStartOnly = true; User = cfg.user; Group = cfg.group; ExecStart = "${cfg.package}/bin/hbase --config ${configDir} master start"; diff --git a/nixos/modules/services/databases/influxdb.nix b/nixos/modules/services/databases/influxdb.nix index d7a028b25d8..2f176a03872 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)} \ @@ -128,13 +129,13 @@ in user = mkOption { default = "influxdb"; description = "User account under which influxdb runs"; - type = types.string; + type = types.str; }; group = mkOption { default = "influxdb"; description = "Group under which influxdb runs"; - type = types.string; + type = types.str; }; dataDir = mkOption { @@ -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 7af452e4dce..84d2c8674f4 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,30 @@ in in "${memcached}/bin/memcached ${networking} -m ${toString cfg.maxMemory} -c ${toString cfg.maxConnections} ${concatStringsSep " " cfg.extraOptions}"; User = cfg.user; + + # Filesystem access + ProtectSystem = "strict"; + ProtectHome = true; + PrivateTmp = true; + PrivateDevices = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + RuntimeDirectory = "memcached"; + # Caps + CapabilityBoundingSet = ""; + NoNewPrivileges = true; + # Misc. + LockPersonality = true; + RestrictRealtime = true; + PrivateMounts = true; + MemoryDenyWriteExecute = true; }; }; }; 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 4c46d9228e5..12879afed47 100644 --- a/nixos/modules/services/databases/mongodb.nix +++ b/nixos/modules/services/databases/mongodb.nix @@ -8,12 +8,13 @@ let mongodb = cfg.package; - mongoCnf = pkgs.writeText "mongodb.conf" + mongoCnf = cfg: pkgs.writeText "mongodb.conf" '' net.bindIp: ${cfg.bind_ip} ${optionalString cfg.quiet "systemLog.quiet: true"} systemLog.destination: syslog storage.dbPath: ${cfg.dbpath} + ${optionalString cfg.enableAuth "security.authorization: enabled"} ${optionalString (cfg.replSetName != "") "replication.replSetName: ${cfg.replSetName}"} ${cfg.extraConfig} ''; @@ -59,13 +60,25 @@ in description = "quieter output"; }; + enableAuth = mkOption { + type = types.bool; + default = false; + description = "Enable client authentication. Creates a default superuser with username root!"; + }; + + initialRootPassword = mkOption { + type = types.nullOr types.str; + default = null; + description = "Password for the root user if auth is enabled."; + }; + dbpath = mkOption { default = "/var/db/mongodb"; description = "Location where MongoDB stores its files"; }; pidFile = mkOption { - default = "/var/run/mongodb.pid"; + default = "/run/mongodb.pid"; description = "Location of MongoDB pid file"; }; @@ -84,6 +97,14 @@ in ''; description = "MongoDB extra configuration in YAML format"; }; + + initialScript = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + A file containing MongoDB statements to execute on first startup. + ''; + }; }; }; @@ -92,6 +113,11 @@ in ###### implementation config = mkIf config.services.mongodb.enable { + assertions = [ + { assertion = !cfg.enableAuth || cfg.initialRootPassword != null; + message = "`enableAuth` requires `initialRootPassword` to be set."; + } + ]; users.users.mongodb = mkIf (cfg.user == "mongodb") { name = "mongodb"; @@ -108,7 +134,7 @@ in after = [ "network.target" ]; serviceConfig = { - ExecStart = "${mongodb}/bin/mongod --config ${mongoCnf} --fork --pidfilepath ${cfg.pidFile}"; + ExecStart = "${mongodb}/bin/mongod --config ${mongoCnf cfg} --fork --pidfilepath ${cfg.pidFile}"; User = cfg.user; PIDFile = cfg.pidFile; Type = "forking"; @@ -116,15 +142,50 @@ in PermissionsStartOnly = true; }; - preStart = '' + preStart = let + cfg_ = cfg // { enableAuth = false; bind_ip = "127.0.0.1"; }; + in '' rm ${cfg.dbpath}/mongod.lock || true if ! test -e ${cfg.dbpath}; then install -d -m0700 -o ${cfg.user} ${cfg.dbpath} + # See postStart! + touch ${cfg.dbpath}/.first_startup fi if ! test -e ${cfg.pidFile}; then install -D -o ${cfg.user} /dev/null ${cfg.pidFile} + fi '' + lib.optionalString cfg.enableAuth '' + + if ! test -e "${cfg.dbpath}/.auth_setup_complete"; then + systemd-run --unit=mongodb-for-setup --uid=${cfg.user} ${mongodb}/bin/mongod --config ${mongoCnf cfg_} + # wait for mongodb + while ! ${mongodb}/bin/mongo --eval "db.version()" > /dev/null 2>&1; do sleep 0.1; done + + ${mongodb}/bin/mongo <= 0); - pidFile = "${cfg.pidDir}/mysqld.pid"; - - mysqldAndInstallOptions = - "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql}"; mysqldOptions = - "${mysqldAndInstallOptions} --pid-file=${pidFile}"; + "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql}"; # 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"}"; + "${mysqldOptions} ${lib.optionalString isMysqlAtLeast57 "--insecure"}"; in @@ -80,11 +76,6 @@ in description = "Location where MySQL stores its table files"; }; - pidDir = mkOption { - default = "/run/mysqld"; - description = "Location of the file which stores the PID of the MySQL server"; - }; - extraOptions = mkOption { type = types.lines; default = ""; @@ -103,6 +94,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 @@ -115,11 +124,13 @@ in }; initialScript = mkOption { + type = types.nullOr types.path; 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. @@ -134,6 +145,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. @@ -143,26 +186,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 = literalExample ''[ - { - name = "nextcloud"; - ensurePermissions = { - "nextcloud.*" = "ALL PRIVILEGES"; - }; - } - { - name = "backup"; - ensurePermissions = { - "*.*" = "SELECT, LOCK TABLES"; - }; - } - ]''; - }; - - # FIXME: remove this option; it's a really bad idea. - rootPassword = mkOption { - default = null; - description = "Path to a file containing the root password, modified on the first startup. Not specifying a root password will leave the root password empty."; + example = literalExample '' + [ + { + name = "nextcloud"; + ensurePermissions = { + "nextcloud.*" = "ALL PRIVILEGES"; + }; + } + { + name = "backup"; + ensurePermissions = { + "*.*" = "SELECT, LOCK TABLES"; + }; + } + ] + ''; }; replication = { @@ -242,6 +281,10 @@ in ${cfg.extraOptions} ''; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0700 ${cfg.user} mysql -" + ]; + systemd.services.mysql = let hasNotify = (cfg.package == pkgs.mariadb); in { @@ -259,126 +302,122 @@ in pkgs.nettools ]; - preStart = - '' - if ! test -e ${cfg.dataDir}/mysql; then - mkdir -m 0700 -p ${cfg.dataDir} - chown -R ${cfg.user} ${cfg.dataDir} - ${mysql}/bin/mysql_install_db --defaults-file=/etc/my.cnf ${installOptions} - touch /tmp/mysql_init - fi - - mkdir -m 0755 -p ${cfg.pidDir} - chown -R ${cfg.user} ${cfg.pidDir} - ''; + preStart = '' + if ! test -e ${cfg.dataDir}/mysql; then + ${mysql}/bin/mysql_install_db --defaults-file=/etc/my.cnf ${installOptions} + touch /tmp/mysql_init + fi + ''; serviceConfig = { + User = cfg.user; + Group = "mysql"; Type = if hasNotify then "notify" else "simple"; RuntimeDirectory = "mysqld"; + RuntimeDirectoryMode = "0755"; # 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"; - }; + ExecStartPost = + let + setupScript = pkgs.writeScript "mysql-setup" '' + #!${pkgs.runtimeShell} -e - postStart = '' - ${lib.optionalString (!hasNotify) '' - # Wait until the MySQL server is available for use - count=0 - while [ ! -e /run/mysqld/mysqld.sock ] - do - if [ $count -eq 30 ] + ${optionalString (!hasNotify) '' + # Wait until the MySQL server is available for use + count=0 + while [ ! -e /run/mysqld/mysqld.sock ] + do + if [ $count -eq 30 ] + then + echo "Tried 30 times, giving up..." + exit 1 + fi + + echo "MySQL daemon not yet started. Waiting for 1 second..." + count=$((count++)) + sleep 1 + done + ''} + + if [ -f /tmp/mysql_init ] then - echo "Tried 30 times, giving up..." - exit 1 + ${concatMapStrings (database: '' + # Create initial databases + if ! test -e "${cfg.dataDir}/${database.name}"; then + echo "Creating initial database: ${database.name}" + ( echo 'create database `${database.name}`;' + + ${optionalString (database.schema != null) '' + echo 'use `${database.name}`;' + + # TODO: this silently falls through if database.schema does not exist, + # we should catch this somehow and exit, but can't do it here because we're in a subshell. + if [ -f "${database.schema}" ] + then + cat ${database.schema} + elif [ -d "${database.schema}" ] + then + cat ${database.schema}/mysql-databases/*.sql + fi + ''} + ) | ${mysql}/bin/mysql -u root -N + fi + '') cfg.initialDatabases} + + ${optionalString (cfg.replication.role == "master") + '' + # Set up the replication master + + ( echo "use mysql;" + echo "CREATE USER '${cfg.replication.masterUser}'@'${cfg.replication.slaveHost}' IDENTIFIED WITH mysql_native_password;" + echo "SET PASSWORD FOR '${cfg.replication.masterUser}'@'${cfg.replication.slaveHost}' = PASSWORD('${cfg.replication.masterPassword}');" + echo "GRANT REPLICATION SLAVE ON *.* TO '${cfg.replication.masterUser}'@'${cfg.replication.slaveHost}';" + ) | ${mysql}/bin/mysql -u root -N + ''} + + ${optionalString (cfg.replication.role == "slave") + '' + # Set up the replication slave + + ( echo "stop slave;" + echo "change master to master_host='${cfg.replication.masterHost}', master_user='${cfg.replication.masterUser}', master_password='${cfg.replication.masterPassword}';" + echo "start slave;" + ) | ${mysql}/bin/mysql -u root -N + ''} + + ${optionalString (cfg.initialScript != null) + '' + # Execute initial script + # using toString to avoid copying the file to nix store if given as path instead of string, + # as it might contain credentials + cat ${toString cfg.initialScript} | ${mysql}/bin/mysql -u root -N + ''} + + rm /tmp/mysql_init fi - echo "MySQL daemon not yet started. Waiting for 1 second..." - count=$((count++)) - sleep 1 - done - ''} + ${optionalString (cfg.ensureDatabases != []) '' + ( + ${concatMapStrings (database: '' + echo "CREATE DATABASE IF NOT EXISTS \`${database}\`;" + '') cfg.ensureDatabases} + ) | ${mysql}/bin/mysql -u root -N + ''} - if [ -f /tmp/mysql_init ] - then - ${concatMapStrings (database: + ${concatMapStrings (user: '' - # Create initial databases - if ! test -e "${cfg.dataDir}/${database.name}"; then - echo "Creating initial database: ${database.name}" - ( echo 'create database `${database.name}`;' - - ${optionalString (database ? "schema") '' - echo 'use `${database.name}`;' - - if [ -f "${database.schema}" ] - then - cat ${database.schema} - elif [ -d "${database.schema}" ] - then - cat ${database.schema}/mysql-databases/*.sql - fi - ''} - ) | ${mysql}/bin/mysql -u root -N - fi - '') cfg.initialDatabases} - - ${optionalString (cfg.replication.role == "master") - '' - # Set up the replication master - - ( echo "use mysql;" - echo "CREATE USER '${cfg.replication.masterUser}'@'${cfg.replication.slaveHost}' IDENTIFIED WITH mysql_native_password;" - echo "SET PASSWORD FOR '${cfg.replication.masterUser}'@'${cfg.replication.slaveHost}' = PASSWORD('${cfg.replication.masterPassword}');" - echo "GRANT REPLICATION SLAVE ON *.* TO '${cfg.replication.masterUser}'@'${cfg.replication.slaveHost}';" + ( echo "CREATE USER IF NOT EXISTS '${user.name}'@'localhost' IDENTIFIED WITH ${if isMariaDB then "unix_socket" else "auth_socket"};" + ${concatStringsSep "\n" (mapAttrsToList (database: permission: '' + echo "GRANT ${permission} ON ${database} TO '${user.name}'@'localhost';" + '') user.ensurePermissions)} ) | ${mysql}/bin/mysql -u root -N - ''} - - ${optionalString (cfg.replication.role == "slave") - '' - # Set up the replication slave - - ( echo "stop slave;" - echo "change master to master_host='${cfg.replication.masterHost}', master_user='${cfg.replication.masterUser}', master_password='${cfg.replication.masterPassword}';" - echo "start slave;" - ) | ${mysql}/bin/mysql -u root -N - ''} - - ${optionalString (cfg.initialScript != null) - '' - # Execute initial script - cat ${cfg.initialScript} | ${mysql}/bin/mysql -u root -N - ''} - - ${optionalString (cfg.rootPassword != null) - '' - # Change root password - - ( echo "use mysql;" - echo "update user set Password=password('$(cat ${cfg.rootPassword})') where User='root';" - echo "flush privileges;" - ) | ${mysql}/bin/mysql -u root -N - ''} - - rm /tmp/mysql_init - fi - - ${optionalString (cfg.ensureDatabases != []) '' - ( - ${concatMapStrings (database: '' - echo "CREATE DATABASE IF NOT EXISTS \`${database}\`;" - '') cfg.ensureDatabases} - ) | ${mysql}/bin/mysql -u root -N - ''} - - ${concatMapStrings (user: - '' - ( echo "CREATE USER IF NOT EXISTS '${user.name}'@'localhost' IDENTIFIED WITH ${if isMariaDB then "unix_socket" else "auth_socket"};" - ${concatStringsSep "\n" (mapAttrsToList (database: permission: '' - echo "GRANT ${permission} ON ${database} TO '${user.name}'@'localhost';" - '') user.ensurePermissions)} - ) | ${mysql}/bin/mysql -u root -N - '') cfg.ensureUsers} - - ''; # */ + '') cfg.ensureUsers} + ''; + in + # ensureDatbases & ensureUsers depends on this script being run as root + # when the user has secured their mysql install + "+${setupScript}"; + }; }; }; diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix index e996211be7d..5bf57a1bf9c 100644 --- a/nixos/modules/services/databases/openldap.nix +++ b/nixos/modules/services/databases/openldap.nix @@ -8,7 +8,24 @@ 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} + ${if (cfg.rootpw != null) then '' + rootpw ${cfg.rootpw} + '' else '' + include ${cfg.rootpwFile} + ''} + directory ${cfg.dataDir} + ${cfg.extraDatabaseConfig} + ''); configOpts = if cfg.configDir == null then "-f ${configFile}" else "-F ${cfg.configDir}"; in @@ -30,30 +47,89 @@ in }; user = mkOption { - type = types.string; + type = types.str; default = "openldap"; description = "User account under which slapd runs."; }; group = mkOption { - type = types.string; + type = types.str; default = "openldap"; description = "Group account under which slapd runs."; }; urlList = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = [ "ldap:///" ]; description = "URL list slapd should listen on."; example = [ "ldaps:///" ]; }; dataDir = mkOption { - type = types.string; + type = types.path; default = "/var/db/openldap"; 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.nullOr types.str; + default = null; + description = '' + Password for the root user. + This setting will be ignored if configDir is set. + Using this option will store the root password in plain text in the + world-readable nix store. To avoid this the rootpwFile can be used. + ''; + }; + + rootpwFile = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Password file for the root user. + The file should contain the string rootpw followed by the password. + e.g.: rootpw mysecurepassword + ''; + }; + logLevel = mkOption { type = types.str; default = "0"; @@ -81,9 +157,9 @@ in include ${pkgs.openldap.out}/etc/schema/inetorgperson.schema include ${pkgs.openldap.out}/etc/schema/nis.schema - database bdb - suffix dc=example,dc=org - rootdn cn=admin,dc=example,dc=org + database bdb + suffix dc=example,dc=org + rootdn cn=admin,dc=example,dc=org # NOTE: change after first start rootpw secret directory /var/db/openldap @@ -118,6 +194,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 + ''; + }; + }; }; @@ -126,6 +235,12 @@ in ###### implementation config = mkIf cfg.enable { + assertions = [ + { + assertion = cfg.configDir != null || cfg.rootpwFile != null || cfg.rootpw != null; + message = "services.openldap: Unless configDir is set, either rootpw or rootpwFile must be set"; + } + ]; environment.systemPackages = [ openldap ]; @@ -134,8 +249,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}" ''} @@ -146,7 +261,7 @@ in chown -R "${cfg.user}:${cfg.group}" "${cfg.dataDir}" ''; serviceConfig.ExecStart = - "${openldap.out}/libexec/slapd -d ${cfg.logLevel} " + + "${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/opentsdb.nix b/nixos/modules/services/databases/opentsdb.nix index b26fa9093ef..c4bd71f3d60 100644 --- a/nixos/modules/services/databases/opentsdb.nix +++ b/nixos/modules/services/databases/opentsdb.nix @@ -34,7 +34,7 @@ in { }; user = mkOption { - type = types.string; + type = types.str; default = "opentsdb"; description = '' User account under which OpenTSDB runs. @@ -42,7 +42,7 @@ in { }; group = mkOption { - type = types.string; + type = types.str; default = "opentsdb"; description = '' Group account under which OpenTSDB runs. diff --git a/nixos/modules/services/databases/pgmanage.nix b/nixos/modules/services/databases/pgmanage.nix index 1a34c7f5ece..1050c2dd481 100644 --- a/nixos/modules/services/databases/pgmanage.nix +++ b/nixos/modules/services/databases/pgmanage.nix @@ -16,7 +16,7 @@ let super_only = ${builtins.toJSON cfg.superOnly} - ${optionalString (!isNull cfg.loginGroup) "login_group = ${cfg.loginGroup}"} + ${optionalString (cfg.loginGroup != null) "login_group = ${cfg.loginGroup}"} login_timeout = ${toString cfg.loginTimeout} @@ -24,7 +24,7 @@ let sql_root = ${cfg.sqlRoot} - ${optionalString (!isNull cfg.tls) '' + ${optionalString (cfg.tls != null) '' tls_cert = ${cfg.tls.cert} tls_key = ${cfg.tls.key} ''} diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index aeab445a998..10250bb5193 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -6,23 +6,10 @@ let cfg = config.services.postgresql; - # see description of extraPlugins - postgresqlAndPlugins = pg: - if cfg.extraPlugins == [] then pg - else pkgs.buildEnv { - name = "postgresql-and-plugins-${(builtins.parseDrvName pg.name).version}"; - paths = [ pg pg.lib ] ++ cfg.extraPlugins; - buildInputs = [ pkgs.makeWrapper ]; - postBuild = - '' - mkdir -p $out/bin - rm $out/bin/{pg_config,postgres,pg_ctl} - cp --target-directory=$out/bin ${pg}/bin/{postgres,pg_config,pg_ctl} - wrapProgram $out/bin/postgres --set NIX_PGLIBDIR $out/lib - ''; - }; - - postgresql = postgresqlAndPlugins cfg.package; + postgresql = + if cfg.extraPlugins == [] + then cfg.package + else cfg.package.withPackages (_: cfg.extraPlugins); # The main PostgreSQL configuration file. configFile = pkgs.writeText "postgresql.conf" @@ -55,7 +42,7 @@ in package = mkOption { type = types.package; - example = literalExample "pkgs.postgresql_9_6"; + example = literalExample "pkgs.postgresql_11"; description = '' PostgreSQL package to use. ''; @@ -71,7 +58,7 @@ in dataDir = mkOption { type = types.path; - example = "/var/lib/postgresql/9.6"; + example = "/var/lib/postgresql/11"; description = '' Data directory for PostgreSQL. ''; @@ -105,6 +92,80 @@ in ''; }; + ensureDatabases = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Ensures that the specified databases exist. + This option will never delete existing databases, especially not when the value of this + option is changed. This means that databases created once through this option or + otherwise have to be removed manually. + ''; + example = [ + "gitea" + "nextcloud" + ]; + }; + + 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 an attribute set. + The attribute names specify the database and tables to grant the permissions for. + The attribute values specify 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 nextcloud" = "ALL PRIVILEGES"; + "ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES"; + } + ''; + }; + }; + }); + default = []; + description = '' + Ensures that the specified users exist and have at least the ensured permissions. + The PostgreSQL users will be identified using peer authentication. This authenticates the Unix user with the + same name only, and that without the need for a password. + This option will never delete existing users or remove permissions, especially not when the value of this + option is changed. This means that users created and permissions assigned once through this option or + otherwise have to be removed manually. + ''; + example = literalExample '' + [ + { + name = "nextcloud"; + ensurePermissions = { + "DATABASE nextcloud" = "ALL PRIVILEGES"; + }; + } + { + name = "superuser"; + ensurePermissions = { + "ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES"; + }; + } + ] + ''; + }; + enableTCPIP = mkOption { type = types.bool; default = false; @@ -118,17 +179,11 @@ in extraPlugins = mkOption { type = types.listOf types.path; default = []; - example = literalExample "[ (pkgs.postgis.override { postgresql = pkgs.postgresql_9_4; }) ]"; + example = literalExample "with pkgs.postgresql_11.pkgs; [ postgis pg_repack ]"; description = '' - When this list contains elements a new store path is created. - PostgreSQL and the elements are symlinked into it. Then pg_config, - postgres and pg_ctl are copied to make them use the new - $out/lib directory as pkglibdir. This makes it possible to use postgis - without patching the .sql files which reference $libdir/postgis-1.5. + List of PostgreSQL plugins. PostgreSQL version for each plugin should + match version for services.postgresql.package value. ''; - # Note: the duplication of executables is about 4MB size. - # So a nicer solution was patching postgresql to allow setting the - # libdir explicitely. }; extraConfig = mkOption { @@ -196,6 +251,10 @@ in environment.systemPackages = [ postgresql ]; + environment.pathsToLink = [ + "/share/postgresql" + ]; + systemd.services.postgresql = { description = "PostgreSQL Server"; @@ -238,6 +297,7 @@ in User = "postgres"; Group = "postgres"; PermissionsStartOnly = true; + RuntimeDirectory = "postgresql"; Type = if lib.versionAtLeast cfg.package.version "9.6" then "notify" else "simple"; @@ -255,17 +315,30 @@ in # Wait for PostgreSQL to be ready to accept connections. postStart = '' - while ! ${pkgs.sudo}/bin/sudo -u ${cfg.superUser} psql --port=${toString cfg.port} -d postgres -c "" 2> /dev/null; do + PSQL="${pkgs.sudo}/bin/sudo -u ${cfg.superUser} psql --port=${toString cfg.port}" + + while ! $PSQL -d postgres -c "" 2> /dev/null; do if ! kill -0 "$MAINPID"; then exit 1; fi sleep 0.1 done if test -e "${cfg.dataDir}/.first_startup"; then ${optionalString (cfg.initialScript != null) '' - ${pkgs.sudo}/bin/sudo -u ${cfg.superUser} psql -f "${cfg.initialScript}" --port=${toString cfg.port} -d postgres + $PSQL -f "${cfg.initialScript}" -d postgres ''} rm -f "${cfg.dataDir}/.first_startup" fi + '' + optionalString (cfg.ensureDatabases != []) '' + ${concatMapStrings (database: '' + $PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${database}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${database}"' + '') cfg.ensureDatabases} + '' + '' + ${concatMapStrings (user: '' + $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc "CREATE USER ${user.name}" + ${concatStringsSep "\n" (mapAttrsToList (database: permission: '' + $PSQL -tAc 'GRANT ${permission} ON ${database} TO ${user.name}' + '') user.ensurePermissions)} + '') cfg.ensureUsers} ''; unitConfig.RequiresMountsFor = "${cfg.dataDir}"; diff --git a/nixos/modules/services/databases/postgresql.xml b/nixos/modules/services/databases/postgresql.xml index 14f4d4909bc..72d4a8249a3 100644 --- a/nixos/modules/services/databases/postgresql.xml +++ b/nixos/modules/services/databases/postgresql.xml @@ -27,10 +27,10 @@ configuration.nix: = true; - = pkgs.postgresql_9_4; + = pkgs.postgresql_11; Note that you are required to specify the desired version of PostgreSQL - (e.g. pkgs.postgresql_9_4). Since upgrading your + (e.g. pkgs.postgresql_11). 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 @@ -42,17 +42,17 @@ whether PostgreSQL works by running psql: -$ psql +$ psql psql (9.2.9) Type "help" for help. -alice=> +alice=> --> By default, PostgreSQL stores its databases in - /var/db/postgresql. You can override this using + /var/lib/postgresql/$psqlSchema. You can override this using , e.g. = "/data/postgresql"; @@ -74,4 +74,70 @@ alice=> here.
+
+ Plugins + + + Plugins collection for each PostgreSQL version can be accessed with + .pkgs. For example, for + pkgs.postgresql_11 package, its plugin collection is + accessed by pkgs.postgresql_11.pkgs: + +$ nix repl '<nixpkgs>' + +Loading '<nixpkgs>'... +Added 10574 variables. + +nix-repl> postgresql_11.pkgs.<TAB><TAB> +postgresql_11.pkgs.cstore_fdw postgresql_11.pkgs.pg_repack +postgresql_11.pkgs.pg_auto_failover postgresql_11.pkgs.pg_safeupdate +postgresql_11.pkgs.pg_bigm postgresql_11.pkgs.pg_similarity +postgresql_11.pkgs.pg_cron postgresql_11.pkgs.pg_topn +postgresql_11.pkgs.pg_hll postgresql_11.pkgs.pgjwt +postgresql_11.pkgs.pg_partman postgresql_11.pkgs.pgroonga +... + + + + To add plugins via NixOS configuration, set services.postgresql.extraPlugins: + + = pkgs.postgresql_11; + = with pkgs.postgresql_11.pkgs; [ + pg_repack + postgis +]; + + + + You can build custom PostgreSQL-with-plugins (to be used outside of NixOS) using + function .withPackages. For example, creating a custom + PostgreSQL package in an overlay can look like: + +self: super: { + postgresql_custom = self.postgresql_11.withPackages (ps: [ + ps.pg_repack + ps.postgis + ]); +} + + + + Here's a recipe on how to override a particular plugin through an overlay: + +self: super: { + postgresql_11 = super.postgresql_11.override { this = self.postgresql_11; } // { + pkgs = super.postgresql_11.pkgs // { + pg_repack = super.postgresql_11.pkgs.pg_repack.overrideAttrs (_: { + name = "pg_repack-v20181024"; + src = self.fetchzip { + url = "https://github.com/reorg/pg_repack/archive/923fa2f3c709a506e111cc963034bf2fd127aa00.tar.gz"; + sha256 = "17k6hq9xaax87yz79j773qyigm4fwk8z4zh5cyp6z0sxnwfqxxw5"; + }; + }); + }; + }; +} + + +
diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix index cc7b51982d1..9c389d80a6d 100644 --- a/nixos/modules/services/databases/redis.nix +++ b/nixos/modules/services/databases/redis.nix @@ -8,17 +8,19 @@ let condOption = name: value: if value != null then "${name} ${toString value}" else ""; redisConfig = pkgs.writeText "redis.conf" '' - pidfile ${cfg.pidFile} port ${toString cfg.port} ${condOption "bind" cfg.bind} ${condOption "unixsocket" cfg.unixSocket} + daemonize yes + supervised systemd loglevel ${cfg.logLevel} logfile ${cfg.logfile} syslog-enabled ${redisBool cfg.syslog} + pidfile /run/redis/redis.pid databases ${toString cfg.databases} ${concatMapStrings (d: "save ${toString (builtins.elemAt d 0)} ${toString (builtins.elemAt d 1)}\n") cfg.save} - dbfilename ${cfg.dbFilename} - dir ${toString cfg.dbpath} + dbfilename dump.rdb + dir /var/lib/redis ${if cfg.slaveOf != null then "slaveof ${cfg.slaveOf.ip} ${toString cfg.slaveOf.port}" else ""} ${condOption "masterauth" cfg.masterAuth} ${condOption "requirepass" cfg.requirePass} @@ -40,7 +42,12 @@ in enable = mkOption { type = types.bool; default = false; - description = "Whether to enable the Redis server."; + description = '' + Whether to enable the Redis server. Note that the NixOS module for + Redis disables kernel support for Transparent Huge Pages (THP), + because this features causes major performance problems for Redis, + e.g. (https://redis.io/topics/latency). + ''; }; package = mkOption { @@ -50,18 +57,6 @@ in description = "Which Redis derivation to use."; }; - user = mkOption { - type = types.str; - default = "redis"; - description = "User account under which Redis runs."; - }; - - pidFile = mkOption { - type = types.path; - default = "/var/lib/redis/redis.pid"; - description = ""; - }; - port = mkOption { type = types.int; default = 6379; @@ -95,7 +90,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/redis.sock"; }; logLevel = mkOption { @@ -131,18 +126,6 @@ in example = [ [900 1] [300 10] [60 10000] ]; }; - dbFilename = mkOption { - type = types.str; - default = "dump.rdb"; - description = "The filename where to dump the DB."; - }; - - dbpath = mkOption { - type = types.path; - default = "/var/lib/redis"; - description = "The DB will be written inside this directory, with the filename specified using the 'dbFilename' configuration."; - }; - slaveOf = mkOption { default = null; # { ip, port } description = "An attribute set with two attributes: ip and port to which this redis instance acts as a slave."; @@ -170,12 +153,6 @@ in description = "By default data is only periodically persisted to disk, enable this option to use an append-only file for improved persistence."; }; - appendOnlyFilename = mkOption { - type = types.str; - default = "appendonly.aof"; - description = "Filename for the append-only file (stored inside of dbpath)"; - }; - appendFsync = mkOption { type = types.str; default = "everysec"; # no, always, everysec @@ -217,26 +194,17 @@ in allowedTCPPorts = [ cfg.port ]; }; - users.users.redis = - { name = cfg.user; - description = "Redis database user"; - }; + users.users.redis.description = "Redis database user"; environment.systemPackages = [ cfg.package ]; - systemd.services.redis_init = - { description = "Redis Server Initialisation"; - - wantedBy = [ "redis.service" ]; - before = [ "redis.service" ]; - - serviceConfig.Type = "oneshot"; - - script = '' - install -d -m0700 -o ${cfg.user} ${cfg.dbpath} - chown -R ${cfg.user} ${cfg.dbpath} - ''; - }; + systemd.services.disable-transparent-huge-pages = { + description = "Disable Transparent Huge Pages (required by Redis)"; + before = [ "redis.service" ]; + wantedBy = [ "redis.service" ]; + script = "echo never > /sys/kernel/mm/transparent_hugepage/enabled"; + serviceConfig.Type = "oneshot"; + }; systemd.services.redis = { description = "Redis Server"; @@ -246,7 +214,10 @@ in serviceConfig = { ExecStart = "${cfg.package}/bin/redis-server ${redisConfig}"; - User = cfg.user; + RuntimeDirectory = "redis"; + StateDirectory = "redis"; + Type = "notify"; + User = "redis"; }; }; diff --git a/nixos/modules/services/databases/rethinkdb.nix b/nixos/modules/services/databases/rethinkdb.nix index 789d9c851d6..4828e594b32 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/riak.nix b/nixos/modules/services/databases/riak.nix index ac086cf5599..885215209bd 100644 --- a/nixos/modules/services/databases/riak.nix +++ b/nixos/modules/services/databases/riak.nix @@ -29,7 +29,7 @@ in }; nodeName = mkOption { - type = types.string; + type = types.str; default = "riak@127.0.0.1"; description = '' Name of the Erlang node. @@ -37,7 +37,7 @@ in }; distributedCookie = mkOption { - type = types.string; + type = types.str; default = "riak"; description = '' Cookie for distributed node communication. All nodes in the diff --git a/nixos/modules/services/databases/stanchion.nix b/nixos/modules/services/databases/stanchion.nix index 9fe49f51edd..97e55bc70c4 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/deepin/deepin.nix b/nixos/modules/services/desktops/deepin/deepin.nix new file mode 100644 index 00000000000..931bac58ace --- /dev/null +++ b/nixos/modules/services/desktops/deepin/deepin.nix @@ -0,0 +1,125 @@ +# deepin + +{ config, pkgs, lib, ... }: + +{ + + ###### interface + + options = { + + services.deepin.core.enable = lib.mkEnableOption " + Basic dbus and systemd services, groups and users needed by the + Deepin Desktop Environment. + "; + + services.deepin.deepin-menu.enable = lib.mkEnableOption " + DBus service for unified menus in Deepin Desktop Environment. + "; + + services.deepin.deepin-turbo.enable = lib.mkEnableOption " + Turbo service for the Deepin Desktop Environment. It is a daemon + that helps to launch applications faster. + "; + + }; + + + ###### implementation + + config = lib.mkMerge [ + + (lib.mkIf config.services.deepin.core.enable { + environment.systemPackages = [ + pkgs.deepin.dde-api + pkgs.deepin.dde-calendar + pkgs.deepin.dde-control-center + pkgs.deepin.dde-daemon + pkgs.deepin.dde-dock + pkgs.deepin.dde-launcher + pkgs.deepin.dde-file-manager + pkgs.deepin.dde-session-ui + pkgs.deepin.deepin-anything + pkgs.deepin.deepin-image-viewer + pkgs.deepin.deepin-screenshot + ]; + + services.dbus.packages = [ + pkgs.deepin.dde-api + pkgs.deepin.dde-calendar + pkgs.deepin.dde-control-center + pkgs.deepin.dde-daemon + pkgs.deepin.dde-dock + pkgs.deepin.dde-launcher + pkgs.deepin.dde-file-manager + pkgs.deepin.dde-session-ui + pkgs.deepin.deepin-anything + pkgs.deepin.deepin-image-viewer + pkgs.deepin.deepin-screenshot + ]; + + systemd.packages = [ + pkgs.deepin.dde-api + pkgs.deepin.dde-daemon + pkgs.deepin.dde-file-manager + pkgs.deepin.deepin-anything + ]; + + boot.extraModulePackages = [ config.boot.kernelPackages.deepin-anything ]; + + boot.kernelModules = [ "vfs_monitor" ]; + + users.groups.deepin-sound-player = { }; + + users.users.deepin-sound-player = { + description = "Deepin sound player"; + group = "deepin-sound-player"; + isSystemUser = true; + }; + + users.groups.deepin-daemon = { }; + + users.users.deepin-daemon = { + description = "Deepin daemon user"; + group = "deepin-daemon"; + isSystemUser = true; + }; + + users.groups.deepin_anything_server = { }; + + users.users.deepin_anything_server = { + description = "Deepin Anything Server"; + group = "deepin_anything_server"; + isSystemUser = true; + }; + + security.pam.services.deepin-auth-keyboard.text = '' + # original at ${pkgs.deepin.dde-daemon}/etc/pam.d/deepin-auth-keyboard + auth [success=2 default=ignore] pam_lsass.so + auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass + auth requisite pam_deny.so + auth required pam_permit.so + ''; + + environment.etc = { + "polkit-1/localauthority/10-vendor.d/com.deepin.api.device.pkla".source = "${pkgs.deepin.dde-api}/etc/polkit-1/localauthority/10-vendor.d/com.deepin.api.device.pkla"; + "polkit-1/localauthority/10-vendor.d/com.deepin.daemon.Accounts.pkla".source = "${pkgs.deepin.dde-daemon}/etc/polkit-1/localauthority/10-vendor.d/com.deepin.daemon.Accounts.pkla"; + "polkit-1/localauthority/10-vendor.d/com.deepin.daemon.Grub2.pkla".source = "${pkgs.deepin.dde-daemon}/etc/polkit-1/localauthority/10-vendor.d/com.deepin.daemon.Grub2.pkla"; + }; + + services.deepin.deepin-menu.enable = true; + services.deepin.deepin-turbo.enable = true; + }) + + (lib.mkIf config.services.deepin.deepin-menu.enable { + services.dbus.packages = [ pkgs.deepin.deepin-menu ]; + }) + + (lib.mkIf config.services.deepin.deepin-turbo.enable { + environment.systemPackages = [ pkgs.deepin.deepin-turbo ]; + systemd.packages = [ pkgs.deepin.deepin-turbo ]; + }) + + ]; + +} diff --git a/nixos/modules/services/desktops/flatpak.nix b/nixos/modules/services/desktops/flatpak.nix index cfca1893bd8..7fb0024f37d 100644 --- a/nixos/modules/services/desktops/flatpak.nix +++ b/nixos/modules/services/desktops/flatpak.nix @@ -15,38 +15,39 @@ in { options = { services.flatpak = { enable = mkEnableOption "flatpak"; - - extraPortals = mkOption { - type = types.listOf types.package; - default = []; - description = '' - List of additional portals to add to path. Portals allow interaction - with system, like choosing files or taking screenshots. At minimum, - a desktop portal implementation should be listed. GNOME already - adds xdg-desktop-portal-gtk; for KDE, there - is xdg-desktop-portal-kde. Other desktop - environments will probably want to do the same. - ''; - }; }; }; ###### implementation config = mkIf cfg.enable { + + assertions = [ + { assertion = (config.xdg.portal.enable == true); + message = "To use Flatpak you must enable XDG Desktop Portals with xdg.portal.enable."; + } + ]; + environment.systemPackages = [ pkgs.flatpak ]; - services.dbus.packages = [ pkgs.flatpak pkgs.xdg-desktop-portal ] ++ cfg.extraPortals; + services.dbus.packages = [ pkgs.flatpak ]; - systemd.packages = [ pkgs.flatpak pkgs.xdg-desktop-portal ] ++ cfg.extraPortals; + systemd.packages = [ pkgs.flatpak ]; environment.profiles = [ "$HOME/.local/share/flatpak/exports" "/var/lib/flatpak/exports" ]; - environment.variables = { - XDG_DESKTOP_PORTAL_PATH = map (p: "${p}/share/xdg-desktop-portal/portals") cfg.extraPortals; + # It has been possible since https://github.com/flatpak/flatpak/releases/tag/1.3.2 + # to build a SELinux policy module. + + users.users.flatpak = { + description = "Flatpak system helper"; + group = "flatpak"; + isSystemUser = true; }; + + users.groups.flatpak = { }; }; } diff --git a/nixos/modules/services/desktops/flatpak.xml b/nixos/modules/services/desktops/flatpak.xml index 8045d5fa14f..8f080b25022 100644 --- a/nixos/modules/services/desktops/flatpak.xml +++ b/nixos/modules/services/desktops/flatpak.xml @@ -21,7 +21,7 @@ configuration.nix: = true; - + For the sandboxed apps to work correctly, desktop integration portals need to @@ -29,28 +29,28 @@ in other cases, you will need to add something like the following to your configuration.nix: - = [ pkgs.xdg-desktop-portal-gtk ]; - + = [ pkgs.xdg-desktop-portal-gtk ]; + 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 - + +$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo +$ flatpak update + 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 - + +$ 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 840aa5294ed..040fe157d52 100644 --- a/nixos/modules/services/desktops/geoclue2.nix +++ b/nixos/modules/services/desktops/geoclue2.nix @@ -7,6 +7,56 @@ with lib; let # the demo agent isn't built by default, but we need it here package = pkgs.geoclue2.override { withDemoAgent = config.services.geoclue2.enableDemoAgent; }; + + cfg = config.services.geoclue2; + + defaultWhitelist = [ "gnome-shell" "io.elementary.desktop.agent-geoclue2" ]; + + appConfigModule = types.submodule ({ name, ... }: { + options = { + desktopID = mkOption { + type = types.str; + description = "Desktop ID of the application."; + }; + + isAllowed = mkOption { + type = types.bool; + default = null; + description = '' + Whether the application will be allowed access to location information. + ''; + }; + + isSystem = mkOption { + type = types.bool; + default = null; + description = '' + Whether the application is a system component or not. + ''; + }; + + users = mkOption { + type = types.listOf types.str; + default = []; + description = '' + List of UIDs of all users for which this application is allowed location + info access, Defaults to an empty string to allow it for all users. + ''; + }; + }; + + config.desktopID = mkDefault name; + }); + + appConfigToINICompatible = _: { desktopID, isAllowed, isSystem, users, ... }: { + name = desktopID; + value = { + allowed = isAllowed; + system = isSystem; + users = concatStringsSep ";" users; + }; + }; + in { @@ -35,23 +85,130 @@ in ''; }; + enableNmea = mkOption { + type = types.bool; + default = true; + description = '' + Whether to fetch location from NMEA sources on local network. + ''; + }; + + enable3G = mkOption { + type = types.bool; + default = true; + description = '' + Whether to enable 3G source. + ''; + }; + + enableCDMA = mkOption { + type = types.bool; + default = true; + description = '' + Whether to enable CDMA source. + ''; + }; + + enableModemGPS = mkOption { + type = types.bool; + default = true; + description = '' + Whether to enable Modem-GPS source. + ''; + }; + + enableWifi = mkOption { + type = types.bool; + default = true; + description = '' + Whether to enable WiFi source. + ''; + }; + + geoProviderUrl = mkOption { + type = types.str; + default = "https://location.services.mozilla.com/v1/geolocate?key=geoclue"; + example = "https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_KEY"; + description = '' + The url to the wifi GeoLocation Service. + ''; + }; + + submitData = mkOption { + type = types.bool; + default = false; + description = '' + Whether to submit data to a GeoLocation Service. + ''; + }; + + submissionUrl = mkOption { + type = types.str; + default = "https://location.services.mozilla.com/v1/submit?key=geoclue"; + description = '' + The url to submit data to a GeoLocation Service. + ''; + }; + + submissionNick = mkOption { + type = types.str; + default = "geoclue"; + description = '' + A nickname to submit network data with. + Must be 2-32 characters long. + ''; + }; + + appConfig = mkOption { + type = types.loaOf appConfigModule; + default = {}; + example = literalExample '' + "com.github.app" = { + isAllowed = true; + isSystem = true; + users = [ "300" ]; + }; + ''; + description = '' + Specify extra settings per application. + ''; + }; + }; }; ###### implementation - config = mkIf config.services.geoclue2.enable { + config = mkIf cfg.enable { environment.systemPackages = [ package ]; services.dbus.packages = [ package ]; systemd.packages = [ package ]; - + + users.users.geoclue = { + isSystemUser = true; + home = "/var/lib/geoclue"; + group = "geoclue"; + description = "Geoinformation service"; + }; + + users.groups.geoclue = {}; + + systemd.tmpfiles.rules = [ + "d /var/lib/geoclue 0755 geoclue geoclue" + ]; + + # restart geoclue service when the configuration changes + systemd.services."geoclue".restartTriggers = [ + config.environment.etc."geoclue/geoclue.conf".source + ]; + # this needs to run as a user service, since it's associated with the # user who is making the requests - systemd.user.services = mkIf config.services.geoclue2.enableDemoAgent { + systemd.user.services = mkIf cfg.enableDemoAgent { "geoclue-agent" = { description = "Geoclue agent"; script = "${package}/libexec/geoclue-2.0/demos/agent"; @@ -62,7 +219,41 @@ in }; }; - environment.etc."geoclue/geoclue.conf".source = "${package}/etc/geoclue/geoclue.conf"; - }; + services.geoclue2.appConfig."epiphany" = { + isAllowed = true; + isSystem = false; + }; + services.geoclue2.appConfig."firefox" = { + isAllowed = true; + isSystem = false; + }; + + environment.etc."geoclue/geoclue.conf".text = + generators.toINI {} ({ + agent = { + whitelist = concatStringsSep ";" + (optional cfg.enableDemoAgent "geoclue-demo-agent" ++ defaultWhitelist); + }; + network-nmea = { + enable = cfg.enableNmea; + }; + "3g" = { + enable = cfg.enable3G; + }; + cdma = { + enable = cfg.enableCDMA; + }; + modem-gps = { + enable = cfg.enableModemGPS; + }; + wifi = { + enable = cfg.enableWifi; + url = cfg.geoProviderUrl; + submit-data = boolToString cfg.submitData; + submission-url = cfg.submissionUrl; + submission-nick = cfg.submissionNick; + }; + } // mapAttrs' appConfigToINICompatible cfg.appConfig); + }; } diff --git a/nixos/modules/services/desktops/gnome3/file-roller.nix b/nixos/modules/services/desktops/gnome3/file-roller.nix deleted file mode 100644 index 7fb558a9895..00000000000 --- a/nixos/modules/services/desktops/gnome3/file-roller.nix +++ /dev/null @@ -1,32 +0,0 @@ -# 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 00000000000..186668d7d38 --- /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-disks.nix b/nixos/modules/services/desktops/gnome3/gnome-disks.nix deleted file mode 100644 index 139534cdb89..00000000000 --- a/nixos/modules/services/desktops/gnome3/gnome-disks.nix +++ /dev/null @@ -1,39 +0,0 @@ -# GNOME Disks daemon. - -{ config, pkgs, lib, ... }: - -with lib; - -{ - - ###### interface - - options = { - - services.gnome3.gnome-disks = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable GNOME Disks daemon, a service designed to - be a UDisks2 graphical front-end. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.gnome3.gnome-disks.enable { - - environment.systemPackages = [ pkgs.gnome3.gnome-disk-utility ]; - - services.dbus.packages = [ pkgs.gnome3.gnome-disk-utility ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/gnome-documents.nix b/nixos/modules/services/desktops/gnome3/gnome-documents.nix deleted file mode 100644 index f6efb668424..00000000000 --- a/nixos/modules/services/desktops/gnome3/gnome-documents.nix +++ /dev/null @@ -1,43 +0,0 @@ -# GNOME Documents daemon. - -{ config, pkgs, lib, ... }: - -with lib; - -{ - - ###### interface - - options = { - - services.gnome3.gnome-documents = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable GNOME Documents services, a document - manager application for GNOME. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.gnome3.gnome-documents.enable { - - environment.systemPackages = [ pkgs.gnome3.gnome-documents ]; - - services.dbus.packages = [ pkgs.gnome3.gnome-documents ]; - - services.gnome3.gnome-online-accounts.enable = true; - - services.gnome3.gnome-online-miners.enable = true; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/gnome-keyring.nix b/nixos/modules/services/desktops/gnome3/gnome-keyring.nix index 5ea4350be5b..db60445ef77 100644 --- a/nixos/modules/services/desktops/gnome3/gnome-keyring.nix +++ b/nixos/modules/services/desktops/gnome3/gnome-keyring.nix @@ -35,6 +35,13 @@ with lib; 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-online-accounts.nix b/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix index 4286251357f..748a025414a 100644 --- a/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix +++ b/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix @@ -30,9 +30,9 @@ with lib; config = mkIf config.services.gnome3.gnome-online-accounts.enable { - environment.systemPackages = [ pkgs.gnome3.gnome-online-accounts ]; + environment.systemPackages = [ pkgs.gnome-online-accounts ]; - services.dbus.packages = [ pkgs.gnome3.gnome-online-accounts ]; + services.dbus.packages = [ pkgs.gnome-online-accounts ]; }; 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 00000000000..7f7adcf26ac --- /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/gnome-terminal-server.nix b/nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix deleted file mode 100644 index fd14efee5f2..00000000000 --- a/nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix +++ /dev/null @@ -1,41 +0,0 @@ -# GNOME Documents daemon. - -{ config, pkgs, lib, ... }: - -with lib; - -{ - - ###### interface - - options = { - - services.gnome3.gnome-terminal-server = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable GNOME Terminal server service, - needed for gnome-terminal. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.gnome3.gnome-terminal-server.enable { - - environment.systemPackages = [ pkgs.gnome3.gnome-terminal ]; - - services.dbus.packages = [ pkgs.gnome3.gnome-terminal ]; - - systemd.packages = [ pkgs.gnome3.gnome-terminal ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/gnome-user-share.nix b/nixos/modules/services/desktops/gnome3/gnome-user-share.nix index 1f6ce2ae968..f8396287770 100644 --- a/nixos/modules/services/desktops/gnome3/gnome-user-share.nix +++ b/nixos/modules/services/desktops/gnome3/gnome-user-share.nix @@ -12,14 +12,7 @@ with lib; services.gnome3.gnome-user-share = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable GNOME User Share, a service that exports the - contents of the Public folder in your home directory on the local network. - ''; - }; + enable = mkEnableOption "GNOME User Share, a user-level file sharing service for GNOME"; }; @@ -30,12 +23,13 @@ with lib; config = mkIf config.services.gnome3.gnome-user-share.enable { - environment.systemPackages = [ pkgs.gnome3.gnome-user-share ]; + environment.systemPackages = [ + pkgs.gnome3.gnome-user-share + ]; - services.xserver.displayManager.sessionCommands = with pkgs.gnome3; '' - # Don't let gnome-control-center depend upon gnome-user-share - export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${gnome-user-share}/share/gsettings-schemas/${gnome-user-share.name} - ''; + systemd.packages = [ + pkgs.gnome3.gnome-user-share + ]; }; diff --git a/nixos/modules/services/desktops/gnome3/gpaste.nix b/nixos/modules/services/desktops/gnome3/gpaste.nix deleted file mode 100644 index 5a8258775e0..00000000000 --- a/nixos/modules/services/desktops/gnome3/gpaste.nix +++ /dev/null @@ -1,27 +0,0 @@ -# GPaste daemon. -{ config, lib, pkgs, ... }: - -with lib; - -{ - ###### interface - options = { - services.gnome3.gpaste = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable GPaste, a clipboard manager. - ''; - }; - }; - }; - - ###### implementation - config = mkIf config.services.gnome3.gpaste.enable { - environment.systemPackages = [ pkgs.gnome3.gpaste ]; - services.dbus.packages = [ pkgs.gnome3.gpaste ]; - services.xserver.desktopManager.gnome3.sessionPath = [ pkgs.gnome3.gpaste ]; - systemd.packages = [ pkgs.gnome3.gpaste ]; - }; -} diff --git a/nixos/modules/services/desktops/gnome3/gvfs.nix b/nixos/modules/services/desktops/gnome3/gvfs.nix deleted file mode 100644 index 4e99d191f18..00000000000 --- a/nixos/modules/services/desktops/gnome3/gvfs.nix +++ /dev/null @@ -1,43 +0,0 @@ -# gvfs backends - -{ config, lib, pkgs, ... }: - -with lib; - -{ - - ###### interface - - options = { - - services.gnome3.gvfs = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable gvfs backends, userspace virtual filesystem used - by GNOME components via D-Bus. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.gnome3.gvfs.enable { - - environment.systemPackages = [ pkgs.gnome3.gvfs ]; - - services.dbus.packages = [ pkgs.gnome3.gvfs ]; - - systemd.packages = [ pkgs.gnome3.gvfs ]; - - services.udev.packages = [ pkgs.libmtp.bin ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/seahorse.nix b/nixos/modules/services/desktops/gnome3/seahorse.nix deleted file mode 100644 index 9631157934f..00000000000 --- a/nixos/modules/services/desktops/gnome3/seahorse.nix +++ /dev/null @@ -1,38 +0,0 @@ -# Seahorse daemon. - -{ config, pkgs, lib, ... }: - -with lib; - -{ - - ###### interface - - options = { - - services.gnome3.seahorse = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable Seahorse search provider for the GNOME Shell activity search. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.gnome3.seahorse.enable { - - environment.systemPackages = [ pkgs.gnome3.seahorse pkgs.gnome3.dconf ]; - - services.dbus.packages = [ pkgs.gnome3.seahorse ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/tracker-miners.nix b/nixos/modules/services/desktops/gnome3/tracker-miners.nix index 20154fc2fed..b390d8368c6 100644 --- a/nixos/modules/services/desktops/gnome3/tracker-miners.nix +++ b/nixos/modules/services/desktops/gnome3/tracker-miners.nix @@ -30,11 +30,11 @@ with lib; config = mkIf config.services.gnome3.tracker-miners.enable { - environment.systemPackages = [ pkgs.gnome3.tracker-miners ]; + environment.systemPackages = [ pkgs.tracker-miners ]; - services.dbus.packages = [ pkgs.gnome3.tracker-miners ]; + services.dbus.packages = [ pkgs.tracker-miners ]; - systemd.packages = [ pkgs.gnome3.tracker-miners ]; + systemd.packages = [ pkgs.tracker-miners ]; }; diff --git a/nixos/modules/services/desktops/gnome3/tracker.nix b/nixos/modules/services/desktops/gnome3/tracker.nix index c061f789049..2e829274226 100644 --- a/nixos/modules/services/desktops/gnome3/tracker.nix +++ b/nixos/modules/services/desktops/gnome3/tracker.nix @@ -30,11 +30,11 @@ with lib; config = mkIf config.services.gnome3.tracker.enable { - environment.systemPackages = [ pkgs.gnome3.tracker ]; + environment.systemPackages = [ pkgs.tracker ]; - services.dbus.packages = [ pkgs.gnome3.tracker ]; + services.dbus.packages = [ pkgs.tracker ]; - systemd.packages = [ pkgs.gnome3.tracker ]; + systemd.packages = [ pkgs.tracker ]; }; diff --git a/nixos/modules/services/desktops/gsignond.nix b/nixos/modules/services/desktops/gsignond.nix index cf26e05d5c1..5ab9add9f32 100644 --- a/nixos/modules/services/desktops/gsignond.nix +++ b/nixos/modules/services/desktops/gsignond.nix @@ -9,6 +9,8 @@ let in { + meta.maintainers = pkgs.pantheon.maintainers; + ###### interface options = { diff --git a/nixos/modules/services/desktops/gvfs.nix b/nixos/modules/services/desktops/gvfs.nix new file mode 100644 index 00000000000..1d002eac41d --- /dev/null +++ b/nixos/modules/services/desktops/gvfs.nix @@ -0,0 +1,59 @@ +# GVfs + +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.gvfs; + +in + +{ + + # Added 2019-08-19 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "gvfs" "enable" ] + [ "services" "gvfs" "enable" ]) + ]; + + ###### interface + + options = { + + services.gvfs = { + + enable = mkEnableOption "GVfs, a userspace virtual filesystem"; + + # gvfs can be built with multiple configurations + package = mkOption { + type = types.package; + default = pkgs.gnome3.gvfs; + description = "Which GVfs package to use."; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + environment.systemPackages = [ cfg.package ]; + + services.dbus.packages = [ cfg.package ]; + + systemd.packages = [ cfg.package ]; + + services.udev.packages = [ pkgs.libmtp.bin ]; + + # Needed for unwrapped applications + environment.variables.GIO_EXTRA_MODULES = [ "${cfg.package}/lib/gio/modules" ]; + + }; + +} diff --git a/nixos/modules/services/desktops/pantheon/contractor.nix b/nixos/modules/services/desktops/pantheon/contractor.nix index bd538db7241..2638a21df73 100644 --- a/nixos/modules/services/desktops/pantheon/contractor.nix +++ b/nixos/modules/services/desktops/pantheon/contractor.nix @@ -6,6 +6,8 @@ with lib; { + meta.maintainers = pkgs.pantheon.maintainers; + ###### interface options = { diff --git a/nixos/modules/services/desktops/pantheon/files.nix b/nixos/modules/services/desktops/pantheon/files.nix index 2edbe5b3a6d..577aad6c298 100644 --- a/nixos/modules/services/desktops/pantheon/files.nix +++ b/nixos/modules/services/desktops/pantheon/files.nix @@ -6,6 +6,8 @@ with lib; { + meta.maintainers = pkgs.pantheon.maintainers; + ###### interface options = { diff --git a/nixos/modules/services/desktops/tumbler.nix b/nixos/modules/services/desktops/tumbler.nix index ccbb6d1434d..d18088d4634 100644 --- a/nixos/modules/services/desktops/tumbler.nix +++ b/nixos/modules/services/desktops/tumbler.nix @@ -23,7 +23,7 @@ in package = mkOption { type = types.package; - default = pkgs.xfce4-13.tumbler; + default = pkgs.xfce4-14.tumbler; description = "Which tumbler package to use"; example = pkgs.xfce4-12.tumbler; }; diff --git a/nixos/modules/services/development/bloop.nix b/nixos/modules/services/development/bloop.nix index 56904b7c40e..226718a9e80 100644 --- a/nixos/modules/services/development/bloop.nix +++ b/nixos/modules/services/development/bloop.nix @@ -9,6 +9,20 @@ let in { options.services.bloop = { + extraOptions = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ + "-J-Xmx2G" + "-J-XX:MaxInlineLevel=20" + "-J-XX:+UseParallelGC" + ]; + description = '' + Specifies additional command line argument to pass to bloop + java process. + ''; + }; + install = mkOption { type = types.bool; default = false; @@ -25,10 +39,13 @@ in { systemd.user.services.bloop = { description = "Bloop Scala build server"; + environment = { + PATH = mkForce "${makeBinPath [ config.programs.java.package ]}"; + }; serviceConfig = { - Type = "simple"; - ExecStart = ''${pkgs.bloop}/bin/blp-server''; - Restart = "always"; + Type = "simple"; + ExecStart = ''${pkgs.bloop}/bin/bloop server''; + Restart = "always"; }; }; diff --git a/nixos/modules/services/editors/emacs.xml b/nixos/modules/services/editors/emacs.xml index 1ac53c818a7..8ced302bad1 100644 --- a/nixos/modules/services/editors/emacs.xml +++ b/nixos/modules/services/editors/emacs.xml @@ -9,6 +9,7 @@ Damien Cassou @DamienCassou Thomas Tuegel @ttuegel Rodney Lorrimar @rvl + Adam Hoese @adisbladis --> Emacs is an @@ -95,7 +96,8 @@ also available in Nixpkgs: Zile, mg, - Yi. + Yi, + jmacs. @@ -129,15 +131,6 @@ 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 @@ -163,7 +156,7 @@ $ ./result/bin/emacs let myEmacs = pkgs.emacs; - emacsWithPackages = (pkgs.emacsPackagesNgGen myEmacs).emacsWithPackages; + emacsWithPackages = (pkgs.emacsPackagesGen myEmacs).emacsWithPackages; in emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [ magit # ; Integrate git <C-x g> @@ -238,8 +231,8 @@ in You can check that it works by executing this in a terminal: -$ nix-build emacs.nix -$ ./result/bin/emacs -q +$ 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 @@ -261,10 +254,10 @@ $ ./result/bin/emacs -q 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 +nix-env -f "" -qaP -A emacsPackages.elpaPackages +nix-env -f "" -qaP -A emacsPackages.melpaPackages +nix-env -f "" -qaP -A emacsPackages.melpaStablePackages +nix-env -f "" -qaP -A emacsPackages.orgPackages ]]> @@ -403,9 +396,9 @@ in [...] 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 +$ 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. @@ -551,7 +544,7 @@ emacsclient --create-frame --tty # opens a new frame on the current terminal (NixOS), or run - nix-env -i pkgs.docbook5 + nix-env -f '<nixpkgs>' -iA docbook5 (Nix). diff --git a/nixos/modules/services/games/factorio.nix b/nixos/modules/services/games/factorio.nix index 3f6bf9de893..f3831156f45 100644 --- a/nixos/modules/services/games/factorio.nix +++ b/nixos/modules/services/games/factorio.nix @@ -6,7 +6,7 @@ let cfg = config.services.factorio; factorio = pkgs.factorio-headless; name = "Factorio"; - stateDir = cfg.stateDir; + stateDir = "/var/lib/${cfg.stateDirName}"; mkSavePath = name: "${stateDir}/saves/${name}.zip"; configFile = pkgs.writeText "factorio.conf" '' use-system-read-write-data-directories=true @@ -55,7 +55,7 @@ in ''; }; saveName = mkOption { - type = types.string; + type = types.str; default = "default"; description = '' The name of the savegame that will be used by the server. @@ -80,11 +80,11 @@ in customizations. ''; }; - stateDir = mkOption { - type = types.path; - default = "/var/lib/factorio"; + stateDirName = mkOption { + type = types.str; + default = "factorio"; description = '' - The server's data directory. + Name of the directory under /var/lib holding the server's data. The configuration and map will be stored here. ''; @@ -102,14 +102,14 @@ in ''; }; game-name = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = "Factorio Game"; description = '' Name of the game as it will appear in the game listing. ''; }; description = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = ""; description = '' Description of the game that will appear in the listing. @@ -130,28 +130,28 @@ in ''; }; username = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; description = '' Your factorio.com login credentials. Required for games with visibility public. ''; }; password = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; description = '' Your factorio.com login credentials. Required for games with visibility public. ''; }; token = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; description = '' Authentication token. May be used instead of 'password' above. ''; }; game-password = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; description = '' Game password. @@ -176,20 +176,6 @@ in }; config = mkIf cfg.enable { - users = { - users.factorio = { - uid = config.ids.uids.factorio; - description = "Factorio server user"; - group = "factorio"; - home = stateDir; - createHome = true; - }; - - groups.factorio = { - gid = config.ids.gids.factorio; - }; - }; - systemd.services.factorio = { description = "Factorio headless server"; wantedBy = [ "multi-user.target" ]; @@ -205,12 +191,10 @@ in ]; serviceConfig = { - User = "factorio"; - Group = "factorio"; Restart = "always"; KillSignal = "SIGINT"; - WorkingDirectory = stateDir; - PrivateTmp = true; + DynamicUser = true; + StateDirectory = cfg.stateDirName; UMask = "0007"; ExecStart = toString [ "${factorio}/bin/factorio" @@ -220,6 +204,20 @@ in "--server-settings=${serverSettingsFile}" (optionalString (cfg.mods != []) "--mod-directory=${modDir}") ]; + + # Sandboxing + NoNewPrivileges = true; + PrivateTmp = true; + PrivateDevices = true; + ProtectSystem = "strict"; + ProtectHome = true; + ProtectControlGroups = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" ]; + RestrictRealtime = true; + RestrictNamespaces = true; + MemoryDenyWriteExecute = true; }; }; diff --git a/nixos/modules/services/games/minecraft-server.nix b/nixos/modules/services/games/minecraft-server.nix index 7d26d150165..eb9288fca58 100644 --- a/nixos/modules/services/games/minecraft-server.nix +++ b/nixos/modules/services/games/minecraft-server.nix @@ -118,7 +118,7 @@ in { }; serverProperties = mkOption { - type = with types; attrsOf (either bool (either int str)); + type = with types; attrsOf (oneOf [ bool int str ]); default = {}; example = literalExample '' { @@ -215,8 +215,8 @@ in { networking.firewall = mkIf cfg.openFirewall (if cfg.declarative then { allowedUDPPorts = [ serverPort ]; allowedTCPPorts = [ serverPort ] - ++ optional (! isNull queryPort) queryPort - ++ optional (! isNull rconPort) rconPort; + ++ optional (queryPort != null) queryPort + ++ optional (rconPort != null) rconPort; } else { allowedUDPPorts = [ defaultServerPort ]; allowedTCPPorts = [ defaultServerPort ]; diff --git a/nixos/modules/services/hardware/80-net-setup-link.rules b/nixos/modules/services/hardware/80-net-setup-link.rules deleted file mode 100644 index 18547f170a3..00000000000 --- a/nixos/modules/services/hardware/80-net-setup-link.rules +++ /dev/null @@ -1,13 +0,0 @@ -# Copied from systemd 203. -ACTION=="remove", GOTO="net_name_slot_end" -SUBSYSTEM!="net", GOTO="net_name_slot_end" -NAME!="", GOTO="net_name_slot_end" - -IMPORT{cmdline}="net.ifnames" -ENV{net.ifnames}=="0", GOTO="net_name_slot_end" - -NAME=="", ENV{ID_NET_NAME_ONBOARD}!="", NAME="$env{ID_NET_NAME_ONBOARD}" -NAME=="", ENV{ID_NET_NAME_SLOT}!="", NAME="$env{ID_NET_NAME_SLOT}" -NAME=="", ENV{ID_NET_NAME_PATH}!="", NAME="$env{ID_NET_NAME_PATH}" - -LABEL="net_name_slot_end" diff --git a/nixos/modules/services/hardware/acpid.nix b/nixos/modules/services/hardware/acpid.nix index 0f05876aee3..4c97485d972 100644 --- a/nixos/modules/services/hardware/acpid.nix +++ b/nixos/modules/services/hardware/acpid.nix @@ -21,7 +21,7 @@ let }; }; - acpiConfDir = pkgs.runCommand "acpi-events" {} + acpiConfDir = pkgs.runCommand "acpi-events" { preferLocalBuild = true; } '' mkdir -p $out ${ diff --git a/nixos/modules/services/hardware/bluetooth.nix b/nixos/modules/services/hardware/bluetooth.nix index 2a8dfe4a66c..c5f9d1f9b72 100644 --- a/nixos/modules/services/hardware/bluetooth.nix +++ b/nixos/modules/services/hardware/bluetooth.nix @@ -13,7 +13,7 @@ in { options = { hardware.bluetooth = { - enable = mkEnableOption "support for Bluetooth."; + enable = mkEnableOption "support for Bluetooth"; powerOnBoot = mkOption { type = types.bool; diff --git a/nixos/modules/services/hardware/bolt.nix b/nixos/modules/services/hardware/bolt.nix new file mode 100644 index 00000000000..32b60af0603 --- /dev/null +++ b/nixos/modules/services/hardware/bolt.nix @@ -0,0 +1,34 @@ +# Thunderbolt 3 device manager + +{ config, lib, pkgs, ...}: + +with lib; + +{ + options = { + + services.hardware.bolt = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Bolt, a userspace daemon to enable + security levels for Thunderbolt 3 on GNU/Linux. + + Bolt is used by GNOME 3 to handle Thunderbolt settings. + ''; + }; + + }; + + }; + + config = mkIf config.services.hardware.bolt.enable { + + environment.systemPackages = [ pkgs.bolt ]; + services.udev.packages = [ pkgs.bolt ]; + systemd.packages = [ pkgs.bolt ]; + + }; +} diff --git a/nixos/modules/services/hardware/freefall.nix b/nixos/modules/services/hardware/freefall.nix index 066ccaa4d7c..83f1e8c84f2 100644 --- a/nixos/modules/services/hardware/freefall.nix +++ b/nixos/modules/services/hardware/freefall.nix @@ -28,7 +28,7 @@ in { }; devices = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = [ "/dev/sda" ]; description = '' Device paths to all internal spinning hard drives. diff --git a/nixos/modules/services/hardware/fwupd.nix b/nixos/modules/services/hardware/fwupd.nix index cad9fa20de0..6c341bcbf24 100644 --- a/nixos/modules/services/hardware/fwupd.nix +++ b/nixos/modules/services/hardware/fwupd.nix @@ -8,8 +8,8 @@ let cfg = config.services.fwupd; originalEtc = let - mkEtcFile = n: nameValuePair n { source = "${pkgs.fwupd}/etc/${n}"; }; - in listToAttrs (map mkEtcFile pkgs.fwupd.filesInstalledToEtc); + mkEtcFile = n: nameValuePair n { source = "${cfg.package}/etc/${n}"; }; + in listToAttrs (map mkEtcFile cfg.package.filesInstalledToEtc); extraTrustedKeys = let mkName = p: "pki/fwupd/${baseNameOf (toString p)}"; @@ -24,7 +24,7 @@ let "fwupd/remotes.d/fwupd-tests.conf" = { source = pkgs.runCommand "fwupd-tests-enabled.conf" {} '' sed "s,^Enabled=false,Enabled=true," \ - "${pkgs.fwupd.installedTests}/etc/fwupd/remotes.d/fwupd-tests.conf" > "$out" + "${cfg.package.installedTests}/etc/fwupd/remotes.d/fwupd-tests.conf" > "$out" ''; }; } else {}; @@ -43,7 +43,7 @@ in { }; blacklistDevices = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = []; example = [ "2082b5e0-7a64-478a-b1b2-e3404fab6dad" ]; description = '' @@ -52,7 +52,7 @@ in { }; blacklistPlugins = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = [ "test" ]; example = [ "udev" ]; description = '' @@ -77,13 +77,21 @@ in { installed tests. ''; }; + + package = mkOption { + type = types.package; + default = pkgs.fwupd; + description = '' + Which fwupd package to use. + ''; + }; }; }; ###### implementation config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.fwupd ]; + environment.systemPackages = [ cfg.package ]; environment.etc = { "fwupd/daemon.conf" = { @@ -102,11 +110,11 @@ in { } // originalEtc // extraTrustedKeys // testRemote; - services.dbus.packages = [ pkgs.fwupd ]; + services.dbus.packages = [ cfg.package ]; - services.udev.packages = [ pkgs.fwupd ]; + services.udev.packages = [ cfg.package ]; - systemd.packages = [ pkgs.fwupd ]; + systemd.packages = [ cfg.package ]; systemd.tmpfiles.rules = [ "d /var/lib/fwupd 0755 root root -" diff --git a/nixos/modules/services/hardware/sane.nix b/nixos/modules/services/hardware/sane.nix index fe05c5a5c06..3f52658ff01 100644 --- a/nixos/modules/services/hardware/sane.nix +++ b/nixos/modules/services/hardware/sane.nix @@ -76,7 +76,7 @@ in }; hardware.sane.configDir = mkOption { - type = types.string; + type = types.str; internal = true; description = "The value of SANE_CONFIG_DIR."; }; diff --git a/nixos/modules/services/hardware/sane_extra_backends/brscan4_etc_files.nix b/nixos/modules/services/hardware/sane_extra_backends/brscan4_etc_files.nix index bd114f0d2cc..fd19d8020fb 100644 --- a/nixos/modules/services/hardware/sane_extra_backends/brscan4_etc_files.nix +++ b/nixos/modules/services/hardware/sane_extra_backends/brscan4_etc_files.nix @@ -19,7 +19,7 @@ nix-shell -E 'with import { }; brscan4-etc-files.override{netDevices=[ */ -with lib; +with lib; let @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ brscan4 ]; - configurePhase = ":"; + dontConfigure = true; buildPhase = '' TARGET_DIR="$out/etc/opt/brother/scanner/brscan4" diff --git a/nixos/modules/services/hardware/sane_extra_backends/dsseries.nix b/nixos/modules/services/hardware/sane_extra_backends/dsseries.nix new file mode 100644 index 00000000000..d71a17f5ea6 --- /dev/null +++ b/nixos/modules/services/hardware/sane_extra_backends/dsseries.nix @@ -0,0 +1,26 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + options = { + + hardware.sane.dsseries.enable = + mkEnableOption "Brother DSSeries scan backend" // { + description = '' + When enabled, will automatically register the "dsseries" SANE backend. + + This supports the Brother DSmobile scanner series, including the + DS-620, DS-720D, DS-820W, and DS-920DW scanners. + ''; + }; + }; + + config = mkIf (config.hardware.sane.enable && config.hardware.sane.dsseries.enable) { + + hardware.sane.extraBackends = [ pkgs.dsseries ]; + services.udev.packages = [ pkgs.dsseries ]; + boot.kernelModules = [ "sg" ]; + + }; +} diff --git a/nixos/modules/services/hardware/tcsd.nix b/nixos/modules/services/hardware/tcsd.nix index d4b0a9495d7..3876280ee6b 100644 --- a/nixos/modules/services/hardware/tcsd.nix +++ b/nixos/modules/services/hardware/tcsd.nix @@ -49,13 +49,13 @@ in user = mkOption { default = "tss"; - type = types.string; + type = types.str; description = "User account under which tcsd runs."; }; group = mkOption { default = "tss"; - type = types.string; + type = types.str; description = "Group account under which tcsd runs."; }; @@ -65,19 +65,19 @@ in description = '' The location of the system persistent storage file. The system persistent storage file holds keys and data across - restarts of the TCSD and system reboots. + restarts of the TCSD and system reboots. ''; }; firmwarePCRs = mkOption { default = "0,1,2,3,4,5,6,7"; - type = types.string; + type = types.str; description = "PCR indices used in the TPM for firmware measurements."; }; kernelPCRs = mkOption { default = "8,9,10,11,12"; - type = types.string; + type = types.str; description = "PCR indices used in the TPM for kernel measurements."; }; diff --git a/nixos/modules/services/hardware/thinkfan.nix b/nixos/modules/services/hardware/thinkfan.nix index d17121ca1c5..7c105e99ca5 100644 --- a/nixos/modules/services/hardware/thinkfan.nix +++ b/nixos/modules/services/hardware/thinkfan.nix @@ -47,6 +47,8 @@ let ${cfg.levels} ''; + thinkfan = pkgs.thinkfan.override { smartSupport = cfg.smartSupport; }; + in { options = { @@ -61,6 +63,15 @@ in { ''; }; + smartSupport = mkOption { + type = types.bool; + default = false; + description = '' + Whether to build thinkfan with SMART support to read temperatures + directly from hard disks. + ''; + }; + sensors = mkOption { type = types.lines; default = '' @@ -77,7 +88,7 @@ in { Which may be provided by any hwmon drivers (keyword hwmon) - S.M.A.R.T. (since 0.9 and requires the USE_ATASMART compilation flag) + S.M.A.R.T. (requires smartSupport to be enabled) Which reads the temperature directly from the hard disk using libatasmart (keyword atasmart) @@ -125,18 +136,17 @@ in { config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.thinkfan ]; + environment.systemPackages = [ thinkfan ]; systemd.services.thinkfan = { description = "Thinkfan"; after = [ "basic.target" ]; wantedBy = [ "multi-user.target" ]; - path = [ pkgs.thinkfan ]; - serviceConfig.ExecStart = "${pkgs.thinkfan}/bin/thinkfan -n -c ${configFile}"; + path = [ thinkfan ]; + serviceConfig.ExecStart = "${thinkfan}/bin/thinkfan -n -c ${configFile}"; }; boot.extraModprobeConfig = "options thinkpad_acpi experimental=1 fan_control=1"; }; - } diff --git a/nixos/modules/services/hardware/throttled.nix b/nixos/modules/services/hardware/throttled.nix new file mode 100644 index 00000000000..13fc5e4792e --- /dev/null +++ b/nixos/modules/services/hardware/throttled.nix @@ -0,0 +1,30 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.throttled; +in { + options = { + services.throttled = { + enable = mkEnableOption "fix for Intel CPU throttling"; + + extraConfig = mkOption { + type = types.str; + default = ""; + description = "Alternative configuration"; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.packages = [ pkgs.throttled ]; + # The upstream package has this in Install, but that's not enough, see the NixOS manual + systemd.services."lenovo_fix".wantedBy = [ "multi-user.target" ]; + + environment.etc."lenovo_fix.conf".source = + if cfg.extraConfig != "" + then pkgs.writeText "lenovo_fix.conf" cfg.extraConfig + else "${pkgs.throttled}/etc/lenovo_fix.conf"; + }; +} diff --git a/nixos/modules/services/hardware/tlp.nix b/nixos/modules/services/hardware/tlp.nix index b894025c0fd..092ff051a04 100644 --- a/nixos/modules/services/hardware/tlp.nix +++ b/nixos/modules/services/hardware/tlp.nix @@ -17,6 +17,7 @@ tlp = pkgs.tlp.override { confFile = pkgs.runCommand "tlp" { config = cfg.extraConfig; passAsFile = [ "config" ]; + preferLocalBuild = true; } '' cat ${tlp}/etc/default/tlp > $out diff --git a/nixos/modules/services/hardware/trezord.nix b/nixos/modules/services/hardware/trezord.nix index c06a0665d02..62824ed7350 100644 --- a/nixos/modules/services/hardware/trezord.nix +++ b/nixos/modules/services/hardware/trezord.nix @@ -4,6 +4,12 @@ with lib; let cfg = config.services.trezord; in { + + ### docs + + meta = { + doc = ./trezord.xml; + }; ### interface @@ -16,6 +22,22 @@ in { Enable Trezor bridge daemon, for use with Trezor hardware bitcoin wallets. ''; }; + + emulator.enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable Trezor emulator support. + ''; + }; + + emulator.port = mkOption { + type = types.port; + default = 21324; + description = '' + Listening port for the Trezor emulator. + ''; + }; }; }; @@ -44,7 +66,7 @@ in { path = []; serviceConfig = { Type = "simple"; - ExecStart = "${pkgs.trezord}/bin/trezord-go"; + ExecStart = "${pkgs.trezord}/bin/trezord-go ${optionalString cfg.emulator.enable "-e ${builtins.toString cfg.emulator.port}"}"; User = "trezord"; }; }; diff --git a/nixos/modules/services/hardware/trezord.xml b/nixos/modules/services/hardware/trezord.xml new file mode 100644 index 00000000000..972d409d9d0 --- /dev/null +++ b/nixos/modules/services/hardware/trezord.xml @@ -0,0 +1,26 @@ + + Trezor + + Trezor is an open-source cryptocurrency hardware wallet and security token + allowing secure storage of private keys. + + + It offers advanced features such U2F two-factor authorization, SSH login + through + Trezor SSH agent, + GPG and a + password manager. + For more information, guides and documentation, see . + + + To enable Trezor support, add the following to your configuration.nix: + + = true; + + This will add all necessary udev rules and start Trezor Bridge. + + diff --git a/nixos/modules/services/hardware/triggerhappy.nix b/nixos/modules/services/hardware/triggerhappy.nix index 81d4a1ae65b..a500cb4fc36 100644 --- a/nixos/modules/services/hardware/triggerhappy.nix +++ b/nixos/modules/services/hardware/triggerhappy.nix @@ -17,7 +17,7 @@ let ${cfg.extraConfig} ''; - bindingCfg = { config, ... }: { + bindingCfg = { ... }: { options = { keys = mkOption { @@ -57,6 +57,15 @@ in ''; }; + user = mkOption { + type = types.str; + default = "nobody"; + example = "root"; + description = '' + User account under which triggerhappy runs. + ''; + }; + bindings = mkOption { type = types.listOf (types.submodule bindingCfg); default = []; @@ -96,7 +105,7 @@ in after = [ "local-fs.target" ]; description = "Global hotkey daemon"; serviceConfig = { - ExecStart = "${pkgs.triggerhappy}/bin/thd --user nobody --socket ${socket} --triggers ${configFile} --deviceglob /dev/input/event*"; + ExecStart = "${pkgs.triggerhappy}/bin/thd ${optionalString (cfg.user != "root") "--user ${cfg.user}"} --socket ${socket} --triggers ${configFile} --deviceglob /dev/input/event*"; }; }; diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix index 0266286aaac..83ab93bd7cf 100644 --- a/nixos/modules/services/hardware/udev.nix +++ b/nixos/modules/services/hardware/udev.nix @@ -85,7 +85,7 @@ let for i in $import_progs $run_progs; do if [[ ! -x $i ]]; then echo "FAIL" - echo "$i is called in udev rules but not installed by udev" + echo "$i is called in udev rules but is not executable or does not exist" exit 1 fi done @@ -116,10 +116,6 @@ let exit 1 fi - ${optionalString config.networking.usePredictableInterfaceNames '' - cp ${./80-net-setup-link.rules} $out/80-net-setup-link.rules - ''} - # If auto-configuration is disabled, then remove # udev's 80-drivers.rules file, which contains rules for # automatically calling modprobe. @@ -282,6 +278,8 @@ in services.udev.path = [ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.utillinux udev ]; + boot.kernelParams = mkIf (!config.networking.usePredictableInterfaceNames) [ "net.ifnames=0" ]; + environment.etc = [ { source = udevRules; target = "udev/rules.d"; diff --git a/nixos/modules/services/hardware/vdr.nix b/nixos/modules/services/hardware/vdr.nix index 4822506a899..6e246f70f51 100644 --- a/nixos/modules/services/hardware/vdr.nix +++ b/nixos/modules/services/hardware/vdr.nix @@ -12,7 +12,7 @@ in { options = { services.vdr = { - enable = mkEnableOption "enable VDR. Please put config into ${libDir}."; + enable = mkEnableOption "VDR. Please put config into ${libDir}"; package = mkOption { type = types.package; @@ -34,7 +34,7 @@ in { description = "Additional command line arguments to pass to VDR."; }; - enableLirc = mkEnableOption "enable LIRC"; + enableLirc = mkEnableOption "LIRC"; }; }; diff --git a/nixos/modules/services/logging/SystemdJournal2Gelf.nix b/nixos/modules/services/logging/SystemdJournal2Gelf.nix index e90d9e7a12b..f26aef7262b 100644 --- a/nixos/modules/services/logging/SystemdJournal2Gelf.nix +++ b/nixos/modules/services/logging/SystemdJournal2Gelf.nix @@ -16,7 +16,7 @@ in }; graylogServer = mkOption { - type = types.string; + type = types.str; example = "graylog2.example.com:11201"; description = '' Host and port of your graylog2 input. This should be a GELF @@ -25,7 +25,7 @@ in }; extraOptions = mkOption { - type = types.string; + type = types.separatedString " "; default = ""; description = '' Any extra flags to pass to SystemdJournal2Gelf. Note that @@ -56,4 +56,4 @@ in }; }; }; -} \ No newline at end of file +} diff --git a/nixos/modules/services/logging/awstats.nix b/nixos/modules/services/logging/awstats.nix index 612ae06d0a7..a92ff3bee49 100644 --- a/nixos/modules/services/logging/awstats.nix +++ b/nixos/modules/services/logging/awstats.nix @@ -4,6 +4,7 @@ with lib; let cfg = config.services.awstats; + httpd = config.services.httpd; package = pkgs.awstats; in @@ -31,7 +32,7 @@ in }; updateAt = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; example = "hourly"; description = '' @@ -49,7 +50,7 @@ in description = ''Enable the awstats web service. This switches on httpd.''; }; urlPrefix = mkOption { - type = types.string; + type = types.str; default = "/awstats"; description = "The URL prefix under which the awstats service appears."; }; @@ -67,50 +68,43 @@ in environment.etc."awstats/awstats.conf".source = pkgs.runCommand "awstats.conf" { preferLocalBuild = true; } ( let - cfg-httpd = config.services.httpd; logFormat = - if cfg-httpd.logFormat == "combined" then "1" else - if cfg-httpd.logFormat == "common" then "4" else - throw "awstats service doesn't support Apache log format `${cfg-httpd.logFormat}`"; + if httpd.logFormat == "combined" then "1" else + if httpd.logFormat == "common" then "4" else + throw "awstats service doesn't support Apache log format `${httpd.logFormat}`"; in '' sed \ -e 's|^\(DirData\)=.*$|\1="${cfg.vardir}"|' \ -e 's|^\(DirIcons\)=.*$|\1="icons"|' \ -e 's|^\(CreateDirDataIfNotExists\)=.*$|\1=1|' \ - -e 's|^\(SiteDomain\)=.*$|\1="${cfg-httpd.hostName}"|' \ - -e 's|^\(LogFile\)=.*$|\1="${cfg-httpd.logDir}/access_log"|' \ + -e 's|^\(SiteDomain\)=.*$|\1="${httpd.hostName}"|' \ + -e 's|^\(LogFile\)=.*$|\1="${httpd.logDir}/access_log"|' \ -e 's|^\(LogFormat\)=.*$|\1=${logFormat}|' \ < '${package.out}/wwwroot/cgi-bin/awstats.model.conf' > "$out" echo '${cfg.extraConfig}' >> "$out" ''); - # The httpd sub-service showing awstats. - services.httpd.enable = mkIf cfg.service.enable true; - services.httpd.extraSubservices = mkIf cfg.service.enable [ { function = { serverInfo, ... }: { - extraConfig = - '' - Alias ${cfg.service.urlPrefix}/classes "${package.out}/wwwroot/classes/" - Alias ${cfg.service.urlPrefix}/css "${package.out}/wwwroot/css/" - Alias ${cfg.service.urlPrefix}/icons "${package.out}/wwwroot/icon/" - ScriptAlias ${cfg.service.urlPrefix}/ "${package.out}/wwwroot/cgi-bin/" + systemd.tmpfiles.rules = optionals cfg.service.enable [ + "d '${cfg.vardir}' - ${httpd.user} ${httpd.group} - -" + "Z '${cfg.vardir}' - ${httpd.user} ${httpd.group} - -" + ]; - - Options None - AllowOverride None - Order allow,deny - Allow from all - - ''; - startupScript = - let - inherit (serverInfo.serverConfig) user group; - in pkgs.writeScript "awstats_startup.sh" - '' - mkdir -p '${cfg.vardir}' - chown '${user}:${group}' '${cfg.vardir}' - ''; - };}]; + # The httpd sub-service showing awstats. + services.httpd = optionalAttrs cfg.service.enable { + enable = true; + extraConfig = '' + Alias ${cfg.service.urlPrefix}/classes "${package.out}/wwwroot/classes/" + Alias ${cfg.service.urlPrefix}/css "${package.out}/wwwroot/css/" + Alias ${cfg.service.urlPrefix}/icons "${package.out}/wwwroot/icon/" + ScriptAlias ${cfg.service.urlPrefix}/ "${package.out}/wwwroot/cgi-bin/" + + + Options None + Require all granted + + ''; + }; systemd.services.awstats-update = mkIf (cfg.updateAt != null) { description = "awstats log collector"; diff --git a/nixos/modules/services/logging/graylog.nix b/nixos/modules/services/logging/graylog.nix index 74a7b3c9b47..a889a44d4b2 100644 --- a/nixos/modules/services/logging/graylog.nix +++ b/nixos/modules/services/logging/graylog.nix @@ -108,7 +108,7 @@ in }; extraConfig = mkOption { - type = types.str; + type = types.lines; default = ""; description = "Any other configuration options you might want to add"; }; @@ -134,6 +134,10 @@ in }; }; + systemd.tmpfiles.rules = [ + "d '${cfg.messageJournalDir}' - ${cfg.user} - - -" + ]; + systemd.services.graylog = with pkgs; { description = "Graylog Server"; wantedBy = [ "multi-user.target" ]; @@ -143,25 +147,22 @@ in }; path = [ pkgs.jre_headless pkgs.which pkgs.procps ]; preStart = '' - mkdir -p /var/lib/graylog -m 755 - rm -rf /var/lib/graylog/plugins || true mkdir -p /var/lib/graylog/plugins -m 755 + mkdir -p "$(dirname ${cfg.nodeIdFile})" + chown -R ${cfg.user} "$(dirname ${cfg.nodeIdFile})" + for declarativeplugin in `ls ${glPlugins}/bin/`; do ln -sf ${glPlugins}/bin/$declarativeplugin /var/lib/graylog/plugins/$declarativeplugin done for includedplugin in `ls ${cfg.package}/plugin/`; do ln -s ${cfg.package}/plugin/$includedplugin /var/lib/graylog/plugins/$includedplugin || true done - chown -R ${cfg.user} /var/lib/graylog - - mkdir -p ${cfg.messageJournalDir} -m 755 - chown -R ${cfg.user} ${cfg.messageJournalDir} ''; serviceConfig = { User="${cfg.user}"; - PermissionsStartOnly=true; + StateDirectory = "graylog"; ExecStart = "${cfg.package}/bin/graylogctl run"; }; }; diff --git a/nixos/modules/services/logging/heartbeat.nix b/nixos/modules/services/logging/heartbeat.nix index b595ac07bf5..56fb4deabda 100644 --- a/nixos/modules/services/logging/heartbeat.nix +++ b/nixos/modules/services/logging/heartbeat.nix @@ -54,16 +54,18 @@ in config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.stateDir}' - nobody nogroup - -" + ]; + systemd.services.heartbeat = with pkgs; { description = "heartbeat log shipper"; wantedBy = [ "multi-user.target" ]; preStart = '' mkdir -p "${cfg.stateDir}"/{data,logs} - chown nobody:nogroup "${cfg.stateDir}"/{data,logs} ''; serviceConfig = { User = "nobody"; - PermissionsStartOnly = true; AmbientCapabilities = "cap_net_raw"; ExecStart = "${pkgs.heartbeat}/bin/heartbeat -c \"${heartbeatYml}\" -path.data \"${cfg.stateDir}/data\" -path.logs \"${cfg.stateDir}/logs\""; }; diff --git a/nixos/modules/services/logging/journalbeat.nix b/nixos/modules/services/logging/journalbeat.nix index 8186a3b02c3..89f53b1b245 100644 --- a/nixos/modules/services/logging/journalbeat.nix +++ b/nixos/modules/services/logging/journalbeat.nix @@ -5,11 +5,13 @@ with lib; let cfg = config.services.journalbeat; + lt6 = builtins.compareVersions cfg.package.version "6" < 0; + journalbeatYml = pkgs.writeText "journalbeat.yml" '' name: ${cfg.name} tags: ${builtins.toJSON cfg.tags} - journalbeat.cursor_state_file: ${cfg.stateDir}/cursor-state + ${optionalString lt6 "journalbeat.cursor_state_file: /var/lib/${cfg.stateDir}/cursor-state"} ${cfg.extraConfig} ''; @@ -22,6 +24,16 @@ in enable = mkEnableOption "journalbeat"; + package = mkOption { + type = types.package; + default = pkgs.journalbeat; + defaultText = "pkgs.journalbeat"; + example = literalExample "pkgs.journalbeat7"; + description = '' + The journalbeat package to use + ''; + }; + name = mkOption { type = types.str; default = "journalbeat"; @@ -36,13 +48,17 @@ in stateDir = mkOption { type = types.str; - default = "/var/lib/journalbeat"; - description = "The state directory. Journalbeat's own logs and other data are stored here."; + default = "journalbeat"; + description = '' + Directory below /var/lib/ to store journalbeat's + own logs and other data. This directory will be created automatically + using systemd's StateDirectory mechanism. + ''; }; extraConfig = mkOption { type = types.lines; - default = '' + default = optionalString lt6 '' journalbeat: seek_position: cursor cursor_seek_fallback: tail @@ -61,7 +77,16 @@ in config = mkIf cfg.enable { - systemd.services.journalbeat = with pkgs; { + assertions = [ + { + assertion = !hasPrefix "/" cfg.stateDir; + message = + "The option services.journalbeat.stateDir shouldn't be an absolute directory." + + " It should be a directory relative to /var/lib/."; + } + ]; + + systemd.services.journalbeat = { description = "Journalbeat log shipper"; wantedBy = [ "multi-user.target" ]; preStart = '' @@ -69,7 +94,13 @@ in mkdir -p ${cfg.stateDir}/logs ''; serviceConfig = { - ExecStart = "${pkgs.journalbeat}/bin/journalbeat -c ${journalbeatYml} -path.data ${cfg.stateDir}/data -path.logs ${cfg.stateDir}/logs"; + StateDirectory = cfg.stateDir; + ExecStart = '' + ${cfg.package}/bin/journalbeat \ + -c ${journalbeatYml} \ + -path.data /var/lib/${cfg.stateDir}/data \ + -path.logs /var/lib/${cfg.stateDir}/logs''; + Restart = "always"; }; }; }; diff --git a/nixos/modules/services/logging/journalwatch.nix b/nixos/modules/services/logging/journalwatch.nix index d0824df38ae..576c646c0f5 100644 --- a/nixos/modules/services/logging/journalwatch.nix +++ b/nixos/modules/services/logging/journalwatch.nix @@ -4,6 +4,8 @@ with lib; let cfg = config.services.journalwatch; user = "journalwatch"; + # for journal access + group = "systemd-journal"; dataDir = "/var/lib/${user}"; journalwatchConfig = pkgs.writeText "config" ('' @@ -31,6 +33,17 @@ let '') filterBlocks); + # can't use joinSymlinks directly, because when we point $XDG_CONFIG_HOME + # to the /nix/store path, we still need the subdirectory "journalwatch" inside that + # to match journalwatch's expectations + journalwatchConfigDir = pkgs.runCommand "journalwatch-config" + { preferLocalBuild = true; allowSubstitutes = false; } + '' + mkdir -p $out/journalwatch + ln -sf ${journalwatchConfig} $out/journalwatch/config + ln -sf ${journalwatchPatterns} $out/journalwatch/patterns + ''; + in { options = { @@ -199,33 +212,38 @@ in { users.users.${user} = { isSystemUser = true; - createHome = true; home = dataDir; - # for journal access - group = "systemd-journal"; + group = group; }; + systemd.tmpfiles.rules = [ + # present since NixOS 19.09: remove old stateful symlink join directory, + # which has been replaced with the journalwatchConfigDir store path + "R ${dataDir}/config" + ]; + systemd.services.journalwatch = { + environment = { + # journalwatch stores the last processed timpestamp here + # the share subdirectory is historic now that config home lives in /nix/store, + # but moving this in a backwards-compatible way is much more work than what's justified + # for cleaning that up. XDG_DATA_HOME = "${dataDir}/share"; - XDG_CONFIG_HOME = "${dataDir}/config"; + XDG_CONFIG_HOME = journalwatchConfigDir; }; serviceConfig = { User = user; + Group = group; Type = "oneshot"; - PermissionsStartOnly = true; + # requires a relative directory name to create beneath /var/lib + StateDirectory = user; + StateDirectoryMode = 0750; ExecStart = "${pkgs.python3Packages.journalwatch}/bin/journalwatch mail"; # lowest CPU and IO priority, but both still in best-effort class to prevent starvation Nice=19; IOSchedulingPriority=7; }; - preStart = '' - chown -R ${user}:systemd-journal ${dataDir} - chmod -R u+rwX,go-w ${dataDir} - mkdir -p ${dataDir}/config/journalwatch - ln -sf ${journalwatchConfig} ${dataDir}/config/journalwatch/config - ln -sf ${journalwatchPatterns} ${dataDir}/config/journalwatch/patterns - ''; }; systemd.timers.journalwatch = { diff --git a/nixos/modules/services/logging/logcheck.nix b/nixos/modules/services/logging/logcheck.nix index 1477d273d5e..e7d6e3d6263 100644 --- a/nixos/modules/services/logging/logcheck.nix +++ b/nixos/modules/services/logging/logcheck.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.logcheck; - defaultRules = pkgs.runCommand "logcheck-default-rules" {} '' + defaultRules = pkgs.runCommand "logcheck-default-rules" { preferLocalBuild = true; } '' cp -prd ${pkgs.logcheck}/etc/logcheck $out chmod u+w $out rm -r $out/logcheck.* @@ -155,7 +155,7 @@ in config = mkOption { default = "FQDN=1"; - type = types.string; + type = types.lines; description = '' Config options that you would like in logcheck.conf. ''; @@ -227,7 +227,7 @@ in ''; services.cron.systemCronJobs = - let withTime = name: {timeArgs, ...}: ! (builtins.isNull timeArgs); + let withTime = name: {timeArgs, ...}: timeArgs != null; mkCron = name: {user, cmdline, timeArgs, ...}: '' ${timeArgs} ${user} ${cmdline} ''; diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix index aa019d855ea..9b707e9deb5 100644 --- a/nixos/modules/services/logging/logstash.nix +++ b/nixos/modules/services/logging/logstash.nix @@ -27,7 +27,10 @@ let logstashSettingsYml = pkgs.writeText "logstash.yml" cfg.extraSettings; - logstashSettingsDir = pkgs.runCommand "logstash-settings" {inherit logstashSettingsYml;} '' + logstashSettingsDir = pkgs.runCommand "logstash-settings" { + inherit logstashSettingsYml; + preferLocalBuild = true; + } '' mkdir -p $out ln -s $logstashSettingsYml $out/logstash.yml ''; diff --git a/nixos/modules/services/logging/rsyslogd.nix b/nixos/modules/services/logging/rsyslogd.nix index 1ea96b8f132..b924d94e0b0 100644 --- a/nixos/modules/services/logging/rsyslogd.nix +++ b/nixos/modules/services/logging/rsyslogd.nix @@ -46,7 +46,7 @@ in }; defaultConfig = mkOption { - type = types.string; + type = types.lines; default = defaultConf; description = '' The default syslog.conf file configures a @@ -56,7 +56,7 @@ in }; extraConfig = mkOption { - type = types.string; + type = types.lines; default = ""; example = "news.* -/var/log/news"; description = '' diff --git a/nixos/modules/services/mail/davmail.nix b/nixos/modules/services/mail/davmail.nix new file mode 100644 index 00000000000..374a3dd75c1 --- /dev/null +++ b/nixos/modules/services/mail/davmail.nix @@ -0,0 +1,99 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.davmail; + + configType = with types; + oneOf [ (attrsOf configType) str int bool ] // { + description = "davmail config type (str, int, bool or attribute set thereof)"; + }; + + toStr = val: if isBool val then boolToString val else toString val; + + linesForAttrs = attrs: concatMap (name: let value = attrs.${name}; in + if isAttrs value + then map (line: name + "." + line) (linesForAttrs value) + else [ "${name}=${toStr value}" ] + ) (attrNames attrs); + + configFile = pkgs.writeText "davmail.properties" (concatStringsSep "\n" (linesForAttrs cfg.config)); + +in + + { + options.services.davmail = { + enable = mkEnableOption "davmail, an MS Exchange gateway"; + + url = mkOption { + type = types.str; + description = "Outlook Web Access URL to access the exchange server, i.e. the base webmail URL."; + example = "https://outlook.office365.com/EWS/Exchange.asmx"; + }; + + config = mkOption { + type = configType; + default = {}; + description = '' + Davmail configuration. Refer to + + and + for details on supported values. + ''; + example = literalExample '' + { + davmail.allowRemote = true; + davmail.imapPort = 55555; + davmail.bindAddress = "10.0.1.2"; + davmail.smtpSaveInSent = true; + davmail.folderSizeLimit = 10; + davmail.caldavAutoSchedule = false; + log4j.logger.rootLogger = "DEBUG"; + } + ''; + }; + }; + + config = mkIf cfg.enable { + + services.davmail.config = { + davmail = mapAttrs (name: mkDefault) { + server = true; + disableUpdateCheck = true; + logFilePath = "/var/log/davmail/davmail.log"; + logFileSize = "1MB"; + mode = "auto"; + url = cfg.url; + caldavPort = 1080; + imapPort = 1143; + ldapPort = 1389; + popPort = 1110; + smtpPort = 1025; + }; + log4j = { + logger.davmail = mkDefault "WARN"; + logger.httpclient.wire = mkDefault "WARN"; + logger.org.apache.commons.httpclient = mkDefault "WARN"; + rootLogger = mkDefault "WARN"; + }; + }; + + systemd.services.davmail = { + description = "DavMail POP/IMAP/SMTP Exchange Gateway"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.davmail}/bin/davmail ${configFile}"; + Restart = "on-failure"; + DynamicUser = "yes"; + LogsDirectory = "davmail"; + }; + }; + + environment.systemPackages = [ pkgs.davmail ]; + }; + } diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix index 30ad7d82fb8..cdbb776454b 100644 --- a/nixos/modules/services/mail/dovecot.nix +++ b/nixos/modules/services/mail/dovecot.nix @@ -16,13 +16,13 @@ let sendmail_path = /run/wrappers/bin/sendmail '' - (if isNull cfg.sslServerCert then '' + (if cfg.sslServerCert == null then '' ssl = no disable_plaintext_auth = no '' else '' ssl_cert = <${cfg.sslServerCert} ssl_key = <${cfg.sslServerKey} - ${optionalString (!(isNull cfg.sslCACert)) ("ssl_ca = <" + cfg.sslCACert)} + ${optionalString (cfg.sslCACert != null) ("ssl_ca = <" + cfg.sslCACert)} ssl_dh = <${config.security.dhparams.params.dovecot2.path} disable_plaintext_auth = yes '') @@ -298,7 +298,7 @@ in config = mkIf cfg.enable { security.pam.services.dovecot2 = mkIf cfg.enablePAM {}; - security.dhparams = mkIf (! isNull cfg.sslServerCert) { + security.dhparams = mkIf (cfg.sslServerCert != null) { enable = true; params.dovecot2 = {}; }; @@ -344,8 +344,7 @@ in systemd.services.dovecot2 = { description = "Dovecot IMAP/POP3 server"; - after = [ "keys.target" "network.target" ]; - wants = [ "keys.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; restartTriggers = [ cfg.configFile ]; @@ -384,14 +383,14 @@ in { assertion = intersectLists cfg.protocols [ "pop3" "imap" ] != []; message = "dovecot needs at least one of the IMAP or POP3 listeners enabled"; } - { assertion = isNull cfg.sslServerCert == isNull cfg.sslServerKey - && (!(isNull cfg.sslCACert) -> !(isNull cfg.sslServerCert || isNull cfg.sslServerKey)); + { assertion = (cfg.sslServerCert == null) == (cfg.sslServerKey == null) + && (cfg.sslCACert != null -> !(cfg.sslServerCert == null || cfg.sslServerKey == null)); message = "dovecot needs both sslServerCert and sslServerKey defined for working crypto"; } { assertion = cfg.showPAMFailure -> cfg.enablePAM; message = "dovecot is configured with showPAMFailure while enablePAM is disabled"; } - { assertion = (cfg.sieveScripts != {}) -> ((cfg.mailUser != null) && (cfg.mailGroup != null)); + { assertion = cfg.sieveScripts != {} -> (cfg.mailUser != null && cfg.mailGroup != null); message = "dovecot requires mailUser and mailGroup to be set when sieveScripts is set"; } ]; diff --git a/nixos/modules/services/mail/dspam.nix b/nixos/modules/services/mail/dspam.nix index 167b5aeccc8..72b8c4c08b9 100644 --- a/nixos/modules/services/mail/dspam.nix +++ b/nixos/modules/services/mail/dspam.nix @@ -113,19 +113,14 @@ in { Group = cfg.group; RuntimeDirectory = optional (cfg.domainSocket == defaultSock) "dspam"; RuntimeDirectoryMode = optional (cfg.domainSocket == defaultSock) "0750"; - PermissionsStartOnly = true; + StateDirectory = "dspam"; + StateDirectoryMode = "0750"; + LogsDirectory = "dspam"; + LogsDirectoryMode = "0750"; # DSPAM segfaults on just about every error Restart = "on-abort"; RestartSec = "1s"; }; - - preStart = '' - mkdir -m750 -p /var/lib/dspam - chown -R "${cfg.user}:${cfg.group}" /var/lib/dspam - - mkdir -m750 -p /var/log/dspam - chown -R "${cfg.user}:${cfg.group}" /var/log/dspam - ''; }; } diff --git a/nixos/modules/services/mail/exim.nix b/nixos/modules/services/mail/exim.nix index c0581129135..47812dd1e40 100644 --- a/nixos/modules/services/mail/exim.nix +++ b/nixos/modules/services/mail/exim.nix @@ -21,7 +21,7 @@ in }; config = mkOption { - type = types.string; + type = types.lines; default = ""; description = '' Verbatim Exim configuration. This should not contain exim_user, @@ -30,7 +30,7 @@ in }; user = mkOption { - type = types.string; + type = types.str; default = "exim"; description = '' User to use when no root privileges are required. @@ -42,7 +42,7 @@ in }; group = mkOption { - type = types.string; + type = types.str; default = "exim"; description = '' Group to use when no root privileges are required. @@ -50,7 +50,7 @@ in }; spoolDir = mkOption { - type = types.string; + type = types.path; default = "/var/spool/exim"; description = '' Location of the spool directory of exim. diff --git a/nixos/modules/services/mail/mailcatcher.nix b/nixos/modules/services/mail/mailcatcher.nix new file mode 100644 index 00000000000..fa8d41e918d --- /dev/null +++ b/nixos/modules/services/mail/mailcatcher.nix @@ -0,0 +1,60 @@ +{ config, pkgs, lib, ... }: + +let + cfg = config.services.mailcatcher; + + inherit (lib) mkEnableOption mkIf mkOption types; +in +{ + # interface + + options = { + + services.mailcatcher = { + enable = mkEnableOption "MailCatcher"; + + http.ip = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "The ip address of the http server."; + }; + + http.port = mkOption { + type = types.port; + default = 1080; + description = "The port address of the http server."; + }; + + smtp.ip = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "The ip address of the smtp server."; + }; + + smtp.port = mkOption { + type = types.port; + default = 1025; + description = "The port address of the smtp server."; + }; + }; + + }; + + # implementation + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.mailcatcher ]; + + systemd.services.mailcatcher = { + description = "MailCatcher Service"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + DynamicUser = true; + Restart = "always"; + ExecStart = "${pkgs.mailcatcher}/bin/mailcatcher --foreground --no-quit --http-ip ${cfg.http.ip} --http-port ${toString cfg.http.port} --smtp-ip ${cfg.smtp.ip} --smtp-port ${toString cfg.smtp.port}"; + }; + }; + }; +} diff --git a/nixos/modules/services/mail/mailman.nix b/nixos/modules/services/mail/mailman.nix new file mode 100644 index 00000000000..11dd5cb48db --- /dev/null +++ b/nixos/modules/services/mail/mailman.nix @@ -0,0 +1,114 @@ +{ config, pkgs, lib, ... }: # mailman.nix + +with lib; + +let + + cfg = config.services.mailman; + + pythonEnv = pkgs.python3.withPackages (ps: [ps.mailman]); + + mailmanExe = with pkgs; stdenv.mkDerivation { + name = "mailman-" + python3Packages.mailman.version; + unpackPhase = ":"; + installPhase = '' + mkdir -p $out/bin + sed >"$out/bin/mailman" <"${pythonEnv}/bin/mailman" \ + -e "2 iexport MAILMAN_CONFIG_FILE=/etc/mailman.cfg" + chmod +x $out/bin/mailman + ''; + }; + + mailmanCfg = '' + [mailman] + site_owner: ${cfg.siteOwner} + layout: fhs + + [paths.fhs] + bin_dir: ${pkgs.python3Packages.mailman}/bin + var_dir: /var/lib/mailman + queue_dir: $var_dir/queue + log_dir: $var_dir/log + lock_dir: $var_dir/lock + etc_dir: /etc + ext_dir: $etc_dir/mailman.d + pid_file: /run/mailman/master.pid + ''; + +in { + + ###### interface + + options = { + + services.mailman = { + + enable = mkOption { + type = types.bool; + default = false; + description = "Enable Mailman on this host. Requires an active Postfix installation."; + }; + + siteOwner = mkOption { + type = types.str; + default = "postmaster"; + description = '' + Certain messages that must be delivered to a human, but which can't + be delivered to a list owner (e.g. a bounce from a list owner), will + be sent to this address. It should point to a human. + ''; + }; + + + }; + }; + + ###### implementation + + config = mkIf cfg.enable { + + assertions = [ + { assertion = cfg.enable -> config.services.postfix.enable; + message = "Mailman requires Postfix"; + } + { assertion = config.services.postfix.recipientDelimiter == "+"; + message = "Postfix's recipientDelimiter must be set to '+'."; + } + ]; + + users.users.mailman = { description = "GNU Mailman"; isSystemUser = true; }; + + environment = { + systemPackages = [ mailmanExe ]; + etc."mailman.cfg".text = mailmanCfg; + }; + + services.postfix = { + relayDomains = [ "hash:/var/lib/mailman/data/postfix_domains" ]; + config = { + transport_maps = [ "hash:/var/lib/mailman/data/postfix_lmtp" ]; + local_recipient_maps = [ "hash:/var/lib/mailman/data/postfix_lmtp" ]; + # Mailman uses recipient delimiters, so we don't need special handling. + owner_request_special = "no"; + }; + }; + + systemd.services.mailman = { + description = "GNU Mailman Master Process"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${mailmanExe}/bin/mailman start"; + ExecStop = "${mailmanExe}/bin/mailman stop"; + User = "mailman"; + Type = "forking"; + StateDirectory = "mailman"; + StateDirectoryMode = "0700"; + RuntimeDirectory = "mailman"; + PIDFile = "/run/mailman/master.pid"; + }; + }; + + }; + +} diff --git a/nixos/modules/services/mail/nullmailer.nix b/nixos/modules/services/mail/nullmailer.nix index 418c02af4b7..2c2910e0aa9 100644 --- a/nixos/modules/services/mail/nullmailer.nix +++ b/nixos/modules/services/mail/nullmailer.nix @@ -14,7 +14,7 @@ with lib; }; user = mkOption { - type = types.string; + type = types.str; default = "nullmailer"; description = '' User to use to run nullmailer-send. @@ -22,7 +22,7 @@ with lib; }; group = mkOption { - type = types.string; + type = types.str; default = "nullmailer"; description = '' Group to use to run nullmailer-send. @@ -212,6 +212,10 @@ with lib; }; }; + systemd.tmpfiles.rules = [ + "d /var/spool/nullmailer - ${cfg.user} - - -" + ]; + systemd.services.nullmailer = { description = "nullmailer"; wantedBy = [ "multi-user.target" ]; @@ -220,13 +224,11 @@ with lib; preStart = '' mkdir -p /var/spool/nullmailer/{queue,tmp} rm -f /var/spool/nullmailer/trigger && mkfifo -m 660 /var/spool/nullmailer/trigger - chown ${cfg.user} /var/spool/nullmailer/* ''; serviceConfig = { User = cfg.user; Group = cfg.group; - PermissionsStartOnly=true; ExecStart = "${pkgs.nullmailer}/bin/nullmailer-send"; Restart = "always"; }; diff --git a/nixos/modules/services/mail/offlineimap.nix b/nixos/modules/services/mail/offlineimap.nix index 4b24bd8d081..294e3806f94 100644 --- a/nixos/modules/services/mail/offlineimap.nix +++ b/nixos/modules/services/mail/offlineimap.nix @@ -7,7 +7,7 @@ let in { options.services.offlineimap = { - enable = mkEnableOption "Offlineimap, a software to dispose your mailbox(es) as a local Maildir(s)."; + enable = mkEnableOption "OfflineIMAP, a software to dispose your mailbox(es) as a local Maildir(s)"; install = mkOption { type = types.bool; diff --git a/nixos/modules/services/mail/opendkim.nix b/nixos/modules/services/mail/opendkim.nix index 7855efb46c7..253823cbaf9 100644 --- a/nixos/modules/services/mail/opendkim.nix +++ b/nixos/modules/services/mail/opendkim.nix @@ -101,13 +101,16 @@ in { environment.systemPackages = [ pkgs.opendkim ]; + systemd.tmpfiles.rules = [ + "d '${cfg.keyPath}' - ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.opendkim = { description = "OpenDKIM signing and verification daemon"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = '' - mkdir -p "${cfg.keyPath}" cd "${cfg.keyPath}" if ! test -f ${cfg.selector}.private; then ${pkgs.opendkim}/bin/opendkim-genkey -s ${cfg.selector} -d all-domains-generic-key @@ -116,7 +119,6 @@ in { cat ${cfg.selector}.txt echo "-------------------------------------------------------------" fi - chown ${cfg.user}:${cfg.group} ${cfg.selector}.private ''; serviceConfig = { @@ -124,7 +126,6 @@ in { User = cfg.user; Group = cfg.group; RuntimeDirectory = optional (cfg.socket == defaultSock) "opendkim"; - PermissionsStartOnly = true; }; }; diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix index 4276552d4f0..a870550ba50 100644 --- a/nixos/modules/services/mail/opensmtpd.nix +++ b/nixos/modules/services/mail/opensmtpd.nix @@ -8,7 +8,7 @@ let conf = pkgs.writeText "smtpd.conf" cfg.serverConfiguration; args = concatStringsSep " " cfg.extraServerArgs; - sendmail = pkgs.runCommand "opensmtpd-sendmail" {} '' + sendmail = pkgs.runCommand "opensmtpd-sendmail" { preferLocalBuild = true; } '' mkdir -p $out/bin ln -s ${cfg.package}/sbin/smtpctl $out/bin/sendmail ''; diff --git a/nixos/modules/services/mail/pfix-srsd.nix b/nixos/modules/services/mail/pfix-srsd.nix index ab5f4c39e8c..9599854352c 100644 --- a/nixos/modules/services/mail/pfix-srsd.nix +++ b/nixos/modules/services/mail/pfix-srsd.nix @@ -48,8 +48,8 @@ with lib; requiredBy = [ "postfix.service" ]; serviceConfig = { Type = "forking"; - PIDFile = "/var/run/pfix-srsd.pid"; - ExecStart = "${pkgs.pfixtools}/bin/pfix-srsd -p /var/run/pfix-srsd.pid -I ${config.services.pfix-srsd.domain} ${config.services.pfix-srsd.secretsFile}"; + PIDFile = "/run/pfix-srsd.pid"; + ExecStart = "${pkgs.pfixtools}/bin/pfix-srsd -p /run/pfix-srsd.pid -I ${config.services.pfix-srsd.domain} ${config.services.pfix-srsd.secretsFile}"; }; }; }; diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix index d43733484ff..c9b3ff0c8f8 100644 --- a/nixos/modules/services/mail/postfix.nix +++ b/nixos/modules/services/mail/postfix.nix @@ -13,6 +13,7 @@ let || cfg.extraAliases != ""; haveTransport = cfg.transport != ""; haveVirtual = cfg.virtual != ""; + haveLocalRecipients = cfg.localRecipients != null; clientAccess = optional (cfg.dnsBlacklistOverrides != "") @@ -244,6 +245,7 @@ let aliasesFile = pkgs.writeText "postfix-aliases" aliases; virtualFile = pkgs.writeText "postfix-virtual" cfg.virtual; + localRecipientMapFile = pkgs.writeText "postfix-local-recipient-map" (concatMapStrings (x: x + " ACCEPT\n") cfg.localRecipients); checkClientAccessFile = pkgs.writeText "postfix-check-client-access" cfg.dnsBlacklistOverrides; mainCfFile = pkgs.writeText "postfix-main.cf" mainCf; masterCfFile = pkgs.writeText "postfix-master.cf" masterCfContent; @@ -445,7 +447,7 @@ in }; config = mkOption { - type = with types; attrsOf (either bool (either str (listOf str))); + type = with types; attrsOf (oneOf [ bool str (listOf str) ]); description = '' The main.cf configuration file as key value set. ''; @@ -506,6 +508,19 @@ in ''; }; + localRecipients = mkOption { + type = with types; nullOr (listOf str); + default = null; + description = '' + List of accepted local users. Specify a bare username, an + "@domain.tld" wild-card, or a complete + "user@domain.tld" address. If set, these names end + up in the local recipient map -- see the local(8) man-page -- and + effectively replace the system user database lookup that's otherwise + used by default. + ''; + }; + transport = mkOption { default = ""; description = " @@ -515,7 +530,7 @@ in dnsBlacklists = mkOption { default = []; - type = with types; listOf string; + type = with types; listOf str; description = "dns blacklist servers to use with smtpd_client_restrictions"; }; @@ -742,6 +757,7 @@ in // optionalAttrs haveAliases { alias_maps = [ "${cfg.aliasMapType}:/etc/postfix/aliases" ]; } // optionalAttrs haveTransport { transport_maps = [ "hash:/etc/postfix/transport" ]; } // optionalAttrs haveVirtual { virtual_alias_maps = [ "${cfg.virtualMapType}:/etc/postfix/virtual" ]; } + // optionalAttrs haveLocalRecipients { local_recipient_maps = [ "hash:/etc/postfix/local_recipients" ] ++ optional haveAliases "$alias_maps"; } // optionalAttrs (cfg.dnsBlacklists != []) { smtpd_client_restrictions = clientRestrictions; } // optionalAttrs cfg.useSrs { sender_canonical_maps = [ "tcp:127.0.0.1:10001" ]; @@ -869,6 +885,9 @@ in (mkIf haveVirtual { services.postfix.mapFiles."virtual" = virtualFile; }) + (mkIf haveLocalRecipients { + services.postfix.mapFiles."local_recipients" = localRecipientMapFile; + }) (mkIf cfg.enableHeaderChecks { services.postfix.mapFiles."header_checks" = headerChecksFile; }) diff --git a/nixos/modules/services/mail/postgrey.nix b/nixos/modules/services/mail/postgrey.nix index 241f75eae27..660c4ca74b1 100644 --- a/nixos/modules/services/mail/postgrey.nix +++ b/nixos/modules/services/mail/postgrey.nix @@ -12,7 +12,7 @@ with lib; let inetSocket = with types; { options = { addr = mkOption { - type = nullOr string; + type = nullOr str; default = null; example = "127.0.0.1"; description = "The address to bind to. Localhost if null"; @@ -29,12 +29,12 @@ with lib; let options = { path = mkOption { type = path; - default = "/var/run/postgrey.sock"; + default = "/run/postgrey.sock"; description = "Path of the unix socket"; }; mode = mkOption { - type = string; + type = str; default = "0777"; description = "Mode of the unix socket"; }; @@ -53,7 +53,7 @@ in { socket = mkOption { type = socket; default = { - path = "/var/run/postgrey.sock"; + path = "/run/postgrey.sock"; mode = "0777"; }; example = { @@ -63,17 +63,17 @@ in { description = "Socket to bind to"; }; greylistText = mkOption { - type = string; + type = str; default = "Greylisted for %%s seconds"; description = "Response status text for greylisted messages; use %%s for seconds left until greylisting is over and %%r for mail domain of recipient"; }; greylistAction = mkOption { - type = string; + type = str; default = "DEFER_IF_PERMIT"; description = "Response status for greylisted messages (see access(5))"; }; greylistHeader = mkOption { - type = string; + type = str; default = "X-Greylist: delayed %%t seconds by postgrey-%%v at %%h; %%d"; description = "Prepend header to greylisted mails; use %%t for seconds delayed due to greylisting, %%v for the version of postgrey, %%d for the date, and %%h for the host"; }; @@ -88,7 +88,7 @@ in { description = "Delete entries from whitelist if they haven't been seen for N days"; }; retryWindow = mkOption { - type = either string natural; + type = either str natural; default = 2; example = "12h"; description = "Allow N days for the first retry. Use string with appended 'h' to specify time in hours"; diff --git a/nixos/modules/services/mail/rmilter.nix b/nixos/modules/services/mail/rmilter.nix deleted file mode 100644 index 492c6458321..00000000000 --- a/nixos/modules/services/mail/rmilter.nix +++ /dev/null @@ -1,252 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - - rspamdCfg = config.services.rspamd; - postfixCfg = config.services.postfix; - cfg = config.services.rmilter; - - inetSocket = addr: port: "inet:[${toString port}@${addr}]"; - unixSocket = sock: "unix:${sock}"; - - systemdSocket = if cfg.bindSocket.type == "unix" then cfg.bindSocket.path - else "${cfg.bindSocket.address}:${toString cfg.bindSocket.port}"; - rmilterSocket = if cfg.bindSocket.type == "unix" then unixSocket cfg.bindSocket.path - else inetSocket cfg.bindSocket.address cfg.bindSocket.port; - - rmilterConf = '' - pidfile = /run/rmilter/rmilter.pid; - bind_socket = ${if cfg.socketActivation then "fd:3" else rmilterSocket}; - tempdir = /tmp; - '' + (with cfg.rspamd; if enable then '' - spamd { - servers = ${concatStringsSep ", " servers}; - connect_timeout = 1s; - results_timeout = 20s; - error_time = 10; - dead_time = 300; - maxerrors = 10; - reject_message = "${rejectMessage}"; - ${optionalString (length whitelist != 0) "whitelist = ${concatStringsSep ", " whitelist};"} - - # rspamd_metric - metric for using with rspamd - # Default: "default" - rspamd_metric = "default"; - ${extraConfig} - }; - '' else "") + cfg.extraConfig; - - rmilterConfigFile = pkgs.writeText "rmilter.conf" rmilterConf; - -in - -{ - - ###### interface - - options = { - - services.rmilter = { - - enable = mkOption { - type = types.bool; - default = false; - description = "Whether to run the rmilter daemon."; - }; - - debug = mkOption { - type = types.bool; - default = false; - description = "Whether to run the rmilter daemon in debug mode."; - }; - - user = mkOption { - type = types.string; - default = "rmilter"; - description = '' - User to use when no root privileges are required. - ''; - }; - - group = mkOption { - type = types.string; - default = "rmilter"; - description = '' - Group to use when no root privileges are required. - ''; - }; - - bindSocket.type = mkOption { - type = types.enum [ "unix" "inet" ]; - default = "unix"; - description = '' - What kind of socket rmilter should listen on. Either "unix" - for an Unix domain socket or "inet" for a TCP socket. - ''; - }; - - bindSocket.path = mkOption { - type = types.str; - default = "/run/rmilter.sock"; - description = '' - Path to Unix domain socket to listen on. - ''; - }; - - bindSocket.address = mkOption { - type = types.str; - default = "::1"; - example = "0.0.0.0"; - description = '' - Inet address to listen on. - ''; - }; - - bindSocket.port = mkOption { - type = types.int; - default = 11990; - description = '' - Inet port to listen on. - ''; - }; - - socketActivation = mkOption { - type = types.bool; - default = true; - description = '' - Enable systemd socket activation for rmilter. - - Disabling socket activation is not recommended when a Unix - domain socket is used and could lead to incorrect - permissions. - ''; - }; - - rspamd = { - enable = mkOption { - type = types.bool; - default = rspamdCfg.enable; - description = "Whether to use rspamd to filter mails"; - }; - - servers = mkOption { - type = types.listOf types.str; - default = ["r:/run/rspamd/rspamd.sock"]; - description = '' - Spamd socket definitions. - Is server name is prefixed with r: it is rspamd server. - ''; - }; - - whitelist = mkOption { - type = types.listOf types.str; - default = [ ]; - description = "list of ips or nets that should be not checked with spamd"; - }; - - rejectMessage = mkOption { - type = types.str; - default = "Spam message rejected; If this is not spam contact abuse"; - description = "reject message for spam"; - }; - - extraConfig = mkOption { - type = types.lines; - default = ""; - description = "Custom snippet to append to end of `spamd' section"; - }; - }; - - extraConfig = mkOption { - type = types.lines; - default = ""; - description = "Custom snippet to append to rmilter config"; - }; - - postfix = { - enable = mkOption { - type = types.bool; - default = false; - description = "Add rmilter to postfix main.conf"; - }; - - configFragment = mkOption { - type = types.str; - description = "Addon to postfix configuration"; - default = '' - smtpd_milters = ${rmilterSocket} - milter_protocol = 6 - milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen} - ''; - }; - }; - - }; - - }; - - - ###### implementation - - config = mkMerge [ - - (mkIf cfg.enable { - warnings = [ - ''`config.services.rmilter' is deprecated, `rmilter' deprecated and unsupported by upstream, and will be removed from next releases. Use built-in rspamd milter instead.'' - ]; - - users.users = singleton { - name = cfg.user; - description = "rmilter daemon"; - uid = config.ids.uids.rmilter; - group = cfg.group; - }; - - users.groups = singleton { - name = cfg.group; - gid = config.ids.gids.rmilter; - }; - - systemd.services.rmilter = { - description = "Rmilter Service"; - - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - - serviceConfig = { - ExecStart = "${pkgs.rmilter}/bin/rmilter ${optionalString cfg.debug "-d"} -n -c ${rmilterConfigFile}"; - ExecReload = "${pkgs.coreutils}/bin/kill -USR1 $MAINPID"; - User = cfg.user; - Group = cfg.group; - PermissionsStartOnly = true; - Restart = "always"; - RuntimeDirectory = "rmilter"; - RuntimeDirectoryMode = "0750"; - }; - - }; - - systemd.sockets.rmilter = mkIf cfg.socketActivation { - description = "Rmilter service socket"; - wantedBy = [ "sockets.target" ]; - socketConfig = { - ListenStream = systemdSocket; - SocketUser = cfg.user; - SocketGroup = cfg.group; - SocketMode = "0660"; - }; - }; - }) - - (mkIf (cfg.enable && cfg.rspamd.enable && rspamdCfg.enable) { - users.users.${cfg.user}.extraGroups = [ rspamdCfg.group ]; - }) - - (mkIf (cfg.enable && cfg.postfix.enable) { - services.postfix.extraConfig = cfg.postfix.configFragment; - users.users.${postfixCfg.user}.extraGroups = [ cfg.group ]; - }) - ]; -} diff --git a/nixos/modules/services/mail/roundcube.nix b/nixos/modules/services/mail/roundcube.nix index 66b1c1e3e6f..bdedfa1bb70 100644 --- a/nixos/modules/services/mail/roundcube.nix +++ b/nixos/modules/services/mail/roundcube.nix @@ -4,6 +4,7 @@ with lib; let cfg = config.services.roundcube; + fpm = config.services.phpfpm.pools.roundcube; in { options.services.roundcube = { @@ -105,7 +106,7 @@ in extraConfig = '' location ~* \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; - fastcgi_pass unix:/run/phpfpm/roundcube; + fastcgi_pass unix:${fpm.socket}; include ${pkgs.nginx}/conf/fastcgi_params; include ${pkgs.nginx}/conf/fastcgi.conf; } @@ -119,49 +120,56 @@ in enable = true; }; - services.phpfpm.poolConfigs.roundcube = '' - listen = /run/phpfpm/roundcube - listen.owner = nginx - listen.group = nginx - listen.mode = 0660 - user = nginx - pm = dynamic - pm.max_children = 75 - pm.start_servers = 2 - pm.min_spare_servers = 1 - pm.max_spare_servers = 20 - pm.max_requests = 500 - php_admin_value[error_log] = 'stderr' - php_admin_flag[log_errors] = on - php_admin_value[post_max_size] = 25M - php_admin_value[upload_max_filesize] = 25M - catch_workers_output = yes - ''; + services.phpfpm.pools.roundcube = { + user = "nginx"; + phpOptions = '' + error_log = 'stderr' + log_errors = on + post_max_size = 25M + upload_max_filesize = 25M + ''; + settings = mapAttrs (name: mkDefault) { + "listen.owner" = "nginx"; + "listen.group" = "nginx"; + "listen.mode" = "0660"; + "pm" = "dynamic"; + "pm.max_children" = 75; + "pm.start_servers" = 2; + "pm.min_spare_servers" = 1; + "pm.max_spare_servers" = 20; + "pm.max_requests" = 500; + "catch_workers_output" = true; + }; + }; systemd.services.phpfpm-roundcube.after = [ "roundcube-setup.service" ]; systemd.services.roundcube-setup = let pgSuperUser = config.services.postgresql.superUser; - in { - requires = [ "postgresql.service" ]; - after = [ "postgresql.service" ]; - wantedBy = [ "multi-user.target" ]; - path = [ config.services.postgresql.package ]; - script = '' - mkdir -p /var/lib/roundcube - if [ ! -f /var/lib/roundcube/db-created ]; then - if [ "${cfg.database.host}" = "localhost" ]; then - ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "create role ${cfg.database.username} with login password '${cfg.database.password}'"; - ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "create database ${cfg.database.dbname} with owner ${cfg.database.username}"; + in mkMerge [ + (mkIf (cfg.database.host == "localhost") { + requires = [ "postgresql.service" ]; + after = [ "postgresql.service" ]; + path = [ config.services.postgresql.package ]; + }) + { + wantedBy = [ "multi-user.target" ]; + script = '' + mkdir -p /var/lib/roundcube + if [ ! -f /var/lib/roundcube/db-created ]; then + if [ "${cfg.database.host}" = "localhost" ]; then + ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "create role ${cfg.database.username} with login password '${cfg.database.password}'"; + ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "create database ${cfg.database.dbname} with owner ${cfg.database.username}"; + fi + PGPASSWORD=${cfg.database.password} ${pkgs.postgresql}/bin/psql -U ${cfg.database.username} \ + -f ${cfg.package}/SQL/postgres.initial.sql \ + -h ${cfg.database.host} ${cfg.database.dbname} + touch /var/lib/roundcube/db-created fi - PGPASSWORD=${cfg.database.password} ${pkgs.postgresql}/bin/psql -U ${cfg.database.username} \ - -f ${cfg.package}/SQL/postgres.initial.sql \ - -h ${cfg.database.host} ${cfg.database.dbname} - touch /var/lib/roundcube/db-created - fi - ${pkgs.php}/bin/php ${cfg.package}/bin/update.sh - ''; - serviceConfig.Type = "oneshot"; - }; + ${pkgs.php}/bin/php ${cfg.package}/bin/update.sh + ''; + serviceConfig.Type = "oneshot"; + } + ]; }; } diff --git a/nixos/modules/services/mail/rspamd.nix b/nixos/modules/services/mail/rspamd.nix index c9ba8678021..e1ba6307811 100644 --- a/nixos/modules/services/mail/rspamd.nix +++ b/nixos/modules/services/mail/rspamd.nix @@ -5,7 +5,6 @@ with lib; let cfg = config.services.rspamd; - opts = options.services.rspamd; postfixCfg = config.services.postfix; bindSocketOpts = {options, config, ... }: { @@ -309,7 +308,7 @@ in }; user = mkOption { - type = types.string; + type = types.str; default = "rspamd"; description = '' User to use when no root privileges are required. @@ -317,7 +316,7 @@ in }; group = mkOption { - type = types.string; + type = types.str; default = "rspamd"; description = '' Group to use when no root privileges are required. @@ -332,7 +331,7 @@ in }; config = mkOption { - type = with types; attrsOf (either bool (either str (listOf str))); + type = with types; attrsOf (oneOf [ bool str (listOf str) ]); description = '' Addon to postfix configuration ''; diff --git a/nixos/modules/services/mail/rss2email.nix b/nixos/modules/services/mail/rss2email.nix index 5f3b2877008..df454abc826 100644 --- a/nixos/modules/services/mail/rss2email.nix +++ b/nixos/modules/services/mail/rss2email.nix @@ -30,7 +30,7 @@ in { }; config = mkOption { - type = with types; attrsOf (either str (either int bool)); + type = with types; attrsOf (oneOf [ str int bool ]); default = {}; description = '' The configuration to give rss2email. @@ -94,6 +94,10 @@ in { services.rss2email.config.to = cfg.to; + systemd.tmpfiles.rules = [ + "d /var/rss2email 0700 rss2email rss2email - -" + ]; + systemd.services.rss2email = let conf = pkgs.writeText "rss2email.cfg" (lib.generators.toINI {} ({ DEFAULT = cfg.config; @@ -105,22 +109,16 @@ in { in { preStart = '' - mkdir -p /var/rss2email - chmod 700 /var/rss2email - cp ${conf} /var/rss2email/conf.cfg if [ ! -f /var/rss2email/db.json ]; then echo '{"version":2,"feeds":[]}' > /var/rss2email/db.json fi - - chown -R rss2email:rss2email /var/rss2email ''; path = [ pkgs.system-sendmail ]; serviceConfig = { ExecStart = "${pkgs.rss2email}/bin/r2e -c /var/rss2email/conf.cfg -d /var/rss2email/db.json run"; User = "rss2email"; - PermissionsStartOnly = "true"; }; }; diff --git a/nixos/modules/services/mail/spamassassin.nix b/nixos/modules/services/mail/spamassassin.nix index 0c11ea43136..1fe77ce5a0c 100644 --- a/nixos/modules/services/mail/spamassassin.nix +++ b/nixos/modules/services/mail/spamassassin.nix @@ -174,7 +174,7 @@ in after = [ "network.target" ]; serviceConfig = { - ExecStart = "${pkgs.spamassassin}/bin/spamd ${optionalString cfg.debug "-D"} --username=spamd --groupname=spamd --siteconfigpath=${spamdEnv} --virtual-config-dir=/var/lib/spamassassin/user-%u --allow-tell --pidfile=/var/run/spamd.pid"; + ExecStart = "${pkgs.spamassassin}/bin/spamd ${optionalString cfg.debug "-D"} --username=spamd --groupname=spamd --siteconfigpath=${spamdEnv} --virtual-config-dir=/var/lib/spamassassin/user-%u --allow-tell --pidfile=/run/spamd.pid"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; }; diff --git a/nixos/modules/services/misc/airsonic.nix b/nixos/modules/services/misc/airsonic.nix index 8b2ec82c770..4480445c1ea 100644 --- a/nixos/modules/services/misc/airsonic.nix +++ b/nixos/modules/services/misc/airsonic.nix @@ -34,7 +34,7 @@ in { }; listenAddress = mkOption { - type = types.string; + type = types.str; default = "127.0.0.1"; description = '' The host name or IP address on which to bind Airsonic. diff --git a/nixos/modules/services/misc/apache-kafka.nix b/nixos/modules/services/misc/apache-kafka.nix index 363ac4411e1..798e902ccae 100644 --- a/nixos/modules/services/misc/apache-kafka.nix +++ b/nixos/modules/services/misc/apache-kafka.nix @@ -46,7 +46,7 @@ in { hostname = mkOption { description = "Hostname the broker should bind to."; default = "localhost"; - type = types.string; + type = types.str; }; logDirs = mkOption { @@ -54,13 +54,13 @@ in { default = [ "/tmp/kafka-logs" ]; type = types.listOf types.path; }; - + zookeeper = mkOption { description = "Zookeeper connection string"; default = "localhost:2181"; - type = types.string; + type = types.str; }; - + extraProperties = mkOption { description = "Extra properties for server.properties."; type = types.nullOr types.lines; @@ -79,8 +79,8 @@ in { log4jProperties = mkOption { description = "Kafka log4j property configuration."; default = '' - log4j.rootLogger=INFO, stdout - + log4j.rootLogger=INFO, stdout + log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n @@ -131,6 +131,8 @@ in { home = head cfg.logDirs; }; + systemd.tmpfiles.rules = map (logDir: "d '${logDir} 0700 apache-kafka - - -") cfg.logDirs; + systemd.services.apache-kafka = { description = "Apache Kafka Daemon"; wantedBy = [ "multi-user.target" ]; @@ -145,15 +147,8 @@ in { ${serverConfig} ''; User = "apache-kafka"; - PermissionsStartOnly = true; SuccessExitStatus = "0 143"; }; - preStart = '' - mkdir -m 0700 -p ${concatStringsSep " " cfg.logDirs} - if [ "$(id -u)" = 0 ]; then - chown apache-kafka ${concatStringsSep " " cfg.logDirs}; - fi - ''; }; }; diff --git a/nixos/modules/services/misc/beanstalkd.nix b/nixos/modules/services/misc/beanstalkd.nix new file mode 100644 index 00000000000..06e881406b5 --- /dev/null +++ b/nixos/modules/services/misc/beanstalkd.nix @@ -0,0 +1,52 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.beanstalkd; + pkg = pkgs.beanstalkd; +in + +{ + # interface + + options = { + services.beanstalkd = { + enable = mkEnableOption "the Beanstalk work queue"; + + listen = { + port = mkOption { + type = types.int; + description = "TCP port that will be used to accept client connections."; + default = 11300; + }; + + address = mkOption { + type = types.str; + description = "IP address to listen on."; + default = "127.0.0.1"; + example = "0.0.0.0"; + }; + }; + }; + }; + + # implementation + + config = mkIf cfg.enable { + + environment.systemPackages = [ pkg ]; + + systemd.services.beanstalkd = { + description = "Beanstalk Work Queue"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + DynamicUser = true; + Restart = "always"; + ExecStart = "${pkg}/bin/beanstalkd -l ${cfg.listen.address} -p ${toString cfg.listen.port}"; + }; + }; + + }; +} diff --git a/nixos/modules/services/misc/bepasty.nix b/nixos/modules/services/misc/bepasty.nix index 62835c194e4..87d36068144 100644 --- a/nixos/modules/services/misc/bepasty.nix +++ b/nixos/modules/services/misc/bepasty.nix @@ -2,10 +2,10 @@ with lib; let - gunicorn = pkgs.pythonPackages.gunicorn; + gunicorn = pkgs.python3Packages.gunicorn; bepasty = pkgs.bepasty; - gevent = pkgs.pythonPackages.gevent; - python = pkgs.pythonPackages.python; + gevent = pkgs.python3Packages.gevent; + python = pkgs.python3Packages.python; cfg = config.services.bepasty; user = "bepasty"; group = "bepasty"; @@ -143,7 +143,7 @@ in serviceConfig = { Type = "simple"; PrivateTmp = true; - ExecStartPre = assert !isNull server.secretKeyFile; pkgs.writeScript "bepasty-server.${name}-init" '' + ExecStartPre = assert server.secretKeyFile != null; pkgs.writeScript "bepasty-server.${name}-init" '' #!/bin/sh mkdir -p "${server.workDir}" mkdir -p "${server.dataDir}" diff --git a/nixos/modules/services/misc/couchpotato.nix b/nixos/modules/services/misc/couchpotato.nix index 70aa895f76d..528af486b41 100644 --- a/nixos/modules/services/misc/couchpotato.nix +++ b/nixos/modules/services/misc/couchpotato.nix @@ -19,16 +19,11 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - preStart = '' - mkdir -p /var/lib/couchpotato - chown -R couchpotato:couchpotato /var/lib/couchpotato - ''; - serviceConfig = { Type = "simple"; User = "couchpotato"; Group = "couchpotato"; - PermissionsStartOnly = "true"; + StateDirectory = "couchpotato"; ExecStart = "${pkgs.couchpotato}/bin/couchpotato"; Restart = "on-failure"; }; diff --git a/nixos/modules/services/misc/cpuminer-cryptonight.nix b/nixos/modules/services/misc/cpuminer-cryptonight.nix index f31526f8d10..907b9d90da2 100644 --- a/nixos/modules/services/misc/cpuminer-cryptonight.nix +++ b/nixos/modules/services/misc/cpuminer-cryptonight.nix @@ -28,15 +28,15 @@ in ''; }; url = mkOption { - type = types.string; + type = types.str; description = "URL of mining server"; }; user = mkOption { - type = types.string; + type = types.str; description = "Username for mining server"; }; pass = mkOption { - type = types.string; + type = types.str; default = "x"; description = "Password for mining server"; }; @@ -63,4 +63,4 @@ in }; -} \ No newline at end of file +} diff --git a/nixos/modules/services/misc/docker-registry.nix b/nixos/modules/services/misc/docker-registry.nix index f3d90e532c8..c87607d2666 100644 --- a/nixos/modules/services/misc/docker-registry.nix +++ b/nixos/modules/services/misc/docker-registry.nix @@ -14,9 +14,10 @@ let log.fields.service = "registry"; storage = { cache.blobdescriptor = blobCache; - filesystem.rootdirectory = cfg.storagePath; delete.enabled = cfg.enableDelete; - }; + } // (if cfg.storagePath != null + then { filesystem.rootdirectory = cfg.storagePath; } + else {}); http = { addr = "${cfg.listenAddress}:${builtins.toString cfg.port}"; headers.X-Content-Type-Options = ["nosniff"]; @@ -61,9 +62,12 @@ in { }; storagePath = mkOption { - type = types.path; + type = types.nullOr types.path; default = "/var/lib/docker-registry"; - description = "Docker registry storage path."; + description = '' + Docker registry storage path for the filesystem storage backend. Set to + null to configure another backend via extraConfig. + ''; }; enableDelete = mkOption { @@ -140,9 +144,12 @@ in { startAt = optional cfg.enableGarbageCollect cfg.garbageCollectDates; }; - users.users.docker-registry = { - createHome = true; - home = cfg.storagePath; - }; + users.users.docker-registry = + if cfg.storagePath != null + then { + createHome = true; + home = cfg.storagePath; + } + else {}; }; } diff --git a/nixos/modules/services/misc/dwm-status.nix b/nixos/modules/services/misc/dwm-status.nix new file mode 100644 index 00000000000..b98a42e6a6d --- /dev/null +++ b/nixos/modules/services/misc/dwm-status.nix @@ -0,0 +1,73 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.dwm-status; + + order = concatMapStringsSep "," (feature: ''"${feature}"'') cfg.order; + + configFile = pkgs.writeText "dwm-status.toml" '' + order = [${order}] + + ${cfg.extraConfig} + ''; +in + +{ + + ###### interface + + options = { + + services.dwm-status = { + + enable = mkEnableOption "dwm-status user service"; + + package = mkOption { + type = types.package; + default = pkgs.dwm-status; + defaultText = "pkgs.dwm-status"; + example = "pkgs.dwm-status.override { enableAlsaUtils = false; }"; + description = '' + Which dwm-status package to use. + ''; + }; + + order = mkOption { + type = types.listOf (types.enum [ "audio" "backlight" "battery" "cpu_load" "network" "time" ]); + description = '' + List of enabled features in order. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra config in TOML format. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + services.upower.enable = elem "battery" cfg.order; + + systemd.user.services.dwm-status = { + description = "Highly performant and configurable DWM status service"; + wantedBy = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; + + serviceConfig.ExecStart = "${cfg.package}/bin/dwm-status ${configFile}"; + }; + + }; + +} diff --git a/nixos/modules/services/misc/emby.nix b/nixos/modules/services/misc/emby.nix deleted file mode 100644 index 0ad4a3f7376..00000000000 --- a/nixos/modules/services/misc/emby.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ config, pkgs, lib, ... }: - -with lib; - -let - cfg = config.services.emby; -in -{ - options = { - services.emby = { - enable = mkEnableOption "Emby Media Server"; - - user = mkOption { - type = types.str; - default = "emby"; - description = "User account under which Emby runs."; - }; - - group = mkOption { - type = types.str; - default = "emby"; - description = "Group under which emby runs."; - }; - - dataDir = mkOption { - type = types.path; - default = "/var/lib/emby/ProgramData-Server"; - description = "Location where Emby stores its data."; - }; - }; - }; - - config = mkIf cfg.enable { - systemd.services.emby = { - description = "Emby Media Server"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - preStart = '' - if [ -d ${cfg.dataDir} ] - then - for plugin in ${cfg.dataDir}/plugins/* - do - echo "Correcting permissions of plugin: $plugin" - chmod u+w $plugin - done - else - echo "Creating initial Emby data directory in ${cfg.dataDir}" - mkdir -p ${cfg.dataDir} - chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir} - fi - ''; - - serviceConfig = { - Type = "simple"; - User = cfg.user; - Group = cfg.group; - PermissionsStartOnly = "true"; - ExecStart = "${pkgs.emby}/bin/emby -programdata ${cfg.dataDir}"; - Restart = "on-failure"; - }; - }; - - users.users = mkIf (cfg.user == "emby") { - emby = { - group = cfg.group; - uid = config.ids.uids.emby; - }; - }; - - users.groups = mkIf (cfg.group == "emby") { - emby = { - gid = config.ids.gids.emby; - }; - }; - }; -} diff --git a/nixos/modules/services/misc/errbot.nix b/nixos/modules/services/misc/errbot.nix index ac6ba2181de..256adce2f02 100644 --- a/nixos/modules/services/misc/errbot.nix +++ b/nixos/modules/services/misc/errbot.nix @@ -81,7 +81,7 @@ in { systemd.services = mapAttrs' (name: instanceCfg: nameValuePair "errbot-${name}" ( let - dataDir = if !isNull instanceCfg.dataDir then instanceCfg.dataDir else + dataDir = if instanceCfg.dataDir != null then instanceCfg.dataDir else "/var/lib/errbot/${name}"; in { after = [ "network-online.target" ]; diff --git a/nixos/modules/services/misc/etcd.nix b/nixos/modules/services/misc/etcd.nix index 2d1893dae64..e4d5322f9b5 100644 --- a/nixos/modules/services/misc/etcd.nix +++ b/nixos/modules/services/misc/etcd.nix @@ -142,6 +142,10 @@ in { }; config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0700 etcd - - -" + ]; + systemd.services.etcd = { description = "etcd key-value store"; wantedBy = [ "multi-user.target" ]; @@ -176,14 +180,8 @@ in { Type = "notify"; ExecStart = "${pkgs.etcd.bin}/bin/etcd"; User = "etcd"; - PermissionsStartOnly = true; LimitNOFILE = 40000; }; - - preStart = '' - mkdir -m 0700 -p ${cfg.dataDir} - if [ "$(id -u)" = 0 ]; then chown etcd ${cfg.dataDir}; fi - ''; }; environment.systemPackages = [ pkgs.etcdctl ]; diff --git a/nixos/modules/services/misc/ethminer.nix b/nixos/modules/services/misc/ethminer.nix new file mode 100644 index 00000000000..2958cf21447 --- /dev/null +++ b/nixos/modules/services/misc/ethminer.nix @@ -0,0 +1,115 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.ethminer; + poolUrl = escapeShellArg "stratum1+tcp://${cfg.wallet}@${cfg.pool}:${toString cfg.stratumPort}/${cfg.rig}/${cfg.registerMail}"; +in + +{ + + ###### interface + + options = { + + services.ethminer = { + + enable = mkOption { + type = types.bool; + default = false; + description = "Enable ethminer ether mining."; + }; + + recheckInterval = mkOption { + type = types.int; + default = 2000; + description = "Interval in milliseconds between farm rechecks."; + }; + + toolkit = mkOption { + type = types.enum [ "cuda" "opencl" ]; + default = "cuda"; + description = "Cuda or opencl toolkit."; + }; + + apiPort = mkOption { + type = types.int; + default = -3333; + description = "Ethminer api port. minus sign puts api in read-only mode."; + }; + + wallet = mkOption { + type = types.str; + example = "0x0123456789abcdef0123456789abcdef01234567"; + description = "Ethereum wallet address."; + }; + + pool = mkOption { + type = types.str; + example = "eth-us-east1.nanopool.org"; + description = "Mining pool address."; + }; + + stratumPort = mkOption { + type = types.port; + default = 9999; + description = "Stratum protocol tcp port."; + }; + + rig = mkOption { + type = types.str; + default = "mining-rig-name"; + description = "Mining rig name."; + }; + + registerMail = mkOption { + type = types.str; + example = "email%40example.org"; + description = "Url encoded email address to register with pool."; + }; + + maxPower = mkOption { + type = types.int; + default = 115; + description = "Miner max watt usage."; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + systemd.services.ethminer = { + path = [ pkgs.cudatoolkit ]; + description = "ethminer ethereum mining service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + serviceConfig = { + DynamicUser = true; + ExecStartPost = optional (cfg.toolkit == "cuda") "+${getBin config.boot.kernelPackages.nvidia_x11}/bin/nvidia-smi -pl ${toString cfg.maxPower}"; + }; + + environment = { + LD_LIBRARY_PATH = "${config.boot.kernelPackages.nvidia_x11}/lib"; + }; + + script = '' + ${pkgs.ethminer}/bin/.ethminer-wrapped \ + --farm-recheck ${toString cfg.recheckInterval} \ + --report-hashrate \ + --${cfg.toolkit} \ + --api-port ${toString cfg.apiPort} \ + --pool ${poolUrl} + ''; + + }; + + }; + +} diff --git a/nixos/modules/services/misc/exhibitor.nix b/nixos/modules/services/misc/exhibitor.nix index 665084a8ae0..f526270cb4b 100644 --- a/nixos/modules/services/misc/exhibitor.nix +++ b/nixos/modules/services/misc/exhibitor.nix @@ -252,7 +252,7 @@ in example = ["host1:2181" "host2:2181"]; }; zkConfigExhibitorPath = mkOption { - type = types.string; + type = types.str; description = '' If the ZooKeeper shared config is also running Exhibitor, the URI path for the REST call ''; diff --git a/nixos/modules/services/misc/fstrim.nix b/nixos/modules/services/misc/fstrim.nix index 15f283f093c..b8841a7fe74 100644 --- a/nixos/modules/services/misc/fstrim.nix +++ b/nixos/modules/services/misc/fstrim.nix @@ -14,7 +14,7 @@ in { enable = mkEnableOption "periodic SSD TRIM of mounted partitions in background"; interval = mkOption { - type = types.string; + type = types.str; default = "weekly"; description = '' How often we run fstrim. For most desktop and server systems diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix index be4d3871978..59c1c104b9b 100644 --- a/nixos/modules/services/misc/gitea.nix +++ b/nixos/modules/services/misc/gitea.nix @@ -8,6 +8,7 @@ let pg = config.services.postgresql; useMysql = cfg.database.type == "mysql"; usePostgresql = cfg.database.type == "postgres"; + useSqlite = cfg.database.type == "sqlite3"; configFile = pkgs.writeText "app.ini" '' APP_NAME = ${cfg.appName} RUN_USER = ${cfg.user} @@ -15,11 +16,15 @@ let [database] DB_TYPE = ${cfg.database.type} - HOST = ${if cfg.database.socket != null then cfg.database.socket else cfg.database.host + ":" + toString cfg.database.port} - NAME = ${cfg.database.name} - USER = ${cfg.database.user} - PASSWD = #dbpass# - PATH = ${cfg.database.path} + ${optionalString (usePostgresql || useMysql) '' + HOST = ${if cfg.database.socket != null then cfg.database.socket else cfg.database.host + ":" + toString cfg.database.port} + NAME = ${cfg.database.name} + USER = ${cfg.database.user} + PASSWD = #dbpass# + ''} + ${optionalString useSqlite '' + PATH = ${cfg.database.path} + ''} ${optionalString usePostgresql '' SSL_MODE = disable ''} @@ -33,6 +38,7 @@ let HTTP_PORT = ${toString cfg.httpPort} ROOT_URL = ${cfg.rootUrl} STATIC_ROOT_PATH = ${cfg.staticRootPath} + LFS_JWT_SECRET = #jwtsecret# [session] COOKIE_NAME = session @@ -49,6 +55,11 @@ let [service] DISABLE_REGISTRATION = ${boolToString cfg.disableRegistration} + ${optionalString (cfg.mailerPasswordFile != null) '' + [mailer] + PASSWD = #mailerpass# + ''} + ${cfg.extraConfig} ''; in @@ -154,7 +165,8 @@ in socket = mkOption { type = types.nullOr types.path; - default = null; + default = if (cfg.database.createDatabase && usePostgresql) then "/run/postgresql" else if (cfg.database.createDatabase && useMysql) then "/run/mysqld/mysqld.sock" else null; + defaultText = "null"; example = "/run/mysqld/mysqld.sock"; description = "Path to the unix socket file to use for authentication."; }; @@ -168,10 +180,7 @@ in createDatabase = mkOption { type = types.bool; default = true; - description = '' - Whether to create a local postgresql database automatically. - This only applies if database type "postgres" is selected. - ''; + description = "Whether to create a local database automatically."; }; }; @@ -251,6 +260,13 @@ in description = "Upper level of template and static files path."; }; + mailerPasswordFile = mkOption { + type = types.nullOr types.str; + default = null; + example = "/var/lib/secrets/gitea/mailpw"; + description = "Path to a file containing the SMTP password."; + }; + disableRegistration = mkEnableOption "the registration lock" // { description = '' By default any user can create an account on this gitea instance. @@ -272,7 +288,47 @@ in }; config = mkIf cfg.enable { - services.postgresql.enable = mkIf usePostgresql (mkDefault true); + assertions = [ + { assertion = cfg.database.createDatabase -> cfg.database.user == cfg.user; + message = "services.gitea.database.user must match services.gitea.user if the database is to be automatically provisioned"; + } + ]; + + services.postgresql = optionalAttrs (usePostgresql && cfg.database.createDatabase) { + enable = mkDefault true; + + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + } + ]; + }; + + services.mysql = optionalAttrs (useMysql && cfg.database.createDatabase) { + enable = mkDefault true; + package = mkDefault pkgs.mariadb; + + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; + } + ]; + }; + + systemd.tmpfiles.rules = [ + "d '${cfg.stateDir}' - ${cfg.user} gitea - -" + "d '${cfg.stateDir}/conf' - ${cfg.user} gitea - -" + "d '${cfg.stateDir}/custom' - ${cfg.user} gitea - -" + "d '${cfg.stateDir}/custom/conf' - ${cfg.user} gitea - -" + "d '${cfg.repositoryRoot}' - ${cfg.user} gitea - -" + "Z '${cfg.stateDir}' - ${cfg.user} gitea - -" + + # If we have a folder or symlink with gitea locales, remove it + # And symlink the current gitea locales in place + "L+ '${cfg.stateDir}/conf/locale' - - - - ${gitea.out}/locale" + ]; systemd.services.gitea = { description = "gitea"; @@ -283,28 +339,36 @@ in preStart = let runConfig = "${cfg.stateDir}/custom/conf/app.ini"; secretKey = "${cfg.stateDir}/custom/conf/secret_key"; + jwtSecret = "${cfg.stateDir}/custom/conf/jwt_secret"; in '' - # Make sure that the stateDir exists, as well as the conf dir in there - mkdir -p ${cfg.stateDir}/conf - # copy custom configuration and generate a random secret key if needed ${optionalString (cfg.useWizard == false) '' - mkdir -p ${cfg.stateDir}/custom/conf cp -f ${configFile} ${runConfig} if [ ! -e ${secretKey} ]; then - head -c 16 /dev/urandom | base64 > ${secretKey} + ${gitea.bin}/bin/gitea generate secret SECRET_KEY > ${secretKey} fi - KEY=$(head -n1 ${secretKey}) - DBPASS=$(head -n1 ${cfg.database.passwordFile}) + if [ ! -e ${jwtSecret} ]; then + ${gitea.bin}/bin/gitea generate secret LFS_JWT_SECRET > ${jwtSecret} + fi + + KEY="$(head -n1 ${secretKey})" + DBPASS="$(head -n1 ${cfg.database.passwordFile})" + JWTSECRET="$(head -n1 ${jwtSecret})" + ${if (cfg.mailerPasswordFile == null) then '' + MAILERPASSWORD="#mailerpass#" + '' else '' + MAILERPASSWORD="$(head -n1 ${cfg.mailerPasswordFile} || :)" + ''} sed -e "s,#secretkey#,$KEY,g" \ -e "s,#dbpass#,$DBPASS,g" \ + -e "s,#jwtsecet#,$JWTSECET,g" \ + -e "s,#mailerpass#,$MAILERPASSWORD,g" \ -i ${runConfig} - chmod 640 ${runConfig} ${secretKey} + chmod 640 ${runConfig} ${secretKey} ${jwtSecret} ''} - mkdir -p ${cfg.repositoryRoot} # update all hooks' binary paths HOOKS=$(find ${cfg.repositoryRoot} -mindepth 4 -maxdepth 6 -type f -wholename "*git/hooks/*") if [ "$HOOKS" ] @@ -314,43 +378,19 @@ in sed -ri 's,/nix/store/[a-z0-9.-]+/bin/bash,${pkgs.bash}/bin/bash,g' $HOOKS sed -ri 's,/nix/store/[a-z0-9.-]+/bin/perl,${pkgs.perl}/bin/perl,g' $HOOKS fi - # If we have a folder or symlink with gitea locales, remove it - if [ -e ${cfg.stateDir}/conf/locale ] - then - rm -r ${cfg.stateDir}/conf/locale - fi - # And symlink the current gitea locales in place - ln -s ${gitea.out}/locale ${cfg.stateDir}/conf/locale + # update command option in authorized_keys if [ -r ${cfg.stateDir}/.ssh/authorized_keys ] then sed -ri 's,/nix/store/[a-z0-9.-]+/bin/gitea,${gitea.bin}/bin/gitea,g' ${cfg.stateDir}/.ssh/authorized_keys fi - '' + optionalString (usePostgresql && cfg.database.createDatabase) '' - if ! test -e "${cfg.stateDir}/db-created"; then - echo "CREATE ROLE ${cfg.database.user} - WITH ENCRYPTED PASSWORD '$(head -n1 ${cfg.database.passwordFile})' - NOCREATEDB NOCREATEROLE LOGIN" | - ${pkgs.sudo}/bin/sudo -u ${pg.superUser} ${pg.package}/bin/psql - ${pkgs.sudo}/bin/sudo -u ${pg.superUser} \ - ${pg.package}/bin/createdb \ - --owner=${cfg.database.user} \ - --encoding=UTF8 \ - --lc-collate=C \ - --lc-ctype=C \ - --template=template0 \ - ${cfg.database.name} - touch "${cfg.stateDir}/db-created" - fi - '' + '' - chown ${cfg.user} -R ${cfg.stateDir} ''; serviceConfig = { Type = "simple"; User = cfg.user; + Group = "gitea"; WorkingDirectory = cfg.stateDir; - PermissionsStartOnly = true; ExecStart = "${gitea.bin}/bin/gitea web"; Restart = "always"; }; @@ -362,15 +402,17 @@ in }; }; - users = mkIf (cfg.user == "gitea") { - users.gitea = { + users.users = mkIf (cfg.user == "gitea") { + gitea = { description = "Gitea Service"; home = cfg.stateDir; - createHome = true; useDefaultShell = true; + group = "gitea"; }; }; + users.groups.gitea = {}; + warnings = optional (cfg.database.password != "") ''config.services.gitea.database.password will be stored as plaintext in the Nix store. Use database.passwordFile instead.''; diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index b8617e48d8e..09c3a89d6a6 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -52,7 +52,7 @@ let gitlab_url = "http+unix://${pathUrlQuote gitlabSocket}"; http_settings.self_signed_cert = false; repos_path = "${cfg.statePath}/repositories"; - secret_file = "${cfg.statePath}/config/gitlab_shell_secret"; + secret_file = "${cfg.statePath}/gitlab_shell_secret"; log_file = "${cfg.statePath}/log/gitlab-shell.log"; custom_hooks_dir = "${cfg.statePath}/custom_hooks"; redis = { @@ -109,7 +109,7 @@ let gitlab_shell = { path = "${cfg.packages.gitlab-shell}"; hooks_path = "${cfg.statePath}/shell/hooks"; - secret_file = "${cfg.statePath}/config/gitlab_shell_secret"; + secret_file = "${cfg.statePath}/gitlab_shell_secret"; upload_pack = true; receive_pack = true; }; @@ -132,14 +132,9 @@ let HOME = "${cfg.statePath}/home"; UNICORN_PATH = "${cfg.statePath}/"; GITLAB_PATH = "${cfg.packages.gitlab}/share/gitlab/"; - GITLAB_STATE_PATH = cfg.statePath; - GITLAB_UPLOADS_PATH = "${cfg.statePath}/uploads"; SCHEMA = "${cfg.statePath}/db/schema.rb"; + GITLAB_UPLOADS_PATH = "${cfg.statePath}/uploads"; GITLAB_LOG_PATH = "${cfg.statePath}/log"; - GITLAB_SHELL_PATH = "${cfg.packages.gitlab-shell}"; - GITLAB_SHELL_CONFIG_PATH = "${cfg.statePath}/shell/config.yml"; - GITLAB_SHELL_SECRET_PATH = "${cfg.statePath}/config/gitlab_shell_secret"; - GITLAB_SHELL_HOOKS_PATH = "${cfg.statePath}/shell/hooks"; GITLAB_REDIS_CONFIG_FILE = pkgs.writeText "redis.yml" (builtins.toJSON redisConfig); prometheus_multiproc_dir = "/run/gitlab"; RAILS_ENV = "production"; @@ -149,7 +144,7 @@ let name = "gitlab-rake"; buildInputs = [ pkgs.makeWrapper ]; dontBuild = true; - unpackPhase = ":"; + dontUnpack = true; installPhase = '' mkdir -p $out/bin makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \ @@ -160,6 +155,22 @@ let ''; }; + gitlab-rails = pkgs.stdenv.mkDerivation rec { + name = "gitlab-rails"; + buildInputs = [ pkgs.makeWrapper ]; + dontBuild = true; + dontUnpack = true; + installPhase = '' + mkdir -p $out/bin + makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rails $out/bin/gitlab-rails \ + ${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \ + --set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package pkgs.coreutils pkgs.procps ]}:$PATH' \ + --run 'cd ${cfg.packages.gitlab}/share/gitlab' + ''; + }; + + extraGitlabRb = pkgs.writeText "extra-gitlab.rb" cfg.extraGitlabRb; + smtpSettings = pkgs.writeText "gitlab-smtp-settings.rb" '' if Rails.env.production? Rails.application.config.action_mailer.delivery_method = :smtp @@ -266,6 +277,26 @@ in { description = "Extra configuration in config/database.yml."; }; + extraGitlabRb = mkOption { + type = types.str; + default = ""; + example = '' + if Rails.env.production? + Rails.application.config.action_mailer.delivery_method = :sendmail + ActionMailer::Base.delivery_method = :sendmail + ActionMailer::Base.sendmail_settings = { + location: "/run/wrappers/bin/sendmail", + arguments: "-i -t" + } + end + ''; + description = '' + Extra configuration to be placed in config/extra-gitlab.rb. This can + be used to add configuration not otherwise exposed through this module's + options. + ''; + }; + host = mkOption { type = types.str; default = config.networking.hostName; @@ -439,7 +470,7 @@ in { config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.git gitlab-rake cfg.packages.gitlab-shell ]; + environment.systemPackages = [ pkgs.git gitlab-rake gitlab-rails cfg.packages.gitlab-shell ]; # Redis is required for the sidekiq queue runner. services.redis.enable = mkDefault true; @@ -466,23 +497,44 @@ in { systemd.tmpfiles.rules = [ "d /run/gitlab 0755 ${cfg.user} ${cfg.group} -" "d ${gitlabEnv.HOME} 0750 ${cfg.user} ${cfg.group} -" + "z ${gitlabEnv.HOME}/.ssh/authorized_keys 0600 ${cfg.user} ${cfg.group} -" "d ${cfg.backupPath} 0750 ${cfg.user} ${cfg.group} -" + "d ${cfg.statePath} 0750 ${cfg.user} ${cfg.group} -" "d ${cfg.statePath}/builds 0750 ${cfg.user} ${cfg.group} -" "d ${cfg.statePath}/config 0750 ${cfg.user} ${cfg.group} -" + "D ${cfg.statePath}/config/initializers 0750 ${cfg.user} ${cfg.group} -" "d ${cfg.statePath}/db 0750 ${cfg.user} ${cfg.group} -" "d ${cfg.statePath}/log 0750 ${cfg.user} ${cfg.group} -" "d ${cfg.statePath}/repositories 2770 ${cfg.user} ${cfg.group} -" "d ${cfg.statePath}/shell 0750 ${cfg.user} ${cfg.group} -" + "d ${cfg.statePath}/tmp 0750 ${cfg.user} ${cfg.group} -" "d ${cfg.statePath}/tmp/pids 0750 ${cfg.user} ${cfg.group} -" "d ${cfg.statePath}/tmp/sockets 0750 ${cfg.user} ${cfg.group} -" "d ${cfg.statePath}/uploads 0700 ${cfg.user} ${cfg.group} -" + "d ${cfg.statePath}/custom_hooks 0700 ${cfg.user} ${cfg.group} -" "d ${cfg.statePath}/custom_hooks/pre-receive.d 0700 ${cfg.user} ${cfg.group} -" "d ${cfg.statePath}/custom_hooks/post-receive.d 0700 ${cfg.user} ${cfg.group} -" "d ${cfg.statePath}/custom_hooks/update.d 0700 ${cfg.user} ${cfg.group} -" + "d ${gitlabConfig.production.shared.path} 0750 ${cfg.user} ${cfg.group} -" "d ${gitlabConfig.production.shared.path}/artifacts 0750 ${cfg.user} ${cfg.group} -" "d ${gitlabConfig.production.shared.path}/lfs-objects 0750 ${cfg.user} ${cfg.group} -" "d ${gitlabConfig.production.shared.path}/pages 0750 ${cfg.user} ${cfg.group} -" - ]; + "L+ ${cfg.statePath}/lib - - - - ${cfg.packages.gitlab}/share/gitlab/lib" + "L+ /run/gitlab/config - - - - ${cfg.statePath}/config" + "L+ /run/gitlab/log - - - - ${cfg.statePath}/log" + "L+ /run/gitlab/tmp - - - - ${cfg.statePath}/tmp" + "L+ /run/gitlab/uploads - - - - ${cfg.statePath}/uploads" + + "L+ /run/gitlab/shell-config.yml - - - - ${pkgs.writeText "config.yml" (builtins.toJSON gitlabShellConfig)}" + + "L+ ${cfg.statePath}/config/gitlab.yml - - - - ${pkgs.writeText "gitlab.yml" (builtins.toJSON gitlabConfig)}" + "L+ ${cfg.statePath}/config/database.yml - - - - ${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)}" + "L+ ${cfg.statePath}/config/secrets.yml - - - - ${pkgs.writeText "secrets.yml" (builtins.toJSON secretsConfig)}" + "L+ ${cfg.statePath}/config/unicorn.rb - - - - ${./defaultUnicornConfig.rb}" + + "L+ ${cfg.statePath}/config/initializers/extra-gitlab.rb - - - - ${extraGitlabRb}" + ] ++ optional cfg.smtp.enable + "L+ ${cfg.statePath}/config/initializers/smtp_settings.rb - - - - ${smtpSettings}" ; systemd.services.gitlab-sidekiq = { after = [ "network.target" "redis.service" "gitlab.service" ]; @@ -512,9 +564,12 @@ in { wantedBy = [ "multi-user.target" ]; path = with pkgs; [ openssh + procps # See https://gitlab.com/gitlab-org/gitaly/issues/1562 gitAndTools.git cfg.packages.gitaly.rubyEnv cfg.packages.gitaly.rubyEnv.wrappedRuby + gzip + bzip2 ]; serviceConfig = { Type = "simple"; @@ -531,6 +586,7 @@ in { after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; path = with pkgs; [ + exiftool gitAndTools.git gnutar gzip @@ -570,39 +626,14 @@ in { gnupg ]; preStart = '' - cp -rf ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db - rm -rf ${cfg.statePath}/config - mkdir ${cfg.statePath}/config - if [ -e ${cfg.statePath}/lib ]; then - rm ${cfg.statePath}/lib - fi + ${pkgs.sudo}/bin/sudo -u ${cfg.user} cp -f ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION + ${pkgs.sudo}/bin/sudo -u ${cfg.user} rm -rf ${cfg.statePath}/db/* + ${pkgs.sudo}/bin/sudo -u ${cfg.user} cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config + ${pkgs.sudo}/bin/sudo -u ${cfg.user} cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db - ln -sf ${cfg.packages.gitlab}/share/gitlab/lib ${cfg.statePath}/lib - [ -L /run/gitlab/config ] || ln -sf ${cfg.statePath}/config /run/gitlab/config - [ -L /run/gitlab/log ] || ln -sf ${cfg.statePath}/log /run/gitlab/log - [ -L /run/gitlab/tmp ] || ln -sf ${cfg.statePath}/tmp /run/gitlab/tmp - [ -L /run/gitlab/uploads ] || ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads - cp ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION - cp -rf ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config - ${optionalString cfg.smtp.enable '' - ln -sf ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb - ''} - ${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/config/gitlab_shell_secret + ${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/gitlab_shell_secret - # JSON is a subset of YAML - ln -sf ${pkgs.writeText "gitlab.yml" (builtins.toJSON gitlabConfig)} ${cfg.statePath}/config/gitlab.yml - ln -sf ${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} ${cfg.statePath}/config/database.yml - ln -sf ${pkgs.writeText "secrets.yml" (builtins.toJSON secretsConfig)} ${cfg.statePath}/config/secrets.yml - ln -sf ${./defaultUnicornConfig.rb} ${cfg.statePath}/config/unicorn.rb - - # Install the shell required to push repositories - ln -sf ${pkgs.writeText "config.yml" (builtins.toJSON gitlabShellConfig)} /run/gitlab/shell-config.yml - [ -L ${cfg.statePath}/shell/hooks ] || ln -sf ${cfg.packages.gitlab-shell}/hooks ${cfg.statePath}/shell/hooks - ${cfg.packages.gitlab-shell}/bin/install - - chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}/ - chmod -R ug+rwX,o-rwx+X ${cfg.statePath}/ - chown -R ${cfg.user}:${cfg.group} /run/gitlab + ${pkgs.sudo}/bin/sudo -u ${cfg.user} ${cfg.packages.gitlab-shell}/bin/install if ! test -e "${cfg.statePath}/db-created"; then if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then @@ -615,7 +646,7 @@ in { ${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${gitlab-rake}/bin/gitlab-rake db:schema:load - touch "${cfg.statePath}/db-created" + ${pkgs.sudo}/bin/sudo -u ${cfg.user} touch "${cfg.statePath}/db-created" fi # Always do the db migrations just to be sure the database is up-to-date @@ -624,22 +655,13 @@ in { if ! test -e "${cfg.statePath}/db-seeded"; then ${pkgs.sudo}/bin/sudo -u ${cfg.user} ${gitlab-rake}/bin/gitlab-rake db:seed_fu \ GITLAB_ROOT_PASSWORD='${cfg.initialRootPassword}' GITLAB_ROOT_EMAIL='${cfg.initialRootEmail}' - touch "${cfg.statePath}/db-seeded" + ${pkgs.sudo}/bin/sudo -u ${cfg.user} touch "${cfg.statePath}/db-seeded" fi - # The gitlab:shell:create_hooks task seems broken for fixing links - # so we instead delete all the hooks and create them anew - rm -f ${cfg.statePath}/repositories/**/*.git/hooks - ${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${gitlab-rake}/bin/gitlab-rake gitlab:shell:create_hooks + # We remove potentially broken links to old gitlab-shell versions + rm -Rf ${cfg.statePath}/repositories/**/*.git/hooks ${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${pkgs.git}/bin/git config --global core.autocrlf "input" - - # Change permissions in the last step because some of the - # intermediary scripts like to create directories as root. - chmod -R u+rwX,go-rwx+X ${gitlabEnv.HOME} - chmod -R ug+rwX,o-rwx ${cfg.statePath}/repositories - chmod -R ug-s ${cfg.statePath}/repositories - find ${cfg.statePath}/repositories -type d -print0 | xargs -0 chmod g+s ''; serviceConfig = { diff --git a/nixos/modules/services/misc/gitlab.xml b/nixos/modules/services/misc/gitlab.xml index ab99d7bd3a6..5ff570a442f 100644 --- a/nixos/modules/services/misc/gitlab.xml +++ b/nixos/modules/services/misc/gitlab.xml @@ -138,13 +138,13 @@ services.gitlab = { For example, to backup a Gitlab instance: - -$ sudo -u git -H gitlab-rake gitlab:backup:create - + +$ sudo -u git -H gitlab-rake gitlab:backup:create + A list of all availabe rake tasks can be obtained by running: - -$ sudo -u git -H gitlab-rake -T - + +$ sudo -u git -H gitlab-rake -T + diff --git a/nixos/modules/services/misc/gitolite.nix b/nixos/modules/services/misc/gitolite.nix index b9c2a966e6f..cbe2c06ab65 100644 --- a/nixos/modules/services/misc/gitolite.nix +++ b/nixos/modules/services/misc/gitolite.nix @@ -110,7 +110,7 @@ in config = mkIf cfg.enable ( let manageGitoliteRc = cfg.extraGitoliteRc != ""; - rcDir = pkgs.runCommand "gitolite-rc" { } rcDirScript; + rcDir = pkgs.runCommand "gitolite-rc" { preferLocalBuild = true; } rcDirScript; rcDirScript = '' mkdir "$out" @@ -143,21 +143,37 @@ in users.users.${cfg.user} = { description = "Gitolite user"; home = cfg.dataDir; - createHome = true; uid = config.ids.uids.gitolite; group = cfg.group; useDefaultShell = true; }; users.groups."${cfg.group}".gid = config.ids.gids.gitolite; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.dataDir}'/.gitolite - ${cfg.user} ${cfg.group} - -" + "d '${cfg.dataDir}'/.gitolite/logs - ${cfg.user} ${cfg.group} - -" + + "Z ${cfg.dataDir} 0750 ${cfg.user} ${cfg.group} - -" + ]; + systemd.services."gitolite-init" = { description = "Gitolite initialization"; wantedBy = [ "multi-user.target" ]; unitConfig.RequiresMountsFor = cfg.dataDir; - serviceConfig.User = "${cfg.user}"; - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; + environment = { + GITOLITE_RC = ".gitolite.rc"; + GITOLITE_RC_DEFAULT = "${rcDir}/gitolite.rc.default"; + }; + + serviceConfig = { + Type = "oneshot"; + User = cfg.user; + Group = cfg.group; + WorkingDirectory = "~"; + RemainAfterExit = true; + }; path = [ pkgs.gitolite pkgs.git pkgs.perl pkgs.bash pkgs.diffutils config.programs.ssh.package ]; script = @@ -187,11 +203,6 @@ in ''; in '' - cd ${cfg.dataDir} - mkdir -p .gitolite/logs - - GITOLITE_RC=.gitolite.rc - GITOLITE_RC_DEFAULT=${rcDir}/gitolite.rc.default if ( [[ ! -e "$GITOLITE_RC" ]] && [[ ! -L "$GITOLITE_RC" ]] ) || ( [[ -f "$GITOLITE_RC" ]] && diff -q "$GITOLITE_RC" "$GITOLITE_RC_DEFAULT" >/dev/null ) || ( [[ -L "$GITOLITE_RC" ]] && [[ "$(readlink "$GITOLITE_RC")" =~ ^/nix/store/ ]] ) diff --git a/nixos/modules/services/misc/gollum.nix b/nixos/modules/services/misc/gollum.nix index d1823bc6d4d..7653b415bf0 100644 --- a/nixos/modules/services/misc/gollum.nix +++ b/nixos/modules/services/misc/gollum.nix @@ -75,27 +75,24 @@ in users.groups.gollum = { }; + systemd.tmpfiles.rules = [ + "d '${cfg.stateDir}' - ${config.users.users.gollum.name} ${config.users.groups.gollum.name} - -" + ]; + systemd.services.gollum = { description = "Gollum wiki"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; path = [ pkgs.git ]; - preStart = let - userName = config.users.users.gollum.name; - groupName = config.users.groups.gollum.name; - in '' - # All of this is safe to be run on an existing repo - mkdir -p ${cfg.stateDir} + preStart = '' + # This is safe to be run on an existing repo git init ${cfg.stateDir} - chmod 755 ${cfg.stateDir} - chown -R ${userName}:${groupName} ${cfg.stateDir} ''; serviceConfig = { User = config.users.users.gollum.name; Group = config.users.groups.gollum.name; - PermissionsStartOnly = true; ExecStart = '' ${pkgs.gollum}/bin/gollum \ --port ${toString cfg.port} \ diff --git a/nixos/modules/services/misc/greenclip.nix b/nixos/modules/services/misc/greenclip.nix new file mode 100644 index 00000000000..9152a782d7f --- /dev/null +++ b/nixos/modules/services/misc/greenclip.nix @@ -0,0 +1,31 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.greenclip; +in { + + options.services.greenclip = { + enable = mkEnableOption "Greenclip daemon"; + + package = mkOption { + type = types.package; + default = pkgs.haskellPackages.greenclip; + defaultText = "pkgs.haskellPackages.greenclip"; + description = "greenclip derivation to use."; + }; + }; + + config = mkIf cfg.enable { + systemd.user.services.greenclip = { + enable = true; + description = "greenclip daemon"; + wantedBy = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig.ExecStart = "${cfg.package}/bin/greenclip daemon"; + }; + + environment.systemPackages = [ cfg.package ]; + }; +} diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix index 4ccfa22c89e..f1b35124674 100644 --- a/nixos/modules/services/misc/home-assistant.nix +++ b/nixos/modules/services/misc/home-assistant.nix @@ -9,34 +9,35 @@ let configJSON = pkgs.writeText "configuration.json" (builtins.toJSON (if cfg.applyDefaultConfig then (recursiveUpdate defaultConfig cfg.config) else cfg.config)); - configFile = pkgs.runCommand "configuration.yaml" { } '' + configFile = pkgs.runCommand "configuration.yaml" { preferLocalBuild = true; } '' ${pkgs.remarshal}/bin/json2yaml -i ${configJSON} -o $out ''; lovelaceConfigJSON = pkgs.writeText "ui-lovelace.json" (builtins.toJSON cfg.lovelaceConfig); - lovelaceConfigFile = pkgs.runCommand "ui-lovelace.yaml" { } '' + lovelaceConfigFile = pkgs.runCommand "ui-lovelace.yaml" { preferLocalBuild = true; } '' ${pkgs.remarshal}/bin/json2yaml -i ${lovelaceConfigJSON} -o $out ''; - availableComponents = pkgs.home-assistant.availableComponents; + availableComponents = cfg.package.availableComponents; - # Given component "parentConfig.platform", returns whether config.parentConfig - # is a list containing a set with set.platform == "platform". + usedPlatforms = config: + if isAttrs config then + optional (config ? platform) config.platform + ++ concatMap usedPlatforms (attrValues config) + else if isList config then + concatMap usedPlatforms config + else [ ]; + + # Given a component "platform", looks up whether it is used in the config + # as `platform = "platform";`. # - # For example, the component sensor.luftdaten is used as follows: + # For example, the component mqtt.sensor is used as follows: # config.sensor = [ { - # platform = "luftdaten"; + # platform = "mqtt"; # ... # } ]; - useComponentPlatform = component: - let - path = splitString "." component; - parentConfig = attrByPath (init path) null cfg.config; - platform = last path; - in isList parentConfig && any - (item: item.platform or null == platform) - parentConfig; + useComponentPlatform = component: elem component (usedPlatforms cfg.config); # Returns whether component is used in config useComponent = component: diff --git a/nixos/modules/services/misc/jackett.nix b/nixos/modules/services/misc/jackett.nix index b18ce2b1f81..f2dc6635df9 100644 --- a/nixos/modules/services/misc/jackett.nix +++ b/nixos/modules/services/misc/jackett.nix @@ -34,29 +34,31 @@ in default = "jackett"; description = "Group under which Jackett runs."; }; + + package = mkOption { + type = types.package; + default = pkgs.jackett; + defaultText = "pkgs.jackett"; + description = "Jackett package to use."; + }; }; }; config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0700 ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.jackett = { description = "Jackett"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - preStart = '' - test -d ${cfg.dataDir} || { - echo "Creating jackett data directory in ${cfg.dataDir}" - mkdir -p ${cfg.dataDir} - } - chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir} - chmod 0700 ${cfg.dataDir} - ''; serviceConfig = { Type = "simple"; User = cfg.user; Group = cfg.group; - PermissionsStartOnly = "true"; - ExecStart = "${pkgs.jackett}/bin/Jackett --NoUpdates --DataFolder '${cfg.dataDir}'"; + ExecStart = "${cfg.package}/bin/Jackett --NoUpdates --DataFolder '${cfg.dataDir}'"; Restart = "on-failure"; }; }; diff --git a/nixos/modules/services/misc/jellyfin.nix b/nixos/modules/services/misc/jellyfin.nix new file mode 100644 index 00000000000..55559206568 --- /dev/null +++ b/nixos/modules/services/misc/jellyfin.nix @@ -0,0 +1,54 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.jellyfin; +in +{ + options = { + services.jellyfin = { + enable = mkEnableOption "Jellyfin Media Server"; + + user = mkOption { + type = types.str; + default = "jellyfin"; + description = "User account under which Jellyfin runs."; + }; + + group = mkOption { + type = types.str; + default = "jellyfin"; + description = "Group under which jellyfin runs."; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.jellyfin = { + description = "Jellyfin Media Server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = rec { + User = cfg.user; + Group = cfg.group; + StateDirectory = "jellyfin"; + CacheDirectory = "jellyfin"; + ExecStart = "${pkgs.jellyfin}/bin/jellyfin --datadir '/var/lib/${StateDirectory}' --cachedir '/var/cache/${CacheDirectory}'"; + Restart = "on-failure"; + }; + }; + + users.users = mkIf (cfg.user == "jellyfin") { + jellyfin.group = cfg.group; + }; + + users.groups = mkIf (cfg.group == "jellyfin") { + jellyfin = {}; + }; + + }; + + meta.maintainers = with lib.maintainers; [ minijackson ]; +} diff --git a/nixos/modules/services/misc/lidarr.nix b/nixos/modules/services/misc/lidarr.nix index 627f22334fe..40755c16217 100644 --- a/nixos/modules/services/misc/lidarr.nix +++ b/nixos/modules/services/misc/lidarr.nix @@ -9,6 +9,37 @@ in options = { services.lidarr = { enable = mkEnableOption "Lidarr"; + + package = mkOption { + type = types.package; + default = pkgs.lidarr; + defaultText = "pkgs.lidarr"; + description = "The Lidarr package to use"; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open ports in the firewall for Lidarr + ''; + }; + + user = mkOption { + type = types.str; + default = "lidarr"; + description = '' + User account under which Lidarr runs. + ''; + }; + + group = mkOption { + type = types.str; + default = "lidarr"; + description = '' + Group under which Lidarr runs. + ''; + }; }; }; @@ -17,30 +48,35 @@ in description = "Lidarr"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - preStart = '' - [ ! -d /var/lib/lidarr ] && mkdir -p /var/lib/lidarr - chown -R lidarr:lidarr /var/lib/lidarr - ''; serviceConfig = { Type = "simple"; - User = "lidarr"; - Group = "lidarr"; - PermissionsStartOnly = "true"; - ExecStart = "${pkgs.lidarr}/bin/Lidarr"; + User = cfg.user; + Group = cfg.group; + ExecStart = "${cfg.package}/bin/Lidarr"; Restart = "on-failure"; - StateDirectory = "/var/lib/lidarr/"; + StateDirectory = "lidarr"; StateDirectoryMode = "0770"; }; }; - users.users.lidarr = { - uid = config.ids.uids.lidarr; - home = "/var/lib/lidarr"; - group = "lidarr"; + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ 8686 ]; }; - users.groups.lidarr.gid = config.ids.gids.lidarr; + users.users = mkIf (cfg.user == "lidarr") { + lidarr = { + group = cfg.group; + home = "/var/lib/lidarr"; + uid = config.ids.uids.lidarr; + }; + }; + + users.groups = mkIf (cfg.group == "lidarr") { + lidarr = { + gid = config.ids.gids.lidarr; + }; + }; }; } diff --git a/nixos/modules/services/misc/logkeys.nix b/nixos/modules/services/misc/logkeys.nix index ad13d9eaa67..0082db63a06 100644 --- a/nixos/modules/services/misc/logkeys.nix +++ b/nixos/modules/services/misc/logkeys.nix @@ -11,7 +11,7 @@ in { device = mkOption { description = "Use the given device as keyboard input event device instead of /dev/input/eventX default."; default = null; - type = types.nullOr types.string; + type = types.nullOr types.str; example = "/dev/input/event15"; }; }; diff --git a/nixos/modules/services/misc/mantisbt.nix b/nixos/modules/services/misc/mantisbt.nix deleted file mode 100644 index 7e3474feb67..00000000000 --- a/nixos/modules/services/misc/mantisbt.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; -let - cfg = config.services.mantisbt; - - freshInstall = cfg.extraConfig == ""; - - # combined code+config directory - mantisbt = let - config_inc = pkgs.writeText "config_inc.php" ("Java KeyStore file containing the certificates. + ''; + }; + + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open ports in the firewall for Metabase. + ''; + }; + }; + + }; + + config = mkIf cfg.enable { + + systemd.services.metabase = { + description = "Metabase server"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-online.target" ]; + environment = { + MB_PLUGINS_DIR = "${dataDir}/plugins"; + MB_DB_FILE = "${dataDir}/metabase.db"; + MB_JETTY_HOST = cfg.listen.ip; + MB_JETTY_PORT = toString cfg.listen.port; + } // optionalAttrs (cfg.ssl.enable) { + MB_JETTY_SSL = true; + MB_JETTY_SSL_PORT = toString cfg.ssl.port; + MB_JETTY_SSL_KEYSTORE = cfg.ssl.keystore; + }; + serviceConfig = { + DynamicUser = true; + StateDirectory = baseNameOf dataDir; + ExecStart = "${pkgs.metabase}/bin/metabase"; + }; + }; + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ cfg.listen.port ] ++ optional cfg.ssl.enable cfg.ssl.port; + }; + + }; +} diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index 9a8116a03e8..088dfd71860 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -8,7 +8,9 @@ let nix = cfg.package.out; - isNix20 = versionAtLeast (getVersion nix) "2.0pre"; + nixVersion = getVersion nix; + + isNix20 = versionAtLeast nixVersion "2.0pre"; makeNixBuildUser = nr: { name = "nixbld${toString nr}"; @@ -33,7 +35,7 @@ let sh = pkgs.runtimeShell; binshDeps = pkgs.writeReferencesToFile sh; in - pkgs.runCommand "nix.conf" { extraOptions = cfg.extraOptions; } ('' + pkgs.runCommand "nix.conf" { preferLocalBuild = true; extraOptions = cfg.extraOptions; } ('' ${optionalString (!isNix20) '' extraPaths=$(for i in $(cat ${binshDeps}); do if test -d $i; then echo $i; fi; done) ''} @@ -60,6 +62,10 @@ let ${optionalString (isNix20 && !cfg.distributedBuilds) '' builders = ''} + system-features = ${toString cfg.systemFeatures} + ${optionalString (versionAtLeast nixVersion "2.3pre") '' + sandbox-fallback = false + ''} $extraOptions END '' + optionalString cfg.checkConfig ( @@ -271,10 +277,12 @@ in binaryCaches = mkOption { type = types.listOf types.str; - default = [ https://cache.nixos.org/ ]; description = '' List of binary cache URLs used to obtain pre-built binaries of Nix packages. + + By default https://cache.nixos.org/ is added, + to override it use lib.mkForce []. ''; }; @@ -360,6 +368,14 @@ in ''; }; + systemFeatures = mkOption { + type = types.listOf types.str; + example = [ "kvm" "big-parallel" "gccarch-skylake" ]; + description = '' + The supported features of a machine + ''; + }; + checkConfig = mkOption { type = types.bool; default = true; @@ -377,6 +393,7 @@ in config = { nix.binaryCachePublicKeys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; + nix.binaryCaches = [ "https://cache.nixos.org/" ]; environment.etc."nix/nix.conf".source = nixConf; @@ -455,7 +472,7 @@ in fi ''; - nix.nrBuildUsers = mkDefault (lib.max 32 cfg.maxJobs); + nix.nrBuildUsers = mkDefault (lib.max 32 (if cfg.maxJobs == "auto" then 0 else cfg.maxJobs)); users.users = nixbldUsers; @@ -478,6 +495,21 @@ in /nix/var/nix/gcroots/tmp ''; + nix.systemFeatures = mkDefault ( + [ "nixos-test" "benchmark" "big-parallel" "kvm" ] ++ + optionals (pkgs.stdenv.isx86_64 && pkgs.hostPlatform.platform ? gcc.arch) ( + # a x86_64 builder can run code for `platform.gcc.arch` and minor architectures: + [ "gccarch-${pkgs.hostPlatform.platform.gcc.arch}" ] ++ { + "sandybridge" = [ "gccarch-westmere" ]; + "ivybridge" = [ "gccarch-westmere" "gccarch-sandybridge" ]; + "haswell" = [ "gccarch-westmere" "gccarch-sandybridge" "gccarch-ivybridge" ]; + "broadwell" = [ "gccarch-westmere" "gccarch-sandybridge" "gccarch-ivybridge" "gccarch-haswell" ]; + "skylake" = [ "gccarch-westmere" "gccarch-sandybridge" "gccarch-ivybridge" "gccarch-haswell" "gccarch-broadwell" ]; + "skylake-avx512" = [ "gccarch-westmere" "gccarch-sandybridge" "gccarch-ivybridge" "gccarch-haswell" "gccarch-broadwell" "gccarch-skylake" ]; + }.${pkgs.hostPlatform.platform.gcc.arch} or [] + ) + ); + }; } diff --git a/nixos/modules/services/misc/nzbget.nix b/nixos/modules/services/misc/nzbget.nix index 6ab98751c57..eb7b4c05d82 100644 --- a/nixos/modules/services/misc/nzbget.nix +++ b/nixos/modules/services/misc/nzbget.nix @@ -4,33 +4,35 @@ with lib; let cfg = config.services.nzbget; - dataDir = builtins.dirOf cfg.configFile; -in { + pkg = pkgs.nzbget; + stateDir = "/var/lib/nzbget"; + configFile = "${stateDir}/nzbget.conf"; + configOpts = concatStringsSep " " (mapAttrsToList (name: value: "-o ${name}=${value}") nixosOpts); + + nixosOpts = { + # allows nzbget to run as a "simple" service + OutputMode = "loggable"; + # use journald for logging + WriteLog = "none"; + ErrorTarget = "screen"; + WarningTarget = "screen"; + InfoTarget = "screen"; + DetailTarget = "screen"; + # required paths + ConfigTemplate = "${pkg}/share/nzbget/nzbget.conf"; + WebDir = "${pkg}/share/nzbget/webui"; + # nixos handles package updates + UpdateCheck = "none"; + }; + +in +{ + # interface + options = { services.nzbget = { enable = mkEnableOption "NZBGet"; - package = mkOption { - type = types.package; - default = pkgs.nzbget; - defaultText = "pkgs.nzbget"; - description = "The NZBGet package to use"; - }; - - dataDir = mkOption { - type = types.str; - default = "/var/lib/nzbget"; - description = "The directory where NZBGet stores its configuration files."; - }; - - openFirewall = mkOption { - type = types.bool; - default = false; - description = '' - Open ports in the firewall for the NZBGet web interface - ''; - }; - user = mkOption { type = types.str; default = "nzbget"; @@ -42,15 +44,11 @@ in { default = "nzbget"; description = "Group under which NZBGet runs"; }; - - configFile = mkOption { - type = types.str; - default = "/var/lib/nzbget/nzbget.conf"; - description = "Path for NZBGet's config file. (If this doesn't exist, the default config template is copied here.)"; - }; }; }; + # implementation + config = mkIf cfg.enable { systemd.services.nzbget = { description = "NZBGet Daemon"; @@ -61,50 +59,26 @@ in { p7zip ]; preStart = '' - cfgtemplate=${cfg.package}/share/nzbget/nzbget.conf - if [ ! -f ${cfg.configFile} ]; then - echo "${cfg.configFile} not found. Copying default config $cfgtemplate to ${cfg.configFile}" - install -m 0700 $cfgtemplate ${cfg.configFile} - echo "Setting temporary \$MAINDIR variable in default config required in order to allow nzbget to complete initial start" - echo "Remember to change this to a proper value once NZBGet startup has been completed" - sed -i -e 's/MainDir=.*/MainDir=\/tmp/g' ${cfg.configFile} + if [ ! -f ${configFile} ]; then + ${pkgs.coreutils}/bin/install -m 0700 ${pkg}/share/nzbget/nzbget.conf ${configFile} fi ''; - script = '' - args="--daemon --configfile ${cfg.configFile}" - # The script in preStart (above) copies nzbget's config template to datadir on first run, containing paths that point to the nzbget derivation installed at the time. - # These paths break when nzbget is upgraded & the original derivation is garbage collected. If such broken paths are found in the config file, override them to point to - # the currently installed nzbget derivation. - cfgfallback () { - local hit=`grep -Po "(?<=^$1=).*+" "${cfg.configFile}" | sed 's/[ \t]*$//'` # Strip trailing whitespace - ( test $hit && test -e $hit ) || { - echo "In ${cfg.configFile}, valid $1 not found; falling back to $1=$2" - args+=" -o $1=$2" - } - } - cfgfallback ConfigTemplate ${cfg.package}/share/nzbget/nzbget.conf - cfgfallback WebDir ${cfg.package}/share/nzbget/webui - ${cfg.package}/bin/nzbget $args - ''; - serviceConfig = { - StateDirectory = dataDir; - StateDirectoryMode = "0700"; - Type = "forking"; + StateDirectory = "nzbget"; + StateDirectoryMode = "0750"; User = cfg.user; Group = cfg.group; - PermissionsStartOnly = "true"; + UMask = "0002"; Restart = "on-failure"; + ExecStart = "${pkg}/bin/nzbget --server --configfile ${stateDir}/nzbget.conf ${configOpts}"; + ExecStop = "${pkg}/bin/nzbget --quit"; }; }; - networking.firewall = mkIf cfg.openFirewall { - allowedTCPPorts = [ 8989 ]; - }; - users.users = mkIf (cfg.user == "nzbget") { nzbget = { + home = stateDir; group = cfg.group; uid = config.ids.uids.nzbget; }; diff --git a/nixos/modules/services/misc/octoprint.nix b/nixos/modules/services/misc/octoprint.nix index baa7c3ade52..8950010773c 100644 --- a/nixos/modules/services/misc/octoprint.nix +++ b/nixos/modules/services/misc/octoprint.nix @@ -7,7 +7,7 @@ let cfg = config.services.octoprint; baseConfig = { - plugins.cura.cura_engine = "${pkgs.curaengine_stable}/bin/CuraEngine"; + plugins.curalegacy.cura_engine = "${pkgs.curaengine_stable}/bin/CuraEngine"; server.host = cfg.host; server.port = cfg.port; webcam.ffmpeg = "${pkgs.ffmpeg.bin}/bin/ffmpeg"; @@ -97,6 +97,10 @@ in gid = config.ids.gids.octoprint; }); + systemd.tmpfiles.rules = [ + "d '${cfg.stateDir}' - ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.octoprint = { description = "OctoPrint, web interface for 3D printers"; wantedBy = [ "multi-user.target" ]; @@ -105,7 +109,6 @@ in environment.PYTHONPATH = makeSearchPathOutput "lib" pkgs.python.sitePackages [ pluginsEnv ]; preStart = '' - mkdir -p "${cfg.stateDir}" if [ -e "${cfg.stateDir}/config.yaml" ]; then ${pkgs.yaml-merge}/bin/yaml-merge "${cfg.stateDir}/config.yaml" "${cfgUpdate}" > "${cfg.stateDir}/config.yaml.tmp" mv "${cfg.stateDir}/config.yaml.tmp" "${cfg.stateDir}/config.yaml" @@ -113,14 +116,12 @@ in cp "${cfgUpdate}" "${cfg.stateDir}/config.yaml" chmod 600 "${cfg.stateDir}/config.yaml" fi - chown -R ${cfg.user}:${cfg.group} "${cfg.stateDir}" ''; serviceConfig = { ExecStart = "${pkgs.octoprint}/bin/octoprint serve -b ${cfg.stateDir}"; User = cfg.user; Group = cfg.group; - PermissionsStartOnly = true; }; }; diff --git a/nixos/modules/services/misc/packagekit.nix b/nixos/modules/services/misc/packagekit.nix index bce21e8acff..325c4e84e0d 100644 --- a/nixos/modules/services/misc/packagekit.nix +++ b/nixos/modules/services/misc/packagekit.nix @@ -7,18 +7,19 @@ let cfg = config.services.packagekit; packagekitConf = '' -[Daemon] -KeepCache=false - ''; + [Daemon] + DefaultBackend=${cfg.backend} + KeepCache=false + ''; vendorConf = '' -[PackagesNotFound] -DefaultUrl=https://github.com/NixOS/nixpkgs -CodecUrl=https://github.com/NixOS/nixpkgs -HardwareUrl=https://github.com/NixOS/nixpkgs -FontUrl=https://github.com/NixOS/nixpkgs -MimeUrl=https://github.com/NixOS/nixpkgs - ''; + [PackagesNotFound] + DefaultUrl=https://github.com/NixOS/nixpkgs + CodecUrl=https://github.com/NixOS/nixpkgs + HardwareUrl=https://github.com/NixOS/nixpkgs + FontUrl=https://github.com/NixOS/nixpkgs + MimeUrl=https://github.com/NixOS/nixpkgs + ''; in @@ -33,26 +34,32 @@ in installing software. Software utilizing PackageKit can install software regardless of the package manager. ''; - }; + # TODO: integrate with PolicyKit if the nix backend matures to the point + # where it will require elevated permissions + backend = mkOption { + type = types.enum [ "test_nop" ]; + default = "test_nop"; + description = '' + PackageKit supports multiple different backends and auto which + should do the right thing. + + + On NixOS however, we do not have a backend compatible with nix 2.0 + (refer to this issue so we have to force + it to test_nop for now. + ''; + }; + }; }; config = mkIf cfg.enable { - services.dbus.packages = [ pkgs.packagekit ]; + services.dbus.packages = with pkgs; [ packagekit ]; - systemd.services.packagekit = { - description = "PackageKit Daemon"; - wantedBy = [ "multi-user.target" ]; - serviceConfig.ExecStart = "${pkgs.packagekit}/libexec/packagekitd"; - serviceConfig.User = "root"; - serviceConfig.BusName = "org.freedesktop.PackageKit"; - serviceConfig.Type = "dbus"; - }; + systemd.packages = with pkgs; [ packagekit ]; environment.etc."PackageKit/PackageKit.conf".text = packagekitConf; environment.etc."PackageKit/Vendor.conf".text = vendorConf; - }; - } diff --git a/nixos/modules/services/misc/paperless.nix b/nixos/modules/services/misc/paperless.nix new file mode 100644 index 00000000000..3985dc0b303 --- /dev/null +++ b/nixos/modules/services/misc/paperless.nix @@ -0,0 +1,185 @@ +{ config, pkgs, lib, ... }: + +with lib; +let + cfg = config.services.paperless; + + defaultUser = "paperless"; + + manage = cfg.package.withConfig { + config = { + PAPERLESS_CONSUMPTION_DIR = cfg.consumptionDir; + PAPERLESS_INLINE_DOC = "true"; + PAPERLESS_DISABLE_LOGIN = "true"; + } // cfg.extraConfig; + inherit (cfg) dataDir ocrLanguages; + paperlessPkg = cfg.package; + }; +in +{ + options.services.paperless = { + enable = mkOption { + type = lib.types.bool; + default = false; + description = '' + Enable Paperless. + + When started, the Paperless database is automatically created if it doesn't + exist and updated if the Paperless package has changed. + Both tasks are achieved by running a Django migration. + ''; + }; + + dataDir = mkOption { + type = types.str; + default = "/var/lib/paperless"; + description = "Directory to store the Paperless data."; + }; + + consumptionDir = mkOption { + type = types.str; + default = "${cfg.dataDir}/consume"; + defaultText = "\${dataDir}/consume"; + description = "Directory from which new documents are imported."; + }; + + consumptionDirIsPublic = mkOption { + type = types.bool; + default = false; + description = "Whether all users can write to the consumption dir."; + }; + + ocrLanguages = mkOption { + type = with types; nullOr (listOf str); + default = null; + description = '' + Languages available for OCR via Tesseract, specified as + ISO 639-2/T language codes. + If unset, defaults to all available languages. + ''; + example = [ "eng" "spa" "jpn" ]; + }; + + address = mkOption { + type = types.str; + default = "localhost"; + description = "Server listening address."; + }; + + port = mkOption { + type = types.int; + default = 28981; + description = "Server port to listen on."; + }; + + extraConfig = mkOption { + type = types.attrs; + default = {}; + description = '' + Extra paperless config options. + + The config values are evaluated as double-quoted Bash string literals. + + See paperless-src/paperless.conf.example for available options. + + To enable user authentication, set PAPERLESS_DISABLE_LOGIN = "false" + and run the shell command $dataDir/paperless-manage createsuperuser. + + To define secret options without storing them in /nix/store, use the following pattern: + PAPERLESS_PASSPHRASE = "$(< /etc/my_passphrase_file)" + ''; + example = literalExample '' + { + PAPERLESS_OCR_LANGUAGE = "deu"; + } + ''; + }; + + user = mkOption { + type = types.str; + default = defaultUser; + description = "User under which Paperless runs."; + }; + + package = mkOption { + type = types.package; + default = pkgs.paperless; + defaultText = "pkgs.paperless"; + description = "The Paperless package to use."; + }; + + manage = mkOption { + type = types.package; + readOnly = true; + default = manage; + description = '' + A script to manage the Paperless instance. + It wraps Django's manage.py and is also available at + $dataDir/manage-paperless + ''; + }; + }; + + config = mkIf cfg.enable { + + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - ${cfg.user} ${cfg.user} - -" + ] ++ (optional cfg.consumptionDirIsPublic + "d '${cfg.consumptionDir}' 777 ${cfg.user} ${cfg.user} - -" + # If the consumption dir is not created here, it's automatically created by + # 'manage' with the default permissions. + ); + + systemd.services.paperless-consumer = { + description = "Paperless document consumer"; + serviceConfig = { + User = cfg.user; + ExecStart = "${manage} document_consumer"; + Restart = "always"; + }; + after = [ "systemd-tmpfiles-setup.service" ]; + wantedBy = [ "multi-user.target" ]; + preStart = '' + if [[ $(readlink ${cfg.dataDir}/paperless-manage) != ${manage} ]]; then + ln -sf ${manage} ${cfg.dataDir}/paperless-manage + fi + + ${manage.setupEnv} + # Auto-migrate on first run or if the package has changed + versionFile="$PAPERLESS_DBDIR/src-version" + if [[ $(cat "$versionFile" 2>/dev/null) != ${cfg.package} ]]; then + python $paperlessSrc/manage.py migrate + echo ${cfg.package} > "$versionFile" + fi + ''; + }; + + systemd.services.paperless-server = { + description = "Paperless document server"; + serviceConfig = { + User = cfg.user; + ExecStart = "${manage} runserver --noreload ${cfg.address}:${toString cfg.port}"; + Restart = "always"; + }; + # Bind to `paperless-consumer` so that the server never runs + # during migrations + bindsTo = [ "paperless-consumer.service" ]; + after = [ "paperless-consumer.service" ]; + wantedBy = [ "multi-user.target" ]; + }; + + users = optionalAttrs (cfg.user == defaultUser) { + users = [{ + name = defaultUser; + group = defaultUser; + uid = config.ids.uids.paperless; + home = cfg.dataDir; + }]; + + groups = [{ + name = defaultUser; + gid = config.ids.gids.paperless; + }]; + }; + }; +} diff --git a/nixos/modules/services/misc/phd.nix b/nixos/modules/services/misc/phd.nix deleted file mode 100644 index e605ce5de16..00000000000 --- a/nixos/modules/services/misc/phd.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - - cfg = config.services.phd; - -in - -{ - - ###### interface - - options = { - - services.phd = { - - enable = mkOption { - default = false; - description = " - Enable daemons for phabricator. - "; - }; - - }; - - }; - - ###### implementation - - config = mkIf cfg.enable { - - systemd.services.phd = { - path = [ pkgs.phabricator pkgs.php pkgs.mercurial pkgs.git pkgs.subversion ]; - - after = [ "httpd.service" ]; - wantedBy = [ "multi-user.target" ]; - - serviceConfig = { - ExecStart = "${pkgs.phabricator}/phabricator/bin/phd start"; - ExecStop = "${pkgs.phabricator}/phabricator/bin/phd stop"; - User = "wwwrun"; - RestartSec = "30s"; - Restart = "always"; - StartLimitInterval = "1m"; - }; - }; - - }; - -} diff --git a/nixos/modules/services/misc/plex.nix b/nixos/modules/services/misc/plex.nix index b06c1c4bbc6..7efadf1b9bb 100644 --- a/nixos/modules/services/misc/plex.nix +++ b/nixos/modules/services/misc/plex.nix @@ -10,35 +10,38 @@ in services.plex = { enable = mkEnableOption "Plex Media Server"; - # FIXME: In order for this config option to work, symlinks in the Plex - # package in the Nix store have to be changed to point to this directory. dataDir = mkOption { type = types.str; default = "/var/lib/plex"; - description = "The directory where Plex stores its data files."; + description = '' + The directory where Plex stores its data files. + ''; }; openFirewall = mkOption { type = types.bool; default = false; description = '' - Open ports in the firewall for the media server + Open ports in the firewall for the media server. ''; }; user = mkOption { type = types.str; default = "plex"; - description = "User account under which Plex runs."; + description = '' + User account under which Plex runs. + ''; }; group = mkOption { type = types.str; default = "plex"; - description = "Group under which Plex runs."; + description = '' + Group under which Plex runs. + ''; }; - managePlugins = mkOption { type = types.bool; default = true; @@ -80,73 +83,48 @@ in description = "Plex Media Server"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - preStart = '' - test -d "${cfg.dataDir}/Plex Media Server" || { - echo "Creating initial Plex data directory in \"${cfg.dataDir}\"." - mkdir -p "${cfg.dataDir}/Plex Media Server" - chown -R ${cfg.user}:${cfg.group} "${cfg.dataDir}" - } - # Copy the database skeleton files to /var/lib/plex/.skeleton - # See the the Nix expression for Plex's package for more information on - # why this is done. - install --owner ${cfg.user} --group ${cfg.group} -d "${cfg.dataDir}/.skeleton" - for db in "com.plexapp.plugins.library.db"; do - if [ ! -e "${cfg.dataDir}/.skeleton/$db" ]; then - cp "${cfg.package}/usr/lib/plexmediaserver/Resources/base_$db" "${cfg.dataDir}/.skeleton/$db" - fi - chmod u+w "${cfg.dataDir}/.skeleton/$db" - chown ${cfg.user}:${cfg.group} "${cfg.dataDir}/.skeleton/$db" - done - - # If managePlugins is enabled, setup symlinks for plugins. - ${optionalString cfg.managePlugins '' - echo "Preparing plugin directory." - PLUGINDIR="${cfg.dataDir}/Plex Media Server/Plug-ins" - test -d "$PLUGINDIR" || { - mkdir -p "$PLUGINDIR"; - chown ${cfg.user}:${cfg.group} "$PLUGINDIR"; - } - - echo "Removing old symlinks." - # First, remove all of the symlinks in the directory. - for f in `ls "$PLUGINDIR/"`; do - if [[ -L "$PLUGINDIR/$f" ]]; then - echo "Removing plugin symlink $PLUGINDIR/$f." - rm "$PLUGINDIR/$f" - fi - done - - echo "Symlinking plugins." - for path in ${toString cfg.extraPlugins}; do - dest="$PLUGINDIR/$(basename $path)" - if [[ ! -d "$path" ]]; then - echo "Error symlinking plugin from $path: no such directory." - elif [[ -d "$dest" || -L "$dest" ]]; then - echo "Error symlinking plugin from $path to $dest: file or directory already exists." - else - echo "Symlinking plugin at $path..." - ln -s "$path" "$dest" - fi - done - ''} - ''; serviceConfig = { Type = "simple"; User = cfg.user; Group = cfg.group; - PermissionsStartOnly = "true"; - ExecStart = "\"${cfg.package}/usr/lib/plexmediaserver/Plex Media Server\""; + + # Run the pre-start script with full permissions (the "!" prefix) so it + # can create the data directory if necessary. + ExecStartPre = let + preStartScript = pkgs.writeScript "plex-run-prestart" '' + #!${pkgs.bash}/bin/bash + + # Create data directory if it doesn't exist + if ! test -d "$PLEX_DATADIR"; then + echo "Creating initial Plex data directory in: $PLEX_DATADIR" + install -d -m 0755 -o "${cfg.user}" -g "${cfg.group}" "$PLEX_DATADIR" + fi + ''; + in + "!${preStartScript}"; + + ExecStart = "${cfg.package}/bin/plexmediaserver"; KillSignal = "SIGQUIT"; Restart = "on-failure"; }; + environment = { - PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=cfg.dataDir; - PLEX_MEDIA_SERVER_HOME="${cfg.package}/usr/lib/plexmediaserver"; + # Configuration for our FHS userenv script + PLEX_DATADIR=cfg.dataDir; + PLEX_PLUGINS=concatMapStringsSep ":" builtins.toString cfg.extraPlugins; + + # The following variables should be set by the FHS userenv script: + # PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR + # PLEX_MEDIA_SERVER_HOME + + # Allow access to GPU acceleration; the Plex LD_LIBRARY_PATH is added + # by the FHS userenv script. + LD_LIBRARY_PATH="/run/opengl-driver/lib"; + PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="6"; PLEX_MEDIA_SERVER_TMPDIR="/tmp"; PLEX_MEDIA_SERVER_USE_SYSLOG="true"; - LD_LIBRARY_PATH="/run/opengl-driver/lib:${cfg.package}/usr/lib/plexmediaserver"; LC_ALL="en_US.UTF-8"; LANG="en_US.UTF-8"; }; diff --git a/nixos/modules/services/misc/plexpy.nix b/nixos/modules/services/misc/plexpy.nix deleted file mode 100644 index 2a589fdfb27..00000000000 --- a/nixos/modules/services/misc/plexpy.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ config, pkgs, lib, ... }: - -with lib; - -let - cfg = config.services.plexpy; -in -{ - options = { - services.plexpy = { - enable = mkEnableOption "PlexPy Plex Monitor"; - - dataDir = mkOption { - type = types.str; - default = "/var/lib/plexpy"; - description = "The directory where PlexPy stores its data files."; - }; - - configFile = mkOption { - type = types.str; - default = "/var/lib/plexpy/config.ini"; - description = "The location of PlexPy's config file."; - }; - - port = mkOption { - type = types.int; - default = 8181; - description = "TCP port where PlexPy listens."; - }; - - user = mkOption { - type = types.str; - default = "plexpy"; - description = "User account under which PlexPy runs."; - }; - - group = mkOption { - type = types.str; - default = "nogroup"; - description = "Group under which PlexPy runs."; - }; - - package = mkOption { - type = types.package; - default = pkgs.plexpy; - defaultText = "pkgs.plexpy"; - description = '' - The PlexPy package to use. - ''; - }; - }; - }; - - config = mkIf cfg.enable { - systemd.services.plexpy = { - description = "PlexPy Plex Monitor"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - preStart = '' - test -d "${cfg.dataDir}" || { - echo "Creating initial PlexPy data directory in \"${cfg.dataDir}\"." - mkdir -p "${cfg.dataDir}" - chown ${cfg.user}:${cfg.group} "${cfg.dataDir}" - } - ''; - serviceConfig = { - Type = "simple"; - User = cfg.user; - Group = cfg.group; - PermissionsStartOnly = "true"; - GuessMainPID = "false"; - ExecStart = "${cfg.package}/bin/plexpy --datadir ${cfg.dataDir} --config ${cfg.configFile} --port ${toString cfg.port} --pidfile ${cfg.dataDir}/plexpy.pid --nolaunch"; - Restart = "on-failure"; - }; - }; - - users.users = mkIf (cfg.user == "plexpy") { - plexpy = { group = cfg.group; uid = config.ids.uids.plexpy; }; - }; - }; -} diff --git a/nixos/modules/services/misc/radarr.nix b/nixos/modules/services/misc/radarr.nix index 9ab26d84832..74444e24043 100644 --- a/nixos/modules/services/misc/radarr.nix +++ b/nixos/modules/services/misc/radarr.nix @@ -38,24 +38,19 @@ in }; config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0700 ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.radarr = { description = "Radarr"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - preStart = '' - test -d ${cfg.dataDir} || { - echo "Creating radarr data directory in ${cfg.dataDir}" - mkdir -p ${cfg.dataDir} - } - chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir} - chmod 0700 ${cfg.dataDir} - ''; serviceConfig = { Type = "simple"; User = cfg.user; Group = cfg.group; - PermissionsStartOnly = "true"; ExecStart = "${pkgs.radarr}/bin/Radarr -nobrowser -data='${cfg.dataDir}'"; Restart = "on-failure"; }; diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix index 98e9c8953c8..24b9e27ac2d 100644 --- a/nixos/modules/services/misc/redmine.nix +++ b/nixos/modules/services/misc/redmine.nix @@ -1,8 +1,10 @@ { config, lib, pkgs, ... }: -with lib; - let + inherit (lib) mkDefault mkEnableOption mkIf mkOption types; + inherit (lib) concatStringsSep literalExample mapAttrsToList; + inherit (lib) optional optionalAttrs optionalString singleton versionAtLeast; + cfg = config.services.redmine; bundle = "${cfg.package}/share/redmine/bin/bundle"; @@ -11,11 +13,11 @@ let production: adapter: ${cfg.database.type} database: ${cfg.database.name} - host: ${cfg.database.host} + host: ${if (cfg.database.type == "postgresql" && cfg.database.socket != null) then cfg.database.socket else cfg.database.host} port: ${toString cfg.database.port} username: ${cfg.database.user} password: #dbpass# - ${optionalString (cfg.database.socket != null) "socket: ${cfg.database.socket}"} + ${optionalString (cfg.database.type == "mysql2" && cfg.database.socket != null) "socket: ${cfg.database.socket}"} ''; configurationYml = pkgs.writeText "configuration.yml" '' @@ -50,16 +52,15 @@ let ''; }); + mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql2"; + pgsqlLocal = cfg.database.createLocally && cfg.database.type == "postgresql"; + in { options = { services.redmine = { - enable = mkOption { - type = types.bool; - default = false; - description = "Enable the Redmine service."; - }; + enable = mkEnableOption "Redmine"; # default to the 4.x series not forcing major version upgrade of those on the 3.x series package = mkOption { @@ -107,7 +108,8 @@ in description = '' Extra configuration in configuration.yml. - See https://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration + See + for details. ''; example = literalExample '' email_delivery: @@ -124,7 +126,8 @@ in description = '' Extra configuration in additional_environment.rb. - See https://svn.redmine.org/redmine/trunk/config/additional_environment.rb.example + See + for details. ''; example = literalExample '' config.logger.level = Logger::DEBUG @@ -169,13 +172,14 @@ in host = mkOption { type = types.str; - default = (if cfg.database.socket != null then "localhost" else "127.0.0.1"); + default = "localhost"; description = "Database host address."; }; port = mkOption { type = types.int; - default = 3306; + default = if cfg.database.type == "postgresql" then 5432 else 3306; + defaultText = "3306"; description = "Database host port."; }; @@ -213,10 +217,20 @@ in socket = mkOption { type = types.nullOr types.path; - default = null; + default = + if mysqlLocal then "/run/mysqld/mysqld.sock" + else if pgsqlLocal then "/run/postgresql" + else null; + defaultText = "/run/mysqld/mysqld.sock"; example = "/run/mysqld/mysqld.sock"; description = "Path to the unix socket file to use for authentication."; }; + + createLocally = mkOption { + type = types.bool; + default = true; + description = "Create the database and database user locally."; + }; }; }; }; @@ -227,23 +241,71 @@ in { assertion = cfg.database.passwordFile != null || cfg.database.password != "" || cfg.database.socket != null; message = "one of services.redmine.database.socket, services.redmine.database.passwordFile, or services.redmine.database.password must be set"; } - { assertion = cfg.database.socket != null -> (cfg.database.type == "mysql2"); - message = "Socket authentication is only available for the mysql2 database type"; + { assertion = cfg.database.createLocally -> cfg.database.user == cfg.user; + message = "services.redmine.database.user must be set to ${cfg.user} if services.redmine.database.createLocally is set true"; + } + { assertion = cfg.database.createLocally -> cfg.database.socket != null; + message = "services.redmine.database.socket must be set if services.redmine.database.createLocally is set to true"; + } + { assertion = cfg.database.createLocally -> cfg.database.host == "localhost"; + message = "services.redmine.database.host must be set to localhost if services.redmine.database.createLocally is set to true"; } ]; - environment.systemPackages = [ cfg.package ]; + services.mysql = mkIf mysqlLocal { + enable = true; + package = mkDefault pkgs.mariadb; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; + } + ]; + }; + + services.postgresql = mkIf pgsqlLocal { + enable = true; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + } + ]; + }; + + # create symlinks for the basic directory layout the redmine package expects + systemd.tmpfiles.rules = [ + "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.stateDir}/cache' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.stateDir}/config' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.stateDir}/files' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.stateDir}/log' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.stateDir}/plugins' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.stateDir}/public' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.stateDir}/public/plugin_assets' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.stateDir}/public/themes' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.stateDir}/tmp' 0750 ${cfg.user} ${cfg.group} - -" + + "d /run/redmine - - - - -" + "d /run/redmine/public - - - - -" + "L+ /run/redmine/config - - - - ${cfg.stateDir}/config" + "L+ /run/redmine/files - - - - ${cfg.stateDir}/files" + "L+ /run/redmine/log - - - - ${cfg.stateDir}/log" + "L+ /run/redmine/plugins - - - - ${cfg.stateDir}/plugins" + "L+ /run/redmine/public/plugin_assets - - - - ${cfg.stateDir}/public/plugin_assets" + "L+ /run/redmine/public/themes - - - - ${cfg.stateDir}/public/themes" + "L+ /run/redmine/tmp - - - - ${cfg.stateDir}/tmp" + ]; systemd.services.redmine = { - after = [ "network.target" (if cfg.database.type == "mysql2" then "mysql.service" else "postgresql.service") ]; + after = [ "network.target" ] ++ optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; wantedBy = [ "multi-user.target" ]; - environment.HOME = "${cfg.package}/share/redmine"; environment.RAILS_ENV = "production"; environment.RAILS_CACHE = "${cfg.stateDir}/cache"; environment.REDMINE_LANG = "en"; environment.SCHEMA = "${cfg.stateDir}/cache/schema.db"; path = with pkgs; [ - imagemagickBig + imagemagick bazaar cvs darcs @@ -252,28 +314,16 @@ in subversion ]; preStart = '' - # ensure cache directory exists for db:migrate command - mkdir -p "${cfg.stateDir}/cache" - - # create the basic directory layout the redmine package expects - mkdir -p /run/redmine/public - - for i in config files log plugins tmp; do - mkdir -p "${cfg.stateDir}/$i" - ln -fs "${cfg.stateDir}/$i" /run/redmine/ - done - - for i in plugin_assets themes; do - mkdir -p "${cfg.stateDir}/public/$i" - ln -fs "${cfg.stateDir}/public/$i" /run/redmine/public/ - done - + rm -rf "${cfg.stateDir}/plugins/"* + rm -rf "${cfg.stateDir}/public/themes/"* # start with a fresh config directory # the config directory is copied instead of linked as some mutable data is stored in there - rm -rf "${cfg.stateDir}/config/"* + find "${cfg.stateDir}/config" ! -name "secret_token.rb" -type f -exec rm -f {} + cp -r ${cfg.package}/share/redmine/config.dist/* "${cfg.stateDir}/config/" + chmod -R u+w "${cfg.stateDir}/config" + # link in the application configuration ln -fs ${configurationYml} "${cfg.stateDir}/config/configuration.yml" @@ -282,7 +332,6 @@ in # link in all user specified themes - rm -rf "${cfg.stateDir}/public/themes/"* for theme in ${concatStringsSep " " (mapAttrsToList unpackTheme cfg.themes)}; do ln -fs $theme/* "${cfg.stateDir}/public/themes" done @@ -292,16 +341,11 @@ in # link in all user specified plugins - rm -rf "${cfg.stateDir}/plugins/"* for plugin in ${concatStringsSep " " (mapAttrsToList unpackPlugin cfg.plugins)}; do ln -fs $plugin/* "${cfg.stateDir}/plugins/''${plugin##*-redmine-plugin-}" done - # ensure correct permissions for most files - chmod -R ug+rwX,o-rwx+x "${cfg.stateDir}/" - - # handle database.passwordFile & permissions DBPASS=$(head -n1 ${cfg.database.passwordFile}) cp -f ${databaseYml} "${cfg.stateDir}/config/database.yml" @@ -315,25 +359,13 @@ in chmod 440 "${cfg.stateDir}/config/initializers/secret_token.rb" fi - - # ensure everything is owned by ${cfg.user} - chown -R ${cfg.user}:${cfg.group} "${cfg.stateDir}" - - # execute redmine required commands prior to starting the application - # NOTE: su required in case using mysql socket authentication - /run/wrappers/bin/su -s ${pkgs.bash}/bin/bash -m -l redmine -c '${bundle} exec rake db:migrate' - /run/wrappers/bin/su -s ${pkgs.bash}/bin/bash -m -l redmine -c '${bundle} exec rake redmine:plugins:migrate' - /run/wrappers/bin/su -s ${pkgs.bash}/bin/bash -m -l redmine -c '${bundle} exec rake redmine:load_default_data' - - - # log files don't exist until after first command has been executed - # correct ownership of files generated by calling exec rake ... - chown -R ${cfg.user}:${cfg.group} "${cfg.stateDir}/log" + ${bundle} exec rake db:migrate + ${bundle} exec rake redmine:plugins:migrate + ${bundle} exec rake redmine:load_default_data ''; serviceConfig = { - PermissionsStartOnly = true; # preStart must be run as root Type = "simple"; User = cfg.user; Group = cfg.group; @@ -348,7 +380,6 @@ in { name = "redmine"; group = cfg.group; home = cfg.stateDir; - createHome = true; uid = config.ids.uids.redmine; }); diff --git a/nixos/modules/services/misc/sonarr.nix b/nixos/modules/services/misc/sonarr.nix index a99445a268d..77c7f0582d0 100644 --- a/nixos/modules/services/misc/sonarr.nix +++ b/nixos/modules/services/misc/sonarr.nix @@ -39,24 +39,19 @@ in }; config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0700 ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.sonarr = { description = "Sonarr"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - preStart = '' - test -d ${cfg.dataDir} || { - echo "Creating sonarr data directory in ${cfg.dataDir}" - mkdir -p ${cfg.dataDir} - } - chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir} - chmod 0700 ${cfg.dataDir} - ''; serviceConfig = { Type = "simple"; User = cfg.user; Group = cfg.group; - PermissionsStartOnly = "true"; ExecStart = "${pkgs.sonarr}/bin/NzbDrone -nobrowser -data='${cfg.dataDir}'"; Restart = "on-failure"; }; diff --git a/nixos/modules/services/misc/spice-vdagentd.nix b/nixos/modules/services/misc/spice-vdagentd.nix index f322ba4cbd5..2dd9fcf68ab 100644 --- a/nixos/modules/services/misc/spice-vdagentd.nix +++ b/nixos/modules/services/misc/spice-vdagentd.nix @@ -19,7 +19,7 @@ in description = "spice-vdagent daemon"; wantedBy = [ "graphical.target" ]; preStart = '' - mkdir -p "/var/run/spice-vdagentd/" + mkdir -p "/run/spice-vdagentd/" ''; serviceConfig = { Type = "forking"; diff --git a/nixos/modules/services/misc/sssd.nix b/nixos/modules/services/misc/sssd.nix index fe472a6c68e..6b64045dde8 100644 --- a/nixos/modules/services/misc/sssd.nix +++ b/nixos/modules/services/misc/sssd.nix @@ -6,7 +6,7 @@ let in { options = { services.sssd = { - enable = mkEnableOption "the System Security Services Daemon."; + enable = mkEnableOption "the System Security Services Daemon"; config = mkOption { type = types.lines; diff --git a/nixos/modules/services/misc/subsonic.nix b/nixos/modules/services/misc/subsonic.nix index 1612b197f35..c1e1a7f40f0 100644 --- a/nixos/modules/services/misc/subsonic.nix +++ b/nixos/modules/services/misc/subsonic.nix @@ -17,7 +17,7 @@ let cfg = config.services.subsonic; in { }; listenAddress = mkOption { - type = types.string; + type = types.str; default = "0.0.0.0"; description = '' The host name or IP address on which to bind Subsonic. diff --git a/nixos/modules/services/misc/svnserve.nix b/nixos/modules/services/misc/svnserve.nix index 04a6cd7bfa9..6292bc52b1e 100644 --- a/nixos/modules/services/misc/svnserve.nix +++ b/nixos/modules/services/misc/svnserve.nix @@ -38,7 +38,7 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = "mkdir -p ${cfg.svnBaseDir}"; - script = "${pkgs.subversion.out}/bin/svnserve -r ${cfg.svnBaseDir} -d --foreground --pid-file=/var/run/svnserve.pid"; + script = "${pkgs.subversion.out}/bin/svnserve -r ${cfg.svnBaseDir} -d --foreground --pid-file=/run/svnserve.pid"; }; }; } diff --git a/nixos/modules/services/misc/taskserver/default.nix b/nixos/modules/services/misc/taskserver/default.nix index 5f97abf1871..8a57277fafe 100644 --- a/nixos/modules/services/misc/taskserver/default.nix +++ b/nixos/modules/services/misc/taskserver/default.nix @@ -48,7 +48,7 @@ let type = types.nullOr types.int; default = null; example = 365; - apply = val: if isNull val then -1 else val; + apply = val: if val == null then -1 else val; description = mkAutoDesc '' The expiration time of ${desc} in days or null for no expiration time. @@ -82,7 +82,7 @@ let then attrByPath newPath (notFound newPath) cfg.pki.manual else findPkiDefinitions newPath val; in flatten (mapAttrsToList mkSublist attrs); - in all isNull (findPkiDefinitions [] manualPkiOptions); + in all (x: x == null) (findPkiDefinitions [] manualPkiOptions); orgOptions = { ... }: { options.users = mkOption { @@ -109,7 +109,7 @@ let nixos-taskserver = pkgs.pythonPackages.buildPythonApplication { name = "nixos-taskserver"; - src = pkgs.runCommand "nixos-taskserver-src" {} '' + src = pkgs.runCommand "nixos-taskserver-src" { preferLocalBuild = true; } '' mkdir -p "$out" cat "${pkgs.substituteAll { src = ./helper-tool.py; @@ -411,7 +411,7 @@ in { } else { cert = "${cfg.pki.manual.server.cert}"; key = "${cfg.pki.manual.server.key}"; - crl = "${cfg.pki.manual.server.crl}"; + ${mapNullable (_: "crl") cfg.pki.manual.server.crl} = "${cfg.pki.manual.server.crl}"; }); ca.cert = if needToCreateCA then "${cfg.dataDir}/keys/ca.cert" diff --git a/nixos/modules/services/misc/taskserver/doc.xml b/nixos/modules/services/misc/taskserver/doc.xml index 5eac8d9ef78..5656bb85b37 100644 --- a/nixos/modules/services/misc/taskserver/doc.xml +++ b/nixos/modules/services/misc/taskserver/doc.xml @@ -105,7 +105,7 @@ Now in order to import the alice user to another machine alicebox, all we need to do is something like this: -$ ssh server nixos-taskserver user export my-company alice | sh +$ ssh server nixos-taskserver user export my-company alice | sh Of course, if no SSH daemon is available on the server you can also copy & paste it directly into a shell. diff --git a/nixos/modules/services/misc/tautulli.nix b/nixos/modules/services/misc/tautulli.nix new file mode 100644 index 00000000000..50e45036647 --- /dev/null +++ b/nixos/modules/services/misc/tautulli.nix @@ -0,0 +1,77 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.tautulli; +in +{ + options = { + services.tautulli = { + enable = mkEnableOption "Tautulli Plex Monitor"; + + dataDir = mkOption { + type = types.str; + default = "/var/lib/plexpy"; + description = "The directory where Tautulli stores its data files."; + }; + + configFile = mkOption { + type = types.str; + default = "/var/lib/plexpy/config.ini"; + description = "The location of Tautulli's config file."; + }; + + port = mkOption { + type = types.int; + default = 8181; + description = "TCP port where Tautulli listens."; + }; + + user = mkOption { + type = types.str; + default = "plexpy"; + description = "User account under which Tautulli runs."; + }; + + group = mkOption { + type = types.str; + default = "nogroup"; + description = "Group under which Tautulli runs."; + }; + + package = mkOption { + type = types.package; + default = pkgs.tautulli; + defaultText = "pkgs.tautulli"; + description = '' + The Tautulli package to use. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - ${cfg.user} ${cfg.group} - -" + ]; + + systemd.services.tautulli = { + description = "Tautulli Plex Monitor"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "simple"; + User = cfg.user; + Group = cfg.group; + GuessMainPID = "false"; + ExecStart = "${cfg.package}/bin/tautulli --datadir ${cfg.dataDir} --config ${cfg.configFile} --port ${toString cfg.port} --pidfile ${cfg.dataDir}/tautulli.pid --nolaunch"; + Restart = "on-failure"; + }; + }; + + users.users = mkIf (cfg.user == "plexpy") { + plexpy = { group = cfg.group; uid = config.ids.uids.plexpy; }; + }; + }; +} diff --git a/nixos/modules/services/misc/tiddlywiki.nix b/nixos/modules/services/misc/tiddlywiki.nix new file mode 100644 index 00000000000..2adc08f6cfe --- /dev/null +++ b/nixos/modules/services/misc/tiddlywiki.nix @@ -0,0 +1,52 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.tiddlywiki; + listenParams = concatStrings (mapAttrsToList (n: v: " '${n}=${toString v}' ") cfg.listenOptions); + exe = "${pkgs.nodePackages.tiddlywiki}/lib/node_modules/.bin/tiddlywiki"; + name = "tiddlywiki"; + dataDir = "/var/lib/" + name; + +in { + + options.services.tiddlywiki = { + + enable = mkEnableOption "TiddlyWiki nodejs server"; + + listenOptions = mkOption { + type = types.attrs; + default = {}; + example = { + credentials = "../credentials.csv"; + readers="(authenticated)"; + port = 3456; + }; + description = '' + Parameters passed to --listen command. + Refer to + for details on supported values. + ''; + }; + }; + + config = mkIf cfg.enable { + systemd = { + services.tiddlywiki = { + description = "TiddlyWiki nodejs server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "simple"; + Restart = "on-failure"; + DynamicUser = true; + StateDirectory = name; + ExecStartPre = "-${exe} ${dataDir} --init server"; + ExecStart = "${exe} ${dataDir} --listen ${listenParams}"; + }; + }; + }; + }; +} diff --git a/nixos/modules/services/misc/uhub.nix b/nixos/modules/services/misc/uhub.nix index 005951b9231..753580c3e40 100644 --- a/nixos/modules/services/misc/uhub.nix +++ b/nixos/modules/services/misc/uhub.nix @@ -51,7 +51,7 @@ in }; address = mkOption { - type = types.string; + type = types.str; default = "any"; description = "Address to bind the hub to."; }; @@ -83,7 +83,7 @@ in description = "Whether to enable the Sqlite authentication database plugin"; }; file = mkOption { - type = types.string; + type = types.path; example = "/var/db/uhub-users"; description = "Path to user database. Use the uhub-passwd utility to create the database and add/remove users."; }; @@ -96,7 +96,7 @@ in description = "Whether to enable the logging plugin."; }; file = mkOption { - type = types.string; + type = types.str; default = ""; description = "Path of log file."; }; @@ -117,7 +117,7 @@ in default = ""; type = types.lines; description = '' - Welcome message displayed to clients after connecting + Welcome message displayed to clients after connecting and with the !motd command. ''; }; @@ -183,4 +183,4 @@ in }; }; -} \ No newline at end of file +} diff --git a/nixos/modules/services/misc/zoneminder.nix b/nixos/modules/services/misc/zoneminder.nix index ae7de7850d9..bf38b9ad7a2 100644 --- a/nixos/modules/services/misc/zoneminder.nix +++ b/nixos/modules/services/misc/zoneminder.nix @@ -2,6 +2,7 @@ let cfg = config.services.zoneminder; + fpm = config.services.phpfpm.pools.zoneminder; pkg = pkgs.zoneminder; dirName = pkg.dirName; @@ -17,9 +18,7 @@ let defaultDir = "/var/lib/${user}"; home = if useCustomDir then cfg.storageDir else defaultDir; - useCustomDir = !(builtins.isNull cfg.storageDir); - - socket = "/run/phpfpm/${dirName}.sock"; + useCustomDir = cfg.storageDir != null; zms = "/cgi-bin/zms"; @@ -155,6 +154,7 @@ in { default = "zmpass"; description = '' Username for accessing the database. + Not used if createLocally is set. ''; }; }; @@ -189,12 +189,21 @@ in { config = lib.mkIf cfg.enable { + assertions = [ + { assertion = cfg.database.createLocally -> cfg.database.username == user; + message = "services.zoneminder.database.username must be set to ${user} if services.zoneminder.database.createLocally is set true"; + } + ]; + environment.etc = { "zoneminder/60-defaults.conf".source = defaultsFile; "zoneminder/80-nixos.conf".source = configFile; }; - networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ cfg.port ]; + networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ + cfg.port + 6802 # zmtrigger + ]; services = { fcgiwrap = lib.mkIf useNginx { @@ -204,13 +213,12 @@ in { }; mysql = lib.mkIf cfg.database.createLocally { + enable = true; + package = lib.mkDefault pkgs.mariadb; ensureDatabases = [ cfg.database.name ]; ensureUsers = [{ name = cfg.database.username; ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; - initialDatabases = [ - { inherit (cfg.database) name; schema = "${pkg}/share/zoneminder/db/zm_create.sql"; } - ]; }]; }; @@ -229,6 +237,8 @@ in { location / { try_files $uri $uri/ /index.php?$args =404; + rewrite ^/skins/.*/css/fonts/(.*)$ /fonts/$1 permanent; + location ~ /api/(css|img|ico) { rewrite ^/api(.+)$ /api/app/webroot/$1 break; try_files $uri $uri/ =404; @@ -254,7 +264,7 @@ in { fastcgi_pass ${fcgi.socketType}:${fcgi.socketAddress}; } - location /cache { + location /cache/ { alias /var/cache/${dirName}; } @@ -266,7 +276,7 @@ in { fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_param HTTP_PROXY ""; - fastcgi_pass unix:${socket}; + fastcgi_pass unix:${fpm.socket}; } } ''; @@ -275,31 +285,28 @@ in { }; phpfpm = lib.mkIf useNginx { - phpOptions = '' - date.timezone = "${config.time.timeZone}" - - ${lib.concatStringsSep "\n" (map (e: - "extension=${e.pkg}/lib/php/extensions/${e.name}.so") phpExtensions)} - ''; pools.zoneminder = { - listen = socket; - extraConfig = '' - user = ${user} - group = ${group} + inherit user group; + phpOptions = '' + date.timezone = "${config.time.timeZone}" - listen.owner = ${user} - listen.group = ${group} - listen.mode = 0660 - - pm = dynamic - pm.start_servers = 1 - pm.min_spare_servers = 1 - pm.max_spare_servers = 2 - pm.max_requests = 500 - pm.max_children = 5 - pm.status_path = /$pool-status - ping.path = /$pool-ping + ${lib.concatStringsSep "\n" (map (e: + "extension=${e.pkg}/lib/php/extensions/${e.name}.so") phpExtensions)} ''; + settings = lib.mapAttrs (name: lib.mkDefault) { + "listen.owner" = user; + "listen.group" = group; + "listen.mode" = "0660"; + + "pm" = "dynamic"; + "pm.start_servers" = 1; + "pm.min_spare_servers" = 1; + "pm.max_spare_servers" = 2; + "pm.max_requests" = 500; + "pm.max_children" = 5; + "pm.status_path" = "/$pool-status"; + "ping.path" = "/$pool-ping"; + }; }; }; }; @@ -313,11 +320,16 @@ in { procps psmisc ]; - after = [ "mysql.service" "nginx.service" ]; + after = [ "nginx.service" ] ++ lib.optional cfg.database.createLocally "mysql.service"; wantedBy = [ "multi-user.target" ]; restartTriggers = [ defaultsFile configFile ]; - preStart = lib.mkIf useCustomDir '' + preStart = lib.optionalString useCustomDir '' install -dm775 -o ${user} -g ${group} ${cfg.storageDir}/{${lib.concatStringsSep "," libDirs}} + '' + lib.optionalString cfg.database.createLocally '' + if ! test -e "/var/lib/${dirName}/db-created"; then + ${config.services.mysql.package}/bin/mysql < ${pkg}/share/zoneminder/db/zm_create.sql + touch "/var/lib/${dirName}/db-created" + fi ''; serviceConfig = { User = user; diff --git a/nixos/modules/services/misc/zookeeper.nix b/nixos/modules/services/misc/zookeeper.nix index cb7cc97d5a5..50c84e3c6b8 100644 --- a/nixos/modules/services/misc/zookeeper.nix +++ b/nixos/modules/services/misc/zookeeper.nix @@ -119,6 +119,10 @@ in { config = mkIf cfg.enable { environment.systemPackages = [cfg.package]; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0700 zookeeper - - -" + ]; + systemd.services.zookeeper = { description = "Zookeeper Daemon"; wantedBy = [ "multi-user.target" ]; @@ -135,11 +139,8 @@ in { ${configDir}/zoo.cfg ''; User = "zookeeper"; - PermissionsStartOnly = true; }; preStart = '' - mkdir -m 0700 -p ${cfg.dataDir} - if [ "$(id -u)" = 0 ]; then chown zookeeper ${cfg.dataDir}; fi echo "${toString cfg.id}" > ${cfg.dataDir}/myid ''; }; diff --git a/nixos/modules/services/monitoring/alerta.nix b/nixos/modules/services/monitoring/alerta.nix index 8f4258e26de..34f2d41706a 100644 --- a/nixos/modules/services/monitoring/alerta.nix +++ b/nixos/modules/services/monitoring/alerta.nix @@ -1,4 +1,4 @@ -{ options, config, lib, pkgs, ... }: +{ config, lib, pkgs, ... }: with lib; @@ -83,6 +83,10 @@ in }; config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.logDir}' - alerta alerta - -" + ]; + systemd.services.alerta = { description = "Alerta Monitoring System"; wantedBy = [ "multi-user.target" ]; @@ -94,12 +98,7 @@ in ExecStart = "${pkgs.python36Packages.alerta-server}/bin/alertad run --port ${toString cfg.port} --host ${cfg.bind}"; User = "alerta"; Group = "alerta"; - PermissionsStartOnly = true; }; - preStart = '' - mkdir -p ${cfg.logDir} - chown alerta:alerta ${cfg.logDir} - ''; }; environment.systemPackages = [ pkgs.python36Packages.alerta ]; diff --git a/nixos/modules/services/monitoring/apcupsd.nix b/nixos/modules/services/monitoring/apcupsd.nix index 7ee870183ca..75218aa1d46 100644 --- a/nixos/modules/services/monitoring/apcupsd.nix +++ b/nixos/modules/services/monitoring/apcupsd.nix @@ -45,7 +45,7 @@ let eventToShellCmds = event: if builtins.hasAttr event cfg.hooks then (shellCmdsForEventScript event (builtins.getAttr event cfg.hooks)) else ""; - scriptDir = pkgs.runCommand "apcupsd-scriptdir" {} ('' + scriptDir = pkgs.runCommand "apcupsd-scriptdir" { preferLocalBuild = true; } ('' mkdir "$out" # Copy SCRIPTDIR from apcupsd package cp -r ${pkgs.apcupsd}/etc/apcupsd/* "$out"/ @@ -91,7 +91,7 @@ in BATTERYLEVEL 50 MINUTES 5 ''; - type = types.string; + type = types.lines; description = '' Contents of the runtime configuration file, apcupsd.conf. The default settings makes apcupsd autodetect USB UPSes, limit network access to @@ -106,7 +106,7 @@ in example = { doshutdown = ''# shell commands to notify that the computer is shutting down''; }; - type = types.attrsOf types.string; + type = types.attrsOf types.lines; description = '' Each attribute in this option names an apcupsd event and the string value it contains will be executed in a shell, in response to that diff --git a/nixos/modules/services/monitoring/bosun.nix b/nixos/modules/services/monitoring/bosun.nix index 8bf741adb6e..b1c12cce1f8 100644 --- a/nixos/modules/services/monitoring/bosun.nix +++ b/nixos/modules/services/monitoring/bosun.nix @@ -41,7 +41,7 @@ in { }; user = mkOption { - type = types.string; + type = types.str; default = "bosun"; description = '' User account under which bosun runs. @@ -49,7 +49,7 @@ in { }; group = mkOption { - type = types.string; + type = types.str; default = "bosun"; description = '' Group account under which bosun runs. @@ -57,7 +57,7 @@ in { }; opentsdbHost = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = "localhost:4242"; description = '' Host and port of the OpenTSDB database that stores bosun data. @@ -66,7 +66,7 @@ in { }; influxHost = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; example = "localhost:8086"; description = '' @@ -75,7 +75,7 @@ in { }; listenAddress = mkOption { - type = types.string; + type = types.str; default = ":8070"; description = '' The host address and port that bosun's web interface will listen on. diff --git a/nixos/modules/services/monitoring/cadvisor.nix b/nixos/modules/services/monitoring/cadvisor.nix index 6ca420a05b2..695a8c42e85 100644 --- a/nixos/modules/services/monitoring/cadvisor.nix +++ b/nixos/modules/services/monitoring/cadvisor.nix @@ -84,6 +84,16 @@ in { type = types.bool; description = "Cadvisor storage driver, enable secure communication."; }; + + extraOptions = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Additional cadvisor options. + + See for available options. + ''; + }; }; }; @@ -112,6 +122,7 @@ in { -logtostderr=true \ -listen_ip="${cfg.listenAddress}" \ -port="${toString cfg.port}" \ + ${escapeShellArgs cfg.extraOptions} \ ${optionalString (cfg.storageDriver != null) '' -storage_driver "${cfg.storageDriver}" \ -storage_driver_user "${cfg.storageDriverHost}" \ diff --git a/nixos/modules/services/monitoring/collectd.nix b/nixos/modules/services/monitoring/collectd.nix index 45e3312c0f4..6a4c678eb21 100644 --- a/nixos/modules/services/monitoring/collectd.nix +++ b/nixos/modules/services/monitoring/collectd.nix @@ -79,6 +79,10 @@ in { }; config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - ${cfg.user} - - -" + ]; + systemd.services.collectd = { description = "Collectd Monitoring Agent"; after = [ "network.target" ]; @@ -87,16 +91,9 @@ in { serviceConfig = { ExecStart = "${cfg.package}/sbin/collectd -C ${conf} -f"; User = cfg.user; - PermissionsStartOnly = true; Restart = "on-failure"; RestartSec = 3; }; - - preStart = '' - mkdir -p "${cfg.dataDir}" - chmod 755 "${cfg.dataDir}" - chown -R ${cfg.user} "${cfg.dataDir}" - ''; }; users.users = optional (cfg.user == "collectd") { diff --git a/nixos/modules/services/monitoring/datadog-agent.nix b/nixos/modules/services/monitoring/datadog-agent.nix index a4d29d45bac..02a9f316fc3 100644 --- a/nixos/modules/services/monitoring/datadog-agent.nix +++ b/nixos/modules/services/monitoring/datadog-agent.nix @@ -42,9 +42,9 @@ let # Apply the configured extraIntegrations to the provided agent # package. See the documentation of `dd-agent/integrations-core.nix` # for detailed information on this. - datadogPkg = cfg.package.overrideAttrs(_: { - python = (pkgs.datadog-integrations-core cfg.extraIntegrations).python; - }); + datadogPkg = cfg.package.override { + pythonPackages = pkgs.datadog-integrations-core cfg.extraIntegrations; + }; in { options.services.datadog-agent = { enable = mkOption { @@ -60,7 +60,7 @@ in { defaultText = "pkgs.datadog-agent"; description = '' Which DataDog v6 agent package to use. Note that the provided - package is expected to have an overridable `python`-attribute + package is expected to have an overridable `pythonPackages`-attribute which configures the Python environment with the Datadog checks. ''; @@ -87,7 +87,7 @@ in { description = "The hostname to show in the Datadog dashboard (optional)"; default = null; example = "mymachine.mydomain"; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.str; }; logLevel = mkOption { @@ -202,7 +202,7 @@ in { }; }; config = mkIf cfg.enable { - environment.systemPackages = [ datadogPkg pkgs.sysstat pkgs.procps ]; + environment.systemPackages = [ datadogPkg pkgs.sysstat pkgs.procps pkgs.iproute ]; users.extraUsers.datadog = { description = "Datadog Agent User"; @@ -216,7 +216,7 @@ in { systemd.services = let makeService = attrs: recursiveUpdate { - path = [ datadogPkg pkgs.python pkgs.sysstat pkgs.procps ]; + path = [ datadogPkg pkgs.python pkgs.sysstat pkgs.procps pkgs.iproute ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { User = "datadog"; @@ -235,7 +235,7 @@ in { ''; script = '' export DD_API_KEY=$(head -n 1 ${cfg.apiKeyFile}) - exec ${datadogPkg}/bin/agent start -c /etc/datadog-agent/datadog.yaml + exec ${datadogPkg}/bin/agent run -c /etc/datadog-agent/datadog.yaml ''; serviceConfig.PermissionsStartOnly = true; }; @@ -260,7 +260,7 @@ in { path = [ ]; script = '' export DD_API_KEY=$(head -n 1 ${cfg.apiKeyFile}) - ${pkgs.datadog-trace-agent}/bin/trace-agent -config /etc/datadog-agent/datadog.yaml + ${datadogPkg}/bin/trace-agent -config /etc/datadog-agent/datadog.yaml ''; }); diff --git a/nixos/modules/services/monitoring/dd-agent/dd-agent.nix b/nixos/modules/services/monitoring/dd-agent/dd-agent.nix index abc8d65d58f..c0ea1eeb424 100644 --- a/nixos/modules/services/monitoring/dd-agent/dd-agent.nix +++ b/nixos/modules/services/monitoring/dd-agent/dd-agent.nix @@ -145,41 +145,40 @@ in { description = "The hostname to show in the Datadog dashboard (optional)"; default = null; example = "mymachine.mydomain"; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.str; }; postgresqlConfig = mkOption { description = "Datadog PostgreSQL integration configuration"; default = null; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.lines; }; nginxConfig = mkOption { description = "Datadog nginx integration configuration"; default = null; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.lines; }; mongoConfig = mkOption { description = "MongoDB integration configuration"; default = null; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.lines; }; jmxConfig = mkOption { description = "JMX integration configuration"; default = null; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.lines; }; processConfig = mkOption { description = '' Process integration configuration - - See http://docs.datadoghq.com/integrations/process/ + See ''; default = null; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.lines; }; }; diff --git a/nixos/modules/services/monitoring/grafana-reporter.nix b/nixos/modules/services/monitoring/grafana-reporter.nix index 149026d2018..b5a78e4583e 100644 --- a/nixos/modules/services/monitoring/grafana-reporter.nix +++ b/nixos/modules/services/monitoring/grafana-reporter.nix @@ -1,4 +1,4 @@ -{ options, config, lib, pkgs, ... }: +{ config, lib, pkgs, ... }: with lib; @@ -52,7 +52,7 @@ in { wantedBy = ["multi-user.target"]; after = ["network.target"]; serviceConfig = let - args = lib.concatSepString " " [ + args = lib.concatStringsSep " " [ "-proto ${cfg.grafana.protocol}://" "-ip ${cfg.grafana.addr}:${toString cfg.grafana.port}" "-port :${toString cfg.port}" diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix index 85879cfe0b3..bf1084eecc3 100644 --- a/nixos/modules/services/monitoring/grafana.nix +++ b/nixos/modules/services/monitoring/grafana.nix @@ -177,7 +177,7 @@ let folder = mkOption { type = types.str; default = ""; - description = "Add dashboards to the speciied folder"; + description = "Add dashboards to the specified folder"; }; type = mkOption { type = types.str; @@ -503,12 +503,12 @@ in { message = "Cannot set both adminPassword and adminPasswordFile"; } { - assertion = cfg.security.secretKeyFile != opt.security.secretKeyFile.default -> cfg.security.secretKeyFile == null; + assertion = cfg.security.secretKey != opt.security.secretKey.default -> cfg.security.secretKeyFile == null; message = "Cannot set both secretKey and secretKeyFile"; } { assertion = cfg.smtp.password != opt.smtp.password.default -> cfg.smtp.passwordFile == null; - message = "Cannot set both password and secretKeyFile"; + message = "Cannot set both password and passwordFile"; } ]; @@ -552,6 +552,8 @@ in { description = "Grafana user"; home = cfg.dataDir; createHome = true; + group = "grafana"; }; + users.groups.grafana = {}; }; } diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index cdc98b407e9..64cb6c3da1e 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -9,21 +9,23 @@ let dataDir = cfg.dataDir; staticDir = cfg.dataDir + "/static"; - graphiteLocalSettingsDir = pkgs.runCommand "graphite_local_settings" - {inherit graphiteLocalSettings;} '' + graphiteLocalSettingsDir = pkgs.runCommand "graphite_local_settings" { + inherit graphiteLocalSettings; + preferLocalBuild = true; + } '' mkdir -p $out ln -s $graphiteLocalSettings $out/graphite_local_settings.py ''; graphiteLocalSettings = pkgs.writeText "graphite_local_settings.py" ( "STATIC_ROOT = '${staticDir}'\n" + - optionalString (! isNull config.time.timeZone) "TIME_ZONE = '${config.time.timeZone}'\n" + optionalString (config.time.timeZone != null) "TIME_ZONE = '${config.time.timeZone}'\n" + cfg.web.extraConfig ); graphiteApiConfig = pkgs.writeText "graphite-api.yaml" '' search_index: ${dataDir}/index - ${optionalString (!isNull config.time.timeZone) ''time_zone: ${config.time.timeZone}''} + ${optionalString (config.time.timeZone != null) ''time_zone: ${config.time.timeZone}''} ${optionalString (cfg.api.finders != []) ''finders:''} ${concatMapStringsSep "\n" (f: " - " + f.moduleName) cfg.api.finders} ${optionalString (cfg.api.functions != []) ''functions:''} @@ -121,7 +123,7 @@ in { graphite carbon. For more information visit - + ''; default = false; type = types.bool; @@ -213,7 +215,7 @@ in { storageAggregation = mkOption { description = "Defines how to aggregate data to lower-precision retentions."; default = null; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.str; example = '' [all_min] pattern = \.min$ @@ -225,7 +227,7 @@ in { storageSchemas = mkOption { description = "Defines retention rates for storing metrics."; default = ""; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.str; example = '' [apache_busyWorkers] pattern = ^servers\.www.*\.workers\.busyWorkers$ @@ -236,14 +238,14 @@ in { blacklist = mkOption { description = "Any metrics received which match one of the experssions will be dropped."; default = null; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.str; example = "^some\.noisy\.metric\.prefix\..*"; }; whitelist = mkOption { description = "Only metrics received which match one of the experssions will be persisted."; default = null; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.str; example = ".*"; }; @@ -253,7 +255,7 @@ in { in a search and replace fashion. ''; default = null; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.str; example = '' [post] _sum$ = @@ -270,7 +272,7 @@ in { relayRules = mkOption { description = "Relay rules are used to send certain metrics to a certain backend."; default = null; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.str; example = '' [example] pattern = ^mydata\.foo\..+ @@ -287,7 +289,7 @@ in { aggregationRules = mkOption { description = "Defines if and how received metrics will be aggregated."; default = null; - type = types.uniq (types.nullOr types.string); + type = types.nullOr types.str; example = '' .applications..all.requests (60) = sum .applications..*.requests .applications..all.latency (60) = avg .applications..*.latency diff --git a/nixos/modules/services/monitoring/hdaps.nix b/nixos/modules/services/monitoring/hdaps.nix index be26c44e78d..2cad3b84d84 100644 --- a/nixos/modules/services/monitoring/hdaps.nix +++ b/nixos/modules/services/monitoring/hdaps.nix @@ -16,6 +16,7 @@ in }; config = mkIf cfg.enable { + boot.kernelModules = [ "hdapsd" ]; services.udev.packages = hdapsd; systemd.packages = hdapsd; }; diff --git a/nixos/modules/services/monitoring/heapster.nix b/nixos/modules/services/monitoring/heapster.nix index fbdff2eb5db..6da0831b4c5 100644 --- a/nixos/modules/services/monitoring/heapster.nix +++ b/nixos/modules/services/monitoring/heapster.nix @@ -15,19 +15,19 @@ in { source = mkOption { description = "Heapster metric source"; example = "kubernetes:https://kubernetes.default"; - type = types.string; + type = types.str; }; sink = mkOption { description = "Heapster metic sink"; example = "influxdb:http://localhost:8086"; - type = types.string; + type = types.str; }; extraOpts = mkOption { description = "Heapster extra options"; default = ""; - type = types.string; + type = types.separatedString " "; }; package = mkOption { diff --git a/nixos/modules/services/monitoring/kapacitor.nix b/nixos/modules/services/monitoring/kapacitor.nix index a4bdfa8f805..9b4ff3c5612 100644 --- a/nixos/modules/services/monitoring/kapacitor.nix +++ b/nixos/modules/services/monitoring/kapacitor.nix @@ -1,4 +1,4 @@ -{ options, config, lib, pkgs, ... }: +{ config, lib, pkgs, ... }: with lib; @@ -116,17 +116,17 @@ in url = mkOption { description = "The URL to an InfluxDB server that serves as the default database"; example = "http://localhost:8086"; - type = types.string; + type = types.str; }; username = mkOption { description = "The username to connect to the remote InfluxDB server"; - type = types.string; + type = types.str; }; password = mkOption { description = "The password to connect to the remote InfluxDB server"; - type = types.string; + type = types.str; }; }; @@ -137,7 +137,7 @@ in description = "The URL to the Alerta REST API"; default = "http://localhost:5000"; example = "http://localhost:5000"; - type = types.string; + type = types.str; }; token = mkOption { @@ -163,6 +163,10 @@ in config = mkIf cfg.enable { environment.systemPackages = [ pkgs.kapacitor ]; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.kapacitor = { description = "Kapacitor Real-Time Stream Processing Engine"; wantedBy = [ "multi-user.target" ]; @@ -171,12 +175,7 @@ in ExecStart = "${pkgs.kapacitor}/bin/kapacitord -config ${kapacitorConf}"; User = "kapacitor"; Group = "kapacitor"; - PermissionsStartOnly = true; }; - preStart = '' - mkdir -p ${cfg.dataDir} - chown ${cfg.user}:${cfg.group} ${cfg.dataDir} - ''; }; users.users.kapacitor = { diff --git a/nixos/modules/services/monitoring/loki.nix b/nixos/modules/services/monitoring/loki.nix new file mode 100644 index 00000000000..f4eec7e0d28 --- /dev/null +++ b/nixos/modules/services/monitoring/loki.nix @@ -0,0 +1,112 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) escapeShellArgs literalExample mkEnableOption mkIf mkOption types; + + cfg = config.services.loki; + + prettyJSON = conf: + pkgs.runCommand "loki-config.json" { } '' + echo '${builtins.toJSON conf}' | ${pkgs.jq}/bin/jq 'del(._module)' > $out + ''; + +in { + options.services.loki = { + enable = mkEnableOption "loki"; + + user = mkOption { + type = types.str; + default = "loki"; + description = '' + User under which the Loki service runs. + ''; + }; + + group = mkOption { + type = types.str; + default = "loki"; + description = '' + Group under which the Loki service runs. + ''; + }; + + dataDir = mkOption { + type = types.path; + default = "/var/lib/loki"; + description = '' + Specify the directory for Loki. + ''; + }; + + configuration = mkOption { + type = types.attrs; + default = {}; + description = '' + Specify the configuration for Loki in Nix. + ''; + }; + + configFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Specify a configuration file that Loki should use. + ''; + }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + example = literalExample [ "--server.http-listen-port=3101" ]; + description = '' + Specify a list of additional command line flags, + which get escaped and are then passed to Loki. + ''; + }; + }; + + config = mkIf cfg.enable { + assertions = [{ + assertion = ( + (cfg.configuration == {} -> cfg.configFile != null) && + (cfg.configFile != null -> cfg.configuration == {}) + ); + message = '' + Please specify either + 'services.loki.configuration' or + 'services.loki.configFile'. + ''; + }]; + + users.groups.${cfg.group} = { }; + users.users.${cfg.user} = { + description = "Loki Service User"; + group = cfg.group; + home = cfg.dataDir; + createHome = true; + isSystemUser = true; + }; + + systemd.services.loki = { + description = "Loki Service Daemon"; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = let + conf = if cfg.configFile == null + then prettyJSON cfg.configuration + else cfg.configFile; + in + { + ExecStart = "${pkgs.grafana-loki}/bin/loki --config.file=${conf} ${escapeShellArgs cfg.extraFlags}"; + User = cfg.user; + Restart = "always"; + PrivateTmp = true; + ProtectHome = true; + ProtectSystem = "full"; + DevicePolicy = "closed"; + NoNewPrivileges = true; + WorkingDirectory = cfg.dataDir; + }; + }; + }; +} diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix index f6798632724..8af0650c738 100644 --- a/nixos/modules/services/monitoring/munin.nix +++ b/nixos/modules/services/monitoring/munin.nix @@ -8,7 +8,7 @@ # spawn-fcgi -s /run/munin/fastcgi-graph.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph # spawn-fcgi -s /run/munin/fastcgi-html.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html # https://paste.sh/vofcctHP#-KbDSXVeWoifYncZmLfZzgum -# nginx http://munin.readthedocs.org/en/latest/example/webserver/nginx.html +# nginx https://munin.readthedocs.org/en/latest/example/webserver/nginx.html with lib; @@ -233,7 +233,7 @@ in # In the meantime this at least suppresses a useless graph full of # NaNs in the output. default = [ "munin_stats" ]; - type = with types; listOf string; + type = with types; listOf str; description = '' Munin plugins to disable, even if munin-node-configure --suggest tries to enable diff --git a/nixos/modules/services/monitoring/nagios.nix b/nixos/modules/services/monitoring/nagios.nix index 3e1d727b416..6a3b9776946 100644 --- a/nixos/modules/services/monitoring/nagios.nix +++ b/nixos/modules/services/monitoring/nagios.nix @@ -11,8 +11,10 @@ let nagiosObjectDefs = cfg.objectDefs; - nagiosObjectDefsDir = pkgs.runCommand "nagios-objects" {inherit nagiosObjectDefs;} - "mkdir -p $out; ln -s $nagiosObjectDefs $out/"; + nagiosObjectDefsDir = pkgs.runCommand "nagios-objects" { + inherit nagiosObjectDefs; + preferLocalBuild = true; + } "mkdir -p $out; ln -s $nagiosObjectDefs $out/"; nagiosCfgFile = pkgs.writeText "nagios.cfg" '' @@ -22,7 +24,7 @@ let status_file=${nagiosState}/status.dat object_cache_file=${nagiosState}/objects.cache temp_file=${nagiosState}/nagios.tmp - lock_file=/var/run/nagios.lock # Not used I think. + lock_file=/run/nagios.lock # Not used I think. state_retention_file=${nagiosState}/retention.dat query_socket=${nagiosState}/nagios.qh check_result_path=${nagiosState} @@ -34,7 +36,7 @@ let # Uid/gid that the daemon runs under. nagios_user=nagios - nagios_group=nogroup + nagios_group=nagios # Misc. options. illegal_macro_output_chars=`~$&|'"<> @@ -56,9 +58,7 @@ let Options ExecCGI - AllowOverride None - Order allow,deny - Allow from all + Require all granted SetEnv NAGIOS_CGI_CONFIG ${cfg.cgiConfigFile} @@ -66,9 +66,7 @@ let Options None - AllowOverride None - Order allow,deny - Allow from all + Require all granted ''; @@ -147,9 +145,11 @@ in description = "Nagios user "; uid = config.ids.uids.nagios; home = nagiosState; - createHome = true; + group = "nagios"; }; + users.groups.nagios = { }; + # This isn't needed, it's just so that the user can type "nagiostats # -c /etc/nagios.cfg". environment.etc = [ @@ -167,16 +167,13 @@ in serviceConfig = { User = "nagios"; + Group = "nagios"; Restart = "always"; RestartSec = 2; - PermissionsStartOnly = true; + LogsDirectory = "nagios"; + StateDirectory = "nagios"; }; - preStart = '' - mkdir -m 0755 -p ${nagiosState} ${nagiosLogDir} - chown nagios ${nagiosState} ${nagiosLogDir} - ''; - script = '' for i in ${toString cfg.plugins}; do export PATH=$i/bin:$i/sbin:$i/libexec:$PATH diff --git a/nixos/modules/services/monitoring/netdata.nix b/nixos/modules/services/monitoring/netdata.nix index 1d86c5d893d..463b1b882ac 100644 --- a/nixos/modules/services/monitoring/netdata.nix +++ b/nixos/modules/services/monitoring/netdata.nix @@ -5,9 +5,10 @@ with lib; let cfg = config.services.netdata; - wrappedPlugins = pkgs.runCommand "wrapped-plugins" {} '' + wrappedPlugins = pkgs.runCommand "wrapped-plugins" { preferLocalBuild = true; } '' mkdir -p $out/libexec/netdata/plugins.d ln -s /run/wrappers/bin/apps.plugin $out/libexec/netdata/plugins.d/apps.plugin + ln -s /run/wrappers/bin/freeipmi.plugin $out/libexec/netdata/plugins.d/freeipmi.plugin ''; plugins = [ @@ -140,15 +141,23 @@ in { path = (with pkgs; [ gawk curl ]) ++ lib.optional cfg.python.enable (pkgs.python3.withPackages cfg.python.extraPackages); serviceConfig = { + Environment="PYTHONPATH=${pkgs.netdata}/libexec/netdata/python.d/python_modules"; + ExecStart = "${pkgs.netdata}/bin/netdata -P /run/netdata/netdata.pid -D -c ${configFile}"; + ExecReload = "${pkgs.utillinux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID"; + TimeoutStopSec = 60; + # User and group User = cfg.user; Group = cfg.group; - Environment="PYTHONPATH=${pkgs.netdata}/libexec/netdata/python.d/python_modules"; - PermissionsStartOnly = true; - ExecStart = "${pkgs.netdata}/bin/netdata -D -c ${configFile}"; - TimeoutStopSec = 60; + # Runtime directory and mode + RuntimeDirectory = "netdata"; + RuntimeDirectoryMode = "0755"; + # Performance + LimitNOFILE = "30000"; }; }; + systemd.enableCgroupAccounting = true; + security.wrappers."apps.plugin" = { source = "${pkgs.netdata}/libexec/netdata/plugins.d/apps.plugin.org"; capabilities = "cap_dac_read_search,cap_sys_ptrace+ep"; @@ -157,6 +166,18 @@ in { permissions = "u+rx,g+rx,o-rwx"; }; + security.wrappers."freeipmi.plugin" = { + source = "${pkgs.netdata}/libexec/netdata/plugins.d/freeipmi.plugin.org"; + capabilities = "cap_dac_override,cap_fowner+ep"; + owner = cfg.user; + group = cfg.group; + permissions = "u+rx,g+rx,o-rwx"; + }; + + security.pam.loginLimits = [ + { domain = "netdata"; type = "soft"; item = "nofile"; value = "10000"; } + { domain = "netdata"; type = "hard"; item = "nofile"; value = "30000"; } + ]; users.users = optional (cfg.user == defaultUser) { name = defaultUser; diff --git a/nixos/modules/services/monitoring/prometheus/alertmanager.nix b/nixos/modules/services/monitoring/prometheus/alertmanager.nix index 43b4a41eaf3..11d85e9c4fc 100644 --- a/nixos/modules/services/monitoring/prometheus/alertmanager.nix +++ b/nixos/modules/services/monitoring/prometheus/alertmanager.nix @@ -40,22 +40,6 @@ in { ''; }; - user = mkOption { - type = types.str; - default = "nobody"; - description = '' - User name under which Alertmanager shall be run. - ''; - }; - - group = mkOption { - type = types.str; - default = "nogroup"; - description = '' - Group under which Alertmanager shall be run. - ''; - }; - configuration = mkOption { type = types.nullOr types.attrs; default = null; @@ -106,7 +90,8 @@ in { type = types.str; default = ""; description = '' - Address to listen on for the web interface and API. + Address to listen on for the web interface and API. Empty string will listen on all interfaces. + "localhost" will listen on 127.0.0.1 (but not ::1). ''; }; @@ -150,17 +135,13 @@ in { systemd.services.alertmanager = { wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; - script = '' - ${cfg.package}/bin/alertmanager \ - ${concatStringsSep " \\\n " cmdlineArgs} - ''; - serviceConfig = { - User = cfg.user; - Group = cfg.group; Restart = "always"; - PrivateTmp = true; + DynamicUser = true; WorkingDirectory = "/tmp"; + ExecStart = "${cfg.package}/bin/alertmanager" + + optionalString (length cmdlineArgs != 0) (" \\\n " + + concatStringsSep " \\\n " cmdlineArgs); ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; }; }; diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix index 1b1503ab5fc..647d67533b8 100644 --- a/nixos/modules/services/monitoring/prometheus/default.nix +++ b/nixos/modules/services/monitoring/prometheus/default.nix @@ -4,11 +4,23 @@ with lib; let cfg = config.services.prometheus; + cfg2 = config.services.prometheus2; promUser = "prometheus"; promGroup = "prometheus"; - # Get a submodule without any embedded metadata: - _filter = x: filterAttrs (k: v: k != "_module") x; + stateDir = + if cfg.stateDir != null + then cfg.stateDir + else + if cfg.dataDir != null + then + # This assumes /var/lib/ is a prefix of cfg.dataDir. + # This is checked as an assertion below. + removePrefix stateDirBase cfg.dataDir + else "prometheus"; + stateDirBase = "/var/lib/"; + workingDir = stateDirBase + stateDir; + workingDir2 = stateDirBase + cfg2.stateDir; # a wrapper that verifies that the configuration is valid promtoolCheck = what: name: file: pkgs.runCommand "${name}-${what}-checked" @@ -17,74 +29,124 @@ let promtool ${what} $out ''; + # a wrapper that verifies that the configuration is valid for + # prometheus 2 + prom2toolCheck = what: name: file: + pkgs.runCommand + "${name}-${replaceStrings [" "] [""] what}-checked" + { buildInputs = [ cfg2.package ]; } '' + ln -s ${file} $out + promtool ${what} $out + ''; + # Pretty-print JSON to a file writePrettyJSON = name: x: - pkgs.runCommand name { } '' + pkgs.runCommand name { preferLocalBuild = true; } '' echo '${builtins.toJSON x}' | ${pkgs.jq}/bin/jq . > $out ''; - # This becomes the main config file + # This becomes the main config file for Prometheus 1 promConfig = { - global = cfg.globalConfig; + global = filterValidPrometheus cfg.globalConfig; rule_files = map (promtoolCheck "check-rules" "rules") (cfg.ruleFiles ++ [ (pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules)) ]); - scrape_configs = cfg.scrapeConfigs; + scrape_configs = filterValidPrometheus cfg.scrapeConfigs; }; generatedPrometheusYml = writePrettyJSON "prometheus.yml" promConfig; prometheusYml = let - yml = if cfg.configText != null then + yml = if cfg.configText != null then pkgs.writeText "prometheus.yml" cfg.configText else generatedPrometheusYml; in promtoolCheck "check-config" "prometheus.yml" yml; cmdlineArgs = cfg.extraFlags ++ [ - "-storage.local.path=${cfg.dataDir}/metrics" + "-storage.local.path=${workingDir}/metrics" "-config.file=${prometheusYml}" "-web.listen-address=${cfg.listenAddress}" "-alertmanager.notification-queue-capacity=${toString cfg.alertmanagerNotificationQueueCapacity}" "-alertmanager.timeout=${toString cfg.alertmanagerTimeout}s" - (optionalString (cfg.alertmanagerURL != []) "-alertmanager.url=${concatStringsSep "," cfg.alertmanagerURL}") - (optionalString (cfg.webExternalUrl != null) "-web.external-url=${cfg.webExternalUrl}") - ]; + ] ++ + optional (cfg.alertmanagerURL != []) "-alertmanager.url=${concatStringsSep "," cfg.alertmanagerURL}" ++ + optional (cfg.webExternalUrl != null) "-web.external-url=${cfg.webExternalUrl}"; + + # This becomes the main config file for Prometheus 2 + promConfig2 = { + global = filterValidPrometheus cfg2.globalConfig; + rule_files = map (prom2toolCheck "check rules" "rules") (cfg2.ruleFiles ++ [ + (pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg2.rules)) + ]); + scrape_configs = filterValidPrometheus cfg2.scrapeConfigs; + alerting = { + inherit (cfg2) alertmanagers; + }; + }; + + generatedPrometheus2Yml = writePrettyJSON "prometheus.yml" promConfig2; + + prometheus2Yml = let + yml = if cfg2.configText != null then + pkgs.writeText "prometheus.yml" cfg2.configText + else generatedPrometheus2Yml; + in prom2toolCheck "check config" "prometheus.yml" yml; + + cmdlineArgs2 = cfg2.extraFlags ++ [ + "--storage.tsdb.path=${workingDir2}/data/" + "--config.file=${prometheus2Yml}" + "--web.listen-address=${cfg2.listenAddress}" + "--alertmanager.notification-queue-capacity=${toString cfg2.alertmanagerNotificationQueueCapacity}" + "--alertmanager.timeout=${toString cfg2.alertmanagerTimeout}s" + ] ++ + optional (cfg2.webExternalUrl != null) "--web.external-url=${cfg2.webExternalUrl}"; + + filterValidPrometheus = filterAttrsListRecursive (n: v: !(n == "_module" || v == null)); + filterAttrsListRecursive = pred: x: + if isAttrs x then + listToAttrs ( + concatMap (name: + let v = x.${name}; in + if pred name v then [ + (nameValuePair name (filterAttrsListRecursive pred v)) + ] else [] + ) (attrNames x) + ) + else if isList x then + map (filterAttrsListRecursive pred) x + else x; + + mkDefOpt = type : defaultStr : description : mkOpt type (description + '' + + Defaults to ${defaultStr} in prometheus + when set to null. + ''); + + mkOpt = type : description : mkOption { + type = types.nullOr type; + default = null; + inherit description; + }; promTypes.globalConfig = types.submodule { options = { - scrape_interval = mkOption { - type = types.str; - default = "1m"; - description = '' - How frequently to scrape targets by default. - ''; - }; + scrape_interval = mkDefOpt types.str "1m" '' + How frequently to scrape targets by default. + ''; - scrape_timeout = mkOption { - type = types.str; - default = "10s"; - description = '' - How long until a scrape request times out. - ''; - }; + scrape_timeout = mkDefOpt types.str "10s" '' + How long until a scrape request times out. + ''; - evaluation_interval = mkOption { - type = types.str; - default = "1m"; - description = '' - How frequently to evaluate rules by default. - ''; - }; + evaluation_interval = mkDefOpt types.str "1m" '' + How frequently to evaluate rules by default. + ''; - external_labels = mkOption { - type = types.attrsOf types.str; - description = '' - The labels to add to any time series or alerts when - communicating with external systems (federation, remote - storage, Alertmanager). - ''; - default = {}; - }; + external_labels = mkOpt (types.attrsOf types.str) '' + The labels to add to any time series or alerts when + communicating with external systems (federation, remote + storage, Alertmanager). + ''; }; }; @@ -96,129 +158,127 @@ let The job name assigned to scraped metrics by default. ''; }; - scrape_interval = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - How frequently to scrape targets from this job. Defaults to the - globally configured default. - ''; - }; - scrape_timeout = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - Per-target timeout when scraping this job. Defaults to the - globally configured default. - ''; - }; - metrics_path = mkOption { - type = types.str; - default = "/metrics"; - description = '' - The HTTP resource path on which to fetch metrics from targets. - ''; - }; - honor_labels = mkOption { - type = types.bool; - default = false; - description = '' - Controls how Prometheus handles conflicts between labels - that are already present in scraped data and labels that - Prometheus would attach server-side ("job" and "instance" - labels, manually configured target labels, and labels - generated by service discovery implementations). + scrape_interval = mkOpt types.str '' + How frequently to scrape targets from this job. Defaults to the + globally configured default. + ''; - If honor_labels is set to "true", label conflicts are - resolved by keeping label values from the scraped data and - ignoring the conflicting server-side labels. + scrape_timeout = mkOpt types.str '' + Per-target timeout when scraping this job. Defaults to the + globally configured default. + ''; - If honor_labels is set to "false", label conflicts are - resolved by renaming conflicting labels in the scraped data - to "exported_<original-label>" (for example - "exported_instance", "exported_job") and then attaching - server-side labels. This is useful for use cases such as - federation, where all labels specified in the target should - be preserved. - ''; - }; - scheme = mkOption { - type = types.enum ["http" "https"]; - default = "http"; - description = '' - The URL scheme with which to fetch metrics from targets. - ''; - }; - params = mkOption { - type = types.attrsOf (types.listOf types.str); - default = {}; - description = '' - Optional HTTP URL parameters. - ''; - }; - basic_auth = mkOption { - type = types.nullOr (types.submodule { - options = { - username = mkOption { - type = types.str; - description = '' - HTTP username - ''; - }; - password = mkOption { - type = types.str; - description = '' - HTTP password - ''; - }; + metrics_path = mkDefOpt types.str "/metrics" '' + The HTTP resource path on which to fetch metrics from targets. + ''; + + honor_labels = mkDefOpt types.bool "false" '' + Controls how Prometheus handles conflicts between labels + that are already present in scraped data and labels that + Prometheus would attach server-side ("job" and "instance" + labels, manually configured target labels, and labels + generated by service discovery implementations). + + If honor_labels is set to "true", label conflicts are + resolved by keeping label values from the scraped data and + ignoring the conflicting server-side labels. + + If honor_labels is set to "false", label conflicts are + resolved by renaming conflicting labels in the scraped data + to "exported_<original-label>" (for example + "exported_instance", "exported_job") and then attaching + server-side labels. This is useful for use cases such as + federation, where all labels specified in the target should + be preserved. + ''; + + honor_timestamps = mkDefOpt types.bool "true" '' + honor_timestamps controls whether Prometheus respects the timestamps present + in scraped data. + + If honor_timestamps is set to true, the timestamps of the metrics exposed + by the target will be used. + + If honor_timestamps is set to false, the timestamps of the metrics exposed + by the target will be ignored. + ''; + + scheme = mkDefOpt (types.enum ["http" "https"]) "http" '' + The URL scheme with which to fetch metrics from targets. + ''; + + params = mkOpt (types.attrsOf (types.listOf types.str)) '' + Optional HTTP URL parameters. + ''; + + basic_auth = mkOpt (types.submodule { + options = { + username = mkOption { + type = types.str; + description = '' + HTTP username + ''; }; - }); - default = null; - apply = x: mapNullable _filter x; - description = '' - Optional http login credentials for metrics scraping. - ''; - }; - dns_sd_configs = mkOption { - type = types.listOf promTypes.dns_sd_config; - default = []; - apply = x: map _filter x; - description = '' - List of DNS service discovery configurations. - ''; - }; - consul_sd_configs = mkOption { - type = types.listOf promTypes.consul_sd_config; - default = []; - apply = x: map _filter x; - description = '' - List of Consul service discovery configurations. - ''; - }; - file_sd_configs = mkOption { - type = types.listOf promTypes.file_sd_config; - default = []; - apply = x: map _filter x; - description = '' - List of file service discovery configurations. - ''; - }; - static_configs = mkOption { - type = types.listOf promTypes.static_config; - default = []; - apply = x: map _filter x; - description = '' - List of labeled target groups for this job. - ''; - }; - relabel_configs = mkOption { - type = types.listOf promTypes.relabel_config; - default = []; - apply = x: map _filter x; - description = '' - List of relabel configurations. - ''; - }; + password = mkOption { + type = types.str; + description = '' + HTTP password + ''; + }; + }; + }) '' + Optional http login credentials for metrics scraping. + ''; + + bearer_token = mkOpt types.str '' + Sets the `Authorization` header on every scrape request with + the configured bearer token. It is mutually exclusive with + . + ''; + + bearer_token_file = mkOpt types.str '' + Sets the `Authorization` header on every scrape request with + the bearer token read from the configured file. It is mutually + exclusive with . + ''; + + tls_config = mkOpt promTypes.tls_config '' + Configures the scrape request's TLS settings. + ''; + + proxy_url = mkOpt types.str '' + Optional proxy URL. + ''; + + ec2_sd_configs = mkOpt (types.listOf promTypes.ec2_sd_config) '' + List of EC2 service discovery configurations. + ''; + + dns_sd_configs = mkOpt (types.listOf promTypes.dns_sd_config) '' + List of DNS service discovery configurations. + ''; + + consul_sd_configs = mkOpt (types.listOf promTypes.consul_sd_config) '' + List of Consul service discovery configurations. + ''; + + file_sd_configs = mkOpt (types.listOf promTypes.file_sd_config) '' + List of file service discovery configurations. + ''; + + static_configs = mkOpt (types.listOf promTypes.static_config) '' + List of labeled target groups for this job. + ''; + + relabel_configs = mkOpt (types.listOf promTypes.relabel_config) '' + List of relabel configurations. + ''; + + sample_limit = mkDefOpt types.int "0" '' + Per-scrape limit on number of scraped samples that will be accepted. + If more than this number of samples are present after metric relabelling + the entire scrape will be treated as failed. 0 means no limit. + ''; }; }; @@ -240,6 +300,72 @@ let }; }; + promTypes.ec2_sd_config = types.submodule { + options = { + region = mkOption { + type = types.str; + description = '' + The AWS Region. + ''; + }; + endpoint = mkOpt types.str '' + Custom endpoint to be used. + ''; + + access_key = mkOpt types.str '' + The AWS API key id. If blank, the environment variable + AWS_ACCESS_KEY_ID is used. + ''; + + secret_key = mkOpt types.str '' + The AWS API key secret. If blank, the environment variable + AWS_SECRET_ACCESS_KEY is used. + ''; + + profile = mkOpt types.str '' + Named AWS profile used to connect to the API. + ''; + + role_arn = mkOpt types.str '' + AWS Role ARN, an alternative to using AWS API keys. + ''; + + refresh_interval = mkDefOpt types.str "60s" '' + Refresh interval to re-read the instance list. + ''; + + port = mkDefOpt types.int "80" '' + The port to scrape metrics from. If using the public IP + address, this must instead be specified in the relabeling + rule. + ''; + + filters = mkOpt (types.listOf promTypes.filter) '' + Filters can be used optionally to filter the instance list by other criteria. + ''; + }; + }; + + promTypes.filter = types.submodule { + options = { + name = mkOption { + type = types.str; + description = '' + See this list + for the available filters. + ''; + }; + + value = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Value of the filter. + ''; + }; + }; + }; + promTypes.dns_sd_config = types.submodule { options = { names = mkOption { @@ -248,56 +374,63 @@ let A list of DNS SRV record names to be queried. ''; }; - refresh_interval = mkOption { - type = types.str; - default = "30s"; - description = '' - The time after which the provided names are refreshed. - ''; - }; + + refresh_interval = mkDefOpt types.str "30s" '' + The time after which the provided names are refreshed. + ''; }; }; promTypes.consul_sd_config = types.submodule { options = { - server = mkOption { - type = types.str; - description = "Consul server to query."; - }; - token = mkOption { - type = types.nullOr types.str; - description = "Consul token"; - }; - datacenter = mkOption { - type = types.nullOr types.str; - description = "Consul datacenter"; - }; - scheme = mkOption { - type = types.nullOr types.str; - description = "Consul scheme"; - }; - username = mkOption { - type = types.nullOr types.str; - description = "Consul username"; - }; - password = mkOption { - type = types.nullOr types.str; - description = "Consul password"; - }; + server = mkDefOpt types.str "localhost:8500" '' + Consul server to query. + ''; - services = mkOption { - type = types.listOf types.str; - description = '' - A list of services for which targets are retrieved. - ''; - }; - tag_separator = mkOption { - type = types.str; - default = ","; - description = '' - The string by which Consul tags are joined into the tag label. - ''; - }; + token = mkOpt types.str "Consul token"; + + datacenter = mkOpt types.str "Consul datacenter"; + + scheme = mkDefOpt types.str "http" "Consul scheme"; + + username = mkOpt types.str "Consul username"; + + password = mkOpt types.str "Consul password"; + + tls_config = mkOpt promTypes.tls_config '' + Configures the Consul request's TLS settings. + ''; + + services = mkOpt (types.listOf types.str) '' + A list of services for which targets are retrieved. + ''; + + tags = mkOpt (types.listOf types.str) '' + An optional list of tags used to filter nodes for a given + service. Services must contain all tags in the list. + ''; + + node_meta = mkOpt (types.attrsOf types.str) '' + Node metadata used to filter nodes for a given service. + ''; + + tag_separator = mkDefOpt types.str "," '' + The string by which Consul tags are joined into the tag label. + ''; + + allow_stale = mkOpt types.bool '' + Allow stale Consul results + (see ). + + Will reduce load on Consul. + ''; + + refresh_interval = mkDefOpt types.str "30s" '' + The time after which the provided names are refreshed. + + On large setup it might be a good idea to increase this value + because the catalog will change all the time. + ''; }; }; @@ -309,67 +442,74 @@ let Patterns for files from which target groups are extracted. Refer to the Prometheus documentation for permitted filename patterns and formats. + ''; + }; - ''; - }; - refresh_interval = mkOption { - type = types.str; - default = "30s"; - description = '' - Refresh interval to re-read the files. - ''; - }; + refresh_interval = mkDefOpt types.str "5m" '' + Refresh interval to re-read the files. + ''; }; }; promTypes.relabel_config = types.submodule { options = { - source_labels = mkOption { - type = with types; nullOr (listOf str); - default = null; - description = '' - The source labels select values from existing labels. Their content - is concatenated using the configured separator and matched against - the configured regular expression. - ''; - }; - separator = mkOption { - type = types.str; - default = ";"; - description = '' - Separator placed between concatenated source label values. - ''; - }; - target_label = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - Label to which the resulting value is written in a replace action. - It is mandatory for replace actions. - ''; - }; - regex = mkOption { - type = types.str; - default = "(.*)"; - description = '' - Regular expression against which the extracted value is matched. - ''; - }; - replacement = mkOption { - type = types.str; - default = "$1"; - description = '' - Replacement value against which a regex replace is performed if the - regular expression matches. - ''; - }; - action = mkOption { - type = types.enum ["replace" "keep" "drop"]; - default = "replace"; - description = '' - Action to perform based on regex matching. - ''; - }; + source_labels = mkOpt (types.listOf types.str) '' + The source labels select values from existing labels. Their content + is concatenated using the configured separator and matched against + the configured regular expression. + ''; + + separator = mkDefOpt types.str ";" '' + Separator placed between concatenated source label values. + ''; + + target_label = mkOpt types.str '' + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. + ''; + + regex = mkDefOpt types.str "(.*)" '' + Regular expression against which the extracted value is matched. + ''; + + modulus = mkOpt types.int '' + Modulus to take of the hash of the source label values. + ''; + + replacement = mkDefOpt types.str "$1" '' + Replacement value against which a regex replace is performed if the + regular expression matches. + ''; + + action = mkDefOpt (types.enum ["replace" "keep" "drop"]) "replace" '' + Action to perform based on regex matching. + ''; + + }; + }; + + promTypes.tls_config = types.submodule { + options = { + ca_file = mkOpt types.str '' + CA certificate to validate API server certificate with. + ''; + + cert_file = mkOpt types.str '' + Certificate file for client cert authentication to the server. + ''; + + key_file = mkOpt types.str '' + Key file for client cert authentication to the server. + ''; + + server_name = mkOpt types.str '' + ServerName extension to indicate the name of the server. + http://tools.ietf.org/html/rfc4366#section-3.1 + ''; + + insecure_skip_verify = mkOpt types.bool '' + Disable validation of the server certificate. + ''; }; }; @@ -403,10 +543,21 @@ in { }; dataDir = mkOption { - type = types.path; - default = "/var/lib/prometheus"; + type = types.nullOr types.path; + default = null; description = '' Directory to store Prometheus metrics data. + This option is deprecated, please use . + ''; + }; + + stateDir = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Directory below ${stateDirBase} to store Prometheus metrics data. + This directory will be created automatically using systemd's StateDirectory mechanism. + Defaults to prometheus. ''; }; @@ -431,7 +582,6 @@ in { globalConfig = mkOption { type = promTypes.globalConfig; default = {}; - apply = _filter; description = '' Parameters that are valid in all configuration contexts. They also serve as defaults for other configuration sections @@ -457,7 +607,6 @@ in { scrapeConfigs = mkOption { type = types.listOf promTypes.scrape_config; default = []; - apply = x: map _filter x; description = '' A list of scrape configurations. ''; @@ -497,30 +646,211 @@ in { ''; }; }; - }; + services.prometheus2 = { - config = mkIf cfg.enable { - users.groups.${promGroup}.gid = config.ids.gids.prometheus; - users.users.${promUser} = { - description = "Prometheus daemon user"; - uid = config.ids.uids.prometheus; - group = promGroup; - home = cfg.dataDir; - createHome = true; - }; - systemd.services.prometheus = { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - script = '' - #!/bin/sh - exec ${cfg.package}/bin/prometheus \ - ${concatStringsSep " \\\n " cmdlineArgs} - ''; - serviceConfig = { - User = promUser; - Restart = "always"; - WorkingDirectory = cfg.dataDir; + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable the Prometheus 2 monitoring daemon. + ''; + }; + + package = mkOption { + type = types.package; + default = pkgs.prometheus_2; + defaultText = "pkgs.prometheus_2"; + description = '' + The prometheus2 package that should be used. + ''; + }; + + listenAddress = mkOption { + type = types.str; + default = "0.0.0.0:9090"; + description = '' + Address to listen on for the web interface, API, and telemetry. + ''; + }; + + stateDir = mkOption { + type = types.str; + default = "prometheus2"; + description = '' + Directory below ${stateDirBase} to store Prometheus metrics data. + This directory will be created automatically using systemd's StateDirectory mechanism. + Defaults to prometheus2. + ''; + }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra commandline options when launching Prometheus 2. + ''; + }; + + configText = mkOption { + type = types.nullOr types.lines; + default = null; + description = '' + If non-null, this option defines the text that is written to + prometheus.yml. If null, the contents of prometheus.yml is generated + from the structured config options. + ''; + }; + + globalConfig = mkOption { + type = promTypes.globalConfig; + default = {}; + description = '' + Parameters that are valid in all configuration contexts. They + also serve as defaults for other configuration sections + ''; + }; + + rules = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Alerting and/or Recording rules to evaluate at runtime. + ''; + }; + + ruleFiles = mkOption { + type = types.listOf types.path; + default = []; + description = '' + Any additional rules files to include in this configuration. + ''; + }; + + scrapeConfigs = mkOption { + type = types.listOf promTypes.scrape_config; + default = []; + description = '' + A list of scrape configurations. + ''; + }; + + alertmanagers = mkOption { + type = types.listOf types.attrs; + example = literalExample '' + [ { + scheme = "https"; + path_prefix = "/alertmanager"; + static_configs = [ { + targets = [ + "prometheus.domain.tld" + ]; + } ]; + } ] + ''; + default = []; + description = '' + A list of alertmanagers to send alerts to. + See the official documentation for more information. + ''; + }; + + alertmanagerNotificationQueueCapacity = mkOption { + type = types.int; + default = 10000; + description = '' + The capacity of the queue for pending alert manager notifications. + ''; + }; + + alertmanagerTimeout = mkOption { + type = types.int; + default = 10; + description = '' + Alert manager HTTP API timeout (in seconds). + ''; + }; + + webExternalUrl = mkOption { + type = types.nullOr types.str; + default = null; + example = "https://example.com/"; + description = '' + The URL under which Prometheus is externally reachable (for example, + if Prometheus is served via a reverse proxy). + ''; }; }; - }; + }; + + config = mkMerge [ + (mkIf (cfg.enable || cfg2.enable) { + users.groups.${promGroup}.gid = config.ids.gids.prometheus; + users.users.${promUser} = { + description = "Prometheus daemon user"; + uid = config.ids.uids.prometheus; + group = promGroup; + }; + }) + (mkIf cfg.enable { + warnings = + optional (cfg.dataDir != null) '' + The option services.prometheus.dataDir is deprecated, please use + services.prometheus.stateDir. + ''; + assertions = [ + { + assertion = !(cfg.dataDir != null && cfg.stateDir != null); + message = + "The options services.prometheus.dataDir and services.prometheus.stateDir" + + " can't both be set at the same time! It's recommended to only set the latter" + + " since the former is deprecated."; + } + { + assertion = cfg.dataDir != null -> hasPrefix stateDirBase cfg.dataDir; + message = + "The option services.prometheus.dataDir should have ${stateDirBase} as a prefix!"; + } + { + assertion = cfg.stateDir != null -> !hasPrefix "/" cfg.stateDir; + message = + "The option services.prometheus.stateDir shouldn't be an absolute directory." + + " It should be a directory relative to ${stateDirBase}."; + } + { + assertion = cfg2.stateDir != null -> !hasPrefix "/" cfg2.stateDir; + message = + "The option services.prometheus2.stateDir shouldn't be an absolute directory." + + " It should be a directory relative to ${stateDirBase}."; + } + ]; + systemd.services.prometheus = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + ExecStart = "${cfg.package}/bin/prometheus" + + optionalString (length cmdlineArgs != 0) (" \\\n " + + concatStringsSep " \\\n " cmdlineArgs); + User = promUser; + Restart = "always"; + WorkingDirectory = workingDir; + StateDirectory = stateDir; + }; + }; + }) + (mkIf cfg2.enable { + systemd.services.prometheus2 = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + ExecStart = "${cfg2.package}/bin/prometheus" + + optionalString (length cmdlineArgs2 != 0) (" \\\n " + + concatStringsSep " \\\n " cmdlineArgs2); + User = promUser; + Restart = "always"; + WorkingDirectory = workingDir2; + StateDirectory = cfg2.stateDir; + }; + }; + }) + ]; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix index 0a084561002..b69310c34ff 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters.nix @@ -1,8 +1,10 @@ -{ config, pkgs, lib, ... }: - -with lib; +{ config, pkgs, lib, options, ... }: let + inherit (lib) concatStrings foldl foldl' genAttrs literalExample maintainers + mapAttrsToList mkDefault mkEnableOption mkIf mkMerge mkOption + optional types; + cfg = config.services.prometheus.exporters; # each attribute in `exporterOpts` is expected to have specified: @@ -17,24 +19,30 @@ let # Note that `extraOpts` is optional, but a script for the exporter's # systemd service must be provided by specifying either # `serviceOpts.script` or `serviceOpts.serviceConfig.ExecStart` - exporterOpts = { - blackbox = import ./exporters/blackbox.nix { inherit config lib pkgs; }; - collectd = import ./exporters/collectd.nix { inherit config lib pkgs; }; - dnsmasq = import ./exporters/dnsmasq.nix { inherit config lib pkgs; }; - dovecot = import ./exporters/dovecot.nix { inherit config lib pkgs; }; - fritzbox = import ./exporters/fritzbox.nix { inherit config lib pkgs; }; - json = import ./exporters/json.nix { inherit config lib pkgs; }; - minio = import ./exporters/minio.nix { inherit config lib pkgs; }; - nginx = import ./exporters/nginx.nix { inherit config lib pkgs; }; - node = import ./exporters/node.nix { inherit config lib pkgs; }; - postfix = import ./exporters/postfix.nix { inherit config lib pkgs; }; - snmp = import ./exporters/snmp.nix { inherit config lib pkgs; }; - surfboard = import ./exporters/surfboard.nix { inherit config lib pkgs; }; - tor = import ./exporters/tor.nix { inherit config lib pkgs; }; - unifi = import ./exporters/unifi.nix { inherit config lib pkgs; }; - varnish = import ./exporters/varnish.nix { inherit config lib pkgs; }; - bind = import ./exporters/bind.nix { inherit config lib pkgs; }; - }; + + exporterOpts = genAttrs [ + "bind" + "blackbox" + "collectd" + "dnsmasq" + "dovecot" + "fritzbox" + "json" + "mail" + "minio" + "nginx" + "node" + "postfix" + "postgres" + "snmp" + "surfboard" + "tor" + "unifi" + "varnish" + "wireguard" + ] (name: + import (./. + "/exporters/${name}.nix") { inherit config lib pkgs options; } + ); mkExporterOpts = ({ name, port }: { enable = mkEnableOption "the prometheus ${name} exporter"; @@ -80,7 +88,7 @@ let }; user = mkOption { type = types.str; - default = "nobody"; + default = "${name}-exporter"; description = '' User name under which the ${name} exporter shall be run. Has no effect when is true. @@ -88,7 +96,7 @@ let }; group = mkOption { type = types.str; - default = "nobody"; + default = "${name}-exporter"; description = '' Group under which the ${name} exporter shall be run. Has no effect when is true. @@ -96,9 +104,10 @@ let }; }); - mkSubModule = { name, port, extraOpts, ... }: { + mkSubModule = { name, port, extraOpts, imports }: { ${name} = mkOption { type = types.submodule { + inherit imports; options = (mkExporterOpts { inherit name port; } // extraOpts); @@ -111,15 +120,28 @@ let mkSubModules = (foldl' (a: b: a//b) {} (mapAttrsToList (name: opts: mkSubModule { inherit name; - inherit (opts) port serviceOpts; + inherit (opts) port; extraOpts = opts.extraOpts or {}; + imports = opts.imports or []; }) exporterOpts) ); mkExporterConf = { name, conf, serviceOpts }: + let + enableDynamicUser = serviceOpts.serviceConfig.DynamicUser or true; + in mkIf conf.enable { + warnings = conf.warnings or []; + users.users."${name}-exporter" = (mkIf (conf.user == "${name}-exporter" && !enableDynamicUser) { + description = "Prometheus ${name} exporter service user"; + isSystemUser = true; + inherit (conf) group; + }); + users.groups = (mkIf (conf.group == "${name}-exporter" && !enableDynamicUser) { + "${name}-exporter" = {}; + }); networking.firewall.extraCommands = mkIf conf.openFirewall (concatStrings [ - "ip46tables -I nixos-fw ${conf.firewallFilter} " + "ip46tables -A nixos-fw ${conf.firewallFilter} " "-m comment --comment ${name}-exporter -j nixos-fw-accept" ]); systemd.services."prometheus-${name}-exporter" = mkMerge ([{ @@ -128,7 +150,8 @@ let serviceConfig.Restart = mkDefault "always"; serviceConfig.PrivateTmp = mkDefault true; serviceConfig.WorkingDirectory = mkDefault /tmp; - } serviceOpts ] ++ optional (!(serviceOpts.serviceConfig.DynamicUser or false)) { + serviceConfig.DynamicUser = mkDefault enableDynamicUser; + } serviceOpts ] ++ optional (!enableDynamicUser) { serviceConfig.User = conf.user; serviceConfig.Group = conf.group; }); @@ -153,13 +176,19 @@ in }; config = mkMerge ([{ - assertions = [{ + assertions = [ { assertion = (cfg.snmp.configurationPath == null) != (cfg.snmp.configuration == null); message = '' Please ensure you have either `services.prometheus.exporters.snmp.configuration' or `services.prometheus.exporters.snmp.configurationPath' set! ''; - }]; + } { + assertion = (cfg.mail.configFile == null) != (cfg.mail.configuration == {}); + message = '' + Please specify either 'services.prometheus.exporters.mail.configuration' + or 'services.prometheus.exporters.mail.configFile'. + ''; + } ]; }] ++ [(mkIf config.services.minio.enable { services.prometheus.exporters.minio.minioAddress = mkDefault "http://localhost:9000"; services.prometheus.exporters.minio.minioAccessKey = mkDefault config.services.minio.accessKey; diff --git a/nixos/modules/services/monitoring/prometheus/exporters.xml b/nixos/modules/services/monitoring/prometheus/exporters.xml index 7a0a1bdf2c1..c2d4b05996a 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters.xml +++ b/nixos/modules/services/monitoring/prometheus/exporters.xml @@ -17,7 +17,7 @@ exporter, it provides hardware and OS metrics from the host it's running on. The exporter could be configured as follows: - services.promtheus.exporters.node = { + services.prometheus.exporters.node = { enable = true; enabledCollectors = [ "logind" @@ -112,65 +112,67 @@ directory, which will be called postfix.nix and contains all exporter specific options and configuration: - # nixpgs/nixos/modules/services/prometheus/exporters/postfix.nix - { config, lib, pkgs }: +# nixpgs/nixos/modules/services/prometheus/exporters/postfix.nix +{ config, lib, pkgs, options }: - with lib; +with lib; - let - # for convenience we define cfg here - cfg = config.services.prometheus.exporters.postfix; - in - { - port = 9154; # The postfix exporter listens on this port by default +let + # for convenience we define cfg here + cfg = config.services.prometheus.exporters.postfix; +in +{ + port = 9154; # The postfix exporter listens on this port by default - # `extraOpts` is an attribute set which contains additional options - # (and optional overrides for default options). - # Note that this attribute is optional. - extraOpts = { - telemetryPath = mkOption { - type = types.str; - default = "/metrics"; - description = '' - Path under which to expose metrics. - ''; - }; - logfilePath = mkOption { - type = types.path; - default = /var/log/postfix_exporter_input.log; - example = /var/log/mail.log; - description = '' - Path where Postfix writes log entries. - This file will be truncated by this exporter! - ''; - }; - showqPath = mkOption { - type = types.path; - default = /var/spool/postfix/public/showq; - example = /var/lib/postfix/queue/public/showq; - description = '' - Path at which Postfix places its showq socket. - ''; - }; - }; + # `extraOpts` is an attribute set which contains additional options + # (and optional overrides for default options). + # Note that this attribute is optional. + extraOpts = { + telemetryPath = mkOption { + type = types.str; + default = "/metrics"; + description = '' + Path under which to expose metrics. + ''; + }; + logfilePath = mkOption { + type = types.path; + default = /var/log/postfix_exporter_input.log; + example = /var/log/mail.log; + description = '' + Path where Postfix writes log entries. + This file will be truncated by this exporter! + ''; + }; + showqPath = mkOption { + type = types.path; + default = /var/spool/postfix/public/showq; + example = /var/lib/postfix/queue/public/showq; + description = '' + Path at which Postfix places its showq socket. + ''; + }; + }; - # `serviceOpts` is an attribute set which contains configuration - # for the exporter's systemd service. One of - # `serviceOpts.script` and `serviceOpts.serviceConfig.ExecStart` - # has to be specified here. This will be merged with the default - # service confiuration. - serviceOpts = { - serviceConfig = { - ExecStart = '' - ${pkgs.prometheus-postfix-exporter}/bin/postfix_exporter \ - --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ - --web.telemetry-path ${cfg.telemetryPath} \ - ${concatStringsSep " \\\n " cfg.extraFlags} - ''; - }; - }; - } - + # `serviceOpts` is an attribute set which contains configuration + # for the exporter's systemd service. One of + # `serviceOpts.script` and `serviceOpts.serviceConfig.ExecStart` + # has to be specified here. This will be merged with the default + # service confiuration. + # Note that by default 'DynamicUser' is 'true'. + serviceOpts = { + serviceConfig = { + DynamicUser = false; + ExecStart = '' + ${pkgs.prometheus-postfix-exporter}/bin/postfix_exporter \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + --web.telemetry-path ${cfg.telemetryPath} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + }; + }; +} + @@ -184,4 +186,42 @@ +
+ Updating an exporter module + + Should an exporter option change at some point, it is possible to add + information about the change to the exporter definition similar to + nixpkgs/nixos/modules/rename.nix: + +{ config, lib, pkgs, options }: + +with lib; + +let + cfg = config.services.prometheus.exporters.nginx; +in +{ + port = 9113; + extraOpts = { + # additional module options + # ... + }; + serviceOpts = { + # service configuration + # ... + }; + imports = [ + # 'services.prometheus.exporters.nginx.telemetryEndpoint' -> 'services.prometheus.exporters.nginx.telemetryPath' + (mkRenamedOptionModule [ "telemetryEndpoint" ] [ "telemetryPath" ]) + + # removed option 'services.prometheus.exporters.nginx.insecure' + (mkRemovedOptionModule [ "insecure" ] '' + This option was replaced by 'prometheus.exporters.nginx.sslVerify' which defaults to true. + '') + ({ options.warnings = options.warnings; }) + ]; +} + + +
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bind.nix b/nixos/modules/services/monitoring/prometheus/exporters/bind.nix index a9746c4d65d..972632b5a24 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/bind.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/bind.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -39,7 +39,6 @@ in }; serviceOpts = { serviceConfig = { - DynamicUser = true; ExecStart = '' ${pkgs.prometheus-bind-exporter}/bin/bind_exporter \ -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix b/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix index d09d1c4f366..ca4366121e1 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix @@ -1,9 +1,16 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; let cfg = config.services.prometheus.exporters.blackbox; + + checkConfig = file: pkgs.runCommand "checked-blackbox-exporter.conf" { + preferLocalBuild = true; + buildInputs = [ pkgs.buildPackages.prometheus-blackbox-exporter ]; } '' + ln -s ${file} $out + blackbox_exporter --config.check --config.file $out + ''; in { port = 9115; @@ -18,11 +25,10 @@ in serviceOpts = { serviceConfig = { AmbientCapabilities = [ "CAP_NET_RAW" ]; # for ping probes - DynamicUser = true; ExecStart = '' ${pkgs.prometheus-blackbox-exporter}/bin/blackbox_exporter \ --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ - --config.file ${cfg.configFile} \ + --config.file ${checkConfig cfg.configFile} \ ${concatStringsSep " \\\n " cfg.extraFlags} ''; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix b/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix index 0eba3527162..1cc34641809 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -64,7 +64,6 @@ in '' else ""; in { serviceConfig = { - DynamicUser = true; ExecStart = '' ${pkgs.prometheus-collectd-exporter}/bin/collectd_exporter \ -log.format ${cfg.logFormat} \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix b/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix index b1fab85109a..e9fa26cb1f5 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -26,7 +26,6 @@ in }; serviceOpts = { serviceConfig = { - DynamicUser = true; ExecStart = '' ${pkgs.prometheus-dnsmasq-exporter}/bin/dnsmasq_exporter \ --listen ${cfg.listenAddress}:${toString cfg.port} \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix index c47e87a3dc3..a01074758ff 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -39,8 +39,8 @@ in mail_plugins = $mail_plugins old_stats service old-stats { unix_listener old-stats { - user = nobody - group = nobody + user = dovecot-exporter + group = dovecot-exporter } } '''; @@ -59,6 +59,7 @@ in }; serviceOpts = { serviceConfig = { + DynamicUser = false; ExecStart = '' ${pkgs.prometheus-dovecot-exporter}/bin/dovecot_exporter \ --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix b/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix index a3f1d9d3132..9526597b8c9 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -26,9 +26,8 @@ in }; serviceOpts = { serviceConfig = { - DynamicUser = true; ExecStart = '' - ${pkgs.prometheus-fritzbox-exporter}/bin/fritzbox_exporter \ + ${pkgs.prometheus-fritzbox-exporter}/bin/exporter \ -listen-address ${cfg.listenAddress}:${toString cfg.port} \ -gateway-address ${cfg.gatewayAddress} \ -gateway-port ${toString cfg.gatewayPort} \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/json.nix b/nixos/modules/services/monitoring/prometheus/exporters/json.nix index a5494e85e01..82a55bafc98 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/json.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/json.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -24,7 +24,6 @@ in }; serviceOpts = { serviceConfig = { - DynamicUser = true; ExecStart = '' ${pkgs.prometheus-json-exporter}/bin/prometheus-json-exporter \ --port ${toString cfg.port} \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mail.nix b/nixos/modules/services/monitoring/prometheus/exporters/mail.nix new file mode 100644 index 00000000000..7d8c6fb6140 --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/exporters/mail.nix @@ -0,0 +1,157 @@ +{ config, lib, pkgs, options }: + +with lib; + +let + cfg = config.services.prometheus.exporters.mail; + + configurationFile = pkgs.writeText "prometheus-mail-exporter.conf" (builtins.toJSON ( + # removes the _module attribute, null values and converts attrNames to lowercase + mapAttrs' (name: value: + if name == "servers" + then nameValuePair (toLower name) + ((map (srv: (mapAttrs' (n: v: nameValuePair (toLower n) v) + (filterAttrs (n: v: !(n == "_module" || v == null)) srv) + ))) value) + else nameValuePair (toLower name) value + ) (filterAttrs (n: _: !(n == "_module")) cfg.configuration) + )); + + serverOptions.options = { + name = mkOption { + type = types.str; + description = '' + Value for label 'configname' which will be added to all metrics. + ''; + }; + server = mkOption { + type = types.str; + description = '' + Hostname of the server that should be probed. + ''; + }; + port = mkOption { + type = types.int; + example = 587; + description = '' + Port to use for SMTP. + ''; + }; + from = mkOption { + type = types.str; + example = "exporteruser@domain.tld"; + description = '' + Content of 'From' Header for probing mails. + ''; + }; + to = mkOption { + type = types.str; + example = "exporteruser@domain.tld"; + description = '' + Content of 'To' Header for probing mails. + ''; + }; + detectionDir = mkOption { + type = types.path; + example = "/var/spool/mail/exporteruser/new"; + description = '' + Directory in which new mails for the exporter user are placed. + Note that this needs to exist when the exporter starts. + ''; + }; + login = mkOption { + type = types.nullOr types.str; + default = null; + example = "exporteruser@domain.tld"; + description = '' + Username to use for SMTP authentication. + ''; + }; + passphrase = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Password to use for SMTP authentication. + ''; + }; + }; + + exporterOptions.options = { + monitoringInterval = mkOption { + type = types.str; + example = "10s"; + description = '' + Time interval between two probe attempts. + ''; + }; + mailCheckTimeout = mkOption { + type = types.str; + description = '' + Timeout until mails are considered "didn't make it". + ''; + }; + disableFileDelition = mkOption { + type = types.bool; + default = false; + description = '' + Disables the exporter's function to delete probing mails. + ''; + }; + servers = mkOption { + type = types.listOf (types.submodule serverOptions); + default = []; + example = literalExample '' + [ { + name = "testserver"; + server = "smtp.domain.tld"; + port = 587; + from = "exporteruser@domain.tld"; + to = "exporteruser@domain.tld"; + detectionDir = "/path/to/Maildir/new"; + } ] + ''; + description = '' + List of servers that should be probed. + ''; + }; + }; +in +{ + port = 9225; + extraOpts = { + configFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Specify the mailexporter configuration file to use. + ''; + }; + configuration = mkOption { + type = types.submodule exporterOptions; + default = {}; + description = '' + Specify the mailexporter configuration file to use. + ''; + }; + telemetryPath = mkOption { + type = types.str; + default = "/metrics"; + description = '' + Path under which to expose metrics. + ''; + }; + }; + serviceOpts = { + serviceConfig = { + DynamicUser = false; + ExecStart = '' + ${pkgs.prometheus-mail-exporter}/bin/mailexporter \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + --config.file ${ + if cfg.configuration != {} then configurationFile else cfg.configFile + } \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + }; + }; +} diff --git a/nixos/modules/services/monitoring/prometheus/exporters/minio.nix b/nixos/modules/services/monitoring/prometheus/exporters/minio.nix index 3cc4ffdbc8f..ab3e3d7d5d5 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/minio.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/minio.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -50,7 +50,6 @@ in }; serviceOpts = { serviceConfig = { - DynamicUser = true; ExecStart = '' ${pkgs.prometheus-minio-exporter}/bin/minio-exporter \ -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix index 431dd8b4ead..554377df37b 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -16,32 +16,39 @@ in Can be enabled with services.nginx.statusPage = true. ''; }; - telemetryEndpoint = mkOption { + telemetryPath = mkOption { type = types.str; default = "/metrics"; description = '' Path under which to expose metrics. ''; }; - insecure = mkOption { + sslVerify = mkOption { type = types.bool; default = true; description = '' - Ignore server certificate if using https. + Whether to perform certificate verification for https. ''; }; + }; serviceOpts = { serviceConfig = { - DynamicUser = true; ExecStart = '' - ${pkgs.prometheus-nginx-exporter}/bin/nginx_exporter \ - --nginx.scrape_uri '${cfg.scrapeUri}' \ - --telemetry.address ${cfg.listenAddress}:${toString cfg.port} \ - --telemetry.endpoint ${cfg.telemetryEndpoint} \ - --insecure ${toString cfg.insecure} \ + ${pkgs.prometheus-nginx-exporter}/bin/nginx-prometheus-exporter \ + --nginx.scrape-uri '${cfg.scrapeUri}' \ + --nginx.ssl-verify ${toString cfg.sslVerify} \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + --web.telemetry-path ${cfg.telemetryPath} \ ${concatStringsSep " \\\n " cfg.extraFlags} ''; }; }; + imports = [ + (mkRenamedOptionModule [ "telemetryEndpoint" ] [ "telemetryPath" ]) + (mkRemovedOptionModule [ "insecure" ] '' + This option was replaced by 'prometheus.exporters.nginx.sslVerify'. + '') + ({ options.warnings = options.warnings; }) + ]; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/node.nix b/nixos/modules/services/monitoring/prometheus/exporters/node.nix index ee7bf39f199..adc2abe0b91 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/node.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/node.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -9,7 +9,7 @@ in port = 9100; extraOpts = { enabledCollectors = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = []; example = ''[ "systemd" ]''; description = '' @@ -27,13 +27,13 @@ in }; serviceOpts = { serviceConfig = { + DynamicUser = false; RuntimeDirectory = "prometheus-node-exporter"; ExecStart = '' ${pkgs.prometheus-node-exporter}/bin/node_exporter \ ${concatMapStringsSep " " (x: "--collector." + x) cfg.enabledCollectors} \ ${concatMapStringsSep " " (x: "--no-collector." + x) cfg.disabledCollectors} \ - --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ - ${concatStringsSep " \\\n " cfg.extraFlags} + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} ${concatStringsSep " " cfg.extraFlags} ''; }; }; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix b/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix index efe78ebcba8..f40819e826b 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -62,6 +62,7 @@ in }; serviceOpts = { serviceConfig = { + DynamicUser = false; ExecStart = '' ${pkgs.prometheus-postfix-exporter}/bin/postfix_exporter \ --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix b/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix new file mode 100644 index 00000000000..1ece73a1159 --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix @@ -0,0 +1,47 @@ +{ config, lib, pkgs, options }: + +with lib; + +let + cfg = config.services.prometheus.exporters.postgres; +in +{ + port = 9187; + extraOpts = { + telemetryPath = mkOption { + type = types.str; + default = "/metrics"; + description = '' + Path under which to expose metrics. + ''; + }; + dataSourceName = mkOption { + type = types.str; + default = "user=postgres database=postgres host=/run/postgresql sslmode=disable"; + example = "postgresql://username:password@localhost:5432/postgres?sslmode=disable"; + description = '' + Accepts PostgreSQL URI form and key=value form arguments. + ''; + }; + runAsLocalSuperUser = mkOption { + type = types.bool; + default = false; + description = '' + Whether to run the exporter as the local 'postgres' super user. + ''; + }; + }; + serviceOpts = { + environment.DATA_SOURCE_NAME = cfg.dataSourceName; + serviceConfig = { + DynamicUser = false; + User = mkIf cfg.runAsLocalSuperUser (mkForce "postgres"); + ExecStart = '' + ${pkgs.prometheus-postgres-exporter}/bin/postgres_exporter \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + --web.telemetry-path ${cfg.telemetryPath} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + }; + }; +} diff --git a/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix b/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix index 0d919412432..fe7ae8a8ac9 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -57,7 +57,6 @@ in else "${pkgs.writeText "snmp-eporter-conf.yml" (builtins.toJSON cfg.configuration)}"; in { serviceConfig = { - DynamicUser = true; ExecStart = '' ${pkgs.prometheus-snmp-exporter.bin}/bin/snmp_exporter \ --config.file=${configFile} \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix b/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix index 715dba06a3d..81c5c70ed93 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -20,7 +20,6 @@ in description = "Prometheus exporter for surfboard cable modem"; unitConfig.Documentation = "https://github.com/ipstatic/surfboard_exporter"; serviceConfig = { - DynamicUser = true; ExecStart = '' ${pkgs.prometheus-surfboard-exporter}/bin/surfboard_exporter \ --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/tor.nix b/nixos/modules/services/monitoring/prometheus/exporters/tor.nix index e0ae8380242..36c473677ef 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/tor.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/tor.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -26,7 +26,6 @@ in }; serviceOpts = { serviceConfig = { - DynamicUser = true; ExecStart = '' ${pkgs.prometheus-tor-exporter}/bin/prometheus-tor-exporter \ -b ${cfg.listenAddress} \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix b/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix index 011dcbe208e..9aa0f1b85aa 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -51,7 +51,6 @@ in }; serviceOpts = { serviceConfig = { - DynamicUser = true; ExecStart = '' ${pkgs.prometheus-unifi-exporter}/bin/unifi_exporter \ -telemetry.addr ${cfg.listenAddress}:${toString cfg.port} \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix index aaed76175b8..12153fa021e 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs }: +{ config, lib, pkgs, options }: with lib; @@ -68,8 +68,8 @@ in serviceOpts = { path = [ pkgs.varnish ]; serviceConfig = { - DynamicUser = true; RestartSec = mkDefault 1; + DynamicUser = false; ExecStart = '' ${pkgs.prometheus-varnish-exporter}/bin/prometheus_varnish_exporter \ --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix b/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix new file mode 100644 index 00000000000..8ae2c927b58 --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix @@ -0,0 +1,61 @@ +{ config, lib, pkgs, options }: + +with lib; + +let + cfg = config.services.prometheus.exporters.wireguard; +in { + port = 9586; + extraOpts = { + verbose = mkEnableOption "Verbose logging mode for prometheus-wireguard-exporter"; + + wireguardConfig = mkOption { + type = with types; nullOr (either path str); + default = null; + + description = '' + Path to the Wireguard Config to + add the peer's name to the stats of a peer. + + Please note that networking.wg-quick is required for this feature + as networking.wireguard uses + wg8 + to set the peers up. + ''; + }; + + singleSubnetPerField = mkOption { + type = types.bool; + default = false; + description = '' + By default, all allowed IPs and subnets are comma-separated in the + allowed_ips field. With this option enabled, + a single IP and subnet will be listed in fields like allowed_ip_0, + allowed_ip_1 and so on. + ''; + }; + + withRemoteIp = mkOption { + type = types.bool; + default = false; + description = '' + Whether or not the remote IP of a WireGuard peer should be exposed via prometheus. + ''; + }; + }; + serviceOpts = { + path = [ pkgs.wireguard-tools ]; + + serviceConfig = { + AmbientCapabilities = [ "CAP_NET_ADMIN" ]; + ExecStart = '' + ${pkgs.prometheus-wireguard-exporter}/bin/prometheus_wireguard_exporter \ + -p ${toString cfg.port} \ + ${optionalString cfg.verbose "-v"} \ + ${optionalString cfg.singleSubnetPerField "-s"} \ + ${optionalString cfg.withRemoteIp "-r"} \ + ${optionalString (cfg.wireguardConfig != null) "-n ${cfg.wireguardConfig}"} + ''; + }; + }; +} diff --git a/nixos/modules/services/monitoring/prometheus/pushgateway.nix b/nixos/modules/services/monitoring/prometheus/pushgateway.nix new file mode 100644 index 00000000000..f8fcc3eb97e --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/pushgateway.nix @@ -0,0 +1,166 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.prometheus.pushgateway; + + cmdlineArgs = + opt "web.listen-address" cfg.web.listen-address + ++ opt "web.telemetry-path" cfg.web.telemetry-path + ++ opt "web.external-url" cfg.web.external-url + ++ opt "web.route-prefix" cfg.web.route-prefix + ++ optional cfg.persistMetrics ''--persistence.file="/var/lib/${cfg.stateDir}/metrics"'' + ++ opt "persistence.interval" cfg.persistence.interval + ++ opt "log.level" cfg.log.level + ++ opt "log.format" cfg.log.format + ++ cfg.extraFlags; + + opt = k : v : optional (v != null) ''--${k}="${v}"''; + +in { + options = { + services.prometheus.pushgateway = { + enable = mkEnableOption "Prometheus Pushgateway"; + + package = mkOption { + type = types.package; + default = pkgs.prometheus-pushgateway; + defaultText = "pkgs.prometheus-pushgateway"; + description = '' + Package that should be used for the prometheus pushgateway. + ''; + }; + + web.listen-address = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Address to listen on for the web interface, API and telemetry. + + null will default to :9091. + ''; + }; + + web.telemetry-path = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Path under which to expose metrics. + + null will default to /metrics. + ''; + }; + + web.external-url = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + The URL under which Pushgateway is externally reachable. + ''; + }; + + web.route-prefix = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Prefix for the internal routes of web endpoints. + + Defaults to the path of + . + ''; + }; + + persistence.interval = mkOption { + type = types.nullOr types.str; + default = null; + example = "10m"; + description = '' + The minimum interval at which to write out the persistence file. + + null will default to 5m. + ''; + }; + + log.level = mkOption { + type = types.nullOr (types.enum ["debug" "info" "warn" "error" "fatal"]); + default = null; + description = '' + Only log messages with the given severity or above. + + null will default to info. + ''; + }; + + log.format = mkOption { + type = types.nullOr types.str; + default = null; + example = "logger:syslog?appname=bob&local=7"; + description = '' + Set the log target and format. + + null will default to logger:stderr. + ''; + }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra commandline options when launching the Pushgateway. + ''; + }; + + persistMetrics = mkOption { + type = types.bool; + default = false; + description = '' + Whether to persist metrics to a file. + + When enabled metrics will be saved to a file called + metrics in the directory + /var/lib/pushgateway. The directory below + /var/lib can be set using + . + ''; + }; + + stateDir = mkOption { + type = types.str; + default = "pushgateway"; + description = '' + Directory below /var/lib to store metrics. + + This directory will be created automatically using systemd's + StateDirectory mechanism when + + is enabled. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + assertions = [ + { + assertion = !hasPrefix "/" cfg.stateDir; + message = + "The option services.prometheus.pushgateway.stateDir" + + " shouldn't be an absolute directory." + + " It should be a directory relative to /var/lib."; + } + ]; + systemd.services.pushgateway = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + Restart = "always"; + DynamicUser = true; + ExecStart = "${cfg.package}/bin/pushgateway" + + optionalString (length cmdlineArgs != 0) (" \\\n " + + concatStringsSep " \\\n " cmdlineArgs); + StateDirectory = if cfg.persistMetrics then cfg.stateDir else null; + }; + }; + }; +} diff --git a/nixos/modules/services/monitoring/riemann-dash.nix b/nixos/modules/services/monitoring/riemann-dash.nix index 7eb4d888b0c..16eb8300850 100644 --- a/nixos/modules/services/monitoring/riemann-dash.nix +++ b/nixos/modules/services/monitoring/riemann-dash.nix @@ -59,18 +59,20 @@ in { group = "riemanndash"; }; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - riemanndash riemanndash - -" + ]; + systemd.services.riemann-dash = { wantedBy = [ "multi-user.target" ]; wants = [ "riemann.service" ]; after = [ "riemann.service" ]; preStart = '' - mkdir -p ${cfg.dataDir}/config - chown -R riemanndash:riemanndash ${cfg.dataDir} + mkdir -p '${cfg.dataDir}/config' ''; serviceConfig = { User = "riemanndash"; ExecStart = "${launcher}/bin/riemann-dash"; - PermissionsStartOnly = true; }; }; diff --git a/nixos/modules/services/monitoring/riemann-tools.nix b/nixos/modules/services/monitoring/riemann-tools.nix index 4e8832dadc5..86a11694e7b 100644 --- a/nixos/modules/services/monitoring/riemann-tools.nix +++ b/nixos/modules/services/monitoring/riemann-tools.nix @@ -11,7 +11,7 @@ let healthLauncher = writeScriptBin "riemann-health" '' #!/bin/sh - exec ${pkgs.riemann-tools}/bin/riemann-health --host ${riemannHost} + exec ${pkgs.riemann-tools}/bin/riemann-health ${builtins.concatStringsSep " " cfg.extraArgs} --host ${riemannHost} ''; @@ -34,8 +34,16 @@ in { Address of the host riemann node. Defaults to localhost. ''; }; + extraArgs = mkOption { + type = types.listOf types.str; + default = []; + description = '' + A list of commandline-switches forwarded to a riemann-tool. + See for example `riemann-health --help` for available options. + ''; + example = ["-p 5555" "--timeout=30" "--attribute=myattribute=42"]; + }; }; - }; config = mkIf cfg.enableHealth { @@ -54,7 +62,6 @@ in { serviceConfig = { User = "riemanntools"; ExecStart = "${healthLauncher}/bin/riemann-health"; - PermissionsStartOnly = true; }; }; diff --git a/nixos/modules/services/monitoring/scollector.nix b/nixos/modules/services/monitoring/scollector.nix index 6ecb21d628d..38cd2213de7 100644 --- a/nixos/modules/services/monitoring/scollector.nix +++ b/nixos/modules/services/monitoring/scollector.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.scollector; - collectors = pkgs.runCommand "collectors" {} + collectors = pkgs.runCommand "collectors" { preferLocalBuild = true; } '' mkdir -p $out ${lib.concatStringsSep @@ -51,7 +51,7 @@ in { }; user = mkOption { - type = types.string; + type = types.str; default = "scollector"; description = '' User account under which scollector runs. @@ -59,7 +59,7 @@ in { }; group = mkOption { - type = types.string; + type = types.str; default = "scollector"; description = '' Group account under which scollector runs. @@ -67,7 +67,7 @@ in { }; bosunHost = mkOption { - type = types.string; + type = types.str; default = "localhost:8070"; description = '' Host and port of the bosun server that will store the collected @@ -116,7 +116,6 @@ in { path = [ pkgs.coreutils pkgs.iproute ]; serviceConfig = { - PermissionsStartOnly = true; User = cfg.user; Group = cfg.group; ExecStart = "${cfg.package.bin}/bin/scollector -conf=${conf} ${lib.concatStringsSep " " cfg.extraOpts}"; diff --git a/nixos/modules/services/monitoring/systemhealth.nix b/nixos/modules/services/monitoring/systemhealth.nix deleted file mode 100644 index 32d4314d5f7..00000000000 --- a/nixos/modules/services/monitoring/systemhealth.nix +++ /dev/null @@ -1,133 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - cfg = config.services.systemhealth; - - systemhealth = with pkgs; stdenv.mkDerivation { - name = "systemhealth-1.0"; - src = fetchurl { - url = "https://www.brianlane.com/downloads/systemhealth/systemhealth-1.0.tar.bz2"; - sha256 = "1q69lz7hmpbdpbz36zb06nzfkj651413n9icx0njmyr3xzq1j9qy"; - }; - buildInputs = [ python ]; - installPhase = '' - mkdir -p $out/bin - # Make it work for kernels 3.x, not so different than 2.6 - sed -i 's/2\.6/4.0/' system_health.py - cp system_health.py $out/bin - ''; - }; - - rrdDir = "/var/lib/health/rrd"; - htmlDir = "/var/lib/health/html"; - - configFile = rrdDir + "/.syshealthrc"; - # The program will try to read $HOME/.syshealthrc, so we set the proper home. - command = "HOME=${rrdDir} ${systemhealth}/bin/system_health.py"; - - cronJob = '' - */5 * * * * wwwrun ${command} --log - 5 * * * * wwwrun ${command} --graph - ''; - - nameEqualName = s: "${s} = ${s}"; - interfacesSection = concatStringsSep "\n" (map nameEqualName cfg.interfaces); - - driveLine = d: "${d.path} = ${d.name}"; - drivesSection = concatStringsSep "\n" (map driveLine cfg.drives); - -in -{ - options = { - services.systemhealth = { - enable = mkOption { - default = false; - description = '' - Enable the system health monitor and its generation of graphs. - ''; - }; - - urlPrefix = mkOption { - default = "/health"; - description = '' - The URL prefix under which the System Health web pages appear in httpd. - ''; - }; - - interfaces = mkOption { - default = [ "lo" ]; - example = [ "lo" "eth0" "eth1" ]; - description = '' - Interfaces to monitor (minimum one). - ''; - }; - - drives = mkOption { - default = [ ]; - example = [ { name = "root"; path = "/"; } ]; - description = '' - Drives to monitor. - ''; - }; - }; - }; - - config = mkIf cfg.enable { - services.cron.systemCronJobs = [ cronJob ]; - - system.activationScripts.systemhealth = stringAfter [ "var" ] - '' - mkdir -p ${rrdDir} ${htmlDir} - chown wwwrun:wwwrun ${rrdDir} ${htmlDir} - - cat >${configFile} << EOF - [paths] - rrdtool = ${pkgs.rrdtool}/bin/rrdtool - loadavg_rrd = loadavg - ps = /run/current-system/sw/bin/ps - df = /run/current-system/sw/bin/df - meminfo_rrd = meminfo - uptime_rrd = uptime - rrd_path = ${rrdDir} - png_path = ${htmlDir} - - [processes] - - [interfaces] - ${interfacesSection} - - [drives] - ${drivesSection} - - [graphs] - width = 400 - time = ['-3hours', '-32hours', '-8days', '-5weeks', '-13months'] - height = 100 - - [external] - - EOF - - chown wwwrun:wwwrun ${configFile} - - ${pkgs.su}/bin/su -s "/bin/sh" -c "${command} --check" wwwrun - ${pkgs.su}/bin/su -s "/bin/sh" -c "${command} --html" wwwrun - ''; - - services.httpd.extraSubservices = [ - { function = f: { - extraConfig = '' - Alias ${cfg.urlPrefix} ${htmlDir} - - - Order allow,deny - Allow from all - - ''; - }; - } - ]; - }; -} diff --git a/nixos/modules/services/monitoring/telegraf.nix b/nixos/modules/services/monitoring/telegraf.nix index 6bfcd7143e1..d8786732668 100644 --- a/nixos/modules/services/monitoring/telegraf.nix +++ b/nixos/modules/services/monitoring/telegraf.nix @@ -7,6 +7,7 @@ let configFile = pkgs.runCommand "config.toml" { buildInputs = [ pkgs.remarshal ]; + preferLocalBuild = true; } '' remarshal -if json -of toml \ < ${pkgs.writeText "config.json" (builtins.toJSON cfg.extraConfig)} \ diff --git a/nixos/modules/services/monitoring/thanos.nix b/nixos/modules/services/monitoring/thanos.nix new file mode 100644 index 00000000000..b41e99b7647 --- /dev/null +++ b/nixos/modules/services/monitoring/thanos.nix @@ -0,0 +1,801 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.thanos; + + nullOpt = type: description: mkOption { + type = types.nullOr type; + default = null; + inherit description; + }; + + optionToArgs = opt: v : optional (v != null) ''--${opt}="${toString v}"''; + flagToArgs = opt: v : optional v ''--${opt}''; + listToArgs = opt: vs : map (v: ''--${opt}="${v}"'') vs; + attrsToArgs = opt: kvs: mapAttrsToList (k: v: ''--${opt}=${k}=\"${v}\"'') kvs; + + mkParamDef = type: default: description: mkParam type (description + '' + + Defaults to ${toString default} in Thanos + when set to null. + ''); + + mkParam = type: description: { + toArgs = optionToArgs; + option = nullOpt type description; + }; + + mkFlagParam = description: { + toArgs = flagToArgs; + option = mkOption { + type = types.bool; + default = false; + inherit description; + }; + }; + + mkListParam = opt: description: { + toArgs = _opt: listToArgs opt; + option = mkOption { + type = types.listOf types.str; + default = []; + inherit description; + }; + }; + + mkAttrsParam = opt: description: { + toArgs = _opt: attrsToArgs opt; + option = mkOption { + type = types.attrsOf types.str; + default = {}; + inherit description; + }; + }; + + mkStateDirParam = opt: default: description: { + toArgs = _opt: stateDir: optionToArgs opt "/var/lib/${stateDir}"; + option = mkOption { + type = types.str; + inherit default; + inherit description; + }; + }; + + toYAML = name: attrs: pkgs.runCommandNoCC name { + preferLocalBuild = true; + json = builtins.toFile "${name}.json" (builtins.toJSON attrs); + nativeBuildInputs = [ pkgs.remarshal ]; + } ''json2yaml -i $json -o $out''; + + thanos = cmd: "${cfg.package}/bin/thanos ${cmd}" + + (let args = cfg."${cmd}".arguments; + in optionalString (length args != 0) (" \\\n " + + concatStringsSep " \\\n " args)); + + argumentsOf = cmd: concatLists (collect isList + (flip mapParamsRecursive params."${cmd}" (path: param: + let opt = concatStringsSep "." path; + v = getAttrFromPath path cfg."${cmd}"; + in param.toArgs opt v))); + + mkArgumentsOption = cmd: mkOption { + type = types.listOf types.str; + default = argumentsOf cmd; + description = '' + Arguments to the thanos ${cmd} command. + + Defaults to a list of arguments formed by converting the structured + options of to a list of arguments. + + Overriding this option will cause none of the structured options to have + any effect. So only set this if you know what you're doing! + ''; + }; + + mapParamsRecursive = + let noParam = attr: !(attr ? "toArgs" && attr ? "option"); + in mapAttrsRecursiveCond noParam; + + paramsToOptions = mapParamsRecursive (_path: param: param.option); + + params = { + + log = { + + log.level = mkParamDef (types.enum ["debug" "info" "warn" "error" "fatal"]) "info" '' + Log filtering level. + ''; + + log.format = mkParam types.str '' + Log format to use. + ''; + }; + + tracing = cfg: { + tracing.config-file = { + toArgs = _opt: path: optionToArgs "tracing.config-file" path; + option = mkOption { + type = with types; nullOr str; + default = if cfg.tracing.config == null then null + else toString (toYAML "tracing.yaml" cfg.tracing.config); + defaultText = '' + if config.services.thanos..tracing.config == null then null + else toString (toYAML "tracing.yaml" config.services.thanos..tracing.config); + ''; + description = '' + Path to YAML file that contains tracing configuration. + ''; + }; + }; + + tracing.config = + { + toArgs = _opt: _attrs: []; + option = nullOpt types.attrs '' + Tracing configuration. + + When not null the attribute set gets converted to + a YAML file and stored in the Nix store. The option + will default to its path. + + If is set this option has no effect. + ''; + }; + }; + + common = cfg: params.log // params.tracing cfg // { + + http-address = mkParamDef types.str "0.0.0.0:10902" '' + Listen host:port for HTTP endpoints. + ''; + + grpc-address = mkParamDef types.str "0.0.0.0:10901" '' + Listen ip:port address for gRPC endpoints (StoreAPI). + + Make sure this address is routable from other components. + ''; + + grpc-server-tls-cert = mkParam types.str '' + TLS Certificate for gRPC server, leave blank to disable TLS + ''; + + grpc-server-tls-key = mkParam types.str '' + TLS Key for the gRPC server, leave blank to disable TLS + ''; + + grpc-server-tls-client-ca = mkParam types.str '' + TLS CA to verify clients against. + + If no client CA is specified, there is no client verification on server side. + (tls.NoClientCert) + ''; + }; + + objstore = cfg: { + + objstore.config-file = { + toArgs = _opt: path: optionToArgs "objstore.config-file" path; + option = mkOption { + type = with types; nullOr str; + default = if cfg.objstore.config == null then null + else toString (toYAML "objstore.yaml" cfg.objstore.config); + defaultText = '' + if config.services.thanos..objstore.config == null then null + else toString (toYAML "objstore.yaml" config.services.thanos..objstore.config); + ''; + description = '' + Path to YAML file that contains object store configuration. + ''; + }; + }; + + objstore.config = + { + toArgs = _opt: _attrs: []; + option = nullOpt types.attrs '' + Object store configuration. + + When not null the attribute set gets converted to + a YAML file and stored in the Nix store. The option + will default to its path. + + If is set this option has no effect. + ''; + }; + }; + + sidecar = params.common cfg.sidecar // params.objstore cfg.sidecar // { + + prometheus.url = mkParamDef types.str "http://localhost:9090" '' + URL at which to reach Prometheus's API. + + For better performance use local network. + ''; + + tsdb.path = { + toArgs = optionToArgs; + option = mkOption { + type = types.str; + default = "/var/lib/${config.services.prometheus2.stateDir}/data"; + defaultText = "/var/lib/\${config.services.prometheus2.stateDir}/data"; + description = '' + Data directory of TSDB. + ''; + }; + }; + + reloader.config-file = mkParam types.str '' + Config file watched by the reloader. + ''; + + reloader.config-envsubst-file = mkParam types.str '' + Output file for environment variable substituted config file. + ''; + + reloader.rule-dirs = mkListParam "reloader.rule-dir" '' + Rule directories for the reloader to refresh. + ''; + + }; + + store = params.common cfg.store // params.objstore cfg.store // { + + stateDir = mkStateDirParam "data-dir" "thanos-store" '' + Data directory relative to /var/lib + in which to cache remote blocks. + ''; + + index-cache-size = mkParamDef types.str "250MB" '' + Maximum size of items held in the index cache. + ''; + + chunk-pool-size = mkParamDef types.str "2GB" '' + Maximum size of concurrently allocatable bytes for chunks. + ''; + + store.grpc.series-sample-limit = mkParamDef types.int 0 '' + Maximum amount of samples returned via a single Series call. + + 0 means no limit. + + NOTE: for efficiency we take 120 as the number of samples in chunk (it + cannot be bigger than that), so the actual number of samples might be + lower, even though the maximum could be hit. + ''; + + store.grpc.series-max-concurrency = mkParamDef types.int 20 '' + Maximum number of concurrent Series calls. + ''; + + sync-block-duration = mkParamDef types.str "3m" '' + Repeat interval for syncing the blocks between local and remote view. + ''; + + block-sync-concurrency = mkParamDef types.int 20 '' + Number of goroutines to use when syncing blocks from object storage. + ''; + }; + + query = params.common cfg.query // { + + grpc-client-tls-secure = mkFlagParam '' + Use TLS when talking to the gRPC server + ''; + + grpc-client-tls-cert = mkParam types.str '' + TLS Certificates to use to identify this client to the server + ''; + + grpc-client-tls-key = mkParam types.str '' + TLS Key for the client's certificate + ''; + + grpc-client-tls-ca = mkParam types.str '' + TLS CA Certificates to use to verify gRPC servers + ''; + + grpc-client-server-name = mkParam types.str '' + Server name to verify the hostname on the returned gRPC certificates. + See + ''; + + web.route-prefix = mkParam types.str '' + Prefix for API and UI endpoints. + + This allows thanos UI to be served on a sub-path. This option is + analogous to of Promethus. + ''; + + web.external-prefix = mkParam types.str '' + Static prefix for all HTML links and redirect URLs in the UI query web + interface. + + Actual endpoints are still served on / or the + . This allows thanos UI to be served + behind a reverse proxy that strips a URL sub-path. + ''; + + web.prefix-header = mkParam types.str '' + Name of HTTP request header used for dynamic prefixing of UI links and + redirects. + + This option is ignored if the option + web.external-prefix is set. + + Security risk: enable this option only if a reverse proxy in front of + thanos is resetting the header. + + The setting web.prefix-header="X-Forwarded-Prefix" + can be useful, for example, if Thanos UI is served via Traefik reverse + proxy with PathPrefixStrip option enabled, which + sends the stripped prefix value in X-Forwarded-Prefix + header. This allows thanos UI to be served on a sub-path. + ''; + + query.timeout = mkParamDef types.str "2m" '' + Maximum time to process query by query node. + ''; + + query.max-concurrent = mkParamDef types.int 20 '' + Maximum number of queries processed concurrently by query node. + ''; + + query.replica-label = mkParam types.str '' + Label to treat as a replica indicator along which data is + deduplicated. + + Still you will be able to query without deduplication using + dedup=false parameter. + ''; + + selector-labels = mkAttrsParam "selector-label" '' + Query selector labels that will be exposed in info endpoint. + ''; + + store.addresses = mkListParam "store" '' + Addresses of statically configured store API servers. + + The scheme may be prefixed with dns+ or + dnssrv+ to detect store API servers through + respective DNS lookups. + ''; + + store.sd-files = mkListParam "store.sd-files" '' + Path to files that contain addresses of store API servers. The path + can be a glob pattern. + ''; + + store.sd-interval = mkParamDef types.str "5m" '' + Refresh interval to re-read file SD files. It is used as a resync fallback. + ''; + + store.sd-dns-interval = mkParamDef types.str "30s" '' + Interval between DNS resolutions. + ''; + + store.unhealthy-timeout = mkParamDef types.str "5m" '' + Timeout before an unhealthy store is cleaned from the store UI page. + ''; + + query.auto-downsampling = mkFlagParam '' + Enable automatic adjustment (step / 5) to what source of data should + be used in store gateways if no + max_source_resolution param is specified. + ''; + + query.partial-response = mkFlagParam '' + Enable partial response for queries if no + partial_response param is specified. + ''; + + query.default-evaluation-interval = mkParamDef types.str "1m" '' + Set default evaluation interval for sub queries. + ''; + + store.response-timeout = mkParamDef types.str "0ms" '' + If a Store doesn't send any data in this specified duration then a + Store will be ignored and partial data will be returned if it's + enabled. 0 disables timeout. + ''; + }; + + rule = params.common cfg.rule // params.objstore cfg.rule // { + + labels = mkAttrsParam "label" '' + Labels to be applied to all generated metrics. + + Similar to external labels for Prometheus, + used to identify ruler and its blocks as unique source. + ''; + + stateDir = mkStateDirParam "data-dir" "thanos-rule" '' + Data directory relative to /var/lib. + ''; + + rule-files = mkListParam "rule-file" '' + Rule files that should be used by rule manager. Can be in glob format. + ''; + + eval-interval = mkParamDef types.str "30s" '' + The default evaluation interval to use. + ''; + + tsdb.block-duration = mkParamDef types.str "2h" '' + Block duration for TSDB block. + ''; + + tsdb.retention = mkParamDef types.str "48h" '' + Block retention time on local disk. + ''; + + alertmanagers.urls = mkListParam "alertmanagers.url" '' + Alertmanager replica URLs to push firing alerts. + + Ruler claims success if push to at least one alertmanager from + discovered succeeds. The scheme may be prefixed with + dns+ or dnssrv+ to detect + Alertmanager IPs through respective DNS lookups. The port defaults to + 9093 or the SRV record's value. The URL path is + used as a prefix for the regular Alertmanager API path. + ''; + + alertmanagers.send-timeout = mkParamDef types.str "10s" '' + Timeout for sending alerts to alertmanager. + ''; + + alert.query-url = mkParam types.str '' + The external Thanos Query URL that would be set in all alerts 'Source' field. + ''; + + alert.label-drop = mkListParam "alert.label-drop" '' + Labels by name to drop before sending to alertmanager. + + This allows alert to be deduplicated on replica label. + + Similar Prometheus alert relabelling + ''; + + web.route-prefix = mkParam types.str '' + Prefix for API and UI endpoints. + + This allows thanos UI to be served on a sub-path. + + This option is analogous to --web.route-prefix of Promethus. + ''; + + web.external-prefix = mkParam types.str '' + Static prefix for all HTML links and redirect URLs in the UI query web + interface. + + Actual endpoints are still served on / or the + . This allows thanos UI to be served + behind a reverse proxy that strips a URL sub-path. + ''; + + web.prefix-header = mkParam types.str '' + Name of HTTP request header used for dynamic prefixing of UI links and + redirects. + + This option is ignored if the option + is set. + + Security risk: enable this option only if a reverse proxy in front of + thanos is resetting the header. + + The header X-Forwarded-Prefix can be useful, for + example, if Thanos UI is served via Traefik reverse proxy with + PathPrefixStrip option enabled, which sends the + stripped prefix value in X-Forwarded-Prefix + header. This allows thanos UI to be served on a sub-path. + ''; + + query.addresses = mkListParam "query" '' + Addresses of statically configured query API servers. + + The scheme may be prefixed with dns+ or + dnssrv+ to detect query API servers through + respective DNS lookups. + ''; + + query.sd-files = mkListParam "query.sd-files" '' + Path to file that contain addresses of query peers. + The path can be a glob pattern. + ''; + + query.sd-interval = mkParamDef types.str "5m" '' + Refresh interval to re-read file SD files. (used as a fallback) + ''; + + query.sd-dns-interval = mkParamDef types.str "30s" '' + Interval between DNS resolutions. + ''; + }; + + compact = params.log // params.tracing cfg.compact // params.objstore cfg.compact // { + + http-address = mkParamDef types.str "0.0.0.0:10902" '' + Listen host:port for HTTP endpoints. + ''; + + stateDir = mkStateDirParam "data-dir" "thanos-compact" '' + Data directory relative to /var/lib + in which to cache blocks and process compactions. + ''; + + consistency-delay = mkParamDef types.str "30m" '' + Minimum age of fresh (non-compacted) blocks before they are being + processed. Malformed blocks older than the maximum of consistency-delay + and 30m0s will be removed. + ''; + + retention.resolution-raw = mkParamDef types.str "0d" '' + How long to retain raw samples in bucket. + + 0d - disables this retention + ''; + + retention.resolution-5m = mkParamDef types.str "0d" '' + How long to retain samples of resolution 1 (5 minutes) in bucket. + + 0d - disables this retention + ''; + + retention.resolution-1h = mkParamDef types.str "0d" '' + How long to retain samples of resolution 2 (1 hour) in bucket. + + 0d - disables this retention + ''; + + startAt = { + toArgs = _opt: startAt: flagToArgs "wait" (startAt == null); + option = nullOpt types.str '' + When this option is set to a systemd.time + specification the Thanos compactor will run at the specified period. + + When this option is null the Thanos compactor service + will run continuously. So it will not exit after all compactions have + been processed but wait for new work. + ''; + }; + + block-sync-concurrency = mkParamDef types.int 20 '' + Number of goroutines to use when syncing block metadata from object storage. + ''; + + compact.concurrency = mkParamDef types.int 1 '' + Number of goroutines to use when compacting groups. + ''; + }; + + downsample = params.log // params.tracing cfg.downsample // params.objstore cfg.downsample // { + + stateDir = mkStateDirParam "data-dir" "thanos-downsample" '' + Data directory relative to /var/lib + in which to cache blocks and process downsamplings. + ''; + + }; + + receive = params.common cfg.receive // params.objstore cfg.receive // { + + remote-write.address = mkParamDef types.str "0.0.0.0:19291" '' + Address to listen on for remote write requests. + ''; + + stateDir = mkStateDirParam "tsdb.path" "thanos-receive" '' + Data directory relative to /var/lib of TSDB. + ''; + + labels = mkAttrsParam "labels" '' + External labels to announce. + + This flag will be removed in the future when handling multiple tsdb + instances is added. + ''; + + tsdb.retention = mkParamDef types.str "15d" '' + How long to retain raw samples on local storage. + + 0d - disables this retention + ''; + }; + + }; + + assertRelativeStateDir = cmd: { + assertions = [ + { + assertion = !hasPrefix "/" cfg."${cmd}".stateDir; + message = + "The option services.thanos.${cmd}.stateDir should not be an absolute directory." + + " It should be a directory relative to /var/lib."; + } + ]; + }; + +in { + + options.services.thanos = { + + package = mkOption { + type = types.package; + default = pkgs.thanos; + defaultText = "pkgs.thanos"; + description = '' + The thanos package that should be used. + ''; + }; + + sidecar = paramsToOptions params.sidecar // { + enable = mkEnableOption + "the Thanos sidecar for Prometheus server"; + arguments = mkArgumentsOption "sidecar"; + }; + + store = paramsToOptions params.store // { + enable = mkEnableOption + "the Thanos store node giving access to blocks in a bucket provider."; + arguments = mkArgumentsOption "store"; + }; + + query = paramsToOptions params.query // { + enable = mkEnableOption + ("the Thanos query node exposing PromQL enabled Query API " + + "with data retrieved from multiple store nodes"); + arguments = mkArgumentsOption "query"; + }; + + rule = paramsToOptions params.rule // { + enable = mkEnableOption + ("the Thanos ruler service which evaluates Prometheus rules against" + + " given Query nodes, exposing Store API and storing old blocks in bucket"); + arguments = mkArgumentsOption "rule"; + }; + + compact = paramsToOptions params.compact // { + enable = mkEnableOption + "the Thanos compactor which continuously compacts blocks in an object store bucket"; + arguments = mkArgumentsOption "compact"; + }; + + downsample = paramsToOptions params.downsample // { + enable = mkEnableOption + "the Thanos downsampler which continuously downsamples blocks in an object store bucket"; + arguments = mkArgumentsOption "downsample"; + }; + + receive = paramsToOptions params.receive // { + enable = mkEnableOption + ("the Thanos receiver which accept Prometheus remote write API requests " + + "and write to local tsdb (EXPERIMENTAL, this may change drastically without notice)"); + arguments = mkArgumentsOption "receive"; + }; + }; + + config = mkMerge [ + + (mkIf cfg.sidecar.enable { + assertions = [ + { + assertion = config.services.prometheus2.enable; + message = + "Please enable services.prometheus2 when enabling services.thanos.sidecar."; + } + { + assertion = !(config.services.prometheus2.globalConfig.external_labels == null || + config.services.prometheus2.globalConfig.external_labels == {}); + message = + "services.thanos.sidecar requires uniquely identifying external labels " + + "to be configured in the Prometheus server. " + + "Please set services.prometheus2.globalConfig.external_labels."; + } + ]; + systemd.services.thanos-sidecar = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" "prometheus2.service" ]; + serviceConfig = { + User = "prometheus"; + Restart = "always"; + ExecStart = thanos "sidecar"; + }; + }; + }) + + (mkIf cfg.store.enable (mkMerge [ + (assertRelativeStateDir "store") + { + systemd.services.thanos-store = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + DynamicUser = true; + StateDirectory = cfg.store.stateDir; + Restart = "always"; + ExecStart = thanos "store"; + }; + }; + } + ])) + + (mkIf cfg.query.enable { + systemd.services.thanos-query = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + DynamicUser = true; + Restart = "always"; + ExecStart = thanos "query"; + }; + }; + }) + + (mkIf cfg.rule.enable (mkMerge [ + (assertRelativeStateDir "rule") + { + systemd.services.thanos-rule = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + DynamicUser = true; + StateDirectory = cfg.rule.stateDir; + Restart = "always"; + ExecStart = thanos "rule"; + }; + }; + } + ])) + + (mkIf cfg.compact.enable (mkMerge [ + (assertRelativeStateDir "compact") + { + systemd.services.thanos-compact = + let wait = cfg.compact.startAt == null; in { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + Type = if wait then "simple" else "oneshot"; + Restart = if wait then "always" else "no"; + DynamicUser = true; + StateDirectory = cfg.compact.stateDir; + ExecStart = thanos "compact"; + }; + } // optionalAttrs (!wait) { inherit (cfg.compact) startAt; }; + } + ])) + + (mkIf cfg.downsample.enable (mkMerge [ + (assertRelativeStateDir "downsample") + { + systemd.services.thanos-downsample = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + DynamicUser = true; + StateDirectory = cfg.downsample.stateDir; + Restart = "always"; + ExecStart = thanos "downsample"; + }; + }; + } + ])) + + (mkIf cfg.receive.enable (mkMerge [ + (assertRelativeStateDir "receive") + { + systemd.services.thanos-receive = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + DynamicUser = true; + StateDirectory = cfg.receive.stateDir; + Restart = "always"; + ExecStart = thanos "receive"; + }; + }; + } + ])) + + ]; +} diff --git a/nixos/modules/services/monitoring/ups.nix b/nixos/modules/services/monitoring/ups.nix index bc755612fd9..1bdc4e4410f 100644 --- a/nixos/modules/services/monitoring/ups.nix +++ b/nixos/modules/services/monitoring/ups.nix @@ -55,7 +55,7 @@ let description = mkOption { default = ""; - type = types.string; + type = types.str; description = '' Description of the UPS. ''; @@ -71,7 +71,7 @@ let summary = mkOption { default = ""; - type = types.string; + type = types.lines; description = '' Lines which would be added inside ups.conf for handling this UPS. ''; @@ -225,7 +225,7 @@ in '' maxstartdelay = ${toString cfg.maxStartDelay} - ${flip concatStringsSep (flip map (attrValues cfg.ups) (ups: ups.summary)) " + ${flip concatStringsSep (forEach (attrValues cfg.ups) (ups: ups.summary)) " "} ''; diff --git a/nixos/modules/services/monitoring/uptime.nix b/nixos/modules/services/monitoring/uptime.nix index b4d3a264010..245badc3e44 100644 --- a/nixos/modules/services/monitoring/uptime.nix +++ b/nixos/modules/services/monitoring/uptime.nix @@ -4,7 +4,8 @@ let cfg = config.services.uptime; - configDir = pkgs.runCommand "config" {} (if cfg.configFile != null then '' + configDir = pkgs.runCommand "config" { preferLocalBuild = true; } + (if cfg.configFile != null then '' mkdir $out ext=`echo ${cfg.configFile} | grep -o \\..*` ln -sv ${cfg.configFile} $out/default$ext @@ -56,7 +57,7 @@ in { nodeEnv = mkOption { description = "The node environment to run in (development, production, etc.)"; - type = types.string; + type = types.str; default = "production"; }; diff --git a/nixos/modules/services/monitoring/vnstat.nix b/nixos/modules/services/monitoring/vnstat.nix index cb2f8c07edb..e9bedb704a4 100644 --- a/nixos/modules/services/monitoring/vnstat.nix +++ b/nixos/modules/services/monitoring/vnstat.nix @@ -28,14 +28,29 @@ in { path = [ pkgs.coreutils ]; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - unitConfig.documentation = "man:vnstatd(1) man:vnstat(1) man:vnstat.conf(5)"; + documentation = [ + "man:vnstatd(1)" + "man:vnstat(1)" + "man:vnstat.conf(5)" + ]; preStart = "chmod 755 /var/lib/vnstat"; serviceConfig = { ExecStart = "${pkgs.vnstat}/bin/vnstatd -n"; ExecReload = "${pkgs.procps}/bin/kill -HUP $MAINPID"; - ProtectHome = true; + + # Hardening (from upstream example service) + ProtectSystem = "strict"; + StateDirectory = "vnstat"; PrivateDevices = true; + ProtectKernelTunables = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectKernelModules = true; PrivateTmp = true; + MemoryDenyWriteExecute = true; + RestrictRealtime = true; + RestrictNamespaces = true; + User = "vnstatd"; }; }; diff --git a/nixos/modules/services/monitoring/zabbix-agent.nix b/nixos/modules/services/monitoring/zabbix-agent.nix index 426cf9bf86e..b1645f86110 100644 --- a/nixos/modules/services/monitoring/zabbix-agent.nix +++ b/nixos/modules/services/monitoring/zabbix-agent.nix @@ -1,73 +1,118 @@ -# Zabbix agent daemon. { config, lib, pkgs, ... }: -with lib; - let - cfg = config.services.zabbixAgent; - zabbix = cfg.package; + inherit (lib) mkDefault mkEnableOption mkIf mkOption; + inherit (lib) attrValues concatMapStringsSep literalExample optionalString types; - stateDir = "/var/run/zabbix"; + user = "zabbix-agent"; + group = "zabbix-agent"; - logDir = "/var/log/zabbix"; + moduleEnv = pkgs.symlinkJoin { + name = "zabbix-agent-module-env"; + paths = attrValues cfg.modules; + }; - pidFile = "${stateDir}/zabbix_agentd.pid"; - - configFile = pkgs.writeText "zabbix_agentd.conf" - '' - Server = ${cfg.server} - - LogFile = ${logDir}/zabbix_agentd - - PidFile = ${pidFile} - - StartAgents = 1 - - ${config.services.zabbixAgent.extraConfig} - ''; + configFile = pkgs.writeText "zabbix_agent.conf" '' + LogType = console + Server = ${cfg.server} + ListenIP = ${cfg.listen.ip} + ListenPort = ${toString cfg.listen.port} + ${optionalString (cfg.modules != {}) "LoadModulePath = ${moduleEnv}/lib"} + ${concatMapStringsSep "\n" (name: "LoadModule = ${name}") (builtins.attrNames cfg.modules)} + ${cfg.extraConfig} + ''; in { - - ###### interface + # interface options = { services.zabbixAgent = { + enable = mkEnableOption "the Zabbix Agent"; - enable = mkOption { - default = false; + package = mkOption { + type = types.package; + default = pkgs.zabbix.agent; + defaultText = "pkgs.zabbix.agent"; + description = "The Zabbix package to use."; + }; + + extraPackages = mkOption { + type = types.listOf types.package; + default = with pkgs; [ nettools ]; + defaultText = "[ nettools ]"; + example = "[ nettools mysql ]"; description = '' - Whether to run the Zabbix monitoring agent on this machine. - It will send monitoring data to a Zabbix server. + Packages to be added to the Zabbix PATH. + Typically used to add executables for scripts, but can be anything. ''; }; - package = mkOption { - type = types.attrs; # Note: pkgs.zabbixXY isn't a derivation, but an attrset of { server = ...; agent = ...; }. - default = pkgs.zabbix; - defaultText = "pkgs.zabbix"; - example = literalExample "pkgs.zabbix34"; - description = '' - The Zabbix package to use. + modules = mkOption { + type = types.attrsOf types.package; + description = "A set of modules to load."; + default = {}; + example = literalExample '' + { + "dummy.so" = pkgs.stdenv.mkDerivation { + name = "zabbix-dummy-module-''${cfg.package.version}"; + src = cfg.package.src; + buildInputs = [ cfg.package ]; + sourceRoot = "zabbix-''${cfg.package.version}/src/modules/dummy"; + installPhase = ''' + mkdir -p $out/lib + cp dummy.so $out/lib/ + '''; + }; + } ''; }; server = mkOption { - default = "127.0.0.1"; + type = types.str; description = '' The IP address or hostname of the Zabbix server to connect to. ''; }; + listen = { + ip = mkOption { + type = types.str; + default = "0.0.0.0"; + description = '' + List of comma delimited IP addresses that the agent should listen on. + ''; + }; + + port = mkOption { + type = types.port; + default = 10050; + description = '' + Agent will listen on this port for connections from the server. + ''; + }; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open ports in the firewall for the Zabbix Agent. + ''; + }; + + # TODO: for bonus points migrate this to https://github.com/NixOS/rfcs/pull/42 extraConfig = mkOption { default = ""; type = types.lines; description = '' - Configuration that is injected verbatim into the configuration file. + Configuration that is injected verbatim into the configuration file. Refer to + + for details on supported values. ''; }; @@ -75,38 +120,38 @@ in }; - - ###### implementation + # implementation config = mkIf cfg.enable { - users.users = mkIf (!config.services.zabbixServer.enable) (singleton - { name = "zabbix"; - uid = config.ids.uids.zabbix; - description = "Zabbix daemon user"; - }); + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ cfg.listen.port ]; + }; - systemd.services."zabbix-agent" = - { description = "Zabbix Agent"; + users.users.${user} = { + description = "Zabbix Agent daemon user"; + inherit group; + }; - wantedBy = [ "multi-user.target" ]; + users.groups.${group} = { }; - path = [ pkgs.nettools ]; + systemd.services."zabbix-agent" = { + description = "Zabbix Agent"; - preStart = - '' - mkdir -m 0755 -p ${stateDir} ${logDir} - chown zabbix ${stateDir} ${logDir} - ''; + wantedBy = [ "multi-user.target" ]; - serviceConfig.ExecStart = "@${zabbix.agent}/sbin/zabbix_agentd zabbix_agentd --config ${configFile}"; - serviceConfig.Type = "forking"; - serviceConfig.RemainAfterExit = true; - serviceConfig.Restart = "always"; - serviceConfig.RestartSec = 2; + path = [ "/run/wrappers" ] ++ cfg.extraPackages; + + serviceConfig = { + ExecStart = "@${cfg.package}/sbin/zabbix_agentd zabbix_agentd -f --config ${configFile}"; + Restart = "always"; + RestartSec = 2; + + User = user; + Group = group; + PrivateTmp = true; }; - - environment.systemPackages = [ zabbix.agent ]; + }; }; diff --git a/nixos/modules/services/monitoring/zabbix-proxy.nix b/nixos/modules/services/monitoring/zabbix-proxy.nix new file mode 100644 index 00000000000..90abed30db5 --- /dev/null +++ b/nixos/modules/services/monitoring/zabbix-proxy.nix @@ -0,0 +1,299 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.services.zabbixProxy; + pgsql = config.services.postgresql; + mysql = config.services.mysql; + + inherit (lib) mkDefault mkEnableOption mkIf mkOption; + inherit (lib) attrValues concatMapStringsSep literalExample optional optionalAttrs optionalString types; + + user = "zabbix"; + group = "zabbix"; + runtimeDir = "/run/zabbix"; + stateDir = "/var/lib/zabbix"; + passwordFile = "${runtimeDir}/zabbix-dbpassword.conf"; + + moduleEnv = pkgs.symlinkJoin { + name = "zabbix-proxy-module-env"; + paths = attrValues cfg.modules; + }; + + configFile = pkgs.writeText "zabbix_proxy.conf" '' + LogType = console + ListenIP = ${cfg.listen.ip} + ListenPort = ${toString cfg.listen.port} + Server = ${cfg.server} + # TODO: set to cfg.database.socket if database type is pgsql? + DBHost = ${optionalString (cfg.database.createLocally != true) cfg.database.host} + ${optionalString (cfg.database.createLocally != true) "DBPort = ${cfg.database.port}"} + DBName = ${cfg.database.name} + DBUser = ${cfg.database.user} + ${optionalString (cfg.database.passwordFile != null) "Include ${passwordFile}"} + ${optionalString (mysqlLocal && cfg.database.socket != null) "DBSocket = ${cfg.database.socket}"} + SocketDir = ${runtimeDir} + FpingLocation = /run/wrappers/bin/fping + ${optionalString (cfg.modules != {}) "LoadModulePath = ${moduleEnv}/lib"} + ${concatMapStringsSep "\n" (name: "LoadModule = ${name}") (builtins.attrNames cfg.modules)} + ${cfg.extraConfig} + ''; + + mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql"; + pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql"; + +in + +{ + # interface + + options = { + + services.zabbixProxy = { + enable = mkEnableOption "the Zabbix Proxy"; + + server = mkOption { + type = types.str; + description = '' + The IP address or hostname of the Zabbix server to connect to. + ''; + }; + + package = mkOption { + type = types.package; + default = + if cfg.database.type == "mysql" then pkgs.zabbix.proxy-mysql + else if cfg.database.type == "pgsql" then pkgs.zabbix.proxy-pgsql + else pkgs.zabbix.proxy-sqlite; + defaultText = "pkgs.zabbix.proxy-pgsql"; + description = "The Zabbix package to use."; + }; + + extraPackages = mkOption { + type = types.listOf types.package; + default = with pkgs; [ nettools nmap traceroute ]; + defaultText = "[ nettools nmap traceroute ]"; + description = '' + Packages to be added to the Zabbix PATH. + Typically used to add executables for scripts, but can be anything. + ''; + }; + + modules = mkOption { + type = types.attrsOf types.package; + description = "A set of modules to load."; + default = {}; + example = literalExample '' + { + "dummy.so" = pkgs.stdenv.mkDerivation { + name = "zabbix-dummy-module-''${cfg.package.version}"; + src = cfg.package.src; + buildInputs = [ cfg.package ]; + sourceRoot = "zabbix-''${cfg.package.version}/src/modules/dummy"; + installPhase = ''' + mkdir -p $out/lib + cp dummy.so $out/lib/ + '''; + }; + } + ''; + }; + + database = { + type = mkOption { + type = types.enum [ "mysql" "pgsql" "sqlite" ]; + example = "mysql"; + default = "pgsql"; + description = "Database engine to use."; + }; + + host = mkOption { + type = types.str; + default = "localhost"; + description = "Database host address."; + }; + + port = mkOption { + type = types.int; + default = if cfg.database.type == "mysql" then mysql.port else pgsql.port; + description = "Database host port."; + }; + + name = mkOption { + type = types.str; + default = if cfg.database.type == "sqlite" then "${stateDir}/zabbix.db" else "zabbix"; + defaultText = "zabbix"; + description = "Database name."; + }; + + user = mkOption { + type = types.str; + default = "zabbix"; + description = "Database user."; + }; + + passwordFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/run/keys/zabbix-dbpassword"; + description = '' + A file containing the password corresponding to + . + ''; + }; + + socket = mkOption { + type = types.nullOr types.path; + default = null; + example = "/run/postgresql"; + description = "Path to the unix socket file to use for authentication."; + }; + + createLocally = mkOption { + type = types.bool; + default = true; + description = "Whether to create a local database automatically."; + }; + }; + + listen = { + ip = mkOption { + type = types.str; + default = "0.0.0.0"; + description = '' + List of comma delimited IP addresses that the trapper should listen on. + Trapper will listen on all network interfaces if this parameter is missing. + ''; + }; + + port = mkOption { + type = types.port; + default = 10051; + description = '' + Listen port for trapper. + ''; + }; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open ports in the firewall for the Zabbix Proxy. + ''; + }; + + # TODO: for bonus points migrate this to https://github.com/NixOS/rfcs/pull/42 + extraConfig = mkOption { + default = ""; + type = types.lines; + description = '' + Configuration that is injected verbatim into the configuration file. Refer to + + for details on supported values. + ''; + }; + + }; + + }; + + # implementation + + config = mkIf cfg.enable { + + assertions = [ + { assertion = !config.services.zabbixServer.enable; + message = "Please choose one of services.zabbixServer or services.zabbixProxy."; + } + { assertion = cfg.database.createLocally -> cfg.database.user == user; + message = "services.zabbixProxy.database.user must be set to ${user} if services.zabbixProxy.database.createLocally is set true"; + } + { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + message = "a password cannot be specified if services.zabbixProxy.database.createLocally is set to true"; + } + ]; + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ cfg.listen.port ]; + }; + + services.mysql = optionalAttrs mysqlLocal { + enable = true; + package = mkDefault pkgs.mariadb; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; + } + ]; + }; + + services.postgresql = optionalAttrs pgsqlLocal { + enable = true; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + } + ]; + }; + + users.users.${user} = { + description = "Zabbix daemon user"; + uid = config.ids.uids.zabbix; + inherit group; + }; + + users.groups.${group} = { + gid = config.ids.gids.zabbix; + }; + + security.wrappers = { + fping.source = "${pkgs.fping}/bin/fping"; + }; + + systemd.services."zabbix-proxy" = { + description = "Zabbix Proxy"; + + wantedBy = [ "multi-user.target" ]; + after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; + + path = [ "/run/wrappers" ] ++ cfg.extraPackages; + preStart = optionalString pgsqlLocal '' + if ! test -e "${stateDir}/db-created"; then + cat ${cfg.package}/share/zabbix/database/postgresql/schema.sql | ${pgsql.package}/bin/psql ${cfg.database.name} + touch "${stateDir}/db-created" + fi + '' + optionalString mysqlLocal '' + if ! test -e "${stateDir}/db-created"; then + cat ${cfg.package}/share/zabbix/database/mysql/schema.sql | ${mysql.package}/bin/mysql ${cfg.database.name} + touch "${stateDir}/db-created" + fi + '' + optionalString (cfg.database.type == "sqlite") '' + if ! test -e "${cfg.database.name}"; then + ${pkgs.sqlite}/bin/sqlite3 "${cfg.database.name}" < ${cfg.package}/share/zabbix/database/sqlite3/schema.sql + fi + '' + optionalString (cfg.database.passwordFile != null) '' + # create a copy of the supplied password file in a format zabbix can consume + touch ${passwordFile} + chmod 0600 ${passwordFile} + echo -n "DBPassword = " > ${passwordFile} + cat ${cfg.database.passwordFile} >> ${passwordFile} + ''; + + serviceConfig = { + ExecStart = "@${cfg.package}/sbin/zabbix_proxy zabbix_proxy -f --config ${configFile}"; + Restart = "always"; + RestartSec = 2; + + User = user; + Group = group; + RuntimeDirectory = "zabbix"; + StateDirectory = "zabbix"; + PrivateTmp = true; + }; + }; + + }; + +} diff --git a/nixos/modules/services/monitoring/zabbix-server.nix b/nixos/modules/services/monitoring/zabbix-server.nix index 5f9fc12832f..11311b466c3 100644 --- a/nixos/modules/services/monitoring/zabbix-server.nix +++ b/nixos/modules/services/monitoring/zabbix-server.nix @@ -1,125 +1,292 @@ -# Zabbix server daemon. { config, lib, pkgs, ... }: -with lib; - let - cfg = config.services.zabbixServer; + pgsql = config.services.postgresql; + mysql = config.services.mysql; - stateDir = "/var/run/zabbix"; + inherit (lib) mkDefault mkEnableOption mkIf mkOption; + inherit (lib) attrValues concatMapStringsSep literalExample optional optionalAttrs optionalString types; - logDir = "/var/log/zabbix"; + user = "zabbix"; + group = "zabbix"; + runtimeDir = "/run/zabbix"; + stateDir = "/var/lib/zabbix"; + passwordFile = "${runtimeDir}/zabbix-dbpassword.conf"; - libDir = "/var/lib/zabbix"; + moduleEnv = pkgs.symlinkJoin { + name = "zabbix-server-module-env"; + paths = attrValues cfg.modules; + }; - pidFile = "${stateDir}/zabbix_server.pid"; + configFile = pkgs.writeText "zabbix_server.conf" '' + LogType = console + ListenIP = ${cfg.listen.ip} + ListenPort = ${toString cfg.listen.port} + # TODO: set to cfg.database.socket if database type is pgsql? + DBHost = ${optionalString (cfg.database.createLocally != true) cfg.database.host} + ${optionalString (cfg.database.createLocally != true) "DBPort = ${cfg.database.port}"} + DBName = ${cfg.database.name} + DBUser = ${cfg.database.user} + ${optionalString (cfg.database.passwordFile != null) "Include ${passwordFile}"} + ${optionalString (mysqlLocal && cfg.database.socket != null) "DBSocket = ${cfg.database.socket}"} + SocketDir = ${runtimeDir} + FpingLocation = /run/wrappers/bin/fping + ${optionalString (cfg.modules != {}) "LoadModulePath = ${moduleEnv}/lib"} + ${concatMapStringsSep "\n" (name: "LoadModule = ${name}") (builtins.attrNames cfg.modules)} + ${cfg.extraConfig} + ''; - configFile = pkgs.writeText "zabbix_server.conf" - '' - LogFile = ${logDir}/zabbix_server - - PidFile = ${pidFile} - - ${optionalString (cfg.dbServer != "localhost") '' - DBHost = ${cfg.dbServer} - ''} - - DBName = zabbix - - DBUser = zabbix - - ${optionalString (cfg.dbPassword != "") '' - DBPassword = ${cfg.dbPassword} - ''} - - ${config.services.zabbixServer.extraConfig} - ''; - - useLocalPostgres = cfg.dbServer == "localhost" || cfg.dbServer == ""; + mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql"; + pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql"; in { - - ###### interface + # interface options = { - services.zabbixServer.enable = mkOption { - default = false; - type = types.bool; - description = '' - Whether to run the Zabbix server on this machine. - ''; - }; + services.zabbixServer = { + enable = mkEnableOption "the Zabbix Server"; - services.zabbixServer.dbServer = mkOption { - default = "localhost"; - type = types.str; - description = '' - Hostname or IP address of the database server. - Use an empty string ("") to use peer authentication. - ''; - }; + package = mkOption { + type = types.package; + default = if cfg.database.type == "mysql" then pkgs.zabbix.server-mysql else pkgs.zabbix.server-pgsql; + defaultText = "pkgs.zabbix.server-pgsql"; + description = "The Zabbix package to use."; + }; - services.zabbixServer.dbPassword = mkOption { - default = ""; - type = types.str; - description = "Password used to connect to the database server."; - }; + extraPackages = mkOption { + type = types.listOf types.package; + default = with pkgs; [ nettools nmap traceroute ]; + defaultText = "[ nettools nmap traceroute ]"; + description = '' + Packages to be added to the Zabbix PATH. + Typically used to add executables for scripts, but can be anything. + ''; + }; + + modules = mkOption { + type = types.attrsOf types.package; + description = "A set of modules to load."; + default = {}; + example = literalExample '' + { + "dummy.so" = pkgs.stdenv.mkDerivation { + name = "zabbix-dummy-module-''${cfg.package.version}"; + src = cfg.package.src; + buildInputs = [ cfg.package ]; + sourceRoot = "zabbix-''${cfg.package.version}/src/modules/dummy"; + installPhase = ''' + mkdir -p $out/lib + cp dummy.so $out/lib/ + '''; + }; + } + ''; + }; + + database = { + type = mkOption { + type = types.enum [ "mysql" "pgsql" ]; + example = "mysql"; + default = "pgsql"; + description = "Database engine to use."; + }; + + host = mkOption { + type = types.str; + default = "localhost"; + description = "Database host address."; + }; + + port = mkOption { + type = types.int; + default = if cfg.database.type == "mysql" then mysql.port else pgsql.port; + description = "Database host port."; + }; + + name = mkOption { + type = types.str; + default = "zabbix"; + description = "Database name."; + }; + + user = mkOption { + type = types.str; + default = "zabbix"; + description = "Database user."; + }; + + passwordFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/run/keys/zabbix-dbpassword"; + description = '' + A file containing the password corresponding to + . + ''; + }; + + socket = mkOption { + type = types.nullOr types.path; + default = null; + example = "/run/postgresql"; + description = "Path to the unix socket file to use for authentication."; + }; + + createLocally = mkOption { + type = types.bool; + default = true; + description = "Whether to create a local database automatically."; + }; + }; + + listen = { + ip = mkOption { + type = types.str; + default = "0.0.0.0"; + description = '' + List of comma delimited IP addresses that the trapper should listen on. + Trapper will listen on all network interfaces if this parameter is missing. + ''; + }; + + port = mkOption { + type = types.port; + default = 10051; + description = '' + Listen port for trapper. + ''; + }; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open ports in the firewall for the Zabbix Server. + ''; + }; + + # TODO: for bonus points migrate this to https://github.com/NixOS/rfcs/pull/42 + extraConfig = mkOption { + default = ""; + type = types.lines; + description = '' + Configuration that is injected verbatim into the configuration file. Refer to + + for details on supported values. + ''; + }; - services.zabbixServer.extraConfig = mkOption { - default = ""; - type = types.lines; - description = '' - Configuration that is injected verbatim into the configuration file. - ''; }; }; - ###### implementation + # implementation config = mkIf cfg.enable { - services.postgresql.enable = useLocalPostgres; + assertions = [ + { assertion = cfg.database.createLocally -> cfg.database.user == user; + message = "services.zabbixServer.database.user must be set to ${user} if services.zabbixServer.database.createLocally is set true"; + } + { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + message = "a password cannot be specified if services.zabbixServer.database.createLocally is set to true"; + } + ]; - users.users = singleton - { name = "zabbix"; - uid = config.ids.uids.zabbix; - description = "Zabbix daemon user"; + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ cfg.listen.port ]; + }; + + services.mysql = optionalAttrs mysqlLocal { + enable = true; + package = mkDefault pkgs.mariadb; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; + } + ]; + }; + + services.postgresql = optionalAttrs pgsqlLocal { + enable = true; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + } + ]; + }; + + users.users.${user} = { + description = "Zabbix daemon user"; + uid = config.ids.uids.zabbix; + inherit group; + }; + + users.groups.${group} = { + gid = config.ids.gids.zabbix; + }; + + security.wrappers = { + fping.source = "${pkgs.fping}/bin/fping"; + }; + + systemd.services."zabbix-server" = { + description = "Zabbix Server"; + + wantedBy = [ "multi-user.target" ]; + after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; + + path = [ "/run/wrappers" ] ++ cfg.extraPackages; + preStart = '' + # pre 19.09 compatibility + if test -e "${runtimeDir}/db-created"; then + mv "${runtimeDir}/db-created" "${stateDir}/" + fi + '' + optionalString pgsqlLocal '' + if ! test -e "${stateDir}/db-created"; then + cat ${cfg.package}/share/zabbix/database/postgresql/schema.sql | ${pgsql.package}/bin/psql ${cfg.database.name} + cat ${cfg.package}/share/zabbix/database/postgresql/images.sql | ${pgsql.package}/bin/psql ${cfg.database.name} + cat ${cfg.package}/share/zabbix/database/postgresql/data.sql | ${pgsql.package}/bin/psql ${cfg.database.name} + touch "${stateDir}/db-created" + fi + '' + optionalString mysqlLocal '' + if ! test -e "${stateDir}/db-created"; then + cat ${cfg.package}/share/zabbix/database/mysql/schema.sql | ${mysql.package}/bin/mysql ${cfg.database.name} + cat ${cfg.package}/share/zabbix/database/mysql/images.sql | ${mysql.package}/bin/mysql ${cfg.database.name} + cat ${cfg.package}/share/zabbix/database/mysql/data.sql | ${mysql.package}/bin/mysql ${cfg.database.name} + touch "${stateDir}/db-created" + fi + '' + optionalString (cfg.database.passwordFile != null) '' + # create a copy of the supplied password file in a format zabbix can consume + touch ${passwordFile} + chmod 0600 ${passwordFile} + echo -n "DBPassword = " > ${passwordFile} + cat ${cfg.database.passwordFile} >> ${passwordFile} + ''; + + serviceConfig = { + ExecStart = "@${cfg.package}/sbin/zabbix_server zabbix_server -f --config ${configFile}"; + Restart = "always"; + RestartSec = 2; + + User = user; + Group = group; + RuntimeDirectory = "zabbix"; + StateDirectory = "zabbix"; + PrivateTmp = true; }; + }; - systemd.services."zabbix-server" = - { description = "Zabbix Server"; - - wantedBy = [ "multi-user.target" ]; - after = optional useLocalPostgres "postgresql.service"; - - preStart = - '' - mkdir -m 0755 -p ${stateDir} ${logDir} ${libDir} - chown zabbix ${stateDir} ${logDir} ${libDir} - - if ! test -e "${libDir}/db-created"; then - ${pkgs.su}/bin/su -s "$SHELL" ${config.services.postgresql.superUser} -c '${pkgs.postgresql}/bin/createuser --no-superuser --no-createdb --no-createrole zabbix' || true - ${pkgs.su}/bin/su -s "$SHELL" ${config.services.postgresql.superUser} -c '${pkgs.postgresql}/bin/createdb --owner zabbix zabbix' || true - cat ${pkgs.zabbix.server}/share/zabbix/db/schema/postgresql.sql | ${pkgs.su}/bin/su -s "$SHELL" zabbix -c '${pkgs.postgresql}/bin/psql zabbix' - cat ${pkgs.zabbix.server}/share/zabbix/db/data/images_pgsql.sql | ${pkgs.su}/bin/su -s "$SHELL" zabbix -c '${pkgs.postgresql}/bin/psql zabbix' - cat ${pkgs.zabbix.server}/share/zabbix/db/data/data.sql | ${pkgs.su}/bin/su -s "$SHELL" zabbix -c '${pkgs.postgresql}/bin/psql zabbix' - touch "${libDir}/db-created" - fi - ''; - - path = [ pkgs.nettools ]; - - serviceConfig.ExecStart = "@${pkgs.zabbix.server}/sbin/zabbix_server zabbix_server --config ${configFile}"; - serviceConfig.Type = "forking"; - serviceConfig.Restart = "always"; - serviceConfig.RestartSec = 2; - serviceConfig.PIDFile = pidFile; - }; + systemd.services.httpd.after = + optional (config.services.zabbixWeb.enable && mysqlLocal) "mysql.service" ++ + optional (config.services.zabbixWeb.enable && pgsqlLocal) "postgresql.service"; }; diff --git a/nixos/modules/services/network-filesystems/beegfs.nix b/nixos/modules/services/network-filesystems/beegfs.nix index d9dde3f6bb6..86b1bb9160f 100644 --- a/nixos/modules/services/network-filesystems/beegfs.nix +++ b/nixos/modules/services/network-filesystems/beegfs.nix @@ -102,7 +102,10 @@ let # wrappers to beegfs tools. Avoid typing path of config files utilWrappers = mapAttrsToList ( name: cfg: - ( pkgs.runCommand "beegfs-utils-${name}" { nativeBuildInputs = [ pkgs.makeWrapper ]; } '' + ( pkgs.runCommand "beegfs-utils-${name}" { + nativeBuildInputs = [ pkgs.makeWrapper ]; + preferLocalBuild = true; + } '' mkdir -p $out/bin makeWrapper ${pkgs.beegfs}/bin/beegfs-check-servers \ diff --git a/nixos/modules/services/network-filesystems/davfs2.nix b/nixos/modules/services/network-filesystems/davfs2.nix index c16e12378d7..100d458d536 100644 --- a/nixos/modules/services/network-filesystems/davfs2.nix +++ b/nixos/modules/services/network-filesystems/davfs2.nix @@ -21,7 +21,7 @@ in }; davUser = mkOption { - type = types.string; + type = types.str; default = "davfs2"; description = '' When invoked by root the mount.davfs daemon will run as this user. @@ -30,7 +30,7 @@ in }; davGroup = mkOption { - type = types.string; + type = types.str; default = "davfs2"; description = '' The group of the running mount.davfs daemon. Ordinary users must be diff --git a/nixos/modules/services/network-filesystems/drbd.nix b/nixos/modules/services/network-filesystems/drbd.nix index 57b1fbb597c..4ab74ed8e1c 100644 --- a/nixos/modules/services/network-filesystems/drbd.nix +++ b/nixos/modules/services/network-filesystems/drbd.nix @@ -23,7 +23,7 @@ let cfg = config.services.drbd; in services.drbd.config = mkOption { default = ""; - type = types.string; + type = types.lines; description = '' Contents of the drbd.conf configuration file. ''; diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix index 602cd50d8f5..bbbfcf6a473 100644 --- a/nixos/modules/services/network-filesystems/ipfs.nix +++ b/nixos/modules/services/network-filesystems/ipfs.nix @@ -19,7 +19,7 @@ let "/var/lib/ipfs/.ipfs"; # Wrapping the ipfs binary with the environment variable IPFS_PATH set to dataDir because we can't set it in the user environment - wrapped = runCommand "ipfs" { buildInputs = [ makeWrapper ]; } '' + wrapped = runCommand "ipfs" { buildInputs = [ makeWrapper ]; preferLocalBuild = true; } '' mkdir -p "$out/bin" makeWrapper "${ipfs}/bin/ipfs" "$out/bin/ipfs" \ --set IPFS_PATH ${cfg.dataDir} \ @@ -208,9 +208,9 @@ in { config = mkIf cfg.enable { environment.systemPackages = [ wrapped ]; - environment.etc."fuse.conf" = mkIf cfg.autoMount { text = '' - user_allow_other - ''; }; + programs.fuse = mkIf cfg.autoMount { + userAllowOther = true; + }; users.users = mkIf (cfg.user == "ipfs") { ipfs = { @@ -226,18 +226,19 @@ in { ipfs.gid = config.ids.gids.ipfs; }; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - ${cfg.user} ${cfg.group} - -" + ] ++ optionals cfg.autoMount [ + "d '${cfg.ipfsMountDir}' - ${cfg.user} ${cfg.group} - -" + "d '${cfg.ipnsMountDir}' - ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.ipfs-init = recursiveUpdate commonEnv { description = "IPFS Initializer"; after = [ "local-fs.target" ]; before = [ "ipfs.service" "ipfs-offline.service" "ipfs-norouting.service" ]; - preStart = '' - install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.dataDir} - '' + optionalString cfg.autoMount '' - install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.ipfsMountDir} - install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.ipnsMountDir} - ''; script = '' if [[ ! -f ${cfg.dataDir}/config ]]; then ipfs init ${optionalString cfg.emptyRepo "-e"} \ @@ -253,7 +254,6 @@ in { serviceConfig = { Type = "oneshot"; RemainAfterExit = true; - PermissionsStartOnly = true; }; }; diff --git a/nixos/modules/services/network-filesystems/kbfs.nix b/nixos/modules/services/network-filesystems/kbfs.nix index 7b2eea3b585..263b70d04a5 100644 --- a/nixos/modules/services/network-filesystems/kbfs.nix +++ b/nixos/modules/services/network-filesystems/kbfs.nix @@ -48,6 +48,7 @@ in { requires = [ "keybase.service" ]; after = [ "keybase.service" ]; path = [ "/run/wrappers" ]; + unitConfig.ConditionUser = "!@system"; serviceConfig = { ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p ${cfg.mountPoint}"; ExecStart = "${pkgs.kbfs}/bin/kbfsfuse ${toString cfg.extraFlags} ${cfg.mountPoint}"; diff --git a/nixos/modules/services/network-filesystems/openafs/client.nix b/nixos/modules/services/network-filesystems/openafs/client.nix index 240c1392088..79c4b7aee06 100644 --- a/nixos/modules/services/network-filesystems/openafs/client.nix +++ b/nixos/modules/services/network-filesystems/openafs/client.nix @@ -15,7 +15,7 @@ let clientServDB = pkgs.writeText "client-cellServDB-${cfg.cellName}" (mkCellServDB cfg.cellName cfg.cellServDB); - afsConfig = pkgs.runCommand "afsconfig" {} '' + afsConfig = pkgs.runCommand "afsconfig" { preferLocalBuild = true; } '' mkdir -p $out echo ${cfg.cellName} > $out/ThisCell cat ${cellServDB} ${clientServDB} > $out/CellServDB @@ -155,7 +155,7 @@ in }; programs = mkOption { default = getBin pkgs.openafs; - defaultText = "config.boot.kernelPackages.openafs"; + defaultText = "getBin pkgs.openafs"; type = types.package; description = "OpenAFS programs package. MUST match the kernel module package!"; }; @@ -198,7 +198,7 @@ in environment.etc = { clientCellServDB = { - source = pkgs.runCommand "CellServDB" {} '' + source = pkgs.runCommand "CellServDB" { preferLocalBuild = true; } '' cat ${cellServDB} ${clientServDB} > $out ''; target = "openafs/CellServDB"; diff --git a/nixos/modules/services/network-filesystems/rsyncd.nix b/nixos/modules/services/network-filesystems/rsyncd.nix index 054057d52ab..b17ec3aa930 100644 --- a/nixos/modules/services/network-filesystems/rsyncd.nix +++ b/nixos/modules/services/network-filesystems/rsyncd.nix @@ -35,7 +35,7 @@ in }; motd = mkOption { - type = types.string; + type = types.str; default = ""; description = '' Message of the day to display to clients on each connect. diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix index 10dc5831121..69368441c62 100644 --- a/nixos/modules/services/network-filesystems/samba.nix +++ b/nixos/modules/services/network-filesystems/samba.nix @@ -86,10 +86,10 @@ in If you use the firewall consider adding the following: - - networking.firewall.allowedTCPPorts = [ 139 445 ]; - networking.firewall.allowedUDPPorts = [ 137 138 ]; - + + networking.firewall.allowedTCPPorts = [ 139 445 ]; + networking.firewall.allowedUDPPorts = [ 137 138 ]; + ''; }; diff --git a/nixos/modules/services/network-filesystems/tahoe.nix b/nixos/modules/services/network-filesystems/tahoe.nix index 534862a3c9e..7d75eb28610 100644 --- a/nixos/modules/services/network-filesystems/tahoe.nix +++ b/nixos/modules/services/network-filesystems/tahoe.nix @@ -234,16 +234,19 @@ in Type = "simple"; PIDFile = pidfile; # Believe it or not, Tahoe is very brittle about the order of - # arguments to $(tahoe start). The node directory must come first, + # arguments to $(tahoe run). The node directory must come first, # and arguments which alter Twisted's behavior come afterwards. ExecStart = '' - ${settings.package}/bin/tahoe start ${lib.escapeShellArg nodedir} -n -l- --pidfile=${lib.escapeShellArg pidfile} + ${settings.package}/bin/tahoe run ${lib.escapeShellArg nodedir} --pidfile=${lib.escapeShellArg pidfile} ''; }; preStart = '' if [ ! -d ${lib.escapeShellArg nodedir} ]; then mkdir -p /var/db/tahoe-lafs - tahoe create-introducer ${lib.escapeShellArg nodedir} + # See https://github.com/NixOS/nixpkgs/issues/25273 + tahoe create-introducer \ + --hostname="${config.networking.hostName}" \ + ${lib.escapeShellArg nodedir} fi # Tahoe has created a predefined tahoe.cfg which we must now @@ -334,10 +337,10 @@ in Type = "simple"; PIDFile = pidfile; # Believe it or not, Tahoe is very brittle about the order of - # arguments to $(tahoe start). The node directory must come first, + # arguments to $(tahoe run). The node directory must come first, # and arguments which alter Twisted's behavior come afterwards. ExecStart = '' - ${settings.package}/bin/tahoe start ${lib.escapeShellArg nodedir} -n -l- --pidfile=${lib.escapeShellArg pidfile} + ${settings.package}/bin/tahoe run ${lib.escapeShellArg nodedir} --pidfile=${lib.escapeShellArg pidfile} ''; }; preStart = '' diff --git a/nixos/modules/services/network-filesystems/u9fs.nix b/nixos/modules/services/network-filesystems/u9fs.nix index 4f37fc2a9e5..77961b78cad 100644 --- a/nixos/modules/services/network-filesystems/u9fs.nix +++ b/nixos/modules/services/network-filesystems/u9fs.nix @@ -55,6 +55,7 @@ in sockets.u9fs = { description = "U9fs Listening Socket"; wantedBy = [ "sockets.target" ]; + after = [ "network.target" ]; inherit (cfg) listenStreams; socketConfig.Accept = "yes"; }; diff --git a/nixos/modules/services/network-filesystems/yandex-disk.nix b/nixos/modules/services/network-filesystems/yandex-disk.nix index e93f45b4986..0aa01ef9e6d 100644 --- a/nixos/modules/services/network-filesystems/yandex-disk.nix +++ b/nixos/modules/services/network-filesystems/yandex-disk.nix @@ -29,7 +29,7 @@ in username = mkOption { default = ""; - type = types.string; + type = types.str; description = '' Your yandex.com login name. ''; @@ -37,7 +37,7 @@ in password = mkOption { default = ""; - type = types.string; + type = types.str; description = '' Your yandex.com password. Warning: it will be world-readable in /nix/store. ''; @@ -57,7 +57,7 @@ in excludes = mkOption { default = ""; - type = types.string; + type = types.commas; example = "data,backup"; description = '' Comma-separated list of directories which are excluded from synchronization. diff --git a/nixos/modules/services/networking/aria2.nix b/nixos/modules/services/networking/aria2.nix index 98eb0086101..c5b146283de 100644 --- a/nixos/modules/services/networking/aria2.nix +++ b/nixos/modules/services/networking/aria2.nix @@ -47,8 +47,8 @@ in ''; }; downloadDir = mkOption { - type = types.string; - default = "${downloadDir}"; + type = types.path; + default = downloadDir; description = '' Directory to store downloaded files. ''; @@ -66,7 +66,7 @@ in description = "Specify a port number for JSON-RPC/XML-RPC server to listen to. Possible Values: 1024-65535"; }; rpcSecret = mkOption { - type = types.string; + type = types.str; default = "aria2rpc"; description = '' Set RPC secret authorization token. @@ -74,7 +74,7 @@ in ''; }; extraArguments = mkOption { - type = types.string; + type = types.separatedString " "; example = "--rpc-listen-all --remote-time=true"; default = ""; description = '' @@ -102,22 +102,19 @@ in users.groups.aria2.gid = config.ids.gids.aria2; + systemd.tmpfiles.rules = [ + "d '${homeDir}' 0770 aria2 aria2 - -" + "d '${config.services.aria2.downloadDir}' 0770 aria2 aria2 - -" + ]; + systemd.services.aria2 = { description = "aria2 Service"; after = [ "local-fs.target" "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = '' - mkdir -m 0770 -p "${homeDir}" - chown aria2:aria2 "${homeDir}" - if [[ ! -d "${config.services.aria2.downloadDir}" ]] - then - mkdir -m 0770 -p "${config.services.aria2.downloadDir}" - chown aria2:aria2 "${config.services.aria2.downloadDir}" - fi if [[ ! -e "${sessionFile}" ]] then touch "${sessionFile}" - chown aria2:aria2 "${sessionFile}" fi cp -f "${settingsFile}" "${settingsDir}/aria2.conf" ''; @@ -128,7 +125,6 @@ in ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; User = "aria2"; Group = "aria2"; - PermissionsStartOnly = true; }; }; }; diff --git a/nixos/modules/services/networking/asterisk.nix b/nixos/modules/services/networking/asterisk.nix index b8ec2b25a22..03a2544b9a7 100644 --- a/nixos/modules/services/networking/asterisk.nix +++ b/nixos/modules/services/networking/asterisk.nix @@ -45,7 +45,7 @@ let astdatadir => /var/lib/asterisk astagidir => /var/lib/asterisk/agi-bin astspooldir => /var/spool/asterisk - astrundir => /var/run/asterisk + astrundir => /run/asterisk astlogdir => /var/log/asterisk astsbindir => ${cfg.package}/sbin ''; @@ -257,7 +257,7 @@ in ExecReload = ''${cfg.package}/bin/asterisk -x "core reload" ''; Type = "forking"; - PIDFile = "/var/run/asterisk/asterisk.pid"; + PIDFile = "/run/asterisk/asterisk.pid"; }; }; }; diff --git a/nixos/modules/services/networking/autossh.nix b/nixos/modules/services/networking/autossh.nix index 9ea17469870..a8d9a027e9f 100644 --- a/nixos/modules/services/networking/autossh.nix +++ b/nixos/modules/services/networking/autossh.nix @@ -20,12 +20,12 @@ in type = types.listOf (types.submodule { options = { name = mkOption { - type = types.string; + type = types.str; example = "socks-peer"; description = "Name of the local AutoSSH session"; }; user = mkOption { - type = types.string; + type = types.str; example = "bill"; description = "Name of the user the AutoSSH session should run as"; }; @@ -40,7 +40,7 @@ in ''; }; extraArguments = mkOption { - type = types.string; + type = types.separatedString " "; example = "-N -D4343 bill@socks.example.net"; description = '' Arguments to be passed to AutoSSH and retransmitted to SSH @@ -99,7 +99,6 @@ in serviceConfig = { User = "${s.user}"; - PermissionsStartOnly = true; # AutoSSH may exit with 0 code if the SSH session was # gracefully terminated by either local or remote side. Restart = "on-success"; diff --git a/nixos/modules/services/networking/avahi-daemon.nix b/nixos/modules/services/networking/avahi-daemon.nix index 488d9877b5e..ddcfe3d77e2 100644 --- a/nixos/modules/services/networking/avahi-daemon.nix +++ b/nixos/modules/services/networking/avahi-daemon.nix @@ -1,10 +1,8 @@ -# Avahi daemon. { config, lib, pkgs, ... }: with lib; let - cfg = config.services.avahi; yesNo = yes : if yes then "yes" else "no"; @@ -39,215 +37,245 @@ let enable-reflector=${yesNo reflector} ${extraConfig} ''; - in - { - - ###### interface - - options = { - - services.avahi = { - - enable = mkOption { - default = false; - description = '' - Whether to run the Avahi daemon, which allows Avahi clients - to use Avahi's service discovery facilities and also allows - the local machine to advertise its presence and services - (through the mDNS responder implemented by `avahi-daemon'). - ''; - }; - - hostName = mkOption { - type = types.str; - description = '' - Host name advertised on the LAN. If not set, avahi will use the value - of config.networking.hostName. - ''; - }; - - domainName = mkOption { - type = types.str; - default = "local"; - description = '' - Domain name for all advertisements. - ''; - }; - - browseDomains = mkOption { - default = [ ]; - example = [ "0pointer.de" "zeroconf.org" ]; - description = '' - List of non-local DNS domains to be browsed. - ''; - }; - - ipv4 = mkOption { - default = true; - description = ''Whether to use IPv4''; - }; - - ipv6 = mkOption { - default = false; - description = ''Whether to use IPv6''; - }; - - interfaces = mkOption { - type = types.nullOr (types.listOf types.str); - default = null; - description = '' - List of network interfaces that should be used by the avahi-daemon. - Other interfaces will be ignored. If null all local interfaces - except loopback and point-to-point will be used. - ''; - }; - - allowPointToPoint = mkOption { - default = false; - description= '' - Whether to use POINTTOPOINT interfaces. Might make mDNS unreliable due to usually large - latencies with such links and opens a potential security hole by allowing mDNS access from Internet - connections. Use with care and YMMV! - ''; - }; - - wideArea = mkOption { - default = true; - description = ''Whether to enable wide-area service discovery.''; - }; - - reflector = mkOption { - default = false; - description = ''Reflect incoming mDNS requests to all allowed network interfaces.''; - }; - - publish = { - enable = mkOption { - default = false; - description = ''Whether to allow publishing in general.''; - }; - - userServices = mkOption { - default = false; - description = ''Whether to publish user services. Will set addresses=true.''; - }; - - addresses = mkOption { - default = false; - description = ''Whether to register mDNS address records for all local IP addresses.''; - }; - - hinfo = mkOption { - default = false; - description = '' - Whether to register an mDNS HINFO record which contains information about the - local operating system and CPU. - ''; - }; - - workstation = mkOption { - default = false; - description = ''Whether to register a service of type "_workstation._tcp" on the local LAN.''; - }; - - domain = mkOption { - default = false; - description = ''Whether to announce the locally used domain name for browsing by other hosts.''; - }; - - }; - - nssmdns = mkOption { - default = false; - description = '' - Whether to enable the mDNS NSS (Name Service Switch) plug-in. - Enabling it allows applications to resolve names in the `.local' - domain by transparently querying the Avahi daemon. - ''; - }; - - cacheEntriesMax = mkOption { - default = null; - type = types.nullOr types.int; - description = '' - Number of resource records to be cached per interface. Use 0 to - disable caching. Avahi daemon defaults to 4096 if not set. - ''; - }; - - extraConfig = mkOption { - default = ""; - type = types.lines; - description = '' - Extra config to append to avahi-daemon.conf. - ''; - }; - + options.services.avahi = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to run the Avahi daemon, which allows Avahi clients + to use Avahi's service discovery facilities and also allows + the local machine to advertise its presence and services + (through the mDNS responder implemented by `avahi-daemon'). + ''; }; + hostName = mkOption { + type = types.str; + default = config.networking.hostName; + defaultText = literalExample "config.networking.hostName"; + description = '' + Host name advertised on the LAN. If not set, avahi will use the value + of . + ''; + }; + + domainName = mkOption { + type = types.str; + default = "local"; + description = '' + Domain name for all advertisements. + ''; + }; + + browseDomains = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "0pointer.de" "zeroconf.org" ]; + description = '' + List of non-local DNS domains to be browsed. + ''; + }; + + ipv4 = mkOption { + type = types.bool; + default = true; + description = "Whether to use IPv4."; + }; + + ipv6 = mkOption { + type = types.bool; + default = false; + description = "Whether to use IPv6."; + }; + + interfaces = mkOption { + type = types.nullOr (types.listOf types.str); + default = null; + description = '' + List of network interfaces that should be used by the avahi-daemon. + Other interfaces will be ignored. If null, all local interfaces + except loopback and point-to-point will be used. + ''; + }; + + openFirewall = mkOption { + type = types.bool; + default = true; + description = '' + Whether to open the firewall for UDP port 5353. + ''; + }; + + allowPointToPoint = mkOption { + type = types.bool; + default = false; + description= '' + Whether to use POINTTOPOINT interfaces. Might make mDNS unreliable due to usually large + latencies with such links and opens a potential security hole by allowing mDNS access from Internet + connections. + ''; + }; + + wideArea = mkOption { + type = types.bool; + default = true; + description = "Whether to enable wide-area service discovery."; + }; + + reflector = mkOption { + type = types.bool; + default = false; + description = "Reflect incoming mDNS requests to all allowed network interfaces."; + }; + + extraServiceFiles = mkOption { + type = with types; attrsOf (either str path); + default = {}; + example = literalExample '' + { + ssh = "''${pkgs.avahi}/etc/avahi/services/ssh.service"; + smb = ''' + + + + %h + + _smb._tcp + 445 + + + '''; + } + ''; + description = '' + Specify custom service definitions which are placed in the avahi service directory. + See the avahi.service + 5 manpage for detailed information. + ''; + }; + + publish = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to allow publishing in general."; + }; + + userServices = mkOption { + type = types.bool; + default = false; + description = "Whether to publish user services. Will set addresses=true."; + }; + + addresses = mkOption { + type = types.bool; + default = false; + description = "Whether to register mDNS address records for all local IP addresses."; + }; + + hinfo = mkOption { + type = types.bool; + default = false; + description = '' + Whether to register a mDNS HINFO record which contains information about the + local operating system and CPU. + ''; + }; + + workstation = mkOption { + type = types.bool; + default = false; + description = '' + Whether to register a service of type "_workstation._tcp" on the local LAN. + ''; + }; + + domain = mkOption { + type = types.bool; + default = false; + description = "Whether to announce the locally used domain name for browsing by other hosts."; + }; + }; + + nssmdns = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable the mDNS NSS (Name Service Switch) plug-in. + Enabling it allows applications to resolve names in the `.local' + domain by transparently querying the Avahi daemon. + ''; + }; + + cacheEntriesMax = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Number of resource records to be cached per interface. Use 0 to + disable caching. Avahi daemon defaults to 4096 if not set. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra config to append to avahi-daemon.conf. + ''; + }; }; - - ###### implementation - config = mkIf cfg.enable { + users.users.avahi = { + description = "avahi-daemon privilege separation user"; + home = "/var/empty"; + group = "avahi"; + isSystemUser = true; + }; - services.avahi.hostName = mkDefault config.networking.hostName; - - users.users = singleton - { name = "avahi"; - uid = config.ids.uids.avahi; - description = "`avahi-daemon' privilege separation user"; - home = "/var/empty"; - }; - - users.groups = singleton - { name = "avahi"; - gid = config.ids.gids.avahi; - }; + users.groups.avahi = {}; system.nssModules = optional cfg.nssmdns pkgs.nssmdns; environment.systemPackages = [ pkgs.avahi ]; - systemd.sockets.avahi-daemon = - { description = "Avahi mDNS/DNS-SD Stack Activation Socket"; - listenStreams = [ "/var/run/avahi-daemon/socket" ]; - wantedBy = [ "sockets.target" ]; - }; - - systemd.services.avahi-daemon = - { description = "Avahi mDNS/DNS-SD Stack"; - wantedBy = [ "multi-user.target" ]; - requires = [ "avahi-daemon.socket" ]; - - serviceConfig."NotifyAccess" = "main"; - serviceConfig."BusName" = "org.freedesktop.Avahi"; - serviceConfig."Type" = "dbus"; - - path = [ pkgs.coreutils pkgs.avahi ]; - - preStart = "mkdir -p /var/run/avahi-daemon"; - - script = - '' - # Make NSS modules visible so that `avahi_nss_support ()' can - # return a sensible value. - export LD_LIBRARY_PATH="${config.system.nssModules.path}" - - exec ${pkgs.avahi}/sbin/avahi-daemon --syslog -f "${avahiDaemonConf}" - ''; + environment.etc = (mapAttrs' (n: v: nameValuePair + "avahi/services/${n}.service" + { ${if types.path.check v then "source" else "text"} = v; } + ) cfg.extraServiceFiles); + + systemd.sockets.avahi-daemon = { + description = "Avahi mDNS/DNS-SD Stack Activation Socket"; + listenStreams = [ "/run/avahi-daemon/socket" ]; + wantedBy = [ "sockets.target" ]; + }; + + systemd.tmpfiles.rules = [ "d /run/avahi-daemon - avahi avahi -" ]; + + systemd.services.avahi-daemon = { + description = "Avahi mDNS/DNS-SD Stack"; + wantedBy = [ "multi-user.target" ]; + requires = [ "avahi-daemon.socket" ]; + + # Make NSS modules visible so that `avahi_nss_support ()' can + # return a sensible value. + environment.LD_LIBRARY_PATH = config.system.nssModules.path; + + path = [ pkgs.coreutils pkgs.avahi ]; + + serviceConfig = { + NotifyAccess = "main"; + BusName = "org.freedesktop.Avahi"; + Type = "dbus"; + ExecStart = "${pkgs.avahi}/sbin/avahi-daemon --syslog -f ${avahiDaemonConf}"; }; + }; services.dbus.enable = true; services.dbus.packages = [ pkgs.avahi ]; - # Enabling Avahi without exposing it in the firewall doesn't make - # sense. - networking.firewall.allowedUDPPorts = [ 5353 ]; - + networking.firewall.allowedUDPPorts = mkIf cfg.openFirewall [ 5353 ]; }; - } diff --git a/nixos/modules/services/networking/bind.nix b/nixos/modules/services/networking/bind.nix index abcd1ef6ff5..06af4dbcca4 100644 --- a/nixos/modules/services/networking/bind.nix +++ b/nixos/modules/services/networking/bind.nix @@ -25,15 +25,15 @@ let blackhole { badnetworks; }; forward first; forwarders { ${concatMapStrings (entry: " ${entry}; ") cfg.forwarders} }; - directory "/var/run/named"; - pid-file "/var/run/named/named.pid"; + directory "/run/named"; + pid-file "/run/named/named.pid"; ${cfg.extraOptions} }; ${cfg.extraConfig} ${ concatMapStrings - ({ name, file, master ? true, slaves ? [], masters ? [] }: + ({ name, file, master ? true, slaves ? [], masters ? [], extraConfig ? "" }: '' zone "${name}" { type ${if master then "master" else "slave"}; @@ -52,6 +52,7 @@ let '' } allow-query { any; }; + ${extraConfig} }; '') cfg.zones } @@ -131,6 +132,7 @@ in file = "/var/dns/example.com"; masters = ["192.168.0.1"]; slaves = []; + extraConfig = ""; }]; }; @@ -168,7 +170,9 @@ in ###### implementation - config = mkIf config.services.bind.enable { + config = mkIf cfg.enable { + + networking.resolvconf.useLocalResolver = mkDefault true; users.users = singleton { name = bindUser; @@ -184,11 +188,11 @@ in preStart = '' mkdir -m 0755 -p /etc/bind if ! [ -f "/etc/bind/rndc.key" ]; then - ${pkgs.bind.out}/sbin/rndc-confgen -r /dev/urandom -c /etc/bind/rndc.key -u ${bindUser} -a -A hmac-sha256 2>/dev/null + ${pkgs.bind.out}/sbin/rndc-confgen -c /etc/bind/rndc.key -u ${bindUser} -a -A hmac-sha256 2>/dev/null fi - ${pkgs.coreutils}/bin/mkdir -p /var/run/named - chown ${bindUser} /var/run/named + ${pkgs.coreutils}/bin/mkdir -p /run/named + chown ${bindUser} /run/named ''; serviceConfig = { diff --git a/nixos/modules/services/networking/bird.nix b/nixos/modules/services/networking/bird.nix index 555733aab7c..4ae35875c0f 100644 --- a/nixos/modules/services/networking/bird.nix +++ b/nixos/modules/services/networking/bird.nix @@ -14,15 +14,6 @@ let bird6 = "1.9.x with IPv6 suport"; bird2 = "2.x"; }.${variant}; - configFile = pkgs.stdenv.mkDerivation { - name = "${variant}.conf"; - text = cfg.config; - preferLocalBuild = true; - buildCommand = '' - echo -n "$text" > $out - ${pkg}/bin/${birdBin} -d -p -c $out - ''; - }; in { ###### interface options = { @@ -41,14 +32,24 @@ let ###### implementation config = mkIf cfg.enable { environment.systemPackages = [ pkg ]; + + environment.etc."bird/${variant}.conf".source = pkgs.writeTextFile { + name = "${variant}.conf"; + text = cfg.config; + checkPhase = '' + ${pkg}/bin/${birdBin} -d -p -c $out + ''; + }; + systemd.services.${variant} = { description = "BIRD Internet Routing Daemon (${descr})"; wantedBy = [ "multi-user.target" ]; reloadIfChanged = true; + restartTriggers = [ config.environment.etc."bird/${variant}.conf".source ]; serviceConfig = { Type = "forking"; Restart = "on-failure"; - ExecStart = "${pkg}/bin/${birdBin} -c ${configFile} -u ${variant} -g ${variant}"; + ExecStart = "${pkg}/bin/${birdBin} -c /etc/bird/${variant}.conf -u ${variant} -g ${variant}"; ExecReload = "${pkg}/bin/${birdc} configure"; ExecStop = "${pkg}/bin/${birdc} down"; CapabilityBoundingSet = [ "CAP_CHOWN" "CAP_FOWNER" "CAP_DAC_OVERRIDE" "CAP_SETUID" "CAP_SETGID" diff --git a/nixos/modules/services/networking/bitcoind.nix b/nixos/modules/services/networking/bitcoind.nix new file mode 100644 index 00000000000..1439d739da9 --- /dev/null +++ b/nixos/modules/services/networking/bitcoind.nix @@ -0,0 +1,195 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.bitcoind; + pidFile = "${cfg.dataDir}/bitcoind.pid"; + configFile = pkgs.writeText "bitcoin.conf" '' + ${optionalString cfg.testnet "testnet=1"} + ${optionalString (cfg.dbCache != null) "dbcache=${toString cfg.dbCache}"} + ${optionalString (cfg.prune != null) "prune=${toString cfg.prune}"} + + # Connection options + ${optionalString (cfg.port != null) "port=${toString cfg.port}"} + + # RPC server options + ${optionalString (cfg.rpc.port != null) "rpcport=${toString cfg.rpc.port}"} + ${concatMapStringsSep "\n" + (rpcUser: "rpcauth=${rpcUser.name}:${rpcUser.passwordHMAC}") + (attrValues cfg.rpc.users) + } + + # Extra config options (from bitcoind nixos service) + ${cfg.extraConfig} + ''; + cmdlineOptions = escapeShellArgs [ + "-conf=${cfg.configFile}" + "-datadir=${cfg.dataDir}" + "-pid=${pidFile}" + ]; + + rpcUserOpts = { name, ... }: { + options = { + name = mkOption { + type = types.str; + example = "alice"; + description = '' + Username for JSON-RPC connections. + ''; + }; + passwordHMAC = mkOption { + type = with types; uniq (strMatching "[0-9a-f]+\\$[0-9a-f]{64}"); + example = "f7efda5c189b999524f151318c0c86$d5b51b3beffbc02b724e5d095828e0bc8b2456e9ac8757ae3211a5d9b16a22ae"; + description = '' + Password HMAC-SHA-256 for JSON-RPC connections. Must be a string of the + format <SALT-HEX>$<HMAC-HEX>. + ''; + }; + }; + config = { + name = mkDefault name; + }; + }; +in { + options = { + + services.bitcoind = { + enable = mkEnableOption "Bitcoin daemon"; + + package = mkOption { + type = types.package; + default = pkgs.bitcoind; + defaultText = "pkgs.bitcoind"; + description = "The package providing bitcoin binaries."; + }; + configFile = mkOption { + type = types.path; + default = configFile; + example = "/etc/bitcoind.conf"; + description = "The configuration file path to supply bitcoind."; + }; + extraConfig = mkOption { + type = types.lines; + default = ""; + example = '' + par=16 + rpcthreads=16 + logips=1 + ''; + description = "Additional configurations to be appended to bitcoin.conf."; + }; + dataDir = mkOption { + type = types.path; + default = "/var/lib/bitcoind"; + description = "The data directory for bitcoind."; + }; + + user = mkOption { + type = types.str; + default = "bitcoin"; + description = "The user as which to run bitcoind."; + }; + group = mkOption { + type = types.str; + default = cfg.user; + description = "The group as which to run bitcoind."; + }; + + rpc = { + port = mkOption { + type = types.nullOr types.port; + default = null; + description = "Override the default port on which to listen for JSON-RPC connections."; + }; + users = mkOption { + default = {}; + example = literalExample '' + { + alice.passwordHMAC = "f7efda5c189b999524f151318c0c86$d5b51b3beffbc02b724e5d095828e0bc8b2456e9ac8757ae3211a5d9b16a22ae"; + bob.passwordHMAC = "b2dd077cb54591a2f3139e69a897ac$4e71f08d48b4347cf8eff3815c0e25ae2e9a4340474079f55705f40574f4ec99"; + } + ''; + type = with types; loaOf (submodule rpcUserOpts); + description = '' + RPC user information for JSON-RPC connnections. + ''; + }; + }; + + testnet = mkOption { + type = types.bool; + default = false; + description = "Whether to use the test chain."; + }; + port = mkOption { + type = types.nullOr types.port; + default = null; + description = "Override the default port on which to listen for connections."; + }; + dbCache = mkOption { + type = types.nullOr (types.ints.between 4 16384); + default = null; + example = 4000; + description = "Override the default database cache size in megabytes."; + }; + prune = mkOption { + type = types.nullOr (types.coercedTo + (types.enum [ "disable" "manual" ]) + (x: if x == "disable" then 0 else 1) + types.ints.unsigned + ); + default = null; + example = 10000; + description = '' + Reduce storage requirements by enabling pruning (deleting) of old + blocks. This allows the pruneblockchain RPC to be called to delete + specific blocks, and enables automatic pruning of old blocks if a + target size in MiB is provided. This mode is incompatible with -txindex + and -rescan. Warning: Reverting this setting requires re-downloading + the entire blockchain. ("disable" = disable pruning blocks, "manual" + = allow manual pruning via RPC, >=550 = automatically prune block files + to stay under the specified target size in MiB) + ''; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0770 '${cfg.user}' '${cfg.group}' - -" + "L '${cfg.dataDir}/bitcoin.conf' - - - - '${cfg.configFile}'" + ]; + systemd.services.bitcoind = { + description = "Bitcoin daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = cfg.user; + Group = cfg.group; + ExecStart = "${cfg.package}/bin/bitcoind ${cmdlineOptions}"; + Restart = "on-failure"; + + # Hardening measures + PrivateTmp = "true"; + ProtectSystem = "full"; + NoNewPrivileges = "true"; + PrivateDevices = "true"; + MemoryDenyWriteExecute = "true"; + + # Permission for preStart + PermissionsStartOnly = "true"; + }; + }; + users.users.${cfg.user} = { + name = cfg.user; + group = cfg.group; + description = "Bitcoin daemon user"; + home = cfg.dataDir; + }; + users.groups.${cfg.group} = { + name = cfg.group; + }; + }; +} diff --git a/nixos/modules/services/networking/btsync.nix b/nixos/modules/services/networking/btsync.nix deleted file mode 100644 index 33e85ef58e6..00000000000 --- a/nixos/modules/services/networking/btsync.nix +++ /dev/null @@ -1,324 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - cfg = config.services.btsync; - - bittorrentSync = cfg.package; - - listenAddr = cfg.httpListenAddr + ":" + (toString cfg.httpListenPort); - - optionalEmptyStr = b: v: optionalString (b != "") v; - - webUIConfig = optionalString cfg.enableWebUI - '' - "webui": - { - ${optionalEmptyStr cfg.httpLogin "\"login\": \"${cfg.httpLogin}\","} - ${optionalEmptyStr cfg.httpPass "\"password\": \"${cfg.httpPass}\","} - ${optionalEmptyStr cfg.apiKey "\"api_key\": \"${cfg.apiKey}\","} - ${optionalEmptyStr cfg.directoryRoot "\"directory_root\": \"${cfg.directoryRoot}\","} - "listen": "${listenAddr}" - } - ''; - - knownHosts = e: - optionalString (e ? "knownHosts") - (concatStringsSep "," (map (v: "\"${v}\"") e."knownHosts")); - - sharedFoldersRecord = - concatStringsSep "," (map (entry: - let helper = attr: v: - if (entry ? attr) then boolToString entry.attr else boolToString v; - in - '' - { - "secret": "${entry.secret}", - "dir": "${entry.directory}", - - "use_relay_server": ${helper "useRelayServer" true}, - "use_tracker": ${helper "useTracker" true}, - "use_dht": ${helper "useDHT" false}, - - "search_lan": ${helper "searchLAN" true}, - "use_sync_trash": ${helper "useSyncTrash" true}, - - "known_hosts": [${knownHosts entry}] - } - '') cfg.sharedFolders); - - sharedFoldersConfig = optionalString (cfg.sharedFolders != []) - '' - "shared_folders": - [ - ${sharedFoldersRecord} - ] - ''; - - configFile = pkgs.writeText "btsync.config" - '' - { - "device_name": "${cfg.deviceName}", - "storage_path": "${cfg.storagePath}", - "listening_port": ${toString cfg.listeningPort}, - "use_gui": false, - - "check_for_updates": ${boolToString cfg.checkForUpdates}, - "use_upnp": ${boolToString cfg.useUpnp}, - "download_limit": ${toString cfg.downloadLimit}, - "upload_limit": ${toString cfg.uploadLimit}, - "lan_encrypt_data": ${boolToString cfg.encryptLAN}, - - ${webUIConfig} - ${sharedFoldersConfig} - } - ''; -in -{ - options = { - services.btsync = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - If enabled, start the Bittorrent Sync daemon. Once enabled, you can - interact with the service through the Web UI, or configure it in your - NixOS configuration. Enabling the btsync service - also installs a systemd user unit which can be used to start - user-specific copies of the daemon. Once installed, you can use - systemctl --user start btsync as your user to start - the daemon using the configuration file located at - $HOME/.config/btsync.conf. - ''; - }; - - deviceName = mkOption { - type = types.str; - example = "Voltron"; - description = '' - Name of the Bittorrent Sync device. - ''; - }; - - listeningPort = mkOption { - type = types.int; - default = 0; - example = 44444; - description = '' - Listening port. Defaults to 0 which randomizes the port. - ''; - }; - - checkForUpdates = mkOption { - type = types.bool; - default = true; - description = '' - Determines whether to check for updates and alert the user - about them in the UI. - ''; - }; - - useUpnp = mkOption { - type = types.bool; - default = true; - description = '' - Use Universal Plug-n-Play (UPnP) - ''; - }; - - downloadLimit = mkOption { - type = types.int; - default = 0; - example = 1024; - description = '' - Download speed limit. 0 is unlimited (default). - ''; - }; - - uploadLimit = mkOption { - type = types.int; - default = 0; - example = 1024; - description = '' - Upload speed limit. 0 is unlimited (default). - ''; - }; - - httpListenAddr = mkOption { - type = types.str; - default = "0.0.0.0"; - example = "1.2.3.4"; - description = '' - HTTP address to bind to. - ''; - }; - - httpListenPort = mkOption { - type = types.int; - default = 9000; - description = '' - HTTP port to bind on. - ''; - }; - - httpLogin = mkOption { - type = types.str; - example = "allyourbase"; - default = ""; - description = '' - HTTP web login username. - ''; - }; - - httpPass = mkOption { - type = types.str; - example = "arebelongtous"; - default = ""; - description = '' - HTTP web login password. - ''; - }; - - encryptLAN = mkOption { - type = types.bool; - default = true; - description = "Encrypt LAN data."; - }; - - enableWebUI = mkOption { - type = types.bool; - default = false; - description = '' - Enable Web UI for administration. Bound to the specified - httpListenAddress and - httpListenPort. - ''; - }; - - package = mkOption { - type = types.package; - example = literalExample "pkgs.bittorrentSync20"; - description = '' - Branch of bittorrent sync to use. - ''; - }; - - storagePath = mkOption { - type = types.path; - default = "/var/lib/btsync/"; - description = '' - Where BitTorrent Sync will store it's database files (containing - things like username info and licenses). Generally, you should not - need to ever change this. - ''; - }; - - apiKey = mkOption { - type = types.str; - default = ""; - description = "API key, which enables the developer API."; - }; - - directoryRoot = mkOption { - type = types.str; - default = ""; - example = "/media"; - description = "Default directory to add folders in the web UI."; - }; - - sharedFolders = mkOption { - default = []; - example = - [ { secret = "AHMYFPCQAHBM7LQPFXQ7WV6Y42IGUXJ5Y"; - directory = "/home/user/sync_test"; - useRelayServer = true; - useTracker = true; - useDHT = false; - searchLAN = true; - useSyncTrash = true; - knownHosts = - [ "192.168.1.2:4444" - "192.168.1.3:4444" - ]; - } - ]; - description = '' - Shared folder list. If enabled, web UI must be - disabled. Secrets can be generated using btsync - --generate-secret. Note that this secret will be - put inside the Nix store, so it is realistically not very - secret. - - If you would like to be able to modify the contents of this - directories, it is recommended that you make your user a - member of the btsync group. - - Directories in this list should be in the - btsync group, and that group must have - write access to the directory. It is also recommended that - chmod g+s is applied to the directory - so that any sub directories created will also belong to - the btsync group. Also, - setfacl -d -m group:btsync:rwx and - setfacl -m group:btsync:rwx should also - be applied so that the sub directories are writable by - the group. - ''; - }; - }; - }; - - config = mkIf cfg.enable { - assertions = - [ { assertion = cfg.deviceName != ""; - message = "Device name cannot be empty."; - } - { assertion = cfg.enableWebUI -> cfg.sharedFolders == []; - message = "If using shared folders, the web UI cannot be enabled."; - } - { assertion = cfg.apiKey != "" -> cfg.enableWebUI; - message = "If you're using an API key, you must enable the web server."; - } - ]; - - services.btsync.package = mkOptionDefault pkgs.bittorrentSync14; - - users.users.btsync = { - description = "Bittorrent Sync Service user"; - home = cfg.storagePath; - createHome = true; - uid = config.ids.uids.btsync; - group = "btsync"; - }; - - users.groups = [ - { name = "btsync"; - }]; - - systemd.services.btsync = with pkgs; { - description = "Bittorrent Sync Service"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "local-fs.target" ]; - serviceConfig = { - Restart = "on-abort"; - UMask = "0002"; - User = "btsync"; - ExecStart = - "${bittorrentSync}/bin/btsync --nodaemon --config ${configFile}"; - }; - }; - - systemd.user.services.btsync = with pkgs; { - description = "Bittorrent Sync user service"; - after = [ "network.target" "local-fs.target" ]; - serviceConfig = { - Restart = "on-abort"; - ExecStart = - "${bittorrentSync}/bin/btsync --nodaemon --config %h/.config/btsync.conf"; - }; - }; - - environment.systemPackages = [ cfg.package ]; - }; -} diff --git a/nixos/modules/services/networking/charybdis.nix b/nixos/modules/services/networking/charybdis.nix index 3d02dc8d137..da26246e703 100644 --- a/nixos/modules/services/networking/charybdis.nix +++ b/nixos/modules/services/networking/charybdis.nix @@ -21,14 +21,14 @@ in enable = mkEnableOption "Charybdis IRC daemon"; config = mkOption { - type = types.string; + type = types.str; description = '' Charybdis IRC daemon configuration file. ''; }; statedir = mkOption { - type = types.string; + type = types.path; default = "/var/lib/charybdis"; description = '' Location of the state directory of charybdis. @@ -36,7 +36,7 @@ in }; user = mkOption { - type = types.string; + type = types.str; default = "ircd"; description = '' Charybdis IRC daemon user. @@ -44,7 +44,7 @@ in }; group = mkOption { - type = types.string; + type = types.str; default = "ircd"; description = '' Charybdis IRC daemon group. @@ -83,6 +83,10 @@ in gid = config.ids.gids.ircd; }; + systemd.tmpfiles.rules = [ + "d ${cfg.statedir} - ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.charybdis = { description = "Charybdis IRC daemon"; wantedBy = [ "multi-user.target" ]; @@ -93,16 +97,11 @@ in ExecStart = "${charybdis}/bin/charybdis -foreground -logfile /dev/stdout -configfile ${configFile}"; Group = cfg.group; User = cfg.user; - PermissionsStartOnly = true; # preStart needs to run with root permissions }; - preStart = '' - ${coreutils}/bin/mkdir -p ${cfg.statedir} - ${coreutils}/bin/chown ${cfg.user}:${cfg.group} ${cfg.statedir} - ''; }; } - + (mkIf (cfg.motd != null) { environment.etc."charybdis/ircd.motd".text = cfg.motd; }) diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix index c40962f4aa8..3fb85b16cbe 100644 --- a/nixos/modules/services/networking/cjdns.nix +++ b/nixos/modules/services/networking/cjdns.nix @@ -44,9 +44,7 @@ let parseModules = x: x // { connectTo = mapAttrs (name: value: { inherit (value) password publicKey; }) x.connectTo; }; - # would be nice to merge 'cfg' with a //, - # but the json nesting is wacky. - cjdrouteConf = builtins.toJSON ( { + cjdrouteConf = builtins.toJSON ( recursiveUpdate { admin = { bind = cfg.admin.bind; password = "@CJDNS_ADMIN_PASSWORD@"; @@ -71,7 +69,7 @@ let security = [ { exemptAngel = 1; setuser = "nobody"; } ]; - }); + } cfg.extraConfig); in @@ -91,6 +89,16 @@ in ''; }; + extraConfig = mkOption { + type = types.attrs; + default = {}; + example = { router.interface.tunDevice = "tun10"; }; + description = '' + Extra configuration, given as attrs, that will be merged recursively + with the rest of the JSON generated by this module, at the root node. + ''; + }; + confFile = mkOption { type = types.nullOr types.path; default = null; @@ -246,7 +254,10 @@ in if cfg.confFile != null then "${pkg}/bin/cjdroute < ${cfg.confFile}" else '' source /etc/cjdns.keys - echo '${cjdrouteConf}' | sed \ + (cat <<'EOF' + ${cjdrouteConf} + EOF + ) | sed \ -e "s/@CJDNS_ADMIN_PASSWORD@/$CJDNS_ADMIN_PASSWORD/g" \ -e "s/@CJDNS_PRIVATE_KEY@/$CJDNS_PRIVATE_KEY/g" \ | ${pkg}/bin/cjdroute diff --git a/nixos/modules/services/networking/connman.nix b/nixos/modules/services/networking/connman.nix index c3ca6fbe725..1cd3fd2ade5 100644 --- a/nixos/modules/services/networking/connman.nix +++ b/nixos/modules/services/networking/connman.nix @@ -45,7 +45,7 @@ in { }; networkInterfaceBlacklist = mkOption { - type = with types; listOf string; + type = with types; listOf str; default = [ "vmnet" "vboxnet" "virbr" "ifb" "ve" ]; description = '' Default blacklisted interfaces, this includes NixOS containers interfaces (ve). @@ -53,7 +53,7 @@ in { }; extraFlags = mkOption { - type = with types; listOf string; + type = with types; listOf str; default = [ ]; example = [ "--nodnsproxy" ]; description = '' diff --git a/nixos/modules/services/networking/consul.nix b/nixos/modules/services/networking/consul.nix index 3a92a883fbf..f080f12eacc 100644 --- a/nixos/modules/services/networking/consul.nix +++ b/nixos/modules/services/networking/consul.nix @@ -15,7 +15,7 @@ let ++ cfg.extraConfigFiles; devices = attrValues (filterAttrs (_: i: i != null) cfg.interface); - systemdDevices = flip map devices + systemdDevices = forEach devices (i: "sys-subsystem-net-devices-${utils.escapeSystemdPath i}.device"); in { diff --git a/nixos/modules/services/networking/coredns.nix b/nixos/modules/services/networking/coredns.nix new file mode 100644 index 00000000000..afb2b547a46 --- /dev/null +++ b/nixos/modules/services/networking/coredns.nix @@ -0,0 +1,50 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.coredns; + configFile = pkgs.writeText "Corefile" cfg.config; +in { + options.services.coredns = { + enable = mkEnableOption "Coredns dns server"; + + config = mkOption { + default = ""; + example = '' + . { + whoami + } + ''; + type = types.lines; + description = "Verbatim Corefile to use. See for details."; + }; + + package = mkOption { + default = pkgs.coredns; + defaultText = "pkgs.coredns"; + type = types.package; + description = "Coredns package to use."; + }; + }; + + config = mkIf cfg.enable { + systemd.services.coredns = { + description = "Coredns dns server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + PermissionsStartOnly = true; + LimitNPROC = 512; + LimitNOFILE = 1048576; + CapabilityBoundingSet = "cap_net_bind_service"; + AmbientCapabilities = "cap_net_bind_service"; + NoNewPrivileges = true; + DynamicUser = true; + ExecStart = "${getBin cfg.package}/bin/coredns -conf=${configFile}"; + ExecReload = "${pkgs.coreutils}/bin/kill -SIGUSR1 $MAINPID"; + Restart = "on-failure"; + }; + }; + }; +} diff --git a/nixos/modules/services/networking/ddclient.nix b/nixos/modules/services/networking/ddclient.nix index 9a2e13e9553..04ce5ca3a87 100644 --- a/nixos/modules/services/networking/ddclient.nix +++ b/nixos/modules/services/networking/ddclient.nix @@ -20,8 +20,8 @@ let wildcard=YES quiet=${boolToStr cfg.quiet} verbose=${boolToStr cfg.verbose} - ${lib.concatStringsSep "," cfg.domains} ${cfg.extraConfig} + ${lib.concatStringsSep "," cfg.domains} ''; in diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index c217ccaa405..7b278603455 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -162,7 +162,7 @@ in wantedBy = [ "multi-user.target" ] ++ optional (!hasDefaultGatewaySet) "network-online.target"; wants = [ "network.target" "systemd-udev-settle.service" ]; - before = [ "network.target" ]; + before = [ "network-online.target" ]; after = [ "systemd-udev-settle.service" ]; # Stopping dhcpcd during a reconfiguration is undesirable diff --git a/nixos/modules/services/networking/dnscache.nix b/nixos/modules/services/networking/dnscache.nix index fc30f50317f..5051fc916d9 100644 --- a/nixos/modules/services/networking/dnscache.nix +++ b/nixos/modules/services/networking/dnscache.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.dnscache; - dnscache-root = pkgs.runCommand "dnscache-root" {} '' + dnscache-root = pkgs.runCommand "dnscache-root" { preferLocalBuild = true; } '' mkdir -p $out/{servers,ip} ${concatMapStrings (ip: '' diff --git a/nixos/modules/services/networking/dnschain.nix b/nixos/modules/services/networking/dnschain.nix index 0c2add424ba..5b58ea9b0c9 100644 --- a/nixos/modules/services/networking/dnschain.nix +++ b/nixos/modules/services/networking/dnschain.nix @@ -136,10 +136,16 @@ in "/.dns/127.0.0.1#${toString cfg.dns.port}" ]; - services.pdns-recursor.forwardZones = mkIf cfgs.pdns-recursor.resolveDNSChainQueries - { bit = "127.0.0.1:${toString cfg.dns.port}"; - dns = "127.0.0.1:${toString cfg.dns.port}"; - }; + services.pdns-recursor = mkIf cfgs.pdns-recursor.resolveDNSChainQueries { + forwardZones = + { bit = "127.0.0.1:${toString cfg.dns.port}"; + dns = "127.0.0.1:${toString cfg.dns.port}"; + }; + luaConfig ='' + addNTA("bit", "namecoin doesn't support DNSSEC") + addNTA("dns", "namecoin doesn't support DNSSEC") + ''; + }; users.users = singleton { name = username; diff --git a/nixos/modules/services/networking/dnscrypt-proxy.xml b/nixos/modules/services/networking/dnscrypt-proxy.xml index f90eef69848..afc7880392a 100644 --- a/nixos/modules/services/networking/dnscrypt-proxy.xml +++ b/nixos/modules/services/networking/dnscrypt-proxy.xml @@ -18,7 +18,7 @@ To enable the client proxy, set = true; - + @@ -36,7 +36,7 @@ the other client to it: = 43; - + @@ -47,7 +47,7 @@ = true; = [ "127.0.0.1#43" ]; } - + @@ -59,7 +59,7 @@ = true; = [ "127.0.0.1@43" ]; } - + diff --git a/nixos/modules/services/networking/dnsmasq.nix b/nixos/modules/services/networking/dnsmasq.nix index 24d16046c63..714a5903bff 100644 --- a/nixos/modules/services/networking/dnsmasq.nix +++ b/nixos/modules/services/networking/dnsmasq.nix @@ -79,7 +79,7 @@ in ###### implementation - config = mkIf config.services.dnsmasq.enable { + config = mkIf cfg.enable { networking.nameservers = optional cfg.resolveLocalQueries "127.0.0.1"; @@ -92,6 +92,15 @@ in description = "Dnsmasq daemon user"; }; + networking.resolvconf = mkIf cfg.resolveLocalQueries { + useLocalResolver = mkDefault true; + + extraConfig = '' + dnsmasq_conf=/etc/dnsmasq-conf.conf + dnsmasq_resolv=/etc/dnsmasq-resolv.conf + ''; + }; + systemd.services.dnsmasq = { description = "Dnsmasq Daemon"; after = [ "network.target" "systemd-resolved.service" ]; diff --git a/nixos/modules/services/networking/ejabberd.nix b/nixos/modules/services/networking/ejabberd.nix index ef5e2cee6f2..6a38f85c48a 100644 --- a/nixos/modules/services/networking/ejabberd.nix +++ b/nixos/modules/services/networking/ejabberd.nix @@ -11,7 +11,7 @@ let ${cfg.ctlConfig} ''; - ectl = ''${cfg.package}/bin/ejabberdctl ${if cfg.configFile == null then "" else "--config ${cfg.configFile}"} --ctl-config "${ctlcfg}" --spool "${cfg.spoolDir}" --logs "${cfg.logsDir}"''; + ectl = ''${cfg.package}/bin/ejabberdctl ${optionalString (cfg.configFile != null) "--config ${cfg.configFile}"} --ctl-config "${ctlcfg}" --spool "${cfg.spoolDir}" --logs "${cfg.logsDir}"''; dumps = lib.escapeShellArgs cfg.loadDumps; @@ -111,28 +111,17 @@ in { description = "ejabberd server"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; - path = [ pkgs.findutils pkgs.coreutils pkgs.runit ] ++ lib.optional cfg.imagemagick pkgs.imagemagick; + path = [ pkgs.findutils pkgs.coreutils ] ++ lib.optional cfg.imagemagick pkgs.imagemagick; serviceConfig = { - ExecStart = ''${ectl} foreground''; - # FIXME: runit is used for `chpst` -- can we get rid of this? - ExecStop = ''${pkgs.runit}/bin/chpst -u "${cfg.user}:${cfg.group}" ${ectl} stop''; - ExecReload = ''${pkgs.runit}/bin/chpst -u "${cfg.user}:${cfg.group}" ${ectl} reload_config''; User = cfg.user; Group = cfg.group; - PermissionsStartOnly = true; + ExecStart = "${ectl} foreground"; + ExecStop = "${ectl} stop"; + ExecReload = "${ectl} reload_config"; }; preStart = '' - mkdir -p -m750 "${cfg.logsDir}" - chown "${cfg.user}:${cfg.group}" "${cfg.logsDir}" - - mkdir -p -m750 "/var/lock/ejabberdctl" - chown "${cfg.user}:${cfg.group}" "/var/lock/ejabberdctl" - - mkdir -p -m750 "${cfg.spoolDir}" - chown -R "${cfg.user}:${cfg.group}" "${cfg.spoolDir}" - if [ -z "$(ls -A '${cfg.spoolDir}')" ]; then touch "${cfg.spoolDir}/.firstRun" fi @@ -149,13 +138,18 @@ in { for src in ${dumps}; do find "$src" -type f | while read dump; do echo "Loading configuration dump at $dump" - chpst -u "${cfg.user}:${cfg.group}" ${ectl} load "$dump" + ${ectl} load "$dump" done done fi ''; }; + systemd.tmpfiles.rules = [ + "d '${cfg.logsDir}' 0750 ${cfg.user} ${cfg.group} -" + "d '${cfg.spoolDir}' 0700 ${cfg.user} ${cfg.group} -" + ]; + security.pam.services.ejabberd = {}; }; diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index aba64e4f60f..4ea891262e5 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -261,10 +261,14 @@ let fi ''; + canonicalizePortList = + ports: lib.unique (builtins.sort builtins.lessThan ports); + commonOptions = { allowedTCPPorts = mkOption { - type = types.listOf types.int; + type = types.listOf types.port; default = [ ]; + apply = canonicalizePortList; example = [ 22 80 ]; description = '' @@ -274,7 +278,7 @@ let }; allowedTCPPortRanges = mkOption { - type = types.listOf (types.attrsOf types.int); + type = types.listOf (types.attrsOf types.port); default = [ ]; example = [ { from = 8999; to = 9003; } ]; description = @@ -285,8 +289,9 @@ let }; allowedUDPPorts = mkOption { - type = types.listOf types.int; + type = types.listOf types.port; default = [ ]; + apply = canonicalizePortList; example = [ 53 ]; description = '' @@ -295,7 +300,7 @@ let }; allowedUDPPortRanges = mkOption { - type = types.listOf (types.attrsOf types.int); + type = types.listOf (types.attrsOf types.port); default = [ ]; example = [ { from = 60000; to = 61000; } ]; description = diff --git a/nixos/modules/services/networking/flannel.nix b/nixos/modules/services/networking/flannel.nix index 6c43573851b..dd2f6454e95 100644 --- a/nixos/modules/services/networking/flannel.nix +++ b/nixos/modules/services/networking/flannel.nix @@ -92,7 +92,7 @@ in { Needed when running with Kubernetes as backend as this cannot be auto-detected"; ''; type = types.nullOr types.str; - default = with config.networking; (hostName + optionalString (!isNull domain) ".${domain}"); + default = with config.networking; (hostName + optionalString (domain != null) ".${domain}"); example = "node1.example.com"; }; @@ -161,7 +161,11 @@ in { FLANNELD_KUBECONFIG_FILE = cfg.kubeconfig; NODE_NAME = cfg.nodeName; }; - preStart = mkIf (cfg.storageBackend == "etcd") '' + path = [ pkgs.iptables ]; + preStart = '' + mkdir -p /run/flannel + touch /run/flannel/docker + '' + optionalString (cfg.storageBackend == "etcd") '' echo "setting network configuration" until ${pkgs.etcdctl.bin}/bin/etcdctl set /coreos.com/network/config '${builtins.toJSON networkConfig}' do @@ -169,13 +173,11 @@ in { sleep 1 done ''; - postStart = '' - while [ ! -f /run/flannel/subnet.env ] - do - sleep 1 - done - ''; - serviceConfig.ExecStart = "${cfg.package}/bin/flannel"; + serviceConfig = { + ExecStart = "${cfg.package}/bin/flannel"; + Restart = "always"; + RestartSec = "10s"; + }; }; services.etcd.enable = mkDefault (cfg.storageBackend == "etcd" && cfg.etcd.endpoints == ["http://127.0.0.1:2379"]); diff --git a/nixos/modules/services/networking/gnunet.nix b/nixos/modules/services/networking/gnunet.nix index 6a1db81413c..178a832c166 100644 --- a/nixos/modules/services/networking/gnunet.nix +++ b/nixos/modules/services/networking/gnunet.nix @@ -130,7 +130,7 @@ in group = "gnunet"; description = "GNUnet User"; home = homeDir; - createHome = true; + createHome = true; uid = config.ids.uids.gnunet; }; @@ -146,7 +146,7 @@ in wantedBy = [ "multi-user.target" ]; path = [ cfg.package pkgs.miniupnpc ]; environment.TMPDIR = "/tmp"; - serviceConfig.PrivateTemp = true; + serviceConfig.PrivateTmp = true; serviceConfig.ExecStart = "${cfg.package}/lib/gnunet/libexec/gnunet-service-arm -c ${configFile}"; serviceConfig.User = "gnunet"; serviceConfig.UMask = "0007"; diff --git a/nixos/modules/services/networking/gogoclient.nix b/nixos/modules/services/networking/gogoclient.nix index 9d16f0efb43..c9b03bca711 100644 --- a/nixos/modules/services/networking/gogoclient.nix +++ b/nixos/modules/services/networking/gogoclient.nix @@ -34,7 +34,7 @@ in password = mkOption { default = ""; - type = types.string; + type = types.str; description = '' Path to a file (as a string), containing your gogoNET password, if any. ''; diff --git a/nixos/modules/services/networking/hostapd.nix b/nixos/modules/services/networking/hostapd.nix index 9f74e496329..2915b54f05b 100644 --- a/nixos/modules/services/networking/hostapd.nix +++ b/nixos/modules/services/networking/hostapd.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, utils, ... }: # TODO: # @@ -12,6 +12,8 @@ let cfg = config.services.hostapd; + escapedInterface = utils.escapeSystemdPath cfg.interface; + configFile = pkgs.writeText "hostapd.conf" '' interface=${cfg.interface} driver=${cfg.driver} @@ -25,13 +27,14 @@ let logger_stdout=-1 logger_stdout_level=2 - ctrl_interface=/var/run/hostapd + ctrl_interface=/run/hostapd ctrl_interface_group=${cfg.group} - ${if cfg.wpa then '' + ${optionalString cfg.wpa '' wpa=2 wpa_passphrase=${cfg.wpaPassphrase} - '' else ""} + ''} + ${optionalString cfg.noScan "noscan=1"} ${cfg.extraConfig} '' ; @@ -67,10 +70,18 @@ in ''; }; + noScan = mkOption { + default = false; + description = '' + Do not scan for overlapping BSSs in HT40+/- mode. + Caution: turning this on will violate regulatory requirements! + ''; + }; + driver = mkOption { default = "nl80211"; example = "hostapd"; - type = types.string; + type = types.str; description = '' Which driver hostapd will use. Most applications will probably use the default. @@ -80,7 +91,7 @@ in ssid = mkOption { default = "nixos"; example = "mySpecialSSID"; - type = types.string; + type = types.str; description = "SSID to be used in IEEE 802.11 management frames."; }; @@ -108,7 +119,7 @@ in group = mkOption { default = "wheel"; example = "network"; - type = types.string; + type = types.str; description = '' Members of this group can control hostapd. ''; @@ -124,7 +135,7 @@ in wpaPassphrase = mkOption { default = "my_sekret"; example = "any_64_char_string"; - type = types.string; + type = types.str; description = '' WPA-PSK (pre-shared-key) passphrase. Clients will need this passphrase to associate with this access point. @@ -157,9 +168,10 @@ in { description = "hostapd wireless AP"; path = [ pkgs.hostapd ]; - after = [ "sys-subsystem-net-devices-${cfg.interface}.device" ]; - bindsTo = [ "sys-subsystem-net-devices-${cfg.interface}.device" ]; + after = [ "sys-subsystem-net-devices-${escapedInterface}.device" ]; + bindsTo = [ "sys-subsystem-net-devices-${escapedInterface}.device" ]; requiredBy = [ "network-link-${cfg.interface}.service" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${pkgs.hostapd}/bin/hostapd ${configFile}"; diff --git a/nixos/modules/services/networking/htpdate.nix b/nixos/modules/services/networking/htpdate.nix index f5d512c7cd5..6954e5b060c 100644 --- a/nixos/modules/services/networking/htpdate.nix +++ b/nixos/modules/services/networking/htpdate.nix @@ -62,7 +62,7 @@ in wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "forking"; - PIDFile = "/var/run/htpdate.pid"; + PIDFile = "/run/htpdate.pid"; ExecStart = concatStringsSep " " [ "${htpdate}/bin/htpdate" "-D -u nobody" diff --git a/nixos/modules/services/networking/hylafax/default.nix b/nixos/modules/services/networking/hylafax/default.nix index 4c63b822d16..d8ffa3fc04d 100644 --- a/nixos/modules/services/networking/hylafax/default.nix +++ b/nixos/modules/services/networking/hylafax/default.nix @@ -26,4 +26,6 @@ }]; }; + meta.maintainers = [ lib.maintainers.yarny ]; + } diff --git a/nixos/modules/services/networking/hylafax/faxq-default.nix b/nixos/modules/services/networking/hylafax/faxq-default.nix index a2630ce66b7..9b634650cf7 100644 --- a/nixos/modules/services/networking/hylafax/faxq-default.nix +++ b/nixos/modules/services/networking/hylafax/faxq-default.nix @@ -4,7 +4,7 @@ { - ModemGroup = [ ''"any:.*"'' ]; + ModemGroup = [ ''"any:0:.*"'' ]; ServerTracing = "0x78701"; SessionTracing = "0x78701"; UUCPLockDir = "/var/lock"; diff --git a/nixos/modules/services/networking/hylafax/systemd.nix b/nixos/modules/services/networking/hylafax/systemd.nix index 91d9c1a37da..0c6602e7f8a 100644 --- a/nixos/modules/services/networking/hylafax/systemd.nix +++ b/nixos/modules/services/networking/hylafax/systemd.nix @@ -7,7 +7,7 @@ let inherit (lib) concatStringsSep optionalString; cfg = config.services.hylafax; - mapModems = lib.flip map (lib.attrValues cfg.modems); + mapModems = lib.forEach (lib.attrValues cfg.modems); mkConfigFile = name: conf: # creates hylafax config file, @@ -41,7 +41,7 @@ let "$out/config.${name}" ''; in - pkgs.runCommand "hylafax-config-modems" {} + pkgs.runCommand "hylafax-config-modems" { preferLocalBuild = true; } ''mkdir --parents "$out/" ${concatStringsSep "\n" (mapModems mkLine)}''; setupSpoolScript = pkgs.substituteAll { diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix index 0e9b354cfca..f2be417738e 100644 --- a/nixos/modules/services/networking/i2pd.nix +++ b/nixos/modules/services/networking/i2pd.nix @@ -12,9 +12,9 @@ let boolOpt = k: v: k + " = " + boolToString v; intOpt = k: v: k + " = " + toString v; lstOpt = k: xs: k + " = " + concatStringsSep "," xs; - optionalNullString = o: s: optional (! isNull s) (strOpt o s); - optionalNullBool = o: b: optional (! isNull b) (boolOpt o b); - optionalNullInt = o: i: optional (! isNull i) (intOpt o i); + optionalNullString = o: s: optional (s != null) (strOpt o s); + optionalNullBool = o: b: optional (b != null) (boolOpt o b); + optionalNullInt = o: i: optional (i != null) (intOpt o i); optionalEmptyList = o: l: optional ([] != l) (lstOpt o l); mkEnableTrueOption = name: mkEnableOption name // { default = true; }; @@ -225,7 +225,7 @@ let i2pdSh = pkgs.writeScriptBin "i2pd" '' #!/bin/sh exec ${pkgs.i2pd}/bin/i2pd \ - ${if isNull cfg.address then "" else "--host="+cfg.address} \ + ${if cfg.address == null then "" else "--host="+cfg.address} \ --service \ --conf=${i2pdConf} \ --tunconf=${tunnelConf} @@ -470,7 +470,7 @@ in ''; }; - trust.hidden = mkEnableOption "Router concealment."; + trust.hidden = mkEnableOption "Router concealment"; websocket = mkEndpointOpt "websockets" "127.0.0.1" 7666; @@ -478,7 +478,7 @@ in exploratory.outbound = i2cpOpts "exploratory"; ntcp2.enable = mkEnableTrueOption "NTCP2."; - ntcp2.published = mkEnableOption "NTCP2 publication."; + ntcp2.published = mkEnableOption "NTCP2 publication"; ntcp2.port = mkOption { type = types.int; default = 0; diff --git a/nixos/modules/services/networking/iodine.nix b/nixos/modules/services/networking/iodine.nix index 58ad0df4ff2..344f84374bb 100644 --- a/nixos/modules/services/networking/iodine.nix +++ b/nixos/modules/services/networking/iodine.nix @@ -63,7 +63,7 @@ in passwordFile = mkOption { type = types.str; default = ""; - description = "File that containts password"; + description = "File that contains password"; }; }; })); @@ -100,7 +100,7 @@ in passwordFile = mkOption { type = types.str; default = ""; - description = "File that containts password"; + description = "File that contains password"; }; }; @@ -120,7 +120,7 @@ in description = "iodine client - ${name}"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - script = "${pkgs.iodine}/bin/iodine -f -u ${iodinedUser} ${cfg.extraConfig} ${optionalString (cfg.passwordFile != "") "-P $(cat \"${cfg.passwordFile}\")"} ${cfg.relay} ${cfg.server}"; + script = "exec ${pkgs.iodine}/bin/iodine -f -u ${iodinedUser} ${cfg.extraConfig} ${optionalString (cfg.passwordFile != "") "< \"${cfg.passwordFile}\""} ${cfg.relay} ${cfg.server}"; serviceConfig = { RestartSec = "30s"; Restart = "always"; @@ -136,7 +136,7 @@ in description = "iodine, ip over dns server daemon"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - script = "${pkgs.iodine}/bin/iodined -f -u ${iodinedUser} ${cfg.server.extraConfig} ${optionalString (cfg.server.passwordFile != "") "-P $(cat \"${cfg.server.passwordFile}\")"} ${cfg.server.ip} ${cfg.server.domain}"; + script = "exec ${pkgs.iodine}/bin/iodined -f -u ${iodinedUser} ${cfg.server.extraConfig} ${optionalString (cfg.server.passwordFile != "") "< \"${cfg.server.passwordFile}\""} ${cfg.server.ip} ${cfg.server.domain}"; }; }; diff --git a/nixos/modules/services/networking/iperf3.nix b/nixos/modules/services/networking/iperf3.nix index 742404a5692..0fe378b225d 100644 --- a/nixos/modules/services/networking/iperf3.nix +++ b/nixos/modules/services/networking/iperf3.nix @@ -19,6 +19,11 @@ let default = null; description = "Bind to the specific interface associated with the given address."; }; + openFirewall = mkOption { + type = types.bool; + default = false; + description = "Open ports in the firewall for iperf3."; + }; verbose = mkOption { type = types.bool; default = false; @@ -52,6 +57,11 @@ let }; imp = { + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ cfg.port ]; + }; + systemd.services.iperf3 = { description = "iperf3 daemon"; unitConfig.Documentation = "man:iperf3(1) https://iperf.fr/iperf-doc.php"; diff --git a/nixos/modules/services/networking/ircd-hybrid/ircd.conf b/nixos/modules/services/networking/ircd-hybrid/ircd.conf index bb22832dbdb..17ef203840a 100644 --- a/nixos/modules/services/networking/ircd-hybrid/ircd.conf +++ b/nixos/modules/services/networking/ircd-hybrid/ircd.conf @@ -987,7 +987,7 @@ general { * egdpool_path: path to EGD pool. Not necessary for OpenSSL >= 0.9.7 * which automatically finds the path. */ -# egdpool_path = "/var/run/egd-pool"; +# egdpool_path = "/run/egd-pool"; /* diff --git a/nixos/modules/services/networking/jormungandr.nix b/nixos/modules/services/networking/jormungandr.nix new file mode 100644 index 00000000000..68f1e9af9ff --- /dev/null +++ b/nixos/modules/services/networking/jormungandr.nix @@ -0,0 +1,97 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.services.jormungandr; + + inherit (lib) mkEnableOption mkIf mkOption; + inherit (lib) optionalString types; + + dataDir = "/var/lib/jormungandr"; + + # Default settings so far, as the service matures we will + # move these out as separate settings + configSettings = { + storage = dataDir; + p2p = { + public_address = "/ip4/127.0.0.1/tcp/8299"; + messages = "high"; + blocks = "high"; + }; + rest = { + listen = "127.0.0.1:8607"; + }; + }; + + configFile = if cfg.configFile == null then + pkgs.writeText "jormungandr.yaml" (builtins.toJSON configSettings) + else cfg.configFile; + +in { + + options = { + + services.jormungandr = { + enable = mkEnableOption "jormungandr service"; + + configFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/var/lib/jormungandr/node.yaml"; + description = '' + The path of the jormungandr blockchain configuration file in YAML format. + If no file is specified, a file is generated using the other options. + ''; + }; + + secretFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/etc/secret/jormungandr.yaml"; + description = '' + The path of the jormungandr blockchain secret node configuration file in + YAML format. Do not store this in nix store! + ''; + }; + + genesisBlockHash = mkOption { + type = types.nullOr types.str; + default = null; + example = "d70495af81ae8600aca3e642b2427327cb6001ec4d7a0037e96a00dabed163f9"; + description = '' + Set the genesis block hash (the hash of the block0) so we can retrieve + the genesis block (and the blockchain configuration) from the existing + storage or from the network. + ''; + }; + + genesisBlockFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/var/lib/jormungandr/block-0.bin"; + description = '' + The path of the genesis block file if we are hosting it locally. + ''; + }; + + }; + }; + + config = mkIf cfg.enable { + + systemd.services.jormungandr = { + description = "jormungandr server"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-online.target" ]; + serviceConfig = { + DynamicUser = true; + StateDirectory = baseNameOf dataDir; + ExecStart = '' + ${pkgs.jormungandr}/bin/jormungandr --config ${configFile} \ + ${optionalString (cfg.secretFile != null) " --secret ${cfg.secretFile}"} \ + ${optionalString (cfg.genesisBlockHash != null) " --genesis-block-hash ${cfg.genesisBlockHash}"} \ + ${optionalString (cfg.genesisBlockFile != null) " --genesis-block ${cfg.genesisBlockFile}"} + ''; + }; + }; + }; +} diff --git a/nixos/modules/services/networking/keybase.nix b/nixos/modules/services/networking/keybase.nix index a149f16a84c..85f52be8a6a 100644 --- a/nixos/modules/services/networking/keybase.nix +++ b/nixos/modules/services/networking/keybase.nix @@ -26,6 +26,7 @@ in { systemd.user.services.keybase = { description = "Keybase service"; + unitConfig.ConditionUser = "!@system"; serviceConfig = { ExecStart = '' ${pkgs.keybase}/bin/keybase service --auto-forked diff --git a/nixos/modules/services/networking/kippo.nix b/nixos/modules/services/networking/kippo.nix index 40c38254a57..7ef989b2a78 100644 --- a/nixos/modules/services/networking/kippo.nix +++ b/nixos/modules/services/networking/kippo.nix @@ -26,22 +26,22 @@ rec { }; hostname = mkOption { default = "nas3"; - type = types.string; + type = types.str; description = ''Hostname for kippo to present to SSH login''; }; varPath = mkOption { default = "/var/lib/kippo"; - type = types.string; + type = types.path; description = ''Path of read/write files needed for operation and configuration.''; }; logPath = mkOption { default = "/var/log/kippo"; - type = types.string; + type = types.path; description = ''Path of log files needed for operation and configuration.''; }; pidPath = mkOption { default = "/run/kippo"; - type = types.string; + type = types.path; description = ''Path of pid files needed for operation.''; }; extraConfig = mkOption { @@ -109,8 +109,8 @@ rec { serviceConfig.ExecStart = "${pkgs.kippo.twisted}/bin/twistd -y ${pkgs.kippo}/src/kippo.tac --syslog --rundir=${cfg.varPath}/ --pidfile=${cfg.pidPath}/kippo.pid --prefix=kippo -n"; serviceConfig.PermissionsStartOnly = true; - serviceConfig.User = "kippo"; - serviceConfig.Group = "kippo"; + serviceConfig.User = "kippo"; + serviceConfig.Group = "kippo"; }; }; } diff --git a/nixos/modules/services/networking/knot.nix b/nixos/modules/services/networking/knot.nix new file mode 100644 index 00000000000..1cc1dd3f2f6 --- /dev/null +++ b/nixos/modules/services/networking/knot.nix @@ -0,0 +1,95 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.knot; + + configFile = pkgs.writeText "knot.conf" cfg.extraConfig; + socketFile = "/run/knot/knot.sock"; + + knotConfCheck = file: pkgs.runCommand "knot-config-checked" + { buildInputs = [ cfg.package ]; } '' + ln -s ${configFile} $out + knotc --config=${configFile} conf-check + ''; + + knot-cli-wrappers = pkgs.stdenv.mkDerivation { + name = "knot-cli-wrappers"; + buildInputs = [ pkgs.makeWrapper ]; + buildCommand = '' + mkdir -p $out/bin + makeWrapper ${cfg.package}/bin/knotc "$out/bin/knotc" \ + --add-flags "--config=${configFile}" \ + --add-flags "--socket=${socketFile}" + makeWrapper ${cfg.package}/bin/keymgr "$out/bin/keymgr" \ + --add-flags "--config=${configFile}" + for executable in kdig khost kjournalprint knsec3hash knsupdate kzonecheck + do + ln -s "${cfg.package}/bin/$executable" "$out/bin/$executable" + done + mkdir -p "$out/share" + ln -s '${cfg.package}/share/man' "$out/share/" + ''; + }; +in { + options = { + services.knot = { + enable = mkEnableOption "Knot authoritative-only DNS server"; + + extraArgs = mkOption { + type = types.listOf types.str; + default = []; + description = '' + List of additional command line paramters for knotd + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra lines to be added verbatim to knot.conf + ''; + }; + + package = mkOption { + type = types.package; + default = pkgs.knot-dns; + description = '' + Which Knot DNS package to use + ''; + }; + }; + }; + + config = mkIf config.services.knot.enable { + systemd.services.knot = { + unitConfig.Documentation = "man:knotd(8) man:knot.conf(5) man:knotc(8) https://www.knot-dns.cz/docs/${cfg.package.version}/html/"; + description = cfg.package.meta.description; + wantedBy = [ "multi-user.target" ]; + wants = [ "network.target" ]; + after = ["network.target" ]; + + serviceConfig = { + Type = "notify"; + ExecStart = "${cfg.package}/bin/knotd --config=${knotConfCheck configFile} --socket=${socketFile} ${concatStringsSep " " cfg.extraArgs}"; + ExecReload = "${knot-cli-wrappers}/bin/knotc reload"; + CapabilityBoundingSet = "CAP_NET_BIND_SERVICE CAP_SETPCAP"; + AmbientCapabilities = "CAP_NET_BIND_SERVICE CAP_SETPCAP"; + NoNewPrivileges = true; + DynamicUser = "yes"; + RuntimeDirectory = "knot"; + StateDirectory = "knot"; + StateDirectoryMode = "0700"; + PrivateDevices = true; + RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6"; + SystemCallArchitectures = "native"; + Restart = "on-abort"; + }; + }; + + environment.systemPackages = [ knot-cli-wrappers ]; + }; +} + diff --git a/nixos/modules/services/networking/kresd.nix b/nixos/modules/services/networking/kresd.nix index ca34ff9df4e..fc516c01230 100644 --- a/nixos/modules/services/networking/kresd.nix +++ b/nixos/modules/services/networking/kresd.nix @@ -80,8 +80,11 @@ in # Syntax depends on being IPv6 or IPv4. (iface: if elem ":" (stringToCharacters iface) then "[${iface}]:53" else "${iface}:53") cfg.interfaces; - socketConfig.ListenDatagram = listenStreams; - socketConfig.FreeBind = true; + socketConfig = { + ListenDatagram = listenStreams; + FreeBind = true; + FileDescriptorName = "dns"; + }; }; systemd.sockets.kresd-tls = mkIf (cfg.listenTLS != []) rec { diff --git a/nixos/modules/services/networking/lldpd.nix b/nixos/modules/services/networking/lldpd.nix index dec30cc92f6..d5de9c45d84 100644 --- a/nixos/modules/services/networking/lldpd.nix +++ b/nixos/modules/services/networking/lldpd.nix @@ -23,7 +23,7 @@ in users.users._lldpd = { description = "lldpd user"; group = "_lldpd"; - home = "/var/run/lldpd"; + home = "/run/lldpd"; isSystemUser = true; }; users.groups._lldpd = {}; diff --git a/nixos/modules/services/networking/minidlna.nix b/nixos/modules/services/networking/minidlna.nix index 1858f03cac1..ed0c1044a57 100644 --- a/nixos/modules/services/networking/minidlna.nix +++ b/nixos/modules/services/networking/minidlna.nix @@ -98,16 +98,10 @@ in wantedBy = [ "multi-user.target" ]; after = [ "network.target" "local-fs.target" ]; - preStart = - '' - mkdir -p /var/cache/minidlna - chown -R minidlna:minidlna /var/cache/minidlna - ''; - serviceConfig = { User = "minidlna"; Group = "minidlna"; - PermissionsStartOnly = true; + CacheDirectory = "minidlna"; RuntimeDirectory = "minidlna"; PIDFile = "/run/minidlna/pid"; ExecStart = diff --git a/nixos/modules/services/networking/miniupnpd.nix b/nixos/modules/services/networking/miniupnpd.nix index ab714a6ac75..c095d994854 100644 --- a/nixos/modules/services/networking/miniupnpd.nix +++ b/nixos/modules/services/networking/miniupnpd.nix @@ -71,7 +71,7 @@ in wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${pkgs.miniupnpd}/bin/miniupnpd -f ${configFile}"; - PIDFile = "/var/run/miniupnpd.pid"; + PIDFile = "/run/miniupnpd.pid"; Type = "forking"; }; }; diff --git a/nixos/modules/services/networking/miredo.nix b/nixos/modules/services/networking/miredo.nix index 8694d08385c..2c8393fb5b4 100644 --- a/nixos/modules/services/networking/miredo.nix +++ b/nixos/modules/services/networking/miredo.nix @@ -20,7 +20,7 @@ in services.miredo = { - enable = mkEnableOption "the Miredo IPv6 tunneling service."; + enable = mkEnableOption "the Miredo IPv6 tunneling service"; package = mkOption { type = types.package; diff --git a/nixos/modules/services/networking/monero.nix b/nixos/modules/services/networking/monero.nix index 8241c32bad0..831e4d60d8d 100644 --- a/nixos/modules/services/networking/monero.nix +++ b/nixos/modules/services/networking/monero.nix @@ -51,7 +51,7 @@ in services.monero = { - enable = mkEnableOption "Monero node daemon."; + enable = mkEnableOption "Monero node daemon"; mining.enable = mkOption { type = types.bool; diff --git a/nixos/modules/services/networking/morty.nix b/nixos/modules/services/networking/morty.nix index cc81e27e939..1b3084fe9ab 100644 --- a/nixos/modules/services/networking/morty.nix +++ b/nixos/modules/services/networking/morty.nix @@ -27,7 +27,7 @@ in }; key = mkOption { - type = types.string; + type = types.str; default = ""; description = "HMAC url validation key (hexadecimal encoded). Leave blank to disable. Without validation key, anyone can @@ -56,7 +56,7 @@ in }; listenAddress = mkOption { - type = types.string; + type = types.str; default = "127.0.0.1"; description = "The address on which the service listens"; defaultText = "127.0.0.1 (localhost)"; diff --git a/nixos/modules/services/networking/mosquitto.nix b/nixos/modules/services/networking/mosquitto.nix index 332dc541345..d2feb93e2b7 100644 --- a/nixos/modules/services/networking/mosquitto.nix +++ b/nixos/modules/services/networking/mosquitto.nix @@ -17,7 +17,6 @@ let ''; mosquittoConf = pkgs.writeText "mosquitto.conf" '' - pid_file /run/mosquitto/pid acl_file ${aclFile} persistence true allow_anonymous ${boolToString cfg.allowAnonymous} @@ -45,12 +44,12 @@ in options = { services.mosquitto = { - enable = mkEnableOption "Enable the MQTT Mosquitto broker."; + enable = mkEnableOption "the MQTT Mosquitto broker"; host = mkOption { default = "127.0.0.1"; example = "0.0.0.0"; - type = types.string; + type = types.str; description = '' Host to listen on without SSL. ''; @@ -66,7 +65,7 @@ in }; ssl = { - enable = mkEnableOption "Enable SSL listener."; + enable = mkEnableOption "SSL listener"; cafile = mkOption { type = types.nullOr types.path; @@ -89,7 +88,7 @@ in host = mkOption { default = "0.0.0.0"; example = "localhost"; - type = types.string; + type = types.str; description = '' Host to listen on with SSL. ''; @@ -136,7 +135,7 @@ in }; acl = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; example = [ "topic read A/B" "topic A/#" ]; description = '' Control client access to topics on the broker. @@ -196,15 +195,15 @@ in wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; serviceConfig = { - Type = "forking"; + Type = "notify"; + NotifyAccess = "main"; User = "mosquitto"; Group = "mosquitto"; RuntimeDirectory = "mosquitto"; WorkingDirectory = cfg.dataDir; Restart = "on-failure"; - ExecStart = "${pkgs.mosquitto}/bin/mosquitto -c ${mosquittoConf} -d"; + ExecStart = "${pkgs.mosquitto}/bin/mosquitto -c ${mosquittoConf}"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - PIDFile = "/run/mosquitto/pid"; }; preStart = '' rm -f ${cfg.dataDir}/passwd @@ -214,7 +213,7 @@ in if c.hashedPassword != null then "echo '${n}:${c.hashedPassword}' >> ${cfg.dataDir}/passwd" else optionalString (c.password != null) - "${pkgs.mosquitto}/bin/mosquitto_passwd -b ${cfg.dataDir}/passwd ${n} ${c.password}" + "${pkgs.mosquitto}/bin/mosquitto_passwd -b ${cfg.dataDir}/passwd ${n} '${c.password}'" ) cfg.users); }; diff --git a/nixos/modules/services/networking/mtprotoproxy.nix b/nixos/modules/services/networking/mtprotoproxy.nix new file mode 100644 index 00000000000..24bf33815da --- /dev/null +++ b/nixos/modules/services/networking/mtprotoproxy.nix @@ -0,0 +1,110 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.mtprotoproxy; + + configOpts = { + PORT = cfg.port; + USERS = cfg.users; + SECURE_ONLY = cfg.secureOnly; + } // lib.optionalAttrs (cfg.adTag != null) { AD_TAG = cfg.adTag; } + // cfg.extraConfig; + + convertOption = opt: + if isString opt || isInt opt then + builtins.toJSON opt + else if isBool opt then + if opt then "True" else "False" + else if isList opt then + "[" + concatMapStringsSep "," convertOption opt + "]" + else if isAttrs opt then + "{" + concatStringsSep "," (mapAttrsToList (name: opt: "${builtins.toJSON name}: ${convertOption opt}") opt) + "}" + else + throw "Invalid option type"; + + configFile = pkgs.writeText "config.py" (concatStringsSep "\n" (mapAttrsToList (name: opt: "${name} = ${convertOption opt}") configOpts)); + +in + +{ + + ###### interface + + options = { + + services.mtprotoproxy = { + + enable = mkEnableOption "mtprotoproxy"; + + port = mkOption { + type = types.int; + default = 3256; + description = '' + TCP port to accept mtproto connections on. + ''; + }; + + users = mkOption { + type = types.attrsOf types.str; + example = { + "tg" = "00000000000000000000000000000000"; + "tg2" = "0123456789abcdef0123456789abcdef"; + }; + description = '' + Allowed users and their secrets. A secret is a 32 characters long hex string. + ''; + }; + + secureOnly = mkOption { + type = types.bool; + default = true; + description = '' + Don't allow users to connect in non-secure mode (without random padding). + ''; + }; + + adTag = mkOption { + type = types.nullOr types.str; + default = null; + # Taken from mtproxyproto's repo. + example = "3c09c680b76ee91a4c25ad51f742267d"; + description = '' + Tag for advertising that can be obtained from @MTProxybot. + ''; + }; + + extraConfig = mkOption { + type = types.attrs; + default = {}; + example = { + "STATS_PRINT_PERIOD" = 600; + }; + description = '' + Extra configuration options for mtprotoproxy. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + systemd.services.mtprotoproxy = { + description = "MTProto Proxy Daemon"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${pkgs.mtprotoproxy}/bin/mtprotoproxy ${configFile}"; + DynamicUser = true; + }; + }; + + }; + +} diff --git a/nixos/modules/services/networking/murmur.nix b/nixos/modules/services/networking/murmur.nix index a6e90feff7e..7ac4d0c6419 100644 --- a/nixos/modules/services/networking/murmur.nix +++ b/nixos/modules/services/networking/murmur.nix @@ -4,6 +4,7 @@ with lib; let cfg = config.services.murmur; + forking = cfg.logFile != null; configFile = pkgs.writeText "murmurd.ini" '' database=/var/lib/murmur/murmur.sqlite dbDriver=QSQLITE @@ -12,8 +13,8 @@ let autobanTimeframe=${toString cfg.autobanTimeframe} autobanTime=${toString cfg.autobanTime} - logfile=/var/log/murmur/murmurd.log - pidfile=${cfg.pidfile} + logfile=${optionalString (cfg.logFile != null) cfg.logFile} + ${optionalString forking "pidfile=/run/murmur/murmurd.pid"} welcometext="${cfg.welcometext}" port=${toString cfg.port} @@ -78,10 +79,11 @@ in description = "The amount of time an IP ban lasts (in seconds)."; }; - pidfile = mkOption { - type = types.path; - default = "/run/murmur/murmurd.pid"; - description = "Path to PID file for Murmur daemon."; + logFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/var/log/murmur/murmurd.log"; + description = "Path to the log file for Murmur daemon. Empty means log to journald."; }; welcometext = mkOption { @@ -251,19 +253,13 @@ in after = [ "network-online.target "]; serviceConfig = { - Type = "forking"; - RuntimeDirectory = "murmur"; - PIDFile = cfg.pidfile; - Restart = "always"; + # murmurd doesn't fork when logging to the console. + Type = if forking then "forking" else "simple"; + PIDFile = mkIf forking "/run/murmur/murmurd.pid"; + RuntimeDirectory = mkIf forking "murmur"; User = "murmur"; ExecStart = "${pkgs.murmur}/bin/murmurd -ini ${configFile}"; - PermissionsStartOnly = true; }; - - preStart = '' - mkdir -p /var/log/murmur - chown -R murmur /var/log/murmur - ''; }; }; } diff --git a/nixos/modules/services/networking/mxisd.nix b/nixos/modules/services/networking/mxisd.nix index 0aa6d0d9ecd..02e89f441b3 100644 --- a/nixos/modules/services/networking/mxisd.nix +++ b/nixos/modules/services/networking/mxisd.nix @@ -103,21 +103,12 @@ in { after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - # mxisd / spring.boot needs the configuration to be named "application.yaml" - preStart = '' - config=${cfg.dataDir}/application.yaml - cp ${configFile} $config - chmod 444 $config - ''; - serviceConfig = { Type = "simple"; User = "mxisd"; Group = "mxisd"; - ExecStart = "${cfg.package}/bin/mxisd --spring.config.location=${cfg.dataDir}/ --spring.profiles.active=systemd --java.security.egd=file:/dev/./urandom"; + ExecStart = "${cfg.package}/bin/mxisd -c ${configFile}"; WorkingDirectory = cfg.dataDir; - PermissionsStartOnly = true; - SuccessExitStatus = 143; Restart = "on-failure"; }; }; diff --git a/nixos/modules/services/networking/namecoind.nix b/nixos/modules/services/networking/namecoind.nix index 8de23b442f9..c8ee0a2f564 100644 --- a/nixos/modules/services/networking/namecoind.nix +++ b/nixos/modules/services/networking/namecoind.nix @@ -1,3 +1,4 @@ + { config, lib, pkgs, ... }: with lib; @@ -43,7 +44,7 @@ in services.namecoind = { - enable = mkEnableOption "namecoind, Namecoin client."; + enable = mkEnableOption "namecoind, Namecoin client"; wallet = mkOption { type = types.path; @@ -174,7 +175,7 @@ in serviceConfig = { User = "namecoin"; Group = "namecoin"; - ExecStart = "${pkgs.altcoins.namecoind}/bin/namecoind -conf=${configFile} -datadir=${dataDir} -printtoconsole"; + ExecStart = "${pkgs.namecoind}/bin/namecoind -conf=${configFile} -datadir=${dataDir} -printtoconsole"; ExecStop = "${pkgs.coreutils}/bin/kill -KILL $MAINPID"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; Nice = "10"; diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index d372dfd8f41..0042a7df8e1 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -1,6 +1,5 @@ { config, lib, pkgs, ... }: -with pkgs; with lib; let @@ -12,11 +11,13 @@ let # /var/lib/misc is for dnsmasq.leases. stateDirs = "/var/lib/NetworkManager /var/lib/dhclient /var/lib/misc"; - configFile = writeText "NetworkManager.conf" '' + configFile = pkgs.writeText "NetworkManager.conf" '' [main] plugins=keyfile dhcp=${cfg.dhcp} dns=${cfg.dns} + # If resolvconf is disabled that means that resolv.conf is managed by some other module. + rc-manager=${if config.networking.resolvconf.enable then "resolvconf" else "unmanaged"} [keyfile] ${optionalString (cfg.unmanaged != []) @@ -64,19 +65,19 @@ let }); ''; - ns = xs: writeText "nameservers" ( + ns = xs: pkgs.writeText "nameservers" ( concatStrings (map (s: "nameserver ${s}\n") xs) ); - overrideNameserversScript = writeScript "02overridedns" '' + overrideNameserversScript = pkgs.writeScript "02overridedns" '' #!/bin/sh - tmp=`${coreutils}/bin/mktemp` - ${gnused}/bin/sed '/nameserver /d' /etc/resolv.conf > $tmp - ${gnugrep}/bin/grep 'nameserver ' /etc/resolv.conf | \ - ${gnugrep}/bin/grep -vf ${ns (cfg.appendNameservers ++ cfg.insertNameservers)} > $tmp.ns - ${optionalString (cfg.appendNameservers != []) "${coreutils}/bin/cat $tmp $tmp.ns ${ns cfg.appendNameservers} > /etc/resolv.conf"} - ${optionalString (cfg.insertNameservers != []) "${coreutils}/bin/cat $tmp ${ns cfg.insertNameservers} $tmp.ns > /etc/resolv.conf"} - ${coreutils}/bin/rm -f $tmp $tmp.ns + PATH=${with pkgs; makeBinPath [ gnused gnugrep coreutils ]} + tmp=$(mktemp) + sed '/nameserver /d' /etc/resolv.conf > $tmp + grep 'nameserver ' /etc/resolv.conf | \ + grep -vf ${ns (cfg.appendNameservers ++ cfg.insertNameservers)} > $tmp.ns + cat $tmp ${ns cfg.insertNameservers} $tmp.ns ${ns cfg.appendNameservers} > /etc/resolv.conf + rm -f $tmp $tmp.ns ''; dispatcherTypesSubdirMap = { @@ -90,11 +91,29 @@ let default = "preserve"; example = "00:11:22:33:44:55"; description = '' - "XX:XX:XX:XX:XX:XX": MAC address of the interface. - permanent: use the permanent MAC address of the device. - preserve: don’t change the MAC address of the device upon activation. - random: generate a randomized value upon each connect. - stable: generate a stable, hashed MAC address. + Set the MAC address of the interface. + + + "XX:XX:XX:XX:XX:XX" + MAC address of the interface + + + "permanent" + Use the permanent MAC address of the device + + + "preserve" + Don’t change the MAC address of the device upon activation + + + "random" + Generate a randomized value upon each connect + + + "stable" + Generate a stable, hashed MAC address + + ''; }; @@ -123,23 +142,42 @@ in { default = ""; description = '' Configuration appended to the generated NetworkManager.conf. + Refer to + + https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html + + or + + NetworkManager.conf + 5 + + for more information. ''; }; unmanaged = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = []; description = '' List of interfaces that will not be managed by NetworkManager. - Interface name can be specified here, but if you need more fidelity - see "Device List Format" in NetworkManager.conf man page. + Interface name can be specified here, but if you need more fidelity, + refer to + + https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html#device-spec + + or the "Device List Format" Appendix of + + NetworkManager.conf + 5 + . ''; }; # Ugly hack for using the correct gnome3 packageSet basePackages = mkOption { type = types.attrsOf types.package; - default = { inherit networkmanager modemmanager wpa_supplicant + default = { inherit (pkgs) + networkmanager modemmanager wpa_supplicant crda networkmanager-openvpn networkmanager-vpnc networkmanager-openconnect networkmanager-fortisslvpn networkmanager-l2tp networkmanager-iodine; }; @@ -219,67 +257,15 @@ in { Set the DNS (resolv.conf) processing mode. - Options: - - - "default" - - NetworkManager will update /etc/resolv.conf to - reflect the nameservers provided by currently active connections. - - - - "dnsmasq" - - - Enable NetworkManager's dnsmasq integration. NetworkManager will - run dnsmasq as a local caching nameserver, using a "split DNS" - configuration if you are connected to a VPN, and then update - resolv.conf to point to the local nameserver. - - - It is possible to pass custom options to the dnsmasq instance by - adding them to files in the - /etc/NetworkManager/dnsmasq.d/ directory. - - - When multiple upstream servers are available, dnsmasq will - initially contact them in parallel and then use the fastest to - respond, probing again other servers after some time. This - behavior can be modified passing the - all-servers or strict-order - options to dnsmasq (see the manual page for more details). - - - Note that this option causes NetworkManager to launch and manage - its own instance of the dnsmasq daemon, which is - not the same as setting - services.dnsmasq.enable = true;. - - - - - "unbound" - - NetworkManager will talk to unbound and dnssec-triggerd, - providing a "split DNS" configuration with DNSSEC support. - /etc/resolv.conf will be managed by - dnssec-trigger daemon. - - - - "systemd-resolved" - - NetworkManager will push the DNS configuration to systemd-resolved. - - - - "none" - - NetworkManager will not modify resolv.conf. - - - + A description of these modes can be found in the main section of + + https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html + + or in + + NetworkManager.conf + 5 + . ''; }; @@ -421,13 +407,10 @@ in { { source = "${networkmanager-l2tp}/lib/NetworkManager/VPN/nm-l2tp-service.name"; target = "NetworkManager/VPN/nm-l2tp-service.name"; } - { source = "${networkmanager_strongswan}/lib/NetworkManager/VPN/nm-strongswan-service.name"; - target = "NetworkManager/VPN/nm-strongswan-service.name"; - } { source = "${networkmanager-iodine}/lib/NetworkManager/VPN/nm-iodine-service.name"; target = "NetworkManager/VPN/nm-iodine-service.name"; } - ] ++ optional (cfg.appendNameservers == [] || cfg.insertNameservers == []) + ] ++ optional (cfg.appendNameservers != [] || cfg.insertNameservers != []) { source = overrideNameserversScript; target = "NetworkManager/dispatcher.d/02overridedns"; } @@ -436,11 +419,15 @@ in { target = "NetworkManager/dispatcher.d/${dispatcherTypesSubdirMap.${s.type}}03userscript${lib.fixedWidthNumber 4 i}"; mode = "0544"; }) cfg.dispatcherScripts - ++ optional (dynamicHostsEnabled) + ++ optional dynamicHostsEnabled { target = "NetworkManager/dnsmasq.d/dyndns.conf"; text = concatMapStrings (n: '' hostsdir=/run/NetworkManager/hostsdirs/${n} '') (attrNames cfg.dynamicHosts.hostsDirs); + } + ++ optional cfg.enableStrongSwan + { source = "${pkgs.networkmanager_strongswan}/lib/NetworkManager/VPN/nm-strongswan-service.name"; + target = "NetworkManager/VPN/nm-strongswan-service.name"; }; environment.systemPackages = cfg.packages; @@ -466,7 +453,7 @@ in { systemd.packages = cfg.packages; - systemd.services."network-manager" = { + systemd.services."NetworkManager" = { wantedBy = [ "network.target" ]; restartTriggers = [ configFile ]; @@ -477,10 +464,14 @@ in { ''; }; + systemd.services.NetworkManager-wait-online = { + wantedBy = [ "network-online.target" ]; + }; + systemd.services.nm-setup-hostsdirs = mkIf dynamicHostsEnabled { - wantedBy = [ "network-manager.service" ]; - before = [ "network-manager.service" ]; - partOf = [ "network-manager.service" ]; + wantedBy = [ "NetworkManager.service" ]; + before = [ "NetworkManager.service" ]; + partOf = [ "NetworkManager.service" ]; script = concatStrings (mapAttrsToList (n: d: '' mkdir -p "/run/NetworkManager/hostsdirs/${n}" chown "${d.user}:${d.group}" "/run/NetworkManager/hostsdirs/${n}" @@ -504,7 +495,7 @@ in { networking = { useDHCP = false; # use mkDefault to trigger the assertion about the conflict above - wireless.enable = lib.mkDefault false; + wireless.enable = mkDefault false; }; security.polkit.extraConfig = polkitConf; diff --git a/nixos/modules/services/networking/nix-serve.nix b/nixos/modules/services/networking/nix-serve.nix index e83cad949ae..347d87b3f38 100644 --- a/nixos/modules/services/networking/nix-serve.nix +++ b/nixos/modules/services/networking/nix-serve.nix @@ -19,7 +19,7 @@ in }; bindAddress = mkOption { - type = types.string; + type = types.str; default = "0.0.0.0"; description = '' IP address where nix-serve will bind its listening socket. @@ -31,11 +31,20 @@ in default = null; description = '' The path to the file used for signing derivation data. + Generate with: + + ``` + nix-store --generate-binary-cache-key key-name secret-key-file public-key-file + ``` + + Make sure user `nix-serve` has read access to the private key file. + + For more details see nix-store1. ''; }; extraParams = mkOption { - type = types.string; + type = types.separatedString " "; default = ""; description = '' Extra command line parameters for nix-serve. diff --git a/nixos/modules/services/networking/nsd.nix b/nixos/modules/services/networking/nsd.nix index 8b918dab86d..c69b77f9dee 100644 --- a/nixos/modules/services/networking/nsd.nix +++ b/nixos/modules/services/networking/nsd.nix @@ -916,9 +916,8 @@ in systemd.services.nsd = { description = "NSD authoritative only domain name service"; - after = [ "keys.target" "network.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - wants = [ "keys.target" ]; serviceConfig = { ExecStart = "${nsdPkg}/sbin/nsd -d -c ${nsdEnv}/nsd.conf"; diff --git a/nixos/modules/services/networking/nullidentdmod.nix b/nixos/modules/services/networking/nullidentdmod.nix index 786b5227dba..b0d338a2794 100644 --- a/nixos/modules/services/networking/nullidentdmod.nix +++ b/nixos/modules/services/networking/nullidentdmod.nix @@ -3,7 +3,7 @@ in { options.services.nullidentdmod = with types; { - enable = mkEnableOption "Enable the nullidentdmod identd daemon"; + enable = mkEnableOption "the nullidentdmod identd daemon"; userid = mkOption { type = nullOr str; diff --git a/nixos/modules/services/networking/nylon.nix b/nixos/modules/services/networking/nylon.nix index b061ce34ed2..7c171281a92 100644 --- a/nixos/modules/services/networking/nylon.nix +++ b/nixos/modules/services/networking/nylon.nix @@ -65,7 +65,7 @@ let }; acceptInterface = mkOption { - type = types.string; + type = types.str; default = "lo"; description = '' Tell nylon which interface to listen for client requests on, default is "lo". @@ -73,7 +73,7 @@ let }; bindInterface = mkOption { - type = types.string; + type = types.str; default = "enp3s0f0"; description = '' Tell nylon which interface to use as an uplink, default is "enp3s0f0". @@ -89,7 +89,7 @@ let }; allowedIPRanges = mkOption { - type = with types; listOf string; + type = with types; listOf str; default = [ "192.168.0.0/16" "127.0.0.1/8" "172.16.0.1/12" "10.0.0.0/8" ]; description = '' Allowed client IP ranges are evaluated first, defaults to ARIN IPv4 private ranges: @@ -98,7 +98,7 @@ let }; deniedIPRanges = mkOption { - type = with types; listOf string; + type = with types; listOf str; default = [ "0.0.0.0/0" ]; description = '' Denied client IP ranges, these gets evaluated after the allowed IP ranges, defaults to all IPv4 addresses: diff --git a/nixos/modules/services/networking/ocserv.nix b/nixos/modules/services/networking/ocserv.nix index 61473a9fabf..dc26ffeafee 100644 --- a/nixos/modules/services/networking/ocserv.nix +++ b/nixos/modules/services/networking/ocserv.nix @@ -31,7 +31,7 @@ in udp-port = 443 run-as-user = nobody run-as-group = nogroup - socket-file = /var/run/ocserv-socket + socket-file = /run/ocserv-socket server-cert = certs/server-cert.pem server-key = certs/server-key.pem keepalive = 32400 @@ -50,7 +50,7 @@ in rekey-time = 172800 rekey-method = ssl use-occtl = true - pid-file = /var/run/ocserv.pid + pid-file = /run/ocserv.pid device = vpns predictable-ips = true default-domain = example.com @@ -90,8 +90,8 @@ in serviceConfig = { PrivateTmp = true; - PIDFile = "/var/run/ocserv.pid"; - ExecStart = "${pkgs.ocserv}/bin/ocserv --foreground --pid-file /var/run/ocesrv.pid --config /etc/ocserv/ocserv.conf"; + PIDFile = "/run/ocserv.pid"; + ExecStart = "${pkgs.ocserv}/bin/ocserv --foreground --pid-file /run/ocesrv.pid --config /etc/ocserv/ocserv.conf"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; }; }; diff --git a/nixos/modules/services/networking/ofono.nix b/nixos/modules/services/networking/ofono.nix new file mode 100644 index 00000000000..40ef9433de0 --- /dev/null +++ b/nixos/modules/services/networking/ofono.nix @@ -0,0 +1,44 @@ +# Ofono daemon. +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.ofono; + + plugin_path = + lib.concatMapStringsSep ":" + (plugin: "${plugin}/lib/ofono/plugins") + cfg.plugins + ; + +in + +{ + ###### interface + options = { + services.ofono = { + enable = mkEnableOption "Ofono"; + + plugins = mkOption { + type = types.listOf types.package; + default = []; + example = literalExample "[ pkgs.modem-manager-gui ]"; + description = '' + The list of plugins to install. + ''; + }; + }; + }; + + ###### implementation + config = mkIf cfg.enable { + services.dbus.packages = [ pkgs.ofono ]; + + systemd.packages = [ pkgs.ofono ]; + + systemd.services.ofono.environment.OFONO_PLUGIN_PATH = mkIf (cfg.plugins != []) plugin_path; + + }; +} diff --git a/nixos/modules/services/networking/openntpd.nix b/nixos/modules/services/networking/openntpd.nix index 57638ebc9c0..f3920aa8064 100644 --- a/nixos/modules/services/networking/openntpd.nix +++ b/nixos/modules/services/networking/openntpd.nix @@ -40,7 +40,7 @@ in }; extraOptions = mkOption { - type = with types; string; + type = with types; separatedString " "; default = ""; example = "-s"; description = '' diff --git a/nixos/modules/services/networking/openvpn.nix b/nixos/modules/services/networking/openvpn.nix index b94b4026fd9..05be97e66a3 100644 --- a/nixos/modules/services/networking/openvpn.nix +++ b/nixos/modules/services/networking/openvpn.nix @@ -85,7 +85,7 @@ in { server = { config = ''' - # Simplest server configuration: http://openvpn.net/index.php/documentation/miscellaneous/static-key-mini-howto.html. + # Simplest server configuration: https://community.openvpn.net/openvpn/wiki/StaticKeyMiniHowto # server : dev tun ifconfig 10.8.0.1 10.8.0.2 @@ -182,12 +182,12 @@ in options = { username = mkOption { description = "The username to store inside the credentials file."; - type = types.string; + type = types.str; }; password = mkOption { description = "The password to store inside the credentials file."; - type = types.string; + type = types.str; }; }; }); diff --git a/nixos/modules/services/networking/ostinato.nix b/nixos/modules/services/networking/ostinato.nix index 13f784dc53c..5e8cce5b89a 100644 --- a/nixos/modules/services/networking/ostinato.nix +++ b/nixos/modules/services/networking/ostinato.nix @@ -50,7 +50,7 @@ in rpcServer = { address = mkOption { - type = types.string; + type = types.str; default = "0.0.0.0"; description = '' By default, the Drone RPC server will listen on all interfaces and @@ -63,7 +63,7 @@ in portList = { include = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = []; example = ''[ "eth*" "lo*" ]''; description = '' diff --git a/nixos/modules/services/networking/pdns-recursor.nix b/nixos/modules/services/networking/pdns-recursor.nix index d07deb9dcc6..ec69cc838da 100644 --- a/nixos/modules/services/networking/pdns-recursor.nix +++ b/nixos/modules/services/networking/pdns-recursor.nix @@ -6,25 +6,27 @@ let dataDir = "/var/lib/pdns-recursor"; username = "pdns-recursor"; - cfg = config.services.pdns-recursor; - zones = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones; + cfg = config.services.pdns-recursor; - configFile = pkgs.writeText "recursor.conf" '' - local-address=${cfg.dns.address} - local-port=${toString cfg.dns.port} - allow-from=${concatStringsSep "," cfg.dns.allowFrom} + oneOrMore = type: with types; either type (listOf type); + valueType = with types; oneOf [ int str bool path ]; + configType = with types; attrsOf (nullOr (oneOrMore valueType)); - webserver-address=${cfg.api.address} - webserver-port=${toString cfg.api.port} - webserver-allow-from=${concatStringsSep "," cfg.api.allowFrom} + toBool = val: if val then "yes" else "no"; + serialize = val: with types; + if str.check val then val + else if int.check val then toString val + else if path.check val then toString val + else if bool.check val then toBool val + else if builtins.isList val then (concatMapStringsSep "," serialize val) + else ""; - forward-zones=${concatStringsSep "," zones} - export-etc-hosts=${if cfg.exportHosts then "yes" else "no"} - dnssec=${cfg.dnssecValidation} - serve-rfc1918=${if cfg.serveRFC1918 then "yes" else "no"} + configFile = pkgs.writeText "recursor.conf" + (concatStringsSep "\n" + (flip mapAttrsToList cfg.settings + (name: val: "${name}=${serialize val}"))); - ${cfg.extraConfig} - ''; + mkDefaultAttrs = mapAttrs (n: v: mkDefault v); in { options.services.pdns-recursor = { @@ -117,17 +119,55 @@ in { ''; }; - extraConfig = mkOption { + settings = mkOption { + type = configType; + default = { }; + example = literalExample '' + { + loglevel = 8; + log-common-errors = true; + } + ''; + description = '' + PowerDNS Recursor settings. Use this option to configure Recursor + settings not exposed in a NixOS option or to bypass one. + See the full documentation at + + for the available options. + ''; + }; + + luaConfig = mkOption { type = types.lines; default = ""; description = '' - Extra options to be appended to the configuration file. + The content Lua configuration file for PowerDNS Recursor. See + . ''; }; }; config = mkIf cfg.enable { + services.pdns-recursor.settings = mkDefaultAttrs { + local-address = cfg.dns.address; + local-port = cfg.dns.port; + allow-from = cfg.dns.allowFrom; + + webserver-address = cfg.api.address; + webserver-port = cfg.api.port; + webserver-allow-from = cfg.api.allowFrom; + + forward-zones = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones; + export-etc-hosts = cfg.exportHosts; + dnssec = cfg.dnssecValidation; + serve-rfc1918 = cfg.serveRFC1918; + lua-config-file = pkgs.writeText "recursor.lua" cfg.luaConfig; + + log-timestamp = false; + disable-syslog = true; + }; + users.users."${username}" = { home = dataDir; createHome = true; @@ -150,8 +190,7 @@ in { AmbientCapabilities = "cap_net_bind_service"; ExecStart = ''${pkgs.pdns-recursor}/bin/pdns_recursor \ --config-dir=${dataDir} \ - --socket-dir=${dataDir} \ - --disable-syslog + --socket-dir=${dataDir} ''; }; @@ -165,4 +204,10 @@ in { ''; }; }; + + imports = [ + (mkRemovedOptionModule [ "services" "pdns-recursor" "extraConfig" ] + "To change extra Recursor settings use services.pdns-recursor.settings instead.") + ]; + } diff --git a/nixos/modules/services/networking/polipo.nix b/nixos/modules/services/networking/polipo.nix index 529115a1c6e..dbe3b738097 100644 --- a/nixos/modules/services/networking/polipo.nix +++ b/nixos/modules/services/networking/polipo.nix @@ -30,7 +30,7 @@ in }; proxyAddress = mkOption { - type = types.string; + type = types.str; default = "127.0.0.1"; description = "IP address on which Polipo will listen."; }; @@ -51,7 +51,7 @@ in }; parentProxy = mkOption { - type = types.string; + type = types.str; default = ""; example = "localhost:8124"; description = '' @@ -61,7 +61,7 @@ in }; socksParentProxy = mkOption { - type = types.string; + type = types.str; default = ""; example = "localhost:9050"; description = '' @@ -74,7 +74,7 @@ in type = types.lines; default = ""; description = '' - Polio configuration. Contents will be added + Polio configuration. Contents will be added verbatim to the configuration file. ''; }; @@ -111,4 +111,4 @@ in }; -} \ No newline at end of file +} diff --git a/nixos/modules/services/networking/pptpd.nix b/nixos/modules/services/networking/pptpd.nix index d8b9e8f8341..3e7753b9dd3 100644 --- a/nixos/modules/services/networking/pptpd.nix +++ b/nixos/modules/services/networking/pptpd.nix @@ -8,13 +8,13 @@ with lib; enable = mkEnableOption "pptpd, the Point-to-Point Tunneling Protocol daemon"; serverIp = mkOption { - type = types.string; + type = types.str; description = "The server-side IP address."; default = "10.124.124.1"; }; clientIpRange = mkOption { - type = types.string; + type = types.str; description = "The range from which client IPs are drawn."; default = "10.124.124.2-11"; }; diff --git a/nixos/modules/services/networking/prayer.nix b/nixos/modules/services/networking/prayer.nix index f63f86496be..c936417e68c 100644 --- a/nixos/modules/services/networking/prayer.nix +++ b/nixos/modules/services/networking/prayer.nix @@ -25,7 +25,7 @@ let ${cfg.extraConfig} ''; - prayerCfg = pkgs.runCommand "prayer.cf" { } '' + prayerCfg = pkgs.runCommand "prayer.cf" { preferLocalBuild = true; } '' # We have to remove the http_port 80, or it will start a server there cat ${prayer}/etc/prayer.cf | grep -v http_port > $out cat ${prayerExtraCfg} >> $out diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix index de316e5f466..1ae063aa6bb 100644 --- a/nixos/modules/services/networking/prosody.nix +++ b/nixos/modules/services/networking/prosody.nix @@ -297,7 +297,7 @@ in }; dataDir = mkOption { - type = types.string; + type = types.path; description = "Directory where Prosody stores its data"; default = "/var/lib/prosody"; }; @@ -422,6 +422,13 @@ in description = "List of administrators of the current host"; }; + authentication = mkOption { + type = types.enum [ "internal_plain" "internal_hashed" "cyrus" "anonymous" ]; + default = "internal_hashed"; + example = "internal_plain"; + description = "Authentication mechanism used for logins."; + }; + extraConfig = mkOption { type = types.lines; default = ""; @@ -477,6 +484,7 @@ in s2s_secure_domains = ${toLua cfg.s2sSecureDomains} + authentication = ${toLua cfg.authentication} ${ cfg.extraConfig } diff --git a/nixos/modules/services/networking/quassel.nix b/nixos/modules/services/networking/quassel.nix index b223a48e055..b495b3948fb 100644 --- a/nixos/modules/services/networking/quassel.nix +++ b/nixos/modules/services/networking/quassel.nix @@ -104,6 +104,10 @@ in gid = config.ids.gids.quassel; }]; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - ${user} - - -" + ]; + systemd.services.quassel = { description = "Quassel IRC client daemon"; @@ -111,11 +115,6 @@ in after = [ "network.target" ] ++ optional config.services.postgresql.enable "postgresql.service" ++ optional config.services.mysql.enable "mysql.service"; - preStart = '' - mkdir -p ${cfg.dataDir} - chown ${user} ${cfg.dataDir} - ''; - serviceConfig = { ExecStart = concatStringsSep " " ([ @@ -126,7 +125,6 @@ in ] ++ optional cfg.requireSSL "--require-ssl" ++ optional (cfg.certificateFile != null) "--ssl-cert=${cfg.certificateFile}"); User = user; - PermissionsStartOnly = true; }; }; diff --git a/nixos/modules/services/networking/quicktun.nix b/nixos/modules/services/networking/quicktun.nix new file mode 100644 index 00000000000..5bcf923f909 --- /dev/null +++ b/nixos/modules/services/networking/quicktun.nix @@ -0,0 +1,118 @@ +{ config, pkgs, lib, ... }: + +let + + cfg = config.services.quicktun; + +in + +with lib; + +{ + options = { + + services.quicktun = mkOption { + default = { }; + description = "QuickTun tunnels"; + type = types.attrsOf (types.submodule { + options = { + tunMode = mkOption { + type = types.int; + default = 0; + example = 1; + description = ""; + }; + + remoteAddress = mkOption { + type = types.str; + example = "tunnel.example.com"; + description = ""; + }; + + localAddress = mkOption { + type = types.str; + example = "0.0.0.0"; + description = ""; + }; + + localPort = mkOption { + type = types.int; + default = 2998; + description = ""; + }; + + remotePort = mkOption { + type = types.int; + default = 2998; + description = ""; + }; + + remoteFloat = mkOption { + type = types.int; + default = 0; + description = ""; + }; + + protocol = mkOption { + type = types.str; + default = "nacltai"; + description = ""; + }; + + privateKey = mkOption { + type = types.str; + description = ""; + }; + + publicKey = mkOption { + type = types.str; + description = ""; + }; + + timeWindow = mkOption { + type = types.int; + default = 5; + description = ""; + }; + + upScript = mkOption { + type = types.lines; + default = ""; + description = ""; + }; + }; + }); + }; + + }; + + config = mkIf (cfg != []) { + systemd.services = fold (a: b: a // b) {} ( + mapAttrsToList (name: qtcfg: { + "quicktun-${name}" = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + environment = { + "INTERFACE" = name; + "TUN_MODE" = toString qtcfg.tunMode; + "REMOTE_ADDRESS" = qtcfg.remoteAddress; + "LOCAL_ADDRESS" = qtcfg.localAddress; + "LOCAL_PORT" = toString qtcfg.localPort; + "REMOTE_PORT" = toString qtcfg.remotePort; + "REMOTE_FLOAT" = toString qtcfg.remoteFloat; + "PRIVATE_KEY" = qtcfg.privateKey; + "PUBLIC_KEY" = qtcfg.publicKey; + "TIME_WINDOW" = toString qtcfg.timeWindow; + "TUN_UP_SCRIPT" = pkgs.writeScript "quicktun-${name}-up.sh" qtcfg.upScript; + "SUID" = "nobody"; + }; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.quicktun}/bin/quicktun.${qtcfg.protocol}"; + }; + }; + }) cfg + ); + }; + +} diff --git a/nixos/modules/services/networking/racoon.nix b/nixos/modules/services/networking/racoon.nix index 86e13d1ea0d..328f4cb1497 100644 --- a/nixos/modules/services/networking/racoon.nix +++ b/nixos/modules/services/networking/racoon.nix @@ -32,12 +32,12 @@ in { else cfg.configPath }"; ExecReload = "${pkgs.ipsecTools}/bin/racoonctl reload-config"; - PIDFile = "/var/run/racoon.pid"; + PIDFile = "/run/racoon.pid"; Type = "forking"; Restart = "always"; }; preStart = '' - rm /var/run/racoon.pid || true + rm /run/racoon.pid || true mkdir -p /var/racoon ''; }; diff --git a/nixos/modules/services/networking/radicale.nix b/nixos/modules/services/networking/radicale.nix index d6fabbcd470..1daced4a6c7 100644 --- a/nixos/modules/services/networking/radicale.nix +++ b/nixos/modules/services/networking/radicale.nix @@ -41,7 +41,7 @@ in }; services.radicale.config = mkOption { - type = types.string; + type = types.str; default = ""; description = '' Radicale configuration, this will set the service @@ -50,7 +50,7 @@ in }; services.radicale.extraArgs = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = []; description = "Extra arguments passed to the Radicale daemon."; }; diff --git a/nixos/modules/services/networking/rdnssd.nix b/nixos/modules/services/networking/rdnssd.nix index 887772f6e5f..bccab805bee 100644 --- a/nixos/modules/services/networking/rdnssd.nix +++ b/nixos/modules/services/networking/rdnssd.nix @@ -35,6 +35,11 @@ in config = mkIf config.services.rdnssd.enable { + assertions = [{ + assertion = config.networking.resolvconf.enable; + message = "rdnssd needs resolvconf to work (probably something sets up a static resolv.conf)"; + }]; + systemd.services.rdnssd = { description = "RDNSS daemon"; after = [ "network.target" ]; diff --git a/nixos/modules/services/networking/shadowsocks.nix b/nixos/modules/services/networking/shadowsocks.nix index fe6d65a5f96..af12db590f0 100644 --- a/nixos/modules/services/networking/shadowsocks.nix +++ b/nixos/modules/services/networking/shadowsocks.nix @@ -35,10 +35,10 @@ in }; localAddress = mkOption { - type = types.str; - default = "0.0.0.0"; + type = types.coercedTo types.str singleton (types.listOf types.str); + default = [ "[::0]" "0.0.0.0" ]; description = '' - Local address to which the server binds. + Local addresses to which the server binds. ''; }; diff --git a/nixos/modules/services/networking/shout.nix b/nixos/modules/services/networking/shout.nix index 1ea676d0f92..e548ec66962 100644 --- a/nixos/modules/services/networking/shout.nix +++ b/nixos/modules/services/networking/shout.nix @@ -6,7 +6,7 @@ let cfg = config.services.shout; shoutHome = "/var/lib/shout"; - defaultConfig = pkgs.runCommand "config.js" {} '' + defaultConfig = pkgs.runCommand "config.js" { preferLocalBuild = true; } '' EDITOR=true ${pkgs.shout}/bin/shout config --home $PWD mv config.js $out ''; @@ -35,7 +35,7 @@ in { }; listenAddress = mkOption { - type = types.string; + type = types.str; default = "0.0.0.0"; description = "IP interface to listen on for http connections."; }; diff --git a/nixos/modules/services/networking/smokeping.nix b/nixos/modules/services/networking/smokeping.nix index 9ba6e48f417..20228ceaaff 100644 --- a/nixos/modules/services/networking/smokeping.nix +++ b/nixos/modules/services/networking/smokeping.nix @@ -55,7 +55,7 @@ in description = "Enable the smokeping service"; }; alertConfig = mkOption { - type = types.string; + type = types.lines; default = '' to = root@localhost from = smokeping@localhost @@ -73,19 +73,20 @@ in description = "Configuration for alerts."; }; cgiUrl = mkOption { - type = types.string; - default = "http://${cfg.hostName}:${builtins.toString cfg.port}/smokeping.cgi"; + type = types.str; + default = "http://${cfg.hostName}:${toString cfg.port}/smokeping.cgi"; + defaultText = "http://\${hostName}:\${toString port}/smokeping.cgi"; example = "https://somewhere.example.com/smokeping.cgi"; description = "URL to the smokeping cgi."; }; config = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.lines; default = null; description = "Full smokeping config supplied by the user. Overrides " + "and replaces any other configuration supplied."; }; databaseConfig = mkOption { - type = types.string; + type = types.lines; default = '' step = 300 pings = 20 @@ -101,17 +102,17 @@ in ''; example = literalExample '' # near constant pings. - step = 30 - pings = 20 - # consfn mrhb steps total - AVERAGE 0.5 1 10080 - AVERAGE 0.5 12 43200 - MIN 0.5 12 43200 - MAX 0.5 12 43200 - AVERAGE 0.5 144 7200 - MAX 0.5 144 7200 - MIN 0.5 144 7200 - ''; + step = 30 + pings = 20 + # consfn mrhb steps total + AVERAGE 0.5 1 10080 + AVERAGE 0.5 12 43200 + MIN 0.5 12 43200 + MAX 0.5 12 43200 + AVERAGE 0.5 144 7200 + MAX 0.5 144 7200 + MIN 0.5 144 7200 + ''; description = ''Configure the ping frequency and retention of the rrd files. Once set, changing the interval will require deletion or migration of all the collected data.''; @@ -122,14 +123,15 @@ in description = "Any additional customization not already included."; }; hostName = mkOption { - type = types.string; + type = types.str; default = config.networking.hostName; example = "somewhere.example.com"; description = "DNS name for the urls generated in the cgi."; }; imgUrl = mkOption { - type = types.string; - default = "http://${cfg.hostName}:${builtins.toString cfg.port}/cache"; + type = types.str; + default = "http://${cfg.hostName}:${toString cfg.port}/cache"; + defaultText = "http://\${hostName}:\${toString port}/cache"; example = "https://somewhere.example.com/cache"; description = "Base url for images generated in the cgi."; }; @@ -140,19 +142,19 @@ in description = "DNS name for the urls generated in the cgi."; }; mailHost = mkOption { - type = types.string; + type = types.str; default = ""; example = "localhost"; description = "Use this SMTP server to send alerts"; }; owner = mkOption { - type = types.string; + type = types.str; default = "nobody"; example = "Joe Admin"; description = "Real name of the owner of the instance"; }; ownerEmail = mkOption { - type = types.string; + type = types.str; default = "no-reply@${cfg.hostName}"; example = "no-reply@yourdomain.com"; description = "Email contact for owner"; @@ -170,7 +172,7 @@ in description = "TCP port to use for the web server."; }; presentationConfig = mkOption { - type = types.string; + type = types.lines; default = '' + charts menu = Charts @@ -211,12 +213,12 @@ in description = "presentation graph style"; }; presentationTemplate = mkOption { - type = types.string; + type = types.str; default = "${pkgs.smokeping}/etc/basepage.html.dist"; description = "Default page layout for the web UI."; }; probeConfig = mkOption { - type = types.string; + type = types.lines; default = '' + FPing binary = ${config.security.wrapperDir}/fping @@ -230,12 +232,12 @@ in description = "Use this sendmail compatible script to deliver alerts"; }; smokeMailTemplate = mkOption { - type = types.string; + type = types.str; default = "${cfg.package}/etc/smokemail.dist"; description = "Specify the smokemail template for alerts."; }; targetConfig = mkOption { - type = types.string; + type = types.lines; default = '' probe = FPing menu = Top @@ -253,7 +255,7 @@ in description = "Target configuration"; }; user = mkOption { - type = types.string; + type = types.str; default = "smokeping"; description = "User that runs smokeping and (optionally) thttpd"; }; @@ -285,12 +287,12 @@ in uid = config.ids.uids.smokeping; description = "smokeping daemon user"; home = smokepingHome; + createHome = true; }; systemd.services.smokeping = { wantedBy = [ "multi-user.target"]; serviceConfig = { User = cfg.user; - PermissionsStartOnly = true; Restart = "on-failure"; }; preStart = '' @@ -300,7 +302,6 @@ in cp ${cgiHome} ${smokepingHome}/smokeping.fcgi ${cfg.package}/bin/smokeping --check --config=${configPath} ${cfg.package}/bin/smokeping --static --config=${configPath} - chown -R ${cfg.user} ${smokepingHome} ''; script = ''${cfg.package}/bin/smokeping --config=${configPath} --nodaemon''; }; diff --git a/nixos/modules/services/networking/softether.nix b/nixos/modules/services/networking/softether.nix index 65df93a00da..669c69d832b 100644 --- a/nixos/modules/services/networking/softether.nix +++ b/nixos/modules/services/networking/softether.nix @@ -50,7 +50,7 @@ in }; dataDir = mkOption { - type = types.string; + type = types.path; default = "/var/lib/softether"; description = '' Data directory for SoftEther VPN. diff --git a/nixos/modules/services/networking/squid.nix b/nixos/modules/services/networking/squid.nix index b220c21b604..9d063b92aa1 100644 --- a/nixos/modules/services/networking/squid.nix +++ b/nixos/modules/services/networking/squid.nix @@ -159,11 +159,10 @@ in serviceConfig = { Type="forking"; PIDFile="/run/squid.pid"; - PermissionsStartOnly = true; ExecStart = "${pkgs.squid}/bin/squid -YCs -f ${squidConfig}"; }; }; }; -} \ No newline at end of file +} diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index 95dc8a62a45..91fc7d72bc6 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -4,6 +4,23 @@ with lib; let + # The splicing information needed for nativeBuildInputs isn't available + # on the derivations likely to be used as `cfgc.package`. + # This middle-ground solution ensures *an* sshd can do their basic validation + # on the configuration. + validationPackage = if pkgs.stdenv.buildPlatform == pkgs.stdenv.hostPlatform + then [ cfgc.package ] + else [ pkgs.buildPackages.openssh ]; + + sshconf = pkgs.runCommand "sshd.conf-validated" { nativeBuildInputs = [ validationPackage ]; } '' + cat >$out < diff --git a/nixos/modules/services/networking/strongswan-swanctl/param-lib.nix b/nixos/modules/services/networking/strongswan-swanctl/param-lib.nix index fb87e81f321..193ad27f035 100644 --- a/nixos/modules/services/networking/strongswan-swanctl/param-lib.nix +++ b/nixos/modules/services/networking/strongswan-swanctl/param-lib.nix @@ -45,10 +45,10 @@ rec { filterEmptySets ( (mapParamsRecursive (path: name: param: let value = attrByPath path null cfg; - in optionalAttrs (!isNull value) (param.render name value) + in optionalAttrs (value != null) (param.render name value) ) ps)); - filterEmptySets = set : filterAttrs (n: v: !(isNull v)) (mapAttrs (name: value: + filterEmptySets = set : filterAttrs (n: v: (v != null)) (mapAttrs (name: value: if isAttrs value then let value' = filterEmptySets value; in if value' == {} diff --git a/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix b/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix index d4f7e95f859..808cb863a9c 100644 --- a/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix +++ b/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix @@ -6,7 +6,7 @@ # # git clone https://github.com/strongswan/strongswan.git # cd strongswan -# git diff 5.5.3..5.6.0 src/swanctl/swanctl.opt +# git diff 5.7.2..5.8.0 src/swanctl/swanctl.opt lib: with (import ./param-constructors.nix lib); @@ -227,6 +227,22 @@ in { irrespective of the value of this option (even when set to no). ''; + childless = mkEnumParam [ "allow" "force" "never" ] "allow" '' + Use childless IKE_SA initiation (RFC 6023) for IKEv2. Acceptable values + are allow (the default), force and + never. If set to allow, responders + will accept childless IKE_SAs (as indicated via notify in the IKE_SA_INIT + response) while initiators continue to create regular IKE_SAs with the + first CHILD_SA created during IKE_AUTH, unless the IKE_SA is initiated + explicitly without any children (which will fail if the responder does not + support or has disabled this extension). If set to + force, only childless initiation is accepted and the + first CHILD_SA is created with a separate CREATE_CHILD_SA exchange + (e.g. to use an independent DH exchange for all CHILD_SAs). Finally, + setting the option to never disables support for + childless IKE_SAs as responder. + ''; + send_certreq = mkYesNoParam yes '' Send certificate request payloads to offer trusted root CA certificates to the peer. Certificate requests help the peer to choose an appropriate @@ -350,6 +366,16 @@ in { name from either the pools section or an external pool. ''; + if_id_in = mkStrParam "0" '' + XFRM interface ID set on inbound policies/SA, can be overridden by child + config, see there for details. + ''; + + if_id_out = mkStrParam "0" '' + XFRM interface ID set on outbound policies/SA, can be overridden by child + config, see there for details. + ''; + mediation = mkYesNoParam no '' Whether this connection is a mediation connection, that is, whether this connection is used to mediate other connections using the IKEv2 Mediation @@ -799,7 +825,7 @@ in { Updown script to invoke on CHILD_SA up and down events. ''; - hostaccess = mkYesNoParam yes '' + hostaccess = mkYesNoParam no '' Hostaccess variable to pass to updown script. ''; @@ -960,6 +986,26 @@ in { mask requires at least Linux 4.19. ''; + if_id_in = mkStrParam "0" '' + XFRM interface ID set on inbound policies/SA. This allows installing + duplicate policies/SAs and associates them with an interface with the + same ID. The special value %unique sets a unique + interface ID on each CHILD_SA instance, beyond that the value + %unique-dir assigns a different unique interface ID + for each CHILD_SA direction (in/out). + ''; + + if_id_out = mkStrParam "0" '' + XFRM interface ID set on outbound policies/SA. This allows installing + duplicate policies/SAs and associates them with an interface with the + same ID. The special value %unique sets a unique + interface ID on each CHILD_SA instance, beyond that the value + %unique-dir assigns a different unique interface ID + for each CHILD_SA direction (in/out). + + The daemon will not install routes for CHILD_SAs that have this option set. + ''; + tfc_padding = mkParamOfType (with lib.types; either int (enum ["mtu"])) 0 '' Pads ESP packets with additional data to have a consistent ESP packet size for improved Traffic Flow Confidentiality. The padding defines the diff --git a/nixos/modules/services/networking/strongswan.nix b/nixos/modules/services/networking/strongswan.nix index 707d24b9220..4ff9c486059 100644 --- a/nixos/modules/services/networking/strongswan.nix +++ b/nixos/modules/services/networking/strongswan.nix @@ -54,7 +54,7 @@ in enable = mkEnableOption "strongSwan"; secrets = mkOption { - type = types.listOf types.path; + type = types.listOf types.str; default = []; example = [ "/run/keys/ipsec-foo.secret" ]; description = '' @@ -151,8 +151,7 @@ in description = "strongSwan IPSec Service"; wantedBy = [ "multi-user.target" ]; path = with pkgs; [ kmod iproute iptables utillinux ]; # XXX Linux - wants = [ "keys.target" ]; - after = [ "network-online.target" "keys.target" ]; + after = [ "network-online.target" ]; environment = { STRONGSWAN_CONF = strongswanConf { inherit setup connections ca secretsFile managePlugins enabledPlugins; }; }; diff --git a/nixos/modules/services/networking/stubby.nix b/nixos/modules/services/networking/stubby.nix index 3fbf6eb60e9..b38bcd4cec0 100644 --- a/nixos/modules/services/networking/stubby.nix +++ b/nixos/modules/services/networking/stubby.nix @@ -168,7 +168,7 @@ in default = defaultUpstream; type = types.lines; description = '' - Add additional upstreams. See stubby + Replace default upstreams. See stubby 1 for an example of the entry formatting. In Strict mode, at least one of the following settings must be supplied for each nameserver: diff --git a/nixos/modules/services/networking/stunnel.nix b/nixos/modules/services/networking/stunnel.nix index 89a14966eca..cbc899f2b4d 100644 --- a/nixos/modules/services/networking/stunnel.nix +++ b/nixos/modules/services/networking/stunnel.nix @@ -35,12 +35,12 @@ let clientConfig = { options = { accept = mkOption { - type = types.string; + type = types.str; description = "IP:Port on which connections should be accepted."; }; connect = mkOption { - type = types.string; + type = types.str; description = "IP:Port destination to connect to."; }; @@ -63,7 +63,7 @@ let }; verifyHostname = mkOption { - type = with types; nullOr string; + type = with types; nullOr str; default = null; description = "If set, stunnel checks if the provided certificate is valid for the given hostname."; }; @@ -88,13 +88,13 @@ in }; user = mkOption { - type = with types; nullOr string; + type = with types; nullOr str; default = "nobody"; description = "The user under which stunnel runs."; }; group = mkOption { - type = with types; nullOr string; + type = with types; nullOr str; default = "nogroup"; description = "The group under which stunnel runs."; }; diff --git a/nixos/modules/services/networking/supplicant.nix b/nixos/modules/services/networking/supplicant.nix index 3c4321ab9e9..35c1e649e2e 100644 --- a/nixos/modules/services/networking/supplicant.nix +++ b/nixos/modules/services/networking/supplicant.nix @@ -132,7 +132,7 @@ in extraCmdArgs = mkOption { type = types.str; default = ""; - example = "-e/var/run/wpa_supplicant/entropy.bin"; + example = "-e/run/wpa_supplicant/entropy.bin"; description = "Command line arguments to add when executing wpa_supplicant."; }; @@ -164,7 +164,7 @@ in socketDir = mkOption { type = types.str; - default = "/var/run/wpa_supplicant"; + default = "/run/wpa_supplicant"; description = "Directory of sockets for controlling wpa_supplicant."; }; diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix index 702481ec517..126f5b7b527 100644 --- a/nixos/modules/services/networking/syncthing.nix +++ b/nixos/modules/services/networking/syncthing.nix @@ -5,6 +5,60 @@ with lib; let cfg = config.services.syncthing; defaultUser = "syncthing"; + + devices = mapAttrsToList (name: device: { + deviceID = device.id; + inherit (device) name addresses introducer; + }) cfg.declarative.devices; + + folders = mapAttrsToList ( _: folder: { + inherit (folder) path id label type; + devices = map (device: { deviceId = cfg.declarative.devices.${device}.id; }) folder.devices; + rescanIntervalS = folder.rescanInterval; + fsWatcherEnabled = folder.watch; + fsWatcherDelayS = folder.watchDelay; + ignorePerms = folder.ignorePerms; + }) (filterAttrs ( + _: folder: + folder.enable + ) cfg.declarative.folders); + + # get the api key by parsing the config.xml + getApiKey = pkgs.writers.writeDash "getAPIKey" '' + ${pkgs.libxml2}/bin/xmllint \ + --xpath 'string(configuration/gui/apikey)'\ + ${cfg.configDir}/config.xml + ''; + + updateConfig = pkgs.writers.writeDash "merge-syncthing-config" '' + set -efu + # wait for syncthing port to open + until ${pkgs.curl}/bin/curl -Ss ${cfg.guiAddress} -o /dev/null; do + sleep 1 + done + + API_KEY=$(${getApiKey}) + OLD_CFG=$(${pkgs.curl}/bin/curl -Ss \ + -H "X-API-Key: $API_KEY" \ + ${cfg.guiAddress}/rest/system/config) + + # generate the new config by merging with the nixos config options + NEW_CFG=$(echo "$OLD_CFG" | ${pkgs.jq}/bin/jq -s '.[] as $in | $in * { + "devices": (${builtins.toJSON devices}${optionalString (! cfg.declarative.overrideDevices) " + $in.devices"}), + "folders": (${builtins.toJSON folders}${optionalString (! cfg.declarative.overrideFolders) " + $in.folders"}) + }') + + # POST the new config to syncthing + echo "$NEW_CFG" | ${pkgs.curl}/bin/curl -Ss \ + -H "X-API-Key: $API_KEY" \ + ${cfg.guiAddress}/rest/system/config -d @- + + # restart syncthing after sending the new config + ${pkgs.curl}/bin/curl -Ss \ + -H "X-API-Key: $API_KEY" \ + -X POST \ + ${cfg.guiAddress}/rest/system/restart + ''; in { ###### interface options = { @@ -16,6 +70,202 @@ in { available on http://127.0.0.1:8384/. ''; + declarative = { + cert = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Path to users cert.pem file, will be copied into the syncthing's + configDir + ''; + }; + + key = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Path to users key.pem file, will be copied into the syncthing's + configDir + ''; + }; + + overrideDevices = mkOption { + type = types.bool; + default = true; + description = '' + Whether to delete the devices which are not configured via the + declarative.devices option. + If set to false, devices added via the webinterface will + persist but will have to be deleted manually. + ''; + }; + + devices = mkOption { + default = {}; + description = '' + Peers/devices which syncthing should communicate with. + ''; + example = { + bigbox = { + id = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU"; + addresses = [ "tcp://192.168.0.10:51820" ]; + }; + }; + type = types.attrsOf (types.submodule ({ config, ... }: { + options = { + + name = mkOption { + type = types.str; + default = config._module.args.name; + description = '' + Name of the device + ''; + }; + + addresses = mkOption { + type = types.listOf types.str; + default = []; + description = '' + The addresses used to connect to the device. + If this is let empty, dynamic configuration is attempted + ''; + }; + + id = mkOption { + type = types.str; + description = '' + The id of the other peer, this is mandatory. It's documented at + https://docs.syncthing.net/dev/device-ids.html + ''; + }; + + introducer = mkOption { + type = types.bool; + default = false; + description = '' + If the device should act as an introducer and be allowed + to add folders on this computer. + ''; + }; + + }; + })); + }; + + overrideFolders = mkOption { + type = types.bool; + default = true; + description = '' + Whether to delete the folders which are not configured via the + declarative.folders option. + If set to false, folders added via the webinterface will persist + but will have to be deleted manually. + ''; + }; + + folders = mkOption { + default = {}; + description = '' + folders which should be shared by syncthing. + ''; + example = { + "/home/user/sync" = { + id = "syncme"; + devices = [ "bigbox" ]; + }; + }; + type = types.attrsOf (types.submodule ({ config, ... }: { + options = { + + enable = mkOption { + type = types.bool; + default = true; + description = '' + share this folder. + This option is useful when you want to define all folders + in one place, but not every machine should share all folders. + ''; + }; + + path = mkOption { + type = types.str; + default = config._module.args.name; + description = '' + The path to the folder which should be shared. + ''; + }; + + id = mkOption { + type = types.str; + default = config._module.args.name; + description = '' + The id of the folder. Must be the same on all devices. + ''; + }; + + label = mkOption { + type = types.str; + default = config._module.args.name; + description = '' + The label of the folder. + ''; + }; + + devices = mkOption { + type = types.listOf types.str; + default = []; + description = '' + The devices this folder should be shared with. Must be defined + in the declarative.devices attribute. + ''; + }; + + rescanInterval = mkOption { + type = types.int; + default = 3600; + description = '' + How often the folders should be rescaned for changes. + ''; + }; + + type = mkOption { + type = types.enum [ "sendreceive" "sendonly" "receiveonly" ]; + default = "sendreceive"; + description = '' + Whether to send only changes from this folder, only receive them + or propagate both. + ''; + }; + + watch = mkOption { + type = types.bool; + default = true; + description = '' + Whether the folder should be watched for changes by inotify. + ''; + }; + + watchDelay = mkOption { + type = types.int; + default = 10; + description = '' + The delay after an inotify event is triggered. + ''; + }; + + ignorePerms = mkOption { + type = types.bool; + default = true; + description = '' + Whether to propagate permission changes. + ''; + }; + + }; + })); + }; + }; + guiAddress = mkOption { type = types.str; default = "127.0.0.1:8384"; @@ -41,7 +291,7 @@ in { group = mkOption { type = types.str; - default = "nogroup"; + default = defaultUser; description = '' Syncthing will be run under this group (group will not be created if it doesn't exist. This can be your user name). @@ -122,16 +372,18 @@ in { systemd.packages = [ pkgs.syncthing ]; - users = mkIf (cfg.systemService && cfg.user == defaultUser) { - users."${defaultUser}" = + users.users = mkIf (cfg.systemService && cfg.user == defaultUser) { + "${defaultUser}" = { group = cfg.group; home = cfg.dataDir; createHome = true; uid = config.ids.uids.syncthing; description = "Syncthing daemon user"; }; + }; - groups."${defaultUser}".gid = + users.groups = mkIf (cfg.systemService && cfg.group == defaultUser) { + "${defaultUser}".gid = config.ids.gids.syncthing; }; @@ -151,7 +403,17 @@ in { RestartForceExitStatus="3 4"; User = cfg.user; Group = cfg.group; - PermissionsStartOnly = true; + ExecStartPre = mkIf (cfg.declarative.cert != null || cfg.declarative.key != null) + "+${pkgs.writers.writeBash "syncthing-copy-keys" '' + install -dm700 -o ${cfg.user} -g ${cfg.group} ${cfg.configDir} + ${optionalString (cfg.declarative.cert != null) '' + install -Dm400 -o ${cfg.user} -g ${cfg.group} ${toString cfg.declarative.cert} ${cfg.configDir}/cert.pem + ''} + ${optionalString (cfg.declarative.key != null) '' + install -Dm400 -o ${cfg.user} -g ${cfg.group} ${toString cfg.declarative.key} ${cfg.configDir}/key.pem + ''} + ''}" + ; ExecStart = '' ${cfg.package}/bin/syncthing \ -no-browser \ @@ -160,6 +422,19 @@ in { ''; }; }; + syncthing-init = mkIf ( + cfg.declarative.devices != {} || cfg.declarative.folders != {} + ) { + after = [ "syncthing.service" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + User = cfg.user; + RemainAfterExit = true; + Type = "oneshot"; + ExecStart = updateConfig; + }; + }; syncthing-resume = { wantedBy = [ "suspend.target" ]; diff --git a/nixos/modules/services/networking/teamspeak3.nix b/nixos/modules/services/networking/teamspeak3.nix index 9ea9c83e37c..fadb32dcd77 100644 --- a/nixos/modules/services/networking/teamspeak3.nix +++ b/nixos/modules/services/networking/teamspeak3.nix @@ -111,16 +111,15 @@ in gid = config.ids.gids.teamspeak; }; + systemd.tmpfiles.rules = [ + "d '${cfg.logPath}' - ${user} ${group} - -" + ]; + systemd.services.teamspeak3-server = { description = "Teamspeak3 voice communication server daemon"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - preStart = '' - mkdir -p ${cfg.logPath} - chown ${user}:${group} ${cfg.logPath} - ''; - serviceConfig = { ExecStart = '' ${ts3}/bin/ts3server \ @@ -135,7 +134,6 @@ in WorkingDirectory = cfg.dataDir; User = user; Group = group; - PermissionsStartOnly = true; }; }; }; diff --git a/nixos/modules/services/networking/tedicross.nix b/nixos/modules/services/networking/tedicross.nix new file mode 100644 index 00000000000..0716975f594 --- /dev/null +++ b/nixos/modules/services/networking/tedicross.nix @@ -0,0 +1,100 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + dataDir = "/var/lib/tedicross"; + cfg = config.services.tedicross; + configJSON = pkgs.writeText "tedicross-settings.json" (builtins.toJSON cfg.config); + configYAML = pkgs.runCommand "tedicross-settings.yaml" { preferLocalBuild = true; } '' + ${pkgs.remarshal}/bin/json2yaml -i ${configJSON} -o $out + ''; + +in { + options = { + services.tedicross = { + enable = mkEnableOption "the TediCross Telegram-Discord bridge service"; + + config = mkOption { + type = types.attrs; + # from https://github.com/TediCross/TediCross/blob/master/example.settings.yaml + example = literalExample '' + { + telegram = { + useFirstNameInsteadOfUsername = false; + colonAfterSenderName = false; + skipOldMessages = true; + sendEmojiWithStickers = true; + }; + discord = { + useNickname = false; + skipOldMessages = true; + displayTelegramReplies = "embed"; + replyLength = 100; + }; + bridges = [ + { + name = "Default bridge"; + direction = "both"; + telegram = { + chatId = -123456789; + relayJoinMessages = true; + relayLeaveMessages = true; + sendUsernames = true; + ignoreCommands = true; + }; + discord = { + serverId = "DISCORD_SERVER_ID"; + channelId = "DISCORD_CHANNEL_ID"; + relayJoinMessages = true; + relayLeaveMessages = true; + sendUsernames = true; + crossDeleteOnTelegram = true; + }; + } + ]; + + debug = false; + } + ''; + description = '' + settings.yaml configuration as a Nix attribute set. + Secret tokens should be specified using + instead of this world-readable file. + ''; + }; + + environmentFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + File containing environment variables to be passed to the TediCross service, + in which secret tokens can be specified securely using the + TELEGRAM_BOT_TOKEN and DISCORD_BOT_TOKEN + keys. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + # from https://github.com/TediCross/TediCross/blob/master/guides/autostart/Linux.md + systemd.services.tedicross = { + description = "TediCross Telegram-Discord bridge service"; + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.nodePackages.tedicross}/bin/tedicross --config='${configYAML}' --data-dir='${dataDir}'"; + Restart = "always"; + DynamicUser = true; + StateDirectory = baseNameOf dataDir; + EnvironmentFile = cfg.environmentFile; + }; + }; + }; + + meta.maintainers = with maintainers; [ pacien ]; +} + diff --git a/nixos/modules/services/networking/thelounge.nix b/nixos/modules/services/networking/thelounge.nix new file mode 100644 index 00000000000..b1d23372955 --- /dev/null +++ b/nixos/modules/services/networking/thelounge.nix @@ -0,0 +1,75 @@ +{ pkgs, lib, config, ... }: + +with lib; + +let + cfg = config.services.thelounge; + dataDir = "/var/lib/thelounge"; + configJsData = "module.exports = " + builtins.toJSON ( + { private = cfg.private; port = cfg.port; } // cfg.extraConfig + ); +in { + options.services.thelounge = { + enable = mkEnableOption "The Lounge web IRC client"; + + private = mkOption { + type = types.bool; + default = false; + description = '' + Make your The Lounge instance private. You will need to configure user + accounts by using the (thelounge) command or by adding + entries in ${dataDir}/users. You might need to restart + The Lounge after making changes to the state directory. + ''; + }; + + port = mkOption { + type = types.port; + default = 9000; + description = "TCP port to listen on for http connections."; + }; + + extraConfig = mkOption { + default = {}; + type = types.attrs; + example = literalExample ''{ + reverseProxy = true; + defaults = { + name = "Your Network"; + host = "localhost"; + port = 6697; + }; + }''; + description = '' + The Lounge's config.js contents as attribute set (will be + converted to JSON to generate the configuration file). + + The options defined here will be merged to the default configuration file. + Note: In case of duplicate configuration, options from have priority. + + Documentation: + ''; + }; + }; + + config = mkIf cfg.enable { + users.users.thelounge = { + description = "thelounge service user"; + group = "thelounge"; + }; + users.groups.thelounge = {}; + systemd.services.thelounge = { + description = "The Lounge web IRC client"; + wantedBy = [ "multi-user.target" ]; + environment = { THELOUNGE_HOME = dataDir; }; + preStart = "ln -sf ${pkgs.writeText "config.js" configJsData} ${dataDir}/config.js"; + serviceConfig = { + User = "thelounge"; + StateDirectory = baseNameOf dataDir; + ExecStart = "${pkgs.thelounge}/bin/thelounge start"; + }; + }; + + environment.systemPackages = [ pkgs.thelounge ]; + }; +} diff --git a/nixos/modules/services/networking/tinc.nix b/nixos/modules/services/networking/tinc.nix index 3379efd1afc..e98aafc2093 100644 --- a/nixos/modules/services/networking/tinc.nix +++ b/nixos/modules/services/networking/tinc.nix @@ -153,7 +153,6 @@ in ({ description = "Tinc Daemon - ${network}"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; path = [ data.package ]; restartTriggers = [ config.environment.etc."tinc/${network}/tinc.conf".source ]; serviceConfig = { diff --git a/nixos/modules/services/networking/tox-node.nix b/nixos/modules/services/networking/tox-node.nix new file mode 100644 index 00000000000..c24e7fd1285 --- /dev/null +++ b/nixos/modules/services/networking/tox-node.nix @@ -0,0 +1,95 @@ +{ lib, pkgs, config, ... }: + +with lib; + +let + pkg = pkgs.tox-node; + cfg = config.services.tox-node; + homeDir = "/var/lib/tox-node"; + + configFile = let + # fetchurl should be switched to getting this file from tox-node.src once + # the dpkg directory is in a release + src = pkgs.fetchurl { + url = "https://raw.githubusercontent.com/tox-rs/tox-node/master/dpkg/config.yml"; + sha256 = "1431wzpzm786mcvyzk1rp7ar418n45dr75hdggxvlm7pkpam31xa"; + }; + confJSON = pkgs.writeText "config.json" ( + builtins.toJSON { + log-type = cfg.logType; + keys-file = cfg.keysFile; + udp-address = cfg.udpAddress; + tcp-addresses = cfg.tcpAddresses; + tcp-connections-limit = cfg.tcpConnectionLimit; + lan-discovery = cfg.lanDiscovery; + threads = cfg.threads; + motd = cfg.motd; + } + ); + in with pkgs; runCommand "config.yml" {} '' + ${remarshal}/bin/remarshal -if yaml -of json ${src} -o src.json + ${jq}/bin/jq -s '(.[0] | with_entries( select(.key == "bootstrap-nodes"))) * .[1]' src.json ${confJSON} > $out + ''; + +in { + options.services.tox-node = { + enable = mkEnableOption "Tox Node service"; + + logType = mkOption { + type = types.enum [ "Stderr" "Stdout" "Syslog" "None" ]; + default = "Stderr"; + description = "Logging implementation."; + }; + keysFile = mkOption { + type = types.str; + default = "${homeDir}/keys"; + description = "Path to the file where DHT keys are stored."; + }; + udpAddress = mkOption { + type = types.str; + default = "0.0.0.0:33445"; + description = "UDP address to run DHT node."; + }; + tcpAddresses = mkOption { + type = types.listOf types.str; + default = [ "0.0.0.0:33445" ]; + description = "TCP addresses to run TCP relay."; + }; + tcpConnectionLimit = mkOption { + type = types.int; + default = 8192; + description = "Maximum number of active TCP connections relay can hold"; + }; + lanDiscovery = mkOption { + type = types.bool; + default = true; + description = "Enable local network discovery."; + }; + threads = mkOption { + type = types.int; + default = 1; + description = "Number of threads for execution"; + }; + motd = mkOption { + type = types.str; + default = "Hi from tox-rs! I'm up {{uptime}}. TCP: incoming {{tcp_packets_in}}, outgoing {{tcp_packets_out}}, UDP: incoming {{udp_packets_in}}, outgoing {{udp_packets_out}}"; + description = "Message of the day"; + }; + }; + + config = lib.mkIf cfg.enable { + systemd.services.tox-node = { + description = "Tox Node"; + + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + ExecStart = "${pkg}/bin/tox-node config ${configFile}"; + StateDirectory = "tox-node"; + DynamicUser = true; + Restart = "always"; + }; + }; + }; +} diff --git a/nixos/modules/services/networking/toxvpn.nix b/nixos/modules/services/networking/toxvpn.nix index b7655f4bec6..7daacba185f 100644 --- a/nixos/modules/services/networking/toxvpn.nix +++ b/nixos/modules/services/networking/toxvpn.nix @@ -5,10 +5,10 @@ with lib; { options = { services.toxvpn = { - enable = mkEnableOption "enable toxvpn running on startup"; + enable = mkEnableOption "toxvpn running on startup"; localip = mkOption { - type = types.string; + type = types.str; default = "10.123.123.1"; description = "your ip on the vpn"; }; @@ -20,7 +20,7 @@ with lib; }; auto_add_peers = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = []; example = ''[ "toxid1" "toxid2" ]''; description = "peers to automacally connect to on startup"; diff --git a/nixos/modules/services/networking/unbound.nix b/nixos/modules/services/networking/unbound.nix index 1a35979ad44..3cf82e8839b 100644 --- a/nixos/modules/services/networking/unbound.nix +++ b/nixos/modules/services/networking/unbound.nix @@ -101,6 +101,8 @@ in isSystemUser = true; }; + networking.resolvconf.useLocalResolver = mkDefault true; + systemd.services.unbound = { description = "Unbound recursive Domain Name Server"; after = [ "network.target" ]; diff --git a/nixos/modules/services/networking/unifi.nix b/nixos/modules/services/networking/unifi.nix index c82e0af2803..c922ba15960 100644 --- a/nixos/modules/services/networking/unifi.nix +++ b/nixos/modules/services/networking/unifi.nix @@ -146,6 +146,11 @@ in where = where; }) mountPoints; + systemd.tmpfiles.rules = [ + "e '${stateDir}' 0700 unifi - - -" + "d '${stateDir}/data' 0700 unifi - - -" + ]; + systemd.services.unifi = { description = "UniFi controller daemon"; wantedBy = [ "multi-user.target" ]; @@ -157,14 +162,9 @@ in environment.LD_LIBRARY_PATH = with pkgs.stdenv; "${cc.cc.lib}/lib"; preStart = '' - # Ensure privacy of state and data. - chown unifi "${stateDir}" "${stateDir}/data" - chmod 0700 "${stateDir}" "${stateDir}/data" - # Create the volatile webapps rm -rf "${stateDir}/webapps" mkdir -p "${stateDir}/webapps" - chown unifi "${stateDir}/webapps" ln -s "${cfg.unifiPackage}/webapps/ROOT" "${stateDir}/webapps/ROOT" ''; @@ -176,8 +176,8 @@ in Type = "simple"; ExecStart = "${(removeSuffix "\n" cmd)} start"; ExecStop = "${(removeSuffix "\n" cmd)} stop"; + Restart = "on-failure"; User = "unifi"; - PermissionsStartOnly = true; UMask = "0077"; WorkingDirectory = "${stateDir}"; }; diff --git a/nixos/modules/services/networking/vsftpd.nix b/nixos/modules/services/networking/vsftpd.nix index 31e1e65fa9c..67be60da567 100644 --- a/nixos/modules/services/networking/vsftpd.nix +++ b/nixos/modules/services/networking/vsftpd.nix @@ -164,7 +164,7 @@ in }; anonymousUmask = mkOption { - type = types.string; + type = types.str; default = "077"; example = "002"; description = "Anonymous write umask."; diff --git a/nixos/modules/services/networking/wg-quick.nix b/nixos/modules/services/networking/wg-quick.nix new file mode 100644 index 00000000000..b770d47d269 --- /dev/null +++ b/nixos/modules/services/networking/wg-quick.nix @@ -0,0 +1,312 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.networking.wg-quick; + + kernel = config.boot.kernelPackages; + + # interface options + + interfaceOpts = { ... }: { + options = { + address = mkOption { + example = [ "192.168.2.1/24" ]; + default = []; + type = with types; listOf str; + description = "The IP addresses of the interface."; + }; + + dns = mkOption { + example = [ "192.168.2.2" ]; + default = []; + type = with types; listOf str; + description = "The IP addresses of DNS servers to configure."; + }; + + privateKey = mkOption { + example = "yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk="; + type = with types; nullOr str; + default = null; + description = '' + Base64 private key generated by wg genkey. + + Warning: Consider using privateKeyFile instead if you do not + want to store the key in the world-readable Nix store. + ''; + }; + + privateKeyFile = mkOption { + example = "/private/wireguard_key"; + type = with types; nullOr str; + default = null; + description = '' + Private key file as generated by wg genkey. + ''; + }; + + listenPort = mkOption { + default = null; + type = with types; nullOr int; + example = 51820; + description = '' + 16-bit port for listening. Optional; if not specified, + automatically generated based on interface name. + ''; + }; + + preUp = mkOption { + example = literalExample '' + ${pkgs.iproute}/bin/ip netns add foo + ''; + default = ""; + type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines; + description = '' + Commands called at the start of the interface setup. + ''; + }; + + preDown = mkOption { + example = literalExample '' + ${pkgs.iproute}/bin/ip netns del foo + ''; + default = ""; + type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines; + description = '' + Command called before the interface is taken down. + ''; + }; + + postUp = mkOption { + example = literalExample '' + ${pkgs.iproute}/bin/ip netns add foo + ''; + default = ""; + type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines; + description = '' + Commands called after the interface setup. + ''; + }; + + postDown = mkOption { + example = literalExample '' + ${pkgs.iproute}/bin/ip netns del foo + ''; + default = ""; + type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines; + description = '' + Command called after the interface is taken down. + ''; + }; + + table = mkOption { + example = "main"; + default = null; + type = with types; nullOr str; + description = '' + The kernel routing table to add this interface's + associated routes to. Setting this is useful for e.g. policy routing + ("ip rule") or virtual routing and forwarding ("ip vrf"). Both numeric + table IDs and table names (/etc/rt_tables) can be used. Defaults to + "main". + ''; + }; + + mtu = mkOption { + example = 1248; + default = null; + type = with types; nullOr int; + description = '' + If not specified, the MTU is automatically determined + from the endpoint addresses or the system default route, which is usually + a sane choice. However, to manually specify an MTU to override this + automatic discovery, this value may be specified explicitly. + ''; + }; + + peers = mkOption { + default = []; + description = "Peers linked to the interface."; + type = with types; listOf (submodule peerOpts); + }; + }; + }; + + # peer options + + peerOpts = { + options = { + publicKey = mkOption { + example = "xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg="; + type = types.str; + description = "The base64 public key the peer."; + }; + + presharedKey = mkOption { + default = null; + example = "rVXs/Ni9tu3oDBLS4hOyAUAa1qTWVA3loR8eL20os3I="; + type = with types; nullOr str; + description = '' + Base64 preshared key generated by wg genpsk. Optional, + and may be omitted. This option adds an additional layer of + symmetric-key cryptography to be mixed into the already existing + public-key cryptography, for post-quantum resistance. + + Warning: Consider using presharedKeyFile instead if you do not + want to store the key in the world-readable Nix store. + ''; + }; + + presharedKeyFile = mkOption { + default = null; + example = "/private/wireguard_psk"; + type = with types; nullOr str; + description = '' + File pointing to preshared key as generated by wg pensk. Optional, + and may be omitted. This option adds an additional layer of + symmetric-key cryptography to be mixed into the already existing + public-key cryptography, for post-quantum resistance. + ''; + }; + + allowedIPs = mkOption { + example = [ "10.192.122.3/32" "10.192.124.1/24" ]; + type = with types; listOf str; + description = ''List of IP (v4 or v6) addresses with CIDR masks from + which this peer is allowed to send incoming traffic and to which + outgoing traffic for this peer is directed. The catch-all 0.0.0.0/0 may + be specified for matching all IPv4 addresses, and ::/0 may be specified + for matching all IPv6 addresses.''; + }; + + endpoint = mkOption { + default = null; + example = "demo.wireguard.io:12913"; + type = with types; nullOr str; + description = ''Endpoint IP or hostname of the peer, followed by a colon, + and then a port number of the peer.''; + }; + + persistentKeepalive = mkOption { + default = null; + type = with types; nullOr int; + example = 25; + description = ''This is optional and is by default off, because most + users will not need it. It represents, in seconds, between 1 and 65535 + inclusive, how often to send an authenticated empty packet to the peer, + for the purpose of keeping a stateful firewall or NAT mapping valid + persistently. For example, if the interface very rarely sends traffic, + but it might at anytime receive traffic from a peer, and it is behind + NAT, the interface might benefit from having a persistent keepalive + interval of 25 seconds; however, most users will not need this.''; + }; + }; + }; + + writeScriptFile = name: text: ((pkgs.writeShellScriptBin name text) + "/bin/${name}"); + + generateUnit = name: values: + assert assertMsg ((values.privateKey != null) != (values.privateKeyFile != null)) "Only one of privateKey or privateKeyFile may be set"; + let + preUpFile = if values.preUp != "" then writeScriptFile "preUp.sh" values.preUp else null; + postUp = + optional (values.privateKeyFile != null) "wg set ${name} private-key <(cat ${values.privateKeyFile})" ++ + (concatMap (peer: optional (peer.presharedKeyFile != null) "wg set ${name} peer ${peer.publicKey} preshared-key <(cat ${peer.presharedKeyFile})") values.peers) ++ + optional (values.postUp != null) values.postUp; + postUpFile = if postUp != [] then writeScriptFile "postUp.sh" (concatMapStringsSep "\n" (line: line) postUp) else null; + preDownFile = if values.preDown != "" then writeScriptFile "preDown.sh" values.preDown else null; + postDownFile = if values.postDown != "" then writeScriptFile "postDown.sh" values.postDown else null; + configDir = pkgs.writeTextFile { + name = "config-${name}"; + executable = false; + destination = "/${name}.conf"; + text = + '' + [interface] + ${concatMapStringsSep "\n" (address: + "Address = ${address}" + ) values.address} + ${concatMapStringsSep "\n" (dns: + "DNS = ${dns}" + ) values.dns} + '' + + optionalString (values.table != null) "Table = ${values.table}\n" + + optionalString (values.mtu != null) "MTU = ${toString values.mtu}\n" + + optionalString (values.privateKey != null) "PrivateKey = ${values.privateKey}\n" + + optionalString (values.listenPort != null) "ListenPort = ${toString values.listenPort}\n" + + optionalString (preUpFile != null) "PreUp = ${preUpFile}\n" + + optionalString (postUpFile != null) "PostUp = ${postUpFile}\n" + + optionalString (preDownFile != null) "PreDown = ${preDownFile}\n" + + optionalString (postDownFile != null) "PostDown = ${postDownFile}\n" + + concatMapStringsSep "\n" (peer: + assert assertMsg (!((peer.presharedKeyFile != null) && (peer.presharedKey != null))) "Only one of presharedKey or presharedKeyFile may be set"; + "[Peer]\n" + + "PublicKey = ${peer.publicKey}\n" + + optionalString (peer.presharedKey != null) "PresharedKey = ${peer.presharedKey}\n" + + optionalString (peer.endpoint != null) "Endpoint = ${peer.endpoint}\n" + + optionalString (peer.persistentKeepalive != null) "PersistentKeepalive = ${toString peer.persistentKeepalive}\n" + + optionalString (peer.allowedIPs != []) "AllowedIPs = ${concatStringsSep "," peer.allowedIPs}\n" + ) values.peers; + }; + configPath = "${configDir}/${name}.conf"; + in + nameValuePair "wg-quick-${name}" + { + description = "wg-quick WireGuard Tunnel - ${name}"; + requires = [ "network-online.target" ]; + after = [ "network.target" "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + environment.DEVICE = name; + path = [ pkgs.kmod pkgs.wireguard-tools ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = '' + ${optionalString (!config.boot.isContainer) "modprobe wireguard"} + wg-quick up ${configPath} + ''; + + preStop = '' + wg-quick down ${configPath} + ''; + }; +in { + + ###### interface + + options = { + networking.wg-quick = { + interfaces = mkOption { + description = "Wireguard interfaces."; + default = {}; + example = { + wg0 = { + address = [ "192.168.20.4/24" ]; + privateKey = "yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk="; + peers = [ + { allowedIPs = [ "192.168.20.1/32" ]; + publicKey = "xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg="; + endpoint = "demo.wireguard.io:12913"; } + ]; + }; + }; + type = with types; attrsOf (submodule interfaceOpts); + }; + }; + }; + + + ###### implementation + + config = mkIf (cfg.interfaces != {}) { + boot.extraModulePackages = [ kernel.wireguard ]; + environment.systemPackages = [ pkgs.wireguard-tools ]; + # This is forced to false for now because the default "--validmark" rpfilter we apply on reverse path filtering + # breaks the wg-quick routing because wireguard packets leave with a fwmark from wireguard. + networking.firewall.checkReversePath = false; + systemd.services = mapAttrs' generateUnit cfg.interfaces; + }; +} diff --git a/nixos/modules/services/networking/wireguard.nix b/nixos/modules/services/networking/wireguard.nix index 41aff1480a0..4176da2c8cb 100644 --- a/nixos/modules/services/networking/wireguard.nix +++ b/nixos/modules/services/networking/wireguard.nix @@ -26,19 +26,28 @@ let type = with types; nullOr str; default = null; description = '' - Base64 private key generated by wg genkey. + Base64 private key generated by wg genkey. Warning: Consider using privateKeyFile instead if you do not want to store the key in the world-readable Nix store. ''; }; + generatePrivateKeyFile = mkOption { + default = false; + type = types.bool; + description = '' + Automatically generate a private key with + wg genkey, at the privateKeyFile location. + ''; + }; + privateKeyFile = mkOption { example = "/private/wireguard_key"; type = with types; nullOr str; default = null; description = '' - Private key file as generated by wg genkey. + Private key file as generated by wg genkey. ''; }; @@ -124,8 +133,8 @@ let example = "rVXs/Ni9tu3oDBLS4hOyAUAa1qTWVA3loR8eL20os3I="; type = with types; nullOr str; description = '' - Base64 preshared key generated by wg genpsk. Optional, - and may be omitted. This option adds an additional layer of + Base64 preshared key generated by wg genpsk. + Optional, and may be omitted. This option adds an additional layer of symmetric-key cryptography to be mixed into the already existing public-key cryptography, for post-quantum resistance. @@ -139,8 +148,8 @@ let example = "/private/wireguard_psk"; type = with types; nullOr str; description = '' - File pointing to preshared key as generated by wg pensk. Optional, - and may be omitted. This option adds an additional layer of + File pointing to preshared key as generated by wg pensk. + Optional, and may be omitted. This option adds an additional layer of symmetric-key cryptography to be mixed into the already existing public-key cryptography, for post-quantum resistance. ''; @@ -182,9 +191,101 @@ let }; - generateUnit = name: values: + + generatePathUnit = name: values: + assert (values.privateKey == null); + assert (values.privateKeyFile != null); + nameValuePair "wireguard-${name}" + { + description = "WireGuard Tunnel - ${name} - Private Key"; + requiredBy = [ "wireguard-${name}.service" ]; + before = [ "wireguard-${name}.service" ]; + pathConfig.PathExists = values.privateKeyFile; + }; + + generateKeyServiceUnit = name: values: + assert values.generatePrivateKeyFile; + nameValuePair "wireguard-${name}-key" + { + description = "WireGuard Tunnel - ${name} - Key Generator"; + wantedBy = [ "wireguard-${name}.service" ]; + requiredBy = [ "wireguard-${name}.service" ]; + before = [ "wireguard-${name}.service" ]; + path = with pkgs; [ wireguard ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = '' + mkdir --mode 0644 -p "${dirOf values.privateKeyFile}" + if [ ! -f "${values.privateKeyFile}" ]; then + touch "${values.privateKeyFile}" + chmod 0600 "${values.privateKeyFile}" + wg genkey > "${values.privateKeyFile}" + chmod 0400 "${values.privateKeyFile}" + fi + ''; + }; + + generatePeerUnit = { interfaceName, interfaceCfg, peer }: + let + keyToUnitName = replaceChars + [ "/" "-" " " "+" "=" ] + [ "-" "\\x2d" "\\x20" "\\x2b" "\\x3d" ]; + unitName = keyToUnitName peer.publicKey; + psk = + if peer.presharedKey != null + then pkgs.writeText "wg-psk" peer.presharedKey + else peer.presharedKeyFile; + in nameValuePair "wireguard-${interfaceName}-peer-${unitName}" + { + description = "WireGuard Peer - ${interfaceName} - ${peer.publicKey}"; + requires = [ "wireguard-${interfaceName}.service" ]; + after = [ "wireguard-${interfaceName}.service" ]; + wantedBy = [ "multi-user.target" "wireguard-${interfaceName}.service" ]; + environment.DEVICE = interfaceName; + environment.WG_ENDPOINT_RESOLUTION_RETRIES = "infinity"; + path = with pkgs; [ iproute wireguard-tools ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = let + wg_setup = "wg set ${interfaceName} peer ${peer.publicKey}" + + optionalString (psk != null) " preshared-key ${psk}" + + optionalString (peer.endpoint != null) " endpoint ${peer.endpoint}" + + optionalString (peer.persistentKeepalive != null) " persistent-keepalive ${toString peer.persistentKeepalive}" + + optionalString (peer.allowedIPs != []) " allowed-ips ${concatStringsSep "," peer.allowedIPs}"; + route_setup = + optionalString (interfaceCfg.allowedIPsAsRoutes != false) + (concatMapStringsSep "\n" + (allowedIP: + "ip route replace ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}" + ) peer.allowedIPs); + in '' + ${wg_setup} + ${route_setup} + ''; + + postStop = let + route_destroy = optionalString (interfaceCfg.allowedIPsAsRoutes != false) + (concatMapStringsSep "\n" + (allowedIP: + "ip route delete ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}" + ) peer.allowedIPs); + in '' + wg set ${interfaceName} peer ${peer.publicKey} remove + ${route_destroy} + ''; + }; + + generateInterfaceUnit = name: values: # exactly one way to specify the private key must be set - assert (values.privateKey != null) != (values.privateKeyFile != null); + #assert (values.privateKey != null) != (values.privateKeyFile != null); let privKey = if values.privateKeyFile != null then values.privateKeyFile else pkgs.writeText "wg-key" values.privateKey; in nameValuePair "wireguard-${name}" @@ -202,7 +303,7 @@ let }; script = '' - ${optionalString (!config.boot.isContainer) "modprobe wireguard"} + ${optionalString (!config.boot.isContainer) "modprobe wireguard || true"} ${values.preSetup} @@ -215,25 +316,8 @@ let wg set ${name} private-key ${privKey} ${ optionalString (values.listenPort != null) " listen-port ${toString values.listenPort}"} - ${concatMapStringsSep "\n" (peer: - assert (peer.presharedKeyFile == null) || (peer.presharedKey == null); # at most one of the two must be set - let psk = if peer.presharedKey != null then pkgs.writeText "wg-psk" peer.presharedKey else peer.presharedKeyFile; - in - "wg set ${name} peer ${peer.publicKey}" + - optionalString (psk != null) " preshared-key ${psk}" + - optionalString (peer.endpoint != null) " endpoint ${peer.endpoint}" + - optionalString (peer.persistentKeepalive != null) " persistent-keepalive ${toString peer.persistentKeepalive}" + - optionalString (peer.allowedIPs != []) " allowed-ips ${concatStringsSep "," peer.allowedIPs}" - ) values.peers} - ip link set up dev ${name} - ${optionalString (values.allowedIPsAsRoutes != false) (concatStringsSep "\n" (concatMap (peer: - (map (allowedIP: - "ip route replace ${allowedIP} dev ${name} table ${values.table}" - ) peer.allowedIPs) - ) values.peers))} - ${values.postSetup} ''; @@ -253,8 +337,16 @@ in networking.wireguard = { + enable = mkOption { + description = "Whether to enable WireGuard."; + type = types.bool; + # 2019-05-25: Backwards compatibility. + default = cfg.interfaces != {}; + example = true; + }; + interfaces = mkOption { - description = "Wireguard interfaces."; + description = "WireGuard interfaces."; default = {}; example = { wg0 = { @@ -277,13 +369,40 @@ in ###### implementation - config = mkIf (cfg.interfaces != {}) { + config = mkIf cfg.enable (let + all_peers = flatten + (mapAttrsToList (interfaceName: interfaceCfg: + map (peer: { inherit interfaceName interfaceCfg peer;}) interfaceCfg.peers + ) cfg.interfaces); + in { + + assertions = (attrValues ( + mapAttrs (name: value: { + assertion = (value.privateKey != null) != (value.privateKeyFile != null); + message = "Either networking.wireguard.interfaces.${name}.privateKey or networking.wireguard.interfaces.${name}.privateKeyFile must be set."; + }) cfg.interfaces)) + ++ (attrValues ( + mapAttrs (name: value: { + assertion = value.generatePrivateKeyFile -> (value.privateKey == null); + message = "networking.wireguard.interfaces.${name}.generatePrivateKey must not be set if networking.wireguard.interfaces.${name}.privateKey is set."; + }) cfg.interfaces)) + ++ map ({ interfaceName, peer, ... }: { + assertion = (peer.presharedKey == null) || (peer.presharedKeyFile == null); + message = "networking.wireguard.interfaces.${interfaceName} peer «${peer.publicKey}» has both presharedKey and presharedKeyFile set, but only one can be used."; + }) all_peers; boot.extraModulePackages = [ kernel.wireguard ]; environment.systemPackages = [ pkgs.wireguard-tools ]; - systemd.services = mapAttrs' generateUnit cfg.interfaces; + systemd.services = + (mapAttrs' generateInterfaceUnit cfg.interfaces) + // (listToAttrs (map generatePeerUnit all_peers)) + // (mapAttrs' generateKeyServiceUnit + (filterAttrs (name: value: value.generatePrivateKeyFile) cfg.interfaces)); - }; + systemd.paths = mapAttrs' generatePathUnit + (filterAttrs (name: value: value.privateKeyFile != null) cfg.interfaces); + + }); } diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix index cdfe98aa034..63e59e7c8fa 100644 --- a/nixos/modules/services/networking/wpa_supplicant.nix +++ b/nixos/modules/services/networking/wpa_supplicant.nix @@ -6,7 +6,7 @@ let cfg = config.networking.wireless; configFile = if cfg.networks != {} then pkgs.writeText "wpa_supplicant.conf" '' ${optionalString cfg.userControlled.enable '' - ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=${cfg.userControlled.group} + ctrl_interface=DIR=/run/wpa_supplicant GROUP=${cfg.userControlled.group} update_config=1''} ${cfg.extraConfig} ${concatStringsSep "\n" (mapAttrsToList (ssid: config: with config; let @@ -204,6 +204,7 @@ in { environment.systemPackages = [ pkgs.wpa_supplicant ]; services.dbus.packages = [ pkgs.wpa_supplicant ]; + services.udev.packages = [ pkgs.crda ]; # FIXME: start a separate wpa_supplicant instance per interface. systemd.services.wpa_supplicant = let diff --git a/nixos/modules/services/networking/xinetd.nix b/nixos/modules/services/networking/xinetd.nix index 00224502780..8dc6f845ed8 100644 --- a/nixos/modules/services/networking/xinetd.nix +++ b/nixos/modules/services/networking/xinetd.nix @@ -53,7 +53,7 @@ in services.xinetd.extraDefaults = mkOption { default = ""; - type = types.string; + type = types.lines; description = '' Additional configuration lines added to the default section of xinetd's configuration. ''; @@ -70,13 +70,13 @@ in options = { name = mkOption { - type = types.string; + type = types.str; example = "login"; description = "Name of the service."; }; protocol = mkOption { - type = types.string; + type = types.str; default = "tcp"; description = "Protocol of the service. Usually tcp or udp."; @@ -90,25 +90,25 @@ in }; user = mkOption { - type = types.string; + type = types.str; default = "nobody"; description = "User account for the service"; }; server = mkOption { - type = types.string; + type = types.str; example = "/foo/bin/ftpd"; description = "Path of the program that implements the service."; }; serverArgs = mkOption { - type = types.string; + type = types.separatedString " "; default = ""; description = "Command-line arguments for the server program."; }; flags = mkOption { - type = types.string; + type = types.str; default = ""; description = ""; }; @@ -146,7 +146,7 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; path = [ pkgs.xinetd ]; - script = "xinetd -syslog daemon -dontfork -stayalive -f ${configFile}"; + script = "exec xinetd -syslog daemon -dontfork -stayalive -f ${configFile}"; }; }; } diff --git a/nixos/modules/services/networking/xl2tpd.nix b/nixos/modules/services/networking/xl2tpd.nix index d0a3ed7bb5e..7dbe51422d9 100644 --- a/nixos/modules/services/networking/xl2tpd.nix +++ b/nixos/modules/services/networking/xl2tpd.nix @@ -8,13 +8,13 @@ with lib; enable = mkEnableOption "xl2tpd, the Layer 2 Tunnelling Protocol Daemon"; serverIp = mkOption { - type = types.string; + type = types.str; description = "The server-side IP address."; default = "10.125.125.1"; }; clientIpRange = mkOption { - type = types.string; + type = types.str; description = "The range from which client IPs are drawn."; default = "10.125.125.2-11"; }; diff --git a/nixos/modules/services/networking/xrdp.nix b/nixos/modules/services/networking/xrdp.nix index a1c5d879f3c..b7dd1c5d99d 100644 --- a/nixos/modules/services/networking/xrdp.nix +++ b/nixos/modules/services/networking/xrdp.nix @@ -4,7 +4,7 @@ with lib; let cfg = config.services.xrdp; - confDir = pkgs.runCommand "xrdp.conf" { } '' + confDir = pkgs.runCommand "xrdp.conf" { preferLocalBuild = true; } '' mkdir $out cp ${cfg.package}/etc/xrdp/{km-*,xrdp,sesman,xrdp_keyboard}.ini $out @@ -17,7 +17,7 @@ let chmod +x $out/startwm.sh substituteInPlace $out/xrdp.ini \ - --replace "#rsakeys_ini=" "rsakeys_ini=/var/run/xrdp/rsakeys.ini" \ + --replace "#rsakeys_ini=" "rsakeys_ini=/run/xrdp/rsakeys.ini" \ --replace "certificate=" "certificate=${cfg.sslCert}" \ --replace "key_file=" "key_file=${cfg.sslKey}" \ --replace LogFile=xrdp.log LogFile=/dev/null \ @@ -132,9 +132,9 @@ in chown root:xrdp ${cfg.sslKey} ${cfg.sslCert} chmod 440 ${cfg.sslKey} ${cfg.sslCert} fi - if [ ! -s /var/run/xrdp/rsakeys.ini ]; then - mkdir -p /var/run/xrdp - ${cfg.package}/bin/xrdp-keygen xrdp /var/run/xrdp/rsakeys.ini + if [ ! -s /run/xrdp/rsakeys.ini ]; then + mkdir -p /run/xrdp + ${cfg.package}/bin/xrdp-keygen xrdp /run/xrdp/rsakeys.ini fi ''; serviceConfig = { diff --git a/nixos/modules/services/networking/zeronet.nix b/nixos/modules/services/networking/zeronet.nix index 8b60799891c..f4988a90268 100644 --- a/nixos/modules/services/networking/zeronet.nix +++ b/nixos/modules/services/networking/zeronet.nix @@ -5,13 +5,15 @@ let zConfFile = pkgs.writeTextFile { name = "zeronet.conf"; - + text = '' [global] data_dir = ${cfg.dataDir} log_dir = ${cfg.logDir} '' + lib.optionalString (cfg.port != null) '' ui_port = ${toString cfg.port} + '' + lib.optionalString (cfg.fileserverPort != null) '' + fileserver_port = ${toString cfg.fileserverPort} '' + lib.optionalString (cfg.torAlways) '' tor = always '' + cfg.extraConfig; @@ -41,6 +43,15 @@ in with lib; { description = "Optional zeronet web UI port."; }; + fileserverPort = mkOption { + # Not optional: when absent zeronet tries to write one to the + # read-only config file and crashes + type = types.int; + default = 12261; + example = 12261; + description = "Zeronet fileserver port."; + }; + tor = mkOption { type = types.bool; default = false; @@ -75,20 +86,17 @@ in with lib; { ''; }; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 750 zeronet zeronet - -" + "d '${cfg.logDir}' 750 zeronet zeronet - -" + ]; + systemd.services.zeronet = { description = "zeronet"; after = [ "network.target" (optionalString cfg.tor "tor.service") ]; wantedBy = [ "multi-user.target" ]; - preStart = '' - # Ensure folder exists or create it and permissions are correct - mkdir -p ${escapeShellArg cfg.dataDir} ${escapeShellArg cfg.logDir} - chmod 750 ${escapeShellArg cfg.dataDir} ${escapeShellArg cfg.logDir} - chown zeronet:zeronet ${escapeShellArg cfg.dataDir} ${escapeShellArg cfg.logDir} - ''; - serviceConfig = { - PermissionsStartOnly = true; PrivateTmp = "yes"; User = "zeronet"; Group = "zeronet"; diff --git a/nixos/modules/services/networking/znc/default.nix b/nixos/modules/services/networking/znc/default.nix index bce5b15a19e..05f97bfa539 100644 --- a/nixos/modules/services/networking/znc/default.nix +++ b/nixos/modules/services/networking/znc/default.nix @@ -47,11 +47,11 @@ let # Baz=baz # Qux=qux # - set = concatMap (subname: [ + set = concatMap (subname: optionals (value.${subname} != null) ([ "<${name} ${subname}>" ] ++ map (line: "\t${line}") (toLines value.${subname}) ++ [ "" - ]) (filter (v: v != null) (attrNames value)); + ])) (filter (v: v != null) (attrNames value)); }.${builtins.typeOf value}; @@ -62,9 +62,9 @@ let concatStringsSep "\n" (toLines cfg.config); semanticTypes = with types; rec { - zncAtom = nullOr (either (either int bool) str); + zncAtom = nullOr (oneOf [ int bool str ]); zncAttr = attrsOf (nullOr zncConf); - zncAll = either (either zncAtom (listOf zncAtom)) zncAttr; + zncAll = oneOf [ zncAtom (listOf zncAtom) zncAttr ]; zncConf = attrsOf (zncAll // { # Since this is a recursive type and the description by default contains # the description of its subtypes, infinite recursion would occur without @@ -151,7 +151,7 @@ in ''; description = '' Configuration for ZNC, see - https://wiki.znc.in/Configuration for details. The + for details. The Nix value declared here will be translated directly to the xml-like format ZNC expects. This is much more flexible than the legacy options under , but also can't do diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix index 3a43ebbb889..42c1b9482cb 100644 --- a/nixos/modules/services/printing/cupsd.nix +++ b/nixos/modules/services/printing/cupsd.nix @@ -11,8 +11,9 @@ let avahiEnabled = config.services.avahi.enable; polkitEnabled = config.security.polkit.enable; - additionalBackends = pkgs.runCommand "additional-cups-backends" { } - '' + additionalBackends = pkgs.runCommand "additional-cups-backends" { + preferLocalBuild = true; + } '' mkdir -p $out if [ ! -e ${cups.out}/lib/cups/backend/smb ]; then mkdir -p $out/lib/cups/backend @@ -59,6 +60,8 @@ let TempDir ${cfg.tempDir} + SetEnv PATH /var/lib/cups/path/lib/cups/filter:/var/lib/cups/path/bin + # User and group used to run external programs, including # those that actually send the job to the printer. Note that # Udev sets the group of printer devices to `lp', so we want @@ -73,9 +76,7 @@ let ${concatMapStrings (addr: '' Listen ${addr} '') cfg.listenAddresses} - Listen /var/run/cups/cups.sock - - SetEnv PATH /var/lib/cups/path/lib/cups/filter:/var/lib/cups/path/bin + Listen /run/cups/cups.sock DefaultShared ${if cfg.defaultShared then "Yes" else "No"} @@ -126,7 +127,7 @@ in startWhenNeeded = mkOption { type = types.bool; - default = false; + default = true; description = '' If set, CUPS is socket-activated; that is, instead of having it permanently running as a daemon, @@ -295,11 +296,16 @@ in # gets loaded, and then cups cannot access the printers. boot.blacklistedKernelModules = [ "usblp" ]; + # Some programs like print-manager rely on this value to get + # printer test pages. + environment.sessionVariables.CUPS_DATADIR = "${bindir}/share/cups"; + systemd.packages = [ cups.out ]; systemd.sockets.cups = mkIf cfg.startWhenNeeded { wantedBy = [ "sockets.target" ]; - listenStreams = map (x: replaceStrings ["localhost"] ["127.0.0.1"] (removePrefix "*:" x)) cfg.listenAddresses; + listenStreams = [ "/run/cups/cups.sock" ] + ++ map (x: replaceStrings ["localhost"] ["127.0.0.1"] (removePrefix "*:" x)) cfg.listenAddresses; }; systemd.services.cups = @@ -361,10 +367,10 @@ in { description = "CUPS Remote Printer Discovery"; wantedBy = [ "multi-user.target" ]; - wants = [ "cups.service" "avahi-daemon.service" ]; - bindsTo = [ "cups.service" "avahi-daemon.service" ]; - partOf = [ "cups.service" "avahi-daemon.service" ]; - after = [ "cups.service" "avahi-daemon.service" ]; + wants = [ "avahi-daemon.service" ] ++ optional (!cfg.startWhenNeeded) "cups.service"; + bindsTo = [ "avahi-daemon.service" ] ++ optional (!cfg.startWhenNeeded) "cups.service"; + partOf = [ "avahi-daemon.service" ] ++ optional (!cfg.startWhenNeeded) "cups.service"; + after = [ "avahi-daemon.service" ] ++ optional (!cfg.startWhenNeeded) "cups.service"; path = [ cups ]; @@ -420,4 +426,7 @@ in security.pam.services.cups = {}; }; + + meta.maintainers = with lib.maintainers; [ matthewbauer ]; + } diff --git a/nixos/modules/services/scheduling/cron.nix b/nixos/modules/services/scheduling/cron.nix index 6f6977b38a1..3bc31832946 100644 --- a/nixos/modules/services/scheduling/cron.nix +++ b/nixos/modules/services/scheduling/cron.nix @@ -64,8 +64,8 @@ in sendmail. See If neither /var/cron/cron.deny nor /var/cron/cron.allow exist only root - will is allowed to have its own crontab file. The /var/cron/cron.deny file - is created automatically for you. So every user can use a crontab. + is allowed to have its own crontab file. The /var/cron/cron.deny file + is created automatically for you, so every user can use a crontab. Many nixos modules set systemCronJobs, so if you decide to disable vixie cron and enable another cron daemon, you may want it to get its system crontab diff --git a/nixos/modules/services/scheduling/fcron.nix b/nixos/modules/services/scheduling/fcron.nix index ae382897775..f77b3bcd592 100644 --- a/nixos/modules/services/scheduling/fcron.nix +++ b/nixos/modules/services/scheduling/fcron.nix @@ -100,8 +100,8 @@ in in pkgs.writeText "fcron.conf" '' fcrontabs = /var/spool/fcron - pidfile = /var/run/fcron.pid - fifofile = /var/run/fcron.fifo + pidfile = /run/fcron.pid + fifofile = /run/fcron.fifo fcronallow = /etc/fcron.allow fcrondeny = /etc/fcron.deny shell = /bin/sh diff --git a/nixos/modules/services/search/elasticsearch-curator.nix b/nixos/modules/services/search/elasticsearch-curator.nix index 8cb1275284a..9620c3e0b6d 100644 --- a/nixos/modules/services/search/elasticsearch-curator.nix +++ b/nixos/modules/services/search/elasticsearch-curator.nix @@ -86,7 +86,7 @@ in { startAt = cfg.interval; serviceConfig = { ExecStart = - "${pkgs.python3Packages.elasticsearch-curator}/bin/curator" + + "${pkgs.elasticsearch-curator}/bin/curator" + " --config ${curatorConfig} ${curatorAction}"; }; }; diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix index 6b688c640d5..91d8f544e16 100644 --- a/nixos/modules/services/search/elasticsearch.nix +++ b/nixos/modules/services/search/elasticsearch.nix @@ -131,6 +131,7 @@ in { description = "Extra elasticsearch plugins"; default = []; type = types.listOf types.package; + example = lib.literalExample "[ pkgs.elasticsearchPlugins.discovery-ec2 ]"; }; }; diff --git a/nixos/modules/services/search/kibana.nix b/nixos/modules/services/search/kibana.nix index 3539b3ddb4f..c096af731ad 100644 --- a/nixos/modules/services/search/kibana.nix +++ b/nixos/modules/services/search/kibana.nix @@ -5,6 +5,9 @@ with lib; let cfg = config.services.kibana; + ge7 = builtins.compareVersions cfg.package.version "7" >= 0; + lt6_6 = builtins.compareVersions cfg.package.version "6.6" < 0; + cfgFile = pkgs.writeText "kibana.json" (builtins.toJSON ( (filterAttrsRecursive (n: v: v != null) ({ server.host = cfg.listenAddress; @@ -16,6 +19,7 @@ let kibana.defaultAppId = cfg.defaultAppId; elasticsearch.url = cfg.elasticsearch.url; + elasticsearch.hosts = cfg.elasticsearch.hosts; elasticsearch.username = cfg.elasticsearch.username; elasticsearch.password = cfg.elasticsearch.password; @@ -27,7 +31,7 @@ let in { options.services.kibana = { - enable = mkEnableOption "enable kibana service"; + enable = mkEnableOption "kibana service"; listenAddress = mkOption { description = "Kibana listening host"; @@ -67,9 +71,30 @@ in { elasticsearch = { url = mkOption { - description = "Elasticsearch url"; - default = "http://localhost:9200"; - type = types.str; + description = '' + Elasticsearch url. + + Defaults to "http://localhost:9200". + + Don't set this when using Kibana >= 7.0.0 because it will result in a + configuration error. Use + instead. + ''; + default = null; + type = types.nullOr types.str; + }; + + hosts = mkOption { + description = '' + The URLs of the Elasticsearch instances to use for all your queries. + All nodes listed here must be on the same cluster. + + Defaults to [ "http://localhost:9200" ]. + + This option is only valid when using kibana >= 6.6. + ''; + default = null; + type = types.nullOr (types.listOf types.str); }; username = mkOption { @@ -104,7 +129,7 @@ in { This defaults to the singleton list [ca] when the option is defined. ''; - default = if isNull cfg.elasticsearch.ca then [] else [ca]; + default = if cfg.elasticsearch.ca == null then [] else [ca]; type = types.listOf types.path; }; @@ -143,6 +168,19 @@ in { }; config = mkIf (cfg.enable) { + assertions = [ + { + assertion = ge7 -> cfg.elasticsearch.url == null; + message = + "The option services.kibana.elasticsearch.url has been removed when using kibana >= 7.0.0. " + + "Please use option services.kibana.elasticsearch.hosts instead."; + } + { + assertion = lt6_6 -> cfg.elasticsearch.hosts == null; + message = + "The option services.kibana.elasticsearch.hosts is only valid for kibana >= 6.6."; + } + ]; systemd.services.kibana = { description = "Kibana Service"; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/search/solr.nix b/nixos/modules/services/search/solr.nix index 7200c40e89f..5ef7d9893a4 100644 --- a/nixos/modules/services/search/solr.nix +++ b/nixos/modules/services/search/solr.nix @@ -11,13 +11,21 @@ in { options = { services.solr = { - enable = mkEnableOption "Enables the solr service."; + enable = mkEnableOption "Solr"; + # default to the 8.x series not forcing major version upgrade of those on the 7.x series package = mkOption { type = types.package; - default = pkgs.solr; + default = if versionAtLeast config.system.stateVersion "19.09" + then pkgs.solr_8 + else pkgs.solr_7 + ; defaultText = "pkgs.solr"; - description = "Which Solr package to use."; + description = '' + Which Solr package to use. This defaults to version 7.x if + system.stateVersion < 19.09 and version 8.x + otherwise. + ''; }; port = mkOption { diff --git a/nixos/modules/services/security/bitwarden_rs/backup.sh b/nixos/modules/services/security/bitwarden_rs/backup.sh new file mode 100644 index 00000000000..264a7da9cbb --- /dev/null +++ b/nixos/modules/services/security/bitwarden_rs/backup.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# Based on: https://github.com/dani-garcia/bitwarden_rs/wiki/Backing-up-your-vault +if ! mkdir -p "$BACKUP_FOLDER"; then + echo "Could not create backup folder '$BACKUP_FOLDER'" >&2 + exit 1 +fi + +if [[ ! -f "$DATA_FOLDER"/db.sqlite3 ]]; then + echo "Could not find SQLite database file '$DATA_FOLDER/db.sqlite3'" >&2 + exit 1 +fi + +sqlite3 "$DATA_FOLDER"/db.sqlite3 ".backup '$BACKUP_FOLDER/db.sqlite3'" +cp "$DATA_FOLDER"/rsa_key.{der,pem,pub.der} "$BACKUP_FOLDER" +cp -r "$DATA_FOLDER"/attachments "$BACKUP_FOLDER" +cp -r "$DATA_FOLDER"/icon_cache "$BACKUP_FOLDER" diff --git a/nixos/modules/services/security/bitwarden_rs/default.nix b/nixos/modules/services/security/bitwarden_rs/default.nix new file mode 100644 index 00000000000..80fd65891ff --- /dev/null +++ b/nixos/modules/services/security/bitwarden_rs/default.nix @@ -0,0 +1,126 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.bitwarden_rs; + user = config.users.users.bitwarden_rs.name; + group = config.users.groups.bitwarden_rs.name; + + # Convert name from camel case (e.g. disable2FARemember) to upper case snake case (e.g. DISABLE_2FA_REMEMBER). + nameToEnvVar = name: + let + parts = builtins.split "([A-Z0-9]+)" name; + partsToEnvVar = parts: foldl' (key: x: let last = stringLength key - 1; in + if isList x then key + optionalString (key != "" && substring last 1 key != "_") "_" + head x + else if key != "" && elem (substring 0 1 x) lowerChars then # to handle e.g. [ "disable" [ "2FAR" ] "emember" ] + substring 0 last key + optionalString (substring (last - 1) 1 key != "_") "_" + substring last 1 key + toUpper x + else key + toUpper x) "" parts; + in if builtins.match "[A-Z0-9_]+" name != null then name else partsToEnvVar parts; + + configFile = pkgs.writeText "bitwarden_rs.env" (concatMapStrings (s: s + "\n") ( + (concatLists (mapAttrsToList (name: value: + if value != null then [ "${nameToEnvVar name}=${if isBool value then boolToString value else toString value}" ] else [] + ) cfg.config)))); + +in { + options.services.bitwarden_rs = with types; { + enable = mkEnableOption "bitwarden_rs"; + + backupDir = mkOption { + type = nullOr str; + default = null; + description = '' + The directory under which bitwarden_rs will backup its persistent data. + ''; + }; + + config = mkOption { + type = attrsOf (nullOr (oneOf [ bool int str ])); + default = {}; + example = literalExample '' + { + domain = https://bw.domain.tld:8443; + signupsAllowed = true; + rocketPort = 8222; + rocketLog = "critical"; + } + ''; + description = '' + The configuration of bitwarden_rs is done through environment variables, + therefore the names are converted from camel case (e.g. disable2FARemember) + to upper case snake case (e.g. DISABLE_2FA_REMEMBER). + In this conversion digits (0-9) are handled just like upper case characters, + so foo2 would be converted to FOO_2. + Names already in this format remain unchanged, so FOO2 remains FOO2 if passed as such, + even though foo2 would have been converted to FOO_2. + This allows working around any potential future conflicting naming conventions. + + Based on the attributes passed to this config option a environment file will be generated + that is passed to bitwarden_rs's systemd service. + + The available configuration options can be found in + the environment template file. + ''; + apply = config: optionalAttrs config.webVaultEnabled { + webVaultFolder = "${pkgs.bitwarden_rs-vault}/share/bitwarden_rs/vault"; + } // config; + }; + }; + + config = mkIf cfg.enable { + services.bitwarden_rs.config = { + dataFolder = "/var/lib/bitwarden_rs"; + webVaultEnabled = mkDefault true; + }; + + users.users.bitwarden_rs = { inherit group; }; + users.groups.bitwarden_rs = { }; + + systemd.services.bitwarden_rs = { + after = [ "network.target" ]; + path = with pkgs; [ openssl ]; + serviceConfig = { + User = user; + Group = group; + EnvironmentFile = configFile; + ExecStart = "${pkgs.bitwarden_rs}/bin/bitwarden_rs"; + LimitNOFILE = "1048576"; + LimitNPROC = "64"; + PrivateTmp = "true"; + PrivateDevices = "true"; + ProtectHome = "true"; + ProtectSystem = "strict"; + AmbientCapabilities = "CAP_NET_BIND_SERVICE"; + StateDirectory = "bitwarden_rs"; + }; + wantedBy = [ "multi-user.target" ]; + }; + + systemd.services.backup-bitwarden_rs = mkIf (cfg.backupDir != null) { + description = "Backup bitwarden_rs"; + environment = { + DATA_FOLDER = "/var/lib/bitwarden_rs"; + BACKUP_FOLDER = cfg.backupDir; + }; + path = with pkgs; [ sqlite ]; + serviceConfig = { + SyslogIdentifier = "backup-bitwarden_rs"; + User = mkDefault user; + Group = mkDefault group; + ExecStart = "${pkgs.bash}/bin/bash ${./backup.sh}"; + }; + wantedBy = [ "multi-user.target" ]; + }; + + systemd.timers.backup-bitwarden_rs = mkIf (cfg.backupDir != null) { + description = "Backup bitwarden_rs on time"; + timerConfig = { + OnCalendar = mkDefault "23:00"; + Persistent = "true"; + Unit = "backup-bitwarden_rs.service"; + }; + wantedBy = [ "multi-user.target" ]; + }; + }; +} diff --git a/nixos/modules/services/security/fprintd.nix b/nixos/modules/services/security/fprintd.nix index a35b065ba81..5662ebc61d2 100644 --- a/nixos/modules/services/security/fprintd.nix +++ b/nixos/modules/services/security/fprintd.nix @@ -25,29 +25,38 @@ in ''; }; + package = mkOption { + type = types.package; + default = pkgs.fprintd; + defaultText = "pkgs.fprintd"; + example = "pkgs.fprintd-thinkpad"; + description = '' + fprintd package to use. + ''; + }; + }; - + }; - - + + ###### implementation - + config = mkIf cfg.enable { services.dbus.packages = [ pkgs.fprintd ]; environment.systemPackages = [ pkgs.fprintd ]; - systemd.services.fprintd = { - description = "Fingerprint Authentication Daemon"; + systemd.packages = [ cfg.package ]; - serviceConfig = { - Type = "dbus"; - BusName = "net.reactivated.Fprint"; - ExecStart = "${pkgs.fprintd}/libexec/fprintd"; - }; - }; + + # The upstream unit does not use StateDirectory, and will + # fail if the directory it needs is not present. Should be + # fixed when https://gitlab.freedesktop.org/libfprint/fprintd/merge_requests/5 + # is merged. + systemd.services.fprintd.serviceConfig.StateDirectory = "fprint"; }; - + } diff --git a/nixos/modules/services/security/haka.nix b/nixos/modules/services/security/haka.nix index b64a1b4d03e..618e689924f 100644 --- a/nixos/modules/services/security/haka.nix +++ b/nixos/modules/services/security/haka.nix @@ -69,7 +69,7 @@ in configFile = mkOption { default = "empty.lua"; example = "/srv/haka/myfilter.lua"; - type = types.string; + type = types.str; description = '' Specify which configuration file Haka uses. It can be absolute path or a path relative to the sample directory of @@ -80,7 +80,7 @@ in interfaces = mkOption { default = [ "eth0" ]; example = [ "any" ]; - type = with types; listOf string; + type = with types; listOf str; description = '' Specify which interface(s) Haka listens to. Use 'any' to listen to all interfaces. diff --git a/nixos/modules/services/security/hologram-agent.nix b/nixos/modules/services/security/hologram-agent.nix index 39ed506f761..a5087b0a99b 100644 --- a/nixos/modules/services/security/hologram-agent.nix +++ b/nixos/modules/services/security/hologram-agent.nix @@ -45,7 +45,7 @@ in { wantedBy = [ "multi-user.target" ]; requires = [ "network-link-dummy0.service" "network-addresses-dummy0.service" ]; preStart = '' - /run/current-system/sw/bin/rm -fv /var/run/hologram.sock + /run/current-system/sw/bin/rm -fv /run/hologram.sock ''; serviceConfig = { ExecStart = "${pkgs.hologram.bin}/bin/hologram-agent -debug -conf ${cfgFile} -port ${cfg.httpPort}"; diff --git a/nixos/modules/services/security/munge.nix b/nixos/modules/services/security/munge.nix index 504bc66c6d1..89178886471 100644 --- a/nixos/modules/services/security/munge.nix +++ b/nixos/modules/services/security/munge.nix @@ -19,7 +19,7 @@ in password = mkOption { default = "/etc/munge/munge.key"; - type = types.string; + type = types.path; description = '' The path to a daemon's secret key. ''; @@ -49,21 +49,16 @@ in path = [ pkgs.munge pkgs.coreutils ]; - preStart = '' - chmod 0400 ${cfg.password} - mkdir -p /var/lib/munge -m 0711 - chown -R munge:munge /var/lib/munge - mkdir -p /run/munge -m 0755 - chown -R munge:munge /run/munge - ''; - serviceConfig = { + ExecStartPre = "+${pkgs.coreutils}/bin/chmod 0400 ${cfg.password}"; ExecStart = "${pkgs.munge}/bin/munged --syslog --key-file ${cfg.password}"; PIDFile = "/run/munge/munged.pid"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - PermissionsStartOnly = "true"; User = "munge"; Group = "munge"; + StateDirectory = "munge"; + StateDirectoryMode = "0711"; + RuntimeDirectory = "munge"; }; }; diff --git a/nixos/modules/services/security/oauth2_proxy.nix b/nixos/modules/services/security/oauth2_proxy.nix index 0c5fe8c0ef5..bb03f7fc9e4 100644 --- a/nixos/modules/services/security/oauth2_proxy.nix +++ b/nixos/modules/services/security/oauth2_proxy.nix @@ -58,11 +58,11 @@ let httponly = cookie.httpOnly; }; set-xauthrequest = setXauthrequest; - } // lib.optionalAttrs (!isNull cfg.email.addresses) { + } // lib.optionalAttrs (cfg.email.addresses != null) { authenticated-emails-file = authenticatedEmailsFile; } // lib.optionalAttrs (cfg.passBasicAuth) { basic-auth-password = cfg.basicAuthPassword; - } // lib.optionalAttrs (!isNull cfg.htpasswd.file) { + } // lib.optionalAttrs (cfg.htpasswd.file != null) { display-htpasswd-file = cfg.htpasswd.displayForm; } // lib.optionalAttrs tls.enable { tls-cert = tls.certificate; @@ -71,7 +71,7 @@ let } // (getProviderOptions cfg cfg.provider) // cfg.extraConfig; mapConfig = key: attr: - if (!isNull attr && attr != []) then ( + if attr != null && attr != [] then ( if isDerivation attr then mapConfig key (toString attr) else if (builtins.typeOf attr) == "set" then concatStringsSep " " (mapAttrsToList (name: value: mapConfig (key + "-" + name) value) attr) else @@ -284,7 +284,7 @@ in #################################################### # UPSTREAM Configuration upstream = mkOption { - type = with types; coercedTo string (x: [x]) (listOf string); + type = with types; coercedTo str (x: [x]) (listOf str); default = []; description = '' The http url(s) of the upstream endpoint or file:// @@ -523,7 +523,7 @@ in }; keyFile = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.path; default = null; description = '' oauth2_proxy allows passing sensitive configuration via environment variables. @@ -538,7 +538,7 @@ in config = mkIf cfg.enable { - services.oauth2_proxy = mkIf (!isNull cfg.keyFile) { + services.oauth2_proxy = mkIf (cfg.keyFile != null) { clientID = mkDefault null; clientSecret = mkDefault null; cookie.secret = mkDefault null; diff --git a/nixos/modules/services/security/oauth2_proxy_nginx.nix b/nixos/modules/services/security/oauth2_proxy_nginx.nix index a9ad5497a65..be6734f439f 100644 --- a/nixos/modules/services/security/oauth2_proxy_nginx.nix +++ b/nixos/modules/services/security/oauth2_proxy_nginx.nix @@ -6,14 +6,14 @@ in { options.services.oauth2_proxy.nginx = { proxy = mkOption { - type = types.string; + type = types.str; default = config.services.oauth2_proxy.httpAddress; description = '' The address of the reverse proxy endpoint for oauth2_proxy ''; }; virtualHosts = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = []; description = '' A list of nginx virtual hosts to put behind the oauth2 proxy diff --git a/nixos/modules/services/security/sks.nix b/nixos/modules/services/security/sks.nix index 8136a5c763a..1b7a2ad1398 100644 --- a/nixos/modules/services/security/sks.nix +++ b/nixos/modules/services/security/sks.nix @@ -116,20 +116,22 @@ in { ${lib.optionalString (cfg.webroot != null) "ln -sfT \"${cfg.webroot}\" web"} mkdir -p dump - # Check that both database configs are symlinks before overwriting them - if [ -e KDB/DB_CONFIG ] && [ ! -L KBD/DB_CONFIG ]; then - echo "KDB/DB_CONFIG exists but is not a symlink." >&2 - exit 1 - fi - if [ -e PTree/DB_CONFIG ] && [ ! -L PTree/DB_CONFIG ]; then - echo "PTree/DB_CONFIG exists but is not a symlink." >&2 - exit 1 - fi - ln -sf ${dbConfig} KDB/DB_CONFIG - ln -sf ${dbConfig} PTree/DB_CONFIG ${sksPkg}/bin/sks build dump/*.gpg -n 10 -cache 100 || true #*/ ${sksPkg}/bin/sks cleandb || true ${sksPkg}/bin/sks pbuild -cache 20 -ptree_cache 70 || true + # Check that both database configs are symlinks before overwriting them + # TODO: The initial build will be without DB_CONFIG, but this will + # hopefully not cause any significant problems. It might be better to + # create both directories manually but we have to check that this does + # not affect the initial build of the DB. + for CONFIG_FILE in KDB/DB_CONFIG PTree/DB_CONFIG; do + if [ -e $CONFIG_FILE ] && [ ! -L $CONFIG_FILE ]; then + echo "$CONFIG_FILE exists but is not a symlink." >&2 + echo "Please remove $PWD/$CONFIG_FILE manually to continue." >&2 + exit 1 + fi + ln -sf ${dbConfig} $CONFIG_FILE + done ''; serviceConfig = { WorkingDirectory = "~"; diff --git a/nixos/modules/services/security/sshguard.nix b/nixos/modules/services/security/sshguard.nix index 3892cd5c72b..4a174564dd2 100644 --- a/nixos/modules/services/security/sshguard.nix +++ b/nixos/modules/services/security/sshguard.nix @@ -106,16 +106,24 @@ in { path = with pkgs; [ iptables ipset iproute systemd ]; - postStart = '' - ${pkgs.ipset}/bin/ipset -quiet create -exist sshguard4 hash:ip family inet - ${pkgs.ipset}/bin/ipset -quiet create -exist sshguard6 hash:ip family inet6 + # The sshguard ipsets must exist before we invoke + # iptables. sshguard creates the ipsets after startup if + # necessary, but if we let sshguard do it, we can't reliably add + # the iptables rules because postStart races with the creation + # of the ipsets. So instead, we create both the ipsets and + # firewall rules before sshguard starts. + preStart = '' + ${pkgs.ipset}/bin/ipset -quiet create -exist sshguard4 hash:net family inet + ${pkgs.ipset}/bin/ipset -quiet create -exist sshguard6 hash:net family inet6 ${pkgs.iptables}/bin/iptables -I INPUT -m set --match-set sshguard4 src -j DROP ${pkgs.iptables}/bin/ip6tables -I INPUT -m set --match-set sshguard6 src -j DROP ''; - preStop = '' + postStop = '' ${pkgs.iptables}/bin/iptables -D INPUT -m set --match-set sshguard4 src -j DROP ${pkgs.iptables}/bin/ip6tables -D INPUT -m set --match-set sshguard6 src -j DROP + ${pkgs.ipset}/bin/ipset -quiet destroy sshguard4 + ${pkgs.ipset}/bin/ipset -quiet destroy sshguard6 ''; unitConfig.Documentation = "man:sshguard(8)"; diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix index 61b751bb518..abdc0cd78b4 100644 --- a/nixos/modules/services/security/tor.nix +++ b/nixos/modules/services/security/tor.nix @@ -81,7 +81,7 @@ let ${optionalString (elem cfg.relay.role ["bridge" "private-bridge"]) '' BridgeRelay 1 - ServerTransportPlugin obfs2,obfs3 exec ${pkgs.pythonPackages.obfsproxy}/bin/obfsproxy managed + ServerTransportPlugin ${concatStringsSep "," cfg.relay.bridgeTransports} exec ${pkgs.obfs4}/bin/obfs4proxy managed ExtORPort auto ${optionalString (cfg.relay.role == "private-bridge") '' ExtraInfoStatistics 0 @@ -355,7 +355,7 @@ in Regular bridge. Works like a regular relay, but doesn't list you in the public relay directory and - hides your Tor node behind obfsproxy. + hides your Tor node behind obfs4proxy. @@ -424,6 +424,13 @@ in ''; }; + bridgeTransports = mkOption { + type = types.listOf types.str; + default = ["obfs4"]; + example = ["obfs2" "obfs3" "obfs4" "scramblesuit"]; + description = "List of pluggable transports"; + }; + nickname = mkOption { type = types.str; default = "anonymous"; diff --git a/nixos/modules/services/security/usbguard.nix b/nixos/modules/services/security/usbguard.nix index 88d2f69db57..20d5e3b28eb 100644 --- a/nixos/modules/services/security/usbguard.nix +++ b/nixos/modules/services/security/usbguard.nix @@ -39,6 +39,16 @@ in { services.usbguard = { enable = mkEnableOption "USBGuard daemon"; + package = mkOption { + type = types.package; + default = pkgs.usbguard; + defaultText = "pkgs.usbguard"; + description = '' + The usbguard package to use. If you do not need the Qt GUI, use + pkgs.usbguard-nox to save disk space. + ''; + }; + ruleFile = mkOption { type = types.path; default = "/var/lib/usbguard/rules.conf"; @@ -179,7 +189,7 @@ in { config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.usbguard ]; + environment.systemPackages = [ cfg.package ]; systemd.services.usbguard = { description = "USBGuard daemon"; @@ -195,7 +205,7 @@ in { serviceConfig = { Type = "simple"; - ExecStart = ''${pkgs.usbguard}/bin/usbguard-daemon -P -k -c ${daemonConfFile}''; + ExecStart = ''${cfg.package}/bin/usbguard-daemon -P -k -c ${daemonConfFile}''; Restart = "on-failure"; }; }; diff --git a/nixos/modules/services/security/vault.nix b/nixos/modules/services/security/vault.nix index 0b28bc89445..d5962ba9af9 100644 --- a/nixos/modules/services/security/vault.nix +++ b/nixos/modules/services/security/vault.nix @@ -70,7 +70,7 @@ in }; storageBackend = mkOption { - type = types.enum [ "inmem" "file" "consul" "zookeeper" "s3" "azure" "dynamodb" "etcd" "mssql" "mysql" "postgresql" "swift" "gcs" ]; + type = types.enum [ "inmem" "file" "consul" "zookeeper" "s3" "azure" "dynamodb" "etcd" "mssql" "mysql" "postgresql" "swift" "gcs" "raft" ]; default = "inmem"; description = "The name of the type of storage backend"; }; @@ -119,6 +119,10 @@ in }; users.groups.vault.gid = config.ids.gids.vault; + systemd.tmpfiles.rules = optional (cfg.storagePath != null) [ + "d '${cfg.storagePath}' 0700 vault vault - -" + ]; + systemd.services.vault = { description = "Vault server daemon"; @@ -128,14 +132,9 @@ in restartIfChanged = false; # do not restart on "nixos-rebuild switch". It would seal the storage and disrupt the clients. - preStart = optionalString (cfg.storagePath != null) '' - install -d -m0700 -o vault -g vault "${cfg.storagePath}" - ''; - serviceConfig = { User = "vault"; Group = "vault"; - PermissionsStartOnly = true; ExecStart = "${cfg.package}/bin/vault server -config ${configFile}"; PrivateDevices = true; PrivateTmp = true; diff --git a/nixos/modules/services/system/earlyoom.nix b/nixos/modules/services/system/earlyoom.nix index daa46838bfa..39d1bf274bd 100644 --- a/nixos/modules/services/system/earlyoom.nix +++ b/nixos/modules/services/system/earlyoom.nix @@ -63,6 +63,17 @@ in Enable debugging messages. ''; }; + + notificationsCommand = mkOption { + type = types.nullOr types.str; + default = null; + example = "sudo -u example_user DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send"; + description = '' + Command used to send notifications. + + See README for details. + ''; + }; }; }; @@ -88,7 +99,9 @@ in -s ${toString ecfg.freeSwapThreshold} \ ${optionalString ecfg.useKernelOOMKiller "-k"} \ ${optionalString ecfg.ignoreOOMScoreAdjust "-i"} \ - ${optionalString ecfg.enableDebugInfo "-d"} + ${optionalString ecfg.enableDebugInfo "-d"} \ + ${optionalString (ecfg.notificationsCommand != null) + "-N ${escapeShellArg ecfg.notificationsCommand}"} ''; }; }; diff --git a/nixos/modules/services/system/kerberos/default.nix b/nixos/modules/services/system/kerberos/default.nix index 26ac85de402..c55241c4cff 100644 --- a/nixos/modules/services/system/kerberos/default.nix +++ b/nixos/modules/services/system/kerberos/default.nix @@ -1,4 +1,4 @@ -{pkgs, config, lib, ...}: +{config, lib, ...}: let inherit (lib) mkOption mkIf types length attrNames; diff --git a/nixos/modules/services/system/kerberos/heimdal.nix b/nixos/modules/services/system/kerberos/heimdal.nix index d0f470f836e..f0e56c7951a 100644 --- a/nixos/modules/services/system/kerberos/heimdal.nix +++ b/nixos/modules/services/system/kerberos/heimdal.nix @@ -2,7 +2,7 @@ let inherit (lib) mkIf concatStringsSep concatMapStrings toList mapAttrs - mapAttrsToList attrValues; + mapAttrsToList; cfg = config.services.kerberos_server; kerberos = config.krb5.kerberos; stateDir = "/var/heimdal"; diff --git a/nixos/modules/services/system/kerberos/mit.nix b/nixos/modules/services/system/kerberos/mit.nix index a53d9dd0c6b..25d7d51e808 100644 --- a/nixos/modules/services/system/kerberos/mit.nix +++ b/nixos/modules/services/system/kerberos/mit.nix @@ -2,7 +2,7 @@ let inherit (lib) mkIf concatStrings concatStringsSep concatMapStrings toList - mapAttrs mapAttrsToList attrValues; + mapAttrs mapAttrsToList; cfg = config.services.kerberos_server; kerberos = config.krb5.kerberos; stateDir = "/var/lib/krb5kdc"; diff --git a/nixos/modules/services/system/localtime.nix b/nixos/modules/services/system/localtime.nix index c7e897c9644..04595fc82fb 100644 --- a/nixos/modules/services/system/localtime.nix +++ b/nixos/modules/services/system/localtime.nix @@ -20,35 +20,24 @@ in { }; config = mkIf cfg.enable { - services.geoclue2.enable = true; + services.geoclue2 = { + enable = true; + appConfig."localtime" = { + isAllowed = true; + isSystem = true; + }; + }; - # so polkit will pick up the rules - environment.systemPackages = [ pkgs.localtime ]; - - users.users = [{ - name = "localtimed"; - description = "Taskserver user"; - }]; + # We use the 'out' output, since localtime has its 'bin' output + # first, so that is what we get if we use the derivation bare. + # Install the polkit rules. + environment.systemPackages = [ pkgs.localtime.out ]; + # Install the systemd unit. + systemd.packages = [ pkgs.localtime.out ]; systemd.services.localtime = { - description = "localtime service"; wantedBy = [ "multi-user.target" ]; - partOf = [ "geoclue.service "]; - - serviceConfig = { - Restart = "on-failure"; - # TODO: make it work with dbus - #DynamicUser = true; - Nice = 10; - User = "localtimed"; - PrivateTmp = "yes"; - PrivateDevices = true; - PrivateNetwork = "yes"; - NoNewPrivileges = "yes"; - ProtectSystem = "strict"; - ProtectHome = true; - ExecStart = "${pkgs.localtime}/bin/localtimed"; - }; + serviceConfig.Restart = "on-failure"; }; }; } diff --git a/nixos/modules/services/system/nscd.conf b/nixos/modules/services/system/nscd.conf index 603a5d01acc..2b7523a7346 100644 --- a/nixos/modules/services/system/nscd.conf +++ b/nixos/modules/services/system/nscd.conf @@ -7,46 +7,28 @@ # is not aware of the path in which the nss modules live. As a workaround, we # have `enable-cache yes` with an explicit ttl of 0 server-user nscd -threads 1 -paranoia no -debug-level 0 enable-cache passwd yes positive-time-to-live passwd 0 negative-time-to-live passwd 0 -suggested-size passwd 211 -check-files passwd yes -persistent passwd no shared passwd yes enable-cache group yes positive-time-to-live group 0 negative-time-to-live group 0 -suggested-size group 211 -check-files group yes -persistent group no shared group yes enable-cache netgroup yes positive-time-to-live netgroup 0 negative-time-to-live netgroup 0 -suggested-size netgroup 211 -check-files netgroup yes -persistent netgroup no shared netgroup yes enable-cache hosts yes positive-time-to-live hosts 600 negative-time-to-live hosts 0 -suggested-size hosts 211 -check-files hosts yes -persistent hosts no shared hosts yes enable-cache services yes positive-time-to-live services 0 negative-time-to-live services 0 -suggested-size services 211 -check-files services yes -persistent services no shared services yes diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix index fd1570d1198..e11f7e049d8 100644 --- a/nixos/modules/services/system/nscd.nix +++ b/nixos/modules/services/system/nscd.nix @@ -39,11 +39,6 @@ in config = mkIf cfg.enable { environment.etc."nscd.conf".text = cfg.config; - users.users.nscd = - { isSystemUser = true; - description = "Name service cache daemon user"; - }; - systemd.services.nscd = { description = "Name Service Cache Daemon"; @@ -51,22 +46,23 @@ in environment = { LD_LIBRARY_PATH = nssModulesPath; }; - preStart = - '' - mkdir -m 0755 -p /run/nscd - rm -f /run/nscd/nscd.pid - mkdir -m 0755 -p /var/db/nscd - ''; - restartTriggers = [ config.environment.etc.hosts.source config.environment.etc."nsswitch.conf".source config.environment.etc."nscd.conf".source ]; + # We use DynamicUser because in default configurations nscd doesn't + # create any files that need to survive restarts. However, in some + # configurations, nscd needs to be started as root; it will drop + # privileges after all the NSS modules have read their configuration + # files. So prefix the ExecStart command with "!" to prevent systemd + # from dropping privileges early. See ExecStart in systemd.service(5). serviceConfig = - { ExecStart = "@${pkgs.glibc.bin}/sbin/nscd nscd"; + { ExecStart = "!@${pkgs.glibc.bin}/sbin/nscd nscd"; Type = "forking"; + DynamicUser = true; + RuntimeDirectory = "nscd"; PIDFile = "/run/nscd/nscd.pid"; Restart = "always"; ExecReload = @@ -75,15 +71,6 @@ in "${pkgs.glibc.bin}/sbin/nscd --invalidate hosts" ]; }; - - # Urgggggh... Nscd forks before opening its socket and writing - # its pid. So wait until it's ready. - postStart = - '' - while ! ${pkgs.glibc.bin}/sbin/nscd -g > /dev/null; do - sleep 0.2 - done - ''; }; }; diff --git a/nixos/modules/services/torrent/deluge.nix b/nixos/modules/services/torrent/deluge.nix index 84f0437b941..d8810a4481b 100644 --- a/nixos/modules/services/torrent/deluge.nix +++ b/nixos/modules/services/torrent/deluge.nix @@ -5,8 +5,33 @@ with lib; let cfg = config.services.deluge; cfg_web = config.services.deluge.web; - openFilesLimit = 4096; + openFilesLimit = 4096; + listenPortsDefault = [ 6881 6889 ]; + + listToRange = x: { from = elemAt x 0; to = elemAt x 1; }; + + configDir = "${cfg.dataDir}/.config/deluge"; + configFile = pkgs.writeText "core.conf" (builtins.toJSON cfg.config); + declarativeLockFile = "${configDir}/.declarative"; + + preStart = if cfg.declarative then '' + if [ -e ${declarativeLockFile} ]; then + # Was declarative before, no need to back up anything + ln -sf ${configFile} ${configDir}/core.conf + ln -sf ${cfg.authFile} ${configDir}/auth + else + # Declarative for the first time, backup stateful files + ln -sb --suffix=.stateful ${configFile} ${configDir}/core.conf + ln -sb --suffix=.stateful ${cfg.authFile} ${configDir}/auth + echo "Autogenerated file that signifies that this server configuration is managed declaratively by NixOS" \ + > ${declarativeLockFile} + fi + '' else '' + if [ -e ${declarativeLockFile} ]; then + rm ${declarativeLockFile} + fi + ''; in { options = { services = { @@ -15,54 +40,215 @@ in { openFilesLimit = mkOption { default = openFilesLimit; - example = 8192; description = '' Number of files to allow deluged to open. ''; }; + + config = mkOption { + type = types.attrs; + default = {}; + example = literalExample '' + { + download_location = "/srv/torrents/"; + max_upload_speed = "1000.0"; + share_ratio_limit = "2.0"; + allow_remote = true; + daemon_port = 58846; + listen_ports = [ ${toString listenPortsDefault} ]; + } + ''; + description = '' + Deluge core configuration for the core.conf file. Only has an effect + when is set to + true. String values must be quoted, integer and + boolean values must not. See + + for the availaible options. + ''; + }; + + declarative = mkOption { + type = types.bool; + default = false; + description = '' + Whether to use a declarative deluge configuration. + Only if set to true, the options + , + and + will be + applied. + ''; + }; + + openFirewall = mkOption { + default = false; + type = types.bool; + description = '' + Whether to open the firewall for the ports in + . It only takes effet if + is set to + true. + + It does NOT apply to the daemon port nor the web UI port. To access those + ports secuerly check the documentation + + or use a VPN or configure certificates for deluge. + ''; + }; + + dataDir = mkOption { + type = types.path; + default = "/var/lib/deluge"; + description = '' + The directory where deluge will create files. + ''; + }; + + authFile = mkOption { + type = types.path; + example = "/run/keys/deluge-auth"; + description = '' + The file managing the authentication for deluge, the format of this + file is straightforward, each line contains a + username:password:level tuple in plaintext. It only has an effect + when is set to + true. + See for + more informations. + ''; + }; + + user = mkOption { + type = types.str; + default = "deluge"; + description = '' + User account under which deluge runs. + ''; + }; + + group = mkOption { + type = types.str; + default = "deluge"; + description = '' + Group under which deluge runs. + ''; + }; + + extraPackages = mkOption { + type = types.listOf types.package; + default = []; + description = '' + Extra packages available at runtime to enable Deluge's plugins. For example, + extraction utilities are required for the built-in "Extractor" plugin. + This always contains unzip, gnutar, xz, p7zip and bzip2. + ''; + }; }; - deluge.web.enable = mkEnableOption "Deluge Web daemon"; + deluge.web = { + enable = mkEnableOption "Deluge Web daemon"; + + port = mkOption { + type = types.port; + default = 8112; + description = '' + Deluge web UI port. + ''; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open ports in the firewall for deluge web daemon + ''; + }; + }; }; }; config = mkIf cfg.enable { + # Provide a default set of `extraPackages`. + services.deluge.extraPackages = with pkgs; [ unzip gnutar xz p7zip bzip2 ]; + + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0770 ${cfg.user} ${cfg.group}" + "d '${cfg.dataDir}/.config' 0770 ${cfg.user} ${cfg.group}" + "d '${cfg.dataDir}/.config/deluge' 0770 ${cfg.user} ${cfg.group}" + ] + ++ optional (cfg.config ? "download_location") + "d '${cfg.config.download_location}' 0770 ${cfg.user} ${cfg.group}" + ++ optional (cfg.config ? "torrentfiles_location") + "d '${cfg.config.torrentfiles_location}' 0770 ${cfg.user} ${cfg.group}" + ++ optional (cfg.config ? "move_completed_path") + "d '${cfg.config.move_completed_path}' 0770 ${cfg.user} ${cfg.group}"; + systemd.services.deluged = { after = [ "network.target" ]; description = "Deluge BitTorrent Daemon"; wantedBy = [ "multi-user.target" ]; - path = [ pkgs.deluge ]; + path = [ pkgs.deluge ] ++ cfg.extraPackages; serviceConfig = { - ExecStart = "${pkgs.deluge}/bin/deluged -d"; - # To prevent "Quit & shutdown daemon" from working; we want systemd to manage it! + ExecStart = '' + ${pkgs.deluge}/bin/deluged \ + --do-not-daemonize \ + --config ${configDir} + ''; + # To prevent "Quit & shutdown daemon" from working; we want systemd to + # manage it! Restart = "on-success"; - User = "deluge"; - Group = "deluge"; + User = cfg.user; + Group = cfg.group; + UMask = "0002"; LimitNOFILE = cfg.openFilesLimit; }; + preStart = preStart; }; systemd.services.delugeweb = mkIf cfg_web.enable { - after = [ "network.target" ]; + after = [ "network.target" "deluged.service"]; + requires = [ "deluged.service" ]; description = "Deluge BitTorrent WebUI"; wantedBy = [ "multi-user.target" ]; path = [ pkgs.deluge ]; - serviceConfig.ExecStart = "${pkgs.deluge}/bin/deluge --ui web"; - serviceConfig.User = "deluge"; - serviceConfig.Group = "deluge"; + serviceConfig = { + ExecStart = '' + ${pkgs.deluge}/bin/deluge-web \ + --config ${configDir} \ + --port ${toString cfg.web.port} + ''; + User = cfg.user; + Group = cfg.group; + }; }; + networking.firewall = mkMerge [ + (mkIf (cfg.declarative && cfg.openFirewall && !(cfg.config.random_port or true)) { + allowedTCPPortRanges = singleton (listToRange (cfg.config.listen_ports or listenPortsDefault)); + allowedUDPPortRanges = singleton (listToRange (cfg.config.listen_ports or listenPortsDefault)); + }) + (mkIf (cfg.web.openFirewall) { + allowedTCPPorts = [ cfg.web.port ]; + }) + ]; + environment.systemPackages = [ pkgs.deluge ]; - users.users.deluge = { - group = "deluge"; - uid = config.ids.uids.deluge; - home = "/var/lib/deluge/"; - createHome = true; - description = "Deluge Daemon user"; + users.users = mkIf (cfg.user == "deluge") { + deluge = { + group = cfg.group; + uid = config.ids.uids.deluge; + home = cfg.dataDir; + description = "Deluge Daemon user"; + }; }; - users.groups.deluge.gid = config.ids.gids.deluge; + users.groups = mkIf (cfg.group == "deluge") { + deluge = { + gid = config.ids.gids.deluge; + }; + }; }; } diff --git a/nixos/modules/services/torrent/flexget.nix b/nixos/modules/services/torrent/flexget.nix index ca63f529a5d..6ac85f8fa17 100644 --- a/nixos/modules/services/torrent/flexget.nix +++ b/nixos/modules/services/torrent/flexget.nix @@ -19,7 +19,7 @@ in { user = mkOption { default = "deluge"; example = "some_user"; - type = types.string; + type = types.str; description = "The user under which to run flexget."; }; @@ -33,7 +33,7 @@ in { interval = mkOption { default = "10m"; example = "1h"; - type = types.string; + type = types.str; description = "When to perform a flexget run. See man 7 systemd.time for the format."; }; diff --git a/nixos/modules/services/torrent/magnetico.nix b/nixos/modules/services/torrent/magnetico.nix new file mode 100644 index 00000000000..02fa2ac0750 --- /dev/null +++ b/nixos/modules/services/torrent/magnetico.nix @@ -0,0 +1,214 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.magnetico; + + dataDir = "/var/lib/magnetico"; + + credFile = with cfg.web; + if credentialsFile != null + then credentialsFile + else pkgs.writeText "magnetico-credentials" + (concatStrings (mapAttrsToList + (user: hash: "${user}:${hash}\n") + cfg.web.credentials)); + + # default options in magneticod/main.go + dbURI = concatStrings + [ "sqlite3://${dataDir}/database.sqlite3" + "?_journal_mode=WAL" + "&_busy_timeout=3000" + "&_foreign_keys=true" + ]; + + crawlerArgs = with cfg.crawler; escapeShellArgs + ([ "--database=${dbURI}" + "--indexer-addr=${address}:${toString port}" + "--indexer-max-neighbors=${toString maxNeighbors}" + "--leech-max-n=${toString maxLeeches}" + ] ++ extraOptions); + + webArgs = with cfg.web; escapeShellArgs + ([ "--database=${dbURI}" + (if (cfg.web.credentialsFile != null || cfg.web.credentials != { }) + then "--credentials=${toString credFile}" + else "--no-auth") + ] ++ extraOptions); + +in { + + ###### interface + + options.services.magnetico = { + enable = mkEnableOption "Magnetico, Bittorrent DHT crawler"; + + crawler.address = mkOption { + type = types.str; + default = "0.0.0.0"; + example = "1.2.3.4"; + description = '' + Address to be used for indexing DHT nodes. + ''; + }; + + crawler.port = mkOption { + type = types.port; + default = 0; + description = '' + Port to be used for indexing DHT nodes. + This port should be added to + . + ''; + }; + + crawler.maxNeighbors = mkOption { + type = types.ints.positive; + default = 1000; + description = '' + Maximum number of simultaneous neighbors of an indexer. + Be careful changing this number: high values can very + easily cause your network to be congested or even crash + your router. + ''; + }; + + crawler.maxLeeches = mkOption { + type = types.ints.positive; + default = 200; + description = '' + Maximum number of simultaneous leeches. + ''; + }; + + crawler.extraOptions = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra command line arguments to pass to magneticod. + ''; + }; + + web.address = mkOption { + type = types.str; + default = "localhost"; + example = "1.2.3.4"; + description = '' + Address the web interface will listen to. + ''; + }; + + web.port = mkOption { + type = types.port; + default = 8080; + description = '' + Port the web interface will listen to. + ''; + }; + + web.credentials = mkOption { + type = types.attrsOf types.str; + default = {}; + example = lib.literalExample '' + { + myuser = "$2y$12$YE01LZ8jrbQbx6c0s2hdZO71dSjn2p/O9XsYJpz.5968yCysUgiaG"; + } + ''; + description = '' + The credentials to access the web interface, in case authentication is + enabled, in the format username:hash. If unset no + authentication will be required. + + Usernames must start with a lowercase ([a-z]) ASCII character, might + contain non-consecutive underscores except at the end, and consists of + small-case a-z characters and digits 0-9. The + htpasswd tool from the apacheHttpd + package may be used to generate the hash: htpasswd + -bnBC 12 username password + + + + The hashes will be stored world-readable in the nix store. + Consider using the credentialsFile option if you + don't want this. + + + ''; + }; + + web.credentialsFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + The path to the file holding the credentials to access the web + interface. If unset no authentication will be required. + + The file must constain user names and password hashes in the format + username:hash , one for each line. Usernames must + start with a lowecase ([a-z]) ASCII character, might contain + non-consecutive underscores except at the end, and consists of + small-case a-z characters and digits 0-9. + The htpasswd tool from the apacheHttpd + package may be used to generate the hash: + htpasswd -bnBC 12 username password + ''; + }; + + web.extraOptions = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra command line arguments to pass to magneticow. + ''; + }; + + }; + + ###### implementation + + config = mkIf cfg.enable { + + users.users.magnetico = { + description = "Magnetico daemons user"; + }; + + systemd.services.magneticod = { + description = "Magnetico DHT crawler"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-online.target" ]; + + serviceConfig = { + User = "magnetico"; + Restart = "on-failure"; + ExecStart = "${pkgs.magnetico}/bin/magneticod ${crawlerArgs}"; + }; + }; + + systemd.services.magneticow = { + description = "Magnetico web interface"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-online.target" "magneticod.service"]; + + serviceConfig = { + User = "magnetico"; + StateDirectory = "magnetico"; + Restart = "on-failure"; + ExecStart = "${pkgs.magnetico}/bin/magneticow ${webArgs}"; + }; + }; + + assertions = + [ + { + assertion = cfg.web.credentialsFile != null || cfg.web.credentials != { }; + message = '' + The options services.magnetico.web.credentialsFile and + services.magnetico.web.credentials are mutually exclusives. + ''; + } + ]; + + }; + +} diff --git a/nixos/modules/services/torrent/peerflix.nix b/nixos/modules/services/torrent/peerflix.nix index bed6661f84d..a74f6598432 100644 --- a/nixos/modules/services/torrent/peerflix.nix +++ b/nixos/modules/services/torrent/peerflix.nix @@ -39,6 +39,10 @@ in { ###### implementation config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.stateDir}' - peerflix - - -" + ]; + systemd.services.peerflix = { description = "Peerflix Daemon"; wantedBy = [ "multi-user.target" ]; @@ -47,13 +51,11 @@ in { preStart = '' mkdir -p "${cfg.stateDir}"/{torrents,.config/peerflix-server} - if [ "$(id -u)" = 0 ]; then chown -R peerflix "${cfg.stateDir}"; fi ln -fs "${configFile}" "${cfg.stateDir}/.config/peerflix-server/config.json" ''; serviceConfig = { ExecStart = "${pkgs.nodePackages.peerflix-server}/bin/peerflix-server"; - PermissionsStartOnly = true; User = "peerflix"; }; }; diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix index f544928fb6b..a94a471361e 100644 --- a/nixos/modules/services/torrent/transmission.nix +++ b/nixos/modules/services/torrent/transmission.nix @@ -84,6 +84,18 @@ in The directory where transmission will create files. ''; }; + + user = mkOption { + type = types.str; + default = "transmission"; + description = "User account under which Transmission runs."; + }; + + group = mkOption { + type = types.str; + default = "transmission"; + description = "Group account under which Transmission runs."; + }; }; }; @@ -99,7 +111,8 @@ in serviceConfig.ExecStartPre = preStart; serviceConfig.ExecStart = "${pkgs.transmission}/bin/transmission-daemon -f --port ${toString config.services.transmission.port}"; serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - serviceConfig.User = "transmission"; + serviceConfig.User = cfg.user; + serviceConfig.Group = cfg.group; # NOTE: transmission has an internal umask that also must be set (in settings.json) serviceConfig.UMask = "0002"; }; @@ -107,14 +120,19 @@ in # It's useful to have transmission in path, e.g. for remote control environment.systemPackages = [ pkgs.transmission ]; - users.groups.transmission.gid = config.ids.gids.transmission; - users.users.transmission = { - group = "transmission"; - uid = config.ids.uids.transmission; - description = "Transmission BitTorrent user"; - home = homeDir; - createHome = true; - }; + users.users = optionalAttrs (cfg.user == "transmission") (singleton + { name = "transmission"; + group = cfg.group; + uid = config.ids.uids.transmission; + description = "Transmission BitTorrent user"; + home = homeDir; + createHome = true; + }); + + users.groups = optionalAttrs (cfg.group == "transmission") (singleton + { name = "transmission"; + gid = config.ids.gids.transmission; + }); # AppArmor profile security.apparmor.profiles = mkIf apparmor [ diff --git a/nixos/modules/services/ttys/kmscon.nix b/nixos/modules/services/ttys/kmscon.nix index 82b6a51028e..dc37f9bee4b 100644 --- a/nixos/modules/services/ttys/kmscon.nix +++ b/nixos/modules/services/ttys/kmscon.nix @@ -82,7 +82,7 @@ in { X-RestartIfChanged=false ''; - systemd.units."autovt@.service".unit = pkgs.runCommand "unit" { } + systemd.units."autovt@.service".unit = pkgs.runCommand "unit" { preferLocalBuild = true; } '' mkdir -p $out ln -s ${config.systemd.units."kmsconvt@.service".unit}/kmsconvt@.service $out/autovt@.service diff --git a/nixos/modules/services/web-apps/atlassian/confluence.nix b/nixos/modules/services/web-apps/atlassian/confluence.nix index 15744d90cc7..cf163271d27 100644 --- a/nixos/modules/services/web-apps/atlassian/confluence.nix +++ b/nixos/modules/services/web-apps/atlassian/confluence.nix @@ -149,6 +149,17 @@ in users.groups."${cfg.group}" = {}; + systemd.tmpfiles.rules = [ + "d '${cfg.home}' - ${cfg.user} - - -" + "d /run/confluence - - - - -" + + "L+ /run/confluence/home - - - - ${cfg.home}" + "L+ /run/confluence/logs - - - - ${cfg.home}/logs" + "L+ /run/confluence/temp - - - - ${cfg.home}/temp" + "L+ /run/confluence/work - - - - ${cfg.home}/work" + "L+ /run/confluence/server.xml - - - - ${cfg.home}/server.xml" + ]; + systemd.services.confluence = { description = "Atlassian Confluence"; @@ -167,12 +178,6 @@ in preStart = '' mkdir -p ${cfg.home}/{logs,work,temp,deploy} - mkdir -p /run/confluence - ln -sf ${cfg.home}/{logs,work,temp,server.xml} /run/confluence - ln -sf ${cfg.home} /run/confluence/home - - chown ${cfg.user} ${cfg.home} - sed -e 's,port="8090",port="${toString cfg.listenPort}" address="${cfg.listenAddress}",' \ '' + (lib.optionalString cfg.proxy.enable '' -e 's,protocol="org.apache.coyote.http11.Http11NioProtocol",protocol="org.apache.coyote.http11.Http11NioProtocol" proxyName="${cfg.proxy.name}" proxyPort="${toString cfg.proxy.port}" scheme="${cfg.proxy.scheme}",' \ @@ -184,7 +189,6 @@ in User = cfg.user; Group = cfg.group; PrivateTmp = true; - PermissionsStartOnly = true; ExecStart = "${pkg}/bin/start-confluence.sh -fg"; ExecStop = "${pkg}/bin/stop-confluence.sh"; }; diff --git a/nixos/modules/services/web-apps/atlassian/crowd.nix b/nixos/modules/services/web-apps/atlassian/crowd.nix index c144b21bdaf..020ca8d89db 100644 --- a/nixos/modules/services/web-apps/atlassian/crowd.nix +++ b/nixos/modules/services/web-apps/atlassian/crowd.nix @@ -117,6 +117,16 @@ in users.groups."${cfg.group}" = {}; + systemd.tmpfiles.rules = [ + "d '${cfg.home}' - ${cfg.user} ${cfg.group} - -" + "d /run/atlassian-crowd - - - - -" + + "L+ /run/atlassian-crowd/database - - - - ${cfg.home}/database" + "L+ /run/atlassian-crowd/logs - - - - ${cfg.home}/logs" + "L+ /run/atlassian-crowd/work - - - - ${cfg.home}/work" + "L+ /run/atlassian-crowd/server.xml - - - - ${cfg.home}/server.xml" + ]; + systemd.services.atlassian-crowd = { description = "Atlassian Crowd"; @@ -136,12 +146,6 @@ in rm -rf ${cfg.home}/work mkdir -p ${cfg.home}/{logs,database,work} - mkdir -p /run/atlassian-crowd - ln -sf ${cfg.home}/{database,logs,work,server.xml} /run/atlassian-crowd - - chown ${cfg.user}:${cfg.group} ${cfg.home} - chown ${cfg.user}:${cfg.group} ${cfg.home}/{logs,database,work} - sed -e 's,port="8095",port="${toString cfg.listenPort}" address="${cfg.listenAddress}",' \ '' + (lib.optionalString cfg.proxy.enable '' -e 's,compression="on",compression="off" protocol="HTTP/1.1" proxyName="${cfg.proxy.name}" proxyPort="${toString cfg.proxy.port}" scheme="${cfg.proxy.scheme}" secure="${boolToString cfg.proxy.secure}",' \ @@ -153,7 +157,6 @@ in User = cfg.user; Group = cfg.group; PrivateTmp = true; - PermissionsStartOnly = true; ExecStart = "${pkg}/start_crowd.sh -fg"; }; }; diff --git a/nixos/modules/services/web-apps/atlassian/jira.nix b/nixos/modules/services/web-apps/atlassian/jira.nix index 0b3a5722d6c..b0019e77ac2 100644 --- a/nixos/modules/services/web-apps/atlassian/jira.nix +++ b/nixos/modules/services/web-apps/atlassian/jira.nix @@ -155,6 +155,17 @@ in users.groups."${cfg.group}" = {}; + systemd.tmpfiles.rules = [ + "d '${cfg.home}' - ${cfg.user} - - -" + "d /run/atlassian-jira - - - - -" + + "L+ /run/atlassian-jira/home - - - - ${cfg.home}" + "L+ /run/atlassian-jira/logs - - - - ${cfg.home}/logs" + "L+ /run/atlassian-jira/work - - - - ${cfg.home}/work" + "L+ /run/atlassian-jira/temp - - - - ${cfg.home}/temp" + "L+ /run/atlassian-jira/server.xml - - - - ${cfg.home}/server.xml" + ]; + systemd.services.atlassian-jira = { description = "Atlassian JIRA"; @@ -174,12 +185,6 @@ in preStart = '' mkdir -p ${cfg.home}/{logs,work,temp,deploy} - mkdir -p /run/atlassian-jira - ln -sf ${cfg.home}/{logs,work,temp,server.xml} /run/atlassian-jira - ln -sf ${cfg.home} /run/atlassian-jira/home - - chown ${cfg.user} ${cfg.home} - sed -e 's,port="8080",port="${toString cfg.listenPort}" address="${cfg.listenAddress}",' \ '' + (lib.optionalString cfg.proxy.enable '' -e 's,protocol="HTTP/1.1",protocol="HTTP/1.1" proxyName="${cfg.proxy.name}" proxyPort="${toString cfg.proxy.port}" scheme="${cfg.proxy.scheme}" secure="${toString cfg.proxy.secure}",' \ @@ -191,7 +196,6 @@ in User = cfg.user; Group = cfg.group; PrivateTmp = true; - PermissionsStartOnly = true; ExecStart = "${pkg}/bin/start-jira.sh -fg"; ExecStop = "${pkg}/bin/stop-jira.sh"; }; diff --git a/nixos/modules/services/web-apps/codimd.nix b/nixos/modules/services/web-apps/codimd.nix index a0af28eac7c..7ae7cd9c52d 100644 --- a/nixos/modules/services/web-apps/codimd.nix +++ b/nixos/modules/services/web-apps/codimd.nix @@ -6,7 +6,7 @@ let cfg = config.services.codimd; prettyJSON = conf: - pkgs.runCommand "codimd-config.json" { } '' + pkgs.runCommand "codimd-config.json" { preferLocalBuild = true; } '' echo '${builtins.toJSON conf}' | ${pkgs.jq}/bin/jq \ '{production:del(.[]|nulls)|del(.[][]?|nulls)}' > $out ''; @@ -67,7 +67,7 @@ in path = mkOption { type = types.nullOr types.str; default = null; - example = "/var/run/codimd.sock"; + example = "/run/codimd.sock"; description = '' Specify where a UNIX domain socket should be placed. ''; @@ -899,10 +899,6 @@ in description = "CodiMD Service"; wantedBy = [ "multi-user.target" ]; after = [ "networking.target" ]; - preStart = '' - mkdir -p ${cfg.workDir} - chown -R codimd: ${cfg.workDir} - ''; serviceConfig = { WorkingDirectory = cfg.workDir; ExecStart = "${pkgs.codimd}/bin/codimd"; @@ -912,7 +908,6 @@ in ]; Restart = "always"; User = "codimd"; - PermissionsStartOnly = true; PrivateTmp = true; }; }; diff --git a/nixos/modules/services/web-apps/cryptpad.nix b/nixos/modules/services/web-apps/cryptpad.nix new file mode 100644 index 00000000000..69a89107d31 --- /dev/null +++ b/nixos/modules/services/web-apps/cryptpad.nix @@ -0,0 +1,54 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.cryptpad; +in +{ + options.services.cryptpad = { + enable = mkEnableOption "the Cryptpad service"; + + package = mkOption { + default = pkgs.cryptpad; + defaultText = "pkgs.cryptpad"; + type = types.package; + description = " + Cryptpad package to use. + "; + }; + + configFile = mkOption { + type = types.path; + default = "${cfg.package}/lib/node_modules/cryptpad/config/config.example.js"; + defaultText = "\${cfg.package}/lib/node_modules/cryptpad/config/config.example.js"; + description = '' + Path to the JavaScript configuration file. + + See + for a configuration example. + ''; + }; + }; + + config = mkIf cfg.enable { + systemd.services.cryptpad = { + description = "Cryptpad Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "networking.target" ]; + serviceConfig = { + DynamicUser = true; + Environment = [ + "CRYPTPAD_CONFIG=${cfg.configFile}" + "HOME=%S/cryptpad" + ]; + ExecStart = "${cfg.package}/bin/cryptpad"; + PrivateTmp = true; + Restart = "always"; + StateDirectory = "cryptpad"; + WorkingDirectory = "%S/cryptpad"; + }; + }; + }; +} diff --git a/nixos/modules/services/web-apps/documize.nix b/nixos/modules/services/web-apps/documize.nix new file mode 100644 index 00000000000..37359869cb6 --- /dev/null +++ b/nixos/modules/services/web-apps/documize.nix @@ -0,0 +1,138 @@ +{ pkgs, lib, config, ... }: + +with lib; + +let + cfg = config.services.documize; + + mkParams = optional: concatMapStrings (name: let + predicate = optional -> cfg.${name} != null; + template = " -${name} '${toString cfg.${name}}'"; + in optionalString predicate template); + +in { + options.services.documize = { + enable = mkEnableOption "Documize Wiki"; + + package = mkOption { + type = types.package; + default = pkgs.documize-community; + description = '' + Which package to use for documize. + ''; + }; + + salt = mkOption { + type = types.nullOr types.str; + default = null; + example = "3edIYV6c8B28b19fh"; + description = '' + The salt string used to encode JWT tokens, if not set a random value will be generated. + ''; + }; + + cert = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + The cert.pem file used for https. + ''; + }; + + key = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + The key.pem file used for https. + ''; + }; + + port = mkOption { + type = types.port; + default = 5001; + description = '' + The http/https port number. + ''; + }; + + forcesslport = mkOption { + type = types.nullOr types.port; + default = null; + description = '' + Redirect given http port number to TLS. + ''; + }; + + offline = mkOption { + type = types.bool; + default = false; + description = '' + Set true for offline mode. + ''; + apply = v: if true == v then 1 else 0; + }; + + dbtype = mkOption { + type = types.enum [ "mysql" "percona" "mariadb" "postgresql" "sqlserver" ]; + default = "postgresql"; + description = '' + Specify the database provider: + + mysql + percona + mariadb + postgresql + sqlserver + + ''; + }; + + db = mkOption { + type = types.str; + description = '' + Database specific connection string for example: + + MySQL/Percona/MariaDB: + user:password@tcp(host:3306)/documize + + MySQLv8+: + user:password@tcp(host:3306)/documize?allowNativePasswords=true + + PostgreSQL: + host=localhost port=5432 dbname=documize user=admin password=secret sslmode=disable + + MSSQL: + sqlserver://username:password@localhost:1433?database=Documize or + sqlserver://sa@localhost/SQLExpress?database=Documize + + + ''; + }; + + location = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + reserved + ''; + }; + }; + + config = mkIf cfg.enable { + systemd.services.documize-server = { + description = "Documize Wiki"; + documentation = [ https://documize.com/ ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + ExecStart = concatStringsSep " " [ + "${cfg.package}/bin/documize" + (mkParams false [ "db" "dbtype" "port" ]) + (mkParams true [ "offline" "location" "forcesslport" "key" "cert" "salt" ]) + ]; + Restart = "always"; + DynamicUser = "yes"; + }; + }; + }; +} diff --git a/nixos/modules/services/web-apps/frab.nix b/nixos/modules/services/web-apps/frab.nix index fb95e024817..e885dc69b3c 100644 --- a/nixos/modules/services/web-apps/frab.nix +++ b/nixos/modules/services/web-apps/frab.nix @@ -182,16 +182,16 @@ in users.groups = [ { name = cfg.group; } ]; + systemd.tmpfiles.rules = [ + "d '${cfg.statePath}/system/attachments' - ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.frab = { after = [ "network.target" "gitlab.service" ]; wantedBy = [ "multi-user.target" ]; environment = frabEnv; preStart = '' - mkdir -p ${cfg.statePath}/system/attachments - chown ${cfg.user}:${cfg.group} -R ${cfg.statePath} - - mkdir /run/frab -p ln -sf ${pkgs.writeText "frab-database.yml" databaseConfig} /run/frab/database.yml ln -sf ${cfg.statePath}/system /run/frab/system @@ -204,7 +204,6 @@ in ''; serviceConfig = { - PermissionsStartOnly = true; PrivateTmp = true; PrivateDevices = true; Type = "simple"; @@ -213,6 +212,7 @@ in TimeoutSec = "300s"; Restart = "on-failure"; RestartSec = "10s"; + RuntimeDirectory = "frab"; WorkingDirectory = "${package}/share/frab"; ExecStart = "${frab-rake}/bin/frab-bundle exec rails server " + "--binding=${cfg.listenAddress} --port=${toString cfg.listenPort}"; diff --git a/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix b/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix index ccaa2cff1c2..95c8fb16051 100644 --- a/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix +++ b/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix @@ -1,114 +1,22 @@ { config, lib, pkgs, ... }: with lib; let cfg = config.services.icingaweb2; + fpm = config.services.phpfpm.pools.${poolName}; poolName = "icingaweb2"; - phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock"; - - formatBool = b: if b then "1" else "0"; - - configIni = let - config = cfg.generalConfig; - in '' - [global] - show_stacktraces = "${formatBool config.showStacktraces}" - show_application_state_messages = "${formatBool config.showApplicationStateMessages}" - module_path = "${pkgs.icingaweb2}/modules${optionalString (builtins.length config.modulePath > 0) ":${concatStringsSep ":" config.modulePath}"}" - config_backend = "${config.configBackend}" - ${optionalString (config.configBackend == "db") ''config_resource = "${config.configResource}"''} - - [logging] - log = "${config.log}" - ${optionalString (config.log != "none") ''level = "${config.logLevel}"''} - ${optionalString (config.log == "php" || config.log == "syslog") ''application = "${config.logApplication}"''} - ${optionalString (config.log == "syslog") ''facility = "${config.logFacility}"''} - ${optionalString (config.log == "file") ''file = "${config.logFile}"''} - - [themes] - default = "${config.themeDefault}" - disabled = "${formatBool config.themeDisabled}" - - [authentication] - ${optionalString (config.authDefaultDomain != null) ''default_domain = "${config.authDefaultDomain}"''} - ''; - - resourcesIni = concatStringsSep "\n" (mapAttrsToList (name: config: '' - [${name}] - type = "${config.type}" - ${optionalString (config.type == "db") '' - db = "${config.db}" - host = "${config.host}" - ${optionalString (config.port != null) ''port = "${toString config.port}"''} - username = "${config.username}" - password = "${config.password}" - dbname = "${config.dbname}" - ${optionalString (config.charset != null) ''charset = "${config.charset}"''} - use_ssl = "${formatBool config.useSSL}" - ${optionalString (config.sslCert != null) ''ssl_cert = "${config.sslCert}"''} - ${optionalString (config.sslKey != null) ''ssl_cert = "${config.sslKey}"''} - ${optionalString (config.sslCA != null) ''ssl_cert = "${config.sslCA}"''} - ${optionalString (config.sslCApath != null) ''ssl_cert = "${config.sslCApath}"''} - ${optionalString (config.sslCipher != null) ''ssl_cert = "${config.sslCipher}"''} - ''} - ${optionalString (config.type == "ldap") '' - hostname = "${config.host}" - ${optionalString (config.port != null) ''port = "${toString config.port}"''} - root_dn = "${config.rootDN}" - bind_dn = "${config.username}" - bind_pw = "${config.password}" - encryption = "${config.ldapEncryption}" - timeout = "${toString config.ldapTimeout}" - ''} - ${optionalString (config.type == "ssh") '' - user = "${config.username}" - private_key = "${config.sshPrivateKey}" - ''} - - '') cfg.resources); - - authenticationIni = concatStringsSep "\n" (mapAttrsToList (name: config: '' - [${name}] - backend = "${config.backend}" - ${optionalString (config.domain != null) ''domain = "${config.domain}"''} - ${optionalString (config.backend == "external" && config.externalStripRegex != null) ''strip_username_regexp = "${config.externalStripRegex}"''} - ${optionalString (config.backend != "external") ''resource = "${config.resource}"''} - ${optionalString (config.backend == "ldap" || config.backend == "msldap") '' - ${optionalString (config.ldapUserClass != null) ''user_class = "${config.ldapUserClass}"''} - ${optionalString (config.ldapUserNameAttr != null) ''user_name_attribute = "${config.ldapUserNameAttr}"''} - ${optionalString (config.ldapFilter != null) ''filter = "${config.ldapFilter}"''} - ''} - '') cfg.authentications); - - groupsIni = concatStringsSep "\n" (mapAttrsToList (name: config: '' - [${name}] - backend = "${config.backend}" - resource = "${config.resource}" - ${optionalString (config.backend != "db") '' - ${optionalString (config.ldapUserClass != null) ''user_class = "${config.ldapUserClass}"''} - ${optionalString (config.ldapUserNameAttr != null) ''user_name_attribute = "${config.ldapUserNameAttr}"''} - ${optionalString (config.ldapGroupClass != null) ''group_class = "${config.ldapGroupClass}"''} - ${optionalString (config.ldapGroupNameAttr != null) ''group_name_attribute = "${config.ldapGroupNameAttr}"''} - ${optionalString (config.ldapGroupFilter != null) ''group_filter = "${config.ldapGroupFilter}"''} - ''} - ${optionalString (config.backend == "msldap" && config.ldapNestedSearch) ''nested_group_search = "1"''} - '') cfg.groupBackends); - - rolesIni = let - optionalList = var: attribute: optionalString (builtins.length var > 0) ''${attribute} = "${concatStringsSep "," var}"''; - in concatStringsSep "\n" (mapAttrsToList (name: config: '' - [${name}] - ${optionalList config.users "users"} - ${optionalList config.groups "groups"} - ${optionalList config.permissions "permissions"} - ${optionalList config.permissions "permissions"} - ${concatStringsSep "\n" (mapAttrsToList (key: value: optionalList value key) config.extraAssignments)} - '') cfg.roles); + defaultConfig = { + global = { + module_path = "${pkgs.icingaweb2}/modules"; + }; + }; in { + meta.maintainers = with maintainers; [ das_j ]; + options.services.icingaweb2 = with types; { enable = mkEnableOption "the icingaweb2 web interface"; pool = mkOption { type = str; - default = "${poolName}"; + default = poolName; description = '' Name of existing PHP-FPM pool that is used to run Icingaweb2. If not specified, a pool will automatically created with default values. @@ -143,7 +51,7 @@ in { default = {}; example = literalExample '' { - "snow" = pkgs.icingaweb2Modules.theme-snow; + "snow" = icingaweb2Modules.theme-snow; } ''; description = '' @@ -153,419 +61,129 @@ in { ''; }; - generalConfig = { - mutable = mkOption { - type = bool; - default = false; - description = '' - Make config.ini mutable (e.g. via the web interface). - Not that you need to update module_path manually. - ''; + generalConfig = mkOption { + type = nullOr attrs; + default = null; + example = { + general = { + showStacktraces = 1; + config_resource = "icingaweb_db"; + }; + logging = { + log = "syslog"; + level = "CRITICAL"; + }; }; + description = '' + config.ini contents. + Will automatically be converted to a .ini file. + If you don't set global.module_path, the module will take care of it. - showStacktraces = mkOption { - type = bool; - default = true; - description = "Enable stack traces in the Web UI"; - }; - - showApplicationStateMessages = mkOption { - type = bool; - default = true; - description = "Enable application state messages in the Web UI"; - }; - - modulePath = mkOption { - type = listOf str; - default = []; - description = "List of additional module search paths"; - }; - - configBackend = mkOption { - type = enum [ "ini" "db" "none" ]; - default = "db"; - description = "Where to store user preferences"; - }; - - configResource = mkOption { - type = nullOr str; - default = null; - description = "Database resource where user preferences are stored (if they are stored in a database)"; - }; - - log = mkOption { - type = enum [ "syslog" "php" "file" "none" ]; - default = "syslog"; - description = "Logging target"; - }; - - logLevel = mkOption { - type = enum [ "ERROR" "WARNING" "INFO" "DEBUG" ]; - default = "ERROR"; - description = "Maximum logging level to emit"; - }; - - logApplication = mkOption { - type = str; - default = "icingaweb2"; - description = "Application name to log under (syslog and php log)"; - }; - - logFacility = mkOption { - type = enum [ "user" "local0" "local1" "local2" "local3" "local4" "local5" "local6" "local7" ]; - default = "user"; - description = "Syslog facility to log to"; - }; - - logFile = mkOption { - type = str; - default = "/var/log/icingaweb2/icingaweb2.log"; - description = "File to log to"; - }; - - themeDefault = mkOption { - type = str; - default = "Icinga"; - description = "Name of the default theme"; - }; - - themeDisabled = mkOption { - type = bool; - default = false; - description = "Disallow users to change the theme"; - }; - - authDefaultDomain = mkOption { - type = nullOr str; - default = null; - description = "Domain for users logging in without a qualified domain"; - }; - }; - - mutableResources = mkOption { - type = bool; - default = false; - description = "Make resources.ini mutable (e.g. via the web interface)"; + If the value is null, no config.ini is created and you can + modify it manually (e.g. via the web interface). + Note that you need to update module_path manually. + ''; }; resources = mkOption { - default = {}; - description = "Icingaweb 2 resources to define"; - type = attrsOf (submodule ({ name, ... }: { - options = { - name = mkOption { - visible = false; - default = name; - type = str; - description = "Name of this resource"; - }; - - type = mkOption { - type = enum [ "db" "ldap" "ssh" ]; - default = "db"; - description = "Type of this resouce"; - }; - - db = mkOption { - type = enum [ "mysql" "pgsql" ]; - default = "mysql"; - description = "Type of this database resource"; - }; - - host = mkOption { - type = str; - description = "Host to connect to"; - }; - - port = mkOption { - type = nullOr port; - default = null; - description = "Port to connect on"; - }; - - username = mkOption { - type = str; - description = "Database or SSH user or LDAP bind DN to connect with"; - }; - - password = mkOption { - type = str; - description = "Password for the database user or LDAP bind DN"; - }; - - dbname = mkOption { - type = str; - description = "Name of the database to connect to"; - }; - - charset = mkOption { - type = nullOr str; - default = null; - example = "utf8"; - description = "Database character set to connect with"; - }; - - useSSL = mkOption { - type = nullOr bool; - default = false; - description = "Whether to connect to the database using SSL"; - }; - - sslCert = mkOption { - type = nullOr str; - default = null; - description = "The file path to the SSL certificate. Only available for the mysql database."; - }; - - sslKey = mkOption { - type = nullOr str; - default = null; - description = "The file path to the SSL key. Only available for the mysql database."; - }; - - sslCA = mkOption { - type = nullOr str; - default = null; - description = "The file path to the SSL certificate authority. Only available for the mysql database."; - }; - - sslCApath = mkOption { - type = nullOr str; - default = null; - description = "The file path to the directory that contains the trusted SSL CA certificates in PEM format. Only available for the mysql database."; - }; - - sslCipher = mkOption { - type = nullOr str; - default = null; - description = "A list of one or more permissible ciphers to use for SSL encryption, in a format understood by OpenSSL. Only available for the mysql database."; - }; - - rootDN = mkOption { - type = str; - description = "Root object of the LDAP tree"; - }; - - ldapEncryption = mkOption { - type = enum [ "none" "starttls" "ldaps" ]; - default = "none"; - description = "LDAP encryption to use"; - }; - - ldapTimeout = mkOption { - type = ints.positive; - default = 5; - description = "Connection timeout for every LDAP connection"; - }; - - sshPrivateKey = mkOption { - type = str; - description = "The path to the private key of the user"; - }; + type = nullOr attrs; + default = null; + example = { + icingaweb_db = { + type = "db"; + db = "mysql"; + host = "localhost"; + username = "icingaweb2"; + password = "icingaweb2"; + dbname = "icingaweb2"; }; - })); - }; + }; + description = '' + resources.ini contents. + Will automatically be converted to a .ini file. - mutableAuthConfig = mkOption { - type = bool; - default = true; - description = "Make authentication.ini mutable (e.g. via the web interface)"; + If the value is null, no resources.ini is created and you can + modify it manually (e.g. via the web interface). + Note that if you set passwords here, they will go into the nix store. + ''; }; authentications = mkOption { - default = {}; - description = "Icingaweb 2 authentications to define"; - type = attrsOf (submodule ({ name, ... }: { - options = { - name = mkOption { - visible = false; - default = name; - type = str; - description = "Name of this authentication"; - }; - - backend = mkOption { - type = enum [ "external" "ldap" "msldap" "db" ]; - default = "db"; - description = "The type of this authentication backend"; - }; - - domain = mkOption { - type = nullOr str; - default = null; - description = "Domain for domain-aware authentication"; - }; - - externalStripRegex = mkOption { - type = nullOr str; - default = null; - description = "Regular expression to strip off specific user name parts"; - }; - - resource = mkOption { - type = str; - description = "Name of the database/LDAP resource"; - }; - - ldapUserClass = mkOption { - type = nullOr str; - default = null; - description = "LDAP user class"; - }; - - ldapUserNameAttr = mkOption { - type = nullOr str; - default = null; - description = "LDAP attribute which contains the username"; - }; - - ldapFilter = mkOption { - type = nullOr str; - default = null; - description = "LDAP search filter"; - }; + type = nullOr attrs; + default = null; + example = { + icingaweb = { + backend = "db"; + resource = "icingaweb_db"; }; - })); - }; + }; + description = '' + authentication.ini contents. + Will automatically be converted to a .ini file. - mutableGroupsConfig = mkOption { - type = bool; - default = true; - description = "Make groups.ini mutable (e.g. via the web interface)"; + If the value is null, no authentication.ini is created and you can + modify it manually (e.g. via the web interface). + ''; }; groupBackends = mkOption { - default = {}; - description = "Icingaweb 2 group backends to define"; - type = attrsOf (submodule ({ name, ... }: { - options = { - name = mkOption { - visible = false; - default = name; - type = str; - description = "Name of this group backend"; - }; - - backend = mkOption { - type = enum [ "ldap" "msldap" "db" ]; - default = "db"; - description = "The type of this group backend"; - }; - - resource = mkOption { - type = str; - description = "Name of the database/LDAP resource"; - }; - - ldapUserClass = mkOption { - type = nullOr str; - default = null; - description = "LDAP user class"; - }; - - ldapUserNameAttr = mkOption { - type = nullOr str; - default = null; - description = "LDAP attribute which contains the username"; - }; - - ldapGroupClass = mkOption { - type = nullOr str; - default = null; - description = "LDAP group class"; - }; - - ldapGroupNameAttr = mkOption { - type = nullOr str; - default = null; - description = "LDAP attribute which contains the groupname"; - }; - - ldapGroupFilter = mkOption { - type = nullOr str; - default = null; - description = "LDAP group search filter"; - }; - - ldapNestedSearch = mkOption { - type = bool; - default = false; - description = "Enable nested group search in Active Directory based on the user"; - }; + type = nullOr attrs; + default = null; + example = { + icingaweb = { + backend = "db"; + resource = "icingaweb_db"; }; - })); - }; + }; + description = '' + groups.ini contents. + Will automatically be converted to a .ini file. - mutableRolesConfig = mkOption { - type = bool; - default = true; - description = "Make roles.ini mutable (e.g. via the web interface)"; + If the value is null, no groups.ini is created and you can + modify it manually (e.g. via the web interface). + ''; }; roles = mkOption { - default = {}; - description = "Icingaweb 2 roles to define"; - type = attrsOf (submodule ({ name, ... }: { - options = { - name = mkOption { - visible = false; - default = name; - type = str; - description = "Name of this role"; - }; - - users = mkOption { - type = listOf str; - default = []; - description = "List of users that are assigned to the role"; - }; - - groups = mkOption { - type = listOf str; - default = []; - description = "List of groups that are assigned to the role"; - }; - - permissions = mkOption { - type = listOf str; - default = []; - example = [ "application/share/navigation" "config/*" ]; - description = "The permissions to grant"; - }; - - extraAssignments = mkOption { - type = attrsOf (listOf str); - default = {}; - example = { "monitoring/blacklist/properties" = [ "sla" "customer"]; }; - description = "Additional assignments of this role"; - }; + type = nullOr attrs; + default = null; + example = { + Administrators = { + users = "admin"; + permissions = "*"; }; - })); + }; + description = '' + roles.ini contents. + Will automatically be converted to a .ini file. + + If the value is null, no roles.ini is created and you can + modify it manually (e.g. via the web interface). + ''; }; }; config = mkIf cfg.enable { - services.phpfpm.poolConfigs = mkIf (cfg.pool == "${poolName}") { - "${poolName}" = '' - listen = "${phpfpmSocketName}" - listen.owner = nginx - listen.group = nginx - listen.mode = 0600 - user = icingaweb2 - pm = dynamic - pm.max_children = 75 - pm.start_servers = 2 - pm.min_spare_servers = 2 - pm.max_spare_servers = 10 - ''; + services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") { + "${poolName}" = { + user = "icingaweb2"; + phpOptions = '' + extension = ${pkgs.phpPackages.imagick}/lib/php/extensions/imagick.so + date.timezone = "${cfg.timezone}" + ''; + settings = mapAttrs (name: mkDefault) { + "listen.owner" = "nginx"; + "listen.group" = "nginx"; + "listen.mode" = "0600"; + "pm" = "dynamic"; + "pm.max_children" = 75; + "pm.start_servers" = 2; + "pm.min_spare_servers" = 2; + "pm.max_spare_servers" = 10; + }; + }; }; - services.phpfpm.phpOptions = mkIf (cfg.pool == "${poolName}") - '' - extension = ${pkgs.phpPackages.imagick}/lib/php/extensions/imagick.so - date.timezone = "${cfg.timezone}" - ''; - systemd.services."phpfpm-${poolName}".serviceConfig.ReadWritePaths = [ "/etc/icingaweb2" ]; services.nginx = { @@ -589,7 +207,7 @@ in { include ${config.services.nginx.package}/conf/fastcgi.conf; try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; - fastcgi_pass unix:${phpfpmSocketName}; + fastcgi_pass unix:${fpm.socket}; fastcgi_param SCRIPT_FILENAME ${pkgs.icingaweb2}/public/index.php; ''; }; @@ -598,7 +216,7 @@ in { # /etc/icingaweb2 environment.etc = let - doModule = name: optionalAttrs (cfg.modules."${name}".enable) (nameValuePair "icingaweb2/enabledModules/${name}" { source = "${pkgs.icingaweb2}/modules/${name}"; }); + doModule = name: optionalAttrs (cfg.modules."${name}".enable) { "icingaweb2/enabledModules/${name}".source = "${pkgs.icingaweb2}/modules/${name}"; }; in {} # Module packages // (mapAttrs' (k: v: nameValuePair "icingaweb2/enabledModules/${k}" { source = v; }) cfg.modulePackages) @@ -609,11 +227,11 @@ in { // doModule "test" // doModule "translation" # Configs - // optionalAttrs (!cfg.generalConfig.mutable) { "icingaweb2/config.ini".text = configIni; } - // optionalAttrs (!cfg.mutableResources) { "icingaweb2/resources.ini".text = resourcesIni; } - // optionalAttrs (!cfg.mutableAuthConfig) { "icingaweb2/authentication.ini".text = authenticationIni; } - // optionalAttrs (!cfg.mutableGroupsConfig) { "icingaweb2/groups.ini".text = groupsIni; } - // optionalAttrs (!cfg.mutableRolesConfig) { "icingaweb2/roles.ini".text = rolesIni; }; + // optionalAttrs (cfg.generalConfig != null) { "icingaweb2/config.ini".text = generators.toINI {} (defaultConfig // cfg.generalConfig); } + // optionalAttrs (cfg.resources != null) { "icingaweb2/resources.ini".text = generators.toINI {} cfg.resources; } + // optionalAttrs (cfg.authentications != null) { "icingaweb2/authentication.ini".text = generators.toINI {} cfg.authentications; } + // optionalAttrs (cfg.groupBackends != null) { "icingaweb2/groups.ini".text = generators.toINI {} cfg.groupBackends; } + // optionalAttrs (cfg.roles != null) { "icingaweb2/roles.ini".text = generators.toINI {} cfg.roles; }; # User and group users.groups.icingaweb2 = {}; diff --git a/nixos/modules/services/web-apps/limesurvey.nix b/nixos/modules/services/web-apps/limesurvey.nix new file mode 100644 index 00000000000..2797feb32eb --- /dev/null +++ b/nixos/modules/services/web-apps/limesurvey.nix @@ -0,0 +1,283 @@ +{ config, lib, pkgs, ... }: + +let + + inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption; + inherit (lib) mapAttrs optional optionalString types; + + cfg = config.services.limesurvey; + fpm = config.services.phpfpm.pools.limesurvey; + + user = "limesurvey"; + group = config.services.httpd.group; + stateDir = "/var/lib/limesurvey"; + + pkg = pkgs.limesurvey; + + configType = with types; oneOf [ (attrsOf configType) str int bool ] // { + description = "limesurvey config type (str, int, bool or attribute set thereof)"; + }; + + limesurveyConfig = pkgs.writeText "config.php" '' + + ''; + + mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql"; + pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql"; + +in +{ + # interface + + options.services.limesurvey = { + enable = mkEnableOption "Limesurvey web application."; + + database = { + type = mkOption { + type = types.enum [ "mysql" "pgsql" "odbc" "mssql" ]; + example = "pgsql"; + default = "mysql"; + description = "Database engine to use."; + }; + + host = mkOption { + type = types.str; + default = "localhost"; + description = "Database host address."; + }; + + port = mkOption { + type = types.int; + default = if cfg.database.type == "pgsql" then 5442 else 3306; + defaultText = "3306"; + description = "Database host port."; + }; + + name = mkOption { + type = types.str; + default = "limesurvey"; + description = "Database name."; + }; + + user = mkOption { + type = types.str; + default = "limesurvey"; + description = "Database user."; + }; + + passwordFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/run/keys/limesurvey-dbpassword"; + description = '' + A file containing the password corresponding to + . + ''; + }; + + socket = mkOption { + type = types.nullOr types.path; + default = + if mysqlLocal then "/run/mysqld/mysqld.sock" + else if pgsqlLocal then "/run/postgresql" + else null + ; + defaultText = "/run/mysqld/mysqld.sock"; + description = "Path to the unix socket file to use for authentication."; + }; + + createLocally = mkOption { + type = types.bool; + default = cfg.database.type == "mysql"; + defaultText = "true"; + description = '' + Create the database and database user locally. + This currently only applies if database type "mysql" is selected. + ''; + }; + }; + + virtualHost = mkOption { + type = types.submodule ({ + options = import ../web-servers/apache-httpd/per-server-options.nix { + inherit lib; + forMainServer = false; + }; + }); + example = { + hostName = "survey.example.org"; + enableSSL = true; + adminAddr = "webmaster@example.org"; + sslServerCert = "/var/lib/acme/survey.example.org/full.pem"; + sslServerKey = "/var/lib/acme/survey.example.org/key.pem"; + }; + description = '' + Apache configuration can be done by adapting services.httpd.virtualHosts.<name>. + See for further information. + ''; + }; + + poolConfig = mkOption { + type = with types; attrsOf (oneOf [ str int bool ]); + default = { + "pm" = "dynamic"; + "pm.max_children" = 32; + "pm.start_servers" = 2; + "pm.min_spare_servers" = 2; + "pm.max_spare_servers" = 4; + "pm.max_requests" = 500; + }; + description = '' + Options for the LimeSurvey PHP pool. See the documentation on php-fpm.conf + for details on configuration directives. + ''; + }; + + config = mkOption { + type = configType; + default = {}; + description = '' + LimeSurvey configuration. Refer to + + for details on supported values. + ''; + }; + }; + + # implementation + + config = mkIf cfg.enable { + + assertions = [ + { assertion = cfg.database.createLocally -> cfg.database.type == "mysql"; + message = "services.limesurvey.createLocally is currently only supported for database type 'mysql'"; + } + { assertion = cfg.database.createLocally -> cfg.database.user == user; + message = "services.limesurvey.database.user must be set to ${user} if services.limesurvey.database.createLocally is set true"; + } + { assertion = cfg.database.createLocally -> cfg.database.socket != null; + message = "services.limesurvey.database.socket must be set if services.limesurvey.database.createLocally is set to true"; + } + { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + message = "a password cannot be specified if services.limesurvey.database.createLocally is set to true"; + } + ]; + + services.limesurvey.config = mapAttrs (name: mkDefault) { + runtimePath = "${stateDir}/tmp/runtime"; + components = { + db = { + connectionString = "${cfg.database.type}:dbname=${cfg.database.name};host=${if pgsqlLocal then cfg.database.socket else cfg.database.host};port=${toString cfg.database.port}" + + optionalString mysqlLocal ";socket=${cfg.database.socket}"; + username = cfg.database.user; + password = mkIf (cfg.database.passwordFile != null) "file_get_contents(\"${toString cfg.database.passwordFile}\");"; + tablePrefix = "limesurvey_"; + }; + assetManager.basePath = "${stateDir}/tmp/assets"; + urlManager = { + urlFormat = "path"; + showScriptName = false; + }; + }; + config = { + tempdir = "${stateDir}/tmp"; + uploaddir = "${stateDir}/upload"; + force_ssl = mkIf cfg.virtualHost.enableSSL "on"; + config.defaultlang = "en"; + }; + }; + + services.mysql = mkIf mysqlLocal { + enable = true; + package = mkDefault pkgs.mariadb; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { + "${cfg.database.name}.*" = "SELECT, CREATE, INSERT, UPDATE, DELETE, ALTER, DROP, INDEX"; + }; + } + ]; + }; + + services.phpfpm.pools.limesurvey = { + inherit user group; + phpEnv.LIMESURVEY_CONFIG = "${limesurveyConfig}"; + settings = { + "listen.owner" = config.services.httpd.user; + "listen.group" = config.services.httpd.group; + } // cfg.poolConfig; + }; + + services.httpd = { + enable = true; + adminAddr = mkDefault cfg.virtualHost.adminAddr; + extraModules = [ "proxy_fcgi" ]; + virtualHosts = [ (mkMerge [ + cfg.virtualHost { + documentRoot = mkForce "${pkg}/share/limesurvey"; + extraConfig = '' + Alias "/tmp" "${stateDir}/tmp" + + AllowOverride all + Require all granted + Options -Indexes +FollowSymlinks + + + Alias "/upload" "${stateDir}/upload" + + AllowOverride all + Require all granted + Options -Indexes + + + + + + SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/" + + + + AllowOverride all + Options -Indexes + DirectoryIndex index.php + + ''; + } + ]) ]; + }; + + systemd.tmpfiles.rules = [ + "d ${stateDir} 0750 ${user} ${group} - -" + "d ${stateDir}/tmp 0750 ${user} ${group} - -" + "d ${stateDir}/tmp/assets 0750 ${user} ${group} - -" + "d ${stateDir}/tmp/runtime 0750 ${user} ${group} - -" + "d ${stateDir}/tmp/upload 0750 ${user} ${group} - -" + "C ${stateDir}/upload 0750 ${user} ${group} - ${pkg}/share/limesurvey/upload" + ]; + + systemd.services.limesurvey-init = { + wantedBy = [ "multi-user.target" ]; + before = [ "phpfpm-limesurvey.service" ]; + after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; + environment.LIMESURVEY_CONFIG = limesurveyConfig; + script = '' + # update or install the database as required + ${pkgs.php}/bin/php ${pkg}/share/limesurvey/application/commands/console.php updatedb || \ + ${pkgs.php}/bin/php ${pkg}/share/limesurvey/application/commands/console.php install admin password admin admin@example.com verbose + ''; + serviceConfig = { + User = user; + Group = group; + Type = "oneshot"; + }; + }; + + systemd.services.httpd.after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; + + users.users."${user}".group = group; + + }; +} diff --git a/nixos/modules/services/web-apps/matomo-doc.xml b/nixos/modules/services/web-apps/matomo-doc.xml index 20d2de9f418..8485492c51c 100644 --- a/nixos/modules/services/web-apps/matomo-doc.xml +++ b/nixos/modules/services/web-apps/matomo-doc.xml @@ -12,27 +12,27 @@ An automatic setup is not suported by Matomo, so you need to configure Matomo itself in the browser-based Matomo setup. -
Database Setup + You also need to configure a MariaDB or MySQL database and -user for Matomo yourself, and enter those credentials in your browser. You can use passwordless database authentication via the UNIX_SOCKET authentication plugin with the following SQL commands: - - # For MariaDB - INSTALL PLUGIN unix_socket SONAME 'auth_socket'; - CREATE DATABASE matomo; - CREATE USER 'matomo'@'localhost' IDENTIFIED WITH unix_socket; - GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost'; + +# For MariaDB +INSTALL PLUGIN unix_socket SONAME 'auth_socket'; +CREATE DATABASE matomo; +CREATE USER 'matomo'@'localhost' IDENTIFIED WITH unix_socket; +GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost'; - # For MySQL - INSTALL PLUGIN auth_socket SONAME 'auth_socket.so'; - CREATE DATABASE matomo; - CREATE USER 'matomo'@'localhost' IDENTIFIED WITH auth_socket; - GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost'; - +# For MySQL +INSTALL PLUGIN auth_socket SONAME 'auth_socket.so'; +CREATE DATABASE matomo; +CREATE USER 'matomo'@'localhost' IDENTIFIED WITH auth_socket; +GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost'; + Then fill in matomo as database user and database name, and leave the password field blank. This authentication works by allowing only the matomo unix user to authenticate as the @@ -46,30 +46,32 @@ database is not on the same host.
-
Archive Processing + - This module 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 + This module 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. + disable browser triggers for Matomo archiving at + Administration > System > General Settings. + With automatic archive processing, you can now also 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. + 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.
-
Backup + You only need to take backups of your MySQL database and the /var/lib/matomo/config/config.ini.php file. Use a user @@ -78,9 +80,9 @@ .
-
Issues + @@ -97,7 +99,6 @@
-
Using other Web Servers than nginx diff --git a/nixos/modules/services/web-apps/matomo.nix b/nixos/modules/services/web-apps/matomo.nix index 14aca45a342..d9f840408cc 100644 --- a/nixos/modules/services/web-apps/matomo.nix +++ b/nixos/modules/services/web-apps/matomo.nix @@ -176,7 +176,7 @@ in { # Use User-Private Group scheme to protect Matomo data, but allow administration / backup via 'matomo' group # Copy config folder chmod g+s "${dataDir}" - cp -r "${cfg.package}/config" "${dataDir}/" + cp -r "${cfg.package}/share/config" "${dataDir}/" chmod -R u+rwX,g+rwX,o-rwx "${dataDir}" # check whether user setup has already been done @@ -225,22 +225,24 @@ in { serviceConfig.UMask = "0007"; }; - services.phpfpm.poolConfigs = let + services.phpfpm.pools = let # workaround for when both are null and need to generate a string, # which is illegal, but as assertions apparently are being triggered *after* config generation, # we have to avoid already throwing errors at this previous stage. socketOwner = if (cfg.nginx != null) then config.services.nginx.user else if (cfg.webServerUser != null) then cfg.webServerUser else ""; in { - ${pool} = '' - listen = "${phpSocket}" - listen.owner = ${socketOwner} - listen.group = root - listen.mode = 0600 - user = ${user} - env[PIWIK_USER_PATH] = ${dataDir} - ${cfg.phpfpmProcessManagerConfig} - ''; + ${pool} = { + listen = phpSocket; + extraConfig = '' + listen.owner = ${socketOwner} + listen.group = root + listen.mode = 0600 + user = ${user} + env[PIWIK_USER_PATH] = ${dataDir} + ${cfg.phpfpmProcessManagerConfig} + ''; + }; }; diff --git a/nixos/modules/services/web-apps/mediawiki.nix b/nixos/modules/services/web-apps/mediawiki.nix new file mode 100644 index 00000000000..ec2568bf952 --- /dev/null +++ b/nixos/modules/services/web-apps/mediawiki.nix @@ -0,0 +1,468 @@ +{ config, pkgs, lib, ... }: + +let + + inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption; + inherit (lib) concatStringsSep literalExample mapAttrsToList optional optionals optionalString types; + + cfg = config.services.mediawiki; + fpm = config.services.phpfpm.pools.mediawiki; + user = "mediawiki"; + group = config.services.httpd.group; + cacheDir = "/var/cache/mediawiki"; + stateDir = "/var/lib/mediawiki"; + + pkg = pkgs.stdenv.mkDerivation rec { + pname = "mediawiki-full"; + version = src.version; + src = cfg.package; + + installPhase = '' + mkdir -p $out + cp -r * $out/ + + rm -rf $out/share/mediawiki/skins/* + rm -rf $out/share/mediawiki/extensions/* + + ${concatStringsSep "\n" (mapAttrsToList (k: v: '' + ln -s ${v} $out/share/mediawiki/skins/${k} + '') cfg.skins)} + + ${concatStringsSep "\n" (mapAttrsToList (k: v: '' + ln -s ${v} $out/share/mediawiki/extensions/${k} + '') cfg.extensions)} + ''; + }; + + mediawikiScripts = pkgs.runCommand "mediawiki-scripts" { + buildInputs = [ pkgs.makeWrapper ]; + preferLocalBuild = true; + } '' + mkdir -p $out/bin + for i in changePassword.php createAndPromote.php userOptions.php edit.php nukePage.php update.php; do + makeWrapper ${pkgs.php}/bin/php $out/bin/mediawiki-$(basename $i .php) \ + --set MEDIAWIKI_CONFIG ${mediawikiConfig} \ + --add-flags ${pkg}/share/mediawiki/maintenance/$i + done + ''; + + mediawikiConfig = pkgs.writeText "LocalSettings.php" '' + database.user. + ''; + }; + + tablePrefix = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + If you only have access to a single database and wish to install more than + one version of MediaWiki, or have other applications that also use the + database, you can give the table names a unique prefix to stop any naming + conflicts or confusion. + See . + ''; + }; + + socket = mkOption { + type = types.nullOr types.path; + default = if cfg.database.createLocally then "/run/mysqld/mysqld.sock" else null; + defaultText = "/run/mysqld/mysqld.sock"; + description = "Path to the unix socket file to use for authentication."; + }; + + createLocally = mkOption { + type = types.bool; + default = cfg.database.type == "mysql"; + defaultText = "true"; + description = '' + Create the database and database user locally. + This currently only applies if database type "mysql" is selected. + ''; + }; + }; + + virtualHost = mkOption { + type = types.submodule ({ + options = import ../web-servers/apache-httpd/per-server-options.nix { + inherit lib; + forMainServer = false; + }; + }); + example = literalExample '' + { + hostName = "mediawiki.example.org"; + enableSSL = true; + adminAddr = "webmaster@example.org"; + sslServerCert = "/var/lib/acme/mediawiki.example.org/full.pem"; + sslServerKey = "/var/lib/acme/mediawiki.example.org/key.pem"; + } + ''; + description = '' + Apache configuration can be done by adapting . + See for further information. + ''; + }; + + poolConfig = mkOption { + type = with types; attrsOf (oneOf [ str int bool ]); + default = { + "pm" = "dynamic"; + "pm.max_children" = 32; + "pm.start_servers" = 2; + "pm.min_spare_servers" = 2; + "pm.max_spare_servers" = 4; + "pm.max_requests" = 500; + }; + description = '' + Options for the MediaWiki PHP pool. See the documentation on php-fpm.conf + for details on configuration directives. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + description = '' + Any additional text to be appended to MediaWiki's + LocalSettings.php configuration file. For configuration + settings, see . + ''; + default = ""; + example = '' + $wgEnableEmail = false; + ''; + }; + + }; + }; + + # implementation + config = mkIf cfg.enable { + + assertions = [ + { assertion = cfg.database.createLocally -> cfg.database.type == "mysql"; + message = "services.mediawiki.createLocally is currently only supported for database type 'mysql'"; + } + { assertion = cfg.database.createLocally -> cfg.database.user == user; + message = "services.mediawiki.database.user must be set to ${user} if services.mediawiki.database.createLocally is set true"; + } + { assertion = cfg.database.createLocally -> cfg.database.socket != null; + message = "services.mediawiki.database.socket must be set if services.mediawiki.database.createLocally is set to true"; + } + { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + message = "a password cannot be specified if services.mediawiki.database.createLocally is set to true"; + } + ]; + + services.mediawiki.skins = { + MonoBook = "${cfg.package}/share/mediawiki/skins/MonoBook"; + Timeless = "${cfg.package}/share/mediawiki/skins/Timeless"; + Vector = "${cfg.package}/share/mediawiki/skins/Vector"; + }; + + services.mysql = mkIf cfg.database.createLocally { + enable = true; + package = mkDefault pkgs.mariadb; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; + } + ]; + }; + + services.phpfpm.pools.mediawiki = { + inherit user group; + phpEnv.MEDIAWIKI_CONFIG = "${mediawikiConfig}"; + settings = { + "listen.owner" = config.services.httpd.user; + "listen.group" = config.services.httpd.group; + } // cfg.poolConfig; + }; + + services.httpd = { + enable = true; + adminAddr = mkDefault cfg.virtualHost.adminAddr; + extraModules = [ "proxy_fcgi" ]; + virtualHosts = [ (mkMerge [ + cfg.virtualHost { + documentRoot = mkForce "${pkg}/share/mediawiki"; + extraConfig = '' + + + + SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/" + + + + Require all granted + DirectoryIndex index.php + AllowOverride All + + '' + optionalString (cfg.uploadsDir != null) '' + Alias "/images" "${cfg.uploadsDir}" + + Require all granted + + ''; + } + ]) ]; + }; + + systemd.tmpfiles.rules = [ + "d '${stateDir}' 0750 ${user} ${group} - -" + "d '${cacheDir}' 0750 ${user} ${group} - -" + ] ++ optionals (cfg.uploadsDir != null) [ + "d '${cfg.uploadsDir}' 0750 ${user} ${group} - -" + "Z '${cfg.uploadsDir}' 0750 ${user} ${group} - -" + ]; + + systemd.services.mediawiki-init = { + wantedBy = [ "multi-user.target" ]; + before = [ "phpfpm-mediawiki.service" ]; + after = optional cfg.database.createLocally "mysql.service"; + script = '' + if ! test -e "${stateDir}/secret.key"; then + tr -dc A-Za-z0-9 /dev/null | head -c 64 > ${stateDir}/secret.key + fi + + echo "exit( wfGetDB( DB_MASTER )->tableExists( 'user' ) ? 1 : 0 );" | \ + ${pkgs.php}/bin/php ${pkg}/share/mediawiki/maintenance/eval.php --conf ${mediawikiConfig} && \ + ${pkgs.php}/bin/php ${pkg}/share/mediawiki/maintenance/install.php \ + --confpath /tmp \ + --scriptpath / \ + --dbserver ${cfg.database.host}${optionalString (cfg.database.socket != null) ":${cfg.database.socket}"} \ + --dbport ${toString cfg.database.port} \ + --dbname ${cfg.database.name} \ + ${optionalString (cfg.database.tablePrefix != null) "--dbprefix ${cfg.database.tablePrefix}"} \ + --dbuser ${cfg.database.user} \ + ${optionalString (cfg.database.passwordFile != null) "--dbpassfile ${cfg.database.passwordFile}"} \ + --passfile ${cfg.passwordFile} \ + ${cfg.name} \ + admin + + ${pkgs.php}/bin/php ${pkg}/share/mediawiki/maintenance/update.php --conf ${mediawikiConfig} --quick + ''; + + serviceConfig = { + Type = "oneshot"; + User = user; + Group = group; + PrivateTmp = true; + }; + }; + + systemd.services.httpd.after = optional (cfg.database.createLocally && cfg.database.type == "mysql") "mysql.service"; + + users.users.${user}.group = group; + + environment.systemPackages = [ mediawikiScripts ]; + }; +} diff --git a/nixos/modules/services/web-apps/miniflux.nix b/nixos/modules/services/web-apps/miniflux.nix new file mode 100644 index 00000000000..304712d0efc --- /dev/null +++ b/nixos/modules/services/web-apps/miniflux.nix @@ -0,0 +1,97 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.services.miniflux; + + dbUser = "miniflux"; + dbPassword = "miniflux"; + dbHost = "localhost"; + dbName = "miniflux"; + + defaultCredentials = pkgs.writeText "miniflux-admin-credentials" '' + ADMIN_USERNAME=admin + ADMIN_PASSWORD=password + ''; + + pgsu = "${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser}"; + pgbin = "${config.services.postgresql.package}/bin"; + preStart = pkgs.writeScript "miniflux-pre-start" '' + #!${pkgs.runtimeShell} + db_exists() { + [ "$(${pgsu} ${pgbin}/psql -Atc "select 1 from pg_database where datname='$1'")" == "1" ] + } + if ! db_exists "${dbName}"; then + ${pgsu} ${pgbin}/psql postgres -c "CREATE ROLE ${dbUser} WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${dbPassword}'" + ${pgsu} ${pgbin}/createdb --owner "${dbUser}" "${dbName}" + ${pgsu} ${pgbin}/psql "${dbName}" -c "CREATE EXTENSION IF NOT EXISTS hstore" + fi + ''; +in + +{ + options = { + services.miniflux = { + enable = mkEnableOption "miniflux"; + + config = mkOption { + type = types.attrsOf types.str; + example = literalExample '' + { + CLEANUP_FREQUENCY = "48"; + LISTEN_ADDR = "localhost:8080"; + } + ''; + description = '' + Configuration for Miniflux, refer to + + for documentation on the supported values. + ''; + }; + + adminCredentialsFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + File containing the ADMIN_USERNAME, default is "admin", and + ADMIN_PASSWORD (length >= 6), default is "password"; in the format of + an EnvironmentFile=, as described by systemd.exec(5). + ''; + example = "/etc/nixos/miniflux-admin-credentials"; + }; + }; + }; + + config = mkIf cfg.enable { + + services.miniflux.config = { + LISTEN_ADDR = mkDefault "localhost:8080"; + DATABASE_URL = "postgresql://${dbUser}:${dbPassword}@${dbHost}/${dbName}?sslmode=disable"; + RUN_MIGRATIONS = "1"; + CREATE_ADMIN = "1"; + }; + + services.postgresql.enable = true; + + systemd.services.miniflux = { + description = "Miniflux service"; + wantedBy = [ "multi-user.target" ]; + requires = [ "postgresql.service" ]; + after = [ "network.target" "postgresql.service" ]; + + serviceConfig = { + ExecStart = "${pkgs.miniflux}/bin/miniflux"; + ExecStartPre = "+${preStart}"; + DynamicUser = true; + RuntimeDirectory = "miniflux"; + RuntimeDirectoryMode = "0700"; + EnvironmentFile = if cfg.adminCredentialsFile == null + then defaultCredentials + else cfg.adminCredentialsFile; + }; + + environment = cfg.config; + }; + environment.systemPackages = [ pkgs.miniflux ]; + }; +} diff --git a/nixos/modules/services/web-apps/moodle.nix b/nixos/modules/services/web-apps/moodle.nix new file mode 100644 index 00000000000..f2516c67c6b --- /dev/null +++ b/nixos/modules/services/web-apps/moodle.nix @@ -0,0 +1,300 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types; + inherit (lib) concatStringsSep literalExample mapAttrsToList optional optionalString; + + cfg = config.services.moodle; + fpm = config.services.phpfpm.pools.moodle; + + user = "moodle"; + group = config.services.httpd.group; + stateDir = "/var/lib/moodle"; + + moodleConfig = pkgs.writeText "config.php" '' + dbtype = '${ { "mysql" = "mariadb"; "pgsql" = "pgsql"; }.${cfg.database.type} }'; + $CFG->dblibrary = 'native'; + $CFG->dbhost = '${cfg.database.host}'; + $CFG->dbname = '${cfg.database.name}'; + $CFG->dbuser = '${cfg.database.user}'; + ${optionalString (cfg.database.passwordFile != null) "$CFG->dbpass = file_get_contents('${cfg.database.passwordFile}');"} + $CFG->prefix = 'mdl_'; + $CFG->dboptions = array ( + 'dbpersist' => 0, + 'dbport' => '${toString cfg.database.port}', + ${optionalString (cfg.database.socket != null) "'dbsocket' => '${cfg.database.socket}',"} + 'dbcollation' => 'utf8mb4_unicode_ci', + ); + + $CFG->wwwroot = '${if cfg.virtualHost.enableSSL then "https" else "http"}://${cfg.virtualHost.hostName}'; + $CFG->dataroot = '${stateDir}'; + $CFG->admin = 'admin'; + + $CFG->directorypermissions = 02777; + $CFG->disableupdateautodeploy = true; + + $CFG->pathtogs = '${pkgs.ghostscript}/bin/gs'; + $CFG->pathtophp = '${pkgs.php}/bin/php'; + $CFG->pathtodu = '${pkgs.coreutils}/bin/du'; + $CFG->aspellpath = '${pkgs.aspell}/bin/aspell'; + $CFG->pathtodot = '${pkgs.graphviz}/bin/dot'; + + require_once('${cfg.package}/share/moodle/lib/setup.php'); + + // There is no php closing tag in this file, + // it is intentional because it prevents trailing whitespace problems! + ''; + + mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql"; + pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql"; +in +{ + # interface + options.services.moodle = { + enable = mkEnableOption "Moodle web application"; + + package = mkOption { + type = types.package; + default = pkgs.moodle; + defaultText = "pkgs.moodle"; + description = "The Moodle package to use."; + }; + + initialPassword = mkOption { + type = types.str; + example = "correcthorsebatterystaple"; + description = '' + Specifies the initial password for the admin, i.e. the password assigned if the user does not already exist. + The password specified here is world-readable in the Nix store, so it should be changed promptly. + ''; + }; + + database = { + type = mkOption { + type = types.enum [ "mysql" "pgsql" ]; + default = "mysql"; + description = ''Database engine to use.''; + }; + + host = mkOption { + type = types.str; + default = "localhost"; + description = "Database host address."; + }; + + port = mkOption { + type = types.int; + description = "Database host port."; + default = { + "mysql" = 3306; + "pgsql" = 5432; + }.${cfg.database.type}; + defaultText = "3306"; + }; + + name = mkOption { + type = types.str; + default = "moodle"; + description = "Database name."; + }; + + user = mkOption { + type = types.str; + default = "moodle"; + description = "Database user."; + }; + + passwordFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/run/keys/moodle-dbpassword"; + description = '' + A file containing the password corresponding to + . + ''; + }; + + socket = mkOption { + type = types.nullOr types.path; + default = + if mysqlLocal then "/run/mysqld/mysqld.sock" + else if pgsqlLocal then "/run/postgresql" + else null; + defaultText = "/run/mysqld/mysqld.sock"; + description = "Path to the unix socket file to use for authentication."; + }; + + createLocally = mkOption { + type = types.bool; + default = true; + description = "Create the database and database user locally."; + }; + }; + + virtualHost = mkOption { + type = types.submodule ({ + options = import ../web-servers/apache-httpd/per-server-options.nix { + inherit lib; + forMainServer = false; + }; + }); + example = { + hostName = "moodle.example.org"; + enableSSL = true; + adminAddr = "webmaster@example.org"; + sslServerCert = "/var/lib/acme/moodle.example.org/full.pem"; + sslServerKey = "/var/lib/acme/moodle.example.org/key.pem"; + }; + description = '' + Apache configuration can be done by adapting . + See for further information. + ''; + }; + + poolConfig = mkOption { + type = with types; attrsOf (oneOf [ str int bool ]); + default = { + "pm" = "dynamic"; + "pm.max_children" = 32; + "pm.start_servers" = 2; + "pm.min_spare_servers" = 2; + "pm.max_spare_servers" = 4; + "pm.max_requests" = 500; + }; + description = '' + Options for the Moodle PHP pool. See the documentation on php-fpm.conf + for details on configuration directives. + ''; + }; + }; + + # implementation + config = mkIf cfg.enable { + + assertions = [ + { assertion = cfg.database.createLocally -> cfg.database.user == user; + message = "services.moodle.database.user must be set to ${user} if services.moodle.database.createLocally is set true"; + } + { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + message = "a password cannot be specified if services.moodle.database.createLocally is set to true"; + } + ]; + + services.mysql = mkIf mysqlLocal { + enable = true; + package = mkDefault pkgs.mariadb; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { + "${cfg.database.name}.*" = "SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER"; + }; + } + ]; + }; + + services.postgresql = mkIf pgsqlLocal { + enable = true; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + } + ]; + }; + + services.phpfpm.pools.moodle = { + inherit user group; + phpEnv.MOODLE_CONFIG = "${moodleConfig}"; + phpOptions = '' + zend_extension = opcache.so + opcache.enable = 1 + ''; + settings = { + "listen.owner" = config.services.httpd.user; + "listen.group" = config.services.httpd.group; + } // cfg.poolConfig; + }; + + services.httpd = { + enable = true; + adminAddr = mkDefault cfg.virtualHost.adminAddr; + extraModules = [ "proxy_fcgi" ]; + virtualHosts = [ (mkMerge [ + cfg.virtualHost { + documentRoot = mkForce "${cfg.package}/share/moodle"; + extraConfig = '' + + + + SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/" + + + Options -Indexes + DirectoryIndex index.php + + ''; + } + ]) ]; + }; + + systemd.tmpfiles.rules = [ + "d '${stateDir}' 0750 ${user} ${group} - -" + ]; + + systemd.services.moodle-init = { + wantedBy = [ "multi-user.target" ]; + before = [ "phpfpm-moodle.service" ]; + after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; + environment.MOODLE_CONFIG = moodleConfig; + script = '' + ${pkgs.php}/bin/php ${cfg.package}/share/moodle/admin/cli/check_database_schema.php && rc=$? || rc=$? + + [ "$rc" == 1 ] && ${pkgs.php}/bin/php ${cfg.package}/share/moodle/admin/cli/upgrade.php \ + --non-interactive \ + --allow-unstable + + [ "$rc" == 2 ] && ${pkgs.php}/bin/php ${cfg.package}/share/moodle/admin/cli/install_database.php \ + --agree-license \ + --adminpass=${cfg.initialPassword} + + true + ''; + serviceConfig = { + User = user; + Group = group; + Type = "oneshot"; + }; + }; + + systemd.services.moodle-cron = { + description = "Moodle cron service"; + after = [ "moodle-init.service" ]; + environment.MOODLE_CONFIG = moodleConfig; + serviceConfig = { + User = user; + Group = group; + ExecStart = "${pkgs.php}/bin/php ${cfg.package}/share/moodle/admin/cli/cron.php"; + }; + }; + + systemd.timers.moodle-cron = { + description = "Moodle cron timer"; + wantedBy = [ "timers.target" ]; + timerConfig = { + OnCalendar = "minutely"; + }; + }; + + systemd.services.httpd.after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; + + users.users."${user}".group = group; + + }; +} diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index ee1354d6a99..ada14ad3929 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -1,18 +1,23 @@ -{ config, lib, pkgs, ... }@args: +{ config, lib, pkgs, ... }: with lib; let cfg = config.services.nextcloud; + fpm = config.services.phpfpm.pools.nextcloud; + + phpPackage = pkgs.php73; + phpPackages = pkgs.php73Packages; toKeyValue = generators.toKeyValue { mkKeyValue = generators.mkKeyValueDefault {} " = "; }; phpOptionsExtensions = '' - ${optionalString cfg.caching.apcu "extension=${cfg.phpPackages.apcu}/lib/php/extensions/apcu.so"} - ${optionalString cfg.caching.redis "extension=${cfg.phpPackages.redis}/lib/php/extensions/redis.so"} - ${optionalString cfg.caching.memcached "extension=${cfg.phpPackages.memcached}/lib/php/extensions/memcached.so"} + ${optionalString cfg.caching.apcu "extension=${phpPackages.apcu}/lib/php/extensions/apcu.so"} + ${optionalString cfg.caching.redis "extension=${phpPackages.redis}/lib/php/extensions/redis.so"} + ${optionalString cfg.caching.memcached "extension=${phpPackages.memcached}/lib/php/extensions/memcached.so"} + extension=${phpPackages.imagick}/lib/php/extensions/imagick.so zend_extension = opcache.so opcache.enable = 1 ''; @@ -28,7 +33,7 @@ let cd ${pkgs.nextcloud} exec /run/wrappers/bin/sudo -u nextcloud \ NEXTCLOUD_CONFIG_DIR="${cfg.home}/config" \ - ${config.services.phpfpm.phpPackage}/bin/php \ + ${phpPackage}/bin/php \ -c ${pkgs.writeText "php.ini" phpOptionsStr}\ occ $* ''; @@ -45,6 +50,11 @@ in { default = "/var/lib/nextcloud"; description = "Storage path of nextcloud."; }; + logLevel = mkOption { + type = types.ints.between 0 4; + default = 2; + description = "Log level value between 0 (DEBUG) and 4 (FATAL)."; + }; https = mkOption { type = types.bool; default = false; @@ -89,18 +99,6 @@ in { ''; }; - phpPackages = mkOption { - type = types.attrs; - default = pkgs.php71Packages; - defaultText = "pkgs.php71Packages"; - description = '' - Overridable attribute of the PHP packages set to use. If any caching - module is enabled, it will be taken from here. Therefore it should - match the version of PHP given to - services.phpfpm.phpPackage. - ''; - }; - phpOptions = mkOption { type = types.attrsOf types.str; default = { @@ -175,7 +173,7 @@ in { Database host. Note: for using Unix authentication with PostgreSQL, this should be - set to /tmp. + set to /run/postgresql. ''; }; dbport = mkOption { @@ -218,6 +216,19 @@ in { services.nextcloud.hostname here. ''; }; + + overwriteProtocol = mkOption { + type = types.nullOr (types.enum [ "http" "https" ]); + default = null; + example = "https"; + + description = '' + Force Nextcloud to always use HTTPS i.e. for link generation. Nextcloud + uses the currently used protocol by default, but when behind a reverse-proxy, + it may use http for everything although Nextcloud + may be served via HTTPS. + ''; + }; }; caching = { @@ -247,6 +258,23 @@ in { ''; }; }; + autoUpdateApps = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Run regular auto update of all apps installed from the nextcloud app store. + ''; + }; + startAt = mkOption { + type = with types; either str (listOf str); + default = "05:00:00"; + example = "Sun 14:00:00"; + description = '' + When to run the update. See `systemd.services.<name>.startAt`. + ''; + }; + }; }; config = mkIf cfg.enable (mkMerge [ @@ -270,8 +298,23 @@ in { systemd.services = { "nextcloud-setup" = let + c = cfg.config; + writePhpArrary = a: "[${concatMapStringsSep "," (val: ''"${toString val}"'') a}]"; overrideConfig = pkgs.writeText "nextcloud-config.php" '' [ [ 'path' => '${cfg.home}/apps', 'url' => '/apps', 'writable' => false ], @@ -281,18 +324,28 @@ in { 'skeletondirectory' => '${cfg.skeletonDirectory}', ${optionalString cfg.caching.apcu "'memcache.local' => '\\OC\\Memcache\\APCu',"} 'log_type' => 'syslog', + 'log_level' => '${builtins.toString cfg.logLevel}', + ${optionalString (c.overwriteProtocol != null) "'overwriteprotocol' => '${c.overwriteProtocol}',"} + ${optionalString (c.dbname != null) "'dbname' => '${c.dbname}',"} + ${optionalString (c.dbhost != null) "'dbhost' => '${c.dbhost}',"} + ${optionalString (c.dbport != null) "'dbport' => '${toString c.dbport}',"} + ${optionalString (c.dbuser != null) "'dbuser' => '${c.dbuser}',"} + ${optionalString (c.dbtableprefix != null) "'dbtableprefix' => '${toString c.dbtableprefix}',"} + ${optionalString (c.dbpass != null) "'dbpassword' => '${c.dbpass}',"} + ${optionalString (c.dbpassFile != null) "'dbpassword' => nix_read_pwd(),"} + 'dbtype' => '${c.dbtype}', + 'trusted_domains' => ${writePhpArrary ([ cfg.hostName ] ++ c.extraTrustedDomains)}, ]; ''; occInstallCmd = let - c = cfg.config; - adminpass = if c.adminpassFile != null - then ''"$(<"${toString c.adminpassFile}")"'' - else ''"${toString c.adminpass}"''; dbpass = if c.dbpassFile != null then ''"$(<"${toString c.dbpassFile}")"'' else if c.dbpass != null then ''"${toString c.dbpass}"'' else null; + adminpass = if c.adminpassFile != null + then ''"$(<"${toString c.adminpassFile}")"'' + else ''"${toString c.adminpass}"''; installFlags = concatStringsSep " \\\n " (mapAttrsToList (k: v: "${k} ${toString v}") { "--database" = ''"${c.dbtype}"''; @@ -348,30 +401,30 @@ in { environment.NEXTCLOUD_CONFIG_DIR = "${cfg.home}/config"; serviceConfig.Type = "oneshot"; serviceConfig.User = "nextcloud"; - serviceConfig.ExecStart = "${pkgs.php}/bin/php -f ${pkgs.nextcloud}/cron.php"; + serviceConfig.ExecStart = "${phpPackage}/bin/php -f ${pkgs.nextcloud}/cron.php"; + }; + "nextcloud-update-plugins" = mkIf cfg.autoUpdateApps.enable { + serviceConfig.Type = "oneshot"; + serviceConfig.ExecStart = "${occ}/bin/nextcloud-occ app:update --all"; + startAt = cfg.autoUpdateApps.startAt; }; }; services.phpfpm = { - phpOptions = phpOptionsExtensions; - phpPackage = pkgs.php71; - pools.nextcloud = let - phpAdminValues = (toKeyValue - (foldr (a: b: a // b) {} - (mapAttrsToList (k: v: { "php_admin_value[${k}]" = v; }) - phpOptions))); - in { - listen = "/run/phpfpm/nextcloud"; - extraConfig = '' - listen.owner = nginx - listen.group = nginx - user = nextcloud - group = nginx - ${cfg.poolConfig} - env[NEXTCLOUD_CONFIG_DIR] = ${cfg.home}/config - env[PATH] = /run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin - ${phpAdminValues} - ''; + pools.nextcloud = { + user = "nextcloud"; + group = "nginx"; + phpOptions = phpOptionsExtensions + phpOptionsStr; + phpPackage = phpPackage; + phpEnv = { + NEXTCLOUD_CONFIG_DIR = "${cfg.home}/config"; + PATH = "/run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin"; + }; + settings = mapAttrs (name: mkDefault) { + "listen.owner" = "nginx"; + "listen.group" = "nginx"; + }; + extraConfig = cfg.poolConfig; }; }; @@ -401,7 +454,7 @@ in { }; "/" = { priority = 200; - extraConfig = "rewrite ^ /index.php$uri;"; + extraConfig = "rewrite ^ /index.php$request_uri;"; }; "~ ^/store-apps" = { priority = 201; @@ -415,45 +468,46 @@ in { priority = 210; extraConfig = "return 301 $scheme://$host/remote.php/dav;"; }; - "~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/" = { + "~ ^\\/(?:build|tests|config|lib|3rdparty|templates|data)\\/" = { priority = 300; extraConfig = "deny all;"; }; - "~ ^/(?:\\.|autotest|occ|issue|indie|db_|console)" = { + "~ ^\\/(?:\\.|autotest|occ|issue|indie|db_|console)" = { priority = 300; extraConfig = "deny all;"; }; - "~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\\.php(?:$|/)" = { + "~ ^\\/(?:index|remote|public|cron|core/ajax\\/update|status|ocs\\/v[12]|updater\\/.+|ocs-provider\\/.+|ocm-provider\\/.+)\\.php(?:$|\\/)" = { priority = 500; extraConfig = '' include ${config.services.nginx.package}/conf/fastcgi.conf; - fastcgi_split_path_info ^(.+\.php)(/.*)$; + fastcgi_split_path_info ^(.+\.php)(\\/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param HTTPS ${if cfg.https then "on" else "off"}; fastcgi_param modHeadersAvailable true; fastcgi_param front_controller_active true; - fastcgi_pass unix:/run/phpfpm/nextcloud; + fastcgi_pass unix:${fpm.socket}; fastcgi_intercept_errors on; fastcgi_request_buffering off; fastcgi_read_timeout 120s; ''; }; - "~ ^/(?:updater|ocs-provider)(?:$|/)".extraConfig = '' + "~ ^\\/(?:updater|ocs-provider|ocm-provider)(?:$|\\/)".extraConfig = '' try_files $uri/ =404; index index.php; ''; - "~ \\.(?:css|js|woff|svg|gif)$".extraConfig = '' - try_files $uri /index.php$uri$is_args$args; + "~ \\.(?:css|js|woff2?|svg|gif)$".extraConfig = '' + try_files $uri /index.php$request_uri; add_header Cache-Control "public, max-age=15778463"; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; + add_header Referrer-Policy no-referrer; access_log off; ''; "~ \\.(?:png|html|ttf|ico|jpg|jpeg)$".extraConfig = '' - try_files $uri /index.php$uri$is_args$args; + try_files $uri /index.php$request_uri; access_log off; ''; }; @@ -463,10 +517,12 @@ in { add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; + add_header Referrer-Policy no-referrer; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; client_max_body_size ${cfg.maxUploadSize}; fastcgi_buffers 64 4K; + fastcgi_hide_header X-Powered-By; gzip on; gzip_vary on; gzip_comp_level 4; diff --git a/nixos/modules/services/web-apps/nextcloud.xml b/nixos/modules/services/web-apps/nextcloud.xml index 9600d1be7c8..d66e0f0c299 100644 --- a/nixos/modules/services/web-apps/nextcloud.xml +++ b/nixos/modules/services/web-apps/nextcloud.xml @@ -4,24 +4,26 @@ version="5.0" xml:id="module-services-nextcloud"> Nextcloud - - Nextcloud is an open-source, self-hostable cloud - platform. The server setup can be automated using - services.nextcloud. A desktop client is packaged - at pkgs.nextcloud-client. + Nextcloud is an open-source, + self-hostable cloud platform. The server setup can be automated using + services.nextcloud. A + desktop client is packaged at pkgs.nextcloud-client. -
Basic usage + Nextcloud is a PHP-based application which requires an HTTP server - (services.nextcloud optionally supports - services.nginx) and a database - (it's recommended to use services.postgresql). + (services.nextcloud + optionally supports + services.nginx) + and a database (it's recommended to use + services.postgresql). + - A very basic configuration may look like this: + A very basic configuration may look like this: { pkgs, ... }: { services.nextcloud = { @@ -31,7 +33,7 @@ config = { dbtype = "pgsql"; dbuser = "nextcloud"; - dbhost = "/tmp"; # nextcloud will add /.s.PGSQL.5432 by itself + dbhost = "/run/postgresql"; # nextcloud will add /.s.PGSQL.5432 by itself dbname = "nextcloud"; adminpassFile = "/path/to/admin-pass-file"; adminuser = "root"; @@ -40,10 +42,12 @@ services.postgresql = { enable = true; - initialScript = pkgs.writeText "psql-init" '' - CREATE ROLE nextcloud WITH LOGIN; - CREATE DATABASE nextcloud WITH OWNER nextcloud; - ''; + ensureDatabases = [ "nextcloud" ]; + ensureUsers = [ + { name = "nextcloud"; + ensurePermissions."DATABASE nextcloud" = "ALL PRIVILEGES"; + } + ]; }; # ensure that postgres is running *before* running the setup @@ -55,45 +59,59 @@ networking.firewall.allowedTCPPorts = [ 80 443 ]; } - - The options hostName and nginx.enable are used internally to configure an - HTTP server using PHP-FPM and nginx. - The config attribute set is used for the config.php which is used - for the application's configuration. - Beware: this isn't entirely pure since the config is modified by the application's runtime! - - - In case the application serves multiple hosts (those are checked with - $_SERVER['HTTP_HOST']) - those can be added using - services.nextcloud.config.extraTrustedDomains. - -
+ + The options hostName and nginx.enable + are used internally to configure an HTTP server using + PHP-FPM + and nginx. The config attribute set is + used by the imperative installer and all values are written to an additional file + to ensure that changes can be applied by changing the module's options. + + + + In case the application serves multiple domains (those are checked with + $_SERVER['HTTP_HOST']) + it's needed to add them to + services.nextcloud.config.extraTrustedDomains. + + + + Auto updates for Nextcloud apps can be enabled using + services.nextcloud.autoUpdateApps. + + +
Pitfalls - - Unfortunately Nextcloud appears to be very stateful when it comes to managing its own configuration. The - config file lives in the home directory of the nextcloud user (by default - /var/lib/nextcloud/config/config.php) and is also used to track several - states of the application (e.g. whether installed or not). - - - Right now changes to the services.nextcloud.config attribute set won't take effect - after the first install - (except services.nextcloud.config.extraTrustedDomains) since the actual configuration - file is generated by the NextCloud installer which also sets up critical parts such as the database - structure. - - - Warning: don't delete config.php! This file tracks the application's state and a deletion can cause unwanted side-effects! - - - Warning: don't rerun nextcloud-occ maintenance:install! This command tries to install the application and can cause unwanted side-effects! - - - The issues are known and reported in #49783, for now it's unfortunately necessary to manually work around these issues. - -
+ + Unfortunately Nextcloud appears to be very stateful when it comes to + managing its own configuration. The config file lives in the home directory + of the nextcloud user (by default + /var/lib/nextcloud/config/config.php) and is also used to + track several states of the application (e.g. whether installed or not). + + + + All configuration parameters are also stored in + /var/lib/nextcloud/config/override.config.php which is generated by + the module and linked from the store to ensure that all values from config.php + can be modified by the module. + However config.php manages the application's state and shouldn't be touched + manually because of that. + + + + Don't delete config.php! This file + tracks the application's state and a deletion can cause unwanted + side-effects! + + + + Don't rerun nextcloud-occ + maintenance:install! This command tries to install the application + and can cause unwanted side-effects! + + diff --git a/nixos/modules/services/web-apps/nexus.nix b/nixos/modules/services/web-apps/nexus.nix index 050f8757fa5..052dbed6d4f 100644 --- a/nixos/modules/services/web-apps/nexus.nix +++ b/nixos/modules/services/web-apps/nexus.nix @@ -83,6 +83,8 @@ in users.users."${cfg.user}" = { isSystemUser = true; group = cfg.group; + home = cfg.home; + createHome = true; }; users.groups."${cfg.group}" = {}; @@ -104,8 +106,6 @@ in preStart = '' mkdir -p ${cfg.home}/nexus3/etc - chown -R ${cfg.user}:${cfg.group} ${cfg.home} - if [ ! -f ${cfg.home}/nexus3/etc/nexus.properties ]; then echo "# Jetty section" > ${cfg.home}/nexus3/etc/nexus.properties echo "application-port=${toString cfg.listenPort}" >> ${cfg.home}/nexus3/etc/nexus.properties @@ -124,7 +124,6 @@ in User = cfg.user; Group = cfg.group; PrivateTmp = true; - PermissionsStartOnly = true; LimitNOFILE = 102642; }; }; diff --git a/nixos/modules/services/web-apps/restya-board.nix b/nixos/modules/services/web-apps/restya-board.nix index bc6689bdb27..6a1b4143bc1 100644 --- a/nixos/modules/services/web-apps/restya-board.nix +++ b/nixos/modules/services/web-apps/restya-board.nix @@ -9,11 +9,11 @@ with lib; let cfg = config.services.restya-board; + fpm = config.services.phpfpm.pools.${poolName}; runDir = "/run/restya-board"; poolName = "restya-board"; - phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock"; in @@ -178,35 +178,34 @@ in config = mkIf cfg.enable { - services.phpfpm.poolConfigs = { - "${poolName}" = '' - listen = "${phpfpmSocketName}"; - listen.owner = nginx - listen.group = nginx - listen.mode = 0600 - user = ${cfg.user} - group = ${cfg.group} - pm = dynamic - pm.max_children = 75 - pm.start_servers = 10 - pm.min_spare_servers = 5 - pm.max_spare_servers = 20 - pm.max_requests = 500 - catch_workers_output = 1 - ''; + services.phpfpm.pools = { + "${poolName}" = { + inherit (cfg) user group; + phpOptions = '' + date.timezone = "CET" + + ${optionalString (cfg.email.server != null) '' + SMTP = ${cfg.email.server} + smtp_port = ${toString cfg.email.port} + auth_username = ${cfg.email.login} + auth_password = ${cfg.email.password} + ''} + ''; + settings = mapAttrs (name: mkDefault) { + "listen.owner" = "nginx"; + "listen.group" = "nginx"; + "listen.mode" = "0600"; + "pm" = "dynamic"; + "pm.max_children" = 75; + "pm.start_servers" = 10; + "pm.min_spare_servers" = 5; + "pm.max_spare_servers" = 20; + "pm.max_requests" = 500; + "catch_workers_output" = 1; + }; + }; }; - services.phpfpm.phpOptions = '' - date.timezone = "CET" - - ${optionalString (!isNull cfg.email.server) '' - SMTP = ${cfg.email.server} - smtp_port = ${toString cfg.email.port} - auth_username = ${cfg.email.login} - auth_password = ${cfg.email.password} - ''} - ''; - services.nginx.enable = true; services.nginx.virtualHosts."${cfg.virtualHost.serverName}" = { listen = [ { addr = cfg.virtualHost.listenHost; port = cfg.virtualHost.listenPort; } ]; @@ -240,7 +239,7 @@ in tryFiles = "$uri =404"; extraConfig = '' include ${pkgs.nginx}/conf/fastcgi_params; - fastcgi_pass unix:${phpfpmSocketName}; + fastcgi_pass unix:${fpm.socket}; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PHP_VALUE "upload_max_filesize=9G \n post_max_size=9G \n max_execution_time=200 \n max_input_time=200 \n memory_limit=256M"; @@ -281,7 +280,7 @@ in sed -i "s@^php@${config.services.phpfpm.phpPackage}/bin/php@" "${runDir}/server/php/shell/"*.sh - ${if (isNull cfg.database.host) then '' + ${if (cfg.database.host == null) then '' sed -i "s/^.*'R_DB_HOST'.*$/define('R_DB_HOST', 'localhost');/g" "${runDir}/server/php/config.inc.php" sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', 'restya');/g" "${runDir}/server/php/config.inc.php" '' else '' @@ -310,7 +309,7 @@ in chown -R "${cfg.user}"."${cfg.group}" "${cfg.dataDir}/media" chown -R "${cfg.user}"."${cfg.group}" "${cfg.dataDir}/client/img" - ${optionalString (isNull cfg.database.host) '' + ${optionalString (cfg.database.host == null) '' if ! [ -e "${cfg.dataDir}/.db-initialized" ]; then ${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser} \ ${config.services.postgresql.package}/bin/psql -U ${config.services.postgresql.superUser} \ @@ -366,14 +365,14 @@ in }; users.groups.restya-board = {}; - services.postgresql.enable = mkIf (isNull cfg.database.host) true; + services.postgresql.enable = mkIf (cfg.database.host == null) true; - services.postgresql.identMap = optionalString (isNull cfg.database.host) + services.postgresql.identMap = optionalString (cfg.database.host == null) '' restya-board-users restya-board restya_board ''; - services.postgresql.authentication = optionalString (isNull cfg.database.host) + services.postgresql.authentication = optionalString (cfg.database.host == null) '' local restya_board all ident map=restya-board-users ''; diff --git a/nixos/modules/services/web-apps/selfoss.nix b/nixos/modules/services/web-apps/selfoss.nix index 7b0ce8a8d03..56b7cafffe8 100644 --- a/nixos/modules/services/web-apps/selfoss.nix +++ b/nixos/modules/services/web-apps/selfoss.nix @@ -4,7 +4,6 @@ let cfg = config.services.selfoss; poolName = "selfoss_pool"; - phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock"; dataDir = "/var/lib/selfoss"; @@ -116,21 +115,22 @@ in config = mkIf cfg.enable { - services.phpfpm.poolConfigs = mkIf (cfg.pool == "${poolName}") { - "${poolName}" = '' - listen = "${phpfpmSocketName}"; - listen.owner = nginx - listen.group = nginx - listen.mode = 0600 - user = nginx - pm = dynamic - pm.max_children = 75 - pm.start_servers = 10 - pm.min_spare_servers = 5 - pm.max_spare_servers = 20 - pm.max_requests = 500 - catch_workers_output = 1 - ''; + services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") { + "${poolName}" = { + user = "nginx"; + settings = mapAttrs (name: mkDefault) { + "listen.owner" = "nginx"; + "listen.group" = "nginx"; + "listen.mode" = "0600"; + "pm" = "dynamic"; + "pm.max_children" = 75; + "pm.start_servers" = 10; + "pm.min_spare_servers" = 5; + "pm.max_spare_servers" = 20; + "pm.max_requests" = 500; + "catch_workers_output" = 1; + }; + }; }; systemd.services.selfoss-config = { diff --git a/nixos/modules/services/web-apps/tt-rss.nix b/nixos/modules/services/web-apps/tt-rss.nix index f7a3daa5fdd..59b0ee1addc 100644 --- a/nixos/modules/services/web-apps/tt-rss.nix +++ b/nixos/modules/services/web-apps/tt-rss.nix @@ -15,7 +15,9 @@ let else cfg.database.port; poolName = "tt-rss"; - phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock"; + + mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql"; + pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql"; tt-rss-config = pkgs.writeText "config.php" '' 0 from pg_tables where tableowner = user"} \ | tail -n+3 | head -n-2 | sed -e 's/[ \n\t]*//') @@ -629,18 +630,18 @@ let serviceConfig = { User = "${cfg.user}"; + Group = "tt_rss"; ExecStart = "${pkgs.php}/bin/php ${cfg.root}/update.php --daemon"; StandardOutput = "syslog"; StandardError = "syslog"; - PermissionsStartOnly = true; }; wantedBy = [ "multi-user.target" ]; - requires = ["${dbService}"]; - after = ["network.target" "${dbService}"]; + requires = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; + after = [ "network.target" ] ++ optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; }; - services.mysql = optionalAttrs (cfg.database.type == "mysql") { + services.mysql = mkIf mysqlLocal { enable = true; package = mkDefault pkgs.mysql; ensureDatabases = [ cfg.database.name ]; @@ -654,17 +655,22 @@ let ]; }; - services.postgresql = optionalAttrs (cfg.database.type == "pgsql") { + services.postgresql = mkIf pgsqlLocal { enable = mkDefault true; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.user; + ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + } + ]; }; - users = optionalAttrs (cfg.user == "tt_rss") { - users.tt_rss = { - description = "tt-rss service user"; - isSystemUser = true; - group = "tt_rss"; - }; - groups.tt_rss = {}; + users.users.tt_rss = optionalAttrs (cfg.user == "tt_rss") { + description = "tt-rss service user"; + isSystemUser = true; + group = "tt_rss"; }; + + users.groups.tt_rss = {}; }; } diff --git a/nixos/modules/services/web-apps/wordpress.nix b/nixos/modules/services/web-apps/wordpress.nix new file mode 100644 index 00000000000..98dc8458818 --- /dev/null +++ b/nixos/modules/services/web-apps/wordpress.nix @@ -0,0 +1,367 @@ +{ config, pkgs, lib, ... }: + +let + inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types; + inherit (lib) any attrValues concatMapStringsSep flatten literalExample; + inherit (lib) mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString; + + eachSite = config.services.wordpress; + user = "wordpress"; + group = config.services.httpd.group; + stateDir = hostName: "/var/lib/wordpress/${hostName}"; + + pkg = hostName: cfg: pkgs.stdenv.mkDerivation rec { + pname = "wordpress-${hostName}"; + version = src.version; + src = cfg.package; + + installPhase = '' + mkdir -p $out + cp -r * $out/ + + # symlink the wordpress config + ln -s ${wpConfig hostName cfg} $out/share/wordpress/wp-config.php + # symlink uploads directory + ln -s ${cfg.uploadsDir} $out/share/wordpress/wp-content/uploads + + # https://github.com/NixOS/nixpkgs/pull/53399 + # + # Symlinking works for most plugins and themes, but Avada, for instance, fails to + # understand the symlink, causing its file path stripping to fail. This results in + # requests that look like: https://example.com/wp-content//nix/store/...plugin/path/some-file.js + # Since hard linking directories is not allowed, copying is the next best thing. + + # copy additional plugin(s) and theme(s) + ${concatMapStringsSep "\n" (theme: "cp -r ${theme} $out/share/wordpress/wp-content/themes/${theme.name}") cfg.themes} + ${concatMapStringsSep "\n" (plugin: "cp -r ${plugin} $out/share/wordpress/wp-content/plugins/${plugin.name}") cfg.plugins} + ''; + }; + + wpConfig = hostName: cfg: pkgs.writeText "wp-config-${hostName}.php" '' + + ''; + + siteOpts = { lib, name, ... }: + { + options = { + package = mkOption { + type = types.package; + default = pkgs.wordpress; + description = "Which WordPress package to use."; + }; + + uploadsDir = mkOption { + type = types.path; + default = "/var/lib/wordpress/${name}/uploads"; + description = '' + This directory is used for uploads of pictures. The directory passed here is automatically + created and permissions adjusted as required. + ''; + }; + + plugins = mkOption { + type = types.listOf types.path; + default = []; + description = '' + List of path(s) to respective plugin(s) which are copied from the 'plugins' directory. + These plugins need to be packaged before use, see example. + ''; + example = '' + # Wordpress plugin 'embed-pdf-viewer' installation example + embedPdfViewerPlugin = pkgs.stdenv.mkDerivation { + name = "embed-pdf-viewer-plugin"; + # Download the theme from the wordpress site + src = pkgs.fetchurl { + url = https://downloads.wordpress.org/plugin/embed-pdf-viewer.2.0.3.zip; + sha256 = "1rhba5h5fjlhy8p05zf0p14c9iagfh96y91r36ni0rmk6y891lyd"; + }; + # We need unzip to build this package + buildInputs = [ pkgs.unzip ]; + # Installing simply means copying all files to the output directory + installPhase = "mkdir -p $out; cp -R * $out/"; + }; + + And then pass this theme to the themes list like this: + plugins = [ embedPdfViewerPlugin ]; + ''; + }; + + themes = mkOption { + type = types.listOf types.path; + default = []; + description = '' + List of path(s) to respective theme(s) which are copied from the 'theme' directory. + These themes need to be packaged before use, see example. + ''; + example = '' + # For shits and giggles, let's package the responsive theme + responsiveTheme = pkgs.stdenv.mkDerivation { + name = "responsive-theme"; + # Download the theme from the wordpress site + src = pkgs.fetchurl { + url = https://downloads.wordpress.org/theme/responsive.3.14.zip; + sha256 = "0rjwm811f4aa4q43r77zxlpklyb85q08f9c8ns2akcarrvj5ydx3"; + }; + # We need unzip to build this package + buildInputs = [ pkgs.unzip ]; + # Installing simply means copying all files to the output directory + installPhase = "mkdir -p $out; cp -R * $out/"; + }; + + And then pass this theme to the themes list like this: + themes = [ responsiveTheme ]; + ''; + }; + + database = rec { + host = mkOption { + type = types.str; + default = "localhost"; + description = "Database host address."; + }; + + port = mkOption { + type = types.port; + default = 3306; + description = "Database host port."; + }; + + name = mkOption { + type = types.str; + default = "wordpress"; + description = "Database name."; + }; + + user = mkOption { + type = types.str; + default = "wordpress"; + description = "Database user."; + }; + + passwordFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/run/keys/wordpress-dbpassword"; + description = '' + A file containing the password corresponding to + . + ''; + }; + + tablePrefix = mkOption { + type = types.str; + default = "wp_"; + description = '' + The $table_prefix is the value placed in the front of your database tables. + Change the value if you want to use something other than wp_ for your database + prefix. Typically this is changed if you are installing multiple WordPress blogs + in the same database. + + See . + ''; + }; + + socket = mkOption { + type = types.nullOr types.path; + default = null; + defaultText = "/run/mysqld/mysqld.sock"; + description = "Path to the unix socket file to use for authentication."; + }; + + createLocally = mkOption { + type = types.bool; + default = true; + description = "Create the database and database user locally."; + }; + }; + + virtualHost = mkOption { + type = types.submodule ({ + options = import ../web-servers/apache-httpd/per-server-options.nix { + inherit lib; + forMainServer = false; + }; + }); + example = literalExample '' + { + enableSSL = true; + adminAddr = "webmaster@example.org"; + sslServerCert = "/var/lib/acme/wordpress.example.org/full.pem"; + sslServerKey = "/var/lib/acme/wordpress.example.org/key.pem"; + } + ''; + description = '' + Apache configuration can be done by adapting . + ''; + }; + + poolConfig = mkOption { + type = with types; attrsOf (oneOf [ str int bool ]); + default = { + "pm" = "dynamic"; + "pm.max_children" = 32; + "pm.start_servers" = 2; + "pm.min_spare_servers" = 2; + "pm.max_spare_servers" = 4; + "pm.max_requests" = 500; + }; + description = '' + Options for the WordPress PHP pool. See the documentation on php-fpm.conf + for details on configuration directives. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Any additional text to be appended to the wp-config.php + configuration file. This is a PHP script. For configuration + settings, see . + ''; + example = '' + define( 'AUTOSAVE_INTERVAL', 60 ); // Seconds + ''; + }; + }; + + config.virtualHost.hostName = mkDefault name; + }; +in +{ + # interface + options = { + services.wordpress = mkOption { + type = types.attrsOf (types.submodule siteOpts); + default = {}; + description = "Specification of one or more WordPress sites to serve via Apache."; + }; + }; + + # implementation + config = mkIf (eachSite != {}) { + + assertions = mapAttrsToList (hostName: cfg: + { assertion = cfg.database.createLocally -> cfg.database.user == user; + message = "services.wordpress.${hostName}.database.user must be ${user} if the database is to be automatically provisioned"; + } + ) eachSite; + + services.mysql = mkIf (any (v: v.database.createLocally) (attrValues eachSite)) { + enable = true; + package = mkDefault pkgs.mariadb; + ensureDatabases = mapAttrsToList (hostName: cfg: cfg.database.name) eachSite; + ensureUsers = mapAttrsToList (hostName: cfg: + { name = cfg.database.user; + ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; + } + ) eachSite; + }; + + services.phpfpm.pools = mapAttrs' (hostName: cfg: ( + nameValuePair "wordpress-${hostName}" { + inherit user group; + settings = { + "listen.owner" = config.services.httpd.user; + "listen.group" = config.services.httpd.group; + } // cfg.poolConfig; + } + )) eachSite; + + services.httpd = { + enable = true; + extraModules = [ "proxy_fcgi" ]; + virtualHosts = mapAttrsToList (hostName: cfg: + (mkMerge [ + cfg.virtualHost { + documentRoot = mkForce "${pkg hostName cfg}/share/wordpress"; + extraConfig = '' + + + + SetHandler "proxy:unix:${config.services.phpfpm.pools."wordpress-${hostName}".socket}|fcgi://localhost/" + + + + # standard wordpress .htaccess contents + + RewriteEngine On + RewriteBase / + RewriteRule ^index\.php$ - [L] + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule . /index.php [L] + + + DirectoryIndex index.php + Require all granted + Options +FollowSymLinks + + + # https://wordpress.org/support/article/hardening-wordpress/#securing-wp-config-php + + Require all denied + + ''; + } + ]) + ) eachSite; + }; + + systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [ + "d '${stateDir hostName}' 0750 ${user} ${group} - -" + "d '${cfg.uploadsDir}' 0750 ${user} ${group} - -" + "Z '${cfg.uploadsDir}' 0750 ${user} ${group} - -" + ]) eachSite); + + systemd.services = mkMerge [ + (mapAttrs' (hostName: cfg: ( + nameValuePair "wordpress-init-${hostName}" { + wantedBy = [ "multi-user.target" ]; + before = [ "phpfpm-wordpress-${hostName}.service" ]; + after = optional cfg.database.createLocally "mysql.service"; + script = '' + if ! test -e "${stateDir hostName}/secret-keys.php"; then + echo "> "${stateDir hostName}/secret-keys.php" + ${pkgs.curl}/bin/curl -s https://api.wordpress.org/secret-key/1.1/salt/ >> "${stateDir hostName}/secret-keys.php" + echo "?>" >> "${stateDir hostName}/secret-keys.php" + chmod 440 "${stateDir hostName}/secret-keys.php" + fi + ''; + + serviceConfig = { + Type = "oneshot"; + User = user; + Group = group; + }; + })) eachSite) + + (optionalAttrs (any (v: v.database.createLocally) (attrValues eachSite)) { + httpd.after = [ "mysql.service" ]; + }) + ]; + + users.users.${user}.group = group; + + }; +} diff --git a/nixos/modules/services/web-apps/youtrack.nix b/nixos/modules/services/web-apps/youtrack.nix index 6ad38028a64..830edac20ba 100644 --- a/nixos/modules/services/web-apps/youtrack.nix +++ b/nixos/modules/services/web-apps/youtrack.nix @@ -28,28 +28,28 @@ in The interface youtrack will listen on. ''; default = "127.0.0.1"; - type = types.string; + type = types.str; }; baseUrl = mkOption { description = '' Base URL for youtrack. Will be auto-detected and stored in database. ''; - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; }; extraParams = mkOption { default = {}; description = '' - Extra parameters to pass to youtrack. See + Extra parameters to pass to youtrack. See https://www.jetbrains.com/help/youtrack/standalone/YouTrack-Java-Start-Parameters.html for more information. ''; example = { "jetbrains.youtrack.overrideRootPassword" = "tortuga"; }; - type = types.attrsOf types.string; + type = types.attrsOf types.str; }; package = mkOption { @@ -73,7 +73,7 @@ in description = '' Where to keep the youtrack database. ''; - type = types.string; + type = types.path; default = "/var/lib/youtrack"; }; @@ -83,7 +83,7 @@ in If null, do not setup anything. ''; default = null; - type = types.nullOr types.string; + type = types.nullOr types.str; }; jvmOpts = mkOption { @@ -92,7 +92,7 @@ in See https://www.jetbrains.com/help/youtrack/standalone/Configure-JVM-Options.html for more information. ''; - type = types.string; + type = types.separatedString " "; example = "-XX:MetaspaceSize=250m"; default = ""; }; @@ -101,7 +101,7 @@ in description = '' Maximum Java heap size ''; - type = types.string; + type = types.str; default = "1g"; }; @@ -109,7 +109,7 @@ in description = '' Maximum java Metaspace memory. ''; - type = types.string; + type = types.str; default = "350m"; }; }; @@ -121,6 +121,7 @@ in environment.YOUTRACK_JVM_OPTS = "${extraAttr}"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; + path = with pkgs; [ unixtools.hostname ]; serviceConfig = { Type = "simple"; User = "youtrack"; diff --git a/nixos/modules/services/web-apps/zabbix.nix b/nixos/modules/services/web-apps/zabbix.nix new file mode 100644 index 00000000000..fa358ffafbc --- /dev/null +++ b/nixos/modules/services/web-apps/zabbix.nix @@ -0,0 +1,223 @@ +{ config, lib, pkgs, ... }: + +let + + inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types; + inherit (lib) literalExample mapAttrs optionalString; + + cfg = config.services.zabbixWeb; + fpm = config.services.phpfpm.pools.zabbix; + + user = "zabbix"; + group = "zabbix"; + stateDir = "/var/lib/zabbix"; + + zabbixConfig = pkgs.writeText "zabbix.conf.php" '' + database.user. + ''; + }; + + socket = mkOption { + type = types.nullOr types.path; + default = null; + example = "/run/postgresql"; + description = "Path to the unix socket file to use for authentication."; + }; + }; + + virtualHost = mkOption { + type = types.submodule ({ + options = import ../web-servers/apache-httpd/per-server-options.nix { + inherit lib; + forMainServer = false; + }; + }); + example = { + hostName = "zabbix.example.org"; + enableSSL = true; + adminAddr = "webmaster@example.org"; + sslServerCert = "/var/lib/acme/zabbix.example.org/full.pem"; + sslServerKey = "/var/lib/acme/zabbix.example.org/key.pem"; + }; + description = '' + Apache configuration can be done by adapting services.httpd.virtualHosts.<name>. + See for further information. + ''; + }; + + poolConfig = mkOption { + type = with types; attrsOf (oneOf [ str int bool ]); + default = { + "pm" = "dynamic"; + "pm.max_children" = 32; + "pm.start_servers" = 2; + "pm.min_spare_servers" = 2; + "pm.max_spare_servers" = 4; + "pm.max_requests" = 500; + }; + description = '' + Options for the Zabbix PHP pool. See the documentation on php-fpm.conf for details on configuration directives. + ''; + }; + + }; + }; + + # implementation + + config = mkIf cfg.enable { + + systemd.tmpfiles.rules = [ + "d '${stateDir}' 0750 ${user} ${group} - -" + "d '${stateDir}/session' 0750 ${user} ${config.services.httpd.group} - -" + ]; + + services.phpfpm.pools.zabbix = { + inherit user; + group = config.services.httpd.group; + phpOptions = '' + # https://www.zabbix.com/documentation/current/manual/installation/install + memory_limit = 128M + post_max_size = 16M + upload_max_filesize = 2M + max_execution_time = 300 + max_input_time = 300 + session.auto_start = 0 + mbstring.func_overload = 0 + always_populate_raw_post_data = -1 + # https://bbs.archlinux.org/viewtopic.php?pid=1745214#p1745214 + session.save_path = ${stateDir}/session + '' + optionalString (config.time.timeZone != null) '' + date.timezone = "${config.time.timeZone}" + '' + optionalString (cfg.database.type == "oracle") '' + extension=${pkgs.phpPackages.oci8}/lib/php/extensions/oci8.so + ''; + phpEnv.ZABBIX_CONFIG = zabbixConfig; + settings = { + "listen.owner" = config.services.httpd.user; + "listen.group" = config.services.httpd.group; + } // cfg.poolConfig; + }; + + services.httpd = { + enable = true; + adminAddr = mkDefault cfg.virtualHost.adminAddr; + extraModules = [ "proxy_fcgi" ]; + virtualHosts = [ (mkMerge [ + cfg.virtualHost { + documentRoot = mkForce "${cfg.package}/share/zabbix"; + extraConfig = '' + + + + SetHandler "proxy:unix:${fpm.listen}|fcgi://localhost/" + + + AllowOverride all + Options -Indexes + DirectoryIndex index.php + + ''; + } + ]) ]; + }; + + users.users.${user} = mapAttrs (name: mkDefault) { + description = "Zabbix daemon user"; + uid = config.ids.uids.zabbix; + inherit group; + }; + + users.groups.${group} = mapAttrs (name: mkDefault) { + gid = config.ids.gids.zabbix; + }; + + }; +} diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index 3fd19d425c7..098160ee369 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -8,8 +8,6 @@ let httpd = mainCfg.package.out; - version24 = !versionOlder httpd.version "2.4"; - httpdConf = mainCfg.configFile; php = mainCfg.phpPackage.override { apacheHttpd = httpd.dev; /* otherwise it only gets .out */ }; @@ -23,10 +21,9 @@ let else [{ip = "*"; port = 80;}]; getListen = cfg: - let list = (lib.optional (cfg.port != 0) {ip = "*"; port = cfg.port;}) ++ cfg.listen; - in if list == [] - then defaultListen cfg - else list; + if cfg.listen == [] + then defaultListen cfg + else cfg.listen; listenToString = l: "${l.ip}:${toString l.port}"; @@ -107,11 +104,10 @@ let "auth_basic" "auth_digest" # Authentication: is the user who he claims to be? - "authn_file" "authn_dbm" "authn_anon" - (if version24 then "authn_core" else "authn_alias") + "authn_file" "authn_dbm" "authn_anon" "authn_core" # Authorization: is the user allowed access? - "authz_user" "authz_groupfile" "authz_host" + "authz_user" "authz_groupfile" "authz_host" "authz_core" # Other modules. "ext_filter" "include" "log_config" "env" "mime_magic" @@ -119,14 +115,9 @@ let "mime" "dav" "status" "autoindex" "asis" "info" "dav_fs" "vhost_alias" "negotiation" "dir" "imagemap" "actions" "speling" "userdir" "alias" "rewrite" "proxy" "proxy_http" - ] - ++ optionals version24 [ + "unixd" "cache" "cache_disk" "slotmem_shm" "socache_shmcb" "mpm_${mainCfg.multiProcessingModule}" - "authz_core" - "unixd" - "cache" "cache_disk" - "slotmem_shm" - "socache_shmcb" + # For compatibility with old configurations, the new module mod_access_compat is provided. "access_compat" ] @@ -135,19 +126,8 @@ let ++ extraApacheModules; - allDenied = if version24 then '' - Require all denied - '' else '' - Order deny,allow - Deny from all - ''; - - allGranted = if version24 then '' - Require all granted - '' else '' - Order allow,deny - Allow from all - ''; + allDenied = "Require all denied"; + allGranted = "Require all granted"; loggingConf = (if mainCfg.logFormat != "none" then '' @@ -180,9 +160,9 @@ let sslConf = '' - SSLSessionCache ${if version24 then "shmcb" else "shm"}:${mainCfg.stateDir}/ssl_scache(512000) + SSLSessionCache shmcb:${mainCfg.stateDir}/ssl_scache(512000) - ${if version24 then "Mutex" else "SSLMutex"} posixsem + Mutex posixsem SSLRandomSeed startup builtin SSLRandomSeed connect builtin @@ -217,7 +197,7 @@ let ) null ([ cfg ] ++ subservices); documentRoot = if maybeDocumentRoot != null then maybeDocumentRoot else - pkgs.runCommand "empty" {} "mkdir -p $out"; + pkgs.runCommand "empty" { preferLocalBuild = true; } "mkdir -p $out"; documentRootConf = '' DocumentRoot "${documentRoot}" @@ -322,9 +302,7 @@ let ServerRoot ${httpd} - ${optionalString version24 '' - DefaultRuntimeDir ${mainCfg.stateDir}/runtime - ''} + DefaultRuntimeDir ${mainCfg.stateDir}/runtime PidFile ${mainCfg.stateDir}/httpd.pid @@ -358,7 +336,7 @@ let ++ optional enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; } ++ concatMap (svc: svc.extraModules) allSubservices ++ extraForeignModules; - in concatMapStrings load allModules + in concatMapStrings load (unique allModules) } AddHandler type-map var @@ -397,14 +375,6 @@ let # Generate directives for the main server. ${perServerConf true mainCfg} - # Always enable virtual hosts; it doesn't seem to hurt. - ${let - listen = concatMap getListen allHosts; - uniqueListen = uniqList {inputList = listen;}; - directives = concatMapStrings (listen: "NameVirtualHost ${listenToString listen}\n") uniqueListen; - in optionalString (!version24) directives - } - ${let makeVirtualHost = vhost: '' @@ -426,6 +396,7 @@ let phpIni = pkgs.runCommand "php.ini" { options = concatStringsSep "\n" ([ mainCfg.phpOptions ] ++ (map (svc: svc.phpOptions) allSubservices)); + preferLocalBuild = true; } '' cat ${php}/etc/php.ini > $out @@ -666,7 +637,7 @@ in message = "SSL is enabled for httpd, but sslServerCert and/or sslServerKey haven't been specified."; } ]; - warnings = map (cfg: ''apache-httpd's port option is deprecated. Use listen = [{/*ip = "*"; */ port = ${toString cfg.port};}]; instead'' ) (lib.filter (cfg: cfg.port != 0) allHosts); + warnings = map (cfg: "apache-httpd's extraSubservices option is deprecated. Most existing subservices have been ported to the NixOS module system. Please update your configuration accordingly.") (lib.filter (cfg: cfg.extraSubservices != []) allHosts); users.users = optionalAttrs (mainCfg.user == "wwwrun") (singleton { name = "wwwrun"; @@ -689,7 +660,7 @@ in ; Don't advertise PHP expose_php = off - '' + optionalString (!isNull config.time.timeZone) '' + '' + optionalString (config.time.timeZone != null) '' ; Apparently PHP doesn't use $TZ. date.timezone = "${config.time.timeZone}" @@ -699,15 +670,11 @@ in { description = "Apache HTTPD"; wantedBy = [ "multi-user.target" ]; - wants = [ "keys.target" ]; - after = [ "network.target" "fs.target" "postgresql.service" "keys.target" ]; + after = [ "network.target" "fs.target" ]; path = [ httpd pkgs.coreutils pkgs.gnugrep ] - ++ # Needed for PHP's mail() function. !!! Probably the - # ssmtp module should export the path to sendmail in - # some way. - optional config.networking.defaultMailServer.directDelivery pkgs.ssmtp + ++ optional enablePHP pkgs.system-sendmail # Needed for PHP's mail() function. ++ concatMap (svc: svc.extraServerPath) allSubservices; environment = @@ -719,10 +686,10 @@ in '' mkdir -m 0750 -p ${mainCfg.stateDir} [ $(id -u) != 0 ] || chown root.${mainCfg.group} ${mainCfg.stateDir} - ${optionalString version24 '' - mkdir -m 0750 -p "${mainCfg.stateDir}/runtime" - [ $(id -u) != 0 ] || chown root.${mainCfg.group} "${mainCfg.stateDir}/runtime" - ''} + + mkdir -m 0750 -p "${mainCfg.stateDir}/runtime" + [ $(id -u) != 0 ] || chown root.${mainCfg.group} "${mainCfg.stateDir}/runtime" + mkdir -m 0700 -p ${mainCfg.logDir} # Get rid of old semaphores. These tend to accumulate across diff --git a/nixos/modules/services/web-servers/apache-httpd/foswiki.nix b/nixos/modules/services/web-servers/apache-httpd/foswiki.nix deleted file mode 100644 index 8c1ac8935a4..00000000000 --- a/nixos/modules/services/web-servers/apache-httpd/foswiki.nix +++ /dev/null @@ -1,78 +0,0 @@ -{ config, pkgs, lib, serverInfo, ... }: -let - inherit (pkgs) foswiki; - inherit (serverInfo.serverConfig) user group; - inherit (config) vardir; -in -{ - options.vardir = lib.mkOption { - type = lib.types.path; - default = "/var/www/foswiki"; - description = "The directory where variable foswiki data will be stored and served from."; - }; - - # TODO: this will probably need to be better customizable - extraConfig = - let httpd-conf = pkgs.runCommand "foswiki-httpd.conf" - { preferLocalBuild = true; } - '' - substitute '${foswiki}/foswiki_httpd_conf.txt' "$out" \ - --replace /var/www/foswiki/ "${vardir}/" - ''; - in - '' - RewriteEngine on - RewriteRule /foswiki/(.*) ${vardir}/$1 - - - Require all granted - - - Include ${httpd-conf} - - Options FollowSymlinks - - ''; - - /** This handles initial setup and updates. - It will probably need some tweaking, maybe per-site. */ - startupScript = pkgs.writeScript "foswiki_startup.sh" ( - let storeLink = "${vardir}/package"; in - '' - [ -e '${storeLink}' ] || needs_setup=1 - mkdir -p '${vardir}' - cd '${vardir}' - ln -sf -T '${foswiki}' '${storeLink}' - - if [ -n "$needs_setup" ]; then # do initial setup - mkdir -p bin lib - # setup most of data/ as copies only - cp -r '${foswiki}'/data '${vardir}/' - rm -r '${vardir}'/data/{System,mime.types} - ln -sr -t '${vardir}/data/' '${storeLink}'/data/{System,mime.types} - - ln -sr '${storeLink}/locale' . - - mkdir pub - ln -sr '${storeLink}/pub/System' pub/ - - mkdir templates - ln -sr '${storeLink}'/templates/* templates/ - - ln -sr '${storeLink}/tools' . - - mkdir -p '${vardir}'/working/{logs,tmp} - ln -sr '${storeLink}/working/README' working/ # used to check dir validity - - chown -R '${user}:${group}' . - chmod +w -R . - fi - - # bin/* and lib/* shall always be overwritten, in case files are added - ln -srf '${storeLink}'/bin/* '${vardir}/bin/' - ln -srf '${storeLink}'/lib/* '${vardir}/lib/' - '' - /* Symlinking bin/ one-by-one ensures that ${vardir}/lib/LocalSite.cfg - is used instead of ${foswiki}/... */ - ); -} diff --git a/nixos/modules/services/web-servers/apache-httpd/limesurvey.nix b/nixos/modules/services/web-servers/apache-httpd/limesurvey.nix deleted file mode 100644 index 5c387700a5d..00000000000 --- a/nixos/modules/services/web-servers/apache-httpd/limesurvey.nix +++ /dev/null @@ -1,196 +0,0 @@ -{ config, lib, pkgs, serverInfo, ... }: - -with lib; - -let - - httpd = serverInfo.serverConfig.package; - - version24 = !versionOlder httpd.version "2.4"; - - allGranted = if version24 then '' - Require all granted - '' else '' - Order allow,deny - Allow from all - ''; - - limesurveyConfig = pkgs.writeText "config.php" '' - - ''; - - limesurveyRoot = "${pkgs.limesurvey}/share/limesurvey/"; - -in rec { - - extraConfig = '' - Alias ${config.urlPrefix}/tmp ${config.dataDir}/tmp - - - ${allGranted} - Options -Indexes +FollowSymlinks - - - Alias ${config.urlPrefix}/upload ${config.dataDir}/upload - - - ${allGranted} - Options -Indexes - - - ${if config.urlPrefix != "" then '' - Alias ${config.urlPrefix} ${limesurveyRoot} - '' else '' - RewriteEngine On - RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f - RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d - ''} - - - DirectoryIndex index.php - - ''; - - globalEnvVars = [ - { name = "LIMESURVEY_CONFIG"; value = limesurveyConfig; } - ]; - - documentRoot = if config.urlPrefix == "" then limesurveyRoot else null; - - enablePHP = true; - - options = { - - id = mkOption { - default = "main"; - description = '' - A unique identifier necessary to keep multiple Limesurvey server - instances on the same machine apart. This is used to - disambiguate the administrative scripts, which get names like - mediawiki-$id-change-password. - ''; - }; - - urlPrefix = mkOption { - default = ""; - description = "Url prefix for site."; - type = types.str; - }; - - dbType = mkOption { - default = "pgsql"; - description = "Type of database for limesurvey, for now, only pgsql."; - type = types.enum ["pgsql"]; - }; - - dbName = mkOption { - default = "limesurvey"; - description = "Name of the database that holds the limesurvey data."; - type = types.str; - }; - - dbHost = mkOption { - default = "localhost"; - description = "Limesurvey database host."; - type = types.str; - }; - - dbPort = mkOption { - default = 5432; - description = "Limesurvey database port."; - type = types.int; - }; - - dbUser = mkOption { - default = "limesurvey"; - description = "Limesurvey database user."; - type = types.str; - }; - - dbPassword = mkOption { - example = "foobar"; - description = "Limesurvey database password."; - type = types.str; - }; - - adminUser = mkOption { - description = "Limesurvey admin username."; - default = "admin"; - type = types.str; - }; - - adminPassword = mkOption { - description = "Default limesurvey admin password."; - default = "admin"; - type = types.str; - }; - - adminEmail = mkOption { - description = "Limesurvey admin email."; - default = "admin@admin.com"; - type = types.str; - }; - - forceSSL = mkOption { - default = false; - description = "Force use of HTTPS connection."; - type = types.bool; - }; - - siteName = mkOption { - default = "LimeSurvey"; - description = "LimeSurvey name of the site."; - type = types.str; - }; - - defaultLang = mkOption { - default = "en"; - description = "LimeSurvey default language."; - type = types.str; - }; - - dataDir = mkOption { - default = "/var/lib/limesurvey"; - description = "LimeSurvey data directory."; - type = types.path; - }; - }; - - startupScript = pkgs.writeScript "limesurvey_startup.sh" '' - if [ ! -f ${config.dataDir}/.created ]; then - mkdir -p ${config.dataDir}/{tmp/runtime,tmp/assets,tmp/upload,upload} - chmod -R ug+rw ${config.dataDir} - chmod -R o-rwx ${config.dataDir} - chown -R wwwrun:wwwrun ${config.dataDir} - - ${pkgs.postgresql}/bin/createuser --no-superuser --no-createdb --no-createrole "${config.dbUser}" || true - ${pkgs.postgresql}/bin/createdb "${config.dbName}" -O "${config.dbUser}" || true - ${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/psql -U postgres -d postgres -c "alter user ${config.dbUser} with password '${config.dbPassword}';" || true - - ${pkgs.limesurvey}/bin/limesurvey-console install '${config.adminUser}' '${config.adminPassword}' '${config.adminUser}' '${config.adminEmail}' - - touch ${config.dataDir}/.created - fi - ''; -} diff --git a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix deleted file mode 100644 index e871ae6ff15..00000000000 --- a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix +++ /dev/null @@ -1,348 +0,0 @@ -{ config, lib, pkgs, serverInfo, php, ... }: - -with lib; - -let - - httpd = serverInfo.serverConfig.package; - - version24 = !versionOlder httpd.version "2.4"; - - allGranted = if version24 then '' - Require all granted - '' else '' - Order allow,deny - Allow from all - ''; - - mediawikiConfig = pkgs.writeText "LocalSettings.php" - '' - - ''; - - # Unpack Mediawiki and put the config file in its root directory. - mediawikiRoot = pkgs.stdenv.mkDerivation rec { - name= "mediawiki-1.31.1"; - - src = pkgs.fetchurl { - url = "https://releases.wikimedia.org/mediawiki/1.31/${name}.tar.gz"; - sha256 = "13x48clij21cmysjkpnx68vggchrdasqp7b290j87xlfgjhdhnnf"; - }; - - skins = config.skins; - extensions = config.extensions; - - buildPhase = - '' - for skin in $skins; do - cp -prvd $skin/* skins/ - done - for extension in $extensions; do - cp -prvd $extension/* extensions/ - done - ''; # */ - - installPhase = - '' - mkdir -p $out - cp -r * $out - cp ${mediawikiConfig} $out/LocalSettings.php - sed -i \ - -e 's|/bin/bash|${pkgs.bash}/bin/bash|g' \ - -e 's|/usr/bin/timeout|${pkgs.coreutils}/bin/timeout|g' \ - $out/includes/shell/limit.sh \ - $out/includes/GlobalFunctions.php - ''; - }; - - mediawikiScripts = pkgs.runCommand "mediawiki-${config.id}-scripts" - { buildInputs = [ pkgs.makeWrapper ]; } - '' - mkdir -p $out/bin - for i in changePassword.php createAndPromote.php userOptions.php edit.php nukePage.php update.php; do - makeWrapper ${php}/bin/php $out/bin/mediawiki-${config.id}-$(basename $i .php) \ - --add-flags ${mediawikiRoot}/maintenance/$i - done - ''; - -in - -{ - - extraConfig = - '' - ${optionalString config.enableUploads '' - Alias ${config.urlPrefix}/images ${config.uploadDir} - - - ${allGranted} - Options -Indexes - - ''} - - ${if config.urlPrefix != "" then "Alias ${config.urlPrefix} ${mediawikiRoot}" else '' - RewriteEngine On - RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f - RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d - ${concatMapStringsSep "\n" (u: "RewriteCond %{REQUEST_URI} !^${u.urlPath}") serverInfo.vhostConfig.servedDirs} - ${concatMapStringsSep "\n" (u: "RewriteCond %{REQUEST_URI} !^${u.urlPath}") serverInfo.vhostConfig.servedFiles} - RewriteRule ${if config.enableUploads - then "!^/images" - else "^.*\$" - } %{DOCUMENT_ROOT}/${if config.articleUrlPrefix == "" - then "" - else "${config.articleUrlPrefix}/" - }index.php [L] - ''} - - - ${allGranted} - DirectoryIndex index.php - - - ${optionalString (config.articleUrlPrefix != "") '' - Alias ${config.articleUrlPrefix} ${mediawikiRoot}/index.php - ''} - ''; - - documentRoot = if config.urlPrefix == "" then mediawikiRoot else null; - - enablePHP = true; - - options = { - - id = mkOption { - default = "main"; - description = '' - A unique identifier necessary to keep multiple MediaWiki server - instances on the same machine apart. This is used to - disambiguate the administrative scripts, which get names like - mediawiki-$id-change-password. - ''; - }; - - dbType = mkOption { - default = "postgres"; - example = "mysql"; - description = "Database type."; - }; - - dbName = mkOption { - default = "mediawiki"; - description = "Name of the database that holds the MediaWiki data."; - }; - - dbServer = mkOption { - default = ""; # use a Unix domain socket - example = "10.0.2.2"; - description = '' - The location of the database server. Leave empty to use a - database server running on the same machine through a Unix - domain socket. - ''; - }; - - dbUser = mkOption { - default = "mediawiki"; - description = "The user name for accessing the database."; - }; - - dbPassword = mkOption { - default = ""; - example = "foobar"; - description = '' - The password of the database user. Warning: this is stored in - cleartext in the Nix store! - ''; - }; - - emergencyContact = mkOption { - default = serverInfo.serverConfig.adminAddr; - example = "admin@example.com"; - description = '' - Emergency contact e-mail address. Defaults to the Apache - admin address. - ''; - }; - - passwordSender = mkOption { - default = serverInfo.serverConfig.adminAddr; - example = "password@example.com"; - description = '' - E-mail address from which password confirmations originate. - Defaults to the Apache admin address. - ''; - }; - - siteName = mkOption { - default = "MediaWiki"; - example = "Foobar Wiki"; - description = "Name of the wiki"; - }; - - logo = mkOption { - default = ""; - example = "/images/logo.png"; - description = "The URL of the site's logo (which should be a 135x135px image)."; - }; - - urlPrefix = mkOption { - default = "/w"; - description = '' - The URL prefix under which the Mediawiki service appears. - ''; - }; - - articleUrlPrefix = mkOption { - default = "/wiki"; - example = ""; - description = '' - The URL prefix under which article pages appear, - e.g. http://server/wiki/Page. Leave empty to use the main URL - prefix, e.g. http://server/w/index.php?title=Page. - ''; - }; - - enableUploads = mkOption { - default = false; - description = "Whether to enable file uploads."; - }; - - uploadDir = mkOption { - default = throw "You must specify `uploadDir'."; - example = "/data/mediawiki-upload"; - description = "The directory that stores uploaded files."; - }; - - defaultSkin = mkOption { - default = ""; - example = "nostalgia"; - description = "Set this value to change the default skin used by MediaWiki."; - }; - - skins = mkOption { - default = []; - type = types.listOf types.path; - description = - '' - List of paths whose content is copied to the ‘skins’ - subdirectory of the MediaWiki installation. - ''; - }; - - extensions = mkOption { - default = []; - type = types.listOf types.path; - description = - '' - List of paths whose content is copied to the 'extensions' - subdirectory of the MediaWiki installation. - ''; - }; - - extraConfig = mkOption { - type = types.lines; - default = ""; - example = - '' - $wgEnableEmail = false; - ''; - description = '' - Any additional text to be appended to MediaWiki's - configuration file. This is a PHP script. For configuration - settings, see . - ''; - }; - - }; - - extraPath = [ mediawikiScripts ]; - - # !!! Need to specify that Apache has a dependency on PostgreSQL! - - startupScript = pkgs.writeScript "mediawiki_startup.sh" - # Initialise the database automagically if we're using a Postgres - # server on localhost. - (optionalString (config.dbType == "postgres" && config.dbServer == "") '' - if ! ${pkgs.postgresql}/bin/psql -l | grep -q ' ${config.dbName} ' ; then - ${pkgs.postgresql}/bin/createuser --no-superuser --no-createdb --no-createrole "${config.dbUser}" || true - ${pkgs.postgresql}/bin/createdb "${config.dbName}" -O "${config.dbUser}" - ( echo 'CREATE LANGUAGE plpgsql;' - cat ${mediawikiRoot}/maintenance/postgres/tables.sql - echo 'CREATE TEXT SEARCH CONFIGURATION public.default ( COPY = pg_catalog.english );' - echo COMMIT - ) | ${pkgs.postgresql}/bin/psql -U "${config.dbUser}" "${config.dbName}" - fi - ${php}/bin/php ${mediawikiRoot}/maintenance/update.php - ''); - - robotsEntries = optionalString (config.articleUrlPrefix != "") - '' - User-agent: * - Disallow: ${config.urlPrefix}/ - Disallow: ${config.articleUrlPrefix}/Special:Search - Disallow: ${config.articleUrlPrefix}/Special:Random - ''; - -} diff --git a/nixos/modules/services/web-servers/apache-httpd/mercurial.nix b/nixos/modules/services/web-servers/apache-httpd/mercurial.nix deleted file mode 100644 index 4b8ee2b17ea..00000000000 --- a/nixos/modules/services/web-servers/apache-httpd/mercurial.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ config, pkgs, lib, ... }: - -let - inherit (pkgs) mercurial; - inherit (lib) mkOption; - - urlPrefix = config.urlPrefix; - - cgi = pkgs.stdenv.mkDerivation { - name = "mercurial-cgi"; - buildCommand = '' - mkdir -p $out - cp -v ${mercurial}/share/cgi-bin/hgweb.cgi $out - sed -i "s|/path/to/repo/or/config|$out/hgweb.config|" $out/hgweb.cgi - echo " - [collections] - ${config.dataDir} = ${config.dataDir} - [web] - style = gitweb - allow_push = * - " > $out/hgweb.config - ''; - }; - -in { - - extraConfig = '' - RewriteEngine on - RewriteRule /(.*) ${cgi}/hgweb.cgi/$1 - - - AuthType Basic - AuthName "Mercurial repositories" - AuthUserFile ${config.dataDir}/hgusers - - Require valid-user - - - - Order allow,deny - Allow from all - AllowOverride All - Options ExecCGI - AddHandler cgi-script .cgi - PassEnv PYTHONPATH - - ''; - - robotsEntries = '' - User-agent: * - Disallow: ${urlPrefix} - ''; - - extraServerPath = [ pkgs.python ]; - - globalEnvVars = [ { name = "PYTHONPATH"; value = "${mercurial}/lib/${pkgs.python.libPrefix}/site-packages"; } ]; - - options = { - urlPrefix = mkOption { - default = "/hg"; - description = " - The URL prefix under which the Mercurial service appears. - Use the empty string to have it appear in the server root. - "; - }; - - dataDir = mkOption { - example = "/data/mercurial"; - description = " - Path to the directory that holds the repositories. - "; - }; - }; - -} diff --git a/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix b/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix index 4bbd041b6e0..9d747549c27 100644 --- a/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix +++ b/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix @@ -24,14 +24,6 @@ with lib; ''; }; - port = mkOption { - type = types.int; - default = 0; - description = '' - Port for the server. Option will be removed, use instead. - ''; - }; - listen = mkOption { type = types.listOf (types.submodule ( { @@ -41,7 +33,7 @@ with lib; description = "port to listen on"; }; ip = mkOption { - type = types.string; + type = types.str; default = "*"; description = "Ip to listen on. 0.0.0.0 for ipv4 only, * for all."; }; diff --git a/nixos/modules/services/web-servers/apache-httpd/phabricator.nix b/nixos/modules/services/web-servers/apache-httpd/phabricator.nix deleted file mode 100644 index efd4a7b5f0f..00000000000 --- a/nixos/modules/services/web-servers/apache-httpd/phabricator.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - phabricatorRoot = pkgs.phabricator; -in { - - enablePHP = true; - extraApacheModules = [ "mod_rewrite" ]; - DocumentRoot = "${phabricatorRoot}/phabricator/webroot"; - - options = { - git = mkOption { - default = true; - description = "Enable git repositories."; - }; - mercurial = mkOption { - default = true; - description = "Enable mercurial repositories."; - }; - subversion = mkOption { - default = true; - description = "Enable subversion repositories."; - }; - }; - - extraConfig = '' - DocumentRoot ${phabricatorRoot}/phabricator/webroot - - RewriteEngine on - RewriteRule ^/rsrc/(.*) - [L,QSA] - RewriteRule ^/favicon.ico - [L,QSA] - RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA] - ''; - - extraServerPath = [ - "${pkgs.which}" - "${pkgs.diffutils}" - ] ++ - (if config.mercurial then ["${pkgs.mercurial}"] else []) ++ - (if config.subversion then ["${pkgs.subversion.out}"] else []) ++ - (if config.git then ["${pkgs.git}"] else []); - - startupScript = pkgs.writeScript "activatePhabricator" '' - mkdir -p /var/repo - chown wwwrun /var/repo - ''; - -} diff --git a/nixos/modules/services/web-servers/apache-httpd/tomcat-connector.nix b/nixos/modules/services/web-servers/apache-httpd/tomcat-connector.nix deleted file mode 100644 index a883bb2b343..00000000000 --- a/nixos/modules/services/web-servers/apache-httpd/tomcat-connector.nix +++ /dev/null @@ -1,103 +0,0 @@ -{ config, pkgs, serverInfo, lib, ... }: - -let - extraWorkersProperties = lib.optionalString (config ? extraWorkersProperties) config.extraWorkersProperties; - - workersProperties = pkgs.writeText "workers.properties" '' -# Define list of workers that will be used -# for mapping requests -# The configuration directives are valid -# for the mod_jk version 1.2.18 and later -# -worker.list=loadbalancer,status - -# Define Node1 -# modify the host as your host IP or DNS name. -worker.node1.port=8009 -worker.node1.host=localhost -worker.node1.type=ajp13 -worker.node1.lbfactor=1 - -# Load-balancing behaviour -worker.loadbalancer.type=lb -worker.loadbalancer.balance_workers=node1 - -# Status worker for managing load balancer -worker.status.type=status - -${extraWorkersProperties} - ''; -in -{ - - options = { - extraWorkersProperties = lib.mkOption { - default = ""; - description = "Additional configuration for the workers.properties file."; - }; - }; - - extraModules = [ - { name = "jk"; path = "${pkgs.tomcat_connectors}/modules/mod_jk.so"; } - ]; - - extraConfig = '' -# Where to find workers.properties -JkWorkersFile ${workersProperties} - -# Where to put jk logs -JkLogFile ${serverInfo.serverConfig.logDir}/mod_jk.log - -# Set the jk log level [debug/error/info] -JkLogLevel info - -# Select the log format -JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" - -# JkOptions indicates to send SSK KEY SIZE -# Note: Changed from +ForwardURICompat. -# See http://tomcat.apache.org/security-jk.html -JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories - -# JkRequestLogFormat -JkRequestLogFormat "%w %V %T" - -# Mount your applications -JkMount /__application__/* loadbalancer - -# You can use external file for mount points. -# It will be checked for updates each 60 seconds. -# The format of the file is: /url=worker -# /examples/*=loadbalancer -#JkMountFile uriworkermap.properties - -# Add shared memory. -# This directive is present with 1.2.10 and -# later versions of mod_jk, and is needed for -# for load balancing to work properly -# Note: Replaced JkShmFile logs/jk.shm due to SELinux issues. Refer to -# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=225452 -JkShmFile ${serverInfo.serverConfig.stateDir}/jk.shm - -# Static files in all Tomcat webapp context directories are served by apache -JkAutoAlias /var/tomcat/webapps - -# All requests go to worker by default -JkMount /* loadbalancer -# Serve some static files using httpd -#JkUnMount /*.html loadbalancer -#JkUnMount /*.jpg loadbalancer -#JkUnMount /*.gif loadbalancer -#JkUnMount /*.css loadbalancer -#JkUnMount /*.png loadbalancer -#JkUnMount /*.js loadbalancer - -# Add jkstatus for managing runtime data - -JkMount status -Order deny,allow -Deny from all -Allow from 127.0.0.1 - - ''; -} diff --git a/nixos/modules/services/web-servers/apache-httpd/trac.nix b/nixos/modules/services/web-servers/apache-httpd/trac.nix deleted file mode 100644 index 28b411a64b6..00000000000 --- a/nixos/modules/services/web-servers/apache-httpd/trac.nix +++ /dev/null @@ -1,121 +0,0 @@ -{ config, lib, pkgs, serverInfo, ... }: - -with lib; - -let - - # Build a Subversion instance with Apache modules and Swig/Python bindings. - subversion = pkgs.subversion.override { - bdbSupport = true; - httpServer = true; - pythonBindings = true; - apacheHttpd = httpd; - }; - - httpd = serverInfo.serverConfig.package; - - versionPre24 = versionOlder httpd.version "2.4"; - -in - -{ - - options = { - - projectsLocation = mkOption { - description = "URL path in which Trac projects can be accessed"; - default = "/projects"; - }; - - projects = mkOption { - description = "List of projects that should be provided by Trac. If they are not defined yet empty projects are created."; - default = []; - example = - [ { identifier = "myproject"; - name = "My Project"; - databaseURL="postgres://root:password@/tracdb"; - subversionRepository="/data/subversion/myproject"; - } - ]; - }; - - user = mkOption { - default = "wwwrun"; - description = "User account under which Trac runs."; - }; - - group = mkOption { - default = "wwwrun"; - description = "Group under which Trac runs."; - }; - - ldapAuthentication = { - enable = mkOption { - default = false; - description = "Enable the ldap authentication in trac"; - }; - - url = mkOption { - default = "ldap://127.0.0.1/dc=example,dc=co,dc=ke?uid?sub?(objectClass=inetOrgPerson)"; - description = "URL of the LDAP authentication"; - }; - - name = mkOption { - default = "Trac server"; - description = "AuthName"; - }; - }; - - }; - - extraModules = singleton - { name = "python"; path = "${pkgs.mod_python}/modules/mod_python.so"; }; - - extraConfig = '' - - SetHandler mod_python - PythonHandler trac.web.modpython_frontend - PythonOption TracEnvParentDir /var/trac/projects - PythonOption TracUriRoot ${config.projectsLocation} - PythonOption PYTHON_EGG_CACHE /var/trac/egg-cache - - ${if config.ldapAuthentication.enable then '' - - AuthType Basic - AuthName "${config.ldapAuthentication.name}" - AuthBasicProvider "ldap" - AuthLDAPURL "${config.ldapAuthentication.url}" - ${if versionPre24 then "authzldapauthoritative Off" else ""} - require valid-user - - '' else ""} - ''; - - globalEnvVars = singleton - { name = "PYTHONPATH"; - value = - makeSearchPathOutput "lib" "lib/${pkgs.python.libPrefix}/site-packages" - [ pkgs.mod_python - pkgs.pythonPackages.trac - pkgs.pythonPackages.setuptools - pkgs.pythonPackages.genshi - pkgs.pythonPackages.psycopg2 - subversion - ]; - }; - - startupScript = pkgs.writeScript "activateTrac" '' - mkdir -p /var/trac - chown ${config.user}:${config.group} /var/trac - - ${concatMapStrings (project: - '' - if [ ! -d /var/trac/${project.identifier} ] - then - export PYTHONPATH=${pkgs.pythonPackages.psycopg2}/lib/${pkgs.python.libPrefix}/site-packages - ${pkgs.pythonPackages.trac}/bin/trac-admin /var/trac/${project.identifier} initenv "${project.name}" "${project.databaseURL}" svn "${project.subversionRepository}" - fi - '' ) (config.projects)} - ''; - -} diff --git a/nixos/modules/services/web-servers/apache-httpd/wordpress.nix b/nixos/modules/services/web-servers/apache-httpd/wordpress.nix deleted file mode 100644 index c68bfd25f6a..00000000000 --- a/nixos/modules/services/web-servers/apache-httpd/wordpress.nix +++ /dev/null @@ -1,285 +0,0 @@ -{ config, lib, pkgs, serverInfo, ... }: -# http://codex.wordpress.org/Hardening_WordPress - -with lib; - -let - # Our bare-bones wp-config.php file using the above settings - wordpressConfig = pkgs.writeText "wp-config.php" '' - - RewriteEngine On - RewriteBase / - RewriteRule ^index\.php$ - [L] - - # add a trailing slash to /wp-admin - RewriteRule ^wp-admin$ wp-admin/ [R=301,L] - - RewriteCond %{REQUEST_FILENAME} -f [OR] - RewriteCond %{REQUEST_FILENAME} -d - RewriteRule ^ - [L] - RewriteRule ^(wp-(content|admin|includes).*) $1 [L] - RewriteRule ^(.*\.php)$ $1 [L] - RewriteRule . index.php [L] - - - ${config.extraHtaccess} - ''; - - # WP translation can be found here: - # https://github.com/nixcloud/wordpress-translations - supportedLanguages = { - en_GB = { revision="d6c005372a5318fd758b710b77a800c86518be13"; sha256="0qbbsi87k47q4rgczxx541xz4z4f4fr49hw4lnaxkdsf5maz8p9p"; }; - de_DE = { revision="3c62955c27baaae98fd99feb35593d46562f4736"; sha256="1shndgd11dk836dakrjlg2arwv08vqx6j4xjh4jshvwmjab6ng6p"; }; - zh_ZN = { revision="12b9f811e8cae4b6ee41de343d35deb0a8fdda6d"; sha256="1339ggsxh0g6lab37jmfxicsax4h702rc3fsvv5azs7mcznvwh47"; }; - fr_FR = { revision="688c8b1543e3d38d9e8f57e0a6f2a2c3c8b588bd"; sha256="1j41iak0i6k7a4wzyav0yrllkdjjskvs45w53db8vfm8phq1n014"; }; - }; - - downloadLanguagePack = language: revision: sha256s: - pkgs.stdenv.mkDerivation rec { - name = "wp_${language}"; - src = pkgs.fetchFromGitHub { - owner = "nixcloud"; - repo = "wordpress-translations"; - rev = revision; - sha256 = sha256s; - }; - installPhase = "mkdir -p $out; cp -R * $out/"; - }; - - selectedLanguages = map (lang: downloadLanguagePack lang supportedLanguages.${lang}.revision supportedLanguages.${lang}.sha256) (config.languages); - - # The wordpress package itself - wordpressRoot = pkgs.stdenv.mkDerivation rec { - name = "wordpress"; - src = config.package; - installPhase = '' - mkdir -p $out - # copy all the wordpress files we downloaded - cp -R * $out/ - - # symlink the wordpress config - ln -s ${wordpressConfig} $out/wp-config.php - # symlink custom .htaccess - ln -s ${htaccess} $out/.htaccess - # symlink uploads directory - ln -s ${config.wordpressUploads} $out/wp-content/uploads - - # remove bundled plugins(s) coming with wordpress - rm -Rf $out/wp-content/plugins/* - # remove bundled themes(s) coming with wordpress - rm -Rf $out/wp-content/themes/* - - # copy additional theme(s) - ${concatMapStrings (theme: "cp -r ${theme} $out/wp-content/themes/${theme.name}\n") config.themes} - # copy additional plugin(s) - ${concatMapStrings (plugin: "cp -r ${plugin} $out/wp-content/plugins/${plugin.name}\n") (config.plugins) } - - # symlink additional translation(s) - mkdir -p $out/wp-content/languages - ${concatMapStrings (language: "ln -s ${language}/*.mo ${language}/*.po $out/wp-content/languages/\n") (selectedLanguages) } - ''; - }; - -in - -{ - - # And some httpd extraConfig to make things work nicely - extraConfig = '' - - DirectoryIndex index.php - Allow from * - Options FollowSymLinks - AllowOverride All - - ''; - - enablePHP = true; - - options = { - package = mkOption { - type = types.path; - default = pkgs.wordpress; - description = '' - Path to the wordpress sources. - Upgrading? We have a test! nix-build ./nixos/tests/wordpress.nix - ''; - }; - dbHost = mkOption { - default = "localhost"; - description = "The location of the database server."; - example = "localhost"; - }; - dbName = mkOption { - default = "wordpress"; - description = "Name of the database that holds the Wordpress data."; - example = "localhost"; - }; - dbUser = mkOption { - default = "wordpress"; - description = "The dbUser, read: the username, for the database."; - example = "wordpress"; - }; - dbPassword = mkOption { - default = "wordpress"; - description = '' - The mysql password to the respective dbUser. - - Warning: this password is stored in the world-readable Nix store. It's - recommended to use the $dbPasswordFile option since that gives you control over - the security of the password. $dbPasswordFile also takes precedence over $dbPassword. - ''; - example = "wordpress"; - }; - dbPasswordFile = mkOption { - type = types.str; - default = toString (pkgs.writeTextFile { - name = "wordpress-dbpassword"; - text = config.dbPassword; - }); - example = "/run/keys/wordpress-dbpassword"; - description = '' - Path to a file that contains the mysql password to the respective dbUser. - The file should be readable by the user: config.services.httpd.user. - - $dbPasswordFile takes precedence over the $dbPassword option. - - This defaults to a file in the world-readable Nix store that contains the value - of the $dbPassword option. It's recommended to override this with a path not in - the Nix store. Tip: use nixops key management: - - ''; - }; - tablePrefix = mkOption { - default = "wp_"; - description = '' - The $table_prefix is the value placed in the front of your database tables. Change the value if you want to use something other than wp_ for your database prefix. Typically this is changed if you are installing multiple WordPress blogs in the same database. See . - ''; - }; - wordpressUploads = mkOption { - default = "/data/uploads"; - description = '' - This directory is used for uploads of pictures and must be accessible (read: owned) by the httpd running user. The directory passed here is automatically created and permissions are given to the httpd running user. - ''; - }; - plugins = mkOption { - default = []; - type = types.listOf types.path; - description = - '' - List of path(s) to respective plugin(s) which are symlinked from the 'plugins' directory. Note: These plugins need to be packaged before use, see example. - ''; - example = '' - # Wordpress plugin 'akismet' installation example - akismetPlugin = pkgs.stdenv.mkDerivation { - name = "akismet-plugin"; - # Download the theme from the wordpress site - src = pkgs.fetchurl { - url = https://downloads.wordpress.org/plugin/akismet.3.1.zip; - sha256 = "1i4k7qyzna08822ncaz5l00wwxkwcdg4j9h3z2g0ay23q640pclg"; - }; - # We need unzip to build this package - buildInputs = [ pkgs.unzip ]; - # Installing simply means copying all files to the output directory - installPhase = "mkdir -p $out; cp -R * $out/"; - }; - - And then pass this theme to the themes list like this: - plugins = [ akismetPlugin ]; - ''; - }; - themes = mkOption { - default = []; - type = types.listOf types.path; - description = - '' - List of path(s) to respective theme(s) which are symlinked from the 'theme' directory. Note: These themes need to be packaged before use, see example. - ''; - example = '' - # For shits and giggles, let's package the responsive theme - responsiveTheme = pkgs.stdenv.mkDerivation { - name = "responsive-theme"; - # Download the theme from the wordpress site - src = pkgs.fetchurl { - url = http://wordpress.org/themes/download/responsive.1.9.7.6.zip; - sha256 = "06i26xlc5kdnx903b1gfvnysx49fb4kh4pixn89qii3a30fgd8r8"; - }; - # We need unzip to build this package - buildInputs = [ pkgs.unzip ]; - # Installing simply means copying all files to the output directory - installPhase = "mkdir -p $out; cp -R * $out/"; - }; - - And then pass this theme to the themes list like this: - themes = [ responsiveTheme ]; - ''; - }; - languages = mkOption { - default = []; - description = "Installs wordpress language packs based on the list, see wordpress.nix for possible translations."; - example = "[ \"en_GB\" \"de_DE\" ];"; - }; - extraConfig = mkOption { - type = types.lines; - default = ""; - example = - '' - define( 'AUTOSAVE_INTERVAL', 60 ); // Seconds - ''; - description = '' - Any additional text to be appended to Wordpress's wp-config.php - configuration file. This is a PHP script. For configuration - settings, see . - ''; - }; - extraHtaccess = mkOption { - default = ""; - example = - '' - php_value upload_max_filesize 20M - php_value post_max_size 20M - ''; - description = '' - Any additional text to be appended to Wordpress's .htaccess file. - ''; - }; - }; - - documentRoot = wordpressRoot; - - # FIXME adding the user has to be done manually for the time being - startupScript = pkgs.writeScript "init-wordpress.sh" '' - #!/bin/sh - mkdir -p ${config.wordpressUploads} - chown ${serverInfo.serverConfig.user} ${config.wordpressUploads} - - # we should use systemd dependencies here - if [ ! -d ${serverInfo.fullConfig.services.mysql.dataDir}/${config.dbName} ]; then - echo "Need to create the database '${config.dbName}' and grant permissions to user named '${config.dbUser}'." - # Wait until MySQL is up - while [ ! -e ${serverInfo.fullConfig.services.mysql.pidDir}/mysqld.pid ]; do - sleep 1 - done - ${pkgs.mysql}/bin/mysql -e 'CREATE DATABASE ${config.dbName};' - ${pkgs.mysql}/bin/mysql -e "GRANT ALL ON ${config.dbName}.* TO ${config.dbUser}@localhost IDENTIFIED BY \"$(cat ${config.dbPasswordFile})\";" - else - echo "Good, no need to do anything database related." - fi - ''; -} diff --git a/nixos/modules/services/web-servers/apache-httpd/zabbix.nix b/nixos/modules/services/web-servers/apache-httpd/zabbix.nix deleted file mode 100644 index cab16593bcb..00000000000 --- a/nixos/modules/services/web-servers/apache-httpd/zabbix.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ config, lib, pkgs, serverInfo, ... }: - -with lib; - -let - - # The Zabbix PHP frontend needs to be able to write its - # configuration settings (the connection info to the database) to - # the "conf" subdirectory. So symlink $out/conf to some directory - # outside of the Nix store where we want to keep this stateful info. - # Note that different instances of the frontend will therefore end - # up with their own copies of the PHP sources. !!! Alternatively, - # we could generate zabbix.conf.php declaratively. - zabbixPHP = pkgs.runCommand "${pkgs.zabbix.server.name}-php" {} - '' - cp -rs ${pkgs.zabbix.server}/share/zabbix/php "$out" - chmod -R u+w $out - ln -s "${if config.configFile == null - then "${config.stateDir}/zabbix.conf.php" - else config.configFile}" "$out/conf/zabbix.conf.php" - ''; - -in - -{ - - enablePHP = true; - - phpOptions = - '' - post_max_size = 32M - max_execution_time = 300 - max_input_time = 300 - ''; - - extraConfig = '' - Alias ${config.urlPrefix}/ ${zabbixPHP}/ - - - DirectoryIndex index.php - Order deny,allow - Allow from * - - ''; - - startupScript = pkgs.writeScript "zabbix-startup-hook" '' - mkdir -p ${config.stateDir} - chown -R ${serverInfo.serverConfig.user} ${config.stateDir} - ''; - - # The frontend needs "ps" to find out whether zabbix_server is running. - extraServerPath = [ pkgs.procps ]; - - options = { - - urlPrefix = mkOption { - default = "/zabbix"; - description = " - The URL prefix under which the Zabbix service appears. - Use the empty string to have it appear in the server root. - "; - }; - - configFile = mkOption { - default = null; - type = types.nullOr types.path; - description = '' - The configuration file (zabbix.conf.php) which contains the database - connection settings. If not set, the configuration settings will created - by the web installer. - ''; - }; - - stateDir = mkOption { - default = "/var/lib/zabbix/frontend"; - description = " - Directory where the dynamically generated configuration data - of the PHP frontend will be stored. - "; - }; - - }; - -} diff --git a/nixos/modules/services/web-servers/caddy.nix b/nixos/modules/services/web-servers/caddy.nix index d0b936cb019..132c50735d9 100644 --- a/nixos/modules/services/web-servers/caddy.nix +++ b/nixos/modules/services/web-servers/caddy.nix @@ -27,13 +27,13 @@ in { ca = mkOption { default = "https://acme-v02.api.letsencrypt.org/directory"; example = "https://acme-staging-v02.api.letsencrypt.org/directory"; - type = types.string; + type = types.str; description = "Certificate authority ACME server. The default (Let's Encrypt production server) should be fine for most people."; }; email = mkOption { default = ""; - type = types.string; + type = types.str; description = "Email address (for Let's Encrypt certificate)"; }; @@ -70,7 +70,7 @@ in { { CADDYPATH = cfg.dataDir; }; serviceConfig = { ExecStart = '' - ${cfg.package.bin}/bin/caddy -root=/var/tmp -conf=${configFile} \ + ${cfg.package}/bin/caddy -root=/var/tmp -conf=${configFile} \ -ca=${cfg.ca} -email=${cfg.email} ${optionalString cfg.agree "-agree"} ''; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; diff --git a/nixos/modules/services/web-servers/darkhttpd.nix b/nixos/modules/services/web-servers/darkhttpd.nix new file mode 100644 index 00000000000..80870118c33 --- /dev/null +++ b/nixos/modules/services/web-servers/darkhttpd.nix @@ -0,0 +1,77 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.darkhttpd; + + args = concatStringsSep " " ([ + cfg.rootDir + "--port ${toString cfg.port}" + "--addr ${cfg.address}" + ] ++ cfg.extraArgs + ++ optional cfg.hideServerId "--no-server-id" + ++ optional config.networking.enableIPv6 "--ipv6"); + +in { + options.services.darkhttpd = with types; { + enable = mkEnableOption "DarkHTTPd web server"; + + port = mkOption { + default = 80; + type = ints.u16; + description = '' + Port to listen on. + Pass 0 to let the system choose any free port for you. + ''; + }; + + address = mkOption { + default = "127.0.0.1"; + type = str; + description = '' + Address to listen on. + Pass `all` to listen on all interfaces. + ''; + }; + + rootDir = mkOption { + type = path; + description = '' + Path from which to serve files. + ''; + }; + + hideServerId = mkOption { + type = bool; + default = true; + description = '' + Don't identify the server type in headers or directory listings. + ''; + }; + + extraArgs = mkOption { + type = listOf str; + default = []; + description = '' + Additional configuration passed to the executable. + ''; + }; + }; + + config = mkIf cfg.enable { + systemd.services.darkhttpd = { + description = "Dark HTTPd"; + wants = [ "network.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + DynamicUser = true; + ExecStart = "${cfg.package}/bin/darkhttpd ${args}"; + AmbientCapabilities = lib.mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ]; + Restart = "on-failure"; + RestartSec = "2s"; + }; + }; + }; +} diff --git a/nixos/modules/services/web-servers/hydron.nix b/nixos/modules/services/web-servers/hydron.nix index ed63230bc78..a4a5a435b2e 100644 --- a/nixos/modules/services/web-servers/hydron.nix +++ b/nixos/modules/services/web-servers/hydron.nix @@ -2,7 +2,6 @@ let cfg = config.services.hydron; - postgres = config.services.postgresql; in with lib; { options.services.hydron = { enable = mkEnableOption "hydron"; @@ -81,40 +80,40 @@ in with lib; { }; config = mkIf cfg.enable { - security.sudo.enable = cfg.enable; - services.postgresql.enable = cfg.enable; services.hydron.passwordFile = mkDefault (pkgs.writeText "hydron-password-file" cfg.password); services.hydron.postgresArgsFile = mkDefault (pkgs.writeText "hydron-postgres-args" cfg.postgresArgs); services.hydron.postgresArgs = mkDefault '' { "driver": "postgres", - "connection": "user=hydron password=${cfg.password} dbname=hydron sslmode=disable" + "connection": "user=hydron password=${cfg.password} host=/run/postgresql dbname=hydron sslmode=disable" } ''; + services.postgresql = { + enable = true; + ensureDatabases = [ "hydron" ]; + ensureUsers = [ + { name = "hydron"; + ensurePermissions = { "DATABASE hydron" = "ALL PRIVILEGES"; }; + } + ]; + }; + + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0750 hydron hydron - -" + "d '${cfg.dataDir}/.hydron' - hydron hydron - -" + "d '${cfg.dataDir}/images' - hydron hydron - -" + "Z '${cfg.dataDir}' - hydron hydron - -" + + "L+ '${cfg.dataDir}/.hydron/db_conf.json' - - - - ${cfg.postgresArgsFile}" + ]; + systemd.services.hydron = { description = "hydron"; after = [ "network.target" "postgresql.service" ]; wantedBy = [ "multi-user.target" ]; - preStart = '' - # Ensure folder exists or create it and permissions are correct - mkdir -p ${escapeShellArg cfg.dataDir}/{.hydron,images} - ln -sf ${escapeShellArg cfg.postgresArgsFile} ${escapeShellArg cfg.dataDir}/.hydron/db_conf.json - chmod 750 ${escapeShellArg cfg.dataDir} - chown -R hydron:hydron ${escapeShellArg cfg.dataDir} - - # Ensure the database is correct or create it - ${pkgs.sudo}/bin/sudo -u ${postgres.superUser} ${postgres.package}/bin/createuser \ - -SDR hydron || true - ${pkgs.sudo}/bin/sudo -u ${postgres.superUser} ${postgres.package}/bin/createdb \ - -T template0 -E UTF8 -O hydron hydron || true - ${pkgs.sudo}/bin/sudo -u hydron ${postgres.package}/bin/psql \ - -c "ALTER ROLE hydron WITH PASSWORD '$(cat ${escapeShellArg cfg.passwordFile})';" || true - ''; - serviceConfig = { - PermissionsStartOnly = true; User = "hydron"; Group = "hydron"; ExecStart = "${pkgs.hydron}/bin/hydron serve" @@ -139,7 +138,7 @@ in with lib; { description = "Automatically import paths into hydron and possibly fetch tags"; after = [ "network.target" "hydron.service" ]; wantedBy = [ "timers.target" ]; - + timerConfig = { Persistent = true; OnCalendar = cfg.interval; @@ -148,11 +147,10 @@ in with lib; { users = { groups.hydron.gid = config.ids.gids.hydron; - + users.hydron = { description = "hydron server service user"; home = cfg.dataDir; - createHome = true; group = "hydron"; uid = config.ids.uids.hydron; }; diff --git a/nixos/modules/services/web-servers/lighttpd/cgit.nix b/nixos/modules/services/web-servers/lighttpd/cgit.nix index e6a054c296d..9f25dc34f3f 100644 --- a/nixos/modules/services/web-servers/lighttpd/cgit.nix +++ b/nixos/modules/services/web-servers/lighttpd/cgit.nix @@ -42,6 +42,8 @@ in configText = mkOption { default = ""; example = '' + source-filter=''${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py + about-filter=''${pkgs.cgit}/lib/cgit/filters/about-formatting.sh cache-size=1000 scan-path=/srv/git ''; diff --git a/nixos/modules/services/web-servers/lighttpd/collectd.nix b/nixos/modules/services/web-servers/lighttpd/collectd.nix index e70c980d524..3f262451c2c 100644 --- a/nixos/modules/services/web-servers/lighttpd/collectd.nix +++ b/nixos/modules/services/web-servers/lighttpd/collectd.nix @@ -12,7 +12,7 @@ let defaultCollectionCgi = config.services.collectd.package.overrideDerivation(old: { name = "collection.cgi"; - configurePhase = "true"; + dontConfigure = true; buildPhase = "true"; installPhase = '' substituteInPlace contrib/collection.cgi --replace '"/etc/collection.conf"' '$ENV{COLLECTION_CONF}' diff --git a/nixos/modules/services/web-servers/meguca.nix b/nixos/modules/services/web-servers/meguca.nix index 11aebcb91d8..5a00070dc94 100644 --- a/nixos/modules/services/web-servers/meguca.nix +++ b/nixos/modules/services/web-servers/meguca.nix @@ -86,11 +86,19 @@ in with lib; { default = false; description = "Serve and listen only through HTTPS."; }; + + videoPaths = mkOption { + type = types.listOf types.path; + default = []; + example = [ "/home/okina/Videos/tehe_pero.webm" ]; + description = "Videos that will be symlinked into www/videos."; + }; }; config = mkIf cfg.enable { security.sudo.enable = cfg.enable; services.postgresql.enable = cfg.enable; + services.postgresql.package = pkgs.postgresql_11; services.meguca.passwordFile = mkDefault (pkgs.writeText "meguca-password-file" cfg.password); services.meguca.postgresArgsFile = mkDefault (pkgs.writeText "meguca-postgres-args" cfg.postgresArgs); services.meguca.postgresArgs = mkDefault "user=meguca password=${cfg.password} dbname=meguca sslmode=disable"; @@ -102,8 +110,16 @@ in with lib; { preStart = '' # Ensure folder exists or create it and links and permissions are correct - mkdir -p ${escapeShellArg cfg.dataDir} - ln -sf ${pkgs.meguca}/share/meguca/www ${escapeShellArg cfg.dataDir} + mkdir -p ${escapeShellArg cfg.dataDir}/www + rm -rf ${escapeShellArg cfg.dataDir}/www/videos + ln -sf ${pkgs.meguca}/share/meguca/www/* ${escapeShellArg cfg.dataDir}/www + unlink ${escapeShellArg cfg.dataDir}/www/videos + mkdir -p ${escapeShellArg cfg.dataDir}/www/videos + + for vid in ${escapeShellArg cfg.videoPaths}; do + ln -sf $vid ${escapeShellArg cfg.dataDir}/www/videos + done + chmod 750 ${escapeShellArg cfg.dataDir} chown -R meguca:meguca ${escapeShellArg cfg.dataDir} diff --git a/nixos/modules/services/web-servers/mighttpd2.nix b/nixos/modules/services/web-servers/mighttpd2.nix index 4e7082c6769..f9b1a8b6ccc 100644 --- a/nixos/modules/services/web-servers/mighttpd2.nix +++ b/nixos/modules/services/web-servers/mighttpd2.nix @@ -22,7 +22,7 @@ in { User: root # If available, "nobody" is much more secure for Group:. Group: root - Pid_File: /var/run/mighty.pid + Pid_File: /run/mighty.pid Logging: Yes # Yes or No Log_File: /var/log/mighty # The directory must be writable by User: Log_File_Size: 16777216 # bytes diff --git a/nixos/modules/services/web-servers/minio.nix b/nixos/modules/services/web-servers/minio.nix index f78a966989b..cd123000f00 100644 --- a/nixos/modules/services/web-servers/minio.nix +++ b/nixos/modules/services/web-servers/minio.nix @@ -72,19 +72,16 @@ in }; config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.configDir}' - minio minio - -" + "d '${cfg.dataDir}' - minio minio - -" + ]; + systemd.services.minio = { description = "Minio Object Storage"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - preStart = '' - # Make sure directories exist with correct owner - mkdir -p ${cfg.configDir} - chown -R minio:minio ${cfg.configDir} - mkdir -p ${cfg.dataDir} - chown minio:minio ${cfg.dataDir} - ''; serviceConfig = { - PermissionsStartOnly = true; ExecStart = "${cfg.package}/bin/minio server --json --address ${cfg.listenAddress} --config-dir=${cfg.configDir} ${cfg.dataDir}"; Type = "simple"; User = "minio"; diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 6c733f093ba..b94b338fd4a 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -4,23 +4,25 @@ with lib; let cfg = config.services.nginx; + certs = config.security.acme.certs; + vhostsConfigs = mapAttrsToList (vhostName: vhostConfig: vhostConfig) virtualHosts; + acmeEnabledVhosts = filter (vhostConfig: vhostConfig.enableACME && vhostConfig.useACMEHost == null) vhostsConfigs; virtualHosts = mapAttrs (vhostName: vhostConfig: let serverName = if vhostConfig.serverName != null then vhostConfig.serverName else vhostName; - acmeDirectory = config.security.acme.directory; in vhostConfig // { inherit serverName; } // (optionalAttrs vhostConfig.enableACME { - sslCertificate = "${acmeDirectory}/${serverName}/fullchain.pem"; - sslCertificateKey = "${acmeDirectory}/${serverName}/key.pem"; - sslTrustedCertificate = "${acmeDirectory}/${serverName}/full.pem"; + sslCertificate = "${certs.${serverName}.directory}/fullchain.pem"; + sslCertificateKey = "${certs.${serverName}.directory}/key.pem"; + sslTrustedCertificate = "${certs.${serverName}.directory}/full.pem"; }) // (optionalAttrs (vhostConfig.useACMEHost != null) { - sslCertificate = "${acmeDirectory}/${vhostConfig.useACMEHost}/fullchain.pem"; - sslCertificateKey = "${acmeDirectory}/${vhostConfig.useACMEHost}/key.pem"; - sslTrustedCertificate = "${acmeDirectory}/${vhostConfig.useACMEHost}/full.pem"; + sslCertificate = "${certs.${vhostConfig.useACMEHost}.directory}/fullchain.pem"; + sslCertificateKey = "${certs.${vhostConfig.useACMEHost}.directory}/key.pem"; + sslTrustedCertificate = "${certs.${vhostConfig.useACMEHost}.directory}/fullchain.pem"; }) ) cfg.virtualHosts; enableIPv6 = config.networking.enableIPv6; @@ -44,7 +46,7 @@ let } '')); - configFile = pkgs.writeText "nginx.conf" '' + configFile = pkgs.writers.writeNginxConfig "nginx.conf" '' user ${cfg.user} ${cfg.group}; error_log ${cfg.logError}; daemon off; @@ -64,7 +66,7 @@ let include ${cfg.package}/conf/uwsgi_params; ${optionalString (cfg.resolver.addresses != []) '' - resolver ${toString cfg.resolver.addresses} ${optionalString (cfg.resolver.valid != "") "valid=${cfg.resolver.valid}"}; + resolver ${toString cfg.resolver.addresses} ${optionalString (cfg.resolver.valid != "") "valid=${cfg.resolver.valid}"} ${optionalString (!cfg.resolver.ipv6) "ipv6=off"}; ''} ${upstreamConfig} @@ -162,6 +164,10 @@ let ${cfg.appendConfig} ''; + configPath = if cfg.enableReload + then "/etc/nginx/nginx.conf" + else configFile; + vhosts = concatStringsSep "\n" (mapAttrsToList (vhostName: vhost: let onlySSL = vhost.onlySSL || vhost.enableSSL; @@ -182,11 +188,12 @@ let then filter (x: x.ssl) defaultListen else defaultListen; - listenString = { addr, port, ssl, ... }: + listenString = { addr, port, ssl, extraParameters ? [], ... }: "listen ${addr}:${toString port} " + optionalString ssl "ssl " + optionalString (ssl && vhost.http2) "http2 " + optionalString vhost.default "default_server " + + optionalString (extraParameters != []) (concatStringsSep " " extraParameters) + ";"; redirectListen = filter (x: !x.ssl) defaultListen; @@ -263,21 +270,11 @@ let ${optionalString (config.tryFiles != null) "try_files ${config.tryFiles};"} ${optionalString (config.root != null) "root ${config.root};"} ${optionalString (config.alias != null) "alias ${config.alias};"} + ${optionalString (config.return != null) "return ${config.return};"} ${config.extraConfig} ${optionalString (config.proxyPass != null && cfg.recommendedProxySettings) "include ${recommendedProxyConfig};"} } '') (sortProperties (mapAttrsToList (k: v: v // { location = k; }) locations))); - mkBasicAuth = vhostName: authDef: let - htpasswdFile = pkgs.writeText "${vhostName}.htpasswd" ( - concatStringsSep "\n" (mapAttrsToList (user: password: '' - ${user}:{PLAIN}${password} - '') authDef) - ); - in '' - auth_basic secured; - auth_basic_user_file ${htpasswdFile}; - ''; - mkHtpasswd = vhostName: authDef: pkgs.writeText "${vhostName}.htpasswd" ( concatStringsSep "\n" (mapAttrsToList (user: password: '' ${user}:{PLAIN}${password} @@ -360,7 +357,7 @@ in preStart = mkOption { type = types.lines; default = '' - test -d ${cfg.stateDir}/logs || mkdir -m 750 -p ${cfg.stateDir}/logs + test -d ${cfg.stateDir}/logs || mkdir -m 750 -p ${cfg.stateDir}/logs test `stat -c %a ${cfg.stateDir}` = "750" || chmod 750 ${cfg.stateDir} test `stat -c %a ${cfg.stateDir}/logs` = "750" || chmod 750 ${cfg.stateDir}/logs chown -R ${cfg.user}:${cfg.group} ${cfg.stateDir} @@ -440,6 +437,16 @@ in "; }; + enableReload = mkOption { + default = false; + type = types.bool; + description = '' + Reload nginx when configuration file changes (instead of restart). + The configuration file is exposed at /etc/nginx/nginx.conf. + See also systemd.services.*.restartIfChanged. + ''; + }; + stateDir = mkOption { default = "/var/spool/nginx"; description = " @@ -466,7 +473,7 @@ in }; clientMaxBodySize = mkOption { - type = types.string; + type = types.str; default = "10m"; description = "Set nginx global client_max_body_size."; }; @@ -479,8 +486,8 @@ in sslProtocols = mkOption { type = types.str; - default = "TLSv1.2"; - example = "TLSv1 TLSv1.1 TLSv1.2"; + default = "TLSv1.2 TLSv1.3"; + example = "TLSv1 TLSv1.1 TLSv1.2 TLSv1.3"; description = "Allowed TLS protocol versions."; }; @@ -519,6 +526,15 @@ in An optional valid parameter allows overriding it ''; }; + ipv6 = mkOption { + type = types.bool; + default = true; + description = '' + By default, nginx will look up both IPv4 and IPv6 addresses while resolving. + If looking up of IPv6 addresses is not desired, the ipv6=off parameter can be + specified. + ''; + }; }; }; description = '' @@ -632,16 +648,17 @@ in systemd.services.nginx = { description = "Nginx Web Server"; - after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; + wants = concatLists (map (vhostConfig: ["acme-${vhostConfig.serverName}.service" "acme-selfsigned-${vhostConfig.serverName}.service"]) acmeEnabledVhosts); + after = [ "network.target" ] ++ map (vhostConfig: "acme-selfsigned-${vhostConfig.serverName}.service") acmeEnabledVhosts; stopIfChanged = false; preStart = '' ${cfg.preStart} - ${cfg.package}/bin/nginx -c ${configFile} -p ${cfg.stateDir} -t + ${cfg.package}/bin/nginx -c ${configPath} -p ${cfg.stateDir} -t ''; serviceConfig = { - ExecStart = "${cfg.package}/bin/nginx -c ${configFile} -p ${cfg.stateDir}"; + ExecStart = "${cfg.package}/bin/nginx -c ${configPath} -p ${cfg.stateDir}"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; Restart = "always"; RestartSec = "10s"; @@ -649,10 +666,23 @@ in }; }; + environment.etc."nginx/nginx.conf" = mkIf cfg.enableReload { + source = configFile; + }; + + systemd.services.nginx-config-reload = mkIf cfg.enableReload { + wantedBy = [ "nginx.service" ]; + restartTriggers = [ configFile ]; + script = '' + if ${pkgs.systemd}/bin/systemctl -q is-active nginx.service ; then + ${pkgs.systemd}/bin/systemctl reload nginx.service + fi + ''; + serviceConfig.RemainAfterExit = true; + }; + security.acme.certs = filterAttrs (n: v: v != {}) ( let - vhostsConfigs = mapAttrsToList (vhostName: vhostConfig: vhostConfig) virtualHosts; - acmeEnabledVhosts = filter (vhostConfig: vhostConfig.enableACME && vhostConfig.useACMEHost == null) vhostsConfigs; acmePairs = map (vhostConfig: { name = vhostConfig.serverName; value = { user = cfg.user; group = lib.mkDefault cfg.group; diff --git a/nixos/modules/services/web-servers/nginx/location-options.nix b/nixos/modules/services/web-servers/nginx/location-options.nix index 9b44433d384..aeb9b1dd79e 100644 --- a/nixos/modules/services/web-servers/nginx/location-options.nix +++ b/nixos/modules/services/web-servers/nginx/location-options.nix @@ -64,6 +64,15 @@ with lib; ''; }; + return = mkOption { + type = types.nullOr types.str; + default = null; + example = "301 http://example.com$request_uri;"; + description = '' + Adds a return directive, for e.g. redirections. + ''; + }; + extraConfig = mkOption { type = types.lines; default = ""; diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix index 6a50d8ed5cd..15b933c984a 100644 --- a/nixos/modules/services/web-servers/nginx/vhost-options.nix +++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix @@ -31,6 +31,7 @@ with lib; addr = mkOption { type = str; description = "IP address."; }; port = mkOption { type = int; description = "Port number."; default = 80; }; ssl = mkOption { type = bool; description = "Enable SSL."; default = false; }; + extraParameters = mkOption { type = listOf str; description = "Extra parameters of this listen directive."; default = []; example = [ "reuseport" "deferred" ]; }; }; }); default = []; example = [ diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix index 97c730061bd..e95e71e0d99 100644 --- a/nixos/modules/services/web-servers/phpfpm/default.nix +++ b/nixos/modules/services/web-servers/phpfpm/default.nix @@ -4,41 +4,28 @@ with lib; let cfg = config.services.phpfpm; - enabled = cfg.poolConfigs != {} || cfg.pools != {}; - stateDir = "/run/phpfpm"; + runtimeDir = "/run/phpfpm"; - poolConfigs = - (mapAttrs mapPoolConfig cfg.poolConfigs) // - (mapAttrs mapPool cfg.pools); + toStr = value: + if true == value then "yes" + else if false == value then "no" + else toString value; - mapPoolConfig = n: p: { - phpPackage = cfg.phpPackage; - phpOptions = cfg.phpOptions; - config = p; - }; - - mapPool = n: p: { - phpPackage = p.phpPackage; - phpOptions = p.phpOptions; - config = '' - listen = ${p.listen} - ${p.extraConfig} - ''; - }; - - fpmCfgFile = pool: conf: pkgs.writeText "phpfpm-${pool}.conf" '' + fpmCfgFile = pool: poolOpts: pkgs.writeText "phpfpm-${pool}.conf" '' [global] - error_log = syslog - daemonize = no - ${cfg.extraConfig} + ${concatStringsSep "\n" (mapAttrsToList (n: v: "${n} = ${toStr v}") cfg.settings)} + ${optionalString (cfg.extraConfig != null) cfg.extraConfig} [${pool}] - ${conf} + ${concatStringsSep "\n" (mapAttrsToList (n: v: "${n} = ${toStr v}") poolOpts.settings)} + ${concatStringsSep "\n" (mapAttrsToList (n: v: "env[${n}] = ${toStr v}") poolOpts.phpEnv)} + ${optionalString (poolOpts.extraConfig != null) poolOpts.extraConfig} ''; - phpIni = pool: pkgs.runCommand "php.ini" { - inherit (pool) phpPackage phpOptions; + phpIni = poolOpts: pkgs.runCommand "php.ini" { + inherit (poolOpts) phpPackage phpOptions; + preferLocalBuild = true; nixDefaults = '' sendmail_path = "/run/wrappers/bin/sendmail -t -i" ''; @@ -47,13 +34,138 @@ let cat $phpPackage/etc/php.ini $nixDefaultsPath $phpOptionsPath > $out ''; + poolOpts = { name, ... }: + let + poolOpts = cfg.pools."${name}"; + in + { + options = { + socket = mkOption { + type = types.str; + readOnly = true; + description = '' + Path to the unix socket file on which to accept FastCGI requests. + This option is read-only and managed by NixOS. + ''; + }; + + listen = mkOption { + type = types.str; + default = ""; + example = "/path/to/unix/socket"; + description = '' + The address on which to accept FastCGI requests. + ''; + }; + + phpPackage = mkOption { + type = types.package; + default = cfg.phpPackage; + defaultText = "config.services.phpfpm.phpPackage"; + description = '' + The PHP package to use for running this PHP-FPM pool. + ''; + }; + + phpOptions = mkOption { + type = types.lines; + default = cfg.phpOptions; + defaultText = "config.services.phpfpm.phpOptions"; + description = '' + "Options appended to the PHP configuration file php.ini used for this PHP-FPM pool." + ''; + }; + + phpEnv = lib.mkOption { + type = with types; attrsOf str; + default = {}; + description = '' + Environment variables used for this PHP-FPM pool. + ''; + example = literalExample '' + { + HOSTNAME = "$HOSTNAME"; + TMP = "/tmp"; + TMPDIR = "/tmp"; + TEMP = "/tmp"; + } + ''; + }; + + user = mkOption { + type = types.str; + description = "User account under which this pool runs."; + }; + + group = mkOption { + type = types.str; + description = "Group account under which this pool runs."; + }; + + settings = mkOption { + type = with types; attrsOf (oneOf [ str int bool ]); + default = {}; + description = '' + PHP-FPM pool directives. Refer to the "List of pool directives" section of + + for details. Note that settings names must be enclosed in quotes (e.g. + "pm.max_children" instead of pm.max_children). + ''; + example = literalExample '' + { + "pm" = "dynamic"; + "pm.max_children" = 75; + "pm.start_servers" = 10; + "pm.min_spare_servers" = 5; + "pm.max_spare_servers" = 20; + "pm.max_requests" = 500; + } + ''; + }; + + extraConfig = mkOption { + type = with types; nullOr lines; + default = null; + description = '' + Extra lines that go into the pool configuration. + See the documentation on php-fpm.conf for + details on configuration directives. + ''; + }; + }; + + config = { + socket = if poolOpts.listen == "" then "${runtimeDir}/${name}.sock" else poolOpts.listen; + group = mkDefault poolOpts.user; + + settings = mapAttrs (name: mkDefault){ + listen = poolOpts.socket; + user = poolOpts.user; + group = poolOpts.group; + }; + }; + }; + in { options = { services.phpfpm = { + settings = mkOption { + type = with types; attrsOf (oneOf [ str int bool ]); + default = {}; + description = '' + PHP-FPM global directives. Refer to the "List of global php-fpm.conf directives" section of + + for details. Note that settings names must be enclosed in quotes (e.g. + "pm.max_children" instead of pm.max_children). + You need not specify the options error_log or + daemonize here, since they are generated by NixOS. + ''; + }; + extraConfig = mkOption { - type = types.lines; - default = ""; + type = with types; nullOr lines; + default = null; description = '' Extra configuration that should be put in the global section of the PHP-FPM configuration file. Do not specify the options @@ -79,64 +191,56 @@ in { '' date.timezone = "CET" ''; - description = - "Options appended to the PHP configuration file php.ini."; - }; - - poolConfigs = mkOption { - default = {}; - type = types.attrsOf types.lines; - example = literalExample '' - { mypool = ''' - listen = /run/phpfpm/mypool - user = nobody - pm = dynamic - pm.max_children = 75 - pm.start_servers = 10 - pm.min_spare_servers = 5 - pm.max_spare_servers = 20 - pm.max_requests = 500 - '''; - } - ''; description = '' - A mapping between PHP-FPM pool names and their configurations. - See the documentation on php-fpm.conf for - details on configuration directives. If no pools are defined, - the phpfpm service is disabled. + Options appended to the PHP configuration file php.ini. ''; }; pools = mkOption { - type = types.attrsOf (types.submodule (import ./pool-options.nix { - inherit lib config; - })); + type = types.attrsOf (types.submodule poolOpts); default = {}; example = literalExample '' { mypool = { - listen = "/path/to/unix/socket"; + user = "php"; + group = "php"; phpPackage = pkgs.php; - extraConfig = ''' - user = nobody - pm = dynamic - pm.max_children = 75 - pm.start_servers = 10 - pm.min_spare_servers = 5 - pm.max_spare_servers = 20 - pm.max_requests = 500 + settings = ''' + "pm" = "dynamic"; + "pm.max_children" = 75; + "pm.start_servers" = 10; + "pm.min_spare_servers" = 5; + "pm.max_spare_servers" = 20; + "pm.max_requests" = 500; '''; } }''; description = '' - PHP-FPM pools. If no pools or poolConfigs are defined, the PHP-FPM + PHP-FPM pools. If no pools are defined, the PHP-FPM service is disabled. ''; }; }; }; - config = mkIf enabled { + config = mkIf (cfg.pools != {}) { + + warnings = + mapAttrsToList (pool: poolOpts: '' + Using config.services.phpfpm.pools.${pool}.listen is deprecated and will become unsupported in a future release. Please reference the read-only option config.services.phpfpm.pools.${pool}.socket to access the path of your socket. + '') (filterAttrs (pool: poolOpts: poolOpts.listen != "") cfg.pools) ++ + mapAttrsToList (pool: poolOpts: '' + Using config.services.phpfpm.pools.${pool}.extraConfig is deprecated and will become unsupported in a future release. Please migrate your configuration to config.services.phpfpm.pools.${pool}.settings. + '') (filterAttrs (pool: poolOpts: poolOpts.extraConfig != null) cfg.pools) ++ + optional (cfg.extraConfig != null) '' + Using config.services.phpfpm.extraConfig is deprecated and will become unsupported in a future release. Please migrate your configuration to config.services.phpfpm.settings. + '' + ; + + services.phpfpm.settings = { + error_log = "syslog"; + daemonize = false; + }; systemd.slices.phpfpm = { description = "PHP FastCGI Process manager pools slice"; @@ -147,18 +251,15 @@ in { wantedBy = [ "multi-user.target" ]; }; - systemd.services = flip mapAttrs' poolConfigs (pool: poolConfig: + systemd.services = mapAttrs' (pool: poolOpts: nameValuePair "phpfpm-${pool}" { description = "PHP FastCGI Process Manager service for pool ${pool}"; after = [ "network.target" ]; wantedBy = [ "phpfpm.target" ]; partOf = [ "phpfpm.target" ]; - preStart = '' - mkdir -p ${stateDir} - ''; serviceConfig = let - cfgFile = fpmCfgFile pool poolConfig.config; - iniFile = phpIni poolConfig; + cfgFile = fpmCfgFile pool poolOpts; + iniFile = phpIni poolOpts; in { Slice = "phpfpm.slice"; PrivateDevices = true; @@ -167,10 +268,12 @@ in { # XXX: We need AF_NETLINK to make the sendmail SUID binary from postfix work RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK"; Type = "notify"; - ExecStart = "${poolConfig.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${iniFile}"; + ExecStart = "${poolOpts.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${iniFile}"; ExecReload = "${pkgs.coreutils}/bin/kill -USR2 $MAINPID"; + RuntimeDirectory = "phpfpm"; + RuntimeDirectoryPreserve = true; # Relevant when multiple processes are running }; } - ); + ) cfg.pools; }; } diff --git a/nixos/modules/services/web-servers/phpfpm/pool-options.nix b/nixos/modules/services/web-servers/phpfpm/pool-options.nix deleted file mode 100644 index d9ad7eff71f..00000000000 --- a/nixos/modules/services/web-servers/phpfpm/pool-options.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ lib, config }: - -let - fpmCfg = config.services.phpfpm; -in - -with lib; { - - options = { - - listen = mkOption { - type = types.str; - example = "/path/to/unix/socket"; - description = '' - The address on which to accept FastCGI requests. - ''; - }; - - phpPackage = mkOption { - type = types.package; - default = fpmCfg.phpPackage; - defaultText = "config.services.phpfpm.phpPackage"; - description = '' - The PHP package to use for running this PHP-FPM pool. - ''; - }; - - phpOptions = mkOption { - type = types.lines; - default = fpmCfg.phpOptions; - defaultText = "config.services.phpfpm.phpOptions"; - description = '' - "Options appended to the PHP configuration file php.ini used for this PHP-FPM pool." - ''; - }; - - extraConfig = mkOption { - type = types.lines; - example = '' - user = nobody - pm = dynamic - pm.max_children = 75 - pm.start_servers = 10 - pm.min_spare_servers = 5 - pm.max_spare_servers = 20 - pm.max_requests = 500 - ''; - - description = '' - Extra lines that go into the pool configuration. - See the documentation on php-fpm.conf for - details on configuration directives. - ''; - }; - }; -} - diff --git a/nixos/modules/services/web-servers/traefik.nix b/nixos/modules/services/web-servers/traefik.nix index 700202b1d28..8de7df0d446 100644 --- a/nixos/modules/services/web-servers/traefik.nix +++ b/nixos/modules/services/web-servers/traefik.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)} \ @@ -66,7 +67,7 @@ in { group = mkOption { default = "traefik"; - type = types.string; + type = types.str; example = "docker"; description = '' Set the group that traefik runs under. @@ -83,18 +84,16 @@ in { }; config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0700 traefik traefik - -" + ]; + systemd.services.traefik = { description = "Traefik web server"; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { - PermissionsStartOnly = true; ExecStart = ''${cfg.package.bin}/bin/traefik --configfile=${configFile}''; - ExecStartPre = [ - ''${pkgs.coreutils}/bin/mkdir -p "${cfg.dataDir}"'' - ''${pkgs.coreutils}/bin/chmod 700 "${cfg.dataDir}"'' - ''${pkgs.coreutils}/bin/chown -R traefik:traefik "${cfg.dataDir}"'' - ]; Type = "simple"; User = "traefik"; Group = cfg.group; diff --git a/nixos/modules/services/web-servers/unit/default.nix b/nixos/modules/services/web-servers/unit/default.nix new file mode 100644 index 00000000000..a4a9d370d64 --- /dev/null +++ b/nixos/modules/services/web-servers/unit/default.nix @@ -0,0 +1,125 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.unit; + + configFile = pkgs.writeText "unit.json" cfg.config; + +in { + options = { + services.unit = { + enable = mkEnableOption "Unit App Server"; + package = mkOption { + type = types.package; + default = pkgs.unit; + defaultText = "pkgs.unit"; + description = "Unit package to use."; + }; + user = mkOption { + type = types.str; + default = "unit"; + description = "User account under which unit runs."; + }; + group = mkOption { + type = types.str; + default = "unit"; + description = "Group account under which unit runs."; + }; + stateDir = mkOption { + default = "/var/spool/unit"; + description = "Unit data directory."; + }; + logDir = mkOption { + default = "/var/log/unit"; + description = "Unit log directory."; + }; + config = mkOption { + type = types.str; + default = '' + { + "listeners": {}, + "applications": {} + } + ''; + example = literalExample '' + { + "listeners": { + "*:8300": { + "application": "example-php-72" + } + }, + "applications": { + "example-php-72": { + "type": "php 7.2", + "processes": 4, + "user": "nginx", + "group": "nginx", + "root": "/var/www", + "index": "index.php", + "options": { + "file": "/etc/php.d/default.ini", + "admin": { + "max_execution_time": "30", + "max_input_time": "30", + "display_errors": "off", + "display_startup_errors": "off", + "open_basedir": "/dev/urandom:/proc/cpuinfo:/proc/meminfo:/etc/ssl/certs:/var/www", + "disable_functions": "exec,passthru,shell_exec,system" + } + } + } + } + } + ''; + description = "Unit configuration in JSON format. More details here https://unit.nginx.org/configuration"; + }; + }; + }; + + config = mkIf cfg.enable { + + environment.systemPackages = [ cfg.package ]; + + systemd.tmpfiles.rules = [ + "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.logDir}' 0750 ${cfg.user} ${cfg.group} - -" + ]; + + systemd.services.unit = { + description = "Unit App Server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + path = with pkgs; [ curl ]; + preStart = '' + test -f '/run/unit/control.unit.sock' || rm -f '/run/unit/control.unit.sock' + ''; + postStart = '' + curl -X PUT --data-binary '@${configFile}' --unix-socket '/run/unit/control.unit.sock' 'http://localhost/config' + ''; + serviceConfig = { + User = cfg.user; + Group = cfg.group; + AmbientCapabilities = "CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID"; + CapabilityBoundingSet = "CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID"; + ExecStart = '' + ${cfg.package}/bin/unitd --control 'unix:/run/unit/control.unit.sock' --pid '/run/unit/unit.pid' \ + --log '${cfg.logDir}/unit.log' --state '${cfg.stateDir}' --no-daemon \ + --user ${cfg.user} --group ${cfg.group} + ''; + RuntimeDirectory = "unit"; + RuntimeDirectoryMode = "0750"; + }; + }; + + users.users = optionalAttrs (cfg.user == "unit") (singleton { + name = "unit"; + group = cfg.group; + }); + + users.groups = optionalAttrs (cfg.group == "unit") (singleton { + name = "unit"; + }); + }; +} diff --git a/nixos/modules/services/web-servers/uwsgi.nix b/nixos/modules/services/web-servers/uwsgi.nix index 3f858d90fa4..af70f32f32d 100644 --- a/nixos/modules/services/web-servers/uwsgi.nix +++ b/nixos/modules/services/web-servers/uwsgi.nix @@ -72,7 +72,7 @@ in { }; runDir = mkOption { - type = types.string; + type = types.path; default = "/run/uwsgi"; description = "Where uWSGI communication sockets can live"; }; diff --git a/nixos/modules/services/web-servers/winstone.nix b/nixos/modules/services/web-servers/winstone.nix deleted file mode 100644 index 064ead5ce4b..00000000000 --- a/nixos/modules/services/web-servers/winstone.nix +++ /dev/null @@ -1,129 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - - cfg = config.services.winstone; - - winstoneOpts = { name, ... }: { - options = { - name = mkOption { - default = name; - internal = true; - }; - - serviceName = mkOption { - type = types.str; - description = '' - The name of the systemd service. By default, it is - derived from the winstone instance name. - ''; - }; - - warFile = mkOption { - type = types.str; - description = '' - The WAR file that Winstone should serve. - ''; - }; - - javaPackage = mkOption { - type = types.package; - default = pkgs.jre; - defaultText = "pkgs.jre"; - description = '' - Which Java derivation to use for running Winstone. - ''; - }; - - user = mkOption { - type = types.str; - description = '' - The user that should run this Winstone process and - own the working directory. - ''; - }; - - group = mkOption { - type = types.str; - description = '' - The group that will own the working directory. - ''; - }; - - workDir = mkOption { - type = types.str; - description = '' - The working directory for this Winstone instance. Will - contain extracted webapps etc. The directory will be - created if it doesn't exist. - ''; - }; - - extraJavaOptions = mkOption { - type = types.listOf types.str; - default = []; - description = '' - Extra command line options given to the java process running - Winstone. - ''; - }; - - extraOptions = mkOption { - type = types.listOf types.str; - default = []; - description = '' - Extra command line options given to the Winstone process. - ''; - }; - }; - - config = { - workDir = mkDefault "/run/winstone/${name}"; - serviceName = mkDefault "winstone-${name}"; - }; - }; - - mkService = cfg: let - opts = concatStringsSep " " (cfg.extraOptions ++ [ - "--warfile ${cfg.warFile}" - ]); - - javaOpts = concatStringsSep " " (cfg.extraJavaOptions ++ [ - "-Djava.io.tmpdir=${cfg.workDir}" - "-jar ${pkgs.winstone}/lib/winstone.jar" - ]); - in { - wantedBy = [ "multi-user.target" ]; - description = "winstone service for ${cfg.name}"; - preStart = '' - mkdir -p "${cfg.workDir}" - chown ${cfg.user}:${cfg.group} "${cfg.workDir}" - ''; - serviceConfig = { - ExecStart = "${cfg.javaPackage}/bin/java ${javaOpts} ${opts}"; - User = cfg.user; - PermissionsStartOnly = true; - }; - }; - -in { - - options = { - services.winstone = mkOption { - default = {}; - type = with types; attrsOf (submodule winstoneOpts); - description = '' - Defines independent Winstone services, each serving one WAR-file. - ''; - }; - }; - - config = mkIf (cfg != {}) { - - systemd.services = mapAttrs' (n: c: nameValuePair c.serviceName (mkService c)) cfg; - - }; - -} diff --git a/nixos/modules/services/web-servers/zope2.nix b/nixos/modules/services/web-servers/zope2.nix index 4cad2a2ff77..3abd506827c 100644 --- a/nixos/modules/services/web-servers/zope2.nix +++ b/nixos/modules/services/web-servers/zope2.nix @@ -11,7 +11,7 @@ let name = mkOption { default = "${name}"; - type = types.string; + type = types.str; description = "The name of the zope2 instance. If undefined, the name of the attribute set will be used."; }; @@ -23,19 +23,19 @@ let http_address = mkOption { default = "localhost:8080"; - type = types.string; + type = types.str; description = "Give a port and address for the HTTP server."; }; user = mkOption { default = "zope2"; - type = types.string; + type = types.str; description = "The name of the effective user for the Zope process."; }; clientHome = mkOption { default = "/var/lib/zope2/${name}"; - type = types.string; + type = types.path; description = "Home directory of zope2 instance."; }; extra = mkOption { @@ -52,7 +52,7 @@ let ''; - type = types.string; + type = types.lines; description = "Extra zope.conf"; }; diff --git a/nixos/modules/services/x11/clight.nix b/nixos/modules/services/x11/clight.nix new file mode 100644 index 00000000000..6ec395bb05e --- /dev/null +++ b/nixos/modules/services/x11/clight.nix @@ -0,0 +1,115 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.clight; + + toConf = v: + if builtins.isFloat v then toString v + else if isInt v then toString v + else if isBool v then boolToString v + else if isString v then ''"${escape [''"''] v}"'' + else if isList v then "[ " + concatMapStringsSep ", " toConf v + " ]" + else abort "clight.toConf: unexpected type (v = ${v})"; + + clightConf = pkgs.writeText "clight.conf" + (concatStringsSep "\n" (mapAttrsToList + (name: value: "${toString name} = ${toConf value};") + (filterAttrs + (_: value: value != null) + cfg.settings))); +in { + options.services.clight = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable clight or not. + ''; + }; + + temperature = { + day = mkOption { + type = types.int; + default = 5500; + description = '' + Colour temperature to use during the day, between + 1000 and 25000 K. + ''; + }; + night = mkOption { + type = types.int; + default = 3700; + description = '' + Colour temperature to use at night, between + 1000 and 25000 K. + ''; + }; + }; + + settings = let + validConfigTypes = with types; either int (either str (either bool float)); + in mkOption { + type = with types; attrsOf (nullOr (either validConfigTypes (listOf validConfigTypes))); + default = {}; + example = { captures = 20; gamma_long_transition = true; ac_capture_timeouts = [ 120 300 60 ]; }; + description = '' + Additional configuration to extend clight.conf. See + for a + sample configuration file. + ''; + }; + }; + + config = mkIf cfg.enable { + boot.kernelModules = [ "i2c_dev" ]; + environment.systemPackages = with pkgs; [ clight clightd ]; + services.dbus.packages = with pkgs; [ clight clightd ]; + services.upower.enable = true; + + services.clight.settings = { + gamma_temp = with cfg.temperature; mkDefault [ day night ]; + } // (optionalAttrs (config.location.provider == "manual") { + latitude = mkDefault config.location.latitude; + longitude = mkDefault config.location.longitude; + }); + + services.geoclue2.appConfig."clightc" = { + isAllowed = true; + isSystem = true; + }; + + systemd.services.clightd = { + requires = [ "polkit.service" ]; + wantedBy = [ "multi-user.target" ]; + + description = "Bus service to manage various screen related properties (gamma, dpms, backlight)"; + serviceConfig = { + Type = "dbus"; + BusName = "org.clightd.clightd"; + Restart = "on-failure"; + RestartSec = 5; + ExecStart = '' + ${pkgs.clightd}/bin/clightd + ''; + }; + }; + + systemd.user.services.clight = { + after = [ "upower.service" "clightd.service" ]; + wants = [ "upower.service" "clightd.service" ]; + partOf = [ "graphical-session.target" ]; + wantedBy = [ "graphical-session.target" ]; + + description = "C daemon to adjust screen brightness to match ambient brightness, as computed capturing frames from webcam"; + serviceConfig = { + Restart = "on-failure"; + RestartSec = 5; + ExecStart = '' + ${pkgs.clight}/bin/clight --conf-file ${clightConf} + ''; + }; + }; + }; +} diff --git a/nixos/modules/services/x11/colord.nix b/nixos/modules/services/x11/colord.nix index d9e81d75072..cf113ad2af8 100644 --- a/nixos/modules/services/x11/colord.nix +++ b/nixos/modules/services/x11/colord.nix @@ -18,22 +18,24 @@ in { config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.colord ]; + services.dbus.packages = [ pkgs.colord ]; services.udev.packages = [ pkgs.colord ]; - environment.systemPackages = [ pkgs.colord ]; + systemd.packages = [ pkgs.colord ]; - systemd.services.colord = { - description = "Manage, Install and Generate Color Profiles"; - serviceConfig = { - Type = "dbus"; - BusName = "org.freedesktop.ColorManager"; - ExecStart = "${pkgs.colord}/libexec/colord"; - PrivateTmp = true; - }; + environment.etc."tmpfiles.d/colord.conf".source = "${pkgs.colord}/lib/tmpfiles.d/colord.conf"; + + users.users.colord = { + isSystemUser = true; + home = "/var/lib/colord"; + group = "colord"; }; + users.groups.colord = {}; + }; } diff --git a/nixos/modules/services/x11/compton.nix b/nixos/modules/services/x11/compton.nix index cafd8d88ec4..a94a76ff0c0 100644 --- a/nixos/modules/services/x11/compton.nix +++ b/nixos/modules/services/x11/compton.nix @@ -7,47 +7,35 @@ let cfg = config.services.compton; + pairOf = x: with types; addCheck (listOf x) (y: length y == 2); + floatBetween = a: b: with lib; with types; addCheck str (x: versionAtLeast x a && versionOlder x b); - pairOf = x: with types; addCheck (listOf x) (y: lib.length y == 2); + toConf = attrs: concatStringsSep "\n" + (mapAttrsToList + (k: v: let + sep = if isAttrs v then ":" else "="; + # Basically a tinkered lib.generators.mkKeyValueDefault + mkValueString = v: + if isBool v then boolToString v + else if isInt v then toString v + else if isFloat v then toString v + else if isString v then ''"${escape [ ''"'' ] v}"'' + else if isList v then "[ " + + concatMapStringsSep " , " mkValueString v + + " ]" + else if isAttrs v then "{ " + + concatStringsSep " " + (mapAttrsToList + (key: value: "${toString key}=${mkValueString value};") + v) + + " }" + else abort "compton.mkValueString: unexpected type (v = ${v})"; + in "${escape [ sep ] k}${sep}${mkValueString v};") + attrs); - opacityRules = optionalString (length cfg.opacityRules != 0) - (concatMapStringsSep ",\n" (rule: ''"${rule}"'') cfg.opacityRules); - - configFile = pkgs.writeText "compton.conf" - (optionalString cfg.fade '' - # fading - fading = true; - fade-delta = ${toString cfg.fadeDelta}; - fade-in-step = ${elemAt cfg.fadeSteps 0}; - fade-out-step = ${elemAt cfg.fadeSteps 1}; - fade-exclude = ${toJSON cfg.fadeExclude}; - '' + - optionalString cfg.shadow '' - - # shadows - shadow = true; - shadow-offset-x = ${toString (elemAt cfg.shadowOffsets 0)}; - shadow-offset-y = ${toString (elemAt cfg.shadowOffsets 1)}; - shadow-opacity = ${cfg.shadowOpacity}; - shadow-exclude = ${toJSON cfg.shadowExclude}; - '' + '' - - # opacity - active-opacity = ${cfg.activeOpacity}; - inactive-opacity = ${cfg.inactiveOpacity}; - menu-opacity = ${cfg.menuOpacity}; - - opacity-rule = [ - ${opacityRules} - ]; - - # other options - backend = ${toJSON cfg.backend}; - vsync = ${toJSON cfg.vSync}; - refresh-rate = ${toString cfg.refreshRate}; - '' + cfg.extraOptions); + configFile = pkgs.writeText "compton.conf" (toConf cfg.settings); in { @@ -93,7 +81,7 @@ in { example = [ "window_type *= 'menu'" "name ~= 'Firefox$'" - "focused = 1" + "focused = 1" ]; description = '' List of conditions of windows that should not be faded. @@ -133,7 +121,7 @@ in { example = [ "window_type *= 'menu'" "name ~= 'Firefox$'" - "focused = 1" + "focused = 1" ]; description = '' List of conditions of windows that should have no shadow. @@ -168,6 +156,15 @@ in { ''; }; + wintypes = mkOption { + type = types.attrs; + default = { popup_menu = { opacity = cfg.menuOpacity; }; dropdown_menu = { opacity = cfg.menuOpacity; }; }; + example = {}; + description = '' + Rules for specific window types. + ''; + }; + opacityRules = mkOption { type = types.listOf types.str; default = []; @@ -189,15 +186,22 @@ in { }; vSync = mkOption { - type = types.enum [ - "none" "drm" "opengl" - "opengl-oml" "opengl-swc" "opengl-mswc" - ]; - default = "none"; - example = "opengl-swc"; + type = with types; either bool + (enum [ "none" "drm" "opengl" "opengl-oml" "opengl-swc" "opengl-mswc" ]); + default = false; + apply = x: + let + res = x != "none"; + msg = "The type of services.compton.vSync has changed to bool:" + + " interpreting ${x} as ${boolToString res}"; + in + if isBool x then x + else warn msg res; + description = '' - Enable vertical synchronization using the specified method. - See compton(1) man page an explanation. + Enable vertical synchronization. Chooses the best method + (drm, opengl, opengl-oml, opengl-swc, opengl-mswc) automatically. + The bool value should be used, the others are just for backwards compatibility. ''; }; @@ -210,23 +214,13 @@ in { ''; }; - package = mkOption { - type = types.package; - default = pkgs.compton; - defaultText = "pkgs.compton"; - example = literalExample "pkgs.compton"; - description = '' - Compton derivation to use. - ''; - }; - - extraOptions = mkOption { - type = types.lines; - default = ""; - example = '' - unredir-if-possible = true; - dbe = true; - ''; + settings = let + configTypes = with types; oneOf [ bool int float str ]; + # types.loaOf converts lists to sets + loaOf = t: with types; either (listOf t) (attrsOf t); + in mkOption { + type = loaOf (types.either configTypes (loaOf (types.either configTypes (loaOf configTypes)))); + default = {}; description = '' Additional Compton configuration. ''; @@ -234,6 +228,42 @@ in { }; config = mkIf cfg.enable { + services.compton.settings = let + # Hard conversion to float, literally lib.toInt but toFloat + toFloat = str: let + may_be_float = builtins.fromJSON str; + in if builtins.isFloat may_be_float + then may_be_float + else throw "Could not convert ${str} to float."; + in { + # fading + fading = mkDefault cfg.fade; + fade-delta = mkDefault cfg.fadeDelta; + fade-in-step = mkDefault (toFloat (elemAt cfg.fadeSteps 0)); + fade-out-step = mkDefault (toFloat (elemAt cfg.fadeSteps 1)); + fade-exclude = mkDefault cfg.fadeExclude; + + # shadows + shadow = mkDefault cfg.shadow; + shadow-offset-x = mkDefault (elemAt cfg.shadowOffsets 0); + shadow-offset-y = mkDefault (elemAt cfg.shadowOffsets 1); + shadow-opacity = mkDefault (toFloat cfg.shadowOpacity); + shadow-exclude = mkDefault cfg.shadowExclude; + + # opacity + active-opacity = mkDefault (toFloat cfg.activeOpacity); + inactive-opacity = mkDefault (toFloat cfg.inactiveOpacity); + + wintypes = mkDefault cfg.wintypes; + + opacity-rule = mkDefault cfg.opacityRules; + + # other options + backend = mkDefault cfg.backend; + vsync = mkDefault cfg.vSync; + refresh-rate = mkDefault cfg.refreshRate; + }; + systemd.user.services.compton = { description = "Compton composite manager"; wantedBy = [ "graphical-session.target" ]; @@ -245,13 +275,13 @@ in { }; serviceConfig = { - ExecStart = "${cfg.package}/bin/compton --config ${configFile}"; + ExecStart = "${pkgs.compton}/bin/compton --config ${configFile}"; RestartSec = 3; Restart = "always"; }; }; - environment.systemPackages = [ cfg.package ]; + environment.systemPackages = [ pkgs.compton ]; }; } diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 2b1e9169e5f..dfb84113e13 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -18,9 +18,9 @@ in # determines the default: later modules (if enabled) are preferred. # E.g., if Plasma 5 is enabled, it supersedes xterm. imports = [ - ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix + ./none.nix ./xterm.nix ./xfce.nix ./xfce4-14.nix ./plasma5.nix ./lumina.nix ./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix - ./mate.nix ./pantheon.nix + ./mate.nix ./pantheon.nix ./surf-display.nix ]; options = { diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix index 04e380b6153..527e4b18045 100644 --- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix +++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix @@ -25,7 +25,7 @@ in }; - config = mkIf (xcfg.enable && cfg.enable) { + config = mkIf cfg.enable { environment.systemPackages = [ e.efl e.enlightenment @@ -34,14 +34,14 @@ in pkgs.gtk2 # To get GTK+'s themes. pkgs.tango-icon-theme - pkgs.gnome2.gnomeicontheme + pkgs.gnome2.gnome_icon_theme pkgs.xorg.xcursorthemes ]; - environment.pathsToLink = [ - "/etc/enlightenment" - "/share/enlightenment" - "/share/elementary" + environment.pathsToLink = [ + "/etc/enlightenment" + "/share/enlightenment" + "/share/elementary" "/share/locale" ]; diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 7544ba4638a..6f344f4121b 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -3,7 +3,9 @@ with lib; let + cfg = config.services.xserver.desktopManager.gnome3; + serviceCfg = config.services.gnome3; # Prioritize nautilus by default when opening directories mimeAppsList = pkgs.writeTextFile { @@ -15,20 +17,27 @@ let ''; }; - nixos-gsettings-desktop-schemas = pkgs.runCommand "nixos-gsettings-desktop-schemas" {} + nixos-gsettings-desktop-schemas = let + defaultPackages = with pkgs; [ gsettings-desktop-schemas gnome3.gnome-shell ]; + in + pkgs.runCommand "nixos-gsettings-desktop-schemas" { preferLocalBuild = true; } '' mkdir -p $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas - cp -rf ${pkgs.gnome3.gsettings-desktop-schemas}/share/gsettings-schemas/gsettings-desktop-schemas*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas - ${concatMapStrings (pkg: "cp -rf ${pkg}/share/gsettings-schemas/*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas\n") cfg.extraGSettingsOverridePackages} + ${concatMapStrings + (pkg: "cp -rf ${pkg}/share/gsettings-schemas/*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas\n") + (defaultPackages ++ cfg.extraGSettingsOverridePackages)} chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF [org.gnome.desktop.background] - picture-uri='${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png' + picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png' [org.gnome.desktop.screensaver] - picture-uri='${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bottom.png' + picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bottom.png' + + [org.gnome.shell] + favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ] ${cfg.extraGSettingsOverrides} EOF @@ -38,10 +47,19 @@ let flashbackEnabled = cfg.flashback.enableMetacity || length cfg.flashback.customSessions > 0; -in { +in + +{ options = { + services.gnome3 = { + core-os-services.enable = mkEnableOption "essential services for GNOME3"; + core-shell.enable = mkEnableOption "GNOME Shell services"; + core-utilities.enable = mkEnableOption "GNOME core utilities"; + games.enable = mkEnableOption "GNOME games"; + }; + services.xserver.desktopManager.gnome3 = { enable = mkOption { default = false; @@ -75,7 +93,7 @@ in { debug = mkEnableOption "gnome-session debug messages"; flashback = { - enableMetacity = mkEnableOption "Enable the standard GNOME Flashback session with Metacity."; + enableMetacity = mkEnableOption "the standard GNOME Flashback session with Metacity"; customSessions = mkOption { type = types.listOf (types.submodule { @@ -114,55 +132,40 @@ in { }; - config = mkIf cfg.enable { + config = mkMerge [ + (mkIf (cfg.enable || flashbackEnabled) { + services.gnome3.core-os-services.enable = true; + services.gnome3.core-shell.enable = true; + services.gnome3.core-utilities.enable = mkDefault true; - # Enable helpful DBus services. - security.polkit.enable = true; - services.udisks2.enable = true; - services.accounts-daemon.enable = true; - services.geoclue2.enable = mkDefault true; - # GNOME should have its own geoclue agent - services.geoclue2.enableDemoAgent = false; - services.dleyna-renderer.enable = mkDefault true; - services.dleyna-server.enable = mkDefault true; - services.gnome3.at-spi2-core.enable = true; - services.gnome3.evolution-data-server.enable = true; - services.gnome3.file-roller.enable = mkDefault true; - services.gnome3.gnome-disks.enable = mkDefault true; - services.gnome3.gnome-documents.enable = mkDefault true; - services.gnome3.gnome-keyring.enable = true; - services.gnome3.gnome-online-accounts.enable = mkDefault true; - services.gnome3.gnome-remote-desktop.enable = mkDefault true; - services.gnome3.gnome-terminal-server.enable = mkDefault true; - services.gnome3.gnome-user-share.enable = mkDefault true; - services.gnome3.gvfs.enable = true; - services.gnome3.rygel.enable = mkDefault true; - services.gnome3.seahorse.enable = mkDefault true; - services.gnome3.sushi.enable = mkDefault true; - services.gnome3.tracker.enable = mkDefault true; - services.gnome3.tracker-miners.enable = mkDefault true; - hardware.pulseaudio.enable = mkDefault true; - services.telepathy.enable = mkDefault true; - networking.networkmanager.enable = mkDefault true; - services.upower.enable = config.powerManagement.enable; - services.dbus.packages = - optional config.services.printing.enable pkgs.system-config-printer ++ - optional flashbackEnabled pkgs.gnome3.gnome-screensaver; - services.colord.enable = mkDefault true; - services.packagekit.enable = mkDefault true; - hardware.bluetooth.enable = mkDefault true; - services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center - services.udev.packages = [ pkgs.gnome3.gnome-settings-daemon ]; - systemd.packages = [ pkgs.gnome3.vino ]; - services.flatpak.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ]; - # If gnome3 is installed, build vim for gtk3 too. - nixpkgs.config.vim.gui = "gtk3"; + environment.extraInit = '' + ${concatMapStrings (p: '' + if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then + export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name} + fi - fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell-fonts ]; + if [ -d "${p}/lib/girepository-1.0" ]; then + export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0 + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib + fi + '') cfg.sessionPath} + ''; - services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ] - ++ map + environment.systemPackages = cfg.sessionPath; + + environment.variables.GNOME_SESSION_DEBUG = mkIf cfg.debug "1"; + + # Override GSettings schemas + environment.variables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; + + # If gnome3 is installed, build vim for gtk3 too. + nixpkgs.config.vim.gui = "gtk3"; + }) + + (mkIf flashbackEnabled { + services.xserver.displayManager.extraSessionFilePackages = map (wm: pkgs.gnome3.gnome-flashback.mkSessionForWm { inherit (wm) wmName wmLabel wmCommand; }) (optional cfg.flashback.enableMetacity { @@ -171,58 +174,177 @@ in { wmCommand = "${pkgs.gnome3.metacity}/bin/metacity"; } ++ cfg.flashback.customSessions); - environment.extraInit = '' - ${concatMapStrings (p: '' - if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then - export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name} - fi + security.pam.services.gnome-screensaver = { + enableGnomeKeyring = true; + }; - if [ -d "${p}/lib/girepository-1.0" ]; then - export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0 - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib - fi - '') cfg.sessionPath} - ''; + services.dbus.packages = [ + pkgs.gnome3.gnome-screensaver + ]; + }) - environment.variables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1"; + (mkIf serviceCfg.core-os-services.enable { + hardware.bluetooth.enable = mkDefault true; + hardware.pulseaudio.enable = mkDefault true; + programs.dconf.enable = true; + security.polkit.enable = true; + services.accounts-daemon.enable = true; + services.dleyna-renderer.enable = mkDefault true; + services.dleyna-server.enable = mkDefault true; + services.gnome3.at-spi2-core.enable = true; + services.gnome3.evolution-data-server.enable = true; + services.gnome3.gnome-keyring.enable = true; + services.gnome3.gnome-online-accounts.enable = mkDefault true; + services.gnome3.gnome-online-miners.enable = true; + services.gnome3.tracker-miners.enable = mkDefault true; + services.gnome3.tracker.enable = mkDefault true; + services.hardware.bolt.enable = mkDefault true; + services.packagekit.enable = mkDefault true; + services.udisks2.enable = true; + services.upower.enable = config.powerManagement.enable; + services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center - # Override default mimeapps - environment.variables.XDG_DATA_DIRS = [ "${mimeAppsList}/share" ]; + xdg.portal.enable = true; + xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; - # Override GSettings schemas - environment.variables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; + networking.networkmanager.enable = mkDefault true; - # Let nautilus find extensions - # TODO: Create nautilus-with-extensions package - environment.variables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0"; - - services.xserver.updateDbusEnvironment = true; - - environment.variables.GIO_EXTRA_MODULES = [ "${lib.getLib pkgs.gnome3.dconf}/lib/gio/modules" - "${pkgs.gnome3.glib-networking.out}/lib/gio/modules" - "${pkgs.gnome3.gvfs}/lib/gio/modules" ]; - environment.systemPackages = pkgs.gnome3.corePackages ++ cfg.sessionPath - ++ (pkgs.gnome3.removePackagesByName pkgs.gnome3.optionalPackages config.environment.gnome3.excludePackages) ++ [ - pkgs.xdg-user-dirs # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ - ]; - - # Use the correct gnome3 packageSet - networking.networkmanager.basePackages = - { inherit (pkgs) networkmanager modemmanager wpa_supplicant; + # Use the correct gnome3 packageSet + networking.networkmanager.basePackages = { + inherit (pkgs) networkmanager modemmanager wpa_supplicant crda; inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc - networkmanager-openconnect networkmanager-fortisslvpn - networkmanager-iodine networkmanager-l2tp; }; + networkmanager-openconnect networkmanager-fortisslvpn + networkmanager-iodine networkmanager-l2tp; + }; - # Needed for themes and backgrounds - environment.pathsToLink = [ - "/share" - "/share/nautilus-python/extensions" - ]; + services.xserver.updateDbusEnvironment = true; - security.pam.services.gnome-screensaver = mkIf flashbackEnabled { - enableGnomeKeyring = true; - }; - }; + # Needed for themes and backgrounds + environment.pathsToLink = [ + "/share" # TODO: https://github.com/NixOS/nixpkgs/issues/47173 + ]; + }) + (mkIf serviceCfg.core-shell.enable { + services.colord.enable = mkDefault true; + services.gnome3.glib-networking.enable = true; + services.gnome3.gnome-remote-desktop.enable = mkDefault true; + services.gnome3.gnome-settings-daemon.enable = true; + services.gnome3.gnome-user-share.enable = mkDefault true; + services.gnome3.rygel.enable = mkDefault true; + services.gvfs.enable = true; + services.telepathy.enable = mkDefault true; + systemd.packages = [ pkgs.gnome3.vino ]; + services.dbus.packages = + optional config.services.printing.enable pkgs.system-config-printer; + + services.avahi.enable = mkDefault true; + + services.geoclue2.enable = mkDefault true; + services.geoclue2.enableDemoAgent = false; # GNOME has its own geoclue agent + + services.geoclue2.appConfig."gnome-datetime-panel" = { + isAllowed = true; + isSystem = true; + }; + services.geoclue2.appConfig."gnome-color-panel" = { + isAllowed = true; + isSystem = true; + }; + services.geoclue2.appConfig."org.gnome.Shell" = { + isAllowed = true; + isSystem = true; + }; + + fonts.fonts = with pkgs; [ + cantarell-fonts + dejavu_fonts + source-code-pro # Default monospace font in 3.32 + source-sans-pro + ]; + + # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-32/elements/core/meta-gnome-core-shell.bst + environment.systemPackages = with pkgs.gnome3; [ + adwaita-icon-theme + gnome-backgrounds + gnome-bluetooth + gnome-color-manager + gnome-control-center + gnome-getting-started-docs + gnome-shell + gnome-shell-extensions + gnome-themes-extra + gnome-user-docs + pkgs.orca + pkgs.glib # for gsettings + pkgs.gnome-menus + pkgs.gtk3.out # for gtk-launch + pkgs.hicolor-icon-theme + pkgs.shared-mime-info # for update-mime-database + pkgs.xdg-user-dirs # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ + vino + ]; + }) + + # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-32/elements/core/meta-gnome-core-utilities.bst + (mkIf serviceCfg.core-utilities.enable { + environment.systemPackages = (with pkgs.gnome3; removePackagesByName [ + baobab + cheese + eog + epiphany + geary + gedit + gnome-calculator + gnome-calendar + gnome-characters + gnome-clocks + gnome-contacts + gnome-font-viewer + gnome-logs + gnome-maps + gnome-music + gnome-photos + gnome-screenshot + gnome-software + gnome-system-monitor + gnome-weather + nautilus + simple-scan + totem + yelp + # Unsure if sensible for NixOS + /* gnome-boxes */ + ] config.environment.gnome3.excludePackages); + + # Enable default programs + programs.evince.enable = mkDefault true; + programs.file-roller.enable = mkDefault true; + programs.gnome-disks.enable = mkDefault true; + programs.gnome-terminal.enable = mkDefault true; + programs.seahorse.enable = mkDefault true; + services.gnome3.sushi.enable = mkDefault true; + + # Let nautilus find extensions + # TODO: Create nautilus-with-extensions package + environment.variables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0"; + + # Override default mimeapps for nautilus + environment.variables.XDG_DATA_DIRS = [ "${mimeAppsList}/share" ]; + + environment.pathsToLink = [ + "/share/nautilus-python/extensions" + ]; + }) + + (mkIf serviceCfg.games.enable { + environment.systemPackages = (with pkgs.gnome3; removePackagesByName [ + aisleriot atomix five-or-more four-in-a-row gnome-chess gnome-klotski + gnome-mahjongg gnome-mines gnome-nibbles gnome-robots gnome-sudoku + gnome-taquin gnome-tetravex hitori iagno lightsoff quadrapassel + swell-foop tali + ] config.environment.gnome3.excludePackages); + }) + ]; } diff --git a/nixos/modules/services/x11/desktop-managers/kodi.nix b/nixos/modules/services/x11/desktop-managers/kodi.nix index 3ce49b9d2bf..65a7b9c628e 100644 --- a/nixos/modules/services/x11/desktop-managers/kodi.nix +++ b/nixos/modules/services/x11/desktop-managers/kodi.nix @@ -20,7 +20,7 @@ in services.xserver.desktopManager.session = [{ name = "kodi"; start = '' - ${pkgs.kodi}/bin/kodi --lircdev /var/run/lirc/lircd --standalone & + ${pkgs.kodi}/bin/kodi --lircdev /run/lirc/lircd --standalone & waitPID=$! ''; }]; diff --git a/nixos/modules/services/x11/desktop-managers/lumina.nix b/nixos/modules/services/x11/desktop-managers/lumina.nix index 43fed2572b5..2224bcd5a2a 100644 --- a/nixos/modules/services/x11/desktop-managers/lumina.nix +++ b/nixos/modules/services/x11/desktop-managers/lumina.nix @@ -21,23 +21,18 @@ in }; - config = mkIf (xcfg.enable && cfg.enable) { + config = mkIf cfg.enable { services.xserver.desktopManager.session = singleton { name = "lumina"; start = '' - exec ${pkgs.lumina}/bin/start-lumina-desktop + exec ${pkgs.lumina.lumina}/bin/start-lumina-desktop ''; }; - environment.systemPackages = [ - pkgs.fluxbox - pkgs.libsForQt5.kwindowsystem - pkgs.lumina - pkgs.numlockx - pkgs.qt5.qtsvg - pkgs.xscreensaver - ]; + environment.systemPackages = + pkgs.lumina.preRequisitePackages ++ + pkgs.lumina.corePackages; # Link some extra directories in /run/current-system/software/share environment.pathsToLink = [ diff --git a/nixos/modules/services/x11/desktop-managers/lxqt.nix b/nixos/modules/services/x11/desktop-managers/lxqt.nix index 686bbd0dcf9..bf53082b267 100644 --- a/nixos/modules/services/x11/desktop-managers/lxqt.nix +++ b/nixos/modules/services/x11/desktop-managers/lxqt.nix @@ -26,7 +26,7 @@ in }; - config = mkIf (xcfg.enable && cfg.enable) { + config = mkIf cfg.enable { services.xserver.desktopManager.session = singleton { name = "lxqt"; @@ -58,7 +58,8 @@ in # Link some extra directories in /run/current-system/software/share environment.pathsToLink = [ "/share" ]; - environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gvfs}/lib/gio/modules" ]; + services.gvfs.enable = true; + services.gvfs.package = pkgs.gvfs; services.upower.enable = config.powerManagement.enable; }; diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix index 4d2fafd1496..e1084b0053c 100644 --- a/nixos/modules/services/x11/desktop-managers/mate.nix +++ b/nixos/modules/services/x11/desktop-managers/mate.nix @@ -42,7 +42,7 @@ in }; - config = mkIf (xcfg.enable && cfg.enable) { + config = mkIf cfg.enable { services.xserver.desktopManager.session = singleton { name = "mate"; @@ -56,9 +56,6 @@ in export XDG_MENU_PREFIX=mate- - # Find the mouse - export XCURSOR_PATH=~/.icons:${config.system.path}/share/icons - # Let caja find extensions export CAJA_EXTENSION_DIRS=$CAJA_EXTENSION_DIRS''${CAJA_EXTENSION_DIRS:+:}${config.system.path}/lib/caja/extensions-2.0 @@ -78,9 +75,6 @@ in # Add mate-control-center paths to some XDG variables because its schemas are needed by mate-settings-daemon, and mate-settings-daemon is a dependency for mate-control-center (that is, they are mutually recursive) ${addToXDGDirs pkgs.mate.mate-control-center} - # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ - ${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update - ${pkgs.mate.mate-session-manager}/bin/mate-session ${optionalString cfg.debug "--debug"} & waitPID=$! ''; @@ -90,14 +84,25 @@ in pkgs.mate.basePackages ++ (pkgs.gnome3.removePackagesByName pkgs.mate.extraPackages - config.environment.mate.excludePackages); + config.environment.mate.excludePackages) ++ + [ + pkgs.desktop-file-utils + pkgs.glib + pkgs.gtk3.out + pkgs.shared-mime-info + pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/ + ]; - services.dbus.packages = [ - pkgs.gnome3.dconf - pkgs.at-spi2-core - ]; + programs.dconf.enable = true; + # Shell integration for VTE terminals + programs.bash.vteIntegration = mkDefault true; + programs.zsh.vteIntegration = mkDefault true; + services.gnome3.at-spi2-core.enable = true; services.gnome3.gnome-keyring.enable = true; + services.gnome3.gnome-settings-daemon.enable = true; + services.gnome3.gnome-settings-daemon.package = pkgs.mate.mate-settings-daemon; + services.gvfs.enable = true; services.upower.enable = config.powerManagement.enable; security.pam.services."mate-screensaver".unixAuth = true; diff --git a/nixos/modules/services/x11/desktop-managers/maxx.nix b/nixos/modules/services/x11/desktop-managers/maxx.nix index d7bd2fc5eb0..1c04104df41 100644 --- a/nixos/modules/services/x11/desktop-managers/maxx.nix +++ b/nixos/modules/services/x11/desktop-managers/maxx.nix @@ -10,9 +10,15 @@ in { enable = mkEnableOption "MaXX desktop environment"; }; - config = mkIf (xcfg.enable && cfg.enable) { + config = mkIf cfg.enable { environment.systemPackages = [ pkgs.maxx ]; + # there is hardcoded path in binaries + system.activationScripts.setup-maxx = '' + mkdir -p /opt + ln -sfn ${pkgs.maxx}/opt/MaXX /opt + ''; + services.xserver.desktopManager.session = [ { name = "MaXX"; start = '' diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 0f49439bf7c..5b82cb1f026 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -14,6 +14,9 @@ let in { + + meta.maintainers = pkgs.pantheon.maintainers; + options = { services.xserver.desktopManager.pantheon = { @@ -70,8 +73,14 @@ in # Ensure lightdm is used when Pantheon is enabled # Without it screen locking will be nonfunctional because of the use of lightlocker + + warnings = optional (config.services.xserver.displayManager.lightdm.enable != true) + '' + Using Pantheon without LightDM as a displayManager will break screenlocking from the UI. + ''; + services.xserver.displayManager.lightdm.enable = mkDefault true; - services.xserver.displayManager.lightdm.greeters.pantheon.enable = mkDefault true; + services.xserver.displayManager.lightdm.greeters.gtk.enable = mkDefault true; # If not set manually Pantheon session cannot be started # Known issue of https://github.com/NixOS/nixpkgs/pull/43992 @@ -90,9 +99,9 @@ in fi '') cfg.sessionPath} - # Makes qt applications look less alien - export QT_QPA_PLATFORMTHEME=gtk3 - export QT_STYLE_OVERRIDE=adwaita + # Settings from elementary-default-settings + export GTK_CSD=1 + export GTK_MODULES=$GTK_MODULES:pantheon-filechooser-module fi ''; @@ -108,29 +117,50 @@ in ([ pkgs.pantheon.switchboard-plug-power ]) (mkIf config.services.printing.enable ([pkgs.system-config-printer]) ) ]; - services.pantheon.contractor.enable = true; - services.geoclue2.enable = mkDefault true; - # pantheon has pantheon-agent-geoclue2 - services.geoclue2.enableDemoAgent = false; + services.pantheon.contractor.enable = mkDefault true; services.gnome3.at-spi2-core.enable = true; services.gnome3.evolution-data-server.enable = true; - services.gnome3.file-roller.enable = true; + services.gnome3.glib-networking.enable = true; # TODO: gnome-keyring's xdg autostarts will still be in the environment (from elementary-session-settings) if disabled forcefully services.gnome3.gnome-keyring.enable = true; - services.gnome3.gvfs.enable = true; - services.gnome3.rygel.enable = true; - services.gsignond.enable = true; + services.gnome3.gnome-settings-daemon.enable = true; + services.gnome3.gnome-settings-daemon.package = pkgs.pantheon.elementary-settings-daemon; + services.gvfs.enable = true; + services.gnome3.rygel.enable = mkDefault true; + services.gsignond.enable = mkDefault true; services.gsignond.plugins = with pkgs.gsignondPlugins; [ lastfm mail oauth ]; - services.udev.packages = [ pkgs.pantheon.elementary-settings-daemon ]; services.udisks2.enable = true; services.upower.enable = config.powerManagement.enable; services.xserver.libinput.enable = mkDefault true; services.xserver.updateDbusEnvironment = true; - services.zeitgeist.enable = true; + services.zeitgeist.enable = mkDefault true; + services.geoclue2.enable = mkDefault true; + # pantheon has pantheon-agent-geoclue2 + services.geoclue2.enableDemoAgent = false; + services.geoclue2.appConfig."io.elementary.desktop.agent-geoclue2" = { + isAllowed = true; + isSystem = true; + }; + + programs.dconf.enable = true; + programs.evince.enable = mkDefault true; + programs.file-roller.enable = mkDefault true; + # Otherwise you can't store NetworkManager Secrets with + # "Store the password only for this user" + programs.nm-applet.enable = true; + + # Shell integration for VTE terminals + programs.bash.vteIntegration = mkDefault true; + programs.zsh.vteIntegration = mkDefault true; + + # Harmonize Qt5 applications under Pantheon + qt5.enable = true; + qt5.platformTheme = "gnome"; + qt5.style = "adwaita"; networking.networkmanager.enable = mkDefault true; networking.networkmanager.basePackages = - { inherit (pkgs) networkmanager modemmanager wpa_supplicant; + { inherit (pkgs) networkmanager modemmanager wpa_supplicant crda; inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc networkmanager-openconnect networkmanager-fortisslvpn networkmanager-iodine networkmanager-l2tp; }; @@ -140,30 +170,19 @@ in environment.variables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1"; - environment.variables.GIO_EXTRA_MODULES = [ - "${lib.getLib pkgs.gnome3.dconf}/lib/gio/modules" - "${pkgs.gnome3.glib-networking.out}/lib/gio/modules" - "${pkgs.gnome3.gvfs}/lib/gio/modules" - ]; - environment.pathsToLink = [ # FIXME: modules should link subdirs of `/share` rather than relying on this "/share" ]; - environment.systemPackages = pkgs.pantheon.artwork ++ pkgs.pantheon.desktop ++ pkgs.pantheon.services ++ cfg.sessionPath - ++ (pkgs.gnome3.removePackagesByName pkgs.pantheon.apps config.environment.pantheon.excludePackages) - ++ (with pkgs.gnome3; - [ - adwaita-icon-theme - dconf - epiphany - evince - geary - gnome-bluetooth - gnome-font-viewer - gnome-power-manager - ]) + environment.systemPackages = + pkgs.pantheon.artwork ++ pkgs.pantheon.desktop ++ pkgs.pantheon.services ++ cfg.sessionPath + ++ (with pkgs; gnome3.removePackagesByName + ([ + gnome3.geary + gnome3.epiphany + gnome3.gnome-font-viewer + ] ++ pantheon.apps) config.environment.pantheon.excludePackages) ++ (with pkgs; [ adwaita-qt @@ -171,9 +190,11 @@ in glib glib-networking gnome-menus + gnome3.adwaita-icon-theme gtk3.out hicolor-icon-theme lightlocker + onboard plank qgnomeplatform shared-mime-info @@ -182,9 +203,11 @@ in ]); fonts.fonts = with pkgs; [ - opensans-ttf + open-sans roboto-mono + pantheon.elementary-redacted-script # needed by screenshot-tool ]; + fonts.fontconfig.defaultFonts = { monospace = [ "Roboto Mono" ]; sansSerif = [ "Open Sans" ]; diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index 704cc78c152..94a307ae100 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -21,6 +21,13 @@ in description = "Enable the Plasma 5 (KDE 5) desktop environment."; }; + phononBackend = mkOption { + type = types.enum [ "gstreamer" "vlc" ]; + default = "gstreamer"; + example = "vlc"; + description = "Phonon audio backend to install."; + }; + enableQt4Support = mkOption { type = types.bool; default = true; @@ -36,7 +43,7 @@ in config = mkMerge [ - (mkIf (xcfg.enable && cfg.enable) { + (mkIf cfg.enable { services.xserver.desktopManager.session = singleton { name = "plasma5"; bgSupport = true; @@ -64,8 +71,8 @@ in }; security.wrappers = { - kcheckpass.source = "${lib.getBin plasma5.kscreenlocker}/lib/libexec/kcheckpass"; - "start_kdeinit".source = "${lib.getBin pkgs.kinit}/lib/libexec/kf5/start_kdeinit"; + kcheckpass.source = "${lib.getBin plasma5.kscreenlocker}/libexec/kcheckpass"; + "start_kdeinit".source = "${lib.getBin pkgs.kinit}/libexec/kf5/start_kdeinit"; kwin_wayland = { source = "${lib.getBin plasma5.kwin}/bin/kwin_wayland"; capabilities = "cap_sys_nice+ep"; @@ -161,23 +168,26 @@ in qtvirtualkeyboard - libsForQt56.phonon-backend-gstreamer - libsForQt5.phonon-backend-gstreamer + xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/ ] - ++ lib.optionals cfg.enableQt4Support [ pkgs.phonon-backend-gstreamer ] + # Phonon audio backend + ++ lib.optional (cfg.phononBackend == "gstreamer") libsForQt5.phonon-backend-gstreamer + ++ lib.optional (cfg.phononBackend == "gstreamer" && cfg.enableQt4Support) pkgs.phonon-backend-gstreamer + ++ lib.optional (cfg.phononBackend == "vlc") libsForQt5.phonon-backend-vlc + ++ lib.optional (cfg.phononBackend == "vlc" && cfg.enableQt4Support) pkgs.phonon-backend-vlc # Optional hardware support features - ++ lib.optional config.hardware.bluetooth.enable bluedevil + ++ lib.optionals config.hardware.bluetooth.enable [ bluedevil bluez-qt ] ++ lib.optional config.networking.networkmanager.enable plasma-nm ++ lib.optional config.hardware.pulseaudio.enable plasma-pa ++ lib.optional config.powerManagement.enable powerdevil ++ lib.optional config.services.colord.enable colord-kde ++ lib.optionals config.services.samba.enable [ kdenetwork-filesharing pkgs.samba ]; - environment.pathsToLink = [ + environment.pathsToLink = [ # FIXME: modules should link subdirs of `/share` rather than relying on this - "/share" + "/share" ]; environment.etc = singleton { @@ -223,8 +233,33 @@ in security.pam.services.sddm.enableKwallet = true; security.pam.services.slim.enableKwallet = true; + xdg.portal.enable = true; + xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ]; + # Update the start menu for each user that is currently logged in - system.userActivationScripts.plasmaSetup = "${pkgs.libsForQt5.kservice}/bin/kbuildsycoca5"; + system.userActivationScripts.plasmaSetup = '' + # The KDE icon cache is supposed to update itself + # automatically, but it uses the timestamp on the icon + # theme directory as a trigger. Since in Nix the + # timestamp is always the same, this doesn't work. So as + # a workaround, nuke the icon cache on login. This isn't + # perfect, since it may require logging out after + # installing new applications to update the cache. + # See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html + rm -fv $HOME/.cache/icon-cache.kcache + + # xdg-desktop-settings generates this empty file but + # it makes kbuildsyscoca5 fail silently. To fix this + # remove that menu if it exists. + rm -fv $HOME/.config/menus/applications-merged/xdg-desktop-menu-dummy.menu + + # Remove the kbuildsyscoca5 cache. It will be regenerated + # immediately after. This is necessary for kbuildsyscoca5 to + # recognize that software that has been removed. + rm -fv $HOME/.cache/ksycoca* + + ${pkgs.libsForQt5.kservice}/bin/kbuildsycoca5 + ''; }) ]; diff --git a/nixos/modules/services/x11/desktop-managers/surf-display.nix b/nixos/modules/services/x11/desktop-managers/surf-display.nix new file mode 100644 index 00000000000..140dde828da --- /dev/null +++ b/nixos/modules/services/x11/desktop-managers/surf-display.nix @@ -0,0 +1,127 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.xserver.desktopManager.surf-display; + + surfDisplayConf = '' + # Surf Kiosk Display: Wrap around surf browser and turn your + # system into a browser screen in KIOSK-mode. + + # default download URI for all display screens if not configured individually + DEFAULT_WWW_URI="${cfg.defaultWwwUri}" + + # Enforce fixed resolution for all displays (default: not set): + #DEFAULT_RESOLUTION="1920x1080" + + # HTTP proxy URL, if needed (default: not set). + #HTTP_PROXY_URL="http://webcache:3128" + + # Setting for internal inactivity timer to restart surf-display + # if the user goes inactive/idle. + INACTIVITY_INTERVAL="${builtins.toString cfg.inactivityInterval}" + + # log to syslog instead of .xsession-errors + LOG_TO_SYSLOG="yes" + + # Launch pulseaudio daemon if not already running. + WITH_PULSEAUDIO="yes" + + # screensaver settings, see "man 1 xset" for possible options + SCREENSAVER_SETTINGS="${cfg.screensaverSettings}" + + # disable right and middle pointer device click in browser sessions while keeping + # scrolling wheels' functionality intact... (consider "pointer" subcommand on + # xmodmap man page for details). + POINTER_BUTTON_MAP="${cfg.pointerButtonMap}" + + # Hide idle mouse pointer. + HIDE_IDLE_POINTER="${cfg.hideIdlePointer}" + + ${cfg.extraConfig} + ''; + +in { + options = { + services.xserver.desktopManager.surf-display = { + enable = mkEnableOption "surf-display as a kiosk browser session"; + + defaultWwwUri = mkOption { + type = types.str; + default = "${pkgs.surf-display}/share/surf-display/empty-page.html"; + example = "https://www.example.com/"; + description = "Default URI to display."; + }; + + inactivityInterval = mkOption { + type = types.int; + default = 300; + example = "0"; + description = '' + Setting for internal inactivity timer to restart surf-display if the + user goes inactive/idle to get a fresh session for the next user of + the kiosk. + + If this value is set to zero, the whole feature of restarting due to + inactivity is disabled. + ''; + }; + + screensaverSettings = mkOption { + type = types.separatedString " "; + default = ""; + description = '' + Screensaver settings, see man 1 xset for possible options. + ''; + }; + + pointerButtonMap = mkOption { + type = types.str; + default = "1 0 0 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + description = '' + Disable right and middle pointer device click in browser sessions + while keeping scrolling wheels' functionality intact. See pointer + subcommand on man xmodmap for details. + ''; + }; + + hideIdlePointer = mkOption { + type = types.str; + default = "yes"; + example = "no"; + description = "Hide idle mouse pointer."; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + example = '' + # Enforce fixed resolution for all displays (default: not set): + DEFAULT_RESOLUTION="1920x1080" + + # HTTP proxy URL, if needed (default: not set). + HTTP_PROXY_URL="http://webcache:3128" + + # Configure individual display screens with host specific parameters: + DISPLAYS['display-host-0']="www_uri=https://www.displayserver.comany.net/display-1/index.html" + DISPLAYS['display-host-1']="www_uri=https://www.displayserver.comany.net/display-2/index.html" + DISPLAYS['display-host-2']="www_uri=https://www.displayserver.comany.net/display-3/index.html|res=1920x1280" + DISPLAYS['display-host-3']="www_uri=https://www.displayserver.comany.net/display-4/index.html"|res=1280x1024" + DISPLAYS['display-host-local-file']="www_uri=file:///usr/share/doc/surf-display/empty-page.html" + ''; + description = '' + Extra configuration options to append to /etc/default/surf-display. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + services.xserver.displayManager.extraSessionFilePackages = [ + pkgs.surf-display + ]; + + environment.etc."default/surf-display".text = surfDisplayConf; + }; +} diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index dabf09418da..1102f73d1ac 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -53,7 +53,7 @@ in # Supplies some abstract icons such as: # utilities-terminal, accessories-text-editor - gnome3.defaultIconTheme + gnome3.adwaita-icon-theme hicolor-icon-theme tango-icon-theme @@ -66,7 +66,6 @@ in exo garcon gtk-xfce-engine - gvfs libxfce4ui tumbler xfconf @@ -100,10 +99,6 @@ in "/share/gtksourceview-2.0" ]; - environment.variables = { - GIO_EXTRA_MODULES = [ "${pkgs.xfce.gvfs}/lib/gio/modules" ]; - }; - services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ]; services.xserver.desktopManager.session = [{ @@ -128,5 +123,7 @@ in # Enable helpful DBus services. services.udisks2.enable = true; services.upower.enable = config.powerManagement.enable; + services.gvfs.enable = true; + services.gvfs.package = pkgs.xfce.gvfs; }; } diff --git a/nixos/modules/services/x11/desktop-managers/xfce4-14.nix b/nixos/modules/services/x11/desktop-managers/xfce4-14.nix new file mode 100644 index 00000000000..16329c093f9 --- /dev/null +++ b/nixos/modules/services/x11/desktop-managers/xfce4-14.nix @@ -0,0 +1,157 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.xserver.desktopManager.xfce4-14; +in + +{ + # added 2019-08-18 + # needed to preserve some semblance of UI familarity + # with original XFCE module + imports = [ + (mkRenamedOptionModule + [ "services" "xserver" "desktopManager" "xfce4-14" "extraSessionCommands" ] + [ "services" "xserver" "displayManager" "sessionCommands" ]) + ]; + + options = { + services.xserver.desktopManager.xfce4-14 = { + enable = mkOption { + type = types.bool; + default = false; + description = "Enable the Xfce desktop environment."; + }; + + # TODO: support thunar plugins + # thunarPlugins = mkOption { + # default = []; + # type = types.listOf types.package; + # example = literalExample "[ pkgs.xfce4-14.thunar-archive-plugin ]"; + # description = '' + # A list of plugin that should be installed with Thunar. + # ''; + # }; + + noDesktop = mkOption { + type = types.bool; + default = false; + description = "Don't install XFCE desktop components (xfdesktop, panel and notification daemon)."; + }; + + enableXfwm = mkOption { + type = types.bool; + default = true; + description = "Enable the XFWM (default) window manager."; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs.xfce4-14 // pkgs; [ + glib # for gsettings + gtk3.out # gtk-update-icon-cache + + gnome3.adwaita-icon-theme + hicolor-icon-theme + tango-icon-theme + xfce4-icon-theme + + desktop-file-utils + shared-mime-info # for update-mime-database + + # For a polkit authentication agent + polkit_gnome + + # Needed by Xfce's xinitrc script + xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/ + + exo + garcon + gtk-xfce-engine + libxfce4ui + xfconf + + mousepad + ristretto + xfce4-appfinder + xfce4-screenshooter + xfce4-session + xfce4-settings + xfce4-terminal + + # TODO: resync patch for plugins + #(thunar.override { thunarPlugins = cfg.thunarPlugins; }) + thunar + ] # TODO: NetworkManager doesn't belong here + ++ optional config.networking.networkmanager.enable networkmanagerapplet + ++ optional config.hardware.pulseaudio.enable xfce4-pulseaudio-plugin + ++ optional config.powerManagement.enable xfce4-power-manager + ++ optional cfg.enableXfwm xfwm4 + ++ optionals (!cfg.noDesktop) [ + xfce4-panel + xfce4-notifyd + xfdesktop + ]; + + environment.pathsToLink = [ + "/share/xfce4" + "/lib/xfce4" + "/share/gtksourceview-3.0" + "/share/gtksourceview-4.0" + ]; + + # Use the correct gnome3 packageSet + networking.networkmanager.basePackages = mkIf config.networking.networkmanager.enable { + inherit (pkgs) networkmanager modemmanager wpa_supplicant crda; + inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc + networkmanager-openconnect networkmanager-fortisslvpn + networkmanager-iodine networkmanager-l2tp; + }; + + services.xserver.desktopManager.session = [{ + name = "xfce4-14"; + bgSupport = true; + start = '' + # Set GTK_PATH so that GTK+ can find the theme engines. + export GTK_PATH="${config.system.path}/lib/gtk-2.0:${config.system.path}/lib/gtk-3.0" + + # Set GTK_DATA_PREFIX so that GTK+ can find the Xfce themes. + export GTK_DATA_PREFIX=${config.system.path} + + ${pkgs.runtimeShell} ${pkgs.xfce4-14.xinitrc} & + waitPID=$! + ''; + }]; + + services.xserver.updateDbusEnvironment = true; + services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ]; + + # Enable helpful DBus services. + services.udisks2.enable = true; + security.polkit.enable = true; + services.accounts-daemon.enable = true; + services.upower.enable = config.powerManagement.enable; + services.gnome3.glib-networking.enable = true; + services.gvfs.enable = true; + services.gvfs.package = pkgs.xfce.gvfs; + services.tumbler.enable = true; + services.dbus.packages = + optional config.services.printing.enable pkgs.system-config-printer; + services.xserver.libinput.enable = mkDefault true; # used in xfce4-settings-manager + + # Enable default programs + programs.dconf.enable = true; + + # Shell integration for VTE terminals + programs.bash.vteIntegration = mkDefault true; + programs.zsh.vteIntegration = mkDefault true; + + # Systemd services + systemd.packages = with pkgs.xfce4-14; [ + thunar + ] ++ optional (!cfg.noDesktop) xfce4-notifyd; + + }; +} diff --git a/nixos/modules/services/x11/desktop-managers/xterm.nix b/nixos/modules/services/x11/desktop-managers/xterm.nix index 6ff1ef0e4c9..93987bd1dfc 100644 --- a/nixos/modules/services/x11/desktop-managers/xterm.nix +++ b/nixos/modules/services/x11/desktop-managers/xterm.nix @@ -13,13 +13,14 @@ in services.xserver.desktopManager.xterm.enable = mkOption { type = types.bool; - default = true; + default = false; + defaultText = "config.services.xserver.enable"; description = "Enable a xterm terminal as a desktop manager."; }; }; - config = mkIf (config.services.xserver.enable && cfg.enable) { + config = mkIf cfg.enable { services.xserver.desktopManager.session = singleton { name = "xterm"; diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 0e87e6adbab..bf6b048654b 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -109,7 +109,7 @@ let # Allow the user to setup a custom session type. if test -x ~/.xsession; then - exec ~/.xsession + eval exec ~/.xsession "$@" fi if test "$1"; then diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index 226fee7491c..3f1669d0851 100644 --- a/nixos/modules/services/x11/display-managers/gdm.nix +++ b/nixos/modules/services/x11/display-managers/gdm.nix @@ -14,6 +14,23 @@ let exec "$@" ''; + # Solves problems like: + # https://wiki.archlinux.org/index.php/Talk:Bluetooth_headset#GDMs_pulseaudio_instance_captures_bluetooth_headset + # Instead of blacklisting plugins, we use Fedora's PulseAudio configuration for GDM: + # https://src.fedoraproject.org/rpms/gdm/blob/master/f/default.pa-for-gdm + pulseConfig = pkgs.writeText "default.pa" '' + load-module module-device-restore + load-module module-card-restore + load-module module-udev-detect + load-module module-native-protocol-unix + load-module module-default-device-restore + load-module module-rescue-streams + load-module module-always-sink + load-module module-intended-roles + load-module module-suspend-on-idle + load-module module-position-event-sounds + ''; + in { @@ -79,6 +96,14 @@ in type = types.bool; }; + autoSuspend = mkOption { + default = true; + description = '' + Suspend the machine after inactivity. + ''; + type = types.bool; + }; + }; }; @@ -126,6 +151,11 @@ in GDM_X_SESSION_WRAPPER = "${xSessionWrapper}"; }; execCmd = "exec ${gdm}/bin/gdm"; + preStart = optionalString config.hardware.pulseaudio.enable '' + mkdir -p /run/gdm/.config/pulse + ln -sf ${pulseConfig} /run/gdm/.config/pulse/default.pa + chown -R gdm:gdm /run/gdm/.config + ''; }; # Because sd_login_monitor_new requires /run/systemd/machines @@ -154,10 +184,40 @@ in systemd.user.services.dbus.wantedBy = [ "default.target" ]; - programs.dconf.profiles.gdm = pkgs.writeText "dconf-gdm-profile" '' - system-db:local - ${gdm}/share/dconf/profile/gdm - ''; + programs.dconf.profiles.gdm = + let + customDconf = pkgs.writeTextFile { + name = "gdm-dconf"; + destination = "/dconf/gdm-custom"; + text = '' + ${optionalString (!cfg.gdm.autoSuspend) '' + [org/gnome/settings-daemon/plugins/power] + sleep-inactive-ac-type='nothing' + sleep-inactive-battery-type='nothing' + sleep-inactive-ac-timeout=0 + sleep-inactive-battery-timeout=0 + ''} + ''; + }; + + customDconfDb = pkgs.stdenv.mkDerivation { + name = "gdm-dconf-db"; + buildCommand = '' + ${pkgs.gnome3.dconf}/bin/dconf compile $out ${customDconf}/dconf + ''; + }; + in pkgs.stdenv.mkDerivation { + name = "dconf-gdm-profile"; + buildCommand = '' + # Check that the GDM profile starts with what we expect. + if [ $(head -n 1 ${gdm}/share/dconf/profile/gdm) != "user-db:user" ]; then + echo "GDM dconf profile changed, please update gdm.nix" + exit 1 + fi + # Insert our custom DB behind it. + sed '2ifile-db:${customDconfDb}' ${gdm}/share/dconf/profile/gdm > $out + ''; + }; # Use AutomaticLogin if delay is zero, because it's immediate. # Otherwise with TimedLogin with zero seconds the prompt is still @@ -208,76 +268,25 @@ in session optional pam_permit.so ''; - gdm.text = '' - auth requisite pam_nologin.so - auth required pam_env.so envfile=${config.system.build.pamEnvironment} - - auth required pam_succeed_if.so uid >= 1000 quiet - auth optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so - auth ${if config.security.pam.enableEcryptfs then "required" else "sufficient"} pam_unix.so nullok likeauth - ${optionalString config.security.pam.enableEcryptfs - "auth required ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"} - - ${optionalString (! config.security.pam.enableEcryptfs) - "auth required pam_deny.so"} - - account sufficient pam_unix.so - - password requisite pam_unix.so nullok sha512 - ${optionalString config.security.pam.enableEcryptfs - "password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"} - - session required pam_env.so envfile=${config.system.build.pamEnvironment} - session required pam_unix.so - ${optionalString config.security.pam.enableEcryptfs - "session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"} - session required pam_loginuid.so - session optional ${pkgs.systemd}/lib/security/pam_systemd.so - session optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start - ''; - gdm-password.text = '' - auth requisite pam_nologin.so - auth required pam_env.so envfile=${config.system.build.pamEnvironment} - - auth required pam_succeed_if.so uid >= 1000 quiet - auth optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so - auth ${if config.security.pam.enableEcryptfs then "required" else "sufficient"} pam_unix.so nullok likeauth - ${optionalString config.security.pam.enableEcryptfs - "auth required ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"} - ${optionalString (! config.security.pam.enableEcryptfs) - "auth required pam_deny.so"} - - account sufficient pam_unix.so - - password requisite pam_unix.so nullok sha512 - ${optionalString config.security.pam.enableEcryptfs - "password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"} - - session required pam_env.so envfile=${config.system.build.pamEnvironment} - session required pam_unix.so - ${optionalString config.security.pam.enableEcryptfs - "session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"} - session required pam_loginuid.so - session optional ${pkgs.systemd}/lib/security/pam_systemd.so - session optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start + auth substack login + account include login + password substack login + session include login ''; gdm-autologin.text = '' - auth requisite pam_nologin.so + auth requisite pam_nologin.so - auth required pam_succeed_if.so uid >= 1000 quiet - auth required pam_permit.so + auth required pam_succeed_if.so uid >= 1000 quiet + auth required pam_permit.so - account sufficient pam_unix.so + account sufficient pam_unix.so - password requisite pam_unix.so nullok sha512 + password requisite pam_unix.so nullok sha512 - session optional pam_keyinit.so revoke - session required pam_env.so envfile=${config.system.build.pamEnvironment} - session required pam_unix.so - session required pam_loginuid.so - session optional ${pkgs.systemd}/lib/security/pam_systemd.so + session optional pam_keyinit.so revoke + session include login ''; }; diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix index 7c794b1ba17..de128809ce3 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix @@ -12,9 +12,10 @@ let # We need a few things in the environment for the greeter to run with # fonts/icons. - wrappedEnsoGreeter = pkgs.runCommand "lightdm-enso-os-greeter" - { buildInputs = [ pkgs.makeWrapper ]; } - '' + wrappedEnsoGreeter = pkgs.runCommand "lightdm-enso-os-greeter" { + buildInputs = [ pkgs.makeWrapper ]; + preferLocalBuild = true; + } '' # This wrapper ensures that we actually get themes makeWrapper ${pkgs.lightdm-enso-os-greeter}/bin/pantheon-greeter \ $out/greeter \ diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix index efec943c007..5b280b02423 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix @@ -18,9 +18,10 @@ let # The default greeter provided with this expression is the GTK greeter. # Again, we need a few things in the environment for the greeter to run with # fonts/icons. - wrappedGtkGreeter = pkgs.runCommand "lightdm-gtk-greeter" - { buildInputs = [ pkgs.makeWrapper ]; } - '' + wrappedGtkGreeter = pkgs.runCommand "lightdm-gtk-greeter" { + buildInputs = [ pkgs.makeWrapper ]; + preferLocalBuild = true; + } '' # This wrapper ensures that we actually get themes makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \ $out/greeter \ @@ -95,8 +96,8 @@ in package = mkOption { type = types.package; - default = pkgs.gnome3.defaultIconTheme; - defaultText = "pkgs.gnome3.defaultIconTheme"; + default = pkgs.gnome3.adwaita-icon-theme; + defaultText = "pkgs.gnome3.adwaita-icon-theme"; description = '' The package path that contains the icon theme given in the name option. ''; @@ -115,8 +116,8 @@ in cursorTheme = { package = mkOption { - default = pkgs.gnome3.defaultIconTheme; - defaultText = "pkgs.gnome3.defaultIconTheme"; + default = pkgs.gnome3.adwaita-icon-theme; + defaultText = "pkgs.gnome3.adwaita-icon-theme"; description = '' The package path that contains the cursor theme given in the name option. ''; diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix index 05011b999f2..bfba174144a 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix @@ -33,6 +33,13 @@ in config = mkIf (ldmcfg.enable && cfg.enable) { + warnings = [ + '' + The Pantheon greeter is suboptimal in NixOS and can possibly put you in + a situation where you cannot start a session when switching desktopManagers. + '' + ]; + services.xserver.displayManager.lightdm.greeters.gtk.enable = false; services.xserver.displayManager.lightdm.greeter = mkDefault { diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index 3ab4f26399f..9aed255f878 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -114,7 +114,7 @@ in }; name = mkOption { - type = types.string; + type = types.str; description = '' The name of a .desktop file in the directory specified in the 'package' option. @@ -189,6 +189,11 @@ in config = mkIf cfg.enable { assertions = [ + { assertion = xcfg.enable; + message = '' + LightDM requires services.xserver.enable to be true + ''; + } { assertion = cfg.autoLogin.enable -> cfg.autoLogin.user != null; message = '' LightDM auto-login requires services.xserver.displayManager.lightdm.autoLogin.user to be set diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 05830e325d5..d1ed345ac57 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -195,6 +195,11 @@ in config = mkIf cfg.enable { assertions = [ + { assertion = xcfg.enable; + message = '' + SDDM requires services.xserver.enable to be true + ''; + } { assertion = cfg.autoLogin.enable -> cfg.autoLogin.user != null; message = '' SDDM auto-login requires services.xserver.displayManager.sddm.autoLogin.user to be set @@ -264,8 +269,8 @@ in }; environment.etc."sddm.conf".source = cfgFile; - environment.pathsToLink = [ - "/share/sddm" + environment.pathsToLink = [ + "/share/sddm" ]; users.groups.sddm.gid = config.ids.gids.sddm; diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix index 4e411c8ceb0..124660a43f0 100644 --- a/nixos/modules/services/x11/display-managers/slim.nix +++ b/nixos/modules/services/x11/display-managers/slim.nix @@ -28,7 +28,7 @@ let # Unpack the SLiM theme, or use the default. slimThemesDir = let - unpackedTheme = pkgs.runCommand "slim-theme" {} + unpackedTheme = pkgs.runCommand "slim-theme" { preferLocalBuild = true; } '' mkdir -p $out cd $out diff --git a/nixos/modules/services/x11/display-managers/startx.nix b/nixos/modules/services/x11/display-managers/startx.nix index 15609540a6e..57046984358 100644 --- a/nixos/modules/services/x11/display-managers/startx.nix +++ b/nixos/modules/services/x11/display-managers/startx.nix @@ -20,8 +20,8 @@ in Whether to enable the dummy "startx" pseudo-display manager, which allows users to start X manually via the "startx" command from a vt shell. The X server runs under the user's id, not as root. - The user must provide a ~/.xinintrc file containing session startup - commands, see startx(1). This is not autmatically generated + The user must provide a ~/.xinitrc file containing session startup + commands, see startx(1). This is not automatically generated from the desktopManager and windowManager settings. ''; }; diff --git a/nixos/modules/services/x11/display-managers/xpra.nix b/nixos/modules/services/x11/display-managers/xpra.nix index a4b57cfdab6..c23e479140f 100644 --- a/nixos/modules/services/x11/display-managers/xpra.nix +++ b/nixos/modules/services/x11/display-managers/xpra.nix @@ -33,7 +33,7 @@ in description = "Authentication to use when connecting to xpra"; }; - pulseaudio = mkEnableOption "pulseaudio audio streaming."; + pulseaudio = mkEnableOption "pulseaudio audio streaming"; extraOptions = mkOption { description = "Extra xpra options"; @@ -221,7 +221,7 @@ in services.xserver.displayManager.job.execCmd = '' ${optionalString (cfg.pulseaudio) - "export PULSE_COOKIE=/var/run/pulse/.config/pulse/cookie"} + "export PULSE_COOKIE=/run/pulse/.config/pulse/cookie"} exec ${pkgs.xpra}/bin/xpra start \ --daemon=off \ --log-dir=/var/log \ @@ -233,7 +233,7 @@ in --mdns=no \ --pulseaudio=no \ ${optionalString (cfg.pulseaudio) "--sound-source=pulse"} \ - --socket-dirs=/var/run/xpra \ + --socket-dirs=/run/xpra \ --xvfb="xpra_Xdummy ${concatStringsSep " " dmcfg.xserverArgs}" \ ${optionalString (cfg.bindTcp != null) "--bind-tcp=${cfg.bindTcp}"} \ --auth=${cfg.auth} \ diff --git a/nixos/modules/services/x11/extra-layouts.nix b/nixos/modules/services/x11/extra-layouts.nix new file mode 100644 index 00000000000..5523dd2bf02 --- /dev/null +++ b/nixos/modules/services/x11/extra-layouts.nix @@ -0,0 +1,165 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + layouts = config.services.xserver.extraLayouts; + + layoutOpts = { + options = { + description = mkOption { + type = types.str; + description = "A short description of the layout."; + }; + + languages = mkOption { + type = types.listOf types.str; + description = + '' + A list of languages provided by the layout. + (Use ISO 639-2 codes, for example: "eng" for english) + ''; + }; + + compatFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + The path to the xkb compat file. + This file sets the compatibility state, used to preserve + compatibility with xkb-unaware programs. + It must contain a xkb_compat "name" { ... } block. + ''; + }; + + geometryFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + The path to the xkb geometry file. + This (completely optional) file describes the physical layout of + keyboard, which maybe be used by programs to depict it. + It must contain a xkb_geometry "name" { ... } block. + ''; + }; + + keycodesFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + The path to the xkb keycodes file. + This file specifies the range and the interpretation of the raw + keycodes sent by the keyboard. + It must contain a xkb_keycodes "name" { ... } block. + ''; + }; + + symbolsFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + The path to the xkb symbols file. + This is the most important file: it defines which symbol or action + maps to each key and must contain a + xkb_symbols "name" { ... } block. + ''; + }; + + typesFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + The path to the xkb types file. + This file specifies the key types that can be associated with + the various keyboard keys. + It must contain a xkb_types "name" { ... } block. + ''; + }; + + }; + }; + +in + +{ + + ###### interface + + options.services.xserver = { + extraLayouts = mkOption { + type = types.attrsOf (types.submodule layoutOpts); + default = {}; + example = literalExample + '' + { + mine = { + description = "My custom xkb layout."; + languages = [ "eng" ]; + symbolsFile = /path/to/my/layout; + }; + } + ''; + description = '' + Extra custom layouts that will be included in the xkb configuration. + Information on how to create a new layout can be found here: + . + For more examples see + + ''; + }; + + }; + + ###### implementation + + config = mkIf (layouts != { }) { + + # We don't override xkeyboard_config directly to + # reduce the amount of packages to be recompiled. + # Only the following packages are necessary to set + # a custom layout anyway: + nixpkgs.overlays = lib.singleton (self: super: { + + xkb_patched = self.xorg.xkeyboardconfig_custom { + layouts = config.services.xserver.extraLayouts; + }; + + xorg = super.xorg // { + xorgserver = super.xorg.xorgserver.overrideAttrs (old: { + configureFlags = old.configureFlags ++ [ + "--with-xkb-bin-directory=${self.xorg.xkbcomp}/bin" + "--with-xkb-path=${self.xkb_patched}/share/X11/xkb" + ]; + }); + + setxkbmap = super.xorg.setxkbmap.overrideAttrs (old: { + postInstall = + '' + mkdir -p $out/share + ln -sfn ${self.xkb_patched}/etc/X11 $out/share/X11 + ''; + }); + + xkbcomp = super.xorg.xkbcomp.overrideAttrs (old: { + configureFlags = "--with-xkb-config-root=${self.xkb_patched}/share/X11/xkb"; + }); + + }; + + ckbcomp = super.ckbcomp.override { + xkeyboard_config = self.xkb_patched; + }; + + xkbvalidate = super.xkbvalidate.override { + libxkbcommon = self.libxkbcommon.override { + xkeyboard_config = self.xkb_patched; + }; + }; + + }); + + services.xserver.xkbDir = "${pkgs.xkb_patched}/etc/X11/xkb"; + + }; + +} diff --git a/nixos/modules/services/x11/gdk-pixbuf.nix b/nixos/modules/services/x11/gdk-pixbuf.nix index 58faa8e2f9d..9ad926369ec 100644 --- a/nixos/modules/services/x11/gdk-pixbuf.nix +++ b/nixos/modules/services/x11/gdk-pixbuf.nix @@ -5,21 +5,21 @@ with lib; let cfg = config.services.xserver.gdk-pixbuf; - # Get packages to generate the cache for. We always include gdk_pixbuf. - effectivePackages = unique ([pkgs.gdk_pixbuf] ++ cfg.modulePackages); + # Get packages to generate the cache for. We always include gdk-pixbuf. + effectivePackages = unique ([pkgs.gdk-pixbuf] ++ cfg.modulePackages); # Generate the cache file by running gdk-pixbuf-query-loaders for each # package and concatenating the results. - loadersCache = pkgs.runCommand "gdk-pixbuf-loaders.cache" {} '' + loadersCache = pkgs.runCommand "gdk-pixbuf-loaders.cache" { preferLocalBuild = true; } '' ( for package in ${concatStringsSep " " effectivePackages}; do - module_dir="$package/${pkgs.gdk_pixbuf.moduleDir}" + module_dir="$package/${pkgs.gdk-pixbuf.moduleDir}" if [[ ! -d $module_dir ]]; then echo "Warning (services.xserver.gdk-pixbuf): missing module directory $module_dir" 1>&2 continue fi GDK_PIXBUF_MODULEDIR="$module_dir" \ - ${pkgs.gdk_pixbuf.dev}/bin/gdk-pixbuf-query-loaders + ${pkgs.gdk-pixbuf.dev}/bin/gdk-pixbuf-query-loaders done ) > "$out" ''; diff --git a/nixos/modules/services/x11/hardware/libinput.nix b/nixos/modules/services/x11/hardware/libinput.nix index 58fe702d496..bd289976532 100644 --- a/nixos/modules/services/x11/hardware/libinput.nix +++ b/nixos/modules/services/x11/hardware/libinput.nix @@ -41,13 +41,13 @@ in { }; accelSpeed = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; description = "Cursor acceleration (how fast speed increases from minSpeed to maxSpeed)."; }; buttonMapping = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; description = '' @@ -61,7 +61,7 @@ in { }; calibrationMatrix = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; description = '' @@ -178,7 +178,7 @@ in { }; additionalOptions = mkOption { - type = types.str; + type = types.lines; default = ""; example = '' diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix index f032c593885..e39a56528e8 100644 --- a/nixos/modules/services/x11/hardware/synaptics.nix +++ b/nixos/modules/services/x11/hardware/synaptics.nix @@ -44,19 +44,19 @@ in { }; accelFactor = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = "0.001"; description = "Cursor acceleration (how fast speed increases from minSpeed to maxSpeed)."; }; minSpeed = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = "0.6"; description = "Cursor speed factor for precision finger motion."; }; maxSpeed = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = "1.0"; description = "Cursor speed factor for highest-speed finger motion."; }; diff --git a/nixos/modules/services/x11/redshift.nix b/nixos/modules/services/x11/redshift.nix index b7dd7debcb6..55f8f75021b 100644 --- a/nixos/modules/services/x11/redshift.nix +++ b/nixos/modules/services/x11/redshift.nix @@ -5,6 +5,7 @@ with lib; let cfg = config.services.redshift; + lcfg = config.location; in { @@ -18,35 +19,6 @@ in { ''; }; - latitude = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - Your current latitude, between - -90.0 and 90.0. Must be provided - along with longitude. - ''; - }; - - longitude = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - Your current longitude, between - between -180.0 and 180.0. Must be - provided along with latitude. - ''; - }; - - provider = mkOption { - type = types.enum [ "manual" "geoclue2" ]; - default = "manual"; - description = '' - The location provider to use for determining your location. If set to - manual you must also provide latitude/longitude. - ''; - }; - temperature = { day = mkOption { type = types.int; @@ -106,27 +78,19 @@ in { }; config = mkIf cfg.enable { - assertions = [ - { - assertion = - if cfg.provider == "manual" - then (cfg.latitude != null && cfg.longitude != null) - else (cfg.latitude == null && cfg.longitude == null); - message = "Latitude and longitude must be provided together, and with provider set to null."; - } - ]; - # needed so that .desktop files are installed, which geoclue cares about environment.systemPackages = [ cfg.package ]; - services.geoclue2.enable = mkIf (cfg.provider == "geoclue2") true; + services.geoclue2.appConfig."redshift" = { + isAllowed = true; + isSystem = true; + }; - systemd.user.services.redshift = + systemd.user.services.redshift = let - providerString = - if cfg.provider == "manual" - then "${cfg.latitude}:${cfg.longitude}" - else cfg.provider; + providerString = if lcfg.provider == "manual" + then "${toString lcfg.latitude}:${toString lcfg.longitude}" + else lcfg.provider; in { description = "Redshift colour temperature adjuster"; diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix index 06c59342b45..2a1f22fa9a4 100644 --- a/nixos/modules/services/x11/window-managers/default.nix +++ b/nixos/modules/services/x11/window-managers/default.nix @@ -19,6 +19,7 @@ in ./herbstluftwm.nix ./i3.nix ./jwm.nix + ./leftwm.nix ./metacity.nix ./mwm.nix ./openbox.nix diff --git a/nixos/modules/services/x11/window-managers/dwm.nix b/nixos/modules/services/x11/window-managers/dwm.nix index a74bfce097d..7777913ce1e 100644 --- a/nixos/modules/services/x11/window-managers/dwm.nix +++ b/nixos/modules/services/x11/window-managers/dwm.nix @@ -25,7 +25,7 @@ in { name = "dwm"; start = '' - ${pkgs.dwm}/bin/dwm & + dwm & waitPID=$! ''; }; diff --git a/nixos/modules/services/x11/window-managers/i3.nix b/nixos/modules/services/x11/window-managers/i3.nix index c9b0669e7ba..0ef55d5f2c0 100644 --- a/nixos/modules/services/x11/window-managers/i3.nix +++ b/nixos/modules/services/x11/window-managers/i3.nix @@ -60,12 +60,15 @@ in ${cfg.extraSessionCommands} ${cfg.package}/bin/i3 ${optionalString (cfg.configFile != null) - "-c \"${cfg.configFile}\"" + "-c /etc/i3/config" } & waitPID=$! ''; }]; environment.systemPackages = [ cfg.package ] ++ cfg.extraPackages; + environment.etc."i3/config" = mkIf (cfg.configFile != null) { + source = cfg.configFile; + }; }; imports = [ diff --git a/nixos/modules/services/x11/window-managers/leftwm.nix b/nixos/modules/services/x11/window-managers/leftwm.nix new file mode 100644 index 00000000000..3ef40df95df --- /dev/null +++ b/nixos/modules/services/x11/window-managers/leftwm.nix @@ -0,0 +1,25 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.xserver.windowManager.leftwm; +in +{ + ###### interface + options = { + services.xserver.windowManager.leftwm.enable = mkEnableOption "leftwm"; + }; + + ###### implementation + config = mkIf cfg.enable { + services.xserver.windowManager.session = singleton { + name = "leftwm"; + start = '' + ${pkgs.leftwm}/bin/leftwm & + waitPID=$! + ''; + }; + environment.systemPackages = [ pkgs.leftwm ]; + }; +} diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix index 43de746ab1f..0e131412276 100644 --- a/nixos/modules/services/x11/window-managers/xmonad.nix +++ b/nixos/modules/services/x11/window-managers/xmonad.nix @@ -10,6 +10,14 @@ let optionals cfg.enableContribAndExtras [ self.xmonad-contrib self.xmonad-extras ]; }; + xmonadBin = pkgs.writers.writeHaskell "xmonad" { + ghc = cfg.haskellPackages.ghc; + libraries = [ cfg.haskellPackages.xmonad ] ++ + cfg.extraPackages cfg.haskellPackages ++ + optionals cfg.enableContribAndExtras + (with cfg.haskellPackages; [ xmonad-contrib xmonad-extras ]); + } cfg.config; + in { options = { @@ -48,13 +56,36 @@ in type = lib.types.bool; description = "Enable xmonad-{contrib,extras} in Xmonad."; }; + + config = mkOption { + default = null; + type = with lib.types; nullOr (either path str); + description = '' + Configuration from which XMonad gets compiled. If no value + is specified, the xmonad config from $HOME/.xmonad is taken. + If you use xmonad --recompile, $HOME/.xmonad will be taken as + the configuration, but on the next restart of display-manager + this config will be reapplied. + ''; + example = '' + import XMonad + + main = launch defaultConfig + { modMask = mod4Mask -- Use Super instead of Alt + , terminal = "urxvt" + } + ''; + }; }; }; config = mkIf cfg.enable { services.xserver.windowManager = { session = [{ name = "xmonad"; - start = '' + start = if (cfg.config != null) then '' + ${xmonadBin} + waitPID=$! + '' else '' ${xmonad}/bin/xmonad & waitPID=$! ''; diff --git a/nixos/modules/services/x11/xautolock.nix b/nixos/modules/services/x11/xautolock.nix index cbe000058dc..10eef8aefbc 100644 --- a/nixos/modules/services/x11/xautolock.nix +++ b/nixos/modules/services/x11/xautolock.nix @@ -129,7 +129,7 @@ in assertion = cfg.killer != null -> cfg.killtime >= 10; message = "killtime has to be at least 10 minutes according to `man xautolock`"; } - ] ++ (lib.flip map [ "locker" "notifier" "nowlocker" "killer" ] + ] ++ (lib.forEach [ "locker" "notifier" "nowlocker" "killer" ] (option: { assertion = cfg."${option}" != null -> builtins.substring 0 1 cfg."${option}" == "/"; diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 34ae8c11a3f..c94a0643831 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -4,8 +4,6 @@ with lib; let - kernelPackages = config.boot.kernelPackages; - # Abbreviations. cfg = config.services.xserver; xorg = pkgs.xorg; @@ -16,6 +14,9 @@ let # Alias so people can keep using "virtualbox" instead of "vboxvideo". virtualbox = { modules = [ xorg.xf86videovboxvideo ]; driverName = "vboxvideo"; }; + # Alias so that "radeon" uses the xf86-video-ati driver. + radeon = { modules = [ xorg.xf86videoati ]; driverName = "ati"; }; + # modesetting does not have a xf86videomodesetting package as it is included in xorgserver modesetting = {}; }; @@ -61,7 +62,9 @@ let ''; description = '' Extra lines to append to the Monitor section - verbatim. + verbatim. Available options are documented in the MONITOR section in + xorg.conf + 5. ''; }; }; @@ -75,7 +78,7 @@ let in imap1 mkHead cfg.xrandrHeads; xrandrDeviceSection = let - monitors = flip map xrandrHeads (h: '' + monitors = forEach xrandrHeads (h: '' Option "monitor-${h.config.output}" "${h.name}" ''); # First option is indented through the space in the config but any @@ -113,6 +116,7 @@ let { xfs = optionalString (cfg.useXFS != false) ''FontPath "${toString cfg.useXFS}"''; inherit (cfg) config; + preferLocalBuild = true; } '' echo 'Section "Files"' >> $out @@ -240,10 +244,10 @@ in videoDrivers = mkOption { type = types.listOf types.str; # !!! We'd like "nv" here, but it segfaults the X server. - default = [ "ati" "cirrus" "intel" "vesa" "vmware" "modesetting" ]; + default = [ "radeon" "cirrus" "vesa" "vmware" "modesetting" ]; example = [ "ati_unfree" "amdgpu" "amdgpu-pro" - "nv" "nvidia" "nvidiaLegacy340" "nvidiaLegacy304" + "nv" "nvidia" "nvidiaLegacy390" "nvidiaLegacy340" "nvidiaLegacy304" ]; # TODO(@oxij): think how to easily add the rest, like those nvidia things relatedPackages = concatLists @@ -256,6 +260,11 @@ in The names of the video drivers the configuration supports. They will be tried in order until one that supports your card is found. + Don't combine those with "incompatible" OpenGL implementations, + e.g. free ones (mesa-based) with proprietary ones. + + For unfree "nvidia*", the supported GPU lists are on + https://www.nvidia.com/object/unix.html ''; }; @@ -339,6 +348,7 @@ in xkbDir = mkOption { type = types.path; + default = "${pkgs.xkeyboard_config}/etc/X11/xkb"; description = '' Path used for -xkbdir xserver parameter. ''; @@ -632,7 +642,7 @@ in environment.pathsToLink = [ "/share/X11" ]; - xdg = { + xdg = { autostart.enable = true; menus.enable = true; mime.enable = true; @@ -655,10 +665,9 @@ in restartIfChanged = false; environment = - { - LD_LIBRARY_PATH = concatStringsSep ":" ([ "/run/opengl-driver/lib" ] - ++ concatLists (catAttrs "libPath" cfg.drivers)); - } // cfg.displayManager.job.environment; + optionalAttrs config.hardware.opengl.setLdLibraryPath + { LD_LIBRARY_PATH = pkgs.addOpenGLRunpath.driverLink; } + // cfg.displayManager.job.environment; preStart = '' @@ -700,13 +709,12 @@ in xorg.xf86inputevdev.out ]; - services.xserver.xkbDir = mkDefault "${pkgs.xkeyboard_config}/etc/X11/xkb"; - system.extraDependencies = singleton (pkgs.runCommand "xkb-validated" { inherit (cfg) xkbModel layout xkbVariant xkbOptions; nativeBuildInputs = [ pkgs.xkbvalidate ]; + preferLocalBuild = true; } '' - validate "$xkbModel" "$layout" "$xkbVariant" "$xkbOptions" + xkbvalidate "$xkbModel" "$layout" "$xkbVariant" "$xkbOptions" touch "$out" ''); diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index 397b308b731..8ff00fa11dc 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -166,24 +166,6 @@ while (my ($unit, $state) = each %{$activePrev}) { if (-e $prevUnitFile && ($state->{state} eq "active" || $state->{state} eq "activating")) { if (! -e $newUnitFile || abs_path($newUnitFile) eq "/dev/null") { - # Ignore (i.e. never stop) these units: - if ($unit eq "system.slice") { - # TODO: This can be removed a few months after 18.09 is out - # (i.e. after everyone switched away from 18.03). - # Problem: Restarting (stopping) system.slice would not only - # stop X11 but also most system units/services. We obviously - # don't want this happening to users when they switch from 18.03 - # to 18.09 or nixos-unstable. - # Reason: The following change in systemd: - # https://github.com/systemd/systemd/commit/d8e5a9338278d6602a0c552f01f298771a384798 - # The commit adds system.slice to the perpetual units, which - # means removing the unit file and adding it to the source code. - # This is done so that system.slice can't be stopped anymore but - # in our case it ironically would cause this script to stop - # system.slice because the unit was removed (and an older - # systemd version is still running). - next; - } my $unitInfo = parseUnit($prevUnitFile); $unitsToStop{$unit} = 1 if boolIsTrue($unitInfo->{'X-StopOnRemoval'} // "yes"); } diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index a560af5ce96..f67d2900561 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -46,8 +46,8 @@ let ln -s ${kernelPath} $out/kernel ln -s ${config.system.modulesTree} $out/kernel-modules - ${optionalString (pkgs.stdenv.hostPlatform.platform.kernelDTB or false) '' - ln -s ${config.boot.kernelPackages.kernel}/dtbs $out/dtbs + ${optionalString (config.hardware.deviceTree.package != null) '' + ln -s ${config.hardware.deviceTree.package} $out/dtbs ''} echo -n "$kernelParams" > $out/kernel-params @@ -130,11 +130,9 @@ let failedAssertions = map (x: x.message) (filter (x: !x.assertion) config.assertions); - showWarnings = res: fold (w: x: builtins.trace "warning: ${w}" x) res config.warnings; - baseSystemAssertWarn = if failedAssertions != [] then throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failedAssertions)}" - else showWarnings baseSystem; + else showWarnings config.warnings baseSystem; # Replace runtime dependencies system = fold ({ oldDependency, newDependency }: drv: diff --git a/nixos/modules/system/boot/binfmt.nix b/nixos/modules/system/boot/binfmt.nix index 15e84dc021e..a32c9dc1f2b 100644 --- a/nixos/modules/system/boot/binfmt.nix +++ b/nixos/modules/system/boot/binfmt.nix @@ -1,8 +1,8 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: let inherit (lib) mkOption types optionalString; - cfg = config.boot.binfmtMiscRegistrations; + cfg = config.boot.binfmt; makeBinfmtLine = name: { recognitionType, offset, magicOrExtension , mask, preserveArgvZero, openBinary @@ -13,125 +13,258 @@ let mask' = toString mask; interpreter = "/run/binfmt/${name}"; flags = if !(matchCredentials -> openBinary) - then throw "boot.binfmtMiscRegistrations.${name}: you can't specify openBinary = false when matchCredentials = true." + then throw "boot.binfmt.registrations.${name}: you can't specify openBinary = false when matchCredentials = true." else optionalString preserveArgvZero "P" + optionalString (openBinary && !matchCredentials) "O" + optionalString matchCredentials "C" + optionalString fixBinary "F"; in ":${name}:${type}:${offset'}:${magicOrExtension}:${mask'}:${interpreter}:${flags}"; - binfmtFile = builtins.toFile "binfmt_nixos.conf" - (lib.concatStringsSep "\n" (lib.mapAttrsToList makeBinfmtLine cfg)); - activationSnippet = name: { interpreter, ... }: "ln -sf ${interpreter} /run/binfmt/${name}"; - activationScript = '' - mkdir -p -m 0755 /run/binfmt - ${lib.concatStringsSep "\n" (lib.mapAttrsToList activationSnippet cfg)} - ''; -in { - options = { - boot.binfmtMiscRegistrations = mkOption { - default = {}; - description = '' - Extra binary formats to register with the kernel. - See https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html for more details. - ''; + getEmulator = system: (lib.systems.elaborate { inherit system; }).emulator pkgs; - type = types.attrsOf (types.submodule ({ config, ... }: { - options = { - recognitionType = mkOption { - default = "magic"; - description = "Whether to recognize executables by magic number or extension."; - type = types.enum [ "magic" "extension" ]; - }; - - offset = mkOption { - default = null; - description = "The byte offset of the magic number used for recognition."; - type = types.nullOr types.int; - }; - - magicOrExtension = mkOption { - description = "The magic number or extension to match on."; - type = types.str; - }; - - mask = mkOption { - default = null; - description = - "A mask to be ANDed with the byte sequence of the file before matching"; - type = types.nullOr types.str; - }; - - interpreter = mkOption { - description = '' - The interpreter to invoke to run the program. - - Note that the actual registration will point to - /run/binfmt/''${name}, so the kernel interpreter length - limit doesn't apply. - ''; - type = types.path; - }; - - preserveArgvZero = mkOption { - default = false; - description = '' - Whether to pass the original argv[0] to the interpreter. - - See the description of the 'P' flag in the kernel docs - for more details; - ''; - type = types.bool; - }; - - openBinary = mkOption { - default = config.matchCredentials; - description = '' - Whether to pass the binary to the interpreter as an open - file descriptor, instead of a path. - ''; - type = types.bool; - }; - - matchCredentials = mkOption { - default = false; - description = '' - Whether to launch with the credentials and security - token of the binary, not the interpreter (e.g. setuid - bit). - - See the description of the 'C' flag in the kernel docs - for more details. - - Implies/requires openBinary = true. - ''; - type = types.bool; - }; - - fixBinary = mkOption { - default = false; - description = '' - Whether to open the interpreter file as soon as the - registration is loaded, rather than waiting for a - relevant file to be invoked. - - See the description of the 'F' flag in the kernel docs - for more details. - ''; - type = types.bool; - }; - }; - })); + # Mapping of systems to “magicOrExtension” and “mask”. Mostly taken from: + # - https://github.com/cleverca22/nixos-configs/blob/master/qemu.nix + # and + # - https://github.com/qemu/qemu/blob/master/scripts/qemu-binfmt-conf.sh + # TODO: maybe put these in a JSON file? + magics = { + armv6l-linux = { + magicOrExtension = ''\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\x00\xff\xfe\xff\xff\xff''; + }; + armv7l-linux = { + magicOrExtension = ''\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\x00\xff\xfe\xff\xff\xff''; + }; + aarch64-linux = { + magicOrExtension = ''\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\x00\xff\xfe\xff\xff\xff''; + }; + aarch64_be-linux = { + magicOrExtension = ''\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff''; + }; + i386-linux = { + magicOrExtension = ''\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00''; + mask = ''\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff''; + }; + i486-linux = { + magicOrExtension = ''\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00''; + mask = ''\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff''; + }; + i586-linux = { + magicOrExtension = ''\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00''; + mask = ''\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff''; + }; + i686-linux = { + magicOrExtension = ''\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00''; + mask = ''\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff''; + }; + x86_64-linux = { + magicOrExtension = ''\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00''; + mask = ''\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff''; + }; + alpha-linux = { + magicOrExtension = ''\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90''; + mask = ''\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff''; + }; + sparc64-linux = { + magicOrExtension = ''\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff''; + }; + sparc-linux = { + magicOrExtension = ''\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x12''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff''; + }; + powerpc-linux = { + magicOrExtension = ''\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff''; + }; + powerpc64-linux = { + magicOrExtension = ''\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff''; + }; + powerpc64le-linux = { + magicOrExtension = ''\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15\x00''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00''; + }; + mips-linux = { + magicOrExtension = ''\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff''; + }; + mipsel-linux = { + magicOrExtension = ''\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff''; + }; + mips64-linux = { + magicOrExtension = ''\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff''; + }; + mips64el-linux = { + magicOrExtension = ''\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff''; + }; + riscv32-linux = { + magicOrExtension = ''\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff''; + }; + riscv64-linux = { + magicOrExtension = ''\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00''; + mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff''; + }; + wasm32-wasi = { + magicOrExtension = ''\x00asm''; + mask = ''\xff\xff\xff\xff''; + }; + wasm64-wasi = { + magicOrExtension = ''\x00asm''; + mask = ''\xff\xff\xff\xff''; + }; + x86_64-windows = { + magicOrExtension = ".exe"; + recognitionType = "extension"; + }; + i686-windows = { + magicOrExtension = ".exe"; + recognitionType = "extension"; }; }; - config = lib.mkIf (cfg != {}) { - environment.etc."binfmt.d/nixos.conf".source = binfmtFile; - system.activationScripts.binfmt = activationScript; - systemd.additionalUpstreamSystemUnits = +in { + options = { + boot.binfmt = { + registrations = mkOption { + default = {}; + + description = '' + Extra binary formats to register with the kernel. + See https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html for more details. + ''; + + type = types.attrsOf (types.submodule ({ config, ... }: { + options = { + recognitionType = mkOption { + default = "magic"; + description = "Whether to recognize executables by magic number or extension."; + type = types.enum [ "magic" "extension" ]; + }; + + offset = mkOption { + default = null; + description = "The byte offset of the magic number used for recognition."; + type = types.nullOr types.int; + }; + + magicOrExtension = mkOption { + description = "The magic number or extension to match on."; + type = types.str; + }; + + mask = mkOption { + default = null; + description = + "A mask to be ANDed with the byte sequence of the file before matching"; + type = types.nullOr types.str; + }; + + interpreter = mkOption { + description = '' + The interpreter to invoke to run the program. + + Note that the actual registration will point to + /run/binfmt/''${name}, so the kernel interpreter length + limit doesn't apply. + ''; + type = types.path; + }; + + preserveArgvZero = mkOption { + default = false; + description = '' + Whether to pass the original argv[0] to the interpreter. + + See the description of the 'P' flag in the kernel docs + for more details; + ''; + type = types.bool; + }; + + openBinary = mkOption { + default = config.matchCredentials; + description = '' + Whether to pass the binary to the interpreter as an open + file descriptor, instead of a path. + ''; + type = types.bool; + }; + + matchCredentials = mkOption { + default = false; + description = '' + Whether to launch with the credentials and security + token of the binary, not the interpreter (e.g. setuid + bit). + + See the description of the 'C' flag in the kernel docs + for more details. + + Implies/requires openBinary = true. + ''; + type = types.bool; + }; + + fixBinary = mkOption { + default = false; + description = '' + Whether to open the interpreter file as soon as the + registration is loaded, rather than waiting for a + relevant file to be invoked. + + See the description of the 'F' flag in the kernel docs + for more details. + ''; + type = types.bool; + }; + }; + })); + }; + + emulatedSystems = mkOption { + default = []; + example = [ "wasm32-wasi" "x86_64-windows" "aarch64-linux" ]; + description = '' + List of systems to emulate. Will also configure Nix to + support your new systems. + ''; + type = types.listOf types.str; + }; + }; + }; + + config = { + boot.binfmt.registrations = builtins.listToAttrs (map (system: { + name = system; + value = { + interpreter = getEmulator system; + } // (magics.${system} or (throw "Cannot create binfmt registration for system ${system}")); + }) cfg.emulatedSystems); + # TODO: add a nix.extraPlatforms option to NixOS! + nix.extraOptions = lib.mkIf (cfg.emulatedSystems != []) '' + extra-platforms = ${toString (cfg.emulatedSystems ++ lib.optional pkgs.stdenv.hostPlatform.isx86_64 "i686-linux")} + ''; + nix.sandboxPaths = lib.mkIf (cfg.emulatedSystems != []) + ([ "/run/binfmt" ] ++ (map (system: dirOf (dirOf (getEmulator system))) cfg.emulatedSystems)); + + environment.etc."binfmt.d/nixos.conf".source = builtins.toFile "binfmt_nixos.conf" + (lib.concatStringsSep "\n" (lib.mapAttrsToList makeBinfmtLine config.boot.binfmt.registrations)); + system.activationScripts.binfmt = '' + mkdir -p -m 0755 /run/binfmt + ${lib.concatStringsSep "\n" (lib.mapAttrsToList activationSnippet config.boot.binfmt.registrations)} + ''; + systemd.additionalUpstreamSystemUnits = lib.mkIf (config.boot.binfmt.registrations != {}) [ "proc-sys-fs-binfmt_misc.automount" "proc-sys-fs-binfmt_misc.mount" ]; diff --git a/nixos/modules/system/boot/coredump.nix b/nixos/modules/system/boot/coredump.nix deleted file mode 100644 index 30f367da766..00000000000 --- a/nixos/modules/system/boot/coredump.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -{ - - options = { - - systemd.coredump = { - - enable = mkOption { - default = false; - type = types.bool; - description = '' - Enables storing core dumps in systemd. - Note that this alone is not enough to enable core dumps. The maximum - file size for core dumps must be specified in limits.conf as well. See - and the limits.conf(5) - man page (these specify the core dump limits for user login sessions) - and (where e.g. - DefaultLimitCORE=1000000 can be specified to set - the core dump limit for systemd system-level services). - ''; - }; - - extraConfig = mkOption { - default = ""; - type = types.lines; - example = "Storage=journal"; - description = '' - Extra config options for systemd-coredump. See coredump.conf(5) man page - for available options. - ''; - }; - }; - - }; - - config = mkMerge [ - (mkIf config.systemd.coredump.enable { - - systemd.additionalUpstreamSystemUnits = [ "systemd-coredump.socket" "systemd-coredump@.service" ]; - - environment.etc."systemd/coredump.conf".text = - '' - [Coredump] - ${config.systemd.coredump.extraConfig} - ''; - - # Have the kernel pass core dumps to systemd's coredump helper binary. - # From systemd's 50-coredump.conf file. See: - # - boot.kernel.sysctl."kernel.core_pattern" = "|${pkgs.systemd}/lib/systemd/systemd-coredump %P %u %g %s %t %c %e"; - }) - - (mkIf (!config.systemd.coredump.enable) { - boot.kernel.sysctl."kernel.core_pattern" = mkDefault "core"; - - systemd.extraConfig = - '' - DefaultLimitCORE=0:infinity - ''; - }) - ]; - -} diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix index 8ea05ed1468..baa8c602a99 100644 --- a/nixos/modules/system/boot/kernel.nix +++ b/nixos/modules/system/boot/kernel.nix @@ -5,7 +5,7 @@ with lib; let inherit (config.boot) kernelPatches; - inherit (config.boot.kernel) features; + inherit (config.boot.kernel) features randstructSeed; inherit (config.boot.kernelPackages) kernel; kernelModulesConf = pkgs.writeText "nixos.conf" @@ -36,8 +36,10 @@ in boot.kernelPackages = mkOption { default = pkgs.linuxPackages; + type = types.unspecified // { merge = mergeEqualOption; }; apply = kernelPackages: kernelPackages.extend (self: super: { kernel = super.kernel.override { + inherit randstructSeed; kernelPatches = super.kernel.kernelPatches ++ kernelPatches; features = lib.recursiveUpdate super.kernel.features features; }; @@ -67,6 +69,19 @@ in description = "A list of additional patches to apply to the kernel."; }; + boot.kernel.randstructSeed = mkOption { + type = types.str; + default = ""; + example = "my secret seed"; + description = '' + Provides a custom seed for the RANDSTRUCT security + option of the Linux kernel. Note that RANDSTRUCT is + only enabled in NixOS hardened kernels. Using a custom seed requires + building the kernel and dependent packages locally, since this + customization happens at build time. + ''; + }; + boot.kernelParams = mkOption { type = types.listOf types.str; default = [ ]; @@ -182,7 +197,7 @@ in # (so you don't need to reboot to have changes take effect). boot.kernelParams = [ "loglevel=${toString config.boot.consoleLogLevel}" ] ++ - optionals config.boot.vesa [ "vga=0x317" ]; + optionals config.boot.vesa [ "vga=0x317" "nomodeset" ]; boot.kernel.sysctl."kernel.printk" = mkDefault config.boot.consoleLogLevel; @@ -298,7 +313,7 @@ in # !!! Should this really be needed? (isYes "MODULES") (isYes "BINFMT_ELF") - ]; + ] ++ (optional (randstructSeed != "") (isYes "GCC_PLUGIN_RANDSTRUCT")); # nixpkgs kernels are assumed to have all required features assertions = if config.boot.kernelPackages.kernel ? features then [] else diff --git a/nixos/modules/system/boot/kernel_config.nix b/nixos/modules/system/boot/kernel_config.nix index fbbd0982b2c..a316782dfc5 100644 --- a/nixos/modules/system/boot/kernel_config.nix +++ b/nixos/modules/system/boot/kernel_config.nix @@ -9,7 +9,6 @@ let mergeAnswer = winners: locs: defs: let values = map (x: x.value) defs; - freeformAnswer = intersectLists values winners; inter = intersectLists values winners; winner = head winners; in diff --git a/nixos/modules/system/boot/kexec.nix b/nixos/modules/system/boot/kexec.nix index 61f9c6d0e7e..fd2cb94b756 100644 --- a/nixos/modules/system/boot/kexec.nix +++ b/nixos/modules/system/boot/kexec.nix @@ -13,8 +13,18 @@ path = [ pkgs.kexectools ]; script = '' + # Don't load the current system profile if we already have a kernel loaded + if [[ 1 = "$(mtime)); + my $version = + -e "$link/nixos-version" + ? readFile("$link/nixos-version") + : basename((glob(dirname(Cwd::abs_path("$link/kernel")) . "/lib/modules/*"))[0]); + + if ($cfgName) { + $entryName = $cfgName; + } else { + $entryName = "($date - $version)"; + } + addEntry("NixOS - $entryName", $link); +} + my $grubBootPath = $grubBoot->path; # extraEntries could refer to @bootRoot@, which we have to substitute $conf =~ s/\@bootRoot\@/$grubBootPath/g; diff --git a/nixos/modules/system/boot/loader/init-script/init-script.nix b/nixos/modules/system/boot/loader/init-script/init-script.nix index 385a2603678..374d9524ff1 100644 --- a/nixos/modules/system/boot/loader/init-script/init-script.nix +++ b/nixos/modules/system/boot/loader/init-script/init-script.nix @@ -7,8 +7,8 @@ let initScriptBuilder = pkgs.substituteAll { src = ./init-script-builder.sh; isExecutable = true; - inherit (pkgs.buildPackages) bash; - path = with pkgs.buildPackages; [coreutils gnused gnugrep]; + inherit (pkgs) bash; + path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep]; }; in diff --git a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix index 7db60daa60b..1c8354e5269 100644 --- a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix +++ b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix @@ -10,7 +10,7 @@ let builderUboot = import ./uboot-builder.nix { inherit pkgs configTxt; inherit (cfg) version; }; builderGeneric = import ./raspberrypi-builder.nix { inherit pkgs configTxt; }; - builder = + builder = if cfg.uboot.enable then "${builderUboot} -g ${toString cfg.uboot.configurationLimit} -t ${timeoutStr} -c" else @@ -86,7 +86,7 @@ in firmwareConfig = mkOption { default = null; - type = types.nullOr types.string; + type = types.nullOr types.lines; description = '' Extra options that will be appended to /boot/config.txt file. For possible values, see: https://www.raspberrypi.org/documentation/configuration/config-txt/ diff --git a/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix b/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix index 94599a0081c..9d4f8a93d28 100644 --- a/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix +++ b/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix @@ -18,17 +18,18 @@ let extlinuxConfBuilder = import ../generic-extlinux-compatible/extlinux-conf-builder.nix { - pkgs = pkgs.buildPackages; + inherit pkgs; }; in pkgs.substituteAll { src = ./uboot-builder.sh; isExecutable = true; - inherit (pkgs.buildPackages) bash; - path = with pkgs.buildPackages; [coreutils gnused gnugrep]; + inherit (pkgs) bash; + path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep]; firmware = pkgs.raspberrypifw; inherit uboot; inherit configTxt; inherit extlinuxConfBuilder; inherit version; } + diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py index 6016a85ea06..f48a085ce57 100644 --- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py +++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py @@ -33,6 +33,15 @@ initrd {initrd} options {kernel_params} """ +# The boot loader entry for memtest86. +# +# TODO: This is hard-coded to use the 64-bit EFI app, but it could probably +# be updated to use the 32-bit EFI app on 32-bit systems. The 32-bit EFI +# app filename is BOOTIA32.efi. +MEMTEST_BOOT_ENTRY = """title MemTest86 +efi /efi/memtest86/BOOTX64.efi +""" + def write_loader_conf(profile, generation): with open("@efiSysMountPoint@/loader/loader.conf.tmp", 'w') as f: if "@timeout@" != "": @@ -124,7 +133,9 @@ def get_generations(profile=None): universal_newlines=True) gen_lines = gen_list.split('\n') gen_lines.pop() - return [ (profile, int(line.split()[0])) for line in gen_lines ] + + configurationLimit = @configurationLimit@ + return [ (profile, int(line.split()[0])) for line in gen_lines ][-configurationLimit:] def remove_old_entries(gens): rex_profile = re.compile("^@efiSysMountPoint@/loader/entries/nixos-(.*)-generation-.*\.conf$") @@ -145,7 +156,7 @@ def remove_old_entries(gens): except ValueError: pass for path in glob.iglob("@efiSysMountPoint@/efi/nixos/*"): - if not path in known_paths: + if not path in known_paths and not os.path.isdir(path): os.unlink(path) def get_profiles(): @@ -199,6 +210,24 @@ def main(): if os.readlink(system_dir(*gen)) == args.default_config: write_loader_conf(*gen) + memtest_entry_file = "@efiSysMountPoint@/loader/entries/memtest86.conf" + if os.path.exists(memtest_entry_file): + os.unlink(memtest_entry_file) + shutil.rmtree("@efiSysMountPoint@/efi/memtest86", ignore_errors=True) + if "@memtest86@" != "": + mkdir_p("@efiSysMountPoint@/efi/memtest86") + for path in glob.iglob("@memtest86@/*"): + if os.path.isdir(path): + shutil.copytree(path, os.path.join("@efiSysMountPoint@/efi/memtest86", os.path.basename(path))) + else: + shutil.copy(path, "@efiSysMountPoint@/efi/memtest86/") + + memtest_entry_file = "@efiSysMountPoint@/loader/entries/memtest86.conf" + memtest_entry_file_tmp_path = "%s.tmp" % memtest_entry_file + with open(memtest_entry_file_tmp_path, 'w') as f: + f.write(MEMTEST_BOOT_ENTRY) + os.rename(memtest_entry_file_tmp_path, memtest_entry_file) + # Since fat32 provides little recovery facilities after a crash, # it can leave the system in an unbootable state, when a crash/outage # happens shortly after an update. To decrease the likelihood of this diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix index 9ad2a2779e1..22d459ceb04 100644 --- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix +++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix @@ -12,7 +12,7 @@ let isExecutable = true; - inherit (pkgs.buildPackages) python3; + inherit (pkgs) python3; systemd = config.systemd.package; @@ -22,9 +22,13 @@ let editor = if cfg.editor then "True" else "False"; + configurationLimit = if cfg.configurationLimit == null then 0 else cfg.configurationLimit; + inherit (cfg) consoleMode; inherit (efi) efiSysMountPoint canTouchEfiVariables; + + memtest86 = if cfg.memtest86.enable then pkgs.memtest86-efi else ""; }; in { @@ -55,6 +59,19 @@ in { ''; }; + configurationLimit = mkOption { + default = null; + example = 120; + type = types.nullOr types.int; + description = '' + Maximum number of latest generations in the boot menu. + Useful to prevent boot partition running out of disk space. + + null means no limit i.e. all generations + that were not garbage collected yet. + ''; + }; + consoleMode = mkOption { default = "keep"; @@ -62,8 +79,7 @@ in { description = '' The resolution of the console. The following values are valid: -
- + "0": Standard UEFI 80x25 mode @@ -86,6 +102,19 @@ in { ''; }; + + memtest86 = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Make MemTest86 available from the systemd-boot menu. MemTest86 is a + program for testing memory. MemTest86 is an unfree program, so + this requires allowUnfree to be set to + true. + ''; + }; + }; }; config = mkIf cfg.enable { diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index aa4a5f8abcc..b5c8d5241a3 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -76,6 +76,33 @@ let fi return 0 } + + wait_gpgcard() { + local secs="''${1:-10}" + + gpg --card-status > /dev/null 2> /dev/null + if [ $? != 0 ]; then + echo -n "Waiting $secs seconds for GPG Card to appear" + local success=false + for try in $(seq $secs); do + echo -n . + sleep 1 + gpg --card-status > /dev/null 2> /dev/null + if [ $? == 0 ]; then + success=true + break + fi + done + if [ $success == true ]; then + echo " - success"; + return 0 + else + echo " - failure"; + return 1 + fi + fi + return 0 + } ''; preCommands = '' @@ -87,9 +114,19 @@ let mkdir -p /crypt-ramfs mount -t ramfs none /crypt-ramfs + # Cryptsetup locking directory + mkdir -p /run/cryptsetup + # For Yubikey salt storage mkdir -p /crypt-storage + ${optionalString luks.gpgSupport '' + export GPG_TTY=$(tty) + export GNUPGHOME=/crypt-ramfs/.gnupg + + gpg-agent --daemon --scdaemon-program $out/bin/scdaemon > /dev/null 2> /dev/null + ''} + # Disable all input echo for the whole stage. We could use read -s # instead but that would ocasionally leak characters between read # invocations. @@ -102,7 +139,7 @@ let umount /crypt-ramfs 2>/dev/null ''; - openCommand = name': { name, device, header, keyFile, keyFileSize, keyFileOffset, allowDiscards, yubikey, fallbackToPassword, ... }: assert name' == name; + openCommand = name': { name, device, header, keyFile, keyFileSize, keyFileOffset, allowDiscards, yubikey, gpgCard, fallbackToPassword, ... }: assert name' == name; let csopen = "cryptsetup luksOpen ${device} ${name} ${optionalString allowDiscards "--allow-discards"} ${optionalString (header != null) "--header=${header}"}"; cschange = "cryptsetup luksChangeKey ${device} ${optionalString (header != null) "--header=${header}"}"; @@ -179,7 +216,7 @@ let ''} } - ${if luks.yubikeySupport && (yubikey != null) then '' + ${optionalString (luks.yubikeySupport && (yubikey != null)) '' # Yubikey rbtohex() { ( od -An -vtx1 | tr -d ' \n' ) @@ -275,7 +312,7 @@ let umount /crypt-storage } - open_yubikey() { + open_with_hardware() { if wait_yubikey ${toString yubikey.gracePeriod}; then do_open_yubikey else @@ -283,8 +320,75 @@ let open_normally fi } + ''} - open_yubikey + ${optionalString (luks.gpgSupport && (gpgCard != null)) '' + + do_open_gpg_card() { + # Make all of these local to this function + # to prevent their values being leaked + local pin + local opened + + gpg --import /gpg-keys/${device}/pubkey.asc > /dev/null 2> /dev/null + + gpg --card-status > /dev/null 2> /dev/null + + for try in $(seq 3); do + echo -n "PIN for GPG Card associated with device ${device}: " + pin= + while true; do + if [ -e /crypt-ramfs/passphrase ]; then + echo "reused" + pin=$(cat /crypt-ramfs/passphrase) + break + else + # and try reading it from /dev/console with a timeout + IFS= read -t 1 -r pin + if [ -n "$pin" ]; then + ${if luks.reusePassphrases then '' + # remember it for the next device + echo -n "$pin" > /crypt-ramfs/passphrase + '' else '' + # Don't save it to ramfs. We are very paranoid + ''} + echo + break + fi + fi + done + echo -n "Verifying passphrase for ${device}..." + echo -n "$pin" | gpg -q --batch --passphrase-fd 0 --pinentry-mode loopback -d /gpg-keys/${device}/cryptkey.gpg 2> /dev/null | ${csopen} --key-file=- > /dev/null 2> /dev/null + if [ $? == 0 ]; then + echo " - success" + ${if luks.reusePassphrases then '' + # we don't rm here because we might reuse it for the next device + '' else '' + rm -f /crypt-ramfs/passphrase + ''} + break + else + echo " - failure" + # ask for a different one + rm -f /crypt-ramfs/passphrase + fi + done + + [ "$opened" == false ] && die "Maximum authentication errors reached" + } + + open_with_hardware() { + if wait_gpgcard ${toString gpgCard.gracePeriod}; then + do_open_gpg_card + else + echo "No GPG Card found, falling back to normal open procedure" + open_normally + fi + } + ''} + + ${if (luks.yubikeySupport && (yubikey != null)) || (luks.gpgSupport && (gpgCard != null)) then '' + open_with_hardware '' else '' open_normally ''} @@ -334,6 +438,7 @@ in default = [ "aes" "aes_generic" "blowfish" "twofish" "serpent" "cbc" "xts" "lrw" "sha1" "sha256" "sha512" + "af_alg" "algif_skcipher" (if pkgs.stdenv.hostPlatform.system == "x86_64-linux" then "aes_x86_64" else "aes_i586") ]; @@ -470,6 +575,36 @@ in ''; }; + gpgCard = mkOption { + default = null; + description = '' + The option to use this LUKS device with a GPG encrypted luks password by the GPG Smartcard. + If null (the default), GPG-Smartcard will be disabled for this device. + ''; + + type = with types; nullOr (submodule { + options = { + gracePeriod = mkOption { + default = 10; + type = types.int; + description = "Time in seconds to wait for the GPG Smartcard."; + }; + + encryptedPass = mkOption { + default = ""; + type = types.path; + description = "Path to the GPG encrypted passphrase."; + }; + + publicKey = mkOption { + default = ""; + type = types.path; + description = "Path to the Public Key."; + }; + }; + }); + }; + yubikey = mkOption { default = null; description = '' @@ -551,6 +686,14 @@ in })); }; + boot.initrd.luks.gpgSupport = mkOption { + default = false; + type = types.bool; + description = '' + Enables support for authenticating with a GPG encrypted password. + ''; + }; + boot.initrd.luks.yubikeySupport = mkOption { default = false; type = types.bool; @@ -564,6 +707,12 @@ in config = mkIf (luks.devices != {} || luks.forceLuksSupportInInitrd) { + assertions = + [ { assertion = !(luks.gpgSupport && luks.yubikeySupport); + message = "Yubikey and GPG Card may not be used at the same time."; + } + ]; + # actually, sbp2 driver is the one enabling the DMA attack, but this needs to be tested boot.blacklistedKernelModules = optionals luks.mitigateDMAAttacks ["firewire_ohci" "firewire_core" "firewire_sbp2"]; @@ -600,6 +749,23 @@ in EOF chmod +x $out/bin/openssl-wrap ''} + + ${optionalString luks.gpgSupport '' + copy_bin_and_libs ${pkgs.gnupg}/bin/gpg + copy_bin_and_libs ${pkgs.gnupg}/bin/gpg-agent + copy_bin_and_libs ${pkgs.gnupg}/libexec/scdaemon + + ${concatMapStringsSep "\n" (x: + if x.gpgCard != null then + '' + mkdir -p $out/secrets/gpg-keys/${x.device} + cp -a ${x.gpgCard.encryptedPass} $out/secrets/gpg-keys/${x.device}/cryptkey.gpg + cp -a ${x.gpgCard.publicKey} $out/secrets/gpg-keys/${x.device}/pubkey.asc + '' + else "" + ) (attrValues luks.devices) + } + ''} ''; boot.initrd.extraUtilsCommandsTest = '' @@ -609,6 +775,11 @@ in $out/bin/ykinfo -V $out/bin/openssl-wrap version ''} + ${optionalString luks.gpgSupport '' + $out/bin/gpg --version + $out/bin/gpg-agent --version + $out/bin/scdaemon --version + ''} ''; boot.initrd.preFailCommands = postCommands; diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index 63a6f7fbe09..f2060e21509 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -10,7 +10,7 @@ let checkLink = checkUnitConfig "Link" [ (assertOnlyFields [ - "Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "Name" + "Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "OriginalName" "MTUBytes" "BitsPerSecond" "Duplex" "AutoNegotiation" "WakeOnLan" "Port" "TCPSegmentationOffload" "TCP6SegmentationOffload" "GenericSegmentationOffload" "GenericReceiveOffload" "LargeReceiveOffload" "RxChannels" "TxChannels" @@ -55,6 +55,27 @@ let (assertMacAddress "MACAddress") ]; + # NOTE The PrivateKey directive is missing on purpose here, please + # do not add it to this list. The nix store is world-readable let's + # refrain ourselves from providing a footgun. + checkWireGuard = checkUnitConfig "WireGuard" [ + (assertOnlyFields [ + "PrivateKeyFile" "ListenPort" "FwMark" + ]) + (assertRange "FwMark" 1 4294967295) + ]; + + # NOTE The PresharedKey directive is missing on purpose here, please + # do not add it to this list. The nix store is world-readable,let's + # refrain ourselves from providing a footgun. + checkWireGuardPeer = checkUnitConfig "WireGuardPeer" [ + (assertOnlyFields [ + "PublicKey" "PresharedKeyFile" "AllowedIPs" + "Endpoint" "PersistentKeepalive" + ]) + (assertRange "PersistentKeepalive" 1 65535) + ]; + checkVlan = checkUnitConfig "VLAN" [ (assertOnlyFields ["Id" "GVRP" "MVRP" "LooseBinding" "ReorderHeader"]) (assertRange "Id" 0 4094) @@ -203,7 +224,7 @@ let checkRoute = checkUnitConfig "Route" [ (assertOnlyFields [ - "Gateway" "GatewayOnlink" "Destination" "Source" "Metric" + "Gateway" "GatewayOnLink" "Destination" "Source" "Metric" "IPv6Preference" "Scope" "PreferredSource" "Table" "Protocol" "Type" "InitialCongestionWindow" "InitialAdvertisedReceiveWindow" "QuickAck" "MTUBytes" @@ -320,6 +341,46 @@ let ''; }; + wireguardConfig = mkOption { + default = {}; + example = { + PrivateKeyFile = "/etc/wireguard/secret.key"; + ListenPort = 51820; + FwMark = 42; + }; + type = types.addCheck (types.attrsOf unitOption) checkWireGuard; + description = '' + Each attribute in this set specifies an option in the + [WireGuard] section of the unit. See + systemd.netdev + 5 for details. + Use PrivateKeyFile instead of + PrivateKey: the nix store is + world-readable. + ''; + }; + + wireguardPeers = mkOption { + default = []; + example = [ { wireguardPeerConfig={ + Endpoint = "192.168.1.1:51820"; + PublicKey = "27s0OvaBBdHoJYkH9osZpjpgSOVNw+RaKfboT/Sfq0g="; + PresharedKeyFile = "/etc/wireguard/psk.key"; + AllowedIPs = [ "10.0.0.1/32" ]; + PersistentKeepalive = 15; + };}]; + type = with types; listOf (submodule wireguardPeerOptions); + description = '' + Each item in this array specifies an option in the + [WireGuardPeer] section of the unit. See + systemd.netdev + 5 for details. + Use PresharedKeyFile instead of + PresharedKey: the nix store is + world-readable. + ''; + }; + vlanConfig = mkOption { default = {}; example = { Id = "4"; }; @@ -450,6 +511,23 @@ let }; }; + wireguardPeerOptions = { + options = { + wireguardPeerConfig = mkOption { + default = {}; + example = { }; + type = types.addCheck (types.attrsOf unitOption) checkWireGuardPeer; + description = '' + Each attribute in this set specifies an option in the + [WireGuardPeer] section of the unit. See + systemd.network + 5 for details. + ''; + }; + }; + }; + + networkOptions = commonNetworkOptions // { networkConfig = mkOption { @@ -669,7 +747,7 @@ let }; }; - commonMatchText = def: '' + commonMatchText = def: optionalString (def.matchConfig != {}) '' [Match] ${attrsToSection def.matchConfig} ''; @@ -732,6 +810,16 @@ let ${attrsToSection def.bondConfig} ''} + ${optionalString (def.wireguardConfig != { }) '' + [WireGuard] + ${attrsToSection def.wireguardConfig} + + ''} + ${flip concatMapStrings def.wireguardPeers (x: '' + [WireGuardPeer] + ${attrsToSection x.wireguardPeerConfig} + + '')} ${def.extraConfig} ''; }; diff --git a/nixos/modules/system/boot/resolved.nix b/nixos/modules/system/boot/resolved.nix index fc68904ae08..3ea96f8e464 100644 --- a/nixos/modules/system/boot/resolved.nix +++ b/nixos/modules/system/boot/resolved.nix @@ -3,6 +3,10 @@ with lib; let cfg = config.services.resolved; + + dnsmasqResolve = config.services.dnsmasq.enable && + config.services.dnsmasq.resolveLocalQueries; + in { @@ -35,7 +39,7 @@ in when resolving single-label host names (domain names which contain no dot), in order to qualify them into fully-qualified domain names (FQDNs). - + For compatibility reasons, if this setting is not specified, the search domains listed in /etc/resolv.conf are used instead, if @@ -50,8 +54,9 @@ in description = '' Controls Link-Local Multicast Name Resolution support (RFC 4795) on the local host. - + If set to + "true" @@ -125,6 +130,12 @@ in config = mkIf cfg.enable { + assertions = [ + { assertion = !config.networking.useHostResolvConf; + message = "Using host resolv.conf is not supported with systemd-resolved"; + } + ]; + systemd.additionalUpstreamSystemUnits = [ "systemd-resolved.service" ]; @@ -134,21 +145,30 @@ in restartTriggers = [ config.environment.etc."systemd/resolved.conf".source ]; }; - environment.etc."systemd/resolved.conf".text = '' - [Resolve] - ${optionalString (config.networking.nameservers != []) - "DNS=${concatStringsSep " " config.networking.nameservers}"} - ${optionalString (cfg.fallbackDns != []) - "FallbackDNS=${concatStringsSep " " cfg.fallbackDns}"} - ${optionalString (cfg.domains != []) - "Domains=${concatStringsSep " " cfg.domains}"} - LLMNR=${cfg.llmnr} - DNSSEC=${cfg.dnssec} - ${config.services.resolved.extraConfig} - ''; + environment.etc = { + "systemd/resolved.conf".text = '' + [Resolve] + ${optionalString (config.networking.nameservers != []) + "DNS=${concatStringsSep " " config.networking.nameservers}"} + ${optionalString (cfg.fallbackDns != []) + "FallbackDNS=${concatStringsSep " " cfg.fallbackDns}"} + ${optionalString (cfg.domains != []) + "Domains=${concatStringsSep " " cfg.domains}"} + LLMNR=${cfg.llmnr} + DNSSEC=${cfg.dnssec} + ${config.services.resolved.extraConfig} + ''; + + # 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 = "/run/systemd/resolve/stub-resolv.conf"; + } // optionalAttrs dnsmasqResolve { + "dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf"; + }; # If networkmanager is enabled, ask it to interface with resolved. networking.networkmanager.dns = "systemd-resolved"; + }; } diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh index 6dafc6cddde..b817a45deba 100644 --- a/nixos/modules/system/boot/stage-1-init.sh +++ b/nixos/modules/system/boot/stage-1-init.sh @@ -44,13 +44,13 @@ EOF *) to ignore the error and continue EOF - read reply + read -n 1 reply if [ -n "$allowShell" -a "$reply" = f ]; then exec setsid @shell@ -c "exec @shell@ < /dev/$console >/dev/$console 2>/dev/$console" elif [ -n "$allowShell" -a "$reply" = i ]; then echo "Starting interactive shell..." - setsid @shell@ -c "@shell@ < /dev/$console >/dev/$console 2>/dev/$console" || fail + setsid @shell@ -c "exec @shell@ < /dev/$console >/dev/$console 2>/dev/$console" || fail elif [ "$reply" = r ]; then echo "Rebooting..." reboot -f @@ -555,7 +555,7 @@ echo /sbin/modprobe > /proc/sys/kernel/modprobe # Start stage 2. `switch_root' deletes all files in the ramfs on the # current root. Note that $stage2Init might be an absolute symlink, # in which case "-e" won't work because we're not in the chroot yet. -if ! test -e "$targetRoot/$stage2Init" -o ! -L "$targetRoot/$stage2Init"; then +if [ ! -e "$targetRoot/$stage2Init" ] && [ ! -L "$targetRoot/$stage2Init" ] ; then echo "stage 2 init script ($targetRoot/$stage2Init) not found" fail fi diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 5e27b24ac44..4c2d130d5a5 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -11,7 +11,9 @@ let udev = config.systemd.package; - modulesTree = config.system.modulesTree; + kernel-name = config.boot.kernelPackages.kernel.name or "kernel"; + + modulesTree = config.system.modulesTree.override { name = kernel-name + "-modules"; }; firmware = config.hardware.firmware; @@ -30,7 +32,7 @@ let fileSystems = filter utils.fsNeededForBoot config.system.build.fileSystems; # A utility for enumerating the shared-library dependencies of a program - findLibs = pkgs.writeShellScriptBin "find-libs" '' + findLibs = pkgs.buildPackages.writeShellScriptBin "find-libs" '' set -euo pipefail declare -A seen @@ -196,9 +198,10 @@ let ''; # */ - udevRules = pkgs.runCommand "udev-rules" - { allowedReferences = [ extraUtils ]; } - '' + udevRules = pkgs.runCommand "udev-rules" { + allowedReferences = [ extraUtils ]; + preferLocalBuild = true; + } '' mkdir -p $out echo 'ENV{LD_LIBRARY_PATH}="${extraUtils}/lib"' > $out/00-env.rules @@ -214,13 +217,11 @@ let --replace ata_id ${extraUtils}/bin/ata_id \ --replace scsi_id ${extraUtils}/bin/scsi_id \ --replace cdrom_id ${extraUtils}/bin/cdrom_id \ - --replace ${pkgs.utillinux}/sbin/blkid ${extraUtils}/bin/blkid \ - --replace /sbin/blkid ${extraUtils}/bin/blkid \ + --replace ${pkgs.coreutils}/bin/basename ${extraUtils}/bin/basename \ + --replace ${pkgs.utillinux}/bin/blkid ${extraUtils}/bin/blkid \ --replace ${pkgs.lvm2}/sbin ${extraUtils}/bin \ - --replace /sbin/mdadm ${extraUtils}/bin/mdadm \ + --replace ${pkgs.mdadm}/sbin ${extraUtils}/sbin \ --replace ${pkgs.bash}/bin/sh ${extraUtils}/bin/sh \ - --replace /usr/bin/readlink ${extraUtils}/bin/readlink \ - --replace /usr/bin/basename ${extraUtils}/bin/basename \ --replace ${udev}/bin/udevadm ${extraUtils}/bin/udevadm done @@ -289,6 +290,7 @@ let # The closure of the init script of boot stage 1 is what we put in # the initial RAM disk. initialRamdisk = pkgs.makeInitrd { + name = "initrd-${kernel-name}"; inherit (config.boot.initrd) compressor prepend; contents = @@ -298,9 +300,10 @@ let { object = pkgs.writeText "mdadm.conf" config.boot.initrd.mdadmConf; symlink = "/etc/mdadm.conf"; } - { object = pkgs.runCommand "initrd-kmod-blacklist-ubuntu" - { src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; } - '' + { object = pkgs.runCommand "initrd-kmod-blacklist-ubuntu" { + src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; + preferLocalBuild = true; + } '' target=$out ${pkgs.buildPackages.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out ''; diff --git a/nixos/modules/system/boot/stage-2.nix b/nixos/modules/system/boot/stage-2.nix index 55e6b19c67f..6b0b4722730 100644 --- a/nixos/modules/system/boot/stage-2.nix +++ b/nixos/modules/system/boot/stage-2.nix @@ -4,19 +4,20 @@ with lib; let + useHostResolvConf = config.networking.resolvconf.enable && config.networking.useHostResolvConf; + bootStage2 = pkgs.substituteAll { src = ./stage-2-init.sh; shellDebug = "${pkgs.bashInteractive}/bin/bash"; shell = "${pkgs.bash}/bin/bash"; isExecutable = true; inherit (config.nix) readOnlyStore; - inherit (config.networking) useHostResolvConf; + inherit useHostResolvConf; inherit (config.system.build) earlyMountScript; - path = lib.makeBinPath [ + path = lib.makeBinPath ([ pkgs.coreutils pkgs.utillinux - pkgs.openresolv - ]; + ] ++ lib.optional useHostResolvConf pkgs.openresolv); fsPackagesPath = lib.makeBinPath config.system.fsPackages; postBootCommands = pkgs.writeText "local-cmds" '' diff --git a/nixos/modules/system/boot/systemd-lib.nix b/nixos/modules/system/boot/systemd-lib.nix index 68a40377ee1..28ad4f121bb 100644 --- a/nixos/modules/system/boot/systemd-lib.nix +++ b/nixos/modules/system/boot/systemd-lib.nix @@ -9,12 +9,11 @@ in rec { shellEscape = s: (replaceChars [ "\\" ] [ "\\\\" ] s); + mkPathSafeName = lib.replaceChars ["@" ":" "\\" "[" "]"] ["-" "-" "-" "" ""]; + makeUnit = name: unit: - let - pathSafeName = lib.replaceChars ["@" ":" "\\" "[" "]"] ["-" "-" "-" "" ""] name; - in if unit.enable then - pkgs.runCommand "unit-${pathSafeName}" + pkgs.runCommand "unit-${mkPathSafeName name}" { preferLocalBuild = true; allowSubstitutes = false; inherit (unit) text; @@ -24,7 +23,7 @@ in rec { echo -n "$text" > $out/${shellEscape name} '' else - pkgs.runCommand "unit-${pathSafeName}-disabled" + pkgs.runCommand "unit-${mkPathSafeName name}-disabled" { preferLocalBuild = true; allowSubstitutes = false; } diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix index 63f974b704f..c1f2c98afcd 100644 --- a/nixos/modules/system/boot/systemd-unit-options.nix +++ b/nixos/modules/system/boot/systemd-unit-options.nix @@ -6,7 +6,7 @@ with import ./systemd-lib.nix { inherit config lib pkgs; }; let checkService = checkUnitConfig "Service" [ (assertValueOneOf "Type" [ - "simple" "forking" "oneshot" "dbus" "notify" "idle" + "exec" "simple" "forking" "oneshot" "dbus" "notify" "idle" ]) (assertValueOneOf "Restart" [ "no" "on-success" "on-failure" "on-abnormal" "on-abort" "always" @@ -226,7 +226,7 @@ in rec { environment = mkOption { default = {}; - type = with types; attrsOf (nullOr (either str (either path package))); + type = with types; attrsOf (nullOr (oneOf [ str path package ])); example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; }; description = "Environment variables passed to the service's processes."; }; diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 9fdef0251d7..a7951385062 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -76,6 +76,10 @@ let "systemd-journald-dev-log.socket" "syslog.socket" + # Coredumps. + "systemd-coredump.socket" + "systemd-coredump@.service" + # SysV init compatibility. "systemd-initctl.socket" "systemd-initctl.service" @@ -108,11 +112,13 @@ let # Hibernate / suspend. "hibernate.target" "suspend.target" + "suspend-then-hibernate.target" "sleep.target" "hybrid-sleep.target" "systemd-hibernate.service" "systemd-hybrid-sleep.service" "systemd-suspend.service" + "systemd-suspend-then-hibernate.service" # Reboot stuff. "reboot.target" @@ -186,6 +192,9 @@ let "sockets.target" "sound.target" "systemd-exit.service" + "systemd-tmpfiles-clean.service" + "systemd-tmpfiles-clean.timer" + "systemd-tmpfiles-setup.service" "timers.target" ]; @@ -424,7 +433,8 @@ in systemd.packages = mkOption { default = []; type = types.listOf types.package; - description = "Packages providing systemd units."; + example = literalExample "[ pkgs.systemd-cryptsetup-generator ]"; + description = "Packages providing systemd units and hooks."; }; systemd.targets = mkOption { @@ -494,11 +504,14 @@ in ''; }; - systemd.generator-packages = mkOption { - default = []; - type = types.listOf types.package; - example = literalExample "[ pkgs.systemd-cryptsetup-generator ]"; - description = "Packages providing systemd generators."; + systemd.shutdown = mkOption { + type = types.attrsOf types.path; + default = {}; + description = '' + Definition of systemd shutdown executables. + For each NAME = VALUE pair of the attrSet, a link is generated from + /etc/systemd/system-shutdown/NAME to VALUE. + ''; }; systemd.defaultUnit = mkOption { @@ -517,7 +530,7 @@ in }; systemd.globalEnvironment = mkOption { - type = with types; attrsOf (nullOr (either str (either path package))); + type = with types; attrsOf (nullOr (oneOf [ str path package ])); default = {}; example = { TZ = "CET"; }; description = '' @@ -526,13 +539,23 @@ in }; systemd.enableCgroupAccounting = mkOption { - default = false; + default = true; type = types.bool; description = '' Whether to enable cgroup accounting. ''; }; + systemd.coredump.extraConfig = mkOption { + default = ""; + type = types.lines; + example = "Storage=journal"; + description = '' + Extra config options for systemd-coredump. See coredump.conf(5) man page + for available options. + ''; + }; + systemd.extraConfig = mkOption { default = ""; type = types.lines; @@ -593,7 +616,7 @@ in services.journald.forwardToSyslog = mkOption { default = config.services.rsyslogd.enable || config.services.syslog-ng.enable; - defaultText = "config.services.rsyslogd.enable || config.services.syslog-ng.enable"; + defaultText = "services.rsyslogd.enable || services.syslog-ng.enable"; type = types.bool; description = '' Whether to forward log messages to syslog. @@ -652,6 +675,7 @@ in services.logind.lidSwitchExternalPower = mkOption { default = config.services.logind.lidSwitch; + defaultText = "services.logind.lidSwitch"; example = "ignore"; type = logindHandlerType; @@ -757,15 +781,21 @@ in environment.systemPackages = [ systemd ]; environment.etc = let - # generate contents for /etc/systemd/system-generators from - # systemd.generators and systemd.generator-packages - generators = pkgs.runCommand "system-generators" { packages = cfg.generator-packages; } '' + # generate contents for /etc/systemd/system-${type} from attrset of links and packages + hooks = type: links: pkgs.runCommand "system-${type}" { + preferLocalBuild = true; + packages = cfg.packages; + } '' + set -e mkdir -p $out for package in $packages do - ln -s $package/lib/systemd/system-generators/* $out/ - done; - ${concatStrings (mapAttrsToList (generator: target: "ln -s ${target} $out/${generator};\n") cfg.generators)} + for hook in $package/lib/systemd/system-${type}/* + do + ln -s $hook $out/ + done + done + ${concatStrings (mapAttrsToList (exec: target: "ln -s ${target} $out/${exec};\n") links)} ''; in ({ "systemd/system".source = generateUnits "system" cfg.units upstreamSystemUnits upstreamSystemWants; @@ -776,11 +806,12 @@ in [Manager] ${optionalString config.systemd.enableCgroupAccounting '' DefaultCPUAccounting=yes + DefaultBlockIOAccounting=yes DefaultIOAccounting=yes DefaultBlockIOAccounting=yes - DefaultMemoryAccounting=yes - DefaultTasksAccounting=yes + DefaultIPAccounting=yes ''} + DefaultLimitCORE=infinity ${config.systemd.extraConfig} ''; @@ -804,6 +835,12 @@ in ${config.services.journald.extraConfig} ''; + "systemd/coredump.conf".text = + '' + [Coredump] + ${config.systemd.coredump.extraConfig} + ''; + "systemd/logind.conf".text = '' [Login] KillUserProcesses=${if config.services.logind.killUserProcesses then "yes" else "no"} @@ -817,6 +854,10 @@ in [Sleep] ''; + # install provided sysctl snippets + "sysctl.d/50-coredump.conf".source = "${systemd}/example/sysctl.d/50-coredump.conf"; + "sysctl.d/50-default.conf".source = "${systemd}/example/sysctl.d/50-default.conf"; + "tmpfiles.d/systemd.conf".source = "${systemd}/example/tmpfiles.d/systemd.conf"; "tmpfiles.d/x11.conf".source = "${systemd}/example/tmpfiles.d/x11.conf"; @@ -827,7 +868,8 @@ in ${concatStringsSep "\n" cfg.tmpfiles.rules} ''; - "systemd/system-generators" = { source = generators; }; + "systemd/system-generators" = { source = hooks "generators" cfg.generators; }; + "systemd/system-shutdown" = { source = hooks "shutdown" cfg.shutdown; }; }); services.dbus.enable = true; @@ -936,7 +978,6 @@ in # Don't bother with certain units in containers. systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container"; systemd.services.systemd-random-seed.unitConfig.ConditionVirtualization = "!container"; - }; # FIXME: Remove these eventually. @@ -945,5 +986,4 @@ in (mkRenamedOptionModule [ "boot" "systemd" "targets" ] [ "systemd" "targets" ]) (mkRenamedOptionModule [ "boot" "systemd" "services" ] [ "systemd" "services" ]) ]; - } diff --git a/nixos/modules/system/boot/timesyncd.nix b/nixos/modules/system/boot/timesyncd.nix index 8d8bfe5900a..8282cdd6f3a 100644 --- a/nixos/modules/system/boot/timesyncd.nix +++ b/nixos/modules/system/boot/timesyncd.nix @@ -40,6 +40,15 @@ with lib; users.users.systemd-timesync.uid = config.ids.uids.systemd-timesync; users.groups.systemd-timesync.gid = config.ids.gids.systemd-timesync; + system.activationScripts.systemd-timesyncd-migration = mkIf (versionOlder config.system.stateVersion "19.09") '' + # workaround an issue of systemd-timesyncd not starting due to upstream systemd reverting their dynamic users changes + # - https://github.com/NixOS/nixpkgs/pull/61321#issuecomment-492423742 + # - https://github.com/systemd/systemd/issues/12131 + if [ -L /var/lib/systemd/timesync ]; then + rm /var/lib/systemd/timesync + mv /var/lib/private/systemd/timesync /var/lib/systemd/timesync + fi + ''; }; } diff --git a/nixos/modules/tasks/auto-upgrade.nix b/nixos/modules/tasks/auto-upgrade.nix index d225778a387..18753ae0c1a 100644 --- a/nixos/modules/tasks/auto-upgrade.nix +++ b/nixos/modules/tasks/auto-upgrade.nix @@ -53,11 +53,21 @@ let cfg = config.system.autoUpgrade; in ''; }; + allowReboot = mkOption { + default = false; + type = types.bool; + description = '' + Reboot the system into the new generation instead of a switch + if the new generation uses a different kernel, kernel modules + or initrd than the booted system. + ''; + }; + }; }; - config = { + config = lib.mkIf cfg.enable { system.autoUpgrade.flags = [ "--no-build-output" ] @@ -78,13 +88,25 @@ let cfg = config.system.autoUpgrade; in HOME = "/root"; } // config.networking.proxy.envVars; - path = [ pkgs.gnutar pkgs.xz.bin pkgs.gitMinimal config.nix.package.out ]; + path = [ pkgs.coreutils pkgs.gnutar pkgs.xz.bin pkgs.gitMinimal config.nix.package.out ]; - script = '' - ${config.system.build.nixos-rebuild}/bin/nixos-rebuild switch ${toString cfg.flags} - ''; + script = let + nixos-rebuild = "${config.system.build.nixos-rebuild}/bin/nixos-rebuild"; + in + if cfg.allowReboot then '' + ${nixos-rebuild} boot ${toString cfg.flags} + booted="$(readlink /run/booted-system/{initrd,kernel,kernel-modules})" + built="$(readlink /nix/var/nix/profiles/system/{initrd,kernel,kernel-modules})" + if [ "$booted" = "$built" ]; then + ${nixos-rebuild} switch ${toString cfg.flags} + else + /run/current-system/sw/bin/shutdown -r +1 + fi + '' else '' + ${nixos-rebuild} switch ${toString cfg.flags} + ''; - startAt = optional cfg.enable cfg.dates; + startAt = cfg.dates; }; }; diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index 07f8214cea2..43764bb82f1 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -209,10 +209,17 @@ in assertions = let ls = sep: concatMapStringsSep sep (x: x.mountPoint); + notAutoResizable = fs: fs.autoResize && !(hasPrefix "ext" fs.fsType || fs.fsType == "f2fs"); in [ { assertion = ! (fileSystems' ? "cycle"); message = "The ‘fileSystems’ option can't be topologically sorted: mountpoint dependency path ${ls " -> " fileSystems'.cycle} loops to ${ls ", " fileSystems'.loops}"; } + { assertion = ! (any notAutoResizable fileSystems); + message = let + fs = head (filter notAutoResizable fileSystems); + in + "Mountpoint '${fs.mountPoint}': 'autoResize = true' is not supported for 'fsType = \"${fs.fsType}\"':${if fs.fsType == "auto" then " fsType has to be explicitly set and" else ""} only the ext filesystems and f2fs support it."; + } ]; # Export for use in other modules diff --git a/nixos/modules/tasks/filesystems/btrfs.nix b/nixos/modules/tasks/filesystems/btrfs.nix index 1384873b663..48be18c7102 100644 --- a/nixos/modules/tasks/filesystems/btrfs.nix +++ b/nixos/modules/tasks/filesystems/btrfs.nix @@ -19,7 +19,7 @@ in # One could also do regular btrfs balances, but that shouldn't be necessary # during normal usage and as long as the filesystems aren't filled near capacity services.btrfs.autoScrub = { - enable = mkEnableOption "Enable regular btrfs scrub"; + enable = mkEnableOption "regular btrfs scrub"; fileSystems = mkOption { type = types.listOf types.path; diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix index d3a558738f4..e0e8bb1f03d 100644 --- a/nixos/modules/tasks/filesystems/nfs.nix +++ b/nixos/modules/tasks/filesystems/nfs.nix @@ -56,7 +56,6 @@ in boot.initrd.kernelModules = mkIf inInitrd [ "nfs" ]; systemd.packages = [ pkgs.nfs-utils ]; - systemd.generator-packages = [ pkgs.nfs-utils ]; environment.etc = { "idmapd.conf".source = idmapdConfFile; diff --git a/nixos/modules/tasks/filesystems/vboxsf.nix b/nixos/modules/tasks/filesystems/vboxsf.nix index 87f1984f084..5497194f6a8 100644 --- a/nixos/modules/tasks/filesystems/vboxsf.nix +++ b/nixos/modules/tasks/filesystems/vboxsf.nix @@ -6,7 +6,7 @@ let inInitrd = any (fs: fs == "vboxsf") config.boot.initrd.supportedFilesystems; - package = pkgs.runCommand "mount.vboxsf" {} '' + package = pkgs.runCommand "mount.vboxsf" { preferLocalBuild = true; } '' mkdir -p $out/bin cp ${pkgs.linuxPackages.virtualboxGuestAdditions}/bin/mount.vboxsf $out/bin ''; diff --git a/nixos/modules/tasks/filesystems/xfs.nix b/nixos/modules/tasks/filesystems/xfs.nix index c6a90bcf1a5..98038701ca5 100644 --- a/nixos/modules/tasks/filesystems/xfs.nix +++ b/nixos/modules/tasks/filesystems/xfs.nix @@ -18,6 +18,7 @@ in boot.initrd.extraUtilsCommands = mkIf inInitrd '' copy_bin_and_libs ${pkgs.xfsprogs.bin}/bin/fsck.xfs + copy_bin_and_libs ${pkgs.xfsprogs.bin}/bin/xfs_repair ''; # Trick just to set 'sh' after the extraUtils nuke-refs. diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index 37a19fb9fc8..ac06b6caee3 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -1,8 +1,6 @@ { config, lib, pkgs, utils, ... }: # -# todo: -# - crontab for scrubs, etc -# - zfs tunables +# TODO: zfs tunables with utils; with lib; @@ -13,6 +11,7 @@ let cfgSnapshots = config.services.zfs.autoSnapshot; cfgSnapFlags = cfgSnapshots.flags; cfgScrub = config.services.zfs.autoScrub; + cfgTrim = config.services.zfs.trim; inInitrd = any (fs: fs == "zfs") config.boot.initrd.supportedFilesystems; inSystem = any (fs: fs == "zfs") config.boot.supportedFilesystems; @@ -24,11 +23,9 @@ let kernel = config.boot.kernelPackages; packages = if config.boot.zfs.enableUnstable then { - spl = null; zfs = kernel.zfsUnstable; zfsUser = pkgs.zfsUnstable; } else { - spl = kernel.spl; zfs = kernel.zfs; zfsUser = pkgs.zfs; }; @@ -181,10 +178,9 @@ in requestEncryptionCredentials = mkOption { type = types.bool; - default = config.boot.zfs.enableUnstable; + default = true; description = '' Request encryption keys or passwords for all encrypted datasets on import. - Dataset encryption is only supported in zfsUnstable at the moment. For root pools the encryption key can be supplied via both an interactive prompt (keylocation=prompt) and from a file (keylocation=file://). Note that for data pools the encryption key can @@ -271,14 +267,26 @@ in }; }; - services.zfs.autoScrub = { - enable = mkOption { - default = false; - type = types.bool; + services.zfs.trim = { + enable = mkEnableOption "Enables periodic TRIM on all ZFS pools."; + + interval = mkOption { + default = "weekly"; + type = types.str; + example = "daily"; description = '' - Enables periodic scrubbing of ZFS pools. + How often we run trim. For most desktop and server systems + a sufficient trimming frequency is once a week. + + The format is described in + systemd.time + 7. ''; }; + }; + + services.zfs.autoScrub = { + enable = mkEnableOption "Enables periodic scrubbing of ZFS pools."; interval = mkOption { default = "Sun, 02:00"; @@ -316,17 +324,13 @@ in assertion = !cfgZfs.forceImportAll || cfgZfs.forceImportRoot; message = "If you enable boot.zfs.forceImportAll, you must also enable boot.zfs.forceImportRoot"; } - { - assertion = cfgZfs.requestEncryptionCredentials -> cfgZfs.enableUnstable; - message = "This feature is only available for zfs unstable. Set the NixOS option boot.zfs.enableUnstable."; - } ]; virtualisation.lxd.zfsSupport = true; boot = { - kernelModules = [ "zfs" ] ++ optional (!cfgZfs.enableUnstable) "spl"; - extraModulePackages = with packages; [ zfs ] ++ optional (!cfgZfs.enableUnstable) spl; + kernelModules = [ "zfs" ]; + extraModulePackages = with packages; [ zfs ]; }; boot.initrd = mkIf inInitrd { @@ -542,5 +546,17 @@ in }; }; }) + + (mkIf cfgTrim.enable { + systemd.services.zpool-trim = { + description = "ZFS pools trim"; + after = [ "zfs-import.target" ]; + path = [ packages.zfsUser ]; + startAt = cfgTrim.interval; + script = '' + zpool list -H -o name | xargs -n1 zpool trim + ''; + }; + }) ]; } diff --git a/nixos/modules/tasks/kbd.nix b/nixos/modules/tasks/kbd.nix index fbe42b8e8f0..6d34f897d18 100644 --- a/nixos/modules/tasks/kbd.nix +++ b/nixos/modules/tasks/kbd.nix @@ -15,6 +15,7 @@ let optimizedKeymap = pkgs.runCommand "keymap" { nativeBuildInputs = [ pkgs.buildPackages.kbd ]; LOADKEYS_KEYMAP_PATH = "${kbdEnv}/share/keymaps/**"; + preferLocalBuild = true; } '' loadkeys -b ${optionalString isUnicode "-u"} "${config.i18n.consoleKeyMap}" > $out ''; diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix index 93dfefdce90..2b8a7944dc3 100644 --- a/nixos/modules/tasks/network-interfaces-scripted.nix +++ b/nixos/modules/tasks/network-interfaces-scripted.nix @@ -103,16 +103,18 @@ let script = '' - # Set the static DNS configuration, if given. - ${pkgs.openresolv}/sbin/resolvconf -m 1 -a static < cfg.enableIPv6; message = '' Temporary addresses are only needed when IPv6 is enabled. @@ -967,8 +967,8 @@ in "net.ipv6.conf.default.disable_ipv6" = mkDefault (!cfg.enableIPv6); "net.ipv6.conf.all.forwarding" = mkDefault (any (i: i.proxyARP) interfaces); } // listToAttrs (flip concatMap (filter (i: i.proxyARP) interfaces) - (i: flip map [ "4" "6" ] (v: nameValuePair "net.ipv${v}.conf.${i.name}.proxy_arp" true))) - // listToAttrs (flip map (filter (i: i.preferTempAddress) interfaces) + (i: forEach [ "4" "6" ] (v: nameValuePair "net.ipv${v}.conf.${i.name}.proxy_arp" true))) + // listToAttrs (forEach (filter (i: i.preferTempAddress) interfaces) (i: nameValuePair "net.ipv6.conf.${i.name}.use_tempaddr" 2)); # Capabilities won't work unless we have at-least a 4.3 Linux @@ -995,7 +995,7 @@ in ''; environment.etc."hostid" = mkIf (cfg.hostId != null) - { source = pkgs.runCommand "gen-hostid" {} '' + { source = pkgs.runCommand "gen-hostid" { preferLocalBuild = true; } '' hi="${cfg.hostId}" ${if pkgs.stdenv.isBigEndian then '' echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > $out @@ -1017,7 +1017,6 @@ in pkgs.iproute pkgs.iputils pkgs.nettools - pkgs.openresolv ] ++ optionals config.networking.wireless.enable [ pkgs.wirelesstools # FIXME: obsolete? @@ -1051,7 +1050,7 @@ in ${cfg.localCommands} ''; }; - } // (listToAttrs (flip map interfaces (i: + } // (listToAttrs (forEach interfaces (i: let deviceDependency = if (config.boot.isContainer || i.name == "lo") then [] @@ -1087,7 +1086,24 @@ in virtualisation.vswitch = mkIf (cfg.vswitches != { }) { enable = true; }; - services.udev.packages = mkIf (cfg.wlanInterfaces != {}) [ + services.udev.packages = [ + (pkgs.writeTextFile rec { + name = "ipv6-privacy-extensions.rules"; + destination = "/etc/udev/rules.d/98-${name}"; + text = '' + # enable and prefer IPv6 privacy addresses by default + ACTION=="add", SUBSYSTEM=="net", RUN+="${pkgs.procps}/bin/sysctl net.ipv6.conf.%k.use_tempaddr=2" + ''; + }) + (pkgs.writeTextFile rec { + name = "ipv6-privacy-extensions.rules"; + destination = "/etc/udev/rules.d/99-${name}"; + text = concatMapStrings (i: '' + # enable IPv6 privacy addresses but prefer EUI-64 addresses for ${i.name} + ACTION=="add", SUBSYSTEM=="net", RUN+="${pkgs.procps}/bin/sysctl net.ipv6.conf.${i.name}.use_tempaddr=1" + '') (filter (i: !i.preferTempAddress) interfaces); + }) + ] ++ lib.optional (cfg.wlanInterfaces != {}) (pkgs.writeTextFile { name = "99-zzz-40-wlanInterfaces.rules"; destination = "/etc/udev/rules.d/99-zzz-40-wlanInterfaces.rules"; @@ -1161,8 +1177,7 @@ in # Generate the same systemd events for both 'add' and 'move' udev events. ACTION=="move", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", NAME=="${device}", ${systemdAttrs curInterface._iName} ''); - }) ]; - + }); }; } diff --git a/nixos/modules/tasks/swraid.nix b/nixos/modules/tasks/swraid.nix index 93e03c44c86..8fa19194bed 100644 --- a/nixos/modules/tasks/swraid.nix +++ b/nixos/modules/tasks/swraid.nix @@ -6,51 +6,12 @@ services.udev.packages = [ pkgs.mdadm ]; + systemd.packages = [ pkgs.mdadm ]; + boot.initrd.availableKernelModules = [ "md_mod" "raid0" "raid1" "raid10" "raid456" ]; boot.initrd.extraUdevRulesCommands = '' cp -v ${pkgs.mdadm}/lib/udev/rules.d/*.rules $out/ ''; - systemd.services.mdadm-shutdown = { - wantedBy = [ "final.target"]; - after = [ "umount.target" ]; - - unitConfig = { - DefaultDependencies = false; - }; - - serviceConfig = { - Type = "oneshot"; - ExecStart = ''${pkgs.mdadm}/bin/mdadm --wait-clean --scan''; - }; - }; - - systemd.services."mdmon@" = { - description = "MD Metadata Monitor on /dev/%I"; - - unitConfig.DefaultDependencies = false; - - serviceConfig = { - Type = "forking"; - Environment = "IMSM_NO_PLATFORM=1"; - ExecStart = ''${pkgs.mdadm}/bin/mdmon --offroot --takeover %I''; - KillMode = "none"; - }; - }; - - systemd.services."mdadm-grow-continue@" = { - description = "Manage MD Reshape on /dev/%I"; - - unitConfig.DefaultDependencies = false; - - serviceConfig = { - ExecStart = ''${pkgs.mdadm}/bin/mdadm --grow --continue /dev/%I''; - StandardInput = "null"; - StandardOutput = "null"; - StandardError = "null"; - KillMode = "none"; - }; - }; - } diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix index ed4cfa7805e..1a11d9ce7c2 100644 --- a/nixos/modules/testing/test-instrumentation.nix +++ b/nixos/modules/testing/test-instrumentation.nix @@ -129,9 +129,6 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; }; users.users.root.initialHashedPassword = mkOverride 150 ""; services.xserver.displayManager.job.logToJournal = true; - - # set default stateVersion to avoid warnings during eval - system.stateVersion = mkDefault "18.03"; }; } diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index 6f4f99caa6f..0c4ad90b4eb 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -31,13 +31,13 @@ in fileSystems."/" = { device = "/dev/disk/by-label/nixos"; + fsType = "ext4"; autoResize = true; }; - boot.extraModulePackages = - [ config.boot.kernelPackages.ixgbevf - config.boot.kernelPackages.ena - ]; + boot.extraModulePackages = [ + config.boot.kernelPackages.ena + ]; boot.initrd.kernelModules = [ "xen-blkfront" "xen-netfront" ]; boot.initrd.availableKernelModules = [ "ixgbevf" "ena" "nvme" ]; boot.kernelParams = mkIf cfg.hvm [ "console=ttyS0" ]; diff --git a/nixos/modules/virtualisation/anbox.nix b/nixos/modules/virtualisation/anbox.nix new file mode 100644 index 00000000000..da5df358073 --- /dev/null +++ b/nixos/modules/virtualisation/anbox.nix @@ -0,0 +1,139 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.virtualisation.anbox; + kernelPackages = config.boot.kernelPackages; + addrOpts = v: addr: pref: name: { + address = mkOption { + default = addr; + type = types.str; + description = '' + IPv${toString v} ${name} address. + ''; + }; + + prefixLength = mkOption { + default = pref; + type = types.addCheck types.int (n: n >= 0 && n <= (if v == 4 then 32 else 128)); + description = '' + Subnet mask of the ${name} address, specified as the number of + bits in the prefix (${if v == 4 then "24" else "64"}). + ''; + }; + }; + +in + +{ + + options.virtualisation.anbox = { + + enable = mkEnableOption "Anbox"; + + image = mkOption { + default = pkgs.anbox.image; + example = literalExample "pkgs.anbox.image"; + type = types.package; + description = '' + Base android image for Anbox. + ''; + }; + + extraInit = mkOption { + type = types.lines; + default = ""; + description = '' + Extra shell commands to be run inside the container image during init. + ''; + }; + + ipv4 = { + container = addrOpts 4 "192.168.250.2" 24 "Container"; + gateway = addrOpts 4 "192.168.250.1" 24 "Host"; + + dns = mkOption { + default = "1.1.1.1"; + type = types.str; + description = '' + Container DNS server. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + + assertions = singleton { + assertion = versionAtLeast (getVersion config.boot.kernelPackages.kernel) "4.18"; + message = "Anbox needs user namespace support to work properly"; + }; + + environment.systemPackages = with pkgs; [ anbox ]; + + boot.kernelModules = [ "ashmem_linux" "binder_linux" ]; + boot.extraModulePackages = [ kernelPackages.anbox ]; + + services.udev.extraRules = '' + KERNEL=="ashmem", NAME="%k", MODE="0666" + KERNEL=="binder*", NAME="%k", MODE="0666" + ''; + + virtualisation.lxc.enable = true; + networking.bridges.anbox0.interfaces = []; + networking.interfaces.anbox0.ipv4.addresses = [ cfg.ipv4.gateway ]; + + networking.nat = { + enable = true; + internalInterfaces = [ "anbox0" ]; + }; + + systemd.services.anbox-container-manager = let + anboxloc = "/var/lib/anbox"; + in { + description = "Anbox Container Management Daemon"; + + environment.XDG_RUNTIME_DIR="${anboxloc}"; + + wantedBy = [ "multi-user.target" ]; + after = [ "systemd-udev-settle.service" ]; + preStart = let + initsh = pkgs.writeText "nixos-init" ('' + #!/system/bin/sh + setprop nixos.version ${config.system.nixos.version} + + # we don't have radio + setprop ro.radio.noril yes + stop ril-daemon + + # speed up boot + setprop debug.sf.nobootanimation 1 + '' + cfg.extraInit); + initshloc = "${anboxloc}/rootfs-overlay/system/etc/init.goldfish.sh"; + in '' + mkdir -p ${anboxloc} + mkdir -p $(dirname ${initshloc}) + [ -f ${initshloc} ] && rm ${initshloc} + cp ${initsh} ${initshloc} + chown 100000:100000 ${initshloc} + chmod +x ${initshloc} + ''; + + serviceConfig = { + ExecStart = '' + ${pkgs.anbox}/bin/anbox container-manager \ + --data-path=${anboxloc} \ + --android-image=${cfg.image} \ + --container-network-address=${cfg.ipv4.container.address} \ + --container-network-gateway=${cfg.ipv4.gateway.address} \ + --container-network-dns-servers=${cfg.ipv4.dns} \ + --use-rootfs-overlay \ + --privileged + ''; + }; + }; + }; + +} diff --git a/nixos/modules/virtualisation/cloudstack-config.nix b/nixos/modules/virtualisation/cloudstack-config.nix new file mode 100644 index 00000000000..78afebdc5dd --- /dev/null +++ b/nixos/modules/virtualisation/cloudstack-config.nix @@ -0,0 +1,40 @@ +{ lib, pkgs, ... }: + +with lib; + +{ + imports = [ + ../profiles/qemu-guest.nix + ]; + + config = { + fileSystems."/" = { + device = "/dev/disk/by-label/nixos"; + autoResize = true; + }; + + boot.growPartition = true; + boot.kernelParams = [ "console=tty0" ]; + boot.loader.grub.device = "/dev/vda"; + boot.loader.timeout = 0; + + # Allow root logins + services.openssh = { + enable = true; + permitRootLogin = "prohibit-password"; + }; + + # Cloud-init configuration. + services.cloud-init.enable = true; + # Wget is needed for setting password. This is of little use as + # root password login is disabled above. + environment.systemPackages = [ pkgs.wget ]; + # Only enable CloudStack datasource for faster boot speed. + environment.etc."cloud/cloud.cfg.d/99_cloudstack.cfg".text = '' + datasource: + CloudStack: {} + None: {} + datasource_list: ["CloudStack"] + ''; + }; +} diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 7c9909ae278..0c0d8551e4a 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -36,8 +36,9 @@ let #! ${pkgs.runtimeShell} -e # Initialise the container side of the veth pair. - if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ] || [ -n "$HOST_BRIDGE" ]; then - + if [ -n "$HOST_ADDRESS" ] || [ -n "$HOST_ADDRESS6" ] || + [ -n "$LOCAL_ADDRESS" ] || [ -n "$LOCAL_ADDRESS6" ] || + [ -n "$HOST_BRIDGE" ]; then ip link set host0 name eth0 ip link set dev eth0 up @@ -88,7 +89,8 @@ let extraFlags+=" --private-network" fi - if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then + if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ] || + [ -n "$HOST_ADDRESS6" ] || [ -n "$LOCAL_ADDRESS6" ]; then extraFlags+=" --network-veth" fi @@ -136,7 +138,7 @@ let --bind-ro=/nix/var/nix/daemon-socket \ --bind="/nix/var/nix/profiles/per-container/$INSTANCE:/nix/var/nix/profiles" \ --bind="/nix/var/nix/gcroots/per-container/$INSTANCE:/nix/var/nix/gcroots" \ - --link-journal=try-guest \ + ${optionalString (!cfg.ephemeral) "--link-journal=try-guest"} \ --setenv PRIVATE_NETWORK="$PRIVATE_NETWORK" \ --setenv HOST_BRIDGE="$HOST_BRIDGE" \ --setenv HOST_ADDRESS="$HOST_ADDRESS" \ @@ -145,6 +147,7 @@ let --setenv LOCAL_ADDRESS6="$LOCAL_ADDRESS6" \ --setenv HOST_PORT="$HOST_PORT" \ --setenv PATH="$PATH" \ + ${optionalString cfg.ephemeral "--ephemeral"} \ ${if cfg.additionalCapabilities != null && cfg.additionalCapabilities != [] then ''--capability="${concatStringsSep " " cfg.additionalCapabilities}"'' else "" } \ @@ -159,7 +162,8 @@ let # Clean up existing machined registration and interfaces. machinectl terminate "$INSTANCE" 2> /dev/null || true - if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then + if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ] || + [ -n "$HOST_ADDRESS6" ] || [ -n "$LOCAL_ADDRESS6" ]; then ip link del dev "ve-$INSTANCE" 2> /dev/null || true ip link del dev "vb-$INSTANCE" 2> /dev/null || true fi @@ -208,7 +212,8 @@ let ''; in '' - if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then + if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ] || + [ -n "$HOST_ADDRESS6" ] || [ -n "$LOCAL_ADDRESS6" ]; then if [ -z "$HOST_BRIDGE" ]; then ifaceHost=ve-$INSTANCE ip link set dev $ifaceHost up @@ -243,12 +248,18 @@ let Type = "notify"; + RuntimeDirectory = lib.optional cfg.ephemeral "containers/%i"; + # Note that on reboot, systemd-nspawn returns 133, so this # unit will be restarted. On poweroff, it returns 0, so the # unit won't be restarted. RestartForceExitStatus = "133"; SuccessExitStatus = "133"; + # Some containers take long to start + # especially when you automatically start many at once + TimeoutStartSec = cfg.timeoutStartSec; + Restart = "on-failure"; Slice = "machine.slice"; @@ -326,7 +337,7 @@ let networkOptions = { hostBridge = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; example = "br0"; description = '' @@ -376,7 +387,7 @@ let }; hostAddress6 = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; example = "fc00::1"; description = '' @@ -398,7 +409,7 @@ let }; localAddress6 = mkOption { - type = types.nullOr types.string; + type = types.nullOr types.str; default = null; example = "fc00::2"; description = '' @@ -415,6 +426,8 @@ let { extraVeths = {}; additionalCapabilities = []; + ephemeral = false; + timeoutStartSec = "15s"; allowedDevices = []; hostAddress = null; hostAddress6 = null; @@ -441,7 +454,7 @@ in type = types.bool; default = !config.boot.isContainer; description = '' - Whether to enable support for nixos containers. + Whether to enable support for NixOS containers. ''; }; @@ -461,20 +474,24 @@ in merge = loc: defs: (import ../../lib/eval-config.nix { inherit system; modules = - let extraConfig = - { boot.isContainer = true; - networking.hostName = mkDefault name; - networking.useDHCP = false; - assertions = [ - { - assertion = config.privateNetwork -> stringLength name < 12; - message = '' - Container name `${name}` is too long: When `privateNetwork` is enabled, container names can - not be longer than 11 characters, because the container's interface name is derived from it. - This might be fixed in the future. See https://github.com/NixOS/nixpkgs/issues/38509 - ''; - } - ]; + let + extraConfig = { + _file = "module at ${__curPos.file}:${toString __curPos.line}"; + config = { + boot.isContainer = true; + networking.hostName = mkDefault name; + networking.useDHCP = false; + assertions = [ + { + assertion = config.privateNetwork -> stringLength name < 12; + message = '' + Container name `${name}` is too long: When `privateNetwork` is enabled, container names can + not be longer than 11 characters, because the container's interface name is derived from it. + This might be fixed in the future. See https://github.com/NixOS/nixpkgs/issues/38509 + ''; + } + ]; + }; }; in [ extraConfig ] ++ (map (x: x.value) defs); prefix = [ "containers" name ]; @@ -503,6 +520,26 @@ in information. ''; }; + + ephemeral = mkOption { + type = types.bool; + default = false; + description = '' + Runs container in ephemeral mode with the empty root filesystem at boot. + This way container will be bootstrapped from scratch on each boot + and will be cleaned up on shutdown leaving no traces behind. + Useful for completely stateless, reproducible containers. + + Note that this option might require to do some adjustments to the container configuration, + e.g. you might want to set + systemd.network.networks.$interface.dhcpConfig.ClientIdentifier to "mac" + if you use macvlans option. + This way dhcp client identifier will be stable between the container restarts. + + Note that the container journal will not be linked to the host if this option is enabled. + ''; + }; + enableTun = mkOption { type = types.bool; default = false; @@ -528,7 +565,7 @@ in }; interfaces = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = []; example = [ "eth1" "eth2" ]; description = '' @@ -563,6 +600,18 @@ in ''; }; + timeoutStartSec = mkOption { + type = types.str; + default = "1min"; + description = '' + Time for the container to start. In case of a timeout, + the container processes get killed. + See systemd.time + 7 + for more information about the format. + ''; + }; + bindMounts = mkOption { type = with types; loaOf (submodule bindMountOpts); default = {}; @@ -651,12 +700,14 @@ in unit = { description = "Container '%i'"; - unitConfig.RequiresMountsFor = [ "/var/lib/containers/%i" ]; + unitConfig.RequiresMountsFor = "/var/lib/containers/%i"; path = [ pkgs.iproute ]; - environment.INSTANCE = "%i"; - environment.root = "/var/lib/containers/%i"; + environment = { + root = "/var/lib/containers/%i"; + INSTANCE = "%i"; + }; preStart = preStartScript dummyConfig; @@ -685,7 +736,7 @@ in [{ name = "container@"; value = unit; }] # declarative containers ++ (mapAttrsToList (name: cfg: nameValuePair "container@${name}" (let - config = cfg // ( + containerConfig = cfg // ( if cfg.enableTun then { allowedDevices = cfg.allowedDevices @@ -695,19 +746,24 @@ in } else {}); in - unit // { - preStart = preStartScript config; - script = startScript config; - postStart = postStartScript config; - serviceConfig = serviceDirectives config; + recursiveUpdate unit { + preStart = preStartScript containerConfig; + script = startScript containerConfig; + postStart = postStartScript containerConfig; + serviceConfig = serviceDirectives containerConfig; + unitConfig.RequiresMountsFor = lib.optional (!containerConfig.ephemeral) "/var/lib/containers/%i"; + environment.root = if containerConfig.ephemeral then "/run/containers/%i" else "/var/lib/containers/%i"; } // ( - if config.autoStart then + if containerConfig.autoStart then { wantedBy = [ "machines.target" ]; wants = [ "network.target" ]; after = [ "network.target" ]; - restartTriggers = [ config.path ]; - reloadIfChanged = true; + restartTriggers = [ + containerConfig.path + config.environment.etc."containers/${name}.conf".source + ]; + restartIfChanged = true; } else {}) )) config.containers) diff --git a/nixos/modules/virtualisation/docker-containers.nix b/nixos/modules/virtualisation/docker-containers.nix new file mode 100644 index 00000000000..59b0943f591 --- /dev/null +++ b/nixos/modules/virtualisation/docker-containers.nix @@ -0,0 +1,230 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.docker-containers; + + dockerContainer = + { ... }: { + + options = { + + image = mkOption { + type = types.str; + description = "Docker image to run."; + example = "library/hello-world"; + }; + + cmd = mkOption { + type = with types; listOf str; + default = []; + description = "Commandline arguments to pass to the image's entrypoint."; + example = literalExample '' + ["--port=9000"] + ''; + }; + + entrypoint = mkOption { + type = with types; nullOr str; + description = "Overwrite the default entrypoint of the image."; + default = null; + example = "/bin/my-app"; + }; + + environment = mkOption { + type = with types; attrsOf str; + default = {}; + description = "Environment variables to set for this container."; + example = literalExample '' + { + DATABASE_HOST = "db.example.com"; + DATABASE_PORT = "3306"; + } + ''; + }; + + log-driver = mkOption { + type = types.str; + default = "none"; + description = '' + Logging driver for the container. The default of + "none" means that the container's logs will be + handled as part of the systemd unit. Setting this to + "journald" will result in duplicate logging, but + the container's logs will be visible to the docker + logs command. + + For more details and a full list of logging drivers, refer to the + + Docker engine documentation + ''; + }; + + ports = mkOption { + type = with types; listOf str; + default = []; + description = '' + Network ports to publish from the container to the outer host. + + Valid formats: + + + + + <ip>:<hostPort>:<containerPort> + + + + + <ip>::<containerPort> + + + + + <hostPort>:<containerPort> + + + + + <containerPort> + + + + + Both hostPort and + containerPort can be specified as a range of + ports. When specifying ranges for both, the number of container + ports in the range must match the number of host ports in the + range. Example: 1234-1236:1234-1236/tcp + + When specifying a range for hostPort only, the + containerPort must not be a + range. In this case, the container port is published somewhere + within the specified hostPort range. Example: + 1234-1236:1234/tcp + + Refer to the + + Docker engine documentation for full details. + ''; + example = literalExample '' + [ + "8080:9000" + ] + ''; + }; + + user = mkOption { + type = with types; nullOr str; + default = null; + description = '' + Override the username or UID (and optionally groupname or GID) used + in the container. + ''; + example = "nobody:nogroup"; + }; + + volumes = mkOption { + type = with types; listOf str; + default = []; + description = '' + List of volumes to attach to this container. + + Note that this is a list of "src:dst" strings to + allow for src to refer to + /nix/store paths, which would difficult with an + attribute set. There are also a variety of mount options available + as a third field; please refer to the + + docker engine documentation for details. + ''; + example = literalExample '' + [ + "volume_name:/path/inside/container" + "/path/on/host:/path/inside/container" + ] + ''; + }; + + workdir = mkOption { + type = with types; nullOr str; + default = null; + description = "Override the default working directory for the container."; + example = "/var/lib/hello_world"; + }; + + extraDockerOptions = mkOption { + type = with types; listOf str; + default = []; + description = "Extra options for docker run."; + example = literalExample '' + ["--network=host"] + ''; + }; + }; + }; + + mkService = name: container: { + wantedBy = [ "multi-user.target" ]; + after = [ "docker.service" "docker.socket" ]; + requires = [ "docker.service" "docker.socket" ]; + serviceConfig = { + ExecStart = concatStringsSep " \\\n " ([ + "${pkgs.docker}/bin/docker run" + "--rm" + "--name=%n" + "--log-driver=${container.log-driver}" + ] ++ optional (container.entrypoint != null) + "--entrypoint=${escapeShellArg container.entrypoint}" + ++ (mapAttrsToList (k: v: "-e ${escapeShellArg k}=${escapeShellArg v}") container.environment) + ++ map (p: "-p ${escapeShellArg p}") container.ports + ++ optional (container.user != null) "-u ${escapeShellArg container.user}" + ++ map (v: "-v ${escapeShellArg v}") container.volumes + ++ optional (container.workdir != null) "-w ${escapeShellArg container.workdir}" + ++ map escapeShellArg container.extraDockerOptions + ++ [container.image] + ++ map escapeShellArg container.cmd + ); + ExecStartPre = "-${pkgs.docker}/bin/docker rm -f %n"; + ExecStop = "${pkgs.docker}/bin/docker stop %n"; + ExecStopPost = "-${pkgs.docker}/bin/docker rm -f %n"; + + ### There is no generalized way of supporting `reload` for docker + ### containers. Some containers may respond well to SIGHUP sent to their + ### init process, but it is not guaranteed; some apps have other reload + ### mechanisms, some don't have a reload signal at all, and some docker + ### images just have broken signal handling. The best compromise in this + ### case is probably to leave ExecReload undefined, so `systemctl reload` + ### will at least result in an error instead of potentially undefined + ### behaviour. + ### + ### Advanced users can still override this part of the unit to implement + ### a custom reload handler, since the result of all this is a normal + ### systemd service from the perspective of the NixOS module system. + ### + # ExecReload = ...; + ### + + TimeoutStartSec = 0; + TimeoutStopSec = 120; + Restart = "always"; + }; + }; + +in { + + options.docker-containers = mkOption { + default = {}; + type = types.attrsOf (types.submodule dockerContainer); + description = "Docker containers to run as systemd services."; + }; + + config = mkIf (cfg != {}) { + + systemd.services = mapAttrs' (n: v: nameValuePair "docker-${n}" (mkService n v)) cfg; + + virtualisation.docker.enable = true; + + }; + +} diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix index a1a32c1c59a..7d196a46276 100644 --- a/nixos/modules/virtualisation/docker.nix +++ b/nixos/modules/virtualisation/docker.nix @@ -31,7 +31,7 @@ in listenOptions = mkOption { type = types.listOf types.str; - default = ["/var/run/docker.sock"]; + default = ["/run/docker.sock"]; description = '' A list of unix and tcp docker should listen to. The format follows @@ -46,12 +46,21 @@ in description = '' When enabled dockerd is started on boot. This is required for - container, which are created with the - --restart=always flag, to work. If this option is + containers which are created with the + --restart=always flag to work. If this option is disabled, docker might be started on demand by socket activation. ''; }; + enableNvidia = + mkOption { + type = types.bool; + default = false; + description = '' + Enable nvidia-docker wrapper, supporting NVIDIA GPUs inside docker containers. + ''; + }; + liveRestore = mkOption { type = types.bool; @@ -140,7 +149,8 @@ in ###### implementation config = mkIf cfg.enable (mkMerge [{ - environment.systemPackages = [ cfg.package ]; + environment.systemPackages = [ cfg.package ] + ++ optional cfg.enableNvidia pkgs.nvidia-docker; users.groups.docker.gid = config.ids.gids.docker; systemd.packages = [ cfg.package ]; @@ -157,6 +167,7 @@ in --log-driver=${cfg.logDriver} \ ${optionalString (cfg.storageDriver != null) "--storage-driver=${cfg.storageDriver}"} \ ${optionalString cfg.liveRestore "--live-restore" } \ + ${optionalString cfg.enableNvidia "--add-runtime nvidia=${pkgs.nvidia-docker}/bin/nvidia-container-runtime" } \ ${cfg.extraOptions} '']; ExecReload=[ @@ -165,7 +176,8 @@ in ]; }; - path = [ pkgs.kmod ] ++ (optional (cfg.storageDriver == "zfs") pkgs.zfs); + path = [ pkgs.kmod ] ++ optional (cfg.storageDriver == "zfs") pkgs.zfs + ++ optional cfg.enableNvidia pkgs.nvidia-docker; }; systemd.sockets.docker = { @@ -179,7 +191,6 @@ in }; }; - systemd.services.docker-prune = { description = "Prune docker resources"; @@ -194,7 +205,15 @@ in startAt = optional cfg.autoPrune.enable cfg.autoPrune.dates; }; + + assertions = [ + { assertion = cfg.enableNvidia -> config.hardware.opengl.driSupport32Bit or false; + message = "Option enableNvidia requires 32bit support libraries"; + }]; } + (mkIf cfg.enableNvidia { + environment.etc."nvidia-container-runtime/config.toml".source = "${pkgs.nvidia-docker}/etc/config.toml"; + }) ]); imports = [ diff --git a/nixos/modules/virtualisation/ec2-amis.nix b/nixos/modules/virtualisation/ec2-amis.nix index aaea06bb9a6..f640bb21b13 100644 --- a/nixos/modules/virtualisation/ec2-amis.nix +++ b/nixos/modules/virtualisation/ec2-amis.nix @@ -274,5 +274,22 @@ let self = { "18.09".sa-east-1.hvm-ebs = "ami-0e4a8a47fd6db6112"; "18.09".ap-south-1.hvm-ebs = "ami-0880a678d3f555313"; - latest = self."18.09"; + # 19.03.172286.8ea36d73256 + "19.03".eu-west-1.hvm-ebs = "ami-0fe40176548ff0940"; + "19.03".eu-west-2.hvm-ebs = "ami-03a40fd3a02fe95ba"; + "19.03".eu-west-3.hvm-ebs = "ami-0436f9da0f20a638e"; + "19.03".eu-central-1.hvm-ebs = "ami-0022b8ea9efde5de4"; + "19.03".us-east-1.hvm-ebs = "ami-0efc58fb70ae9a217"; + "19.03".us-east-2.hvm-ebs = "ami-0abf711b1b34da1af"; + "19.03".us-west-1.hvm-ebs = "ami-07d126e8838c40ec5"; + "19.03".us-west-2.hvm-ebs = "ami-03f8a737546e47fb0"; + "19.03".ca-central-1.hvm-ebs = "ami-03f9fd0ef2e035ede"; + "19.03".ap-southeast-1.hvm-ebs = "ami-0cff66114c652c262"; + "19.03".ap-southeast-2.hvm-ebs = "ami-054c73a7f8d773ea9"; + "19.03".ap-northeast-1.hvm-ebs = "ami-00db62688900456a4"; + "19.03".ap-northeast-2.hvm-ebs = "ami-0485cdd1a5fdd2117"; + "19.03".sa-east-1.hvm-ebs = "ami-0c6a43c6e0ad1f4e2"; + "19.03".ap-south-1.hvm-ebs = "ami-0303deb1b5890f878"; + + latest = self."19.03"; }; in self diff --git a/nixos/modules/virtualisation/google-compute-config.nix b/nixos/modules/virtualisation/google-compute-config.nix index 8c7331fe4d2..327324f2921 100644 --- a/nixos/modules/virtualisation/google-compute-config.nix +++ b/nixos/modules/virtualisation/google-compute-config.nix @@ -2,7 +2,6 @@ with lib; let gce = pkgs.google-compute-engine; - cfg = config.virtualisation.googleComputeImage; in { imports = [ @@ -12,6 +11,7 @@ in fileSystems."/" = { + fsType = "ext4"; device = "/dev/disk/by-label/nixos"; autoResize = true; }; @@ -21,7 +21,7 @@ in boot.initrd.kernelModules = [ "virtio_scsi" ]; boot.kernelModules = [ "virtio_pci" "virtio_net" ]; - # Generate a GRUB menu. Amazon's pv-grub uses this to boot our kernel/initrd. + # Generate a GRUB menu. boot.loader.grub.device = "/dev/sda"; boot.loader.timeout = 0; @@ -29,12 +29,16 @@ in # way to select them anyway. boot.loader.grub.configurationLimit = 0; - # Allow root logins only using the SSH key that the user specified - # at instance creation time. + # Allow root logins only using SSH keys + # and disable password authentication in general services.openssh.enable = true; services.openssh.permitRootLogin = "prohibit-password"; services.openssh.passwordAuthentication = mkDefault false; + # enable OS Login. This also requires setting enable-oslogin=TRUE metadata on + # instance or project level + security.googleOsLogin.enable = true; + # Use GCE udev rules for dynamic disk volumes services.udev.packages = [ gce ]; @@ -65,171 +69,80 @@ in # GC has 1460 MTU networking.interfaces.eth0.mtu = 1460; - security.googleOsLogin.enable = true; - - systemd.services.google-clock-skew-daemon = { - description = "Google Compute Engine Clock Skew Daemon"; - after = [ - "network.target" - "google-instance-setup.service" - "google-network-setup.service" - ]; - requires = ["network.target"]; - wantedBy = ["multi-user.target"]; - serviceConfig = { - Type = "simple"; - ExecStart = "${gce}/bin/google_clock_skew_daemon --debug"; - }; - }; - systemd.services.google-instance-setup = { description = "Google Compute Engine Instance Setup"; - after = ["local-fs.target" "network-online.target" "network.target" "rsyslog.service"]; - before = ["sshd.service"]; - wants = ["local-fs.target" "network-online.target" "network.target"]; - wantedBy = [ "sshd.service" "multi-user.target" ]; - path = with pkgs; [ ethtool openssh ]; + after = [ "network-online.target" "network.target" "rsyslog.service" ]; + before = [ "sshd.service" ]; + path = with pkgs; [ coreutils ethtool openssh ]; serviceConfig = { - ExecStart = "${gce}/bin/google_instance_setup --debug"; + ExecStart = "${gce}/bin/google_instance_setup"; + StandardOutput="journal+console"; Type = "oneshot"; }; + wantedBy = [ "sshd.service" "multi-user.target" ]; }; systemd.services.google-network-daemon = { description = "Google Compute Engine Network Daemon"; - after = ["local-fs.target" "network-online.target" "network.target" "rsyslog.service" "google-instance-setup.service"]; - wants = ["local-fs.target" "network-online.target" "network.target"]; - requires = ["network.target"]; - partOf = ["network.target"]; - wantedBy = [ "multi-user.target" ]; + after = [ "network-online.target" "network.target" "google-instance-setup.service" ]; path = with pkgs; [ iproute ]; serviceConfig = { - ExecStart = "${gce}/bin/google_network_daemon --debug"; + ExecStart = "${gce}/bin/google_network_daemon"; + StandardOutput="journal+console"; + Type="simple"; }; + wantedBy = [ "multi-user.target" ]; }; + systemd.services.google-clock-skew-daemon = { + description = "Google Compute Engine Clock Skew Daemon"; + after = [ "network.target" "google-instance-setup.service" "google-network-daemon.service" ]; + serviceConfig = { + ExecStart = "${gce}/bin/google_clock_skew_daemon"; + StandardOutput="journal+console"; + Type = "simple"; + }; + wantedBy = ["multi-user.target"]; + }; + + systemd.services.google-shutdown-scripts = { description = "Google Compute Engine Shutdown Scripts"; after = [ - "local-fs.target" "network-online.target" "network.target" "rsyslog.service" - "systemd-resolved.service" "google-instance-setup.service" "google-network-daemon.service" ]; - wants = [ "local-fs.target" "network-online.target" "network.target"]; - wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${pkgs.coreutils}/bin/true"; - ExecStop = "${gce}/bin/google_metadata_script_runner --debug --script-type shutdown"; - Type = "oneshot"; + ExecStop = "${gce}/bin/google_metadata_script_runner --script-type shutdown"; RemainAfterExit = true; - TimeoutStopSec = "infinity"; + StandardOutput="journal+console"; + TimeoutStopSec = "0"; + Type = "oneshot"; }; + wantedBy = [ "multi-user.target" ]; }; systemd.services.google-startup-scripts = { description = "Google Compute Engine Startup Scripts"; after = [ - "local-fs.target" "network-online.target" "network.target" "rsyslog.service" "google-instance-setup.service" "google-network-daemon.service" ]; - wants = ["local-fs.target" "network-online.target" "network.target"]; - wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = "${gce}/bin/google_metadata_script_runner --debug --script-type startup"; + ExecStart = "${gce}/bin/google_metadata_script_runner --script-type startup"; KillMode = "process"; + StandardOutput = "journal+console"; Type = "oneshot"; }; + wantedBy = [ "multi-user.target" ]; }; - - # Settings taken from https://github.com/GoogleCloudPlatform/compute-image-packages/blob/master/google_config/sysctl/11-gce-network-security.conf - boot.kernel.sysctl = { - # Turn on SYN-flood protections. Starting with 2.6.26, there is no loss - # of TCP functionality/features under normal conditions. When flood - # protections kick in under high unanswered-SYN load, the system - # should remain more stable, with a trade off of some loss of TCP - # functionality/features (e.g. TCP Window scaling). - "net.ipv4.tcp_syncookies" = mkDefault "1"; - - # ignores source-routed packets - "net.ipv4.conf.all.accept_source_route" = mkDefault "0"; - - # ignores source-routed packets - "net.ipv4.conf.default.accept_source_route" = mkDefault "0"; - - # ignores ICMP redirects - "net.ipv4.conf.all.accept_redirects" = mkDefault "0"; - - # ignores ICMP redirects - "net.ipv4.conf.default.accept_redirects" = mkDefault "0"; - - # ignores ICMP redirects from non-GW hosts - "net.ipv4.conf.all.secure_redirects" = mkDefault "1"; - - # ignores ICMP redirects from non-GW hosts - "net.ipv4.conf.default.secure_redirects" = mkDefault "1"; - - # don't allow traffic between networks or act as a router - "net.ipv4.ip_forward" = mkDefault "0"; - - # don't allow traffic between networks or act as a router - "net.ipv4.conf.all.send_redirects" = mkDefault "0"; - - # don't allow traffic between networks or act as a router - "net.ipv4.conf.default.send_redirects" = mkDefault "0"; - - # reverse path filtering - IP spoofing protection - "net.ipv4.conf.all.rp_filter" = mkDefault "1"; - - # reverse path filtering - IP spoofing protection - "net.ipv4.conf.default.rp_filter" = mkDefault "1"; - - # ignores ICMP broadcasts to avoid participating in Smurf attacks - "net.ipv4.icmp_echo_ignore_broadcasts" = mkDefault "1"; - - # ignores bad ICMP errors - "net.ipv4.icmp_ignore_bogus_error_responses" = mkDefault "1"; - - # logs spoofed, source-routed, and redirect packets - "net.ipv4.conf.all.log_martians" = mkDefault "1"; - - # log spoofed, source-routed, and redirect packets - "net.ipv4.conf.default.log_martians" = mkDefault "1"; - - # implements RFC 1337 fix - "net.ipv4.tcp_rfc1337" = mkDefault "1"; - - # randomizes addresses of mmap base, heap, stack and VDSO page - "kernel.randomize_va_space" = mkDefault "2"; - - # Reboot the machine soon after a kernel panic. - "kernel.panic" = mkDefault "10"; - - ## Not part of the original config - - # provides protection from ToCToU races - "fs.protected_hardlinks" = mkDefault "1"; - - # provides protection from ToCToU races - "fs.protected_symlinks" = mkDefault "1"; - - # makes locating kernel addresses more difficult - "kernel.kptr_restrict" = mkDefault "1"; - - # set ptrace protections - "kernel.yama.ptrace_scope" = mkOverride 500 "1"; - - # set perf only available to root - "kernel.perf_event_paranoid" = mkDefault "2"; - - }; - + environment.etc."sysctl.d/11-gce-network-security.conf".source = "${gce}/sysctl.d/11-gce-network-security.conf"; } diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix index 0d2d25d3075..d172ae38fdc 100644 --- a/nixos/modules/virtualisation/google-compute-image.nix +++ b/nixos/modules/virtualisation/google-compute-image.nix @@ -51,7 +51,7 @@ in popd ''; format = "raw"; - configFile = if isNull cfg.configFile then defaultConfigFile else cfg.configFile; + configFile = if cfg.configFile == null then defaultConfigFile else cfg.configFile; inherit (cfg) diskSize; inherit config lib pkgs; }; diff --git a/nixos/modules/virtualisation/kvmgt.nix b/nixos/modules/virtualisation/kvmgt.nix index 132815a0ad6..78753da5532 100644 --- a/nixos/modules/virtualisation/kvmgt.nix +++ b/nixos/modules/virtualisation/kvmgt.nix @@ -4,13 +4,16 @@ with lib; let cfg = config.virtualisation.kvmgt; + kernelPackages = config.boot.kernelPackages; + vgpuOptions = { uuid = mkOption { - type = types.string; + type = types.str; description = "UUID of VGPU device. You can generate one with libossp_uuid."; }; }; + in { options = { virtualisation.kvmgt = { @@ -20,7 +23,7 @@ in { ''; # multi GPU support is under the question device = mkOption { - type = types.string; + type = types.str; default = "0000:00:02.0"; description = "PCI ID of graphics card. You can figure it with ls /sys/class/mdev_bus."; }; @@ -45,23 +48,32 @@ in { assertion = versionAtLeast kernelPackages.kernel.version "4.16"; message = "KVMGT is not properly supported for kernels older than 4.16"; }; - boot.kernelParams = [ "i915.enable_gvt=1" ]; + + boot.kernelModules = [ "kvmgt" ]; + + boot.extraModprobeConfig = '' + options i915 enable_gvt=1 + ''; + + systemd.paths = mapAttrs' (name: value: + nameValuePair "kvmgt-${name}" { + description = "KVMGT VGPU ${name} path"; + wantedBy = [ "multi-user.target" ]; + pathConfig = { + PathExists = "/sys/bus/pci/devices/${cfg.device}/mdev_supported_types/${name}/create"; + }; + } + ) cfg.vgpus; + systemd.services = mapAttrs' (name: value: nameValuePair "kvmgt-${name}" { description = "KVMGT VGPU ${name}"; serviceConfig = { - Type = "forking"; + Type = "oneshot"; RemainAfterExit = true; - Restart = "on-failure"; - RestartSec = 5; ExecStart = "${pkgs.runtimeShell} -c 'echo ${value.uuid} > /sys/bus/pci/devices/${cfg.device}/mdev_supported_types/${name}/create'"; ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/bus/pci/devices/${cfg.device}/${value.uuid}/remove'"; }; - unitConfig = { - StartLimitBurst = 5; - StartLimitIntervalSec = 30; - }; - wantedBy = [ "multi-user.target" ]; } ) cfg.vgpus; }; diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix index f4d7af1664a..16b79d86919 100644 --- a/nixos/modules/virtualisation/libvirtd.nix +++ b/nixos/modules/virtualisation/libvirtd.nix @@ -23,14 +23,16 @@ let ''} ${cfg.qemuVerbatimConfig} ''; + dirName = "libvirt"; + subDirs = list: [ dirName ] ++ map (e: "${dirName}/${e}") list; in { ###### interface - options = { + options.virtualisation.libvirtd = { - virtualisation.libvirtd.enable = mkOption { + enable = mkOption { type = types.bool; default = false; description = '' @@ -41,7 +43,7 @@ in { ''; }; - virtualisation.libvirtd.qemuPackage = mkOption { + qemuPackage = mkOption { type = types.package; default = pkgs.qemu; description = '' @@ -51,7 +53,7 @@ in { ''; }; - virtualisation.libvirtd.extraConfig = mkOption { + extraConfig = mkOption { type = types.lines; default = ""; description = '' @@ -60,7 +62,7 @@ in { ''; }; - virtualisation.libvirtd.qemuRunAsRoot = mkOption { + qemuRunAsRoot = mkOption { type = types.bool; default = true; description = '' @@ -72,7 +74,7 @@ in { ''; }; - virtualisation.libvirtd.qemuVerbatimConfig = mkOption { + qemuVerbatimConfig = mkOption { type = types.lines; default = '' namespaces = [] @@ -84,7 +86,7 @@ in { ''; }; - virtualisation.libvirtd.qemuOvmf = mkOption { + qemuOvmf = mkOption { type = types.bool; default = true; description = '' @@ -93,7 +95,7 @@ in { ''; }; - virtualisation.libvirtd.extraOptions = mkOption { + extraOptions = mkOption { type = types.listOf types.str; default = [ ]; example = [ "--verbose" ]; @@ -102,7 +104,19 @@ in { ''; }; - virtualisation.libvirtd.onShutdown = mkOption { + onBoot = mkOption { + type = types.enum ["start" "ignore" ]; + default = "start"; + description = '' + Specifies the action to be done to / on the guests when the host boots. + The "start" option starts all guests that were running prior to shutdown + regardless of their autostart settings. The "ignore" option will not + start the formally running guest on boot. However, any guest marked as + autostart will still be automatically started by libvirtd. + ''; + }; + + onShutdown = mkOption { type = types.enum ["shutdown" "suspend" ]; default = "suspend"; description = '' @@ -113,6 +127,14 @@ in { ''; }; + allowedBridges = mkOption { + type = types.listOf types.str; + default = [ "virbr0" ]; + description = '' + List of bridge devices that can be used by qemu:///session + ''; + }; + }; @@ -120,7 +142,12 @@ in { config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ libvirt libressl.nc cfg.qemuPackage ]; + environment = { + # this file is expected in /etc/qemu and not sysconfdir (/var/lib) + etc."qemu/bridge.conf".text = lib.concatMapStringsSep "\n" (e: + "allow ${e}") cfg.allowedBridges; + systemPackages = with pkgs; [ libvirt libressl.nc cfg.qemuPackage ]; + }; boot.kernelModules = [ "tun" ]; @@ -134,30 +161,15 @@ in { group = "qemu-libvirtd"; }; + security.wrappers.qemu-bridge-helper = { + source = "/run/${dirName}/nix-helpers/qemu-bridge-helper"; + }; + systemd.packages = [ pkgs.libvirt ]; - systemd.services.libvirtd = { - description = "Libvirt Virtual Machine Management Daemon"; - - wantedBy = [ "multi-user.target" ]; - after = [ "systemd-udev-settle.service" ] - ++ optional vswitch.enable "vswitchd.service"; - - environment.LIBVIRTD_ARGS = ''--config "${configFile}" ${concatStringsSep " " cfg.extraOptions}''; - - path = [ cfg.qemuPackage ] # libvirtd requires qemu-img to manage disk images - ++ optional vswitch.enable vswitch.package; - - preStart = '' - mkdir -p /var/log/libvirt/qemu -m 755 - rm -f /var/run/libvirtd.pid - - mkdir -p /var/lib/libvirt - mkdir -p /var/lib/libvirt/dnsmasq - - chmod 755 /var/lib/libvirt - chmod 755 /var/lib/libvirt/dnsmasq - + systemd.services.libvirtd-config = { + description = "Libvirt Virtual Machine Management Daemon - configuration"; + script = '' # Copy default libvirt network config .xml files to /var/lib # Files modified by the user will not be overwritten for i in $(cd ${pkgs.libvirt}/var/lib && echo \ @@ -169,21 +181,45 @@ in { done # Copy generated qemu config to libvirt directory - cp -f ${qemuConfigFile} /var/lib/libvirt/qemu.conf + cp -f ${qemuConfigFile} /var/lib/${dirName}/qemu.conf # stable (not GC'able as in /nix/store) paths for using in section of xml configs - mkdir -p /run/libvirt/nix-emulators for emulator in ${pkgs.libvirt}/libexec/libvirt_lxc ${cfg.qemuPackage}/bin/qemu-kvm ${cfg.qemuPackage}/bin/qemu-system-*; do - ln -s --force "$emulator" /run/libvirt/nix-emulators/ + ln -s --force "$emulator" /run/${dirName}/nix-emulators/ + done + + for helper in libexec/qemu-bridge-helper bin/qemu-pr-helper; do + ln -s --force ${cfg.qemuPackage}/$helper /run/${dirName}/nix-helpers/ done ${optionalString cfg.qemuOvmf '' - mkdir -p /run/libvirt/nix-ovmf - ln -s --force ${pkgs.OVMF.fd}/FV/OVMF_CODE.fd /run/libvirt/nix-ovmf/ - ln -s --force ${pkgs.OVMF.fd}/FV/OVMF_VARS.fd /run/libvirt/nix-ovmf/ + ln -s --force ${pkgs.OVMF.fd}/FV/OVMF_CODE.fd /run/${dirName}/nix-ovmf/ + ln -s --force ${pkgs.OVMF.fd}/FV/OVMF_VARS.fd /run/${dirName}/nix-ovmf/ ''} ''; + serviceConfig = { + Type = "oneshot"; + RuntimeDirectoryPreserve = "yes"; + LogsDirectory = subDirs [ "qemu" ]; + RuntimeDirectory = subDirs [ "nix-emulators" "nix-helpers" "nix-ovmf" ]; + StateDirectory = subDirs [ "dnsmasq" ]; + }; + }; + + systemd.services.libvirtd = { + description = "Libvirt Virtual Machine Management Daemon"; + + wantedBy = [ "multi-user.target" ]; + requires = [ "libvirtd-config.service" ]; + after = [ "systemd-udev-settle.service" "libvirtd-config.service" ] + ++ optional vswitch.enable "vswitchd.service"; + + environment.LIBVIRTD_ARGS = ''--config "${configFile}" ${concatStringsSep " " cfg.extraOptions}''; + + path = [ cfg.qemuPackage ] # libvirtd requires qemu-img to manage disk images + ++ optional vswitch.enable vswitch.package; + serviceConfig = { Type = "notify"; KillMode = "process"; # when stopping, leave the VMs alone @@ -197,13 +233,14 @@ in { path = with pkgs; [ coreutils libvirt gawk ]; restartIfChanged = false; + environment.ON_BOOT = "${cfg.onBoot}"; environment.ON_SHUTDOWN = "${cfg.onShutdown}"; }; systemd.sockets.virtlogd = { description = "Virtual machine log manager socket"; wantedBy = [ "sockets.target" ]; - listenStreams = [ "/run/libvirt/virtlogd-sock" ]; + listenStreams = [ "/run/${dirName}/virtlogd-sock" ]; }; systemd.services.virtlogd = { @@ -215,7 +252,7 @@ in { systemd.sockets.virtlockd = { description = "Virtual machine lock manager socket"; wantedBy = [ "sockets.target" ]; - listenStreams = [ "/run/libvirt/virtlockd-sock" ]; + listenStreams = [ "/run/${dirName}/virtlockd-sock" ]; }; systemd.services.virtlockd = { diff --git a/nixos/modules/virtualisation/openstack-config.nix b/nixos/modules/virtualisation/openstack-config.nix index d5e862da0ea..c2da5d0d230 100644 --- a/nixos/modules/virtualisation/openstack-config.nix +++ b/nixos/modules/virtualisation/openstack-config.nix @@ -20,6 +20,7 @@ in config = { fileSystems."/" = { device = "/dev/disk/by-label/nixos"; + fsType = "ext4"; autoResize = true; }; diff --git a/nixos/modules/virtualisation/openvswitch.nix b/nixos/modules/virtualisation/openvswitch.nix index bb8b9172f23..edec3740230 100644 --- a/nixos/modules/virtualisation/openvswitch.nix +++ b/nixos/modules/virtualisation/openvswitch.nix @@ -49,12 +49,12 @@ in { config = mkIf cfg.enable (let # Where the communication sockets live - runDir = "/var/run/openvswitch"; + runDir = "/run/openvswitch"; # The path to the an initialized version of the database db = pkgs.stdenv.mkDerivation { name = "vswitch.db"; - unpackPhase = "true"; + dontUnpack = true; buildPhase = "true"; buildInputs = with pkgs; [ cfg.package @@ -99,13 +99,13 @@ in { --certificate=db:Open_vSwitch,SSL,certificate \ --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \ --unixctl=ovsdb.ctl.sock \ - --pidfile=/var/run/openvswitch/ovsdb.pid \ + --pidfile=/run/openvswitch/ovsdb.pid \ --detach \ /var/db/openvswitch/conf.db ''; Restart = "always"; RestartSec = 3; - PIDFile = "/var/run/openvswitch/ovsdb.pid"; + PIDFile = "/run/openvswitch/ovsdb.pid"; # Use service type 'forking' to correctly determine when ovsdb-server is ready. Type = "forking"; }; @@ -123,10 +123,10 @@ in { serviceConfig = { ExecStart = '' ${cfg.package}/bin/ovs-vswitchd \ - --pidfile=/var/run/openvswitch/ovs-vswitchd.pid \ + --pidfile=/run/openvswitch/ovs-vswitchd.pid \ --detach ''; - PIDFile = "/var/run/openvswitch/ovs-vswitchd.pid"; + PIDFile = "/run/openvswitch/ovs-vswitchd.pid"; # Use service type 'forking' to correctly determine when vswitchd is ready. Type = "forking"; }; @@ -152,11 +152,11 @@ in { ExecStart = '' ${cfg.package}/bin/ovs-monitor-ipsec \ --root-prefix ${runDir}/ipsec \ - --pidfile /var/run/openvswitch/ovs-monitor-ipsec.pid \ + --pidfile /run/openvswitch/ovs-monitor-ipsec.pid \ --monitor --detach \ - unix:/var/run/openvswitch/db.sock + unix:/run/openvswitch/db.sock ''; - PIDFile = "/var/run/openvswitch/ovs-monitor-ipsec.pid"; + PIDFile = "/run/openvswitch/ovs-monitor-ipsec.pid"; # Use service type 'forking' to correctly determine when ovs-monitor-ipsec is ready. Type = "forking"; }; @@ -167,7 +167,7 @@ in { ln -fs ${pkgs.ipsecTools}/bin/setkey ${runDir}/ipsec/usr/sbin/setkey ln -fs ${pkgs.writeScript "racoon-restart" '' #!${pkgs.runtimeShell} - /var/run/current-system/sw/bin/systemctl $1 racoon + /run/current-system/sw/bin/systemctl $1 racoon ''} ${runDir}/ipsec/etc/init.d/racoon ''; }; diff --git a/nixos/modules/virtualisation/parallels-guest.nix b/nixos/modules/virtualisation/parallels-guest.nix index 4e0f2cae299..828419fb4b9 100644 --- a/nixos/modules/virtualisation/parallels-guest.nix +++ b/nixos/modules/virtualisation/parallels-guest.nix @@ -47,7 +47,7 @@ in config = mkIf config.hardware.parallels.enable { services.xserver = { drivers = singleton - { name = "prlvideo"; modules = [ prl-tools ]; libPath = [ prl-tools ]; }; + { name = "prlvideo"; modules = [ prl-tools ]; }; screenSection = '' Option "NoMTRR" @@ -65,6 +65,7 @@ in hardware.opengl.package = prl-tools; hardware.opengl.package32 = pkgs.pkgsi686Linux.linuxPackages.prl-tools.override { libsOnly = true; kernel = null; }; + hardware.opengl.setLdLibraryPath = true; services.udev.packages = [ prl-tools ]; diff --git a/nixos/modules/virtualisation/virtualbox-host.nix b/nixos/modules/virtualisation/virtualbox-host.nix index 60779579402..41bcb909fb5 100644 --- a/nixos/modules/virtualisation/virtualbox-host.nix +++ b/nixos/modules/virtualisation/virtualbox-host.nix @@ -83,6 +83,8 @@ in }; config = mkIf cfg.enable (mkMerge [{ + warnings = mkIf (config.nixpkgs.config.virtualbox.enableExtensionPack or false) + ["'nixpkgs.virtualbox.enableExtensionPack' has no effect, please use 'virtualisation.virtualbox.host.enableExtensionPack'"]; boot.kernelModules = [ "vboxdrv" "vboxnetadp" "vboxnetflt" ]; boot.extraModulePackages = [ kernelModules ]; environment.systemPackages = [ virtualbox ]; @@ -102,7 +104,7 @@ in "VBoxNetNAT" "VBoxSDL" "VBoxVolInfo" - "VirtualBox" + "VirtualBoxVM" ])); users.groups.vboxusers.gid = config.ids.gids.vboxusers; diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix index 037c0d2f0d8..ab65523592d 100644 --- a/nixos/modules/virtualisation/virtualbox-image.nix +++ b/nixos/modules/virtualisation/virtualbox-image.nix @@ -94,11 +94,17 @@ in { fileSystems."/" = { device = "/dev/disk/by-label/nixos"; autoResize = true; + fsType = "ext4"; }; boot.growPartition = true; boot.loader.grub.device = "/dev/sda"; + swapDevices = [{ + device = "/var/swap"; + size = 2048; + }]; + virtualisation.virtualbox.guest.enable = true; }; diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix index 70e575b6c0d..06d5c63476f 100644 --- a/nixos/modules/virtualisation/xen-dom0.nix +++ b/nixos/modules/virtualisation/xen-dom0.nix @@ -119,7 +119,7 @@ in virtualisation.xen.domains = { extraConfig = mkOption { - type = types.string; + type = types.lines; default = ""; description = '' diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index 6c313f8dd3e..9e2109d88b5 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -64,11 +64,14 @@ in rec { #(all nixos.tests.containers) (all nixos.tests.containers-imperative) (all nixos.tests.containers-ipv4) + (all nixos.tests.containers-ipv6) nixos.tests.chromium.x86_64-linux or [] (all nixos.tests.firefox) (all nixos.tests.firewall) - (except ["aarch64-linux"] nixos.tests.gnome3) - (except ["aarch64-linux"] nixos.tests.pantheon) + (all nixos.tests.fontconfig-default-fonts) + (all nixos.tests.gnome3-xorg) + (all nixos.tests.gnome3) + (all nixos.tests.pantheon) nixos.tests.installer.zfsroot.x86_64-linux or [] # ZFS is 64bit only (except ["aarch64-linux"] nixos.tests.installer.lvm) (except ["aarch64-linux"] nixos.tests.installer.luksroot) @@ -102,7 +105,7 @@ in rec { #(all nixos.tests.keymap.neo) #(all nixos.tests.keymap.qwertz) (all nixos.tests.plasma5) - #(all nixos.tests.lightdm) + (all nixos.tests.lightdm) (all nixos.tests.login) (all nixos.tests.misc) (all nixos.tests.mutableUsers) @@ -134,6 +137,7 @@ in rec { (all nixos.tests.switchTest) (all nixos.tests.udisks2) (all nixos.tests.xfce) + (all nixos.tests.xfce4-14) nixpkgs.tarball (all allSupportedNixpkgs.emacs) diff --git a/nixos/release-small.nix b/nixos/release-small.nix index 4bfb9a423f7..84af457801a 100644 --- a/nixos/release-small.nix +++ b/nixos/release-small.nix @@ -11,7 +11,7 @@ let nixpkgsSrc = nixpkgs; # urgh - pkgs = import ./.. {}; + pkgs = import ./.. { system = "x86_64-linux"; }; lib = pkgs.lib; @@ -33,6 +33,7 @@ in rec { inherit (nixos'.tests) containers-imperative containers-ipv4 + containers-ipv6 firewall ipv6 login diff --git a/nixos/tests/acme.nix b/nixos/tests/acme.nix index 4669a092433..8cfdea4a16e 100644 --- a/nixos/tests/acme.nix +++ b/nixos/tests/acme.nix @@ -3,19 +3,49 @@ let in import ./make-test.nix { name = "acme"; - nodes = { + nodes = rec { letsencrypt = ./common/letsencrypt; + acmeStandalone = { config, pkgs, ... }: { + imports = [ commonConfig ]; + networking.firewall.allowedTCPPorts = [ 80 ]; + networking.extraHosts = '' + ${config.networking.primaryIPAddress} standalone.com + ''; + security.acme.certs."standalone.com" = { + webroot = "/var/lib/acme/acme-challenges"; + }; + systemd.targets."acme-finished-standalone.com" = {}; + systemd.services."acme-standalone.com" = { + wants = [ "acme-finished-standalone.com.target" ]; + before = [ "acme-finished-standalone.com.target" ]; + }; + services.nginx.enable = true; + services.nginx.virtualHosts."standalone.com" = { + locations."/.well-known/acme-challenge".root = "/var/lib/acme/acme-challenges"; + }; + }; + webserver = { config, pkgs, ... }: { imports = [ commonConfig ]; networking.firewall.allowedTCPPorts = [ 80 443 ]; networking.extraHosts = '' - ${config.networking.primaryIPAddress} example.com + ${config.networking.primaryIPAddress} a.example.com + ${config.networking.primaryIPAddress} b.example.com ''; + # A target remains active. Use this to probe the fact that + # a service fired eventhough it is not RemainAfterExit + systemd.targets."acme-finished-a.example.com" = {}; + systemd.services."acme-a.example.com" = { + wants = [ "acme-finished-a.example.com.target" ]; + before = [ "acme-finished-a.example.com.target" ]; + }; + services.nginx.enable = true; - services.nginx.virtualHosts."example.com" = { + + services.nginx.virtualHosts."a.example.com" = { enableACME = true; forceSSL = true; locations."/".root = pkgs.runCommand "docroot" {} '' @@ -23,17 +53,63 @@ in import ./make-test.nix { echo hello world > "$out/index.html" ''; }; + + nesting.clone = [ + ({pkgs, ...}: { + + networking.extraHosts = '' + ${config.networking.primaryIPAddress} b.example.com + ''; + systemd.targets."acme-finished-b.example.com" = {}; + systemd.services."acme-b.example.com" = { + wants = [ "acme-finished-b.example.com.target" ]; + before = [ "acme-finished-b.example.com.target" ]; + }; + services.nginx.virtualHosts."b.example.com" = { + enableACME = true; + forceSSL = true; + locations."/".root = pkgs.runCommand "docroot" {} '' + mkdir -p "$out" + echo hello world > "$out/index.html" + ''; + }; + }) + ]; }; client = commonConfig; }; - testScript = '' - $letsencrypt->waitForUnit("default.target"); - $letsencrypt->waitForUnit("boulder.service"); - $webserver->waitForUnit("default.target"); - $webserver->waitForUnit("acme-certificates.target"); - $client->waitForUnit("default.target"); - $client->succeed('curl https://example.com/ | grep -qF "hello world"'); - ''; + testScript = {nodes, ...}: + let + newServerSystem = nodes.webserver2.config.system.build.toplevel; + switchToNewServer = "${newServerSystem}/bin/switch-to-configuration test"; + in + # Note, waitForUnit does not work for oneshot services that do not have RemainAfterExit=true, + # this is because a oneshot goes from inactive => activating => inactive, and never + # reaches the active state. To work around this, we create some mock target units which + # get pulled in by the oneshot units. The target units linger after activation, and hence we + # can use them to probe that a oneshot fired. It is a bit ugly, but it is the best we can do + '' + $client->waitForUnit("default.target"); + $letsencrypt->waitForUnit("default.target"); + $letsencrypt->waitForUnit("boulder.service"); + + subtest "can request certificate with HTTPS-01 challenge", sub { + $acmeStandalone->waitForUnit("default.target"); + $acmeStandalone->succeed("systemctl start acme-standalone.com.service"); + $acmeStandalone->waitForUnit("acme-finished-standalone.com.target"); + }; + + subtest "Can request certificate for nginx service", sub { + $webserver->waitForUnit("acme-finished-a.example.com.target"); + $client->succeed('curl https://a.example.com/ | grep -qF "hello world"'); + }; + + subtest "Can add another certificate for nginx service", sub { + $webserver->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test"); + $webserver->waitForUnit("acme-finished-b.example.com.target"); + $client->succeed('curl https://b.example.com/ | grep -qF "hello world"'); + }; + ''; } diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 3d8fea95a50..8ee4dfbf13b 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -23,8 +23,10 @@ in { acme = handleTestOn ["x86_64-linux"] ./acme.nix {}; atd = handleTest ./atd.nix {}; + automysqlbackup = handleTest ./automysqlbackup.nix {}; avahi = handleTest ./avahi.nix {}; bcachefs = handleTestOn ["x86_64-linux"] ./bcachefs.nix {}; # linux-4.18.2018.10.12 is unsupported on aarch64 + beanstalkd = handleTest ./beanstalkd.nix {}; beegfs = handleTestOn ["x86_64-linux"] ./beegfs.nix {}; # beegfs is unsupported on aarch64 bind = handleTest ./bind.nix {}; bittorrent = handleTest ./bittorrent.nix {}; @@ -34,6 +36,7 @@ in borgbackup = handleTest ./borgbackup.nix {}; buildbot = handleTest ./buildbot.nix {}; cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {}; + cassandra = handleTest ./cassandra.nix {}; ceph = handleTestOn ["x86_64-linux"] ./ceph.nix {}; certmgr = handleTest ./certmgr.nix {}; cfssl = handleTestOn ["x86_64-linux"] ./cfssl.nix {}; @@ -42,7 +45,9 @@ in clickhouse = handleTest ./clickhouse.nix {}; cloud-init = handleTest ./cloud-init.nix {}; codimd = handleTest ./codimd.nix {}; + colord = handleTest ./colord.nix {}; containers-bridge = handleTest ./containers-bridge.nix {}; + containers-ephemeral = handleTest ./containers-ephemeral.nix {}; containers-extra_veth = handleTest ./containers-extra_veth.nix {}; containers-hosts = handleTest ./containers-hosts.nix {}; containers-imperative = handleTest ./containers-imperative.nix {}; @@ -52,29 +57,37 @@ in containers-physical_interfaces = handleTest ./containers-physical_interfaces.nix {}; containers-restart_networking = handleTest ./containers-restart_networking.nix {}; containers-tmpfs = handleTest ./containers-tmpfs.nix {}; - #couchdb = handleTest ./couchdb.nix {}; # spidermonkey-1.8.5 is marked as broken + couchdb = handleTest ./couchdb.nix {}; deluge = handleTest ./deluge.nix {}; dhparams = handleTest ./dhparams.nix {}; dnscrypt-proxy = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy.nix {}; docker = handleTestOn ["x86_64-linux"] ./docker.nix {}; + docker-containers = handleTestOn ["x86_64-linux"] ./docker-containers.nix {}; docker-edge = handleTestOn ["x86_64-linux"] ./docker-edge.nix {}; docker-preloader = handleTestOn ["x86_64-linux"] ./docker-preloader.nix {}; docker-registry = handleTest ./docker-registry.nix {}; docker-tools = handleTestOn ["x86_64-linux"] ./docker-tools.nix {}; docker-tools-overlay = handleTestOn ["x86_64-linux"] ./docker-tools-overlay.nix {}; + documize = handleTest ./documize.nix {}; dovecot = handleTest ./dovecot.nix {}; # ec2-config doesn't work in a sandbox as the simulated ec2 instance needs network access #ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {}; ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {}; ecryptfs = handleTest ./ecryptfs.nix {}; + ejabberd = handleTest ./xmpp/ejabberd.nix {}; elk = handleTestOn ["x86_64-linux"] ./elk.nix {}; env = handleTest ./env.nix {}; etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {}; + etcd-cluster = handleTestOn ["x86_64-linux"] ./etcd-cluster.nix {}; ferm = handleTest ./ferm.nix {}; firefox = handleTest ./firefox.nix {}; firewall = handleTest ./firewall.nix {}; + fish = handleTest ./fish.nix {}; flannel = handleTestOn ["x86_64-linux"] ./flannel.nix {}; flatpak = handleTest ./flatpak.nix {}; + flatpak-builder = handleTest ./flatpak-builder.nix {}; + fluentd = handleTest ./fluentd.nix {}; + fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {}; fsck = handleTest ./fsck.nix {}; fwupd = handleTestOn ["x86_64-linux"] ./fwupd.nix {}; # libsmbios is unsupported on aarch64 gdk-pixbuf = handleTest ./gdk-pixbuf.nix {}; @@ -82,13 +95,17 @@ in gitlab = handleTest ./gitlab.nix {}; gitolite = handleTest ./gitolite.nix {}; gjs = handleTest ./gjs.nix {}; - google-oslogin = handleTest ./google-oslogin {}; - gnome3 = handleTestOn ["x86_64-linux"] ./gnome3.nix {}; # libsmbios is unsupported on aarch64 - gnome3-gdm = handleTestOn ["x86_64-linux"] ./gnome3-gdm.nix {}; # libsmbios is unsupported on aarch64 + glusterfs = handleTest ./glusterfs.nix {}; + gnome3-xorg = handleTest ./gnome3-xorg.nix {}; + gnome3 = handleTest ./gnome3.nix {}; + gnome-photos = handleTest ./gnome-photos.nix {}; gocd-agent = handleTest ./gocd-agent.nix {}; gocd-server = handleTest ./gocd-server.nix {}; + google-oslogin = handleTest ./google-oslogin {}; + graphene = handleTest ./graphene.nix {}; grafana = handleTest ./grafana.nix {}; graphite = handleTest ./graphite.nix {}; + graylog = handleTest ./graylog.nix {}; hadoop.hdfs = handleTestOn [ "x86_64-linux" ] ./hadoop/hdfs.nix {}; hadoop.yarn = handleTestOn [ "x86_64-linux" ] ./hadoop/yarn.nix {}; handbrake = handleTestOn ["x86_64-linux"] ./handbrake.nix {}; @@ -101,6 +118,7 @@ in hound = handleTest ./hound.nix {}; hydra = handleTest ./hydra {}; i3wm = handleTest ./i3wm.nix {}; + icingaweb2 = handleTest ./icingaweb2.nix {}; iftop = handleTest ./iftop.nix {}; incron = handleTest ./incron.nix {}; influxdb = handleTest ./influxdb.nix {}; @@ -109,12 +127,16 @@ in installer = handleTest ./installer.nix {}; ipv6 = handleTest ./ipv6.nix {}; jackett = handleTest ./jackett.nix {}; + jellyfin = handleTest ./jellyfin.nix {}; jenkins = handleTest ./jenkins.nix {}; - #kafka = handleTest ./kafka.nix {}; # broken since openjdk: 8u181 -> 8u192 + jormungandr = handleTest ./jormungandr.nix {}; + kafka = handleTest ./kafka.nix {}; kerberos = handleTest ./kerberos/default.nix {}; kernel-latest = handleTest ./kernel-latest.nix {}; kernel-lts = handleTest ./kernel-lts.nix {}; + kernel-testing = handleTest ./kernel-testing.nix {}; keymap = handleTest ./keymap.nix {}; + knot = handleTest ./knot.nix {}; kubernetes.dns = handleTestOn ["x86_64-linux"] ./kubernetes/dns.nix {}; # kubernetes.e2e should eventually replace kubernetes.rbac when it works #kubernetes.e2e = handleTestOn ["x86_64-linux"] ./kubernetes/e2e.nix {}; @@ -122,22 +144,32 @@ in latestKernel.login = handleTest ./login.nix { latestKernel = true; }; ldap = handleTest ./ldap.nix {}; leaps = handleTest ./leaps.nix {}; + libxmlb = handleTest ./libxmlb.nix {}; lidarr = handleTest ./lidarr.nix {}; - #lightdm = handleTest ./lightdm.nix {}; + lightdm = handleTest ./lightdm.nix {}; + limesurvey = handleTest ./limesurvey.nix {}; login = handleTest ./login.nix {}; + loki = handleTest ./loki.nix {}; #logstash = handleTest ./logstash.nix {}; + mailcatcher = handleTest ./mailcatcher.nix {}; mathics = handleTest ./mathics.nix {}; matrix-synapse = handleTest ./matrix-synapse.nix {}; + mediawiki = handleTest ./mediawiki.nix {}; memcached = handleTest ./memcached.nix {}; mesos = handleTest ./mesos.nix {}; + metabase = handleTest ./metabase.nix {}; + miniflux = handleTest ./miniflux.nix {}; minio = handleTest ./minio.nix {}; misc = handleTest ./misc.nix {}; mongodb = handleTest ./mongodb.nix {}; + moodle = handleTest ./moodle.nix {}; morty = handleTest ./morty.nix {}; + mosquitto = handleTest ./mosquitto.nix {}; mpd = handleTest ./mpd.nix {}; mumble = handleTest ./mumble.nix {}; munin = handleTest ./munin.nix {}; mutableUsers = handleTest ./mutable-users.nix {}; + mxisd = handleTest ./mxisd.nix {}; mysql = handleTest ./mysql.nix {}; mysqlBackup = handleTest ./mysql-backup.nix {}; mysqlReplication = handleTest ./mysql-replication.nix {}; @@ -146,6 +178,7 @@ in nat.standalone = handleTest ./nat.nix { withFirewall = false; }; ndppd = handleTest ./ndppd.nix {}; neo4j = handleTest ./neo4j.nix {}; + nesting = handleTest ./nesting.nix {}; netdata = handleTest ./netdata.nix {}; networking.networkd = handleTest ./networking.nix { networkd = true; }; networking.scripted = handleTest ./networking.nix { networkd = false; }; @@ -159,8 +192,10 @@ in nginx = handleTest ./nginx.nix {}; nginx-sso = handleTest ./nginx-sso.nix {}; nix-ssh-serve = handleTest ./nix-ssh-serve.nix {}; + nixos-generate-config = handleTest ./nixos-generate-config.nix {}; novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {}; nsd = handleTest ./nsd.nix {}; + nzbget = handleTest ./nzbget.nix {}; openldap = handleTest ./openldap.nix {}; opensmtpd = handleTest ./opensmtpd.nix {}; openssh = handleTest ./openssh.nix {}; @@ -170,9 +205,12 @@ in osquery = handleTest ./osquery.nix {}; osrm-backend = handleTest ./osrm-backend.nix {}; ostree = handleTest ./ostree.nix {}; + overlayfs = handleTest ./overlayfs.nix {}; + packagekit = handleTest ./packagekit.nix {}; pam-oath-login = handleTest ./pam-oath-login.nix {}; pam-u2f = handleTest ./pam-u2f.nix {}; pantheon = handleTest ./pantheon.nix {}; + paperless = handleTest ./paperless.nix {}; peerflix = handleTest ./peerflix.nix {}; pgjwt = handleTest ./pgjwt.nix {}; pgmanage = handleTest ./pgmanage.nix {}; @@ -181,18 +219,22 @@ in plotinus = handleTest ./plotinus.nix {}; postgis = handleTest ./postgis.nix {}; postgresql = handleTest ./postgresql.nix {}; + postgresql-wal-receiver = handleTest ./postgresql-wal-receiver.nix {}; powerdns = handleTest ./powerdns.nix {}; predictable-interface-names = handleTest ./predictable-interface-names.nix {}; printing = handleTest ./printing.nix {}; prometheus = handleTest ./prometheus.nix {}; + prometheus2 = handleTest ./prometheus-2.nix {}; prometheus-exporters = handleTest ./prometheus-exporters.nix {}; - prosody = handleTest ./prosody.nix {}; + prosody = handleTest ./xmpp/prosody.nix {}; + prosodyMysql = handleTest ./xmpp/prosody-mysql.nix {}; proxy = handleTest ./proxy.nix {}; quagga = handleTest ./quagga.nix {}; quake3 = handleTest ./quake3.nix {}; rabbitmq = handleTest ./rabbitmq.nix {}; radarr = handleTest ./radarr.nix {}; radicale = handleTest ./radicale.nix {}; + redis = handleTest ./redis.nix {}; redmine = handleTest ./redmine.nix {}; roundcube = handleTest ./roundcube.nix {}; rspamd = handleTest ./rspamd.nix {}; @@ -202,6 +244,7 @@ in rxe = handleTest ./rxe.nix {}; samba = handleTest ./samba.nix {}; sddm = handleTest ./sddm.nix {}; + signal-desktop = handleTest ./signal-desktop.nix {}; simple = handleTest ./simple.nix {}; slim = handleTest ./slim.nix {}; slurm = handleTest ./slurm.nix {}; @@ -212,21 +255,32 @@ in strongswan-swanctl = handleTest ./strongswan-swanctl.nix {}; sudo = handleTest ./sudo.nix {}; switchTest = handleTest ./switch-test.nix {}; + syncthing-init = handleTest ./syncthing-init.nix {}; syncthing-relay = handleTest ./syncthing-relay.nix {}; systemd = handleTest ./systemd.nix {}; + systemd-confinement = handleTest ./systemd-confinement.nix {}; + systemd-timesyncd = handleTest ./systemd-timesyncd.nix {}; + systemd-networkd-wireguard = handleTest ./systemd-networkd-wireguard.nix {}; + pdns-recursor = handleTest ./pdns-recursor.nix {}; taskserver = handleTest ./taskserver.nix {}; telegraf = handleTest ./telegraf.nix {}; - tomcat = handleTest ./tomcat.nix {}; + tiddlywiki = handleTest ./tiddlywiki.nix {}; + tinydns = handleTest ./tinydns.nix {}; tor = handleTest ./tor.nix {}; transmission = handleTest ./transmission.nix {}; + trezord = handleTest ./trezord.nix {}; udisks2 = handleTest ./udisks2.nix {}; upnp = handleTest ./upnp.nix {}; + uwsgi = handleTest ./uwsgi.nix {}; vault = handleTest ./vault.nix {}; virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {}; + wireguard = handleTest ./wireguard {}; + wireguard-generated = handleTest ./wireguard/generated.nix {}; wordpress = handleTest ./wordpress.nix {}; xautolock = handleTest ./xautolock.nix {}; xdg-desktop-portal = handleTest ./xdg-desktop-portal.nix {}; xfce = handleTest ./xfce.nix {}; + xfce4-14 = handleTest ./xfce4-14.nix {}; xmonad = handleTest ./xmonad.nix {}; xrdp = handleTest ./xrdp.nix {}; xss-lock = handleTest ./xss-lock.nix {}; diff --git a/nixos/tests/automysqlbackup.nix b/nixos/tests/automysqlbackup.nix new file mode 100644 index 00000000000..ada104a34de --- /dev/null +++ b/nixos/tests/automysqlbackup.nix @@ -0,0 +1,34 @@ +import ./make-test.nix ({ pkgs, lib, ... }: + +{ + name = "automysqlbackup"; + meta.maintainers = [ lib.maintainers.aanderse ]; + + machine = + { pkgs, ... }: + { + services.mysql.enable = true; + services.mysql.package = pkgs.mysql; + services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; + + services.automysqlbackup.enable = true; + }; + + testScript = '' + startAll; + + # Need to have mysql started so that it can be populated with data. + $machine->waitForUnit("mysql.service"); + + # Wait for testdb to be fully populated (5 rows). + $machine->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"); + + # Do a backup and wait for it to start + $machine->startJob("automysqlbackup.service"); + $machine->waitForJob("automysqlbackup.service"); + + # wait for backup file and check that data appears in backup + $machine->waitForFile("/var/backup/mysql/daily/testdb"); + $machine->succeed("${pkgs.gzip}/bin/zcat /var/backup/mysql/daily/testdb/daily_testdb_*.sql.gz | grep hello"); + ''; +}) diff --git a/nixos/tests/avahi.nix b/nixos/tests/avahi.nix index dfb60998941..ae4f54d5266 100644 --- a/nixos/tests/avahi.nix +++ b/nixos/tests/avahi.nix @@ -2,7 +2,7 @@ import ./make-test.nix ({ pkgs, ... } : { name = "avahi"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; nodes = let @@ -15,6 +15,7 @@ import ./make-test.nix ({ pkgs, ... } : { publish.enable = true; publish.userServices = true; publish.workstation = true; + extraServiceFiles.ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service"; }; }; in { @@ -56,5 +57,11 @@ import ./make-test.nix ({ pkgs, ... } : { $one->succeed("getent hosts two.local >&2"); $two->succeed("getent hosts one.local >&2"); $two->succeed("getent hosts two.local >&2"); + + # extra service definitions + $one->succeed("avahi-browse -r -t _ssh._tcp | tee out >&2"); + $one->succeed("test `wc -l < out` -gt 0"); + $two->succeed("avahi-browse -r -t _ssh._tcp | tee out >&2"); + $two->succeed("test `wc -l < out` -gt 0"); ''; }) diff --git a/nixos/tests/beanstalkd.nix b/nixos/tests/beanstalkd.nix new file mode 100644 index 00000000000..fa2fbc2c92a --- /dev/null +++ b/nixos/tests/beanstalkd.nix @@ -0,0 +1,45 @@ +import ./make-test.nix ({ pkgs, lib, ... }: + +let + pythonEnv = pkgs.python3.withPackages (p: [p.beanstalkc]); + + produce = pkgs.writeScript "produce.py" '' + #!${pythonEnv.interpreter} + import beanstalkc + + queue = beanstalkc.Connection(host='localhost', port=11300, parse_yaml=False); + queue.put(b'this is a job') + queue.put(b'this is another job') + ''; + + consume = pkgs.writeScript "consume.py" '' + #!${pythonEnv.interpreter} + import beanstalkc + + queue = beanstalkc.Connection(host='localhost', port=11300, parse_yaml=False); + + job = queue.reserve(timeout=0) + print(job.body.decode('utf-8')) + job.delete() + ''; + +in +{ + name = "beanstalkd"; + meta.maintainers = [ lib.maintainers.aanderse ]; + + machine = + { ... }: + { services.beanstalkd.enable = true; + }; + + testScript = '' + startAll; + + $machine->waitForUnit('beanstalkd.service'); + + $machine->succeed("${produce}"); + $machine->succeed("${consume}") eq "this is a job\n" or die; + $machine->succeed("${consume}") eq "this is another job\n" or die; + ''; +}) diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix index 27871f72b4e..3b1169a1b7f 100644 --- a/nixos/tests/bittorrent.nix +++ b/nixos/tests/bittorrent.nix @@ -23,7 +23,7 @@ in { name = "bittorrent"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ domenkozar eelco chaoflow rob bobvanderlinden ]; + maintainers = [ domenkozar eelco rob bobvanderlinden ]; }; nodes = diff --git a/nixos/tests/boot.nix b/nixos/tests/boot.nix index c9bb1e77c6d..57d8006d7ac 100644 --- a/nixos/tests/boot.nix +++ b/nixos/tests/boot.nix @@ -17,46 +17,33 @@ let ]; }).config.system.build.isoImage; - makeBootTest = name: machineConfig: - makeTest { - inherit iso; - name = "boot-" + name; - nodes = { }; - testScript = - '' - my $machine = createMachine({ ${machineConfig}, qemuFlags => '-m 768' }); - $machine->start; - $machine->waitForUnit("multi-user.target"); - $machine->succeed("nix verify -r --no-trust /run/current-system"); + perlAttrs = params: "{ ${concatStringsSep ", " (mapAttrsToList (name: param: "${name} => ${builtins.toJSON param}") params)} }"; - # Test whether the channel got installed correctly. - $machine->succeed("nix-instantiate --dry-run '' -A hello"); - $machine->succeed("nix-env --dry-run -iA nixos.procps"); + makeBootTest = name: extraConfig: + let + machineConfig = perlAttrs ({ qemuFlags = "-m 768"; } // extraConfig); + in + makeTest { + inherit iso; + name = "boot-" + name; + nodes = { }; + testScript = + '' + my $machine = createMachine(${machineConfig}); + $machine->start; + $machine->waitForUnit("multi-user.target"); + $machine->succeed("nix verify -r --no-trust /run/current-system"); - $machine->shutdown; - ''; - }; -in { + # Test whether the channel got installed correctly. + $machine->succeed("nix-instantiate --dry-run '' -A hello"); + $machine->succeed("nix-env --dry-run -iA nixos.procps"); - biosCdrom = makeBootTest "bios-cdrom" '' - cdrom => glob("${iso}/iso/*.iso") - ''; + $machine->shutdown; + ''; + }; - biosUsb = makeBootTest "bios-usb" '' - usb => glob("${iso}/iso/*.iso") - ''; - - uefiCdrom = makeBootTest "uefi-cdrom" '' - cdrom => glob("${iso}/iso/*.iso"), - bios => '${pkgs.OVMF.fd}/FV/OVMF.fd' - ''; - - uefiUsb = makeBootTest "uefi-usb" '' - usb => glob("${iso}/iso/*.iso"), - bios => '${pkgs.OVMF.fd}/FV/OVMF.fd' - ''; - - netboot = let + makeNetbootTest = name: extraConfig: + let config = (import ../lib/eval-config.nix { inherit system; modules = @@ -65,35 +52,55 @@ in { { key = "serial"; } ]; }).config; - ipxeScriptDir = pkgs.writeTextFile { - name = "ipxeScriptDir"; - text = '' - #!ipxe - dhcp - kernel bzImage init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} console=ttyS0 - initrd initrd - boot - ''; - destination = "/boot.ipxe"; - }; ipxeBootDir = pkgs.symlinkJoin { name = "ipxeBootDir"; paths = [ config.system.build.netbootRamdisk config.system.build.kernel - ipxeScriptDir + config.system.build.netbootIpxeScript ]; }; + machineConfig = perlAttrs ({ + qemuFlags = "-boot order=n -m 2000"; + netBackendArgs = "tftp=${ipxeBootDir},bootfile=netboot.ipxe"; + } // extraConfig); in makeTest { - name = "boot-netboot"; + name = "boot-netboot-" + name; nodes = { }; testScript = '' - my $machine = createMachine({ qemuFlags => '-boot order=n -net nic,model=e1000 -net user,tftp=${ipxeBootDir}/,bootfile=boot.ipxe -m 2000M' }); + my $machine = createMachine(${machineConfig}); $machine->start; $machine->waitForUnit("multi-user.target"); $machine->shutdown; ''; }; +in { + + biosCdrom = makeBootTest "bios-cdrom" { + cdrom = "${iso}/iso/${iso.isoName}"; + }; + + biosUsb = makeBootTest "bios-usb" { + usb = "${iso}/iso/${iso.isoName}"; + }; + + uefiCdrom = makeBootTest "uefi-cdrom" { + cdrom = "${iso}/iso/${iso.isoName}"; + bios = "${pkgs.OVMF.fd}/FV/OVMF.fd"; + }; + + uefiUsb = makeBootTest "uefi-usb" { + usb = "${iso}/iso/${iso.isoName}"; + bios = "${pkgs.OVMF.fd}/FV/OVMF.fd"; + }; + + biosNetboot = makeNetbootTest "bios" {}; + + uefiNetboot = makeNetbootTest "uefi" { + bios = "${pkgs.OVMF.fd}/FV/OVMF.fd"; + # Custom ROM is needed for EFI PXE boot. I failed to understand exactly why, because QEMU should still use iPXE for EFI. + netFrontendArgs = "romfile=${pkgs.ipxe}/ipxe.efirom"; + }; } diff --git a/nixos/tests/buildbot.nix b/nixos/tests/buildbot.nix index 210ad8e91df..f5c8c4863b6 100644 --- a/nixos/tests/buildbot.nix +++ b/nixos/tests/buildbot.nix @@ -5,116 +5,109 @@ with import ../lib/testing.nix { inherit system pkgs; }; -let - # Test ensures buildbot master comes up correctly and workers can connect - mkBuildbotTest = python: makeTest { - name = "buildbot"; +# Test ensures buildbot master comes up correctly and workers can connect +makeTest { + name = "buildbot"; - nodes = { - bbmaster = { pkgs, ... }: { - services.buildbot-master = { - enable = true; - package = python.pkgs.buildbot-full; + nodes = { + bbmaster = { pkgs, ... }: { + services.buildbot-master = { + enable = true; - # NOTE: use fake repo due to no internet in hydra ci - factorySteps = [ - "steps.Git(repourl='git://gitrepo/fakerepo.git', mode='incremental')" - "steps.ShellCommand(command=['bash', 'fakerepo.sh'])" - ]; - changeSource = [ - "changes.GitPoller('git://gitrepo/fakerepo.git', workdir='gitpoller-workdir', branch='master', pollinterval=300)" - ]; - }; - networking.firewall.allowedTCPPorts = [ 8010 8011 9989 ]; - environment.systemPackages = with pkgs; [ git python.pkgs.buildbot-full ]; - }; - - bbworker = { pkgs, ... }: { - services.buildbot-worker = { - enable = true; - masterUrl = "bbmaster:9989"; - }; - environment.systemPackages = with pkgs; [ git python.pkgs.buildbot-worker ]; - }; - - gitrepo = { pkgs, ... }: { - services.openssh.enable = true; - networking.firewall.allowedTCPPorts = [ 22 9418 ]; - environment.systemPackages = with pkgs; [ git ]; + # NOTE: use fake repo due to no internet in hydra ci + factorySteps = [ + "steps.Git(repourl='git://gitrepo/fakerepo.git', mode='incremental')" + "steps.ShellCommand(command=['bash', 'fakerepo.sh'])" + ]; + changeSource = [ + "changes.GitPoller('git://gitrepo/fakerepo.git', workdir='gitpoller-workdir', branch='master', pollinterval=300)" + ]; }; + networking.firewall.allowedTCPPorts = [ 8010 8011 9989 ]; + environment.systemPackages = with pkgs; [ git python3Packages.buildbot-full ]; }; - testScript = '' - #Start up and populate fake repo - $gitrepo->waitForUnit("multi-user.target"); - print($gitrepo->execute(" \ - git config --global user.name 'Nobody Fakeuser' && \ - git config --global user.email 'nobody\@fakerepo.com' && \ - rm -rvf /srv/repos/fakerepo.git /tmp/fakerepo && \ - mkdir -pv /srv/repos/fakerepo ~/.ssh && \ - ssh-keyscan -H gitrepo > ~/.ssh/known_hosts && \ - cat ~/.ssh/known_hosts && \ - cd /srv/repos/fakerepo && \ - git init && \ - echo -e '#!/bin/sh\necho fakerepo' > fakerepo.sh && \ - cat fakerepo.sh && \ - touch .git/git-daemon-export-ok && \ - git add fakerepo.sh .git/git-daemon-export-ok && \ - git commit -m fakerepo && \ - git daemon --verbose --export-all --base-path=/srv/repos --reuseaddr & \ - ")); - - # Test gitrepo - $bbmaster->waitForUnit("network-online.target"); - #$bbmaster->execute("nc -z gitrepo 9418"); - print($bbmaster->execute(" \ - rm -rfv /tmp/fakerepo && \ - git clone git://gitrepo/fakerepo /tmp/fakerepo && \ - pwd && \ - ls -la && \ - ls -la /tmp/fakerepo \ - ")); - - # Test start master and connect worker - $bbmaster->waitForUnit("buildbot-master.service"); - $bbmaster->waitUntilSucceeds("curl -s --head http://bbmaster:8010") =~ /200 OK/; - $bbworker->waitForUnit("network-online.target"); - $bbworker->execute("nc -z bbmaster 8010"); - $bbworker->execute("nc -z bbmaster 9989"); - $bbworker->waitForUnit("buildbot-worker.service"); - print($bbworker->execute("ls -la /home/bbworker/worker")); - - - # Test stop buildbot master and worker - print($bbmaster->execute(" \ - systemctl -l --no-pager status buildbot-master && \ - systemctl stop buildbot-master \ - ")); - $bbworker->fail("nc -z bbmaster 8010"); - $bbworker->fail("nc -z bbmaster 9989"); - print($bbworker->execute(" \ - systemctl -l --no-pager status buildbot-worker && \ - systemctl stop buildbot-worker && \ - ls -la /home/bbworker/worker \ - ")); - - - # Test buildbot daemon mode - $bbmaster->execute("buildbot create-master /tmp"); - $bbmaster->execute("mv -fv /tmp/master.cfg.sample /tmp/master.cfg"); - $bbmaster->execute("sed -i 's/8010/8011/' /tmp/master.cfg"); - $bbmaster->execute("buildbot start /tmp"); - $bbworker->execute("nc -z bbmaster 8011"); - $bbworker->waitUntilSucceeds("curl -s --head http://bbmaster:8011") =~ /200 OK/; - $bbmaster->execute("buildbot stop /tmp"); - $bbworker->fail("nc -z bbmaster 8011"); - - ''; - - meta.maintainers = with pkgs.stdenv.lib.maintainers; [ nand0p ]; + bbworker = { pkgs, ... }: { + services.buildbot-worker = { + enable = true; + masterUrl = "bbmaster:9989"; + }; + environment.systemPackages = with pkgs; [ git python3Packages.buildbot-worker ]; + }; + gitrepo = { pkgs, ... }: { + services.openssh.enable = true; + networking.firewall.allowedTCPPorts = [ 22 9418 ]; + environment.systemPackages = with pkgs; [ git ]; + }; }; -in { - python2 = mkBuildbotTest pkgs.python2; - python3 = mkBuildbotTest pkgs.python3; + + testScript = '' + #Start up and populate fake repo + $gitrepo->waitForUnit("multi-user.target"); + print($gitrepo->execute(" \ + git config --global user.name 'Nobody Fakeuser' && \ + git config --global user.email 'nobody\@fakerepo.com' && \ + rm -rvf /srv/repos/fakerepo.git /tmp/fakerepo && \ + mkdir -pv /srv/repos/fakerepo ~/.ssh && \ + ssh-keyscan -H gitrepo > ~/.ssh/known_hosts && \ + cat ~/.ssh/known_hosts && \ + cd /srv/repos/fakerepo && \ + git init && \ + echo -e '#!/bin/sh\necho fakerepo' > fakerepo.sh && \ + cat fakerepo.sh && \ + touch .git/git-daemon-export-ok && \ + git add fakerepo.sh .git/git-daemon-export-ok && \ + git commit -m fakerepo && \ + git daemon --verbose --export-all --base-path=/srv/repos --reuseaddr & \ + ")); + + # Test gitrepo + $bbmaster->waitForUnit("network-online.target"); + #$bbmaster->execute("nc -z gitrepo 9418"); + print($bbmaster->execute(" \ + rm -rfv /tmp/fakerepo && \ + git clone git://gitrepo/fakerepo /tmp/fakerepo && \ + pwd && \ + ls -la && \ + ls -la /tmp/fakerepo \ + ")); + + # Test start master and connect worker + $bbmaster->waitForUnit("buildbot-master.service"); + $bbmaster->waitUntilSucceeds("curl -s --head http://bbmaster:8010") =~ /200 OK/; + $bbworker->waitForUnit("network-online.target"); + $bbworker->execute("nc -z bbmaster 8010"); + $bbworker->execute("nc -z bbmaster 9989"); + $bbworker->waitForUnit("buildbot-worker.service"); + print($bbworker->execute("ls -la /home/bbworker/worker")); + + + # Test stop buildbot master and worker + print($bbmaster->execute(" \ + systemctl -l --no-pager status buildbot-master && \ + systemctl stop buildbot-master \ + ")); + $bbworker->fail("nc -z bbmaster 8010"); + $bbworker->fail("nc -z bbmaster 9989"); + print($bbworker->execute(" \ + systemctl -l --no-pager status buildbot-worker && \ + systemctl stop buildbot-worker && \ + ls -la /home/bbworker/worker \ + ")); + + + # Test buildbot daemon mode + $bbmaster->execute("buildbot create-master /tmp"); + $bbmaster->execute("mv -fv /tmp/master.cfg.sample /tmp/master.cfg"); + $bbmaster->execute("sed -i 's/8010/8011/' /tmp/master.cfg"); + $bbmaster->execute("buildbot start /tmp"); + $bbworker->execute("nc -z bbmaster 8011"); + $bbworker->waitUntilSucceeds("curl -s --head http://bbmaster:8011") =~ /200 OK/; + $bbmaster->execute("buildbot stop /tmp"); + $bbworker->fail("nc -z bbmaster 8011"); + + ''; + + meta.maintainers = with pkgs.stdenv.lib.maintainers; [ nand0p ]; } diff --git a/nixos/tests/cassandra.nix b/nixos/tests/cassandra.nix index 60d0c6d7606..c55733c9be7 100644 --- a/nixos/tests/cassandra.nix +++ b/nixos/tests/cassandra.nix @@ -1,71 +1,117 @@ -import ./make-test.nix ({ pkgs, ...}: +import ./make-test.nix ({ pkgs, lib, ... }: let # Change this to test a different version of Cassandra: testPackage = pkgs.cassandra; - cassandraCfg = + clusterName = "NixOS Automated-Test Cluster"; + + testRemoteAuth = lib.versionAtLeast testPackage.version "3.11"; + jmxRoles = [{ username = "me"; password = "password"; }]; + jmxRolesFile = ./cassandra-jmx-roles; + jmxAuthArgs = "-u ${(builtins.elemAt jmxRoles 0).username} -pw ${(builtins.elemAt jmxRoles 0).password}"; + jmxPort = 7200; # Non-standard port so it doesn't accidentally work + + # Would usually be assigned to 512M + numMaxHeapSize = "400"; + getHeapLimitCommand = '' + nodetool info -p ${toString jmxPort} | grep "^Heap Memory" | awk \'{print $NF}\' + ''; + checkHeapLimitCommand = '' + [ 1 -eq "$(echo "$(${getHeapLimitCommand}) < ${numMaxHeapSize}" | ${pkgs.bc}/bin/bc)" ] + ''; + + cassandraCfg = ipAddress: { enable = true; - listenAddress = null; - listenInterface = "eth1"; - rpcAddress = null; - rpcInterface = "eth1"; - extraConfig = - { start_native_transport = true; - seed_provider = - [{ class_name = "org.apache.cassandra.locator.SimpleSeedProvider"; - parameters = [ { seeds = "cass0"; } ]; - }]; - }; + inherit clusterName; + listenAddress = ipAddress; + rpcAddress = ipAddress; + seedAddresses = [ "192.168.1.1" ]; package = testPackage; + maxHeapSize = "${numMaxHeapSize}M"; + heapNewSize = "100M"; + inherit jmxPort; }; - nodeCfg = extra: {pkgs, config, ...}: - { environment.systemPackages = [ testPackage ]; - networking.firewall.enable = false; - services.cassandra = cassandraCfg // extra; - virtualisation.memorySize = 1024; + nodeCfg = ipAddress: extra: {pkgs, config, ...}: rec { + environment.systemPackages = [ testPackage ]; + networking = { + firewall.allowedTCPPorts = [ 7000 9042 services.cassandra.jmxPort ]; + useDHCP = false; + interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { address = ipAddress; prefixLength = 24; } + ]; }; + services.cassandra = cassandraCfg ipAddress // extra; + virtualisation.memorySize = 1024; + }; in { name = "cassandra-ci"; nodes = { - cass0 = nodeCfg {}; - cass1 = nodeCfg {}; - cass2 = nodeCfg { jvmOpts = [ "-Dcassandra.replace_address=cass1" ]; }; + cass0 = nodeCfg "192.168.1.1" {}; + cass1 = nodeCfg "192.168.1.2" (lib.optionalAttrs testRemoteAuth { inherit jmxRoles; remoteJmx = true; }); + cass2 = nodeCfg "192.168.1.3" { jvmOpts = [ "-Dcassandra.replace_address=cass1" ]; }; }; - testScript = '' - subtest "timers exist", sub { + testScript = let + jmxPortS = toString jmxPort; + in '' + # Check configuration + subtest "Timers exist", sub { $cass0->succeed("systemctl list-timers | grep cassandra-full-repair.timer"); $cass0->succeed("systemctl list-timers | grep cassandra-incremental-repair.timer"); }; - subtest "can connect via cqlsh", sub { + subtest "Can connect via cqlsh", sub { $cass0->waitForUnit("cassandra.service"); $cass0->waitUntilSucceeds("nc -z cass0 9042"); $cass0->succeed("echo 'show version;' | cqlsh cass0"); }; - subtest "nodetool is operational", sub { + subtest "Nodetool is operational", sub { $cass0->waitForUnit("cassandra.service"); - $cass0->waitUntilSucceeds("nc -z localhost 7199"); - $cass0->succeed("nodetool status --resolve-ip | egrep '^UN[[:space:]]+cass0'"); + $cass0->waitUntilSucceeds("nc -z localhost ${jmxPortS}"); + $cass0->succeed("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass0'"); }; - subtest "bring up cluster", sub { + subtest "Cluster name was set", sub { + $cass0->waitForUnit("cassandra.service"); + $cass0->waitUntilSucceeds("nc -z localhost ${jmxPortS}"); + $cass0->waitUntilSucceeds("nodetool describecluster -p ${jmxPortS} | grep 'Name: ${clusterName}'"); + }; + subtest "Heap limit set correctly", sub { + # Nodetool takes a while until it can display info + $cass0->waitUntilSucceeds('nodetool info -p ${jmxPortS}'); + $cass0->succeed('${checkHeapLimitCommand}'); + }; + + # Check cluster interaction + subtest "Bring up cluster", sub { $cass1->waitForUnit("cassandra.service"); - $cass1->waitUntilSucceeds("nodetool status | egrep -c '^UN' | grep 2"); - $cass0->succeed("nodetool status --resolve-ip | egrep '^UN[[:space:]]+cass1'"); + $cass1->waitUntilSucceeds("nodetool -p ${jmxPortS} ${jmxAuthArgs} status | egrep -c '^UN' | grep 2"); + $cass0->succeed("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass1'"); }; - subtest "break and fix node", sub { + '' + lib.optionalString testRemoteAuth '' + subtest "Remote authenticated jmx", sub { + # Doesn't work if not enabled + $cass0->waitUntilSucceeds("nc -z localhost ${jmxPortS}"); + $cass1->fail("nc -z 192.168.1.1 ${toString jmxPort}"); + $cass1->fail("nodetool -p ${jmxPortS} -h 192.168.1.1 status"); + + # Works if enabled + $cass1->waitUntilSucceeds("nc -z localhost ${toString jmxPort}"); + $cass0->succeed("nodetool -p ${jmxPortS} -h 192.168.1.2 ${jmxAuthArgs} status"); + }; + '' + '' + subtest "Break and fix node", sub { $cass1->block; - $cass0->waitUntilSucceeds("nodetool status --resolve-ip | egrep -c '^DN[[:space:]]+cass1'"); - $cass0->succeed("nodetool status | egrep -c '^UN' | grep 1"); + $cass0->waitUntilSucceeds("nodetool status -p ${jmxPortS} --resolve-ip | egrep -c '^DN[[:space:]]+cass1'"); + $cass0->succeed("nodetool status -p ${jmxPortS} | egrep -c '^UN' | grep 1"); $cass1->unblock; - $cass1->waitUntilSucceeds("nodetool status | egrep -c '^UN' | grep 2"); - $cass0->succeed("nodetool status | egrep -c '^UN' | grep 2"); + $cass1->waitUntilSucceeds("nodetool -p ${jmxPortS} ${jmxAuthArgs} status | egrep -c '^UN' | grep 2"); + $cass0->succeed("nodetool status -p ${jmxPortS} | egrep -c '^UN' | grep 2"); }; - subtest "replace crashed node", sub { + subtest "Replace crashed node", sub { $cass1->crash; $cass2->waitForUnit("cassandra.service"); - $cass0->waitUntilFails("nodetool status --resolve-ip | egrep '^UN[[:space:]]+cass1'"); - $cass0->waitUntilSucceeds("nodetool status --resolve-ip | egrep '^UN[[:space:]]+cass2'"); + $cass0->waitUntilFails("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass1'"); + $cass0->waitUntilSucceeds("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass2'"); }; ''; }) diff --git a/nixos/tests/colord.nix b/nixos/tests/colord.nix new file mode 100644 index 00000000000..ce38aaca4bf --- /dev/null +++ b/nixos/tests/colord.nix @@ -0,0 +1,18 @@ +# run installed tests +import ./make-test.nix ({ pkgs, ... }: + +{ + name = "colord"; + + meta = { + maintainers = pkgs.colord.meta.maintainers; + }; + + machine = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ gnome-desktop-testing ]; + }; + + testScript = '' + $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.colord.installedTests}/share'"); + ''; +}) diff --git a/nixos/tests/common/letsencrypt/default.nix b/nixos/tests/common/letsencrypt/default.nix index 73aac51a012..58d87c64e34 100644 --- a/nixos/tests/common/letsencrypt/default.nix +++ b/nixos/tests/common/letsencrypt/default.nix @@ -56,11 +56,11 @@ let softhsm = pkgs.stdenv.mkDerivation rec { - name = "softhsm-${version}"; + pname = "softhsm"; version = "1.3.8"; src = pkgs.fetchurl { - url = "https://dist.opendnssec.org/source/${name}.tar.gz"; + url = "https://dist.opendnssec.org/source/${pname}-${version}.tar.gz"; sha256 = "0flmnpkgp65ym7w3qyg78d3fbmvq3aznmi66rgd420n33shf7aif"; }; @@ -381,7 +381,7 @@ in { enableACME = false; sslCertificate = siteCertFile; sslCertificateKey = siteKeyFile; - locations.${tosPath}.extraConfig = "alias ${tosFile};"; + locations."= ${tosPath}".alias = tosFile; }; systemd.services = { diff --git a/nixos/tests/common/webroot/news-rss.xml b/nixos/tests/common/webroot/news-rss.xml index 28e6fa7da1f..b8099bf0364 100644 --- a/nixos/tests/common/webroot/news-rss.xml +++ b/nixos/tests/common/webroot/news-rss.xml @@ -1,10 +1,18 @@ -NixOS Newshttps://nixos.orgNews for NixOS, the purely functional Linux distribution.NixOShttps://nixos.org/logo/nixos-logo-only-hires.pnghttps://nixos.org/ - NixOS 18.09 released - https://nixos.org/news.html - - 18.09 Jellyfish logo - + + + NixOS Newshttps://nixos.org + News for NixOS, the purely functional Linux distribution. + + NixOS + https://nixos.org/logo/nixos-logo-only-hires.pnghttps://nixos.org/ + + + NixOS 18.09 releasedhttps://nixos.org/news.html + + + 18.09 Jellyfish logo + NixOS 18.09 “Jellyfish” has been released, the tenth stable release branch. See the release notes for details. You can get NixOS 18.09 ISOs and VirtualBox appliances @@ -12,4 +20,8 @@ For information on how to upgrade from older release branches to 18.09, check out the manual section on upgrading. - Sat Oct 06 2018 00:00:00 GMT + + Sat Oct 06 2018 00:00:00 GMT + + + diff --git a/nixos/tests/containers-bridge.nix b/nixos/tests/containers-bridge.nix index 0eae51433d2..38db64eb793 100644 --- a/nixos/tests/containers-bridge.nix +++ b/nixos/tests/containers-bridge.nix @@ -10,7 +10,7 @@ in import ./make-test.nix ({ pkgs, ...} : { name = "containers-bridge"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aristid aszlig eelco chaoflow kampfschlaefer ]; + maintainers = [ aristid aszlig eelco kampfschlaefer ]; }; machine = diff --git a/nixos/tests/containers-ephemeral.nix b/nixos/tests/containers-ephemeral.nix new file mode 100644 index 00000000000..1ef8717d9a0 --- /dev/null +++ b/nixos/tests/containers-ephemeral.nix @@ -0,0 +1,56 @@ +# Test for NixOS' container support. + +import ./make-test.nix ({ pkgs, ...} : { + name = "containers-ephemeral"; + + machine = { pkgs, ... }: { + virtualisation.memorySize = 768; + virtualisation.writableStore = true; + + containers.webserver = { + ephemeral = true; + privateNetwork = true; + hostAddress = "10.231.136.1"; + localAddress = "10.231.136.2"; + config = { + services.nginx = { + enable = true; + virtualHosts.localhost = { + root = (pkgs.runCommand "localhost" {} '' + mkdir "$out" + echo hello world > "$out/index.html" + ''); + }; + }; + networking.firewall.allowedTCPPorts = [ 80 ]; + }; + }; + }; + + testScript = '' + $machine->succeed("nixos-container list") =~ /webserver/ or die; + + # Start the webserver container. + $machine->succeed("nixos-container start webserver"); + + # Check that container got its own root folder + $machine->succeed("ls /run/containers/webserver"); + + # Check that container persistent directory is not created + $machine->fail("ls /var/lib/containers/webserver"); + + # Since "start" returns after the container has reached + # multi-user.target, we should now be able to access it. + my $ip = $machine->succeed("nixos-container show-ip webserver"); + chomp $ip; + $machine->succeed("ping -n -c1 $ip"); + $machine->succeed("curl --fail http://$ip/ > /dev/null"); + + # Stop the container. + $machine->succeed("nixos-container stop webserver"); + $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null"); + + # Check that container's root folder was removed + $machine->fail("ls /run/containers/webserver"); + ''; +}) diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix index 782095a09da..2e7e4b2f1d6 100644 --- a/nixos/tests/containers-imperative.nix +++ b/nixos/tests/containers-imperative.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "containers-imperative"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aristid aszlig eelco chaoflow kampfschlaefer ]; + maintainers = [ aristid aszlig eelco kampfschlaefer ]; }; machine = @@ -35,7 +35,17 @@ import ./make-test.nix ({ pkgs, ...} : { ]; }; - testScript = + testScript = let + tmpfilesContainerConfig = pkgs.writeText "container-config-tmpfiles" '' + { + systemd.tmpfiles.rules = [ "d /foo - - - - -" ]; + systemd.services.foo = { + serviceConfig.Type = "oneshot"; + script = "ls -al /foo"; + wantedBy = [ "multi-user.target" ]; + }; + } + ''; in '' # Make sure we have a NixOS tree (required by ‘nixos-container create’). $machine->succeed("PAGER=cat nix-env -qa -A nixos.hello >&2"); @@ -93,6 +103,15 @@ import ./make-test.nix ({ pkgs, ...} : { $machine->succeed("nixos-container stop $id1"); $machine->succeed("nixos-container start $id1"); + # Ensure tmpfiles are present + $machine->log("creating container tmpfiles"); + $machine->succeed("nixos-container create tmpfiles --config-file ${tmpfilesContainerConfig}"); + $machine->log("created, starting…"); + $machine->succeed("nixos-container start tmpfiles"); + $machine->log("done starting, investigating…"); + $machine->succeed("echo \$(nixos-container run tmpfiles -- systemctl is-active foo.service) | grep -q active;"); + $machine->succeed("nixos-container destroy tmpfiles"); + # Execute commands via the root shell. $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die; diff --git a/nixos/tests/containers-ipv4.nix b/nixos/tests/containers-ipv4.nix index 5f83a33b107..ace68ff2df8 100644 --- a/nixos/tests/containers-ipv4.nix +++ b/nixos/tests/containers-ipv4.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "containers-ipv4"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aristid aszlig eelco chaoflow kampfschlaefer ]; + maintainers = [ aristid aszlig eelco kampfschlaefer ]; }; machine = diff --git a/nixos/tests/containers-ipv6.nix b/nixos/tests/containers-ipv6.nix index 5866e51b731..a9499d192bd 100644 --- a/nixos/tests/containers-ipv6.nix +++ b/nixos/tests/containers-ipv6.nix @@ -8,7 +8,7 @@ in import ./make-test.nix ({ pkgs, ...} : { name = "containers-ipv6"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aristid aszlig eelco chaoflow kampfschlaefer ]; + maintainers = [ aristid aszlig eelco kampfschlaefer ]; }; machine = diff --git a/nixos/tests/containers-portforward.nix b/nixos/tests/containers-portforward.nix index d2dda926fc0..ec8e9629c21 100644 --- a/nixos/tests/containers-portforward.nix +++ b/nixos/tests/containers-portforward.nix @@ -10,7 +10,7 @@ in import ./make-test.nix ({ pkgs, ...} : { name = "containers-portforward"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aristid aszlig eelco chaoflow kampfschlaefer ianwookim ]; + maintainers = [ aristid aszlig eelco kampfschlaefer ianwookim ]; }; machine = diff --git a/nixos/tests/deluge.nix b/nixos/tests/deluge.nix index b4be5e465cc..b58030409b5 100644 --- a/nixos/tests/deluge.nix +++ b/nixos/tests/deluge.nix @@ -5,25 +5,58 @@ import ./make-test.nix ({ pkgs, ...} : { }; nodes = { - server = + simple = { + services.deluge = { + enable = true; + web = { + enable = true; + openFirewall = true; + }; + }; + }; + + declarative = { ... }: - { services.deluge = { + { + services.deluge = { enable = true; - web.enable = true; + openFirewall = true; + declarative = true; + config = { + allow_remote = true; + download_location = "/var/lib/deluge/my-download"; + daemon_port = 58846; + listen_ports = [ 6881 6889 ]; + }; + web = { + enable = true; + port = 3142; + }; + authFile = pkgs.writeText "deluge-auth" '' + localclient:a7bef72a890:10 + andrew:password:10 + user3:anotherpass:5 + ''; }; - networking.firewall.allowedTCPPorts = [ 8112 ]; + environment.systemPackages = [ pkgs.deluge ]; }; - client = { }; }; testScript = '' startAll; - $server->waitForUnit("deluged"); - $server->waitForUnit("delugeweb"); - $client->waitForUnit("network.target"); - $client->waitUntilSucceeds("curl --fail http://server:8112"); + $simple->waitForUnit("deluged"); + $simple->waitForUnit("delugeweb"); + $simple->waitForOpenPort("8112"); + $declarative->waitForUnit("network.target"); + $declarative->waitUntilSucceeds("curl --fail http://simple:8112"); + + $declarative->waitForUnit("deluged"); + $declarative->waitForUnit("delugeweb"); + $declarative->waitUntilSucceeds("curl --fail http://declarative:3142"); + $declarative->succeed("deluge-console 'help' | grep -q 'rm - Remove a torrent'"); + $declarative->succeed("deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm - Remove a torrent'"); ''; }) diff --git a/nixos/tests/docker-containers.nix b/nixos/tests/docker-containers.nix new file mode 100644 index 00000000000..97255273520 --- /dev/null +++ b/nixos/tests/docker-containers.nix @@ -0,0 +1,29 @@ +# Test Docker containers as systemd units + +import ./make-test.nix ({ pkgs, lib, ... }: { + name = "docker-containers"; + meta = { + maintainers = with lib.maintainers; [ benley ]; + }; + + nodes = { + docker = { pkgs, ... }: + { + virtualisation.docker.enable = true; + + virtualisation.dockerPreloader.images = [ pkgs.dockerTools.examples.nginx ]; + + docker-containers.nginx = { + image = "nginx-container"; + ports = ["8181:80"]; + }; + }; + }; + + testScript = '' + startAll; + $docker->waitForUnit("docker-nginx.service"); + $docker->waitForOpenPort(8181); + $docker->waitUntilSucceeds("curl http://localhost:8181|grep Hello"); + ''; +}) diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix index 58f106314ab..9ab1a71f331 100644 --- a/nixos/tests/docker-tools.nix +++ b/nixos/tests/docker-tools.nix @@ -34,8 +34,8 @@ import ./make-test.nix ({ pkgs, ... }: { # To test the pullImage tool $docker->succeed("docker load --input='${pkgs.dockerTools.examples.nixFromDockerHub}'"); - $docker->succeed("docker run --rm nixos/nix:1.11 nix-store --version"); - $docker->succeed("docker rmi nixos/nix:1.11"); + $docker->succeed("docker run --rm nix:2.2.1 nix-store --version"); + $docker->succeed("docker rmi nix:2.2.1"); # To test runAsRoot and entry point $docker->succeed("docker load --input='${pkgs.dockerTools.examples.nginx}'"); @@ -67,5 +67,18 @@ import ./make-test.nix ({ pkgs, ... }: { # Ensure building an image on top of a layered Docker images work $docker->succeed("docker load --input='${pkgs.dockerTools.examples.layered-on-top}'"); $docker->succeed("docker run --rm ${pkgs.dockerTools.examples.layered-on-top.imageName}"); + + # Ensure layers are shared between images + $docker->succeed("docker load --input='${pkgs.dockerTools.examples.another-layered-image}'"); + $docker->succeed("docker inspect ${pkgs.dockerTools.examples.layered-image.imageName} | ${pkgs.jq}/bin/jq -r '.[] | .RootFS.Layers | .[]' | sort > layers1.sha256"); + $docker->succeed("docker inspect ${pkgs.dockerTools.examples.another-layered-image.imageName} | ${pkgs.jq}/bin/jq -r '.[] | .RootFS.Layers | .[]' | sort > layers2.sha256"); + $docker->succeed('[ $(comm -1 -2 layers1.sha256 layers2.sha256 | wc -l) -ne 0 ]'); + + # Ensure order of layers is correct + $docker->succeed("docker load --input='${pkgs.dockerTools.examples.layersOrder}'"); + $docker->succeed("docker run --rm ${pkgs.dockerTools.examples.layersOrder.imageName} cat /tmp/layer1 | grep -q layer1"); + # This is to be sure the order of layers of the parent image is preserved + $docker->succeed("docker run --rm ${pkgs.dockerTools.examples.layersOrder.imageName} cat /tmp/layer2 | grep -q layer2"); + $docker->succeed("docker run --rm ${pkgs.dockerTools.examples.layersOrder.imageName} cat /tmp/layer3 | grep -q layer3"); ''; }) diff --git a/nixos/tests/documize.nix b/nixos/tests/documize.nix new file mode 100644 index 00000000000..8b852a4f779 --- /dev/null +++ b/nixos/tests/documize.nix @@ -0,0 +1,58 @@ +import ./make-test.nix ({ pkgs, lib, ...} : { + name = "documize"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ ma27 ]; + }; + + machine = { pkgs, ... }: { + environment.systemPackages = [ pkgs.jq ]; + + services.documize = { + enable = true; + port = 3000; + dbtype = "postgresql"; + db = "host=localhost port=5432 sslmode=disable user=documize password=documize dbname=documize"; + }; + + systemd.services.documize-server = { + after = [ "postgresql.service" ]; + requires = [ "postgresql.service" ]; + }; + + services.postgresql = { + enable = true; + initialScript = pkgs.writeText "psql-init" '' + CREATE ROLE documize WITH LOGIN PASSWORD 'documize'; + CREATE DATABASE documize WITH OWNER documize; + ''; + }; + }; + + testScript = '' + startAll; + + $machine->waitForUnit("documize-server.service"); + $machine->waitForOpenPort(3000); + + my $dbhash = $machine->succeed("curl -f localhost:3000 " + . " | grep 'property=\"dbhash' " + . " | grep -Po 'content=\"\\K[^\"]*'" + ); + + chomp($dbhash); + + $machine->succeed("curl -X POST " + . "--data 'dbname=documize' " + . "--data 'dbhash=$dbhash' " + . "--data 'title=NixOS' " + . "--data 'message=Docs' " + . "--data 'firstname=John' " + . "--data 'lastname=Doe' " + . "--data 'email=john.doe\@nixos.org' " + . "--data 'password=verysafe' " + . "-f localhost:3000/api/setup" + ); + + $machine->succeed('test "$(curl -f localhost:3000/api/public/meta | jq ".title" | xargs echo)" = "NixOS"'); + ''; +}) diff --git a/nixos/tests/elk.nix b/nixos/tests/elk.nix index d787ac97300..95371ef4443 100644 --- a/nixos/tests/elk.nix +++ b/nixos/tests/elk.nix @@ -2,6 +2,8 @@ config ? {}, pkgs ? import ../.. { inherit system config; }, enableUnfree ? false + # To run the test on the unfree ELK use the folllowing command: + # NIXPKGS_ALLOW_UNFREE=1 nix-build nixos/tests/elk.nix -A ELK-6 --arg enableUnfree true }: with import ../lib/testing.nix { inherit system pkgs; }; @@ -10,14 +12,21 @@ with pkgs.lib; let esUrl = "http://localhost:9200"; - mkElkTest = name : elk : makeTest { + totalHits = message : + "curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' " + + ''-d '{\"query\" : { \"match\" : { \"message\" : \"${message}\"}}}' '' + + "| jq .hits.total"; + + mkElkTest = name : elk : + let elasticsearchGe7 = builtins.compareVersions elk.elasticsearch.version "7" >= 0; + in makeTest { inherit name; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow offline basvandijk ]; + maintainers = [ eelco offline basvandijk ]; }; nodes = { one = - { pkgs, ... }: { + { pkgs, lib, ... }: { # Not giving the machine at least 2060MB results in elasticsearch failing with the following error: # # OpenJDK 64-Bit Server VM warning: @@ -36,6 +45,26 @@ let environment.systemPackages = [ pkgs.jq ]; services = { + + journalbeat = let lt6 = builtins.compareVersions + elk.journalbeat.version "6" < 0; in { + enable = true; + package = elk.journalbeat; + extraConfig = mkOptionDefault ('' + logging: + to_syslog: true + level: warning + metrics.enabled: false + output.elasticsearch: + hosts: [ "127.0.0.1:9200" ] + ${optionalString lt6 "template.enabled: false"} + '' + optionalString (!lt6) '' + journalbeat.inputs: + - paths: [] + seek: cursor + ''); + }; + logstash = { enable = true; package = elk.logstash; @@ -67,11 +96,11 @@ let kibana = { enable = true; package = elk.kibana; - elasticsearch.url = esUrl; }; elasticsearch-curator = { - enable = true; + # The current version of curator (5.6) doesn't support elasticsearch >= 7.0.0. + enable = !elasticsearchGe7; actionYAML = '' --- actions: @@ -103,14 +132,19 @@ let testScript = '' startAll; + # Wait until elasticsearch is listening for connections. $one->waitForUnit("elasticsearch.service"); + $one->waitForOpenPort(9200); # Continue as long as the status is not "red". The status is probably # "yellow" instead of "green" because we are using a single elasticsearch # node which elasticsearch considers risky. # - # TODO: extend this test with multiple elasticsearch nodes and see if the status turns "green". - $one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_cluster/health' | jq .status | grep -v red"); + # TODO: extend this test with multiple elasticsearch nodes + # and see if the status turns "green". + $one->waitUntilSucceeds( + "curl --silent --show-error '${esUrl}/_cluster/health' " . + "| jq .status | grep -v red"); # Perform some simple logstash tests. $one->waitForUnit("logstash.service"); @@ -119,16 +153,28 @@ let # See if kibana is healthy. $one->waitForUnit("kibana.service"); - $one->waitUntilSucceeds("curl --silent --show-error 'http://localhost:5601/api/status' | jq .status.overall.state | grep green"); + $one->waitUntilSucceeds( + "curl --silent --show-error 'http://localhost:5601/api/status' " . + "| jq .status.overall.state | grep green"); # See if logstash messages arive in elasticsearch. - $one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"flowers\"}}}' | jq .hits.total | grep -v 0"); - $one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"dragons\"}}}' | jq .hits.total | grep 0"); + $one->waitUntilSucceeds("${totalHits "flowers"} | grep -v 0"); + $one->waitUntilSucceeds("${totalHits "dragons"} | grep 0"); + # Test if a message logged to the journal + # is ingested by elasticsearch via journalbeat. + $one->waitForUnit("journalbeat.service"); + $one->execute("echo 'Supercalifragilisticexpialidocious' | systemd-cat"); + $one->waitUntilSucceeds( + "${totalHits "Supercalifragilisticexpialidocious"} | grep -v 0"); + + '' + optionalString (!elasticsearchGe7) '' # Test elasticsearch-curator. $one->systemctl("stop logstash"); $one->systemctl("start elasticsearch-curator"); - $one->waitUntilSucceeds("! curl --silent --show-error '${esUrl}/_cat/indices' | grep logstash | grep -q ^$1"); + $one->waitUntilSucceeds( + "! curl --silent --show-error '${esUrl}/_cat/indices' " . + "| grep logstash | grep -q ^$1"); ''; }; in mapAttrs mkElkTest { @@ -136,6 +182,7 @@ in mapAttrs mkElkTest { elasticsearch = pkgs.elasticsearch5; logstash = pkgs.logstash5; kibana = pkgs.kibana5; + journalbeat = pkgs.journalbeat5; }; "ELK-6" = if enableUnfree @@ -143,10 +190,26 @@ in mapAttrs mkElkTest { elasticsearch = pkgs.elasticsearch6; logstash = pkgs.logstash6; kibana = pkgs.kibana6; + journalbeat = pkgs.journalbeat6; } else { elasticsearch = pkgs.elasticsearch6-oss; logstash = pkgs.logstash6-oss; kibana = pkgs.kibana6-oss; + journalbeat = pkgs.journalbeat6; + }; + "ELK-7" = + if enableUnfree + then { + elasticsearch = pkgs.elasticsearch7; + logstash = pkgs.logstash7; + kibana = pkgs.kibana7; + journalbeat = pkgs.journalbeat7; + } + else { + elasticsearch = pkgs.elasticsearch7-oss; + logstash = pkgs.logstash7-oss; + kibana = pkgs.kibana7-oss; + journalbeat = pkgs.journalbeat7; }; } diff --git a/nixos/tests/etcd-cluster.nix b/nixos/tests/etcd-cluster.nix index 3c4de5950a7..43fde7d5920 100644 --- a/nixos/tests/etcd-cluster.nix +++ b/nixos/tests/etcd-cluster.nix @@ -140,7 +140,7 @@ in { }; subtest "should add another member", sub { - $node1->succeed("etcdctl member add node3 https://node3:2380"); + $node1->waitUntilSucceeds("etcdctl member add node3 https://node3:2380"); $node3->start(); $node3->waitForUnit("etcd.service"); $node3->waitUntilSucceeds("etcdctl member list | grep 'node3'"); diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix index 58a80243ea9..f5b946a0881 100644 --- a/nixos/tests/firefox.nix +++ b/nixos/tests/firefox.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ... }: { name = "firefox"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow shlevy ]; + maintainers = [ eelco shlevy ]; }; machine = diff --git a/nixos/tests/firewall.nix b/nixos/tests/firewall.nix index 7207a880d8e..fcf758910e0 100644 --- a/nixos/tests/firewall.nix +++ b/nixos/tests/firewall.nix @@ -3,7 +3,7 @@ import ./make-test.nix ( { pkgs, ... } : { name = "firewall"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; nodes = diff --git a/nixos/tests/fish.nix b/nixos/tests/fish.nix new file mode 100644 index 00000000000..97c4e8e37ac --- /dev/null +++ b/nixos/tests/fish.nix @@ -0,0 +1,21 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "fish"; + + machine = + { pkgs, ... }: + + { + programs.fish.enable = true; + environment.systemPackages = with pkgs; [ + coreutils + procps # kill collides with coreutils' to test https://github.com/NixOS/nixpkgs/issues/56432 + ]; + }; + + testScript = + '' + $machine->waitForFile("/etc/fish/generated_completions/coreutils.fish"); + $machine->waitForFile("/etc/fish/generated_completions/kill.fish"); + $machine->succeed("fish -ic 'echo \$fish_complete_path' | grep -q '/share/fish/completions /etc/fish/generated_completions /root/.local/share/fish/generated_completions\$'"); + ''; +}) diff --git a/nixos/tests/flatpak-builder.nix b/nixos/tests/flatpak-builder.nix new file mode 100644 index 00000000000..49b97e8ca99 --- /dev/null +++ b/nixos/tests/flatpak-builder.nix @@ -0,0 +1,20 @@ +# run installed tests +import ./make-test.nix ({ pkgs, ... }: + +{ + name = "flatpak-builder"; + meta = { + maintainers = pkgs.flatpak-builder.meta.maintainers; + }; + + machine = { pkgs, ... }: { + services.flatpak.enable = true; + xdg.portal.enable = true; + environment.systemPackages = with pkgs; [ gnome-desktop-testing flatpak-builder ] ++ flatpak-builder.installedTestsDependencies; + virtualisation.diskSize = 2048; + }; + + testScript = '' + $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.flatpak-builder.installedTests}/share' --timeout 3600"); + ''; +}) diff --git a/nixos/tests/fluentd.nix b/nixos/tests/fluentd.nix new file mode 100644 index 00000000000..e5c4c3d2163 --- /dev/null +++ b/nixos/tests/fluentd.nix @@ -0,0 +1,46 @@ +import ./make-test.nix ({ pkgs, lib, ... }: { + name = "fluentd"; + + machine = { pkgs, ... }: { + services.fluentd = { + enable = true; + config = '' + + @type http + port 9880 + + + + type copy + + @type file + format json + path /tmp/fluentd + symlink_path /tmp/current-log + + + @type stdout + + + ''; + }; + }; + + testScript = let + testMessage = "an example log message"; + + payload = pkgs.writeText "test-message.json" (builtins.toJSON { + inherit testMessage; + }); + in '' + $machine->start; + $machine->waitForUnit('fluentd.service'); + $machine->waitForOpenPort(9880); + + $machine->succeed("curl -fsSL -X POST -H 'Content-type: application/json' -d @${payload} http://localhost:9880/test.tag"); + + $machine->succeed("systemctl stop fluentd"); # blocking flush + + $machine->succeed("grep '${testMessage}' /tmp/current-log"); + ''; +}) diff --git a/nixos/tests/fontconfig-default-fonts.nix b/nixos/tests/fontconfig-default-fonts.nix new file mode 100644 index 00000000000..1991cec9218 --- /dev/null +++ b/nixos/tests/fontconfig-default-fonts.nix @@ -0,0 +1,28 @@ +import ./make-test.nix ({ lib, ... }: +{ + name = "fontconfig-default-fonts"; + + machine = { config, pkgs, ... }: { + fonts.enableDefaultFonts = true; # Background fonts + fonts.fonts = with pkgs; [ + noto-fonts-emoji + cantarell-fonts + twitter-color-emoji + source-code-pro + gentium + ]; + fonts.fontconfig.defaultFonts = { + serif = [ "Gentium Plus" ]; + sansSerif = [ "Cantarell" ]; + monospace = [ "Source Code Pro" ]; + emoji = [ "Twitter Color Emoji" ]; + }; + }; + + testScript = '' + $machine->succeed("fc-match serif | grep '\"Gentium Plus\"'"); + $machine->succeed("fc-match sans-serif | grep '\"Cantarell\"'"); + $machine->succeed("fc-match monospace | grep '\"Source Code Pro\"'"); + $machine->succeed("fc-match emoji | grep '\"Twitter Color Emoji\"'"); + ''; +}) diff --git a/nixos/tests/gdk-pixbuf.nix b/nixos/tests/gdk-pixbuf.nix index 005c5111da2..9a62b593f46 100644 --- a/nixos/tests/gdk-pixbuf.nix +++ b/nixos/tests/gdk-pixbuf.nix @@ -3,12 +3,12 @@ import ./make-test.nix ({ pkgs, ... }: { name = "gdk-pixbuf"; meta = { - maintainers = pkgs.gdk_pixbuf.meta.maintainers; + maintainers = pkgs.gdk-pixbuf.meta.maintainers; }; machine = { pkgs, ... }: { environment.systemPackages = with pkgs; [ gnome-desktop-testing ]; - environment.variables.XDG_DATA_DIRS = [ "${pkgs.gdk_pixbuf.installedTests}/share" ]; + environment.variables.XDG_DATA_DIRS = [ "${pkgs.gdk-pixbuf.installedTests}/share" ]; # Tests allocate a lot of memory trying to exploit a CVE # but qemu-system-i386 has a 2047M memory limit diff --git a/nixos/tests/gitea.nix b/nixos/tests/gitea.nix index 28e6479e9cb..b8ab6dabc8c 100644 --- a/nixos/tests/gitea.nix +++ b/nixos/tests/gitea.nix @@ -9,22 +9,12 @@ with pkgs.lib; { mysql = makeTest { name = "gitea-mysql"; - meta.maintainers = [ maintainers.aanderse ]; + meta.maintainers = with maintainers; [ aanderse kolaente ]; machine = { config, pkgs, ... }: - { services.mysql.enable = true; - services.mysql.package = pkgs.mariadb; - services.mysql.ensureDatabases = [ "gitea" ]; - services.mysql.ensureUsers = [ - { name = "gitea"; - ensurePermissions = { "gitea.*" = "ALL PRIVILEGES"; }; - } - ]; - - services.gitea.enable = true; + { services.gitea.enable = true; services.gitea.database.type = "mysql"; - services.gitea.database.socket = "/run/mysqld/mysqld.sock"; }; testScript = '' @@ -42,10 +32,8 @@ with pkgs.lib; machine = { config, pkgs, ... }: - { - services.gitea.enable = true; + { services.gitea.enable = true; services.gitea.database.type = "postgres"; - services.gitea.database.password = "secret"; }; testScript = '' diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix index 16e0dd723ec..ac733461932 100644 --- a/nixos/tests/gitlab.nix +++ b/nixos/tests/gitlab.nix @@ -1,5 +1,8 @@ # This test runs gitlab and checks if it works +let + initialRootPassword = "notproduction"; +in import ./make-test.nix ({ pkgs, lib, ...} : with lib; { name = "gitlab"; meta = with pkgs.stdenv.lib.maintainers; { @@ -27,7 +30,7 @@ import ./make-test.nix ({ pkgs, lib, ...} : with lib; { services.gitlab = { enable = true; databasePassword = "dbPassword"; - initialRootPassword = "notproduction"; + inherit initialRootPassword; smtp.enable = true; secrets = { secret = "secret"; @@ -69,7 +72,27 @@ import ./make-test.nix ({ pkgs, lib, ...} : with lib; { }; }; - testScript = '' + testScript = + let + auth = pkgs.writeText "auth.json" (builtins.toJSON { + grant_type = "password"; + username = "root"; + password = initialRootPassword; + }); + + createProject = pkgs.writeText "create-project.json" (builtins.toJSON { + name = "test"; + }); + + putFile = pkgs.writeText "put-file.json" (builtins.toJSON { + branch = "master"; + author_email = "author@example.com"; + author_name = "Firstname Lastname"; + content = "some content"; + commit_message = "create a new file"; + }); + in + '' $gitlab->start(); $gitlab->waitForUnit("gitaly.service"); $gitlab->waitForUnit("gitlab-workhorse.service"); @@ -78,6 +101,13 @@ import ./make-test.nix ({ pkgs, lib, ...} : with lib; { $gitlab->waitForFile("/var/gitlab/state/tmp/sockets/gitlab.socket"); $gitlab->waitUntilSucceeds("curl -sSf http://gitlab/users/sign_in"); $gitlab->succeed("curl -isSf http://gitlab | grep -i location | grep -q http://gitlab/users/sign_in"); - $gitlab->succeed("${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2") + $gitlab->succeed("${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2"); + $gitlab->succeed("echo \"Authorization: Bearer \$(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers"); + $gitlab->succeed("curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects"); + $gitlab->succeed("curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/1/repository/files/some-file.txt"); + $gitlab->succeed("curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.gz > /tmp/archive.tar.gz"); + $gitlab->succeed("curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.bz2 > /tmp/archive.tar.bz2"); + $gitlab->succeed("test -s /tmp/archive.tar.gz"); + $gitlab->succeed("test -s /tmp/archive.tar.bz2"); ''; }) diff --git a/nixos/tests/glusterfs.nix b/nixos/tests/glusterfs.nix new file mode 100644 index 00000000000..9fd8bd2ed12 --- /dev/null +++ b/nixos/tests/glusterfs.nix @@ -0,0 +1,65 @@ +import ./make-test.nix ({ ... } : + +let + client = { pkgs, ... } : { + environment.systemPackages = [ pkgs.glusterfs ]; + fileSystems = pkgs.lib.mkVMOverride + [ { mountPoint = "/gluster"; + fsType = "glusterfs"; + device = "server1:/gv0"; + } ]; + }; + + server = { pkgs, ... } : { + networking.firewall.enable = false; + services.glusterfs.enable = true; + + # create a mount point for the volume + boot.initrd.postDeviceCommands = '' + ${pkgs.e2fsprogs}/bin/mkfs.ext4 -L data /dev/vdb + ''; + + virtualisation.emptyDiskImages = [ 1024 ]; + + fileSystems = pkgs.lib.mkVMOverride + [ { mountPoint = "/data"; + device = "/dev/disk/by-label/data"; + fsType = "ext4"; + } + ]; + }; +in { + name = "glusterfs"; + + nodes = { + server1 = server; + server2 = server; + client1 = client; + client2 = client; + }; + + testScript = '' + $server1->waitForUnit("glusterd.service"); + $server2->waitForUnit("glusterd.service"); + + # establish initial contact + $server1->succeed("sleep 2"); + $server1->succeed("gluster peer probe server2"); + $server1->succeed("gluster peer probe server1"); + + $server1->succeed("gluster peer status | grep Connected"); + + # create volumes + $server1->succeed("mkdir -p /data/vg0"); + $server2->succeed("mkdir -p /data/vg0"); + $server1->succeed("gluster volume create gv0 server1:/data/vg0 server2:/data/vg0"); + $server1->succeed("gluster volume start gv0"); + + # test clients + $client1->waitForUnit("gluster.mount"); + $client2->waitForUnit("gluster.mount"); + + $client1->succeed("echo test > /gluster/file1"); + $client2->succeed("grep test /gluster/file1"); + ''; +}) diff --git a/nixos/tests/gnome-photos.nix b/nixos/tests/gnome-photos.nix new file mode 100644 index 00000000000..2ecda1d68ce --- /dev/null +++ b/nixos/tests/gnome-photos.nix @@ -0,0 +1,42 @@ +# run installed tests +import ./make-test.nix ({ pkgs, lib, ... }: + +let + + # gsettings tool with access to gsettings-desktop-schemas + desktop-gsettings = with pkgs; stdenv.mkDerivation { + name = "desktop-gsettings"; + dontUnpack = true; + nativeBuildInputs = [ glib wrapGAppsHook ]; + buildInputs = [ gsettings-desktop-schemas ]; + installPhase = '' + runHook preInstall + mkdir -p $out/bin + ln -s ${glib.bin}/bin/gsettings $out/bin/desktop-gsettings + runHook postInstall + ''; + }; + +in + +{ + name = "gnome-photos"; + meta = { + maintainers = pkgs.gnome-photos.meta.maintainers; + }; + + machine = { pkgs, ... }: { + imports = [ ./common/x11.nix ]; + programs.dconf.enable = true; + services.gnome3.at-spi2-core.enable = true; # needed for dogtail + environment.systemPackages = with pkgs; [ gnome-desktop-testing desktop-gsettings ]; + services.dbus.packages = with pkgs; [ gnome-photos ]; + }; + + testScript = '' + $machine->waitForX; + # dogtail needs accessibility enabled + $machine->succeed("desktop-gsettings set org.gnome.desktop.interface toolkit-accessibility true 2>&1"); + $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.gnome-photos.installedTests}/share' 2>&1"); + ''; +}) diff --git a/nixos/tests/gnome3-gdm.nix b/nixos/tests/gnome3-gdm.nix deleted file mode 100644 index c2808d87d99..00000000000 --- a/nixos/tests/gnome3-gdm.nix +++ /dev/null @@ -1,63 +0,0 @@ -import ./make-test.nix ({ pkgs, ...} : { - name = "gnome3-gdm"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ lethalman ]; - }; - - machine = - { ... }: - - { imports = [ ./common/user-account.nix ]; - - services.xserver.enable = true; - - services.xserver.displayManager.gdm = { - enable = true; - autoLogin = { - enable = true; - user = "alice"; - }; - }; - services.xserver.desktopManager.gnome3.enable = true; - - virtualisation.memorySize = 1024; - }; - - testScript = let - # Keep line widths somewhat managable - bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus"; - gdbus = "${bus} gdbus"; - # Call javascript in gnome shell, returns a tuple (success, output), where - # `success` is true if the dbus call was successful and output is what the - # javascript evaluates to. - eval = "call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval"; - # False when startup is done - startingUp = "${gdbus} ${eval} Main.layoutManager._startingUp"; - # Hopefully gnome-terminal's wm class - wmClass = "${gdbus} ${eval} global.display.focus_window.wm_class"; - in '' - # wait for gdm to start - $machine->waitForUnit("display-manager.service"); - - # wait for alice to be logged in - $machine->waitForUnit("default.target","alice"); - - # Check that logging in has given the user ownership of devices. - $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); - - # Wait for the wayland server - $machine->waitForFile("/run/user/1000/wayland-0"); - - # Wait for gnome shell, correct output should be "(true, 'false')" - $machine->waitUntilSucceeds("su - alice -c '${startingUp} | grep -q true,..false'"); - - # open a terminal - $machine->succeed("su - alice -c '${bus} gnome-terminal'"); - # and check it's there - $machine->waitUntilSucceeds("su - alice -c '${wmClass} | grep -q gnome-terminal-server'"); - - # wait to get a nice screenshot - $machine->sleep(20); - $machine->screenshot("screen"); - ''; -}) diff --git a/nixos/tests/gnome3-xorg.nix b/nixos/tests/gnome3-xorg.nix new file mode 100644 index 00000000000..f12361da037 --- /dev/null +++ b/nixos/tests/gnome3-xorg.nix @@ -0,0 +1,41 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "gnome3-xorg"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = pkgs.gnome3.maintainers; + }; + + machine = + { ... }: + + { imports = [ ./common/user-account.nix ]; + + services.xserver.enable = true; + + services.xserver.displayManager.gdm.enable = false; + services.xserver.displayManager.lightdm.enable = true; + services.xserver.displayManager.lightdm.autoLogin.enable = true; + services.xserver.displayManager.lightdm.autoLogin.user = "alice"; + services.xserver.desktopManager.gnome3.enable = true; + services.xserver.desktopManager.default = "gnome-xorg"; + + virtualisation.memorySize = 1024; + }; + + testScript = + '' + $machine->waitForX; + + # wait for alice to be logged in + $machine->waitForUnit("default.target","alice"); + + # Check that logging in has given the user ownership of devices. + $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); + + $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'"); + $machine->succeed("xauth merge ~alice/.Xauthority"); + $machine->waitForWindow(qr/alice.*machine/); + $machine->succeed("timeout 900 bash -c 'while read msg; do if [[ \$msg =~ \"GNOME Shell started\" ]]; then break; fi; done < <(journalctl -f)'"); + $machine->sleep(10); + $machine->screenshot("screen"); + ''; +}) diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix index 95694ea4828..b6fe602a732 100644 --- a/nixos/tests/gnome3.nix +++ b/nixos/tests/gnome3.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "gnome3"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ domenkozar eelco chaoflow lethalman ]; + maintainers = pkgs.gnome3.maintainers; }; machine = @@ -11,19 +11,34 @@ import ./make-test.nix ({ pkgs, ...} : { services.xserver.enable = true; - services.xserver.displayManager.gdm.enable = false; - services.xserver.displayManager.lightdm.enable = true; - services.xserver.displayManager.lightdm.autoLogin.enable = true; - services.xserver.displayManager.lightdm.autoLogin.user = "alice"; + services.xserver.displayManager.gdm = { + enable = true; + autoLogin = { + enable = true; + user = "alice"; + }; + }; + services.xserver.desktopManager.gnome3.enable = true; - services.xserver.desktopManager.default = "gnome-xorg"; virtualisation.memorySize = 1024; }; - testScript = - '' - $machine->waitForX; + testScript = let + # Keep line widths somewhat managable + bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus"; + gdbus = "${bus} gdbus"; + # Call javascript in gnome shell, returns a tuple (success, output), where + # `success` is true if the dbus call was successful and output is what the + # javascript evaluates to. + eval = "call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval"; + # False when startup is done + startingUp = "${gdbus} ${eval} Main.layoutManager._startingUp"; + # Hopefully gnome-terminal's wm class + wmClass = "${gdbus} ${eval} global.display.focus_window.wm_class"; + in '' + # wait for gdm to start + $machine->waitForUnit("display-manager.service"); # wait for alice to be logged in $machine->waitForUnit("default.target","alice"); @@ -31,11 +46,19 @@ import ./make-test.nix ({ pkgs, ...} : { # Check that logging in has given the user ownership of devices. $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); - $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'"); - $machine->succeed("xauth merge ~alice/.Xauthority"); - $machine->waitForWindow(qr/alice.*machine/); - $machine->succeed("timeout 900 bash -c 'while read msg; do if [[ \$msg =~ \"GNOME Shell started\" ]]; then break; fi; done < <(journalctl -f)'"); - $machine->sleep(10); + # Wait for the wayland server + $machine->waitForFile("/run/user/1000/wayland-0"); + + # Wait for gnome shell, correct output should be "(true, 'false')" + $machine->waitUntilSucceeds("su - alice -c '${startingUp} | grep -q true,..false'"); + + # open a terminal + $machine->succeed("su - alice -c '${bus} gnome-terminal'"); + # and check it's there + $machine->waitUntilSucceeds("su - alice -c '${wmClass} | grep -q gnome-terminal-server'"); + + # wait to get a nice screenshot + $machine->sleep(20); $machine->screenshot("screen"); ''; }) diff --git a/nixos/tests/grafana.nix b/nixos/tests/grafana.nix index 9dc765a879b..7a1b4c8ffbb 100644 --- a/nixos/tests/grafana.nix +++ b/nixos/tests/grafana.nix @@ -1,25 +1,91 @@ -import ./make-test.nix ({ lib, ... }: -{ - name = "grafana"; +import ./make-test.nix ({ lib, pkgs, ... }: - meta = with lib.maintainers; { - maintainers = [ willibutz ]; - }; +let + inherit (lib) mkMerge nameValuePair maintainers; - machine = { ... }: { + baseGrafanaConf = { services.grafana = { enable = true; addr = "localhost"; analytics.reporting.enable = false; domain = "localhost"; - security.adminUser = "testusername"; + security = { + adminUser = "testadmin"; + adminPassword = "snakeoilpwd"; + }; }; }; + extraNodeConfs = { + postgresql = { + services.grafana.database = { + host = "127.0.0.1:5432"; + user = "grafana"; + }; + services.postgresql = { + enable = true; + ensureDatabases = [ "grafana" ]; + ensureUsers = [{ + name = "grafana"; + ensurePermissions."DATABASE grafana" = "ALL PRIVILEGES"; + }]; + }; + systemd.services.grafana.after = [ "postgresql.service" ]; + }; + + mysql = { + services.grafana.database.user = "grafana"; + services.mysql = { + enable = true; + ensureDatabases = [ "grafana" ]; + ensureUsers = [{ + name = "grafana"; + ensurePermissions."grafana.*" = "ALL PRIVILEGES"; + }]; + package = pkgs.mariadb; + }; + systemd.services.grafana.after = [ "mysql.service" ]; + }; + }; + + nodes = builtins.listToAttrs (map (dbName: + nameValuePair dbName (mkMerge [ + baseGrafanaConf + (extraNodeConfs.${dbName} or {}) + ])) [ "sqlite" "postgresql" "mysql" ]); + +in { + name = "grafana"; + + meta = with maintainers; { + maintainers = [ willibutz ]; + }; + + inherit nodes; + testScript = '' - $machine->start; - $machine->waitForUnit("grafana.service"); - $machine->waitForOpenPort(3000); - $machine->succeed("curl -sSfL http://127.0.0.1:3000/"); + startAll(); + + subtest "Grafana sqlite", sub { + $sqlite->waitForUnit("grafana.service"); + $sqlite->waitForOpenPort(3000); + $sqlite->succeed("curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost"); + }; + + subtest "Grafana postgresql", sub { + $postgresql->waitForUnit("grafana.service"); + $postgresql->waitForUnit("postgresql.service"); + $postgresql->waitForOpenPort(3000); + $postgresql->waitForOpenPort(5432); + $postgresql->succeed("curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost"); + }; + + subtest "Grafana mysql", sub { + $mysql->waitForUnit("grafana.service"); + $mysql->waitForUnit("mysql.service"); + $mysql->waitForOpenPort(3000); + $mysql->waitForOpenPort(3306); + $mysql->succeed("curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost"); + }; ''; }) diff --git a/nixos/tests/graphene.nix b/nixos/tests/graphene.nix new file mode 100644 index 00000000000..5591bcc30c0 --- /dev/null +++ b/nixos/tests/graphene.nix @@ -0,0 +1,18 @@ +# run installed tests +import ./make-test.nix ({ pkgs, ... }: + +{ + name = "graphene"; + + meta = { + maintainers = pkgs.graphene.meta.maintainers; + }; + + machine = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ gnome-desktop-testing ]; + }; + + testScript = '' + $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.graphene.installedTests}/share'"); + ''; +}) diff --git a/nixos/tests/graylog.nix b/nixos/tests/graylog.nix new file mode 100644 index 00000000000..dc54afd1d26 --- /dev/null +++ b/nixos/tests/graylog.nix @@ -0,0 +1,111 @@ +import ./make-test.nix ({ pkgs, lib, ... }: { + name = "graylog"; + meta.maintainers = with lib.maintainers; [ ma27 ]; + + machine = { pkgs, ... }: { + virtualisation.memorySize = 4096; + virtualisation.diskSize = 4096; + + services.mongodb.enable = true; + services.elasticsearch.enable = true; + services.elasticsearch.package = pkgs.elasticsearch-oss; + services.elasticsearch.extraConf = '' + network.publish_host: 127.0.0.1 + network.bind_host: 127.0.0.1 + ''; + + services.graylog = { + enable = true; + passwordSecret = "YGhZ59wXMrYOojx5xdgEpBpDw2N6FbhM4lTtaJ1KPxxmKrUvSlDbtWArwAWMQ5LKx1ojHEVrQrBMVRdXbRyZLqffoUzHfssc"; + elasticsearchHosts = [ "http://localhost:9200" ]; + + # `echo -n "nixos" | shasum -a 256` + rootPasswordSha2 = "6ed332bcfa615381511d4d5ba44a293bb476f368f7e9e304f0dff50230d1a85b"; + }; + + environment.systemPackages = [ pkgs.jq ]; + + systemd.services.graylog.path = [ pkgs.netcat ]; + systemd.services.graylog.preStart = '' + until nc -z localhost 9200; do + sleep 2 + done + ''; + }; + + testScript = let + payloads.login = pkgs.writeText "login.json" (builtins.toJSON { + host = "127.0.0.1:9000"; + username = "admin"; + password = "nixos"; + }); + + payloads.input = pkgs.writeText "input.json" (builtins.toJSON { + title = "Demo"; + global = false; + type = "org.graylog2.inputs.gelf.udp.GELFUDPInput"; + node = "@node@"; + configuration = { + bind_address = "0.0.0.0"; + decompress_size_limit = 8388608; + number_worker_threads = 1; + override_source = null; + port = 12201; + recv_buffer_size = 262144; + }; + }); + + payloads.gelf_message = pkgs.writeText "gelf.json" (builtins.toJSON { + host = "example.org"; + short_message = "A short message"; + full_message = "A long message"; + version = "1.1"; + level = 5; + facility = "Test"; + }); + in '' + $machine->start; + $machine->waitForUnit("graylog.service"); + $machine->waitForOpenPort(9000); + $machine->succeed("curl -sSfL http://127.0.0.1:9000/"); + + my $session = $machine->succeed("curl -X POST " + . "-sSfL http://127.0.0.1:9000/api/system/sessions " + . "-d \$(cat ${payloads.login}) " + . "-H 'Content-Type: application/json' " + . "-H 'Accept: application/json' " + . "-H 'x-requested-by: cli' " + . "| jq .session_id | xargs echo" + ); + + chomp($session); + + $machine->succeed("curl -X POST " + . "-sSfL http://127.0.0.1:9000/api/system/inputs -u $session:session " + . "-d \$(cat ${payloads.input} | sed -e \"s,\@node\@,\$(cat /var/lib/graylog/server/node-id),\") " + . "-H 'Accept: application/json' " + . "-H 'Content-Type: application/json' " + . "-H 'x-requested-by: cli' " + ); + + $machine->waitUntilSucceeds("test \"\$(curl -sSfL 'http://127.0.0.1:9000/api/cluster/inputstates' " + . "-u $session:session " + . "-H 'Accept: application/json' " + . "-H 'Content-Type: application/json' " + . "-H 'x-requested-by: cli'" + . "| jq 'to_entries[]|.value|.[0]|.state' | xargs echo" + . ")\" = \"RUNNING\"" + ); + + $machine->succeed("echo -n \$(cat ${payloads.gelf_message}) | nc -w10 -u 127.0.0.1 12201"); + + $machine->succeed("test \"\$(curl -X GET " + . "-sSfL 'http://127.0.0.1:9000/api/search/universal/relative?query=*' " + . "-u $session:session " + . "-H 'Accept: application/json' " + . "-H 'Content-Type: application/json' " + . "-H 'x-requested-by: cli'" + . " | jq '.total_results' | xargs echo)\" = \"1\"" + ); + ''; +}) diff --git a/nixos/tests/hardened.nix b/nixos/tests/hardened.nix index 07bd10963ba..1ff329bd98d 100644 --- a/nixos/tests/hardened.nix +++ b/nixos/tests/hardened.nix @@ -27,9 +27,33 @@ import ./make-test.nix ({ pkgs, ...} : { }; testScript = + let + hardened-malloc-tests = pkgs.stdenv.mkDerivation rec { + name = "hardened-malloc-tests-${pkgs.graphene-hardened-malloc.version}"; + src = pkgs.graphene-hardened-malloc.src; + buildPhase = '' + cd test/simple-memory-corruption + make -j4 + ''; + + installPhase = '' + find . -type f -executable -exec install -Dt $out/bin '{}' + + ''; + }; + in '' $machine->waitForUnit("multi-user.target"); + subtest "apparmor-loaded", sub { + $machine->succeed("systemctl status apparmor.service"); + }; + + # AppArmor securityfs + subtest "apparmor-securityfs", sub { + $machine->succeed("mountpoint -q /sys/kernel/security"); + $machine->succeed("cat /sys/kernel/security/apparmor/profiles"); + }; + # Test loading out-of-tree modules subtest "extra-module-packages", sub { $machine->succeed("grep -Fq wireguard /proc/modules"); @@ -83,5 +107,18 @@ import ./make-test.nix ({ pkgs, ...} : { $machine->fail("systemctl hibernate"); $machine->fail("systemctl kexec"); }; + + # Test hardened memory allocator + sub runMallocTestProg { + my ($progName, $errorText) = @_; + my $text = "fatal allocator error: " . $errorText; + $machine->fail("${hardened-malloc-tests}/bin/" . $progName) =~ $text; + }; + + subtest "hardenedmalloc", sub { + runMallocTestProg("double_free_large", "invalid free"); + runMallocTestProg("unaligned_free_small", "invalid unaligned free"); + runMallocTestProg("write_after_free_small", "detected write after free"); + }; ''; }) diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix index a93360b252f..6b53914fd85 100644 --- a/nixos/tests/home-assistant.nix +++ b/nixos/tests/home-assistant.nix @@ -33,11 +33,13 @@ in { longitude = "0.0"; elevation = 0; auth_providers = [ - { type = "legacy_api_password"; } + { + type = "legacy_api_password"; + api_password = apiPassword; + } ]; }; frontend = { }; - http.api_password = apiPassword; mqtt = { # Use hbmqtt as broker password = mqttPassword; }; @@ -87,8 +89,8 @@ in { $hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"on\"'"); # Toggle a binary sensor using hass-cli - $hass->succeed("${hassCli} --output json entity get binary_sensor.mqtt_binary_sensor | grep -qF '\"state\": \"on\"'"); - $hass->succeed("${hassCli} entity edit binary_sensor.mqtt_binary_sensor --json='{\"state\": \"off\"}'"); + $hass->succeed("${hassCli} --output json state get binary_sensor.mqtt_binary_sensor | grep -qF '\"state\": \"on\"'"); + $hass->succeed("${hassCli} state edit binary_sensor.mqtt_binary_sensor --json='{\"state\": \"off\"}'"); $hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"off\"'"); # Print log to ease debugging diff --git a/nixos/tests/hydra/default.nix b/nixos/tests/hydra/default.nix index 882bced86d3..f99b367ac9b 100644 --- a/nixos/tests/hydra/default.nix +++ b/nixos/tests/hydra/default.nix @@ -17,7 +17,7 @@ let createTrivialProject = pkgs.stdenv.mkDerivation { name = "create-trivial-project"; - unpackPhase = ":"; + dontUnpack = true; buildInputs = [ pkgs.makeWrapper ]; installPhase = "install -m755 -D ${./create-trivial-project.sh} $out/bin/create-trivial-project.sh"; postFixup = '' diff --git a/nixos/tests/icingaweb2.nix b/nixos/tests/icingaweb2.nix new file mode 100644 index 00000000000..ea1b94c526b --- /dev/null +++ b/nixos/tests/icingaweb2.nix @@ -0,0 +1,71 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "icingaweb2"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ das_j ]; + }; + + nodes = { + icingaweb2 = { config, pkgs, ... }: { + services.icingaweb2 = { + enable = true; + + modulePackages = with pkgs.icingaweb2Modules; { + particles = theme-particles; + spring = theme-spring; + }; + + modules = { + doc.enable = true; + migrate.enable = true; + setup.enable = true; + test.enable = true; + translation.enable = true; + }; + + generalConfig = { + global = { + module_path = "${pkgs.icingaweb2}/modules"; + }; + }; + + authentications = { + icingaweb = { + backend = "external"; + }; + }; + + groupBackends = { + icingaweb = { + backend = "db"; + resource = "icingaweb_db"; + }; + }; + + resources = { + # Not used, so no DB server needed + icingaweb_db = { + type = "db"; + db = "mysql"; + host = "localhost"; + username = "icingaweb2"; + password = "icingaweb2"; + dbname = "icingaweb2"; + }; + }; + + roles = { + Administrators = { + users = "*"; + permissions = "*"; + }; + }; + }; + }; + }; + + testScript = '' + startAll(); + $icingaweb2->waitForUnit("multi-user.target"); + $icingaweb2->succeed("curl -sSf http://icingaweb2/authentication/login"); + ''; +}) diff --git a/nixos/tests/influxdb.nix b/nixos/tests/influxdb.nix index 440049d9511..61201202204 100644 --- a/nixos/tests/influxdb.nix +++ b/nixos/tests/influxdb.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "influxdb"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ chaoflow offline ]; + maintainers = [ offline ]; }; nodes = { diff --git a/nixos/tests/initdb.nix b/nixos/tests/initdb.nix new file mode 100644 index 00000000000..749d7857a13 --- /dev/null +++ b/nixos/tests/initdb.nix @@ -0,0 +1,26 @@ +let + pkgs = import { }; +in +with import { inherit pkgs; system = builtins.currentSystem; }; +with pkgs.lib; + +makeTest { + name = "pg-initdb"; + + machine = {...}: + { + documentation.enable = false; + services.postgresql.enable = true; + services.postgresql.package = pkgs.postgresql_9_6; + environment.pathsToLink = [ + "/share/postgresql" + ]; + }; + + testScript = '' + $machine->start; + $machine->succeed("sudo -u postgres initdb -D /tmp/testpostgres2"); + $machine->shutdown; + ''; + + } \ No newline at end of file diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 2553a0d116a..a136678c6ef 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -67,6 +67,7 @@ let # partitions and filesystems. testScriptFun = { bootLoader, createPartitions, grubVersion, grubDevice, grubUseEfi , grubIdentifier, preBootCommands, extraConfig + , testCloneConfig }: let iface = if grubVersion == 1 then "ide" else "virtio"; @@ -85,6 +86,7 @@ let in if !isEfi && !(pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) then throw "Non-EFI boot methods are only supported on i686 / x86_64" else '' + $machine->start; # Make sure that we get a login prompt etc. @@ -185,6 +187,43 @@ let ${preBootCommands} $machine->waitForUnit("network.target"); $machine->shutdown; + + # Tests for validating clone configuration entries in grub menu + ${optionalString testCloneConfig '' + # Reboot Machine + $machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}", name => "clone-default-config" }); + ${preBootCommands} + $machine->waitForUnit("multi-user.target"); + + # Booted configuration name should be Home + # This is not the name that shows in the grub menu. + # The default configuration is always shown as "Default" + $machine->succeed("cat /run/booted-system/configuration-name >&2"); + $machine->succeed("cat /run/booted-system/configuration-name | grep Home"); + + # We should find **not** a file named /etc/gitconfig + $machine->fail("test -e /etc/gitconfig"); + + # Set grub to boot the second configuration + $machine->succeed("grub-reboot 1"); + + $machine->shutdown; + + # Reboot Machine + $machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}", name => "clone-alternate-config" }); + ${preBootCommands} + + $machine->waitForUnit("multi-user.target"); + # Booted configuration name should be Work + $machine->succeed("cat /run/booted-system/configuration-name >&2"); + $machine->succeed("cat /run/booted-system/configuration-name | grep Work"); + + # We should find a file named /etc/gitconfig + $machine->succeed("test -e /etc/gitconfig"); + + $machine->shutdown; + ''} + ''; @@ -194,6 +233,7 @@ let , bootLoader ? "grub" # either "grub" or "systemd-boot" , grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid", grubUseEfi ? false , enableOCR ? false, meta ? {} + , testCloneConfig ? false }: makeTest { inherit enableOCR; @@ -269,10 +309,102 @@ let testScript = testScriptFun { inherit bootLoader createPartitions preBootCommands - grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; + grubVersion grubDevice grubIdentifier grubUseEfi extraConfig + testCloneConfig; }; }; + makeLuksRootTest = name: luksFormatOpts: makeInstallerTest name + { createPartitions = '' + $machine->succeed( + "flock /dev/vda parted --script /dev/vda -- mklabel msdos" + . " mkpart primary ext2 1M 50MB" # /boot + . " mkpart primary linux-swap 50M 1024M" + . " mkpart primary 1024M -1s", # LUKS + "udevadm settle", + "mkswap /dev/vda2 -L swap", + "swapon -L swap", + "modprobe dm_mod dm_crypt", + "echo -n supersecret | cryptsetup luksFormat ${luksFormatOpts} -q /dev/vda3 -", + "echo -n supersecret | cryptsetup luksOpen --key-file - /dev/vda3 cryptroot", + "mkfs.ext3 -L nixos /dev/mapper/cryptroot", + "mount LABEL=nixos /mnt", + "mkfs.ext3 -L boot /dev/vda1", + "mkdir -p /mnt/boot", + "mount LABEL=boot /mnt/boot", + ); + ''; + extraConfig = '' + boot.kernelParams = lib.mkAfter [ "console=tty0" ]; + ''; + enableOCR = true; + preBootCommands = '' + $machine->start; + $machine->waitForText(qr/Passphrase for/); + $machine->sendChars("supersecret\n"); + ''; + }; + + # The (almost) simplest partitioning scheme: a swap partition and + # one big filesystem partition. + simple-test-config = { createPartitions = + '' + $machine->succeed( + "flock /dev/vda parted --script /dev/vda -- mklabel msdos" + . " mkpart primary linux-swap 1M 1024M" + . " mkpart primary ext2 1024M -1s", + "udevadm settle", + "mkswap /dev/vda1 -L swap", + "swapon -L swap", + "mkfs.ext3 -L nixos /dev/vda2", + "mount LABEL=nixos /mnt", + ); + ''; + }; + + simple-uefi-grub-config = + { createPartitions = + '' + $machine->succeed( + "flock /dev/vda parted --script /dev/vda -- mklabel gpt" + . " mkpart ESP fat32 1M 50MiB" # /boot + . " set 1 boot on" + . " mkpart primary linux-swap 50MiB 1024MiB" + . " mkpart primary ext2 1024MiB -1MiB", # / + "udevadm settle", + "mkswap /dev/vda2 -L swap", + "swapon -L swap", + "mkfs.ext3 -L nixos /dev/vda3", + "mount LABEL=nixos /mnt", + "mkfs.vfat -n BOOT /dev/vda1", + "mkdir -p /mnt/boot", + "mount LABEL=BOOT /mnt/boot", + ); + ''; + bootLoader = "grub"; + grubUseEfi = true; + }; + + clone-test-extraconfig = { extraConfig = + '' + environment.systemPackages = [ pkgs.grub2 ]; + boot.loader.grub.configurationName = "Home"; + nesting.clone = [ + { + boot.loader.grub.configurationName = lib.mkForce "Work"; + + environment.etc = { + "gitconfig".text = " + [core] + gitproxy = none for work.com + "; + }; + } + ]; + ''; + testCloneConfig = true; + }; + in { @@ -281,21 +413,10 @@ in { # The (almost) simplest partitioning scheme: a swap partition and # one big filesystem partition. - simple = makeInstallerTest "simple" - { createPartitions = - '' - $machine->succeed( - "flock /dev/vda parted --script /dev/vda -- mklabel msdos" - . " mkpart primary linux-swap 1M 1024M" - . " mkpart primary ext2 1024M -1s", - "udevadm settle", - "mkswap /dev/vda1 -L swap", - "swapon -L swap", - "mkfs.ext3 -L nixos /dev/vda2", - "mount LABEL=nixos /mnt", - ); - ''; - }; + simple = makeInstallerTest "simple" simple-test-config; + + # Test cloned configurations with the simple grub configuration + simpleClone = makeInstallerTest "simpleClone" (simple-test-config // clone-test-extraconfig); # Simple GPT/UEFI configuration using systemd-boot with 3 partitions: ESP, swap & root filesystem simpleUefiSystemdBoot = makeInstallerTest "simpleUefiSystemdBoot" @@ -320,28 +441,10 @@ in { bootLoader = "systemd-boot"; }; - simpleUefiGrub = makeInstallerTest "simpleUefiGrub" - { createPartitions = - '' - $machine->succeed( - "flock /dev/vda parted --script /dev/vda -- mklabel gpt" - . " mkpart ESP fat32 1M 50MiB" # /boot - . " set 1 boot on" - . " mkpart primary linux-swap 50MiB 1024MiB" - . " mkpart primary ext2 1024MiB -1MiB", # / - "udevadm settle", - "mkswap /dev/vda2 -L swap", - "swapon -L swap", - "mkfs.ext3 -L nixos /dev/vda3", - "mount LABEL=nixos /mnt", - "mkfs.vfat -n BOOT /dev/vda1", - "mkdir -p /mnt/boot", - "mount LABEL=BOOT /mnt/boot", - ); - ''; - bootLoader = "grub"; - grubUseEfi = true; - }; + simpleUefiGrub = makeInstallerTest "simpleUefiGrub" simple-uefi-grub-config; + + # Test cloned configurations with the uefi grub configuration + simpleUefiGrubClone = makeInstallerTest "simpleUefiGrubClone" (simple-uefi-grub-config // clone-test-extraconfig); # Same as the previous, but now with a separate /boot partition. separateBoot = makeInstallerTest "separateBoot" @@ -446,37 +549,14 @@ in { ''; }; - # Boot off an encrypted root partition - luksroot = makeInstallerTest "luksroot" - { createPartitions = '' - $machine->succeed( - "flock /dev/vda parted --script /dev/vda -- mklabel msdos" - . " mkpart primary ext2 1M 50MB" # /boot - . " mkpart primary linux-swap 50M 1024M" - . " mkpart primary 1024M -1s", # LUKS - "udevadm settle", - "mkswap /dev/vda2 -L swap", - "swapon -L swap", - "modprobe dm_mod dm_crypt", - "echo -n supersecret | cryptsetup luksFormat -q /dev/vda3 -", - "echo -n supersecret | cryptsetup luksOpen --key-file - /dev/vda3 cryptroot", - "mkfs.ext3 -L nixos /dev/mapper/cryptroot", - "mount LABEL=nixos /mnt", - "mkfs.ext3 -L boot /dev/vda1", - "mkdir -p /mnt/boot", - "mount LABEL=boot /mnt/boot", - ); - ''; - extraConfig = '' - boot.kernelParams = lib.mkAfter [ "console=tty0" ]; - ''; - enableOCR = true; - preBootCommands = '' - $machine->start; - $machine->waitForText(qr/Passphrase for/); - $machine->sendChars("supersecret\n"); - ''; - }; + # Boot off an encrypted root partition with the default LUKS header format + luksroot = makeLuksRootTest "luksroot-format1" ""; + + # Boot off an encrypted root partition with LUKS1 format + luksroot-format1 = makeLuksRootTest "luksroot-format1" "--type=LUKS1"; + + # Boot off an encrypted root partition with LUKS2 format + luksroot-format2 = makeLuksRootTest "luksroot-format2" "--type=LUKS2"; # Test whether opening encrypted filesystem with keyfile # Checks for regression of missing cryptsetup, when no luks device without diff --git a/nixos/tests/ipv6.nix b/nixos/tests/ipv6.nix index 97f348a9bee..d11eba764da 100644 --- a/nixos/tests/ipv6.nix +++ b/nixos/tests/ipv6.nix @@ -1,14 +1,16 @@ # Test of IPv6 functionality in NixOS, including whether router # solicication/advertisement using radvd works. -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test.nix ({ pkgs, lib, ...} : { name = "ipv6"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; nodes = - { client = { ... }: { }; + # Remove the interface configuration provided by makeTest so that the + # interfaces are all configured implicitly + { client = { ... }: { networking.interfaces = lib.mkForce {}; }; server = { ... }: @@ -73,6 +75,11 @@ import ./make-test.nix ({ pkgs, ...} : { $client->succeed("curl --fail -g http://[$serverIp]"); $client->fail("curl --fail -g http://[$clientIp]"); }; + subtest "privacy extensions", sub { + my $ip = waitForAddress $client, "eth1", "global temporary"; + # Default route should have "src " in it + $client->succeed("ip r g ::2 | grep $ip"); + }; # TODO: test reachability of a machine on another network. ''; diff --git a/nixos/tests/jellyfin.nix b/nixos/tests/jellyfin.nix new file mode 100644 index 00000000000..b60c6eb94f4 --- /dev/null +++ b/nixos/tests/jellyfin.nix @@ -0,0 +1,16 @@ +import ./make-test.nix ({ lib, ...}: + +{ + name = "jellyfin"; + meta.maintainers = with lib.maintainers; [ minijackson ]; + + machine = + { ... }: + { services.jellyfin.enable = true; }; + + testScript = '' + $machine->waitForUnit('jellyfin.service'); + $machine->waitForOpenPort('8096'); + $machine->succeed("curl --fail http://localhost:8096/"); + ''; +}) diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix index 4f2d2085cd1..a6eec411ff2 100644 --- a/nixos/tests/jenkins.nix +++ b/nixos/tests/jenkins.nix @@ -6,7 +6,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "jenkins"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ bjornfor coconnor domenkozar eelco chaoflow ]; + maintainers = [ bjornfor coconnor domenkozar eelco ]; }; nodes = { diff --git a/nixos/tests/jormungandr.nix b/nixos/tests/jormungandr.nix new file mode 100644 index 00000000000..2abafc53ce5 --- /dev/null +++ b/nixos/tests/jormungandr.nix @@ -0,0 +1,77 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "jormungandr"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ mmahut ]; + }; + + nodes = { + # Testing the Byzantine Fault Tolerant protocol + bft = { ... }: { + environment.systemPackages = [ pkgs.jormungandr ]; + services.jormungandr.enable = true; + services.jormungandr.genesisBlockFile = "/var/lib/jormungandr/block-0.bin"; + services.jormungandr.secretFile = "/etc/secrets/jormungandr.yaml"; + }; + + # Testing the Ouroboros Genesis Praos protocol + genesis = { ... }: { + environment.systemPackages = [ pkgs.jormungandr ]; + services.jormungandr.enable = true; + services.jormungandr.genesisBlockFile = "/var/lib/jormungandr/block-0.bin"; + services.jormungandr.secretFile = "/etc/secrets/jormungandr.yaml"; + }; + }; + + testScript = '' + startAll; + + ## Testing BFT + # Let's wait for the StateDirectory + $bft->waitForFile("/var/lib/jormungandr/"); + + # First, we generate the genesis file for our new blockchain + $bft->succeed("jcli genesis init > /root/genesis.yaml"); + + # We need to generate our secret key + $bft->succeed("jcli key generate --type=Ed25519 > /root/key.prv"); + + # We include the secret key into our services.jormungandr.secretFile + $bft->succeed("mkdir -p /etc/secrets"); + $bft->succeed("echo -e \"bft:\\n signing_key:\" \$(cat /root/key.prv) > /etc/secrets/jormungandr.yaml"); + + # After that, we generate our public key from it + $bft->succeed("cat /root/key.prv | jcli key to-public > /root/key.pub"); + + # We add our public key as a consensus leader in the genesis configration file + $bft->succeed("sed -ie \"s/ed25519_pk1vvwp2s0n5jl5f4xcjurp2e92sj2awehkrydrlas4vgqr7xzt33jsadha32/\$(cat /root/key.pub)/\" /root/genesis.yaml"); + + # Now we can generate the genesis block from it + $bft->succeed("jcli genesis encode --input /root/genesis.yaml --output /var/lib/jormungandr/block-0.bin"); + + # We should have everything to start the service now + $bft->succeed("systemctl restart jormungandr"); + $bft->waitForUnit("jormungandr.service"); + + # Now we can test if we are able to reach the REST API + $bft->waitUntilSucceeds("curl -L http://localhost:8607/api/v0/node/stats | grep uptime"); + + ## Testing Genesis + # Let's wait for the StateDirectory + $genesis->waitForFile("/var/lib/jormungandr/"); + + # Bootstraping the configuration + $genesis->succeed("jormungandr-bootstrap -g -p 8607 -s 1"); + + # Moving generated files in place + $genesis->succeed("mkdir -p /etc/secrets"); + $genesis->succeed("mv pool-secret1.yaml /etc/secrets/jormungandr.yaml"); + $genesis->succeed("mv block-0.bin /var/lib/jormungandr/"); + + # We should have everything to start the service now + $genesis->succeed("systemctl restart jormungandr"); + $genesis->waitForUnit("jormungandr.service"); + + # Now we can create and delegate an account + $genesis->succeed("./create-account-and-delegate.sh | tee -a /tmp/delegate.log"); + ''; +}) diff --git a/nixos/tests/kafka.nix b/nixos/tests/kafka.nix index 72f91f6428a..f526d18befe 100644 --- a/nixos/tests/kafka.nix +++ b/nixos/tests/kafka.nix @@ -72,4 +72,5 @@ in with pkgs; { kafka_1_1 = makeKafkaTest "kafka_1_1" apacheKafka_1_1; kafka_2_0 = makeKafkaTest "kafka_2_0" apacheKafka_2_0; kafka_2_1 = makeKafkaTest "kafka_2_1" apacheKafka_2_1; + kafka_2_2 = makeKafkaTest "kafka_2_2" apacheKafka_2_2; } diff --git a/nixos/tests/kernel-testing.nix b/nixos/tests/kernel-testing.nix new file mode 100644 index 00000000000..276d2de12bb --- /dev/null +++ b/nixos/tests/kernel-testing.nix @@ -0,0 +1,17 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "kernel-testing"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ nequissimus ]; + }; + + machine = { pkgs, ... }: + { + boot.kernelPackages = pkgs.linuxPackages_testing; + }; + + testScript = + '' + $machine->succeed("uname -s | grep 'Linux'"); + $machine->succeed("uname -a | grep '${pkgs.linuxPackages_testing.kernel.modDirVersion}'"); + ''; +}) diff --git a/nixos/tests/kexec.nix b/nixos/tests/kexec.nix index db596189d46..b13b4131091 100644 --- a/nixos/tests/kexec.nix +++ b/nixos/tests/kexec.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "kexec"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; machine = { ... }: diff --git a/nixos/tests/knot.nix b/nixos/tests/knot.nix new file mode 100644 index 00000000000..e46159836cc --- /dev/null +++ b/nixos/tests/knot.nix @@ -0,0 +1,197 @@ +import ./make-test.nix ({ pkgs, lib, ...} : +let + common = { + networking.firewall.enable = false; + networking.useDHCP = false; + }; + exampleZone = pkgs.writeTextDir "example.com.zone" '' + @ SOA ns.example.com. noc.example.com. 2019031301 86400 7200 3600000 172800 + @ NS ns1 + @ NS ns2 + ns1 A 192.168.0.1 + ns1 AAAA fd00::1 + ns2 A 192.168.0.2 + ns2 AAAA fd00::2 + www A 192.0.2.1 + www AAAA 2001:DB8::1 + sub NS ns.example.com. + ''; + delegatedZone = pkgs.writeTextDir "sub.example.com.zone" '' + @ SOA ns.example.com. noc.example.com. 2019031301 86400 7200 3600000 172800 + @ NS ns1.example.com. + @ NS ns2.example.com. + @ A 192.0.2.2 + @ AAAA 2001:DB8::2 + ''; + + knotZonesEnv = pkgs.buildEnv { + name = "knot-zones"; + paths = [ exampleZone delegatedZone ]; + }; +in { + name = "knot"; + + nodes = { + master = { lib, ... }: { + imports = [ common ]; + networking.interfaces.eth1 = { + ipv4.addresses = lib.mkForce [ + { address = "192.168.0.1"; prefixLength = 24; } + ]; + ipv6.addresses = lib.mkForce [ + { address = "fd00::1"; prefixLength = 64; } + ]; + }; + services.knot.enable = true; + services.knot.extraArgs = [ "-v" ]; + services.knot.extraConfig = '' + server: + listen: 0.0.0.0@53 + listen: ::@53 + + acl: + - id: slave_acl + address: 192.168.0.2 + action: transfer + + remote: + - id: slave + address: 192.168.0.2@53 + + template: + - id: default + storage: ${knotZonesEnv} + notify: [slave] + acl: [slave_acl] + dnssec-signing: on + # Input-only zone files + # https://www.knot-dns.cz/docs/2.8/html/operation.html#example-3 + # prevents modification of the zonefiles, since the zonefiles are immutable + zonefile-sync: -1 + zonefile-load: difference + journal-content: changes + # move databases below the state directory, because they need to be writable + journal-db: /var/lib/knot/journal + kasp-db: /var/lib/knot/kasp + timer-db: /var/lib/knot/timer + + zone: + - domain: example.com + file: example.com.zone + + - domain: sub.example.com + file: sub.example.com.zone + + log: + - target: syslog + any: info + ''; + }; + + slave = { lib, ... }: { + imports = [ common ]; + networking.interfaces.eth1 = { + ipv4.addresses = lib.mkForce [ + { address = "192.168.0.2"; prefixLength = 24; } + ]; + ipv6.addresses = lib.mkForce [ + { address = "fd00::2"; prefixLength = 64; } + ]; + }; + services.knot.enable = true; + services.knot.extraArgs = [ "-v" ]; + services.knot.extraConfig = '' + server: + listen: 0.0.0.0@53 + listen: ::@53 + + acl: + - id: notify_from_master + address: 192.168.0.1 + action: notify + + remote: + - id: master + address: 192.168.0.1@53 + + template: + - id: default + master: master + acl: [notify_from_master] + # zonefileless setup + # https://www.knot-dns.cz/docs/2.8/html/operation.html#example-2 + zonefile-sync: -1 + zonefile-load: none + journal-content: all + # move databases below the state directory, because they need to be writable + journal-db: /var/lib/knot/journal + kasp-db: /var/lib/knot/kasp + timer-db: /var/lib/knot/timer + + zone: + - domain: example.com + file: example.com.zone + + - domain: sub.example.com + file: sub.example.com.zone + + log: + - target: syslog + any: info + ''; + }; + client = { lib, nodes, ... }: { + imports = [ common ]; + networking.interfaces.eth1 = { + ipv4.addresses = [ + { address = "192.168.0.3"; prefixLength = 24; } + ]; + ipv6.addresses = [ + { address = "fd00::3"; prefixLength = 64; } + ]; + }; + environment.systemPackages = [ pkgs.knot-dns ]; + }; + }; + + testScript = { nodes, ... }: let + master4 = (lib.head nodes.master.config.networking.interfaces.eth1.ipv4.addresses).address; + master6 = (lib.head nodes.master.config.networking.interfaces.eth1.ipv6.addresses).address; + + slave4 = (lib.head nodes.slave.config.networking.interfaces.eth1.ipv4.addresses).address; + slave6 = (lib.head nodes.slave.config.networking.interfaces.eth1.ipv6.addresses).address; + in '' + startAll; + + $client->waitForUnit("network.target"); + $master->waitForUnit("knot.service"); + $slave->waitForUnit("knot.service"); + + sub assertResponse { + my ($knot, $query_type, $query, $expected) = @_; + my $out = $client->succeed("khost -t $query_type $query $knot"); + $client->log("$knot replies with: $out"); + chomp $out; + die "DNS query for $query ($query_type) against $knot gave '$out' instead of '$expected'" + if ($out !~ $expected); + } + + foreach ("${master4}", "${master6}", "${slave4}", "${slave6}") { + subtest $_, sub { + assertResponse($_, "SOA", "example.com", qr/start of authority.*?noc\.example\.com/); + assertResponse($_, "A", "example.com", qr/has no [^ ]+ record/); + assertResponse($_, "AAAA", "example.com", qr/has no [^ ]+ record/); + + assertResponse($_, "A", "www.example.com", qr/address 192.0.2.1$/); + assertResponse($_, "AAAA", "www.example.com", qr/address 2001:db8::1$/); + + assertResponse($_, "NS", "sub.example.com", qr/nameserver is ns\d\.example\.com.$/); + assertResponse($_, "A", "sub.example.com", qr/address 192.0.2.2$/); + assertResponse($_, "AAAA", "sub.example.com", qr/address 2001:db8::2$/); + + assertResponse($_, "RRSIG", "www.example.com", qr/RR set signature is/); + assertResponse($_, "DNSKEY", "example.com", qr/DNSSEC key is/); + }; + } + ''; +}) diff --git a/nixos/tests/kubernetes/base.nix b/nixos/tests/kubernetes/base.nix index 9d77be13175..212023859f6 100644 --- a/nixos/tests/kubernetes/base.nix +++ b/nixos/tests/kubernetes/base.nix @@ -10,7 +10,6 @@ let mkKubernetesBaseTest = { name, domain ? "my.zyx", test, machines , pkgs ? import { inherit system; } - , certs ? import ./certs.nix { inherit pkgs; externalDomain = domain; kubelets = attrNames machines; } , extraConfiguration ? null }: let masterName = head (filter (machineName: any (role: role == "master") machines.${machineName}.roles) (attrNames machines)); @@ -20,6 +19,10 @@ let ${master.ip} api.${domain} ${concatMapStringsSep "\n" (machineName: "${machines.${machineName}.ip} ${machineName}.${domain}") (attrNames machines)} ''; + kubectl = with pkgs; runCommand "wrap-kubectl" { buildInputs = [ makeWrapper ]; } '' + mkdir -p $out/bin + makeWrapper ${pkgs.kubernetes}/bin/kubectl $out/bin/kubectl --set KUBECONFIG "/etc/kubernetes/cluster-admin.kubeconfig" + ''; in makeTest { inherit name; @@ -27,6 +30,10 @@ let { config, pkgs, lib, nodes, ... }: mkMerge [ { + boot = { + postBootCommands = "rm -fr /var/lib/kubernetes/secrets /tmp/shared/*"; + kernel.sysctl = { "fs.inotify.max_user_instances" = 256; }; + }; virtualisation.memorySize = mkDefault 1536; virtualisation.diskSize = mkDefault 4096; networking = { @@ -45,34 +52,25 @@ let }; }; programs.bash.enableCompletion = true; - environment.variables = { - ETCDCTL_CERT_FILE = "${certs.worker}/etcd-client.pem"; - ETCDCTL_KEY_FILE = "${certs.worker}/etcd-client-key.pem"; - ETCDCTL_CA_FILE = "${certs.worker}/ca.pem"; - ETCDCTL_PEERS = "https://etcd.${domain}:2379"; - }; + environment.systemPackages = [ kubectl ]; services.flannel.iface = "eth1"; - services.kubernetes.apiserver.advertiseAddress = master.ip; + services.kubernetes = { + addons.dashboard.enable = true; + + easyCerts = true; + inherit (machine) roles; + apiserver = { + securePort = 443; + advertiseAddress = master.ip; + }; + masterAddress = "${masterName}.${config.networking.domain}"; + }; } (optionalAttrs (any (role: role == "master") machine.roles) { networking.firewall.allowedTCPPorts = [ - 2379 2380 # etcd 443 # kubernetes apiserver ]; - services.etcd = { - enable = true; - certFile = "${certs.master}/etcd.pem"; - keyFile = "${certs.master}/etcd-key.pem"; - trustedCaFile = "${certs.master}/ca.pem"; - peerClientCertAuth = true; - listenClientUrls = ["https://0.0.0.0:2379"]; - listenPeerUrls = ["https://0.0.0.0:2380"]; - advertiseClientUrls = ["https://etcd.${config.networking.domain}:2379"]; - initialCluster = ["${masterName}=https://etcd.${config.networking.domain}:2380"]; - initialAdvertisePeerUrls = ["https://etcd.${config.networking.domain}:2380"]; - }; }) - (import ./kubernetes-common.nix { inherit (machine) roles; inherit pkgs config certs; }) (optionalAttrs (machine ? "extraConfiguration") (machine.extraConfiguration { inherit config pkgs lib nodes; })) (optionalAttrs (extraConfiguration != null) (extraConfiguration { inherit config pkgs lib nodes; })) ] diff --git a/nixos/tests/kubernetes/certs.nix b/nixos/tests/kubernetes/certs.nix deleted file mode 100644 index 85e92f6330c..00000000000 --- a/nixos/tests/kubernetes/certs.nix +++ /dev/null @@ -1,219 +0,0 @@ -{ - pkgs ? import {}, - externalDomain ? "myawesomecluster.cluster.yourdomain.net", - serviceClusterIp ? "10.0.0.1", - kubelets, - ... -}: -let - runWithCFSSL = name: cmd: - let secrets = pkgs.runCommand "${name}-cfss.json" { - buildInputs = [ pkgs.cfssl pkgs.jq ]; - outputs = [ "out" "cert" "key" "csr" ]; - } - '' - ( - echo "${cmd}" - cfssl ${cmd} > tmp - cat tmp | jq -r .key > $key - cat tmp | jq -r .cert > $cert - cat tmp | jq -r .csr > $csr - - touch $out - ) 2>&1 | fold -w 80 -s - ''; - in { - key = secrets.key; - cert = secrets.cert; - csr = secrets.csr; - }; - - writeCFSSL = content: - pkgs.runCommand content.name { - buildInputs = [ pkgs.cfssl pkgs.jq ]; - } '' - mkdir -p $out - cd $out - - json=${pkgs.lib.escapeShellArg (builtins.toJSON content)} - - # for a given $field in the $json, treat the associated value as a - # file path and substitute the contents thereof into the $json - # object. - expandFileField() { - local field=$1 - if jq -e --arg field "$field" 'has($field)'; then - local path="$(echo "$json" | jq -r ".$field")" - json="$(echo "$json" | jq --arg val "$(cat "$path")" ".$field = \$val")" - fi - } - - expandFileField key - expandFileField ca - expandFileField cert - - echo "$json" | cfssljson -bare ${content.name} - ''; - - noCSR = content: pkgs.lib.filterAttrs (n: v: n != "csr") content; - noKey = content: pkgs.lib.filterAttrs (n: v: n != "key") content; - - writeFile = content: - if pkgs.lib.isDerivation content - then content - else pkgs.writeText "content" (builtins.toJSON content); - - createServingCertKey = { ca, cn, hosts? [], size ? 2048, name ? cn }: - noCSR ( - (runWithCFSSL name "gencert -ca=${writeFile ca.cert} -ca-key=${writeFile ca.key} -profile=server -config=${writeFile ca.config} ${writeFile { - CN = cn; - hosts = hosts; - key = { algo = "rsa"; inherit size; }; - }}") // { inherit name; } - ); - - createClientCertKey = { ca, cn, groups ? [], size ? 2048, name ? cn }: - noCSR ( - (runWithCFSSL name "gencert -ca=${writeFile ca.cert} -ca-key=${writeFile ca.key} -profile=client -config=${writeFile ca.config} ${writeFile { - CN = cn; - names = map (group: {O = group;}) groups; - hosts = [""]; - key = { algo = "rsa"; inherit size; }; - }}") // { inherit name; } - ); - - createSigningCertKey = { C ? "xx", ST ? "x", L ? "x", O ? "x", OU ? "x", CN ? "ca", emailAddress ? "x", expiry ? "43800h", size ? 2048, name ? CN }: - (noCSR (runWithCFSSL CN "genkey -initca ${writeFile { - key = { algo = "rsa"; inherit size; }; - names = [{ inherit C ST L O OU CN emailAddress; }]; - }}")) // { - inherit name; - config.signing = { - default.expiry = expiry; - profiles = { - server = { - inherit expiry; - usages = [ - "signing" - "key encipherment" - "server auth" - ]; - }; - client = { - inherit expiry; - usages = [ - "signing" - "key encipherment" - "client auth" - ]; - }; - peer = { - inherit expiry; - usages = [ - "signing" - "key encipherment" - "server auth" - "client auth" - ]; - }; - }; - }; - }; - - ca = createSigningCertKey {}; - - kube-apiserver = createServingCertKey { - inherit ca; - cn = "kube-apiserver"; - hosts = ["kubernetes.default" "kubernetes.default.svc" "localhost" "api.${externalDomain}" serviceClusterIp]; - }; - - kubelet = createServingCertKey { - inherit ca; - cn = "kubelet"; - hosts = ["*.${externalDomain}"]; - }; - - service-accounts = createServingCertKey { - inherit ca; - cn = "kube-service-accounts"; - }; - - etcd = createServingCertKey { - inherit ca; - cn = "etcd"; - hosts = ["etcd.${externalDomain}"]; - }; - - etcd-client = createClientCertKey { - inherit ca; - cn = "etcd-client"; - }; - - kubelet-client = createClientCertKey { - inherit ca; - cn = "kubelet-client"; - groups = ["system:masters"]; - }; - - apiserver-client = { - kubelet = hostname: createClientCertKey { - inherit ca; - name = "apiserver-client-kubelet-${hostname}"; - cn = "system:node:${hostname}.${externalDomain}"; - groups = ["system:nodes"]; - }; - - kube-proxy = createClientCertKey { - inherit ca; - name = "apiserver-client-kube-proxy"; - cn = "system:kube-proxy"; - groups = ["system:kube-proxy" "system:nodes"]; - }; - - kube-controller-manager = createClientCertKey { - inherit ca; - name = "apiserver-client-kube-controller-manager"; - cn = "system:kube-controller-manager"; - groups = ["system:masters"]; - }; - - kube-scheduler = createClientCertKey { - inherit ca; - name = "apiserver-client-kube-scheduler"; - cn = "system:kube-scheduler"; - groups = ["system:kube-scheduler"]; - }; - - admin = createClientCertKey { - inherit ca; - cn = "admin"; - groups = ["system:masters"]; - }; - }; -in { - master = pkgs.buildEnv { - name = "master-keys"; - paths = [ - (writeCFSSL (noKey ca)) - (writeCFSSL kube-apiserver) - (writeCFSSL kubelet-client) - (writeCFSSL apiserver-client.kube-controller-manager) - (writeCFSSL apiserver-client.kube-scheduler) - (writeCFSSL service-accounts) - (writeCFSSL etcd) - ]; - }; - - worker = pkgs.buildEnv { - name = "worker-keys"; - paths = [ - (writeCFSSL (noKey ca)) - (writeCFSSL kubelet) - (writeCFSSL apiserver-client.kube-proxy) - (writeCFSSL etcd-client) - ] ++ map (hostname: writeCFSSL (apiserver-client.kubelet hostname)) kubelets; - }; - - admin = writeCFSSL apiserver-client.admin; -} diff --git a/nixos/tests/kubernetes/dns.nix b/nixos/tests/kubernetes/dns.nix index f25ea5b9ed8..e7db0a58ab6 100644 --- a/nixos/tests/kubernetes/dns.nix +++ b/nixos/tests/kubernetes/dns.nix @@ -71,17 +71,18 @@ let base = { name = "dns"; - inherit domain certs extraConfiguration; + inherit domain extraConfiguration; }; singleNodeTest = { test = '' # prepare machine1 for test + $machine1->waitForUnit("kubernetes.target"); $machine1->waitUntilSucceeds("kubectl get node machine1.${domain} | grep -w Ready"); - $machine1->execute("docker load < ${redisImage}"); + $machine1->waitUntilSucceeds("docker load < ${redisImage}"); $machine1->waitUntilSucceeds("kubectl create -f ${redisPod}"); $machine1->waitUntilSucceeds("kubectl create -f ${redisService}"); - $machine1->execute("docker load < ${probeImage}"); + $machine1->waitUntilSucceeds("docker load < ${probeImage}"); $machine1->waitUntilSucceeds("kubectl create -f ${probePod}"); # check if pods are running @@ -99,13 +100,18 @@ let multiNodeTest = { test = '' + # Node token exchange + $machine1->waitUntilSucceeds("cp -f /var/lib/cfssl/apitoken.secret /tmp/shared/apitoken.secret"); + $machine2->waitUntilSucceeds("cat /tmp/shared/apitoken.secret | nixos-kubernetes-node-join"); + $machine1->waitForUnit("kubernetes.target"); + $machine2->waitForUnit("kubernetes.target"); + # prepare machines for test - $machine1->waitUntilSucceeds("kubectl get node machine1.${domain} | grep -w Ready"); $machine1->waitUntilSucceeds("kubectl get node machine2.${domain} | grep -w Ready"); - $machine2->execute("docker load < ${redisImage}"); + $machine2->waitUntilSucceeds("docker load < ${redisImage}"); $machine1->waitUntilSucceeds("kubectl create -f ${redisPod}"); $machine1->waitUntilSucceeds("kubectl create -f ${redisService}"); - $machine2->execute("docker load < ${probeImage}"); + $machine2->waitUntilSucceeds("docker load < ${probeImage}"); $machine1->waitUntilSucceeds("kubectl create -f ${probePod}"); # check if pods are running diff --git a/nixos/tests/kubernetes/kubernetes-common.nix b/nixos/tests/kubernetes/kubernetes-common.nix deleted file mode 100644 index 87c65b88365..00000000000 --- a/nixos/tests/kubernetes/kubernetes-common.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ roles, config, pkgs, certs }: -with pkgs.lib; -let - base = { - inherit roles; - flannel.enable = true; - addons.dashboard.enable = true; - - caFile = "${certs.master}/ca.pem"; - apiserver = { - tlsCertFile = "${certs.master}/kube-apiserver.pem"; - tlsKeyFile = "${certs.master}/kube-apiserver-key.pem"; - kubeletClientCertFile = "${certs.master}/kubelet-client.pem"; - kubeletClientKeyFile = "${certs.master}/kubelet-client-key.pem"; - serviceAccountKeyFile = "${certs.master}/kube-service-accounts.pem"; - }; - etcd = { - servers = ["https://etcd.${config.networking.domain}:2379"]; - certFile = "${certs.worker}/etcd-client.pem"; - keyFile = "${certs.worker}/etcd-client-key.pem"; - }; - kubeconfig = { - server = "https://api.${config.networking.domain}"; - }; - kubelet = { - tlsCertFile = "${certs.worker}/kubelet.pem"; - tlsKeyFile = "${certs.worker}/kubelet-key.pem"; - hostname = "${config.networking.hostName}.${config.networking.domain}"; - kubeconfig = { - certFile = "${certs.worker}/apiserver-client-kubelet-${config.networking.hostName}.pem"; - keyFile = "${certs.worker}/apiserver-client-kubelet-${config.networking.hostName}-key.pem"; - }; - }; - controllerManager = { - serviceAccountKeyFile = "${certs.master}/kube-service-accounts-key.pem"; - kubeconfig = { - certFile = "${certs.master}/apiserver-client-kube-controller-manager.pem"; - keyFile = "${certs.master}/apiserver-client-kube-controller-manager-key.pem"; - }; - }; - scheduler = { - kubeconfig = { - certFile = "${certs.master}/apiserver-client-kube-scheduler.pem"; - keyFile = "${certs.master}/apiserver-client-kube-scheduler-key.pem"; - }; - }; - proxy = { - kubeconfig = { - certFile = "${certs.worker}/apiserver-client-kube-proxy.pem"; - keyFile = "${certs.worker}//apiserver-client-kube-proxy-key.pem"; - }; - }; - }; - -in { - services.kubernetes = base; -} diff --git a/nixos/tests/kubernetes/rbac.nix b/nixos/tests/kubernetes/rbac.nix index 226808c4b26..967fe506004 100644 --- a/nixos/tests/kubernetes/rbac.nix +++ b/nixos/tests/kubernetes/rbac.nix @@ -94,9 +94,11 @@ let singlenode = base // { test = '' + $machine1->waitForUnit("kubernetes.target"); + $machine1->waitUntilSucceeds("kubectl get node machine1.my.zyx | grep -w Ready"); - $machine1->execute("docker load < ${kubectlImage}"); + $machine1->waitUntilSucceeds("docker load < ${kubectlImage}"); $machine1->waitUntilSucceeds("kubectl apply -f ${roServiceAccount}"); $machine1->waitUntilSucceeds("kubectl apply -f ${roRole}"); @@ -105,7 +107,7 @@ let $machine1->waitUntilSucceeds("kubectl get pod kubectl | grep Running"); - $machine1->succeed("kubectl exec -ti kubectl -- kubectl get pods"); + $machine1->waitUntilSucceeds("kubectl exec -ti kubectl -- kubectl get pods"); $machine1->fail("kubectl exec -ti kubectl -- kubectl create -f /kubectl-pod-2.json"); $machine1->fail("kubectl exec -ti kubectl -- kubectl delete pods -l name=kubectl"); ''; @@ -113,10 +115,15 @@ let multinode = base // { test = '' - $machine1->waitUntilSucceeds("kubectl get node machine1.my.zyx | grep -w Ready"); + # Node token exchange + $machine1->waitUntilSucceeds("cp -f /var/lib/cfssl/apitoken.secret /tmp/shared/apitoken.secret"); + $machine2->waitUntilSucceeds("cat /tmp/shared/apitoken.secret | nixos-kubernetes-node-join"); + $machine1->waitForUnit("kubernetes.target"); + $machine2->waitForUnit("kubernetes.target"); + $machine1->waitUntilSucceeds("kubectl get node machine2.my.zyx | grep -w Ready"); - $machine2->execute("docker load < ${kubectlImage}"); + $machine2->waitUntilSucceeds("docker load < ${kubectlImage}"); $machine1->waitUntilSucceeds("kubectl apply -f ${roServiceAccount}"); $machine1->waitUntilSucceeds("kubectl apply -f ${roRole}"); @@ -125,7 +132,7 @@ let $machine1->waitUntilSucceeds("kubectl get pod kubectl | grep Running"); - $machine1->succeed("kubectl exec -ti kubectl -- kubectl get pods"); + $machine1->waitUntilSucceeds("kubectl exec -ti kubectl -- kubectl get pods"); $machine1->fail("kubectl exec -ti kubectl -- kubectl create -f /kubectl-pod-2.json"); $machine1->fail("kubectl exec -ti kubectl -- kubectl delete pods -l name=kubectl"); ''; diff --git a/nixos/tests/ldap.nix b/nixos/tests/ldap.nix index b3fd42e7588..fe859876ed2 100644 --- a/nixos/tests/ldap.nix +++ b/nixos/tests/ldap.nix @@ -28,20 +28,19 @@ let users.ldap.daemon = { enable = useDaemon; rootpwmoddn = "cn=admin,${dbSuffix}"; - rootpwmodpw = "/etc/nslcd.rootpwmodpw"; + rootpwmodpwFile = "/etc/nslcd.rootpwmodpw"; }; - # NOTE: password stored in clear in Nix's store, but this is a test. - environment.etc."nslcd.rootpwmodpw".source = pkgs.writeText "rootpwmodpw" dbAdminPwd; users.ldap.loginPam = true; users.ldap.nsswitch = true; users.ldap.server = "ldap://server"; users.ldap.base = "ou=posix,${dbSuffix}"; users.ldap.bind = { distinguishedName = "cn=admin,${dbSuffix}"; - password = "/etc/ldap/bind.password"; + passwordFile = "/etc/ldap/bind.password"; }; - # NOTE: password stored in clear in Nix's store, but this is a test. + # NOTE: passwords stored in clear in Nix's store, but this is a test. environment.etc."ldap/bind.password".source = pkgs.writeText "password" dbAdminPwd; + environment.etc."nslcd.rootpwmodpw".source = pkgs.writeText "rootpwmodpw" dbAdminPwd; }; in diff --git a/nixos/tests/libxmlb.nix b/nixos/tests/libxmlb.nix new file mode 100644 index 00000000000..3bee568ac5a --- /dev/null +++ b/nixos/tests/libxmlb.nix @@ -0,0 +1,17 @@ +# run installed tests +import ./make-test.nix ({ pkgs, ... }: + +{ + name = "libxmlb"; + meta = { + maintainers = pkgs.libxmlb.meta.maintainers; + }; + + machine = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ gnome-desktop-testing ]; + }; + + testScript = '' + $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.libxmlb.installedTests}/share'"); + ''; +}) diff --git a/nixos/tests/lightdm.nix b/nixos/tests/lightdm.nix index 8a9a7408d29..c805f1ed9f3 100644 --- a/nixos/tests/lightdm.nix +++ b/nixos/tests/lightdm.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "lightdm"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aszlig ]; + maintainers = [ aszlig worldofpeace ]; }; machine = { ... }: { diff --git a/nixos/tests/limesurvey.nix b/nixos/tests/limesurvey.nix new file mode 100644 index 00000000000..ad66ada106b --- /dev/null +++ b/nixos/tests/limesurvey.nix @@ -0,0 +1,21 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "limesurvey"; + meta.maintainers = [ pkgs.stdenv.lib.maintainers.aanderse ]; + + machine = + { ... }: + { services.limesurvey.enable = true; + services.limesurvey.virtualHost.hostName = "example.local"; + services.limesurvey.virtualHost.adminAddr = "root@example.local"; + + # limesurvey won't work without a dot in the hostname + networking.hosts."127.0.0.1" = [ "example.local" ]; + }; + + testScript = '' + startAll; + + $machine->waitForUnit('phpfpm-limesurvey.service'); + $machine->succeed('curl http://example.local/') =~ /The following surveys are available/ or die; + ''; +}) diff --git a/nixos/tests/login.nix b/nixos/tests/login.nix index 3dbb494b689..9844ad492e8 100644 --- a/nixos/tests/login.nix +++ b/nixos/tests/login.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, latestKernel ? false, ... }: { name = "login"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; machine = diff --git a/nixos/tests/loki.nix b/nixos/tests/loki.nix new file mode 100644 index 00000000000..9c3058d02f8 --- /dev/null +++ b/nixos/tests/loki.nix @@ -0,0 +1,37 @@ +import ./make-test.nix ({ lib, pkgs, ... }: + +{ + name = "loki"; + + meta = with lib.maintainers; { + maintainers = [ willibutz ]; + }; + + machine = { ... }: { + services.loki = { + enable = true; + configFile = "${pkgs.grafana-loki.src}/cmd/loki/loki-local-config.yaml"; + }; + systemd.services.promtail = { + description = "Promtail service for Loki test"; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + ExecStart = '' + ${pkgs.grafana-loki}/bin/promtail --config.file ${pkgs.grafana-loki.src}/cmd/promtail/promtail-local-config.yaml + ''; + DynamicUser = true; + }; + }; + }; + + testScript = '' + $machine->start; + $machine->waitForUnit("loki.service"); + $machine->waitForUnit("promtail.service"); + $machine->waitForOpenPort(3100); + $machine->waitForOpenPort(9080); + $machine->succeed("echo 'Loki Ingestion Test' > /var/log/testlog"); + $machine->waitUntilSucceeds("${pkgs.grafana-loki}/bin/logcli --addr='http://localhost:3100' query --no-labels '{job=\"varlogs\",filename=\"/var/log/testlog\"}' | grep -q 'Loki Ingestion Test'"); + ''; +}) diff --git a/nixos/tests/magnetico.nix b/nixos/tests/magnetico.nix new file mode 100644 index 00000000000..bc7aef653ee --- /dev/null +++ b/nixos/tests/magnetico.nix @@ -0,0 +1,28 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "magnetico"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ rnhmjoj ]; + }; + + machine = { ... }: { + imports = [ ../modules/profiles/minimal.nix ]; + + networking.firewall.allowedTCPPorts = [ 9000 ]; + + services.magnetico = { + enable = true; + crawler.port = 9000; + web.credentials.user = "$2y$12$P88ZF6soFthiiAeXnz64aOWDsY3Dw7Yw8fZ6GtiqFNjknD70zDmNe"; + }; + }; + + testScript = + '' + startAll; + $machine->waitForUnit("magneticod"); + $machine->waitForUnit("magneticow"); + $machine->succeed("${pkgs.curl}/bin/curl -u user:password http://localhost:8080"); + $machine->succeed("${pkgs.curl}/bin/curl -u user:wrongpwd http://localhost:8080") =~ "Unauthorised." or die; + $machine->shutdown(); + ''; +}) diff --git a/nixos/tests/mailcatcher.nix b/nixos/tests/mailcatcher.nix new file mode 100644 index 00000000000..d45b5d4edfc --- /dev/null +++ b/nixos/tests/mailcatcher.nix @@ -0,0 +1,26 @@ +import ./make-test.nix ({ lib, ... }: + +{ + name = "mailcatcher"; + meta.maintainers = [ lib.maintainers.aanderse ]; + + machine = + { pkgs, ... }: + { + services.mailcatcher.enable = true; + + networking.defaultMailServer.directDelivery = true; + networking.defaultMailServer.hostName = "localhost:1025"; + + environment.systemPackages = [ pkgs.mailutils ]; + }; + + testScript = '' + startAll; + + $machine->waitForUnit('mailcatcher.service'); + $machine->waitForOpenPort('1025'); + $machine->succeed('echo "this is the body of the email" | mail -s "subject" root@example.org'); + $machine->succeed('curl http://localhost:1080/messages/1.source') =~ /this is the body of the email/ or die; + ''; +}) diff --git a/nixos/tests/mediawiki.nix b/nixos/tests/mediawiki.nix new file mode 100644 index 00000000000..6293e8a2f46 --- /dev/null +++ b/nixos/tests/mediawiki.nix @@ -0,0 +1,19 @@ +import ./make-test.nix ({ pkgs, lib, ... }: { + name = "mediawiki"; + meta.maintainers = [ lib.maintainers.aanderse ]; + + machine = + { ... }: + { services.mediawiki.enable = true; + services.mediawiki.virtualHost.hostName = "localhost"; + services.mediawiki.virtualHost.adminAddr = "root@example.com"; + services.mediawiki.passwordFile = pkgs.writeText "password" "correcthorsebatterystaple"; + }; + + testScript = '' + startAll; + + $machine->waitForUnit('phpfpm-mediawiki.service'); + $machine->succeed('curl -L http://localhost/') =~ /MediaWiki has been installed/ or die; + ''; +}) diff --git a/nixos/tests/metabase.nix b/nixos/tests/metabase.nix new file mode 100644 index 00000000000..be9e5ed5b1e --- /dev/null +++ b/nixos/tests/metabase.nix @@ -0,0 +1,20 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "metabase"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ mmahut ]; + }; + + nodes = { + machine = { ... }: { + services.metabase.enable = true; + virtualisation.memorySize = 1024; + }; + }; + + testScript = '' + startAll; + $machine->waitForUnit("metabase.service"); + $machine->waitForOpenPort(3000); + $machine->waitUntilSucceeds("curl -L http://localhost:3000/setup | grep Metabase"); + ''; +}) diff --git a/nixos/tests/miniflux.nix b/nixos/tests/miniflux.nix new file mode 100644 index 00000000000..19ab4803a1d --- /dev/null +++ b/nixos/tests/miniflux.nix @@ -0,0 +1,52 @@ +import ./make-test.nix ({ pkgs, lib, ... }: + +let + port = 3142; + username = "alice"; + password = "correcthorsebatterystaple"; + defaultPort = 8080; + defaultUsername = "admin"; + defaultPassword = "password"; +in +with lib; +{ + name = "miniflux"; + meta.maintainers = with pkgs.stdenv.lib.maintainers; [ bricewge ]; + + nodes = { + default = + { ... }: + { + services.miniflux.enable = true; + }; + + customized = + { ... }: + { + services.miniflux = { + enable = true; + config = { + CLEANUP_FREQUENCY = "48"; + LISTEN_ADDR = "localhost:${toString port}"; + }; + adminCredentialsFile = pkgs.writeText "admin-credentials" '' + ADMIN_USERNAME=${username} + ADMIN_PASSWORD=${password} + ''; + }; + }; + }; + testScript = '' + startAll; + + $default->waitForUnit('miniflux.service'); + $default->waitForOpenPort(${toString defaultPort}); + $default->succeed("curl --fail 'http://localhost:${toString defaultPort}/healthcheck' | grep -q OK"); + $default->succeed("curl 'http://localhost:${toString defaultPort}/v1/me' -u '${defaultUsername}:${defaultPassword}' -H Content-Type:application/json | grep -q '\"is_admin\":true'"); + + $customized->waitForUnit('miniflux.service'); + $customized->waitForOpenPort(${toString port}); + $customized->succeed("curl --fail 'http://localhost:${toString port}/healthcheck' | grep -q OK"); + $customized->succeed("curl 'http://localhost:${toString port}/v1/me' -u '${username}:${password}' -H Content-Type:application/json | grep -q '\"is_admin\":true'"); + ''; +}) diff --git a/nixos/tests/minio.nix b/nixos/tests/minio.nix index 40a59954665..f1218b53771 100644 --- a/nixos/tests/minio.nix +++ b/nixos/tests/minio.nix @@ -1,4 +1,24 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test.nix ({ pkgs, ...} : +let + accessKey = "BKIKJAA5BMMU2RHO6IBB"; + secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12"; + minioPythonScript = pkgs.writeScript "minio-test.py" '' + #! ${pkgs.python3.withPackages(ps: [ ps.minio ])}/bin/python + import io + import os + from minio import Minio + minioClient = Minio('localhost:9000', + access_key='${accessKey}', + secret_key='${secretKey}', + secure=False) + sio = io.BytesIO() + sio.write(b'Test from Python') + sio.seek(0, os.SEEK_END) + sio_len = sio.tell() + sio.seek(0) + minioClient.put_object('test-bucket', 'test.txt', sio, sio_len, content_type='text/plain') + ''; + in { name = "minio"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ bachp ]; @@ -8,8 +28,7 @@ import ./make-test.nix ({ pkgs, ...} : { machine = { pkgs, ... }: { services.minio = { enable = true; - accessKey = "BKIKJAA5BMMU2RHO6IBB"; - secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12"; + inherit accessKey secretKey; }; environment.systemPackages = [ pkgs.minio-client ]; @@ -25,9 +44,11 @@ import ./make-test.nix ({ pkgs, ...} : { $machine->waitForOpenPort(9000); # Create a test bucket on the server - $machine->succeed("mc config host add minio http://localhost:9000 BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 S3v4"); + $machine->succeed("mc config host add minio http://localhost:9000 ${accessKey} ${secretKey} S3v4"); $machine->succeed("mc mb minio/test-bucket"); + $machine->succeed("${minioPythonScript}"); $machine->succeed("mc ls minio") =~ /test-bucket/ or die; + $machine->succeed("mc cat minio/test-bucket/test.txt") =~ /Test from Python/ or die; $machine->shutdown; ''; diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix index 3ad55651b11..ca28bc31cf1 100644 --- a/nixos/tests/misc.nix +++ b/nixos/tests/misc.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ...} : rec { name = "misc"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; foo = pkgs.writeText "foo" "Hello World"; diff --git a/nixos/tests/mongodb.nix b/nixos/tests/mongodb.nix index c9439b65292..0ccbeb062f9 100644 --- a/nixos/tests/mongodb.nix +++ b/nixos/tests/mongodb.nix @@ -8,7 +8,7 @@ import ./make-test.nix ({ pkgs, ...} : let in { name = "mongodb"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ bluescreen303 offline cstrahan rvl ]; + maintainers = [ bluescreen303 offline cstrahan rvl phile314 ]; }; nodes = { @@ -17,6 +17,12 @@ in { { services = { mongodb.enable = true; + mongodb.enableAuth = true; + mongodb.initialRootPassword = "root"; + mongodb.initialScript = pkgs.writeText "mongodb_initial.js" '' + db = db.getSiblingDB("nixtest"); + db.createUser({user:"nixtest",pwd:"nixtest",roles:[{role:"readWrite",db:"nixtest"}]}); + ''; mongodb.extraConfig = '' # Allow starting engine with only a small virtual disk storage.journal.enabled: false @@ -29,6 +35,6 @@ in { testScript = '' startAll; $one->waitForUnit("mongodb.service"); - $one->succeed("mongo nixtest ${testQuery}") =~ /hello/ or die; + $one->succeed("mongo -u nixtest -p nixtest nixtest ${testQuery}") =~ /hello/ or die; ''; }) diff --git a/nixos/tests/moodle.nix b/nixos/tests/moodle.nix new file mode 100644 index 00000000000..565a6b63694 --- /dev/null +++ b/nixos/tests/moodle.nix @@ -0,0 +1,22 @@ +import ./make-test.nix ({ pkgs, lib, ... }: { + name = "moodle"; + meta.maintainers = [ lib.maintainers.aanderse ]; + + machine = + { ... }: + { services.moodle.enable = true; + services.moodle.virtualHost.hostName = "localhost"; + services.moodle.virtualHost.adminAddr = "root@example.com"; + services.moodle.initialPassword = "correcthorsebatterystaple"; + + # Ensure the virtual machine has enough memory to avoid errors like: + # Fatal error: Out of memory (allocated 152047616) (tried to allocate 33554440 bytes) + virtualisation.memorySize = 2000; + }; + + testScript = '' + startAll; + $machine->waitForUnit('phpfpm-moodle.service'); + $machine->succeed('curl http://localhost/') =~ /You are not logged in/ or die; + ''; +}) diff --git a/nixos/tests/mosquitto.nix b/nixos/tests/mosquitto.nix new file mode 100644 index 00000000000..bd5447de15f --- /dev/null +++ b/nixos/tests/mosquitto.nix @@ -0,0 +1,88 @@ +import ./make-test.nix ({ pkgs, ... }: + +let + port = 1888; + username = "mqtt"; + password = "VERY_secret"; + topic = "test/foo"; + + cmd = bin: pkgs.lib.concatStringsSep " " [ + "${pkgs.mosquitto}/bin/mosquitto_${bin}" + "-V mqttv311" + "-h server" + "-p ${toString port}" + "-u ${username}" + "-P '${password}'" + "-t ${topic}" + ]; + +in rec { + name = "mosquitto"; + meta = with pkgs.stdenv.lib; { + maintainers = with maintainers; [ peterhoeg ]; + }; + + nodes = let + client = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ mosquitto ]; + }; + in { + server = { pkgs, ... }: { + networking.firewall.allowedTCPPorts = [ port ]; + services.mosquitto = { + inherit port; + enable = true; + host = "0.0.0.0"; + checkPasswords = true; + users."${username}" = { + inherit password; + acl = [ + "topic readwrite ${topic}" + ]; + }; + }; + }; + + client1 = client; + client2 = client; + }; + + testScript = let + file = "/tmp/msg"; + sub = args: + "(${cmd "sub"} -C 1 ${args} | tee ${file} &)"; + in '' + startAll; + $server->waitForUnit("mosquitto.service"); + + $server->fail("test -f ${file}"); + $client1->fail("test -f ${file}"); + $client2->fail("test -f ${file}"); + + + # QoS = 0, so only one subscribers should get it + $server->execute("${sub "-q 0"}"); + + # we need to give the subscribers some time to connect + $client2->execute("sleep 5"); + $client2->succeed("${cmd "pub"} -m FOO -q 0"); + + $server->waitUntilSucceeds("grep -q FOO ${file}"); + $server->execute("rm ${file}"); + + + # QoS = 1, so both subscribers should get it + $server->execute("${sub "-q 1"}"); + $client1->execute("${sub "-q 1"}"); + + # we need to give the subscribers some time to connect + $client2->execute("sleep 5"); + $client2->succeed("${cmd "pub"} -m BAR -q 1"); + + $server->waitUntilSucceeds("grep -q BAR ${file}"); + $server->execute("rm ${file}"); + + $client1->waitUntilSucceeds("grep -q BAR ${file}"); + $client1->execute("rm ${file}"); + ''; +}) diff --git a/nixos/tests/mumble.nix b/nixos/tests/mumble.nix index 8146453bfd5..dadd16fd9a0 100644 --- a/nixos/tests/mumble.nix +++ b/nixos/tests/mumble.nix @@ -9,7 +9,7 @@ in { name = "mumble"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ thoughtpolice eelco chaoflow ]; + maintainers = [ thoughtpolice eelco ]; }; nodes = { diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix index 95cecf17b8c..31374aaf77e 100644 --- a/nixos/tests/munin.nix +++ b/nixos/tests/munin.nix @@ -4,7 +4,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "munin"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ domenkozar eelco chaoflow ]; + maintainers = [ domenkozar eelco ]; }; nodes = { diff --git a/nixos/tests/mysql-replication.nix b/nixos/tests/mysql-replication.nix index 84d70cf3524..c75a862106f 100644 --- a/nixos/tests/mysql-replication.nix +++ b/nixos/tests/mysql-replication.nix @@ -8,7 +8,7 @@ in { name = "mysql-replication"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow shlevy ]; + maintainers = [ eelco shlevy ]; }; nodes = { diff --git a/nixos/tests/mysql.nix b/nixos/tests/mysql.nix index 7251c4a8649..05bd968de02 100644 --- a/nixos/tests/mysql.nix +++ b/nixos/tests/mysql.nix @@ -1,24 +1,63 @@ import ./make-test.nix ({ pkgs, ...} : { name = "mysql"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow shlevy ]; + maintainers = [ eelco shlevy ]; }; nodes = { - master = + mysql = { pkgs, ... }: { services.mysql.enable = true; - services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; - services.mysql.package = pkgs.mysql; + services.mysql.initialDatabases = [ + { name = "testdb"; schema = ./testdb.sql; } + { name = "empty_testdb"; } + ]; + # note that using pkgs.writeText here is generally not a good idea, + # as it will store the password in world-readable /nix/store ;) + services.mysql.initialScript = pkgs.writeText "mysql-init.sql" '' + CREATE USER 'passworduser'@'localhost' IDENTIFIED BY 'password123'; + ''; + services.mysql.package = pkgs.mysql57; }; + + mariadb = + { pkgs, ... }: + + { + users.users.testuser = { }; + services.mysql.enable = true; + services.mysql.initialScript = pkgs.writeText "mariadb-init.sql" '' + ALTER USER root@localhost IDENTIFIED WITH unix_socket; + DELETE FROM mysql.user WHERE password = ''' AND plugin = '''; + DELETE FROM mysql.user WHERE user = '''; + FLUSH PRIVILEGES; + ''; + services.mysql.ensureDatabases = [ "testdb" ]; + services.mysql.ensureUsers = [{ + name = "testuser"; + ensurePermissions = { + "testdb.*" = "ALL PRIVILEGES"; + }; + }]; + services.mysql.package = pkgs.mariadb; + }; + }; testScript = '' startAll; - $master->waitForUnit("mysql"); - $master->succeed("echo 'use testdb; select * from tests' | mysql -u root -N | grep 4"); + $mysql->waitForUnit("mysql"); + $mysql->succeed("echo 'use empty_testdb;' | mysql -u root"); + $mysql->succeed("echo 'use testdb; select * from tests;' | mysql -u root -N | grep 4"); + # ';' acts as no-op, just check whether login succeeds with the user created from the initialScript + $mysql->succeed("echo ';' | mysql -u passworduser --password=password123"); + + $mariadb->waitForUnit("mysql"); + $mariadb->succeed("echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser"); + $mariadb->succeed("echo 'use testdb; insert into tests values (42);' | sudo -u testuser mysql -u testuser"); + $mariadb->succeed("echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42"); ''; }) diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix index 34229e91311..51d9cf166bb 100644 --- a/nixos/tests/nat.nix +++ b/nixos/tests/nat.nix @@ -24,7 +24,7 @@ import ./make-test.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false, name = "nat" + (if withFirewall then "WithFirewall" else "Standalone") + (lib.optionalString withConntrackHelpers "withConntrackHelpers"); meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow rob ]; + maintainers = [ eelco rob ]; }; nodes = diff --git a/nixos/tests/ndppd.nix b/nixos/tests/ndppd.nix index 9f24eb6d9d4..c53ff93a91f 100644 --- a/nixos/tests/ndppd.nix +++ b/nixos/tests/ndppd.nix @@ -37,8 +37,7 @@ import ./make-test.nix ({ pkgs, lib, ...} : { }; services.ndppd = { enable = true; - interface = "eth1"; - network = "fd42::/112"; + proxies."eth1".rules."fd42::/112" = {}; }; containers.client = { autoStart = true; diff --git a/nixos/tests/nesting.nix b/nixos/tests/nesting.nix new file mode 100644 index 00000000000..1306d6f8e0c --- /dev/null +++ b/nixos/tests/nesting.nix @@ -0,0 +1,42 @@ +import ./make-test.nix { + name = "nesting"; + nodes = { + clone = { pkgs, ... }: { + environment.systemPackages = [ pkgs.cowsay ]; + nesting.clone = [ + ({ pkgs, ... }: { + environment.systemPackages = [ pkgs.hello ]; + }) + ]; + }; + children = { pkgs, ... }: { + environment.systemPackages = [ pkgs.cowsay ]; + nesting.children = [ + ({ pkgs, ... }: { + environment.systemPackages = [ pkgs.hello ]; + }) + ]; + }; + }; + testScript = '' + $clone->waitForUnit("default.target"); + $clone->succeed("cowsay hey"); + $clone->fail("hello"); + + # Nested clones do inherit from parent + $clone->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test"); + $clone->succeed("cowsay hey"); + $clone->succeed("hello"); + + + $children->waitForUnit("default.target"); + $children->succeed("cowsay hey"); + $children->fail("hello"); + + # Nested children do not inherit from parent + $children->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test"); + $children->fail("cowsay hey"); + $children->succeed("hello"); + + ''; +} diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix index ed9f287d558..6ce64dcebea 100644 --- a/nixos/tests/networking.nix +++ b/nixos/tests/networking.nix @@ -21,7 +21,7 @@ let useNetworkd = networkd; firewall.checkReversePath = true; firewall.allowedUDPPorts = [ 547 ]; - interfaces = mkOverride 0 (listToAttrs (flip map vlanIfs (n: + interfaces = mkOverride 0 (listToAttrs (forEach vlanIfs (n: nameValuePair "eth${toString n}" { ipv4.addresses = [ { address = "192.168.${toString n}.1"; prefixLength = 24; } ]; ipv6.addresses = [ { address = "fd00:1234:5678:${toString n}::1"; prefixLength = 64; } ]; @@ -510,7 +510,7 @@ let ''; }; }; - nodes.client = { pkgs, ... }: with pkgs.lib; { + nodes.clientWithPrivacy = { pkgs, ... }: with pkgs.lib; { virtualisation.vlans = [ 1 ]; networking = { useNetworkd = networkd; @@ -522,21 +522,39 @@ let }; }; }; + nodes.client = { pkgs, ... }: with pkgs.lib; { + virtualisation.vlans = [ 1 ]; + networking = { + useNetworkd = networkd; + useDHCP = true; + interfaces.eth1 = { + preferTempAddress = false; + ipv4.addresses = mkOverride 0 [ ]; + ipv6.addresses = mkOverride 0 [ ]; + }; + }; + }; testScript = { ... }: '' startAll; $client->waitForUnit("network.target"); + $clientWithPrivacy->waitForUnit("network.target"); $router->waitForUnit("network-online.target"); # Wait until we have an ip address + $clientWithPrivacy->waitUntilSucceeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'"); $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'"); # Test vlan 1 + $clientWithPrivacy->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1"); $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1"); # Test address used is temporary - $client->waitUntilSucceeds("! ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'"); + $clientWithPrivacy->waitUntilSucceeds("! ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'"); + + # Test address used is EUI-64 + $client->waitUntilSucceeds("ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'"); ''; }; routes = { diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix index c3b710f0f90..bfb97ec3f23 100644 --- a/nixos/tests/nextcloud/basic.nix +++ b/nixos/tests/nextcloud/basic.nix @@ -22,6 +22,10 @@ in { # Don't inherit adminuser since "root" is supposed to be the default inherit adminpass; }; + autoUpdateApps = { + enable = true; + startAt = "20:00"; + }; }; }; }; diff --git a/nixos/tests/nextcloud/with-postgresql-and-redis.nix b/nixos/tests/nextcloud/with-postgresql-and-redis.nix index 0351d4db69a..8a840a60875 100644 --- a/nixos/tests/nextcloud/with-postgresql-and-redis.nix +++ b/nixos/tests/nextcloud/with-postgresql-and-redis.nix @@ -27,10 +27,7 @@ in { dbtype = "pgsql"; dbname = "nextcloud"; dbuser = "nextcloud"; - dbhost = "localhost"; - dbpassFile = toString (pkgs.writeText "db-pass-file" '' - hunter2 - ''); + dbhost = "/run/postgresql"; inherit adminuser; adminpassFile = toString (pkgs.writeText "admin-pass-file" '' ${adminpass} @@ -84,10 +81,12 @@ in { services.postgresql = { enable = true; - initialScript = pkgs.writeText "psql-init" '' - create role nextcloud with login password 'hunter2'; - create database nextcloud with owner nextcloud; - ''; + ensureDatabases = [ "nextcloud" ]; + ensureUsers = [ + { name = "nextcloud"; + ensurePermissions."DATABASE nextcloud" = "ALL PRIVILEGES"; + } + ]; }; }; }; diff --git a/nixos/tests/nfs.nix b/nixos/tests/nfs.nix index ce171701893..2f655336e75 100644 --- a/nixos/tests/nfs.nix +++ b/nixos/tests/nfs.nix @@ -20,7 +20,7 @@ in { name = "nfs"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; nodes = diff --git a/nixos/tests/nghttpx.nix b/nixos/tests/nghttpx.nix index 433562b9719..d41fa01aa9a 100644 --- a/nixos/tests/nghttpx.nix +++ b/nixos/tests/nghttpx.nix @@ -1,5 +1,5 @@ let - nginxRoot = "/var/run/nginx"; + nginxRoot = "/run/nginx"; in import ./make-test.nix ({...}: { name = "nghttpx"; diff --git a/nixos/tests/nginx.nix b/nixos/tests/nginx.nix index 32b11364923..d0b7306ae83 100644 --- a/nixos/tests/nginx.nix +++ b/nixos/tests/nginx.nix @@ -1,18 +1,19 @@ # verifies: # 1. nginx generates config file with shared http context definitions above # generated virtual hosts config. - -import ./make-test.nix ({ pkgs, ...} : { +# 2. whether the ETag header is properly generated whenever we're serving +# files in Nix store paths +# 3. nginx doesn't restart on configuration changes (only reloads) +import ./make-test.nix ({ pkgs, ... }: { name = "nginx"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ mbbx6spp ]; }; nodes = { - webserver = - { ... }: - { services.nginx.enable = true; - services.nginx.commonHttpConfig = '' + webserver = { pkgs, lib, ... }: { + services.nginx.enable = true; + services.nginx.commonHttpConfig = '' log_format ceeformat '@cee: {"status":"$status",' '"request_time":$request_time,' '"upstream_response_time":$upstream_response_time,' @@ -24,19 +25,87 @@ import ./make-test.nix ({ pkgs, ...} : { '"request":"$request",' '"http_referer":"$http_referer",' '"upstream_addr":"$upstream_addr"}'; + ''; + services.nginx.virtualHosts."0.my.test" = { + extraConfig = '' + access_log syslog:server=unix:/dev/log,facility=user,tag=mytag,severity=info ceeformat; + location /favicon.ico { allow all; access_log off; log_not_found off; } ''; - services.nginx.virtualHosts."0.my.test" = { - extraConfig = '' - access_log syslog:server=unix:/dev/log,facility=user,tag=mytag,severity=info ceeformat; - ''; - }; }; + + services.nginx.virtualHosts.localhost = { + root = pkgs.runCommand "testdir" {} '' + mkdir "$out" + echo hello world > "$out/index.html" + ''; + }; + + services.nginx.enableReload = true; + + nesting.clone = [ + { + services.nginx.virtualHosts.localhost = { + root = lib.mkForce (pkgs.runCommand "testdir2" {} '' + mkdir "$out" + echo content changed > "$out/index.html" + ''); + }; + } + + { + services.nginx.virtualHosts."1.my.test".listen = [ { addr = "127.0.0.1"; port = 8080; }]; + } + + { + services.nginx.package = pkgs.nginxUnstable; + } + ]; + }; + }; - testScript = '' - startAll; + testScript = { nodes, ... }: let + etagSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-1"; + justReloadSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-2"; + reloadRestartSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-3"; + in '' + my $url = 'http://localhost/index.html'; + + sub checkEtag { + my $etag = $webserver->succeed( + 'curl -v '.$url.' 2>&1 | sed -n -e "s/^< [Ee][Tt][Aa][Gg]: *//p"' + ); + $etag =~ s/\r?\n$//; + my $httpCode = $webserver->succeed( + 'curl -w "%{http_code}" -X HEAD -H \'If-None-Match: '.$etag.'\' '.$url + ); + chomp $httpCode; + die "HTTP code is not 304" unless $httpCode == 304; + return $etag; + } $webserver->waitForUnit("nginx"); $webserver->waitForOpenPort("80"); + + subtest "check ETag if serving Nix store paths", sub { + my $oldEtag = checkEtag; + $webserver->succeed("${etagSystem}/bin/switch-to-configuration test >&2"); + $webserver->sleep(1); # race condition + my $newEtag = checkEtag; + die "Old ETag $oldEtag is the same as $newEtag" if $oldEtag eq $newEtag; + }; + + subtest "config is reloaded on nixos-rebuild switch", sub { + $webserver->succeed("${justReloadSystem}/bin/switch-to-configuration test >&2"); + $webserver->waitForOpenPort("8080"); + $webserver->fail("journalctl -u nginx | grep -q -i stopped"); + $webserver->succeed("journalctl -u nginx | grep -q -i reloaded"); + }; + + subtest "restart when nginx package changes", sub { + $webserver->succeed("${reloadRestartSystem}/bin/switch-to-configuration test >&2"); + $webserver->waitForUnit("nginx"); + $webserver->succeed("journalctl -u nginx | grep -q -i stopped"); + }; ''; }) diff --git a/nixos/tests/nixos-generate-config.nix b/nixos/tests/nixos-generate-config.nix new file mode 100644 index 00000000000..15a173e024b --- /dev/null +++ b/nixos/tests/nixos-generate-config.nix @@ -0,0 +1,24 @@ +import ./make-test.nix ({ lib, ... } : { + name = "nixos-generate-config"; + meta.maintainers = with lib.maintainers; [ basvandijk ]; + machine = { + system.nixos-generate-config.configuration = '' + # OVERRIDDEN + { config, pkgs, ... }: { + imports = [ ./hardware-configuration.nix ]; + $bootLoaderConfig + } + ''; + }; + testScript = '' + startAll; + $machine->waitForUnit("multi-user.target"); + $machine->succeed("nixos-generate-config"); + + # Test if the configuration really is overridden + $machine->succeed("grep 'OVERRIDDEN' /etc/nixos/configuration.nix"); + + # Test of if the Perl variable $bootLoaderConfig is spliced correctly: + $machine->succeed("grep 'boot\\.loader\\.grub\\.enable = true;' /etc/nixos/configuration.nix"); + ''; +}) diff --git a/nixos/tests/nzbget.nix b/nixos/tests/nzbget.nix new file mode 100644 index 00000000000..042ccec98cf --- /dev/null +++ b/nixos/tests/nzbget.nix @@ -0,0 +1,26 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "nzbget"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ aanderse flokli ]; + }; + + nodes = { + server = { ... }: { + services.nzbget.enable = true; + + # hack, don't add (unfree) unrar to nzbget's path, + # so we can run this test in CI + systemd.services.nzbget.path = pkgs.stdenv.lib.mkForce [ pkgs.p7zip ]; + }; + }; + + testScript = '' + startAll; + + $server->waitForUnit("nzbget.service"); + $server->waitForUnit("network.target"); + $server->waitForOpenPort(6789); + $server->succeed("curl -s -u nzbget:tegbzn6789 http://127.0.0.1:6789 | grep -q 'This file is part of nzbget'"); + $server->succeed("${pkgs.nzbget}/bin/nzbget -n -o ControlIP=127.0.0.1 -o ControlPort=6789 -o ControlPassword=tegbzn6789 -V"); + ''; +}) diff --git a/nixos/tests/openldap.nix b/nixos/tests/openldap.nix index 1eaf87a8eaa..3ef90e18347 100644 --- a/nixos/tests/openldap.nix +++ b/nixos/tests/openldap.nix @@ -4,16 +4,12 @@ import ./make-test.nix { machine = { pkgs, ... }: { services.openldap = { enable = true; - extraConfig = '' - include ${pkgs.openldap}/etc/schema/core.schema - include ${pkgs.openldap}/etc/schema/cosine.schema - include ${pkgs.openldap}/etc/schema/inetorgperson.schema - include ${pkgs.openldap}/etc/schema/nis.schema - database bdb - suffix dc=example + suffix = "dc=example"; + rootdn = "cn=root,dc=example"; + rootpw = "notapassword"; + database = "bdb"; + extraDatabaseConfig = '' directory /var/db/openldap - rootdn cn=root,dc=example - rootpw notapassword ''; declarativeContents = '' dn: dc=example diff --git a/nixos/tests/openssh.nix b/nixos/tests/openssh.nix index c66b90b802d..8b9e2170f15 100644 --- a/nixos/tests/openssh.nix +++ b/nixos/tests/openssh.nix @@ -5,7 +5,7 @@ let inherit (import ./ssh-keys.nix pkgs) in { name = "openssh"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aszlig eelco chaoflow ]; + maintainers = [ aszlig eelco ]; }; nodes = { @@ -34,6 +34,24 @@ in { ]; }; + server_localhost_only = + { ... }: + + { + services.openssh = { + enable = true; listenAddresses = [ { addr = "127.0.0.1"; port = 22; } ]; + }; + }; + + server_localhost_only_lazy = + { ... }: + + { + services.openssh = { + enable = true; startWhenNeeded = true; listenAddresses = [ { addr = "127.0.0.1"; port = 22; } ]; + }; + }; + client = { ... }: { }; @@ -77,5 +95,10 @@ in { " server_lazy true"); }; + + subtest "localhost-only", sub { + $server_localhost_only->succeed("ss -nlt | grep '127.0.0.1:22'"); + $server_localhost_only_lazy->succeed("ss -nlt | grep '127.0.0.1:22'"); + } ''; }) diff --git a/nixos/tests/osquery.nix b/nixos/tests/osquery.nix index 281dbcff664..d95871ffafc 100644 --- a/nixos/tests/osquery.nix +++ b/nixos/tests/osquery.nix @@ -11,7 +11,7 @@ with lib; machine = { services.osquery.enable = true; services.osquery.loggerPath = "/var/log/osquery/logs"; - services.osquery.pidfile = "/var/run/osqueryd.pid"; + services.osquery.pidfile = "/run/osqueryd.pid"; }; testScript = '' @@ -23,6 +23,6 @@ with lib; "echo 'SELECT value FROM osquery_flags WHERE name = \"logger_path\";' | osqueryi | grep /var/log/osquery/logs" ); - $machine->succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"pidfile\";' | osqueryi | grep /var/run/osqueryd.pid"); + $machine->succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"pidfile\";' | osqueryi | grep /run/osqueryd.pid"); ''; }) diff --git a/nixos/tests/ostree.nix b/nixos/tests/ostree.nix index 8b19004874e..d7ad84a1a5f 100644 --- a/nixos/tests/ostree.nix +++ b/nixos/tests/ostree.nix @@ -12,7 +12,7 @@ import ./make-test.nix ({ pkgs, lib, ... }: { gnome-desktop-testing ostree gnupg (python3.withPackages (p: with p; [ pyyaml ])) ]; - environment.variables.GI_TYPELIB_PATH = lib.makeSearchPath "lib/girepository-1.0" (with pkgs; [ gtk3 pango.out ostree gdk_pixbuf atk ]); # for GJS tests + environment.variables.GI_TYPELIB_PATH = lib.makeSearchPath "lib/girepository-1.0" (with pkgs; [ gtk3 pango.out ostree gdk-pixbuf atk ]); # for GJS tests }; testScript = '' diff --git a/nixos/tests/overlayfs.nix b/nixos/tests/overlayfs.nix new file mode 100644 index 00000000000..99bb6b0f553 --- /dev/null +++ b/nixos/tests/overlayfs.nix @@ -0,0 +1,57 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "overlayfs"; + meta.maintainers = with pkgs.stdenv.lib.maintainers; [ bachp ]; + + machine = { pkgs, ... }: { + virtualisation.emptyDiskImages = [ 512 ]; + networking.hostId = "deadbeef"; + environment.systemPackages = with pkgs; [ parted ]; + }; + + testScript = '' + $machine->succeed("ls /dev"); + + $machine->succeed("mkdir -p /tmp/mnt"); + + # Test ext4 + overlayfs + $machine->succeed( + + "mkfs.ext4 -F -L overlay-ext4 /dev/vdb", + "mount -t ext4 /dev/vdb /tmp/mnt", + + "mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged", + + # Setup some existing files + "echo 'Replace' > /tmp/mnt/lower/replace.txt", + "echo 'Append' > /tmp/mnt/lower/append.txt", + "echo 'Overwrite' > /tmp/mnt/lower/overwrite.txt", + + "mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged", + + # Test new + "echo 'New' > /tmp/mnt/merged/new.txt", + "[[ \"\$(cat /tmp/mnt/merged/new.txt)\" == \"New\" ]]", + + # Test replace + "[[ \"\$(cat /tmp/mnt/merged/replace.txt)\" == \"Replace\" ]]", + "echo 'Replaced' > /tmp/mnt/merged/replace-tmp.txt", + "mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt", + "[[ \"\$(cat /tmp/mnt/merged/replace.txt)\" == \"Replaced\" ]]", + + # Overwrite + "[[ \"\$(cat /tmp/mnt/merged/overwrite.txt)\" == \"Overwrite\" ]]", + "echo 'Overwritten' > /tmp/mnt/merged/overwrite.txt", + "[[ \"\$(cat /tmp/mnt/merged/overwrite.txt)\" == \"Overwritten\" ]]", + + # Test append + "[[ \"\$(cat /tmp/mnt/merged/append.txt)\" == \"Append\" ]]", + "echo 'ed' >> /tmp/mnt/merged/append.txt", + #"cat /tmp/mnt/merged/append.txt && exit 1", + "[[ \"\$(cat /tmp/mnt/merged/append.txt)\" == \"Append\ned\" ]]", + + "umount /tmp/mnt/merged", + "umount /tmp/mnt", + "udevadm settle" + ); + ''; +}) diff --git a/nixos/tests/packagekit.nix b/nixos/tests/packagekit.nix new file mode 100644 index 00000000000..e2d68af661f --- /dev/null +++ b/nixos/tests/packagekit.nix @@ -0,0 +1,24 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "packagekit"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ peterhoeg ]; + }; + + machine = { ... }: { + environment.systemPackages = with pkgs; [ dbus ]; + services.packagekit = { + enable = true; + backend = "test_nop"; + }; + }; + + testScript = '' + startAll; + + # send a dbus message to activate the service + $machine->succeed("dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.PackageKit /org/freedesktop/PackageKit org.freedesktop.DBus.Introspectable.Introspect"); + + # so now it should be running + $machine->succeed("systemctl is-active packagekit.service"); + ''; +}) diff --git a/nixos/tests/paperless.nix b/nixos/tests/paperless.nix new file mode 100644 index 00000000000..860ad0a6218 --- /dev/null +++ b/nixos/tests/paperless.nix @@ -0,0 +1,29 @@ +import ./make-test.nix ({ lib, ... } : { + name = "paperless"; + meta = with lib.maintainers; { + maintainers = [ earvstedt ]; + }; + + machine = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ imagemagick jq ]; + services.paperless = { + enable = true; + ocrLanguages = [ "eng" ]; + }; + }; + + testScript = '' + $machine->waitForUnit("paperless-consumer.service"); + # Create test doc + $machine->succeed('convert -size 400x40 xc:white -font "DejaVu-Sans" -pointsize 20 -fill black \ + -annotate +5+20 "hello world 16-10-2005" /var/lib/paperless/consume/doc.png'); + + $machine->waitForUnit("paperless-server.service"); + # Wait until server accepts connections + $machine->waitUntilSucceeds("curl -s localhost:28981"); + # Wait until document is consumed + $machine->waitUntilSucceeds('(($(curl -s localhost:28981/api/documents/ | jq .count) == 1))'); + $machine->succeed("curl -s localhost:28981/api/documents/ | jq '.results | .[0] | .created'") + =~ /2005-10-16/ or die; + ''; +}) diff --git a/nixos/tests/pdns-recursor.nix b/nixos/tests/pdns-recursor.nix new file mode 100644 index 00000000000..bf6e6093d69 --- /dev/null +++ b/nixos/tests/pdns-recursor.nix @@ -0,0 +1,12 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "powerdns"; + + nodes.server = { ... }: { + services.pdns-recursor.enable = true; + }; + + testScript = '' + $server->waitForUnit("pdns-recursor"); + $server->waitForOpenPort("53"); + ''; +}) diff --git a/nixos/tests/phabricator.nix b/nixos/tests/phabricator.nix deleted file mode 100644 index 20b3b838aba..00000000000 --- a/nixos/tests/phabricator.nix +++ /dev/null @@ -1,77 +0,0 @@ -import ./make-test.nix ({ pkgs, ... }: { - name = "phabricator"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ chaoflow ]; - }; - - nodes = { - storage = - { ... }: - { services.nfs.server.enable = true; - services.nfs.server.exports = '' - /repos 192.168.1.0/255.255.255.0(rw,no_root_squash) - ''; - services.nfs.server.createMountPoints = true; - }; - - webserver = - { pkgs, ... }: - { fileSystems = pkgs.lib.mkVMOverride - [ { mountPoint = "/repos"; - device = "storage:/repos"; - fsType = "nfs"; - } - ]; - networking.firewall.enable = false; - networking.useDHCP = false; - - services = { - httpd = { - enable = true; - adminAddr = "root@localhost"; - virtualHosts = [{ - hostName = "phabricator.local"; - extraSubservices = [{serviceType = "phabricator";}]; - }]; - }; - - phd = { - enable = true; - }; - - mysql = { - enable = true; - package = pkgs.mysql; - extraOptions = '' - sql_mode=STRICT_ALL_TABLES - ''; - }; - }; - - environment.systemPackages = [ pkgs.php ]; - }; - - client = - { ... }: - { imports = [ ./common/x11.nix ]; - services.xserver.desktopManager.plasma5.enable = true; - }; - }; - - testScript = - '' - startAll; - - $client->waitForX; - - $webserver->waitForUnit("mysql"); - $webserver->waitForUnit("httpd"); - $webserver->execute("cd /nix/store; less >/repos/log1"); - - $client->sleep(30); # loading takes a long time - $client->execute("konqueror http://webserver/ &"); - $client->sleep(90); # loading takes a long time - - $client->screenshot("screen"); - ''; -}) diff --git a/nixos/tests/php-pcre.nix b/nixos/tests/php-pcre.nix index 19bde9babad..ae44aec7944 100644 --- a/nixos/tests/php-pcre.nix +++ b/nixos/tests/php-pcre.nix @@ -8,30 +8,25 @@ import ./make-test.nix ({ ...}: { services.httpd = { enable = true; adminAddr = "please@dont.contact"; - extraSubservices = lib.singleton { - function = f: { - enablePHP = true; - phpOptions = "pcre.jit = true"; + enablePHP = true; + phpOptions = "pcre.jit = true"; + extraConfig = + let + testRoot = pkgs.writeText "index.php" + '' + + ''; + in + '' + Alias / ${testRoot}/ - extraConfig = - let - testRoot = pkgs.writeText "index.php" - '' - - ''; - in - '' - Alias / ${testRoot}/ - - - Require all granted - - ''; - }; - }; + + Require all granted + + ''; }; }; testScript = { ... }: diff --git a/nixos/tests/postgresql-wal-receiver.nix b/nixos/tests/postgresql-wal-receiver.nix new file mode 100644 index 00000000000..791b041ba95 --- /dev/null +++ b/nixos/tests/postgresql-wal-receiver.nix @@ -0,0 +1,86 @@ +{ system ? builtins.currentSystem +, config ? { } +, pkgs ? import ../.. { inherit system config; } }: + +with import ../lib/testing.nix { inherit system pkgs; }; +with pkgs.lib; + +let + postgresqlDataDir = "/var/db/postgresql/test"; + replicationUser = "wal_receiver_user"; + replicationSlot = "wal_receiver_slot"; + replicationConn = "postgresql://${replicationUser}@localhost"; + baseBackupDir = "/tmp/pg_basebackup"; + walBackupDir = "/tmp/pg_wal"; + recoveryConf = pkgs.writeText "recovery.conf" '' + restore_command = 'cp ${walBackupDir}/%f %p' + ''; + + makePostgresqlWalReceiverTest = subTestName: postgresqlPackage: makeTest { + name = "postgresql-wal-receiver-${subTestName}"; + meta.maintainers = with maintainers; [ pacien ]; + + machine = { ... }: { + services.postgresql = { + package = postgresqlPackage; + enable = true; + dataDir = postgresqlDataDir; + extraConfig = '' + wal_level = archive # alias for replica on pg >= 9.6 + max_wal_senders = 10 + max_replication_slots = 10 + ''; + authentication = '' + host replication ${replicationUser} all trust + ''; + initialScript = pkgs.writeText "init.sql" '' + create user ${replicationUser} replication; + select * from pg_create_physical_replication_slot('${replicationSlot}'); + ''; + }; + + services.postgresqlWalReceiver.receivers.main = { + inherit postgresqlPackage; + connection = replicationConn; + slot = replicationSlot; + directory = walBackupDir; + }; + }; + + testScript = '' + # make an initial base backup + $machine->waitForUnit('postgresql'); + $machine->waitForUnit('postgresql-wal-receiver-main'); + # WAL receiver healthchecks PG every 5 seconds, so let's be sure they have connected each other + # required only for 9.4 + $machine->sleep(5); + $machine->succeed('${postgresqlPackage}/bin/pg_basebackup --dbname=${replicationConn} --pgdata=${baseBackupDir}'); + + # create a dummy table with 100 records + $machine->succeed('sudo -u postgres psql --command="create table dummy as select * from generate_series(1, 100) as val;"'); + + # stop postgres and destroy data + $machine->systemctl('stop postgresql'); + $machine->systemctl('stop postgresql-wal-receiver-main'); + $machine->succeed('rm -r ${postgresqlDataDir}/{base,global,pg_*}'); + + # restore the base backup + $machine->succeed('cp -r ${baseBackupDir}/* ${postgresqlDataDir} && chown postgres:postgres -R ${postgresqlDataDir}'); + + # prepare WAL and recovery + $machine->succeed('chmod a+rX -R ${walBackupDir}'); + $machine->execute('for part in ${walBackupDir}/*.partial; do mv $part ''${part%%.*}; done'); # make use of partial segments too + $machine->succeed('cp ${recoveryConf} ${postgresqlDataDir}/recovery.conf && chmod 666 ${postgresqlDataDir}/recovery.conf'); + + # replay WAL + $machine->systemctl('start postgresql'); + $machine->waitForFile('${postgresqlDataDir}/recovery.done'); + $machine->systemctl('restart postgresql'); + $machine->waitForUnit('postgresql'); + + # check that our records have been restored + $machine->succeed('test $(sudo -u postgres psql --pset="pager=off" --tuples-only --command="select count(distinct val) from dummy;") -eq 100'); + ''; + }; + +in mapAttrs makePostgresqlWalReceiverTest (import ../../pkgs/servers/sql/postgresql pkgs) diff --git a/nixos/tests/predictable-interface-names.nix b/nixos/tests/predictable-interface-names.nix index 8306abb8c42..85047f66f23 100644 --- a/nixos/tests/predictable-interface-names.nix +++ b/nixos/tests/predictable-interface-names.nix @@ -20,8 +20,7 @@ in pkgs.lib.listToAttrs (pkgs.lib.crossLists (predictable: withNetworkd: { testScript = '' print $machine->succeed("ip link"); - $machine->succeed("ip link show ${if predictable then "ens3" else "eth0"}"); - $machine->fail("ip link show ${if predictable then "eth0" else "ens3"}"); + $machine->${if predictable then "fail" else "succeed"}("ip link show eth0 "); ''; }; }) [[true false] [true false]]) diff --git a/nixos/tests/printing.nix b/nixos/tests/printing.nix index 7026637ead1..74583ae5562 100644 --- a/nixos/tests/printing.nix +++ b/nixos/tests/printing.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({pkgs, ... }: { name = "printing"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ domenkozar eelco chaoflow jgeerds ]; + maintainers = [ domenkozar eelco matthewbauer ]; }; nodes = { @@ -34,15 +34,11 @@ import ./make-test.nix ({pkgs, ... }: { '' startAll; - # Make sure that cups is up on both sides. - $server->waitForUnit("cups.service"); - $client->waitForUnit("cups.service"); - $client->sleep(10); # wait until cups is fully initialized $client->succeed("lpstat -r") =~ /scheduler is running/ or die; # check local encrypted connections work without error $client->succeed("lpstat -E -r") =~ /scheduler is running/ or die; # Test that UNIX socket is used for connections. - $client->succeed("lpstat -H") =~ "/var/run/cups/cups.sock" or die; + $client->succeed("lpstat -H") =~ "/run/cups/cups.sock" or die; # Test that HTTP server is available too. $client->succeed("curl --fail http://localhost:631/"); $client->succeed("curl --fail http://server:631/"); diff --git a/nixos/tests/prometheus-2.nix b/nixos/tests/prometheus-2.nix new file mode 100644 index 00000000000..219c47c73d9 --- /dev/null +++ b/nixos/tests/prometheus-2.nix @@ -0,0 +1,239 @@ +let + grpcPort = 19090; + queryPort = 9090; + minioPort = 9000; + pushgwPort = 9091; + + s3 = { + accessKey = "BKIKJAA5BMMU2RHO6IBB"; + secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12"; + }; + + objstore.config = { + type = "S3"; + config = { + bucket = "thanos-bucket"; + endpoint = "s3:${toString minioPort}"; + region = "us-east-1"; + access_key = s3.accessKey; + secret_key = s3.secretKey; + insecure = true; + signature_version2 = false; + encrypt_sse = false; + put_user_metadata = {}; + http_config = { + idle_conn_timeout = "0s"; + insecure_skip_verify = false; + }; + trace = { + enable = false; + }; + }; + }; + +in import ./make-test.nix { + name = "prometheus-2"; + + nodes = { + prometheus = { pkgs, ... }: { + virtualisation.diskSize = 2 * 1024; + environment.systemPackages = [ pkgs.jq ]; + networking.firewall.allowedTCPPorts = [ grpcPort ]; + services.prometheus2 = { + enable = true; + scrapeConfigs = [ + { + job_name = "prometheus"; + static_configs = [ + { + targets = [ "127.0.0.1:${toString queryPort}" ]; + labels = { instance = "localhost"; }; + } + ]; + } + { + job_name = "pushgateway"; + scrape_interval = "1s"; + static_configs = [ + { + targets = [ "127.0.0.1:${toString pushgwPort}" ]; + } + ]; + } + ]; + rules = [ + '' + groups: + - name: test + rules: + - record: testrule + expr: count(up{job="prometheus"}) + '' + ]; + globalConfig = { + external_labels = { + some_label = "required by thanos"; + }; + }; + extraFlags = [ + # Required by thanos + "--storage.tsdb.min-block-duration=5s" + "--storage.tsdb.max-block-duration=5s" + ]; + }; + services.prometheus.pushgateway = { + enable = true; + web.listen-address = ":${toString pushgwPort}"; + persistMetrics = true; + persistence.interval = "1s"; + stateDir = "prometheus-pushgateway"; + }; + services.thanos = { + sidecar = { + enable = true; + grpc-address = "0.0.0.0:${toString grpcPort}"; + inherit objstore; + }; + + # TODO: Add some tests for these services: + #rule = { + # enable = true; + # http-address = "0.0.0.0:19194"; + # grpc-address = "0.0.0.0:19193"; + # query.addresses = [ + # "localhost:19191" + # ]; + # labels = { + # just = "some"; + # nice = "labels"; + # }; + #}; + # + #receive = { + # http-address = "0.0.0.0:19195"; + # enable = true; + # labels = { + # just = "some"; + # nice = "labels"; + # }; + #}; + }; + }; + + query = { pkgs, ... }: { + environment.systemPackages = [ pkgs.jq ]; + services.thanos.query = { + enable = true; + http-address = "0.0.0.0:${toString queryPort}"; + store.addresses = [ + "prometheus:${toString grpcPort}" + ]; + }; + }; + + store = { pkgs, ... }: { + virtualisation.diskSize = 2 * 1024; + environment.systemPackages = with pkgs; [ jq thanos ]; + services.thanos.store = { + enable = true; + http-address = "0.0.0.0:10902"; + grpc-address = "0.0.0.0:${toString grpcPort}"; + inherit objstore; + sync-block-duration = "1s"; + }; + services.thanos.compact = { + enable = true; + http-address = "0.0.0.0:10903"; + inherit objstore; + consistency-delay = "5s"; + }; + services.thanos.query = { + enable = true; + http-address = "0.0.0.0:${toString queryPort}"; + store.addresses = [ + "localhost:${toString grpcPort}" + ]; + }; + }; + + s3 = { pkgs, ... } : { + # Minio requires at least 1GiB of free disk space to run. + virtualisation.diskSize = 2 * 1024; + networking.firewall.allowedTCPPorts = [ minioPort ]; + + services.minio = { + enable = true; + inherit (s3) accessKey secretKey; + }; + + environment.systemPackages = [ pkgs.minio-client ]; + }; + }; + + testScript = { nodes, ... } : '' + # Before starting the other machines we first make sure that our S3 service is online + # and has a bucket added for thanos: + $s3->start; + $s3->waitForUnit("minio.service"); + $s3->waitForOpenPort(${toString minioPort}); + $s3->succeed( + "mc config host add minio " . + "http://localhost:${toString minioPort} ${s3.accessKey} ${s3.secretKey} S3v4"); + $s3->succeed("mc mb minio/thanos-bucket"); + + # Now that s3 has started we can start the other machines: + $prometheus->start; + $query->start; + $store->start; + + # Check if prometheus responds to requests: + $prometheus->waitForUnit("prometheus2.service"); + $prometheus->waitForOpenPort(${toString queryPort}); + $prometheus->succeed("curl -s http://127.0.0.1:${toString queryPort}/metrics"); + + # Let's test if pushing a metric to the pushgateway succeeds: + $prometheus->waitForUnit("pushgateway.service"); + $prometheus->succeed( + "echo 'some_metric 3.14' | " . + "curl --data-binary \@- http://127.0.0.1:${toString pushgwPort}/metrics/job/some_job"); + + # Now check whether that metric gets ingested by prometheus. + # Since we'll check for the metric several times on different machines + # we abstract the test using the following function: + + # Function to check if the metric "some_metric" has been received and returns the correct value. + local *Machine::waitForMetric = sub { + my ($self) = @_; + $self->waitUntilSucceeds( + "curl -sf 'http://127.0.0.1:${toString queryPort}/api/v1/query?query=some_metric' " . + "| jq '.data.result[0].value[1]' | grep '\"3.14\"'"); + }; + + $prometheus->waitForMetric; + + # Let's test if the pushgateway persists metrics to the configured location. + $prometheus->waitUntilSucceeds("test -e /var/lib/prometheus-pushgateway/metrics"); + + # Test thanos + $prometheus->waitForUnit("thanos-sidecar.service"); + + # Test if the Thanos query service can correctly retrieve the metric that was send above. + $query->waitForUnit("thanos-query.service"); + $query->waitForMetric; + + # Test if the Thanos sidecar has correctly uploaded its TSDB to S3, if the + # Thanos storage service has correctly downloaded it from S3 and if the Thanos + # query service running on $store can correctly retrieve the metric: + $store->waitForUnit("thanos-store.service"); + $store->waitForMetric; + + $store->waitForUnit("thanos-compact.service"); + + # Test if the Thanos bucket command is able to retrieve blocks from the S3 bucket + # and check if the blocks have the correct labels: + $store->succeed( + "thanos bucket ls" . + " --objstore.config-file=${nodes.store.config.services.thanos.store.objstore.config-file}" . + " --output=json | jq .thanos.labels.some_label | grep 'required by thanos'"); + ''; +} diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix index 140687a8182..02d83f82f33 100644 --- a/nixos/tests/prometheus-exporters.nix +++ b/nixos/tests/prometheus-exporters.nix @@ -1,6 +1,14 @@ -import ./make-test.nix ({ lib, pkgs, ... }: +{ system ? builtins.currentSystem +, config ? {} +, pkgs ? import ../.. { inherit system config; } +}: + let - escape' = str: lib.replaceChars [''"'' "$" "\n"] [''\\\"'' "\\$" ""] str; + inherit (import ../lib/testing.nix { inherit system pkgs; }) makeTest; + inherit (pkgs.lib) concatStringsSep maintainers mapAttrs mkMerge + removeSuffix replaceChars singleton splitString; + + escape' = str: replaceChars [''"'' "$" "\n"] [''\\\"'' "\\$" ""] str; /* * The attrset `exporterTests` contains one attribute @@ -51,6 +59,25 @@ let exporterTests = { + bind = { + exporterConfig = { + enable = true; + }; + metricProvider = { + services.bind.enable = true; + services.bind.extraConfig = '' + statistics-channels { + inet 127.0.0.1 port 8053 allow { localhost; }; + }; + ''; + }; + exporterTest = '' + waitForUnit("prometheus-bind-exporter.service"); + waitForOpenPort(9119); + succeed("curl -sSf http://localhost:9119/metrics | grep -q 'bind_query_recursions_total 0'"); + ''; + }; + blackbox = { exporterConfig = { enable = true; @@ -106,25 +133,6 @@ let ''; }; - bind = { - exporterConfig = { - enable = true; - }; - metricProvider = { - services.bind.enable = true; - services.bind.extraConfig = '' - statistics-channels { - inet 127.0.0.1 port 8053 allow { localhost; }; - }; - ''; - }; - exporterTest = '' - waitForUnit("prometheus-bind-exporter.service"); - waitForOpenPort(9119); - succeed("curl -sSf http://localhost:9119/metrics" | grep -q 'bind_query_recursions_total 0'); - ''; - }; - dovecot = { exporterConfig = { enable = true; @@ -180,6 +188,47 @@ let ''; }; + mail = { + exporterConfig = { + enable = true; + configuration = { + monitoringInterval = "2s"; + mailCheckTimeout = "10s"; + servers = [ { + name = "testserver"; + server = "localhost"; + port = 25; + from = "mail-exporter@localhost"; + to = "mail-exporter@localhost"; + detectionDir = "/var/spool/mail/mail-exporter/new"; + } ]; + }; + }; + metricProvider = { + services.postfix.enable = true; + systemd.services.prometheus-mail-exporter = { + after = [ "postfix.service" ]; + requires = [ "postfix.service" ]; + preStart = '' + mkdir -p 0600 mail-exporter/new + ''; + serviceConfig = { + ProtectHome = true; + ReadOnlyPaths = "/"; + ReadWritePaths = "/var/spool/mail"; + WorkingDirectory = "/var/spool/mail"; + }; + }; + users.users.mailexporter.isSystemUser = true; + }; + exporterTest = '' + waitForUnit("postfix.service") + waitForUnit("prometheus-mail-exporter.service") + waitForOpenPort(9225) + waitUntilSucceeds("curl -sSf http://localhost:9225/metrics | grep -q 'mail_deliver_success{configname=\"testserver\"} 1'") + ''; + }; + nginx = { exporterConfig = { enable = true; @@ -224,6 +273,30 @@ let ''; }; + postgres = { + exporterConfig = { + enable = true; + runAsLocalSuperUser = true; + }; + metricProvider = { + services.postgresql.enable = true; + }; + exporterTest = '' + waitForUnit("prometheus-postgres-exporter.service"); + waitForOpenPort(9187); + waitForUnit("postgresql.service"); + succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_exporter_last_scrape_error 0'"); + succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 1'"); + systemctl("stop postgresql.service"); + succeed("curl -sSf http://localhost:9187/metrics | grep -qv 'pg_exporter_last_scrape_error 0'"); + succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 0'"); + systemctl("start postgresql.service"); + waitForUnit("postgresql.service"); + succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_exporter_last_scrape_error 0'"); + succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 1'"); + ''; + }; + snmp = { exporterConfig = { enable = true; @@ -304,32 +377,53 @@ let }; exporterTest = '' waitForUnit("prometheus-varnish-exporter.service"); + waitForOpenPort(6081); waitForOpenPort(9131); succeed("curl -sSf http://localhost:9131/metrics | grep -q 'varnish_up 1'"); ''; }; - }; - nodes = lib.mapAttrs (exporter: testConfig: lib.mkMerge [{ - services.prometheus.exporters.${exporter} = testConfig.exporterConfig; - } testConfig.metricProvider or {}]) exporterTests; + wireguard = let snakeoil = import ./wireguard/snakeoil-keys.nix; in { + exporterConfig.enable = true; + metricProvider = { + networking.wireguard.interfaces.wg0 = { + ips = [ "10.23.42.1/32" "fc00::1/128" ]; + listenPort = 23542; - testScript = lib.concatStrings (lib.mapAttrsToList (exporter: testConfig: ('' - subtest "${exporter}", sub { - ${"$"+exporter}->start(); - ${lib.concatStringsSep " " (map (line: '' - ${"$"+exporter}->${line}; - '') (lib.splitString "\n" (lib.removeSuffix "\n" testConfig.exporterTest)))} - ${"$"+exporter}->shutdown(); + inherit (snakeoil.peer0) privateKey; + + peers = singleton { + allowedIPs = [ "10.23.42.2/32" "fc00::2/128" ]; + + inherit (snakeoil.peer1) publicKey; + }; + }; + systemd.services.prometheus-wireguard-exporter.after = [ "wireguard-wg0.service" ]; + }; + exporterTest = '' + waitForUnit("prometheus-wireguard-exporter.service"); + waitForOpenPort(9586); + waitUntilSucceeds("curl -sSf http://localhost:9586/metrics | grep '${snakeoil.peer1.publicKey}'"); + ''; }; - '')) exporterTests); + }; in -{ - name = "prometheus-exporters"; +mapAttrs (exporter: testConfig: (makeTest { + name = "prometheus-${exporter}-exporter"; - inherit nodes testScript; + nodes.${exporter} = mkMerge [{ + services.prometheus.exporters.${exporter} = testConfig.exporterConfig; + } testConfig.metricProvider or {}]; - meta = with lib.maintainers; { + testScript = '' + ${"$"+exporter}->start(); + ${concatStringsSep " " (map (line: '' + ${"$"+exporter}->${line}; + '') (splitString "\n" (removeSuffix "\n" testConfig.exporterTest)))} + ${"$"+exporter}->shutdown(); + ''; + + meta = with maintainers; { maintainers = [ willibutz ]; }; -}) +})) exporterTests diff --git a/nixos/tests/prosody.nix b/nixos/tests/prosody.nix deleted file mode 100644 index 61ae5bb38ed..00000000000 --- a/nixos/tests/prosody.nix +++ /dev/null @@ -1,78 +0,0 @@ -import ./make-test.nix { - name = "prosody"; - - machine = { pkgs, ... }: { - services.prosody = { - enable = true; - # TODO: use a self-signed certificate - c2sRequireEncryption = false; - extraConfig = '' - storage = "sql" - ''; - }; - environment.systemPackages = let - sendMessage = pkgs.writeScriptBin "send-message" '' - #!/usr/bin/env python3 - # Based on the sleekxmpp send_client example, look there for more details: - # https://github.com/fritzy/SleekXMPP/blob/develop/examples/send_client.py - import sleekxmpp - - class SendMsgBot(sleekxmpp.ClientXMPP): - """ - A basic SleekXMPP bot that will log in, send a message, - and then log out. - """ - def __init__(self, jid, password, recipient, message): - sleekxmpp.ClientXMPP.__init__(self, jid, password) - - self.recipient = recipient - self.msg = message - - self.add_event_handler("session_start", self.start, threaded=True) - - def start(self, event): - self.send_presence() - self.get_roster() - - self.send_message(mto=self.recipient, - mbody=self.msg, - mtype='chat') - - self.disconnect(wait=True) - - - if __name__ == '__main__': - xmpp = SendMsgBot("test1@localhost", "test1", "test2@localhost", "Hello World!") - xmpp.register_plugin('xep_0030') # Service Discovery - xmpp.register_plugin('xep_0199') # XMPP Ping - - # TODO: verify certificate - # If you want to verify the SSL certificates offered by a server: - # xmpp.ca_certs = "path/to/ca/cert" - - if xmpp.connect(('localhost', 5222)): - xmpp.process(block=True) - else: - print("Unable to connect.") - sys.exit(1) - ''; - in [ (pkgs.python3.withPackages (ps: [ ps.sleekxmpp ])) sendMessage ]; - }; - - testScript = '' - $machine->waitForUnit('prosody.service'); - $machine->succeed('prosodyctl status') =~ /Prosody is running/; - - # set password to 'test' (it's asked twice) - $machine->succeed('yes test1 | prosodyctl adduser test1@localhost'); - # set password to 'y' - $machine->succeed('yes | prosodyctl adduser test2@localhost'); - # correct password to 'test2' - $machine->succeed('yes test2 | prosodyctl passwd test2@localhost'); - - $machine->succeed("send-message"); - - $machine->succeed('prosodyctl deluser test1@localhost'); - $machine->succeed('prosodyctl deluser test2@localhost'); - ''; -} diff --git a/nixos/tests/proxy.nix b/nixos/tests/proxy.nix index 18195312028..1f39e903cdd 100644 --- a/nixos/tests/proxy.nix +++ b/nixos/tests/proxy.nix @@ -16,7 +16,7 @@ in { name = "proxy"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; nodes = diff --git a/nixos/tests/quake3.nix b/nixos/tests/quake3.nix index 75c82cca63f..fbb798515e1 100644 --- a/nixos/tests/quake3.nix +++ b/nixos/tests/quake3.nix @@ -22,7 +22,7 @@ in rec { name = "quake3"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ domenkozar eelco chaoflow ]; + maintainers = [ domenkozar eelco ]; }; # TODO: lcov doesn't work atm diff --git a/nixos/tests/rabbitmq.nix b/nixos/tests/rabbitmq.nix index 34ab0578786..bb5932c3641 100644 --- a/nixos/tests/rabbitmq.nix +++ b/nixos/tests/rabbitmq.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ... }: { name = "rabbitmq"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow offline ]; + maintainers = [ eelco offline ]; }; nodes = { diff --git a/nixos/tests/radicale.nix b/nixos/tests/radicale.nix index bf22fc9291a..60796425564 100644 --- a/nixos/tests/radicale.nix +++ b/nixos/tests/radicale.nix @@ -85,7 +85,7 @@ in $radicale->succeed('mv /tmp/collections-new/collection-root /tmp/collections'); $radicale->succeed('${switchToConfig "radicale2_verify"} >&2'); $radicale->waitUntilFails('systemctl status radicale'); - my ($retcode, $logs) = $radicale->execute('journalctl -u radicale -n 5'); + my ($retcode, $logs) = $radicale->execute('journalctl -u radicale -n 10'); if ($retcode != 0 || index($logs, 'Verifying storage') == -1) { die "Radicale 2 didn't verify storage" } diff --git a/nixos/tests/redis.nix b/nixos/tests/redis.nix new file mode 100644 index 00000000000..325d93424dd --- /dev/null +++ b/nixos/tests/redis.nix @@ -0,0 +1,26 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "redis"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ flokli ]; + }; + + nodes = { + machine = + { pkgs, ... }: + + { + services.redis.enable = true; + services.redis.unixSocket = "/run/redis/redis.sock"; + }; + }; + + testScript = '' + startAll; + + $machine->waitForUnit("redis"); + $machine->waitForOpenPort("6379"); + + $machine->succeed("redis-cli ping | grep PONG"); + $machine->succeed("redis-cli -s /run/redis/redis.sock ping | grep PONG"); + ''; +}) diff --git a/nixos/tests/redmine.nix b/nixos/tests/redmine.nix index ea72a0121d1..2d4df288b05 100644 --- a/nixos/tests/redmine.nix +++ b/nixos/tests/redmine.nix @@ -7,21 +7,12 @@ with import ../lib/testing.nix { inherit system pkgs; }; with pkgs.lib; let - redmineTest = package: makeTest { + mysqlTest = package: makeTest { machine = { config, pkgs, ... }: - { services.mysql.enable = true; - services.mysql.package = pkgs.mariadb; - services.mysql.ensureDatabases = [ "redmine" ]; - services.mysql.ensureUsers = [ - { name = "redmine"; - ensurePermissions = { "redmine.*" = "ALL PRIVILEGES"; }; - } - ]; - - services.redmine.enable = true; + { services.redmine.enable = true; services.redmine.package = package; - services.redmine.database.socket = "/run/mysqld/mysqld.sock"; + services.redmine.database.type = "mysql2"; services.redmine.plugins = { redmine_env_auth = pkgs.fetchurl { url = https://github.com/Intera/redmine_env_auth/archive/0.7.zip; @@ -38,7 +29,34 @@ let testScript = '' startAll; + $machine->waitForUnit('redmine.service'); + $machine->waitForOpenPort('3000'); + $machine->succeed("curl --fail http://localhost:3000/"); + ''; + }; + pgsqlTest = package: makeTest { + machine = + { config, pkgs, ... }: + { services.redmine.enable = true; + services.redmine.package = package; + services.redmine.database.type = "postgresql"; + services.redmine.plugins = { + redmine_env_auth = pkgs.fetchurl { + url = https://github.com/Intera/redmine_env_auth/archive/0.7.zip; + sha256 = "1xb8lyarc7mpi86yflnlgyllh9hfwb9z304f19dx409gqpia99sc"; + }; + }; + services.redmine.themes = { + dkuk-redmine_alex_skin = pkgs.fetchurl { + url = https://bitbucket.org/dkuk/redmine_alex_skin/get/1842ef675ef3.zip; + sha256 = "0hrin9lzyi50k4w2bd2b30vrf1i4fi1c0gyas5801wn8i7kpm9yl"; + }; + }; + }; + + testScript = '' + startAll; $machine->waitForUnit('redmine.service'); $machine->waitForOpenPort('3000'); $machine->succeed("curl --fail http://localhost:3000/"); @@ -46,13 +64,18 @@ let }; in { - redmine_3 = redmineTest pkgs.redmine // { - name = "redmine_3"; + v3-mysql = mysqlTest pkgs.redmine // { + name = "v3-mysql"; meta.maintainers = [ maintainers.aanderse ]; }; - redmine_4 = redmineTest pkgs.redmine_4 // { - name = "redmine_4"; + v4-mysql = mysqlTest pkgs.redmine_4 // { + name = "v4-mysql"; + meta.maintainers = [ maintainers.aanderse ]; + }; + + v4-pgsql = pgsqlTest pkgs.redmine_4 // { + name = "v4-pgsql"; meta.maintainers = [ maintainers.aanderse ]; }; } diff --git a/nixos/tests/rspamd.nix b/nixos/tests/rspamd.nix index 396cd5b67d8..0cc94728f80 100644 --- a/nixos/tests/rspamd.nix +++ b/nixos/tests/rspamd.nix @@ -52,8 +52,18 @@ in machine = { services.rspamd = { enable = true; - bindSocket = [ "/run/rspamd.sock mode=0600 user=root group=root" ]; - bindUISocket = [ "/run/rspamd-worker.sock mode=0666 user=root group=root" ]; + workers.normal.bindSockets = [{ + socket = "/run/rspamd.sock"; + mode = "0600"; + owner = "root"; + group = "root"; + }]; + workers.controller.bindSockets = [{ + socket = "/run/rspamd-worker.sock"; + mode = "0666"; + owner = "root"; + group = "root"; + }]; }; }; @@ -235,7 +245,7 @@ in services.rspamd = { enable = true; postfix.enable = true; - workers.rspamd_proxy.type = "proxy"; + workers.rspamd_proxy.type = "rspamd_proxy"; }; }; testScript = '' diff --git a/nixos/tests/signal-desktop.nix b/nixos/tests/signal-desktop.nix new file mode 100644 index 00000000000..605b9c3e130 --- /dev/null +++ b/nixos/tests/signal-desktop.nix @@ -0,0 +1,37 @@ +import ./make-test.nix ({ pkgs, ...} : + +{ + name = "signal-desktop"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ flokli ]; + }; + + machine = { ... }: + + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; + + services.xserver.enable = true; + services.xserver.displayManager.auto.user = "alice"; + environment.systemPackages = [ pkgs.signal-desktop ]; + }; + + enableOCR = true; + + testScript = { nodes, ... }: let + user = nodes.machine.config.users.users.alice; + in '' + startAll; + $machine->waitForX; + + # start signal desktop + $machine->execute("su - alice -c signal-desktop &"); + + # wait for the "Link your phone to Signal Desktop" message + $machine->waitForText(qr/Link your phone to Signal Desktop/); + $machine->screenshot("signal_desktop"); + ''; +}) diff --git a/nixos/tests/slurm.nix b/nixos/tests/slurm.nix index b4458d8d095..4c2cd3c3d26 100644 --- a/nixos/tests/slurm.nix +++ b/nixos/tests/slurm.nix @@ -108,6 +108,8 @@ in { # cluster in the database before slurmctld is restarted subtest "add_account", sub { $control->succeed("sacctmgr -i add cluster default"); + # check for cluster entry + $control->succeed("sacctmgr list cluster | awk '{ print \$1 }' | grep default"); }; subtest "can_start_slurmctld", sub { @@ -133,7 +135,8 @@ in { subtest "check_slurm_dbd", sub { # find the srun job from above in the database - $submit->succeed("sacct | grep hostname"); + sleep 5; + $control->succeed("sacct | grep hostname"); }; ''; }) diff --git a/nixos/tests/solr.nix b/nixos/tests/solr.nix index 9ba3863411e..2108e851bc5 100644 --- a/nixos/tests/solr.nix +++ b/nixos/tests/solr.nix @@ -1,47 +1,65 @@ -import ./make-test.nix ({ pkgs, lib, ... }: +{ system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../.. { inherit system config; } +}: + +with import ../lib/testing.nix { inherit system pkgs; }; +with pkgs.lib; + +let + solrTest = package: makeTest { + machine = + { config, pkgs, ... }: + { + # Ensure the virtual machine has enough memory for Solr to avoid the following error: + # + # OpenJDK 64-Bit Server VM warning: + # INFO: os::commit_memory(0x00000000e8000000, 402653184, 0) + # failed; error='Cannot allocate memory' (errno=12) + # + # There is insufficient memory for the Java Runtime Environment to continue. + # Native memory allocation (mmap) failed to map 402653184 bytes for committing reserved memory. + virtualisation.memorySize = 2000; + + services.solr.enable = true; + services.solr.package = package; + }; + + testScript = '' + startAll; + + $machine->waitForUnit('solr.service'); + $machine->waitForOpenPort('8983'); + $machine->succeed('curl --fail http://localhost:8983/solr/'); + + # adapted from pkgs.solr/examples/films/README.txt + $machine->succeed('sudo -u solr solr create -c films'); + $machine->succeed(q(curl http://localhost:8983/solr/films/schema -X POST -H 'Content-type:application/json' --data-binary '{ + "add-field" : { + "name":"name", + "type":"text_general", + "multiValued":false, + "stored":true + }, + "add-field" : { + "name":"initial_release_date", + "type":"pdate", + "stored":true + } + }')) =~ /"status":0/ or die; + $machine->succeed('sudo -u solr post -c films ${pkgs.solr}/example/films/films.json'); + $machine->succeed('curl http://localhost:8983/solr/films/query?q=name:batman') =~ /"name":"Batman Begins"/ or die; + ''; + }; +in { - name = "solr"; - meta.maintainers = [ lib.maintainers.aanderse ]; + solr_7 = solrTest pkgs.solr_7 // { + name = "solr_7"; + meta.maintainers = [ lib.maintainers.aanderse ]; + }; - machine = - { config, pkgs, ... }: - { - # Ensure the virtual machine has enough memory for Solr to avoid the following error: - # - # OpenJDK 64-Bit Server VM warning: - # INFO: os::commit_memory(0x00000000e8000000, 402653184, 0) - # failed; error='Cannot allocate memory' (errno=12) - # - # There is insufficient memory for the Java Runtime Environment to continue. - # Native memory allocation (mmap) failed to map 402653184 bytes for committing reserved memory. - virtualisation.memorySize = 2000; - - services.solr.enable = true; - }; - - testScript = '' - startAll; - - $machine->waitForUnit('solr.service'); - $machine->waitForOpenPort('8983'); - $machine->succeed('curl --fail http://localhost:8983/solr/'); - - # adapted from pkgs.solr/examples/films/README.txt - $machine->succeed('sudo -u solr solr create -c films'); - $machine->succeed(q(curl http://localhost:8983/solr/films/schema -X POST -H 'Content-type:application/json' --data-binary '{ - "add-field" : { - "name":"name", - "type":"text_general", - "multiValued":false, - "stored":true - }, - "add-field" : { - "name":"initial_release_date", - "type":"pdate", - "stored":true - } - }')) =~ /"status":0/ or die; - $machine->succeed('sudo -u solr post -c films ${pkgs.solr}/example/films/films.json'); - $machine->succeed('curl http://localhost:8983/solr/films/query?q=name:batman') =~ /"name":"Batman Begins"/ or die; - ''; -}) + solr_8 = solrTest pkgs.solr_8 // { + name = "solr_8"; + meta.maintainers = [ lib.maintainers.aanderse ]; + }; +} diff --git a/nixos/tests/subversion.nix b/nixos/tests/subversion.nix deleted file mode 100644 index 6175155cdfc..00000000000 --- a/nixos/tests/subversion.nix +++ /dev/null @@ -1,121 +0,0 @@ -import ./make-test.nix ({ pkgs, ...} : - -let - - # Build some packages with coverage instrumentation. - overrides = pkgs: - with pkgs.stdenvAdapters; - let - do = pkg: pkg.override (args: { - stdenv = addCoverageInstrumentation args.stdenv; - }); - in - rec { - apr = do pkgs.apr; - aprutil = do pkgs.aprutil; - apacheHttpd = do pkgs.apacheHttpd; - mod_python = do pkgs.mod_python; - subversion = do pkgs.subversion; - - # To build the kernel with coverage instrumentation, we need a - # special patch to make coverage data available under /proc. - linux = pkgs.linux.override (orig: { - stdenv = overrideInStdenv pkgs.stdenv [ pkgs.keepBuildTree ]; - extraConfig = - '' - GCOV_KERNEL y - GCOV_PROFILE_ALL y - ''; - }); - }; - -in - -{ - name = "subversion"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; - }; - - nodes = - { webserver = - { ... }: - - { - services.httpd.enable = true; - services.httpd.adminAddr = "e.dolstra@tudelft.nl"; - services.httpd.extraSubservices = - [ { function = import ; - urlPrefix = ""; - dataDir = "/data/subversion"; - userCreationDomain = "192.168.0.0/16"; - } - ]; - nixpkgs.config.packageOverrides = overrides; - }; - - client = - { pkgs, ... }: - - { - environment.systemPackages = [ pkgs.subversion ]; - nixpkgs.config.packageOverrides = overrides; - }; - - }; - - testScript = - '' - startAll; - - $webserver->waitForOpenPort(80); - - print STDERR $client->succeed("svn --version"); - - print STDERR $client->succeed("curl --fail http://webserver/"); - - # Create a new user through the web interface. - $client->succeed("curl --fail -F username=alice -F fullname='Alice Lastname' -F address=alice\@example.org -F password=foobar -F password_again=foobar http://webserver/repoman/adduser"); - - # Let Alice create a new repository. - $client->succeed("curl --fail -u alice:foobar --form repo=xyzzy --form description=Xyzzy http://webserver/repoman/create"); - - $client->succeed("curl --fail http://webserver/") =~ /alice/ or die; - - # Let Alice do a checkout. - my $svnFlags = "--non-interactive --username alice --password foobar"; - $client->succeed("svn co $svnFlags http://webserver/repos/xyzzy wc"); - $client->succeed("echo hello > wc/world"); - $client->succeed("svn add wc/world"); - $client->succeed("svn ci $svnFlags -m 'Added world.' wc/world"); - - # Create a new user on the server through the create-user.pl script. - $webserver->execute("svn-server-create-user.pl bob bob\@example.org Bob"); - $webserver->succeed("svn-server-resetpw.pl bob fnord"); - $client->succeed("curl --fail http://webserver/") =~ /bob/ or die; - - # Bob should not have access to the repo. - my $svnFlagsBob = "--non-interactive --username bob --password fnord"; - $client->fail("svn co $svnFlagsBob http://webserver/repos/xyzzy wc2"); - - # Bob should not be able change the ACLs of the repo. - # !!! Repoman should really return a 403 here. - $client->succeed("curl --fail -u bob:fnord -F description=Xyzzy -F readers=alice,bob -F writers=alice -F watchers= -F tardirs= http://webserver/repoman/update/xyzzy") - =~ /not authorised/ or die; - - # Give Bob access. - $client->succeed("curl --fail -u alice:foobar -F description=Xyzzy -F readers=alice,bob -F writers=alice -F watchers= -F tardirs= http://webserver/repoman/update/xyzzy"); - - # So now his checkout should succeed. - $client->succeed("svn co $svnFlagsBob http://webserver/repos/xyzzy wc2"); - - # Test ViewVC and WebSVN - $client->succeed("curl --fail -u alice:foobar http://webserver/viewvc/xyzzy"); - $client->succeed("curl --fail -u alice:foobar http://webserver/websvn/xyzzy"); - $client->succeed("curl --fail -u alice:foobar http://webserver/repos-xml/xyzzy"); - - # Stop Apache to gather all the coverage data. - $webserver->stopJob("httpd"); - ''; - -}) diff --git a/nixos/tests/syncthing-init.nix b/nixos/tests/syncthing-init.nix new file mode 100644 index 00000000000..0de76b688bd --- /dev/null +++ b/nixos/tests/syncthing-init.nix @@ -0,0 +1,34 @@ +import ./make-test.nix ({ lib, pkgs, ... }: let + + testId = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU"; + +in { + name = "syncthing-init"; + meta.maintainers = with pkgs.stdenv.lib.maintainers; [ lassulus ]; + + machine = { + services.syncthing = { + enable = true; + declarative = { + devices.testDevice = { + id = testId; + }; + folders.testFolder = { + path = "/tmp/test"; + devices = [ "testDevice" ]; + }; + }; + }; + }; + + testScript = '' + my $config; + + $machine->waitForUnit("syncthing-init.service"); + $config = $machine->succeed("cat /var/lib/syncthing/.config/syncthing/config.xml"); + + $config =~ /${testId}/ or die; + $config =~ /testFolder/ or die; + ''; +}) + diff --git a/nixos/tests/systemd-confinement.nix b/nixos/tests/systemd-confinement.nix new file mode 100644 index 00000000000..b7b10fb36aa --- /dev/null +++ b/nixos/tests/systemd-confinement.nix @@ -0,0 +1,168 @@ +import ./make-test.nix { + name = "systemd-confinement"; + + machine = { pkgs, lib, ... }: let + testServer = pkgs.writeScript "testserver.sh" '' + #!${pkgs.stdenv.shell} + export PATH=${lib.escapeShellArg "${pkgs.coreutils}/bin"} + ${lib.escapeShellArg pkgs.stdenv.shell} 2>&1 + echo "exit-status:$?" + ''; + + testClient = pkgs.writeScriptBin "chroot-exec" '' + #!${pkgs.stdenv.shell} -e + output="$(echo "$@" | nc -NU "/run/test$(< /teststep).sock")" + ret="$(echo "$output" | sed -nre '$s/^exit-status:([0-9]+)$/\1/p')" + echo "$output" | head -n -1 + exit "''${ret:-1}" + ''; + + mkTestStep = num: { description, config ? {}, testScript }: { + systemd.sockets."test${toString num}" = { + description = "Socket for Test Service ${toString num}"; + wantedBy = [ "sockets.target" ]; + socketConfig.ListenStream = "/run/test${toString num}.sock"; + socketConfig.Accept = true; + }; + + systemd.services."test${toString num}@" = { + description = "Confined Test Service ${toString num}"; + confinement = (config.confinement or {}) // { enable = true; }; + serviceConfig = (config.serviceConfig or {}) // { + ExecStart = testServer; + StandardInput = "socket"; + }; + } // removeAttrs config [ "confinement" "serviceConfig" ]; + + __testSteps = lib.mkOrder num '' + subtest '${lib.escape ["\\" "'"] description}', sub { + $machine->succeed('echo ${toString num} > /teststep'); + ${testScript} + }; + ''; + }; + + in { + imports = lib.imap1 mkTestStep [ + { description = "chroot-only confinement"; + config.confinement.mode = "chroot-only"; + testScript = '' + $machine->succeed( + 'test "$(chroot-exec ls -1 / | paste -sd,)" = bin,nix', + 'test "$(chroot-exec id -u)" = 0', + 'chroot-exec chown 65534 /bin', + ); + ''; + } + { description = "full confinement with APIVFS"; + testScript = '' + $machine->fail( + 'chroot-exec ls -l /etc', + 'chroot-exec ls -l /run', + 'chroot-exec chown 65534 /bin', + ); + $machine->succeed( + 'test "$(chroot-exec id -u)" = 0', + 'chroot-exec chown 0 /bin', + ); + ''; + } + { description = "check existence of bind-mounted /etc"; + config.serviceConfig.BindReadOnlyPaths = [ "/etc" ]; + testScript = '' + $machine->succeed('test -n "$(chroot-exec cat /etc/passwd)"'); + ''; + } + { description = "check if User/Group really runs as non-root"; + config.serviceConfig.User = "chroot-testuser"; + config.serviceConfig.Group = "chroot-testgroup"; + testScript = '' + $machine->succeed('chroot-exec ls -l /dev'); + $machine->succeed('test "$(chroot-exec id -u)" != 0'); + $machine->fail('chroot-exec touch /bin/test'); + ''; + } + (let + symlink = pkgs.runCommand "symlink" { + target = pkgs.writeText "symlink-target" "got me\n"; + } "ln -s \"$target\" \"$out\""; + in { + description = "check if symlinks are properly bind-mounted"; + config.confinement.packages = lib.singleton symlink; + testScript = '' + $machine->fail('chroot-exec test -e /etc'); + $machine->succeed('chroot-exec cat ${symlink} >&2'); + $machine->succeed('test "$(chroot-exec cat ${symlink})" = "got me"'); + ''; + }) + { description = "check if StateDirectory works"; + config.serviceConfig.User = "chroot-testuser"; + config.serviceConfig.Group = "chroot-testgroup"; + config.serviceConfig.StateDirectory = "testme"; + testScript = '' + $machine->succeed('chroot-exec touch /tmp/canary'); + $machine->succeed('chroot-exec "echo works > /var/lib/testme/foo"'); + $machine->succeed('test "$(< /var/lib/testme/foo)" = works'); + $machine->succeed('test ! -e /tmp/canary'); + ''; + } + { description = "check if /bin/sh works"; + testScript = '' + $machine->succeed( + 'chroot-exec test -e /bin/sh', + 'test "$(chroot-exec \'/bin/sh -c "echo bar"\')" = bar', + ); + ''; + } + { description = "check if suppressing /bin/sh works"; + config.confinement.binSh = null; + testScript = '' + $machine->succeed( + 'chroot-exec test ! -e /bin/sh', + 'test "$(chroot-exec \'/bin/sh -c "echo foo"\')" != foo', + ); + ''; + } + { description = "check if we can set /bin/sh to something different"; + config.confinement.binSh = "${pkgs.hello}/bin/hello"; + testScript = '' + $machine->succeed( + 'chroot-exec test -e /bin/sh', + 'test "$(chroot-exec /bin/sh -g foo)" = foo', + ); + ''; + } + { description = "check if only Exec* dependencies are included"; + config.environment.FOOBAR = pkgs.writeText "foobar" "eek\n"; + testScript = '' + $machine->succeed('test "$(chroot-exec \'cat "$FOOBAR"\')" != eek'); + ''; + } + { description = "check if all unit dependencies are included"; + config.environment.FOOBAR = pkgs.writeText "foobar" "eek\n"; + config.confinement.fullUnit = true; + testScript = '' + $machine->succeed('test "$(chroot-exec \'cat "$FOOBAR"\')" = eek'); + ''; + } + ]; + + options.__testSteps = lib.mkOption { + type = lib.types.lines; + description = "All of the test steps combined as a single script."; + }; + + config.environment.systemPackages = lib.singleton testClient; + + config.users.groups.chroot-testgroup = {}; + config.users.users.chroot-testuser = { + description = "Chroot Test User"; + group = "chroot-testgroup"; + }; + }; + + testScript = { nodes, ... }: '' + $machine->waitForUnit('multi-user.target'); + ${nodes.machine.config.__testSteps} + ''; +} diff --git a/nixos/tests/systemd-networkd-wireguard.nix b/nixos/tests/systemd-networkd-wireguard.nix new file mode 100644 index 00000000000..f1ce1e791ce --- /dev/null +++ b/nixos/tests/systemd-networkd-wireguard.nix @@ -0,0 +1,80 @@ +let generateNodeConf = { lib, pkgs, config, privkpath, pubk, peerId, nodeId, ...}: { + imports = [ common/user-account.nix ]; + systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; + networking.useNetworkd = true; + networking.firewall.enable = false; + virtualisation.vlans = [ 1 ]; + environment.systemPackages = with pkgs; [ wireguard-tools ]; + boot.extraModulePackages = [ config.boot.kernelPackages.wireguard ]; + systemd.network = { + enable = true; + netdevs = { + "90-wg0" = { + netdevConfig = { Kind = "wireguard"; Name = "wg0"; }; + wireguardConfig = { + PrivateKeyFile = privkpath ; + ListenPort = 51820; + FwMark = 42; + }; + wireguardPeers = [ {wireguardPeerConfig={ + Endpoint = "192.168.1.${peerId}:51820"; + PublicKey = pubk; + PresharedKeyFile = pkgs.writeText "psk.key" "yTL3sCOL33Wzi6yCnf9uZQl/Z8laSE+zwpqOHC4HhFU="; + AllowedIPs = [ "10.0.0.${peerId}/32" ]; + PersistentKeepalive = 15; + };}]; + }; + }; + networks = { + "99-nope" = { + matchConfig.Name = "eth*"; + linkConfig.Unmanaged = true; + }; + "90-wg0" = { + matchConfig = { Name = "wg0"; }; + address = [ "10.0.0.${nodeId}/32" ]; + routes = [ + { routeConfig = { Gateway = "10.0.0.${nodeId}"; Destination = "10.0.0.0/24"; }; } + ]; + }; + "90-eth1" = { + matchConfig = { Name = "eth1"; }; + address = [ "192.168.1.${nodeId}/24" ]; + }; + }; + }; + }; +in import ./make-test.nix ({pkgs, ... }: { + name = "networkd-wireguard"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ ninjatrappeur ]; + }; + nodes = { + node1 = { pkgs, ... }@attrs: + let localConf = { + privkpath = pkgs.writeText "priv.key" "GDiXWlMQKb379XthwX0haAbK6hTdjblllpjGX0heP00="; + pubk = "iRxpqj42nnY0Qz8MAQbSm7bXxXP5hkPqWYIULmvW+EE="; + nodeId = "1"; + peerId = "2"; + }; + in generateNodeConf (attrs // localConf); + + node2 = { pkgs, ... }@attrs: + let localConf = { + privkpath = pkgs.writeText "priv.key" "eHxSI2jwX/P4AOI0r8YppPw0+4NZnjOxfbS5mt06K2k="; + pubk = "27s0OvaBBdHoJYkH9osZpjpgSOVNw+RaKfboT/Sfq0g="; + nodeId = "2"; + peerId = "1"; + }; + in generateNodeConf (attrs // localConf); + }; +testScript = '' + startAll; + $node1->waitForUnit('systemd-networkd-wait-online.service'); + $node2->waitForUnit('systemd-networkd-wait-online.service'); + $node1->succeed('ping -c 5 10.0.0.2'); + $node2->succeed('ping -c 5 10.0.0.1'); + # Is the fwmark set? + $node2->succeed('wg | grep -q 42'); +''; +}) diff --git a/nixos/tests/systemd-timesyncd.nix b/nixos/tests/systemd-timesyncd.nix new file mode 100644 index 00000000000..d12b8eb2bf7 --- /dev/null +++ b/nixos/tests/systemd-timesyncd.nix @@ -0,0 +1,52 @@ +# Regression test for systemd-timesync having moved the state directory without +# upstream providing a migration path. https://github.com/systemd/systemd/issues/12131 + +import ./make-test.nix (let + common = { lib, ... }: { + # override the `false` value from the qemu-vm base profile + services.timesyncd.enable = lib.mkForce true; + }; + mkVM = conf: { imports = [ conf common ]; }; +in { + name = "systemd-timesyncd"; + nodes = { + current = mkVM {}; + pre1909 = mkVM ({lib, ... }: with lib; { + # create the path that should be migrated by our activation script when + # upgrading to a newer nixos version + system.stateVersion = "19.03"; + system.activationScripts.simulate-old-timesync-state-dir = mkBefore '' + rm -f /var/lib/systemd/timesync + mkdir -p /var/lib/systemd /var/lib/private/systemd/timesync + ln -s /var/lib/private/systemd/timesync /var/lib/systemd/timesync + chown systemd-timesync: /var/lib/private/systemd/timesync + ''; + }); + }; + + testScript = '' + startAll; + $current->succeed('systemctl status systemd-timesyncd.service'); + # on a new install with a recent systemd there should not be any + # leftovers from the dynamic user mess + $current->succeed('test -e /var/lib/systemd/timesync'); + $current->succeed('test ! -L /var/lib/systemd/timesync'); + + # timesyncd should be running on the upgrading system since we fixed the + # file bits in the activation script + $pre1909->succeed('systemctl status systemd-timesyncd.service'); + + # the path should be gone after the migration + $pre1909->succeed('test ! -e /var/lib/private/systemd/timesync'); + + # and the new path should no longer be a symlink + $pre1909->succeed('test -e /var/lib/systemd/timesync'); + $pre1909->succeed('test ! -L /var/lib/systemd/timesync'); + + # after a restart things should still work and not fail in the activation + # scripts and cause the boot to fail.. + $pre1909->shutdown; + $pre1909->start; + $pre1909->succeed('systemctl status systemd-timesyncd.service'); + ''; +}) diff --git a/nixos/tests/systemd.nix b/nixos/tests/systemd.nix index 4d470126abe..4b71b4d6759 100644 --- a/nixos/tests/systemd.nix +++ b/nixos/tests/systemd.nix @@ -1,4 +1,4 @@ -import ./make-test.nix { +import ./make-test.nix ({ pkgs, ... }: { name = "systemd"; machine = { lib, ... }: { @@ -21,6 +21,14 @@ import ./make-test.nix { services.journald.extraConfig = "Storage=volatile"; services.xserver.displayManager.auto.user = "alice"; + systemd.shutdown.test = pkgs.writeScript "test.shutdown" '' + #!${pkgs.stdenv.shell} + PATH=${lib.makeBinPath (with pkgs; [ utillinux coreutils ])} + mount -t 9p shared -o trans=virtio,version=9p2000.L /tmp/shared + touch /tmp/shared/shutdown-test + umount /tmp/shared + ''; + systemd.services.testservice1 = { description = "Test Service 1"; wantedBy = [ "multi-user.target" ]; @@ -63,11 +71,32 @@ import ./make-test.nix { # Regression test for https://github.com/NixOS/nixpkgs/issues/35268 subtest "file system with x-initrd.mount is not unmounted", sub { + $machine->succeed('mountpoint -q /test-x-initrd-mount'); + $machine->shutdown; + system('qemu-img', 'convert', '-O', 'raw', + 'vm-state-machine/empty2.qcow2', 'x-initrd-mount.raw'); + my $extinfo = `${pkgs.e2fsprogs}/bin/dumpe2fs x-initrd-mount.raw`; + die "File system was not cleanly unmounted: $extinfo" + unless $extinfo =~ /^Filesystem state: *clean$/m; + }; + + subtest "systemd-shutdown works", sub { $machine->shutdown; $machine->waitForUnit('multi-user.target'); - # If the file system was unmounted during the shutdown the file system - # has a last mount time, because the file system wasn't checked. - $machine->fail('dumpe2fs /dev/vdb | grep -q "^Last mount time: *n/a"'); + $machine->succeed('test -e /tmp/shared/shutdown-test'); }; + + # Test settings from /etc/sysctl.d/50-default.conf are applied + subtest "systemd sysctl settings are applied", sub { + $machine->waitForUnit('multi-user.target'); + $machine->succeed('sysctl net.core.default_qdisc | grep -q "fq_codel"'); + }; + + # Test cgroup accounting is enabled + subtest "systemd cgroup accounting is enabled", sub { + $machine->waitForUnit('multi-user.target'); + $machine->succeed('systemctl show testservice1.service -p IOAccounting | grep -q "yes"'); + $machine->succeed('systemctl status testservice1.service | grep -q "CPU:"'); + }; ''; -} +}) diff --git a/nixos/tests/tiddlywiki.nix b/nixos/tests/tiddlywiki.nix new file mode 100644 index 00000000000..4a2014a4ec9 --- /dev/null +++ b/nixos/tests/tiddlywiki.nix @@ -0,0 +1,67 @@ +import ./make-test.nix ({ ... }: { + name = "tiddlywiki"; + nodes = { + default = { + services.tiddlywiki.enable = true; + }; + configured = { + boot.postBootCommands = '' + echo "username,password + somelogin,somesecret" > /var/lib/wikiusers.csv + ''; + services.tiddlywiki = { + enable = true; + listenOptions = { + port = 3000; + credentials="../wikiusers.csv"; + readers="(authenticated)"; + }; + }; + }; + }; + + testScript = '' + startAll; + + subtest "by default works without configuration", sub { + $default->waitForUnit("tiddlywiki.service"); + }; + + subtest "by default available on port 8080 without auth", sub { + $default->waitForUnit("tiddlywiki.service"); + $default->waitForOpenPort(8080); + $default->succeed("curl --fail 127.0.0.1:8080"); + }; + + subtest "by default creates empty wiki", sub { + $default->succeed("test -f /var/lib/tiddlywiki/tiddlywiki.info"); + }; + + subtest "configured on port 3000 with basic auth", sub { + $configured->waitForUnit("tiddlywiki.service"); + $configured->waitForOpenPort(3000); + $configured->fail("curl --fail 127.0.0.1:3000"); + $configured->succeed("curl --fail 127.0.0.1:3000 --user somelogin:somesecret"); + }; + + subtest "configured with different wikifolder", sub { + $configured->succeed("test -f /var/lib/tiddlywiki/tiddlywiki.info"); + }; + + subtest "restart preserves changes", sub { + # given running wiki + $default->waitForUnit("tiddlywiki.service"); + # with some changes + $default->succeed("curl --fail --request PUT --header 'X-Requested-With:TiddlyWiki' --data '{ \"title\": \"title\", \"text\": \"content\" }' --url 127.0.0.1:8080/recipes/default/tiddlers/somepage "); + $default->succeed("sleep 2"); # server syncs to filesystem on timer + + # when wiki is cycled + $default->systemctl("restart tiddlywiki.service"); + $default->waitForUnit("tiddlywiki.service"); + $default->waitForOpenPort(8080); + + # the change is preserved + $default->succeed("curl --fail 127.0.0.1:8080/recipes/default/tiddlers/somepage"); + }; + ''; +}) diff --git a/nixos/tests/tinydns.nix b/nixos/tests/tinydns.nix new file mode 100644 index 00000000000..cb7ee0c5fb5 --- /dev/null +++ b/nixos/tests/tinydns.nix @@ -0,0 +1,26 @@ +import ./make-test.nix ({ lib, ...} : { + name = "tinydns"; + meta = { + maintainers = with lib.maintainers; [ basvandijk ]; + }; + nodes = { + nameserver = { config, lib, ... } : let + ip = (lib.head config.networking.interfaces.eth1.ipv4.addresses).address; + in { + networking.nameservers = [ ip ]; + services.tinydns = { + enable = true; + inherit ip; + data = '' + .foo.bar:${ip} + +.bla.foo.bar:1.2.3.4:300 + ''; + }; + }; + }; + testScript = '' + $nameserver->start; + $nameserver->waitForUnit("tinydns.service"); + $nameserver->succeed("host bla.foo.bar | grep '1\.2\.3\.4'"); + ''; +}) diff --git a/nixos/tests/tomcat.nix b/nixos/tests/tomcat.nix deleted file mode 100644 index af63c7ee8e0..00000000000 --- a/nixos/tests/tomcat.nix +++ /dev/null @@ -1,30 +0,0 @@ -import ./make-test.nix ({ pkgs, ...} : { - name = "tomcat"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; - }; - - nodes = { - server = - { ... }: - - { services.tomcat.enable = true; - services.httpd.enable = true; - services.httpd.adminAddr = "foo@bar.com"; - services.httpd.extraSubservices = - [ { serviceType = "tomcat-connector"; } ]; - networking.firewall.allowedTCPPorts = [ 80 ]; - }; - - client = { }; - }; - - testScript = '' - startAll; - - $server->waitForUnit("tomcat"); - $client->waitForUnit("network.target"); - $client->waitUntilSucceeds("curl --fail http://server/examples/servlets/servlet/HelloWorldExample"); - $client->waitUntilSucceeds("curl --fail http://server/examples/jsp/jsp2/simpletag/hello.jsp"); - ''; -}) diff --git a/nixos/tests/trac.nix b/nixos/tests/trac.nix deleted file mode 100644 index 4599885acde..00000000000 --- a/nixos/tests/trac.nix +++ /dev/null @@ -1,74 +0,0 @@ -import ./make-test.nix ({ pkgs, ... }: { - name = "trac"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; - }; - - nodes = { - storage = - { ... }: - { services.nfs.server.enable = true; - services.nfs.server.exports = '' - /repos 192.168.1.0/255.255.255.0(rw,no_root_squash) - ''; - services.nfs.server.createMountPoints = true; - }; - - postgresql = - { pkgs, ... }: - { services.postgresql.enable = true; - services.postgresql.package = pkgs.postgresql; - services.postgresql.enableTCPIP = true; - services.postgresql.authentication = '' - # Generated file; do not edit! - local all all trust - host all all 127.0.0.1/32 trust - host all all ::1/128 trust - host all all 192.168.1.0/24 trust - ''; - }; - - webserver = - { pkgs, ... }: - { fileSystems = pkgs.lib.mkVMOverride - [ { mountPoint = "/repos"; - device = "storage:/repos"; - fsType = "nfs"; - } - ]; - services.httpd.enable = true; - services.httpd.adminAddr = "root@localhost"; - services.httpd.extraSubservices = [ { serviceType = "trac"; } ]; - environment.systemPackages = [ pkgs.pythonPackages.trac pkgs.subversion ]; - }; - - client = - { ... }: - { imports = [ ./common/x11.nix ]; - services.xserver.desktopManager.plasma5.enable = true; - }; - }; - - testScript = - '' - startAll; - - $postgresql->waitForUnit("postgresql"); - $postgresql->succeed("createdb trac"); - - $webserver->succeed("mkdir -p /repos/trac"); - $webserver->succeed("svnadmin create /repos/trac"); - - $webserver->waitForUnit("httpd"); - $webserver->waitForFile("/var/trac"); - $webserver->succeed("mkdir -p /var/trac/projects/test"); - $webserver->succeed("PYTHONPATH=${pkgs.pythonPackages.psycopg2}/lib/${pkgs.python.libPrefix}/site-packages trac-admin /var/trac/projects/test initenv Test postgres://root\@postgresql/trac svn /repos/trac"); - - $client->waitForX; - $client->execute("konqueror http://webserver/projects/test &"); - $client->waitForWindow(qr/Test.*Konqueror/); - $client->sleep(30); # loading takes a long time - - $client->screenshot("screen"); - ''; -}) diff --git a/nixos/tests/trezord.nix b/nixos/tests/trezord.nix new file mode 100644 index 00000000000..1c85bf53934 --- /dev/null +++ b/nixos/tests/trezord.nix @@ -0,0 +1,20 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "trezord"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ mmahut ]; + }; + + nodes = { + machine = { ... }: { + services.trezord.enable = true; + services.trezord.emulator.enable = true; + }; + }; + + testScript = '' + startAll; + $machine->waitForUnit("trezord.service"); + $machine->waitForOpenPort(21325); + $machine->waitUntilSucceeds("curl -L http://localhost:21325/status/ | grep Version"); + ''; +}) diff --git a/nixos/tests/udisks2.nix b/nixos/tests/udisks2.nix index 8bbbe286efc..dcf869908d8 100644 --- a/nixos/tests/udisks2.nix +++ b/nixos/tests/udisks2.nix @@ -12,7 +12,7 @@ in { name = "udisks2"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; machine = diff --git a/nixos/tests/upnp.nix b/nixos/tests/upnp.nix index 3f2dd13fb56..98344aee3ef 100644 --- a/nixos/tests/upnp.nix +++ b/nixos/tests/upnp.nix @@ -47,7 +47,7 @@ in client1 = { pkgs, nodes, ... }: - { environment.systemPackages = [ pkgs.miniupnpc pkgs.netcat ]; + { environment.systemPackages = [ pkgs.miniupnpc_2 pkgs.netcat ]; virtualisation.vlans = [ 2 ]; networking.defaultGateway = internalRouterAddress; networking.interfaces.eth1.ipv4.addresses = [ @@ -63,7 +63,7 @@ in client2 = { pkgs, ... }: - { environment.systemPackages = [ pkgs.miniupnpc ]; + { environment.systemPackages = [ pkgs.miniupnpc_2 ]; virtualisation.vlans = [ 1 ]; networking.interfaces.eth1.ipv4.addresses = [ { address = externalClient2Address; prefixLength = 24; } diff --git a/nixos/tests/uwsgi.nix b/nixos/tests/uwsgi.nix new file mode 100644 index 00000000000..afc03e74ed7 --- /dev/null +++ b/nixos/tests/uwsgi.nix @@ -0,0 +1,38 @@ +import ./make-test.nix ({ pkgs, ... }: +{ + name = "uwsgi"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ lnl7 ]; + }; + machine = { pkgs, ... }: { + services.uwsgi.enable = true; + services.uwsgi.plugins = [ "python3" ]; + services.uwsgi.instance = { + type = "emperor"; + vassals.hello = { + type = "normal"; + master = true; + workers = 2; + http = ":8000"; + module = "wsgi:application"; + chdir = pkgs.writeTextDir "wsgi.py" '' + from flask import Flask + application = Flask(__name__) + + @application.route("/") + def hello(): + return "Hello World!" + ''; + pythonPackages = self: with self; [ flask ]; + }; + }; + }; + + testScript = + '' + $machine->waitForUnit('multi-user.target'); + $machine->waitForUnit('uwsgi.service'); + $machine->waitForOpenPort(8000); + $machine->succeed('curl -v 127.0.0.1:8000 | grep "Hello World!"'); + ''; +}) diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix index 84d5f3e1530..844ce47d743 100644 --- a/nixos/tests/virtualbox.nix +++ b/nixos/tests/virtualbox.nix @@ -2,9 +2,26 @@ config ? {}, pkgs ? import ../.. { inherit system config; }, debug ? false, - enableUnfree ? false + enableUnfree ? false, + # Nested KVM virtualization (https://www.linux-kvm.org/page/Nested_Guests) + # requires a modprobe flag on the build machine: (kvm-amd for AMD CPUs) + # boot.extraModprobeConfig = "options kvm-intel nested=Y"; + # Without this VirtualBox will use SW virtualization and will only be able + # to run 32-bit guests. + useKvmNestedVirt ? false, + # Whether to run 64-bit guests instead of 32-bit. Requires nested KVM. + use64bitGuest ? false, + # Whether to enable the virtual UART in VirtualBox guests, allowing to see + # the guest console. There is currently a bug in VirtualBox where this will + # cause a crash if running with SW virtualization + # (https://www.virtualbox.org/ticket/18632). If you need to debug the tests + # then enable this and nested KVM to work around the crash (see above). + enableVBoxUART ? false }: +assert use64bitGuest -> useKvmNestedVirt; +assert enableVBoxUART -> useKvmNestedVirt; # VirtualBox bug, see above + with import ../lib/testing.nix { inherit system pkgs; }; with pkgs.lib; @@ -94,7 +111,7 @@ let testVM = vmName: vmScript: let cfg = (import ../lib/eval-config.nix { - system = "i686-linux"; + system = if use64bitGuest then "x86_64-linux" else "i686-linux"; modules = [ ../modules/profiles/minimal.nix (testVMConfig vmName vmScript) @@ -141,13 +158,15 @@ let sharePath = "/home/alice/vboxshare-${name}"; createFlags = mkFlags [ - "--ostype Linux26" + "--ostype ${if use64bitGuest then "Linux26_64" else "Linux26"}" "--register" ]; - vmFlags = mkFlags ([ - "--uart1 0x3F8 4" - "--uartmode1 client /run/virtualbox-log-${name}.sock" + vmFlags = mkFlags ( + (optionals enableVBoxUART [ + "--uart1 0x3F8 4" + "--uartmode1 client /run/virtualbox-log-${name}.sock" + ]) ++ [ "--memory 768" "--audio none" ] ++ (attrs.vmFlags or [])); @@ -180,7 +199,7 @@ let ]; in { machine = { - systemd.sockets."vboxtestlog-${name}" = { + systemd.sockets."vboxtestlog-${name}" = mkIf enableVBoxUART { description = "VirtualBox Test Machine Log Socket For ${name}"; wantedBy = [ "sockets.target" ]; before = [ "multi-user.target" ]; @@ -188,7 +207,7 @@ let socketConfig.Accept = true; }; - systemd.services."vboxtestlog-${name}@" = { + systemd.services."vboxtestlog-${name}@" = mkIf enableVBoxUART { description = "VirtualBox Test Machine Log For ${name}"; serviceConfig.StandardInput = "socket"; serviceConfig.StandardOutput = "syslog"; @@ -346,6 +365,8 @@ let vmConfigs = mapAttrsToList mkVMConf vms; in [ ./common/user-account.nix ./common/x11.nix ] ++ vmConfigs; virtualisation.memorySize = 2048; + virtualisation.qemu.options = + if useKvmNestedVirt then ["-cpu" "kvm64,vmx=on"] else []; virtualisation.virtualbox.host.enable = true; services.xserver.displayManager.auto.user = "alice"; users.users.alice.extraGroups = let @@ -412,9 +433,14 @@ in mapAttrs (mkVBoxTest false vboxVMs) { ); $machine->sleep(5); $machine->screenshot("gui_manager_started"); + # Home to select Tools, down to move to the VM, enter to start it. + $machine->sendKeys("home"); + $machine->sendKeys("down"); $machine->sendKeys("ret"); $machine->screenshot("gui_manager_sent_startup"); waitForStartup_simple (sub { + $machine->sendKeys("home"); + $machine->sendKeys("down"); $machine->sendKeys("ret"); }); $machine->screenshot("gui_started"); diff --git a/nixos/tests/wireguard/default.nix b/nixos/tests/wireguard/default.nix new file mode 100644 index 00000000000..b0797b96323 --- /dev/null +++ b/nixos/tests/wireguard/default.nix @@ -0,0 +1,97 @@ +let + wg-snakeoil-keys = import ./snakeoil-keys.nix; +in + +import ../make-test.nix ({ pkgs, ...} : { + name = "wireguard"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ ma27 ]; + }; + + nodes = { + peer0 = { lib, ... }: { + boot.kernel.sysctl = { + "net.ipv6.conf.all.forwarding" = "1"; + "net.ipv6.conf.default.forwarding" = "1"; + "net.ipv4.ip_forward" = "1"; + }; + + networking.useDHCP = false; + networking.interfaces.eth1 = { + ipv4.addresses = lib.singleton { + address = "192.168.0.1"; + prefixLength = 24; + }; + ipv6.addresses = lib.singleton { + address = "fd00::1"; + prefixLength = 64; + }; + }; + + networking.firewall.allowedUDPPorts = [ 23542 ]; + networking.wireguard.interfaces.wg0 = { + ips = [ "10.23.42.1/32" "fc00::1/128" ]; + listenPort = 23542; + + inherit (wg-snakeoil-keys.peer0) privateKey; + + peers = lib.singleton { + allowedIPs = [ "10.23.42.2/32" "fc00::2/128" ]; + + inherit (wg-snakeoil-keys.peer1) publicKey; + }; + }; + }; + + peer1 = { pkgs, lib, ... }: { + boot.kernel.sysctl = { + "net.ipv6.conf.all.forwarding" = "1"; + "net.ipv6.conf.default.forwarding" = "1"; + "net.ipv4.ip_forward" = "1"; + }; + + networking.useDHCP = false; + networking.interfaces.eth1 = { + ipv4.addresses = lib.singleton { + address = "192.168.0.2"; + prefixLength = 24; + }; + ipv6.addresses = lib.singleton { + address = "fd00::2"; + prefixLength = 64; + }; + }; + + networking.wireguard.interfaces.wg0 = { + ips = [ "10.23.42.2/32" "fc00::2/128" ]; + listenPort = 23542; + allowedIPsAsRoutes = false; + + inherit (wg-snakeoil-keys.peer1) privateKey; + + peers = lib.singleton { + allowedIPs = [ "0.0.0.0/0" "::/0" ]; + endpoint = "192.168.0.1:23542"; + persistentKeepalive = 25; + + inherit (wg-snakeoil-keys.peer0) publicKey; + }; + + postSetup = let inherit (pkgs) iproute; in '' + ${iproute}/bin/ip route replace 10.23.42.1/32 dev wg0 + ${iproute}/bin/ip route replace fc00::1/128 dev wg0 + ''; + }; + }; + }; + + testScript = '' + startAll; + + $peer0->waitForUnit("wireguard-wg0.service"); + $peer1->waitForUnit("wireguard-wg0.service"); + + $peer1->succeed("ping -c5 fc00::1"); + $peer1->succeed("ping -c5 10.23.42.1") + ''; +}) diff --git a/nixos/tests/wireguard/generated.nix b/nixos/tests/wireguard/generated.nix new file mode 100644 index 00000000000..897feafe3ff --- /dev/null +++ b/nixos/tests/wireguard/generated.nix @@ -0,0 +1,57 @@ +import ../make-test.nix ({ pkgs, ...} : { + name = "wireguard-generated"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ ma27 grahamc ]; + }; + + nodes = { + peer1 = { + networking.firewall.allowedUDPPorts = [ 12345 ]; + networking.wireguard.interfaces.wg0 = { + ips = [ "10.10.10.1/24" ]; + listenPort = 12345; + privateKeyFile = "/etc/wireguard/private"; + generatePrivateKeyFile = true; + + }; + }; + + peer2 = { + networking.firewall.allowedUDPPorts = [ 12345 ]; + networking.wireguard.interfaces.wg0 = { + ips = [ "10.10.10.2/24" ]; + listenPort = 12345; + privateKeyFile = "/etc/wireguard/private"; + generatePrivateKeyFile = true; + }; + }; + }; + + testScript = '' + startAll; + + $peer1->waitForUnit("wireguard-wg0.service"); + $peer2->waitForUnit("wireguard-wg0.service"); + + my ($retcode, $peer1pubkey) = $peer1->execute("wg pubkey < /etc/wireguard/private"); + $peer1pubkey =~ s/\s+$//; + if ($retcode != 0) { + die "Could not read public key from peer1"; + } + + my ($retcode, $peer2pubkey) = $peer2->execute("wg pubkey < /etc/wireguard/private"); + $peer2pubkey =~ s/\s+$//; + if ($retcode != 0) { + die "Could not read public key from peer2"; + } + + $peer1->succeed("wg set wg0 peer $peer2pubkey allowed-ips 10.10.10.2/32 endpoint 192.168.1.2:12345 persistent-keepalive 1"); + $peer1->succeed("ip route replace 10.10.10.2/32 dev wg0 table main"); + + $peer2->succeed("wg set wg0 peer $peer1pubkey allowed-ips 10.10.10.1/32 endpoint 192.168.1.1:12345 persistent-keepalive 1"); + $peer2->succeed("ip route replace 10.10.10.1/32 dev wg0 table main"); + + $peer1->succeed("ping -c1 10.10.10.2"); + $peer2->succeed("ping -c1 10.10.10.1"); + ''; +}) diff --git a/nixos/tests/wireguard/snakeoil-keys.nix b/nixos/tests/wireguard/snakeoil-keys.nix new file mode 100644 index 00000000000..55ad582d405 --- /dev/null +++ b/nixos/tests/wireguard/snakeoil-keys.nix @@ -0,0 +1,11 @@ +{ + peer0 = { + privateKey = "OPuVRS2T0/AtHDp3PXkNuLQYDiqJaBEEnYe42BSnJnQ="; + publicKey = "IujkG119YPr2cVQzJkSLYCdjpHIDjvr/qH1w1tdKswY="; + }; + + peer1 = { + privateKey = "uO8JVo/sanx2DOM0L9GUEtzKZ82RGkRnYgpaYc7iXmg="; + publicKey = "Ks9yRJIi/0vYgRmn14mIOQRwkcUGBujYINbMpik2SBI="; + }; +} diff --git a/nixos/tests/wordpress.nix b/nixos/tests/wordpress.nix index 5003e25a7d5..774ef6293b5 100644 --- a/nixos/tests/wordpress.nix +++ b/nixos/tests/wordpress.nix @@ -6,48 +6,37 @@ import ./make-test.nix ({ pkgs, ... }: maintainers = [ grahamc ]; # under duress! }; - nodes = - { web = - { pkgs, ... }: - { - services.mysql = { - enable = true; - package = pkgs.mysql; - }; - services.httpd = { - enable = true; - logPerVirtualHost = true; - adminAddr="js@lastlog.de"; + machine = + { ... }: + { services.httpd.adminAddr = "webmaster@site.local"; + services.httpd.logPerVirtualHost = true; - virtualHosts = [ - { - hostName = "wordpress"; - extraSubservices = - [ - { - serviceType = "wordpress"; - dbPassword = "wordpress"; - dbHost = "127.0.0.1"; - languages = [ "de_DE" "en_GB" ]; - } - ]; - } - ]; - }; - }; + services.wordpress."site1.local" = { + database.tablePrefix = "site1_"; + }; + + services.wordpress."site2.local" = { + database.tablePrefix = "site2_"; + }; + + networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ]; + + # required for wordpress-init.service to succeed + systemd.tmpfiles.rules = [ + "F /var/lib/wordpress/site1.local/secret-keys.php 0440 wordpress wwwrun - -" + "F /var/lib/wordpress/site2.local/secret-keys.php 0440 wordpress wwwrun - -" + ]; }; - testScript = - { ... }: - '' - startAll; + testScript = '' + startAll; - $web->waitForUnit("mysql"); - $web->waitForUnit("httpd"); + $machine->waitForUnit("httpd"); + $machine->waitForUnit("phpfpm-wordpress-site1.local"); + $machine->waitForUnit("phpfpm-wordpress-site2.local"); - $web->succeed("curl -L 127.0.0.1:80 | grep 'Welcome to the famous'"); - - - ''; + $machine->succeed("curl -L site1.local | grep 'Welcome to the famous'"); + $machine->succeed("curl -L site2.local | grep 'Welcome to the famous'"); + ''; }) diff --git a/nixos/tests/xfce.nix b/nixos/tests/xfce.nix index 47717e8cf7d..12d8a050d47 100644 --- a/nixos/tests/xfce.nix +++ b/nixos/tests/xfce.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "xfce"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow shlevy ]; + maintainers = [ eelco shlevy ]; }; machine = diff --git a/nixos/tests/xfce4-14.nix b/nixos/tests/xfce4-14.nix new file mode 100644 index 00000000000..d9b10aabaa1 --- /dev/null +++ b/nixos/tests/xfce4-14.nix @@ -0,0 +1,33 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "xfce4-14"; + + machine = + { pkgs, ... }: + + { imports = [ ./common/user-account.nix ]; + + services.xserver.enable = true; + + services.xserver.displayManager.auto.enable = true; + services.xserver.displayManager.auto.user = "alice"; + + services.xserver.desktopManager.xfce4-14.enable = true; + }; + + testScript = + '' + $machine->waitForX; + $machine->waitForFile("/home/alice/.Xauthority"); + $machine->succeed("xauth merge ~alice/.Xauthority"); + $machine->waitForWindow(qr/xfce4-panel/); + $machine->sleep(10); + + # Check that logging in has given the user ownership of devices. + $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); + + $machine->succeed("su - alice -c 'DISPLAY=:0.0 xfce4-terminal &'"); + $machine->waitForWindow(qr/Terminal/); + $machine->sleep(10); + $machine->screenshot("screen"); + ''; +}) diff --git a/nixos/tests/xmonad.nix b/nixos/tests/xmonad.nix index 6d6db6b0ea9..4d3bc28cd34 100644 --- a/nixos/tests/xmonad.nix +++ b/nixos/tests/xmonad.nix @@ -12,6 +12,12 @@ import ./make-test.nix ({ pkgs, ...} : { enable = true; enableContribAndExtras = true; extraPackages = with pkgs.haskellPackages; haskellPackages: [ xmobar ]; + config = '' + import XMonad + import XMonad.Util.EZConfig + main = launch $ def `additionalKeysP` myKeys + myKeys = [ ("M-C-x", spawn "xterm") ] + ''; }; }; @@ -19,6 +25,10 @@ import ./make-test.nix ({ pkgs, ...} : { $machine->waitForX; $machine->waitForFile("/home/alice/.Xauthority"); $machine->succeed("xauth merge ~alice/.Xauthority"); + $machine->sendKeys("alt-ctrl-x"); + $machine->waitForWindow(qr/machine.*alice/); + $machine->sleep(1); + $machine->screenshot("terminal"); $machine->waitUntilSucceeds("xmonad --restart"); $machine->sleep(3); $machine->sendKeys("alt-shift-ret"); diff --git a/nixos/tests/xmpp/ejabberd.nix b/nixos/tests/xmpp/ejabberd.nix new file mode 100644 index 00000000000..196a04aca30 --- /dev/null +++ b/nixos/tests/xmpp/ejabberd.nix @@ -0,0 +1,260 @@ +import ../make-test.nix ({ pkgs, ... }: { + name = "ejabberd"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ ajs124 ]; + }; + nodes = { + client = { nodes, pkgs, ... }: { + environment.systemPackages = [ + (pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; }) + ]; + }; + server = { config, pkgs, ... }: { + networking.extraHosts = '' + ${config.networking.primaryIPAddress} example.com + ''; + + services.ejabberd = { + enable = true; + configFile = "/etc/ejabberd.yml"; + }; + + environment.etc."ejabberd.yml" = { + user = "ejabberd"; + mode = "0600"; + text = '' + loglevel: 3 + + hosts: + - "example.com" + + listen: + - + port: 5222 + module: ejabberd_c2s + zlib: false + max_stanza_size: 65536 + shaper: c2s_shaper + access: c2s + - + port: 5269 + ip: "::" + module: ejabberd_s2s_in + - + port: 5347 + ip: "127.0.0.1" + module: ejabberd_service + access: local + shaper: fast + + ## Disabling digest-md5 SASL authentication. digest-md5 requires plain-text + ## password storage (see auth_password_format option). + disable_sasl_mechanisms: "digest-md5" + + ## Outgoing S2S options + ## Preferred address families (which to try first) and connect timeout + ## in seconds. + outgoing_s2s_families: + - ipv4 + - ipv6 + + ## auth_method: Method used to authenticate the users. + ## The default method is the internal. + ## If you want to use a different method, + ## comment this line and enable the correct ones. + auth_method: internal + + ## Store the plain passwords or hashed for SCRAM: + ## auth_password_format: plain + auth_password_format: scram + + ###' TRAFFIC SHAPERS + shaper: + # in B/s + normal: 1000000 + fast: 50000000 + + ## This option specifies the maximum number of elements in the queue + ## of the FSM. Refer to the documentation for details. + max_fsm_queue: 1000 + + ###' ACCESS CONTROL LISTS + acl: + ## The 'admin' ACL grants administrative privileges to XMPP accounts. + ## You can put here as many accounts as you want. + admin: + user: + - "root": "example.com" + + ## Local users: don't modify this. + local: + user_regexp: "" + + ## Loopback network + loopback: + ip: + - "127.0.0.0/8" + - "::1/128" + - "::FFFF:127.0.0.1/128" + + ###' SHAPER RULES + shaper_rules: + ## Maximum number of simultaneous sessions allowed for a single user: + max_user_sessions: 10 + ## Maximum number of offline messages that users can have: + max_user_offline_messages: + - 5000: admin + - 1024 + ## For C2S connections, all users except admins use the "normal" shaper + c2s_shaper: + - none: admin + - normal + ## All S2S connections use the "fast" shaper + s2s_shaper: fast + + ###' ACCESS RULES + access_rules: + ## This rule allows access only for local users: + local: + - allow: local + ## Only non-blocked users can use c2s connections: + c2s: + - deny: blocked + - allow + ## Only admins can send announcement messages: + announce: + - allow: admin + ## Only admins can use the configuration interface: + configure: + - allow: admin + ## Only accounts of the local ejabberd server can create rooms: + muc_create: + - allow: local + ## Only accounts on the local ejabberd server can create Pubsub nodes: + pubsub_createnode: + - allow: local + ## In-band registration allows registration of any possible username. + ## To disable in-band registration, replace 'allow' with 'deny'. + register: + - allow + ## Only allow to register from localhost + trusted_network: + - allow: loopback + + ## =============== + ## API PERMISSIONS + ## =============== + ## + ## This section allows you to define who and using what method + ## can execute commands offered by ejabberd. + ## + ## By default "console commands" section allow executing all commands + ## issued using ejabberdctl command, and "admin access" section allows + ## users in admin acl that connect from 127.0.0.1 to execute all + ## commands except start and stop with any available access method + ## (ejabberdctl, http-api, xmlrpc depending what is enabled on server). + ## + ## If you remove "console commands" there will be one added by + ## default allowing executing all commands, but if you just change + ## permissions in it, version from config file will be used instead + ## of default one. + ## + api_permissions: + "console commands": + from: + - ejabberd_ctl + who: all + what: "*" + + language: "en" + + ###' MODULES + ## Modules enabled in all ejabberd virtual hosts. + modules: + mod_adhoc: {} + mod_announce: # recommends mod_adhoc + access: announce + mod_blocking: {} # requires mod_privacy + mod_caps: {} + mod_carboncopy: {} + mod_client_state: {} + mod_configure: {} # requires mod_adhoc + ## mod_delegation: {} # for xep0356 + #mod_irc: + # host: "irc.@HOST@" + # default_encoding: "utf-8" + ## mod_bosh: {} + ## mod_http_fileserver: + ## docroot: "/var/www" + ## accesslog: "/var/log/ejabberd/access.log" + #mod_http_upload: + # thumbnail: false # otherwise needs the identify command from ImageMagick installed + # put_url: "https://@HOST@:5444" + ## # docroot: "@HOME@/upload" + #mod_http_upload_quota: + # max_days: 14 + mod_last: {} + ## XEP-0313: Message Archive Management + ## You might want to setup a SQL backend for MAM because the mnesia database is + ## limited to 2GB which might be exceeded on large servers + mod_mam: {} + mod_muc: + host: "muc.@HOST@" + access: + - allow + access_admin: + - allow: admin + access_create: muc_create + access_persistent: muc_create + mod_muc_admin: {} + mod_muc_log: {} + mod_offline: + access_max_user_messages: max_user_offline_messages + mod_ping: {} + ## mod_pres_counter: + ## count: 5 + ## interval: 60 + mod_privacy: {} + mod_private: {} + mod_roster: + versioning: true + mod_shared_roster: {} + mod_stats: {} + mod_time: {} + mod_vcard: + search: false + mod_vcard_xupdate: {} + ## Convert all avatars posted by Android clients from WebP to JPEG + mod_avatar: {} + # convert: + # webp: jpeg + mod_version: {} + mod_stream_mgmt: {} + ## The module for S2S dialback (XEP-0220). Please note that you cannot + ## rely solely on dialback if you want to federate with other servers, + ## because a lot of servers have dialback disabled and instead rely on + ## PKIX authentication. Make sure you have proper certificates installed + ## and check your accessibility at https://check.messaging.one/ + mod_s2s_dialback: {} + mod_pubsub: + plugins: + - "pep" + mod_push: {} + ''; + }; + + networking.firewall.enable = false; + }; + }; + + testScript = { nodes, ... }: '' + $server->waitForUnit('ejabberd.service'); + $server->succeed('su ejabberd -s $(which ejabberdctl) status|grep started') =~ /ejabberd is running/; + $server->succeed('su ejabberd -s $(which ejabberdctl) register azurediamond example.com hunter2'); + $server->succeed('su ejabberd -s $(which ejabberdctl) register cthon98 example.com nothunter2'); + $server->fail('su ejabberd -s $(which ejabberdctl) register asdf wrong.domain'); + $client->succeed('send-message'); + $server->succeed('su ejabberd -s $(which ejabberdctl) unregister cthon98 example.com'); + $server->succeed('su ejabberd -s $(which ejabberdctl) unregister azurediamond example.com'); + ''; +}) diff --git a/nixos/tests/xmpp/prosody-mysql.nix b/nixos/tests/xmpp/prosody-mysql.nix new file mode 100644 index 00000000000..62b4a17421e --- /dev/null +++ b/nixos/tests/xmpp/prosody-mysql.nix @@ -0,0 +1,77 @@ +import ../make-test.nix { + name = "prosody-mysql"; + + nodes = { + client = { nodes, pkgs, ... }: { + environment.systemPackages = [ + (pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; }) + ]; + }; + server = { config, pkgs, ... }: { + nixpkgs.overlays = [ + (self: super: { + prosody = super.prosody.override { + withDBI = true; + withExtraLibs = [ pkgs.luaPackages.luadbi-mysql ]; + }; + }) + ]; + networking.extraHosts = '' + ${config.networking.primaryIPAddress} example.com + ''; + networking.firewall.enable = false; + services.prosody = { + enable = true; + # TODO: use a self-signed certificate + c2sRequireEncryption = false; + extraConfig = '' + storage = "sql" + sql = { + driver = "MySQL"; + database = "prosody"; + host = "mysql"; + port = 3306; + username = "prosody"; + password = "password123"; + }; + ''; + virtualHosts.test = { + domain = "example.com"; + enabled = true; + }; + }; + }; + mysql = { config, pkgs, ... }: { + networking.firewall.enable = false; + services.mysql = { + enable = true; + initialScript = pkgs.writeText "mysql_init.sql" '' + CREATE DATABASE prosody; + CREATE USER 'prosody'@'server' IDENTIFIED BY 'password123'; + GRANT ALL PRIVILEGES ON prosody.* TO 'prosody'@'server'; + FLUSH PRIVILEGES; + ''; + package = pkgs.mariadb; + }; + }; + }; + + testScript = { nodes, ... }: '' + $mysql->waitForUnit('mysql.service'); + $server->waitForUnit('prosody.service'); + $server->succeed('prosodyctl status') =~ /Prosody is running/; + + # set password to 'nothunter2' (it's asked twice) + $server->succeed('yes nothunter2 | prosodyctl adduser cthon98@example.com'); + # set password to 'y' + $server->succeed('yes | prosodyctl adduser azurediamond@example.com'); + # correct password to 'hunter2' + $server->succeed('yes hunter2 | prosodyctl passwd azurediamond@example.com'); + + $client->succeed("send-message"); + + $server->succeed('prosodyctl deluser cthon98@example.com'); + $server->succeed('prosodyctl deluser azurediamond@example.com'); + ''; +} + diff --git a/nixos/tests/xmpp/prosody.nix b/nixos/tests/xmpp/prosody.nix new file mode 100644 index 00000000000..8331c7b6d33 --- /dev/null +++ b/nixos/tests/xmpp/prosody.nix @@ -0,0 +1,46 @@ +import ../make-test.nix { + name = "prosody"; + + nodes = { + client = { nodes, pkgs, ... }: { + environment.systemPackages = [ + (pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; }) + ]; + }; + server = { config, pkgs, ... }: { + networking.extraHosts = '' + ${config.networking.primaryIPAddress} example.com + ''; + networking.firewall.enable = false; + services.prosody = { + enable = true; + # TODO: use a self-signed certificate + c2sRequireEncryption = false; + extraConfig = '' + storage = "sql" + ''; + virtualHosts.test = { + domain = "example.com"; + enabled = true; + }; + }; + }; + }; + + testScript = { nodes, ... }: '' + $server->waitForUnit('prosody.service'); + $server->succeed('prosodyctl status') =~ /Prosody is running/; + + # set password to 'nothunter2' (it's asked twice) + $server->succeed('yes nothunter2 | prosodyctl adduser cthon98@example.com'); + # set password to 'y' + $server->succeed('yes | prosodyctl adduser azurediamond@example.com'); + # correct password to 'hunter2' + $server->succeed('yes hunter2 | prosodyctl passwd azurediamond@example.com'); + + $client->succeed("send-message"); + + $server->succeed('prosodyctl deluser cthon98@example.com'); + $server->succeed('prosodyctl deluser azurediamond@example.com'); + ''; +} diff --git a/nixos/tests/xmpp/xmpp-sendmessage.nix b/nixos/tests/xmpp/xmpp-sendmessage.nix new file mode 100644 index 00000000000..2a075a01813 --- /dev/null +++ b/nixos/tests/xmpp/xmpp-sendmessage.nix @@ -0,0 +1,46 @@ +{ writeScriptBin, python3, connectTo ? "localhost" }: +writeScriptBin "send-message" '' + #!${(python3.withPackages (ps: [ ps.sleekxmpp ])).interpreter} + # Based on the sleekxmpp send_client example, look there for more details: + # https://github.com/fritzy/SleekXMPP/blob/develop/examples/send_client.py + import sleekxmpp + + class SendMsgBot(sleekxmpp.ClientXMPP): + """ + A basic SleekXMPP bot that will log in, send a message, + and then log out. + """ + def __init__(self, jid, password, recipient, message): + sleekxmpp.ClientXMPP.__init__(self, jid, password) + + self.recipient = recipient + self.msg = message + + self.add_event_handler("session_start", self.start, threaded=True) + + def start(self, event): + self.send_presence() + self.get_roster() + + self.send_message(mto=self.recipient, + mbody=self.msg, + mtype='chat') + + self.disconnect(wait=True) + + + if __name__ == '__main__': + xmpp = SendMsgBot("cthon98@example.com", "nothunter2", "azurediamond@example.com", "hey, if you type in your pw, it will show as stars") + xmpp.register_plugin('xep_0030') # Service Discovery + xmpp.register_plugin('xep_0199') # XMPP Ping + + # TODO: verify certificate + # If you want to verify the SSL certificates offered by a server: + # xmpp.ca_certs = "path/to/ca/cert" + + if xmpp.connect(('${connectTo}', 5222)): + xmpp.process(block=True) + else: + print("Unable to connect.") + sys.exit(1) +'' diff --git a/nixos/tests/xss-lock.nix b/nixos/tests/xss-lock.nix index b46bb1a8f6e..0d757e8cef3 100644 --- a/nixos/tests/xss-lock.nix +++ b/nixos/tests/xss-lock.nix @@ -6,19 +6,35 @@ with lib; name = "xss-lock"; meta.maintainers = with pkgs.stdenv.lib.maintainers; [ ma27 ]; - machine = { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - programs.xss-lock.enable = true; - services.xserver.displayManager.auto.user = "alice"; + nodes = { + simple = { + imports = [ ./common/x11.nix ./common/user-account.nix ]; + programs.xss-lock.enable = true; + services.xserver.displayManager.auto.user = "alice"; + }; + + custom_lockcmd = { pkgs, ... }: { + imports = [ ./common/x11.nix ./common/user-account.nix ]; + services.xserver.displayManager.auto.user = "alice"; + + programs.xss-lock = { + enable = true; + extraOptions = [ "-n" "${pkgs.libnotify}/bin/notify-send 'About to sleep!'"]; + lockerCommand = "${pkgs.xlockmore}/bin/xlock -mode ant"; + }; + }; }; testScript = '' - $machine->start; - $machine->waitForX; - $machine->waitForUnit("xss-lock.service", "alice"); + startAll; - $machine->fail("pgrep xlock"); - $machine->succeed("su -l alice -c 'xset dpms force standby'"); - $machine->waitUntilSucceeds("pgrep i3lock"); + ${concatStringsSep "\n" (mapAttrsToList (name: lockCmd: '' + ${"$"+name}->start; + ${"$"+name}->waitForX; + ${"$"+name}->waitForUnit("xss-lock.service", "alice"); + ${"$"+name}->fail("pgrep ${lockCmd}"); + ${"$"+name}->succeed("su -l alice -c 'xset dpms force standby'"); + ${"$"+name}->waitUntilSucceeds("pgrep ${lockCmd}"); + '') { simple = "i3lock"; custom_lockcmd = "xlock"; })} ''; }) diff --git a/pkgs/applications/accessibility/mousetweaks/default.nix b/pkgs/applications/accessibility/mousetweaks/default.nix new file mode 100644 index 00000000000..e4fd66679a7 --- /dev/null +++ b/pkgs/applications/accessibility/mousetweaks/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchurl, pkgconfig +, glib, gtk3, gnome3, gsettings-desktop-schemas, wrapGAppsHook +, libX11, libXtst, libXfixes, libXcursor +}: + +stdenv.mkDerivation rec { + pname = "mousetweaks"; + version = "3.32.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "005fhmvb45sa9mq17dpa23n1xnspiissx5rnpiy7hiqmy3g5rg8f"; + }; + + nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; + + buildInputs = [ + glib gtk3 gsettings-desktop-schemas + libX11 libXtst libXfixes libXcursor + ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; + + meta = with stdenv.lib; { + description = "Provides mouse accessibility enhancements for the GNOME desktop"; + longDescription = '' + Mousetweaks provides mouse accessibility enhancements for the GNOME + desktop. These enhancements are: + + - It offers a way to perform the various clicks without using any + physical mouse buttons. (Hover Click) + + - It allows users to perform a secondary click by keeping the primary + mouse button pressed for a predetermined amount of time. (Simulated + Secondary Click) + + The features can be activated and configured through the Universal Access + panel of the GNOME Control Center. + ''; + homepage = https://wiki.gnome.org/Projects/Mousetweaks; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.johnazoidberg ]; + }; +} diff --git a/pkgs/applications/altcoins/aeon/default.nix b/pkgs/applications/altcoins/aeon/default.nix deleted file mode 100644 index 42717d3a266..00000000000 --- a/pkgs/applications/altcoins/aeon/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, git, doxygen, graphviz -, boost, miniupnpc, openssl, unbound, cppzmq -, zeromq, pcsclite, readline, libsodium -}: - -let - version = "0.12.8.0"; -in -stdenv.mkDerivation { - name = "aeon-${version}"; - - src = fetchFromGitHub { - owner = "aeonix"; - repo = "aeon"; - rev = "v${version}-aeon"; - fetchSubmodules = true; - sha256 = "1qmlz820mjs0b60d7i90lxcwwxmsdy6swq67v6n8mbb79zmcx8ii"; - }; - - nativeBuildInputs = [ cmake pkgconfig git doxygen graphviz ]; - - buildInputs = [ - boost miniupnpc openssl unbound - cppzmq zeromq pcsclite readline libsodium - ]; - - cmakeFlags = [ - "-DCMAKE_BUILD_TYPE=Release" - "-DBUILD_GUI_DEPS=ON" - "-DReadline_ROOT_DIR=${readline.dev}" - ]; - - hardeningDisable = [ "fortify" ]; - - meta = with stdenv.lib; { - description = "Private, secure, untraceable currency"; - homepage = http://www.aeon.cash/; - license = licenses.bsd3; - maintainers = [ maintainers.aij ]; - platforms = [ "x86_64-linux" ]; - }; -} diff --git a/pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch b/pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch deleted file mode 100644 index 1b74a48a84a..00000000000 --- a/pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/src/txmempool.h -+++ b/src/txmempool.h -@@ -204,7 +204,7 @@ - class CompareTxMemPoolEntryByDescendantScore - { - public: -- bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) -+ bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const - { - bool fUseADescendants = UseDescendantScore(a); - bool fUseBDescendants = UseDescendantScore(b); -@@ -226,7 +226,7 @@ - } - - // Calculate which score to use for an entry (avoiding division). -- bool UseDescendantScore(const CTxMemPoolEntry &a) -+ bool UseDescendantScore(const CTxMemPoolEntry &a) const - { - double f1 = (double)a.GetModifiedFee() * a.GetSizeWithDescendants(); - double f2 = (double)a.GetModFeesWithDescendants() * a.GetTxSize(); -@@ -241,7 +241,7 @@ - class CompareTxMemPoolEntryByScore - { - public: -- bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) -+ bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const - { - double f1 = (double)a.GetModifiedFee() * b.GetTxSize(); - double f2 = (double)b.GetModifiedFee() * a.GetTxSize(); -@@ -255,7 +255,7 @@ - class CompareTxMemPoolEntryByEntryTime - { - public: -- bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) -+ bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const - { - return a.GetTime() < b.GetTime(); - } diff --git a/pkgs/applications/altcoins/bitcoin-xt.nix b/pkgs/applications/altcoins/bitcoin-xt.nix deleted file mode 100644 index 499bc4be4c8..00000000000 --- a/pkgs/applications/altcoins/bitcoin-xt.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost -, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, curl, libevent -, withGui -, Foundation, ApplicationServices, AppKit }: - -with stdenv.lib; -stdenv.mkDerivation rec{ - - name = "bitcoin" + (toString (optional (!withGui) "d")) + "-xt-" + version; - version = "0.11H"; - - src = fetchFromGitHub { - owner = "bitcoinxt"; - repo = "bitcoinxt"; - rev = "v${version}"; - sha256 = "1v43bynmidn2zdpky939km721x3ks91bzyh4200gji61qzsmyg62"; - }; - - nativeBuildInputs = [ pkgconfig autoreconfHook ]; - buildInputs = [ openssl db48 boost zlib libevent - miniupnpc utillinux protobuf curl ] - ++ optionals withGui [ qt4 qrencode ] - ++ optionals stdenv.isDarwin [ Foundation ApplicationServices AppKit ]; - - configureFlags = [ - "--with-boost-libdir=${boost.out}/lib" - "--with-libcurl-headers=${curl.dev}/include" - ] ++ optionals withGui [ "--with-gui=qt4" ]; - - enableParallelBuilding = true; - - meta = { - description = "Peer-to-peer electronic cash system (XT client)"; - longDescription= '' - Bitcoin is a free open source peer-to-peer electronic cash system that is - completely decentralized, without the need for a central server or trusted - parties. Users hold the crypto keys to their own money and transact directly - with each other, with the help of a P2P network to check for double-spending. - - Bitcoin XT is an implementation of a Bitcoin full node, based upon the - source code of Bitcoin Core. It is built by taking the latest stable - Core release, applying a series of patches, and then doing deterministic - builds so anyone can check the downloads correspond to the source code. - ''; - homepage = https://bitcoinxt.software/; - maintainers = with maintainers; [ jefdaj ]; - license = licenses.mit; - broken = stdenv.isDarwin; - platforms = platforms.unix; - }; -} diff --git a/pkgs/applications/altcoins/bitcoin.nix b/pkgs/applications/altcoins/bitcoin.nix deleted file mode 100644 index b50508342bf..00000000000 --- a/pkgs/applications/altcoins/bitcoin.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost, zeromq -, zlib, miniupnpc, qtbase ? null, qttools ? null, utillinux, protobuf, python3, qrencode, libevent -, withGui }: - -with stdenv.lib; -stdenv.mkDerivation rec{ - name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version; - version = "0.17.1"; - - src = fetchurl { - urls = [ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz" - "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz" - ]; - sha256 = "0am4pnaf2cisv172jqx6jdpzx770agm8777163lkjbw3ryslymiy"; - }; - - nativeBuildInputs = [ pkgconfig autoreconfHook ] - ++ optionals doCheck [ python3 ]; - buildInputs = [ openssl db48 boost zlib zeromq - miniupnpc protobuf libevent] - ++ optionals stdenv.isLinux [ utillinux ] - ++ optionals withGui [ qtbase qttools qrencode ]; - - configureFlags = [ "--with-boost-libdir=${boost.out}/lib" - "--disable-bench" - ] ++ optionals (!doCheck) [ - "--disable-tests" - "--disable-gui-tests" - ] - ++ optionals withGui [ "--with-gui=qt5" - "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" - ]; - - doCheck = true; - - # QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI. - # See also https://github.com/NixOS/nixpkgs/issues/24256 - checkFlags = optionals withGui [ "QT_PLUGIN_PATH=${qtbase}/lib/qt-5.${versions.minor qtbase.version}/plugins" ]; - - enableParallelBuilding = true; - - meta = { - description = "Peer-to-peer electronic cash system"; - longDescription= '' - Bitcoin is a free open source peer-to-peer electronic cash system that is - completely decentralized, without the need for a central server or trusted - parties. Users hold the crypto keys to their own money and transact directly - with each other, with the help of a P2P network to check for double-spending. - ''; - homepage = http://www.bitcoin.org/; - maintainers = with maintainers; [ roconnor AndersonTorres ]; - license = licenses.mit; - # bitcoin needs hexdump to build, which doesn't seem to build on darwin at the moment. - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/altcoins/clightning.nix b/pkgs/applications/altcoins/clightning.nix deleted file mode 100644 index 38b49fcb1c3..00000000000 --- a/pkgs/applications/altcoins/clightning.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ stdenv, python3, pkgconfig, which, libtool, autoconf, automake, - autogen, sqlite, gmp, zlib, fetchzip }: - -with stdenv.lib; -stdenv.mkDerivation rec { - name = "clightning-${version}"; - version = "0.6.3"; - - src = fetchzip { - # - # NOTE 0.6.3 release zip was bugged, this zip is a fix provided by the team - # https://github.com/ElementsProject/lightning/issues/2254#issuecomment-453791475 - # - # replace url with: - # https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip - # for future relases - # - url = "https://github.com/ElementsProject/lightning/files/2752675/clightning-v0.6.3.zip"; - sha256 = "0k5pwimwn69pcakiq4a7qnjyf4i8w1jlacwrjazm1sfivr6nfiv6"; - }; - - enableParallelBuilding = true; - - nativeBuildInputs = [ autoconf autogen automake libtool pkgconfig which ]; - buildInputs = [ sqlite gmp zlib python3 ]; - - makeFlags = [ "prefix=$(out) VERSION=v${version}" ]; - - configurePhase = '' - ./configure --prefix=$out --disable-developer --disable-valgrind - ''; - - postPatch = '' - echo "" > tools/refresh-submodules.sh - patchShebangs tools/generate-wire.py - ''; - - doCheck = false; - - meta = { - description = "A Bitcoin Lightning Network implementation in C"; - longDescription= '' - c-lightning is a standard compliant implementation of the Lightning - Network protocol. The Lightning Network is a scalability solution for - Bitcoin, enabling secure and instant transfer of funds between any two - parties for any amount. - ''; - homepage = https://github.com/ElementsProject/lightning; - maintainers = with maintainers; [ jb55 ]; - license = licenses.mit; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix deleted file mode 100644 index c7a81b6b11f..00000000000 --- a/pkgs/applications/altcoins/default.nix +++ /dev/null @@ -1,100 +0,0 @@ -{ callPackage, boost155, boost165, openssl_1_1, haskellPackages, darwin, libsForQt5, miniupnpc_2, python3, buildGo110Package }: - -rec { - - aeon = callPackage ./aeon { }; - - bitcoin = libsForQt5.callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = true; }; - bitcoind = callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = false; }; - clightning = callPackage ./clightning.nix { }; - - bitcoin-abc = libsForQt5.callPackage ./bitcoin-abc.nix { boost = boost165; withGui = true; }; - bitcoind-abc = callPackage ./bitcoin-abc.nix { boost = boost165; withGui = false; }; - - bitcoin-unlimited = callPackage ./bitcoin-unlimited.nix { - inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit; - withGui = true; - }; - bitcoind-unlimited = callPackage ./bitcoin-unlimited.nix { - inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit; - withGui = false; - }; - - bitcoin-classic = libsForQt5.callPackage ./bitcoin-classic.nix { boost = boost165; withGui = true; }; - bitcoind-classic = callPackage ./bitcoin-classic.nix { boost = boost165; withGui = false; }; - - bitcoin-xt = callPackage ./bitcoin-xt.nix { - inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit; - boost = boost165; withGui = true; - }; - bitcoind-xt = callPackage ./bitcoin-xt.nix { - inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit; - boost = boost165; withGui = false; - }; - - btc1 = callPackage ./btc1.nix { - inherit (darwin.apple_sdk.frameworks) AppKit; - boost = boost165; - }; - btc1d = btc1.override { withGui = false; }; - - cryptop = python3.pkgs.callPackage ./cryptop { }; - - dashpay = callPackage ./dashpay.nix { }; - - dcrd = callPackage ./dcrd.nix { }; - dcrwallet = callPackage ./dcrwallet.nix { }; - - dero = callPackage ./dero.nix { boost = boost165; }; - - dogecoin = callPackage ./dogecoin.nix { boost = boost165; withGui = true; }; - dogecoind = callPackage ./dogecoin.nix { boost = boost165; withGui = false; }; - - - freicoin = callPackage ./freicoin.nix { boost = boost155; }; - go-ethereum = callPackage ./go-ethereum.nix { - inherit (darwin) libobjc; - inherit (darwin.apple_sdk.frameworks) IOKit; - }; - go-ethereum-classic = callPackage ./go-ethereum-classic { - buildGoPackage = buildGo110Package; - }; - - litecoin = callPackage ./litecoin.nix { - inherit (darwin.apple_sdk.frameworks) AppKit; - }; - litecoind = litecoin.override { withGui = false; }; - - masari = callPackage ./masari.nix { boost = boost165; }; - - memorycoin = callPackage ./memorycoin.nix { boost = boost165; withGui = true; }; - memorycoind = callPackage ./memorycoin.nix { boost = boost165; withGui = false; }; - - mist = callPackage ./mist.nix { }; - - namecoin = callPackage ./namecoin.nix { withGui = true; }; - namecoind = callPackage ./namecoin.nix { withGui = false; }; - - ethabi = callPackage ./ethabi.nix { }; - - stellar-core = callPackage ./stellar-core.nix { }; - - sumokoin = callPackage ./sumokoin.nix { boost = boost165; }; - - wownero = callPackage ./wownero.nix { - inherit (darwin.apple_sdk.frameworks) CoreData IOKit PCSC; - }; - - zcash = callPackage ./zcash { - withGui = false; - openssl = openssl_1_1; - }; - - parity = callPackage ./parity { }; - parity-beta = callPackage ./parity/beta.nix { }; - parity-ui = callPackage ./parity-ui { }; - - polkadot = callPackage ./polkadot { }; - - particl-core = callPackage ./particl/particl-core.nix { miniupnpc = miniupnpc_2; }; -} diff --git a/pkgs/applications/altcoins/go-ethereum-classic/default.nix b/pkgs/applications/altcoins/go-ethereum-classic/default.nix deleted file mode 100644 index 7461e4c376a..00000000000 --- a/pkgs/applications/altcoins/go-ethereum-classic/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ lib, buildGoPackage, fetchgit }: - -buildGoPackage rec { - name = "go-ethereum-classic-${version}"; - version = "4.0.0"; - - goPackagePath = "github.com/ethereumproject/go-ethereum"; - subPackages = [ "cmd/evm" "cmd/geth" ]; - - src = fetchgit { - rev = "v${version}"; - url = "https://github.com/ethereumproject/go-ethereum"; - sha256 = "06f1w7s45q4zva1xjrx92xinsdrixl0m6zhx5hvdjmg3xqcbwr79"; - }; - - goDeps = ./deps.nix; - - meta = { - description = "Golang implementation of Ethereum Classic"; - homepage = https://github.com/ethereumproject/go-ethereum; - license = with lib.licenses; [ lgpl3 gpl3 ]; - maintainers = with lib.maintainers; [ sorpaas ]; - }; -} diff --git a/pkgs/applications/altcoins/go-ethereum.nix b/pkgs/applications/altcoins/go-ethereum.nix deleted file mode 100644 index ad1ccbf496c..00000000000 --- a/pkgs/applications/altcoins/go-ethereum.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, libobjc, IOKit }: - -buildGoPackage rec { - name = "go-ethereum-${version}"; - version = "1.8.21"; - goPackagePath = "github.com/ethereum/go-ethereum"; - - # Fix for usb-related segmentation faults on darwin - propagatedBuildInputs = - stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ]; - - # Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 ) - hardeningDisable = [ "fortify" ]; - - src = fetchFromGitHub { - owner = "ethereum"; - repo = "go-ethereum"; - rev = "v${version}"; - sha256 = "1p4qfxa90l26s9q4hddyb93gdf7vb0sb46z9n26ijiqlxdq3z7v2"; - }; - - meta = with stdenv.lib; { - homepage = https://ethereum.github.io/go-ethereum/; - description = "Official golang implementation of the Ethereum protocol"; - license = with licenses; [ lgpl3 gpl3 ]; - maintainers = [ maintainers.adisbladis maintainers.lionello ]; - }; -} diff --git a/pkgs/applications/altcoins/memorycoin.nix b/pkgs/applications/altcoins/memorycoin.nix deleted file mode 100644 index 944c82250d4..00000000000 --- a/pkgs/applications/altcoins/memorycoin.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, openssl, db48, boost -, zlib, qt4, qmake4Hook, utillinux, protobuf, qrencode -, withGui }: - -with stdenv.lib; -stdenv.mkDerivation rec{ - - name = "memorycoin" + (toString (optional (!withGui) "d")) + "-" + version; - version = "0.8.5"; - - src = fetchurl { - url = "https://github.com/memorycoin/memorycoin/archive/v${version}.tar.gz"; - sha256 = "1iyh6dqrg0mirwci5br5n5qw3ghp2cs23wd8ygr56bh9ml4dr1m8"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ openssl db48 boost zlib utillinux protobuf ] - ++ optionals withGui [ qt4 qmake4Hook qrencode ]; - - qmakeFlags = ["USE_UPNP=-"]; - makeFlags = ["USE_UPNP=-"]; - - configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ] - ++ optionals withGui [ "--with-gui=qt4" ]; - - preBuild = "unset AR;" - + (toString (optional (!withGui) "cd src; cp makefile.unix Makefile")); - - installPhase = - if withGui - then "install -D bitcoin-qt $out/bin/memorycoin-qt" - else "install -D bitcoind $out/bin/memorycoind"; - - # `make build/version.o`: - # make: *** No rule to make target 'build/build.h', needed by 'build/version.o'. Stop. - enableParallelBuilding = false; - - meta = { - description = "Peer-to-peer, CPU-based electronic cash system"; - longDescription= '' - Memorycoin is a cryptocurrency that aims to empower the - economically and financially marginalized. It allows individuals - to participate in the internet economy even when they live in - countries where credit card companies and PayPal(R) refuse to - operate. Individuals can store and transfer wealth with just a - memorized pass phrase. - - Memorycoin is based on the Bitcoin code, but with some key - differences. - ''; - homepage = http://www.bitcoin.org/; - maintainers = with maintainers; [ AndersonTorres ]; - license = licenses.mit; - platforms = [ "x86_64-linux" ]; - }; -} diff --git a/pkgs/applications/altcoins/monero-gui/default.nix b/pkgs/applications/altcoins/monero-gui/default.nix deleted file mode 100644 index 331ef6b92a4..00000000000 --- a/pkgs/applications/altcoins/monero-gui/default.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ stdenv, fetchFromGitHub -, makeWrapper, makeDesktopItem -, qtbase, qmake, qtmultimedia, qttools -, qtgraphicaleffects, qtdeclarative -, qtlocation, qtquickcontrols2, qtwebchannel -, qtwebengine, qtx11extras, qtxmlpatterns -, monero, unbound, readline, boost, libunwind -, libsodium, pcsclite, zeromq, cppzmq, pkgconfig -, hidapi -}: - -with stdenv.lib; - -stdenv.mkDerivation rec { - name = "monero-gui-${version}"; - version = "0.13.0.4"; - - src = fetchFromGitHub { - owner = "monero-project"; - repo = "monero-gui"; - rev = "v${version}"; - sha256 = "142yj5s15bhm300dislq3x5inw1f37shnrd5vyj78jjcvry3wymw"; - }; - - nativeBuildInputs = [ qmake pkgconfig ]; - - buildInputs = [ - qtbase qtmultimedia qtgraphicaleffects - qtdeclarative qtlocation qtquickcontrols2 - qtwebchannel qtwebengine qtx11extras - qtxmlpatterns monero unbound readline - boost libunwind libsodium pcsclite zeromq - cppzmq makeWrapper hidapi - ]; - - patches = [ - ./move-log-file.patch - ./move-translations-dir.patch - ]; - - postPatch = '' - echo ' - var GUI_VERSION = "${version}"; - var GUI_MONERO_VERSION = "${getVersion monero}"; - ' > version.js - substituteInPlace monero-wallet-gui.pro \ - --replace '$$[QT_INSTALL_BINS]/lrelease' '${getDev qttools}/bin/lrelease' - substituteInPlace src/daemon/DaemonManager.cpp \ - --replace 'QApplication::applicationDirPath() + "' '"${monero}/bin' - ''; - - makeFlags = [ "INSTALL_ROOT=$(out)" ]; - - preBuild = '' - sed -i s#/opt/monero-wallet-gui##g Makefile - make -C src/zxcvbn-c - ''; - - desktopItem = makeDesktopItem { - name = "monero-wallet-gui"; - exec = "monero-wallet-gui"; - icon = "monero"; - desktopName = "Monero"; - genericName = "Wallet"; - categories = "Application;Network;Utility;"; - }; - - postInstall = '' - # install desktop entry - mkdir -p $out/share/applications - cp ${desktopItem}/share/applications/* $out/share/applications - - # install translations - mkdir -p $out/share/translations - cp translations/*.qm $out/share/translations/ - - # install icons - for n in 16 24 32 48 64 96 128 256; do - size=$n"x"$n - mkdir -p $out/share/icons/hicolor/$size/apps - cp $src/images/appicons/$size.png \ - $out/share/icons/hicolor/$size/apps/monero.png - done; - ''; - - meta = { - description = "Private, secure, untraceable currency"; - homepage = https://getmonero.org/; - license = licenses.bsd3; - platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ rnhmjoj ]; - }; -} diff --git a/pkgs/applications/altcoins/monero-gui/move-log-file.patch b/pkgs/applications/altcoins/monero-gui/move-log-file.patch deleted file mode 100644 index 74f817d8135..00000000000 --- a/pkgs/applications/altcoins/monero-gui/move-log-file.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/main.cpp b/main.cpp -index 79223c0..e80b317 100644 ---- a/main.cpp -+++ b/main.cpp -@@ -115,6 +115,9 @@ int main(int argc, char *argv[]) - QCommandLineOption logPathOption(QStringList() << "l" << "log-file", - QCoreApplication::translate("main", "Log to specified file"), - QCoreApplication::translate("main", "file")); -+ logPathOption.setDefaultValue( -+ QStandardPaths::writableLocation(QStandardPaths::CacheLocation) -+ + "/monero-wallet-gui.log"); - parser.addOption(logPathOption); - parser.addHelpOption(); - parser.process(app); -diff --git a/Logger.cpp b/Logger.cpp -index 660bafc..dae24d4 100644 ---- a/Logger.cpp -+++ b/Logger.cpp -@@ -15,7 +15,7 @@ static const QString default_name = "monero-wallet-gui.log"; - #elif defined(Q_OS_MAC) - static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).at(0) + "/Library/Logs"; - #else // linux + bsd -- static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).at(0); -+ static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::CacheLocation).at(0); - #endif - - diff --git a/pkgs/applications/altcoins/monero-gui/move-translations-dir.patch b/pkgs/applications/altcoins/monero-gui/move-translations-dir.patch deleted file mode 100644 index ff17ce5da1c..00000000000 --- a/pkgs/applications/altcoins/monero-gui/move-translations-dir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/TranslationManager.cpp b/TranslationManager.cpp -index e7fc52a..83534cc 100644 ---- a/TranslationManager.cpp -+++ b/TranslationManager.cpp -@@ -25,7 +25,7 @@ bool TranslationManager::setLanguage(const QString &language) - return true; - } - -- QString dir = qApp->applicationDirPath() + "/translations"; -+ QString dir = qApp->applicationDirPath() + "/../share/translations"; - QString filename = "monero-core_" + language; - - qDebug("%s: loading translation file '%s' from '%s'", diff --git a/pkgs/applications/altcoins/monero/default.nix b/pkgs/applications/altcoins/monero/default.nix deleted file mode 100644 index 3a962458632..00000000000 --- a/pkgs/applications/altcoins/monero/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ stdenv, fetchgit -, cmake, pkgconfig, git -, boost, miniupnpc, openssl, unbound, cppzmq -, zeromq, pcsclite, readline, libsodium, hidapi -, CoreData, IOKit, PCSC -}: - -assert stdenv.isDarwin -> IOKit != null; - -with stdenv.lib; - -stdenv.mkDerivation rec { - name = "monero-${version}"; - version = "0.13.0.4"; - - src = fetchgit { - url = "https://github.com/monero-project/monero.git"; - rev = "v${version}"; - sha256 = "1ambgakapijhsi1pd70vw8vvnlwa3nid944lqkbfq3wl25lmc70d"; - }; - - nativeBuildInputs = [ cmake pkgconfig git ]; - - buildInputs = [ - boost miniupnpc openssl unbound - cppzmq zeromq pcsclite readline - libsodium hidapi - ] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ]; - - cmakeFlags = [ - "-DCMAKE_BUILD_TYPE=Release" - "-DBUILD_GUI_DEPS=ON" - "-DReadline_ROOT_DIR=${readline.dev}" - ] ++ optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF"; - - hardeningDisable = [ "fortify" ]; - - meta = { - description = "Private, secure, untraceable currency"; - homepage = https://getmonero.org/; - license = licenses.bsd3; - platforms = platforms.all; - maintainers = with maintainers; [ ehmry rnhmjoj ]; - }; -} diff --git a/pkgs/applications/altcoins/nano-wallet/default.nix b/pkgs/applications/altcoins/nano-wallet/default.nix deleted file mode 100644 index 62e72592874..00000000000 --- a/pkgs/applications/altcoins/nano-wallet/default.nix +++ /dev/null @@ -1,57 +0,0 @@ -{lib, stdenv, fetchFromGitHub, cmake, pkgconfig, boost, libGL, qtbase}: - -stdenv.mkDerivation rec { - - name = "nano-wallet-${version}"; - version = "16.3"; - - src = fetchFromGitHub { - owner = "nanocurrency"; - repo = "raiblocks"; - rev = "V${version}"; - sha256 = "1rhq7qzfd8li33pmzcjxrhbbgdklxlcijam62s385f8yqjwy80dz"; - fetchSubmodules = true; - }; - - # Use a patch to force dynamic linking - patches = [ - ./CMakeLists.txt.patch - ]; - - cmakeFlags = let - options = { - BOOST_ROOT = "${boost}"; - Boost_USE_STATIC_LIBS = "OFF"; - RAIBLOCKS_GUI = "ON"; - RAIBLOCKS_TEST = "ON"; - Qt5_DIR = "${qtbase.dev}/lib/cmake/Qt5"; - Qt5Core_DIR = "${qtbase.dev}/lib/cmake/Qt5Core"; - Qt5Gui_INCLUDE_DIRS = "${qtbase.dev}/include/QtGui"; - Qt5Widgets_INCLUDE_DIRS = "${qtbase.dev}/include/QtWidgets"; - }; - optionToFlag = name: value: "-D${name}=${value}"; - in lib.mapAttrsToList optionToFlag options; - - nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ boost libGL qtbase ]; - - buildPhase = '' - make nano_wallet - ''; - - checkPhase = '' - ./core_test - ''; - - meta = { - inherit version; - description = "Wallet for Nano cryptocurrency"; - homepage = https://nano.org/en/wallet/; - license = lib.licenses.bsd2; - # Fails on Darwin. See: - # https://github.com/NixOS/nixpkgs/pull/39295#issuecomment-386800962 - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ jluttine ]; - }; - -} diff --git a/pkgs/applications/altcoins/parity-ui/default.nix b/pkgs/applications/altcoins/parity-ui/default.nix deleted file mode 100644 index c59b2ccb8ac..00000000000 --- a/pkgs/applications/altcoins/parity-ui/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ stdenv, pkgs, fetchurl, makeWrapper, nodePackages }: - -let - -uiEnv = pkgs.callPackage ./env.nix { }; - -in stdenv.mkDerivation rec { - name = "parity-ui-${version}"; - version = "0.3.4"; - - src = fetchurl { - url = "https://github.com/parity-js/shell/releases/download/v${version}/parity-ui_${version}_amd64.deb"; - sha256 = "1xbd00r9ph8w2d6d2c5xg4b5l74ljzs50rpc6kahfznypmh4kr73"; - name = "${name}.deb"; - }; - - nativeBuildInputs = [ makeWrapper nodePackages.asar ]; - - buildCommand = '' - mkdir -p $out/usr/ - ar p $src data.tar.xz | tar -C $out -xJ . - substituteInPlace $out/usr/share/applications/parity-ui.desktop \ - --replace "/opt/Parity UI" $out/bin - mv $out/usr/* $out/ - mv "$out/opt/Parity UI" $out/share/parity-ui - rm -r $out/usr/ - rm -r $out/opt/ - - fixupPhase - - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${uiEnv.libPath}:$out/share/parity-ui" \ - $out/share/parity-ui/parity-ui - - find $out/share/parity-ui -name "*.node" -exec patchelf --set-rpath "${uiEnv.libPath}:$out/share/parity-ui" {} \; - - mkdir -p $out/bin - ln -s $out/share/parity-ui/parity-ui $out/bin/parity-ui - ''; - - meta = with stdenv.lib; { - description = "UI for Parity. Fast, light, robust Ethereum implementation"; - homepage = http://parity.io; - license = licenses.gpl3; - maintainers = [ maintainers.sorpaas ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/altcoins/parity/beta.nix b/pkgs/applications/altcoins/parity/beta.nix deleted file mode 100644 index 591f6ffa86c..00000000000 --- a/pkgs/applications/altcoins/parity/beta.nix +++ /dev/null @@ -1,6 +0,0 @@ -let - version = "2.3.1"; - sha256 = "13y3gczqb0rb6v17j63j1zp11cnykbv9c674hrk1i6jb3y4am4lv"; - cargoSha256 = "1pj5hzy7k1l9bbw1qpz80vvk89qz4qz4rnnkcvn2rkbmq382gxwy"; -in - import ./parity.nix { inherit version sha256 cargoSha256; } diff --git a/pkgs/applications/altcoins/parity/default.nix b/pkgs/applications/altcoins/parity/default.nix deleted file mode 100644 index f62e3d5cfdd..00000000000 --- a/pkgs/applications/altcoins/parity/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -let - version = "2.2.8"; - sha256 = "1l2bxra4fkbh8gnph9wnc24ddmzfdclsgcjbx8q6fflhcg6r9hf1"; - cargoSha256 = "10lg0vzikzlj927hpn59x1dz9dvhcaqsl8nz14vj2iz42vfkcm7p"; -in - import ./parity.nix { inherit version sha256 cargoSha256; } diff --git a/pkgs/applications/altcoins/parity/parity.nix b/pkgs/applications/altcoins/parity/parity.nix deleted file mode 100644 index 9eb189f014e..00000000000 --- a/pkgs/applications/altcoins/parity/parity.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ version -, sha256 -, cargoSha256 -}: - -{ stdenv -, fetchFromGitHub -, rustPlatform -, pkgconfig -, openssl -, systemd -, cmake -, perl -}: - -rustPlatform.buildRustPackage rec { - name = "parity-${version}"; - inherit cargoSha256; - - src = fetchFromGitHub { - owner = "paritytech"; - repo = "parity-ethereum"; - rev = "v${version}"; - inherit sha256; - }; - - buildInputs = [ - pkgconfig cmake perl - systemd.lib systemd.dev openssl openssl.dev - ]; - - # test result: FAILED. 80 passed; 12 failed; 0 ignored; 0 measured; 0 filtered out - doCheck = false; - - meta = with stdenv.lib; { - description = "Fast, light, robust Ethereum implementation"; - homepage = http://parity.io; - license = licenses.gpl3; - maintainers = [ maintainers.akru ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/altcoins/polkadot/default.nix b/pkgs/applications/altcoins/polkadot/default.nix deleted file mode 100644 index 6d4e0417cde..00000000000 --- a/pkgs/applications/altcoins/polkadot/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv -, fetchFromGitHub -, rustPlatform -, pkgconfig -, openssl -}: - -rustPlatform.buildRustPackage rec { - name = "polkadot-${version}"; - version = "0.2.17"; - - src = fetchFromGitHub { - owner = "paritytech"; - repo = "substrate"; - rev = "19f4f4d4df3bb266086b4e488739f73d3d5e588c"; - sha256 = "0v7g03rbml2afw0splmyjh9nqpjg0ldjw09hyc0jqd3qlhgxiiyj"; - }; - - cargoSha256 = "0wwkaxqj2v5zach5xcqfzf6prc0gxy2v47janglp44xbxbx9xk08"; - - buildInputs = [ pkgconfig openssl openssl.dev ]; - - meta = with stdenv.lib; { - description = "Polkadot Node Implementation"; - homepage = http://polkadot.network; - license = licenses.gpl3; - maintainers = [ maintainers.akru ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/altcoins/zcash/librustzcash/default.nix b/pkgs/applications/altcoins/zcash/librustzcash/default.nix deleted file mode 100644 index b89582c09e6..00000000000 --- a/pkgs/applications/altcoins/zcash/librustzcash/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchFromGitHub, rustPlatform }: - -rustPlatform.buildRustPackage rec { - name = "librustzcash-unstable-${version}"; - version = "2017-03-17"; - - src = fetchFromGitHub { - owner = "zcash"; - repo = "librustzcash"; - rev = "91348647a86201a9482ad4ad68398152dc3d635e"; - sha256 = "02l1f46frpvw1r6k1wfh77mrsnmsdvifqx0vnscxz4xgb9ia9d1c"; - }; - - cargoSha256 = "1b0kal53ggcr59hbrsdj8fifjycahrmzwq677n9h3fywv4r237m6"; - - installPhase = '' - mkdir -p $out/lib - cp target/release/librustzcash.a $out/lib/ - mkdir -p $out/include - cp include/librustzcash.h $out/include/ - ''; - - meta = with stdenv.lib; { - description = "Rust-language assets for Zcash"; - homepage = https://github.com/zcash/librustzcash; - maintainers = with maintainers; [ rht ]; - license = with licenses; [ mit asl20 ]; - platforms = platforms.unix; - }; -} diff --git a/pkgs/applications/audio/AMB-plugins/default.nix b/pkgs/applications/audio/AMB-plugins/default.nix index 3ea7b90f84a..720fd0b88be 100644 --- a/pkgs/applications/audio/AMB-plugins/default.nix +++ b/pkgs/applications/audio/AMB-plugins/default.nix @@ -2,10 +2,10 @@ }: stdenv.mkDerivation rec { - name = "AMB-plugins-${version}"; + pname = "AMB-plugins"; version = "0.8.1"; src = fetchurl { - url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; + url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2"; sha256 = "0x4blm4visjqj0ndqr0cg776v3b7lvplpc8cgi9n51llhavn0jpl"; }; diff --git a/pkgs/applications/audio/FIL-plugins/default.nix b/pkgs/applications/audio/FIL-plugins/default.nix index b9322c37df0..ed1f05eaf5c 100644 --- a/pkgs/applications/audio/FIL-plugins/default.nix +++ b/pkgs/applications/audio/FIL-plugins/default.nix @@ -2,10 +2,10 @@ }: stdenv.mkDerivation rec { - name = "FIL-plugins-${version}"; + pname = "FIL-plugins"; version = "0.3.0"; src = fetchurl { - url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; + url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2"; sha256 = "1scfv9j7jrp50r565haa4rvxn1vk2ss86xssl5qgcr8r45qz42qw"; }; diff --git a/pkgs/applications/audio/MMA/default.nix b/pkgs/applications/audio/MMA/default.nix index ed7a8481f69..92f46abddd5 100644 --- a/pkgs/applications/audio/MMA/default.nix +++ b/pkgs/applications/audio/MMA/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "16.06"; - name = "mma-${version}"; + pname = "mma"; src = fetchurl { url = "https://www.mellowood.ca/mma/mma-bin-${version}.tar.gz"; diff --git a/pkgs/applications/audio/a2jmidid/default.nix b/pkgs/applications/audio/a2jmidid/default.nix index 70709ae4ac4..b94fed41341 100644 --- a/pkgs/applications/audio/a2jmidid/default.nix +++ b/pkgs/applications/audio/a2jmidid/default.nix @@ -5,7 +5,7 @@ let inherit (python2Packages) python dbus-python; in stdenv.mkDerivation rec { - name = "a2jmidid-${version}"; + pname = "a2jmidid"; version = "8"; src = fetchurl { diff --git a/pkgs/applications/audio/aacgain/default.nix b/pkgs/applications/audio/aacgain/default.nix index 32ae107ed9c..5892351225d 100644 --- a/pkgs/applications/audio/aacgain/default.nix +++ b/pkgs/applications/audio/aacgain/default.nix @@ -55,7 +55,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "ReplayGain for AAC files"; - homepage = https://github.com/mulx/aacgain; + homepage = https://aacgain.altosdesign.com; license = licenses.gpl2; platforms = platforms.linux; maintainers = [ maintainers.robbinch ]; diff --git a/pkgs/applications/audio/abcde/default.nix b/pkgs/applications/audio/abcde/default.nix index b602707b392..adb38d4bbba 100644 --- a/pkgs/applications/audio/abcde/default.nix +++ b/pkgs/applications/audio/abcde/default.nix @@ -6,7 +6,8 @@ let version = "2.9.3"; in stdenv.mkDerivation { - name = "abcde-${version}"; + pname = "abcde"; + inherit version; src = fetchurl { url = "https://abcde.einval.com/download/abcde-${version}.tar.gz"; sha256 = "091ip2iwb6b67bhjsj05l0sxyq2whqjycbzqpkfbpm4dlyxx0v04"; diff --git a/pkgs/applications/audio/adlplug/default.nix b/pkgs/applications/audio/adlplug/default.nix index 35c7d316dd1..631e0c9cca5 100644 --- a/pkgs/applications/audio/adlplug/default.nix +++ b/pkgs/applications/audio/adlplug/default.nix @@ -4,14 +4,14 @@ , pname ? "ADLplug" }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; - version = "v1.0.0-beta.5"; + inherit pname; + version = "1.0.1"; src = fetchFromGitHub { owner = "jpcima"; repo = "ADLplug"; - rev = version; - sha256 = "1f8v61nv33xwpzmmk38dkr3fvm2j2xf0a74agxnl9p1yvy3a9w3s"; + rev = "v${version}"; + sha256 = "0n9srdlgl1j528ap5xmllrqs1w6ibc5yf9sphvl1q9kjnizxrs2c"; fetchSubmodules = true; }; @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkgconfig ]; meta = with stdenv.lib; { - description = "Synthesizer plugin for ADLMIDI and OPNMIDI (VST/LV2)"; + description = "OPL3 and OPN2 FM Chip Synthesizer"; homepage = src.meta.homepage; license = licenses.boost; platforms = platforms.linux; diff --git a/pkgs/applications/audio/aeolus/default.nix b/pkgs/applications/audio/aeolus/default.nix index 7b80b32331b..389052d30e1 100644 --- a/pkgs/applications/audio/aeolus/default.nix +++ b/pkgs/applications/audio/aeolus/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "aeolus-${version}"; + pname = "aeolus"; version = "0.9.7"; src = fetchurl { - url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; + url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2"; sha256 = "0lhbr95hmbfj8ynbcpawn7jzjbpvrkm6k2yda39yhqk1bzg38v2k"; }; diff --git a/pkgs/applications/audio/aj-snapshot/default.nix b/pkgs/applications/audio/aj-snapshot/default.nix index f84958e1f82..5c379b57ad6 100644 --- a/pkgs/applications/audio/aj-snapshot/default.nix +++ b/pkgs/applications/audio/aj-snapshot/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = packageName + "-" + version ; packageName = "aj-snapshot" ; - version = "0.9.8"; + version = "0.9.9"; src = fetchurl { url = "mirror://sourceforge/${packageName}/${name}.tar.bz2"; - sha256 = "0wilky1g2mb88v2z0520s7sw1dsn10iwanc8id5p6z1xsnhg7b6p"; + sha256 = "0z8wd5yvxdmw1h1rj6km9h01xd4xmp4d86gczlix7hsc7zrf0wil"; }; doCheck = false; diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix index 855d31aadbb..a4aa6428097 100644 --- a/pkgs/applications/audio/amarok/default.nix +++ b/pkgs/applications/audio/amarok/default.nix @@ -3,7 +3,7 @@ , qca-qt5, qjson, qtquickcontrols2, qtscript, qtwebengine , karchive, kcmutils, kconfig, kdnssd, kguiaddons, kinit, kirigami2, knewstuff, knotifyconfig, ktexteditor, kwindowsystem , fftw, phonon, plasma-framework, threadweaver -, curl, ffmpeg, gdk_pixbuf, libaio, libmtp, loudmouth, lzo, lz4, mysql57, pcre, snappy, taglib, taglib_extras +, curl, ffmpeg, gdk-pixbuf, libaio, libmtp, loudmouth, lzo, lz4, mysql57, pcre, snappy, taglib, taglib_extras }: let @@ -29,7 +29,7 @@ in mkDerivation { qca-qt5 qjson qtquickcontrols2 qtscript qtwebengine karchive kcmutils kconfig kdnssd kguiaddons kinit kirigami2 knewstuff knotifyconfig ktexteditor kwindowsystem phonon plasma-framework threadweaver - curl fftw ffmpeg gdk_pixbuf libaio libmtp loudmouth lz4 lzo mysql57.server mysql57.server.static + curl fftw ffmpeg gdk-pixbuf libaio libmtp loudmouth lz4 lzo mysql57.server mysql57.server.static pcre snappy taglib taglib_extras ]; diff --git a/pkgs/applications/audio/ams-lv2/default.nix b/pkgs/applications/audio/ams-lv2/default.nix index 7383623a5ff..0750c38550b 100644 --- a/pkgs/applications/audio/ams-lv2/default.nix +++ b/pkgs/applications/audio/ams-lv2/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig, python3 +{ stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig , wafHook }: stdenv.mkDerivation rec { - name = "ams-lv2-${version}"; - version = "1.2.1"; + pname = "ams-lv2"; + version = "1.2.2"; src = fetchFromGitHub { owner = "blablack"; repo = "ams-lv2"; rev = version; - sha256 = "1n1dnqnj24xhiy9323lj52nswr5120cj56fpckg802miss05sr6x"; + sha256 = "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk"; }; nativeBuildInputs = [ pkgconfig wafHook ]; diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix index 1bb1e404b5c..30a4e052d77 100644 --- a/pkgs/applications/audio/ardour/default.nix +++ b/pkgs/applications/audio/ardour/default.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { patchShebangs ./tools/ ''; - configureFlags = [ + wafConfigureFlags = [ "--optimize" "--docs" "--with-backends=jack,alsa,dummy" diff --git a/pkgs/applications/audio/ario/default.nix b/pkgs/applications/audio/ario/default.nix index 02d818410df..4b48f5f1eea 100644 --- a/pkgs/applications/audio/ario/default.nix +++ b/pkgs/applications/audio/ario/default.nix @@ -5,10 +5,10 @@ stdenv.mkDerivation rec { version = "1.6"; - name = "ario-${version}"; + pname = "ario"; src = fetchurl { - url = "mirror://sourceforge/ario-player/${name}.tar.gz"; + url = "mirror://sourceforge/ario-player/${pname}-${version}.tar.gz"; sha256 = "16nhfb3h5pc7flagfdz7xy0iq6kvgy6h4bfpi523i57rxvlfshhl"; }; diff --git a/pkgs/applications/audio/artyFX/default.nix b/pkgs/applications/audio/artyFX/default.nix index 91a0a1f140c..4b76ebdf605 100644 --- a/pkgs/applications/audio/artyFX/default.nix +++ b/pkgs/applications/audio/artyFX/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub , cairomm, cmake, libjack2, libpthreadstubs, libXdmcp, libxshmfence, libsndfile, lv2, ntk, pkgconfig }: stdenv.mkDerivation rec { - name = "artyFX-${version}"; + pname = "artyFX"; version = "1.3"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/asunder/default.nix b/pkgs/applications/audio/asunder/default.nix index 9c42c98ba5e..e4c145b35c7 100644 --- a/pkgs/applications/audio/asunder/default.nix +++ b/pkgs/applications/audio/asunder/default.nix @@ -13,9 +13,9 @@ with stdenv.lib; stdenv.mkDerivation rec { version = "2.9.3"; - name = "asunder-${version}"; + pname = "asunder"; src = fetchurl { - url = "http://littlesvr.ca/asunder/releases/${name}.tar.bz2"; + url = "http://littlesvr.ca/asunder/releases/${pname}-${version}.tar.bz2"; sha256 = "1630i1df06y840v3fgdf75jxw1s8kwbfn5bhi0686viah0scccw5"; }; diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix index 19cb55d93c9..12e8237d485 100644 --- a/pkgs/applications/audio/audacious/default.nix +++ b/pkgs/applications/audio/audacious/default.nix @@ -7,7 +7,7 @@ }: stdenv.mkDerivation rec { - name = "audacious-${version}"; + pname = "audacious"; version = "3.9"; src = fetchurl { @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { buildInputs = [ gettext glib gtk3 libmowgli dbus-glib libxml2 - xorg.libXcomposite gnome3.defaultIconTheme alsaLib libjack2 + xorg.libXcomposite gnome3.adwaita-icon-theme alsaLib libjack2 libpulseaudio fluidsynth libmad libogg libvorbis libcdio libcddb flac ffmpeg mpg123 libcue libmms libbs2b libsndfile libmodplug libsamplerate soxr lirc curl wavpack neon faad2 diff --git a/pkgs/applications/audio/audacious/qt-5.nix b/pkgs/applications/audio/audacious/qt-5.nix index 019bde7cc64..baf7b108e50 100644 --- a/pkgs/applications/audio/audacious/qt-5.nix +++ b/pkgs/applications/audio/audacious/qt-5.nix @@ -2,7 +2,7 @@ mkDerivation, lib, fetchurl, fetchpatch, gettext, pkgconfig, qtbase, - alsaLib, curl, faad2, ffmpeg, flac, fluidsynth, gdk_pixbuf, lame, libbs2b, + alsaLib, curl, faad2, ffmpeg, flac, fluidsynth, gdk-pixbuf, lame, libbs2b, libcddb, libcdio, libcue, libjack2, libmad, libmms, libmodplug, libmowgli, libnotify, libogg, libpulseaudio, libsamplerate, libsidplayfp, libsndfile, libvorbis, libxml2, lirc, mpg123, neon, qtmultimedia, soxr, @@ -45,7 +45,7 @@ mkDerivation { qtbase # Plugin dependencies - alsaLib curl faad2 ffmpeg flac fluidsynth gdk_pixbuf lame libbs2b libcddb + alsaLib curl faad2 ffmpeg flac fluidsynth gdk-pixbuf lame libbs2b libcddb libcdio libcue libjack2 libmad libmms libmodplug libmowgli libnotify libogg libpulseaudio libsamplerate libsidplayfp libsndfile libvorbis libxml2 lirc mpg123 neon qtmultimedia soxr wavpack diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix index fc32eb799cf..6be40a7b93a 100644 --- a/pkgs/applications/audio/audacity/default.nix +++ b/pkgs/applications/audio/audacity/default.nix @@ -7,12 +7,12 @@ with stdenv.lib; stdenv.mkDerivation rec { - version = "2.3.0"; - name = "audacity-${version}"; + version = "2.3.2"; + pname = "audacity"; src = fetchurl { url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"; - sha256 = "0pi7ksm8hfvwbn580z4kkc55sbaylrrr7v08s04dmdgfvil7y4ip"; + sha256 = "0cf7fr1qhyyylj8g9ax1rq5sb887bcv5b8d7hwlcfwamzxqpliyc"; }; preConfigure = /* we prefer system-wide libs */ '' diff --git a/pkgs/applications/audio/audio-recorder/default.nix b/pkgs/applications/audio/audio-recorder/default.nix index 2ac7e3af7ab..534b87e9fa7 100644 --- a/pkgs/applications/audio/audio-recorder/default.nix +++ b/pkgs/applications/audio/audio-recorder/default.nix @@ -1,21 +1,21 @@ { stdenv, fetchurl -, pkgconfig, intltool, gnome3 +, pkgconfig, intltool , glib, dbus, gtk3, libappindicator-gtk3, gst_all_1 , librsvg, wrapGAppsHook , pulseaudioSupport ? true, libpulseaudio ? null }: stdenv.mkDerivation rec { - name = "audio-recorder-${version}"; + pname = "audio-recorder"; version = "2.1.3"; src = fetchurl { - name = "${name}.tar.gz"; + name = "${pname}-${version}.tar.gz"; url = "${meta.homepage}/+archive/ubuntu/ppa/+files/audio-recorder_${version}%7Ebionic.tar.gz"; sha256 = "160pnmnmc9zwzyclsci3w1qwlgxkfx1y3x5ck6i587w78570an1r"; }; # https://bugs.launchpad.net/audio-recorder/+bug/1784622 - NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0"; + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ]; diff --git a/pkgs/applications/audio/avldrums-lv2/default.nix b/pkgs/applications/audio/avldrums-lv2/default.nix index 75b6d8e2758..7ca5d83b48b 100644 --- a/pkgs/applications/audio/avldrums-lv2/default.nix +++ b/pkgs/applications/audio/avldrums-lv2/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, pkgconfig, pango, cairo, libGLU, lv2 }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "avldrums.lv2"; - version = "0.3.1"; + version = "0.3.5"; src = fetchFromGitHub { owner = "x42"; repo = pname; rev = "v${version}"; - sha256 = "0yhq3n5bahhqpj40mvlkxcjsdsw63jsbz20pl77bx2qj30w25i2j"; + sha256 = "00n2varc7iwp0xbfi45hpq4vlpxxb2kbrdzvrc20qp2265994bqf"; fetchSubmodules = true; }; diff --git a/pkgs/applications/audio/axoloti/default.nix b/pkgs/applications/audio/axoloti/default.nix index e3f1b6acf87..7f551304df1 100644 --- a/pkgs/applications/audio/axoloti/default.nix +++ b/pkgs/applications/audio/axoloti/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { version = "1.0.12-2"; - name = "axoloti-${version}"; + pname = "axoloti"; src = fetchFromGitHub { owner = "axoloti"; diff --git a/pkgs/applications/audio/axoloti/dfu-util.nix b/pkgs/applications/audio/axoloti/dfu-util.nix index 07a78260991..e9fa6daecfe 100644 --- a/pkgs/applications/audio/axoloti/dfu-util.nix +++ b/pkgs/applications/audio/axoloti/dfu-util.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, libusb1-axoloti }: stdenv.mkDerivation rec { - name="dfu-util-${version}"; + pname = "dfu-util"; version = "0.8"; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libusb1-axoloti ]; src = fetchurl { - url = "http://dfu-util.sourceforge.net/releases/${name}.tar.gz"; + url = "http://dfu-util.sourceforge.net/releases/${pname}-${version}.tar.gz"; sha256 = "0n7h08avlzin04j93m6hkq9id6hxjiiix7ff9gc2n89aw6dxxjsm"; }; diff --git a/pkgs/applications/audio/baudline/default.nix b/pkgs/applications/audio/baudline/default.nix index 6827d12b321..c35df95b24c 100644 --- a/pkgs/applications/audio/baudline/default.nix +++ b/pkgs/applications/audio/baudline/default.nix @@ -7,7 +7,7 @@ let [ libXmu libXt libX11 libXext libXxf86vm libjack2 ]; in stdenv.mkDerivation rec { - name = "baudline-${version}"; + pname = "baudline"; version = "1.08"; src = diff --git a/pkgs/applications/audio/bitmeter/default.nix b/pkgs/applications/audio/bitmeter/default.nix index fbe2c97042f..6f471f3a028 100644 --- a/pkgs/applications/audio/bitmeter/default.nix +++ b/pkgs/applications/audio/bitmeter/default.nix @@ -1,11 +1,11 @@ { stdenv, autoreconfHook, fetchurl, libjack2, gtk2, pkgconfig }: stdenv.mkDerivation rec { - name = "bitmeter-${version}"; + pname = "bitmeter"; version = "1.2"; src = fetchurl { - url = "https://devel.tlrmx.org/audio/source/${name}.tar.gz"; + url = "https://devel.tlrmx.org/audio/source/${pname}-${version}.tar.gz"; sha256 = "09ck2gxqky701dc1p0ip61rrn16v0pdc7ih2hc2sd63zcw53g2a7"; }; diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix index 7a80fecab71..83586847190 100644 --- a/pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, alsaLib, bzip2, cairo, dpkg, freetype, gdk_pixbuf +{ stdenv, fetchurl, alsaLib, bzip2, cairo, dpkg, freetype, gdk-pixbuf , wrapGAppsHook, gtk2, gtk3, harfbuzz, jdk, lib, xorg , libbsd, libjack2, libpng, ffmpeg , libxkbcommon @@ -6,7 +6,7 @@ , xdg_utils, zenity, zlib }: stdenv.mkDerivation rec { - name = "bitwig-studio-${version}"; + pname = "bitwig-studio"; version = "1.3.16"; src = fetchurl { @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { dontWrapGApps = true; # we only want $gappsWrapperArgs here buildInputs = with xorg; [ - alsaLib bzip2.out cairo freetype gdk_pixbuf gtk2 gtk3 harfbuzz libX11 libXau + alsaLib bzip2.out cairo freetype gdk-pixbuf gtk2 gtk3 harfbuzz libX11 libXau libXcursor libXdmcp libXext libXfixes libXrender libbsd libjack2 libpng libxcb libxkbfile pixman xcbutil xcbutilwm zlib ]; @@ -90,7 +90,7 @@ stdenv.mkDerivation rec { production, performance and DJing, with a focus on flexible editing tools and a super-fast workflow. ''; - homepage = http://www.bitwig.com/; + homepage = https://www.bitwig.com/; license = licenses.unfree; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ michalrus mrVanDalo ]; diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix index 0b7adefb305..345750e9e2a 100644 --- a/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix @@ -1,13 +1,13 @@ -{ stdenv, fetchurl, bitwig-studio1, - xdg_utils, zenity, ffmpeg, pulseaudio }: +{ fetchurl, bitwig-studio1, + pulseaudio }: bitwig-studio1.overrideAttrs (oldAttrs: rec { name = "bitwig-studio-${version}"; - version = "2.4.3"; + version = "2.5"; src = fetchurl { url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"; - sha256 = "17754y4ni0zj9vjxl8ldivi33gdb0nk6sdlcmlpskgffrlx8di08"; + sha256 = "1zkiz36lhck3qvl0cp0dq6pwbv4lx4sh9wh0ga92kx5zhvbjm098"; }; runtimeDependencies = [ diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix new file mode 100644 index 00000000000..3e9a2d380e2 --- /dev/null +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix @@ -0,0 +1,16 @@ +{ fetchurl, bitwig-studio1, + pulseaudio }: + +bitwig-studio1.overrideAttrs (oldAttrs: rec { + name = "bitwig-studio-${version}"; + version = "3.0.1"; + + src = fetchurl { + url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"; + sha256 = "0k25p1j4kgnhm7p90qp1cz79xddgi6nh1nx1y5wz42x8qrpxya0s"; + }; + + runtimeDependencies = [ + pulseaudio + ]; +}) diff --git a/pkgs/applications/audio/bristol/default.nix b/pkgs/applications/audio/bristol/default.nix index e1ed12b9bd2..504900d6595 100644 --- a/pkgs/applications/audio/bristol/default.nix +++ b/pkgs/applications/audio/bristol/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, alsaLib, libjack2, pkgconfig, libpulseaudio, xorg }: stdenv.mkDerivation rec { - name = "bristol-${version}"; + pname = "bristol"; version = "0.60.11"; src = fetchurl { - url = "mirror://sourceforge/bristol/${name}.tar.gz"; + url = "mirror://sourceforge/bristol/${pname}-${version}.tar.gz"; sha256 = "1fi2m4gmvxdi260821y09lxsimq82yv4k5bbgk3kyc3x1nyhn7vx"; }; diff --git a/pkgs/applications/audio/bs1770gain/default.nix b/pkgs/applications/audio/bs1770gain/default.nix index 44296d3c8b9..2dee463aeee 100644 --- a/pkgs/applications/audio/bs1770gain/default.nix +++ b/pkgs/applications/audio/bs1770gain/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ffmpeg, sox }: stdenv.mkDerivation rec { - name = "bs1770gain-${version}"; - version = "0.5.1"; + pname = "bs1770gain"; + version = "0.5.2"; src = fetchurl { - url = "mirror://sourceforge/bs1770gain/${name}.tar.gz"; - sha256 = "0r4fbajgfmnwgl63hcm56f1j8m5f135q6j5jkzdvrrhpcj39yx06"; + url = "mirror://sourceforge/bs1770gain/${pname}-${version}.tar.gz"; + sha256 = "1p6yz5q7czyf9ard65sp4kawdlkg40cfscr3b24znymmhs3p7rbk"; }; buildInputs = [ ffmpeg sox ]; diff --git a/pkgs/applications/audio/cadence/default.nix b/pkgs/applications/audio/cadence/default.nix index ef7eeab4b60..87efa6fb6b6 100644 --- a/pkgs/applications/audio/cadence/default.nix +++ b/pkgs/applications/audio/cadence/default.nix @@ -3,9 +3,7 @@ , pkgconfig , qtbase , makeWrapper -, jack2Full , python3Packages -, a2jmidid }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/audio/calf/default.nix b/pkgs/applications/audio/calf/default.nix index 94b43fc544a..0106e8b4584 100644 --- a/pkgs/applications/audio/calf/default.nix +++ b/pkgs/applications/audio/calf/default.nix @@ -1,23 +1,16 @@ -{ stdenv, fetchurl, fetchpatch, cairo, expat, fftwSinglePrec, fluidsynth, glib +{ stdenv, fetchurl, cairo, expat, fftwSinglePrec, fluidsynth, glib , gtk2, libjack2, ladspaH , libglade, lv2, pkgconfig }: stdenv.mkDerivation rec { - name = "calf-${version}"; - version = "0.90.0"; + pname = "calf"; + version = "0.90.3"; src = fetchurl { - url = "https://calf-studio-gear.org/files/${name}.tar.gz"; - sha256 = "0dijv2j7vlp76l10s4v8gbav26ibaqk8s24ci74vrc398xy00cib"; + url = "https://calf-studio-gear.org/files/${pname}-${version}.tar.gz"; + sha256 = "17x4hylgq4dn9qycsdacfxy64f5cv57n2qgkvsdp524gnqzw4az3"; }; - patches = [ - # Fix memory leak in limiter - # https://github.com/flathub/com.github.wwmm.pulseeffects/issues/12 - (fetchpatch { - url = https://github.com/calf-studio-gear/calf/commit/7afdefc0d0489a6227fd10f15843d81dc82afd62.patch; - sha256 = "056662iw6hp4ykwk4jyrzg5yarcn17ni97yc060y5kcnzy29ddg6"; - }) - ]; + enableParallelBuilding = true; buildInputs = [ cairo expat fftwSinglePrec fluidsynth glib gtk2 libjack2 ladspaH diff --git a/pkgs/applications/audio/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix index 64e99768ded..292f28554d0 100644 --- a/pkgs/applications/audio/cantata/default.nix +++ b/pkgs/applications/audio/cantata/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fetchpatch, cmake, pkgconfig, vlc +{ mkDerivation, lib, fetchFromGitHub, cmake, pkgconfig, vlc , qtbase, qtmultimedia, qtsvg, qttools # Cantata doesn't build with cdparanoia enabled so we disable that @@ -35,7 +35,7 @@ let withUdisks = (withTaglib && withDevices); -in stdenv.mkDerivation rec { +in mkDerivation rec { name = "${pname}-${version}"; src = fetchFromGitHub { @@ -46,20 +46,20 @@ in stdenv.mkDerivation rec { }; buildInputs = [ vlc qtbase qtmultimedia qtsvg ] - ++ stdenv.lib.optionals withTaglib [ taglib taglib_extras ] - ++ stdenv.lib.optionals withReplaygain [ ffmpeg speex mpg123 ] - ++ stdenv.lib.optional withCdda cdparanoia - ++ stdenv.lib.optional withCddb libcddb - ++ stdenv.lib.optional withLame lame - ++ stdenv.lib.optional withMtp libmtp - ++ stdenv.lib.optional withMusicbrainz libmusicbrainz5 - ++ stdenv.lib.optional withUdisks udisks2; + ++ lib.optionals withTaglib [ taglib taglib_extras ] + ++ lib.optionals withReplaygain [ ffmpeg speex mpg123 ] + ++ lib.optional withCdda cdparanoia + ++ lib.optional withCddb libcddb + ++ lib.optional withLame lame + ++ lib.optional withMtp libmtp + ++ lib.optional withMusicbrainz libmusicbrainz5 + ++ lib.optional withUdisks udisks2; nativeBuildInputs = [ cmake pkgconfig qttools ]; enableParallelBuilding = true; - cmakeFlags = stdenv.lib.flatten [ + cmakeFlags = lib.flatten [ (fstats withTaglib [ "TAGLIB" "TAGLIB_EXTRAS" ]) (fstats withReplaygain [ "FFMPEG" "MPG123" "SPEEXDSP" ]) (fstat withCdda "CDPARANOIA") @@ -76,7 +76,7 @@ in stdenv.mkDerivation rec { "-DENABLE_HTTPS_SUPPORT=ON" ]; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://github.com/cdrummond/cantata; description = "A graphical client for MPD"; license = licenses.gpl3; diff --git a/pkgs/applications/audio/caps/default.nix b/pkgs/applications/audio/caps/default.nix index 1f53809e905..eabbf866837 100644 --- a/pkgs/applications/audio/caps/default.nix +++ b/pkgs/applications/audio/caps/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "caps-${version}"; + pname = "caps"; version = "0.9.26"; src = fetchurl { url = "http://www.quitte.de/dsp/caps_${version}.tar.bz2"; diff --git a/pkgs/applications/audio/carla/default.nix b/pkgs/applications/audio/carla/default.nix new file mode 100644 index 00000000000..98a4ddd29d6 --- /dev/null +++ b/pkgs/applications/audio/carla/default.nix @@ -0,0 +1,74 @@ +{ stdenv, fetchFromGitHub, alsaLib, file, fluidsynth, ffmpeg, jack2, + liblo, libpulseaudio, libsndfile, pkgconfig, python3Packages, + which, withFrontend ? true, + withQt ? true, qtbase ? null, wrapQtAppsHook ? null, + withGtk2 ? true, gtk2 ? null, + withGtk3 ? true, gtk3 ? null }: + +with stdenv.lib; + +assert withFrontend -> python3Packages ? pyqt5; +assert withQt -> qtbase != null; +assert withQt -> wrapQtAppsHook != null; +assert withGtk2 -> gtk2 != null; +assert withGtk3 -> gtk3 != null; + +stdenv.mkDerivation rec { + pname = "carla"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "falkTX"; + repo = pname; + rev = "v${version}"; + sha256 = "0fqgncqlr86n38yy7pa118mswfacmfczj7w9xx6c6k0jav3wk29k"; + }; + + nativeBuildInputs = [ + python3Packages.wrapPython pkgconfig which wrapQtAppsHook + ]; + + pythonPath = with python3Packages; [ + rdflib pyliblo + ] ++ optional withFrontend pyqt5; + + buildInputs = [ + file liblo alsaLib fluidsynth ffmpeg jack2 libpulseaudio libsndfile + ] ++ pythonPath + ++ optional withQt qtbase + ++ optional withGtk2 gtk2 + ++ optional withGtk3 gtk3; + + installFlags = [ "PREFIX=$(out)" ]; + + dontWrapQtApps = true; + postFixup = '' + # Also sets program_PYTHONPATH and program_PATH variables + wrapPythonPrograms + + find "$out/share/carla" -maxdepth 1 -type f -not -name "*.py" -print0 | while read -d "" f; do + patchPythonScript "$f" + done + patchPythonScript "$out/share/carla/carla_settings.py" + + for program in $out/bin/*; do + wrapQtApp "$program" \ + --prefix PATH : "$program_PATH:${which}/bin" \ + --set PYTHONNOUSERSITE true + done + ''; + + meta = with stdenv.lib; { + homepage = http://kxstudio.sf.net/carla; + description = "An audio plugin host"; + longDescription = '' + It currently supports LADSPA (including LRDF), DSSI, LV2, VST2/3 + and AU plugin formats, plus GIG, SF2 and SFZ file support. + It uses JACK as the default and preferred audio driver but also + supports native drivers like ALSA, DirectSound or CoreAudio. + ''; + license = licenses.gpl2Plus; + maintainers = [ maintainers.minijackson ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/caudec/default.nix b/pkgs/applications/audio/caudec/default.nix index 04f0f9d3025..9c2f17c5cc9 100644 --- a/pkgs/applications/audio/caudec/default.nix +++ b/pkgs/applications/audio/caudec/default.nix @@ -5,7 +5,8 @@ let in stdenv.mkDerivation rec { - name = "caudec-${version}"; + pname = "caudec"; + inherit version; src = fetchurl { url = "http://caudec.net/downloads/caudec-${version}.tar.gz"; diff --git a/pkgs/applications/audio/cava/default.nix b/pkgs/applications/audio/cava/default.nix index 439175b090a..5c5c262056e 100644 --- a/pkgs/applications/audio/cava/default.nix +++ b/pkgs/applications/audio/cava/default.nix @@ -2,7 +2,7 @@ libpulseaudio, ncurses }: stdenv.mkDerivation rec { - name = "cava-${version}"; + pname = "cava"; version = "0.6.1"; buildInputs = [ diff --git a/pkgs/applications/audio/cd-discid/default.nix b/pkgs/applications/audio/cd-discid/default.nix index 382d4a1b667..76f76c1e750 100644 --- a/pkgs/applications/audio/cd-discid/default.nix +++ b/pkgs/applications/audio/cd-discid/default.nix @@ -2,11 +2,11 @@ , IOKit ? null }: stdenv.mkDerivation rec { - name = "cd-discid-${version}"; + pname = "cd-discid"; version = "1.4"; src = fetchurl { - url = "http://linukz.org/download/${name}.tar.gz"; + url = "http://linukz.org/download/${pname}-${version}.tar.gz"; sha256 = "0qrcvn7227qaayjcd5rm7z0k5q89qfy5qkdgwr5pd7ih0va8rmpz"; }; diff --git a/pkgs/applications/audio/cdparanoia/default.nix b/pkgs/applications/audio/cdparanoia/default.nix index c419d141d1b..4e517ee636e 100644 --- a/pkgs/applications/audio/cdparanoia/default.nix +++ b/pkgs/applications/audio/cdparanoia/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./utils.patch ++ [./fix_private_keyword.patch]; - buildInputs = stdenv.lib.optional stdenv.isAarch64 autoreconfHook; + nativeBuildInputs = stdenv.lib.optional stdenv.isAarch64 autoreconfHook; propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ Carbon @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - preConfigure = "unset CC" + stdenv.lib.optionalString stdenv.isAarch64 ''\n + preConfigure = "unset CC" + stdenv.lib.optionalString stdenv.isAarch64 ''; cp ${gnu-config}/config.sub configure.sub cp ${gnu-config}/config.guess configure.guess ''; diff --git a/pkgs/applications/audio/chuck/clang.patch b/pkgs/applications/audio/chuck/clang.patch deleted file mode 100644 index 77227ef0fd4..00000000000 --- a/pkgs/applications/audio/chuck/clang.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/src/ugen_osc.cpp b/src/ugen_osc.cpp -index 6b93c6b..dbefe4f 100644 ---- a/src/ugen_osc.cpp -+++ b/src/ugen_osc.cpp -@@ -1232,7 +1232,7 @@ CK_DLL_CTRL( gen5_coeffs ) - Chuck_Array8 * in_args = (Chuck_Array8 *)GET_CK_OBJECT(ARGS); - - // fprintf(stdout, "calling gen10coeffs, %d\n", weights); -- if(in_args<0) return; -+ if(in_args!=0) return; - size = in_args->size(); - if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1; - -@@ -1287,7 +1287,7 @@ CK_DLL_CTRL( gen7_coeffs ) - Chuck_Array8 * in_args = (Chuck_Array8 *)GET_CK_OBJECT(ARGS); - - // fprintf(stdout, "calling gen10coeffs, %d\n", weights); -- if(in_args<0) return; -+ if(in_args!=0) return; - size = in_args->size(); - if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1; - -@@ -1340,7 +1340,7 @@ CK_DLL_CTRL( gen9_coeffs ) - Chuck_Array8 * weights = (Chuck_Array8 *)GET_CK_OBJECT(ARGS); - - // fprintf(stdout, "calling gen10coeffs, %d\n", weights); -- if(weights<0) return; -+ if(weights!=0) return; - size = weights->size(); - if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1; - -@@ -1390,7 +1390,7 @@ CK_DLL_CTRL( gen10_coeffs ) - Chuck_Array8 * weights = (Chuck_Array8 *)GET_CK_OBJECT(ARGS); - - // fprintf(stdout, "calling gen10coeffs, %d\n", weights); -- if(weights<0) return; -+ if(weights!=0) return; - size = weights->size(); - if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1; - -@@ -1441,7 +1441,7 @@ CK_DLL_CTRL( gen17_coeffs ) - Chuck_Array8 * weights = (Chuck_Array8 *)GET_CK_OBJECT(ARGS); - - // fprintf(stdout, "calling gen17coeffs, %d\n", weights); -- if(weights<0) return; -+ if(weights!=0) return; - size = weights->size(); - if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1; - -@@ -1502,7 +1502,7 @@ CK_DLL_CTRL( curve_coeffs ) - Chuck_Array8 * weights = (Chuck_Array8 *)GET_CK_OBJECT(ARGS); - - // fprintf(stdout, "calling gen17coeffs, %d\n", weights); -- if(weights<0) goto done; -+ if(weights!=0) goto done; - - nargs = weights->size(); - if (nargs < 5 || (nargs % 3) != 2) { // check number of args diff --git a/pkgs/applications/audio/chuck/darwin-limits.patch b/pkgs/applications/audio/chuck/darwin-limits.patch index 3387f725544..dc98a172691 100644 --- a/pkgs/applications/audio/chuck/darwin-limits.patch +++ b/pkgs/applications/audio/chuck/darwin-limits.patch @@ -1,5 +1,5 @@ ---- a/src/util_string.cpp 2014-10-27 22:52:11.875981552 +0100 -+++ b/src/util_string.cpp 2014-10-27 22:54:18.613001994 +0100 +--- a/src/core/util_string.cpp 2014-10-27 22:52:11.875981552 +0100 ++++ b/src/core/util_string.cpp 2014-10-27 22:54:18.613001994 +0100 @@ -40,6 +40,10 @@ #include #endif // __PLATFORM_LINUX__ diff --git a/pkgs/applications/audio/chuck/default.nix b/pkgs/applications/audio/chuck/default.nix index c10556260c7..692485d0dcf 100644 --- a/pkgs/applications/audio/chuck/default.nix +++ b/pkgs/applications/audio/chuck/default.nix @@ -1,15 +1,14 @@ { stdenv, lib, fetchurl, alsaLib, bison, flex, libsndfile, which , AppKit, Carbon, CoreAudio, CoreMIDI, CoreServices, Kernel -, xcbuild }: stdenv.mkDerivation rec { - version = "1.3.5.2"; - name = "chuck-${version}"; + version = "1.4.0.0"; + pname = "chuck"; src = fetchurl { url = "http://chuck.cs.princeton.edu/release/files/chuck-${version}.tgz"; - sha256 = "02z7sglax3j09grj5s1skmw8z6wz7b21hjrm95nrrdpwbxabh079"; + sha256 = "1b17rsf7bv45gfhyhfmpz9d4rkxn24c0m2hgmpfjz3nlp0rf7bic"; }; nativeBuildInputs = [ flex bison which ]; @@ -18,16 +17,15 @@ stdenv.mkDerivation rec { ++ lib.optional (!stdenv.isDarwin) alsaLib ++ lib.optional stdenv.isDarwin [ AppKit Carbon CoreAudio CoreMIDI CoreServices Kernel ]; - patches = [ ./clang.patch ./darwin-limits.patch ]; + patches = [ ./darwin-limits.patch ]; NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin "-Wno-missing-sysroot"; NIX_LDFLAGS = lib.optional stdenv.isDarwin "-framework MultitouchSupport"; postPatch = '' - substituteInPlace src/makefile --replace "/usr/bin" "$out/bin" - substituteInPlace src/makefile.osx \ + substituteInPlace src/core/makefile.x/makefile.osx \ --replace "weak_framework" "framework" \ - --replace "MACOSX_DEPLOYMENT_TARGET=10.5" "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET" + --replace "MACOSX_DEPLOYMENT_TARGET=10.9" "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET" ''; makeFlags = [ "-C src" "DESTDIR=$(out)/bin" ]; @@ -37,7 +35,7 @@ stdenv.mkDerivation rec { description = "Programming language for real-time sound synthesis and music creation"; homepage = http://chuck.cs.princeton.edu; license = licenses.gpl2; - platforms = with platforms; linux ++ darwin; + platforms = platforms.unix; maintainers = with maintainers; [ ftrvxmtrx ]; }; } diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix index b3a0c637721..f48a429b389 100644 --- a/pkgs/applications/audio/clementine/default.nix +++ b/pkgs/applications/audio/clementine/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, fetchpatch, boost, cmake, chromaprint, gettext, gst_all_1, liblastfm -, qt4, taglib, fftw, glew, qjson, sqlite, libgpod, libplist, usbmuxd, libmtp +, taglib, fftw, glew, qjson, sqlite, libgpod, libplist, usbmuxd, libmtp , libpulseaudio, gvfs, libcdio, libechonest, libspotify, pcre, projectm, protobuf , qca2, pkgconfig, sparsehash, config, makeWrapper, gst_plugins }: @@ -49,7 +49,6 @@ let protobuf qca2 qjson - qt4 sqlite taglib ] @@ -68,7 +67,8 @@ let ''; free = stdenv.mkDerivation { - name = "clementine-free-${version}"; + pname = "clementine-free"; + inherit version; inherit src patches nativeBuildInputs postPatch; # gst_plugins needed for setup-hooks @@ -96,7 +96,8 @@ let # Unfree Spotify blob for Clementine unfree = stdenv.mkDerivation { - name = "clementine-blob-${version}"; + pname = "clementine-blob"; + inherit version; # Use the same patches and sources as Clementine inherit src nativeBuildInputs postPatch; diff --git a/pkgs/applications/audio/cmus/default.nix b/pkgs/applications/audio/cmus/default.nix index 9f69e305f24..b88951c0fc5 100644 --- a/pkgs/applications/audio/cmus/default.nix +++ b/pkgs/applications/audio/cmus/default.nix @@ -8,6 +8,7 @@ , samplerateSupport ? jackSupport, libsamplerate ? null , ossSupport ? false, alsaOss ? null , pulseaudioSupport ? config.pulseaudio or false, libpulseaudio ? null +, mprisSupport ? stdenv.isLinux, systemd ? null # TODO: add these #, artsSupport @@ -60,6 +61,7 @@ let (mkFlag samplerateSupport "CONFIG_SAMPLERATE=y" libsamplerate) (mkFlag ossSupport "CONFIG_OSS=y" alsaOss) (mkFlag pulseaudioSupport "CONFIG_PULSE=y" libpulseaudio) + (mkFlag mprisSupport "CONFIG_MPRIS=y" systemd) #(mkFlag artsSupport "CONFIG_ARTS=y") #(mkFlag roarSupport "CONFIG_ROAR=y") @@ -99,7 +101,7 @@ let in stdenv.mkDerivation rec { - name = "cmus-${version}"; + pname = "cmus"; version = "2.8.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/cmusfm/default.nix b/pkgs/applications/audio/cmusfm/default.nix index e528e9699a7..51b88607208 100644 --- a/pkgs/applications/audio/cmusfm/default.nix +++ b/pkgs/applications/audio/cmusfm/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, curl, libnotify, gdk_pixbuf }: +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, curl, libnotify, gdk-pixbuf }: stdenv.mkDerivation rec { version = "2018-10-11"; - name = "cmusfm-unstable-${version}"; + pname = "cmusfm-unstable"; src = fetchFromGitHub { owner = "Arkq"; repo = "cmusfm"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { # building configureFlags = [ "--enable-libnotify" ]; nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ curl libnotify gdk_pixbuf ]; + buildInputs = [ curl libnotify gdk-pixbuf ]; meta = with stdenv.lib; { description = "Last.fm and Libre.fm standalone scrobbler for the cmus music player"; diff --git a/pkgs/applications/audio/cozy-audiobooks/default.nix b/pkgs/applications/audio/cozy-audiobooks/default.nix index b7b8a4410b7..f9a53f59e4d 100644 --- a/pkgs/applications/audio/cozy-audiobooks/default.nix +++ b/pkgs/applications/audio/cozy-audiobooks/default.nix @@ -1,6 +1,5 @@ { stdenv, fetchFromGitHub , ninja -, boost , meson , pkgconfig , wrapGAppsHook @@ -12,7 +11,6 @@ , python3Packages , file , cairo -, sqlite , gettext , gnome3 }: @@ -24,6 +22,11 @@ python3Packages.buildPythonApplication rec { pname = "cozy"; version = "0.6.7"; + # Temporary fix + # See https://github.com/NixOS/nixpkgs/issues/57029 + # and https://github.com/NixOS/nixpkgs/issues/56943 + strictDeps = false; + src = fetchFromGitHub { owner = "geigi"; repo = pname; @@ -43,7 +46,7 @@ python3Packages.buildPythonApplication rec { gtk3 cairo gettext - gnome3.defaultIconTheme + gnome3.adwaita-icon-theme ] ++ (with gst_all_1; [ gstreamer gst-plugins-good diff --git a/pkgs/applications/audio/csa/default.nix b/pkgs/applications/audio/csa/default.nix index c3b3b944135..0b8afada020 100644 --- a/pkgs/applications/audio/csa/default.nix +++ b/pkgs/applications/audio/csa/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "csa-${version}"; + pname = "csa"; version = "0.5.100810"; src = fetchurl { - url = "mirror://sourceforge/csa/${name}.tar.gz"; + url = "mirror://sourceforge/csa/${pname}-${version}.tar.gz"; sha256 = "1syg81dzdil0dyx1mlx1n7if3qsf2iz243p2zv34a1acfqm509r3"; }; diff --git a/pkgs/applications/audio/csound/csound-manual/default.nix b/pkgs/applications/audio/csound/csound-manual/default.nix new file mode 100644 index 00000000000..df0fcb0ee9c --- /dev/null +++ b/pkgs/applications/audio/csound/csound-manual/default.nix @@ -0,0 +1,44 @@ +{ + stdenv, fetchFromGitHub, docbook_xsl, + docbook_xml_dtd_45, python, pygments, + libxslt +}: + +stdenv.mkDerivation rec { + pname = "csound-manual"; + version = "unstable-2019-02-22"; + + src = fetchFromGitHub { + owner = "csound"; + repo = "manual"; + rev = "3b0bdc83f9245261b4b85a57c3ed636d5d924a4f"; + sha256 = "074byjhaxraapyg54dxgg7hi1d4978aa9c1rmyi50p970nsxnacn"; + }; + + prePatch = '' + substituteInPlace manual.xml \ + --replace "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \ + "${docbook_xml_dtd_45}/xml/dtd/docbook/docbookx.dtd" + ''; + + nativeBuildInputs = [ libxslt.bin ]; + + buildInputs = [ docbook_xsl python pygments ]; + + buildPhase = '' + make XSL_BASE_PATH=${docbook_xsl}/share/xml/docbook-xsl html-dist + ''; + + installPhase = '' + mkdir -p $out/share/doc/csound + cp -r ./html $out/share/doc/csound + ''; + + meta = { + description = "The Csound Canonical Reference Manual"; + homepage = "https://github.com/csound/manual"; + license = stdenv.lib.licenses.fdl12Plus; + maintainers = [ stdenv.lib.maintainers.hlolli ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/audio/csound/csound-qt/default.nix b/pkgs/applications/audio/csound/csound-qt/default.nix index e9415335388..86e200ab252 100644 --- a/pkgs/applications/audio/csound/csound-qt/default.nix +++ b/pkgs/applications/audio/csound/csound-qt/default.nix @@ -1,44 +1,45 @@ { stdenv, csound, desktop-file-utils, fetchFromGitHub, python, python-qt, qmake, - qtwebengine, rtmidi, unzip }: + qtwebengine, qtxmlpatterns, rtmidi, fetchpatch }: stdenv.mkDerivation rec { - name = "csound-qt-${version}"; - version = "0.9.6-beta2"; + pname = "csound-qt"; + version = "0.9.6-beta3"; src = fetchFromGitHub { owner = "CsoundQt"; repo = "CsoundQt"; rev = "${version}"; - sha256 = "12jv7cvns3wj2npha0mvpn88kkkfsxsvhgzs2wrw04kbrvbhbffi"; + sha256 = "007jhkh0k6qk52r77i067999dwdiimazix6ggp2hvyc4pj6n5dip"; }; - patches = [ ./rtmidipath.patch ]; + patches = [ + (fetchpatch { + name = "examplepath.patch"; + url = "https://github.com/CsoundQt/CsoundQt/commit/09f2d515bff638cbcacb450979d66e273a59fdec.diff"; + sha256 = "0y23kf8m1mh9mklsvf908b2b8m2w2rji8qvws44paf1kpwnwdmgm"; + }) + ./rtmidipath.patch + ]; - nativeBuildInputs = [ qmake qtwebengine ]; + nativeBuildInputs = [ qmake qtwebengine qtxmlpatterns ]; - buildInputs = [ csound desktop-file-utils rtmidi unzip ]; + buildInputs = [ csound desktop-file-utils rtmidi ]; qmakeFlags = [ "qcs.pro" "CONFIG+=rtmidi" "CONFIG+=pythonqt" + "CONFIG+=record_support" "CONFIG+=html_webengine" "CSOUND_INCLUDE_DIR=${csound}/include/csound" "CSOUND_LIBRARY_DIR=${csound}/lib" "RTMIDI_DIR=${rtmidi.src}" - "PYTHONQT_SRC_DIR=${python-qt}/lib" + "PYTHONQT_SRC_DIR=${python-qt}/include/PythonQt" "PYTHONQT_LIB_DIR=${python-qt}/lib" - "LIBS+=${python-qt}/lib/libPythonQt-Qt5-Python2.7.so" - "LIBS+=${python-qt}/lib/libPythonQt_QtAll-Qt5-Python2.7.so" + "LIBS+=-L${python-qt}/lib" "INCLUDEPATH+=${python-qt}/include/PythonQt" "INCLUDEPATH+=${python}/include/python2.7" - "INSTALL_DIR=$(out)" - "SHARE_DIR=$(out)/share" + "INSTALL_DIR=${placeholder "out"}" + "SHARE_DIR=${placeholder "out"}/share" ]; - installPhase = '' - mkdir -p $out - cp -r bin $out - make install - ''; - meta = with stdenv.lib; { description = "CsoundQt is a frontend for Csound with editor, integrated help, widgets and other features."; homepage = https://csoundqt.github.io/; diff --git a/pkgs/applications/audio/csound/csound-qt/rtmidipath.patch b/pkgs/applications/audio/csound/csound-qt/rtmidipath.patch index f9522adb4b3..4cbab8a128f 100644 --- a/pkgs/applications/audio/csound/csound-qt/rtmidipath.patch +++ b/pkgs/applications/audio/csound/csound-qt/rtmidipath.patch @@ -3,15 +3,15 @@ index e5e0c896..9a9fa513 100644 --- a/src/src.pri +++ b/src/src.pri @@ -155,9 +155,9 @@ pythonqt { - "src/pyqcsobject.cpp" - } - rtmidi { -- HEADERS += "src/../$${RTMIDI_DIR}/RtMidi.h" -- SOURCES += "src/../$${RTMIDI_DIR}/RtMidi.cpp" -- INCLUDEPATH += src/../$${RTMIDI_DIR} -+ HEADERS += "$${RTMIDI_DIR}/RtMidi.h" -+ SOURCES += "$${RTMIDI_DIR}/RtMidi.cpp" -+ INCLUDEPATH += $${RTMIDI_DIR} - } - - perfThread_build { + "src/pyqcsobject.cpp" + } + rtmidi { +- HEADERS += "src/../$${RTMIDI_DIR}/RtMidi.h" +- SOURCES += "src/../$${RTMIDI_DIR}/RtMidi.cpp" +- INCLUDEPATH += src/../$${RTMIDI_DIR} ++ HEADERS += "$${RTMIDI_DIR}/RtMidi.h" ++ SOURCES += "$${RTMIDI_DIR}/RtMidi.cpp" ++ INCLUDEPATH += $${RTMIDI_DIR} + } + + perfThread_build { diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix index b11f525e9d2..758448c2fb3 100644 --- a/pkgs/applications/audio/csound/default.nix +++ b/pkgs/applications/audio/csound/default.nix @@ -13,11 +13,11 @@ }: stdenv.mkDerivation rec { - name = "csound-${version}"; + pname = "csound"; # When updating, please check if https://github.com/csound/csound/issues/1078 # has been fixed in the new version so we can use the normal fluidsynth # version and remove fluidsynth 1.x from nixpkgs again. - version = "6.12.2"; + version = "6.13.0"; enableParallelBuilding = true; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { owner = "csound"; repo = "csound"; rev = version; - sha256 = "01krxcf0alw9k7p5sv0s707600an4sl7lhw3bymbwgqrj0v2p9z2"; + sha256 = "14822ybqyp31z18gky2y9zadr9dkbhabg97y139py73w7v3af1bh"; }; cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp diff --git a/pkgs/applications/audio/curseradio/default.nix b/pkgs/applications/audio/curseradio/default.nix new file mode 100644 index 00000000000..1dd5f9ee5eb --- /dev/null +++ b/pkgs/applications/audio/curseradio/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, substituteAll, python3Packages, mpv }: + +python3Packages.buildPythonApplication rec { + version = "0.2"; + pname = "curseradio"; + + src = fetchFromGitHub { + owner = "chronitis"; + repo = pname; + rev = "1bd4bd0faeec675e0647bac9a100b526cba19f8d"; + sha256 = "11bf0jnj8h2fxhpdp498189r4s6b47vy4wripv0z4nx7lxajl88i"; + }; + + propagatedBuildInputs = with python3Packages; [ + requests + lxml + pyxdg + ]; + + patches = [ + (substituteAll { + src = ./mpv.patch; + inherit mpv; + }) + ]; + + # No tests + doCheck = false; + + meta = with stdenv.lib; { + description = "Command line radio player"; + homepage = "https://github.com/chronitis/curseradio"; + license = licenses.mit; + maintainers = [ maintainers.eyjhb ]; + }; +} diff --git a/pkgs/applications/audio/curseradio/mpv.patch b/pkgs/applications/audio/curseradio/mpv.patch new file mode 100644 index 00000000000..d085dc79109 --- /dev/null +++ b/pkgs/applications/audio/curseradio/mpv.patch @@ -0,0 +1,11 @@ +--- a/curseradio/curseradio.py ++++ b/curseradio/curseradio.py +@@ -30,7 +30,7 @@ import re + + CONFIG_DEFAULT = { + 'opml': {'root': "http://opml.radiotime.com/"}, +- 'playback': {'command': '/usr/bin/mpv'}, ++ 'playback': {'command': '@mpv@/bin/mpv'}, + 'interface': {'keymap': 'default'}, + 'keymap.default': { + 'up': 'KEY_UP', diff --git a/pkgs/applications/audio/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix index 0212560cd03..a6ca5b3639d 100644 --- a/pkgs/applications/audio/deadbeef/default.nix +++ b/pkgs/applications/audio/deadbeef/default.nix @@ -1,4 +1,10 @@ -{ config, stdenv, fetchurl, intltool, pkgconfig, jansson +{ config, stdenv, fetchFromGitHub +, autoconf +, automake +, libtool +, intltool +, pkgconfig +, jansson # deadbeef can use either gtk2 or gtk3 , gtk2Support ? false, gtk2 ? null , gtk3Support ? true, gtk3 ? null, gsettings-desktop-schemas ? null, wrapGAppsHook ? null @@ -9,7 +15,7 @@ , wavSupport ? true, libsndfile ? null , cdaSupport ? true, libcdio ? null, libcddb ? null , aacSupport ? true, faad2 ? null -, midiSupport ? false, wildmidi ? null +, opusSupport ? true, opusfile ? null , wavpackSupport ? false, wavpack ? null , ffmpegSupport ? false, ffmpeg ? null , apeSupport ? true, yasm ? null @@ -37,6 +43,7 @@ assert flacSupport -> flac != null; assert wavSupport -> libsndfile != null; assert cdaSupport -> (libcdio != null && libcddb != null); assert aacSupport -> faad2 != null; +assert opusSupport -> opusfile != null; assert zipSupport -> libzip != null; assert ffmpegSupport -> ffmpeg != null; assert apeSupport -> yasm != null; @@ -47,19 +54,27 @@ assert alsaSupport -> alsaLib != null; assert pulseSupport -> libpulseaudio != null; assert resamplerSupport -> libsamplerate != null; assert overloadSupport -> zlib != null; -assert midiSupport -> wildmidi != null; assert wavpackSupport -> wavpack != null; assert remoteSupport -> curl != null; stdenv.mkDerivation rec { - name = "deadbeef-${version}"; - version = "0.7.2"; + pname = "deadbeef"; + version = "1.8.0"; - src = fetchurl { - url = "mirror://sourceforge/project/deadbeef/${name}.tar.bz2"; - sha256 = "1168hgr1nf27pf24n1rlfh1kx1wiscwhpbhqw0rprwy203gsnqwa"; + src = fetchFromGitHub { + owner = "DeaDBeeF-Player"; + repo = "deadbeef"; + rev = version; + sha256 = "126i5qlkpv7pvi1mmc9y0jhqs6jjspsj7j615n2ddvsb2jsps81c"; }; + patches = [ + # Fix broken symbol name + # https://github.com/NixOS/nixpkgs/pull/59187#issuecomment-480977993 + # will be fixed in deadbeef 1.8.1 + ./fix-wildmidi.patch + ]; + buildInputs = with stdenv.lib; [ jansson ] ++ optional gtk2Support gtk2 ++ optionals gtk3Support [ gtk3 gsettings-desktop-schemas ] @@ -69,6 +84,7 @@ stdenv.mkDerivation rec { ++ optional wavSupport libsndfile ++ optionals cdaSupport [ libcdio libcddb ] ++ optional aacSupport faad2 + ++ optional opusSupport opusfile ++ optional zipSupport libzip ++ optional ffmpegSupport ffmpeg ++ optional apeSupport yasm @@ -79,16 +95,24 @@ stdenv.mkDerivation rec { ++ optional pulseSupport libpulseaudio ++ optional resamplerSupport libsamplerate ++ optional overloadSupport zlib - ++ optional midiSupport wildmidi ++ optional wavpackSupport wavpack ++ optional remoteSupport curl ; - nativeBuildInputs = with stdenv.lib; [ intltool pkgconfig ] - ++ optional gtk3Support wrapGAppsHook; + nativeBuildInputs = [ + autoconf + automake + intltool + libtool + pkgconfig + ] ++ stdenv.lib.optional gtk3Support wrapGAppsHook; enableParallelBuilding = true; + preConfigure = '' + ./autogen.sh + ''; + meta = with stdenv.lib; { description = "Ultimate Music Player for GNU/Linux"; homepage = http://deadbeef.sourceforge.net/; diff --git a/pkgs/applications/audio/deadbeef/fix-wildmidi.patch b/pkgs/applications/audio/deadbeef/fix-wildmidi.patch new file mode 100644 index 00000000000..c37308459bb --- /dev/null +++ b/pkgs/applications/audio/deadbeef/fix-wildmidi.patch @@ -0,0 +1,19 @@ +--- a/plugins/wildmidi/src/wildmidi_lib.c ++++ b/plugins/wildmidi/src/wildmidi_lib.c +@@ -394,11 +394,11 @@ free_gauss (void) { + } + } + +-unsigned long int delay_size[4][2]; +-signed long int a[5][2]; +-signed long int b[5][2]; +-signed long int gain_in[4]; +-signed long int gain_out[4]; ++static unsigned long int delay_size[4][2]; ++static signed long int a[5][2]; ++static signed long int b[5][2]; ++static signed long int gain_in[4]; ++static signed long int gain_out[4]; + + void init_lowpass (void) { + float c = 0; diff --git a/pkgs/applications/audio/deadbeef/plugins/headerbar-gtk3.nix b/pkgs/applications/audio/deadbeef/plugins/headerbar-gtk3.nix index dab3a97f6e7..b26360f0c46 100644 --- a/pkgs/applications/audio/deadbeef/plugins/headerbar-gtk3.nix +++ b/pkgs/applications/audio/deadbeef/plugins/headerbar-gtk3.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, libxml2, deadbeef, glib, gtk3 }: stdenv.mkDerivation rec { - name = "deadbeef-headerbar-gtk3-plugin-${version}"; + pname = "deadbeef-headerbar-gtk3-plugin"; version = "1.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/deadbeef/plugins/infobar.nix b/pkgs/applications/audio/deadbeef/plugins/infobar.nix index 92f566e3657..8a81101983f 100644 --- a/pkgs/applications/audio/deadbeef/plugins/infobar.nix +++ b/pkgs/applications/audio/deadbeef/plugins/infobar.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, deadbeef, gtk3, libxml2 }: stdenv.mkDerivation rec { - name = "deadbeef-infobar-plugin-${version}"; + pname = "deadbeef-infobar-plugin"; version = "1.4"; src = fetchurl { @@ -24,7 +24,8 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - description = "DeadBeeF Infobar Plugin"; + broken = true; # crashes DeaDBeeF and is abandoned (https://bitbucket.org/dsimbiriatin/deadbeef-infobar/issues/38/infobar-causes-deadbeef-180-to-crash) + description = "DeaDBeeF Infobar Plugin"; homepage = https://bitbucket.org/dsimbiriatin/deadbeef-infobar; license = licenses.gpl2Plus; maintainers = [ maintainers.jtojnar ]; diff --git a/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix b/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix new file mode 100644 index 00000000000..97e054bda64 --- /dev/null +++ b/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, pkgconfig, deadbeef, gtkmm3, libxmlxx3 }: + +stdenv.mkDerivation rec { + pname = "deadbeef-lyricbar-plugin"; + version = "unstable-2019-01-29"; + + src = fetchFromGitHub { + owner = "C0rn3j"; + repo = "deadbeef-lyricbar"; + rev = "8f99b92ef827c451c43fc7dff38ae4f15c355e8e"; + sha256 = "108hx5530f4xm8p9m2bk79nq7jkhcj39ad3vmxb2y6h6l2zv5kwl"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ deadbeef gtkmm3 libxmlxx3 ]; + + buildFlags = [ "gtk3" ]; + + meta = with stdenv.lib; { + description = "Plugin for DeaDBeeF audio player that fetches and shows the song’s lyrics"; + homepage = "https://github.com/C0rn3j/deadbeef-lyricbar"; + license = licenses.mit; + maintainers = [ maintainers.jtojnar ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/deadbeef/plugins/mpris2.nix b/pkgs/applications/audio/deadbeef/plugins/mpris2.nix index 4e2e75953f3..5b27f3c3f32 100644 --- a/pkgs/applications/audio/deadbeef/plugins/mpris2.nix +++ b/pkgs/applications/audio/deadbeef/plugins/mpris2.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, deadbeef, glib }: stdenv.mkDerivation rec { - name = "deadbeef-mpris2-plugin-${version}"; - version = "1.11"; + pname = "deadbeef-mpris2-plugin"; + version = "1.12"; src = fetchurl { - url = "https://github.com/Serranya/deadbeef-mpris2-plugin/releases/download/v${version}/${name}.tar.xz"; - sha256 = "1j631z34rwxf6wdjpsf8c2f1saq6qas1qmkgsg63m6zzpwqyizw0"; + url = "https://github.com/Serranya/deadbeef-mpris2-plugin/releases/download/v${version}/${pname}-${version}.tar.xz"; + sha256 = "0s3y4ka4qf38cypc0xspy79q0g5y1kqx6ldad7yr6a45nw6j95jh"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/audio/deadbeef/plugins/opus.nix b/pkgs/applications/audio/deadbeef/plugins/opus.nix deleted file mode 100644 index 55db00c15bf..00000000000 --- a/pkgs/applications/audio/deadbeef/plugins/opus.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ stdenv, fetchFromBitbucket, opusfile, libopus, libogg, openssl, deadbeef }: - -stdenv.mkDerivation rec { - name = "deadbeef-opus-plugin-${version}"; - version = "0.8"; - - src = fetchFromBitbucket { - owner = "Lithopsian"; - repo = "deadbeef-opus"; - rev = "v${version}"; - sha256 = "057rgsw4563gs63k05s7zsdc0n4djxwlbyqabf7c88f23z35ryyi"; - }; - - makeFlags = [ - "PREFIX=$(out)" - ]; - - NIX_CFLAGS_COMPILE = [ - "-I${opusfile}/include/opus" - ]; - - buildInputs = [ deadbeef opusfile libopus libogg openssl ]; - - meta = with stdenv.lib; { - description = "Ogg Opus decoder plugin for the DeaDBeeF music player"; - homepage = https://bitbucket.org/Lithopsian/deadbeef-opus; - license = licenses.gpl2; # There are three files, each licensed under different license: zlib, gpl2Plus and lgpl2 - maintainers = [ maintainers.jtojnar ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/audio/denemo/default.nix b/pkgs/applications/audio/denemo/default.nix index 6c1536c0a61..331e3fb9698 100644 --- a/pkgs/applications/audio/denemo/default.nix +++ b/pkgs/applications/audio/denemo/default.nix @@ -5,12 +5,12 @@ , portaudio, portmidi, fftw, makeWrapper }: stdenv.mkDerivation rec { - name = "denemo-${version}"; - version = "2.2.0"; + pname = "denemo"; + version = "2.3.0"; src = fetchurl { url = "https://ftp.gnu.org/gnu/denemo/denemo-${version}.tar.gz"; - sha256 = "18zcs4xmfj4vpzi15dj7k5bjzzzlr3sjf9xhrrgy4samrrdpqzfh"; + sha256 = "1blkcl3slbsq9jlhwcf2m9v9g38a0sjfhh9advgi2qr1gxri08by"; }; buildInputs = [ diff --git a/pkgs/applications/audio/dfasma/default.nix b/pkgs/applications/audio/dfasma/default.nix index d16534b03d3..1785ca60060 100644 --- a/pkgs/applications/audio/dfasma/default.nix +++ b/pkgs/applications/audio/dfasma/default.nix @@ -27,7 +27,7 @@ let }; in stdenv.mkDerivation rec { - name = "dfasma-${version}"; + pname = "dfasma"; version = "1.4.5"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix index 1c41451b08f..054fc758d64 100644 --- a/pkgs/applications/audio/distrho/default.nix +++ b/pkgs/applications/audio/distrho/default.nix @@ -8,7 +8,7 @@ let else if stdenv.hostPlatform.isWindows then "mingw" else "linux"; in stdenv.mkDerivation rec { - name = "distrho-ports-${version}"; + pname = "distrho-ports"; version = "2018-04-16"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/dragonfly-reverb/default.nix b/pkgs/applications/audio/dragonfly-reverb/default.nix index 1710931aa22..da915f3fc3e 100644 --- a/pkgs/applications/audio/dragonfly-reverb/default.nix +++ b/pkgs/applications/audio/dragonfly-reverb/default.nix @@ -1,13 +1,14 @@ { stdenv, fetchFromGitHub, libjack2, libGL, pkgconfig, xorg }: stdenv.mkDerivation rec { - name = "dragonfly-reverb-${src.rev}"; + pname = "dragonfly-reverb"; + version = "2.0.0"; src = fetchFromGitHub { owner = "michaelwillis"; repo = "dragonfly-reverb"; - rev = "1.0.0"; - sha256 = "05m4hd8lg0a7iiia6cbiw5qmc4p8vbkxp2qh7ywaabawiwa9r24x"; + rev = version; + sha256 = "1qrbv4kk5v6ynx424h1i54qj0w8v6vpw81b759jawxvzzprpgq72"; fetchSubmodules = true; }; @@ -21,15 +22,22 @@ stdenv.mkDerivation rec { ]; installPhase = '' + mkdir -p $out/bin mkdir -p $out/lib/lv2/ - cp -a bin/DragonflyReverb.lv2/ $out/lib/lv2/ + mkdir -p $out/lib/vst/ + cd bin + for bin in DragonflyHallReverb DragonflyRoomReverb; do + cp -a $bin $out/bin/ + cp -a $bin-vst.so $out/lib/vst/ + cp -a $bin.lv2/ $out/lib/lv2/ ; + done ''; meta = with stdenv.lib; { homepage = https://github.com/michaelwillis/dragonfly-reverb; description = "A hall-style reverb based on freeverb3 algorithms"; maintainers = [ maintainers.magnetophon ]; - license = licenses.gpl2; + license = licenses.gpl3; platforms = ["x86_64-linux"]; }; } diff --git a/pkgs/applications/audio/drumgizmo/default.nix b/pkgs/applications/audio/drumgizmo/default.nix index 53949da43e0..11b214f6bb3 100644 --- a/pkgs/applications/audio/drumgizmo/default.nix +++ b/pkgs/applications/audio/drumgizmo/default.nix @@ -3,12 +3,12 @@ }: stdenv.mkDerivation rec { - version = "0.9.16"; - name = "drumgizmo-${version}"; + version = "0.9.17"; + pname = "drumgizmo"; src = fetchurl { - url = "https://www.drumgizmo.org/releases/${name}/${name}.tar.gz"; - sha256 = "0ivr61n9gpigsfgn20rh3n09li8sxh1q095r6wiw0shqhn3vaxlg"; + url = "https://www.drumgizmo.org/releases/${pname}-${version}/${pname}-${version}.tar.gz"; + sha256 = "177c27kz9srds7a659zz9yhp58z0zsk0ydwww7l3jkjlylm1p8x1"; }; configureFlags = [ "--enable-lv2" ]; diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix index fd5cc4a416e..8f1f79169d7 100644 --- a/pkgs/applications/audio/drumkv1/default.nix +++ b/pkgs/applications/audio/drumkv1/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, libjack2, alsaLib, libsndfile, liblo, lv2, qt5 }: stdenv.mkDerivation rec { - name = "drumkv1-${version}"; - version = "0.9.4"; + pname = "drumkv1"; + version = "0.9.9"; src = fetchurl { - url = "mirror://sourceforge/drumkv1/${name}.tar.gz"; - sha256 = "02j10khl3wd17z0wfs3crr55wv7h9f0qhhg90xg0kvrxvw83vzy9"; + url = "mirror://sourceforge/drumkv1/${pname}-${version}.tar.gz"; + sha256 = "02sa29fdjgwcf7izly685gxvga3bxyyqvskvfiisgm2xg3h9r983"; }; buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ]; diff --git a/pkgs/applications/audio/easytag/default.nix b/pkgs/applications/audio/easytag/default.nix index e61b9d8b290..c6fb7c67d58 100644 --- a/pkgs/applications/audio/easytag/default.nix +++ b/pkgs/applications/audio/easytag/default.nix @@ -19,7 +19,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig intltool itstool libxml2 wrapGAppsHook ]; buildInputs = [ gtk3 glib libid3tag id3lib taglib libvorbis libogg opusfile flac - gsettings-desktop-schemas gnome3.defaultIconTheme + gsettings-desktop-schemas gnome3.adwaita-icon-theme ]; doCheck = false; # fails 1 out of 9 tests diff --git a/pkgs/applications/audio/ecasound/default.nix b/pkgs/applications/audio/ecasound/default.nix index a9d84eb6e6c..6c9cd628a51 100644 --- a/pkgs/applications/audio/ecasound/default.nix +++ b/pkgs/applications/audio/ecasound/default.nix @@ -14,12 +14,12 @@ # TODO: fix readline, ncurses, lilv, liblo, liboil and python. See configure log. stdenv.mkDerivation rec { - name = "ecasound-${version}"; - version = "2.9.1"; + pname = "ecasound"; + version = "2.9.2"; src = fetchurl { url = "https://ecasound.seul.org/download/ecasound-${version}.tar.gz"; - sha256 = "1wyws3xc4f9pglrrqv6k9137sarv4asizqrxz8h0dn44rnzfiz1r"; + sha256 = "15rcs28fq2wfvfs66p5na7adq88b55qszbhshpizgdbyqzgr2jf1"; }; buildInputs = [ alsaLib audiofile libjack2 liblo liboil libsamplerate libsndfile lilv lv2 ]; diff --git a/pkgs/applications/audio/eflite/default.nix b/pkgs/applications/audio/eflite/default.nix index 4138a07ec06..2338c0ed376 100644 --- a/pkgs/applications/audio/eflite/default.nix +++ b/pkgs/applications/audio/eflite/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, fetchpatch, flite, alsaLib, debug ? false }: stdenv.mkDerivation rec { - name = "eflite-${version}"; + pname = "eflite"; version = "0.4.1"; src = fetchurl { - url = "https://sourceforge.net/projects/eflite/files/eflite/${version}/${name}.tar.gz"; + url = "https://sourceforge.net/projects/eflite/files/eflite/${version}/${pname}-${version}.tar.gz"; sha256 = "088p9w816s02s64grfs28gai3lnibzdjb9d1jwxzr8smbs2qbbci"; }; diff --git a/pkgs/applications/audio/ekho/default.nix b/pkgs/applications/audio/ekho/default.nix index 209ffa05bf2..0e2c950051a 100644 --- a/pkgs/applications/audio/ekho/default.nix +++ b/pkgs/applications/audio/ekho/default.nix @@ -5,7 +5,8 @@ let version = "5.8.2"; in stdenv.mkDerivation rec { - name = "ekho-${version}"; + pname = "ekho"; + inherit version; meta = with stdenv.lib; { description = "Chinese text-to-speech software"; @@ -23,7 +24,7 @@ in stdenv.mkDerivation rec { }; src = fetchurl { - url = "mirror://sourceforge/e-guidedog/Ekho/${version}/${name}.tar.xz"; + url = "mirror://sourceforge/e-guidedog/Ekho/${version}/${pname}-${version}.tar.xz"; sha256 = "0ym6lpcpsvwvsiwlzkl1509a2hljwcw7synngrmqjq1n49ww00nj"; }; diff --git a/pkgs/applications/audio/elisa/default.nix b/pkgs/applications/audio/elisa/default.nix index 00e10a2ff1e..37c95430627 100644 --- a/pkgs/applications/audio/elisa/default.nix +++ b/pkgs/applications/audio/elisa/default.nix @@ -1,26 +1,28 @@ { mkDerivation, fetchFromGitHub, lib , extra-cmake-modules, kdoctools, wrapGAppsHook , qtmultimedia, qtquickcontrols2, qtwebsockets -, kconfig, kcmutils, kcrash, kdeclarative, kfilemetadata, kinit -, baloo +, kconfig, kcmutils, kcrash, kdeclarative, kfilemetadata, kinit, kirigami2 +, baloo, vlc }: mkDerivation rec { - name = "elisa-${version}"; - version = "0.3.0"; + pname = "elisa"; + version = "0.4.2"; src = fetchFromGitHub { owner = "KDE"; repo = "elisa"; rev = "v${version}"; - sha256 = "0bpkr5rp9nfa2wzm6w3xkhsfgf5dbgxbmhckjh9wkxal3mncpkg4"; + sha256 = "0q098zaajwbpkrarrsdzpjhpsq2nxkqaxwzhr2gjlg08j9vqkpfm"; }; + buildInputs = [ vlc ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ]; propagatedBuildInputs = [ qtmultimedia qtquickcontrols2 qtwebsockets - kconfig kcmutils kcrash kdeclarative kfilemetadata kinit + kconfig kcmutils kcrash kdeclarative kfilemetadata kinit kirigami2 baloo ]; diff --git a/pkgs/applications/audio/eq10q/default.nix b/pkgs/applications/audio/eq10q/default.nix index 651604c71a1..0308fad831d 100644 --- a/pkgs/applications/audio/eq10q/default.nix +++ b/pkgs/applications/audio/eq10q/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, fetchpatch, cmake, fftw, gtkmm2, libxcb, lv2, pkgconfig , xorg }: stdenv.mkDerivation rec { - name = "eq10q-${version}"; + pname = "eq10q"; version = "2.2"; src = fetchurl { - url = "mirror://sourceforge/project/eq10q/${name}.tar.gz"; + url = "mirror://sourceforge/project/eq10q/${pname}-${version}.tar.gz"; sha256 = "16mhcav8gwkp29k9ki4dlkajlcgh1i2wvldabxb046d37dq4qzrk"; }; diff --git a/pkgs/applications/audio/espeak-ng/default.nix b/pkgs/applications/audio/espeak-ng/default.nix index 5d0af8cf17a..043d5b9d2d3 100644 --- a/pkgs/applications/audio/espeak-ng/default.nix +++ b/pkgs/applications/audio/espeak-ng/default.nix @@ -4,7 +4,7 @@ , sonicSupport ? true, sonic }: stdenv.mkDerivation rec { - name = "espeak-ng-${version}"; + pname = "espeak-ng"; version = "1.49.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/eteroj.lv2/default.nix b/pkgs/applications/audio/eteroj.lv2/default.nix index 28e4879efdc..bbfe1ad5623 100644 --- a/pkgs/applications/audio/eteroj.lv2/default.nix +++ b/pkgs/applications/audio/eteroj.lv2/default.nix @@ -3,7 +3,6 @@ stdenv.mkDerivation rec { pname = "eteroj.lv2"; version = "0.4.0"; - name = "${pname}-${version}"; src = fetchFromGitHub { owner = "OpenMusicKontrollers"; diff --git a/pkgs/applications/audio/faust/faust1.nix b/pkgs/applications/audio/faust/faust1.nix index 6e47d921d34..687608b4352 100644 --- a/pkgs/applications/audio/faust/faust1.nix +++ b/pkgs/applications/audio/faust/faust1.nix @@ -25,7 +25,8 @@ let }; faust = stdenv.mkDerivation { - name = "faust-${version}"; + pname = "faust"; + inherit version; inherit src; diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix index 383d2deb10b..ad1239b22af 100644 --- a/pkgs/applications/audio/faust/faust2.nix +++ b/pkgs/applications/audio/faust/faust2.nix @@ -35,7 +35,8 @@ let faust = stdenv.mkDerivation { - name = "faust-${version}"; + pname = "faust"; + inherit version; inherit src; diff --git a/pkgs/applications/audio/faust/faust2alsa.nix b/pkgs/applications/audio/faust/faust2alsa.nix index 17cec46f6c6..6af5af9bbaf 100644 --- a/pkgs/applications/audio/faust/faust2alsa.nix +++ b/pkgs/applications/audio/faust/faust2alsa.nix @@ -4,7 +4,7 @@ , cairo , fontconfig , freetype -, gdk_pixbuf +, gdk-pixbuf , glib , gtk2 , pango @@ -20,7 +20,7 @@ faust.wrapWithBuildEnv { cairo fontconfig freetype - gdk_pixbuf + gdk-pixbuf glib gtk2 pango diff --git a/pkgs/applications/audio/faust/faustlive.nix b/pkgs/applications/audio/faust/faustlive.nix index 754c4807060..4268a783c8d 100644 --- a/pkgs/applications/audio/faust/faustlive.nix +++ b/pkgs/applications/audio/faust/faustlive.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "faustlive-${version}"; + pname = "faustlive"; version = "2017-12-05"; src = fetchFromGitHub { owner = "grame-cncm"; diff --git a/pkgs/applications/audio/flac123/default.nix b/pkgs/applications/audio/flac123/default.nix index f0863bfc50b..19ed2352355 100644 --- a/pkgs/applications/audio/flac123/default.nix +++ b/pkgs/applications/audio/flac123/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoreconfHook, flac, libao, libogg, popt }: stdenv.mkDerivation rec { - name = "flac123-${version}"; + pname = "flac123"; version = "0.0.12"; src = fetchurl { - url = "mirror://sourceforge/flac-tools/${name}-release.tar.gz"; + url = "mirror://sourceforge/flac-tools/${pname}-${version}-release.tar.gz"; sha256 = "0zg4ahkg7v81za518x32wldf42g0rrvlrcqhrg9sv3li9bayyxhr"; }; diff --git a/pkgs/applications/audio/flacon/default.nix b/pkgs/applications/audio/flacon/default.nix index 1c5eaba78b2..02317fee15f 100644 --- a/pkgs/applications/audio/flacon/default.nix +++ b/pkgs/applications/audio/flacon/default.nix @@ -4,14 +4,14 @@ }: stdenv.mkDerivation rec { - name = "flacon-${version}"; - version = "5.1.0"; + pname = "flacon"; + version = "5.4.0"; src = fetchFromGitHub { owner = "flacon"; repo = "flacon"; rev = "v${version}"; - sha256 = "18m077z1hqjg10chy5rgajd9q1wnrcxhiidivgjcdchc9q5d4b08"; + sha256 = "1j8gzk92kn10yb7rmvrnyq0ipda2swnkmsavqsk5ws0z600p3k93"; }; nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix index f0fbc0bbe5c..404c9cc825e 100644 --- a/pkgs/applications/audio/fluidsynth/default.nix +++ b/pkgs/applications/audio/fluidsynth/default.nix @@ -11,8 +11,8 @@ let sha256 = "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh"; }; "2" = { - fluidsynthVersion = "2.0.3"; - sha256 = "00f6bhw4ddrinb5flvg5y53rcvnf4km23a6nbvnswmpq13568v78"; + fluidsynthVersion = "2.0.5"; + sha256 = "0rv0apxbj0cgm8f8sqf5xr6kdi4q58ph92ip6cg716ha0ca5lr8y"; }; }; in @@ -32,11 +32,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig cmake ]; - buildInputs = [ glib libsndfile ] - ++ lib.optionals (!stdenv.isDarwin) [ alsaLib libpulseaudio libjack2 ] + buildInputs = [ glib libsndfile libpulseaudio libjack2 ] + ++ lib.optionals stdenv.isLinux [ alsaLib ] ++ lib.optionals stdenv.isDarwin [ AudioUnit CoreAudio CoreMIDI CoreServices ]; - cmakeFlags = lib.optional stdenv.isDarwin "-Denable-framework=off"; + cmakeFlags = [ "-Denable-framework=off" ]; meta = with lib; { description = "Real-time software synthesizer based on the SoundFont 2 specifications"; diff --git a/pkgs/applications/audio/fmit/default.nix b/pkgs/applications/audio/fmit/default.nix index a61f7dc0a90..680694aa403 100644 --- a/pkgs/applications/audio/fmit/default.nix +++ b/pkgs/applications/audio/fmit/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fftw, qtbase, qtmultimedia, qmake +{ stdenv, mkDerivation, fetchFromGitHub, fftw, qtbase, qtmultimedia, qmake, itstool, wrapQtAppsHook , alsaSupport ? true, alsaLib ? null , jackSupport ? false, libjack2 ? null , portaudioSupport ? false, portaudio ? null }: @@ -9,18 +9,18 @@ assert portaudioSupport -> portaudio != null; with stdenv.lib; -stdenv.mkDerivation rec { - name = "fmit-${version}"; - version = "1.1.14"; +mkDerivation rec { + pname = "fmit"; + version = "1.2.6"; src = fetchFromGitHub { - sha256 = "18gvl8smcnigzldy1acs5h8rscf287b39xi4y2cl5armqbj0y38x"; - rev = "v${version}"; - repo = "fmit"; owner = "gillesdegottex"; + repo = "fmit"; + rev = "v${version}"; + sha256 = "03nzkig5mw2rqwhwmg0qvc5cnk9bwh2wp13jh0mdrr935w0587mz"; }; - nativeBuildInputs = [ qmake ]; + nativeBuildInputs = [ qmake itstool wrapQtAppsHook ]; buildInputs = [ fftw qtbase qtmultimedia ] ++ optionals alsaSupport [ alsaLib ] ++ optionals jackSupport [ libjack2 ] diff --git a/pkgs/applications/audio/fmsynth/default.nix b/pkgs/applications/audio/fmsynth/default.nix index 58d095080fe..dc163de8ade 100644 --- a/pkgs/applications/audio/fmsynth/default.nix +++ b/pkgs/applications/audio/fmsynth/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, gtkmm2, lv2, lvtk, pkgconfig }: stdenv.mkDerivation rec { - name = "fmsynth-unstable-${version}"; + pname = "fmsynth-unstable"; version = "2015-02-07"; src = fetchFromGitHub { owner = "Themaister"; diff --git a/pkgs/applications/audio/fomp/default.nix b/pkgs/applications/audio/fomp/default.nix index 680fab4ca64..a92d331baad 100644 --- a/pkgs/applications/audio/fomp/default.nix +++ b/pkgs/applications/audio/fomp/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, lv2, pkgconfig, python2, wafHook }: stdenv.mkDerivation rec { - name = "fomp-${version}"; + pname = "fomp"; version = "1.0.0"; src = fetchurl { - url = "https://download.drobilla.net/${name}.tar.bz2"; + url = "https://download.drobilla.net/${pname}-${version}.tar.bz2"; sha256 = "1hh2xhknanqn3iwp12ihl6bf8p7bqxryms9qk7mh21lixl42b8k5"; }; diff --git a/pkgs/applications/audio/foo-yc20/default.nix b/pkgs/applications/audio/foo-yc20/default.nix index 28b2cd98e02..330ae56f13f 100644 --- a/pkgs/applications/audio/foo-yc20/default.nix +++ b/pkgs/applications/audio/foo-yc20/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "git-2015-05-21"; - name = "foo-yc20-${version}"; + pname = "foo-yc20"; src = fetchFromGitHub { owner = "sampov2"; repo = "foo-yc20"; diff --git a/pkgs/applications/audio/freewheeling/am_path_sdl.patch b/pkgs/applications/audio/freewheeling/am_path_sdl.patch deleted file mode 100644 index 2bc3b4f45ac..00000000000 --- a/pkgs/applications/audio/freewheeling/am_path_sdl.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- code-r100/configure.ac 2014-09-25 23:44:41.059174904 +0200 -+++ code-r100.new/configure.ac 2014-09-26 01:37:18.507017390 +0200 -@@ -44,6 +44,8 @@ - [AC_MSG_ERROR(CONFIG: You need libxml2-dev installed. - http://www.xmlsoft.org/)]) - -+PKG_CHECK_MODULES([libxml], [libxml-2.0]) -+ - AC_CHECK_LIB([m], [sqrt], , [AC_MSG_ERROR(CORE: You need libm installed)]) - AC_CHECK_LIB([pthread], [pthread_self], , [AC_MSG_ERROR(CORE: You need libpthread installed)]) - -@@ -79,12 +81,12 @@ - echo "--- Enabling USB LCD display --"; - fi - --#SDL_VERSION=1.2.4 --#AM_PATH_SDL($SDL_VERSION, --# :, --# AC_MSG_ERROR([VIDEO: *** SDL version $SDL_VERSION not found! --# http://www.libsdl.org/]) --#) -+SDL_VERSION=1.2.4 -+AM_PATH_SDL($SDL_VERSION, -+ :, -+ AC_MSG_ERROR([VIDEO: *** SDL version $SDL_VERSION not found! -+ http://www.libsdl.org/]) -+) - - AC_CHECK_LIB([vorbis], [main], , - [AC_MSG_ERROR(AUDIO: You need libvorbis-dev installed. -@@ -95,6 +97,9 @@ - AC_CHECK_LIB([vorbisenc], [main], , - [AC_MSG_ERROR(AUDIO: You need libvorbis-dev installed. - http://www.xiph.org/ogg/vorbis/)]) -+AC_CHECK_LIB([ogg], [main], , -+ [AC_MSG_ERROR(AUDIO: You need libogg-dev installed. -+ http://www.xiph.org/ogg/)]) - - AC_CHECK_LIB([sndfile], [main], , - [AC_MSG_ERROR(AUDIO: you need libsndfile installed. diff --git a/pkgs/applications/audio/freewheeling/default.nix b/pkgs/applications/audio/freewheeling/default.nix index 4266b8c69bb..a2588093309 100644 --- a/pkgs/applications/audio/freewheeling/default.nix +++ b/pkgs/applications/audio/freewheeling/default.nix @@ -7,14 +7,14 @@ let in stdenv.mkDerivation rec { - name = "freewheeling-${version}"; - version = "0.6.4"; + pname = "freewheeling"; + version = "0.6.5"; src = fetchFromGitHub { owner = "free-wheeling"; repo = "freewheeling"; rev = "v${version}"; - sha256 = "1xflbbnjdibjmyxb1zq8liylaw5k03nnl1z3272jh204pqh17ri9"; + sha256 = "1gjii2kndffj9iqici4vb9zrkrdqj1hs9q43x7jv48wv9872z78r"; }; nativeBuildInputs = [ pkgconfig autoreconfHook libtool ]; diff --git a/pkgs/applications/audio/freewheeling/xml.patch b/pkgs/applications/audio/freewheeling/xml.patch deleted file mode 100644 index fd9d4fb39fe..00000000000 --- a/pkgs/applications/audio/freewheeling/xml.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- code-r100/src/Makefile.am 2014-09-25 23:44:41.043174832 +0200 -+++ code-r100.new/src/Makefile.am 2014-09-26 01:21:03.750015888 +0200 -@@ -24,7 +24,8 @@ - - fweelindir = $(datadir)/fweelin - --FWEELIN_CFLAGS = -I. -g -Wall -Wno-write-strings -Wno-non-virtual-dtor -D_REENTRANT -DPTHREADS -DNDEBUG -DVERSION=\"$(VERSION)\" -DFWEELIN_DATADIR=\"$(fweelindir)\" -DADDON_DIR=\"/usr/local/lib/jack\" -I/usr/include/freetype2 -I/usr/include/libxml2 -funroll-loops -finline-functions -fomit-frame-pointer -ffast-math -fexpensive-optimizations -fstrict-aliasing -falign-loops=2 -falign-jumps=2 -falign-functions=2 -O9 -+XML_CFLAGS = `xml2-config --cflags` -+FWEELIN_CFLAGS = -I. -g -Wall -Wno-write-strings -Wno-non-virtual-dtor -D_REENTRANT -DPTHREADS -DNDEBUG -DVERSION=\"$(VERSION)\" -DFWEELIN_DATADIR=\"$(fweelindir)\" -DADDON_DIR=\"/usr/local/lib/jack\" -I/usr/include/freetype2 $(XML_CFLAGS) -funroll-loops -finline-functions -fomit-frame-pointer -ffast-math -fexpensive-optimizations -fstrict-aliasing -falign-loops=2 -falign-jumps=2 -falign-functions=2 -O9 - - AM_CFLAGS = $(CFLAGS) $(FWEELIN_CFLAGS) --AM_CXXFLAGS = $(CFLAGS) $(CXXFLAGS) $(FWEELIN_CFLAGS) -+AM_CXXFLAGS = $(CFLAGS) $(CXXFLAGS) $(FWEELIN_CFLAGS) ${libxml2_CFLAGS} diff --git a/pkgs/applications/audio/game-music-emu/default.nix b/pkgs/applications/audio/game-music-emu/default.nix index a0a79785283..d95b3eea596 100644 --- a/pkgs/applications/audio/game-music-emu/default.nix +++ b/pkgs/applications/audio/game-music-emu/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "0.6.1"; - name = "game-music-emu-${version}"; + pname = "game-music-emu"; src = fetchurl { - url = "https://bitbucket.org/mpyne/game-music-emu/downloads/${name}.tar.bz2"; + url = "https://bitbucket.org/mpyne/game-music-emu/downloads/${pname}-${version}.tar.bz2"; sha256 = "08fk7zddpn7v93d0fa7fcypx7hvgwx9b5psj9l6m8b87k2hbw4fw"; }; diff --git a/pkgs/applications/audio/gigedit/default.nix b/pkgs/applications/audio/gigedit/default.nix index e9ce20f6c80..d8fada45eb1 100644 --- a/pkgs/applications/audio/gigedit/default.nix +++ b/pkgs/applications/audio/gigedit/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "gigedit-${version}"; + pname = "gigedit"; version = "1.1.0"; src = fetchurl { - url = "https://download.linuxsampler.org/packages/${name}.tar.bz2"; + url = "https://download.linuxsampler.org/packages/${pname}-${version}.tar.bz2"; sha256 = "087pc919q28r1vw31c7w4m14bqnp4md1i2wbmk8w0vmwv2cbx2ni"; }; diff --git a/pkgs/applications/audio/gmpc/default.nix b/pkgs/applications/audio/gmpc/default.nix index 099e4428016..cae35b62519 100644 --- a/pkgs/applications/audio/gmpc/default.nix +++ b/pkgs/applications/audio/gmpc/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "gmpc-${version}"; + pname = "gmpc"; version = "11.8.16"; libmpd = stdenv.mkDerivation { @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { homepage = https://gmpclient.org; description = "A GTK2 frontend for Music Player Daemon"; license = licenses.gpl2; - maintainers = [ maintainers.rickynils ]; + maintainers = []; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix index c8db1ac6d10..3406f317884 100644 --- a/pkgs/applications/audio/gnome-podcasts/default.nix +++ b/pkgs/applications/audio/gnome-podcasts/default.nix @@ -1,17 +1,25 @@ -{ stdenv, fetchurl, fetchFromGitLab, meson, ninja, gettext, cargo, rustc, python3, rustPlatform, pkgconfig, gnome3 +{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext, cargo, rustc, python3, pkgconfig, gnome3 , glib, libhandy, gtk3, dbus, openssl, sqlite, gst_all_1, wrapGAppsHook }: # TODO: build from git for easier updates # rustPlatform.buildRustPackage rec { stdenv.mkDerivation rec { version = "0.4.6"; - name = "gnome-podcasts-${version}"; + pname = "gnome-podcasts"; src = fetchurl { url = https://gitlab.gnome.org/World/podcasts/uploads/e59ac5d618d7daf4c7f33ba72957c466/gnome-podcasts-0.4.6.tar.xz; sha256 = "0g2rk3w251fp5jwbxs5ya1adv8nsgdqjy1vmfg8qqab6qyndhbrc"; }; + patches = [ + # podcasts-data would fail to build because it errors on warnings + (fetchpatch { + url = "https://gitlab.gnome.org/World/podcasts/commit/7dc1b25ee7fc59a188312d31b1fa00c3110ae63e.patch"; + sha256 = "03ibbh1snk1391vnni529agqs14lzg5g0axjgpf3gn8dwwh1yvd5"; + }) + ]; + # src = fetchFromGitLab { # domain = "gitlab.gnome.org"; # owner = "World"; diff --git a/pkgs/applications/audio/google-play-music-desktop-player/default.nix b/pkgs/applications/audio/google-play-music-desktop-player/default.nix index 5951572dd24..b51b72f1c8a 100644 --- a/pkgs/applications/audio/google-play-music-desktop-player/default.nix +++ b/pkgs/applications/audio/google-play-music-desktop-player/default.nix @@ -1,5 +1,5 @@ { stdenv, alsaLib, atk, cairo, cups, dbus, dpkg, expat, fontconfig, freetype -, fetchurl, GConf, gdk_pixbuf, glib, gtk2, gtk3, libpulseaudio, makeWrapper, nspr +, fetchurl, GConf, gdk-pixbuf, glib, gtk2, gtk3, libpulseaudio, makeWrapper, nspr , nss, pango, udev, xorg }: @@ -16,7 +16,7 @@ let fontconfig freetype GConf - gdk_pixbuf + gdk-pixbuf glib gtk2 gtk3 @@ -43,7 +43,8 @@ let in stdenv.mkDerivation { - name = "google-play-music-desktop-player-${version}"; + pname = "google-play-music-desktop-player"; + inherit version; src = fetchurl { url = "https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/releases/download/v${version}/google-play-music-desktop-player_${version}_amd64.deb"; diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix index 2544be383e5..656018907a5 100644 --- a/pkgs/applications/audio/gpodder/default.nix +++ b/pkgs/applications/audio/gpodder/default.nix @@ -5,16 +5,20 @@ python3Packages.buildPythonApplication rec { pname = "gpodder"; - version = "3.10.7"; + version = "3.10.9"; format = "other"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "0sx9rj6dpvd2xz7lak2yi0zlgr3lp2ng1fw23s39la9ly4g1835j"; + sha256 = "1sdmr1sq1d4p492zp9kq3npl7p56yr0pr470z9r6xxcylax5mhfq"; }; + patches = [ + ./disable-autoupdate.patch + ]; + postPatch = with stdenv.lib; '' sed -i -re 's,^( *gpodder_dir *= *).*,\1"'"$out"'",' bin/gpodder ''; @@ -28,7 +32,7 @@ python3Packages.buildPythonApplication rec { buildInputs = [ python3 gobject-introspection - gnome3.defaultIconTheme + gnome3.adwaita-icon-theme ]; checkInputs = with python3Packages; [ diff --git a/pkgs/applications/audio/gpodder/disable-autoupdate.patch b/pkgs/applications/audio/gpodder/disable-autoupdate.patch new file mode 100644 index 00000000000..8f77518d03e --- /dev/null +++ b/pkgs/applications/audio/gpodder/disable-autoupdate.patch @@ -0,0 +1,55 @@ +--- a/share/gpodder/ui/gtk/menus.ui ++++ b/share/gpodder/ui/gtk/menus.ui +@@ -13,10 +13,6 @@ + app.gotoMygpo + Go to gpodder.net + +- +- app.checkForUpdates +- Software updates +- + +
+ +@@ -201,4 +197,4 @@ + + + +- +\ 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 3aea07235d8..94d0f5eb50f 100644 --- a/pkgs/applications/audio/gradio/default.nix +++ b/pkgs/applications/audio/gradio/default.nix @@ -19,7 +19,8 @@ let version = "7.2"; in stdenv.mkDerivation rec { - name = "gradio-${version}"; + pname = "gradio"; + inherit version; src = fetchFromGitHub { owner = "haecker-felix"; diff --git a/pkgs/applications/audio/greg/default.nix b/pkgs/applications/audio/greg/default.nix index e7a23b6f204..e027680f5fe 100644 --- a/pkgs/applications/audio/greg/default.nix +++ b/pkgs/applications/audio/greg/default.nix @@ -3,7 +3,6 @@ with pythonPackages; buildPythonApplication rec { pname = "greg"; version = "0.4.7"; - name = pname + "-" + version; disabled = !isPy3k; diff --git a/pkgs/applications/audio/gtklick/default.nix b/pkgs/applications/audio/gtklick/default.nix index 0434b00c705..b653ae5ca58 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 c40f84348de..fd3632ee155 100644 --- a/pkgs/applications/audio/gtkpod/default.nix +++ b/pkgs/applications/audio/gtkpod/default.nix @@ -1,21 +1,21 @@ { stdenv, fetchurl, pkgconfig, wrapGAppsHook, intltool, libgpod, curl, flac, gnome3, gtk3, gettext, perlPackages, flex, libid3tag, gdl, - libvorbis, gdk_pixbuf }: + libvorbis, gdk-pixbuf }: stdenv.mkDerivation rec { version = "2.1.5"; - name = "gtkpod-${version}"; + pname = "gtkpod"; src = fetchurl { - url = "mirror://sourceforge/gtkpod/${name}.tar.gz"; + url = "mirror://sourceforge/gtkpod/${pname}-${version}.tar.gz"; sha256 = "0xisrpx069f7bjkyc8vqxb4k0480jmx1wscqxr6cpq1qj6pchzd5"; }; nativeBuildInputs = [ pkgconfig wrapGAppsHook intltool ]; buildInputs = [ curl gettext - flex libgpod libid3tag flac libvorbis gtk3 gdk_pixbuf - gdl gnome3.defaultIconTheme gnome3.anjuta + flex libgpod libid3tag flac libvorbis gtk3 gdk-pixbuf + gdl gnome3.adwaita-icon-theme gnome3.anjuta ] ++ (with perlPackages; [ perl XMLParser ]); patchPhase = '' diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix index bc4c18aab08..91f4b1dcdfe 100644 --- a/pkgs/applications/audio/guitarix/default.nix +++ b/pkgs/applications/audio/guitarix/default.nix @@ -11,12 +11,12 @@ let in stdenv.mkDerivation rec { - name = "guitarix-${version}"; - version = "0.37.3"; + pname = "guitarix"; + version = "0.38.1"; src = fetchurl { url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz"; - sha256 = "1wfm8wrwrnqpb4ihy75n7l9i6vml536jlq9pdx2pblbc4ba3paac"; + sha256 = "0bw7xnrx062nwb1bfj9x660h7069ncmz77szcs8icpqxrvhs7z80"; }; nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 wafHook ]; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { zita-resampler curl ]; - configureFlags = [ + wafConfigureFlags = [ "--shared-lib" "--no-desktop-update" "--enable-nls" diff --git a/pkgs/applications/audio/gxplugins-lv2/default.nix b/pkgs/applications/audio/gxplugins-lv2/default.nix index 62f11cbfb74..1f4323eb9d5 100644 --- a/pkgs/applications/audio/gxplugins-lv2/default.nix +++ b/pkgs/applications/audio/gxplugins-lv2/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, xorg, xorgproto, cairo, lv2, pkgconfig }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "GxPlugins.lv2"; - version = "0.5"; + version = "0.7"; src = fetchFromGitHub { owner = "brummer10"; repo = pname; rev = "v${version}"; - sha256 = "16r5bj7w726d9327flg530fn0bli4crkxjss7i56yhb1bsi39mbv"; + sha256 = "0jqdqnkg7pg9plcbxy49p7gcs1aj6h0xf7y9gndmjmkw5yjn2940"; fetchSubmodules = true; }; @@ -20,6 +19,12 @@ stdenv.mkDerivation rec { installFlags = [ "INSTALL_DIR=$(out)/lib/lv2" ]; + configurePhase = '' + for i in GxBoobTube GxValveCaster; do + substituteInPlace $i.lv2/Makefile --replace "\$(shell which echo) -e" "echo -e" + done + ''; + meta = with stdenv.lib; { homepage = https://github.com/brummer10/GxPlugins.lv2; description = "A set of extra lv2 plugins from the guitarix project"; diff --git a/pkgs/applications/audio/helio-workstation/default.nix b/pkgs/applications/audio/helio-workstation/default.nix new file mode 100644 index 00000000000..bfd211316a7 --- /dev/null +++ b/pkgs/applications/audio/helio-workstation/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchFromGitHub +, alsaLib, freetype, xorg, curl, libGL, libjack2, gnome3 +, pkgconfig, makeWrapper +}: + +stdenv.mkDerivation rec { + pname = "helio-workstation"; + version = "2.2"; + + src = fetchFromGitHub { + owner = "helio-fm"; + repo = pname; + rev = version; + fetchSubmodules = true; + sha256 = "16iwj4mjs1nm8dlk70q97svp3vkcgs7hdj9hfda9h67acn4a8vvk"; + }; + + buildInputs = [ + alsaLib freetype xorg.libX11 xorg.libXext xorg.libXinerama xorg.libXrandr + xorg.libXcursor xorg.libXcomposite curl libGL libjack2 gnome3.zenity + ]; + + nativeBuildInputs = [ pkgconfig makeWrapper ]; + + preBuild = "cd Projects/LinuxMakefile"; + buildFlags = [ "CONFIG=Release64" ]; + + installPhase = '' + mkdir -p $out/bin + install -Dm755 build/Helio $out/bin + wrapProgram $out/bin/Helio --prefix PATH ":" ${gnome3.zenity}/bin + + mkdir -p $out/share + cp -r ../Deployment/Linux/Debian/x64/usr/share/* $out/share + substituteInPlace $out/share/applications/Helio.desktop \ + --replace "/usr/bin/helio" "$out/bin/Helio" + ''; + + meta = with stdenv.lib; { + description = "One music sequencer for all major platforms, both desktop and mobile"; + homepage = https://helio.fm/; + license = licenses.gpl3; + maintainers = [ maintainers.suhr ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/audio/helm/default.nix b/pkgs/applications/audio/helm/default.nix index fa76a1a26e8..d32c55122c5 100644 --- a/pkgs/applications/audio/helm/default.nix +++ b/pkgs/applications/audio/helm/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { version = "0.9.0"; - name = "helm-${version}"; + pname = "helm"; src = fetchFromGitHub { owner = "mtytel"; diff --git a/pkgs/applications/audio/hydrogen/default.nix b/pkgs/applications/audio/hydrogen/default.nix index d68bfbf2ae4..50093f8a61d 100644 --- a/pkgs/applications/audio/hydrogen/default.nix +++ b/pkgs/applications/audio/hydrogen/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { version = "0.9.7"; - name = "hydrogen-${version}"; + pname = "hydrogen"; src = fetchurl { url = "https://github.com/hydrogen-music/hydrogen/archive/${version}.tar.gz"; diff --git a/pkgs/applications/audio/i-score/default.nix b/pkgs/applications/audio/i-score/default.nix index 69fc4b419c0..2cc39e64943 100644 --- a/pkgs/applications/audio/i-score/default.nix +++ b/pkgs/applications/audio/i-score/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { version = "1.0.0-b31"; - name = "i-score-${version}"; + pname = "i-score"; src = fetchFromGitHub { owner = "OSSIA"; diff --git a/pkgs/applications/audio/iannix/default.nix b/pkgs/applications/audio/iannix/default.nix index c26980e1bb2..1fd8531fb7f 100644 --- a/pkgs/applications/audio/iannix/default.nix +++ b/pkgs/applications/audio/iannix/default.nix @@ -2,7 +2,7 @@ }: stdenv.mkDerivation rec { - name = "iannix-${version}"; + pname = "iannix"; version = "2016-01-31"; src = fetchFromGitHub { owner = "iannix"; diff --git a/pkgs/applications/audio/id3v2/default.nix b/pkgs/applications/audio/id3v2/default.nix index d2720fcace6..0fdb3b2a4a1 100644 --- a/pkgs/applications/audio/id3v2/default.nix +++ b/pkgs/applications/audio/id3v2/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, id3lib, groff, zlib}: stdenv.mkDerivation rec { - name = "id3v2-${version}"; + pname = "id3v2"; version = "0.1.12"; src = fetchurl { - url = "mirror://sourceforge/id3v2/${name}.tar.gz"; + url = "mirror://sourceforge/id3v2/${pname}-${version}.tar.gz"; sha256 = "1gr22w8gar7zh5pyyvdy7cy26i47l57jp1l1nd60xfwx339zl1c1"; }; diff --git a/pkgs/applications/audio/infamousPlugins/default.nix b/pkgs/applications/audio/infamousPlugins/default.nix index cae40929f95..341c4181842 100644 --- a/pkgs/applications/audio/infamousPlugins/default.nix +++ b/pkgs/applications/audio/infamousPlugins/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, pkgconfig, cairomm, cmake, lv2, libpthreadstubs, libXdmcp, libXft, ntk, pcre, fftwFloat, zita-resampler }: stdenv.mkDerivation rec { - name = "infamousPlugins-${version}"; - version = "0.2.04"; + pname = "infamousPlugins"; + 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/ir.lv2/default.nix b/pkgs/applications/audio/ir.lv2/default.nix index 84be6b866fa..0ca5988383a 100644 --- a/pkgs/applications/audio/ir.lv2/default.nix +++ b/pkgs/applications/audio/ir.lv2/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, fftw, gtk2, lv2, libsamplerate, libsndfile, pkgconfig, zita-convolver }: stdenv.mkDerivation rec { - name = "ir.lv2-${version}"; + pname = "ir.lv2"; version = "1.2.4"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/jaaa/default.nix b/pkgs/applications/audio/jaaa/default.nix index 33c74f2b044..92b2f8ac515 100644 --- a/pkgs/applications/audio/jaaa/default.nix +++ b/pkgs/applications/audio/jaaa/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, alsaLib, libclthreads, libclxclient, libX11, libXft, libXrender, fftwFloat, libjack2, zita-alsa-pcmi }: stdenv.mkDerivation rec { - name = "jaaa-${version}"; + pname = "jaaa"; version = "0.9.2"; src = fetchurl { - url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; + url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2"; sha256 = "1czksxx2g8na07k7g57qlz0vvkkgi5bzajcx7vc7jhb94hwmmxbc"; }; diff --git a/pkgs/applications/audio/jack-capture/default.nix b/pkgs/applications/audio/jack-capture/default.nix index f11bba34c74..c62ccc4fc88 100644 --- a/pkgs/applications/audio/jack-capture/default.nix +++ b/pkgs/applications/audio/jack-capture/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libjack2, libsndfile, pkgconfig }: stdenv.mkDerivation rec { - name = "jack_capture-${version}"; + pname = "jack_capture"; version = "0.9.73"; src = fetchurl { - url = "https://archive.notam02.no/arkiv/src/${name}.tar.gz"; + url = "https://archive.notam02.no/arkiv/src/${pname}-${version}.tar.gz"; sha256 = "1pji0zdwm3kxjrkbzj7fnxhr8ncrc8pyqnwyrh47fhypgqjv1br1"; }; diff --git a/pkgs/applications/audio/jack-oscrolloscope/default.nix b/pkgs/applications/audio/jack-oscrolloscope/default.nix index 75a8a6a4b1a..d31bc981e0c 100644 --- a/pkgs/applications/audio/jack-oscrolloscope/default.nix +++ b/pkgs/applications/audio/jack-oscrolloscope/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, SDL, libjack2, libGLU_combined, pkgconfig }: stdenv.mkDerivation rec { - name = "jack_oscrolloscope-${version}"; + pname = "jack_oscrolloscope"; version = "0.7"; src = fetchurl { - url = "http://das.nasophon.de/download/${name}.tar.gz"; + url = "http://das.nasophon.de/download/${pname}-${version}.tar.gz"; sha256 = "1pl55in0sj7h5r06n1v91im7d18pplvhbjhjm1fdl39zwnyxiash"; }; diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix index e2f0c7ea7af..a40d5101b34 100644 --- a/pkgs/applications/audio/jalv/default.nix +++ b/pkgs/applications/audio/jalv/default.nix @@ -2,12 +2,12 @@ , serd, sord , sratom, suil, wafHook }: stdenv.mkDerivation rec { - name = "jalv-${version}"; - version = "1.6.0"; + pname = "jalv"; + version = "1.6.2"; src = fetchurl { - url = "https://download.drobilla.net/${name}.tar.bz2"; - sha256 = "1x2wpzzx2cgvz3dgdcgsj8dr0w3zsasy62mvl199bsdj5fbjaili"; + url = "https://download.drobilla.net/${pname}-${version}.tar.bz2"; + sha256 = "13al2hb9s3m7jgbg051x704bmzmcg4wb56cfh8z588kiyh0mxpaa"; }; nativeBuildInputs = [ pkgconfig wafHook ]; diff --git a/pkgs/applications/audio/japa/default.nix b/pkgs/applications/audio/japa/default.nix index 18b7bcd1d56..a9eb15aabf3 100644 --- a/pkgs/applications/audio/japa/default.nix +++ b/pkgs/applications/audio/japa/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "0.9.2"; - name = "japa-${version}"; + pname = "japa"; src = fetchurl { - url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; + url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2"; sha256 = "1zmi4wg23hwsypg3h6y3qb72cbrihqcs19qrbzgs5a67d13q4897"; }; diff --git a/pkgs/applications/audio/keyfinder-cli/default.nix b/pkgs/applications/audio/keyfinder-cli/default.nix index 344e6894baf..4bb1d63a1e7 100644 --- a/pkgs/applications/audio/keyfinder-cli/default.nix +++ b/pkgs/applications/audio/keyfinder-cli/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, libav, libkeyfinder }: stdenv.mkDerivation rec { - name = "keyfinder-cli-${version}"; + pname = "keyfinder-cli"; version = "2015-09-13"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/keyfinder/default.nix b/pkgs/applications/audio/keyfinder/default.nix index 55039e8508b..d47fc3b6190 100644 --- a/pkgs/applications/audio/keyfinder/default.nix +++ b/pkgs/applications/audio/keyfinder/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, libav_0_8, libkeyfinder, qtbase, qtxmlpatterns, qmake, taglib }: stdenv.mkDerivation rec { - name = "keyfinder-${version}"; + pname = "keyfinder"; version = "2.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix index 522ffa2a533..dfb07c4f456 100644 --- a/pkgs/applications/audio/kid3/default.nix +++ b/pkgs/applications/audio/kid3/default.nix @@ -3,24 +3,25 @@ , chromaprint, docbook_xml_dtd_45, docbook_xsl, libxslt , id3lib, taglib, mp4v2, flac, libogg, libvorbis , zlib, readline , qtbase, qttools, qtmultimedia, qtquickcontrols -, makeWrapper +, wrapQtAppsHook }: stdenv.mkDerivation rec { - name = "kid3-${version}"; - version = "3.7.0"; + pname = "kid3"; + version = "3.7.1"; src = fetchurl { - url = "mirror://sourceforge/project/kid3/kid3/${version}/${name}.tar.gz"; - sha256 = "1bj4kq9hklgfp81rbxcjzbxmdgxjqksx7cqnw3m9dc0pnns5jx0x"; + url = "mirror://sourceforge/project/kid3/kid3/${version}/${pname}-${version}.tar.gz"; + sha256 = "0xkrsjrbr3z8cn8hjf623l28r3b755gr11i0clv8d8i3s10vhbd8"; }; + nativeBuildInputs = [ wrapQtAppsHook ]; buildInputs = with stdenv.lib; [ pkgconfig cmake python ffmpeg phonon automoc4 chromaprint docbook_xml_dtd_45 docbook_xsl libxslt id3lib taglib mp4v2 flac libogg libvorbis zlib readline - qtbase qttools qtmultimedia qtquickcontrols makeWrapper ]; + qtbase qttools qtmultimedia qtquickcontrols ]; cmakeFlags = [ "-DWITH_APPS=Qt;CLI" ]; NIX_LDFLAGS = "-lm -lpthread"; @@ -29,10 +30,6 @@ stdenv.mkDerivation rec { export DOCBOOKDIR="${docbook_xsl}/xml/xsl/docbook/" ''; - postInstall = '' - wrapProgram $out/bin/kid3-qt --prefix QT_PLUGIN_PATH : $out/lib/qt5/plugins - ''; - enableParallelBuilding = true; meta = with stdenv.lib; { diff --git a/pkgs/applications/audio/klick/default.nix b/pkgs/applications/audio/klick/default.nix index 5e54609f8bf..f33245d8f1c 100644 --- a/pkgs/applications/audio/klick/default.nix +++ b/pkgs/applications/audio/klick/default.nix @@ -2,11 +2,11 @@ , libsamplerate, libsndfile, liblo, libjack2, boost }: stdenv.mkDerivation rec { - name = "klick-${version}"; + pname = "klick"; version = "0.12.2"; src = fetchurl { - url = "http://das.nasophon.de/download/${name}.tar.gz"; + url = "http://das.nasophon.de/download/${pname}-${version}.tar.gz"; sha256 = "1289533c0849b1b66463bf27f7ce5f71736b655cfb7672ef884c7e6eb957ac42"; }; diff --git a/pkgs/applications/audio/klystrack/default.nix b/pkgs/applications/audio/klystrack/default.nix new file mode 100644 index 00000000000..5e8dc060c28 --- /dev/null +++ b/pkgs/applications/audio/klystrack/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchFromGitHub, fetchpatch +, SDL2, SDL2_image +, pkgconfig +}: + +stdenv.mkDerivation rec { + pname = "klystrack"; + version = "1.7.6"; + + src = fetchFromGitHub { + owner = "kometbomb"; + repo = pname; + rev = version; + fetchSubmodules = true; + sha256 = "1h99sm2ddaq483hhk2s3z4bjbgn0d2h7qna7l7qq98wvhqix8iyz"; + }; + + buildInputs = [ + SDL2 SDL2_image + ]; + nativeBuildInputs = [ pkgconfig ]; + + patches = [ + (fetchpatch { + url = "https://github.com/kometbomb/klystrack/commit/bb537595d02140176831c4a1b8e9121978b32d22.patch"; + sha256 = "06gl9q0jwg039kpxb13lg9x0k59s11968qn4lybgkadvzmhxkgmi"; + }) + ]; + + buildFlags = [ "PREFIX=${placeholder "out"}" "CFG=release" ]; + + installPhase = '' + install -Dm755 bin.release/klystrack $out/bin/klystrack + + mkdir -p $out/lib/klystrack + cp -R res $out/lib/klystrack + cp -R key $out/lib/klystrack + + install -DT icon/256x256.png $out/share/icons/hicolor/256x256/apps/klystrack.png + mkdir -p $out/share/applications + substitute linux/klystrack.desktop $out/share/applications/klystrack.desktop \ + --replace "klystrack %f" "$out/bin/klystrack %f" + ''; + + meta = with stdenv.lib; { + description = "A chiptune tracker"; + homepage = "https://kometbomb.github.io/klystrack"; + license = licenses.mit; + maintainers = with maintainers; [ suhr ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/ladspa-plugins/default.nix b/pkgs/applications/audio/ladspa-plugins/default.nix index a60b3db2fb8..44186abc3c4 100644 --- a/pkgs/applications/audio/ladspa-plugins/default.nix +++ b/pkgs/applications/audio/ladspa-plugins/default.nix @@ -2,7 +2,7 @@ , perlPackages }: stdenv.mkDerivation rec { - name = "swh-plugins-${version}"; + pname = "swh-plugins"; version = "0.4.17"; diff --git a/pkgs/applications/audio/ladspa-sdk/default.nix b/pkgs/applications/audio/ladspa-sdk/default.nix index 296a4f86a84..a7779ee8aee 100644 --- a/pkgs/applications/audio/ladspa-sdk/default.nix +++ b/pkgs/applications/audio/ladspa-sdk/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "ladspa-sdk-${version}"; - version = "1.13"; + pname = "ladspa-sdk"; + version = "1.15"; src = fetchurl { url = "https://www.ladspa.org/download/ladspa_sdk_${version}.tgz"; - sha256 = "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm"; + sha256 = "1vgx54cgsnc3ncl9qbgjbmq12c444xjafjkgr348h36j16draaa2"; }; patchPhase = '' cd src - sed -i 's@/usr/@$(out)/@g' makefile - sed -i 's@-mkdirhier@mkdir -p@g' makefile + sed -i 's@/usr/@$(out)/@g' Makefile + sed -i 's@-mkdirhier@mkdir -p@g' Makefile ''; meta = { diff --git a/pkgs/applications/audio/ladspa-sdk/ladspah.nix b/pkgs/applications/audio/ladspa-sdk/ladspah.nix index 01acc0d01f7..3fad5de1de5 100644 --- a/pkgs/applications/audio/ladspa-sdk/ladspah.nix +++ b/pkgs/applications/audio/ladspa-sdk/ladspah.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "ladspa.h-${version}"; - version = "1.13"; + pname = "ladspa.h"; + version = "1.15"; src = fetchurl { url = "https://www.ladspa.org/download/ladspa_sdk_${version}.tgz"; - sha256 = "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm"; + sha256 = "1vgx54cgsnc3ncl9qbgjbmq12c444xjafjkgr348h36j16draaa2"; }; installPhase = '' diff --git a/pkgs/applications/audio/lash/default.nix b/pkgs/applications/audio/lash/default.nix index 7fb5a01e2c8..e96972b0d1b 100644 --- a/pkgs/applications/audio/lash/default.nix +++ b/pkgs/applications/audio/lash/default.nix @@ -4,11 +4,11 @@ assert libuuid != null; stdenv.mkDerivation rec { - name = "lash-${version}"; + pname = "lash"; version = "0.5.4"; src = fetchurl { - url = "mirror://savannah/lash/${name}.tar.gz"; + url = "mirror://savannah/lash/${pname}-${version}.tar.gz"; sha256 = "05kc4brcx8mncai0rj2gz4s4bsrsy9q8xlnaddf75i0m8jl7snhh"; }; diff --git a/pkgs/applications/audio/lastwatch/default.nix b/pkgs/applications/audio/lastwatch/default.nix deleted file mode 100644 index d2ef7434c4d..00000000000 --- 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/linuxband/default.nix b/pkgs/applications/audio/linuxband/default.nix index a8e33c23dc0..b5a99150cb2 100644 --- a/pkgs/applications/audio/linuxband/default.nix +++ b/pkgs/applications/audio/linuxband/default.nix @@ -4,10 +4,10 @@ let inherit (python2Packages) pyGtkGlade pygtksourceview python; in stdenv.mkDerivation rec { version = "12.02.1"; - name = "linuxband-${version}"; + pname = "linuxband"; src = fetchurl { - url = "http://linuxband.org/assets/sources/${name}.tar.gz"; + url = "http://linuxband.org/assets/sources/${pname}-${version}.tar.gz"; sha256 = "1r71h4yg775m4gax4irrvygmrsclgn503ykmc2qwjsxa42ri4n2n"; }; diff --git a/pkgs/applications/audio/linuxsampler/default.nix b/pkgs/applications/audio/linuxsampler/default.nix index f173e41321f..26fc2408d8a 100644 --- a/pkgs/applications/audio/linuxsampler/default.nix +++ b/pkgs/applications/audio/linuxsampler/default.nix @@ -2,11 +2,11 @@ , alsaLib, asio, libjack2, libgig, libsndfile, lv2 }: stdenv.mkDerivation rec { - name = "linuxsampler-${version}"; + pname = "linuxsampler"; version = "2.1.0"; src = fetchurl { - url = "https://download.linuxsampler.org/packages/${name}.tar.bz2"; + url = "https://download.linuxsampler.org/packages/${pname}-${version}.tar.bz2"; sha256 = "0fdxpw7jjfi058l95131d6d8538h05z7n94l60i6mhp9xbplj2jf"; }; diff --git a/pkgs/applications/audio/lmms/default.nix b/pkgs/applications/audio/lmms/default.nix index 59e94e0bdad..d22065eb9fe 100644 --- a/pkgs/applications/audio/lmms/default.nix +++ b/pkgs/applications/audio/lmms/default.nix @@ -4,7 +4,7 @@ , qtbase, qtx11extras, qttools, SDL ? null }: stdenv.mkDerivation rec { - name = "lmms-${version}"; + pname = "lmms"; version = "1.2.0-rc7"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix index 03d27177656..e4d508b2a1f 100644 --- a/pkgs/applications/audio/lollypop/default.nix +++ b/pkgs/applications/audio/lollypop/default.nix @@ -1,11 +1,26 @@ -{ stdenv, fetchgit, meson, ninja, pkgconfig -, python3, gtk3, gst_all_1, libsecret, libsoup -, appstream-glib, desktop-file-utils, totem-pl-parser -, gobject-introspection, wrapGAppsHook }: +{ 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 +, youtubeSupport ? true +}: python3.pkgs.buildPythonApplication rec { pname = "lollypop"; - version = "0.9.915"; + version = "1.1.4.14"; format = "other"; doCheck = false; @@ -14,7 +29,7 @@ python3.pkgs.buildPythonApplication rec { url = "https://gitlab.gnome.org/World/lollypop"; rev = "refs/tags/${version}"; fetchSubmodules = true; - sha256 = "133qmqb015ghif4d4zh6sf8585fpfgbq00rv6qdj5xn13wziipwh"; + sha256 = "004cwbnxss6vmdsc6i0y83h3xbc2bzc0ra4z99pkizkky2mz6swj"; }; nativeBuildInputs = [ @@ -28,6 +43,7 @@ python3.pkgs.buildPythonApplication rec { ]; buildInputs = with gst_all_1; [ + gobject-introspection gst-libav gst-plugins-bad gst-plugins-base @@ -35,20 +51,20 @@ python3.pkgs.buildPythonApplication rec { gst-plugins-ugly gstreamer gtk3 - libsecret + hicolor-icon-theme libsoup totem-pl-parser - ]; + ] ++ lib.optional lastFMSupport libsecret; propagatedBuildInputs = with python3.pkgs; [ beautifulsoup4 - gst-python pillow pycairo - pydbus pygobject3 - pylast - ]; + ] + ++ lib.optional lastFMSupport pylast + ++ lib.optional youtubeSupport youtube-dl + ; postPatch = '' chmod +x meson_post_install.py @@ -60,10 +76,20 @@ python3.pkgs.buildPythonApplication rec { patchPythonScript "$out/libexec/lollypop-sp" ''; - meta = with stdenv.lib; { + # Produce only one wrapper using wrap-python passing + # gappsWrapperArgs to wrap-python additional wrapper + # argument + dontWrapGApps = true; + + makeWrapperArgs = [ + "\${gappsWrapperArgs[@]}" + ]; + + meta = with lib; { description = "A modern music player for GNOME"; homepage = https://wiki.gnome.org/Apps/Lollypop; license = licenses.gpl3Plus; + changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}"; maintainers = with maintainers; [ worldofpeace ]; platforms = platforms.linux; }; diff --git a/pkgs/applications/audio/lsp-plugins/default.nix b/pkgs/applications/audio/lsp-plugins/default.nix index 2e70bebc88d..3d5c6f699dd 100644 --- a/pkgs/applications/audio/lsp-plugins/default.nix +++ b/pkgs/applications/audio/lsp-plugins/default.nix @@ -5,14 +5,13 @@ stdenv.mkDerivation rec { pname = "lsp-plugins"; - version = "1.1.5"; - name = "${pname}-${version}"; + version = "1.1.9"; src = fetchFromGitHub { owner = "sadko4u"; repo = "${pname}"; - rev = "${name}"; - sha256 = "0xcxm47j7mz5vprjqqhi95gz62syp4y737h7cssxd3flqkgar7xr"; + rev = "${pname}-${version}"; + sha256 = "1dzpl7f354rwp37bkr9h2yyafykcdn6m1qqfshqg77fj0pcsw8r2"; }; nativeBuildInputs = [ pkgconfig php expat ]; @@ -152,7 +151,7 @@ stdenv.mkDerivation rec { - Delay Compensator Stereo - Verzögerungsausgleicher Stereo - Delay Compensator x2 Stereo - Verzögerungsausgleicher x2 Stereo ''; - homepage = http://lsp-plug.in; + 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 index 79edfdef504..c986e3af288 100644 --- a/pkgs/applications/audio/ltc-tools/default.nix +++ b/pkgs/applications/audio/ltc-tools/default.nix @@ -1,14 +1,14 @@ {stdenv, fetchFromGitHub, pkgconfig, libltc, libsndfile, jack2}: stdenv.mkDerivation rec { - name = "ltc-tools-${version}"; - version = "0.6.4"; + pname = "ltc-tools"; + version = "0.7.0"; src = fetchFromGitHub { owner = "x42"; repo = "ltc-tools"; rev = "v${version}"; - sha256 = "1a7r99mwc7p5j5y453mrgph67wlznd674v4k2pfmlvc91s6lh44y"; + sha256 = "0vp25b970r1hv5ndzs4di63rgwnl31jfaj3jz5dka276kx34q4al"; }; buildInputs = [ pkgconfig libltc libsndfile jack2 ]; diff --git a/pkgs/applications/audio/lv2bm/default.nix b/pkgs/applications/audio/lv2bm/default.nix index d3821c51fbc..7288d39ce77 100644 --- a/pkgs/applications/audio/lv2bm/default.nix +++ b/pkgs/applications/audio/lv2bm/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, glib, lilv, lv2, pkgconfig, serd, sord, sratom }: stdenv.mkDerivation rec { - name = "lv2bm-${version}"; + pname = "lv2bm"; version = "git-2015-11-29"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix b/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix index f355c540f30..6488d1bd65e 100644 --- a/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { - name = "CharacterCompressor-${version}"; + pname = "CharacterCompressor"; version = "0.3.3"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix b/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix index 90e4eabeef0..c5728b6e8b7 100644 --- a/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { - name = "CompBus-${version}"; + pname = "CompBus"; version = "1.1.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix b/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix index 73dd7b48e9c..331e58c4bd2 100644 --- a/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { - name = "constant-detune-chorus-${version}"; + pname = "constant-detune-chorus"; version = "0.1.3"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix b/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix index 39065db6ede..046ee70e990 100644 --- a/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { - name = "LazyLimiter-${version}"; + pname = "LazyLimiter"; version = "0.3.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix b/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix index 362451988d3..aa7da17dafd 100644 --- a/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { - name = "MBdistortion-${version}"; + pname = "MBdistortion"; version = "1.1.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix b/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix index 3f809aa7847..ae05866e57d 100644 --- a/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { - name = "RhythmDelay-${version}"; + pname = "RhythmDelay"; version = "2.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix index 740763889ff..718bbdaf49e 100644 --- a/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, faust2jack, faust2lv2, helmholtz, mrpeach, puredata-with-plugins }: stdenv.mkDerivation rec { - name = "VoiceOfFaust-${version}"; + pname = "VoiceOfFaust"; version = "1.1.4"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix b/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix index 6237628e600..356e95bf97c 100644 --- a/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { - name = "pluginUtils-${version}"; + pname = "pluginUtils"; version = "1.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix b/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix index cb9247fd3d0..292cd3dfd86 100644 --- a/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { - name = "shelfMultiBand-${version}"; + pname = "shelfMultiBand"; version = "0.6.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/mda-lv2/default.nix b/pkgs/applications/audio/mda-lv2/default.nix index 26290e5bf88..901be5a23d0 100644 --- a/pkgs/applications/audio/mda-lv2/default.nix +++ b/pkgs/applications/audio/mda-lv2/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, python, wafHook }: stdenv.mkDerivation rec { - name = "mda-lv2-${version}"; + pname = "mda-lv2"; version = "1.2.2"; src = fetchurl { - url = "https://download.drobilla.net/${name}.tar.bz2"; + url = "https://download.drobilla.net/${pname}-${version}.tar.bz2"; sha256 = "0hh40c5d2m0k5gb3vw031l6lqn59dg804an3mkmhkc7qv4gc6xm4"; }; diff --git a/pkgs/applications/audio/meterbridge/default.nix b/pkgs/applications/audio/meterbridge/default.nix index d16107e4c29..4d2fa0e15b4 100644 --- a/pkgs/applications/audio/meterbridge/default.nix +++ b/pkgs/applications/audio/meterbridge/default.nix @@ -3,10 +3,10 @@ stdenv.mkDerivation rec { version = "0.9.3"; - name = "meterbridge-${version}"; + pname = "meterbridge"; src = fetchurl { - url = "http://plugin.org.uk/meterbridge/${name}.tar.gz"; + url = "http://plugin.org.uk/meterbridge/${pname}-${version}.tar.gz"; sha256 = "0s7n3czfpil94vsd7iblv4xrck9c7zvsz4r3yfbkqcv85pjz1viz"; }; diff --git a/pkgs/applications/audio/meters_lv2/default.nix b/pkgs/applications/audio/meters_lv2/default.nix index 669ffbb2688..a2368017cc1 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 db70e59218b..e4d6c0293df 100644 --- a/pkgs/applications/audio/mhwaveedit/default.nix +++ b/pkgs/applications/audio/mhwaveedit/default.nix @@ -3,7 +3,7 @@ , vorbis-tools }: stdenv.mkDerivation rec { - name = "mhwaveedit-${version}"; + pname = "mhwaveedit"; version = "1.4.24"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/midisheetmusic/default.nix b/pkgs/applications/audio/midisheetmusic/default.nix index 448977e5705..48052fc4ec8 100644 --- a/pkgs/applications/audio/midisheetmusic/default.nix +++ b/pkgs/applications/audio/midisheetmusic/default.nix @@ -5,7 +5,8 @@ let version = "2.6"; in stdenv.mkDerivation { - name = "midisheetmusic-${version}"; + pname = "midisheetmusic"; + inherit version; src = fetchurl { url = "mirror://sourceforge/midisheetmusic/MidiSheetMusic-${version}-linux-src.tar.gz"; @@ -47,6 +48,7 @@ in stdenv.mkDerivation { makeWrapper ${mono}/bin/mono $out/bin/midisheetmusic.mono.exe \ --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ gtk2 cups ]} \ + --prefix PATH : ${stdenv.lib.makeBinPath [ timidity ]} \ --add-flags $out/bin/.MidiSheetMusic.exe ''; diff --git a/pkgs/applications/audio/milkytracker/default.nix b/pkgs/applications/audio/milkytracker/default.nix index 6b3abeb1e23..7f86e2c2071 100644 --- a/pkgs/applications/audio/milkytracker/default.nix +++ b/pkgs/applications/audio/milkytracker/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { version = "1.02.00"; - name = "milkytracker-${version}"; + pname = "milkytracker"; src = fetchFromGitHub { owner = "milkytracker"; diff --git a/pkgs/applications/audio/mimic/default.nix b/pkgs/applications/audio/mimic/default.nix index dcaffe3eb9b..e91b2c9360d 100644 --- a/pkgs/applications/audio/mimic/default.nix +++ b/pkgs/applications/audio/mimic/default.nix @@ -3,7 +3,7 @@ , pulseaudioSupport ? config.pulseaudio or false, libpulseaudio }: stdenv.mkDerivation rec { - name = "mimic-${version}"; + pname = "mimic"; version = "1.2.0.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix index 4c84fb3c3f7..5cf9b1b8ab7 100644 --- a/pkgs/applications/audio/mixxx/default.nix +++ b/pkgs/applications/audio/mixxx/default.nix @@ -1,41 +1,40 @@ -{ stdenv, fetchFromGitHub, makeWrapper, chromaprint, fetchpatch +{ stdenv, mkDerivation, fetchFromGitHub, chromaprint , fftw, flac, faad2, glibcLocales, mp4v2 , libid3tag, libmad, libopus, libshout, libsndfile, libusb1, libvorbis -, opusfile -, pkgconfig, portaudio, portmidi, protobuf, qt4, rubberband, scons, sqlite -, taglib, upower, 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.1.5"; +mkDerivation rec { + pname = "mixxx"; + version = "2.2.2"; src = fetchFromGitHub { owner = "mixxxdj"; repo = "mixxx"; rev = "release-${version}"; - sha256 = "0h14pwglz03sdmgzviypv1qa1xfjclrnhyqaq5nd60j47h4z39dr"; + sha256 = "0dmkvcsgq7abxqd4wms8c4w0mr5c53z7n5r8jgzp4swz9nmfjpfg"; }; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ chromaprint fftw flac faad2 glibcLocales mp4v2 libid3tag libmad libopus libshout libsndfile - libusb1 libvorbis opusfile pkgconfig portaudio portmidi protobuf qt4 - rubberband scons sqlite taglib upower vampSDK + libusb1 libvorbis libxcb libGLU lilv lv2 opusfile pkgconfig portaudio portmidi protobuf qtbase qtscript qtsvg + qtx11extras rubberband scons sqlite taglib upower vampSDK ]; + enableParallelBuilding = true; + sconsFlags = [ "build=release" - "qtdir=${qt4}" + "qtdir=${qtbase}" "faad=1" "opus=1" ]; - fixupPhase = '' - wrapProgram $out/bin/mixxx \ - --set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive; - ''; + qtWrapperArgs = [ + "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive" + ]; meta = with stdenv.lib; { homepage = https://mixxx.org; diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix index ea83a1012eb..89d062d584e 100644 --- a/pkgs/applications/audio/moc/default.nix +++ b/pkgs/applications/audio/moc/default.nix @@ -1,10 +1,36 @@ -{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg -, libvorbis, libmpc, libsndfile, libjack2, db, libmodplug, timidity, libid3tag -, libtool +{ stdenv, fetchurl, pkgconfig +, ncurses, db , popt, libtool +# Sound sub-systems +, alsaSupport ? true, alsaLib +, pulseSupport ? true, libpulseaudio, autoreconfHook +, jackSupport ? true, libjack2 +, ossSupport ? true +# Audio formats +, aacSupport ? true, faad2, libid3tag +, flacSupport ? true, flac +, midiSupport ? true, timidity +, modplugSupport ? true, libmodplug +, mp3Support ? true, libmad +, musepackSupport ? true, libmpc, libmpcdec, taglib +, vorbisSupport ? true, libvorbis +, speexSupport ? true, speex +, ffmpegSupport ? true, ffmpeg +, sndfileSupport ? true, libsndfile +, wavpackSupport ? true, wavpack +# Misc +, withffmpeg4 ? false, ffmpeg_4 +, curlSupport ? true, curl +, samplerateSupport ? true, libsamplerate +, withDebug ? false }: -stdenv.mkDerivation rec { - name = "moc-${version}"; +let + opt = stdenv.lib.optional; + mkFlag = c: f: if c then "--with-${f}" else "--without-${f}"; + +in stdenv.mkDerivation rec { + + pname = "moc"; version = "2.5.2"; src = fetchurl { @@ -12,18 +38,67 @@ stdenv.mkDerivation rec { sha256 = "026v977kwb0wbmlmf6mnik328plxg8wykfx9ryvqhirac0aq39pk"; }; - nativeBuildInputs = [ pkgconfig ]; + patches = [] + ++ opt withffmpeg4 ./moc-ffmpeg4.patch + ++ opt pulseSupport ./pulseaudio.patch; - buildInputs = [ - ncurses alsaLib flac libmad speex ffmpeg libvorbis libmpc libsndfile libjack2 - db libmodplug timidity libid3tag libtool + nativeBuildInputs = [ pkgconfig ] + ++ opt pulseSupport autoreconfHook; + + buildInputs = [ ncurses db popt libtool ] + # Sound sub-systems + ++ opt alsaSupport alsaLib + ++ opt pulseSupport libpulseaudio + ++ opt jackSupport libjack2 + # Audio formats + ++ opt (aacSupport || mp3Support) libid3tag + ++ opt aacSupport faad2 + ++ opt flacSupport flac + ++ opt midiSupport timidity + ++ opt modplugSupport libmodplug + ++ opt mp3Support libmad + ++ opt musepackSupport [ libmpc libmpcdec taglib ] + ++ opt vorbisSupport libvorbis + ++ opt speexSupport speex + ++ opt (ffmpegSupport && !withffmpeg4) ffmpeg + ++ opt (ffmpegSupport && withffmpeg4) ffmpeg_4 + ++ opt sndfileSupport libsndfile + ++ opt wavpackSupport wavpack + # Misc + ++ opt curlSupport curl + ++ opt samplerateSupport libsamplerate; + + configureFlags = [ + # Sound sub-systems + (mkFlag alsaSupport "alsa") + (mkFlag pulseSupport "pulse") + (mkFlag jackSupport "jack") + (mkFlag ossSupport "oss") + # Audio formats + (mkFlag aacSupport "aac") + (mkFlag flacSupport "flac") + (mkFlag midiSupport "timidity") + (mkFlag modplugSupport "modplug") + (mkFlag mp3Support "mp3") + (mkFlag musepackSupport "musepack") + (mkFlag vorbisSupport "vorbis") + (mkFlag speexSupport "speex") + (mkFlag ffmpegSupport "ffmpeg") + (mkFlag sndfileSupport "sndfile") + (mkFlag wavpackSupport "wavpack") + # Misc + (mkFlag curlSupport "curl") + (mkFlag samplerateSupport "samplerate") + ("--enable-debug=" + (if withDebug then "yes" else "no")) + "--disable-cache" + "--without-rcc" ]; meta = with stdenv.lib; { description = "An ncurses console audio player designed to be powerful and easy to use"; homepage = http://moc.daper.net/; license = licenses.gpl2; - maintainers = with maintainers; [ pSub jagajaga ]; + maintainers = with maintainers; [ aethelz pSub jagajaga ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/moc/moc-ffmpeg4.patch b/pkgs/applications/audio/moc/moc-ffmpeg4.patch new file mode 100644 index 00000000000..7499f9c539b --- /dev/null +++ b/pkgs/applications/audio/moc/moc-ffmpeg4.patch @@ -0,0 +1,33 @@ +Index: decoder_plugins/ffmpeg/ffmpeg.c +=================================================================== +--- /decoder_plugins/ffmpeg/ffmpeg.c (revisión: 2963) ++++ /decoder_plugins/ffmpeg/ffmpeg.c (copia de trabajo) +@@ -697,7 +697,7 @@ + * FFmpeg/LibAV in use. For some versions this will be caught in + * *_find_stream_info() above and misreported as an unfound codec + * parameters error. */ +- if (data->codec->capabilities & CODEC_CAP_EXPERIMENTAL) { ++ if (data->codec->capabilities & AV_CODEC_CAP_EXPERIMENTAL) { + decoder_error (&data->error, ERROR_FATAL, 0, + "The codec is experimental and may damage MOC: %s", + data->codec->name); +@@ -705,8 +705,8 @@ + } + + set_downmixing (data); +- if (data->codec->capabilities & CODEC_CAP_TRUNCATED) +- data->enc->flags |= CODEC_FLAG_TRUNCATED; ++ if (data->codec->capabilities & AV_CODEC_CAP_TRUNCATED) ++ data->enc->flags |= AV_CODEC_FLAG_TRUNCATED; + + if (avcodec_open2 (data->enc, data->codec, NULL) < 0) + { +@@ -725,7 +725,7 @@ + + data->sample_width = sfmt_Bps (data->fmt); + +- if (data->codec->capabilities & CODEC_CAP_DELAY) ++ if (data->codec->capabilities & AV_CODEC_CAP_DELAY) + data->delay = true; + data->seek_broken = is_seek_broken (data); + data->timing_broken = is_timing_broken (data->ic); diff --git a/pkgs/applications/audio/moc/pulseaudio.patch b/pkgs/applications/audio/moc/pulseaudio.patch new file mode 100644 index 00000000000..37d81dddf2b --- /dev/null +++ b/pkgs/applications/audio/moc/pulseaudio.patch @@ -0,0 +1,800 @@ +diff --git a/audio.c b/audio.c +--- a/audio.c ++++ b/audio.c +@@ -32,6 +32,9 @@ + #include "log.h" + #include "lists.h" + ++#ifdef HAVE_PULSE ++# include "pulse.h" ++#endif + #ifdef HAVE_OSS + # include "oss.h" + #endif +@@ -893,6 +896,15 @@ + } + #endif + ++#ifdef HAVE_PULSE ++ if (!strcasecmp(name, "pulseaudio")) { ++ pulse_funcs (funcs); ++ printf ("Trying PulseAudio...\n"); ++ if (funcs->init(&hw_caps)) ++ return; ++ } ++#endif ++ + #ifdef HAVE_OSS + if (!strcasecmp(name, "oss")) { + oss_funcs (funcs); +diff --git a/configure.in b/configure.in +--- a/configure.in ++++ b/configure.in +@@ -162,6 +162,21 @@ + AC_MSG_ERROR([BerkeleyDB (libdb) not found.])) + fi + ++AC_ARG_WITH(pulse, AS_HELP_STRING(--without-pulse, ++ Compile without PulseAudio support.)) ++ ++if test "x$with_pulse" != "xno" ++then ++ PKG_CHECK_MODULES(PULSE, [libpulse], ++ [SOUND_DRIVERS="$SOUND_DRIVERS PULSE" ++ EXTRA_OBJS="$EXTRA_OBJS pulse.o" ++ AC_DEFINE([HAVE_PULSE], 1, [Define if you have PulseAudio.]) ++ EXTRA_LIBS="$EXTRA_LIBS $PULSE_LIBS" ++ CFLAGS="$CFLAGS $PULSE_CFLAGS"], ++ [true]) ++fi ++ ++ + AC_ARG_WITH(oss, AS_HELP_STRING([--without-oss], + [Compile without OSS support])) + +diff --git a/options.c b/options.c +--- a/options.c ++++ b/options.c +@@ -572,10 +572,11 @@ + + #ifdef OPENBSD + add_list ("SoundDriver", "SNDIO:JACK:OSS", +- CHECK_DISCRETE(5), "SNDIO", "Jack", "ALSA", "OSS", "null"); ++ CHECK_DISCRETE(5), "SNDIO", "PulseAudio", "Jack", "ALSA", "OSS", "null"); ++ + #else + add_list ("SoundDriver", "Jack:ALSA:OSS", +- CHECK_DISCRETE(5), "SNDIO", "Jack", "ALSA", "OSS", "null"); ++ CHECK_DISCRETE(5), "SNDIO", "PulseAudio", "Jack", "ALSA", "OSS", "null"); + #endif + + add_str ("JackClientName", "moc", CHECK_NONE); +diff --git a/pulse.c b/pulse.c +new file mode 100644 +--- /dev/null ++++ b/pulse.c +@@ -0,0 +1,705 @@ ++/* ++ * MOC - music on console ++ * Copyright (C) 2011 Marien Zwart ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ */ ++ ++/* PulseAudio backend. ++ * ++ * FEATURES: ++ * ++ * Does not autostart a PulseAudio server, but uses an already-started ++ * one, which should be better than alsa-through-pulse. ++ * ++ * Supports control of either our stream's or our entire sink's volume ++ * while we are actually playing. Volume control while paused is ++ * intentionally unsupported: the PulseAudio documentation strongly ++ * suggests not passing in an initial volume when creating a stream ++ * (allowing the server to track this instead), and we do not know ++ * which sink to control if we do not have a stream open. ++ * ++ * IMPLEMENTATION: ++ * ++ * Most client-side (resource allocation) errors are fatal. Failure to ++ * create a server context or stream is not fatal (and MOC should cope ++ * with these failures too), but server communication failures later ++ * on are currently not handled (MOC has no great way for us to tell ++ * it we no longer work, and I am not sure if attempting to reconnect ++ * is worth it or even a good idea). ++ * ++ * The pulse "simple" API is too simple: it combines connecting to the ++ * server and opening a stream into one operation, while I want to ++ * connect to the server when MOC starts (and fall back to a different ++ * backend if there is no server), and I cannot open a stream at that ++ * time since I do not know the audio format yet. ++ * ++ * PulseAudio strongly recommends we use a high-latency connection, ++ * which the MOC frontend code might not expect from its audio ++ * backend. We'll see. ++ * ++ * We map MOC's percentage volumes linearly to pulse's PA_VOLUME_MUTED ++ * (0) .. PA_VOLUME_NORM range. This is what the PulseAudio docs recommend ++ * ( http://pulseaudio.org/wiki/WritingVolumeControlUIs ). It does mean ++ * PulseAudio volumes above PA_VOLUME_NORM do not work well with MOC. ++ * ++ * Comments in audio.h claim "All functions are executed only by one ++ * thread" (referring to the function in the hw_funcs struct). This is ++ * a blatant lie. Most of them are invoked off the "output buffer" ++ * thread (out_buf.c) but at least the "playing" thread (audio.c) ++ * calls audio_close which calls our close function. We can mostly ++ * ignore this problem because we serialize on the pulseaudio threaded ++ * mainloop lock. But it does mean that functions that are normally ++ * only called between open and close (like reset) are sometimes ++ * called without us having a stream. Bulletproof, therefore: ++ * serialize setting/unsetting our global stream using the threaded ++ * mainloop lock, and check for that stream being non-null before ++ * using it. ++ * ++ * I am not convinced there are no further dragons lurking here: can ++ * the "playing" thread(s) close and reopen our output stream while ++ * the "output buffer" thread is sending output there? We can bail if ++ * our stream is simply closed, but we do not currently detect it ++ * being reopened and no longer using the same sample format, which ++ * might have interesting results... ++ * ++ * Also, read_mixer is called from the main server thread (handling ++ * commands). This crashed me once when it got at a stream that was in ++ * the "creating" state and therefore did not have a valid stream ++ * index yet. Fixed by only assigning to the stream global when the ++ * stream is valid. ++ */ ++ ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#endif ++ ++#define DEBUG ++ ++#include ++#include "common.h" ++#include "log.h" ++#include "audio.h" ++ ++ ++/* The pulse mainloop and context are initialized in pulse_init and ++ * destroyed in pulse_shutdown. ++ */ ++static pa_threaded_mainloop *mainloop = NULL; ++static pa_context *context = NULL; ++ ++/* The stream is initialized in pulse_open and destroyed in pulse_close. */ ++static pa_stream *stream = NULL; ++ ++static int showing_sink_volume = 0; ++ ++/* Callbacks that do nothing but wake up the mainloop. */ ++ ++static void context_state_callback (pa_context *context ATTR_UNUSED, ++ void *userdata) ++{ ++ pa_threaded_mainloop *m = userdata; ++ ++ pa_threaded_mainloop_signal (m, 0); ++} ++ ++static void stream_state_callback (pa_stream *stream ATTR_UNUSED, ++ void *userdata) ++{ ++ pa_threaded_mainloop *m = userdata; ++ ++ pa_threaded_mainloop_signal (m, 0); ++} ++ ++static void stream_write_callback (pa_stream *stream ATTR_UNUSED, ++ size_t nbytes ATTR_UNUSED, void *userdata) ++{ ++ pa_threaded_mainloop *m = userdata; ++ ++ pa_threaded_mainloop_signal (m, 0); ++} ++ ++/* Initialize pulse mainloop and context. Failure to connect to the ++ * pulse daemon is nonfatal, everything else is fatal (as it ++ * presumably means we ran out of resources). ++ */ ++static int pulse_init (struct output_driver_caps *caps) ++{ ++ pa_context *c; ++ pa_proplist *proplist; ++ ++ assert (!mainloop); ++ assert (!context); ++ ++ mainloop = pa_threaded_mainloop_new (); ++ if (!mainloop) ++ fatal ("Cannot create PulseAudio mainloop"); ++ ++ if (pa_threaded_mainloop_start (mainloop) < 0) ++ fatal ("Cannot start PulseAudio mainloop"); ++ ++ /* TODO: possibly add more props. ++ * ++ * There are a few we could set in proplist.h but nothing I ++ * expect to be very useful. ++ * ++ * http://pulseaudio.org/wiki/ApplicationProperties recommends ++ * setting at least application.name, icon.name and media.role. ++ * ++ * No need to set application.name here, the name passed to ++ * pa_context_new_with_proplist overrides it. ++ */ ++ proplist = pa_proplist_new (); ++ if (!proplist) ++ fatal ("Cannot allocate PulseAudio proplist"); ++ ++ pa_proplist_sets (proplist, ++ PA_PROP_APPLICATION_VERSION, PACKAGE_VERSION); ++ pa_proplist_sets (proplist, PA_PROP_MEDIA_ROLE, "music"); ++ pa_proplist_sets (proplist, PA_PROP_APPLICATION_ID, "net.daper.moc"); ++ ++ pa_threaded_mainloop_lock (mainloop); ++ ++ c = pa_context_new_with_proplist ( ++ pa_threaded_mainloop_get_api (mainloop), ++ PACKAGE_NAME, proplist); ++ pa_proplist_free (proplist); ++ ++ if (!c) ++ fatal ("Cannot allocate PulseAudio context"); ++ ++ pa_context_set_state_callback (c, context_state_callback, mainloop); ++ ++ /* Ignore return value, rely on state being set properly */ ++ pa_context_connect (c, NULL, PA_CONTEXT_NOAUTOSPAWN, NULL); ++ ++ while (1) { ++ pa_context_state_t state = pa_context_get_state (c); ++ ++ if (state == PA_CONTEXT_READY) ++ break; ++ ++ if (!PA_CONTEXT_IS_GOOD (state)) { ++ error ("PulseAudio connection failed: %s", ++ pa_strerror (pa_context_errno (c))); ++ ++ goto unlock_and_fail; ++ } ++ ++ debug ("waiting for context to become ready..."); ++ pa_threaded_mainloop_wait (mainloop); ++ } ++ ++ /* Only set the global now that the context is actually ready */ ++ context = c; ++ ++ pa_threaded_mainloop_unlock (mainloop); ++ ++ /* We just make up the hardware capabilities, since pulse is ++ * supposed to be abstracting these out. Assume pulse will ++ * deal with anything we want to throw at it, and that we will ++ * only want mono or stereo audio. ++ */ ++ caps->min_channels = 1; ++ caps->max_channels = 2; ++ caps->formats = (SFMT_S8 | SFMT_S16 | SFMT_S32 | ++ SFMT_FLOAT | SFMT_BE | SFMT_LE); ++ ++ return 1; ++ ++unlock_and_fail: ++ ++ pa_context_unref (c); ++ ++ pa_threaded_mainloop_unlock (mainloop); ++ ++ pa_threaded_mainloop_stop (mainloop); ++ pa_threaded_mainloop_free (mainloop); ++ mainloop = NULL; ++ ++ return 0; ++} ++ ++static void pulse_shutdown (void) ++{ ++ pa_threaded_mainloop_lock (mainloop); ++ ++ pa_context_disconnect (context); ++ pa_context_unref (context); ++ context = NULL; ++ ++ pa_threaded_mainloop_unlock (mainloop); ++ ++ pa_threaded_mainloop_stop (mainloop); ++ pa_threaded_mainloop_free (mainloop); ++ mainloop = NULL; ++} ++ ++static int pulse_open (struct sound_params *sound_params) ++{ ++ pa_sample_spec ss; ++ pa_buffer_attr ba; ++ pa_stream *s; ++ ++ assert (!stream); ++ /* Initialize everything to -1, which in practice gets us ++ * about 2 seconds of latency (which is fine). This is not the ++ * same as passing NULL for this struct, which gets us an ++ * unnecessarily short alsa-like latency. ++ */ ++ ba.fragsize = (uint32_t) -1; ++ ba.tlength = (uint32_t) -1; ++ ba.prebuf = (uint32_t) -1; ++ ba.minreq = (uint32_t) -1; ++ ba.maxlength = (uint32_t) -1; ++ ++ ss.channels = sound_params->channels; ++ ss.rate = sound_params->rate; ++ switch (sound_params->fmt) { ++ case SFMT_U8: ++ ss.format = PA_SAMPLE_U8; ++ break; ++ case SFMT_S16 | SFMT_LE: ++ ss.format = PA_SAMPLE_S16LE; ++ break; ++ case SFMT_S16 | SFMT_BE: ++ ss.format = PA_SAMPLE_S16BE; ++ break; ++ case SFMT_FLOAT | SFMT_LE: ++ ss.format = PA_SAMPLE_FLOAT32LE; ++ break; ++ case SFMT_FLOAT | SFMT_BE: ++ ss.format = PA_SAMPLE_FLOAT32BE; ++ break; ++ case SFMT_S32 | SFMT_LE: ++ ss.format = PA_SAMPLE_S32LE; ++ break; ++ case SFMT_S32 | SFMT_BE: ++ ss.format = PA_SAMPLE_S32BE; ++ break; ++ ++ default: ++ fatal ("pulse: got unrequested format"); ++ } ++ ++ debug ("opening stream"); ++ ++ pa_threaded_mainloop_lock (mainloop); ++ ++ /* TODO: figure out if there are useful stream properties to set. ++ * ++ * I do not really see any in proplist.h that we can set from ++ * here (there are media title/artist/etc props but we do not ++ * have that data available here). ++ */ ++ s = pa_stream_new (context, "music", &ss, NULL); ++ if (!s) ++ fatal ("pulse: stream allocation failed"); ++ ++ pa_stream_set_state_callback (s, stream_state_callback, mainloop); ++ pa_stream_set_write_callback (s, stream_write_callback, mainloop); ++ ++ /* Ignore return value, rely on failed stream state instead. */ ++ pa_stream_connect_playback ( ++ s, NULL, &ba, ++ PA_STREAM_INTERPOLATE_TIMING | ++ PA_STREAM_AUTO_TIMING_UPDATE | ++ PA_STREAM_ADJUST_LATENCY, ++ NULL, NULL); ++ ++ while (1) { ++ pa_stream_state_t state = pa_stream_get_state (s); ++ ++ if (state == PA_STREAM_READY) ++ break; ++ ++ if (!PA_STREAM_IS_GOOD (state)) { ++ error ("PulseAudio stream connection failed"); ++ ++ goto fail; ++ } ++ ++ debug ("waiting for stream to become ready..."); ++ pa_threaded_mainloop_wait (mainloop); ++ } ++ ++ /* Only set the global stream now that it is actually ready */ ++ stream = s; ++ ++ pa_threaded_mainloop_unlock (mainloop); ++ ++ return 1; ++ ++fail: ++ pa_stream_unref (s); ++ ++ pa_threaded_mainloop_unlock (mainloop); ++ return 0; ++} ++ ++static void pulse_close (void) ++{ ++ debug ("closing stream"); ++ ++ pa_threaded_mainloop_lock (mainloop); ++ ++ pa_stream_disconnect (stream); ++ pa_stream_unref (stream); ++ stream = NULL; ++ ++ pa_threaded_mainloop_unlock (mainloop); ++} ++ ++static int pulse_play (const char *buff, const size_t size) ++{ ++ size_t offset = 0; ++ ++ debug ("Got %d bytes to play", (int)size); ++ ++ pa_threaded_mainloop_lock (mainloop); ++ ++ /* The buffer is usually writable when we get here, and there ++ * are usually few (if any) writes after the first one. So ++ * there is no point in doing further writes directly from the ++ * callback: we can just do all writes from this thread. ++ */ ++ ++ /* Break out of the loop if some other thread manages to close ++ * our stream underneath us. ++ */ ++ while (stream) { ++ size_t towrite = MIN(pa_stream_writable_size (stream), ++ size - offset); ++ debug ("writing %d bytes", (int)towrite); ++ ++ /* We have no working way of dealing with errors ++ * (see below). */ ++ if (pa_stream_write(stream, buff + offset, towrite, ++ NULL, 0, PA_SEEK_RELATIVE)) ++ error ("pa_stream_write failed"); ++ ++ offset += towrite; ++ ++ if (offset >= size) ++ break; ++ ++ pa_threaded_mainloop_wait (mainloop); ++ } ++ ++ pa_threaded_mainloop_unlock (mainloop); ++ ++ debug ("Done playing!"); ++ ++ /* We should always return size, calling code does not deal ++ * well with anything else. Only read the rest if you want to ++ * know why. ++ * ++ * The output buffer reader thread (out_buf.c:read_thread) ++ * repeatedly loads some 64k/0.1s of audio into a buffer on ++ * the stack, then calls audio_send_pcm repeatedly until this ++ * entire buffer has been processed (similar to the loop in ++ * this function). audio_send_pcm applies the softmixer and ++ * equalizer, then feeds the result to this function, passing ++ * through our return value. ++ * ++ * So if we return less than size the equalizer/softmixer is ++ * re-applied to the remaining data, which is silly. Also, ++ * audio_send_pcm checks for our return value being zero and ++ * calls fatal() if it is, so try to always process *some* ++ * data. Also, out_buf.c uses the return value of this ++ * function from the last run through its inner loop to update ++ * its time attribute, which means it will be interestingly ++ * off if that loop ran more than once. ++ * ++ * Oh, and alsa.c seems to think it can return -1 to indicate ++ * failure, which will cause out_buf.c to rewind its buffer ++ * (to before its start, usually). ++ */ ++ return size; ++} ++ ++static void volume_cb (const pa_cvolume *v, void *userdata) ++{ ++ int *result = userdata; ++ ++ if (v) ++ *result = 100 * pa_cvolume_avg (v) / PA_VOLUME_NORM; ++ ++ pa_threaded_mainloop_signal (mainloop, 0); ++} ++ ++static void sink_volume_cb (pa_context *c ATTR_UNUSED, ++ const pa_sink_info *i, int eol ATTR_UNUSED, ++ void *userdata) ++{ ++ volume_cb (i ? &i->volume : NULL, userdata); ++} ++ ++static void sink_input_volume_cb (pa_context *c ATTR_UNUSED, ++ const pa_sink_input_info *i, ++ int eol ATTR_UNUSED, ++ void *userdata ATTR_UNUSED) ++{ ++ volume_cb (i ? &i->volume : NULL, userdata); ++} ++ ++static int pulse_read_mixer (void) ++{ ++ pa_operation *op; ++ int result = 0; ++ ++ debug ("read mixer"); ++ ++ pa_threaded_mainloop_lock (mainloop); ++ ++ if (stream) { ++ if (showing_sink_volume) ++ op = pa_context_get_sink_info_by_index ( ++ context, pa_stream_get_device_index (stream), ++ sink_volume_cb, &result); ++ else ++ op = pa_context_get_sink_input_info ( ++ context, pa_stream_get_index (stream), ++ sink_input_volume_cb, &result); ++ ++ while (pa_operation_get_state (op) == PA_OPERATION_RUNNING) ++ pa_threaded_mainloop_wait (mainloop); ++ ++ pa_operation_unref (op); ++ } ++ ++ pa_threaded_mainloop_unlock (mainloop); ++ ++ return result; ++} ++ ++static void pulse_set_mixer (int vol) ++{ ++ pa_cvolume v; ++ pa_operation *op; ++ ++ /* Setting volume for one channel does the right thing. */ ++ pa_cvolume_set(&v, 1, vol * PA_VOLUME_NORM / 100); ++ ++ pa_threaded_mainloop_lock (mainloop); ++ ++ if (stream) { ++ if (showing_sink_volume) ++ op = pa_context_set_sink_volume_by_index ( ++ context, pa_stream_get_device_index (stream), ++ &v, NULL, NULL); ++ else ++ op = pa_context_set_sink_input_volume ( ++ context, pa_stream_get_index (stream), ++ &v, NULL, NULL); ++ ++ pa_operation_unref (op); ++ } ++ ++ pa_threaded_mainloop_unlock (mainloop); ++} ++ ++static int pulse_get_buff_fill (void) ++{ ++ /* This function is problematic. MOC uses it to for the "time ++ * remaining" in the UI, but calls it more than once per ++ * second (after each chunk of audio played, not for each ++ * playback time update). We have to be fairly accurate here ++ * for that time remaining to not jump weirdly. But PulseAudio ++ * cannot give us a 100% accurate value here, as it involves a ++ * server roundtrip. And if we call this a lot it suggests ++ * switching to a mode where the value is interpolated, making ++ * it presumably more inaccurate (see the flags we pass to ++ * pa_stream_connect_playback). ++ * ++ * MOC also contains what I believe to be a race: it calls ++ * audio_get_buff_fill "soon" (after playing the first chunk) ++ * after starting playback of the next song, at which point we ++ * still have part of the previous song buffered. This means ++ * our position into the new song is negative, which fails an ++ * assert (in out_buf.c:out_buf_time_get). There is no sane ++ * way for us to detect this condition. I believe no other ++ * backend triggers this because the assert sits after an ++ * implicit float -> int seconds conversion, which means we ++ * have to be off by at least an entire second to get a ++ * negative value, and none of the other backends have buffers ++ * that large (alsa buffers are supposedly a few 100 ms). ++ */ ++ pa_usec_t buffered_usecs = 0; ++ int buffered_bytes = 0; ++ ++ pa_threaded_mainloop_lock (mainloop); ++ ++ /* Using pa_stream_get_timing_info and returning the distance ++ * between write_index and read_index would be more obvious, ++ * but because of how the result is actually used I believe ++ * using the latency value is slightly more correct, and it ++ * makes the following crash-avoidance hack more obvious. ++ */ ++ ++ /* This function will frequently fail the first time we call ++ * it (pulse does not have the requested data yet). We ignore ++ * that and just return 0. ++ * ++ * Deal with stream being NULL too, just in case this is ++ * called in a racy fashion similar to how reset() is. ++ */ ++ if (stream && ++ pa_stream_get_latency (stream, &buffered_usecs, NULL) >= 0) { ++ /* Crash-avoidance HACK: floor our latency to at most ++ * 1 second. It is usually more, but reporting that at ++ * the start of playback crashes MOC, and we cannot ++ * sanely detect when reporting it is safe. ++ */ ++ if (buffered_usecs > 1000000) ++ buffered_usecs = 1000000; ++ ++ buffered_bytes = pa_usec_to_bytes ( ++ buffered_usecs, ++ pa_stream_get_sample_spec (stream)); ++ } ++ ++ pa_threaded_mainloop_unlock (mainloop); ++ ++ debug ("buffer fill: %d usec / %d bytes", ++ (int) buffered_usecs, (int) buffered_bytes); ++ ++ return buffered_bytes; ++} ++ ++static void flush_callback (pa_stream *s ATTR_UNUSED, int success, ++ void *userdata) ++{ ++ int *result = userdata; ++ ++ *result = success; ++ ++ pa_threaded_mainloop_signal (mainloop, 0); ++} ++ ++static int pulse_reset (void) ++{ ++ pa_operation *op; ++ int result = 0; ++ ++ debug ("reset requested"); ++ ++ pa_threaded_mainloop_lock (mainloop); ++ ++ /* We *should* have a stream here, but MOC is racy, so bulletproof */ ++ if (stream) { ++ op = pa_stream_flush (stream, flush_callback, &result); ++ ++ while (pa_operation_get_state (op) == PA_OPERATION_RUNNING) ++ pa_threaded_mainloop_wait (mainloop); ++ ++ pa_operation_unref (op); ++ } else ++ logit ("pulse_reset() called without a stream"); ++ ++ pa_threaded_mainloop_unlock (mainloop); ++ ++ return result; ++} ++ ++static int pulse_get_rate (void) ++{ ++ /* This is called once right after open. Do not bother making ++ * this fast. */ ++ ++ int result; ++ ++ pa_threaded_mainloop_lock (mainloop); ++ ++ if (stream) ++ result = pa_stream_get_sample_spec (stream)->rate; ++ else { ++ error ("get_rate called without a stream"); ++ result = 0; ++ } ++ ++ pa_threaded_mainloop_unlock (mainloop); ++ ++ return result; ++} ++ ++static void pulse_toggle_mixer_channel (void) ++{ ++ showing_sink_volume = !showing_sink_volume; ++} ++ ++static void sink_name_cb (pa_context *c ATTR_UNUSED, ++ const pa_sink_info *i, int eol ATTR_UNUSED, ++ void *userdata) ++{ ++ char **result = userdata; ++ ++ if (i && !*result) ++ *result = xstrdup (i->name); ++ ++ pa_threaded_mainloop_signal (mainloop, 0); ++} ++ ++static void sink_input_name_cb (pa_context *c ATTR_UNUSED, ++ const pa_sink_input_info *i, ++ int eol ATTR_UNUSED, ++ void *userdata) ++{ ++ char **result = userdata; ++ ++ if (i && !*result) ++ *result = xstrdup (i->name); ++ ++ pa_threaded_mainloop_signal (mainloop, 0); ++} ++ ++static char *pulse_get_mixer_channel_name (void) ++{ ++ char *result = NULL; ++ pa_operation *op; ++ ++ pa_threaded_mainloop_lock (mainloop); ++ ++ if (stream) { ++ if (showing_sink_volume) ++ op = pa_context_get_sink_info_by_index ( ++ context, pa_stream_get_device_index (stream), ++ sink_name_cb, &result); ++ else ++ op = pa_context_get_sink_input_info ( ++ context, pa_stream_get_index (stream), ++ sink_input_name_cb, &result); ++ ++ while (pa_operation_get_state (op) == PA_OPERATION_RUNNING) ++ pa_threaded_mainloop_wait (mainloop); ++ ++ pa_operation_unref (op); ++ } ++ ++ pa_threaded_mainloop_unlock (mainloop); ++ ++ if (!result) ++ result = xstrdup ("disconnected"); ++ ++ return result; ++} ++ ++void pulse_funcs (struct hw_funcs *funcs) ++{ ++ funcs->init = pulse_init; ++ funcs->shutdown = pulse_shutdown; ++ funcs->open = pulse_open; ++ funcs->close = pulse_close; ++ funcs->play = pulse_play; ++ funcs->read_mixer = pulse_read_mixer; ++ funcs->set_mixer = pulse_set_mixer; ++ funcs->get_buff_fill = pulse_get_buff_fill; ++ funcs->reset = pulse_reset; ++ funcs->get_rate = pulse_get_rate; ++ funcs->toggle_mixer_channel = pulse_toggle_mixer_channel; ++ funcs->get_mixer_channel_name = pulse_get_mixer_channel_name; ++} +diff --git a/pulse.h b/pulse.h +new file mode 100644 +--- /dev/null ++++ b/pulse.h +@@ -0,0 +1,14 @@ ++#ifndef PULSE_H ++#define PULSE_H ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++void pulse_funcs (struct hw_funcs *funcs); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif diff --git a/pkgs/applications/audio/mod-distortion/default.nix b/pkgs/applications/audio/mod-distortion/default.nix index c66f7837322..3fbe927be4b 100644 --- a/pkgs/applications/audio/mod-distortion/default.nix +++ b/pkgs/applications/audio/mod-distortion/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, lv2 }: stdenv.mkDerivation rec { - name = "mod-distortion-git-${version}"; + pname = "mod-distortion-git"; version = "2016-08-19"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/monkeys-audio/default.nix b/pkgs/applications/audio/monkeys-audio/default.nix index 1b3e89d4885..58bb4d3e327 100644 --- a/pkgs/applications/audio/monkeys-audio/default.nix +++ b/pkgs/applications/audio/monkeys-audio/default.nix @@ -3,7 +3,6 @@ stdenv.mkDerivation rec { version = "3.99-u4-b5"; pname = "monkeys-audio"; - name = pname + "-" + version; patches = [ ./buildfix.diff ]; diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix index 9015a8c749a..c574c862f52 100644 --- a/pkgs/applications/audio/mopidy/default.nix +++ b/pkgs/applications/audio/mopidy/default.nix @@ -4,13 +4,13 @@ pythonPackages.buildPythonApplication rec { pname = "mopidy"; - version = "2.2.2"; + version = "2.2.3"; src = fetchFromGitHub { owner = "mopidy"; repo = "mopidy"; rev = "v${version}"; - sha256 = "01vl162c7ssf69b0m65ys9fxnsqnfa1whwbprnc063lkcnrnlkr1"; + sha256 = "0i9rpnlmgrnkgmr9hyx9sky9gzj2cjhay84a0yaijwcb9nmr8nnc"; }; nativeBuildInputs = [ wrapGAppsHook ]; @@ -38,7 +38,7 @@ pythonPackages.buildPythonApplication rec { SoundCloud, Google Play Music, and more ''; license = licenses.asl20; - maintainers = with maintainers; [ rickynils fpletz ]; + maintainers = [ maintainers.fpletz ]; hydraPlatforms = []; }; } diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix index 3e89101e042..3a663fd33c8 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.32.5"; + version = "3.39.0"; src = pythonPackages.fetchPypi { inherit pname version; - sha256 = "0vs8x26zcakk6c31sc774h2lcdw3syp236vyymmx1jnfsh1jaqpn"; + sha256 = "1d2g66gvm7yaz4nbxlh23lj2xfkhi3hsg2k646m1za510f8dzlag"; }; propagatedBuildInputs = [ @@ -14,14 +14,10 @@ pythonPackages.buildPythonApplication rec { mopidy-local-images ] ++ (with pythonPackages; [ configobj - pylast - spotipy - raven + requests tornado_4 ]); - postPatch = "sed -i /tornado/d setup.py"; - # no tests implemented doCheck = false; diff --git a/pkgs/applications/audio/mopidy/moped.nix b/pkgs/applications/audio/mopidy/moped.nix index 3754bf763b2..d41fb12ae8d 100644 --- a/pkgs/applications/audio/mopidy/moped.nix +++ b/pkgs/applications/audio/mopidy/moped.nix @@ -20,7 +20,7 @@ pythonPackages.buildPythonApplication rec { homepage = https://github.com/martijnboland/moped; description = "A web client for Mopidy"; license = licenses.mit; - maintainers = [ maintainers.rickynils ]; + maintainers = []; hydraPlatforms = []; }; } diff --git a/pkgs/applications/audio/mopidy/spotify.nix b/pkgs/applications/audio/mopidy/spotify.nix index 9a6e1bef994..483852455aa 100644 --- a/pkgs/applications/audio/mopidy/spotify.nix +++ b/pkgs/applications/audio/mopidy/spotify.nix @@ -17,7 +17,7 @@ pythonPackages.buildPythonApplication rec { homepage = https://www.mopidy.com/; description = "Mopidy extension for playing music from Spotify"; license = licenses.asl20; - maintainers = [ maintainers.rickynils ]; + maintainers = []; hydraPlatforms = []; }; } diff --git a/pkgs/applications/audio/mp3blaster/default.nix b/pkgs/applications/audio/mp3blaster/default.nix index eb5aa7c036c..727133be78d 100644 --- a/pkgs/applications/audio/mp3blaster/default.nix +++ b/pkgs/applications/audio/mp3blaster/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { version = "3.2.6"; - name = "mp3blaster-${version}"; + pname = "mp3blaster"; src = fetchFromGitHub { owner = "stragulus"; diff --git a/pkgs/applications/audio/mp3splt/default.nix b/pkgs/applications/audio/mp3splt/default.nix index f2922e7eecf..f067c5af6df 100644 --- a/pkgs/applications/audio/mp3splt/default.nix +++ b/pkgs/applications/audio/mp3splt/default.nix @@ -3,11 +3,10 @@ stdenv.mkDerivation rec { pname = "mp3splt"; version = "2.6.2"; - name = "${pname}-${version}"; src = fetchurl { - url = "mirror://sourceforge/${pname}/${name}.tar.gz"; + url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz"; sha256 = "1aiv20gypb6r84qabz8gblk8vi42cg3x333vk2pi3fyqvl82phry"; }; diff --git a/pkgs/applications/audio/mp3val/default.nix b/pkgs/applications/audio/mp3val/default.nix index 7477bea7602..6c35779f6c4 100644 --- a/pkgs/applications/audio/mp3val/default.nix +++ b/pkgs/applications/audio/mp3val/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "mp3val-${version}"; + pname = "mp3val"; version = "0.1.8"; src = fetchurl { - url = "mirror://sourceforge/mp3val/${name}-src.tar.gz"; + url = "mirror://sourceforge/mp3val/${pname}-${version}-src.tar.gz"; sha256 = "17y3646ghr38r620vkrxin3dksxqig5yb3nn4cfv6arm7kz6x8cm"; }; diff --git a/pkgs/applications/audio/mpc/default.nix b/pkgs/applications/audio/mpc/default.nix index 220e72b568a..b13e1cc037a 100644 --- a/pkgs/applications/audio/mpc/default.nix +++ b/pkgs/applications/audio/mpc/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, mpd_clientlib }: stdenv.mkDerivation rec { - name = "mpc-${version}"; + pname = "mpc"; version = "0.28"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/mpc123/default.nix b/pkgs/applications/audio/mpc123/default.nix index efaef97257e..f024e5a6a1d 100644 --- a/pkgs/applications/audio/mpc123/default.nix +++ b/pkgs/applications/audio/mpc123/default.nix @@ -2,10 +2,11 @@ let version = "0.2.4"; in stdenv.mkDerivation rec { - name = "mpc123-${version}"; + pname = "mpc123"; + inherit version; src = fetchurl { - url = "mirror://sourceforge/mpc123/version%20${version}/${name}.tar.gz"; + url = "mirror://sourceforge/mpc123/version%20${version}/${pname}-${version}.tar.gz"; sha256 = "0sf4pns0245009z6mbxpx7kqy4kwl69bc95wz9v23wgappsvxgy1"; }; diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix index 44f1c681ec1..b201bd65cae 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/applications/audio/mpg123/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "mpg123-1.25.10"; + name = "mpg123-1.25.11"; src = fetchurl { url = "mirror://sourceforge/mpg123/${name}.tar.bz2"; - sha256 = "08vhp8lz7d9ybhxcmkq3adwfryhivfvp0745k4r9kgz4wap3f4vc"; + sha256 = "1cpal2zsm3zgi6f48vvwpg6wgkv42ndi7lk3zsg7sz52z83k61nz"; }; buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib; diff --git a/pkgs/applications/audio/mpg321/default.nix b/pkgs/applications/audio/mpg321/default.nix index 3ffc5265f7a..65dfe3484b6 100644 --- a/pkgs/applications/audio/mpg321/default.nix +++ b/pkgs/applications/audio/mpg321/default.nix @@ -5,7 +5,7 @@ }: stdenv.mkDerivation rec { - name = "mpg321-${version}"; + pname = "mpg321"; version = "0.3.2"; src = fetchurl { diff --git a/pkgs/applications/audio/munt/default.nix b/pkgs/applications/audio/munt/default.nix new file mode 100644 index 00000000000..c9a1e9bea80 --- /dev/null +++ b/pkgs/applications/audio/munt/default.nix @@ -0,0 +1,38 @@ +{ stdenv, mkDerivation, fetchFromGitHub, cmake, qtbase, alsaLib, makeDesktopItem }: + +let + desktopItem = makeDesktopItem rec { + name = "Munt"; + exec = "mt32emu-qt"; + desktopName = name; + genericName = "Munt synthesiser"; + categories = "Audio;AudioVideo;"; + }; +in mkDerivation rec { + version = "2.3.0"; + pname = "munt"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = with stdenv.lib.versions; "${pname}_${major version}_${minor version}_${patch version}"; + sha256 = "0fjhshs4w942rlfksalalqshflbq83pyz1z0hcq53falh9v54cyw"; + }; + + postInstall = '' + ln -s ${desktopItem}/share/applications $out/share + ''; + + dontFixCmake = true; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ qtbase alsaLib ]; + + meta = with stdenv.lib; { + description = "Multi-platform software synthesiser emulating Roland MT-32, CM-32L, CM-64 and LAPC-I devices"; + homepage = "http://munt.sourceforge.net/"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ gnidorah ]; + }; +} diff --git a/pkgs/applications/audio/muse/default.nix b/pkgs/applications/audio/muse/default.nix index 9687ff3106b..8582fd78192 100644 --- a/pkgs/applications/audio/muse/default.nix +++ b/pkgs/applications/audio/muse/default.nix @@ -17,8 +17,8 @@ }: stdenv.mkDerivation rec { - name = "muse-sequencer-${version}"; - version = "3.0.2"; + pname = "muse-sequencer"; + 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/darwin.nix b/pkgs/applications/audio/musescore/darwin.nix index e14594ae3b2..6f81ebbb8f1 100644 --- a/pkgs/applications/audio/musescore/darwin.nix +++ b/pkgs/applications/audio/musescore/darwin.nix @@ -8,7 +8,7 @@ in with lib; stdenv.mkDerivation rec { - name = "musescore-darwin-${version}"; + pname = "musescore-darwin"; version = "${concatStringsSep "." versionComponents}"; src = fetchurl { diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix index 8ec4a342522..2e69c3cda7a 100644 --- a/pkgs/applications/audio/musescore/default.nix +++ b/pkgs/applications/audio/musescore/default.nix @@ -1,16 +1,16 @@ -{ stdenv, lib, fetchzip, cmake, pkgconfig +{ stdenv, mkDerivation, lib, fetchzip, cmake, pkgconfig , alsaLib, freetype, libjack2, lame, libogg, libpulseaudio, libsndfile, libvorbis , portaudio, portmidi, qtbase, qtdeclarative, qtscript, qtsvg, qttools , qtwebengine, qtxmlpatterns }: -stdenv.mkDerivation rec { - name = "musescore-${version}"; - version = "3.0.1"; +mkDerivation rec { + pname = "musescore"; + version = "3.0.5"; src = fetchzip { url = "https://download.musescore.com/releases/MuseScore-${version}/MuseScore-${version}.zip"; - sha256 = "1l9djxq5hdfqiya2jwcag7qq4dhmb9qcv68y27dlza19imrnim80"; + sha256 = "1pbf6v0l3nixxr8k5igwhj09wnqvw92av6q6yjrbb3kyjh5br2d8"; stripRoot = false; }; diff --git a/pkgs/applications/audio/musly/default.nix b/pkgs/applications/audio/musly/default.nix new file mode 100644 index 00000000000..47370d4bc2f --- /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 7089f4dba92..d89b61aa21f 100644 --- a/pkgs/applications/audio/ncmpc/default.nix +++ b/pkgs/applications/audio/ncmpc/default.nix @@ -2,19 +2,25 @@ , mpd_clientlib, gettext, boost }: stdenv.mkDerivation rec { - name = "ncmpc-${version}"; - version = "0.33"; + pname = "ncmpc"; + version = "0.34"; src = fetchFromGitHub { owner = "MusicPlayerDaemon"; repo = "ncmpc"; rev = "v${version}"; - sha256 = "1ymnxb85v2pc0qpk0yz5gdxayc0ialk82ba521lgdw66li7fr4as"; + sha256 = "0ffby37qdg251c1w0vl6rmd13akbydnf12468z4vrl0ybwfd7fc4"; }; buildInputs = [ glib ncurses mpd_clientlib boost ]; nativeBuildInputs = [ meson ninja pkgconfig gettext ]; + mesonFlags = [ + "-Dlirc=disabled" + "-Dregex=disabled" + "-Ddocumentation=disabled" + ]; + meta = with stdenv.lib; { description = "Curses-based interface for MPD (music player daemon)"; homepage = https://www.musicpd.org/clients/ncmpc/; diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix index d35cefb8841..2ba36b4a50d 100644 --- a/pkgs/applications/audio/ncmpcpp/default.nix +++ b/pkgs/applications/audio/ncmpcpp/default.nix @@ -11,11 +11,11 @@ assert taglibSupport -> (taglib != null); with stdenv.lib; stdenv.mkDerivation rec { - name = "ncmpcpp-${version}"; + pname = "ncmpcpp"; version = "0.8.2"; src = fetchurl { - url = "https://ncmpcpp.rybczak.net/stable/${name}.tar.bz2"; + url = "https://ncmpcpp.rybczak.net/stable/${pname}-${version}.tar.bz2"; sha256 = "0m0mjb049sl62vx13h9waavysa30mk0rphacksnvf94n13la62v5"; }; diff --git a/pkgs/applications/audio/ncpamixer/default.nix b/pkgs/applications/audio/ncpamixer/default.nix index 3eb70ce0c11..53ed9b3297c 100644 --- a/pkgs/applications/audio/ncpamixer/default.nix +++ b/pkgs/applications/audio/ncpamixer/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { - name = "ncpamixer-${version}"; - version = "1.3"; + pname = "ncpamixer"; + version = "1.3.3"; src = fetchFromGitHub { owner = "fulhax"; repo = "ncpamixer"; rev = version; - sha256 = "02v8vsx26w3wrzkg61457diaxv1hyzsh103p53j80la9vglamdsh"; + sha256 = "19pxfvfhhrbfk1wz5awx60y51jccrgrcvlq7lb622sw2z0wzw4ac"; }; buildInputs = [ ncurses libpulseaudio ]; diff --git a/pkgs/applications/audio/non/default.nix b/pkgs/applications/audio/non/default.nix index 44dd0d2d4ec..94cf32f8f82 100644 --- a/pkgs/applications/audio/non/default.nix +++ b/pkgs/applications/audio/non/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "non-${version}"; + pname = "non"; version = "2018-02-15"; src = fetchFromGitHub { owner = "original-male"; diff --git a/pkgs/applications/audio/normalize/default.nix b/pkgs/applications/audio/normalize/default.nix index 85c902d3839..490ecc967bb 100644 --- a/pkgs/applications/audio/normalize/default.nix +++ b/pkgs/applications/audio/normalize/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libmad }: stdenv.mkDerivation rec { - name = "normalize-${version}"; + pname = "normalize"; version = "0.7.7"; src = fetchurl { - url = "mirror://savannah/normalize/${name}.tar.gz"; + url = "mirror://savannah/normalize/${pname}-${version}.tar.gz"; sha256 = "1n5khss10vjjp6w69q9qcl4kqfkd0pr555lgqghrchn6rjms4mb0"; }; diff --git a/pkgs/applications/audio/nova-filters/default.nix b/pkgs/applications/audio/nova-filters/default.nix index bb186687c66..91443bb1ef7 100644 --- a/pkgs/applications/audio/nova-filters/default.nix +++ b/pkgs/applications/audio/nova-filters/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "0.2-2"; - name = "nova-filters-${version}"; + pname = "nova-filters"; src = fetchurl { url = https://klingt.org/~tim/nova-filters/nova-filters_0.2-2.tar.gz; diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix index f8f08369ab9..8116bcaf0bd 100644 --- a/pkgs/applications/audio/openmpt123/default.nix +++ b/pkgs/applications/audio/openmpt123/default.nix @@ -4,7 +4,8 @@ let version = "0.4.1"; in stdenv.mkDerivation rec { - name = "openmpt123-${version}"; + pname = "openmpt123"; + inherit version; src = fetchurl { url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz"; diff --git a/pkgs/applications/audio/padthv1/default.nix b/pkgs/applications/audio/padthv1/default.nix index 084487fd407..b424bce2433 100644 --- a/pkgs/applications/audio/padthv1/default.nix +++ b/pkgs/applications/audio/padthv1/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, libjack2, alsaLib, libsndfile, liblo, lv2, qt5, fftw }: +{ stdenv, fetchurl, pkgconfig, libjack2, alsaLib, libsndfile, liblo, lv2, qt5, fftw, mkDerivation }: -stdenv.mkDerivation rec { - name = "padthv1-${version}"; - version = "0.9.4"; +mkDerivation rec { + pname = "padthv1"; + version = "0.9.9"; src = fetchurl { - url = "mirror://sourceforge/padthv1/${name}.tar.gz"; - sha256 = "0k4vlg3clsn2i4k12imvcjiwlp9nx1mikwyrnarg9shxzzdzcf4y"; + url = "mirror://sourceforge/padthv1/${pname}-${version}.tar.gz"; + sha256 = "0axansxwa3vfc1n6a7jbaqyz6wmsffi37i4ggsl08gmqywz255xb"; }; buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ]; diff --git a/pkgs/applications/audio/pamix/default.nix b/pkgs/applications/audio/pamix/default.nix index cc4a781ef66..2507f08e9e5 100644 --- a/pkgs/applications/audio/pamix/default.nix +++ b/pkgs/applications/audio/pamix/default.nix @@ -3,7 +3,7 @@ , libpulseaudio, ncurses }: stdenv.mkDerivation rec { - name = "pamix-${version}"; + pname = "pamix"; version = "1.6"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/pamixer/default.nix b/pkgs/applications/audio/pamixer/default.nix index 322a4e23846..7c452096785 100644 --- a/pkgs/applications/audio/pamixer/default.nix +++ b/pkgs/applications/audio/pamixer/default.nix @@ -1,27 +1,20 @@ { stdenv, fetchFromGitHub, fetchpatch, boost, libpulseaudio }: stdenv.mkDerivation rec { - name = "pamixer-${version}"; - version = "1.3.1"; + pname = "pamixer"; + version = "1.4"; src = fetchFromGitHub { owner = "cdemoulins"; repo = "pamixer"; rev = version; - sha256 = "15zs2x4hnrpxphqn542b6qqm4ymvhkvbcfyffy69d6cki51chzzw"; + sha256 = "1i14550n8paijwwnhksv5izgfqm3s5q2773bdfp6vyqybkll55f7"; }; - # Remove after https://github.com/cdemoulins/pamixer/pull/16 gets fixed - patches = [(fetchpatch { - url = "https://github.com/oxij/pamixer/commit/dea1cd967aa837940e5c0b04ef7ebc47a7a93d63.patch"; - sha256 = "0s77xmsiwywyyp6f4bjxg1sqdgms1k5fiy7na6ws0aswshfnzfjb"; - })]; - buildInputs = [ boost libpulseaudio ]; installPhase = '' - mkdir -p $out/bin - cp pamixer $out/bin + install -Dm755 pamixer -t $out/bin ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/audio/paprefs/default.nix b/pkgs/applications/audio/paprefs/default.nix index 23ba3582ce6..9c59b5466c7 100644 --- a/pkgs/applications/audio/paprefs/default.nix +++ b/pkgs/applications/audio/paprefs/default.nix @@ -1,16 +1,36 @@ -{ fetchurl, stdenv, meson, ninja, gettext, pkgconfig, pulseaudioFull, gtkmm3, dbus-glib, wrapGAppsHook }: +{ fetchurl +, stdenv +, meson +, ninja +, gettext +, pkgconfig +, pulseaudioFull +, glibmm +, gtkmm3 +, 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 ]; + nativeBuildInputs = [ + meson + ninja + gettext + pkgconfig + wrapGAppsHook + ]; - buildInputs = [ pulseaudioFull gtkmm3 dbus-glib ]; + buildInputs = [ + pulseaudioFull + glibmm + gtkmm3 + ]; meta = with stdenv.lib; { description = "PulseAudio Preferences"; diff --git a/pkgs/applications/audio/parlatype/default.nix b/pkgs/applications/audio/parlatype/default.nix new file mode 100644 index 00000000000..1eb8b416a9a --- /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, hicolor-icon-theme }: + +stdenv.mkDerivation rec { + pname = "parlatype"; + version = "1.6.1"; + + src = fetchFromGitHub { + owner = "gkarsay"; + repo = pname; + rev = "v${version}"; + sha256 = "0b811lwiylrjirx88gi9az1b1b71j2i5a4a6g56wp9qxln6lzjj2"; + }; + + 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 7f3940e0ae9..4f76aefb5ed 100644 --- a/pkgs/applications/audio/patchage/default.nix +++ b/pkgs/applications/audio/patchage/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "patchage-${version}"; + pname = "patchage"; version = "1.0.1"; src = fetchsvn { url = http://svn.drobilla.net/lad/trunk/patchage/; diff --git a/pkgs/applications/audio/paulstretch/default.nix b/pkgs/applications/audio/paulstretch/default.nix new file mode 100644 index 00000000000..b2c049c9eee --- /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 06398324491..0cff6c419a0 100644 --- a/pkgs/applications/audio/pavucontrol/default.nix +++ b/pkgs/applications/audio/pavucontrol/default.nix @@ -2,11 +2,12 @@ , 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 = '' @@ -16,7 +17,7 @@ stdenv.mkDerivation rec { ''; buildInputs = [ libpulseaudio gtkmm3 libcanberra-gtk3 makeWrapper - gnome3.defaultIconTheme ]; + gnome3.adwaita-icon-theme ]; nativeBuildInputs = [ pkgconfig intltool ]; @@ -35,7 +36,7 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl2Plus; - maintainers = with maintainers; [ abbradar jgeerds ]; + maintainers = with maintainers; [ abbradar globin ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/pd-plugins/cyclone/default.nix b/pkgs/applications/audio/pd-plugins/cyclone/default.nix index ae43bad5b2c..6440f6e787f 100644 --- a/pkgs/applications/audio/pd-plugins/cyclone/default.nix +++ b/pkgs/applications/audio/pd-plugins/cyclone/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, puredata }: stdenv.mkDerivation rec { - name = "cyclone-${version}"; + pname = "cyclone"; version = "0.3beta-2"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/pd-plugins/maxlib/default.nix b/pkgs/applications/audio/pd-plugins/maxlib/default.nix index 0eb75d77c68..21ba375200b 100644 --- a/pkgs/applications/audio/pd-plugins/maxlib/default.nix +++ b/pkgs/applications/audio/pd-plugins/maxlib/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, puredata }: stdenv.mkDerivation rec { - name = "maxlib-${version}"; + pname = "maxlib"; version = "1.5.7"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/pd-plugins/mrpeach/default.nix b/pkgs/applications/audio/pd-plugins/mrpeach/default.nix index 972a162b73f..9e7de39218d 100644 --- a/pkgs/applications/audio/pd-plugins/mrpeach/default.nix +++ b/pkgs/applications/audio/pd-plugins/mrpeach/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, puredata }: stdenv.mkDerivation rec { - name = "mrpeach-${version}"; + pname = "mrpeach"; version = "1.1"; # this was to only usable url I could find: diff --git a/pkgs/applications/audio/pd-plugins/puremapping/default.nix b/pkgs/applications/audio/pd-plugins/puremapping/default.nix index 37d692a3ab5..c214d3fcf40 100644 --- a/pkgs/applications/audio/pd-plugins/puremapping/default.nix +++ b/pkgs/applications/audio/pd-plugins/puremapping/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, unzip, puredata }: stdenv.mkDerivation rec { - name = "puremapping-${version}"; + pname = "puremapping"; version = "20160130"; src = fetchurl { diff --git a/pkgs/applications/audio/pd-plugins/timbreid/default.nix b/pkgs/applications/audio/pd-plugins/timbreid/default.nix index f2e54b327fc..fa9660fbbf6 100644 --- a/pkgs/applications/audio/pd-plugins/timbreid/default.nix +++ b/pkgs/applications/audio/pd-plugins/timbreid/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "0.7.0"; - name = "timbreid-${version}"; + pname = "timbreid"; src = fetchurl { url = "http://williambrent.conflations.com/pd/timbreID-${version}-src.zip"; diff --git a/pkgs/applications/audio/pd-plugins/zexy/default.nix b/pkgs/applications/audio/pd-plugins/zexy/default.nix index d56462ccc84..cc307417c06 100644 --- a/pkgs/applications/audio/pd-plugins/zexy/default.nix +++ b/pkgs/applications/audio/pd-plugins/zexy/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoconf, automake, puredata }: stdenv.mkDerivation rec { - name = "zexy-${version}"; + pname = "zexy"; version = "2.2.4"; src = fetchurl { - url = "https://puredata.info/downloads/zexy/releases/${version}/${name}.tar.gz"; + url = "https://puredata.info/downloads/zexy/releases/${version}/${pname}-${version}.tar.gz"; sha256 = "1xpgl82c2lc6zfswjsa7z10yhv5jb7a4znzh3nc7ffrzm1z8vylp"; }; diff --git a/pkgs/applications/audio/petrifoo/default.nix b/pkgs/applications/audio/petrifoo/default.nix index d86e5aae2cd..8bbeffb1f7a 100644 --- a/pkgs/applications/audio/petrifoo/default.nix +++ b/pkgs/applications/audio/petrifoo/default.nix @@ -3,11 +3,11 @@ , pkgconfig, openssl }: stdenv.mkDerivation rec { - name = "petri-foo-${version}"; + pname = "petri-foo"; version = "0.1.87"; src = fetchurl { - url = "mirror://sourceforge/petri-foo/${name}.tar.bz2"; + url = "mirror://sourceforge/petri-foo/${pname}-${version}.tar.bz2"; sha256 = "0b25iicgn8c42487fdw32ycfrll1pm2zjgy5djvgw6mfcaa4gizh"; }; diff --git a/pkgs/applications/audio/pianobar/default.nix b/pkgs/applications/audio/pianobar/default.nix index 60cd2567f62..40e45a76b4b 100644 --- a/pkgs/applications/audio/pianobar/default.nix +++ b/pkgs/applications/audio/pianobar/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, pkgconfig, libao, json_c, libgcrypt, ffmpeg, curl }: stdenv.mkDerivation rec { - name = "pianobar-2018.06.22"; + name = "pianobar-2019.02.14"; src = fetchurl { url = "http://6xq.net/projects/pianobar/${name}.tar.bz2"; - sha256 = "1hnlif62vsxgh8j9mcibxwj4gybpgqc11ba729kflpvvi9qmfqwl"; + sha256 = "07z21vmlqpmvb3294r384iqbx972rwcx6chrdlkfv4hlnc9h7gf0"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/audio/pianobooster/default.nix b/pkgs/applications/audio/pianobooster/default.nix index 53afcdd2306..c2c4672be12 100644 --- a/pkgs/applications/audio/pianobooster/default.nix +++ b/pkgs/applications/audio/pianobooster/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, alsaLib, cmake, libGLU_combined, makeWrapper, qt4 }: stdenv.mkDerivation rec { - name = "pianobooster-${version}"; + pname = "pianobooster"; version = "0.6.4b"; src = fetchurl { diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix index 915b7d0cbb5..04a62b5d159 100644 --- a/pkgs/applications/audio/picard/default.nix +++ b/pkgs/applications/audio/picard/default.nix @@ -1,19 +1,19 @@ -{ stdenv, python3Packages, fetchFromGitHub, gettext, chromaprint }: +{ stdenv, python3Packages, fetchFromGitHub, gettext, chromaprint, qt5 }: let pythonPackages = python3Packages; in pythonPackages.buildPythonApplication rec { pname = "picard"; - version = "2.1.2"; + version = "2.1.3"; src = fetchFromGitHub { owner = "metabrainz"; repo = pname; rev = "release-${version}"; - sha256 = "1p2bvfzby0nk1vh04yfmsvjcldgkj6m6s1hcv9v13hc8q1cbdfk5"; + sha256 = "1armg8vpvnbpk7rrfk9q7nj5gm56rza00ni9qwdyqpxp1xaz6apj"; }; - buildInputs = [ gettext ]; + nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ]; propagatedBuildInputs = with pythonPackages; [ pyqt5 @@ -22,15 +22,16 @@ in pythonPackages.buildPythonApplication rec { discid ]; - installPhase = '' - python setup.py install --prefix="$out" - ''; - prePatch = '' # Pesky unicode punctuation. substituteInPlace setup.cfg --replace "‘" "'" ''; + installPhase = '' + python setup.py install --prefix="$out" + wrapQtApp $out/bin/picard + ''; + meta = with stdenv.lib; { homepage = http://musicbrainz.org/doc/MusicBrainz_Picard; description = "The official MusicBrainz tagger"; diff --git a/pkgs/applications/audio/pithos/default.nix b/pkgs/applications/audio/pithos/default.nix index c7bb1a4193f..5d86e37dec8 100644 --- a/pkgs/applications/audio/pithos/default.nix +++ b/pkgs/applications/audio/pithos/default.nix @@ -1,33 +1,29 @@ -{ fetchFromGitHub, stdenv, pythonPackages, gtk3, gobject-introspection, libnotify -, gst_all_1, wrapGAppsHook }: +{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, appstream-glib +, wrapGAppsHook, pythonPackages, gtk3, gnome3, gobject-introspection +, libnotify, libsecret, gst_all_1 }: pythonPackages.buildPythonApplication rec { pname = "pithos"; - version = "1.1.2"; + version = "1.4.1"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "0zk9clfawsnwmgjbk7y5d526ksxd1pkh09ln6sb06v4ygaiifcxp"; + sha256 = "0vaw0rfcdh4bsp9b8la9bs36kw0iwia54y5x060byxhff9av6nj4"; }; - # No tests in repo - doCheck = false; + format = "other"; postPatch = '' - substituteInPlace setup.py --replace "/usr/share" "$out/share" + chmod +x meson_post_install.py + patchShebangs meson_post_install.py ''; - postInstall = '' - mkdir -p $out/share/applications - cp -v data/pithos.desktop $out/share/applications - ''; - - buildInputs = [ wrapGAppsHook ]; + nativeBuildInputs = [ meson ninja pkgconfig appstream-glib wrapGAppsHook ]; propagatedBuildInputs = - [ gtk3 gobject-introspection libnotify ] ++ + [ gtk3 gobject-introspection libnotify libsecret gnome3.adwaita-icon-theme ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad ]) ++ (with pythonPackages; [ pygobject3 pylast ]); @@ -35,6 +31,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/playbar2/default.nix b/pkgs/applications/audio/playbar2/default.nix index 16d5eb69cb9..8c21dc8f2ad 100644 --- a/pkgs/applications/audio/playbar2/default.nix +++ b/pkgs/applications/audio/playbar2/default.nix @@ -7,7 +7,7 @@ }: stdenv.mkDerivation rec { - name = "playbar2-${version}"; + pname = "playbar2"; version = "2.5"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/plugin-torture/default.nix b/pkgs/applications/audio/plugin-torture/default.nix index 5529998803c..346387be7e3 100644 --- a/pkgs/applications/audio/plugin-torture/default.nix +++ b/pkgs/applications/audio/plugin-torture/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, boost, ladspaH, lilv, lv2, pkgconfig, serd, sord, sratom }: stdenv.mkDerivation rec { - name = "plugin-torture-${version}"; + pname = "plugin-torture"; version = "2016-07-25"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/pmidi/default.nix b/pkgs/applications/audio/pmidi/default.nix index 9f51d300825..f9b3fbae213 100644 --- a/pkgs/applications/audio/pmidi/default.nix +++ b/pkgs/applications/audio/pmidi/default.nix @@ -3,7 +3,8 @@ , sourceSha256 ? "051mv6f13c8y13c1iv3279k1hhzpz4fm9sfczhgp9sim2bjdj055" }: stdenv.mkDerivation { - name = "pmidi-${version}"; + pname = "pmidi"; + inherit version; src = fetchurl { url = "mirror://sourceforge/pmidi/${version}/pmidi-${version}.tar.gz"; diff --git a/pkgs/applications/audio/ponymix/default.nix b/pkgs/applications/audio/ponymix/default.nix index 5cfbb7bf5a4..6d168ec5661 100644 --- a/pkgs/applications/audio/ponymix/default.nix +++ b/pkgs/applications/audio/ponymix/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, libpulseaudio, libnotify, pkgconfig }: stdenv.mkDerivation rec { - name = "ponymix-${version}"; + pname = "ponymix"; version = "5"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix index 5db5035c835..9414f4211d7 100644 --- a/pkgs/applications/audio/praat/default.nix +++ b/pkgs/applications/audio/praat/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, alsaLib, gtk2, pkgconfig }: stdenv.mkDerivation rec { - name = "praat-${version}"; + pname = "praat"; version = "6.0.43"; src = fetchurl { diff --git a/pkgs/applications/audio/puddletag/default.nix b/pkgs/applications/audio/puddletag/default.nix index 915d7fcbd98..3a6cd298557 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-dlna/default.nix b/pkgs/applications/audio/pulseaudio-dlna/default.nix index 72af8aff106..d414cb75611 100644 --- a/pkgs/applications/audio/pulseaudio-dlna/default.nix +++ b/pkgs/applications/audio/pulseaudio-dlna/default.nix @@ -4,7 +4,7 @@ , faacSupport ? false, faac ? null , flacSupport ? true, flac ? null , soxSupport ? true, sox ? null -, vorbisSupport ? true, vorbisTools ? null +, vorbisSupport ? true, vorbisTools ? null }: assert mp3Support -> lame != null; @@ -14,7 +14,10 @@ assert flacSupport -> flac != null; assert soxSupport -> sox != null; assert vorbisSupport -> vorbisTools != null; -pythonPackages.buildPythonApplication rec { +let + zeroconf = pythonPackages.callPackage ./zeroconf.nix { }; + +in pythonPackages.buildPythonApplication rec { pname = "pulseaudio-dlna"; version = "2017-11-01"; @@ -24,13 +27,14 @@ pythonPackages.buildPythonApplication rec { rev = "4472928dd23f274193f14289f59daec411023ab0"; sha256 = "1dfn7036vrq49kxv4an7rayypnm5dlawsf02pfsldw877hzdamqk"; }; - + # pulseaudio-dlna has no tests doCheck = false; propagatedBuildInputs = with pythonPackages; [ dbus-python docopt requests setproctitle protobuf psutil futures - chardet notify2 netifaces pyroute2 pygobject2 lxml zeroconf ] + chardet notify2 netifaces pyroute2 pygobject2 lxml ] + ++ [ zeroconf ] ++ stdenv.lib.optional mp3Support lame ++ stdenv.lib.optional opusSupport opusTools ++ stdenv.lib.optional faacSupport faac diff --git a/pkgs/applications/audio/pulseaudio-dlna/zeroconf.nix b/pkgs/applications/audio/pulseaudio-dlna/zeroconf.nix new file mode 100644 index 00000000000..328bd8b0b04 --- /dev/null +++ b/pkgs/applications/audio/pulseaudio-dlna/zeroconf.nix @@ -0,0 +1,30 @@ +{ stdenv +, buildPythonPackage +, fetchPypi +, ifaddr +, typing +, pythonOlder +, netifaces +, six +, enum-compat +}: + +buildPythonPackage rec { + pname = "zeroconf"; + version = "0.19.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "0ykzg730n915qbrq9bn5pn06bv6rb5zawal4sqjyfnjjm66snkj3"; + }; + + propagatedBuildInputs = [ netifaces six enum-compat ifaddr ] + ++ stdenv.lib.optionals (pythonOlder "3.5") [ typing ]; + + meta = with stdenv.lib; { + description = "A pure python implementation of multicast DNS service discovery"; + homepage = https://github.com/jstasiak/python-zeroconf; + license = licenses.lgpl21; + maintainers = [ ]; + }; +} diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/default.nix b/pkgs/applications/audio/pulseaudio-modules-bt/default.nix index 950b32a8201..b8082c12c64 100644 --- a/pkgs/applications/audio/pulseaudio-modules-bt/default.nix +++ b/pkgs/applications/audio/pulseaudio-modules-bt/default.nix @@ -7,6 +7,7 @@ , patchelf , fdk_aac , libtool +, ldacbt , cmake , bluez , dbus @@ -22,19 +23,19 @@ let ''; in stdenv.mkDerivation rec { - name = "pulseaudio-modules-bt-${version}"; - version = "unstable-2019-01-05"; + pname = "pulseaudio-modules-bt"; + version = "1.3"; src = fetchFromGitHub { owner = "EHfive"; repo = "pulseaudio-modules-bt"; - rev = "4b0cde160c96f40d860fef267a6ded49ae045be0"; - sha256 = "15jw5nf2dhqqdwzyh2x5kdkrq7f3qn140gw6gmspcai9kplhk24w"; - fetchSubmodules = true; + rev = "v${version}"; + sha256 = "00xmidcw4fvpbmg0nsm2gk5zw26fpyjbc0pjk6mzr570zbnyqqbn"; }; patches = [ ./fix-install-path.patch + ./fix-aac-defaults.patch ]; nativeBuildInputs = [ @@ -48,6 +49,7 @@ in stdenv.mkDerivation rec { ffmpeg_4 fdk_aac libtool + ldacbt bluez dbus sbc @@ -67,7 +69,7 @@ in stdenv.mkDerivation rec { for so in $out/lib/pulse-${pulseaudio.version}/modules/*.so; do orig_rpath=$(patchelf --print-rpath "$so") patchelf \ - --set-rpath "${lib.getLib ffmpeg_4}/lib:$out/lib/pulse-${pulseaudio.version}/modules:$orig_rpath" \ + --set-rpath "${ldacbt}/lib:${lib.getLib ffmpeg_4}/lib:$out/lib/pulse-${pulseaudio.version}/modules:$orig_rpath" \ "$so" done ''; diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/fix-aac-defaults.patch b/pkgs/applications/audio/pulseaudio-modules-bt/fix-aac-defaults.patch new file mode 100644 index 00000000000..c94c5dd61f2 --- /dev/null +++ b/pkgs/applications/audio/pulseaudio-modules-bt/fix-aac-defaults.patch @@ -0,0 +1,15 @@ +diff --git a/src/modules/bluetooth/a2dp/a2dp_aac.c b/src/modules/bluetooth/a2dp/a2dp_aac.c +index 394a7a0..cf5abaf 100644 +--- a/src/modules/bluetooth/a2dp/a2dp_aac.c ++++ b/src/modules/bluetooth/a2dp/a2dp_aac.c +@@ -90,8 +90,8 @@ pa_aac_encoder_init(pa_a2dp_source_read_cb_t read_cb, pa_a2dp_source_read_buf_fr + info->read_pcm = read_cb; + info->read_buf_free = free_cb; + info->aacenc_handle_opened = false; +- info->aac_enc_bitrate_mode = 5; +- info->aac_afterburner = false; ++ info->aac_enc_bitrate_mode = 0; ++ info->aac_afterburner = true; + info->force_pa_fmt = PA_SAMPLE_INVALID; + return true; + } diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch b/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch index e500d1fb133..3c498fe8af1 100644 --- a/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch +++ b/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch @@ -1,20 +1,11 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index d869979..185144d 100644 +index 8d20dbf..63fe7ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -143,13 +143,13 @@ INSTALL(TARGETS +@@ -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/) - - if(NOT ${HAVE_SYSTEM_LDAC}) - - INSTALL(TARGETS - ldacBT_enc - ldacBT_abr -- LIBRARY DESTINATION ${PulseAudio_modlibexecdir}) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pulse-${PulseAudio_VERSION}/modules/) - - endif() diff --git a/pkgs/applications/audio/pulseeffects/default.nix b/pkgs/applications/audio/pulseeffects/default.nix index 736f5c9f674..83fb17189e1 100644 --- a/pkgs/applications/audio/pulseeffects/default.nix +++ b/pkgs/applications/audio/pulseeffects/default.nix @@ -47,13 +47,13 @@ let ]; in stdenv.mkDerivation rec { pname = "pulseeffects"; - version = "4.4.7"; + version = "4.6.6"; src = fetchFromGitHub { owner = "wwmm"; repo = "pulseeffects"; rev = "v${version}"; - sha256 = "14sxwy3mayzn9k5hy58mjzhxaj4wqxvs257xaj03mwvm48k7c7ia"; + sha256 = "15w1kc1b0i8wrkrbfzrvcscanxvcsz336bfyi1awb1lbclvd3sf4"; }; nativeBuildInputs = [ @@ -74,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 @@ -107,5 +107,6 @@ in stdenv.mkDerivation rec { license = licenses.gpl3; maintainers = with maintainers; [ jtojnar ]; platforms = platforms.linux; + badPlatforms = [ "aarch64-linux" ]; }; } diff --git a/pkgs/applications/audio/puredata/default.nix b/pkgs/applications/audio/puredata/default.nix index 6ade9042b53..5886a465409 100644 --- a/pkgs/applications/audio/puredata/default.nix +++ b/pkgs/applications/audio/puredata/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "puredata-${version}"; + pname = "puredata"; version = "0.49-0"; src = fetchurl { diff --git a/pkgs/applications/audio/qjackctl/default.nix b/pkgs/applications/audio/qjackctl/default.nix index eafde7957a2..0b50d3098aa 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, fetchurl, pkgconfig, alsaLib, libjack2, dbus, qtbase, qttools, qtx11extras }: -stdenv.mkDerivation rec { - version = "0.5.5"; - name = "qjackctl-${version}"; +mkDerivation rec { + version = "0.5.9"; + pname = "qjackctl"; # some dependencies such as killall have to be installed additionally src = fetchurl { - url = "mirror://sourceforge/qjackctl/${name}.tar.gz"; - sha256 = "1rzzqa39a6llr52vjkjr0a86nc776kmr5xs52qqga8ms9697psz5"; + url = "mirror://sourceforge/qjackctl/${pname}-${version}.tar.gz"; + sha256 = "1saywsda9m124rmjp7i3n0llryaliabjxhqhvqr6dm983qy7pypk"; }; buildInputs = [ diff --git a/pkgs/applications/audio/qmidinet/default.nix b/pkgs/applications/audio/qmidinet/default.nix index 37677cc211c..d627f352e73 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"; - name = "qmidinet-${version}"; + version = "0.5.5"; + pname = "qmidinet"; src = fetchurl { - url = "mirror://sourceforge/qmidinet/${name}.tar.gz"; - sha256 = "0y2w3rymvc35r291sp2qaxn36wjwvxzk2iaw9y30q9fqc0vlpdns"; + url = "mirror://sourceforge/qmidinet/${pname}-${version}.tar.gz"; + sha256 = "0az20hh14g7k6h779dk1b6fshxnfj2664sj6ypgllzriwv430x9y"; }; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/audio/qmidiroute/default.nix b/pkgs/applications/audio/qmidiroute/default.nix index 7f5191a02c2..2a83d98b6ea 100644 --- a/pkgs/applications/audio/qmidiroute/default.nix +++ b/pkgs/applications/audio/qmidiroute/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "0.4.0"; - name = "qmidiroute-${version}"; + pname = "qmidiroute"; src = fetchurl { - url = "mirror://sourceforge/project/alsamodular/QMidiRoute/${version}/${name}.tar.gz"; + url = "mirror://sourceforge/project/alsamodular/QMidiRoute/${version}/${pname}-${version}.tar.gz"; sha256 = "0vmjwarsxr5540rafhmdcc62yarf0w2l05bjjl9s28zzr5m39z3n"; }; diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix index c10358eed1e..03f6bb1b793 100644 --- a/pkgs/applications/audio/qmmp/default.nix +++ b/pkgs/applications/audio/qmmp/default.nix @@ -29,17 +29,17 @@ # handle that. stdenv.mkDerivation rec { - name = "qmmp-1.2.5"; + name = "qmmp-1.3.3"; src = fetchurl { url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2"; - sha256 = "1xs8kg65088yzdhdkymmknkp1s4adzv095f5jhjvy62s8ymyjvnx"; + sha256 = "1777kqgvbkshqlawy00gbgwflxflwmjjidqdq29mhqszs76r6727"; }; + nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ # basic requirements - cmake pkgconfig xlibsWrapper - qtbase qttools qtmultimedia qtx11extras + qtbase qttools qtmultimedia qtx11extras xlibsWrapper # transports curl libmms # input plugins diff --git a/pkgs/applications/audio/qsampler/default.nix b/pkgs/applications/audio/qsampler/default.nix index 69bf41e1e4f..a878f4edad8 100644 --- a/pkgs/applications/audio/qsampler/default.nix +++ b/pkgs/applications/audio/qsampler/default.nix @@ -2,12 +2,12 @@ , liblscp, libgig, qtbase }: stdenv.mkDerivation rec { - name = "qsampler-${version}"; - version = "0.5.3"; + pname = "qsampler"; + version = "0.5.6"; src = fetchurl { - url = "mirror://sourceforge/qsampler/${name}.tar.gz"; - sha256 = "02xazvz8iaksglbgq3jhw4fq3f5pdcq9sss79jxs082md0mry17d"; + url = "mirror://sourceforge/qsampler/${pname}-${version}.tar.gz"; + sha256 = "0lx2mzyajmjckwfvgf8p8bahzpj0n0lflyip41jk32nwd2hzjhbs"; }; nativeBuildInputs = [ autoconf automake libtool pkgconfig qttools ]; diff --git a/pkgs/applications/audio/qsynth/default.nix b/pkgs/applications/audio/qsynth/default.nix index 26adc639434..81b7e35b630 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"; + pname = "qsynth"; + version = "0.5.7"; src = fetchurl { - url = "mirror://sourceforge/qsynth/${name}.tar.gz"; - sha256 = "1rfkaxq1pyc4hv3l0i6wicianbcbm1wp53kh9i5d4jsljgisd1dv"; + url = "mirror://sourceforge/qsynth/${pname}-${version}.tar.gz"; + sha256 = "18im4w8agj60nkppwbkxqnhpp13z5li3w30kklv4lgs20rvgbvl6"; }; - # 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 9e0abac5ce4..2e504a3c9ec 100644 --- a/pkgs/applications/audio/qtractor/default.nix +++ b/pkgs/applications/audio/qtractor/default.nix @@ -1,21 +1,25 @@ -{ 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 -, sord, sratom, stdenv, suil }: +, libtool, libvorbis, lilv, lv2, pkgconfig, qttools, qtbase, rubberband, serd +, sord, sratom, stdenv, suil, wrapQtAppsHook }: stdenv.mkDerivation rec { - version = "0.6.7"; - name = "qtractor-${version}"; + pname = "qtractor"; + version = "0.9.9"; src = fetchurl { - url = "mirror://sourceforge/qtractor/${name}.tar.gz"; - sha256 = "0h5nblfkl4s412c9f02b40nb8c8jq8ypz67z2qn3hkvhx6i9yxsg"; + url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz"; + sha256 = "0qlbccdxyfy0f09y6qg1xkg12fm67bf2f2c27c22cg8lzk9ang5j"; }; + nativeBuildInputs = [ + autoconf automake libtool pkgconfig qttools wrapQtAppsHook + ]; + 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/qtscrobbler/default.nix b/pkgs/applications/audio/qtscrobbler/default.nix index 453da89953e..68e8e6402ac 100644 --- a/pkgs/applications/audio/qtscrobbler/default.nix +++ b/pkgs/applications/audio/qtscrobbler/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, withMtp ? true, libmtp, pkgconfig, which, qt4, qmake4Hook }: stdenv.mkDerivation rec { - name = "qtscrobbler-${version}"; + pname = "qtscrobbler"; version = "0.11"; src = fetchurl { diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix index a1d85ac91e8..8db837105f8 100644 --- a/pkgs/applications/audio/quodlibet/default.nix +++ b/pkgs/applications/audio/quodlibet/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python3, wrapGAppsHook, gettext, libsoup, gnome3, gtk3, gdk_pixbuf, +{ 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, @@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec { checkInputs = with python3.pkgs; [ pytest pytest_xdist pyflakes pycodestyle polib xvfb_run dbus.daemon glibcLocales ]; - buildInputs = [ gnome3.defaultIconTheme libsoup glib glib-networking gtk3 webkitgtk gdk_pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobject-introspection ] + 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 ]); diff --git a/pkgs/applications/audio/radiotray-ng/default.nix b/pkgs/applications/audio/radiotray-ng/default.nix index 900c2bf7a41..c0186a146be 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 @@ -39,14 +39,14 @@ let pythonInputs = with python2.pkgs; [ python2 lxml ]; in stdenv.mkDerivation rec { - name = "radiotray-ng-${version}"; - version = "0.2.4"; + pname = "radiotray-ng"; + version = "0.2.6"; src = fetchFromGitHub { owner = "ebruck"; repo = "radiotray-ng"; rev = "v${version}"; - sha256 = "1jk80fv8ivwdx7waivls0mczn0rx4wv0fy7a28k77m88i5gkfgyw"; + sha256 = "0khrfxjas2ldh0kksq7l811srqy16ahjxchvz0hhykx5hykymxlb"; }; nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook makeWrapper ]; @@ -54,17 +54,20 @@ 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 + for x in package/CMakeLists.txt include/radiotray-ng/common.hpp data/*.desktop; do substituteInPlace $x --replace /usr $out done + substituteInPlace package/CMakeLists.txt --replace /etc/xdg/autostart $out/etc/xdg/autostart # We don't find the radiotray-ng-notification icon otherwise substituteInPlace data/radiotray-ng.desktop \ @@ -80,8 +83,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; checkInputs = [ gtest ]; - # 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 00000000000..3aee9751656 --- /dev/null +++ b/pkgs/applications/audio/radiotray-ng/no-dl-googletest.patch @@ -0,0 +1,55 @@ +From b6f7a9e2e0194c6baed63a33b7beff359080b8d9 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 ddba1be..3396705 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.22.0 + diff --git a/pkgs/applications/audio/rakarrack/default.nix b/pkgs/applications/audio/rakarrack/default.nix index ec71cfb427c..36302458a75 100644 --- a/pkgs/applications/audio/rakarrack/default.nix +++ b/pkgs/applications/audio/rakarrack/default.nix @@ -2,11 +2,11 @@ libXpm, libjpeg, libpng, libsamplerate, libsndfile, zlib }: stdenv.mkDerivation rec { - name = "rakarrack-${version}"; + pname = "rakarrack"; version = "0.6.1"; src = fetchurl { - url = "mirror://sourceforge/rakarrack/${name}.tar.bz2"; + url = "mirror://sourceforge/rakarrack/${pname}-${version}.tar.bz2"; sha256 = "1rpf63pdn54c4yg13k7cb1w1c7zsvl97c4qxcpz41c8l91xd55kn"; }; diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix index cabebb6f18e..9cff98f6137 100644 --- a/pkgs/applications/audio/reaper/default.nix +++ b/pkgs/applications/audio/reaper/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, autoPatchelfHook, makeWrapper , alsaLib, xorg -, gnome3, pango, gdk_pixbuf, cairo, glib, freetype +, gtk3, pango, gdk-pixbuf, cairo, glib, freetype , libpulseaudio, xdg_utils }: stdenv.mkDerivation rec { - name = "reaper-${version}"; - version = "5.965"; + pname = "reaper"; + version = "5.981"; src = fetchurl { url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz"; - sha256 = "05fn7r3v4qcb1b31g8layzvqilrwdr0s8yskr61yvbhx2dnjp9iw"; + sha256 = "0v4347i0pgzlinas4431dfbv1h9fk6vihvahh73valxvhydyxr8q"; }; nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { xorg.libX11 xorg.libXi - gdk_pixbuf + gdk-pixbuf pango cairo glib @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { ]; runtimeDependencies = [ - gnome3.gtk + gtk3 ]; dontBuild = true; diff --git a/pkgs/applications/audio/redoflacs/default.nix b/pkgs/applications/audio/redoflacs/default.nix index 1918fa9e3a9..e32fd42af32 100644 --- a/pkgs/applications/audio/redoflacs/default.nix +++ b/pkgs/applications/audio/redoflacs/default.nix @@ -2,7 +2,7 @@ , flac, sox }: stdenv.mkDerivation rec { - name = "redoflacs-${version}"; + pname = "redoflacs"; version = "0.30.20150202"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/renoise/default.nix b/pkgs/applications/audio/renoise/default.nix index 081c4ab41ac..62625aa421d 100644 --- a/pkgs/applications/audio/renoise/default.nix +++ b/pkgs/applications/audio/renoise/default.nix @@ -14,12 +14,12 @@ let in stdenv.mkDerivation rec { - name = "renoise-${version}"; + pname = "renoise"; version = "3.1.0"; src = if stdenv.hostPlatform.system == "x86_64-linux" then - if builtins.isNull releasePath then + if releasePath == null then fetchurl { url = "https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_x86_64.tar.bz2"; sha256 = "0pan68fr22xbj7a930y29527vpry3f07q3i9ya4fp6g7aawffsga"; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { else releasePath else if stdenv.hostPlatform.system == "i686-linux" then - if builtins.isNull releasePath then + if releasePath == null then fetchurl { url = "http://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_x86.tar.bz2"; sha256 = "1lccjj4k8hpqqxxham5v01v2rdwmx3c5kgy1p9lqvzqma88k4769"; diff --git a/pkgs/applications/audio/rhvoice/default.nix b/pkgs/applications/audio/rhvoice/default.nix index 6516532df33..c34b27edd96 100644 --- a/pkgs/applications/audio/rhvoice/default.nix +++ b/pkgs/applications/audio/rhvoice/default.nix @@ -4,7 +4,8 @@ let version = "unstable-2018-02-10"; in stdenv.mkDerivation rec { - name = "rhvoice-${version}"; + pname = "rhvoice"; + inherit version; src = fetchFromGitHub { owner = "Olga-Yakovleva"; diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix index e540016ac81..24b342a26a9 100644 --- a/pkgs/applications/audio/rhythmbox/default.nix +++ b/pkgs/applications/audio/rhythmbox/default.nix @@ -4,6 +4,7 @@ , perlPackages , gtk3 , intltool +, libpeas , libsoup , gnome3 , totem-pl-parser @@ -16,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}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0hzcns8gf5yb0rm4ss8jd8qzarcaplp5cylk6plwilsqfvxj4xn2"; + 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 @@ -48,9 +40,9 @@ in stdenv.mkDerivation rec { json-glib gtk3 - gnome3.libpeas + libpeas totem-pl-parser - gnome3.defaultIconTheme + 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 55e3b55472b..9445bf3723c 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 = "18.12"; - name = "rosegarden-${version}"; + version = "19.06"; + pname = "rosegarden"; src = fetchurl { - url = "mirror://sourceforge/rosegarden/${name}.tar.bz2"; - sha256 = "15i9fm0vkn3wsgahaxqi1j5zs0wc0j3wdwml0x49084gk2p328vb"; + url = "mirror://sourceforge/rosegarden/${pname}-${version}.tar.bz2"; + sha256 = "169qb58v2s8va59hzkih8nqb2aipsqlrbfs8q39ywqa8w5d60gcc"; }; patchPhase = '' diff --git a/pkgs/applications/audio/rubyripper/default.nix b/pkgs/applications/audio/rubyripper/default.nix index 9e0a3712c97..82aa86f795b 100644 --- a/pkgs/applications/audio/rubyripper/default.nix +++ b/pkgs/applications/audio/rubyripper/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, ruby, cdparanoia, makeWrapper }: stdenv.mkDerivation rec { version = "0.6.2"; - name = "rubyripper-${version}"; + pname = "rubyripper"; src = fetchurl { url = "https://rubyripper.googlecode.com/files/rubyripper-${version}.tar.bz2"; sha256 = "1fwyk3y0f45l2vi3a481qd7drsy82ccqdb8g2flakv58m45q0yl1"; diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix index 73f24e03e30..5a62a8a4292 100644 --- a/pkgs/applications/audio/samplv1/default.nix +++ b/pkgs/applications/audio/samplv1/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, libjack2, alsaLib, liblo, libsndfile, lv2, qt5 }: stdenv.mkDerivation rec { - name = "samplv1-${version}"; - version = "0.9.4"; + pname = "samplv1"; + version = "0.9.9"; src = fetchurl { - url = "mirror://sourceforge/samplv1/${name}.tar.gz"; - sha256 = "17a61lliplhs14b3x83qz3kv7ww4dn3a02jfdlcx2z903hwn5sld"; + url = "mirror://sourceforge/samplv1/${pname}-${version}.tar.gz"; + sha256 = "1y61wb0bzm1cz7y8xxv6hp8mrkfb9zm9irg6zs4g6aanw539r6l8"; }; 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 fbe90c5377d..7776fa0c166 100644 --- a/pkgs/applications/audio/sayonara/default.nix +++ b/pkgs/applications/audio/sayonara/default.nix @@ -4,7 +4,8 @@ let version = "1.1.1-git1-20180828"; in stdenv.mkDerivation { - name = "sayonara-player-${version}"; + pname = "sayonara-player"; + inherit version; src = fetchurl { url = "https://sayonara-player.com/sw/sayonara-player-${version}.tar.gz"; diff --git a/pkgs/applications/audio/schismtracker/default.nix b/pkgs/applications/audio/schismtracker/default.nix index ab1a6e38738..f902b2dd41b 100644 --- a/pkgs/applications/audio/schismtracker/default.nix +++ b/pkgs/applications/audio/schismtracker/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "20120105"; - name = "schismtracker-${version}"; + pname = "schismtracker"; src = fetchurl { - url = "http://schismtracker.org/dl/${name}.tar.bz2"; + url = "http://schismtracker.org/dl/${pname}-${version}.tar.bz2"; sha256 = "1ny7wv2wxm1av299wvpskall6438wjjpadphmqc7c0h6d0zg5kii"; }; diff --git a/pkgs/applications/audio/seq24/default.nix b/pkgs/applications/audio/seq24/default.nix index d47ede27ece..9bab024f021 100644 --- a/pkgs/applications/audio/seq24/default.nix +++ b/pkgs/applications/audio/seq24/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, alsaLib, gtkmm2, libjack2, pkgconfig }: stdenv.mkDerivation rec { - name = "seq24-${version}"; + pname = "seq24"; version = "0.9.3"; src = fetchurl { - url = "https://launchpad.net/seq24/trunk/${version}/+download/${name}.tar.gz"; + url = "https://launchpad.net/seq24/trunk/${version}/+download/${pname}-${version}.tar.gz"; sha256 = "1qpyb7355s21sgy6gibkybxpzx4ikha57a8w644lca6qy9mhcwi3"; }; diff --git a/pkgs/applications/audio/setbfree/default.nix b/pkgs/applications/audio/setbfree/default.nix index 1047734a2c1..9502cb7b7e7 100644 --- a/pkgs/applications/audio/setbfree/default.nix +++ b/pkgs/applications/audio/setbfree/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "setbfree-${version}"; + pname = "setbfree"; version = "0.8.8"; src = fetchurl { diff --git a/pkgs/applications/audio/sfxr-qt/default.nix b/pkgs/applications/audio/sfxr-qt/default.nix index a98d1431d65..5708ef0ce0a 100644 --- a/pkgs/applications/audio/sfxr-qt/default.nix +++ b/pkgs/applications/audio/sfxr-qt/default.nix @@ -6,7 +6,7 @@ }: stdenv.mkDerivation rec { - name = "sfxr-qt-${version}"; + pname = "sfxr-qt"; version = "1.2.0"; src = fetchFromGitHub { owner = "agateau"; diff --git a/pkgs/applications/audio/sfxr/default.nix b/pkgs/applications/audio/sfxr/default.nix new file mode 100644 index 00000000000..fbd0f3c5def --- /dev/null +++ b/pkgs/applications/audio/sfxr/default.nix @@ -0,0 +1,56 @@ +{ stdenv +, fetchurl +, pkgconfig +, desktop-file-utils +, SDL +, gtk3 +, gsettings-desktop-schemas +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "sfxr"; + version = "1.2.1"; + + src = fetchurl { + url = "http://www.drpetter.se/files/sfxr-sdl-${version}.tar.gz"; + sha256 = "0dfqgid6wzzyyhc0ha94prxax59wx79hqr25r6if6by9cj4vx4ya"; + }; + + postPatch = '' + substituteInPlace Makefile --replace "usr/" "" + substituteInPlace sdlkit.h --replace \ + "/usr/share/sfxr/sfxr.bmp" \ + "$out/share/sfxr/sfxr.bmp" + substituteInPlace main.cpp \ + --replace \ + "/usr/share/sfxr/font.tga" \ + "$out/share/sfxr/font.tga" \ + --replace \ + "/usr/share/sfxr/ld48.tga" \ + "$out/share/sfxr/ld48.tga" + ''; + + nativeBuildInputs = [ + pkgconfig + desktop-file-utils + ]; + + buildInputs = [ + SDL + gtk3 + gsettings-desktop-schemas + wrapGAppsHook + ]; + + makeFlags = [ "DESTDIR=$(out)" ]; + + meta = with stdenv.lib; { + homepage = "http://www.drpetter.se/project_sfxr.html"; + description = "A videogame sound effect generator"; + license = licenses.mit; + maintainers = with maintainers; [ fgaz ]; + platforms = platforms.unix; + }; +} + diff --git a/pkgs/applications/audio/shntool/default.nix b/pkgs/applications/audio/shntool/default.nix index 8645251b384..dc8d95d2c49 100644 --- a/pkgs/applications/audio/shntool/default.nix +++ b/pkgs/applications/audio/shntool/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "3.0.10"; - name = "shntool-${version}"; + pname = "shntool"; src = fetchurl { url = http://www.etree.org/shnutils/shntool/dist/src/shntool-3.0.10.tar.gz; diff --git a/pkgs/applications/audio/sidplayfp/default.nix b/pkgs/applications/audio/sidplayfp/default.nix index b857c5b6835..aff8c173d9f 100644 --- a/pkgs/applications/audio/sidplayfp/default.nix +++ b/pkgs/applications/audio/sidplayfp/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "1.4.4"; - name = "sidplayfp-${version}"; + pname = "sidplayfp"; src = fetchurl { - url = "mirror://sourceforge/sidplay-residfp/sidplayfp/1.4/${name}.tar.gz"; + url = "mirror://sourceforge/sidplay-residfp/sidplayfp/1.4/${pname}-${version}.tar.gz"; sha256 = "0arsrg3f0fsinal22qjmj3r6500bcbgqnx26fsz049ldl716kz1m"; }; diff --git a/pkgs/applications/audio/snapcast/default.nix b/pkgs/applications/audio/snapcast/default.nix index 5730dec6b99..21a36cecbe5 100644 --- a/pkgs/applications/audio/snapcast/default.nix +++ b/pkgs/applications/audio/snapcast/default.nix @@ -32,7 +32,7 @@ let in stdenv.mkDerivation rec { - name = "snapcast-${version}"; + pname = "snapcast"; version = "0.15.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix index 8534d871c66..32e241cf557 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.8"; + name = "snd-19.6"; src = fetchurl { url = "mirror://sourceforge/snd/${name}.tar.gz"; - sha256 = "16p6cmxl8y58wa19k1z6i66qsqaz7rld4850b0sprbxjjb6cqhf7"; + sha256 = "0s2qv8sznvw6559bi39qj9p072azh9qcb2b86w6w8clz2azjaa76"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/audio/sonata/default.nix b/pkgs/applications/audio/sonata/default.nix index 012270905cc..d5985f097e9 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, gobject-introspection}: +{ 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 = '' diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix index ee72b6cdb1a..7934af8aad8 100644 --- a/pkgs/applications/audio/sonic-pi/default.nix +++ b/pkgs/applications/audio/sonic-pi/default.nix @@ -21,7 +21,7 @@ let in stdenv.mkDerivation rec { version = "3.1.0"; - name = "sonic-pi-${version}"; + pname = "sonic-pi"; src = fetchFromGitHub { owner = "samaaron"; diff --git a/pkgs/applications/audio/sonic-visualiser/default.nix b/pkgs/applications/audio/sonic-visualiser/default.nix index d5f613b4594..501d097f29f 100644 --- a/pkgs/applications/audio/sonic-visualiser/default.nix +++ b/pkgs/applications/audio/sonic-visualiser/default.nix @@ -7,11 +7,11 @@ }: stdenv.mkDerivation rec { - name = "sonic-visualiser-${version}"; + pname = "sonic-visualiser"; version = "2.4.1"; src = fetchurl { - url = "https://code.soundsoftware.ac.uk/attachments/download/1185/${name}.tar.gz"; + url = "https://code.soundsoftware.ac.uk/attachments/download/1185/${pname}-${version}.tar.gz"; sha256 = "06nlha70kgrby16nyhngrv5q846xagnxdinv608v7ga7vpywwmyb"; }; diff --git a/pkgs/applications/audio/sooperlooper/default.nix b/pkgs/applications/audio/sooperlooper/default.nix index bf4d96c6fc4..8dcca85a25c 100644 --- a/pkgs/applications/audio/sooperlooper/default.nix +++ b/pkgs/applications/audio/sooperlooper/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "sooperlooper-git-${version}"; + pname = "sooperlooper-git"; version = "2016-07-19"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/sorcer/default.nix b/pkgs/applications/audio/sorcer/default.nix index cf0b5db81f6..5d8ae0928c9 100644 --- a/pkgs/applications/audio/sorcer/default.nix +++ b/pkgs/applications/audio/sorcer/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub , boost, cairomm, cmake, libsndfile, lv2, ntk, pkgconfig, python }: stdenv.mkDerivation rec { - name = "sorcer-${version}"; + pname = "sorcer"; version = "1.1.3"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/sound-juicer/default.nix b/pkgs/applications/audio/sound-juicer/default.nix index 686b27223a6..7f22a03c1bb 100644 --- a/pkgs/applications/audio/sound-juicer/default.nix +++ b/pkgs/applications/audio/sound-juicer/default.nix @@ -1,6 +1,6 @@ { 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"; @@ -15,8 +15,8 @@ in stdenv.mkDerivation rec{ 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 diff --git a/pkgs/applications/audio/soundkonverter/default.nix b/pkgs/applications/audio/soundkonverter/default.nix new file mode 100644 index 00000000000..df5806b50b9 --- /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/soundscape-renderer/default.nix b/pkgs/applications/audio/soundscape-renderer/default.nix index babe4edff9d..01f0708d115 100644 --- a/pkgs/applications/audio/soundscape-renderer/default.nix +++ b/pkgs/applications/audio/soundscape-renderer/default.nix @@ -15,7 +15,7 @@ }: stdenv.mkDerivation rec { - name = "soundscape-renderer-unstable-${version}"; + pname = "soundscape-renderer-unstable"; version = "2016-11-03"; diff --git a/pkgs/applications/audio/spectmorph/default.nix b/pkgs/applications/audio/spectmorph/default.nix index 9557770418e..7544a3520c7 100644 --- a/pkgs/applications/audio/spectmorph/default.nix +++ b/pkgs/applications/audio/spectmorph/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libjack2, lv2, glib, qt5, libao, cairo, libsndfile, fftwFloat }: stdenv.mkDerivation rec { - name = "spectmorph-${version}"; - version = "0.4.1"; + pname = "spectmorph"; + version = "0.5.0"; src = fetchurl { - url = "http://spectmorph.org/files/releases/${name}.tar.bz2"; - sha256 = "0z00yvv3jl8qsx6bz9msmg09mdnj5r5d4ws5bmnylwxk182whbrv"; + url = "http://spectmorph.org/files/releases/${pname}-${version}.tar.bz2"; + sha256 = "003wznv3sy1b4g55vqii9pr3i3bb3zmj7nqvwrz7vjsfn2xyd1bn"; }; buildInputs = [ libjack2 lv2 glib qt5.qtbase libao cairo libsndfile fftwFloat ]; diff --git a/pkgs/applications/audio/spectrojack/default.nix b/pkgs/applications/audio/spectrojack/default.nix index 6614e370224..4c1682b1e0b 100644 --- a/pkgs/applications/audio/spectrojack/default.nix +++ b/pkgs/applications/audio/spectrojack/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libjack2, fftwFloat, gtk2 }: stdenv.mkDerivation rec { - name = "spectrojack-${version}"; + pname = "spectrojack"; version = "0.4.1"; src = fetchurl { - url = "http://sed.free.fr/spectrojack/${name}.tar.gz"; + url = "http://sed.free.fr/spectrojack/${pname}-${version}.tar.gz"; sha256 = "1kiwx0kag7kq7rhg0bvckfm8r7pqmbk76ppa39cq2980jb5v8rfp"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/audio/speech-denoiser/default.nix b/pkgs/applications/audio/speech-denoiser/default.nix new file mode 100644 index 00000000000..2401dc60b09 --- /dev/null +++ b/pkgs/applications/audio/speech-denoiser/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, lv2, meson, ninja }: + +let + speech-denoiser-src = fetchFromGitHub { + owner = "lucianodato"; + repo = "speech-denoiser"; + rev = "04cfba929630404f8d4f4ca5bac8d9b09a99152f"; + sha256 = "189l6lz8sz5vr6bjyzgcsrvksl1w6crqsg0q65r94b5yjsmjnpr4"; + }; + + rnnoise-nu = stdenv.mkDerivation rec { + pname = "rnnoise-nu"; + version = "unstable-07-10-2019"; + src = speech-denoiser-src; + sourceRoot = "source/rnnoise"; + nativeBuildInputs = [ autoreconfHook ]; + configureFlags = [ "--disable-examples" "--disable-doc" "--disable-shared" "--enable-static" ]; + installTargets = [ "install-rnnoise-nu" ]; + }; +in +stdenv.mkDerivation rec { + pname = "speech-denoiser"; + version = "unstable-07-10-2019"; + + src = speech-denoiser-src; + + nativeBuildInputs = [ pkgconfig meson ninja ]; + buildInputs = [ lv2 rnnoise-nu ]; + + postPatch = '' + substituteInPlace meson.build \ + --replace "cc.find_library('rnnoise-nu',dirs: meson.current_source_dir() + '/rnnoise/.libs/',required : true)" "cc.find_library('rnnoise-nu', required : true)" + ''; + + meta = with stdenv.lib; { + description = "Speech denoise lv2 plugin based on RNNoise library"; + homepage = https://github.com/lucianodato/speech-denoiser; + license = licenses.lgpl3; + maintainers = [ maintainers.magnetophon ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/spek/default.nix b/pkgs/applications/audio/spek/default.nix index 8af7888f74b..f4922e388c4 100644 --- a/pkgs/applications/audio/spek/default.nix +++ b/pkgs/applications/audio/spek/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchzip, autoconf, automake, intltool, pkgconfig, ffmpeg, wxGTK }: stdenv.mkDerivation rec { - name = "spek-${version}"; + pname = "spek"; version = "0.8.3"; src = fetchzip { - name = "${name}-src"; + name = "${pname}-${version}-src"; url = "https://github.com/alexkay/spek/archive/v${version}.tar.gz"; sha256 = "0y4hlhswpqkqpsglrhg5xbfy1a6f9fvasgdf336vhwcjqsc3k2xv"; }; diff --git a/pkgs/applications/audio/split2flac/default.nix b/pkgs/applications/audio/split2flac/default.nix index 372e507ed0e..3c9565df919 100644 --- a/pkgs/applications/audio/split2flac/default.nix +++ b/pkgs/applications/audio/split2flac/default.nix @@ -18,7 +18,7 @@ let ''; in stdenv.mkDerivation rec { - name = "split2flac-${version}"; + pname = "split2flac"; version = "122"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index 6afd8f2dff8..403075f9135 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -1,12 +1,15 @@ { 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, 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 + # 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' @@ -26,13 +29,14 @@ let curl dbus expat - ffmpeg + ffmpeg_3 fontconfig freetype - gdk_pixbuf + gdk-pixbuf glib gtk2 libgcrypt + libnotify libpng nss pango @@ -56,7 +60,8 @@ let in stdenv.mkDerivation { - name = "spotify-${version}"; + pname = "spotify"; + inherit version; # fetch from snapcraft instead of the debian repository most repos fetch from. # That is a bit more cumbersome. But the debian repository only keeps the last @@ -118,8 +123,8 @@ 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.out}/lib/libavcodec.so.56 $libdir/libavcodec-ffmpeg.so.56 - ln -s ${ffmpeg.out}/lib/libavformat.so.56 $libdir/libavformat-ffmpeg.so.56 + ln -s ${ffmpeg_3.out}/lib/libavcodec.so* $libdir + ln -s ${ffmpeg_3.out}/lib/libavformat.so* $libdir rpath="$out/share/spotify:$libdir" @@ -154,7 +159,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 index 0e19ca1920b..a8836214f2f 100755 --- a/pkgs/applications/audio/spotify/update.sh +++ b/pkgs/applications/audio/spotify/update.sh @@ -29,10 +29,10 @@ spotify_nix="$nixpkgs/pkgs/applications/audio/spotify/default.nix" # 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 @@ -50,8 +50,8 @@ echo "Latest $channel release is $upstream_version from $last_updated." # current_nix_version=$( - grep 'version\s*=' "$spotify_nix" \ - | sed -Ene 's/.*"(.*)".*/\1/p' + grep 'version\s*=' "$spotify_nix" \ + | sed -Ene 's/.*"(.*)".*/\1/p' ) echo "Current nix version: $current_nix_version" @@ -61,36 +61,28 @@ echo "Current nix version: $current_nix_version" # if [[ "$current_nix_version" = "$upstream_version" ]]; then - echo "Spotify is already up ot date" - exit 0 + echo "Spotify is already up-to-date" + exit 0 fi echo "Updating from ${current_nix_version} to ${upstream_version}, released on ${last_updated}" # 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*"[^"]*"\s*;/sha512 = "'"${sha512}"'";/' \ - -e 's/version\s*=\s*".*"\s*;/version = "'"${upstream_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 -# -# give instructions for upstreaming -# - +# Commit changes git add "$spotify_nix" -# show changes for review -git status -echo 'Please review and test the changes (./result/bin/spotify).' -echo 'Then stage the changes with `git add` and commit with:' -# prepare commit message -echo "git commit -m 'spotify: $current_nix_version -> $upstream_version'" +git commit -m "spotify: ${current_nix_version} -> ${upstream_version}" diff --git a/pkgs/applications/audio/spotifyd/default.nix b/pkgs/applications/audio/spotifyd/default.nix new file mode 100644 index 00000000000..3daed9f6350 --- /dev/null +++ b/pkgs/applications/audio/spotifyd/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl +, withALSA ? true, alsaLib ? null +, withPulseAudio ? false, libpulseaudio ? null +, withPortAudio ? false, portaudio ? null +}: + +rustPlatform.buildRustPackage rec { + pname = "spotifyd"; + version = "0.2.11"; + + src = fetchFromGitHub { + owner = "Spotifyd"; + repo = "spotifyd"; + rev = "${version}"; + sha256 = "1iybk9xrrvhrcl2xl5r2xhyn1ydhrgwnnb8ldhsw5c16b32z03q1"; + }; + + cargoSha256 = "1dzg4sb95ixjfhx6n4w2rgrq4481vw01nsdrbm746mz7nm71csk3"; + + cargoBuildFlags = [ + "--no-default-features" + "--features" + "${stdenv.lib.optionalString withALSA "alsa_backend,"}${stdenv.lib.optionalString withPulseAudio "pulseaudio_backend,"}${stdenv.lib.optionalString withPortAudio "portaudio_backend,"}" + ]; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ openssl ] + ++ stdenv.lib.optional withALSA alsaLib + ++ stdenv.lib.optional withPulseAudio libpulseaudio + ++ stdenv.lib.optional withPortAudio portaudio; + + meta = with stdenv.lib; { + description = "An open source Spotify client running as a UNIX daemon"; + homepage = "https://github.com/Spotifyd/spotifyd"; + license = with licenses; [ gpl3 ]; + maintainers = [ maintainers.anderslundstedt ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/audio/spotifywm/default.nix b/pkgs/applications/audio/spotifywm/default.nix index f22340b6941..3447049099b 100644 --- a/pkgs/applications/audio/spotifywm/default.nix +++ b/pkgs/applications/audio/spotifywm/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchFromGitHub, spotify, xorg }: +{ stdenv, fetchFromGitHub, spotify, xorg, runtimeShell }: stdenv.mkDerivation rec { - name = "spotifywm-unstable-${version}"; + pname = "spotifywm-unstable"; version = "2016-11-28"; src = fetchFromGitHub { @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ spotify ]; installPhase = '' - echo "#!${stdenv.shell}" > spotifywm + 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 diff --git a/pkgs/applications/audio/squeezelite/default.nix b/pkgs/applications/audio/squeezelite/default.nix index 20f6271c7ad..3184f89ced9 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/ssrc/default.nix b/pkgs/applications/audio/ssrc/default.nix index 19386b47794..9eb71835caa 100644 --- a/pkgs/applications/audio/ssrc/default.nix +++ b/pkgs/applications/audio/ssrc/default.nix @@ -2,7 +2,6 @@ stdenv.mkDerivation rec { pname = "ssrc"; - name = "${pname}-${version}"; version = "1.33"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/streamripper/default.nix b/pkgs/applications/audio/streamripper/default.nix index 39d1c266a37..efa87a2f72c 100644 --- a/pkgs/applications/audio/streamripper/default.nix +++ b/pkgs/applications/audio/streamripper/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl , glib, pkgconfig, libogg, libvorbis, libmad }: stdenv.mkDerivation rec { - name = "streamripper-${version}"; + pname = "streamripper"; version = "1.64.6"; src = fetchurl { - url = "mirror://sourceforge/streamripper/${name}.tar.gz"; + url = "mirror://sourceforge/streamripper/${pname}-${version}.tar.gz"; sha256 = "0hnyv3206r0rfprn3k7k6a0j959kagsfyrmyjm3gsf3vkhp5zmy1"; }; diff --git a/pkgs/applications/audio/sunvox/default.nix b/pkgs/applications/audio/sunvox/default.nix index 47b0bf2e736..1a3d1a96c85 100644 --- a/pkgs/applications/audio/sunvox/default.nix +++ b/pkgs/applications/audio/sunvox/default.nix @@ -12,12 +12,12 @@ let else "x86"; in stdenv.mkDerivation rec { - name = "SunVox-${version}"; - version = "1.9.3b"; + pname = "SunVox"; + 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/svox/default.nix b/pkgs/applications/audio/svox/default.nix index 5e26b6c1cdb..d25e61c37f5 100644 --- a/pkgs/applications/audio/svox/default.nix +++ b/pkgs/applications/audio/svox/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit }: stdenv.mkDerivation rec { - name = "svox-${version}"; + pname = "svox"; version = "2017-07-18"; src = fetchgit { diff --git a/pkgs/applications/audio/swh-lv2/default.nix b/pkgs/applications/audio/swh-lv2/default.nix index 6fa0eb7f8f2..b59752d7cc3 100644 --- a/pkgs/applications/audio/swh-lv2/default.nix +++ b/pkgs/applications/audio/swh-lv2/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, fftwSinglePrec, libxslt, lv2, pkgconfig }: stdenv.mkDerivation rec { - name = "swh-lv2-${version}"; + pname = "swh-lv2"; version = "1.0.16"; src = fetchurl { diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix index e44df51404a..1c373aefb4f 100644 --- a/pkgs/applications/audio/synthv1/default.nix +++ b/pkgs/applications/audio/synthv1/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, qt5, libjack2, alsaLib, liblo, lv2 }: stdenv.mkDerivation rec { - name = "synthv1-${version}"; - version = "0.9.4"; + pname = "synthv1"; + version = "0.9.9"; src = fetchurl { - url = "mirror://sourceforge/synthv1/${name}.tar.gz"; - sha256 = "18xjj14g8gnnbwyrf39bdxc5aswb620w9i323skdf6rnaq229jyv"; + url = "mirror://sourceforge/synthv1/${pname}-${version}.tar.gz"; + sha256 = "0cvamqzg74qfr7kzk3skimskmv0j3d1rmmpbpsmfcrg8srvyx9r2"; }; buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ]; diff --git a/pkgs/applications/audio/tambura/default.nix b/pkgs/applications/audio/tambura/default.nix index a739d72898e..2438cf68536 100644 --- a/pkgs/applications/audio/tambura/default.nix +++ b/pkgs/applications/audio/tambura/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { pname = "Tambura"; - name = "${pname}-${version}"; version = "1.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/tetraproc/default.nix b/pkgs/applications/audio/tetraproc/default.nix index 257963de256..40362fdd496 100644 --- a/pkgs/applications/audio/tetraproc/default.nix +++ b/pkgs/applications/audio/tetraproc/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "tetraproc-${version}"; + pname = "tetraproc"; version = "0.8.6"; src = fetchurl { - url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; + url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2"; sha256 = "02155ljfwgvfgq9z258fb4z7jrz7qx022d054fj5gr0v007cv0r7"; }; diff --git a/pkgs/applications/audio/timemachine/default.nix b/pkgs/applications/audio/timemachine/default.nix index 643f5075298..8c7ed20e748 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 ]; diff --git a/pkgs/applications/audio/tomahawk/default.nix b/pkgs/applications/audio/tomahawk/default.nix index 78bd4338353..c983123ca38 100644 --- a/pkgs/applications/audio/tomahawk/default.nix +++ b/pkgs/applications/audio/tomahawk/default.nix @@ -12,11 +12,11 @@ assert enableKDE -> kdelibs4 != null; assert enableTelepathy -> telepathy-qt != null; stdenv.mkDerivation rec { - name = "tomahawk-${version}"; + pname = "tomahawk"; version = "0.8.4"; src = fetchurl { - url = "http://download.tomahawk-player.org/${name}.tar.bz2"; + url = "http://download.tomahawk-player.org/${pname}-${version}.tar.bz2"; sha256 = "0j84h36wkjfjbsd7ybyji7rcc9wpjdbl0f1xdcc1g7h0nz34pc0g"; }; diff --git a/pkgs/applications/audio/transcribe/default.nix b/pkgs/applications/audio/transcribe/default.nix index 9a76f2d15c7..8eb846ac9c5 100644 --- a/pkgs/applications/audio/transcribe/default.nix +++ b/pkgs/applications/audio/transcribe/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchzip, wrapGAppsHook, alsaLib, atk, cairo, gdk_pixbuf +{ stdenv, fetchzip, wrapGAppsHook, alsaLib, atk, cairo, gdk-pixbuf , glib, gst_all_1, gtk3, libSM, libX11, libpng12, pango, zlib }: stdenv.mkDerivation rec { - name = "transcribe-${version}"; + pname = "transcribe"; version = "8.72"; src = if stdenv.hostPlatform.system == "i686-linux" then @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { dontPatchELF = true; libPath = with gst_all_1; stdenv.lib.makeLibraryPath [ - stdenv.cc.cc glib gtk3 atk pango cairo gdk_pixbuf alsaLib + stdenv.cc.cc glib gtk3 atk pango cairo gdk-pixbuf alsaLib libX11 libSM libpng12 gstreamer gst-plugins-base zlib ]; @@ -68,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 index 9729b136d90..0f70f956713 100644 --- a/pkgs/applications/audio/traverso/default.nix +++ b/pkgs/applications/audio/traverso/default.nix @@ -3,12 +3,12 @@ , libsamplerate, libsndfile, libvorbis, portaudio, qtbase, wavpack }: stdenv.mkDerivation rec { - name = "traverso-${version}"; - version = "0.49.5"; + pname = "traverso"; + version = "0.49.6"; src = fetchurl { - url = "http://traverso-daw.org/traverso-0.49.5.tar.gz"; - sha256 = "169dsqrf807ciavrd82d3iil0xy0r3i1js08xshcrn80ws9hv63m"; + url = "http://traverso-daw.org/traverso-0.49.6.tar.gz"; + sha256 = "12f7x8kw4fw1j0xkwjrp54cy4cv1ql0zwz2ba5arclk4pf6bhl7q"; }; nativeBuildInputs = [ cmake pkgconfig ]; diff --git a/pkgs/applications/audio/tree-from-tags/Gemfile b/pkgs/applications/audio/tree-from-tags/Gemfile new file mode 100644 index 00000000000..24f308f3f42 --- /dev/null +++ b/pkgs/applications/audio/tree-from-tags/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "taglib-ruby" diff --git a/pkgs/applications/audio/tree-from-tags/Gemfile.lock b/pkgs/applications/audio/tree-from-tags/Gemfile.lock new file mode 100644 index 00000000000..2ef77caa6f6 --- /dev/null +++ b/pkgs/applications/audio/tree-from-tags/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + taglib-ruby (0.7.1) + +PLATFORMS + ruby + +DEPENDENCIES + taglib-ruby + +BUNDLED WITH + 1.16.3 diff --git a/pkgs/applications/audio/tree-from-tags/default.nix b/pkgs/applications/audio/tree-from-tags/default.nix new file mode 100644 index 00000000000..521133cb08f --- /dev/null +++ b/pkgs/applications/audio/tree-from-tags/default.nix @@ -0,0 +1,38 @@ +{ stdenv, bundlerEnv, ruby, fetchFromGitHub }: +let + version = "1.1"; + gems = bundlerEnv { + name = "tree-from-tags-${version}-gems"; + inherit ruby; + gemdir = ./.; + }; +in stdenv.mkDerivation { + pname = "tree-from-tags"; + inherit version; + src = fetchFromGitHub { + owner = "dbrock"; + repo = "bongo"; + rev = version; + sha256 = "1nszph9mn98flyhn1jq3y6mdh6jymjkvj5ng36ql016dj92apvhv"; + }; + buildInputs = [ gems ruby ]; + installPhase = '' + mkdir -p $out/{bin,share} + cp tree-from-tags.rb $out/share/ + bin=$out/bin/tree-from-tags +# we are using bundle exec to start in the bundled environment + cat > $bin <" "" substituteInPlace compile.mk --replace "-march=nocona" "" - substituteInPlace Makefile \ - --replace "-Wl,-Bstatic" "" \ - --replace "-lglfw3" "-lglfw" ''; enableParallelBuilding = true; @@ -60,21 +64,21 @@ with stdenv.lib; stdenv.mkDerivation rec { installPhase = '' install -D -m755 -t $out/bin Rack - cp -r res $out/ - mkdir -p $out/share/rack - cp LICENSE.txt LICENSE-dist.txt $out/share/rack + mkdir -p $out/share/vcv-rack + cp -r res Core.json template.vcv LICENSE* cacert.pem $out/share/vcv-rack # Override the default global resource file directory - wrapProgram $out/bin/Rack --add-flags "-g $out" + wrapProgram $out/bin/Rack --add-flags "-s $out/share/vcv-rack" ''; meta = with stdenv.lib; { description = "Open-source virtual modular synthesizer"; homepage = http://vcvrack.com/; - # The source is BSD-3 licensed, some of the art is CC-BY-NC 4.0 or unfree - license = [ licenses.bsd3 licenses.cc-by-nc-40 licenses.unfree ]; - maintainers = with maintainers; [ moredread ]; + # The source is BSD-3 licensed, some of the art is CC-BY-NC 4.0 or under a + # no-derivatives clause + license = with licenses; [ bsd3 cc-by-nc-40 unfreeRedistributable ]; + maintainers = with maintainers; [ moredread nathyong ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/vcv-rack/glfw.patch b/pkgs/applications/audio/vcv-rack/glfw.patch new file mode 100644 index 00000000000..77875415160 --- /dev/null +++ b/pkgs/applications/audio/vcv-rack/glfw.patch @@ -0,0 +1,13 @@ +diff --git a/src/init.c b/src/init.c +index af4a579e..317e25b8 100644 +--- a/src/init.c ++++ b/src/init.c +@@ -339,7 +339,7 @@ GLFWAPI GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun cbfun) + + char glfwOpenedFilename[1024]; + +-const char *glfwGetOpenedFilename() ++GLFWAPI const char *glfwGetOpenedFilename() + { + if (glfwOpenedFilename[0]) + { diff --git a/pkgs/applications/audio/vcv-rack/rack-minimize-vendoring.patch b/pkgs/applications/audio/vcv-rack/rack-minimize-vendoring.patch new file mode 100644 index 00000000000..eca9c2f13c0 --- /dev/null +++ b/pkgs/applications/audio/vcv-rack/rack-minimize-vendoring.patch @@ -0,0 +1,14 @@ +diff -ru a/Makefile b/Makefile +--- a/Makefile 1970-01-01 01:00:01.000000000 +0100 ++++ b/Makefile 1970-01-01 01:00:01.000000000 +0100 +@@ -21,8 +21,8 @@ + build/dep/osdialog/osdialog_gtk2.c.o: FLAGS += $(shell pkg-config --cflags gtk+-2.0) + + LDFLAGS += -rdynamic \ +- dep/lib/libglfw3.a dep/lib/libGLEW.a dep/lib/libjansson.a dep/lib/libspeexdsp.a dep/lib/libzip.a dep/lib/libz.a dep/lib/librtmidi.a dep/lib/librtaudio.a dep/lib/libcurl.a dep/lib/libssl.a dep/lib/libcrypto.a \ +- -lpthread -lGL -ldl -lX11 -lasound -ljack \ ++ -lGLEW -ljansson -lspeexdsp -lzip -lz -lrtmidi -lrtaudio -lcurl -lssl -lcrypto \ ++ -lpthread -lGL -ldl -lX11 -lasound -ljack -lglfw \ + $(shell pkg-config --libs gtk+-2.0) + TARGET := Rack + endif diff --git a/pkgs/applications/audio/vimpc/default.nix b/pkgs/applications/audio/vimpc/default.nix index ce561b5db31..7f02ea9cefe 100644 --- a/pkgs/applications/audio/vimpc/default.nix +++ b/pkgs/applications/audio/vimpc/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { version = "0.09.2"; - name = "vimpc-${version}"; + pname = "vimpc"; src = fetchFromGitHub { owner = "boysetsfrog"; diff --git a/pkgs/applications/audio/vkeybd/default.nix b/pkgs/applications/audio/vkeybd/default.nix index b7b0fba2d54..485edaa1ff2 100644 --- a/pkgs/applications/audio/vkeybd/default.nix +++ b/pkgs/applications/audio/vkeybd/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, alsaLib, libX11, makeWrapper, tcl, tk }: stdenv.mkDerivation rec { - name = "vkeybd-${version}"; + pname = "vkeybd"; version = "0.1.18d"; src = fetchurl { - url = "ftp://ftp.suse.com/pub/people/tiwai/vkeybd/${name}.tar.bz2"; + url = "ftp://ftp.suse.com/pub/people/tiwai/vkeybd/${pname}-${version}.tar.bz2"; sha256 = "0107b5j1gf7dwp7qb4w2snj4bqiyps53d66qzl2rwj4jfpakws5a"; }; diff --git a/pkgs/applications/audio/vmpk/default.nix b/pkgs/applications/audio/vmpk/default.nix index dde96764fe6..2bc40a78af4 100644 --- a/pkgs/applications/audio/vmpk/default.nix +++ b/pkgs/applications/audio/vmpk/default.nix @@ -5,7 +5,8 @@ let version = "0.5.1"; in stdenv.mkDerivation rec { - name = "vmpk-${version}"; + pname = "vmpk"; + inherit version; meta = with stdenv.lib; { description = "Virtual MIDI Piano Keyboard"; @@ -15,7 +16,7 @@ in stdenv.mkDerivation rec { }; src = fetchurl { - url = "mirror://sourceforge/vmpk/${version}/${name}.tar.bz2"; + url = "mirror://sourceforge/vmpk/${version}/${pname}-${version}.tar.bz2"; sha256 = "11fqnxgs9hr9255d93n7lazxzjwn8jpmn23nywdksh0pb1ffvfrc"; }; diff --git a/pkgs/applications/audio/vocal/default.nix b/pkgs/applications/audio/vocal/default.nix index 49e11aee0a1..c4333b09f18 100644 --- a/pkgs/applications/audio/vocal/default.nix +++ b/pkgs/applications/audio/vocal/default.nix @@ -1,41 +1,58 @@ -{ stdenv, fetchFromGitHub, cmake, ninja, pkgconfig, pantheon, gtk3, libxml2, webkitgtk, clutter-gtk -, clutter-gst, libunity, libnotify, sqlite, gst_all_1, libsoup, json-glib, gnome3, gobject-introspection, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, cmake +, ninja +, pkgconfig +, pantheon +, gtk3 +, glib +, libxml2 +, webkitgtk +, clutter-gtk +, clutter-gst +, libunity +, libnotify +, sqlite +, gst_all_1 +, json-glib +, libgee +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "vocal"; - version = "2.3.0"; - - name = "${pname}-${version}"; + version = "2.4.2"; src = fetchFromGitHub { owner = "needle-and-thread"; repo = pname; rev = version; - sha256 = "1wkkyai14in4yk3q4qq23wk3l49px2xi8z819y3glna236qsq6qp"; + sha256 = "1c4n89rdl9r13kmmh2qymmy9sa6shjwai7df48k2kfn0pnzq5mad"; }; nativeBuildInputs = [ cmake - gobject-introspection libxml2 ninja - pkgconfig pantheon.vala + pkgconfig wrapGAppsHook ]; buildInputs = with gst_all_1; [ clutter-gst clutter-gtk - pantheon.elementary-icon-theme - gnome3.libgee - pantheon.granite + glib gst-plugins-base gst-plugins-good gstreamer + gtk3 json-glib + libgee libnotify libunity + pantheon.elementary-icon-theme + pantheon.granite sqlite webkitgtk ]; diff --git a/pkgs/applications/audio/whipper/default.nix b/pkgs/applications/audio/whipper/default.nix index 07ab9b55e5b..382a1a8b2e2 100644 --- a/pkgs/applications/audio/whipper/default.nix +++ b/pkgs/applications/audio/whipper/default.nix @@ -44,7 +44,7 @@ python2.pkgs.buildPythonApplication rec { meta = with stdenv.lib; { homepage = https://github.com/whipper-team/whipper; description = "A CD ripper aiming for accuracy over speed"; - maintainers = with maintainers; [ rycee jgeerds ]; + maintainers = with maintainers; [ rycee ]; license = licenses.gpl3Plus; platforms = platforms.linux; }; diff --git a/pkgs/applications/audio/wolf-shaper/default.nix b/pkgs/applications/audio/wolf-shaper/default.nix index 562fdc1be8b..13bf1d674c7 100644 --- a/pkgs/applications/audio/wolf-shaper/default.nix +++ b/pkgs/applications/audio/wolf-shaper/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub , libjack2, lv2, xorg, liblo, libGL, libXcursor, pkgconfig }: stdenv.mkDerivation rec { - name = "wolf-shaper-${version}"; - version = "0.1.6"; + pname = "wolf-shaper"; + version = "0.1.7"; src = fetchFromGitHub { owner = "pdesaulniers"; repo = "wolf-shaper"; rev = "v${version}"; - sha256 = "01h5dm1nrr0i54ancwznr7wn4vpw08dw0b69v3axy32r5j7plw6s"; + sha256 = "0lllgcbnnh1m95bp29hh17x170hl7170zizjrvy892qfkn36830d"; fetchSubmodules = true; }; diff --git a/pkgs/applications/audio/x42-plugins/default.nix b/pkgs/applications/audio/x42-plugins/default.nix index e86a690ec6b..22594d3ec85 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 = "20190105"; - name = "x42-plugins-${version}"; + version = "20190714"; + pname = "x42-plugins"; src = fetchurl { - url = "https://gareus.org/misc/x42-plugins/${name}.tar.xz"; - sha256 = "1bb7k3ly4qa05zgkbpm7d3x9cjch1fklgh279m6hp0ac3hhncdxp"; + url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz"; + sha256 = "1mifmdy9pi1lg0h4nsvyjjnnni41vhgg34lks94mrx46wq90bgx4"; }; nativeBuildInputs = [ pkgconfig ]; @@ -26,6 +26,8 @@ stdenv.mkDerivation rec { patchPhase = '' patchShebangs ./stepseq.lv2/gridgen.sh + patchShebangs ./matrixmixer.lv2/genttl.sh #TODO: remove at next update, see https://github.com/x42/matrixmixer.lv2/issues/2 + patchShebangs ./matrixmixer.lv2/genhead.sh #TODO: remove at next update, see https://github.com/x42/matrixmixer.lv2/issues/2 sed -i 's|/usr/include/zita-convolver.h|${zita-convolver}/include/zita-convolver.h|g' ./convoLV2/Makefile ''; diff --git a/pkgs/applications/audio/xsynth-dssi/default.nix b/pkgs/applications/audio/xsynth-dssi/default.nix index a55b47a6c16..c0803ffa418 100644 --- a/pkgs/applications/audio/xsynth-dssi/default.nix +++ b/pkgs/applications/audio/xsynth-dssi/default.nix @@ -2,11 +2,11 @@ ladspaH, ladspaPlugins, liblo, pkgconfig }: stdenv.mkDerivation rec { - name = "xsynth-dssi-${version}"; + pname = "xsynth-dssi"; version = "0.9.4"; src = fetchurl { - url = "mirror://sourceforge/dssi/${name}.tar.gz"; + url = "mirror://sourceforge/dssi/${pname}-${version}.tar.gz"; sha256 = "00nwv2pqjbmxqdc6xdm0cljq6z05lv4y6bibmhz1kih9lm0lklnk"; }; diff --git a/pkgs/applications/audio/yasr/default.nix b/pkgs/applications/audio/yasr/default.nix index ca6d6240688..c8902f1dda4 100644 --- a/pkgs/applications/audio/yasr/default.nix +++ b/pkgs/applications/audio/yasr/default.nix @@ -1,12 +1,12 @@ {stdenv,fetchurl}: stdenv.mkDerivation rec { - name = "yasr-${version}"; + pname = "yasr"; version = "0.6.9"; src = fetchurl { - url = "https://sourceforge.net/projects/yasr/files/yasr/${version}/${name}.tar.gz"; + url = "https://sourceforge.net/projects/yasr/files/yasr/${version}/${pname}-${version}.tar.gz"; sha256 = "1prv9r9y6jb5ga5578ldiw507fa414m60xhlvjl29278p3x7rwa1"; }; diff --git a/pkgs/applications/audio/ympd/default.nix b/pkgs/applications/audio/ympd/default.nix index b800df016c9..7976f747717 100644 --- a/pkgs/applications/audio/ympd/default.nix +++ b/pkgs/applications/audio/ympd/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, mpd_clientlib, openssl }: stdenv.mkDerivation rec { - name = "ympd-${version}"; + pname = "ympd"; version = "1.3.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix index 24c033001cb..0936fe5a8ed 100644 --- a/pkgs/applications/audio/yoshimi/default.nix +++ b/pkgs/applications/audio/yoshimi/default.nix @@ -5,12 +5,12 @@ assert stdenv ? glibc; stdenv.mkDerivation rec { - name = "yoshimi-${version}"; - version = "1.5.10.1"; + pname = "yoshimi"; + version = "1.5.11.3"; src = fetchurl { - url = "mirror://sourceforge/yoshimi/${name}.tar.bz2"; - sha256 = "02mmy17sa3dlwmjjahn8rfd6h67c5s0q3fvkf6ljrc2mbbpwc375"; + url = "mirror://sourceforge/yoshimi/${pname}-${version}.tar.bz2"; + sha256 = "00w0ll94dpss9f1rnaxjmw6mgjx5q2dz8w4mc3wyrk4s4gbd7154"; }; buildInputs = [ diff --git a/pkgs/applications/audio/zam-plugins/default.nix b/pkgs/applications/audio/zam-plugins/default.nix index 210d0f7e989..cc04632cfb5 100644 --- a/pkgs/applications/audio/zam-plugins/default.nix +++ b/pkgs/applications/audio/zam-plugins/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchgit , boost, libX11, libGLU_combined, liblo, libjack2, ladspaH, lv2, pkgconfig, rubberband, libsndfile, fftwFloat, libsamplerate }: stdenv.mkDerivation rec { - name = "zam-plugins-${version}"; - version = "3.10"; + pname = "zam-plugins"; + version = "3.11"; src = fetchgit { url = "https://github.com/zamaudio/zam-plugins.git"; deepClone = true; - rev = "a3321af1892a6994d64fb705e48ae8adf8d7df20"; - sha256 = "0yqrs21ph2lx00p0jlc70qkmzfrnf9ihg1r3i9j5n2r903ljdg5p"; + rev = "af338057e42dd5d07cba1889bfc74eda517c6147"; + sha256 = "1qbskhcvy2k2xv0f32lw13smz5g72v0yy47zv6vnhnaiaqf3f2d5"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/audio/zita-njbridge/default.nix b/pkgs/applications/audio/zita-njbridge/default.nix index faa90e684ae..1ec6946cf38 100644 --- a/pkgs/applications/audio/zita-njbridge/default.nix +++ b/pkgs/applications/audio/zita-njbridge/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "0.4.4"; - name = "zita-njbridge-${version}"; + pname = "zita-njbridge"; src = fetchurl { - url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; + url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2"; sha256 = "1l8rszdjhp0gq7mr54sdgfs6y6cmw11ssmqb1v9yrkrz5rmwzg8j"; }; diff --git a/pkgs/applications/audio/zynaddsubfx/default.nix b/pkgs/applications/audio/zynaddsubfx/default.nix index 1b3429f39d7..e22bf9ed653 100644 --- a/pkgs/applications/audio/zynaddsubfx/default.nix +++ b/pkgs/applications/audio/zynaddsubfx/default.nix @@ -3,12 +3,12 @@ }: stdenv.mkDerivation rec { - name = "zynaddsubfx-${version}"; - version = "3.0.3"; + pname = "zynaddsubfx"; + version = "3.0.5"; src = fetchurl { url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.bz2"; - sha256 = "1hfpiqdm337gl4ynkmmp2qss2m5z8mzqzjrbiyg6w1v4js7l9phi"; + sha256 = "0qwzg14h043rmyf9jqdylxhyfy4sl0vsr0gjql51wjhid0i34ivl"; }; 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 7a7f6f2ac49..a9647b11eee 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/CrashPlanDesktop.patch b/pkgs/applications/backup/crashplan/CrashPlanDesktop.patch deleted file mode 100644 index 7fa68ba4a38..00000000000 --- a/pkgs/applications/backup/crashplan/CrashPlanDesktop.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- ./scripts/CrashPlanDesktop 2016-03-02 21:01:58.000000000 -0500 -+++ ./scripts/CrashPlanDesktop-1 2016-03-18 20:52:10.117686266 -0400 -@@ -11,7 +11,7 @@ - cd ${TARGETDIR} - - if [ "_${VERSION_5_UI}" == "_true" ]; then -- ${TARGETDIR}/electron/crashplan > ${TARGETDIR}/log/ui_output.log 2> ${TARGETDIR}/log/ui_error.log & -+ ${TARGETDIR}/electron/crashplan & - else -- ${JAVACOMMON} ${GUI_JAVA_OPTS} -classpath "./lib/com.backup42.desktop.jar:./lang:./skin" com.backup42.desktop.CPDesktop > ${TARGETDIR}/log/ui_output.log 2> ${TARGETDIR}/log/ui_error.log & -+ ${JAVACOMMON} ${GUI_JAVA_OPTS} -classpath "./lib/com.backup42.desktop.jar:./lang:./skin" com.backup42.desktop.CPDesktop & - fi diff --git a/pkgs/applications/backup/crashplan/CrashPlanEngine.patch b/pkgs/applications/backup/crashplan/CrashPlanEngine.patch deleted file mode 100644 index de2afe2da68..00000000000 --- a/pkgs/applications/backup/crashplan/CrashPlanEngine.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- ./scripts/CrashPlanEngine 2014-02-19 23:17:19.000000000 +0000 -+++ ./scripts/CrashPlanEngine.1 2014-07-24 17:36:37.330333581 +0100 -@@ -11,7 +11,7 @@ - - cd $TARGETDIR - -- nice -n 19 $JAVACOMMON $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $TARGETDIR/log/engine_output.log 2> $TARGETDIR/log/engine_error.log & -+ nice -n 19 $JAVACOMMON $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $VARDIR/log/engine_output.log 2> $VARDIR/log/engine_error.log & - - if [[ $! -gt 0 ]]; then - echo $! > $PIDFILE -@@ -26,7 +26,7 @@ - - echo "Using Ubuntu 9.04 startup" - -- start-stop-daemon -v --pidfile $PIDFILE --make-pidfile --background --chdir $TARGETDIR --start --nicelevel 19 --exec $JAVACOMMON -- $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $TARGETDIR/log/engine_output.log 2> $TARGETDIR/log/engine_error.log -+ start-stop-daemon -v --pidfile $PIDFILE --make-pidfile --background --chdir $TARGETDIR --start --nicelevel 19 --exec $JAVACOMMON -- $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $VARDIR/log/engine_output.log 2> $VARDIR/log/engine_error.log - - # This test isn't as useful as one might like; start-stop-daemon can't accurately report the state of child processes when --background is used. - # We use this mainly to report the specific error value returned by start-stop-daemon if something goes wrong, but be aware that a return value -@@ -91,7 +91,6 @@ - DESC="CrashPlan Engine" - NAME=CrashPlanEngine - DAEMON=$TARGETDIR/lib/com.backup42.desktop.jar --PIDFILE="$TARGETDIR/${NAME}.pid" - - if [[ -f $TARGETDIR/install.vars ]]; then - . $TARGETDIR/install.vars -@@ -100,6 +99,8 @@ - exit 1 - fi - -+PIDFILE="$VARDIR/${NAME}.pid" -+ - if [[ ! -f $DAEMON ]]; then - echo "Could not find JAR file $DAEMON" - exit 0 diff --git a/pkgs/applications/backup/crashplan/crashplan-small-business.nix b/pkgs/applications/backup/crashplan/crashplan-small-business.nix deleted file mode 100644 index 2016d21c592..00000000000 --- a/pkgs/applications/backup/crashplan/crashplan-small-business.nix +++ /dev/null @@ -1,103 +0,0 @@ -{ stdenv, fetchurl, makeWrapper, getopt, jre, cpio, gawk, gnugrep, gnused, - procps, which, gtk2, atk, glib, pango, gdk_pixbuf, cairo, freetype, - fontconfig, dbus, gconf, nss, nspr, alsaLib, cups, expat, udev, - libX11, libxcb, libXi, libXcursor, libXdamage, libXrandr, libXcomposite, - libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nodePackages, - maxRam ? "1024m" }: - -stdenv.mkDerivation rec { - version = "6.7.0"; - rev = "1512021600670_4503"; - pname = "CrashPlanSmb"; - name = "${pname}_${version}_${rev}"; - - src = fetchurl { - url = "https://web-eam-msp.crashplanpro.com/client/installers/${name}_Linux.tgz"; - sha256 = "0f7ykfxaqjlvv4hv12yc5z8y1vjsysdblv53byml7i1fy1r0q26q"; - }; - - nativeBuildInputs = [ makeWrapper cpio nodePackages.asar ]; - buildInputs = [ getopt which ]; - - vardir = "/var/lib/crashplan"; - manifestdir = "${vardir}/manifest"; - - postPatch = '' - # patch scripts/CrashPlanEngine - substituteInPlace scripts/CrashPlanEngine \ - --replace /bin/ps ${procps}/bin/ps \ - --replace awk ${gawk}/bin/awk \ - --replace '`sed' '`${gnused}/bin/sed' \ - --replace grep ${gnugrep}/bin/grep \ - --replace TARGETDIR/log VARDIR/log \ - --replace TARGETDIR/\''${NAME} VARDIR/\''${NAME} \ - --replace \$TARGETDIR/bin/run.conf $out/bin/run.conf \ - --replace \$VARDIR ${vardir} - - # patch scripts/CrashPlanDesktop - substituteInPlace scripts/CrashPlanDesktop \ - --replace awk ${gawk}/bin/awk \ - --replace "\"\$SCRIPTDIR/..\"" "$out" \ - --replace "\$(dirname \$SCRIPT)" "$out" \ - --replace "\''${TARGETDIR}/log" ${vardir}/log \ - --replace "\''${TARGETDIR}" "$out" - ''; - - installPhase = '' - mkdir $out - zcat -v ${pname}_${version}.cpi | (cd $out; cpio -i -d -v --no-preserve-owner) - - install -D -m 755 scripts/CrashPlanDesktop $out/bin/CrashPlanDesktop - install -D -m 755 scripts/CrashPlanEngine $out/bin/CrashPlanEngine - install -D -m 644 scripts/run.conf $out/bin/run.conf - install -D -m 644 scripts/CrashPlan.desktop $out/share/applications/CrashPlan.desktop - - # unpack, patch and repack app.asar to stop electron from creating /usr/local/crashplan/log to store the ui logs. - asar e $out/app.asar $out/app.asar-unpacked - rm -v $out/app.asar - substituteInPlace $out/app.asar-unpacked/shared_modules/shell/platform_paths.js \ - --replace "getLogFileParentPath();" "\"$vardir/log\";" - asar p $out/app.asar-unpacked $out/app.asar - - mv -v $out/*.asar $out/electron/resources - chmod 755 "$out/electron/crashplan" - - rm -r $out/log - mv -v $out/conf $out/conf.template - ln -s $vardir/log $out/log - ln -s $vardir/cache $out/cache - ln -s $vardir/conf $out/conf - - substituteInPlace $out/bin/run.conf \ - --replace "-Xmx1024m" "-Xmx${maxRam}" - - echo "JAVACOMMON=${jre}/bin/java" > $out/install.vars - echo "APP_BASENAME=CrashPlan" >> $out/install.vars - echo "TARGETDIR=$out" >> $out/install.vars - echo "BINSDIR=$out/bin" >> $out/install.vars - echo "MANIFESTDIR=${manifestdir}" >> $out/install.vars - echo "VARDIR=${vardir}" >> $out/install.vars - echo "INITDIR=" >> $out/install.vars - echo "RUNLVLDIR=" >> $out/install.vars - echo "INSTALLDATE=" >> $out/install.vars - - ''; - - postFixup = '' - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $out/electron/crashplan - wrapProgram $out/bin/CrashPlanDesktop --prefix LD_LIBRARY_PATH ":" "${stdenv.lib.makeLibraryPath [ - stdenv.cc.cc.lib gtk2 atk glib pango gdk_pixbuf cairo freetype - fontconfig dbus gconf nss nspr alsaLib cups expat udev - libX11 libxcb libXi libXcursor libXdamage libXrandr libXcomposite - libXext libXfixes libXrender libXtst libXScrnSaver]}" - ''; - - meta = with stdenv.lib; { - description = "An online backup solution"; - homepage = http://www.crashplan.com/business/; - license = licenses.unfree; - platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ xvapx ]; - broken = true; # 2018-12-06 - }; -} diff --git a/pkgs/applications/backup/crashplan/default.nix b/pkgs/applications/backup/crashplan/default.nix deleted file mode 100644 index 2c76891b3f9..00000000000 --- a/pkgs/applications/backup/crashplan/default.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ stdenv, fetchurl, makeWrapper, jre, cpio, gawk, gnugrep, gnused, procps, gtk2, glib, libXtst }: - -stdenv.mkDerivation rec { - version = "4.8.3"; - rev = "1"; #tracks unversioned changes that occur on download.code42.com from time to time - name = "crashplan-${version}-r${rev}"; - - src = fetchurl { - url = "https://download.code42.com/installs/linux/install/CrashPlan/CrashPlan_${version}_Linux.tgz"; - sha256 = "c25d87ec1d442a396b668547e39b70d66dcfe02250cc57a25916ebb42a407113"; - }; - - meta = with stdenv.lib; { - description = "An online/offline backup solution"; - homepage = http://www.crashplan.org; - license = licenses.unfree; - maintainers = with maintainers; [ sztupi domenkozar jerith666 ]; - }; - - buildInputs = [ makeWrapper cpio ]; - - vardir = "/var/lib/crashplan"; - - manifestdir = "${vardir}/manifest"; - - patches = [ ./CrashPlanEngine.patch ./CrashPlanDesktop.patch ]; - - installPhase = '' - mkdir $out - zcat -v CrashPlan_${version}.cpi | (cd $out; cpio -i -d -v --no-preserve-owner) - - # sed -i "s|manifest|${manifestdir}|g" $out/conf/default.service.xml - - # Fix for encoding troubles (CrashPlan ticket 178827) - # Make sure the daemon is running using the same localization as - # the (installing) user - echo "" >> run.conf - echo "LC_ALL=en_US.UTF-8" >> run.conf - - install -d -m 755 unpacked $out - - install -D -m 644 run.conf $out/bin/run.conf - install -D -m 755 scripts/CrashPlanDesktop $out/bin/CrashPlanDesktop - install -D -m 755 scripts/CrashPlanEngine $out/bin/CrashPlanEngine - install -D -m 644 scripts/CrashPlan.desktop $out/share/applications/CrashPlan.desktop - - rm -r $out/log - mv -v $out/conf $out/conf.template - ln -s $vardir/log $out/log - ln -s $vardir/cache $out/cache - ln -s $vardir/backupArchives $out/backupArchives - ln -s $vardir/conf $out/conf - - echo "JAVACOMMON=${jre}/bin/java" > $out/install.vars - echo "APP_BASENAME=CrashPlan" >> $out/install.vars - echo "TARGETDIR=${vardir}" >> $out/install.vars - echo "BINSDIR=$out/bin" >> $out/install.vars - echo "MANIFESTDIR=${manifestdir}" >> $out/install.vars - echo "VARDIR=${vardir}" >> $out/install.vars - echo "INITDIR=" >> $out/install.vars - echo "RUNLVLDIR=" >> $out/install.vars - echo "INSTALLDATE=" >> $out/install.vars - ''; - - postFixup = '' - for f in $out/bin/CrashPlanDesktop $out/bin/CrashPlanEngine; do - echo "substitutions in $f" - substituteInPlace $f --replace /bin/ps ${procps}/bin/ps - substituteInPlace $f --replace awk ${gawk}/bin/awk - substituteInPlace $f --replace sed ${gnused}/bin/sed - substituteInPlace $f --replace grep ${gnugrep}/bin/grep - done - - substituteInPlace $out/share/applications/CrashPlan.desktop \ - --replace /usr/local $out \ - --replace crashplan/skin skin \ - --replace bin/CrashPlanDesktop CrashPlanDesktop - - wrapProgram $out/bin/CrashPlanDesktop --prefix LD_LIBRARY_PATH ":" "${stdenv.lib.makeLibraryPath [ gtk2 glib libXtst ]}" - ''; -} diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix index 7876ebc244b..2ff51db5404 100644 --- a/pkgs/applications/backup/deja-dup/default.nix +++ b/pkgs/applications/backup/deja-dup/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitLab, substituteAll, meson, ninja, pkgconfig, vala_0_40, gettext -, gnome3, libnotify, itstool, glib, gtk3, libxml2 -, coreutils, libsecret, pcre, libxkbcommon, wrapGAppsHook +, gnome3, libnotify, itstool, glib, gtk3, libxml2, gnome-online-accounts +, coreutils, libpeas, libsecret, pcre, libxkbcommon, wrapGAppsHook , libpthreadstubs, libXdmcp, epoxy, at-spi2-core, dbus, libgpgerror , appstream-glib, desktop-file-utils, duplicity }: @@ -35,9 +35,9 @@ 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 + at-spi2-core dbus gnome-online-accounts libgpgerror ]; propagatedUserEnvPkgs = [ duplicity ]; diff --git a/pkgs/applications/backup/vdmfec/default.nix b/pkgs/applications/backup/vdmfec/default.nix index 3a480f70d4b..1366bb484a9 100644 --- a/pkgs/applications/backup/vdmfec/default.nix +++ b/pkgs/applications/backup/vdmfec/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "vdmfec-${version}"; + pname = "vdmfec"; version = "1.0"; src = fetchurl { - url = "http://members.tripod.com/professor_tom/archives/${name}.tgz"; + url = "http://members.tripod.com/professor_tom/archives/${pname}-${version}.tgz"; sha256 = "0i7q4ylx2xmzzq778anpkj4nqir5gf573n1lbpxnbc10ymsjq2rm"; }; diff --git a/pkgs/applications/blockchains/aeon/default.nix b/pkgs/applications/blockchains/aeon/default.nix new file mode 100644 index 00000000000..d65889be3ac --- /dev/null +++ b/pkgs/applications/blockchains/aeon/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, git, doxygen, graphviz +, boost, miniupnpc, openssl, unbound, cppzmq +, zeromq, pcsclite, readline, libsodium +}: + +let + version = "0.12.9.0"; +in +stdenv.mkDerivation { + pname = "aeon"; + inherit version; + + src = fetchFromGitHub { + owner = "aeonix"; + repo = "aeon"; + rev = "v${version}-aeon"; + fetchSubmodules = true; + sha256 = "194nxf8c8ihkmdsxyhkhrxc2xiinipifk0ng1rmxiiyr2gjgxzga"; + }; + + nativeBuildInputs = [ cmake pkgconfig git doxygen graphviz ]; + + buildInputs = [ + boost miniupnpc openssl unbound + cppzmq zeromq pcsclite readline libsodium + ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DBUILD_GUI_DEPS=ON" + "-DReadline_ROOT_DIR=${readline.dev}" + ]; + + hardeningDisable = [ "fortify" ]; + + meta = with stdenv.lib; { + description = "Private, secure, untraceable currency"; + homepage = http://www.aeon.cash/; + license = licenses.bsd3; + maintainers = [ maintainers.aij ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/altcoins/bitcoin-abc.nix b/pkgs/applications/blockchains/bitcoin-abc.nix similarity index 94% rename from pkgs/applications/altcoins/bitcoin-abc.nix rename to pkgs/applications/blockchains/bitcoin-abc.nix index 3b65b06d8db..479d175020b 100644 --- a/pkgs/applications/altcoins/bitcoin-abc.nix +++ b/pkgs/applications/blockchains/bitcoin-abc.nix @@ -7,13 +7,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version; - version = "0.18.2"; + version = "0.19.4"; src = fetchFromGitHub { owner = "bitcoin-ABC"; repo = "bitcoin-abc"; rev = "v${version}"; - sha256 = "1ha219xnd61qicf7r3j0wbfrifh7blwp3lyk3ycgdn381q1qln29"; + sha256 = "1z4x25ygcw1pqml2ww02vqrvmihlv4f5gnnn1iyfirrjxgpfaxd7"; }; patches = [ ./fix-bitcoin-qt-build.patch ]; diff --git a/pkgs/applications/altcoins/bitcoin-classic.nix b/pkgs/applications/blockchains/bitcoin-classic.nix similarity index 91% rename from pkgs/applications/altcoins/bitcoin-classic.nix rename to pkgs/applications/blockchains/bitcoin-classic.nix index ad48ea2a625..ddce5c3f715 100644 --- a/pkgs/applications/altcoins/bitcoin-classic.nix +++ b/pkgs/applications/blockchains/bitcoin-classic.nix @@ -16,15 +16,15 @@ stdenv.mkDerivation rec { sha256 = "06ij9v7zbdnhxq9429nnxiw655cp8idldj18l7fmj94gqx07n5vh"; }; - patches = [ ./fix-bitcoin-qt-build.patch ]; - nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = [ openssl db48 boost zlib miniupnpc utillinux protobuf libevent ] ++ optionals withGui [ qtbase qttools qrencode ]; configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ] - ++ optionals withGui [ "--with-gui=qt5" ]; + ++ optionals withGui [ "--with-gui=qt5" + "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" + ]; enableParallelBuilding = true; diff --git a/pkgs/applications/altcoins/bitcoin-unlimited.nix b/pkgs/applications/blockchains/bitcoin-unlimited.nix similarity index 79% rename from pkgs/applications/altcoins/bitcoin-unlimited.nix rename to pkgs/applications/blockchains/bitcoin-unlimited.nix index 13ec55bb589..a75b20b3910 100644 --- a/pkgs/applications/altcoins/bitcoin-unlimited.nix +++ b/pkgs/applications/blockchains/bitcoin-unlimited.nix @@ -1,34 +1,32 @@ { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost -, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, libevent -, withGui +, zlib, miniupnpc, utillinux, protobuf, qrencode, libevent, python3 +, withGui, wrapQtAppsHook ? null, qtbase ? null, qttools ? null , Foundation, ApplicationServices, AppKit }: with stdenv.lib; stdenv.mkDerivation rec { - name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version; - version = "1.0.3.0"; + version = "1.6.0.1"; src = fetchFromGitHub { owner = "bitcoinunlimited"; repo = "bitcoinunlimited"; - rev = "v${version}"; - sha256 = "0l02a7h502msrp4c02wgm7f3159ap8l61k4890vas99gq7ywxkcx"; + rev = "bucash${version}"; + sha256 = "0f0mnal4jf8xdj7w5m4rdlcqkrkbpxi88c006m5k45lmjmj141zr"; }; - nativeBuildInputs = [ pkgconfig autoreconfHook ]; + nativeBuildInputs = [ pkgconfig autoreconfHook python3 ] + ++ optionals withGui [ wrapQtAppsHook qttools ]; buildInputs = [ openssl db48 boost zlib miniupnpc utillinux protobuf libevent ] - ++ optionals withGui [ qt4 qrencode ] + ++ optionals withGui [ qtbase qttools qrencode ] ++ optionals stdenv.isDarwin [ Foundation ApplicationServices AppKit ]; - patches = [ - ./bitcoin-unlimited-const-comparators.patch - ]; - configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ] - ++ optionals withGui [ "--with-gui=qt4" ]; + ++ optionals withGui [ "--with-gui=qt5" + "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" + ]; enableParallelBuilding = true; meta = { diff --git a/pkgs/applications/blockchains/bitcoin.nix b/pkgs/applications/blockchains/bitcoin.nix new file mode 100644 index 00000000000..b1d84f91251 --- /dev/null +++ b/pkgs/applications/blockchains/bitcoin.nix @@ -0,0 +1,61 @@ +{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost, zeromq, rapidcheck +, zlib, miniupnpc, qtbase ? null, qttools ? null, wrapQtAppsHook ? null, utillinux, protobuf, python3, qrencode, libevent +, withGui }: + +with stdenv.lib; +stdenv.mkDerivation rec{ + name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version; + version = "0.18.1"; + + src = fetchurl { + urls = [ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz" + "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz" + ]; + sha256 = "5c7d93f15579e37aa2d1dc79e8f5ac675f59045fceddf604ae0f1550eb03bf96"; + }; + + nativeBuildInputs = + [ pkgconfig autoreconfHook ] + ++ optional withGui wrapQtAppsHook; + buildInputs = [ openssl db48 boost zlib zeromq + miniupnpc protobuf libevent] + ++ optionals stdenv.isLinux [ utillinux ] + ++ optionals withGui [ qtbase qttools qrencode ]; + + configureFlags = [ "--with-boost-libdir=${boost.out}/lib" + "--disable-bench" + ] ++ optionals (!doCheck) [ + "--disable-tests" + "--disable-gui-tests" + ] + ++ optionals withGui [ "--with-gui=qt5" + "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" + ]; + + checkInputs = [ rapidcheck python3 ]; + + doCheck = true; + + checkFlags = + [ "LC_ALL=C.UTF-8" ] + # QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI. + # See also https://github.com/NixOS/nixpkgs/issues/24256 + ++ optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}"; + + enableParallelBuilding = true; + + meta = { + description = "Peer-to-peer electronic cash system"; + longDescription= '' + Bitcoin is a free open source peer-to-peer electronic cash system that is + completely decentralized, without the need for a central server or trusted + parties. Users hold the crypto keys to their own money and transact directly + with each other, with the help of a P2P network to check for double-spending. + ''; + homepage = http://www.bitcoin.org/; + maintainers = with maintainers; [ roconnor AndersonTorres ]; + license = licenses.mit; + # bitcoin needs hexdump to build, which doesn't seem to build on darwin at the moment. + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/altcoins/btc1.nix b/pkgs/applications/blockchains/btc1.nix similarity index 95% rename from pkgs/applications/altcoins/btc1.nix rename to pkgs/applications/blockchains/btc1.nix index 2f85a894797..3241148aee1 100644 --- a/pkgs/applications/altcoins/btc1.nix +++ b/pkgs/applications/blockchains/btc1.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, autoreconfHook, hexdump, openssl, db48 -, boost, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, libevent +, boost, zlib, miniupnpc, qt4, protobuf, qrencode, libevent , AppKit , withGui ? !stdenv.isDarwin }: diff --git a/pkgs/applications/blockchains/clightning.nix b/pkgs/applications/blockchains/clightning.nix new file mode 100644 index 00000000000..a8846431f1e --- /dev/null +++ b/pkgs/applications/blockchains/clightning.nix @@ -0,0 +1,44 @@ +{ stdenv, python3, pkgconfig, which, libtool, autoconf, automake, + autogen, sqlite, gmp, zlib, fetchurl, unzip, fetchpatch }: + +with stdenv.lib; +stdenv.mkDerivation rec { + pname = "clightning"; + version = "0.7.1"; + + src = fetchurl { + url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip"; + sha256 = "557be34410f27a8d55d9f31a40717a8f5e99829f2bd114c24e7ca1dd5f6b7d85"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ autoconf autogen automake libtool pkgconfig which unzip ]; + buildInputs = [ sqlite gmp zlib python3 ]; + + makeFlags = [ "prefix=$(out) VERSION=v${version}" ]; + + configurePhase = '' + ./configure --prefix=$out --disable-developer --disable-valgrind + ''; + + postPatch = '' + patchShebangs tools/generate-wire.py + ''; + + doCheck = false; + + meta = { + description = "A Bitcoin Lightning Network implementation in C"; + longDescription= '' + c-lightning is a standard compliant implementation of the Lightning + Network protocol. The Lightning Network is a scalability solution for + Bitcoin, enabling secure and instant transfer of funds between any two + parties for any amount. + ''; + homepage = https://github.com/ElementsProject/lightning; + maintainers = with maintainers; [ jb55 ]; + license = licenses.mit; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/altcoins/cryptop/default.nix b/pkgs/applications/blockchains/cryptop/default.nix similarity index 100% rename from pkgs/applications/altcoins/cryptop/default.nix rename to pkgs/applications/blockchains/cryptop/default.nix diff --git a/pkgs/applications/altcoins/dashpay.nix b/pkgs/applications/blockchains/dashpay.nix similarity index 97% rename from pkgs/applications/altcoins/dashpay.nix rename to pkgs/applications/blockchains/dashpay.nix index b2f2a457a99..03dcd6cb54e 100644 --- a/pkgs/applications/altcoins/dashpay.nix +++ b/pkgs/applications/blockchains/dashpay.nix @@ -8,7 +8,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "dashpay-${version}"; + pname = "dashpay"; version = "0.12.2.3"; src = fetchFromGitHub { diff --git a/pkgs/applications/altcoins/dcrd.nix b/pkgs/applications/blockchains/dcrd.nix similarity index 96% rename from pkgs/applications/altcoins/dcrd.nix rename to pkgs/applications/blockchains/dcrd.nix index cc3e83befa6..16d39e85da1 100644 --- a/pkgs/applications/altcoins/dcrd.nix +++ b/pkgs/applications/blockchains/dcrd.nix @@ -1,7 +1,7 @@ { stdenv, lib, go, buildGoPackage, dep, fetchgit, git, cacert }: buildGoPackage rec { - name = "dcrd-${version}"; + pname = "dcrd"; version = "1.1.2"; rev = "refs/tags/v${version}"; goPackagePath = "github.com/decred/dcrd"; diff --git a/pkgs/applications/altcoins/dcrwallet.nix b/pkgs/applications/blockchains/dcrwallet.nix similarity index 96% rename from pkgs/applications/altcoins/dcrwallet.nix rename to pkgs/applications/blockchains/dcrwallet.nix index 8d966684b23..163ed2615d3 100644 --- a/pkgs/applications/altcoins/dcrwallet.nix +++ b/pkgs/applications/blockchains/dcrwallet.nix @@ -1,7 +1,7 @@ { stdenv, lib, go, buildGoPackage, dep, fetchgit, git, cacert }: buildGoPackage rec { - name = "dcrwallet-${version}"; + pname = "dcrwallet"; version = "1.1.2"; rev = "refs/tags/v${version}"; goPackagePath = "github.com/decred/dcrwallet"; diff --git a/pkgs/applications/altcoins/dero.nix b/pkgs/applications/blockchains/dero.nix similarity index 96% rename from pkgs/applications/altcoins/dero.nix rename to pkgs/applications/blockchains/dero.nix index 8405ea8f842..0ab63bb5395 100644 --- a/pkgs/applications/altcoins/dero.nix +++ b/pkgs/applications/blockchains/dero.nix @@ -2,7 +2,7 @@ , lmdb, miniupnpc, readline }: stdenv.mkDerivation rec { - name = "dero-${version}"; + pname = "dero"; version = "0.11.6"; src = fetchFromGitHub { diff --git a/pkgs/applications/altcoins/dogecoin.nix b/pkgs/applications/blockchains/dogecoin.nix similarity index 85% rename from pkgs/applications/altcoins/dogecoin.nix rename to pkgs/applications/blockchains/dogecoin.nix index 0452f401334..e5f149a0efe 100644 --- a/pkgs/applications/altcoins/dogecoin.nix +++ b/pkgs/applications/blockchains/dogecoin.nix @@ -1,24 +1,24 @@ { stdenv , fetchFromGitHub , pkgconfig, autoreconfHook -, db5, openssl, boost, zlib, miniupnpc +, db5, openssl, boost, zlib, miniupnpc, libevent , protobuf, utillinux, qt4, qrencode , withGui }: with stdenv.lib; stdenv.mkDerivation rec { name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version; - version = "1.10.0"; + version = "1.14.1"; src = fetchFromGitHub { owner = "dogecoin"; repo = "dogecoin"; rev = "v${version}"; - sha256 = "04rddx20d4fps2w3h1jxa2j8iyqpjv2fh897z0z3r06qjvjzf7rr"; + sha256 = "0nmbi5gmms16baqs3fmdp2xm0yf8wawnyz80gcmca4j5ph2zka1v"; }; nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = [ openssl db5 openssl utillinux - protobuf boost zlib miniupnpc ] + protobuf boost zlib miniupnpc libevent ] ++ optionals withGui [ qt4 qrencode ]; configureFlags = [ "--with-incompatible-bdb" diff --git a/pkgs/applications/altcoins/ethabi.nix b/pkgs/applications/blockchains/ethabi.nix similarity index 75% rename from pkgs/applications/altcoins/ethabi.nix rename to pkgs/applications/blockchains/ethabi.nix index d0bc700eb70..21d69f14d7f 100644 --- a/pkgs/applications/altcoins/ethabi.nix +++ b/pkgs/applications/blockchains/ethabi.nix @@ -4,16 +4,16 @@ with rustPlatform; buildRustPackage rec { name = "ethabi-${version}"; - version = "4.1.0"; + version = "7.0.0"; src = fetchFromGitHub { owner = "paritytech"; repo = "ethabi"; rev = "v${version}"; - sha256 = "0kxflixmgycdh7sv73zf2mrkbcfzzw7f5sjbsjks9crc9cvjqi6p"; + sha256 = "1gqd3vwsvv1wvi659qcdywgmh41swblpwmmxb033k8irw581dwq4"; }; - cargoSha256 = "18rigpsmfiv6im2sspnxadgqrlfdp9dd75ji8s56ksc9g7hrc3wz"; + cargoSha256 = "0zkdai31jf8f5syklaxq43ydjvp5xclr8pd6y1q6vkwjz6z49hzm"; cargoBuildFlags = ["--features cli"]; diff --git a/pkgs/applications/blockchains/exodus/default.nix b/pkgs/applications/blockchains/exodus/default.nix new file mode 100644 index 00000000000..bc354a5213e --- /dev/null +++ b/pkgs/applications/blockchains/exodus/default.nix @@ -0,0 +1,78 @@ +{ stdenv, lib, fetchurl, unzip, glib, systemd, nss, nspr, gtk3-x11, gnome2, +atk, cairo, gdk-pixbuf, xorg, xorg_sys_opengl, utillinux, alsaLib, dbus, at-spi2-atk, +cups, vivaldi-ffmpeg-codecs, libpulseaudio }: + +stdenv.mkDerivation rec { + pname = "exodus"; + version = "19.5.24"; + + src = fetchurl { + url = "https://exodusbin.azureedge.net/releases/${pname}-linux-x64-${version}.zip"; + sha256 = "1yx296i525qmpqh8f2vax7igffg826nr8cyq1l0if35374bdsqdw"; + }; + + sourceRoot = "."; + unpackCmd = '' + ${unzip}/bin/unzip "$src" -x "Exodus*/lib*so" + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/applications + cd Exodus-linux-x64 + cp -r . $out + ln -s $out/Exodus $out/bin/Exodus + ln -s $out/exodus.desktop $out/share/applications + substituteInPlace $out/share/applications/exodus.desktop \ + --replace 'Exec=bash -c "cd `dirname %k` && ./Exodus"' "Exec=Exodus" + ''; + + dontPatchELF = true; + dontBuild = true; + + preFixup = let + libPath = lib.makeLibraryPath [ + glib + nss + nspr + gtk3-x11 + gnome2.pango + atk + cairo + gdk-pixbuf + xorg.libX11 + xorg.libxcb + xorg.libXcomposite + xorg.libXcursor + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXrender + xorg.libXtst + xorg_sys_opengl + utillinux + xorg.libXrandr + xorg.libXScrnSaver + alsaLib + dbus.lib + at-spi2-atk + cups.lib + libpulseaudio + systemd + vivaldi-ffmpeg-codecs + ]; + in '' + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}" \ + $out/Exodus + ''; + + meta = with stdenv.lib; { + homepage = "https://www.exodus.io/"; + description = "Top-rated cryptocurrency wallet with Trezor integration and built-in Exchange"; + license = licenses.unfree; + platforms = platforms.linux; + maintainers = [ maintainers.mmahut ]; + }; +} diff --git a/pkgs/applications/altcoins/fix-bitcoin-qt-build.patch b/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch similarity index 84% rename from pkgs/applications/altcoins/fix-bitcoin-qt-build.patch rename to pkgs/applications/blockchains/fix-bitcoin-qt-build.patch index cbbfd85fe5b..c49bbc43251 100644 --- a/pkgs/applications/altcoins/fix-bitcoin-qt-build.patch +++ b/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch @@ -4,12 +4,12 @@ dnl Output: $1 is set to the path of $2 if found. $2 are searched in order. AC_DEFUN([BITCOIN_QT_PATH_PROGS],[ BITCOIN_QT_CHECK([ -- if test "x$3" != "x"; then +- if test "x$3" != x; then - AC_PATH_PROGS($1,$2,,$3) - else - AC_PATH_PROGS($1,$2) - fi + AC_PATH_PROGS($1,$2) - if test "x$$1" = "x" && test "x$4" != "xyes"; then + if test "x$$1" = x && test "x$4" != xyes; then BITCOIN_QT_FAIL([$1 not found]) fi diff --git a/pkgs/applications/altcoins/freicoin.nix b/pkgs/applications/blockchains/freicoin.nix similarity index 84% rename from pkgs/applications/altcoins/freicoin.nix rename to pkgs/applications/blockchains/freicoin.nix index 1e9192bc6e4..6cf84f76f91 100644 --- a/pkgs/applications/altcoins/freicoin.nix +++ b/pkgs/applications/blockchains/freicoin.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "0.8.6-2"; - name = "freicoin-${version}"; + pname = "freicoin"; src = fetchFromGitHub { owner = "freicoin"; @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { sha256 = "1v1qwv4x5agjba82s1vknmdgq67y26wzdwbmwwqavv7f7y3y860h"; }; + enableParallelBuilding = false; + qmakeFlags = ["USE_UPNP=-"]; # I think that openssl and zlib are required, but come through other @@ -32,5 +34,8 @@ stdenv.mkDerivation rec { license = licenses.mit; maintainers = [ maintainers.viric ]; platforms = platforms.linux; + + # upstream doesn't support newer openssl versions, use 1.0.1 for testing + broken = true; }; } diff --git a/pkgs/applications/blockchains/go-ethereum-classic/default.nix b/pkgs/applications/blockchains/go-ethereum-classic/default.nix new file mode 100644 index 00000000000..ed8086f742f --- /dev/null +++ b/pkgs/applications/blockchains/go-ethereum-classic/default.nix @@ -0,0 +1,24 @@ +{ lib, buildGoPackage, fetchgit }: + +buildGoPackage rec { + pname = "go-ethereum-classic"; + version = "4.0.0"; + + goPackagePath = "github.com/ethereumproject/go-ethereum"; + subPackages = [ "cmd/evm" "cmd/geth" ]; + + src = fetchgit { + rev = "v${version}"; + url = "https://github.com/ethereumproject/go-ethereum"; + sha256 = "06f1w7s45q4zva1xjrx92xinsdrixl0m6zhx5hvdjmg3xqcbwr79"; + }; + + goDeps = ./deps.nix; + + meta = { + description = "Golang implementation of Ethereum Classic"; + homepage = https://github.com/ethereumproject/go-ethereum; + license = with lib.licenses; [ lgpl3 gpl3 ]; + maintainers = with lib.maintainers; [ sorpaas ]; + }; +} diff --git a/pkgs/applications/altcoins/go-ethereum-classic/deps.nix b/pkgs/applications/blockchains/go-ethereum-classic/deps.nix similarity index 100% rename from pkgs/applications/altcoins/go-ethereum-classic/deps.nix rename to pkgs/applications/blockchains/go-ethereum-classic/deps.nix diff --git a/pkgs/applications/blockchains/go-ethereum.nix b/pkgs/applications/blockchains/go-ethereum.nix new file mode 100644 index 00000000000..740ecfa228f --- /dev/null +++ b/pkgs/applications/blockchains/go-ethereum.nix @@ -0,0 +1,29 @@ +{ stdenv, buildGoPackage, fetchFromGitHub, libobjc, IOKit }: + +buildGoPackage rec { + pname = "go-ethereum"; + version = "1.9.2"; + + goPackagePath = "github.com/ethereum/go-ethereum"; + + # Fix for usb-related segmentation faults on darwin + propagatedBuildInputs = + stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ]; + + # Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 ) + hardeningDisable = [ "fortify" ]; + + src = fetchFromGitHub { + owner = "ethereum"; + repo = pname; + rev = "v${version}"; + sha256 = "0lymwylh4j63fzj9jy7mcw676a2ksgpsj9mazif1r3d2q73h9m88"; + }; + + meta = with stdenv.lib; { + homepage = "https://geth.ethereum.org/"; + description = "Official golang implementation of the Ethereum protocol"; + license = with licenses; [ lgpl3 gpl3 ]; + maintainers = with maintainers; [ adisbladis asymmetric lionello xrelkd ]; + }; +} diff --git a/pkgs/applications/blockchains/jormungandr/default.nix b/pkgs/applications/blockchains/jormungandr/default.nix new file mode 100644 index 00000000000..8c276d6bb80 --- /dev/null +++ b/pkgs/applications/blockchains/jormungandr/default.nix @@ -0,0 +1,55 @@ +{ stdenv +, lib +, fetchgit +, rustPlatform +, openssl +, pkgconfig +, protobuf +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "jormungandr"; + version = "0.3.3"; + + src = fetchgit { + url = "https://github.com/input-output-hk/${pname}"; + rev = "v${version}"; + sha256 = "1fw3cl2rxnw9mww1b1z96x2iapwbpdgyp4ra19dhvfzmlvaiml5j"; + fetchSubmodules = true; + }; + + cargoSha256 = "1ilp9ffaz3njv38mnqics4b5d7wh52mj4rwi71h5c0wzx4ww3zal"; + + nativeBuildInputs = [ pkgconfig protobuf ]; + buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; + + patchPhase = '' + sed -i "s~SCRIPTPATH=.*~SCRIPTPATH=$out/templates/~g" scripts/bootstrap + ''; + + installPhase = '' + install -d $out/bin $out/templates + install -m755 target/*/release/jormungandr $out/bin/ + install -m755 target/*/release/jcli $out/bin/ + install -m755 scripts/send-transaction $out/templates + install -m755 scripts/jcli-helpers $out/bin/ + install -m755 scripts/bootstrap $out/bin/jormungandr-bootstrap + install -m644 scripts/faucet-send-money.shtempl $out/templates/ + install -m644 scripts/create-account-and-delegate.shtempl $out/templates/ + install -m644 scripts/faucet-send-certificate.shtempl $out/templates/ + ''; + + PROTOC = "${protobuf}/bin/protoc"; + + # Disabling integration tests + doCheck = false; + + meta = with stdenv.lib; { + description = "An aspiring blockchain node"; + homepage = "https://input-output-hk.github.io/jormungandr/"; + license = licenses.mit; + maintainers = [ maintainers.mmahut ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix new file mode 100644 index 00000000000..0417d2913de --- /dev/null +++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchurl, makeDesktopItem, makeWrapper, appimage-run }: + +stdenv.mkDerivation rec { + pname = "ledger-live-desktop"; + version = "1.12.0"; + + src = fetchurl { + url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage"; + sha256 = "0sn0ri8kqvy36d6vjwsb0mh54nwic58416m6q5drl1schsn6wyvj"; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ appimage-run ]; + + desktopIcon = fetchurl { + url = "https://raw.githubusercontent.com/LedgerHQ/${pname}/v${version}/build/icon.png"; + sha256 = "1mmfaf0yk7xf1kgbs3ka8wsbz1qgh60xj6z91ica1i7lw2qbdd5h"; + }; + + desktopItem = makeDesktopItem { + name = pname; + exec = "${placeholder "out"}/bin/${pname}"; + icon = pname; + desktopName = "Ledger Live"; + categories = "Utility;"; + }; + + unpackPhase = ":"; + + installPhase = '' + runHook preInstall + + ${desktopItem.buildCommand} + install -D $src $out/share/${src.name} + install -Dm -x ${desktopIcon} \ + $out/share/icons/hicolor/1024x1024/apps/${pname}.png + makeWrapper ${appimage-run}/bin/appimage-run $out/bin/${pname} \ + --add-flags $out/share/${src.name} + + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "Wallet app for Ledger Nano S and Ledger Blue"; + homepage = "https://www.ledger.com/live"; + license = licenses.mit; + maintainers = with maintainers; [ thedavidmeister ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/altcoins/litecoin.nix b/pkgs/applications/blockchains/litecoin.nix similarity index 100% rename from pkgs/applications/altcoins/litecoin.nix rename to pkgs/applications/blockchains/litecoin.nix diff --git a/pkgs/applications/blockchains/lnd.nix b/pkgs/applications/blockchains/lnd.nix new file mode 100644 index 00000000000..27f10c963c0 --- /dev/null +++ b/pkgs/applications/blockchains/lnd.nix @@ -0,0 +1,22 @@ +{ buildGoModule, fetchFromGitHub, lib }: + +buildGoModule rec { + pname = "lnd"; + version = "0.7.1-beta"; + + src = fetchFromGitHub { + owner = "lightningnetwork"; + repo = "lnd"; + rev = "v${version}"; + sha256 = "1c0sm0lavdai4w6d283q54knggw9d42vvqmglnv2h9swbw1l23ry"; + }; + + modSha256 = "13hjaf4bswk8g57lyxzdlqqp4a6ddl3qm6n4jja4b1h58mlbil73"; + + meta = with lib; { + description = "Lightning Network Daemon"; + homepage = "https://github.com/lightningnetwork/lnd"; + license = lib.licenses.mit; + maintainers = with maintainers; [ cypherpunk2140 ]; + }; +} diff --git a/pkgs/applications/altcoins/masari.nix b/pkgs/applications/blockchains/masari.nix similarity index 96% rename from pkgs/applications/altcoins/masari.nix rename to pkgs/applications/blockchains/masari.nix index 02a6d25df51..dfa005abb6e 100644 --- a/pkgs/applications/altcoins/masari.nix +++ b/pkgs/applications/blockchains/masari.nix @@ -2,7 +2,7 @@ , lmdb, miniupnpc, readline }: stdenv.mkDerivation rec { - name = "masari-${version}"; + pname = "masari"; version = "0.1.4.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/altcoins/mist.nix b/pkgs/applications/blockchains/mist.nix similarity index 100% rename from pkgs/applications/altcoins/mist.nix rename to pkgs/applications/blockchains/mist.nix diff --git a/pkgs/applications/blockchains/monero-gui/default.nix b/pkgs/applications/blockchains/monero-gui/default.nix new file mode 100644 index 00000000000..92f6f008021 --- /dev/null +++ b/pkgs/applications/blockchains/monero-gui/default.nix @@ -0,0 +1,87 @@ +{ mkDerivation, lib, makeDesktopItem, fetchFromGitHub +, qtbase, qmake, qtmultimedia, qttools +, qtgraphicaleffects, qtdeclarative +, qtlocation, qtquickcontrols, qtquickcontrols2 +, qtwebchannel, qtwebengine, qtx11extras, qtxmlpatterns +, monero, unbound, readline, boost, libunwind +, libsodium, pcsclite, zeromq, cppzmq, pkgconfig +, hidapi +}: + +with lib; + +mkDerivation rec { + pname = "monero-gui"; + version = "0.14.1.2"; + + src = fetchFromGitHub { + owner = "monero-project"; + repo = "monero-gui"; + rev = "v${version}"; + sha256 = "1rm043r6y2mzy8pclnzbjjfxgps8pkfa2b92p66k8y8rdmgq6m1k"; + }; + + nativeBuildInputs = [ qmake pkgconfig ]; + + buildInputs = [ + qtbase qtmultimedia qtgraphicaleffects + qtdeclarative qtlocation + qtquickcontrols qtquickcontrols2 + qtwebchannel qtwebengine qtx11extras + qtxmlpatterns monero unbound readline + boost libunwind libsodium pcsclite zeromq + cppzmq hidapi + ]; + + patches = [ ./move-log-file.patch ]; + + postPatch = '' + echo ' + var GUI_VERSION = "${version}"; + var GUI_MONERO_VERSION = "${getVersion monero}"; + ' > version.js + substituteInPlace monero-wallet-gui.pro \ + --replace '$$[QT_INSTALL_BINS]/lrelease' '${getDev qttools}/bin/lrelease' + substituteInPlace src/daemon/DaemonManager.cpp \ + --replace 'QApplication::applicationDirPath() + "' '"${monero}/bin' + ''; + + makeFlags = [ "INSTALL_ROOT=$(out)" ]; + + preBuild = '' + sed -i s#/opt/monero-wallet-gui##g Makefile + make -C src/zxcvbn-c + ''; + + desktopItem = makeDesktopItem { + name = "monero-wallet-gui"; + exec = "monero-wallet-gui"; + icon = "monero"; + desktopName = "Monero"; + genericName = "Wallet"; + categories = "Application;Network;Utility;"; + }; + + postInstall = '' + # install desktop entry + mkdir -p $out/share/applications + cp ${desktopItem}/share/applications/* $out/share/applications + + # install icons + for n in 16 24 32 48 64 96 128 256; do + size=$n"x"$n + mkdir -p $out/share/icons/hicolor/$size/apps + cp $src/images/appicons/$size.png \ + $out/share/icons/hicolor/$size/apps/monero.png + done; + ''; + + meta = { + description = "Private, secure, untraceable currency"; + homepage = https://getmonero.org/; + license = licenses.bsd3; + platforms = platforms.all; + badPlatforms = platforms.darwin; + maintainers = with maintainers; [ rnhmjoj ]; + }; +} diff --git a/pkgs/applications/blockchains/monero-gui/move-log-file.patch b/pkgs/applications/blockchains/monero-gui/move-log-file.patch new file mode 100644 index 00000000000..e540f1960d6 --- /dev/null +++ b/pkgs/applications/blockchains/monero-gui/move-log-file.patch @@ -0,0 +1,15 @@ +diff --git a/main.cpp b/main.cpp +index a51568d..5a9f683 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -152,7 +152,9 @@ int main(int argc, char *argv[]) + QCommandLineOption logPathOption(QStringList() << "l" << "log-file", + QCoreApplication::translate("main", "Log to specified file"), + QCoreApplication::translate("main", "file")); +- ++ logPathOption.setDefaultValue( ++ QStandardPaths::writableLocation(QStandardPaths::CacheLocation) ++ + "/monero-wallet-gui.log"); + parser.addOption(logPathOption); + parser.addHelpOption(); + parser.process(app); diff --git a/pkgs/applications/blockchains/monero/default.nix b/pkgs/applications/blockchains/monero/default.nix new file mode 100644 index 00000000000..b6f07452861 --- /dev/null +++ b/pkgs/applications/blockchains/monero/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchgit +, cmake, pkgconfig, git +, boost, miniupnpc, openssl, unbound, cppzmq +, zeromq, pcsclite, readline, libsodium, hidapi +, python3Packages +, CoreData, IOKit, PCSC +}: + +assert stdenv.isDarwin -> IOKit != null; + +with stdenv.lib; + +stdenv.mkDerivation rec { + pname = "monero"; + version = "0.14.1.0"; + + src = fetchgit { + url = "https://github.com/monero-project/monero.git"; + rev = "v${version}"; + sha256 = "1asa197fad81jfv12qgaa7y7pdr1r1pda96m9pvivkh4v30cx0nh"; + }; + + nativeBuildInputs = [ cmake pkgconfig git ]; + + buildInputs = [ + boost miniupnpc openssl unbound + cppzmq zeromq pcsclite readline + libsodium hidapi + python3Packages.protobuf + ] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DBUILD_GUI_DEPS=ON" + "-DReadline_ROOT_DIR=${readline.dev}" + ] ++ optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF"; + + hardeningDisable = [ "fortify" ]; + + meta = { + description = "Private, secure, untraceable currency"; + homepage = https://getmonero.org/; + license = licenses.bsd3; + platforms = platforms.all; + maintainers = with maintainers; [ ehmry rnhmjoj ]; + }; +} diff --git a/pkgs/applications/altcoins/namecoin.nix b/pkgs/applications/blockchains/namecoin.nix similarity index 100% rename from pkgs/applications/altcoins/namecoin.nix rename to pkgs/applications/blockchains/namecoin.nix diff --git a/pkgs/applications/altcoins/nano-wallet/CMakeLists.txt.patch b/pkgs/applications/blockchains/nano-wallet/CMakeLists.txt.patch similarity index 100% rename from pkgs/applications/altcoins/nano-wallet/CMakeLists.txt.patch rename to pkgs/applications/blockchains/nano-wallet/CMakeLists.txt.patch diff --git a/pkgs/applications/blockchains/nano-wallet/default.nix b/pkgs/applications/blockchains/nano-wallet/default.nix new file mode 100644 index 00000000000..a8d29ae149d --- /dev/null +++ b/pkgs/applications/blockchains/nano-wallet/default.nix @@ -0,0 +1,57 @@ +{lib, stdenv, fetchFromGitHub, cmake, pkgconfig, boost, libGL, qtbase}: + +stdenv.mkDerivation rec { + + pname = "nano-wallet"; + version = "18.0"; + + src = fetchFromGitHub { + owner = "nanocurrency"; + repo = "raiblocks"; + rev = "V${version}"; + sha256 = "03f9g1x7rs7vic9yzsjxsh5ddx9ys78rssbfghbccfw9qrwylh3y"; + fetchSubmodules = true; + }; + + # Use a patch to force dynamic linking + patches = [ + ./CMakeLists.txt.patch + ]; + + cmakeFlags = let + options = { + BOOST_ROOT = "${boost}"; + Boost_USE_STATIC_LIBS = "OFF"; + RAIBLOCKS_GUI = "ON"; + RAIBLOCKS_TEST = "ON"; + Qt5_DIR = "${qtbase.dev}/lib/cmake/Qt5"; + Qt5Core_DIR = "${qtbase.dev}/lib/cmake/Qt5Core"; + Qt5Gui_INCLUDE_DIRS = "${qtbase.dev}/include/QtGui"; + Qt5Widgets_INCLUDE_DIRS = "${qtbase.dev}/include/QtWidgets"; + }; + optionToFlag = name: value: "-D${name}=${value}"; + in lib.mapAttrsToList optionToFlag options; + + nativeBuildInputs = [ cmake pkgconfig ]; + buildInputs = [ boost libGL qtbase ]; + + buildPhase = '' + make nano_wallet + ''; + + checkPhase = '' + ./core_test + ''; + + meta = { + inherit version; + description = "Wallet for Nano cryptocurrency"; + homepage = https://nano.org/en/wallet/; + license = lib.licenses.bsd2; + # Fails on Darwin. See: + # https://github.com/NixOS/nixpkgs/pull/39295#issuecomment-386800962 + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ jluttine ]; + }; + +} diff --git a/pkgs/applications/blockchains/parity-ui/default.nix b/pkgs/applications/blockchains/parity-ui/default.nix new file mode 100644 index 00000000000..0615aed2ca0 --- /dev/null +++ b/pkgs/applications/blockchains/parity-ui/default.nix @@ -0,0 +1,48 @@ +{ stdenv, pkgs, fetchurl, makeWrapper, nodePackages }: + +let + +uiEnv = pkgs.callPackage ./env.nix { }; + +in stdenv.mkDerivation rec { + pname = "parity-ui"; + version = "0.3.4"; + + src = fetchurl { + url = "https://github.com/parity-js/shell/releases/download/v${version}/parity-ui_${version}_amd64.deb"; + sha256 = "1xbd00r9ph8w2d6d2c5xg4b5l74ljzs50rpc6kahfznypmh4kr73"; + name = "${pname}-${version}.deb"; + }; + + nativeBuildInputs = [ makeWrapper nodePackages.asar ]; + + buildCommand = '' + mkdir -p $out/usr/ + ar p $src data.tar.xz | tar -C $out -xJ . + substituteInPlace $out/usr/share/applications/parity-ui.desktop \ + --replace "/opt/Parity UI" $out/bin + mv $out/usr/* $out/ + mv "$out/opt/Parity UI" $out/share/parity-ui + rm -r $out/usr/ + rm -r $out/opt/ + + fixupPhase + + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${uiEnv.libPath}:$out/share/parity-ui" \ + $out/share/parity-ui/parity-ui + + find $out/share/parity-ui -name "*.node" -exec patchelf --set-rpath "${uiEnv.libPath}:$out/share/parity-ui" {} \; + + mkdir -p $out/bin + ln -s $out/share/parity-ui/parity-ui $out/bin/parity-ui + ''; + + meta = with stdenv.lib; { + description = "UI for Parity. Fast, light, robust Ethereum implementation"; + homepage = http://parity.io; + license = licenses.gpl3; + maintainers = [ maintainers.sorpaas ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/altcoins/parity-ui/env.nix b/pkgs/applications/blockchains/parity-ui/env.nix similarity index 84% rename from pkgs/applications/altcoins/parity-ui/env.nix rename to pkgs/applications/blockchains/parity-ui/env.nix index 625a008af91..a878bbf2e3e 100644 --- a/pkgs/applications/altcoins/parity-ui/env.nix +++ b/pkgs/applications/blockchains/parity-ui/env.nix @@ -1,11 +1,11 @@ { stdenv, lib, zlib, glib, alsaLib, dbus, gtk2, atk, pango, freetype, fontconfig -, libgnome-keyring3, gdk_pixbuf, cairo, cups, expat, libgpgerror, nspr +, libgnome-keyring3, gdk-pixbuf, cairo, cups, expat, libgpgerror, nspr , nss, xorg, libcap, systemd, libnotify, libsecret, gnome2 }: let packages = [ stdenv.cc.cc zlib glib dbus gtk2 atk pango freetype libgnome-keyring3 - fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr nss + fontconfig gdk-pixbuf cairo cups expat libgpgerror alsaLib nspr nss xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify diff --git a/pkgs/applications/blockchains/parity/beta.nix b/pkgs/applications/blockchains/parity/beta.nix new file mode 100644 index 00000000000..a936691bd79 --- /dev/null +++ b/pkgs/applications/blockchains/parity/beta.nix @@ -0,0 +1,6 @@ +let + version = "2.6.2"; + sha256 = "1j4249m5k3bi7di0wq6fm64zv3nlpgmg4hr5hnn94fyc09nz9n1r"; + cargoSha256 = "18zd91n04wck3gd8szj4vxn3jq0bzq0h3rg0wcs6nzacbzhcx2sw"; +in + import ./parity.nix { inherit version sha256 cargoSha256; } diff --git a/pkgs/applications/blockchains/parity/default.nix b/pkgs/applications/blockchains/parity/default.nix new file mode 100644 index 00000000000..9b5a72077d5 --- /dev/null +++ b/pkgs/applications/blockchains/parity/default.nix @@ -0,0 +1,6 @@ +let + version = "2.5.7"; + sha256 = "0aprs71cbf98dsvjz0kydngkvdg5x7dijji8j6xadgvsarl1ljnj"; + cargoSha256 = "0aa0nkv3jr7cdzswbxghxxv0y65a59jgs1682ch8vrasi0x17m1x"; +in + import ./parity.nix { inherit version sha256 cargoSha256; } diff --git a/pkgs/applications/blockchains/parity/parity.nix b/pkgs/applications/blockchains/parity/parity.nix new file mode 100644 index 00000000000..fbc43cd3402 --- /dev/null +++ b/pkgs/applications/blockchains/parity/parity.nix @@ -0,0 +1,44 @@ +{ version +, sha256 +, cargoSha256 +}: + +{ lib +, fetchFromGitHub +, rustPlatform + +, cmake +, openssl +, pkgconfig +, systemd +}: + +rustPlatform.buildRustPackage rec { + pname = "parity"; + inherit version; + inherit cargoSha256; + + src = fetchFromGitHub { + owner = "paritytech"; + repo = "parity-ethereum"; + rev = "v${version}"; + inherit sha256; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ openssl systemd ]; + + cargoBuildFlags = [ "--features final" ]; + + # test result: FAILED. 80 passed; 12 failed; 0 ignored; 0 measured; 0 filtered out + doCheck = false; + + meta = with lib; { + description = "Fast, light, robust Ethereum implementation"; + homepage = "http://parity.io"; + license = licenses.gpl3; + maintainers = with maintainers; [ akru xrelkd ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/altcoins/particl/particl-core.nix b/pkgs/applications/blockchains/particl/particl-core.nix similarity index 89% rename from pkgs/applications/altcoins/particl/particl-core.nix rename to pkgs/applications/blockchains/particl/particl-core.nix index d3b20ef2ea3..613d57cd9c8 100644 --- a/pkgs/applications/altcoins/particl/particl-core.nix +++ b/pkgs/applications/blockchains/particl/particl-core.nix @@ -16,12 +16,12 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "particl-core-${version}"; - version = "0.17.0.2"; + pname = "particl-core"; + version = "0.17.1.2"; src = fetchurl { url = "https://github.com/particl/particl-core/archive/v${version}.tar.gz"; - sha256 = "0bkxdayl0jrfhgz8qzqqpwzv0yavz3nwsn6c8k003jnbcw65fkhx"; + sha256 = "16hcyxwp6yrypwvxz6i2987z3jmpk47xcgnsgh9klih8baqg64p5"; }; nativeBuildInputs = [ pkgconfig autoreconfHook ]; diff --git a/pkgs/applications/blockchains/pivx.nix b/pkgs/applications/blockchains/pivx.nix new file mode 100644 index 00000000000..c0833de7dbf --- /dev/null +++ b/pkgs/applications/blockchains/pivx.nix @@ -0,0 +1,61 @@ +{ fetchFromGitHub, stdenv, pkgconfig, autoreconfHook +, openssl, db48, boost, zlib, miniupnpc, gmp +, qrencode, glib, protobuf, yasm, libevent +, utillinux, qtbase ? null, qttools ? null +, enableUpnp ? false +, disableWallet ? false +, disableDaemon ? false +, withGui ? false }: + +with stdenv.lib; +stdenv.mkDerivation rec { + pname = "pivx"; + version = "3.2.0"; + + src = fetchFromGitHub { + owner = "PIVX-Project"; + repo= "PIVX"; + rev = "v${version}"; + sha256 = "1sym6254vhq8qqpxq9qhy10m5167v7x93kqaj1gixc1vwwbxyazy"; + }; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + buildInputs = [ glib gmp openssl db48 yasm boost zlib libevent miniupnpc protobuf utillinux ] + ++ optionals withGui [ qtbase qttools qrencode ]; + + configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ] + ++ optional enableUpnp "--enable-upnp-default" + ++ optional disableWallet "--disable-wallet" + ++ optional disableDaemon "--disable-daemon" + ++ optionals withGui [ "--with-gui=yes" + "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" + ]; + + enableParallelBuilding = true; + doChecks = true; + postBuild = '' + mkdir -p $out/share/applications $out/share/icons + cp contrib/debian/pivx-qt.desktop $out/share/applications/ + cp share/pixmaps/*128.png $out/share/icons/ + ''; + + meta = with stdenv.lib; { + description = "An open source crypto-currency focused on fast private transactions"; + longDescription = '' + PIVX is an MIT licensed, open source, blockchain-based cryptocurrency with + ultra fast transactions, low fees, high network decentralization, and + Zero Knowledge cryptography proofs for industry-leading transaction anonymity. + ''; + license = licenses.mit; + homepage = https://www.dash.org; + maintainers = with maintainers; [ wucke13 ]; + platforms = platforms.unix; + + # upstream doesn't support newer openssl versions + # https://github.com/PIVX-Project/PIVX/issues/748 + # "Your system is most probably using openssl 1.1 which is not the + # officialy supported version. Either use 1.0.1 or run again configure + # with the given option." + broken = true; + }; +} diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix new file mode 100644 index 00000000000..26c9192ee6f --- /dev/null +++ b/pkgs/applications/blockchains/polkadot/default.nix @@ -0,0 +1,30 @@ +{ stdenv +, fetchFromGitHub +, rustPlatform +, pkgconfig +, openssl +}: + +rustPlatform.buildRustPackage rec { + name = "polkadot-${version}"; + version = "0.2.17"; + + src = fetchFromGitHub { + owner = "paritytech"; + repo = "substrate"; + rev = "19f4f4d4df3bb266086b4e488739f73d3d5e588c"; + sha256 = "0v7g03rbml2afw0splmyjh9nqpjg0ldjw09hyc0jqd3qlhgxiiyj"; + }; + + cargoSha256 = "19xcxpbkrbygghz9qi52vzviksxg28m7ibvl359vlhqv1cjxmpsq"; + + buildInputs = [ pkgconfig openssl openssl.dev ]; + + meta = with stdenv.lib; { + description = "Polkadot Node Implementation"; + homepage = https://polkadot.network; + license = licenses.gpl3; + maintainers = [ maintainers.akru ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/altcoins/stellar-core-dirty-version.patch b/pkgs/applications/blockchains/stellar-core-dirty-version.patch similarity index 100% rename from pkgs/applications/altcoins/stellar-core-dirty-version.patch rename to pkgs/applications/blockchains/stellar-core-dirty-version.patch diff --git a/pkgs/applications/altcoins/stellar-core.nix b/pkgs/applications/blockchains/stellar-core.nix similarity index 100% rename from pkgs/applications/altcoins/stellar-core.nix rename to pkgs/applications/blockchains/stellar-core.nix diff --git a/pkgs/applications/altcoins/sumokoin.nix b/pkgs/applications/blockchains/sumokoin.nix similarity index 96% rename from pkgs/applications/altcoins/sumokoin.nix rename to pkgs/applications/blockchains/sumokoin.nix index 026008b2761..ad65da057ae 100644 --- a/pkgs/applications/altcoins/sumokoin.nix +++ b/pkgs/applications/blockchains/sumokoin.nix @@ -2,7 +2,7 @@ , libunwind, lmdb, miniupnpc }: stdenv.mkDerivation rec { - name = "sumokoin-${version}"; + pname = "sumokoin"; version = "0.2.0.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/blockchains/wasabiwallet/default.nix b/pkgs/applications/blockchains/wasabiwallet/default.nix new file mode 100644 index 00000000000..7185b351060 --- /dev/null +++ b/pkgs/applications/blockchains/wasabiwallet/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchurl, makeDesktopItem, openssl, xorg, curl, fontconfig, krb5, zlib, dotnet-sdk }: + +stdenv.mkDerivation rec { + pname = "wasabiwallet"; + version = "1.1.5"; + + src = fetchurl { + url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/WasabiLinux-${version}.tar.gz"; + sha256 = "1iq7qkpq073yq1bz8pam4cbm2myznhpjr3g9afblvmxwgbdjxak0"; + }; + + dontBuild = true; + dontPatchELF = true; + + desktopItem = makeDesktopItem { + name = "wasabi"; + exec = "wasabiwallet"; + desktopName = "Wasabi"; + genericName = "Bitcoin wallet"; + comment = meta.description; + categories = "Application;Network;Utility;"; + }; + + installPhase = '' + mkdir -p $out/opt/${pname} $out/bin $out/share/applications + cp -Rv . $out/opt/${pname} + cd $out/opt/${pname} + for i in $(find . -type f -name '*.so') wassabee + do + patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ openssl stdenv.cc.cc.lib xorg.libX11 curl fontconfig.lib krb5 zlib dotnet-sdk ]} $i + done + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" wassabee + ln -s $out/opt/${pname}/wassabee $out/bin/${pname} + cp -v $desktopItem/share/applications/* $out/share/applications + ''; + + meta = with stdenv.lib; { + description = "Privacy focused Bitcoin wallet"; + homepage = "https://wasabiwallet.io/"; + license = licenses.mit; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ mmahut ]; + }; +} diff --git a/pkgs/applications/altcoins/wownero.nix b/pkgs/applications/blockchains/wownero.nix similarity index 75% rename from pkgs/applications/altcoins/wownero.nix rename to pkgs/applications/blockchains/wownero.nix index fdf2c739ac6..365afb5a241 100644 --- a/pkgs/applications/altcoins/wownero.nix +++ b/pkgs/applications/blockchains/wownero.nix @@ -1,22 +1,20 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, git , boost, miniupnpc_2, openssl, unbound, cppzmq , zeromq, pcsclite, readline, libsodium, rapidjson -, CoreData, IOKit, PCSC }: -assert stdenv.isDarwin -> IOKit != null; - with stdenv.lib; stdenv.mkDerivation rec { - name = "wownero-${version}"; + pname = "wownero"; - version = "0.5.0.0"; + version = "0.6.1.2"; src = fetchFromGitHub { owner = "wownero"; repo = "wownero"; rev = "v${version}"; - sha256 = "1dy9ycabva2z0896al1k2avl9xppkxvm1p2jwmg509ahjl98k3sy"; + sha256 = "03q3pviyhrldpa3f4ly4d97jr39hvrz37chl102bap0790d9lk09"; + fetchSubmodules = true; }; nativeBuildInputs = [ cmake pkgconfig git ]; @@ -24,14 +22,12 @@ stdenv.mkDerivation rec { buildInputs = [ boost miniupnpc_2 openssl unbound rapidjson cppzmq zeromq pcsclite readline libsodium - ] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ]; + ]; cmakeFlags = [ "-DReadline_ROOT_DIR=${readline.dev}" "-DMANUAL_SUBMODULES=ON" - ] ++ optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF"; - - hardeningDisable = [ "fortify" ]; + ]; meta = { description = "Wownero is a fork of the cryptocurrency Monero with primary alterations"; @@ -44,7 +40,7 @@ stdenv.mkDerivation rec { ''; homepage = http://wownero.org/; license = licenses.bsd3; - platforms = platforms.all; + platforms = platforms.linux; maintainers = with maintainers; [ fuwa ]; }; } diff --git a/pkgs/applications/altcoins/zcash/default.nix b/pkgs/applications/blockchains/zcash/default.nix similarity index 100% rename from pkgs/applications/altcoins/zcash/default.nix rename to pkgs/applications/blockchains/zcash/default.nix diff --git a/pkgs/applications/blockchains/zcash/librustzcash/default.nix b/pkgs/applications/blockchains/zcash/librustzcash/default.nix new file mode 100644 index 00000000000..3aeee7e6972 --- /dev/null +++ b/pkgs/applications/blockchains/zcash/librustzcash/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchFromGitHub, rustPlatform }: + +rustPlatform.buildRustPackage rec { + name = "librustzcash-unstable-${version}"; + version = "2017-03-17"; + + src = fetchFromGitHub { + owner = "zcash"; + repo = "librustzcash"; + rev = "91348647a86201a9482ad4ad68398152dc3d635e"; + sha256 = "02l1f46frpvw1r6k1wfh77mrsnmsdvifqx0vnscxz4xgb9ia9d1c"; + }; + + cargoSha256 = "1xlq8vkzfyr5q8gxvzkwi8r1kxg4rg8l1ckdwfdxlkhnw0yscbra"; + + installPhase = '' + mkdir -p $out/lib + cp target/release/librustzcash.a $out/lib/ + mkdir -p $out/include + cp include/librustzcash.h $out/include/ + ''; + + meta = with stdenv.lib; { + description = "Rust-language assets for Zcash"; + homepage = https://github.com/zcash/librustzcash; + maintainers = with maintainers; [ rht ]; + license = with licenses; [ mit asl20 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/display-managers/lightdm-enso-os-greeter/default.nix b/pkgs/applications/display-managers/lightdm-enso-os-greeter/default.nix index 38270a25c9c..8302303a08e 100644 --- a/pkgs/applications/display-managers/lightdm-enso-os-greeter/default.nix +++ b/pkgs/applications/display-managers/lightdm-enso-os-greeter/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchgit, pkgconfig , dbus, pcre, epoxy, libXdmcp, at-spi2-core, libxklavier, libxkbcommon, libpthreadstubs -, gtk3, vala, cmake, libgee, libX11, lightdm, gdk_pixbuf, clutter-gtk }: +, gtk3, vala, cmake, libgee, libX11, lightdm, gdk-pixbuf, clutter-gtk }: stdenv.mkDerivation rec { version = "0.2.1"; - name = "lightdm-enso-os-greeter-${version}"; + pname = "lightdm-enso-os-greeter"; src = fetchgit { url = https://github.com/nick92/Enso-OS; @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { libX11 lightdm libXdmcp - gdk_pixbuf + gdk-pixbuf clutter-gtk libxklavier at-spi2-core diff --git a/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix b/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix index 91446f73507..69635718e3b 100644 --- a/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix +++ b/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, lightdm, gtk3 }: stdenv.mkDerivation rec { - name = "lightdm-mini-greeter-${version}"; + pname = "lightdm-mini-greeter"; version = "0.3.4"; src = fetchFromGitHub { diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix index a965ff4c8bb..61d65cb64b6 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, gobject-introspection, vala +, polkit, accountsservice, gtk-doc, gnome3, gobject-introspection, vala, fetchpatch , withQt4 ? false, qt4 , withQt5 ? false, qtbase }: @@ -9,9 +9,7 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "lightdm"; - version = "1.28.0"; - - name = "${pname}-${version}"; + version = "1.30.0"; outputs = [ "out" "dev" ]; @@ -19,7 +17,7 @@ stdenv.mkDerivation rec { owner = "CanonicalLtd"; repo = pname; rev = version; - sha256 = "1mmqy1jdvgc0h0h9gli7n4vdv5p8m5019qjr5ni4h73iz6mjdj2b"; + sha256 = "0i1yygmjbkdjnqdl9jn8zsa1mfs2l19qc4k2capd8q1ndhnjm2dx"; }; nativeBuildInputs = [ @@ -40,16 +38,22 @@ stdenv.mkDerivation rec { accountsservice audit glib + libXdmcp libgcrypt libxcb - libXdmcp libxklavier pam polkit ] ++ optional withQt4 qt4 ++ optional withQt5 qtbase; - patches = [ ./run-dir.patch ]; + 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"; @@ -58,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}" ]; @@ -76,7 +81,7 @@ stdenv.mkDerivation rec { meta = { homepage = https://github.com/CanonicalLtd/lightdm; - description = "A cross-desktop display manager."; + description = "A cross-desktop display manager"; platforms = platforms.linux; license = licenses.gpl3; 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 a3e9554789c..f892a9da50b 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; @@ -12,10 +12,11 @@ let version = "2.0.6"; in stdenv.mkDerivation rec { - name = "lightdm-gtk-greeter-${version}"; + pname = "lightdm-gtk-greeter"; + inherit version; src = fetchurl { - url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.gz"; + url = "${meta.homepage}/${ver_branch}/${version}/+download/${pname}-${version}.tar.gz"; sha256 = "1pis5qyg95pg31dvnfqq34bzgj00hg4vs547r8h60lxjk81z8p15"; }; @@ -26,13 +27,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 = '' diff --git a/pkgs/applications/display-managers/lightdm/run-dir.patch b/pkgs/applications/display-managers/lightdm/run-dir.patch deleted file mode 100644 index eb8e5a0f4d7..00000000000 --- a/pkgs/applications/display-managers/lightdm/run-dir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/data/lightdm.conf b/data/lightdm.conf -index 16b80f7..b3af435 100644 ---- a/data/lightdm.conf -+++ b/data/lightdm.conf -@@ -28,7 +28,7 @@ - #guest-account-script=guest-account - #logind-check-graphical=false - #log-directory=/var/log/lightdm --#run-directory=/var/run/lightdm -+run-directory=/run/lightdm - #cache-directory=/var/cache/lightdm - #sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions - #remote-sessions-directory=/usr/share/lightdm/remote-sessions diff --git a/pkgs/applications/display-managers/ly/default.nix b/pkgs/applications/display-managers/ly/default.nix index e8edcc3f634..2f0a770bc71 100644 --- a/pkgs/applications/display-managers/ly/default.nix +++ b/pkgs/applications/display-managers/ly/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchFromGitHub, linux-pam }: stdenv.mkDerivation rec { - name = "ly-${version}"; + pname = "ly"; version = "0.2.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix index 3de4067f55d..fc61d43436d 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -1,19 +1,20 @@ { mkDerivation, lib, fetchFromGitHub , cmake, extra-cmake-modules, pkgconfig, libxcb, libpthreadstubs -, libXdmcp, libXau, qtbase, qtdeclarative, qttools, pam, systemd +, libXdmcp, libXau, qtbase, qtdeclarative, qtquickcontrols2, qttools, pam, systemd }: let - version = "0.18.0"; + version = "0.18.1"; in mkDerivation rec { - name = "sddm-${version}"; + pname = "sddm"; + inherit version; src = fetchFromGitHub { owner = "sddm"; repo = "sddm"; rev = "v${version}"; - sha256 = "16xnm02iqgy4hydzd6my0widq981glbazbhxnihhclgsaczh8mfq"; + sha256 = "0an1zafz0yhxd9jgd3gzdwmaw5f9vs4c924q56lp2yxxddbmzjcq"; }; patches = [ @@ -29,7 +30,7 @@ in mkDerivation rec { nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig qttools ]; buildInputs = [ - libxcb libpthreadstubs libXdmcp libXau pam qtbase qtdeclarative systemd + libxcb libpthreadstubs libXdmcp libXau pam qtbase qtdeclarative qtquickcontrols2 systemd ]; cmakeFlags = [ @@ -41,11 +42,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/editors/aewan/default.nix b/pkgs/applications/editors/aewan/default.nix index 214b435429a..1bd73bebe03 100644 --- a/pkgs/applications/editors/aewan/default.nix +++ b/pkgs/applications/editors/aewan/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, zlib, ncurses }: stdenv.mkDerivation rec { - name = "aewan-${version}"; + pname = "aewan"; version = "1.0.01"; src = fetchurl { - url = "mirror://sourceforge/aewan/${name}.tar.gz"; + url = "mirror://sourceforge/aewan/${pname}-${version}.tar.gz"; sha256 = "5266dec5e185e530b792522821c97dfa5f9e3892d0dca5e881d0c30ceac21817"; }; diff --git a/pkgs/applications/editors/amp/default.nix b/pkgs/applications/editors/amp/default.nix new file mode 100644 index 00000000000..98692de4317 --- /dev/null +++ b/pkgs/applications/editors/amp/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchFromGitHub, rustPlatform, openssl, pkgconfig, python3, xorg, cmake, libgit2 }: + +rustPlatform.buildRustPackage rec { + pname = "amp"; + # The latest release (0.5.2) does not compile, so we use a git snapshot instead. + version = "unstable-2019-06-09"; + + src = fetchFromGitHub { + owner = "jmacdonald"; + repo = pname; + rev = "2c88e82a88ada8a5fd2620ef225192395a4533a2"; + sha256 = "0ha1xiabq31s687gkrnszf3zc7b3sfdl79iyg5ygbc49mzvarp8c"; + }; + + cargoSha256 = "1bvj2zg19ak4vi47vjkqlybz011kn5zq1j7zznr76zrryacw4lz1"; + + nativeBuildInputs = [ cmake pkgconfig ]; + buildInputs = [ openssl python3 xorg.libxcb libgit2 ]; + + # Tests need to write to the theme directory in HOME. + preCheck = "export HOME=`mktemp -d`"; + + meta = with stdenv.lib; { + description = "A modern text editor inspired by Vim"; + homepage = "https://amp.rs"; + license = [ licenses.gpl3 ]; + maintainers = [ maintainers.sb0 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix index a1465766f8b..50a752b3eb9 100644 --- a/pkgs/applications/editors/android-studio/common.nix +++ b/pkgs/applications/editors/android-studio/common.nix @@ -43,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; }; @@ -55,7 +55,7 @@ let cp -r . $out wrapProgram $out/bin/studio.sh \ --set ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \ - --set PATH "${stdenv.lib.makeBinPath [ + --prefix PATH : "${stdenv.lib.makeBinPath [ # Checked in studio.sh coreutils @@ -141,6 +141,9 @@ in runCommand ''; preferLocalBuild = true; allowSubstitutes = false; + passthru = { + unwrapped = androidStudio; + }; meta = with stdenv.lib; { description = "The Official IDE for Android (${channel} channel)"; longDescription = '' diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index cb0aa393380..9f7997860c6 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -1,4 +1,4 @@ -{ stdenv, callPackage, makeFontsConf, gnome2 }: +{ callPackage, makeFontsConf, gnome2 }: let mkStudio = opts: callPackage (import ./common.nix opts) { @@ -8,31 +8,17 @@ let inherit (gnome2) GConf gnome_vfs; }; stableVersion = { - version = "3.3.1.0"; # "Android Studio 3.3.1" - build = "182.5264788"; - sha256Hash = "0fghqkc8pkb7waxclm0qq4nlnsvmv9d3fcj5nnvgbfkjyw032q42"; - }; - betaVersion = { - version = "3.4.0.13"; # "Android Studio 3.4 Beta 4" - build = "183.5304277"; - sha256Hash = "01x7xba0f5js213wgw0h1vw297vwz5q7dprnilcdydfjxwqsbr8f"; + version = "3.5.0.21"; # "Android Studio 3.5" + build = "191.5791312"; + sha256Hash = "0vvk2vhklxg9wfi4lv4sahs5ahhb1mki1msy3yixmr56vipgv52p"; }; + betaVersion = stableVersion; latestVersion = { # canary & dev - version = "3.5.0.3"; # "Android Studio 3.5 Canary 4" - build = "183.5290690"; - sha256Hash = "0d1cl78b25pksaj0scv3hxb14bjxk3591zbc0v7dykk1gf4pvxd1"; + version = "3.6.0.9"; # "Android Studio 3.6 Canary 9" + build = "192.5830636"; + sha256Hash = "0c9zmxf2scsf9pygcbabzngl7cdyjgpir5pggjaj535ni0nsrr7p"; }; in rec { - # Old alias (TODO @primeos: Remove after 19.03 is branched off): - preview = throw '' - The attributes "android-studio-preview" and "androidStudioPackages.preview" - are now deprecated and will be removed soon, please use - "androidStudioPackages.beta" instead. This attribute corresponds to the - beta channel, if you want the latest release you can use - "androidStudioPackages.dev" or "androidStudioPackages.canary" instead - (currently, there is no difference between both channels). - ''; - # Attributes are named by their corresponding release channels stable = mkStudio (stableVersion // { diff --git a/pkgs/applications/editors/aseprite/default.nix b/pkgs/applications/editors/aseprite/default.nix index 7af3742349a..170fde7b9ca 100644 --- a/pkgs/applications/editors/aseprite/default.nix +++ b/pkgs/applications/editors/aseprite/default.nix @@ -1,17 +1,17 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, pkgconfig -, curl, freetype, giflib, harfbuzz, libjpeg, libpng, libwebp, pixman, tinyxml, zlib -, libX11, libXext, libXcursor, libXxf86vm +{ stdenv, lib, callPackage, fetchFromGitHub, fetchpatch, cmake, ninja, pkgconfig +, curl, freetype, giflib, libjpeg, libpng, libwebp, pixman, tinyxml, zlib +, harfbuzzFull, glib, fontconfig, pcre +, libX11, libXext, libXcursor, libXxf86vm, libGL , unfree ? false , cmark }: -# Unfree version is not redistributable: -# https://dev.aseprite.org/2016/09/01/new-source-code-license/ -# Consider supporting the developer: https://aseprite.org/#buy - +let + skia = callPackage ./skia.nix {}; +in stdenv.mkDerivation rec { - name = "aseprite-${version}"; - version = if unfree then "1.2.9" else "1.1.7"; + pname = "aseprite"; + version = if unfree then "1.2.11" else "1.1.7"; src = fetchFromGitHub { owner = "aseprite"; @@ -19,21 +19,27 @@ stdenv.mkDerivation rec { rev = "v${version}"; fetchSubmodules = true; sha256 = if unfree - then "0a9xk163j0984n8nn6pqf27n83gr6w7g25wkiv591zx88pa6cpbd" + then "1illr51jpg5g6nx29rav9dllyy5lzyyn7lj2fhrnpz1ysqgaq5p8" else "0gd49lns2bpzbkwax5jf9x1xmg1j8ij997kcxr2596cwiswnw4di"; }; - nativeBuildInputs = [ cmake pkgconfig ]; + nativeBuildInputs = [ + cmake pkgconfig + ] ++ lib.optionals unfree [ ninja ]; buildInputs = [ - curl freetype giflib harfbuzz libjpeg libpng libwebp pixman tinyxml zlib + curl freetype giflib libjpeg libpng libwebp pixman tinyxml zlib libX11 libXext libXcursor libXxf86vm - ] ++ lib.optionals unfree [ cmark harfbuzz ]; + ] ++ lib.optionals unfree [ + cmark + harfbuzzFull glib fontconfig pcre + skia libGL + ]; patches = lib.optionals unfree [ (fetchpatch { - url = "https://github.com/aseprite/aseprite/commit/cfb4dac6feef1f39e161c23c886055a8f9acfd0d.patch"; - sha256 = "1qhjfpngg8b1vvb9w26lhjjfamfx57ih0p31km3r5l96nm85l7f9"; + url = "https://github.com/lfont/aseprite/commit/f1ebc47012d3fed52306ed5922787b4b98cc0a7b.patch"; + sha256 = "03xg7x6b9iv7z18vzlqxhcfphmx4v3qhs9f5rgf38ppyklca5jyw"; }) (fetchpatch { url = "https://github.com/orivej/aseprite/commit/ea87e65b357ad0bd65467af5529183b5a48a8c17.patch"; @@ -67,6 +73,9 @@ stdenv.mkDerivation rec { "-DENABLE_CAT=OFF" "-DENABLE_CPIO=OFF" "-DENABLE_TAR=OFF" + # UI backend. + "-DLAF_OS_BACKEND=skia" + "-DSKIA_DIR=${skia}" ]; postInstall = '' @@ -87,6 +96,24 @@ stdenv.mkDerivation rec { homepage = https://www.aseprite.org/; description = "Animated sprite editor & pixel art tool"; license = if unfree then licenses.unfree else licenses.gpl2; + longDescription = + ''Aseprite is a program to create animated sprites. Its main features are: + + - Sprites are composed by layers & frames (as separated concepts). + - Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale. + - Load/save sequence of PNG files and GIF animations (and FLC, FLI, JPG, BMP, PCX, TGA). + - Export/import animations to/from Sprite Sheets. + - Tiled drawing mode, useful to draw patterns and textures. + - Undo/Redo for every operation. + - Real-time animation preview. + - Multiple editors support. + - Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc. + - Onion skinning. + '' + lib.optionalString unfree + '' + This version is not redistributable: https://dev.aseprite.org/2016/09/01/new-source-code-license/ + Consider supporting the developer: https://aseprite.org/#buy + ''; maintainers = with maintainers; [ orivej ]; platforms = platforms.linux; }; diff --git a/pkgs/applications/editors/aseprite/skia-deps.nix b/pkgs/applications/editors/aseprite/skia-deps.nix new file mode 100644 index 00000000000..e5655ca8315 --- /dev/null +++ b/pkgs/applications/editors/aseprite/skia-deps.nix @@ -0,0 +1,23 @@ +{ fetchgit }: +{ + angle2 = fetchgit { + url = "https://chromium.googlesource.com/angle/angle.git"; + rev = "956ab4d9fab36be9929e63829475d4d69b2c681c"; + sha256 = "0fcw04wwkn3ixr9l9k0d32n78r9g72p31ii9i5spsq2d0wlylr38"; + }; + dng_sdk = fetchgit { + url = "https://android.googlesource.com/platform/external/dng_sdk.git"; + rev = "96443b262250c390b0caefbf3eed8463ba35ecae"; + sha256 = "1rsr7njhj7c5p87hfznj069fdc3qqhvvnq9sa2rb8c4q849rlzx6"; + }; + piex = fetchgit { + url = "https://android.googlesource.com/platform/external/piex.git"; + rev = "bb217acdca1cc0c16b704669dd6f91a1b509c406"; + sha256 = "05ipmag6k55jmidbyvg5mkqm69zfw03gfkqhi9jnjlmlbg31y412"; + }; + sfntly = fetchgit { + url = "https://chromium.googlesource.com/external/github.com/googlei18n/sfntly.git"; + rev = "b18b09b6114b9b7fe6fc2f96d8b15e8a72f66916"; + sha256 = "0zf1h0dibmm38ldypccg4faacvskmd42vsk6zbxlfcfwjlqm6pp4"; + }; +} diff --git a/pkgs/applications/editors/aseprite/skia-make-deps.sh b/pkgs/applications/editors/aseprite/skia-make-deps.sh new file mode 100755 index 00000000000..5e12c4f5c85 --- /dev/null +++ b/pkgs/applications/editors/aseprite/skia-make-deps.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +FILTER=$1 +OUT=skia-deps.nix +REVISION=89e4ca4352d05adc892f5983b108433f29b2c0c2 +DEPS=$(curl -s https://raw.githubusercontent.com/aseprite/skia/$REVISION/DEPS) +THIRD_PARTY_DEPS=$(echo "$DEPS" | grep third_party | grep "#" -v | sed 's/"//g') + +function write_fetch_defs () +{ + while read -r DEP; do + NAME=$(echo "$DEP" | cut -d: -f1 | cut -d/ -f3 | sed 's/ //g') + URL=$(echo "$DEP" | cut -d: -f2- | cut -d@ -f1 | sed 's/ //g') + REV=$(echo "$DEP" | cut -d: -f2- | cut -d@ -f2 | sed 's/[ ,]//g') + + echo "Fetching $NAME@$REV" + PREFETCH=$(nix-prefetch-git --rev "$REV" "$URL") + +( +cat <> "$OUT" + + echo "----------" + echo + done <<< "$1" +} + +echo "{ fetchgit }:" > "$OUT" +echo "{" >> "$OUT" +write_fetch_defs "$(echo "$THIRD_PARTY_DEPS" | grep -E "$FILTER")" +echo "}" >> "$OUT" diff --git a/pkgs/applications/editors/aseprite/skia.nix b/pkgs/applications/editors/aseprite/skia.nix new file mode 100644 index 00000000000..038ff96ad3b --- /dev/null +++ b/pkgs/applications/editors/aseprite/skia.nix @@ -0,0 +1,68 @@ +{ stdenv, lib, fetchFromGitHub, fetchgit, python2, gn, ninja +, fontconfig, expat, icu58, libjpeg, libpng, libwebp, zlib +, mesa, libX11 +}: + +let + # skia-deps.nix is generated by: ./skia-make-deps.sh 'angle2|dng_sdk|piex|sfntly' + depSrcs = import ./skia-deps.nix { inherit fetchgit; }; +in +stdenv.mkDerivation rec { + name = "skia-aseprite-m71"; + + src = fetchFromGitHub { + owner = "aseprite"; + repo = "skia"; + # latest commit from aseprite-m71 branch + rev = "89e4ca4352d05adc892f5983b108433f29b2c0c2"; + sha256 = "0n3vrkswvi6rib9zv2pzi18h3j5wm7flmgkgaikcm6q7iw4l2c7x"; + }; + + nativeBuildInputs = [ python2 gn ninja ]; + + buildInputs = [ + fontconfig expat icu58 libjpeg libpng libwebp zlib + mesa libX11 + ]; + + preConfigure = with depSrcs; '' + mkdir -p third_party/externals + ln -s ${angle2} third_party/externals/angle2 + ln -s ${dng_sdk} third_party/externals/dng_sdk + ln -s ${piex} third_party/externals/piex + ln -s ${sfntly} third_party/externals/sfntly + ''; + + configurePhase = '' + runHook preConfigure + gn gen out/Release --args="is_debug=false is_official_build=true" + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + ninja -C out/Release skia + runHook postBuild + ''; + + installPhase = '' + mkdir -p $out + + # Glob will match all subdirs. + shopt -s globstar + + # All these paths are used in some way when building aseprite. + cp -r --parents -t $out/ \ + include/codec \ + include/config \ + include/core \ + include/effects \ + include/gpu \ + include/private \ + include/utils \ + out/Release/*.a \ + src/gpu/**/*.h \ + third_party/externals/angle2/include \ + third_party/skcms/**/*.h + ''; +} diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix index e5a71b134f1..26deee3b859 100644 --- a/pkgs/applications/editors/atom/default.nix +++ b/pkgs/applications/editors/atom/default.nix @@ -1,16 +1,16 @@ -{ stdenv, pkgs, fetchurl, makeWrapper, wrapGAppsHook, gvfs, gtk3, atomEnv }: +{ stdenv, pkgs, fetchurl, wrapGAppsHook, gvfs, gtk3, atomEnv }: let versions = { atom = { - version = "1.34.0"; - sha256 = "16hrjymrc43izg7frcrk7cwjwwrclcxzcwb5iw2llzjc6iadzlkb"; + version = "1.36.1"; + sha256 = "1m7q2r3zx463k7kpqb364piqrr69wrhs033ibzxdx9y7r4204qp4"; }; atom-beta = { - version = "1.35.0"; + version = "1.37.0"; beta = 0; - sha256 = "0gm5k573dq1hhnyw3719f5k1c6rsz872mhzg8q53n89y0g2r5xmw"; + sha256 = "0aq8r5vfgq7r31qajjgcg4n5a57a2m8fvq6fzy9vq5gawkvmaxxx"; }; }; diff --git a/pkgs/applications/editors/atom/env.nix b/pkgs/applications/editors/atom/env.nix index da78c39324a..46dd4a22864 100644 --- a/pkgs/applications/editors/atom/env.nix +++ b/pkgs/applications/editors/atom/env.nix @@ -1,12 +1,12 @@ { stdenv, lib, zlib, glib, alsaLib, dbus, gtk3, atk, pango, freetype, fontconfig -, libgnome-keyring3, gdk_pixbuf, cairo, cups, expat, libgpgerror, nspr +, libgnome-keyring3, gdk-pixbuf, cairo, cups, expat, libgpgerror, nspr , gconf, nss, xorg, libcap, systemd, libnotify, libsecret }: let packages = [ stdenv.cc.cc zlib glib dbus gtk3 atk pango freetype libgnome-keyring3 - fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gconf nss + fontconfig gdk-pixbuf cairo cups expat libgpgerror alsaLib nspr gconf nss xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify diff --git a/pkgs/applications/editors/bluefish/default.nix b/pkgs/applications/editors/bluefish/default.nix index 1c2e3a42578..f78f7fbf914 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/bonzomatic/default.nix b/pkgs/applications/editors/bonzomatic/default.nix index 9f1db146448..a12ccd257f8 100644 --- a/pkgs/applications/editors/bonzomatic/default.nix +++ b/pkgs/applications/editors/bonzomatic/default.nix @@ -1,7 +1,6 @@ { stdenv, makeWrapper, fetchFromGitHub, cmake, alsaLib, mesa_glu, libXcursor, libXinerama, libXrandr, xorgserver }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "bonzomatic"; version = "2018-03-29"; diff --git a/pkgs/applications/editors/brackets/default.nix b/pkgs/applications/editors/brackets/default.nix index 1065564f7b4..439b721632d 100644 --- a/pkgs/applications/editors/brackets/default.nix +++ b/pkgs/applications/editors/brackets/default.nix @@ -1,20 +1,20 @@ -{ stdenv, fetchurl, gtk2, glib, gdk_pixbuf, alsaLib, nss, nspr, gconf -, cups, libgcrypt_1_5, systemd, dbus }: +{ stdenv, fetchurl, gtk2, glib, gdk-pixbuf, alsaLib, nss, nspr, gconf +, 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 { - name = "brackets-${version}"; + pname = "brackets"; version = "1.9"; src = fetchurl { url = "https://github.com/adobe/brackets/releases/download/release-${version}/Brackets.Release.${version}.64-bit.deb"; sha256 = "0c4l2rr0853xd21kw8hhxlmrx8mqwb7iqa2k24zvwyjp4nnwkgbp"; - name = "${name}.deb"; + name = "${pname}-${version}.deb"; }; phases = [ "installPhase" "fixupPhase" ]; diff --git a/pkgs/applications/editors/bvi/default.nix b/pkgs/applications/editors/bvi/default.nix index f5e14ff1e09..3237c543ee6 100644 --- a/pkgs/applications/editors/bvi/default.nix +++ b/pkgs/applications/editors/bvi/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "bvi-${version}"; + pname = "bvi"; version = "1.4.0"; src = fetchurl { - url = "mirror://sourceforge/bvi/${name}.src.tar.gz"; + url = "mirror://sourceforge/bvi/${pname}-${version}.src.tar.gz"; sha256 = "00pq9rv7s8inqxq2m3xshxi58691i3pxw9smibcrgh6768l3qnh1"; }; diff --git a/pkgs/applications/editors/bviplus/default.nix b/pkgs/applications/editors/bviplus/default.nix index d08e006ec5b..2c6b153370e 100644 --- a/pkgs/applications/editors/bviplus/default.nix +++ b/pkgs/applications/editors/bviplus/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "bviplus-${version}"; + pname = "bviplus"; version = "0.9.4"; src = fetchurl { diff --git a/pkgs/applications/editors/deadpixi-sam/default.nix b/pkgs/applications/editors/deadpixi-sam/default.nix index 4ab11064eae..65ec4393912 100644 --- a/pkgs/applications/editors/deadpixi-sam/default.nix +++ b/pkgs/applications/editors/deadpixi-sam/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "2017-10-27"; - name = "deadpixi-sam-unstable-${version}"; + pname = "deadpixi-sam-unstable"; src = fetchFromGitHub { owner = "deadpixi"; diff --git a/pkgs/applications/editors/dhex/default.nix b/pkgs/applications/editors/dhex/default.nix index f4581c4bece..efb3a2f9ffa 100644 --- a/pkgs/applications/editors/dhex/default.nix +++ b/pkgs/applications/editors/dhex/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "dhex-${version}"; + pname = "dhex"; version = "0.69"; src = fetchurl { diff --git a/pkgs/applications/editors/dit/default.nix b/pkgs/applications/editors/dit/default.nix index 12ca7a07140..2f83b0b8d99 100644 --- a/pkgs/applications/editors/dit/default.nix +++ b/pkgs/applications/editors/dit/default.nix @@ -1,11 +1,11 @@ { lib, fetchurl, stdenv, libiconv, ncurses, lua }: stdenv.mkDerivation rec { - name = "dit-${version}"; + pname = "dit"; version = "0.5"; src = fetchurl { - url = "https://hisham.hm/dit/releases/${version}/${name}.tar.gz"; + url = "https://hisham.hm/dit/releases/${version}/${pname}-${version}.tar.gz"; sha256 = "05vhr1gl3bb5fg49v84xhmjaqdjw6djampvylw10ydvbpnpvjvjc"; }; diff --git a/pkgs/applications/editors/eclipse/build-eclipse.nix b/pkgs/applications/editors/eclipse/build-eclipse.nix index 389608ad824..6ae9eb078e2 100644 --- a/pkgs/applications/editors/eclipse/build-eclipse.nix +++ b/pkgs/applications/editors/eclipse/build-eclipse.nix @@ -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 55bbc778e3a..972a9daded4 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 = "12"; + year = "2019"; + month = "06"; + timestamp = "201906051800"; + +in rec { buildEclipse = import ./build-eclipse.nix { inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib @@ -21,133 +28,43 @@ 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.hostPlatform.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.hostPlatform.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.hostPlatform.system}"; + 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 = "3mfljabrwbwq256vvsp9qjb96hzlbpwgnb3wz806pbyh0ibfq6s1hn8kh5aaa2da5821v0ykcxa12jagj7naqp4g91jqxp1wb1ygz2q"; + }; }; - eclipse-cpp-37 = buildEclipse { - name = "eclipse-cpp-3.7"; - description = "Eclipse IDE for C/C++ Developers"; - src = - if stdenv.hostPlatform.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"; - }; - }; - 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.hostPlatform.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"; - }; + 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 = "18p6xz6rq4w6j39b2k9kjpz8s1nljfq44g2cmvxqjgjfkq8lk4ij73ssyv1raly4wkm7r22ixacswdjmyj942k5vpv9y11i91hp1scv"; + }; }; - eclipse-modeling-36 = buildEclipse { - name = "eclipse-modeling-3.6.2"; - description = "Eclipse Modeling Tools (includes Incubating components)"; - src = - if stdenv.hostPlatform.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"; - }; - }; - eclipse_modeling_36 = eclipse-modeling-36; # backward compatibility, added 2016-01-30 - ### Eclipse Platform - eclipse-platform = eclipse-platform-49; # always point to latest - - 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-49 = buildEclipse { - name = "eclipse-platform-4.9"; - description = "Eclipse Platform 2018-09"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.9-201809060745/eclipse-platform-4.9-linux-gtk-x86_64.tar.gz; - sha512 = "875714bb411145c917fccedf2f7c4fd2757640b2debf4a18f775604233abd6f0da893b350cc03da44413d7ec6fae3f773ef08634e632058e4b705e6cda2893eb"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.9-201809060745/eclipse-platform-4.9-linux-gtk.tar.gz; - sha512 = "758bc0de30fa5c4b76b343ea0325611d87b6928ef5002244f2f1ba2a9fa937de89b2a94ce2c8d33d79344fd574d6e8a72c5d127fe416d785f48600e9e85fce86"; - }; - }; + 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 = "0qiyk95qhdqcfgg5hgc7pcpbpjy9jnx7l3vb7s4cgijdz2xz0n5psh11lpj3whk2amh4iwkyx7kn8fxdq7lm03rlgx67cbk7p8my16m"; + }; }; ### 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 = @@ -165,88 +82,26 @@ rec { ### Eclipse SDK - eclipse-sdk = eclipse-sdk-49; # always point to latest - - 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 = "3bbc8d66ms7nhg6f8gb0bnzjqz26wixpipn4n9qf0azcplrv2j91z8hjw1fx39dx4pqnsf442bkgab4qqhkpks7qq54110l01q6gvy9"; + }; }; - 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-sdk-49 = buildEclipse { - name = "eclipse-sdk-4.9"; - description = "Eclipse 2018-09 Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.9-201809060745/eclipse-SDK-4.9-linux-gtk-x86_64.tar.gz; - sha512 = "5e74a0411f56b3973b7c6d8c3727392297d55ad458a814b4cc3f2f6a57dbeebc64852d1a6a958db5c3b08c620093bfb5bcc0d2c6a400f5594b82c2ef5d5fa9fb"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.9-201809060745/eclipse-SDK-4.9-linux-gtk.tar.gz; - sha512 = "b1861bd99c8e43f1d04247226584246aa7844af5e2da820fe98a51018dbe8ff4c25dbb9fa655f56e103f95c0696f40a65dcce13430c63aa080f786738e70eb8b"; - }; - }; - }; - - eclipse-sdk-37 = buildEclipse { - name = "eclipse-sdk-3.7"; - description = "Eclipse Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-SDK-3.7.2-linux-gtk-x86_64.tar.gz; - sha256 = "0nf4nv7awhp1k8b1hjb7chpjyjrqnyszsjbc4dlk9phpjv3j4wg5"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-SDK-3.7.2-linux-gtk.tar.gz; - sha256 = "1isn7i45l9kyn2yx6vm88jl1gnxph8ynank0aaa218cg8kdygk7j"; - }; - }; - }; - eclipse_sdk_37 = eclipse-sdk-37; # backward compatibility, added 2016-01-30 - ### Eclipse Java - eclipse-java = eclipse-java-49; - - eclipse-java-49 = buildEclipse { - name = "eclipse-java-4.9.0"; + eclipse-java = buildEclipse { + name = "eclipse-java-${platform_major}.${platform_minor}"; description = "Eclipse IDE for Java Developers"; src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/2018-09/R/eclipse-java-2018-09-linux-gtk-x86_64.tar.gz; - sha512 = "9dac5d040cdabf779de3996de87290e352130c7e860c1d0a98772f41da828ad45f90748b68e0a8a4f8d1ebbbbe5fdfe6401b7d871b93af34103d4a81a041c6a5"; - } - else if stdenv.system == "i686-linux" then - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/2018-09/R/eclipse-java-2018-09-linux-gtk.tar.gz; - sha512 = "24208e95b972e848d6b65ed8108d9e81584cf051397f2f43fb6269f5a625b8d7552ad77c7980a1a5653c87f06776e2926fd85607aae44e44657b4f6cc9b3e2e3"; - } - else throw "Unsupported system: ${stdenv.system}"; + 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 = "20qs1aagh4drsycvar3x42zy422zl34yg1p3vhxbqfbf7v3z1d3cxs9ah61x4bdxx9bkfwchasqp1wr15nflch9g0i50bdki3cgng1d"; + }; }; ### Environments diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix index 8a5991cc7cd..cf7980582ff 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.8.1"; 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.8/${name}/${name}.zip"; + sha256 = "0kxmwz75i8mv4wics9n0hspxhzl3glf5ry2v5mnl5j9gcf73b0nv"; }; 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; @@ -384,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; @@ -392,29 +392,6 @@ rec { }; }; - emacsplus = buildEclipsePlugin rec { - name = "emacsplus-${version}"; - version = "4.2.0"; - - srcFeature = fetchurl { - url = "http://www.mulgasoft.com/emacsplus/e4/update-site/features/com.mulgasoft.emacsplus.feature_${version}.jar"; - sha256 = "0wja3cd7gq8w25797fxnafvcncjnmlv8qkl5iwqj7zja2f45vka8"; - }; - - srcPlugin = fetchurl { - url = "http://www.mulgasoft.com/emacsplus/e4/update-site/plugins/com.mulgasoft.emacsplus_${version}.jar"; - sha256 = "08yw45nr90mlpdzim74vsvdaxj41sgpxcrqk5ia6l2dzvrqlsjs1"; - }; - - meta = with stdenv.lib; { - homepage = http://www.mulgasoft.com/emacsplus/; - description = "Provides a more Emacs-like experience in the Eclipse text editors"; - license = licenses.epl10; - platforms = platforms.all; - maintainers = [ maintainers.rycee ]; - }; - }; - findbugs = buildEclipsePlugin rec { name = "findbugs-${version}"; version = "3.0.1.20150306-5afe4d1"; @@ -497,12 +474,12 @@ rec { jdt = buildEclipseUpdateSite rec { name = "jdt-${version}"; - version = "4.9"; + version = "4.12"; src = fetchzip { stripRoot = false; - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.9-201809060745/org.eclipse.jdt-4.9.zip; - sha256 = "144rqrw0crxd2v862dqxm2p5y60n4pbzdryv709xnhcw54rycm7n"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.12-201906051800/org.eclipse.jdt-4.12.zip; + sha256 = "0qscvqg69z4554n1yhl0xg1xz8ln3qsbgfzi7cg3xnnwnxfqz9cb"; }; meta = with stdenv.lib; { @@ -614,7 +591,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/edbrowse/default.nix b/pkgs/applications/editors/edbrowse/default.nix index 0b6e28434f5..0de514233f8 100644 --- a/pkgs/applications/editors/edbrowse/default.nix +++ b/pkgs/applications/editors/edbrowse/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, fetchpatch, duktape, curl, pcre, readline, openssl, perl, html-tidy }: stdenv.mkDerivation rec { - name = "edbrowse-${version}"; + pname = "edbrowse"; version = "3.7.4"; buildInputs = [ curl pcre readline openssl duktape perl html-tidy ]; diff --git a/pkgs/applications/editors/edit/default.nix b/pkgs/applications/editors/edit/default.nix index 17fa75fe634..acda484ba3a 100644 --- a/pkgs/applications/editors/edit/default.nix +++ b/pkgs/applications/editors/edit/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, unzip, pkgconfig, ncurses, libX11, libXft, cwebbin }: stdenv.mkDerivation rec { - name = "edit-nightly-${version}"; + pname = "edit-nightly"; version = "20160425"; src = fetchgit { diff --git a/pkgs/applications/editors/emacs-modes/auto-complete/default.nix b/pkgs/applications/editors/emacs-modes/auto-complete/default.nix deleted file mode 100644 index 40f172316ef..00000000000 --- a/pkgs/applications/editors/emacs-modes/auto-complete/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchurl, emacs }: - -stdenv.mkDerivation rec { - name = "auto-complete-1.3.1"; - - src = fetchurl { - url = "http://cx4a.org/pub/auto-complete/${name}.tar.bz2"; - sha256 = "124qxfp0pcphwlmrasbfrci48brxnrzc38h4wcf2sn20x1mvcrlj"; - }; - - buildInputs = [ emacs ]; - - preInstall = '' - install -d $out/share/emacs/site-lisp - ''; - - installFlags = "DIR=$(out)/share/emacs/site-lisp"; - - postInstall = '' - ln -s javascript-mode $out/share/emacs/site-lisp/ac-dict/js2-mode - ''; - - meta = { - description = "Auto-complete extension for Emacs"; - homepage = http://cx4a.org/software/auto-complete/; - license = stdenv.lib.licenses.gpl3Plus; - - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/bbdb/3.nix b/pkgs/applications/editors/emacs-modes/bbdb/3.nix deleted file mode 100644 index d20ab53bf7e..00000000000 --- a/pkgs/applications/editors/emacs-modes/bbdb/3.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ stdenv, fetchurl, emacs }: - -stdenv.mkDerivation rec { - name = "bbdb-3.1.2"; - - src = fetchurl { - url = "https://download.savannah.gnu.org/releases/bbdb/${name}.tar.gz"; - sha256 = "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"; - }; - - buildInputs = [ emacs ]; - - # Hack to disable documentation as there is no way to tell bbdb to - # NOT build pdfs. I really don't want to pull in TexLive here... - preConfigure = '' - substituteInPlace ./Makefile.in \ - --replace "SUBDIRS = lisp doc tex" "SUBDIRS = lisp" - ''; - - meta = { - 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/bbdb/default.nix b/pkgs/applications/editors/emacs-modes/bbdb/default.nix deleted file mode 100644 index 689bcfc9adf..00000000000 --- a/pkgs/applications/editors/emacs-modes/bbdb/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{stdenv, fetchurl, emacs, texinfo, ctags}: - -stdenv.mkDerivation rec { - name = "bbdb-2.36"; - - src = fetchurl { - # not using mirror:// because it produces a different file - url = "http://bbdb.sourceforge.net/${name}.tar.gz"; - sha256 = "1rmw94l71ahfbynyy0bijfy488q9bl5ksl4zpvg7j9dbmgbh296r"; - }; - - patches = [ ./install-infodir.patch ]; - - buildInputs = [emacs texinfo ctags]; - configureFlags = [ "--with-package-dir=$$out/share/emacs/site-lisp" ]; - preInstall = "mkdir -p $out/info"; - installTargets = "install-pkg texinfo"; - postInstall = '' - mv $out/info $out/share/ - mv "$out/share/emacs/site-lisp/lisp/bbdb/"* $out/share/emacs/site-lisp/ - mv $out/share/emacs/site-lisp/etc/bbdb $out/share/ - rm -rf $out/share/emacs/site-lisp/{lisp,etc} - mv bits $out/share/bbdb/ - # Make optional modules from bbdb available for import, but symlink - # them into the site-lisp directory to make it obvious that they are - # not a genuine part of the distribution. - ln -s "$out/share/bbdb/bits/"*.el $out/share/emacs/site-lisp/ - ''; - - meta = { - homepage = http://bbdb.sourceforge.net/; - description = "The Insidious Big Brother Database (BBDB), a contact management utility for Emacs"; - license = "GPL"; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/bbdb/install-infodir.patch b/pkgs/applications/editors/emacs-modes/bbdb/install-infodir.patch deleted file mode 100644 index 31ae6b26698..00000000000 --- a/pkgs/applications/editors/emacs-modes/bbdb/install-infodir.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- bbdb-2.35/texinfo/Makefile.in 2001-11-20 09:00:12.000000000 +0100 -+++ bbdb-2.35/texinfo/Makefile.in 2008-02-20 12:07:36.000000000 +0100 -@@ -27,22 +27,22 @@ all: info bbdb.dvi - install-pkg: uninstall-pkg info - @if test "x$(SYMLINKS)" = "xno" ; then \ - for i in `ls bbdb.info* ` ; do \ -- $(INSTALL_DATA) $$i $(PACKAGEDIR)/info/ ; \ -+ $(INSTALL_DATA) $$i $(infodir)/ ; \ - done ; \ - else \ - if test "x$(LINKPATH)" = "x" ; then \ - for i in `ls bbdb.info* ` ; do \ -- $(LN_S) `pwd`/$$i $(PACKAGEDIR)/info/$$i ; \ -+ $(LN_S) `pwd`/$$i $(infodir)/$$i ; \ - done ; \ - else \ - for i in `ls bbdb.info* ` ; do \ -- $(LN_S) $(LINKPATH)/texinfo/$$i $(PACKAGEDIR)/info/$$i ; \ -+ $(LN_S) $(LINKPATH)/texinfo/$$i $(infodir)/$$i ; \ - done ; \ - fi ; \ - fi - - uninstall-pkg: -- -$(RM) $(PACKAGEDIR)/info/bbdb.info* -+ -$(RM) $(infodir)/bbdb.info* - - info: bbdb.info diff --git a/pkgs/applications/editors/emacs-modes/calfw/default.nix b/pkgs/applications/editors/emacs-modes/calfw/default.nix deleted file mode 100644 index 091635feda6..00000000000 --- a/pkgs/applications/editors/emacs-modes/calfw/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ fetchgit, stdenv, emacs }: - -# TODO: byte-compile in build phase - a buildEmacsPackage that does -# that would be nice - -stdenv.mkDerivation rec { - name = "calfw-1.3-5-ga9b6615"; - - src = fetchgit { - url = "git://github.com/kiwanami/emacs-calfw.git"; - rev = "a9b6615b6666bbebe78257c557fd9a2e3a325d8d"; - sha256 = "524acc8fec7e64ebe0d370ddb1d96eee6a409d650b79011fa910c35225a7f393"; - }; - - buildInputs = [ emacs ]; - - installPhase = - '' - mkdir -p "$out/share/doc/${name}" - cp -v readme.md "$out/share/doc/${name}" - - mkdir -p "$out/share/emacs/site-lisp/" - cp *.el "$out/share/emacs/site-lisp/" - ''; - - meta = { - description = "A calendar framework for Emacs"; - - license = stdenv.lib.licenses.gpl3Plus; - - maintainers = with stdenv.lib.maintainers; [ chaoflow ]; - platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/cask/default.nix b/pkgs/applications/editors/emacs-modes/cask/default.nix deleted file mode 100644 index aed976051f2..00000000000 --- a/pkgs/applications/editors/emacs-modes/cask/default.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ stdenv, fetchFromGitHub, emacs, python }: - -stdenv.mkDerivation rec { - version = "0.8.4"; - name = "cask-${version}"; - - src = fetchFromGitHub { - owner = "cask"; - repo = "cask"; - rev = "v${version}"; - sha256 = "1p37lq8xpyq0rc7phxgsw3b73h8vf9rkpa5959rb5k46w6ps9686"; - }; - - buildInputs = [ emacs python ]; - - # byte-compiling emacs files automatically triggers cask's bootstrap - # mechanism, what we don't want. - dontBuild = true; - - installPhase = '' - install -d "$out/share/emacs/site-lisp" - install cask*.el* "$out/share/emacs/site-lisp" - - install -d "$out/bin" - install bin/cask "$out/bin" - - # We also need to install cask's templates in order for 'cask - # init' to work properly. - install -d "$out/templates" - install templates/* "$out/templates" - - # In order to work with cask's hard coded file paths (during bootstrap), - # we have to create these links. - ln -s "$out/share/emacs/site-lisp/"* "$out" - - # This file disables cask's self-updating function. - touch "$out/.no-upgrade" - ''; - - meta = with stdenv.lib; { - description = "Project management tool for Emacs"; - longDescription = - '' - Cask is a project management tool for Emacs that helps automate the - package development cycle; development, dependencies, testing, - building, packaging and more. Cask can also be used to manage - dependencies for your local Emacs configuration. - ''; - homepage = https://github.com/cask/cask; - license = licenses.gpl3Plus; - platforms = platforms.all; - maintainers = [ maintainers.jgeerds ]; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/cedet/default.nix b/pkgs/applications/editors/emacs-modes/cedet/default.nix index e350dc08e71..5fbe095c4f3 100644 --- a/pkgs/applications/editors/emacs-modes/cedet/default.nix +++ b/pkgs/applications/editors/emacs-modes/cedet/default.nix @@ -44,5 +44,8 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl2Plus; homepage = http://cedet.sourceforge.net/; + + # Fails with `semantic-idle.el:42:1:Error: Invalid function: class-p` + broken = true; }; } diff --git a/pkgs/applications/editors/emacs-modes/cedille/default.nix b/pkgs/applications/editors/emacs-modes/cedille/default.nix index 2d1cbb75981..ce9f57ef40b 100644 --- a/pkgs/applications/editors/emacs-modes/cedille/default.nix +++ b/pkgs/applications/editors/emacs-modes/cedille/default.nix @@ -1,7 +1,7 @@ { stdenv, cedille, emacs }: stdenv.mkDerivation rec { - name = "cedille-mode-${version}"; + pname = "cedille-mode"; version = cedille.version; src = cedille.src; diff --git a/pkgs/applications/editors/emacs-modes/coffee/default.nix b/pkgs/applications/editors/emacs-modes/coffee/default.nix deleted file mode 100644 index 495b1aca4b5..00000000000 --- a/pkgs/applications/editors/emacs-modes/coffee/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchgit, emacs }: - -stdenv.mkDerivation rec { - name = "coffee-mode-0.4.1"; - - src = fetchgit { - url = "https://github.com/defunkt/coffee-mode.git"; - rev = "c45c5f7a529363bc7aa57db0f3df26389fd233d8"; - sha256 = "36a7792b5ffbcc5a580e8d5b2425494c60a8015cfde0e3f8a946a685da231ce2"; - }; - - buildInputs = [ emacs ]; - - buildPhase = '' - emacs --batch -f batch-byte-compile coffee-mode.el - ''; - - installPhase = '' - install -d $out/share/emacs/site-lisp - install coffee-mode.el coffee-mode.elc $out/share/emacs/site-lisp - ''; - - meta = { - description = "Emacs major mode for CoffeeScript, unfancy JavaScript"; - homepage = https://github.com/defunkt/coffee-mode; - license = stdenv.lib.licenses.gpl2Plus; - - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix b/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix index 6b51f117ad8..fb3de6ea3d9 100644 --- a/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix +++ b/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix @@ -30,5 +30,8 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.samuelrivas ]; license = licenses.mit; platforms = platforms.all; + + # Fails with `solarized-definitions.el:786:1:Warning: the function `rotatef' is not known to` + broken = true; }; } diff --git a/pkgs/applications/editors/emacs-modes/color-theme/default.nix b/pkgs/applications/editors/emacs-modes/color-theme/default.nix deleted file mode 100644 index 407b9e58f0b..00000000000 --- a/pkgs/applications/editors/emacs-modes/color-theme/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{stdenv, fetchurl, emacs}: - -stdenv.mkDerivation rec { - name = "color-theme-6.6.0"; - - src = fetchurl { - url = "mirror://savannah/color-theme/${name}.tar.gz"; - sha256 = "0yx1ghcjc66s1rl0v3d4r1k88ifw591hf814ly3d73acvh15zlsn"; - }; - - # patches from http://aur.archlinux.org/packages.php?ID=54883 - patches = [ ./fix-build.patch ./gnus-bug.diff ]; - - buildInputs = [ emacs ]; - - installFlags = [ "ELISPDIR=$(out)/share/emacs/site-lisp" ]; - installTargets = "install-bin"; - - meta = { - description = "Emacs-lisp mode for skinning your Emacs"; - 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/color-theme/fix-build.patch b/pkgs/applications/editors/emacs-modes/color-theme/fix-build.patch deleted file mode 100644 index cfc237c8cdc..00000000000 --- a/pkgs/applications/editors/emacs-modes/color-theme/fix-build.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/Makefile 2009-05-15 18:22:49.000000000 +0200 -+++ b/Makefile 2009-05-16 08:59:36.000000000 +0200 -@@ -15,6 +15,7 @@ - TARGET = $(patsubst %.el,%.elc,$(SPECIAL) $(SOURCE)) - MANUAL = color-theme - MISC = AUTHORS COPYING ChangeLog Makefile.defs Makefile $(AUTOLOADFILE).in -+LOADPATH = "$(shell pwd)" "$(shell pwd)/themes" - #AUTHORS CREDITS HISTORY NEWS README Makefile ChangeLog \ - #ChangeLog.2005 ChangeLog.2004 ChangeLog.2003 ChangeLog.2002 \ - #ChangeLog.2001 servers.pl color-theme-auto.in color-theme.texi -@@ -47,7 +48,7 @@ - - %.elc: %.el - @$(EMACS) $(OPTIONCOMPILE) \ -- --eval '(setq load-path (cons "." load-path))' \ -+ --eval '(setq load-path (append load-path (list $(LOADPATH))))' \ - -f batch-byte-compile $< - - %.info: %.texi diff --git a/pkgs/applications/editors/emacs-modes/color-theme/gnus-bug.diff b/pkgs/applications/editors/emacs-modes/color-theme/gnus-bug.diff deleted file mode 100644 index 9d227df562e..00000000000 --- a/pkgs/applications/editors/emacs-modes/color-theme/gnus-bug.diff +++ /dev/null @@ -1,28 +0,0 @@ -diff -Naur color-theme-6.6.0.orig/color-theme.el color-theme-6.6.0.new/color-theme.el ---- color-theme-6.6.0.orig/color-theme.el 2011-11-18 01:17:29.000000000 +0100 -+++ color-theme-6.6.0.new/color-theme.el 2011-11-18 01:24:07.000000000 +0100 -@@ -73,9 +73,10 @@ - "Non-nil if running XEmacs.") - - ;; Add this since it appears to miss in emacs-2x --(or (fboundp 'replace-in-string) -- (defun replace-in-string (target old new) -- (replace-regexp-in-string old new target))) -+(if (fboundp 'replace-in-string) -+ (defalias 'color-theme-replace-in-string 'replace-in-string) -+ (defsubst color-theme-replace-in-string (target old new &optional literal) -+ (replace-regexp-in-string old new target nil literal))) - - ;; face-attr-construct has a problem in Emacs 20.7 and older when - ;; dealing with inverse-video faces. Here is a short test to check -@@ -1626,8 +1627,8 @@ - (add-to-list 'color-themes - (list ',n - (upcase-initials -- (replace-in-string -- (replace-in-string -+ (color-theme-replace-in-string -+ (color-theme-replace-in-string - (symbol-name ',n) "^color-theme-" "") "-" " ")) - ,author)) - (defun ,n () diff --git a/pkgs/applications/editors/emacs-modes/cryptol/default.nix b/pkgs/applications/editors/emacs-modes/cryptol/default.nix deleted file mode 100644 index 5b408ad7999..00000000000 --- a/pkgs/applications/editors/emacs-modes/cryptol/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, fetchurl, emacs }: - -stdenv.mkDerivation rec { - name = "cryptol-mode-${version}"; - version = "0.1.0"; - - src = fetchurl { - url = "https://github.com/thoughtpolice/cryptol-mode/archive/v${version}.tar.gz"; - sha256 = "1qyrqvfgpg1nyk1clv7v94r3amm02613hrak5732xzn6iak81cc0"; - }; - - buildInputs = [ emacs ]; - - installPhase = '' - install -d $out/share/emacs/site-lisp - install *.el *.elc $out/share/emacs/site-lisp - ''; - - meta = { - description = "Emacs major mode for Cryptol"; - homepage = "https://thoughtpolice/cryptol-mode"; - license = stdenv.lib.licenses.gpl3Plus; - platforms = stdenv.lib.platforms.all; - maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/cua/builder.sh b/pkgs/applications/editors/emacs-modes/cua/builder.sh deleted file mode 100644 index 6f7bb428c1a..00000000000 --- a/pkgs/applications/editors/emacs-modes/cua/builder.sh +++ /dev/null @@ -1,4 +0,0 @@ -source $stdenv/setup - -mkdir -p $out/emacs/site-lisp -cp $src $out/emacs/site-lisp/cua.el diff --git a/pkgs/applications/editors/emacs-modes/cua/default.nix b/pkgs/applications/editors/emacs-modes/cua/default.nix deleted file mode 100644 index 0305be28ad6..00000000000 --- a/pkgs/applications/editors/emacs-modes/cua/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{stdenv, fetchurl}: stdenv.mkDerivation { - name = "cua-mode-2.10"; - builder = ./builder.sh; - src = fetchurl { - url = http://tarballs.nixos.org/cua-mode-2.10.el; - sha256 = "01877xjbq0v9wrpcbnhvppdn9wxliwkkjg3dr6k795mjgslwhr1b"; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/d/default.nix b/pkgs/applications/editors/emacs-modes/d/default.nix deleted file mode 100644 index 28736acded2..00000000000 --- a/pkgs/applications/editors/emacs-modes/d/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{stdenv, fetchurl, emacs}: - -# Note: Don't have a version, using date as fallback. -let version = "20150111"; - -in stdenv.mkDerivation { - name = "emacs-d-${version}"; - - src = fetchurl { - url = "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode/archive/53efec4d83c7cee8227597f010fe7fc400ff05f1.tar.gz"; - sha256 = "0vb0za51lc6qf1qgqisap4vzk36caa5k17zajjn034rhjsqfw0w7"; - }; - - buildInputs = [ emacs ]; - - buildPhase = '' - emacs -L . --batch -f batch-byte-compile *.el - ''; - - installPhase = '' - install -d $out/share/emacs/site-lisp - install *.el *.elc $out/share/emacs/site-lisp - ''; - - meta = { - description = "Major mode for editing D code"; - homepage = https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.all; - }; - -} diff --git a/pkgs/applications/editors/emacs-modes/darcsum/darcs_context b/pkgs/applications/editors/emacs-modes/darcsum/darcs_context deleted file mode 100644 index 7e9de1ed80b..00000000000 --- a/pkgs/applications/editors/emacs-modes/darcsum/darcs_context +++ /dev/null @@ -1,7 +0,0 @@ - -Context: - -[TAG 1.3 -Simon Michael **20131103203640 - Ignore-this: d12bac373e4aa0e5ffe6c390e1dfe269 -] diff --git a/pkgs/applications/editors/emacs-modes/darcsum/default.nix b/pkgs/applications/editors/emacs-modes/darcsum/default.nix deleted file mode 100644 index 0a1c2c77b2a..00000000000 --- a/pkgs/applications/editors/emacs-modes/darcsum/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -# To automatically load darcsum when needed, add the following to your emacs init file: -# -# (autoload 'darcsum-changes "darcsum" nil t) -# (autoload 'darcsum-whatsnew "darcsum" nil t) -# (autoload 'darcsum-view "darcsum" nil t) -# -# (These lines were copied from 50darcsum.el in the darcsum repository.) - - -{ fetchdarcs, stdenv }: - -stdenv.mkDerivation { - name = "darcsum-1.3"; - - src = fetchdarcs { - url = http://hub.darcs.net/simon/darcsum; - context = ./darcs_context; - sha256 = "18dyk2apmnjapd604a5njfqwjri1mc7lgjaajy9phicpibgdrwzh"; - }; - - phases = [ "unpackPhase" "installPhase" ]; - - installPhase = '' - install -d "$out/share/emacs/site-lisp" - install darcsum.el "$out/share/emacs/site-lisp" - ''; - - meta = { - description = "A pcl-cvs like interface for managing darcs patches"; - homepage = http://hub.darcs.net/simon/darcsum; - license = stdenv.lib.licenses.gpl2Plus; - maintainers = [ stdenv.lib.maintainers.falsifian ]; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/ecb/default.nix b/pkgs/applications/editors/emacs-modes/ecb/default.nix deleted file mode 100644 index 807bb91f850..00000000000 --- a/pkgs/applications/editors/emacs-modes/ecb/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ fetchurl, stdenv, emacs, cedet, jdee, texinfo }: - -stdenv.mkDerivation rec { - name = "ecb-2.40"; - - src = fetchurl { - url = "mirror://sourceforge/ecb/${name}.tar.gz"; - sha256 = "0gp56ixfgnyk2j1fps4mk1yv1vpz81kivb3gq9f56jw4kdlhjrjs"; - }; - - buildInputs = [ emacs ]; - propagatedBuildInputs = [ cedet jdee ]; - propagatedUserEnvPkgs = propagatedBuildInputs; - - patchPhase = '' - sed -i "Makefile" \ - -e 's|CEDET[[:blank:]]*=.*$|CEDET = ${cedet}/share/emacs/site-lisp|g ; - s|INSTALLINFO[[:blank:]]*=.*$|INSTALLINFO = ${texinfo}/bin/install-info|g ; - s|MAKEINFO[[:blank:]]*=.*$|MAKEINFO = ${texinfo}/bin/makeinfo|g ; - s|common/cedet.el|cedet.el|g' - ''; - - installPhase = '' - mkdir -p "$out/share/emacs/site-lisp" - cp -rv *.el *.elc ecb-images "$out/share/emacs/site-lisp" - - mkdir -p "$out/share/info" - cp -v info-help/*.info* "$out/share/info" - ''; - - meta = { - description = "ECB, the Emacs Code browser"; - - longDescription = '' - ECB stands for "Emacs Code Browser". While Emacs already has - good editing support for many modes, its browsing support is - somewhat lacking. That's where ECB comes in: it displays a - number of informational windows that allow for easy source code - navigation and overview. - ''; - - license = stdenv.lib.licenses.gpl2Plus; - - homepage = http://ecb.sourceforge.net/; - - maintainers = [ ]; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix index 2fd8add173d..7737034973a 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 = { @@ -30,21 +30,21 @@ license = lib.licenses.free; }; }) {}; - ada-mode = callPackage ({ cl-lib ? null - , elpaBuild + ada-mode = callPackage ({ elpaBuild , emacs , fetchurl , lib + , uniquify-files , wisi }: elpaBuild { pname = "ada-mode"; ename = "ada-mode"; - version = "6.0.1"; + version = "6.2.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ada-mode-6.0.1.tar"; - sha256 = "12ryblyqnhqibaffibs7qq3xq9rf5d4y9dishq82pbbh9y8s17hj"; + url = "https://elpa.gnu.org/packages/ada-mode-6.2.1.tar"; + sha256 = "0lg2y28qs8ls70d43ikhy5zcwadh5ddfw4k59p7sqb79w0y3lbnq"; }; - packageRequires = [ cl-lib emacs wisi ]; + packageRequires = [ emacs uniquify-files wisi ]; meta = { homepage = "https://elpa.gnu.org/packages/ada-mode.html"; license = lib.licenses.free; @@ -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 = { @@ -84,10 +84,10 @@ elpaBuild { pname = "adjust-parens"; ename = "adjust-parens"; - version = "3.0"; + version = "3.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/adjust-parens-3.0.tar"; - sha256 = "16gmrgdfyqs7i617669f7xy5mds1svbyfv12xhdjk96rbssfngzg"; + url = "https://elpa.gnu.org/packages/adjust-parens-3.1.tar"; + sha256 = "059v0njd52vxidr5xwv2jmknm2shnwpj3101069q6lsmz1wq242a"; }; packageRequires = []; meta = { @@ -95,6 +95,21 @@ license = lib.licenses.free; }; }) {}; + advice-patch = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "advice-patch"; + ename = "advice-patch"; + version = "0.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/advice-patch-0.1.el"; + sha256 = "0mb7linzsnf72vzkn9h6w2i2b0h92h6qzkapyrv61vh5a67k1m0s"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/advice-patch.html"; + license = lib.licenses.free; + }; + }) {}; aggressive-indent = callPackage ({ cl-lib ? null , elpaBuild , emacs @@ -163,10 +178,10 @@ elpaBuild { pname = "arbitools"; ename = "arbitools"; - version = "0.97"; + version = "0.977"; src = fetchurl { - url = "https://elpa.gnu.org/packages/arbitools-0.97.el"; - sha256 = "0fx1z4mw3v42xzixsj80xw56pg00bch04galkjbxbqzm25nl4aha"; + url = "https://elpa.gnu.org/packages/arbitools-0.977.el"; + sha256 = "0nvdy14lqvy2ca4vw2qlr2kg2vv4y4sr8sa7kqrpf8cg7k9q3mbv"; }; packageRequires = [ cl-lib ]; meta = { @@ -189,7 +204,7 @@ license = lib.licenses.free; }; }) {}; - async = callPackage ({ elpaBuild, fetchurl, lib }: + async = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, nadvice }: elpaBuild { pname = "async"; ename = "async"; @@ -198,22 +213,22 @@ url = "https://elpa.gnu.org/packages/async-1.9.2.tar"; sha256 = "17fnvrj7jww29sav6a6jpizclg4w2962m6h37akpii71gf0vrffw"; }; - packageRequires = []; + packageRequires = [ cl-lib nadvice ]; meta = { homepage = "https://elpa.gnu.org/packages/async.html"; 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; @@ -268,10 +283,10 @@ elpaBuild { pname = "avy"; ename = "avy"; - version = "0.4.0"; + version = "0.5.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/avy-0.4.0.tar"; - sha256 = "1vbp37ndv5930x120n0isxxxfs8d5wqlrbnxvp6h3ahbbv0zdcsn"; + url = "https://elpa.gnu.org/packages/avy-0.5.0.tar"; + sha256 = "1xfcml38qmrwdd0rkhwrvv2s7dbznwhk3vy9pjd6ljpg22wkb80d"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -309,6 +324,21 @@ license = lib.licenses.free; }; }) {}; + bnf-mode = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "bnf-mode"; + ename = "bnf-mode"; + version = "0.4.2"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/bnf-mode-0.4.2.tar"; + sha256 = "04wl563hxgjbhz6hhwvysdfvdni9fm7kahy5wxkyqxi1sy64gn7d"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/bnf-mode.html"; + license = lib.licenses.free; + }; + }) {}; brief = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "brief"; @@ -324,6 +354,25 @@ license = lib.licenses.free; }; }) {}; + buffer-expose = callPackage ({ cl-lib ? null + , elpaBuild + , emacs + , fetchurl + , lib }: + elpaBuild { + pname = "buffer-expose"; + ename = "buffer-expose"; + version = "0.4.3"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/buffer-expose-0.4.3.el"; + sha256 = "1blpvan31mvqhzal16sdn564jnfnn7xsfn8zb65ijndh23drljwd"; + }; + 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"; @@ -429,6 +478,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"; @@ -478,10 +542,10 @@ elpaBuild { pname = "company"; ename = "company"; - version = "0.9.9"; + version = "0.9.10"; src = fetchurl { - url = "https://elpa.gnu.org/packages/company-0.9.9.tar"; - sha256 = "1qinkz8gwgc27p3p3c9kddrrwx0jb4w0vgx7jq8fwpfj1n92m1rv"; + url = "https://elpa.gnu.org/packages/company-0.9.10.tar"; + sha256 = "1w6a11rzsx5iyxn76xarzbghm460j0ampqxlh4j12bswvbn7swnd"; }; packageRequires = [ emacs ]; meta = { @@ -512,10 +576,10 @@ elpaBuild { pname = "company-math"; ename = "company-math"; - version = "1.1"; + version = "1.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/company-math-1.1.tar"; - sha256 = "10yi5jmv7njcaansgy2aw7wm1j3acch1j9x6lfg9mxk0j21zvgwp"; + url = "https://elpa.gnu.org/packages/company-math-1.3.tar"; + sha256 = "0fc9ms0s9w81sxp3qcfva3n3d2qys0pj19pnm621a6v1xdsc7i1l"; }; packageRequires = [ company math-symbol-lists ]; meta = { @@ -557,21 +621,6 @@ license = lib.licenses.free; }; }) {}; - counsel-ebdb = callPackage ({ ebdb, elpaBuild, fetchurl, ivy, lib }: - elpaBuild { - pname = "counsel-ebdb"; - ename = "counsel-ebdb"; - version = "1"; - src = fetchurl { - url = "https://elpa.gnu.org/packages/counsel-ebdb-1.el"; - sha256 = "0p919gq871rxlrn6lpjbwws7h6i2gc9vgcxzj8bzgz8xk5hq9mis"; - }; - packageRequires = [ ebdb ivy ]; - meta = { - homepage = "https://elpa.gnu.org/packages/counsel-ebdb.html"; - license = lib.licenses.free; - }; - }) {}; crisp = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "crisp"; @@ -621,10 +670,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 = { @@ -664,24 +713,25 @@ }) {}; debbugs = callPackage ({ cl-lib ? null , elpaBuild + , emacs , fetchurl , lib , soap-client }: elpaBuild { pname = "debbugs"; ename = "debbugs"; - version = "0.16"; + version = "0.19"; src = fetchurl { - url = "https://elpa.gnu.org/packages/debbugs-0.16.tar"; - sha256 = "0y3bq803c7820h15g66d1648skxfhlfa2v6vincj6xk5ssp44s9p"; + url = "https://elpa.gnu.org/packages/debbugs-0.19.tar"; + sha256 = "0cpby8f088cqb5mpd756a2mb706x763k15cg2xdmmsxl415k3yw4"; }; - packageRequires = [ cl-lib soap-client ]; + packageRequires = [ cl-lib emacs soap-client ]; meta = { homepage = "https://elpa.gnu.org/packages/debbugs.html"; license = lib.licenses.free; }; }) {}; - delight = callPackage ({ elpaBuild, fetchurl, lib }: + delight = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, nadvice }: elpaBuild { pname = "delight"; ename = "delight"; @@ -690,7 +740,7 @@ url = "https://elpa.gnu.org/packages/delight-1.5.el"; sha256 = "0kzlvzwmn6zj0874086q2xw0pclyi7wlkq48zh2lkd2796xm8vw7"; }; - packageRequires = []; + packageRequires = [ cl-lib nadvice ]; meta = { homepage = "https://elpa.gnu.org/packages/delight.html"; license = lib.licenses.free; @@ -715,10 +765,10 @@ elpaBuild { pname = "diff-hl"; ename = "diff-hl"; - version = "1.8.5"; + version = "1.8.7"; src = fetchurl { - url = "https://elpa.gnu.org/packages/diff-hl-1.8.5.tar"; - sha256 = "1vxc7z7c2qs0mx7l5sa4sybi5qbzv0s79flj74p1ynw8dl3qxg3d"; + url = "https://elpa.gnu.org/packages/diff-hl-1.8.7.tar"; + sha256 = "1qcwicflvm6dxcflnlg891hyzwp2q79fdkdbdwp1440a0j09riam"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -745,10 +795,10 @@ elpaBuild { pname = "dired-du"; ename = "dired-du"; - version = "0.5.1"; + version = "0.5.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/dired-du-0.5.1.tar"; - sha256 = "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"; + url = "https://elpa.gnu.org/packages/dired-du-0.5.2.tar"; + sha256 = "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -756,6 +806,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.3"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/disk-usage-1.3.3.el"; + sha256 = "0h1jwznd41gi0vg830ilfgm01q05zknikzahwasm9cizwm2wyizj"; + }; + 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"; @@ -775,10 +855,10 @@ elpaBuild { pname = "djvu"; ename = "djvu"; - version = "1.0.1"; + version = "1.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/djvu-1.0.1.el"; - sha256 = "1am4cm9csc5df3mbdby7j197j8yxv0x0maf6kfmn2ww1iwcyv8x6"; + url = "https://elpa.gnu.org/packages/djvu-1.1.el"; + sha256 = "0njgyx09q225hliacsnjk8wallg5i6xkz6bj501pb05nwqfbvfk7"; }; packageRequires = []; meta = { @@ -835,10 +915,10 @@ elpaBuild { pname = "ebdb"; ename = "ebdb"; - version = "0.6.2"; + version = "0.6.11"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ebdb-0.6.2.tar"; - sha256 = "1b37962mvm80vk5sdk9kfvvxsxn83z5z6zvm20m9997ggl5dv4dz"; + url = "https://elpa.gnu.org/packages/ebdb-0.6.11.tar"; + sha256 = "1ljcp4vy8z5xbcrlf33xgi63a2px4fhx6928qhwr7sy7jwil2s6n"; }; packageRequires = [ cl-lib emacs seq ]; meta = { @@ -865,10 +945,10 @@ elpaBuild { pname = "ebdb-i18n-chn"; ename = "ebdb-i18n-chn"; - version = "1.2"; + version = "1.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ebdb-i18n-chn-1.2.el"; - sha256 = "1qgrlk625mhfd6n1mc0kqfzbisnb61kx3vrrl3bzlz4viq3kcc10"; + url = "https://elpa.gnu.org/packages/ebdb-i18n-chn-1.3.el"; + sha256 = "1w7xgagscyjxrw4xl8bz6wf7skvdvk5qdcp5p7kxl4r9nhjffj20"; }; packageRequires = [ ebdb pyim ]; meta = { @@ -891,6 +971,21 @@ license = lib.licenses.free; }; }) {}; + eev = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "eev"; + ename = "eev"; + version = "20190517"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/eev-20190517.tar"; + sha256 = "0hgjdax0kg2w7bf3idl6mw6m8j2wkh1253px42v2lbaxp6897m07"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/eev.html"; + license = lib.licenses.free; + }; + }) {}; eglot = callPackage ({ elpaBuild , emacs , fetchurl @@ -900,10 +995,10 @@ elpaBuild { pname = "eglot"; ename = "eglot"; - version = "1.3"; + version = "1.4"; src = fetchurl { - url = "https://elpa.gnu.org/packages/eglot-1.3.tar"; - sha256 = "0hndqabxvrq4ak5kx2xlds5pkayi2bfd1f1xk8aidzk5i70f7yry"; + url = "https://elpa.gnu.org/packages/eglot-1.4.tar"; + sha256 = "1f2p08ly17jcjyh8bif5zhmzhx3z5y9z20v6z24z939bqk8c1pdq"; }; packageRequires = [ emacs flymake jsonrpc ]; meta = { @@ -920,10 +1015,10 @@ elpaBuild { pname = "el-search"; ename = "el-search"; - version = "1.8.8"; + version = "1.12.6.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/el-search-1.8.8.tar"; - sha256 = "1yv91vzpxn29rr8rkrihcbf26pafnxj25j7g38rss9qigswjkpnk"; + url = "https://elpa.gnu.org/packages/el-search-1.12.6.1.tar"; + sha256 = "150f4rirg107hmzpv8ifa32k2mgf07smbf9z44ln5rh8n17xwqah"; }; packageRequires = [ cl-print emacs stream ]; meta = { @@ -1022,10 +1117,10 @@ elpaBuild { pname = "excorporate"; ename = "excorporate"; - version = "0.8.1"; + version = "0.8.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/excorporate-0.8.1.tar"; - sha256 = "1k89472x80wsn14y16km5bgynmmd2kbdfhylb3cc17jvdn1xr53y"; + url = "https://elpa.gnu.org/packages/excorporate-0.8.3.tar"; + sha256 = "04bsbiwgfbfd501qvwh0iwyk0xh442kjfj73b3876idwj3p8alr5"; }; packageRequires = [ emacs fsm nadvice soap-client url-http-ntlm ]; meta = { @@ -1037,10 +1132,10 @@ elpaBuild { pname = "exwm"; ename = "exwm"; - version = "0.21"; + version = "0.22.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/exwm-0.21.tar"; - sha256 = "07ng1pgsnc3isfsyzh2gfc7391p9il8lb5xqf1z6yqn20w7k6xzj"; + url = "https://elpa.gnu.org/packages/exwm-0.22.1.tar"; + sha256 = "1ggb8vgxxml8c5bvamv9jgz80gs6h9xirjgphq8gwkywwd5xyiq4"; }; packageRequires = [ xelb ]; meta = { @@ -1097,10 +1192,10 @@ elpaBuild { pname = "flymake"; ename = "flymake"; - version = "1.0.3"; + version = "1.0.8"; src = fetchurl { - url = "https://elpa.gnu.org/packages/flymake-1.0.3.el"; - sha256 = "1algny2zhcl4vc7kp5czcqvxzpgqfjnz2rnkv26r0ylxig3s98v7"; + url = "https://elpa.gnu.org/packages/flymake-1.0.8.el"; + sha256 = "1hqxrqb227v4ncjjqx8im3c4mhg8w5yjbz9hpfcm5x8xnr2yd6bp"; }; packageRequires = [ emacs ]; meta = { @@ -1112,10 +1207,10 @@ elpaBuild { pname = "fountain-mode"; ename = "fountain-mode"; - version = "2.6.1"; + version = "2.7.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/fountain-mode-2.6.1.el"; - sha256 = "0p0h28cmryhsgrp2ghk28i1xkfz4gvdwaa38galn4jksn9dh0dyb"; + url = "https://elpa.gnu.org/packages/fountain-mode-2.7.3.el"; + sha256 = "1sz3qp3y52d05jd006zc99r4ryignpa2jgfk72rw3zfqmikzv15j"; }; packageRequires = [ emacs ]; meta = { @@ -1138,6 +1233,21 @@ license = lib.licenses.free; }; }) {}; + frog-menu = callPackage ({ avy, elpaBuild, emacs, fetchurl, lib, posframe }: + elpaBuild { + pname = "frog-menu"; + ename = "frog-menu"; + version = "0.2.10"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/frog-menu-0.2.10.el"; + sha256 = "050qikvgh9v7kgvhznjsfrpyhs7iq1x63bryqdkrwlf668yhzi1m"; + }; + 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"; @@ -1172,10 +1282,10 @@ elpaBuild { pname = "gited"; ename = "gited"; - version = "0.5.3"; + version = "0.5.4"; src = fetchurl { - url = "https://elpa.gnu.org/packages/gited-0.5.3.tar"; - sha256 = "1bayfclczdzrmay8swszs8lliz5p4nnmjzzz2gh68rc16isjgh2z"; + url = "https://elpa.gnu.org/packages/gited-0.5.4.tar"; + sha256 = "07ckknggkqd733bnps21r46bacgyhd0v9wc0spid22hn0dnrfp12"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -1228,6 +1338,23 @@ license = lib.licenses.free; }; }) {}; + gnu-elpa-keyring-update = callPackage ({ elpaBuild + , fetchurl + , lib }: + elpaBuild { + pname = "gnu-elpa-keyring-update"; + ename = "gnu-elpa-keyring-update"; + version = "2019.3"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/gnu-elpa-keyring-update-2019.3.tar"; + sha256 = "1zw65kag25abimg088m4h8vj2nd4y5nc4qal6fsda0dldckfv1w0"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/gnu-elpa-keyring-update.html"; + license = lib.licenses.free; + }; + }) {}; gnugo = callPackage ({ ascii-art-to-unicode , cl-lib ? null , elpaBuild @@ -1252,10 +1379,10 @@ elpaBuild { pname = "gnus-mock"; ename = "gnus-mock"; - version = "0.4.0"; + version = "0.4.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/gnus-mock-0.4.0.tar"; - sha256 = "058bd4f8za9bxayrd2j5b05qvk8lxxm8mmfwxb73d7k15z3z3l3s"; + url = "https://elpa.gnu.org/packages/gnus-mock-0.4.2.tar"; + sha256 = "04ddmdm2hykgr2y9g2yzmjp3fszhaywwnxhiy608cpvqdjwlwhn7"; }; packageRequires = []; meta = { @@ -1278,6 +1405,41 @@ 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 ({ cl-lib ? null + , elpaBuild + , emacs + , fetchurl + , lib + , nadvice }: + 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 = [ cl-lib emacs nadvice ]; + meta = { + homepage = "https://elpa.gnu.org/packages/guess-language.html"; + license = lib.licenses.free; + }; + }) {}; heap = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "heap"; @@ -1293,21 +1455,6 @@ license = lib.licenses.free; }; }) {}; - helm-ebdb = callPackage ({ ebdb, elpaBuild, fetchurl, helm, lib }: - elpaBuild { - pname = "helm-ebdb"; - ename = "helm-ebdb"; - version = "1"; - src = fetchurl { - url = "https://elpa.gnu.org/packages/helm-ebdb-1.el"; - sha256 = "17gpna0hywxnhfwc9zsm2r35mskyfi416qqmmdba26r4zmpb9r63"; - }; - packageRequires = [ ebdb helm ]; - meta = { - homepage = "https://elpa.gnu.org/packages/helm-ebdb.html"; - license = lib.licenses.free; - }; - }) {}; highlight-escape-sequences = callPackage ({ elpaBuild , fetchurl , lib }: @@ -1374,10 +1521,10 @@ elpaBuild { pname = "hyperbole"; ename = "hyperbole"; - version = "7.0.2"; + version = "7.0.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/hyperbole-7.0.2.tar"; - sha256 = "1hgwa740941a9s5wf1cqf76h3af8qbiiw9sc76biz6m3vx0hy1zs"; + url = "https://elpa.gnu.org/packages/hyperbole-7.0.3.tar"; + sha256 = "1mvplaxfjji00gg8rkhidfsdl8knwi6c0ai149zm4djsfaww3ikh"; }; packageRequires = [ emacs ]; meta = { @@ -1419,10 +1566,10 @@ elpaBuild { pname = "ivy"; ename = "ivy"; - version = "0.10.0"; + version = "0.12.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ivy-0.10.0.tar"; - sha256 = "01m58inpd8jbfvzqsrwigzjfld9a66nf36cbya26dmdy7vwdm8xm"; + url = "https://elpa.gnu.org/packages/ivy-0.12.0.tar"; + sha256 = "14q9kh48iabrnhwcmhlvgk7sg4a0j5c3zjp0yzj1ijrz5zbdhxxz"; }; packageRequires = [ emacs ]; meta = { @@ -1430,14 +1577,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 = { @@ -1464,10 +1626,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 = { @@ -1554,10 +1716,10 @@ elpaBuild { pname = "let-alist"; ename = "let-alist"; - version = "1.0.5"; + version = "1.0.6"; src = fetchurl { - url = "https://elpa.gnu.org/packages/let-alist-1.0.5.el"; - sha256 = "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"; + url = "https://elpa.gnu.org/packages/let-alist-1.0.6.el"; + sha256 = "0szj7vnjzz4zci5fvz7xqgcpi4pzdyyf4qi2s8xar2hi7v3yaawr"; }; packageRequires = [ emacs ]; meta = { @@ -1614,10 +1776,10 @@ elpaBuild { pname = "load-relative"; ename = "load-relative"; - version = "1.3"; + version = "1.3.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/load-relative-1.3.el"; - sha256 = "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"; + url = "https://elpa.gnu.org/packages/load-relative-1.3.1.el"; + sha256 = "1m37scr82lqqy954fchjxrmdh4lngrl4d1yzxhp3yfjhsydizhrj"; }; packageRequires = []; meta = { @@ -1655,6 +1817,21 @@ 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"; @@ -1674,10 +1851,10 @@ elpaBuild { pname = "math-symbol-lists"; ename = "math-symbol-lists"; - version = "1.1"; + version = "1.2.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/math-symbol-lists-1.1.tar"; - sha256 = "06klvnqipz0n9slw72fxmhrydrw6bi9fs9vnn8hrja8gsqf8inlz"; + url = "https://elpa.gnu.org/packages/math-symbol-lists-1.2.1.el"; + sha256 = "015q44qg9snrpz04syz89f9f79pzg5h7w88nh84p38klynkx2f86"; }; packageRequires = []; meta = { @@ -1893,10 +2070,10 @@ elpaBuild { pname = "nhexl-mode"; ename = "nhexl-mode"; - version = "1.2"; + version = "1.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/nhexl-mode-1.2.el"; - sha256 = "031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"; + url = "https://elpa.gnu.org/packages/nhexl-mode-1.3.el"; + sha256 = "1fcy4ybr12dvswmzaqkv4798snb1x1y7ldxwrsgjv5sx7bb5j60z"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -1908,10 +2085,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 = { @@ -1979,6 +2156,36 @@ 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; + }; + }) {}; + olivetti = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "olivetti"; + ename = "olivetti"; + version = "1.7.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/olivetti-1.7.1.el"; + sha256 = "1bk41bqri0ycpab46c7a6i5k3js1pm5k6d76y91mp3l2izy2bxwj"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/olivetti.html"; + license = lib.licenses.free; + }; + }) {}; omn-mode = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "omn-mode"; @@ -1998,10 +2205,10 @@ elpaBuild { pname = "on-screen"; ename = "on-screen"; - version = "1.3.2"; + version = "1.3.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/on-screen-1.3.2.el"; - sha256 = "15d18mjgv1pnwl6kf3pr5w64q1322p1l1qlfvnckglwmzy5sl2qv"; + url = "https://elpa.gnu.org/packages/on-screen-1.3.3.el"; + sha256 = "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7"; }; packageRequires = [ cl-lib ]; meta = { @@ -2013,10 +2220,10 @@ elpaBuild { pname = "org"; ename = "org"; - version = "9.2"; + version = "9.2.5"; src = fetchurl { - url = "https://elpa.gnu.org/packages/org-9.2.tar"; - sha256 = "14ydwh2r360fpi6v2g9rgf0zazy2ddq1pcdxvzn73h65glnnclz9"; + url = "https://elpa.gnu.org/packages/org-9.2.5.tar"; + sha256 = "1pid1sykgz83i4ry5n8f270finag6sm7ckqxn5lkikyya43wlzx1"; }; packageRequires = []; meta = { @@ -2028,10 +2235,10 @@ elpaBuild { pname = "org-edna"; ename = "org-edna"; - version = "1.0.1"; + version = "1.0.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/org-edna-1.0.1.tar"; - sha256 = "0xzyzx3pq1q6d66qcqx38pgxzn160y9yrzpy0ka8ap5xsm7ngn7m"; + url = "https://elpa.gnu.org/packages/org-edna-1.0.2.tar"; + sha256 = "005pmnqr41s2w72gahq9bf4l5kw601i19ypiqfnb8aq0f4acjr3d"; }; packageRequires = [ emacs org seq ]; meta = { @@ -2129,6 +2336,66 @@ license = lib.licenses.free; }; }) {}; + path-iterator = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "path-iterator"; + ename = "path-iterator"; + version = "1.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/path-iterator-1.0.tar"; + sha256 = "0kgl7rhv9x23jyr6ahfy6ql447zpz9fnmfwldkpn69g7jdx6a3cc"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/path-iterator.html"; + 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; + }; + }) {}; + persist = callPackage ({ elpaBuild, fetchurl, lib }: + elpaBuild { + pname = "persist"; + ename = "persist"; + version = "0.4"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/persist-0.4.tar"; + sha256 = "0gpxy41qawzss2526j9a7lys60vqma1lvamn4bfabwza7gfhac0q"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/persist.html"; + license = lib.licenses.free; + }; + }) {}; + phps-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "phps-mode"; + ename = "phps-mode"; + version = "0.2.8"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/phps-mode-0.2.8.tar"; + sha256 = "16sdqh93d2i9dxjibbhx4afakn150qc6xy2ifd83kx85c67y95kl"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/phps-mode.html"; + license = lib.licenses.free; + }; + }) {}; pinentry = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "pinentry"; @@ -2163,10 +2430,10 @@ elpaBuild { pname = "posframe"; ename = "posframe"; - version = "0.4.2"; + version = "0.5.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/posframe-0.4.2.el"; - sha256 = "1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds"; + url = "https://elpa.gnu.org/packages/posframe-0.5.0.el"; + sha256 = "1fjnpwg1fj9j54nymh802vd4viggrg3qnqwh52281n7zv6xfv0qb"; }; packageRequires = [ emacs ]; meta = { @@ -2294,8 +2561,7 @@ license = lib.licenses.free; }; }) {}; - realgud = callPackage ({ cl-lib ? null - , elpaBuild + realgud = callPackage ({ elpaBuild , emacs , fetchurl , lib @@ -2305,23 +2571,141 @@ elpaBuild { pname = "realgud"; ename = "realgud"; - version = "1.4.5"; + version = "1.5.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/realgud-1.4.5.tar"; - sha256 = "108wgxg7fb4byaiasgvbxv2hq7b00biq9f0mh9hy6vw4160y5w24"; + url = "https://elpa.gnu.org/packages/realgud-1.5.1.tar"; + sha256 = "01155sydricdvxy3djk64w2zc6x0q4j669bvz8m8rd766wsmida8"; }; - packageRequires = [ - cl-lib - emacs - load-relative - loc-changes - test-simple - ]; + packageRequires = [ emacs load-relative loc-changes test-simple ]; meta = { homepage = "https://elpa.gnu.org/packages/realgud.html"; license = lib.licenses.free; }; }) {}; + realgud-ipdb = callPackage ({ elpaBuild + , emacs + , fetchurl + , lib + , load-relative + , realgud }: + elpaBuild { + pname = "realgud-ipdb"; + ename = "realgud-ipdb"; + version = "1.0.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/realgud-ipdb-1.0.0.tar"; + sha256 = "1ljh2igm6na92jdvnn4f51019v3klc6k03nayxf6qxzaxwq2w254"; + }; + packageRequires = [ emacs load-relative realgud ]; + meta = { + homepage = "https://elpa.gnu.org/packages/realgud-ipdb.html"; + license = lib.licenses.free; + }; + }) {}; + realgud-jdb = callPackage ({ cl-lib ? null + , elpaBuild + , emacs + , fetchurl + , lib + , load-relative + , realgud }: + elpaBuild { + pname = "realgud-jdb"; + ename = "realgud-jdb"; + version = "1.0.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/realgud-jdb-1.0.0.tar"; + sha256 = "081lqsxbg6cxv8hz8s0z2gbdif9drp5b0crbixmwf164i4h8l4gc"; + }; + packageRequires = [ cl-lib emacs load-relative realgud ]; + meta = { + homepage = "https://elpa.gnu.org/packages/realgud-jdb.html"; + license = lib.licenses.free; + }; + }) {}; + realgud-lldb = callPackage ({ elpaBuild + , emacs + , fetchurl + , lib + , load-relative + , realgud }: + elpaBuild { + pname = "realgud-lldb"; + ename = "realgud-lldb"; + version = "1.0.2"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/realgud-lldb-1.0.2.tar"; + sha256 = "0nqbvknhvw5lwf4i44q8wvh4y4s9mvs5kn7lskg3xicl464ag1d0"; + }; + packageRequires = [ emacs load-relative realgud ]; + meta = { + homepage = "https://elpa.gnu.org/packages/realgud-lldb.html"; + license = lib.licenses.free; + }; + }) {}; + realgud-node-debug = callPackage ({ cl-lib ? null + , elpaBuild + , emacs + , fetchurl + , lib + , load-relative + , realgud }: + elpaBuild { + pname = "realgud-node-debug"; + ename = "realgud-node-debug"; + version = "1.0.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/realgud-node-debug-1.0.0.tar"; + sha256 = "1wyh6apy289a3qa1bnwv68x8pjkpqy4m18ygqnr4x759hjkq3nir"; + }; + packageRequires = [ cl-lib emacs load-relative realgud ]; + meta = { + homepage = "https://elpa.gnu.org/packages/realgud-node-debug.html"; + license = lib.licenses.free; + }; + }) {}; + realgud-node-inspect = callPackage ({ cl-lib ? null + , elpaBuild + , emacs + , fetchurl + , lib + , load-relative + , realgud }: + elpaBuild { + pname = "realgud-node-inspect"; + ename = "realgud-node-inspect"; + version = "1.0.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/realgud-node-inspect-1.0.0.tar"; + sha256 = "16cx0rq4zx5k0y75j044dbqzrzs1df3r95rissmhfgsi5m2qf1h2"; + }; + packageRequires = [ cl-lib emacs load-relative realgud ]; + meta = { + homepage = "https://elpa.gnu.org/packages/realgud-node-inspect.html"; + license = lib.licenses.free; + }; + }) {}; + realgud-trepan-ni = callPackage ({ cl-lib ? null + , elpaBuild + , emacs + , fetchurl + , lib + , load-relative + , realgud }: + elpaBuild { + pname = "realgud-trepan-ni"; + ename = "realgud-trepan-ni"; + version = "1.0.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/realgud-trepan-ni-1.0.1.tar"; + sha256 = "0vakfzlk4pgqi66mdvwqhzgdsnks6clgnj7cjjbi80v3ipkfdnak"; + }; + packageRequires = [ cl-lib emacs load-relative realgud ]; + meta = { + homepage = "https://elpa.gnu.org/packages/realgud-trepan-ni.html"; + license = lib.licenses.free; + }; + }) {}; register-list = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "register-list"; @@ -2337,6 +2721,21 @@ license = lib.licenses.free; }; }) {}; + relint = callPackage ({ elpaBuild, fetchurl, lib, xr }: + elpaBuild { + pname = "relint"; + ename = "relint"; + version = "1.10"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/relint-1.10.el"; + sha256 = "1l0lh4pkksw7brmhhbaikwzs4zkgd2962ks1zy7m262dvkhxjfv8"; + }; + 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"; @@ -2433,6 +2832,21 @@ license = lib.licenses.free; }; }) {}; + shelisp = callPackage ({ elpaBuild, fetchurl, lib }: + elpaBuild { + pname = "shelisp"; + ename = "shelisp"; + version = "0.9.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/shelisp-0.9.1.el"; + sha256 = "15z8rpx8nhx53q77z5fqcpww255di80lb5mm28mnn2myalrr8b59"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/shelisp.html"; + license = lib.licenses.free; + }; + }) {}; shen-mode = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "shen-mode"; @@ -2463,6 +2877,21 @@ license = lib.licenses.free; }; }) {}; + smalltalk-mode = callPackage ({ elpaBuild, fetchurl, lib }: + elpaBuild { + pname = "smalltalk-mode"; + ename = "smalltalk-mode"; + version = "3.2.92"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/smalltalk-mode-3.2.92.tar"; + sha256 = "0zlp1pk88m1gybhnvcmm0bhrj6zvnjzhc26r1i4d56pyh6vwivfj"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/smalltalk-mode.html"; + license = lib.licenses.free; + }; + }) {}; smart-yank = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "smart-yank"; @@ -2508,16 +2937,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; @@ -2557,10 +2986,10 @@ elpaBuild { pname = "sql-indent"; ename = "sql-indent"; - version = "1.3"; + version = "1.4"; src = fetchurl { - url = "https://elpa.gnu.org/packages/sql-indent-1.3.tar"; - sha256 = "0zira8my1q975bad2h76bz4yddjzf0dskvy6x865np86rmzd0c9w"; + url = "https://elpa.gnu.org/packages/sql-indent-1.4.tar"; + sha256 = "1nilxfm30nb2la1463729rgbgbma7igkf0z325k8cbapqanb1wgl"; }; packageRequires = [ cl-lib ]; meta = { @@ -2572,10 +3001,10 @@ elpaBuild { pname = "ssh-deploy"; ename = "ssh-deploy"; - version = "3.0"; + version = "3.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ssh-deploy-3.0.tar"; - sha256 = "0lv9qwm1dhcd2l2mnhjfpqsz6xx0wabjg5j5sm3425fjsaqws6m7"; + url = "https://elpa.gnu.org/packages/ssh-deploy-3.1.tar"; + sha256 = "09m1ljp68rribypls5mzffmdv86jkg9wq4bdb7d1qkdjyr3f2hgn"; }; packageRequires = [ emacs ]; meta = { @@ -2602,10 +3031,10 @@ elpaBuild { pname = "svg"; ename = "svg"; - version = "0.2"; + version = "1.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/svg-0.2.el"; - sha256 = "14yfi27v3zdzh1chcjiq4l63iwh0vd99wv1z4w7agr33540jybc5"; + url = "https://elpa.gnu.org/packages/svg-1.0.el"; + sha256 = "1hh0x7sz2rqb7zdhcm2q9knr8nnwqrsbz1zfp29k8l1318li9f62"; }; packageRequires = [ emacs ]; meta = { @@ -2632,10 +3061,10 @@ elpaBuild { pname = "system-packages"; ename = "system-packages"; - version = "1.0.10"; + version = "1.0.11"; src = fetchurl { - url = "https://elpa.gnu.org/packages/system-packages-1.0.10.tar"; - sha256 = "1vwf2j0fxrsqmrgc7x5nkkg0vlhwgxppc4w7kb5is6dgrssskpb5"; + url = "https://elpa.gnu.org/packages/system-packages-1.0.11.tar"; + sha256 = "0xf2q5bslxpw0wycgi2k983lnfpw182rgdzq0f99f64kb7ifns9y"; }; packageRequires = [ emacs ]; meta = { @@ -2718,6 +3147,21 @@ license = lib.licenses.free; }; }) {}; + tramp = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "tramp"; + ename = "tramp"; + version = "2.4.2.2"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/tramp-2.4.2.2.tar"; + sha256 = "0bjfnxxyn8xgw10ybnjrza2gfwqifa3q7rh0bp6pidlhg45718p8"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/tramp.html"; + license = lib.licenses.free; + }; + }) {}; tramp-theme = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "tramp-theme"; @@ -2793,6 +3237,21 @@ license = lib.licenses.free; }; }) {}; + uniquify-files = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "uniquify-files"; + ename = "uniquify-files"; + version = "1.0.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/uniquify-files-1.0.1.tar"; + sha256 = "0c4lf25503z71wz9f0v6ag5lmqfxz94lmq65xvzvhmqvkxvsgpm5"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/uniquify-files.html"; + license = lib.licenses.free; + }; + }) {}; url-http-ntlm = callPackage ({ cl-lib ? null , elpaBuild , fetchurl @@ -2862,6 +3321,23 @@ license = lib.licenses.free; }; }) {}; + verilog-mode = callPackage ({ elpaBuild + , fetchurl + , lib }: + elpaBuild { + pname = "verilog-mode"; + ename = "verilog-mode"; + version = "2019.6.21.103209889"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/verilog-mode-2019.6.21.103209889.el"; + sha256 = "0hlcp2jhm30bzx6iabdb31aqv0dmmim30g9z5kqb0hl1bd1dnm9m"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/verilog-mode.html"; + license = lib.licenses.free; + }; + }) {}; vigenere = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "vigenere"; @@ -2877,6 +3353,24 @@ 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"; @@ -2926,10 +3420,10 @@ elpaBuild { pname = "wcheck-mode"; ename = "wcheck-mode"; - version = "2016.1.30"; + version = "2019.6.17"; src = fetchurl { - url = "https://elpa.gnu.org/packages/wcheck-mode-2016.1.30.el"; - sha256 = "0hzrxnslfl04h083njy7wp4hhgrqpyz0cnm73v348kr1i4wx9xjq"; + url = "https://elpa.gnu.org/packages/wcheck-mode-2019.6.17.el"; + sha256 = "0579a3p9swq0j0fca9s885kzv69y9lhhnqa6m4pzdgrr6pfrirqv"; }; packageRequires = []; meta = { @@ -2967,14 +3461,29 @@ 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"; ename = "websocket"; - version = "1.8"; + version = "1.11.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/websocket-1.8.tar"; - sha256 = "0dcxmnnm8z7cvsc7nkb822a1g6w03klp7cijjnfq0pz84p3w9cd9"; + url = "https://elpa.gnu.org/packages/websocket-1.11.1.tar"; + sha256 = "09s8qyi012djmm3vrj1qg1zqqy0h0cbcfzfkhybvqi4amy4jgliw"; }; packageRequires = [ cl-lib ]; meta = { @@ -3012,21 +3521,41 @@ license = lib.licenses.free; }; }) {}; - wisi = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, seq }: + wisi = callPackage ({ elpaBuild, emacs, fetchurl, lib, seq }: elpaBuild { pname = "wisi"; ename = "wisi"; - version = "2.0.1"; + version = "2.2.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/wisi-2.0.1.tar"; - sha256 = "1h0g6y33jrafcabgyi7j700hpv4p56v84c2mlqb334k1g9rq3709"; + url = "https://elpa.gnu.org/packages/wisi-2.2.1.tar"; + sha256 = "1qvhx8bpms7gri7y6wniwqd6nmqxj4lip5l3sphbq2kjf4zq4qd4"; }; - packageRequires = [ cl-lib emacs seq ]; + packageRequires = [ emacs seq ]; meta = { homepage = "https://elpa.gnu.org/packages/wisi.html"; license = lib.licenses.free; }; }) {}; + wisitoken-grammar-mode = callPackage ({ elpaBuild + , emacs + , fetchurl + , lib + , mmm-mode + , wisi }: + elpaBuild { + pname = "wisitoken-grammar-mode"; + ename = "wisitoken-grammar-mode"; + version = "1.0.3"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/wisitoken-grammar-mode-1.0.3.tar"; + sha256 = "1vljnhi35vix30xch9mziczg56ss1r615yn2pgdcw8wa8sm14crw"; + }; + packageRequires = [ emacs mmm-mode wisi ]; + meta = { + homepage = "https://elpa.gnu.org/packages/wisitoken-grammar-mode.html"; + license = lib.licenses.free; + }; + }) {}; wpuzzle = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "wpuzzle"; @@ -3046,10 +3575,10 @@ elpaBuild { pname = "xclip"; ename = "xclip"; - version = "1.7"; + version = "1.9"; src = fetchurl { - url = "https://elpa.gnu.org/packages/xclip-1.7.el"; - sha256 = "0jpy3zzbyb16vqa9l6m45crzlypwvscvs76h8lci7kvp91kq954r"; + url = "https://elpa.gnu.org/packages/xclip-1.9.el"; + sha256 = "0xbs6fw0dfm5iynhdx62cwixzizjkrwrib6n0fjnsj31kajbkf3y"; }; packageRequires = []; meta = { @@ -3061,10 +3590,10 @@ elpaBuild { pname = "xelb"; ename = "xelb"; - version = "0.16"; + version = "0.17"; src = fetchurl { - url = "https://elpa.gnu.org/packages/xelb-0.16.tar"; - sha256 = "03wsr1jr7f7zfd80h864rd4makwh4widdnj1kjv2xyjwdgap9rl8"; + url = "https://elpa.gnu.org/packages/xelb-0.17.tar"; + sha256 = "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml"; }; packageRequires = [ cl-generic emacs ]; meta = { @@ -3087,6 +3616,21 @@ license = lib.licenses.free; }; }) {}; + xr = callPackage ({ elpaBuild, fetchurl, lib }: + elpaBuild { + pname = "xr"; + ename = "xr"; + version = "1.13"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/xr-1.13.tar"; + sha256 = "1km4x92pii8c4bcimks4xzhmwpypdf183z0zh7raj062jz4jb74r"; + }; + 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"; @@ -3124,10 +3668,10 @@ elpaBuild { pname = "zones"; ename = "zones"; - version = "2018.11.21"; + version = "2019.7.13"; src = fetchurl { - url = "https://elpa.gnu.org/packages/zones-2018.11.21.el"; - sha256 = "0s68mnynjd08gyga7xdnb0zy3irsxl1jryidpcrkzg821vfrk11i"; + url = "https://elpa.gnu.org/packages/zones-2019.7.13.el"; + sha256 = "0qp1ba2pkqx9d35g7z8hf8qs2k455krf2a92l4rka3ipsbnmq5k1"; }; packageRequires = []; meta = { diff --git a/pkgs/applications/editors/emacs-modes/elpa-packages.nix b/pkgs/applications/editors/emacs-modes/elpa-packages.nix index 26f4b791cc0..a6bea779eae 100644 --- a/pkgs/applications/editors/emacs-modes/elpa-packages.nix +++ b/pkgs/applications/editors/emacs-modes/elpa-packages.nix @@ -4,49 +4,46 @@ To update the list of packages from MELPA, -1. Clone https://github.com/ttuegel/emacs2nix. -2. Run `./elpa-packages.sh` from emacs2nix. -3. Copy the new `elpa-generated.nix` file into Nixpkgs. -4. Check for evaluation errors: `nix-instantiate ./. -A emacsPackagesNg.elpaPackages`. -5. `git add pkgs/applications/editors/emacs-modes/elpa-generated.nix && git commit -m "elpa-packages $(date -Idate)"` +1. Run `./update-elpa`. +2. Check for evaluation errors: `nix-instantiate ../../../.. -A emacsPackagesNg.elpaPackages`. +3. `git commit -m "elpa-packages $(date -Idate)" -- elpa-generated.nix` */ -{ fetchurl, lib, stdenv, texinfo }: +{ lib, stdenv, texinfo }: -self: +self: let - let + markBroken = pkg: pkg.override { + elpaBuild = args: self.elpaBuild (args // { + meta = (args.meta or {}) // { broken = true; }; + }); + }; - imported = import ./elpa-generated.nix { + elpaBuild = import ../../../build-support/emacs/elpa.nix { + inherit lib stdenv texinfo; + inherit (self) emacs; + }; + + generateElpa = lib.makeOverridable ({ + generated ? ./elpa-generated.nix + }: let + + imported = import generated { inherit (self) callPackage; }; super = removeAttrs imported [ "dash" ]; - elpaBuild = import ../../../build-support/emacs/elpa.nix { - inherit lib stdenv texinfo; - inherit (self) emacs; - }; - - markBroken = pkg: pkg.override { - elpaBuild = args: self.elpaBuild (args // { - meta = (args.meta or {}) // { broken = true; }; - }); - }; - overrides = { - # upstream issue: missing footer - ebdb-i18n-chn = markBroken super.ebdb-i18n-chn; - el-search = markBroken super.el-search; # requires emacs-25 - iterators = markBroken super.iterators; # requires emacs-25 - midi-kbd = markBroken super.midi-kbd; # requires emacs-25 rcirc-menu = markBroken super.rcirc-menu; # Missing file header - stream = markBroken super.stream; # requires emacs-25 cl-lib = null; # builtin tle = null; # builtin + advice = null; # builtin }; elpaPackages = super // overrides; - in elpaPackages // { inherit elpaBuild elpaPackages; } + in elpaPackages // { inherit elpaBuild; }); + +in generateElpa { } diff --git a/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix b/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix deleted file mode 100644 index 66ac9a3d77e..00000000000 --- a/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ clangStdenv, fetchgit, llvmPackages }: - -clangStdenv.mkDerivation { - name = "emacs-clang-complete-async-20130218"; - src = fetchgit { - url = "git://github.com/Golevka/emacs-clang-complete-async.git"; - rev = "f01488971ec8b5752780d130fb84de0c16a46f31"; - sha256 = "01smjinrvx0w5z847a43fh2hyr6rrq1kaglfakbr6dcr313w89x9"; - }; - - buildInputs = [ llvmPackages.llvm ]; - - patches = [ ./fix-build.patch ]; - - CFLAGS = "-I${llvmPackages.clang}/include"; - LDFLAGS = "-L${llvmPackages.clang}/lib"; - - installPhase = '' - mkdir -p $out/bin - mkdir -p $out/share/emacs/site-lisp - install -m 755 clang-complete $out/bin - install -m 644 auto-complete-clang-async.el $out/share/emacs/site-lisp - ''; - - meta = { - homepage = https://github.com/Golevka/emacs-clang-complete-async; - description = "An emacs plugin to complete C and C++ code using libclang"; - license = clangStdenv.lib.licenses.gpl3Plus; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/fix-build.patch b/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/fix-build.patch deleted file mode 100644 index 89de339a436..00000000000 --- a/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/fix-build.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- old/src/completion.h 2014-11-16 16:58:16.625150124 +0100 -+++ new/src/completion.h 2014-11-16 16:58:28.020207508 +0100 -@@ -3,6 +3,7 @@ - - - #include -+#include - - - typedef struct __completion_Session_struct diff --git a/pkgs/applications/editors/emacs-modes/emacs-libvterm/default.nix b/pkgs/applications/editors/emacs-modes/emacs-libvterm/default.nix deleted file mode 100644 index 8d39c185aca..00000000000 --- a/pkgs/applications/editors/emacs-modes/emacs-libvterm/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake, emacs, libvterm-neovim }: - -let - emacsSources = stdenv.mkDerivation { - name = emacs.name + "-sources"; - src = emacs.src; - - configurePhase = ":"; - dontBuild = true; - doCheck = false; - fixupPhase = ":"; - - installPhase = '' - mkdir -p $out - cp -a * $out - ''; - - }; - -in stdenv.mkDerivation rec { - name = "emacs-libvterm-${version}"; - version = "unstable-2018-11-16"; - - src = fetchFromGitHub { - owner = "akermu"; - repo = "emacs-libvterm"; - rev = "8be9316156be75a685c0636258b2fec2daaf5ab5"; - sha256 = "059js4aa7xgqcpaicgy4gz683hppa1iyp1r98mnms5hd31a304k8"; - }; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ emacs libvterm-neovim ]; - - cmakeFlags = [ "-DEMACS_SOURCE=${emacsSources}" ]; - - installPhase = '' - install -d $out/share/emacs/site-lisp - install ../*.el $out/share/emacs/site-lisp - install ./*.so $out/share/emacs/site-lisp - ''; -} diff --git a/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix b/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix deleted file mode 100644 index 8e1d7092e6a..00000000000 --- a/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ fetchcvs, stdenv, emacs, w3m, imagemagick, texinfo, autoreconfHook }: - -let date = "2013-03-21"; in -stdenv.mkDerivation rec { - name = "emacs-w3m-cvs${date}"; - - # Get the source from CVS because the previous release (1.4.4) is old and - # doesn't work with GNU Emacs 23. - src = fetchcvs { - inherit date; - cvsRoot = ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot"; - module = "emacs-w3m"; - sha256 = "1lmcj8rf83w13q8q68hh7sa1abc2m6j2zmfska92xdp7hslhdgc5"; - }; - - nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ emacs w3m texinfo ]; - - # XXX: Should we do the same for xpdf/evince, gv, gs, etc.? - patchPhase = '' - sed -i "w3m.el" \ - -e 's|defcustom w3m-command nil|defcustom w3m-command "${w3m}/bin/w3m"|g ; - s|(w3m-which-command "display")|"${imagemagick.out}/bin/display"|g' - - sed -i "w3m-image.el" \ - -e 's|(w3m-which-command "convert")|"${imagemagick.out}/bin/convert"|g ; - s|(w3m-which-command "identify")|"${imagemagick.out}/bin/identify"|g' - ''; - - configureFlags = [ - "--with-lispdir=$(out)/share/emacs/site-lisp" - "--with-icondir=$(out)/share/emacs/site-lisp/images/w3m" - ]; - - postInstall = '' - cd "$out/share/emacs/site-lisp" - for i in ChangeLog* - do - mv -v "$i" "w3m-$i" - done - ''; - - meta = { - description = "Emacs-w3m, a simple Emacs interface to the w3m web browser"; - - longDescription = '' - Emacs/W3 used to be known as the most popular WEB browser on Emacs, but - it worked so slowly that we wanted a simple and speedy alternative. - - w3m is a pager with WWW capability, developed by Akinori ITO. Although - it is a pager, it can be used as a text-mode WWW browser. Then we - developed a simple Emacs interface to w3m. - ''; - - license = stdenv.lib.licenses.gpl2Plus; - - homepage = http://emacs-w3m.namazu.org/; - - maintainers = [ ]; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/emacs2nix.nix b/pkgs/applications/editors/emacs-modes/emacs2nix.nix new file mode 100644 index 00000000000..4c1a0dd2312 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/emacs2nix.nix @@ -0,0 +1,23 @@ +let + pkgs = import ../../../.. { }; + + src = pkgs.fetchgit { + url = "https://github.com/ttuegel/emacs2nix.git"; + fetchSubmodules = true; + rev = "752fe1bd891425cb7a4a53cd7b98c194c1fe4518"; + sha256 = "0asfdswh8sbnapbqhbz539zzxmv72f1iviha95iys34sgnd5k1nk"; + }; + +in pkgs.mkShell { + + buildInputs = [ + pkgs.bash + ]; + + EMACS2NIX = "${src}"; + + shellHook = '' + export PATH=$PATH:${src} + ''; + +} diff --git a/pkgs/applications/editors/emacs-modes/emms/default.nix b/pkgs/applications/editors/emacs-modes/emms/default.nix deleted file mode 100644 index f966989b5a3..00000000000 --- a/pkgs/applications/editors/emacs-modes/emms/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ stdenv, fetchurl, emacs, texinfo -, mpg321, vorbis-tools, taglib, mp3info, alsaUtils }: - -# XXX: EMMS also supports Xine, MPlayer, Jack, etc. - -stdenv.mkDerivation rec { - name = "emms-3.0"; - - src = fetchurl { - # These guys don't use ftp.gnu.org... - url = "https://www.gnu.org/software/emms/download/${name}.tar.gz"; - sha256 = "151mfx97x15lfpd1qc2sqbvhwhvg46axgh15qyqmdy42vh906xav"; - }; - - buildInputs = [ emacs texinfo ]; - - configurePhase = '' - sed -i "Makefile" -e "s|PREFIX *=.*\$|PREFIX = $out|g ; - s|/usr/sbin/install-info|install-info|g ; - s|/usr/include/taglib|${taglib}/include/taglib|g ; - s|/usr/lib|${taglib}/lib|g ; - s|^all:\(.*\)\$|all:\1 emms-print-metadata|g" - mkdir -p "$out/share/man/man1" - - sed -i "emms-player-mpg321-remote.el" \ - -e 's|emms-player-mpg321-remote-command[[:blank:]]\+"mpg321"|emms-player-mpg321-remote-command "${mpg321}/bin/mpg321"|g' - sed -i "emms-player-simple.el" \ - -e 's|"ogg123"|"${vorbis-tools}/bin/ogg123"|g' - sed -i "emms-info-ogginfo.el" \ - -e 's|emms-info-ogginfo-program-name[[:blank:]]\+"ogginfo"|emms-info-ogginfo-program-name "${vorbis-tools}/bin/ogginfo"|g' - sed -i "emms-info-libtag.el" \ - -e "s|\"emms-print-metadata\"|\"$out/bin/emms-print-metadata\"|g" - sed -i "emms-volume-amixer.el" \ - -e 's|"amixer"|"${alsaUtils}/bin/amixer"|g' - - # Use the libtag info back-end for MP3s since we're building it. - sed -i "emms-setup.el" \ - -e 's|emms-info-mp3info|emms-info-libtag|g' - - # But use mp3info for the tag editor. - sed -i "emms-info-mp3info.el" \ - -e 's|emms-info-mp3info-program-name[[:blank:]]\+"mp3info"|emms-info-mp3info-program-name "${mp3info}/bin/mp3info"|g' - sed -i "emms-tag-editor.el" \ - -e 's|"mp3info"|"${mp3info}/bin/mp3info"|g' - ''; - - postInstall = '' - mkdir -p "$out/bin" && cp emms-print-metadata "$out/bin" - ''; - - meta = { - description = "GNU EMMS, The Emacs Multimedia System"; - - longDescription = '' - EMMS is the Emacs Multimedia System. It tries to be a clean and - small application to play multimedia files from Emacs using - external players. Many of it's ideas are derived from - MpthreePlayer, but it tries to be more general and cleaner. - - The fact that EMMS is based on external players makes it - powerful, because it supports all formats that those players - support, with no effort from your side. - ''; - - homepage = https://www.gnu.org/software/emms/; - - license = stdenv.lib.licenses.gpl3Plus; - - maintainers = [ ]; - platforms = stdenv.lib.platforms.unix; - broken = true; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/ensime/default.nix b/pkgs/applications/editors/emacs-modes/ensime/default.nix deleted file mode 100644 index d776103a662..00000000000 --- a/pkgs/applications/editors/emacs-modes/ensime/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ stdenv, fetchurl, emacs, unzip, autoComplete, dash, s, scalaMode2, sbtMode }: - -stdenv.mkDerivation { - name = "emacs-ensime-2014-09-04"; - - src = fetchurl { - url = "https://github.com/ensime/ensime-emacs/archive/d3820a3f362975f6e14b817988ec07bfef2b4dad.zip"; - sha256 = "0gwr0r92z2hh2x8g0hpxaar2vvfk1b91cp6v04gaasw0fvl5i7g5"; - }; - - buildInputs = [ emacs unzip ]; - propagatedUserEnvPkgs = [ autoComplete dash s scalaMode2 sbtMode ]; - - buildPhase = '' - emacs -L . -L ${autoComplete}/share/emacs/site-lisp --batch -f batch-byte-compile *.el - ''; - - installPhase = '' - install -d $out/share/emacs/site-lisp - install *.el *.elc $out/share/emacs/site-lisp - ''; -} diff --git a/pkgs/applications/editors/emacs-modes/erlang/default.nix b/pkgs/applications/editors/emacs-modes/erlang/default.nix deleted file mode 100644 index 463d7fc7e15..00000000000 --- a/pkgs/applications/editors/emacs-modes/erlang/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ stdenv, erlang }: - -stdenv.mkDerivation { - - name = "erlang-mode-${erlang.version}"; - - buildInputs = [ ]; - - inherit erlang; - - buildCommand = '' - mkdir -p "$out/share/emacs/site-lisp" - cp "$erlang/lib/erlang/lib/tools"*/emacs/*.el $out/share/emacs/site-lisp/ - ''; - - # emacs highlighting */ - - meta = with stdenv.lib; { - homepage = https://github.com/erlang/otp; - description = "Erlang mode for Emacs"; - license = licenses.asl20; - platforms = platforms.unix; - maintainers = [ maintainers.samuelrivas ]; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/ess/default.nix b/pkgs/applications/editors/emacs-modes/ess/default.nix deleted file mode 100644 index ce335a5d482..00000000000 --- a/pkgs/applications/editors/emacs-modes/ess/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ stdenv, fetchurl, emacs, texinfo }: - -stdenv.mkDerivation rec { - name = "ess-14.09"; - - src = fetchurl { - url = "http://ess.r-project.org/downloads/ess/${name}.tgz"; - sha256 = "0wa507jfmq3k7x0vigd2yzb4j2190ix4wnnpv7ql4bjy0vfvmwdn"; - }; - - buildInputs = [ emacs texinfo ]; - - configurePhase = "makeFlags=PREFIX=$out"; - - meta = { - description = "Emacs Speaks Statistics"; - homepage = http://ess.r-project.org/; - license = stdenv.lib.licenses.gpl2Plus; - hydraPlatforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix b/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix deleted file mode 100644 index eae338d241d..00000000000 --- a/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchurl, emacs }: - -stdenv.mkDerivation rec { - name = "flymake-cursor-0.1.5"; - - src = fetchurl { - url = "http://www.emacswiki.org/emacs/download/flymake-cursor.el"; - sha256 = "10cpzrd588ya52blghxss5zkn6x8hc7bx1h0qbcdlybbmkjgpkxr"; - }; - - phases = [ "buildPhase" "installPhase"]; - - buildInputs = [ emacs ]; - - buildPhase = '' - cp $src flymake-cursor.el - emacs --batch -f batch-byte-compile flymake-cursor.el - ''; - - installPhase = '' - install -d $out/share/emacs/site-lisp - install flymake-cursor.el flymake-cursor.elc $out/share/emacs/site-lisp - ''; - - meta = { - description = "Displays flymake error msg in minibuffer after delay"; - homepage = http://www.emacswiki.org/emacs/flymake-cursor.el; - license = stdenv.lib.licenses.publicDomain; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/gh/default.nix b/pkgs/applications/editors/emacs-modes/gh/default.nix deleted file mode 100644 index aa59eace2ae..00000000000 --- a/pkgs/applications/editors/emacs-modes/gh/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ stdenv, fetchgit, emacs, pcache, logito }: - -stdenv.mkDerivation rec { - name = "gh-0.5.3"; - - src = fetchgit { - url = "https://github.com/sigma/gh.el.git"; - rev = "ef03b63d063ec22f03af449aa955c98dfad7f80e"; - sha256 = "1pciq16vl5l4kvj08q4ib1jzk2bb2y1makcsyaw8k9jblqviw756"; - }; - - buildInputs = [ emacs ]; - propagatedUserEnvPkgs = [ pcache logito ]; - - patchPhase = '' - sed -i Makefile \ - -e "s|^ *EFLAGS *=|& -L ${pcache}/share/emacs/site-lisp -L ${logito}/share/emacs/site-lisp --eval '(setq user-emacs-directory \"./\")'|" \ - -e "s|/usr/local|$out|" \ - -e "s|/site-lisp/\$(PKGNAME)|/site-lisp|" - ''; - - buildPhase = "make lisp"; - - meta = { - description = "A (very early) GitHub client library for Emacs"; - homepage = https://github.com/sigma/gh.el; - license = stdenv.lib.licenses.gpl2Plus; - - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/gist/default.nix b/pkgs/applications/editors/emacs-modes/gist/default.nix deleted file mode 100644 index 08471247f08..00000000000 --- a/pkgs/applications/editors/emacs-modes/gist/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ stdenv, fetchgit, emacs, gh, pcache, logito }: - -stdenv.mkDerivation rec { - name = "gist-1.0"; - - src = fetchgit { - url = "https://github.com/sigma/gist.el.git"; - rev = "bbb457e4eaaf5f96cfaaa4f63021e3e542bfbfed"; - sha256 = "469f9df52076d0c6038183cff4b9415bca98de66c08814a60b69729b44bdf294"; - }; - - buildInputs = [ emacs ]; - - buildPhase = '' - emacs -L ${gh}/share/emacs/site-lisp \ - -L ${pcache}/share/emacs/site-lisp \ - -L ${logito}/share/emacs/site-lisp \ - --eval '(setq user-emacs-directory "./")' \ - --batch -f batch-byte-compile gist.el - ''; - - propagatedUserEnvPkgs = [ gh pcache logito ]; - - installPhase = '' - install -d $out/share/emacs/site-lisp - install gist.el gist.elc $out/share/emacs/site-lisp - ''; - - meta = { - description = "Emacs integration for gist.github.com"; - homepage = https://github.com/sigma/gist.el; - license = stdenv.lib.licenses.gpl2Plus; - - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/gn/default.nix b/pkgs/applications/editors/emacs-modes/gn/default.nix deleted file mode 100644 index 39e7d1abf38..00000000000 --- a/pkgs/applications/editors/emacs-modes/gn/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ stdenv, fetchgit, emacs }: - -stdenv.mkDerivation { - name = "gn-mode-2017-09-21"; - src = fetchgit { - url = "https://chromium.googlesource.com/chromium/src/tools/gn"; - rev = "34f2780efb3fe14fe361ec161ad58440de5a6b36"; - sha256 = "10cisqz3l6ny3471yi7y1z8v622lpl65zh0liqr6absvmy63g866"; - }; - buildInputs = [ emacs ]; - - buildPhase = '' - emacs --batch -f batch-byte-compile misc/emacs/gn-mode.el - ''; - - installPhase = '' - mkdir -p $out/share/emacs/site-lisp/ - cp misc/emacs/gn-mode.el* $out/share/emacs/site-lisp/ - ''; -} diff --git a/pkgs/applications/editors/emacs-modes/graphviz-dot/default.nix b/pkgs/applications/editors/emacs-modes/graphviz-dot/default.nix deleted file mode 100644 index ce552257133..00000000000 --- a/pkgs/applications/editors/emacs-modes/graphviz-dot/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ stdenv, fetchurl, emacs }: - -stdenv.mkDerivation rec { - name = "graphviz-dot-mode-0.3.3"; - - src = fetchurl { - url = "http://www.graphviz.org/Misc/graphviz-dot-mode.el"; - sha256 = "6465c18cfaa519a063cf664207613f70b0a17ac5eabcfaa949b3c4c289842953"; - }; - - buildInputs = [ emacs ]; - - unpackPhase = ":"; - - installPhase = '' - mkdir -p "$out/share/emacs/site-lisp" - cp -v ${src} "$out/share/emacs/site-lisp/graphviz-dot-mode.el" - emacs -batch --eval '(setq load-path (cons "." load-path))' -f batch-byte-compile "$out/share/emacs/site-lisp/graphviz-dot-mode.el" - ''; - - meta = { - homepage = http://www.graphviz.org/; - description = "An emacs mode for the DOT Language, used by graphviz"; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/haskell/default.nix b/pkgs/applications/editors/emacs-modes/haskell/default.nix deleted file mode 100644 index 6b10766bedb..00000000000 --- a/pkgs/applications/editors/emacs-modes/haskell/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv, fetchFromGitHub, emacs, texinfo }: - -# Use "emacsMelpa.haskell-mode" instead. - -let - version = "13.14-169-g0d3569d"; # git describe --tags -in -stdenv.mkDerivation { - name = "haskell-mode-${version}"; - - src = fetchFromGitHub { - owner = "haskell"; - repo = "haskell-mode"; - rev = "v${version}"; - sha256 = "0v5iy9wy05hf44wy7qs0c9q0v34m4k6wrqg4kyvji61568k1yx3k"; - }; - - buildInputs = [ emacs texinfo ]; - - makeFlags = "VERSION=v${version} GIT_VERSION=v${version}"; - - installPhase = '' - mkdir -p $out/share/emacs/site-lisp - cp *.el *.elc *.hs $out/share/emacs/site-lisp/ - mkdir -p $out/share/info - cp -v *.info* $out/share/info/ - ''; - - # The test suite must run *after* copying the generated files to $out - # because "make check" implies "make clean". - doInstallCheck = true; - installCheckTarget = "check"; - - meta = { - homepage = https://github.com/haskell/haskell-mode; - description = "Haskell mode for Emacs"; - - platforms = stdenv.lib.platforms.unix; - maintainers = [ stdenv.lib.maintainers.peti ]; - broken = true; # no longer compiles and this package is obsolete anyway - }; -} diff --git a/pkgs/applications/editors/emacs-modes/helm-words/default.nix b/pkgs/applications/editors/emacs-modes/helm-words/default.nix index b28d0ae24a3..c6e1c5a50f4 100644 --- a/pkgs/applications/editors/emacs-modes/helm-words/default.nix +++ b/pkgs/applications/editors/emacs-modes/helm-words/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchgit }: stdenv.mkDerivation { - name = "helm-words-20150413"; + name = "helm-words-20190917"; src = fetchgit { url = "https://github.com/pronobis/helm-words.git"; - rev = "637aa3a7e9cfd34e0127472c5b1f993a4da26185"; - sha256 = "19l8vysjygscr1nsddjz2yv0fjhbsswfq40rdny8zsmaa6qhpj35"; + rev = "e6387ece1940a06695b9d910de3d90252efb8d29"; + sha256 = "1ly0mbzlgc26fqvf7rxpmy698g0cf9qldrwrx022ar6r68l1h7xf"; }; installPhase = '' diff --git a/pkgs/applications/editors/emacs-modes/hol_light/default.nix b/pkgs/applications/editors/emacs-modes/hol_light/default.nix index c32669239f8..255b30d60ed 100644 --- a/pkgs/applications/editors/emacs-modes/hol_light/default.nix +++ b/pkgs/applications/editors/emacs-modes/hol_light/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchsvn }: stdenv.mkDerivation rec { - name = "hol_light-mode-${version}"; + pname = "hol_light-mode"; version = "73"; src = fetchsvn { @@ -22,5 +22,8 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + + # Fails trying to fetch dependencies in build + # broken = true; }; } diff --git a/pkgs/applications/editors/emacs-modes/hsc3/default.nix b/pkgs/applications/editors/emacs-modes/hsc3/default.nix index 150bd3593fd..75b72516a3c 100644 --- a/pkgs/applications/editors/emacs-modes/hsc3/default.nix +++ b/pkgs/applications/editors/emacs-modes/hsc3/default.nix @@ -6,11 +6,12 @@ let version = "0.15"; in stdenv.mkDerivation { - name = "hsc3-mode-${version}"; + pname = "hsc3-mode"; + inherit 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/htmlize/default.nix b/pkgs/applications/editors/emacs-modes/htmlize/default.nix deleted file mode 100644 index c16f449c3a2..00000000000 --- a/pkgs/applications/editors/emacs-modes/htmlize/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ stdenv, fetchFromGitHub }: - -stdenv.mkDerivation { - name = "htmlize-1.47"; - - src = fetchFromGitHub { - owner = "emacsmirror"; - repo = "htmlize"; - rev = "release/1.47"; - name = "htmlize-1.47-src"; - sha256 = "1vkqxgirc82vc44g7xhhr041arf93yirjin3h144kjyfkgkplnkp"; - }; - - installPhase = '' - mkdir -p $out/share/emacs/site-lisp - cp htmlize.el $out/share/emacs/site-lisp/ - ''; - - meta = { - description = "Convert buffer text and decorations to HTML"; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/icicles/default.nix b/pkgs/applications/editors/emacs-modes/icicles/default.nix index 884d1724ef8..27dcd1063bf 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"; - name = "icicles-${version}"; + version = "2019-02-22"; + pname = "icicles"; - 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 ]; @@ -31,10 +31,10 @@ stdenv.mkDerivation rec { buildPhase = "emacs --batch -L . -f batch-byte-compile *.el"; - installPhase = "mkdir -p $out/share/emacs/site-lisp/emacswiki/${name}/; cp *.el *.elc $out/share/emacs/site-lisp/emacswiki/${name}/"; + installPhase = "mkdir -p $out/share/emacs/site-lisp/emacswiki/${pname}-${version}/; cp *.el *.elc $out/share/emacs/site-lisp/emacswiki/${pname}-${version}/"; 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/ido-ubiquitous/default.nix b/pkgs/applications/editors/emacs-modes/ido-ubiquitous/default.nix index 3cc8156337e..eaa0f2c2a5b 100644 --- a/pkgs/applications/editors/emacs-modes/ido-ubiquitous/default.nix +++ b/pkgs/applications/editors/emacs-modes/ido-ubiquitous/default.nix @@ -4,7 +4,8 @@ let version = "3.6-4-gb659bf8"; in stdenv.mkDerivation { - name = "ido-ubiquitous-${version}"; + pname = "ido-ubiquitous"; + inherit version; src = fetchFromGitHub { owner = "DarwinAwardWinner"; diff --git a/pkgs/applications/editors/emacs-modes/idris/default.nix b/pkgs/applications/editors/emacs-modes/idris/default.nix deleted file mode 100644 index 2e168b3abf7..00000000000 --- a/pkgs/applications/editors/emacs-modes/idris/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ stdenv, fetchurl, emacs }: - -stdenv.mkDerivation rec { - name = "${pname}-${version}"; - pname = "idris-mode"; - version = "0.9.18"; - - src = fetchurl { - url = "https://github.com/idris-hackers/${pname}/archive/${version}.tar.gz"; - sha256 = "06rw5lrxqqnw0kni3x9jm73x352d1vb683d41v8x3yzqfa2sxmwg"; - }; - - buildInputs = [ emacs ]; - - buildPhase = '' - emacs -L . --batch -f batch-byte-compile *.el - ''; - - installPhase = '' - install -d $out/share/emacs/site-lisp - install *.el *.elc $out/share/emacs/site-lisp - ''; - - meta = { - description = "Emacs major mode for Idris"; - homepage = https://github.com/idris-hackers/idris-mode; - license = stdenv.lib.licenses.gpl3; - - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/jabber/default.nix b/pkgs/applications/editors/emacs-modes/jabber/default.nix deleted file mode 100644 index c0ddbc88cf2..00000000000 --- a/pkgs/applications/editors/emacs-modes/jabber/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ stdenv, fetchurl, emacs }: -stdenv.mkDerivation rec { - pname = "emacs-jabber"; - version = "0.8.0"; - name = "${pname}-${version}"; - src = fetchurl { - url = "mirror://sourceforge/${pname}/${name}.tar.bz2"; - sha256 = "75e3b7853de4783b8ab8270dcbe6a1e4f576224f77f7463116532e11c6498c26"; - }; - buildInputs = [ emacs ]; - meta = with stdenv.lib; { - description = "A Jabber client for Emacs"; - longDescription = '' - jabber.el is a Jabber client for Emacs. It may seem strange to have a - chat client in an editor, but consider that chatting is, after all, just - a special case of text editing. - ''; - homepage = http://emacs-jabber.sourceforge.net/; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ astsmtl ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/jade/default.nix b/pkgs/applications/editors/emacs-modes/jade/default.nix deleted file mode 100644 index 925fa54c735..00000000000 --- a/pkgs/applications/editors/emacs-modes/jade/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchgit, emacs }: - -stdenv.mkDerivation { - name = "jade-mode-0-20120802"; - - src = fetchgit { - url = "https://github.com/brianc/jade-mode.git"; - rev = "275ab149edb0f6bcfae6ac17ba456f3351191604"; - sha256 = "3cd2bebcd66e59d60b8e5e538e65a8ffdfc9a53b86443090a284e8329d7cb09b"; - }; - - buildInputs = [ emacs ]; - - buildPhase = '' - emacs --batch -L . -f batch-byte-compile *.el - ''; - - installPhase = '' - mkdir -p $out/share/emacs/site-lisp - cp *.el *.elc $out/share/emacs/site-lisp/ - ''; - - meta = { - description = "Emacs major mode for jade and stylus"; - homepage = https://github.com/brianc/jade-mode; - license = stdenv.lib.licenses.gpl2Plus; - - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/jdee/build-properties.patch b/pkgs/applications/editors/emacs-modes/jdee/build-properties.patch deleted file mode 100644 index d0a733b912e..00000000000 --- a/pkgs/applications/editors/emacs-modes/jdee/build-properties.patch +++ /dev/null @@ -1,12 +0,0 @@ -Make sure `build.properties' is honored. - ---- jde/build.xml -+++ jde/build.xml -@@ -14,6 +14,7 @@ - - - -+ - - - diff --git a/pkgs/applications/editors/emacs-modes/jdee/cedet-paths.patch b/pkgs/applications/editors/emacs-modes/jdee/cedet-paths.patch deleted file mode 100644 index 8c866e2d1db..00000000000 --- a/pkgs/applications/editors/emacs-modes/jdee/cedet-paths.patch +++ /dev/null @@ -1,18 +0,0 @@ -JDE insists on seeing CEDET's source tree layout, with various -sub-directories (`common', `eieio', etc.). However, the installed CEDET -is flat, with everything under ${cedet}/share/emacs/site-lisp. - ---- jde/config/build.el (revision 90) -+++ jde/config/build.el (working copy) -@@ -50,10 +50,5 @@ PATHS are sub directories under CEDET-DI - (jde-make-autoloads-and-compile (expand-file-name "@{build.lisp.dir}") - "@{src.lisp.dir}" - "@{cedet.dir}" -- '("common" -- "eieio" -- "semantic" -- "semantic/bovine" -- "speedbar" -- ) -+ '(".") - "@{build.lisp.autoload.libname}") diff --git a/pkgs/applications/editors/emacs-modes/jdee/default.nix b/pkgs/applications/editors/emacs-modes/jdee/default.nix deleted file mode 100644 index 306fe66823c..00000000000 --- a/pkgs/applications/editors/emacs-modes/jdee/default.nix +++ /dev/null @@ -1,99 +0,0 @@ -{ fetchsvn, stdenv, emacs, cedet, ant }: - -let - revision = "137"; -in - stdenv.mkDerivation rec { - name = "jdee-svn${revision}"; - - # Last release is too old, so use SVN. - # See http://www.emacswiki.org/emacs/JavaDevelopmentEnvironment . - src = fetchsvn { - url = "https://jdee.svn.sourceforge.net/svnroot/jdee/trunk/jdee"; - rev = revision; - sha256 = "1z1y957glbqm7z3dhah9h4jysw3173pq1gpx5agfwcw614n516xz"; - }; - - patchFlags = "-p1 --ignore-whitespace"; - - patches = [ - ./build-properties.patch - ./cedet-paths.patch ./elib-avltree.patch - ./java-directory.patch - ]; - - configurePhase = '' - mkdir -p "dist" - cat > build.properties < /dev/null || git commit -m "elpa-packages: $(date --iso)" -- elpa-generated.nix + +curl -s -O https://raw.githubusercontent.com/nix-community/emacs-overlay/master/repos/melpa/recipes-archive-melpa.json +env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackages.melpaStablePackages +env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackages.melpaPackages +git diff --exit-code recipes-archive-melpa.json > /dev/null || git commit -m "melpa-packages: $(date --iso)" -- recipes-archive-melpa.json diff --git a/pkgs/applications/editors/emacs-modes/update-melpa b/pkgs/applications/editors/emacs-modes/update-melpa new file mode 100755 index 00000000000..5c636416a5e --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/update-melpa @@ -0,0 +1,6 @@ +#! /usr/bin/env nix-shell +#! nix-shell --show-trace ./updater-emacs.nix -i bash + +SCRIPT_DIR="$( cd "$(dirname "$0")" ; pwd -P )" + +exec emacs --fg-daemon=updater --quick -l $SCRIPT_DIR/update-melpa.el -f run-updater "$@" diff --git a/pkgs/applications/editors/emacs-modes/update-melpa.el b/pkgs/applications/editors/emacs-modes/update-melpa.el new file mode 100644 index 00000000000..b315777620e --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/update-melpa.el @@ -0,0 +1,434 @@ +;; -*- lexical-binding: t -*- + +;; This is the updater for recipes-archive-melpa.json + +(require 'promise) +(require 'semaphore-promise) +(require 'url) +(require 'json) +(require 'cl) +(require 'subr-x) +(require 'seq) + +;; # Lib + +(defun alist-set (key value alist) + (cons + (cons key value) + (assq-delete-all + key alist))) + +(defun alist-update (key f alist) + (let ((value (alist-get key alist))) + (cons + (cons key (funcall f value)) + (assq-delete-all + key alist)))) + + +(defun process-promise (semaphore program &rest args) + "Generate an asynchronous process and +return Promise to resolve in that process." + (promise-then + (semaphore-promise-gated + semaphore + (lambda (resolve reject) + (funcall resolve (apply #'promise:make-process program args)))) + #'car)) + +(defun mangle-name (s) + (if (string-match "^[a-zA-Z].*" s) + s + (concat "_" s))) + +;; ## Shell promise + env + +(defun as-string (o) + (with-output-to-string (princ o))) + +(defun assocenv (env &rest namevals) + (let ((process-environment (copy-sequence env))) + (mapc (lambda (e) + (setenv (as-string (car e)) + (cadr e))) + (seq-partition namevals 2)) + process-environment)) + +(defun shell-promise (semaphore env script) + (semaphore-promise-gated + semaphore + (lambda (resolve reject) + (let ((process-environment env)) + (funcall resolve (promise:make-shell-command script)))))) + +;; # Updater + +;; ## Previous Archive Reader + +(defun previous-commit (index ename variant) + (when-let (pdesc (and index (gethash ename index))) + (when-let (desc (and pdesc (gethash variant pdesc))) + (gethash 'commit desc)))) + +(defun previous-sha256 (index ename variant) + (when-let (pdesc (and index (gethash ename index))) + (when-let (desc (and pdesc (gethash variant pdesc))) + (gethash 'sha256 desc)))) + +(defun parse-previous-archive (filename) + (let ((idx (make-hash-table :test 'equal))) + (loop for desc in + (let ((json-object-type 'hash-table) + (json-array-type 'list) + (json-key-type 'symbol)) + (json-read-file filename)) + do (puthash (gethash 'ename desc) + desc idx)) + idx)) + +;; ## Prefetcher + +;; (defun latest-git-revision (url) +;; (process-promise "git" "ls-remote" url)) + +(defun prefetch (semaphore fetcher repo commit) + (promise-then + (apply 'process-promise + semaphore + (pcase fetcher + ("github" (list "nix-prefetch-url" + "--unpack" (concat "https://github.com/" repo "/archive/" commit ".tar.gz"))) + ("gitlab" (list "nix-prefetch-url" + "--unpack" (concat "https://gitlab.com/" repo "/repository/archive.tar.gz?ref=" commit))) + ("bitbucket" (list "nix-prefetch-hg" + (concat "https://bitbucket.com/" repo) commit)) + ("hg" (list "nix-prefetch-hg" + repo commit)) + ("git" (list "nix-prefetch-git" + "--fetch-submodules" + "--url" repo + "--rev" commit)) + (_ (throw 'unknown-fetcher fetcher)))) + (lambda (res) + (pcase fetcher + ("git" (alist-get 'sha256 (json-read-from-string res))) + (_ (car (split-string res))))))) + +(defun source-sha (semaphore ename eprops aprops previous variant) + (let* ((fetcher (alist-get 'fetcher eprops)) + (url (alist-get 'url eprops)) + (repo (alist-get 'repo eprops)) + (commit (gethash 'commit aprops)) + (prev-commit (previous-commit previous ename variant)) + (prev-sha256 (previous-sha256 previous ename variant))) + (if (and commit prev-sha256 + (equal prev-commit commit)) + (progn + (message "INFO: %s: re-using %s %s" ename prev-commit prev-sha256) + (promise-resolve `((sha256 . ,prev-sha256)))) + (if (and commit (or repo url)) + (promise-then + (prefetch semaphore fetcher (or repo url) commit) + (lambda (sha256) + (message "INFO: %s: prefetched repository %s %s" ename commit sha256) + `((sha256 . ,sha256))) + (lambda (err) + (message "ERROR: %s: during prefetch %s" ename err) + (promise-resolve + `((error . ,err))))) + (progn + (message "ERROR: %s: no commit information" ename) + (promise-resolve + `((error . "No commit information")))))))) + +(defun source-info (recipe archive source-sha) + (let* ((esym (car recipe)) + (ename (symbol-name esym)) + (eprops (cdr recipe)) + (aentry (gethash esym archive)) + (version (and aentry (gethash 'ver aentry))) + (deps (when-let (deps (gethash 'deps aentry)) + (remove 'emacs (hash-table-keys deps)))) + (aprops (and aentry (gethash 'props aentry))) + (commit (gethash 'commit aprops))) + (append `((version . ,version)) + (when (< 0 (length deps)) + `((deps . ,(sort deps 'string<)))) + `((commit . ,commit)) + source-sha))) + +(defun recipe-info (recipe-index ename) + (if-let (desc (gethash ename recipe-index)) + (destructuring-bind (rcp-commit . rcp-sha256) desc + `((commit . ,rcp-commit) + (sha256 . ,rcp-sha256))) + `((error . "No recipe info")))) + +(defun start-fetch (semaphore recipe-index-promise recipes unstable-archive stable-archive previous) + (promise-all + (mapcar (lambda (entry) + (let* ((esym (car entry)) + (ename (symbol-name esym)) + (eprops (cdr entry)) + (fetcher (alist-get 'fetcher eprops)) + (url (alist-get 'url eprops)) + (repo (alist-get 'repo eprops)) + + (unstable-aentry (gethash esym unstable-archive)) + (unstable-aprops (and unstable-aentry (gethash 'props unstable-aentry))) + (unstable-commit (and unstable-aprops (gethash 'commit unstable-aprops))) + + (stable-aentry (gethash esym stable-archive)) + (stable-aprops (and stable-aentry (gethash 'props stable-aentry))) + (stable-commit (and stable-aprops (gethash 'commit stable-aprops))) + + (unstable-shap (if unstable-aprops + (source-sha semaphore ename eprops unstable-aprops previous 'unstable) + (promise-resolve nil))) + (stable-shap (if (equal unstable-commit stable-commit) + unstable-shap + (if stable-aprops + (source-sha semaphore ename eprops stable-aprops previous 'stable) + (promise-resolve nil))))) + + (promise-then + (promise-all (list recipe-index-promise unstable-shap stable-shap)) + (lambda (res) + (seq-let [recipe-index unstable-sha stable-sha] res + (append `((ename . ,ename)) + (if-let (desc (gethash ename recipe-index)) + (destructuring-bind (rcp-commit . rcp-sha256) desc + (append `((commit . ,rcp-commit) + (sha256 . ,rcp-sha256)) + (when (not unstable-aprops) + (message "ERROR: %s: not in archive" ename) + `((error . "Not in archive"))))) + `((error . "No recipe info"))) + `((fetcher . ,fetcher)) + (if (or (equal "github" fetcher) + (equal "bitbucket" fetcher) + (equal "gitlab" fetcher)) + `((repo . ,repo)) + `((url . ,url))) + (when unstable-aprops `((unstable . ,(source-info entry unstable-archive unstable-sha)))) + (when stable-aprops `((stable . ,(source-info entry stable-archive stable-sha)))))))))) + recipes))) + +;; ## Emitter + +(defun emit-json (prefetch-semaphore recipe-index-promise recipes archive stable-archive previous) + (promise-then + (start-fetch + prefetch-semaphore + recipe-index-promise + (sort recipes (lambda (a b) + (string-lessp + (symbol-name (car a)) + (symbol-name (car b))))) + archive stable-archive + previous) + (lambda (descriptors) + (message "Finished downloading %d descriptors" (length descriptors)) + (let ((buf (generate-new-buffer "*recipes-archive*"))) + (with-current-buffer buf + ;; (switch-to-buffer buf) + ;; (json-mode) + (insert + (let ((json-encoding-pretty-print t) + (json-encoding-default-indentation " ")) + (json-encode descriptors))) + buf))))) + +;; ## Recipe indexer + +(defun http-get (url parser) + (promise-new + (lambda (resolve reject) + (url-retrieve + url (lambda (status) + (funcall resolve (condition-case err + (progn + (goto-char (point-min)) + (search-forward "\n\n") + (message (buffer-substring (point-min) (point))) + (delete-region (point-min) (point)) + (funcall parser)) + (funcall reject err)))))))) + +(defun json-read-buffer (buffer) + (with-current-buffer buffer + (save-excursion + (mark-whole-buffer) + (json-read)))) + +(defun error-count (recipes-archive) + (length + (seq-filter + (lambda (desc) + (alist-get 'error desc)) + recipes-archive))) + +;; (error-count (json-read-buffer "recipes-archive-melpa.json")) + +(defun latest-recipe-commit (semaphore repo base-rev recipe) + (shell-promise + semaphore (assocenv process-environment + "GIT_DIR" repo + "BASE_REV" base-rev + "RECIPE" recipe) + "exec git log --first-parent -n1 --pretty=format:%H $BASE_REV -- recipes/$RECIPE")) + +(defun latest-recipe-sha256 (semaphore repo base-rev recipe) + (promise-then + (shell-promise + semaphore (assocenv process-environment + "GIT_DIR" repo + "BASE_REV" base-rev + "RECIPE" recipe) + "exec nix-hash --flat --type sha256 --base32 <( + git cat-file blob $( + git ls-tree $BASE_REV recipes/$RECIPE | cut -f1 | cut -d' ' -f3 + ) + )") + (lambda (res) + (car + (split-string res))))) + +(defun index-recipe-commits (semaphore repo base-rev recipes) + (promise-then + (promise-all + (mapcar (lambda (recipe) + (promise-then + (latest-recipe-commit semaphore repo base-rev recipe) + (let ((sha256p (latest-recipe-sha256 semaphore repo base-rev recipe))) + (lambda (commit) + (promise-then sha256p + (lambda (sha256) + (message "Indexed Recipe %s %s %s" recipe commit sha256) + (cons recipe (cons commit sha256)))))))) + recipes)) + (lambda (rcp-commits) + (let ((idx (make-hash-table :test 'equal))) + (mapc (lambda (rcpc) + (puthash (car rcpc) (cdr rcpc) idx)) + rcp-commits) + idx)))) + +(defun with-melpa-checkout (resolve) + (let ((tmpdir (make-temp-file "melpa-" t))) + (promise-finally + (promise-then + (shell-promise + (semaphore-create 1 "dummy") + (assocenv process-environment "MELPA_DIR" tmpdir) + "cd $MELPA_DIR + (git init --bare + git remote add origin https://github.com/melpa/melpa.git + git fetch origin) 1>&2 + echo -n $MELPA_DIR") + (lambda (dir) + (message "Created melpa checkout %s" dir) + (funcall resolve dir))) + (lambda () + (delete-directory tmpdir t) + (message "Deleted melpa checkout %s" tmpdir))))) + +(defun list-recipes (repo base-rev) + (promise-then + (shell-promise nil (assocenv process-environment + "GIT_DIR" repo + "BASE_REV" base-rev) + "git ls-tree --name-only $BASE_REV recipes/") + (lambda (s) + (mapcar (lambda (n) + (substring n 8)) + (split-string s))))) + +;; ## Main runner + +(defvar recipe-indexp) +(defvar archivep) + +(defun run-updater () + (message "Turning off logging to *Message* buffer") + (setq message-log-max nil) + (setenv "GIT_ASKPASS") + (setenv "SSH_ASKPASS") + (setq process-adaptive-read-buffering nil) + + ;; Indexer and Prefetcher run in parallel + + ;; Recipe Indexer + (setq recipe-indexp + (with-melpa-checkout + (lambda (repo) + (promise-then + (promise-then + (list-recipes repo "origin/master") + (lambda (recipe-names) + (promise:make-thread #'index-recipe-commits + ;; The indexer runs on a local git repository, + ;; so it is CPU bound. + ;; Adjust for core count + 2 + (semaphore-create 6 "local-indexer") + repo "origin/master" + ;; (seq-take recipe-names 20) + recipe-names))) + (lambda (res) + (message "Indexed Recipes: %d" (hash-table-count res)) + (defvar recipe-index res) + res) + (lambda (err) + (message "ERROR: %s" err)))))) + + ;; Prefetcher + Emitter + (setq archivep + (promise-then + (promise-then (promise-all + (list (http-get "https://melpa.org/recipes.json" + (lambda () + (let ((json-object-type 'alist) + (json-array-type 'list) + (json-key-type 'symbol)) + (json-read)))) + (http-get "https://melpa.org/archive.json" + (lambda () + (let ((json-object-type 'hash-table) + (json-array-type 'list) + (json-key-type 'symbol)) + (json-read)))) + (http-get "https://stable.melpa.org/archive.json" + (lambda () + (let ((json-object-type 'hash-table) + (json-array-type 'list) + (json-key-type 'symbol)) + (json-read)))))) + (lambda (resolved) + (message "Finished download") + (seq-let [recipes-content archive-content stable-archive-content] resolved + ;; The prefetcher is network bound, so 64 seems a good estimate + ;; for parallel network connections + (promise:make-thread #'emit-json (semaphore-create 64 "prefetch-pool") + recipe-indexp + recipes-content + archive-content + stable-archive-content + (parse-previous-archive "recipes-archive-melpa.json"))))) + (lambda (buf) + (with-current-buffer buf + (write-file "recipes-archive-melpa.json"))) + (lambda (err) + (message "ERROR: %s" err)))) + + ;; Shutdown routine + (make-thread + (lambda () + (promise-finally archivep + (lambda () + ;; (message "Joining threads %s" (all-threads)) + ;; (mapc (lambda (thr) + ;; (when (not (eq thr (current-thread))) + ;; (thread-join thr))) + ;; (all-threads)) + + (kill-emacs 0)))))) diff --git a/pkgs/applications/editors/emacs-modes/update-org b/pkgs/applications/editors/emacs-modes/update-org new file mode 100755 index 00000000000..2119a167228 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/update-org @@ -0,0 +1,4 @@ +#! /usr/bin/env nix-shell +#! nix-shell --show-trace ./emacs2nix.nix -i bash + +exec org-packages.sh --names $EMACS2NIX/names.nix -o org-generated.nix diff --git a/pkgs/applications/editors/emacs-modes/updater-emacs.nix b/pkgs/applications/editors/emacs-modes/updater-emacs.nix new file mode 100644 index 00000000000..518ee67e451 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/updater-emacs.nix @@ -0,0 +1,40 @@ +let + pkgs = import ../../../.. {}; + + emacsEnv = (pkgs.emacsPackagesFor pkgs.emacs26).emacsWithPackages (epkgs: let + + promise = epkgs.trivialBuild { + pname = "promise"; + version = "1"; + src = pkgs.fetchFromGitHub { + owner = "bendlas"; + repo = "emacs-promise"; + rev = "4da97087c5babbd8429b5ce62a8323b9b03c6022"; + sha256 = "0yin7kj69g4zxs30pvk47cnfygxlaw7jc7chr3b36lz51yqczjsy"; + }; + }; + + semaphore = epkgs.trivialBuild { + pname = "semaphore"; + version = "1"; + packageRequires = [ promise ]; + src = pkgs.fetchFromGitHub { + owner = "webnf"; + repo = "semaphore.el"; + rev = "93802cb093073bc6a6ccd797328dafffcef248e0"; + sha256 = "09pfyp27m35sv340xarhld7xx2vv5fs5xj4418709iw6l6hpk853"; + }; + }; + + in [ promise semaphore ]); + +in pkgs.mkShell { + buildInputs = [ + pkgs.git + pkgs.nix + pkgs.bash + pkgs.nix-prefetch-git + pkgs.nix-prefetch-hg + emacsEnv + ]; +} diff --git a/pkgs/applications/editors/emacs-modes/writegood/default.nix b/pkgs/applications/editors/emacs-modes/writegood/default.nix deleted file mode 100644 index 6d0631a4cb8..00000000000 --- a/pkgs/applications/editors/emacs-modes/writegood/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{stdenv, fetchurl, emacs}: - -let version = "2.0.2"; - -in stdenv.mkDerivation { - name = "writegood-mode-${version}"; - src = fetchurl { - url = "https://github.com/bnbeckwith/writegood-mode/archive/v${version}.tar.gz"; - sha256 = "1ilbqj24vzpfh9n1wph7idj0914ga290jkpv9kr1pff3a0v5hf6k"; - }; - - buildInputs = [ emacs ]; - - buildPhase = '' - emacs -L . --batch -f batch-byte-compile *.el - ''; - - installPhase = '' - install -d $out/share/emacs/site-lisp - install *.el *.elc $out/share/emacs/site-lisp - ''; - - meta = { - description = "Emacs minor mode that aids in finding common writing problems"; - homepage = https://github.com/bnbeckwith/writegood-mode; - platforms = stdenv.lib.platforms.all; - maintainers = [ stdenv.lib.maintainers.pSub ]; - license = stdenv.lib.licenses.gpl3; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/xml-rpc/default.nix b/pkgs/applications/editors/emacs-modes/xml-rpc/default.nix deleted file mode 100644 index 661430516b7..00000000000 --- a/pkgs/applications/editors/emacs-modes/xml-rpc/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{stdenv, fetchurl, emacs}: - -stdenv.mkDerivation rec { - name = "xml-rpc-1.6.8"; - - src = fetchurl { - url = https://launchpadlibrarian.net/40270196/xml-rpc.el; - sha256 = "0i8hf90yhrjwqrv7q1f2g1cff6ld8apqkka42fh01wkdys1fbm7b"; - }; - - phases = [ "buildPhase" "installPhase"]; - - buildInputs = [ emacs ]; - - buildPhase = '' - cp $src xml-rpc.el - emacs --batch -f batch-byte-compile xml-rpc.el - ''; - - installPhase = '' - install -d $out/share/emacs/site-lisp - install xml-rpc.el* $out/share/emacs/site-lisp - ''; - - meta = { - description = "Elisp implementation of clientside XML-RPC"; - homepage = https://launchpad.net/xml-rpc-el; - license = stdenv.lib.licenses.gpl3Plus; - - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/zeitgeist/default.nix b/pkgs/applications/editors/emacs-modes/zeitgeist/default.nix index 3461787ab59..9403a51df53 100644 --- a/pkgs/applications/editors/emacs-modes/zeitgeist/default.nix +++ b/pkgs/applications/editors/emacs-modes/zeitgeist/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation { name = "zeitgeist-20120221"; - unpackPhase = "true"; + dontUnpack = true; src = fetchurl { url = "https://raw.githubusercontent.com/alexmurray/dotfiles/master/.emacs.d/vendor/zeitgeist.el"; diff --git a/pkgs/applications/editors/emacs/25.nix b/pkgs/applications/editors/emacs/25.nix index d9f0b211f15..76009370473 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, cf-private, AppKit, GSS, ImageIO +, alsaLib, cairo, acl, gpm, AppKit, GSS, ImageIO , withX ? !stdenv.isDarwin , withGTK2 ? false, gtk2 ? null , withGTK3 ? true, gtk3 ? null, gsettings-desktop-schemas ? null @@ -62,11 +62,7 @@ stdenv.mkDerivation rec { ++ lib.optionals (withX && withGTK3) [ gtk3 gsettings-desktop-schemas ] ++ lib.optional (stdenv.isDarwin && withX) cairo ++ lib.optionals (withX && withXwidgets) [ webkitgtk24x-gtk3 glib-networking ] - ++ lib.optionals stdenv.isDarwin [ - AppKit GSS ImageIO - # Needed for CFNotificationCenterAddObserver symbols. - cf-private - ]; + ++ lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ]; hardeningDisable = [ "format" ]; @@ -116,7 +112,7 @@ stdenv.mkDerivation rec { description = "The extensible, customizable GNU text editor"; 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/clean-env.patch b/pkgs/applications/editors/emacs/clean-env.patch index 7b4cb9d5266..88befda899a 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 4a48cde571a..29a6a8773ef 100644 --- a/pkgs/applications/editors/emacs/default.nix +++ b/pkgs/applications/editors/emacs/default.nix @@ -1,15 +1,16 @@ -{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d, libXcursor -, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif +{ stdenv, lib, 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, cf-private, AppKit, GSS, ImageIO, m17n_lib, libotf +, alsaLib, cairo, acl, gpm, AppKit, GSS, ImageIO, m17n_lib, libotf , systemd ? null , withX ? !stdenv.isDarwin , 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 +, withXwidgets ? false, webkitgtk ? null, wrapGAppsHook ? null , withCsrc ? true , srcRepo ? false, autoconf ? null, automake ? null, texinfo ? null +, siteStart ? ./site-start.el }: assert (libXft != null) -> libpng != null; # probably a bug @@ -30,12 +31,12 @@ let in stdenv.mkDerivation rec { name = "emacs-${version}${versionModifier}"; - version = "26.1"; + version = "26.3"; versionModifier = ""; src = fetchurl { url = "mirror://gnu/emacs/${name}.tar.xz"; - sha256 = "0b6k1wq44rc8gkvxhi1bbjxbz3cwg29qbq8mklq2az6p1hjgrx0w"; + sha256 = "119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d"; }; enableParallelBuilding = true; @@ -60,21 +61,21 @@ 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 ] + gconf ] + ++ lib.optionals (withX || withNS) [ imagemagick ] ++ 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 ] - ++ lib.optionals withNS [ - AppKit GSS ImageIO - # Needed for CFNotificationCenterAddObserver symbols. - cf-private - ]; + ++ lib.optionals withNS [ AppKit GSS ImageIO ]; hardeningDisable = [ "format" ]; - configureFlags = [ "--with-modules" ] ++ + configureFlags = [ + "--disable-build-details" # for a (more) reproducible build + "--with-modules" + ] ++ (lib.optional stdenv.isDarwin (lib.withFeature withNS "ns")) ++ (if withNS @@ -100,7 +101,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 @@ -122,7 +123,7 @@ stdenv.mkDerivation rec { let libPath = lib.makeLibraryPath [ libXcursor ]; - in lib.optionalString (withX && toolkit == "lucid") '' + in lib.optionalString (stdenv.isLinux && withX && toolkit == "lucid") '' patchelf --set-rpath \ "$(patchelf --print-rpath "$out/bin/emacs"):${libPath}" \ "$out/bin/emacs" @@ -133,7 +134,7 @@ stdenv.mkDerivation rec { description = "The extensible, customizable GNU text editor"; 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 486172ac51f..649997171e9 100644 --- a/pkgs/applications/editors/emacs/macport.nix +++ b/pkgs/applications/editors/emacs/macport.nix @@ -1,22 +1,22 @@ { stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls, gettext, autoconf, automake -, cf-private, AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit +, AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit , ImageCaptureCore, GSS, ImageIO # These may be optional }: stdenv.mkDerivation rec { - emacsVersion = "26.1"; + emacsVersion = "26.3"; emacsName = "emacs-${emacsVersion}"; - macportVersion = "7.4"; + macportVersion = "7.7"; name = "emacs-mac-${emacsVersion}-${macportVersion}"; src = fetchurl { url = "mirror://gnu/emacs/${emacsName}.tar.xz"; - sha256 = "0b6k1wq44rc8gkvxhi1bbjxbz3cwg29qbq8mklq2az6p1hjgrx0w"; + sha256 = "119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d"; }; macportSrc = fetchurl { url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${emacsName}-mac-${macportVersion}.tar.gz"; - sha256 = "1xl3rfqw1f3jil20xf6iy0f1hdk9adj8rnv7xhcjq4pymj4w8ka6"; + sha256 = "18jadknm47ymbl7skrgc7y8xsdldcbgnlfl7qpgzm1ym8d92as6j"; }; hiresSrc = fetchurl { @@ -33,8 +33,6 @@ 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 = '' @@ -68,7 +66,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 = '' diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el index 34addc33a59..de4708b8890 100644 --- a/pkgs/applications/editors/emacs/site-start.el +++ b/pkgs/applications/editors/emacs/site-start.el @@ -1,6 +1,7 @@ +;; -*- lexical-binding: t; -*- (defun nix--profile-paths () - "Returns a list of all paths in the NIX_PROFILES environment -variable, ordered from more-specific (the user profile) to the + "Return a list of all paths in NIX_PROFILES. +The list is ordered from more-specific (the user profile) to the least specific (the system profile)" (reverse (split-string (or (getenv "NIX_PROFILES") "")))) @@ -23,6 +24,7 @@ least specific (the system profile)" ;;; Make `woman' find the man pages +(defvar woman-manpath) (eval-after-load 'woman '(setq woman-manpath (append (mapcar (lambda (x) (concat x "/share/man/")) @@ -30,6 +32,7 @@ least specific (the system profile)" woman-manpath))) ;;; Make tramp work for remote NixOS machines +(defvar tramp-remote-path) (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 @@ -42,6 +45,7 @@ least specific (the system profile)" ;;; the current file: ;;; from: /nix/store/-emacs-/share/emacs/site-lisp/site-start.el ;;; to: /nix/store/-emacs-/share/emacs//src/ +(defvar find-function-C-source-directory) (let ((emacs (file-name-directory ; .../emacs/ (directory-file-name ; .../emacs/site-lisp diff --git a/pkgs/applications/editors/featherpad/default.nix b/pkgs/applications/editors/featherpad/default.nix index b1e26910f1f..e48fba1551e 100644 --- a/pkgs/applications/editors/featherpad/default.nix +++ b/pkgs/applications/editors/featherpad/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchurl, pkgconfig, qt5, fetchFromGitHub }: +{ stdenv, pkgconfig, qt5, fetchFromGitHub }: with qt5; stdenv.mkDerivation rec { - version = "0.9.2"; - name = "featherpad-${version}"; + version = "0.10.0"; + pname = "featherpad"; src = fetchFromGitHub { owner = "tsujan"; repo = "FeatherPad"; rev = "V${version}"; - sha256 = "1kpv8x3m4hiz7q9k7qadgbrys5nyzm7v5mhjyk22hawnp98m9x4q"; + sha256 = "1wrbs6kni9s3x39cckm9kzpglryxn5vyarilvh9pafbzpc6rc57p"; }; nativeBuildInputs = [ qmake pkgconfig qttools ]; buildInputs = [ qtbase qtsvg qtx11extras ]; diff --git a/pkgs/applications/editors/flpsed/default.nix b/pkgs/applications/editors/flpsed/default.nix index 104206a1491..b8b11e5e831 100644 --- a/pkgs/applications/editors/flpsed/default.nix +++ b/pkgs/applications/editors/flpsed/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, fltk13, ghostscript }: stdenv.mkDerivation rec { - name = "flpsed-${version}"; + pname = "flpsed"; version = "0.7.3"; src = fetchurl { - url = "http://www.flpsed.org/${name}.tar.gz"; + url = "http://www.flpsed.org/${pname}-${version}.tar.gz"; sha256 = "0vngqxanykicabhfdznisv82k5ypkxwg0s93ms9ribvhpm8vf2xp"; }; diff --git a/pkgs/applications/editors/focuswriter/default.nix b/pkgs/applications/editors/focuswriter/default.nix index f656f874151..b08e3b5fa23 100644 --- a/pkgs/applications/editors/focuswriter/default.nix +++ b/pkgs/applications/editors/focuswriter/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, qmake, qttools, hunspell, qtbase, qtmultimedia }: +{ stdenv, fetchurl, pkgconfig, qmake, qttools, hunspell, qtbase, qtmultimedia, mkDerivation }: -stdenv.mkDerivation rec { - name = "focuswriter-${version}"; - version = "1.7.1"; +mkDerivation rec { + pname = "focuswriter"; + version = "1.7.3"; src = fetchurl { url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2"; - sha256 = "0ny0bri9yp6wcsj9s8vd0j4mzx44yw57axjx5piv44q2jgsgz401"; + sha256 = "155wf7z1g2yx6fb41w29kcb0m2rhnk9ci5yw882yy86s4x20b1jq"; }; nativeBuildInputs = [ pkgconfig qmake qttools ]; diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix index 9f33bd08489..a30a8f70224 100644 --- a/pkgs/applications/editors/geany/default.nix +++ b/pkgs/applications/editors/geany/default.nix @@ -3,15 +3,16 @@ with stdenv.lib; let - version = "1.34.1"; + version = "1.35"; in stdenv.mkDerivation rec { - name = "geany-${version}"; + pname = "geany"; + inherit version; src = fetchurl { - url = "https://download.geany.org/${name}.tar.bz2"; - sha256 = "e765efd89e759defe3fd797d8a2052afbb4b23522efbcc72e3a72b7f1093ec11"; + url = "https://download.geany.org/${pname}-${version}.tar.bz2"; + sha256 = "179xfnvhcxsv54v2mlrhykqv2j7klniln5sffvqqpjmdvwyivvim"; }; nativeBuildInputs = [ pkgconfig intltool libintl ]; diff --git a/pkgs/applications/editors/ghostwriter/default.nix b/pkgs/applications/editors/ghostwriter/default.nix index 65645dcc969..1e07902365d 100644 --- a/pkgs/applications/editors/ghostwriter/default.nix +++ b/pkgs/applications/editors/ghostwriter/default.nix @@ -1,20 +1,19 @@ -{ stdenv, fetchFromGitHub, qmake, pkgconfig, qttools, qtwebkit, hunspell }: +{ stdenv, mkDerivation, fetchFromGitHub, qmake, pkgconfig, qttools, qtwebengine, hunspell }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "ghostwriter"; - version = "1.7.4"; - name = "${pname}-${version}"; + version = "1.8.0"; src = fetchFromGitHub { owner = "wereturtle"; repo = pname; rev = "v${version}"; - sha256 = "1pqlr08z5syqcq5p282asxwzrrm7c1w94baxyb467swh8yp3fj5m"; + sha256 = "13yn82m1l2pq93wbl569a2lzpc3sn8a8g30hsgdch1l9xlmhwran"; }; 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 99b014adb02..740d65838c3 100644 --- a/pkgs/applications/editors/gnome-builder/default.nix +++ b/pkgs/applications/editors/gnome-builder/default.nix @@ -1,11 +1,11 @@ -{ stdenv +{ gcc8Stdenv , ctags +, appstream-glib , desktop-file-utils , docbook_xsl , docbook_xml_dtd_43 , fetchurl , flatpak -, glibcLocales , gnome3 , libgit2-glib , gobject-introspection @@ -17,6 +17,7 @@ , json-glib , jsonrpc-glib , libdazzle +, libpeas , libxml2 , meson , ninja @@ -30,28 +31,33 @@ , vte , webkitgtk , wrapGAppsHook +, dbus +, xvfb_run }: + let - version = "3.30.3"; + # 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.4"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "11h6apjyah91djf77m8xkl5rvdz7mwpp3bjc4yzzs9lm3pag764r"; + sha256 = "0xip58m206p8wa28p0a3y4ykylzr5xzmirjl3dspg4j25r08i8qr"; }; 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 gobject-introspection gtk-doc hicolor-icon-theme - meson + (meson.override ({ inherit stdenv; })) ninja pkgconfig python3 @@ -63,8 +69,9 @@ in stdenv.mkDerivation { ctags flatpak gnome3.devhelp + gnome3.glade libgit2-glib - gnome3.libpeas + libpeas vte gspell gtk3 @@ -82,6 +89,11 @@ in stdenv.mkDerivation { webkitgtk ]; + checkInputs = [ + dbus + xvfb_run + ]; + outputs = [ "out" "devdoc" ]; prePatch = '' @@ -90,19 +102,25 @@ in stdenv.mkDerivation { 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 71d0f9450f2..cfd3a428990 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.2"; + 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 = "0fn3vy6w714wy0bz3y11zpdprpwxbv5xfiyyxjwp2nix9mbvv2sm"; + 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/gobby/default.nix b/pkgs/applications/editors/gobby/default.nix index e59def88de5..ec05f0f8262 100644 --- a/pkgs/applications/editors/gobby/default.nix +++ b/pkgs/applications/editors/gobby/default.nix @@ -1,5 +1,5 @@ { avahiSupport ? false # build support for Avahi in libinfinity -, stdenv, fetchurl, fetchFromGitHub, autoconf, automake, pkgconfig, wrapGAppsHook +, stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, wrapGAppsHook , gtkmm3, gsasl, gtksourceview3, libxmlxx, libinfinity, intltool, itstool, gnome3 }: let diff --git a/pkgs/applications/editors/hecate/default.nix b/pkgs/applications/editors/hecate/default.nix index 8aea8508aef..de57fb09215 100644 --- a/pkgs/applications/editors/hecate/default.nix +++ b/pkgs/applications/editors/hecate/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { version = "0.0.1"; - name = "hecate-${version}"; + pname = "hecate"; src = fetchFromGitHub { owner = "evanmiller"; diff --git a/pkgs/applications/editors/heme/default.nix b/pkgs/applications/editors/heme/default.nix index dce02b56890..4e67fc304b1 100644 --- a/pkgs/applications/editors/heme/default.nix +++ b/pkgs/applications/editors/heme/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "heme-${version}"; + pname = "heme"; version = "0.4.2"; src = fetchurl { url = "mirror://sourceforge/project/heme/heme/heme-${version}/heme-${version}.tar.gz"; diff --git a/pkgs/applications/editors/hexcurse/default.nix b/pkgs/applications/editors/hexcurse/default.nix index 22cc4d47e68..a6437f070b9 100644 --- a/pkgs/applications/editors/hexcurse/default.nix +++ b/pkgs/applications/editors/hexcurse/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchFromGitHub, fetchpatch, ncurses }: stdenv.mkDerivation rec { - name = "hexcurse-${version}"; + pname = "hexcurse"; version = "1.60.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/editors/hexedit/default.nix b/pkgs/applications/editors/hexedit/default.nix index 4671df77554..09191b38e1b 100644 --- a/pkgs/applications/editors/hexedit/default.nix +++ b/pkgs/applications/editors/hexedit/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "hexedit-${version}"; + pname = "hexedit"; version = "1.2.13"; src = fetchurl { - url = "http://rigaux.org/${name}.src.tgz"; + url = "http://rigaux.org/${pname}-${version}.src.tgz"; sha256 = "1mwdp1ikk64cqmagnrrps5jkn3li3n47maiqh2qc1xbp1ains4ka"; }; diff --git a/pkgs/applications/editors/howl/default.nix b/pkgs/applications/editors/howl/default.nix index 8f75eda7ef7..5e5f2f8563c 100644 --- a/pkgs/applications/editors/howl/default.nix +++ b/pkgs/applications/editors/howl/default.nix @@ -3,13 +3,13 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "howl-${version}"; - version = "0.5.3"; + pname = "howl"; + version = "0.6"; # 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"; + url = "https://github.com/howl-editor/howl/releases/download/${version}/howl-${version}.tgz"; + sha256 = "1qc58l3rkr37cj6vhf8c7bnwbz93nscyraz7jxqwjq6k4gj0cjw3"; }; sourceRoot = "./howl-${version}/src"; diff --git a/pkgs/applications/editors/ht/default.nix b/pkgs/applications/editors/ht/default.nix index 63864bc581d..fc1fe969bdc 100644 --- a/pkgs/applications/editors/ht/default.nix +++ b/pkgs/applications/editors/ht/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "ht-${version}"; + pname = "ht"; version = "2.1.0"; src = fetchurl { diff --git a/pkgs/applications/editors/jedit/default.nix b/pkgs/applications/editors/jedit/default.nix index 11322e8240c..21a6a847518 100644 --- a/pkgs/applications/editors/jedit/default.nix +++ b/pkgs/applications/editors/jedit/default.nix @@ -13,7 +13,8 @@ let in stdenv.mkDerivation { - name = "jedit-${version}"; + pname = "jedit"; + inherit version; src = fetchurl { url = "mirror://sourceforge/jedit/jedit${version}source.tar.bz2"; sha256 = "03wmbh90rl5lsc35d7jwcp9j5qyyzq1nccxf4fal8bmnx8n4si0x"; diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 08a8b28117e..92355552fce 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -175,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 { @@ -250,12 +250,12 @@ in clion = buildClion rec { name = "clion-${version}"; - version = "2018.3.4"; /* updated by script */ + version = "2019.2.1"; /* 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 = "1zglpw9vc3ybdmwymi0c2m6anhcmx9jcqi69gnn06n9f4x1v6gwn"; /* updated by script */ + sha256 = "13y2c3vzlklwz9cd7anpfdc3dqwh714xivm1g59s6p4x9sy172lp"; /* updated by script */ }; wmClass = "jetbrains-clion"; update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml @@ -263,12 +263,12 @@ in datagrip = buildDataGrip rec { name = "datagrip-${version}"; - version = "2018.3.2"; /* updated by script */ + version = "2019.2.2"; /* 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 = "0vj1cgmg33626i38x9wmh5hqr1lf0x3m23gzq30rp4q4cbi38806"; /* updated by script */ + sha256 = "1babydzmgaas1rxjv11yhgbp0l5scsdwy17l9927qwlbgccf24mb"; /* updated by script */ }; wmClass = "jetbrains-datagrip"; update-channel = "DataGrip RELEASE"; @@ -276,12 +276,12 @@ in goland = buildGoland rec { name = "goland-${version}"; - version = "2018.3.3"; /* updated by script */ + version = "2019.2.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 = "065z8084xkv6w8m7pq98rgls1avzrqm23mrxdq5172rs5p1c5r9f"; /* updated by script */ + sha256 = "16wmsf6c8x95d050grqgv6aaxlkc6pqhbqzlz6fzsngjnbkn64yj"; /* updated by script */ }; wmClass = "jetbrains-goland"; update-channel = "GoLand RELEASE"; @@ -289,12 +289,12 @@ in idea-community = buildIdea rec { name = "idea-community-${version}"; - version = "2018.3.4"; /* updated by script */ + version = "2019.2.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 = "0j5yc7n04jlyyghmwllpfvcd2g6k1syjp07xb1ljyx7rm4jcf8q6"; /* updated by script */ + sha256 = "1pbqnyqly09m7lw6356dydbvppq4i94rsk7c3y40mrc285qzj413"; /* updated by script */ }; wmClass = "jetbrains-idea-ce"; update-channel = "IntelliJ IDEA RELEASE"; @@ -302,12 +302,12 @@ in idea-ultimate = buildIdea rec { name = "idea-ultimate-${version}"; - version = "2018.3.4"; /* updated by script */ + version = "2019.2.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 = "0s3r3h1zcwkfqhsfb224fgy62fdhnd4gjgk2h6pyhq1frnh3x5bg"; /* updated by script */ + url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz"; + sha256 = "0mslmhakjjgwj76hbfw9dcidic6zprjfjryggic7dqywl7vjwc95"; /* updated by script */ }; wmClass = "jetbrains-idea"; update-channel = "IntelliJ IDEA RELEASE"; @@ -315,12 +315,12 @@ in phpstorm = buildPhpStorm rec { name = "phpstorm-${version}"; - version = "2018.3.3"; /* updated by script */ + version = "2019.2.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 = "0znhw83h46a3haspwcin5xjf3ask8ijxla778p9vdbi9xs0zqx39"; /* updated by script */ + sha256 = "1m198p6586dych6mrgwqxs486qndypsmnikl0rxx45ddrwfjl42g"; /* updated by script */ }; wmClass = "jetbrains-phpstorm"; update-channel = "PhpStorm RELEASE"; @@ -328,12 +328,12 @@ in pycharm-community = buildPycharm rec { name = "pycharm-community-${version}"; - version = "2018.3.4"; /* updated by script */ + version = "2019.2.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 = "11kzzwkp206l466ii6vm6iqmhpx0s594vh37x2lwwsgmg6qzz6vq"; /* updated by script */ + sha256 = "0a3fi2wjj0166199pyhvvpaih9nx0xr6q7zf7jfj8i7khpkdk8i5"; /* updated by script */ }; wmClass = "jetbrains-pycharm-ce"; update-channel = "PyCharm RELEASE"; @@ -341,12 +341,12 @@ in pycharm-professional = buildPycharm rec { name = "pycharm-professional-${version}"; - version = "2018.3.4"; /* updated by script */ + version = "2019.2.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 = "1m8lzghs6g57fwcv6bpmnf21d4w2k10gsmi0i2wv2j8ff4hcy7ij"; /* updated by script */ + sha256 = "03i7qi0kcnx0irih468xaz7hzicaa5yh399r676drs22ak23qwrq"; /* updated by script */ }; wmClass = "jetbrains-pycharm"; update-channel = "PyCharm RELEASE"; @@ -354,12 +354,12 @@ in rider = buildRider rec { name = "rider-${version}"; - version = "2018.3.2"; /* updated by script */ + version = "2019.2.1"; /* 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 = "1ffzbp2xca2z8g0wlkvmqr0j2f2dnqafpnvzk9zd5asfhhbyrhg5"; /* updated by script */ + sha256 = "1p0mlch7qvkvgxjscx6rl65v6h8g6fwk8rcb8s27qkcjm0d78ic8"; /* updated by script */ }; wmClass = "jetbrains-rider"; update-channel = "Rider RELEASE"; @@ -367,12 +367,12 @@ in ruby-mine = buildRubyMine rec { name = "ruby-mine-${version}"; - version = "2018.3.3"; /* updated by script */ + version = "2019.2.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 = "1zjcdsr91y07dhqmhqy2yq6c0rhsxg2m52fz14hhmphddlwvhzny"; /* updated by script */ + sha256 = "0l0kwc1mih55px8j6bvp1g3pxrv0scd9vpydwvkaqmq5x0r1n3jf"; /* updated by script */ }; wmClass = "jetbrains-rubymine"; update-channel = "RubyMine RELEASE"; @@ -380,12 +380,12 @@ in webstorm = buildWebStorm rec { name = "webstorm-${version}"; - version = "2018.3.4"; /* updated by script */ + version = "2019.1.3"; /* 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 = "11l39yy8qdrr89y9x3i9acp0am4xb86z6v7wg1kc9fd5p13jr2xs"; /* updated by script */ + sha256 = "1bhx2p40r15zvfr6q10bj5y8jaa3i9x9adchczp0irkd3w2jgvy3"; /* updated by script */ }; wmClass = "jetbrains-webstorm"; update-channel = "WebStorm RELEASE"; diff --git a/pkgs/applications/editors/joe/default.nix b/pkgs/applications/editors/joe/default.nix index b2ace8accd8..6f5839b3d06 100644 --- a/pkgs/applications/editors/joe/default.nix +++ b/pkgs/applications/editors/joe/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "4.6"; - name = "joe-${version}"; + pname = "joe"; src = fetchurl { - url = "mirror://sourceforge/joe-editor/${name}.tar.gz"; + url = "mirror://sourceforge/joe-editor/${pname}-${version}.tar.gz"; sha256 = "1pmr598xxxm9j9dl93kq4dv36zyw0q2dh6d7x07hf134y9hhlnj9"; }; diff --git a/pkgs/applications/editors/jucipp/default.nix b/pkgs/applications/editors/jucipp/default.nix index 08918beb8d5..cb9f10281c7 100644 --- a/pkgs/applications/editors/jucipp/default.nix +++ b/pkgs/applications/editors/jucipp/default.nix @@ -1,12 +1,12 @@ -{ 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; stdenv.mkDerivation rec { - name = "juicipp-${version}"; + pname = "juicipp"; version = "1.2.3"; meta = { @@ -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/jupp/default.nix b/pkgs/applications/editors/jupp/default.nix index 5e6406e33f2..4a44b35a0fa 100644 --- a/pkgs/applications/editors/jupp/default.nix +++ b/pkgs/applications/editors/jupp/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { - name = "jupp-${version}"; + pname = "jupp"; version = "3.1"; srcName = "joe-3.1jupp31"; diff --git a/pkgs/applications/editors/jupyter/kernel.nix b/pkgs/applications/editors/jupyter/kernel.nix index cdb6b6212bd..4a079625d18 100644 --- a/pkgs/applications/editors/jupyter/kernel.nix +++ b/pkgs/applications/editors/jupyter/kernel.nix @@ -37,15 +37,15 @@ in installPhase = '' mkdir kernels - ${concatStringsSep "\n" (mapAttrsToList (kernelName: kernel: + ${concatStringsSep "\n" (mapAttrsToList (kernelName: unfilteredKernel: let - config = builtins.toJSON { - display_name = if (kernel.displayName != "") - then kernel.displayName - else kernelName; - argv = kernel.argv; - language = kernel.language; - }; + allowedKernelKeys = ["argv" "displayName" "language" "interruptMode" "env" "metadata" "logo32" "logo64"]; + kernel = filterAttrs (n: v: (any (x: x == n) allowedKernelKeys)) unfilteredKernel; + config = builtins.toJSON ( + kernel + // {display_name = if (kernel.displayName != "") then kernel.displayName else kernelName;} + // (optionalAttrs (kernel ? interruptMode) { interrupt_mode = kernel.interruptMode; }) + ); logo32 = if (kernel.logo32 != null) then "ln -s ${kernel.logo32} 'kernels/${kernelName}/logo-32x32.png';" @@ -67,7 +67,7 @@ in meta = { description = "Wrapper to create jupyter notebook kernel definitions"; - homepage = http://jupyter.org/; + 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 16596056c9a..065657d16e2 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-${version}"; - version = "2019.01.20"; + pname = "kakoune-unwrapped"; + version = "2019.07.01"; src = fetchFromGitHub { repo = "kakoune"; owner = "mawww"; rev = "v${version}"; - sha256 = "04ak1jm7b1i03sx10z3fxw08rn692y2fj482jn5kpzfzj91b2ila"; + sha256 = "0jdkldq5rygzc0wcxr1j4fmp2phciy8602ghhf6xq21a9bq2v639"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ ncurses asciidoc docbook_xsl libxslt ]; @@ -25,6 +25,11 @@ stdenv.mkDerivation rec { export version="v${version}" ''; + doInstallCheckPhase = true; + installCheckPhase = '' + $out/bin/kak -ui json -E "kill 0" + ''; + meta = { homepage = http://kakoune.org/; description = "A vim inspired text editor"; diff --git a/pkgs/applications/editors/kakoune/plugins.nix b/pkgs/applications/editors/kakoune/plugins.nix new file mode 100644 index 00000000000..d2f3607d63c --- /dev/null +++ b/pkgs/applications/editors/kakoune/plugins.nix @@ -0,0 +1,5 @@ +{ parinfer-rust }: + +{ + inherit parinfer-rust; +} diff --git a/pkgs/applications/editors/kakoune/wrapper.nix b/pkgs/applications/editors/kakoune/wrapper.nix new file mode 100644 index 00000000000..b4cc823880e --- /dev/null +++ b/pkgs/applications/editors/kakoune/wrapper.nix @@ -0,0 +1,44 @@ +{ stdenv, bash }: +with stdenv.lib; + +kakoune: + +let + getPlugins = { plugins ? [] }: plugins; + + wrapper = { configure ? {} }: + stdenv.mkDerivation rec { + pname = "kakoune"; + version = getVersion kakoune; + + src = ./.; + buildCommand = '' + mkdir -p $out/share/kak + for plugin in ${strings.escapeShellArgs (getPlugins configure)}; do + if [[ -d $plugin/share/kak/autoload ]]; then + find "$plugin/share/kak/autoload" -type f -name '*.kak'| while read rcfile; do + printf 'source "%s"\n' "$rcfile" + done + fi + done >>$out/share/kak/plugins.kak + + mkdir -p $out/bin + substitute ${src}/wrapper.sh $out/bin/kak \ + --subst-var-by bash "${bash}" \ + --subst-var-by kakoune "${kakoune}" \ + --subst-var-by out "$out" + chmod +x $out/bin/kak + ''; + + preferLocalBuild = true; + buildInputs = [ bash kakoune ]; + passthru = { unwrapped = kakoune; }; + + meta = kakoune.meta // { + # prefer wrapper over the package + priority = (kakoune.meta.priority or 0) - 1; + hydraPlatforms = []; + }; + }; +in + makeOverridable wrapper diff --git a/pkgs/applications/editors/kakoune/wrapper.sh b/pkgs/applications/editors/kakoune/wrapper.sh new file mode 100644 index 00000000000..48a971a10c6 --- /dev/null +++ b/pkgs/applications/editors/kakoune/wrapper.sh @@ -0,0 +1,30 @@ +#!@bash@/bin/bash + +# We use the -E option to load plugins. This only makes sense when we are +# starting a new session, so we detect that. Also, Kakoune can only handle +# one -E option, so we prepend loading plugins to an existing one. +args=( "$@" ) +loadPlugins=true +EValueOffset=-1 +pluginScript='@out@/share/kak/plugins.kak' + +for (( i = 0; i < ${#args[@]}; i++ )); do + case "${args[i]}" in + -n|-c|-l|-p|-clear|-version) loadPlugins=false;; + -E) EValueOffset=$(( i + 1 ));; + --) break;; + esac + case "${args[i]}" in + -E|-c|-e|-s|-p|-f|-i|-ui|-debug) i=$(( i + 1 ));; + esac +done + +if [[ $loadPlugins = true ]]; then + if (( EValueOffset >= 0 )); then + args[EValueOffset]="source '$pluginScript'"$'\n'"${args[EValueOffset]}" + else + args=( "-E" "source '$pluginScript'" "${args[@]}" ) + fi +fi + +exec @kakoune@/bin/kak "${args[@]}" diff --git a/pkgs/applications/editors/kdevelop5/kdev-php.nix b/pkgs/applications/editors/kdevelop5/kdev-php.nix index 532bb99e7d8..54e99b35b5e 100644 --- a/pkgs/applications/editors/kdevelop5/kdev-php.nix +++ b/pkgs/applications/editors/kdevelop5/kdev-php.nix @@ -1,21 +1,14 @@ { stdenv, lib, fetchurl, cmake, extra-cmake-modules, threadweaver, ktexteditor, kdevelop-unwrapped, kdevelop-pg-qt }: -let - pname = "kdev-php"; - version = "5.3.1"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; + pname = "kdev-php"; + version = "5.4.1"; src = fetchurl { url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz"; - sha256 = "1xiz4v6w30dsa7l4nk3jw3hxpkx71b0yaaj2k8s7xzgjif824bgl"; + sha256 = "07j06k2f5rbwgknwcbj70wwn831a54is4kiwlpfd4la2c05slmy5"; }; - cmakeFlags = [ - "-DBUILD_TESTING=OFF" - ]; - nativeBuildInputs = [ cmake extra-cmake-modules ]; buildInputs = [ kdevelop-pg-qt threadweaver ktexteditor kdevelop-unwrapped ]; @@ -23,7 +16,7 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.aanderse ]; platforms = platforms.linux; description = "PHP support for KDevelop"; - homepage = https://www.kdevelop.org; + 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 index be27e10f42a..8763905fbfd 100644 --- a/pkgs/applications/editors/kdevelop5/kdev-python.nix +++ b/pkgs/applications/editors/kdevelop5/kdev-python.nix @@ -1,19 +1,15 @@ { stdenv, lib, fetchurl, cmake, extra-cmake-modules, threadweaver, ktexteditor, kdevelop-unwrapped, python }: -let - pname = "kdev-python"; - version = "5.3.1"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; + pname = "kdev-python"; + version = "5.4.1"; src = fetchurl { url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz"; - sha256 = "11hf8n6vrlaz31c0p3xbnf0df2q5j6ykgc9ip0l5g33kadwn5b9j"; + sha256 = "1dazd77bkjs11h318q4ia6ijk0d0s04v0zm8lwqlgcj271sqrfqb"; }; cmakeFlags = [ - "-DBUILD_TESTING=OFF" "-DPYTHON_EXECUTABLE=${python}/bin/python" ]; @@ -24,7 +20,7 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.aanderse ]; platforms = platforms.linux; description = "Python support for KDevelop"; - homepage = https://www.kdevelop.org; + homepage = "https://www.kdevelop.org"; license = [ licenses.gpl2 ]; }; } diff --git a/pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix b/pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix index fac18c0b129..0ed4fe0aaad 100644 --- a/pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix +++ b/pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix @@ -2,7 +2,7 @@ let pname = "kdevelop-pg-qt"; - version = "2.1.0"; + version = "2.2.0"; in stdenv.mkDerivation rec { @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz"; - sha256 = "20d84d25bd40610bd6c0964e4fe0642e56c41b76a65575122dc5196649621e5d"; + sha256 = "01a4y98hf8zlrdf5l8f4izqh4n3j3xs93j8ny5a3f4z50nb6hxq7"; }; nativeBuildInputs = [ cmake pkgconfig extra-cmake-modules ]; diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix index 98154b4a5eb..be80587ef3a 100644 --- a/pkgs/applications/editors/kdevelop5/kdevelop.nix +++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix @@ -7,17 +7,13 @@ , libksysguard, konsole, llvmPackages, makeWrapper, kpurpose, boost }: -let - pname = "kdevelop"; - version = "5.3.1"; - qtVersion = "5.${lib.versions.minor qtbase.version}"; -in mkDerivation rec { - name = "${pname}-${version}"; + pname = "kdevelop"; + version = "5.4.1"; src = fetchurl { - url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz"; - sha256 = "1098ra7qpal6578hsv20kvxc63v47sp85wjhqr5rgzr2fm7jf6fr"; + url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz"; + sha256 = "12iqgmhaxm9q085h50dzkswcmsp02jzm4jjgrhkx4jlzmf4w4jb8"; }; nativeBuildInputs = [ @@ -43,20 +39,14 @@ mkDerivation rec { "-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"))) {' - ''; + dontWrapQtApps = true; 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 QT_PLUGIN_PATH : $out/lib/qt-${qtVersion}/plugins + wrapQtApp "$out/bin/kdevelop" # Fix the (now wrapped) kdevelop! to find things in right places: # - Fixup the one use where KDEV_BASEDIR is assumed to contain kdevelop. @@ -76,7 +66,7 @@ mkDerivation rec { programing languages. It is based on KDevPlatform, KDE and Qt libraries and is under development since 1998. ''; - homepage = https://www.kdevelop.org; + homepage = "https://www.kdevelop.org"; license = with licenses; [ gpl2Plus lgpl2Plus ]; }; } diff --git a/pkgs/applications/editors/kodestudio/default.nix b/pkgs/applications/editors/kodestudio/default.nix index b212773712c..df46cb12338 100644 --- a/pkgs/applications/editors/kodestudio/default.nix +++ b/pkgs/applications/editors/kodestudio/default.nix @@ -21,7 +21,8 @@ let in stdenv.mkDerivation rec { - name = "kodestudio-${version}"; + pname = "kodestudio"; + inherit version; src = fetchurl { url = urlStr; diff --git a/pkgs/applications/editors/leafpad/default.nix b/pkgs/applications/editors/leafpad/default.nix index c3b46cf61df..795342fba5d 100644 --- a/pkgs/applications/editors/leafpad/default.nix +++ b/pkgs/applications/editors/leafpad/default.nix @@ -2,9 +2,9 @@ stdenv.mkDerivation rec { version = "0.8.18.1"; - name = "leafpad-${version}"; + pname = "leafpad"; src = fetchurl { - url = "https://download.savannah.gnu.org/releases/leafpad/${name}.tar.gz"; + url = "https://download.savannah.gnu.org/releases/leafpad/${pname}-${version}.tar.gz"; sha256 = "0b0az2wvqgvam7w0ns1j8xp2llslm1rx6h7zcsy06a7j0yp257cm"; }; diff --git a/pkgs/applications/editors/leo-editor/default.nix b/pkgs/applications/editors/leo-editor/default.nix index a2274be463e..ff824d8b45b 100644 --- a/pkgs/applications/editors/leo-editor/default.nix +++ b/pkgs/applications/editors/leo-editor/default.nix @@ -1,7 +1,7 @@ { stdenv, python3, fetchFromGitHub, makeWrapper, makeDesktopItem }: stdenv.mkDerivation rec { - name = "leo-editor-${version}"; + pname = "leo-editor"; version = "5.7.3"; src = fetchFromGitHub { diff --git a/pkgs/applications/editors/lighttable/default.nix b/pkgs/applications/editors/lighttable/default.nix index dfd6543c598..90e8c73e075 100644 --- a/pkgs/applications/editors/lighttable/default.nix +++ b/pkgs/applications/editors/lighttable/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, zlib, glib, alsaLib, makeDesktopItem -, dbus, gtk2, atk, pango, freetype, fontconfig, libgnome-keyring3, gdk_pixbuf +, dbus, gtk2, atk, pango, freetype, fontconfig, libgnome-keyring3, gdk-pixbuf , cairo, cups, expat, libgpgerror, nspr, gnome2, nss, xorg, systemd, libnotify }: let libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc zlib glib dbus gtk2 atk pango freetype libgnome-keyring3 nss - fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gnome2.GConf + fontconfig gdk-pixbuf cairo cups expat libgpgerror alsaLib nspr gnome2.GConf xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst xorg.libXcomposite xorg.libXi xorg.libXfixes libnotify xorg.libXrandr xorg.libXcursor @@ -21,13 +21,13 @@ let in stdenv.mkDerivation rec { - name = "lighttable-${version}"; + pname = "lighttable"; version = "0.8.1"; src = fetchurl { name = "LightTableLinux64.tar.gz"; - url = "https://github.com/LightTable/LightTable/releases/download/${version}/${name}-linux.tar.gz"; + url = "https://github.com/LightTable/LightTable/releases/download/${version}/${pname}-${version}-linux.tar.gz"; sha256 = "06fj725xfhf3fwrf7dya7ijmxq3v76kfmd4lr2067a92zhlwr5pv"; }; @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { installPhase = '' tar xf ${src} mkdir -p $out/{bin,share/LightTable} - mv ./${name}-linux/* $out/share/LightTable + mv ./${pname}-${version}-linux/* $out/share/LightTable patchelf \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ diff --git a/pkgs/applications/editors/manuskript/default.nix b/pkgs/applications/editors/manuskript/default.nix index 4f4be05f79e..ecbe7e8b719 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.8.0"; + version = "0.9.0"; src = fetchFromGitHub { repo = pname; owner = "olivierkes"; rev = version; - sha256 = "0vqz02p3m9n4hk2jplnklr9s6niqdm5iykab6nblqdm4plb04c34"; + sha256 = "13y1s0kba1ib6g977n7h920kyr7abdw03kpal512m7iwa9g2kdw8"; }; propagatedBuildInputs = [ diff --git a/pkgs/applications/editors/mg/default.nix b/pkgs/applications/editors/mg/default.nix index d0367d7c305..de1a5ce7879 100644 --- a/pkgs/applications/editors/mg/default.nix +++ b/pkgs/applications/editors/mg/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, pkgconfig, libbsd, ncurses }: +{ stdenv, fetchurl, pkgconfig, libbsd, ncurses, buildPackages }: stdenv.mkDerivation rec { - name = "mg-${version}"; + pname = "mg"; version = "20171014"; src = fetchurl { - url = "http://homepage.boetes.org/software/mg/${name}.tar.gz"; + url = "http://homepage.boetes.org/software/mg/${pname}-${version}.tar.gz"; sha256 = "0hakfikzsml7z0hja8m8mcahrmfy2piy81bq9nccsjplyfc9clai"; }; 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 fab3646efdf..e6b93f20c48 100644 --- a/pkgs/applications/editors/micro/default.nix +++ b/pkgs/applications/editors/micro/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "micro-${version}"; + pname = "micro"; version = "1.4.1"; goPackagePath = "github.com/zyedidia/micro"; diff --git a/pkgs/applications/editors/mindforger/default.nix b/pkgs/applications/editors/mindforger/default.nix index a027242c5ee..9cfcf95e78b 100644 --- a/pkgs/applications/editors/mindforger/default.nix +++ b/pkgs/applications/editors/mindforger/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, qmake, qtbase, qtwebkit }: stdenv.mkDerivation rec { - name = "mindforger-${version}"; + pname = "mindforger"; version = "1.48.2"; src = fetchurl { diff --git a/pkgs/applications/editors/moe/default.nix b/pkgs/applications/editors/moe/default.nix index 3f7eba73ca4..4e960524b94 100644 --- a/pkgs/applications/editors/moe/default.nix +++ b/pkgs/applications/editors/moe/default.nix @@ -5,11 +5,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "moe-${version}"; + pname = "moe"; version = "1.10"; src = fetchurl { - url = "mirror://gnu/moe/${name}.tar.lz"; + url = "mirror://gnu/moe/${pname}-${version}.tar.lz"; sha256 = "0fymywdiy9xqppcmvgs7mf7d3gfrky3jp5jkxs2l3v93asml9zcc"; }; diff --git a/pkgs/applications/editors/monodevelop/default.nix b/pkgs/applications/editors/monodevelop/default.nix index c2917aa394f..3a21eec07f4 100644 --- a/pkgs/applications/editors/monodevelop/default.nix +++ b/pkgs/applications/editors/monodevelop/default.nix @@ -7,10 +7,10 @@ stdenv.mkDerivation rec { version = "5.9.4.5"; revision = "8010a90f6e246b32364e3fb46ef2c9d1be9c9a2b"; - name = "monodevelop-${version}"; + pname = "monodevelop"; src = fetchurl { - url = "https://download.mono-project.com/sources/monodevelop/${name}.tar.bz2"; + url = "https://download.mono-project.com/sources/monodevelop/${pname}-${version}.tar.bz2"; sha256 = "0bim4bfv3zwijafl9g0cx3159zq43dlcv74mnyrda41j4p52w5ji"; }; diff --git a/pkgs/applications/editors/music/tuxguitar/default.nix b/pkgs/applications/editors/music/tuxguitar/default.nix index 1b1c6eaf9e5..70f99fa749b 100644 --- a/pkgs/applications/editors/music/tuxguitar/default.nix +++ b/pkgs/applications/editors/music/tuxguitar/default.nix @@ -7,10 +7,10 @@ let metadata = assert stdenv.hostPlatform.system == "i686-linux" || stdenv.hostP { arch = "x86_64"; sha256 = "12af47jhlrh9aq5b3d13l7cdhlndgnfpy61gz002hajbq7i00ixh"; }; in stdenv.mkDerivation rec { version = "1.2"; - name = "tuxguitar-${version}"; + pname = "tuxguitar"; src = fetchurl { - url = "mirror://sourceforge/tuxguitar/${name}-linux-${metadata.arch}.tar.gz"; + url = "mirror://sourceforge/tuxguitar/${pname}-${version}-linux-${metadata.arch}.tar.gz"; sha256 = metadata.sha256; }; diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix index 0e313d33736..aea585ce8d6 100644 --- a/pkgs/applications/editors/nano/default.nix +++ b/pkgs/applications/editors/nano/default.nix @@ -19,12 +19,12 @@ let }; in stdenv.mkDerivation rec { - name = "nano-${version}"; - version = "3.2"; + pname = "nano"; + version = "4.4"; src = fetchurl { - url = "mirror://gnu/nano/${name}.tar.xz"; - sha256 = "0jb3zq0v84xb0chyynkcp2jhs9660wmpkic294p4p6c96npp69yi"; + url = "mirror://gnu/nano/${pname}-${version}.tar.xz"; + sha256 = "1iw2ypq34g1gfqyhgka2fz5yj5vrlz85q6zk7amgyj286ph25wia"; }; 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 index fb30036e146..7902ddc410c 100644 --- a/pkgs/applications/editors/nano/nanorc/default.nix +++ b/pkgs/applications/editors/nano/nanorc/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "nanorc-${version}"; + pname = "nanorc"; version = "2018-09-05"; src = fetchFromGitHub { diff --git a/pkgs/applications/editors/ne/default.nix b/pkgs/applications/editors/ne/default.nix index 9bc6425bc41..96687ab81d6 100644 --- a/pkgs/applications/editors/ne/default.nix +++ b/pkgs/applications/editors/ne/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { - name = "ne-${version}"; + pname = "ne"; version = "3.1.2"; src = fetchFromGitHub { owner = "vigna"; diff --git a/pkgs/applications/editors/nedit/default.nix b/pkgs/applications/editors/nedit/default.nix index 6fff6df8cdd..b1b3a416178 100644 --- a/pkgs/applications/editors/nedit/default.nix +++ b/pkgs/applications/editors/nedit/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, xlibsWrapper, motif, libXpm }: stdenv.mkDerivation rec { - name = "nedit-${version}"; + pname = "nedit"; version = "5.7"; src = fetchurl { - url = "mirror://sourceforge/nedit/nedit-source/${name}-src.tar.gz"; + url = "mirror://sourceforge/nedit/nedit-source/${pname}-${version}-src.tar.gz"; sha256 = "0ym1zhjx9976rf2z5nr7dj4mjkxcicimhs686snjhdcpzxwsrndd"; }; diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix index ee7a7951785..7d558dfb893 100644 --- a/pkgs/applications/editors/neovim/default.nix +++ b/pkgs/applications/editors/neovim/default.nix @@ -20,14 +20,14 @@ let )); in stdenv.mkDerivation rec { - name = "neovim-unwrapped-${version}"; - version = "0.3.4"; + pname = "neovim-unwrapped"; + version = "0.3.8"; src = fetchFromGitHub { owner = "neovim"; repo = "neovim"; rev = "v${version}"; - sha256 = "07ncvgp6xfhiwc6hd7qf7zk28n3yj47p26qj1ji29vqkwnk28y3s"; + sha256 = "15flii3p4g9f65xy9jpkb8liajrvhm5ck4j39z6d6b1nkxr6ghwb"; }; patches = [ @@ -37,6 +37,7 @@ in ./system_rplugin_manifest.patch ]; + dontFixCmake = true; enableParallelBuilding = true; buildInputs = [ @@ -76,10 +77,11 @@ in disallowedReferences = [ stdenv.cc ]; cmakeFlags = [ - "-DLUA_PRG=${neovimLuaEnv}/bin/lua" + "-DLUA_PRG=${neovimLuaEnv.interpreter}" "-DGPERF_PRG=${gperf}/bin/gperf" ] ++ optional doCheck "-DBUSTED_PRG=${neovimLuaEnv}/bin/busted" + ++ optional (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON" ; # triggers on buffer overflow bug while running tests @@ -120,10 +122,7 @@ in # those contributions were copied from Vim (identified in the commit logs # by the vim-patch token). See LICENSE for details." license = with licenses; [ asl20 vim ]; - maintainers = with maintainers; [ manveru garbas rvolosatovs ]; + maintainers = with maintainers; [ manveru 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; }; } diff --git a/pkgs/applications/editors/neovim/neovim-remote.nix b/pkgs/applications/editors/neovim/neovim-remote.nix index cda45c2c739..92ff745d1a6 100644 --- a/pkgs/applications/editors/neovim/neovim-remote.nix +++ b/pkgs/applications/editors/neovim/neovim-remote.nix @@ -4,14 +4,14 @@ with stdenv.lib; pythonPackages.buildPythonApplication rec { pname = "neovim-remote"; - version = "2.1.4"; + version = "2.2.0"; disabled = !pythonPackages.isPy3k; src = fetchFromGitHub { owner = "mhinz"; repo = "neovim-remote"; rev = "v${version}"; - sha256 = "1s438cbyyzgg96b6639wk1ny6d6p2ywcba41l3r027wzyl7wrn8v"; + sha256 = "0vvwygyar835z947d5zgjywyhl7ajj63z0l8sb7w9kj1w5snb43x"; }; propagatedBuildInputs = with pythonPackages; [ pynvim psutil ]; diff --git a/pkgs/applications/editors/neovim/qt.nix b/pkgs/applications/editors/neovim/qt.nix index 3004bf544c4..83b14b4ea37 100644 --- a/pkgs/applications/editors/neovim/qt.nix +++ b/pkgs/applications/editors/neovim/qt.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchFromGitHub, cmake, doxygen, makeWrapper +{ stdenv, mkDerivation, fetchFromGitHub, cmake, doxygen, makeWrapper , msgpack, neovim, pythonPackages, qtbase }: let - unwrapped = stdenv.mkDerivation rec { + unwrapped = mkDerivation rec { pname = "neovim-qt-unwrapped"; - version = "0.2.11"; + version = "0.2.12"; src = fetchFromGitHub { owner = "equalsraf"; repo = "neovim-qt"; rev = "v${version}"; - sha256 = "0pc1adxc89p2rdvb6nxyqr9sjzqz9zw2dg7a4ardxsl3a8jga1wh"; + sha256 = "09s3044j0y8nmyi8ykslfii6fx7k9mckmdvb0jn2xmdabpb60i20"; }; cmakeFlags = [ @@ -24,7 +24,7 @@ let jinja2 python msgpack ]); - nativeBuildInputs = [ cmake doxygen makeWrapper ]; + nativeBuildInputs = [ cmake doxygen ]; enableParallelBuilding = true; diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock index a95ced76371..6a3f581c4e8 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 af887161ea6..28a53cc590f 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/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index 7d76bc1fd1a..ec799c0fa49 100644 --- a/pkgs/applications/editors/neovim/wrapper.nix +++ b/pkgs/applications/editors/neovim/wrapper.nix @@ -12,7 +12,8 @@ neovim: let wrapper = { - withPython ? true, extraPythonPackages ? (_: []) /* the function you would have passed to python.withPackages */ + extraMakeWrapperArgs ? "" + , 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 @@ -99,7 +100,7 @@ let # Only display the log on error since it will contain a few normally # irrelevant messages. if ! $out/bin/nvim \ - -u ${vimUtils.vimrcFile (configure // { customRC = ""; })} \ + -u ${vimUtils.vimrcFile (configure // { customRC = ""; beforePlugins = ''filetype indent plugin on | syn on''; })} \ -i NONE -n \ -E -V1rplugins.log -s \ +UpdateRemotePlugins +quit! > outfile 2>&1; then @@ -113,7 +114,7 @@ let # 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}" + --add-flags "-u ${vimUtils.vimrcFile configure}" ${extraMakeWrapperArgs} ''; preferLocalBuild = true; diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix index 9af60ca4fcb..ba01304f723 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 = "11.0"; desktopItem = makeDesktopItem { name = "netbeans"; exec = "netbeans"; @@ -10,13 +11,15 @@ let desktopName = "Netbeans IDE"; genericName = "Integrated Development Environment"; categories = "Application;Development;"; + icon = "netbeans"; }; in stdenv.mkDerivation { - name = "netbeans-8.2"; + pname = "netbeans"; + inherit 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 = "15mv59njrnq3sjfzb0n7xcc79kpixygf37cxvbswnvm651cw6lb1i9w8wbjivh0z4zcf3f62vbmshxh5pkaxqpqsg0iyy6gddfbwzwx"; }; buildCommand = '' @@ -26,23 +29,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 ab79c3e780b..efda2c58360 100644 --- a/pkgs/applications/editors/notepadqq/default.nix +++ b/pkgs/applications/editors/notepadqq/default.nix @@ -1,9 +1,8 @@ -{ stdenv, fetchFromGitHub, pkgconfig, which, qtbase, qtsvg, qttools, qtwebkit}: +{ mkDerivation, lib, fetchFromGitHub, pkgconfig, which, qtbase, qtsvg, qttools, qtwebkit }: -let +mkDerivation rec { + pname = "notepadqq"; version = "1.4.8"; -in stdenv.mkDerivation { - name = "notepadqq-${version}"; src = fetchFromGitHub { owner = "notepadqq"; repo = "notepadqq"; @@ -24,13 +23,19 @@ in stdenv.mkDerivation { export LRELEASE="lrelease" ''; + dontWrapQtApps = true; + + preFixup = '' + wrapQtApp $out/bin/notepadqq + ''; + enableParallelBuilding = true; - meta = { + meta = with lib; { homepage = https://notepadqq.com/; description = "Notepad++-like editor for the Linux desktop"; - license = stdenv.lib.licenses.gpl3; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ rszibele ]; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.rszibele ]; }; } diff --git a/pkgs/applications/editors/okteta/default.nix b/pkgs/applications/editors/okteta/default.nix index 3cc3b914389..287758e0fd8 100644 --- a/pkgs/applications/editors/okteta/default.nix +++ b/pkgs/applications/editors/okteta/default.nix @@ -3,12 +3,12 @@ , qca-qt5, shared-mime-info }: stdenv.mkDerivation rec { - name = "okteta-${version}"; - version = "0.25.5"; + pname = "okteta"; + version = "0.26.2"; src = fetchurl { - url = "mirror://kde/stable/okteta/${version}/src/${name}.tar.xz"; - sha256 = "1680hx4n36msz86gyjsdr5v7nf8rpybvzrvfw8y98l95hfq3l6g9"; + url = "mirror://kde/stable/okteta/${version}/src/${pname}-${version}.tar.xz"; + sha256 = "0k38hd9wq6jvzy0225y61rzr7lgwbac1haalhsrfpmyjy6d833dv"; }; nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ]; diff --git a/pkgs/applications/editors/quilter/default.nix b/pkgs/applications/editors/quilter/default.nix index 9edac16507c..49ebe579ed4 100644 --- a/pkgs/applications/editors/quilter/default.nix +++ b/pkgs/applications/editors/quilter/default.nix @@ -1,39 +1,36 @@ -{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, meson, ninja, python3 +{ stdenv, fetchFromGitHub, pkgconfig, meson, ninja, python3 , gtk3, desktop-file-utils, gtksourceview, webkitgtk, gtkspell3, pantheon -, gnome3, discount, gobject-introspection, wrapGAppsHook }: +, libgee, discount, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "quilter"; - version = "1.6.8"; - - name = "${pname}-${version}"; + version = "1.9.5"; src = fetchFromGitHub { owner = "lainsce"; repo = pname; rev = version; - sha256 = "07i9pivpddgixn1wzbr15gvzf0n5pklx0gkjjaa35kvj2z8k31x5"; + sha256 = "119ri6lkzqapi5k0v818qkhg1916jj9s6bh72yqvc2wmyjnn2dbw"; }; nativeBuildInputs = [ desktop-file-utils - gobject-introspection meson ninja + pantheon.vala pkgconfig python3 - pantheon.vala wrapGAppsHook ]; buildInputs = [ discount - pantheon.elementary-icon-theme - pantheon.granite - gnome3.libgee gtk3 gtksourceview gtkspell3 + libgee + pantheon.elementary-icon-theme + pantheon.granite webkitgtk ]; @@ -46,7 +43,7 @@ stdenv.mkDerivation rec { description = "Focus on your writing - designed for elementary OS"; homepage = https://github.com/lainsce/quilter; license = licenses.gpl2Plus; - maintainers = with maintainers; [ worldofpeace ]; + maintainers = pantheon.maintainers; platforms = platforms.linux; }; } diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix index de9a089ec8c..11a5b4c7ba3 100644 --- a/pkgs/applications/editors/rednotebook/default.nix +++ b/pkgs/applications/editors/rednotebook/default.nix @@ -1,17 +1,17 @@ { lib, buildPythonApplication, fetchFromGitHub -, gdk_pixbuf, glib, gobject-introspection, gtk3, gtksourceview, pango, webkitgtk +, gdk-pixbuf, glib, gobject-introspection, gtk3, gtksourceview, pango, webkitgtk , pygobject3, pyyaml }: buildPythonApplication rec { pname = "rednotebook"; - version = "2.8"; + version = "2.11.1"; src = fetchFromGitHub { owner = "jendrikseipp"; repo = "rednotebook"; rev = "v${version}"; - sha256 = "0k75lw3p6jx30ngvn8iipk1763gazkbrsad3fpl3sqppaqaggryj"; + sha256 = "04c7a0wgmdl88v9386y1052c38ajbkryiwhqps5lx34d4g7r6hm1"; }; # We have not packaged tests. @@ -20,7 +20,7 @@ buildPythonApplication rec { nativeBuildInputs = [ gobject-introspection ]; propagatedBuildInputs = [ - gdk_pixbuf glib gtk3 gtksourceview pango webkitgtk + gdk-pixbuf glib gtk3 gtksourceview pango webkitgtk pygobject3 pyyaml ]; @@ -30,6 +30,10 @@ buildPythonApplication rec { "--suffix XDG_DATA_DIRS : $XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ]; + # Until gobject-introspection in nativeBuildInputs is supported. + # https://github.com/NixOS/nixpkgs/issues/56943#issuecomment-472568643 + strictDeps = false; + meta = with lib; { homepage = http://rednotebook.sourceforge.net/; description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds"; diff --git a/pkgs/applications/editors/retext/default.nix b/pkgs/applications/editors/retext/default.nix new file mode 100644 index 00000000000..a7dc02a9a63 --- /dev/null +++ b/pkgs/applications/editors/retext/default.nix @@ -0,0 +1,63 @@ +{ 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/default.nix b/pkgs/applications/editors/rstudio/default.nix index 86fb972e94c..74e5460f529 100644 --- a/pkgs/applications/editors/rstudio/default.nix +++ b/pkgs/applications/editors/rstudio/default.nix @@ -1,60 +1,64 @@ -{ stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, cmake, boost -, zlib, openssl, R, qtbase, qtwebkit, qtwebchannel, qtxmlpatterns, libuuid -, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc +{ stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, cmake, boost, zlib +, openssl, R, qtbase, qtxmlpatterns, qtsensors, qtwebengine, qtwebchannel +, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc +, llvmPackages }: let verMajor = "1"; - verMinor = "1"; - verPatch = "463"; + verMinor = "2"; + verPatch = "1335"; version = "${verMajor}.${verMinor}.${verPatch}"; - ginVer = "1.5"; - gwtVer = "2.7.0"; + ginVer = "2.1.2"; + gwtVer = "2.8.1"; in stdenv.mkDerivation rec { - name = "RStudio-${version}"; + pname = "RStudio"; + inherit version; nativeBuildInputs = [ cmake unzip ant jdk makeWrapper pandoc ]; - buildInputs = [ boost zlib openssl R qtbase qtwebkit qtwebchannel - qtxmlpatterns libuuid ]; + buildInputs = [ boost zlib openssl R qtbase qtxmlpatterns qtsensors + qtwebengine qtwebchannel libuuid ]; src = fetchFromGitHub { owner = "rstudio"; repo = "rstudio"; rev = "v${version}"; - sha256 = "014g984znsczzy1fyn9y1ly3rbsngryfs674lfgciz60mqnl8im6"; + sha256 = "0jv1d4yznv2lzwp0fdf377vqpg0k2q4z9qvji4sj86fabj835lqd"; }; - # Hack RStudio to only use the input R. - patches = [ ./r-location.patch ]; - postPatch = "substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}"; + # 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 = "155bjrgkf046b8ln6a55x06ryvm8agnnl7l8bkwwzqazbpmz8qgm"; + sha256 = "16jzmljravpz6p2rxa87k5f7ir8vs7ya75lnfybfajzmci0p13mr"; }; gwtSrc = fetchurl { url = "https://s3.amazonaws.com/rstudio-buildtools/gwt-${gwtVer}.zip"; - sha256 = "1cs78z9a1jg698j2n35wsy07cy4fxcia9gi00x0r0qc3fcdhcrda"; + sha256 = "19x000m3jwnkqgi6ic81lkzyjvvxcfacw2j0vcfcaknvvagzhyhb"; }; - hunspellDictionaries = with stdenv.lib; filter isDerivation (attrValues hunspellDicts); + hunspellDictionaries = with stdenv.lib; filter isDerivation (unique (attrValues hunspellDicts)); mathJaxSrc = fetchurl { url = https://s3.amazonaws.com/rstudio-buildtools/mathjax-26.zip; sha256 = "0wbcqb9rbfqqvvhqr1pbqax75wp8ydqdyhp91fbqfqp26xzjv6lk"; }; - rstudiolibclang = fetchurl { - url = https://s3.amazonaws.com/rstudio-buildtools/libclang-3.5.zip; - sha256 = "1sl5vb8misipwbbbykdymw172w9qrh8xv3p29g0bf3nzbnv6zc7c"; - }; - - rstudiolibclangheaders = fetchurl { - url = https://s3.amazonaws.com/rstudio-buildtools/libclang-builtin-headers.zip; - sha256 = "0x4ax186bm3kf098izwmsplckgx1kqzg9iiyzg95rpbqsb4593qb"; + rsconnectSrc = fetchFromGitHub { + owner = "rstudio"; + repo = "rsconnect"; + rev = "984745d8"; + sha256 = "037z0y32k1gdda192y5qn5hi7wp8wyap44mkjlklrgcqkmlcylb9"; }; preConfigure = @@ -80,13 +84,14 @@ stdenv.mkDerivation rec { done unzip ${mathJaxSrc} -d dependencies/common/mathjax-26 - mkdir -p dependencies/common/libclang/3.5 - unzip ${rstudiolibclang} -d dependencies/common/libclang/3.5 - mkdir -p dependencies/common/libclang/builtin-headers - unzip ${rstudiolibclangheaders} -d dependencies/common/libclang/builtin-headers 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; @@ -94,7 +99,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" "-DQT_QMAKE_EXECUTABLE=$NIX_QT5_TMP/bin/qmake" ]; desktopItem = makeDesktopItem { - name = name; + name = "${pname}-${version}"; exec = "rstudio %F"; icon = "rstudio"; desktopName = "RStudio"; diff --git a/pkgs/applications/editors/rstudio/fix-cmake.patch b/pkgs/applications/editors/rstudio/fix-cmake.patch deleted file mode 100644 index 3effc0eaa32..00000000000 --- a/pkgs/applications/editors/rstudio/fix-cmake.patch +++ /dev/null @@ -1,15 +0,0 @@ -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 deleted file mode 100644 index 55c83ca85a6..00000000000 --- a/pkgs/applications/editors/rstudio/preview.nix +++ /dev/null @@ -1,119 +0,0 @@ -{ 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/scite/default.nix b/pkgs/applications/editors/scite/default.nix index 2f4693982a9..2dceee0a37d 100644 --- a/pkgs/applications/editors/scite/default.nix +++ b/pkgs/applications/editors/scite/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, gtk2 }: stdenv.mkDerivation rec { - name = "scite-${version}"; + pname = "scite"; version = "4.0.5"; src = fetchurl { diff --git a/pkgs/applications/editors/sigil/default.nix b/pkgs/applications/editors/sigil/default.nix index ef0d98455f2..ac171f60ead 100644 --- a/pkgs/applications/editors/sigil/default.nix +++ b/pkgs/applications/editors/sigil/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, makeWrapper +{ stdenv, mkDerivation, fetchFromGitHub, cmake, pkgconfig, makeWrapper , boost, xercesc , qtbase, qttools, qtwebkit, qtxmlpatterns , python3, python3Packages }: -stdenv.mkDerivation rec { - name = "sigil-${version}"; - version = "0.9.10"; +mkDerivation rec { + pname = "sigil"; + version = "0.9.14"; src = fetchFromGitHub { - sha256 = "11r7043kbqv67z1aqk929scsg6yllldpl8icl32dw3dai7f1c658"; + sha256 = "0fmfbfpnmhclbbv9cbr1xnv97si6ls7331kk3ix114iqkngqwgl1"; rev = version; repo = "Sigil"; owner = "Sigil-Ebook"; @@ -17,17 +17,18 @@ stdenv.mkDerivation rec { pythonPath = with python3Packages; [ lxml ]; - propagatedBuildInputs = with python3Packages; [ lxml ]; - nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; buildInputs = [ boost xercesc qtbase qttools qtwebkit qtxmlpatterns - python3 python3Packages.lxml ]; + python3Packages.lxml ]; + + dontWrapQtApps = true; preFixup = '' wrapProgram "$out/bin/sigil" \ - --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath ${python3Packages.lxml}) + --prefix PYTHONPATH : $PYTHONPATH \ + ''${qtWrapperArgs[@]} ''; enableParallelBuilding = true; @@ -36,7 +37,7 @@ stdenv.mkDerivation rec { description = "Free, open source, multi-platform ebook (ePub) editor"; homepage = https://github.com/Sigil-Ebook/Sigil/; license = licenses.gpl3; - maintainers =[ maintainers.ramkromberg ]; + # currently unmaintained platforms = platforms.linux; }; } diff --git a/pkgs/applications/editors/standardnotes/default.nix b/pkgs/applications/editors/standardnotes/default.nix index 0787250fece..629bd9d019d 100644 --- a/pkgs/applications/editors/standardnotes/default.nix +++ b/pkgs/applications/editors/standardnotes/default.nix @@ -1,7 +1,7 @@ -{ stdenv, appimage-run, fetchurl }: +{ stdenv, appimage-run, fetchurl, runtimeShell }: let - version = "2.3.12"; + version = "3.0.15"; plat = { "i386-linux" = "i386"; @@ -9,13 +9,14 @@ let }.${stdenv.hostPlatform.system}; sha256 = { - "i386-linux" = "0q7izk20r14kxn3n4pn92jgnynfnlnylg55brz8n1lqxc0dc3v24"; - "x86_64-linux" = "0myg4qv0vrwh8s9sckb12ld9f86ymx4yypvpy0w5qn1bxk5hbafc"; + "i386-linux" = "0v2nsis6vb1lnhmjd28vrfxqwwpycv02j0nvjlfzcgj4b3400j7a"; + "x86_64-linux" = "130n586cw0836zsbwqcz3pp3h0d4ny74ngqs4k4cvfb92556r7xh"; }.${stdenv.hostPlatform.system}; in stdenv.mkDerivation rec { - name = "standardnotes-${version}"; + pname = "standardnotes"; + inherit version; src = fetchurl { url = "https://github.com/standardnotes/desktop/releases/download/v${version}/standard-notes-${version}-${plat}.AppImage"; @@ -24,12 +25,12 @@ stdenv.mkDerivation rec { buildInputs = [ appimage-run ]; - unpackPhase = ":"; + dontUnpack = true; installPhase = '' mkdir -p $out/{bin,share} cp $src $out/share/standardNotes.AppImage - echo "#!${stdenv.shell}" > $out/bin/standardnotes + 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 ''; diff --git a/pkgs/applications/editors/sublime/3/common.nix b/pkgs/applications/editors/sublime/3/common.nix index 71bd3544feb..8e52237d949 100644 --- a/pkgs/applications/editors/sublime/3/common.nix +++ b/pkgs/applications/editors/sublime/3/common.nix @@ -1,46 +1,49 @@ -{buildVersion, x32sha256, x64sha256}: +{ buildVersion, x32sha256, x64sha256, dev ? false }: -{ fetchurl, stdenv, glib, xorg, cairo, gtk2, gtk3, pango, makeWrapper, wrapGAppsHook, openssl, bzip2, - pkexecPath ? "/run/wrappers/bin/pkexec", libredirect, - gksuSupport ? false, gksu, unzip, zip, bash}: - -assert gksuSupport -> gksu != null; +{ fetchurl, stdenv, xorg, glib, glibcLocales, gtk3, cairo, pango, libredirect, makeWrapper, wrapGAppsHook +, pkexecPath ? "/run/wrappers/bin/pkexec" +, writeScript, common-updater-scripts, curl, gnugrep +, openssl, bzip2, bash, unzip, zip +}: let - legacy = stdenv.lib.versionOlder buildVersion "3181"; - libPath = stdenv.lib.makeLibraryPath [ glib xorg.libX11 (if legacy then gtk2 else gtk3) 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"; + versionUrl = "https://www.sublimetext.com/${if dev then "3dev" else "3"}"; + versionFile = builtins.toString ./packages.nix; archSha256 = if stdenv.hostPlatform.system == "i686-linux" then x32sha256 else x64sha256; - arch = 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 gtk3 cairo pango ]; + redirects = [ "/usr/bin/pkexec=${pkexecPath}" ]; +in let + binaryPackage = stdenv.mkDerivation { + pname = "${pname}-bin"; + version = buildVersion; + + src = fetchurl { + url = downloadUrl; + sha256 = archSha256; + }; dontStrip = true; dontPatchELF = true; - buildInputs = stdenv.lib.optionals (!legacy) [ glib gtk3 ]; # for GSETTINGS_SCHEMAS_PATH - nativeBuildInputs = [ makeWrapper zip unzip ] ++ stdenv.lib.optional (!legacy) wrapGAppsHook; + buildInputs = [ glib gtk3 ]; # for GSETTINGS_SCHEMAS_PATH + nativeBuildInputs = [ zip unzip makeWrapper 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 @@ -60,15 +63,15 @@ in let buildPhase = '' runHook preBuild - for i in sublime_text plugin_host crash_reporter; do + 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 + # Rewrite pkexec argument. Note that we cannot delete bytes in binary. + sed -i -e 's,/bin/cp\x00,cp\x00\x00\x00\x00\x00\x00,g' ${primaryBinary} runHook postBuild ''; @@ -76,11 +79,8 @@ in let installPhase = '' runHook preInstall - # 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 - 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 @@ -95,42 +95,58 @@ in let 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} \ - ${stdenv.lib.optionalString (!legacy) ''"''${gappsWrapperArgs[@]}"''} + --set LOCALE_ARCHIVE "${glibcLocales.out}/lib/locale/locale-archive" \ + "''${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 + 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 + ''; - cat > $out/bin/subl <<-EOF + passthru.updateScript = writeScript "${pname}-update-script" '' #!${stdenv.shell} - exec $sublime/sublime_text "\$@" - EOF - chmod +x $out/bin/subl + set -o errexit + PATH=${stdenv.lib.makeBinPath [ common-updater-scripts curl gnugrep ]} - 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 + 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; { description = "Sophisticated text editor for code, markup and prose"; homepage = https://www.sublimetext.com/; - maintainers = with maintainers; [ wmertens demin-dmitriy zimbatm ]; + maintainers = with maintainers; [ jtojnar wmertens demin-dmitriy zimbatm ]; license = licenses.unfree; platforms = [ "x86_64-linux" "i686-linux" ]; }; diff --git a/pkgs/applications/editors/sublime/3/packages.nix b/pkgs/applications/editors/sublime/3/packages.nix index 2d214f18e9f..b8fef39d3ea 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 = "3184"; - x32sha256 = "1b6f1fid75g5z247dbnyyj276lrlv99scrdk1vvfcr6vyws77vzr"; - x64sha256 = "03127jhfjr17ai96p3axh5b5940fds8jcw6vkid8y6dmvd2dpylz"; + buildVersion = "3208"; + dev = true; + x32sha256 = "09k04fjryc0dc6173i6nwhi5xaan89n4lp0n083crvkqwp0qlf2i"; + x64sha256 = "12pn3yfm452m75dlyl0lyf82956j8raz2dglv328m81hbafflrj8"; } {}; sublime3 = common { - buildVersion = "3176"; - x32sha256 = "08asz13888d4ddsz81cfk7k3319dabzz1kgbnshw0756pvyrvr23"; - x64sha256 = "0cppkh5jx2g8f6jyy1bs81fpb90l0kn5m7y3skackpjdxhd7rwbl"; + buildVersion = "3207"; + x32sha256 = "14hfb8x8zb49zjq0pd8s73xk333gmf38h5b7g979czcmbhdxiyqy"; + x64sha256 = "1i1q9592sc8idvlpygksdkclh7h506hsz5l0i02g1814w0flzdmc"; } {}; } diff --git a/pkgs/applications/editors/supertux-editor/default.nix b/pkgs/applications/editors/supertux-editor/default.nix index a6d624d4b1e..efbca2949dd 100644 --- a/pkgs/applications/editors/supertux-editor/default.nix +++ b/pkgs/applications/editors/supertux-editor/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, mono, gtk-sharp-2_0, pkgconfig, makeWrapper, gnome2, gtk2 }: stdenv.mkDerivation rec { version = "git-2014-08-20"; - name = "supertux-editor-${version}"; + pname = "supertux-editor"; src = fetchFromGitHub { owner = "SuperTux"; diff --git a/pkgs/applications/editors/tecoc/default.nix b/pkgs/applications/editors/tecoc/default.nix index dd986b346a3..48af4a99dad 100644 --- a/pkgs/applications/editors/tecoc/default.nix +++ b/pkgs/applications/editors/tecoc/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { - name = "tecoc-git-${version}"; + pname = "tecoc-git"; version = "20150606"; src = fetchFromGitHub { @@ -28,9 +28,9 @@ stdenv.mkDerivation rec { makeFlags = [ "CC=${stdenv.cc}/bin/cc" "-C src/" ]; installPhase = '' - mkdir -p $out/bin $out/share/doc/${name} $out/lib/teco/macros + mkdir -p $out/bin $out/share/doc/${pname}-${version} $out/lib/teco/macros cp src/tecoc $out/bin - cp src/aaout.txt doc/* $out/share/doc/${name} + cp src/aaout.txt doc/* $out/share/doc/${pname}-${version} cp lib/* lib2/* $out/lib/teco/macros (cd $out/bin ln -s tecoc Make diff --git a/pkgs/applications/editors/texmacs/darwin.nix b/pkgs/applications/editors/texmacs/darwin.nix index dfb2e49e0c8..5d5843890e1 100644 --- a/pkgs/applications/editors/texmacs/darwin.nix +++ b/pkgs/applications/editors/texmacs/darwin.nix @@ -15,7 +15,8 @@ let }; in stdenv.mkDerivation { - name = "TeXmacs-${version}"; + pname = "TeXmacs"; + inherit version; src= fetchurl { url = "http://www.texmacs.org/Download/ftp/tmftp/source/TeXmacs-${version}-src.tar.gz"; diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix index ac5ac34d214..2c391cae517 100644 --- a/pkgs/applications/editors/texmacs/default.nix +++ b/pkgs/applications/editors/texmacs/default.nix @@ -1,5 +1,5 @@ { stdenv, callPackage, - fetchurl, guile_1_8, qt4, zlib, xmodmap, which, makeWrapper, freetype, + fetchurl, guile_1_8, qt4, xmodmap, which, makeWrapper, freetype, tex ? null, aspell ? null, ghostscriptX ? null, diff --git a/pkgs/applications/editors/texmaker/default.nix b/pkgs/applications/editors/texmaker/default.nix index 79ece9d62a9..2a4459ddc3e 100644 --- a/pkgs/applications/editors/texmaker/default.nix +++ b/pkgs/applications/editors/texmaker/default.nix @@ -3,10 +3,9 @@ stdenv.mkDerivation rec { pname = "texmaker"; version = "5.0.3"; - name = "${pname}-${version}"; src = fetchurl { - url = "http://www.xm1math.net/texmaker/${name}.tar.bz2"; + url = "http://www.xm1math.net/texmaker/${pname}-${version}.tar.bz2"; sha256 = "0vrj9w5lk3vf6138n5bz8phmy3xp5kv4dq1rgirghcf4hbxdyx30"; }; diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix index ca04cccdf17..04e2cb45e28 100644 --- a/pkgs/applications/editors/texstudio/default.nix +++ b/pkgs/applications/editors/texstudio/default.nix @@ -2,14 +2,13 @@ stdenv.mkDerivation rec { pname = "texstudio"; - version = "2.12.14"; - name = "${pname}-${version}"; + version = "2.12.16"; src = fetchFromGitHub { owner = "${pname}-org"; repo = pname; rev = version; - sha256 = "08vfhkgzhh1227wcvr5wwpnw0072c80nf2crhmxwh3jgjfgi538f"; + sha256 = "0ck65fvz6mzfpqdb1ndgyvgxdnslrwhdr1swgck4gaghcrgbg3gq"; }; nativeBuildInputs = [ qt5.qmake pkgconfig ]; diff --git a/pkgs/applications/editors/textadept/default.nix b/pkgs/applications/editors/textadept/default.nix index 79cad6a9782..85006e51b66 100644 --- a/pkgs/applications/editors/textadept/default.nix +++ b/pkgs/applications/editors/textadept/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchhg, fetchurl, gtk2, glib, pkgconfig, unzip, ncurses, zip }: stdenv.mkDerivation rec { version = "10.2"; - name = "textadept-${version}"; + pname = "textadept"; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ diff --git a/pkgs/applications/editors/texworks/default.nix b/pkgs/applications/editors/texworks/default.nix index fe90250d415..8042363f73c 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"; + pname = "texworks"; + 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 index ba68a5420a8..a6179452f4d 100644 --- a/pkgs/applications/editors/thonny/default.nix +++ b/pkgs/applications/editors/thonny/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchFromBitbucket, python3 }: +{ stdenv, fetchFromGitHub, python3 }: with python3.pkgs; buildPythonApplication rec { pname = "thonny"; - version = "3.0.5"; + version = "3.2.0b7"; - src = fetchFromBitbucket { - owner = "plas"; + src = fetchFromGitHub { + owner = pname; repo = pname; - rev = "e5a1ad4ae9d24066a769489b1e168b4bd6e00b03"; - sha256 = "1lrl5pj9dpw9i5ij863hd47gfd15nmvglqkl2ldwgfn7kgpsdkz5"; + rev = "v${version}"; + sha256 = "0p0hi5rj873cszx9rpbjjq51vs6xys3rlq9v1rya710i3fnw0hqh"; }; propagatedBuildInputs = with python3.pkgs; [ @@ -21,6 +21,7 @@ buildPythonApplication rec { pylint mypy pyperclip + asttokens ]; preInstall = '' diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix index ecdd7853d70..b0b80a4ec00 100644 --- a/pkgs/applications/editors/tiled/default.nix +++ b/pkgs/applications/editors/tiled/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, pkgconfig, qmake +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake , python, qtbase, qttools }: -stdenv.mkDerivation rec { - name = "tiled-${version}"; - version = "1.2.2"; +mkDerivation rec { + pname = "tiled"; + version = "1.2.4"; src = fetchFromGitHub { owner = "bjorn"; - repo = "tiled"; + repo = pname; rev = "v${version}"; - sha256 = "1yqw10izqhsnqwgxvws2n4ymcwawbh86srv7qmjwbsay752pfgfh"; + sha256 = "18a0pkq8j20v1njrl0sswm0ch10c6c4fas7q9kk2d2fd610ga6gh"; }; nativeBuildInputs = [ pkgconfig qmake ]; diff --git a/pkgs/applications/editors/tweak/default.nix b/pkgs/applications/editors/tweak/default.nix index aa3b4b99d7a..6bfce921d0f 100644 --- a/pkgs/applications/editors/tweak/default.nix +++ b/pkgs/applications/editors/tweak/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "tweak-${version}"; + pname = "tweak"; version = "3.02"; src = fetchurl { - url = "https://www.chiark.greenend.org.uk/~sgtatham/tweak/${name}.tar.gz"; + url = "https://www.chiark.greenend.org.uk/~sgtatham/tweak/${pname}-${version}.tar.gz"; sha256 = "06js54pr5hwpwyxj77zs5s40n5aqvaw48dkj7rid2d47pyqijk2v"; }; diff --git a/pkgs/applications/editors/typora/default.nix b/pkgs/applications/editors/typora/default.nix index ebd7c77f678..7273b7252ca 100644 --- a/pkgs/applications/editors/typora/default.nix +++ b/pkgs/applications/editors/typora/default.nix @@ -1,33 +1,45 @@ -{ stdenv, fetchurl, makeWrapper, electron_3, dpkg, gtk3, glib, gnome3, wrapGAppsHook }: +{ stdenv, fetchurl, makeWrapper, electron_5, dpkg, gtk3, glib, gsettings-desktop-schemas, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "typora"; - version = "0.9.64"; + version = "0.9.73"; src = fetchurl { url = "https://www.typora.io/linux/typora_${version}_amd64.deb"; - sha256 = "0dffydc11ys2i38gdy8080ph1xlbbzhcdcc06hyfv0dr0nf58a09"; + sha256 = "1fgcb4bx5pw8ah5j30d38gw7qi1cmqarfhvgdns9f2n0d57bvvw3"; }; - nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ]; + nativeBuildInputs = [ + dpkg + makeWrapper + wrapGAppsHook + ]; - buildInputs = [ gtk3 glib gnome3.gsettings-desktop-schemas ]; + buildInputs = [ + glib + gsettings-desktop-schemas + gtk3 + ]; unpackPhase = "dpkg-deb -x $src ."; dontWrapGApps = true; installPhase = '' - mkdir -p $out/bin $out/share/typora + runHook preInstall + + mkdir -p $out/bin $out/share { cd usr - mv share/typora/resources/app/* $out/share/typora - mv share/applications $out/share - mv share/icons $out/share - mv share/doc $out/share + mv share/typora/resources/app $out/share/typora + mv share/{applications,icons,doc} $out/share/ } - makeWrapper ${electron_3}/bin/electron $out/bin/typora \ + runHook postInstall + ''; + + postFixup = '' + makeWrapper ${electron_5}/bin/electron $out/bin/typora \ --add-flags $out/share/typora \ "''${gappsWrapperArgs[@]}" \ --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}" @@ -37,7 +49,7 @@ stdenv.mkDerivation rec { description = "A minimal Markdown reading & writing app"; homepage = https://typora.io; license = licenses.unfree; - maintainers = with maintainers; [ jensbin ]; - inherit (electron_3.meta) platforms; + maintainers = with maintainers; [ jensbin worldofpeace ]; + platforms = [ "x86_64-linux"]; }; } diff --git a/pkgs/applications/editors/uemacs/default.nix b/pkgs/applications/editors/uemacs/default.nix index 551fa67d986..fad4e82d37f 100644 --- a/pkgs/applications/editors/uemacs/default.nix +++ b/pkgs/applications/editors/uemacs/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, ncurses }: stdenv.mkDerivation rec { - name = "uemacs-${version}"; + pname = "uemacs"; version = "2014-12-08"; src = fetchgit { diff --git a/pkgs/applications/editors/vbindiff/default.nix b/pkgs/applications/editors/vbindiff/default.nix index 8d3a5353c98..d1aa59569e6 100644 --- a/pkgs/applications/editors/vbindiff/default.nix +++ b/pkgs/applications/editors/vbindiff/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "vbindiff-${version}"; + pname = "vbindiff"; version = "3.0_beta5"; buildInputs = [ ncurses ]; src = fetchurl { - url = "https://www.cjmweb.net/vbindiff/${name}.tar.gz"; + url = "https://www.cjmweb.net/vbindiff/${pname}-${version}.tar.gz"; sha256 = "1f1kj4jki08bnrwpzi663mjfkrx4wnfpzdfwd2qgijlkx5ysjkgh"; }; diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix index e0ac32c54ec..63d8add3a01 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.0578"; + version = "8.1.1547"; src = fetchFromGitHub { owner = "vim"; repo = "vim"; rev = "v${version}"; - sha256 = "0sawqxp2737y6mga9da36qya47h0idnnaxblzpsx8clw002piyv2"; + sha256 = "01v35wq8wjrbzmdf5r02gp0sfa9yyfswsi3fqzn94cd68qhskkpr"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix index 7ee28adfa47..1d65be3e73d 100644 --- a/pkgs/applications/editors/vim/configurable.nix +++ b/pkgs/applications/editors/vim/configurable.nix @@ -1,15 +1,16 @@ # 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 -{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, gettext -, writeText, config, glib, gtk2, gtk3, lua, python, perl, tcl, ruby +{ source ? "default", callPackage, stdenv, ncurses, pkgconfig, gettext +, writeText, config, glib, gtk2-x11, gtk3-x11, 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 +, CoreServices, CoreData, Cocoa, Foundation, libobjc , features ? "huge" # One of tiny, small, normal, big or huge , wrapPythonDrv ? false @@ -67,7 +68,7 @@ let in stdenv.mkDerivation rec { - name = "vim_configurable-${version}"; + pname = "vim_configurable"; inherit (common) version postPatch hardeningDisable enableParallelBuilding meta; @@ -129,9 +130,9 @@ in stdenv.mkDerivation rec { buildInputs = [ ncurses libX11 libXext libSM libXpm libXt libXaw libXau libXmu glib libICE ] - ++ 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 (guiSupport == "gtk2") gtk2-x11 + ++ stdenv.lib.optional (guiSupport == "gtk3") gtk3-x11 + ++ stdenv.lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc ] ++ stdenv.lib.optional luaSupport lua ++ stdenv.lib.optional pythonSupport python ++ stdenv.lib.optional tclSupport tcl @@ -157,22 +158,22 @@ in stdenv.mkDerivation rec { rewrap () { rm -f "$out/bin/$1" - echo -e '#!${stdenv.shell}\n"'"$out/bin/vim"'" '"$2"' "$@"' > "$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 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 vimdiff -d rewrap gvimdiff -gd ''; diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix index 2f34a6ddeb6..732bfbf0bfd 100644 --- a/pkgs/applications/editors/vim/default.nix +++ b/pkgs/applications/editors/vim/default.nix @@ -6,24 +6,20 @@ sha256 = "18ifhv5q9prd175q3vxbqf6qyvkk6bc7d2lhqdk0q78i68kv9y0c"; } # apple frameworks -, cf-private, Carbon, Cocoa +, Carbon, Cocoa }: let common = callPackage ./common.nix {}; in stdenv.mkDerivation rec { - name = "vim-${version}"; + pname = "vim"; inherit (common) version src postPatch hardeningDisable enableParallelBuilding meta; nativeBuildInputs = [ gettext pkgconfig ]; buildInputs = [ ncurses ] - ++ stdenv.lib.optionals stdenv.hostPlatform.isDarwin [ - Carbon Cocoa - # Needed for OBJC_CLASS_$_NSArray symbols. - cf-private - ]; + ++ stdenv.lib.optionals stdenv.hostPlatform.isDarwin [ Carbon Cocoa ]; configureFlags = [ "--enable-multibyte" diff --git a/pkgs/applications/editors/vim/macvim-sparkle.patch b/pkgs/applications/editors/vim/macvim-sparkle.patch new file mode 100644 index 00000000000..e0ba5145b3e --- /dev/null +++ b/pkgs/applications/editors/vim/macvim-sparkle.patch @@ -0,0 +1,106 @@ +diff --git a/src/MacVim/English.lproj/MainMenu.nib/designable.nib b/src/MacVim/English.lproj/MainMenu.nib/designable.nib +index bdbcfdb9e..5efc78ab6 100644 +--- a/src/MacVim/English.lproj/MainMenu.nib/designable.nib ++++ b/src/MacVim/English.lproj/MainMenu.nib/designable.nib +@@ -24,11 +24,6 @@ + + + +- +- +- +- +- + + + +@@ -206,6 +201,5 @@ + + + +- + + +diff --git a/src/MacVim/English.lproj/Preferences.nib/designable.nib b/src/MacVim/English.lproj/Preferences.nib/designable.nib +index 889450913..38afc3416 100644 +--- a/src/MacVim/English.lproj/Preferences.nib/designable.nib ++++ b/src/MacVim/English.lproj/Preferences.nib/designable.nib +@@ -88,14 +88,10 @@ + + + Checks for updates and presents a dialog box showing the release notes and prompt for whether you want to install the new version. +- ++ + + + +- +- +- +- + + + +@@ -186,16 +182,13 @@ + + + MacVim will automatically download and install updates without prompting. The updated version will be used the next time MacVim starts. +- ++ + + + + + + +- +- +- + + + +diff --git a/src/MacVim/MacVim.xcodeproj/project.pbxproj b/src/MacVim/MacVim.xcodeproj/project.pbxproj +index 648c4290d..c7dd99d1e 100644 +--- a/src/MacVim/MacVim.xcodeproj/project.pbxproj ++++ b/src/MacVim/MacVim.xcodeproj/project.pbxproj +@@ -66,8 +66,6 @@ + 1DFE25A50C527BC4003000F7 /* PSMTabBarControl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D493DB90C52533B00AB718C /* PSMTabBarControl.framework */; }; + 52818B031C1C08CE00F59085 /* QLStephen.qlgenerator in Copy QuickLookPlugin */ = {isa = PBXBuildFile; fileRef = 52818AFF1C1C075300F59085 /* QLStephen.qlgenerator */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 528DA66A1426D4F9003380F1 /* macvim-askpass in Copy Scripts */ = {isa = PBXBuildFile; fileRef = 528DA6691426D4EB003380F1 /* macvim-askpass */; }; +- 52A364731C4A5789005757EC /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52A364721C4A5789005757EC /* Sparkle.framework */; }; +- 52A364761C4A57C1005757EC /* Sparkle.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 52A364721C4A5789005757EC /* Sparkle.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 52B7ED9B1C4A4D6900AFFF15 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = 52B7ED9A1C4A4D6900AFFF15 /* dsa_pub.pem */; }; + 8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; }; + 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; +@@ -124,7 +122,6 @@ + dstPath = ""; + dstSubfolderSpec = 10; + files = ( +- 52A364761C4A57C1005757EC /* Sparkle.framework in Copy Frameworks */, + 1D493DBA0C52534300AB718C /* PSMTabBarControl.framework in Copy Frameworks */, + ); + name = "Copy Frameworks"; +@@ -250,7 +247,6 @@ + 32CA4F630368D1EE00C91783 /* MacVim_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MacVim_Prefix.pch; sourceTree = ""; }; + 52818AFA1C1C075300F59085 /* QuickLookStephen.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = QuickLookStephen.xcodeproj; path = qlstephen/QuickLookStephen.xcodeproj; sourceTree = ""; }; + 528DA6691426D4EB003380F1 /* macvim-askpass */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "macvim-askpass"; sourceTree = ""; }; +- 52A364721C4A5789005757EC /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sparkle.framework; sourceTree = ""; }; + 52B7ED9A1C4A4D6900AFFF15 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dsa_pub.pem; sourceTree = ""; }; + 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D1107320486CEB800E47090 /* MacVim.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MacVim.app; sourceTree = BUILT_PRODUCTS_DIR; }; +@@ -264,7 +260,6 @@ + 1DFE25A50C527BC4003000F7 /* PSMTabBarControl.framework in Frameworks */, + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, + 1D8B5A53104AF9FF002E59D5 /* Carbon.framework in Frameworks */, +- 52A364731C4A5789005757EC /* Sparkle.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +@@ -443,7 +438,6 @@ + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( +- 52A364721C4A5789005757EC /* Sparkle.framework */, + 1D8B5A52104AF9FF002E59D5 /* Carbon.framework */, + 1D493DB30C52533B00AB718C /* PSMTabBarControl.xcodeproj */, + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix index c97b17bd9af..82977c2e6bc 100644 --- a/pkgs/applications/editors/vim/macvim.nix +++ b/pkgs/applications/editors/vim/macvim.nix @@ -1,55 +1,73 @@ -{ stdenv, fetchFromGitHub, ncurses, gettext -, pkgconfig, python, ruby, tcl, perl, luajit +{ stdenv, fetchFromGitHub, runCommand, ncurses, gettext +, pkgconfig, cscope, ruby, tcl, perl, luajit , darwin + +, usePython27 ? false +, python27 ? null, python37 ? null }: -stdenv.mkDerivation rec { - name = "macvim-${version}"; +let + python = if usePython27 + then { pkg = python27; name = "python"; } + else { pkg = python37; name = "python3"; }; +in +assert python.pkg != null; - version = "7.4.909"; +let + # Building requires a few system tools to be in PATH. + # Some of these we could patch into the relevant source files (such as xcodebuild and + # qlmanage) but some are used by Xcode itself and we have no choice but to put them in PATH. + # Symlinking them in this way is better than just putting all of /usr/bin in there. + buildSymlinks = runCommand "macvim-build-symlinks" {} '' + mkdir -p $out/bin + ln -s /usr/bin/xcrun /usr/bin/xcodebuild /usr/bin/tiffutil /usr/bin/qlmanage $out/bin + ''; +in + +stdenv.mkDerivation rec { + pname = "macvim"; + + version = "8.1.1722"; src = fetchFromGitHub { owner = "macvim-dev"; repo = "macvim"; - rev = "75aa7774645adb586ab9010803773bd80e659254"; - sha256 = "0k04jimbms6zffh8i8fjm2y51q01m5kga2n4djipd3pxij1qy89y"; + rev = "snapshot-157"; + sha256 = "1gmgc4pwaqy78gj4p7iib94n7j52ir0aa03ks595h3vy1hkcwwky"; }; enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig buildSymlinks ]; buildInputs = [ - gettext ncurses luajit ruby tcl perl python + gettext ncurses cscope luajit ruby tcl perl python.pkg ]; - patches = [ ./macvim.patch ]; + patches = [ ./macvim.patch ./macvim-sparkle.patch ]; + # The sparkle patch modified the nibs, so we have to recompile them postPatch = '' - substituteInPlace src/MacVim/mvim --replace "# VIM_APP_DIR=/Applications" "VIM_APP_DIR=$out/Applications" - - # Don't create custom icons. - substituteInPlace src/MacVim/icons/Makefile --replace '$(MAKE) -C makeicns' "" - substituteInPlace src/MacVim/icons/make_icons.py --replace "dont_create = False" "dont_create = True" - - # Full path to xcodebuild - substituteInPlace src/Makefile --replace "xcodebuild" "/usr/bin/xcodebuild" + for nib in MainMenu Preferences; do + /usr/bin/ibtool --compile src/MacVim/English.lproj/$nib.nib/keyedobjects.nib src/MacVim/English.lproj/$nib.nib + done ''; configureFlags = [ - #"--enable-cscope" # TODO: cscope doesn't build on Darwin yet + "--enable-cscope" "--enable-fail-if-missing" "--with-features=huge" "--enable-gui=macvim" "--enable-multibyte" "--enable-nls" "--enable-luainterp=dynamic" - "--enable-pythoninterp=dynamic" + "--enable-${python.name}interp=dynamic" "--enable-perlinterp=dynamic" "--enable-rubyinterp=dynamic" "--enable-tclinterp=yes" "--without-local-dir" "--with-luajit" "--with-lua-prefix=${luajit}" + "--with-${python.name}-command=${python.pkg}/bin/${python.name}" "--with-ruby-command=${ruby}/bin/ruby" "--with-tclsh=${tcl}/bin/tclsh" "--with-tlib=ncurses" @@ -58,8 +76,8 @@ stdenv.mkDerivation rec { makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"''; - # This is unfortunate, but we need to use the same compiler as XCode, - # but XCode doesn't provide a way to configure the compiler. + # This is unfortunate, but we need to use the same compiler as Xcode, + # but Xcode doesn't provide a way to configure the compiler. # # If you're willing to modify the system files, you can do this: # http://hamelot.co.uk/programming/add-gcc-compiler-to-xcode-6/ @@ -72,10 +90,18 @@ stdenv.mkDerivation rec { configureFlagsArray+=( "--with-developer-dir=$DEV_DIR" ) - ''; + '' + # For some reason having LD defined causes PSMTabBarControl to fail at link-time as it + # passes arguments to ld that it meant for clang. + + '' + unset LD + '' + ; postConfigure = '' substituteInPlace src/auto/config.mk --replace "PERL_CFLAGS =" "PERL_CFLAGS = -I${darwin.libutil}/include" + + substituteInPlace src/MacVim/vimrc --subst-var-by CSCOPE ${cscope}/bin/cscope ''; postInstall = '' @@ -83,13 +109,11 @@ stdenv.mkDerivation rec { cp -r src/MacVim/build/Release/MacVim.app $out/Applications rm -rf $out/MacVim.app - rm $out/bin/{Vimdiff,Vimtutor,Vim,ex,rVim,rview,view} + rm $out/bin/* - cp src/MacVim/mvim $out/bin cp src/vimtutor $out/bin - - for prog in "vimdiff" "vi" "vim" "ex" "rvim" "rview" "view"; do - ln -s $out/bin/mvim $out/bin/$prog + for prog in mvim ex vi vim vimdiff view rvim rvimdiff rview; do + ln -s $out/Applications/MacVim.app/Contents/bin/mvim $out/bin/$prog done # Fix rpaths @@ -97,17 +121,19 @@ stdenv.mkDerivation rec { libperl=$(dirname $(find ${perl} -name "libperl.dylib")) install_name_tool -add_rpath ${luajit}/lib $exe install_name_tool -add_rpath ${tcl}/lib $exe - install_name_tool -add_rpath ${python}/lib $exe + install_name_tool -add_rpath ${python.pkg}/lib $exe install_name_tool -add_rpath $libperl $exe install_name_tool -add_rpath ${ruby}/lib $exe + + # Remove manpages from tools we aren't providing + find $out/share/man \( -name eVim.1 -or -name xxd.1 \) -delete ''; meta = with stdenv.lib; { - broken = true; # needs ruby 2.2 description = "Vim - the text editor - for macOS"; - homepage = https://github.com/b4winckler/macvim; + homepage = https://github.com/macvim-dev/macvim; license = licenses.vim; - maintainers = with maintainers; [ cstrahan ]; + maintainers = with maintainers; [ cstrahan lilyball ]; platforms = platforms.darwin; }; } diff --git a/pkgs/applications/editors/vim/macvim.patch b/pkgs/applications/editors/vim/macvim.patch index e8f34aba537..8cb96a9ebba 100644 --- a/pkgs/applications/editors/vim/macvim.patch +++ b/pkgs/applications/editors/vim/macvim.patch @@ -1,65 +1,98 @@ diff --git a/src/MacVim/MacVim.xcodeproj/project.pbxproj b/src/MacVim/MacVim.xcodeproj/project.pbxproj -index c384bf7..bf1ce96 100644 +index e519018de..556a4127d 100644 --- a/src/MacVim/MacVim.xcodeproj/project.pbxproj +++ b/src/MacVim/MacVim.xcodeproj/project.pbxproj -@@ -437,6 +437,8 @@ - /* Begin PBXProject section */ - 29B97313FDCFA39411CA2CEA /* Project object */ = { - isa = PBXProject; -+ attributes = { -+ }; - buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "MacVim" */; - compatibilityVersion = "Xcode 2.4"; - developmentRegion = English; -@@ -632,6 +634,7 @@ - INSTALL_PATH = "$(HOME)/Applications"; +@@ -1007,6 +1007,7 @@ + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = ""; ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = "-headerpad_max_install_names"; + PRODUCT_BUNDLE_IDENTIFIER = org.vim.MacVim; PRODUCT_NAME = MacVim; VERSIONING_SYSTEM = "apple-generic"; - WARNING_CFLAGS = "-Wall"; -@@ -662,6 +665,7 @@ - INSTALL_PATH = "$(HOME)/Applications"; +@@ -1039,6 +1040,7 @@ + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = ""; ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = "-headerpad_max_install_names"; + PRODUCT_BUNDLE_IDENTIFIER = org.vim.MacVim; PRODUCT_NAME = MacVim; VERSIONING_SYSTEM = "apple-generic"; - WRAPPER_EXTENSION = app; +diff --git a/src/MacVim/vimrc b/src/MacVim/vimrc +index 23a06bf37..dfb10fe94 100644 +--- a/src/MacVim/vimrc ++++ b/src/MacVim/vimrc +@@ -14,35 +14,5 @@ set backspace+=indent,eol,start + " translated to English). + set langmenu=none + +-" Python2 +-" MacVim is configured by default to use the pre-installed System python2 +-" version. However, following code tries to find a Homebrew, MacPorts or +-" an installation from python.org: +-if exists("&pythondll") && exists("&pythonhome") +- if filereadable("/usr/local/Frameworks/Python.framework/Versions/2.7/Python") +- " Homebrew python 2.7 +- set pythondll=/usr/local/Frameworks/Python.framework/Versions/2.7/Python +- elseif filereadable("/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Python") +- " MacPorts python 2.7 +- set pythondll=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Python +- elseif filereadable("/Library/Frameworks/Python.framework/Versions/2.7/Python") +- " https://www.python.org/downloads/mac-osx/ +- set pythondll=/Library/Frameworks/Python.framework/Versions/2.7/Python +- endif +-endif +- +-" Python3 +-" MacVim is configured by default to use Homebrew python3 version +-" If this cannot be found, following code tries to find a MacPorts +-" or an installation from python.org: +-if exists("&pythonthreedll") && exists("&pythonthreehome") && +- \ !filereadable(&pythonthreedll) +- if filereadable("/opt/local/Library/Frameworks/Python.framework/Versions/3.7/Python") +- " MacPorts python 3.7 +- set pythonthreedll=/opt/local/Library/Frameworks/Python.framework/Versions/3.7/Python +- elseif filereadable("/Library/Frameworks/Python.framework/Versions/3.7/Python") +- " https://www.python.org/downloads/mac-osx/ +- set pythonthreedll=/Library/Frameworks/Python.framework/Versions/3.7/Python +- endif +-endif +- ++" Default cscopeprg to the Nix-installed path ++set cscopeprg=@CSCOPE@ diff --git a/src/Makefile b/src/Makefile -index 84a93f7..e23196d 100644 +index 32810d0a7..13a05f349 100644 --- a/src/Makefile +++ b/src/Makefile -@@ -1306,7 +1306,7 @@ MACVIMGUI_SRC = gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \ +@@ -1385,7 +1385,7 @@ MACVIMGUI_SRC = gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \ MacVim/MacVim.m - MACVIMGUI_OBJ = objects/gui.o objects/gui_beval.o objects/pty.o \ + MACVIMGUI_OBJ = objects/gui.o objects/gui_beval.o \ objects/gui_macvim.o objects/MMBackend.o objects/MacVim.o -MACVIMGUI_DEFS = -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe -+MACVIMGUI_DEFS = -DMACOS_X_UNIX -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe ++MACVIMGUI_DEFS = -DMACOS_X_DARWIN -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe MACVIMGUI_IPATH = MACVIMGUI_LIBS_DIR = MACVIMGUI_LIBS1 = -framework Cocoa -framework Carbon diff --git a/src/auto/configure b/src/auto/configure -index cdc0819..8e2fd16 100755 +index 9e6a82f4a..3c6d1a89b 100755 --- a/src/auto/configure +++ b/src/auto/configure -@@ -5383,10 +5383,7 @@ $as_echo "no" >&6; } +@@ -5829,10 +5829,7 @@ $as_echo "not found" >&6; } + + for path in "${vi_cv_path_mzscheme_pfx}/lib" "${SCHEME_LIB}"; do + if test "X$path" != "X"; then +- if test "x$MACOS_X" = "xyes"; then +- MZSCHEME_LIBS="-framework Racket" +- MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" +- elif test -f "${path}/libmzscheme3m.a"; then ++ if test -f "${path}/libmzscheme3m.a"; then + MZSCHEME_LIBS="${path}/libmzscheme3m.a" + MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" + elif test -f "${path}/libracket3m.a"; then +@@ -6217,23 +6214,6 @@ $as_echo ">>> too old; need Perl version 5.003_01 or later <<<" >&6; } fi - if test "X$vi_cv_path_mzscheme_pfx" != "X"; then -- if test "x$MACOSX" = "xyes"; then -- MZSCHEME_LIBS="-framework Racket" -- MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" -- elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then -+ if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then - MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a" - MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" - elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then -@@ -5731,23 +5728,6 @@ $as_echo ">>> too old; need Perl version 5.003_01 or later <<<" >&6; } - fi - - if test "x$MACOSX" = "xyes"; then + if test "x$MACOS_X" = "xyes"; then - dir=/System/Library/Perl - darwindir=$dir/darwin - if test -d $darwindir; then @@ -80,21 +113,22 @@ index cdc0819..8e2fd16 100755 PERL_LIBS=`echo "$PERL_LIBS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'` PERL_CFLAGS=`echo "$PERL_CFLAGS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'` fi -@@ -5954,13 +5934,6 @@ __: +@@ -6456,13 +6436,7 @@ __: eof eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`" rm -f -- "${tmp_mkf}" -- if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \ +- if test "x$MACOS_X" = "xyes" && test -n "${python_PYTHONFRAMEWORK}" && ${vi_cv_path_python} -c \ - "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then - vi_cv_path_python_plibs="-framework Python" - if test "x${vi_cv_path_python}" != "x/usr/bin/python" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then - vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python" - fi - else - if test "${vi_cv_var_python_version}" = "1.4"; then - vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a" - else -@@ -5979,7 +5952,6 @@ eof ++ + vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}" + if test -n "${python_LINKFORSHARED}" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then + python_link_symbol=`echo ${python_LINKFORSHARED} | sed 's/\([^ \t][^ \t]*[ \t][ \t]*[^ \t][^ \t]*\)[ \t].*/\1/'` +@@ -6477,7 +6451,6 @@ eof fi vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}" vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//` @@ -102,7 +136,7 @@ index cdc0819..8e2fd16 100755 fi -@@ -6055,13 +6027,6 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -6556,13 +6529,6 @@ rm -f core conftest.err conftest.$ac_objext \ $as_echo "no" >&6; } fi @@ -116,11 +150,11 @@ index cdc0819..8e2fd16 100755 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compile and link flags for Python are sane" >&5 $as_echo_n "checking if compile and link flags for Python are sane... " >&6; } cflags_save=$CFLAGS -@@ -6919,11 +6884,7 @@ $as_echo "$tclver - OK" >&6; }; +@@ -7456,11 +7422,7 @@ $as_echo "$tclver - OK" >&6; }; { $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of Tcl include" >&5 $as_echo_n "checking for location of Tcl include... " >&6; } -- if test "x$MACOSX" != "xyes"; then +- if test "x$MACOS_X" != "xyes"; then tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include /usr/local/include/tcl$tclver /usr/include /usr/include/tcl$tclver" - else - tclinc="/System/Library/Frameworks/Tcl.framework/Headers" @@ -128,104 +162,63 @@ index cdc0819..8e2fd16 100755 TCL_INC= for try in $tclinc; do if test -f "$try/tcl.h"; then -@@ -6941,12 +6902,8 @@ $as_echo "" >&6; } +@@ -7478,12 +7440,8 @@ $as_echo "" >&6; } if test -z "$SKIP_TCL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of tclConfig.sh script" >&5 $as_echo_n "checking for location of tclConfig.sh script... " >&6; } -- if test "x$MACOSX" != "xyes"; then +- if test "x$MACOS_X" != "xyes"; then tclcnf=`echo $tclinc | sed s/include/lib/g` tclcnf="$tclcnf `echo $tclinc | sed s/include/lib64/g`" - else - tclcnf="/System/Library/Frameworks/Tcl.framework" - fi for try in $tclcnf; do - if test -f $try/tclConfig.sh; then + if test -f "$try/tclConfig.sh"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $try/tclConfig.sh" >&5 -@@ -7120,10 +7077,6 @@ $as_echo "$rubyhdrdir" >&6; } +@@ -7673,10 +7631,6 @@ $as_echo "$rubyhdrdir" >&6; } if test -f "$rubylibdir/$librubya"; then librubyarg="$librubyarg" RUBY_LIBS="$RUBY_LIBS -L$rubylibdir" -- elif test -d "/System/Library/Frameworks/Ruby.framework"; then +- elif test "$vi_cv_path_ruby" = "/usr/bin/ruby" -a -d "/System/Library/Frameworks/Ruby.framework"; then - RUBY_LIBS="-framework Ruby" -- RUBY_CFLAGS="-DRUBY_VERSION=$rubyversion" +- RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion" - librubyarg= fi if test "X$librubyarg" != "X"; then -diff --git a/src/if_python.c b/src/if_python.c -index 1d87cac..9d28df0 100644 ---- a/src/if_python.c -+++ b/src/if_python.c -@@ -55,11 +55,7 @@ - - #define PY_SSIZE_T_CLEAN - --#ifdef FEAT_GUI_MACVIM --# include --#else --# include --#endif -+#include - - #if !defined(PY_VERSION_HEX) || PY_VERSION_HEX < 0x02050000 - # undef PY_SSIZE_T_CLEAN -diff --git a/src/if_ruby.c b/src/if_ruby.c -index 1deb83e..ac23878 100644 ---- a/src/if_ruby.c -+++ b/src/if_ruby.c -@@ -106,17 +106,9 @@ - # define rb_check_type rb_check_type_stub - #endif - --#ifdef FEAT_GUI_MACVIM --# include --#else --# include --#endif -+#include - #ifdef RUBY19_OR_LATER --# ifdef FEAT_GUI_MACVIM --# include --# else --# include --# endif -+# include - #endif - - #undef off_t /* ruby defines off_t as _int64, Mingw uses long */ diff --git a/src/vim.h b/src/vim.h -index 4c93908..edc6bd7 100644 +index cb5be6c97..b703b31cd 100644 --- a/src/vim.h +++ b/src/vim.h -@@ -308,18 +308,6 @@ - # define UNUSED +@@ -241,18 +241,6 @@ + # define SUN_SYSTEM #endif --/* if we're compiling in C++ (currently only KVim), the system +-/* If we're compiling in C++ (currently only KVim), the system - * headers must have the correct prototypes or nothing will build. -- * conversely, our prototypes might clash due to throw() specifiers and +- * Conversely, our prototypes might clash due to throw() specifiers and - * cause compilation failures even though the headers are correct. For - * a concrete example, gcc-3.2 enforces exception specifications, and - * glibc-2.2.5 has them in their system headers. - */ -#if !defined(__cplusplus) && defined(UNIX) \ -- && !defined(MACOS_X) /* MACOS_X doesn't yet support osdef.h */ +- && !defined(MACOS_X) /* MACOS_X doesn't yet support osdef.h */ -# include "auto/osdef.h" /* bring missing declarations in */ -#endif - - #ifdef __EMX__ - # define getcwd _getcwd2 - # define chdir _chdir2 + #ifdef AMIGA + # include "os_amiga.h" + #endif diff --git a/src/vimtutor b/src/vimtutor -index 70d9ec7..b565a1a 100755 +index 1e8769b25..47078b0e7 100755 --- a/src/vimtutor +++ b/src/vimtutor -@@ -16,7 +16,7 @@ seq="vim vim8 vim75 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi" +@@ -16,7 +16,7 @@ seq="vim vim81 vim80 vim8 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi" if test "$1" = "-g"; then # Try to use the GUI version of Vim if possible, it will fall back # on Vim if Gvim is not installed. -- seq="gvim gvim8 gvim75 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq" -+ seq="mvim gvim gvim8 gvim75 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq" +- seq="gvim gvim81 gvim80 gvim8 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq" ++ seq="mvim gvim gvim81 gvim80 gvim8 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq" shift fi diff --git a/pkgs/applications/editors/vis/default.nix b/pkgs/applications/editors/vis/default.nix index 7825188fea9..5b9548df7f1 100644 --- a/pkgs/applications/editors/vis/default.nix +++ b/pkgs/applications/editors/vis/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "vis-${version}"; + pname = "vis"; version = "0.5"; src = fetchFromGitHub { diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix deleted file mode 100644 index 78d7d96d396..00000000000 --- a/pkgs/applications/editors/vscode/default.nix +++ /dev/null @@ -1,135 +0,0 @@ -{ stdenv, lib, fetchurl, makeDesktopItem -, unzip, libsecret, libXScrnSaver, wrapGAppsHook -, gtk2, atomEnv, at-spi2-atk, autoPatchelfHook -, systemd, fontconfig -, isInsiders ? false }: - -let - 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"; - }.${system}; - - sha256 = { - "i686-linux" = "04kbx1cx40lsy9irxy1arp1rixzk49ldhg34w3llmfbx63a4hchf"; - "x86_64-linux" = "1plvx0mjcbizl6iffib95p5224r9frf0mn6c5xp14p3qnrp32jhm"; - "x86_64-darwin" = "14h9gs6jpxydgd1h16ybq3ifw5jc7k83yg22pw3sk6vhy7hx7pxr"; - }.${system}; - - archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; -in - stdenv.mkDerivation rec { - name = "vscode-${version}"; - version = "1.31.1"; - - src = fetchurl { - name = "VSCode_${version}_${plat}.${archive_fmt}"; - url = "https://vscode-update.azurewebsites.net/${version}/${plat}/stable"; - inherit sha256; - }; - - passthru = { - inherit executableName; - }; - - desktopItem = makeDesktopItem { - 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"; - 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.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 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/${executableName} $out/bin - '' else '' - mkdir -p $out/lib/vscode $out/bin - cp -r ./* $out/lib/vscode - - substituteInPlace $out/lib/vscode/bin/${executableName} --replace '"$CLI" "$@"' '"$CLI" "--skip-getting-started" "$@"' - - ln -s $out/lib/vscode/bin/${executableName} $out/bin - - mkdir -p $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 - ''; - - preFixup = lib.optionalString (system == "i686-linux" || system == "x86_64-linux") '' - gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ systemd fontconfig ]}) - ''; - - meta = with stdenv.lib; { - description = '' - Open source source code editor developed by Microsoft for Windows, - Linux and macOS - ''; - longDescription = '' - Open source source code editor developed by Microsoft for Windows, - Linux and macOS. It includes support for debugging, embedded Git - control, syntax highlighting, intelligent code completion, snippets, - and code refactoring. It is also customizable, so users can change the - editor's theme, keyboard shortcuts, and preferences - ''; - homepage = https://code.visualstudio.com/; - downloadPage = https://code.visualstudio.com/Updates; - license = licenses.unfree; - maintainers = with maintainers; [ eadwu ]; - platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; - }; - } diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix new file mode 100644 index 00000000000..e42ca8a0bbf --- /dev/null +++ b/pkgs/applications/editors/vscode/generic.nix @@ -0,0 +1,102 @@ +{ stdenv, lib, makeDesktopItem +, unzip, libsecret, libXScrnSaver, wrapGAppsHook +, gtk2, atomEnv, at-spi2-atk, autoPatchelfHook +, systemd, fontconfig + +# Attributes inherit from specific versions +, version, src, meta, sourceRoot +, executableName, longName, shortName, pname +}: + +let + inherit (stdenv.hostPlatform) system; +in + stdenv.mkDerivation rec { + + inherit pname version src sourceRoot; + + passthru = { + inherit executableName; + }; + + desktopItem = makeDesktopItem { + 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"; + 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.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 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/${executableName} $out/bin + '' else '' + mkdir -p $out/lib/vscode $out/bin + cp -r ./* $out/lib/vscode + + substituteInPlace $out/lib/vscode/bin/${executableName} --replace '"$CLI" "$@"' '"$CLI" "--skip-getting-started" "$@"' + + ln -s $out/lib/vscode/bin/${executableName} $out/bin + + mkdir -p $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 + + # 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 + ''; + + preFixup = lib.optionalString (system == "i686-linux" || system == "x86_64-linux") '' + gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ systemd fontconfig ]}) + ''; + + inherit meta; + } diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix new file mode 100644 index 00000000000..369ed772890 --- /dev/null +++ b/pkgs/applications/editors/vscode/vscode.nix @@ -0,0 +1,53 @@ +{ stdenv, lib, callPackage, fetchurl, isInsiders ? false }: + +let + inherit (stdenv.hostPlatform) system; + + plat = { + "x86_64-linux" = "linux-x64"; + "x86_64-darwin" = "darwin"; + }.${system}; + + archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; + + sha256 = { + "x86_64-linux" = "1np7j6xv0bxmq7762ml0h6pib8963s2vdmyvigi0fz2iik92zv8z"; + "x86_64-darwin" = "0f87cv1sbcvix9f7hhw0vsypp0bf627xdyh4bmh0g41k17ls8wvc"; + }.${system}; +in + callPackage ./generic.nix rec { + + version = "1.37.1"; + pname = "vscode"; + + executableName = "code" + lib.optionalString isInsiders "-insiders"; + longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders"; + shortName = "Code" + lib.optionalString isInsiders " - Insiders"; + + src = fetchurl { + name = "VSCode_${version}_${plat}.${archive_fmt}"; + url = "https://vscode-update.azurewebsites.net/${version}/${plat}/stable"; + inherit sha256; + }; + + sourceRoot = ""; + + meta = with stdenv.lib; { + description = '' + Open source source code editor developed by Microsoft for Windows, + Linux and macOS + ''; + longDescription = '' + Open source source code editor developed by Microsoft for Windows, + Linux and macOS. It includes support for debugging, embedded Git + control, syntax highlighting, intelligent code completion, snippets, + and code refactoring. It is also customizable, so users can change the + editor's theme, keyboard shortcuts, and preferences + ''; + homepage = https://code.visualstudio.com/; + downloadPage = https://code.visualstudio.com/Updates; + license = licenses.unfree; + maintainers = with maintainers; [ eadwu synthetica ]; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; + }; + } diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix new file mode 100644 index 00000000000..49472fde464 --- /dev/null +++ b/pkgs/applications/editors/vscode/vscodium.nix @@ -0,0 +1,52 @@ +{ stdenv, callPackage, fetchurl }: + +let + inherit (stdenv.hostPlatform) system; + + plat = { + "x86_64-linux" = "linux-x64"; + "x86_64-darwin" = "darwin"; + }.${system}; + + archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; + + sha256 = { + "x86_64-linux" = "0j6188gm66bwffyg0vn3ak8242vs2vb2cw92b9wfkiml6sfg555n"; + "x86_64-darwin" = "0iblg0hn6jdds7d2hzp0icb5yh6hhw3fd5g4iim64ibi7lpwj2cj"; + }.${system}; +in + callPackage ./generic.nix rec { + + version = "1.37.1"; + pname = "vscodium"; + + executableName = "codium"; + longName = "VSCodium"; + shortName = "Codium"; + + src = fetchurl { + url = "https://github.com/VSCodium/vscodium/releases/download/${version}/VSCodium-${plat}-${version}.${archive_fmt}"; + inherit sha256; + }; + + sourceRoot = "."; + + meta = with stdenv.lib; { + description = '' + Open source source code editor developed by Microsoft for Windows, + Linux and macOS (VS Code without MS branding/telemetry/licensing) + ''; + longDescription = '' + Open source source code editor developed by Microsoft for Windows, + Linux and macOS. It includes support for debugging, embedded Git + control, syntax highlighting, intelligent code completion, snippets, + and code refactoring. It is also customizable, so users can change the + editor's theme, keyboard shortcuts, and preferences + ''; + homepage = https://github.com/VSCodium/vscodium; + downloadPage = https://github.com/VSCodium/vscodium/releases; + license = licenses.mit; + maintainers = with maintainers; []; + platforms = [ "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 88bea0c0809..074e6b8b12d 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, makeWrapper +{ lib, runCommand, buildEnv, vscode, makeWrapper , vscodeExtensions ? [] }: /* @@ -68,6 +68,7 @@ runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" { ln -sT "${vscode}/share/pixmaps/code.png" "$out/share/pixmaps/code.png" ln -sT "${vscode}/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop" + ln -sT "${vscode}/share/applications/${executableName}-url-handler.desktop" "$out/share/applications/${executableName}-url-handler.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/wily/default.nix b/pkgs/applications/editors/wily/default.nix index ce67cc2d648..aab3aecd7d6 100644 --- a/pkgs/applications/editors/wily/default.nix +++ b/pkgs/applications/editors/wily/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "0.13.42"; - name = "wily-${version}"; + pname = "wily"; src = fetchurl { - url = "mirror://sourceforge/wily/${name}.tar.gz"; + url = "mirror://sourceforge/wily/${pname}-${version}.tar.gz"; sha256 = "1jy4czk39sh365b0mjpj4d5wmymj98x163vmwzyx3j183jqrhm2z"; }; diff --git a/pkgs/applications/editors/wxhexeditor/default.nix b/pkgs/applications/editors/wxhexeditor/default.nix index c345e8a95d5..09ccbad6cd7 100644 --- a/pkgs/applications/editors/wxhexeditor/default.nix +++ b/pkgs/applications/editors/wxhexeditor/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, fetchpatch, wxGTK, autoconf, automake, libtool, python, gettext }: stdenv.mkDerivation rec { - name = "wxHexEditor-${version}"; + pname = "wxHexEditor"; version = "0.24"; src = fetchFromGitHub { diff --git a/pkgs/applications/editors/xmlcopyeditor/default.nix b/pkgs/applications/editors/xmlcopyeditor/default.nix index 229e37d0080..eeda097db25 100644 --- a/pkgs/applications/editors/xmlcopyeditor/default.nix +++ b/pkgs/applications/editors/xmlcopyeditor/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, aspell, boost, expat, expect, intltool, libxml2, libxslt, pcre, wxGTK, xercesc }: +{ stdenv, fetchurl, aspell, boost, expat, intltool, libxml2, libxslt, pcre, wxGTK, xercesc }: stdenv.mkDerivation rec { - name = "xmlcopyeditor-${version}"; + pname = "xmlcopyeditor"; version = "1.2.1.3"; src = fetchurl { - name = "${name}.tar.gz"; - url = "mirror://sourceforge/xml-copy-editor/${name}.tar.gz"; + name = "${pname}-${version}.tar.gz"; + url = "mirror://sourceforge/xml-copy-editor/${pname}-${version}.tar.gz"; sha256 = "0bwxn89600jbrkvlwyawgc0c0qqxpl453mbgcb9qbbxl8984ns4v"; }; diff --git a/pkgs/applications/editors/yi/wrapper.nix b/pkgs/applications/editors/yi/wrapper.nix index e20c0a3cbca..100e64fc197 100644 --- a/pkgs/applications/editors/yi/wrapper.nix +++ b/pkgs/applications/editors/yi/wrapper.nix @@ -9,9 +9,9 @@ let (self: [ self.yi ] ++ extraPackages self); in stdenv.mkDerivation rec { - name = "yi-custom-${version}"; + pname = "yi-custom"; version = "0.0.0.1"; - unpackPhase = "true"; + dontUnpack = true; nativeBuildInputs = [ makeWrapper ]; buildCommand = '' diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix index a64e9a18e1a..360d94d1b82 100644 --- a/pkgs/applications/gis/grass/default.nix +++ b/pkgs/applications/gis/grass/default.nix @@ -1,19 +1,23 @@ -{ stdenv, fetchurl, flex, bison, pkgconfig, zlib, libtiff, libpng, fftw +{ stdenv, fetchFromGitHub, flex, bison, pkgconfig, zlib, libtiff, libpng, fftw , cairo, readline, ffmpeg, makeWrapper, wxGTK30, netcdf, blas -, proj, gdal, geos, sqlite, postgresql, mysql, python2Packages, libLAS +, proj, gdal, geos, sqlite, postgresql, mysql, python2Packages, libLAS, proj-datumgrid }: -stdenv.mkDerivation { - name = "grass-7.2.2"; - src = fetchurl { - url = https://grass.osgeo.org/grass72/source/grass-7.2.2.tar.gz; - sha256 = "0yzljbrxlqp4wbw08n1dvmm4vmwkg8glf1ff4xyh589r5ryb7gxv"; +stdenv.mkDerivation rec { + name = "grass"; + version = "7.6.1"; + + src = with stdenv.lib; fetchFromGitHub { + owner = "OSGeo"; + repo = "grass"; + rev = "${name}_${replaceStrings ["."] ["_"] version}"; + sha256 = "1amjk9rz7vw5ha7nyl5j2bfwj5if9w62nlwx5qbp1x7spldimlll"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite cairo + buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite cairo proj readline ffmpeg makeWrapper wxGTK30 netcdf geos postgresql mysql.connector-c blas - libLAS ] + libLAS proj-datumgrid ] ++ (with python2Packages; [ python dateutil wxPython30 numpy ]); # On Darwin the installer tries to symlink the help files into a system @@ -22,6 +26,8 @@ stdenv.mkDerivation { configureFlags = [ "--with-proj-share=${proj}/share/proj" + "--with-proj-includes=${proj.dev}/include" + "--with-proj-lib=${proj}/lib" "--without-opengl" "--with-readline" "--with-wxwidgets" @@ -49,9 +55,11 @@ stdenv.mkDerivation { scripts/d.what.vect/d.what.vect.py \ scripts/g.extension/g.extension.py \ scripts/g.extension.all/g.extension.all.py \ + scripts/r.drain/r.drain.py \ scripts/r.pack/r.pack.py \ scripts/r.tileset/r.tileset.py \ scripts/r.unpack/r.unpack.py \ + scripts/v.clip/v.clip.py \ scripts/v.rast.stats/v.rast.stats.py \ scripts/v.to.lines/v.to.lines.py \ scripts/v.what.strds/v.what.strds.py \ @@ -72,19 +80,21 @@ stdenv.mkDerivation { done ''; + NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1" ]; + postInstall = '' - wrapProgram $out/bin/grass72 \ + wrapProgram $out/bin/grass76 \ --set PYTHONPATH $PYTHONPATH \ --set GRASS_PYTHON ${python2Packages.python}/bin/${python2Packages.python.executable} \ --suffix LD_LIBRARY_PATH ':' '${gdal}/lib' - ln -s $out/grass-*/lib $out/lib - ln -s $out/grass-*/include $out/include + ln -s $out/grass*/lib $out/lib + ln -s $out/grass*/include $out/include ''; 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 a5a0492ab87..244f37b10df 100644 --- a/pkgs/applications/gis/openorienteering-mapper/default.nix +++ b/pkgs/applications/gis/openorienteering-mapper/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchFromGitHub, gdal, cmake, ninja, proj, clipper, zlib, qtbase, qttools - , qtlocation, qtsensors, doxygen, cups, makeWrapper, qtimageformats +, qtlocation, qtsensors, doxygen, cups, wrapQtAppsHook, qtimageformats }: stdenv.mkDerivation rec { - name = "OpenOrienteering-Mapper-${version}"; + pname = "OpenOrienteering-Mapper"; version = "0.8.4"; buildInputs = [ gdal qtbase qttools qtlocation qtimageformats qtsensors clipper zlib proj doxygen cups]; - nativeBuildInputs = [ cmake makeWrapper ninja ]; + nativeBuildInputs = [ cmake wrapQtAppsHook ninja ]; src = fetchFromGitHub { owner = "OpenOrienteering"; @@ -20,9 +20,6 @@ stdenv.mkDerivation rec { cmakeFlags = [ - # Required by the build to be specified - "-DPROJ4_ROOT=${proj}" - # Building the manual and bundling licenses fails "-DLICENSING_PROVIDER:BOOL=OFF" "-DMapper_MANUAL_QTHELP:BOOL=OFF" @@ -43,14 +40,14 @@ stdenv.mkDerivation rec { "-DMapper_PACKAGE_GDAL=0" ]); + # Needs to be available when proj_api.h gets evaluted by CPP + NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" ]; postInstall = stdenv.lib.optionalString stdenv.isDarwin '' # Fixes "This application failed to start because it could not find or load the Qt # platform plugin "cocoa"." - wrapProgram $out/Mapper.app/Contents/MacOS/Mapper \ - --set QT_QPA_PLATFORM_PLUGIN_PATH ${qtbase.bin}/lib/qt-*/plugins/platforms \ - --set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix}:${qtimageformats}/${qtbase.qtPluginPrefix} + wrapQtApp $out/Mapper.app/Contents/MacOS/Mapper mkdir -p $out/bin ln -s $out/Mapper.app/Contents/MacOS/Mapper $out/bin/mapper ''; diff --git a/pkgs/applications/gis/qgis/default.nix b/pkgs/applications/gis/qgis/default.nix index 61061a6d672..f272fd04dd0 100644 --- a/pkgs/applications/gis/qgis/default.nix +++ b/pkgs/applications/gis/qgis/default.nix @@ -1,94 +1,27 @@ -{ stdenv, fetchurl, fetchpatch, 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, saga, IOKit, ApplicationServices +{ 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.28"; + paths = [ qgis-unwrapped ]; - buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla - fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags pkgconfig - saga ] - ++ - (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" + + wrapProgram $out/bin/qgis \ + --prefix PATH : $program_PATH \ + --set PYTHONPATH $program_PYTHONPATH ''; - # 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 - ''; - - src = fetchurl { - url = "https://qgis.org/downloads/${name}.tar.bz2"; - sha256 = "18pijqls1isd2bpg0mkrw07jqvdfaiwwb9mvz7p2xrgqcjx7dxsq"; - }; - - patches = [ - # already merged upstream in QGIS-3.*, but needs to be backported to QGIS-2 - (fetchpatch { - url = "https://patch-diff.githubusercontent.com/raw/qgis/QGIS/pull/7263.patch"; - name = "Ensure_qgis.db_is_writable_when_copied_from_RO_source"; - sha256 = "19wr2kz0x8x6p2n0ylzd4lqrdmbkxyxr0zpwf2vl9hdp92rdjxbv"; - }) - ]; - - # 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"} - # Necessary for QGIS to find the right SAGA installation - ln -sf ${saga}/bin/saga_cmd $out/QGIS.app/Contents/MacOS/bin/saga_cmd - 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 00000000000..a57b180d5b2 --- /dev/null +++ b/pkgs/applications/gis/qgis/unwrapped.nix @@ -0,0 +1,57 @@ +{ stdenv, lib, fetchFromGitHub, cmake, ninja, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl +, qwt, fcgi, python3Packages, libspatialindex, libspatialite, postgresql +, txt2tags, openssl, libzip, hdf5, netcdf, exiv2 +, 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.8.0"; + pname = "qgis"; + name = "${pname}-unwrapped-${version}"; + + src = fetchFromGitHub { + owner = "qgis"; + repo = "QGIS"; + rev = "final-${lib.replaceStrings ["."] ["_"] version}"; + sha256 = "11jqj6lavpw9piv0rm8vvbgd99zhcxl6yfjg699wlrjlyf71xac5"; + }; + + passthru = { + inherit pythonBuildInputs; + inherit python3Packages; + }; + + buildInputs = [ openssl proj geos xlibsWrapper sqlite gsl qwt exiv2 + 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 'sip_dir = cfg.default_sip_dir' '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/default.nix b/pkgs/applications/gis/saga/default.nix index 4738bfba14a..1ae1221a330 100644 --- a/pkgs/applications/gis/saga/default.nix +++ b/pkgs/applications/gis/saga/default.nix @@ -3,7 +3,8 @@ unixODBC , poppler, hdf4, hdf5, netcdf, sqlite, qhull, giflib }: stdenv.mkDerivation rec { - name = "saga-6.3.0"; + pname = "saga"; + version = "7.3.0"; # See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs # for why the have additional buildInputs on darwin @@ -14,13 +15,11 @@ stdenv.mkDerivation rec { 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"; + url = "https://sourceforge.net/projects/saga-gis/files/SAGA%20-%207/SAGA%20-%207.3.0/saga-7.3.0.tar.gz"; + sha256 = "1g7v6vx7b8mfhbbg03pdk4kyks20maqbcdbasnxazhs8pl2zih7k"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/gis/saga/finite-6.3.0.patch b/pkgs/applications/gis/saga/finite-6.3.0.patch deleted file mode 100644 index 91c9543edfd..00000000000 --- a/pkgs/applications/gis/saga/finite-6.3.0.patch +++ /dev/null @@ -1,55 +0,0 @@ -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/lts.nix b/pkgs/applications/gis/saga/lts.nix deleted file mode 100644 index ca0034aa970..00000000000 --- a/pkgs/applications/gis/saga/lts.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ 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/gis/whitebox-tools/default.nix b/pkgs/applications/gis/whitebox-tools/default.nix index f6adf7857ed..d82bdc66549 100644 --- a/pkgs/applications/gis/whitebox-tools/default.nix +++ b/pkgs/applications/gis/whitebox-tools/default.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec { buildInputs = stdenv.lib.optional stdenv.isDarwin Security; - cargoSha256 = "1gbgirng21ak0kl3fiyr6lxwzrjd5v79gcrbzf941nb8y8rlvz7k"; + cargoSha256 = "11m13h9b75xz8dfisfcykar53qsl1crrp3l75s73gkkkvczlfd24"; meta = with stdenv.lib; { description = "An advanced geospatial data analysis platform"; diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix index efbf5864faa..cbd930668f9 100644 --- a/pkgs/applications/graphics/ImageMagick/7.0.nix +++ b/pkgs/applications/graphics/ImageMagick/7.0.nix @@ -13,14 +13,14 @@ let else throw "ImageMagick is not supported on this platform."; cfg = { - version = "7.0.8-22"; - sha256 = "1ivljgf192xh7pq1apdic923pvcb3aq74mx8d4hi65hhc9748gv7"; + version = "7.0.8-58"; + sha256 = "0yfw32nydwy7ag7ina1zc6yssa146x4v35hjv6v59bci9mmj9fb1"; patches = []; }; in stdenv.mkDerivation rec { - name = "imagemagick-${version}"; + pname = "imagemagick"; inherit (cfg) version; src = fetchFromGitHub { @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { inherit (cfg) sha256; }; - patches = [ ./imagetragick.patch ] ++ cfg.patches; + patches = cfg.patches; outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big outputMan = "out"; # it's tiny diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index b3a1b64cae9..59f471ab4e3 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -32,7 +32,7 @@ let in stdenv.mkDerivation rec { - name = "imagemagick-${version}"; + pname = "imagemagick"; inherit (cfg) version; src = fetchFromGitHub { @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { inherit (cfg) sha256; }; - patches = [ ./imagetragick.patch ] ++ cfg.patches; + patches = cfg.patches; outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big outputMan = "out"; # it's tiny diff --git a/pkgs/applications/graphics/ImageMagick/imagetragick.patch b/pkgs/applications/graphics/ImageMagick/imagetragick.patch deleted file mode 100644 index 1b2de5e7350..00000000000 --- a/pkgs/applications/graphics/ImageMagick/imagetragick.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- a/config/policy.xml -+++ b/config/policy.xml -67a68,72 -> -> -> -> -> diff --git a/pkgs/applications/graphics/PythonMagick/default.nix b/pkgs/applications/graphics/PythonMagick/default.nix index 938df76e257..e35a0190d8b 100644 --- a/pkgs/applications/graphics/PythonMagick/default.nix +++ b/pkgs/applications/graphics/PythonMagick/default.nix @@ -3,7 +3,7 @@ { stdenv, fetchurl, python, pkgconfig, imagemagick, autoreconfHook }: stdenv.mkDerivation rec { - name = "pythonmagick-${version}"; + pname = "pythonmagick"; version = "0.9.16"; src = fetchurl { diff --git a/pkgs/applications/graphics/ahoviewer/default.nix b/pkgs/applications/graphics/ahoviewer/default.nix index 5210af4df7a..fb06266cdc5 100644 --- a/pkgs/applications/graphics/ahoviewer/default.nix +++ b/pkgs/applications/graphics/ahoviewer/default.nix @@ -7,7 +7,7 @@ assert useUnrar -> unrar != null; stdenv.mkDerivation rec { - name = "ahoviewer-${version}"; + pname = "ahoviewer"; version = "1.6.5"; src = fetchFromGitHub { diff --git a/pkgs/applications/graphics/alchemy/default.nix b/pkgs/applications/graphics/alchemy/default.nix index 30223658f53..5132d5950aa 100644 --- a/pkgs/applications/graphics/alchemy/default.nix +++ b/pkgs/applications/graphics/alchemy/default.nix @@ -1,7 +1,7 @@ -{stdenv, fetchurl, jre}: +{ stdenv, fetchurl, jre, runtimeShell }: stdenv.mkDerivation rec { - name = "alchemy-${version}"; + pname = "alchemy"; version = "008"; enableParallelBuilding = true; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { mkdir -p $out/bin $out/share cp -a . $out/share/alchemy cat >> $out/bin/alchemy << EOF - #!${stdenv.shell} + #!${runtimeShell} cd $out/share/alchemy ${jre}/bin/java -jar Alchemy.jar "$@" EOF diff --git a/pkgs/applications/graphics/animbar/default.nix b/pkgs/applications/graphics/animbar/default.nix index 0d6b538b107..c4f1b4218d0 100644 --- a/pkgs/applications/graphics/animbar/default.nix +++ b/pkgs/applications/graphics/animbar/default.nix @@ -1,12 +1,11 @@ -{ stdenv, lib, fetchurl, cmake, qt4, file, gcc }: +{ stdenv, lib, fetchurl, cmake, qt4, file }: stdenv.mkDerivation rec { pname = "animbar"; version = "1.2"; - name = "${pname}-${version}"; src = fetchurl { - url = "mirror://sourceforge/${pname}/${name}.tar.bz2"; + url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2"; sha256 = "0836nwcpyfdrapyj3hbg3wh149ihc26pc78h01adpc7c0r7d9pr9"; }; diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix index 2e7435b48bb..7d800d57b63 100644 --- a/pkgs/applications/graphics/antimony/default.nix +++ b/pkgs/applications/graphics/antimony/default.nix @@ -4,19 +4,19 @@ }: let - gitRev = "60a58688e552f12501980c4bdab034ab0f2ba059"; + gitRev = "c0038e3ea82fec6119de364bcbc3370955ed46a2"; gitBranch = "develop"; gitTag = "0.9.3"; in stdenv.mkDerivation rec { - name = "antimony-${version}"; - version = "2018-07-17"; + pname = "antimony"; + version = "2018-10-20"; src = fetchFromGitHub { owner = "mkeeter"; repo = "antimony"; rev = gitRev; - sha256 = "0pgf6kr23xw012xsil56j5gq78mlirmrlqdm09m5wlgcf4vr6xnl"; + sha256 = "01cjcjppbb0gvh6npcsaidzpfcfzrqhhi07z4v0jkfyi0fl125v4"; }; patches = [ ./paths-fix.patch ]; diff --git a/pkgs/applications/graphics/apitrace/default.nix b/pkgs/applications/graphics/apitrace/default.nix index 459e07f9838..5ce36f4f10e 100644 --- a/pkgs/applications/graphics/apitrace/default.nix +++ b/pkgs/applications/graphics/apitrace/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchFromGitHub, cmake, libX11, procps, python2, libdwarf, qtbase, qtwebkit }: stdenv.mkDerivation rec { - name = "apitrace-${version}"; - version = "7.1-363-ge3509be1"; + pname = "apitrace"; + 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/autotrace/default.nix b/pkgs/applications/graphics/autotrace/default.nix index 7af7c8986f2..57e95dfef10 100644 --- a/pkgs/applications/graphics/autotrace/default.nix +++ b/pkgs/applications/graphics/autotrace/default.nix @@ -1,15 +1,16 @@ -{ 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. stdenv.mkDerivation rec { - name = "autotrace-${version}"; + pname = "autotrace"; version = "0.31.1"; src = fetchurl { - url = "mirror://sourceforge/autotrace/AutoTrace/0.31.1/${name}.tar.gz"; + url = "mirror://sourceforge/autotrace/AutoTrace/0.31.1/${pname}-${version}.tar.gz"; sha256 = "1xmgja5fv48mdbsa51inf7ksz36nqd6bsaybrk5xgprm6cy946js"; }; @@ -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 7777be91897..5e1cba31b7e 100644 --- a/pkgs/applications/graphics/avocode/default.nix +++ b/pkgs/applications/graphics/avocode/default.nix @@ -1,20 +1,21 @@ { stdenv, makeDesktopItem, fetchurl, unzip -, gdk_pixbuf, glib, gtk3, atk, at-spi2-atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsaLib, cups, expat, udev, gnome3 -, xorg, mozjpeg, makeWrapper, gsettings-desktop-schemas +, 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, at-spi2-core }: stdenv.mkDerivation rec { - name = "avocode-${version}"; - version = "3.6.2"; + pname = "avocode"; + version = "3.9.2"; src = fetchurl { url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip"; - sha256 = "1slxxr3j0djqdnbk645sriwl99jp9imndyxiwd8aqggmmlp145a2"; + sha256 = "18yzw7bss1dkmmd8lxr9x8s46qmpnqci202g16zrp6j9jdj094d3"; }; - libPath = stdenv.lib.makeLibraryPath (with xorg; with gnome3; [ + libPath = stdenv.lib.makeLibraryPath (with xorg; [ stdenv.cc.cc.lib - gdk_pixbuf + at-spi2-core.out + gdk-pixbuf glib gtk3 atk @@ -42,6 +43,7 @@ stdenv.mkDerivation rec { libXrender libXtst libXScrnSaver + libuuid ]); desktopItem = makeDesktopItem { @@ -54,8 +56,8 @@ stdenv.mkDerivation rec { comment = "The bridge between designers and developers"; }; - nativeBuildInputs = [makeWrapper]; - buildInputs = [ unzip gtk3 gsettings-desktop-schemas]; + 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 @@ -84,11 +86,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 - done - for file in $out/bin/*; do - wrapProgram $file \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + patchelf --set-rpath ${libPath}:$out/ $file || true done ''; diff --git a/pkgs/applications/graphics/awesomebump/default.nix b/pkgs/applications/graphics/awesomebump/default.nix index df742645e86..43f8f561e2f 100644 --- a/pkgs/applications/graphics/awesomebump/default.nix +++ b/pkgs/applications/graphics/awesomebump/default.nix @@ -23,7 +23,8 @@ let ''; }; in stdenv.mkDerivation rec { - name = "awesomebump-${version}"; + pname = "awesomebump"; + inherit version; inherit src; diff --git a/pkgs/applications/graphics/c3d/default.nix b/pkgs/applications/graphics/c3d/default.nix index 7e1c6d7c8c4..4e864d953df 100644 --- a/pkgs/applications/graphics/c3d/default.nix +++ b/pkgs/applications/graphics/c3d/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchgit, cmake, itk, Cocoa }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "c3d"; version = "2018-10-04"; diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index bf5a2e2c34d..d3c7691ccff 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -7,12 +7,12 @@ }: stdenv.mkDerivation rec { - version = "2.6.0"; - name = "darktable-${version}"; + version = "2.6.2"; + pname = "darktable"; src = fetchurl { url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz"; - sha256 = "0y04cx0a0rwdclmn16f5y0z2vnm7yxly291gzjgdhcn59a77sga8"; + sha256 = "0igvgyd042j7hm4y8fcm6dc1qqjs4d1r7y6f0pzpa0x416xyzfcw"; }; nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ]; @@ -52,6 +52,6 @@ stdenv.mkDerivation rec { homepage = https://www.darktable.org; license = licenses.gpl3Plus; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ goibhniu rickynils flosse mrVanDalo ]; + maintainers = with maintainers; [ goibhniu flosse mrVanDalo ]; }; } diff --git a/pkgs/applications/graphics/deskew/default.nix b/pkgs/applications/graphics/deskew/default.nix index 71e2d82ea7c..c35aaa044ae 100644 --- a/pkgs/applications/graphics/deskew/default.nix +++ b/pkgs/applications/graphics/deskew/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { - name = "deskew-${version}"; + pname = "deskew"; version = "1.25"; src = fetchFromBitbucket { diff --git a/pkgs/applications/graphics/dia/default.nix b/pkgs/applications/graphics/dia/default.nix index 0ce160242e5..b0e32678a14 100644 --- a/pkgs/applications/graphics/dia/default.nix +++ b/pkgs/applications/graphics/dia/default.nix @@ -4,7 +4,7 @@ libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui, hicolor-icon-them gtk-mac-integration-gtk2 }: stdenv.mkDerivation rec { - name = "dia-${version}"; + pname = "dia"; version = "0.97.3.20170622"; src = fetchgit { diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix index 7fcdb46e32e..1fc15af7244 100644 --- a/pkgs/applications/graphics/digikam/default.nix +++ b/pkgs/applications/graphics/digikam/default.nix @@ -8,6 +8,7 @@ , qtsvg , qtwebengine +, akonadi-contacts , kcalcore , kconfigwidgets , kcoreaddons @@ -23,6 +24,7 @@ , boost , eigen , exiv2 +, ffmpeg , flex , jasper , lcms2 @@ -49,14 +51,14 @@ }: mkDerivation rec { - name = "digikam-${version}"; - version = "6.0.0"; + pname = "digikam"; + version = "6.2.0"; src = fetchFromGitHub { owner = "KDE"; repo = "digikam"; rev = "v${version}"; - sha256 = "1ifvrn0bm7fp07d059rl4dy146qzdxafl36ipxg1fg00dkv95hh4"; + sha256 = "1l1nb1nwicmip2jxhn5gzr7h60igvns0zs3kzp36r6qf4wvg3v2z"; }; nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ]; @@ -66,6 +68,7 @@ mkDerivation rec { boost eigen exiv2 + ffmpeg flex jasper lcms2 @@ -86,6 +89,7 @@ mkDerivation rec { qtsvg qtwebengine + akonadi-contacts kcalcore kconfigwidgets kcoreaddons @@ -101,6 +105,8 @@ mkDerivation rec { threadweaver ]; + enableParallelBuilding = true; + cmakeFlags = [ "-DENABLE_MYSQLSUPPORT=1" "-DENABLE_INTERNALMYSQL=1" @@ -110,6 +116,7 @@ mkDerivation rec { preFixup = '' gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ gnumake hugin enblend-enfuse ]}) + gappsWrapperArgs+=(--suffix DK_PLUGIN_PATH : ${placeholder "out"}/${qtbase.qtPluginPrefix}/${pname}) substituteInPlace $out/bin/digitaglinktree \ --replace "/usr/bin/perl" "${perl}/bin/perl" \ --replace "/usr/bin/sqlite3" "${sqlite}/bin/sqlite3" diff --git a/pkgs/applications/graphics/djview/default.nix b/pkgs/applications/graphics/djview/default.nix index 2b0dde210c5..1917640fd2e 100644 --- a/pkgs/applications/graphics/djview/default.nix +++ b/pkgs/applications/graphics/djview/default.nix @@ -3,11 +3,11 @@ , darwin }: stdenv.mkDerivation rec { - name = "djview-${version}"; + pname = "djview"; version = "4.10.6"; src = fetchurl { - url = "mirror://sourceforge/djvu/${name}.tar.gz"; + url = "mirror://sourceforge/djvu/${pname}-${version}.tar.gz"; sha256 = "08bwv8ppdzhryfcnifgzgdilb12jcnivl4ig6hd44f12d76z6il4"; }; @@ -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 d45d6c3a62e..cf5ecfdd043 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/draftsight/default.nix b/pkgs/applications/graphics/draftsight/default.nix index 30101bb9477..e59d14f7dd6 100644 --- a/pkgs/applications/graphics/draftsight/default.nix +++ b/pkgs/applications/graphics/draftsight/default.nix @@ -6,7 +6,8 @@ let version = "2018SP2"; in stdenv.mkDerivation { - name = "draftsight-${version}"; + pname = "draftsight"; + inherit version; nativeBuildInputs = [ dpkg makeWrapper ]; diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix new file mode 100644 index 00000000000..3f922530e73 --- /dev/null +++ b/pkgs/applications/graphics/drawio/default.nix @@ -0,0 +1,94 @@ +{ stdenv, lib, fetchurl, rpmextract, autoPatchelfHook, wrapGAppsHook + +# Dynamic libraries +, alsaLib, atk, at-spi2-atk, at-spi2-core, cairo, dbus, cups, expat +, gdk-pixbuf, glib, gtk3, libX11, libXScrnSaver, libXcomposite, libXcursor +, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst +, libxcb, libuuid, nspr, nss, pango + +, systemd +}: + +stdenv.mkDerivation rec { + pname = "drawio"; + version = "11.1.4"; + + src = fetchurl { + url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm"; + sha256 = "0ca8wkkdr7kbb8il84nq05qgd5ykjq15fdv9432wr5p9xmqixz1q"; + }; + + nativeBuildInputs = [ + autoPatchelfHook + rpmextract + wrapGAppsHook + ]; + + buildInputs = [ + alsaLib + atk + at-spi2-atk + at-spi2-core + cairo + cups + dbus + expat + gdk-pixbuf + glib + gtk3 + libX11 + libXScrnSaver + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXrender + libXtst + libxcb + libuuid + nspr + nss + pango + systemd + ]; + + runtimeDependencies = [ + systemd.lib + ]; + + dontBuild = true; + dontConfigure = true; + + unpackPhase = "rpmextract ${src}"; + + installPhase = '' + mkdir -p $out/share + cp -r opt/draw.io $out/share/ + + # Application icon + mkdir -p $out/share/icons/hicolor + cp -r usr/share/icons/hicolor/* $out/share/icons/hicolor/ + + # XDG desktop item + cp -r usr/share/applications $out/share/applications + + # Symlink wrapper + mkdir -p $out/bin + ln -s $out/share/draw.io/drawio $out/bin/drawio + + # Update binary path + substituteInPlace $out/share/applications/drawio.desktop \ + --replace /opt/draw.io/drawio $out/bin/drawio + ''; + + meta = with stdenv.lib; { + description = "A desktop application for creating diagrams"; + homepage = https://about.draw.io/; + license = licenses.asl20; + maintainers = with maintainers; [ danieldk ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/graphics/drawpile/default.nix b/pkgs/applications/graphics/drawpile/default.nix index fd8f88aa53a..5db104f031c 100644 --- a/pkgs/applications/graphics/drawpile/default.nix +++ b/pkgs/applications/graphics/drawpile/default.nix @@ -1,44 +1,95 @@ { stdenv , fetchurl , cmake -, qtbase -, qtsvg -, qtmultimedia -, qttools -, kdnssd +, extra-cmake-modules + +# common deps , karchive -, libsodium -, libmicrohttpd + +# 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 }: -stdenv.mkDerivation rec { - name = "drawpile-${version}"; - version = "2.0.11"; +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 { + pname = "drawpile"; + version = "2.1.11"; + src = fetchurl { url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz"; - sha256 = "0h018rxhc0lwpqwmlihalz634nd0xaafk4p2b782djjd87irnjpk"; + sha256 = "00r5vzracvjk369rri2jxzgfaa1ll4qj5gdmzgflvidz8420bcvm"; }; - buildInputs = [ - cmake - qtbase qtsvg qtmultimedia qttools - karchive - # optional deps: - libsodium # ext-auth support - libmicrohttpd # HTTP admin api - giflib # gif animation export support - miniupnpc # automatic port forwarding - kdnssd # local server discovery with Zeroconf - ]; - configurePhase = "cmake -DCMAKE_INSTALL_PREFIX=$out ."; - meta = with stdenv.lib; { + 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 3645cc56572..3b7bdfb8efc 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; diff --git a/pkgs/applications/graphics/exrtools/default.nix b/pkgs/applications/graphics/exrtools/default.nix index 7980d09fed1..c8928540bb6 100644 --- a/pkgs/applications/graphics/exrtools/default.nix +++ b/pkgs/applications/graphics/exrtools/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, openexr, libpng12, libjpeg }: stdenv.mkDerivation rec { - name = "exrtools-${version}"; + pname = "exrtools"; version = "0.4"; src = fetchurl { - url = "http://scanline.ca/exrtools/${name}.tar.gz"; + url = "http://scanline.ca/exrtools/${pname}-${version}.tar.gz"; sha256 = "0jpkskqs1yjiighab4s91jy0c0qxcscwadfn94xy2mm2bx2qwp4z"; }; diff --git a/pkgs/applications/graphics/fbida/default.nix b/pkgs/applications/graphics/fbida/default.nix index 33d65a86076..f5560a9b203 100644 --- a/pkgs/applications/graphics/fbida/default.nix +++ b/pkgs/applications/graphics/fbida/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, libjpeg, libexif, libungif, libtiff, libpng, libwebp, libdrm , pkgconfig, freetype, fontconfig, which, imagemagick, curl, sane-backends, libXpm -, epoxy, poppler, mesa_noglu, lirc }: +, epoxy, poppler, mesa, lirc }: stdenv.mkDerivation rec { name = "fbida-2.14"; - + src = fetchurl { url = "http://dl.bytesex.org/releases/fbida/${name}.tar.gz"; sha256 = "0f242mix20rgsqz1llibhsz4r2pbvx6k32rmky0zjvnbaqaw1dwm"; @@ -14,9 +14,9 @@ stdenv.mkDerivation rec { buildInputs = [ libexif libjpeg libpng libungif freetype fontconfig libtiff libwebp imagemagick curl sane-backends libdrm libXpm epoxy poppler lirc - mesa_noglu + mesa ]; - + makeFlags = [ "prefix=$(out)" "verbose=yes" "STRIP=" "JPEG_VER=62" ]; patchPhase = '' diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix index 9ef70dff766..fef068eaf0f 100644 --- a/pkgs/applications/graphics/feh/default.nix +++ b/pkgs/applications/graphics/feh/default.nix @@ -5,12 +5,12 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "feh-${version}"; - version = "3.1.2"; + pname = "feh"; + version = "3.2.1"; src = fetchurl { - url = "https://feh.finalrewind.org/${name}.tar.bz2"; - sha256 = "0qjhlrgr606gc9h96w9piyd13mx63jqfbxxnan41nrh76m8d0dka"; + url = "https://feh.finalrewind.org/${pname}-${version}.tar.bz2"; + sha256 = "070axq8jpibcabmjfv4fmjmpk3k349vzvh4qhsi4n62bkcwl35wg"; }; outputs = [ "out" "man" "doc" ]; @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { description = "A light-weight image viewer"; homepage = "https://feh.finalrewind.org/"; license = licenses.mit; - maintainers = [ maintainers.viric maintainers.willibutz ]; + maintainers = with maintainers; [ viric willibutz globin ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/graphics/fig2dev/default.nix b/pkgs/applications/graphics/fig2dev/default.nix index 1e54152fff4..ae38730226a 100644 --- a/pkgs/applications/graphics/fig2dev/default.nix +++ b/pkgs/applications/graphics/fig2dev/default.nix @@ -4,7 +4,8 @@ let version = "3.2.7a"; in stdenv.mkDerivation { - name = "fig2dev-${version}"; + pname = "fig2dev"; + inherit version; src = fetchurl { url = "mirror://sourceforge/mcj/fig2dev-${version}.tar.xz"; diff --git a/pkgs/applications/graphics/fondo/default.nix b/pkgs/applications/graphics/fondo/default.nix new file mode 100644 index 00000000000..920b529d61c --- /dev/null +++ b/pkgs/applications/graphics/fondo/default.nix @@ -0,0 +1,72 @@ +{ stdenv +, fetchFromGitHub +, fetchpatch +, 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.3.2"; + + src = fetchFromGitHub { + owner = "calo001"; + repo = pname; + rev = version; + sha256 = "0w7qai261l9m7ckzxc2gj3ywa55wm6p5br1xdk7607ql44lfpgba"; + }; + + nativeBuildInputs = [ + meson + ninja + pantheon.vala + pkgconfig + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + glib-networking + gsettings-desktop-schemas + gtk3 + json-glib + libgee + libsoup + libunity + pantheon.granite + ]; + + patches = [ + # Fix hardcoded FHS gsettings path + (fetchpatch { + url = "https://github.com/calo001/fondo/commit/98afdd834201321a3242f0b53bfba4b2ffa04a4c.patch"; + sha256 = "0vvgbgjja6vyrk6in3sgv8jbl4bwxkm6fhllgjzq7r65gkj4jg79"; + }) + ]; + + 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/fontmatrix/default.nix b/pkgs/applications/graphics/fontmatrix/default.nix index 8ca093b90c3..3b866297603 100644 --- a/pkgs/applications/graphics/fontmatrix/default.nix +++ b/pkgs/applications/graphics/fontmatrix/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, qt4 }: stdenv.mkDerivation rec { - name = "fontmatrix-${version}"; + pname = "fontmatrix"; version = "0.6.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix index 6362d6c06fe..5f866d00b3e 100644 --- a/pkgs/applications/graphics/freecad/default.nix +++ b/pkgs/applications/graphics/freecad/default.nix @@ -1,37 +1,43 @@ -{ stdenv, fetchurl, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts -, hdf5, vtk, medfile, zlib, python27Packages, swig, gfortran, fetchpatch -, soqt, libf2c, makeWrapper, makeDesktopItem +{ stdenv, mkDerivation, fetchurl, cmake, ninja, coin3d, xercesc, ode, eigen, qt5, opencascade-occt, gts +, hdf5, vtk, medfile, zlib, python3Packages, swig, gfortran, libXmu +, soqt, libf2c, libGLU, makeWrapper, pkgconfig , mpi ? null }: assert mpi != null; let - pythonPackages = python27Packages; -in stdenv.mkDerivation rec { - name = "freecad-${version}"; - version = "0.17"; + pythonPackages = python3Packages; +in mkDerivation rec { + pname = "freecad"; + version = "0.18.3"; src = fetchurl { url = "https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz"; - sha256 = "1yv6abdzlpn4wxy315943xwrnbywxqfgkjib37qwfvbb8y9p60df"; + sha256 = "07j7azgnicmd8cqnyskp15y44ykgj5qqz5y3w1jdynrv3yrvk1kz"; }; - buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts - zlib swig gfortran soqt libf2c makeWrapper mpi vtk hdf5 medfile - ] ++ (with pythonPackages; [ - matplotlib pycollada pyside pysideShiboken pysideTools pivy python boost + nativeBuildInputs = [ cmake ninja pkgconfig pythonPackages.pyside2-tools ]; + buildInputs = [ cmake coin3d xercesc ode eigen opencascade-occt gts + zlib swig gfortran soqt libf2c makeWrapper mpi vtk hdf5 medfile + libGLU libXmu + ] ++ (with qt5; [ + qtbase qttools qtwebkit + ]) ++ (with pythonPackages; [ + matplotlib pycollada shiboken2 pyside2 pyside2-tools 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"; - }) + cmakeFlags = [ + "-DBUILD_QT5=ON" + "-DSHIBOKEN_INCLUDE_DIR=${pythonPackages.shiboken2}/include" + "-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken" + ("-DPYSIDE_INCLUDE_DIR=${pythonPackages.pyside2}/include" + + ";${pythonPackages.pyside2}/include/PySide2/QtCore" + + ";${pythonPackages.pyside2}/include/PySide2/QtWidgets" + + ";${pythonPackages.pyside2}/include/PySide2/QtGui" + ) + "-DPYSIDE_LIBRARY=PySide2::pyside2" ]; - enableParallelBuilding = true; - # This should work on both x86_64, and i686 linux preBuild = '' export NIX_LDFLAGS="-L${gfortran.cc}/lib64 -L${gfortran.cc}/lib $NIX_LDFLAGS"; @@ -40,50 +46,23 @@ in stdenv.mkDerivation rec { # Their main() removes PYTHONPATH=, and we rely on it. preConfigure = '' sed '/putenv("PYTHONPATH/d' -i src/Main/MainGui.cpp + + qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH") ''; - postInstall = '' - wrapProgram $out/bin/FreeCAD --prefix PYTHONPATH : $PYTHONPATH \ - --set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1 + qtWrapperArgs = [ + "--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 + postFixup = '' + mv $out/share/doc $out ''; - 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/; + homepage = "https://www.freecadweb.org/"; license = licenses.lgpl2Plus; - maintainers = [ maintainers.viric ]; + maintainers = with maintainers; [ viric gebner ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/graphics/fstl/default.nix b/pkgs/applications/graphics/fstl/default.nix index b1437508a50..1d712a63fbd 100644 --- a/pkgs/applications/graphics/fstl/default.nix +++ b/pkgs/applications/graphics/fstl/default.nix @@ -1,6 +1,7 @@ -{stdenv, fetchFromGitHub, qtbase, mesa_glu}: -stdenv.mkDerivation rec { - name = "fstl-${version}"; +{ stdenv, fetchFromGitHub, mkDerivation, qtbase, mesa_glu }: + +mkDerivation rec { + pname = "fstl"; version = "0.9.3"; buildInputs = [qtbase mesa_glu]; diff --git a/pkgs/applications/graphics/gcolor2/default.nix b/pkgs/applications/graphics/gcolor2/default.nix index 025b3ae65ec..103f40fc9c7 100644 --- a/pkgs/applications/graphics/gcolor2/default.nix +++ b/pkgs/applications/graphics/gcolor2/default.nix @@ -2,7 +2,8 @@ let version = "0.4"; in stdenv.mkDerivation { - name = "gcolor2-${version}"; + pname = "gcolor2"; + inherit version; arch = if stdenv.hostPlatform.system == "x86_64-linux" then "amd64" else "386"; src = fetchurl { diff --git a/pkgs/applications/graphics/gcolor3/default.nix b/pkgs/applications/graphics/gcolor3/default.nix index ed350b2b0ee..c7555b612f7 100644 --- a/pkgs/applications/graphics/gcolor3/default.nix +++ b/pkgs/applications/graphics/gcolor3/default.nix @@ -1,9 +1,10 @@ -{ stdenv, fetchFromGitLab, gnome3, meson, ninja, gettext, pkgconfig, libxml2, gtk3, hicolor-icon-theme, wrapGAppsHook }: +{ stdenv, fetchFromGitLab, meson, ninja, gettext, pkgconfig, libxml2, gtk3, hicolor-icon-theme, wrapGAppsHook }: let version = "2.3.1"; in stdenv.mkDerivation { - name = "gcolor3-${version}"; + pname = "gcolor3"; + inherit version; src = fetchFromGitLab { domain = "gitlab.gnome.org"; diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix index a1ea88da84b..62e2ebfa4b1 100644 --- a/pkgs/applications/graphics/geeqie/default.nix +++ b/pkgs/applications/graphics/geeqie/default.nix @@ -1,22 +1,37 @@ { stdenv, fetchurl, pkgconfig, autoconf, automake, gettext, intltool , gtk3, lcms2, exiv2, libchamplain, clutter-gtk, ffmpegthumbnailer, fbida +, wrapGAppsHook, fetchpatch }: stdenv.mkDerivation rec { - name = "geeqie-${version}"; + pname = "geeqie"; version = "1.4"; src = fetchurl { - url = "http://geeqie.org/${name}.tar.xz"; + url = "http://geeqie.org/${pname}-${version}.tar.xz"; sha256 = "0ciygvcxb78pqg59r6p061mkbpvkgv2rv3r79j3kgv3kalb3ln2w"; }; - # Do not build the changelog as this requires markdown. - patches = [ ./geeqie-no-changelog.patch ]; + patches = [ + # Do not build the changelog as this requires markdown. + (fetchpatch { + name = "geeqie-1.4-goodbye-changelog.patch"; + url = "https://src.fedoraproject.org/rpms/geeqie/raw/132fb04a1a5e74ddb333d2474f7edb9a39dc8d27/f/geeqie-1.4-goodbye-changelog.patch"; + sha256 = "00a35dds44kjjdqsbbfk0x9y82jspvsbpm2makcm1ivzlhjjgszn"; + }) + # Fixes build with exiv2 0.27.1 + (fetchpatch { + name = "geeqie-exiv2-0.27.patch"; + url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/geeqie-exiv2-0.27.patch?h=packages/geeqie&id=dee28a8b3e9039b9cd6927b5a93ef2a07cd8271d"; + sha256 = "05skpbyp8pcq92psgijyccc8liwfy2cpwprw6m186pf454yb5y9p"; + }) + ]; preConfigure = "./autogen.sh"; - nativeBuildInputs = [ pkgconfig autoconf automake gettext intltool ]; + nativeBuildInputs = [ pkgconfig autoconf automake gettext intltool + wrapGAppsHook + ]; buildInputs = [ gtk3 lcms2 exiv2 libchamplain clutter-gtk ffmpegthumbnailer fbida ]; diff --git a/pkgs/applications/graphics/geeqie/geeqie-no-changelog.patch b/pkgs/applications/graphics/geeqie/geeqie-no-changelog.patch deleted file mode 100644 index 1b8833b135f..00000000000 --- a/pkgs/applications/graphics/geeqie/geeqie-no-changelog.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- geeqie-1.4.orig/Makefile.am 2017-12-31 07:31:21.000000000 -0500 -+++ geeqie-1.4/Makefile.am 2018-01-01 15:05:58.742068166 -0500 -@@ -10,9 +10,9 @@ - readmedir = @readmedir@ - - if HAVE_MARKDOWN --readme_DATA = README.md COPYING ChangeLog TODO README.lirc AUTHORS README.html ChangeLog.html -+readme_DATA = README.md COPYING TODO README.lirc AUTHORS README.html - else --readme_DATA = README.md COPYING ChangeLog TODO README.lirc AUTHORS ChangeLog.html -+readme_DATA = README.md COPYING TODO README.lirc AUTHORS - endif - - desktopdir = $(datadir)/applications diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix index 4d835e6590e..e3994b1b412 100644 --- a/pkgs/applications/graphics/gimp/default.nix +++ b/pkgs/applications/graphics/gimp/default.nix @@ -1,38 +1,36 @@ -{ stdenv, fetchurl, substituteAll, 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-gtk2, cf-private }: +, AppKit, Cocoa, gtk-mac-integration-gtk2 }: let inherit (python2Packages) pygtk wrapPython python; in stdenv.mkDerivation rec { - name = "gimp-${version}"; - version = "2.10.8"; + pname = "gimp"; + version = "2.10.12"; src = fetchurl { - url = "http://download.gimp.org/pub/gimp/v${stdenv.lib.versions.majorMinor version}/${name}.tar.bz2"; - sha256 = "16sb4kslwin2jbgdb4nhks78pd0af8mvj8g5hap3hj946p7w2jfq"; + url = "http://download.gimp.org/pub/gimp/v${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "0wdcr8d2ink4swn5r4v13bsiya6s3xm4ya97sdbhs4l40y7bb03x"; }; nativeBuildInputs = [ pkgconfig intltool gettext wrapPython ]; propagatedBuildInputs = [ gegl ]; # needed by gimp-2.0.pc buildInputs = [ - babl gegl gtk2 glib gdk_pixbuf pango cairo gexiv2 harfbuzz isocodes + babl gegl gtk2 glib gdk-pixbuf pango cairo gexiv2 harfbuzz isocodes 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 [ - # 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 + AppKit Cocoa gtk-mac-integration-gtk2 ] ++ stdenv.lib.optionals stdenv.isLinux [ libgudev ]; pythonPath = [ pygtk ]; # Check if librsvg was built with --disable-pixbuf-loader. - PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${librsvg}/${gdk_pixbuf.moduleDir}"; + PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${librsvg}/${gdk-pixbuf.moduleDir}"; preConfigure = '' # The check runs before glib-networking is registered @@ -69,7 +67,7 @@ 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" ]; # on Darwin, diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix index 0c753498af3..008bfdf881e 100644 --- a/pkgs/applications/graphics/gimp/plugins/default.nix +++ b/pkgs/applications/graphics/gimp/plugins/default.nix @@ -3,7 +3,7 @@ # preferences -> Folders -> Plug-ins # same applies for the scripts -{ pkgs, gimp }: +{ config, pkgs, gimp }: let inherit (pkgs) stdenv fetchurl pkgconfig intltool glib fetchFromGitHub; inherit (gimp) targetPluginDir targetScriptDir; @@ -23,7 +23,7 @@ let } // a // { - name = "gimp-plugin-${a.name}"; + name = "gimp-plugin-${a.name or "${a.pname}-${a.version}"}"; buildInputs = [ gimp gimp.gtk glib ] ++ (a.buildInputs or []); nativeBuildInputs = [ pkgconfig intltool ] ++ (a.nativeBuildInputs or []); } @@ -35,7 +35,8 @@ let }; in -rec { + +stdenv.lib.makeScope pkgs.newScope (self: with self; { gap = pluginDerivation { /* menu: Video @@ -90,42 +91,26 @@ rec { meta.broken = true; }; - resynthesizer = pluginDerivation { + resynthesizer = pluginDerivation rec { /* menu: - Filters/Map/Resynthesize - Filters/Enhance/Smart enlarge - Filters/Enhance/Smart sharpen - Filters/Enhance/Smart remove selection + Edit/Fill with pattern seamless... + Filters/Enhance/Heal selection... + Filters/Enhance/Heal transparency... + Filters/Enhance/Sharpen by synthesis... + Filters/Enhance/Uncrop... + Filters/Map/Style... + Filters/Render/Texture... */ - name = "resynthesizer-0.16"; - buildInputs = with pkgs; [ fftw ]; - src = fetchurl { - url = http://www.logarithmic.net/pfh-files/resynthesizer/resynthesizer-0.16.tar.gz; - sha256 = "1k90a1jzswxmajn56rdxa4r60v9v34fmqsiwfdxqcvx3yf4yq96x"; - }; - - installPhase = " - installPlugins resynth - installScripts smart-{enlarge,remove}.scm - "; - }; - - resynthesizer2 = pluginDerivation { - /* menu: - Filters/Map/Resynthesize - Filters/Enhance/Smart enlarge - Filters/Enhance/Smart sharpen - Filters/Enhance/Smart remove selection - */ - name = "resynthesizer-2.0.1"; + pname = "resynthesizer"; + version = "2.0.3"; buildInputs = with pkgs; [ fftw ]; nativeBuildInputs = with pkgs; [ autoreconfHook ]; - makeFlags = "GIMP_LIBDIR=$out/lib/gimp/2.0/"; + makeFlags = [ "GIMP_LIBDIR=${placeholder "out"}/lib/gimp/2.0" ]; src = fetchFromGitHub { owner = "bootchk"; repo = "resynthesizer"; - rev = "2.0.1"; - sha256 = "1d214s0jsqxz83l9dd8vhnz3siw9fyw7xdhhir25ra7jiwxc99hd"; + rev = "v${version}"; + sha256 = "1jwc8bhhm21xhrgw56nzbma6fwg59gc8anlmyns7jdiw83y0zx3j"; }; }; @@ -172,17 +157,17 @@ rec { ufraw = pkgs.ufraw.gimpPlugin; gimplensfun = pluginDerivation rec { - version = "0.2.4"; + version = "unstable-2018-10-21"; name = "gimplensfun-${version}"; src = fetchFromGitHub { owner = "seebk"; repo = "GIMP-Lensfun"; - rev = version; - sha256 = "0zlmp9v732qmzj083mnk5z421s57mnckmpjhiw890wmmwzj2lhxz"; + rev = "1c5a5c1534b5faf098b7441f8840d22835592f17"; + sha256 = "1jj3n7spkjc63aipwdqsvq9gi07w13bb1v8iqzvxwzld2kxa3c8w"; }; - buildInputs = with pkgs; [ lensfun exiv2 ]; + buildInputs = with pkgs; [ lensfun gexiv2 ]; installPhase = " installPlugins gimp-lensfun @@ -242,4 +227,8 @@ rec { }; */ -} +} // stdenv.lib.optionalAttrs (config.allowAliases or true) { + + resynthesizer2 = resynthesizer; + +}) diff --git a/pkgs/applications/graphics/gimp/wrapper.nix b/pkgs/applications/graphics/gimp/wrapper.nix index ec529519159..11c1e9ada93 100644 --- a/pkgs/applications/graphics/gimp/wrapper.nix +++ b/pkgs/applications/graphics/gimp/wrapper.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, plugins ? null}: +{ stdenv, lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, gnome3, plugins ? null}: let allPlugins = lib.filter (pkg: builtins.isAttrs pkg && pkg.type == "derivation" && !pkg.meta.broken or false) (lib.attrValues gimpPlugins); @@ -17,6 +17,7 @@ in symlinkJoin { for each in gimp-${versionBranch} gimp-console-${versionBranch}; do wrapProgram $out/bin/$each \ --set GIMP2_PLUGINDIR "$out/lib/gimp/2.0" \ + --prefix GTK_PATH : "${gnome3.gnome-themes-extra}/lib/gtk-2.0" \ ${toString extraArgs} done set +x diff --git a/pkgs/applications/graphics/giv/default.nix b/pkgs/applications/graphics/giv/default.nix index c5eb126cfbf..9ba7dbed37b 100644 --- a/pkgs/applications/graphics/giv/default.nix +++ b/pkgs/applications/graphics/giv/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchFromGitHub, gdk_pixbuf, scons, pkgconfig, gtk2, glib +{ stdenv, fetchFromGitHub, gdk-pixbuf, scons, pkgconfig, gtk2, glib , pcre, cfitsio, perl, gob2, vala, libtiff, json-glib }: stdenv.mkDerivation rec { - name = "giv-${version}"; + pname = "giv"; version = "0.9.26"; src = fetchFromGitHub { @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { patches = [ ./build.patch ]; nativeBuildInputs = [ scons pkgconfig vala perl gob2 ]; - buildInputs = [ gdk_pixbuf gtk2 glib pcre cfitsio libtiff json-glib ]; + buildInputs = [ gdk-pixbuf gtk2 glib pcre cfitsio libtiff json-glib ]; meta = with stdenv.lib; { description = "Cross platform image and hierarchical vector viewer based"; diff --git a/pkgs/applications/graphics/glabels/default.nix b/pkgs/applications/graphics/glabels/default.nix index cf4ecf15523..6bc59cd7d02 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}"; + pname = "glabels"; version = "3.4.1"; src = fetchurl { - url = "mirror://gnome/sources/glabels/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.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,6 +25,13 @@ stdenv.mkDerivation rec { --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + versionPolicy = "none"; + }; + }; + meta = with stdenv.lib; { description = "Create labels and business cards"; homepage = https://glabels.org/; diff --git a/pkgs/applications/graphics/gnome-photos/default.nix b/pkgs/applications/graphics/gnome-photos/default.nix new file mode 100644 index 00000000000..f591dd5a60d --- /dev/null +++ b/pkgs/applications/graphics/gnome-photos/default.nix @@ -0,0 +1,125 @@ +{ stdenv +, fetchurl +, at-spi2-core +, babl +, dbus +, desktop-file-utils +, dleyna-renderer +, gdk-pixbuf +, gegl +, geocode-glib +, gettext +, gexiv2 +, gfbgraph +, glib +, gnome-online-accounts +, gnome3 +, gobject-introspection +, grilo +, grilo-plugins +, gsettings-desktop-schemas +, gtk3 +, itstool +, libdazzle +, libgdata +, libxml2 +, meson +, ninja +, nixosTests +, pkgconfig +, python3 +, tracker +, tracker-miners +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "gnome-photos"; + version = "3.32.1"; + + outputs = [ "out" "installedTests" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0nxa2jz1g73wypdsj19r4plf4hfkhs9mpl7gbhsiyqp1rkn84ahn"; + }; + + patches = [ + ./installed-tests-path.patch + ]; + + nativeBuildInputs = [ + desktop-file-utils + gettext + gobject-introspection # for setup hook + glib # for setup hook + itstool + libxml2 + meson + ninja + pkgconfig + (python3.withPackages (pkgs: with pkgs; [ + dogtail + pygobject3 + pyatspi + ])) + wrapGAppsHook + ]; + + buildInputs = [ + babl + dbus + dleyna-renderer + gdk-pixbuf + gegl + geocode-glib + gexiv2 + gfbgraph + glib + gnome-online-accounts + gnome3.adwaita-icon-theme + grilo + grilo-plugins + gsettings-desktop-schemas + gtk3 + libdazzle + libgdata + tracker + tracker-miners # For 'org.freedesktop.Tracker.Miner.Files' GSettings schema + + at-spi2-core # for tests + ]; + + mesonFlags = [ + "-Dinstalled_tests=true" + "-Dinstalled_test_prefix=${placeholder "installedTests"}" + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + patchShebangs tests/basic.py + ''; + + postFixup = '' + wrapProgram "${placeholder "installedTests"}/libexec/installed-tests/gnome-photos/basic.py" "''${gappsWrapperArgs[@]}" + ''; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + + tests = { + installed-tests = nixosTests.gnome-photos; + }; + }; + + meta = with stdenv.lib; { + description = "Access, organize and share your photos"; + homepage = https://wiki.gnome.org/Apps/Photos; + license = licenses.gpl3Plus; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/gnome-photos/installed-tests-path.patch b/pkgs/applications/graphics/gnome-photos/installed-tests-path.patch new file mode 100644 index 00000000000..218108328dd --- /dev/null +++ b/pkgs/applications/graphics/gnome-photos/installed-tests-path.patch @@ -0,0 +1,23 @@ +diff --git a/meson.build b/meson.build +index dee932dc..f8851913 100644 +--- a/meson.build ++++ b/meson.build +@@ -16,8 +16,8 @@ + photos_docdir = join_paths(photos_datadir, 'doc', meson.project_name()) + photos_libdir = join_paths(photos_prefix, get_option('libdir'), meson.project_name()) + +-photos_installed_test_metadir = join_paths(photos_datadir, 'installed-tests', meson.project_name()) +-photos_installed_test_execdir = join_paths(photos_libexecdir, 'installed-tests', meson.project_name()) ++photos_installed_test_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name()) ++photos_installed_test_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name()) + + photos_namespace = 'org.gnome.Photos' + +diff --git a/meson_options.txt b/meson_options.txt +index f34b5cc0..8e09970b 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,2 +1,3 @@ + option('dogtail', type: 'boolean', value: true, description: 'test using dogtail') + option('installed_tests', type: 'boolean', value: false, description: 'Enable installation of some test cases') ++option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests') diff --git a/pkgs/applications/graphics/gnuclad/default.nix b/pkgs/applications/graphics/gnuclad/default.nix index b3671ead377..eb48333997c 100644 --- a/pkgs/applications/graphics/gnuclad/default.nix +++ b/pkgs/applications/graphics/gnuclad/default.nix @@ -2,11 +2,11 @@ }: stdenv.mkDerivation rec { - name = "gnuclad-${version}"; + pname = "gnuclad"; version = "0.2.4"; src = fetchurl { - url = "https://launchpad.net/gnuclad/trunk/${lib.versions.majorMinor version}/+download/${name}.tar.gz"; + url = "https://launchpad.net/gnuclad/trunk/${lib.versions.majorMinor version}/+download/${pname}-${version}.tar.gz"; sha256 = "0ka2kscpjff7gflsargv3r9fdaxhkf3nym9mfaln3pnq6q7fwdki"; }; diff --git a/pkgs/applications/graphics/goxel/default.nix b/pkgs/applications/graphics/goxel/default.nix index 71ee715b535..e4ab5639ba6 100644 --- a/pkgs/applications/graphics/goxel/default.nix +++ b/pkgs/applications/graphics/goxel/default.nix @@ -2,14 +2,14 @@ , glfw3, gtk3, libpng12 }: stdenv.mkDerivation rec { - name = "goxel-${version}"; - version = "0.8.2"; + pname = "goxel"; + version = "0.10.0"; src = fetchFromGitHub { owner = "guillaumechereau"; repo = "goxel"; rev = "v${version}"; - sha256 = "14rycn6sd3wp90c9ghpif1al3rv1fdgvhmpldmwap0pk790kfxs1"; + sha256 = "1mdw4bs7hvfn0yngd9ial5wzlfkcbhr3wzldb1w7s3s48agixkdr"; }; patches = [ ./disable-imgui_ini.patch ]; @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { description = "Open Source 3D voxel editor"; homepage = https://guillaumechereau.github.io/goxel/; license = licenses.gpl3; - platforms = [ "x86_64-linux" ]; # see https://github.com/guillaumechereau/goxel/issues/125 + platforms = platforms.linux; maintainers = with maintainers; [ tilpner ]; }; } diff --git a/pkgs/applications/graphics/grafx2/default.nix b/pkgs/applications/graphics/grafx2/default.nix index b1580d73b64..039bb1917d3 100644 --- a/pkgs/applications/graphics/grafx2/default.nix +++ b/pkgs/applications/graphics/grafx2/default.nix @@ -3,10 +3,10 @@ stdenv.mkDerivation rec { version = "2.4.2035"; - name = "grafx2-${version}"; + pname = "grafx2"; src = fetchurl { - url = "https://grafx2.googlecode.com/files/${name}-src.tgz"; + url = "https://grafx2.googlecode.com/files/${pname}-${version}-src.tgz"; sha256 = "0svsy6rqmdj11b400c242i2ixihyz0hds0dgicqz6g6dcgmcl62q"; }; diff --git a/pkgs/applications/graphics/graphicsmagick/1.3.32-darwin-png-strlcat-fix.patch b/pkgs/applications/graphics/graphicsmagick/1.3.32-darwin-png-strlcat-fix.patch new file mode 100644 index 00000000000..91eacecbf8c --- /dev/null +++ b/pkgs/applications/graphics/graphicsmagick/1.3.32-darwin-png-strlcat-fix.patch @@ -0,0 +1,42 @@ +# reduced version of commit f30492f40f78d867b43422215057dd21de4ba447 +# from upstream hg repository: +RegisterPNGImage(): Pass correct size value to strlcat(). + +diff -r 95c4711e8bee -r f30492f40f78 coders/png.c +--- a/coders/png.c Mon Jun 17 07:24:30 2019 -0500 ++++ b/coders/png.c Mon Jun 17 18:54:43 2019 -0500 +@@ -6427,26 +6427,26 @@ + + *version='\0'; + #if defined(PNG_LIBPNG_VER_STRING) +- (void) strlcat(version,"libpng ",MaxTextExtent); +- (void) strlcat(version,PNG_LIBPNG_VER_STRING,MaxTextExtent); ++ (void) strlcat(version,"libpng ",sizeof(version)); ++ (void) strlcat(version,PNG_LIBPNG_VER_STRING,sizeof(version)); + #if (PNG_LIBPNG_VER > 10005) + if (LocaleCompare(PNG_LIBPNG_VER_STRING,png_get_header_ver(NULL)) != 0) + { +- (void) strlcat(version,",",MaxTextExtent); +- (void) strlcat(version,png_get_libpng_ver(NULL),MaxTextExtent); ++ (void) strlcat(version,",",sizeof(version)); ++ (void) strlcat(version,png_get_libpng_ver(NULL),sizeof(version)); + } + #endif + #endif + + #if defined(ZLIB_VERSION) + if (*version != '\0') +- (void) strlcat(version,", ",MaxTextExtent); +- (void) strlcat(version,"zlib ",MaxTextExtent); +- (void) strlcat(version,ZLIB_VERSION,MaxTextExtent); ++ (void) strlcat(version,", ",sizeof(version)); ++ (void) strlcat(version,"zlib ",sizeof(version)); ++ (void) strlcat(version,ZLIB_VERSION,sizeof(version)); + if (LocaleCompare(ZLIB_VERSION,zlib_version) != 0) + { +- (void) strlcat(version,",",MaxTextExtent); +- (void) strlcat(version,zlib_version,MaxTextExtent); ++ (void) strlcat(version,",",sizeof(version)); ++ (void) strlcat(version,zlib_version,sizeof(version)); + } + #endif diff --git a/pkgs/applications/graphics/graphicsmagick/compat.nix b/pkgs/applications/graphics/graphicsmagick/compat.nix index bd1ce2ed893..be8885caff1 100644 --- a/pkgs/applications/graphics/graphicsmagick/compat.nix +++ b/pkgs/applications/graphics/graphicsmagick/compat.nix @@ -1,10 +1,10 @@ { stdenv, graphicsmagick }: stdenv.mkDerivation rec { - name = "graphicsmagick-imagemagick-compat-${version}"; + pname = "graphicsmagick-imagemagick-compat"; inherit (graphicsmagick) version; - unpackPhase = "true"; + dontUnpack = true; buildPhase = "true"; utils = [ diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix index c93b4fe958d..403a5285e15 100644 --- a/pkgs/applications/graphics/graphicsmagick/default.nix +++ b/pkgs/applications/graphics/graphicsmagick/default.nix @@ -3,16 +3,17 @@ , libwebp, quantumdepth ? 8, fixDarwinDylibNames }: stdenv.mkDerivation rec { - name = "graphicsmagick-${version}"; - version = "1.3.31"; + pname = "graphicsmagick"; + version = "1.3.32"; src = fetchurl { url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz"; - sha256 = "0y22740f25qxsqqqg26xqlfp920dm57b7hrgaqmx7azksrcvnsq9"; + sha256 = "1qclp9i31idpcbbqswmnq2q11lmv0a7cvdb1y72xcky8sshaahmq"; }; patches = [ ./disable-popen.patch + ./1.3.32-darwin-png-strlcat-fix.patch ]; configureFlags = [ diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix index 9ec82ea2a94..9af1a0fc914 100644 --- a/pkgs/applications/graphics/gscan2pdf/default.nix +++ b/pkgs/applications/graphics/gscan2pdf/default.nix @@ -1,17 +1,20 @@ -{ stdenv, fetchurl, perlPackages, makeWrapper, wrapGAppsHook, +{ stdenv, fetchurl, perlPackages, wrapGAppsHook, + # libs librsvg, sane-backends, sane-frontends, - imagemagick, libtiff, djvulibre, poppler_utils, ghostscript, unpaper, - xvfb_run, hicolor-icon-theme, liberation_ttf, file, pdftk }: + # runtime dependencies + imagemagick, libtiff, djvulibre, poppler_utils, ghostscript, unpaper, pdftk, + # test dependencies + xvfb_run, liberation_ttf, file, tesseract }: with stdenv.lib; perlPackages.buildPerlPackage rec { - name = "gscan2pdf-${version}"; - version = "2.3.0"; + pname = "gscan2pdf"; + version = "2.5.5"; src = fetchurl { - url = "mirror://sourceforge/gscan2pdf/${version}/${name}.tar.xz"; - sha256 = "0mcsmly0j9pmyzh6py8r6sfa30hc6gv300hqq3dxj4hv653vhkk9"; + url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz"; + sha256 = "0gfhjmv768hx2l3jk2mjhh1snkgkaddgw70s14jq8kxhhzvhlmv8"; }; nativeBuildInputs = [ wrapGAppsHook ]; @@ -66,7 +69,8 @@ perlPackages.buildPerlPackage rec { --prefix PATH : "${djvulibre}/bin" \ --prefix PATH : "${poppler_utils}/bin" \ --prefix PATH : "${ghostscript}/bin" \ - --prefix PATH : "${unpaper}/bin" + --prefix PATH : "${unpaper}/bin" \ + --prefix PATH : "${pdftk}/bin" ''; enableParallelBuilding = true; @@ -76,16 +80,17 @@ perlPackages.buildPerlPackage rec { outputs = [ "out" "man" ]; checkInputs = [ - xvfb_run - hicolor-icon-theme imagemagick libtiff djvulibre poppler_utils ghostscript - file - pdftk unpaper + pdftk + + xvfb_run + file + tesseract # tests are expecting tesseract 3.x precisely ]; checkPhase = '' @@ -97,7 +102,6 @@ perlPackages.buildPerlPackage rec { description = "A GUI to produce PDFs or DjVus from scanned documents"; homepage = http://gscan2pdf.sourceforge.net/; license = licenses.gpl3; - maintainers = [ maintainers.pacien ]; + maintainers = with maintainers; [ pacien ]; }; } - diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix index e8f831a21c2..6bcee18651b 100644 --- a/pkgs/applications/graphics/gthumb/default.nix +++ b/pkgs/applications/graphics/gthumb/default.nix @@ -1,33 +1,93 @@ -{ stdenv, fetchurl, gnome3, itstool, libxml2, pkgconfig, intltool, - exiv2, libjpeg, libtiff, gst_all_1, libraw, libsoup, libsecret, - libchamplain, librsvg, libwebp, json-glib, webkitgtk, lcms2, bison, - flex, wrapGAppsHook, shared-mime-info }: +{ stdenv +, fetchurl +, fetchpatch +, gnome3 +, pkgconfig +, meson +, ninja +, exiv2 +, libjpeg +, libtiff +, gst_all_1 +, libraw +, libsoup +, libsecret +, glib +, gtk3 +, gsettings-desktop-schemas +, libchamplain +, librsvg +, libwebp +, json-glib +, webkitgtk +, lcms2 +, bison +, flex +, clutter-gtk +, wrapGAppsHook +, shared-mime-info +, python3 +, desktop-file-utils +, itstool +}: -let +stdenv.mkDerivation rec { pname = "gthumb"; - version = "3.6.2"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; + version = "3.8.0"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0rjb0bsjhn7nyl5jyjgrypvr6qdr9dc2g586j3lzan96a2vnpgy9"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1l2s1facq1r6yvqjqc34aqfzlvb3nhkhn79xisxbbdlgrrxdq52f"; }; - 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 - exiv2 libjpeg libtiff libraw libsoup libsecret libchamplain - librsvg libwebp json-glib webkitgtk lcms2 defaultIconTheme + nativeBuildInputs = [ + bison + desktop-file-utils + flex + itstool + meson + ninja + pkgconfig + python3 + wrapGAppsHook ]; - enableParallelBuilding = true; - - configureFlags = [ - "--enable-libchamplain" + buildInputs = [ + clutter-gtk + exiv2 + glib + gnome3.adwaita-icon-theme + gsettings-desktop-schemas + gst_all_1.gst-plugins-base + gst_all_1.gstreamer + gtk3 + json-glib + lcms2 + libchamplain + libjpeg + libraw + librsvg + libsecret + libsoup + libtiff + libwebp + webkitgtk ]; + mesonFlags = [ + "-Dlibchamplain=true" + ]; + + postPatch = '' + chmod +x gthumb/make-gthumb-h.py + + patchShebangs data/gschemas/make-enums.py \ + gthumb/make-gthumb-h.py \ + po/make-potfiles-in.py \ + postinstall.py \ + gthumb/make-authors-tab.py + ''; + preFixup = '' gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share") ''; @@ -39,10 +99,10 @@ in stdenv.mkDerivation rec { }; meta = with stdenv.lib; { - homepage = https://wiki.gnome.org/Apps/gthumb; + homepage = "https://wiki.gnome.org/Apps/Gthumb"; description = "Image browser and viewer for GNOME"; platforms = platforms.linux; - license = licenses.gpl2; + license = licenses.gpl2Plus; maintainers = [ maintainers.mimadrid ]; }; } diff --git a/pkgs/applications/graphics/guetzli/default.nix b/pkgs/applications/graphics/guetzli/default.nix index 061dc2b69a6..d7b96425968 100644 --- a/pkgs/applications/graphics/guetzli/default.nix +++ b/pkgs/applications/graphics/guetzli/default.nix @@ -3,7 +3,8 @@ let version = "1.0.1"; in stdenv.mkDerivation { - name = "guetzli-${version}"; + pname = "guetzli"; + inherit version; src = fetchFromGitHub { owner = "google"; repo = "guetzli"; diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix index 1c5b8d1b81d..d7888da15ef 100644 --- a/pkgs/applications/graphics/hugin/default.nix +++ b/pkgs/applications/graphics/hugin/default.nix @@ -1,17 +1,25 @@ -{ stdenv, cmake, fetchurl, gnumake, makeWrapper, pkgconfig +{ stdenv, cmake, fetchurl, gnumake, makeWrapper, pkgconfig, fetchpatch , autopanosiftc, boost, cairo, enblend-enfuse, exiv2, fftw, flann, gettext , glew, ilmbase, lcms2, lensfun, libjpeg, libpng, libtiff, libX11, libXi , libXmu, libGLU_combined, openexr, panotools, perlPackages, sqlite, vigra, wxGTK, zlib }: 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"; }; + patches = [ + # Fixes build with exiv2 0.27.1 + (fetchpatch { + url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/hugin-exiv2-0.27.1.patch?h=packages/hugin"; + sha256 = "1yxvlpvrhyrfd2w6kwx1w3mncsvlzdhp0w7xchy8q6kc2kd5nf7r"; + }) + ]; + buildInputs = [ boost cairo exiv2 fftw flann gettext glew ilmbase lcms2 lensfun libjpeg libpng libtiff libX11 libXi libXmu libGLU_combined openexr panotools sqlite vigra diff --git a/pkgs/applications/graphics/ideogram/default.nix b/pkgs/applications/graphics/ideogram/default.nix new file mode 100644 index 00000000000..0efb0874183 --- /dev/null +++ b/pkgs/applications/graphics/ideogram/default.nix @@ -0,0 +1,70 @@ +{ stdenv +, fetchFromGitHub +, fetchpatch +, pkgconfig +, python3 +, glib +, gtk3 +, meson +, ninja +, libgee +, pantheon +, desktop-file-utils +, xorg +, hicolor-icon-theme +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "ideogram"; + version = "1.2.2"; + + src = fetchFromGitHub { + owner = "cassidyjames"; + repo = pname; + rev = version; + sha256 = "1qakgg3y4n2vcnykk2004ndvwmjbk2yy0p4j30mlb7p14dxscif6"; + }; + + nativeBuildInputs = [ + desktop-file-utils + hicolor-icon-theme # for setup-hook + meson + ninja + pantheon.vala + pkgconfig + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + libgee + pantheon.granite + xorg.libX11 + xorg.libXtst + ]; + + patches = [ + # See: https://github.com/cassidyjames/ideogram/issues/26 + (fetchpatch { + url = "https://github.com/cassidyjames/ideogram/commit/65994ee11bd21f8316b057cec01afbf50639a708.patch"; + sha256 = "12vrvvggpqq53dmhbm7gbbbigncn19m1fjln9wxaady21m0w776c"; + }) + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Insert emoji anywhere, even in non-native apps - designed for elementary OS"; + homepage = https://github.com/cassidyjames/ideogram; + license = licenses.gpl2Plus; + maintainers = pantheon.maintainers; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/applications/graphics/image_optim/Gemfile b/pkgs/applications/graphics/image_optim/Gemfile new file mode 100644 index 00000000000..d6a0f13a4c1 --- /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 00000000000..20c9772ce46 --- /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 00000000000..385f9825e46 --- /dev/null +++ b/pkgs/applications/graphics/image_optim/default.nix @@ -0,0 +1,66 @@ +{ lib, bundlerApp, bundlerUpdateScript, 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 = ./.; + + exes = [ "image_optim" ]; + + buildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/image_optim \ + --prefix PATH : ${makeBinPath optionalDepsPath} + ''; + + passthru.updateScript = bundlerUpdateScript "image_optim"; + + 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 nicknovitski ]; + 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 00000000000..6c9ec2de745 --- /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/imagej/default.nix b/pkgs/applications/graphics/imagej/default.nix index 0bbd543a307..7d5a9013035 100644 --- a/pkgs/applications/graphics/imagej/default.nix +++ b/pkgs/applications/graphics/imagej/default.nix @@ -8,7 +8,7 @@ let imagej150 = stdenv.mkDerivation rec { - name = "imagej-${version}"; + pname = "imagej"; version = "150"; src = fetchurl { diff --git a/pkgs/applications/graphics/imgcat/default.nix b/pkgs/applications/graphics/imgcat/default.nix index a98029dd580..1fa3ec8ccc6 100644 --- a/pkgs/applications/graphics/imgcat/default.nix +++ b/pkgs/applications/graphics/imgcat/default.nix @@ -1,27 +1,28 @@ { stdenv, fetchFromGitHub, autoconf, automake, libtool, ncurses }: stdenv.mkDerivation rec { - name = "imgcat-${version}"; - version = "2.3.0"; + pname = "imgcat"; + version = "2.3.1"; - buildInputs = [ autoconf automake libtool ncurses ]; + nativeBuildInputs = [ autoconf automake libtool ]; + buildInputs = [ ncurses ]; preConfigure = '' ${autoconf}/bin/autoconf sed -i -e "s|-ltermcap|-L ${ncurses}/lib -lncurses|" Makefile ''; - preInstall = '' - makeFlagsArray=(PREFIX="$out"); - ''; + makeFlags = [ "PREFIX=$(out)" ]; src = fetchFromGitHub { owner = "eddieantonio"; - repo = "imgcat"; - rev = "3d854c72f785dce0eecd9485767a7f972d54890c"; - sha256 = "0m83c33rzxvs0w214njql2c7q3fg06wnyijch3l2s88i7frl121f"; + repo = pname; + rev = "v${version}"; + sha256 = "0frz40rjwi73nx2dlqvmnn56zwr29bmnngfb11hhwr7v58yfajdi"; }; + NIX_CFLAGS_COMPILE = "-Wno-error"; + meta = with stdenv.lib; { description = "It's like cat, but for images"; homepage = https://github.com/eddieantonio/imgcat; diff --git a/pkgs/applications/graphics/imlibsetroot/default.nix b/pkgs/applications/graphics/imlibsetroot/default.nix index a881c0fc1f9..5fdd20825cd 100644 --- a/pkgs/applications/graphics/imlibsetroot/default.nix +++ b/pkgs/applications/graphics/imlibsetroot/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, libX11, libXinerama, imlib2 }: stdenv.mkDerivation rec { - name = "imlibsetroot-${version}"; + pname = "imlibsetroot"; version = "1.2"; src = fetchurl { url = "https://robotmonkeys.net/wp-content/uploads/2010/03/imlibsetroot-12.tar.gz"; diff --git a/pkgs/applications/graphics/imv/default.nix b/pkgs/applications/graphics/imv/default.nix index cdbf5f44687..38e536c70cb 100644 --- a/pkgs/applications/graphics/imv/default.nix +++ b/pkgs/applications/graphics/imv/default.nix @@ -1,32 +1,34 @@ { stdenv, fetchFromGitHub, SDL2, SDL2_ttf , freeimage, fontconfig, pkgconfig , asciidoc, docbook_xsl, libxslt, cmocka +, librsvg }: stdenv.mkDerivation rec { - name = "imv-${version}"; - version = "3.0.0"; + pname = "imv"; + version = "3.1.2"; src = fetchFromGitHub { owner = "eXeC64"; repo = "imv"; rev = "v${version}"; - sha256 = "0j5aykdkm1g518ism5y5flhwxvjvl92ksq989fhl2wpnv0la82jp"; + sha256 = "0gg362x2f7hli6cr6s7dmlanh4cqk7fd2pmk4zs9438jvqklf4cl"; }; buildInputs = [ SDL2 SDL2_ttf freeimage fontconfig pkgconfig - asciidoc docbook_xsl libxslt cmocka + asciidoc docbook_xsl libxslt cmocka librsvg ]; installFlags = [ "PREFIX=$(out)" "CONFIGPREFIX=$(out)/etc" ]; + doCheck = true; + meta = with stdenv.lib; { description = "A command line image viewer for tiling window managers"; - homepage = https://github.com/eXeC64/imv; + homepage = https://github.com/eXeC64/imv; license = licenses.gpl2; - maintainers = with maintainers; [ rnhmjoj ]; + maintainers = with maintainers; [ rnhmjoj markus1189 ]; platforms = [ "i686-linux" "x86_64-linux" ]; }; } - diff --git a/pkgs/applications/graphics/ipe/default.nix b/pkgs/applications/graphics/ipe/default.nix index 140227eb9ec..d4a7e396cb0 100644 --- a/pkgs/applications/graphics/ipe/default.nix +++ b/pkgs/applications/graphics/ipe/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, makeWrapper, pkgconfig, zlib, freetype, cairo, lua5, texlive, ghostscript -, libjpeg, qtbase +, libjpeg, libpng, qtbase }: stdenv.mkDerivation rec { - name = "ipe-7.2.10"; + name = "ipe-7.2.12"; src = fetchurl { url = "https://dl.bintray.com/otfried/generic/ipe/7.2/${name}-src.tar.gz"; - sha256 = "0rm31kvyg30452bz12yi49bkhdmi4bjdx6zann5cdlbi0pvmx7xh"; + sha256 = "1qw1cmwzi3wxk4x916i9y4prhi9brnwl14i9a1cbw23x1sr7i6kw"; }; sourceRoot = "${name}/src"; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { LUA_PACKAGE = "lua"; buildInputs = [ - libjpeg zlib qtbase freetype cairo lua5 texlive ghostscript + libjpeg libpng zlib qtbase freetype cairo lua5 texlive ghostscript ]; nativeBuildInputs = [ makeWrapper pkgconfig ]; diff --git a/pkgs/applications/graphics/jbrout/default.nix b/pkgs/applications/graphics/jbrout/default.nix index 9c81fe32b51..4eb7518cc10 100644 --- a/pkgs/applications/graphics/jbrout/default.nix +++ b/pkgs/applications/graphics/jbrout/default.nix @@ -3,7 +3,7 @@ let inherit (pythonPackages) python; in pythonPackages.buildPythonApplication rec { - name = "jbrout-${version}"; + pname = "jbrout"; version = "338"; src = fetchsvn { @@ -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 00000000000..b5664d51a14 --- /dev/null +++ b/pkgs/applications/graphics/jpeg-archive/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub, mozjpeg, makeWrapper, coreutils, parallel, findutils }: + +stdenv.mkDerivation rec { + pname = "jpeg-archive"; + 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 index f438bf6f7ed..e15aedd77e1 100644 --- a/pkgs/applications/graphics/jpeginfo/default.nix +++ b/pkgs/applications/graphics/jpeginfo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libjpeg }: stdenv.mkDerivation rec { - name = "jpeginfo-${version}"; + pname = "jpeginfo"; version = "1.6.1"; src = fetchurl { - url = "https://www.kokkonen.net/tjko/src/${name}.tar.gz"; + url = "https://www.kokkonen.net/tjko/src/${pname}-${version}.tar.gz"; sha256 = "0lvn3pnylyj56158d3ix9w1gas1s29klribw9bz1xym03p7k37k2"; }; diff --git a/pkgs/applications/graphics/jpegoptim/default.nix b/pkgs/applications/graphics/jpegoptim/default.nix index ba64aae6215..cc1ca3a0ff2 100644 --- a/pkgs/applications/graphics/jpegoptim/default.nix +++ b/pkgs/applications/graphics/jpegoptim/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "1.4.6"; - name = "jpegoptim-${version}"; + pname = "jpegoptim"; src = fetchurl { - url = "https://www.kokkonen.net/tjko/src/${name}.tar.gz"; + url = "https://www.kokkonen.net/tjko/src/${pname}-${version}.tar.gz"; sha256 = "1dss7907fclfl8zsw0bl4qcw0hhz6fqgi3867w0jyfm3q9jfpcc8"; }; @@ -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 301dc902dce..1487fb8adba 100644 --- a/pkgs/applications/graphics/k3d/default.nix +++ b/pkgs/applications/graphics/k3d/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { version = "0.8.0.6"; - name = "k3d-${version}"; + pname = "k3d"; src = fetchFromGitHub { owner = "K-3D"; repo = "k3d"; - rev = name; + rev = "${pname}-${version}"; sha256 = "0vdjjg6h8mxm2n8mvkkg2mvd27jn2xx90hnmx23cbd35mpz9p4aa"; }; diff --git a/pkgs/applications/graphics/kgraphviewer/default.nix b/pkgs/applications/graphics/kgraphviewer/default.nix index e70fafa24b6..9b96b30c62b 100644 --- a/pkgs/applications/graphics/kgraphviewer/default.nix +++ b/pkgs/applications/graphics/kgraphviewer/default.nix @@ -5,11 +5,11 @@ }: mkDerivation rec { - name = "kgraphviewer-${version}"; + pname = "kgraphviewer"; version = "2.4.3"; src = fetchurl { - url = "mirror://kde/stable/kgraphviewer/${version}/${name}.tar.xz"; + url = "mirror://kde/stable/kgraphviewer/${version}/${pname}-${version}.tar.xz"; sha256 = "1h6pgg89gvxl8gw7wmkabyqqrzad5pxyv5lsmn1fl4ir8lcc5q2l"; }; diff --git a/pkgs/applications/graphics/kipi-plugins/default.nix b/pkgs/applications/graphics/kipi-plugins/default.nix deleted file mode 100644 index f7faba7c41a..00000000000 --- a/pkgs/applications/graphics/kipi-plugins/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - stdenv, fetchurl, - extra-cmake-modules, - karchive, kconfig, ki18n, kiconthemes, kio, kservice, kwindowsystem, kxmlgui, - libkipi, qtbase, qtsvg, qtxmlpatterns -}: - -stdenv.mkDerivation rec { - name = "kipi-plugins-${version}"; - version = "5.9.0"; - - src = fetchurl { - url = "http://download.kde.org/stable/digikam/digikam-${version}.tar.xz"; - sha256 = "06qdalf2mwx2f43p3bljy3vn5bk8n3x539kha6ky2vzxvkp343b6"; - }; - - prePatch = '' - cd extra/kipi-plugins - ''; - - nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ - karchive kconfig ki18n kiconthemes kio kservice kwindowsystem kxmlgui libkipi - qtbase qtsvg qtxmlpatterns - ]; - - meta = { - description = "Plugins for KDE-based image applications"; - license = stdenv.lib.licenses.gpl2; - homepage = https://www.digikam.org; - maintainers = with stdenv.lib.maintainers; [ ttuegel ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/applications/graphics/kodelife/default.nix b/pkgs/applications/graphics/kodelife/default.nix new file mode 100644 index 00000000000..b86560d1319 --- /dev/null +++ b/pkgs/applications/graphics/kodelife/default.nix @@ -0,0 +1,53 @@ +{ stdenv +, fetchzip +, alsaLib +, glib +, gst_all_1 +, libGLU_combined +, xorg +}: + +stdenv.mkDerivation rec { + pname = "kodelife"; + version = "0.8.3.93"; + + src = fetchzip { + url = "https://hexler.net/pub/${pname}/${pname}-${version}-linux-x86_64.zip"; + sha256 = "1gidh0745g5mc8h5ypm2wamv1paymnrq3nh3yx1j70jwjg8v2v7g"; + }; + + dontConfigure = true; + dontBuild = true; + dontStrip = true; + dontPatchELF = true; + + installPhase = '' + mkdir -p $out/bin + mv KodeLife $out/bin + ''; + + preFixup = let + libPath = stdenv.lib.makeLibraryPath [ + stdenv.cc.cc.lib + alsaLib + glib + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + libGLU_combined + xorg.libX11 + ]; + in '' + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}" \ + $out/bin/KodeLife + ''; + + meta = with stdenv.lib; { + homepage = "https://hexler.net/products/kodelife"; + description = "Real-time GPU shader editor"; + license = licenses.unfree; + maintainers = with maintainers; [ prusnak ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix index c9fdbd255d4..83489e1a24c 100644 --- a/pkgs/applications/graphics/krita/default.nix +++ b/pkgs/applications/graphics/krita/default.nix @@ -1,43 +1,47 @@ -{ mkDerivation, lib, stdenv, fetchurl, cmake, extra-cmake-modules +{ mkDerivation, lib, stdenv, makeWrapper, 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, curl, ilmbase -, qtmultimedia, qtx11extras -, python3 +, qtmultimedia, qtx11extras, quazip +, python3Packages }: -let - -major = "4.1"; -minor = "7"; -patch = "101"; - -in - mkDerivation rec { - name = "krita-${version}"; - version = "${major}.${minor}.${patch}"; + pname = "krita"; + version = "4.2.5"; src = fetchurl { - url = "https://download.kde.org/stable/krita/${major}.${minor}/${name}.tar.gz"; - sha256 = "0pvghb17vj3y19wa1n1zfg3yl5206ir3y45znrgdgdw076m5pjav"; + url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.gz"; + sha256 = "1f14r2mrqasl6nr3sss0xy2h8xlxd5wdcjcd64m9nz2gwlm39r7w"; }; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ]; 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 poppler curl ilmbase - qtmultimedia qtx11extras - python3 + qtmultimedia qtx11extras quazip + 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" + ]; + + postInstall = '' + for i in $out/bin/*; do + wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH" + done + ''; + meta = with lib; { description = "A free and open source painting application"; homepage = https://krita.org/; diff --git a/pkgs/applications/graphics/ktikz/default.nix b/pkgs/applications/graphics/ktikz/default.nix index 4b3a423a8ce..4ddc2074f2f 100644 --- a/pkgs/applications/graphics/ktikz/default.nix +++ b/pkgs/applications/graphics/ktikz/default.nix @@ -1,70 +1,54 @@ -{ stdenv, fetchFromGitHub, gettext, poppler, qt5 , pkgconfig }: - -# Warning: You will also need a working pdflatex installation containing -# at least auctex and pgf. +{ stdenv, fetchFromGitHub, fetchpatch +, pkgconfig, wrapQtAppsHook +, poppler, qt5, gnuplot +}: # This package only builds ktikz without KDE integration because KDE4 is # deprecated and upstream does not (yet ?) support KDE5. # See historical versions of this file for building ktikz with KDE4. stdenv.mkDerivation rec { - version = "unstable-20161122"; - name = "qtikz-${version}"; + version = "0.12"; + pname = "qtikz"; + + meta = with stdenv.lib; { + description = "Editor for the TikZ language"; + homepage = "https://github.com/fhackenberger/ktikz"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.layus ]; + longDescription = '' + You will also need a working *tex installation in your PATH, containing at least `preview` and `pgf`. + ''; + }; src = fetchFromGitHub { owner = "fhackenberger"; repo = "ktikz"; - rev = "be66c8b1ff7e6b791b65af65e83c4926f307cf5a"; - sha256 = "15jx53sjlnky4yg3ry1i1c29g28v1jbbvhbz66h7a49pfxa40fj3"; + rev = version; + sha256 = "1s83x8r2yi64wc6ah2iz09dj3qahy0fkxx6cfgpkavjw9x0j0582"; }; - meta = with stdenv.lib; { - description = "Editor for the TikZ language"; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = [ maintainers.layus ]; - }; + patches = [ + (fetchpatch { + url = "https://github.com/fhackenberger/ktikz/commit/972685a406517bb85eb561f2c8e26f029eacd7db.patch"; + sha256 = "13z40rcd4m4n088v7z2ns17lnpn0z3rzp31lsamic3qdcwjwa5k8"; + }) + ]; - conf = '' - # installation prefix: - PREFIX = @out@ - - # install desktop file here (*nix only): - DESKTOP_INSTALL_DIR = @out@/share/applications - - # install mimetype here: - MIME_INSTALL_DIR = @out@/share/mime/packages - - # install doc here: - MAN_INSTALL_DIR = @out@/share/man - - CONFIG -= debug - CONFIG += release - - # qmake command: - QMAKECOMMAND = qmake - # lrelease command: - LRELEASECOMMAND = lrelease - # qcollectiongenerator command: - #QCOLLECTIONGENERATORCOMMAND = qcollectiongenerator - - # TikZ documentation default file path: - TIKZ_DOCUMENTATION_DEFAULT = @out@/share/doc/texmf/pgf/pgfmanual.pdf.gz - ''; - - # 1. Configuration is done by overwriting qtikzconfig.pri - # 2. Recent Qt removed QString::fromAscii in favor of QString::fromLatin1 - patchPhase = '' - echo "$conf" | sed "s!@out@!$out!g" > qmake/qtikzconfig.pri - find -name "*.cpp" -exec sed -i s/fromAscii/fromLatin1/g "{}" \; - ''; - - configurePhase = '' - qmake PREFIX="$out" ./qtikz.pro - ''; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gettext qt5.full poppler ]; + nativeBuildInputs = [ pkgconfig qt5.qttools qt5.qmake wrapQtAppsHook ]; + QT_PLUGIN_PATH = "${qt5.qtbase}/${qt5.qtbase.qtPluginPrefix}"; + buildInputs = [ qt5.qtbase poppler ]; enableParallelBuilding = true; + + qmakeFlags = [ + "DESKTOP_INSTALL_DIR=${placeholder "out"}/share/applications" + "MIME_INSTALL_DIR=${placeholder "out"}/share/mime/packages" + # qcollectiongenerator does no more exist in `qt5.qttools`. + # It was merged with qhelpgenerator at some point. + "QCOLLECTIONGENERATORCOMMAND=qhelpgenerator" + ]; + + qtWrapperArgs = [ ''--prefix PATH : "${gnuplot}/bin"'' ]; } diff --git a/pkgs/applications/graphics/leocad/default.nix b/pkgs/applications/graphics/leocad/default.nix index ada55f0351e..201a4fe113e 100644 --- a/pkgs/applications/graphics/leocad/default.nix +++ b/pkgs/applications/graphics/leocad/default.nix @@ -6,14 +6,14 @@ set the variable LEOCAD_LIB=/path/to/libs/ or use option -l /path/to/libs/ { stdenv, fetchFromGitHub, qt4, qmake4Hook, zlib }: stdenv.mkDerivation rec { - name = "leocad-${version}"; - version = "18.02"; + pname = "leocad"; + version = "19.07.1"; src = fetchFromGitHub { owner = "leozide"; repo = "leocad"; rev = "v${version}"; - sha256 = "0rb4kjyrr9ry85cfpbk52l19vvwn7lrh2kmj2lwq531smnygn5m3"; + sha256 = "02kv1m18g6s4dady9jv4sjivfkrp192bmdw2a3d9lzlp60zks0p2"; }; nativeBuildInputs = [ qmake4Hook ]; diff --git a/pkgs/applications/graphics/luminance-hdr/default.nix b/pkgs/applications/graphics/luminance-hdr/default.nix index 867c0a55838..94899c937a8 100644 --- a/pkgs/applications/graphics/luminance-hdr/default.nix +++ b/pkgs/applications/graphics/luminance-hdr/default.nix @@ -1,23 +1,25 @@ -{ stdenv, cmake, fetchurl, pkgconfig, boost, exiv2, fftwFloat, gsl +{ stdenv, cmake, fetchFromGitHub, pkgconfig, boost, exiv2, fftwFloat, gsl , ilmbase, lcms2, libraw, libtiff, openexr -, qtbase, qtdeclarative, qttools, qtwebengine +, qtbase, qtdeclarative, qttools, qtwebengine, eigen }: stdenv.mkDerivation rec { - name = "luminance-hdr-2.5.1"; + pname = "luminance-hdr"; + version = "2.6.0"; - src = fetchurl { - url = "mirror://sourceforge/qtpfsgui/${name}.tar.bz2"; - sha256 = "15hnyk9yjkkc97dmnrg2ipfgwqxprlcyv2kyvbls4d54zc56x658"; + src = fetchFromGitHub { + owner = "LuminanceHDR"; + repo = "LuminanceHDR"; + rev = "v.${version}"; + sha256 = "1izmgjjp8mgyxv57sjjr05z7g7059ykb5wchlcn4wrnnb6aslnvn"; }; NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR"; - buildInputs = - [ - qtbase qtdeclarative qttools qtwebengine - boost exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr - ]; + buildInputs = [ + qtbase qtdeclarative qttools qtwebengine eigen + boost exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr + ]; nativeBuildInputs = [ cmake pkgconfig ]; diff --git a/pkgs/applications/graphics/meme/default.nix b/pkgs/applications/graphics/meme/default.nix index 2fddc39e0d0..5f8a0bb6eed 100644 --- a/pkgs/applications/graphics/meme/default.nix +++ b/pkgs/applications/graphics/meme/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "meme-unstable-${version}"; + pname = "meme-unstable"; version = "2017-09-10"; owner = "nomad-software"; diff --git a/pkgs/applications/graphics/mirage/default.nix b/pkgs/applications/graphics/mirage/default.nix index 515b834b41e..fbe8f10c72f 100644 --- a/pkgs/applications/graphics/mirage/default.nix +++ b/pkgs/applications/graphics/mirage/default.nix @@ -1,16 +1,18 @@ { stdenv, fetchurl, pythonPackages, libX11, gettext }: pythonPackages.buildPythonApplication rec { - name = "mirage-${version}"; + pname = "mirage"; version = "0.9.5.2"; src = fetchurl { - url = "mirror://sourceforge/mirageiv/${name}.tar.bz2"; + url = "mirror://sourceforge/mirageiv/${pname}-${version}.tar.bz2"; sha256 = "d214a1b6d99d1d1e83da5848a2cef181f6781e0990e93f7ebff5880b0c43f43c"; }; doCheck = false; + nativeBuildInputs = [ gettext ]; + buildInputs = [ stdenv libX11 gettext ]; patchPhase = '' diff --git a/pkgs/applications/graphics/mozjpeg/default.nix b/pkgs/applications/graphics/mozjpeg/default.nix index b48fd891a6a..63cc4a3a8d3 100644 --- a/pkgs/applications/graphics/mozjpeg/default.nix +++ b/pkgs/applications/graphics/mozjpeg/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "3.3.1"; - name = "mozjpeg-${version}"; + pname = "mozjpeg"; src = fetchFromGitHub { owner = "mozilla"; diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix index 36c7e7e2fb3..5ad5ab6acc6 100644 --- a/pkgs/applications/graphics/mypaint/default.nix +++ b/pkgs/applications/graphics/mypaint/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg, gobject-introspection, hicolor-icon-theme -, gdk_pixbuf, pkgconfig, python2Packages, scons, swig, wrapGAppsHook }: +, gdk-pixbuf, pkgconfig, python2Packages, scons, swig, wrapGAppsHook }: let inherit (python2Packages) python pycairo pygobject3 numpy; in stdenv.mkDerivation rec { - name = "mypaint-${version}"; + pname = "mypaint"; version = "1.2.1"; src = fetchFromGitHub { @@ -21,7 +21,7 @@ in stdenv.mkDerivation rec { ]; buildInputs = [ - gtk3 gdk_pixbuf json_c lcms2 libpng librsvg pycairo pygobject3 python hicolor-icon-theme + gtk3 gdk-pixbuf json_c lcms2 libpng librsvg pycairo pygobject3 python hicolor-icon-theme ]; propagatedBuildInputs = [ numpy ]; diff --git a/pkgs/applications/graphics/nomacs/default.nix b/pkgs/applications/graphics/nomacs/default.nix index 05d047f7227..62fae518b92 100644 --- a/pkgs/applications/graphics/nomacs/default.nix +++ b/pkgs/applications/graphics/nomacs/default.nix @@ -1,9 +1,8 @@ { stdenv +, mkDerivation , fetchFromGitHub , cmake , pkgconfig -, wrapGAppsHook -, gsettings-desktop-schemas , qtbase , qttools @@ -16,16 +15,20 @@ , quazip }: -stdenv.mkDerivation rec { - version = "3.10.2"; +mkDerivation rec { + pname = "nomacs"; + version = "3.12"; + src = fetchFromGitHub { owner = "nomacs"; repo = "nomacs"; rev = version; - sha256 = "0v2gsdc8caswf2b5aa023d8kil1fqf4r9mlg15180h3c92f8jzvh"; + sha256 = "12582i5v85da7vwjxj8grj99hxg34ij5cn3b1578wspdfw1xfy1i"; }; - name = "nomacs-${version}"; + patches = [ + ./nomacs-iostream.patch + ]; enableParallelBuilding = true; @@ -34,8 +37,7 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [cmake - pkgconfig - wrapGAppsHook]; + pkgconfig]; buildInputs = [qtbase qttools @@ -44,13 +46,13 @@ stdenv.mkDerivation rec { opencv libraw libtiff - quazip - gsettings-desktop-schemas]; + quazip]; cmakeFlags = ["-DENABLE_OPENCV=ON" "-DENABLE_RAW=ON" "-DENABLE_TIFF=ON" "-DENABLE_QUAZIP=ON" + "-DENABLE_TRANSLATIONS=ON" "-DUSE_SYSTEM_QUAZIP=ON"]; meta = with stdenv.lib; { diff --git a/pkgs/applications/graphics/nomacs/nomacs-iostream.patch b/pkgs/applications/graphics/nomacs/nomacs-iostream.patch new file mode 100644 index 00000000000..53224e0260e --- /dev/null +++ b/pkgs/applications/graphics/nomacs/nomacs-iostream.patch @@ -0,0 +1,26 @@ +diff --git a/src/DkCore/DkMetaData.cpp b/src/DkCore/DkMetaData.cpp +index d195757e..affec7be 100644 +--- a/src/DkCore/DkMetaData.cpp ++++ b/src/DkCore/DkMetaData.cpp +@@ -42,6 +42,8 @@ + #include + #pragma warning(pop) // no warnings from includes - end + ++#include ++ + namespace nmc { + + // DkMetaDataT -------------------------------------------------------------------- +diff --git a/src/DkGui/DkNoMacs.cpp b/src/DkGui/DkNoMacs.cpp +index 6a412f70..bbfba233 100644 +--- a/src/DkGui/DkNoMacs.cpp ++++ b/src/DkGui/DkNoMacs.cpp +@@ -96,6 +96,8 @@ + #include + #endif + ++#include ++ + namespace nmc { + + DkNomacsOSXEventFilter::DkNomacsOSXEventFilter(QObject *parent) : QObject(parent) { diff --git a/pkgs/applications/graphics/openimageio/2.x.nix b/pkgs/applications/graphics/openimageio/2.x.nix new file mode 100644 index 00000000000..4e61fccaa37 --- /dev/null +++ b/pkgs/applications/graphics/openimageio/2.x.nix @@ -0,0 +1,58 @@ +{ stdenv +, fetchFromGitHub +, boost +, cmake +, ilmbase +, libjpeg +, libpng +, libtiff +, opencolorio +, openexr +, robin-map +, unzip +}: + +stdenv.mkDerivation rec { + pname = "openimageio"; + version = "2.0.10"; + + src = fetchFromGitHub { + owner = "OpenImageIO"; + repo = "oiio"; + rev = "Release-${version}"; + sha256 = "0k60kgfahsqcgmydsf1kh1qzshn8mksaw772z48a40qnx28pfjys"; + }; + + outputs = [ "bin" "out" "dev" "doc" ]; + + nativeBuildInputs = [ + cmake + unzip + ]; + + buildInputs = [ + boost + ilmbase + libjpeg + libpng + libtiff + opencolorio + openexr + robin-map + ]; + + cmakeFlags = [ + "-DUSE_PYTHON=OFF" + "-DUSE_QT=OFF" + # GNUInstallDirs + "-DCMAKE_INSTALL_LIBDIR=lib" # needs relative path for pkgconfig + ]; + + meta = with stdenv.lib; { + homepage = http://www.openimageio.org; + description = "A library and tools for reading and writing images"; + license = licenses.bsd3; + maintainers = with maintainers; [ goibhniu jtojnar ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix index f405ca01200..7225efadebd 100644 --- a/pkgs/applications/graphics/openimageio/default.nix +++ b/pkgs/applications/graphics/openimageio/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "openimageio-${version}"; + pname = "openimageio"; version = "1.8.16"; src = fetchFromGitHub { @@ -15,28 +15,23 @@ stdenv.mkDerivation rec { outputs = [ "bin" "out" "dev" "doc" ]; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake unzip ]; buildInputs = [ boost ilmbase libjpeg libpng libtiff opencolorio openexr - unzip ]; cmakeFlags = [ "-DUSE_PYTHON=OFF" ]; - preBuild = '' - makeFlags="ILMBASE_HOME=${ilmbase.dev} OPENEXR_HOME=${openexr.dev} USE_PYTHON=0 - INSTALLDIR=$out dist_dir=" - ''; - - postInstall = '' - mkdir -p $bin - mv $out/bin $bin/ - ''; - - enableParallelBuilding = true; + makeFlags = [ + "ILMBASE_HOME=${ilmbase.dev}" + "OPENEXR_HOME=${openexr.dev}" + "USE_PYTHON=0" + "INSTALLDIR=${placeholder "out"}" + "dist_dir=" + ]; meta = with stdenv.lib; { homepage = http://www.openimageio.org; @@ -44,5 +39,6 @@ stdenv.mkDerivation rec { license = licenses.bsd3; maintainers = [ maintainers.goibhniu ]; platforms = platforms.unix; + badPlatforms = [ "x86_64-darwin" ]; }; } diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix index bce2e882698..9f7fbc8421b 100644 --- a/pkgs/applications/graphics/openscad/default.nix +++ b/pkgs/applications/graphics/openscad/default.nix @@ -1,29 +1,51 @@ -{ stdenv, fetchFromGitHub, qt5, libsForQt5 -, bison, flex, eigen, boost, libGLU_combined, glew, opencsg, cgal -, mpfr, gmp, glib, pkgconfig, harfbuzz, gettext +{ stdenv +, fetchFromGitHub +, qtbase +, qtmultimedia +, qscintilla +, bison +, flex +, eigen +, boost +, libGLU_combined +, glew +, opencsg +, cgal +, mpfr +, gmp +, glib +, pkgconfig +, harfbuzz +, gettext +, freetype +, fontconfig +, double-conversion +, lib3mf +, libzip +, mkDerivation +, qtmacextras +, qmake }: -stdenv.mkDerivation rec { - version = "2018.04-git"; - name = "openscad-${version}"; +mkDerivation rec { + pname = "openscad"; + version = "2019.05"; -# src = fetchurl { -# url = "http://files.openscad.org/${name}.src.tar.gz"; -# sha256 = "0djsgi9yx1nxr2gh1kgsqw5vrbncp8v5li0p1pp02higqf1psajx"; -# }; src = fetchFromGitHub { owner = "openscad"; repo = "openscad"; - rev = "179074dff8c23cbc0e651ce8463737df0006f4ca"; - sha256 = "1y63yqyd0v255liik4ff5ak6mj86d8d76w436x76hs5dk6jgpmfb"; + rev = "${pname}-${version}"; + sha256 = "1qz384jqgk75zxk7sqd22ma9pyd94kh4h6a207ldx7p9rny6vc5l"; }; + nativeBuildInputs = [ bison flex pkgconfig gettext qmake ]; + buildInputs = [ - bison flex eigen boost libGLU_combined glew opencsg cgal mpfr gmp glib - pkgconfig harfbuzz gettext - ] - ++ (with qt5; [qtbase qmake]) - ++ (with libsForQt5; [qscintilla]) + eigen boost glew opencsg cgal mpfr gmp glib + harfbuzz lib3mf libzip double-conversion freetype fontconfig + qtbase qtmultimedia qscintilla + ] ++ stdenv.lib.optional stdenv.isLinux libGLU_combined + ++ stdenv.lib.optional stdenv.isDarwin qtmacextras ; qmakeFlags = [ "VERSION=${version}" ]; @@ -31,7 +53,16 @@ stdenv.mkDerivation rec { # src/lexer.l:36:10: fatal error: parser.hxx: No such file or directory enableParallelBuilding = false; # true by default due to qmake - doCheck = false; + postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + mkdir $out/Applications + mv $out/bin/*.app $out/Applications + rmdir $out/bin || true + + mv --target-directory=$out/Applications/OpenSCAD.app/Contents/Resources \ + $out/share/openscad/{examples,color-schemes,locale,libraries,fonts} + + rmdir $out/share/openscad + ''; meta = { description = "3D parametric model compiler"; @@ -48,8 +79,8 @@ stdenv.mkDerivation rec { ''; homepage = http://openscad.org/; license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; maintainers = with stdenv.lib.maintainers; - [ bjornfor raskin the-kenny ]; + [ bjornfor raskin the-kenny gebner ]; }; } diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix index cf13c6fb05e..13a00991265 100644 --- a/pkgs/applications/graphics/paraview/default.nix +++ b/pkgs/applications/graphics/paraview/default.nix @@ -5,7 +5,7 @@ stdenv, fetchFromGitHub, cmake, makeWrapper }: stdenv.mkDerivation rec { - name = "paraview-${version}"; + pname = "paraview"; version = "5.6.0"; # fetching from GitHub instead of taking an "official" source diff --git a/pkgs/applications/graphics/pbrt/default.nix b/pkgs/applications/graphics/pbrt/default.nix index 3cc7166b4e4..a0aaed49c9c 100644 --- a/pkgs/applications/graphics/pbrt/default.nix +++ b/pkgs/applications/graphics/pbrt/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { version = "2018-08-15"; - name = "pbrt-v3-${version}"; + pname = "pbrt-v3"; src = fetchFromGitHub { rev = "86b5821308088deea70b207bc8c22219d0103d65"; diff --git a/pkgs/applications/graphics/pdfcpu/default.nix b/pkgs/applications/graphics/pdfcpu/default.nix new file mode 100644 index 00000000000..c1b2beadcd5 --- /dev/null +++ b/pkgs/applications/graphics/pdfcpu/default.nix @@ -0,0 +1,26 @@ +{ stdenv, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "pdfcpu"; + version = "0.2.3"; + + src = fetchFromGitHub { + owner = "pdfcpu"; + repo = pname; + rev = "v${version}"; + sha256 = "11q57j3wzmy2glkv53i9n7jkp14x4bqm20f3rqs3gkm4j9bcas4y"; + }; + + modSha256 = "0cz4gs88s9z2yv1gc9ap92vv2j93ab6kr25zjgl2r7z6clbl5fzp"; + + subPackages = [ "cmd/pdfcpu" ]; + + meta = with stdenv.lib; { + description = "A PDF processor written in Go"; + homepage = https://pdfcpu.io; + license = licenses.asl20; + maintainers = with maintainers; [ doronbehar ]; + platforms = platforms.all; + }; +} + diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix index de758271004..37857fc459e 100644 --- a/pkgs/applications/graphics/pencil/default.nix +++ b/pkgs/applications/graphics/pencil/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, lib, makeWrapper, # build dependencies alsaLib, atk, cairo, cups, dbus, expat, fontconfig, - freetype, gdk_pixbuf, glib, gnome2, nspr, nss, xorg, + freetype, gdk-pixbuf, glib, gnome2, nspr, nss, xorg, glibc, systemd }: stdenv.mkDerivation rec { version = "3.0.4"; - name = "pencil-${version}"; + pname = "pencil"; src = fetchurl { url = "http://pencil.evolus.vn/dl/V${version}/Pencil_${version}_amd64.deb"; @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { expat fontconfig freetype - gdk_pixbuf + gdk-pixbuf glib gnome2.GConf gnome2.gtk diff --git a/pkgs/applications/graphics/photivo/default.nix b/pkgs/applications/graphics/photivo/default.nix index 4843898eb64..6bd2fa98b1b 100644 --- a/pkgs/applications/graphics/photivo/default.nix +++ b/pkgs/applications/graphics/photivo/default.nix @@ -37,5 +37,6 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { platforms = platforms.linux; license = licenses.gpl3; + broken = true; # exiv2 0.27.1 FTBFS }; } diff --git a/pkgs/applications/graphics/photoqt/default.nix b/pkgs/applications/graphics/photoqt/default.nix index 7571bb29bec..68afdd8694b 100644 --- a/pkgs/applications/graphics/photoqt/default.nix +++ b/pkgs/applications/graphics/photoqt/default.nix @@ -1,23 +1,36 @@ -{ stdenv, fetchurl, cmake, exiv2, graphicsmagick, libraw +{ stdenv, fetchurl, cmake, exiv2, graphicsmagick, libraw, fetchpatch , qtbase, qtdeclarative, qtmultimedia, qtquickcontrols, qttools, qtgraphicaleffects +, extra-cmake-modules, poppler, kimageformats, libarchive, libdevil }: stdenv.mkDerivation rec { - name = "photoqt-${version}"; - version = "1.5.1"; + pname = "photoqt"; + version = "1.7.1"; src = fetchurl { - url = "https://photoqt.org/pkgs/photoqt-${version}.tar.gz"; - sha256 = "17kkpzkmzfnigs26jjyd75iy58qffjsclif81cmviq73lzmqy0b1"; + url = "https://${pname}.org/pkgs/${pname}-${version}.tar.gz"; + sha256 = "1qvxdh3cbjcywqx0da2qp8z092660qyzv5yknqbps2zr12qqb103"; }; - patches = [ ./photoqt-1.5.1-qt-5.9.patch ]; + patches = [ + # Fixes build with exiv2 0.27.1 + (fetchpatch { + url = "https://gitlab.com/luspi/photoqt/commit/c6fd41478e818f3a651d40f96cab3d790e1c09a4.patch"; + sha256 = "1j2pdr7hm3js7lswhb4qkf9sj9viclhjqz50qxpyd7pqrl1gf2va"; + }) + ]; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake extra-cmake-modules qttools ]; buildInputs = [ - qtbase qtquickcontrols qttools exiv2 graphicsmagick + qtbase qtquickcontrols exiv2 graphicsmagick poppler qtmultimedia qtdeclarative libraw qtgraphicaleffects + kimageformats libarchive + ]; + + cmakeFlags = [ + "-DFREEIMAGE=OFF" + "-DDEVIL=OFF" ]; preConfigure = '' diff --git a/pkgs/applications/graphics/photoqt/photoqt-1.5.1-qt-5.9.patch b/pkgs/applications/graphics/photoqt/photoqt-1.5.1-qt-5.9.patch deleted file mode 100644 index daa982b5f3a..00000000000 --- a/pkgs/applications/graphics/photoqt/photoqt-1.5.1-qt-5.9.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 97abcb5..fd4877a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -50,7 +50,7 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O3 -Wall") - #### FIND REQUIRED PACKAGES #### - ################################ - --FIND_PACKAGE(Qt5 COMPONENTS LinguistTools Quick Widgets Core Svg REQUIRED) -+FIND_PACKAGE(Qt5 COMPONENTS LinguistTools Quick Widgets Core Svg Sql Xml REQUIRED) - SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH}) - FIND_PACKAGE(Magick) - FIND_PACKAGE(Exiv2) diff --git a/pkgs/applications/graphics/phototonic/default.nix b/pkgs/applications/graphics/phototonic/default.nix index 7da1d4b612f..5e7fb5cf7a0 100644 --- a/pkgs/applications/graphics/phototonic/default.nix +++ b/pkgs/applications/graphics/phototonic/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, qtbase, qmake, exiv2 }: stdenv.mkDerivation rec { - name = "phototonic-${version}"; + pname = "phototonic"; version = "2.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/graphics/potrace/default.nix b/pkgs/applications/graphics/potrace/default.nix index 132136da658..f50af2925a3 100644 --- a/pkgs/applications/graphics/potrace/default.nix +++ b/pkgs/applications/graphics/potrace/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, zlib }: stdenv.mkDerivation rec { - name = "potrace-${version}"; + pname = "potrace"; version = "1.15"; src = fetchurl { diff --git a/pkgs/applications/graphics/pqiv/default.nix b/pkgs/applications/graphics/pqiv/default.nix index ec4ce69d5e8..1ad51e92d47 100644 --- a/pkgs/applications/graphics/pqiv/default.nix +++ b/pkgs/applications/graphics/pqiv/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation (rec { - name = "pqiv-${version}"; + pname = "pqiv"; version = "2.11"; src = fetchFromGitHub { diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix new file mode 100644 index 00000000000..9972ea75709 --- /dev/null +++ b/pkgs/applications/graphics/processing/default.nix @@ -0,0 +1,63 @@ +{ stdenv, fetchFromGitHub, fetchurl, xmlstarlet, makeWrapper, ant, jdk, rsync, javaPackages, libXxf86vm, gsettings-desktop-schemas }: + +stdenv.mkDerivation rec { + pname = "processing"; + version = "3.5.3"; + + src = fetchFromGitHub { + owner = "processing"; + repo = "processing"; + rev = "processing-0269-${version}"; + sha256 = "0ajniy3a0i0rx7is46r85yh3ah4zm4ra1gbllmihw9pmnfjgfajn"; + }; + + nativeBuildInputs = [ ant rsync makeWrapper ]; + buildInputs = [ jdk ]; + + buildPhase = '' + # use compiled jogl to avoid patchelf'ing .so files inside jars + rm core/library/*.jar + cp ${javaPackages.jogl_2_3_2}/share/java/*.jar core/library/ + + # do not download a file during build + ${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 = "198bpk8mzns6w5h0zdf50wr6iv7sgdi6v7jznj5rbsnpgyilxz35"; + } + } ./java/reference.zip + + # suppress "Not fond of this Java VM" message box + substituteInPlace app/src/processing/app/platform/LinuxPlatform.java \ + --replace 'Messages.showWarning' 'if (false) Messages.showWarning' + + ( cd build + substituteInPlace build.xml --replace "jre-download," "" # do not download jre1.8.0_144 + mkdir -p linux/jre1.8.0_144 # fake dir to avoid error + ant build ) + ''; + + installPhase = '' + mkdir $out + cp -dpR build/linux/work $out/${pname} + + rmdir $out/${pname}/java + ln -s ${jdk} $out/${pname}/java + + makeWrapper $out/${pname}/processing $out/bin/processing \ + --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name} \ + --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd \ + --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib + makeWrapper $out/${pname}/processing-java $out/bin/processing-java \ + --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name} \ + --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd \ + --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib + ''; + + meta = with stdenv.lib; { + description = "A language and IDE for electronic arts"; + homepage = https://processing.org; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/processing3/default.nix b/pkgs/applications/graphics/processing3/default.nix deleted file mode 100644 index 6f90131db12..00000000000 --- a/pkgs/applications/graphics/processing3/default.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ stdenv, fetchFromGitHub, fetchurl, xmlstarlet, makeWrapper, ant, jdk, rsync, javaPackages, libXxf86vm, gsettings-desktop-schemas }: - -stdenv.mkDerivation rec { - version = "3.4"; - name = "processing3-${version}"; - - src = fetchFromGitHub { - owner = "processing"; - repo = "processing"; - rev = "processing-0265-${version}"; - sha256 = "12wpxgn2wd5vbasx9584w5yb1s319smq1zh8m7dvp7gkqw9plwp4"; - }; - - nativeBuildInputs = [ ant rsync makeWrapper ]; - buildInputs = [ jdk ]; - - buildPhase = '' - # use compiled jogl to avoid patchelf'ing .so files inside jars - rm core/library/*.jar - cp ${javaPackages.jogl_2_3_2}/share/java/*.jar core/library/ - - # do not download a file during build - ${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 = "0ai0cr62gc7n6y22ki3qibyj1qnlaxv1miqxmmahfk3hpbyfqz9n"; - } - } ./java/reference.zip - - # suppress "Not fond of this Java VM" message box - substituteInPlace app/src/processing/app/platform/LinuxPlatform.java \ - --replace 'Messages.showWarning' 'if (false) Messages.showWarning' - - ( cd build - substituteInPlace build.xml --replace "jre-download," "" # do not download jre1.8.0_144 - mkdir -p linux/jre1.8.0_144 # fake dir to avoid error - ant build ) - ''; - - installPhase = '' - mkdir $out - cp -dpR build/linux/work $out/${name} - - rmdir $out/${name}/java - ln -s ${jdk} $out/${name}/java - - makeWrapper $out/${name}/processing $out/bin/processing \ - --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name} \ - --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd \ - --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib - makeWrapper $out/${name}/processing-java $out/bin/processing-java \ - --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name} \ - --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd \ - --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib - ''; - - meta = with stdenv.lib; { - description = "A language and IDE for electronic arts"; - homepage = https://processing.org; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/graphics/qcomicbook/default.nix b/pkgs/applications/graphics/qcomicbook/default.nix index c37e21ec898..4d416a7c106 100644 --- a/pkgs/applications/graphics/qcomicbook/default.nix +++ b/pkgs/applications/graphics/qcomicbook/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools, qtx11extras, poppler }: stdenv.mkDerivation rec { - name = "qcomicbook-${version}"; + pname = "qcomicbook"; version = "0.9.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/graphics/qiv/default.nix b/pkgs/applications/graphics/qiv/default.nix index 8e6058d6998..750217d9918 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"; - name = "qiv-${version}"; + version = "2.3.2"; + pname = "qiv"; src = fetchurl { - url = "https://spiegl.de/qiv/download/${name}.tgz"; - sha256 = "1rlf5h67vhj7n1y7jqkm9k115nfnzpwngj3kzqsi2lg676srclv7"; + url = "https://spiegl.de/qiv/download/${pname}-${version}.tgz"; + sha256 = "1mc0f2nnas4q0d7zc9r6g4z93i32xlx0p9hl4fn5zkyml24a1q28"; }; nativeBuildInputs = [ pkgconfig ]; @@ -15,6 +15,7 @@ stdenv.mkDerivation (rec { preBuild='' substituteInPlace Makefile --replace /usr/local "$out" substituteInPlace Makefile --replace /man/ /share/man/ + substituteInPlace Makefile --replace /share/share/ /share/ ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/graphics/qtpfsgui/default.nix b/pkgs/applications/graphics/qtpfsgui/default.nix deleted file mode 100644 index 4be7d230b5f..00000000000 --- a/pkgs/applications/graphics/qtpfsgui/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{stdenv, fetchurl, qt4, qmake4Hook, exiv2, openexr, fftwSinglePrec, libtiff, ilmbase }: - -stdenv.mkDerivation rec { - name = "qtpfsgui-1.9.3"; - - src = fetchurl { - url = "mirror://sourceforge/qtpfsgui/${name}.tar.gz"; - sha256 = "1mlg9dry4mfnnjlnwsw375hzsiagssdhccfmapx5nh6ykqrslsh1"; - }; - - buildInputs = [ qt4 exiv2 openexr fftwSinglePrec libtiff ]; - nativeBuildInputs = [ qmake4Hook ]; - - hardeningDisable = [ "format" ]; - - preConfigure = '' - export CPATH="${ilmbase.dev}/include/OpenEXR:$CPATH" - ''; - - qmakeFlags = [ - "EXIV2PATH=${exiv2.dev}/include/exiv2" - "OPENEXRDIR=${openexr.dev}/include/OpenEXR" - "FFTW3DIR=${fftwSinglePrec.dev}/include" - "LIBTIFFDIR=${libtiff.dev}/include" - ]; - - meta = { - homepage = http://qtpfsgui.sourceforge.net/; - description = "Qtpfsqui, a graphical application for high dynamic range (HDR) imaging"; - - longDescription = - '' Qtpfsgui is an open source graphical user interface application that - aims to provide a workflow for high dynamic range (HDR) imaging. - ''; - - license = stdenv.lib.licenses.gpl2Plus; - - maintainers = [ ]; - platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/applications/graphics/qview/default.nix b/pkgs/applications/graphics/qview/default.nix new file mode 100644 index 00000000000..0595ab2963c --- /dev/null +++ b/pkgs/applications/graphics/qview/default.nix @@ -0,0 +1,22 @@ +{stdenv, fetchFromGitHub, qmake}: +stdenv.mkDerivation rec { + pname = "qview"; + version = "2.0"; + src = fetchFromGitHub { + owner = "jurplel"; + repo = "qView"; + rev = version; + sha256 = "1s29hz44rb5dwzq8d4i4bfg77dr0v3ywpvidpa6xzg7hnnv3mhi5"; + }; + nativeBuildInputs = [ qmake ]; + patchPhase = '' + sed "s|/usr/|$out/|g" -i qView.pro + ''; + meta = with stdenv.lib; { + description = "Practical and minimal image viewer"; + homepage = "https://interversehq.com/qview/"; + license = licenses.gpl3; + maintainers = with maintainers; [ acowley ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/graphics/rapcad/default.nix b/pkgs/applications/graphics/rapcad/default.nix index b300c0071fa..7e9547c1067 100644 --- a/pkgs/applications/graphics/rapcad/default.nix +++ b/pkgs/applications/graphics/rapcad/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { version = "0.9.8"; - name = "rapcad-${version}"; + pname = "rapcad"; src = fetchFromGitHub { owner = "gilesbathgate"; diff --git a/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/pkgs/applications/graphics/rapid-photo-downloader/default.nix index 36087aa84bb..28d05480dae 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 +{ stdenv, mkDerivationWith, fetchurl, python3Packages , file, intltool, gobject-introspection, libgudev -, udisks, glib, gnome3, gst_all_1, libnotify -, exiv2, exiftool, qt5, gdk_pixbuf +, udisks, gexiv2, gst_all_1, libnotify +, exiftool, gdk-pixbuf, libmediainfo, vmtouch }: -python3Packages.buildPythonApplication rec { +mkDerivationWith python3Packages.buildPythonApplication rec { pname = "rapid-photo-downloader"; - version = "0.9.13"; + version = "0.9.16"; src = fetchurl { url = "https://launchpad.net/rapid/pyqt/${version}/+download/${pname}-${version}.tar.gz"; - sha256 = "1517w18sxil1gwd78jjbbixcd1b0sp05imnnd5h5lr8wl3f0szj0"; + sha256 = "0ij3li17jcqjx79ldv6zg2ckn8m2l9n4xvvq2x79y4q8yx9fqg85"; }; # 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 gobject-introspection ]; + 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,16 @@ python3Packages.buildPythonApplication rec { requests colorlog pyprind - ]); + tenacity + ]; makeWrapperArgs = [ "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\"" "--set PYTHONPATH \"$PYTHONPATH\"" + "--prefix PATH : ${stdenv.lib.makeBinPath [ exiftool vmtouch ]}" + "--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libmediainfo ]}" + "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : \"$GST_PLUGIN_SYSTEM_PATH_1_0\"" + "\${qtWrapperArgs[@]}" ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/graphics/renderdoc/default.nix b/pkgs/applications/graphics/renderdoc/default.nix index 3990d098906..594429503a3 100644 --- a/pkgs/applications/graphics/renderdoc/default.nix +++ b/pkgs/applications/graphics/renderdoc/default.nix @@ -1,7 +1,7 @@ { 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 { @@ -12,18 +12,18 @@ let }; in stdenv.mkDerivation rec { - version = "1.2"; - name = "renderdoc-${version}"; + version = "1.4"; + pname = "renderdoc"; src = fetchFromGitHub { owner = "baldurk"; repo = "renderdoc"; rev = "v${version}"; - sha256 = "0s1q5d58x18yz3nf94pv5i1qd2hc0a4gdj4qkpcn8s6ms2x05pz4"; + sha256 = "1iann73r4yzkwnm13h4zqipqrp5i5cnkv27yyap0axz6h3npw94r"; }; 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/runwayml/default.nix b/pkgs/applications/graphics/runwayml/default.nix new file mode 100644 index 00000000000..f96b70a77b4 --- /dev/null +++ b/pkgs/applications/graphics/runwayml/default.nix @@ -0,0 +1,45 @@ +{ lib +, fetchurl +, appimageTools +, symlinkJoin +}: + +let + pname = "runwayml"; + version = "0.9.0"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "https://runway-releases.s3.amazonaws.com/Runway%20${version}.AppImage"; + sha256 = "0rg7ipp7kx0l4qgcymfg5d3saz0c6d2j0c6rf28rwqgbm92gbjjq"; + name="${pname}-${version}.AppImage"; + }; + + binary = appimageTools.wrapType2 { + name = "${pname}"; + inherit src; + }; + # we only use this to extract the icon + appimage-contents = appimageTools.extractType2 { + inherit name src; + }; + +in + symlinkJoin { + inherit name; + paths = [ binary ]; + + postBuild = '' + mkdir -p $out/share/pixmaps/ $out/share/applications + cp ${appimage-contents}/usr/share/icons/hicolor/1024x1024/apps/runway.png $out/share/pixmaps/runway.png + sed 's:Exec=AppRun:Exec=runwayml:' ${appimage-contents}/runway.desktop > $out/share/applications/runway.desktop + ''; + + meta = with lib; { + description = "Machine learning for creators"; + homepage = https://runwayml.com/; + license = licenses.unfree; + maintainers = with maintainers; [ prusnak ]; + platforms = [ "x86_64-linux" ]; + }; +} 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 00000000000..d4165be3784 --- /dev/null +++ b/pkgs/applications/graphics/sane/backends/dsseries/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchurl, rpmextract }: + +stdenv.mkDerivation rec { + pname = "libsane-dsseries"; + version = "1.0.5-1"; + + src = fetchurl { + url = "https://download.brother.com/welcome/dlf100974/${pname}-${version}.x86_64.rpm"; + sha256 = "1wfdbfbf51cc7njzikdg48kwpnpc0pg5s6p0s0y3z0q7y59x2wbq"; + }; + + nativeBuildInputs = [ rpmextract ]; + + unpackCmd = '' + mkdir ${pname}-${version} && pushd ${pname}-${version} + 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/sane/frontends.nix b/pkgs/applications/graphics/sane/frontends.nix index f6994db81e4..66473c4a155 100644 --- a/pkgs/applications/graphics/sane/frontends.nix +++ b/pkgs/applications/graphics/sane/frontends.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, sane-backends, libX11, gtk2, pkgconfig, libusb ? null }: stdenv.mkDerivation rec { - name = "sane-frontends-${version}"; + pname = "sane-frontends"; version = "1.0.14"; src = fetchurl { - url = "https://alioth.debian.org/frs/download.php/latestfile/175/${name}.tar.gz"; + url = "https://alioth.debian.org/frs/download.php/latestfile/175/${pname}-${version}.tar.gz"; sha256 = "1ad4zr7rcxpda8yzvfkq1rfjgx9nl6lan5a628wvpdbh3fn9v0z7"; }; diff --git a/pkgs/applications/graphics/scantailor/advanced.nix b/pkgs/applications/graphics/scantailor/advanced.nix index d55441e39fa..63f16f688ac 100644 --- a/pkgs/applications/graphics/scantailor/advanced.nix +++ b/pkgs/applications/graphics/scantailor/advanced.nix @@ -3,7 +3,7 @@ , qtbase, qttools }: stdenv.mkDerivation rec { - name = "scantailor-advanced-${version}"; + pname = "scantailor-advanced"; version = "1.0.16"; src = fetchFromGitHub { diff --git a/pkgs/applications/graphics/screencloud/default.nix b/pkgs/applications/graphics/screencloud/default.nix index 292ae9c8faa..88bbbd9d864 100644 --- a/pkgs/applications/graphics/screencloud/default.nix +++ b/pkgs/applications/graphics/screencloud/default.nix @@ -2,7 +2,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "screencloud-${version}"; + pname = "screencloud"; version = "1.2.0"; # API Keys. According to the author of the AUR package, these are only used diff --git a/pkgs/applications/graphics/seg3d/default.nix b/pkgs/applications/graphics/seg3d/default.nix index bca88cc7013..58cec2ec170 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 03cac9114af..79bc743fbf0 100644 --- a/pkgs/applications/graphics/shotwell/default.nix +++ b/pkgs/applications/graphics/shotwell/default.nix @@ -1,31 +1,89 @@ -{ fetchurl, stdenv, meson, ninja, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite -, webkitgtk, pkgconfig, gnome3, gst_all_1, libgudev, libraw, glib, json-glib, gcr -, gettext, desktop-file-utils, gdk_pixbuf, librsvg, wrapGAppsHook -, gobject-introspection, itstool, libgdata, python3 }: +{ stdenv +, fetchurl +, 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.30.2"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; + version = "0.31.0"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0pam0si110vkc65kh59lrmgkv91f9zxmf1gpfm99ixjgw25rfi8r"; + 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 python3 wrapGAppsHook gobject-introspection + 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 - 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 ]; postPatch = '' diff --git a/pkgs/applications/graphics/shutter/default.nix b/pkgs/applications/graphics/shutter/default.nix index 5800fb6df3c..527a21f93fe 100644 --- a/pkgs/applications/graphics/shutter/default.nix +++ b/pkgs/applications/graphics/shutter/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, perlPackages, makeWrapper, imagemagick, gdk_pixbuf, librsvg +{ stdenv, fetchurl, perlPackages, makeWrapper, imagemagick, gdk-pixbuf, librsvg , hicolor-icon-theme, procps }: @@ -14,15 +14,15 @@ let ]; in stdenv.mkDerivation rec { - name = "shutter-0.94.2"; + name = "shutter-0.94.3"; src = fetchurl { - url = "https://launchpad.net/shutter/0.9x/0.94.2/+download/shutter-0.94.2.tar.gz"; - sha256 = "0mas7npm935j4rhqqjn226822s9sa4bsxrkp0b5fjj3z096k6vw0"; + url = "https://launchpad.net/shutter/0.9x/0.94.3/+download/shutter-0.94.3.tar.gz"; + sha256 = "01wv5k6zqfqa2rss461lpdpjxpfk4awzfdc6j2qk6bh4g4zgmgl5"; }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ perlPackages.perl procps gdk_pixbuf librsvg ] ++ perlModules; + buildInputs = [ perlPackages.perl procps gdk-pixbuf librsvg ] ++ perlModules; installPhase = '' mkdir -p "$out" diff --git a/pkgs/applications/graphics/solvespace/default.nix b/pkgs/applications/graphics/solvespace/default.nix index 2e413839f00..7046caad295 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-20180906"; - rev = "258545a334098cf25c1c9f4cd59b778dfe0b0d29"; + name = "solvespace-2.3-20190501"; + rev = "e7b75f19c34c923780db776592b47152650d8f22"; src = fetchgit { url = https://github.com/solvespace/solvespace; inherit rev; - sha256 = "1wimh6l0zpk0vywcsd2minijjf6g550z8i3l8lpmfnl5przymc2v"; + sha256 = "07k4mbzxf0dmzwdhjx5nc09y7rn1schkaypsw9kz0l7ppylprpp2"; fetchSubmodules = true; }; diff --git a/pkgs/applications/graphics/swingsane/default.nix b/pkgs/applications/graphics/swingsane/default.nix index ac3de4a4e14..f56646e5aed 100644 --- a/pkgs/applications/graphics/swingsane/default.nix +++ b/pkgs/applications/graphics/swingsane/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchurl, makeDesktopItem, unzip, jre }: +{ stdenv, fetchurl, makeDesktopItem, unzip, jre, runtimeShell }: stdenv.mkDerivation rec { - name = "swingsane-${version}"; + pname = "swingsane"; version = "0.2"; src = fetchurl { @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { installPhase = let execWrapper = '' - #!${stdenv.shell} + #!${runtimeShell} exec ${jre}/bin/java -jar $out/share/java/swingsane/swingsane-${version}.jar "$@" ''; diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix index 63d35cc5453..34294d27129 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 @@ -22,7 +22,8 @@ let }; synfig = stdenv.mkDerivation rec { - name = "synfig-${version}"; + pname = "synfig"; + inherit version; src = fetchFromGitHub { repo = "synfig"; @@ -47,7 +48,8 @@ let }; in stdenv.mkDerivation rec { - name = "synfigstudio-${version}"; + pname = "synfigstudio"; + inherit version; src = fetchFromGitHub { repo = "synfig"; @@ -105,7 +107,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/tesseract3.nix b/pkgs/applications/graphics/tesseract/tesseract3.nix index db0e06434aa..157c0b9742b 100644 --- a/pkgs/applications/graphics/tesseract/tesseract3.nix +++ b/pkgs/applications/graphics/tesseract/tesseract3.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, pkgconfig +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig , leptonica, libpng, libtiff, icu, pango, opencl-headers }: stdenv.mkDerivation rec { - name = "tesseract-${version}"; + pname = "tesseract"; version = "3.05.00"; src = fetchFromGitHub { diff --git a/pkgs/applications/graphics/tesseract/tesseract4.nix b/pkgs/applications/graphics/tesseract/tesseract4.nix index df321023c74..548f58a50fb 100644 --- a/pkgs/applications/graphics/tesseract/tesseract4.nix +++ b/pkgs/applications/graphics/tesseract/tesseract4.nix @@ -2,14 +2,14 @@ , leptonica, libpng, libtiff, icu, pango, opencl-headers }: stdenv.mkDerivation rec { - name = "tesseract-${version}"; - version = "4.0.0"; + pname = "tesseract"; + version = "4.1.0"; src = fetchFromGitHub { owner = "tesseract-ocr"; repo = "tesseract"; rev = version; - sha256 = "1b5fi2vibc4kk9b30kkk4ais4bw8fbbv24bzr5709194hb81cav8"; + sha256 = "06i7abxy2ifmdx1fak81cx0kns85n8hvp0339jk6242fhshibljx"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/graphics/timelapse-deflicker/default.nix b/pkgs/applications/graphics/timelapse-deflicker/default.nix index b4ddb143685..8355545e8dd 100644 --- a/pkgs/applications/graphics/timelapse-deflicker/default.nix +++ b/pkgs/applications/graphics/timelapse-deflicker/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, makeWrapper, perl, perlPackages }: stdenv.mkDerivation rec { - name = "timelapse-deflicker-${version}"; + pname = "timelapse-deflicker"; version = "0.1.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/graphics/ufraw/default.nix b/pkgs/applications/graphics/ufraw/default.nix index 50cd9485a3e..39b4640dc43 100644 --- a/pkgs/applications/graphics/ufraw/default.nix +++ b/pkgs/applications/graphics/ufraw/default.nix @@ -1,38 +1,70 @@ -{ fetchurl, stdenv, pkgconfig, gtk2, gettext, bzip2, zlib -, withGimpPlugin ? true, gimp ? null -, libjpeg, libtiff, cfitsio, exiv2, lcms2, gtkimageview, lensfun }: +{ stdenv +, fetchFromGitHub + +, autoconf +, automake +, autoreconfHook +, bzip2 +, cfitsio +, exiv2 +, gettext +, gimp ? null +, gtk2 +, gtkimageview +, lcms2 +, lensfun +, libjpeg +, libtiff +, perl +, pkgconfig +, zlib + +, withGimpPlugin ? true +}: assert withGimpPlugin -> gimp != null; stdenv.mkDerivation rec { - name = "ufraw-0.22"; + pname = "ufraw"; + version = "unstable-2019-06-12"; - src = fetchurl { - # XXX: These guys appear to mutate uploaded tarballs! - url = "mirror://sourceforge/ufraw/${name}.tar.gz"; - sha256 = "0pm216pg0vr44gwz9vcvq3fsf8r5iayljhf5nis2mnw7wn6d5azp"; + # The original ufraw repo is unmaintained and broken; + # this is a fork that collects patches + src = fetchFromGitHub { + owner = "sergiomb2"; + repo = "ufraw"; + rev = "c65b4237dcb430fb274e4778afaf5df9a18e04e6"; + sha256 = "02icn67bsinvgliy62qa6v7gmwgp2sh15jvm8iiz3c7g1h74f0b7"; }; outputs = [ "out" ] ++ stdenv.lib.optional withGimpPlugin "gimpPlugin"; - nativeBuildInputs = [ pkgconfig gettext ]; + nativeBuildInputs = [ autoconf automake autoreconfHook gettext perl pkgconfig ]; + buildInputs = [ - gtk2 gtkimageview bzip2 zlib - libjpeg libtiff cfitsio exiv2 lcms2 lensfun + bzip2 + cfitsio + exiv2 + gtk2 + gtkimageview + lcms2 + lensfun + libjpeg + libtiff + zlib ] ++ stdenv.lib.optional withGimpPlugin gimp; configureFlags = [ - "--enable-extras" - "--enable-dst-correction" "--enable-contrast" + "--enable-dst-correction" ] ++ stdenv.lib.optional withGimpPlugin "--with-gimp"; postInstall = stdenv.lib.optionalString withGimpPlugin '' moveToOutput "lib/gimp" "$gimpPlugin" ''; - meta = { - homepage = http://ufraw.sourceforge.net/; + meta = with stdenv.lib; { + homepage = https://github.com/sergiomb2/ufraw; description = "Utility to read and manipulate raw images from digital cameras"; @@ -46,9 +78,9 @@ stdenv.mkDerivation rec { the camera's tone curves. ''; - license = stdenv.lib.licenses.gpl2Plus; + license = licenses.gpl2Plus; - maintainers = [ ]; - platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # needs GTK+ + maintainers = with maintainers; [ gloaming ]; + platforms = with platforms; all; }; } diff --git a/pkgs/applications/graphics/unigine-valley/default.nix b/pkgs/applications/graphics/unigine-valley/default.nix index d29c9cd8259..09abfc60a52 100644 --- a/pkgs/applications/graphics/unigine-valley/default.nix +++ b/pkgs/applications/graphics/unigine-valley/default.nix @@ -12,6 +12,7 @@ , libXinerama , libXrandr , libXrender +, libGL , openal}: let @@ -26,7 +27,8 @@ let in stdenv.mkDerivation rec { - name = "unigine-valley-${version}"; + pname = "unigine-valley"; + inherit version; src = fetchurl { url = "http://assets.unigine.com/d/Unigine_Valley-${version}.run"; @@ -47,6 +49,7 @@ in libXinerama libXrandr libXrender + libGL openal ]; diff --git a/pkgs/applications/graphics/viewnior/default.nix b/pkgs/applications/graphics/viewnior/default.nix index 5afd7a0237d..4f5fb12faa6 100644 --- a/pkgs/applications/graphics/viewnior/default.nix +++ b/pkgs/applications/graphics/viewnior/default.nix @@ -1,21 +1,21 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, gtk2, libpng, exiv2, lcms -, intltool, gettext, shared-mime-info, glib, gdk_pixbuf, perl}: +, intltool, gettext, shared-mime-info, glib, gdk-pixbuf, perl}: stdenv.mkDerivation rec { - name = "viewnior-${version}"; + pname = "viewnior"; version = "1.6"; src = fetchFromGitHub { owner = "xsisqox"; repo = "Viewnior"; - rev = name; + rev = "${pname}-${version}"; sha256 = "06ppv3r85l3id4ij6h4y5fgm3nib2587fdrdv9fccyi75zk7fs0p"; }; nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ pkgconfig gtk2 libpng exiv2 lcms intltool gettext - shared-mime-info glib gdk_pixbuf perl + shared-mime-info glib gdk-pixbuf perl ]; preFixup = '' diff --git a/pkgs/applications/graphics/vimiv/default.nix b/pkgs/applications/graphics/vimiv/default.nix index e790ef49acb..5fc7e309f4d 100644 --- a/pkgs/applications/graphics/vimiv/default.nix +++ b/pkgs/applications/graphics/vimiv/default.nix @@ -1,5 +1,5 @@ { lib, python3Packages, fetchFromGitHub, imagemagick, librsvg, gtk3, jhead -, hicolor-icon-theme, defaultIconTheme +, hicolor-icon-theme, gnome3 # Test requirements , dbus, xvfb_run, xdotool @@ -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 e27f074b21b..8d6eca7ef32 100644 --- a/pkgs/applications/graphics/wings/default.nix +++ b/pkgs/applications/graphics/wings/default.nix @@ -1,10 +1,10 @@ -{ fetchurl, stdenv, erlang, cl, libGL, libGLU }: +{ fetchurl, stdenv, erlang, cl, libGL, libGLU, runtimeShell }: stdenv.mkDerivation rec { - name = "wings-2.2.1"; + name = "wings-2.2.4"; src = fetchurl { url = "mirror://sourceforge/wings/${name}.tar.bz2"; - sha256 = "1adlq3wd9bz0hjznpzsgilxgsbhr0kk01f06872mq37v4cbw76bh"; + sha256 = "1xcmifs4vq2810pqqvsjsm8z3lz24ys4c05xkh82nyppip2s89a3"; }; ERL_LIBS = "${cl}/lib/erlang/lib"; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { cp ebin/* $out/lib/${name}/ebin cp -R textures shaders plugins $out/lib/$name cat << EOF > $out/bin/wings - #!${stdenv.shell} + #!${runtimeShell} ${erlang}/bin/erl \ -pa $out/lib/${name}/ebin -run wings_start start_halt "$@" EOF @@ -38,9 +38,8 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.wings3d.com/; description = "Subdivision modeler inspired by Nendo and Mirai from Izware"; - license = "BSD"; + license = stdenv.lib.licenses.tcltk; maintainers = with stdenv.lib.maintainers; [viric]; 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 e11bc3dd5bb..232eeeb0115 100644 --- a/pkgs/applications/graphics/write_stylus/default.nix +++ b/pkgs/applications/graphics/write_stylus/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, qtbase, qtsvg, libglvnd, fetchurl, makeDesktopItem }: stdenv.mkDerivation rec { - name = "write_stylus-${version}"; + pname = "write_stylus"; version = "209"; desktopItem = makeDesktopItem { diff --git a/pkgs/applications/graphics/xaos/default.nix b/pkgs/applications/graphics/xaos/default.nix index 182f68f3112..e80362c386b 100644 --- a/pkgs/applications/graphics/xaos/default.nix +++ b/pkgs/applications/graphics/xaos/default.nix @@ -2,11 +2,11 @@ , libXt, zlib, gettext, intltool, perl }: stdenv.mkDerivation rec { - name = "xaos-${version}"; + pname = "xaos"; version = "3.6"; src = fetchurl { - url = "mirror://sourceforge/xaos/${name}.tar.gz"; + url = "mirror://sourceforge/xaos/${pname}-${version}.tar.gz"; sha256 = "15cd1cx1dyygw6g2nhjqq3bsfdj8sj8m4va9n75i0f3ryww3x7wq"; }; diff --git a/pkgs/applications/graphics/xfig/default.nix b/pkgs/applications/graphics/xfig/default.nix index 429af12b9bb..fe5a1370332 100644 --- a/pkgs/applications/graphics/xfig/default.nix +++ b/pkgs/applications/graphics/xfig/default.nix @@ -6,7 +6,8 @@ let version = "3.2.7a"; in stdenv.mkDerivation { - name = "xfig-${version}"; + pname = "xfig"; + inherit version; src = fetchurl { url = "mirror://sourceforge/mcj/xfig-${version}.tar.xz"; diff --git a/pkgs/applications/graphics/xfractint/default.nix b/pkgs/applications/graphics/xfractint/default.nix index 2269f1c18f1..ae4765fc9e7 100644 --- a/pkgs/applications/graphics/xfractint/default.nix +++ b/pkgs/applications/graphics/xfractint/default.nix @@ -1,6 +1,5 @@ {stdenv, fetchurl, libX11, libXft}: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "xfractint"; version = "20.04p14"; # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev) diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix new file mode 100644 index 00000000000..41539f32b07 --- /dev/null +++ b/pkgs/applications/graphics/xournalpp/default.nix @@ -0,0 +1,63 @@ +{ stdenv +, lib +, fetchFromGitHub + +, cmake +, gettext +, wrapGAppsHook +, pkgconfig + +, glib +, gsettings-desktop-schemas +, gtk3 +, hicolor-icon-theme +, libsndfile +, libxml2 +, libzip +, pcre +, poppler +, portaudio +, zlib +# plugins +, withLua ? true, lua +}: + +stdenv.mkDerivation rec { + pname = "xournalpp"; + version = "1.0.12"; + + src = fetchFromGitHub { + owner = "xournalpp"; + repo = "xournalpp"; + rev = version; + sha256 = "0yg70hsx58s3wb5kzccivrqa7kvmdapygxmif1j64hddah2rqcn9"; + }; + + nativeBuildInputs = [ cmake gettext pkgconfig wrapGAppsHook ]; + buildInputs = + [ glib + gsettings-desktop-schemas + gtk3 + hicolor-icon-theme + libsndfile + libxml2 + libzip + pcre + poppler + portaudio + zlib + ] + ++ lib.optional withLua lua; + + hardeningDisable = [ "format" ]; + + 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/xzgv/default.nix b/pkgs/applications/graphics/xzgv/default.nix index 69ab67dffb7..de3f3a78988 100644 --- a/pkgs/applications/graphics/xzgv/default.nix +++ b/pkgs/applications/graphics/xzgv/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, gtk2, libexif, pkgconfig, texinfo }: stdenv.mkDerivation rec { - name = "xzgv-${version}"; + pname = "xzgv"; version = "0.9.2"; src = fetchurl { url = "mirror://sourceforge/xzgv/xzgv-${version}.tar.gz"; diff --git a/pkgs/applications/graphics/yacreader/default.nix b/pkgs/applications/graphics/yacreader/default.nix index 3cf42343658..e545dd5a723 100644 --- a/pkgs/applications/graphics/yacreader/default.nix +++ b/pkgs/applications/graphics/yacreader/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "yacreader-${version}"; + pname = "yacreader"; version = "9.5.0"; src = fetchurl { - url = "https://github.com/YACReader/yacreader/releases/download/${version}/${name}-src.tar.xz"; + url = "https://github.com/YACReader/yacreader/releases/download/${version}/${pname}-${version}-src.tar.xz"; sha256 = "0cv5y76kjvsqsv4fp99j8np5pm4m76868i1nn40q6hy573dmxwm6"; }; diff --git a/pkgs/applications/graphics/yed/default.nix b/pkgs/applications/graphics/yed/default.nix index 7267e9bc485..0038d41475f 100644 --- a/pkgs/applications/graphics/yed/default.nix +++ b/pkgs/applications/graphics/yed/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchzip, makeWrapper, unzip, jre }: stdenv.mkDerivation rec { - name = "yEd-${version}"; - version = "3.18.2"; + pname = "yEd"; + version = "3.19"; src = fetchzip { - url = "https://www.yworks.com/resources/yed/demo/${name}.zip"; - sha256 = "1csj19j9mfx4jfc949sz672h8lnfj217nn32d54cxj8llks82ycy"; + url = "https://www.yworks.com/resources/yed/demo/${pname}-${version}.zip"; + sha256 = "0l70pc7wl2ghfkjab9w2mbx7crwha7xwkrpmspsi5c6q56dw7s33"; }; nativeBuildInputs = [ makeWrapper unzip ]; diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix index c60d4b7b904..db07b9e1db4 100644 --- a/pkgs/applications/graphics/zgrviewer/default.nix +++ b/pkgs/applications/graphics/zgrviewer/default.nix @@ -1,10 +1,9 @@ -{stdenv, fetchurl, jre, unzip}: +{ stdenv, fetchurl, jre, unzip, runtimeShell }: stdenv.mkDerivation rec { version = "0.9.0"; pname = "zgrviewer"; - name="${pname}-${version}"; src = fetchurl { - url = "mirror://sourceforge/zvtm/${pname}/${version}/${name}.zip"; + url = "mirror://sourceforge/zvtm/${pname}/${version}/${pname}-${version}.zip"; sha256 = "1yg2rck81sqqrgfi5kn6c1bz42dr7d0zqpcsdjhicssi1y159f23"; }; buildInputs = [jre unzip]; @@ -16,7 +15,7 @@ stdenv.mkDerivation rec { cp -r target/* "$out/share/java/zvtm/" - echo '#!${stdenv.shell}' > "$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/graphics/zgv/default.nix b/pkgs/applications/graphics/zgv/default.nix index 7a49e5b2cb7..8ef705f7ef4 100644 --- a/pkgs/applications/graphics/zgv/default.nix +++ b/pkgs/applications/graphics/zgv/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, fetchpatch, pkgconfig, SDL, SDL_image, libjpeg, libpng, libtiff }: stdenv.mkDerivation rec { - name = "zgv-${version}"; + pname = "zgv"; version = "5.9"; src = fetchurl { - url = "https://www.svgalib.org/rus/zgv/${name}.tar.gz"; + url = "https://www.svgalib.org/rus/zgv/${pname}-${version}.tar.gz"; sha256 = "1fk4i9x0cpnpn3llam0zy2pkmhlr2hy3iaxhxg07v9sizd4dircj"; }; diff --git a/pkgs/applications/kde/akonadi/0001-Revert-Make-Akonadi-installation-properly-relocatabl.patch b/pkgs/applications/kde/akonadi/0001-Revert-Make-Akonadi-installation-properly-relocatabl.patch index 1b5e12c7ec3..c3964c5c05b 100644 --- a/pkgs/applications/kde/akonadi/0001-Revert-Make-Akonadi-installation-properly-relocatabl.patch +++ b/pkgs/applications/kde/akonadi/0001-Revert-Make-Akonadi-installation-properly-relocatabl.patch @@ -9,11 +9,11 @@ This reverts commit b2bb55f13f2ac783f89cc414de8c39f62fa2096a. KF5AkonadiConfig.cmake.in | 6 +++--- 2 files changed, 3 insertions(+), 6 deletions(-) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9788bea94..15bad00fd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -285,9 +285,6 @@ configure_package_config_file( +Index: akonadi-19.08.0/CMakeLists.txt +=================================================================== +--- akonadi-19.08.0.orig/CMakeLists.txt ++++ akonadi-19.08.0/CMakeLists.txt +@@ -306,9 +306,6 @@ configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/KF5AkonadiConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiConfig.cmake" INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} @@ -23,13 +23,13 @@ index 9788bea94..15bad00fd 100644 ) install(FILES -diff --git a/KF5AkonadiConfig.cmake.in b/KF5AkonadiConfig.cmake.in -index 75abede50..10f039376 100644 ---- a/KF5AkonadiConfig.cmake.in -+++ b/KF5AkonadiConfig.cmake.in -@@ -13,8 +13,8 @@ find_dependency(KF5ConfigWidgets "@KF5_VERSION@") - find_dependency(Qt5DBus "@QT_REQUIRED_VERSION@") - find_dependency(Qt5Network "@QT_REQUIRED_VERSION@") +Index: akonadi-19.08.0/KF5AkonadiConfig.cmake.in +=================================================================== +--- akonadi-19.08.0.orig/KF5AkonadiConfig.cmake.in ++++ akonadi-19.08.0/KF5AkonadiConfig.cmake.in +@@ -26,8 +26,8 @@ if(BUILD_TESTING) + find_dependency(Qt5Test "@QT_REQUIRED_VERSION@") + endif() -set_and_check(AKONADI_DBUS_INTERFACES_DIR "@PACKAGE_AKONADI_DBUS_INTERFACES_INSTALL_DIR@") -set_and_check(AKONADI_INCLUDE_DIR "@PACKAGE_AKONADI_INCLUDE_DIR@") @@ -38,12 +38,12 @@ index 75abede50..10f039376 100644 find_dependency(Boost "@Boost_MINIMUM_VERSION@") -@@ -22,4 +22,4 @@ include(${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiTargets.cmake) +@@ -35,7 +35,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/KF5Ako include(${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiMacros.cmake) # The directory where akonadi-xml.xsd and kcfg2dbus.xsl are installed -set(KF5Akonadi_DATA_DIR "@PACKAGE_KF5Akonadi_DATA_DIR@") +set(KF5Akonadi_DATA_DIR "@KF5Akonadi_DATA_DIR@") --- -2.15.1 - + + #################################################################################### + # CMAKE_AUTOMOC diff --git a/pkgs/applications/kde/akonadi/akonadi-paths.patch b/pkgs/applications/kde/akonadi/akonadi-paths.patch index 9fa3c8a1414..ba6bbedeeae 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 d85c1a79b..8df02710c 100644 ---- a/src/akonadicontrol/agentmanager.cpp -+++ b/src/akonadicontrol/agentmanager.cpp -@@ -78,12 +78,12 @@ AgentManager::AgentManager(bool verbose, QObject *parent) +Index: akonadi-19.08.0/src/akonadicontrol/agentmanager.cpp +=================================================================== +--- akonadi-19.08.0.orig/src/akonadicontrol/agentmanager.cpp ++++ akonadi-19.08.0/src/akonadicontrol/agentmanager.cpp +@@ -78,12 +78,12 @@ AgentManager::AgentManager(bool verbose, 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); @@ -17,11 +17,11 @@ index d85c1a79b..8df02710c 100644 } } -diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp -index be1cc4afb..6d0c1d7e5 100644 ---- a/src/akonadicontrol/agentprocessinstance.cpp -+++ b/src/akonadicontrol/agentprocessinstance.cpp -@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const AgentType &agentInfo) +Index: akonadi-19.08.0/src/akonadicontrol/agentprocessinstance.cpp +=================================================================== +--- akonadi-19.08.0.orig/src/akonadicontrol/agentprocessinstance.cpp ++++ akonadi-19.08.0/src/akonadicontrol/agentprocessinstance.cpp +@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const A } else { Q_ASSERT(agentInfo.launchMethod == AgentType::Launcher); const QStringList arguments = QStringList() << executable << identifier(); @@ -30,11 +30,11 @@ index be1cc4afb..6d0c1d7e5 100644 mController->start(agentLauncherExec, arguments); } return true; -diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp -index 8b057b459..3fa4548ad 100644 ---- a/src/server/storage/dbconfigmysql.cpp -+++ b/src/server/storage/dbconfigmysql.cpp -@@ -63,7 +63,6 @@ bool DbConfigMysql::init(QSettings &settings) +Index: akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp +=================================================================== +--- akonadi-19.08.0.orig/src/server/storage/dbconfigmysql.cpp ++++ akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp +@@ -83,7 +83,6 @@ bool DbConfigMysql::init(QSettings &sett // determine default settings depending on the driver QString defaultHostName; QString defaultOptions; @@ -42,7 +42,7 @@ index 8b057b459..3fa4548ad 100644 QString defaultCleanShutdownCommand; #ifndef Q_OS_WIN -@@ -71,25 +70,7 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -92,16 +91,7 @@ bool DbConfigMysql::init(QSettings &sett #endif const bool defaultInternalServer = true; @@ -51,38 +51,29 @@ index 8b057b459..3fa4548ad 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) + defaultCleanShutdownCommand = QStringLiteral("%1 --defaults-file=%2/mysql.conf --socket=%3/%4 shutdown") +@@ -111,10 +101,10 @@ bool DbConfigMysql::init(QSettings &sett #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) +@@ -131,7 +121,7 @@ bool DbConfigMysql::init(QSettings &sett mUserName = settings.value(QStringLiteral("User")).toString(); mPassword = settings.value(QStringLiteral("Password")).toString(); mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString(); @@ -91,7 +82,7 @@ index 8b057b459..3fa4548ad 100644 mCleanServerShutdownCommand = settings.value(QStringLiteral("CleanServerShutdownCommand"), defaultCleanShutdownCommand).toString(); settings.endGroup(); -@@ -129,9 +110,6 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -141,9 +131,6 @@ bool DbConfigMysql::init(QSettings &sett // 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 8b057b459..3fa4548ad 100644 qCDebug(AKONADISERVER_LOG) << "Using mysqld:" << mMysqldPath; -@@ -140,9 +118,6 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -152,9 +139,6 @@ bool DbConfigMysql::init(QSettings &sett settings.setValue(QStringLiteral("Name"), mDatabaseName); settings.setValue(QStringLiteral("Host"), mHostName); settings.setValue(QStringLiteral("Options"), mConnectionOptions); @@ -111,7 +102,7 @@ index 8b057b459..3fa4548ad 100644 settings.setValue(QStringLiteral("StartServer"), mInternalServer); settings.endGroup(); settings.sync(); -@@ -196,7 +171,7 @@ bool DbConfigMysql::startInternalServer() +@@ -209,7 +193,7 @@ bool DbConfigMysql::startInternalServer( #endif // generate config file @@ -120,56 +111,35 @@ index 8b057b459..3fa4548ad 100644 const QString localConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-local.conf")); 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 6b50ae50e..f94a8c5eb 100644 ---- a/src/server/storage/dbconfigpostgresql.cpp -+++ b/src/server/storage/dbconfigpostgresql.cpp -@@ -58,7 +58,6 @@ bool DbConfigPostgresql::init(QSettings &settings) +Index: akonadi-19.08.0/src/server/storage/dbconfigpostgresql.cpp +=================================================================== +--- akonadi-19.08.0.orig/src/server/storage/dbconfigpostgresql.cpp ++++ akonadi-19.08.0/src/server/storage/dbconfigpostgresql.cpp +@@ -140,9 +140,7 @@ bool DbConfigPostgresql::init(QSettings // determine default settings depending on the driver QString defaultHostName; QString defaultOptions; - QString defaultServerPath; QString defaultInitDbPath; +- QString defaultPgUpgradePath; QString defaultPgData; -@@ -70,35 +69,7 @@ bool DbConfigPostgresql::init(QSettings &settings) + #ifndef Q_WS_WIN // We assume that PostgreSQL is running as service on Windows +@@ -153,12 +151,8 @@ bool DbConfigPostgresql::init(QSettings mInternalServer = settings.value(QStringLiteral("QPSQL/StartServer"), defaultInternalServer).toBool(); if (mInternalServer) { -- QStringList postgresSearchPath; +- const auto paths = postgresSearchPaths(QStringLiteral("/usr/lib/postgresql")); - --#ifdef POSTGRES_PATH -- const QString dir(QStringLiteral(POSTGRES_PATH)); -- if (QDir(dir).exists()) { -- postgresSearchPath << QStringLiteral(POSTGRES_PATH); -- } --#endif -- 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. -- QStringList postgresVersionedSearchPaths; -- QDir versionedDir(QStringLiteral("/usr/lib/postgresql")); -- if (versionedDir.exists()) { -- const auto versionedDirs = versionedDir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name | QDir::Reversed); -- for (const auto &path : versionedDirs) { -- // Don't break once PostgreSQL 10 is released, but something more future-proof will be needed -- if (path.fileName().startsWith(QLatin1String("10."))) { -- postgresVersionedSearchPaths.prepend(path.absoluteFilePath() + QStringLiteral("/bin")); -- } else { -- postgresVersionedSearchPaths.append(path.absoluteFilePath() + QStringLiteral("/bin")); -- } -- } -- } -- postgresSearchPath.append(postgresVersionedSearchPaths); -- defaultServerPath = QStandardPaths::findExecutable(QStringLiteral("pg_ctl"), postgresSearchPath); -- defaultInitDbPath = QStandardPaths::findExecutable(QStringLiteral("initdb"), postgresSearchPath); +- defaultServerPath = QStandardPaths::findExecutable(QStringLiteral("pg_ctl"), paths); +- defaultInitDbPath = QStandardPaths::findExecutable(QStringLiteral("initdb"), paths); + defaultInitDbPath = QLatin1String(NIXPKGS_POSTGRES_INITDB); defaultHostName = Utils::preferredSocketDirectory(StandardDirs::saveDir("data", QStringLiteral("db_misc"))); +- defaultPgUpgradePath = QStandardPaths::findExecutable(QStringLiteral("pg_upgrade"), paths); defaultPgData = StandardDirs::saveDir("data", QStringLiteral("db_data")); } -@@ -118,10 +89,7 @@ bool DbConfigPostgresql::init(QSettings &settings) + +@@ -177,20 +171,14 @@ bool DbConfigPostgresql::init(QSettings mUserName = settings.value(QStringLiteral("User")).toString(); mPassword = settings.value(QStringLiteral("Password")).toString(); mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString(); @@ -181,7 +151,18 @@ index 6b50ae50e..f94a8c5eb 100644 qCDebug(AKONADISERVER_LOG) << "Found pg_ctl:" << mServerPath; mInitDbPath = settings.value(QStringLiteral("InitDbPath"), defaultInitDbPath).toString(); if (mInternalServer && mInitDbPath.isEmpty()) { -@@ -142,7 +110,6 @@ bool DbConfigPostgresql::init(QSettings &settings) + mInitDbPath = defaultInitDbPath; + } + qCDebug(AKONADISERVER_LOG) << "Found initdb:" << mServerPath; +- mPgUpgradePath = settings.value(QStringLiteral("UpgradePath"), defaultPgUpgradePath).toString(); +- if (mInternalServer && mPgUpgradePath.isEmpty()) { +- mPgUpgradePath = defaultPgUpgradePath; +- } ++ mPgUpgradePath = QLatin1String(NIXPKGS_POSTGRES_PG_UPGRADE); + qCDebug(AKONADISERVER_LOG) << "Found pg_upgrade:" << mPgUpgradePath; + mPgData = settings.value(QStringLiteral("PgData"), defaultPgData).toString(); + if (mPgData.isEmpty()) { +@@ -206,7 +194,6 @@ bool DbConfigPostgresql::init(QSettings settings.setValue(QStringLiteral("Port"), mHostPort); } settings.setValue(QStringLiteral("Options"), mConnectionOptions); diff --git a/pkgs/applications/kde/akonadi/akonadi-timestamps.patch b/pkgs/applications/kde/akonadi/akonadi-timestamps.patch index 25a835f5ba2..e299a6991f0 100644 --- a/pkgs/applications/kde/akonadi/akonadi-timestamps.patch +++ b/pkgs/applications/kde/akonadi/akonadi-timestamps.patch @@ -1,8 +1,8 @@ -Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp +Index: akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp =================================================================== ---- akonadi-17.04.0.orig/src/server/storage/dbconfigmysql.cpp -+++ akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp -@@ -229,8 +229,7 @@ bool DbConfigMysql::startInternalServer( +--- akonadi-19.08.0.orig/src/server/storage/dbconfigmysql.cpp ++++ akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp +@@ -235,8 +235,7 @@ bool DbConfigMysql::startInternalServer( bool confUpdate = false; QFile actualFile(actualConfig); // update conf only if either global (or local) is newer than actual diff --git a/pkgs/applications/kde/akonadi/default.nix b/pkgs/applications/kde/akonadi/default.nix index cba0b1e59e3..b9a96394a67 100644 --- a/pkgs/applications/kde/akonadi/default.nix +++ b/pkgs/applications/kde/akonadi/default.nix @@ -25,6 +25,7 @@ mkDerivation { ''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.getBin mysql}/bin/mysql_install_db\"'' ''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.getBin mysql}/bin/mysqlcheck\"'' ''-DNIXPKGS_POSTGRES_PG_CTL=\"\"'' + ''-DNIXPKGS_POSTGRES_PG_UPGRADE=\"\"'' ''-DNIXPKGS_POSTGRES_INITDB=\"\"'' ]; preConfigure = '' diff --git a/pkgs/applications/kde/ark/default.nix b/pkgs/applications/kde/ark/default.nix index 598857f2e70..6015cb69d77 100644 --- a/pkgs/applications/kde/ark/default.nix +++ b/pkgs/applications/kde/ark/default.nix @@ -1,37 +1,39 @@ { - mkDerivation, lib, makeWrapper, + mkDerivation, lib, config, extra-cmake-modules, kdoctools, - karchive, kconfig, kcrash, kdbusaddons, ki18n, kiconthemes, kitemmodels, - khtml, kio, kparts, kpty, kservice, kwidgetsaddons, libarchive, + breeze-icons, karchive, kconfig, kcrash, kdbusaddons, ki18n, + kiconthemes, kitemmodels, khtml, kio, kparts, kpty, kservice, kwidgetsaddons, + + libarchive, libzip, # Archive tools - p7zip, unzip, zip, + p7zip, lrzip, # Unfree tools unfreeEnableUnrar ? false, unrar, }: +let + extraTools = [ p7zip lrzip ] ++ lib.optional unfreeEnableUnrar unrar; +in + mkDerivation { name = "ark"; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ]; - propagatedBuildInputs = [ - karchive kconfig kcrash kdbusaddons khtml ki18n kiconthemes kio kitemmodels - kparts kpty kservice kwidgetsaddons libarchive - ]; - outputs = [ "out" "dev" ]; - postFixup = - let - PATH = - lib.makeBinPath - ([ p7zip unzip zip ] ++ lib.optional unfreeEnableUnrar unrar); - in '' - wrapProgram "$out/bin/ark" --prefix PATH : "${PATH}" - ''; meta = { license = with lib.licenses; [ gpl2 lgpl3 ] ++ lib.optional unfreeEnableUnrar unfree; maintainers = [ lib.maintainers.ttuegel ]; }; + + outputs = [ "out" "dev" ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ libarchive libzip ] ++ extraTools; + propagatedBuildInputs = [ + breeze-icons karchive kconfig kcrash kdbusaddons khtml ki18n kiconthemes kio + kitemmodels kparts kpty kservice kwidgetsaddons + ]; + + qtWrapperArgs = [ "--prefix" "PATH" ":" (lib.makeBinPath extraTools) ]; } diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix index 0822e65c7c0..6027d8daa9d 100644 --- a/pkgs/applications/kde/default.nix +++ b/pkgs/applications/kde/default.nix @@ -60,7 +60,7 @@ let inherit mkDerivation; # Team of maintainers assigned to the KDE PIM suite - kdepimTeam = with lib.maintainers; [ ttuegel vandenoever ]; + kdepimTeam = with lib.maintainers; [ ttuegel vandenoever nyanloutre ]; }; in { akonadi = callPackage ./akonadi {}; @@ -102,18 +102,21 @@ let kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {}; kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {}; kdenlive = callPackage ./kdenlive.nix {}; - kdepim-runtime = callPackage ./kdepim-runtime.nix {}; + kdepim-runtime = callPackage ./kdepim-runtime {}; kdepim-addons = callPackage ./kdepim-addons.nix {}; kdepim-apps-libs = callPackage ./kdepim-apps-libs {}; kdf = callPackage ./kdf.nix {}; kdialog = callPackage ./kdialog.nix {}; keditbookmarks = callPackage ./keditbookmarks.nix {}; + kfind = callPackage ./kfind.nix {}; + kgeography = callPackage ./kgeography.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 {}; + kipi-plugins = callPackage ./kipi-plugins.nix {}; kitinerary = callPackage ./kitinerary.nix {}; kio-extras = callPackage ./kio-extras.nix {}; kldap = callPackage ./kldap.nix {}; @@ -124,6 +127,8 @@ 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 {}; @@ -167,6 +172,7 @@ let pim-sieve-editor = callPackage ./pim-sieve-editor.nix {}; print-manager = callPackage ./print-manager.nix {}; spectacle = callPackage ./spectacle.nix {}; + yakuake = callPackage ./yakuake.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/fetch.sh b/pkgs/applications/kde/fetch.sh index 6f6acd1e8bb..5c72e78c582 100644 --- a/pkgs/applications/kde/fetch.sh +++ b/pkgs/applications/kde/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( https://download.kde.org/stable/applications/18.12.1/ -A '*.tar.xz' ) +WGET_ARGS=( https://download.kde.org/stable/applications/19.08.0/ ) diff --git a/pkgs/applications/kde/kate.nix b/pkgs/applications/kde/kate.nix index e6b4f6b6bdd..95ff6cf198b 100644 --- a/pkgs/applications/kde/kate.nix +++ b/pkgs/applications/kde/kate.nix @@ -13,6 +13,7 @@ mkDerivation { license = with lib.licenses; [ gpl3 lgpl3 lgpl2 ]; maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ libgit2 ]; propagatedBuildInputs = [ diff --git a/pkgs/applications/kde/kcalc.nix b/pkgs/applications/kde/kcalc.nix index 2d902c220af..4e2a308b17f 100644 --- a/pkgs/applications/kde/kcalc.nix +++ b/pkgs/applications/kde/kcalc.nix @@ -1,8 +1,8 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, - gmp, kconfig, kconfigwidgets, kguiaddons, ki18n, kinit, knotifications, - kxmlgui, + gmp, kconfig, kconfigwidgets, kcrash, kguiaddons, ki18n, kinit, + knotifications, kxmlgui, mpfr, }: mkDerivation { @@ -13,6 +13,7 @@ mkDerivation { }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ - gmp kconfig kconfigwidgets kguiaddons ki18n kinit knotifications kxmlgui + gmp kconfig kconfigwidgets kcrash kguiaddons ki18n kinit knotifications + kxmlgui mpfr ]; } diff --git a/pkgs/applications/kde/kdegraphics-thumbnailers.nix b/pkgs/applications/kde/kdegraphics-thumbnailers.nix index 2e43e946d7f..6ae45057f19 100644 --- a/pkgs/applications/kde/kdegraphics-thumbnailers.nix +++ b/pkgs/applications/kde/kdegraphics-thumbnailers.nix @@ -1,6 +1,6 @@ { mkDerivation, lib, - extra-cmake-modules, kio, libkexiv2, libkdcraw + extra-cmake-modules, karchive, kio, libkexiv2, libkdcraw }: mkDerivation { @@ -10,5 +10,5 @@ mkDerivation { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ kio libkexiv2 libkdcraw ]; + buildInputs = [ karchive kio libkexiv2 libkdcraw ]; } diff --git a/pkgs/applications/kde/kdenlive.nix b/pkgs/applications/kde/kdenlive.nix index 9da12b248c5..fa75dd1eb97 100644 --- a/pkgs/applications/kde/kdenlive.nix +++ b/pkgs/applications/kde/kdenlive.nix @@ -1,6 +1,8 @@ { mkDerivation , lib , extra-cmake-modules +, breeze-icons +, breeze-qt5 , kdoctools , kconfig , kcrash @@ -19,12 +21,16 @@ , shared-mime-info , libv4l , kfilemetadata -, ffmpeg +, ffmpeg-full +, frei0r , phonon-backend-gstreamer , qtdeclarative , qtquickcontrols , qtscript , qtwebkit +, rttr +, kpurpose +, kdeclarative }: mkDerivation { @@ -34,6 +40,8 @@ mkDerivation { kdoctools ]; buildInputs = [ + breeze-icons + breeze-qt5 kconfig kcrash kdbusaddons @@ -56,7 +64,11 @@ mkDerivation { qtwebkit shared-mime-info libv4l - ffmpeg + ffmpeg-full + frei0r + rttr + kpurpose + kdeclarative ]; postPatch = # Module Qt5::Concurrent must be included in `find_package` before it is used. diff --git a/pkgs/applications/kde/kdepim-runtime.nix b/pkgs/applications/kde/kdepim-runtime.nix deleted file mode 100644 index fa090d50354..00000000000 --- a/pkgs/applications/kde/kdepim-runtime.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - shared-mime-info, - akonadi, akonadi-calendar, akonadi-contacts, akonadi-mime, akonadi-notes, - kalarmcal, kcalutils, kcontacts, kdav, kdelibs4support, kidentitymanagement, - kimap, kmailtransport, kmbox, kmime, knotifications, knotifyconfig, - pimcommon, qtwebengine, libkgapi, qtspeech, qtxmlpatterns -}: - -mkDerivation { - name = "kdepim-runtime"; - meta = { - license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; - maintainers = kdepimTeam; - }; - nativeBuildInputs = [ extra-cmake-modules kdoctools shared-mime-info ]; - buildInputs = [ - akonadi akonadi-calendar akonadi-contacts akonadi-mime akonadi-notes - kalarmcal kcalutils kcontacts kdav kdelibs4support kidentitymanagement kimap - kmailtransport kmbox kmime knotifications knotifyconfig qtwebengine - pimcommon libkgapi qtspeech qtxmlpatterns - ]; - # Attempts to build some files before dependencies have been generated - enableParallelBuilding = false; -} diff --git a/pkgs/applications/kde/kdepim-runtime/00-no-facebook.patch b/pkgs/applications/kde/kdepim-runtime/00-no-facebook.patch new file mode 100644 index 00000000000..46722ff5fba --- /dev/null +++ b/pkgs/applications/kde/kdepim-runtime/00-no-facebook.patch @@ -0,0 +1,12 @@ +diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt +index 99f7dbf..03e953b 100644 +--- a/resources/CMakeLists.txt ++++ b/resources/CMakeLists.txt +@@ -45,7 +45,6 @@ add_subdirectory( imap ) + if (Libkolabxml_FOUND) + add_subdirectory( kolab ) + endif() +-add_subdirectory( facebook ) + add_subdirectory( maildir ) + + add_subdirectory( openxchange ) diff --git a/pkgs/applications/kde/kdepim-runtime/default.nix b/pkgs/applications/kde/kdepim-runtime/default.nix new file mode 100644 index 00000000000..6d7bd0daa96 --- /dev/null +++ b/pkgs/applications/kde/kdepim-runtime/default.nix @@ -0,0 +1,27 @@ +{ + mkDerivation, copyPathsToStore, lib, kdepimTeam, + extra-cmake-modules, kdoctools, + shared-mime-info, + akonadi, akonadi-calendar, akonadi-contacts, akonadi-mime, akonadi-notes, + kalarmcal, kcalutils, kcontacts, kdav, kdelibs4support, kidentitymanagement, + kimap, kmailtransport, kmbox, kmime, knotifications, knotifyconfig, + pimcommon, qtwebengine, libkgapi, qtnetworkauth, qtspeech, qtxmlpatterns, +}: + +mkDerivation { + name = "kdepim-runtime"; + meta = { + license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; + maintainers = kdepimTeam; + }; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + nativeBuildInputs = [ extra-cmake-modules kdoctools shared-mime-info ]; + buildInputs = [ + akonadi akonadi-calendar akonadi-contacts akonadi-mime akonadi-notes + kalarmcal kcalutils kcontacts kdav kdelibs4support kidentitymanagement kimap + kmailtransport kmbox kmime knotifications knotifyconfig qtwebengine + pimcommon libkgapi qtnetworkauth qtspeech qtxmlpatterns + ]; + # Attempts to build some files before dependencies have been generated + enableParallelBuilding = false; +} diff --git a/pkgs/applications/kde/kdepim-runtime/series b/pkgs/applications/kde/kdepim-runtime/series new file mode 100644 index 00000000000..cc3e104775f --- /dev/null +++ b/pkgs/applications/kde/kdepim-runtime/series @@ -0,0 +1 @@ +00-no-facebook.patch diff --git a/pkgs/applications/kde/kfind.nix b/pkgs/applications/kde/kfind.nix new file mode 100644 index 00000000000..10932b38032 --- /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/kgeography.nix b/pkgs/applications/kde/kgeography.nix new file mode 100644 index 00000000000..c96c198cca9 --- /dev/null +++ b/pkgs/applications/kde/kgeography.nix @@ -0,0 +1,15 @@ +{ mkDerivation, lib +, cmake, extra-cmake-modules, qtbase +, kconfigwidgets, kxmlgui, kcrash, kdoctools +, kitemviews +}: + +mkDerivation { + name = "kgeography"; + meta = { + license = with lib.licenses; [ gpl2 ]; + maintainers = [ lib.maintainers.globin ]; + }; + nativeBuildInputs = [ cmake extra-cmake-modules ]; + buildInputs = [ qtbase kconfigwidgets kxmlgui kcrash kdoctools kitemviews ]; +} diff --git a/pkgs/applications/kde/kgpg.nix b/pkgs/applications/kde/kgpg.nix index 33813f376a5..944cff47e0d 100644 --- a/pkgs/applications/kde/kgpg.nix +++ b/pkgs/applications/kde/kgpg.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, makeWrapper, - akonadi-contacts, gnupg1, karchive, kcodecs, kcontacts, kcoreaddons, + akonadi-contacts, gnupg, karchive, kcodecs, kcontacts, kcoreaddons, kcrash, kdbusaddons, kiconthemes, kjobwidgets, kio, knotifications, kservice, ktextwidgets, kxmlgui, kwidgetsaddons, kwindowsystem, qgpgme, }: @@ -10,12 +10,12 @@ mkDerivation { name = "kgpg"; nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ]; buildInputs = [ - akonadi-contacts gnupg1 karchive kcodecs kcontacts kcoreaddons kcrash + akonadi-contacts gnupg karchive kcodecs kcontacts kcoreaddons kcrash kdbusaddons ki18n kiconthemes kjobwidgets kio knotifications kservice ktextwidgets kxmlgui kwidgetsaddons kwindowsystem qgpgme ]; postFixup = '' - wrapProgram "$out/bin/kgpg" --prefix PATH : "${lib.makeBinPath [ gnupg1 ]}" + wrapProgram "$out/bin/kgpg" --prefix PATH : "${lib.makeBinPath [ gnupg ]}" ''; meta = { license = [ lib.licenses.gpl2 ]; diff --git a/pkgs/applications/kde/kio-extras.nix b/pkgs/applications/kde/kio-extras.nix index dd717c9462d..a7aa817576f 100644 --- a/pkgs/applications/kde/kio-extras.nix +++ b/pkgs/applications/kde/kio-extras.nix @@ -2,8 +2,8 @@ mkDerivation, lib, extra-cmake-modules, kdoctools, shared-mime-info, 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, gperf + kdelibs4support, kpty, syntax-highlighting, libmtp, libssh, openexr, ilmbase, + openslp, phonon, qtsvg, samba, solid, gperf }: mkDerivation { @@ -16,7 +16,8 @@ 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 gperf + kpty syntax-highlighting libmtp libssh openexr openslp phonon qtsvg samba + solid gperf ]; CXXFLAGS = [ "-I${ilmbase.dev}/include/OpenEXR" ]; } diff --git a/pkgs/applications/kde/kipi-plugins.nix b/pkgs/applications/kde/kipi-plugins.nix new file mode 100644 index 00000000000..5fb953acbd6 --- /dev/null +++ b/pkgs/applications/kde/kipi-plugins.nix @@ -0,0 +1,23 @@ +{ + mkDerivation, lib, + extra-cmake-modules, + karchive, kconfig, ki18n, kiconthemes, kio, kservice, kwindowsystem, kxmlgui, + libkipi, qtbase, qtsvg, qtxmlpatterns +}: + +mkDerivation { + name = "kipi-plugins"; + + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + karchive kconfig ki18n kiconthemes kio kservice kwindowsystem kxmlgui libkipi + qtbase qtsvg qtxmlpatterns + ]; + + meta = { + description = "Plugins for KDE-based image applications"; + license = lib.licenses.gpl2; + homepage = https://cgit.kde.org/kipi-plugins.git; + maintainers = with lib.maintainers; [ ttuegel ]; + }; +} diff --git a/pkgs/applications/kde/kmail.nix b/pkgs/applications/kde/kmail.nix index acb200c5970..a58b3b8c45d 100644 --- a/pkgs/applications/kde/kmail.nix +++ b/pkgs/applications/kde/kmail.nix @@ -26,4 +26,5 @@ mkDerivation { libksieve mailcommon messagelib pim-sieve-editor qtscript qtwebengine ]; propagatedUserEnvPkgs = [ kdepim-runtime kwallet ]; + patches = [ ./kmail.patch ]; } diff --git a/pkgs/applications/kde/kmail.patch b/pkgs/applications/kde/kmail.patch new file mode 100644 index 00000000000..71a23be2d83 --- /dev/null +++ b/pkgs/applications/kde/kmail.patch @@ -0,0 +1,24 @@ +diff --git a/agents/archivemailagent/CMakeLists.txt b/agents/archivemailagent/CMakeLists.txt +index 48ed076..9c56896 100644 +--- a/agents/archivemailagent/CMakeLists.txt ++++ b/agents/archivemailagent/CMakeLists.txt +@@ -22,6 +22,7 @@ ki18n_wrap_ui(libarchivemailagent_SRCS ui/archivemailwidget.ui ) + add_library(archivemailagent STATIC ${libarchivemailagent_SRCS}) + target_link_libraries(archivemailagent + KF5::MailCommon ++ KF5::Libkdepim + KF5::I18n + KF5::Notifications + KF5::IconThemes +diff --git a/agents/followupreminderagent/CMakeLists.txt b/agents/followupreminderagent/CMakeLists.txt +index a56b730..83604cf 100644 +--- a/agents/followupreminderagent/CMakeLists.txt ++++ b/agents/followupreminderagent/CMakeLists.txt +@@ -23,6 +23,7 @@ target_link_libraries(followupreminderagent + KF5::AkonadiMime + KF5::AkonadiAgentBase + KF5::DBusAddons ++ KF5::FollowupReminder + KF5::XmlGui + KF5::KIOWidgets + KF5::Notifications diff --git a/pkgs/applications/kde/kmplot.nix b/pkgs/applications/kde/kmplot.nix new file mode 100644 index 00000000000..c0c00f21340 --- /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 00000000000..ced046c2f4e --- /dev/null +++ b/pkgs/applications/kde/knotes.nix @@ -0,0 +1,29 @@ +{ + mkDerivation, + 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/krdc.nix b/pkgs/applications/kde/krdc.nix index 87204c1fe9f..89ac92bb474 100644 --- a/pkgs/applications/kde/krdc.nix +++ b/pkgs/applications/kde/krdc.nix @@ -2,7 +2,7 @@ mkDerivation, lib, extra-cmake-modules, kdoctools, makeWrapper, kcmutils, kcompletion, kconfig, kdnssd, knotifyconfig, kwallet, kwidgetsaddons, - libvncserver, freerdp + kwindowsystem, libvncserver, freerdp }: mkDerivation { @@ -10,7 +10,7 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ]; buildInputs = [ kcmutils kcompletion kconfig kdnssd knotifyconfig kwallet kwidgetsaddons - freerdp libvncserver + kwindowsystem freerdp libvncserver ]; postFixup = '' wrapProgram $out/bin/krdc \ diff --git a/pkgs/applications/kde/ktouch.nix b/pkgs/applications/kde/ktouch.nix index 75e72c0ba18..7e300ea7157 100644 --- a/pkgs/applications/kde/ktouch.nix +++ b/pkgs/applications/kde/ktouch.nix @@ -3,7 +3,8 @@ , kconfig, kconfigwidgets, kcoreaddons, kdeclarative, ki18n , kitemviews, kcmutils, kio, knewstuff, ktexteditor, kwidgetsaddons , kwindowsystem, kxmlgui, qtscript, qtdeclarative, kqtquickcharts -, qtx11extras, qtgraphicaleffects, xorg +, qtx11extras, qtgraphicaleffects, qtxmlpatterns, qtquickcontrols2 +, xorg }: @@ -19,7 +20,8 @@ kconfig kconfigwidgets kcoreaddons kdeclarative ki18n kitemviews kcmutils kio knewstuff ktexteditor kwidgetsaddons kwindowsystem kxmlgui qtscript qtdeclarative kqtquickcharts - qtx11extras qtgraphicaleffects xorg.libxkbfile xorg.libxcb + qtx11extras qtgraphicaleffects qtxmlpatterns qtquickcontrols2 + xorg.libxkbfile xorg.libxcb ]; enableParallelBuilding = true; diff --git a/pkgs/applications/kde/minuet.nix b/pkgs/applications/kde/minuet.nix index efe850ab414..cd98d56b86d 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/okular.nix b/pkgs/applications/kde/okular.nix index 39fb232b342..377fbe3339a 100644 --- a/pkgs/applications/kde/okular.nix +++ b/pkgs/applications/kde/okular.nix @@ -1,18 +1,18 @@ { stdenv, mkDerivation, lib, extra-cmake-modules, kdoctools, - chmlib ? null, discount, djvulibre, ebook_tools, kactivities, karchive, kbookmarks, - kcompletion, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, - kdegraphics-mobipocket, kiconthemes, kjs, khtml, kio, kparts, kpty, kwallet, - kwindowsystem, libkexiv2, libspectre, libzip, phonon, poppler, qca-qt5, - qtdeclarative, qtsvg, threadweaver, kcrash + breeze-icons, chmlib ? null, discount, djvulibre, ebook_tools, kactivities, + karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, + kdbusaddons, kdegraphics-mobipocket, kiconthemes, kjs, khtml, kio, kparts, + kpty, kwallet, kwindowsystem, libkexiv2, libspectre, libzip, phonon, poppler, + qca-qt5, qtdeclarative, qtsvg, threadweaver, kcrash }: mkDerivation { name = "okular"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ - discount djvulibre ebook_tools kactivities karchive kbookmarks + breeze-icons discount djvulibre ebook_tools kactivities karchive kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons kdegraphics-mobipocket kiconthemes kjs khtml kio kparts kpty kwallet kwindowsystem libkexiv2 libspectre libzip phonon poppler qca-qt5 diff --git a/pkgs/applications/kde/pimcommon.nix b/pkgs/applications/kde/pimcommon.nix index bbbcca13d98..cd9ff2528fa 100644 --- a/pkgs/applications/kde/pimcommon.nix +++ b/pkgs/applications/kde/pimcommon.nix @@ -4,7 +4,7 @@ akonadi, akonadi-contacts, akonadi-mime, grantlee, karchive, kcodecs, kcompletion, kconfig, kconfigwidgets, kcontacts, kdbusaddons, kiconthemes, kimap, kio, kitemmodels, kjobwidgets, knewstuff, kpimtextedit, - kwallet, kwindowsystem, libkdepim, qtwebengine + kpurpose, kwallet, kwindowsystem, libkdepim, qtwebengine }: mkDerivation { @@ -17,7 +17,7 @@ mkDerivation { buildInputs = [ akonadi-mime grantlee karchive kcodecs kcompletion kconfigwidgets kdbusaddons kiconthemes kio kitemmodels kjobwidgets knewstuff kpimtextedit - kwallet kwindowsystem libkdepim qtwebengine + kpurpose kwallet kwindowsystem libkdepim qtwebengine ]; propagatedBuildInputs = [ akonadi akonadi-contacts kconfig kcontacts kimap diff --git a/pkgs/applications/kde/spectacle.nix b/pkgs/applications/kde/spectacle.nix index f036e8cf632..58eb288f6cc 100644 --- a/pkgs/applications/kde/spectacle.nix +++ b/pkgs/applications/kde/spectacle.nix @@ -4,7 +4,7 @@ ki18n, xcb-util-cursor, kconfig, kcoreaddons, kdbusaddons, kdeclarative, kio, kipi-plugins, knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi, - qtx11extras, knewstuff + qtx11extras, knewstuff, qttools }: mkDerivation { @@ -16,5 +16,9 @@ mkDerivation { kscreen kwidgetsaddons kwindowsystem kxmlgui libkipi qtx11extras xcb-util-cursor knewstuff ]; + postPatch = '' + substituteInPlace desktop/org.kde.spectacle.desktop \ + --replace "Exec=qdbus" "Exec=${lib.getBin qttools}/bin/qdbus" + ''; propagatedUserEnvPkgs = [ kipi-plugins libkipi ]; } diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix index 1efdd3e6123..fb0581cb341 100644 --- a/pkgs/applications/kde/srcs.nix +++ b/pkgs/applications/kde/srcs.nix @@ -3,1723 +3,1739 @@ { akonadi = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/akonadi-18.12.1.tar.xz"; - sha256 = "141j1wicfl8lgwdgs8yh0mcs4gw004wz8ck21pz55xc1mi4yh9cx"; - name = "akonadi-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/akonadi-19.08.0.tar.xz"; + sha256 = "ff53f078b024f2674a8b2990515f5cbafe2bc965390d74a464b2a044aee32831"; + name = "akonadi-19.08.0.tar.xz"; }; }; akonadi-calendar = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/akonadi-calendar-18.12.1.tar.xz"; - sha256 = "108ax9bpng5qp3cbn3f2x096l9jsv0x3d8xckcfvd4a3svgap1ri"; - name = "akonadi-calendar-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/akonadi-calendar-19.08.0.tar.xz"; + sha256 = "74743ff7822ce75f0e0170f154e4596644855a5fe9322a09b76e01bd1d078e3b"; + name = "akonadi-calendar-19.08.0.tar.xz"; }; }; akonadi-calendar-tools = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/akonadi-calendar-tools-18.12.1.tar.xz"; - sha256 = "0a54jka0szi3d2dv4kr7s78lbm1sx6a47mccjzc2rp1w2x8dkagl"; - name = "akonadi-calendar-tools-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/akonadi-calendar-tools-19.08.0.tar.xz"; + sha256 = "9620a4418245a74334c6f57db4ba5558825879440aee5903f5614db08f61e976"; + name = "akonadi-calendar-tools-19.08.0.tar.xz"; }; }; akonadiconsole = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/akonadiconsole-18.12.1.tar.xz"; - sha256 = "06mhpk66ck37k6bfi83cmnjv39lwvm245m0climh1idfi6mn08wk"; - name = "akonadiconsole-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/akonadiconsole-19.08.0.tar.xz"; + sha256 = "a683b184109cddbc4d66c55ee3efa2c69092a72e2cd9e78903c4dcf7f442c055"; + name = "akonadiconsole-19.08.0.tar.xz"; }; }; akonadi-contacts = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/akonadi-contacts-18.12.1.tar.xz"; - sha256 = "1lnqq2qalvzq6g4dwfnlgvrz9wpnl4g64is8ylrb6jf4bvfg3kvq"; - name = "akonadi-contacts-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/akonadi-contacts-19.08.0.tar.xz"; + sha256 = "912a657a11d1bd1e680a71b43d69a5a871136ed83f171b11c52f1974d7381ce4"; + name = "akonadi-contacts-19.08.0.tar.xz"; }; }; akonadi-import-wizard = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/akonadi-import-wizard-18.12.1.tar.xz"; - sha256 = "09r5nspv1l8i1ipjxn5xwi6swkggy10hsa8p5bj0qqclsf17ip5j"; - name = "akonadi-import-wizard-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/akonadi-import-wizard-19.08.0.tar.xz"; + sha256 = "e21454b8ac346c4b8d35e5979dc11346b96e3520df22f44270dc668d5abcd915"; + name = "akonadi-import-wizard-19.08.0.tar.xz"; }; }; akonadi-mime = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/akonadi-mime-18.12.1.tar.xz"; - sha256 = "0fyxls0qhvqcbhpw17vhr8m4h94s2d69c8bpf45k19f005gbb6dk"; - name = "akonadi-mime-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/akonadi-mime-19.08.0.tar.xz"; + sha256 = "32dcee53d8bd79a4ad85dfa453aa762d69194493ad6622aea4fd7cd05bde3ec4"; + name = "akonadi-mime-19.08.0.tar.xz"; }; }; akonadi-notes = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/akonadi-notes-18.12.1.tar.xz"; - sha256 = "1m2v3qj06pbpdncxcb37131q6xhbsrwp6qv72rmlwlj0cj7xyfl4"; - name = "akonadi-notes-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/akonadi-notes-19.08.0.tar.xz"; + sha256 = "26000875958b3a0ff68c5ad871fd697623c8408b88fc46679c8a13ad308c33d3"; + name = "akonadi-notes-19.08.0.tar.xz"; }; }; akonadi-search = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/akonadi-search-18.12.1.tar.xz"; - sha256 = "1wwv92kmk4kwr8dj7y34nb2337s80hwnjblnfz4kl3z3ka782gd6"; - name = "akonadi-search-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/akonadi-search-19.08.0.tar.xz"; + sha256 = "fadc158343eb7c124454ca3e22ade14230772f1d1a89e04a0059c924ed3959d0"; + name = "akonadi-search-19.08.0.tar.xz"; }; }; akregator = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/akregator-18.12.1.tar.xz"; - sha256 = "0zjc6vgf5pdbmj7b3kl15aqkamg5slaxd5n4092pf7nf3v3r74r9"; - name = "akregator-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/akregator-19.08.0.tar.xz"; + sha256 = "d3cb8b97a3d2c9eeb805e1b7fc26cb637ad21589675d837b545580e6be764820"; + name = "akregator-19.08.0.tar.xz"; }; }; analitza = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/analitza-18.12.1.tar.xz"; - sha256 = "0iwlkxcqj62l25ldpa325ymkvhim2mm152h3jqh3z1sc683hc1kv"; - name = "analitza-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/analitza-19.08.0.tar.xz"; + sha256 = "516f29f089be92fecf5e17dcf466a9daf8525ec9e594f52f04338603914c2003"; + name = "analitza-19.08.0.tar.xz"; }; }; ark = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ark-18.12.1.tar.xz"; - sha256 = "1pcaaq8qdj3w15f0zqfwy7xwknpmb70yc7g4nmj4p48ahq5s2r86"; - name = "ark-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ark-19.08.0.tar.xz"; + sha256 = "0685285486ca933e3467f35c3d5d4e8633ae80f1e5529f8a4d8257d0b53d9512"; + name = "ark-19.08.0.tar.xz"; }; }; artikulate = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/artikulate-18.12.1.tar.xz"; - sha256 = "17msfgq83iy5dfl5qkmj4f89aa2gbk7p00f7bwiz2fnlg642wyq1"; - name = "artikulate-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/artikulate-19.08.0.tar.xz"; + sha256 = "40f1ecb2e6d0d2e8bb1c86d64935c9f2411e0e72781e3211ed0014a02acd72ba"; + name = "artikulate-19.08.0.tar.xz"; }; }; audiocd-kio = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/audiocd-kio-18.12.1.tar.xz"; - sha256 = "0kv03d2w0vf9fpp89ymnkizzyhckz9pjj8fcqwbacb78k6p52g6p"; - name = "audiocd-kio-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/audiocd-kio-19.08.0.tar.xz"; + sha256 = "46013e95fa358004083c185d43afe48b96bd18acba1a33e5706f75b128a3e954"; + name = "audiocd-kio-19.08.0.tar.xz"; }; }; baloo-widgets = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/baloo-widgets-18.12.1.tar.xz"; - sha256 = "0axgx1zrbaki20vh9j9bd0h3qvn0ws4cza8smlgvlzx7fkbidmw3"; - name = "baloo-widgets-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/baloo-widgets-19.08.0.tar.xz"; + sha256 = "3ef81f74ce6fccd6eaf60e0dfd18fe660ac357e75c4715801da9bb3a203a6008"; + name = "baloo-widgets-19.08.0.tar.xz"; }; }; blinken = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/blinken-18.12.1.tar.xz"; - sha256 = "0ka47snqj1xwf8m1qqa1vxgjwm151dzlk22zg07yh987qgc6fbj2"; - name = "blinken-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/blinken-19.08.0.tar.xz"; + sha256 = "9b993586d8ddab3821b1b4f805cd8b6603822faca93402d42775bea2eb346971"; + name = "blinken-19.08.0.tar.xz"; }; }; bomber = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/bomber-18.12.1.tar.xz"; - sha256 = "0a5vvb2ka08lyvybr12gm3lfgvfj3r99kqw1prhr9n97w7f8yc1d"; - name = "bomber-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/bomber-19.08.0.tar.xz"; + sha256 = "5274f8ef6cd94fcbd887220d6c7b08c1f71050c601d14cf53d847f41f254e043"; + name = "bomber-19.08.0.tar.xz"; }; }; bovo = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/bovo-18.12.1.tar.xz"; - sha256 = "19w4xfqx6bxs8fr8vkma57ibl5b1jdqfjax240fg81qyqzkx4xsp"; - name = "bovo-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/bovo-19.08.0.tar.xz"; + sha256 = "829ecfe3a46bc1c009fea14c5860aa17ea18f36ed33fdc9296c499992aeed466"; + name = "bovo-19.08.0.tar.xz"; }; }; calendarsupport = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/calendarsupport-18.12.1.tar.xz"; - sha256 = "0hpq85wh94dlmrfabh1k76xdc9xqavfccjnfy20i71q2ml92gx4p"; - name = "calendarsupport-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/calendarsupport-19.08.0.tar.xz"; + sha256 = "af590cf5443c1205a8bd59d00c430bbdf65a185a36ed36e92e6ef78bba8551e4"; + name = "calendarsupport-19.08.0.tar.xz"; }; }; cantor = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/cantor-18.12.1.tar.xz"; - sha256 = "132zlpcqkbjdb1vrcy6innf6qmxlqibzpf0bgdi33q797vw63drc"; - name = "cantor-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/cantor-19.08.0.tar.xz"; + sha256 = "b1d1a735e83ca03d51b79f1fc59612153e94b274d716d65ff3fa94ffdd2f3adc"; + name = "cantor-19.08.0.tar.xz"; }; }; cervisia = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/cervisia-18.12.1.tar.xz"; - sha256 = "02ka1crhkb3dka3qp82vs624fz3hcwydm559x5dq0cdbibdmhqx7"; - name = "cervisia-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/cervisia-19.08.0.tar.xz"; + sha256 = "a72c3a7bad3b30a466d6793318248329d7ddb1a0e00c832744b628a9eb8b8257"; + name = "cervisia-19.08.0.tar.xz"; }; }; dolphin = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/dolphin-18.12.1.tar.xz"; - sha256 = "1d3m2h8czxqmgpd060lnj05f0r4bqirqibvbakrl1sv2xxafz8qq"; - name = "dolphin-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/dolphin-19.08.0.tar.xz"; + sha256 = "fd44714541ae7082d4615e441242afdba2d7810a373bfc8c3e64ff5c7db0a0f0"; + name = "dolphin-19.08.0.tar.xz"; }; }; dolphin-plugins = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/dolphin-plugins-18.12.1.tar.xz"; - sha256 = "0j2cj91732p2wh0g73xxjghbbivlva4mr91vdjrp6dkc4b2vjxh8"; - name = "dolphin-plugins-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/dolphin-plugins-19.08.0.tar.xz"; + sha256 = "f074aa7151f4b4d9202d90257952638652a1bf09d02699762f346d85b61c5f54"; + name = "dolphin-plugins-19.08.0.tar.xz"; }; }; dragon = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/dragon-18.12.1.tar.xz"; - sha256 = "0ffxpl30xdm5vgrfc6b1k2gzfp3jwakn6my4zq0zfrrlf75hbgkm"; - name = "dragon-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/dragon-19.08.0.tar.xz"; + sha256 = "3d792f6dfd4a5d8ad7726fa942840ebed2b2bb6f25ec6f68883b83859c21cacc"; + name = "dragon-19.08.0.tar.xz"; }; }; eventviews = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/eventviews-18.12.1.tar.xz"; - sha256 = "0qvndqj8jhrn9p1g4d4p3l54d7hz9zzkkg92yfjcajcrnl2i0fn1"; - name = "eventviews-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/eventviews-19.08.0.tar.xz"; + sha256 = "2f7713173b3820800d7927aff64eb7bcc84c643d9da43adbe6560cb842081295"; + name = "eventviews-19.08.0.tar.xz"; }; }; ffmpegthumbs = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ffmpegthumbs-18.12.1.tar.xz"; - sha256 = "0j9vwqgsb9pz8hpacsmm4pxss25q7622fr7gq1n2dxf19f1zwxki"; - name = "ffmpegthumbs-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ffmpegthumbs-19.08.0.tar.xz"; + sha256 = "13f5f8b40c0f6146cdd4d1d9e6a7b7dd19cda9650fe08f9731c050e58f11efee"; + name = "ffmpegthumbs-19.08.0.tar.xz"; }; }; filelight = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/filelight-18.12.1.tar.xz"; - sha256 = "1p9k1ajyjlb001mz8w8jli3ha84z91sc43721xdpngcshz7i8i6f"; - name = "filelight-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/filelight-19.08.0.tar.xz"; + sha256 = "bdd3d32f6666b3d2fa4c614f5f058571c8849484e1ba17a97996680503f8e8e6"; + name = "filelight-19.08.0.tar.xz"; }; }; granatier = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/granatier-18.12.1.tar.xz"; - sha256 = "02lmap2axki56d3kfhmx7h6ibqjnx5ga73vsvvx1w4fjikgzm2rn"; - name = "granatier-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/granatier-19.08.0.tar.xz"; + sha256 = "b61bf45df63dc3fb324e1a74ec84ae4f2d58371af88ccd28593b0716673dc00a"; + name = "granatier-19.08.0.tar.xz"; }; }; grantlee-editor = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/grantlee-editor-18.12.1.tar.xz"; - sha256 = "0r85wirr4dcvja5cynjb0n51lmlijkffg35czqpjvnf2xv1claj4"; - name = "grantlee-editor-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/grantlee-editor-19.08.0.tar.xz"; + sha256 = "00a7d07aeffc35ac6e3dd39434194ba35c855a603cdc6eca0ece5b00ae1e0e30"; + name = "grantlee-editor-19.08.0.tar.xz"; }; }; grantleetheme = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/grantleetheme-18.12.1.tar.xz"; - sha256 = "1c4n27abzpynh6nykfw9z2rhxlmmicvvw0081gsm9h7w1r8n4flc"; - name = "grantleetheme-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/grantleetheme-19.08.0.tar.xz"; + sha256 = "c966ad7ef55a784c8cf97a69d4885b9b9d7956c84a4e323404e5cf88154cc543"; + name = "grantleetheme-19.08.0.tar.xz"; }; }; gwenview = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/gwenview-18.12.1.tar.xz"; - sha256 = "01iraiynpsacp8hnmdc9cxlk6qakbbypdck939kcij6j7gm5l2fm"; - name = "gwenview-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/gwenview-19.08.0.tar.xz"; + sha256 = "1d1d4713bcebdd8c7c458c075b7101055c81cf94a802ac8b9b3528a3c3c961a3"; + name = "gwenview-19.08.0.tar.xz"; }; }; incidenceeditor = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/incidenceeditor-18.12.1.tar.xz"; - sha256 = "1h1da8vg9x450hm9g936rms6n9d5ddqdl7jrwah3khbzihjpkgvz"; - name = "incidenceeditor-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/incidenceeditor-19.08.0.tar.xz"; + sha256 = "43915613a5db71847be425bc4434c0e04f5410b3575cea3141ffcd99b2cdb9ea"; + name = "incidenceeditor-19.08.0.tar.xz"; }; }; juk = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/juk-18.12.1.tar.xz"; - sha256 = "14zlpac1z3gaym83d5vmr7vvqwdzxhfscydwb2qv4ng947lrrs1n"; - name = "juk-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/juk-19.08.0.tar.xz"; + sha256 = "d2549c709f8934a5306a16e3a1e2b9e057ead54dc85efe17009e7aacd395edd0"; + name = "juk-19.08.0.tar.xz"; }; }; k3b = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/k3b-18.12.1.tar.xz"; - sha256 = "1f5l8jyi30qm225nxp0sahm7lwdk9r2gqzbdrrzhadx6gfm80a4s"; - name = "k3b-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/k3b-19.08.0.tar.xz"; + sha256 = "6a740724945496395cea1b5850ea9567a9aa9cc8a28c5366c9709b4226dc4b10"; + name = "k3b-19.08.0.tar.xz"; }; }; kaccounts-integration = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kaccounts-integration-18.12.1.tar.xz"; - sha256 = "1mb9rfp7vw9bkndlbwh5ayd9m3znwrl1i6kr0s5872sscmhx2giz"; - name = "kaccounts-integration-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kaccounts-integration-19.08.0.tar.xz"; + sha256 = "b6602a1270037c8c9dc366e3bf6ddf6d7dcd14ca66623e3ecc6641fd474c0d2a"; + name = "kaccounts-integration-19.08.0.tar.xz"; }; }; kaccounts-providers = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kaccounts-providers-18.12.1.tar.xz"; - sha256 = "0pjk7wsqbgibx8racd4qikv3i1j4iqgnbp81mm5nss7hilrnv1vi"; - name = "kaccounts-providers-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kaccounts-providers-19.08.0.tar.xz"; + sha256 = "9fc235e2140e76e4b95589a8a5b1e98f7aac00f4c9ad8ba774be0d0d360df8c3"; + name = "kaccounts-providers-19.08.0.tar.xz"; }; }; kaddressbook = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kaddressbook-18.12.1.tar.xz"; - sha256 = "0n4abjcq2iana9xyzkghgrs6h9nr0k2vxqrxghnh5iqahn2766ak"; - name = "kaddressbook-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kaddressbook-19.08.0.tar.xz"; + sha256 = "9639047be5c5ea245844831e315fa0f0baca40d243f611a98bbab3503af127cf"; + name = "kaddressbook-19.08.0.tar.xz"; }; }; kajongg = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kajongg-18.12.1.tar.xz"; - sha256 = "11c1iyfwqjqihyb3lqvnrb9jsrah0wl1kbrbm2lbmaqf0qnqqr8a"; - name = "kajongg-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kajongg-19.08.0.tar.xz"; + sha256 = "0f522477939de09d4d56d2947fb02b0f20ca0cbac4d21326a9477e11fc173244"; + name = "kajongg-19.08.0.tar.xz"; }; }; kalarm = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kalarm-18.12.1.tar.xz"; - sha256 = "1z2rf30ad2rlkcc9ki09pkrvdd8b9f60vsjzvsqfgxx8i87z1lil"; - name = "kalarm-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kalarm-19.08.0.tar.xz"; + sha256 = "e0ddabb2abfc2d593ec88864179c30eda219f7db4c25b7fc9951ac3b388eee84"; + name = "kalarm-19.08.0.tar.xz"; }; }; kalarmcal = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kalarmcal-18.12.1.tar.xz"; - sha256 = "0wykbg24llympx7m9bkf4aciv6pli359nnnzpli7rh4q58vbnfn7"; - name = "kalarmcal-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kalarmcal-19.08.0.tar.xz"; + sha256 = "5f764d58716e7d271fac4cb3a4df6ab157014533782c47c38bacab59ca669419"; + name = "kalarmcal-19.08.0.tar.xz"; }; }; kalgebra = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kalgebra-18.12.1.tar.xz"; - sha256 = "09g4v4f2xlilqrf2aqsz7zbjqnnrndhhlkkwbrypn148gdnxngs4"; - name = "kalgebra-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kalgebra-19.08.0.tar.xz"; + sha256 = "b875b2bfe985e5c595f60fbb146fb4545c34321bb86f7fc04164a23f0bb3e9eb"; + name = "kalgebra-19.08.0.tar.xz"; }; }; kalzium = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kalzium-18.12.1.tar.xz"; - sha256 = "1c5li3dhrfiw7kpjv6kfby2c2pq22sraqb3vc0s4nz1h9jnjcah7"; - name = "kalzium-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kalzium-19.08.0.tar.xz"; + sha256 = "0dac199871b8d01890b8959cd5c4776eb2f938f7fb4a558b23364f9dd8e15111"; + name = "kalzium-19.08.0.tar.xz"; }; }; kamera = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kamera-18.12.1.tar.xz"; - sha256 = "177lgyhc5klrpssbk2bsdwmg5hnk92mbjwb7s39kl9h53kw0jmzj"; - name = "kamera-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kamera-19.08.0.tar.xz"; + sha256 = "f287f1db119946d2e62d4ccd52a66671343042563cc87da246f2692fa1b775c6"; + name = "kamera-19.08.0.tar.xz"; }; }; kamoso = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kamoso-18.12.1.tar.xz"; - sha256 = "1j467cpga2shvibwx3df4vxksfkp5q1hp6az8kcky6gljcmxy06p"; - name = "kamoso-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kamoso-19.08.0.tar.xz"; + sha256 = "2aa8765f71109e813836dced26994a953973ef6f4d517ab224691f2342d64129"; + name = "kamoso-19.08.0.tar.xz"; }; }; kanagram = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kanagram-18.12.1.tar.xz"; - sha256 = "0ybn3aal51p29g28daalwmpm85306ivgl8rkxhccq7pzfwaww1bx"; - name = "kanagram-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kanagram-19.08.0.tar.xz"; + sha256 = "4f4ccf9cf48711d8fe9a5966294ba16b43092b8df3fdb03b5c236d22157d275c"; + name = "kanagram-19.08.0.tar.xz"; }; }; kapman = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kapman-18.12.1.tar.xz"; - sha256 = "117fkqhn0mg3z14sl64vmkz26rclfrjarf7kvxicvbw0x8s3vsgj"; - name = "kapman-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kapman-19.08.0.tar.xz"; + sha256 = "e0e53e60e7af1f0002343969b2ce0ce47e0cd3d7318b44d2827478291c2a9cd4"; + name = "kapman-19.08.0.tar.xz"; }; }; kapptemplate = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kapptemplate-18.12.1.tar.xz"; - sha256 = "1q52d30zz1ip6x8z56i25ll8hgzd6fp4pckfgr6byh82ymck8kxa"; - name = "kapptemplate-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kapptemplate-19.08.0.tar.xz"; + sha256 = "a25170f3527e85bea9509fe5cb991544c0a1dab8f7025c71fd5b0d4c82d9e169"; + name = "kapptemplate-19.08.0.tar.xz"; }; }; kate = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kate-18.12.1.tar.xz"; - sha256 = "0p9j9r2ffqh6p5pdxhk1pi8km1ypdsjs1h0g4ncnzwpvkir1rhk7"; - name = "kate-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kate-19.08.0.tar.xz"; + sha256 = "6acc3172429191ab47722d788f324292ea5ee2f1e419d48c72200579b9b30878"; + name = "kate-19.08.0.tar.xz"; }; }; katomic = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/katomic-18.12.1.tar.xz"; - sha256 = "0pxj8vgx3ijvyznn5gvhv2scwbqhaqc2pmq2897b190vsx9mvkh6"; - name = "katomic-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/katomic-19.08.0.tar.xz"; + sha256 = "12b2a0e703312159a8a217ddb5e19c9a9bea1825d668dd4377fe8e52101f3c90"; + name = "katomic-19.08.0.tar.xz"; }; }; kbackup = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kbackup-18.12.1.tar.xz"; - sha256 = "0x42d7zssddhxdsx7vpvk4630c69pvllpfz40dqk2n3hghx9xvsw"; - name = "kbackup-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kbackup-19.08.0.tar.xz"; + sha256 = "2cd447ef7d53e7ee55868086e7a894f550fd81515cf5d87d0561520f45145127"; + name = "kbackup-19.08.0.tar.xz"; }; }; kblackbox = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kblackbox-18.12.1.tar.xz"; - sha256 = "1wlwdfh23h175gsflmfmr63myds9vz3cs5dp8gr2zlxssdhc2s1p"; - name = "kblackbox-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kblackbox-19.08.0.tar.xz"; + sha256 = "44907aed2a2a24f57cb5ae0046a857645788d8d7aeb9383187b516c9f519a72c"; + name = "kblackbox-19.08.0.tar.xz"; }; }; kblocks = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kblocks-18.12.1.tar.xz"; - sha256 = "1fzsyr8g536k54j3lgqr52a1cmcdmv85z11afhkz2186smnc63pa"; - name = "kblocks-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kblocks-19.08.0.tar.xz"; + sha256 = "3337c6fb57fdb8439e6e6edc0186fec76641196714daa955465e009923573b84"; + name = "kblocks-19.08.0.tar.xz"; }; }; kblog = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kblog-18.12.1.tar.xz"; - sha256 = "0zdqjgan05049md0483l4c27gfwqdzmmx7wv3bziy91kd9bmfv0x"; - name = "kblog-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kblog-19.08.0.tar.xz"; + sha256 = "15abd5dfd0499633703273823ceddc8e64b52b0217b04bea3d86cb9ac54da189"; + name = "kblog-19.08.0.tar.xz"; }; }; kbounce = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kbounce-18.12.1.tar.xz"; - sha256 = "1209x02jip17n63ilvbi5knz4584k16c6zbrp8rg982qcabny355"; - name = "kbounce-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kbounce-19.08.0.tar.xz"; + sha256 = "3df779542c1d74d63e66a4db86210d75e37939f8f29947851b9c76c347856025"; + name = "kbounce-19.08.0.tar.xz"; }; }; kbreakout = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kbreakout-18.12.1.tar.xz"; - sha256 = "0myh4qncrvm2kd2gwvl7v2078cvv66czl9zsiava8lzq588wddwq"; - name = "kbreakout-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kbreakout-19.08.0.tar.xz"; + sha256 = "87748c5bda9b7563531e0b0701ec4a745cd95121b9bd426448e5ed476292fdd4"; + name = "kbreakout-19.08.0.tar.xz"; }; }; kbruch = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kbruch-18.12.1.tar.xz"; - sha256 = "0jlq08c6zjmdalhbgh2fy5qghj65l12jn7wvr0j2h0s6fqck1djh"; - name = "kbruch-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kbruch-19.08.0.tar.xz"; + sha256 = "29c83039af494703e9d665eca2acde30bb4b94666b3dfe9092833e35f83a9541"; + name = "kbruch-19.08.0.tar.xz"; }; }; kcachegrind = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kcachegrind-18.12.1.tar.xz"; - sha256 = "0w7fdsflqmkisap6mr805b6knf83nrjrr6bxi1snrl43ipy5ls29"; - name = "kcachegrind-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kcachegrind-19.08.0.tar.xz"; + sha256 = "676dd522eb9976789da17eea1dc103c9c67b6df7bfa70d998e29c0e7dde0608b"; + name = "kcachegrind-19.08.0.tar.xz"; }; }; kcalc = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kcalc-18.12.1.tar.xz"; - sha256 = "0ffafikh53yfwrsaiyxr4qxy01v8lv02y4xvj56qmhi429j9ax93"; - name = "kcalc-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kcalc-19.08.0.tar.xz"; + sha256 = "58c26a9698bfc9e0d3a5614ab26c53878e87fc601688ad6c5848fbdbc21c4103"; + name = "kcalc-19.08.0.tar.xz"; }; }; kcalcore = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kcalcore-18.12.1.tar.xz"; - sha256 = "1383zmpw8nzx1fs3d55k38f3znbdc7rs21yrka6fmymgh5c3jkki"; - name = "kcalcore-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kcalcore-19.08.0.tar.xz"; + sha256 = "7c7bbca70ada8c8317d6d3d91e0357b2b5886328189423e0b7fac1d326f8ed85"; + name = "kcalcore-19.08.0.tar.xz"; }; }; kcalutils = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kcalutils-18.12.1.tar.xz"; - sha256 = "0w6kc39j3m5db8s47q4wh4wm0szl9vwr455i26d99vv8jay6mbpp"; - name = "kcalutils-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kcalutils-19.08.0.tar.xz"; + sha256 = "ce0cb6633d7f85fdfa54085710c421f0465b286e9236f55c0297737abdfbaf7e"; + name = "kcalutils-19.08.0.tar.xz"; }; }; kcharselect = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kcharselect-18.12.1.tar.xz"; - sha256 = "1p4ap7vs1nd9gr4z71h6cx6fz99k1lliz28ibbky9a60wvnlfim6"; - name = "kcharselect-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kcharselect-19.08.0.tar.xz"; + sha256 = "31caf29e82327d7e31badff141dd7d5f179b87e9547c322b074f58bc07063020"; + name = "kcharselect-19.08.0.tar.xz"; }; }; kcolorchooser = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kcolorchooser-18.12.1.tar.xz"; - sha256 = "1lhnnywpfb4v1hwlc8h71lrvb145pc7wcaz7f7wf2kyh5pjkfbzn"; - name = "kcolorchooser-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kcolorchooser-19.08.0.tar.xz"; + sha256 = "bd9fa8940218f686b0a2d8c6fbe38b996646508a1908dd53925c2513f6fd39eb"; + name = "kcolorchooser-19.08.0.tar.xz"; }; }; kcontacts = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kcontacts-18.12.1.tar.xz"; - sha256 = "0d32l8hhggcy6dyyps5im74k0psnxrwxa6yni5bmj8m0z7f298ba"; - name = "kcontacts-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kcontacts-19.08.0.tar.xz"; + sha256 = "b245832fe6150a915d3bcbf1ec4c2c37b6aab541b2568f4955dcd76afa1c486e"; + name = "kcontacts-19.08.0.tar.xz"; }; }; kcron = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kcron-18.12.1.tar.xz"; - sha256 = "0211xs7zwii5a93827rsnp1gkay78h2hs49lvdc2kah9ccsh0kzn"; - name = "kcron-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kcron-19.08.0.tar.xz"; + sha256 = "1594aafc964d8e6c9ff31056d8f6f9ca6ee51ef9067b3ee1c991744baf54a88c"; + name = "kcron-19.08.0.tar.xz"; }; }; kdav = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdav-18.12.1.tar.xz"; - sha256 = "0kr07p4gnxyzrgnbj7vkh93wmqwnvv8sc06i2yardr8qp6jhpg77"; - name = "kdav-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdav-19.08.0.tar.xz"; + sha256 = "8bfd0657c0eaa74068c7601208baacb9d11bc6574cd353d4d346473c6c43b6f6"; + name = "kdav-19.08.0.tar.xz"; }; }; kdebugsettings = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdebugsettings-18.12.1.tar.xz"; - sha256 = "1wbi0f82dwd7a8s6szg0yc2mraiinng9a5wjw8xjacgkyyjpqbr3"; - name = "kdebugsettings-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdebugsettings-19.08.0.tar.xz"; + sha256 = "b47987cabffe464c21c96b31991643efafc24f77d31b768ed9dff075567aa361"; + name = "kdebugsettings-19.08.0.tar.xz"; }; }; kde-dev-scripts = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kde-dev-scripts-18.12.1.tar.xz"; - sha256 = "1k0xjlwpmdl2qpj4x04q9x299wmva2ds4y2wpayah865knvx91j3"; - name = "kde-dev-scripts-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kde-dev-scripts-19.08.0.tar.xz"; + sha256 = "8028d1f5390f608974235123a7c14342fb0c247456e6088d4f16797875efdf18"; + name = "kde-dev-scripts-19.08.0.tar.xz"; }; }; kde-dev-utils = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kde-dev-utils-18.12.1.tar.xz"; - sha256 = "06k01z2ljkcsdzz4zsdp8hr3flss552h0jgy25qv7y1izggk05dj"; - name = "kde-dev-utils-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kde-dev-utils-19.08.0.tar.xz"; + sha256 = "fc95211b92fa76e53558111d5cd64227f194df15fb13f2d81c809facd796f2c5"; + name = "kde-dev-utils-19.08.0.tar.xz"; }; }; kdeedu-data = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdeedu-data-18.12.1.tar.xz"; - sha256 = "1pnjydj3g768z5zxwbfwvxvlhdbg9rscr3vd1dw4srs338lp0maq"; - name = "kdeedu-data-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdeedu-data-19.08.0.tar.xz"; + sha256 = "658063227b9d4d7e4e238038ffa9c76e5c5f3015c923967477f514b063940eb0"; + name = "kdeedu-data-19.08.0.tar.xz"; }; }; kdegraphics-mobipocket = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdegraphics-mobipocket-18.12.1.tar.xz"; - sha256 = "1bv3981nsy61m8shlwbry9yb37218s2q1k9fas3xgv1260rjmmfq"; - name = "kdegraphics-mobipocket-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdegraphics-mobipocket-19.08.0.tar.xz"; + sha256 = "28c6566f32855a43d10829070cc47d0f4c879ca89eb3228ea6274d0f32fa90fe"; + name = "kdegraphics-mobipocket-19.08.0.tar.xz"; }; }; kdegraphics-thumbnailers = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdegraphics-thumbnailers-18.12.1.tar.xz"; - sha256 = "1rz578dz6nr3m23kd4njdcx01nmjgskxlla4zqgd33gg08kppmvj"; - name = "kdegraphics-thumbnailers-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdegraphics-thumbnailers-19.08.0.tar.xz"; + sha256 = "127a99fffdaee3772b03a6c197357311ec56047caccce967f0d74b5489722ddf"; + name = "kdegraphics-thumbnailers-19.08.0.tar.xz"; }; }; kdenetwork-filesharing = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdenetwork-filesharing-18.12.1.tar.xz"; - sha256 = "1zxkbcdndbr3sygwpiiw70pxb71hil1x8zj7lgq2yyw968ianah4"; - name = "kdenetwork-filesharing-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdenetwork-filesharing-19.08.0.tar.xz"; + sha256 = "a7e2e7d79c7e6486e2d2efe8f85e2be2f6231ca5e4e49e2bd332befb9d6d4288"; + name = "kdenetwork-filesharing-19.08.0.tar.xz"; }; }; kdenlive = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdenlive-18.12.1.tar.xz"; - sha256 = "189p0sqlmfkaxsdiy1mh0mmskw6ha4zi64fx99w7wnbid8x52bjf"; - name = "kdenlive-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdenlive-19.08.0.tar.xz"; + sha256 = "01b60bf58f6818a5ca9aa6e7a79111965700e6948da0bc0edd1184c26fd872e4"; + name = "kdenlive-19.08.0.tar.xz"; }; }; kdepim-addons = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdepim-addons-18.12.1.tar.xz"; - sha256 = "1gz6rqg39vl2arzs64srpr7xn1syxxiznz58gdss40152gz0hlsp"; - name = "kdepim-addons-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdepim-addons-19.08.0.tar.xz"; + sha256 = "8eb692f9dcb86fec2ec207f719c774492df222fceab2ccc2bdf530cb57aa1c3e"; + name = "kdepim-addons-19.08.0.tar.xz"; }; }; kdepim-apps-libs = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdepim-apps-libs-18.12.1.tar.xz"; - sha256 = "06q306m09666jh4cx3w0bif81x424hxlvsf31wjhfzdp737xfq3i"; - name = "kdepim-apps-libs-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdepim-apps-libs-19.08.0.tar.xz"; + sha256 = "2a19e9b0c3b6b2fecaeb4054bf101170056b8c9e831e45fb796b59666f103f2e"; + name = "kdepim-apps-libs-19.08.0.tar.xz"; }; }; kdepim-runtime = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdepim-runtime-18.12.1.tar.xz"; - sha256 = "1vb9rqzyjww7lkc3g2aw43ks7is1bg1nx2mbn8wvmc7cgga66nbc"; - name = "kdepim-runtime-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdepim-runtime-19.08.0.tar.xz"; + sha256 = "634419978329902a1877810d87d4ddae8cb07adbabbfa4540b521689d8bc85ef"; + name = "kdepim-runtime-19.08.0.tar.xz"; }; }; kdesdk-kioslaves = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdesdk-kioslaves-18.12.1.tar.xz"; - sha256 = "05bds4r70ys4mygmjl5x5hcrygds57mqqmzfv79zq9hcfp2b0g69"; - name = "kdesdk-kioslaves-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdesdk-kioslaves-19.08.0.tar.xz"; + sha256 = "cb49f23038d6841ea3a08f840328372aaee53dd915ab5a923753a4a899199ae0"; + name = "kdesdk-kioslaves-19.08.0.tar.xz"; }; }; kdesdk-thumbnailers = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdesdk-thumbnailers-18.12.1.tar.xz"; - sha256 = "1584qy2aa8q7zzgf2zxqw7p2h2l2xfgsa2mrmxaa36xaxbglcvkb"; - name = "kdesdk-thumbnailers-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdesdk-thumbnailers-19.08.0.tar.xz"; + sha256 = "e640f1a484482f6dd4ba4ebda92832a027a20e64e1e12d2306bd7dd618b36356"; + name = "kdesdk-thumbnailers-19.08.0.tar.xz"; }; }; kdf = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdf-18.12.1.tar.xz"; - sha256 = "0zr6k8di9fvzmgvh4s8ji81zdynpkg5yrnddlc9mgid0w9czaw11"; - name = "kdf-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdf-19.08.0.tar.xz"; + sha256 = "e6effd6aaf08c9bfa649b194313e7719b65a9d53f00570e14d2752ce68d13bfe"; + name = "kdf-19.08.0.tar.xz"; }; }; kdialog = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdialog-18.12.1.tar.xz"; - sha256 = "0i4c2kjyp0dix12vxhj078h7vbylcqxgqx10hzwaszx3wlrycwa2"; - name = "kdialog-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdialog-19.08.0.tar.xz"; + sha256 = "dc60f9ea0c59435b0da37f4bc50716d43ebfb9b9d0b05955c96393e6d06ea687"; + name = "kdialog-19.08.0.tar.xz"; }; }; kdiamond = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kdiamond-18.12.1.tar.xz"; - sha256 = "0j5g1gh267q528k0947brc8nvgq81690hqp7mrf90wxg8qp4ysm4"; - name = "kdiamond-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kdiamond-19.08.0.tar.xz"; + sha256 = "f37d526610fa0579d5be9de19325ed82e14763c997d9ea026dfcf1068bf2428a"; + name = "kdiamond-19.08.0.tar.xz"; }; }; keditbookmarks = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/keditbookmarks-18.12.1.tar.xz"; - sha256 = "0fnxmgfgnh8d6sg7g7ai53xywa22qv4pn4xxj503rjs4a3fsm3j1"; - name = "keditbookmarks-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/keditbookmarks-19.08.0.tar.xz"; + sha256 = "98c539e63a0e2bb62680003022d9ea5aececc4aa1c2d19a7b4c4aa3d8999e7ac"; + name = "keditbookmarks-19.08.0.tar.xz"; }; }; kfind = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kfind-18.12.1.tar.xz"; - sha256 = "1vhi66syjhmc5i64ffgpilyxw9y10qb7633p3gx7vsnbjhvfx45b"; - name = "kfind-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kfind-19.08.0.tar.xz"; + sha256 = "25b7b442600c4e109b0a6f7f09962a4d95d419673f6b64eebf226dcdae8cc6ff"; + name = "kfind-19.08.0.tar.xz"; }; }; kfloppy = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kfloppy-18.12.1.tar.xz"; - sha256 = "1fx40gb7h0z832qidn635jj7caipxcrzxmrbdfnj8ji2sczs1hyq"; - name = "kfloppy-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kfloppy-19.08.0.tar.xz"; + sha256 = "312345286fa1dba2cac782523d95c1e4ed0d7ef272c93c5d7bf2f9d8f635fa82"; + name = "kfloppy-19.08.0.tar.xz"; }; }; kfourinline = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kfourinline-18.12.1.tar.xz"; - sha256 = "1dwa4nw6998ljbppr4bhwpdg201djk5rjrzjgfs5xv0pynamph0g"; - name = "kfourinline-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kfourinline-19.08.0.tar.xz"; + sha256 = "f84ad6a3e0b2ecbb8c8ab7f451e9534f47627d9d90ff21f188df23dfd23ce22e"; + name = "kfourinline-19.08.0.tar.xz"; }; }; kgeography = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kgeography-18.12.1.tar.xz"; - sha256 = "02xir13p0r67vx3csdra9nza82a25k807cjl3w2pq3dqcg9grrcf"; - name = "kgeography-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kgeography-19.08.0.tar.xz"; + sha256 = "83eb429851360d848e3e028ef2748a9d66470b8f3dc3bf66fbbfd08b534a7a75"; + name = "kgeography-19.08.0.tar.xz"; }; }; kget = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kget-18.12.1.tar.xz"; - sha256 = "0jlpih49rifpqzxzgjc4kv3hv7y42v6pcamyvrmk6q1768lqp7nb"; - name = "kget-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kget-19.08.0.tar.xz"; + sha256 = "4db589499c8e5fc3cbb5e398054b1292f68fa23ad1798f2bb2065ba56723d06b"; + name = "kget-19.08.0.tar.xz"; }; }; kgoldrunner = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kgoldrunner-18.12.1.tar.xz"; - sha256 = "19qdw319lzfhmmmmawdpb0dlkz9k1iz6imkwf1qndfv89b6wklba"; - name = "kgoldrunner-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kgoldrunner-19.08.0.tar.xz"; + sha256 = "db203add309e10902a0e2b770929bf002b22ab78668ea432ecbf4497dfdc06b6"; + name = "kgoldrunner-19.08.0.tar.xz"; }; }; kgpg = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kgpg-18.12.1.tar.xz"; - sha256 = "1rar3hj3wc9vpxc81h0ly1mi87m9cdx17j58k9n02q91jqb8892y"; - name = "kgpg-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kgpg-19.08.0.tar.xz"; + sha256 = "3aa31f524c7f8ab50a86d83066590b98cd4ffbeb94b5a6fb7dadec9fe3072845"; + name = "kgpg-19.08.0.tar.xz"; }; }; khangman = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/khangman-18.12.1.tar.xz"; - sha256 = "10wk0xdrs6pldg8j5bnsbdx835isxrapb1gm9gx4vjj49riq062q"; - name = "khangman-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/khangman-19.08.0.tar.xz"; + sha256 = "ff14cefbd78f047b6250ec3cf4d11e13484f30cc5610616c0a9270008b36f1a1"; + name = "khangman-19.08.0.tar.xz"; }; }; khelpcenter = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/khelpcenter-18.12.1.tar.xz"; - sha256 = "143f61ngvljm4046q4allwxhx6fis0hd92xdqk8955xwdf42fq6y"; - name = "khelpcenter-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/khelpcenter-19.08.0.tar.xz"; + sha256 = "36810c12ae5d163738101b0f5f13c03cda03ee4c157f641df0f73105a894644f"; + name = "khelpcenter-19.08.0.tar.xz"; }; }; kidentitymanagement = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kidentitymanagement-18.12.1.tar.xz"; - sha256 = "1pl8yzrhfvkxcxasywzklhpx2477whn662s13c5mp6yhpxyxl5xq"; - name = "kidentitymanagement-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kidentitymanagement-19.08.0.tar.xz"; + sha256 = "9fe5c473af0d042b482f1d1dac499c1d8227b60a79f1b5678043f0f49f19013d"; + name = "kidentitymanagement-19.08.0.tar.xz"; }; }; kig = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kig-18.12.1.tar.xz"; - sha256 = "0cc093gwq2cr4ir3rdfkhijjsjvjddw4n7hvrxbshv7pqmnbrjgc"; - name = "kig-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kig-19.08.0.tar.xz"; + sha256 = "ec35f8e9c10e0a984ab7ff06fc810a26e0abc825ee5674af238bb04e83ce38ee"; + name = "kig-19.08.0.tar.xz"; }; }; kigo = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kigo-18.12.1.tar.xz"; - sha256 = "07m3p9r59c4qfwpgipb024mzxi4safiidpypm8gmx87vbsqc99f2"; - name = "kigo-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kigo-19.08.0.tar.xz"; + sha256 = "0100195b3289b88b9813e453fc7ec6229a648718a6525bb3e6d0e0c0ead97595"; + name = "kigo-19.08.0.tar.xz"; }; }; killbots = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/killbots-18.12.1.tar.xz"; - sha256 = "12jbvqmi0cx5ma7lai67qamml7qig269vhvjrcvm7jwlg0qx8v43"; - name = "killbots-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/killbots-19.08.0.tar.xz"; + sha256 = "909ce7808251a5d0537e2d35fae944b932973c36035f1c08f3143227e2d5cf4f"; + name = "killbots-19.08.0.tar.xz"; }; }; kimagemapeditor = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kimagemapeditor-18.12.1.tar.xz"; - sha256 = "1mqzd3ja27c4askz9cxfaf6g8wcwlasjka79h4dmvjrw4rkqs4y4"; - name = "kimagemapeditor-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kimagemapeditor-19.08.0.tar.xz"; + sha256 = "e2c0b75b65176a9ccbdccbae57be90ee8084593a64bee10b133787077affbde9"; + name = "kimagemapeditor-19.08.0.tar.xz"; }; }; kimap = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kimap-18.12.1.tar.xz"; - sha256 = "1v1qd91pr4xx0wsvvqlg8pcsbyi0n7c90ki0pz8v8z2vay5fagnm"; - name = "kimap-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kimap-19.08.0.tar.xz"; + sha256 = "d9e3af3e1bb03d929a08287b1a29540915d25dbb6a38d152560302c93e4c5060"; + name = "kimap-19.08.0.tar.xz"; }; }; kio-extras = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kio-extras-18.12.1.tar.xz"; - sha256 = "17y5awdyck2zjrgb9l2s4rdyvp1pqc6jrdyjv5vhchjdkfb91vw3"; - name = "kio-extras-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kio-extras-19.08.0.tar.xz"; + sha256 = "792a6a6d1ea2457dda10aedc6cefd3518064c8f47c62f9c3c4a508442b83d3cd"; + name = "kio-extras-19.08.0.tar.xz"; + }; + }; + kipi-plugins = { + version = "19.08.0"; + src = fetchurl { + url = "${mirror}/stable/applications/19.08.0/src/kipi-plugins-19.08.0.tar.xz"; + sha256 = "21fb6b997aeeeb462fd83ff90a36597b5c74b5711a837959f1e6cdc9a300c4e9"; + name = "kipi-plugins-19.08.0.tar.xz"; }; }; kirigami-gallery = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kirigami-gallery-18.12.1.tar.xz"; - sha256 = "1wrvhpdg2qk6ri1hjhdbk6w6rzyxamn6hxfl4mjcaip9gamjlbr0"; - name = "kirigami-gallery-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kirigami-gallery-19.08.0.tar.xz"; + sha256 = "e32f596c188911336060838c071f7856aba02438b335f107bf057644948cf9d6"; + name = "kirigami-gallery-19.08.0.tar.xz"; }; }; kiriki = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kiriki-18.12.1.tar.xz"; - sha256 = "1sxn7qvhyaaf4681hx1hgv2mmfhn64qn6q0rad9vps69cb1rx7pz"; - name = "kiriki-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kiriki-19.08.0.tar.xz"; + sha256 = "42f69734c0268f4c3c4ed0b915318d9570d599c6a0fd8a2a02597f1e31cd50d7"; + name = "kiriki-19.08.0.tar.xz"; }; }; kiten = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kiten-18.12.1.tar.xz"; - sha256 = "1d964cc7bkr1vgsbbnm9c8na2nls3kmfk9wfkrzdgnj2643dl947"; - name = "kiten-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kiten-19.08.0.tar.xz"; + sha256 = "891ccf6c610099c63045aedccee4d1ac87c5189066fd2763e0743a40b2538b53"; + name = "kiten-19.08.0.tar.xz"; }; }; kitinerary = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kitinerary-18.12.1.tar.xz"; - sha256 = "14bkyi4xj00i8bzjq6z68y67iyylix0c1n8wr1nz0s05pmlg8sws"; - name = "kitinerary-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kitinerary-19.08.0.tar.xz"; + sha256 = "76db853705b87015a934334985c216d11b48e853a3dd31429abb3bc6bd7f52e6"; + name = "kitinerary-19.08.0.tar.xz"; }; }; kjumpingcube = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kjumpingcube-18.12.1.tar.xz"; - sha256 = "0i7lj2qi3mdvghpxyhwiakivxsd85ahy427d418sdykh7dfmn9ih"; - name = "kjumpingcube-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kjumpingcube-19.08.0.tar.xz"; + sha256 = "d72c1164777f27b7711a0b74575ba38a9e34fca45c22915e10e7e792f7c00b33"; + name = "kjumpingcube-19.08.0.tar.xz"; }; }; kldap = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kldap-18.12.1.tar.xz"; - sha256 = "117w3jk4i77p8a7dvj03kgxqlhgbkmhyl7w282gl38kxyr7z8hbn"; - name = "kldap-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kldap-19.08.0.tar.xz"; + sha256 = "4bee7b041aff8e1a76330bde12ab9368176181136be1136c4b0c0b733eb9bc16"; + name = "kldap-19.08.0.tar.xz"; }; }; kleopatra = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kleopatra-18.12.1.tar.xz"; - sha256 = "1njgfigld774r9xyckip118svxrkylh0a5ib5y8976zb0v71m5mj"; - name = "kleopatra-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kleopatra-19.08.0.tar.xz"; + sha256 = "161e6f7cf39aadfc856446642bf4c95c97b21647ba90698b17ab557e9c9e70ef"; + name = "kleopatra-19.08.0.tar.xz"; }; }; klettres = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/klettres-18.12.1.tar.xz"; - sha256 = "0xxrkx468wx2f3gb3d77i648xxmy6bq6q0nq121fk2apgdp2dzqk"; - name = "klettres-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/klettres-19.08.0.tar.xz"; + sha256 = "0a680ff0c2c3868a2478da0e2a5eb8db8579e5ba9165743c8a2c20704c062be4"; + name = "klettres-19.08.0.tar.xz"; }; }; klickety = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/klickety-18.12.1.tar.xz"; - sha256 = "14jvifvm47q0ca7jq7d152l53nswhbwggs0q067n3chmf07g2izy"; - name = "klickety-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/klickety-19.08.0.tar.xz"; + sha256 = "aad8c7b9e4c07ca8bd64beae71330e51d45dcaa9929a9ce56b7c675fc9e583f0"; + name = "klickety-19.08.0.tar.xz"; }; }; klines = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/klines-18.12.1.tar.xz"; - sha256 = "1bs7vaqs67232msmsrsfi9avbqrzvyjihsakzxpkn976xwql3zxf"; - name = "klines-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/klines-19.08.0.tar.xz"; + sha256 = "c49ff3c4bb1612d5699c4a3b0613c6599cf23c0baa79806b8616dbea757d48f8"; + name = "klines-19.08.0.tar.xz"; }; }; kmag = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kmag-18.12.1.tar.xz"; - sha256 = "1ig9fbnza2xvxvd1adh9riv3zmrdmm0km8jpqjmh124i8g416qpw"; - name = "kmag-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kmag-19.08.0.tar.xz"; + sha256 = "7d42c254e62750899e429482c2b6ed3b4b1e8c5a66fbc371eec656421817d0a4"; + name = "kmag-19.08.0.tar.xz"; }; }; kmahjongg = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kmahjongg-18.12.1.tar.xz"; - sha256 = "0ajml6xy4ljmrn5qbvy08mcf5v5jqzmclsbr6811rrxqxb5fqbqd"; - name = "kmahjongg-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kmahjongg-19.08.0.tar.xz"; + sha256 = "f601963d0670639a11c4100ed1f53a0e308f79ddf98e1b4fc6a0a4674e117f22"; + name = "kmahjongg-19.08.0.tar.xz"; }; }; kmail = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kmail-18.12.1.tar.xz"; - sha256 = "1wakrrlxp3v0k93hx2c8p136a3hd746l8fxks0g3cwvhl1immxw7"; - name = "kmail-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kmail-19.08.0.tar.xz"; + sha256 = "052d5b0da402024646673f5e57785b509c328bd5f5ac064f742f9c63e75f3b28"; + name = "kmail-19.08.0.tar.xz"; }; }; kmail-account-wizard = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kmail-account-wizard-18.12.1.tar.xz"; - sha256 = "0v3lwgk3b30ggv6573r6k5z09lcpfzspp5znnsn4650fgrrzg2j3"; - name = "kmail-account-wizard-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kmail-account-wizard-19.08.0.tar.xz"; + sha256 = "5eddd4029047b3c37146c49e043d17c1f9086bc738726d5da2756cbe9ad28622"; + name = "kmail-account-wizard-19.08.0.tar.xz"; }; }; kmailtransport = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kmailtransport-18.12.1.tar.xz"; - sha256 = "1ybaps485ic2m8nfy63kw6x7f3l2l67lhyy5zsm7rjipbaqgi2vm"; - name = "kmailtransport-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kmailtransport-19.08.0.tar.xz"; + sha256 = "cc5f865f2059e8fd8d45d1597d8483bbfe0b743e472d91dd4e7cc3837c3fa2dd"; + name = "kmailtransport-19.08.0.tar.xz"; }; }; kmbox = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kmbox-18.12.1.tar.xz"; - sha256 = "0anh25klbgb67ynl9mlcny2mrawsd98mzyffvgsd8xkback684zf"; - name = "kmbox-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kmbox-19.08.0.tar.xz"; + sha256 = "6600033298b0d5ff84705dc66fa529156cb08aeda7503ba7890581b618f83228"; + name = "kmbox-19.08.0.tar.xz"; }; }; kmime = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kmime-18.12.1.tar.xz"; - sha256 = "05kjfqaadkflyh1vabzgbx33vr3c70sm2nkp8r9dsa7kg3wij0n2"; - name = "kmime-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kmime-19.08.0.tar.xz"; + sha256 = "1422e6235659b66b3ee5e91cdd732d8c3738d42f81435e69f3cbb18f04a0be75"; + name = "kmime-19.08.0.tar.xz"; }; }; kmines = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kmines-18.12.1.tar.xz"; - sha256 = "0dq1jirzb6ljhb7wdrrkyxvmlwg84xzhfikcn9v6nmz9f3pbliwi"; - name = "kmines-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kmines-19.08.0.tar.xz"; + sha256 = "290efbc208d2fa6ad5552fe8c0679fd0669f4abf6dc31fafd267bd9444add981"; + name = "kmines-19.08.0.tar.xz"; }; }; kmix = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kmix-18.12.1.tar.xz"; - sha256 = "1ra7jmi5xlq9gbh7csv40sxr20lv8dz659m1jx4ixkzppcj42s73"; - name = "kmix-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kmix-19.08.0.tar.xz"; + sha256 = "3d9cf6dcb35ded0091d16f5e9f4cb384ae21ea4065547b52d5f13f199d3d7b08"; + name = "kmix-19.08.0.tar.xz"; }; }; kmousetool = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kmousetool-18.12.1.tar.xz"; - sha256 = "07ywyxkm510faaqzywp5rw0lr2x1djhyhkjwyv8l42iw7231bn8x"; - name = "kmousetool-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kmousetool-19.08.0.tar.xz"; + sha256 = "3b2f5a4fcc3231c249923431059285e3f8371f7c8d53fcaea76dec3945a13b09"; + name = "kmousetool-19.08.0.tar.xz"; }; }; kmouth = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kmouth-18.12.1.tar.xz"; - sha256 = "1g82shlrfm70ddfy2zfv12gv8hwzavz47q4qsyblyzq329kwgww5"; - name = "kmouth-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kmouth-19.08.0.tar.xz"; + sha256 = "608479db4b2a98ecd17bdc1b1ef20203f492647b43311e903fb10338a59e0098"; + name = "kmouth-19.08.0.tar.xz"; }; }; kmplot = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kmplot-18.12.1.tar.xz"; - sha256 = "0xl913pajyrhadld2ij9y0ai2w558wa60qfx1y1xwsjfm8124qgf"; - name = "kmplot-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kmplot-19.08.0.tar.xz"; + sha256 = "66384c96ba1e82b32427a873f944d5efa915bb2bf7d9ee886c94f368bd1f5e94"; + name = "kmplot-19.08.0.tar.xz"; }; }; knavalbattle = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/knavalbattle-18.12.1.tar.xz"; - sha256 = "1p03c980w4d10mkmvm01imi7vg6cp3wqz0wvw2d5vz47i0jhm2w8"; - name = "knavalbattle-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/knavalbattle-19.08.0.tar.xz"; + sha256 = "7fbf132662e12f785390dbef7086dad5372ebaea8f8c3f55c24fe37bf17df35e"; + name = "knavalbattle-19.08.0.tar.xz"; }; }; knetwalk = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/knetwalk-18.12.1.tar.xz"; - sha256 = "0x5794f91b84l4d8hgkqi33rdqa7s1plhprhmbfvsi4grpms6c0c"; - name = "knetwalk-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/knetwalk-19.08.0.tar.xz"; + sha256 = "135e8c3b0d46eda0eda2429c6fa89226cba184fb7357b86a3d3101797a7a8c96"; + name = "knetwalk-19.08.0.tar.xz"; }; }; knights = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/knights-18.12.1.tar.xz"; - sha256 = "17n7zi100q62wjavfr87369yqp2mjxqz0lyqalagjp25d80z18l2"; - name = "knights-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/knights-19.08.0.tar.xz"; + sha256 = "1e22413a23b8afeab8b5d46a4d6d81a5e00a891636676b99c5bd08806f97795c"; + name = "knights-19.08.0.tar.xz"; }; }; knotes = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/knotes-18.12.1.tar.xz"; - sha256 = "12n40znf9vczvbf5xfj4zsxwbj2rdj7l1iasmiiil2md8iyjs6dz"; - name = "knotes-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/knotes-19.08.0.tar.xz"; + sha256 = "578afb9d879023db9fef4e58e326927d0e2e24edd1e1ac0d46eee968a0ab7030"; + name = "knotes-19.08.0.tar.xz"; }; }; kolf = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kolf-18.12.1.tar.xz"; - sha256 = "072nmvsxm8ky1nz2pp6ri74ms3rql0qqg004mzbbq061dil4k63i"; - name = "kolf-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kolf-19.08.0.tar.xz"; + sha256 = "1a2a7e9809fd6551518d1393dcfd365976b06ddf17aaa1056a36e8f167e7db5a"; + name = "kolf-19.08.0.tar.xz"; }; }; kollision = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kollision-18.12.1.tar.xz"; - sha256 = "0idjjfgj8fk0c0l5i6x80cg20p1rpq6kab8z9rh2izvg1v6h7qvl"; - name = "kollision-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kollision-19.08.0.tar.xz"; + sha256 = "24a8ae084443359d59c16cbbafc450bbc467bd8b2a2516572e70ef24823750fd"; + name = "kollision-19.08.0.tar.xz"; }; }; kolourpaint = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kolourpaint-18.12.1.tar.xz"; - sha256 = "0h454h5rzk0wki8lbmz57xx3859c27sy9vk1mwawfj963785f2nd"; - name = "kolourpaint-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kolourpaint-19.08.0.tar.xz"; + sha256 = "00596d813eff27e45de7f51ae411b144ee21a7ae2baf576e248046dbd97e097d"; + name = "kolourpaint-19.08.0.tar.xz"; }; }; kompare = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kompare-18.12.1.tar.xz"; - sha256 = "099fkxmk7g19l07lf2v3hmqrgfd17fbsv4m5cxdjci8alizw8pp9"; - name = "kompare-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kompare-19.08.0.tar.xz"; + sha256 = "695c4096c3ac15ab38e5cfb4114f9425c8ccb2f618a65b5f36f3ddee5edec212"; + name = "kompare-19.08.0.tar.xz"; }; }; konqueror = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/konqueror-18.12.1.tar.xz"; - sha256 = "08j4x2xi1iv5661gjpcakp2dmdhvhw3jad98kq3xj9989s7phpfy"; - name = "konqueror-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/konqueror-19.08.0.tar.xz"; + sha256 = "cc37709dcf183c68effb5332c29527b13fe7aae78216b84680ef6cc73192f971"; + name = "konqueror-19.08.0.tar.xz"; }; }; konquest = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/konquest-18.12.1.tar.xz"; - sha256 = "0mlk2vm53nc9dc7ca9ah3ly9qs94md24pi2gmv68pz1ysr51i483"; - name = "konquest-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/konquest-19.08.0.tar.xz"; + sha256 = "94919dce58182859f7e720ece73be81b5bafc359afdc1c29f4f45a3b24155e60"; + name = "konquest-19.08.0.tar.xz"; }; }; konsole = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/konsole-18.12.1.tar.xz"; - sha256 = "15w1jizs4q6mivv7qjkf0gkqlz0jnrz7b2i59r3kx2fvwwwl18rg"; - name = "konsole-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/konsole-19.08.0.tar.xz"; + sha256 = "4d495bf42fad1f457282a57f19fe2aece1ddbc88239352f0ebadfbcebf52ad6e"; + name = "konsole-19.08.0.tar.xz"; }; }; kontact = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kontact-18.12.1.tar.xz"; - sha256 = "0bqn9vh75wpkks1l9hd2bm33k1im356x2091xlnnzs70m4gjxhag"; - name = "kontact-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kontact-19.08.0.tar.xz"; + sha256 = "e47d3b4133e24b1c90a3a15f99a77cef442eefa0f2570dd34d5a9e302e845d9b"; + name = "kontact-19.08.0.tar.xz"; }; }; kontactinterface = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kontactinterface-18.12.1.tar.xz"; - sha256 = "0khba3wnpwji4mm5n56bcnffd1v9w4a1b1r7lhlz88dqkakqyb61"; - name = "kontactinterface-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kontactinterface-19.08.0.tar.xz"; + sha256 = "e490fb4dc0e762d4f12a837ecbddc2f14276672d8f46d10029987222b372f3bc"; + name = "kontactinterface-19.08.0.tar.xz"; }; }; kopete = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kopete-18.12.1.tar.xz"; - sha256 = "12q62nj287qc4gz8q66spk1d0xykrwkphwaxrh2i3sd07bjmyzqs"; - name = "kopete-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kopete-19.08.0.tar.xz"; + sha256 = "ef777cc2840db7fc462c3b00a8a289be3db3786ff16ae51ac9a988621848d7b7"; + name = "kopete-19.08.0.tar.xz"; }; }; korganizer = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/korganizer-18.12.1.tar.xz"; - sha256 = "1g8wjrghzxgx9xhqf98z9xlq5svl2v931ifczsfkvs9d3smx2zsg"; - name = "korganizer-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/korganizer-19.08.0.tar.xz"; + sha256 = "fbb6db9e517f7065ed978c6356989a38cea0c9520693d5e67fa04d8cfa625722"; + name = "korganizer-19.08.0.tar.xz"; }; }; kpat = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kpat-18.12.1.tar.xz"; - sha256 = "1ami2bssnjm01k3i6bqqciszablkw6975hac2d8zzvg2bz8g4a2a"; - name = "kpat-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kpat-19.08.0.tar.xz"; + sha256 = "1d68ac9094ad8f9bf0487daced786508f96ce2a63fd8d9884c2d03960fda9328"; + name = "kpat-19.08.0.tar.xz"; }; }; kpimtextedit = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kpimtextedit-18.12.1.tar.xz"; - sha256 = "13ki9gjgakyqcxx4hvs0plqgw0rqx0z95dnyaqv1safqkwrr76hb"; - name = "kpimtextedit-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kpimtextedit-19.08.0.tar.xz"; + sha256 = "45fcc5898e921c41eb28bb64ddd6d8240f4261360b9149a149ae4c281844dfcb"; + name = "kpimtextedit-19.08.0.tar.xz"; }; }; kpkpass = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kpkpass-18.12.1.tar.xz"; - sha256 = "1sw3gpvai71lliq4y1snxrhzi9jhl1vxkimlxl2nmhg951nzd4xx"; - name = "kpkpass-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kpkpass-19.08.0.tar.xz"; + sha256 = "1555856e987d3667eea8a210e3dd592742ca953dfa2d381e50bc9670183e7137"; + name = "kpkpass-19.08.0.tar.xz"; }; }; kqtquickcharts = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kqtquickcharts-18.12.1.tar.xz"; - sha256 = "0i8qww267q797pxk3k66d09b0dp7ixbxf92p5bsqf7z4p2graayl"; - name = "kqtquickcharts-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kqtquickcharts-19.08.0.tar.xz"; + sha256 = "6b25edca7643287acaf436ba58124077b89d067e2881a5dbfbd8833b68f3cb05"; + name = "kqtquickcharts-19.08.0.tar.xz"; }; }; krdc = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/krdc-18.12.1.tar.xz"; - sha256 = "1smdav92rfr92mxk8q7wcmmvrf746vn2xyw36hyszq561ycgwwrx"; - name = "krdc-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/krdc-19.08.0.tar.xz"; + sha256 = "62c995dc1b6eabf2486d475ad089cb3e286d37c6927e4c5bd2455489f52a3e75"; + name = "krdc-19.08.0.tar.xz"; }; }; kreversi = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kreversi-18.12.1.tar.xz"; - sha256 = "171w76xv9dbhy7pxs9swq7xknrwkjk5ndgq4waj6m5dh0109qmx4"; - name = "kreversi-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kreversi-19.08.0.tar.xz"; + sha256 = "1dbfcce80813c238d5a9084ffcde828b0abeb7b370cfb1e82b55de75a5f02ba9"; + name = "kreversi-19.08.0.tar.xz"; }; }; krfb = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/krfb-18.12.1.tar.xz"; - sha256 = "0bhhlp4ask2xqzq9igw0akxr0gb0iilaljwqrcw91fx36sxq46p4"; - name = "krfb-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/krfb-19.08.0.tar.xz"; + sha256 = "1142e493a37ce867b069ac278215377b56061b2412ee2dd46b0db456fb1419d4"; + name = "krfb-19.08.0.tar.xz"; }; }; kross-interpreters = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kross-interpreters-18.12.1.tar.xz"; - sha256 = "0k57qprmpspp9b8vb124h1whgyskmwd6q7l60vswqizc64xa2src"; - name = "kross-interpreters-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kross-interpreters-19.08.0.tar.xz"; + sha256 = "d0cda357a32d755d6eba373871c0903a5e6ee5f63289aa6f40c623e985453ecd"; + name = "kross-interpreters-19.08.0.tar.xz"; }; }; kruler = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kruler-18.12.1.tar.xz"; - sha256 = "1wfxapw6grx860wa6fyya8fnvlrpmdzsz64fnx64h0mky09j21r6"; - name = "kruler-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kruler-19.08.0.tar.xz"; + sha256 = "a78d054359b559b612dd1dac8f0974f554fb7a52bd8de7152de88866719f9226"; + name = "kruler-19.08.0.tar.xz"; }; }; kshisen = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kshisen-18.12.1.tar.xz"; - sha256 = "0wz4jfrqqvzz2p5f6hwyj7rpijsnhbzmm2m7jhjrljjl5lfdqd3x"; - name = "kshisen-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kshisen-19.08.0.tar.xz"; + sha256 = "f591834b26ff622c995be81acdb07b6d25cf2e25745688a7c162d0b92532066d"; + name = "kshisen-19.08.0.tar.xz"; }; }; ksirk = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ksirk-18.12.1.tar.xz"; - sha256 = "108bw284jsff3qgg98vzs93m6dl8wjfkmbrkjgij03w00jb47bqf"; - name = "ksirk-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ksirk-19.08.0.tar.xz"; + sha256 = "a929c6b10a01d765c8702afc1fa8e77ada7357cf8064c45cff34623d23a2c94c"; + name = "ksirk-19.08.0.tar.xz"; }; }; ksmtp = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ksmtp-18.12.1.tar.xz"; - sha256 = "0zj4gpfz2njrdnfbjy7s9xci0il7qmmzargkszgj9jdzpm5qlaas"; - name = "ksmtp-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ksmtp-19.08.0.tar.xz"; + sha256 = "2947d49f183fe25dc340dd3fa6145c85b1896c8adb08bab9966e1f99a927a003"; + name = "ksmtp-19.08.0.tar.xz"; }; }; ksnakeduel = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ksnakeduel-18.12.1.tar.xz"; - sha256 = "1l0gfh5vfcfnk3sdl8wsqbc2vcmsdf9frpngfacv4ndm4xc371ql"; - name = "ksnakeduel-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ksnakeduel-19.08.0.tar.xz"; + sha256 = "51799e15ce35237cf410bfd69cca40eeea6ec75ac3b3b98686b44028e8fd2b0b"; + name = "ksnakeduel-19.08.0.tar.xz"; }; }; kspaceduel = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kspaceduel-18.12.1.tar.xz"; - sha256 = "01pcnqpzbrnwxavmfpdib78kc44am9in711012j2621cccx2r9cw"; - name = "kspaceduel-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kspaceduel-19.08.0.tar.xz"; + sha256 = "fcd3b90e5a61cb27753cbacf4699c156317cfe30d50732f1f89ac4973dfb39f2"; + name = "kspaceduel-19.08.0.tar.xz"; }; }; ksquares = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ksquares-18.12.1.tar.xz"; - sha256 = "1gyd7qipp821jzn94yrw4b0d46ays0hs26q17hxnbx07hyfj3kcb"; - name = "ksquares-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ksquares-19.08.0.tar.xz"; + sha256 = "649a89da0a928c8977218a76023044205b20f07af9b3abda042e46bc450bd00f"; + name = "ksquares-19.08.0.tar.xz"; }; }; ksudoku = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ksudoku-18.12.1.tar.xz"; - sha256 = "1cm5r4fkc7ha0c3mbcank9h2fhym7qc8k1q69lpmzrbm9hw2kgrs"; - name = "ksudoku-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ksudoku-19.08.0.tar.xz"; + sha256 = "0f773ce70fbc05f30285b7123c5e28fe241ff56677c5b80c1201238bdbc375f8"; + name = "ksudoku-19.08.0.tar.xz"; }; }; ksystemlog = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ksystemlog-18.12.1.tar.xz"; - sha256 = "1s5b4j67q6nm7r4b1ibvypsd5z9la7cri7z1r7hzihv4nry8pk5c"; - name = "ksystemlog-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ksystemlog-19.08.0.tar.xz"; + sha256 = "1231a9dd9a697fe2379a93a3a4d5c026aedf70a8f7e14d8a626ef6b782fb4259"; + name = "ksystemlog-19.08.0.tar.xz"; }; }; kteatime = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kteatime-18.12.1.tar.xz"; - sha256 = "01p4d61d16k2pppf51sz52y0w4qc1dyqnmhjlnr5w75rfmwvvivg"; - name = "kteatime-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kteatime-19.08.0.tar.xz"; + sha256 = "3be9667867ef41a638c8f97fefb213b078b0ba3171add881438588bc8afba342"; + name = "kteatime-19.08.0.tar.xz"; }; }; ktimer = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktimer-18.12.1.tar.xz"; - sha256 = "0wqkfvbdcnwh1jzn2ac7k4pa8amr51ajhljc95mvps03m9d92rsf"; - name = "ktimer-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktimer-19.08.0.tar.xz"; + sha256 = "c7f684b9c7f0c92638153fabdfdb1082c900a8da2f660eeebe4b8b3b669f8c8d"; + name = "ktimer-19.08.0.tar.xz"; }; }; ktnef = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktnef-18.12.1.tar.xz"; - sha256 = "0id7hkmgr5zc12zfrj5ydxyhgdrlx4ip1dsw301i27id104fqb69"; - name = "ktnef-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktnef-19.08.0.tar.xz"; + sha256 = "54b2e09a872e8f8e4e8a1ef77975b1d063ef0d07999b1bf2a696675659e6d52f"; + name = "ktnef-19.08.0.tar.xz"; }; }; ktouch = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktouch-18.12.1.tar.xz"; - sha256 = "0v3lhxx45l41bw14wi7n4k29d1c9xmacrscjyj84fmy09nlyyaa5"; - name = "ktouch-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktouch-19.08.0.tar.xz"; + sha256 = "23ae45be76371fa40aac875551b5de8956a2d2b0980024bd788b8b7835b902ba"; + name = "ktouch-19.08.0.tar.xz"; }; }; ktp-accounts-kcm = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktp-accounts-kcm-18.12.1.tar.xz"; - sha256 = "1aswmp7504kpwlb37rvxx514ac5256h5lhwj9xl479vyxgaazxsn"; - name = "ktp-accounts-kcm-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktp-accounts-kcm-19.08.0.tar.xz"; + sha256 = "f849b7a9b2cee5b328e726dd254b1e606b740e5b75cdc59a1ea18601e131c0b5"; + name = "ktp-accounts-kcm-19.08.0.tar.xz"; }; }; ktp-approver = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktp-approver-18.12.1.tar.xz"; - sha256 = "1jr5kxlj2229rknxhi5jsgdjgx9n0n5jx7lc4aa2c96kd843n2ah"; - name = "ktp-approver-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktp-approver-19.08.0.tar.xz"; + sha256 = "8662a7b3e4f67a5ed2faa12187faef9dd7e056ee9f2d4b69d68f7a381e258e85"; + name = "ktp-approver-19.08.0.tar.xz"; }; }; ktp-auth-handler = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktp-auth-handler-18.12.1.tar.xz"; - sha256 = "1fwcibz8dh94xaprpyybn0dlh1fyd6rsx9zsx8cyxqhx96fq8v28"; - name = "ktp-auth-handler-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktp-auth-handler-19.08.0.tar.xz"; + sha256 = "5674ebf51565854262b5ae0a5fbf8d0837c87b016ea5b32f56f96aa8583a7e39"; + name = "ktp-auth-handler-19.08.0.tar.xz"; }; }; ktp-call-ui = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktp-call-ui-18.12.1.tar.xz"; - sha256 = "1f63w374d9smz7147lax9zqfvikqhl2hllvnlb03zl49kh13s8h3"; - name = "ktp-call-ui-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktp-call-ui-19.08.0.tar.xz"; + sha256 = "1f7922a1920770decfd3e17aaf42e46db60b5c3660efc544a9be743d9a85d08f"; + name = "ktp-call-ui-19.08.0.tar.xz"; }; }; ktp-common-internals = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktp-common-internals-18.12.1.tar.xz"; - sha256 = "1frnzsql9mk78bjfc2kpwmsf8nkx1ybhm1snq125kkzayqipvdkp"; - name = "ktp-common-internals-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktp-common-internals-19.08.0.tar.xz"; + sha256 = "bdbf20e4e0ad7ba7bdc76a0087ff7307cf813c711da6fba3acb0104756ef1559"; + name = "ktp-common-internals-19.08.0.tar.xz"; }; }; ktp-contact-list = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktp-contact-list-18.12.1.tar.xz"; - sha256 = "13aiy156372qapwddr2i3nf1jkzbj9905rvd55akwpa8sy70m3kw"; - name = "ktp-contact-list-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktp-contact-list-19.08.0.tar.xz"; + sha256 = "e6ba69a5a8a6b841e5babd8cb7ddb0a799d34b881ab4bdd0495062a23e59d3e1"; + name = "ktp-contact-list-19.08.0.tar.xz"; }; }; ktp-contact-runner = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktp-contact-runner-18.12.1.tar.xz"; - sha256 = "1grpgg3fgyzf97n60jmpjgviz5194awmrl6yfaal7hd1cdkfrs34"; - name = "ktp-contact-runner-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktp-contact-runner-19.08.0.tar.xz"; + sha256 = "2a90784f7f266399c41a2b64cdb4ae748fca6739c026beed6bfef91b037c2b28"; + name = "ktp-contact-runner-19.08.0.tar.xz"; }; }; ktp-desktop-applets = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktp-desktop-applets-18.12.1.tar.xz"; - sha256 = "0iikcp7rvvrn7189kdzj1i4qzhkgh06gzr8hm49gy29qxqk36ykn"; - name = "ktp-desktop-applets-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktp-desktop-applets-19.08.0.tar.xz"; + sha256 = "56562f335767e1071b36e7e31474a371b862785babeb4f5181b48065f6513221"; + name = "ktp-desktop-applets-19.08.0.tar.xz"; }; }; ktp-filetransfer-handler = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktp-filetransfer-handler-18.12.1.tar.xz"; - sha256 = "04dnh7yb0jajs79xh1wyq9d48nklvldc7lnk1lp194iz8yydvylx"; - name = "ktp-filetransfer-handler-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktp-filetransfer-handler-19.08.0.tar.xz"; + sha256 = "a3a298058e5f6d135abac474a4cd788cea16ccfb4763948f007b6f769fd47de4"; + name = "ktp-filetransfer-handler-19.08.0.tar.xz"; }; }; ktp-kded-module = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktp-kded-module-18.12.1.tar.xz"; - sha256 = "0kmw8pifb4xry3zqpq671rh39ziaka8zx60p5xzs10rl17rmxwzs"; - name = "ktp-kded-module-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktp-kded-module-19.08.0.tar.xz"; + sha256 = "a225a4e16cb18b19c5750d27c7a3834bbbe362c40c7cad8a9e500488682d67cc"; + name = "ktp-kded-module-19.08.0.tar.xz"; }; }; ktp-send-file = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktp-send-file-18.12.1.tar.xz"; - sha256 = "01i059vsaydw410sv15vzwysgxcy2n9wm3qcnal4fx7wgw5xx163"; - name = "ktp-send-file-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktp-send-file-19.08.0.tar.xz"; + sha256 = "d69e48d1f69e04618c97f8e83e8909e97d3f1793fff41277bb883885a8c9da8f"; + name = "ktp-send-file-19.08.0.tar.xz"; }; }; ktp-text-ui = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktp-text-ui-18.12.1.tar.xz"; - sha256 = "14smhdcvy0v1s1rbkss1g6jyzfm6y1nqjp8a9wcbygbzh88g0bjy"; - name = "ktp-text-ui-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktp-text-ui-19.08.0.tar.xz"; + sha256 = "1858215d519efdcf4a0e4ef771e0d0a33f7c918ce2b70fbc95a56b61d240855a"; + name = "ktp-text-ui-19.08.0.tar.xz"; }; }; ktuberling = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/ktuberling-18.12.1.tar.xz"; - sha256 = "0h0w2knfs97bzxaja3dkc78fjfymic09b6zid41kxd4mi41lngkk"; - name = "ktuberling-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/ktuberling-19.08.0.tar.xz"; + sha256 = "ca751ad3cc06475955fa9cb037a1a60539f59b7e3d22aa7d47e9fd4f2771cd5f"; + name = "ktuberling-19.08.0.tar.xz"; }; }; kturtle = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kturtle-18.12.1.tar.xz"; - sha256 = "0b2505gmys2p11ryj7bqr60zgh0ydp16xidhkv6hhykmrmp2bsm1"; - name = "kturtle-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kturtle-19.08.0.tar.xz"; + sha256 = "0e7453e785344a792747b5d51d2c4a190d41e87ddf7e0a9ea49d107a2dd03db8"; + name = "kturtle-19.08.0.tar.xz"; }; }; kubrick = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kubrick-18.12.1.tar.xz"; - sha256 = "0vq8djk5xc00cz4a2inbw62x9pigxxjcxi92h8qayigi7cf9xrll"; - name = "kubrick-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kubrick-19.08.0.tar.xz"; + sha256 = "3a69a6d9a519db9fd25793d532da561a77e7033d71cd3dc67d0ee48c332b71c3"; + name = "kubrick-19.08.0.tar.xz"; }; }; kwalletmanager = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kwalletmanager-18.12.1.tar.xz"; - sha256 = "1d3kdxc53n2ss73r9ld6rr5w9zhvkglrcbw8whq2hsam79mh0vsn"; - name = "kwalletmanager-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kwalletmanager-19.08.0.tar.xz"; + sha256 = "aaf6c646cc8e7387dc034636fb94029fc0fda3c7fc89b6b633dc42349fd0a471"; + name = "kwalletmanager-19.08.0.tar.xz"; }; }; kwave = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kwave-18.12.1.tar.xz"; - sha256 = "150lqffzzyb2ajyg97sprzbm6zq1iq4psl6vics51lw7sybwj4m3"; - name = "kwave-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kwave-19.08.0.tar.xz"; + sha256 = "60f5408e9a67e934c67332b9a9643513f35946796d1ccf70369e411f804b1043"; + name = "kwave-19.08.0.tar.xz"; }; }; kwordquiz = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/kwordquiz-18.12.1.tar.xz"; - sha256 = "1da9jjdk2avdmdm16s63h0hk5swml37afwdnsd777ilj2x8a5ndf"; - name = "kwordquiz-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/kwordquiz-19.08.0.tar.xz"; + sha256 = "ed4278c1ca0e6e7da548e563a4248fa9e0ff0707b67e06e53ae26dbc2069fc71"; + name = "kwordquiz-19.08.0.tar.xz"; }; }; libgravatar = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libgravatar-18.12.1.tar.xz"; - sha256 = "1a7b46zqv5m7c9arfmcxhrcnrkcligz3ryygxv801zfa7277l8j6"; - name = "libgravatar-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libgravatar-19.08.0.tar.xz"; + sha256 = "f8dd753abdc868623b878433c0b2ed53d4d4ab2cb62c69cb94c433e51cb713a9"; + name = "libgravatar-19.08.0.tar.xz"; }; }; libkcddb = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libkcddb-18.12.1.tar.xz"; - sha256 = "1k9rbkf12g1hsn23nyhc65zrppkikk8xplm7l321kxpnq2prm155"; - name = "libkcddb-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libkcddb-19.08.0.tar.xz"; + sha256 = "f97b90660bfd403aa64be8e6221a89087f74ab443431a9f692fe14cc90d82151"; + name = "libkcddb-19.08.0.tar.xz"; }; }; libkcompactdisc = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libkcompactdisc-18.12.1.tar.xz"; - sha256 = "0v7fh9s9qbljgfjyi3bd9w7wp69y4qjg0jj8cmn11snrsd8zzaac"; - name = "libkcompactdisc-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libkcompactdisc-19.08.0.tar.xz"; + sha256 = "cc940df2a1e499965fe05b466c60014082d205f0ae606562980e6088d714eac5"; + name = "libkcompactdisc-19.08.0.tar.xz"; }; }; libkdcraw = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libkdcraw-18.12.1.tar.xz"; - sha256 = "1g58cpzqzl6vl62lbrqd8fyscxspqypxq4lyj3d2k9b0b66hjc6c"; - name = "libkdcraw-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libkdcraw-19.08.0.tar.xz"; + sha256 = "5c00a6f28445ba5a45284c3cee0ee3f158ad9e184fea5ee8adc83ac3000b26b1"; + name = "libkdcraw-19.08.0.tar.xz"; }; }; libkdegames = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libkdegames-18.12.1.tar.xz"; - sha256 = "0iksk5gnl860xcmpaj56wxaamhm9zhjnyszj4nssppssn8kr1r65"; - name = "libkdegames-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libkdegames-19.08.0.tar.xz"; + sha256 = "cb1135a86b373543410f3eb0677aed033bad2b8ef60130753c699338e0c22d1b"; + name = "libkdegames-19.08.0.tar.xz"; }; }; libkdepim = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libkdepim-18.12.1.tar.xz"; - sha256 = "1qvzj68p630mzafwyv7f3q1fd615yca7amc0q7kp2cs08fnv67fp"; - name = "libkdepim-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libkdepim-19.08.0.tar.xz"; + sha256 = "4ff394bda799ebe700d12d60ab8171c64e054c6acb105870cd955b5ddce42eab"; + name = "libkdepim-19.08.0.tar.xz"; }; }; libkeduvocdocument = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libkeduvocdocument-18.12.1.tar.xz"; - sha256 = "0zgl0dw8sb5lffzv580nql04i0n31ma8569wrhh75kg12qb5yd7w"; - name = "libkeduvocdocument-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libkeduvocdocument-19.08.0.tar.xz"; + sha256 = "7b0314bc1f06a4ea4cbb4b4b203a9a0f4a0370f355f8def4398dc452075f6fcf"; + name = "libkeduvocdocument-19.08.0.tar.xz"; }; }; libkexiv2 = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libkexiv2-18.12.1.tar.xz"; - sha256 = "1jgk14dgf30czsah0mjrs7lsll0s4aks2075pfmvrnsl71vfbsj3"; - name = "libkexiv2-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libkexiv2-19.08.0.tar.xz"; + sha256 = "42bb1a8b69efbb4ab8b1d939279d3eb02b2d8030bcb917739f4f61fb5a10db15"; + name = "libkexiv2-19.08.0.tar.xz"; }; }; libkgapi = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libkgapi-18.12.1.tar.xz"; - sha256 = "1g5mzdw4mrlqhi9zby51m1sgkq1gjmkd7smja287kjf7whdx0sn3"; - name = "libkgapi-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libkgapi-19.08.0.tar.xz"; + sha256 = "bc8a54e0997f4e3e0e840e350c6a9dee26582028415c5e9863d53a3280faa9f6"; + name = "libkgapi-19.08.0.tar.xz"; }; }; libkgeomap = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libkgeomap-18.12.1.tar.xz"; - sha256 = "0ijf71ss8qirrgx45x4wnry049d2bllgnlzm8gll4mj1hv9jhjdz"; - name = "libkgeomap-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libkgeomap-19.08.0.tar.xz"; + sha256 = "267c3bb6d033dcbcfabb6822eebc69410de2d13b792ce62af47034bbcf3a5e54"; + name = "libkgeomap-19.08.0.tar.xz"; }; }; libkipi = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libkipi-18.12.1.tar.xz"; - sha256 = "1372kmqni0vb8bryv0h30pljikabjdq44v1fjpgg81f4v1n4pfxv"; - name = "libkipi-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libkipi-19.08.0.tar.xz"; + sha256 = "94b184c3128fe7ded9e816e2a6124ee0dcf016b1325636dd41b157866b461989"; + name = "libkipi-19.08.0.tar.xz"; }; }; libkleo = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libkleo-18.12.1.tar.xz"; - sha256 = "1p1bw0wzwg2zccgkqs50j92rzkpvcspjdj85zanmryg568mz9r1x"; - name = "libkleo-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libkleo-19.08.0.tar.xz"; + sha256 = "a0a022f3da4d8f73c020ab55221c74d5c1590b2cbdb3b754218be17622a59cc6"; + name = "libkleo-19.08.0.tar.xz"; }; }; libkmahjongg = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libkmahjongg-18.12.1.tar.xz"; - sha256 = "1q590f7l10a1zjcg3dv3ns1003xrnr7zlmff03zg3a9zcqj11kwv"; - name = "libkmahjongg-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libkmahjongg-19.08.0.tar.xz"; + sha256 = "b51aea6773b609cc1c3a297e72e15b7b504c2877938030e1afac86319e855694"; + name = "libkmahjongg-19.08.0.tar.xz"; }; }; libkomparediff2 = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libkomparediff2-18.12.1.tar.xz"; - sha256 = "0ik6bclbipp01gfy3zfkijvl5m0y3z2dfxr76jvzmi53ypm7g0xn"; - name = "libkomparediff2-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libkomparediff2-19.08.0.tar.xz"; + sha256 = "d86765e6514bdcf838ed36ae5968f9b2b7cb2e74f4fe884ae87f58b9bcc963fe"; + name = "libkomparediff2-19.08.0.tar.xz"; }; }; libksane = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libksane-18.12.1.tar.xz"; - sha256 = "15dgc5dshs6yzv03wvc5xvqfz70gqy51a0r54qzbr5fc9s6pywr8"; - name = "libksane-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libksane-19.08.0.tar.xz"; + sha256 = "62c670c316a47facbd0beedb0fcc35247fbbd285892a90ab06ebb8f74b8a6329"; + name = "libksane-19.08.0.tar.xz"; }; }; libksieve = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/libksieve-18.12.1.tar.xz"; - sha256 = "0kcg94bsww3vlc3vpybw20c4iax0bfkamicy7hwyyyzwgx38dvd1"; - name = "libksieve-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/libksieve-19.08.0.tar.xz"; + sha256 = "48d0925a8dd0adfa6ccd4945b14e2e562b8855faa6bed43de0442a273fd41966"; + name = "libksieve-19.08.0.tar.xz"; }; }; lokalize = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/lokalize-18.12.1.tar.xz"; - sha256 = "1spzi7zbckvxy3izmcqjnslmqf4vgr7zrwa0idmqi4q59dcsgw9g"; - name = "lokalize-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/lokalize-19.08.0.tar.xz"; + sha256 = "bb51159c803890af82a38e5a4bd4df0895cc34ed68fa8ed3a4c66adafc9ea6b6"; + name = "lokalize-19.08.0.tar.xz"; }; }; lskat = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/lskat-18.12.1.tar.xz"; - sha256 = "0603lxw1fxz9vpawy59z3qga0f1bvvgv9yqk29b16fmp5hf5qgxm"; - name = "lskat-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/lskat-19.08.0.tar.xz"; + sha256 = "b321f58772eab7f569c76ff4afb56b1e3324dc5febf45bf5ed90993cf38696b5"; + name = "lskat-19.08.0.tar.xz"; }; }; mailcommon = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/mailcommon-18.12.1.tar.xz"; - sha256 = "0l1b115vnxfl2ykwnj09ikv7vlfa5bvfzlii6jj2znkmspi9y7r2"; - name = "mailcommon-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/mailcommon-19.08.0.tar.xz"; + sha256 = "6c69b70356d9d96578c3fd472aaa36e33feb0677d7e65c36981c0596daf3aea3"; + name = "mailcommon-19.08.0.tar.xz"; }; }; mailimporter = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/mailimporter-18.12.1.tar.xz"; - sha256 = "1k8gqjabcvafcvsqwclvz58r15k1bpz52wnnnbwcp0y27ab08a98"; - name = "mailimporter-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/mailimporter-19.08.0.tar.xz"; + sha256 = "242f1a93b3521abc68ca8e1abfc75acd0b59e1e2d553df80a057645102246dd7"; + name = "mailimporter-19.08.0.tar.xz"; }; }; marble = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/marble-18.12.1.tar.xz"; - sha256 = "0hamj04ma9qycfisjv48myxj1427rz7g0lmw7pwanzghg610fgwy"; - name = "marble-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/marble-19.08.0.tar.xz"; + sha256 = "c1c951a1357c94a61b38f0ae8a1235d194150cd351dbf25d2db3508b22b44cc1"; + name = "marble-19.08.0.tar.xz"; }; }; mbox-importer = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/mbox-importer-18.12.1.tar.xz"; - sha256 = "1h2abj7v6v3rmvsv9bb1wj7sabhh9f35bx1yfk2hhfzf6l4r5f2n"; - name = "mbox-importer-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/mbox-importer-19.08.0.tar.xz"; + sha256 = "e03fd814c70b15fca3b5dd2cde1dcece436b831ceb04323d7ffcca66daf3ce1c"; + name = "mbox-importer-19.08.0.tar.xz"; }; }; messagelib = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/messagelib-18.12.1.tar.xz"; - sha256 = "1hfk54w0dhp82fxa4q19d4224pjnw5f8m7ap4gwlrqdj350liqd8"; - name = "messagelib-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/messagelib-19.08.0.tar.xz"; + sha256 = "0797b11452874a1d8264f92e8cc6d6977f3b0416dc66ff558b124bf2a52b118d"; + name = "messagelib-19.08.0.tar.xz"; }; }; minuet = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/minuet-18.12.1.tar.xz"; - sha256 = "160wq3j7vcf1k0ayd8axg37ghj5ymn56g7znaz4gzc8ar1q5nccz"; - name = "minuet-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/minuet-19.08.0.tar.xz"; + sha256 = "3827a7e8dd3c48e12521fd0aa76eccbeaf9f2627935f19647f2147e87db63554"; + name = "minuet-19.08.0.tar.xz"; }; }; okular = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/okular-18.12.1.tar.xz"; - sha256 = "1k1srr2434j665v6m89vl7x42361pqxaw45dc5b4bhw8q2xfipyl"; - name = "okular-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/okular-19.08.0.tar.xz"; + sha256 = "721a0d02d5ff9277c4a9a13dbde0ede3528eff848622e83abc36d57d9759b3ec"; + name = "okular-19.08.0.tar.xz"; }; }; palapeli = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/palapeli-18.12.1.tar.xz"; - sha256 = "0pwflnnnbfxf185m3r4vdw5jpd5jld0wm0qnwk2gl41v2ahb5pqd"; - name = "palapeli-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/palapeli-19.08.0.tar.xz"; + sha256 = "fcdefb41685728cd9e01cc3249d2676a589f61a611e32c2e1a2e3d4d30721dde"; + name = "palapeli-19.08.0.tar.xz"; }; }; parley = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/parley-18.12.1.tar.xz"; - sha256 = "1yv4m9f4jhc36ffnrxd6rq5117rj163hs6835mkkzja7z13csn6z"; - name = "parley-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/parley-19.08.0.tar.xz"; + sha256 = "d3c8f8e7ceee62ffa9b95dbf539a509260b5f759fadd136a966d90a67e8a94a4"; + name = "parley-19.08.0.tar.xz"; }; }; picmi = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/picmi-18.12.1.tar.xz"; - sha256 = "0dmhvxy0g4jjbxk53bz1g1r8vqdzhzbcwg0f1ck85gz7f5g67b7v"; - name = "picmi-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/picmi-19.08.0.tar.xz"; + sha256 = "1d7a6152b05ad22f98762a5a6cd96edbc03ae63bdbc0154f387dc5cce31243eb"; + name = "picmi-19.08.0.tar.xz"; }; }; pimcommon = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/pimcommon-18.12.1.tar.xz"; - sha256 = "09av3zdr463gjc877ipa5vz84yf4qpj2ixs9x4ajmfmsmb5m6w7z"; - name = "pimcommon-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/pimcommon-19.08.0.tar.xz"; + sha256 = "23be57010127831c3ad9b9475e467e8078ff92410c80609660498c5dc6fbaf9a"; + name = "pimcommon-19.08.0.tar.xz"; }; }; pim-data-exporter = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/pim-data-exporter-18.12.1.tar.xz"; - sha256 = "111n4l9z3dazz7qhv67k00s88p515r8ai2sm419pbyfdn6wxpzmb"; - name = "pim-data-exporter-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/pim-data-exporter-19.08.0.tar.xz"; + sha256 = "f5ff68dcbad1df7ea132b409b70b9b4269badb26e28b4b7cd50239172507f7d8"; + name = "pim-data-exporter-19.08.0.tar.xz"; }; }; pim-sieve-editor = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/pim-sieve-editor-18.12.1.tar.xz"; - sha256 = "0i0jrmz4cyjcpapga89ixfqx7xg0nyk3r75ymfzw891fyhm7ns67"; - name = "pim-sieve-editor-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/pim-sieve-editor-19.08.0.tar.xz"; + sha256 = "1ea0cc219d6776968d81ff1a606a9a11e1714f864fda9f00a13a5d7c84b45b46"; + name = "pim-sieve-editor-19.08.0.tar.xz"; }; }; poxml = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/poxml-18.12.1.tar.xz"; - sha256 = "0hrpvpsy3mbyrikj68lr2af9m162w3nzhcpdqgrhsv5ji3j0bpqb"; - name = "poxml-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/poxml-19.08.0.tar.xz"; + sha256 = "82393645a5f97890bba866554c0e05d7b216f0ed7eafea00fe1c2708ac12e0b2"; + name = "poxml-19.08.0.tar.xz"; }; }; print-manager = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/print-manager-18.12.1.tar.xz"; - sha256 = "01kk592gi2rrqwaxmfd1fycnya0rvjafxxv6lrk3rs0nm4g9phxr"; - name = "print-manager-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/print-manager-19.08.0.tar.xz"; + sha256 = "56fe89f6bc3be64848adee20a22c712ba8f72602e28fb3288cd5328797e32c7b"; + name = "print-manager-19.08.0.tar.xz"; }; }; rocs = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/rocs-18.12.1.tar.xz"; - sha256 = "0d34bv8ya5lrdrbqqlc927x4cdfjwyr8q2xbmx4c1vaw8w29glw9"; - name = "rocs-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/rocs-19.08.0.tar.xz"; + sha256 = "2e9346781bb6198a3fb3c3357ef796c0e86fdd104146de87a481619d3cbe78fe"; + name = "rocs-19.08.0.tar.xz"; }; }; signon-kwallet-extension = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/signon-kwallet-extension-18.12.1.tar.xz"; - sha256 = "018vyzd3rspfsqansxfbv4q0izgj7dfpmzjj04x8pffg1w0x902n"; - name = "signon-kwallet-extension-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/signon-kwallet-extension-19.08.0.tar.xz"; + sha256 = "f8cd646365f82c82de6c9f2dda8250579a2e469504e4358a334786f8f8e8b61f"; + name = "signon-kwallet-extension-19.08.0.tar.xz"; }; }; spectacle = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/spectacle-18.12.1.tar.xz"; - sha256 = "1r9iapwi1lp1p7x0dimblpmsizv1ys9708vdlzrk8q4m8rwn7ld9"; - name = "spectacle-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/spectacle-19.08.0.tar.xz"; + sha256 = "8ada4f765f81ee496f9fd00b74764690df9c479e343a035e363f7159f93c35a4"; + name = "spectacle-19.08.0.tar.xz"; }; }; step = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/step-18.12.1.tar.xz"; - sha256 = "1gn8l09r5rllz1mypsw2wfjhijy0i0bi4lspp271dinms6ryx6p4"; - name = "step-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/step-19.08.0.tar.xz"; + sha256 = "7a2dc38617822c8118c721ccaaa9907ec3e109eacf57e46b599c6731b325a993"; + name = "step-19.08.0.tar.xz"; }; }; svgpart = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/svgpart-18.12.1.tar.xz"; - sha256 = "06rvbav94ysifha47lp52pvpc77y33p4zq4yfbmyh1pqkiw5db2s"; - name = "svgpart-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/svgpart-19.08.0.tar.xz"; + sha256 = "7e1f4b3f8807e996b2acb496971bd7ebcb1e456ac090e269e42d15fce629858d"; + name = "svgpart-19.08.0.tar.xz"; }; }; sweeper = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/sweeper-18.12.1.tar.xz"; - sha256 = "0bp0my9gf4n5p7v3g0q390lf9q4lh42mg2zngwadqcvrsi2w4av4"; - name = "sweeper-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/sweeper-19.08.0.tar.xz"; + sha256 = "3cab8817b5c52bd0064e49e6062d3295328604d96e355779a766075d5ae10764"; + name = "sweeper-19.08.0.tar.xz"; }; }; umbrello = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/umbrello-18.12.1.tar.xz"; - sha256 = "12kk04frx8fxcih22nv5c1765wawlf7wpiscaqmzlmrpa611x65r"; - name = "umbrello-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/umbrello-19.08.0.tar.xz"; + sha256 = "8df6e0394670ee3f91f449a3110312a37876d3aa047442ed8439d8b876a6b0e2"; + name = "umbrello-19.08.0.tar.xz"; + }; + }; + yakuake = { + version = "19.08.0"; + src = fetchurl { + url = "${mirror}/stable/applications/19.08.0/src/yakuake-19.08.0.tar.xz"; + sha256 = "f0931fffbcd6f17687f13ab766e628961c6caf6dcf8cad79f6e311a0b5692a49"; + name = "yakuake-19.08.0.tar.xz"; }; }; zeroconf-ioslave = { - version = "18.12.1"; + version = "19.08.0"; src = fetchurl { - url = "${mirror}/stable/applications/18.12.1/src/zeroconf-ioslave-18.12.1.tar.xz"; - sha256 = "1gzr50kqlwd2d47yc2k6yz2v0w2gp10c7glhb61jpdzsqy7r7cvp"; - name = "zeroconf-ioslave-18.12.1.tar.xz"; + url = "${mirror}/stable/applications/19.08.0/src/zeroconf-ioslave-19.08.0.tar.xz"; + sha256 = "0fbe1e0d1c30cc570d96e6a5aa12692bd8e5d11bfd4b9af5077f4c5e80c8f183"; + name = "zeroconf-ioslave-19.08.0.tar.xz"; }; }; } diff --git a/pkgs/applications/kde/yakuake.nix b/pkgs/applications/kde/yakuake.nix new file mode 100644 index 00000000000..6f9c8df3001 --- /dev/null +++ b/pkgs/applications/kde/yakuake.nix @@ -0,0 +1,32 @@ +{ + mkDerivation, lib, kdoctools, extra-cmake-modules, + karchive, kcrash, kdbusaddons, ki18n, kiconthemes, knewstuff, knotifications, + knotifyconfig, konsole, kparts, kwindowsystem, qtx11extras +}: + +mkDerivation { + name = "yakuake"; + + buildInputs = [ + karchive kcrash kdbusaddons ki18n kiconthemes knewstuff knotifications + knotifyconfig kparts kwindowsystem qtx11extras + ]; + + propagatedBuildInputs = [ + karchive kcrash kdbusaddons ki18n kiconthemes knewstuff knotifications + knotifyconfig kparts kwindowsystem + ]; + + propagatedUserEnvPkgs = [ konsole ]; + + nativeBuildInputs = [ + extra-cmake-modules kdoctools + ]; + + meta = { + homepage = https://yakuake.kde.org; + description = "Quad-style terminal emulator for KDE"; + maintainers = with lib.maintainers; [ fridh ]; + license = lib.licenses.gpl2; + }; +} diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix index 6de7c3daed1..edcd08f2499 100644 --- a/pkgs/applications/misc/1password/default.nix +++ b/pkgs/applications/misc/1password/default.nix @@ -2,24 +2,24 @@ stdenv.mkDerivation rec { pname = "1password"; - version = "0.5.5"; + version = "0.6.1"; src = 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 = "14qx69fq1a3h93h167nhwp6gxka8r34295p82kim9grijrx5zz5f"; + sha256 = "1yr78yawscp9fgvdw0dimc68k3bblk3g67g3jrqpa7hnl6pr24yl"; stripRoot = false; } 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 = "1jh1sk07k3whbr0rvc4kf221wskcdbk0zpxaj49qbwq1d89cjnpg"; + sha256 = "03m0vxhghzf4zq7k2f1afkc5ixf0qwiiypqjfjgpqpfng7g9ang7"; stripRoot = false; } 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 = "1s6gw2qwsbhj4z9nrwrxs776y45ingpfp9533qz0gc1pk7ia99js"; + sha256 = "1hypmls1fq4rjx9icgr0pkx3s3fhhma2q5rds314sv7f9ijl458f"; stripRoot = false; } else throw "Architecture not supported"; diff --git a/pkgs/applications/misc/adobe-reader/default.nix b/pkgs/applications/misc/adobe-reader/default.nix index 0ca12a0096e..d1e4856e052 100644 --- a/pkgs/applications/misc/adobe-reader/default.nix +++ b/pkgs/applications/misc/adobe-reader/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, libX11, cups, zlib, libxml2, pango, atk, gtk2, glib -, gdk_pixbuf }: +, gdk-pixbuf }: assert stdenv.hostPlatform.system == "i686-linux"; @@ -20,7 +20,7 @@ stdenv.mkDerivation { # versions. libPath = stdenv.lib.makeLibraryPath - [ stdenv.cc.cc libX11 zlib libxml2 cups pango atk gtk2 glib gdk_pixbuf ]; + [ stdenv.cc.cc libX11 zlib libxml2 cups pango atk gtk2 glib gdk-pixbuf ]; passthru.mozillaPlugin = "/libexec/adobe-reader/Browser/intellinux"; diff --git a/pkgs/applications/misc/airtame/default.nix b/pkgs/applications/misc/airtame/default.nix index 3e5bf8df4a7..465c72d73f5 100644 --- a/pkgs/applications/misc/airtame/default.nix +++ b/pkgs/applications/misc/airtame/default.nix @@ -1,12 +1,12 @@ { stdenv, lib, fetchurl, makeDesktopItem, makeWrapper , alsaLib, atk, cairo, cups, curl, dbus, expat, ffmpeg, fontconfig, freetype -, gdk_pixbuf, glib, glibc, gnome2, gtk2, libX11, libXScrnSaver, libXcomposite +, gdk-pixbuf, glib, glibc, gnome2, gtk2, libX11, libXScrnSaver, libXcomposite , libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender , libXtst, libopus, libpulseaudio, libxcb, nspr, nss, pango, udev, x264 }: let libPath = lib.makeLibraryPath [ - alsaLib atk cairo cups curl dbus expat ffmpeg fontconfig freetype gdk_pixbuf + 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 @@ -14,7 +14,6 @@ let libPath = lib.makeLibraryPath [ in stdenv.mkDerivation rec { pname = "airtame"; version = "3.3.0"; - name = "${pname}-${version}"; longName = "${pname}-application"; src = fetchurl { diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix index ef0b49f8d7b..dddf8d93412 100644 --- a/pkgs/applications/misc/alacritty/default.nix +++ b/pkgs/applications/misc/alacritty/default.nix @@ -2,25 +2,29 @@ lib, fetchFromGitHub, rustPlatform, + cmake, + gzip, makeWrapper, ncurses, - expat, pkgconfig, - freetype, + python3, + + expat, fontconfig, + freetype, + libGL, libX11, - gzip, libXcursor, - libXxf86vm, libXi, libXrandr, - libGL, - xclip, + libXxf86vm, + libxcb, + libxkbcommon, + wayland, + # Darwin Frameworks - cf-private, AppKit, - CoreFoundation, CoreGraphics, CoreServices, CoreText, @@ -32,50 +36,46 @@ with rustPlatform; let rpathLibs = [ expat - freetype fontconfig + freetype + libGL libX11 libXcursor - libXxf86vm - libXrandr - libGL libXi + libXrandr + libXxf86vm + libxcb + ] ++ lib.optionals stdenv.isLinux [ + libxkbcommon + wayland ]; in buildRustPackage rec { - name = "alacritty-${version}"; - version = "0.2.9"; + pname = "alacritty"; + version = "0.3.3"; src = fetchFromGitHub { owner = "jwilm"; - repo = "alacritty"; + repo = pname; rev = "v${version}"; - sha256 = "01wzkpbz6jjmpmnkqswilnn069ir3cx3jvd3j7zsvqdxqpwncz39"; + sha256 = "1h9zid7bi19qga3a8a2d4x3ma9wf1njmj74s4xnw7nzqqf3dh750"; }; - cargoSha256 = "0h9wczgpjh52lhrqg0r2dkrh5svmyvrvh4yj7p0nz45skgrnl8w9"; + cargoSha256 = "1rxb5ljgvn881jkxm8772kf815mmp08ci7sqmn2x1jwdcrphhxr1"; nativeBuildInputs = [ cmake - makeWrapper - pkgconfig - ncurses gzip + makeWrapper + ncurses + pkgconfig + python3 ]; buildInputs = rpathLibs - ++ lib.optionals stdenv.isDarwin [ - AppKit CoreFoundation CoreGraphics CoreServices CoreText Foundation OpenGL - # Needed for CFURLResourceIsReachable symbols. - cf-private - ]; + ++ lib.optionals stdenv.isDarwin [ AppKit CoreGraphics CoreServices CoreText Foundation OpenGL ]; outputs = [ "out" "terminfo" ]; - postPatch = '' - substituteInPlace copypasta/src/x11.rs \ - --replace Command::new\(\"xclip\"\) Command::new\(\"${xclip}/bin/xclip\"\) - ''; - postBuild = lib.optionalString stdenv.isDarwin "make app"; installPhase = '' @@ -87,19 +87,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 @@ -113,6 +114,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" ]; + platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ]; }; } diff --git a/pkgs/applications/misc/albert/default.nix b/pkgs/applications/misc/albert/default.nix index 2dda615081c..6fc5f951465 100644 --- a/pkgs/applications/misc/albert/default.nix +++ b/pkgs/applications/misc/albert/default.nix @@ -37,11 +37,6 @@ mkDerivation rec { rm "$out/lib" ''; - postInstall = '' - wrapProgram $out/bin/albert \ - --prefix XDG_DATA_DIRS : $out/share - ''; - meta = with lib; { homepage = https://albertlauncher.github.io/; description = "Desktop agnostic launcher"; diff --git a/pkgs/applications/misc/almanah/default.nix b/pkgs/applications/misc/almanah/default.nix new file mode 100644 index 00000000000..4997a9c7f2a --- /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 index 1c769e58705..8c5aded5ed9 100644 --- a/pkgs/applications/misc/aminal/default.nix +++ b/pkgs/applications/misc/aminal/default.nix @@ -2,7 +2,6 @@ , Carbon , Cocoa , Kernel -, cf-private , fetchFromGitHub , lib , mesa_glu @@ -11,7 +10,7 @@ }: buildGoPackage rec { - name = "aminal-${version}"; + pname = "aminal"; version = "0.8.6"; goPackagePath = "github.com/liamg/aminal"; @@ -25,12 +24,7 @@ buildGoPackage rec { xorg.libXinerama xorg.libXrandr xorg.libXxf86vm - ] ++ lib.optionals stdenv.isDarwin [ - Carbon - Cocoa - Kernel - cf-private /* Needed for NSDefaultRunLoopMode */ - ]; + ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa Kernel ]; src = fetchFromGitHub { owner = "liamg"; diff --git a/pkgs/applications/misc/ape/clex.nix b/pkgs/applications/misc/ape/clex.nix index 37d140e19ba..c680ffe9678 100644 --- a/pkgs/applications/misc/ape/clex.nix +++ b/pkgs/applications/misc/ape/clex.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "attempto-clex-${version}"; + pname = "attempto-clex"; version = "5133afe"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/appeditor/default.nix b/pkgs/applications/misc/appeditor/default.nix new file mode 100644 index 00000000000..0530ec9c1b8 --- /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 2da0de9ead8..b5af1af91f3 100644 --- a/pkgs/applications/misc/apvlv/default.nix +++ b/pkgs/applications/misc/apvlv/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { version = "0.1.5"; - name = "apvlv-${version}"; + pname = "apvlv"; src = fetchFromGitHub { owner = "naihe2010"; diff --git a/pkgs/applications/misc/archiver/default.nix b/pkgs/applications/misc/archiver/default.nix index 25fafb604c3..03f534e1a4d 100644 --- a/pkgs/applications/misc/archiver/default.nix +++ b/pkgs/applications/misc/archiver/default.nix @@ -1,26 +1,24 @@ -{ buildGoPackage +{ buildGoModule , fetchFromGitHub , lib }: -buildGoPackage rec { - name = "archiver-${version}"; - version = "3.0.0"; - - goPackagePath = "github.com/mholt/archiver"; +buildGoModule rec { + pname = "archiver"; + version = "3.2.0"; src = fetchFromGitHub { owner = "mholt"; - repo = "archiver"; + repo = pname; rev = "v${version}"; - sha256 = "1wngv51333h907mp6nbzd9dq6r0x06mag2cij92912jcbzy0q8bk"; + sha256 = "1kq2cyhbniwdabk426j493cs8d4nj35vmznm9031rrdd9ln5h9gl"; }; - goDeps = ./deps.nix; + modSha256 = "13vwgqpw7ypq6mrvwmnl8n38x0h89ymryrrzkf7ya478fp00vclj"; 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; + description = "Easily create & extract archives, and compress & decompress files of various formats"; + 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 deleted file mode 100644 index 4b14fd47711..00000000000 --- a/pkgs/applications/misc/archiver/deps.nix +++ /dev/null @@ -1,56 +0,0 @@ -[ - { - 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 202c1669f85..791e2d0f52e 100644 --- a/pkgs/applications/misc/artha/default.nix +++ b/pkgs/applications/misc/artha/default.nix @@ -1,7 +1,7 @@ { stdenv, autoreconfHook, fetchurl, dbus-glib, gtk2, pkgconfig, wordnet }: stdenv.mkDerivation rec { - name = "artha-${version}"; + pname = "artha"; version = "1.0.3"; src = fetchurl { diff --git a/pkgs/applications/misc/asciiquarium/default.nix b/pkgs/applications/misc/asciiquarium/default.nix index 912f18890b5..0e524ede091 100644 --- a/pkgs/applications/misc/asciiquarium/default.nix +++ b/pkgs/applications/misc/asciiquarium/default.nix @@ -2,7 +2,8 @@ let version = "1.1"; in stdenv.mkDerivation { - name = "asciiquarium-${version}"; + pname = "asciiquarium"; + inherit version; src = fetchurl { url = "https://robobunny.com/projects/asciiquarium/asciiquarium_${version}.tar.gz"; sha256 = "0qfkr5b7sxzi973nh0h84blz2crvmf28jkkgaj3mxrr56mhwc20v"; @@ -21,7 +22,7 @@ in stdenv.mkDerivation { 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; + 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 878e62c68cb..622e7169fae 100644 --- a/pkgs/applications/misc/audio/sox/default.nix +++ b/pkgs/applications/misc/audio/sox/default.nix @@ -1,9 +1,10 @@ -{ config, lib, stdenv, fetchurl +{ config, lib, stdenv, fetchurl, pkgconfig, CoreAudio , enableAlsa ? true, alsaLib ? null , enableLibao ? true, libao ? null , enableLame ? config.sox.enableLame or false, lame ? null , enableLibmad ? true, libmad ? null , enableLibogg ? true, libogg ? null, libvorbis ? null +, enableOpusfile ? true, opusfile ? null , enableFLAC ? true, flac ? null , enablePNG ? true, libpng ? null , enableLibsndfile ? true, libsndfile ? null @@ -22,17 +23,22 @@ stdenv.mkDerivation rec { sha256 = "0v2znlxkxxcd3f48hf3dx9pq7i6fdhb62kgj7wv8xggz8f35jpxl"; }; + # configure.ac uses pkg-config only to locate libopusfile + nativeBuildInputs = optional enableOpusfile pkgconfig; + buildInputs = optional (enableAlsa && stdenv.isLinux) alsaLib ++ optional enableLibao libao ++ optional enableLame lame ++ optional enableLibmad libmad ++ optionals enableLibogg [ libogg libvorbis ] ++ + optional enableOpusfile opusfile ++ optional enableFLAC flac ++ 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 index 2f38307ca1e..444a8da7036 100644 --- a/pkgs/applications/misc/autospotting/default.nix +++ b/pkgs/applications/misc/autospotting/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "autospotting-${version}"; + pname = "autospotting"; version = "unstable-2018-11-17"; goPackagePath = "github.com/AutoSpotting/AutoSpotting"; @@ -24,7 +24,7 @@ buildGoPackage rec { 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.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/misc/avrdudess/default.nix b/pkgs/applications/misc/avrdudess/default.nix index 1144d515284..4227b4155ac 100644 --- a/pkgs/applications/misc/avrdudess/default.nix +++ b/pkgs/applications/misc/avrdudess/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, mono, avrdude, gtk2, xdg_utils }: +{ stdenv, runtimeShell, fetchurl, unzip, mono, avrdude, gtk2, xdg_utils }: stdenv.mkDerivation rec { name = "avrdudess-2.2.20140102"; @@ -19,7 +19,7 @@ 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. diff --git a/pkgs/applications/misc/barrier/default.nix b/pkgs/applications/misc/barrier/default.nix index 6151b3d55ab..e401a7c0b8e 100644 --- a/pkgs/applications/misc/barrier/default.nix +++ b/pkgs/applications/misc/barrier/default.nix @@ -1,26 +1,19 @@ -{ stdenv, fetchpatch, fetchurl, cmake, curl, xorg, avahi, qt5, +{ stdenv, fetchFromGitHub, cmake, curl, xorg, avahi, qtbase, mkDerivation, avahiWithLibdnssdCompat ? avahi.override { withLibdnssdCompat = true; } }: -stdenv.mkDerivation rec { - name = "barrier-${version}"; - version = "2.1.1"; - src = fetchurl { - url = "https://github.com/debauchee/barrier/archive/v${version}.tar.gz"; - sha256 = "0x17as5ikfx2r5hawr368a9risvcavyc8zv5g724s709nr6m0pbp"; +mkDerivation rec { + pname = "barrier"; + version = "2.3.1"; + + src = fetchFromGitHub { + owner = "debauchee"; + repo = pname; + rev = "v${version}"; + sha256 = "1dakpgs4jcwg06f45xg6adc83jd2qnpywmjm1z7g0hzd2vd0qg4k"; }; - buildInputs = [ cmake curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat ]; - propagatedBuildInputs = with qt5; [ qtbase ]; - - patches = [ - # Fix compilation on Qt 5.11 - # Patch should be removed on next version bump from 2.1.1! - (fetchpatch { - url = "https://github.com/debauchee/barrier/commit/a956cad0da23f544b874888c6c3540dc7f8f22cf.patch"; - sha256 = "0x5045bdks1f9casp0v7svx9ml1gxhkhw5sqc7xk36h184m24a21"; - }) - ]; + buildInputs = [ cmake curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ]; postFixup = '' substituteInPlace "$out/share/applications/barrier.desktop" --replace "Exec=barrier" "Exec=$out/bin/barrier" diff --git a/pkgs/applications/misc/bashSnippets/default.nix b/pkgs/applications/misc/bashSnippets/default.nix index fc5fa4d0300..b0af34ec760 100644 --- a/pkgs/applications/misc/bashSnippets/default.nix +++ b/pkgs/applications/misc/bashSnippets/default.nix @@ -12,7 +12,8 @@ let ]; in stdenv.mkDerivation { - name = "bashSnippets-${version}"; + pname = "bashSnippets"; + inherit version; src = fetchFromGitHub { owner = "alexanderepstein"; diff --git a/pkgs/applications/misc/batti/default.nix b/pkgs/applications/misc/batti/default.nix index 283e7f19907..8b994c55de3 100644 --- a/pkgs/applications/misc/batti/default.nix +++ b/pkgs/applications/misc/batti/default.nix @@ -1,24 +1,24 @@ { stdenv, fetchurl , pkgconfig, gettext, pythonPackages -, gtk2, gdk_pixbuf, upower +, gtk2, gdk-pixbuf, upower , makeWrapper }: let inherit (pythonPackages) dbus-python pygtk python; in stdenv.mkDerivation rec { - name = "batti-${version}"; + pname = "batti"; version = "0.3.8"; src = fetchurl { - url = "https://batti-gtk.googlecode.com/files/${name}.tar.gz"; + url = "https://batti-gtk.googlecode.com/files/${pname}-${version}.tar.gz"; sha256 = "072d92gpsiiin631589nj77i2w1425p6db0qxyml7myscfy9jgx6"; }; buildInputs = with stdenv.lib; - [ pkgconfig gettext python gtk2 pygtk dbus-python gdk_pixbuf upower makeWrapper ]; + [ pkgconfig gettext python gtk2 pygtk dbus-python gdk-pixbuf upower makeWrapper ]; - configurePhase = "true"; + dontConfigure = true; buildPhase = '' python setup.py build @@ -44,7 +44,7 @@ in stdenv.mkDerivation rec { license = licenses.lgpl2Plus; maintainers = [ maintainers.AndersonTorres ]; platforms = platforms.linux; - broken = true; # see https://github.com/NixOS/nixpkgs/pull/4031#issuecomment-56283520 + broken = true; # see https://github.com/NixOS/nixpkgs/pull/4031#issuecomment-56283520 }; } diff --git a/pkgs/applications/misc/bb/default.nix b/pkgs/applications/misc/bb/default.nix index f085e4bd7dd..06df1df9f76 100644 --- a/pkgs/applications/misc/bb/default.nix +++ b/pkgs/applications/misc/bb/default.nix @@ -1,11 +1,11 @@ { stdenv, lib, fetchurl, darwin, aalib, ncurses, xorg, libmikmod }: stdenv.mkDerivation rec { - name = "bb-${version}"; + pname = "bb"; version = "1.3rc1"; src = fetchurl { - url = "mirror://sourceforge/aa-project/bb/${version}/${name}.tar.gz"; + url = "mirror://sourceforge/aa-project/bb/${version}/${pname}-${version}.tar.gz"; sha256 = "1i411glxh7g4pfg4gw826lpwngi89yrbmxac8jmnsfvrfb48hgbr"; }; diff --git a/pkgs/applications/misc/bemenu/default.nix b/pkgs/applications/misc/bemenu/default.nix new file mode 100644 index 00000000000..89c32668be9 --- /dev/null +++ b/pkgs/applications/misc/bemenu/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, cairo, cmake, libxkbcommon +, pango, fribidi, harfbuzz, pcre, pkgconfig +, ncursesSupport ? true, ncurses ? null +, waylandSupport ? true, wayland ? null +, x11Support ? true, xlibs ? null, xorg ? null +}: + +assert ncursesSupport -> ncurses != null; +assert waylandSupport -> wayland != null; +assert x11Support -> xlibs != null && xorg != null; + +stdenv.mkDerivation rec { + pname = "bemenu"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "Cloudef"; + repo = "bemenu"; + rev = "33e540a2b04ce78f5c7ab4a60b899c67f586cc32"; + sha256 = "11h55m9dx6ai12pqij52ydjm36dvrcc856pa834njihrp626pl4w"; + }; + + nativeBuildInputs = [ cmake pkgconfig pcre ]; + + buildInputs = with stdenv.lib; [ + cairo + fribidi + harfbuzz + libxkbcommon + pango + ] ++ optionals ncursesSupport [ ncurses ] + ++ optionals waylandSupport [ wayland ] + ++ optionals x11Support [ + xlibs.libX11 xlibs.libXinerama xlibs.libXft + xorg.libXdmcp xorg.libpthreadstubs xorg.libxcb + ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/Cloudef/bemenu"; + description = "Dynamic menu library and client program inspired by dmenu"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ thiagokokada ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/applications/misc/bibletime/default.nix b/pkgs/applications/misc/bibletime/default.nix index 41184d6e949..a3f0a3b84f2 100644 --- a/pkgs/applications/misc/bibletime/default.nix +++ b/pkgs/applications/misc/bibletime/default.nix @@ -4,10 +4,10 @@ stdenv.mkDerivation rec { version = "2.10.1"; - name = "bibletime-${version}"; + pname = "bibletime"; src = fetchurl { - url = "mirror://sourceforge/bibletime/${name}.tar.xz"; + url = "mirror://sourceforge/bibletime/${pname}-${version}.tar.xz"; sha256 = "14fayy5h1ffjxin669q56fflxn4ij1irgn60cygwx2y02cwxbll6"; }; diff --git a/pkgs/applications/misc/bicon/default.nix b/pkgs/applications/misc/bicon/default.nix new file mode 100644 index 00000000000..22eb3e3d859 --- /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 3245a56e9de..090cb2f519e 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 @@ -10,13 +10,13 @@ let in buildPythonApplication { - name = "bitcoinarmory-${version}"; + pname = "bitcoinarmory"; + inherit version; src = fetchFromGitHub { owner = "goatpig"; repo = "BitcoinArmory"; rev = "v${version}"; - #sha256 = "023c7q1glhrkn4djz3pf28ckd1na52lsagv4iyfgchqvw7qm7yx2"; sha256 = "0pjk5qx16n3kvs9py62666qkwp2awkgd87by4karbj7vk6p1l14h"; fetchSubmodules = true; }; @@ -25,14 +25,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 f0dce54675c..3f13972de9b 100644 --- a/pkgs/applications/misc/bleachbit/default.nix +++ b/pkgs/applications/misc/bleachbit/default.nix @@ -1,27 +1,27 @@ -{ 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; - - postInstall = '' - mkdir -p $out/bin - cp bleachbit.py $out/bin/bleachbit - chmod +x $out/bin/bleachbit - - substituteInPlace $out/bin/bleachbit --replace "#!/usr/bin/env python" "#!${pythonPackages.python.interpreter}" + # 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' {} \; ''; + dontBuild = true; + + installFlags = [ "prefix=${placeholder "out"}" ]; + propagatedBuildInputs = with pythonPackages; [ pygtk ]; meta = { diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index 353cf620ee7..3b98114c710 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -1,8 +1,8 @@ { 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 +, libtiff, libGLU_combined, openal, opencolorio, openexr, openimageio, openjpeg_1, python3Packages +, zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath , jackaudioSupport ? false, libjack2 , cudaSupport ? config.cudaSupport or false, cudatoolkit , colladaSupport ? true, opencollada @@ -11,18 +11,20 @@ with lib; -let python = pythonPackages.python; in +let python = python3Packages.python; in stdenv.mkDerivation rec { - name = "blender-2.79b"; + pname = "blender"; + version = "2.80"; src = fetchurl { - url = "https://download.blender.org/source/${name}.tar.gz"; - sha256 = "1g4kcdqmf67srzhi3hkdnr4z1ph4h9sza1pahz38mrj998q4r52c"; + url = "https://download.blender.org/source/${pname}-${version}.tar.gz"; + sha256 = "1h550jisdbis50hxwk5kxrvrk1a6sh2fsri3yyj66vhzbi87x7fd"; }; + nativeBuildInputs = [ cmake ] ++ optional cudaSupport addOpenGLRunpath; buildInputs = - [ boost cmake ffmpeg gettext glew ilmbase + [ boost ffmpeg gettext glew ilmbase libXi libX11 libXext libXrender freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU_combined openal opencolorio openexr openimageio openjpeg_1 python zlib fftw jemalloc @@ -35,7 +37,6 @@ stdenv.mkDerivation rec { postPatch = '' - substituteInPlace doc/manpage/blender.1.py --replace /usr/bin/python ${python}/bin/python3 substituteInPlace extern/clew/src/clew.c --replace '"libOpenCL.so"' '"${ocl-icd}/lib/libOpenCL.so"' ''; @@ -46,10 +47,7 @@ stdenv.mkDerivation rec { "-DWITH_INSTALL_PORTABLE=OFF" "-DWITH_FFTW3=ON" #"-DWITH_SDL=ON" - "-DWITH_GAMEENGINE=ON" "-DWITH_OPENCOLORIO=ON" - "-DWITH_SYSTEM_OPENJPEG=ON" - "-DWITH_PLAYER=ON" "-DWITH_OPENSUBDIV=ON" "-DPYTHON_LIBRARY=${python.libPrefix}m" "-DPYTHON_LIBPATH=${python}/lib" @@ -57,13 +55,10 @@ stdenv.mkDerivation rec { "-DPYTHON_VERSION=${python.pythonVersion}" "-DWITH_PYTHON_INSTALL=OFF" "-DWITH_PYTHON_INSTALL_NUMPY=OFF" + "-DPYTHON_NUMPY_PATH=${python3Packages.numpy}/${python.sitePackages}" ] ++ optional jackaudioSupport "-DWITH_JACK=ON" - ++ optionals cudaSupport - [ "-DWITH_CYCLES_CUDA_BINARIES=ON" - # Disable architectures before sm_30 to support new CUDA toolkits. - "-DCYCLES_CUDA_BINARIES_ARCH=sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61" - ] + ++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON" ++ optional colladaSupport "-DWITH_OPENCOLLADA=ON"; NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}"; @@ -77,9 +72,18 @@ stdenv.mkDerivation rec { postInstall = optionalString enableNumpy '' wrapProgram $out/bin/blender \ - --prefix PYTHONPATH : ${pythonPackages.numpy}/${python.sitePackages} + --prefix PYTHONPATH : ${python3Packages.numpy}/${python.sitePackages} ''; + # Set RUNPATH so that libcuda and libnvrtc in /run/opengl-driver(-32)/lib can be + # found. See the explanation in libglvnd. + postFixup = optionalString cudaSupport '' + for program in $out/bin/blender $out/bin/.blender-wrapped; do + isELF "$program" || continue + addOpenGLRunpath "$program" + done + ''; + meta = with stdenv.lib; { description = "3D Creation/Animation/Publishing System"; homepage = https://www.blender.org; diff --git a/pkgs/applications/misc/brewtarget/default.nix b/pkgs/applications/misc/brewtarget/default.nix new file mode 100644 index 00000000000..11824503450 --- /dev/null +++ b/pkgs/applications/misc/brewtarget/default.nix @@ -0,0 +1,38 @@ +{ lib +, mkDerivation +, fetchFromGitHub +, bash +, cmake +, qtbase +, qttools +, qtmultimedia +, qtwebkit +, qtsvg +}: + +mkDerivation rec { + pname = "brewtarget"; + version = "2.3.1"; + + src = fetchFromGitHub { + owner = "Brewtarget"; + repo = pname; + rev = "v${version}"; + sha256 = "14xmm6f8xmvypagx4qdw8q9llzmyi9zzfhnzh4kbbflhjbcr7isz"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ qtbase qttools qtmultimedia qtwebkit qtsvg ]; + + preConfigure = '' + chmod +x configure + substituteInPlace configure --replace /bin/bash "${bash}/bin/bash" + ''; + + meta = with lib; { + description = "Open source beer recipe creation tool"; + homepage = "http://www.brewtarget.org/"; + license = licenses.gpl3; + maintainers = [ maintainers.mmahut ]; + }; +} diff --git a/pkgs/applications/misc/buku/default.nix b/pkgs/applications/misc/buku/default.nix index 0a1275cb17a..60ade661cff 100644 --- a/pkgs/applications/misc/buku/default.nix +++ b/pkgs/applications/misc/buku/default.nix @@ -1,14 +1,14 @@ -{ stdenv, python3, fetchFromGitHub, fetchpatch }: +{ stdenv, python3, fetchFromGitHub }: with python3.pkgs; buildPythonApplication rec { - version = "4.1"; + version = "4.2.2"; pname = "buku"; src = fetchFromGitHub { owner = "jarun"; repo = "buku"; rev = "v${version}"; - sha256 = "166l1fmpqn4hys4l0ssc4yd590mmav1w62vm9l5ijhjhmlnrzfax"; + sha256 = "1wy5i1av1s98yr56ybiq66kv0vg48zci3fp91zfgj04nh2966w1w"; }; checkInputs = [ @@ -18,6 +18,7 @@ with python3.pkgs; buildPythonApplication rec { pylint flake8 pyyaml + mypy_extensions ]; propagatedBuildInputs = [ @@ -69,7 +70,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 fd65fcd2260..402198a9732 100644 --- a/pkgs/applications/misc/calcurse/default.nix +++ b/pkgs/applications/misc/calcurse/default.nix @@ -1,25 +1,21 @@ { stdenv, fetchurl, ncurses, gettext, python3, python3Packages, makeWrapper }: stdenv.mkDerivation rec { - name = "calcurse-${version}"; - version = "4.3.0"; + pname = "calcurse"; + version = "4.5.0"; src = fetchurl { - url = "https://calcurse.org/files/${name}.tar.gz"; - sha256 = "16jzg0nasnxdlz23i121x41pq5kbxmjzk52c5d863rg117fc7v1i"; + url = "https://calcurse.org/files/${pname}-${version}.tar.gz"; + sha256 = "1vjwcmp51h7dsvwn0qx93w9chp3wp970v7d9mjhk7jyamcbfywn3"; }; - buildInputs = [ ncurses gettext python3 ]; + buildInputs = [ ncurses gettext python3 python3Packages.wrapPython ]; nativeBuildInputs = [ makeWrapper ]; - # Build Python environment with httplib2 for calcurse-caldav - pythonEnv = python3Packages.python.buildEnv.override { - extraLibs = [ python3Packages.httplib2 ]; - }; - propagatedBuildInputs = [ pythonEnv ]; - postInstall = '' - substituteInPlace $out/bin/calcurse-caldav --replace /usr/bin/python3 ${pythonEnv}/bin/python3 + patchShebangs . + buildPythonPath ${python3Packages.httplib2} + patchPythonScript $out/bin/calcurse-caldav ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index b52156beac6..b4c8bbb3f31 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 +{ stdenv, mkDerivation, fetchurl, poppler_utils, pkgconfig, libpng , imagemagick, libjpeg, fontconfig, podofo, qtbase, qmake, icu, sqlite -, makeWrapper, unrarSupport ? false, chmlib, python2Packages, libusb1, libmtp -, xdg_utils, makeDesktopItem, wrapGAppsHook, removeReferencesTo +, unrarSupport ? false, chmlib, python2Packages, libusb1, libmtp +, xdg_utils, makeDesktopItem, wrapGAppsHook, removeReferencesTo, qt5 }: -stdenv.mkDerivation rec { - version = "3.39.1"; - name = "calibre-${version}"; +mkDerivation rec { + pname = "calibre"; + version = "3.47.0"; src = fetchurl { - url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz"; - sha256 = "08c1wsdn0giv9zfb6bis9bbrw687rci8fs26qsal8ijmjk55dfsh"; + url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz"; + sha256 = "0mjj47w9pa7ihycialijrfq2qk107dcxwcwriz3b2mg4lixlawy4"; }; patches = [ @@ -35,15 +35,15 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ makeWrapper pkgconfig qmake removeReferencesTo ]; + nativeBuildInputs = [ pkgconfig qmake removeReferencesTo wrapGAppsHook ]; buildInputs = [ poppler_utils libpng imagemagick libjpeg - fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils wrapGAppsHook + fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils ] ++ (with python2Packages; [ apsw cssselect css-parser dateutil dnspython html5-parser lxml mechanize netifaces pillow python pyqt5_with_qtwebkit sip - regex msgpack + regex msgpack beautifulsoup4 # the following are distributed with calibre, but we use upstream instead odfpy ]); @@ -70,11 +70,6 @@ stdenv.mkDerivation rec { sed -i "s/env python[0-9.]*/python/" $PYFILES sed -i "2i import sys; sys.argv[0] = 'calibre'" $out/bin/calibre - for a in $out/bin/*; do - wrapProgram $a --prefix PYTHONPATH : $PYTHONPATH \ - --prefix PATH : ${poppler_utils.out}/bin - done - # Replace @out@ by the output path. mkdir -p $out/share/applications/ cp {$calibreDesktopItem,$ebookEditDesktopItem,$ebookViewerDesktopItem}/share/applications/* $out/share/applications/ @@ -88,11 +83,23 @@ stdenv.mkDerivation rec { runHook postInstall ''; + # Wrap manually + dontWrapQtApps = true; + dontWrapGApps = true; + # 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 + + for program in $out/bin/*; do + wrapProgram $program \ + ''${qtWrapperArgs[@]} \ + ''${gappsWrapperArgs[@]} \ + --prefix PYTHONPATH : $PYTHONPATH \ + --prefix PATH : ${poppler_utils.out}/bin + done ''; disallowedReferences = [ podofo.dev ]; diff --git a/pkgs/applications/misc/candle/default.nix b/pkgs/applications/misc/candle/default.nix new file mode 100644 index 00000000000..77cabc409c7 --- /dev/null +++ b/pkgs/applications/misc/candle/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, qtbase, qtserialport, qmake }: + +stdenv.mkDerivation rec { + pname = "candle"; + 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 index 9b219270809..40dbfea9801 100644 --- a/pkgs/applications/misc/cardpeek/default.nix +++ b/pkgs/applications/misc/cardpeek/default.nix @@ -1,10 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, pkgconfig, autoreconfHook, +{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, glib, gtk3, pcsclite, lua5_2, curl, readline }: let version = "0.8.4"; in stdenv.mkDerivation { - name = "cardpeek-${version}"; + pname = "cardpeek"; + inherit version; src = fetchFromGitHub { owner = "L1L1"; diff --git a/pkgs/applications/misc/cataract/build.nix b/pkgs/applications/misc/cataract/build.nix index f2aac4326cb..dae6e404a9d 100644 --- a/pkgs/applications/misc/cataract/build.nix +++ b/pkgs/applications/misc/cataract/build.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { inherit version; - name = "cataract-${version}"; + pname = "cataract"; src = fetchgit { url = "git://git.bzatek.net/cataract"; @@ -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/cbatticon/default.nix b/pkgs/applications/misc/cbatticon/default.nix index f4ba30080f7..44612644359 100644 --- a/pkgs/applications/misc/cbatticon/default.nix +++ b/pkgs/applications/misc/cbatticon/default.nix @@ -1,32 +1,31 @@ { stdenv, fetchFromGitHub, pkgconfig, gettext, glib, gtk3, libnotify }: stdenv.mkDerivation rec { - - name = "cbatticon-${version}"; - version = "1.6.8"; + pname = "cbatticon"; + version = "1.6.9"; src = fetchFromGitHub { owner = "valr"; - repo = "cbatticon"; + repo = pname; rev = version; - sha256 = "16g26vin1693dbdr9qsnw36fdchx394lp79gvp7gcbw0w1ny9av6"; + sha256 = "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf"; }; - patchPhase = '' - sed -i -e 's/ -Wno-format//g' Makefile - ''; - - makeFlags = "PREFIX=$(out)"; - nativeBuildInputs = [ pkgconfig gettext ]; buildInputs = [ glib gtk3 libnotify ]; + patchPhase = '' + sed -i -e 's/ -Wno-format//g' Makefile + ''; + + makeFlags = "PREFIX=${placeholder "out"}"; + meta = with stdenv.lib; { description = "Lightweight and fast battery icon that sits in the system tray"; homepage = https://github.com/valr/cbatticon; license = licenses.gpl2; - maintainers = [ maintainers.domenkozar ]; platforms = platforms.linux; + maintainers = [ maintainers.domenkozar ]; }; } diff --git a/pkgs/applications/misc/cdrtools/default.nix b/pkgs/applications/misc/cdrtools/default.nix index a46565eb76b..20bfe727f6d 100644 --- a/pkgs/applications/misc/cdrtools/default.nix +++ b/pkgs/applications/misc/cdrtools/default.nix @@ -1,24 +1,24 @@ -{ stdenv, fetchurl, acl, libcap }: +{ stdenv, fetchurl, acl, libcap, Carbon, IOKit }: stdenv.mkDerivation rec { - name = "cdrtools-${version}"; + pname = "cdrtools"; version = "3.02a06"; src = fetchurl { - url = "mirror://sourceforge/cdrtools/${name}.tar.bz2"; + url = "mirror://sourceforge/cdrtools/${pname}-${version}.tar.bz2"; sha256 = "1cayhfbhj5g2vgmkmq5scr23k0ka5fsn0dhn0n9yllj386csnygd"; }; patches = [ ./fix-paths.patch ]; - buildInputs = [ acl libcap ]; + buildInputs = if stdenv.isDarwin then [ Carbon IOKit ] else [ acl libcap ]; postPatch = '' sed "/\.mk3/d" -i libschily/Targets.man substituteInPlace man/Makefile --replace "man4" "" ''; - configurePhase = "true"; + dontConfigure = true; GMAKE_NOWARN = true; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { homepage = https://sourceforge.net/projects/cdrtools/; description = "Highly portable CD/DVD/BluRay command line recording software"; license = with licenses; [ gpl2 lgpl2 cddl ]; - platforms = platforms.linux; + platforms = with platforms; linux ++ darwin; # Licensing issues: This package contains code licensed under CDDL, GPL2 # and LGPL2. There is a debate regarding the legality of distributing this # package in binary form. diff --git a/pkgs/applications/misc/cgminer/default.nix b/pkgs/applications/misc/cgminer/default.nix index ee3e2a955d3..04f32a67b84 100644 --- a/pkgs/applications/misc/cgminer/default.nix +++ b/pkgs/applications/misc/cgminer/default.nix @@ -1,9 +1,9 @@ { fetchgit, stdenv, pkgconfig, libtool, autoconf, automake -, curl, ncurses, amdappsdk, amdadlsdk, xorg, jansson }: +, curl, ncurses, ocl-icd, opencl-headers, xorg, jansson }: stdenv.mkDerivation rec { version = "3.7.2"; - name = "cgminer-${version}"; + pname = "cgminer"; src = fetchgit { url = "https://github.com/ckolivas/cgminer.git"; @@ -13,17 +13,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - autoconf automake libtool curl ncurses amdappsdk amdadlsdk + autoconf automake libtool curl ncurses ocl-icd opencl-headers xorg.libX11 xorg.libXext xorg.libXinerama jansson ]; configureScript = "./autogen.sh"; configureFlags = [ "--enable-scrypt" "--enable-opencl" ]; NIX_LDFLAGS = "-lgcc_s -lX11 -lXext -lXinerama"; - preConfigure = '' - ln -s ${amdadlsdk}/include/* ADL_SDK/ - ''; - postBuild = '' gcc api-example.c -o cgminer-api ''; diff --git a/pkgs/applications/misc/cheat/default.nix b/pkgs/applications/misc/cheat/default.nix index 1a162aca0d7..357dd9bcb8a 100644 --- a/pkgs/applications/misc/cheat/default.nix +++ b/pkgs/applications/misc/cheat/default.nix @@ -1,30 +1,36 @@ -{ stdenv, python3Packages, fetchFromGitHub }: +{ stdenv, python3, fetchFromGitHub }: -with python3Packages; +with python3.pkgs; buildPythonApplication rec { - name = "${pname}-${version}"; pname = "cheat"; - version = "2.3.1"; + version = "2.5.1"; - propagatedBuildInputs = [ docopt pygments ]; + propagatedBuildInputs = [ docopt pygments termcolor ]; src = fetchFromGitHub { owner = "chrisallenlane"; repo = "cheat"; rev = version; - sha256 = "1dcpjvbv648r8325qjf30m8b4cyrrjbzc2kvh40zy2mbjsa755zr"; + 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 78059191c2c..856853e3b1c 100644 --- a/pkgs/applications/misc/cherrytree/default.nix +++ b/pkgs/applications/misc/cherrytree/default.nix @@ -3,12 +3,12 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "cherrytree-${version}"; - version = "0.38.7"; + pname = "cherrytree"; + version = "0.38.8"; src = fetchurl { - url = "https://www.giuspen.com/software/${name}.tar.xz"; - sha256 = "1ls7vz993hj5gd99imlrzahxznfg6fa4n77ikkj79va4csw9b892"; + url = "https://www.giuspen.com/software/${pname}-${version}.tar.xz"; + sha256 = "1ns87xl2sgrf3nha4xkhp0xcxlycqszlp6xdrn95lg6vzm0fa8dg"; }; buildInputs = with pythonPackages; diff --git a/pkgs/applications/misc/cli-visualizer/default.nix b/pkgs/applications/misc/cli-visualizer/default.nix index 7aecc8f823e..4986661e2f6 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"; - name = "cli-visualizer-${version}"; + version = "1.8"; + pname = "cli-visualizer"; 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/clight/clightd.nix b/pkgs/applications/misc/clight/clightd.nix new file mode 100644 index 00000000000..43ff1d73f78 --- /dev/null +++ b/pkgs/applications/misc/clight/clightd.nix @@ -0,0 +1,75 @@ +{ lib, stdenv, fetchFromGitHub +, dbus, cmake, pkgconfig +, glib, udev, polkit, libmodule +, pcre, libXdmcp, utillinux, libpthreadstubs +, enableDdc ? true, ddcutil +, enableDpms ? true, libXext +, enableGamma ? true, libXrandr +, enableScreen ? true }: + +stdenv.mkDerivation rec { + pname = "clightd"; + version = "3.4"; + + src = fetchFromGitHub { + owner = "FedeDP"; + repo = "Clightd"; + rev = version; + sha256 = "0g6kawizwfhvigkwm7rbfq6rg872xn8igy8n355w4d7mmcxk0jf8"; + }; + + # dbus-1.pc has datadir=/etc + SYSTEM_BUS_DIR = "${placeholder "out"}/share/dbus-1/system-services"; + # systemd.pc has prefix=${systemd.out} + MODULE_LOAD_DIR = "${placeholder "out"}/lib/modules-load.d"; + # polkit-gobject-1.pc has prefix=${polkit.out} + POLKIT_ACTION_DIR = "${placeholder "out"}/share/polkit-1/actions"; + + postPatch = '' + sed -i "s@/etc@$out\0@" CMakeLists.txt + sed -i "s@pkg_get_variable(SYSTEM_BUS_DIR.*@set(SYSTEM_BUS_DIR $SYSTEM_BUS_DIR)@" CMakeLists.txt + sed -i "s@pkg_get_variable(MODULE_LOAD_DIR.*@set(MODULE_LOAD_DIR $MODULE_LOAD_DIR)@" CMakeLists.txt + sed -i "s@pkg_get_variable(POLKIT_ACTION_DIR.*@set(POLKIT_ACTION_DIR $POLKIT_ACTION_DIR)@" CMakeLists.txt + ''; + + cmakeFlags = with lib; + optional enableDdc "-DENABLE_DDC=1" + ++ optional enableDpms "-DENABLE_DPMS=1" + ++ optional enableGamma "-DENABLE_GAMMA=1" + ++ optional enableScreen "-DENABLE_SCREEN=1"; + + nativeBuildInputs = [ + dbus + cmake + pkgconfig + ]; + + buildInputs = with lib; [ + glib + udev + polkit + libmodule + + pcre + libXdmcp + utillinux + libpthreadstubs + ] ++ optional enableDdc ddcutil + ++ optional enableDpms libXext + ++ optional enableGamma libXrandr; + + postInstall = '' + mkdir -p $out/bin + ln -svT $out/lib/clightd/clightd $out/bin/clightd + ''; + + meta = with lib; { + description = "Linux bus interface that changes screen brightness/temperature"; + homepage = https://github.com/FedeDP/Clightd; + platforms = platforms.linux; + license = licenses.gpl3; + maintainers = with maintainers; [ + eadwu + ]; + }; +} diff --git a/pkgs/applications/misc/clight/default.nix b/pkgs/applications/misc/clight/default.nix new file mode 100644 index 00000000000..829fd4e1223 --- /dev/null +++ b/pkgs/applications/misc/clight/default.nix @@ -0,0 +1,57 @@ +{ lib, stdenv, fetchFromGitHub +, dbus, cmake, pkgconfig, bash-completion +, gsl, popt, clightd, systemd, libconfig +, withGeoclue ? true, geoclue2 +, withUpower ? true, upower }: + +stdenv.mkDerivation rec { + pname = "clight"; + version = "3.1"; + + src = fetchFromGitHub { + owner = "FedeDP"; + repo = "Clight"; + rev = version; + sha256 = "0rzcr1x9h4llnmklhgzs9r7xwhsrw1qkqvfffkp8fs90nycaqx81"; + }; + + # bash-completion.pc completionsdir=${bash-completion.out} + COMPLETIONS_DIR = "${placeholder "out"}/share/bash-completions/completions"; + # dbus-1.pc has datadir=/etc + SESSION_BUS_DIR = "${placeholder "out"}/share/dbus-1/services"; + + postPatch = '' + sed -i "s@/usr@$out@" CMakeLists.txt + sed -i "s@/etc@$out\0@" CMakeLists.txt + sed -i "s@pkg_get_variable(COMPLETIONS_DIR.*@set(COMPLETIONS_DIR $COMPLETIONS_DIR)@" CMakeLists.txt + sed -i "s@pkg_get_variable(SESSION_BUS_DIR.*@set(SESSION_BUS_DIR $SESSION_BUS_DIR)@" CMakeLists.txt + ''; + + nativeBuildInputs = [ + dbus + cmake + pkgconfig + bash-completion + ]; + + buildInputs = with lib; [ + gsl + popt + upower + clightd + systemd + geoclue2 + libconfig + ] ++ optional withGeoclue geoclue2 + ++ optional withUpower upower; + + meta = with lib; { + description = "A C daemon that turns your webcam into a light sensor"; + homepage = https://github.com/FedeDP/Clight; + platforms = platforms.linux; + license = licenses.gpl3; + maintainers = with maintainers; [ + eadwu + ]; + }; +} diff --git a/pkgs/applications/misc/clipit/default.nix b/pkgs/applications/misc/clipit/default.nix index 4477cbbcc06..693ce84c97a 100644 --- a/pkgs/applications/misc/clipit/default.nix +++ b/pkgs/applications/misc/clipit/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, intltool, pkgconfig, gtk2, xdotool, hicolor-icon-theme }: stdenv.mkDerivation rec { - name = "clipit-${version}"; + pname = "clipit"; version = "1.4.2"; src = fetchurl { - url = "https://github.com/downloads/shantzu/ClipIt/${name}.tar.gz"; + url = "https://github.com/downloads/shantzu/ClipIt/${pname}-${version}.tar.gz"; sha256 = "0jrwn8qfgb15rwspdp1p8hb1nc0ngmpvgr87d4k3lhlvqg2cfqva"; }; diff --git a/pkgs/applications/misc/clipmenu/default.nix b/pkgs/applications/misc/clipmenu/default.nix index 7a47a0e3bc0..7577c0a3db9 100644 --- a/pkgs/applications/misc/clipmenu/default.nix +++ b/pkgs/applications/misc/clipmenu/default.nix @@ -1,9 +1,9 @@ -{ clipnotify, makeWrapper, xsel, dmenu2, utillinux, gawk, stdenv, fetchFromGitHub, lib }: +{ clipnotify, makeWrapper, xsel, dmenu, utillinux, gawk, stdenv, fetchFromGitHub, lib }: let - runtimePath = lib.makeBinPath [ clipnotify xsel dmenu2 utillinux gawk ]; + runtimePath = lib.makeBinPath [ clipnotify xsel dmenu utillinux gawk ]; in stdenv.mkDerivation rec { - name = "clipmenu-${version}"; + pname = "clipmenu"; version = "5.6.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/cmatrix/default.nix b/pkgs/applications/misc/cmatrix/default.nix index 28f14cc1435..9a008a886fa 100644 --- a/pkgs/applications/misc/cmatrix/default.nix +++ b/pkgs/applications/misc/cmatrix/default.nix @@ -1,25 +1,24 @@ -{ stdenv, fetchurl, pkgconfig, ncurses }: +{ stdenv, fetchFromGitHub, autoreconfHook, ncurses }: -let - version = "1.2a"; -in with stdenv.lib; stdenv.mkDerivation rec { + pname = "cmatrix"; + version = "2.0"; - name = "cmatrix-${version}"; - - src = fetchurl{ - url = "http://www.asty.org/cmatrix/dist/${name}.tar.gz"; - sha256 = "0k06fw2n8nzp1pcdynhajp5prba03gfgsbj91bknyjr5xb5fd9hz"; + src = fetchFromGitHub { + owner = "abishekvashok"; + repo = "cmatrix"; + rev = "v${version}"; + sha256 = "1h9jz4m4s5l8c3figaq46ja0km1gimrkfxm4dg7mf4s84icmasbm"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ ncurses ]; - meta = { + meta = with stdenv.lib; { description = "Simulates the falling characters theme from The Matrix movie"; longDescription = '' CMatrix simulates the display from "The Matrix" and is based - on the screensaver from the movie's website. + on the screensaver from the movie's website. ''; homepage = http://www.asty.org/cmatrix/; platforms = ncurses.meta.platforms; diff --git a/pkgs/applications/misc/cointop/default.nix b/pkgs/applications/misc/cointop/default.nix index 23d76afff0c..c29d8684c90 100644 --- a/pkgs/applications/misc/cointop/default.nix +++ b/pkgs/applications/misc/cointop/default.nix @@ -1,31 +1,29 @@ -{ stdenv, buildGoPackage, fetchgit }: +{ lib, buildGoModule, fetchFromGitHub }: -buildGoPackage rec { - name = "cointop-unstable-${version}"; - version = "2018-05-03"; - rev = "08acd96082682347d458cd4f861e2debd3255745"; +buildGoModule rec { + pname = "cointop"; + version = "1.3.4"; - goPackagePath = "github.com/miguelmota/cointop"; - - src = fetchgit { - inherit rev; - url = "https://github.com/miguelmota/cointop"; - sha256 = "14savz48wzrfpm12fgnnndpl3mpzx7wsch4jrnm3rmrfdabdx7mi"; + src = fetchFromGitHub { + owner = "miguelmota"; + repo = pname; + rev = version; + sha256 = "0nw6vzp0c5r8bwnlvgzj4hzdah44p5pp03d2bcr1lkw8np8fy65n"; }; - goDeps = ./deps.nix; + modSha256 = "1fg5h689s6r79qa9qsmd8hcvyihfyzlvqrhhk0qyfl528ipi1zwg"; - meta = { + meta = with lib; { description = "The fastest and most interactive terminal based UI application for tracking cryptocurrencies"; longDescription = '' - cointop is a fast and lightweight interactive terminal based UI application - for tracking and monitoring cryptocurrency coin stats in real-time. + cointop is a fast and lightweight interactive terminal based UI + application for tracking and monitoring cryptocurrency coin stats in + real-time. - The interface is inspired by htop and shortcut keys are inspired by vim. + 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 - maintainers = [ ]; - license = stdenv.lib.licenses.asl20; + homepage = "https://cointop.sh"; + maintainers = [ maintainers.marsam ]; + license = licenses.asl20; }; } diff --git a/pkgs/applications/misc/cointop/deps.nix b/pkgs/applications/misc/cointop/deps.nix deleted file mode 100644 index 3ba1d12a804..00000000000 --- a/pkgs/applications/misc/cointop/deps.nix +++ /dev/null @@ -1,3 +0,0 @@ -# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 -[ -] diff --git a/pkgs/applications/misc/confclerk/default.nix b/pkgs/applications/misc/confclerk/default.nix index 3851730c459..b07e0fb8c52 100644 --- a/pkgs/applications/misc/confclerk/default.nix +++ b/pkgs/applications/misc/confclerk/default.nix @@ -2,7 +2,8 @@ let version = "0.6.4"; in stdenv.mkDerivation { - name = "confclerk-${version}"; + pname = "confclerk"; + inherit version; src = fetchurl { url = "https://www.toastfreeware.priv.at/tarballs/confclerk/confclerk-${version}.tar.gz"; diff --git a/pkgs/applications/misc/cool-retro-term/default.nix b/pkgs/applications/misc/cool-retro-term/default.nix index f2372aa51e6..c9dcc97d5cd 100644 --- a/pkgs/applications/misc/cool-retro-term/default.nix +++ b/pkgs/applications/misc/cool-retro-term/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchFromGitHub, qtbase, qtquick1, qmltermwidget +{ stdenv, fetchFromGitHub, mkDerivation, qtbase, qtquick1, qmltermwidget , qtquickcontrols, qtgraphicaleffects, qmake }: -stdenv.mkDerivation rec { +mkDerivation rec { version = "1.1.1"; - name = "cool-retro-term-${version}"; + pname = "cool-retro-term"; src = fetchFromGitHub { owner = "Swordfish90"; diff --git a/pkgs/applications/misc/copyq/default.nix b/pkgs/applications/misc/copyq/default.nix index 5609b6a8beb..2aad4d352c9 100644 --- a/pkgs/applications/misc/copyq/default.nix +++ b/pkgs/applications/misc/copyq/default.nix @@ -4,14 +4,14 @@ }: stdenv.mkDerivation rec { - name = "CopyQ-${version}"; - version = "3.7.3"; + pname = "CopyQ"; + version = "3.9.0"; src = fetchFromGitHub { owner = "hluk"; repo = "CopyQ"; rev = "v${version}"; - sha256 = "1nxxxq0lfs4r673i70dh2xwdn3chcjl913bkz14kyna29i6n1nwm"; + sha256 = "1l9f0hg2ggy944sjlyiyglln5mjm9fvgmvwp3pnvmmc6mfbmslq3"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/misc/cpp-ethereum/default.nix b/pkgs/applications/misc/cpp-ethereum/default.nix index 4d997519246..0e9ff40cffa 100644 --- a/pkgs/applications/misc/cpp-ethereum/default.nix +++ b/pkgs/applications/misc/cpp-ethereum/default.nix @@ -17,7 +17,7 @@ , extraCmakeFlags ? [] }: stdenv.mkDerivation rec { - name = "cpp-ethereum-${version}"; + pname = "cpp-ethereum"; version = "1.3.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/crumbs/default.nix b/pkgs/applications/misc/crumbs/default.nix new file mode 100644 index 00000000000..2d612c16fef --- /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 f8927319a01..72918a40733 100644 --- a/pkgs/applications/misc/ctodo/default.nix +++ b/pkgs/applications/misc/ctodo/default.nix @@ -1,7 +1,7 @@ { stdenv, cmake, fetchurl, ncurses, readline }: stdenv.mkDerivation rec { - name = "ctodo-${version}"; + pname = "ctodo"; version = "1.3"; src = fetchurl { @@ -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/cum/default.nix b/pkgs/applications/misc/cum/default.nix new file mode 100644 index 00000000000..2675a5f4fc5 --- /dev/null +++ b/pkgs/applications/misc/cum/default.nix @@ -0,0 +1,36 @@ +{ stdenv, python3Packages }: + +with python3Packages; + +buildPythonApplication rec { + pname = "cum"; + version = "0.9.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "15qc6agka2g3kcnpnz0hbjic1s3260cr9bda0rlcyninxs1vndq0"; + }; + + propagatedBuildInputs = [ + alembic beautifulsoup4 click natsort requests sqlalchemy + ]; + + # tests seem to fail for `config` not being defined, + # but it works once installed + doCheck = false; + + # remove the top-level `tests` and `LICENSE` file + # they should not be installed, and there can be issues if another package + # has a collision (especially with the license file) + postInstall = '' + rm -rf $out/tests $out/LICENSE + ''; + + meta = with stdenv.lib; { + description = "comic updater, mangafied"; + homepage = "https://github.com/Hamuko/cum"; + license = licenses.asl20; + maintainers = with maintainers; [ tadeokondrak ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix index f7907746d10..084881f75d9 100644 --- a/pkgs/applications/misc/cura/default.nix +++ b/pkgs/applications/misc/cura/default.nix @@ -1,27 +1,27 @@ -{ mkDerivation, lib, fetchFromGitHub, cmake, python3, qtbase, qtquickcontrols2, curaengine }: +{ mkDerivation, lib, fetchFromGitHub, cmake, python3, qtbase, qtquickcontrols2, qtgraphicaleffects, curaengine, plugins ? [] }: mkDerivation rec { - name = "cura-${version}"; - version = "3.6.0"; + pname = "cura"; + version = "4.2.1"; src = fetchFromGitHub { owner = "Ultimaker"; repo = "Cura"; rev = version; - sha256 = "0wzkbqdd1670smw1vnq634rkpcjwnhwcvimhvjq904gy2fylgr90"; + sha256 = "1qnai8vmgy5lx3lapw96j41i8mw9p6r99i3qzs709l9yzrix6l86"; }; materials = fetchFromGitHub { owner = "Ultimaker"; repo = "fdm_materials"; - rev = version; - sha256 = "0g2dkph0ll7d9109n17vmfwb4fpc8lhyb1z1q68j8vblyvg08d12"; + rev = "4.2.0"; # TODO: change back to `version` after 4.2.1 + sha256 = "17x43v0np58qbdfk3wz1k7i9pl0plndx9gmf7y0n23nl9f1qzb0m"; }; - buildInputs = [ qtbase qtquickcontrols2 ]; + buildInputs = [ qtbase qtquickcontrols2 qtgraphicaleffects ]; propagatedBuildInputs = with python3.pkgs; [ libsavitar numpy-stl pyserial requests uranium zeroconf - ]; + ] ++ plugins; nativeBuildInputs = [ cmake python3.pkgs.wrapPython ]; cmakeFlags = [ @@ -29,6 +29,11 @@ mkDerivation rec { "-DCURA_VERSION=${version}" ]; + makeWrapperArgs = [ + # hacky workaround for https://github.com/NixOS/nixpkgs/issues/59901 + "--set OMP_NUM_THREADS 1" + ]; + postPatch = '' sed -i 's,/python''${PYTHON_VERSION_MAJOR}/dist-packages,/python''${PYTHON_VERSION_MAJOR}.''${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt sed -i 's, executable_name = .*, executable_name = "${curaengine}/bin/CuraEngine",' plugins/CuraEngineBackend/CuraEngineBackend.py @@ -37,10 +42,15 @@ mkDerivation rec { postInstall = '' mkdir -p $out/share/cura/resources/materials cp ${materials}/*.fdm_material $out/share/cura/resources/materials/ + mkdir -p $out/lib/cura/plugins + for plugin in ${toString plugins}; do + ln -s $plugin/lib/cura/plugins/* $out/lib/cura/plugins + done ''; postFixup = '' wrapPythonPrograms + wrapQtApp $out/bin/cura ''; meta = with lib; { @@ -48,6 +58,6 @@ mkDerivation rec { homepage = https://github.com/Ultimaker/Cura; license = licenses.lgpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ abbradar ]; + maintainers = with maintainers; [ abbradar gebner ]; }; } diff --git a/pkgs/applications/misc/cura/lulzbot.nix b/pkgs/applications/misc/cura/lulzbot.nix deleted file mode 100644 index f3f1972f6e6..00000000000 --- a/pkgs/applications/misc/cura/lulzbot.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ stdenv, fetchurl, dpkg, bash, python27Packages }: - -let - py = python27Packages; -in -stdenv.mkDerivation rec { - name = "cura-lulzbot-${version}"; - version = "15.02.1-1.03-5064"; - - src = - 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.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.hostPlatform.system}"; - - python_deps = with py; [ pyopengl pyserial numpy wxPython30 power setuptools ]; - pythonPath = python_deps; - propagatedBuildInputs = python_deps; - buildInputs = [ dpkg bash py.wrapPython ]; - - phases = [ "unpackPhase" "installPhase" ]; - unpackPhase = "dpkg-deb -x ${src} ./"; - - installPhase = '' - mkdir -p $out/bin - cp -r usr/share $out/share - find $out/share -type f -exec sed -i 's|/usr/share/cura|$out/share/cura|g' "{}" \; - - cat < $out/bin/cura - #!${bash}/bin/bash - PYTHONPATH=$PYTHONPATH:$out/share/cura ${py.python}/bin/python $out/share/cura/cura.py "\$@" - EOT - - chmod 555 $out/bin/cura - ''; - - meta = with stdenv.lib; { - description = "3D printing host software for the Lulzbot"; - - longDescription = '' - Cura LulzBot Edition is a fork of the 3D printing/slicing - software from Ultimaker, with changes to support 3D printers - from Aleph Objects. - ''; - - homepage = https://www.lulzbot.com/cura/; - license = licenses.agpl3; - platforms = platforms.linux; - maintainers = with maintainers; [ pjones ]; - }; -} diff --git a/pkgs/applications/misc/cura/lulzbot/curaengine.nix b/pkgs/applications/misc/cura/lulzbot/curaengine.nix new file mode 100644 index 00000000000..90f5f307d85 --- /dev/null +++ b/pkgs/applications/misc/cura/lulzbot/curaengine.nix @@ -0,0 +1,26 @@ +{ stdenv, callPackage, fetchgit, fetchpatch, cmake, libarcusLulzbot, stb, protobuf }: + +stdenv.mkDerivation rec { + pname = "curaengine-lulzBot"; + version = "3.6.18"; + + src = fetchgit { + url = https://code.alephobjects.com/source/curaengine-lulzbot.git; + rev = "ec6a1a0f0aa387ef97e5c106633cf8d7fb9cd00d"; + sha256 = "0wdkvg1hmqp1gaym804lw09x4ngf5ffasd861jhflpy7djbmkfn8"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ libarcusLulzbot stb protobuf ]; + + cmakeFlags = [ "-DCURA_ENGINE_VERSION=${version}" ]; + + meta = with stdenv.lib; { + description = "A powerful, fast and robust engine for processing 3D models into 3D printing instruction"; + homepage = https://code.alephobjects.com/source/curaengine-lulzbot/; + license = licenses.agpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ chaduffy ]; + }; +} + diff --git a/pkgs/applications/misc/cura/lulzbot/default.nix b/pkgs/applications/misc/cura/lulzbot/default.nix new file mode 100644 index 00000000000..2d32d1895f9 --- /dev/null +++ b/pkgs/applications/misc/cura/lulzbot/default.nix @@ -0,0 +1,78 @@ +{ lib, callPackage, fetchgit, cmake, jq, python3Packages, qtbase, qtquickcontrols2 }: + +let + # admittedly, we're using (printer firmware) blobs when we could compile them ourselves. + curaBinaryDataVersion = "3.6.18"; # Marlin v2.0.0.144. Keep this accurate wrt. the below. + curaBinaryData = fetchgit { + url = https://code.alephobjects.com/diffusion/CBD/cura-binary-data.git; + rev = "cdc046494bbfe1f65bfb34659a257eef9a0100a0"; + sha256 = "0v0s036gxdjiglas2yzw95alv60sw3pq5k1zrrhmw9mxr4irrblb"; + }; + + libarcusLulzbot = callPackage ./libarcus.nix { + inherit (python3Packages) buildPythonPackage sip pythonOlder; + }; + libsavitarLulzbot = callPackage ./libsavitar.nix { + inherit (python3Packages) buildPythonPackage sip pythonOlder; + }; + + inherit (python3Packages) buildPythonPackage pyqt5 numpy scipy shapely pythonOlder; + curaengine = callPackage ./curaengine.nix { + inherit libarcusLulzbot; + }; + uraniumLulzbot = callPackage ./uranium.nix { + inherit callPackage libarcusLulzbot; + inherit (python3Packages) buildPythonPackage pyqt5 numpy scipy shapely pythonOlder; + }; +in +python3Packages.buildPythonApplication rec { + name = "cura-lulzbot-${version}"; + version = "3.6.18"; + + src = fetchgit { + url = https://code.alephobjects.com/source/cura-lulzbot.git; + rev = "71f1ac5a2b9f535175a3858a565930348358a9ca"; + sha256 = "0by06fpxvdgy858lwhsccbmvkdq67j2s1cz8v6jnrnjrsxk7vzka"; + }; + + format = "other"; # using cmake to build + buildInputs = [ qtbase qtquickcontrols2 ]; + # numpy-stl temporarily disabled due to https://code.alephobjects.com/T8415 + propagatedBuildInputs = with python3Packages; [ pyserial requests zeroconf ] ++ [ libsavitarLulzbot uraniumLulzbot libarcusLulzbot ]; # numpy-stl + nativeBuildInputs = [ cmake python3Packages.wrapPython ]; + + cmakeFlags = [ + "-DURANIUM_DIR=${uraniumLulzbot.src}" + "-DCURA_VERSION=${version}" + ]; + + postPatch = '' + sed -i 's,/python''${PYTHON_VERSION_MAJOR}/dist-packages,/python''${PYTHON_VERSION_MAJOR}.''${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt + sed -i 's, executable_name = .*, executable_name = "${curaengine}/bin/CuraEngine",' plugins/CuraEngineBackend/CuraEngineBackend.py + ''; + + preFixup = '' + substituteInPlace "$out/bin/cura-lulzbot" --replace 'import cura.CuraApplication' 'import Savitar; import cura.CuraApplication' + ln -sT "${curaBinaryData}/cura/resources/firmware" "$out/share/cura/resources/firmware" + ln -sT "${uraniumLulzbot}/share/uranium" "$out/share/uranium" + ${jq}/bin/jq --arg out "$out" '.build=$out' >"$out/version.json" <<'EOF' + ${builtins.toJSON { + cura = version; + cura_version = version; + binarydata = curaBinaryDataVersion; + engine = curaengine.version; + libarcus = libarcusLulzbot.version; + libsavitar = libsavitarLulzbot.version; + uranium = uraniumLulzbot.version; + }} + EOF + ''; + + meta = with lib; { + description = "3D printer / slicing GUI built on top of the Uranium framework"; + homepage = https://code.alephobjects.com/diffusion/CURA/; + license = licenses.agpl3; # a partial relicense to LGPL has happened, but not certain that all AGPL bits are expunged + platforms = platforms.linux; + maintainers = with maintainers; [ chaduffy ]; + }; +} diff --git a/pkgs/applications/misc/cura/lulzbot/libarcus.nix b/pkgs/applications/misc/cura/lulzbot/libarcus.nix new file mode 100644 index 00000000000..589111df78b --- /dev/null +++ b/pkgs/applications/misc/cura/lulzbot/libarcus.nix @@ -0,0 +1,33 @@ +{ stdenv, buildPythonPackage, fetchgit, fetchurl, cmake, sip, protobuf, pythonOlder }: + +buildPythonPackage rec { + pname = "libarcus"; + version = "3.6.18"; + format = "other"; + + src = fetchgit { + url = https://code.alephobjects.com/source/arcus.git; + rev = "c795c0644591703ce04e1fd799fc97b1539031aa"; + sha256 = "1yap9wbqxbjx3kqyqcsldny4mlcm33ywiwpdjlfgs0wjahfg4ip0"; + }; + + disabled = pythonOlder "3.4.0"; + + propagatedBuildInputs = [ sip ]; + nativeBuildInputs = [ cmake ]; + buildInputs = [ protobuf ]; + + postPatch = '' + # To workaround buggy SIP detection which overrides PYTHONPATH + sed -i '/SET(ENV{PYTHONPATH}/d' cmake/FindSIP.cmake + ''; + + meta = with stdenv.lib; { + description = "Communication library between internal components for Ultimaker software"; + homepage = https://code.alephobjects.com/source/arcus/; + license = licenses.lgpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ chaduffy ]; + }; +} + diff --git a/pkgs/applications/misc/cura/lulzbot/libsavitar.nix b/pkgs/applications/misc/cura/lulzbot/libsavitar.nix new file mode 100644 index 00000000000..7a1781f62ce --- /dev/null +++ b/pkgs/applications/misc/cura/lulzbot/libsavitar.nix @@ -0,0 +1,33 @@ +{ stdenv, buildPythonPackage, pythonOlder, fetchgit, cmake, sip }: + +buildPythonPackage rec { + pname = "libsavitar-lulzbot"; + name = "libsavitar-lulzbot"; + version = "3.6.18"; + format = "other"; + + src = fetchgit { + url = https://code.alephobjects.com/source/savitar.git; + rev = "988a26d35b2a1d042f8c38938ccda77ab146af7d"; + sha256 = "146agw3a92azkgs5ahmn2rrck4an78m2r3pcss6ihmb60lx165k7"; + }; + + postPatch = '' + # To workaround buggy SIP detection which overrides PYTHONPATH + sed -i '/SET(ENV{PYTHONPATH}/d' cmake/FindSIP.cmake + ''; + + nativeBuildInputs = [ cmake ]; + + propagatedBuildInputs = [ sip ]; + + disabled = pythonOlder "3.4.0"; + + meta = with stdenv.lib; { + description = "C++ implementation of 3mf loading with SIP python bindings"; + homepage = https://github.com/Ultimaker/libSavitar; + license = licenses.lgpl3Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ chaduffy ]; + }; +} diff --git a/pkgs/applications/misc/cura/lulzbot/uranium-qt512-support.patch b/pkgs/applications/misc/cura/lulzbot/uranium-qt512-support.patch new file mode 100644 index 00000000000..2c666a98c8f --- /dev/null +++ b/pkgs/applications/misc/cura/lulzbot/uranium-qt512-support.patch @@ -0,0 +1,16 @@ +diff --git a/UM/Qt/Bindings/i18nCatalogProxy.py b/UM/Qt/Bindings/i18nCatalogProxy.py +index 7e2bb16c..cec70dd6 100644 +--- a/UM/Qt/Bindings/i18nCatalogProxy.py ++++ b/UM/Qt/Bindings/i18nCatalogProxy.py +@@ -86,9 +86,9 @@ class i18nCatalogProxy(QObject): # [CodeStyle: Ultimaker code style requires cla + # \todo Move this to a more generic place so more things can use it. + def _wrapFunction(self, engine, this_object, function): + # JavaScript code that wraps the Python method call in a closure +- wrap_js = """function(this_object) {{ ++ wrap_js = """(function(this_object) {{ + return function({args}) {{ return this_object.{function}({args}) }} +- }}""" ++ }})""" + + # Get the function name and argument list. + function_name = function.__name__ diff --git a/pkgs/applications/misc/cura/lulzbot/uranium.nix b/pkgs/applications/misc/cura/lulzbot/uranium.nix new file mode 100644 index 00000000000..43869a0edc6 --- /dev/null +++ b/pkgs/applications/misc/cura/lulzbot/uranium.nix @@ -0,0 +1,41 @@ +{ stdenv, callPackage, fetchurl, fetchgit, buildPythonPackage, fetchFromGitHub, python, cmake +, pyqt5, numpy, scipy, shapely, libarcusLulzbot, doxygen, gettext, pythonOlder }: + +buildPythonPackage rec { + version = "3.6.18"; + pname = "uranium"; + name = "uraniumLulzbot"; + format = "other"; + + src = fetchgit { + url = https://code.alephobjects.com/diffusion/U/uranium.git; + rev = "33df88a7414375ac924ac761113baa48d2ced2b4"; + sha256 = "109cbv7y105crbrzfp70lmcr9n20ap5c97i5qd46fmxbx86yj7f8"; + }; + + disabled = pythonOlder "3.5.0"; + + buildInputs = [ python gettext ]; + propagatedBuildInputs = [ pyqt5 numpy scipy shapely libarcusLulzbot ]; + nativeBuildInputs = [ cmake doxygen ]; + + # Qt 5.12+ support; see https://code.alephobjects.com/rU70b73ba0a270799b9eacf78e400aa8b8ab3fb2ee + patches = [ ./uranium-qt512-support.patch ]; + + postPatch = '' + sed -i 's,/python''${PYTHON_VERSION_MAJOR}/dist-packages,/python''${PYTHON_VERSION_MAJOR}.''${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt + sed -i \ + -e "s,Resources.addSearchPath(os.path.join(os.path.abspath(os.path.dirname(__file__)).*,Resources.addSearchPath(\"$out/share/uranium/resources\")," \ + -e "s,self._plugin_registry.addPluginLocation(os.path.join(os.path.abspath(os.path.dirname(__file__)).*,self._plugin_registry.addPluginLocation(\"$out/lib/uranium/plugins\")," \ + UM/Application.py + ''; + + meta = with stdenv.lib; { + description = "A Python framework for building Desktop applications"; + homepage = https://code.alephobjects.com/diffusion/U/; + license = licenses.lgpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ chaduffy ]; + }; +} + diff --git a/pkgs/applications/misc/cura/plugins.nix b/pkgs/applications/misc/cura/plugins.nix new file mode 100644 index 00000000000..bdbf8f24136 --- /dev/null +++ b/pkgs/applications/misc/cura/plugins.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, cmake, python3Packages }: + +let + + self = { + + octoprint = stdenv.mkDerivation rec { + pname = "Cura-OctoPrintPlugin"; + version = "3.5.8"; + + src = fetchFromGitHub { + owner = "fieldOfView"; + repo = pname; + rev = "46548cbb8d32d10fe3aee12f272d5d8f34271738"; + sha256 = "0pllba8qx1746pnf5ccbkqn2j6f8hhknpgyrrv244ykvigrlczx0"; + }; + + nativeBuildInputs = [ cmake ]; + + propagatedBuildInputs = with python3Packages; [ + netifaces + ]; + + meta = with stdenv.lib; { + description = "Enables printing directly to OctoPrint and monitoring the process"; + homepage = "https://github.com/fieldOfView/Cura-OctoPrintPlugin"; + license = licenses.agpl3; + maintainers = with maintainers; [ gebner ]; + }; + }; + + }; + +in self diff --git a/pkgs/applications/misc/cura/stable.nix b/pkgs/applications/misc/cura/stable.nix index a53b001b0e9..1972042f805 100644 --- a/pkgs/applications/misc/cura/stable.nix +++ b/pkgs/applications/misc/cura/stable.nix @@ -4,7 +4,8 @@ let version = "15.04"; in stdenv.mkDerivation rec { - name = "cura-${version}"; + pname = "cura"; + inherit version; src = fetchurl { url = "https://github.com/daid/Cura/archive/${version}.tar.gz"; diff --git a/pkgs/applications/misc/curabydagoma/default.nix b/pkgs/applications/misc/curabydagoma/default.nix index 1ea106d6a18..a367efaaef3 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. @@ -14,7 +14,7 @@ # If, however, someone needs it, we certainly can find a solution. stdenv.mkDerivation rec { - name = "curabydagoma-${version}"; + pname = "curabydagoma"; # Version is the date, UNIX format version = "1520506579"; # Hash of the user's choice: os, arch, package type... @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { mkdir $out/bin cat > $out/bin/curabydago <!'"$out/bin"'/&!g' dmenu_run - ''; - - preConfigure = [ ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'' ]; - - meta = { - description = "A patched fork of the original dmenu - an efficient dynamic menu for X"; - homepage = https://bitbucket.org/melek/dmenu2; - license = licenses.mit; - maintainers = [ maintainers.cstrahan ]; - platforms = platforms.all; - }; -} diff --git a/pkgs/applications/misc/doing/default.nix b/pkgs/applications/misc/doing/default.nix index 0286e38a0ed..20c802a1cbd 100644 --- a/pkgs/applications/misc/doing/default.nix +++ b/pkgs/applications/misc/doing/default.nix @@ -1,8 +1,6 @@ -{ lib, bundlerEnv, ruby +{ lib, bundlerEnv, ruby, bundlerUpdateScript }: -# Bundix: -# nix-shell -p bundix zlib bundlerEnv rec { pname = "doing"; version = (import ./gemset.nix).doing.version; @@ -10,6 +8,8 @@ bundlerEnv rec { inherit ruby; gemdir = ./.; + passthru.updateScript = bundlerUpdateScript "doing"; + meta = with lib; { description = "A command line tool for keeping track of what you’re doing and tracking what you’ve done."; longDescription = '' @@ -17,9 +17,9 @@ bundlerEnv rec { in a TaskPaper-formatted text file. It allows for multiple sections/categories and flexible output formatting. ''; - homepage = http://brettterpstra.com/projects/doing/; + homepage = https://brettterpstra.com/projects/doing/; license = licenses.mit; - maintainers = with maintainers; [ ktf ]; + maintainers = with maintainers; [ ktf nicknovitski ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/misc/doomseeker/default.nix b/pkgs/applications/misc/doomseeker/default.nix index fd08ed9c391..8cfadd77ece 100644 --- a/pkgs/applications/misc/doomseeker/default.nix +++ b/pkgs/applications/misc/doomseeker/default.nix @@ -1,7 +1,7 @@ { stdenv, cmake, fetchFromBitbucket, pkgconfig, qtbase, qttools, qtmultimedia, zlib, bzip2, xxd }: stdenv.mkDerivation rec { - name = "doomseeker-${version}"; + pname = "doomseeker"; version = "2018-03-05"; src = fetchFromBitbucket { diff --git a/pkgs/applications/misc/dotfiles/default.nix b/pkgs/applications/misc/dotfiles/default.nix index 1d3c405b703..5150f13fb80 100644 --- a/pkgs/applications/misc/dotfiles/default.nix +++ b/pkgs/applications/misc/dotfiles/default.nix @@ -2,7 +2,6 @@ pythonPackages.buildPythonApplication rec { pname = "dotfiles"; - name = "${pname}-${version}"; version = "0.6.4"; src = pythonPackages.fetchPypi { diff --git a/pkgs/applications/misc/dozenal/default.nix b/pkgs/applications/misc/dozenal/default.nix index b5ae9fb567c..226bdea0301 100644 --- a/pkgs/applications/misc/dozenal/default.nix +++ b/pkgs/applications/misc/dozenal/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "12010904"; - name = "dozenal-${version}"; + pname = "dozenal"; src = fetchFromGitHub { owner = "dgoodmaniii"; repo = "dozenal"; diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix index b28e7673992..7da2ae421d7 100644 --- a/pkgs/applications/misc/dunst/default.nix +++ b/pkgs/applications/misc/dunst/default.nix @@ -1,25 +1,25 @@ -{ stdenv, fetchFromGitHub, makeWrapper +{ stdenv, lib, fetchFromGitHub, makeWrapper , pkgconfig, which, perl, libXrandr -, cairo, dbus, systemd, gdk_pixbuf, glib, libX11, libXScrnSaver -, libXinerama, libnotify, libxdg_basedir, pango, xorgproto, librsvg, dunstify ? false +, cairo, dbus, systemd, gdk-pixbuf, glib, libX11, libXScrnSaver +, libXinerama, libnotify, pango, xorgproto, librsvg, dunstify ? false }: stdenv.mkDerivation rec { - name = "dunst-${version}"; - version = "1.3.2"; + pname = "dunst"; + version = "1.4.1"; src = fetchFromGitHub { owner = "dunst-project"; repo = "dunst"; rev = "v${version}"; - sha256 = "1kqlshaflp306yrjjmc28pghi1y5p24vdx4bxf8i4n9khdawb514"; + sha256 = "0xjj1f2jr1ja5grj6wrx5jjz1sx5fpqnvkw7nqi4452j3nc4p4l2"; }; nativeBuildInputs = [ perl pkgconfig which systemd makeWrapper ]; buildInputs = [ - cairo dbus gdk_pixbuf glib libX11 libXScrnSaver - libXinerama libnotify libxdg_basedir pango xorgproto librsvg libXrandr + cairo dbus gdk-pixbuf glib libX11 libXScrnSaver + libXinerama libnotify pango xorgproto librsvg libXrandr ]; outputs = [ "out" "man" ]; @@ -33,19 +33,19 @@ stdenv.mkDerivation rec { buildFlags = if dunstify then [ "dunstify" ] else []; - postInstall = stdenv.lib.optionalString dunstify '' + postInstall = lib.optionalString dunstify '' install -Dm755 dunstify $out/bin '' + '' wrapProgram $out/bin/dunst \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" ''; - meta = with stdenv.lib; { + meta = with lib; { description = "Lightweight and customizable notification daemon"; - homepage = https://dunst-project.org/; + homepage = "https://dunst-project.org/"; license = licenses.bsd3; # NOTE: 'unix' or even 'all' COULD work too, I'm not sure platforms = platforms.linux; - maintainers = [ maintainers.domenkozar ]; + maintainers = with maintainers; [ domenkozar ]; }; } diff --git a/pkgs/applications/misc/eaglemode/default.nix b/pkgs/applications/misc/eaglemode/default.nix index 255396a7950..ae83802a7b4 100644 --- a/pkgs/applications/misc/eaglemode/default.nix +++ b/pkgs/applications/misc/eaglemode/default.nix @@ -2,12 +2,12 @@ librsvg, glib, gtk2, libXext, libXxf86vm, poppler, xineLib, ghostscript, makeWrapper }: stdenv.mkDerivation rec { - name = "eaglemode-${version}"; - version = "0.94.0"; + pname = "eaglemode"; + version = "0.94.1"; src = fetchurl { - url = "mirror://sourceforge/eaglemode/${name}.tar.bz2"; - sha256 = "1sr3bd9y9j2svqvdwhrak29yy9cxf92w9vq2cim7a8hzwi9qfy9k"; + url = "mirror://sourceforge/eaglemode/${pname}-${version}.tar.bz2"; + sha256 = "0mpnk0fzy02jxbafipkdkj48m6k38h42j599gw4sdnag7ymlms89"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix index fff67b0add6..9607f428ab9 100644 --- a/pkgs/applications/misc/electron-cash/default.nix +++ b/pkgs/applications/misc/electron-cash/default.nix @@ -1,20 +1,14 @@ -{ stdenv, fetchurl, python3Packages, qtbase, makeWrapper, lib }: - -let - - python = python3Packages.python; - -in +{ lib, fetchurl, python3Packages, qtbase, wrapQtAppsHook }: python3Packages.buildPythonApplication rec { - version = "3.3.2"; - name = "electron-cash-${version}"; + pname = "electron-cash"; + version = "4.0.7"; src = fetchurl { - url = "https://electroncash.org/downloads/${version}/win-linux/ElectronCash-${version}.tar.gz"; + url = "https://electroncash.org/downloads/${version}/win-linux/Electron-Cash-${version}.tar.gz"; # Verified using official SHA-1 and signature from # https://github.com/fyookball/keys-n-hashes - sha256 = "4538044cfaa4f87a847635849e0733f32b183ac79abbd2797689c86dc3cb0d53"; + sha256 = "d63ef2d52cff0b821b745067d752fd0c7f2902fa23eaf8e9392c54864cae5c77"; }; propagatedBuildInputs = with python3Packages; [ @@ -30,6 +24,7 @@ python3Packages.buildPythonApplication rec { qrcode requests tlslite-ng + qdarkstyle # plugins keepkey @@ -37,32 +32,28 @@ python3Packages.buildPythonApplication rec { btchip ]; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ wrapQtAppsHook ]; postPatch = '' - # Remove pyqt5 check - sed -i '/pyqt5/d' setup.py + substituteInPlace contrib/requirements/requirements.txt \ + --replace "qdarkstyle<2.6" "qdarkstyle<3" + + substituteInPlace setup.py \ + --replace "(share_dir" "(\"share\"" ''; - preBuild = '' - 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 - ''; + checkInputs = with python3Packages; [ + pytest + ]; - doCheck = false; + checkPhase = '' + unset HOME + pytest lib/tests + ''; postInstall = '' - # These files are installed under $out/homeless-shelter ... - mv $out/${python.sitePackages}/homeless-shelter/.local/share $out - rm -rf $out/${python.sitePackages}/homeless-shelter - substituteInPlace $out/share/applications/electron-cash.desktop \ - --replace "Exec=electron-cash %u" "Exec=$out/bin/electron-cash %u" - - # Please remove this when #44047 is fixed - wrapProgram $out/bin/electron-cash \ - --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins + --replace "Exec=electron-cash" "Exec=$out/bin/electron-cash" ''; doInstallCheck = true; @@ -70,17 +61,17 @@ python3Packages.buildPythonApplication rec { $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/default.nix b/pkgs/applications/misc/electrum/default.nix index 5f252d97d86..8940c8dfd22 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -1,28 +1,61 @@ -{ stdenv, fetchFromGitHub, python3, python3Packages, zbar, secp256k1 }: +{ stdenv, fetchurl, fetchFromGitHub, wrapQtAppsHook, python3, python3Packages, zbar, secp256k1 +, enableQt ? !stdenv.isDarwin + + +# for updater.nix +, writeScript +, common-updater-scripts +, bash +, coreutils +, curl +, gnugrep +, gnupg +, gnused +, nix +}: let - qdarkstyle = python3Packages.buildPythonPackage rec { - pname = "QDarkStyle"; - version = "2.5.4"; - src = python3Packages.fetchPypi { - inherit pname version; - sha256 = "1w715m1i5pycfqcpkrggpn0rs9cakx6cm5v8rggcxnf4p0i0kdiy"; - }; - doCheck = false; # no tests + version = "3.3.8"; + + libsecp256k1_name = + if stdenv.isLinux then "libsecp256k1.so.0" + else if stdenv.isDarwin then "libsecp256k1.0.dylib" + else "libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}"; + + libzbar_name = + if stdenv.isLinux then "libzbar.so.0" + else "libzbar${stdenv.hostPlatform.extensions.sharedLibrary}"; + + # Not provided in official source releases, which are what upstream signs. + tests = fetchFromGitHub { + owner = "spesmilo"; + repo = "electrum"; + rev = version; + sha256 = "1di8ba77kgapcys0d7h5nx1qqakv3s60c6sp8skw8p69ramsl73c"; + + extraPostFetch = '' + mv $out ./all + mv ./all/electrum/tests $out + ''; }; in python3Packages.buildPythonApplication rec { pname = "electrum"; - version = "3.3.4"; + inherit version; - src = fetchFromGitHub { - owner = "spesmilo"; - repo = "electrum"; - rev = version; - sha256 = "0yxdpc602jnd14xz3px85ka0b6db98zwbgfi9a3vj8p1k3mmiwaj"; + src = fetchurl { + url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; + sha256 = "1g00cj1pmckd4xis8r032wmraiv3vd3zc803hnyxa2bnhj8z3bg2"; }; + postUnpack = '' + # can't symlink, tests get confused + cp -ar ${tests} $sourceRoot/electrum/tests + ''; + + nativeBuildInputs = stdenv.lib.optionals enableQt [ wrapQtAppsHook ]; + propagatedBuildInputs = with python3Packages; [ aiorpcx aiohttp @@ -35,9 +68,7 @@ python3Packages.buildPythonApplication rec { protobuf pyaes pycryptodomex - pyqt5 pysocks - qdarkstyle qrcode requests tlslite-ng @@ -49,22 +80,35 @@ python3Packages.buildPythonApplication rec { # TODO plugins # amodem - ]; + ] ++ stdenv.lib.optionals enableQt [ pyqt5 qdarkstyle ]; preBuild = '' sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.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 - ''; + substituteInPlace ./electrum/ecc_fast.py \ + --replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary} + '' + (if enableQt then '' + substituteInPlace ./electrum/qrscanner.py \ + --replace ${libzbar_name} ${zbar}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary} + '' else '' + sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt + ''); - postInstall = '' + postInstall = stdenv.lib.optionalString stdenv.isLinux '' # Despite setting usr_share above, these files are installed under # $out/nix ... mv $out/${python3.sitePackages}/nix/store"/"*/share $out rm -rf $out/${python3.sitePackages}/nix substituteInPlace $out/share/applications/electrum.desktop \ - --replace "Exec=electrum %u" "Exec=$out/bin/electrum %u" + --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum %u"' \ + "Exec=$out/bin/electrum %u" \ + --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum --testnet %u"' \ + "Exec=$out/bin/electrum --testnet %u" + + ''; + + postFixup = stdenv.lib.optionalString enableQt '' + wrapQtApp $out/bin/electrum ''; checkInputs = with python3Packages; [ pytest ]; @@ -74,6 +118,21 @@ python3Packages.buildPythonApplication rec { $out/bin/electrum help >/dev/null ''; + passthru.updateScript = import ./update.nix { + inherit (stdenv) lib; + inherit + writeScript + common-updater-scripts + bash + coreutils + curl + gnupg + gnugrep + gnused + nix + ; + }; + meta = with stdenv.lib; { description = "A lightweight Bitcoin wallet"; longDescription = '' @@ -84,6 +143,7 @@ python3Packages.buildPythonApplication rec { ''; homepage = https://electrum.org/; license = licenses.mit; + platforms = platforms.all; maintainers = with maintainers; [ ehmry joachifm np ]; }; } diff --git a/pkgs/applications/misc/electrum/ltc.nix b/pkgs/applications/misc/electrum/ltc.nix index 45c44880462..a5e4bd74a6e 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/electrum/update.nix b/pkgs/applications/misc/electrum/update.nix new file mode 100644 index 00000000000..247fabe3891 --- /dev/null +++ b/pkgs/applications/misc/electrum/update.nix @@ -0,0 +1,59 @@ +{ lib +, writeScript +, common-updater-scripts +, bash +, coreutils +, curl +, gnugrep +, gnupg +, gnused +, nix +}: + +with lib; + +let + downloadPageUrl = "https://download.electrum.org"; + + signingKeys = ["6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6"]; +in + +writeScript "update-electrum" '' +#! ${bash}/bin/bash + +set -eu -o pipefail + +export PATH=${makeBinPath [ + common-updater-scripts + coreutils + curl + gnugrep + gnupg + gnused + nix +]} + +version=$(curl -L --list-only -- '${downloadPageUrl}' \ + | grep -Po '> src/gcconfig.pri sed -i -e '21,23d' qwt/qwtconfig.pri # Removed forced installation to /usr/local ''; + installPhase = '' runHook preInstall 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 diff --git a/pkgs/applications/misc/goldendict/default.nix b/pkgs/applications/misc/goldendict/default.nix index 42d5d83f7bd..6a5f4c9ce03 100644 --- a/pkgs/applications/misc/goldendict/default.nix +++ b/pkgs/applications/misc/goldendict/default.nix @@ -1,25 +1,29 @@ -{ stdenv, fetchFromGitHub, pkgconfig, libXtst, libvorbis, hunspell -, libao, ffmpeg, libeb, lzo, xz, libtiff +{ mkDerivation, lib, fetchFromGitHub, pkgconfig, libXtst, libvorbis, hunspell +, libao, ffmpeg, libeb, lzo, xz, libtiff, opencc , qtbase, qtsvg, qtwebkit, qtx11extras, qttools, qmake }: -stdenv.mkDerivation rec { +mkDerivation rec { - name = "goldendict-2018-06-13"; + name = "goldendict-2019-08-01"; src = fetchFromGitHub { owner = "goldendict"; repo = "goldendict"; - rev = "48e850c7ec11d83cba7499f7fdce377ef3849bbb"; - sha256 = "0i4q4waqjv45hgwillvjik97pg26kwlmz4925djjkx8s6hxgjlq9"; + rev = "0f951b06a55f3a201891cf645a556e773bda5f52"; + sha256 = "1d1hn95vhvsmbq9q96l5adn90g0hg25dl01knb4y4v6v9x4yrl2x"; }; nativeBuildInputs = [ pkgconfig qmake ]; buildInputs = [ qtbase qtsvg qtwebkit qtx11extras qttools - libXtst libvorbis hunspell libao ffmpeg libeb lzo xz libtiff + libXtst libvorbis hunspell libao ffmpeg libeb lzo xz libtiff opencc ]; - qmakeFlags = [ "CONFIG+=zim_support" ]; + qmakeFlags = [ + "goldendict.pro" + "CONFIG+=zim_support" + "CONFIG+=chinese_conversion_support" + ]; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://goldendict.org/; description = "A feature-rich dictionary lookup program"; platforms = platforms.linux; diff --git a/pkgs/applications/misc/gollum/Gemfile.lock b/pkgs/applications/misc/gollum/Gemfile.lock index e6c66cba1e0..6cd77318754 100644 --- a/pkgs/applications/misc/gollum/Gemfile.lock +++ b/pkgs/applications/misc/gollum/Gemfile.lock @@ -29,15 +29,15 @@ GEM sanitize (~> 2.1.1, >= 2.1.1) stringex (~> 2.6) twitter-text (= 1.14.7) - json (2.1.0) + json (2.2.0) kramdown (1.9.0) mime-types (3.2.2) mime-types-data (~> 3.2015) - mime-types-data (3.2018.0812) - mini_portile2 (2.3.0) + mime-types-data (3.2019.0331) + mini_portile2 (2.4.0) mustache (0.99.8) - nokogiri (1.8.4) - mini_portile2 (~> 2.3.0) + nokogiri (1.10.4) + mini_portile2 (~> 2.4.0) posix-spawn (0.3.13) rack (1.6.11) rack-protection (1.5.5) @@ -49,13 +49,13 @@ GEM rack (~> 1.5) rack-protection (~> 1.4) tilt (>= 1.3, < 3) - stringex (2.8.4) - tilt (2.0.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.5) + unf_ext (0.0.7.6) useragent (0.16.10) PLATFORMS @@ -65,4 +65,4 @@ DEPENDENCIES gollum BUNDLED WITH - 1.16.4 + 1.17.2 diff --git a/pkgs/applications/misc/gollum/default.nix b/pkgs/applications/misc/gollum/default.nix index 4a0a4e38a61..e9a177ee193 100644 --- a/pkgs/applications/misc/gollum/default.nix +++ b/pkgs/applications/misc/gollum/default.nix @@ -1,8 +1,7 @@ -{ stdenv, bundlerEnv, ruby, makeWrapper +{ stdenv, bundlerEnv, ruby, makeWrapper, bundlerUpdateScript , git }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "gollum"; # nix-shell -p bundix icu zlib version = (import ./gemset.nix).gollum.version; @@ -10,7 +9,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; env = bundlerEnv { - name = "${name}-gems"; + name = "${pname}-${version}-gems"; inherit pname ruby; gemdir = ./.; }; @@ -23,11 +22,13 @@ stdenv.mkDerivation rec { --prefix PATH ":" ${stdenv.lib.makeBinPath [ git ]} ''; + passthru.updateScript = bundlerUpdateScript "gollum"; + meta = with stdenv.lib; { description = "A simple, Git-powered wiki"; homepage = https://github.com/gollum/gollum; license = licenses.mit; - maintainers = with maintainers; [ jgillich primeos ]; + maintainers = with maintainers; [ jgillich primeos nicknovitski ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/misc/gollum/gemset.nix b/pkgs/applications/misc/gollum/gemset.nix index bb105805ca8..f9bdf94db17 100644 --- a/pkgs/applications/misc/gollum/gemset.nix +++ b/pkgs/applications/misc/gollum/gemset.nix @@ -1,5 +1,7 @@ { charlock_holmes = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5"; @@ -8,6 +10,8 @@ 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,6 +31,8 @@ version = "3.3.0"; }; github-markup = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "17g6g18gdjg63k75sfwiskjzl9i0hfcnrkcpb4fwrnb20v3jgswp"; @@ -34,6 +42,8 @@ }; gitlab-grit = { dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0xgs3l81ghlc5nm75n0pz7b2cj3hpscfq5iy27c483nnjn2v5mc4"; @@ -43,6 +53,8 @@ }; gollum = { dependencies = ["gemojione" "gollum-lib" "kramdown" "mustache" "sinatra" "useragent"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0ik1b0f73lcxfwfml1h84dp6br79g0z9v6x54wvl46n9d1ndrhl7"; @@ -52,6 +64,8 @@ }; gollum-grit_adapter = { dependencies = ["gitlab-grit"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0fcibm63v1afc0fj5rki0mm51m7nndil4cjcjjvkh3yigfn4nr4b"; @@ -61,6 +75,8 @@ }; gollum-lib = { dependencies = ["gemojione" "github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex" "twitter-text"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1699wiir6f2a8yawk3qg0xn3zdc10mz783v53ri1ivfnzdrm3dvf"; @@ -69,14 +85,18 @@ 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"; @@ -86,6 +106,8 @@ }; mime-types = { dependencies = ["mime-types-data"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk"; @@ -94,22 +116,28 @@ version = "3.2.2"; }; mime-types-data = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc"; + sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a"; type = "gem"; }; - version = "3.2018.0812"; + 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"; }; mustache = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2"; @@ -119,14 +147,18 @@ }; nokogiri = { dependencies = ["mini_portile2"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1h9nml9h3m0mpvmh8jfnqvblnz5n5y3mmhgfc38avfmfzdrq9bgc"; + sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv"; type = "gem"; }; - version = "1.8.4"; + version = "1.10.4"; }; posix-spawn = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1pmxmpins57qrbr31bs3bm7gidhaacmrp4md6i962gvpq4gyfcjw"; @@ -135,6 +167,8 @@ version = "0.3.13"; }; rack = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f"; @@ -144,6 +178,8 @@ }; rack-protection = { dependencies = ["rack"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0my0wlw4a5l3hs79jkx2xzv7djhajgf8d28k8ai1ddlnxxb0v7ss"; @@ -152,6 +188,8 @@ version = "1.5.5"; }; rouge = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "02kpahk5nkc33yxnn75649kzxaz073wvazr2zyg491nndykgnvcs"; @@ -161,6 +199,8 @@ }; sanitize = { dependencies = ["nokogiri"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "12ip1d80r0dgc621qn7c32bk12xxgkkg3w6q21s1ckxivcd7r898"; @@ -170,6 +210,8 @@ }; sinatra = { dependencies = ["rack" "rack-protection" "tilt"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq"; @@ -178,23 +220,29 @@ version = "1.4.8"; }; stringex = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0c5dfrjzkskzfsdvwsviq4111rwwpbk9022nxwdidz014mky5vi1"; + sha256 = "15ns7j5smw04w6w7bqd5mm2qcl7w9lhwykyb974i4isgg9yc23ys"; type = "gem"; }; - version = "2.8.4"; + version = "2.8.5"; }; tilt = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra"; + sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"; type = "gem"; }; - version = "2.0.8"; + version = "2.0.9"; }; twitter-text = { dependencies = ["unf"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1732h7hy1k152w8wfvjsx7b79alk45i5imwd37ia4qcx8hfm3gvg"; @@ -204,6 +252,8 @@ }; unf = { dependencies = ["unf_ext"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; @@ -212,14 +262,18 @@ version = "0.1.4"; }; unf_ext = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1"; + sha256 = "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf"; type = "gem"; }; - version = "0.0.7.5"; + version = "0.0.7.6"; }; useragent = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1fv5kvq494swy0p17h9qya9r50w15xsi9zmvhzb8gh55kq6ki50p"; diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix index 0fccf83acf7..961efe4b057 100644 --- a/pkgs/applications/misc/googleearth/default.nix +++ b/pkgs/applications/misc/googleearth/default.nix @@ -40,7 +40,8 @@ let ]; in stdenv.mkDerivation rec { - name = "googleearth-${version}"; + pname = "googleearth"; + inherit version; src = fetchurl { url = "https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-stable/google-earth-stable_${version}-r0_${arch}.deb"; inherit sha256; diff --git a/pkgs/applications/misc/googler/default.nix b/pkgs/applications/misc/googler/default.nix index 4b5c17d8e51..12eb8839b8a 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.7.1"; - name = "googler-${version}"; + version = "3.9"; + pname = "googler"; src = fetchFromGitHub { owner = "jarun"; repo = "googler"; rev = "v${version}"; - sha256 = "0dcszpz85h3yjnr55ixf8mzsdv46w3g27frhgcsl5zlsgk6vl8kw"; + sha256 = "0zqq157i0rfrja8yqnqr9rfrp5apzc7cxb7d7ppv6abkc5bckyqc"; }; propagatedBuildInputs = [ python ]; diff --git a/pkgs/applications/misc/gpg-mdp/default.nix b/pkgs/applications/misc/gpg-mdp/default.nix index 4143f6fde55..9954ff660ad 100644 --- a/pkgs/applications/misc/gpg-mdp/default.nix +++ b/pkgs/applications/misc/gpg-mdp/default.nix @@ -3,7 +3,8 @@ let version = "0.7.4"; in stdenv.mkDerivation { # mdp renamed to gpg-mdp because there is a mdp package already. - name = "gpg-mdp-${version}"; + pname = "gpg-mdp"; + inherit version; meta = { homepage = https://tamentis.com/projects/mdp/; license = [stdenv.lib.licenses.isc]; diff --git a/pkgs/applications/misc/gphoto2/default.nix b/pkgs/applications/misc/gphoto2/default.nix index 5131e0739e7..d06970e8d07 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.23"; src = fetchurl { url = "mirror://sourceforge/gphoto/${name}.tar.bz2"; - sha256 = "0kslwclyyzvnxjw3gdzhlagj7l5f8lba833ipr9s0s0c4hwi0mxa"; + sha256 = "1laqwhxr0xhbykmp0dhd3j4rr2lhj5y228s31afnqxp700hhk1yz"; }; nativeBuildInputs = [ pkgconfig gettext libtool ]; diff --git a/pkgs/applications/misc/gphoto2/gphotofs.nix b/pkgs/applications/misc/gphoto2/gphotofs.nix index 7b23fca2121..c1c2a44bd7f 100644 --- a/pkgs/applications/misc/gphoto2/gphotofs.nix +++ b/pkgs/applications/misc/gphoto2/gphotofs.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, libtool, pkgconfig, libgphoto2, fuse, glib }: stdenv.mkDerivation rec { - name = "gphoto2fs-${version}"; + pname = "gphoto2fs"; version = "0.5.0"; src = fetchurl { url="mirror://sourceforge/gphoto/gphotofs/${version}/gphotofs-0.5.tar.bz2"; diff --git a/pkgs/applications/misc/gpsbabel/clang-4.patch b/pkgs/applications/misc/gpsbabel/clang-4.patch deleted file mode 100644 index 6bd19ae6044..00000000000 --- a/pkgs/applications/misc/gpsbabel/clang-4.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/bushnell.cc b/bushnell.cc -index 8fa844d..40707c4 100644 ---- a/bushnell.cc -+++ b/bushnell.cc -@@ -135,7 +135,7 @@ bushnell_get_icon_from_name(QString name) - name = "Waypoint"; - } - -- for (t = bushnell_icons; t->icon > 0; t++) { -+ for (t = bushnell_icons; t->icon != 0; t++) { - if (0 == name.compare(t->icon, Qt::CaseInsensitive)) { - return t->symbol; - } -@@ -147,7 +147,7 @@ static const char* - bushnell_get_name_from_symbol(signed int s) - { - icon_mapping_t* t; -- for (t = bushnell_icons; t->icon > 0; t++) { -+ for (t = bushnell_icons; t->icon != 0; t++) { - if (s == t->symbol) { - return t->icon; - } diff --git a/pkgs/applications/misc/gpsbabel/default.nix b/pkgs/applications/misc/gpsbabel/default.nix index 0911fbace44..9d244ca18f3 100644 --- a/pkgs/applications/misc/gpsbabel/default.nix +++ b/pkgs/applications/misc/gpsbabel/default.nix @@ -1,18 +1,17 @@ { lib, stdenv, fetchFromGitHub, fetchpatch, zlib, which, IOKit, qtbase }: stdenv.mkDerivation rec { - name = "gpsbabel-${version}"; - version = "1.5.4"; + pname = "gpsbabel"; + version = "1.6.0"; src = fetchFromGitHub { owner = "gpsbabel"; repo = "gpsbabel"; rev = "gpsbabel_${lib.replaceStrings ["."] ["_"] version}"; - sha256 = "0v6wpp14zkfbarmksf9dn3wmpj1araxd7xi5xp7gpl7kafb9aiwi"; + sha256 = "0q17jhmaf7z5lld2ff7h6jb3v1yz8hbwd2rmaq2dsamc53dls8iw"; }; patches = [ - ./clang-4.patch (fetchpatch { url = https://sources.debian.net/data/main/g/gpsbabel/1.5.3-2/debian/patches/use_minizip; sha256 = "03fpsmlx1wc48d1j405zkzp8j64hcp0z72islf4mk1immql3ibcr"; diff --git a/pkgs/applications/misc/gpscorrelate/default.nix b/pkgs/applications/misc/gpscorrelate/default.nix index e691c79d85c..5bcaccb43bc 100644 --- a/pkgs/applications/misc/gpscorrelate/default.nix +++ b/pkgs/applications/misc/gpscorrelate/default.nix @@ -1,28 +1,41 @@ -{ fetchFromGitHub, stdenv, pkgconfig, exiv2, libxml2, gtk2 -, libxslt, docbook_xsl, docbook_xml_dtd_42 }: +{ fetchFromGitHub, stdenv, fetchpatch, pkgconfig, exiv2, libxml2, gtk3 +, libxslt, docbook_xsl, docbook_xml_dtd_42, desktop-file-utils }: stdenv.mkDerivation rec { - name = "gpscorrelate-${version}"; - version = "1.6.1"; + pname = "gpscorrelate"; + version = "unstable-2019-06-05"; src = fetchFromGitHub { - owner = "freefoote"; - repo = "gpscorrelate"; - rev = version; - sha256 = "1z0fc75rx7dl6nnydksa578qv116j2c2xs1czfiijzxjghx8njdj"; + owner = "dfandrich"; + repo = pname; + rev = "80b14fe7c10c1cc8f62c13f517c062577ce88c85"; + sha256 = "1gaan0nd7ai0bwilfnkza7lg5mz87804mvlygj0gjc672izr37r6"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ - exiv2 libxml2 gtk2 - libxslt docbook_xsl + nativeBuildInputs = [ + desktop-file-utils docbook_xml_dtd_42 + docbook_xsl + libxslt + pkgconfig ]; - patchPhase = '' - sed -i "Makefile" \ - -es",^[[:blank:]]*prefix[[:blank:]]*=.*$,prefix = $out,g" - ''; + buildInputs = [ + exiv2 + gtk3 + libxml2 + ]; + + makeFlags = [ + "prefix=${placeholder ''out''}" + "GTK=3" + "CC=cc" + "CXX=c++" + ]; + + doCheck = true; + + installTargets = [ "install" "install-desktop-file" ]; meta = with stdenv.lib; { description = "A GPS photo correlation tool, to add EXIF geotags"; @@ -44,7 +57,7 @@ stdenv.mkDerivation rec { ''; license = licenses.gpl2Plus; - homepage = https://github.com/freefoote/gpscorrelate; + homepage = "https://github.com/dfandrich/gpscorrelate"; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/gpsprune/default.nix b/pkgs/applications/misc/gpsprune/default.nix index 4f0c1864677..9c0dc48d42e 100644 --- a/pkgs/applications/misc/gpsprune/default.nix +++ b/pkgs/applications/misc/gpsprune/default.nix @@ -1,7 +1,7 @@ { fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jre8 }: stdenv.mkDerivation rec { - name = "gpsprune-${version}"; + pname = "gpsprune"; version = "19.2"; src = fetchurl { diff --git a/pkgs/applications/misc/gpx-viewer/default.nix b/pkgs/applications/misc/gpx-viewer/default.nix index f7cfee3e651..04ab062c1a1 100644 --- a/pkgs/applications/misc/gpx-viewer/default.nix +++ b/pkgs/applications/misc/gpx-viewer/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, intltool, pkgconfig, gnome3, libchamplain, gdl, shared-mime-info, desktop-file-utils, wrapGAppsHook }: +{ stdenv, fetchurl, intltool, libxml2, pkgconfig, gnome3, libchamplain, gdl, shared-mime-info, desktop-file-utils, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "gpx-viewer-${version}"; + pname = "gpx-viewer"; version = "0.4.0"; src = fetchurl { - url = "https://launchpad.net/gpx-viewer/trunk/${version}/+download/${name}.tar.gz"; + url = "https://launchpad.net/gpx-viewer/trunk/${version}/+download/${pname}-${version}.tar.gz"; sha256 = "956acfaf870ac436300cd9953dece630df7fd7dff8e4ae2577a6002884466f80"; }; @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { }; patchFlags = [ "-p0" ]; + configureFlags = [ "--disable-database-updates" ]; + nativeBuildInputs = [ intltool pkgconfig - shared-mime-info # For update-mime-database - desktop-file-utils # For update-desktop-database wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system ]; - buildInputs = [ gdl libchamplain gnome3.adwaita-icon-theme ]; + buildInputs = [ gdl libchamplain gnome3.adwaita-icon-theme libxml2 ]; meta = with stdenv.lib; { homepage = https://blog.sarine.nl/tag/gpxviewer/; diff --git a/pkgs/applications/misc/gpx/default.nix b/pkgs/applications/misc/gpx/default.nix index 9fef9381949..a341a212a37 100644 --- a/pkgs/applications/misc/gpx/default.nix +++ b/pkgs/applications/misc/gpx/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, autoreconfHook }: stdenv.mkDerivation rec { - name = "gpx-${version}"; + pname = "gpx"; version = "2.5.2"; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix index 5ef64b2b801..6e9296da267 100644 --- a/pkgs/applications/misc/gpxsee/default.nix +++ b/pkgs/applications/misc/gpxsee/default.nix @@ -1,41 +1,31 @@ -{ stdenv, fetchFromGitHub, qmake, qttools }: +{ mkDerivation, lib, fetchFromGitHub, qmake, qttools }: -stdenv.mkDerivation rec { - name = "gpxsee-${version}"; - version = "7.1"; +mkDerivation rec { + pname = "gpxsee"; + version = "7.12"; src = fetchFromGitHub { owner = "tumic0"; repo = "GPXSee"; rev = version; - sha256 = "1dgag8j3566qwiz1pschfq2wqdp7y1pr4cm9na4zwrdjhn3ci6v5"; + sha256 = "0c3axs3mm6xzabwbvy9vgq1sryjpi4h91nwzy9iyv9zjxz7phgzc"; }; nativeBuildInputs = [ qmake ]; buildInputs = [ qttools ]; preConfigure = '' - substituteInPlace src/common/programpaths.cpp --replace /usr/share/ $out/share/ lrelease lang/*.ts ''; - installPhase = '' - install -Dm755 GPXSee $out/bin/GPXSee - mkdir -p $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; { + meta = with lib; { homepage = https://www.gpxsee.org/; - description = "GPX viewer and analyzer"; + description = "GPS log file viewer and analyzer"; longDescription = '' - GPXSee is a Qt-based GPS log file viewer and analyzer that supports GPX, - TCX, KML, FIT, IGC, NMEA, SLF, LOC and OziExplorer files. + GPXSee is a Qt-based GPS log file viewer and analyzer that supports + all common GPS log file formats. ''; license = licenses.gpl3; maintainers = [ maintainers.womfoo ]; diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix index db18ff73412..84be50ccb5e 100644 --- a/pkgs/applications/misc/gramps/default.nix +++ b/pkgs/applications/misc/gramps/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, gtk3, pythonPackages, intltool, gnome3, - pango, gobject-introspection, wrapGAppsHook, + pango, gobject-introspection, wrapGAppsHook, gettext, # Optional packages: enableOSM ? true, osm-gps-map, enableGraphviz ? true, graphviz, @@ -10,9 +10,9 @@ let inherit (pythonPackages) python buildPythonApplication; in buildPythonApplication rec { version = "5.0.1"; - name = "gramps-${version}"; + pname = "gramps"; - nativeBuildInputs = [ wrapGAppsHook ]; + nativeBuildInputs = [ wrapGAppsHook gettext ]; buildInputs = [ intltool gtk3 gobject-introspection pango gnome3.gexiv2 ] # Map support ++ stdenv.lib.optional enableOSM osm-gps-map @@ -48,7 +48,7 @@ in buildPythonApplication rec { eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth if [ -e "$eapth" ]; then # move colliding easy_install.pth to specifically named one - mv "$eapth" $(dirname "$eapth")/${name}.pth + mv "$eapth" $(dirname "$eapth")/${pname}-${version}.pth fi rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py* diff --git a/pkgs/applications/misc/green-pdfviewer/default.nix b/pkgs/applications/misc/green-pdfviewer/default.nix index 00421a2e033..308f084bd58 100644 --- a/pkgs/applications/misc/green-pdfviewer/default.nix +++ b/pkgs/applications/misc/green-pdfviewer/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchFromGitHub, poppler, pkgconfig, gdk_pixbuf, SDL, gtk2 }: +{ stdenv, fetchFromGitHub, poppler, pkgconfig, gdk-pixbuf, SDL, gtk2 }: stdenv.mkDerivation rec { - name = "green-pdfviewer-${version}"; + pname = "green-pdfviewer"; version = "nightly-2014-04-22"; src = fetchFromGitHub { @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ poppler gdk_pixbuf SDL gtk2 ]; + buildInputs = [ poppler gdk-pixbuf SDL gtk2 ]; patches = [ ./gdk-libs.patch diff --git a/pkgs/applications/misc/gremlin-console/default.nix b/pkgs/applications/misc/gremlin-console/default.nix index a35079e9151..87e636b9c03 100644 --- a/pkgs/applications/misc/gremlin-console/default.nix +++ b/pkgs/applications/misc/gremlin-console/default.nix @@ -1,7 +1,7 @@ -{ pkgs, fetchzip, stdenv, makeWrapper, openjdk }: +{ fetchzip, stdenv, makeWrapper, openjdk }: stdenv.mkDerivation rec { - name = "gremlin-console-${version}"; + pname = "gremlin-console"; version = "3.3.4"; src = fetchzip { url = "http://www-eu.apache.org/dist/tinkerpop/${version}/apache-tinkerpop-gremlin-console-${version}-bin.zip"; diff --git a/pkgs/applications/misc/grsync/default.nix b/pkgs/applications/misc/grsync/default.nix new file mode 100644 index 00000000000..3e1bb31091f --- /dev/null +++ b/pkgs/applications/misc/grsync/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, dee, gtk2, intltool, libdbusmenu-gtk2, libunity, pkg-config, rsync }: + +stdenv.mkDerivation rec { + version = "1.2.6"; + pname = "grsync"; + + src = fetchurl { + url = "mirror://sourceforge/grsync/grsync-${version}.tar.gz"; + sha256 = "06ani65d58p8r3jvxjwpwyqrr07ya3icdqc243nxcrv7bvmarmb6"; + }; + + nativeBuildInputs = [ + intltool + pkg-config + ]; + + buildInputs = [ + dee + gtk2 + libdbusmenu-gtk2 + libunity + rsync + ]; + + meta = with stdenv.lib; { + description = "Grsync is used to synchronize folders, files and make backups"; + homepage = "http://www.opbyte.it/grsync/"; + license = licenses.gpl1; + platforms = platforms.linux; + maintainers = [ maintainers.kuznero ]; + }; +} diff --git a/pkgs/applications/misc/gsctl/default.nix b/pkgs/applications/misc/gsctl/default.nix new file mode 100644 index 00000000000..b84053b94ad --- /dev/null +++ b/pkgs/applications/misc/gsctl/default.nix @@ -0,0 +1,22 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "gsctl"; + version = "0.15.4"; + + goPackagePath = "github.com/giantswarm/gsctl"; + + src = fetchFromGitHub { + owner = "giantswarm"; + repo = pname; + rev = version; + sha256 = "0s5bli08wfd9xszx3kc90k51vlgjc00r0qg4mikb6qdc4pxpgsxj"; + }; + + meta = with stdenv.lib; { + description = "The Giant Swarm command line interface"; + homepage = https://github.com/giantswarm/gsctl; + license = licenses.asl20; + maintainers = with maintainers; [ joesalisbury ]; + }; +} diff --git a/pkgs/applications/misc/gsimplecal/default.nix b/pkgs/applications/misc/gsimplecal/default.nix index 7f3b3a8d6dc..ea78331e476 100644 --- a/pkgs/applications/misc/gsimplecal/default.nix +++ b/pkgs/applications/misc/gsimplecal/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, automake, autoconf, pkgconfig, gtk3 }: stdenv.mkDerivation rec { - name = "gsimplecal-${version}"; + pname = "gsimplecal"; version = "2.1"; src = fetchurl { diff --git a/pkgs/applications/misc/gtk2fontsel/default.nix b/pkgs/applications/misc/gtk2fontsel/default.nix index cf409b4c185..204624f2439 100644 --- a/pkgs/applications/misc/gtk2fontsel/default.nix +++ b/pkgs/applications/misc/gtk2fontsel/default.nix @@ -1,16 +1,16 @@ -{stdenv, fetchurl, pkgconfig, gtk }: +{stdenv, fetchurl, pkgconfig, gtk2 }: stdenv.mkDerivation rec { version = "0.1"; - name = "gtk2fontsel-${version}"; + pname = "gtk2fontsel"; src = fetchurl { - url = "mirror://sourceforge/gtk2fontsel/${name}.tar.gz"; + url = "mirror://sourceforge/gtk2fontsel/${pname}-${version}.tar.gz"; sha256 = "0s2sj19n8ys92q9832hkn36ld91bb4qavicc6nygkry6qdpkkmjw"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ stdenv gtk ]; + buildInputs = [ stdenv gtk2 ]; preferLocalBuild = true; diff --git a/pkgs/applications/misc/guake/default.nix b/pkgs/applications/misc/guake/default.nix index 0541468345e..37352915cb8 100644 --- a/pkgs/applications/misc/guake/default.nix +++ b/pkgs/applications/misc/guake/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchFromGitHub, python3, gettext, gobject-introspection, wrapGAppsHook, glibcLocales -, gtk3, keybinder3, libnotify, libutempter, vte }: +, gtk3, keybinder3, libnotify, libutempter, vte, libwnck3 }: let - version = "3.4.0"; + version = "3.6.3"; in python3.pkgs.buildPythonApplication rec { name = "guake-${version}"; format = "other"; @@ -11,25 +11,24 @@ in python3.pkgs.buildPythonApplication rec { owner = "Guake"; repo = "guake"; rev = version; - sha256 = "1j38z968ha8ij6wrgbwvr8ad930nvhybm9g7pf4s4zv6d3vln0vm"; + sha256 = "13ipnmqcyixpa6qv83m0f91za4kar14s5jpib68b32z65x1h0j3b"; }; + # 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 ]; - propagatedBuildInputs = with python3.pkgs; [ dbus-python pbr pycairo pygobject3 ]; + propagatedBuildInputs = with python3.pkgs; [ dbus-python pbr pycairo pygobject3 libwnck3 ]; LC_ALL = "en_US.UTF-8"; # fixes weird encoding error, see https://github.com/NixOS/nixpkgs/pull/38642#issuecomment-379727699 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 6c84f3cbd32..f0026cac52e 100644 --- a/pkgs/applications/misc/gummi/default.nix +++ b/pkgs/applications/misc/gummi/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { version = "0.6.6"; - name = "gummi-${version}"; + pname = "gummi"; src = pkgs.fetchFromGitHub { owner = "alexandervdm"; @@ -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/gxmessage/default.nix b/pkgs/applications/misc/gxmessage/default.nix index 8401386ead4..a7313e7c969 100644 --- a/pkgs/applications/misc/gxmessage/default.nix +++ b/pkgs/applications/misc/gxmessage/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, gnome3, intltool, pkgconfig, texinfo, hicolor-icon-theme }: +{ stdenv, fetchurl, gtk3, intltool, pkgconfig, texinfo, hicolor-icon-theme }: stdenv.mkDerivation rec { - name = "gxmessage-${version}"; + pname = "gxmessage"; version = "3.4.3"; src = fetchurl { - url = "http://homepages.ihug.co.nz/~trmusson/stuff/${name}.tar.gz"; + url = "http://homepages.ihug.co.nz/~trmusson/stuff/${pname}-${version}.tar.gz"; sha256 = "db4e1655fc58f31e5770a17dfca4e6c89028ad8b2c8e043febc87a0beedeef05"; }; 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/hamster-time-tracker/default.nix b/pkgs/applications/misc/hamster-time-tracker/default.nix index 453d95694eb..9360e220ab6 100644 --- a/pkgs/applications/misc/hamster-time-tracker/default.nix +++ b/pkgs/applications/misc/hamster-time-tracker/default.nix @@ -18,9 +18,9 @@ pythonPackages.buildPythonApplication rec { sha256 = "1a85rcg561792kdyv744cgzw7mmpmgv6d6li1sijfdpqa1ninf8g"; }; - nativeBuildInputs = [ wafHook ]; + 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 ]; diff --git a/pkgs/applications/misc/haxor-news/default.nix b/pkgs/applications/misc/haxor-news/default.nix index e09e65738e5..7353078600d 100644 --- a/pkgs/applications/misc/haxor-news/default.nix +++ b/pkgs/applications/misc/haxor-news/default.nix @@ -38,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/hdate/default.nix b/pkgs/applications/misc/hdate/default.nix index e2f5f653d47..989dfb886ec 100644 --- a/pkgs/applications/misc/hdate/default.nix +++ b/pkgs/applications/misc/hdate/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "1.6.02"; - name = "hdate-${version}"; + pname = "hdate"; src = fetchurl { url = "https://sourceforge.net/projects/libhdate/files/libhdate/libhdate-${version}/libhdate-${version}.tar.bz2"; sha256 = "3c930a8deb57c01896dc37f0d7804e5a330ee8e88c4ff610b71f9d2b02c17762"; diff --git a/pkgs/applications/misc/hello-unfree/default.nix b/pkgs/applications/misc/hello-unfree/default.nix index c055bddec69..a2d2e8ad735 100644 --- a/pkgs/applications/misc/hello-unfree/default.nix +++ b/pkgs/applications/misc/hello-unfree/default.nix @@ -1,7 +1,7 @@ -{ stdenv }: +{ stdenv, runtimeShell }: stdenv.mkDerivation rec { - name = "example-unfree-package-${version}"; + pname = "example-unfree-package"; version = "1.0"; phases = [ "installPhase" "fixupPhase" ]; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin cat > $out/bin/hello-unfree << EOF - #!${stdenv.shell} + #!${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 c0a39d2d91d..8bae8ce373c 100644 --- a/pkgs/applications/misc/hello/default.nix +++ b/pkgs/applications/misc/hello/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "hello-${version}"; + pname = "hello"; version = "2.10"; src = fetchurl { - url = "mirror://gnu/hello/${name}.tar.gz"; + url = "mirror://gnu/hello/${pname}-${version}.tar.gz"; sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"; }; @@ -18,6 +18,7 @@ stdenv.mkDerivation rec { It is fully customizable. ''; homepage = https://www.gnu.org/software/hello/manual/; + changelog = "https://git.savannah.gnu.org/cgit/hello.git/plain/NEWS?h=v${version}"; 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 index 0431f35057b..84f5bad24d2 100644 --- a/pkgs/applications/misc/hivemind/default.nix +++ b/pkgs/applications/misc/hivemind/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "hivemind-${version}"; + pname = "hivemind"; version = "1.0.4"; goPackagePath = "github.com/DarthSim/hivemind"; diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix index 500f1df36a0..88c87eaca87 100644 --- a/pkgs/applications/misc/houdini/runtime.nix +++ b/pkgs/applications/misc/houdini/runtime.nix @@ -30,7 +30,7 @@ let in stdenv.mkDerivation rec { version = "17.0.352"; - name = "houdini-runtime-${version}"; + pname = "houdini-runtime"; src = requireFile rec { name = "houdini-${version}-linux_x86_64_gcc6.3.tar.gz"; sha256 = "0cl5fkgaplb0cvv7mli06ffc9j4ngpy8hl5zqabj3d645gcgafjg"; diff --git a/pkgs/applications/misc/hr/default.nix b/pkgs/applications/misc/hr/default.nix index 6b0926db047..437c42b0331 100644 --- a/pkgs/applications/misc/hr/default.nix +++ b/pkgs/applications/misc/hr/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "hr-${version}"; + pname = "hr"; version = "1.2"; src = fetchFromGitHub { @@ -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 026cf9ecc14..0d25d3d686c 100644 --- a/pkgs/applications/misc/hstr/default.nix +++ b/pkgs/applications/misc/hstr/default.nix @@ -1,21 +1,35 @@ -{ stdenv, fetchurl, readline, ncurses }: +{ stdenv, fetchFromGitHub, readline, ncurses +, autoreconfHook, pkgconfig, gettext }: stdenv.mkDerivation rec { - name = "hstr-${version}"; - version = "1.25"; + pname = "hstr"; + version = "2.0"; - src = fetchurl { - url = "https://github.com/dvorka/hstr/releases/download/${version}/hh-${version}-src.tgz"; - sha256 = "10njj0a3s5czv497wk3whka3gxr7vmhabs12vaw7kgb07h4ssnhg"; + src = fetchFromGitHub { + owner = "dvorka"; + repo = "hstr"; + rev = version; + sha256 = "1y9vsfbg07gbic0daqy569d9pb9i1d07fym3q7a0a99hbng85s20"; }; - buildInputs = [ readline ncurses ]; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + buildInputs = [ readline ncurses gettext ]; + + configurePhase = '' + autoreconf -fvi + ./configure + ''; + + installPhase = '' + mkdir -p $out/bin/ + mv src/hstr $out/bin/ + ''; meta = { 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/hubstaff/default.nix b/pkgs/applications/misc/hubstaff/default.nix index 2b6e58a6ab3..b2997ece5d5 100644 --- a/pkgs/applications/misc/hubstaff/default.nix +++ b/pkgs/applications/misc/hubstaff/default.nix @@ -5,7 +5,9 @@ let - version = "1.3.1-ff75f26"; + data = builtins.fromJSON (builtins.readFile ./revision.json); + + inherit (data) version url sha256; rpath = stdenv.lib.makeLibraryPath [ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft @@ -15,12 +17,10 @@ let in stdenv.mkDerivation { - name = "hubstaff-${version}"; + pname = "hubstaff"; + inherit version; - src = fetchurl { - url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/${version}/Hubstaff-${version}.sh"; - sha256 = "0jm5l34r6lkfkg8vsdfqbr0axngxznhagwcl9y184lnyji91fmdl"; - }; + src = fetchurl { inherit sha256 url; }; nativeBuildInputs = [ unzip makeWrapper ]; @@ -61,6 +61,6 @@ stdenv.mkDerivation { homepage = https://hubstaff.com/; license = licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = [ maintainers.michalrus ]; + maintainers = with maintainers; [ michalrus srghma ]; }; } diff --git a/pkgs/applications/misc/hubstaff/revision.json b/pkgs/applications/misc/hubstaff/revision.json new file mode 100644 index 00000000000..3170a63379c --- /dev/null +++ b/pkgs/applications/misc/hubstaff/revision.json @@ -0,0 +1,5 @@ +{ + "url": "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.4.10-848554d6/Hubstaff-1.4.10-848554d6.sh", + "version": "1.4.10-848554d6", + "sha256": "1hwncdzpzawrwswr3ibhxny0aa5k9f8f2qf636bdzqilwhv6342z" +} diff --git a/pkgs/applications/misc/hubstaff/update.sh b/pkgs/applications/misc/hubstaff/update.sh new file mode 100755 index 00000000000..c4c1caf55db --- /dev/null +++ b/pkgs/applications/misc/hubstaff/update.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p nix-prefetch-git curl + +SCRIPT_DIR=$(dirname "$(readlink -f "$BASH_SOURCE")") + +installation_script_url=$(curl --fail --head --location --silent --output /dev/null --write-out %{url_effective} https://app.hubstaff.com/download/linux) + +version=$(echo "$installation_script_url" | sed -r 's/^https:\/\/hubstaff\-production\.s3\.amazonaws\.com\/downloads\/HubstaffClient\/Builds\/Release\/([^\/]+)\/Hubstaff.+$/\1/') + +sha256=$(nix-prefetch-url "$installation_script_url") + +cat < $SCRIPT_DIR/revision.json +{ + "url": "$installation_script_url", + "version": "$version", + "sha256": "$sha256" +} +EOT diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix index 22badfc8cdd..034b9c79201 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 { - name = "hugo-${version}"; - version = "0.50"; +buildGoModule rec { + pname = "hugo"; + version = "0.57.2"; goPackagePath = "github.com/gohugoio/hugo"; @@ -10,16 +10,14 @@ buildGoPackage rec { owner = "gohugoio"; repo = "hugo"; rev = "v${version}"; - sha256 = "1shrw7pxwrz9g5x9bq6k5qvhn3fqmwznadpw7i07msh97p8b3dyn"; + sha256 = "1cqvm2fj6hh2n9iv67vamhn23fbxmmwciks0r4h4y0hapzlzpyd8"; }; - goDeps = ./deps.nix; + modSha256 = "09r7r1s5b2fvnzpzjarpv2lnvp6bxdfschiq6352hw631n7kkyz1"; 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 d5c24d69048..00000000000 --- a/pkgs/applications/misc/hugo/deps.nix +++ /dev/null @@ -1,722 +0,0 @@ -[ - - { - goPackagePath = "github.com/BurntSushi/locker"; - fetch = { - type = "git"; - url = "https://github.com/BurntSushi/locker"; - rev = "a6e239ea1c69"; - sha256 = "1xak4aync4klswq5217qvw191asgla51jr42y94vp109lirm5dzg"; - }; - } - - { - goPackagePath = "github.com/BurntSushi/toml"; - fetch = { - type = "git"; - url = "https://github.com/BurntSushi/toml"; - rev = "a368813c5e64"; - sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5"; - }; - } - - { - goPackagePath = "github.com/PuerkitoBio/purell"; - fetch = { - type = "git"; - url = "https://github.com/PuerkitoBio/purell"; - rev = "v1.1.0"; - sha256 = "0vsxyn1fbm7g873b8kf3hcsgqgncb5nmfq3zfsc35a9yhzarka91"; - }; - } - - { - goPackagePath = "github.com/PuerkitoBio/urlesc"; - fetch = { - type = "git"; - url = "https://github.com/PuerkitoBio/urlesc"; - rev = "de5bf2ad4578"; - sha256 = "0n0srpqwbaan1wrhh2b7ysz543pjs1xw2rghvqyffg9l0g8kzgcw"; - }; - } - - { - goPackagePath = "github.com/alecthomas/assert"; - fetch = { - type = "git"; - url = "https://github.com/alecthomas/assert"; - rev = "405dbfeb8e38"; - sha256 = "1l567pi17k593nrd1qlbmiq8z9jy3qs60px2a16fdpzjsizwqx8l"; - }; - } - - { - goPackagePath = "github.com/alecthomas/chroma"; - fetch = { - type = "git"; - url = "https://github.com/alecthomas/chroma"; - rev = "v0.5.0"; - sha256 = "150jv4vhsdi1gj3liwkgicdrwnzgv5qkq2fwznlnzf64vmfb0b9f"; - }; - } - - { - goPackagePath = "github.com/alecthomas/colour"; - fetch = { - type = "git"; - url = "https://github.com/alecthomas/colour"; - rev = "60882d9e2721"; - sha256 = "0iq566534gbzkd16ixg7fk298wd766821vvs80838yifx9yml5vs"; - }; - } - - { - goPackagePath = "github.com/alecthomas/repr"; - fetch = { - type = "git"; - url = "https://github.com/alecthomas/repr"; - rev = "117648cd9897"; - sha256 = "05v1rgzdqc8razf702laagrvhvx68xd9yxxmzd3dyz0d6425pdrp"; - }; - } - - { - goPackagePath = "github.com/bep/debounce"; - fetch = { - type = "git"; - url = "https://github.com/bep/debounce"; - rev = "v1.1.0"; - sha256 = "1sh4zv0hv7f454mhzpl2mbv7ar5rm00wyy5qr78x1h84bgph87wy"; - }; - } - - { - goPackagePath = "github.com/bep/gitmap"; - fetch = { - type = "git"; - url = "https://github.com/bep/gitmap"; - rev = "v1.0.0"; - sha256 = "0zqdl5h4ayi2gi5aqf35f1sjszhbcriksm2bf84fkrg7ngr48jn6"; - }; - } - - { - goPackagePath = "github.com/bep/go-tocss"; - fetch = { - type = "git"; - url = "https://github.com/bep/go-tocss"; - rev = "v0.5.0"; - sha256 = "12q7h6nydklq4kg65kcgd85209rx7zf64ba6nf3k7y16knj4233q"; - }; - } - - { - goPackagePath = "github.com/chaseadamsio/goorgeous"; - fetch = { - type = "git"; - url = "https://github.com/chaseadamsio/goorgeous"; - rev = "v1.1.0"; - sha256 = "07qdqi46klizq3wigxqbiksnlgbrdc8hvmizgzg0aas5iqy88dcb"; - }; - } - - { - goPackagePath = "github.com/cpuguy83/go-md2man"; - fetch = { - type = "git"; - url = "https://github.com/cpuguy83/go-md2man"; - rev = "v1.0.8"; - sha256 = "1w22dfdamsq63b5rvalh9k2y7rbwfkkjs7vm9vd4a13h2ql70lg2"; - }; - } - - { - goPackagePath = "github.com/danwakefield/fnmatch"; - fetch = { - type = "git"; - url = "https://github.com/danwakefield/fnmatch"; - rev = "cbb64ac3d964"; - sha256 = "0cbf511ppsa6hf59mdl7nbyn2b2n71y0bpkzbmfkdqjhanqh1lqz"; - }; - } - - { - goPackagePath = "github.com/davecgh/go-spew"; - fetch = { - type = "git"; - url = "https://github.com/davecgh/go-spew"; - rev = "v1.1.1"; - sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"; - }; - } - - { - goPackagePath = "github.com/disintegration/imaging"; - fetch = { - type = "git"; - url = "https://github.com/disintegration/imaging"; - rev = "v1.5.0"; - sha256 = "1laxccmzi7q51zxn81ringmdwp8iaipivrl375yc3gq56d70sp0r"; - }; - } - - { - goPackagePath = "github.com/dlclark/regexp2"; - fetch = { - type = "git"; - url = "https://github.com/dlclark/regexp2"; - rev = "v1.1.6"; - sha256 = "144s81ndviwhyy20ipxvvfvap8phv5p762glxrz6aqxprkxfarj5"; - }; - } - - { - goPackagePath = "github.com/eknkc/amber"; - fetch = { - type = "git"; - url = "https://github.com/eknkc/amber"; - rev = "cdade1c07385"; - sha256 = "152w97yckwncgw7lwjvgd8d00wy6y0nxzlvx72kl7nqqxs9vhxd9"; - }; - } - - { - goPackagePath = "github.com/fortytw2/leaktest"; - fetch = { - type = "git"; - url = "https://github.com/fortytw2/leaktest"; - rev = "v1.2.0"; - sha256 = "1lf9l6zgzjbcc7hmcjhhg3blx0y8icyxvjmjqqwfbwdk502803ra"; - }; - } - - { - goPackagePath = "github.com/fsnotify/fsnotify"; - fetch = { - type = "git"; - url = "https://github.com/fsnotify/fsnotify"; - rev = "v1.4.7"; - sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; - }; - } - - { - goPackagePath = "github.com/gobwas/glob"; - fetch = { - type = "git"; - url = "https://github.com/gobwas/glob"; - rev = "v0.2.3"; - sha256 = "0jxk1x806zn5x86342s72dq2qy64ksb3zrvrlgir2avjhwb18n6z"; - }; - } - - { - goPackagePath = "github.com/gorilla/websocket"; - fetch = { - type = "git"; - url = "https://github.com/gorilla/websocket"; - rev = "v1.4.0"; - sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk"; - }; - } - - { - goPackagePath = "github.com/hashicorp/go-immutable-radix"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/go-immutable-radix"; - rev = "v1.0.0"; - sha256 = "1v3nmsnk1s8bzpclrhirz7iq0g5xxbw9q5gvrg9ss6w9crs72qr6"; - }; - } - - { - goPackagePath = "github.com/hashicorp/go-uuid"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/go-uuid"; - rev = "v1.0.0"; - sha256 = "1jflywlani7583qm4ysph40hsgx3n66n5zr2k84i057fmwa1ypfy"; - }; - } - - { - goPackagePath = "github.com/hashicorp/golang-lru"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/golang-lru"; - rev = "v0.5.0"; - sha256 = "12k2cp2k615fjvfa5hyb9k2alian77wivds8s65diwshwv41939f"; - }; - } - - { - goPackagePath = "github.com/hashicorp/hcl"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/hcl"; - rev = "v1.0.0"; - sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66"; - }; - } - - { - goPackagePath = "github.com/inconshreveable/mousetrap"; - fetch = { - type = "git"; - url = "https://github.com/inconshreveable/mousetrap"; - rev = "v1.0.0"; - sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152"; - }; - } - - { - goPackagePath = "github.com/jdkato/prose"; - fetch = { - type = "git"; - url = "https://github.com/jdkato/prose"; - rev = "v1.1.0"; - sha256 = "1gjqgrpc7wbqvnhgwyfhxng24qvx37qjy0x2mbikiw1vaygxqsmy"; - }; - } - - { - goPackagePath = "github.com/kr/pretty"; - fetch = { - type = "git"; - url = "https://github.com/kr/pretty"; - rev = "v0.1.0"; - sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp"; - }; - } - - { - goPackagePath = "github.com/kr/pty"; - fetch = { - type = "git"; - url = "https://github.com/kr/pty"; - rev = "v1.1.1"; - sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6"; - }; - } - - { - goPackagePath = "github.com/kr/text"; - fetch = { - type = "git"; - url = "https://github.com/kr/text"; - rev = "v0.1.0"; - sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1"; - }; - } - - { - goPackagePath = "github.com/kyokomi/emoji"; - fetch = { - type = "git"; - url = "https://github.com/kyokomi/emoji"; - rev = "v1.5.1"; - sha256 = "005rxyxlqcd2sfjn686xb52l11wn2w0g5jv042ka6pnsx24r812a"; - }; - } - - { - goPackagePath = "github.com/magefile/mage"; - fetch = { - type = "git"; - url = "https://github.com/magefile/mage"; - rev = "v1.4.0"; - sha256 = "177hzmmzhk7bcm3jj2cj6d5l9h5ql3cikvndhk4agkslrhwr3xka"; - }; - } - - { - goPackagePath = "github.com/magiconair/properties"; - fetch = { - type = "git"; - url = "https://github.com/magiconair/properties"; - rev = "v1.8.0"; - sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn"; - }; - } - - { - goPackagePath = "github.com/markbates/inflect"; - fetch = { - type = "git"; - url = "https://github.com/markbates/inflect"; - rev = "a12c3aec81a6"; - sha256 = "0mawr6z9nav4f5j0nmjdxg9lbfhr7wz8zi34g7b6wndmzyf8jbsd"; - }; - } - - { - 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 = "v0.0.3"; - sha256 = "0lc39b6xrxv7h3v3y1kgz49cgi5qxwlygs715aam6ba35m48yi7g"; - }; - } - - { - goPackagePath = "github.com/miekg/mmark"; - fetch = { - type = "git"; - url = "https://github.com/miekg/mmark"; - rev = "v1.3.6"; - sha256 = "0q2zrwa2vwk7a0zhmi000zpqrc01zssrj9c5n3573rg68fksg77m"; - }; - } - - { - goPackagePath = "github.com/mitchellh/hashstructure"; - fetch = { - type = "git"; - url = "https://github.com/mitchellh/hashstructure"; - rev = "v1.0.0"; - sha256 = "0zgl5c03ip2yzkb9b7fq9ml08i7j8prgd46ha1fcg8c6r7k9xl3i"; - }; - } - - { - goPackagePath = "github.com/mitchellh/mapstructure"; - fetch = { - type = "git"; - url = "https://github.com/mitchellh/mapstructure"; - rev = "v1.0.0"; - sha256 = "0f06q4fpzg0c370cvmpsl0iq2apl5nkbz5cd3nba5x5ysmshv1lm"; - }; - } - - { - goPackagePath = "github.com/muesli/smartcrop"; - fetch = { - type = "git"; - url = "https://github.com/muesli/smartcrop"; - rev = "f6ebaa786a12"; - sha256 = "0xbv5wbn0z36nkw9ay3ly6z23lpsrs0khryl1w54fz85lvwh66gp"; - }; - } - - { - goPackagePath = "github.com/nfnt/resize"; - fetch = { - type = "git"; - url = "https://github.com/nfnt/resize"; - rev = "83c6a9932646"; - sha256 = "005cpiwq28krbjf0zjwpfh63rp4s4is58700idn24fs3g7wdbwya"; - }; - } - - { - goPackagePath = "github.com/nicksnyder/go-i18n"; - fetch = { - type = "git"; - url = "https://github.com/nicksnyder/go-i18n"; - rev = "v1.10.0"; - sha256 = "1nlvq85c232z5yjs86pxpmkv7hk6gb5pa6j4hhzgdz85adk2ma04"; - }; - } - - { - goPackagePath = "github.com/olekukonko/tablewriter"; - fetch = { - type = "git"; - url = "https://github.com/olekukonko/tablewriter"; - rev = "d4647c9c7a84"; - sha256 = "1274k5r9ardh1f6gsmadxmdds7zy8rkr55fb9swvnm0vazr3y01l"; - }; - } - - { - goPackagePath = "github.com/pelletier/go-toml"; - fetch = { - type = "git"; - url = "https://github.com/pelletier/go-toml"; - rev = "v1.2.0"; - sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy"; - }; - } - - { - goPackagePath = "github.com/pkg/errors"; - fetch = { - type = "git"; - url = "https://github.com/pkg/errors"; - rev = "v0.8.0"; - sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5"; - }; - } - - { - goPackagePath = "github.com/pmezard/go-difflib"; - fetch = { - type = "git"; - url = "https://github.com/pmezard/go-difflib"; - rev = "v1.0.0"; - sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; - }; - } - - { - goPackagePath = "github.com/russross/blackfriday"; - fetch = { - type = "git"; - url = "https://github.com/russross/blackfriday"; - rev = "46c73eb196ba"; - sha256 = "01z1jsdkac09cw95lqq4pahkw9xnini2mb956lvb772bby2x3dmj"; - }; - } - - { - goPackagePath = "github.com/sanity-io/litter"; - fetch = { - type = "git"; - url = "https://github.com/sanity-io/litter"; - rev = "v1.1.0"; - sha256 = "09nywwxxd6rmhxc7rsvs96ynjszmnvmhwr7dvh1n35hb6h9y7s2r"; - }; - } - - { - goPackagePath = "github.com/sergi/go-diff"; - fetch = { - type = "git"; - url = "https://github.com/sergi/go-diff"; - rev = "v1.0.0"; - sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7"; - }; - } - - { - goPackagePath = "github.com/shurcooL/sanitized_anchor_name"; - fetch = { - type = "git"; - url = "https://github.com/shurcooL/sanitized_anchor_name"; - rev = "86672fcb3f95"; - sha256 = "142m507s9971cl8qdmbcw7sqxnkgi3xqd8wzvfq15p0w7w8i4a3h"; - }; - } - - { - goPackagePath = "github.com/spf13/afero"; - fetch = { - type = "git"; - url = "https://github.com/spf13/afero"; - rev = "v1.1.2"; - sha256 = "0miv4faf5ihjfifb1zv6aia6f6ik7h1s4954kcb8n6ixzhx9ck6k"; - }; - } - - { - goPackagePath = "github.com/spf13/cast"; - fetch = { - type = "git"; - url = "https://github.com/spf13/cast"; - rev = "v1.3.0"; - sha256 = "0xq1ffqj8y8h7dcnm0m9lfrh0ga7pssnn2c1dnr09chqbpn4bdc5"; - }; - } - - { - goPackagePath = "github.com/spf13/cobra"; - fetch = { - type = "git"; - url = "https://github.com/spf13/cobra"; - rev = "v0.0.3"; - sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd"; - }; - } - - { - goPackagePath = "github.com/spf13/fsync"; - fetch = { - type = "git"; - url = "https://github.com/spf13/fsync"; - rev = "12a01e648f05"; - sha256 = "1vvbgxbbsc4mvi1axgqgn9pzjz1p495dsmwpc7mr8qxh8f6s0nhv"; - }; - } - - { - goPackagePath = "github.com/spf13/jwalterweatherman"; - fetch = { - type = "git"; - url = "https://github.com/spf13/jwalterweatherman"; - rev = "94f6ae3ed3bc"; - sha256 = "1ywmkwci5zyd88ijym6f30fj5c0k2yayxarkmnazf5ybljv50q7b"; - }; - } - - { - goPackagePath = "github.com/spf13/nitro"; - fetch = { - type = "git"; - url = "https://github.com/spf13/nitro"; - rev = "24d7ef30a12d"; - sha256 = "143sbpx0jdgf8f8ayv51x6l4jg6cnv6nps6n60qxhx4vd90s6mib"; - }; - } - - { - goPackagePath = "github.com/spf13/pflag"; - fetch = { - type = "git"; - url = "https://github.com/spf13/pflag"; - rev = "v1.0.2"; - sha256 = "005598piihl3l83a71ahj10cpq9pbhjck4xishx1b4dzc02r9xr2"; - }; - } - - { - goPackagePath = "github.com/spf13/viper"; - fetch = { - type = "git"; - url = "https://github.com/spf13/viper"; - rev = "v1.2.0"; - sha256 = "0klv7dyllvv9jkyspy4ww5nrz24ngb3adlh884cbdjn7562bhi47"; - }; - } - - { - goPackagePath = "github.com/stretchr/testify"; - fetch = { - type = "git"; - url = "https://github.com/stretchr/testify"; - rev = "f2347ac6c9c9"; - sha256 = "0ns8zc2n8gpcsd1fdaqbq7a8d939lnaxraqx5nr2fi2zdxqyh7hm"; - }; - } - - { - goPackagePath = "github.com/tdewolff/minify"; - fetch = { - type = "git"; - url = "https://github.com/tdewolff/minify"; - rev = "v2.3.6"; - sha256 = "0p4v4ab49lm5y438k5aks06fpiagbjw2j2x7i8jaa273mkgicrbb"; - }; - } - - { - goPackagePath = "github.com/tdewolff/parse"; - fetch = { - type = "git"; - url = "https://github.com/tdewolff/parse"; - rev = "fced451e0bed"; - sha256 = "1n6wcapk8xbck2zjxd4l5cgfn1v12rr7znrdpd5y2xp1nc3739c3"; - }; - } - - { - goPackagePath = "github.com/tdewolff/test"; - fetch = { - type = "git"; - url = "https://github.com/tdewolff/test"; - rev = "v1.0.0"; - sha256 = "10vyp4bhanzg3yl9k8zqfdrxpsmx8yc53xv4lqxfymd7jjyqgssj"; - }; - } - - { - goPackagePath = "github.com/wellington/go-libsass"; - fetch = { - type = "git"; - url = "https://github.com/wellington/go-libsass"; - rev = "615eaa47ef79"; - sha256 = "0imjiskn4vq7nml5jwb1scgl61jg53cfpkjnb9rsc6m8gsd8s16s"; - }; - } - - { - goPackagePath = "github.com/yosssi/ace"; - fetch = { - type = "git"; - url = "https://github.com/yosssi/ace"; - rev = "v0.0.5"; - sha256 = "1kbvbc56grrpnl65grygd23gyn3nkkhxdg8awhzkjmd0cvki8w1f"; - }; - } - - { - goPackagePath = "golang.org/x/image"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/image"; - rev = "c73c2afc3b81"; - sha256 = "1kkafy29vz5xf6r29ghbvvbwrgjxwxvzk6dsa2qhyp1ddk6l2vkz"; - }; - } - - { - goPackagePath = "golang.org/x/net"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/net"; - rev = "161cd47e91fd"; - sha256 = "0254ld010iijygbzykib2vags1dc0wlmcmhgh4jl8iny159lhbcv"; - }; - } - - { - goPackagePath = "golang.org/x/sync"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sync"; - rev = "1d60e4601c6f"; - sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6"; - }; - } - - { - goPackagePath = "golang.org/x/sys"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sys"; - rev = "d0be0721c37e"; - sha256 = "081wyvfnlf842dqg03raxfz6lldlxpmyh1prix9lmrrm65arxb12"; - }; - } - - { - goPackagePath = "golang.org/x/text"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/text"; - rev = "v0.3.0"; - sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; - }; - } - - { - goPackagePath = "gopkg.in/check.v1"; - fetch = { - type = "git"; - url = "https://gopkg.in/check.v1"; - rev = "788fd7840127"; - sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a"; - }; - } - - { - goPackagePath = "gopkg.in/yaml.v2"; - fetch = { - type = "git"; - url = "https://gopkg.in/yaml.v2"; - rev = "v2.2.1"; - sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; - }; - } -] diff --git a/pkgs/applications/misc/hyper/default.nix b/pkgs/applications/misc/hyper/default.nix index 04c3e0320f6..f21675e60b2 100644 --- a/pkgs/applications/misc/hyper/default.nix +++ b/pkgs/applications/misc/hyper/default.nix @@ -1,21 +1,21 @@ -{ stdenv, lib, fetchurl, dpkg, atk, glib, pango, gdk_pixbuf, gnome2, gtk2, cairo +{ stdenv, lib, fetchurl, dpkg, atk, glib, pango, gdk-pixbuf, gnome2, gtk2, cairo , freetype, fontconfig, dbus, libXi, libXcursor, libXdamage, libXrandr , libXcomposite, libXext, libXfixes, libXrender, libX11, libXtst, libXScrnSaver , libxcb, nss, nspr, alsaLib, cups, expat, udev, libpulseaudio }: let libPath = stdenv.lib.makeLibraryPath [ - stdenv.cc.cc gtk2 gnome2.GConf atk glib pango gdk_pixbuf cairo freetype fontconfig dbus + stdenv.cc.cc gtk2 gnome2.GConf atk glib pango gdk-pixbuf cairo freetype fontconfig dbus libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libxcb libXrender libX11 libXtst libXScrnSaver nss nspr alsaLib cups expat udev libpulseaudio ]; in stdenv.mkDerivation rec { - version = "2.1.1"; - name = "hyper-${version}"; + version = "2.1.2"; + pname = "hyper"; src = fetchurl { url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}_amd64.deb"; - sha256 = "1vr4j2vb2wpn8qzgq30l8kfck2an03jwchwywyx4zsl2vz3qp70x"; + sha256 = "1n4qlbk7q9zkhhg72mdks95g15xgyrc6ixf882ghvrqghd4zxplm"; }; buildInputs = [ dpkg ]; unpackPhase = '' diff --git a/pkgs/applications/misc/icesl/default.nix b/pkgs/applications/misc/icesl/default.nix index c0c1faef09d..c197e1a8fd3 100644 --- a/pkgs/applications/misc/icesl/default.nix +++ b/pkgs/applications/misc/icesl/default.nix @@ -3,7 +3,7 @@ let lpath = stdenv.lib.makeLibraryPath [ libXmu libXi libX11 freeglut libICE libGLU_combined libSM libXext ]; in stdenv.mkDerivation rec { - name = "iceSL-${version}"; + pname = "iceSL"; version = "2.1.10"; src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchzip { diff --git a/pkgs/applications/misc/ipmicfg/default.nix b/pkgs/applications/misc/ipmicfg/default.nix index d9bccee889a..7daa2704e22 100644 --- a/pkgs/applications/misc/ipmicfg/default.nix +++ b/pkgs/applications/misc/ipmicfg/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchzip }: stdenv.mkDerivation rec { - name = "ipmicfg-${version}"; + pname = "ipmicfg"; version = "1.29.0"; buildVersion = "181029"; diff --git a/pkgs/applications/misc/ipmiview/default.nix b/pkgs/applications/misc/ipmiview/default.nix index b5fa9143ddb..64e0f0d325b 100644 --- a/pkgs/applications/misc/ipmiview/default.nix +++ b/pkgs/applications/misc/ipmiview/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, patchelf, makeWrapper, xorg, gcc, gcc-unwrapped }: stdenv.mkDerivation rec { - name = "IPMIView-${version}"; + pname = "IPMIView"; version = "2.14.0"; buildVersion = "180213"; diff --git a/pkgs/applications/misc/iterm2/default.nix b/pkgs/applications/misc/iterm2/default.nix index fa2ac38d383..d63576d5cbd 100644 --- a/pkgs/applications/misc/iterm2/default.nix +++ b/pkgs/applications/misc/iterm2/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "iterm2-${version}"; + pname = "iterm2"; version = "3.0.14"; src = fetchFromGitHub { @@ -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/j4-dmenu-desktop/default.nix b/pkgs/applications/misc/j4-dmenu-desktop/default.nix index f24951624c5..c20fa4ed9d9 100644 --- a/pkgs/applications/misc/j4-dmenu-desktop/default.nix +++ b/pkgs/applications/misc/j4-dmenu-desktop/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, cmake, dmenu }: stdenv.mkDerivation rec { - name = "j4-dmenu-desktop-${version}"; - version = "2.16"; + pname = "j4-dmenu-desktop"; + version = "2.17"; src = fetchFromGitHub { - owner = "enkore"; - repo = "j4-dmenu-desktop"; - rev = "r${version}"; - sha256 = "0714cri8bwpimmiirhzrkbri4xi24k0za6i1aw94d3fnblk2dg9f"; + owner = "enkore"; + repo = pname; + rev = "r${version}"; + sha256 = "0v23fimkn83dcm5p53y2ymhklff3kwppxhf75sm8xmswrzkixpgc"; }; postPatch = '' @@ -18,13 +18,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; # tests are fetching an external git repository - cmakeFlags = [ "-DNO_TESTS:BOOL=ON" ]; + cmakeFlags = [ + "-DWITH_TESTS=OFF" + "-DWITH_GIT_CATCH=OFF" + ]; meta = with stdenv.lib; { description = "A wrapper for dmenu that recognize .desktop files"; - homepage = "https://github.com/enkore/j4-dmenu-desktop"; - license = licenses.gpl3; + homepage = "https://github.com/enkore/j4-dmenu-desktop"; + license = licenses.gpl3; maintainers = with maintainers; [ ericsagnes ]; - platforms = with platforms; unix; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/misc/jbidwatcher/default.nix b/pkgs/applications/misc/jbidwatcher/default.nix index 2c46ea3ac9a..c8951059d4c 100644 --- a/pkgs/applications/misc/jbidwatcher/default.nix +++ b/pkgs/applications/misc/jbidwatcher/default.nix @@ -1,11 +1,9 @@ -{ stdenv, fetchurl, java }: +{ stdenv, fetchurl, java, runtimeShell }: stdenv.mkDerivation rec { pname = "jbidwatcher"; version = "2.5.6"; - name = "${pname}-${version}"; - src = fetchurl { url = "http://www.jbidwatcher.com/download/JBidwatcher-${version}.jar"; sha256 = "1cw59wh72w1zzibs8x64dma3jc4hry64wjksqs52nc3vpnf0fzfr"; @@ -15,13 +13,13 @@ stdenv.mkDerivation rec { jarfile = "$out/share/java/${pname}/JBidwatcher.jar"; - unpackPhase = "true"; + dontUnpack = true; dontBuild = true; installPhase = '' mkdir -p "$out/bin" - echo > "$out/bin/${pname}" "#!${stdenv.shell}" + 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 b/pkgs/applications/misc/jekyll/basic/Gemfile index 2d3446a8113..c4ba46e2ac6 100644 --- a/pkgs/applications/misc/jekyll/basic/Gemfile +++ b/pkgs/applications/misc/jekyll/basic/Gemfile @@ -1,8 +1,6 @@ source "https://rubygems.org" gem "jekyll" # jekyll alone might be enough for most use-cases -gem "rouge" -gem "activesupport", "~> 4.2" gem "jekyll-avatar" gem "jekyll-mentions" gem "jekyll-seo-tag" diff --git a/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/pkgs/applications/misc/jekyll/basic/Gemfile.lock index 6841bc14c38..54c703bb859 100644 --- a/pkgs/applications/misc/jekyll/basic/Gemfile.lock +++ b/pkgs/applications/misc/jekyll/basic/Gemfile.lock @@ -1,99 +1,103 @@ GEM remote: https://rubygems.org/ specs: - activesupport (4.2.10) - i18n (~> 0.7) + activesupport (6.0.0) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - addressable (2.5.2) + zeitwerk (~> 2.1, >= 2.1.8) + addressable (2.6.0) public_suffix (>= 2.0.2, < 4.0) colorator (1.1.0) - concurrent-ruby (1.1.1) + 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.11.1) forwardable-extended (2.6.0) - gemoji (3.0.0) - html-pipeline (2.8.4) + gemoji (3.0.1) + html-pipeline (2.12.0) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.6.0) - i18n (0.9.5) + i18n (1.6.0) concurrent-ruby (~> 1.0) - jekyll (3.8.5) + jekyll (4.0.0) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) - i18n (~> 0.7) - jekyll-sass-converter (~> 1.0) + i18n (>= 0.9.5, < 2) + jekyll-sass-converter (~> 2.0) jekyll-watch (~> 2.0) - kramdown (~> 1.14) + kramdown (~> 2.1) + kramdown-parser-gfm (~> 1.0) liquid (~> 4.0) mercenary (~> 0.3.3) pathutil (~> 0.9) - rouge (>= 1.7, < 4) + rouge (~> 3.0) safe_yaml (~> 1.0) - jekyll-avatar (0.6.0) - jekyll (~> 3.0) - jekyll-mentions (1.4.1) + terminal-table (~> 1.8) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) + jekyll-mentions (1.5.1) html-pipeline (~> 2.3) - jekyll (~> 3.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 (~> 3.3) - jekyll-watch (2.1.2) + jekyll (>= 3.7, < 5.0) + jekyll-sass-converter (2.0.0) + sassc (> 2.0.1, < 3.0) + jekyll-seo-tag (2.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-sitemap (1.3.1) + jekyll (>= 3.7, < 5.0) + jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.10.1) + jemoji (0.11.1) gemoji (~> 3.0) html-pipeline (~> 2.2) - jekyll (~> 3.0) - kramdown (1.17.0) - liquid (4.0.1) + jekyll (>= 3.0, < 5.0) + kramdown (2.1.0) + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.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.5) - mini_portile2 (~> 2.3.0) + nokogiri (1.10.4) + mini_portile2 (~> 2.4.0) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (3.0.3) + public_suffix (3.1.1) rb-fsevent (0.10.3) - rb-inotify (0.9.10) - ffi (>= 0.5.0, < 2) - rouge (3.3.0) + rb-inotify (0.10.0) + ffi (~> 1.0) + rouge (3.9.0) ruby_dep (1.5.0) - safe_yaml (1.0.4) - sass (3.6.0) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) + safe_yaml (1.0.5) + sassc (2.1.0) + ffi (~> 1.9) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) tzinfo (1.2.5) thread_safe (~> 0.1) + unicode-display_width (1.6.0) + zeitwerk (2.1.9) PLATFORMS ruby DEPENDENCIES - activesupport (~> 4.2) jekyll jekyll-avatar jekyll-mentions jekyll-seo-tag jekyll-sitemap jemoji - rouge BUNDLED WITH - 1.16.4 + 1.17.2 diff --git a/pkgs/applications/misc/jekyll/basic/gemset.nix b/pkgs/applications/misc/jekyll/basic/gemset.nix index d680f925590..41e599c0202 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"]; + dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0s12j8vl8vrxfngkdlz9g8bpz9akq1z42d57mx5r537b2pji8nr7"; + sha256 = "0b24ch7zmrdb4h6aismahk9785lc4ij30lmdr6ydv19kkljsjq5v"; type = "gem"; }; - version = "4.2.10"; + version = "6.0.0"; }; 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 = "1bnr2dlj2a11qy3rwh6m1mv5419vy32j2axk3ln7bphyvwn7pli0"; + sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; type = "gem"; }; - version = "1.1.1"; + 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 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh"; type = "gem"; }; - version = "1.9.25"; + version = "1.11.1"; }; forwardable-extended = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "15zcqfxfvsnprwm8agia85x64vjzr2w0xn9vxfnxzgcv8s699v0v"; @@ -67,23 +83,29 @@ version = "2.6.0"; }; gemoji = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1h85qpn2xbmsn8ssf2fqzlqg181j000m5z4l3g26r7vblncg162d"; + sha256 = "0vgklpmhdz98xayln5hhqv4ffdyrglzwdixkn5gsk9rj94pkymc0"; type = "gem"; }; - version = "3.0.0"; + version = "3.0.1"; }; html-pipeline = { dependencies = ["activesupport" "nokogiri"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mpj5y13jk1arqkhdk66n49kyglmci980c1l6np7pqgyjllb68ad"; + sha256 = "0f7x70p3fda7i5wfjjljjgjgqwx8m12345bs4xpnh7fhnis42fkk"; type = "gem"; }; - version = "2.8.4"; + version = "2.12.0"; }; "http_parser.rb" = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi"; @@ -93,103 +115,138 @@ }; i18n = { dependencies = ["concurrent-ruby"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3"; + sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl"; type = "gem"; }; - version = "0.9.5"; + version = "1.6.0"; }; jekyll = { - dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml"]; + dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nn2sc308l2mz0yiall4r90l6vy67qp4sy9zapi73a948nd4a5k3"; + sha256 = "0fpckw5nf4hfr5vhhdlmaxxp5lkdmc1vyqnmijwvy9fmjn4c87aa"; type = "gem"; }; - version = "3.8.5"; + version = "4.0.0"; }; jekyll-avatar = { dependencies = ["jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "124624r83pmn7sp2idnsph9m1bbdiha5jnza4ypna8w2inpih51p"; + sha256 = "03bys2pl60vq92skfhlfqr2j68zhfjc86jffpg32f94wzjk8n0wk"; type = "gem"; }; - version = "0.6.0"; + version = "0.7.0"; }; jekyll-mentions = { dependencies = ["html-pipeline" "jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hg1rlra12im62z5yml4rlll3icz1146hkcv98mk2a96fsgniwqf"; + sha256 = "1r81nbw598s485jsppbpy9kwa471w1rdkpdn3a1mq0swg87cp67v"; type = "gem"; }; - version = "1.4.1"; + version = "1.5.1"; }; jekyll-sass-converter = { - dependencies = ["sass"]; + dependencies = ["sassc"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "008ikh5fk0n6ri54mylcl8jn0mq8p2nfyfqif2q3pp0lwilkcxsk"; + sha256 = "0fbc25p8vqyzmg8wpmgacqjkk3jhrr6kz9y45m43ygck74h2cad2"; type = "gem"; }; - version = "1.5.2"; + version = "2.0.0"; }; jekyll-seo-tag = { dependencies = ["jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19yfr5i04gm50swbc6xxf4090z5z1v0kjfnvh695ydq1dkyx1csl"; + sha256 = "1p9fl2r4ni10lbx143zp41caldjs4hg27az5wg42sbwzb7s6z66m"; type = "gem"; }; - version = "2.5.0"; + version = "2.6.1"; }; 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 = "1s9ly83sp8albvgdff12xy2h4xd8lm6z2fah4lzmk2yvp85jzdzv"; + sha256 = "1qd7hy1kl87fl7l0frw5qbn22x7ayfzlv9a5ca1m59g0ym1ysi5w"; type = "gem"; }; - version = "2.1.2"; + version = "2.2.1"; }; jemoji = { dependencies = ["gemoji" "html-pipeline" "jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yjbgawzmlcppmlhz5sdhjim6ki0vh0vh07mbyf05qa4994ckihs"; + sha256 = "1yd77r5jvh9chf5qcp6z63gg40yp5n1sr7nv1hlmbq3xjzlhs6h6"; type = "gem"; }; - version = "0.10.1"; + version = "0.11.1"; }; kramdown = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq"; + sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688"; type = "gem"; }; - version = "1.17.0"; + version = "2.1.0"; + }; + kramdown-parser-gfm = { + dependencies = ["kramdown"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv"; + type = "gem"; + }; + version = "1.1.0"; }; liquid = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bs9smxgj29s4k76zfj09f7mhd35qwm9zki1yqa4jfwiki8v97nw"; + sha256 = "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by"; type = "gem"; }; - version = "4.0.1"; + version = "4.0.3"; }; listen = { dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"; @@ -198,6 +255,8 @@ version = "3.1.5"; }; mercenary = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "10la0xw82dh5mqab8bl0dk21zld63cqxb1g16fk8cb39ylc4n21a"; @@ -206,14 +265,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,15 +286,19 @@ }; nokogiri = { dependencies = ["mini_portile2"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz"; + sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv"; type = "gem"; }; - version = "1.8.5"; + version = "1.10.4"; }; pathutil = { dependencies = ["forwardable-extended"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "12fm93ljw9fbxmv2krki5k5wkvr7560qy8p4spvb9jiiaqv78fz4"; @@ -240,14 +307,18 @@ version = "0.16.2"; }; public_suffix = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; + sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm"; type = "gem"; }; - version = "3.0.3"; + version = "3.1.1"; }; rb-fsevent = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; @@ -257,22 +328,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 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql"; + sha256 = "1cn6fin40ngrasqi6qis85mqwx6phnbkzhkkd93acm9vrcf3rkl3"; type = "gem"; }; - version = "3.3.0"; + version = "3.9.0"; }; ruby_dep = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5"; @@ -281,32 +358,40 @@ 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"]; + sassc = { + dependencies = ["ffi"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18c6prbw9wl8bqhb2435pd9s0lzarl3g7xf8pmyla28zblvwxmyh"; + sha256 = "06kwfqvpwf33cvkvbv1l9g5ln3q721hz5d3dyasq0k9d28x9w4fs"; type = "gem"; }; - version = "3.6.0"; + version = "2.1.0"; }; - sass-listen = { - dependencies = ["rb-fsevent" "rb-inotify"]; + terminal-table = { + dependencies = ["unicode-display_width"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df"; + sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; type = "gem"; }; - version = "4.0.0"; + version = "1.8.0"; }; thread_safe = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; @@ -316,6 +401,8 @@ }; tzinfo = { dependencies = ["thread_safe"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; @@ -323,4 +410,24 @@ }; version = "1.2.5"; }; + unicode-display_width = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w"; + type = "gem"; + }; + version = "1.6.0"; + }; + zeitwerk = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gaiqg207j99cvqpgmn4ps6a14hz1rrh5zaxfdkiiavapbc5vpzw"; + type = "gem"; + }; + version = "2.1.9"; + }; } \ No newline at end of file diff --git a/pkgs/applications/misc/jekyll/default.nix b/pkgs/applications/misc/jekyll/default.nix index ce3c318f678..9ae9ab254e8 100644 --- a/pkgs/applications/misc/jekyll/default.nix +++ b/pkgs/applications/misc/jekyll/default.nix @@ -1,23 +1,41 @@ -{ lib, bundlerEnv, ruby +{ lib, bundlerApp, ruby +, writeShellScriptBin, makeWrapper , withOptionalDependencies ? false }: -# Bundix: -# nix-shell -p bundix zlib -bundlerEnv rec { - name = pname + "-" + version; +let + rubyWrapper = writeShellScriptBin "ruby" '' + if [[ "$#" -eq 2 ]]; then + if [[ "''${1##*/}" == "bundle" && "$2" == "install" ]]; then + # See https://github.com/NixOS/nixpkgs/issues/58126 for more details. + echo 'Skipping "bundle install" as it fails due to the Nix wrapper.' + echo 'Please enter the new directory and run the following commands to serve the page:' + echo 'nix-shell -p bundler --run "bundle install --gemfile=Gemfile --path vendor/cache"' + echo 'nix-shell -p bundler --run "bundle exec jekyll serve"' + exit 0 + # The following nearly works: + unset BUNDLE_FROZEN + exec ${ruby}/bin/ruby "$@" --gemfile=Gemfile --path=vendor/cache + fi + fi + # Else: Don't modify the arguments: + exec ${ruby}/bin/ruby "$@" + ''; +in 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 then ./full else ./basic; + buildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/jekyll --prefix PATH : ${rubyWrapper}/bin + ''; + meta = with lib; { description = "A blog-aware, static site generator, written in Ruby"; longDescription = '' diff --git a/pkgs/applications/misc/jekyll/full/Gemfile b/pkgs/applications/misc/jekyll/full/Gemfile index aba5e06e376..8e7499bad61 100644 --- a/pkgs/applications/misc/jekyll/full/Gemfile +++ b/pkgs/applications/misc/jekyll/full/Gemfile @@ -1,30 +1,27 @@ source "https://rubygems.org" + gem "jekyll" -gem "rouge" -gem "activesupport", "~> 4.2" + gem "jekyll-avatar" gem "jekyll-mentions" gem "jekyll-seo-tag" gem "jekyll-sitemap" gem "jemoji" + # Optional dependencies: -gem "coderay", "~> 1.1.0" gem "jekyll-coffeescript" #gem "jekyll-docs" gem "jekyll-feed", "~> 0.9" gem "jekyll-gist" gem "jekyll-paginate" gem "jekyll-redirect-from" -gem "kramdown", "~> 1.14" +gem "kramdown-syntax-coderay" gem "mime-types", "~> 3.0" -gem "rdoc", RUBY_VERSION >= "2.2.2" ? "~> 6.0" : "~> 5.1" +gem "rdoc", "~> 6.0" gem "tomlrb", "~> 1.2" platform :ruby, :mswin, :mingw, :x64_mingw do - gem "classifier-reborn", "~> 2.2.0" - gem "liquid-c", "~> 3.0" - gem "pygments.rb", "~> 1.0" - gem "rdiscount", "~> 2.0" - gem "redcarpet", "~> 3.2", ">= 3.2.3" - gem "yajl-ruby", "~> 1.3.1" + gem "classifier-reborn", "~> 2.2" + gem "liquid-c", "~> 4.0" + gem "yajl-ruby", "~> 1.4" end diff --git a/pkgs/applications/misc/jekyll/full/Gemfile.lock b/pkgs/applications/misc/jekyll/full/Gemfile.lock index 5fe2d108500..6410b885ea4 100644 --- a/pkgs/applications/misc/jekyll/full/Gemfile.lock +++ b/pkgs/applications/misc/jekyll/full/Gemfile.lock @@ -1,12 +1,13 @@ GEM remote: https://rubygems.org/ specs: - activesupport (4.2.10) - i18n (~> 0.7) + activesupport (6.0.0) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - addressable (2.5.2) + zeitwerk (~> 2.1, >= 2.1.8) + addressable (2.6.0) public_suffix (>= 2.0.2, < 4.0) classifier-reborn (2.2.0) fast-stemmer (~> 1.0) @@ -14,69 +15,76 @@ 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.1.1) + 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.3) + faraday (0.15.4) multipart-post (>= 1.2, < 3) fast-stemmer (1.0.2) - ffi (1.9.25) + ffi (1.11.1) forwardable-extended (2.6.0) - gemoji (3.0.0) - html-pipeline (2.8.4) + gemoji (3.0.1) + html-pipeline (2.12.0) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.6.0) - i18n (0.9.5) + i18n (1.6.0) concurrent-ruby (~> 1.0) - jekyll (3.8.5) + jekyll (4.0.0) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) - i18n (~> 0.7) - jekyll-sass-converter (~> 1.0) + i18n (>= 0.9.5, < 2) + jekyll-sass-converter (~> 2.0) jekyll-watch (~> 2.0) - kramdown (~> 1.14) + kramdown (~> 2.1) + kramdown-parser-gfm (~> 1.0) liquid (~> 4.0) mercenary (~> 0.3.3) pathutil (~> 0.9) - rouge (>= 1.7, < 4) + rouge (~> 3.0) safe_yaml (~> 1.0) - jekyll-avatar (0.6.0) - jekyll (~> 3.0) - jekyll-coffeescript (1.1.1) + terminal-table (~> 1.8) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.2.2) coffee-script (~> 2.2) - coffee-script-source (~> 1.11.1) - jekyll-feed (0.11.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.1) + 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.14.0) - jekyll (~> 3.3) - jekyll-sass-converter (1.5.2) - sass (~> 3.4) - jekyll-seo-tag (2.5.0) - jekyll (~> 3.3) - jekyll-sitemap (1.2.0) - jekyll (~> 3.3) - jekyll-watch (2.1.2) + jekyll-redirect-from (0.15.0) + jekyll (>= 3.3, < 5.0) + jekyll-sass-converter (2.0.0) + sassc (> 2.0.1, < 3.0) + jekyll-seo-tag (2.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-sitemap (1.3.1) + jekyll (>= 3.7, < 5.0) + jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.10.1) + jemoji (0.11.1) gemoji (~> 3.0) html-pipeline (~> 2.2) - jekyll (~> 3.0) - kramdown (1.17.0) - liquid (4.0.1) - liquid-c (3.0.0) + jekyll (>= 3.0, < 5.0) + kramdown (2.1.0) + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + kramdown-syntax-coderay (1.0.1) + coderay (~> 1.1) + kramdown (~> 2.0) + liquid (4.0.3) + liquid-c (4.0.0) liquid (>= 3.0.0) listen (3.1.5) rb-fsevent (~> 0.9, >= 0.9.4) @@ -85,50 +93,44 @@ GEM mercenary (0.3.6) mime-types (3.2.2) mime-types-data (~> 3.2015) - mime-types-data (3.2018.0812) - 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.5) - mini_portile2 (~> 2.3.0) - octokit (4.13.0) + multipart-post (2.1.1) + nokogiri (1.10.4) + mini_portile2 (~> 2.4.0) + octokit (4.14.0) sawyer (~> 0.8.0, >= 0.5.3) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (3.0.3) - pygments.rb (1.2.1) - multi_json (>= 1.0.0) + public_suffix (3.1.1) rb-fsevent (0.10.3) - rb-inotify (0.9.10) - ffi (>= 0.5.0, < 2) - rdiscount (2.2.0.1) - rdoc (6.0.4) - redcarpet (3.4.0) - rouge (3.3.0) + rb-inotify (0.10.0) + ffi (~> 1.0) + rdoc (6.1.1) + rouge (3.9.0) ruby_dep (1.5.0) - safe_yaml (1.0.4) - sass (3.6.0) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.8.1) - addressable (>= 2.3.5, < 2.6) - faraday (~> 0.8, < 1.0) + safe_yaml (1.0.5) + sassc (2.1.0) + ffi (~> 1.9) + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) - tomlrb (1.2.7) + tomlrb (1.2.8) tzinfo (1.2.5) thread_safe (~> 0.1) - yajl-ruby (1.3.1) + unicode-display_width (1.6.0) + yajl-ruby (1.4.1) + zeitwerk (2.1.9) PLATFORMS ruby DEPENDENCIES - activesupport (~> 4.2) - classifier-reborn (~> 2.2.0) - coderay (~> 1.1.0) + classifier-reborn (~> 2.2) jekyll jekyll-avatar jekyll-coffeescript @@ -140,16 +142,12 @@ DEPENDENCIES jekyll-seo-tag jekyll-sitemap jemoji - kramdown (~> 1.14) - liquid-c (~> 3.0) + kramdown-syntax-coderay + liquid-c (~> 4.0) mime-types (~> 3.0) - pygments.rb (~> 1.0) - rdiscount (~> 2.0) rdoc (~> 6.0) - redcarpet (~> 3.2, >= 3.2.3) - rouge tomlrb (~> 1.2) - yajl-ruby (~> 1.3.1) + yajl-ruby (~> 1.4) BUNDLED WITH - 1.16.4 + 1.17.2 diff --git a/pkgs/applications/misc/jekyll/full/gemset.nix b/pkgs/applications/misc/jekyll/full/gemset.nix index 4e33cd6ccdc..80d67022e7a 100644 --- a/pkgs/applications/misc/jekyll/full/gemset.nix +++ b/pkgs/applications/misc/jekyll/full/gemset.nix @@ -1,24 +1,42 @@ { activesupport = { - dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"]; + dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0s12j8vl8vrxfngkdlz9g8bpz9akq1z42d57mx5r537b2pji8nr7"; + sha256 = "0b24ch7zmrdb4h6aismahk9785lc4ij30lmdr6ydv19kkljsjq5v"; type = "gem"; }; - version = "4.2.10"; + version = "6.0.0"; }; 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"; }; 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 = "1bnr2dlj2a11qy3rwh6m1mv5419vy32j2axk3ln7bphyvwn7pli0"; + sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; type = "gem"; }; - version = "1.1.1"; + 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 = "16hwxc8v0z6gkanckjhx0ffgqmzpc4ywz4dfhxpjlz2mbz8d5m52"; + sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0"; type = "gem"; }; - version = "0.15.3"; + 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 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh"; type = "gem"; }; - version = "1.9.25"; + version = "1.11.1"; }; forwardable-extended = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "15zcqfxfvsnprwm8agia85x64vjzr2w0xn9vxfnxzgcv8s699v0v"; @@ -126,23 +180,29 @@ version = "2.6.0"; }; gemoji = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1h85qpn2xbmsn8ssf2fqzlqg181j000m5z4l3g26r7vblncg162d"; + sha256 = "0vgklpmhdz98xayln5hhqv4ffdyrglzwdixkn5gsk9rj94pkymc0"; type = "gem"; }; - version = "3.0.0"; + version = "3.0.1"; }; html-pipeline = { dependencies = ["activesupport" "nokogiri"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mpj5y13jk1arqkhdk66n49kyglmci980c1l6np7pqgyjllb68ad"; + sha256 = "0f7x70p3fda7i5wfjjljjgjgqwx8m12345bs4xpnh7fhnis42fkk"; type = "gem"; }; - version = "2.8.4"; + version = "2.12.0"; }; "http_parser.rb" = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi"; @@ -152,51 +212,63 @@ }; i18n = { dependencies = ["concurrent-ruby"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3"; + sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl"; type = "gem"; }; - version = "0.9.5"; + version = "1.6.0"; }; jekyll = { - dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml"]; + dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nn2sc308l2mz0yiall4r90l6vy67qp4sy9zapi73a948nd4a5k3"; + sha256 = "0fpckw5nf4hfr5vhhdlmaxxp5lkdmc1vyqnmijwvy9fmjn4c87aa"; type = "gem"; }; - version = "3.8.5"; + version = "4.0.0"; }; jekyll-avatar = { dependencies = ["jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "124624r83pmn7sp2idnsph9m1bbdiha5jnza4ypna8w2inpih51p"; + sha256 = "03bys2pl60vq92skfhlfqr2j68zhfjc86jffpg32f94wzjk8n0wk"; type = "gem"; }; - version = "0.6.0"; + version = "0.7.0"; }; 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 = "11mlqqbkmddnyh8xfjv5k6v7c73bbi92w7vw4x1c9xvggxrjzicp"; + sha256 = "01f0ivjdr3qc9dh9n8lj6paiy7zmlb7hs9nk6rgni6jjn5plslg3"; type = "gem"; }; - version = "0.11.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 = "0hg1rlra12im62z5yml4rlll3icz1146hkcv98mk2a96fsgniwqf"; + sha256 = "1r81nbw598s485jsppbpy9kwa471w1rdkpdn3a1mq0swg87cp67v"; type = "gem"; }; - version = "1.4.1"; + version = "1.5.1"; }; jekyll-paginate = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0r7bcs8fq98zldih4787zk5i9w24nz5wa26m84ssja95n3sas2l8"; @@ -223,85 +299,151 @@ }; jekyll-redirect-from = { dependencies = ["jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08xfd7fvqcq6skybxsn4d60rqn4ws2y9hkhl71wz9zrc55xhgxa4"; + sha256 = "1cwpr1z7irar81nm60prvl8ywadc82xhpdxs50n7kiic6q6lkjsb"; type = "gem"; }; - version = "0.14.0"; + version = "0.15.0"; }; jekyll-sass-converter = { - dependencies = ["sass"]; + dependencies = ["sassc"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "008ikh5fk0n6ri54mylcl8jn0mq8p2nfyfqif2q3pp0lwilkcxsk"; + sha256 = "0fbc25p8vqyzmg8wpmgacqjkk3jhrr6kz9y45m43ygck74h2cad2"; type = "gem"; }; - version = "1.5.2"; + version = "2.0.0"; }; jekyll-seo-tag = { dependencies = ["jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19yfr5i04gm50swbc6xxf4090z5z1v0kjfnvh695ydq1dkyx1csl"; + sha256 = "1p9fl2r4ni10lbx143zp41caldjs4hg27az5wg42sbwzb7s6z66m"; type = "gem"; }; - version = "2.5.0"; + version = "2.6.1"; }; 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 = "1s9ly83sp8albvgdff12xy2h4xd8lm6z2fah4lzmk2yvp85jzdzv"; + sha256 = "1qd7hy1kl87fl7l0frw5qbn22x7ayfzlv9a5ca1m59g0ym1ysi5w"; type = "gem"; }; - version = "2.1.2"; + version = "2.2.1"; }; jemoji = { dependencies = ["gemoji" "html-pipeline" "jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yjbgawzmlcppmlhz5sdhjim6ki0vh0vh07mbyf05qa4994ckihs"; + sha256 = "1yd77r5jvh9chf5qcp6z63gg40yp5n1sr7nv1hlmbq3xjzlhs6h6"; type = "gem"; }; - version = "0.10.1"; + version = "0.11.1"; }; kramdown = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq"; + sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688"; type = "gem"; }; - version = "1.17.0"; + version = "2.1.0"; + }; + kramdown-parser-gfm = { + dependencies = ["kramdown"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv"; + type = "gem"; + }; + version = "1.1.0"; + }; + kramdown-syntax-coderay = { + dependencies = ["coderay" "kramdown"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03vpfpmxcdbqyh6kxrjf5xa9qgvwqj0cfv2khz5h32fp5f5dmrda"; + type = "gem"; + }; + version = "1.0.1"; }; liquid = { + groups = ["default"]; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "mswin"; + } { + engine = "rbx"; + } { + engine = "ruby"; + }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bs9smxgj29s4k76zfj09f7mhd35qwm9zki1yqa4jfwiki8v97nw"; + sha256 = "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by"; type = "gem"; }; - version = "4.0.1"; + 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"; + sha256 = "0ibcpajsgq530xrz3dk578mfvivrlfd624j6ifz6ms4w69j8jqj6"; type = "gem"; }; - version = "3.0.0"; + version = "4.0.0"; }; listen = { dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"; @@ -310,6 +452,8 @@ version = "3.1.5"; }; mercenary = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "10la0xw82dh5mqab8bl0dk21zld63cqxb1g16fk8cb39ylc4n21a"; @@ -319,6 +463,8 @@ }; mime-types = { dependencies = ["mime-types-data"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk"; @@ -327,22 +473,28 @@ version = "3.2.2"; }; mime-types-data = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc"; + sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a"; type = "gem"; }; - version = "3.2018.0812"; + 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"; @@ -350,42 +502,42 @@ }; version = "5.11.3"; }; - multi_json = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; - type = "gem"; - }; - version = "1.13.1"; - }; multipart-post = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; + sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj"; type = "gem"; }; - version = "2.0.0"; + version = "2.1.1"; }; nokogiri = { dependencies = ["mini_portile2"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz"; + sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv"; type = "gem"; }; - version = "1.8.5"; + version = "1.10.4"; }; octokit = { dependencies = ["sawyer"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yh0yzzqg575ix3y2l2261b9ag82gv2v4f1wczdhcmfbxcz755x6"; + sha256 = "1w7agbfg39jzqk81yad9xhscg31869277ysr2iwdvpjafl5lj4ha"; type = "gem"; }; - version = "4.13.0"; + version = "4.14.0"; }; pathutil = { dependencies = ["forwardable-extended"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "12fm93ljw9fbxmv2krki5k5wkvr7560qy8p4spvb9jiiaqv78fz4"; @@ -394,23 +546,18 @@ version = "0.16.2"; }; public_suffix = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; + sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm"; type = "gem"; }; - version = "3.0.3"; - }; - "pygments.rb" = { - dependencies = ["multi_json"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0lbvnwvz770ambm4d6lxgc2097rydn5rcc5d6986bnkzyxfqqjnv"; - type = "gem"; - }; - version = "1.2.1"; + version = "3.1.1"; }; rb-fsevent = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; @@ -420,46 +567,38 @@ }; rb-inotify = { dependencies = ["ffi"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71"; + sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4"; type = "gem"; }; - version = "0.9.10"; - }; - rdiscount = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1arvk3k06prxasq1djbj065ixar4zl171340g7wr1ww4gj9makx3"; - type = "gem"; - }; - version = "2.2.0.1"; + version = "0.10.0"; }; rdoc = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0anv42cqcdc6g4n386mrva7mgav5i0c2ry3yzvzzc6z6hymkmcr7"; + sha256 = "07b7ac2nls2yskaicqshxgip6dwpxl80hlx4pslq90jgpxgs2kkp"; type = "gem"; }; - version = "6.0.4"; - }; - redcarpet = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7"; - type = "gem"; - }; - version = "3.4.0"; + version = "6.1.1"; }; rouge = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql"; + sha256 = "1cn6fin40ngrasqi6qis85mqwx6phnbkzhkkd93acm9vrcf3rkl3"; type = "gem"; }; - version = "3.3.0"; + version = "3.9.0"; }; ruby_dep = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5"; @@ -468,41 +607,51 @@ 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"]; + sassc = { + dependencies = ["ffi"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18c6prbw9wl8bqhb2435pd9s0lzarl3g7xf8pmyla28zblvwxmyh"; + sha256 = "06kwfqvpwf33cvkvbv1l9g5ln3q721hz5d3dyasq0k9d28x9w4fs"; type = "gem"; }; - version = "3.6.0"; - }; - sass-listen = { - dependencies = ["rb-fsevent" "rb-inotify"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df"; - type = "gem"; - }; - version = "4.0.0"; + version = "2.1.0"; }; sawyer = { dependencies = ["addressable" "faraday"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sv1463r7bqzvx4drqdmd36m7rrv6sf1v3c6vswpnq3k6vdw2dvd"; + sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz"; type = "gem"; }; - version = "0.8.1"; + version = "0.8.2"; + }; + terminal-table = { + dependencies = ["unicode-display_width"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; + type = "gem"; + }; + version = "1.8.0"; }; thread_safe = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; @@ -511,15 +660,19 @@ version = "0.3.6"; }; tomlrb = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1x3bg9mmma1gsl5j5kc9m8m77w6qwcq6ix2d0kwi5rcwpr7siyx6"; + sha256 = "0g28ssfal6vry3cmhy509ba3vi5d5aggz1gnffnvvmc8ml8vkpiv"; type = "gem"; }; - version = "1.2.7"; + version = "1.2.8"; }; tzinfo = { dependencies = ["thread_safe"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; @@ -527,12 +680,46 @@ }; version = "1.2.5"; }; - yajl-ruby = { + unicode-display_width = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1rn4kc9fha990yd252wglh6rcyh35cavm1vpyfj8krlcwph09g30"; + sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w"; type = "gem"; }; - version = "1.3.1"; + version = "1.6.0"; + }; + yajl-ruby = { + groups = ["default"]; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "mswin"; + } { + engine = "rbx"; + } { + engine = "ruby"; + }]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf"; + type = "gem"; + }; + version = "1.4.1"; + }; + zeitwerk = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gaiqg207j99cvqpgmn4ps6a14hz1rrh5zaxfdkiiavapbc5vpzw"; + type = "gem"; + }; + version = "2.1.9"; }; } \ No newline at end of file diff --git a/pkgs/applications/misc/jgmenu/default.nix b/pkgs/applications/misc/jgmenu/default.nix index b868808ec3d..879f344a5af 100644 --- a/pkgs/applications/misc/jgmenu/default.nix +++ b/pkgs/applications/misc/jgmenu/default.nix @@ -1,18 +1,19 @@ -{ stdenv, fetchFromGitHub, pkgconfig, python3Packages, pango, librsvg, libxml2, menu-cache, xorg }: +{ stdenv, fetchFromGitHub, pkgconfig, python3Packages, pango, librsvg, libxml2, menu-cache, xorg, makeWrapper }: stdenv.mkDerivation rec { - name = "jgmenu-${version}"; - version = "1.1"; + pname = "jgmenu"; + version = "3.3"; src = fetchFromGitHub { owner = "johanmalm"; - repo = "jgmenu"; + repo = pname; rev = "v${version}"; - sha256 = "0hnxzy5mm5z6r9gaimfsf7kbpr23khck2fhh3j8bk2lkp53420fz"; + sha256 = "02qpvlmcis7217hkqilhszza4g1smb4byx4gihgp5207aj8qhz0l"; }; nativeBuildInputs = [ pkgconfig + makeWrapper python3Packages.wrapPython ]; @@ -22,12 +23,17 @@ stdenv.mkDerivation rec { libxml2 menu-cache xorg.libXinerama + xorg.libXrandr + python3Packages.python ]; - makeFlags = [ "prefix=$(out)" ]; + makeFlags = [ "prefix=${placeholder "out"}" ]; postFixup = '' wrapPythonProgramsIn "$out/lib/jgmenu" + for f in $out/bin/jgmenu{,_run}; do + wrapProgram $f --prefix PATH : $out/bin + done ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix new file mode 100644 index 00000000000..410b04d5dcb --- /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.158"; +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 = "1xaamwcasihja3agwb0nnfnzc1wmmr0d2ng73qmfil9nhf9v3j6q"; + }; + + + 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 7304ad7141a..56b28dbc8db 100644 --- a/pkgs/applications/misc/josm/default.nix +++ b/pkgs/applications/misc/josm/default.nix @@ -1,12 +1,12 @@ -{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jdk11 }: +{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jdk11, libXxf86vm }: stdenv.mkDerivation rec { - name = "josm-${version}"; - version = "14620"; + pname = "josm"; + version = "15238"; src = fetchurl { url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar"; - sha256 = "0ypn2awmclxsx4i7mmghs5blz2j5srdayzcxcqn5b4p1r57072bn"; + sha256 = "0zh84glb4545av0s1qnccqqp8nrnfsr7rnwgbqpwwzvc2ngk91gv"; }; buildInputs = [ jdk11 makeWrapper ]; @@ -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 ${jdk11}/bin/java $out/bin/josm \ - --add-flags "-jar $out/share/java/josm.jar" + --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/jp2a/default.nix b/pkgs/applications/misc/jp2a/default.nix index 138ee397d3f..2a9e162e7ea 100644 --- a/pkgs/applications/misc/jp2a/default.nix +++ b/pkgs/applications/misc/jp2a/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "1.0.7"; - name = "jp2a-${version}"; + pname = "jp2a"; src = fetchFromGitHub { owner = "cslarsen"; diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix index 0049e9aca75..9391fe88c5e 100644 --- a/pkgs/applications/misc/k2pdfopt/default.nix +++ b/pkgs/applications/misc/k2pdfopt/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchzip, fetchurl, fetchpatch, cmake, pkgconfig -, zlib, libpng, openjpeg +, zlib, libpng , enableGSL ? true, gsl , enableGhostScript ? true, ghostscript , enableMuPDF ? true, mupdf @@ -12,7 +12,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "k2pdfopt-${version}"; + pname = "k2pdfopt"; version = "2.51a"; src = (fetchzip { @@ -57,7 +57,28 @@ stdenv.mkDerivation rec { prePatch = '' cp ${src}/leptonica_mod/{allheaders.h,dewarp2.c,leptwin.c} src/ ''; - patches = []; + patches = [ + # stripped down copy of upstream commit b88c821f8d347bce0aea86d606c710303919f3d2 + ./leptonica-CVE-2018-3836.patch + (fetchpatch { + # CVE-2018-7186 + url = "https://github.com/DanBloomberg/leptonica/commit/" + + "ee301cb2029db8a6289c5295daa42bba7715e99a.patch"; + sha256 = "0cgb7mvz2px1rg5i80wk1wxxjvzjga617d8q6j7qygkp7jm6495d"; + }) + (fetchpatch { + # CVE-2018-7247 + url = "https://github.com/DanBloomberg/leptonica/commit/" + + "c1079bb8e77cdd426759e466729917ca37a3ed9f.patch"; + sha256 = "1z4iac5gwqggh7aa8cvyp6nl9fwd1v7wif26caxc9y5qr3jj34qf"; + }) + (fetchpatch { + # CVE-2018-7440 + url = "https://github.com/DanBloomberg/leptonica/commit/" + + "49ecb6c2dfd6ed5078c62f4a8eeff03e3beced3b.patch"; + sha256 = "1hjmva98iaw9xj7prg7aimykyayikcwnk4hk0380007hqb35lqmy"; + }) + ]; }); tesseract_modded = tesseract4.override { tesseractBase = tesseract4.tesseractBase.overrideAttrs (_: { diff --git a/pkgs/applications/misc/k2pdfopt/leptonica-CVE-2018-3836.patch b/pkgs/applications/misc/k2pdfopt/leptonica-CVE-2018-3836.patch new file mode 100644 index 00000000000..f1b4170fbaa --- /dev/null +++ b/pkgs/applications/misc/k2pdfopt/leptonica-CVE-2018-3836.patch @@ -0,0 +1,95 @@ +--- a/src/allheaders.h ++++ b/src/allheaders.h +@@ -2600,6 +2600,7 @@ + LEPT_DLL extern char * stringReverse ( const char *src ); + LEPT_DLL extern char * strtokSafe ( char *cstr, const char *seps, char **psaveptr ); + LEPT_DLL extern l_int32 stringSplitOnToken ( char *cstr, const char *seps, char **phead, char **ptail ); ++LEPT_DLL extern l_int32 stringCheckForChars ( const char *src, const char *chars, l_int32 *pfound ); + LEPT_DLL extern char * stringRemoveChars ( const char *src, const char *remchars ); + LEPT_DLL extern l_int32 stringFindSubstr ( const char *src, const char *sub, l_int32 *ploc ); + LEPT_DLL extern char * stringReplaceSubstr ( const char *src, const char *sub1, const char *sub2, l_int32 *pfound, l_int32 *ploc ); +--- a/src/gplot.c ++++ b/src/gplot.c +@@ -141,9 +141,10 @@ + const char *xlabel, + const char *ylabel) + { +-char *newroot; +-char buf[L_BUF_SIZE]; +-GPLOT *gplot; ++char *newroot; ++char buf[L_BUF_SIZE]; ++l_int32 badchar; ++GPLOT *gplot; + + PROCNAME("gplotCreate"); + +@@ -152,6 +153,9 @@ + if (outformat != GPLOT_PNG && outformat != GPLOT_PS && + outformat != GPLOT_EPS && outformat != GPLOT_LATEX) + return (GPLOT *)ERROR_PTR("outformat invalid", procName, NULL); ++ stringCheckForChars(rootname, "`;&|><\"?*", &badchar); ++ if (badchar) /* danger of command injection */ ++ return (GPLOT *)ERROR_PTR("invalid rootname", procName, NULL); + + if ((gplot = (GPLOT *)LEPT_CALLOC(1, sizeof(GPLOT))) == NULL) + return (GPLOT *)ERROR_PTR("gplot not made", procName, NULL); +--- a/src/utils2.c ++++ b/src/utils2.c +@@ -42,6 +42,7 @@ + * l_int32 stringSplitOnToken() + * + * Find and replace string and array procs ++ * l_int32 stringCheckForChars() + * char *stringRemoveChars() + * l_int32 stringFindSubstr() + * char *stringReplaceSubstr() +@@ -701,6 +702,48 @@ + /*--------------------------------------------------------------------* + * Find and replace procs * + *--------------------------------------------------------------------*/ ++/*! ++ * \brief stringCheckForChars() ++ * ++ * \param[in] src input string; can be of zero length ++ * \param[in] chars string of chars to be searched for in %src ++ * \param[out] pfound 1 if any characters are found; 0 otherwise ++ * \return 0 if OK, 1 on error ++ * ++ *

++ * Notes:
++ *      (1) This can be used to sanitize an operation by checking for
++ *          special characters that don't belong in a string.
++ * 
++ */ ++l_int32 ++stringCheckForChars(const char *src, ++ const char *chars, ++ l_int32 *pfound) ++{ ++char ch; ++l_int32 i, n; ++ ++ PROCNAME("stringCheckForChars"); ++ ++ if (!pfound) ++ return ERROR_INT("&found not defined", procName, 1); ++ *pfound = FALSE; ++ if (!src || !chars) ++ return ERROR_INT("src and chars not both defined", procName, 1); ++ ++ n = strlen(src); ++ for (i = 0; i < n; i++) { ++ ch = src[i]; ++ if (strchr(chars, ch)) { ++ *pfound = TRUE; ++ break; ++ } ++ } ++ return 0; ++} ++ ++ + /*! + * \brief stringRemoveChars() + * diff --git a/pkgs/applications/misc/kanboard/default.nix b/pkgs/applications/misc/kanboard/default.nix index 7995c8875b8..0a42d5e4f28 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"; + pname = "kanboard"; + 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 b518481e29a..2af091b0df3 100644 --- a/pkgs/applications/misc/kdbplus/default.nix +++ b/pkgs/applications/misc/kdbplus/default.nix @@ -7,7 +7,7 @@ let [ stdenv.cc.libc stdenv.cc.cc ]; in stdenv.mkDerivation rec { - name = "kdbplus-${version}"; + pname = "kdbplus"; version = "3.3"; src = requireFile { @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { buildInputs = [ unzip ]; phases = "unpackPhase installPhase"; - unpackPhase = "mkdir ${name} && cd ${name} && unzip -qq ${src}"; + unpackPhase = "mkdir ${pname}-${version} && cd ${pname}-${version} && unzip -qq ${src}"; installPhase = '' mkdir -p $out/bin $out/libexec diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix index d15926ba6fb..ed3c8672269 100644 --- a/pkgs/applications/misc/kdeconnect/default.nix +++ b/pkgs/applications/misc/kdeconnect/default.nix @@ -1,4 +1,4 @@ -{ stdenv +{ mkDerivation , lib , fetchurl , extra-cmake-modules @@ -18,14 +18,13 @@ , kwayland }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "kdeconnect"; - version = "1.3.3"; - name = "${pname}-${version}"; + version = "1.3.5"; src = fetchurl { - url = "mirror://kde/stable/${pname}/${version}/src/${pname}-kde-${version}.tar.xz"; - sha256 = "1vac0mw1myrswr61adv7lgif0c4wzw5wnsj0sqxj6msp4l4pfgsg"; + url = "mirror://kde/stable/${pname}/${version}/${pname}-kde-${version}.tar.xz"; + sha256 = "02lr3xx5s2mgddac4n3lkgr7ppf1z5m6ajs90rjix0vs8a271kp5"; }; buildInputs = [ @@ -37,7 +36,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ extra-cmake-modules kdoctools ]; postInstall = '' - wrapProgram $out/lib/libexec/kdeconnectd --prefix PATH : ${lib.makeBinPath [ sshfs ]} + wrapProgram $out/libexec/kdeconnectd --prefix PATH : ${lib.makeBinPath [ sshfs ]} ''; enableParallelBuilding = true; diff --git a/pkgs/applications/misc/keepass-plugins/keeagent/default.nix b/pkgs/applications/misc/keepass-plugins/keeagent/default.nix index 80bf5deceb1..c3d26077443 100644 --- a/pkgs/applications/misc/keepass-plugins/keeagent/default.nix +++ b/pkgs/applications/misc/keepass-plugins/keeagent/default.nix @@ -3,7 +3,8 @@ let version = "0.10.1"; drv = stdenv.mkDerivation { - name = "keeagent-${version}"; + pname = "keeagent"; + inherit version; src = fetchzip { url = "https://lechnology.com/wp-content/uploads/2018/04/KeeAgent_v0.10.1.zip"; diff --git a/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix b/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix index e64632d529b..76ea9df78c2 100644 --- a/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix +++ b/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix @@ -3,7 +3,8 @@ let version = "1.8.4.2"; drv = stdenv.mkDerivation { - name = "keepasshttp-${version}"; + pname = "keepasshttp"; + inherit version; src = fetchFromGitHub { owner = "pfn"; repo = "keepasshttp"; diff --git a/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix b/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix index b45cb24b1b5..562835159eb 100644 --- a/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix +++ b/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix @@ -3,7 +3,8 @@ let version = "1.8.0"; drv = stdenv.mkDerivation { - name = "keepassrpc-${version}"; + pname = "keepassrpc"; + inherit version; src = fetchurl { url = "https://github.com/kee-org/keepassrpc/releases/download/v${version}/KeePassRPC.plgx"; sha256 = "1dclfpia559cqf78qw29zz235h1df5md4kgjv3bbi8y41wwmx7cd"; diff --git a/pkgs/applications/misc/keepassx/2.0.nix b/pkgs/applications/misc/keepassx/2.0.nix index f6814119b5a..36734a97516 100644 --- a/pkgs/applications/misc/keepassx/2.0.nix +++ b/pkgs/applications/misc/keepassx/2.0.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, cmake, libgcrypt, qt4, xorg, ... }: stdenv.mkDerivation rec { - name = "keepassx2-${version}"; + pname = "keepassx2"; version = "2.0.3"; src = fetchurl { @@ -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 b6258491a8c..b1c849b6bce 100644 --- a/pkgs/applications/misc/keepassx/community.nix +++ b/pkgs/applications/misc/keepassx/community.nix @@ -1,38 +1,44 @@ { 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 +, wrapQtAppsHook +, yubikey-personalization +, zlib , withKeePassBrowser ? true +, withKeePassKeeShare ? true +, withKeePassKeeShareSecure ? true , withKeePassSSHAgent ? true -, withKeePassHTTP ? false , withKeePassNetworking ? false }: with stdenv.lib; stdenv.mkDerivation rec { - name = "keepassxc-${version}"; - version = "2.3.4"; + pname = "keepassxc"; + version = "2.4.3"; src = fetchFromGitHub { owner = "keepassxreboot"; repo = "keepassxc"; rev = "${version}"; - sha256 = "1gja402dsbws4z8ybnhqbw7rc9svgqnshqjgf7158d6x0ni386m3"; + sha256 = "1r63bl0cam04rps1bjr107qvwsmay4254nv00gwhh9n45s6cslac"; }; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [ @@ -50,27 +56,30 @@ stdenv.mkDerivation rec { patches = [ ./darwin.patch - ./qt511.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_QPA_PLATFORM=offscreen + export QT_PLUGIN_PATH="${qtbase.bin}/${qtbase.qtPluginPrefix}" make test ARGS+="-E testgui --output-on-failure" ''; - nativeBuildInputs = [ cmake makeWrapper qttools ]; + nativeBuildInputs = [ cmake wrapQtAppsHook qttools ]; buildInputs = [ curl @@ -83,24 +92,28 @@ 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 '' + preFixup = optionalString stdenv.isDarwin '' # Make it work without Qt in PATH. - wrapProgram $out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC \ - --set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix} + wrapQtApp $out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC ''; 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 ]; + maintainers = with maintainers; [ jonafato ]; platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/applications/misc/keepassx/darwin.patch b/pkgs/applications/misc/keepassx/darwin.patch index 1edf0a573a3..6232d1118a7 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 74b1a7ff..0a713a32 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -250,8 +250,8 @@ else() - set(PROGNAME keepassxc) - endif() - --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") - endif() - -@@ -262,7 +262,7 @@ if(MINGW) - set(PLUGIN_INSTALL_DIR ".") - set(DATA_INSTALL_DIR "share") +@@ -307,6 +307,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") ++ 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") +@@ -369,12 +370,6 @@ set(CMAKE_AUTORCC ON) + + 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 on macOS") +- else() +- message(STATUS "Using macdeployqt: ${MACDEPLOYQT_EXE}") +- endif() + elseif(MINGW) + find_program(WINDEPLOYQT_EXE windeployqt HINTS ${Qt5_PREFIX}/bin ENV PATH) + if(NOT WINDEPLOYQT_EXE) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 69526967..38f7c5d4 100644 +index f142f368..0742512d 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) +@@ -351,11 +351,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 7427450a..a0a58d71 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") +@@ -8,7 +8,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 89ceca8a4f1..7adbcb86c50 100644 --- a/pkgs/applications/misc/keepassx/default.nix +++ b/pkgs/applications/misc/keepassx/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, bzip2, qt4, qmake4Hook, libX11, xorgproto, libXtst }: stdenv.mkDerivation rec { - name = "keepassx-${version}"; + pname = "keepassx"; version = "0.4.4"; src = fetchurl { - url = "https://www.keepassx.org/releases/${version}/${name}.tar.gz"; + url = "https://www.keepassx.org/releases/${version}/${pname}-${version}.tar.gz"; sha256 = "1i5dq10x28mg7m4c0yacm32xfj4j7imir4ph8x9p0s2ym260c9ry"; }; @@ -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 b4d312c8c26..00000000000 --- 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/khal/default.nix b/pkgs/applications/misc/khal/default.nix index bc2c8978a67..6aa94b2fecb 100644 --- a/pkgs/applications/misc/khal/default.nix +++ b/pkgs/applications/misc/khal/default.nix @@ -1,19 +1,26 @@ -{ stdenv, pkgs, python3 }: +{ stdenv, pkgs, python3, fetchpatch }: with python3.pkgs; buildPythonApplication rec { pname = "khal"; - version = "0.9.10"; + version = "0.10.1"; src = fetchPypi { inherit pname version; - sha256 = "03h0j0d3xyqh98x5v2gv63wv3g91hip3vsaxvybsn5iz331d23h4"; + sha256 = "1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l"; }; - LC_ALL = "en_US.UTF-8"; + # Include a khal.desktop file via upstream commit. + # This patch should be removed when updating to the next version, probably. + patches = [ (fetchpatch { + name = "add-khal-dot-desktop.patch"; + url = "https://github.com/pimutils/khal/commit/1f93d238fec7c934dd2f8e48f54925d22130e3aa.patch"; + sha256 = "06skn3van7zd93348fc6axllx71ckkc7h2zljqlvwa339vca608c"; + }) ]; propagatedBuildInputs = [ atomicwrites click + click-log configobj dateutil icalendar @@ -27,15 +34,22 @@ with python3.pkgs; buildPythonApplication rec { pkginfo freezegun ]; - nativeBuildInputs = [ setuptools_scm pkgs.glibcLocales ]; + nativeBuildInputs = [ setuptools_scm sphinx sphinxcontrib_newsfeed ]; checkInputs = [ pytest ]; postInstall = '' + # zsh completion install -D misc/__khal $out/share/zsh/site-functions/__khal + + # man page + make -C doc man + install -Dm755 doc/build/man/khal.1 -t $out/share/man/man1 + + # desktop + install -Dm755 misc/khal.desktop -t $out/share/applications ''; - # One test fails as of 0.9.10 due to the upgrade to icalendar 4.0.3 - doCheck = false; + doCheck = !stdenv.isAarch64; checkPhase = '' py.test @@ -45,6 +59,6 @@ with python3.pkgs; buildPythonApplication rec { homepage = http://lostpackets.de/khal/; description = "CLI calendar application"; license = licenses.mit; - maintainers = with maintainers; [ jgeerds gebner ]; + maintainers = with maintainers; [ gebner ]; }; } diff --git a/pkgs/applications/misc/khard/default.nix b/pkgs/applications/misc/khard/default.nix index d6e05056e1c..99b9c38d53f 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.13.0"; - name = "khard-${version}"; + version = "0.14.0"; + pname = "khard"; namePrefix = ""; src = fetchurl { url = "https://github.com/scheibler/khard/archive/v${version}.tar.gz"; - sha256 = "06b9xcdg1na6mxa2pnlh0wfsk02k2h6hlki089aaikbg8k8ykj8f"; + sha256 = "0m1pc67jz663yfc0xzfpknymn8jj2bpfxaph3pl0mjd3h1zjfyaq"; }; # setup.py reads the UTF-8 encoded readme. @@ -50,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 845de8b0388..3b7e9e9d139 100644 --- a/pkgs/applications/misc/kitty/default.nix +++ b/pkgs/applications/misc/kitty/default.nix @@ -1,30 +1,65 @@ { stdenv, substituteAll, fetchFromGitHub, python3Packages, glfw, libunistring, harfbuzz, fontconfig, pkgconfig, ncurses, imagemagick, xsel, - libstartup_notification, libX11, libXrandr, libXinerama, libXcursor, + libstartup_notification, libGL, libX11, libXrandr, libXinerama, libXcursor, libxkbcommon, libXi, libXext, wayland-protocols, wayland, - which, dbus + which, dbus, + Cocoa, + CoreGraphics, + Foundation, + IOKit, + Kernel, + OpenGL, + libcanberra, + libicns, + libpng, + librsvg, + optipng, + python3, + zlib, }: with python3Packages; buildPythonApplication rec { - version = "0.13.3"; - name = "kitty-${version}"; + pname = "kitty"; + version = "0.14.3"; format = "other"; src = fetchFromGitHub { owner = "kovidgoyal"; repo = "kitty"; rev = "v${version}"; - sha256 = "1y0vd75j8g61jdj8miml79w5ri3pqli5rv9iq6zdrxvzfa4b2rmb"; + sha256 = "0wi6b6b1nyp16rcpcghk6by62wy6qsamv1xdymyn0zbqgd8h9n6b"; }; buildInputs = [ - fontconfig glfw ncurses libunistring harfbuzz libX11 + harfbuzz + ncurses + ] ++ stdenv.lib.optionals stdenv.isDarwin [ + Cocoa + CoreGraphics + Foundation + IOKit + Kernel + OpenGL + libpng + python3 + zlib + ] ++ stdenv.lib.optionals stdenv.isLinux [ + fontconfig glfw libunistring libcanberra libX11 libXrandr libXinerama libXcursor libxkbcommon libXi libXext 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 + ]; + + propagatedBuildInputs = stdenv.lib.optional stdenv.isLinux libGL; outputs = [ "out" "terminfo" ]; @@ -33,17 +68,34 @@ buildPythonApplication rec { src = ./fix-paths.patch; libstartup_notification = "${libstartup_notification}/lib/libstartup-notification-1.so"; }) + ] ++ stdenv.lib.optionals stdenv.isDarwin [ + ./no-lto.patch + ./no-werror.patch + ./png2icns.patch ]; - buildPhase = '' - python3 setup.py linux-package + preConfigure = stdenv.lib.optional (!stdenv.isDarwin) '' + substituteInPlace glfw/egl_context.c --replace "libEGL.so.1" "${stdenv.lib.getLib libGL}/lib/libEGL.so.1" + ''; + + 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-deref-symlink "$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 ]}" + ''} + wrapProgram "$out/bin/kitty" --prefix PATH : "$out/bin:${stdenv.lib.makeBinPath [ imagemagick xsel ncurses.dev ]}" runHook postInstall # ZSH completions need to be invoked with `source`: @@ -54,8 +106,13 @@ buildPythonApplication rec { ''; postInstall = '' + terminfo_src=${if stdenv.isDarwin then + ''"$out/Applications/kitty.app/Contents/Resources/terminfo"'' + else + "$out/share/terminfo"} + mkdir -p $terminfo/share - mv $out/share/terminfo $terminfo/share/terminfo + mv "$terminfo_src" $terminfo/share/terminfo mkdir -p $out/nix-support echo "$terminfo" >> $out/nix-support/propagated-user-env-packages @@ -65,7 +122,7 @@ buildPythonApplication rec { homepage = https://github.com/kovidgoyal/kitty; description = "A modern, hackable, featureful, OpenGL based terminal emulator"; license = licenses.gpl3; - platforms = platforms.linux; + 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 index d6e52adc445..70460581307 100644 --- a/pkgs/applications/misc/kitty/fix-paths.patch +++ b/pkgs/applications/misc/kitty/fix-paths.patch @@ -12,15 +12,15 @@ --- 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 +# Patching is needed here for the following reason: # * 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 + SPHINXOPTS = -j auto -T $(FAIL_WARN) +-SPHINXBUILD = sphinx-build +SPHINXBUILD = PYTHONPATH=${PYTHONPATH}:.. HOME=${TMPDIR}/kitty-build-home sphinx-build SPHINXPROJ = kitty SOURCEDIR = . diff --git a/pkgs/applications/misc/kitty/no-lto.patch b/pkgs/applications/misc/kitty/no-lto.patch new file mode 100644 index 00000000000..44d231cb07f --- /dev/null +++ b/pkgs/applications/misc/kitty/no-lto.patch @@ -0,0 +1,12 @@ +--- a/setup.py ++++ b/setup.py +@@ -233,9 +233,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 00000000000..8217b5ef51a --- /dev/null +++ b/pkgs/applications/misc/kitty/no-werror.patch @@ -0,0 +1,11 @@ +--- a/setup.py ++++ b/setup.py +@@ -212,7 +212,7 @@ + cflags = os.environ.get( + 'OVERRIDE_CFLAGS', ( + '-Wextra -Wno-missing-field-initializers -Wall -Wstrict-prototypes -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 00000000000..68566e2a899 --- /dev/null +++ b/pkgs/applications/misc/kitty/png2icns.patch @@ -0,0 +1,21 @@ +diff -aru a/setup.py b/setup.py +--- a/setup.py 2019-07-29 11:09:32.000000000 -0400 ++++ b/setup.py 2019-07-29 11:11:37.000000000 -0400 +@@ -784,9 +784,15 @@ + def create_macos_app_icon(where='Resources'): + logo_dir = os.path.abspath(os.path.join('logo', appname + '.iconset')) + subprocess.check_call([ +- 'iconutil', '-c', 'icns', logo_dir, '-o', ++ 'png2icns', + os.path.join(where, 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', ++ ]]) + + + def create_minimal_macos_bundle(args, where): diff --git a/pkgs/applications/misc/kiwix/default.nix b/pkgs/applications/misc/kiwix/default.nix index 9ea8210e67e..89778f670ff 100644 --- a/pkgs/applications/misc/kiwix/default.nix +++ b/pkgs/applications/misc/kiwix/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, makeWrapper, pkgconfig , zip, python, zlib, which, icu, libmicrohttpd, lzma, aria2, wget, bc , libuuid, libX11, libXext, libXt, libXrender, glib, dbus, dbus-glib -, gtk2, gdk_pixbuf, pango, cairo, freetype, fontconfig, alsaLib, atk, cmake +, gtk2, gdk-pixbuf, pango, cairo, freetype, fontconfig, alsaLib, atk, cmake , xapian, ctpp2, zimlib }: @@ -31,10 +31,10 @@ let pugixml = stdenv.mkDerivation rec { version = "1.2"; - name = "pugixml-${version}"; + pname = "pugixml"; src = fetchurl { - url = "http://download.kiwix.org/dev/${name}.tar.gz"; + url = "http://download.kiwix.org/dev/${pname}-${version}.tar.gz"; sha256 = "0sqk0vdwjq44jxbbkj1cy8qykrmafs1sickzldb2w2nshsnjshhg"; }; @@ -42,8 +42,8 @@ let unpackPhase = '' # not a nice src archive: all the files are in the root :( - mkdir ${name} - cd ${name} + mkdir ${pname}-${version} + cd ${pname}-${version} tar -xf ${src} # and the build scripts are in there :'( @@ -54,7 +54,7 @@ let in stdenv.mkDerivation rec { - name = "kiwix-${version}"; + pname = "kiwix"; version = "0.9"; src = fetchurl { @@ -93,13 +93,13 @@ stdenv.mkDerivation rec { rm $out/bin/kiwix makeWrapper $out/lib/kiwix/kiwix-launcher $out/bin/kiwix \ - --suffix LD_LIBRARY_PATH : ${makeLibraryPath [stdenv.cc.cc libX11 libXext libXt libXrender glib dbus dbus-glib gtk2 gdk_pixbuf pango cairo freetype fontconfig alsaLib atk]} \ + --suffix LD_LIBRARY_PATH : ${makeLibraryPath [stdenv.cc.cc libX11 libXext libXt libXrender glib dbus dbus-glib gtk2 gdk-pixbuf pango cairo freetype fontconfig alsaLib atk]} \ --suffix PATH : ${aria2}/bin ''; 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 ]; diff --git a/pkgs/applications/misc/kjv/default.nix b/pkgs/applications/misc/kjv/default.nix new file mode 100644 index 00000000000..79f0b8dc6df --- /dev/null +++ b/pkgs/applications/misc/kjv/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, fetchpatch }: + +let + +patch-base = https://github.com/LukeSmithxyz/kjv/commit/; + +add-apocrypha = fetchpatch { + url = patch-base + "b92b7622285d10464f9274f11e740bef90705bbc.patch"; + sha256 = "0n4sj8p9m10fcair4msc129jxkkx5whqzhjbr5k4lfgp6nb1zk8k"; +}; + +add-install-target = fetchpatch { + url = patch-base + "f4ad73539eb73f1890f4b791d8d38dd95900a4a4.patch"; + sha256 = "1yzj72i5fkzn2i4wl09q6jx7nwn2h4jwm49fc23nxfwchzar9m1q"; +}; + +in + +stdenv.mkDerivation rec { + pname = "kjv"; + version = "unstable-2018-12-25"; + + src = fetchFromGitHub { + owner = "bontibon"; + repo = pname; + rev = "fda81a610e4be0e7c5cf242de655868762dda1d4"; + sha256 = "1favfcjvd3pzz1ywwv3pbbxdg7v37s8vplgsz8ag016xqf5ykqqf"; + }; + + patches = [ add-apocrypha add-install-target ]; + + makeFlags = [ + "PREFIX=${placeholder ''out''}" + ]; + + meta = with stdenv.lib; { + description = "The Bible, King James Version"; + homepage = "https://github.com/bontibon/kjv"; + license = licenses.publicDomain; + maintainers = [ maintainers.jtobin ]; + }; +} + diff --git a/pkgs/applications/misc/krename/default.nix b/pkgs/applications/misc/krename/default.nix index 52233ad2f2f..8b6b7741c7d 100644 --- a/pkgs/applications/misc/krename/default.nix +++ b/pkgs/applications/misc/krename/default.nix @@ -17,15 +17,17 @@ in mkDerivation rec { sha256 = "136j1dkqrhv458rjh5v3vzjhvq6dhz7k79zk6mmx8zvqacc7cq8a"; }; - meta = with lib; { - homepage = http://www.krename.net; - description = "A powerful batch renamer for KDE"; - license = licenses.gpl2; - inherit (kconfig.meta) platforms; - maintainers = with maintainers; [ peterhoeg ]; - }; - buildInputs = [ taglib exiv2 podofo ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ]; + propagatedBuildInputs = [ kconfig kcrash kinit kjsembed ]; + + meta = with lib; { + description = "A powerful batch renamer for KDE"; + homepage = https://kde.org/applications/utilities/krename/; + license = licenses.gpl2; + maintainers = with maintainers; [ peterhoeg ]; + inherit (kconfig.meta) platforms; + }; } diff --git a/pkgs/applications/misc/krusader/default.nix b/pkgs/applications/misc/krusader/default.nix index 70915ca8707..cf81d572c61 100644 --- a/pkgs/applications/misc/krusader/default.nix +++ b/pkgs/applications/misc/krusader/default.nix @@ -8,10 +8,11 @@ let pname = "krusader"; version = "2.7.1"; in mkDerivation rec { - name = "krusader-${version}"; + pname = "krusader"; + inherit version; src = fetchurl { - url = "mirror://kde/stable/${pname}/${version}/${name}.tar.xz"; + url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz"; sha256 = "1svxj1qygyr3a4dkx0nh2d6r4q7pfj00brzghl94mf4q0rz4vhfm"; }; diff --git a/pkgs/applications/misc/kupfer/default.nix b/pkgs/applications/misc/kupfer/default.nix index 33a2cf93209..81cba3f5637 100644 --- a/pkgs/applications/misc/kupfer/default.nix +++ b/pkgs/applications/misc/kupfer/default.nix @@ -14,7 +14,7 @@ with python3Packages; buildPythonApplication rec { - name = "kupfer-${version}"; + pname = "kupfer"; version = "319"; src = fetchurl { @@ -30,6 +30,10 @@ buildPythonApplication rec { buildInputs = [ hicolor-icon-theme docutils libwnck3 keybinder3 ]; propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ]; + # without strictDeps kupfer fails to build: Could not find the python module 'gi.repository.Gtk' + # see https://github.com/NixOS/nixpkgs/issues/56943 for details + strictDeps = false; + postInstall = let pythonPath = (stdenv.lib.concatMapStringsSep ":" (m: "${m}/lib/${python.libPrefix}/site-packages") diff --git a/pkgs/applications/misc/latte-dock/default.nix b/pkgs/applications/misc/latte-dock/default.nix index ec571c0284b..0bd91994418 100644 --- a/pkgs/applications/misc/latte-dock/default.nix +++ b/pkgs/applications/misc/latte-dock/default.nix @@ -3,13 +3,12 @@ mkDerivation rec { pname = "latte-dock"; - version = "0.8.5"; - name = "${pname}-${version}"; + version = "0.8.9"; src = fetchurl { - url = "https://download.kde.org/stable/${pname}/${name}.tar.xz"; - sha256 = "1yhnmppp65xy8skainn438q3hwlpsz8qcj4ksvl8xdz5jzn7gs7k"; - name = "${name}.tar.xz"; + url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz"; + sha256 = "1kkpxa39crjpqgamrcpgp1mrcdg0aq9850yb6cf7lw7d3x2fdrxj"; + name = "${pname}-${version}.tar.xz"; }; buildInputs = [ plasma-framework xorg.libpthreadstubs xorg.libXdmcp xorg.libSM ]; diff --git a/pkgs/applications/misc/lenmus/default.nix b/pkgs/applications/misc/lenmus/default.nix index 9018a592642..76abe7c9b4b 100644 --- a/pkgs/applications/misc/lenmus/default.nix +++ b/pkgs/applications/misc/lenmus/default.nix @@ -6,7 +6,7 @@ }: stdenv.mkDerivation rec { - name = "lenmus-${version}"; + pname = "lenmus"; version = "5.4.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/libosmocore/default.nix b/pkgs/applications/misc/libosmocore/default.nix index 4b3654f9a97..846ce309842 100644 --- a/pkgs/applications/misc/libosmocore/default.nix +++ b/pkgs/applications/misc/libosmocore/default.nix @@ -3,14 +3,14 @@ }: stdenv.mkDerivation rec { - name = "libosmocore-${version}"; - version = "1.0.1"; + pname = "libosmocore"; + version = "1.2.0"; src = fetchFromGitHub { owner = "osmocom"; repo = "libosmocore"; rev = version; - sha256 = "08xbj2calh1zkp79kxbq01vnh0y7nkgd4cgsivrzlyqahilbzvd9"; + sha256 = "1535y6r4csvslrxcki80ya6zhhc5jw2nvy9bymb55ln77pf853vg"; }; propagatedBuildInputs = [ diff --git a/pkgs/applications/misc/librecad/default.nix b/pkgs/applications/misc/librecad/default.nix index ca9a90777e3..09089a072b3 100644 --- a/pkgs/applications/misc/librecad/default.nix +++ b/pkgs/applications/misc/librecad/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { version = "2.1.3"; - name = "librecad-${version}"; + pname = "librecad"; src = fetchurl { url = "https://github.com/LibreCAD/LibreCAD/tarball/${version}"; - name = name + ".tar.gz"; + name = "${pname}-${version}" + ".tar.gz"; sha256 = "1czp8bja61hfav2m7184cq1np1n76w3w6vn0hlkp81hhz9zc62sx"; }; @@ -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/lifelines/default.nix b/pkgs/applications/misc/lifelines/default.nix new file mode 100644 index 00000000000..7207dea9d52 --- /dev/null +++ b/pkgs/applications/misc/lifelines/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub, gettext, libiconv, bison, ncurses, perl, autoreconfHook }: + +stdenv.mkDerivation rec { + pname = "lifelines"; + version = "unstable-2019-05-07"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "43f29285ed46fba322b6a14322771626e6b02c59"; + sha256 = "1agszzlmkxmznpc1xj0vzxkskrcfagfjvqsdyw1yp5yg6bsq272y"; + }; + + buildInputs = [ + gettext + libiconv + ncurses + perl + ]; + nativeBuildInputs = [ autoreconfHook bison ]; + + meta = with stdenv.lib; { + description = "Genealogy tool with ncurses interface"; + homepage = "https://lifelines.github.io/lifelines/"; + license = licenses.mit; + maintainers = with maintainers; [ disassembler ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/lilyterm/default.nix b/pkgs/applications/misc/lilyterm/default.nix index 948ae7b14a1..38078d11931 100644 --- a/pkgs/applications/misc/lilyterm/default.nix +++ b/pkgs/applications/misc/lilyterm/default.nix @@ -30,7 +30,7 @@ let in stdenv.mkDerivation rec { - name = "lilyterm-${version}"; + pname = "lilyterm"; inherit (stuff) src version; diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix index ed3aca996e1..c66ef21416b 100644 --- a/pkgs/applications/misc/llpp/default.nix +++ b/pkgs/applications/misc/llpp/default.nix @@ -1,10 +1,10 @@ { stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11, -libGLU_combined, freetype, xclip }: +libGLU_combined, freetype, xclip, inotify-tools, procps }: assert lib.versionAtLeast (lib.getVersion ocaml) "4.07"; stdenv.mkDerivation rec { - name = "llpp-${version}"; + pname = "llpp"; version = "30"; src = fetchgit { @@ -34,11 +34,17 @@ stdenv.mkDerivation rec { ''; 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 ":" "${xclip}/bin" + + wrapProgram $out/bin/llpp.inotify \ + --prefix PATH ":" "$out/bin" \ + --prefix PATH ":" "${inotify-tools}/bin" \ + --prefix PATH ":" "${procps}/bin" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/ltwheelconf/default.nix b/pkgs/applications/misc/ltwheelconf/default.nix index 4972aa28e58..42905fa3cb4 100644 --- a/pkgs/applications/misc/ltwheelconf/default.nix +++ b/pkgs/applications/misc/ltwheelconf/default.nix @@ -3,7 +3,6 @@ stdenv.mkDerivation rec { pname = "ltwheelconf"; version = "0.2.7"; - name = "${pname}-${version}"; src = fetchFromGitHub { owner = "thk"; diff --git a/pkgs/applications/misc/lutris/chrootenv.nix b/pkgs/applications/misc/lutris/chrootenv.nix new file mode 100644 index 00000000000..ab40dfc8131 --- /dev/null +++ b/pkgs/applications/misc/lutris/chrootenv.nix @@ -0,0 +1,114 @@ +{ lib, buildFHSUserEnv, lutris-unwrapped +, steamSupport ? true +}: + +let + + qt5Deps = pkgs: with pkgs.qt5; [ qtbase qtmultimedia ]; + gnome3Deps = pkgs: with pkgs.gnome3; [ zenity gtksourceview gnome-desktop libgnome-keyring webkitgtk ]; + xorgDeps = pkgs: with pkgs.xorg; [ + libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp + libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite + ]; + +in buildFHSUserEnv { + name = "lutris"; + + runScript = "lutris"; + + targetPkgs = pkgs: with pkgs; [ + lutris-unwrapped + + # Adventure Game Studio + allegro dumb + + # Desmume + lua agg soundtouch openal desktop-file-utils pangox_compat atk + + # DGen // TODO: libarchive is broken + + # Dolphin + bluez ffmpeg gettext portaudio wxGTK30 miniupnpc mbedtls lzo sfml gsm + wavpack gnutls-kdh orc nettle gmp pcre vulkan-loader + + # DOSBox + SDL_net SDL_sound + + # GOG + glib-networking + + # Higan // TODO: "higan is not available for the x86_64 architecture" + + # Libretro + fluidsynth hidapi mesa libdrm + + # MAME + qt48 fontconfig SDL2_ttf + + # Mednafen + freeglut mesa_glu + + # MESS + expat + + # Minecraft + nss + + # Mupen64Plus + boost dash + + # Osmose + qt4 + + # PPSSPP + glew snappy + + # Redream // "redream is not available for the x86_64 architecture" + + # ResidualVM + flac + + # rpcs3 // TODO: "error while loading shared libraries: libz.so.1..." + llvm_4 + + # ScummVM + nasm sndio + + # Snes9x + epoxy minizip + + # Vice + bison flex + + # WINE + xorg.xrandr perl which p7zip gnused gnugrep psmisc opencl-headers + + # ZDOOM + soundfont-fluid bzip2 game-music-emu + ] ++ qt5Deps pkgs + ++ gnome3Deps pkgs + ++ lib.optional steamSupport pkgs.steam; + + multiPkgs = pkgs: with pkgs; [ + # Common + libsndfile libtheora libogg libvorbis libopus libGLU libpcap libpulseaudio + libao libusb libevdev libudev libgcrypt libxml2 libusb libpng libmpeg2 libv4l + libjpeg libxkbcommon libass libcdio libjack2 libsamplerate libzip libmad libaio + libcap libtiff libva libgphoto2 libxslt libtxc_dxtn libsndfile giflib zlib glib + alsaLib zziplib bash dbus keyutils zip cabextract freetype unzip coreutils + readline gcc SDL SDL2 curl graphite2 gtk2 gtk3 udev ncurses wayland libglvnd + vulkan-loader xdg_utils sqlite + + # PCSX2 // TODO: "libgobject-2.0.so.0: wrong ELF class: ELFCLASS64" + + # WINE + cups lcms2 mpg123 cairo unixODBC samba4 sane-backends openldap + ocl-icd utillinux + ] ++ xorgDeps pkgs; + + extraInstallCommands = '' + mkdir -p $out/share + ln -sf ${lutris-unwrapped}/share/applications $out/share + ln -sf ${lutris-unwrapped}/share/icons $out/share + ''; +} diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix new file mode 100644 index 00000000000..5435080e831 --- /dev/null +++ b/pkgs/applications/misc/lutris/default.nix @@ -0,0 +1,66 @@ +{ buildPythonApplication, lib, fetchFromGitHub +, wrapGAppsHook, gobject-introspection, gnome-desktop, libnotify, libgnome-keyring, pango +, gdk-pixbuf, atk, webkitgtk, gst_all_1 +, evdev, pyyaml, pygobject3, requests, pillow +, xrandr, pciutils, psmisc, glxinfo, vulkan-tools, xboxdrv, pulseaudio, p7zip, xgamma +, libstrangle, wine, fluidsynth, xorgserver +}: + +let + # See lutris/util/linux.py + binPath = lib.makeBinPath [ + xrandr + pciutils + psmisc + glxinfo + vulkan-tools + xboxdrv + pulseaudio + p7zip + xgamma + libstrangle + wine + fluidsynth + xorgserver + ]; + + gstDeps = with gst_all_1; [ + gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly + gst-libav + ]; + +in buildPythonApplication rec { + pname = "lutris-original"; + version = "0.5.2.1"; + + src = fetchFromGitHub { + owner = "lutris"; + repo = "lutris"; + rev = "v${version}"; + sha256 = "023yqnzmnkfpq21r6ky6jzwbjxjcw1a5zqrrdl6fwwlr78fdhgpv"; + }; + + buildInputs = [ + wrapGAppsHook gobject-introspection gnome-desktop libnotify libgnome-keyring pango + gdk-pixbuf atk webkitgtk + ] ++ gstDeps; + + makeWrapperArgs = [ + "--prefix PATH : ${binPath}" + ]; + + propagatedBuildInputs = [ + evdev pyyaml pygobject3 requests pillow + ]; + + preCheck = "export HOME=$PWD"; + + meta = with lib; { + homepage = "https://lutris.net"; + description = "Open Source gaming platform for GNU/Linux"; + license = licenses.gpl3; + maintainers = with maintainers; [ chiiruno ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/applications/misc/lxterminal/default.nix b/pkgs/applications/misc/lxterminal/default.nix index 4fd86a5a4f5..8ce353e85b9 100644 --- a/pkgs/applications/misc/lxterminal/default.nix +++ b/pkgs/applications/misc/lxterminal/default.nix @@ -5,7 +5,8 @@ let version = "0.3.2"; in stdenv.mkDerivation rec { - name = "lxterminal-${version}"; + pname = "lxterminal"; + inherit version; src = fetchurl { url = "https://github.com/lxde/lxterminal/archive/${version}.tar.gz"; diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix index ad3bd499cde..744d124f84d 100644 --- a/pkgs/applications/misc/lyx/default.nix +++ b/pkgs/applications/misc/lyx/default.nix @@ -4,10 +4,10 @@ stdenv.mkDerivation rec { version = "2.3.0"; - name = "lyx-${version}"; + pname = "lyx"; src = fetchurl { - url = "ftp://ftp.lyx.org/pub/lyx/stable/2.3.x/${name}.tar.xz"; + url = "ftp://ftp.lyx.org/pub/lyx/stable/2.3.x/${pname}-${version}.tar.xz"; sha256 = "0axri2h8xkna4mkfchfyyysbjl7s486vx80p5hzj9zgsvdm5a3ri"; }; diff --git a/pkgs/applications/misc/madonctl/default.nix b/pkgs/applications/misc/madonctl/default.nix index f2dacb7890f..9a134343d29 100644 --- a/pkgs/applications/misc/madonctl/default.nix +++ b/pkgs/applications/misc/madonctl/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "madonctl-${version}"; + pname = "madonctl"; version = "1.1.0"; goPackagePath = "github.com/McKael/madonctl"; diff --git a/pkgs/applications/misc/makeself/default.nix b/pkgs/applications/misc/makeself/default.nix index a6af1762e28..f2585f78146 100644 --- a/pkgs/applications/misc/makeself/default.nix +++ b/pkgs/applications/misc/makeself/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "2.4.0"; - name = "makeself-${version}"; + pname = "makeself"; src = fetchFromGitHub { owner = "megastep"; @@ -15,15 +15,15 @@ stdenv.mkDerivation rec { patches = [ ./Use-rm-from-PATH.patch ]; postPatch = '' - sed -e "s|^HEADER=.*|HEADER=$out/share/${name}/makeself-header.sh|" -i makeself.sh + sed -e "s|^HEADER=.*|HEADER=$out/share/${pname}-${version}/makeself-header.sh|" -i makeself.sh ''; installPhase = '' - mkdir -p $out/{bin,share/{${name},man/man1}} - cp makeself.lsm README.md $out/share/${name} + mkdir -p $out/{bin,share/{${pname}-${version},man/man1}} + cp makeself.lsm README.md $out/share/${pname}-${version} cp makeself.sh $out/bin/makeself cp makeself.1 $out/share/man/man1/ - cp makeself-header.sh $out/share/${name} + cp makeself-header.sh $out/share/${pname}-${version} ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/mako/default.nix b/pkgs/applications/misc/mako/default.nix index 3d8ed3627f2..ffb938f30a5 100644 --- a/pkgs/applications/misc/mako/default.nix +++ b/pkgs/applications/misc/mako/default.nix @@ -1,19 +1,22 @@ -{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, scdoc, systemd, pango, cairo +{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, scdoc +, systemd, pango, cairo, gdk-pixbuf , wayland, wayland-protocols }: stdenv.mkDerivation rec { - name = "mako-${version}"; - version = "1.2"; + pname = "mako"; + version = "1.4"; src = fetchFromGitHub { owner = "emersion"; - repo = "mako"; + repo = pname; rev = "v${version}"; - sha256 = "112b7s5bkvwlgsm2kng2vh8mn6wr3a6c7n1arl9adxlghdym449h"; + sha256 = "11ymiq6cr2ma0iva1mqybn3j6k73bsc6lv6pcbdq7hkhd4f9b7j9"; }; - nativeBuildInputs = [ meson ninja pkgconfig scdoc ]; - buildInputs = [ systemd pango cairo wayland wayland-protocols ]; + nativeBuildInputs = [ meson ninja pkgconfig scdoc wayland-protocols ]; + buildInputs = [ systemd pango cairo gdk-pixbuf wayland ]; + + mesonFlags = [ "-Dzsh-completions=true" ]; meta = with stdenv.lib; { description = "A lightweight Wayland notification daemon"; diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix index 2928d271efc..1474ea2fc4f 100644 --- a/pkgs/applications/misc/masterpdfeditor/default.nix +++ b/pkgs/applications/misc/masterpdfeditor/default.nix @@ -1,27 +1,23 @@ -{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook, lib, makeWrapper }: +{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook, lib, wrapQtAppsHook }: let - version = "5.2.20"; + version = "5.4.10"; in stdenv.mkDerivation { - name = "masterpdfeditor-${version}"; + pname = "masterpdfeditor"; + inherit version; src = fetchurl { url = "https://code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz"; - sha256 = "1399zv3m7a2rxvmy213f5yii3krsqyahpwdzsw8j535xrb9f3z1m"; + sha256 = "1902ahb2g9xanrip1n0ihr31az8sv9fsvzddnzf70kbwlfclnqf7"; }; - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ]; 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 cd7bdd1fe7e..03f30d64fb2 100644 --- a/pkgs/applications/misc/mdp/default.nix +++ b/pkgs/applications/misc/mdp/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "1.0.15"; - name = "mdp-${version}"; + pname = "mdp"; src = fetchFromGitHub { owner = "visit1985"; @@ -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 904fb95ca6c..9eb4a0897d4 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.12"; - name = "mediainfo-gui-${version}"; + version = "19.07"; + pname = "mediainfo-gui"; src = fetchurl { url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "01pk57ff297lifm3g2hrbmfmchgyy5rir8103n2j3l0dkn2i0g3d"; + sha256 = "0b2ypdlpj5v64ggqk628mgqraba27z725sa0zf0fa4agxhf9ka44"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix index a3320a16ee9..98d5ef72b22 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.12"; - name = "mediainfo-${version}"; + version = "19.07"; + pname = "mediainfo"; src = fetchurl { url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "01pk57ff297lifm3g2hrbmfmchgyy5rir8103n2j3l0dkn2i0g3d"; + sha256 = "0b2ypdlpj5v64ggqk628mgqraba27z725sa0zf0fa4agxhf9ka44"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/megasync/default.nix b/pkgs/applications/misc/megasync/default.nix new file mode 100644 index 00000000000..bc753c5a7a9 --- /dev/null +++ b/pkgs/applications/misc/megasync/default.nix @@ -0,0 +1,125 @@ +{ stdenv +, autoconf +, automake +, c-ares +, cryptopp +, curl +, doxygen +, fetchFromGitHub +, ffmpeg +, hicolor-icon-theme +, libmediainfo +, libraw +, libsodium +, libtool +, libuv +, libzen +, lsb-release +, mkDerivation +, pkgconfig +, qtbase +, qttools +, sqlite +, swig +, unzip +, wget +}: + +mkDerivation rec { + pname = "megasync"; + version = "4.2.3.0"; + + src = fetchFromGitHub { + owner = "meganz"; + repo = "MEGAsync"; + rev = "v${version}_Linux"; + sha256 = "0l4yfrxjb62vc9dnlzy8rjqi68ga1bys5x5rfzs40daw13yf1adv"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + autoconf + automake + doxygen + lsb-release + pkgconfig + qttools + swig + ]; + buildInputs = [ + c-ares + cryptopp + curl + ffmpeg + hicolor-icon-theme + libmediainfo + libraw + libsodium + libtool + libuv + libzen + qtbase + sqlite + unzip + wget + ]; + + patches = [ + # Distro and version targets attempt to use lsb_release which is broken + # (see issue: https://github.com/NixOS/nixpkgs/issues/22729) + ./noinstall-distro-version.patch + # megasync target is not part of the install rule thanks to a commented block + ./install-megasync.patch + ]; + + postPatch = '' + for file in $(find src/ -type f \( -iname configure -o -iname \*.sh \) ); do + substituteInPlace "$file" --replace "/bin/bash" "${stdenv.shell}" + done + ''; + + dontUseQmakeConfigure = true; + enableParallelBuilding = true; + + preConfigure = '' + cd src/MEGASync/mega + ./autogen.sh + ''; + + configureFlags = [ + "--disable-examples" + "--disable-java" + "--disable-php" + "--enable-chat" + "--with-cares" + "--with-cryptopp" + "--with-curl" + "--with-ffmpeg" + "--without-freeimage" # unreferenced even when found + "--without-readline" + "--without-termcap" + "--with-sodium" + "--with-sqlite" + "--with-zlib" + ]; + + postConfigure = '' + cd ../.. + ''; + + preBuild = '' + qmake CONFIG+="release" MEGA.pro + pushd MEGASync + lrelease MEGASync.pro + DESKTOP_DESTDIR="$out" qmake PREFIX="$out" -o Makefile MEGASync.pro CONFIG+=release + popd + ''; + + meta = with stdenv.lib; { + description = "Easy automated syncing between your computers and your MEGA Cloud Drive"; + homepage = https://mega.nz/; + license = licenses.unfree; + platforms = [ "i686-linux" "x86_64-linux" ]; + maintainers = [ maintainers.michojel ]; + }; +} diff --git a/pkgs/applications/misc/megasync/install-megasync.patch b/pkgs/applications/misc/megasync/install-megasync.patch new file mode 100644 index 00000000000..7d8748528e7 --- /dev/null +++ b/pkgs/applications/misc/megasync/install-megasync.patch @@ -0,0 +1,21 @@ +Index: source/src/MEGASync/MEGASync.pro +=================================================================== +--- source.orig/src/MEGASync/MEGASync.pro ++++ source/src/MEGASync/MEGASync.pro +@@ -28,11 +28,11 @@ unix:!macx { + TARGET = megasync + + # Uncomment the following if "make install" doesn't copy megasync in /usr/bin directory +-# isEmpty(PREFIX) { +-# PREFIX = /usr +-# } +-# target.path = $$PREFIX/bin +-# INSTALLS += target ++ isEmpty(PREFIX) { ++ PREFIX = /usr ++ } ++ target.path = $$PREFIX/bin ++ INSTALLS += target + } + else { + TARGET = MEGAsync diff --git a/pkgs/applications/misc/megasync/noinstall-distro-version.patch b/pkgs/applications/misc/megasync/noinstall-distro-version.patch new file mode 100644 index 00000000000..bbf100737bc --- /dev/null +++ b/pkgs/applications/misc/megasync/noinstall-distro-version.patch @@ -0,0 +1,13 @@ +Index: source/src/MEGASync/platform/platform.pri +=================================================================== +--- source.orig/src/MEGASync/platform/platform.pri ++++ source/src/MEGASync/platform/platform.pri +@@ -37,7 +37,7 @@ unix:!macx { + system(command -v lsb_release): version.commands = lsb_release -rs > $$version.target + version.files = $$version.target + +- INSTALLS += distro version ++ # INSTALLS += distro version + + QT += dbus + SOURCES += $$PWD/linux/LinuxPlatform.cpp \ diff --git a/pkgs/applications/misc/memo/default.nix b/pkgs/applications/misc/memo/default.nix index c112cf0c928..ed0bbc4cb48 100644 --- a/pkgs/applications/misc/memo/default.nix +++ b/pkgs/applications/misc/memo/default.nix @@ -7,15 +7,15 @@ assert pandocSupport -> pandoc != null; stdenv.mkDerivation rec { - name = "memo-${version}"; + pname = "memo"; - version = "0.6"; + version = "0.8"; src = fetchFromGitHub { owner = "mrVanDalo"; repo = "memo"; rev = "${version}"; - sha256 = "1cvjs36f6vxzfz5d63yhyw8j7gdw5hn6cfzccf7ag08lamjhfhbr"; + sha256 = "0azx2bx6y7j0637fg3m8zigcw09zfm2mw9wjfg218sx88cm1wdkp"; }; installPhase = let diff --git a/pkgs/applications/misc/menumaker/default.nix b/pkgs/applications/misc/menumaker/default.nix index 56854e7863f..e06f2a88ade 100644 --- a/pkgs/applications/misc/menumaker/default.nix +++ b/pkgs/applications/misc/menumaker/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pythonPackages }: pythonPackages.buildPythonApplication rec { - name = "menumaker-${version}"; - version = "0.99.10"; + pname = "menumaker"; + version = "0.99.11"; src = fetchurl { - url = "mirror://sourceforge/menumaker/${name}.tar.gz"; - sha256 = "1mm4cvg3kphkkd8nwrhcg6d9nm5ar7mgc0wf6fxk6zck1l7xn8ky"; + url = "mirror://sourceforge/menumaker/${pname}-${version}.tar.gz"; + sha256 = "0dprndnhwm7b803zkp4pisiq06ic9iv8vr42in5is47jmvdim0wx"; }; format = "other"; diff --git a/pkgs/applications/misc/merkaartor/default.nix b/pkgs/applications/misc/merkaartor/default.nix index 70a6efb90dd..3023a5b5930 100644 --- a/pkgs/applications/misc/merkaartor/default.nix +++ b/pkgs/applications/misc/merkaartor/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchFromGitHub, qmake, pkgconfig, boost, gdal, proj +{ stdenv, fetchFromGitHub, makeWrapper, qmake, pkgconfig, boost, gdal, proj , qtbase, qtsvg, qtwebkit }: stdenv.mkDerivation rec { - name = "merkaartor-${version}"; + pname = "merkaartor"; version = "0.18.3"; src = fetchFromGitHub { @@ -12,12 +12,19 @@ stdenv.mkDerivation rec { sha256 = "0ls3q8m1hxiwyrypy6qca8wczhl4969ncl0sszfdwfv70rzxjk88"; }; - nativeBuildInputs = [ qmake pkgconfig ]; + nativeBuildInputs = [ makeWrapper qmake pkgconfig ]; buildInputs = [ boost gdal proj qtbase qtsvg qtwebkit ]; enableParallelBuilding = true; + NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" ]; + + postInstall = '' + wrapProgram $out/bin/merkaartor \ + --set QT_QPA_PLATFORM_PLUGIN_PATH ${qtbase.bin}/lib/qt-*/plugins/platforms + ''; + meta = with stdenv.lib; { description = "OpenStreetMap editor"; homepage = http://merkaartor.be/; diff --git a/pkgs/applications/misc/metamorphose2/default.nix b/pkgs/applications/misc/metamorphose2/default.nix index 602d4a032ef..318c7c25242 100644 --- a/pkgs/applications/misc/metamorphose2/default.nix +++ b/pkgs/applications/misc/metamorphose2/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "metamorphose2-${version}"; + pname = "metamorphose2"; version = "0.9.0beta"; # exif-py vendored via submodule diff --git a/pkgs/applications/misc/milu/default.nix b/pkgs/applications/misc/milu/default.nix index 09c4d1db290..6c1dcd5e150 100644 --- a/pkgs/applications/misc/milu/default.nix +++ b/pkgs/applications/misc/milu/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, unzip, pkgconfig, glib, llvmPackages }: stdenv.mkDerivation rec { - name = "milu-nightly-${version}"; + pname = "milu-nightly"; version = "2016-05-09"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/minergate-cli/default.nix b/pkgs/applications/misc/minergate-cli/default.nix index 6aa7eea3d7e..95ceaddb4f0 100644 --- a/pkgs/applications/misc/minergate-cli/default.nix +++ b/pkgs/applications/misc/minergate-cli/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "8.2"; - name = "minergate-cli-${version}"; + pname = "minergate-cli"; src = fetchurl { url = "https://minergate.com/download/ubuntu-cli"; sha256 = "393c5ba236f6f92c449496fcda9509f4bfd3887422df98ffa59b3072124a99d8"; diff --git a/pkgs/applications/misc/minergate/default.nix b/pkgs/applications/misc/minergate/default.nix index d11e889e932..fdd1238d870 100644 --- a/pkgs/applications/misc/minergate/default.nix +++ b/pkgs/applications/misc/minergate/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "8.1"; - name = "minergate-${version}"; + pname = "minergate"; src = fetchurl { url = "https://minergate.com/download/ubuntu"; sha256 = "1dbbbb8e0735cde239fca9e82c096dcc882f6cecda20bba7c14720a614c16e13"; diff --git a/pkgs/applications/misc/mkgmap/build.xml.patch b/pkgs/applications/misc/mkgmap/build.xml.patch new file mode 100644 index 00000000000..6ec40786b24 --- /dev/null +++ b/pkgs/applications/misc/mkgmap/build.xml.patch @@ -0,0 +1,11 @@ +--- a/build.xml 2019-08-26 23:22:55.104829846 +0300 ++++ b/build.xml 2019-08-27 00:11:07.366257594 +0300 +@@ -227,7 +227,7 @@ +
+ + +- + + diff --git a/pkgs/applications/misc/mkgmap/default.nix b/pkgs/applications/misc/mkgmap/default.nix new file mode 100644 index 00000000000..debcea78f55 --- /dev/null +++ b/pkgs/applications/misc/mkgmap/default.nix @@ -0,0 +1,57 @@ +{ stdenv, fetchurl, fetchsvn, jdk, jre, ant, makeWrapper }: + +let + fastutil = fetchurl { + url = "http://ivy.mkgmap.org.uk/repo/it.unimi.dsi/fastutil/6.5.15-mkg.1b/jars/fastutil.jar"; + sha256 = "0d88m0rpi69wgxhnj5zh924q4zsvxq8m4ybk7m9mr3gz1hx0yx8c"; + }; + osmpbf = fetchurl { + url = "http://ivy.mkgmap.org.uk/repo/crosby/osmpbf/1.3.3/jars/osmpbf.jar"; + sha256 = "0zb4pqkwly5z30ww66qhhasdhdrzwmrw00347yrbgyk2ii4wjad3"; + }; + protobuf = fetchurl { + url = "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar"; + sha256 = "0x6c4pbsizvk3lm6nxcgi1g2iqgrxcna1ip74lbn01f0fm2wdhg0"; + }; +in + +stdenv.mkDerivation rec { + pname = "mkgmap"; + version = "4289"; + + src = fetchsvn { + url = "https://svn.mkgmap.org.uk/mkgmap/mkgmap/trunk"; + rev = version; + sha256 = "1sm1pw71q7z0jrxm8bcgm6xjl2mcidyibcf0a3m8fv2andidxrb4"; + }; + + # This patch removes from the build process + # the automatic download of dependencies (see configurePhase) + patches = [ ./build.xml.patch ]; + + nativeBuildInputs = [ jdk ant makeWrapper ]; + + configurePhase = '' + mkdir -p lib/compile + cp ${fastutil} ${osmpbf} ${protobuf} lib/compile/ + ''; + + buildPhase = "ant"; + + installPhase = '' + cd dist + install -Dm644 mkgmap.jar $out/share/java/mkgmap/mkgmap.jar + install -Dm644 doc/mkgmap.1 $out/share/man/man1/mkgmap.1 + cp -r lib/ $out/share/java/mkgmap/ + makeWrapper ${jre}/bin/java $out/bin/mkgmap \ + --add-flags "-jar $out/share/java/mkgmap/mkgmap.jar" + ''; + + meta = with stdenv.lib; { + description = "Create maps for Garmin GPS devices from OpenStreetMap (OSM) data"; + homepage = "http://www.mkgmap.org.uk"; + license = licenses.gpl2; + maintainers = with maintainers; [ sikmir ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/misc/mlterm/default.nix b/pkgs/applications/misc/mlterm/default.nix index c872af68cef..d3e7f9e8cd4 100644 --- a/pkgs/applications/misc/mlterm/default.nix +++ b/pkgs/applications/misc/mlterm/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchurl, pkgconfig, autoconf, makeDesktopItem -, libX11, gdk_pixbuf, cairo, libXft, gtk3, vte +, libX11, gdk-pixbuf, cairo, libXft, gtk3, vte , harfbuzz #substituting glyphs with opentype fonts , fribidi, m17n_lib #bidi and encoding , openssl, libssh2 #build-in ssh }: stdenv.mkDerivation rec { - name = "mlterm-${version}"; - version = "3.8.7"; + pname = "mlterm"; + version = "3.8.8"; src = fetchurl { - url = "mirror://sourceforge/project/mlterm/01release/${name}/${name}.tar.gz"; - sha256 = "10j7q7rk6ck86xl1898maxhgkp1h7vy7nliv9sk5bqgs7rdwn4kl"; + url = "mirror://sourceforge/project/mlterm/01release/${pname}-${version}/${pname}-${version}.tar.gz"; + sha256 = "1jq3fv2wqhszfipkzj8d0lykr6g0zzksn7xy4d3kwincmzfskv7k"; }; nativeBuildInputs = [ pkgconfig autoconf ]; buildInputs = [ - libX11 gdk_pixbuf.dev cairo libXft gtk3 vte + libX11 gdk-pixbuf.dev cairo libXft gtk3 vte harfbuzz fribidi m17n_lib openssl libssh2 ]; diff --git a/pkgs/applications/misc/moolticute/default.nix b/pkgs/applications/misc/moolticute/default.nix new file mode 100644 index 00000000000..0f4e72502bb --- /dev/null +++ b/pkgs/applications/misc/moolticute/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl +, libusb1, pkgconfig, qmake, qtbase, qttools, qtwebsockets +}: + +stdenv.mkDerivation rec { + name = "moolticute-${version}"; + version = "0.30.8"; + + src = fetchurl { + url = "https://github.com/mooltipass/moolticute/archive/v${version}.tar.gz"; + sha256 = "1qi18r2v0mpw1y007vjgzhiia89fpgsbg2wirxgngl21yxdns1pf"; + }; + + preConfigure = "mkdir -p build && cd build"; + nativeBuildInputs = [ pkgconfig qmake qttools ]; + qmakeFlags = [ "../Moolticute.pro" ]; + + outputs = [ "out" "udev" ]; + preInstall = '' + mkdir -p $udev/lib/udev/rules.d + sed -n '/^ \+cat > "$tmpfile" <<- EOF$/,/^EOF$/p' ../data/moolticute.sh | + sed '1d;$d' > $udev/lib/udev/rules.d/50-mooltipass.rules + ''; + + buildInputs = [ libusb1 qtbase qtwebsockets ]; + + meta = with stdenv.lib; { + description = "GUI app and daemon to work with Mooltipass device via USB"; + longDescription = '' + To install udev rules, add `services.udev.packages == [ moolticute.udev ]` + into `nixos/configuration.nix`. + ''; + homepage = https://github.com/mooltipass/moolticute; + license = licenses.gpl3Plus; + maintainers = [ maintainers.kirikaza ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/moonlight-embedded/default.nix b/pkgs/applications/misc/moonlight-embedded/default.nix index 76c2ba69d35..08f510a2840 100644 --- a/pkgs/applications/misc/moonlight-embedded/default.nix +++ b/pkgs/applications/misc/moonlight-embedded/default.nix @@ -1,18 +1,18 @@ { stdenv, fetchFromGitHub, cmake, perl , alsaLib, libevdev, libopus, udev, SDL2 , ffmpeg, pkgconfig, xorg, libvdpau, libpulseaudio, libcec -, curl, expat, avahi, enet, libuuid +, curl, expat, avahi, enet, libuuid, libva }: stdenv.mkDerivation rec { - name = "moonlight-embedded-${version}"; - version = "2.4.7"; + pname = "moonlight-embedded"; + version = "2.4.10"; src = fetchFromGitHub { owner = "irtimmer"; repo = "moonlight-embedded"; rev = "v${version}"; - sha256 = "0ihgb0kh4rhbgn55s25rfbs8063zqvcyqn137jn3nsc0is1595a9"; + sha256 = "0m5i3q3hbjl51cndjpz5hxi3br6fvpn1fzdv0f6lxjxgw9z32413"; fetchSubmodules = true; }; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { buildInputs = [ alsaLib libevdev libopus udev SDL2 ffmpeg pkgconfig xorg.libxcb libvdpau libpulseaudio libcec - xorg.libpthreadstubs curl expat avahi enet libuuid + xorg.libpthreadstubs curl expat avahi enet libuuid libva ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/mop/default.nix b/pkgs/applications/misc/mop/default.nix index b9179bbe546..c0d41cda02d 100644 --- a/pkgs/applications/misc/mop/default.nix +++ b/pkgs/applications/misc/mop/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchgit }: buildGoPackage rec { - name = "mop-${version}"; + pname = "mop"; version = "0.2.0"; rev = "bc666ec165d08b43134f7ec0bf29083ad5466243"; diff --git a/pkgs/applications/misc/mqtt-bench/default.nix b/pkgs/applications/misc/mqtt-bench/default.nix index eea166d8df7..0e8cc2ebcea 100644 --- a/pkgs/applications/misc/mqtt-bench/default.nix +++ b/pkgs/applications/misc/mqtt-bench/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub, fetchpatch }: buildGoPackage rec { - name = "mqtt-bench-${version}"; + pname = "mqtt-bench"; version = "0.3.0"; rev = "v${version}"; diff --git a/pkgs/applications/misc/multibootusb/default.nix b/pkgs/applications/misc/multibootusb/default.nix index 88a7b94897d..a2678d6067f 100644 --- a/pkgs/applications/misc/multibootusb/default.nix +++ b/pkgs/applications/misc/multibootusb/default.nix @@ -1,4 +1,4 @@ -{ stdenv, 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}" < speechd != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "navit-${version}"; + pname = "navit"; version = "0.5.3"; src = fetchFromGitHub { @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { 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 + cairo gdk-pixbuf pango atk ] ++ optionals sdlSupport [ SDL SDL_ttf SDL_image ] ++ optional postgresqlSupport postgresql ++ optional speechdSupport speechd @@ -81,7 +81,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = http://www.navit-project.org; + homepage = https://www.navit-project.org; description = "Car navigation system with routing engine using OSM maps"; license = licenses.gpl2; maintainers = [ maintainers.genesis ]; diff --git a/pkgs/applications/misc/neap/default.nix b/pkgs/applications/misc/neap/default.nix index 21a5ab0cd0f..4104d35cf10 100644 --- a/pkgs/applications/misc/neap/default.nix +++ b/pkgs/applications/misc/neap/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, python2Packages }: stdenv.mkDerivation rec { - name = "neap-${version}"; + pname = "neap"; version = "0.7.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/netsurf/browser/default.nix b/pkgs/applications/misc/netsurf/browser/default.nix index 1b800f65434..c1ba5ba23b1 100644 --- a/pkgs/applications/misc/netsurf/browser/default.nix +++ b/pkgs/applications/misc/netsurf/browser/default.nix @@ -1,71 +1,85 @@ -{ stdenv, fetchurl, pkgconfig, libpng, openssl, curl, gtk2, check, SDL -, libxml2, libidn, perl, nettools, perlPackages -, libXcursor, libXrandr, makeWrapper +{ stdenv, fetchurl, fetchpatch, makeWrapper, wrapGAppsHook + +# Buildtime dependencies. + +, check, pkgconfig, xxd + +# Runtime dependencies. + +, curl, expat, libXcursor, libXrandr, libidn, libjpeg, libpng, libwebp, libxml2 +, openssl, perl, perlPackages + +# uilib-specific dependencies + +, gtk2 # GTK 2 +, SDL # Framebuffer + +# Configuration + , uilib ? "framebuffer" -, buildsystem -, nsgenbind -, libnsfb -, libwapcaplet -, libparserutils -, libcss -, libhubbub -, libdom -, libnsbmp -, libnsgif -, libnsutils -, libutf8proc + +# Netsurf-specific dependencies + +, libcss, libdom, libhubbub, libnsbmp, libnsfb, libnsgif +, libnslog, libnspsl, libnsutils, libparserutils, libsvgtiny, libutf8proc +, libwapcaplet, nsgenbind }: +let + inherit (stdenv.lib) optional optionals; +in stdenv.mkDerivation rec { - name = "netsurf-${version}"; - version = "3.5"; - - # UI libs incldue Framebuffer, and gtk + pname = "netsurf"; + version = "3.9"; src = fetchurl { url = "http://download.netsurf-browser.org/netsurf/releases/source/netsurf-${version}-src.tar.gz"; - sha256 = "1k0x8mzgavfy7q9kywl6kzsc084g1xlymcnsxi5v6jp279nsdwwq"; + sha256 = "1hzcm2s2wh5sapgr000lg63hcdbj6hyajxl43xa1x80kc5piqbyp"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libpng openssl curl gtk2 check libxml2 libidn perl - nettools perlPackages.HTMLParser libXcursor libXrandr makeWrapper SDL - buildsystem - nsgenbind - libnsfb - libwapcaplet - libparserutils - libcss - libhubbub - libdom - libnsbmp - libnsgif - libnsutils + patches = [ + # GTK: prefer using curl's intrinsic defaults for CURLOPT_CA* + (fetchpatch { + name = "0001-GTK-prefer-using-curl-s-intrinsic-defaults-for-CURLO.patch"; + url = "http://source.netsurf-browser.org/netsurf.git/patch/?id=87177d8aa109206d131e0d80a2080ce55dab01c7"; + sha256 = "08bc60pc5k5qpckqv21zgmgszj3rpwskfc84shs8vg92vkimv2ai"; + }) + ]; + + nativeBuildInputs = [ + makeWrapper + perl + perlPackages.HTMLParser + pkgconfig + xxd + ] + ++ optional (uilib == "gtk") wrapGAppsHook + ; + + buildInputs = [ + check curl libXcursor libXrandr libidn libjpeg libpng libwebp libxml2 openssl + # Netsurf-specific libraries + nsgenbind libnsfb libwapcaplet libparserutils libnslog libcss + libhubbub libdom libnsbmp libnsgif libsvgtiny libnsutils libnspsl libutf8proc - ]; + ] + ++ optionals (uilib == "framebuffer") [ expat SDL ] + ++ optional (uilib == "gtk") gtk2 + ; preConfigure = '' cat < Makefile.conf - override NETSURF_GTK_RESOURCES := $out/share/Netsurf/${uilib}/res + override NETSURF_GTK_RES_PATH := $out/share/ override NETSURF_USE_GRESOURCE := YES EOF ''; makeFlags = [ - "PREFIX=$(out)" - "NSSHARED=${buildsystem}/share/netsurf-buildsystem" + "PREFIX=${placeholder "out"}" "TARGET=${uilib}" ]; - installPhase = '' - mkdir -p $out/bin $out/share/Netsurf/${uilib} - cmd=$(case "${uilib}" in framebuffer) echo nsfb;; gtk) echo nsgtk;; esac) - cp $cmd $out/bin/netsurf - wrapProgram $out/bin/netsurf --set NETSURFRES $out/share/Netsurf/${uilib}/res - tar -hcf - ${uilib}/res | (cd $out/share/Netsurf/ && tar -xvpf -) - ''; - meta = with stdenv.lib; { homepage = http://www.netsurf-browser.org/; description = "Free opensource web browser"; diff --git a/pkgs/applications/misc/netsurf/buildsystem/default.nix b/pkgs/applications/misc/netsurf/buildsystem/default.nix index 882bb75219d..36d5a70735a 100644 --- a/pkgs/applications/misc/netsurf/buildsystem/default.nix +++ b/pkgs/applications/misc/netsurf/buildsystem/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { - name = "netsurf-buildsystem-${version}"; - version = "1.7"; + pname = "netsurf-buildsystem"; + version = "1.8"; src = fetchurl { url = "http://download.netsurf-browser.org/libs/releases/buildsystem-${version}.tar.gz"; - sha256 = "1q23aaycv35ma5471l1gxib8lfq2s9kprrkaqgfc926d04rlbmhw"; + sha256 = "0ffdjwskxlnh8sk40qqfgksbb1nrdzfxsshrscra0p4nqpkj98z6"; }; makeFlags = [ diff --git a/pkgs/applications/misc/netsurf/libcss/default.nix b/pkgs/applications/misc/netsurf/libcss/default.nix index e97452249bc..55538925abd 100644 --- a/pkgs/applications/misc/netsurf/libcss/default.nix +++ b/pkgs/applications/misc/netsurf/libcss/default.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation rec { name = "netsurf-${libname}-${version}"; libname = "libcss"; - version = "0.6.0"; + version = "0.9.0"; src = fetchurl { url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz"; - sha256 = "0qp4p1q1dwgdra4pkrzd081zjzisxkgwx650ijx323j8bj725daf"; + sha256 = "1vw9j3d2mr4wbvs8fyqmgslkbxknvac10456775hflxxcivbm3xr"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/misc/netsurf/libdom/default.nix b/pkgs/applications/misc/netsurf/libdom/default.nix index 50a6dadadb5..de92219e7f9 100644 --- a/pkgs/applications/misc/netsurf/libdom/default.nix +++ b/pkgs/applications/misc/netsurf/libdom/default.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { name = "netsurf-${libname}-${version}"; libname = "libdom"; - version = "0.3.0"; + version = "0.4.0"; src = fetchurl { url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz"; - sha256 = "1kk6qbqagx5ypiy9kf0059iqdzyz8fqaw336vzhb5gnrzjw3wv4a"; + sha256 = "1ixkqsl3f7dl1kajksm0c231w1v5xy8z6hm3v67hgm9nh4qcvfcy"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/misc/netsurf/libhubbub/default.nix b/pkgs/applications/misc/netsurf/libhubbub/default.nix index 71519687151..03ee66fc598 100644 --- a/pkgs/applications/misc/netsurf/libhubbub/default.nix +++ b/pkgs/applications/misc/netsurf/libhubbub/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { name = "netsurf-${libname}-${version}"; libname = "libhubbub"; - version = "0.3.3"; + version = "0.3.6"; src = fetchurl { url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz"; - sha256 = "101781iw32p47386fxqr01nrkywi12w17ajh02k2vlga4z8zyv86"; + sha256 = "1x3v7xvagx85v9h3pypzc86rcxs4mij87mmcqkp8pq50q6awfmnp"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/misc/netsurf/libnsbmp/default.nix b/pkgs/applications/misc/netsurf/libnsbmp/default.nix index 7e99f8f5b86..b0fb18c89b1 100644 --- a/pkgs/applications/misc/netsurf/libnsbmp/default.nix +++ b/pkgs/applications/misc/netsurf/libnsbmp/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "netsurf-${libname}-${version}"; libname = "libnsbmp"; - version = "0.1.3"; + version = "0.1.5"; src = fetchurl { url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz"; - sha256 = "0gmvzw1whh7553d6s98vr4ri2whjwrgggcq1z5b160gwjw20mzyy"; + sha256 = "0lib2m07d1i0k80m4blkwnj0g7rha4jbm5vrgd0wwbkyfa0hvk35"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/misc/netsurf/libnsfb/default.nix b/pkgs/applications/misc/netsurf/libnsfb/default.nix index 24235f43a11..29b0a7867db 100644 --- a/pkgs/applications/misc/netsurf/libnsfb/default.nix +++ b/pkgs/applications/misc/netsurf/libnsfb/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "netsurf-${libname}-${version}"; libname = "libnsfb"; - version = "0.1.4"; + version = "0.2.1"; src = fetchurl { url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz"; - sha256 = "176f8why9gzbaca9nnxjqasl02qzc6g507z5w3dzkcjifnkz4mzl"; + sha256 = "09qag9lgn5ahanbcyf2rvfmsz15vazfwnl8xpn8f1iczd44b0bv0"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/misc/netsurf/libnsgif/default.nix b/pkgs/applications/misc/netsurf/libnsgif/default.nix index 836bfd5f3e0..4de882243fe 100644 --- a/pkgs/applications/misc/netsurf/libnsgif/default.nix +++ b/pkgs/applications/misc/netsurf/libnsgif/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "netsurf-${libname}-${version}"; libname = "libnsgif"; - version = "0.1.3"; + version = "0.2.1"; src = fetchurl { url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz"; - sha256 = "1a4z45gh0fw4iybf34fig725av25h31ffk0azi0snzh4130cklnk"; + sha256 = "0jwshypgmx16xlsbx3d8njk8a5khazlplca5mxd3rdbhrlsabbly"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/misc/netsurf/libnslog/default.nix b/pkgs/applications/misc/netsurf/libnslog/default.nix new file mode 100644 index 00000000000..497630c9aa6 --- /dev/null +++ b/pkgs/applications/misc/netsurf/libnslog/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, pkgconfig, bison, flex +, buildsystem +}: + +stdenv.mkDerivation rec { + + name = "netsurf-${libname}-${version}"; + libname = "libnslog"; + version = "0.1.2"; + + src = fetchurl { + url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz"; + sha256 = "1ggs6xvxp8fbg5w8pifalipm458ygr9ab6j2yvj8fnnmxwvdh4jd"; + }; + + nativeBuildInputs = [ pkgconfig bison flex ]; + buildInputs = [ + buildsystem + ]; + + makeFlags = [ + "PREFIX=$(out)" + "NSSHARED=${buildsystem}/share/netsurf-buildsystem" + ]; + + meta = with stdenv.lib; { + homepage = http://www.netsurf-browser.org/; + description = "NetSurf Parametric Logging Library"; + license = licenses.mit; + maintainers = [ maintainers.samueldr ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/netsurf/libnspsl/default.nix b/pkgs/applications/misc/netsurf/libnspsl/default.nix new file mode 100644 index 00000000000..f0abbdc049a --- /dev/null +++ b/pkgs/applications/misc/netsurf/libnspsl/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, pkgconfig +, buildsystem +}: + +stdenv.mkDerivation rec { + + name = "netsurf-${libname}-${version}"; + libname = "libnspsl"; + version = "0.1.5"; + + src = fetchurl { + url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz"; + sha256 = "0siq8zjfxv75i9fw6q5hkaijpdm1w3zskd5qk6vsvz8cqan4vifd"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ + buildsystem + ]; + + makeFlags = [ + "PREFIX=$(out)" + "NSSHARED=${buildsystem}/share/netsurf-buildsystem" + ]; + + meta = with stdenv.lib; { + homepage = http://www.netsurf-browser.org/; + description = "NetSurf Public Suffix List - Handling library"; + license = licenses.mit; + maintainers = [ maintainers.samueldr ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/netsurf/libnsutils/default.nix b/pkgs/applications/misc/netsurf/libnsutils/default.nix index 1e8dbe27137..3eaa882cb73 100644 --- a/pkgs/applications/misc/netsurf/libnsutils/default.nix +++ b/pkgs/applications/misc/netsurf/libnsutils/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "netsurf-${libname}-${version}"; libname = "libnsutils"; - version = "0.0.2"; + version = "0.0.5"; src = fetchurl { url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz"; - sha256 = "03p4xmd08yhj70nyj7acjccmmshs59lv4n4zsqpsn5lgkwa23lzy"; + sha256 = "09w1rixps1iiq6wirjwxmd6h87llvjzvw565rahjb3rlyhcplfqf"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/misc/netsurf/libparserutils/default.nix b/pkgs/applications/misc/netsurf/libparserutils/default.nix index ed9433b9f57..ea9d7c9ea85 100644 --- a/pkgs/applications/misc/netsurf/libparserutils/default.nix +++ b/pkgs/applications/misc/netsurf/libparserutils/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "netsurf-${libname}-${version}"; libname = "libparserutils"; - version = "0.2.3"; + version = "0.2.4"; src = fetchurl { url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz"; - sha256 = "01gzlsabgl6x0icd8758d9jqs8rrf9574bdkjainn04w3fs3znf5"; + sha256 = "1n2794y2l0c8nv8z2pxwfnbn882987ifmxjv60zdxkhcndhswarj"; }; buildInputs = [ buildsystem perl ]; diff --git a/pkgs/applications/misc/netsurf/libsvgtiny/default.nix b/pkgs/applications/misc/netsurf/libsvgtiny/default.nix new file mode 100644 index 00000000000..9a4f922c2b6 --- /dev/null +++ b/pkgs/applications/misc/netsurf/libsvgtiny/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, pkgconfig, gperf +, buildsystem +, libdom +, libhubbub +, libparserutils +, libwapcaplet +}: + +stdenv.mkDerivation rec { + + name = "netsurf-${libname}-${version}"; + libname = "libsvgtiny"; + version = "0.1.7"; + + src = fetchurl { + url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz"; + sha256 = "10bpkmvfpydj74im3r6kqm9vnvgib6afy0alx71q5n0w5yawy39c"; + }; + + nativeBuildInputs = [ pkgconfig gperf ]; + buildInputs = [ + buildsystem + libdom + libhubbub + libparserutils + libwapcaplet + ]; + + makeFlags = [ + "PREFIX=$(out)" + "NSSHARED=${buildsystem}/share/netsurf-buildsystem" + ]; + + meta = with stdenv.lib; { + homepage = http://www.netsurf-browser.org/; + description = "NetSurf SVG decoder"; + license = licenses.mit; + maintainers = [ maintainers.samueldr ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/netsurf/libutf8proc/default.nix b/pkgs/applications/misc/netsurf/libutf8proc/default.nix index a905f3a12a8..2144ccd3303 100644 --- a/pkgs/applications/misc/netsurf/libutf8proc/default.nix +++ b/pkgs/applications/misc/netsurf/libutf8proc/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "netsurf-${libname}-${version}"; libname = "libutf8proc"; - version = "1.3.1"; + version = "2.4.0-1"; src = fetchurl { url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz"; - sha256 = "0xf659y3c6ikjnip47r30wv796a34d71p6qhc4xjs64iqszm1sbq"; + sha256 = "0wn409laqaqlqnz2d77419b5rya99vvc696vj187biy1i5livaq1"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/misc/netsurf/libwapcaplet/default.nix b/pkgs/applications/misc/netsurf/libwapcaplet/default.nix index 509cbeb4503..a234af740f3 100644 --- a/pkgs/applications/misc/netsurf/libwapcaplet/default.nix +++ b/pkgs/applications/misc/netsurf/libwapcaplet/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "netsurf-${libname}-${version}"; libname = "libwapcaplet"; - version = "0.3.0"; + version = "0.4.2"; src = fetchurl { url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz"; - sha256 = "0cs1dd2afjgc3wf5gqg434hv6jdabrp9qvlpl4dp53nhkyfywna3"; + sha256 = "1fjwzbn7j8bi1b9bvwxsy3i2cr6byq2s2d29866801pjnf528g86"; }; buildInputs = [ buildsystem ]; diff --git a/pkgs/applications/misc/netsurf/nsgenbind/default.nix b/pkgs/applications/misc/netsurf/nsgenbind/default.nix index 971e16848ae..88ac4f0c3eb 100644 --- a/pkgs/applications/misc/netsurf/nsgenbind/default.nix +++ b/pkgs/applications/misc/netsurf/nsgenbind/default.nix @@ -5,12 +5,12 @@ stdenv.mkDerivation rec { - name = "netsurf-nsgenbind-${version}"; - version = "0.3"; + pname = "netsurf-nsgenbind"; + version = "0.7"; src = fetchurl { url = "http://download.netsurf-browser.org/libs/releases/nsgenbind-${version}-src.tar.gz"; - sha256 = "16xsazly7gxwywmlkf2xix9b924sj3skhgdak7218l0nc62a08gg"; + sha256 = "0rplmky4afsjwiwh7grkmcdmzg86zksa55j93dvq92f91yljwqqq"; }; buildInputs = [ buildsystem flex bison ]; diff --git a/pkgs/applications/misc/nix-tour/default.nix b/pkgs/applications/misc/nix-tour/default.nix index 7e5a3a7840d..31afed3061a 100644 --- a/pkgs/applications/misc/nix-tour/default.nix +++ b/pkgs/applications/misc/nix-tour/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchgit, electron } : +{ stdenv, fetchgit, electron, runtimeShell } : stdenv.mkDerivation rec { - name = "nix-tour-${version}"; + pname = "nix-tour"; version = "0.0.1"; buildInputs = [ electron ]; @@ -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 145abfba5d5..dec8b4ba0a7 100644 --- a/pkgs/applications/misc/nixnote2/default.nix +++ b/pkgs/applications/misc/nixnote2/default.nix @@ -2,7 +2,7 @@ , qtbase, qtwebkit, poppler, qmake, hunspell, html-tidy}: mkDerivation rec { - name = "nixnote2-${version}"; + pname = "nixnote2"; version = "2.0.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix index 9eb5382cde9..c38a27d55e6 100644 --- a/pkgs/applications/misc/nnn/default.nix +++ b/pkgs/applications/misc/nnn/default.nix @@ -1,23 +1,23 @@ -{ stdenv, fetchFromGitHub, pkgconfig, ncurses, conf ? null }: +{ stdenv, fetchFromGitHub, pkgconfig, ncurses, readline, conf ? null }: with stdenv.lib; stdenv.mkDerivation rec { - name = "nnn-${version}"; - version = "2.2"; + pname = "nnn"; + version = "2.5"; src = fetchFromGitHub { owner = "jarun"; - repo = "nnn"; + repo = pname; rev = "v${version}"; - sha256 = "01y2vkw1wakpnpzhzia3d44iir060i8vma3b3ww5wgwg7bfpzs4b"; + sha256 = "0hvb0q6jg2nmvb40q43jj7v45afkjgcq6q9ldmmrh5558d0n65cw"; }; configFile = optionalString (conf!=null) (builtins.toFile "nnn.h" conf); preBuild = optionalString (conf!=null) "cp ${configFile} nnn.h"; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ ncurses ]; + buildInputs = [ readline ncurses ]; makeFlags = [ "DESTDIR=${placeholder "out"}" "PREFIX=" ]; diff --git a/pkgs/applications/misc/noice/default.nix b/pkgs/applications/misc/noice/default.nix index bcf2edd8f2f..db8139122ba 100644 --- a/pkgs/applications/misc/noice/default.nix +++ b/pkgs/applications/misc/noice/default.nix @@ -3,7 +3,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "noice-${version}"; + pname = "noice"; version = "0.6"; src = fetchgit { diff --git a/pkgs/applications/misc/notable/default.nix b/pkgs/applications/misc/notable/default.nix new file mode 100644 index 00000000000..055728ee046 --- /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 index a79c63db163..b359088d6ba 100644 --- a/pkgs/applications/misc/notejot/default.nix +++ b/pkgs/applications/misc/notejot/default.nix @@ -1,40 +1,36 @@ { stdenv, fetchFromGitHub, pkgconfig, meson, ninja, python3, pantheon -, gtk3, gtksourceview, json-glib, gnome3, gobject-introspection, wrapGAppsHook }: +, gtk3, gtksourceview, json-glib, libgee, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "notejot"; - version = "1.5.4"; - - name = "${pname}-${version}"; + version = "1.5.8"; src = fetchFromGitHub { owner = "lainsce"; repo = pname; rev = version; - sha256 = "1lv4s2mqddi6lz414kqpp4vcwnkjibc0k2xhnczaa1wf3azlxjgf"; + sha256 = "1v7f4xy5iwdjyf4416qpiwzifi68n466faia1hxzsq18fb1ri0af"; }; nativeBuildInputs = [ - gobject-introspection meson ninja + pantheon.vala pkgconfig python3 - pantheon.vala wrapGAppsHook ]; buildInputs = [ - pantheon.elementary-icon-theme - pantheon.granite - gnome3.libgee gtk3 gtksourceview json-glib + libgee + pantheon.elementary-icon-theme + pantheon.granite ]; postPatch = '' - chmod +x meson/post_install.py patchShebangs meson/post_install.py ''; diff --git a/pkgs/applications/misc/notify-osd-customizable/default.nix b/pkgs/applications/misc/notify-osd-customizable/default.nix index 828c39d5ed8..4568c3e8acc 100644 --- a/pkgs/applications/misc/notify-osd-customizable/default.nix +++ b/pkgs/applications/misc/notify-osd-customizable/default.nix @@ -8,11 +8,12 @@ , libwnck3 , makeWrapper , pkgconfig +, gsettings-desktop-schemas }: let baseURI = "https://launchpad.net/~leolik/+archive/leolik"; in stdenv.mkDerivation rec { - name = "notify-osd-${version}"; + pname = "notify-osd"; version = "0.9.35+16.04.20160415"; src = fetchurl { @@ -26,7 +27,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ glib libwnck3 libnotify dbus-glib makeWrapper - gnome3.gsettings-desktop-schemas gnome3.gnome-common + gsettings-desktop-schemas gnome3.gnome-common libtool ]; diff --git a/pkgs/applications/misc/notify-osd/default.nix b/pkgs/applications/misc/notify-osd/default.nix index f602ce9db66..484ff62e9e6 100644 --- a/pkgs/applications/misc/notify-osd/default.nix +++ b/pkgs/applications/misc/notify-osd/default.nix @@ -1,7 +1,7 @@ -{ 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}"; + pname = "notify-osd"; version = "0.9.34"; src = fetchurl { @@ -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/nrsc5/default.nix b/pkgs/applications/misc/nrsc5/default.nix index 69f74d66dd0..3ad83776842 100644 --- a/pkgs/applications/misc/nrsc5/default.nix +++ b/pkgs/applications/misc/nrsc5/default.nix @@ -13,7 +13,8 @@ let version = "1.0"; in stdenv.mkDerivation { - name = "nrsc5-${version}"; + pname = "nrsc5"; + inherit version; src = fetchFromGitHub { owner = "theori-io"; diff --git a/pkgs/applications/misc/ocropus/default.nix b/pkgs/applications/misc/ocropus/default.nix index 40432c18aa3..a604349afb0 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 9622689199a..c0bacc2c50d 100644 --- a/pkgs/applications/misc/octoprint/default.nix +++ b/pkgs/applications/misc/octoprint/default.nix @@ -15,10 +15,21 @@ let 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") + + # Octoprint holds back jinja2 to 2.8.1 due to breaking changes. + # This old version does not have updated test config for pytest 4, + # and pypi tarball doesn't contain tests dir anyways. + (pself: psuper: { + jinja2 = psuper.jinja2.overridePythonAttrs (oldAttrs: rec { + version = "2.8.1"; + src = oldAttrs.src.override { + inherit version; + sha256 = "14aqmhkc9rw5w0v311jhixdm6ym8vsm29dhyxyrjfqxljwx1yd1m"; + }; + doCheck = false; + }); + }) ]); }; @@ -27,33 +38,35 @@ let "Flask-Assets" "Flask-Babel" "Flask-Principal" - "PyYAML" "emoji" "flask" "future" "futures" + "monotonic" + "markdown" "pkginfo" "psutil" "pyserial" - "python-dateutil" "requests" "rsa" + "sarge" "scandir" "semantic_version" + "watchdog" "websocket-client" - "werkzeug" "wrapt" + "sentry-sdk" ]; in py.pkgs.buildPythonApplication rec { pname = "OctoPrint"; - version = "1.3.9"; + version = "1.3.11"; src = fetchFromGitHub { owner = "foosel"; repo = "OctoPrint"; rev = version; - sha256 = "1yqbsfmkx4wiykjrh66a05lhn15qhpc9ay67l37kv8bhdqf2xkj4"; + sha256 = "1102ki1819wsmkfg4riz4i0hjlr3w6nsvk8wrzqq0lc0s5ycf4jx"; }; propagatedBuildInputs = with py.pkgs; [ @@ -61,9 +74,9 @@ in py.pkgs.buildPythonApplication rec { semantic-version flask_principal werkzeug flaskbabel tornado psutil pyserial flask_login netaddr markdown sockjs-tornado pylru pyyaml sarge feedparser netifaces click websocket_client - scandir chainmap future dateutil futures wrapt monotonic emoji - frozendict - ]; + scandir chainmap future futures wrapt monotonic emoji + frozendict cachelib sentry-sdk typing + ] ++ lib.optionals stdenv.isDarwin [ py.pkgs.appdirs ]; checkInputs = with py.pkgs; [ nose mock ddt ]; @@ -75,7 +88,9 @@ in py.pkgs.buildPythonApplication rec { setup.py ''; - checkPhase = "nosetests"; + checkPhase = '' + HOME=$(mktemp -d) nosetests ${lib.optionalString stdenv.isDarwin "--exclude=test_set_external_modification"} + ''; 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 327a59618c2..d8179e1b402 100644 --- a/pkgs/applications/misc/octoprint/plugins.nix +++ b/pkgs/applications/misc/octoprint/plugins.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, octoprint, python2Packages }: +{ stdenv, fetchFromGitHub, octoprint, python2Packages, marlin-calc }: let buildPlugin = args: python2Packages.buildPythonPackage (args // { @@ -104,6 +104,93 @@ let }; }; + curaenginelegacy = buildPlugin rec { + pname = "CuraEngineLegacy"; + version = "1.0.2"; + + src = fetchFromGitHub { + owner = "OctoPrint"; + repo = "OctoPrint-${pname}"; + rev = version; + sha256 = "1cdb276wfyf3wcfj5g3migd6b6aqmkrxncrqjfcfx4j4k3xac965"; + }; + + meta = with stdenv.lib; { + description = "Plugin for slicing via Cura Legacy from within OctoPrint"; + homepage = "https://github.com/OctoPrint/OctoPrint-CuraEngineLegacy"; + license = licenses.agpl3; + maintainers = with maintainers; [ gebner ]; + }; + }; + + touchui = buildPlugin rec { + pname = "TouchUI"; + version = "0.3.13"; + + src = fetchFromGitHub { + owner = "BillyBlaze"; + repo = "OctoPrint-${pname}"; + rev = version; + sha256 = "0qk12ysabdzy6cna3l4f8v3qcnppppwxxsjx2i0xn1nd0cv6yzwh"; + }; + + meta = with stdenv.lib; { + description = "Touch friendly interface for a small TFT module or phone for OctoPrint"; + homepage = "https://github.com/BillyBlaze/OctoPrint-TouchUI"; + license = licenses.agpl3; + maintainers = with maintainers; [ gebner ]; + }; + }; + + psucontrol = buildPlugin rec { + pname = "PSUControl"; + version = "0.1.8"; + + src = fetchFromGitHub { + owner = "kantlivelong"; + repo = "OctoPrint-${pname}"; + rev = version; + sha256 = "0aj38d7b7d5pzmzq841pip18cpg18wy2vrxq2nd13875597y54b8"; + }; + + preConfigure = '' + # optional; RPi.GPIO is broken on vanilla kernels + sed /RPi.GPIO/d -i requirements.txt + ''; + + meta = with stdenv.lib; { + description = "OctoPrint plugin to control ATX/AUX power supply"; + homepage = "https://github.com/kantlivelong/OctoPrint-PSUControl"; + license = licenses.agpl3; + maintainers = with maintainers; [ gebner ]; + }; + }; + + printtimegenius = buildPlugin rec { + pname = "PrintTimeGenius"; + version = "1.3.1"; + + src = fetchFromGitHub { + owner = "eyal0"; + repo = "OctoPrint-${pname}"; + rev = version; + sha256 = "0ijv1nxmikv06a00hqqkqri6wnydqh6lwcx07pmvw6jy706jhy28"; + }; + + preConfigure = '' + # PrintTimeGenius ships with marlin-calc binaries for multiple architectures + rm */analyzers/marlin-calc* + sed 's@"{}.{}".format(binary_base_name, machine)@"${marlin-calc}/bin/marlin-calc"@' -i */analyzers/analyze_progress.py + ''; + + meta = with stdenv.lib; { + description = "Better print time estimation for OctoPrint"; + homepage = "https://github.com/eyal0/OctoPrint-PrintTimeGenius"; + license = licenses.agpl3; + maintainers = with maintainers; [ gebner ]; + }; + }; + }; in self diff --git a/pkgs/applications/misc/ola/default.nix b/pkgs/applications/misc/ola/default.nix index e16d9354bb4..b9529981c7c 100644 --- a/pkgs/applications/misc/ola/default.nix +++ b/pkgs/applications/misc/ola/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "ola-${version}"; + pname = "ola"; version = "0.10.7"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/omegat.nix b/pkgs/applications/misc/omegat.nix index 660b5db6105..411b318a392 100644 --- a/pkgs/applications/misc/omegat.nix +++ b/pkgs/applications/misc/omegat.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, unzip, jdk, makeWrapper}: stdenv.mkDerivation rec { - version = "4.1.5.2"; + version = "4.3.0"; 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"; + url = mirror://sourceforge/project/omegat/OmegaT%20-%20Standard/OmegaT%204.3.0/OmegaT_4.3.0_Without_JRE.zip; + sha256 = "0axz7r30p34z5hgvdglznc82g7yvm3g56dv5190jixskx6ba58rs"; }; buildInputs = [ unzip makeWrapper ]; diff --git a/pkgs/applications/misc/onboard/default.nix b/pkgs/applications/misc/onboard/default.nix index dbd79ba3e1b..79e3317e64d 100644 --- a/pkgs/applications/misc/onboard/default.nix +++ b/pkgs/applications/misc/onboard/default.nix @@ -1,5 +1,6 @@ { fetchurl , stdenv +, substituteAll , aspellWithDicts , at-spi2-core ? null , atspiSupport ? true @@ -16,6 +17,7 @@ , intltool , isocodes , libcanberra-gtk3 +, mousetweaks , udev , libxkbcommon , pkgconfig @@ -27,24 +29,69 @@ }: let - customHunspell = hunspellWithDicts [hunspellDicts.en-us]; + + customHunspell = hunspellWithDicts [ + hunspellDicts.en-us + ]; + majorVersion = "1.4"; + +in + +python3.pkgs.buildPythonApplication rec { + pname = "onboard"; version = "${majorVersion}.1"; -in python3.pkgs.buildPythonApplication rec { - name = "onboard-${version}"; + src = fetchurl { - url = "https://launchpad.net/onboard/${majorVersion}/${version}/+download/${name}.tar.gz"; - sha256 = "01cae1ac5b1ef1ab985bd2d2d79ded6fc99ee04b1535cc1bb191e43a231a3865"; + url = "https://launchpad.net/onboard/${majorVersion}/${version}/+download/${pname}-${version}.tar.gz"; + sha256 = "0r9q38ikmr4in4dwqd8m9gh9xjbgxnfxglnjbfcapw8ybfnf3jh1"; }; patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit mousetweaks; + }) # Allow loading hunspell dictionaries installed in NixOS system path ./hunspell-use-xdg-datadirs.patch ]; - # For tests - LC_ALL = "en_US.UTF-8"; - doCheck = false; + nativeBuildInputs = [ + gobject-introspection + intltool + pkgconfig + wrapGAppsHook + ]; + + buildInputs = [ + bash + glib + gnome3.dconf + gsettings-desktop-schemas + gtk3 + hunspell + isocodes + libcanberra-gtk3 + libxkbcommon + mousetweaks + udev + xorg.libXtst + xorg.libxkbfile + ] ++ stdenv.lib.optional atspiSupport at-spi2-core; + + propagatedBuildInputs = with python3.pkgs; [ + dbus-python + distutils_extra + pyatspi + pycairo + pygobject3 + systemd + ]; + + propagatedUserEnvPkgs = [ + gnome3.dconf + ]; + checkInputs = [ # for Onboard.SpellChecker.aspell_cmd doctests (aspellWithDicts (dicts: with dicts; [ en ])) @@ -60,42 +107,10 @@ in python3.pkgs.buildPythonApplication rec { python3.pkgs.nose ]; - propagatedBuildInputs = [ - glib - python3 - python3.pkgs.dbus-python - python3.pkgs.distutils_extra - python3.pkgs.pyatspi - python3.pkgs.pycairo - python3.pkgs.pygobject3 - python3.pkgs.systemd - ]; + # Temporary fix, see https://github.com/NixOS/nixpkgs/issues/56943 + strictDeps = false; - buildInputs = [ - bash - gnome3.dconf - gsettings-desktop-schemas - gtk3 - hunspell - isocodes - libcanberra-gtk3 - udev - libxkbcommon - wrapGAppsHook - xorg.libXtst - xorg.libxkbfile - ] ++ stdenv.lib.optional atspiSupport at-spi2-core; - - nativeBuildInputs = [ - glibcLocales - gobject-introspection # populate GI_TYPELIB_PATH - intltool - pkgconfig - ]; - - propagatedUserEnvPkgs = [ - gnome3.dconf - ]; + doCheck = false; preBuild = '' # Unnecessary file, has been removed upstream @@ -111,6 +126,9 @@ in python3.pkgs.buildPythonApplication rec { patchShebangs . + substituteInPlace setup.py \ + --replace "/etc" "$out/etc" + substituteInPlace ./Onboard/LanguageSupport.py \ --replace "/usr/share/xml/iso-codes" "${isocodes}/share/xml/iso-codes" \ --replace "/usr/bin/yelp" "${yelp}/bin/yelp" @@ -142,16 +160,22 @@ in python3.pkgs.buildPythonApplication rec { --replace '"killall",' '"${procps}/bin/pkill", "-x",' ''; - postInstall = '' - cp onboard-default-settings.gschema.override.example $out/share/glib-2.0/schemas/10_onboard-default-settings.gschema.override + installPhase = '' + ${python3.interpreter} setup.py install --prefix="$out" + cp onboard-default-settings.gschema.override.example $out/share/glib-2.0/schemas/10_onboard-default-settings.gschema.override glib-compile-schemas $out/share/glib-2.0/schemas/ ''; - meta = { + # Remove ubuntu icons. + postFixup = '' + rm -rf $out/share/icons/ubuntu-mono-* + ''; + + meta = with stdenv.lib; { homepage = https://launchpad.net/onboard; - description = "An onscreen keyboard useful for tablet PC users and for mobility impaired users."; - maintainers = with stdenv.lib.maintainers; [ johnramsden ]; - license = stdenv.lib.licenses.gpl3; + description = "Onscreen keyboard useful for tablet PC users and for mobility impaired users"; + maintainers = with maintainers; [ johnramsden ]; + license = licenses.gpl3; }; } diff --git a/pkgs/applications/misc/onboard/fix-paths.patch b/pkgs/applications/misc/onboard/fix-paths.patch new file mode 100644 index 00000000000..64acc9b138c --- /dev/null +++ b/pkgs/applications/misc/onboard/fix-paths.patch @@ -0,0 +1,11 @@ +--- a/Onboard/ClickSimulator.py ++++ b/Onboard/ClickSimulator.py +@@ -479,7 +479,7 @@ class CSMousetweaks(ConfigObject, ClickSimulator): + self._daemon_running_notify_callbacks = [] + + def _launch_daemon(self, delay): +- self.launcher.launch_delayed(["mousetweaks"], delay) ++ self.launcher.launch_delayed(["@mousetweaks@/bin/mousetweaks"], delay) + + def _set_connection(self, active): + ''' Update interface object, state and notify listeners ''' diff --git a/pkgs/applications/misc/oneko/default.nix b/pkgs/applications/misc/oneko/default.nix index b87f11d7b05..3a0a548be0b 100644 --- a/pkgs/applications/misc/oneko/default.nix +++ b/pkgs/applications/misc/oneko/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { version_name = "1.2.sakura.5"; version = "1.2.5"; - name = "oneko-${version}"; + pname = "oneko"; src = fetchurl { url = "http://www.daidouji.com/oneko/distfiles/oneko-${version_name}.tar.gz"; sha256 = "2c2e05f1241e9b76f54475b5577cd4fb6670de058218d04a741a04ebd4a2b22f"; diff --git a/pkgs/applications/misc/openbox-menu/default.nix b/pkgs/applications/misc/openbox-menu/default.nix index 8ff9a2f44d5..8f7f74f7123 100644 --- a/pkgs/applications/misc/openbox-menu/default.nix +++ b/pkgs/applications/misc/openbox-menu/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, glib, gtk2, menu-cache }: stdenv.mkDerivation rec { - name = "openbox-menu-${version}"; + pname = "openbox-menu"; version = "0.8.0"; src = fetchurl { - url = "https://bitbucket.org/fabriceT/openbox-menu/downloads/${name}.tar.bz2"; + url = "https://bitbucket.org/fabriceT/openbox-menu/downloads/${pname}-${version}.tar.bz2"; sha256 = "1hi4b6mq97y6ajq4hhsikbkk23aha7ikaahm92djw48mgj2f1w8l"; }; diff --git a/pkgs/applications/misc/opencpn/default.nix b/pkgs/applications/misc/opencpn/default.nix index 120d3a82b5e..5c7e7355c66 100644 --- a/pkgs/applications/misc/opencpn/default.nix +++ b/pkgs/applications/misc/opencpn/default.nix @@ -2,14 +2,14 @@ gettext, glib, portaudio }: stdenv.mkDerivation rec { - name = "opencpn-${version}"; - version = "4.8.8"; + pname = "opencpn"; + version = "5.0.0"; src = fetchFromGitHub { owner = "OpenCPN"; repo = "OpenCPN"; rev = "v${version}"; - sha256 = "1z9xfc5fgbdslzak3iqg9nx6wggxwv8qwfxfhvfblkyg6kjw30dg"; + sha256 = "1xv3h6svw9aay5ixpql231md3pf00qxvhg62z88daraf18hlkfja"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/misc/openjump/default.nix b/pkgs/applications/misc/openjump/default.nix index 09ec3433862..c98defee57a 100644 --- a/pkgs/applications/misc/openjump/default.nix +++ b/pkgs/applications/misc/openjump/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, unzip}: +{ stdenv, fetchurl, unzip, runtimeShell }: stdenv.mkDerivation { name = "openjump-1.3.1"; @@ -17,7 +17,7 @@ stdenv.mkDerivation { s=$out/bin/OpenJump dir=$(echo $out/openjump-*) cat >> $s << EOF - #!${stdenv.shell} + #!${runtimeShell} cd $dir/bin exec ${stdenv.shell} openjump.sh EOF diff --git a/pkgs/applications/misc/opentx/default.nix b/pkgs/applications/misc/opentx/default.nix index cd9a86e7fac..585c85cbd2c 100644 --- a/pkgs/applications/misc/opentx/default.nix +++ b/pkgs/applications/misc/opentx/default.nix @@ -10,7 +10,8 @@ let in stdenv.mkDerivation { - name = "opentx-${version}"; + pname = "opentx"; + inherit version; src = fetchFromGitHub { owner = "opentx"; diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix index e8843c1bd6f..332c696d8da 100644 --- a/pkgs/applications/misc/orca/default.nix +++ b/pkgs/applications/misc/orca/default.nix @@ -1,21 +1,21 @@ { stdenv, pkgconfig, fetchurl, buildPythonApplication , autoreconfHook, wrapGAppsHook, gobject-introspection , intltool, yelp-tools, itstool, libxmlxx3 -, python, pygobject3, gtk3, gnome3, substituteAll +, python, pygobject3, gtk3, gnome3, substituteAll, hicolor-icon-theme , at-spi2-atk, at-spi2-core, pyatspi, dbus, dbus-python, pyxdg , xkbcomp, procps, lsof, coreutils, gsettings-desktop-schemas -, speechd, brltty, setproctitle, gst_all_1, gst-python +, speechd, brltty, liblouis, setproctitle, gst_all_1, gst-python }: buildPythonApplication rec { pname = "orca"; - version = "3.30.2"; + version = "3.32.0"; format = "other"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "17asibc46i5gr2fw04jvvdi85zzmxwlnhyq7r6cr3m5prrdr8a53"; + sha256 = "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i"; }; patches = [ @@ -31,13 +31,15 @@ buildPythonApplication rec { nativeBuildInputs = [ autoreconfHook wrapGAppsHook pkgconfig libxmlxx3 intltool yelp-tools itstool gobject-introspection + hicolor-icon-theme # setup-hook ]; 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 diff --git a/pkgs/applications/misc/orpie/default.nix b/pkgs/applications/misc/orpie/default.nix index bc6aa242f33..e404da974c4 100644 --- a/pkgs/applications/misc/orpie/default.nix +++ b/pkgs/applications/misc/orpie/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ocamlPackages, ncurses, gsl }: stdenv.mkDerivation rec { - name = "orpie-${version}"; + pname = "orpie"; version = "1.5.2"; src = fetchurl { - url = "http://pessimization.com/software/orpie/${name}.tar.gz"; + url = "http://pessimization.com/software/orpie/${pname}-${version}.tar.gz"; sha256 = "0v9xgpcf186ni55rkmx008msyszw0ypd6rd98hgwpih8yv3pymfy"; }; diff --git a/pkgs/applications/misc/osm2xmap/default.nix b/pkgs/applications/misc/osm2xmap/default.nix index 5787adef2a3..8ffc8ec69fe 100644 --- a/pkgs/applications/misc/osm2xmap/default.nix +++ b/pkgs/applications/misc/osm2xmap/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, libroxml, proj, libyamlcpp, boost } : stdenv.mkDerivation rec { - name = "osm2xmap-${version}"; + pname = "osm2xmap"; version = "2.0"; src = fetchFromGitHub { @@ -20,6 +20,8 @@ stdenv.mkDerivation rec { "INSTALL_SHAREDIR=$(out)/share/" ]; + NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" ]; + installFlags = [ "DESTDIR=$(out)" ]; buildInputs = [ libroxml proj libyamlcpp boost ]; diff --git a/pkgs/applications/misc/osmctools/default.nix b/pkgs/applications/misc/osmctools/default.nix index bb53782fb7d..4cbd7cb7119 100644 --- a/pkgs/applications/misc/osmctools/default.nix +++ b/pkgs/applications/misc/osmctools/default.nix @@ -17,7 +17,7 @@ let in stdenv.mkDerivation rec { - name = "osmctools-${version}"; + pname = "osmctools"; version = "0.8.5plus1.4.0"; buildInputs = [ zlib ]; diff --git a/pkgs/applications/misc/osmium-tool/default.nix b/pkgs/applications/misc/osmium-tool/default.nix index 2b35cb77038..616949af883 100644 --- a/pkgs/applications/misc/osmium-tool/default.nix +++ b/pkgs/applications/misc/osmium-tool/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, libosmium, protozero, boost, bzip2, zlib, expat }: stdenv.mkDerivation rec { - name = "osmium-tool-${version}"; + pname = "osmium-tool"; version = "1.10.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/overmind/default.nix b/pkgs/applications/misc/overmind/default.nix index d7f601b50cd..918924df0b9 100644 --- a/pkgs/applications/misc/overmind/default.nix +++ b/pkgs/applications/misc/overmind/default.nix @@ -1,25 +1,25 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, tmux, which, makeWrapper }: +{ lib, buildGoPackage, fetchFromGitHub, tmux, which, makeWrapper }: buildGoPackage rec { - name = "overmind-${version}"; - version = "1.2.1"; + pname = "overmind"; + version = "2.0.2"; goPackagePath = "github.com/DarthSim/overmind"; nativeBuildInputs = [ makeWrapper ]; postInstall = '' - wrapProgram "$bin/bin/overmind" --prefix PATH : "${stdenv.lib.makeBinPath [ tmux which ]}" + wrapProgram "$bin/bin/overmind" --prefix PATH : "${lib.makeBinPath [ tmux which ]}" ''; src = fetchFromGitHub { owner = "DarthSim"; - repo = "overmind"; + repo = pname; rev = "v${version}"; - sha256 = "11ws9rsy8ladjp1y3b6vva9sjmw4s24xc1w18lyhfz63xc908nfw"; + sha256 = "0cns19gqkfxsiiyfxhb05cjp1iv2fb40x47gp8djrwwzcd1r6zxh"; }; - meta = with stdenv.lib; { - homepage = https://github.com/DarthSim/; + meta = with lib; { + 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/pcmanfm/default.nix b/pkgs/applications/misc/pcmanfm/default.nix index 2649c7cbd6a..633c1d82159 100644 --- a/pkgs/applications/misc/pcmanfm/default.nix +++ b/pkgs/applications/misc/pcmanfm/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { 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"; diff --git a/pkgs/applications/misc/pcmanx-gtk2/default.nix b/pkgs/applications/misc/pcmanx-gtk2/default.nix index 7fdfbd84d2f..482ac7ad066 100644 --- a/pkgs/applications/misc/pcmanx-gtk2/default.nix +++ b/pkgs/applications/misc/pcmanx-gtk2/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, gtk2, libXft, intltool, automake, autoconf, libtool, pkgconfig }: stdenv.mkDerivation rec { - name = "pcmanx-gtk2-${version}"; + pname = "pcmanx-gtk2"; version = "1.3"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/pdf-quench/default.nix b/pkgs/applications/misc/pdf-quench/default.nix index f604684b19a..bc6f5965e89 100644 --- a/pkgs/applications/misc/pdf-quench/default.nix +++ b/pkgs/applications/misc/pdf-quench/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, pkgs, pythonPackages, wrapGAppsHook}: pythonPackages.buildPythonApplication rec { - name = "pdf-quench-${version}"; + pname = "pdf-quench"; version = "1.0.5"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/pdfmod/default.nix b/pkgs/applications/misc/pdfmod/default.nix index 45d83b5872f..90107be64c7 100644 --- a/pkgs/applications/misc/pdfmod/default.nix +++ b/pkgs/applications/misc/pdfmod/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "pdfmod-${version}"; + pname = "pdfmod"; version = "0.9.1"; src = fetchurl { - url = "mirror://gnome/sources/pdfmod/0.9/pdfmod-${version}.tar.bz2"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; sha256 = "eb7c987514a053106ddf03f26544766c751c801d87762909b36415d46bc425c9"; }; @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { dontStrip = true; meta = with stdenv.lib; { - homepage = https://wiki.gnome.org/Apps/PdfMod; + homepage = "https://wiki.gnome.org/Attic/PdfMod"; description = "A simple application for modifying PDF documents"; platforms = platforms.all; maintainers = with maintainers; [ obadz ]; diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix index 0e424a97d8d..c0dca056476 100644 --- a/pkgs/applications/misc/pdfpc/default.nix +++ b/pkgs/applications/misc/pdfpc/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = "${product}-${version}"; product = "pdfpc"; - version = "4.3.2"; + version = "4.3.4"; src = fetchFromGitHub { repo = product; owner = product; rev = "v${version}"; - sha256 = "15y6g92fp6x6dwwhrhkfny5z20w7pq9c8w19fh2vzff9aa6m2h9z"; + sha256 = "07aafsm4jzdgpahz83p0ajv40hry7gviyadqi13ahr8xdhhwy2sd"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/pell/default.nix b/pkgs/applications/misc/pell/default.nix index d55c7a2af12..fc4e5229c9c 100644 --- a/pkgs/applications/misc/pell/default.nix +++ b/pkgs/applications/misc/pell/default.nix @@ -3,7 +3,6 @@ stdenv.mkDerivation rec { pname = "pell"; version = "0.0.4"; - name = "${pname}-${version}"; src = fetchFromGitHub { owner = "ebzzry"; diff --git a/pkgs/applications/misc/pgadmin/default.nix b/pkgs/applications/misc/pgadmin/default.nix index 7e7850668b8..86e10ae0943 100644 --- a/pkgs/applications/misc/pgadmin/default.nix +++ b/pkgs/applications/misc/pgadmin/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, fetchpatch, postgresql, wxGTK, libxml2, libxslt, openssl, zlib, makeDesktopItem }: stdenv.mkDerivation rec { - name = "pgadmin3-${version}"; + pname = "pgadmin3"; version = "1.22.2"; src = fetchurl { diff --git a/pkgs/applications/misc/pgmanage/default.nix b/pkgs/applications/misc/pgmanage/default.nix index 113a63f7fe1..241d5786468 100644 --- a/pkgs/applications/misc/pgmanage/default.nix +++ b/pkgs/applications/misc/pgmanage/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, postgresql, openssl } : stdenv.mkDerivation rec { - name = "pgmanage-${version}"; + pname = "pgmanage"; version = "11.0.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/phwmon/default.nix b/pkgs/applications/misc/phwmon/default.nix index 0cee74522ab..e8ddec91e62 100644 --- a/pkgs/applications/misc/phwmon/default.nix +++ b/pkgs/applications/misc/phwmon/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitLab, pythonPackages }: stdenv.mkDerivation rec { - name = "phwmon-${version}"; + pname = "phwmon"; version = "2017-04-10"; src = fetchFromGitLab { diff --git a/pkgs/applications/misc/plank/default.nix b/pkgs/applications/misc/plank/default.nix index cc6b74dc998..10c8a03fa0a 100644 --- a/pkgs/applications/misc/plank/default.nix +++ b/pkgs/applications/misc/plank/default.nix @@ -1,40 +1,77 @@ -{ stdenv, fetchurl, vala, atk, cairo, glib, gnome3, gtk3, libwnck3 -, libX11, libXfixes, libXi, pango, intltool, pkgconfig, libxml2 -, bamf, gdk_pixbuf, libdbusmenu-gtk3, file, gnome-menus -, wrapGAppsHook, autoreconfHook, gobject-introspection }: +{ stdenv +, fetchurl +, vala +, atk +, cairo +, glib +, gnome3 +, gtk3 +, libwnck3 +, libX11 +, libXfixes +, libXi +, pango +, gettext +, pkgconfig +, libxml2 +, bamf +, gdk-pixbuf +, libdbusmenu-gtk3 +, file +, gnome-menus +, libgee +, wrapGAppsHook +, autoreconfHook +, pantheon +}: stdenv.mkDerivation rec { pname = "plank"; - version = "0.11.4"; - name = "${pname}-${version}"; + version = "0.11.89"; src = fetchurl { - url = "https://launchpad.net/${pname}/1.0/${version}/+download/${name}.tar.xz"; - sha256 = "1f41i45xpqhjxql9nl4a1sz30s0j46aqdhbwbvgrawz6himcvdc8"; + url = "https://launchpad.net/${pname}/1.0/${version}/+download/${pname}-${version}.tar.xz"; + sha256 = "17cxlmy7n13jp1v8i4abxyx9hylzb39andhz3mk41ggzmrpa8qm6"; }; nativeBuildInputs = [ - pkgconfig - intltool - libxml2 # xmllint - wrapGAppsHook - gobject-introspection autoreconfHook + gettext + gnome3.gnome-common + libxml2 # xmllint + pkgconfig + vala + wrapGAppsHook ]; - buildInputs = [ vala atk cairo glib 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 ]; + patches = [ + ./hide-in-pantheon.patch + ]; postPatch = '' substituteInPlace ./configure \ @@ -43,9 +80,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Elegant, simple, clean dock"; - homepage = https://launchpad.net/plank; + 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/plasma-applet-volumewin7mixer/default.nix b/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix index 6c23d160f47..3ecace18f92 100644 --- a/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix +++ b/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix @@ -1,14 +1,14 @@ { stdenv, cmake, extra-cmake-modules, plasma-framework, kwindowsystem, plasma-pa, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "plasma-applet-volumewin7mixer-${version}"; - version = "23"; + pname = "plasma-applet-volumewin7mixer"; + version = "24"; src = fetchFromGitHub { owner = "Zren"; repo = "plasma-applet-volumewin7mixer"; rev = "v${version}"; - sha256 = "1j2bq343lnhwqz26qfsvg7vjxv84ibzbc4y86rjkh07nqjwb3xsc"; + sha256 = "1pms71229y7fv3zs38a0l9mdcg5qkcdv9yrcvdm6xqpdyk21jbz2"; }; patches = [ ./cmake.patch ]; diff --git a/pkgs/applications/misc/playonlinux/default.nix b/pkgs/applications/misc/playonlinux/default.nix index c31d442d2d6..48188574ad4 100644 --- a/pkgs/applications/misc/playonlinux/default.nix +++ b/pkgs/applications/misc/playonlinux/default.nix @@ -4,7 +4,7 @@ , cabextract , gettext , glxinfo -, gnupg1compat +, gnupg , icoutils , imagemagick , netcat-gnu @@ -19,6 +19,9 @@ , pkgsi686Linux , which , curl +, jq +, xorg +, libGL }: let @@ -29,7 +32,7 @@ let python2Packages.python gettext glxinfo - gnupg1compat + gnupg icoutils imagemagick netcat-gnu @@ -41,6 +44,7 @@ let xterm which curl + jq ]; ld32 = @@ -48,10 +52,11 @@ let 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}"; + pname = "playonlinux"; + inherit version; src = fetchurl { url = "https://www.playonlinux.com/script_files/PlayOnLinux/${version}/PlayOnLinux_${version}.tar.gz"; @@ -64,6 +69,8 @@ in stdenv.mkDerivation { [ python2Packages.python python2Packages.wxPython python2Packages.setuptools + xorg.libX11 + libGL ]; patchPhase = '' diff --git a/pkgs/applications/misc/plover/default.nix b/pkgs/applications/misc/plover/default.nix index b9323ece1f4..8021ffdc8f5 100644 --- a/pkgs/applications/misc/plover/default.nix +++ b/pkgs/applications/misc/plover/default.nix @@ -2,7 +2,7 @@ { stable = with python27Packages; buildPythonPackage rec { - name = "plover-${version}"; + pname = "plover"; version = "3.1.1"; meta = with stdenv.lib; { @@ -16,6 +16,7 @@ sha256 = "1hdg5491phx6svrxxsxp8v6n4b25y7y4wxw7x3bxlbyhaskgj53r"; }; + nativeBuildInputs = [ setuptools_scm ]; buildInputs = [ pytest mock ]; propagatedBuildInputs = [ six setuptools pyserial appdirs hidapi wxPython xlib wmctrl @@ -23,7 +24,7 @@ }; dev = with python36Packages; buildPythonPackage rec { - name = "plover-${version}"; + pname = "plover"; version = "4.0.0.dev8"; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/pmenu/default.nix b/pkgs/applications/misc/pmenu/default.nix index 4b39e9291a8..16c49d5f946 100644 --- a/pkgs/applications/misc/pmenu/default.nix +++ b/pkgs/applications/misc/pmenu/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitLab, python2Packages, gnome-menus }: stdenv.mkDerivation rec { - name = "pmenu-${version}"; + pname = "pmenu"; version = "2018-01-01"; src = fetchFromGitLab { diff --git a/pkgs/applications/misc/polar-bookshelf/default.nix b/pkgs/applications/misc/polar-bookshelf/default.nix index 82468e1bf9f..8413f8c8f10 100644 --- a/pkgs/applications/misc/polar-bookshelf/default.nix +++ b/pkgs/applications/misc/polar-bookshelf/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, makeWrapper, fetchurl , dpkg, wrapGAppsHook, autoPatchelfHook -, gtk3, cairo, gnome2, atk, gdk_pixbuf, glib +, gtk3, cairo, gnome2, atk, gdk-pixbuf, glib , at-spi2-atk, dbus, libX11, libxcb, libXi , libXcursor, libXdamage, libXrandr, libXcomposite , libXext, libXfixes, libXrender, libXtst, libXScrnSaver @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { - name = "polar-bookshelf-${version}"; - version = "1.12.0"; + pname = "polar-bookshelf"; + 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 = "058pl54mkbvcjyjmdz81r0ibk1qkc3798pkkdw1kp2cbg16qkfyh"; + sha256 = "1bxcyf6n2m5x1z8ic6kzskinyyc6lh6nj0bycbwc524n6ms5j99p"; }; buildInputs = [ @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { cairo gnome2.pango atk - gdk_pixbuf + gdk-pixbuf at-spi2-atk dbus libX11 @@ -48,10 +48,10 @@ stdenv.mkDerivation rec { expat ]; - nativeBuildInputs = [ + nativeBuildInputs = [ wrapGAppsHook autoPatchelfHook - makeWrapper + makeWrapper dpkg ]; @@ -70,7 +70,7 @@ stdenv.mkDerivation rec { 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" diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix index 9e2beb5b07c..9ca8c696184 100644 --- a/pkgs/applications/misc/polybar/default.nix +++ b/pkgs/applications/misc/polybar/default.nix @@ -25,17 +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.3.0"; + pname = "polybar"; + version = "3.4.0"; + src = fetchFromGitHub { owner = "jaagr"; - repo = "polybar"; + repo = pname; rev = version; - sha256 = "18hrsbq62na2i4rlwbs2ih7v9shnayg76nw14i6az28wpf8kx4rr"; + sha256 = "1g3zj0788cdlm8inpl19279bw8zjcy7dzj7q4f1l2d8c8g1jhv0m"; fetchSubmodules = true; }; meta = with stdenv.lib; { + homepage = "https://polybar.github.io/"; description = "A fast and easy-to-use tool for creating status bars"; longDescription = '' Polybar aims to help users build beautiful and highly customizable @@ -67,8 +69,8 @@ stdenv.mkDerivation rec { ]; postConfigure = '' - substituteInPlace ../include/settings.hpp --replace \ - "${stdenv.cc}" "${stdenv.cc.name}" + substituteInPlace generated-sources/settings.hpp \ + --replace "${stdenv.cc}" "${stdenv.cc.name}" ''; postInstall = if (i3Support || i3GapsSupport) then '' diff --git a/pkgs/applications/misc/projectlibre/default.nix b/pkgs/applications/misc/projectlibre/default.nix index 5ba8e1b6e31..344c3d7168a 100644 --- a/pkgs/applications/misc/projectlibre/default.nix +++ b/pkgs/applications/misc/projectlibre/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, ant, jdk, makeWrapper, jre, coreutils, which }: stdenv.mkDerivation rec { - name = "projectlibre-${version}"; + pname = "projectlibre"; version = "1.7.0"; src = fetchgit { diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix new file mode 100644 index 00000000000..e5d73672eb7 --- /dev/null +++ b/pkgs/applications/misc/prusa-slicer/default.nix @@ -0,0 +1,89 @@ +{ stdenv, lib, fetchFromGitHub, makeWrapper, cmake, pkgconfig +, boost, curl, expat, glew, libpng, tbb, wxGTK30 +, gtest, nlopt, xorg, makeDesktopItem +}: +let + nloptVersion = if lib.hasAttr "version" nlopt + then lib.getAttr "version" nlopt + else "2.4"; +in +stdenv.mkDerivation rec { + pname = "prusa-slicer"; + version = "2.0.0"; + + enableParallelBuilding = true; + + nativeBuildInputs = [ + cmake + makeWrapper + pkgconfig + ]; + + # We could add Eigen, but it doesn't currently compile with the version in + # nixpkgs. + buildInputs = [ + boost + curl + expat + glew + libpng + tbb + wxGTK30 + xorg.libX11 + ] ++ checkInputs; + + 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' src/libslic3r/GCodeSender.cpp + '' + lib.optionalString (lib.versionOlder "2.5" nloptVersion) '' + # 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' src/libnest2d/cmake_modules/FindNLopt.cmake + ''; + + src = fetchFromGitHub { + owner = "prusa3d"; + repo = "PrusaSlicer"; + sha256 = "135wn2sza2f2kvbja1haxil5kx1b74lc1i7dsa35i1y3phabykhz"; + rev = "version_${version}"; + }; + + cmakeFlags = [ + "-DSLIC3R_FHS=1" + "-DSLIC3R_WX_STABLE=1" # necessary when compiling against wxGTK 3.0 + ]; + + postInstall = '' + mkdir -p "$out/share/pixmaps/" + ln -s "$out/share/PrusaSlicer/icons/PrusaSlicer.png" "$out/share/pixmaps/PrusaSlicer.png" + mkdir -p "$out/share/applications" + cp "$desktopItem"/share/applications/* "$out/share/applications/" + ''; + + desktopItem = makeDesktopItem { + name = "PrusaSlicer"; + exec = "prusa-slicer"; + icon = "PrusaSlicer"; + comment = "G-code generator for 3D printers"; + desktopName = "PrusaSlicer"; + genericName = "3D printer tool"; + categories = "Application;Development;"; + }; + + meta = with stdenv.lib; { + description = "G-code generator for 3D printer"; + homepage = https://github.com/prusa3d/PrusaSlicer; + license = licenses.agpl3; + maintainers = with maintainers; [ tweber ]; + }; +} diff --git a/pkgs/applications/misc/pstree/default.nix b/pkgs/applications/misc/pstree/default.nix index 3cd52af6d32..7aaa8a8c38d 100644 --- a/pkgs/applications/misc/pstree/default.nix +++ b/pkgs/applications/misc/pstree/default.nix @@ -1,25 +1,38 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "pstree-2.39"; + pname = "pstree"; + version = "2.39"; src = fetchurl { urls = [ - "http://www.sfr-fresh.com/unix/misc/${name}.tar.gz" - "https://distfiles.macports.org/pstree/${name}.tar.gz" + "https://distfiles.macports.org/${pname}/${pname}-${version}.tar.gz" + "https://fossies.org/linux/misc/${pname}-${version}.tar.gz" + "ftp://ftp.thp.uni-duisburg.de/pub/source/${pname}-${version}.tar.gz" ]; sha256 = "17s7v15c4gryjpi11y1xq75022nkg4ggzvjlq2dkmyg67ssc76vw"; }; - unpackPhase = "unpackFile \$src; sourceRoot=."; + sourceRoot = "."; + buildPhase = '' + runHook preBuild + $CC $NIX_CFLAGS -o pstree pstree.c + runHook postBuild + ''; - buildPhase = "pwd; $CC -o pstree pstree.c"; - installPhase = "mkdir -p \$out/bin; cp pstree \$out/bin"; + installPhase = '' + runHook preInstall + install -Dm0555 ${pname} -t $out/bin + install -Dm0444 ${pname}.1 -t $out/share/man/man1 + runHook postInstall + ''; - meta = { + meta = with stdenv.lib; { description = "Show the set of running processes as a tree"; - license = "GPL"; - maintainers = [ ]; - platforms = stdenv.lib.platforms.unix; + homepage = "http://www.thp.uni-duisburg.de/pstree/"; + license = licenses.gpl2; + maintainers = [ maintainers.c0bw3b ]; + platforms = platforms.unix; + priority = 5; # Lower than psmisc also providing pstree on Linux platforms }; } diff --git a/pkgs/applications/misc/pt/Gemfile.lock b/pkgs/applications/misc/pt/Gemfile.lock index db023c59d7f..501fae0ef0a 100644 --- a/pkgs/applications/misc/pt/Gemfile.lock +++ b/pkgs/applications/misc/pt/Gemfile.lock @@ -1,45 +1,69 @@ GEM remote: https://rubygems.org/ specs: - builder (3.2.2) + addressable (2.6.0) + public_suffix (>= 2.0.2, < 4.0) + axiom-types (0.1.1) + descendants_tracker (~> 0.0.4) + ice_nine (~> 0.11.0) + thread_safe (~> 0.3, >= 0.3.1) + coercible (1.0.0) + descendants_tracker (~> 0.0.1) colored (1.2) - crack (0.4.3) - safe_yaml (~> 1.0.0) - domain_name (0.5.25) - unf (>= 0.0.5, < 1.0.0) - highline (1.7.8) + declarative (0.0.10) + declarative-option (0.1.0) + descendants_tracker (0.0.4) + thread_safe (~> 0.3, >= 0.3.1) + equalizer (0.0.11) + excon (0.64.0) + faraday (0.9.2) + multipart-post (>= 1.2, < 3) + faraday_middleware (0.13.1) + faraday (>= 0.7.4, < 1.0) + highline (2.0.2) hirb (0.7.3) - http-cookie (1.0.2) - domain_name (~> 0.5) - mime-types (2.99) - mini_portile2 (2.0.0) - netrc (0.11.0) - nokogiri (1.6.7.1) - mini_portile2 (~> 2.0.0.rc2) - nokogiri-happymapper (0.5.9) - nokogiri (~> 1.5) - pivotal-tracker (0.5.13) - builder - crack - nokogiri (>= 1.5.5) - nokogiri-happymapper (>= 0.5.4) - rest-client (>= 1.8.0) - pt (0.7.3) - colored (>= 1.2) - highline (>= 1.6.1) - hirb (>= 0.4.5) - pivotal-tracker (>= 0.4.1) - rest-client (1.8.0) - http-cookie (>= 1.0.2, < 2.0) - mime-types (>= 1.16, < 3.0) - netrc (~> 0.7) - safe_yaml (1.0.4) - unf (0.1.4) - unf_ext - unf_ext (0.0.7.1) + hirb-unicode (0.0.5) + hirb (~> 0.5) + unicode-display_width (~> 0.1.1) + ice_nine (0.11.2) + multi_json (1.13.1) + multipart-post (2.0.0) + pt (0.10.0) + colored (~> 1.2) + highline + hirb (~> 0.7, >= 0.7.3) + hirb-unicode (~> 0.0.5, >= 0.0.5) + thor + tracker_api (~> 1.6.0) + public_suffix (3.0.3) + representable (3.0.4) + declarative (< 0.1.0) + declarative-option (< 0.2.0) + uber (< 0.2.0) + thor (0.20.3) + thread_safe (0.3.6) + tracker_api (1.6.0) + addressable + equalizer + excon + faraday (~> 0.9.0) + faraday_middleware + multi_json + representable + virtus + uber (0.1.0) + unicode-display_width (0.1.1) + virtus (1.0.5) + axiom-types (~> 0.1) + coercible (~> 1.0) + descendants_tracker (~> 0.0, >= 0.0.3) + equalizer (~> 0.0, >= 0.0.9) PLATFORMS ruby DEPENDENCIES pt + +BUNDLED WITH + 1.17.2 diff --git a/pkgs/applications/misc/pt/default.nix b/pkgs/applications/misc/pt/default.nix index dbda7664bde..f5504721987 100644 --- a/pkgs/applications/misc/pt/default.nix +++ b/pkgs/applications/misc/pt/default.nix @@ -1,16 +1,17 @@ -{ lib, bundlerEnv, ruby }: +{ lib, bundlerApp, bundlerUpdateScript }: -bundlerEnv { - name = "pt-0.7.3"; - - inherit ruby; +bundlerApp { + pname = "pt"; gemdir = ./.; + exes = [ "pt" ]; + + passthru.updateScript = bundlerUpdateScript "pt"; meta = with lib; { description = "Minimalist command-line Pivotal Tracker client"; homepage = http://www.github.com/raul/pt; license = licenses.mit; - maintainers = with maintainers; [ ebzzry ]; + maintainers = with maintainers; [ ebzzry manveru nicknovitski ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/misc/pt/gemset.nix b/pkgs/applications/misc/pt/gemset.nix index cde3c386fb5..f1f69c25214 100644 --- a/pkgs/applications/misc/pt/gemset.nix +++ b/pkgs/applications/misc/pt/gemset.nix @@ -1,164 +1,273 @@ { - "builder" = { - version = "3.2.2"; + addressable = { + dependencies = ["public_suffix"]; + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l"; type = "gem"; - sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2"; }; + version = "2.6.0"; }; - "colored" = { - version = "1.2"; + axiom-types = { + dependencies = ["descendants_tracker" "ice_nine" "thread_safe"]; + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1"; type = "gem"; + }; + version = "0.1.1"; + }; + coercible = { + dependencies = ["descendants_tracker"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah"; + type = "gem"; + }; + version = "1.0.0"; + }; + colored = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx"; - }; - }; - "crack" = { - version = "0.4.3"; - source = { type = "gem"; - sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; }; - dependencies = [ - "safe_yaml" - ]; + version = "1.2"; }; - "domain_name" = { - version = "0.5.25"; + declarative = { + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "0642xvwzzbgi3kp1bg467wma4g3xqrrn0sk369hjam7w579gnv5j"; type = "gem"; - sha256 = "16qvfrmcwlzz073aas55mpw2nhyhjcn96s524w0g1wlml242hjav"; }; - dependencies = [ - "unf" - ]; + version = "0.0.10"; }; - "highline" = { - version = "1.7.8"; + declarative-option = { + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g4ibxq566f1frnhdymzi9hxxcm4g2gw4n21mpjk2mhwym4q6l0p"; type = "gem"; - sha256 = "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr"; }; + version = "0.1.0"; }; - "hirb" = { - version = "0.7.3"; + descendants_tracker = { + dependencies = ["thread_safe"]; + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79"; type = "gem"; + }; + version = "0.0.4"; + }; + equalizer = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"; + type = "gem"; + }; + version = "0.0.11"; + }; + excon = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vcplvlykirg2vc56jjxavgpkllzq26xgp7ind7wc5ikaqaz64gn"; + type = "gem"; + }; + version = "0.64.0"; + }; + faraday = { + dependencies = ["multipart-post"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kplqkpn2s2yl3lxdf6h7sfldqvkbkpxwwxhyk7mdhjplb5faqh6"; + type = "gem"; + }; + version = "0.9.2"; + }; + faraday_middleware = { + dependencies = ["faraday"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a93rs58bakqck7bcihasz66a1riy22h2zpwrpmb13gp8mw3wkmr"; + type = "gem"; + }; + version = "0.13.1"; + }; + highline = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g0zpalfj8wvca86hcnirir5py2zyqrhkgdgv9f87fxkjaw815wr"; + type = "gem"; + }; + version = "2.0.2"; + }; + hirb = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; sha256 = "0mzch3c2lvmf8gskgzlx6j53d10j42ir6ik2dkrl27sblhy76cji"; - }; - }; - "http-cookie" = { - version = "1.0.2"; - source = { type = "gem"; - sha256 = "0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw"; }; - dependencies = [ - "domain_name" - ]; - }; - "mime-types" = { - version = "2.99"; - source = { - type = "gem"; - sha256 = "1hravghdnk9qbibxb3ggzv7mysl97djh8n0rsswy3ssjaw7cbvf2"; - }; - }; - "mini_portile2" = { - version = "2.0.0"; - source = { - type = "gem"; - sha256 = "056drbn5m4khdxly1asmiik14nyllswr6sh3wallvsywwdiryz8l"; - }; - }; - "netrc" = { - version = "0.11.0"; - source = { - type = "gem"; - sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y"; - }; - }; - "nokogiri" = { - version = "1.6.7.1"; - source = { - type = "gem"; - sha256 = "12nwv3lad5k2k73aa1d1xy4x577c143ixks6rs70yp78sinbglk2"; - }; - dependencies = [ - "mini_portile2" - ]; - }; - "nokogiri-happymapper" = { - version = "0.5.9"; - source = { - type = "gem"; - sha256 = "0xv5crnzxdbd0ykx1ikfg1h0yw0h70lk607x1g45acsb1da97mkq"; - }; - dependencies = [ - "nokogiri" - ]; - }; - "pivotal-tracker" = { - version = "0.5.13"; - source = { - type = "gem"; - sha256 = "0vxs69qb0k4g62250zbf5x78wpkhpj98clg2j09ncy3s8yklr0pd"; - }; - dependencies = [ - "builder" - "crack" - "nokogiri" - "nokogiri-happymapper" - "rest-client" - ]; - }; - "pt" = { version = "0.7.3"; - source = { - type = "gem"; - sha256 = "0bf821yf0zq5bhs65wmx339bm771lcnd6dlsljj3dnisjj068dk8"; - }; - dependencies = [ - "colored" - "highline" - "hirb" - "pivotal-tracker" - ]; }; - "rest-client" = { - version = "1.8.0"; + hirb-unicode = { + dependencies = ["hirb" "unicode-display_width"]; + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b7hka1p4mkjdy2wr2cxsivnsmnz31zz1bswznmmxnvf5a6c00jk"; type = "gem"; - sha256 = "1m8z0c4yf6w47iqz6j2p7x1ip4qnnzvhdph9d5fgx081cvjly3p7"; }; - dependencies = [ - "http-cookie" - "mime-types" - "netrc" - ]; + version = "0.0.5"; }; - "safe_yaml" = { - version = "1.0.4"; + ice_nine = { + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x"; type = "gem"; - sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; }; + version = "0.11.2"; }; - "unf" = { - version = "0.1.4"; + multi_json = { + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; type = "gem"; - sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; }; - dependencies = [ - "unf_ext" - ]; + version = "1.13.1"; }; - "unf_ext" = { - version = "0.0.7.1"; + multipart-post = { + groups = ["default"]; + platforms = []; source = { + remotes = ["https://rubygems.org"]; + sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; type = "gem"; - sha256 = "0ly2ms6c3irmbr1575ldyh52bz2v0lzzr2gagf0p526k12ld2n5b"; }; + version = "2.0.0"; + }; + pt = { + dependencies = ["colored" "highline" "hirb" "hirb-unicode" "thor" "tracker_api"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ypyya7bk0w7zd9c3224zsizhv5wbs1icjpn0023wh3ii1by16a8"; + type = "gem"; + }; + version = "0.10.0"; + }; + public_suffix = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; + type = "gem"; + }; + version = "3.0.3"; + }; + representable = { + dependencies = ["declarative" "declarative-option" "uber"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qm9rgi1j5a6nv726ka4mmixivlxfsg91h8rpp72wwd4vqbkkm07"; + type = "gem"; + }; + version = "3.0.4"; + }; + thor = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29"; + type = "gem"; + }; + version = "0.20.3"; + }; + thread_safe = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; + type = "gem"; + }; + version = "0.3.6"; + }; + tracker_api = { + dependencies = ["addressable" "equalizer" "excon" "faraday" "faraday_middleware" "multi_json" "representable" "virtus"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pxwzbjzxign81wynl44napkvkrrhlyl7rm4ywrcdqahmzxmavsp"; + type = "gem"; + }; + version = "1.6.0"; + }; + uber = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p1mm7mngg40x05z52md3mbamkng0zpajbzqjjwmsyw0zw3v9vjv"; + type = "gem"; + }; + version = "0.1.0"; + }; + unicode-display_width = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06dpm3yqc974qfy6nyx7b0w0f6b8k08jadd5l9xnmla3fji6c405"; + type = "gem"; + }; + version = "0.1.1"; + }; + virtus = { + dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk"; + type = "gem"; + }; + version = "1.0.5"; }; } \ No newline at end of file diff --git a/pkgs/applications/misc/pwsafe/default.nix b/pkgs/applications/misc/pwsafe/default.nix index 25b3a6b4e7a..1ed54b05ec8 100644 --- a/pkgs/applications/misc/pwsafe/default.nix +++ b/pkgs/applications/misc/pwsafe/default.nix @@ -1,26 +1,29 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, zip, gettext, perl -, wxGTK31, libXi, libXt, libXtst, xercesc, xorgproto +, wxGTK31, libXext, libXi, libXt, libXtst, xercesc , qrencode, libuuid, libyubikey, yubikey-personalization +, curl, openssl }: stdenv.mkDerivation rec { pname = "pwsafe"; - version = "1.06"; - name = "${pname}-${version}"; + version = "1.08.1"; src = fetchFromGitHub { - owner = "${pname}"; - repo = "${pname}"; + owner = pname; + repo = pname; rev = "${version}BETA"; - sha256 = "1q3xi7i4r3nmz3hc79lx8l15sr1nqhwbi3lrnfqr356nv6aaf03y"; + sha256 = "0x89pn056h8b4yvxbd6l3qwrghslxc7vlxnblmcmsx7xx4i041ng"; }; - nativeBuildInputs = [ cmake pkgconfig zip ]; + nativeBuildInputs = [ + cmake gettext perl pkgconfig zip + ]; buildInputs = [ - gettext perl qrencode libuuid - libXi libXt libXtst wxGTK31 xercesc xorgproto + 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" @@ -46,11 +49,10 @@ stdenv.mkDerivation rec { done ''; - installFlags = [ "PREFIX=$(out)" ]; + installFlags = [ "PREFIX=${placeholder "out"}" ]; meta = with stdenv.lib; { description = "A password database utility"; - longDescription = '' Password Safe is a password database utility. Like many other such products, commercial and otherwise, it stores your @@ -58,8 +60,7 @@ stdenv.mkDerivation rec { one password (the "safe combination"), instead of all the username/password combinations that you use. ''; - - homepage = https://pwsafe.org/; + 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 00000000000..bfbee1bea24 --- /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/pyditz/default.nix b/pkgs/applications/misc/pyditz/default.nix new file mode 100644 index 00000000000..0f4e743aba4 --- /dev/null +++ b/pkgs/applications/misc/pyditz/default.nix @@ -0,0 +1,25 @@ +{ stdenv, pythonPackages }: + +pythonPackages.buildPythonApplication rec { + pname = "pyditz"; + version = "0.10.3"; + + src = pythonPackages.fetchPypi { + inherit pname version; + sha256 = "0hxxz7kxv9gsrr86ccsc31g7bc2agw1ihbxhd659c2m6nrqq5qaf"; + }; + nativeBuildInputs = [ pythonPackages.setuptools_scm ]; + propagatedBuildInputs = with pythonPackages; [ pyyaml six jinja2 cerberus11 ]; + + checkPhase = '' + ${pythonPackages.python.interpreter} -m unittest discover + ''; + + meta = with stdenv.lib; { + homepage = https://pythonhosted.org/pyditz/; + description = "Drop-in replacement for the Ditz distributed issue tracker"; + maintainers = [ maintainers.ilikeavocadoes ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/pytrainer/default.nix b/pkgs/applications/misc/pytrainer/default.nix index cdeca96568d..7c560cacda1 100644 --- a/pkgs/applications/misc/pytrainer/default.nix +++ b/pkgs/applications/misc/pytrainer/default.nix @@ -1,38 +1,45 @@ -{ stdenv, fetchFromGitHub, perl, python, sqlite, gpsbabel -, withWebKit ? false }: +{ stdenv +, fetchFromGitHub +, perl +, python3 +, sqlite +, gpsbabel +, gnome3 +, gobject-introspection +, wrapGAppsHook +, gtk3 +, xvfb_run +, webkitgtk +, glib-networking +, glibcLocales +, tzdata +, substituteAll +}: let - - # Pytrainer needs a matplotlib with GTK backend. Also ensure we are - # using the pygtk with glade support as needed by pytrainer. - matplotlibGtk = python.pkgs.matplotlib.override { - enableGtk2 = true; - pygtk = python.pkgs.pyGtkGlade; + # Pytrainer needs a matplotlib with GTK backend. + matplotlibGtk = python3.pkgs.matplotlib.override { + enableGtk3 = true; }; in -python.pkgs.buildPythonApplication rec { - name = "pytrainer-${version}"; - version = "1.12.1"; +python3.pkgs.buildPythonApplication rec { + pname = "pytrainer"; + version = "2.0.0"; src = fetchFromGitHub { owner = "pytrainer"; repo = "pytrainer"; rev = "v${version}"; - sha256 = "0rzf8kks96qzlknh6g3b9pjq04j7qk6rmz58scp7sck8xz9rjbwx"; + sha256 = "1w5z1xwb2g6j2izm89b7lv9n92r1zhsr8bglxcn7jc5gwbvwysvd"; }; - namePrefix = ""; - patches = [ - # The test fails in the UTC timezone and C locale. - ./fix-test-tz.patch - - # The existing use of pywebkitgtk shows raw HTML text instead of - # map. This patch solves the problems by showing the file from a - # string, which allows setting an explicit MIME type. - ./pytrainer-webkit.patch + (substituteAll { + src = ./fix-paths.patch; + perl = "${perl}/bin/perl"; + }) ]; postPatch = '' @@ -40,18 +47,40 @@ python.pkgs.buildPythonApplication rec { --replace "'mysqlclient'," "" ''; - propagatedBuildInputs = with python.pkgs; [ - dateutil lxml matplotlibGtk pyGtkGlade sqlalchemy sqlalchemy_migrate psycopg2 - ] ++ stdenv.lib.optional withWebKit [ pywebkitgtk ]; + propagatedBuildInputs = with python3.pkgs; [ + dateutil + lxml + matplotlibGtk + pygobject3 + sqlalchemy + sqlalchemy_migrate + psycopg2 + requests + certifi + ]; - buildInputs = [ perl gpsbabel sqlite ]; + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook + xvfb_run + ]; - # This package contains no binaries to patch or strip. - dontPatchELF = true; - dontStrip = true; + buildInputs = [ + gpsbabel + sqlite + gtk3 + webkitgtk + glib-networking + glibcLocales + gnome3.adwaita-icon-theme + ]; checkPhase = '' - ${python.interpreter} -m unittest discover + env HOME=$TEMPDIR TZDIR=${tzdata}/share/zoneinfo \ + TZ=Europe/Kaliningrad \ + LC_ALL=en_US.UTF-8 \ + xvfb-run -s '-screen 0 800x600x24' \ + ${python3.interpreter} setup.py test ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/pytrainer/fix-paths.patch b/pkgs/applications/misc/pytrainer/fix-paths.patch new file mode 100644 index 00000000000..7781f5aa4be --- /dev/null +++ b/pkgs/applications/misc/pytrainer/fix-paths.patch @@ -0,0 +1,11 @@ +--- a/imports/file_garminfit.py ++++ b/imports/file_garminfit.py +@@ -81,7 +81,7 @@ + logging.debug(">>") + result = False + try: +- result = subprocess.check_output(["perl", ++ result = subprocess.check_output(["@perl@", + self.main_data_path+"plugins/garmin-fit/bin/fit2tcx", + filename]) + except subprocess.CalledProcessError: diff --git a/pkgs/applications/misc/pytrainer/fix-test-tz.patch b/pkgs/applications/misc/pytrainer/fix-test-tz.patch deleted file mode 100644 index ca487576901..00000000000 --- a/pkgs/applications/misc/pytrainer/fix-test-tz.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -Nurp source.orig/pytrainer/test/core/test_activity.py source/pytrainer/test/core/test_activity.py ---- source.orig/pytrainer/test/core/test_activity.py 2018-02-27 22:15:32.078243354 +0100 -+++ source/pytrainer/test/core/test_activity.py 2018-02-27 22:16:33.936867052 +0100 -@@ -92,7 +92,7 @@ class ActivityTest(unittest.TestCase): - self.assertEquals(self.activity.time, self.activity.duration) - - def test_activity_starttime(self): -- self.assertEquals(self.activity.starttime, '12:58:23 PM') -+ self.assertEquals(self.activity.starttime, '12:58:23') - - def test_activity_time_tuple(self): - self.assertEquals(self.activity.time_tuple, (2, 3, 46)) -diff -Nurp source.orig/pytrainer/test/imports/test_garmintcxv2.py source/pytrainer/test/imports/test_garmintcxv2.py ---- source.orig/pytrainer/test/imports/test_garmintcxv2.py 2018-02-27 22:15:32.079243364 +0100 -+++ source/pytrainer/test/imports/test_garmintcxv2.py 2018-02-27 22:17:10.778333751 +0100 -@@ -39,7 +39,7 @@ class GarminTCXv2Test(unittest.TestCase) - self.fail() - - def test_workout_summary(self): -- summary = [(0, False, '2012-10-14T12:02:42', '10.12', '00:39:51', 'Running')] -+ summary = [(0, False, '2012-10-14T10:02:42', '10.12', '00:39:51', 'Running')] - try: - current_path = os.path.dirname(os.path.abspath(__file__)) - data_path = os.path.dirname(os.path.dirname(os.path.dirname(current_path))) + "/" -@@ -52,7 +52,7 @@ class GarminTCXv2Test(unittest.TestCase) - self.fail() - - def test_summary_in_database(self): -- summary = [(0, True, '2012-10-14T12:02:42', '10.12', '00:39:51', 'Running')] -+ summary = [(0, True, '2012-10-14T10:02:42', '10.12', '00:39:51', 'Running')] - activity = Activity(date_time_utc='2012-10-14T10:02:42Z', sport_id='1') - self.ddbb.session.add(activity) - self.ddbb.session.commit( -diff -Nurp source.orig/pytrainer/test/lib/test_date.py source/pytrainer/test/lib/test_date.py ---- source.orig/pytrainer/test/lib/test_date.py 2018-05-10 21:15:22.196275555 +0200 -+++ source/pytrainer/test/lib/test_date.py 2018-05-10 21:22:43.647870401 +0200 -@@ -47,7 +47,7 @@ class DateFunctionTest(unittest.TestCase - def test_getDateTime(self): - utctime, localtime = getDateTime('Tue Nov 24 17:29:05 UTC 2015') - self.assertEqual(datetime.datetime(2015, 11, 24, 17, 29, 5, tzinfo=tzutc()), utctime) -- self.assertEqual(datetime.datetime(2015, 11, 24, 19, 29, 5, tzinfo=tzlocal()), localtime) -+ self.assertEqual(datetime.datetime(2015, 11, 24, 17, 29, 5, tzinfo=tzlocal()), localtime) - - class DateRangeTest(unittest.TestCase): - diff --git a/pkgs/applications/misc/pytrainer/pytrainer-webkit.patch b/pkgs/applications/misc/pytrainer/pytrainer-webkit.patch deleted file mode 100644 index 0f894c46a53..00000000000 --- a/pkgs/applications/misc/pytrainer/pytrainer-webkit.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Nurp pytrainer-1.10.0-orig/pytrainer/extensions/mapviewer.py pytrainer-1.10.0/pytrainer/extensions/mapviewer.py ---- pytrainer-1.10.0-orig/pytrainer/extensions/mapviewer.py 2013-03-31 12:28:29.000000000 +0200 -+++ pytrainer-1.10.0/pytrainer/extensions/mapviewer.py 2014-12-22 11:44:44.367032126 +0100 -@@ -46,7 +46,9 @@ class MapViewer: - logging.debug(">>") - if htmlfile is None: - htmlfile = self.createErrorHtml() -- self.wkview.load_uri("file://%s" % (htmlfile)) -+ content = open(htmlfile, 'r').read() -+ self.wkview.load_string(content, 'text/html', 'UTF-8', 'file:///') -+ #self.wkview.load_uri("file://%s" % (htmlfile)) - #self.box.show_all() - logging.debug("<<") - diff --git a/pkgs/applications/misc/qMasterPassword/default.nix b/pkgs/applications/misc/qMasterPassword/default.nix index e0a1e33dc62..97751127342 100644 --- a/pkgs/applications/misc/qMasterPassword/default.nix +++ b/pkgs/applications/misc/qMasterPassword/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchFromGitHub, qtbase, qmake, libX11, libXtst, openssl, libscrypt }: +{ stdenv, mkDerivation, fetchFromGitHub, qtbase, qmake, libX11, libXtst, openssl, libscrypt }: -stdenv.mkDerivation rec { +mkDerivation rec { name = "qMasterPassword"; version = "1.2.2"; diff --git a/pkgs/applications/misc/qdirstat/default.nix b/pkgs/applications/misc/qdirstat/default.nix index abf4bb05462..48a05091ca8 100644 --- a/pkgs/applications/misc/qdirstat/default.nix +++ b/pkgs/applications/misc/qdirstat/default.nix @@ -1,17 +1,18 @@ { stdenv, fetchFromGitHub, qmake , coreutils, xdg_utils, bash -, makeWrapper, perlPackages }: +, makeWrapper, perlPackages, mkDerivation }: let - version = "1.5"; -in stdenv.mkDerivation rec { - name = "qdirstat-${version}"; + version = "1.6"; +in mkDerivation rec { + pname = "qdirstat"; + inherit version; src = fetchFromGitHub { owner = "shundhammer"; repo = "qdirstat"; rev = "${version}"; - sha256 = "1v879kd7zahalb2qazq61wzi364k5cy3lgy6c8wj6mclwxjws1vc"; + sha256 = "0q4ccjmlbqifg251kyxwys8wspdskr8scqhacyfrs9cmnjxcjqan"; }; nativeBuildInputs = [ qmake makeWrapper ]; diff --git a/pkgs/applications/misc/qlandkartegt/default.nix b/pkgs/applications/misc/qlandkartegt/default.nix new file mode 100644 index 00000000000..aae38f7d0f1 --- /dev/null +++ b/pkgs/applications/misc/qlandkartegt/default.nix @@ -0,0 +1,91 @@ +{ mkDerivation, lib, fetchurl, fetchpatch, cmake +, qtmultimedia, qtserialport, qtscript, qtwebkit +, garmindev, gdal, gpsd, libdmtx, libexif, libGLU, proj }: + +mkDerivation rec { + pname = "qlandkartegt"; + version = "1.8.1"; + + src = fetchurl { + url = "https://bitbucket.org/maproom/qlandkarte-gt/downloads/${pname}-${version}.tar.gz"; + sha256 = "1rwv5ar5jv15g1cc6pp0lk69q3ip10pjazsh3ds2ggaciymha1ly"; + }; + + patches = [ + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-gps_read.patch?h=qlandkartegt"; + sha256 = "1xyqxdqxwviq7b8jjxssxjlkldk01ms8dzqdjgvjs8n3fh7w0l70"; + }) + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-incomplete-type.patch?h=qlandkartegt"; + sha256 = "1q7rm321az3q6pq5mq0yjrihxl9sf3nln9z3xp20g9qldslv2cy2"; + }) + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-proj_api.patch?h=qlandkartegt"; + sha256 = "12yibxn85z2n30azmhyv02q091jj5r50nlnjq4gfzyqd3xb9582n"; + }) + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-qt5-build.patch?h=qlandkartegt"; + sha256 = "1wq2hr06gzq8m7zddh10vizmvpwp4lcy1g86rlpppvdc5cm3jpkl"; + }) + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-qtgui-include.patch?h=qlandkartegt"; + sha256 = "16hql8ignzw4n1hlp4icbvaddqcadh2rjns0bvis720535112sc8"; + }) + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-ver_str.patch?h=qlandkartegt"; + sha256 = "13fg05gqrjfa9j00lrqz1b06xf6r5j01kl6l06vkn0hz1jzxss5m"; + }) + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/improve-gpx-creator.patch?h=qlandkartegt"; + sha256 = "1sdf5z8qrd43azrhwfw06zc0qr48z925hgbcfqlp0xrsxv2n6kks"; + }) + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/improve-gpx-name.patch?h=qlandkartegt"; + sha256 = "10phafhns79i3rl4zpc7arw11x46cywgkdkxm7gw1i9y5h0cal79"; + }) + ]; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + qtmultimedia qtserialport qtscript qtwebkit + garmindev gdal gpsd libdmtx libexif libGLU proj + ]; + + cmakeFlags = [ + "-DQK_QT5_PORT=ON" + "-DEXIF_LIBRARIES=${libexif}/lib/libexif.so" + "-DEXIF_INCLUDE_DIRS=${libexif}/include" + ]; + + enableParallelBuilding = true; + + postPatch = '' + substituteInPlace ConfigureChecks.cmake \ + --replace \$\{PLUGIN_INSTALL_DIR\} "${garmindev}/lib/qlandkartegt" + ''; + + postInstall = '' + mkdir -p $out/share/mime/packages + cat << EOF > $out/share/mime/packages/qlandkartegt.xml + + + QLandkarteGT File + + + + EOF + ''; + + meta = with lib; { + homepage = http://www.qlandkarte.org/; + description = '' + QLandkarte GT is the ultimate outdoor aficionado's tool. + It supports GPS maps in GeoTiff format as well as Garmin's img vector map format. + ''; + license = licenses.gpl2; + maintainers = with maintainers; [ sikmir ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/applications/misc/qlandkartegt/garmindev.nix b/pkgs/applications/misc/qlandkartegt/garmindev.nix new file mode 100644 index 00000000000..a679a4f1112 --- /dev/null +++ b/pkgs/applications/misc/qlandkartegt/garmindev.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, cmake, libusb }: + +stdenv.mkDerivation rec { + pname = "garmindev"; + version = "0.3.4"; + + src = fetchurl { + url = "https://bitbucket.org/maproom/qlandkarte-gt/downloads/${pname}-${version}.tar.gz"; + sha256 = "1mc7rxdn9790pgbvz02xzipxp2dp9h4hfq87xgawa18sp9jqzhw6"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ libusb ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = http://www.qlandkarte.org/; + description = "Garmin Device Drivers for QlandkarteGT"; + license = licenses.gpl2; + maintainers = with maintainers; [ sikmir ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/misc/qlcplus/default.nix b/pkgs/applications/misc/qlcplus/default.nix index 878de748dec..8fc890f4243 100644 --- a/pkgs/applications/misc/qlcplus/default.nix +++ b/pkgs/applications/misc/qlcplus/default.nix @@ -4,14 +4,14 @@ }: mkDerivation rec { - name = "qlcplus-${version}"; - version = "4.12.0"; + pname = "qlcplus"; + version = "4.12.1"; src = fetchFromGitHub { owner = "mcallegari"; repo = "qlcplus"; rev = "QLC+_${version}"; - sha256 = "056ccgcz3rpbic2hqg4r1rq8svq7070j2h6l3hbb1p8h3qxwamzh"; + sha256 = "1kz2zbz7blnm91dysn949bjsy4xqxg658k47p3gbl0pjl58c44hp"; }; nativeBuildInputs = [ qmake pkgconfig ]; @@ -29,6 +29,12 @@ mkDerivation rec { 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 f4983ad9442..335c583998f 100644 --- a/pkgs/applications/misc/qmapshack/default.nix +++ b/pkgs/applications/misc/qmapshack/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, cmake, qtscript, qtwebengine, gdal, proj, routino, quazip }: +{ mkDerivation, lib, fetchurl, fetchpatch, cmake, qtscript, qtwebengine, gdal, proj, routino, quazip }: -stdenv.mkDerivation rec { - name = "qmapshack-${version}"; - version = "1.12.3"; +mkDerivation rec { + pname = "qmapshack"; + version = "1.13.1"; src = fetchurl { - url = "https://bitbucket.org/maproom/qmapshack/downloads/${name}.tar.gz"; - sha256 = "1yp5gw4q4gwiwr9w4dz19am0bhsla9n2l3bdlk98a7f46kxgnkrx"; + url = "https://bitbucket.org/maproom/qmapshack/downloads/${pname}-${version}.tar.gz"; + sha256 = "15x1b2q0hr1vx006f9hjc4cvfjvxvfdwybw32qvczdyc3crq0mc9"; }; nativeBuildInputs = [ cmake ]; @@ -15,13 +15,24 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DROUTINO_XML_PATH=${routino}/share/routino" - "-DQUAZIP_INCLUDE_DIR=${quazip}/include/quazip" + "-DQUAZIP_INCLUDE_DIR=${quazip}/include/quazip5" "-DLIBQUAZIP_LIBRARY=${quazip}/lib/libquazip.so" ]; enableParallelBuilding = true; - meta = with stdenv.lib; { + patches = [ + (fetchpatch { + url = "https://bitbucket.org/maproom/qmapshack/raw/d0b1b595578a83fda981ccc1ff24166fa636ba1d/FindPROJ4.patch"; + sha256 = "1nx4ax233bnnj478cmjpm5c1qqmyn1navlihf10q6hhbanay9n99"; + }) + (fetchpatch { + url = "https://bitbucket.org/maproom/qmapshack/raw/d0b1b595578a83fda981ccc1ff24166fa636ba1d/FindQuaZip5.patch"; + sha256 = "0z1b2dz2zlz685mxgn8bmh1fyhxpf6dzd6jvkkjyk2kvnrdxv3b9"; + }) + ]; + + meta = with lib; { homepage = https://bitbucket.org/maproom/qmapshack/wiki/Home; description = "Plan your next outdoor trip"; license = licenses.gpl3; diff --git a/pkgs/applications/misc/qolibri/default.nix b/pkgs/applications/misc/qolibri/default.nix index e395ae9c070..ecc372dc674 100644 --- a/pkgs/applications/misc/qolibri/default.nix +++ b/pkgs/applications/misc/qolibri/default.nix @@ -2,7 +2,7 @@ , qtmultimedia, qttools, qtwebengine }: stdenv.mkDerivation rec { - name = "qolibri-${version}"; + pname = "qolibri"; version = "2018-11-14"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/qpdfview/default.nix b/pkgs/applications/misc/qpdfview/default.nix index 263bc37660c..81aa18c9f24 100644 --- a/pkgs/applications/misc/qpdfview/default.nix +++ b/pkgs/applications/misc/qpdfview/default.nix @@ -1,22 +1,23 @@ -{stdenv, fetchurl, qmake, qtbase, qtsvg, pkgconfig, poppler, djvulibre, libspectre, cups +{stdenv, mkDerivation, fetchurl, qmake, qtbase, qtsvg, pkgconfig, poppler, djvulibre, libspectre, cups , file, ghostscript }: let s = # Generated upstream information rec { baseName="qpdfview"; - version = "0.4.16"; + version = "0.4.18"; name="${baseName}-${version}"; url="https://launchpad.net/qpdfview/trunk/${version}/+download/qpdfview-${version}.tar.gz"; - sha256 = "0zysjhr58nnmx7ba01q3zvgidkgcqxjdj4ld3gx5fc7wzvl1dm7s"; + sha256 = "0v1rl126hvblajnph2hkansgi0s8vjdc5yxrm4y3faa0lxzjwr6c"; }; nativeBuildInputs = [ qmake pkgconfig ]; buildInputs = [ qtbase qtsvg poppler djvulibre libspectre cups file ghostscript ]; in -stdenv.mkDerivation { - inherit (s) name version; +mkDerivation { + pname = s.baseName; + inherit (s) version; inherit nativeBuildInputs buildInputs; src = fetchurl { inherit (s) url sha256; diff --git a/pkgs/applications/misc/qsyncthingtray/default.nix b/pkgs/applications/misc/qsyncthingtray/default.nix index 6ae8f380fe2..71a433bded7 100644 --- a/pkgs/applications/misc/qsyncthingtray/default.nix +++ b/pkgs/applications/misc/qsyncthingtray/default.nix @@ -7,7 +7,7 @@ mkDerivation rec { version = "0.5.8"; - name = "qsyncthingtray-${version}"; + pname = "qsyncthingtray"; src = fetchFromGitHub { owner = "sieren"; diff --git a/pkgs/applications/misc/qt-box-editor/default.nix b/pkgs/applications/misc/qt-box-editor/default.nix new file mode 100644 index 00000000000..47b4641234f --- /dev/null +++ b/pkgs/applications/misc/qt-box-editor/default.nix @@ -0,0 +1,38 @@ +{ stdenv +, fetchFromGitHub +, qtbase +, qtsvg +, qmake +, leptonica +, tesseract +}: + +stdenv.mkDerivation rec { + pname = "qt-box-editor"; + version = "unstable-2019-07-12"; + + src = fetchFromGitHub { + owner = "zdenop"; + repo = "qt-box-editor"; + rev = "75a68b466868ba41ba2886caa796057403fe1901"; + sha256 = "0zwsyy7cnbhy5aazwlkhd9y8bnzlgy1gffqa46abajn4809b95k3"; + }; + + buildInputs = [ qtbase qtsvg leptonica tesseract ]; + + nativeBuildInputs = [ qmake ]; + + # remove with next release + # https://github.com/zdenop/qt-box-editor/pull/78 + postPatch = '' + printf "INSTALLS += target\ntarget.path = $out/bin" >> qt-box-editor.pro + ''; + + meta = with stdenv.lib; { + description = "Editor of tesseract-ocr box files"; + homepage = https://github.com/zdenop/qt-box-editor; + license = licenses.asl20; + maintainers = [ maintainers.costrouc ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/misc/qtbitcointrader/default.nix b/pkgs/applications/misc/qtbitcointrader/default.nix index 9ad9f4fe15a..d942f999f69 100644 --- a/pkgs/applications/misc/qtbitcointrader/default.nix +++ b/pkgs/applications/misc/qtbitcointrader/default.nix @@ -1,14 +1,15 @@ { stdenv, fetchzip, qt5 }: let - version = "1.40.40"; + version = "1.40.41"; in stdenv.mkDerivation { - name = "qtbitcointrader-${version}"; + pname = "qtbitcointrader"; + inherit version; src = fetchzip { url = "https://github.com/JulyIGHOR/QtBitcoinTrader/archive/v${version}.tar.gz"; - sha256 = "10gxxkmn7w2hbmznpx6ybbbvlvh640nyzya1yfn162vzbjg14jdi"; + sha256 = "0v2rqzswqxfhxvkj1i7b48sd6kbj3w9issvn05yhp7bx75gwns4p"; }; buildInputs = [ qt5.qtbase qt5.qtmultimedia qt5.qtscript ]; diff --git a/pkgs/applications/misc/qtpass/default.nix b/pkgs/applications/misc/qtpass/default.nix index e03dd65b9eb..1fccada4200 100644 --- a/pkgs/applications/misc/qtpass/default.nix +++ b/pkgs/applications/misc/qtpass/default.nix @@ -1,34 +1,40 @@ -{ stdenv, fetchFromGitHub, git, gnupg, pass, qtbase, qtsvg, qttools, qmake, makeWrapper }: +{ stdenv, lib, mkDerivation, fetchFromGitHub, fetchpatch +, git, gnupg, pass, qtbase, qtsvg, qttools, qmake +}: -stdenv.mkDerivation rec { - name = "qtpass-${version}"; - version = "1.2.1"; +mkDerivation rec { + pname = "qtpass"; + version = "1.3.0"; src = fetchFromGitHub { owner = "IJHack"; repo = "QtPass"; rev = "v${version}"; - sha256 = "0pp38b3fifkfwqcb6vi194ccgb8j3zc8j8jq8ww5ib0wvhldzsg8"; + sha256 = "0v3ca4fdjk6l24vc9wlc0i7r6fdj85kjmnb7jvicd3f8xi9mvhnv"; }; - patches = [ ./hidpi.patch ]; - buildInputs = [ git gnupg pass qtbase qtsvg qttools ]; - nativeBuildInputs = [ makeWrapper qmake ]; + nativeBuildInputs = [ qmake ]; - postPatch = '' - substituteInPlace qtpass.pro --replace "SUBDIRS += src tests main" "SUBDIRS += src main" - substituteInPlace qtpass.pro --replace "main.depends = tests" "main.depends = src" - ''; + # Fix missing app icon on Wayland. Has been upstreamed and should be safe to + # remove in versions > 1.3.0 + patches = [ + (fetchpatch { + url = "https://github.com/IJHack/QtPass/commit/aba8c4180f0ab3d66c44f88b21f137b19d17bde8.patch"; + sha256 = "009bcq0d75khmaligzd7736xdzy6a8s1m9dgqybn70h801h92fcr"; + }) + ]; + + enableParallelBuilding = true; + + qtWrapperArgs = [ + "--suffix PATH : ${lib.makeBinPath [ git gnupg pass ]}" + ]; postInstall = '' install -D qtpass.desktop $out/share/applications/qtpass.desktop install -D artwork/icon.svg $out/share/icons/hicolor/scalable/apps/qtpass-icon.svg - wrapProgram $out/bin/qtpass \ - --suffix PATH : ${git}/bin \ - --suffix PATH : ${gnupg}/bin \ - --suffix PATH : ${pass}/bin ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/qtpass/hidpi.patch b/pkgs/applications/misc/qtpass/hidpi.patch deleted file mode 100644 index 629bcbb5bac..00000000000 --- 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/quicksynergy/default.nix b/pkgs/applications/misc/quicksynergy/default.nix index b2616bf7b77..948bcf33d37 100644 --- a/pkgs/applications/misc/quicksynergy/default.nix +++ b/pkgs/applications/misc/quicksynergy/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, pkgconfig, gtk2, synergy}: stdenv.mkDerivation rec { - name = "quicksynergy-${version}"; + pname = "quicksynergy"; version = "0.9.0"; src = fetchurl { url = "mirror://sourceforge/project/quicksynergy/Linux/${version}/quicksynergy-${version}.tar.gz"; diff --git a/pkgs/applications/misc/redis-desktop-manager/default.nix b/pkgs/applications/misc/redis-desktop-manager/default.nix index bf4559e9117..25f9c6ed4c7 100644 --- a/pkgs/applications/misc/redis-desktop-manager/default.nix +++ b/pkgs/applications/misc/redis-desktop-manager/default.nix @@ -14,7 +14,7 @@ let in stdenv.mkDerivation rec { - name = "redis-desktop-manager-${version}"; + pname = "redis-desktop-manager"; version = "0.9.1"; src = fetchgit { diff --git a/pkgs/applications/misc/redshift-plasma-applet/default.nix b/pkgs/applications/misc/redshift-plasma-applet/default.nix index 03b8d709fce..2eebe67c46d 100644 --- a/pkgs/applications/misc/redshift-plasma-applet/default.nix +++ b/pkgs/applications/misc/redshift-plasma-applet/default.nix @@ -3,7 +3,8 @@ let version = "1.0.18"; in stdenv.mkDerivation { - name = "redshift-plasma-applet-${version}"; + pname = "redshift-plasma-applet"; + inherit version; src = fetchFromGitHub { owner = "kotelnik"; diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix index d8512754f6a..ad27c9b13a6 100644 --- a/pkgs/applications/misc/redshift/default.nix +++ b/pkgs/applications/misc/redshift/default.nix @@ -12,7 +12,7 @@ }: stdenv.mkDerivation rec { - name = "redshift-${version}"; + pname = "redshift"; version = "1.12"; src = fetchFromGitHub { @@ -88,6 +88,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; homepage = http://jonls.dk/redshift; platforms = platforms.unix; - maintainers = with maintainers; [ yegortimoshenko ]; + maintainers = with maintainers; [ yegortimoshenko globin ]; }; } diff --git a/pkgs/applications/misc/regextester/default.nix b/pkgs/applications/misc/regextester/default.nix index 703d7862124..ca362bab2ec 100644 --- a/pkgs/applications/misc/regextester/default.nix +++ b/pkgs/applications/misc/regextester/default.nix @@ -14,7 +14,7 @@ , wrapGAppsHook }: stdenv.mkDerivation rec { - name = "regextester-${version}"; + pname = "regextester"; version = "1.0.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/rescuetime/default.nix b/pkgs/applications/misc/rescuetime/default.nix index b934788cdbe..cd232088b5b 100644 --- a/pkgs/applications/misc/rescuetime/default.nix +++ b/pkgs/applications/misc/rescuetime/default.nix @@ -5,15 +5,15 @@ let if stdenv.hostPlatform.system == "i686-linux" then fetchurl { name = "rescuetime-installer.deb"; url = "https://www.rescuetime.com/installers/rescuetime_current_i386.deb"; - sha256 = "136ci4q0ns0qzikndlkbab947m47zv2nmnn8mda2374ip43kn6ri"; + sha256 = "03bky9vja7fijz45n44b6gawd6q8yd30nx6nya9lqdlxd1bkqmji"; } else fetchurl { name = "rescuetime-installer.deb"; url = "https://www.rescuetime.com/installers/rescuetime_current_amd64.deb"; - sha256 = "1cw10lr7hrsr9xvq3wv1wkyk7jqsgfnnlkq4km9kxr39f51hv6na"; + sha256 = "03bky9vja7fijz45n44b6gawd6q8yd30nx6nya9lqdlxd1bkqmji"; }; in stdenv.mkDerivation { # https://www.rescuetime.com/updates/linux_release_notes.html - name = "rescuetime-2.14.2.1"; + name = "rescuetime-2.14.3.1"; inherit src; buildInputs = [ dpkg makeWrapper ]; # avoid https://github.com/NixOS/patchelf/issues/99 diff --git a/pkgs/applications/misc/robo3t/default.nix b/pkgs/applications/misc/robo3t/default.nix index be365cb94e4..00640be6c74 100644 --- a/pkgs/applications/misc/robo3t/default.nix +++ b/pkgs/applications/misc/robo3t/default.nix @@ -2,12 +2,13 @@ freetype, xkeyboard_config, makeDesktopItem, makeWrapper }: stdenv.mkDerivation rec { - name = "robo3t-${version}"; - version = "1.1.1"; + pname = "robo3t"; + version = "1.3.1"; + rev = "7419c406"; src = fetchurl { - url = "https://download.robomongo.org/1.1.1/linux/robo3t-${version}-linux-x86_64-c93c6b0.tar.gz"; - sha256 = "140cn80vg7c8vpdjasqi4b3kyqj4n033lcm3ikz5674x3jr7r5zs"; + url = "https://download-test.robomongo.org/linux/robo3t-${version}-linux-x86_64-${rev}.tar.gz"; + sha256 = "1mp5i8iahd4qkwgi5ix98hlg17ivw5da27n0drnr0wk458wn99hi"; }; icon = fetchurl { diff --git a/pkgs/applications/misc/robomongo/default.nix b/pkgs/applications/misc/robomongo/default.nix index 76593eba5fc..8df4e960c18 100644 --- a/pkgs/applications/misc/robomongo/default.nix +++ b/pkgs/applications/misc/robomongo/default.nix @@ -2,7 +2,7 @@ freetype, xkeyboard_config, makeDesktopItem, makeWrapper }: stdenv.mkDerivation rec { - name = "robomongo-${version}"; + pname = "robomongo"; version = "0.9.0"; src = fetchurl { diff --git a/pkgs/applications/misc/rofi-menugen/default.nix b/pkgs/applications/misc/rofi-menugen/default.nix index 9b1b0157769..2255089ab7e 100644 --- a/pkgs/applications/misc/rofi-menugen/default.nix +++ b/pkgs/applications/misc/rofi-menugen/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Generates menu based applications using rofi"; homepage = https://github.com/octotep/menugen; - maintainers = with maintainers; [ garbas ]; + maintainers = with maintainers; [ ]; platforms = platforms.all; }; } diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix index 0edcde12e34..94381d4f6f9 100644 --- a/pkgs/applications/misc/rofi/default.nix +++ b/pkgs/applications/misc/rofi/default.nix @@ -1,15 +1,16 @@ -{ stdenv, fetchurl, autoreconfHook, pkgconfig, libxkbcommon, pango, which, git +{ stdenv, lib, fetchurl +, autoreconfHook, pkgconfig, libxkbcommon, pango, which, git , cairo, libxcb, xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification , bison, flex, librsvg, check }: stdenv.mkDerivation rec { - version = "1.5.2"; - name = "rofi-unwrapped-${version}"; + pname = "rofi-unwrapped"; + version = "1.5.4"; src = fetchurl { - url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/rofi-${version}.tar.gz"; - sha256 = "1rczxz6l32vnclarzga1sm1d5iq9rfscb9j7f8ih185n59hf0517"; + url = "https://github.com/davatorium/rofi/releases/download/${version}/rofi-${version}.tar.gz"; + sha256 = "1g1170zmh5v7slnm1sm2d08jgz6icikf8rm17apm1bjzzyw1lhk7"; }; preConfigure = '' @@ -22,13 +23,14 @@ stdenv.mkDerivation rec { buildInputs = [ libxkbcommon pango cairo git bison flex librsvg check libstartup_notification libxcb xcbutil xcbutilwm xcbutilxrm which ]; + doCheck = false; - meta = with stdenv.lib; { + meta = with 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 ]; + maintainers = with maintainers; [ mbakke ma27 ]; platforms = with platforms; linux; }; } diff --git a/pkgs/applications/misc/rofi/wrapper.nix b/pkgs/applications/misc/rofi/wrapper.nix index c2384f56faa..8c24d27f075 100644 --- a/pkgs/applications/misc/rofi/wrapper.nix +++ b/pkgs/applications/misc/rofi/wrapper.nix @@ -2,7 +2,9 @@ if theme == null then rofi-unwrapped else stdenv.mkDerivation { - name = "rofi-${rofi-unwrapped.version}"; + pname = "rofi"; + version = rofi-unwrapped.version; + buildInputs = [ makeWrapper ]; preferLocalBuild = true; passthru.unwrapped = rofi-unwrapped; diff --git a/pkgs/applications/misc/roxterm/default.nix b/pkgs/applications/misc/roxterm/default.nix index 11a75e4064f..1cff3635bf9 100644 --- a/pkgs/applications/misc/roxterm/default.nix +++ b/pkgs/applications/misc/roxterm/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, docbook_xsl, dbus, dbus-glib, expat -, gsettings-desktop-schemas, gdk_pixbuf, gtk3, hicolor-icon-theme +, gsettings-desktop-schemas, gdk-pixbuf, gtk3, hicolor-icon-theme , imagemagick, itstool, librsvg, libtool, libxslt, makeWrapper , pkgconfig, python, pythonPackages, vte , wrapGAppsHook}: @@ -11,10 +11,11 @@ let version = "3.3.2"; in stdenv.mkDerivation rec { - name = "roxterm-${version}"; + pname = "roxterm"; + inherit version; src = fetchurl { - url = "mirror://sourceforge/roxterm/${name}.tar.xz"; + url = "mirror://sourceforge/roxterm/${pname}-${version}.tar.xz"; sha256 = "0vjh7k4jm4bd01j88w9bmvq27zqsajjzy131fpi81zkii5lisl1k"; }; @@ -23,7 +24,7 @@ in stdenv.mkDerivation rec { buildInputs = [ docbook_xsl expat imagemagick itstool librsvg libtool libxslt makeWrapper python pythonPackages.lockfile dbus dbus-glib - gdk_pixbuf gsettings-desktop-schemas gtk3 + gdk-pixbuf gsettings-desktop-schemas gtk3 hicolor-icon-theme vte ]; NIX_CFLAGS_COMPILE = [ "-I${dbus-glib.dev}/include/dbus-1.0" diff --git a/pkgs/applications/misc/rsclock/default.nix b/pkgs/applications/misc/rsclock/default.nix new file mode 100644 index 00000000000..c427eda8c77 --- /dev/null +++ b/pkgs/applications/misc/rsclock/default.nix @@ -0,0 +1,24 @@ +{ stdenv, rustPlatform, fetchFromGitHub }: + +rustPlatform.buildRustPackage rec { + pname = "rsClock"; + version = "0.1.4"; + + src = fetchFromGitHub { + owner = "valebes"; + repo = pname; + rev = "v${version}"; + sha256 = "1i93qkz6d8sbk78i4rvx099hnn4lklp4cjvanpm9ssv8na4rqvh2"; + }; + + cargoSha256 = "0zg5q2p9snpfyxl0gx87ix1f46afrfm5jq0m6c7s8qw2x9hpvxzr"; + + meta = with stdenv.lib; { + description = "A simple terminal clock written in Rust"; + homepage = "https://github.com/valebes/rsClock"; + license = licenses.mit; + maintainers = with maintainers; [valebes]; + platforms = platforms.all; + }; +} + diff --git a/pkgs/applications/misc/rtv/default.nix b/pkgs/applications/misc/rtv/default.nix index 05b19bbbff9..20211ecb53b 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.27.0"; pname = "rtv"; src = fetchFromGitHub { owner = "michael-lazar"; repo = "rtv"; rev = "v${version}"; - sha256 = "0vzhnqys8nr6ymsi1mnv092z3i7nwyhgnj4jv6mjifak9j3164fw"; + sha256 = "1hw7xy2kjxq7y3wcibcz4l7zj8icvigialqr17l362xry0y17y5j"; }; # 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/default.nix b/pkgs/applications/misc/rxvt/default.nix index 8e63cdb6d16..acdd21a1c21 100644 --- a/pkgs/applications/misc/rxvt/default.nix +++ b/pkgs/applications/misc/rxvt/default.nix @@ -3,11 +3,11 @@ , libX11, libXt, libXpm }: stdenv.mkDerivation rec { - name = "rxvt-${version}"; + pname = "rxvt"; version = "2.7.10"; src = fetchurl { - url = "mirror://sourceforge/rxvt/${name}.tar.gz"; + url = "mirror://sourceforge/rxvt/${pname}-${version}.tar.gz"; sha256 = "0jfl71gz3k7zh3kxdb8lxi06kajjnx7bq1rxjgk680l209jxask1"; }; diff --git a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-autocomplete-all-the-things/default.nix b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-autocomplete-all-the-things/default.nix index f872e800836..a4e03fa347f 100644 --- a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-autocomplete-all-the-things/default.nix +++ b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-autocomplete-all-the-things/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "urxvt-autocomplete-all-the-things-${version}"; + pname = "urxvt-autocomplete-all-the-things"; version = "1.6.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix index 544789e865b..b976388ae2c 100644 --- a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix +++ b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "urxvt-perls-${version}"; + pname = "urxvt-perls"; version = "2.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix index 68be8b738de..2982c02cce9 100644 --- a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix +++ b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix @@ -1,13 +1,14 @@ { stdenv, fetchFromGitHub, perl }: -stdenv.mkDerivation { - name = "urxvt-tabbedex-2016-08-17"; +stdenv.mkDerivation rec { + pname = "urxvt-tabbedex"; + version = "19.21"; src = fetchFromGitHub { owner = "mina86"; repo = "urxvt-tabbedex"; - rev = "089d0cb724eeb62fa8a5dfcb00ced7761e794149"; - sha256 = "0a5jrb7ryafj55fgi8fhpy3gmb1xh5j7pbn8p5j5k6s2fnh0g0hq"; + rev = "v${version}"; + sha256 = "06msd156h6r8ss7qg66sjz5jz8613qfq2yvp0pc24i6mxzj8vl77"; }; nativeBuildInputs = [ perl ]; diff --git a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-theme-switch/default.nix b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-theme-switch/default.nix index f4a41a89e1c..ba8ec3a6e72 100644 --- a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-theme-switch/default.nix +++ b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-theme-switch/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { description = "urxvt plugin that allows to switch color themes during runtime"; homepage = https://github.com/felixr/urxvt-theme-switch; license = "CCBYNC"; - maintainers = with maintainers; [ garbas ]; + maintainers = with maintainers; [ ]; platforms = with platforms; unix; }; } diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix index d198c595135..17cea90ac27 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 ? true, libX11, libXt, libXft, ncurses, perl, fontconfig, freetype, pkgconfig, libXrender, - gdkPixbufSupport ? true, gdk_pixbuf, unicode3Support ? true }: + gdkPixbufSupport ? true, gdk-pixbuf, unicode3Support ? true }: let pname = "rxvt-unicode"; @@ -31,7 +31,7 @@ stdenv.mkDerivation (rec { [ libX11 libXt libXft ncurses /* required to build the terminfo file */ fontconfig freetype pkgconfig libXrender ] ++ stdenv.lib.optional perlSupport perl - ++ stdenv.lib.optional gdkPixbufSupport gdk_pixbuf; + ++ stdenv.lib.optional gdkPixbufSupport gdk-pixbuf; outputs = [ "out" "terminfo" ]; @@ -65,7 +65,7 @@ stdenv.mkDerivation (rec { inherit description; homepage = http://software.schmorp.de/pkg/rxvt-unicode.html; downloadPage = "http://dist.schmorp.de/rxvt-unicode/Attic/"; - maintainers = [ ]; + maintainers = with maintainers; [ rnhmjoj ]; platforms = platforms.unix; license = licenses.gpl3; }; diff --git a/pkgs/applications/misc/rxvt_unicode/wrapper.nix b/pkgs/applications/misc/rxvt_unicode/wrapper.nix index 909c267def8..fd0860b3aae 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 e99b305b2b3..125170d36c2 100644 --- a/pkgs/applications/misc/safeeyes/default.nix +++ b/pkgs/applications/misc/safeeyes/default.nix @@ -1,23 +1,22 @@ -{ lib, python3Packages, gobject-introspection, 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; in buildPythonApplication rec { - name = "${pname}-${version}"; pname = "safeeyes"; - version = "2.0.8.1"; + version = "2.0.9"; namePrefix = ""; src = fetchPypi { inherit pname version; - sha256 = "1x52ym8n4r6h38n4mcydxkvz71hhrd9wbiq4gzvwrai0xzl6qqsq"; + sha256 = "13q06jv8hm0dynmr3g5pf1m4j3w9iabrpz1nhpl02f7x0d90whg2"; }; buildInputs = [ gtk3 gobject-introspection - gnome3.defaultIconTheme + gnome3.adwaita-icon-theme gnome3.adwaita-icon-theme ]; @@ -50,7 +49,7 @@ in buildPythonApplication rec { preFixup = '' gappsWrapperArgs+=( - --prefix XDG_DATA_DIRS : "${gdk_pixbuf}/share" + --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" --prefix XDG_DATA_DIRS : "${librsvg}/share" diff --git a/pkgs/applications/misc/sakura/default.nix b/pkgs/applications/misc/sakura/default.nix index 33df8e8f0a2..8510d501942 100644 --- a/pkgs/applications/misc/sakura/default.nix +++ b/pkgs/applications/misc/sakura/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, cmake, pkgconfig, gtk3, perl, vte, pcre, glib , makeWrapper }: stdenv.mkDerivation rec { - name = "sakura-${version}"; + pname = "sakura"; version = "3.6.0"; src = fetchurl { - url = "https://launchpad.net/sakura/trunk/${version}/+download/${name}.tar.bz2"; + url = "https://launchpad.net/sakura/trunk/${version}/+download/${pname}-${version}.tar.bz2"; sha256 = "1q463qm41ym7jb3kbzjz7b6x549vmgkb70arpkhsf86yxly1y5m1"; }; diff --git a/pkgs/applications/misc/sampler/default.nix b/pkgs/applications/misc/sampler/default.nix new file mode 100644 index 00000000000..a04b0dcbba6 --- /dev/null +++ b/pkgs/applications/misc/sampler/default.nix @@ -0,0 +1,27 @@ +{ lib, buildGoModule, fetchFromGitHub, alsaLib }: + +buildGoModule rec { + pname = "sampler"; + version = "1.0.3"; + + src = fetchFromGitHub { + owner = "sqshq"; + repo = pname; + rev = "v${version}"; + sha256 = "129vifb1y57vyqj9p23gq778jschndh2y2ingwvjz0a6lrm45vpf"; + }; + + modSha256 = "0wgwnn50lrg6ix5ll2jdwi421wgqgsv4y9xd5hfj81kya3dxcbw0"; + + subPackages = [ "." ]; + + buildInputs = [ alsaLib ]; + + meta = with lib; { + description = "Tool for shell commands execution, visualization and alerting"; + homepage = "https://sampler.dev"; + license = licenses.gpl3; + maintainers = with maintainers; [ uvnikita ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/misc/sc-im/default.nix b/pkgs/applications/misc/sc-im/default.nix index 280a42fde14..c95eba48bdf 100644 --- a/pkgs/applications/misc/sc-im/default.nix +++ b/pkgs/applications/misc/sc-im/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "0.7.0"; - name = "sc-im-${version}"; + pname = "sc-im"; src = fetchFromGitHub { owner = "andmarti1424"; diff --git a/pkgs/applications/misc/sdcv/default.nix b/pkgs/applications/misc/sdcv/default.nix index cc8c30043b2..3cebcc0101f 100644 --- a/pkgs/applications/misc/sdcv/default.nix +++ b/pkgs/applications/misc/sdcv/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, glib, gettext, readline }: stdenv.mkDerivation rec { - name = "sdcv-${version}"; + pname = "sdcv"; version = "0.5.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/sequeler/default.nix b/pkgs/applications/misc/sequeler/default.nix index 96049b395ea..e3edb539928 100644 --- a/pkgs/applications/misc/sequeler/default.nix +++ b/pkgs/applications/misc/sequeler/default.nix @@ -1,28 +1,28 @@ { stdenv, fetchFromGitHub -, meson, ninja, pkgconfig, pantheon, gobject-introspection, gettext, wrapGAppsHook, python3, desktop-file-utils -, gtk3, glib, libgee, libgda, gtksourceview, libxml2, libsecret, libfixposix, libssh2 }: +, meson, ninja, pkgconfig, pantheon, gettext, wrapGAppsHook, python3, desktop-file-utils +, gtk3, glib, libgee, libgda, gtksourceview, libxml2, libsecret, libssh2 }: let - version = "0.6.7"; sqlGda = libgda.override { mysqlSupport = true; postgresSupport = true; }; in stdenv.mkDerivation rec { - name = "sequeler-${version}"; + pname = "sequeler"; + version = "0.7.2"; src = fetchFromGitHub { owner = "Alecaddd"; - repo = "sequeler"; + repo = pname; rev = "v${version}"; - sha256 = "0sxmky27pl0aqnh857xb54rnfg1kbr2smdzyrzw67cbv00f6d30p"; + sha256 = "0mxlhyfqmd4zg0psdmr62rhmvssw8jslm7a1nvh93675ns3vfrs5"; }; - nativeBuildInputs = [ meson ninja pkgconfig pantheon.vala gobject-introspection gettext wrapGAppsHook python3 desktop-file-utils ]; + nativeBuildInputs = [ meson ninja pkgconfig pantheon.vala gettext wrapGAppsHook python3 desktop-file-utils ]; - buildInputs = [ gtk3 glib pantheon.granite libgee sqlGda gtksourceview libxml2 libsecret libfixposix libssh2 ]; + buildInputs = [ gtk3 glib pantheon.granite libgee sqlGda gtksourceview libxml2 libsecret libssh2 ]; postPatch = '' chmod +x build-aux/meson_post_install.py @@ -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/sequelpro/default.nix b/pkgs/applications/misc/sequelpro/default.nix index fc63745ebb8..114404c2597 100644 --- a/pkgs/applications/misc/sequelpro/default.nix +++ b/pkgs/applications/misc/sequelpro/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, undmg }: stdenv.mkDerivation rec { - name = "sequel-pro-${version}"; + pname = "sequel-pro"; version = "1.1.2"; src = fetchurl { diff --git a/pkgs/applications/misc/sidequest/default.nix b/pkgs/applications/misc/sidequest/default.nix new file mode 100644 index 00000000000..1ec2665c676 --- /dev/null +++ b/pkgs/applications/misc/sidequest/default.nix @@ -0,0 +1,69 @@ +{ stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }: + let + pname = "sidequest"; + version = "0.3.1"; + + desktopItem = makeDesktopItem rec { + name = "SideQuest"; + exec = "SideQuest"; + desktopName = name; + genericName = "VR App Store"; + categories = "Settings;PackageManager;"; + }; + + sidequest = stdenv.mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/the-expanse/SideQuest/releases/download/${version}/SideQuest-linux-x64.tar.gz"; + sha256 = "1hj398zzp1x74zhp9rlhqzm9a0ck6zh9bj39g6fpvc38zab5dj1p"; + }; + + buildInputs = [ makeWrapper ]; + + buildCommand = '' + mkdir -p "$out/lib/SideQuest" "$out/bin" + tar -xzf "$src" -C "$out/lib/SideQuest" --strip-components 1 + + ln -s "$out/lib/SideQuest/SideQuest" "$out/bin" + + fixupPhase + + # mkdir -p "$out/share/applications" + # ln -s "${desktopItem}/share/applications/*" "$out/share/applications" + + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${atomEnv.libPath}/lib:${lib.makeLibraryPath [libuuid at-spi2-atk]}:$out/lib/SideQuest" \ + "$out/lib/SideQuest/SideQuest" + ''; + }; + in buildFHSUserEnv { + name = "SideQuest"; + + passthru = { + inherit pname version; + + meta = with stdenv.lib; { + description = "An open app store and side-loading tool for Android-based VR devices such as the Oculus Go, Oculus Quest or Moverio BT 300"; + homepage = "https://github.com/the-expanse/SideQuest"; + downloadPage = "https://github.com/the-expanse/SideQuest/releases"; + license = licenses.mit; + maintainers = [ maintainers.joepie91 ]; + platforms = [ "x86_64-linux" ]; + }; + }; + + targetPkgs = pkgs: [ + sidequest + # Needed in the environment on runtime, to make QuestSaberPatch work + icu openssl zlib + ]; + + extraInstallCommands = '' + mkdir -p "$out/share/applications" + ln -s "${desktopItem}/share/applications/*" "$out/share/applications" + ''; + + runScript = "SideQuest"; + } diff --git a/pkgs/applications/misc/sigal/default.nix b/pkgs/applications/misc/sigal/default.nix index a10b58d00b6..2b44b0398b5 100644 --- a/pkgs/applications/misc/sigal/default.nix +++ b/pkgs/applications/misc/sigal/default.nix @@ -1,12 +1,12 @@ { lib, python3Packages, ffmpeg }: python3Packages.buildPythonApplication rec { - version = "1.4.1"; + version = "2.0"; pname = "sigal"; src = python3Packages.fetchPypi { inherit version pname; - sha256 = "1fg32ii26j3xpq3cryi212lx9z33qnicm1cszwv1wfpg6sr2rr61"; + sha256 = "0ff8hpihbd30xjy155ksfpypjskilqg4zmyavgvpri8jaf1qpv89"; }; checkInputs = with python3Packages; [ pytest ]; @@ -29,6 +29,6 @@ python3Packages.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/simplenote/default.nix b/pkgs/applications/misc/simplenote/default.nix index 719b8d32b33..6a16741a06b 100644 --- a/pkgs/applications/misc/simplenote/default.nix +++ b/pkgs/applications/misc/simplenote/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, lib, zlib, glib, alsaLib, dbus, gtk2, atk, pango, freetype, fontconfig -, libgnome-keyring3, gdk_pixbuf, cairo, cups, expat, libgpgerror, nspr +, libgnome-keyring3, gdk-pixbuf, cairo, cups, expat, libgpgerror, nspr , nss, xorg, libcap, systemd, libnotify ,libXScrnSaver, gnome2 }: stdenv.mkDerivation rec { @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { packages = [ stdenv.cc.cc zlib glib dbus gtk2 atk pango freetype libgnome-keyring3 - fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr nss + fontconfig gdk-pixbuf cairo cups expat libgpgerror alsaLib nspr nss xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr xorg.libXcursor libcap systemd libnotify libXScrnSaver gnome2.GConf diff --git a/pkgs/applications/misc/slade/default.nix b/pkgs/applications/misc/slade/default.nix index fc6be074a07..d2d5e9548a0 100644 --- a/pkgs/applications/misc/slade/default.nix +++ b/pkgs/applications/misc/slade/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, wxGTK, gtk2, sfml, fluidsynth, curl, freeimage, ftgl, glew, zip }: stdenv.mkDerivation rec { - name = "slade-${version}"; + pname = "slade"; version = "3.1.1.5"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix index e012c3763b3..cf9e93b87b3 100644 --- a/pkgs/applications/misc/slic3r/default.nix +++ b/pkgs/applications/misc/slic3r/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { version = "1.3.0"; - name = "slic3r-${version}"; + pname = "slic3r"; src = fetchgit { url = "git://github.com/alexrj/Slic3r"; diff --git a/pkgs/applications/misc/slic3r/prusa3d.nix b/pkgs/applications/misc/slic3r/prusa3d.nix deleted file mode 100644 index 1f0a3a71be8..00000000000 --- a/pkgs/applications/misc/slic3r/prusa3d.nix +++ /dev/null @@ -1,147 +0,0 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages, - boost, tbb, wxGTK30, pkgconfig, gtk3, fetchurl, gtk2, libGLU, - glew, eigen, curl, gtest, nlopt, pcre, xorg, makeDesktopItem }: -let - AlienWxWidgets = perlPackages.buildPerlPackage rec { - name = "Alien-wxWidgets-0.69"; - src = fetchurl { - url = "mirror://cpan/authors/id/M/MD/MDOOTSON/${name}.tar.gz"; - sha256 = "075m880klf66pbcfk0la2nl60vd37jljizqndrklh5y4zvzdy1nr"; - }; - propagatedBuildInputs = [ - pkgconfig perlPackages.ModulePluggable perlPackages.ModuleBuild - gtk2 gtk3 wxGTK30 - ]; - }; - - Wx = perlPackages.Wx.overrideAttrs (oldAttrs: { - propagatedBuildInputs = [ - perlPackages.ExtUtilsXSpp - AlienWxWidgets - ]; - }); - - WxGLCanvas = perlPackages.buildPerlPackage rec { - name = "Wx-GLCanvas-0.09"; - src = fetchurl { - url = "mirror://cpan/authors/id/M/MB/MBARBON/${name}.tar.gz"; - sha256 = "1q4gvj4gdx4l8k4mkgiix24p9mdfy1miv7abidf0my3gy2gw5lka"; - }; - propagatedBuildInputs = [ Wx perlPackages.OpenGL libGLU ]; - doCheck = false; - }; -in -stdenv.mkDerivation rec { - name = "slic3r-prusa-edition-${version}"; - version = "1.41.3"; - - enableParallelBuilding = true; - - nativeBuildInputs = [ - cmake - makeWrapper - ]; - - buildInputs = [ - curl - eigen - glew - pcre - perl - tbb - which - Wx - WxGLCanvas - xorg.libXdmcp - xorg.libpthreadstubs - ] ++ checkInputs ++ (with perlPackages; [ - boost - ClassXSAccessor - EncodeLocale - ExtUtilsMakeMaker - ExtUtilsTypemapsDefault - ExtUtilsXSpp - GrowlGNTP - ImportInto - IOStringy - locallib - LWP - MathClipper - MathConvexHullMonotoneChain - MathGeometryVoronoi - MathPlanePath - ModuleBuildWithXSpp - Moo - NetDBus - OpenGL - 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 = '' - echo 'postInstall' - wrapProgram "$out/bin/slic3r-prusa3d" \ - --prefix PERL5LIB : "$out/lib/slic3r-prusa3d:$PERL5LIB" - - # it seems we need to copy the icons... - 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 = "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; - maintainers = with maintainers; [ tweber ]; - broken = stdenv.hostPlatform.isAarch64; - }; -} diff --git a/pkgs/applications/misc/slstatus/default.nix b/pkgs/applications/misc/slstatus/default.nix index f4a2e889cd4..bfb3d010a3c 100644 --- a/pkgs/applications/misc/slstatus/default.nix +++ b/pkgs/applications/misc/slstatus/default.nix @@ -3,7 +3,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "slstatus-${version}"; + pname = "slstatus"; version = "unstable-2018-04-16"; src = fetchgit { diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix index cb64365a944..cb2cd3f1e62 100644 --- a/pkgs/applications/misc/solaar/default.nix +++ b/pkgs/applications/misc/solaar/default.nix @@ -1,16 +1,21 @@ -{fetchFromGitHub, stdenv, gtk3, pythonPackages, gobject-introspection}: -pythonPackages.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 = [pythonPackages.pygobject3 pythonPackages.pyudev gobject-introspection gtk3]; + propagatedBuildInputs = with python3Packages; [ gobject-introspection gtk3 pygobject3 pyudev ]; + postInstall = '' wrapProgram "$out/bin/solaar" \ --prefix PYTHONPATH : "$PYTHONPATH" \ @@ -18,10 +23,13 @@ pythonPackages.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 @@ pythonPackages.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/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix index 9f20b20f7f3..c116b587406 100644 --- a/pkgs/applications/misc/spacefm/default.nix +++ b/pkgs/applications/misc/spacefm/default.nix @@ -3,7 +3,7 @@ , jmtpfs, ifuseSupport ? false, ifuse ? null, lsof, udisks2 }: stdenv.mkDerivation rec { - name = "spacefm-${version}"; + pname = "spacefm"; version = "1.0.6"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/sqliteman/default.nix b/pkgs/applications/misc/sqliteman/default.nix index a1d5ef153bb..103075024dd 100644 --- a/pkgs/applications/misc/sqliteman/default.nix +++ b/pkgs/applications/misc/sqliteman/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, qt4, qscintilla }: stdenv.mkDerivation rec { - name = "sqliteman-${version}"; + pname = "sqliteman"; version = "1.2.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/ssocr/default.nix b/pkgs/applications/misc/ssocr/default.nix index aee486ddf0c..eb408eaf6ee 100644 --- a/pkgs/applications/misc/ssocr/default.nix +++ b/pkgs/applications/misc/ssocr/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, imlib2, libX11 }: stdenv.mkDerivation rec { - name = "ssocr-${version}"; + pname = "ssocr"; version = "unstable-2018-08-11"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/st/xst.nix b/pkgs/applications/misc/st/xst.nix index b63a41bb915..9407243c6a2 100644 --- a/pkgs/applications/misc/st/xst.nix +++ b/pkgs/applications/misc/st/xst.nix @@ -3,16 +3,16 @@ with stdenv.lib; let - version = "0.7.1"; + version = "0.7.2"; name = "xst-${version}"; in stdenv.mkDerivation { inherit name; src = fetchFromGitHub { - owner = "neeasade"; + owner = "gnotclub"; repo = "xst"; rev = "v${version}"; - sha256 = "1fh4y2w0icaij99kihl3w8j5d5b38d72afp17c81pi57f43ss6pc"; + sha256 = "1fplgy30gyrwkjsw3z947327r98i13zd1whwkplpj9fzckhb9vs9"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/misc/stag/default.nix b/pkgs/applications/misc/stag/default.nix index 6d6382faccd..ebb50e685da 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/stog/default.nix b/pkgs/applications/misc/stog/default.nix index d3cd81f7f13..8c47de3afac 100644 --- a/pkgs/applications/misc/stog/default.nix +++ b/pkgs/applications/misc/stog/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "stog-${version}"; + pname = "stog"; version = "0.18.0"; src = fetchFromGitLab { domain = "framagit.org"; diff --git a/pkgs/applications/misc/stretchly/default.nix b/pkgs/applications/misc/stretchly/default.nix new file mode 100644 index 00000000000..213f308646a --- /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 483fb9cf95a..1fc96e551ac 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-09-25"; + pname = "stupidterm"; + version = "2019-03-26"; nativeBuildInputs = [ pkgconfig ]; @@ -10,17 +11,19 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "esmil"; repo = "stupidterm"; - rev = "d1bc020797330df83d427e361d3620e346a4e792"; - sha256 = "1yh2vhq3d0qbh0dh2h9yc7s9gkffgkb987vvwz2bdnvlskrjmmdj"; + 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 c26d4606018..00000000000 --- 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/styx/default.nix b/pkgs/applications/misc/styx/default.nix index f9779beec0f..340b59d5ff2 100644 --- a/pkgs/applications/misc/styx/default.nix +++ b/pkgs/applications/misc/styx/default.nix @@ -3,7 +3,7 @@ , perlPackages, python27 }: stdenv.mkDerivation rec { - name = "styx-${version}"; + pname = "styx"; version = "0.7.1"; src = fetchFromGitHub { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "01lklz7l9klqmmsncikwjnk3glzyz15c30118s82yd1chwpwhpfl"; }; - server = "${caddy.bin}/bin/caddy"; + server = "${caddy}/bin/caddy"; linkcheck = "${linkchecker}/bin/linkchecker"; nativeBuildInputs = [ asciidoctor ]; diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix index 50bb1df2eef..a29dad2c444 100644 --- a/pkgs/applications/misc/subsurface/default.nix +++ b/pkgs/applications/misc/subsurface/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, makeWrapper, pkgconfig, qmake +{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, wrapQtAppsHook, pkgconfig, qmake , curl, grantlee, libgit2, libusb, libssh2, libxml2, libxslt, libzip, zlib , qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit, libXcomposite }: @@ -7,7 +7,8 @@ let version = "4.8.2"; libdc = stdenv.mkDerivation rec { - name = "libdivecomputer-ssrf-${version}"; + pname = "libdivecomputer-ssrf"; + inherit version; src = fetchurl { url = "https://subsurface-divelog.org/downloads/libdivecomputer-subsurface-branch-${version}.tgz"; @@ -30,7 +31,7 @@ let }; googlemaps = stdenv.mkDerivation rec { - name = "googlemaps-${version}"; + pname = "googlemaps"; version = "2017-12-18"; @@ -66,7 +67,8 @@ let }; in stdenv.mkDerivation rec { - name = "subsurface-${version}"; + pname = "subsurface"; + inherit version; src = fetchurl { url = "https://subsurface-divelog.org/downloads/Subsurface-${version}.tgz"; @@ -79,18 +81,13 @@ in stdenv.mkDerivation rec { qtbase qtconnectivity qtsvg qttools qtwebkit ]; - nativeBuildInputs = [ cmake makeWrapper pkgconfig ]; + nativeBuildInputs = [ cmake wrapQtAppsHook pkgconfig ]; cmakeFlags = [ "-DLIBDC_FROM_PKGCONFIG=ON" "-DNO_PRINTING=OFF" ]; - postInstall = '' - wrapProgram $out/bin/subsurface \ - --prefix QT_PLUGIN_PATH : "${googlemaps}/${googlemaps.pluginsSubdir}" - ''; - enableParallelBuilding = true; passthru = { inherit version libdc googlemaps; }; diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix index 825b52cda7f..ee42c1389fc 100644 --- a/pkgs/applications/misc/sweethome3d/default.nix +++ b/pkgs/applications/misc/sweethome3d/default.nix @@ -74,15 +74,15 @@ let in rec { application = mkSweetHome3D rec { - version = "6.0"; + version = "6.2"; module = "SweetHome3D"; name = stdenv.lib.toLower module + "-application-" + version; description = "Design and visualize your future home"; license = stdenv.lib.licenses.gpl2Plus; src = fetchsvn { url = "https://svn.code.sf.net/p/sweethome3d/code/tags/V_" + d2u version + "/SweetHome3D/"; - sha256 = "1l4kc1c2iwkggmcdb2wksb4vrh97ll804vc51yawhdlq9g567ky9"; - rev = "6647"; + sha256 = "0a514a1zmipykvawil46v826ivkw9c00vdkyggyl6m41giay15zf"; + rev = "6822"; }; desktopName = "Sweet Home 3D"; icons = { diff --git a/pkgs/applications/misc/synapse/default.nix b/pkgs/applications/misc/synapse/default.nix index ebae6fd7cfe..c314e8ffe5a 100644 --- a/pkgs/applications/misc/synapse/default.nix +++ b/pkgs/applications/misc/synapse/default.nix @@ -1,19 +1,20 @@ { stdenv, fetchurl, gettext, pkgconfig, glib, libnotify, gtk3, libgee -, keybinder3, json-glib, zeitgeist, vala_0_38, hicolor-icon-theme, gobject-introspection +, keybinder3, json-glib, zeitgeist, vala, hicolor-icon-theme, gobject-introspection }: let version = "0.2.99.4"; in stdenv.mkDerivation rec { - name = "synapse-${version}"; + pname = "synapse"; + inherit version; src = fetchurl { - url = "https://launchpad.net/synapse-project/0.3/${version}/+download/${name}.tar.xz"; + url = "https://launchpad.net/synapse-project/0.3/${version}/+download/${pname}-${version}.tar.xz"; sha256 = "1g6x9knb4jy1d8zgssjhzkgac583137pibisy9whjs8mckaj4k1j"; }; nativeBuildInputs = [ - pkgconfig gettext vala_0_38 + pkgconfig gettext vala # For setup hook gobject-introspection ]; diff --git a/pkgs/applications/misc/syncthing-tray/default.nix b/pkgs/applications/misc/syncthing-tray/default.nix index f16a0d29c40..a07fe0c7510 100644 --- a/pkgs/applications/misc/syncthing-tray/default.nix +++ b/pkgs/applications/misc/syncthing-tray/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, buildGoPackage, pkgconfig, libappindicator-gtk3 }: buildGoPackage rec { - name = "syncthing-tray-${version}"; + pname = "syncthing-tray"; version = "0.7"; goPackagePath = "github.com/alex2108/syncthing-tray"; diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix new file mode 100644 index 00000000000..0dc8f3bf38e --- /dev/null +++ b/pkgs/applications/misc/syncthingtray/default.nix @@ -0,0 +1,57 @@ +{ mkDerivation +, stdenv +, lib +, fetchFromGitHub +, qtbase +, qtwebengine +, qtdeclarative +, extra-cmake-modules +, cpp-utilities +, qtutilities +, cmake +, kio +, plasma-framework +, qttools +, webviewSupport ? true +, jsSupport ? true +, kioPluginSupport ? true +, plasmoidSupport ? true +, systemdSupport ? true +}: + +mkDerivation rec { + version = "0.9.1"; + pname = "syncthingtray"; + + src = fetchFromGitHub { + owner = "Martchus"; + repo = "syncthingtray"; + rev = "v${version}"; + sha256 = "0ijwpwlwwbfh9fdfbwz6dgi6hpmaav2jm56mzxm6as50iwnb59fx"; + }; + + buildInputs = [ qtbase cpp-utilities qtutilities ] + ++ lib.optionals webviewSupport [ qtwebengine ] + ++ lib.optionals jsSupport [ qtdeclarative ] + ++ lib.optionals kioPluginSupport [ kio ] + ++ lib.optionals plasmoidSupport [ extra-cmake-modules plasma-framework ] + ; + + nativeBuildInputs = [ cmake qttools ]; + + cmakeFlags = [ + # See https://github.com/Martchus/syncthingtray/issues/42 + "-DQT_PLUGIN_DIR:STRING=${placeholder "out"}/lib/qt-5" + ] ++ lib.optionals (!plasmoidSupport) ["-DNO_PLASMOID=ON"] + ++ lib.optionals (!kioPluginSupport) ["-DNO_FILE_ITEM_ACTION_PLUGIN=ON"] + ++ lib.optionals systemdSupport ["-DSYSTEMD_SUPPORT=ON"] + ; + + meta = with lib; { + homepage = "https://github.com/Martchus/syncthingtray"; + description = "Tray application and Dolphin/Plasma integration for Syncthing"; + license = licenses.gpl2; + maintainers = with maintainers; [ doronbehar ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix index 25855c2a613..377d83e5962 100644 --- a/pkgs/applications/misc/synergy/default.nix +++ b/pkgs/applications/misc/synergy/default.nix @@ -1,9 +1,9 @@ { stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, xlibsWrapper -, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver, cf-private +, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver , libX11, libXi, libXtst, libXrandr, xinput, curl, openssl, unzip }: stdenv.mkDerivation rec { - name = "synergy-${version}"; + pname = "synergy"; version = "1.8.8"; src = fetchFromGitHub { @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { buildInputs = [ cmake curl openssl ] ++ lib.optionals stdenv.isDarwin [ - ApplicationServices Carbon Cocoa CoreServices ScreenSaver cf-private + ApplicationServices Carbon Cocoa CoreServices ScreenSaver ] ++ 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 index 52e39b98a3b..fbb1832735b 100644 --- a/pkgs/applications/misc/tabula/default.nix +++ b/pkgs/applications/misc/tabula/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { - name = "tabula-${version}"; + pname = "tabula"; version = "1.2.1"; diff --git a/pkgs/applications/misc/taskell/default.nix b/pkgs/applications/misc/taskell/default.nix index 6cb78e6d6bd..00b96f459cb 100644 --- a/pkgs/applications/misc/taskell/default.nix +++ b/pkgs/applications/misc/taskell/default.nix @@ -1,8 +1,8 @@ -{ haskell, lib, haskellPackages, fetchFromGitHub }: +{ lib, haskellPackages, fetchFromGitHub }: let - version = "1.3.2"; - sha256 = "0cyysvkl8m1ldlprmw9mpvch3r244nl25yv74dwcykga3g5mw4aa"; + version = "1.6.0"; + sha256 = "1yq7lbqg759i3hyxcskx3924b7xmw6i4ny6n8yq80k4hikw2k6mf"; in (haskellPackages.mkDerivation { pname = "taskell"; @@ -35,10 +35,12 @@ in (haskellPackages.mkDerivation { # containers # directory file-embed + fold-debounce http-conduit http-client http-types lens + raw-strings-qq # mtl # template-haskell # text @@ -55,5 +57,9 @@ in (haskellPackages.mkDerivation { tasty-hunit ]; - license = lib.licenses.bsd3; + description = "Command-line Kanban board/task manager with support for Trello boards and GitHub projects"; + homepage = "https://taskell.app"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ matthiasbeyer ]; + platforms = with lib.platforms; unix ++ darwin; }) diff --git a/pkgs/applications/misc/taskjuggler/Gemfile b/pkgs/applications/misc/taskjuggler/Gemfile index 77cbaeeed79..ab9f5a35464 100644 --- a/pkgs/applications/misc/taskjuggler/Gemfile +++ b/pkgs/applications/misc/taskjuggler/Gemfile @@ -1,2 +1,2 @@ -source 'http://rubygems.org' +source 'https://rubygems.org' gem 'taskjuggler' diff --git a/pkgs/applications/misc/taskjuggler/Gemfile.lock b/pkgs/applications/misc/taskjuggler/Gemfile.lock index ebd04c20ea6..dcc46e370e7 100644 --- a/pkgs/applications/misc/taskjuggler/Gemfile.lock +++ b/pkgs/applications/misc/taskjuggler/Gemfile.lock @@ -1,15 +1,15 @@ GEM - remote: http://rubygems.org/ + remote: https://rubygems.org/ specs: - mail (2.7.0) + mail (2.7.1) 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.6.0) + term-ansicolor (1.7.1) tins (~> 1.0) - tins (1.16.3) + tins (1.20.2) PLATFORMS ruby @@ -18,4 +18,4 @@ DEPENDENCIES taskjuggler BUNDLED WITH - 1.14.6 + 1.17.2 diff --git a/pkgs/applications/misc/taskjuggler/default.nix b/pkgs/applications/misc/taskjuggler/default.nix index f3f9285b312..838cc199a6c 100644 --- a/pkgs/applications/misc/taskjuggler/default.nix +++ b/pkgs/applications/misc/taskjuggler/default.nix @@ -1,9 +1,7 @@ -{ lib, bundlerApp, ruby }: +{ lib, bundlerApp, bundlerUpdateScript }: bundlerApp { pname = "taskjuggler"; - - inherit ruby; gemdir = ./.; exes = [ @@ -11,11 +9,13 @@ bundlerApp { "tj3ts_receiver" "tj3ts_sender" "tj3ts_summary" "tj3webd" ]; - meta = { + passthru.updateScript = bundlerUpdateScript "taskjuggler"; + + meta = with lib; { description = "A modern and powerful project management tool"; homepage = http://taskjuggler.org/; - license = lib.licenses.gpl2; - platforms = lib.platforms.unix; - maintainers = [ lib.maintainers.manveru ]; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = with maintainers; [ manveru nicknovitski ]; }; } diff --git a/pkgs/applications/misc/taskjuggler/gemset.nix b/pkgs/applications/misc/taskjuggler/gemset.nix index 24c1e431177..fcf607de815 100644 --- a/pkgs/applications/misc/taskjuggler/gemset.nix +++ b/pkgs/applications/misc/taskjuggler/gemset.nix @@ -4,17 +4,17 @@ groups = ["default"]; platforms = []; source = { - remotes = ["http://rubygems.org"]; - sha256 = "10dyifazss9mgdzdv08p47p344wmphp5pkh5i73s7c04ra8y6ahz"; + remotes = ["https://rubygems.org"]; + sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc"; type = "gem"; }; - version = "2.7.0"; + version = "2.7.1"; }; mini_mime = { groups = ["default"]; platforms = []; source = { - remotes = ["http://rubygems.org"]; + remotes = ["https://rubygems.org"]; sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3"; type = "gem"; }; @@ -25,7 +25,7 @@ groups = ["default"]; platforms = []; source = { - remotes = ["http://rubygems.org"]; + remotes = ["https://rubygems.org"]; sha256 = "0ky3cydl3szhdyxsy4k6zxzjlbll7mlq025aj6xd5jmh49k3pfbp"; type = "gem"; }; @@ -36,20 +36,20 @@ groups = ["default"]; platforms = []; source = { - remotes = ["http://rubygems.org"]; - sha256 = "1b1wq9ljh7v3qyxkk8vik2fqx2qzwh5lval5f92llmldkw7r7k7b"; + remotes = ["https://rubygems.org"]; + sha256 = "1xq5kci9215skdh27npyd3y55p812v4qb4x2hv3xsjvwqzz9ycwj"; type = "gem"; }; - version = "1.6.0"; + version = "1.7.1"; }; tins = { groups = ["default"]; platforms = []; source = { - remotes = ["http://rubygems.org"]; - sha256 = "0g95xs4nvx5n62hb4fkbkd870l9q3y9adfc4h8j21phj9mxybkb8"; + remotes = ["https://rubygems.org"]; + sha256 = "1pqj45n216zrz7yckdbdknlmhh187iqzx8fp76y2h0jrgqjfkxmj"; type = "gem"; }; - version = "1.16.3"; + version = "1.20.2"; }; } \ No newline at end of file diff --git a/pkgs/applications/misc/tasknc/default.nix b/pkgs/applications/misc/tasknc/default.nix index bf0e964d591..0450cb40a55 100644 --- a/pkgs/applications/misc/tasknc/default.nix +++ b/pkgs/applications/misc/tasknc/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "2017-05-15"; - name = "tasknc-${version}"; + pname = "tasknc"; src = fetchFromGitHub { owner = "lharding"; @@ -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 00000000000..9f1773b191d --- /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 dac447edd7d..feb06368de4 100644 --- a/pkgs/applications/misc/tasksh/default.nix +++ b/pkgs/applications/misc/tasksh/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, cmake, readline }: stdenv.mkDerivation rec { - name = "tasksh-${version}"; + pname = "tasksh"; version = "1.2.0"; enableParallelBuilding = true; src = fetchurl { - url = "https://taskwarrior.org/download/${name}.tar.gz"; + url = "https://taskwarrior.org/download/${pname}-${version}.tar.gz"; sha256 = "1z8zw8lld62fjafjvy248dncjk0i4fwygw0ahzjdvyyppx4zjhkf"; }; @@ -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 1018a53ce21..ba919fbc626 100644 --- a/pkgs/applications/misc/taskwarrior/default.nix +++ b/pkgs/applications/misc/taskwarrior/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, cmake, libuuid, gnutls }: stdenv.mkDerivation rec { - name = "taskwarrior-${version}"; + pname = "taskwarrior"; version = "2.5.1"; src = fetchurl { @@ -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/termdown/default.nix b/pkgs/applications/misc/termdown/default.nix index 65963f9aa34..94eacb1fe06 100644 --- a/pkgs/applications/misc/termdown/default.nix +++ b/pkgs/applications/misc/termdown/default.nix @@ -5,12 +5,12 @@ with stdenv.lib; buildPythonApplication rec { - name = "termdown-${version}"; - version = "1.14.1"; + pname = "termdown"; + version = "1.16.0"; src = fetchFromGitHub { rev = version; - sha256 = "0jgjzglna0gwp0j31l48pny69szslczl13aahwjfjypkv9lx8w2a"; + sha256 = "0k429ss1xifm9vbgyzpp71r79byn9jclvr0rm77bai2r8nz3s2vf"; repo = "termdown"; owner = "trehn"; }; diff --git a/pkgs/applications/misc/terminal-notifier/default.nix b/pkgs/applications/misc/terminal-notifier/default.nix index b05c8a80399..00300e65abb 100644 --- a/pkgs/applications/misc/terminal-notifier/default.nix +++ b/pkgs/applications/misc/terminal-notifier/default.nix @@ -1,7 +1,7 @@ -{ stdenv, lib, fetchzip }: +{ stdenv, runtimeShell, lib, fetchzip }: stdenv.mkDerivation rec { - name = "terminal-notifier-${version}"; + pname = "terminal-notifier"; version = "2.0.0"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cp -r terminal-notifier.app $out/Applications cat >$out/bin/terminal-notifier <= 0.55.0 + # Expected to be included in next release (16). + (fetchpatch { + url = "https://github.com/thestinger/termite/commit/7e9a93b421b9596f8980645a46ac2ad5468dac06.patch"; + sha256 = "0vph2m5919f7w1xnc8i6z0j44clsm1chxkfg7l71nahxyfw5yh4j"; + }) + ] ++ stdenv.lib.optional stdenv.isDarwin ./remove_ldflags_macos.patch; makeFlags = [ "VERSION=v${version}" "PREFIX=" "DESTDIR=$(out)" ]; @@ -36,7 +42,7 @@ stdenv.mkDerivation rec { description = "A simple VTE-based terminal"; license = licenses.lgpl2Plus; homepage = https://github.com/thestinger/termite/; - maintainers = with maintainers; [ koral garbas ]; + maintainers = with maintainers; [ koral ]; platforms = platforms.all; }; } diff --git a/pkgs/applications/misc/termite/wrapper.nix b/pkgs/applications/misc/termite/wrapper.nix index 0b12a905360..379223d9076 100644 --- a/pkgs/applications/misc/termite/wrapper.nix +++ b/pkgs/applications/misc/termite/wrapper.nix @@ -1,4 +1,4 @@ -{ makeWrapper, wrapGAppsHook, symlinkJoin, configFile ? null, termite }: +{ makeWrapper, symlinkJoin, configFile ? null, termite }: if configFile == null then termite else symlinkJoin { name = "termite-with-config-${termite.version}"; diff --git a/pkgs/applications/misc/teseq/default.nix b/pkgs/applications/misc/teseq/default.nix index 9502b3a0abe..b1764591982 100644 --- a/pkgs/applications/misc/teseq/default.nix +++ b/pkgs/applications/misc/teseq/default.nix @@ -4,7 +4,8 @@ let version = "1.1.1"; in stdenv.mkDerivation { - name = "teseq-${version}"; + pname = "teseq"; + inherit version; src = fetchurl { url = "mirror://gnu/teseq/teseq-${version}.tar.gz"; diff --git a/pkgs/applications/misc/thinking-rock/default.nix b/pkgs/applications/misc/thinking-rock/default.nix index ab9611326ca..c057fde95d7 100644 --- a/pkgs/applications/misc/thinking-rock/default.nix +++ b/pkgs/applications/misc/thinking-rock/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, runtimeShell }: stdenv.mkDerivation { name = "thinkingrock-binary-2.2.1"; @@ -11,7 +11,7 @@ stdenv.mkDerivation { /* it would be a really bad idea to put thinkingrock tr executable in PATH! the tr.sh script does use the coreutils tr itself That's why I've renamed the wrapper and called it thinkingrock - However you may not rename the bin/tr script cause it will notice and throw an + However you may not rename the bin/tr script cause it will notice and throw an "java.lang.IllegalArgumentException: Malformed branding token: thinkingrock" exception. I hope that's fine */ @@ -24,15 +24,15 @@ stdenv.mkDerivation { mkdir -p $out/{nix-support/tr-files,bin} cp -r . $out/nix-support/tr-files cat >> $out/bin/thinkingrock << EOF - #!${stdenv.shell} + #!${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 4172660182d..39f54156fef 100644 --- a/pkgs/applications/misc/tilda/default.nix +++ b/pkgs/applications/misc/tilda/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { - name = "tilda-${version}"; + pname = "tilda"; version = "1.4.1"; src = fetchzip { - url = "https://github.com/lanoxx/tilda/archive/${name}.tar.gz"; + url = "https://github.com/lanoxx/tilda/archive/${pname}-${version}.tar.gz"; sha256 = "154rsldqjv2m1bddisb930qicb0y35kx7bxq392n2hn68jr2pxkj"; }; diff --git a/pkgs/applications/misc/tilix/default.nix b/pkgs/applications/misc/tilix/default.nix index ab6ef329470..095681d136d 100644 --- a/pkgs/applications/misc/tilix/default.nix +++ b/pkgs/applications/misc/tilix/default.nix @@ -1,47 +1,85 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, dmd, gnome3, dbus -, gsettings-desktop-schemas, desktop-file-utils, gettext, gtkd, libsecret -, glib, perlPackages, wrapGAppsHook, xdg_utils }: +{ stdenv +, fetchFromGitHub +, fetchpatch +, meson +, ninja +, python3 +, pkgconfig +, dmd +, gnome3 +, dbus +, gsettings-desktop-schemas +, desktop-file-utils +, gettext +, gtkd +, libsecret +, glib +, wrapGAppsHook +, libunwind +, hicolor-icon-theme +}: stdenv.mkDerivation rec { pname = "tilix"; - version = "1.8.9"; + version = "unstable-2019-08-03"; src = fetchFromGitHub { owner = "gnunn1"; repo = "tilix"; - rev = version; - sha256 = "1l1ib3g01mxiywbwjxc2522qgjy3ymjzy8bxl42k0hprpp95rw9d"; + rev = "09ec4e8e113703ca795946d8d2a83091e7b741e4"; + sha256 = "1vvp6l25xygzhbhscg8scik8y59nl8a92ri024ijk0c0lclga05m"; }; + # Default upstream else LDC fails to link + mesonBuildType = [ + "debugoptimized" + ]; + nativeBuildInputs = [ - autoreconfHook dmd desktop-file-utils perlPackages.Po4a pkgconfig xdg_utils + desktop-file-utils + dmd + hicolor-icon-theme # for setup-hook + meson + ninja + pkgconfig + python3 wrapGAppsHook ]; - buildInputs = [ gnome3.dconf gettext gsettings-desktop-schemas gtkd dbus libsecret ]; - preBuild = '' - makeFlagsArray=( - DCFLAGS='-O -inline -release -version=StdLoggerDisableTrace' - ) - ''; + buildInputs = [ + dbus + gettext + gnome3.dconf + gsettings-desktop-schemas + gtkd + libsecret + libunwind + ]; - postInstall = '' - ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas + patches = [ + # Depends on libsecret optionally + # https://github.com/gnunn1/tilix/pull/1745 + (fetchpatch { + url = "https://github.com/gnunn1/tilix/commit/e38dd182bfb92419d70434926ef9c0530189aab8.patch"; + sha256 = "1ws4iyzi67crzlp9p7cw8jr752b3phcg5ymx5aj0bh6321g38kfk"; + }) + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py ''; 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 ''; meta = with stdenv.lib; { description = "Tiling terminal emulator following the Gnome Human Interface Guidelines"; homepage = https://gnunn1.github.io/tilix-web; license = licenses.mpl20; - maintainers = with maintainers; [ midchildan ]; + maintainers = with maintainers; [ midchildan worldofpeace ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/timewarrior/default.nix b/pkgs/applications/misc/timewarrior/default.nix index 4ca7a86e6f7..d0419c414d7 100644 --- a/pkgs/applications/misc/timewarrior/default.nix +++ b/pkgs/applications/misc/timewarrior/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, cmake }: stdenv.mkDerivation rec { - name = "timewarrior-${version}"; + pname = "timewarrior"; version = "1.1.1"; enableParallelBuilding = true; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { description = "A command-line time tracker"; 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 c70503cbff2..e612fb10ff8 100644 --- a/pkgs/applications/misc/tint2/default.nix +++ b/pkgs/applications/misc/tint2/default.nix @@ -5,14 +5,14 @@ }: stdenv.mkDerivation rec { - name = "tint2-${version}"; - version = "16.6.1"; + pname = "tint2"; + version = "16.7"; src = fetchFromGitLab { owner = "o9000"; repo = "tint2"; rev = version; - sha256 = "1h5bn4vi7gffwi4mpwpn0s6vxvl44rn3m9b23w8q9zyz9v24flz7"; + sha256 = "1937z0kixb6r82izj12jy4x8z4n96dfq1hx05vcsvsg1sx3wxgb0"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/misc/tmatrix/default.nix b/pkgs/applications/misc/tmatrix/default.nix new file mode 100644 index 00000000000..3ef0eac2417 --- /dev/null +++ b/pkgs/applications/misc/tmatrix/default.nix @@ -0,0 +1,35 @@ +{ stdenv, lib, fetchFromGitHub, cmake, ncurses }: + +stdenv.mkDerivation rec { + pname = "tmatrix"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "M4444"; + repo = "TMatrix"; + rev = "v${version}"; + sha256 = "1g0gn4p02vjc6l8lc78wlx4xkd74ha7ybx9fvvdr6mizk0cyjili"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ ncurses ]; + + postInstall = '' + mkdir -p $out/share/man/man6 + install -m 0644 ../tmatrix.6 $out/share/man/man6 + ''; + + meta = with lib; { + description = "Terminal based replica of the digital rain from The Matrix"; + longDescription = '' + TMatrix is a program that simulates the digital rain form The Matrix. + It's focused on being the most accurate replica of the digital rain effect + achievable on a typical terminal, while also being customizable and + performant. + ''; + homepage = "https://github.com/M4444/TMatrix"; + license = licenses.gpl2; + platforms = platforms.all; + maintainers = with maintainers; [ infinisil ]; + }; +} diff --git a/pkgs/applications/misc/tnef/default.nix b/pkgs/applications/misc/tnef/default.nix index 6cf1f27a104..cb70d57869c 100644 --- a/pkgs/applications/misc/tnef/default.nix +++ b/pkgs/applications/misc/tnef/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "1.4.17"; - name = "tnef-${version}"; + pname = "tnef"; src = fetchFromGitHub { owner = "verdammelt"; diff --git a/pkgs/applications/misc/todiff/default.nix b/pkgs/applications/misc/todiff/default.nix index 148d6b042f7..5bb2b5b9461 100644 --- a/pkgs/applications/misc/todiff/default.nix +++ b/pkgs/applications/misc/todiff/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "1y0v8nkaqb8kn61xwarpbyrq019gxx1f5f5p1hzw73nqxadc1rcm"; }; - cargoSha256 = "1r7l9zbw6kq8yb5cv6h0qgl2gp71bkn9xv7b2n49a5r7by98jjqr"; + cargoSha256 = "0xn5p71qk0ahd2drklja16xwv7zw0797kkzpiv563kffzvd1p8id"; checkPhase = "cargo test --features=integration_tests"; diff --git a/pkgs/applications/misc/todoist/default.nix b/pkgs/applications/misc/todoist/default.nix index abe1fda2344..d9dcee762cf 100644 --- a/pkgs/applications/misc/todoist/default.nix +++ b/pkgs/applications/misc/todoist/default.nix @@ -1,11 +1,9 @@ -{ lib, buildGoPackage, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub }: -buildGoPackage rec { - name = "todoist-${version}"; +buildGoModule rec { + pname = "todoist"; version = "0.13.1"; - goPackagePath = "github.com/sachaos/todoist"; - src = fetchFromGitHub { owner = "sachaos"; repo = "todoist"; @@ -13,7 +11,7 @@ buildGoPackage rec { sha256 = "1kwvlsjr2a7wdhlwpxxpdh87wz8k9yjwl59vl2g7ya6m0rvhd3mc"; }; - goDeps = ./deps.nix; + modSha256 = "09n6abyaqwz4zcdz8934rvpbxhp4v2nmm5v739kkcc98c3h93i64"; meta = { homepage = https://github.com/sachaos/todoist; diff --git a/pkgs/applications/misc/todoist/deps.nix b/pkgs/applications/misc/todoist/deps.nix deleted file mode 100644 index 9b132e29c77..00000000000 --- a/pkgs/applications/misc/todoist/deps.nix +++ /dev/null @@ -1,237 +0,0 @@ -# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix) -[ - { - goPackagePath = "github.com/BurntSushi/toml"; - fetch = { - type = "git"; - url = "https://github.com/BurntSushi/toml"; - rev = "v0.3.1"; - sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6"; - }; - } - { - goPackagePath = "github.com/davecgh/go-spew"; - fetch = { - type = "git"; - url = "https://github.com/davecgh/go-spew"; - rev = "v1.1.1"; - sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"; - }; - } - { - goPackagePath = "github.com/fatih/color"; - fetch = { - type = "git"; - url = "https://github.com/fatih/color"; - rev = "v1.7.0"; - sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv"; - }; - } - { - goPackagePath = "github.com/fsnotify/fsnotify"; - fetch = { - type = "git"; - url = "https://github.com/fsnotify/fsnotify"; - rev = "v1.4.7"; - sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; - }; - } - { - goPackagePath = "github.com/gofrs/uuid"; - fetch = { - type = "git"; - url = "https://github.com/gofrs/uuid"; - rev = "v3.2.0"; - sha256 = "1q63mp7bznhfgyw133c0wc0hpcj1cq9bcf7w1f8r6inkcrils1fz"; - }; - } - { - goPackagePath = "github.com/hashicorp/hcl"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/hcl"; - rev = "v1.0.0"; - sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66"; - }; - } - { - goPackagePath = "github.com/magiconair/properties"; - fetch = { - type = "git"; - url = "https://github.com/magiconair/properties"; - rev = "v1.8.0"; - sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn"; - }; - } - { - goPackagePath = "github.com/mattn/go-colorable"; - fetch = { - type = "git"; - url = "https://github.com/mattn/go-colorable"; - rev = "v0.0.9"; - sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx"; - }; - } - { - 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/mitchellh/go-homedir"; - fetch = { - type = "git"; - url = "https://github.com/mitchellh/go-homedir"; - rev = "v1.0.0"; - sha256 = "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq"; - }; - } - { - goPackagePath = "github.com/mitchellh/mapstructure"; - fetch = { - type = "git"; - url = "https://github.com/mitchellh/mapstructure"; - rev = "v1.0.0"; - sha256 = "0f06q4fpzg0c370cvmpsl0iq2apl5nkbz5cd3nba5x5ysmshv1lm"; - }; - } - { - goPackagePath = "github.com/pelletier/go-toml"; - fetch = { - type = "git"; - url = "https://github.com/pelletier/go-toml"; - rev = "v1.2.0"; - sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy"; - }; - } - { - goPackagePath = "github.com/pkg/browser"; - fetch = { - type = "git"; - url = "https://github.com/pkg/browser"; - rev = "0a3d74bf9ce4"; - sha256 = "0lv6kwvm31n79mh14a63zslaf4l9bspi2q0i8i9im4njfl42iv1c"; - }; - } - { - goPackagePath = "github.com/pmezard/go-difflib"; - fetch = { - type = "git"; - url = "https://github.com/pmezard/go-difflib"; - rev = "v1.0.0"; - sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; - }; - } - { - goPackagePath = "github.com/spf13/afero"; - fetch = { - type = "git"; - url = "https://github.com/spf13/afero"; - rev = "v1.1.2"; - sha256 = "0miv4faf5ihjfifb1zv6aia6f6ik7h1s4954kcb8n6ixzhx9ck6k"; - }; - } - { - goPackagePath = "github.com/spf13/cast"; - fetch = { - type = "git"; - url = "https://github.com/spf13/cast"; - rev = "v1.2.0"; - sha256 = "177bk7lq40jbgv9p9r80aydpaccfk8ja3a7jjhfwiwk9r1pa4rr2"; - }; - } - { - goPackagePath = "github.com/spf13/jwalterweatherman"; - fetch = { - type = "git"; - url = "https://github.com/spf13/jwalterweatherman"; - rev = "v1.0.0"; - sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8"; - }; - } - { - goPackagePath = "github.com/spf13/pflag"; - fetch = { - type = "git"; - url = "https://github.com/spf13/pflag"; - rev = "v1.0.2"; - sha256 = "005598piihl3l83a71ahj10cpq9pbhjck4xishx1b4dzc02r9xr2"; - }; - } - { - goPackagePath = "github.com/spf13/viper"; - fetch = { - type = "git"; - url = "https://github.com/spf13/viper"; - rev = "v1.2.1"; - sha256 = "0y7czxki8zhjhanh5ydnx4sf2darw70z2i5dskgarbk4gjmagx6k"; - }; - } - { - goPackagePath = "github.com/stretchr/testify"; - fetch = { - type = "git"; - url = "https://github.com/stretchr/testify"; - rev = "v1.2.2"; - sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs"; - }; - } - { - goPackagePath = "github.com/urfave/cli"; - fetch = { - type = "git"; - url = "https://github.com/urfave/cli"; - rev = "v1.20.0"; - sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj"; - }; - } - { - goPackagePath = "golang.org/x/sys"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sys"; - rev = "8cf3aee42992"; - sha256 = "1l2hyd5z91jzml5isn1i0g882pxbxk0x6ry5vdwghrprcx06syag"; - }; - } - { - goPackagePath = "golang.org/x/text"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/text"; - rev = "v0.3.0"; - sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; - }; - } - { - goPackagePath = "golang.org/x/tools"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/tools"; - rev = "77439c55185e"; - sha256 = "15f7yghpw9yn00s1k8czld8cm3kvjx5rzda2gfm8pq5542i8w9rs"; - }; - } - { - goPackagePath = "gopkg.in/check.v1"; - fetch = { - type = "git"; - url = "https://gopkg.in/check.v1"; - rev = "20d25e280405"; - sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np"; - }; - } - { - goPackagePath = "gopkg.in/yaml.v2"; - fetch = { - type = "git"; - url = "https://gopkg.in/yaml.v2"; - rev = "v2.2.1"; - sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; - }; - } -] diff --git a/pkgs/applications/misc/todolist/default.nix b/pkgs/applications/misc/todolist/default.nix index 122567de2e1..240ad6e5fca 100644 --- a/pkgs/applications/misc/todolist/default.nix +++ b/pkgs/applications/misc/todolist/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "todolist-${version}"; + pname = "todolist"; version = "v0.8.1"; goPackagePath = "github.com/gammons/todolist"; diff --git a/pkgs/applications/misc/toggldesktop/default.nix b/pkgs/applications/misc/toggldesktop/default.nix index b268bdd0962..bf22cb0181d 100644 --- a/pkgs/applications/misc/toggldesktop/default.nix +++ b/pkgs/applications/misc/toggldesktop/default.nix @@ -12,7 +12,7 @@ let }; bugsnag-qt = stdenv.mkDerivation rec { - name = "bugsnag-qt-${version}"; + pname = "bugsnag-qt"; version = "20180522.005732"; src = fetchzip { @@ -25,7 +25,7 @@ let }; qxtglobalshortcut = stdenv.mkDerivation rec { - name = "qxtglobalshortcut-${version}"; + pname = "qxtglobalshortcut"; version = "f584471dada2099ba06c574bdfdd8b078c2e3550"; src = fetchzip { @@ -38,7 +38,7 @@ let }; qt-oauth-lib = stdenv.mkDerivation rec { - name = "qt-oauth-lib-${version}"; + pname = "qt-oauth-lib"; version = "20190125.190943"; src = fetchzip { diff --git a/pkgs/applications/misc/tomboy/default.nix b/pkgs/applications/misc/tomboy/default.nix index ba6e97d61fb..d8a6f86f104 100644 --- a/pkgs/applications/misc/tomboy/default.nix +++ b/pkgs/applications/misc/tomboy/default.nix @@ -8,7 +8,8 @@ let in stdenv.mkDerivation { - name = "tomboy-${version}"; + pname = "tomboy"; + inherit version; src = fetchurl { url = "https://github.com/tomboy-notes/tomboy/releases/download/${version}/tomboy-${version}.tar.xz"; diff --git a/pkgs/applications/misc/toot/default.nix b/pkgs/applications/misc/toot/default.nix index c6ee7508890..df9ed897370 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.20.0"; + version = "0.22.0"; name = "toot-${version}"; src = fetchFromGitHub { owner = "ihabunek"; repo = "toot"; rev = "${version}"; - sha256 = "0s5i6fjip5kvvyb59yndi2rhgn962lr0g9b0pi5w2aqnv1mwjbfh"; + sha256 = "11dgz082shxpbsxr4i41as040cfqinm5lbcg3bmsxqvc4hsz2nr5"; }; 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 index 5a856a5f2b2..413f082fb22 100644 --- a/pkgs/applications/misc/tootle/default.nix +++ b/pkgs/applications/misc/tootle/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub -, meson, ninja, pkgconfig, python3 +, meson, ninja, pkgconfig, python3, libgee, gsettings-desktop-schemas , gnome3, pantheon, gobject-introspection, wrapGAppsHook , gtk3, json-glib, glib, glib-networking, hicolor-icon-theme }: @@ -28,7 +28,7 @@ in stdenv.mkDerivation rec { ]; buildInputs = [ gtk3 pantheon.granite json-glib glib glib-networking hicolor-icon-theme - gnome3.libgee gnome3.libsoup gnome3.gsettings-desktop-schemas + libgee gnome3.libsoup gsettings-desktop-schemas ]; postPatch = '' diff --git a/pkgs/applications/misc/topydo/default.nix b/pkgs/applications/misc/topydo/default.nix index 34952b9c0f4..eb3894c7b47 100644 --- a/pkgs/applications/misc/topydo/default.nix +++ b/pkgs/applications/misc/topydo/default.nix @@ -5,7 +5,6 @@ with python3Packages; buildPythonApplication rec { pname = "topydo"; version = "0.13"; - name = "${pname}-${version}"; src = fetchFromGitHub { owner = "bram85"; diff --git a/pkgs/applications/misc/tpmmanager/default.nix b/pkgs/applications/misc/tpmmanager/default.nix index 09322b47506..b955711d003 100644 --- a/pkgs/applications/misc/tpmmanager/default.nix +++ b/pkgs/applications/misc/tpmmanager/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "0.8.1"; - name = "tpmmanager-${version}"; + pname = "tpmmanager"; src = fetchgit { url = "https://github.com/Sirrix-AG/TPMManager"; diff --git a/pkgs/applications/misc/translate-shell/default.nix b/pkgs/applications/misc/translate-shell/default.nix index 5d50238a9f0..a2f6980abd9 100644 --- a/pkgs/applications/misc/translate-shell/default.nix +++ b/pkgs/applications/misc/translate-shell/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, makeWrapper, curl, fribidi, rlwrap, gawk, groff, ncurses }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "translate-shell"; - version = "0.9.6.9"; + version = "0.9.6.11"; src = fetchFromGitHub { owner = "soimort"; repo = "translate-shell"; rev = "v${version}"; - sha256 = "1xyf0vdxmbgqcgsr1gvgwh1q4fh080h68radkim6pfcwzffliszm"; + sha256 = "137fz3ahzf65hfqcs4k7hhrmfjlhlw7wr3gfsvk88bnyqkyw44sm"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/misc/tthsum/default.nix b/pkgs/applications/misc/tthsum/default.nix index 66bfcbcf4d9..76ac3f75b26 100644 --- a/pkgs/applications/misc/tthsum/default.nix +++ b/pkgs/applications/misc/tthsum/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "tthsum-${version}"; + pname = "tthsum"; version = "1.3.2"; src = fetchurl { @@ -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/tzupdate/default.nix b/pkgs/applications/misc/tzupdate/default.nix index a5d2f206f3a..ae418544132 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.3.1"; + version = "1.5.0"; src = fetchPypi { inherit pname version; - sha256 = "085kp4v9ijhkfvr0r5rzn4z7nrkb2qig05j0bajb0gkgynwf8wnz"; + sha256 = "13np40h64bgkcj10qw6f4nb51p47bb20fd6pzxq8xbr645a4d34m"; }; propagatedBuildInputs = [ requests ]; diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix index 5d96918e42d..459104aba63 100644 --- a/pkgs/applications/misc/udiskie/default.nix +++ b/pkgs/applications/misc/udiskie/default.nix @@ -1,33 +1,41 @@ { stdenv, fetchFromGitHub, asciidoc-full, gettext , 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 - librsvg # required for loading svg icons (udiskie uses svg icons) ]; - propagatedBuildInputs = [ - gettext gobject-introspection gtk3 libnotify docopt - pygobject3 pyyaml udisks2 libappindicator-gtk3 + buildInputs = [ + hicolor-icon-theme + librsvg # required for loading svg icons (udiskie uses svg icons) + gobject-introspection + libnotify + gtk3 + 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/ulauncher/default.nix b/pkgs/applications/misc/ulauncher/default.nix new file mode 100644 index 00000000000..3db6f6ae565 --- /dev/null +++ b/pkgs/applications/misc/ulauncher/default.nix @@ -0,0 +1,105 @@ +{ stdenv +, fetchurl +, python27Packages +, gnome3 +, gobject-introspection +, wrapGAppsHook +, webkitgtk +, libnotify +, keybinder3 +, libappindicator +, intltool +, wmctrl +, hicolor-icon-theme +, xvfb_run +}: + +python27Packages.buildPythonApplication rec { + pname = "ulauncher"; + version = "4.4.0.r1"; + + # Python 3 support is currently in development + # on the dev branch and 5.x.x releases + disabled = ! python27Packages.isPy27; + + src = fetchurl { + url = "https://github.com/Ulauncher/Ulauncher/releases/download/${version}/ulauncher_${version}.tar.gz"; + sha256 = "12v7qpjhf0842ivsfflsl2zlvhiaw25f9ffv7vhnkvrhrmksim9f"; + }; + + nativeBuildInputs = with python27Packages; [ + distutils_extra + intltool + wrapGAppsHook + ]; + + buildInputs = [ + gnome3.adwaita-icon-theme + gobject-introspection + hicolor-icon-theme + keybinder3 + libappindicator + libnotify + webkitgtk + wmctrl + ]; + + propagatedBuildInputs = with python27Packages; [ + dbus-python + notify + pygobject3 + pyinotify + pysqlite + python-Levenshtein + pyxdg + websocket_client + ]; + + checkInputs = with python27Packages; [ + mock + pytest + pytest-mock + pytestpep8 + xvfb_run + ]; + + patches = [ + ./fix-path.patch + ]; + + postPatch = '' + substituteInPlace setup.py --subst-var out + ''; + + # https://github.com/Ulauncher/Ulauncher/issues/390 + doCheck = false; + + preCheck = '' + export PYTHONPATH=$PYTHONPATH:$out/${python27Packages.python.sitePackages} + ''; + + # Simple translation of + # - https://github.com/Ulauncher/Ulauncher/blob/f5a601bdca75198a6a31b9d84433496b63530e74/test + checkPhase = '' + runHook preCheck + + # skip tests in invocation that handle paths that + # aren't nix friendly (i think) + xvfb-run -s '-screen 0 1024x768x16' \ + pytest -k 'not TestPath and not test_handle_key_press_event' --pep8 tests + + runHook postCheck + ''; + + preFixup = '' + gappsWrapperArgs+=(--prefix PATH : "${stdenv.lib.makeBinPath [ wmctrl ]}") + ''; + + meta = with stdenv.lib; { + description = "A fast application launcher for Linux, written in Python, using GTK"; + homepage = https://ulauncher.io/; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ aaronjanse worldofpeace ]; + }; +} diff --git a/pkgs/applications/misc/ulauncher/fix-path.patch b/pkgs/applications/misc/ulauncher/fix-path.patch new file mode 100644 index 00000000000..2936df65194 --- /dev/null +++ b/pkgs/applications/misc/ulauncher/fix-path.patch @@ -0,0 +1,13 @@ +diff --git a/setup.py b/setup.py +index 3616104..e9bbfda 100755 +--- a/setup.py ++++ b/setup.py +@@ -112,7 +112,7 @@ class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto): + DistUtilsExtra.auto.install_auto.run(self) + + target_data = '/' + os.path.relpath(self.install_data, self.root) + '/' +- target_pkgdata = target_data + 'share/ulauncher/' ++ target_pkgdata = '@out@/share/ulauncher/' + target_scripts = '/' + os.path.relpath(self.install_scripts, + self.root) + '/' + diff --git a/pkgs/applications/misc/urlscan/default.nix b/pkgs/applications/misc/urlscan/default.nix index 43861d9f60a..87800cf90d6 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.9.2"; + version = "0.9.3"; src = fetchFromGitHub { owner = "firecat53"; repo = pname; rev = version; - sha256 = "16cc1vvvhylrl9208d253k11rqzi95mg7hrf7xbd0bqxvd6rmxar"; + sha256 = "0z24k8sk2zfp2pwysyp844vmhr5vbkj74frwy4i0v5pj60i9jl0v"; }; propagatedBuildInputs = [ python3Packages.urwid ]; diff --git a/pkgs/applications/misc/usync/default.nix b/pkgs/applications/misc/usync/default.nix index d12120ca2f1..344c07d845b 100644 --- a/pkgs/applications/misc/usync/default.nix +++ b/pkgs/applications/misc/usync/default.nix @@ -3,7 +3,6 @@ stdenv.mkDerivation rec { pname = "usync"; version = "0.0.3"; - name = "${pname}-${version}"; src = fetchFromGitHub { owner = "ebzzry"; diff --git a/pkgs/applications/misc/valentina/default.nix b/pkgs/applications/misc/valentina/default.nix index 6752b0182fe..5a12465c4c4 100644 --- a/pkgs/applications/misc/valentina/default.nix +++ b/pkgs/applications/misc/valentina/default.nix @@ -7,7 +7,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "valentina-${version}"; + pname = "valentina"; version = "0.6.1"; src = fetchhg { diff --git a/pkgs/applications/misc/vcal/default.nix b/pkgs/applications/misc/vcal/default.nix index 7649785524f..b25e7f76cef 100644 --- a/pkgs/applications/misc/vcal/default.nix +++ b/pkgs/applications/misc/vcal/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, perl }: stdenv.mkDerivation rec { - name = "vcal-${version}"; + pname = "vcal"; version = "2.8"; src = fetchurl { @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl ]; # for pod2man - unpackPhase = ":"; + dontUnpack = true; dontBuild = true; installPhase = '' runHook preInstall diff --git a/pkgs/applications/misc/veracrypt/default.nix b/pkgs/applications/misc/veracrypt/default.nix index 8b64bcca667..9639cee2d8c 100644 --- a/pkgs/applications/misc/veracrypt/default.nix +++ b/pkgs/applications/misc/veracrypt/default.nix @@ -1,21 +1,21 @@ -{ stdenv, fetchurl, pkgconfig, makeself, yasm, fuse, wxGTK, lvm2 }: +{ stdenv, fetchurl, pkgconfig, makeself, yasm, fuse, unzip, wxGTK, lvm2 }: with stdenv.lib; stdenv.mkDerivation rec { pname = "veracrypt"; - name = "${pname}-${version}"; version = "1.23"; + minorVersion = "-Hotfix-2"; src = fetchurl { - url = "https://launchpad.net/${pname}/trunk/${version}/+download/VeraCrypt_${version}_Source.tar.bz2"; - sha256 = "009lqi43n2w272sxv7y7dz9sqx15qkx6lszkswr8mwmkpgkm0px1"; + url = "https://launchpad.net/${pname}/trunk/${version}/+download/VeraCrypt_${version}${minorVersion}_Source.zip"; + sha256 = "229de81b2478cfa5fa73e74e60798a298cd616e9852b9f47b484c80bc2a2c259"; }; sourceRoot = "src"; nativeBuildInputs = [ makeself pkgconfig yasm ]; - buildInputs = [ fuse lvm2 wxGTK ]; + buildInputs = [ fuse lvm2 unzip wxGTK ]; enableParallelBuilding = true; diff --git a/pkgs/applications/misc/verbiste/default.nix b/pkgs/applications/misc/verbiste/default.nix index f23862c63cd..b6a8b567a50 100644 --- a/pkgs/applications/misc/verbiste/default.nix +++ b/pkgs/applications/misc/verbiste/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, pkgconfig, libgnomeui, libxml2 }: stdenv.mkDerivation rec { - name = "verbiste-${version}"; + pname = "verbiste"; - version = "0.1.45"; + version = "0.1.46"; src = fetchurl { - url = "https://perso.b2b2c.ca/~sarrazip/dev/${name}.tar.gz"; - sha256 = "180zyhdjspp7lk2291wsqs6bm7y27r7bd00447iimmjpx372s22c"; + url = "https://perso.b2b2c.ca/~sarrazip/dev/${pname}-${version}.tar.gz"; + sha256 = "13l8b8mbkdds955sn42hzrjzj48lg1drpd7vhpcjxadckbvlh1p0"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix index c568a056514..81563254abd 100644 --- a/pkgs/applications/misc/vifm/default.nix +++ b/pkgs/applications/misc/vifm/default.nix @@ -5,12 +5,12 @@ }: stdenv.mkDerivation rec { - name = "vifm-${version}"; - version = "0.10"; + pname = "vifm"; + version = "0.10.1"; src = fetchurl { url = "https://github.com/vifm/vifm/releases/download/v${version}/vifm-${version}.tar.bz2"; - sha256 = "1f380xcyjnm4xmcdazs6dj064bwddhywvn3mgm36k7r7b2gnjnp0"; + sha256 = "0fyhxh7ndjn8fyjhj14ymkr3pjcs3k1xbs43g7xvvq85vdb6y04r"; }; nativeBuildInputs = [ pkgconfig ]; @@ -18,8 +18,8 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A vi-like file manager"; - maintainers = with maintainers; [ raskin garbas ]; - platforms = platforms.linux; + maintainers = with maintainers; [ raskin ]; + platforms = platforms.unix; license = licenses.gpl2; downloadPage = "https://vifm.info/downloads.shtml"; homepage = https://vifm.info/; diff --git a/pkgs/applications/misc/viking/default.nix b/pkgs/applications/misc/viking/default.nix index b7d0b330e85..cda3b1a6f85 100644 --- a/pkgs/applications/misc/viking/default.nix +++ b/pkgs/applications/misc/viking/default.nix @@ -1,19 +1,21 @@ { fetchurl, stdenv, makeWrapper, pkgconfig, intltool, gettext, gtk2, expat, curl , gpsd, bc, file, gnome-doc-utils, libexif, libxml2, libxslt, scrollkeeper -, docbook_xml_dtd_412, gexiv2, sqlite, gpsbabel, expect, hicolor-icon-theme }: +, docbook_xml_dtd_412, gexiv2, sqlite, gpsbabel, expect, hicolor-icon-theme +, geoclue2, liboauth }: stdenv.mkDerivation rec { - name = "viking-${version}"; - version = "1.6.2"; + pname = "viking"; + version = "1.7"; src = fetchurl { url = "mirror://sourceforge/viking/viking/viking-${version}.tar.bz2"; - sha256 = "09kq0sxs2czps0d6xzgkkp41746v44ip63m72qvfs7rsrnqj7qnz"; + sha256 = "092q2dv0rcz12nh2js1z1ralib1553dmzy9pdrvz9nv2vf61wybw"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ makeWrapper intltool gettext gtk2 expat curl gpsd bc file gnome-doc-utils libexif libxml2 libxslt scrollkeeper docbook_xml_dtd_412 gexiv2 sqlite hicolor-icon-theme + geoclue2 liboauth ]; configureFlags = [ "--disable-scrollkeeper --disable-mapnik" ]; diff --git a/pkgs/applications/misc/visidata/default.nix b/pkgs/applications/misc/visidata/default.nix index 5ebc98b5712..64645e00bd8 100644 --- a/pkgs/applications/misc/visidata/default.nix +++ b/pkgs/applications/misc/visidata/default.nix @@ -2,7 +2,6 @@ , dateutil, pyyaml, openpyxl, xlrd, h5py, fonttools, lxml, pandas, pyshp }: buildPythonApplication rec { - name = "${pname}-${version}"; pname = "visidata"; version = "1.5.2"; diff --git a/pkgs/applications/misc/vit/default.nix b/pkgs/applications/misc/vit/default.nix index 40a399247e9..3eb797f182e 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/volnoti/default.nix b/pkgs/applications/misc/volnoti/default.nix index 166811fb4ae..e482e7e7c02 100644 --- a/pkgs/applications/misc/volnoti/default.nix +++ b/pkgs/applications/misc/volnoti/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchFromGitHub, fetchpatch -, pkgconfig, dbus, gdk_pixbuf, glib, libX11, gtk2, librsvg +, pkgconfig, dbus, gdk-pixbuf, glib, libX11, gtk2, librsvg , dbus-glib, autoreconfHook, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "volnoti-unstable-${version}"; + pname = "volnoti-unstable"; version = "2013-09-23"; src = fetchFromGitHub { @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig autoreconfHook wrapGAppsHook ]; buildInputs = [ - dbus gdk_pixbuf glib libX11 gtk2 dbus-glib librsvg + dbus gdk-pixbuf glib libX11 gtk2 dbus-glib librsvg ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/vp/default.nix b/pkgs/applications/misc/vp/default.nix index e794b82e2f6..a59a25a144e 100644 --- a/pkgs/applications/misc/vp/default.nix +++ b/pkgs/applications/misc/vp/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, autoreconfHook, SDL, SDL_image }: stdenv.mkDerivation rec { - name = "vp-${version}"; + pname = "vp"; version = "1.8"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/vue/default.nix b/pkgs/applications/misc/vue/default.nix index a448d35485a..d6404ca6596 100644 --- a/pkgs/applications/misc/vue/default.nix +++ b/pkgs/applications/misc/vue/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchurl, jre }: +{ stdenv, fetchurl, jre, runtimeShell }: stdenv.mkDerivation rec { - name = "vue-${version}"; + pname = "vue"; version = "3.3.0"; src = fetchurl { url = "http://releases.atech.tufts.edu/jenkins/job/VUE/116/deployedArtifacts/download/artifact.1"; @@ -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/vym/default.nix b/pkgs/applications/misc/vym/default.nix index 48818ca3b8b..6dfe8e713c6 100644 --- a/pkgs/applications/misc/vym/default.nix +++ b/pkgs/applications/misc/vym/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, qmake, qtsvg }: stdenv.mkDerivation rec { - name = "vym-${version}"; + pname = "vym"; version = "2.6.11"; src = fetchurl { - url = "mirror://sourceforge/project/vym/2.6.0/${name}.tar.bz2"; + url = "mirror://sourceforge/project/vym/2.6.0/${pname}-${version}.tar.bz2"; sha256 = "1yznlb47jahd662a2blgh1ccwpl5dp5rjz9chsxjzhj3vbkzx3nl"; }; diff --git a/pkgs/applications/misc/waybar/default.nix b/pkgs/applications/misc/waybar/default.nix new file mode 100644 index 00000000000..002bdef7333 --- /dev/null +++ b/pkgs/applications/misc/waybar/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchFromGitHub, meson, pkgconfig, ninja +, wayland, wlroots, gtkmm3, libinput, libsigcxx, jsoncpp, fmt, scdoc, spdlog +, traySupport ? true, libdbusmenu-gtk3 +, pulseSupport ? false, libpulseaudio +, nlSupport ? true, libnl +, udevSupport ? true, udev +, swaySupport ? true, sway +, mpdSupport ? true, mpd_clientlib +}: + stdenv.mkDerivation rec { + pname = "waybar"; + version = "0.8.0"; + + src = fetchFromGitHub { + owner = "Alexays"; + repo = "Waybar"; + rev = version; + sha256 = "0s8ck7qxka0l91ayma6amp9sc8cidi43byqgzcavi3a6id983r1z"; + }; + + nativeBuildInputs = [ + meson ninja pkgconfig scdoc + ]; + + buildInputs = with stdenv.lib; + [ wayland wlroots gtkmm3 libinput libsigcxx jsoncpp fmt spdlog ] + ++ optional traySupport libdbusmenu-gtk3 + ++ optional pulseSupport libpulseaudio + ++ optional nlSupport libnl + ++ optional udevSupport udev + ++ optional swaySupport sway + ++ optional mpdSupport mpd_clientlib; + + mesonFlags = (stdenv.lib.mapAttrsToList + (option: enable: "-D${option}=${if enable then "enabled" else "disabled"}") + { + dbusmenu-gtk = traySupport; + pulseaudio = pulseSupport; + libnl = nlSupport; + libudev = udevSupport; + mpd = mpdSupport; + } + ) ++ [ + "-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 synthetica ]; + platforms = platforms.unix; + }; + } diff --git a/pkgs/applications/misc/wcalc/default.nix b/pkgs/applications/misc/wcalc/default.nix index 1c6dc8f63c2..ff770f516bc 100644 --- a/pkgs/applications/misc/wcalc/default.nix +++ b/pkgs/applications/misc/wcalc/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, mpfr, readline }: stdenv.mkDerivation rec { - name = "wcalc-${version}"; + pname = "wcalc"; version = "2.5"; src = fetchurl { - url = "mirror://sourceforge/w-calc/${name}.tar.bz2"; + url = "mirror://sourceforge/w-calc/${pname}-${version}.tar.bz2"; sha256 = "1vi8dl6rccqiq1apmpwawyg2ywx6a1ic1d3cvkf2hlwk1z11fb0f"; }; diff --git a/pkgs/applications/misc/weather/default.nix b/pkgs/applications/misc/weather/default.nix index 544c1252ff4..2748d576c69 100644 --- a/pkgs/applications/misc/weather/default.nix +++ b/pkgs/applications/misc/weather/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "2.3"; - name = "weather-${version}"; + pname = "weather"; src = fetchurl { - url = "http://fungi.yuggoth.org/weather/src/${name}.tar.xz"; + url = "http://fungi.yuggoth.org/weather/src/${pname}-${version}.tar.xz"; sha256 = "0inij30prqqcmzjwcmfzjjn0ya5klv18qmajgxipz1jr3lpqs546"; }; @@ -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/web-media-controller/default.nix b/pkgs/applications/misc/web-media-controller/default.nix new file mode 100644 index 00000000000..6ed2ff10aaa --- /dev/null +++ b/pkgs/applications/misc/web-media-controller/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, glib, pcre, json-glib }: + +stdenv.mkDerivation rec { + pname = "wmc-mpris"; + version = "unstable-2019-07-24"; + + src = fetchFromGitHub { + owner = "f1u77y"; + repo = pname; + rev = "3b92847c576662732984ad791d6c7899a39f7787"; + sha256 = "0q19z0zx53pd237x529rif21kliklwzjrdddx8jfr9hgghjv9giq"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + buildInputs = [ glib pcre json-glib ]; + cmakeFlags = [ + "-DCHROMIUM_MANIFEST_DESTINATION=${placeholder ''out''}/etc/chromium/native-messaging-hosts" + "-DCHROME_MANIFEST_DESTINATION=${placeholder ''out''}/etc/opt/chrome/native-messaging-hosts" + "-DFIREFOX_MANIFEST_DESTINATION=${placeholder ''out''}/lib/mozilla/native-messaging-hosts" + ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/f1u77y/wmc-mpris"; + description = "MPRIS proxy for usage with 'Web Media Controller' web extension"; + license = licenses.unlicense; + maintainers = with maintainers; [ doronbehar ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/misc/wego/default.nix b/pkgs/applications/misc/wego/default.nix index a3d3ace009e..03f3caa4c15 100644 --- a/pkgs/applications/misc/wego/default.nix +++ b/pkgs/applications/misc/wego/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchgit }: buildGoPackage rec { - name = "wego-${version}"; + pname = "wego"; version = "20170403-${stdenv.lib.strings.substring 0 7 rev}"; rev = "415efdfab5d5ee68300bf261a0c6f630c6c2584c"; diff --git a/pkgs/applications/misc/wikicurses/default.nix b/pkgs/applications/misc/wikicurses/default.nix index d8628b794d7..d38383c30ec 100644 --- a/pkgs/applications/misc/wikicurses/default.nix +++ b/pkgs/applications/misc/wikicurses/default.nix @@ -2,7 +2,7 @@ pythonPackages.buildPythonApplication rec { version = "1.4"; - name = "wikicurses-${version}"; + pname = "wikicurses"; src = fetchFromGitHub { owner = "ids1024"; diff --git a/pkgs/applications/misc/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix index 5d153a0e417..5a1093b4779 100644 --- a/pkgs/applications/misc/wordnet/default.nix +++ b/pkgs/applications/misc/wordnet/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "3.0"; - name = "wordnet-${version}"; + pname = "wordnet"; src = fetchurl { url = "http://wordnetcode.princeton.edu/${version}/WordNet-${version}.tar.bz2"; sha256 = "08pgjvd2vvmqk3h641x63nxp7wqimb9r30889mkyfh2agc62sjbc"; diff --git a/pkgs/applications/misc/worker/default.nix b/pkgs/applications/misc/worker/default.nix index f9267411dda..e5b89ff43b5 100644 --- a/pkgs/applications/misc/worker/default.nix +++ b/pkgs/applications/misc/worker/default.nix @@ -1,12 +1,12 @@ { stdenv, libX11, fetchurl }: stdenv.mkDerivation rec { - name = "worker-${version}"; - version = "3.15.2"; + pname = "worker"; + version = "4.0.1"; src = fetchurl { - url = "http://www.boomerangsworld.de/cms/worker/downloads/${name}.tar.gz"; - sha256 = "0km17ls51vp4nxlppf58vvxxymyx6w3xlzjc8wghxpjj098v4pp8"; + url = "http://www.boomerangsworld.de/cms/worker/downloads/${pname}-${version}.tar.gz"; + sha256 = "1mwkyak68bsxgff399xmr7bb3hxl0r976b90zi7jrzznwlvxx7vh"; }; buildInputs = [ libX11 ]; diff --git a/pkgs/applications/misc/workrave/default.nix b/pkgs/applications/misc/workrave/default.nix index 7e54f943856..a3c9d735ff8 100644 --- a/pkgs/applications/misc/workrave/default.nix +++ b/pkgs/applications/misc/workrave/default.nix @@ -6,12 +6,12 @@ , gst-plugins-good, libsigcxx }: stdenv.mkDerivation rec { - name = "workrave-${version}"; - version = "1.10.23"; + pname = "workrave"; + version = "1.10.31"; src = let in fetchFromGitHub { - sha256 = "1qhlwfhwk5agv4904d6bsf83k9k89q7bms6agg967vsca4905vcw"; + sha256 = "0v2mx2idaxlsyv5w66b7pknlill9j9i2gqcs3vq54gak7ix9fj1p"; rev = with stdenv.lib; "v" + concatStringsSep "_" (splitString "." version); repo = "workrave"; diff --git a/pkgs/applications/misc/wtf/default.nix b/pkgs/applications/misc/wtf/default.nix index a01cef9227b..52462d1c1f3 100644 --- a/pkgs/applications/misc/wtf/default.nix +++ b/pkgs/applications/misc/wtf/default.nix @@ -1,26 +1,35 @@ -{ buildGoPackage +{ buildGoModule , fetchFromGitHub , lib }: -buildGoPackage rec { - name = "wtf-${version}"; - version = "0.4.0"; - - goPackagePath = "github.com/senorprogrammer/wtf"; +buildGoModule rec { + pname = "wtf"; + version = "0.20.0"; src = fetchFromGitHub { - owner = "senorprogrammer"; - repo = "wtf"; - rev = "${version}"; - sha256 = "1vgjqmw27baiq9brmnafic3w3hw11p5qc6ahbdxi5n5n4bx7j6vn"; + owner = "wtfutil"; + repo = pname; + rev = "v${version}"; + sha256 = "03k3x3fnxz23b75n5x8mlr6srr063q3dwq05wh55b4bgqsf7lgzd"; }; - buildFlagsArray = [ "-ldflags=" "-X main.version=${version}" ]; + modSha256 = "1nqnjpkrjbb75yfbzh3v3vc4xy5a2aqm9jr40hwq589a4l9p5pw2"; + + buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ]; + + # As per https://github.com/wtfutil/wtf/issues/501, one of the + # dependencies can't be fetched, so vendored dependencies should + # be used instead + modBuildPhase = '' + runHook preBuild + make build -mod=vendor + runHook postBuild + ''; meta = with lib; { description = "The personal information dashboard for your terminal"; - homepage = http://wtfutil.com/; + homepage = "https://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 969661ea7b4..4086c0e094a 100644 --- a/pkgs/applications/misc/xastir/default.nix +++ b/pkgs/applications/misc/xastir/default.nix @@ -1,23 +1,23 @@ { stdenv, fetchFromGitHub, autoreconfHook -, curl, db, gdal, libgeotiff +, curl, db, libgeotiff , libXpm, libXt, motif, pcre , perl, proj, rastermagick, shapelib }: stdenv.mkDerivation rec { pname = "xastir"; - version = "2.1.0"; + version = "2.1.4"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "Release-${version}"; - sha256 = "16zsgy3589snawr8f1fa22ymvpnjy6njvxmsck7q8p2xmmz2ry7r"; + sha256 = "14f908jy5jzvgm1h1sr47hjqjq3q2nq91byhimk84kj044fn21w9"; }; buildInputs = [ autoreconfHook - curl db gdal libgeotiff + curl db libgeotiff libXpm libXt motif pcre perl proj rastermagick shapelib ]; diff --git a/pkgs/applications/misc/xautoclick/default.nix b/pkgs/applications/misc/xautoclick/default.nix index bf3d9b737a9..9040bb4318d 100644 --- a/pkgs/applications/misc/xautoclick/default.nix +++ b/pkgs/applications/misc/xautoclick/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { version = "0.31"; - name = "xautoclick-${version}"; + pname = "xautoclick"; src = fetchurl { url = "mirror://sourceforge/project/xautoclick/xautoclick/xautoclick-0.31/xautoclick-0.31.tar.gz"; sha256 = "0h522f12a7v2b89411xm51iwixmjp2mp90rnizjgiakx9ajnmqnm"; diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix index 280b3012872..8c5a2e3d2db 100644 --- a/pkgs/applications/misc/xca/default.nix +++ b/pkgs/applications/misc/xca/default.nix @@ -2,7 +2,7 @@ , libtool, openssl, qtbase, qttools }: mkDerivation rec { - name = "xca-${version}"; + pname = "xca"; version = "2.1.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/xcruiser/default.nix b/pkgs/applications/misc/xcruiser/default.nix index 945072ce026..8875c95fe57 100644 --- a/pkgs/applications/misc/xcruiser/default.nix +++ b/pkgs/applications/misc/xcruiser/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gccmakedep, xorg, imake, libXt, libXaw, libXpm, libXext }: +{ stdenv, fetchurl, gccmakedep, imake, libXt, libXaw, libXpm, libXext }: stdenv.mkDerivation { name = "xcruiser-0.30"; diff --git a/pkgs/applications/misc/xdgmenumaker/default.nix b/pkgs/applications/misc/xdgmenumaker/default.nix index ed7f2b27c38..b7f8cfce2fb 100644 --- a/pkgs/applications/misc/xdgmenumaker/default.nix +++ b/pkgs/applications/misc/xdgmenumaker/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, txt2tags, python2Packages }: stdenv.mkDerivation rec { - name = "xdgmenumaker-${version}"; + pname = "xdgmenumaker"; version = "1.5"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/xiphos/default.nix b/pkgs/applications/misc/xiphos/default.nix index 7148caf35d3..b7c6f938b19 100644 --- a/pkgs/applications/misc/xiphos/default.nix +++ b/pkgs/applications/misc/xiphos/default.nix @@ -13,7 +13,7 @@ }: stdenv.mkDerivation rec { - name = "xiphos-${version}"; + pname = "xiphos"; version = "4.0.7"; src = fetchFromGitHub { @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { export SWORD_HOME=${sword}; ''; - configureFlags= [ "--enable-webkit2" ]; + 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 index 3023e830dc7..d6709ecc1a6 100644 --- a/pkgs/applications/misc/xkbd/default.nix +++ b/pkgs/applications/misc/xkbd/default.nix @@ -3,13 +3,13 @@ }: stdenv.mkDerivation rec { - name = "xkbd-${version}"; + pname = "xkbd"; version = "0.8.18"; src = fetchFromGitHub { owner = "mahatma-kaganovich"; repo = "xkbd"; - rev = name; + rev = "${pname}-${version}"; sha256 = "05ry6q75jq545kf6p20nhfywaqf2wdkfiyp6iwdpv9jh238hf7m9"; }; diff --git a/pkgs/applications/misc/xkblayout-state/default.nix b/pkgs/applications/misc/xkblayout-state/default.nix index 3f3865d7688..abc808477a3 100644 --- a/pkgs/applications/misc/xkblayout-state/default.nix +++ b/pkgs/applications/misc/xkblayout-state/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchurl, qt4 }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "xkblayout-state"; version = "1b"; diff --git a/pkgs/applications/misc/xkbmon/default.nix b/pkgs/applications/misc/xkbmon/default.nix index 4fa1c833df5..dc618e4561e 100644 --- a/pkgs/applications/misc/xkbmon/default.nix +++ b/pkgs/applications/misc/xkbmon/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, libX11 }: stdenv.mkDerivation rec { - name = "xkbmon-${version}"; + pname = "xkbmon"; version = "0.3"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/xmind/default.nix b/pkgs/applications/misc/xmind/default.nix index a12f3dc304b..c673002fb51 100644 --- a/pkgs/applications/misc/xmind/default.nix +++ b/pkgs/applications/misc/xmind/default.nix @@ -1,20 +1,23 @@ -{ stdenv, lib, dpkg, fetchurl, gtk2, jre, libXtst, makeWrapper }: +{ stdenv, lib, fetchzip, fetchurl, gtk2, jre, libXtst, makeWrapper, makeDesktopItem, runtimeShell }: stdenv.mkDerivation rec { - name = "xmind-${version}"; - version = "7.5-update1"; + pname = "xmind"; + version = "8-update8"; - 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.hostPlatform.system == "x86_64-linux" then fetchurl { - url = "http://dl2.xmind.net/xmind-downloads/${name}-linux_amd64.deb"; - sha256 = "1j2ynhk7p3m3vd6c4mjwpnlzqgfj5c4q3zydab3nfwncwx6gaqj9"; - } else throw "platform ${stdenv.hostPlatform.system} not supported!"; + src = fetchzip { + url = "https://xmind.net/xmind/downloads/${pname}-${version}-linux.zip"; + stripRoot = false; + sha256 = "1p68z0b4brgiyybz190alqv716ncql49vsksm41y90mcjd8s4jhn"; + }; - nativeBuildInputs = [ dpkg makeWrapper ]; + srcIcon = fetchurl { + url = "https://aur.archlinux.org/cgit/aur.git/plain/xmind.png?h=xmind"; + sha256 = "0jxq2fiq69q9ly0m6hx2qfybqad22sl42ciw636071khpqgc885f"; + }; - unpackCmd = "mkdir root ; dpkg-deb -x $curSrc root"; + patches = [ ./java-env-config-fixes.patch ]; + + nativeBuildInputs = [ makeWrapper ]; dontBuild = true; dontPatchELF = true; @@ -22,12 +25,27 @@ stdenv.mkDerivation rec { libPath = lib.makeLibraryPath [ gtk2 libXtst ]; - installPhase = '' - mkdir -p $out - cp -r usr/lib/xmind $out/libexec - cp -r usr/bin usr/share $out - rm $out/libexec/XMind.ini - mv etc/XMind.ini $out/libexec + desktopItem = makeDesktopItem { + name = "XMind"; + exec = "XMind"; + icon = "xmind"; + desktopName = "XMind"; + comment = meta.description; + categories = "Office;"; + mimeType = "application/xmind;x-scheme-handler/xmind"; + }; + + installPhase = let + targetDir = if stdenv.hostPlatform.system == "i686-linux" + then "XMind_i386" + else "XMind_amd64"; + in '' + mkdir -p $out/{bin,libexec/configuration/,share/{applications/,fonts/,icons/hicolor/scalable/apps/}} + cp -r ${targetDir}/{configuration,p2,XMind{,.ini}} $out/libexec + cp -r {plugins,features} $out/libexec/ + cp -r fonts $out/share/fonts/ + cp "${desktopItem}/share/applications/XMind.desktop" $out/share/applications/XMind.desktop + cp ${srcIcon} $out/share/icons/hicolor/scalable/apps/xmind.png patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ $out/libexec/XMind @@ -35,8 +53,17 @@ stdenv.mkDerivation rec { wrapProgram $out/libexec/XMind \ --prefix LD_LIBRARY_PATH : "${libPath}" - substituteInPlace "$out/bin/XMind" \ - --replace '/usr/lib/xmind' "$out/libexec" + # Inspired by https://aur.archlinux.org/cgit/aur.git/tree/?h=xmind + cat >$out/bin/XMind < qtbase != null && qtsvg != null && freetype != null; @@ -22,7 +22,9 @@ stdenv.mkDerivation { # https://cmake.org/cmake/help/v3.10/command/cmake_minimum_required.html patches = stdenv.lib.optional stdenv.isDarwin ./cmake_version.patch; - nativeBuildInputs = [ cmake makeWrapper ]; + nativeBuildInputs = + [ cmake ] + ++ stdenv.lib.optional enableGUI wrapQtAppsHook; cmakeFlags = ["-DSYSTEM_XPDFRC=/etc/xpdfrc" "-DA4_PAPER=ON"]; @@ -36,16 +38,23 @@ stdenv.mkDerivation { hardeningDisable = [ "format" ]; - postInstall = stdenv.lib.optionalString (stdenv.isDarwin && enableGUI) '' - wrapProgram $out/bin/xpdf \ - --set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix}:${qtsvg.bin}/${qtbase.qtPluginPrefix} - ''; - meta = with stdenv.lib; { homepage = https://www.xpdfreader.com; description = "Viewer for Portable Document Format (PDF) files"; + 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; - maintainers = [ maintainers.peti ]; }; } diff --git a/pkgs/applications/misc/xrandr-invert-colors/default.nix b/pkgs/applications/misc/xrandr-invert-colors/default.nix index bb3385ad016..41071012ae9 100644 --- a/pkgs/applications/misc/xrandr-invert-colors/default.nix +++ b/pkgs/applications/misc/xrandr-invert-colors/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "0.01"; - name = "xrandr-invert-colors-${version}"; + pname = "xrandr-invert-colors"; src = fetchurl { url = "https://github.com/zoltanp/xrandr-invert-colors/archive/v${version}.tar.gz"; sha256 = "1z4hxn56rlflvqanb8ncqa1xqawnda85b1b37w6r2iqs8rw52d75"; diff --git a/pkgs/applications/misc/xscope/default.nix b/pkgs/applications/misc/xscope/default.nix index 28ce4a0d500..517105d7e1f 100644 --- a/pkgs/applications/misc/xscope/default.nix +++ b/pkgs/applications/misc/xscope/default.nix @@ -1,12 +1,11 @@ { stdenv, fetchurl, pkgconfig, libXt }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "xscope"; version = "1.4.1"; src = fetchurl { - url = "mirror://xorg/individual/app/${name}.tar.bz2"; + url = "mirror://xorg/individual/app/${pname}-${version}.tar.bz2"; sha256 = "08zl3zghvbcqy0r5dn54dim84lp52s0ygrr87jr3a942a6ypz01k"; }; diff --git a/pkgs/applications/misc/xsuspender/default.nix b/pkgs/applications/misc/xsuspender/default.nix index ef9ce339361..55ecd358c6c 100644 --- a/pkgs/applications/misc/xsuspender/default.nix +++ b/pkgs/applications/misc/xsuspender/default.nix @@ -4,7 +4,7 @@ with lib; stdenv.mkDerivation rec { - name = "xsuspender-${version}"; + pname = "xsuspender"; version = "1.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/xsw/default.nix b/pkgs/applications/misc/xsw/default.nix index 3e8acff00f8..aa851e14ab5 100644 --- a/pkgs/applications/misc/xsw/default.nix +++ b/pkgs/applications/misc/xsw/default.nix @@ -4,7 +4,7 @@ let makeSDLFlags = map (p: "-I${lib.getDev p}/include/SDL"); in stdenv.mkDerivation rec { - name = "xsw-${version}"; + pname = "xsw"; version = "0.1.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/xteddy/default.nix b/pkgs/applications/misc/xteddy/default.nix new file mode 100644 index 00000000000..856ddb8ff50 --- /dev/null +++ b/pkgs/applications/misc/xteddy/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitLab, pkg-config, xorg, imlib2, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "xteddy"; + version = "2.2-5"; + src = fetchFromGitLab { + domain = "salsa.debian.org"; + owner = "games-team"; + repo = "xteddy"; + rev = "debian%2F${version}"; # %2F = urlquote("/"); + sha256 = "0rm7w78d6qajq4fvi4agyqm0c70f3c1i0cy2jdb6kqql2k8w78qy"; + }; + + nativeBuildInputs = [ pkg-config makeWrapper ]; + buildInputs = [ imlib2 xorg.libX11 xorg.libXext ]; + + patches = [ "${src}/debian/patches/10_libXext.patch" "${src}/debian/patches/wrong-man-page-section.patch" ]; + + postPatch = '' + 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 ee267c1ec7c..60231350edb 100644 --- a/pkgs/applications/misc/xterm/default.nix +++ b/pkgs/applications/misc/xterm/default.nix @@ -3,14 +3,14 @@ }: stdenv.mkDerivation rec { - name = "xterm-342"; + name = "xterm-348"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/xterm/${name}.tgz" "https://invisible-mirror.net/archives/xterm/${name}.tgz" ]; - sha256 = "1y8ldzl4h1872fxvpvi2zwa9y3d34872vfdvfasap79lpn8208l0"; + sha256 = "1gkmj9v44xg4jahivhnpbmq22w1mwclr6fssv3lhssgkvchm27wb"; }; buildInputs = @@ -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 f3e743b5528..51575d62ed5 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.6"; - name = "xtermcontrol-${version}"; + version = "3.7"; + pname = "xtermcontrol"; src = fetchurl { url = "https://thrysoee.dk/xtermcontrol/xtermcontrol-${version}.tar.gz"; - sha256 = "01bwgxya6qh4br2lx3v98p7j1b99skgr6c1frw5kdkxy57qlpgkz"; + sha256 = "04m12ddaps5sdbqvkwkp6lh81i8vh5ya5gzcxkrkilsga3m6qff2"; }; meta = { diff --git a/pkgs/applications/misc/xxkb/default.nix b/pkgs/applications/misc/xxkb/default.nix index 56638d126c1..db952758f04 100644 --- a/pkgs/applications/misc/xxkb/default.nix +++ b/pkgs/applications/misc/xxkb/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchurl, libX11, libXt, libXext, libXpm, imake, gccmakedep -, svgSupport ? false, librsvg, glib, gdk_pixbuf, pkgconfig +, svgSupport ? false, librsvg, glib, gdk-pixbuf, pkgconfig }: assert svgSupport -> - librsvg != null && glib != null && gdk_pixbuf != null && pkgconfig != null; + librsvg != null && glib != null && gdk-pixbuf != null && pkgconfig != null; stdenv.mkDerivation rec { name = "xxkb-1.11.1"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ imake gccmakedep ]; buildInputs = [ libX11 libXt libXext libXpm - ] ++ stdenv.lib.optionals svgSupport [ librsvg glib gdk_pixbuf pkgconfig ]; + ] ++ stdenv.lib.optionals svgSupport [ librsvg glib gdk-pixbuf pkgconfig ]; outputs = [ "out" "man" ]; diff --git a/pkgs/applications/misc/xygrib/default.nix b/pkgs/applications/misc/xygrib/default.nix new file mode 100644 index 00000000000..4f1ecbaf8b3 --- /dev/null +++ b/pkgs/applications/misc/xygrib/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, cmake, bzip2, qtbase, qttools, libnova, proj, libpng, openjpeg } : + +stdenv.mkDerivation rec { + version = "1.2.6.1"; + pname = "xygrib"; + + src = fetchFromGitHub { + owner = "opengribs"; + repo = "XyGrib"; + rev = "v${version}"; + sha256 = "0xzsm8pr0zjk3f8j880fg5n82jyxn8xf1330qmmq1fqv7rsrg9ia"; + }; + + nativeBuildInputs = [ cmake qttools ]; + buildInputs = [ bzip2 qtbase libnova proj openjpeg libpng ]; + cmakeFlags = [ "-DOPENJPEG_INCLUDE_DIR=${openjpeg.dev}/include/openjpeg-2.3" ]; + + postInstall = '' + mkdir $out/bin + ln -s $out/XyGrib/XyGrib $out/bin/XyGrib + ''; + + meta = with stdenv.lib; { + homepage = "https://opengribs.org"; + description = "Weather Forecast Visualization"; + longDescription = ''XyGrib is a leading opensource weather visualization package. + It interacts with OpenGribs's Grib server providing a choice + of global and large area atmospheric and wave models.''; + license = licenses.gpl3; + platforms = platforms.all; + maintainers = [ maintainers.j03 ]; + }; +} diff --git a/pkgs/applications/misc/yaft/default.nix b/pkgs/applications/misc/yaft/default.nix index 0794b2b6dbe..2135c7fd617 100644 --- a/pkgs/applications/misc/yaft/default.nix +++ b/pkgs/applications/misc/yaft/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "0.2.9"; - name = "yaft-${version}"; + pname = "yaft"; src = fetchFromGitHub { owner = "uobikiemukot"; @@ -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/yakuake/default.nix b/pkgs/applications/misc/yakuake/default.nix deleted file mode 100644 index 8f8494ac45b..00000000000 --- a/pkgs/applications/misc/yakuake/default.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ mkDerivation -, lib -, fetchurl -, kdoctools -, wrapGAppsHook -, extra-cmake-modules -, karchive -, kcrash -, kdbusaddons -, ki18n -, kiconthemes -, knewstuff -, knotifications -, knotifyconfig -, konsole -, kparts -, kwindowsystem -, qtx11extras -}: - -mkDerivation rec { - pname = "yakuake"; - version = "3.0.5"; - name = "${pname}-${version}"; - - src = fetchurl { - url = "http://download.kde.org/stable/${pname}/${version}/src/${name}.tar.xz"; - sha256 = "021a9mnghffv2mrdl987mn7wbg8bk6bnf6xz8kn2nwsqxp9kpqh8"; - }; - - buildInputs = [ - karchive - kcrash - kdbusaddons - ki18n - kiconthemes - knewstuff - knotifications - knotifyconfig - kparts - kwindowsystem - qtx11extras - ]; - - propagatedBuildInputs = [ - karchive - kcrash - kdbusaddons - ki18n - kiconthemes - knewstuff - knotifications - knotifyconfig - kparts - kwindowsystem - ]; - - propagatedUserEnvPkgs = [ konsole ]; - - nativeBuildInputs = [ - extra-cmake-modules kdoctools wrapGAppsHook - ]; - - meta = { - homepage = https://yakuake.kde.org; - description = "Quad-style terminal emulator for KDE"; - maintainers = with lib.maintainers; [ fridh ]; - license = lib.licenses.gpl2; - }; -} diff --git a/pkgs/applications/misc/yarssr/default.nix b/pkgs/applications/misc/yarssr/default.nix index a47fb93512d..06e12416baa 100644 --- a/pkgs/applications/misc/yarssr/default.nix +++ b/pkgs/applications/misc/yarssr/default.nix @@ -25,7 +25,7 @@ let in stdenv.mkDerivation rec { version = "git-2017-12-01"; - name = "yarssr-${version}"; + pname = "yarssr"; src = fetchFromGitHub { owner = "JGRennison"; diff --git a/pkgs/applications/misc/yate/default.nix b/pkgs/applications/misc/yate/default.nix index 53d427e61c2..09a6cc4a3c0 100644 --- a/pkgs/applications/misc/yate/default.nix +++ b/pkgs/applications/misc/yate/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, lib, qt4, openssl, autoconf, automake, pkgconfig }: +{ stdenv, fetchurl, lib, qt4, openssl, pkgconfig }: stdenv.mkDerivation rec { - name = "yate-${version}"; - version = "6.0.0-1"; + pname = "yate"; + version = "6.1.0-1"; src = fetchurl { - url = "http://voip.null.ro/tarballs/yate${lib.versions.major version}/${name}.tar.gz"; - sha256 = "05qqdhi3rp5660gq1484jkmxkm9vq81j0yr765h0gf0xclan1dqa"; + url = "http://voip.null.ro/tarballs/yate${lib.versions.major version}/${pname}-${version}.tar.gz"; + sha256 = "0xx3i997nsf2wzbv6m5n6adsym0qhgc6xg4rsv0fwqrgisf5327d"; }; # TODO zaptel ? postgres ? nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ qt4 openssl autoconf automake ]; + buildInputs = [ qt4 openssl ]; # /dev/null is used when linking which is a impure path for the wrapper preConfigure = diff --git a/pkgs/applications/misc/yokadi/default.nix b/pkgs/applications/misc/yokadi/default.nix index dec861009eb..6b3a4f747f4 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 d1fa28318d0..d7a019c1c41 100644 --- a/pkgs/applications/misc/yubioath-desktop/default.nix +++ b/pkgs/applications/misc/yubioath-desktop/default.nix @@ -1,21 +1,21 @@ -{ stdenv, fetchurl, fetchFromGitHub -, qmake, qtbase, qtquickcontrols, qtsvg -, python3, pyotherside, ncurses +{ stdenv, fetchurl, mkDerivation +, qmake, qtbase, qtquickcontrols +, python3, pyotherside , pcsclite, yubikey-personalization , yubikey-manager, makeWrapper }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "yubioath-desktop"; - version = "4.3.4"; + version = "4.3.6"; src = fetchurl { url = "https://developers.yubico.com/yubioath-desktop/Releases/yubioath-desktop-${version}.tar.gz"; - sha256 = "0hb7j71032sigs8zd5r8yr0m59sjkb24vhs2l4jarpvj8q7hv30d"; + sha256 = "0s04anjbb5zm98kfdpp9hr68k3mx3gqlp8fa1miy7nq87pr4f7a5"; }; doCheck = false; - buildInputs = [ stdenv qtbase qtquickcontrols pyotherside python3 ]; + buildInputs = [ stdenv qtbase qtquickcontrols python3 ]; nativeBuildInputs = [ qmake makeWrapper python3.pkgs.wrapPython ]; @@ -33,6 +33,7 @@ stdenv.mkDerivation rec { 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" @@ -43,6 +44,7 @@ stdenv.mkDerivation rec { 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" \ + --replace 'Icon=yubioath' "Icon=$out/share/yubioath/icons/yubioath.png" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/zathura/cb/default.nix b/pkgs/applications/misc/zathura/cb/default.nix new file mode 100644 index 00000000000..7c2c8fb31ca --- /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 { + pname = "zathura-cb"; + version = "0.1.8"; + + src = fetchurl { + url = "https://pwmt.org/projects/zathura/plugins/download/${pname}-${version}.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 4cf05a21636..8afba9353ce 100644 --- a/pkgs/applications/misc/zathura/core/default.nix +++ b/pkgs/applications/misc/zathura/core/default.nix @@ -1,41 +1,53 @@ -{ stdenv, fetchurl, meson, ninja, makeWrapper, pkgconfig +{ stdenv, fetchurl, meson, ninja, wrapGAppsHook, pkgconfig , appstream-glib, desktop-file-utils, python3 -, gtk, girara, gettext, libxml2 +, gtk, girara, gettext, libxml2, check , sqlite, glib, texlive, libintl, libseccomp -, gtk-mac-integration, synctexSupport ? true +, file, librsvg +, gtk-mac-integration }: -assert synctexSupport -> texlive != null; - with stdenv.lib; stdenv.mkDerivation rec { - name = "zathura-core-${version}"; - version = "0.4.1"; + pname = "zathura-core"; + version = "0.4.3"; src = fetchurl { url = "https://pwmt.org/projects/zathura/download/zathura-${version}.tar.xz"; - sha256 = "1znr3psqda06xklzj8mn452w908llapcg1rj468jwpg0wzv6pxfn"; + sha256 = "0hgx5x09i6d0z45llzdmh4l348fxh1y102sb1w76f2fp4r21j4ky"; }; outputs = [ "bin" "man" "dev" "out" ]; - nativeBuildInputs = [ - meson ninja pkgconfig appstream-glib desktop-file-utils python3.pkgs.sphinx - gettext makeWrapper libxml2 + # Flag list: + # https://github.com/pwmt/zathura/blob/master/meson_options.txt + mesonFlags = [ + "-Dsqlite=enabled" + "-Dmagic=enabled" + # "-Dseccomp=enabled" + "-Dmanpages=enabled" + "-Dconvert-icon=enabled" + "-Dsynctex=enabled" ]; + nativeBuildInputs = [ + meson ninja pkgconfig desktop-file-utils python3.pkgs.sphinx + gettext wrapGAppsHook libxml2 check + ] ++ optional stdenv.isLinux appstream-glib; + buildInputs = [ - gtk girara libintl libseccomp - sqlite glib - ] ++ optional synctexSupport texlive.bin.core - ++ optional stdenv.isDarwin [ gtk-mac-integration ]; + gtk girara libintl sqlite glib file librsvg + texlive.bin.core + ] ++ optional stdenv.isLinux libseccomp + ++ optional stdenv.isDarwin gtk-mac-integration; + + doCheck = true; meta = { homepage = https://pwmt.org/projects/zathura/; description = "A core component for zathura PDF viewer"; license = licenses.zlib; platforms = platforms.unix; - maintainers = with maintainers; [ garbas ]; + maintainers = with maintainers; [ globin ]; }; } diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix index 315df563946..1548b0581b6 100644 --- a/pkgs/applications/misc/zathura/default.nix +++ b/pkgs/applications/misc/zathura/default.nix @@ -1,6 +1,6 @@ { config, pkgs -, useMupdf ? config.zathura.useMupdf or true -, synctexSupport ? true }: +# zathura_pdf_mupdf fails to load _opj_create_decompress at runtime on Darwin (https://github.com/NixOS/nixpkgs/pull/61295#issue-277982980) +, useMupdf ? config.zathura.useMupdf or (!pkgs.stdenv.isDarwin) }: let callPackage = pkgs.newScope self; @@ -8,9 +8,7 @@ let self = rec { gtk = pkgs.gtk3; - zathura_core = callPackage ./core { - inherit synctexSupport; - }; + zathura_core = callPackage ./core { }; zathura_pdf_poppler = callPackage ./pdf-poppler { }; @@ -20,10 +18,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/djvu/default.nix b/pkgs/applications/misc/zathura/djvu/default.nix index 58985dced42..54f68969d4f 100644 --- a/pkgs/applications/misc/zathura/djvu/default.nix +++ b/pkgs/applications/misc/zathura/djvu/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { ''; license = licenses.zlib; platforms = platforms.unix; - maintainers = with maintainers; [ garbas ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix index 709c1edb0b8..2ebc640d683 100644 --- a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix +++ b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix @@ -1,9 +1,9 @@ -{ stdenv, lib, meson, ninja, fetchurl, fetchFromGitHub +{ stdenv, lib, meson, ninja, fetchFromGitHub , pkgconfig, zathura_core, cairo , gtk-mac-integration, girara, mupdf }: stdenv.mkDerivation rec { version = "0.3.4"; - name = "zathura-pdf-mupdf-${version}"; + pname = "zathura-pdf-mupdf"; # pwmt.org server was down at the time of last update # src = fetchurl { @@ -21,9 +21,7 @@ stdenv.mkDerivation rec { buildInputs = [ zathura_core girara mupdf cairo - ] ++ stdenv.lib.optional stdenv.isDarwin [ - gtk-mac-integration - ]; + ] ++ lib.optional stdenv.isDarwin gtk-mac-integration; PKG_CONFIG_ZATHURA_PLUGINDIR= "lib/zathura"; diff --git a/pkgs/applications/misc/zathura/pdf-poppler/default.nix b/pkgs/applications/misc/zathura/pdf-poppler/default.nix index 663e798ee0b..5b38555eda1 100644 --- a/pkgs/applications/misc/zathura/pdf-poppler/default.nix +++ b/pkgs/applications/misc/zathura/pdf-poppler/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { version = "0.2.9"; - name = "zathura-pdf-poppler-${version}"; + pname = "zathura-pdf-poppler"; src = fetchurl { - url = "https://pwmt.org/projects/zathura/plugins/download/${name}.tar.xz"; - sha256 = "1p4jcny0jniygns78mcf0nlm298dszh49qpmjmackrm6dq8hc25y"; + url = "https://git.pwmt.org/pwmt/zathura-pdf-poppler/-/archive/${version}/${pname}-${version}.tar.gz"; + sha256 = "0c15rnwh42m3ybrhax01bl36w0iynaq8xg6l08riml3cyljypi9l"; }; nativeBuildInputs = [ meson ninja pkgconfig zathura_core ]; @@ -23,6 +23,6 @@ stdenv.mkDerivation rec { ''; license = licenses.zlib; platforms = platforms.unix; - maintainers = with maintainers; [ cstrahan garbas ]; + maintainers = with maintainers; [ cstrahan ]; }; } diff --git a/pkgs/applications/misc/zathura/ps/default.nix b/pkgs/applications/misc/zathura/ps/default.nix index 07e4c5d715b..48d42b5e939 100644 --- a/pkgs/applications/misc/zathura/ps/default.nix +++ b/pkgs/applications/misc/zathura/ps/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { ''; license = licenses.zlib; platforms = platforms.unix; - maintainers = with maintainers; [ cstrahan garbas ]; + maintainers = with maintainers; [ cstrahan ]; }; } diff --git a/pkgs/applications/misc/zathura/wrapper.nix b/pkgs/applications/misc/zathura/wrapper.nix index b81d12947e4..975c6e4a468 100644 --- a/pkgs/applications/misc/zathura/wrapper.nix +++ b/pkgs/applications/misc/zathura/wrapper.nix @@ -27,6 +27,6 @@ in symlinkJoin { ''; license = licenses.zlib; platforms = platforms.unix; - maintainers = with maintainers;[ garbas smironov ]; + maintainers = with maintainers; [ smironov globin ]; }; } diff --git a/pkgs/applications/misc/zola/default.nix b/pkgs/applications/misc/zola/default.nix index bdf6d0da145..7418640e072 100644 --- a/pkgs/applications/misc/zola/default.nix +++ b/pkgs/applications/misc/zola/default.nix @@ -1,20 +1,21 @@ -{ stdenv, fetchFromGitHub, rustPlatform, cmake, pkgconfig, openssl, CoreServices, cf-private }: +{ stdenv, fetchFromGitHub, rustPlatform, cmake, pkgconfig, openssl, CoreServices }: rustPlatform.buildRustPackage rec { - name = "zola-${version}"; - version = "0.5.0"; + pname = "zola"; + version = "0.8.0"; src = fetchFromGitHub { owner = "getzola"; - repo = "zola"; + repo = pname; rev = "v${version}"; - sha256 = "0as8nrzw9zz10w4xxiibgz8ylghc879b2pwaxnw8sjbji2d9qv63"; + sha256 = "166kmlkzd1qyw9yq2jqs58z8b3d956jjhw9r15jzw98md949psr5"; }; - cargoSha256 = "0a14hq8d3xjr6yfg5qn5r7npqivm816f1p53bbm826igvpc9hsxa"; + cargoSha256 = "1brmlg6nqyls1v62z0fg0km150q9m7h71wy67lidcnw76icmqr24"; - nativeBuildInputs = [ cmake pkgconfig openssl ]; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ]; + nativeBuildInputs = [ cmake pkgconfig ]; + buildInputs = [ openssl ] + ++ stdenv.lib.optional stdenv.isDarwin CoreServices; postInstall = '' install -D -m 444 completions/zola.bash \ diff --git a/pkgs/applications/networking/Sylk/default.nix b/pkgs/applications/networking/Sylk/default.nix new file mode 100644 index 00000000000..36f6279c209 --- /dev/null +++ b/pkgs/applications/networking/Sylk/default.nix @@ -0,0 +1,32 @@ +{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }: + +let + pname = "Sylk"; + version = "2.1.0"; +in + +appimageTools.wrapType2 rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "http://download.ag-projects.com/Sylk/Sylk-${version}-x86_64.AppImage"; + sha256 = "1ifi8qr6f84dcssxhv5ar1s48nsqxiv2j1blc82248hmq5is24mf"; + }; + + 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 = "Sylk WebRTC client"; + homepage = "http://sylkserver.com/"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ zimbatm ]; + platforms = [ "i386-linux" "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/networking/apache-directory-studio/default.nix b/pkgs/applications/networking/apache-directory-studio/default.nix index 05dee5b6154..ce5c7fb41f1 100644 --- a/pkgs/applications/networking/apache-directory-studio/default.nix +++ b/pkgs/applications/networking/apache-directory-studio/default.nix @@ -17,7 +17,7 @@ let in stdenv.mkDerivation rec { - name = "apache-directory-studio-${version}"; + pname = "apache-directory-studio"; version = "2.0.0.v20170904-M13"; src = diff --git a/pkgs/applications/networking/bittorrentsync/1.4.x.nix b/pkgs/applications/networking/bittorrentsync/1.4.x.nix deleted file mode 100644 index 9d57cdaaf20..00000000000 --- a/pkgs/applications/networking/bittorrentsync/1.4.x.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ stdenv, fetchurl, ... } @ args: - -import ./generic.nix (args // { - version = "1.4.111"; - sha256s = { - "x86_64-linux" = "0bw3ds3ndcnkry5mpv645z2bfi5z387bh0f7b35blxq1yv93r83f"; - "i686-linux" = "1qwaj7l7nsd4afx7ksb4b1c22mki9qa40803v9x1a8bhbdfhkczk"; - }; -}) diff --git a/pkgs/applications/networking/bittorrentsync/2.0.x.nix b/pkgs/applications/networking/bittorrentsync/2.0.x.nix deleted file mode 100644 index d2db3eec26e..00000000000 --- a/pkgs/applications/networking/bittorrentsync/2.0.x.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ stdenv, fetchurl, ... } @ args: - -import ./generic.nix (args // { - version = "2.3.8"; - sha256s = { - "x86_64-linux" = "02n5s561cz3mprg682mrbmh3qai42dh64jgi05rqy9s6wgbn66ly"; - "i686-linux" = "118qrnxc7gvm30rsz0xfx6dlxmrr0dk5ajrvszhy06ww7xvqhzji"; - }; -}) diff --git a/pkgs/applications/networking/bittorrentsync/generic.nix b/pkgs/applications/networking/bittorrentsync/generic.nix deleted file mode 100644 index 1075aea8db3..00000000000 --- a/pkgs/applications/networking/bittorrentsync/generic.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ stdenv, fetchurl, version, sha256s, ... }: - -let - arch = { - "x86_64-linux" = "x64"; - "i686-linux" = "i386"; - }.${stdenv.hostPlatform.system} or throwSystem; - libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ]; - throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}"; -in - -stdenv.mkDerivation rec { - name = "btsync-${version}"; - inherit version; - - src = fetchurl { - # annoyingly, downloads for 1.4 and 2.3 do not follow the same URL layout; this is - # a simple work-around, in place of overriding the url in the caller. - urls = [ - "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.hostPlatform.system} or throwSystem; - }; - - dontStrip = true; # Don't strip, otherwise patching the rpaths breaks - sourceRoot = "."; - - installPhase = '' - install -D btsync "$out/bin/btsync" - patchelf --interpreter "$(< $NIX_CC/nix-support/dynamic-linker)" --set-rpath ${libPath} "$out/bin/btsync" - ''; - - meta = { - description = "Automatically sync files via secure, distributed technology"; - homepage = https://www.getsync.com/; - license = stdenv.lib.licenses.unfreeRedistributable; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ domenkozar thoughtpolice cwoac ]; - }; -} diff --git a/pkgs/applications/networking/brig/default.nix b/pkgs/applications/networking/brig/default.nix new file mode 100644 index 00000000000..31eb4dd7378 --- /dev/null +++ b/pkgs/applications/networking/brig/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "brig"; + 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 f9d5f01be20..57db827169e 100644 --- a/pkgs/applications/networking/browsers/arora/default.nix +++ b/pkgs/applications/networking/browsers/arora/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, qt4, qmake4Hook }: stdenv.mkDerivation rec { - name = "arora-${version}"; + pname = "arora"; version = "0.11.0"; src = fetchFromGitHub { @@ -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 index 44313fa1ea2..45fb820a076 100644 --- a/pkgs/applications/networking/browsers/brave/default.nix +++ b/pkgs/applications/networking/browsers/brave/default.nix @@ -10,11 +10,13 @@ , expat , fontconfig , freetype -, gdk_pixbuf +, gdk-pixbuf , glib , gnome2 , gnome3 +, gsettings-desktop-schemas , gtk3 +, libpulseaudio , libuuid , libX11 , libXcomposite @@ -37,114 +39,119 @@ , 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 +let + +rpath = lib.makeLibraryPath [ + alsaLib + at-spi2-atk + at-spi2-core + atk + cairo + cups + dbus + expat + fontconfig + freetype + gdk-pixbuf + glib + gnome2.GConf + gtk3 + libpulseaudio + libX11 + libXScrnSaver + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXrender + libXtst + libuuid + nspr + nss + pango + udev + xdg_utils + xorg.libxcb + zlib ]; +in -in stdenv.mkDerivation rec { - pname = "brave"; - version = "0.59.35"; +stdenv.mkDerivation rec { + pname = "brave"; + version = "0.68.131"; - src = fetchurl { - url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - sha256 = "0z0fmgmfayappncixrnz7g42mcrm907lsvgynbklq2gjcxpsfp8k"; - }; + src = fetchurl { + url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; + sha256 = "0syhwy1gxy82jbxbryi1n4zp1ya7wvm20g1vqvd2s7kqspprsi0l"; + }; - dontConfigure = true; - dontBuild = true; - dontPatchELF = true; + dontConfigure = true; + dontBuild = true; + dontPatchELF = true; - nativeBuildInputs = [ dpkg wrapGAppsHook ]; + nativeBuildInputs = [ dpkg wrapGAppsHook ]; - buildInputs = [ glib gnome3.gsettings_desktop_schemas gnome3.defaultIconTheme ]; + buildInputs = [ glib gsettings-desktop-schemas gnome3.adwaita-icon-theme ]; - unpackPhase = "dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner"; + unpackPhase = "dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner"; - installPhase = '' - mkdir -p $out $out/bin + installPhase = '' + mkdir -p $out $out/bin - cp -R usr/share $out - cp -R opt/ $out/opt + cp -R usr/share $out + cp -R opt/ $out/opt - export BINARYWRAPPER=$out/opt/brave.com/brave/brave-browser + export BINARYWRAPPER=$out/opt/brave.com/brave/brave-browser - # Fix path to bash in $BINARYWRAPPER - substituteInPlace $BINARYWRAPPER \ - --replace /bin/bash ${stdenv.shell} + # Fix path to bash in $BINARYWRAPPER + substituteInPlace $BINARYWRAPPER \ + --replace /bin/bash ${stdenv.shell} - ln -sf $BINARYWRAPPER $out/bin/brave + 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 + 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 + # Fix paths + substituteInPlace $out/share/applications/brave-browser.desktop \ + --replace /usr/bin/brave-browser-stable $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") + # 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 + 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 + # 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"; + changelog = "https://github.com/brave/brave-browser/blob/v${version}/CHANGELOG.md"; + 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. ''; - - 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" ]; - }; + 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 a910f1d14bd..c3f5cb13164 100644 --- a/pkgs/applications/networking/browsers/browsh/default.nix +++ b/pkgs/applications/networking/browsers/browsh/default.nix @@ -1,35 +1,36 @@ { stdenv, buildGoPackage, fetchurl, fetchFromGitHub, go-bindata }: let - version = "1.4.13"; + version = "1.5.2"; # 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 = "11477z7mva8lwfxsrfxckvgqkxrjhc80czra8cqhpakf0fih1a4g"; + sha256 = "0b9aycyif0hfhfkivlnvinr13r9h4qyxx768286966p67napbd63"; }; in buildGoPackage rec { inherit version; - name = "browsh-${version}"; + pname = "browsh"; goPackagePath = "browsh"; + # further go package dependencies are defined in deps.nix, see line below. src = fetchFromGitHub { owner = "browsh-org"; repo = "browsh"; rev = "v${version}"; - sha256 = "0lvb20zziknlbgy509ccpvlc21sqjc53xar26blmb6sdl6yqkj0w"; + sha256 = "1z78kgxrbi2jy20rbq6kx5mjk4gpg58w4rb3flp42l9p7bhdbr2h"; }; buildInputs = [ go-bindata ]; # embed the web extension in a go file and place it where it's supposed to # be. See - # https://github.com/browsh-org/browsh/blob/9abc3aaa3f575ca6ec9a483408d9fdfcf76300fa/interfacer/contrib/xpi2bin.sh + # https://github.com/browsh-org/browsh/blob/v1.5.0/interfacer/contrib/xpi2bin.sh preBuild = '' xpiprefix="$(mktemp -d)" cp "${webext}" "$xpiprefix/browsh.xpi" diff --git a/pkgs/applications/networking/browsers/browsh/deps.nix b/pkgs/applications/networking/browsers/browsh/deps.nix index e0eb6600c9b..fae04b4d6a5 100644 --- a/pkgs/applications/networking/browsers/browsh/deps.nix +++ b/pkgs/applications/networking/browsers/browsh/deps.nix @@ -4,26 +4,8 @@ fetch = { type = "git"; url = "https://github.com/NYTimes/gziphandler"; - rev = "5032c8878b9dd46cfe8c625c0d9b9f258a560ee8"; - sha256 = "1avn8xb78xmmc61fjycpc81yrkfi42fna8zgzdqba6v7g8gq8a3x"; - }; - } - { - goPackagePath = "github.com/davecgh/go-spew"; - fetch = { - type = "git"; - url = "https://github.com/davecgh/go-spew"; - rev = "8991bc29aa16c548c550c7ff78260e27b9ab7c73"; - sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"; - }; - } - { - goPackagePath = "github.com/hpcloud/tail"; - fetch = { - type = "git"; - url = "https://github.com/hpcloud/tail"; - rev = "a1dbeea552b7c8df4b542c66073e393de198a800"; - sha256 = "0nssmn8j0yavs8099gwb69qpd1k9yd2z28bii6i4y61v0grb6bc2"; + rev = "dd0439581c7657cb652dfe5c71d7d48baf39541d"; + sha256 = "0rhrjlw220hnymzfccm0yir3pc9dpj7h3gwzhzq2cbsb3hhsqvyy"; }; } { @@ -40,8 +22,8 @@ fetch = { type = "git"; url = "https://github.com/gdamore/encoding"; - rev = "b23993cbb6353f0e6aa98d0ee318a34728f628b9"; - sha256 = "0d7irqpx2fa9vkxgkhf04yiwazsm10fxh0yk86x5crflhph5fv8a"; + rev = "6289cdc94c00ac4aa177771c5fce7af2f96b626d"; + sha256 = "1vmm5zll92i2fm4ajqx0gyx0p9j36496x5nabi3y0x7h0inv0pk9"; }; } { @@ -49,8 +31,8 @@ fetch = { type = "git"; url = "https://github.com/gdamore/tcell"; - rev = "de7e78efa4a71b3f36c7154989c529dbdf9ae623"; - sha256 = "1ly3gqkziw01cb7h64k0wc4myzfcsr9hl7xznxd8k2yqzqvmhljz"; + rev = "b5d0c1ac570211e469f43ff88c0c6aa4b56cc99a"; + sha256 = "0g2zfbgyk3djlk0qpmrgcyy0ba9ad932yswpaacswi21qyf9gwag"; }; } { @@ -76,8 +58,17 @@ fetch = { type = "git"; url = "https://github.com/hashicorp/hcl"; - rev = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168"; - sha256 = "1qalfsc31fra7hcw2lc3s20aj7al62fq3j5fn5kga3mg99b82nyr"; + rev = "8cb6e5b959231cc1119e43259c4a608f9c51a241"; + sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66"; + }; + } + { + goPackagePath = "github.com/hpcloud/tail"; + fetch = { + type = "git"; + url = "https://github.com/hpcloud/tail"; + rev = "a30252cb686a21eb2d0b98132633053ec2f7f1e5"; + sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0"; }; } { @@ -85,8 +76,8 @@ fetch = { type = "git"; url = "https://github.com/lucasb-eyer/go-colorful"; - rev = "c7842319cf3ac2eff253e8b3ebe15fcc56b6414a"; - sha256 = "00v2x6qchhi6vv09w29kcyr9i0kq4n4daaj3vk1c4nfj2z7xx5hc"; + rev = "30298f24079860c4dee452fdef6519b362a4a026"; + sha256 = "0fig06880bvk1l92j4127v4x9sar4ds7ga8959gxxghb2w70b7l2"; }; } { @@ -94,8 +85,8 @@ fetch = { type = "git"; url = "https://github.com/magiconair/properties"; - rev = "c2353362d570a7bfa228149c62842019201cfb71"; - sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn"; + rev = "de8848e004dd33dc07a2947b3d76f618a7fc7ef1"; + sha256 = "19zqw1x0w0crh8zc84yy82nkcc5yjz72gviaf2xjgfm5a8np7nyb"; }; } { @@ -103,8 +94,8 @@ fetch = { type = "git"; url = "https://github.com/mattn/go-runewidth"; - rev = "ce7b0b5c7b45a81508558cd1dba6bb1e4ddb51bb"; - sha256 = "0lc39b6xrxv7h3v3y1kgz49cgi5qxwlygs715aam6ba35m48yi7g"; + rev = "3ee7d812e62a0804a7d0a324e0249ca2db3476d3"; + sha256 = "00b3ssm7wiqln3k54z2wcnxr3k3c7m1ybyhb9h8ixzbzspld0qzs"; }; } { @@ -121,8 +112,8 @@ fetch = { type = "git"; url = "https://github.com/onsi/ginkgo"; - rev = "3774a09d95489ccaa16032e0770d08ea77ba6184"; - sha256 = "0x0gc89vgq38xhgmi2h22bhr73cf2gmk42g89nz89k8dgg9hhr25"; + rev = "eea6ad008b96acdaa524f5b409513bf062b500ad"; + sha256 = "1326s5fxgasdpz1qqwrw4n5p3k0vz44msnyz14knrhlw5l97lx33"; }; } { @@ -130,8 +121,8 @@ fetch = { type = "git"; url = "https://github.com/onsi/gomega"; - rev = "b6ea1ea48f981d0f615a154a45eabb9dd466556d"; - sha256 = "14179j7pj1h2vx60i68x2m6650ldji4xhanhc702i8a8iy7b49ja"; + rev = "90e289841c1ed79b7a598a7cd9959750cb5e89e2"; + sha256 = "1n7i4hksdgv410m43v2sw14bl5vy59dkp6nlw5l76nibbh37syr9"; }; } { @@ -139,8 +130,8 @@ fetch = { type = "git"; url = "https://github.com/pelletier/go-toml"; - rev = "c2dbbc24a97911339e01bda0b8cabdbd8f13b602"; - sha256 = "0v1dsqnk5zmn6ir8jgxijx14s47jvijlqfz3aq435snfrgybd5rz"; + rev = "728039f679cbcd4f6a54e080d2219a4c4928c546"; + sha256 = "1v76s3vds0i9dxaha4ikd6xjm7vqqfk6sy9l6jc2lsvmj99d5sy6"; }; } { @@ -148,17 +139,8 @@ fetch = { type = "git"; url = "https://github.com/pkg/errors"; - rev = "816c9085562cd7ee03e7f8188a1cfd942858cded"; - sha256 = "1ws5crb7c70wdicavl6qr4g03nn6m92zd6wwp9n2ygz5c8rmxh8k"; - }; - } - { - goPackagePath = "github.com/pmezard/go-difflib"; - fetch = { - type = "git"; - url = "https://github.com/pmezard/go-difflib"; - rev = "792786c7400a136282c1664665ae0a8db921c6c2"; - sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; + rev = "ba968bfe8b2f7e042a574c888954fccecfa385b4"; + sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1"; }; } { @@ -175,8 +157,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/afero"; - rev = "787d034dfe70e44075ccc060d346146ef53270ad"; - sha256 = "0138rjiacl71h7kvhzinviwvy6qa2m6rflpv9lgqv15hnjvhwvg1"; + rev = "588a75ec4f32903aa5e39a2619ba6a4631e28424"; + sha256 = "0j9r65qgd58324m85lkl49vk9dgwd62g7dwvkfcm3k6i9dc555a9"; }; } { @@ -193,8 +175,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/jwalterweatherman"; - rev = "7c0cea34c8ece3fbeb2b27ab9b59511d360fb394"; - sha256 = "132p84i20b9s5r6fs597lsa6648vd415ch7c0d018vm8smzqpd0h"; + rev = "94f6ae3ed3bceceafa716478c5fbf8d29ca601a1"; + sha256 = "1ywmkwci5zyd88ijym6f30fj5c0k2yayxarkmnazf5ybljv50q7b"; }; } { @@ -211,17 +193,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/viper"; - rev = "d493c32b69b8c6f2377bf30bc4d70267ffbc0793"; - sha256 = "1jq46790rkjn6c1887wz98dqjk792ij6wnrifzk1maglmfb061hh"; - }; - } - { - goPackagePath = "github.com/stretchr/testify"; - fetch = { - type = "git"; - url = "https://github.com/stretchr/testify"; - rev = "f35b8ab0b5a2cef36673838d662e249dd9c94686"; - sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs"; + rev = "b5bf975e5823809fb22c7644d008757f78a4259e"; + sha256 = "1zpzxvn13wpvbblbbn73svaq39zgxfjqhci9d68g3qf309pcfy19"; }; } { @@ -229,8 +202,8 @@ fetch = { type = "git"; url = "https://github.com/ulule/limiter"; - rev = "af07f8759cbc68c744a15ffbfdabf35f7aff5e3b"; - sha256 = "1c68vz9r0442lkj206l6k03nssxx3ys8ddg7d2p2brdanfbprzrq"; + rev = "38b2a440be905c8be884fd5e114dc893a64e5d81"; + sha256 = "0sbbfz9k3m2hf45cx7y7xshsr3rac495lks9ciwmnrzsnxfdh3l5"; }; } { @@ -238,8 +211,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/net"; - rev = "a0f8a16cb08c06df97cbdf9c47f4731ba548c33c"; - sha256 = "1pnvrhi2minkn9mfa9p70b5jnixx8il5yqp08ad1w7kl34c21ma2"; + rev = "461777fb6f67e8cb9d70cda16573678d085a74cf"; + sha256 = "0sc0llch05q6h7nqgayi3sgismsznpnlsz4gh89y4klpymdcpbh2"; }; } { @@ -247,8 +220,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/sys"; - rev = "bd9dbc187b6e1dacfdd2722a87e83093c2d7bd6e"; - sha256 = "0zj8s3q2fznmap1nfr8pv4hz8xqixmkyhr6slq4baf8rvcb4mvbj"; + rev = "93c9922d18aeb82498a065f07aec7ad7fa60dfb7"; + sha256 = "0hv96nwbv0li3nrv43ldfzmf12yrrbji2cf8n44iibv8ps5kfssx"; }; } { @@ -256,8 +229,26 @@ fetch = { type = "git"; url = "https://go.googlesource.com/text"; - rev = "0605a8320aceb4207a5fb3521281e17ec2075476"; - sha256 = "1pak7q9ivwxh5bnjk00pkrs9ri9vmbyccvza56fl6138w397h49j"; + rev = "342b2e1fbaa52c93f31447ad2c6abc048c63e475"; + sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh"; + }; + } + { + goPackagePath = "gopkg.in/fsnotify.v1"; + fetch = { + type = "git"; + url = "https://github.com/fsnotify/fsnotify"; + rev = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9"; + sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; + }; + } + { + goPackagePath = "gopkg.in/tomb.v1"; + fetch = { + type = "git"; + url = "https://github.com/go-tomb/tomb"; + rev = "dd632973f1e7218eb1089048e0798ec9ae7dceb8"; + sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv"; }; } { @@ -265,8 +256,8 @@ fetch = { type = "git"; url = "https://github.com/go-yaml/yaml"; - rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; - sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; + rev = "51d6538a90f86fe93ac480b35f37b2be17fef232"; + sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa"; }; } ] diff --git a/pkgs/applications/networking/browsers/captive-browser/default.nix b/pkgs/applications/networking/browsers/captive-browser/default.nix new file mode 100644 index 00000000000..e7bec997119 --- /dev/null +++ b/pkgs/applications/networking/browsers/captive-browser/default.nix @@ -0,0 +1,22 @@ +{ lib, fetchFromGitHub, buildGoPackage }: + +buildGoPackage rec { + name = "captive-browser"; + version = "2019-04-16"; + goPackagePath = name; + + src = fetchFromGitHub { + owner = "FiloSottile"; + repo = "captive-browser"; + rev = "08450562e58bf9564ee98ad64ef7b2800e53338f"; + sha256 = "17icgjg7h0xm8g4yy38qjhsvlz9pmlmj9kydz01y2nyl0v02i648"; + }; + + meta = with lib; { + description = "Dedicated Chrome instance to log into captive portals without messing with DNS settings"; + homepage = https://blog.filippo.io/captive-browser; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ volth ]; + }; +} diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix index f31ff05a42b..8bdb33ed5d2 100644 --- a/pkgs/applications/networking/browsers/chromium/browser.nix +++ b/pkgs/applications/networking/browsers/chromium/browser.nix @@ -38,6 +38,25 @@ mkChromiumDerivation (base: rec { mkdir -vp "$logo_output_path" cp -v "$icon_file" "$logo_output_path/$packageName.png" done + + # Install Desktop Entry + install -D chrome/installer/linux/common/desktop.template \ + $out/share/applications/chromium-browser.desktop + + substituteInPlace $out/share/applications/chromium-browser.desktop \ + --replace "@@MENUNAME@@" "Chromium" \ + --replace "@@PACKAGE@@" "chromium" \ + --replace "Exec=/usr/bin/@@USR_BIN_SYMLINK_NAME@@" "Exec=chromium" + + # Append more mime types to the end + sed -i '/^MimeType=/ s,$,x-scheme-handler/webcal;x-scheme-handler/mailto;x-scheme-handler/about;x-scheme-handler/unknown,' \ + $out/share/applications/chromium-browser.desktop + + # See https://github.com/NixOS/nixpkgs/issues/12433 + sed -i \ + -e '/\[Desktop Entry\]/a\' \ + -e 'StartupWMClass=chromium-browser' \ + $out/share/applications/chromium-browser.desktop ''; passthru = { inherit sandboxExecutableName; }; @@ -47,7 +66,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 ivan ]; 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 5d59f7514c6..45c12598512 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -1,4 +1,4 @@ -{ stdenv, llvmPackages, gn, ninja, which, nodejs, fetchurl, fetchpatch, gnutar +{ stdenv, llvmPackages, gn, ninja, which, nodejs, fetchpatch, gnutar # default dependencies , bzip2, flac, speex, libopus @@ -11,19 +11,21 @@ , nspr, systemd, kerberos , utillinux, alsaLib , bison, gperf -, glib, gtk2, gtk3, dbus-glib +, glib, gtk3, dbus-glib , glibc -, libXScrnSaver, libXcursor, libXtst, libGLU_combined +, libXScrnSaver, libXcursor, libXtst, libGLU_combined, libGL , protobuf, speechd, libXdamage, cups , 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 @@ -65,7 +67,8 @@ let in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs)); gnSystemLibraries = [ - "flac" "libwebp" "libxslt" "yasm" "opus" "snappy" "libpng" "zlib" + "flac" "libwebp" "libxslt" "yasm" "opus" "snappy" "libpng" + # "zlib" # version 77 reports unresolved dependency on //third_party/zlib:zlib_config # "libjpeg" # fails with multiple undefined references to chromium_jpeg_* # "re2" # fails with linker errors # "ffmpeg" # https://crbug.com/731766 @@ -104,7 +107,7 @@ let else result; base = rec { - name = "${packageName}-${version}"; + name = "${packageName}-unwrapped-${version}"; inherit (upstream-info) version; inherit packageName buildType buildPath; @@ -120,18 +123,21 @@ 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 at-spi2-core ] ++ optional gnomeKeyringSupport libgnome-keyring3 ++ optionals gnomeSupport [ gnome.GConf libgcrypt ] ++ optionals cupsSupport [ libgcrypt cups ] + ++ optional useVaapi libva ++ optional pulseSupport libpulseaudio ++ optional (versionAtLeast version "72") jdk.jre; patches = optional enableWideVine ./patches/widevine.patch ++ [ ./patches/nix_plugin_paths_68.patch ./patches/remove-webp-include-69.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. @@ -141,6 +147,9 @@ let # - 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 @@ -242,7 +251,7 @@ let treat_warnings_as_errors = false; is_clang = stdenv.cc.isClang; clang_use_chrome_plugins = false; - remove_webcore_debug_symbols = true; + blink_symbol_level = 0; enable_swiftshader = false; fieldtrial_testing_like_official_build = true; @@ -258,6 +267,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; @@ -298,6 +309,13 @@ let targets = extraAttrs.buildTargets or []; commands = map buildCommand targets; in concatStringsSep "\n" commands; + + postFixup = '' + # Make sure that libGLESv2 is found by dlopen (if using EGL). + chromiumBinary="$libExecPath/$packageName" + origRpath="$(patchelf --print-rpath "$chromiumBinary")" + patchelf --set-rpath "${libGL}/lib:$origRpath" "$chromiumBinary" + ''; }; # Remove some extraAttrs we supplied to the base attributes already. diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index c7917e923d4..3178e2595fc 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -1,6 +1,7 @@ -{ newScope, config, stdenv, llvmPackages, gcc8Stdenv, llvmPackages_7 -, makeWrapper, makeDesktopItem, ed +{ newScope, config, stdenv, llvmPackages, gcc8Stdenv, llvmPackages_8 +, makeWrapper, ed , glib, gtk3, gnome3, gsettings-desktop-schemas +, libva ? null # package customization , channel ? "stable" @@ -10,14 +11,15 @@ , proprietaryCodecs ? true , enablePepperFlash ? false , enableWideVine ? false +, useVaapi ? false # test video on radeon, before enabling this , cupsSupport ? true , 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; + stdenv_ = if stdenv.isAarch64 then gcc8Stdenv else llvmPackages_8.stdenv; + llvmPackages_ = if stdenv.isAarch64 then llvmPackages else llvmPackages_8; in let stdenv = stdenv_; llvmPackages = llvmPackages_; @@ -32,6 +34,7 @@ in let mkChromiumDerivation = callPackage ./common.nix { inherit enableNaCl gnomeSupport gnome gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport + useVaapi enableWideVine; }; @@ -42,31 +45,6 @@ in let }; }; - desktopItem = makeDesktopItem { - name = "chromium-browser"; - exec = "chromium %U"; - icon = "chromium"; - comment = "An open source web browser from Google"; - desktopName = "Chromium"; - genericName = "Web browser"; - mimeType = stdenv.lib.concatStringsSep ";" [ - "text/html" - "text/xml" - "application/xhtml+xml" - "x-scheme-handler/http" - "x-scheme-handler/https" - "x-scheme-handler/ftp" - "x-scheme-handler/mailto" - "x-scheme-handler/webcal" - "x-scheme-handler/about" - "x-scheme-handler/unknown" - ]; - categories = "Network;WebBrowser"; - extraEntries = '' - StartupWMClass=chromium-browser - ''; - }; - suffix = if channel != "stable" then "-" + channel else ""; sandboxExecutableName = chromium.browser.passthru.sandboxExecutableName; @@ -84,7 +62,7 @@ in stdenv.mkDerivation { gsettings-desktop-schemas glib gtk3 # needed for XDG_ICON_DIRS - gnome3.defaultIconTheme + gnome3.adwaita-icon-theme ]; outputs = ["out" "sandbox"]; @@ -92,6 +70,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" @@ -109,6 +91,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' ':')" @@ -122,11 +106,10 @@ in stdenv.mkDerivation { ln -s "$out/bin/chromium" "$out/bin/chromium-browser" - mkdir -p "$out/share/applications" + mkdir -p "$out/share" for f in '${chromium.browser}'/share/*; do # hello emacs */ ln -s -t "$out/share/" "$f" done - cp -v "${desktopItem}/share/applications/"* "$out/share/applications" ''; inherit (chromium.browser) packageName; 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 00000000000..38d77e21551 --- /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/jumbo-sorted.patch b/pkgs/applications/networking/browsers/chromium/patches/jumbo-sorted.patch new file mode 100644 index 00000000000..cdf0f695f76 --- /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/no-build-timestamps.patch b/pkgs/applications/networking/browsers/chromium/patches/no-build-timestamps.patch new file mode 100644 index 00000000000..6b788f43d29 --- /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/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix index a097b9fac4e..a0ea67133c6 100644 --- a/pkgs/applications/networking/browsers/chromium/plugins.nix +++ b/pkgs/applications/networking/browsers/chromium/plugins.nix @@ -94,17 +94,17 @@ let envVars.NIX_CHROMIUM_PLUGIN_PATH_WIDEVINE = "@out@/lib"; }} ''; - + meta.platforms = platforms.x86_64; }; flash = stdenv.mkDerivation rec { - name = "flashplayer-ppapi-${version}"; - version = "32.0.0.142"; + pname = "flashplayer-ppapi"; + version = "32.0.0.238"; src = fetchzip { url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz"; - sha256 = "1mifgrfcvz1mc5w9s0df498z2dma50yq3vqw3pz82wxynmk28gq9"; + sha256 = "0jqx68lfqjpy6wbxdi0giclvh9mc9rha92hqdj1nx42v95k3gc65"; stripRoot = false; }; @@ -135,7 +135,7 @@ let ''; dontStrip = true; - + meta.platforms = platforms.x86_64; }; diff --git a/pkgs/applications/networking/browsers/chromium/update.nix b/pkgs/applications/networking/browsers/chromium/update.nix index 277ad29abe2..2334dc6a71e 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/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index 62858904ffc..14799e9f96c 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 = "0gd426a9xcgs8a9286gavziysq6fw1ilaifsna396dbdm8b571wi"; - sha256bin64 = "05p20l0969rppbyn7965k78ccynng47rg7d7h7piqiwnm6ffg9yx"; - version = "73.0.3683.39"; + sha256 = "0m7xdpi1f2a33csd7bsp91g5klz0hmr83ksfwsd2fki3iipvfs4w"; + sha256bin64 = "1b4cyf4v55sy52mxxl8d70abg5ck5k45jaqdjsjw7dvh3s2x4bwp"; + version = "77.0.3865.42"; }; dev = { - sha256 = "1yyzhw5zv803ysdj7zf0imdw9cf0mdlw30vphcb59a93nnvhkbb7"; - sha256bin64 = "1a1dswkfc4x2rslkb899fgywv5mfrmcp1d8wxy7h034504r8gy87"; - version = "74.0.3702.0"; + sha256 = "0x5r6xqwiggwyzbinm252xc1n3f9r7cmmzj6assi4v1nsispdh2k"; + sha256bin64 = "03yymhbpd1snycmcv7wkg5j6zbydvyc365gy5myp7wgas7cd0mb6"; + version = "78.0.3887.7"; }; stable = { - sha256 = "0bcc0iksk2v30drwd5zbw7v6sfbw16jqllc12ks2nifrvh058jjp"; - sha256bin64 = "0azyhnmdg3grladpkpsv67zxqiqf5a3x9qjfj8h831kh7i7m3gy8"; - version = "72.0.3626.109"; + sha256 = "0hajwjf7swlgh1flpf8ljfrb2zhmcpzvrigvvxqd36g3nm04cknm"; + sha256bin64 = "0hdsla8i3q0zbczia64ghqsf420alcc31xdishx1sv48x3rlrxkk"; + version = "76.0.3809.132"; }; } diff --git a/pkgs/applications/networking/browsers/conkeror/default.nix b/pkgs/applications/networking/browsers/conkeror/default.nix index ded2b688815..be1389c2121 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/dillo/default.nix b/pkgs/applications/networking/browsers/dillo/default.nix index 671ab03a2e2..8d6c99d2468 100644 --- a/pkgs/applications/networking/browsers/dillo/default.nix +++ b/pkgs/applications/networking/browsers/dillo/default.nix @@ -7,10 +7,10 @@ stdenv.mkDerivation rec { version = "3.0.5"; - name = "dillo-${version}"; + pname = "dillo"; src = fetchurl { - url = "https://www.dillo.org/download/${name}.tar.bz2"; + url = "https://www.dillo.org/download/${pname}-${version}.tar.bz2"; sha256 = "12ql8n1lypv3k5zqgwjxlw1md90ixz3ag6j1gghfnhjq3inf26yv"; }; diff --git a/pkgs/applications/networking/browsers/elinks/default.nix b/pkgs/applications/networking/browsers/elinks/default.nix index b60454c4a42..4f4741ce0bd 100644 --- a/pkgs/applications/networking/browsers/elinks/default.nix +++ b/pkgs/applications/networking/browsers/elinks/default.nix @@ -4,7 +4,7 @@ enableGuile ? false, guile ? null , enablePython ? false, python ? null , enablePerl ? (stdenv.hostPlatform == stdenv.buildPlatform), perl ? null -, enableSpidermonkey ? (stdenv.hostPlatform == stdenv.buildPlatform), spidermonkey_1_8_5 ? null +, enableSpidermonkey ? (stdenv.hostPlatform == stdenv.buildPlatform), spidermonkey ? null }: assert enableGuile -> guile != null; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { patches = [ ./gc-init.patch ]; - buildInputs = [ ncurses xlibsWrapper bzip2 zlib openssl spidermonkey_1_8_5 gpm ] + buildInputs = [ ncurses xlibsWrapper bzip2 zlib openssl spidermonkey gpm ] ++ stdenv.lib.optional enableGuile guile ++ stdenv.lib.optional enablePython python ++ stdenv.lib.optional enablePerl perl @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optional enableGuile "--with-guile" ++ stdenv.lib.optional enablePython "--with-python" ++ stdenv.lib.optional enablePerl "--with-perl" - ++ stdenv.lib.optional enableSpidermonkey "--with-spidermonkey=${spidermonkey_1_8_5}" + ++ stdenv.lib.optional enableSpidermonkey "--with-spidermonkey=${spidermonkey}" ; meta = { diff --git a/pkgs/applications/networking/browsers/eolie/default.nix b/pkgs/applications/networking/browsers/eolie/default.nix index 12a6c64c7ae..e067f3f15eb 100644 --- a/pkgs/applications/networking/browsers/eolie/default.nix +++ b/pkgs/applications/networking/browsers/eolie/default.nix @@ -5,7 +5,7 @@ python3.pkgs.buildPythonApplication rec { pname = "eolie"; - version = "0.9.45"; + version = "0.9.60"; format = "other"; doCheck = false; @@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec { url = "https://gitlab.gnome.org/World/eolie"; rev = "refs/tags/${version}"; fetchSubmodules = true; - sha256 = "0x6f2qqqxpjf28mqxs4jlrz2z8wa9nvb9h24nf8qwmzavjjbraqg"; + sha256 = "1mhl7p8pwp8lqx5z15r0lx1y4mb2c1gjwy3w6041cyc4hyb91693"; }; nativeBuildInputs = [ @@ -28,6 +28,7 @@ python3.pkgs.buildPythonApplication rec { buildInputs = with gst_all_1; [ glib-networking + gobject-introspection gst-libav gst-plugins-base gst-plugins-ugly diff --git a/pkgs/applications/networking/browsers/ephemeral/default.nix b/pkgs/applications/networking/browsers/ephemeral/default.nix new file mode 100644 index 00000000000..369689520d8 --- /dev/null +++ b/pkgs/applications/networking/browsers/ephemeral/default.nix @@ -0,0 +1,65 @@ +{ stdenv +, fetchFromGitHub +, desktop-file-utils +, gettext +, glib +, gtk3 +, hicolor-icon-theme +, libgee +, libdazzle +, meson +, ninja +, pantheon +, pkgconfig +, python3 +, webkitgtk +, wrapGAppsHook +, glib-networking +}: + +stdenv.mkDerivation rec { + pname = "ephemeral"; + version = "5.3.0"; + + src = fetchFromGitHub { + owner = "cassidyjames"; + repo = "ephemeral"; + rev = version; + sha256 = "1xglhv4rpl6vqryvliyvr9y8mqli4x4bjcfjsl1v8gdxkzkwfy39"; + }; + + nativeBuildInputs = [ + desktop-file-utils + gettext + meson + ninja + pantheon.vala + pkgconfig + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + glib-networking + gtk3 + hicolor-icon-theme + libdazzle + libgee + pantheon.granite + webkitgtk + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "The always-incognito web browser"; + homepage = https://github.com/cassidyjames/ephemeral; + maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers; + platforms = platforms.linux; + license = licenses.gpl3; + }; +} diff --git a/pkgs/applications/networking/browsers/falkon/default.nix b/pkgs/applications/networking/browsers/falkon/default.nix index ff16ddb90f6..6e21456a9a9 100644 --- a/pkgs/applications/networking/browsers/falkon/default.nix +++ b/pkgs/applications/networking/browsers/falkon/default.nix @@ -1,19 +1,20 @@ -{ stdenv, lib, fetchFromGitHub, cmake, extra-cmake-modules, pkgconfig, qmake +{ stdenv, mkDerivation, 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"; +mkDerivation rec { + pname = "falkon"; + version = "3.1.0"; src = fetchFromGitHub { owner = "KDE"; repo = "falkon"; rev = "v${version}"; - sha256 = "1ay1ljrdjcfqwjv4rhf4psh3dfihnvhpmpqcayd3p9lh57x7fh41"; + sha256 = "1w64slh9wpcfi4v7ds9wci1zvwh0dh787ndpi6hd4kmdgnswvsw7"; }; preConfigure = '' diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix index 256d2e39cde..50b7153533d 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix @@ -1,995 +1,935 @@ { - version = "66.0b7"; + version = "69.0b16"; sources = [ - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ach/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ach/firefox-69.0b16.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; - sha512 = "b654e75351d83ad81df615c9a3f3ce90cc7d033b43162be78cef88bdfa4f730c6f457e09f7a3d7f6f4253407dac6c65106f5af3f3422de4eb14e982fecd06367"; + sha512 = "5fe26093cdffc6c3afde7438bbcde7fb24867e70b74c18ef287d5897e4470f2671fe30053bf7d9077d9494e9cc97a2dabb9938d4c99fcaf7981d8df7cea281fe"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/af/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/af/firefox-69.0b16.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha512 = "97f7c12034384ef37db8a30b31e345caa578ed9e1720bdb4555f29a82397f009d2cb771946e1d05d8aaa67e2dcc6081829977201ab78303dccb98cd0084b0d49"; + sha512 = "2a1ea5564ac0bb16dc716f29f4f3a63f8029ba314e353ad74bb437a70ade138b29f58df2fb8320efbf5c001232253aa4a16f48673bc4c6e5906ce3c4c912026a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/an/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/an/firefox-69.0b16.tar.bz2"; locale = "an"; arch = "linux-x86_64"; - sha512 = "cc9822f0a07a490a2fc5e3138e0320b01e395eb648724c33d177230aba51e50bb3dc30630065e66d54b3f0aac8339a23393cb07e3eae15aeeb9d60b0ca8866f1"; + sha512 = "5fae2f3b33d7776f70a4244c6be02a47e81000a9de91fde1a3d73be2675e1ca67a2219f8aeacb70759cc779b985e4f0698c625c20f895e75e28ed9c764c8c3e4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ar/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ar/firefox-69.0b16.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha512 = "335d84de77df91f4fbdb545d8762d38a64743c1001a88133c64e09b05c5728134ab5bc6d9eb44795a797ac3299094f24fa3a00971bf030511c09c5c5bea708b5"; + sha512 = "dd8eb0155a3d9489645c03c3240f5ca2c6ee0b0de7cd82e62aad1575e8868f3ec763985c4142078ef8ace86da81887bf7d1f95c2ec22d5bc73086e230898e7a9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/as/firefox-66.0b7.tar.bz2"; - locale = "as"; - arch = "linux-x86_64"; - sha512 = "df7c4e094243a4ecaa3a269a3e22c15c6756b8df4a970284b98c8db3132e2b552c86c0c39241c58522d5263abd011f16f5d2f27e2f23dd191e98930801c52c70"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ast/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ast/firefox-69.0b16.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha512 = "5b81a7dd3d969336ebd8f88f88f42c2008ccebacca5ee90db6f406b3b3803c3ee5c0932dd0528d42197a9e44a4f23aea738c789221339dcd99ae2fe3be6a1920"; + sha512 = "960fea994048e4c08389c7701541266e3631c4d70f604146189805f1ad606aab16ef9c2b28eedee82acbe0f42f69c96a90a041ba4cf95fec060b1d6c29a94bc7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/az/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/az/firefox-69.0b16.tar.bz2"; locale = "az"; arch = "linux-x86_64"; - sha512 = "e88448e4c5dd8ffbd626a3c215165cbd1a6f57880bc0574e93cc1573a208c8c329fd684e50099f0512f177a809314f9e2a8a7e27bc4b37eac618a786202cb851"; + sha512 = "8e7b6bb3fc5c6726115a0a20f61d1cad5e9a4e9e86e462e1ab6a454f5257af22ebf8dcdea3298fc1e9648fe630c36245f4c45ba4093d45e59741ceb882fc501b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/be/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/be/firefox-69.0b16.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha512 = "d88e247de3ad2079852cd12135dafac94fbc491bd2ed974aa6891f30719568f29b7f85449ed3d236f52f7b376ae976fcf94cb15d91144789a837b71cee8fbc26"; + sha512 = "919a1f9007599ed0b325e0b218b18fc803c535f7eab76068cf4e94fe1ceb4543d090d7f341ba5f4d4de9aaaedc1b19d88ddbcb5c329ed5650d2ebc721f6aa49b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/bg/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/bg/firefox-69.0b16.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha512 = "41bc5b53dc193c38042b585d1c667ab6bb946a6479c7b64fe2bb160cdae559e59770c0c067249723d96f80993b358b0925c6d4f4e685e7f5bce50aafd7a6ba7b"; + sha512 = "6746f4d0c2a73f99bc04c3b12bcf54e5eca7262ac6d54835a567a23a07fc91775db9e64d0c5accf045aabd5d4645a753413f934e6eac9dbcefaea30c944aadd8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/bn-BD/firefox-66.0b7.tar.bz2"; - locale = "bn-BD"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/bn/firefox-69.0b16.tar.bz2"; + locale = "bn"; arch = "linux-x86_64"; - sha512 = "5fa6ccff9c96760ee5fcbb1a5a23a42412a5a3d54d61810eaa5b5670ff35715c20ba8ef449a922cbbb2fa5fc8d8817c64dcafb2f4d6945e8630141559a45da0e"; + sha512 = "ba88ff34405c92b907cc16e44dbd5d1db0b4bcf0fb75ca650739bf307a6e2270cfd69bba9ead6c260721857738165fbbcd4af44fbe8cb9d7402d97c32eb09532"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/bn-IN/firefox-66.0b7.tar.bz2"; - locale = "bn-IN"; - arch = "linux-x86_64"; - sha512 = "5912e3889444159c2ce5fa0e74feffd48119f9658f0f7f7c83cdd2b67b7694dbac908fab4daa91c34bd154d274a8fee4a9106709a5cadc1f75cdb033847b7f38"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/br/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/br/firefox-69.0b16.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha512 = "868742b065866557a6e128dd1d55122567df1385c83c83a69775abdf74b4c1dd46f7fa4c1cffdb0775e3cb3e1d50e1c767d3d6147a5d4f088608940c6c6ad232"; + sha512 = "e7c78c11b3fd36d7c6ab55ac9571a53615a595dd5c5d66cd3dc6fb6d3fb42a1b29dcc86180f2028502f25869c951ad3caedf4590a61fe525616f18d560d6e775"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/bs/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/bs/firefox-69.0b16.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; - sha512 = "edc9c5bf8570a778458987f714819fe29202d34c7f36702bc52c28d92ecc990a3cb5defbc1cf7e6de8c9cb5417a0511958a9b158b08e174bdf2fa461c5fbac3d"; + sha512 = "36a677f1c449ad58e8750323cffdea3200c3953b9fc6bf920a0439229eb00164d4c1199286d1f0cc47eb31b3fe7acf9e78ebc3f4a3f49a443d1425afe717ab2e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ca/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ca/firefox-69.0b16.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha512 = "c2afeefc651e088ed37a432c1ea41243bb104f46e811776a00fc16b8d167084fe2a3f89846439dd0c7f996761a998e6f2d9c858d956d77c2d889bf7604f66446"; + sha512 = "b78937e7ca4c7df19ed1c40a8b459d65176ca908333d7d19f30a377fddf836438cd750f2efeebb235c75c25f4a42a70e919c2c0061b865f7b90d71fe2ea119f1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/cak/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/cak/firefox-69.0b16.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha512 = "89738c8a65cc4f9916f9176dcdd724633af75eaf4ebab91dcee001c84b2a66d213b02e070653b9695b53f5f1b8201cd9e06f51d77bbe1d03635021b7aea86b2a"; + sha512 = "ac21c01a6528790fd31d56f0c637a0cee8b4cd0938ecd18200c48f8c982ee6a06a36ad779f9cb708d0b8191b7df4480d62dd75cd2a4bd0502cdd862aa8e95a08"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/cs/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/cs/firefox-69.0b16.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha512 = "eb43b421ea50f6bf7d5f5299cd8aebc56e610cfc83947246805c786f096bc4624c9f39c3fbef149c40b778450f3c4ff5f5b0cfbd30eb80ebaca28055045ef2e3"; + sha512 = "09cafbad6acc6db507d5589f4f89f3914cb80c826de9e55d8f02b42c29f6e46d24f49729efd8c67b5b575fc4dd240d8b32f0ed69992ac992b02c8f2639c2b613"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/cy/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/cy/firefox-69.0b16.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha512 = "3dda2c134eac43b9fc091a34c3ca39715be0fdcf6ed1a39c8a7c6895656cffd6b3321de05eeee15396b4ebc7300ed2a5b8b3f311b379a434369ee9239a063404"; + sha512 = "18de3618d1b1fd350a8c826e57898f019e9c792e5f97521ab52ee940956e8e49a9191e361e0426412ca27e63c1e502f350c11a68574f2be37b29e43a9a63b25b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/da/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/da/firefox-69.0b16.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha512 = "e22dcee97ecf12846bfb1e130b47a666b7b414db32397f1f1e8c26287d9068f4590d730a31dc79d2752fd4b9ab5ced01a8ae0435775625a737d2638480eb64ce"; + sha512 = "7fd40f49390d1ca844f31eaad74a419a28aab6f74cbad1f040e01ecc5b6691ff516a4d2c41c906e241aab54573580eee3b6b01531468cc3e35c4fa61f7b60931"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/de/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/de/firefox-69.0b16.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha512 = "2c1f121bd69d0fd3cc54e5c6dd90ee67cfae72a237df4ad733e380626f234d8404bfb066f77d918e6b369eb8d0382dd1e93d3c9ac8300e889d0ead88362c3201"; + sha512 = "85347a3419e55984769031850ec30f757238801cf8483551ddba35abfd0e2638c75fa358ec09705d28dcc647fa47ad37c4f545522d5f8aa54067fbcc232a47c6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/dsb/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/dsb/firefox-69.0b16.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha512 = "ab2580a816b8bc7bd8d34538240f1cb3761a3330f14dc9219e422ffa01813d6b8f77c858fca1fdf3e41b8624d80055faef943e51328f551d4e6a99690a4b35f0"; + sha512 = "a8f24207ea3b763a3295c1feb43c22f0e502561224a4d3d342cdd7321bd4e93fca83293834163d9a6160e0fc4c6aedb60b4f72e172e99eb98e6b8c0cfef665e4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/el/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/el/firefox-69.0b16.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha512 = "6f53270119cd749172c8a766e293117877e0f62801b4d45e9e6448cf3d781c746ba0a9ef5f26ffb8ccdd31db5ef773220a22ca019ee298e2484badbc3c785931"; + sha512 = "ca8a37134a897631e398448683e4805ea9fd10a30629c09f760b6b90b9e8fb6505adf3143031e88b7a189791f487aa0ed852c0a4911b93fdedb34cd0cec7b7b6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/en-CA/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/en-CA/firefox-69.0b16.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; - sha512 = "ff54928066083a535795c591abdddfa5a08ba9393f121fc98ea0c92e42860bec0e604562639dec6d79b04f906b2e7b7bd40259752b168835d7ff79b67068290c"; + sha512 = "b2c154bf92cf4ac6a4021b199e9e8438b59e4aeaa5ca7f72df41bdf64dcbdb196d384775b759b867a717e48e7a31f457cdec2c20e3c4dbd93d3c440ce277d396"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/en-GB/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/en-GB/firefox-69.0b16.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha512 = "370312880d10268a8e7963e9ae7e07849c4a8dff6c80690c44fc33a234c2466c8c0b71d906c5edb44aa07a27ad2dd93137d4afa1429d796039ae6cf89d7eae80"; + sha512 = "73c0b07840bf816f093c90b9103a25d2ff00cadcf13341ff228e09bf939c131db3ade9d3be472a4eec3ca5b4131245ea4c788171e6ee42beba7dc1c7881da0b3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/en-US/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/en-US/firefox-69.0b16.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha512 = "a4c27d076b2314149f7c60fe43489f5d19dfa3de1f349f52d00c342771789345d7c41d4c488803beb496fc405d9d7743bd7ea5fc9f8d8397191706bad459953b"; + sha512 = "c63d7358887ba0d8af897063c5431c2bd404fb9708e6b59d73c14dd8cfa1a2137af72eb01dfe25b9e6d92b84d5b966693cc89f5446ed3410f910e2df3f92b6cc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/en-ZA/firefox-66.0b7.tar.bz2"; - locale = "en-ZA"; - arch = "linux-x86_64"; - sha512 = "a4328cdd79b1c0c35d71cb2a5f8870ff2b340ae0859cf0d32d132794aa119deadb9ea185ea5852fea7d2aaffe788dd58cda7ae05bdc4d5f4d6c28f3379c27100"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/eo/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/eo/firefox-69.0b16.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; - sha512 = "6052d64d0694e6d7f4ea2b0e3d6de656f26dc12651bbca7cb5325fc1c8c2482a9c68d6dec34abd28db46b381a036f3a3acc9067eecf258311af41e36058962ce"; + sha512 = "0e4a373bac78d80e2849c41c93196782ef41a74f91c6319da690916138a78c20c9d26d8c96e5efe67a835185c8df77354b3fed5a62500e791634eb2f15909031"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/es-AR/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/es-AR/firefox-69.0b16.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha512 = "cb0e4ef918b2dd1848d09b80e2bca2b0b9fe81f87374da2b5e8596ad8c3beae0a75e9dd911b7fa686ab130bbcc7159cae087b7683a2e3e1938a695cdb25c8341"; + sha512 = "ff07382bcc926272bc69c10aa7f35eee7806d94a18ddebfa3599451d002afdda739461aad90d8df094f56b9b8840cedef659757245d4fd1a8603ac25d2a3100b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/es-CL/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/es-CL/firefox-69.0b16.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; - sha512 = "256cc9ec86dffc9247b09ea55d07a48d474dd57199972d36a24d95c043bc465d495eae45c8c8a7415884977997ce649e7d634330ce9a789d8fb76ff76ffdf9bb"; + sha512 = "201f631a6682c9aa13c511a0d6da256e2f207362264f6e1ea060568a9e597216407ace99508ebe820a348859eb72c6df7581276eca5040b3ee2e99e048c67062"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/es-ES/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/es-ES/firefox-69.0b16.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha512 = "fd767bbe55ce1a905c6dafa8297dcc481457726e4db1fd796f0974f9b06becd64c695cd258448692db45e4d168858f8cb529c74ce88a06fbfd94d9c1dc5d126f"; + sha512 = "76573a05de730de4c6bc76dcf98a21764c78baec4eb0ead45adae2658e9173b33c97132d0a2e5c95807a60a22c9ab2e1dce09e5b73ae2dfd905ced82ba105333"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/es-MX/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/es-MX/firefox-69.0b16.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; - sha512 = "9ee47247450b5435920a87baf878e90517d8b6e3cf6120696ad465b882e41294599a10646b27688f1f1b51aa34669a82931d9c5d028d7221ebf2f124808575c0"; + sha512 = "b619f5a2392ffa0b36f48503e94adf9cf1719911258e1752507f274078d12f74257677f3e76493fd080a0be08ca94964dc55129a59e292b1e2573676dc59e5c9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/et/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/et/firefox-69.0b16.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha512 = "b8f20f70399727bc6a737e44cd5c29d96cd82cf5066f1cbcac4b1d1e4bd81fc2674e44447d8c1b304251c54cf827279a64b8d487597b5d2d4733019bbeb10843"; + sha512 = "951288cf8a5745e433332798b87ceb54e35d408ca9f4e9d9fb288192de430eb45065fe88f0858f1a71e0cbeaf87c85c240a6d350bf8ce2f50c8ae548cff71f90"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/eu/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/eu/firefox-69.0b16.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha512 = "b052c683646d706e2feccd6a1c936445fa9f29539d7602c23886bb338138f0329b27d04106fd13c9ced843b50ba20a2f3087f93f77386129dbf8e976b2370403"; + sha512 = "78c856affa639c531d70e20b1de6f0eba59b33e403a1d24c3508fab03624b5c90db636d39b0c199f2fd0b5fab10fa3ecb2fced6cc3b1e8a06b9be11e8ec917b1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/fa/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/fa/firefox-69.0b16.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; - sha512 = "ef92ff55bc96e28dc710fd060b6852a236b1c27c059ff1b3b543229bddfd4b992adb8c4a1deac49ae90eb944d1d0629b20436f69ca2aee29c261b6e371bd97cd"; + sha512 = "a835fa37f804055dc117f694d85ae8b750c82f7ba92976def927f187ee91330a3d0616c0915917d1d0ec3c295f803c0bd2bdc9ecae0230f9a6642e42cab0e066"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ff/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ff/firefox-69.0b16.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; - sha512 = "c9b5cdebe25269aca9041fe361a3984e30cebc7b6ffcafce4b4ee3777489fd135829899d4ca028e667f3b0e5b007c4b985d8bb962a364a5b4e695ae647220fcf"; + sha512 = "ed3664cd4418ed5af133e00c30b3a9d23a82bb681c5d965fe00b4e2bf6ce4c777b00c352dca4cfcfcf5a895d7001dcc6de67b4ef0abb3967014c483437f9b1f8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/fi/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/fi/firefox-69.0b16.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha512 = "7a2945e59385ac1b9d9db373f9855f704d6a6a82a8f1a66d1068cf7643b3bb5c80b29561329675823b827e67387c0496ce9af46dfe20ecfc8c9ea31b20582aab"; + sha512 = "3edf6cc3dec21a48f914a754718a57cd495ed8bd9b807a9c4aae412a117ad1068abf0daf6cced6da74bd4887fe51746f1bb57dbc5858917ad17d8912cc9c4cb1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/fr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/fr/firefox-69.0b16.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha512 = "953f03192c33c066b48b47fa4eabe72c93d92540117f4c6060681da272c2f09600ffb58b679ae63c2e9b1f7540701bdda5d184bfa962799a284a27ec305ae3a9"; + sha512 = "9f92a2dbaf834f13f0f0fe2cff0ac433c01b7e8155a381d21324fc1e7224f7d5c0a8374a7e5e43f679232f565958ef946e3cbdacd3e711e34ae97eb27176321d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/fy-NL/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/fy-NL/firefox-69.0b16.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha512 = "df18f0c7f6c45da62b876ace7a9aab2699883c64356381fabd1886a810451f65c2a95f2df594ddb945a997090d917acdbd543a052f9baed6900bb88e4fb27188"; + sha512 = "f98eb4bdb595db2f688c25644dacddb2049fe8f8b21e83f8cd7031cd23587713f1fa53f39a0b444f6ee979901806811c16599224c6a1a7d17cda84b544ee1848"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ga-IE/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ga-IE/firefox-69.0b16.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha512 = "ae7952ab62b70cc5e22b45e0686702736ed88439a8b3e193db416ff6cdc0cd07ba9e9763d9a1cbda93503e5a2d25bbd0ad4f540e497cfd99d380f93571f7c7a5"; + sha512 = "eec73de53bce5c18ff0491d6f4018e3fb39471d3d63c6cf9527cff8f4b6b6e0a7e24e3b7fed58094409efee29df7dc35f2410ea05d5e916efa1d778926ab23f1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/gd/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/gd/firefox-69.0b16.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha512 = "7afe9eb5815568c450b1ffb41f55f0321dfe18e3837deaeed5a13cf0eb1569ea30f6a67ab7fa9599875c7020428e3cdfc115f38687f9b75450afc556f96d5c92"; + sha512 = "1d10666f6c563dfa07f708b058fe867b9618974394a5eb4733926429a76bb6ea59e7ecf6a2a89740cf2f04692186bcfcafd2eb6775c5b59421bab0a92a24fe41"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/gl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/gl/firefox-69.0b16.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha512 = "e6f6b1c690e55f74cd770e044e20bb6c8aee5032b8bbcd4a44ce9100d7718e9651e5e259e11541e2750a8ab4fb05d53d903ec6c8bb4fb07aa98a1156c41b73a7"; + sha512 = "b56d98f5a1e558aa73ec385c03b18dc9bc615670dc5a539eaf6c925f4af3915362d2d072f29ae3bde3f9ba266a321d704c6bfcb959d47858a650ffe7fab5767a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/gn/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/gn/firefox-69.0b16.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; - sha512 = "13f9b91e9ac3fba5eb6a6dacd98c3da82cdbb7da8a39b0b7fbd43ddacdead0f994b9ea8e703910eb46c65ea31ca5ae3b03e534defc1fa1605135e2d4d7e5eaf9"; + sha512 = "50a9d482efe2c22002419f4559d1b90fd5f368a23deddd78227b7d20b6a051870a997506a1de931ac8c45bd5d33ff9152f3a8ad41c735912b48dc0fe9c073360"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/gu-IN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/gu-IN/firefox-69.0b16.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; - sha512 = "db2da1f38a47fef2dd9f1dbac3ac946ffd93fab83aa152644116a66161fe9546f38b4e05e54d41ea41802c26c313b5fbfdaf339559001fd1580dbec2e1009cc5"; + sha512 = "8ce423880bb405240a78773c3f81aa08bf42b39c68068d3cc604486a96b44e7509c577b2c8f2285cce62181b7f11565ea6910c8871b798d0b6856765b16e1899"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/he/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/he/firefox-69.0b16.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha512 = "7b93849512bc9e0dba46577df75bb5db9d01d1b039e31efc714443d4a372c76cf9a8a61d782c3345aca9d8c31028e483dfa47c3a488eabff0a59b6edded46737"; + sha512 = "6a0722861c63a414690e9eeb2456ee492a92b8b20f8fd9973c1580b2e3ef1bdb87bb7ca0d17603c429a76805076e2a7c4cf986d643e790b2b04c58b69aeb8758"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/hi-IN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hi-IN/firefox-69.0b16.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; - sha512 = "8608b5f2d5a15c4d044c392689019abd3771151ec7746a2f7b8f23f759dea195938cc39a61be2282153820928fb3d937d0f8a17238929455898ad69897d3eecc"; + sha512 = "4e9ba72349a3e58ee2b584b5d3ed5f601a1af7714104139e7dfa997921e6b7954a5cb7b78b9b8b7bcb7eb09da990116f844dbd96cab901ca408c2fd49303c35d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/hr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hr/firefox-69.0b16.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha512 = "b4037d0941610b5bcfdffd725621127b0b5e78aa66ee2df8de4c00303dc87c39a2d07b452520461f4e4dd9f2d092f6f1a483fafd1ea122ece67660a1c69aabf5"; + sha512 = "f53f4177603c41008d06f16bf9e102855273f53856e57f79967f59af64bd38f745c4d71583db50917a45a7c3bd64940f69ecdb864dd957798c2ce5b65f5a75d9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/hsb/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hsb/firefox-69.0b16.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha512 = "624ced9f602692396b62f835f5f3576fbad76128599c18c5d40f7bf20f9fb9be61cc1049262455de4545c83d3d97ddc434e9cf2fccbd3111b8fcd49e4c0bff00"; + sha512 = "f6044e9f09cf4fb64dd9d3935332bec46ddd783f6335206a51e68a411be57169d4a6388224da462d65090cd2ebfee64946626fc41ac3d779f53391c1765fa290"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/hu/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hu/firefox-69.0b16.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha512 = "8a15e2ebf546d3e6346952c57e1a939c977699957a1ec31a95c0624db17fb6c06395a1e72510a821a9d22b8c95f30f0423aa764068e264293b934f10a4c8618e"; + sha512 = "0178b084718079f1e6117f723e2931275a28944deb5bff48c3fc9d2548ceec7a6f019253cb7fb014b04e6800bdc62eded02b1ad26efc2eaccbbd2d0ca359faa1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/hy-AM/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hy-AM/firefox-69.0b16.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha512 = "395c7e7b1aa62439178053a2cda82c15daf5ab489cd5c461deafaa6045898805124260dd8c6186ebac96ee59d9f1e307ae81e1c52fc3075e21cf14082b91dae0"; + sha512 = "0f069f14ab5895b1242b0b583e2a952c9a794e363973f68d119a791d5777048849dad23badeef6f155e1539b06468a4b7b0555e0e76f137edc523d09b6a51b36"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ia/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ia/firefox-69.0b16.tar.bz2"; locale = "ia"; arch = "linux-x86_64"; - sha512 = "fa8041532a262807fdf0e132d062a502f290cb8474af161080ef8db0e574dd8d4a50d730d07a9f9c94352812ab4f0af7a0c281778fcbeaa15c90193f0c31036d"; + sha512 = "fa0beaf3088becebfc5e4f02b884a572fc86b5f89dafd8e79741fcddd331f1d667b1c2af81050b56121ff40a2c9077bc514df9ec2de4d165b536d5b17cf2fa29"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/id/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/id/firefox-69.0b16.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha512 = "a8a5f3b772fc75a82efde0f5f72de8d38a6529efa176eae302ec32dfa93a239822b229171a2b88eb7e3adc3a94362118aff1af6731d1af1c7821febd824fc8ea"; + sha512 = "10bb29fb1f4a588f8ccde4e087bba1c7b405c44a9a79acb16d189f704bc31ba24e33b1c89b1879deba4d5c5da0a5f94ef69a7987256af6fbb6d7571db85a1bb7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/is/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/is/firefox-69.0b16.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha512 = "d8afee72c442176d471ed62e2e97ce643d3b5efc9dcfdf4ddfe0a0a434e5e1202dbc4a8a71948859c150981e6445ded7d43c45ac984a63ba03ddbcb6ae677148"; + sha512 = "48229cafe81da44259f0768f1494685afe072558dddac63c6321955d852ddd80a3b8729692dbb9c6b283a302e6d412d7c8d4f48888a0d5a1cae12dc1a025124a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/it/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/it/firefox-69.0b16.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha512 = "4568864e61228f2a6fd13061d74526512eaea7591efe1947d0e72c4eafe89337d052c3ddb9b76b476cbeedab2cf55c6a48e9b46f0430f95fcd46281d249ec184"; + sha512 = "1097ddf7dad776303b942bc80455c8902c0c0fe1667fab972754260da6fe45f383967b8bd2d51e845a66bc0728c7655050858722c1b3b8d2e8d0331c8f612cdd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ja/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ja/firefox-69.0b16.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha512 = "734ff5a6d08a1a711c63cf58c1a9e6ca2e6b93aeefcf4df165df5cfede8aeb2945c71d1fcb37dc62523115c298f653a2fb28a7024740c2890027091ad5c07994"; + sha512 = "ca0e8dd301c1e1f76acdfae325445b2ebf45a15be70febeb677d215edbff7df509db7a38409b5039aab1a76cc8cb235d597f5b87f02a96bf842ef6d2e11e6176"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ka/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ka/firefox-69.0b16.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha512 = "0292eeb31ae71bb405b72cab8cf008f4a535806f62bc9e397d312197ae5279c9415c879cb8607c6cf28b0df643b737c7f4bff3dfd72c8c8d69882752b6fb9fc4"; + sha512 = "99a1ae878c93ddf52c96466bae92259a4e51791ae343574c09f99e5f1878a15d705c84323af6b2871ddbe14c3f4b7fa5cc7a45c27b10b6bdf5bc70ce3a315322"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/kab/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/kab/firefox-69.0b16.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha512 = "8630af1ce9a4c2a83bb4fd8796907ddb9498cb489ad297782d4c0d6f419af77ce7974987e12fdd7bf12189636ea8f0bd669bc77dcea9f609745a59646ca6c654"; + sha512 = "b2b6190978068d2d36baf58efff771dc48cbaa09e53da8d19ebedfec4da5ab6c9c1c212ab0a9fb6cf7a264565b1815bcd2a2e0283f912c9ae3ab5fc6dd0427be"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/kk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/kk/firefox-69.0b16.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha512 = "dd8e5dcea7005e0d3a713396f42375a6d75bae349df6e6f58be105a83127696487da2fe8f701ba41439dafc3172f8181f5ea26374865f7797a6755790b5d32d3"; + sha512 = "3c56bffab7e32ba9e0a572df36c473e94a3ef7b84207f204b5fa4df1473e4f64fe11a0b7bf8dee4cc26db56e99cf21eeb17b598dc211a5d9f5b3ab3fc5d625b0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/km/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/km/firefox-69.0b16.tar.bz2"; locale = "km"; arch = "linux-x86_64"; - sha512 = "bdc102126ad2b3d44c8a24fec8e62340b72171890e59fbb7177d47f0515042bcbdea4ba7a56a22f09613b3dafafa1c9db7327dd233c58badb0082784e681e604"; + sha512 = "6a33560d83232074445c0cb31949f0e8ed4ffb18ce9407f4f9b8f5bb9460e949eb5d302b7f58a4ebcee5d27de0bc588e7d047ff8a17aa3edadc0ab595a175362"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/kn/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/kn/firefox-69.0b16.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; - sha512 = "0f222b303dcbe8e0c275f3cf92c53e68eb252963b9bded6ed4f9436f0e440fae7fc0e0b21f4e41a24643defd6a9a89d306aac481ecd69e4e4fc4fd3c74c5da9b"; + sha512 = "d67b40cb99923acd769bb10d824903dc01379c9a5245f6d9fe0747b58525773b2724329c64760ec1c18726056bd1f7d74d9e292b3173555011bf7e66d6169828"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ko/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ko/firefox-69.0b16.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha512 = "004f01005ecaf537fa515cc1703d95a8cf7bb23bab302b3050d29318c461b452dcf432a5c25bc0b7f85699e0074866c5f403b35c6d6009efeaa81d8bedf392a7"; + sha512 = "e932cf78de717646837ef432179a0b9cd41875b60ed5ec0c082f9b285c9899006844a61073689670449206a82c6a0bd72e076a51be1551ab3f757c6f0a060bb3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/lij/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/lij/firefox-69.0b16.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; - sha512 = "b751989f6154f7ad94fd4a54e5cef4b0342a6457b7e742d7e7231faf428fe1a17fc1c16bc16d55b32b7ad01487b0d59737acacb2b27097452cd100b163e09421"; + sha512 = "d52ee5886f86e511f947366caaf2769c4b3fca87254091c395077dab4b665b35de7b66cf90849958bbbdd61316d5df43014a8c9f9bc9006641a40aa2e8d79f98"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/lt/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/lt/firefox-69.0b16.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha512 = "3415c6daef10b4495cd4e569e813a6c9d98714ad2b531d32188b5a567dd40cd3e18f6645e9cbd327946c65edff368737dc7e49864bad52b36ea57e13351881fb"; + sha512 = "ea57e8db294d8b293a48d61257097caca093c9a2ed0b14b2d5c486de44b542cc546b751c2cca73ff6ae4945c210018a35ec61583f5b338628894117c04dbd135"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/lv/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/lv/firefox-69.0b16.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; - sha512 = "28380c325117855bb056fba5b02cfc62242cafa36f026c1827cb814097790b29e20e8a3c3c466b7a138577f38a11dcd2bf10b76e3415db14462c97db7701018f"; + sha512 = "66054fe532331c73b0718791d83f389ad369fc77ecb0904c6fe3f97310ffb4d88e316d9dc618a07dfd4569b3c746ac882d8b353484c580af63c59f44e8257c11"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/mai/firefox-66.0b7.tar.bz2"; - locale = "mai"; - arch = "linux-x86_64"; - sha512 = "199fbc8729127797add6bbf29dca22e8c9b091f985a060cb0bdb5c573028ab71aa53d3290254610db9272cf08bdeb23bb5b4ccf4fd956848b805f808f3819985"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/mk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/mk/firefox-69.0b16.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; - sha512 = "372cbe55cf84351ece90347fa093f19a30c92768d0c63e84c9a436b2e6616da74bc20514208fd23a9b78a81f70274292d23d2bfca24d3aa095c344930e068e37"; + sha512 = "0f67149117eef961fad9355fe61353a3a2ee15f19e92a592d6fad69e46ac488c26f2b0269f6c229df51690bfead9e85c1ae0489230ba32fb27609900a9725f57"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ml/firefox-66.0b7.tar.bz2"; - locale = "ml"; - arch = "linux-x86_64"; - sha512 = "f45a09a86f05ab0b0268105ee5edcb620b53ea097a4523d7e5a5f2148dffe226aa25e42d2132314b2f8df9a94868cf1fbb523b345acb4c9a4bea3f5ff0097184"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/mr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/mr/firefox-69.0b16.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; - sha512 = "bf3cbe6de2574c0bb7a1856a97376363e1db88897877602cce2c07eed7a5793b0042c0ca0b6af034fefd9ec998c4cce3621018445f8837ab4d9f53c8af6459ce"; + sha512 = "740667d86641c92ac299fd63700ad74dc4ec2fabb261bff9abfbb704e7181863556aec952b420f5883ab6a18e66d237d15636e2d9eb7bcfbece6227190b4b6fb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ms/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ms/firefox-69.0b16.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha512 = "c8a415408847bdc7a0ef2348c3faac2ddc2389e608e536ab98da3ba502dbb7d424f67ea5bac9aa373a1dbfb50e075cb16f525c5203d85522c4c79028b1511686"; + sha512 = "21ed058002c2c57c0e0e43658b12a7b257009814d13566d2d8a5164d0d3acb131a8c90f99b1e577b6d002f7e5019e296010e61b1df2c5d2e9443e8f55f20a4ca"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/my/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/my/firefox-69.0b16.tar.bz2"; locale = "my"; arch = "linux-x86_64"; - sha512 = "6a3a74266284857e6b016fe93aa00a0c149c087166fb8a242186e0eba1998df1c96fea3c6fedd0ee65638a5372dd2e3d49d0abc45c60d933b03328346caee568"; + sha512 = "8273c4d0df0fda727465d5bd4b50aa09dda1c81b4e78e291479efcceadd87ad24f50e2dec1accc2783fd0bf2e30a2d9e775d44ba599384f0e8e4ad0b6fe08e25"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/nb-NO/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/nb-NO/firefox-69.0b16.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha512 = "4276088362d3142f751a3a88e4bc435b82055a86041084f1a056b2b9bf12c3d2d657808ea8802484a1880e1162734f13b809f246125c83374941e4283cd00060"; + sha512 = "492842b037b018bc07827902e76a117f9ee4620342af102f2753e0d898ec9b070412debc6f72dad2d899c3869c27d2d969bbd9a8cbfe4d0c10d85428d9c7f3e4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ne-NP/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ne-NP/firefox-69.0b16.tar.bz2"; locale = "ne-NP"; arch = "linux-x86_64"; - sha512 = "680151304f1156ff0a2e05942f4c1b78966c9ea9dc8b23fd5e17cceb36fe1808be23eb83a21c6a93a42e5f13c2d2c12d81e6572dafb982569c0c74b0ded69e65"; + sha512 = "5e31871031f4745af8e050e18b1d2f2a16bfd18596358b189c7940a8ff11e999e44cf2e96b62404e481d0d8712f151a10290ec36e5903ab72e26986a03f93e12"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/nl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/nl/firefox-69.0b16.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha512 = "dfe9e2fd0907602927b07fd7f300bdef8ee495762d1006852074af0d968e3d3910d0ab0385173742fbb40ec6c2abf951f56a467ec77bdaae996ef21902bcdf92"; + sha512 = "8ca6f3842359e5a97445692747ffe0d65bead4222d0b2f90f86dc637a6e02a1cc75909ea03acb0c232185ad626cdcf2a5dafd27d578420385b7a4df353847323"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/nn-NO/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/nn-NO/firefox-69.0b16.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha512 = "a98cf7be210e1bd87accc2ad676ec42e69764b0c8ab0c767a2d532c8348f42a8bf773ab7211c4988095e3de86070e5dbe43a62514871e4765d211faa90ebfb99"; + sha512 = "a64d50c1625f4da5cde3aad78b04a4e3278ef3aabcb19cc9a9542e45f0c82f09a63fb464c0b2d842e107f22ad12226655617023afad112292ddc22d735a25d54"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/oc/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/oc/firefox-69.0b16.tar.bz2"; locale = "oc"; arch = "linux-x86_64"; - sha512 = "acba5537fed9e25a657363c362df74ebeb74574db96e187e6ec952f0a43d67e4ce4ca33fd74f000be66d3b47f30792ba8d04f3ab7b0ac895e7e8dd79807444dc"; + sha512 = "1b873b5a90c8130be2a782f8c0459f853d3fbd340d7500550fc7628282b1e575d92a1d0af263665f7fac7192c22910e8338b66abda828ffecddfec79dab62fe7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/or/firefox-66.0b7.tar.bz2"; - locale = "or"; - arch = "linux-x86_64"; - sha512 = "359be0716f8ce0cffe983d0c716960ca860ba7321497ece3726b4dc86166ecb31727412b11335c56f2db1d64900a46049eaac1f87a57e7c05bc9a28c5b287ced"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/pa-IN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/pa-IN/firefox-69.0b16.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha512 = "ecabb157083f7d423b0b07a2ec8ef906e0eb6c36c14f46c64e90e7fcf9e889955758b062440f6fafcf0dd84f733cc36b63600a50865dae11dd4c66e7b7d7ecbc"; + sha512 = "6aadc5b934136d99161d4f52df74653ebe0ba2d5fd1e2468c103b34862a331ea269c23956ad27c7883811a474b6f915f6076d9673ab4767e5a3b0ba44bd32ec0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/pl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/pl/firefox-69.0b16.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha512 = "47e3e5345143a1638d9c57575fb0e9b2bcd579195cfa90086355abac54c043e311e136a8ddf51bb86b1b613ecfa44f775871aa3d9e2ccc83a8e14494640eef7d"; + sha512 = "b3caa21e7ebf3083be1ea13da68a83775a0713f6046994991328a293cef558abc523c43572ee98587c777aa779498cc5d7e671aac622142b4801386e2e1532b3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/pt-BR/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/pt-BR/firefox-69.0b16.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha512 = "78345b4ad5097dbea9f8598fe48da9cd44716bb301216959741ee3b0da648802e439f718f464b5c0522439419cc0fb2d007c3f476a688d196afad97a66a5543e"; + sha512 = "f8b591901004a08c74a79cc4a9beb5139adaa2ba15261680c20c215ece1f1f115f0a71c4a2af2665c2c35bc3c5d3b5016159dfea5f603a981d5ccdc6b28c3b98"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/pt-PT/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/pt-PT/firefox-69.0b16.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha512 = "f52f3418536860424e158458e91e8332675beb49aab8e39b00591d1aaf55fe6ee9c095de6500e793d23c5e6518c3bce44124d85cb8ce535b7e5c44fb078544f2"; + sha512 = "ba910b1e9e77a938f4208679141b24bae1dea6bf83a2f3a2778aeac59da1e8ab22ffe9333188316e170bff75bfae57258f3ff53c08774d00ee060de2d6871f21"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/rm/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/rm/firefox-69.0b16.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha512 = "70a34fd05f3b03d2021527934055e35f7b7b1c55619b69386d32ef23568fcbdd19393b1b7c093d6f2424566d41b5735763befeb09bc41775c059bd77c8a6931d"; + sha512 = "0272ede3149ece3f87192f8cdcfd74313fca17fee53c3c86dedfe702c8157257f29931c14168ac11095f0b0def077f267f222919cd7f4b5ce020797c36c3c603"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ro/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ro/firefox-69.0b16.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha512 = "4f9fb2882c5a79037b95c11da8b23a581593cca27b6fe943eccefa11caeb94f35e3335b20145c8252cf7275df73d40bce164dfe316396bff978a5305eca1173d"; + sha512 = "b58e3742fa43d52f737285c60e8b1237fea5158cd096450bb6187ee10471af0a77025fc526805c0ae8ddfceef7b7505dc637c8f72ab4188db31d0ffdf11ba606"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ru/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ru/firefox-69.0b16.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha512 = "036a47c7d6c86a658422f43d8b5875b01e24478ecd2511b90965c505c2e3153d6fd64861606d89d34e678ecb05ca90e2a034c79ca9359399c91d4d142810439e"; + sha512 = "f0086698a2deea24dd1510da377ed9094273a7867a920b0d05c6aa47d4f4c5042519d02c5977747df05a416a4bf94aad0a52a0b03869e693f621959a0f980a26"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/si/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/si/firefox-69.0b16.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha512 = "9afc826ab7b577119bb8accdb99b444bdb9d365910944914f2b1fef89015ad2db010c2a76b70d3b45fe4c35cf892d8d47b13e6fe0e15faa9b64f4db85b493d42"; + sha512 = "4b0018c753aacadac60961b1e4a793b6a0f36d2f8844ada2515ad8081822cbb869ba23f7a69143af860ad060d86e7ad157a41609c1fff0cf481b45bc55a23c0c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/sk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sk/firefox-69.0b16.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha512 = "f20734297f0a74161dbad53607e5b41d893a1256f066ebfec944e8cea2f6ec0b3825e76d971f3956275c4ead151cd6c93c85f8db520745e5972b78ba59134f22"; + sha512 = "f19ddd306e48cf04bd70b008fbbd6827045d332839458126ea16393b04e6b76dc8397ade3bc28f5798ef24f27c9dafb578808f3ede8808609c24a8bc20935448"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/sl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sl/firefox-69.0b16.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha512 = "93802f825030a9f4da4f3e1a334c154e323644a73b9ab33d9e4ca57636d2b26dbff2111f897dbe4f6e52867f90a0c8ccf079d81eba3ecbc50a30fbb4a81e9e4e"; + sha512 = "104f68ebf03ca5165ad9fd049beee70658156ae80b62e88e2342e845ddaf5603199d3ad66423a08766fac2ea2db07766e66b9e09b9e480af4cfb08e680d5dfae"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/son/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/son/firefox-69.0b16.tar.bz2"; locale = "son"; arch = "linux-x86_64"; - sha512 = "de7f5063e7662c16f84b792ca2f3d8312627d5530997637b7b10021b90f3f2d56365d58f9d7dbf5fd39cf3031e6596f37d2b37c7fe572cd033d7de03c9879b95"; + sha512 = "4ba381efa38f56c60a7c9afd625514c2b93cd89dfbd3e99968b89b8ae57bc8344f5686f6e7c87d8b21136d8f72e4c61af617152d534b749fe0ee731220b60716"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/sq/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sq/firefox-69.0b16.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha512 = "f9d482c2e572228dd916fc10c27250c1d6b69e2a3f7ff8bc9a03ac48aeef4387c5cddfc6509999819cddcef2c1d03b25fb6646d1402e73ab84df0114a7648d0e"; + sha512 = "8a3a3b1a8a48e8e681ae7765d8a0e9fce8f87f3e12f4af3fa4fce3dac0ef74524d4a14c1f802233362969237f893e02d22fd44d7e032ce2f45e69abf8a18c738"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/sr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sr/firefox-69.0b16.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha512 = "98b75fb820d8ee4109b59029e1e9c411875d37fd85ebd993c8d77e11325a810a96d50a4f0346e9e8fd9f69d58497dc7ad7c7121631909b33cefc427fe6733bff"; + sha512 = "6ee469e7a091662d62250f17c7d45810f9db853571185364fd7e9f561dbe6e6582c13c5faad081769a8fd715fcb0230347cf88e642531a1d7e941072a2003990"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/sv-SE/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sv-SE/firefox-69.0b16.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha512 = "9d8dd14d7ec016d7605938c0730bca378bd7a16c7a342e1efd0a6d28bc0561265426bf9d9748feef778c6d806cdfc347b723ff2534089caf5be9424f747d769a"; + sha512 = "5ba63456a302baf31a03f129fbbb820a1142a83b41a44829947ecb1878c1b7723035313844b7ac5e950440ba1feac7f14ca1473b1acc75f4899fb2abe259057a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ta/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ta/firefox-69.0b16.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; - sha512 = "0e2fffcf0724395e4dc1808a569ccc244f560e736f7219fe550fef4109ef695f41d17621d42049f20cf5eb9abf1806b08526f7c6861f345f9c210aa25687e6ae"; + sha512 = "b9f59f57c74ce57b80268a139bad81014494e9b2fd173be997c5aab61aaccf28f84d0eb1089c3abcf21fb62dff02b1b8e0176e0f4e3adaddbebc5452d9f9a07c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/te/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/te/firefox-69.0b16.tar.bz2"; locale = "te"; arch = "linux-x86_64"; - sha512 = "e05c49be0770f6901164ef37762d24bfff1aef3de20e991d48e9e065ea449d5fa794fac4f50fb638a2b90b9537c316bff8fe77c3a4a5f2a4f89ba83a91857f4b"; + sha512 = "84130d585c0b0e80007c9c1fec4011c44bd087576d1e351bb899893797d4ee8c9f856dbe4b9f8ad37a2aca98dc46c9eb81aef1cc236947b672f7c6a978f28bf3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/th/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/th/firefox-69.0b16.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha512 = "cdd1e25b5b3f4344835707ed3cd0601ba0f87cfdc8f01324d14fdf765b7c2f4e1cbaf6b0aaf280a17a13d4c72d382da58290819cdbecbcdaa000af2d8af2a007"; + sha512 = "2a731a0294dd73b113983d70e4c5a779fdfd92a855e635655aec5e2316a32c97812dced18c04820c4332ffca63805af816df5e7a180d9c8108eb63f4339d8578"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/tr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/tr/firefox-69.0b16.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha512 = "6b270e7fed5a02e403ac4bc3b744a051a9a3d90f709fcfd7bf6cc72a213b803ed65e5a03c1513ab1d756dca0ef600c794355923948f8bac986c4f9163bdd4270"; + sha512 = "5e1f639a0807cb403bab8157b3ccc0806d3704e27d2e682ab56bdbfbfa488b71d454dd983f4c9cd1754cd1173ff6e14f097cd2c8db5cc7075a63b94871dfe94c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/uk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/uk/firefox-69.0b16.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha512 = "23c90ca3ee790f760b804b3dbdaab61a154826f5c58c2a24e1e358782b621c82a61a5ce7562b957e5b8599fa3aeef73ef8b50afca0e9e20ac852c70c47d1ddd1"; + sha512 = "33ec6d4c9ecfeaeaf5659b809faaaf60f24382f2c8918eb4bba81231c12f0c8049bbf766fa3a41a8947e6c745932b4e908f158f6a532c473cbea3c6a833e8d29"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/ur/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ur/firefox-69.0b16.tar.bz2"; locale = "ur"; arch = "linux-x86_64"; - sha512 = "b7237e418bfe05a80f289eef07756b095fd6320ccf8cd3acf6403d6325c10cc8b37877f1be19208f7124d3c0c23c610b990b0ccfa5076a9c9e25a37dc865d3fa"; + sha512 = "2b06b2b145593f6c3cb74b16553aff15b8d453b3ddfe6a8ccaf2cbfa0beec3274a2b04b10373c5420dc67062c246d484f099ca3dbf1fa94ce0dd6ab6533dc066"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/uz/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/uz/firefox-69.0b16.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha512 = "30d9291609e2163fc24f9a084ef4a76ee533eda3f2a3b51e95264e86841cef0b95351c875a428a5cc701da4dbf6f6e5e0d5416a1274cf01e9594017efd22f816"; + sha512 = "86b5066b07f8b80dc86873f2f418a4526e386f65711199008538ae192d9af06cfbcca1132cc95007b44a9ae1afb5a76de7a2c4d971b59177e097b4266e075fdc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/vi/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/vi/firefox-69.0b16.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha512 = "02a7c16ffd23241b621a0dc6144a7a99f68dcdd3ee88c17c9c1c2ae92c9f1c01241db7fac0d57d80c1d0acc12435e7f2ae4102934345ddab51f975bd1539a7f0"; + sha512 = "c474e765f85a145d4fd0c9410305e56fc8f32c6eb9c0ae139aef48e1b35ed4eda941c92d3030266d38738ea559088ba799db1c937a0fbe3867583beb4825a93c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/xh/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/xh/firefox-69.0b16.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; - sha512 = "1f3a3e14c14a5914fafe52eca1dd85869b6bb301279bf248206ebbe66614029e30a470457d7165eeafd998a79dc92325096d3f161572e0ef694836fce986debe"; + sha512 = "2fd1fac92f3bd260949c0851849424fce5ff56989e7c9486ff11702c85514929c49952568ea45d0e2889e806f6ea1556748b475646c90647a92e50716b1250fb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/zh-CN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/zh-CN/firefox-69.0b16.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha512 = "fe701c8ea2ebc9b18f530470a1babf0e5d3202cf3f97f738b032d6a2356704c8725910e921b6ca7b40b809f7fdce41ea5b168ed1c2d2f0e6f3a5a6efbc463f88"; + sha512 = "b3d7786d3883a99ca1833905ab971aba5a4ed42fec451bd7d5664c329a4deb495afbf00975a7c9935bff42b42c828d830984d389a6b0b728586dec9017e37fe1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-x86_64/zh-TW/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/zh-TW/firefox-69.0b16.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha512 = "593cd1a610047033ef770c8c3e9b469ced7c501ea4ad687e6cf72ab734e9877a8b5f762e6b2b0a1f1706d1205babe92d662a8c0dc41c096f5d6ec7555c25f354"; + sha512 = "67d506a05c404911c3b937dfef3c696ae6d3739b3113ad288b46b9a995028d48ab7c7dfbfa7a735f453698dc1b58864aed7b718f3b81bf42d3e8114180743692"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ach/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ach/firefox-69.0b16.tar.bz2"; locale = "ach"; arch = "linux-i686"; - sha512 = "c047bfb9e3f62a0bea8d0f1352c8d1780850835d156f442f35a911f677cd877896cde1c4ad6f49fedaa780bbcc7b46c434b26b6b3598d66dd3e2da118f2b0b6f"; + sha512 = "8115dc00b12319c89463a0c97c3117df8109d68372ce91287bc382238d0f0a6d2795d8540bef5ad5c5215f237bc1b23e4e9f11a63ec8aa32b80e0a501c27f534"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/af/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/af/firefox-69.0b16.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha512 = "19daf8339c6082dff06c82cd1d2a7e7344df6f6174d8c7b22fd75d74f2cf64fedb38ae420016024317d4ea0ca85739d561a7e2dbf258e1ffff26e00d12cf0ed8"; + sha512 = "1bc5809edf99dea1ecbd942e92879139056e1d5bc83512c84fd110b227c37f76997e1f2d00f4471f03cc00cecfe4e3e2e62af858641539c08c4685a6986baaf8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/an/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/an/firefox-69.0b16.tar.bz2"; locale = "an"; arch = "linux-i686"; - sha512 = "6ed3e6e89f6b5a4bf8a21f910ecaeb152d090d49273ae600c3cc7e97e71699309825b2dca870d536a19cdf00b30c68defc540b901d8f34801580a94847d084c3"; + sha512 = "7a1abe0ba440d50362ec550da3061df3d2e498f94587591cbed920c7348e2da6f8fbd087bd3fcda2462e18722db0b0c2ec129aee8562670af44ecb333b2a912a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ar/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ar/firefox-69.0b16.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha512 = "e9ac54884e9b9c53a97f38214436f3379f64657edfe9fdd133f5e61a67f4d28ed1859270312accdfcb5a1748a9240f5561583eb37319d0011d60d062e9826168"; + sha512 = "89adee7c9ce7e74ef7890f3b8ddabea3d6e06c90db695f3d19af64b7c6602f9d80cc2c2c6d2958ffe4909d734507074f658cf4f04701e5ddfa9a9a9d4062e21c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/as/firefox-66.0b7.tar.bz2"; - locale = "as"; - arch = "linux-i686"; - sha512 = "527a9f5155cd75294209db47bd59254b2a57649b055b5982de926ec5411dcde56f02fdd33afba2b38392c32f8558df9fb97f5c845810db1bfd55fa73ae5ffee2"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ast/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ast/firefox-69.0b16.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha512 = "ba440780d470fbec02750d8298ee718907766dc0f97374a07f0a8b1e728cc8a99e41430461cbf3b6fd70f01af8a05e63df709908003dcb4b9225bc6cf47738d1"; + sha512 = "e20bf6a66f67713cb3225b8f8109c4d44943102d2a37571c3489b02d88d5b677d2465e2bd51783e720e5f31b59ad51a1ba7ba0cde723e942059080e840c63253"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/az/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/az/firefox-69.0b16.tar.bz2"; locale = "az"; arch = "linux-i686"; - sha512 = "28f0b46f1270a57e28002401360dd2c0c074e912d1fe71edbedb5f590b44b0966ae22fc7615fa2509262ac2bea1a28a11e769fc2970bfe68c73f0929530604cc"; + sha512 = "30a25fdb3280a740c11f9b3f53f871fcb294e83377fa1f6cfebdf939a73df583d8806470eb62d3174603a29eba599ea5c6d5dcb4106f4afed18a899dc30c1170"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/be/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/be/firefox-69.0b16.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha512 = "85c7470c4def8f05a9216c0d6cc41137bb97db1b75f0baef6168612d8848afe65bc30dbe1e528140ad09b87196c431bcc3566cef3401a1c41aa1c9c6ca448035"; + sha512 = "485be4d97719bb771e25ec80f84ee94b7ac5741baf4a08a06a02ca54fc915d7c2a54ead25a0abc9d40145cdb7c1a34ccf6a727eab710a29407ab5587f6a0e778"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/bg/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/bg/firefox-69.0b16.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha512 = "167734fe15a4aad537eab4cef3eefe403df2f72be1969bd6f599f9a355457862a794a74984d8480ebcb88230a471230a09f9cfbc44a05835869cf2f693cbda5d"; + sha512 = "14b2380a52cfce2dddc48a8c0cd52ed31d01f3c46728aa866e0d05360f9d078aa7f59ca7bcc33d0ca7beb60c81780d5def46e1b05786164a0123d95b80aa100c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/bn-BD/firefox-66.0b7.tar.bz2"; - locale = "bn-BD"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/bn/firefox-69.0b16.tar.bz2"; + locale = "bn"; arch = "linux-i686"; - sha512 = "e33df73b8917aa7b3b0dc3d9600d7082943d595b8e3442944aa2570dfd3bd755f596c21b7f06d46e6e4b462e54a5092e0f503e6c5a5838968e9ee5975d431784"; + sha512 = "1ca9adfd64c8194fcb7014cf48a87e171d5fd667515a972259e9bbd5ae436470a64c2c03a7d672c411bb0644bd962e41f60dd5385a5c04aee1ff7a2f5b847eb8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/bn-IN/firefox-66.0b7.tar.bz2"; - locale = "bn-IN"; - arch = "linux-i686"; - sha512 = "468360b5d13a3a43eb3df625685028c4b3077d1ba31332e994ce26f8f88c65c2458426fbeb7ea0e7657e7f1c5b43b8be772609d44c615fd1ea248e276ca7f90d"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/br/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/br/firefox-69.0b16.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha512 = "90c2eff0f21f6f4424dfe2a054007d9e2a052c33edf18ac24dd4ffde071abcfc90cd48372eb8ae0e2bfa7d2aaf7d84832786dc05f33f1ba61d0eb08f439f7d98"; + sha512 = "e80b7a6ea23d381b416af92502b74de117eaf406f139705390b756c604b58fb874eab389da7d4adab4a14925b53dec66b768892a12324f2f57979ddf9b3fdff7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/bs/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/bs/firefox-69.0b16.tar.bz2"; locale = "bs"; arch = "linux-i686"; - sha512 = "d4e04a8a6dac7d2c01342d80c6cc3194581f67a6a428f7316e6f96424e2b33fdf10e280f299c547920910e38d1c5323914c18eda735d23d038ac1a6dddd21f83"; + sha512 = "72b3c206cbf559784bd2adccf3a24f85f840e26b4975b3b0a2796ebd5c1ecb2bb00ccf6c1cfd7fedca191fae33f6abbb71d742e00e74aefb7b4314c91c0bf0a1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ca/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ca/firefox-69.0b16.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha512 = "cc3bed4f93634caad8dbdeab570c67a09a64ea1ca4ef3e26797bc27ac63f41ed9487eb11d339cd7be06cc5a77d64c83297847f7d39c5f043b384f0ee6b89602e"; + sha512 = "450f99474c8f86c5af4bdd210be09a6c05d9638aa9efdcabc8a0d636d7965033f4b885fe6a48d22fd50b6144fe461fb0f5aa7870fecbafa9f1b8cc769465099c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/cak/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/cak/firefox-69.0b16.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha512 = "31e7f7cc51f31ca19f9d8ed1facf6019ae863a9d3ab61c60b7817576571ab4ef65249867bda776f416a1fe5051840220b125edf05666a02bdb29c20f898ffa08"; + sha512 = "dd9396d37038bef1a0dc8b052afce384c83c7aa9ab9992fe6eae879b6721b251bed5c12f7b1599de86658e16829bcee15b411ff8dd40bd8afda29ae5996bb041"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/cs/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/cs/firefox-69.0b16.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha512 = "d906eb97754aafcf4378b6be23569c346e4c7ee8c041701affca50ab75e69e0af5fc2f9f0a2e1f5877e6328a2c9b420d43f19871125b6b26483834db3a8ceac8"; + sha512 = "bb722cbf74437cf3ac9f870fcdfdba191334c3f6970e1ab0b4d0da8257e60cce09d65177a4f81dbbf225e73b03a8616aef4289a27f25440e2526d96a501443b1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/cy/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/cy/firefox-69.0b16.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha512 = "e02310f5b2819179d4e759119285b62cfab8d83e1ade570c0cfbabf24d216a3a815e89bbcc5f7d9d843f86f1295e755c9d823ee282e33fbeaa9790585b1f6433"; + sha512 = "e6c0f84a810005f2081ef8cd88b94e689caf07c5aa08b4c2f9ca5d5cd071a8e37d1f572c82b262f3e26381a6097c54ab80bfc4a0d09924693937751c7a1d79d8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/da/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/da/firefox-69.0b16.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha512 = "fe2f29a915872ccda6265e29dcd83795ef5443be305ec249219dc0c6b3b15a7a7a8eb8f697842f2d6b25285c22da93489dc7039793ffc4cb097c79d1ea8885f2"; + sha512 = "d209f91aac27c9cc0a075cb51ed4f9d41aaa74a7407892ec45ab2ce8c09e77a725fa6e8287988cd53b0b681be785c04babe13e19e63c25351cc6cedd84156a24"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/de/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/de/firefox-69.0b16.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha512 = "dd317c8fc5487058a81af3f743b6b3ef57a3493504fdfa6a0dad46bdfb34b6f4becf9311c71354d4a354633d973d42f9da5471ce2e9aa97a00e558c4f635172f"; + sha512 = "64b843eed8012fdb91fb6573e2e7e8900e3d3ce2c476a509e1171746261ddd1c15874d539e416d5c0607b34e19b01d56f2d497e4d09c595d29febdf3461094e9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/dsb/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/dsb/firefox-69.0b16.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha512 = "51b0432f68ea4d1443bf9c47cf4db826b3f36b0d2bee50fc62a66cfa17c76bd7ac91a3ab590e7def5a16db3ab90bc426aaf49d7a2f30279369123f3e9601bdd4"; + sha512 = "27801c40f75cd6824af2f6e583b99396c07baaa66c1aed6bbd7382fa85b7969ebedb6877dc0a979775ae153c4274dcb970401cf5686bf681b3858009eb8059f9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/el/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/el/firefox-69.0b16.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha512 = "2fa2c1ac31e61db5bc3a737c07ae681672b33b214acebbd30f74d21857421e2b8e845ab108f303f102694d945a1471e68c7dabf419418daabe774602aaa84932"; + sha512 = "7c4452fc29cd4a2c6516445fcca6c470f9f8ee81ffd600dae225eab8857ec43593f85b182b2e252cd04f3a6279a86dbad71ba0c2e0b723cd6d8c4a354b3cc582"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/en-CA/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/en-CA/firefox-69.0b16.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; - sha512 = "6c35875aabd1d18a3110ed00390433fac5d5fbbfb35b07e66f942fc59bf7397ecd18fe6745632c0165d66b620ebe4ca22b328e13d632dab2e54736af4e59108b"; + sha512 = "53e7855ab3575799e96569115cf5882233a31e4af1e15009b85593c7fc086e85b7bdf0148694789b816e8a469665f82cb5f1448aa4cdf160a5f8abc97f92253a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/en-GB/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/en-GB/firefox-69.0b16.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha512 = "4625f5eda39a7a58f0d3769cbe6f56bad4d214635cbbc67b1d7ea006bd62c639e665ba50e71e52ca81c3f7a82c4a0b9250a2b3e886ce309afdd025dafd34f760"; + sha512 = "db512b8a4a6a46021e2a24ce0ead90d8f56b9eff756b9b1a6c8cc1290a96eb51d763d96c0475c7636b9ee9a88adde7f3c81eb9366e3eab3448afc60e2a060108"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/en-US/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/en-US/firefox-69.0b16.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha512 = "c55cbf26d6c9da91f2b6a3f1c881f30752053850ce47d899ad9e3b82f5494aa26fb5c95e7d76a0ff03e97c7a18480ee764643866366c611bac8acb9eaa063324"; + sha512 = "eb6ed30b684c016b947e3354da57b5886b29524b57f4bff4e071fab5d5ae978b94adf0572e74e9e31e15e493098aaba03344b632d0ff71145f90a8e5c7e367d0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/en-ZA/firefox-66.0b7.tar.bz2"; - locale = "en-ZA"; - arch = "linux-i686"; - sha512 = "194284f7a878d8190420c4642aa4d83a6ee9b41926e1225bd83c63906cad99581a5ea3049e004064efd2ff9c1219bb31b08fc806f5a072a54f39d9e3e9e5ff4a"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/eo/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/eo/firefox-69.0b16.tar.bz2"; locale = "eo"; arch = "linux-i686"; - sha512 = "4aa88cff2f27f92f922acc7dc30e68a2a58f6ebfe1c023c6911e3ecac84bab8ad88f62d2c04a6f85bb4cb292e30a78b0bba4cb664375e68ec57621e2c816c166"; + sha512 = "b2b343ec5448978d9ecefbe1c73c94e8d578d875dffa09fa3739c396c3a09ddef4bebb7bf2f5c12b1bc39fdd3b8e89185c2a514422883d0e8856af854369a501"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/es-AR/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/es-AR/firefox-69.0b16.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha512 = "d3e60c167deef4da8740b7c7750d91fe74513553876fe95e654b7c9625b0920fafc974253c800595a409da65e36073a574aafb136d9ea8f3e3667e94a64517fb"; + sha512 = "fbcc4138161f11c0c61eadfef889a72aa691bc5b9db961a52cda092b638ad5d2313fb5934bcf2dd035f225971bfe1561acab549da61a7aa885191ca2c3112d7e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/es-CL/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/es-CL/firefox-69.0b16.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; - sha512 = "5a72e02d820205e15bc0f366f0593cc0305b35be45f23679c84f320bb952b5356c490ad2e627eef69cd836afe3ed53769dce535e3a727b6b7345d3ba02b0c0de"; + sha512 = "ff8908b2c09877a2c7cbb0842e826c51069234656efc9b7964c2432e3d61154596cd63864a3a6b331fec68ece3118e5cacf9014389806dff8897933d584c537a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/es-ES/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/es-ES/firefox-69.0b16.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha512 = "19418e1fb052d32e50aa6b5d3469c2da254786560e63d5e1fcad3ef8d6ad13e77d243725bc3a4e543ab8b1593bb2e9bd8a00deb0168dc0bd55034abb18bd8c39"; + sha512 = "1546d5d67b1b4c778d137b35189470c1aec01e617c2ea8b52bbd58c636b5e2a262db5a8f02bcfaa45ad1fef499d9c9e135eade38f3daaeab6c456e52458927e7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/es-MX/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/es-MX/firefox-69.0b16.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; - sha512 = "659d34590b1b68b308f67c978c1ddea6aedd7e58b95e3b502ebf0c71143f4ab1979f833ed0d56354c7cc7f65d01b63aa1f5d4b772fce66c9ce1873d2ab608a9e"; + sha512 = "da8809ae2d281547be55b0d3db4c779758ecd5c2b8204f54f732708816fa1d653f593e9e0bb24136213f3d1e94dee6394e47326b74be2401ba59732ff4f8dff9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/et/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/et/firefox-69.0b16.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha512 = "b391737b359ca832c604a25fe18b32365e479d83005cd37f8a0fd8ed2a5423b4f3f517529450d8be99170e0d73a6e10c446566772adc54975d0c364eea229ded"; + sha512 = "7d9cdace25276f868e853d7b964d1fcd18b7109d4072db49984d5d00628c9910c99cf494304fc962245f8d551ca9f95a603dbb1cc48f655b724353e869237218"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/eu/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/eu/firefox-69.0b16.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha512 = "00dde956127620922165476a61690712806bb39ac49a6cb365255dcecffcafe5c12a9d00d7f2125a583db56576d9ef716a43b71f5ca8eeadfe4c1ae875924c88"; + sha512 = "e3f8db0d5be3fbec65d27c3cd4f2272fc5dec401ca19a0fd5bcb7b48a196e81752d2b1c6b72bc94b3294ee09eed58b765790663185973ab34fb7816c38570ce5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/fa/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/fa/firefox-69.0b16.tar.bz2"; locale = "fa"; arch = "linux-i686"; - sha512 = "0d2ef108c14e709478656935f78a2e3ac0d1420c0162fb44a8dbc44bb7d49b4f870888c0999a99991a85ad7da8106539b5893313fa2ff5b4275b9f46197bb1d6"; + sha512 = "5be17588077f86e6766e1c257b73e8b81b2213f3f9079c01539578a6480fd07a90d4129af77f81418b4dca8278c44bdf997b3e0686ed1c2e8e4a5269644d21ec"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ff/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ff/firefox-69.0b16.tar.bz2"; locale = "ff"; arch = "linux-i686"; - sha512 = "6f6efadce4a5582d2b38e350dfb3895a39f5f0603954b5368379d885fe83b994272fc832acbc9047570d5dd9d30c79f0e931440c533466d2dd4b3b26b0c161a5"; + sha512 = "57f543f448b8a4abc99201eeae76b0574841a5c7815d7303844b5cdcb4a5668fa03483d9a2953f9a56bbe175f8f82e94b4aa58d77174e5ca26c8755c25cc6c63"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/fi/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/fi/firefox-69.0b16.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha512 = "d3404e2f12ee101a1807feb52f219a52832a2bf2d6160d1a7dc982e937f5ec5a9090604e1891c1d5e87ee12975639bde6076730f47129aedb6fb82c6e9550fc1"; + sha512 = "bfb0d7c4a4e4d0633879f79d8ad5a406e7e3d57f80ab1f1eed671ef85ff7065afa826769b868c90b8e90b87dc012016b419eb0a57de344ce51f49bbf61094931"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/fr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/fr/firefox-69.0b16.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha512 = "d89858ed2c5c9d3a7db44e14dcf7d2cdf69f53c4691ce2778c129478d855d6607436455f9113c903578d8ac551dd86914e3b449a02ebba827fcdad7d2a18201b"; + sha512 = "b944d8473f8c7a859b738d78140fc6b840ae7798a3a0e8c237bd81f411f87129528ddf68f33da6578547fa768fa1465625dbc4a94f265491722bd4f23a614ce7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/fy-NL/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/fy-NL/firefox-69.0b16.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha512 = "ac2c69cff8e27e5dd722b2f12357fd3182d2c7e80e9c70adb2eca060be65cc04cbfe19c524d940eaf0faa5ad2305da3cdd0a1ab383c18781083d5d93c7e82e70"; + sha512 = "445018db73c97ffa87377bc78162cbe2f31dae2ffbf47ec9e0bb42001e5a15787fadf4ce2d4027693eaca4edbfcee72a7e3874594d3409384df62c91b118d388"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ga-IE/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ga-IE/firefox-69.0b16.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha512 = "d026e125cae037d60f573282d351eee3cba26051e495d668ca26262a13fa62cae895827630d8137e1ad0e7ece1d4e78def691b057a83795723d1aff2b23115c0"; + sha512 = "2a6b8f3ecfacea21415daa0dfc8e3797b5c3567e7e7bb9ec933525d2a2e9e51dfd94fa81477878e2bca68f8127e32e387f43ac8ceb0c02622813baa5b17fcf08"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/gd/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/gd/firefox-69.0b16.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha512 = "2390e38235251ffdbbaab15c582a1abd6011c44b3122b0a9aee4f80a2c6604ea51ab66e1ad6366e78feeff74737fcb0e0e5f87eb42e2cf27e3dfdbc535bfe58b"; + sha512 = "474d524fdab0d83bad98e0f05348d8db0f49c11f2e50e7b5221137359e268e37e662440961bb206cb2ee44aee9d07b4565bb8b27a696ae0df89ceff76309820b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/gl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/gl/firefox-69.0b16.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha512 = "9e97967e89b226460ab6253ef2f5e516b3977869d3290e99bcdb40b2bfe6589bd416395d3302a88f85ea9a2ae6922ab4a0350c9159d26aacce380e27c42618fe"; + sha512 = "ba2dfaa33b47ce1106496783bde98b1ff7cdb0171262feb8890a6ada29a67c34165b8b7ab58aabb89029d0571a6ff8cc83b14c310270e0e7a725ffb9fd7dccc9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/gn/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/gn/firefox-69.0b16.tar.bz2"; locale = "gn"; arch = "linux-i686"; - sha512 = "763929a79725ec5b8bad8b77a5fac4a452d008af67e51ca6574cfa13f4fb33fbc6f095c14ceec57fe942f514f4550c94a691597c5a0378a2e63d84999c6eaf01"; + sha512 = "e5f5bf7d20eccc3d860ae2b8c6aed372944f23ed6d7a41774141cf1d67ab40c8bb2cf7e8e5931d37b9951668f03c6ab1271bb57ca7ead9aac52045244fbce93e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/gu-IN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/gu-IN/firefox-69.0b16.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; - sha512 = "75813a07a1aa83eb010d7856c447644723f4c05e8a9d1c68a09e49c6f40d8504956a3b8a72af4b3c28ca84357e1cde3ac075447a41c73ef681cf9e4770744a90"; + sha512 = "9ca06aafebb4ae5a65af94c7fd4dc30bb0fb37d6f50a8a8d0b5d3a92cdbfb7a6a5fc609f5f9d93c47cbfd811198e19ab554d47cb7a03db5a9848135660b17f43"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/he/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/he/firefox-69.0b16.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha512 = "d9c9285e8ffca75a9ecb0d4de2eb7471e523dbf47f1061bf5cea4b2ba363aed4f5a506a822f390f46b4cab8e24a848ed6a3ab5b25e94c56a80bda86020e6cdf8"; + sha512 = "ff9331af69d497b9886b7fbfe3954c0149e170973c96d0bd23252e0d9f97964f88f60e8258785337c8143a5abddfaa4da5d1222b27c42e38686ec44c738521a3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/hi-IN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hi-IN/firefox-69.0b16.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; - sha512 = "8181d6ef8b24a9e2fdd59aedd1d091d22950ea48a9bd8061376b0d835f949322fbc66016e79729d27a7ca70fc3378a9d50ed78f51a5b69ce005b8ac7166eea9e"; + sha512 = "d50d6887657b6dd61db4d53c0008e42850000d56a56b53532900cd6384c64d029a7a276386a5b46aa74b05c5597a4782f586b27cb01d34058c124c5bb58faec9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/hr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hr/firefox-69.0b16.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha512 = "1d229abfff336c50e234735ed806ee2e02288391d80a037f9c680754e268e66f60b8c4d18b0d52bdb097ce1283bc57957f512dc0ed117a67e8e1b8f758f2241d"; + sha512 = "d5c5a069cc845544cdc905c9ed3083329b75e367c99accf1986a799a6f69f081565ed0c9e5bfcc6ea9e5c4b606262e60a62be6d4271267094c5aa701f090cdfe"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/hsb/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hsb/firefox-69.0b16.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha512 = "0d3a70aea9fd43cff0bd91e028e07a54c503d749ee303426d416ad39edacd99a7ad35e724030c804e2224dca13112c9eeb98bf35906290897740bb2137e1eae6"; + sha512 = "9b2b8198bfad4f9f1bd5808c2d696abb1473230afa20e42e216c6616821a98cdb6bea6b92efdc8280892e04a0c1b6a967adb9c69fdee9f9c1bfb4f6fd4d17da4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/hu/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hu/firefox-69.0b16.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha512 = "b6dd499516c6887f68172cfd686bce8e5eeb8ec84c9b4397b8c1c3fc8ff9763bb62d08d642bebc2055df6cd7e03b03cb6bc1fb9f58ae253c5192e71621144e76"; + sha512 = "bb189556077d8490596acf9433146923ac6a68e26d804fd6946a0af1b247342f5140693d777b9dcda41972ad2ca6773b362381ffb9fecb58826c0353511065e2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/hy-AM/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hy-AM/firefox-69.0b16.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha512 = "dc33180a6b2b1e873f5d6958b62181d793b109f38db24daa09e588143bf67b9aed7c3e0f3597960fe3c8311400bdb3a38c0c3456d85b0b1dc6aa80d0c65f8355"; + sha512 = "a295c182fb7bb80d21e551156e8e1d77327311274e22eca16f4640e833a4db21597e3e4b5f64e2d39dc40bca387497ea78e2fa198b760062a33b1cae86c6405a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ia/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ia/firefox-69.0b16.tar.bz2"; locale = "ia"; arch = "linux-i686"; - sha512 = "e3a21cbb03a1deb06ede565e267e6e5a47d4a41b2c6f140205aa314d7d20252b8d73bf71997829aeb6d2b105b379320678a7f43cc9a039c7285073e126102f1d"; + sha512 = "9a5f01f6164751f0ed8cd34e9d792fa889a5a7ea9eefcc3e8afba20ed419da984db0983126122c8cc7770f0b34bdf1c39695632f737aa83281b01f8f713b43df"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/id/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/id/firefox-69.0b16.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha512 = "9cd48d1b6e28dce9efbdc418ff7bc2c4e823cbf93dcd7933321b093c86e412c505cb3fb17861602d428cfd847549e6afe28b1ae270b9aa03a4a1ab3b6f61b4d0"; + sha512 = "3073f0b719b1b4d71eb07b9f1a62f51176377579cdd8cdb1c8ec0876fc820289db29cb13f049058d0efcb955c15a3c377c4496c458b4b3fe438dcbdaa9d6fc07"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/is/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/is/firefox-69.0b16.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha512 = "e5dd3bcbc28c4733916e047645c87dd410193d5c14da5589d5e80cb19fc16185c6bf68607c8618c83dbfc791efe2b821c0272e59a724afc9437964ad6e5d1476"; + sha512 = "15a8593945e4cafbbd4a1b274c652fb121cdbf567031f6919e84767df65eb4f4e42d411b4799b8e5299d6215dd3f1cfef5104c9197c1ff1feb68f89e0bcfa2b2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/it/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/it/firefox-69.0b16.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha512 = "5693617b3b5096ff21d2c0a96300d352f86055b4c1c7ae4b44e852f424e749548cda6201629686dada48070f53cc39af92f4f6660e7d3322acc11ddb8bb1d13d"; + sha512 = "55c688602fb41d39cf4e33f96b57ff98d466623ca80281564ea6a4384b1985d29436f7288f56e969151d9873cece10422abf753b262b5ac6e283731397e53e91"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ja/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ja/firefox-69.0b16.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha512 = "9e009f04907f7ffbf9babc1bcdf4d7f3c6f9af832b5e9704ff3f15c62c4952b9027cdf839163cfb941d1192960ac996f13663c93ce04afe3bf3e555dab3d4384"; + sha512 = "f350eca93c6110e8a258802be4ff1cb8b07e819f2fe3b24e912f296c4e18cafed279ad5ad8eb093f3bd7945b0c9cf5466d673e5b4ae342a3b2d0e418e5e6c86c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ka/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ka/firefox-69.0b16.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha512 = "52bca3487e3eb6c1c91771cc839249592cd8e8dc500b21daefb26bbc2423a29278545e9f4f6e825dbe4a7de488bffb09f9cb223f6a70dc095e250cf5f284a73e"; + sha512 = "ce392f476b5eb00620c2170cda585e4cf73416a5d564446e65e39e0deea538825f3d91e91e5624c353b163983efd0bf844baa9a52e3e308d9e232d83f9167d0a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/kab/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/kab/firefox-69.0b16.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha512 = "20a7814436c99cb63f2c0337c69d199c34e005661d37c47d86bbdb03d0ddaccb9b6a25fc6fe59e3690263bf0134ccd9a2d876a649f2d3c9df8792a0a78bf08dd"; + sha512 = "ffab6510cd2b68b0b4b57ae1ec727e391a0330cf44c9c1f9fb8bd1385c8dc86f1de5dcc5712b0f0dfa5e25920eadd6561501579ee5d15ade22fce747ba88b988"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/kk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/kk/firefox-69.0b16.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha512 = "72e4ccce43dac6aa2cacf4f6b6209d902c3f3ac15be76cc0e5c3ab8f5fb95f9c4003b0cf7993b322faf09a7b5c8bed8dbe0759c21138b7e22df461821a9256f1"; + sha512 = "f9aa18138713b9b704c8d0d3fd8a5d2c5f802d3b23b7ad89d7f18eb885b9efeee53b94117bf7492a4fe83be19b5052d5ec6fd8f203d96f7988e5cb1eb524f496"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/km/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/km/firefox-69.0b16.tar.bz2"; locale = "km"; arch = "linux-i686"; - sha512 = "b24c9581df3426c1259d6126838b4b70844fc94de35be5e0c2203d471e5cd0d29102652679dc67fb475598452fb871bd0a76b5c470fb044828db4fadd8f46e31"; + sha512 = "1f0a4ba8942210a0ffbee2ec09f79d628638f58e26bc83d175d0b95ccb43636c976fba556720b39b42c37ac2fe67bd52c28f0a2f672706d967d09a26c3e446f0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/kn/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/kn/firefox-69.0b16.tar.bz2"; locale = "kn"; arch = "linux-i686"; - sha512 = "e09094576ad84fb0a063a4343b9f6f379c3f1902d7fb6eba7146f41fbfd6c02ac54a655f8541bed8daefbbb1232c0c270bb4447c249aa5f248c2cbc0631585c2"; + sha512 = "c23fc4fc298f88f4aee69680156d95fc98fc311630586d5a2a964c8fb74f2b56483e0b4267b90b1a3f37815ecb379e6583e7c801e57a94236d35e0e68f68bcda"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ko/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ko/firefox-69.0b16.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha512 = "7dc27aed444efea1d6e78dff3228ac46e8cba2cb8294cd8354af5da7f7339abe38315ed25ab8cae6fcda8973aeffceb4b4c0db63e7bd055d2e9d670968e0dc09"; + sha512 = "4dc91ea327d7c69b68bb065eae6ef812ca01c32dcc22048867e43130b15a15edeac505bbf859d96185f90fb3958c74fb0c3e8bbb58c4a0d7856837f864163d7a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/lij/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/lij/firefox-69.0b16.tar.bz2"; locale = "lij"; arch = "linux-i686"; - sha512 = "379bc462dfd6aa153d4ce76a857f19860c3f45884469674cc8bc1dabdf4e5a56e8bfde838fc080ba7c67f585ce05907c235222b43df4007323e798f660a18dd8"; + sha512 = "3588c1b35428dde09cc0262d3730407ed4bcf821b28556f7b05fb60250eac006e12ef8a929327a80429bab195632f9f40771467e572dd6821c646338d3c7d862"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/lt/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/lt/firefox-69.0b16.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha512 = "7dfa7d62501ad083ed6c3f14239326aa09de62bf7ca1c216fbedcd642c038c4a988afae1b4da505e7e17d82a346e15df9274ea5614833ee8640590ac85993e43"; + sha512 = "972bfbd93200dc87a6f9cb246b30f301c8db216dc9067bf40f42cbd73ee5795cbb276ade5ba44a6e3df2239d481ea305f4499fe88f42a0f7d0071f84dc2fc9f9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/lv/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/lv/firefox-69.0b16.tar.bz2"; locale = "lv"; arch = "linux-i686"; - sha512 = "bb5dd1aca7d817e47da0ee039bd9dd664a71fd08b88b231c587421b4a020ade5e89f0e3af30406cf7b7130ac113bfdbccde97e6a93675aad43afe30d7b629417"; + sha512 = "c7a0a65c0649059cf35b394b033b965b3d708531f6a8414d5fead08f2b5e5fd907c903c23e22e9bf5cdc78255e0215dfe34ce45ee96fc619fbca87fe086ed32b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/mai/firefox-66.0b7.tar.bz2"; - locale = "mai"; - arch = "linux-i686"; - sha512 = "ff7412e45c891809358d35806fa79f74cb39dc71b30f6dd1e84d12f445b8c50544cdd57325fff18fff809710382a51d1fc4630e4a7e26de79a0b0a6517f7cd92"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/mk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/mk/firefox-69.0b16.tar.bz2"; locale = "mk"; arch = "linux-i686"; - sha512 = "f0c8d41591e081f48b31fcf27bbcb97f96ae09583718da00466f9d85f7ff95ca6444e8839fb95373787263596b4593e1be408e563df5d15cb1385eb845079cc7"; + sha512 = "677e6238580a561fa86dbe1ba8d293aec4d51ee96adea11871e169e1d6ed0c1de29a6a44c374c87aaf93b00178719f142b44821d3f2f866cd43308f7ddc95784"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ml/firefox-66.0b7.tar.bz2"; - locale = "ml"; - arch = "linux-i686"; - sha512 = "98fd5e485411ecb42cb2701b5a51c8079502f466ddb3931b98ed0c650f81d8b4e0036f339bcd84cd7cf102db22b2556a764ee75029f34d9857ff3a8b3e4cfc21"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/mr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/mr/firefox-69.0b16.tar.bz2"; locale = "mr"; arch = "linux-i686"; - sha512 = "4f2f7810b152f26acff3b3d65f0029bef82619156f5b77a165a2978ee6662d0b8bb2242e6257e170df29a5caa7098f4e934d9ecaaff0270da7c1b5239daf7fc0"; + sha512 = "1457c464363505e787367bad9b90e6396da7e5d0840618cbd02c1996985fc42af4279ad9f53b6f0014c9f0296f1912ca5bf7832794048e69cf5a7d5b89ffe811"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ms/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ms/firefox-69.0b16.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha512 = "cd861c3ee3f0d6ebf4d98142a9a916c19523813f9e2d907854f6498f592e96a2fcd29fef253d6f62650e3d0ee0ea31555dccd2bcd19a10f788e13bff14497421"; + sha512 = "54d0c0a9a17534891267a3dd89682a1ca24dfa42e13c0a68ca67ac800c210f77a1b504d2ea0e16293df31ac716dac2e646fddd6eb4a5996e6cfc9fb578391cf2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/my/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/my/firefox-69.0b16.tar.bz2"; locale = "my"; arch = "linux-i686"; - sha512 = "58cd04852458b5c3ac904b9815805edc64fea182b028ea93aa940d1ec12d05d3d25bd63078a600255c18aa0f6c85208d3e1356fc3bfa556d26a0098418218098"; + sha512 = "21a851362356c568d93a24e7038ff30c376d712d0ba52d9eb51ad325d43e6a36f3565b48385b54bd90f846d03b626e96e002264d10741005403ab6d30364feb1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/nb-NO/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/nb-NO/firefox-69.0b16.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha512 = "e8eb0c3712fb1d9d35a3db2117497fca0bc8410acbae841a1fed73f08bcce57d1b19287a76702d059b5e1755900068cb2cea48c56ad0f3ae17579ebe82828a53"; + sha512 = "d625f65dfe643608689b2d7858f06b3e1b06636249be516a76798bfa728827592a543e5e61279c7b8a5e8a0c07a17510232bccc98fa8fdac3f98806b94582db3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ne-NP/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ne-NP/firefox-69.0b16.tar.bz2"; locale = "ne-NP"; arch = "linux-i686"; - sha512 = "c8643be9cfdf53f04cc33b612bb9d29d7013ab3f65bb66400cc4b7f80345b96c495ff13e9647eacf29dcaa1f8e6890056cc66a1af3f39418f1cc035657be8800"; + sha512 = "5d85049a3d8f11b164d091cd7925d456e54db63fb93883e42306b1bde48c502e3ffab120c4f9d05de688086ab94470d4eed827f24689cb1872cdaeca6bef7233"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/nl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/nl/firefox-69.0b16.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha512 = "3c7c1fac98556ff0c4d87c8c4706b71e1dc4230a4cd2359352204b20670fcbc5cb5c7b844558f6d09629277e9e0fe6ae7015176d41dffaf1929c800c3d24fc3e"; + sha512 = "9716bbc5c5faa1ae284b7182f0473823d265993dc43c4ee59d6c6c17ada6cf7d898dda64cc7647ff65f46984aaf1658a5a3e2c50361d5a731ba6b82844d7b432"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/nn-NO/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/nn-NO/firefox-69.0b16.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha512 = "5b671dc02e1624a998b3b081b190660cfcc2e24502d84b19be32067252f62aad547ed978bd06cc3a7df39eabd3b92d47d8d70534bd1f5cd1e05329f4136f4496"; + sha512 = "f227cb22ea4d15bdd4b20f2096f70d985cb3d9e174e464462c718a0bc6f533bc0c5bb098dacdb1a8ecc6fb07acd22f5dcd365e266208f75423677eb2bdf4ad65"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/oc/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/oc/firefox-69.0b16.tar.bz2"; locale = "oc"; arch = "linux-i686"; - sha512 = "8fb54d582b493a89568b4b4b4c0f03d72684fa700dfe484171eb3cfdfdc2847add46611908a6fb3e01ce027a1292b64beff565088298b926f715d23a060580ff"; + sha512 = "0e116e00a58d1086093e321a188c2c060f9dce3374cb7152d753064e170eca302c0698cda110ed12a4e41b669c242e3865165bfafc4463d1ce583d0854e16075"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/or/firefox-66.0b7.tar.bz2"; - locale = "or"; - arch = "linux-i686"; - sha512 = "e1f8d44bb89a23fa1cfc073508adbf459397d71251aad780378e95537dd4c29aaecc19d65f7db60f4fb647f544eec1e471b52cd6aec24db77ec873448c51ca81"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/pa-IN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/pa-IN/firefox-69.0b16.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha512 = "ce51ebe527bc47f32063cd236ca34e9da433a4c22353b1893806b3e61095ef8a6b6f6c37e7345a46f92f3fbcfc9bcdba13c100f9f6d31dcee1bb04e5b70ae971"; + sha512 = "9966030d3fdb5da3e2f943078294615d64fb019ca67e8fb335693580bd100f6f10ad760b50f7d26c68098a3080e87359dcb1c22ab657c43c23fc2cef3738eb26"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/pl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/pl/firefox-69.0b16.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha512 = "59707508b21d35ef00b865e79aa817b051a7818907c25a11232425aa514e20eca5e61d900710fdd86a3e56e793cb780f355ba054b07f84a08430bcd53b73acfd"; + sha512 = "ffb5a5cffab404ca1685f925580c47eba975d7a26af1ef31f05cf8f1e0ea72d130042f9b11e69427a2ab8b86fe47e279040af95a18869bad0465869c43a988bc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/pt-BR/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/pt-BR/firefox-69.0b16.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha512 = "e62438de6765a25718a02e51ce25c18f936df07e8a77ae64c2f109a852e7d50a9d5ea8bbb1a6b1d0437f77b29502495556bb6e7ec2b670ea04bfee1239da5359"; + sha512 = "14956079e61152b99696ab29a92b57a3671519c4f58111999587ab796dd8e7d6805828e8d14a59bad28218c136f282ef052e56daf024ca3923ead95d7eab0af9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/pt-PT/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/pt-PT/firefox-69.0b16.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha512 = "c10d12c00be906fc50031cf93a0ef9ec4c76004c26e8a79607a96095a0374a5fc12e015bc7e34cc9814cba5194296d557c50eea111a925357a2fd87ada21d63b"; + sha512 = "cd5fef4336203fdfbd8af89a3cc17a01e88ddd4fd670c3b778b1fe228325dd35fc64ea6d0c85681cc1bbb51c588b53972c85746d9ac0c860b3143ec93a344361"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/rm/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/rm/firefox-69.0b16.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha512 = "3b0d125070342dd38b068abaacc5ed9218c7a6dd6d455bdc1c5db03ecf4022457fe71f9dc1b5ae19b0d4361e3f4ac4f9f5ef08381e75b31d9c72e6e9469ab198"; + sha512 = "33d608066859460da6a50012fad5a76eb78bc4a3f8565dac1753b80b86755432340c6e9b5e13c319c24d89547fd32567ad99853ef7f954aebda9b15e2eddd064"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ro/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ro/firefox-69.0b16.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha512 = "5bfaa08c609eed99207b39c3ac2a802a4877a9d578019ae62bfdd5f725b2158e784a005f285b125e3d87e5bf1a9ffc83422205bdc9a57b56df0fb867305d35d2"; + sha512 = "18bb7599738aff68f75dac1a6cd87e6a3a4a326ab64e9bf36f28d3e4890340c07e93b938d77ee4432548c5880b79862d9c472e283f638aa9e2d977ba8f54f686"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ru/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ru/firefox-69.0b16.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha512 = "e0ff1343f2ac31d27f9aedc57c78710e1c807d33d0cb8c569bc5bb36fcf5b698e955cfe0cb7af371ba48d68b007a73cb5a87085d5da039ebb049d13968304232"; + sha512 = "c1a0c7b717740167f9906a2bec1d81dca2754c7a10f2139bee269bcad6b9d563f5ddd25d05bcc7a0621b910366853aa43663bc6d711fc1fc3b53e407dcbf9805"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/si/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/si/firefox-69.0b16.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha512 = "29f28d18b80e73f984673b298a479811dce3acd4b7626347d422085774b9c6504cc481be7b31d54347bce2f6252b7718e7b34feebbd8056910f0477e715da041"; + sha512 = "e807ae18343102df9030189f6e067062421a64f1fbfa9dd0d9e5590e727c049ae849dff2fb581a2f4de892fed21144a792535df188dd08c190c24dd1a58dfbe1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/sk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sk/firefox-69.0b16.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha512 = "3833b21823608dba1943d55fd49827fce477df0b2550d52eb1b7fc9b7a327fb2b70fe034db655d51b7dcb686566b8c1c41f325f1923b3591e3f08a53b722103a"; + sha512 = "35f1206c717f5475f4af6ac74bab0b691b21789457496c1226d6ace5d4d0f8f88e2c3467c6a01eae49c013b972e07f12b577be6543219b1a274340639799b2a9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/sl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sl/firefox-69.0b16.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha512 = "d29704974cf907552aab16eb4ca94113db6e8594da4cc53cb97a2af0363de56b65bd3a708d235b46919e08bb5b46de8dfe0898213454bfb44adb44fa956add34"; + sha512 = "d665b46a8e6569e8e0e41411e647d3a27b172cbde22e3d9157a5610dfe559d6648adcd65418c45256d8fb9f56022ebf8d3eabadd9b8414f32565c421bd74e371"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/son/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/son/firefox-69.0b16.tar.bz2"; locale = "son"; arch = "linux-i686"; - sha512 = "2a4015a2f7b2aae26c36e31fa1cf509ff0439fd4b91697ac8195ba025ebd51b4ee5e83351486c367be342bddfcde980801d154f8aef5197a9b01ce8c4ac307e2"; + sha512 = "e0b22c18364e4394cf982f2cac370bff79c5440a949d5e69ef753bdcab05688b591f3d54e2721507c502f05a094436fcb219c8fa4be33462ffc7fd5090506944"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/sq/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sq/firefox-69.0b16.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha512 = "3bcd37367086952dea966b2e201dfbedc22c1d3865d242350fc9c019b3186b5bc77b267994355b6a5554740d0baef67e6994283b900cf83adccf218312f3c387"; + sha512 = "75050296533af930bc1fa4602246b9d6db0aa48d1fce9a53212fc11041a331236fa88f70d8179c9961f09810d06df297d9dcfce791357e8c7db956c160019f67"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/sr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sr/firefox-69.0b16.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha512 = "6a669d5a22f459a6745a57d6a329c08ea4f77573e675f2a27ab7f43afa75280f98becd69a7b136bb4fc28e44e1b60555e7e2f654d6ca2f7a5faf16f2bc81fadd"; + sha512 = "ceb21bac8b36872c7ec47053846e20376884678e7017632164026f0b6a8cc56416cfc4c693229964e287381739d5018836da20f8e5d636aa9607c80567a0c36a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/sv-SE/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sv-SE/firefox-69.0b16.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha512 = "6a9ce6a980a1baa00fa59faac21f6710f92bdccdd51ed3943a26247c2d52a1c24b5faa82c14359d6cfb3af80696a7ae8f53ebbcbf48592b942a36aeffb0b5b33"; + sha512 = "a92b5d28645dd601dd5f8d4892d210bdc284ca5ef6023f3e6660d6519fd8fdf1212e757f31048522009021f00716a1faa3da6e818b3f39ac4b96d68564aabe8a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ta/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ta/firefox-69.0b16.tar.bz2"; locale = "ta"; arch = "linux-i686"; - sha512 = "2a8ce8f2f62b700ae31aeb17f00838aea7ba8d2b4368d49ea495a8436dadd551e80b1d6a07001cc6f6fdd6d65503cfbdde9c59fd1689e0b3130f2ff7761575b5"; + sha512 = "4935baa87058d2c2f87bc4e320d7fb1329c2380c93a72834783d5884e3e374a5b9f80b66fe1824b9d7003ba41b2f10648d8d257c34f71314de0ae9959233637e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/te/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/te/firefox-69.0b16.tar.bz2"; locale = "te"; arch = "linux-i686"; - sha512 = "67b204b26754134f2398b196f7f8631b965936e25ba2fa786c8fbaa1482d5a6ff0569345da544f14568a9c17ce5a907a6edb80f7e4714460adafef2eabc326c6"; + sha512 = "5aef655c7d736d5c4cb91a6ba7c0fff7c9adee6dfd96b57f5c1f968d258fd7707a1b1ef0fabc049f2902085afd55455d016d9a786e94ef836e6a6379f33bb577"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/th/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/th/firefox-69.0b16.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha512 = "0a1bdcb4c7a876d96d70a7a93f72cbdd87bc081f67e4f5eb5538fec347484296dca9958289c1fa4326e7320f2a2d4ffe14bc8ce9c3add24ebb58dbf04d750161"; + sha512 = "1bec6b20ae731e982a4be6aac81bbfad2d27add2fc1339401807fb41af36a27391499677355f0737a9230466e27f34bd5e97f4b3697decd56ffe854b932900a5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/tr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/tr/firefox-69.0b16.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha512 = "3896c5c882b2162b9e465b500c8f6c9f067a99c7ef70f0ffc4e8cff59f80e0fef4a12389d71b82abd512769d9fd58a6f93eb2bb318d26e1a8969187dafb20c5e"; + sha512 = "ccb0537f3cc85331037070761e4b450bdb07215d024052d3b946b96deb89ae30333c3b90e25100bca6cc58efc2f0f5b864daf6b353dbe7655e71106b7d5c0784"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/uk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/uk/firefox-69.0b16.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha512 = "191af410dde229aaf24dfd10e3d21e6b0fc9f2e383eae99fd09c23a49c177c4b2e644c244ef4f4bc22003769e3bc0716550f53a1b1480b7224128bac0616242a"; + sha512 = "a3490dd08645d2bc21a0a7176b1e9ba2da47b4d2a5ef45472715dd6905eb1cb1956849fdd006a4d370c0e58744e126fb1902d4997c7280fff256885becb39877"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/ur/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ur/firefox-69.0b16.tar.bz2"; locale = "ur"; arch = "linux-i686"; - sha512 = "e7f93ec854315d719702b8f0f90089d2a3b33465f5a809618de69b4b5b322cdf68924338b058df30aacefd4d7842f4df4c728a75dbe2893445fdf30b083d36be"; + sha512 = "a021c72eb298bce45097ed0d2c9aa2ade86b06668bb0d22e1832b600ef15691680b9836598467ae40d20203bf07246ed85485d0f2b3d145452725544d62b033b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/uz/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/uz/firefox-69.0b16.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha512 = "01ccc5bd6cad0efde5ad49cd24cc41a1b33ec5bd7abf77f1bcc7994b2faa8e16841da7a8df34f3b9143586b522bbe5971e580638290e1c3d6600156391cd2b68"; + sha512 = "ee54245bbc0845e680f5b02a2b217f2e253daa99e531fbf721a0f9dc03e68fe77371665bf2db7aad94748ad5c641bb93c7e3bf43f6e3f4e53b7ec91306d69f7b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/vi/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/vi/firefox-69.0b16.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha512 = "07819858db4bde6390cd60c004eadccb2e5a8287855532789f408643cdd2d3f3e71808c09cdb26874433af80914f83b93ccb76486ab8f32c60d3881bdf849d39"; + sha512 = "e14901e594346298a43cf9b7cf70be1cd26e6f19415fd11c09e5ac8eca7a43fb07d7b4f4e238f4b13e986e1a9e37f23d73e456990403f2983a9939b8bec455b5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/xh/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/xh/firefox-69.0b16.tar.bz2"; locale = "xh"; arch = "linux-i686"; - sha512 = "390bae062fdb539a2871b83f31ac854da63a9adc75061dd3c27250d549eeb9ed6657275af4be691f9f5e7bf27ac6c748e7caf4a78f36a0f9cf735680b3cdad24"; + sha512 = "a256c23d0c478dec86c5a3413c7e64c61e7e4a519c5e1a343b457481543529354d588b07f1b0ea37450c2d3d317145796401c05988ed6d35f545612d6c5f87f6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/zh-CN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/zh-CN/firefox-69.0b16.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha512 = "3f00515d1bc2b8de0fbc77a809419e87110ea4715cfcae7f524d5a7e887939dd52149d8be2216d82e0ad6653b5f0459fdb291837fb80a4e09cfdea320f911d72"; + sha512 = "a10aa5ef7b4fb6e4e3ac64a7d25c2d329eb42a0e5e0f680d786c9215d1f536a9daecbe5df31fb8484eed1471ccf89a596a5d2f97ae9875686b6f394f2a3c25ae"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/66.0b7/linux-i686/zh-TW/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/zh-TW/firefox-69.0b16.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha512 = "8dd0a7dc10c00c0f7fb9d3c4046aa6b42c260541862cad7a9374798fe9dc4c7565cf8218399fe16128c73843c5c7467ad4639cf1eebdd62d9beec4b164c5e062"; + sha512 = "790725d0674be5ee347dbef3c2f0ac0d017cd972ae32dd318767535a4006432c5d56ef2e13a602f705fb177476ee120a5327dfa3625b6966a9fed8bb04f50c04"; } ]; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index 2d9692c0528..dea752874dd 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -9,7 +9,7 @@ , fontconfig , freetype , gconf -, gdk_pixbuf +, gdk-pixbuf , glib , glibc , gtk2 @@ -31,7 +31,7 @@ , libgnome , libgnomeui , libnotify -, defaultIconTheme +, gnome3 , libGLU_combined , nspr , nss @@ -49,6 +49,8 @@ , gnugrep , gnupg , ffmpeg +, runtimeShell +, systemLocale ? config.i18n.defaultLocale or "en-US" }: let @@ -68,8 +70,6 @@ let sourceMatches = locale: source: (isPrefixOf source.locale locale) && source.arch == arch; - systemLocale = config.i18n.defaultLocale or "en-US"; - policies = { DisableAppUpdate = true; }; @@ -104,7 +104,7 @@ stdenv.mkDerivation { fontconfig freetype gconf - gdk_pixbuf + gdk-pixbuf glib glibc gtk2 @@ -141,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 @@ -191,7 +191,7 @@ stdenv.mkDerivation { # update with: # $ nix-shell maintainers/scripts/update.nix --argstr package firefox-bin-unwrapped passthru.updateScript = import ./update.nix { - inherit stdenv name channel writeScript xidel coreutils gnused gnugrep gnupg curl; + inherit name channel writeScript xidel coreutils gnused gnugrep gnupg curl runtimeShell; baseUrl = if channel == "devedition" then "http://archive.mozilla.org/pub/devedition/releases/" @@ -205,6 +205,6 @@ stdenv.mkDerivation { url = http://www.mozilla.org/en-US/foundation/trademarks/policy/; }; platforms = builtins.attrNames mozillaPlatforms; - maintainers = with maintainers; [ garbas ]; + maintainers = with maintainers; [ taku0 ]; }; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix index b49d20c1e65..a9ca0a5fe06 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix @@ -1,995 +1,935 @@ { - version = "66.0b7"; + version = "70.0b2"; sources = [ - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ach/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ach/firefox-70.0b2.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; - sha512 = "49a937a5cbdb2f7f42326dd3908c2272f6db08060639fd4221017354623fffb5363c95269fdb9b2886a4e880a8521cba907f31643c51667b0f37f85c6a66c3d4"; + sha512 = "cf64b9cd170d5a1bf1765ed07df197a3d0c7411b5281c89a0d2adfb3d9c404ed9fd2c8c021fe93971b846d7ebfdcfdf08f3a5703e156d6dbab61619f53d6d415"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/af/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/af/firefox-70.0b2.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha512 = "ca316614b43f05fb22ba332c5ee93e682537add0ad74ff57b49ce27cddbf162b0d2dde4303958630c2ad59b8213ecf3bbe20f0e4f5e4e9cbc020aeaae1df776d"; + sha512 = "e2815831dc99e0373541a56a38fa936a97d93a07a2dd7f789f5e4cc45860ce3c1b70bbbe709d35534364586af5b0dc626a4ba36dc8881244f98665a80ba57764"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/an/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/an/firefox-70.0b2.tar.bz2"; locale = "an"; arch = "linux-x86_64"; - sha512 = "c5bfb6eb3791ac71bf53c0fdafc1f966d153112de6defb5cb3480d0515c9e729e20011130d1f9822ba3e010d01a52445fbacc4cbd01a848c4be427014a98c275"; + sha512 = "d7cc4b7a1d7fabe186ae10a9bbd5d746415178dc3d17255e2278c1b5a9a7170403cdd153668b94220ea68be387b0c7b3365c8d460bfe53f7b381e7f3da12948e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ar/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ar/firefox-70.0b2.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha512 = "b222564c9a831e8852e72f9309e33ad5d20c4593a43dfd43bbf3997a2998af4084b6e1c95d14ce88dcefa6d53a4ef8c8a8c56baf3004df04a257ea38663cc789"; + sha512 = "8fb79f3636682c83dcf42b143892148fddb06eefca4c5eb72f5ed703b821dc2bfab7a167a58992d83202866dc07bfa09eee876cc567586791440afea676efbbe"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/as/firefox-66.0b7.tar.bz2"; - locale = "as"; - arch = "linux-x86_64"; - sha512 = "3f6c8f17b4329a43d572f252cf8d6d1945ee6b24bcf6b33684257ee5557469dfc79dfb61038acf9b067a38ffb994e4b2f18026acecdb95f31f8fdfdefb46cf4f"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ast/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ast/firefox-70.0b2.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha512 = "59d712544c565eddacfc8d75dba5aaa4b1a87eb8faccdc164f0bd7e20345f8a5525b231ccaac460b3596543791848d7ce3a01483db876c6e09bd1492ceafa748"; + sha512 = "468bcff942edfc8ba843f6f5a4b42aeb2b606186701d6a371565c4803664591037fe44bd026fca790ff8b8bb036619862ec51f04af63acfbf393fe8ac677907f"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/az/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/az/firefox-70.0b2.tar.bz2"; locale = "az"; arch = "linux-x86_64"; - sha512 = "5ecb1c35288a0c9aa2bdade2ccc74bff12241d9737c2f8d78cc2a9b8364065c8f875e3f7d3a3671c152f7ea6fc8eeb324bd19cb1e2bed74f2a0ac48d1afc8b06"; + sha512 = "983f8d78364c1479a252806f912d015e791e8073bc7848c0bebb28c7a39d6ab08bac2bd9e4a7f1c1cb68b8d2894eaa927541a78836717066491b450c0b34671c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/be/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/be/firefox-70.0b2.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha512 = "dcc11dd9254c51ea0ffc7f2e0d1d26b49d7e543991245d84ce1ef7ab7a8ea6b4f1fbdb3f08e263565971069f74267ca4aa7797139385e3e8bb4d7bfed5434278"; + sha512 = "dd31f1d7d3f6fe10f9dba54475512016be4b26bf59ca0ce55932b23cbc29954bd80e95fb1e29f2ec695e8f16d0b0145ed0d160f1964fe40ffe079a3833ee8090"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/bg/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/bg/firefox-70.0b2.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha512 = "ee8431d249f533268a11d7dc983cd541119156e5914d728a6d363721e15025a75fc31fcecc74049d0ae866afec0ee11546967db997703e8eb5cf0131df574019"; + sha512 = "d08edb6750464805ef379b18008d5f3a76a649ee4d6528b4ebd255ab89205756e2c9978bd9a27f56a607117186d434fa2df49ef4494bf5bd4f1f8e2eed10b30a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/bn-BD/firefox-66.0b7.tar.bz2"; - locale = "bn-BD"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/bn/firefox-70.0b2.tar.bz2"; + locale = "bn"; arch = "linux-x86_64"; - sha512 = "c0fa1c00cffdb723263879974de005f7f62b661744f246d78d4aae152da1ec4b72cb4085c4956d57d594054720d99b8a7c0254620ce8bc481a83ac43a1bd31b0"; + sha512 = "a3c200e13d6b20a7fcdba2524501d936a183213f590213727facd9271867ca3d5ac0c59831b88e92a424b3b154bb9cfc66dfd8908ee28fe6a4ed15146944eb7a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/bn-IN/firefox-66.0b7.tar.bz2"; - locale = "bn-IN"; - arch = "linux-x86_64"; - sha512 = "9591940be5d6864041384bccfc321043b2bb09462506cc41142f378e423e0aa0a2d0dcf137ecd0331974809cf1f3ef80c30926b9f8565c08f505922bb01bd015"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/br/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/br/firefox-70.0b2.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha512 = "340e665430104e43eb30590423d07488d75618da28e3a2aee2e7fe0579cc0947959122869ce8b6c551e8108bcf5cf19856fd895d3a07fc7d0cc90b6d81b46dca"; + sha512 = "235ca44c123dc8034541637b8cf5b7d7d3e361300639033dcae361bfcedd41360a5761486c990e7328e479b3073b5f68f01bd38228170c352f993c0bee4757c0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/bs/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/bs/firefox-70.0b2.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; - sha512 = "fd8c39b1e21c7bcb169b569f059549130f47bce20a68941ef0c3c5dd6d331db5022683148e2653fac2f0d088792194ac09b6654ded66dbac8ca6ad86d0c64611"; + sha512 = "2b2202f8397edd25f871d0e9b7e2535be98559bcd84080b8418460f7f1e558cb779f1588e94d87e8e713639cb3bde3efa8de7baf2e2f36bf387d965bffb9552d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ca/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ca/firefox-70.0b2.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha512 = "89945169277a9dcb3f2491db6560204aaad7feda9f61cee0d85852440b3c69c4adf4eaef0db9fde54af2058b3d213d24b0a932d217a5e60ff365315955219f8b"; + sha512 = "23b7af96430ff5202529e5bbfc5d359d8cb9419b54a8e7dff6b1c828ccd1cd3ca686ed062a29f7e8ee8201ae1a2bbce7032a0f3f0cfc63168fbf0b49c52a9391"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/cak/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/cak/firefox-70.0b2.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha512 = "6fedaa1020e3c3d1cb15d4f18f7fa5af719ef61392b97586b3e194efdca859dfab17215f7882595d781128a073b066637cdaa9d2e1a133d97ea0b36fa94da753"; + sha512 = "beda7fd930fbcf0985711917ea4b78a94042072a8cdd325079f3568bfcf2456efa0666efa4f869430cbfde34091b9d7d101edb94fde0a0c6942f61ee9c8a4fc1"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/cs/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/cs/firefox-70.0b2.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha512 = "4b0eb239fb44a7246582326ab999230339af4c2c45fab4e4159134dfcc3f526ca1e0ee544050ec8e699575540c780b1b09da7cbcff21253f4ca7cce121abb9be"; + sha512 = "1b47c85b7b5125ba416e18345c7247b85f29e4136d56333da14d8f2c3ebb7b9f81bd0332f6031b36e68e21d851f9390e171f75305bfbe0f46dd0b7c995e0b2aa"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/cy/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/cy/firefox-70.0b2.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha512 = "d3c72a27fd09aa473284b8e370b781a591d6a4885ad25b74659347c4df10f01456d0f06078cde8c7b345357eabf30a757df1b6680197de292f081a79a47d680f"; + sha512 = "071d30f74d13311693dbf3b4c1a111d12e53aaeb8d6207f8628f7a45acfcf797a722a5196086fc7b6c12545a8a177868a5669542f0535a4223df155867ec6b30"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/da/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/da/firefox-70.0b2.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha512 = "395cd4ed11f1a14fc05d79583501df1aad15956bf34cc63bfc71e42d55fa51cf7f8ebaed15122c7bdae7437d5e564d804b23df9e68004576c843833c9aed7d7d"; + sha512 = "3640a0a07c512e60e4119a683ac44cc596dc2a187d7f04a4b087540ca5deaba1c220403e398edf4c36247e92eef73de252d597ec082a7bc6e6c77e7ea799fef4"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/de/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/de/firefox-70.0b2.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha512 = "08299f65c133c93912d3e3a2e9da07ea6b5282b18dd0cce0ee54c301455a13bf1d2b9f086bd305a60ed82e0adb0f07fef08d7932d10541dcd213c3c97960c362"; + sha512 = "58538f8a9a0d6e97d49c005f45dc1b1842c07a6923a556d98aa13b4c979502a329adaf7b1782522e02a770945ef3809dc68138e73736593fa5ed5d07a1c9e265"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/dsb/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/dsb/firefox-70.0b2.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha512 = "8eab1f1c998e552f60ce120f38cd408fe22e067cb04112847bea33aff803fa0e42ab095b39a12281ed124672add455f06d57f1bd246976f071ed5c7f6a2aa47d"; + sha512 = "8a0ca47fdc85672c18bf883929eef9fa56b2b3b79e584c415c76f3005a55cca944700d27ca23b2ac2051c7c130b42b3551dcd1c05ec7a347ce6463ceecbb0748"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/el/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/el/firefox-70.0b2.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha512 = "933d8698b55abd1364d7de8d13982dadaed4dd09f0f0b796ea5c60ef556b557c9d854c62cf023e5a391a31644899a8df8832a086a44355af491d5f020fb1da8b"; + sha512 = "c29d7b350fcfc7b6b76b02ef8677a21800d786e709b5e1b886532f74c8c11696da0fbf2adf6b22fd8c5edb6ab312516a2535ce3185ca5334cff9d79974a4f5ce"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/en-CA/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/en-CA/firefox-70.0b2.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; - sha512 = "58e861fcd6364b9cdde2805fe218d6e88517572c59ae562148fc5fe48b9f46a94ba2657a133db71c91d508e139fb25c01c19c0b2bc9e451de99cb51620aad4dc"; + sha512 = "d04571c4f4b4bfec7f8a0eb2ee2ed9e9f91c415609106a97ddde7122bddb8f8a25685e4bc6c2eed5ccbad2111bc3e9db6e3ee27c422cc1813a8bb1941cd04af1"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/en-GB/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/en-GB/firefox-70.0b2.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha512 = "545a5d7e2a3adc8f9b448e4f06bc33a412cf3a7e25e29d26ccfd7bd74c6bbaa6517143264a127742cc483d57c0fa4d0d9380bcf52babbfec2e38fc6f03225c7b"; + sha512 = "c1f39142888d46884a51b892f232f6cb78309d65a6ba342a45d4bc6f3448ae90bbfd77d44f0e1611948a66a63bcb6d0f0e76f2c6f5fc3083d58b12b6df7cd2ee"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/en-US/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/en-US/firefox-70.0b2.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha512 = "19d194a4c066b310c6115ffd252999102e7ad8cb37b6bec63a36b53550973be2d80ef91ceaa5630d314f05fce4ac460b170901a77cf4587d4a255cad386b80b6"; + sha512 = "1b0eb7dd1995822cf30aa85749741c1bdea6cc98b4eaeb1d11fd94b56d2138a177428734169355257a165350cf21b72141386d6fcbca606e9d3bc11f292563de"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/en-ZA/firefox-66.0b7.tar.bz2"; - locale = "en-ZA"; - arch = "linux-x86_64"; - sha512 = "43642d4af03a0621c20b938b1503a03abace13700768219cb8e377a0eb9f8ce19ce99e06e173976b80abb11cc74bc08e9cbcde3680de58428a98a0bc48aa4f79"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/eo/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/eo/firefox-70.0b2.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; - sha512 = "d2d026eb8ec3485063be6c9fb5f92615a3ada2f706037656b62461bb471d02006c624752ead7e868a536546d188c73f5af6fb734033e44f7d010b1de0718436c"; + sha512 = "e03f025948a463007708099a6e19abbd5a3e272eb03e053c6dc7ef156b1e4e83d68ae02bcce8f19fca1409e96e07f88a36537e08dcd73f1f289cd64a57b3aafa"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/es-AR/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/es-AR/firefox-70.0b2.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha512 = "f444e763b604e7cf283b885259e640624d4b3c450b3682ce5a4feef7ea91bf4fd0ed84c634ae8dc8193871b41b75bad604a6794c2dfe32508d27d318395a782e"; + sha512 = "f48d98ebd744d4915ffb6f0cfaec981b8177b0f74297224555bfbfa7390dbec29eae93f4dd3ba51bd84dbeb71a4c60519414f2a4c3d75b7c96b59610e30e5f9e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/es-CL/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/es-CL/firefox-70.0b2.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; - sha512 = "fceafb790aa66429a94b79755d1afd4640f222e8b3cfba0eb423495e1851da3247e9fc06d2db63a9fbbc01bc18037d823d9a0685473659d250bc757f2e75c521"; + sha512 = "f593020ba37d0ce81a194772d1acc2f528ed826b009e034e17d3119e482b0df9e8dd518dd597687e566d30e2a736d89850e3cd2487d7c723e242a12f69962b45"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/es-ES/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/es-ES/firefox-70.0b2.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha512 = "c48f5b32f93f8411b1f9de645fe2913f6294c7d07d7c102378ff8acb724142aed9c5b7eac21503154e5f71bcf79531d0cc1cc103449c6fd0862098f62b244866"; + sha512 = "081641bedfa1f4831641aa0029f8ec34db6f4965f9aff2c5344b779387dd887c2cb371908778d6cef6ccaa0448c98513b300244dab30f36f68776506f840b43c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/es-MX/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/es-MX/firefox-70.0b2.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; - sha512 = "186982ccdb3fc9b43ee614c958c76e6a8d41673d7f28e6f959f969f5fcd8777122da3955b0c67971c6bceb2a3075ad481ab5e433cf29c36005357dfabd42e643"; + sha512 = "fe58f3745c1b0009e065979cb6ca451f377d837b0a41062e0ab04d435cc935d931d6e8200521850ce3161aed6f9583a67df14d0cab5853e491b1a433909947d6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/et/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/et/firefox-70.0b2.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha512 = "e5fd680a09945ef88bd5532d4f55fbb007e1238138a04dbe25fda21cac1b278b5b46594332f6ca819c1fef6cb05acf03c5ab07167c6d223741995f0f0817f0e0"; + sha512 = "2d1bfa94424af6f6ae08e11c99e83749408e9be1ac7face25d392c0475df978666706fd694b76558d824d226a50fa5f1eb8da52fd4ff3a1bb615bc83986ecba0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/eu/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/eu/firefox-70.0b2.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha512 = "ae8f4813d9c1f5eb60e5bd55a21ea4dc3863cc98118c5e723c4af21e1cda8b444d646cbdb96848306261f73373c82b315e44ecba705e7a3df4d57fd310cdebaf"; + sha512 = "7a192de6d021fdbca6764906284b4490653705147c56b9709e83c7fc087916197c954ac1cc19cff3da78220d572492800ea5773d3e03cfac6ee75d5e6d8ae85b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/fa/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/fa/firefox-70.0b2.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; - sha512 = "940e45f21fb3085296fc823695e22578d948881bb8abd5b6baf51548daf17e7be9936765373d3d3104b637e8a9fa21190fca790bdaa941e8b290fc65e228754d"; + sha512 = "427af8a45ae42e31ced616daf2d5e418e745bf43f87dd4858c983746dda1d52e1b909db542e9822c39019b13d1b47196c7041040f8c56e9f0712d7fbfba8b935"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ff/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ff/firefox-70.0b2.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; - sha512 = "c52c5623fcd31636ed8f1ec3b97aacb876294d32fd7e42c4cd91ffa5b3b8d426fa3138e4049cf8c7c1dad3df7d7f48c751cc9198ec929d255362819993b186c8"; + sha512 = "8a0627bff20eec56a7fbf6be6131bc004c12fd3033ceebe365a1367dccaf773c7c4f8592ee9a313a01943ec962ec010932d3f0fea7a94576372bb8fb735c90bc"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/fi/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/fi/firefox-70.0b2.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha512 = "00b1784ab2a13ea39c4548e7315413f0f707ac6679b931f0fe7bcfa0c0f05a0157aa166e859ddcb2a61aceb2f57477e9f1df09896882593cc1003c2ecea4bdf2"; + sha512 = "b86da9c7cfb2edab970d91b098c5ae3da60f83a9b772033d8a8a0a4db27afe62f5db600a17a883561733f1939bb95342273b4c5c7e004870c4eabb08648b822c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/fr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/fr/firefox-70.0b2.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha512 = "bcd6c691503c1402ccfeb4498b15b1ffee3af680c404c0774e8195842ecab03606714332a48564e8baf6e83e2757bcfc03951f2553238b01d1bc1d99990806b4"; + sha512 = "54ad1fe9eaff331246817e2033adf54d5267e991ee016f96edc21b5c322a46103f72a5662df06da313a840aedd04f677340573e57b55a9a1fa611af3ead97e0b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/fy-NL/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/fy-NL/firefox-70.0b2.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha512 = "0c083a9874e07c285829803b37d596d5d3bd3eea84ef385e1a4254f98a301aad0f6f886dec44b479f03d003a880adc1fdbd1516ec09f4a610d974abd983e31c0"; + sha512 = "c13363513a633def5c2fdfcdd0327b201f5d6d04d0dcd698f614799ac88424d19612eacfc6325b11808617a3cdc3f92e5903d84cdd56fa68212cb1b2babb9a03"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ga-IE/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ga-IE/firefox-70.0b2.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha512 = "0ff915cb817d5a9e0e918c57fe09e80c462275536032afe94ed88026d90a8a9976bbe0a837dba536b35a29cbcbd643bf9008b3bc8185a975a24d05cbc7477d5c"; + sha512 = "23644670ee388362801cc4ca62fc6bf370d479821e0811ab493405ff3c8fce538ece89184c9d4f020c8a5089d3f7addd1d4fe298b55199dfe12f73408a988314"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/gd/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/gd/firefox-70.0b2.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha512 = "f67037b5e635f0089b93e67d8fb1ddead8bd1f2d49bcad15a96ad7431de8bd7242d3c2203a328586c380ec33bde5d38fa7305153afe1688d4137587a0bc4a90d"; + sha512 = "967d24fee05d35aaf27be6ebbd3d31112126ee04bb750d3f17a2bd6a1abeab5ec7ee43235a26de5f19e5979c6d295e74ffec9f1bbf6fa32564f50986487b0455"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/gl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/gl/firefox-70.0b2.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha512 = "5de39628d4498e216034c53cabd16e8c06eb0dd63a164081caa1bcc3511768e3d62abd3deb80840bbf76e4d93c45b82163f98b9bf81ce1232c7a7ef1e4c38654"; + sha512 = "9976dfcfbf3d93df9c06a4328bc73ed5e1a3b922a8a616cd3c298d5955964ffda4e4fb96e85a23cb9c950602959e11d86f3d58840d475e5c6f5232992da13184"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/gn/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/gn/firefox-70.0b2.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; - sha512 = "826881fa594838408dde3b5b4f6a07110edfc80e34865621234e88c0761fc52f8ec93bad9597ec830975935a6a79aa8d6def255a64b47a020d89a40fc0dc35c0"; + sha512 = "155eee867cf421717c5c6720c2926318dfd7e3900bd42bbadf6947d291c3afa7b6d81610d53052700f32338e9fd4dd66ffc240ceabd5e6c6b6a3d5a18462b923"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/gu-IN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/gu-IN/firefox-70.0b2.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; - sha512 = "85a9574e6ab11ede5727303ac9c7d23c49a26f8686b20cc2b9dccbd42e108d46cccd563e57cb9d7db6e5e35b5e814c6b3f59ddecc996a376e95813fb68881dd6"; + sha512 = "82c58161e908a2dcbd10f8192aa9c89e220a5ef250d5b5037f483a415105946fad0527b0bb6ef3ea78b6b6a785064f116e17bcac7b2f45a1f0676e689f030677"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/he/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/he/firefox-70.0b2.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha512 = "08b21c8ccf0d214270fa555964858bf6499f602c8a1317261f780ba350acf37281bde109af03eb22539300ea3bf9f58221fdeb92644e2f01c63f035add3abc51"; + sha512 = "c6f8f8c144d6acdbf65a733627a7b977ae0b1aea7020356ad8e8e3d1cecc568c015d5e3a523df00bc94262b1ba7460f22de6d06421119407914c3e3856b91736"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/hi-IN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hi-IN/firefox-70.0b2.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; - sha512 = "497a3ca0c5cbcaa6a2f850d1906872f8a2d61dea602bab06ed9a2150134c67f624077f2acc918176231ab594d88e186dbf9b4fc35738d881f476e75870a09587"; + sha512 = "3ab7baf8b0609aa76cc3e72daa5bb0aab1feb6e4957ab032cb0011b575ac4f5f41689466a6ea10717c14065c463c6469967848a22a76bf9e03e53e9b3aaef6b9"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/hr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hr/firefox-70.0b2.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha512 = "2dd83d6441d00026a01af5be810940c547f0a8ccd9d06129c057fbe401dcdccbc43c02847a878523e389cb8ae89a9f09af8f299c439c0448b321c0e653262769"; + sha512 = "50be7cb19abc57bb3d3810bed8786c1ba8f4aa3f4c2d4d6ec6347b1cd263c724c6f138d2f95e579010c3dd893b432dfac169f964e78585601211de2b4144c02d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/hsb/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hsb/firefox-70.0b2.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha512 = "537a41c29d81bd7e340296d8ba291a7715b95c32f4f1af15e2e5c014a355541059acbbffcdff36855e27dbc52caa67ddfc5ecb2a0e0d09ed5cfa650edc8a4bdd"; + sha512 = "cdbf552caa9d85ca5cd2501a98c7270eefbc4ad31db3cfc8399dc5e2d7dd7344feb71b1fd7bc6023e74dd10963668f004c4c7a74f518cc849539d9f780081c52"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/hu/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hu/firefox-70.0b2.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha512 = "d443c9bfd3cab6006e2261df811935cd03ff3a6f8ed9245a4014d18f95d100b832c5fada0963452c9e34109f6d9187f51fdb7afd16761a0ab37305655b617759"; + sha512 = "731cbc3fa44e815fb9e437f863eb218accd37a009e136a653947a5571440dd839f025b724c160ef3076f87285f51503a1a9020f470076a71dd246caed8f66237"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/hy-AM/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hy-AM/firefox-70.0b2.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha512 = "70d880f20cee438dd1e25febb34d9dec08af65615065dd8983f4d1333863e574b1275c46ed3f19802e78d69edd41f1bfe0f2fff5008f589b7e5c903e798d470e"; + sha512 = "0be8245de7830aec18132d8a36d9eb48528070b09d87cfcd8dff78b0d26d79dbd2cecd94bf5088158253849c2690201e38766cf85719126d232932384c7dbff0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ia/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ia/firefox-70.0b2.tar.bz2"; locale = "ia"; arch = "linux-x86_64"; - sha512 = "767b5d06ea9a0e987a57f7d256e228b46a3b2ece4cd0e42f2be97299c5d4f78a5ebebe5a8e7fb8a8df64312d2ef95989785392c72bd44b35690ba25200e284bd"; + sha512 = "09fea9073150d0b6464d0769317c94d397eefcbd1577b73bee9601fe3babe12b7533730383a56629c2470e39628f11f0d0fef36a41f3212865b2643ca2f00add"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/id/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/id/firefox-70.0b2.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha512 = "d4fafc3600a217883bf65071b3f3b41f52f6a22eae31d4560774080567d03fd114670064fda0070ba769960cd7de4822333d7794ee5c4722dc7c1abcd33d5775"; + sha512 = "94b0340e3cd930ba39520ad28198a108bff9ffe40e8e1de77bc783bcd211d7cb5017b2c894d212a7a024ceb69c681f76bf513a38a3cd40aa6f846afcff32b3a4"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/is/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/is/firefox-70.0b2.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha512 = "c12a28941afe1eae9108f0b4da4ab05d729b48b66d93e17f4ba3b93f65e91d5442dc61b5f1f56f5408ff0bbfa91797e9f7f0b55bba486e7f47dc7733134235f6"; + sha512 = "68fb812f36082a9bcc41416a0ddc704c69ecd0e5d958d16c1171c7be27097342a57980692b1000fd13c1de893404fab0d150ce675e0bc4efa96e06748d392754"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/it/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/it/firefox-70.0b2.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha512 = "404639dcf651ad07c5e72f44dcca28c3811c2b404cc1b4ece0979180cb7f12a9bd29d1d0b7f545a38e2c649bba5e20f2f8b927f72e15ee8efb4cefaa63ea5651"; + sha512 = "e02f944ca83b869785b92a40a5e13f088275cffe26084f85f5d866ce5f9b0d0234e7a9fb5907e4f97663fb00091005ca73142d14f99465c3a8b1888aaa5784de"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ja/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ja/firefox-70.0b2.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha512 = "932f783c299862bee50fb1efb3166093feae34221627793dae2d3d29118481d99f51c6ee0099c4c44c3ce688aa38d66270c229ca3c239f8dc8790db0e396c328"; + sha512 = "83611da83e6cf95dbbb3dea3586ac3fc5ab9e770a75a55e3868543c9f43fe481f5e6775dd45eb1cbeda06bb60619fe7867af64c7c8c2efc862e7f23fdd0d0ac1"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ka/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ka/firefox-70.0b2.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha512 = "94d3454b5a3b6f15ee135fa4f23850ced0f8a375111a13c119d2445842f8e1b306a34a9ce9b9a47f9c5fe9b288b6caba91f7e48db6391f9bf5d41c9f59bb06df"; + sha512 = "94683999f9bf4ccb13dcce3f993291e5568a3a4f107bccae6f8b95a2d05c8e68a62e9d24ba9c60264c17a027f1848e82cce6fd143994e69e2000688bc61df543"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/kab/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/kab/firefox-70.0b2.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha512 = "e05e1a181f20c69247fd65fe52970abb6446cd35b7f4b0a0d90cba88a3288cd5b759e3f00a630e0a17bd09265bef69f641aa929c8d41c7406cabc987da2cb3c0"; + sha512 = "fd1bdb8ff2df2e8c18ab7d13b1e07b128291b410607571426dce5054e8e6b221eadedce560c5e16d65ca2917910df02f74d6573323f7a26375f1ffcba080f22e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/kk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/kk/firefox-70.0b2.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha512 = "0ace59fd99235a4c434bac7d32dd021c75554ccea931de1da0631dfac97e43d112baa2016732c20b780e8aaf1dfca61b4f0fc04d57d9386efc38486a6697bcbd"; + sha512 = "3c53e12ccf2698778d579c09a26a522a038c4510d7af8fc9accbdbcb2c9013e12e243b88c03e7075ea76258abf2d234fe0ff7a06538f6d8e0f363ca3887617ed"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/km/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/km/firefox-70.0b2.tar.bz2"; locale = "km"; arch = "linux-x86_64"; - sha512 = "4f333c635155b28038ff6d6a0a1e8261af33040b0abc774e0e9d5a59869cee102b9bd5013f059fb702574ac47cddad5845f9bc901c2fd613ca0174b976207eaa"; + sha512 = "2d3bab56eed0ef36ee41b11071dc2ee0407c675421fb23fe095ac81ecc492813bac115d03b3e832c33b03fb2df89b37a6153a388b44e540d48af93234cd41888"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/kn/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/kn/firefox-70.0b2.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; - sha512 = "7d54dbd9396fd2751d8ab4e256f830e536da56ee20ba938d010847765a32f5b99b17f1ff853faaebca996212b0d120a181f0c412d10d5c06be1aaf884ce10aa0"; + sha512 = "b4dbb60f0aeaa203483a8c7c79afa9a9e8214b032507c0754b4320eabc40a39fc0a242709779faa38affc2e570dbfd70e1843d712c361ed9a3c52dca17b72eb9"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ko/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ko/firefox-70.0b2.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha512 = "2042322f72df7b3165051312d5e35cdc668f2b76185e38bf17e6e9589421ad411709868a808c66cc275fbdac02e163d9af0f89cf3710c312b956d0be51cce10d"; + sha512 = "9c3e9876dc6363282cb302a65c3cf82bb14fb022e3f125fdad2e554d70501ef2b275826c4dcf064119463ceb93e6f0b8dab8c273364d1331d6ba5244eb0119c0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/lij/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/lij/firefox-70.0b2.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; - sha512 = "69ee300a781792ef200c89a79d973a6231450865d5f0681be28f862c33cd71c1097750242f49f28afdd309de363bcc6072fae2ae101ff7a7af5d81b3f913c7eb"; + sha512 = "689c0b271e7efd6c45de879d573cd5fed31d1ee2445849ac3442559f11d33a500fe70e861b54b288cb84ed42434071f9da79db2c1c8f7460ebd53445079439ae"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/lt/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/lt/firefox-70.0b2.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha512 = "107b5df8fe4064a9db680d6e2e7fd1638b2e1347166e78fc3f89942dd455914ad94d9330676c874df0ba0a62413e654ea83c49de11362fb6e442dadc1f985e50"; + sha512 = "92ba0cf69d128848f2fc4dd86171ed7e4eb56c6dcf868d3918c7fbf41bb76305839f410567bb1ee7bf4ff114b858127dfb0320f2672560cb38141c88b601070e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/lv/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/lv/firefox-70.0b2.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; - sha512 = "da6d4ba83c0c2ade76f72b66ada5f3777fe7336a9035c9788adbda052378c634a925cbaeb6b8c4f8fbb5d16c99529519ddd36abf71244dec377eb1b3850ddaf2"; + sha512 = "54587e5040c387431e94b4739a9e34020d7dce1777195122d513175b71ecdb44663c416fa648ed648cbf4f6279b7fcecbf819f6fc3a61155698f0dcff5f42212"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/mai/firefox-66.0b7.tar.bz2"; - locale = "mai"; - arch = "linux-x86_64"; - sha512 = "4b014fa50026a8ee87f137c058cd2f5513ac6ae27e2e3d236b6891419754d40ddafb910ce71a9ddf7f10f535ec064aa9e62d19ad784e92d84ae73abe314ee7f7"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/mk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/mk/firefox-70.0b2.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; - sha512 = "f8e2d4c11410fb5b32a935917562735a8b031277b62fdfa15c58aea7f4455703795e80ef7d44d5ec18c1039461c8c2e43855d5c99c873f476412b7da13ebc05c"; + sha512 = "b7943903f7bd3783e5c3776d35125b19ed88e87f6449f25a5b26dead87407d0180cb21b67c89971d3e975d454098d22706c74a33d21c2888a90a0af9ef7b601a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ml/firefox-66.0b7.tar.bz2"; - locale = "ml"; - arch = "linux-x86_64"; - sha512 = "fe98f048980c4382672fa65544c4724f0037afd613dc73def69f0791a2b922781527da4d2918697085c878f4a9f3830e12b0aec1a7c56b5ae9097f147216fc4b"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/mr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/mr/firefox-70.0b2.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; - sha512 = "cfe3f8d4d5e5e4f390e39ea5d1aa7b97f5697b1a5d1f37025e4da0015514d1cd22642d64e2e8e949601b06c9770fc8a463ec7bd6d4b738e5d4a7957057d8935e"; + sha512 = "07e742844231a1dc7a09a268501934c63caaa482ed7117d1a498c66b6f5c1d559e3b0d59cac06b9c3d358add59a13912af1dd11a6c2cf72d5cca97b68ecd1c32"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ms/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ms/firefox-70.0b2.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha512 = "b048b21da4befa8d842b33cbfd0992e93483ab5f4fb32b15bce4d6ab58aac1f686362c0a5b757b9a4709c8b0b5612038fd009968c6390d7ad471bc16881ddee3"; + sha512 = "c649789abaac00c55ed415bdbd9c28185c56795754324517f5044cd753aedc004482501537c67c42afa616ddb5890a4ec992379fa30a28b8a492a0e559a73f95"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/my/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/my/firefox-70.0b2.tar.bz2"; locale = "my"; arch = "linux-x86_64"; - sha512 = "8012f108fde34c1e50a8b703e62577d188684c9c9aeb2ec0aeb49f67c6e1eed6c45d787c29b2181e127b54ae6ea6cb980c791c4b1d544e8b767861c808f6beb7"; + sha512 = "06049a7770f621a9a72b5e563b485b81caad533410db23558679100f7a422fa1cf2a85233cc1bfd5d5b9c1705f8299544b4cbb4f52de3c73cf33bbe64cf845bd"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/nb-NO/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/nb-NO/firefox-70.0b2.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha512 = "ae37189e92951d51377574bbe73881493fecce2a4f5e60a72a86f00cf3ff806f35147663c7b2c67b74523ef42fac483e3aa1bd27f78d1390d10ce9345b8f9d82"; + sha512 = "5f80bdb4a310d46cf5b3b36567964f444c75c92e19b5ae5cab81847b2b601f04ee3d43a2325b8bd6d7ed3422f146e90612785b25f982bbf95a86057344ae35dd"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ne-NP/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ne-NP/firefox-70.0b2.tar.bz2"; locale = "ne-NP"; arch = "linux-x86_64"; - sha512 = "c33298836f9b491f6b127f6451a25941fbb09c392aa76c6f5f1f342c74660e5163967e797fd1c23e9a19f2e8350f50067fda8ff8ac89c93edf4570e06b7f471a"; + sha512 = "f35496c71aa7efbab365e80050ef218fd4bad1e8c015bb97df65aa0e4f16613b531d40bbcf4739aa462077026259ea6f1d7ac71b10e51e04e75d120dcbab3ca1"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/nl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/nl/firefox-70.0b2.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha512 = "62b5472f7a77c5deb3e998a23ece98097b4234b56972179c53faf3c58a15d0779d846c46728f517854db45a175bce6261b3062908e0bd3334855fdd56887b08b"; + sha512 = "21327076b9196d799a40d28f1fea66f59944bbb0757fde66aba2b0f8b929a0d45a01bb0901c4b6eff4e0e5f7f033a44d2dac83c94494b7f95003c3dd620f1ce4"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/nn-NO/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/nn-NO/firefox-70.0b2.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha512 = "87a25f1e0f19b03d4844e2850406534414a70ed5954badc22e4960cd2d13d3254c6bca8f126e8fc3225435c80bce20468822e8729379d0c99fdd4ebb3ecbc8e3"; + sha512 = "dc444e5546d1985d0ee4bbe2394e9e51131b46b9e41dae54c1402a9b08aa7de4a7d73fb57bd677af151420e71073ac398d28f4ae324b4e6e3028f01fdb98bd76"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/oc/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/oc/firefox-70.0b2.tar.bz2"; locale = "oc"; arch = "linux-x86_64"; - sha512 = "f37fb299bb2b56884a6c1f46b316e1fbe8f557b728c5ed4ac2830ef5128ae7adaeac8b20489cf5cbbdbb26914ea60f64e5653fad2b57efc0fc32e609f1833067"; + sha512 = "0c0fbf38f078c0fc4ae38112611f164808c7b9fbc4e3ef7d57e622e918f5c581915095d5bf7c92cc0ef9beb67cb04ba9b1ae1e011b7c8f91f23a79a326481931"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/or/firefox-66.0b7.tar.bz2"; - locale = "or"; - arch = "linux-x86_64"; - sha512 = "5d833da17f2b6c88ef237ddbe303743b8e6301595aa5eed254a9f6d87b9b8106ace055795e2565958fe9662345010a5b6e90e08ab32d6ceeac80dab3e9aafd0e"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/pa-IN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/pa-IN/firefox-70.0b2.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha512 = "d2e0a191707847f74f638a3e1ef32d5dca865b20c6da99554eebbcf3e1633c87fa57160f8f161c73e8785e234aa82cce1cb7b937cee343bcae01b334491449c1"; + sha512 = "b9f07313118ddfd5147866045e047f9ae7cefa0116d86aaf7f5dbaa2a64bf14f7a56bb748e115945d04aeb1dc4572d54b3d122c1e775062ee1de366c710726d8"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/pl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/pl/firefox-70.0b2.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha512 = "dfda2a10dadb6233bceb7c6e41079ee3da612f0034cfe7e759d9f347954b7107e3406b63a985c57fe3ffb9c7dc04416393a66d549f844ae03e1e0172da691312"; + sha512 = "bd1e920304e1bb7bf6cf198c5537f1b106b1484b7ecf683e1424d208b736d2a3ab40c7e885a385611ba6f033a2ae4fb00cf6113810a20dd8808a34ceb11c7b38"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/pt-BR/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/pt-BR/firefox-70.0b2.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha512 = "0fe3234983eaef964d6c043970d4dbb441fd31c3434f39ebc8223bc1dc55bcd45d86a6a691711dfebe67ebc19c7a6b243ed7d69fde80df8046c821384f8ed64a"; + sha512 = "e1bb5ca89ea0b60cb2997b9dba3fdb25e90914899f38a51d4506cb9bbd3d61f33d32ec3a9d2d79857d339f107134a021e0253b6a54916b48b6aaa5ef4aa08638"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/pt-PT/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/pt-PT/firefox-70.0b2.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha512 = "08fe35b658c5148467d7cb00899791dbac27d2e01cc4a00532f67bfc3df0bd47dbe6acdae8d46ef3ddcae5ab87ba26c7ed1bc4df64a89f91df783aabe8de6fe4"; + sha512 = "622bab9fe052fcfcdeb4d12b6b8773ed08e14dcf51fdecad24a638811a2f25c1a1efa13d7aa45dcdf06726eb366ee78c4abc7d22016303a9048df9af314c14bf"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/rm/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/rm/firefox-70.0b2.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha512 = "52591ea07542285893ede3c3f74bb831a0eb40f797f33736f35a76e9a920606ed7b140bcafeae9976bf51b452fda95e1125b4ee52985a21c74cc784fe17aa5c2"; + sha512 = "b02769fd926eebc180eab8f3ab9aab7d2a8d78d81f51116ef156865c74b60ac76ec75656455557dcfda2323c3dbbb438f8979de64309851f5b77c01175fc4b24"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ro/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ro/firefox-70.0b2.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha512 = "f5932a3f0a41b1808620ba46f90222b2e092ae35aa5af127f80f38231afd1cde9c7545ca313d20d91862c65e926a4f76dd7d05013f9b081a1fa607844750c53e"; + sha512 = "572204e2a2a6d7535ce36ba9479f1fd634069a1fd9799eac6a3e5dcf02133859f4574ab7dc36018be88e53ab5a8bafb561e5994d013c0b9da7c9ea467183bb81"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ru/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ru/firefox-70.0b2.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha512 = "707453059fdc344cc27c52244be171f2e92c60e4698129f3d184637d936c50f1313821c483ff05a77e484c8347837082f98120b5e15f0c1520912360788a935c"; + sha512 = "42a99586fa8d07827a597c83fdfc746beea7504e800037efe0e82b65868dcb0e1ba6dd2aa401dbe64a30879d521215d180bb39906ad332d9e362405036da48ef"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/si/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/si/firefox-70.0b2.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha512 = "a05c5b0a63353d6e05860f16e0ea6b1f1c7f5f7b334094b60ee1fccfff2a3170e3421c706da6110ca5838dd217849417a6328409815d8c76cede2b9be8725a1b"; + sha512 = "288b629c23e7bd61b64b3f5947a93753ca780906b537d1f97892424c7ea9f890008370f5ce44e74062196558e9a088856236c98031996f5d9b40b454827fb1cd"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/sk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sk/firefox-70.0b2.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha512 = "1baf83a04ed4f6dca9cd221c375540dcb3f1c9fe7b902c7bb3eb819ec45db8899da4139c38863573f0f03242d0bb069fb1b0036bea8b4e7939f74d5cc64137dd"; + sha512 = "47b295382b39a040171ad46268da5005173a1206a3ea26c7dd8138d287ded24740f031456dccd2fdd72266691aa2d893ffc93211ebff2759666a643e3e448915"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/sl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sl/firefox-70.0b2.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha512 = "316ec5af2d0bd56b6da75412fff22b72daf414877677c72ab1b9c5ccb7a5abbf2a50d2655a2076d8995cbf0723b588ea2add7c45db81ca19485cb52df16ef07c"; + sha512 = "fec91027bc619c7a6d0092db4493e40ab31311191117e1cbb39bac33450c9f8705356405b6ee38b52201ba39e4da8141505759f891c7e6ae3d8d22f9ae29a629"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/son/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/son/firefox-70.0b2.tar.bz2"; locale = "son"; arch = "linux-x86_64"; - sha512 = "6ee37f4008590826fb69fc5c05d27164e4b396f6e13521f7f1a0bc7d5f4ff20fc6ca8dc2fd01d2818f96a8be4ba8015b332540d8a7224c5de61705fd0d49ff39"; + sha512 = "8a1eff23ddf4391e77947519a5178724ba9393370669bc05764b971bdd930ca8ef9ede4cb0ba60c50daa2214d4212c6159f7379e16ec9a5c538ad8d7d39f0ff4"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/sq/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sq/firefox-70.0b2.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha512 = "c05457e9b6749bbe99938bb408f02b939205b8848fc29fc32071577410c8998c093542c48e5fa7b28e1bc9bc95aefad14d8a1d21b8628350e033599cb5c8a49b"; + sha512 = "3811b809979c87996b8db041cef14b7987331067dffcedcedebf36b9b9569c70088a38a624361b25ea5dde2af6005fbbe5add558cde41d5cfed7687a2bd96847"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/sr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sr/firefox-70.0b2.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha512 = "fbc657cdecc9b8d6158bcc64c3b2c988870a8ad57d6bf63acd99a0d036b18303e827fe6c4ef9f878f4e6d56f0d4d98cbb73abe0d9c12b4d03cb709aabdda9873"; + sha512 = "fbbc294a2f387e6ac44e4edc1a9b9a384d3677abdb6717e550f774d731037d0a7ce8036f25229efbacff75423e9a185423d2a39ac951c77ae62653097bc9ce26"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/sv-SE/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sv-SE/firefox-70.0b2.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha512 = "4724bb642e71ac4924eaecae6c0270e696f297f6cef71b696f2aa490a4bb08bcc803f92cb501e26b8f4fd4bb5c3c2b5429ee48523a38b25c3eaf02da115680e4"; + sha512 = "0fbe4d264e97ce88bda435f7c8da09e589407030945b51b68004b5df2c0994bbe294a87b7a18a2e03a8d1de05cccbe2f23ecc59dbd1945c28b80c75e0ba45c1c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ta/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ta/firefox-70.0b2.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; - sha512 = "5180d7f3ee75c8991b676c5d59e55cec516083dad194015a2d9977d5d47e87f6cb86a71634679d12bbe42339acfe19403304b704574fc1b2393e29f195e9b354"; + sha512 = "57b86a405d32d9ca991c995316d51fc6f9363dcdbba2d0d1d601f302afaf863911e035d30ad67751210b4e3c726b3734b62b63b7dab6cc2f69a172bd8c62493e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/te/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/te/firefox-70.0b2.tar.bz2"; locale = "te"; arch = "linux-x86_64"; - sha512 = "862b77c26d086456e4f5cd454105befceb354991780d6f7e3ab4c44d318b0260c5a08cf1909b2297aa259b2ec054babc6e62f10485aef8aed8db25426429825a"; + sha512 = "54ac916b2352b545ac8f5a9ccea2cc1ea5b3e267dadec7bcb06c3db7406f4dc5f7479a0f2c3954e9e19d093fed849df50b45c51d69753626149757633039a4b5"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/th/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/th/firefox-70.0b2.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha512 = "0636cfba363d88db83db6098766313ccd45c36389a2d971dfb7181cd63715d3438eb8e49813fb610f57e5c5bd025c17cba1aff571db0b8e09e26872dd3dba803"; + sha512 = "95ea774a8266d51054e7af4db09503963641981c8db332c8119e61c3d6349234aae202cc3e9726449454440f10f8ead17e4d6c682f261410937f7355cb7668b6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/tr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/tr/firefox-70.0b2.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha512 = "05069f7f4d2bc86b5a0fe0152c52c95511e688806571eae0730360799ca491f702f8b2ea8912f450c62ad7be6947105d3a83b90356a2137979b1594a0c343b2e"; + sha512 = "44b70293b353fed9b8435de36178ef6ee3fea108ad4ee129a1631eb32714c06aa23d58064746cd62a0f407b1f0557da38bc749c3113f3ba1d1b5d049eaac126f"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/uk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/uk/firefox-70.0b2.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha512 = "c3a617f20cf33e469156e146d958daca5310001765559a0224d62699c9a8744e0c9d684c550f68f0332c6c6840d41235bf0034cece35f15f8993ea4c3cab86f4"; + sha512 = "ec6beef8f0b068b7c301a4a1a0c769b66ed5af08414d5306549b9b077592b06a2eafc175ecb097b9ab5033dad15344e52588506685222c14f73411a5fb9faeba"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/ur/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ur/firefox-70.0b2.tar.bz2"; locale = "ur"; arch = "linux-x86_64"; - sha512 = "48e99e02626fd2aa0c58170c9b7704ae23a8548154f1675d4493b70aa66d12ab0b76cd85532055726e59c380d439dafe304150409e5dc416542920e064d27d88"; + sha512 = "d1efd485f869b6555672d80057dfecdf7775cd45bde0711ad90dcdac8ffab4b46bf04e9350a0aa7629d9939c953f434e75b6aa458cc835e6cd06efcc7fa1bccf"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/uz/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/uz/firefox-70.0b2.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha512 = "4cd72af0588b154d863e47dc25f00b9dfa2b0f04aabdd445482673e8011c4bad8bf8a50fc69f35b20bdce2e1110b4a86d73f0d0d402ca53ad61454e55c7c5de7"; + sha512 = "b7cae3888e2bc4a7b31a0b7313b7476799b16055f7af8e4016083da8a71f40f523f9963d79f53bd6a96c1bffe2fe2d34d62518bdbd9ad137fe17f4c175fd0f06"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/vi/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/vi/firefox-70.0b2.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha512 = "444ae520a5b21af082c8beb4ef81ff23b7661b731f71af2227b74c1b7f68025071ce62dc9f02ba14e419617bdd2898ecd4f821a71a7e12c66e1082a8530e612e"; + sha512 = "aa4aa778e35e72122fd857c736c226d62e5f6ec73f1075500728e90f9c2ddaf9c0e6033d1785b4102918a6db32a744617552769c29cedde655e9a3f0b173a4e3"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/xh/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/xh/firefox-70.0b2.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; - sha512 = "3f541ef8ba26859ef629d0d293367fec7ab8b8d930f19b222e06683cc8d3fe1e520aef0ef6a8e76a0c6e3a401551da9c7fc78c43070c87eb8b1016c6e1a97f2b"; + sha512 = "41619782aca727c09262de57a128fdc7936cd4b3ace84565cf687a006bd462a3218682c56693efbb233df221c66b2b545cd701b025d6b3a5308b132ff87b35a4"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/zh-CN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/zh-CN/firefox-70.0b2.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha512 = "2a426dc720a0bc1fc4ff621349c61b53e011f3cc61bc2bdb8ed8400f5ec824051ba3292115d94180f227bdaffc65bcdc1c9ee009b6ba2d19727110623f2da8d0"; + sha512 = "befc922f6256bd8416758c4fcae972e939e645a752a97863ac0b432310605cbe46dea4c713d4ed86189a9f4094131fdbffec10b4d771b061335baeb180b75ea7"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-x86_64/zh-TW/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/zh-TW/firefox-70.0b2.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha512 = "ab9ba389a3a9d01b9dbc56b5d4577bcb82b3531b2933c343adbdcf38992f2813dd59641f46593dd6af44c167ba9f9ee2613a34ecd33e683ee73d012730b93898"; + sha512 = "3bd89f88ca805e3b19edacb97efcbf50ffb2f4b3baf67c1d64d9c475922c6ca5ace13e07de292f95efc0f78bd1b0fe9e9e9198288c3d874263c7be6175291eb0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ach/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ach/firefox-70.0b2.tar.bz2"; locale = "ach"; arch = "linux-i686"; - sha512 = "e0dd9ca35d2ba79bd5180dacd374309638e3406e48ec313f04c730b4772f6234dd64ade42bcf03a98cf1640ba4b29afb32d1a51098eac4d58c41004035e760df"; + sha512 = "800146462c9bdef3a5cc021995ec558ba02fa1b5310973286d1360327aaa9967430d1432775c44c21dfcde6b06d39f9b7b7568661734f70f1452e78071ee440b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/af/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/af/firefox-70.0b2.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha512 = "be289577eb2c24e51f49fb70b50dcafd9fbfe7a1dea9fc41af39feaa090db981a71d6159b2624bab7a6cb71c84b6d39b4655ce5f0f3a6a51329e1cd55396e187"; + sha512 = "61b65cbb84523e3cf98e59847d07ec5766b2db3d5fd27c4633add006d428aed40c77f100dd87ab222b29d95bfa4cd7e2f7fc8ebae2fb4712935f51546939dbac"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/an/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/an/firefox-70.0b2.tar.bz2"; locale = "an"; arch = "linux-i686"; - sha512 = "4be89a6cc0642c741d2100e13893edd5cbce321acd5fdff37194c77f28886231e66f8d98d50234c44fc010621d73ed330bf7ab136ad4c7acc1d4ab465c71635a"; + sha512 = "f9808793e9657622de595b529fb6341c13ded793177413ff5f829712f7054f42c98de5a5e153deb3f8b8f3b3fc8e80fc3737e1dc5ec577731744bd0e992d7be0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ar/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ar/firefox-70.0b2.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha512 = "bb2b1b2dbe12e02809b91c44590eaf1fa9f178f3f2964dbc7fb8e63591659781734cde00fae060dce46cf0b25295ac93be7ddaca089fd790c80b9d8e7f5dcbb5"; + sha512 = "9ab1dbce20235787d945f3ea6ada45ba174dbb9169f206c2aabeaa2fae8bba6f4cf55577c1985f59f62d2a302d97ad2e3d7b7baa68682e4ecf3b8978410b45ec"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/as/firefox-66.0b7.tar.bz2"; - locale = "as"; - arch = "linux-i686"; - sha512 = "8dfb82603e6ecbeec446bd0f5c6ed954b44ed4335794ab1f61dfccec797376c634c6d5ccee691c2933a5a2a7ac98fe202c39bb184ab1150168863c1c5230064b"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ast/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ast/firefox-70.0b2.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha512 = "dd0def909ffaf8012cf50618a87f55e09df1351c73c50e68b7ac5932b11df2cfa836cad601190be71d9dde254d4427c466da600dbd3ce017ae430b8e5b200883"; + sha512 = "c5e4aedcdccddd1968564170d7f74deacec13e801bb19cb97ffeb7923924d66649b2bfcd0823d8e2b27b737bf5b0b558c57f931f1ff8b6928d2e2ad0c63d270c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/az/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/az/firefox-70.0b2.tar.bz2"; locale = "az"; arch = "linux-i686"; - sha512 = "1303ea9a24dd45980ae09f15c088fe4ee618e63d5a72ba70acbff576459987919811ede25e1379c1a686ddb3de3b3fa999274750224f2d552650258f72dc3e98"; + sha512 = "d67fba709c62bd06288bfe80bee2e08f370824420b52b07bd0e8c6dccc350770f0710e22ce55f9ac4bf989aea74cc3db1ee026baa7fde967fdf14f8dd9694702"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/be/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/be/firefox-70.0b2.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha512 = "ba9f9d688b5c6f1f38442b06eb8c83ef66ec6280a64ec94180510e0ba5949b6176fdb477c0d975a0611a7bab6aea9a53cfafad9d733b57f0be37de36d7885d2f"; + sha512 = "9fcf25f380bad5cea7c8fcceecd0734239bcf10d3081a22a24899103c96a388596135676a0769a8c2cdcce0ae7abc67e8a0b65621725de4201919d250bc28f02"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/bg/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/bg/firefox-70.0b2.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha512 = "682396cdc83656289299a3dab12595c52067a3b53feebff0e372d99b7382bcf99987b3c88acb92ebd3621e40b50929d7cbb8fb8a856d64c9f2b263383de553bd"; + sha512 = "a7a5818af9299a4b63098c102019134dcd74001a92a2d672d2c3c9e8dad6a58c28fdfd14ab10b96262ce34fca4947905f100a5d89df0e106df3c8b9a0a1796b1"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/bn-BD/firefox-66.0b7.tar.bz2"; - locale = "bn-BD"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/bn/firefox-70.0b2.tar.bz2"; + locale = "bn"; arch = "linux-i686"; - sha512 = "3e0bfd57662e6dbe3ac5d8296235e851602c028ffc02d89bd597345938f9d873913ddb2ddd81037b1fb4b067c52c6f8b8457f369d27964a43ea41765df57f9c0"; + sha512 = "60de18a8524a67dfb90ee9d272ec06e70b4393b3ed76acc7c86a545af561b323710add4a4d8a896982dd8bb48bf3e32496fe800abf50fed509d91f0e54a8d04a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/bn-IN/firefox-66.0b7.tar.bz2"; - locale = "bn-IN"; - arch = "linux-i686"; - sha512 = "a762f317a36ed7bf900f12f5f0a25e8d6412bd7983aad4d701228c086cd4a0d14cab69b14cab6aa738fe501abbe941f4b061b87c9cb3843f5b33b7e832f9cf95"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/br/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/br/firefox-70.0b2.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha512 = "55954c0569d37e9bbcbcdfda921e4a19172b7a992ce65a7a84360cd401d9a420cc26f7775d0efeec2f87113cd820f1129a92cb5ad7ead45de94be69a90e8e7ca"; + sha512 = "61cca84ee862455860c3889480852df1ea62dfd9ef18209ca24fde83b3971ed7788811b4c6ad57a19d32525fa67ac82ece938700682385a4b99587959bc2af9b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/bs/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/bs/firefox-70.0b2.tar.bz2"; locale = "bs"; arch = "linux-i686"; - sha512 = "4266d7973eef40651745071951ecd6b71a57e5af10939d10cbf61379fa2a63c470d26b0516e737c890aadeb309d64956ce28fb28166ff3f0e7be1f629e8845ad"; + sha512 = "45fa72a908bd24e6e8f35fbb1337b394850eeabc7d52252007a93f1f2993d4e43fadd3254a41664ecd76da29ed3b72dbebd95bf0735c71f07d9d19f3e3f723b9"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ca/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ca/firefox-70.0b2.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha512 = "a7efde7b54d4e5f8a3a65584a83f0f1a0f5116ae3c70b498995f078920144ebbb06f78b5fc28a1f9f471fc8b58460f732acb79b7e9b11d5f7840a17258a24925"; + sha512 = "53f9de3f0720b489cb7ae59c2dd2b7c0cbc6bb7306e802253562fb508ce0ff1415cf5b76c0a3eb085e592562cc1d39817009ba1e668e4c68f4ee0c8b5947cfa0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/cak/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/cak/firefox-70.0b2.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha512 = "e782bda3d10ddc740125f934dc8fc1c956df27f681cddf7c951a633cff0a40be56b842462da157b92c33da26c9c9a7deabbe9502e5322df1b22b6baf0472af02"; + sha512 = "ccac21ab9baea681bb170309fa3c1e7762aa731e49b831a4a45bb5a1477bf2582e1ea9ec78c8c63838589fbfe74b3f8e31653caf7c13355cc92de959b0d6820d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/cs/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/cs/firefox-70.0b2.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha512 = "7bbeb4d7198d03a943bf9f09569aafde8005e123a99533ca59e5d20ee42d125200f3e34c8d5f18867341ef9a48b5e703fc0545c8aa64b094d4fa876ebb953716"; + sha512 = "ac08d633f909edb3663d7e7cf5a27c1226d91a244786f941fc4fe771a7d5104183fa43782b8d838bbb50ee9342be081e28467b4dfaaae1c4b2a39233d5a9e31d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/cy/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/cy/firefox-70.0b2.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha512 = "7402cb6005f8370a0b9ff18fec2a66cb027d48c9a603e00b87c5b1df3233a8a60177c3a2327929b5d1f973dba64d206787a6eee099cb242d9e03936aa9c78581"; + sha512 = "176f3b9699e0b2b8c7f108add3a07b90664e7eb5170c9669cb5b67f2b0a6c0b2a6c47cfb2e34494467aa865f12c12c525fc967761878b92e067baff2d6e625ae"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/da/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/da/firefox-70.0b2.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha512 = "a527357f0f71bff9ab57e009ebd7aa51b3df122e52ef41be23d6cd93f9bc4914cc4905f53fbf2373c693d5ea30c7ba64e10b09054ec147e9d7a418cb9aa5b593"; + sha512 = "29b8ccdfd4f202f418ce2005e5edff4f69d3c3c337ee78069ee9c13b9fd3e90d29b28ad2801d8133119ae3048b6a09ac8105dc4fbaf1dd8f267fd15bb9ed31a5"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/de/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/de/firefox-70.0b2.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha512 = "630dcc0907c3f07956733d77b1c27323dd143ccb9deccaecabbf457ee5081d529383460e70935be38f5c1da39b779dd44fe9cb4caa12f89383d46c5495a40aa5"; + sha512 = "c041f802e2c5d57f013f018e192f2c62271ee15f53a7bdc9adbb447f5b3319e4da0c9743b0cf8ce4dfb03e94d0b81e0f8256b749c4eb3ea3a3b9833bbee28db2"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/dsb/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/dsb/firefox-70.0b2.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha512 = "e30b241555dec9d02e14d0b269bebeff3101404108df894fc5d212960dcf4f64a5cf09b167ea8d32d29cb0acc99835b4fdc4b273ea7a33a6757ca86f63a37a2b"; + sha512 = "a6ed5dba712d1c5512f5e0e1caad7f0b0f7e2ccacd891bad54aee79cb749bb79610a46ebc75bb662352bb8419d8e0f047c0b0f8214f11edf8153708040188b5b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/el/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/el/firefox-70.0b2.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha512 = "607be30a0675f688cdd597c3a2a6e6f6e49051dfc48556f5f922bdf5d71b9eeedb666c3501ccbcd63b7519ceec1af81c82d0c02166699b3a093da8f146c91495"; + sha512 = "987c29ca1d3b65bef9b5464b2d2c945cb66a6be671ce09b421218c3fbc6aeea0de6e5f7c2105943ca41b7f56d7aea25f8bdf4289eeff4618a92cf45c4234ed05"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/en-CA/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/en-CA/firefox-70.0b2.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; - sha512 = "82bf1fc4992291bace80f5182ed267bf25f6dea6ef912d0fd922a9c0ab664923c7dcf45e32f45a1663d397a123d4561ef9ea7304889557230163eec1b2cc3103"; + sha512 = "7e85aee04f790b6efe29ca592c38cd2962636d7b8b5901e1779fe371b7a8546f700fab25ae5a53d170afe67c3ac64345954b358965010e65fe1a63ef803dcfd2"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/en-GB/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/en-GB/firefox-70.0b2.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha512 = "4ec223ec031ffe58f4c1423ce8b0beaf0fe7fe3c894df7c0562b582dd07f31eb3ce6bde8fac3242a3c4c697ce16a4c5b5a920998a5df3f8a71c7cc7756f51c91"; + sha512 = "a16b6b40a0c52c53b28113e5bc681b56846664899e5876d47b873816a8ee7cd309a1e49057b0bffbd923e5faa354f1f8ae4e01172ffb24062d7451fe361e8941"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/en-US/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/en-US/firefox-70.0b2.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha512 = "4cae702c8f20d51e6674c20f18091ff06982622a6987ff372e226be4f9c4c38a19a427079236f97869360b6e5f3182291cf8b426323367c4616aad9757a3f982"; + sha512 = "de2716443b6dc3757fe58d42ef4fc526c1218601650ba7ccb0b0a9f77b7acb04a4e4af2c79b7587ab8d8e3515ca6602b563fb54ac5e102ca30952c39843c7d31"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/en-ZA/firefox-66.0b7.tar.bz2"; - locale = "en-ZA"; - arch = "linux-i686"; - sha512 = "a610c7d5a6c7179da502fa6b6be2ca367fc7f6c8479273be18eda8cd26c28540d2c8c7412646442d628a4d298d41051d4b755de375825dc4199672387f71853f"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/eo/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/eo/firefox-70.0b2.tar.bz2"; locale = "eo"; arch = "linux-i686"; - sha512 = "a0e1b507bd4c8ad2e0b609d0fcc0da2c53ba4aa9f53f7d1caa73e255130243352a090f2af7a393136c197cd6b3c4b41af8ad974b478249e706b349c1f8340669"; + sha512 = "bb0b25735ec9bc607661fed392c0dc841185f84b06410dc0c2b7a05245d62cdc4978285246d2b281b08507ae2de2b4fe561dc115d838a10e581e484cc12dffd0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/es-AR/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/es-AR/firefox-70.0b2.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha512 = "7addfc66cdbbcb6ec2f0efd0bb550b673bab3695cdc6e17315600620d5252a87395d2f405da67219dbe2faa3dd616fc4b5c2a5b819a0bb3f8f09eb1bf9977b15"; + sha512 = "6161b532fb8412151cb007fe0fa679ff0f195206d71b4a07f8b312a28c0fa0041f32e960fc6f88f3c88e54a850a24d00dc370e8a3a16fcc5b420c0a9cfe2e674"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/es-CL/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/es-CL/firefox-70.0b2.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; - sha512 = "50344f4516bf905ffa1fa94af6dc7765b0a2f3bb08259769cb5a2d82e20f101ca6ec0b2e929e78ae6a94c158dea1ba8f04be0209bb29795e54e7f81bd1798d7b"; + sha512 = "490f550d9091a70a9a693acd80f24cd644188a3ed0199781c5c04583ae2a66b623df8a5d1a5d3b1c7617a214aef09f99d306577db5bca1034ed1afdea8d909d8"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/es-ES/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/es-ES/firefox-70.0b2.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha512 = "f17b79ab5fbe18c2b821df290a7891795ae126af408f1bdba360272c7d26a3ba9f5554c05855fb94ad7d7f4d9c64d3b58104c121d1df84251b47bda9268d705d"; + sha512 = "cb648224649c1f5a22c7b5eef4a4b4cb7381a76009cc1a4b0f2db7f1ca850f21ce3f5f4effe9e114f2ab55a0ca4a3f0180b5e7610cd895cbf1d8eff24a77ea82"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/es-MX/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/es-MX/firefox-70.0b2.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; - sha512 = "276df9ba273da666b8cc7f5245c31454d3dd124770d9f52f5f071d273c30e39de78102e6a14c51cc058706ff143cd2a041590e5d31d50453e8f0afbf327529e1"; + sha512 = "bb5c9f06d2b17507f9036192558029a6068bc4b62c1403e228284722fd1011ca002b5b7669320c3613fb8362433a13a05960945c56721a220fd8e45e2908367c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/et/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/et/firefox-70.0b2.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha512 = "09898b1834303b29c27ce1fd1cb7570f9fdc0dcd77a1d82bf257e56d0f4e872b2e840113a2eef6926d7a5d324ae86698d4c1a057ee5b254e01fa367741f4e432"; + sha512 = "642e8fb33bbffe1dbfec0caee8299051678c930b5b8382b7dbb27a139aa01edc737566b3b88444425296f29bedb30acf7e1e4bc39aabe37a4705271b0ddfa2e6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/eu/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/eu/firefox-70.0b2.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha512 = "60af1ba10467e18f690131a976d15c9feff130b875ffc8c774e2716badb3161e333b25b5bc6b09a8a4560c7ab8b707391356c2282da7158f9fb4b4b42d20ed37"; + sha512 = "b6856d8c07830809434528ade2e85da9577562e69e6753e0a3ba96e9e015642b77ee5cd913b017fe7ea96cd1eb985d8eed013c38e61078f37e155baf7d115711"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/fa/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/fa/firefox-70.0b2.tar.bz2"; locale = "fa"; arch = "linux-i686"; - sha512 = "a0d424538b55514dd202dab66fdb3cb76836ca64934d5e5ca356250ee9e25716195615f60573cdaacf720c8e2f979319ddc34c38fc5642655b9ac8814b17fbaa"; + sha512 = "46f320dd9b746cfbdf6d41e6ed4fee3c36027a21bf69eec769dc656d4c4620ee702e4f6bd82a3121f14218a68948bcdc032a215bb0effe93d35b5f5e044152d2"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ff/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ff/firefox-70.0b2.tar.bz2"; locale = "ff"; arch = "linux-i686"; - sha512 = "88319a298ac8872e6e94210135c99d7c956b7865d2302267f98e4e6e18655d89f2726dd4af76949f21660c3b3f4cdc55f836263e4b8a87d6c50bdace2dfecf5a"; + sha512 = "f32d17a087c4fa5ab1ac6b692709b067607b5a9efaf8d15fdc3d52f9bf02db3b3e460fb1350ee17f583a8b32e1823d91aa472451598dbc3eba2774b953b32195"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/fi/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/fi/firefox-70.0b2.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha512 = "f045076c1234deb367aaf4e2057df25c87e2a8c3e7c7460c3e0b4c93ee965c8fddac397f73477d882f1f7498c37ad8b6eb0b561ee5b377b553167e1c02a90463"; + sha512 = "ed4ce81ee0446841d989ea575654463ea8186e2e1b71e771380f2cb0ce6b2858ac8903330623be00c57a2a50f639ae320e794681647292fb6ed060fdc850d50c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/fr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/fr/firefox-70.0b2.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha512 = "81a7ab933324f259677cb1a885fe8fe6732ef8c6b501b7b720282e0d25288b8c96f399813d912157a0fbeea7a049caf5e16620f4d92de325db40cb05cab310c0"; + sha512 = "0b199767300180ed093b32685373d1b702a2d09587df3a4d99fc9f0d6b82c41b4002e83fd26be00b24dab4c1c3d38552d46676a5df52a69474f623ee94d72657"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/fy-NL/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/fy-NL/firefox-70.0b2.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha512 = "d0f793c39ea81f5c51457f24e17159e038f19e403e93e465dd5f407073a864b578d738b34921276196cb37daa36f21776b12f443873b6cb5047e747d6b658084"; + sha512 = "8e714668d8ad01ee6dc9cd5e5f607f393ec09434e62d1d08a55f4312a52b31591e64064bbf0da28e2e47d0c571e895e9061197ceb36d1ab5899f09de549b86c4"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ga-IE/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ga-IE/firefox-70.0b2.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha512 = "e8d17eba416dbbad268910b2d4dfc4014e5e2d85fa2ea696e2527cddaf71d4d77b5f758ee89b0acee9226292060cca6cb4413317ebf0ffe66a95b587fe65a2ba"; + sha512 = "4156af0bb459848815ec4bef7b91f69328cc44d9b23f56911849098d4b30422f013ac74597dbfe6610df093439170b5566e87a290e33dcb6b32d5e2e95525622"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/gd/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/gd/firefox-70.0b2.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha512 = "26a34e017a974e072c5b10c8356062f9fd4a27603af93cf3debe9b1be64e0d5ed12509200b76051e0203e04e0488bb1e5c95e8fd5bb32f797eb65705815ea7b3"; + sha512 = "c2d188a2f4a63f9cc106b2dcb64d3277aea07de0f4290fec560927d8ac577ae57c0f6f9dab998833a51924f1f4eb94cbce9312ac7bc69205a64fe766093c0847"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/gl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/gl/firefox-70.0b2.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha512 = "51f93bcabc735cd4938908f7e0e2bc73dbb6f459ed2d632b359322fc682362bbae324a885ec68cea1e91fd00a4f48dd088b3671ff8714dc8b7250500d6a3540b"; + sha512 = "c9427d99935fdfbf3b5ae3b0e9ab9f2b31b0a7b0d5b55b14effa1fd979d5f32b73016c939821f1db6eea286047334486b017b9000803e6ede4bcd4a564e89c10"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/gn/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/gn/firefox-70.0b2.tar.bz2"; locale = "gn"; arch = "linux-i686"; - sha512 = "2d494e7637e388b1d5e309c52a04ec3ce1cdedf4095f686b99cf4e22f601ccabd0f004e0d82ba0898470b26a1c19caa027e8eca75bb60e5029ff44c6319e0be7"; + sha512 = "e039e1bf1f0250c1179b3bd185c1a612754f496d39e087059bc485af6a280c15cecab6e7869a63357c7b0dd713ef3efe5ceb6cc4c1f7334fc67560722e63b523"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/gu-IN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/gu-IN/firefox-70.0b2.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; - sha512 = "f31322e26f76be2217d29e8b2a45761240e7e8bb6963a3410f994af81b9d10007ff0a7ea2477cc966d61f0464d1ea61f66cf80bf917787016ac43b86f55799c9"; + sha512 = "9a8d9a076e521a8b5a4f1cb3c06538d9cfcfbfe32862b48301c202a212beeea2d888964d317bfffbb4e4b5a56ef06ff2acda22f0b129a2521d23a5234817fcec"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/he/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/he/firefox-70.0b2.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha512 = "bf78cc400c123fe2c9b1e813a0fb5f8155d08be70df18ac60cb474367fb57468d942b90d2472d56c95bd520dc8ec9fdf0daa3da93d6a703b04a6aff668a5b693"; + sha512 = "763c4dc5241d3ec4337c17d4f7c7ef13667ad1a7ace2e71b65ead7fc4e771ffceb1eb1772c340ed8349cf401b1d9c4fa7f4e16031f5227e45a8e813e08437159"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/hi-IN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hi-IN/firefox-70.0b2.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; - sha512 = "ebb919eb74747e4588f8fb4aa1bab924a128fa349804e7fafa9c9b7f7513ff99cba265457a9389c2bfa59a598bdca88570055eebaa0643bd23d242e1cfcc9477"; + sha512 = "a6092b8f611976117489fb9a860a801aac9fd598394be0b42e88091760a7f05c10d04d4e90b228a801ce784a981f4770c78e544614a68c2d9a0e8ab13fb89ff4"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/hr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hr/firefox-70.0b2.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha512 = "6894b70c2a350d972409ca9da0525ab4099b6de1c227bb37936d8df9d83d37e2e13e5e3128ccca11b31d80ad0d76b1f25d79ae4f39f44497ea81f01e1cd78a4a"; + sha512 = "ae2d26a2e98cc180699fa5f0a8fa1426525db4ccba99a57841fc8499e9595f0231de7802cfe347a81906d3abec3503b624ff224b1392ecaece17468ba12bad9c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/hsb/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hsb/firefox-70.0b2.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha512 = "c8c472bef8dad8dc41a9f9e9dad52ca8a654ac9923587a6d5219c1e717db21262d176ab06597d72ef280ac65a5c3bdabffab2de987568185911d8bce3d3639ec"; + sha512 = "0524a4f4ba2ddd3143f9f95e07749aa5f8c37c8f31cc9030f220a99d1a8d270b61ebb63ee3118edc79712f3af3f1795ded34492144d0dcf1857f04cbb3cf3451"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/hu/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hu/firefox-70.0b2.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha512 = "d21398ad48ec3d4b1ed49b0e32a39d282098719f5cbe9cc9e2dc636898f3dcdb4e000ddf51476e0314dd9c2181f67c74384a96e2388f1795d384c9be87b92046"; + sha512 = "64f4bd68c9a62965162bea7ca4bcf15369f9d3c69c0f6080d0bd660202f2a546f39835b8987e26da3752adc366164b451f842f2694305bf60a2b085749b13827"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/hy-AM/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hy-AM/firefox-70.0b2.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha512 = "c31b0e06a63afcea61fc880f9bf03d1e892d54e936541a9956355a40d782b9454f2179bdfa0a4f28bd010f4022ecab7d49914531219fd07eba4157ab1fc2b01c"; + sha512 = "6d33a2bf17038e24c323bd53372974062fe5a11278eb535518637ee68712f4c2da93a3dd3378161f1e67efc51a06c746578af10f02c81fd25b747820e963b5f6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ia/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ia/firefox-70.0b2.tar.bz2"; locale = "ia"; arch = "linux-i686"; - sha512 = "afe670c307b528d29ae8e957b3686b25e89812b2c61ea2153110bdc49f08601c3d319ec547b296b6e8efe18e32b95effedfc24101570bf01f5ba1057369e092e"; + sha512 = "0e4a78c9c03e7d87a934023cd0608426794f3e9818c7929b1e12bb300cc11d576334396c1125ceda555907363288726e286f6a376d6e301f386854ad3b437d35"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/id/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/id/firefox-70.0b2.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha512 = "3bf8d10779e4864185f08311c604e2c696ed63fe31558a13ee17b841b85518ac354798c999e7f498df563d75b8eaf901cfac4b08680fdf15b79b0826618bf0bb"; + sha512 = "76b89937f37aedf1534b8e06601c9d59680426a55b3df3726318f438de1ec259c335876a1da31c6996e54c0d9efcc651e1504f764d4b426db2f0d97a1ca1e9ff"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/is/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/is/firefox-70.0b2.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha512 = "cbc28d40a088ee44d06eb27c01dc1f07cf4a5e5f62e81f748f9a031a40be75c858cb3074f64e488a9e1e6775f984f10257d8bba78fbc7704a0ae7c09e1d0c5cf"; + sha512 = "17c164cc5a95f3e89e2bbddf58442da84dcfe784812163b68740dd1caa9ab823333c3188abf579601437217e0e9e58871424d1227b4ade6a0fc77e5798ef9099"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/it/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/it/firefox-70.0b2.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha512 = "a02199739bad49bab88536e2f35eab6ba1cfd848fc5ea6a45a575806f88bb2f92a3e5ef2b37e96666749cb1724f3b3211ee261b3a8c69435280bd107df8a68f5"; + sha512 = "ae37e92971d2f0c6ce322011e66c2857aa73518f1d4e8d26c3c2cf1d99bea8909ff2541146b6789096af5141cd927dc82f91ffb9f7eaa0fcf4276d4782e72a97"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ja/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ja/firefox-70.0b2.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha512 = "7edf5c6f834ea9bc2ee07c2348869d456d189ddc75aa592b983f68c0ae6be48bf6cc32260d2cc45032f764a0716474cd02c7fc6905ffacc5d5f132facb83a152"; + sha512 = "32690138d8c3dc2be001579602269ab5e89b7509f6d289a4cd0fb50b90e7a9a61ea57af8b064f904833504f0d523f1bab0a03f456fb75c967cc87f3e8e331b9e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ka/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ka/firefox-70.0b2.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha512 = "319bc1710d79a998d7ec5b23401b018b5518945eb79a3948ce9163d9bf7774cbbc74587e3ad9cdaeba273f0cf5310d6e9aa863b7d8850c019943b998dbd0d18c"; + sha512 = "6611137ec50a1a35b7ee3fa15a2066fd3231717ed6f7a4884c36306653226ee4211e8364e4872029d9b1967f69d10b799a4d58131d082f882e1b39e758132ebf"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/kab/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/kab/firefox-70.0b2.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha512 = "ff97e48ac35e86f65ce937c72e1e8588ec592a6627d957b92a989542fbea1ec8f3a4e2af7cf58f2aa7352e834d22f3d89f5639389873f5e9a2a86f2c5176e890"; + sha512 = "f06c8fb18639967870bd581d2757ea66631f35b167688f4693198f6d70d1f61985946216410c401f0aa881e566df5a0f13d085e1ee880a35fb9ed21b0fefddea"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/kk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/kk/firefox-70.0b2.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha512 = "69e0d3812a628c86a6718312e06dc2ebe7958b04453a116f6cecfb4703313d574db927e1a52ffc6bab31e6d1caff078b1672ec1dcf014522cf2dd2a3dfb28645"; + sha512 = "b22bae385110057cd77440101e27234afd17dc74602bf05763975ebc68e0940b4501ff168613fb664b2087a2782fe44a52589ab9972cfa44f9097513460cada5"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/km/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/km/firefox-70.0b2.tar.bz2"; locale = "km"; arch = "linux-i686"; - sha512 = "b9d80e54fc85f17f070ba1fc1f0feb8b029441581f9f274e939b3fcd9fcf5657d1d4cf8d292a2a36bd2b032ddeb8c881baabae7899f07ce91f3d3ca66284b82e"; + sha512 = "7c49611ba0dfaed7717f385925ccc621f5313496235a90c3851d26f11ec183541553979e6efe67f36faf7997d1e27a15e3d5646f33ed884fd66e6553c93d7db6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/kn/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/kn/firefox-70.0b2.tar.bz2"; locale = "kn"; arch = "linux-i686"; - sha512 = "c2f77903621e9fd45fabb0e30450dba7cdd73a50318c30b70c360ca89c048fa2444d5bce2d79332e3f85da54fadd682e22d64423b1ec4f72284e4f9d3b8ffae8"; + sha512 = "c1fa863fa066a7832975963afbcf63aff6caf702ee8c58e2d54705e61b1863d71b81d7d0b9b8da7cf41d7c950a66820d8e1137a32ef91bb283ffad9b36b84388"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ko/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ko/firefox-70.0b2.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha512 = "537f3a403df5a6a806aad85021c87c193caa61920cd1b6cf0601ffb18d6a63c1e9bd64bbd664cd8441d7433a4e909b11270e1c6925444d1f851d8be79a731239"; + sha512 = "8d179e7660331ba4c90f666ad3792064cce4fc551144ae3a8d550f620765e43274ad18ca9eeef988c2a7ea612dcf82dfb65cf225f875b154a4d4a4c11e5d7a64"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/lij/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/lij/firefox-70.0b2.tar.bz2"; locale = "lij"; arch = "linux-i686"; - sha512 = "695dd509a943c4c976e0833482f73e12a90ad9b282eab21fb4766e183dbe048ea600f0f0a6eb7504bdbc8a3211feba57a0ba73eda6d05e7ed7d451fd43392ce1"; + sha512 = "e36bd824232bb3d7d7fb4779e3207cdd504d84861bd0b5b2ced6a29ecb9d16b10e2fb267162ca96452f52e8089a085021869eb107ad8ba5cfdb49f8e42e56648"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/lt/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/lt/firefox-70.0b2.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha512 = "bd40ffa8dbbcf94fdf654d2c161aa29a700318aa6fa60bbd72b588c50215bd43827fd4c867403b163ac8e49b9147ec7c4dfeebc2e453aa5686de1f884624716b"; + sha512 = "4ec494f1fc2260d73aabd695a29441d12620a8118945974e8a0ca6f21a0e9e49bf8a6378d4409f26f05cef369c990e1432d0b11eec99b98399e994703ba286f6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/lv/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/lv/firefox-70.0b2.tar.bz2"; locale = "lv"; arch = "linux-i686"; - sha512 = "bc744d57e782adcd1a0094aea87f6b8ef9ca9b2bc24af81fbe2c6eb5bd29a3dbfef7886602d59b02e2653ea343748456dbe46ea86bd4fe04696f9750d248fe0e"; + sha512 = "3ffa772cecb4cea1c775b20b3ce505c2d84a9918c1422d85c5a2bde80c4b1432f223d828343af04c7c9518ae54bd7771e8144b66165aae1bdd140e068d0bda1d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/mai/firefox-66.0b7.tar.bz2"; - locale = "mai"; - arch = "linux-i686"; - sha512 = "dcd1f55c885e46eb5040a1029f4e55de35c0fb8dda84cfd825b05e7df0be18ca6b9af4e86d38651f64e25ae1589eca19f49435afaf82e7df5f55851d433eeb75"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/mk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/mk/firefox-70.0b2.tar.bz2"; locale = "mk"; arch = "linux-i686"; - sha512 = "7381f183be6544770f23eda7446b57f51bc4db88b80ac315acaf28a9115754c8e0d98379f84832616faffb0f08ece31ba33c48f9061ef039851e8b24d449cf2d"; + sha512 = "e8cf48b2e4a841c6101ab0759db844dce8865bcaf056dc0d2a5c43653bf86602dcdb337422a8149a4d4527f33ff79509d4c4a3fc221ca50c0f78fac80d7e45a2"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ml/firefox-66.0b7.tar.bz2"; - locale = "ml"; - arch = "linux-i686"; - sha512 = "a1147a41b8f4488a8ea44ba4b22f18f51cf8ffe56357ff5578dce15a22fa583ec071132eef808839103cbecc4339caeb49ea26a39d396826ece640fca8f9f749"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/mr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/mr/firefox-70.0b2.tar.bz2"; locale = "mr"; arch = "linux-i686"; - sha512 = "8af9862886400dfa46ceb152feef81c1f5356c1a6c51636fa9da71582ddb7893c1e61ec8f3daf65348d01eabd9f88b68f1e56084ebf4fc1198f98499c14e8823"; + sha512 = "a6be024f8c41f106157845fec1d5d4a5f81456d76f174883e8bc3d2f1d8dae327b20de89539980fef316baabdaf2cdf058dc91c12bbad1fefa0f374d66ac3222"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ms/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ms/firefox-70.0b2.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha512 = "afe1fd2de336d0b2065abe87dec8917fc88a57ac6c76a96d21168d6c0c19d4ed1f60bba1dd544edd484dd16f8d95b65ecc3f1eebd0c856621d5171980f49a7aa"; + sha512 = "4beb0656f90497f480a171d762d3b85260f4f7388847260faa15bf7835bffb88a2d44657401b5d0680992864b1a4ee8acf6a6f56d3e9f41b6704808f775076ee"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/my/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/my/firefox-70.0b2.tar.bz2"; locale = "my"; arch = "linux-i686"; - sha512 = "da39e6ef9dea62d98a6c2fc761a82a774cdcf69a9393f07552086a70e44cc0521913e6949e147c572e66e06ee19cf03f3b9fa1f3d1f4a64bc0cca6da257cdcaa"; + sha512 = "98c47dd55ce49f4933a1fd67626a6edaaa20b4945ffa21195f19c9676f284081d32de83047dcd6d0e7737be94deae34fd306484f0ea80527bf0e3117cb67fd04"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/nb-NO/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/nb-NO/firefox-70.0b2.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha512 = "59bdf1ec0d89c928da03078933fa332376b7e581078af02b66455cc15640643b3697d81912674492c3e174e28e6c2d3af0401664952e308dfb325907b6a98d74"; + sha512 = "5d51f3e4dcdb82995c456e164bd4875e735029238ad47e7361c2af29c2c22ad43398279dad33356a858e054e268e846bdc72d8a82e869f12d2871dea8f6a75a0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ne-NP/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ne-NP/firefox-70.0b2.tar.bz2"; locale = "ne-NP"; arch = "linux-i686"; - sha512 = "c99bd2039cce00863055f4102de1c73e17c0dc41c09a68418e7bf6f7d0b6668bc2f0a33b33494cb969d9904b7253574fb46b8398612154d43a2e35a124a47f04"; + sha512 = "794aee0947e1a3b81534fee16e3d7efef9fe6d8eebd8ec18b8bb120b3a3cdfcb4929882d09e8ee15136f65d88c0d6c25cbf8570f86e8c0f337f86f12fb11580c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/nl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/nl/firefox-70.0b2.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha512 = "599553e97cd68a9e9f1174d16d44d51544c2702a20415f60342fbd962a26e10847fdaebedec51d4ccd6e7bced6408a3fe56a6d0c3d4246b488d4ce0f68eec6f2"; + sha512 = "e63f00aa526cdc8cb4eba86f4b920dc38e0a5f9eaef0a4103bf380f72b9fe2421aa4ee1417bca18da719ee01d57964c2edf21c4697121d70820686ad2f7379df"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/nn-NO/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/nn-NO/firefox-70.0b2.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha512 = "facd1f9c324e19672056d6b8327ae48c3725e367b5c958c832bce934ba7a5a011580954de956a044afd75d1b92b5ceff574ff38ecad1c351511b33a4f07c72c6"; + sha512 = "d9e30d8d820ef5b07f6814cb5e37e3918b321968229d33911afa815ea6e727f4d3b505a397b60f1c1e679dfb79f9e130de450c10f8946035153f535060b9d4cc"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/oc/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/oc/firefox-70.0b2.tar.bz2"; locale = "oc"; arch = "linux-i686"; - sha512 = "1ab0008822ab659bbd094b3d4bb0768a0145bf81db33a7ce7b5edda76466d4908a91e81b560f98a30c9b0c11527855483413a5f2e1a2b329a81c5979355bbdbc"; + sha512 = "94004a03a0b07fb91a30677168d19ecfb29d5613483da62859cc68d9e392f94ecfd87f29b5f3c44cdfbb3fe067216fe4f6db997da2368aeb289fb7b1d83029a6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/or/firefox-66.0b7.tar.bz2"; - locale = "or"; - arch = "linux-i686"; - sha512 = "d4c7746274df0b178640777fb178292366625c7b4faabf63b3ea6322e1fdb4a2bdb41727e75da62f64b704bfcfcb2b6682023bf92f5625c8e74c3cb22df7cecf"; - } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/pa-IN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/pa-IN/firefox-70.0b2.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha512 = "af3270453278160f15285b00f722491b61e0d27a2fa8b6efbd1200e9ac19ead8dfd119352b81f792584d56a03e4a8fe5cf90c091ced0ee5278726d32719807d9"; + sha512 = "5d4d9952600b81a93ed62314a536d91729ff6a423ae9359436e632c9d807b13ac19fd6b1d2034839450ed5ba5411b91afeb52d0cfd74ec84a1924b6036563b74"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/pl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/pl/firefox-70.0b2.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha512 = "8f2ebce9a4a6f0c8a6be05d52679306b79ec4f8cabd69482a8dc4cdc6f042b6037c2ba75060b4d035460de9b4404b793e52ec65e63361f870495c6b14cd22900"; + sha512 = "6f3f628b38e06494d528c96071c0ba0738582da37f16a4a28eacbd17aa7574f1ef795c662ad09b8a15637bc25fb6b791e1bc54b3d530031c66450f5f7ba3ca76"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/pt-BR/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/pt-BR/firefox-70.0b2.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha512 = "c373437716555bfb28c163b6e86648891bc77d3ed3c260bd4791a5b2c577f19712eaf22959dcae85e9352699985c3cc598cdcb1a393ccc76c6d06cf26eecfadc"; + sha512 = "e97eb866f17277db6303c58411fb5f4ef561884c0e5437dc09d3da63145107a8ba5862a8d965d4c5ba38f40930e82c440ae1a26b023f6a212ce177c77df72f4f"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/pt-PT/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/pt-PT/firefox-70.0b2.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha512 = "c97fd8e14b35e0580c2f5fe0d6c165794333475da4aef3d61ab8d8bc996c5db5426ed38eacbc14e720197d2eaf642b3214c68497f3f55845ba91e8703a181716"; + sha512 = "81cd5a4c5b2a89079a45826f34ebd6564a929e1ba73dd07efa7d8a8b4958a36fa083377bd0e7b6b1e86a83a749f1117f3e7f2703961e668cced5cbdca8e95c10"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/rm/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/rm/firefox-70.0b2.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha512 = "ba192d6dbe106af3e7bf82731c432c3ca2c45ef3e0b9515b9f03b418c88b0cdbb2e9dadfdcc96177b8e655a6d2ea25d7ca671005e369613eaec33656a135bdf7"; + sha512 = "2b78c41faea2f3f91be9c21de826e5e8a2533a76dc925458e2f75f085fbce71bda63dfbaedfe988f29ef9384a0ecbf4599174a210269c6adf3f875d227374385"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ro/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ro/firefox-70.0b2.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha512 = "0438b185ee69b1ced92adc8e3f92c96653293e1f36ef644173245202898f16daa1c243c2776b330efe3252c1cf31c958097eb09a60336c9f7008db7f51982331"; + sha512 = "d01b01df0d9e25635b85abec0e0ac081beee02a97bc50b1902b271aa4ae5cacb410d7b9644d76785d54622553eeb8f4ca4f85e40c7867c6f99840de570974a2c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ru/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ru/firefox-70.0b2.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha512 = "965036260d00935afc0e386951c380e5e1fac7b9908465406efd1aff8aada74bafe0b957901ac3676a7c6ecef30f903ac4166054f75d14e35756454165aa6104"; + sha512 = "36ac6ec95c9c1e3d5caf1315854324bd0cb41fd6e83dabd81d3af2189fcd111ea7ab8a384e5a07f4618c9046b8f59c3590c6bb8d1a12a2475d19d7d65940a26f"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/si/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/si/firefox-70.0b2.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha512 = "9a8f05061cce41c96a47028ba6c0082fecf343c91c718e3de6b1d125fc786b39f4e88231b48cf3dae07657621cd5d0bdceb3cbb2a7ee4e2728e2970cd47a0293"; + sha512 = "796878bd3a982443558d042c64520d6cd65c1eb247c6630e1c1073c75be3a2d3e3d4f164deb44336ff536c6a7a81650c0806de79cc3698d6215fb87ff2ca50e8"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/sk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sk/firefox-70.0b2.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha512 = "f592aea9178f2802fc29102e46ed49f122c734fb5fcf21f9c59f38564356a570fd3fd758d2651f4a1e095a1d28226a1bcaf93d24ef8b46650e5306a0b15841db"; + sha512 = "48f3179f9ac81ef1c69a44540adf994874a91770eb1b2af51804a791c10540485a61af2b1fd337f7cec86682c5a3df24e8e030add48773459b8ba7caba6e88ed"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/sl/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sl/firefox-70.0b2.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha512 = "b83008a7fc9ff2fd3073dadad7f6bd3277719bbb945f7ce741cb3c7e59effafdf6436fe4340aaba84ff5f0d89315f152fee06beea1206d9d0bd83e4f9d8d8335"; + sha512 = "5ca3ddfef139448e411bb226cd2abb3a8fc4100986a294bedc5bcc4a1906a6b0ab82f6e3d536dfa66e404bd5b7eed671e98cb22f1d082764cc5d3080fa0363f2"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/son/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/son/firefox-70.0b2.tar.bz2"; locale = "son"; arch = "linux-i686"; - sha512 = "64b8e3c7701b42fdea997036949999bc41b846c36b2403c7d2f3d5f26d08e2282e04a38fa1751de4df676fe6179c9e79390d1dfd4f5e69e0f3dba1d937d43767"; + sha512 = "a14b7a55043d2aeec02d1f28f30038e0ffbc3f76df1c5abad04413673d5e6d7290feab39e0ff40bfc35bf993fc49311b0cca38735c367da233808910c2a864f7"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/sq/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sq/firefox-70.0b2.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha512 = "2bcd1ba640008b38c9b00a5bd1d7262e66a48145dee08870f4f175d2f8639aa30dd67d2ea720c4fe5d7db8c364967d187bad7e1851f241e15e688a0332a2c6b7"; + sha512 = "ea1575fefd6ffccb7a6ab428663de5e80b48062e13d3424d05b5aa3b86972236839f6a0df7546b5ead27be0a40293f2e9d74472d2756d9fa86bad18d478993de"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/sr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sr/firefox-70.0b2.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha512 = "9c4a686480402299710579ce8e2d40289802cf05f8c188ab65fcf40d236c37e7e4e244f9b5d1e79abb347643b0fa65d16cd5ea2256a7488371e7ef6e7b3a2f8f"; + sha512 = "8c5ecc59a41613ac259e1f1515e6475fada7cb7c33650722ad9d36005b8aa173afaab254eec004be082bd74406c88aa4754dc3f4dd131b9761fc82778a7dc573"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/sv-SE/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sv-SE/firefox-70.0b2.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha512 = "ff0db370979bfe4cc2542a2048b05aa6e10ff8965719a0ae371d196566981ad449c42acb6b6a44aa2a19cca768ac7f4074c27e1741fff8d7908855d1ff8c06bd"; + sha512 = "f6446ff3add515a7fe46af9752206c05632cb95b5e65e19c331556a6e4e304f765f8cfc9cd90fec2892fe7302230a5b3b85c462a557e7074e255ecd94befbcd8"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ta/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ta/firefox-70.0b2.tar.bz2"; locale = "ta"; arch = "linux-i686"; - sha512 = "330334037c1f2fdccb8700b3068e6e10ee6a52090b106aceb7f96e3b55cc2797bf3a483cfddf7440f0280e54f3115f280a420ea78d4bc934cc570dd8590d1190"; + sha512 = "03302b3da44fa586df13d2f20faee5da5e82151550498d7c0e0fc70efca8a98db47443bdd0289fe90d602ca53c1e82c9f610cc8432fefe5c99878faacd0c9153"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/te/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/te/firefox-70.0b2.tar.bz2"; locale = "te"; arch = "linux-i686"; - sha512 = "0ab6da55daead9c2e83d4595b3f282f3cf9f5747ab435f098e38cc664c42c1b9490730126cb73a85a2b5a3ee4016739d3d85987ae174a5a63d3921322cc22e54"; + sha512 = "49b3921154e909685e8e52a892a2af322e650109fa6b17bcebd62908e71b5b30c0346905c2422124629d93e1cded40b6f81222ad4871057ac482c1df7ca3b53f"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/th/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/th/firefox-70.0b2.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha512 = "2a4b8c5f185e017b01b4e2b54ada5237482dbc83125554e21325a1fee427ad64dbaa887fe02705618c074a51229748e2f091ae62cb2054e0b2c158d9a2c2d04f"; + sha512 = "497da9beff43403f2b09da713474dde509ea2a71145fc8006a852536e4ab71a83586d67d6b7238b3b0ed3d135db6bb2716716b959463b13d92935f2b1ee147ef"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/tr/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/tr/firefox-70.0b2.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha512 = "fe07d4ada692091072ec0e636c95f000c9c5fcd3b403ad216230100bab2b5afd9c76098bd6bca3f1ebdee6189b3ead9b082d77b3fd24d52d0b3f358b24e59ecc"; + sha512 = "43762b9401ad7337e0ff00003a07d374271ab032a4609bf9abb1fc3a69ab578e45721395d06aa4fdf41e15a71bf503156632b5e3d6f94b5d6e62592c78a267a9"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/uk/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/uk/firefox-70.0b2.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha512 = "1f95b06b26b4a1005424640355f93d7a8eb7fe66f93e24f8728c2eb4e1f69919f1431abfcc2b5ef2a1c830b87f4b907f497ac72b28c5a81166878722333818ba"; + sha512 = "e10bbbf8a8f899f2a7b57bed9a846d6b490303c456027b034a750dce6b21416415eb0d9420629d008d901ab903e7c643fe7ad5bdf5aab511da9977d536d71ffe"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/ur/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ur/firefox-70.0b2.tar.bz2"; locale = "ur"; arch = "linux-i686"; - sha512 = "76e41d84384f47a5d654972babce48b6aa4d17294bf6bd8fd0d47948a4428d5c81b87d6c1f657c5e6a8e84afb94e5dd23c7faa472f3b0104c87c408eb7ec752c"; + sha512 = "9155b7efa37b299ce74ed6faacafb354947430265a34fea9e101a9f0947a57a4a3b001bc7b583002ea08d3b7f33074926c4f6184b563fa5a1811b2b7a9b05fd6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/uz/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/uz/firefox-70.0b2.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha512 = "ee582f0c4500844a99e671d2dd18615e0e7faae2a41ca781fe2c8d05dc7256e931d34a559c9e2b976bb7a7347b1e51578727d0b014d59ee8d464279f561ddd47"; + sha512 = "a3a3aeaa6cfa114e619ba9685dbf9d796015f26b9fbb4529f69d17f8c40c0771d58ff044cd4f97123096244f29b964f1756868e35b5dec3fb79f7b32b7a31ab2"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/vi/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/vi/firefox-70.0b2.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha512 = "705eea5171f9059a2ad02d15f58959a6a85656de44e7b301f851a7835ba6a1d8a6b908ddd9048e357141a6bcd9c03075650376eef0f859823604991db19a3671"; + sha512 = "167a38acc587a4479fcd15d1e47f34e0412e846a0689a119c1f382ef119bfab3035450326d086f6c8efd67a93300df234d53165609c47e94327b4415f40d88c3"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/xh/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/xh/firefox-70.0b2.tar.bz2"; locale = "xh"; arch = "linux-i686"; - sha512 = "3a737d094a9d70ce72282a286beec8feffb397dec3ce032fc2f5013b0676455b3e8719f569d75a3849e42547752de6124f65bd618b0c629253d6360cd3a2efd0"; + sha512 = "6a0ab1589a56d6563431d2e5f01e6c01a65be6865cb4b4d52a21b6438727d378ded049730374d3400603286104e4e05f246829b9a45513998db6c9c14597d6cc"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/zh-CN/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/zh-CN/firefox-70.0b2.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha512 = "eb79ef6b04a82305faefab6b775a41412d939a91ba819bd327eaccbee3b744f64294d0fc66fefbd848766d07e4fd21dbef2bcc862dc664d7d2367334d7f11750"; + sha512 = "f3e20c68a34ba6aca4bffd07d0bc1e5676ef7f2d9b56aa175431825e90221255bfaa76e40a6fdacf812172317deadd3e3a29756331ccb09aba5804ae58d2ca8d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/66.0b7/linux-i686/zh-TW/firefox-66.0b7.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/zh-TW/firefox-70.0b2.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha512 = "dbc3b3568bf023830ff6fc009da3737c7609b7204307ca553e629150cecaf5f5e06cbee0fe95e02b040864fbb60b38ab1b319cf5bc9e3568387bfb49251d0b17"; + sha512 = "dea1df5beec52f0d12e18907922bbd2f27b4a20c87874c199d04671f636fbfebfc1d64bf0c8935ae41c139d4beaf08e164aabe47da8be67d4855b1fb924aabfb"; } ]; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/firefox.key b/pkgs/applications/networking/browsers/firefox-bin/firefox.key deleted file mode 100644 index bd27ce85c94..00000000000 --- a/pkgs/applications/networking/browsers/firefox-bin/firefox.key +++ /dev/null @@ -1,254 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: SKS 1.1.5 -Comment: Hostname: keyserver.mozilla.org - -mQINBFWpQAQBEAC+9wVlwGLy8ILCybLesuB3KkHHK+Yt1F1PJaI30X448ttGzxCzPQpH6BoA -73uzcTReVjfCFGvM4ij6qVV2SNaTxmNBrL1uVeEUsCuGduDUQMQYRGxRtWq5rCH48LnltKPa -mPiEBzrgFL3i5bYEUHO7M0lATEknG7Iaz697K/ssHREZfuucB4GNxXMgswZ7GTZO3VBDVEw5 -GwU3sUvww93TwMC29lIPCux445AxZPKr5sOVEsEndUB2oDMsSAoS/dZcl8F4otqfR1pXg618 -cU06omvq5yguWLDRV327BLmezYK0prD3P+7qwEp8MTVmxlbkrClS5j5pR47FrJGdyupNKqLz -K+7hok5kBxhsdMsdTZLd4tVRjXf04isVO3iFFf/GKuwscOi1+ZYeB3l3sAqgFUWnjbpbHxfs -lTmo7BgvmjZvAH5ZasaewF3wA06biCDJdcSkC9GmFPmN5DS5/Dkjwfj8+dZAttuSKfmQQnyp -UPaJ2sBublnJ6INpvYgsEZjV6CFG1EiDJDPu2Zxap8ep0iRMbBBZnpfZTn7SKAcurDJptxin -CRclTcdOdi1iSZ35LZW0R2FKNnGL33u1IhxU9HRLw3XuljXCOZ84RLn6M+PBc1eZsuv1TA+M -n111yD3uDv/u/edZ/xeJccF6bYcMvUgRRZh0sgZ0ZT4b0Q6YcQARAQABtC9Nb3ppbGxhIFNv -ZnR3YXJlIFJlbGVhc2VzIDxyZWxlYXNlQG1vemlsbGEuY29tPohGBBARAgAGBQJVrP9LAAoJ -EHYlQD1/DRWxU2QAoOOFRbkbIU1zKP2i3jy/6VKHkYEgAJ9N6f9Gmjm1/vtSrvjjlxWzzQQr -kIhGBBARAgAGBQJVrTrjAAoJEMNOV0fiPdZ3BbkAoJUNHEqNv9dioaGMEIpiFtDjEm44AJ9U -inMTfAYsL9yb15SdJWe/56VCcoheBBARCAAGBQJWBldjAAoJEAJasBBrF+oerNYA/13MQehk -3AfkljGi252/cU6i1VOFpCuOeT7lK2c5unGcAP0WZjIDJgaHijtrF4MKCZbUnz37Vxm0OcU8 -qcGkYUwHi4heBBARCgAGBQJVrSz+AAoJEPCp59zTnkUulAYA/31nYhIpb7sVigone8OvFO19 -xtkR9/vy5+iKeYCVlvZtAP9rZ85ymuNYNqX06t+ruDqG2RfdUhJ6aD5IND+KD5ve7IkBHAQQ -AQIABgUCVaz9fgAKCRCzxalYUIpD8muMB/sH58bMSzzF9zTXRropldw7Vbj9VrRD7NyoX4Ol -DArtvdLqgPm0JUoP2gXINeSuVPpOfC676yVnBEMjIfqEjq09vcbwayS+Ncx4vQh2BmzDUNLE -3SlnRn2bEWr9SQL/pOYUDUgmY5a0UIf/WKtBapsPE+Zan51ezYSEfxDNfUpA4T2/9iWwJ2ZO -y0yIfLdHyvumuyiekJrfrMaF4L9Q0OnJwp1PwkvN4IVwhZeYDtIJN4nRcJK5LrwU7B97uef2 -hqBBll7/qCHl5y4Khb0csFanIg+pQLPUJdIiYtzoFtlgykB61pxqtU9rqGKW02JzEUT8DdPU -XxmMBy6A8oGeBRH/iQEcBBABAgAGBQJVrRdcAAoJEGVzgtv/JREKQJgH/3nD/3/SumL7nG2g -7Y1HQqWphUbn40XWvjZcHq3uBUn1QYXeZ5X56SANLM2t+uirGnNaZXW3cxEl5IyZVLbmcLWE -BlVAcp2Bf3FXFbdJK59f+M+y2+jZT9feTyrw+EtLoiGTxgkLdJyMyI0xGmQhMx5V1ex1CxhZ -K2JPjzCVYriBI0wIbmKi90YNMQoSsdMhYmX9bHl6XWS9TCDWsqj25FLYJL+WeVXpjO0NjRwE -E6pc/qldeJYG5Vbf0snGxIerXe+l5D8Yd4PEAnpj58+5pXeoGYZn3WjX8eTFMAEU+QhLKWQ+ -j/Y8Kijge7fUxnSNBZ2KEnuDN/4Hv/DrCFLv14CJARwEEAECAAYFAlWtZVoACgkQ5DJ8bD4C -mcBzsAf/RMqDdVHggQHc0/YLt1f/vY9Y7QQ6HwnDrtcNxxErSVcMguD8K6Oxir0TMSh+/YuZ -AW8K4KSgEURwZqz4na8/eOxj8bluNmlcAseQDHswqU6CyB95Woy3BocihH7L0eDXZOMzsa33 -vRQHBMioLxIbpnVtVbFR1z7tmyfjcOrzP32xo5QoPoczKX26luMBjAvbw1FC0is2INnmUSYM -4uH7iFZuXGPFYxcAqODqy5ys3MoPa4oZ71d0HoiRil1+s0Y+2ByddZ19pE2TXp4ZXNYNUj/2 -aRj8b4sTjR4rqhHIx/vfoK+VCNy/skFUZOyPdbbymE0stTRSJ1gr9CZLcBWYF4kBHAQQAQIA -BgUCVcFZcAAKCRCJFz+VfFX5XqApB/938p+CJiDRnh2o7eDWnjSyAu7FWmWGkOQnjI/kraKx -1vojsYnKRXD6mjq1QJ8Hsp4taJnLQjcokNTUiST4m/e4ZJExPWuJKkwlralWGH6NpqYcgWPa -jSYb0eYQC4YqS0kfyzolrHdKI8Y4NGEU7yy5zsHwWkHt/mpNQMrYnXwyWdIrc03X/OXo51dJ -yshJDRw3InREyBblFJcLvArNHz219wMrXAicPytw4wfPpVrmDx6GrZcI8q8ECWCjwSXXv7hR -pEuFLSy5XPhMc+wYBJjNlUoiFBAF/7zENd3rMn9SCQLiIFYe0ubmO+bpeGy7TizbxOaCIfgU -ouyy0BQXNuJBiQEcBBABAgAGBQJV0hrqAAoJEK18uZ+CSLoPzEIH/1D6sJMNAJtZCRGhJXvv -6SYhv4pUVNyDF9FnUvRsovliojoe4IkuBTWKhPGrxbiD5IO/izr38shqNhhm9JE2/SQZHObY -Pi+lyfDKbJgImTNxmS4F7JHnRLr37VxK1sVvuNkynJnqvCcp1g5xwNIx1rKcka3iuqJj6toM -8XQfgsTHH1rUkWHbUV3QwNzXm+yhFm2s6QzxBooPzmFn8AY7CXD4pvcMR+M0Zy+e42nngd8l -zRnmTBVig4pRq0GCMulFG+XjeVQZFpoIIxo2k1lczbRmGttONdGWSjxBUxReoTbSwM3C/50N -robycGQgY0gd6LGtWtU8/uEfklEy2NluxYWJARwEEAEIAAYFAlWtAUYACgkQVu5xjc4OFUs0 -OAf+LM0dyyvUFGdXfJDpP2xMknXzsHAXWFEtH5jein58mv6dD3fTVcCouo1vMQH3WFFSLYZv -wtNnHGrSBqFbNKqZ0ATQ5tcYaWsSZ+MVJJMXJDXFG/Oihg1nNOM33VdfV0RGPKP1I4cEROxm -s3TUFkHW3cSCgMzs8I1OxfSoLrm6da8EN+2ct2InqzdQL2yisyTyrdmXoNpwXDxApKYkvVHQ -4+9eJI5m0ZAr0mBjIeJdATcw4/lIVKTrV7UhrChxiffYJcz4SSC1crmr+2Fzw53CyAsAmYal -UHep3Yr05oQ4oJRX9X3VrY/yELHwwxXaxCAdwwHbbXAMhZsPk9Mc20J6BokBHAQQAQgABgUC -Va0isQAKCRCj1lIXO3Y+j6ZeB/91Q9/qr5oMWgOMsix8kflBLw2f/t+tRR0SWDw90bG1npJB -6nq5Hl+Bz4/A4SWFTFrrrlZi1Enjn1FYBiZuHaSQ/+loYF/2dbQDbBKShfIk3J0lxqfKPAfK -opRsEuxckC8YW1thGxt5eQQ8zkJoqBFTBzwiXOj3/ncJkX9q9krgUlfTSVmrT9nx0hjyNQQX -rghsmBtpR7WCS7G7vNRGCNUorhtviUvL+ze1F7TTSGspVsVxo2ghmz5WT/cD9MV1gcVjojYm -ksh5JIl39jCHr9hl8aRId/OfzsN+TKuBcpAxDkm9BCAps7oY8FlLKDFZTtHa000AkodKHT88 -nwnvKuqPiQEcBBABCAAGBQJVrTkDAAoJEPbQ92HczOykK9YH/0MARo3HlYXeS2bDqM/lwK/r -QcPCCyYke6wbICjncbCOjgXHqG/lBhClNs7hp/7gqkUaR7H5tmeI4lalP40mSHHnnFvMD3Tc -yhn350igK0bgrjWQDaYxhKlHT3vIXd/C24/vRSAxmqIKbP+IoXOyt2GMTQq8GOm2dgYRaTkw -yHnGWnMaibctX8D4oCYR0/D4YJqPkfqobf8+1ZfP5GaMbSxE/Jwdo0kJa4vPjEzFXbygAbnc -apzdwN6zgel2zh885rz7B7vIpMr/Y7eV85Q68qdyyhLe8cL8Y18YPzpFf+/PZNbgYxouafvn -FwBhPQwg0gUF/+1eM3UE2ua+saSTGduJARwEEAEKAAYFAlWtCVsACgkQM0LhtmejiGMovwf8 -CfYJHNbwiwSMUoP4n7FrmElhBtxvlbnCMZKz08v+lFsfS3wU1LUN69GqirfF0vkQRSlSBp7n -iCLHQCfSoqHMLgxF0P2xgXLjaYM/t/rxXDawJmW18G04dqFrtCPZTbwMT2PsPHTiWQdaN0e5 -0lXk9Vo+l6VbwQMg4zH7icZadeJgQooxFalHYFVXUVeex9t8/YdanFVrHFa3tao6azBTSUkJ -vZtIu14SfxigDWIIwsx0xpVfJf3a/xC6HY3Q1a3NeBz3i6DwaK5wYqijZKl0WVdULKyqU98o -F6y0mUv3d2o/p07Cqgeo6xxMkHqu83OLa2a0C7tYPLgL4EFc2FtikYkCHAQQAQIABgUCVaz7 -KAAKCRCWO3gxCjexfKxrD/4npm1rB7+pPlotbqK37Mur7egPbVSAzVNU/zUKPAuGUeP3C64Y -N77ETx1kDuS+meAqMDHFc9Bf8HivPbtj6QcK96U5KstbmSh1Ow9YiQtxJgxGjg/CzREgZAFc -jy0MhoklyPsFhv07s6MLOJMSM/krEN5nqjifQ0WdmTk02FLoHVWcLdjfgMiPiSjGbU3k7luv -jPyRNzk831szE5mfa74rEYh4TBklse+2uB4DFQ/3oHZ1Sj6OBK6ujmNKQjIP7Cl+jmjr7+QK -0OJcRaj/8AckDA5qXTZACh1S2syCDDMnX0V+dTxGCIoWOK+tt9mLohMzpEeD4NIX4qdpbbCR -zeYZMHSomyBIsbA6B+/ftDE7W1N0/FtJ9adkkCynKULvh2CH5c5hgOOL22M+2spnywRoeJRU -WU7hBM5OUH3JjA4Tu4j/cwp7dD7QzZrzmC9f5LQJ3OelejvVowWPQd3/tky4o1q6wlmFqAcA -gtu97UwgBOSR9sJPGDlt1iC91UYAiBQQAA7ya8uXUS84mCQwTlr8j+YrowvEHK4IxpPREytT -1LzzV/4Am4ndDFtujy83QjL0qaIIim1xIwoEosd4yidhpczw7f3b9dQpuBIFeQuhM7JsxP4t -mE7S6k6GlEmqa3INPVaPGnsUGS7+xSMlcJXLtimPCSQvFma9YiGV5vtLy4kCHAQQAQIABgUC -Vaz8uAAKCRASy06X4H5n0dg0D/9QoxIh9LRt1jor7OHG4xKUjKiXxn/KeQNlJnxI55dlWIvJ -EJGheFjaDomzKBYuxmm2Ejx+eV5CHDLUYsLFYwWf8+JGOP75Ueglgr8A0/bdsL63KX6NP2DC -g8XR4Z1aeei3WMY7p/qMWpqbQoAv9c3p49Ss2jSNuthWsRR6vbQ9iwze2oaUaA44WKQyhhbC -wBU4SHYjlKCLqIBh/HXZFhZ4rDfuWgPBKvYU1nnOPF0jJRCco3Vgx3T9F+LZ3zo5UPt1Xapr -3hMVS9iaJyl1w4z2miApUaZuHPuWKuO4CJ1GF1mS5T6vG8gB3Ts5zdtBF2xQIkCz+SM7vW/2 -i/82oq6P8EuLHEhrQPR4oTjXIvXdEJ9kgbjqcj8Xk+8teEOnuwh6iEhay9i/bf0D3Jd+roFN -5dnWPxhOVjzrI3fwlK1/ylsZYqUYBEzt7Wj0MdhjeKssI5YICcqYXXjBttMw4B7DZXPFXzz3 -kHB56jZ/II4YUjpLO85Jo5A9SV+aIqa0mvCt6DvVWy/rhfxfoUdqNlhX11gkVLaA7xxgn/Nq -POf+h5hVO2mwWkmart9YHKMZ3ukCdke65ITL/nsYSm2ZhG7OYjaCfu9jPWtkBstOEWyT9q4J -TdViR7wN3eMefEG6rb49rxOYvGJu+cTVkp3SCpl0w1j+tPj4tkj7ENzPMXdnuYkCHAQQAQIA -BgUCVa0s4gAKCRCKsTKWOgZTeuMyEACKOySKAd/xDcPcHg7Prvdws04Z8DIR0dY2qUlbRVx2 -jTmIXyry63CqbOJFbDg9uk5x0+lSotvrWtZ+NKSrg9VM6vyV4cc2P9rhqIBi3wO2elzAmpOa -S2KKOjQ+2fS/xqh91ElJUu09xXQXJ0vMrqgui+zN1YBDiJV0WOmm90Mm2NPiihcWZmBmDorO -qMQabwbjBLi0yUVHgAlkilY3mAB4tmEKDeN+4pYSAAhXAll9U+nyoVMgwMJscZyazOp4MqMb -mFjyr4p5AGzv+OOJtjtCNKT6oW9Y+URLY0YKeOsPk0v5PlbQCVBlLeSBsNZudKav/Gvo7Mvz -5uLTcneBFb+haYIiXO/FQm4uBHkzdNFLgaph81Wzh62AhbtBlfBOj/lbzN3k/xRwo64QU+2Z -9GOhFlhjfROquY70FCQcspwNuqCdZybnkdpF2Qrr6Pi0qKR/Xb9Vd7PW0/gKQdwwlYTiDemg -A21mYeJrYw873/7U/+kLFRvmPAEX4IOIOEN6XVjxvu78REi6CmXxOoYnH4aRSXDRyi1nsGjB -43AtfAMMNCUigDgFP4sUsZAG1RAoxBhOsO/g9S5wx8H3rKITCXDjQh2SYeBwHFcU03EMcyzE -QhbZNighN+aRKGIibteRxISiKU+kcWaHolemeo6wGF87QXEpJaQ2OwIoIxQYvDDmQokCHAQQ -AQgABgUCVaz/8QAKCRA/8xuvEEv54t06D/9n1Nyn2QSUN1mXd7pomoaka+I2ogDbQpu9iuFq -bkqfcH3UuG8yTKlPp9lYDBs0IEfG85Js6iVxJIultocrcDmOyDkyEsnYbdel/tn3X4yqD8eI -6ImRoCE+gnQ3LoEIHuODfJoosM/jAHANs4fsla4/u5CZDXaaq7pYXGiTt7ndsfmLiCa7dAg7 -bVFfJagsnL/VjlfeWM9nW01rDL9LPxSN4tq7ZKXWZDonFZYJ4unsK/Cn6Pqco4Wb+FUOWCcW -t8in1pgeNHZ9WnAgXG999/3iCbbQTLB6uVwY4Ax5P7VApnLVXV6QFVf7bN1DxE8kZk+pfLGc -uD1LJSF0skE80M17kAt+iV+fam8EYzeGdG6cY6w+srndaMaq9ddiHIiQkR35SjJAGnrNRj8o -oUr/vKOBnFfuwJLA2MOUVPZ8HWB+WXW8qhihw9CXa38Hdt4o5knMGRIyTWEF0TQDtRGQ6his -VBN3OxJRXBj7/QgCG/GoYpweGKcsMU43p57TzbnXVVUytJsLFyexOGNzrUIxgDVPEvTUnNvd -AihNZPdbW3YdFkP9pdwOyDpQwebXELUx1kp4ql0laueex4L1v+0a6rDYQeK1gOq5UGY+THRS -gB2xsHl5zeryfgnjlUkUlxKuumz+9FI2fRtSpxmWllJkRF2oFMGRuLPGAWe8nHvfgkuGVokC -HAQQAQgABgUCVa0bowAKCRCVY0f2+/OkFWKREACZ9TOmzvY6mrfWVEdldcYPj8cU/1LJhGdb -No5YYMx+A72nchxGXepHA65OEK+f6rFMeZFPwpQPy6Sj3MhT623H/PECfeG87WcLOyJbfc3i -9T5jvxS+ztG6abYI2J/50oMvjUWdWkDX3VvdPc0ZZ+KC+oHvx9a/9Yki48m4CEKglgVsrRW/ -b9AXZQCj07bB0GjQQtkqY/m1Z8m4ttzxfO7OBo/jHNF2An4/4gUDirXNDj0UdB5FYFJaTEUC -neIj2x0fk1r4u6na8tINhiZ0M7IgjnDlBD5jwzvwG+3kYE6TnYp9Mfeg2MPC13tp7jrJatLL -utrOzvmSVLGLXbkh9w+v+vx7qO3TxZUNlFqTmYs+vI2V/9j7KYV7Ttoind6Io7X9ImnYrvd8 -JOyVcO3867MplKnrnqHJvFStE+JcHEcw5aRw+WVmoFd/obGc34V3K62T977QQGOkrTYDEdje -KADfjXXZkZMZc0IvzLBOJ1XB45+PKqJYCcJJS8Xr55+NGCDaaUPWDpkNGIqmX2n9kYROMKG6 -uWkZIqG0JlZkga3THSJIvLiy6uoOvDC4GoQ9JnTwpGv6r1Hwcg+4DCOrYKOoPKMMU24vHx2F -tRRUgCXtr2cmi2ymHlUrtz8EXS4tblic8lixcbvPUqLEvbJ2gfWQvjXNd1whYE/wfvI9WBTE -IokCHAQQAQgABgUCVa0b3wAKCRC8FzAbSRs/IQhXEADiKbCnsN/+Plllxn6SQHACEU75ackx -+Q02XiD/u+wUptYUGmJi4aaW9f6mgzedOxYK4S+/dCiFtkcYlL+FjaR0C7G6tMjrDgW+8nQC -TPUNQA0gX2B8n06a7Zmdv3EbV/PIJJwTNSBp/dqKbvPKnRquOOpH+ayZ3awKOq/LlWBErbW1 -gB+FabN0lCe0iUIQTF9OH3GC4QsMtIrePueBmVrVPcHATV2Vw9UPqX1uX/tlXm5eai06oVT7 -V0FwUbg0o1eacblNXvHciHpe33zZIKkGBWwSjDVcU9/SN+U8GfoMYmyCma4iN3KaCklpzBkJ -iQZtNKPAB5KJti8LDUxFi2sJd3sqWaZDGFhO+/PKhBKpqIhAzx1ppd11zLgh0eg6gQlXN8D8 -ELISRvQqGGNNZdChEFdzGElg5SMfmeEd37OaX4wceLLV0v7EA0doHMVo0enFhSwU3Ywtwxbi -ukKc7H/ylG7+jvntjY+z7KktRsY/FkklrbrNhddMBQMMSAQUUz1GJ+6NUKmzXjqxFuuh3OAh -qNzhJyABZWQcNMph+rogEslkenwoHV9gWRWtS3CMybJkKkbsWpYhMZNY6hFtgCwida7NPs83 -69v+yTTE6TU/NIlXUKYIf2LMqtOpEBTjaN3jKpUi5DeE3zBeh6iVKUrfCXbt8O0rYQPNWGSW -+MZ2t4kCHAQQAQgABgUCVvA4GwAKCRBE9G4UbQI5XfS9D/9XPK7jg0lmsNZ2sDIyeAw5n6oh -SR5F20ocTMAVeXqN7VkvJdNpIqHJa13EP408DgTy9BsSptym/OQGE6B82BU7FZTEL6eMHnGG -Dg+5ktx9+b73xLedzK75ti6ED+QuA4kDYcvW8hASht0zRcmFUzwbtuEopJ1Lk1R3oFLwCAov -lhduC45nANWrTK5U+D1U2obl5PAvx+9mEfgvojlGH/C/WD74W+cQZFH7t4+muRzamckLyPft -nTxjNF/lpYIm7z0QOwvzBYj+PJ09wYueK00RE5+i9Ff8DrjtVSXsziQvSjJuUlv0kVvM8r3t -h4zBBNRhA4cinwqxhgqO4G+r2r9Gv0M2nKKOnWmyF+MSIRnhgONOQZe5a7kQxKVWkLicS2IG -UpPeQyTWaqZzYXsD+Dm6DXD57vYTURtUkwO0CDONzT5XiS1HG1MZrw+V/Jai4HAvpF5WkTJX -Pc1Lv75BxJj3wOAw4MzEWCCdr/N/dt5/+ULpEaSQfIg4L4iEj6rvabQyN0KbOxIDx+pPQ81i -zfj36wIrDqhyCNIdmVH/yARltkL4XDEl/pt7Y3t6jqFhy057lektowClWcPeq3DoL0LFYnjN -PpYvIjRIAXdhaYiAu2ViF8WdGzQ5tFeI7u3PQUG5NcPe+WOPOru3wMMrUhLgLHkCdNkjivP7 -9qIPSTkCGYkCHAQQAQgABgUCVvA48gAKCRC3hu8lqKOJoLRMEACmlyePsyE5CH7JALOWPDjT -f+ERbn+JUTKF+QS0XyWclA/BIK8qmGWfgH38T9nocFnkw17D3GP8msv8ll+T4TzW9Kz9+GCU -JcHzdsWj99npyeqG5tw+VfJctIBjsnX3mf4N0idvNrkAG5olbpR5UdsYYz62HstLqxibOg4z -WhTyYvO6CjnszZrRJk0TYZON4cXN14WYq2OTrMaElx0My8o1qVBnK58pIRzv72PmvQqUk5Zj -hUyp9gxjqqCJDz0hVK61ZuGP6iKK8KCLTfSxeat05LAbz8aC58qlg5DVktevHOjBgnTa8B7B -gJ7bQ9PLMa3lF4H1eSiR9+8ecpzEfGHILoeIDIYH7z7J/S0mTgV3u5brOMYO+mE9CEfps85t -VVoyJrIR8mGEdtE2YmdQpdFzYIYvRfq9tnXZjVsAAsC20Smw0LnjhYzAt9QJwZ9pFMXUTg6l -C5xT+6LNrEY+JR3wC16q36bcbCNj0cBv1A3x6OI5OQfpexhLPDgoDiI+qozJIdj8MzJ8W6KU -1Z3yb3dqACk77yv37rGO6uduSHnSti26c/cUIy6XZBbXBdobE9O3tr8hwvTQ1FXBmYnBrdiz -U6tgxEA5czRC9HOkdk6y6ocbjmONpF6MxkpJAvTMk7IqC2/hisbV9x4utla+7tmNZU137QGc -aK2AGQablVAy4YkCHAQQAQgABgUCVvCMigAKCRCkhaDtUbi3xAU7D/9gUPZSJ8pbZV9TLaKD -57Bc7B78HNV/B438ib4dI33iihMTBHnCB1giPE9X54QoV8ASxrO/xveS1kkj78jERqUcED6Z -HhMLb9SWs6CxUKdMdgovnIlFUc+t05D5mb6STi+zNihwO0JI+n79qhETy73WLpC7RR0aMx7z -Ycbqp3NWPptcf1kVGJZGx+QbEHfVye98T5pkH5Wp+7LSlup6AldQT/oifxdGxLXbECTnwozR -vyMpAaphoEHrET1YOmKnmw/Jyi6DLpTb3XvSf5Tntzr7HklCEcL9FvYCoHxiXWawLhuPhSyr -FYeYtF1ypmzTgaJWyuTZ8sN9J+y7Tbchk/I6FpX+3YoTgPCcC7hv1Krs803N/3KuyBEvhzg7 -NYRikzO3fxXlBG0RMm+662E7KlERU24izbWhGiYwl34+MaxrIO4oDvF79LEN7y0+SjL4V0B9 -689d+HI1ZfS9O1xkOlW6y0QyagOzsTOUF12s2mWydFmipbYnIwsSsu6Nzk3yO4M+qYABJXJ3 -tIFQPTd7xqmPNlJ8mFtmzHDhb3Pv6sRNFLLujYM9cJpuNMbAHWdohz1bjBT9pZQ3zWpll5wo -tUvGmJd6hTAXdUgmZ7lh7Uq6axClMmiLe1WYntcNpb04PyyEm2+GU5x123UTiSX2LGKa4t+H -NSM8nJL8BJiGk80xVIkCHAQQAQoABgUCVa0OAwAKCRDDvTXkbdRdpVR+D/4/37e8WqKOHNPt -eQu42sj0ZOfcqyVMA9TQ578F0s9MwoQuqfVhXGSWevOctuMv2qTBjBfFjkdPrKR5L4LNAgMs -u1epHU0DPcRZUCbh1P7GpolmZ8KgnjT5Wpl1AcuOCaP08VMrt/e/JndTHp6btn6HsLVtryNh -lL7oaeYbDr6/ovHNGHVIVSZgGP9f4Y8FiDpyfKav71vYLBMxtzM7lc3eFT1S10XhSW6k+8S5 -XldYWkLDriRXDE85C+9QndpOoQaIICp3ye3JVnUxa1qhvsYj9uPt1M6hKiBSoXdplrB+hQc+ -nqLNN3jxpGdmGmwrjtjqMhocMIguEqgARJOek3XKOppEhu+IcnJgU4edARJNLsBauiVBWY/6 -mZOFlZq6H48tVyziS2n/oIpi+aCc/fQeGs9zMTtFUohPfYtTcy9PecXMOYpSu4p4tQ07oucn -xfBkRUgTdM5VwX7YwTcRwp9XhHACUEGBhrwMH8Iz+sK2jLF3FhJGkef1vFs0vqSf4I8DBFkY -AKF848YyEcGHeINQloi3v0Kr2PpBxlRh+GPWwi++QPKXQFzlTiyVtMzoo/lpmAWUJwj0dbAb -H/mohtvWtA1WPHC2JRZ52JLThhpDrK3t//Jdt2WHE91cMx7/2B0PK4O8/j7UVlsOJXpVPsGX -5SFCeTB/iS4JtIwWN275zIkCMwQQAQgAHRYhBFnKni0qMx3iUaokJ18Dx2fCR6TVBQJZDvZC -AAoJEF8Dx2fCR6TVoGkQAIjqaQ7tpdhDJ6ORNtLIt0TsWg0jg2rpoq+9Au36+UYBMuBJ3Py/ -tAsZ3cqQlig7lJiQqOuQZkbg1vcY4Kdad7AGa8Kq3sLn8h2XUlNU90X0KAwdCTA/YXxODlfU -CD2hl4vJEoH/FZtfUsaLNHLmz0brKGrWvChq00j5bPfp90KYKqamGb3a4/LG4DHL4lmEBtP+ -+YA0YqUQ3laOvKune2YwSGe4nKRarZnFiIn2OnH9w0vKN/x9IMGEtc5MbQVgGtmT5km3DUuX -MDforshue6c7ao4nMOC96ajkWYZhybqHJgLOrEGPVUkOaEe7s1kx4ye9Ph3w/LXEE8Y8VFiZ -orkA/8PTtx0M9hrCVkDp0w8YTzFJ9DFutrImuPT6+mNIk+0NQeuDsv492m/JXGLw/LRl97Tm -HpKME+vDd5NBLo4OShlDKHwPszYcpSJTG9+5++csR95al3tWnuGX9V0/dO1s7Mv0f/z07nLB -/tL+hEpqqA5aRiGzdx/KOrPZuhCTyfA3b2wvOblwf4A/E1yO7uzPTuSWnx1E14iZuaCPyZPX -Eh3XSYCLEnQ05jy50uGXCDVR+xiE/5i/L3IxyhJk6zn5GOW5b8Taq5s/dFS3zWiFS6l0zQ1V -QmJH8jdGLoBFvdVLZoAa1bihLo+nJVPR2RauWnxWoWk1NQoT3l02Lk6DiQI4BBMBAgAiBQJV -qUAEAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBht7Um2Y8DU1CqD/9Gvr9Xu4uq -sjDHRQWSfI0lqxElmFSRjF0awsPXzM7Q1rxV7dCxik4LeiOmpoVTOmqboo2/x5d938q7uPdY -av2Q+RuNk2CG/LpXku9rgmTE7oszEqQliqKoXajUZ91rw19wrTwYXLgLQvzM3CUAO+Z0yjjf -za2Yc0ZtNN+3sF5VpGsT3Fb14aYZDaNg6yPFvkyxp0B1lS4rwgL3lkeVQNHeAf0qqF9tBank -Gj3bgqK/5/YlTM2usb3x46bVBvwX2t4/NnYM5hEnI57inwamX6SiMJc2e2QmBzAnVrXJETrD -L1HOl4GUJ6hC4tL3Yw2d7515BlSyRNkWhhdRp1/q9t1+ovSe48Ip2X2WF5/VA3ATfQhHKa3p -+EkIV98VCMZ14x9KIIeBwjyJyFBuvOEEIYZHdsAdqf1zYRtD6m6obcBrRiNfoNsYmNY4joDr -VupI96ksIxVpepXaZkQhplZ1mQ4eOdGtToIl1cb/4PibVgFnBgzrR4mQ27h4wzAwWdGweJZ/ -tuGoqm3C6TwfIganajiPyKqsVFUkRsr9y12EDcfUCUq6D182t/AJ+qE0JIGO73tXTdTbqPTg -kyf2etnZQQZum3L7w41NvfxZfn+gLrUGDBXwqLjovDJvt8iZTPPyMTzemOHuzf40Iq+9sf5V -9PXZ/5X9+ymE3cTAbAk9MLd9fbkCDQRVqUD0ARAAr/Prvt+mhVSPjNDPSDrTBVZ/7XLaUZvy -IVggKa+snJoStrlJGTKKFgDVaYTOE3hP/+0fDdQh97rjr4aRjd4hBbaNj0MzZdoSWYw3yT+/ -nidufmgPus0TIJMVO8I6rl3vgcfW/D3ovNrLW/LjkTuM9a+p+D1J7woCfMSWiFMmOLPKFT7R -BuY8edCVjyA6RP9K9Gj1sURSeqNaHR9Gr4rW10s+FwUHWxxzbmIWqH0gApQYO6vyND5IMcKO -BCWQU6Detuq1pQ6dUc+iF+sEz3Rk3C6d4WBBjtkVJSJ0KKan8Q3gJefOCMNhdRQDjZLwbzr4 -bgoAkLbaBFCjiZxWZ6HAdMfSCV8uZQrtMS7b0DUpY0vdH9Htl3JqOOkK9RorYDQBuPdkTYFI -NsmtWVsFV/LmR891mOF3fBRaoVoMeJVwiZyNlFY+dyWWFzLp+GoTLcQtmuR7OkmOcBGxWSKP -cZfPqhf4dVQud7bDR2RNfJ1Hqa5kj8Z422sseYDwHf/T9OWWYvLwKGZhlUgpnzO3WCGrd/6E -VNeC1mKXt4F7BmADov4Rdcrp1mPXiVt7oIxLaS6eBNf2y1TWzjYj5ZFuKqIukDEJfqpwsE5a -snCw56nae+7luGs8em1J9GEXhWzXG15UVyQJaFwuB1iL8l7VcEQz4ABVrSTUWLLAKDsyqUbq -2gsAEQEAAYkERAQYAQIADwUCValA9AIbAgUJA8JnAAIpCRBht7Um2Y8DU8FdIAQZAQIABgUC -ValA9AAKCRAcacTlXpkF2y/FD/oDrZm143Rv9NV9InnVJ0brpqbB7aulFfhR1LDuJ/GjeqGA -QgJCZdHlzT2pfCXXswUlYzcWEatvGcDkoaB5Ya2qs+6nhBk8pT6XYRrZAtIlKIGrlCqoSBm9 -HXguGv+EIaEECr2z/Funx9so0mP+5aJn65M9u3lPmuAonj6DcHoM07WsfsXvQ4ut3fabFmzi -lLGeAdEDKIw8Hn3JBUOxUyFrQlOoL4/3qK1TO+cidz/2bATQQyIG2kNOSgHBslU+e6/7sWOQ -4ufmzm7dEsf197zPXGdXR88LT+d2uU2K4GkCffNUKxZqy9bXxXPwr4JBjxLDQnDvl50GAWjP -ZAwXEd8Okwl5+8xp0HuZ217WUqT8ib0oUUfwh2H1vrMPRr/46i6O6THpCkV8BWF7axPYIiba -eYwC4BkjZwK3tIL5ESf2f0xK4hbE3xhMTeqABQHoXd5rQ7SEaUuX7PlQ59fRs0Cz55vH8/o9 -zMm0PN6qmZFvRBeqjnklZcu+ZdP9+CMXt81NMuzIK1X7EfpkUoam8YkYkwcCkRvPZrSHLXZF -kfnx4jW543dPOfycjnv6hhKyoXD9CBx0ZcOicsYmw9XMilBGD3b8ZdK6RYX4ywKNU6KUdFJj -XB88+Ynv6QxDit1emMCHA1glzV9/k36iYLEIqgWBiwJeUUIcUqzgnBFtN13cyS6oEACUGUiP -Kbw3IkgGW19ZyS6FBNfgGIGW0Y82Br0KlCyaXnX0R4+4u2h7kfR9NSnhRhsvRnPIkiZATa7D -+Ew1nfpsDTnti0c6g/gVw9TC/rCyXkkLztRHVcWEBdvnFJTSp2LeFaHSGbvvZfoIGUzyUzoa -1P98NmRIY1cxBoizVf8729/zAaD4fAslxoK/JsjjDvDUrRHtaNZmUle60Jl/yFFzR3zxb+pJ -liigoP2rZLt+ipomHJIhoXXWwfkRO9U/egJ8ZUhWEpZvROnaNc9eVct5EBADxL7gHWjlceIz -4ndI1eE9AdEZDdUZwOfjmK2DcXjFBfZC+jhJXjY0xh3pPKQz90h9DIkM5WDcJPf6ep+MKSd/ -3hI2/JmmscQ+alwN6x6g8zDySMo3APA9cUvEFGe0+CepVcNw03jU4faSrHiMXsUuVGbA2kHa -YVUfzF5W5GbuHZZlGxoSiq+K+HNG0RJUDa6bkSDvrcJVNw1iUrowP+LLwnNsy5kGuU4evnwc -oN1w7LVbTPaq4RIaiqvAD33kiA9q//UNKnK4k81z+hRNaWGliyGpgqh+V7MDIqPfT5TMLdH+ -ZjTeuLrNS8KBcc2BmUpSwzdUReTqHmgO5peeIcsvO7GNMFWsgucZiAdIVE/zQv+SfP6jhS+r -jCPs0eeu5zl8/V+gXFE2wy3jTJEl9bkCDQRZS9m1ARAAvh1Nh4GgjpTFZy7uQRFz5PPXdZTB -I+Y4hTpF2heoFzZDI6SLyz64Ooglum3ZglQ9ac+ChTSsO36aw4b22kCM9WDmkcl7wf21fG9o -8gJDVjFjDWbwTWREaKjgS6s/Yb8f9gje/BGySojxynTi3zyTUN94q9dhVjfiQ79UzXZdN9Fy -yIx2YO5tOo09hTWSZg16oxP47Mj1ATaS6UIrQMcMnOp0kuc6SufXPSWsUA+g2lW0dmHgPvIH -wUfcjWqT2elF01e9KOFe7im29G6zOS2MRx8cr6KRg/eNWpHh5aI4quRUhYk4Kw4ohQTbs9ed -0YttS4PMK+sq6xHpb28X6ZgrWnelPY9hfwcR4m7Ot3VQUG8JY9/aTlFCoeTgkhop+MCUI+dJ -eY8depIa0PTzdEmEWRvPhTTv+CUdZ6v4z5LD6FhP+/5c6FCbcIb89Rp5fa53oYV5/KZf+0DU -VgmpXFU7J7ZrGgDeU7vIzmwr8kcx0vtsVm1dVwYLACpTaaQPbISQUDM8sEcqKAqD7hWKaxNs -b2M85L6q2/rnHq4g46yJzdR3b8EH+V9u+mUi9DIljDwcpvw7ReRQ9wPdDWLynnglIeGImbjY -fr324yaIl4vNORAkbsoCkS/qc5v6MvKvYNle5fzb9S9kCbNZmD9c5/bHPjj9ENeQvzrl2pFh -6dc1o5cAEQEAAYkEcgQYAQgAJhYhBBTyZoLQkWzdgeN7bWG3tSbZjwNTBQJZS9m1AhsCBQkD -wmcAAkAJEGG3tSbZjwNTwXQgBBkBCAAdFiEE3OrF2WE1uRxOpnKru769uyTG81UFAllL2bUA -CgkQu769uyTG81UFUw//bW5T7w2k8ukGfpIcm0gB98VgxKenSCmU6N+Ii0DwcNtzW+pmVWl2 -TbHIXDpvuD69ODWBDMXu6gBkrVzNEsK3uhzGe0tWA+5I7Vke3iEkbll7VRQlIOrw+n5NMvje -uDqKsMt1gMEEdgRKddYApEAi49vV7XnqkB2lLKfAnf6o/KqPm8MuQ+u0xYanupZCldwdpcx5 -rybj79Es0iO9Gh/+3qOtR6ubOz3Vn78Lc3y6AP9pmtdOI2QX8foGK4hNmgHSP6uPLh/ERC9N -ir0Lc2hoEhHEkQ8CnEaccp70r03VkEQuMJQJPUyRsGZ/gIm0SAm9JJxWHXJk2/5NUN83pHAX -0LA4zxtWs4fVW5f8v9eIhFFPTZ4au+/cS9D4GFx4mlY34awcpAzrny2tntGEejY9HSJv4PuF -ZCmtyS2q61N9EU8yuBwVM9cp5HntzG+OT4HYugtI6ibehM0S1Roy4ETwT+Ns41ffhCwdYMp8 -tzdeksQ35s7rkB9OJHj+q2dkGaV0FQb3FutbSpxbP4zk/dLqyxuivdUPHGtf4W/qklxzCWBg -0VDFA7PwatmEXRxTjx77RelTY0V7K54dDyVv3Jh2+FzuaQZzzuIhv4gtqHntaqLnYl3h/QNL -bOTE3ppvn9RUSR983Bd+M3QhbbwZrgG1m+hdUZUmji+wbK0wV0xHNEH+4BAAjbVzdNOs7hMv -jY1wVDRFjvICVorNdNdU3ELy/9BAoiwOs2+zjDXmsX+3YtdzwKvdpQ24O0TvH4Vo3BkvKkJ7 -5EU7LroAbYQ2423m1MY3eaBslmX7TUJ3XE+k7OZF8AmcftgP4nhC4IQSCtoBc9+ncyGN4da1 -BpYO7b19tO0/HST8GHSrEcU9bGGdimS2eNkSgybA8wF6K0K9yvrpTNSZ7OBVlzQfEn8s70Gy -zs/d6C/rTA+defnv3AMaciuINSEdFyfYq4wjt5PikvgceMAAkH/z69xTNg+6q3FQt/lyK7xX -5qPMe2oFyDA1H+Cb/uL7ioo+jXh9gF+0fk8OP2IPzxYhBfulpVtgclmOuaekzaKeIv8NFW7G -oA9OghziExePxg95OpL/VyQ7PJiAUj1pFovFk5HS6ejVZNEGJ/A5zLc1PBIcr/phu0luqhXA -hImsZS6858GWQllWULNWw8bX5Blo8AvcfFVdq9iAK7aHN7g45ZR7Ze6qKHDyFv4XWuE/rj9C -2mM/GAstvU0gGmbo6B1mNGMJuX3Gd3dG8fqFjE77OB2feJyfZ8UeF1nvG1hxlmuD1A5e6/os -O9V7kjhXKzM2zSO11zHQ/5PlUisoUBjJ/QIK4v9RBNGtbRKso5X9Fke692lVgrdggDJ3j2Qq -MuTo71rAVDLtxerc+GNq0GI= -=YjV6 ------END PGP PUBLIC KEY BLOCK----- diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix index e5e94559af2..cd9d3bd88a0 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix @@ -1,995 +1,935 @@ { - version = "65.0"; + version = "68.0.2"; sources = [ - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ach/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ach/firefox-68.0.2.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; - sha512 = "3bdf982f4646a019f2dc11f5367ab0c23695c9c8fced02927c2d9a862e15f6a1c9c1ef63da3ef6539d802095d0b8b48d6f55a9961a453ddd4a97d828e9372aaa"; + sha512 = "f4ef9741a880475331f3cfd6aa9315d64c6cabc68fcea85e9f04f6a4f6cf9df952c05ef810b1eeaa5afbbc4001735840849c2dc180694bc76b5a3812f83ee50b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/af/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/af/firefox-68.0.2.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha512 = "2a010ce94b6f0108cfed973dd9c632691d4d2558ed006184ba9ded8ea89933fcc77d21f82fe3add259409861cb65dd12e48aed592fc932411ddc3226c0085d31"; + sha512 = "891d435d29154ebff8caa7942196c593ae350f490a411d05de1af247ca371f8f531d9a90e52c666f530ae5a4145ff99f686629921f908712c7931bf43d21b9c1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/an/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/an/firefox-68.0.2.tar.bz2"; locale = "an"; arch = "linux-x86_64"; - sha512 = "30f2cd15a3d43c4228aa8b49b44aa4716ce35968cfb63d57141a3c3027e95242f4c724aee50b6d7ffcf77384e101a17cd252beaec75840f59400e0db2c111f95"; + sha512 = "d7f587357777b7bf70add4162cd62364d8c2be0bf7219e4c1b25335b66645ae4c1e5581a7d0a03e30d4eab5c5664cf05b1b85ce0dd13827a29c0ce227549c9e6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ar/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ar/firefox-68.0.2.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha512 = "ad9846180c953ffdb73d519f1090a420deefd8b4bea531038318237ad639258bb05f4d9f88cf23650f1507034ce0700cc9e2bdda4ec02eb6e02c2d795b552cfd"; + sha512 = "2b04ba04cdfb1ad488fd5a183a862c2f6d0166d73ee637a25d64a7e9ff962d0fe7ab8970afa83cf28c5976f16257c42f6a26499b49b2d01f4e655499ec85cb0d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/as/firefox-65.0.tar.bz2"; - locale = "as"; - arch = "linux-x86_64"; - sha512 = "a9babea676451cb0f0126711592d3d94f57865c520de370194023157a65d5633d26f63aba9aa71472e40885d67de98a694d0bc4b65f4c1c933e3e4feb0e6be71"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ast/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ast/firefox-68.0.2.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha512 = "03bfbb6635c587c356fe622757b2b7f6e3b85fb04c7477857074cc198efa4e97e960e4d3b7c5d60aa9fda8639e605ae00d398899fdb2d05bd5fcf5dc494f4ded"; + sha512 = "2267f7a3a8a27816e550e567d5b9a9639df31b86e24c17216e9843bf5211e520d3303200f5c15b9a342e90754db9a9646ad87615b6b490d6058f26fd21db6ffe"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/az/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/az/firefox-68.0.2.tar.bz2"; locale = "az"; arch = "linux-x86_64"; - sha512 = "5201abfc1e7333acf0bb8967ba667742dacb2cdb8cab6b3ae60ec3d15cf756a1b48f6bc0904e02d433df5ab80440fe3cdcf4e260c4cd1c1f3da16f51c00c2962"; + sha512 = "69f2e026ddc3c26f7f8a6ee2d239289c1e154a9147a20dcfb07be571bd57ed3492c2b770c768dd0b6ace979410649af5193140757b1d5131391706ce156746d3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/be/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/be/firefox-68.0.2.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha512 = "68f400d8640620f2af6ccf5a3b8e4fe2c94e7169e1b258d875b693dfecb4dbe070a9bd6a97b9fd668362783b73cc2eb21925bbf0159b41c4df910946bbae3f3d"; + sha512 = "11efb3f3a123d29814be1e4f72e2a0424f05d5c2d5da67fd0ae4f23909d8da910e2b9efde472c85fc3c0b2d51492eae2b41575e6a84954073842d210cbc4de5c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/bg/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/bg/firefox-68.0.2.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha512 = "6a7b6997b1efb726dfbda25e7f7eb024013ab1c782912e03e258c4fe72adf26ab926a05f88e62255c682e6352ed88b2158f1bc12ce9c8b91714291783397c379"; + sha512 = "75b57ec04a5a56691e31d4d10acca2e28d1d8975f4cd277c4e1e523e9ab0860789c83f63ce2a7c41f8b3308c7f75539d3c833c2cd62bcecf8677114b053322ec"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/bn-BD/firefox-65.0.tar.bz2"; - locale = "bn-BD"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/bn/firefox-68.0.2.tar.bz2"; + locale = "bn"; arch = "linux-x86_64"; - sha512 = "1fe6f67067cc27f4d8b13eaa22a8ef2ca23fd3971a3140432ee389327fd97faf97be802add562b2f4ced0fc83f75b8c8c8c707c160e0ce3ec50648735704f9cd"; + sha512 = "6942ef38de37525233bc24aa993fb9ef3e723fb21a4627f0edd53412b2129c1326b85f3c828383080d7fbff3fecaca63d69e765b61b1d45a2edebc0c037f710f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/bn-IN/firefox-65.0.tar.bz2"; - locale = "bn-IN"; - arch = "linux-x86_64"; - sha512 = "d5ad4b8673ab8c136e3aaf5c2627c7210d670351744d486a896d40dd1599ee17a5cf90fe2c967d1c70989ac644f180c0efe23fa25f5f76ea4ba4f0ca0f3492c2"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/br/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/br/firefox-68.0.2.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha512 = "ca1196a2f2875b86c315a32d9c0091d0c72d8e2dd00d788f24000644028dc0d1f5eba7f9b2888353a2c5fbd16273412cf3737d39fd63ffeff7d0c5bfb7829922"; + sha512 = "d34947348a7e6ebdfc6d4f91f2b567e6623175dc61a774bc79d137e4bc9679dff381d3e454029d35028ee1019fc806b26e7c85ce4fe36868f01978e4540480e5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/bs/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/bs/firefox-68.0.2.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; - sha512 = "7fc343375a6f2947d2604d14a764d5cdce77209c6a1770f69cda713fc03662a7e84a6c656d1262148b57c4ec3c9c5172fd910ba424854f35b3b7fe7ce148b699"; + sha512 = "ee1c6343ea3aef7852ca240608f80dc9279469422e6730f0eb2cc8c532ffb5c6eba01bc3f1f2f759724661c53d329be619593d741771187057fdb903100f1153"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ca/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ca/firefox-68.0.2.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha512 = "d62cfcfa8c575c905fe904f6819e5f82bc139d91186db956050dd82ed3ce65ca4eb407efab9b26049cb28d806c76d9c2516a176157b26608418f06d66167b13f"; + sha512 = "f22b424240fb8858a9960f96384e81f8609deca0adda0deb29e18328b4f4dd71048c4b450121f53c29d6a4b3d63a4cba8a72a7194da3e93645bbcc00d7d7951a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/cak/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/cak/firefox-68.0.2.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha512 = "b1f4bbdf515d8ba548b0e915a53d212e74d099da64631b8f05f21b9914ca2545b4092291d21b28bfdcba75be6eba02b79cdcd57ea4b39a1c05a856aa73134e5c"; + sha512 = "5b4332b617917f5aaeb315f51262cd444e09bf8c0ba6c147c11ffd23a3eadf4a27bc67067baf17424138b3d26760780a0e8a482701dc9ee8b12a1de229fb8026"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/cs/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/cs/firefox-68.0.2.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha512 = "a98915ea6d8a5e1a374e34b836563ad450a48816d374917562078ade754dfb1cd5cfb6cef73de942fbb1c1c1abe41871ec3b9ff17a3a6a6bb2bb36df3a6c3763"; + sha512 = "a9037bd4feceaa7db14d342ba6bcb07526f847650bafbf40615b1f209a8992739ce82729c3b02230a295638292d219c327fc752fa206945261c3897a888ec4f5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/cy/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/cy/firefox-68.0.2.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha512 = "ad1e6640cb799acf17b8e151b26e78a86ce21960f2f8b5baca4890e7da2fe1d4739357058a551c161e31c1685d99d988d9715b6eb6a39d785e9e526f60c65009"; + sha512 = "0eef12e6d28dd7b0adeea318eb17fed6325c4417d3b05e72fc106118d43d6d152e2b858888164344dfbced5708adb88615490c8e7f784707b6f9e30f52d877c7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/da/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/da/firefox-68.0.2.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha512 = "983fbde10f8ed3971b2ddc8161d6387b56d8c94ef3724f7db2febcb7160d17b20a6cf406e48c3a266d0e1a74f024faf4950f8dee0bd60967ff1c1ec7bde21450"; + sha512 = "d3f1ee58db717a3b04d1cdda1790243d776bc8c0670501ad74b1871c61fa788f143ac3c43a9b5c6635f4e5d7f2daf15e293994ba0fd6d5d4dc70b3a39c9f872f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/de/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/de/firefox-68.0.2.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha512 = "59aa726477553aa261fa473b56e610807070999a1b120a3fd82a678ed029fcf2b541a71ec89f1d1a176bd40deda1cd659cc0bc1f486a283f2563a0a0236fe2ea"; + sha512 = "86c38b2a5c8507de6949c153ffc98a2451cc3fb4d35aa534c36ff1b723a0153ccc5c5a92ccdd470826edbd844b02476c58800c2a7c6472a4cfec860e13a7e270"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/dsb/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/dsb/firefox-68.0.2.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha512 = "cc270b9e372b799e6867a93dc1148e9929d67f4fd9a8b2a1fbf4c0c95b23c6f6fa0444efa95dc545c4906b488f44c1a2eee8d9a8b6c6c5a8a3322f1a9c9cf553"; + sha512 = "2c8bcafe89dbbf2361af22789a3743ecd2c12fea2b457d75bb24b3ba2b7fbd9638c418158ee70961a25b4a273ab07894ca166dbc783199ab406699c42828fbbf"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/el/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/el/firefox-68.0.2.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha512 = "170719eb9cac9d1d49be16609e5728bdf9773195196c51c6d4d6c6a1f18f72ab96b4f3124de258186f39a1b1e3a849b5de73d4b5ee48007b22a5e84370d694fc"; + sha512 = "4dd8368090c6af5995d63f84bc2a3fb612fa57acb0c38bea48a7371b4c8fbec22017b665b3801f5419ebfceabca5a7b5eb2fc6d21cbf287d6c2427c89457e7ee"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/en-CA/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/en-CA/firefox-68.0.2.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; - sha512 = "df694bf1dac6656b802285b91ce5fa5fb39e9ae6d4fced3054c7ff3c474aeec8679745f5a820b0975320bfd74108ebac83e5ca33f914c9f0be992295fd7556ed"; + sha512 = "22badc05493fc477984190c5e839b44e8991f4b43592e84eab093fae3b4720de41965d389ab3dd6425a7ea8a44038222c474be57cddfbd5b30e34b49e3aabdd8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/en-GB/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/en-GB/firefox-68.0.2.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha512 = "f7953b8c20891907e7cfc45d7399be70b58c66710f6070f18c493b5c668d4576919af7dffbe36172ca3d01d711992749201c66457803fdd7a3068e2d7f6be60e"; + sha512 = "7fd1739f7da9aebb19c698b45cae649fd63ae0d573956ce1289c1dc51bd5964d1419f90f4d7c29abf344cf523b8f1ac4063678e70568468db35752ccfd5dfe13"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/en-US/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/en-US/firefox-68.0.2.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha512 = "482bc1726399663532000749e600ea5c9c490022696b40d869e851951a9983745b26a7c4ec7f306bf174479e4213103996d075c11e2e1f9a721d392c7c615933"; + sha512 = "8742f7831dbb888554532583c0dae319c1e30424901bbfeab62011088755067df63f360e5aed8fe3675706c4a64dbfaafbf832e66f559dd3c1f58afe8468bff0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/en-ZA/firefox-65.0.tar.bz2"; - locale = "en-ZA"; - arch = "linux-x86_64"; - sha512 = "bf721a577a1a916779ebf0d8c0f673d0b4d1c0230b776b2045c976ebca96baa4a6856109a837d40f301465d921bbf4622cc4609f31624551cdb056284cb36644"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/eo/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/eo/firefox-68.0.2.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; - sha512 = "ddeb25f719dee34c186fd1831c1fc5166ce17a413325cda1a3be97b4a1a65b302b84bd9162ef91577fdfb7b82180267026039cbb49d0ee434497eb23ace6ab98"; + sha512 = "93a7d92b10d3927edf5870cc46091933b88372c8ebb55d6a60831671f3501b62557037e38d25e18ee61f4e65c14c057d24a3453083adb9383eb3f21b16550f3f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/es-AR/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/es-AR/firefox-68.0.2.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha512 = "a81f7e9aa65e516632ecbea14dda6ccd65405388dfac801e179ced1caa9a1da4c671ac7a42c3337907af85612eea46730760707d3f12376d504fc2b1c629aceb"; + sha512 = "4b775586020624d238d7ab0c09a420a9328fc46f6238f397b569fd60bf56cf424c70e016c2f5814c0e9fe42fecb703f68a366ec7de1c68b11e4b43565b3a3929"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/es-CL/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/es-CL/firefox-68.0.2.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; - sha512 = "1243a4a02d82fc97bc760197c33c1e4e705ed8c47dd565a725e1c105b22e42b89b19824f7e35e844b4c5c52c78b3fde512a50d3f655ba548144ac2b6d73efa9b"; + sha512 = "172daa90a8062c4d7884aa0d2df32d8a9219ef04bedcbb270f785dbf6a9d3d5369f69f9dee589d95593ef464e4dee84384c39462a81eb87ec7c0679cf415bbd7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/es-ES/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/es-ES/firefox-68.0.2.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha512 = "c44b3a7b0fc6a13ffc075b7f282fa0ab1be16f98df872a7a168c3d479fd701d7e14502215ca6e211deb99c1b38bdb38ff0f4068eb978aad8d1f80b682839fd88"; + sha512 = "96ef9f02a019947e9502abc583389b0f06fff8e8bb00149108c0dc15799bb556326c4d79905348d02860efd3a090af93998206c17dda6e88819f531837c97f27"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/es-MX/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/es-MX/firefox-68.0.2.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; - sha512 = "3b376e854a2498101fea9de4117f970bf41185b9ce74254d64088a58c77d21845c5a4ebee07c923cc6d8e616922b109cce0d25df9e2d47cf3dc62b726480dbfa"; + sha512 = "8f120aef18b76259f84e43c1a2c82fca04c56bed10891381e875758c53334cc2987e7ad78a3f9d9aa34edc79352dcd1bf4a7d2b1bc03099dce59b5423de9687e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/et/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/et/firefox-68.0.2.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha512 = "c55706aa897afee00d58741191dc4ef4ef9a0f4296c407770089e488449d95044bd4dc422c3fd79ada093abceea1e649b59a9f5f4e51738617716f497c6753ca"; + sha512 = "227f0bf21042f11ebf33988803274fe6dddc73f9fb357335e24c1c82cb396bd74fcb913fd9c9c848f34de57f518c924a0c1b8952ad9bb3be18f20ad4328cf629"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/eu/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/eu/firefox-68.0.2.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha512 = "5384aa5496a9e2e40acf0b014ef71e2e06b45bd9968441715cf38f5c9212c35dd1a5fe3bece97168870dce45bb1a91390fc172c2c170307b543d29d2a7ce6220"; + sha512 = "733f75308c4991f73e6c2dd673d380af1d1c6ad25643aa4994424763df1d25df3df3a9a77dcca5e00176d1dae248373aeac914528d5aaff79f73eddb740dacae"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/fa/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/fa/firefox-68.0.2.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; - sha512 = "9b83dad076df5af63d4434dee22730770d94747b29ce13e551653b5d008b3741f33aa9819547527654c9667fc79f47d73633a384174cd92d786a02ffeefd5ef5"; + sha512 = "5b863546dddb8c5fa4c59d53cf2f5b622dc4296378290c85926d49685e06231f0cbcc6030257f356af71ccbc6ff32359f387ef70eed9ae3c72a9acd34eb58350"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ff/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ff/firefox-68.0.2.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; - sha512 = "fbe80240ac2347c05bde0a3240df050034777ee52e129165c5d8b11fac94bf9421c3ce413e9d3dd71643e2710b0328096d602795079bdcacf98bdb1fed8cf318"; + sha512 = "5995cca653238629bc6a1930d40550f957b1e3176ccdfad5e65b16584214858fabbe92ad2a4b1aaa3a3fe920b66aab4e0f74646d42174af82d59c0bcdccf8867"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/fi/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/fi/firefox-68.0.2.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha512 = "809ebc16baa79ed287b980e211cd7ca3991057b538f70877f599df9447f1f787f9c0fa4fd4f54d12834ddbe35bd9d1162777ff579cc5703ea907cc70f08c93d9"; + sha512 = "32188abe02e4fe36312835a19ab3f76c8e67cfaf0857f98aed4435840acc432a411b8b06727175a8d3d3a1ece6a5baa9ce5249de7019d02d43ef6dd2aaa69e9d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/fr/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/fr/firefox-68.0.2.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha512 = "98a6dada770067be7cf651b7f2d6e6bb57a0358b6ee54af47003a153844d521b15dbff65afd1ee0b05c23ec9e91aaf434d90065a21d3e729b9abc48fe27bb8b2"; + sha512 = "2035d9a5a078e8fac32604aad679a9f01db60cf872ed3b546fdaeeb7031a8d38db19bd8556fca7377eb10768a53dbc1f70c7e812561cbf0cf926d352a6ccbf8d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/fy-NL/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/fy-NL/firefox-68.0.2.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha512 = "2d49ea99934ed637a2e2c90a15c3be55f9470d275af6d1ed9f5868bf3b3eb7c8871728811dba87458c59a843b310f491712d61063b43d36409e8c8d7d5567e75"; + sha512 = "5539c97e6b8a4f51113434df7a75937dcdeaf3ac8acef1ef8b4bf7b500d387051969d13356dd6663c8c0e7a429748160721fb4f864db29fe77087c4f15a652f3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ga-IE/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ga-IE/firefox-68.0.2.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha512 = "2a68fee8dcccb45f9f849eb61d54629a1216a247c246565516425e072387a7e1fd9e382c799e32884d681888563c982ef894276e84ac9e537a008fcd39ced893"; + sha512 = "4c60bc16af21fc552f62cf6e9057871e220f9ad718844e28f8ea60a5122dbd941dbe1b9e4e0a2bc6b7c62798b178134cba15095e31dee6e25341de5e832a791a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/gd/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/gd/firefox-68.0.2.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha512 = "a97c08e8632147d4b2a30ba63295e1d080e97d561163a4e87240667ca69f9094f98a8ebaeca8aa75b4d344e315ab4e72d605e06b800d4156c38fd1deb83b45b6"; + sha512 = "1851d0bc3a21828c4d89a8c2338205a7e7a9aad14f60a33061dd229d96d8681008ead1651f7d5a501868b29fb3b50bce0587c142e9bfc4423e398fbf5dc7fb6f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/gl/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/gl/firefox-68.0.2.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha512 = "49d4d0afda162e23437f44a5b5ee9a43e1643c0e739bf6b74e662c79b4cd63f7bbbe9c56c73381e0a3756360b03ffef01eb73be1c1b506d20bf4cd4f968b2d47"; + sha512 = "a728a158992d2fbcd292c13df36c2b4599d0972dfcdd84d3885d0146e8435808cb92afec7823388906d46d80431b14aebd7e831eb1d80a6995b4c81a933896c0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/gn/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/gn/firefox-68.0.2.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; - sha512 = "7fc62ff745bc14419ecdc11e0cb880cc28f54cadbdb19980f87162e463eb97911858fb7673c2a9c1026ff6b786c01058c975c53c16644881e2a0b0d604a098ae"; + sha512 = "5ccfa691379cfba11e4f11854ebc3eeea7eb6ccd58b4f73b48a631279a99d0848972cbf924335db7b65ecba47605220df53b847eb361d721e1fddde30b1dac49"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/gu-IN/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/gu-IN/firefox-68.0.2.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; - sha512 = "22a36860d0ed79f36ad804b636cf892c45b7dafe948df151a8a384c6400523617e1a191157f099ee26ae42d06b3ba3ef508f9ab5a4ff6f819f21ecf74f9c3296"; + sha512 = "a5d5fc55935a4e9f66d6a549ac4f64649bb3efb335129f04c0e72e2849fb69153e312987233dd81bd58e23aa610b46af35fcd091a566e604c799d83dbdabd703"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/he/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/he/firefox-68.0.2.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha512 = "2c46bf74a8053337958d37389f1fb457b814d18d27a337bed84d250acdde8c7a445b8dcde8507c1c502a13dea718f1df01895d76b3725e5ebd65290e1e6ce477"; + sha512 = "483850929a93239d40871aae236f698afa4a195d1c42b4f07db1b72c2bf9e7e5ac9a24745c56cdfd2d52e725585be7feed1a3ee9aa4b1516fed85ca33d3874f2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/hi-IN/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/hi-IN/firefox-68.0.2.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; - sha512 = "ba1724eb10d76c3a70a58c72b5f5a6482fd6f5e7e3b4c04283a03765e75eaba9abbd5c6e2d3e350f36d82909078987a4c1a6073d67e2e56456e1954e291fa3ef"; + sha512 = "6d4c3269fd2216c7e9f258fdf0c3ccf01a4fcf1af6113bc91e68f65f0e0a060bb13bcc5f5db24a47870906ae5ae7a3cfc0a5c2e2068308eca6dd1926a7a4936e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/hr/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/hr/firefox-68.0.2.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha512 = "5fbe87ccc58b16725c10835ecd54d825f71099ab37eb2e4eca343c6cec5f8caa5f40ce8a5b2c6989c36a10a903378e69543d1b9e157f677032c47362db144d5f"; + sha512 = "cb4dbda71d92af15873e849b7c6291132cc1bca6f108f89d07132b1b34d00cc9d3f887c9af593eff4163accb4e645626fa4ca0725d3b81a19f5a52ab944fcca9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/hsb/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/hsb/firefox-68.0.2.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha512 = "9bf744b38cac34785f56bc308b2a4024b4973e7f489d4f9f3929fe42aad2872facd967fd35bce452beb40e7c936bf400f1022e0091a375a6c7aaeac2bedeb3a0"; + sha512 = "156b1c20d452edef51a816dc18c57d0baa84add78ea7e507e037d2a78f433351001d85e4da9ec9e70bb93ee439458d23be93438db98f786fe0efa4f6b031dd78"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/hu/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/hu/firefox-68.0.2.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha512 = "11ead0e258d6a81d5a2b8d3bbbfc5cab8bad7d35e7ec853280f7d559650d121b56bbc66ca8a25416100506300b5ef148fde573609c4a922c775abc106ca59f1a"; + sha512 = "0a5bf1362575ca38a69e790ad34029ae587c8e59b122c86adb3e10762e0633246bd73617a9a7475eca86b30b433c6e958c53206a6c2c9dae37c635ffd8364f00"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/hy-AM/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/hy-AM/firefox-68.0.2.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha512 = "67a6084fda25da7db2ade9596c6fccbb0cc191a748c8ba089bba68e1c498774a4d309680c8d36b61a49e7bb0795bfbf48d853df1a7846eda65e752d791394079"; + sha512 = "86b8411a12d6d20f85eca026fff9dac6de8c2680708906f551d28bff4adb93a48d6a82db864a609904e9aa73fd3449a38cf1ac74a8c074393f89d9f64aa1e771"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ia/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ia/firefox-68.0.2.tar.bz2"; locale = "ia"; arch = "linux-x86_64"; - sha512 = "fc2ba7e0c87c610018bf1c0705c7d263e301c6b0dfe080f44cb0708bff59e955754b4d0ea167eb5066f38a72c44312fecb13d7fcf855ac6125a7f6a833dff176"; + sha512 = "a323485c9780d46087a9e698d958ac9e8348b00b14b4761dcb86d5f2fb1f9b23ab812a9ef9bfd0a7e7612ee40b505e50569afc3c16b2813065495f0b3e12dae7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/id/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/id/firefox-68.0.2.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha512 = "c678461c38462616f731c2d0aab9c56f5963546f434e4ebcd2fb7b48aa94bdf7d4a7f14481cc4a17ebcea1decb767b27dae914fc3bb2503180106fda7adb74d8"; + sha512 = "76767d2e032973adffa08e0b0e49e233373ce95c94aaf61d0911cf0be45cdd0daa092f5b722cf396956f0f3f2abbf7ff063c76524f8b1e3761afeff6ee02ba80"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/is/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/is/firefox-68.0.2.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha512 = "00e1c27374e5b174ed5bcb335b2b8a0ef8638afbaa707df46952eff48ed94fa9a021af709d8f99169e3ab33c6c763af0673b3a33c30881e09bb12b541dce575a"; + sha512 = "ce9a41ffb2482e0c3049cd3d9984b5094310ed2ee15c60e0bd102f98d9511b3e139ebdd4607c37fcce1c23407fb5c1f969d6ae53816838c32d2ed2b399b710a3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/it/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/it/firefox-68.0.2.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha512 = "19d34371b514f718a6710aa9d00ed1c1b61db770b7974b50702e3a1845cb0e23a9606a3e5714d1dd4dbc13315508b266d1ac9b2876a3fd5311762462aea48b82"; + sha512 = "babc698b40f4d84a6c8f4cb159b676893724a5b1cea2f1b004d74699f8dfc1a7cd3137bbf9ebcc90f89c59c4e9980be95eae25ed152977fa652d5e8a35418742"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ja/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ja/firefox-68.0.2.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha512 = "a909971593687b5b20f614ca51e6e3f37f4fa8bf9464cf714473950ec1f73912f3c3f1bb79410698511f38e86f743705d6cb8a60be6d9e2266464bc301785537"; + sha512 = "1073dea454de8796d7094d99805f05db293a41d871111fb4495745dc6bc9d2199587abd53c7d3bbd09768104d51408dde8e1fc56e85197f5f035e9cbd314e222"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ka/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ka/firefox-68.0.2.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha512 = "8eeeebb0fc993caf80c088d96e2e31e579edfcca5225f622e3b0a592318308f2578998668638594a6f32cb0a984d4cf534532ae2a9418e32cc750df3c33c5361"; + sha512 = "77ea45eb051b34f136f8b295ad05cb14d43e526120c30ad028eb94c28531272563a1db80b164a19de28b3304d364558297be9a1305a1407e1aa644a003722202"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/kab/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/kab/firefox-68.0.2.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha512 = "cbb17638c972bda6fe83460dcd5d320c03888527b56b7d49e929f6ccb0edcc54251aa0a45162457a09929b7640c588aa210cd969ea43c1f9dbd68fc0ab60c55d"; + sha512 = "8e44bb0dd05028c8a3e689ce273360f24bfbba157a9e5d7562b08d8e4f448b7324a5bcc3c0fc878f8783754ba104206ce82efa84d767fd9cabb0f4c25d75513d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/kk/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/kk/firefox-68.0.2.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha512 = "d3306176c90902b4b2739ff52cbad140bcbb6cc0ae39e9f820781490a35a69428c2cc3b0204c23832bca62833523ba0975d39b3c30d8504301fe64cf7a5af969"; + sha512 = "aa3ce16fb30d08ff1e2d0b27518aa281d559735edf07dbd1471e148bb1fc2d85d9f812870d891e67f96cead4e49be25f66e07e4f52fd1bf08a877da602fa1b27"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/km/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/km/firefox-68.0.2.tar.bz2"; locale = "km"; arch = "linux-x86_64"; - sha512 = "f36fab6bdade43429941dd43da65a961dfe006001ed8d7a53041e6bdec0d668edbe09d96e383e76fe8d107e87122abda704b9aa14f7d6fa060bcdb283f30643d"; + sha512 = "6e1ad54977f61330d80f310317f1d97d9563e92637c91bdf7a0292e2abceb8f3f1cf3831627ebfa5967061b79ad565d37d2891aa83685ca599d782a4554e586a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/kn/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/kn/firefox-68.0.2.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; - sha512 = "89c40234a72938d441704c4b03af679085294f20cb0065863fab92ab03446b01b7afa3d004a5b3330439682b6f9b44ac078fec3906b5f99b4a07427419442dd9"; + sha512 = "798a1d1b5d3a4f7057d5ad05e5d93f08255ebb302170dc80a8b86238823c8a19a15cfa1368b81187ce389ee3992634ab9be58713e1097bdafdde96bc48dc4036"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ko/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ko/firefox-68.0.2.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha512 = "17d890cd0ebffcc24eb8b7abb4c9e29063bf8b784e0c603f4b69e3988aaf7c77cf864efc19d9774d94ad9a9610bad27a1adde53efe41240dbaad2b6a8d0ab1bd"; + sha512 = "8ce6490378cc3499155d26db216da44eb51f7b5d0220168882fdd16be63073927eb14fdc4c586c603b049a1be06837290417626f17c17b4620484ebf3e0a0d1a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/lij/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/lij/firefox-68.0.2.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; - sha512 = "31265524009f12d22551c5d52cf158a3f7ae0068d10cc744ba18ea3c90e1835d2119951fe11d736809369ab4358f6415e9da7103eddfa90e415c1d721980100a"; + sha512 = "ead703e84f5b7d2dcebe84c86c49f9aa751fcdfcd30d2c9646288a7ec50d8807160e84333743cb4f97ee6f6e45909ee4678cfccc6ff9729461826d228dd1de0c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/lt/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/lt/firefox-68.0.2.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha512 = "fd5c8a9cc4cfc5cd9e6539f0482c2dfb413a287811860a6658533865bf71b1d3c60c92c615fe588b982d2f021682776474b1420865eba66bac16cf3495747642"; + sha512 = "0fac4c345e3d543d0cf1b986c5a81d9fbbeb4617f88c679a2230a6f0605e24eda60a4133f38f496d2df0d027fe029cd9f53f17efb60512263d6fbdd55369d239"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/lv/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/lv/firefox-68.0.2.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; - sha512 = "6dc4c5caf27b7ab2191f1e2ca4b22b7ed87b7387759139e4688da174d3382af2cc971fb5735fdbce400c53ff8d9bf294512b173920e2c4a62cb5fdb4e6ceec3b"; + sha512 = "fd172b285d01771aca741f584e101d66190c29df5dda5e6ef120d41a9488a2e5679339c93478d1e86b869d67d54c226f4e1b7756e5040ab71ba415e5319965bc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/mai/firefox-65.0.tar.bz2"; - locale = "mai"; - arch = "linux-x86_64"; - sha512 = "afea8c98a60408823d246c4d09d2b9a0ba4c974b02e2e9088e91872d9d4da98d82924c6f486a32274e8a8f99572ee563756c9c9f0596c1d72913a9536c8261e8"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/mk/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/mk/firefox-68.0.2.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; - sha512 = "2d5cec8d0917694c3bac304454aa1770940310f9bfbf6ec233214989577e1f83c1f81326fbebf77fbcd880b3b03c3fb1928a0078925ac343c4b51ff72c481cee"; + sha512 = "370dc43f9bc1b33f3e1babadd16d8fb63850b8e68be13a22843bb09db530dfbdb22218507b04c406f3b386ef683572ba262a3a16b62c4273ff3fa2c014b4ef54"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ml/firefox-65.0.tar.bz2"; - locale = "ml"; - arch = "linux-x86_64"; - sha512 = "86585195d41312e5a990a388c14de87fda05c75c3cee02f0af40367a9cda9ec1034f21c4627da5c2fec020850ed94dcbafcbdb0f52302862ab23e8218e715c08"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/mr/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/mr/firefox-68.0.2.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; - sha512 = "f996ec4bd929311cfe481e45813deb1a6fb8667564ed2d63d0d4d2a814ee9f8c5671fce760fade3d6d9ac76e33772e09b5f1ac80e6afb1e4edd4c22c5cc69942"; + sha512 = "533b32b98deedfa31a62c80663b4aa0805c3b2eeb0da8267918f377183b40058a229f6dd357f9226f0149526c0c37e90c4f13b1041496054d662ab805f8d1d88"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ms/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ms/firefox-68.0.2.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha512 = "da9b9b272dc5d33910cf014005b19db7a17fb7306c55cbf77030b1cbac9d9dadebf0ab64845b232c9f9afdd7a47d85b52db9264021e45f5a172dcc2b74c32459"; + sha512 = "9092ed4ac8ec60b55c4b5324ebbd9f7b5940ca66dcaa66eaf9bfd808e3755db931568e4f788b3e2bcdd574de0655af16260a86065394536f916254b366188a42"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/my/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/my/firefox-68.0.2.tar.bz2"; locale = "my"; arch = "linux-x86_64"; - sha512 = "70c33d409656fb6e9b0c3fd5af1c9411ae6084339bc2c9eac55bd2e9d5d8e0811630e9f3ac5556b816c6fc3518657073f6786134299f5cdd9b3dc0f2c11792a7"; + sha512 = "64759c70abd171c374cc73485a4ce8e4cec21222a4fbd707d03fdac79b983af9d928b516c926a1558cbee1af374171272c04597d0523839befc8bd7659f24c42"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/nb-NO/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/nb-NO/firefox-68.0.2.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha512 = "8dcf198e0b120fa5a10e661c83b604a85333699a6a524b340f736e5cfe21ed9a96c9b009db625db0160c9a79c65b62b28a8a44957c07b05b6e576a0280beca84"; + sha512 = "940c9dcd597dd135fc351c09a6c1c1aaf20ef1305c4c9dafd90915a8ef040bdd02321dae130469985faaf871f24e7ab0b164e2cc1a0e661da886b16687cc4951"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ne-NP/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ne-NP/firefox-68.0.2.tar.bz2"; locale = "ne-NP"; arch = "linux-x86_64"; - sha512 = "fede145ef4f444a28d3d10339134b9dfbdfa8bc5be8a8c390c64ff797e5b38d24cc8a242f64d86b0091b4015a75fbd9589627aa0038da534600a9c68d06dae6d"; + sha512 = "094b0a3b2a38cf9a21698ece463517efdecd9784711220701815b472ca27b6fcd3358e982aba6fd579cd5b256d52cfdfb6cddbae17d08d1ca2818bcd8eba7f07"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/nl/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/nl/firefox-68.0.2.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha512 = "c128881c182fd29eddde5047623902c3943cc9100add237dbc8f289a1476acd6cb45f82b8e88adfa21ec2e25f111d4dd3ed772c4cd711aad1a4b040e36a9da5b"; + sha512 = "eff62b73a52a649a4072da79dc0cb5bae23f81360c2727bdad2925514c6f9de861b00f2c7310246da8037f1305da1ad6326023e06fb032ae636169ecfc9a33e1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/nn-NO/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/nn-NO/firefox-68.0.2.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha512 = "48c706cde9c4f2f521d0e2b1d4ee6a8eb47f5afea1cea8e7424aae816f81d156a1fc08d0e315b5fbb47d9a44d329c458333b333b6c63467460d4e97c49ede199"; + sha512 = "b1351dac5e08a6bbf2ba50baedfe5a6ca6b98de40cf89ebbe0672c98b8c900021b9bae2e8391b3cf55b433bd9c655d2a3be2422a7a0ad2067d4a465a9695fbdf"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/oc/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/oc/firefox-68.0.2.tar.bz2"; locale = "oc"; arch = "linux-x86_64"; - sha512 = "88f91a0ef6dc1a234ee2e3ed4bb32bc12feb4dd368805bc837b8bd3f049ebccff535f6f02d2806276d43ba471620a274a51e35edfa8f195e043e85930bd44821"; + sha512 = "8dcb8884541f272cdc97ebb9fbc0ac7cc98c3f3d252ad53cd94aee3c5d9768fd123d87a4b8c111ed92239e90f6d54daf67c5efa3823f8b1b6682eb8ad2c3876a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/or/firefox-65.0.tar.bz2"; - locale = "or"; - arch = "linux-x86_64"; - sha512 = "13c5f6c63bac0acc226e92207ba8c8c6ab06e0c99135965fc9ffec46f2a6867136a42ec488bfad411412a761dd7cbaccc08062376197217eb1d640028ced18bb"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/pa-IN/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/pa-IN/firefox-68.0.2.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha512 = "89222f8b28198b53dcffcdcc58e5331b6bd6e099cb4b860b1f4a7804486c741109164f11e0950456b2ab61a4be8db8a81eb67ae3655ae361801835951cbb1890"; + sha512 = "6f8ac6668fc556f051cd735325cfa3b3c16c43298828171b89c17ce22a66a788ec219b7bdad9f9b1d3d0a425778b373962033468f196e999a2ddf8b6ca86233c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/pl/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/pl/firefox-68.0.2.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha512 = "780c81135a0e1c2e843518e6690b9e5ea472d90b985bd51588f8bbdf1f920bc07af75d8f294c5b30b627b48319fc89316667fa55e94a8531d5af65369af3e633"; + sha512 = "8518a8eff1920aec34cd0ffdb66b4242d55b805e3b489fb0d5c29986b3d7efc62ee6a014ab3fbbe9b40a54aec9c6c76e052d0982f72a4ea4bed82814ae6ba2f1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/pt-BR/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/pt-BR/firefox-68.0.2.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha512 = "213c00695d9b40bb35a02c1ad006da9f42551af1554324df8524318956b9c46f6cb772e6bf7d90c883f97df6be78d527af1601eee42bfc8a5014e46c44af3af5"; + sha512 = "693d6b6227deb670bd3608cd873eccc3848c76a930c3e8922cf80c18350bdb5429b52e7d7551350a8b565d859adf067ebbd553531e00c6da95c480cf932de03e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/pt-PT/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/pt-PT/firefox-68.0.2.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha512 = "56ee6d56f036925be13282db7edd518524b499810ba31289d287d7b6e3e5355cc1b944d1ecca7aab9d37ab55141fe94c3af3f23f175b2136f2ad3c099f201f67"; + sha512 = "c77e539aa7d2175d793c8ae4dca548332d98efb6cad62ba2ca9f3b94982b7a4d180179ad65b89a460e04462210ee201bc2226105ecff27b5a4b78cf1fb0a5b97"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/rm/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/rm/firefox-68.0.2.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha512 = "33821af846c772f6601429a983365f4f79b3fc2df2cd20cb23f61219f544a4520fde8c4e5ec1b4474336c52a2063cfce6660928b0d0aa6336db41055f562c8e6"; + sha512 = "22ec2647ede04fe74dd7e6c99801c15d4ea131f010a75c0a9e5c8b568179f9230208616147e78179b81a7441f720d9f41dc4d784b9dc6c40e00e886612bd68ac"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ro/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ro/firefox-68.0.2.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha512 = "bdf7a957ba453a1f50ca1831ec30c2ad3d2620e506ac6b5575304235764593ff9b545719a45f4c1143dc5e4a6e91c6024531be28bfe74904beb2f61f29db7b7e"; + sha512 = "b9e3811280859103e202f0dbaa1c278c8a9cdb451a3cb63a35967bb43625d5f6f6ad2e15871dd727546532edff3f6373013e8bb0eccd83e7f80a31dcbf8e3643"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ru/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ru/firefox-68.0.2.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha512 = "f77d8516b50dbe597ceb21cc5e643bd0b701718a2a88013338981cc8b7855e601884154fdd3ecc2b1edcd8b19e396d05979039ec7060f70f786aa263d9044a4d"; + sha512 = "a7383beae7ab2514b0e2f5d86d0317ed0c33b5695eed1526457f14b545a63d036dfcab907fb7090055e6ca29144f5f11c7fc2c00bb389d83074a20eda6173df2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/si/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/si/firefox-68.0.2.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha512 = "ff747f4502626af21eaf008080477b1f19c4a2c6f6303ad96c65eb597b12e10bf1519bcdb09b79775b9e0247b521d73ab390f4930c3b2b174362b705dc65bdd2"; + sha512 = "5d9bee0a705d1250dd07636a0e8bb3dc3e0150607d58f7eee28c5050270e8786fee2f843e4b801e7de6de56f284025bb13f5dbaa131676796f69973ca45a209e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/sk/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/sk/firefox-68.0.2.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha512 = "ebf11e1a59e06b7394abc671deb59677c4850f9060d8f2c5381cf72c1f7e59079b669b9748bcd13af5b936f7bc49b9f4cbb798f402f47cff48c8631ae77b5c77"; + sha512 = "de0eb221142cce4cf6272be9323b2a851385d539a739b0b2ccbd7b98926673cea695fd7debf11aded37a57b551309a7c93cba244b64128e074c93e23b68942c0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/sl/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/sl/firefox-68.0.2.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha512 = "b31834f097a8089adebb0f60f70803b74d65e824ef63c71a5db57ae1e25efec86e3e31fded1dfdf94f688817c0367c0c3118f15bf8fb01a0de8dd4992f689327"; + sha512 = "09d4936cd5e3f0592751699bda3b4164004e7e2651cd0b28f5eb191677352a61901725357bcdf5f2744b6090d47b6754b910a7c34e611f813b12fc7566bbaa92"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/son/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/son/firefox-68.0.2.tar.bz2"; locale = "son"; arch = "linux-x86_64"; - sha512 = "c706f1c88cde86e2d66ba8ceedae19ef0d8fedd4dadce72df47b827b8ee8a0cd9da6c05951021b70e0329b2356ab63c35640065a61f5dc85ac2feefe612acc3d"; + sha512 = "564306bc98a0a0a9e54d2f315cbb1414107f49deb4bf25cb729e10ede60620df0a1abdadcc675e531e364d1338c746cd9cb6d4afdf6e46a420b12920db1e304d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/sq/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/sq/firefox-68.0.2.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha512 = "ca15bb1c507726920c1d1c554da2c0644c388858e02b6d85407a589d6027391c1145b01bb18cb1bef1cddcec987d5445056b51cb21584e5d9ce41b9540198ce0"; + sha512 = "28c300db3616e510733133f0868cd42e7b05a15fb066575dd7386ac4e53b4526e86ae7d24907e3f7e98b3a9c189ccf2004c958d122b47e476eb3e411f17c29ac"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/sr/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/sr/firefox-68.0.2.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha512 = "256b7b6526a9a80faf9bc754c65d2552572595c53322dd5a9b9ee04e923d2bdc42762990cc86b5cd9505d30952d311a9082bffbc90bb8e1538f93e43fdc36655"; + sha512 = "0ca1a926600075e7e8348ee2ad55c435b3775c8aa6d1f27717ce1c35fd1e108c7600547302f072213e7c54903e6c0faa6ad299a9af991c8234ecff454d336427"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/sv-SE/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/sv-SE/firefox-68.0.2.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha512 = "66295fecef20013a4499f0641d0da2e691cfbe166a5c03734fdbf364717fa8c2b6434a86f2bae48485aa42aa74aa802f743a37c5d9c60218298449d7a8529341"; + sha512 = "ef4fe5ba87db3dfba62490022f1b91ddca96fff6035328b07608e56a3247b4021f6fdc007d65e5adbd52cd0adaea9f0b59dbb5f01d71535655d0bc5e0800202f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ta/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ta/firefox-68.0.2.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; - sha512 = "a021bcf2be37488d6c03ada0f7e8662fc57163d64c51aa17b72bc0e23c56d0be1dccb7f1699735908455ff23d62988f6541cb265050612ffe3782129f0a7d65d"; + sha512 = "6fb48f0c09d74228317eed041b4f8d2670dca7ed043c133e8bd6a01a0d7bb310144434960be9b9916bfdfc3139de2cdcd3b8282d1568e67d29cec425420b1e06"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/te/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/te/firefox-68.0.2.tar.bz2"; locale = "te"; arch = "linux-x86_64"; - sha512 = "140d7b57909bc2f1eb34c88c8283b66183aed6647bea6164582ae45fc9a54c43b18a7455b60df37a2f7ef6028c92668810cb98d4a1bf3d9e6006a85ed2dc391a"; + sha512 = "bea99c4f34bfb5860bb5885d4697f18bd45de423943c5d15952bb99c7e4cccf125f041f1378b693b805ef4d623fed52ba8b13a76b87bb383da95d06a4032f8db"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/th/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/th/firefox-68.0.2.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha512 = "ef73b5976507930a1290b2e7b09c90da219dd376f6e838fd821992cfd1973e4e0c1a21b6da523b050acfb303d8bc28bf29c15e517f36096a88888498a243f7e2"; + sha512 = "4a03397a288a7414ee5ad9f42a7333d30b7a6448321e4507cdff71a2e3b0933292e6ae937ca96c1f6a5ba906e54013b6d6d8501c4a9be4741fd3505dd24b0424"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/tr/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/tr/firefox-68.0.2.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha512 = "00bfe75ff631f08452e3ecec45df2623a15c69ac1e3985b1765f61ba34a7e4ba1bffd62e3f004da83d101a1f78900938472203f3a3d0df3c694ce24e17bf55e8"; + sha512 = "85378409bb2ae8953c1f90736cfc3e00551d77e3aaa6a7fb76a157291e99be18d55f5d07b1171a7137d982442f55ed70ccb3f6f6dfd73869e9cb37019e976590"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/uk/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/uk/firefox-68.0.2.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha512 = "8cab20c1a4cc960d15899d165ce0340e8f347155ce131d449dba8cc21bc9c882f8209b109330409eeab5ea149926eba6d0a2eb3a6689f98e4b99af1b4f7d6313"; + sha512 = "5ba9df05480e7852d894925248c7550a36db59c8a4c37792de325aca02b8e5feac0c20719077d718292eb262794668bcfe810dde7229faad6f2370a97c05e973"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/ur/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/ur/firefox-68.0.2.tar.bz2"; locale = "ur"; arch = "linux-x86_64"; - sha512 = "2265739a66dfd03ce0187decdc5472c2d773590314815e07f445e934ea8dddaea38c3fa44b7d05dd16bb21a0f6034ceaac5e7d277176503836165c6da04d4c8e"; + sha512 = "bef12893d73b1c9583302562781907d0fb121003dd1714ccc4c3b2a27160384795ac8d85cec4858849004b020e0ff5e73f512925b9d5561948ef16bb26e0ceb7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/uz/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/uz/firefox-68.0.2.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha512 = "226ed729da52643b6ba1728e761e69e6f6cd6949f394a18e67bd8b11558d87f15e7ff8a7c6e73eaa402c6839b1a78c34de8fa6a9a10b4f6d52b2a3e44cbad099"; + sha512 = "5961e478d0cfee99edb3a7ec20a0368f8b6604b4449dad835decff54c8a9f3add6bed22a131024682779922686dac0ea6d489ff111dfcdd476f7641e293b40fe"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/vi/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/vi/firefox-68.0.2.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha512 = "ed82e87e9afb51d1a4ca78905cc672279877b3dd221e97df245b9ba30e77ee01e48111efbb6b1a21c652802339efdcd979d9d3372fcc18490e86c46e87a7f3fc"; + sha512 = "31efeb8ee3ec4614f0e116e615db97f9836026c0c94f5452cd3c5ce338fb9b35f19c0a15fb6bf17ed945a37832a628e7fc16381d5e6393475d8b9053596a5c4e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/xh/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/xh/firefox-68.0.2.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; - sha512 = "e3554422c28e6e571cf77b2db704f447e0120429d859150a5f1061dbcffc0227e9f1909bbd38aadee61bbc090f6316192948970531fab9388e15d92d581ae27a"; + sha512 = "bf23c18c5a8c13c115e8ceea382eee8e5c7af24552c3feb92a5ffac0d2aa34effb7dffb0b41890d1af23f75b9581ee05451785c5ab2538af9082b13ceba04ed6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/zh-CN/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/zh-CN/firefox-68.0.2.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha512 = "3ec0e98f1b346a9a79c04e86f260f7fafd6fb4f3e71cd5c9de0f8a6f4854c5a67fe694cd2a10deae5f6e4b4e48da320b71b3b925413d6def030b00c7ba3bf60a"; + sha512 = "ff490ea8b3b847343b3b7262154ec8815fe3c38d91c2fa0e92625db793f7d24bfcf3985ba07a5f5724b2463d00934925641bbade9f65f5c55627c15f1eefdb5c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-x86_64/zh-TW/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-x86_64/zh-TW/firefox-68.0.2.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha512 = "84cd355bbf75a2d51f7014ad0d407664a5daf5bc5594e9f7a5e1b5cd1c3b5abc91e8acfa8b8972fea94c49149d6227320861d8e2751ae644893167c210360784"; + sha512 = "f3de7f3d53a47532dfded82ce25db7d7d0f89b2026bf3052c42f9b51087ff5905ff487f9dbc7e19b76a5816b9c2d8c1d350d5e9742244adf1c9d0818c6b048e3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ach/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ach/firefox-68.0.2.tar.bz2"; locale = "ach"; arch = "linux-i686"; - sha512 = "a0aaa0d89be1c32f1f211e813bf42c3cdc1aa21f0980b2a13463227141f92293e05d144cf861b28dd66bf296b39f3c939c951c6997aaa9ab1c984e1adaf5422e"; + sha512 = "515921cf97afec94b5853a7b6a7ed426cb1ba6b875ed1ceb8f6611cf052dddce40e519c4927ea50a02d23c7ed40d6ee882fbddff4293971b1c832e5a38b6573c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/af/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/af/firefox-68.0.2.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha512 = "4a2d43d08a608a7f91370bed59a57a80359e7cfbf71141a1c960fa035a93fcfa2b2f06711dc2523a9d4aae85f9d23a886930922c9ecd717c45afee17a68317f9"; + sha512 = "1a9b041ddeab4a06257d9313761f288acfb4ca75e0a50edeaeeb7670f4b3fc7719b480a5d673d90ee9478cb1dc9e14ed07c47e2160527874c134db8a85908408"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/an/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/an/firefox-68.0.2.tar.bz2"; locale = "an"; arch = "linux-i686"; - sha512 = "94cb4579e466e44c134308d9e8bc87fdeffc69f149a31e39d8e185aa86d14932bd41920a6106011a5420bd89b0d639d6fc7416caa53e701373d69a52eac4ceb4"; + sha512 = "8d56691644124b6038c2a61cb74332f38c4648163745d37d37ae07bbf868b0ab6dacafb6c2f1f6d0991a6bf7cb8ffac498f36afad067756b1b8fabcc634c2624"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ar/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ar/firefox-68.0.2.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha512 = "953c47a4585da68f7385f1de7e788fbd0f025434f6f7fee3cc4f8ecb2fa5ef4d711b856fad368fd58b9a655a74e178b29cf5e40403571e36fabebae22d825071"; + sha512 = "f443355a1778e087e14a214524cea2c66a58166c1832a5bff89a783c4ef1e3fcd614fedc00ca7b78a0595d29370da82de6f53c8b58c0fda15c79227ebe317f0a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/as/firefox-65.0.tar.bz2"; - locale = "as"; - arch = "linux-i686"; - sha512 = "27008ad76e1a6dc3165a65fa4f3ec6570b21ed17761878bd51c6eb2d0f9592f482ac2ae77c85dde2794ac2398a87bf7b6857d241ba6f70507e322a47b5ba879c"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ast/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ast/firefox-68.0.2.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha512 = "a6ad5ec3380bc571d4b9bf486d07933996ef12d0fe18030e0decc9b30a3a1827c4ef41d48bb576ac18b5f498e3286aeb8facfc15e76f763bfba5756a4dee34e5"; + sha512 = "50c4ab65a5c85822355fc6c1dfb57aea54f68c9e578784101d233c8d1f2ae678f32646bf36be5c21e0e32bf1ce0c7635be4482aff422100e55e6fd813d0c6343"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/az/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/az/firefox-68.0.2.tar.bz2"; locale = "az"; arch = "linux-i686"; - sha512 = "d78e00aca8eadbf3008ee89d10495a2dc462598bf3b7a508c4147c97c77861b60681ceb8238c9b22d65498d177b0c230584cf2b9a3d9f0da31a6197254b64c56"; + sha512 = "070840441591f942491f64cf793f2e12d4a5038fef2804d0143c726f33874a06ecae36bc4f2bb3cc04aa6e46791a7f5148900f9aeb1954eb0e0717a5f8a7577f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/be/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/be/firefox-68.0.2.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha512 = "2585be70036521dd83f68f6f4fb4cf19713c2ff26a4f6907ff01dd0a8216127037f754041637608f715ef14cfbfe7271b4e0632dc26e351b50c00e8eb08358c8"; + sha512 = "4338a55b80c9e9a21570fb49dbf9595d6c0d51390d370cb8dbf541bd4c14605b1daf118193d2ba3f20d2b2f79e2f40f276e079046d8db65ea524f3bcea88d826"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/bg/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/bg/firefox-68.0.2.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha512 = "54d4b4096c679f10f7fcea13302eac7119e4a02f693a8c4880bebc5e4fd331ddef7f66ed67a7585f47f302274e977df237b25c2e0c41bae244e18a4d32f2f0ca"; + sha512 = "0a473653d6ff4b6c604e269243f781704c8fbf9f99b18e3fce83680793622b58de5aa655e5301dca2765d6526fb5aa88ee2caf7d35557047c4329994610d9502"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/bn-BD/firefox-65.0.tar.bz2"; - locale = "bn-BD"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/bn/firefox-68.0.2.tar.bz2"; + locale = "bn"; arch = "linux-i686"; - sha512 = "9564b72566f535061c5ce2d7acffeaa049e8021adc6dce964c035c55cc5d118565dad54c933db771757429bcb81412a71421cbd52ec2f939bc47957f3e05d623"; + sha512 = "fbaa81947143836f54f84e4e376ce31a21cf59a46debdb61c8a9db2f92703da3ac06218c560a639b5d6076e81d74dffd291f9d773b6b7ae5d65dcd0e77b5d1de"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/bn-IN/firefox-65.0.tar.bz2"; - locale = "bn-IN"; - arch = "linux-i686"; - sha512 = "e43676d023a668d215f39b084007812514ff663063b3a16fec72aa79e801a2463d93b292924687341be96101c58954465762dd68a4f44bb18c5f322f59beee3f"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/br/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/br/firefox-68.0.2.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha512 = "a1321fd5a1940f50eb7dc98feb6ca2795ff6710b8de7874d0726465b66ca5e1c668ec32da3f946511a21e96db8a3851cafd3ff8fe395accd68a3fe730069c6a5"; + sha512 = "a5c69e995213a6f3066e685077b911093db15859e6dafdc2a385d012d0815520fa2e64c7b89deb279e307fa702c9bb57961a3147ff450f91ee8b3b31a2efee90"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/bs/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/bs/firefox-68.0.2.tar.bz2"; locale = "bs"; arch = "linux-i686"; - sha512 = "c3dec84a9a667046d0509e4c09f8a17209753969c6d0d6aae56fb718f53c700a7d360759a0f04aaa1a575961e1fc70136478ae652b8e6d845f1b5df61c8b4dfa"; + sha512 = "82d585cdd034016265c43f0e70f09ba8cba1429a551491f6e8ef4c8f333a40179c4817ace39cbb4a2376b03c88c54849eb45904e148dbbb4f47f8fa32048d3fa"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ca/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ca/firefox-68.0.2.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha512 = "6cebac4c11740848e36dfbb1237816aa1c9c7a698423c7d73e268c74a7407e10107ff8cc8802fcc0bae8c327b4ee6e559067fb78c81866de753ea781fcc10cde"; + sha512 = "9c884ea535c3192fec754dd891ddb2743afa400453d9299f26bac710ad5bd7c7d8cd0ebdce3f1ce88995c13e381701312fd9247b029c73f12ce7940297034e8b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/cak/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/cak/firefox-68.0.2.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha512 = "af6623230ae20f3dd7915cb395a200dbc7a5a7358bfd634e4428f978da46ac245b2c8faf0b6f2c0655b377f4472d67b8ce8bd6383cb1993dfcb407604f916413"; + sha512 = "367755d495f3b583a8f09d200f5828c10d8723017d691d6380515d3a4be65e6edcbd1318909c1652dfcc1cacecbe80d6b4e399e2192b335701e17764fe5598eb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/cs/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/cs/firefox-68.0.2.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha512 = "854636af5f2a07f2c9cf86549c59f76df6d338f44c02970ed8024519fd8d7ed4e8f2746f62f009fe7cf8d72dc8a57fbb9b62fe8cb3f7f9218e8ef7f47f674730"; + sha512 = "427ff1470de34928ec660d539fb6977145540608b36ac36fa0f7b98af0f814373105d9912681bd70fed069e94f58aa48f441818a3f4cd67dd7a65342133f2d62"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/cy/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/cy/firefox-68.0.2.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha512 = "6ec88891cce5878022e377da336010c8818271a4cc543341d2c0585a76184d5ea80f0712bc6a9fa18008670603103136da3195ddb2f7be6d94b4940e3307cb9d"; + sha512 = "8ec2ee32b5dcbe1d9dc80ff8d518c640e9bf8b21b2a8ed2ef215193216b22e17de4d8c102c59eec4c773f0e3dd0eaad6b1502c91367f1bc1b1860e13a2b70151"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/da/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/da/firefox-68.0.2.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha512 = "d6db78a1e930304bf3629a02637cc2ae375d486654fdc4ed9e4d995049aaae402c9781ac72c6764084df3c87247fa8ba0ded438dc44955e84d90735733e84e89"; + sha512 = "72bb5e0719382aa518b9a427f06946a85e7f8c8c0176a66720d47cd7fed6a85aad370888899553a029db1d841bdecdf55316fc8b4f67fccfd227bb48ac655126"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/de/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/de/firefox-68.0.2.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha512 = "5e5a817987239c402d141cc7d42a334355b00facc68be1b89c2ca271dc1e9d79de5953dbc1da49254c1c03fc8afbd02cb1258cd2a238007ccb69601c860137b9"; + sha512 = "39add77c78c64d77e052565fe058256fe9ec44886844b664bd9055b940fa0af89a60d4cae5f32523f62eb7909b18dfe2f521dc43b4a24a5d0fb67e0d543de28d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/dsb/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/dsb/firefox-68.0.2.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha512 = "6eda625b31d0ee8f7a245b6a0e769a4a35fff4352d1b33c668a0187708db892a317150d8744d65912f265cc68d72e981f6f26b781782a18f3c7691f746f0cb3c"; + sha512 = "1a0fdd365df8b034a4e05741d450209f685c22e6ef6b2d030f1981c711f46a9d561963c57a4da49c01dc2b92f6867b6296a013560501939788bf2b62ff622d71"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/el/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/el/firefox-68.0.2.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha512 = "d9cbd4b31b216ae65c6cbcb633965fed19010d5b26fb7f1e35c5459cd1bf31b1ceab572056b00bbfd72b5a0d2f126fa3ebc2bf05acd7216e1470370075f6eb0b"; + sha512 = "3bff3c718c77af76bc10b13b7a816eeb37e6c2756249fdf441894350834e69ffe8868ba119f473d1cf07e8569fed6c604bbb1cbf1a1a51d5dccfe3f5018df2b7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/en-CA/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/en-CA/firefox-68.0.2.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; - sha512 = "b69b7033af141d38377d76202683a5ce362cd8f52f7d01d8d04482908279029a9fe4fb7129e4ccf409eab1eb081d24764a9ae1519796612ac524857a3fc37499"; + sha512 = "8400867a50bb1f677b41d2b030a66857697a95d155c50e0c57711a96ac13f6d236df86ae889d442df805eb56cee80050370df2210503d61c5a3d3a5f0f3a3c84"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/en-GB/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/en-GB/firefox-68.0.2.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha512 = "3eaa085b84924d24c3e4726fc2e7084cae6a90dbc784d157b7f94b50fd49b02e49d736ae49330a2795938487842a4a8e128ee95d876e73cfdd1ec3c959205bf8"; + sha512 = "b03559560ab0afa718a15bb0ca1e4d9b97eaedfd4b4ca42e3910425bf6bb6a0bf251208b7fc4848eba0285becb5509569bfb7ea609df3f60972e625addd20396"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/en-US/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/en-US/firefox-68.0.2.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha512 = "d7d8d14d25e4864fe3707d4d2ba7895556b92e2f375b237c73aa011afd952d3163e8492db8ec150337bdcb440c935917b3586240b44c9a5beeecbde545ec2821"; + sha512 = "d6acd7725858a512805676f6fa215b949e631f4493bdb060921bc51c2f2526bd0e69641b41168ce756556510e354cd98fe1d1bced42a1e0a7100ee797c2eec00"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/en-ZA/firefox-65.0.tar.bz2"; - locale = "en-ZA"; - arch = "linux-i686"; - sha512 = "ea47abb33631e7d32288a9610d1c9d86f6414867206ad4923d23e8bd2107105a786570e1ef0f253a2ffb90fdbd890c033dcef0302a2a3145d77af51a0f11c0d0"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/eo/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/eo/firefox-68.0.2.tar.bz2"; locale = "eo"; arch = "linux-i686"; - sha512 = "a656bddeab181d503342d0015ab1feaca887894c3335a39f1b4fb3f53c6dbed4ed7ba867e51b478ed651e86e152c7135fbd4419a451a35a5e8c11c82887ea1f4"; + sha512 = "25ba775be4e0329fce2a927174923c69e3dc38b61af4f29ec6e1d0dc74706b8becc6f6d139ca3007f7893f9bfb66cc71d9426cf420695f2494696902d5247d8e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/es-AR/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/es-AR/firefox-68.0.2.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha512 = "404ef7313904ccd11b8f4885bbf13f3f9c2123fc3789bf983ee225cbee9542b796e700bee82dbb7b32b11f3222e1ac9a39b8a0712a6746e6557eabf7979740db"; + sha512 = "a3616f6c7d9d7005ca8f76560bebf63b3a49f86d58d6c8c145400bb12e1574c1a3986347660c6da2700402c26441754991335bb199eee5a43292644fe935083b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/es-CL/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/es-CL/firefox-68.0.2.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; - sha512 = "88b89da9b2d529cf7be8c9fa464fb17717e3f40f8b77bb47843957731aae4e59dd63f691af8fe863d74cb2db6e1fc9e66b514920dd50cedbb6e2a1646ce92df8"; + sha512 = "9dd4f16594d3d53a9c6ab2c24a373dafa1c3d02cf1d2aff5725bdfaf7bdec7c0df254b133f1e1e63f235a69fae687fa261f36b08fa0d09d6bd141d01e4f10c74"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/es-ES/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/es-ES/firefox-68.0.2.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha512 = "33444d60e3366d9875b22b2e99fa8ec674446f78a122c3b0719373a7abc55848bdadcb9f800ef1790531c9b76993ecd80d473dadd838867870f105b5b36a0d7e"; + sha512 = "a560d1c5b2142590d086bb645b76c91c664bb6b849d5a1e90a32feb87691615b7d943612048fc4c248e0c65a7532861a751f9b3a1537eaece9e6604df8388778"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/es-MX/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/es-MX/firefox-68.0.2.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; - sha512 = "f7d1e5a691a8e629e11059a9bc367c1e91c525a0ed69d88bfbecc3aeb22ebe668c1bb20f307f2256d3782f804490a77ce45cd2a8f55cb547e314b327973b8d74"; + sha512 = "481db1dfc9cdd02963235d5ae74a3fd9bfea1d4d4e2dfff8a15e621e2ed2027ebc4dc14095e1ce0013f1350ee73717393e8db4126e3ac707218eee3f4f7a247e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/et/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/et/firefox-68.0.2.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha512 = "2399846600fe912de3b057a18b857f688ffd39692b9db5d2a7f70cd31dd35d8c1e09f4b73f058ce61808e22a61033963ed97e029a5170662043f684985e1a82d"; + sha512 = "7286f28029838e9b0ce5070afb9001fe01dcbac24dc85c5c2f93c5b9e5f6635daec7d42f0788c1ea2c03cfa8c03b190200be21bdf44acc2ea2bf9ba9aed62231"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/eu/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/eu/firefox-68.0.2.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha512 = "ffcce3c779c0f139bc47eb1b9782436db17977c6e3b340d0996d228a746d843a1927cdbebbe11955d659b1d39ca285e357e6e41cde09652dd762192dac641ffd"; + sha512 = "472a773ebb672bbe0e523dd08cdd45d310f0ba599dbd2ef720ec9a2b199c77596c746cd1378d2853ab82c289b5b3a2001ef407aa3e250b082dd82072e858a5fc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/fa/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/fa/firefox-68.0.2.tar.bz2"; locale = "fa"; arch = "linux-i686"; - sha512 = "a875e2a656a375f4ccd370078c73e72f8c6a1cf629db277b18928af35be74e10724f7bed1846d418266dd8cba1808a54108aa2a14acbe49a60b8c6d2ec6cd9f5"; + sha512 = "037df8470545afc445f30f269efa4cf981a20593ee3ab180a92dfa7f33affd03a6dcefba47d252275ceae2c9291a743f5cc1060253854d0ff94c5ebfcd81f464"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ff/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ff/firefox-68.0.2.tar.bz2"; locale = "ff"; arch = "linux-i686"; - sha512 = "da41d26230041bcebda837d8d4c871f199b1ccdf6d872fb8024bcc4caafa57c2e409977d7c99b443eed8e2ea003210bb6564d8cd3666775cfa88336122b82b74"; + sha512 = "e1293b2b8501bd30344ad54a8fe1ad0fb27292baca43ad791917d06441837004c8591bf54858852a8ca9de52048fd126937c81b2faa822f2140f73bdd8a4838b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/fi/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/fi/firefox-68.0.2.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha512 = "bbb3feeb706693a9f9f9733f9fd3b02aa8114b313af2a40ca00e22a30e8046aec58f91a0d47d6b3b83bec33f118dcf5f0b9f097560f32324ea9deed23b673ea0"; + sha512 = "f9acc483d78fa9e3a97d0d70dedd152f433106fe718198fdaf020bd4184595e0661d8086b2c680bb345165a57ea573a00e7484aaba99ad416c0fe4c08ce7ded7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/fr/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/fr/firefox-68.0.2.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha512 = "877f704b152b18163d4dd4962b634b9ac3e8bc218ec8e6a53ae6c13991a06c84727c20012e820213a3698257f53d6007c992e7cf9885503358a46d236a8b18d6"; + sha512 = "bb28397f39be4e61dcb8cf783bdccb2fc0126e006d4fe8a8da7e15985335d5740cb3d41384f0592f0b7b4daa898066bc634397a680555dc720aec08ae0b8c989"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/fy-NL/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/fy-NL/firefox-68.0.2.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha512 = "494c5ae227db4c468e5b66fdc480ae0d9adb25f28d76ebd94fb630c096eded631e44af6efd5586aecd5ebdf62f1ed307086f9bf7af0395ca6cb599a2eb9d77d0"; + sha512 = "edbb404ebdb71a2c6b1b66a2fff776ec467b0fd42a0710d1b796388674e62e70679b9490d70b92797bcdb5e32ace3691da88c50acd7e681d89bb9d166ca771cd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ga-IE/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ga-IE/firefox-68.0.2.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha512 = "3e9e921fbaac835dc8745d3e3b46914fa79f64e65d412a39b659ede44ff9810298c8240966440e82a949191ace2207b7e7684530d930d0d1913913a320419c81"; + sha512 = "7f16cd4796525f77fb2faf3ebdc08c61d14c35780107049a4ac2c00c208cdd1c36543933e64ae51c1cc65bf3896ccb2fb546735762762e25dd22c5bed71251ce"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/gd/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/gd/firefox-68.0.2.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha512 = "b71e3a6f1f060b3132034c435b54a735f8fff377646420b408482cd6dc5440957782aa530285f8bf7d51c56d5df8532cd0fdd826fd8f1faa06ad0badb48fd35f"; + sha512 = "5c875835f2c1a2cbcc97cf623f4a2d57a252d2741707847cdaf4a2fa21cf4a2ad0bbe9c0a075f29306580499a9d9420d77bc8db2da88551e36af006f946e21da"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/gl/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/gl/firefox-68.0.2.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha512 = "ba2dfa015a3de26750c8b59f3bac8ae395bb36435b4b00b0f30a6a09012c36986c6ab0a7a33d74def2e3cc89c04d34d0d9b65e830502f59b7028fcccdbb43519"; + sha512 = "6a0e069836ee596e9e7c6b08a39ce15b073bff8ceb676f957285d26978d8768d7b60fec011d941b05644474add0ea00e37ced01eb43512037839c010ecd5b637"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/gn/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/gn/firefox-68.0.2.tar.bz2"; locale = "gn"; arch = "linux-i686"; - sha512 = "24735e13619217c444d6ef5e89f765baaec014a56a5929b0cf4df1d5401a673965bc058d440d80cfef9efb0112cee600ea8e0e030c2f5c40ad738e0c8243a6fc"; + sha512 = "6811327bd3d952ec59ec04cd21567ce347fd53fb401a5017558dee0f89ef0cc5437f9edb8a8e21626a7c379dcdb118fa8a27d5ee7d1bbb14eaf7daad5b08391b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/gu-IN/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/gu-IN/firefox-68.0.2.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; - sha512 = "e32a73588df2630bdb6e36186eddc7920e5866d1293f9bd7b8a4ecdb9a2d504e4a46810856a731bcdf5bd7852ce6193694330804a58daf82029a9070d2d58542"; + sha512 = "5d8e5d339d350f151c8834d16fd26979b42d3ca32e5c7f72e280923252cea294eb4857725035eb40c282848b38efaaa79b974e795211d3d59598c6a53a6babc2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/he/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/he/firefox-68.0.2.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha512 = "467c77c045760b7de01d0bc25c36527c0cebefb627346359f8b1fbc67d0678d31fdb3339998a596bf183e12378124479b171bcb4b6b8f2f7d10e3215f17e7f42"; + sha512 = "e9e9bdd9698d7288dc89fa03a5461668dd67ba305a2d822a50b1325e797ad233dc727cbecece58da43e104fccf319ae2d884c39bdf4abdb3b5bfc88f989d1f52"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/hi-IN/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/hi-IN/firefox-68.0.2.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; - sha512 = "d879dc631888b32ae06b5f99f1adbdde32e76a5bc3150bffe8f326d0728acf2d9d1b8443657194f2d5c26819017365be6af5525ca9d1b4324eff57b43eb77790"; + sha512 = "5b650fbefccd3768918a8203687e39fac96f3530236a40f1d73ef24ab2a25a58f901ba5cea0dddc9b9623ec84015eb6392182b1f02a14c46d382eb07a2078ced"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/hr/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/hr/firefox-68.0.2.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha512 = "dec69bf3795f99a070ad268e62414d7ae63f8c747a205289600c4ec4feda63aeffa6398802cddf6787fd17e735f376ca4842457ff45a9cb72c912a2b3cdc6cfe"; + sha512 = "6cd3ab0dfe19ee2bc3725af08dbe54f12f214bf4b41047435f6fa8ff986bfcf45772626c7392858987e01e1fefcd5ba1b28872cf7774ca90413993343367705d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/hsb/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/hsb/firefox-68.0.2.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha512 = "120247d2c6bbf44a453a9afcd9175a41c2ba2b927286b33f749f51b6ef4aaa993f6a6d4662ad1eff56ae736ca91d742ce64260de12b493c9dbfc52621dc81b3b"; + sha512 = "ce300da3c7e1787fc205d904694ac84bf4fe4f271d95cadd9539b18c2b0fe8f35d12ba331ac098f56a56786f36e1cc2b2fbb62ae7fac25cd6368d8a66ea8efdf"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/hu/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/hu/firefox-68.0.2.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha512 = "fb9579d7abaab1208ec5a8a8172d57801789eac83445413cd2133c5785515ebec01824dcb76685d5c8507048025c4f9a16fe7f47233a4c5dbb0bd76fe74b6484"; + sha512 = "64d30bf6122ff4598603bca84d4d1ac30c2e84f106e4c68f6a0dc24dceabe67e34e514dcf58acdd8b6d3c4412a5e1a912e184ec13e8ddb5867943b2965a3f1be"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/hy-AM/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/hy-AM/firefox-68.0.2.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha512 = "28f4436f9a977edd4b30519b98c1842724323df3fe638979839a87153400e806e22d73c9203eb0a2191bfaf4a389d6ea26bd81d498963aae59c926375a61cfa4"; + sha512 = "799faf34055822487b442da86ceecc7dbe36574a76a8e04e4fd76852182bd75d773b69c0ed19fb33c5dc23bc4ac6c0c21a6694256398629a984a1d2ebd63a63d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ia/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ia/firefox-68.0.2.tar.bz2"; locale = "ia"; arch = "linux-i686"; - sha512 = "1bb69219eb12abe2d731d600dfe35511cde083de13d2277868970a52a77a558d5dedac074a45f3bed3d01e18e2b7c5695d4831638ad194217f977efdc38f3e6b"; + sha512 = "ebf9d05baf6b4963b0b5ff25b2747b3a90e4b664bca1c865638190dae85891499e3b1c5b3b656f83896117b430556efee039bd58a5728573e3be47e1da4b77bc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/id/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/id/firefox-68.0.2.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha512 = "87698f7d5ce9f074b2dbcdce00fe864f36621107df7422e053b0db6ae76947238784f7ca0a045517800d3a936e065cca3e74e6bd9cd04a265d7eac3cf2e0ce4e"; + sha512 = "0268c27fac89400ac179778f9e17b8b1e5d1f1e6bb9817576e03f4985f0aa7a57444eecdde69c1f7800e5128cdcb5829f62a4ebdce6124e3f4832a9fd44022cd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/is/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/is/firefox-68.0.2.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha512 = "b1ef9f02c286a0ca274367394f72b980b9c59d45e4c629611c3c7dc55677e90bf9f44003038740b22d660e5e950c489acc18ef7317e67f211c629f0b86017264"; + sha512 = "818f4173ff8e9bc01576c0d416b39519bcaf33d83760e91d1b4f8ba8e28389b81816c15f5d19f3fcaf6a8140b2bd8fb92e29a844e2da05f9d6344542c7b5f615"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/it/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/it/firefox-68.0.2.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha512 = "8507dba0adcf5ecee9224e0b8cc20b5f57ce1392affde80486a3389e04b1cb1543208cbaf151b56ed26e6124af863365805a242c6d1106842fee8547363ba11e"; + sha512 = "6710ac5a6c98dd9010712acc29239f9f102bda2458d16fa3394ff0ef6128486b759c3e68d568614f793eb0959fae908f3fc519dd52fb27a7495956d1e66c6f53"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ja/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ja/firefox-68.0.2.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha512 = "ea41d66d37174c936b56a3bb86d707657814eba1e99daff7be915a4ce53e35ee64d7ce6c2da0d640fd101b7cb79ea41bb49b4dac144d8741b9f217a2a042f85f"; + sha512 = "481206f6a36704b06d207f6b4eda96c307f61a2700a3da6fcf659c6b12c7880ca5ed69f1c3ae9da42d774e84e2e9c621095cfe3fd4c8e175304945272d51bbdf"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ka/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ka/firefox-68.0.2.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha512 = "793cfb78a809f8e7acefba260197665980b8b5aef599d9a3a2dceb4e8dc83034c98ed04561abf9e4e6740859ce07f647e544d2bb4244b505ba248c8af3147403"; + sha512 = "ea1bbb5f759060a45a62b605d82db9b560a05ce9f0f92b907bc92da1a30229e312bdaca3e78560ed698100099f1bf261b71abccb353930a77b9908d0b0862ee7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/kab/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/kab/firefox-68.0.2.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha512 = "50ce6f27b5ca77048600db7d1f50c04a363dbf5118dc23b06395ec2fee401a205725aaa99dac3b21b5660fabca3ed3bff2a996a15ccbca4d35e73553f46a97a9"; + sha512 = "4855f086d6d4028d18a6dfcb3da366c667e16a84e3b81d6e58408a2dcbeba77fc01668b90290e4ed49334d2afa5454b866dbc2ea3f4b446d5eef861bbb5b03cd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/kk/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/kk/firefox-68.0.2.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha512 = "8b5de334b237751201679b8d54f2de5ee384182395cfec120bc2eddaf443e0fd896c1594e92e2ba71943f2020fefe44b691e2286fe9ed1c21d3fc9e11c763300"; + sha512 = "e48bb95cdb2361cd274e064e879ffef3d4cf25c15712c716c278a16b31636b3ffe3585999f7477e58b26ec5fa4ba0a3d5c5e80f7af97b305aec3e899867e66ba"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/km/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/km/firefox-68.0.2.tar.bz2"; locale = "km"; arch = "linux-i686"; - sha512 = "1a64f732f2c19858cba7e109beb86726d1e51dd2a2b5a09aa380fc515041aada110eb90649c4c6ece5aa8a5857072968f4a2d43f3484dc2e311c61eeb4fb49ee"; + sha512 = "3a987d55f2b113fe7ca2f47457d786b5d851605edc94e3a6467a2ce127075be4a2aa924892e053da6b9f854de60555941a875e0b94c8a8d736d84c791d5d7803"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/kn/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/kn/firefox-68.0.2.tar.bz2"; locale = "kn"; arch = "linux-i686"; - sha512 = "149029ae8bd3a81151a17c00b7166e02e22bb9f737bae1150ed8f3fbc28becf19234a1a874ca0aa6400e1b0eb75f14465546ec7e0c5bf09b8c434a5ed9f651da"; + sha512 = "36331d0774b85403d294b1240e1348a1aea9ea52df8ff8013a69f0b82cb5e8c799c87e3fbc9fdf0fc20f3537d0124d7dc291cd8fbc34063e4bd3b17c6810ea7c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ko/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ko/firefox-68.0.2.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha512 = "f7433f3da565969ae1e92ffb4d2fb48a2b513214b08e611de2b8cb3efadf16fc6af871b470916b0611d10eb616fec09e37648c98366ec0f6211693a9f3434df2"; + sha512 = "7534ba3a9df96088180efd8a9c1df50e674f1749edb9103c6efc6db8c72d8e82aee09081ad3a956b07e0ab6c57e8c8194317d39a933da977dc0afdd1142d1c2e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/lij/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/lij/firefox-68.0.2.tar.bz2"; locale = "lij"; arch = "linux-i686"; - sha512 = "6b20b466ae15b9484c427a65388d099073eabd54f938c75eeaa886ba5db73bd1f91ba207308941b2229ee38f8dee4201599d1c11e228ef6a2e13ba0d74f7c427"; + sha512 = "affa07c2eb1590fddf0c30c670b6c7b6f9f6969dd43858e277a750ac524063f5da5166d7d8326e1823e0258ec5f214d241a08dbe338a3cb979de8b19a9799009"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/lt/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/lt/firefox-68.0.2.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha512 = "61a85a29003930d8deca7ba76269f437ccb47680ce8ae12b9c9913e79d6c6e6594297f890eb5a5e641610a38c1016a1947a866b8f79ca83ff316e925df8a8bd6"; + sha512 = "416a8a66b087dea18c577d839c151f958c084e8ee95fb0fd7f17a45015baed961de0ca138fcc12f58154f480df15d294d822dcf1f218f4c8082c9193ad57710d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/lv/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/lv/firefox-68.0.2.tar.bz2"; locale = "lv"; arch = "linux-i686"; - sha512 = "21ca42042d0695c9a7c5c5b5866b1fb54e65f76543f42c45efd0436fba73f5989894e0d7b67e496b101674fe3e7f0c1c374c903c9b6bcf9f9a1c6730c5c865a8"; + sha512 = "1c5359efb53b0d4f0d9f33a321cac45ed112ede997c06b2279546183dd005c186f107701c895ced27a76086ca71374a49a067f5599a0d2ff166432b7eb7629df"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/mai/firefox-65.0.tar.bz2"; - locale = "mai"; - arch = "linux-i686"; - sha512 = "7108acddbab96033cf9cf822d93f0ef3c3ba46e75ebe09f5f1d211b7c5cce12fdf7e7bcf06621b1bbde3478441893fae8ff919a0952d76fc0f8e482a2bcd811a"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/mk/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/mk/firefox-68.0.2.tar.bz2"; locale = "mk"; arch = "linux-i686"; - sha512 = "6e0c7a12413d351ff5cc95ce56df95e6f1bc4ae320db45dd988d0dd488f525820c62387aa43003744e3cf4040f91497d4f36b4bbe4a636f1a2d010d0a9479d32"; + sha512 = "db44f22e19d505a590749ac98d7b84354106d421e4a45eff70986af2c9d2ac581a0bd84cfa103196ae4cdc17dd1fe5d9f0cf0c710ee0fb5a0ff7701f6de5253f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ml/firefox-65.0.tar.bz2"; - locale = "ml"; - arch = "linux-i686"; - sha512 = "03e6525cc76cc4a1f2333dbb67a3f29976d3d9068d73054711f561bdad0a8da9d14abc3f79df596696ff2c28fb51147010b7351052f3b3a8d0913b94e17b022c"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/mr/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/mr/firefox-68.0.2.tar.bz2"; locale = "mr"; arch = "linux-i686"; - sha512 = "43ef1fa19c05096b3465f985ebcd91e7581a29a380574cfa763269ab6c7f760241645d18e9475757069b7680e696be17c2e92028874c57c31b8bc2d1fc5d8be6"; + sha512 = "db73d7706ec4b87e76f5d174f22f9b032d75d9aebe6001ecdaa7c2c8fe5db897efd57f0f2ec482a5ef22e629a6233f5ef7c5df19566a3df0f0ce58ce008a22fb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ms/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ms/firefox-68.0.2.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha512 = "ad84ff57cd2a3048862f8572c3084c2fdacf04dfd080f4679cbe5b6cd1efd9535d4fc8298aa1225067f5a3e79a9d512d933e9257d1db2df0875dab8d9259352d"; + sha512 = "23dad70a4757bf8e9c67328bf43b9be2a9d6e7f88ecc9c2980314e68eff269f996535f43f9fb93419d81a2e7c922327e5642c191e15582cdfcd3e420433e4270"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/my/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/my/firefox-68.0.2.tar.bz2"; locale = "my"; arch = "linux-i686"; - sha512 = "f6b51ce2a6f67193d3410bcf5210fba114d2b4a626bf2cc98930143679cb72e00657ae44116295d3fae92aaa63dbf5393a52b8d2123d024089c5efd0737200da"; + sha512 = "ba595429b7c637d06f703ae6bb1cb5ec6095a7f6fed7ea64a0b39825921f49f5f827c33a5cf3cd0bccc4b6398acbf4119a147014f1d2db1d8bd4b3e72b7733d2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/nb-NO/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/nb-NO/firefox-68.0.2.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha512 = "8b416187023963128779f06cfd28db4a7bd6bed7b7bdaadc8396c51acf0964c8a1e1230082c9528e0f3ce2ff54a84383daa36e72bdacb6bf5768214b7a497edf"; + sha512 = "8af331ca56c43c43b42061de4a7686bd2f944de845f9d94d088a4c1c913e1d7376abfd175dcebbb3ee78fac7fbea407cbdb2b81382919d12fca021dfccf59feb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ne-NP/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ne-NP/firefox-68.0.2.tar.bz2"; locale = "ne-NP"; arch = "linux-i686"; - sha512 = "0fec4f2b6b6944a29ef2ff0ca30c4d770d2a956564b697fcfb7a72517c488a252d990a31e9dea6ba36d9b5ee9c38f39dc8446edf2ec7caf946244bff3f1d18b8"; + sha512 = "497001fbf28df53edf13aec04de313a1353ce0eae894905d6a33b0c182ef589160eca2f0a8fc18d8e1644f573cd74de3e96dbf43141b05b6884be04fde28be76"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/nl/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/nl/firefox-68.0.2.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha512 = "7fb3c8c0e441ec55c9a79ba13ac1f7d17ce3612ae6f6ba7e23a31bc2d854fc41abd38a4caa1991b9b45fd58bc2d8386c2875adfcbf40b07cbc8bf0641a4b8b10"; + sha512 = "6c0836da50f14accbf536570bfea5fe4e587e87fe2e4203b2c94052476994949058ee2418f862312a95627730d648832f6a0ca39690513c6d96070108630e43d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/nn-NO/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/nn-NO/firefox-68.0.2.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha512 = "744f32b81f4a4287abc812ebe7209082c4c2f8637c0a135a9ce83377903e97e3d938037827283160a141ab89b51060313bac82fb93af8f24c71b3aabdce9a293"; + sha512 = "89be8b53fdc39bb39431584ea25cd6e5d660f75756d6c45f0157c1eb387cc625e927931c1cf0d1587c0819fef9635cb3ac2319af6a6f35825a6170518070cbd4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/oc/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/oc/firefox-68.0.2.tar.bz2"; locale = "oc"; arch = "linux-i686"; - sha512 = "2722d769575b28e581da820a3a6bf8b407a1c4018d97c2e7315b15642f4165efcc44860710141c50829a8d5d57429e9fc47565852ea9c2c018504f3a4f11739e"; + sha512 = "6b34edad11c141398d329d07e126eddf03bfd395bacd6856e947771ea65e274e78f96784f695542280f4530c395ebd0011946f1bdc95c1bf5c0f96ae8d7ea707"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/or/firefox-65.0.tar.bz2"; - locale = "or"; - arch = "linux-i686"; - sha512 = "3f757e2d19540ac963cf14d884079fc648f1ea4c1281c86ff342971fab250c4ec09708c54ce0fef7eb343db057bc6bf5e15971e70123212d8a1a90bdaebcde8d"; - } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/pa-IN/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/pa-IN/firefox-68.0.2.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha512 = "35bd0bc1938d6fec372356721236afa3d1a794bda57eb11d7bc86601951825a143c1ff028ad6f0b4cd50e068a5a233a08108d71035abf2cd69213b3af794849f"; + sha512 = "025cdbfa14ae385fd87e71296b67f9b0313c60ac56cb3d0f2734bd803e990b846383d64f65ca9a3d643fe0f2fd678d54a2b2000c7dca1cff73e5ec47acf1e53d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/pl/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/pl/firefox-68.0.2.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha512 = "34c91e7c2434a233a6f458b28806ac110e4382a1f685d485a2f338d66e27ec362b0424a107c8bb17dbd22ba58c0a1bded15e1bbe5ee1de76a460aaf2dce9334c"; + sha512 = "569b0dabacb30f8ed02cb1118a062c1e212c4b688a104d9afce8d846572a92723ca1ebbc495dd0e97c3365ab3e5010b9d812e88b111f40a6e87b14c646794dfb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/pt-BR/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/pt-BR/firefox-68.0.2.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha512 = "09e247ab05f9c02bb2ede75cc46e321a518629dfe2395be8536af77601a91d4acd1df4c1a34b54193aeaf24b0cda54582ed204258e9754126dc021e04066fe7f"; + sha512 = "36e7914fee752f7cbddce0ec5e48ffc0f45a20dc4b62a825488ddb0b49c36f91d2df257ffe2b551bba2261d7786291a2a7fb3f518cef5c6f9b449205eaa733be"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/pt-PT/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/pt-PT/firefox-68.0.2.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha512 = "3ac57c58851403af43cc01010cf8e55b734b5d1d2db60c3b6457dfc1def483d6918ccb0eb6cdc3c4a552ed8cc5975b8534bac3e644a5f7d08fb9f2b168c7c3b4"; + sha512 = "fc6dcdec3e6d53111929a70f3cd22948006d9a5bc2c6e4cb305a07c4bc8ee0469297be01d85b68017a026e011c35252c25032156ff383cc708c470fabcbc7198"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/rm/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/rm/firefox-68.0.2.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha512 = "b73742b939435bbb8d2a0d307abff82f777ba015b808eb2e7e6789ca93d33f658ed2e550ce917f5318ffd9ee72d92b2a47b43e564a4a79f0293560555a69cf76"; + sha512 = "d5b2631fc3076cc251cb82e6c0930f7890750a73902480033ad0b5ec91aecc6f15c01e1e79b88ee4b2e74588a76cd0017fa520175559e1e68a6edd4149cd556d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ro/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ro/firefox-68.0.2.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha512 = "e53fbee87ed143d5f2f7c4190b648dfebf44881beac3ee866fbac2bb8170d08c2333b8ed634696c08dd18d26acc5bbf80b5dbe9544c5a6da48175acf4708d408"; + sha512 = "d88ea2b05b262e010b0e447f4480149ddc79874dcce3925d3768211d7016cff99a9a0aef594c7185eb81988edfa46497dc442a4d825358c821461cc0f689c593"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ru/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ru/firefox-68.0.2.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha512 = "9a05d119cebb97b022ac038c36dbfd6ecf13054027b419ad37d07d6b6cb84e4bdf77c651603f88da62d116a046dec77e43c333ee370514ddcb63d53b1754c00c"; + sha512 = "cc28f64e1ba7aa4771667a09e3ef9a2dfbe1af3c3ba552f14d16bf338eaa178c32eaafa39b6c0592e690fc10325b88966f555283669d241fe05bef113e533c02"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/si/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/si/firefox-68.0.2.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha512 = "fe70747cdf4329fd860a05ad8f69e452dce9a8a0a4e65c9ab84348b870a628746de1a74f66db42caa15da7ac5d34b071aba6095aacaa818859b041052f8b4df4"; + sha512 = "9119703b2edc30023b0bf81fdf6083a46544273a5b0dbe0f1d76c00020f1a093ea1df2592375bff9e81af1190f7fbd269f0387e311211a8d806e7519164b24af"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/sk/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/sk/firefox-68.0.2.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha512 = "8c76b164b6c2e9431dd23131a46fc613e24896cc2d02d67dde78ad4f7d2dce4baa1e08bb9120c02a243743231a54eeea68e10f2d0e1c44442e53533482afde13"; + sha512 = "fababc6cd6644be1404ee1b6ab6f0c01c161b13539702a932e67062bc6d7ca350d0b7c88957d0617b404d892b93fff1b736d93a4061ca0b154e2cf3fbd0972ba"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/sl/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/sl/firefox-68.0.2.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha512 = "26ed90dc4b5e1dcff81301eeb75fd6729b0a94ad0993b438867b8ae4287a03c20efbc425b8130c948bba46e71c654e6aa410a28a20fd407ca922b77f166e0feb"; + sha512 = "5e16fd5446f742f259fcaaab1bf15e7d56cfd412065c268d625d87fb812312e6caffbdf0502d8d20bd9478bb4b2b3444604d8a1aea7a006c0dfe3d8120b2c1fe"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/son/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/son/firefox-68.0.2.tar.bz2"; locale = "son"; arch = "linux-i686"; - sha512 = "11809822767088ab739e47b6774374d619384e4ee2a69690fa5624a6168c0a3fa763b85b573a1bbbd0b97f50c5738999307d91880cde14a4fb3c6ae17b484224"; + sha512 = "0a36b7350d7cff22bd583bf7d811fac358046ddb0b85da52750e1687d7b82487ccac8575472683302c9a814abd07f81b227db3f2ecc8562f5d069d95045ba7d5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/sq/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/sq/firefox-68.0.2.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha512 = "22f699cc9a59332582149087418596dd8e6b138b1c7010344f4471396b3a69ebede79d924dfe5e025d82054f20f240356d4232e284d33f8805e4891bc7b30459"; + sha512 = "b18398395e0ea078117987704c962399a385e0ea2e4568291d8449d9fcf5f1784e4074b990e0e5e8a5b6b9dbd789772eeed689e722f4179e3f451064fb08ac92"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/sr/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/sr/firefox-68.0.2.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha512 = "b2431890e7cdf5e1563387d9c566beb3c083d81a0f11c5c1843788b7bceec927cc55bda1a92f605210aaf2960ab4bd0fd42e4d558749b5623eb7f3fab0d7800d"; + sha512 = "469ea3344ef2893333b7c967a72a08a86c24ce511f8d45f95ad159def204e2d5a2665829ddcf6783cb0602f0013f3924045410609b9e2a921f43c79750435648"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/sv-SE/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/sv-SE/firefox-68.0.2.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha512 = "c2b7399f1b6f75440a725289df834af2defc77c773ba73f0b330689244167abcc32190e185ade9dd3c8340f6a06fa2e026c0d4c426e90471a75cb1e79b45a086"; + sha512 = "4d9080b2bb8d3dbabd2ba6a14d0db8e5a983f5ab077d80dc7ddf892a82c1508b1b9bfe9b346d009b95a1ae89f300e72e37479c905b70ad924fc9d1c34f1317d4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ta/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ta/firefox-68.0.2.tar.bz2"; locale = "ta"; arch = "linux-i686"; - sha512 = "b29e0db021afcfb246f980a2f5afb434c52be5324985877d2ee547a097d17ec77a7ea3e2ac9c2dc558236090954b1cba4a0fcaa10698da1425dbd5e31406aa4d"; + sha512 = "347edc360548f3a254c1eeaec47f1ece912fc79a0c19d3d9a1e455ec847749d8d531aef8bb44e2875afc4618a1eabfb77aaf581788138bb0a8607a443699da91"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/te/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/te/firefox-68.0.2.tar.bz2"; locale = "te"; arch = "linux-i686"; - sha512 = "709ae0eeec912c6349bd2b41a5cd10bd58ee5279e50e70623be93d0fef1655c5e0ff74df47d60c6ecae5883c5b6102ad0a4d61924cd848973fbc10bbe112c18e"; + sha512 = "806a97bdf4030dd8de57f3e2af8e06d71ea17891f4cd08df3cb3e71bfef372f1029b78ec6a16bb6ec96dc5113a0e96616e2fb907e11c98b6f33c9b83f67d9c37"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/th/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/th/firefox-68.0.2.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha512 = "032fb59d5a502d593c1ee5f05d51d0d2a88bd3dd081857e27c9d429ae337b37252a0f0bc0c261adc71b8b2b57aa7b4321ed8ce3bac04eeefabcf97ccec4b2f78"; + sha512 = "a453c97807c46eae98a1fef4184dfe06c3101240e5d20c389b9cfdaf4dfb4c2c3c38758d0451789d326c2d76249651c2d1a7aa4134e514b9de3ef966e4bed60c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/tr/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/tr/firefox-68.0.2.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha512 = "3ace64d030e0012f9acd06e242c52408f6b8407f65834d34b203910a18c459c6dd8a23e80d4b11b4d4792edb2ff71769c75e90ff919e80d7da71a2341115e571"; + sha512 = "79fc0d00870d27ea7485c5807c5e4753b036364f68f71b3a66e11b23e8a6f5498af35411d5baf1dcebbc8959b3ec1870faed90b136aec6a71ee2ccc59832cd3d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/uk/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/uk/firefox-68.0.2.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha512 = "730b747ccdb0b31738e2272f9763b9aad992e241dfee8d067122886b625a5b7f83d53fdcb8052a00ee68ac76512c8ab97097a640cbad0f308dcec1f4cd040503"; + sha512 = "87176598ed9df72c6b05a2469ff404520f8e4171ee42cfdecd4dd461c761bddaaf8735ec9a9d9e651299951a656dc9189c2bf91f2ad896ff387706aaf31614b9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/ur/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/ur/firefox-68.0.2.tar.bz2"; locale = "ur"; arch = "linux-i686"; - sha512 = "d10f6a9f708f27c7d935f190332c7db7d789f72a005a6474e127e6061a1e49776734c6e1a90e84213d8734c2ba1ec39063cafd5518ba482dd82bac323034b883"; + sha512 = "761089a4b9a9df1e8aeb61567db383cc7f1068a56a857f9ddd9f306ae0eadd0f1fd0d911243b86dbd7cf755a1d0d9e2728f710d5e4855286c897fbf1bae3621c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/uz/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/uz/firefox-68.0.2.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha512 = "223fa76b020c0cb9aa9fc59344b0cb103088f2ae0c3fc8037f8a6c3055898312638769b51e98107864850b1286d11e711d4225b5bf570e0fb3f7c59ee740b197"; + sha512 = "16838912099255e703f45537810f9a125f162da46654356da5d7284cf5976af0ba47e77b5658f7a95ff63287379411356521fca2250daef3f8ec299231c561c4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/vi/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/vi/firefox-68.0.2.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha512 = "e3d1a93bea5f9b7b02e43a54f36544e0e7f6cf5553c5d3e42ff5227396eb66e62570917c5a6317fa21da3510251efc9d3d3524bc64f19fcae590825c75ce6896"; + sha512 = "26c8651de12544aff98d6657bcd3dfce453d394dd0f4e6045d8a29d8ffeded020335bfc958984e1b79dcc4b8bf4c3b3a29c1b20fb62c0df7a6dc76478f72dc65"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/xh/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/xh/firefox-68.0.2.tar.bz2"; locale = "xh"; arch = "linux-i686"; - sha512 = "661183377c558e2355b9ce220f73807818d25b82e9bfc05c013cd58bd35234d73d979a42542b16c46b1c3c3efac0d9524ca28bb9874ad9c969b24c2a96d601e9"; + sha512 = "222a0a22c6e41a6f755ba881097c2c354924bfb809f3a04b588853da667444f8c922fda9bea0f3c7bc82f46938f86810d2cbd5900960180a2a25f9cffaac9088"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/zh-CN/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/zh-CN/firefox-68.0.2.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha512 = "227ce1a00441fd3e5914143b00c2815544f989cc918e978700133c1232170a145fc2f0ce139989f3b9857387928439282f44bb735f4ee8dc7ed881fd006dfc62"; + sha512 = "3a3eea1dbb9c42c1740ee67b68e71ce84ef1f3f14a52c069a17956911464570429b3576e29ec7370a857dbcaec143bc4ae65e3f01e319b7ca065899e8f864eee"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/65.0/linux-i686/zh-TW/firefox-65.0.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/68.0.2/linux-i686/zh-TW/firefox-68.0.2.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha512 = "211b738aaeb0716ab60cf2923be9a4cf6bc38f8536a32c05cf713f987249ed3a735fc6ce07689fd8181230039a4b2e2a367b72743730672856fe4b02e41444cd"; + sha512 = "a8d53ff606b7bc82dfbec77b299b8f69985472486706f79c960da988063a0e86d232eefb4734b8a624e97e9849fad3e36a483190b8cbc6c3210b2c2d79bd2b25"; } ]; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/update.nix b/pkgs/applications/networking/browsers/firefox-bin/update.nix index ee022e329f9..d6593be8890 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/update.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/update.nix @@ -1,5 +1,4 @@ -{ stdenv -, name +{ name , channel , writeScript , xidel @@ -8,6 +7,7 @@ , gnugrep , curl , gnupg +, runtimeShell , baseName ? "firefox" , basePath ? "pkgs/applications/networking/browsers/firefox-bin" , baseUrl @@ -18,13 +18,13 @@ let channel != "release"; in writeScript "update-${name}" '' - #!${stdenv.shell} + #!${runtimeShell} PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin:${gnupg}/bin set -eux pushd ${basePath} - HOME=`mktemp -d` - cat ${./firefox.key} | gpg --import + export GNUPGHOME=`mktemp -d` + gpg --keyserver hkps://gpg.mozilla.org --recv-keys 14F26682D0916CDD81E37B6D61B7B526D98F0353 tmpfile=`mktemp` url=${baseUrl} @@ -49,7 +49,7 @@ in writeScript "update-${name}" '' curl --silent -o $HOME/shasums "$url$version/SHA512SUMS" curl --silent -o $HOME/shasums.asc "$url$version/SHA512SUMS.asc" - gpgv --keyring=$HOME/.gnupg/pubring.kbx $HOME/shasums.asc $HOME/shasums + gpgv --keyring=$GNUPGHOME/pubring.kbx $HOME/shasums.asc $HOME/shasums # this is a list of sha512 and tarballs for both arches shasums=`cat $HOME/shasums` diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 1219f3bb895..e6f143c9762 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -4,14 +4,14 @@ , isIceCatLike ? false, icversion ? null , isTorBrowserLike ? false, tbversion ? null }: -{ lib, stdenv, pkgconfig, pango, perl, python2, zip, libIDL +{ lib, stdenv, pkgconfig, pango, perl, python2, python3, 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 +, rust-cbindgen, nodejs, nasm, fetchpatch , debugBuild ? false ### optionals @@ -30,11 +30,13 @@ , 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 ffversion "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 @@ -92,6 +94,22 @@ let browserPatches = [ ./env_var_for_system_dir.patch + ] + ++ lib.optional (lib.versionAtLeast ffversion "63" && lib.versionOlder ffversion "69") + (fetchpatch { # https://bugzilla.mozilla.org/show_bug.cgi?id=1500436#c29 + name = "write_error-parallel_make.diff"; + url = "https://hg.mozilla.org/mozilla-central/raw-diff/562655fe/python/mozbuild/mozbuild/action/node.py"; + sha256 = "11d7rgzinb4mwl7yzhidjkajynmxgmffr4l9isgskfapyax9p88y"; + }) + ++ lib.optionals (stdenv.isAarch64 && lib.versionAtLeast ffversion "66" && lib.versionOlder ffversion "67") [ + (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 @@ -120,7 +138,14 @@ stdenv.mkDerivation rec { icu libpng jemalloc glib ] ++ 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.optional gtk3Support gtk3 @@ -135,23 +160,21 @@ stdenv.mkDerivation rec { ] ++ lib.optionals (!isTorBrowserLike) [ "-I${nss.dev}/include/nss" - ] - ++ lib.optional stdenv.isDarwin [ - "-isystem ${llvmPackages.libcxx}/include/c++/v1" - "-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10" ]; - postPatch = lib.optionalString stdenv.isDarwin '' - substituteInPlace js/src/jsmath.cpp --replace 'defined(HAVE___SINCOS)' 0 - '' + lib.optionalString (lib.versionAtLeast ffversion "63.0" && !isTorBrowserLike) '' + postPatch = lib.optionalString (lib.versionAtLeast ffversion "63.0" && !isTorBrowserLike) '' substituteInPlace third_party/prio/prio/rand.c --replace 'nspr/prinit.h' 'prinit.h' + '' + lib.optionalString (lib.versionAtLeast ffversion "68") '' + rm -rf obj-x86_64-pc-linux-gnu ''; nativeBuildInputs = [ autoconf213 which gnused pkgconfig perl python2 cargo rustc ] ++ lib.optional gtk3Support wrapGAppsHook ++ lib.optionals stdenv.isDarwin [ xcbuild rsync ] + ++ lib.optional (lib.versionAtLeast ffversion "61.0") [ python3 ] ++ lib.optionals (lib.versionAtLeast ffversion "63.0") [ rust-cbindgen nodejs ] + ++ lib.optionals (lib.versionAtLeast ffversion "67.0") [ llvmPackages.llvm ] # llvm-objdump is required in version >=67.0 ++ extraNativeBuildInputs; preConfigure = '' @@ -188,7 +211,13 @@ 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") + # 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-* '' @@ -239,8 +268,10 @@ stdenv.mkDerivation rec { # and wants these ++ lib.optionals isTorBrowserLike ([ "--with-tor-browser-version=${tbversion}" + "--with-distribution-id=org.torproject" "--enable-signmar" "--enable-verify-mar" + "--enable-bundled-fonts" ]) ++ flag alsaSupport "alsa" @@ -283,6 +314,9 @@ stdenv.mkDerivation rec { ] ++ extraMakeFlags; + RUSTFLAGS = if (lib.versionAtLeast ffversion "67"/*somewhere betwween ESRs*/) + then null else "--cap-lints warn"; + enableParallelBuilding = true; doCheck = false; # "--disable-tests" above 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 a0f581d8473..18d31356989 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/fix-debug.patch b/pkgs/applications/networking/browsers/firefox/fix-debug.patch deleted file mode 100644 index ba92bbc4740..00000000000 --- a/pkgs/applications/networking/browsers/firefox/fix-debug.patch +++ /dev/null @@ -1,77 +0,0 @@ - -# HG changeset patch -# User Michelangelo De Simone -# Date 1479198095 28800 -# Node ID fde6e9ccfc72fbc0fcd93af7a40436b216e7ea1a -# Parent 687eac6845a77d2cac5505da9c8912885c2a9e57 -Bug 1013882 - TestInterfaceJS should be packaged only if it's available. r=glandium, a=jcristau - -MozReview-Commit-ID: IEHesdoU4Sz - -diff --git a/b2g/installer/package-manifest.in b/b2g/installer/package-manifest.in ---- a/b2g/installer/package-manifest.in -+++ b/b2g/installer/package-manifest.in -@@ -570,17 +570,17 @@ - @RESPATH@/components/InputMethod.manifest - #ifdef MOZ_B2G - @RESPATH@/components/inputmethod.xpt - #endif - - @RESPATH@/components/SystemUpdate.manifest - @RESPATH@/components/SystemUpdateManager.js - --#ifdef MOZ_DEBUG -+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG) - @RESPATH@/components/TestInterfaceJS.js - @RESPATH@/components/TestInterfaceJS.manifest - @RESPATH@/components/TestInterfaceJSMaplike.js - #endif - - ; Modules - @RESPATH@/modules/* - -diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in ---- a/browser/installer/package-manifest.in -+++ b/browser/installer/package-manifest.in -@@ -554,17 +554,17 @@ - @RESPATH@/components/PresentationControlService.js - @RESPATH@/components/PresentationDataChannelSessionTransport.js - @RESPATH@/components/PresentationDataChannelSessionTransport.manifest - - ; InputMethod API - @RESPATH@/components/MozKeyboard.js - @RESPATH@/components/InputMethod.manifest - --#ifdef MOZ_DEBUG -+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG) - @RESPATH@/components/TestInterfaceJS.js - @RESPATH@/components/TestInterfaceJS.manifest - @RESPATH@/components/TestInterfaceJSMaplike.js - #endif - - ; [Extensions] - @RESPATH@/components/extensions-toolkit.manifest - @RESPATH@/browser/components/extensions-browser.manifest -diff --git a/mobile/android/installer/package-manifest.in b/mobile/android/installer/package-manifest.in ---- a/mobile/android/installer/package-manifest.in -+++ b/mobile/android/installer/package-manifest.in -@@ -381,17 +381,17 @@ - - @BINPATH@/components/CaptivePortalDetectComponents.manifest - @BINPATH@/components/captivedetect.js - - #ifdef MOZ_WEBSPEECH - @BINPATH@/components/dom_webspeechsynth.xpt - #endif - --#ifdef MOZ_DEBUG -+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG) - @BINPATH@/components/TestInterfaceJS.js - @BINPATH@/components/TestInterfaceJS.manifest - @BINPATH@/components/TestInterfaceJSMaplike.js - #endif - - @BINPATH@/components/nsAsyncShutdown.manifest - @BINPATH@/components/nsAsyncShutdown.js - - diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 09c1e5dd8f8..20509439d2f 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -1,27 +1,32 @@ -{ lib, callPackage, stdenv, fetchurl, fetchFromGitHub, fetchpatch, python3 }: +{ lib, callPackage, fetchurl, fetchFromGitHub, overrideCC, gccStdenv, gcc6 }: let common = opts: callPackage (import ./common.nix opts) {}; + # 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"; - ffversion = "65.0.1"; + ffversion = "68.0.2"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; - sha512 = "2crb46l5r0rwmzr1m8cn9f6xgajwcvansnplqg4kg91rf6x8q0zqzfnmyli9ccsbqvh7bqd31dmy14gwjskasqc4v103x9hchzshxnc"; + sha512 = "2xzakpb6mp9hjqkim353afv059i4zfpmhflhv3l3qzajgjz36cacbmp4bkn4cghinm8krhp8z02264ww0bcraryjjwn5q0dzljrha2w"; }; patches = [ ./no-buildconfig-ffx65.patch ]; - extraNativeBuildInputs = [ python3 ]; - meta = { description = "A web browser built from Firefox source tree"; homepage = http://www.mozilla.com/en-US/firefox/; @@ -40,7 +45,7 @@ rec { # 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 { + firefox-esr-52 = (common rec { pname = "firefox-esr"; ffversion = "52.9.0esr"; src = fetchurl { @@ -58,19 +63,18 @@ rec { 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"; - ffversionSuffix = "esr"; - versionKey = "ffversion"; - }; + }).override { + stdenv = overrideCC gccStdenv gcc6; # gcc7 fails with "undefined reference to `__divmoddi4'" + gtk3Support = false; }; firefox-esr-60 = common rec { pname = "firefox-esr"; - ffversion = "60.5.1esr"; + ffversion = "60.8.0esr"; + src = fetchurl { url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; - sha512 = "0fvjw5zd8a9ki0a8phavi6xxfxbck21vj0k8415c5sxv48fwhqdhlnv3wx7riss4rjy9dylhr5xpa99dj9q98z735r8fxb7s3x3vrjz"; + sha512 = "0332b6049b97e488e55a3b9540baad3bd159e297084e9a625b8492497c73f86eb3e144219dabc5e9f2c2e4a27630d83d243c919cd4f86b7f59f47133ed3afc54"; }; patches = [ @@ -79,6 +83,8 @@ rec { # this one is actually an omnipresent bug # https://bugzilla.mozilla.org/show_bug.cgi?id=1444519 ./fix-pa-context-connect-retval.patch + + missing-documentation-patch ]; meta = firefox.meta // { @@ -91,6 +97,28 @@ rec { }; }; + firefox-esr-68 = common rec { + pname = "firefox-esr"; + ffversion = "68.0.2esr"; + src = fetchurl { + url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; + sha512 = "0dyjayrbcq6dg8vmzbf7303aixnhpd6r777chxpdvqq892rgvw5q4f8yfb6pr8j978hahn4dz968vzmi6sp40y3hf62hnzdqpzd2bx1"; + }; + + patches = [ + ./no-buildconfig-ffx65.patch + ]; + + meta = firefox.meta // { + description = "A web browser built from Firefox Extended Support Release source tree"; + }; + updateScript = callPackage ./update.nix { + attrPath = "firefox-esr-68-unwrapped"; + versionSuffix = "esr"; + versionKey = "ffversion"; + }; + }; + } // (let iccommon = args: common (args // { @@ -144,6 +172,7 @@ in rec { patches = [ ./no-buildconfig.patch + missing-documentation-patch ]; }; @@ -236,20 +265,24 @@ in rec { gtk3Support = false; }; - tor-browser-8-0 = tbcommon rec { - ffversion = "60.5.1esr"; - tbversion = "8.0.6"; + tor-browser-8-5 = tbcommon rec { + ffversion = "60.8.0esr"; + tbversion = "8.5.4"; # FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb src = fetchFromGitHub { owner = "SLNOS"; repo = "tor-browser"; - # branch "tor-browser-60.5.1esr-8.0-1-slnos" - rev = "89be91fc7cbc420b7c4a3bfc36d2b0d500dd3ccf"; - sha256 = "022zjfwsdl0dkg6ck2kha4nf91xm3j9ag5n21zna98szg3x82dj1"; + # branch "tor-browser-60.8.0esr-8.5-1-slnos" + rev = "9ec7e4832a68ba3a77f5e8e21dc930a25757f55d"; + sha256 = "10x9h2nm1p8cs0qnd8yjp7ly5raxagqyfjn4sj2y3i86ya5zygb9"; }; + + patches = [ + missing-documentation-patch + ]; }; - tor-browser = tor-browser-8-0; + tor-browser = tor-browser-8-5; }) diff --git a/pkgs/applications/networking/browsers/firefox/update.nix b/pkgs/applications/networking/browsers/firefox/update.nix index 07ae2c040e6..e12b552535d 100644 --- a/pkgs/applications/networking/browsers/firefox/update.nix +++ b/pkgs/applications/networking/browsers/firefox/update.nix @@ -1,5 +1,4 @@ { writeScript -, stdenv , lib , xidel , common-updater-scripts @@ -8,13 +7,14 @@ , gnugrep , curl , attrPath +, runtimeShell , baseUrl ? "http://archive.mozilla.org/pub/firefox/releases/" , versionSuffix ? "" , versionKey ? "version" }: writeScript "update-${attrPath}" '' - #!${stdenv.shell} + #!${runtimeShell} PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep gnused xidel ]} url=${baseUrl} @@ -31,5 +31,5 @@ writeScript "update-${attrPath}" '' sort --version-sort | \ tail -n 1` - update-source-version ${attrPath} "$version" "" "" ${versionKey} + 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 bc3a1ed844a..2a4db14b2c6 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -2,12 +2,12 @@ ## various stuff that can be plugged in , flashplayer, hal-flash -, MPlayerPlugin, ffmpeg, xorg, libpulseaudio, libcanberra-gtk2 -, jrePlugin, icedtea_web +, MPlayerPlugin, ffmpeg, xorg, libpulseaudio, libcanberra-gtk2, libglvnd +, jrePlugin, adoptopenjdk-icedtea-web , bluejeans, djview4, adobe-reader , google_talk_plugin, fribid, gnome3/*.gnome-shell*/ -, esteidfirefoxplugin , browserpass, chrome-gnome-shell, uget-integrator, plasma-browser-integration, bukubrow +, tridactyl-native , udev , kerberos }: @@ -27,12 +27,12 @@ let , extraPlugins ? [] , extraNativeMessagingHosts ? [] , gdkWayland ? false + , cfg ? config.${browserName} or {} }: 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; ffmpegSupport = browser.ffmpegSupport or false; gssSupport = browser.gssSupport or false; @@ -54,19 +54,19 @@ let ++ lib.optional (cfg.enableDjvu or false) (djview4) ++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser) ++ lib.optional (supportsJDK && jre && jrePlugin ? mozillaPlugin) jrePlugin - ++ lib.optional icedtea icedtea_web + ++ lib.optional icedtea adoptopenjdk-icedtea-web ++ 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.enableBluejeans or false) bluejeans ++ lib.optional (cfg.enableAdobeReader or false) adobe-reader - ++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin ++ extraPlugins ); nativeMessagingHosts = ([ ] ++ lib.optional (cfg.enableBrowserpass or false) (lib.getBin browserpass) ++ lib.optional (cfg.enableBukubrow or false) bukubrow + ++ lib.optional (cfg.enableTridactylNative or false) tridactyl-native ++ lib.optional (cfg.enableGnomeExtensions or false) chrome-gnome-shell ++ lib.optional (cfg.enableUgetIntegrator or false) uget-integrator ++ lib.optional (cfg.enablePlasmaBrowserIntegration or false) plasma-browser-integration @@ -75,6 +75,7 @@ let libs = lib.optional stdenv.isLinux udev ++ lib.optional ffmpegSupport ffmpeg ++ lib.optional gssSupport kerberos + ++ lib.optional gdkWayland libglvnd ++ lib.optionals (cfg.enableQuakeLive or false) (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]) ++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash @@ -127,11 +128,12 @@ let --suffix PATH ':' "$out${browser.execdir or "/bin"}" \ --set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \ --set MOZ_SYSTEM_DIR "$out/lib/mozilla" \ + --set SNAP_NAME "firefox" \ ${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 6043744f296..977b40e4a7e 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, at-spi2-core +, 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" @@ -52,7 +52,7 @@ let 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 gdk_pixbuf gcc-unwrapped.lib + dbus gdk-pixbuf gcc-unwrapped.lib systemd libexif liberation_ttf curl utillinux xdg_utils wget @@ -77,7 +77,7 @@ in stdenv.mkDerivation rec { 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 62be8bbc1d6..f2cc277f3da 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.18"; - name = "links2-${version}"; + version = "2.19"; + pname = "links2"; src = fetchurl { url = "${meta.homepage}/download/links-${version}.tar.bz2"; - sha256 = "0mwhh61klicn2vwk39nc7y4cw4mygzdi2nljn4r0gjbw6jmw3337"; + 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 f55d129df21..69beeb16759 100644 --- a/pkgs/applications/networking/browsers/luakit/default.nix +++ b/pkgs/applications/networking/browsers/luakit/default.nix @@ -1,61 +1,62 @@ -{stdenv, fetchFromGitHub, pkgconfig, wrapGAppsHook, makeWrapper -,help2man, lua5, luafilesystem, luajit, sqlite -,webkitgtk, gtk3, gst_all_1, glib-networking}: +{ stdenv, fetchFromGitHub, pkgconfig, wrapGAppsHook +, help2man, luafilesystem, luajit, sqlite +, webkitgtk, gtk3, gst_all_1, glib-networking +}: -let - lualibs = [luafilesystem]; - getPath = lib : type : "${lib}/lib/lua/${lua5.luaversion}/?.${type};${lib}/share/lua/${lua5.luaversion}/?.${type}"; - getLuaPath = lib : getPath lib "lua"; - getLuaCPath = lib : getPath lib "so"; - luaPath = stdenv.lib.concatStringsSep ";" (map getLuaPath lualibs); - luaCPath = stdenv.lib.concatStringsSep ";" (map getLuaCPath lualibs); +stdenv.mkDerivation rec { + pname = "luakit"; + version = "2.1"; -in stdenv.mkDerivation rec { - - 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 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 glib-networking # TLS support ]; - 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; + preBuild = '' + # build-utils/docgen/gen.lua:2: module 'lib.lousy.util' not found + # TODO: why is not this the default? The test runner adds + # ';./lib/?.lua;./lib/?/init.lua' to package.path, but the build-utils + # scripts don't add an equivalent + export LUA_PATH="$NIX_LUA_PATH;./?.lua;./?/init.lua" + export LUA_CPATH="$NIX_LUA_CPATH" ''; - buildPhase = '' - make DEVELOPMENT_PATHS=0 USE_LUAJIT=1 INSTALLDIR=$out PREFIX=$out USE_GTK3=1 - ''; + makeFlags = [ + "DEVELOPMENT_PATHS=0" + "USE_LUAJIT=1" + "INSTALLDIR=${placeholder "out"}" + "PREFIX=${placeholder "out"}" + "USE_GTK3=1" + "XDGPREFIX=${placeholder "out"}/etc/xdg" + ]; - installPhase = let + 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};' \ - --set LUA_CPATH '${luaCPath};' + gappsWrapperArgs+=( + --prefix XDG_CONFIG_DIRS : "$out/etc/xdg" + --prefix LUA_PATH ';' "${luaKitPath};$NIX_LUA_PATH" + --prefix LUA_CPATH ';' "$NIX_LUA_CPATH" + ) ''; 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 cb44e79839b..3f4f96d33ef 100644 --- a/pkgs/applications/networking/browsers/lynx/default.nix +++ b/pkgs/applications/networking/browsers/lynx/default.nix @@ -7,7 +7,7 @@ assert sslSupport -> openssl != null; stdenv.mkDerivation rec { - name = "lynx-${version}"; + pname = "lynx"; version = "2.8.9rel.1"; src = fetchurl { @@ -23,6 +23,7 @@ stdenv.mkDerivation rec { hardeningEnable = [ "pie" ]; configureFlags = [ + "--enable-default-colors" "--enable-widec" "--enable-ipv6" ] ++ stdenv.lib.optional sslSupport "--with-ssl"; diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix index 290810198ad..fd21d9222d3 100644 --- a/pkgs/applications/networking/browsers/midori/default.nix +++ b/pkgs/applications/networking/browsers/midori/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, cmake, ninja, pkgconfig, intltool, vala, wrapGAppsHook, gcr -, gtk3, webkitgtk, sqlite, gsettings-desktop-schemas, libsoup, glib-networking, gnome3 +{ stdenv, fetchurl, cmake, ninja, pkgconfig, intltool, vala, wrapGAppsHook, gcr, libpeas +, gtk3, webkitgtk, sqlite, gsettings-desktop-schemas, libsoup, glib-networking }: stdenv.mkDerivation rec { @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 webkitgtk sqlite gsettings-desktop-schemas gcr - (libsoup.override { gnomeSupport = true; }) gnome3.libpeas + (libsoup.override { gnomeSupport = true; }) libpeas glib-networking ]; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix index fa98f2a9e78..e8841a0ab6f 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, xorg, gtk2, glib, gdk_pixbuf, dpkg, libXext, libXfixes +{ stdenv, fetchurl, xorg, gtk2, glib, gdk-pixbuf, dpkg, libXext, libXfixes , libXrender, libuuid, libXrandr, libXcomposite, libpulseaudio }: @@ -10,12 +10,12 @@ let [gtk2 glib stdenv.cc.cc]; rpathPlugin = makeLibraryPath - ([ stdenv.cc.cc gtk2 glib xorg.libX11 gdk_pixbuf libXext libXfixes libXrender libXrandr libXcomposite libpulseaudio ] ++ optional (libuuid != null) libuuid); + ([ stdenv.cc.cc gtk2 glib xorg.libX11 gdk-pixbuf libXext libXfixes libXrender libXrandr libXcomposite libpulseaudio ] ++ optional (libuuid != null) libuuid); in stdenv.mkDerivation rec { - name = "bluejeans-${version}"; + pname = "bluejeans"; version = "2.180.71.8"; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/esteidfirefoxplugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/esteidfirefoxplugin/default.nix deleted file mode 100644 index 48d06d644dd..00000000000 --- a/pkgs/applications/networking/browsers/mozilla-plugins/esteidfirefoxplugin/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ stdenv, fetchurl, gtk2, openssl, pcsclite, pkgconfig, opensc }: - -stdenv.mkDerivation rec { - version = "3.12.1.1142"; - name = "esteidfirefoxplugin-${version}"; - - src = fetchurl { - url = "https://installer.id.ee/media/ubuntu/pool/main/e/esteidfirefoxplugin/esteidfirefoxplugin_3.12.1.1142.orig.tar.xz"; - sha256 = "0y7759x1xr00p5r3c5wpllcqqnnxh2zi74cmy4m9m690z3ywn0fx"; - }; - - unpackPhase = '' - mkdir src - tar xf $src -C src - cd src - ''; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk2 openssl pcsclite opensc ]; - - buildPhase = '' - sed -i "s|opensc-pkcs11.so|${opensc}/lib/pkcs11/opensc-pkcs11.so|" Makefile - make plugin - ''; - - installPhase = '' - plugins=$out/lib/mozilla/plugins - mkdir -p $plugins - cp -a npesteid-firefox-plugin.so $plugins/ - rp=$(patchelf --print-rpath $plugins/npesteid-firefox-plugin.so) - patchelf --set-rpath "$rp:${opensc}/lib:${opensc}/lib/pkcs11" $plugins/npesteid-firefox-plugin.so - ''; - - passthru.mozillaPlugin = "/lib/mozilla/plugins"; - - dontStrip = true; - dontPatchELF = true; - - meta = with stdenv.lib; { - description = "Firefox ID card signing plugin"; - homepage = http://www.id.ee/; - license = licenses.lgpl2; - platforms = platforms.linux; - maintainers = [ maintainers.jagajaga ]; - }; -} diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix index c48c36ad7a0..772ca926cd7 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix @@ -9,7 +9,7 @@ , expat , fontconfig , freetype -, gdk_pixbuf +, gdk-pixbuf , glib , glibc , graphite2 @@ -73,8 +73,8 @@ let ""; in stdenv.mkDerivation rec { - name = "flashplayer-${version}"; - version = "32.0.0.142"; + pname = "flashplayer"; + version = "32.0.0.238"; src = fetchurl { url = @@ -85,14 +85,14 @@ stdenv.mkDerivation rec { sha256 = if debug then if arch == "x86_64" then - "1g3c0hzpf6lwfvlh8h3fl1vwfxc909nkpvrymwlc3vi3zpqwv4r7" + "1f5i64nzkvxy20vi7kldaamwp6pi2zgmjiw061cgqrwf7hj45wkg" else - "14pyhynmjb88n5r9ds7v59vsrlzxfkr8zqnzgf6bj0h0x9grzhdv" + "09jvxqp83hpk89ak8flq14s3s3nhy3ary91jc6k47v325axh1cl9" else if arch == "x86_64" then - "102ixxh2sq7bmasnifm9arvlqqvmmm4bazzdppib3pz2yh4yy7m2" + "05gvssjdz43pvgivdngrf8qr5b30p45hr2sr97cyl6b87581qw9s" else - "1hg03fb4xc7h7lbx57wn1xvkhq096aijaxkb4b60wna04p62bdim"; + "06l7zhgh5rfxxw46b500zdgcqsk2h7kivng5b0b74s3vy7f0g270"; }; nativeBuildInputs = [ unzip ]; @@ -130,7 +130,7 @@ stdenv.mkDerivation rec { rpath = lib.makeLibraryPath [ stdenv.cc.cc - alsaLib atk bzip2 cairo curl expat fontconfig freetype gdk_pixbuf glib + 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 libglvnd libpng diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix index dd7b931b940..2d2d2a69100 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix @@ -9,7 +9,7 @@ , expat , fontconfig , freetype -, gdk_pixbuf +, gdk-pixbuf , glib , glibc , graphite2 @@ -49,8 +49,8 @@ }: stdenv.mkDerivation rec { - name = "flashplayer-standalone-${version}"; - version = "32.0.0.142"; + pname = "flashplayer-standalone"; + version = "32.0.0.238"; src = fetchurl { url = @@ -60,9 +60,9 @@ stdenv.mkDerivation rec { "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz"; sha256 = if debug then - "1vp1nfys9pjmh3fmyp95yymmyvwrbmwjsmjhl5rnpwv5a0xn9nc6" + "1vhfjpwsmg96irfvz81ldzn2m4qcjnql5psg4cifjay423yxabvy" else - "05r1z87zpllyb2hvj0fbps39hvkx5jzsqafyg62am8qm9khzs2qh"; + "0am95xi2jasvxj5b2i12wzpvl3bvxli537k1i04698cg0na6x0y0"; }; nativeBuildInputs = [ unzip ]; @@ -86,7 +86,7 @@ stdenv.mkDerivation rec { rpath = lib.makeLibraryPath [ stdenv.cc.cc - alsaLib atk bzip2 cairo curl expat fontconfig freetype gdk_pixbuf glib + 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 libglvnd libpng diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix index 30bae8792c2..101ae99d665 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, openssl, glib, libX11, gtk2, gettext, intltool }: stdenv.mkDerivation rec { - name = "fribid-${version}"; + pname = "fribid"; version = "1.0.4"; builder = ./builder.sh; src = fetchurl { - url = "https://fribid.se/releases/source/${name}.tar.bz2"; + url = "https://fribid.se/releases/source/${pname}-${version}.tar.bz2"; sha256 = "a679f3a0534d5f05fac10b16b49630a898c0b721cfa24d2c827fa45485476649"; }; 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 71b5161c1e3..bde4ce15d7c 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 @@ -1,5 +1,5 @@ { stdenv, fetchurl, libGL, xorg, cairo -, libpng, gtk2, glib, gdk_pixbuf, fontconfig, freetype, curl +, libpng, gtk2, glib, gdk-pixbuf, fontconfig, freetype, curl , dbus-glib, alsaLib, libpulseaudio, systemd, pango }: @@ -24,7 +24,7 @@ let ]; rpathProgram = makeLibraryPath - [ gdk_pixbuf + [ gdk-pixbuf glib gtk2 xorg.libX11 @@ -46,7 +46,7 @@ let in stdenv.mkDerivation rec { - name = "google-talk-plugin-${version}"; + pname = "google-talk-plugin"; # You can get the upstream version and SHA-1 hash from the following URLs: # curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages | grep -E 'Version|SHA1' diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/mozplugger/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/mozplugger/default.nix index c6c1d6a334c..fd956f62327 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/mozplugger/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/mozplugger/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, firefox, libX11, xorgproto }: stdenv.mkDerivation rec { - name = "mozplugger-${version}"; + pname = "mozplugger"; version = "2.1.6"; src = fetchurl { @@ -18,8 +18,8 @@ stdenv.mkDerivation rec { cp mozplugger.so "$out/lib/mozilla/plugins" cp mozplugger.7 "$out/share/man/man7" - mkdir -p "$out/share/${name}/plugin" - ln -s "$out/lib/mozilla/plugins/mozplugger.so" "$out/share/${name}/plugin" + mkdir -p "$out/share/${pname}-${version}/plugin" + ln -s "$out/lib/mozilla/plugins/mozplugger.so" "$out/share/${pname}-${version}/plugin" ''; meta = { diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix index 07a389af8d6..062d2e6582b 100644 --- a/pkgs/applications/networking/browsers/opera/default.nix +++ b/pkgs/applications/networking/browsers/opera/default.nix @@ -9,10 +9,11 @@ , fetchurl , fontconfig , freetype -, gdk_pixbuf +, gdk-pixbuf , glib , gnome2 , gtk3 +, lib , libX11 , libxcb , libXScrnSaver @@ -34,14 +35,14 @@ , stdenv , systemd , at-spi2-atk +, at-spi2-core }: let - mirror = https://get.geo.opera.com/pub/opera/desktop; - version = "56.0.3051.99"; + mirror = "https://get.geo.opera.com/pub/opera/desktop"; - rpath = stdenv.lib.makeLibraryPath [ + rpath = lib.makeLibraryPath [ # These provide shared libraries loaded when starting. If one is missing, # an error is shown in stderr. @@ -54,7 +55,7 @@ let expat.out fontconfig.lib freetype.out - gdk_pixbuf.out + gdk-pixbuf.out glib.out gnome2.GConf gtk3.out @@ -86,15 +87,17 @@ let libpulseaudio.out at-spi2-atk + at-spi2-core ]; -in stdenv.mkDerivation { +in stdenv.mkDerivation rec { - name = "opera-${version}"; + pname = "opera"; + version = "62.0.3331.43"; src = fetchurl { - url = "${mirror}/${version}/linux/opera-stable_${version}_amd64.deb"; - sha256 = "1mf4lpb66w63kafjni5caq9k3lmsqd85161q29z5lr1s2cx9qqm8"; + url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb"; + sha256 = "0zylg32zn6blkgy4bwmjzc26i712lwakahvrd24ncpfa8805f7x7"; }; unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc ."; @@ -116,10 +119,10 @@ in stdenv.mkDerivation { done ''; - meta = { - homepage = http://www.opera.com; + meta = with lib; { + homepage = "https://www.opera.com"; description = "Web browser"; platforms = [ "x86_64-linux" ]; - license = stdenv.lib.licenses.unfree; + license = licenses.unfree; }; } diff --git a/pkgs/applications/networking/browsers/otter/default.nix b/pkgs/applications/networking/browsers/otter/default.nix index 9a47e18fad1..d41f8440420 100644 --- a/pkgs/applications/networking/browsers/otter/default.nix +++ b/pkgs/applications/networking/browsers/otter/default.nix @@ -1,10 +1,11 @@ { stdenv, cmake, fetchFromGitHub -, qtbase, qtmultimedia, qtwebengine +, qtbase, qtmultimedia, qtwebengine, qtxmlpatterns , version ? "1.0.01" , sourceSha ? "1jw8bj3lcqngr0mqwvz1gf47qjxbwiyda7x4sm96a6ckga7pcwyb" }: stdenv.mkDerivation { - name = "otter-browser-${version}"; + pname = "otter-browser"; + inherit version; src = fetchFromGitHub { owner = "OtterBrowser"; @@ -15,7 +16,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake ]; - buildInputs = [ qtbase qtmultimedia qtwebengine ]; + buildInputs = [ qtbase qtmultimedia qtwebengine qtxmlpatterns ]; meta = with stdenv.lib; { homepage = https://otter-browser.org; diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix index 0d863ae9131..c4182785e82 100644 --- a/pkgs/applications/networking/browsers/palemoon/default.nix +++ b/pkgs/applications/networking/browsers/palemoon/default.nix @@ -1,23 +1,26 @@ { stdenv, fetchFromGitHub, makeDesktopItem , pkgconfig, autoconf213, alsaLib, bzip2, cairo -, dbus, dbus-glib, file, fontconfig, freetype -, gstreamer, gst-plugins-base, gst_all_1 -, gtk2, hunspell, icu, libevent, libjpeg, libnotify -, libstartup_notification, libvpx, makeWrapper, libGLU_combined -, nspr, nss, pango, perl, python, libpulseaudio, sqlite -, unzip, xorg, which, yasm, zip, zlib +, dbus, dbus-glib, ffmpeg, file, fontconfig, freetype +, gnome2, gnum4, gtk2, hunspell, libevent, libjpeg +, libnotify, libstartup_notification, makeWrapper +, libGLU_combined, perl, python, libpulseaudio +, unzip, xorg, wget, which, yasm, zip, zlib }: -stdenv.mkDerivation rec { - name = "palemoon-${version}"; - version = "27.9.4"; +let + + libPath = stdenv.lib.makeLibraryPath [ ffmpeg ]; + +in stdenv.mkDerivation rec { + pname = "palemoon"; + version = "28.6.0.1"; src = fetchFromGitHub { - name = "palemoon-src"; + name = "${pname}-${version}"; owner = "MoonchildProductions"; - repo = "Pale-Moon"; - rev = version + "_Release"; - sha256 = "0ir5gzhw98gfn15x58g1fwi11jd7gysvacqxg1v0jdjhgdl4m5sx"; + repo = "UXP"; + rev = "PM${version}_Release"; + sha256 = "1adgajy5vsghvjlv2nqyrbp6mnv3k6slqxxi8r949xlb5h6d210b"; }; desktopItem = makeDesktopItem { @@ -39,11 +42,10 @@ stdenv.mkDerivation rec { }; buildInputs = [ - alsaLib bzip2 cairo dbus dbus-glib file fontconfig freetype - gst-plugins-base gstreamer gst_all_1.gst-plugins-base gtk2 - hunspell icu libevent libjpeg libnotify libstartup_notification - libvpx makeWrapper libGLU_combined nspr nss pango perl pkgconfig python - libpulseaudio sqlite unzip which yasm zip zlib + alsaLib bzip2 cairo dbus dbus-glib ffmpeg file fontconfig freetype + gnome2.GConf gnum4 gtk2 hunspell libevent libjpeg libnotify + libstartup_notification makeWrapper libGLU_combined perl + pkgconfig python libpulseaudio unzip wget which yasm zip zlib ] ++ (with xorg; [ libX11 libXext libXft libXi libXrender libXScrnSaver libXt pixman xorgproto @@ -52,57 +54,68 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; configurePhase = '' - export AUTOCONF=${autoconf213}/bin/autoconf - export MOZBUILD_STATE_PATH=$(pwd)/.mozbuild - export MOZ_CONFIG=$(pwd)/.mozconfig - export builddir=$(pwd)/build - mkdir -p $MOZBUILD_STATE_PATH $builddir - echo > $MOZ_CONFIG " - . $src/build/mozconfig.common - ac_add_options --prefix=$out - ac_add_options --with-pthreads - ac_add_options --enable-application=browser + export MOZBUILD_STATE_PATH=$(pwd)/mozbuild + export MOZCONFIG=$(pwd)/mozconfig + export builddir=$(pwd)/pmbuild + + echo > $MOZCONFIG " + mk_add_options AUTOCLOBBER=1 + mk_add_options MOZ_OBJDIR=$builddir + ac_add_options --enable-application=palemoon + + ac_add_options --enable-optimize='-O2' + + # Please see https://www.palemoon.org/redist.shtml for restrictions when using the official branding. ac_add_options --enable-official-branding - ac_add_options --enable-optimize="-O2" - ac_add_options --enable-release - ac_add_options --enable-devtools + export MOZILLA_OFFICIAL=1 + + ac_add_options --enable-default-toolkit=cairo-gtk2 ac_add_options --enable-jemalloc - ac_add_options --enable-shared-js ac_add_options --enable-strip + ac_add_options --with-pthreads + ac_add_options --disable-tests - ac_add_options --disable-installer - ac_add_options --disable-updaters + ac_add_options --disable-eme + ac_add_options --disable-parental-controls + ac_add_options --disable-accessibility + ac_add_options --disable-webrtc + ac_add_options --disable-gamepad + ac_add_options --disable-necko-wifi + ac_add_options --disable-updater + + ac_add_options --x-libraries=${xorg.libX11.out}/lib + + ac_add_options --prefix=$out + mk_add_options MOZ_MAKE_FLAGS='-j$NIX_BUILD_CORES' + mk_add_options AUTOCONF=${autoconf213}/bin/autoconf " ''; - patchPhase = '' - chmod u+w . - ''; - hardeningDisable = [ "format" ]; - + buildPhase = '' - cd $builddir $src/mach build ''; installPhase = '' + $src/mach install + mkdir -p $out/share/applications cp ${desktopItem}/share/applications/* $out/share/applications for n in 16 22 24 32 48 256; do size=$n"x"$n mkdir -p $out/share/icons/hicolor/$size/apps - cp $src/browser/branding/official/default$n.png \ + cp $src/application/palemoon/branding/official/default$n.png \ $out/share/icons/hicolor/$size/apps/palemoon.png done - cd $builddir - $src/mach install + wrapProgram $out/lib/palemoon-${version}/palemoon \ + --prefix LD_LIBRARY_PATH : "${libPath}" ''; meta = with stdenv.lib; { - description = "A web browser"; + description = "An Open Source, Goanna-based web browser focusing on efficiency and customization"; longDescription = '' Pale Moon is an Open Source, Goanna-based web browser focusing on efficiency and customization. @@ -114,9 +127,9 @@ stdenv.mkDerivation rec { experience, while offering full customization and a growing collection of extensions and themes to make the browser truly your own. ''; - homepage = https://www.palemoon.org/; + homepage = "https://www.palemoon.org/"; license = licenses.mpl20; - maintainers = with maintainers; [ rnhmjoj AndersonTorres ]; - platforms = platforms.linux; + maintainers = with maintainers; [ rnhmjoj AndersonTorres OPNA2608 ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }; } diff --git a/pkgs/applications/networking/browsers/qtchan/default.nix b/pkgs/applications/networking/browsers/qtchan/default.nix index df956addf5c..9a4d61a50ae 100644 --- a/pkgs/applications/networking/browsers/qtchan/default.nix +++ b/pkgs/applications/networking/browsers/qtchan/default.nix @@ -1,27 +1,19 @@ -{ stdenv, fetchFromGitHub, fetchpatch, qt, makeWrapper }: +{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase }: -stdenv.mkDerivation rec { - name = "qtchan-${version}"; - version = "0.100"; +mkDerivation rec { + pname = "qtchan"; + version = "1.0.1"; src = fetchFromGitHub { owner = "siavash119"; repo = "qtchan"; rev = "v${version}"; - sha256 = "0n94jd6b1y8v6x5lkinr9rzm4bjg9xh9m7zj3j73pgq829gpmj3a"; + sha256 = "1x11m1kwqindzc0dkpfifcglsb362impaxs85kgzx50p898sz9ll"; }; - patches = [ - (fetchpatch { - url = https://github.com/siavash119/qtchan/commit/718abeee5cf4aca8c99b35b26f43909362a29ee6.patch; - sha256 = "11b72l5njvfsyapd479hp4yfvwwb1mhq3f077hwgg0waz5l7n00z"; - }) - ]; - enableParallelBuilding = true; - nativeBuildInputs = [ qt.qmake makeWrapper ]; - buildInputs = [ qt.qtbase ]; - + nativeBuildInputs = [ qmake ]; + buildInputs = [ qtbase ]; qmakeFlags = [ "CONFIG-=app_bundle" ]; installPhase = '' @@ -29,12 +21,7 @@ stdenv.mkDerivation rec { cp qtchan $out/bin ''; - preFixup = '' - wrapProgram $out/bin/qtchan \ - --suffix QT_PLUGIN_PATH : ${qt.qtbase.bin}/${qt.qtbase.qtPluginPrefix} - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "4chan browser in qt5"; homepage = "https://github.com/siavash119/qtchan"; license = licenses.mit; diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index 1be4f1c4c52..05eafb48e72 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, fetchzip, python3Packages -, makeWrapper, wrapGAppsHook, qtbase, glib-networking +, mkDerivationWith, wrapQtAppsHook, wrapGAppsHook, qtbase, glib-networking , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2 , libxslt, gst_all_1 ? null , withPdfReader ? true @@ -10,23 +10,23 @@ assert withMediaPlayback -> gst_all_1 != null; let pdfjs = let - version = "1.10.100"; + version = "2.1.266"; in fetchzip rec { name = "pdfjs-${version}"; url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip"; - sha256 = "04df4cf6i6chnggfjn6m1z9vb89f01a0l9fj5rk21yr9iirq9rkq"; + sha256 = "1ybbnpz2jcdikzwr7r13lq528vxj3bpms1fqmg3n1zgs30cqpkby"; stripRoot = false; }; -in python3Packages.buildPythonApplication rec { +in mkDerivationWith python3Packages.buildPythonApplication rec { pname = "qutebrowser"; - version = "1.5.2"; + version = "1.7.0"; # 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 = "0ki19mynq91aih3kxhipnay3jmn56s7p6rilws0gq0k98li6a4my"; + sha256 = "0wyjmb2qvnw3gn0ypgckwblmn7kasi12dfwp343hi6wscqripw7i"; }; # Needs tox @@ -41,19 +41,28 @@ in python3Packages.buildPythonApplication rec { ]); nativeBuildInputs = [ - makeWrapper wrapGAppsHook asciidoc + wrapQtAppsHook wrapGAppsHook asciidoc docbook_xml_dtd_45 docbook_xsl libxml2 libxslt ]; propagatedBuildInputs = with python3Packages; [ - pyyaml pyqt5 jinja2 pygments + pyyaml pyqt5 pyqtwebengine jinja2 pygments pypeg2 cssutils pyopengl attrs # scripts and userscripts libs tldextract beautifulsoup4 pyreadability pykeepass stem ]; + patches = [ + ./fix-restart.patch + ]; + + dontWrapGApps = true; + dontWrapQtApps = true; + postPatch = '' + 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 @@ -65,8 +74,8 @@ in python3Packages.buildPythonApplication rec { postInstall = '' install -Dm644 doc/qutebrowser.1 "$out/share/man/man1/qutebrowser.1" - install -Dm644 misc/qutebrowser.desktop \ - "$out/share/applications/qutebrowser.desktop" + install -Dm644 misc/org.qutebrowser.qutebrowser.desktop \ + "$out/share/applications/org.qutebrowser.qutebrowser.desktop" # Install icons for i in 16 24 32 48 64 128 256 512; do @@ -89,6 +98,12 @@ in python3Packages.buildPythonApplication rec { done ''; + postFixup = '' + wrapProgram $out/bin/qutebrowser \ + "''${gappsWrapperArgs[@]}" \ + "''${qtWrapperArgs[@]}" + ''; + meta = with stdenv.lib; { homepage = https://github.com/The-Compiler/qutebrowser; description = "Keyboard-focused browser with a minimal GUI"; 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 00000000000..56f6bcebf28 --- /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 3a7612bb0fb..a4979d3bcf2 100644 --- a/pkgs/applications/networking/browsers/surf/default.nix +++ b/pkgs/applications/networking/browsers/surf/default.nix @@ -5,7 +5,7 @@ }: stdenv.mkDerivation rec { - name = "surf-${version}"; + pname = "surf"; version = "2.0"; src = fetchurl { 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 cdee8111b54..fc3cc2e89a9 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix @@ -12,7 +12,7 @@ , dbus-glib , fontconfig , freetype -, gdk_pixbuf +, gdk-pixbuf , glib , gtk3 , libxcb @@ -39,7 +39,7 @@ # Wrapper runtime , coreutils , glibcLocales -, defaultIconTheme +, gnome3 , runtimeShell , shared-mime-info , gsettings-desktop-schemas @@ -67,7 +67,7 @@ let dbus-glib fontconfig freetype - gdk_pixbuf + gdk-pixbuf glib gtk3 libxcb @@ -89,7 +89,7 @@ let fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ]; # Upstream source - version = "8.0.6"; + version = "8.5.4"; lang = "en-US"; @@ -99,7 +99,7 @@ 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 = "14i32r8pw749ghigqblnbr5622jh5wp1ivnwi71vycbgp9pds4f7"; + sha256 = "0nnzynk3nlnd847c8jjghs9anmr5a2hv7nk1qxigigxqa5vqy96z"; }; "i686-linux" = fetchurl { @@ -107,13 +107,13 @@ let "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 = "0g9sd104b6xnbl2j3gbq1ga6j2h0x3jccays0gpbd235bxpjs39a"; + sha256 = "1b34skl3hwvpy0r4l5ykgnnwhbz7cvly2gi9ib4h7lijjfafiys1"; }; }; in stdenv.mkDerivation rec { - name = "tor-browser-bundle-bin-${version}"; + pname = "tor-browser-bundle-bin"; inherit version; src = srcs."${stdenv.hostPlatform.system}" or (throw "unsupported system: ${stdenv.hostPlatform.system}"); @@ -252,7 +252,7 @@ stdenv.mkDerivation rec { EOF WRAPPER_XDG_DATA_DIRS=${concatMapStringsSep ":" (x: "${x}/share") [ - defaultIconTheme + gnome3.adwaita-icon-theme shared-mime-info ]} WRAPPER_XDG_DATA_DIRS+=":"${concatMapStringsSep ":" (x: "${x}/share/gsettings-schemas/${x.name}") [ @@ -300,12 +300,15 @@ stdenv.mkDerivation rec { # Clear out some files that tend to capture store references but are # easily generated by firefox at startup. - rm -f "\$HOME/TorBrowser/Data/Browser/profile.default"/{compatibility.ini,extensions.ini,extensions.json} + rm -f "\$HOME/TorBrowser/Data/Browser/profile.default"/{addonStartup.json.lz4,compatibility.ini,extensions.ini,extensions.json} + rm -f "\$HOME/TorBrowser/Data/Browser/profile.default"/startupCache/* + + # 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}" ''} @@ -336,9 +339,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" \ @@ -387,7 +390,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Tor Browser Bundle built by torproject.org"; longDescription = tor-browser-bundle.meta.longDescription; - homepage = https://www.torproject.org/; + homepage = "https://www.torproject.org/"; platforms = attrNames srcs; maintainers = with maintainers; [ offline matejc doublec thoughtpolice joachifm ]; hydraPlatforms = []; diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle/default.nix index 8c8212e9e2c..f15bf165e82 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle/default.nix @@ -21,8 +21,6 @@ , mediaSupport ? false , ffmpeg -, gmp - # Extensions, common , zip @@ -34,7 +32,7 @@ , rsync # Pluggable transports -, obfsproxy +, obfs4 # Customization , extraPrefs ? "" @@ -74,12 +72,12 @@ let ]; in stdenv.mkDerivation rec { - name = "tor-browser-bundle-${version}"; + pname = "tor-browser-bundle"; version = tor-browser-unwrapped.version; buildInputs = [ tor-browser-unwrapped tor ]; - unpackPhase = ":"; + dontUnpack = true; buildPhase = ":"; @@ -171,9 +169,9 @@ stdenv.mkDerivation rec { EOF # Configure pluggable transports - cat >>$TBDATA_PATH/torrc-defaults < $vivaldi_version" -echo "$path" +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 '^[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/vivaldi/widevine.nix b/pkgs/applications/networking/browsers/vivaldi/widevine.nix new file mode 100644 index 00000000000..a21de1acad2 --- /dev/null +++ b/pkgs/applications/networking/browsers/vivaldi/widevine.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl +, unzip +}: + +stdenv.mkDerivation rec { + name = "widevine"; + version = "4.10.1196.0"; + + src = fetchurl { + url = "https://dl.google.com/widevine-cdm/${version}-linux-x64.zip"; + sha256 = "01c7nr7d2xs718jymicbk4ipzfx6q253109qv3lk4lryrrhvw14y"; + }; + + buildInputs = [ unzip ]; + + unpackPhase = '' + unzip $src libwidevinecdm.so + find . + ''; + + installPhase = '' + install -vD libwidevinecdm.so $out/lib/libwidevinecdm.so + ''; + + meta = with stdenv.lib; { + description = "Widevine support for Vivaldi"; + homepage = "https://www.widevine.com"; + license = licenses.unfree; + maintainers = with maintainers; [ betaboon ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix index c1fa364a2d2..136c14d34d4 100644 --- a/pkgs/applications/networking/browsers/w3m/default.nix +++ b/pkgs/applications/networking/browsers/w3m/default.nix @@ -25,13 +25,14 @@ let ''; }; in stdenv.mkDerivation rec { - name = "w3m-0.5.3+git20180125"; + pname = "w3m"; + version = "0.5.3+git20190105"; src = fetchFromGitHub { owner = "tats"; - repo = "w3m"; - rev = "v0.5.3+git20180125"; - sha256 = "0dafdfx1yhrvhbqzslkcapj09dvf64m2jadz3wl2icni0k4msq90"; + repo = pname; + rev = "v${version}"; + sha256 = "1fbg2p8qh2gvi3g4iz4q6vc0k70pf248r4yndi5lcn2m3mzvjx0i"; }; NIX_LDFLAGS = optionalString stdenv.isSunOS "-lsocket -lnsl"; diff --git a/pkgs/applications/networking/browsers/w3m/no-x11.patch b/pkgs/applications/networking/browsers/w3m/no-x11.patch index 83b3e96821f..0816c022926 100644 --- a/pkgs/applications/networking/browsers/w3m/no-x11.patch +++ b/pkgs/applications/networking/browsers/w3m/no-x11.patch @@ -1,14 +1,13 @@ Forget about X11 in fb module. This breaks w3mimgdisplay under X11, but removes X11 dependency it in pure fb. diff --git a/w3mimg/fb/fb_imlib2.c b/w3mimg/fb/fb_imlib2.c -index ea36637..d3d7bc3 100644 +index 1a5151c..d3d7bc3 100644 --- a/w3mimg/fb/fb_imlib2.c +++ b/w3mimg/fb/fb_imlib2.c -@@ -3,7 +3,7 @@ +@@ -3,6 +3,7 @@ fb_imlib2.c 0.3 Copyright (C) 2002, hito **************************************************************************/ --#include +#define X_DISPLAY_MISSING #include #include "fb.h" diff --git a/pkgs/applications/networking/c14/default.nix b/pkgs/applications/networking/c14/default.nix index 242abc2ece7..4495fc09579 100644 --- a/pkgs/applications/networking/c14/default.nix +++ b/pkgs/applications/networking/c14/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "c14-cli-${version}"; + pname = "c14-cli"; version = "0.3"; goPackagePath = "github.com/online-net/c14-cli"; diff --git a/pkgs/applications/networking/charles/default.nix b/pkgs/applications/networking/charles/default.nix index 3f019d17702..09be379b240 100644 --- a/pkgs/applications/networking/charles/default.nix +++ b/pkgs/applications/networking/charles/default.nix @@ -1,48 +1,67 @@ -{ 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"; - }; + 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"; + }; -in stdenv.mkDerivation rec { - name = "charles-${version}"; - version = "4.2.7"; + in stdenv.mkDerivation rec { + pname = "charles"; + inherit version; - src = fetchurl { - url = "https://www.charlesproxy.com/assets/release/${version}/charles-proxy-${version}.tar.gz"; - sha256 = "1nycw3wpbfwj4ijjaq5k0f4xipj8j605fs0yjzgl66gmv7r583rd"; - }; + src = fetchurl { + url = "https://www.charlesproxy.com/assets/release/${version}/charles-proxy-${version}.tar.gz"; + inherit sha256; + }; + buildInputs = [ makeWrapper ]; - buildInputs = [ makeWrapper ]; + installPhase = '' + makeWrapper ${jre}/bin/java $out/bin/charles \ + --add-flags "-Xmx1024M -Dcharles.config='~/.charles.config' -jar $out/share/java/charles.jar" - 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 - 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/applications - ln -s ${desktopItem}/share/applications/* $out/share/applications/ + mkdir -p $out/share/icons + cp -r icon $out/share/icons/hicolor + ''; - 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; + }; + }; - 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 index fd047147e01..6712dcd486b 100644 --- a/pkgs/applications/networking/cloudflared/default.nix +++ b/pkgs/applications/networking/cloudflared/default.nix @@ -1,25 +1,27 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "cloudflared-${version}"; - version = "2018.10.3"; + pname = "cloudflared"; + version = "2019.7.0"; goPackagePath = "github.com/cloudflare/cloudflared"; src = fetchFromGitHub { owner = "cloudflare"; repo = "cloudflared"; - rev = "41916365b689bf2cc1446ea5717e4d26cc8aed43"; # untagged - sha256 = "109bhnmvlvj3ag9vw090fy202z8aaqr1rakhn8v550wwy30h9zkf"; + rev = version; + sha256 = "19229p7c9m7v0xpmzi5rfwjzm845ikq8pndkry2si9azks18x77q"; }; goDeps = ./deps.nix; + buildFlagsArray = "-ldflags=-X main.Version=${version}"; + 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 ]; + maintainers = [ maintainers.thoughtpolice maintainers.enorris ]; }; } diff --git a/pkgs/applications/networking/cloudflared/deps.nix b/pkgs/applications/networking/cloudflared/deps.nix index da7f509378d..e5ca7be0070 100644 --- a/pkgs/applications/networking/cloudflared/deps.nix +++ b/pkgs/applications/networking/cloudflared/deps.nix @@ -5,8 +5,8 @@ fetch = { type = "git"; url = "https://github.com/BurntSushi/toml"; - rev = "b26d9c308763d68093482582cea63d69be07a0f0"; - sha256 = "0k7v2i1d2d6si8gswn83qb84czhhia53v2wdy33yz9ppdidxk0ry"; + rev = "3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005"; + sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6"; }; } { @@ -14,8 +14,8 @@ fetch = { type = "git"; url = "https://github.com/beorn7/perks"; - rev = "3a771d992973f24aa725d07868b467d1ddfceafb"; - sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3"; + rev = "4b2b341e8d7715fae06375aa633dbb6e91b3fb46"; + sha256 = "1i1nz1f6g55xi2y3aiaz5kqfgvknarbfl4f0sx4nyyb4s7xb1z9x"; }; } { @@ -36,13 +36,22 @@ sha256 = "10112y4k8qing552n0df9w33cgminrzm6g3x7ng0vgin4sv59785"; }; } + { + goPackagePath = "github.com/cloudflare/golibs"; + fetch = { + type = "git"; + url = "https://github.com/cloudflare/golibs"; + rev = "333127dbecfcc23a8db7d9a4f52785d23aff44a1"; + sha256 = "170hbv9wyfmb5da9a6wjz2mphp0pylv23h8qp8h5kwa2i9frdqqi"; + }; + } { goPackagePath = "github.com/coredns/coredns"; fetch = { type = "git"; url = "https://github.com/coredns/coredns"; - rev = "992e7928c7c258628d2b13b769acc86781b9faea"; - sha256 = "0mvlkca11ikwzii0p7g5a2z3gn1xrp7qmmjwklp4i52lbnsawzv0"; + rev = "2e322f6e8a54f18c6aef9c25a7c432c291a3d9f7"; + sha256 = "0s9x5yww1qd9pzh2w846g9qw0n86ygymjiqjn15ws6ha3nj5p75p"; }; } { @@ -59,8 +68,8 @@ fetch = { type = "git"; url = "https://github.com/coreos/go-systemd"; - rev = "39ca1b05acc7ad1220e09f133283b8859a8b71ab"; - sha256 = "1kzqrrzqspa5qm7kwslxl3m16lqzns23c24rv474ajzwmj3ixmx1"; + rev = "95778dfbb74eb7e4dbaf43bf7d71809650ef8076"; + sha256 = "1s3bg9p78wkixn2bqb2p23wbsqfg949ml6crw2b498s71mwh8rcf"; }; } { @@ -77,8 +86,8 @@ fetch = { type = "git"; url = "https://github.com/davecgh/go-spew"; - rev = "346938d642f2ec3594ed81d874461961cd0faa76"; - sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c"; + rev = "8991bc29aa16c548c550c7ff78260e27b9ab7c73"; + sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"; }; } { @@ -95,8 +104,8 @@ fetch = { type = "git"; url = "https://github.com/equinox-io/equinox"; - rev = "f24972fa72facf59d05c91c848b65eac38815915"; - sha256 = "1d3620g1kxyzn8b3py2471qp8ssyzm1qnpbap9gxrmg8912wiww1"; + rev = "5205c98a6c11dc72747ce12fff6cd620a99fde05"; + sha256 = "19gya2zhs3xqfjh8y6s63yw9q8h1x710rl1drf4a1fmgdhaf2lrv"; }; } { @@ -140,8 +149,8 @@ fetch = { type = "git"; url = "https://github.com/golang/protobuf"; - rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265"; - sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq"; + rev = "b5d812f8a3706043e23a9cd5babf2e5423744d30"; + sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl"; }; } { @@ -149,17 +158,8 @@ 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"; + rev = "0cd6bf5da1e1c83f8b45653022c74f71af0538a4"; + sha256 = "0hfxcf9frkb57k6q0rdkrmnfs78ms21r1qfk9fhlqga2yh5xg8zb"; }; } { @@ -167,8 +167,8 @@ fetch = { type = "git"; url = "https://github.com/gorilla/mux"; - rev = "e3702bed27f0d39777b0b37b664b6280e8ef8fbf"; - sha256 = "0pvzm23hklxysspnz52mih6h1q74vfrdhjfm1l3sa9r8hhqmmld2"; + rev = "c5c6c98bc25355028a63748a498942a6398ccd22"; + sha256 = "0im4da3hqxb6zr8g3m640qz234f5gs0a8hqhcz35mkvfqlv48f62"; }; } { @@ -198,13 +198,22 @@ sha256 = "1pqxhsdavbp1n5grgyx2j6ylvql2fzn2cvpsgkc8li69dil7sibl"; }; } + { + goPackagePath = "github.com/konsorten/go-windows-terminal-sequences"; + fetch = { + type = "git"; + url = "https://github.com/konsorten/go-windows-terminal-sequences"; + rev = "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e"; + sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7"; + }; + } { goPackagePath = "github.com/lib/pq"; fetch = { type = "git"; url = "https://github.com/lib/pq"; - rev = "90697d60dd844d5ef6ff15135d0203f65d2f53b8"; - sha256 = "0hb4bfsk8g5473yzbf3lzrb373xicakjznkf0v085xgimz991i9r"; + rev = "51e2106eed1cea199c802d2a49e91e2491b02056"; + sha256 = "00kp0k7sd7xrv92crd2xja68z096b2fw0mlz58mdjlri9w72hqbf"; }; } { @@ -212,8 +221,8 @@ fetch = { type = "git"; url = "https://github.com/mattn/go-colorable"; - rev = "167de6bfdfba052fa6b2d3664c8f5272e23c9072"; - sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx"; + rev = "3a70a971f94a22f2fa562ffcc7a0eb45f5daf045"; + sha256 = "0l640974j804c1yyjfgyxqlsivz0yrzmbql4mhcw2azryigkp08p"; }; } { @@ -221,8 +230,8 @@ fetch = { type = "git"; url = "https://github.com/mattn/go-isatty"; - rev = "0360b2af4f38e8d38c7fce2a9f4e702702d73a39"; - sha256 = "06w45aqz2a6yrk25axbly2k5wmsccv8cspb94bfmz4izvw8h927n"; + rev = "c2a7a6ca930a4cd0bc33a3f298eb71960732a3a7"; + sha256 = "1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd"; }; } { @@ -248,8 +257,8 @@ fetch = { type = "git"; url = "https://github.com/miekg/dns"; - rev = "5a2b9fab83ff0f8bfc99684bd5f43a37abe560f1"; - sha256 = "1vmgkpmwlqg6pwrpvjbn4h4al6af5fjvwwnacyv18hvlfd3fyfmx"; + rev = "73601d4aed9d844322611759d7f3619110b7c88e"; + sha256 = "1frnj97bbch1qhg55fx2yz6mdjsz8fw94sj7pkrjms239j7vqcvm"; }; } { @@ -257,8 +266,8 @@ fetch = { type = "git"; url = "https://github.com/mitchellh/go-homedir"; - rev = "3864e76763d94a6df2f9960b16a20a33da9f9a66"; - sha256 = "1n8vya16l60i5jms43yb8fzdgwvqa2q926p5wkg3lbrk8pxy1nv0"; + rev = "af06845cf3004701891bf4fdb884bfe4920b3727"; + sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1"; }; } { @@ -266,8 +275,8 @@ fetch = { type = "git"; url = "https://github.com/opentracing/opentracing-go"; - rev = "1949ddbfd147afd4d964a9f00b24eb291e0e7c38"; - sha256 = "0i0ghg94dg8lk05mw5n23983wq04yjvkjmdkc9z5y1f3508938h9"; + rev = "659c90643e714681897ec2521c60567dd21da733"; + sha256 = "0aj9cbm21zsg1i5l25hz8gn0yf99yxyxcp1gqh3yd5g4knj2cgzf"; }; } { @@ -302,8 +311,8 @@ fetch = { type = "git"; url = "https://github.com/prometheus/client_model"; - rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c"; - sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998"; + rev = "fd36f4220a901265f90734c3183c5f0c91daa0b8"; + sha256 = "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5"; }; } { @@ -311,8 +320,8 @@ fetch = { type = "git"; url = "https://github.com/prometheus/common"; - rev = "7600349dcfe1abd18d72d3a1770870d9800a7801"; - sha256 = "0lsp94dqpj35dny4m4x15kg4wgwawlm3in7cnpajkkacgyxagk5f"; + rev = "a82f4c12f983cc2649298185f296632953e50d3e"; + sha256 = "0pcgnxrv2i31jljqzhkv5hpdz92f6zrkh2p1i7i59acfz1fxhq0s"; }; } { @@ -320,8 +329,8 @@ fetch = { type = "git"; url = "https://github.com/prometheus/procfs"; - rev = "ae68e2d4c00fed4943b5f6698d504a5fe083da8a"; - sha256 = "04sar4k99w8nvq3kwx6chz0mbp4s6xfjfxww7aqfd950xgs2jv5f"; + rev = "8368d24ba045f26503eb745b624d930cbe214c79"; + sha256 = "0cfrgsy82c964hcmzzyk6ccghpr9dkfvdlxa0cj9cfc0w94cqvrl"; }; } { @@ -329,8 +338,8 @@ fetch = { type = "git"; url = "https://github.com/rifflock/lfshook"; - rev = "bf539943797a1f34c1f502d07de419b5238ae6c6"; - sha256 = "0hns4zidw8g3s5l9dyl894fnyjr0a5xgdvx26rnal9jrn4n6z835"; + rev = "b9218ef580f59a2e72dad1aa33d660150445d05a"; + sha256 = "0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc"; }; } { @@ -338,8 +347,8 @@ fetch = { type = "git"; url = "https://github.com/sirupsen/logrus"; - rev = "c155da19408a8799da419ed3eeb0cb5db0ad5dbc"; - sha256 = "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"; + rev = "839c75faf7f98a33d445d181f3018b5c3409a45e"; + sha256 = "087k2lxrr9p9dh68yw71d05h5g9p5v26zbwd6j7lghinjfaw334x"; }; } { @@ -347,8 +356,8 @@ fetch = { type = "git"; url = "https://github.com/stretchr/testify"; - rev = "f35b8ab0b5a2cef36673838d662e249dd9c94686"; - sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs"; + rev = "12b6f73e6084dad08a7c6e575284b177ecafbc71"; + sha256 = "01f80s0q64pw5drfgqwwk1wfwwkvd2lhbs56lhhkff4ni83k73fd"; }; } { @@ -356,8 +365,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/crypto"; - rev = "a49355c7e3f8fe157a85be2f77e6e269a0f89602"; - sha256 = "020q1laxjx5kcmnqy4wmdb63zhb0lyq6wpy40axhswzg2nd21s44"; + rev = "f416ebab96af27ca70b6e5c23d6a0747530da626"; + sha256 = "1cmddgh6x1c3lij50r8245jhqgi4j00add4wjpqpc2dmcg5928m3"; }; } { @@ -365,8 +374,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/net"; - rev = "32a936f46389aa10549d60bd7833e54b01685d09"; - sha256 = "0f24khgx6s7idpnmwgkml4qyrqwkvdjd18aapn5rmybyhmrb57j7"; + rev = "1da14a5a36f220ea3f03470682b737b1dfd5de22"; + sha256 = "1ivqwn3r44vlldlj53669jvsd6klwsg7hmla7f0vz03ny8xz4lpz"; }; } { @@ -383,8 +392,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/sys"; - rev = "ce36f3865eeb42541ce3f87f32f8462c5687befa"; - sha256 = "0dkmxn48l9g7w1247c473qlacfkfp8wyan54k9cbi79icdp65jja"; + rev = "12500544f89f9420afe9529ba8940bf72d294972"; + sha256 = "1y37dlbbsp1dkfqaf563fwlf3xl74ymswmy52faqyv0wpcbwixgy"; }; } { @@ -401,8 +410,8 @@ fetch = { type = "git"; url = "https://github.com/google/go-genproto"; - rev = "ff3583edef7de132f219f0efc00e097cabcc0ec0"; - sha256 = "0bpzxk85fgvznmdf9356nzh8riqhwzcil9r2a955rbfn27lh4lmy"; + rev = "d1146b9035b912113a38af3b138eb2af567b2c67"; + sha256 = "1ry1vbbnfh7i3zrv3vmbsbmq2w8jmz88ykd6cxviijnxvms3zab8"; }; } { @@ -410,8 +419,8 @@ fetch = { type = "git"; url = "https://github.com/grpc/grpc-go"; - rev = "168a6198bcb0ef175f7dacec0b8691fc141dc9b8"; - sha256 = "0d8vj372ri55mrqfc0rhjl3albp5ykwfjhda1s5cgm5n40v70pr3"; + rev = "236199dd5f8031d698fb64091194aecd1c3895b2"; + sha256 = "0rzpcmp5fscg3smn0aiaahgimv74smylg701na5px3pn5iymh94a"; }; } { @@ -428,8 +437,8 @@ fetch = { type = "git"; url = "https://github.com/go-yaml/yaml"; - rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; - sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; + rev = "51d6538a90f86fe93ac480b35f37b2be17fef232"; + sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa"; }; } { @@ -441,4 +450,4 @@ sha256 = "0nzw3g8xpxyzwqqv3ja0iznd0j18l1rwagwhf9sinwdjjgmh51sy"; }; } -] +] \ No newline at end of file diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix index 647261a138f..92db34417f4 100644 --- a/pkgs/applications/networking/cluster/argo/default.nix +++ b/pkgs/applications/networking/cluster/argo/default.nix @@ -1,7 +1,7 @@ { lib, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "argo-${version}"; + pname = "argo"; version = "2.2.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/cluster/chronos/default.nix b/pkgs/applications/networking/cluster/chronos/default.nix index bc9023a222f..78be19cd81e 100644 --- a/pkgs/applications/networking/cluster/chronos/default.nix +++ b/pkgs/applications/networking/cluster/chronos/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, makeWrapper, fetchgit, curl, jdk, maven, nodejs, mesos }: stdenv.mkDerivation rec { - name = "chronos-${version}"; + pname = "chronos"; version = "286b2ccb8e4695f8e413406ceca85b60d3a87e22"; src = fetchgit { @@ -21,10 +21,10 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/{bin,libexec/chronos} - cp target/chronos*.jar $out/libexec/chronos/${name}.jar + cp target/chronos*.jar $out/libexec/chronos/${pname}-${version}.jar makeWrapper ${jdk.jre}/bin/java $out/bin/chronos \ - --add-flags "-Xmx384m -Xms384m -cp $out/libexec/chronos/${name}.jar com.airbnb.scheduler.Main" \ + --add-flags "-Xmx384m -Xms384m -cp $out/libexec/chronos/${pname}-${version}.jar com.airbnb.scheduler.Main" \ --prefix "MESOS_NATIVE_LIBRARY" : "$MESOS_NATIVE_LIBRARY" ''; diff --git a/pkgs/applications/networking/cluster/click/default.nix b/pkgs/applications/networking/cluster/click/default.nix index 2c7a026b277..bd8eb545152 100644 --- a/pkgs/applications/networking/cluster/click/default.nix +++ b/pkgs/applications/networking/cluster/click/default.nix @@ -4,18 +4,16 @@ with rustPlatform; buildRustPackage rec { name = "click-${version}"; - version = "0.3.2"; + version = "0.4.2"; src = fetchFromGitHub { rev = "v${version}"; owner = "databricks"; repo = "click"; - sha256 = "0sbj41kypn637z1w115w2h5v6bxz3y6w5ikgpx3ihsh89lkc19d2"; + sha256 = "18mpzvvww2g6y2d3m8wcfajzdshagihn59k03xvcknd5d8zxagl3"; }; - cargoSha256 = "05asqp5312a1g26pvf5hgqhc4kj3iw2hdvml2ycvga33sxb7zm7r"; - - patches = [ ./fix_cargo_lock_version.patch ]; + cargoSha256 = "0298x7wkr4j1l5flmv5vhl1ay8icvh4dlhsh4xi8fd3p8jl9jpqv"; 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 deleted file mode 100644 index bc4db7ef7c1..00000000000 --- a/pkgs/applications/networking/cluster/click/fix_cargo_lock_version.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 3f342ea04a0..88dbd177da0 100644 --- a/pkgs/applications/networking/cluster/cni/default.nix +++ b/pkgs/applications/networking/cluster/cni/default.nix @@ -1,28 +1,17 @@ { stdenv, fetchFromGitHub, buildGoPackage }: buildGoPackage rec { - name = "cni-${version}"; - version = "0.6.0"; + pname = "cni"; + version = "0.7.0"; src = fetchFromGitHub { owner = "containernetworking"; - repo = "cni"; + repo = pname; rev = "v${version}"; - sha256 = "00ajs2r5r2z3l0vqwxrcwhjfc9px12qbcv5vnvs2mdipvvls1y2y"; + sha256 = "15ad323dw44k82bfx9r8w5q2kn7jix60p9v4ciyzx2p5pip36wp8"; }; goPackagePath = "github.com/containernetworking/cni"; - - buildPhase = '' - cd "go/src/${goPackagePath}" - patchShebangs build.sh - ./build.sh - ''; - - installPhase = '' - install -Dm555 bin/cnitool $bin/bin/cnitool - ''; - meta = with stdenv.lib; { description = "Container Network Interface - networking for Linux containers"; license = licenses.asl20; diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix index 27e0a038310..b5276818f79 100644 --- a/pkgs/applications/networking/cluster/cni/plugins.nix +++ b/pkgs/applications/networking/cluster/cni/plugins.nix @@ -1,23 +1,22 @@ { stdenv, lib, fetchFromGitHub, go, removeReferencesTo }: stdenv.mkDerivation rec { - name = "cni-plugins-${version}"; - version = "0.7.4"; + pname = "cni-plugins"; + version = "0.8.2"; src = fetchFromGitHub { owner = "containernetworking"; repo = "plugins"; rev = "v${version}"; - sha256 = "1sywllwnr6lc812sgkqjdd3y10r82shl88dlnwgnbgzs738q2vp2"; + sha256 = "0gyxa6mhiyxqw4wpn6r7wgr2kyvflzbdcqsk5ch0b6zih98144ia"; }; buildInputs = [ removeReferencesTo go ]; - GOCACHE = "off"; - buildPhase = '' - patchShebangs build.sh - ./build.sh + patchShebangs build_linux.sh + export "GOCACHE=$TMPDIR/go-cache" + ./build_linux.sh ''; installPhase = '' diff --git a/pkgs/applications/networking/cluster/docker-machine/default.nix b/pkgs/applications/networking/cluster/docker-machine/default.nix index 876630c559a..115dc3835fc 100644 --- a/pkgs/applications/networking/cluster/docker-machine/default.nix +++ b/pkgs/applications/networking/cluster/docker-machine/default.nix @@ -2,7 +2,7 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "machine-${version}"; + pname = "machine"; version = "0.16.1"; goPackagePath = "github.com/docker/machine"; diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm.nix b/pkgs/applications/networking/cluster/docker-machine/kvm.nix index 181663513d3..de122dd2a5a 100644 --- a/pkgs/applications/networking/cluster/docker-machine/kvm.nix +++ b/pkgs/applications/networking/cluster/docker-machine/kvm.nix @@ -2,7 +2,7 @@ { stdenv, buildGoPackage, fetchFromGitHub, libvirt, pkgconfig }: buildGoPackage rec { - name = "docker-machine-kvm-${version}"; + pname = "docker-machine-kvm"; version = "0.10.0"; goPackagePath = "github.com/dhiltgen/docker-machine-kvm"; diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix index 41465766489..eb2946cec77 100644 --- a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix +++ b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix @@ -1,8 +1,7 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, libvirt, pkgconfig, minikube }: +{ stdenv, buildGoModule, libvirt, pkgconfig, minikube }: -buildGoPackage rec { +buildGoModule rec { pname = "docker-machine-kvm2"; - name = "${pname}-${version}"; version = minikube.version; goPackagePath = "k8s.io/minikube"; @@ -10,6 +9,8 @@ buildGoPackage rec { src = minikube.src; + modSha256 = minikube.go-modules.outputHash; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libvirt ]; @@ -18,7 +19,7 @@ buildGoPackage rec { ''; postInstall = '' - mv $bin/bin/kvm $bin/bin/docker-machine-driver-kvm2 + mv $out/bin/kvm $out/bin/docker-machine-driver-kvm2 ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/cluster/docker-machine/xhyve.nix b/pkgs/applications/networking/cluster/docker-machine/xhyve.nix index 6b0440eb84a..1c2caff50d5 100644 --- a/pkgs/applications/networking/cluster/docker-machine/xhyve.nix +++ b/pkgs/applications/networking/cluster/docker-machine/xhyve.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, Hypervisor, vmnet }: buildGoPackage rec { - name = "docker-machine-xhyve-${version}"; + pname = "docker-machine-xhyve"; version = "0.3.3"; goPackagePath = "github.com/zchee/docker-machine-driver-xhyve"; diff --git a/pkgs/applications/networking/cluster/flink/default.nix b/pkgs/applications/networking/cluster/flink/default.nix index e5f437a89ad..424b2ddca91 100644 --- a/pkgs/applications/networking/cluster/flink/default.nix +++ b/pkgs/applications/networking/cluster/flink/default.nix @@ -8,8 +8,8 @@ let sha256 = "18wqcqi3gyqd40nspih99gq7ylfs20b35f4dcrspffagwkfp2l4z"; }; "1.6" = { - flinkVersion = "1.6.2"; - sha256 = "17fsr6yv1ayr7fw0r4pjlbpkn9ypzjs4brqndzr3gbzwrdc44arw"; + flinkVersion = "1.8.1"; + sha256 = "1ynxlkdxvrgww9hh7rlkhybrp5vl2slj3pqg2qzc8khpcgqx1h2g"; }; }; in diff --git a/pkgs/applications/networking/cluster/fluxctl/default.nix b/pkgs/applications/networking/cluster/fluxctl/default.nix new file mode 100644 index 00000000000..b0f67932265 --- /dev/null +++ b/pkgs/applications/networking/cluster/fluxctl/default.nix @@ -0,0 +1,24 @@ +{ stdenv, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "fluxctl"; + version = "1.13.3"; + + src = fetchFromGitHub { + owner = "weaveworks"; + repo = "flux"; + rev = version; + sha256 = "0l2gc9p2jz1zyl527rr0r3qklm4j86d4biviq8a30jl9rsx6z4cy"; + }; + + modSha256 = "1q5g9hd0ansdc2acpysf6wi74q50w0psrpyhk4y6mm6kjvhlcn87"; + + subPackages = [ "cmd/fluxctl" ]; + + meta = with stdenv.lib; { + description = "CLI client for Flux, the GitOps Kubernetes operator"; + homepage = https://github.com/weaveworks/flux; + license = licenses.asl20; + maintainers = with maintainers; [ Gonzih ]; + }; +} diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix index dfe6513bf0c..438fdfb2eba 100644 --- a/pkgs/applications/networking/cluster/hadoop/default.nix +++ b/pkgs/applications/networking/cluster/hadoop/default.nix @@ -1,7 +1,9 @@ -{ stdenv, fetchurl, makeWrapper, pkgconfig, which, maven, cmake, jre, bash, coreutils, glibc, protobuf2_5, fuse, snappy, zlib, bzip2, openssl }: +{ stdenv, fetchurl, makeWrapper, pkgconfig, which, maven, cmake, jre, bash +, coreutils, glibc, protobuf2_5, fuse, snappy, zlib, bzip2, openssl, openssl_1_0_2 +}: let - common = { version, sha256, dependencies-sha256, tomcat }: + common = { version, sha256, dependencies-sha256, tomcat, opensslPkg ? openssl }: let # compile the hadoop tarball from sources, it requires some patches binary-distributon = stdenv.mkDerivation rec { @@ -19,7 +21,7 @@ let # perform fake build to make a fixed-output derivation of dependencies downloaded from maven central (~100Mb in ~3000 files) fetched-maven-deps = stdenv.mkDerivation { name = "hadoop-${version}-maven-deps"; - inherit src postUnpack nativeBuildInputs buildInputs configurePhase; + inherit src postUnpack nativeBuildInputs buildInputs; buildPhase = '' while mvn package -Dmaven.repo.local=$out/.m2 ${mavenFlags} -Dmaven.wagon.rto=5000; [ $? = 1 ]; do echo "timeout, restart maven to continue downloading" @@ -33,7 +35,7 @@ let }; nativeBuildInputs = [ maven cmake pkgconfig ]; - buildInputs = [ fuse snappy zlib bzip2 openssl protobuf2_5 ]; + buildInputs = [ fuse snappy zlib bzip2 opensslPkg protobuf2_5 ]; # most of the hardcoded pathes are fixed in 2.9.x and 3.0.0, this list of patched files might be reduced when 2.7.x and 2.8.x will be deprecated postPatch = '' for file in hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/HardLink.java \ @@ -51,7 +53,7 @@ let fi done ''; - configurePhase = "true"; # do not trigger cmake hook + dontConfigure = true; # do not trigger cmake hook mavenFlags = "-Drequire.snappy -Drequire.bzip2 -DskipTests -Pdist,native -e"; buildPhase = '' # 'maven.repo.local' must be writable @@ -64,7 +66,8 @@ let }; in stdenv.mkDerivation rec { - name = "hadoop-${version}"; + pname = "hadoop"; + inherit version; src = binary-distributon; @@ -84,7 +87,7 @@ let mv $n $out/bin.wrapped/ makeWrapper $out/bin.wrapped/$(basename $n) $n \ --prefix PATH : "${stdenv.lib.makeBinPath [ which jre bash coreutils ]}" \ - --prefix JAVA_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ openssl snappy zlib bzip2 ]}" \ + --prefix JAVA_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ opensslPkg snappy zlib bzip2 ]}" \ --set JAVA_HOME "${jre}" \ --set HADOOP_PREFIX "$out" fi @@ -127,18 +130,21 @@ in { sha256 = "1ahv67f3lwak3kbjvnk1gncq56z6dksbajj872iqd0awdsj3p5rf"; dependencies-sha256 = "1lsr9nvrynzspxqcamb10d596zlnmnfpxhkd884gdiva0frm0b1r"; tomcat = tomcat_6_0_48; + opensslPkg = openssl_1_0_2; }; hadoop_2_8 = common { version = "2.8.4"; sha256 = "16c3ljhrzibkjn3y1bmjxdgf0kn60l23ay5hqpp7vpbnqx52x68w"; dependencies-sha256 = "1j4f461487fydgr5978nnm245ksv4xbvskfr8pbmfhcyss6b7w03"; tomcat = tomcat_6_0_48; + opensslPkg = openssl_1_0_2; }; hadoop_2_9 = common { version = "2.9.1"; sha256 = "0qgmpfbpv7f521fkjy5ldzdb4lwiblhs0hyl8qy041ws17y5x7d7"; dependencies-sha256 = "1d5i8jj5y746rrqb9lscycnd7acmxlkz64ydsiyqsh5cdqgy2x7x"; tomcat = tomcat_6_0_48; + opensslPkg = openssl_1_0_2; }; hadoop_3_0 = common { version = "3.0.3"; diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix index c03af2e9683..b32862bb4d6 100644 --- a/pkgs/applications/networking/cluster/helm/default.nix +++ b/pkgs/applications/networking/cluster/helm/default.nix @@ -1,14 +1,14 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - version = "2.11.0"; - name = "helm-${version}"; + version = "2.14.2"; + pname = "helm"; src = fetchFromGitHub { owner = "helm"; repo = "helm"; rev = "v${version}"; - sha256 = "1z810a6mxyrrw4i908dip8aqsj95c0kmv6xpb1wwhskg1zmf85wk"; + sha256 = "0hxfyfpmhgr5jilp2xm9d5vxiq5fcgqm2hh4g4izcgiz9bz7b6k0"; }; goPackagePath = "k8s.io/helm"; @@ -18,7 +18,7 @@ buildGoPackage rec { # Thsese are the original flags from the helm makefile buildFlagsArray = '' - -ldflags=-X k8s.io/helm/pkg/version.Version=v${version} + -ldflags=-X k8s.io/helm/pkg/version.Version=v${version} -X k8s.io/helm/pkg/version.GitTreeState=clean -X k8s.io/helm/pkg/version.BuildMetadata= -w -s ''; diff --git a/pkgs/applications/networking/cluster/helm/deps.nix b/pkgs/applications/networking/cluster/helm/deps.nix index 36bd3406f5b..2fdda0ca280 100644 --- a/pkgs/applications/networking/cluster/helm/deps.nix +++ b/pkgs/applications/networking/cluster/helm/deps.nix @@ -1,839 +1,1181 @@ -# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix) [ { - goPackagePath = "cloud.google.com/go"; + goPackagePath = "cloud.google.com/go"; fetch = { type = "git"; url = "https://code.googlesource.com/gocloud"; - rev = "3b1ae45394a234c385be014e9a488f2bb6eef821"; - sha256 = "0alb495ql6s02kb6lxcbnlkdcmhixyl8zv11sgrkhsk1bckzh119"; + rev = "v0.26.0"; + sha256 = "149v3ci17g6wd2pm18mzcncq5qpl9hwdjnz3rlbn5rfidyn46la1"; }; } { - goPackagePath = "github.com/Azure/go-ansiterm"; + goPackagePath = "github.com/Azure/go-ansiterm"; fetch = { type = "git"; url = "https://github.com/Azure/go-ansiterm"; - rev = "19f72df4d05d31cbe1c56bfc8045c96babff6c7e"; - sha256 = "0663w5m5qlidpj17s5pqp6rhl0phw7vypf104n04dvdy5nd418ix"; + rev = "d6e3b3328b78"; + sha256 = "010khrkhkf9cxlvvb6ncqv4c1qcdmpbz9jn38g4fxf4xsma8xx1q"; }; } { - goPackagePath = "github.com/Azure/go-autorest"; + goPackagePath = "github.com/Azure/go-autorest"; fetch = { type = "git"; url = "https://github.com/Azure/go-autorest"; - rev = "1ff28809256a84bb6966640ff3d0371af82ccba4"; - sha256 = "0sxvj2j1833bqwxvhq3wq3jgq73rnb81pnzvl0x3y1m0hzpaf2zv"; + rev = "v11.1.0"; + sha256 = "1jmr04qkl9fgmj56czn2979ng0f6ygfbk2khv2xyx368686xc1d6"; }; } { - goPackagePath = "github.com/BurntSushi/toml"; + goPackagePath = "github.com/BurntSushi/toml"; fetch = { type = "git"; url = "https://github.com/BurntSushi/toml"; - rev = "b26d9c308763d68093482582cea63d69be07a0f0"; - sha256 = "0k7v2i1d2d6si8gswn83qb84czhhia53v2wdy33yz9ppdidxk0ry"; + rev = "v0.3.1"; + sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6"; }; } { - goPackagePath = "github.com/MakeNowJust/heredoc"; + goPackagePath = "github.com/MakeNowJust/heredoc"; fetch = { type = "git"; url = "https://github.com/MakeNowJust/heredoc"; - rev = "bb23615498cded5e105af4ce27de75b089cbe851"; + rev = "bb23615498cd"; sha256 = "17m780i9afj3sbmcrgwgzarfly4x9376w56qblkqnzdkv6vps22i"; }; } { - goPackagePath = "github.com/Masterminds/semver"; + goPackagePath = "github.com/Masterminds/goutils"; + fetch = { + type = "git"; + url = "https://github.com/Masterminds/goutils"; + rev = "v1.1.0"; + sha256 = "180px47gj936qyk5bkv5mbbgiil9abdjq6kwkf7sq70vyi9mcfiq"; + }; + } + { + goPackagePath = "github.com/Masterminds/semver"; fetch = { type = "git"; url = "https://github.com/Masterminds/semver"; - rev = "517734cc7d6470c0d07130e40fd40bdeb9bcd3fd"; - sha256 = "1625b5sxpmlz60jw67j1ljfcc09d4lhxg3z6gc4am8s2rrdgwij6"; + rev = "v1.4.2"; + sha256 = "0k2fpk2x8jbvqkqxx5hkx1ygrsppzmzypqb90i1r33yq7ac7zlxj"; }; } { - goPackagePath = "github.com/Masterminds/sprig"; + goPackagePath = "github.com/Masterminds/sprig"; fetch = { type = "git"; url = "https://github.com/Masterminds/sprig"; - rev = "15f9564e7e9cf0da02a48e0d25f12a7b83559aa6"; - sha256 = "1k5pfx9hxzb70kh73a009ikr3vqlq0jvzvbyvxz9x7a7yc4r5b14"; + rev = "9f8fceff796f"; + sha256 = "0m6h88xcs8zc2b1g6zaksfn9kyqhr8q9508h57jb6papx7w54yl2"; }; } { - goPackagePath = "github.com/Masterminds/vcs"; + goPackagePath = "github.com/Masterminds/vcs"; fetch = { type = "git"; url = "https://github.com/Masterminds/vcs"; - rev = "3084677c2c188840777bff30054f2b553729d329"; + rev = "v1.11.1"; sha256 = "1062m73h0pp5d0574lf6px4jsjgywnsbkw50inxx3zal5r185ydm"; }; } { - goPackagePath = "github.com/PuerkitoBio/purell"; + goPackagePath = "github.com/PuerkitoBio/purell"; fetch = { type = "git"; url = "https://github.com/PuerkitoBio/purell"; - rev = "8a290539e2e8629dbc4e6bad948158f790ec31f4"; - sha256 = "1qhsy1nm96b9kb63svkvkqmmw15xg6irwcysisxdgzk64adfwqv1"; + rev = "v1.1.0"; + sha256 = "0vsxyn1fbm7g873b8kf3hcsgqgncb5nmfq3zfsc35a9yhzarka91"; }; } { - goPackagePath = "github.com/PuerkitoBio/urlesc"; + goPackagePath = "github.com/PuerkitoBio/urlesc"; fetch = { type = "git"; url = "https://github.com/PuerkitoBio/urlesc"; - rev = "5bd2802263f21d8788851d5305584c82a5c75d7e"; - sha256 = "15y5r3asvm7196m3nza5xvdvlc2k11p6lfs6hi917hl7r9vgi6mp"; + rev = "de5bf2ad4578"; + sha256 = "0n0srpqwbaan1wrhh2b7ysz543pjs1xw2rghvqyffg9l0g8kzgcw"; }; } { - goPackagePath = "github.com/aokoli/goutils"; + goPackagePath = "github.com/adisbladis/vgo2nix"; fetch = { type = "git"; - url = "https://github.com/aokoli/goutils"; - rev = "9c37978a95bd5c709a15883b6242714ea6709e64"; - sha256 = "1c51qgk4pjc8c776h7589c3d14791h86f1yj3ykg4q7vlcf9xrnr"; + url = "https://github.com/adisbladis/vgo2nix"; + rev = "56ac56bb0d96"; + sha256 = "1jbxbgcqkal8cdhj2nfbw92fn1fs9ng1df9sf92vgf0m1xzq2mc3"; }; } { - goPackagePath = "github.com/asaskevich/govalidator"; + goPackagePath = "github.com/alecthomas/assert"; + fetch = { + type = "git"; + url = "https://github.com/alecthomas/assert"; + rev = "405dbfeb8e38"; + sha256 = "1l567pi17k593nrd1qlbmiq8z9jy3qs60px2a16fdpzjsizwqx8l"; + }; + } + { + goPackagePath = "github.com/alecthomas/colour"; + fetch = { + type = "git"; + url = "https://github.com/alecthomas/colour"; + rev = "60882d9e2721"; + sha256 = "0iq566534gbzkd16ixg7fk298wd766821vvs80838yifx9yml5vs"; + }; + } + { + goPackagePath = "github.com/alecthomas/kingpin"; + fetch = { + type = "git"; + url = "https://github.com/alecthomas/kingpin"; + rev = "v2.2.6"; + sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r"; + }; + } + { + goPackagePath = "github.com/alecthomas/repr"; + fetch = { + type = "git"; + url = "https://github.com/alecthomas/repr"; + rev = "117648cd9897"; + sha256 = "05v1rgzdqc8razf702laagrvhvx68xd9yxxmzd3dyz0d6425pdrp"; + }; + } + { + goPackagePath = "github.com/alecthomas/template"; + fetch = { + type = "git"; + url = "https://github.com/alecthomas/template"; + rev = "a0175ee3bccc"; + sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj"; + }; + } + { + goPackagePath = "github.com/alecthomas/units"; + fetch = { + type = "git"; + url = "https://github.com/alecthomas/units"; + rev = "2efee857e7cf"; + sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl"; + }; + } + { + goPackagePath = "github.com/asaskevich/govalidator"; fetch = { type = "git"; url = "https://github.com/asaskevich/govalidator"; - rev = "7664702784775e51966f0885f5cd27435916517b"; + rev = "766470278477"; sha256 = "1lmynw9vkgrxv7nh60wdywv0nx4gjlkiar433wydhpc2h3m5q968"; }; } { - goPackagePath = "github.com/beorn7/perks"; + goPackagePath = "github.com/beorn7/perks"; fetch = { type = "git"; url = "https://github.com/beorn7/perks"; - rev = "3ac7bf7a47d159a033b107610db8a1b6575507a4"; - sha256 = "1qc3l4r818xpvrhshh1sisc5lvl9479qspcfcdbivdyh0apah83r"; + rev = "3a771d992973"; + sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3"; }; } { - goPackagePath = "github.com/chai2010/gettext-go"; + goPackagePath = "github.com/chai2010/gettext-go"; fetch = { type = "git"; url = "https://github.com/chai2010/gettext-go"; - rev = "bf70f2a70fb1b1f36d90d671a72795984eab0fcb"; - sha256 = "0bwjwvjl7zqm7kxram1rzz0ri3h897kiin13ljy9hx3fzz1i9lml"; + rev = "c6fed771bfd5"; + sha256 = "1p9gzj39x4gyhc552n3dmi3kc224gwilawa5kcg8rla31qkwlsky"; }; } { - goPackagePath = "github.com/cpuguy83/go-md2man"; + goPackagePath = "github.com/client9/misspell"; + fetch = { + type = "git"; + url = "https://github.com/client9/misspell"; + rev = "v0.3.4"; + sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs"; + }; + } + { + goPackagePath = "github.com/cpuguy83/go-md2man"; fetch = { type = "git"; url = "https://github.com/cpuguy83/go-md2man"; - rev = "71acacd42f85e5e82f70a55327789582a5200a90"; + rev = "v1.0.4"; sha256 = "0hmkrq4gdzb6mwllmh4p1y7vrz7hyr8xqagpk9nyr5dhygvnnq2v"; }; } { - goPackagePath = "github.com/cyphar/filepath-securejoin"; + goPackagePath = "github.com/cyphar/filepath-securejoin"; fetch = { type = "git"; url = "https://github.com/cyphar/filepath-securejoin"; - rev = "a261ee33d7a517f054effbf451841abaafe3e0fd"; + rev = "v0.2.2"; sha256 = "0id32zjb92wm569m29nfrzz5mw9z1glr3klayr6j134pp4h1sgq4"; }; } { - goPackagePath = "github.com/davecgh/go-spew"; + goPackagePath = "github.com/davecgh/go-spew"; fetch = { type = "git"; url = "https://github.com/davecgh/go-spew"; - rev = "782f4967f2dc4564575ca782fe2d04090b5faca8"; - sha256 = "1ypijjawqc0xgmgim42260ibcyclfgfizicz5cbvndw4plqfsswk"; + rev = "v1.1.1"; + sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"; }; } { - goPackagePath = "github.com/dgrijalva/jwt-go"; + goPackagePath = "github.com/dgrijalva/jwt-go"; fetch = { type = "git"; url = "https://github.com/dgrijalva/jwt-go"; - rev = "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e"; - sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp"; + rev = "01aeca54ebda"; + sha256 = "10dmb5xxn5wijn299h483z0klprprkq7n1azakm3ysp50sr11ywg"; }; } { - goPackagePath = "github.com/docker/distribution"; + goPackagePath = "github.com/docker/distribution"; fetch = { type = "git"; url = "https://github.com/docker/distribution"; - rev = "edc3ab29cdff8694dd6feb85cfeb4b5f1b38ed9c"; + rev = "edc3ab29cdff"; sha256 = "1nqjaq1q6fs3c0avpb02sib0a906xfbk3m74hk2mqjdbyx9y8b4m"; }; } { - goPackagePath = "github.com/docker/docker"; + goPackagePath = "github.com/docker/docker"; fetch = { type = "git"; url = "https://github.com/docker/docker"; - rev = "4f3616fb1c112e206b88cb7a9922bf49067a7756"; - sha256 = "0zmsqm1lkwggfqgy2rw34g4g2jlvr6mvcsh65fmpdb30l65iaqzf"; + rev = "a9fbbdc8dd87"; + sha256 = "0vkr9fs8qv3ydpm4f4b3jsx1f3cxpws78f2kwpyn00y1gb3lpnpc"; }; } { - 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"; + goPackagePath = "github.com/docker/spdystream"; fetch = { type = "git"; url = "https://github.com/docker/spdystream"; - rev = "449fdfce4d962303d702fec724ef0ad181c92528"; + rev = "449fdfce4d96"; sha256 = "1412cpiis971iq1kxrirzirhj2708ispjh0x0dh879b66x8507sl"; }; } { - goPackagePath = "github.com/evanphx/json-patch"; + goPackagePath = "github.com/emicklei/go-restful"; fetch = { type = "git"; - url = "https://github.com/evanphx/json-patch"; - rev = "94e38aa1586e8a6c8a75770bddf5ff84c48a106b"; - sha256 = "1c9gzc3gb76lm5famc0345y90is1lyffn39bmdr0xk19462f8av5"; + url = "https://github.com/emicklei/go-restful"; + rev = "ff4f55a20633"; + sha256 = "1v5lj5142abz3gvbygp6xghpdx4ps2lwswl8559ivaidahwnc21c"; }; } { - goPackagePath = "github.com/exponent-io/jsonpath"; + goPackagePath = "github.com/evanphx/json-patch"; + fetch = { + type = "git"; + url = "https://github.com/evanphx/json-patch"; + rev = "v4.2.0"; + sha256 = "0cfvyhl3hjfc4z8hbkfc40yafv6r7y513zgp3jwf88isbd13r7a6"; + }; + } + { + goPackagePath = "github.com/exponent-io/jsonpath"; fetch = { type = "git"; url = "https://github.com/exponent-io/jsonpath"; - rev = "d6023ce2651d8eafb5c75bb0c7167536102ec9f5"; + rev = "d6023ce2651d"; sha256 = "1qkzaxsjs7yg1672sk67nr119j7jc4751yzgii0j3nbipjv321kc"; }; } { - goPackagePath = "github.com/fatih/camelcase"; + goPackagePath = "github.com/fatih/camelcase"; fetch = { type = "git"; url = "https://github.com/fatih/camelcase"; - rev = "f6a740d52f961c60348ebb109adde9f4635d7540"; + rev = "f6a740d52f96"; sha256 = "15vb86adns1izvbzjw0lmmzrwlarhbxw5qalhx10vzzdx73wh4ai"; }; } { - goPackagePath = "github.com/ghodss/yaml"; + goPackagePath = "github.com/ghodss/yaml"; fetch = { type = "git"; url = "https://github.com/ghodss/yaml"; - rev = "73d445a93680fa1a78ae23a5839bad48f32ba1ee"; - sha256 = "0pg53ky4sy3sp9j4n7vgf1p3gw4nbckwqfldcmmi9rf13kjh0mr7"; + rev = "c7ce16629ff4"; + sha256 = "10cyv1gy3zwwkr04kk8cvhifb7xddakyvnk5s13yfcqj9hcjz8d1"; }; } { - goPackagePath = "github.com/go-openapi/jsonpointer"; + goPackagePath = "github.com/go-kit/kit"; + fetch = { + type = "git"; + url = "https://github.com/go-kit/kit"; + rev = "v0.8.0"; + sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0"; + }; + } + { + goPackagePath = "github.com/go-logfmt/logfmt"; + fetch = { + type = "git"; + url = "https://github.com/go-logfmt/logfmt"; + rev = "v0.3.0"; + sha256 = "1gkgh3k5w1xwb2qbjq52p6azq3h1c1rr6pfwjlwj1zrijpzn2xb9"; + }; + } + { + goPackagePath = "github.com/go-openapi/jsonpointer"; fetch = { type = "git"; url = "https://github.com/go-openapi/jsonpointer"; - rev = "46af16f9f7b149af66e5d1bd010e3574dc06de98"; - sha256 = "0w0fphmdycjzbsm1vppdcjc9aqinkcdzcq3pxikdvdqh5p791gsc"; + rev = "v0.19.0"; + sha256 = "0sv2k1fwj6rsigc9489c19ap0jib1d0widm040h0sjdw2nadh3i2"; }; } { - goPackagePath = "github.com/go-openapi/jsonreference"; + goPackagePath = "github.com/go-openapi/jsonreference"; fetch = { type = "git"; url = "https://github.com/go-openapi/jsonreference"; - rev = "13c6e3589ad90f49bd3e3bbe2c2cb3d7a4142272"; - sha256 = "1fh4xcl9ijww4bdq656sx981d57w2c9zx5148jsxlsg4bsvxmwis"; + rev = "v0.19.0"; + sha256 = "1d0rk17wn755xsfi9pxifdpgs2p23bc0rkf95kjwxczyy6jbqdaj"; }; } { - goPackagePath = "github.com/go-openapi/spec"; + goPackagePath = "github.com/go-openapi/spec"; fetch = { type = "git"; url = "https://github.com/go-openapi/spec"; - rev = "1de3e0542de65ad8d75452a595886fdd0befb363"; - sha256 = "13i9y71fk9vr2abvpsk04k55il32ly3fjinvl1zlamh9mi2mdzf4"; + rev = "v0.17.2"; + sha256 = "14n5x2nxlj2x62v3km96yw7rncxk2b9v94k3j0c22r43c60m38mx"; }; } { - goPackagePath = "github.com/go-openapi/swag"; + goPackagePath = "github.com/go-openapi/swag"; fetch = { type = "git"; url = "https://github.com/go-openapi/swag"; - rev = "f3f9494671f93fcff853e3c6e9e948b3eb71e590"; - sha256 = "13lqn4xqy9vma9aqsjb0fzfzi0q8l6dmg65sjxqdxf3q6gzkvmjy"; + rev = "v0.17.2"; + sha256 = "1hhgbx59f7lcsqiza2is8q9walhf8mxfkwj7xql1scrn6ms2jmlv"; }; } { - goPackagePath = "github.com/gobwas/glob"; + goPackagePath = "github.com/go-sql-driver/mysql"; + fetch = { + type = "git"; + url = "https://github.com/go-sql-driver/mysql"; + rev = "v1.4.0"; + sha256 = "1jwz2j3vd5hlzmnkh20d4276yd8cxy7pac3x3dfi52jkm82ms99n"; + }; + } + { + goPackagePath = "github.com/go-stack/stack"; + fetch = { + type = "git"; + url = "https://github.com/go-stack/stack"; + rev = "v1.8.0"; + sha256 = "0wk25751ryyvxclyp8jdk5c3ar0cmfr8lrjb66qbg4808x66b96v"; + }; + } + { + goPackagePath = "github.com/gobwas/glob"; fetch = { type = "git"; url = "https://github.com/gobwas/glob"; - rev = "5ccd90ef52e1e632236f7326478d4faa74f99438"; + rev = "v0.2.3"; sha256 = "0jxk1x806zn5x86342s72dq2qy64ksb3zrvrlgir2avjhwb18n6z"; }; } { - goPackagePath = "github.com/gogo/protobuf"; + goPackagePath = "github.com/gogo/protobuf"; fetch = { type = "git"; url = "https://github.com/gogo/protobuf"; - rev = "c0656edd0d9eab7c66d1eb0c568f9039345796f7"; - sha256 = "0b943dhx571lhgcs3rqzy0092mi2x5mwy2kl7g8rryhy3r5rzrz9"; + rev = "v1.1.1"; + sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2"; }; } { - goPackagePath = "github.com/golang/glog"; + goPackagePath = "github.com/golang/glog"; fetch = { type = "git"; url = "https://github.com/golang/glog"; - rev = "44145f04b68cf362d9c4df2182967c2275eaefed"; - sha256 = "1k7sf6qmpgm0iw81gx2dwggf9di6lgw0n54mni7862hihwfrb5rq"; + rev = "23def4e6c14b"; + sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30"; }; } { - goPackagePath = "github.com/golang/groupcache"; + goPackagePath = "github.com/golang/groupcache"; fetch = { type = "git"; url = "https://github.com/golang/groupcache"; - rev = "02826c3e79038b59d737d3b1c0a1d937f71a4433"; + rev = "02826c3e7903"; sha256 = "0w46bsllddfij66nrg8jbfjsr54birvfww8a2fj9fmgyig5syn2x"; }; } { - goPackagePath = "github.com/golang/protobuf"; + goPackagePath = "github.com/golang/mock"; fetch = { type = "git"; - url = "https://github.com/golang/protobuf"; - rev = "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9"; - sha256 = "1ch3czyzq5abl6zm1l0dfsi09xj43ql9jcbmbhfhxz954pw03v3v"; + url = "https://github.com/golang/mock"; + rev = "v1.1.1"; + sha256 = "0ap8wb6pdl6ccmdb43advjll2ly4sz26wsc3axw0hbrjrybybzgy"; }; } { - goPackagePath = "github.com/google/btree"; + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "v1.2.0"; + sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab"; + }; + } + { + goPackagePath = "github.com/google/btree"; fetch = { type = "git"; url = "https://github.com/google/btree"; - rev = "7d79101e329e5a3adf994758c578dab82b90c017"; + rev = "7d79101e329e"; sha256 = "1c1hsy5s2pfawg3l9954jmqmy4yc2zp3f7i87m00km2yqgb8xpd0"; }; } { - goPackagePath = "github.com/google/gofuzz"; + goPackagePath = "github.com/google/gofuzz"; fetch = { type = "git"; url = "https://github.com/google/gofuzz"; - rev = "44d81051d367757e1c7c6a5a86423ece9afcf63c"; - sha256 = "0ivq2sl2fv8x0xxrcys27c42s8yq7irgl7lp6l0im9i7ky63nk0i"; + rev = "24818f796faf"; + sha256 = "0cq90m2lgalrdfrwwyycrrmn785rgnxa3l3vp9yxkvnv88bymmlm"; }; } { - goPackagePath = "github.com/google/uuid"; + goPackagePath = "github.com/google/uuid"; fetch = { type = "git"; url = "https://github.com/google/uuid"; - rev = "064e2069ce9c359c118179501254f67d7d37ba24"; + rev = "064e2069ce9c"; sha256 = "1b1ibx3rbiv7xwa9kz4b4zpp1fza5cjnn8v6749b4vrkjjmp3rqb"; }; } { - goPackagePath = "github.com/googleapis/gnostic"; + goPackagePath = "github.com/googleapis/gnostic"; fetch = { type = "git"; url = "https://github.com/googleapis/gnostic"; - rev = "0c5108395e2debce0d731cf0287ddf7242066aba"; + rev = "0c5108395e2d"; sha256 = "0jf3cp5clli88gpjf24r6wxbkvngnc1kf59d4cgjczsn2wasvsfc"; }; } { - goPackagePath = "github.com/gophercloud/gophercloud"; + goPackagePath = "github.com/gophercloud/gophercloud"; fetch = { type = "git"; url = "https://github.com/gophercloud/gophercloud"; - rev = "781450b3c4fcb4f5182bcc5133adb4b2e4a09d1d"; - sha256 = "0xvapk94p1259k8arvwyvhwvcnzma9vdg12g750cgz2ghkzvfhff"; + rev = "c818fa66e4c8"; + sha256 = "0igz47lpdxgpfb4ckrrs64vr4wkkiqaamk4wf5d3il4dc2g06azw"; }; } { - goPackagePath = "github.com/gosuri/uitable"; + goPackagePath = "github.com/gosuri/uitable"; fetch = { type = "git"; url = "https://github.com/gosuri/uitable"; - rev = "36ee7e946282a3fb1cfecd476ddc9b35d8847e42"; + rev = "v0.0.1"; sha256 = "1ff68fv9g1df91fwbrcq83ar429gb4fi2vsd22zjmhvmbqx2zkil"; }; } { - goPackagePath = "github.com/gregjones/httpcache"; + goPackagePath = "github.com/gregjones/httpcache"; fetch = { type = "git"; url = "https://github.com/gregjones/httpcache"; - rev = "787624de3eb7bd915c329cba748687a3b22666a6"; + rev = "787624de3eb7"; sha256 = "1zqlg9pkj7r6fqw7wv3ywvbz3bh0hvzifs2scgcraj812q5189w5"; }; } { - goPackagePath = "github.com/grpc-ecosystem/go-grpc-prometheus"; + goPackagePath = "github.com/grpc-ecosystem/go-grpc-prometheus"; fetch = { type = "git"; url = "https://github.com/grpc-ecosystem/go-grpc-prometheus"; - rev = "0c1b191dbfe51efdabe3c14b9f6f3b96429e0722"; + rev = "0c1b191dbfe5"; sha256 = "0d7vybd4yy9a9clk03578xdpyhifxsy3qv6iiglrrnblbmpgksjc"; }; } { - goPackagePath = "github.com/hashicorp/golang-lru"; + goPackagePath = "github.com/hashicorp/golang-lru"; fetch = { type = "git"; url = "https://github.com/hashicorp/golang-lru"; - rev = "a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4"; - sha256 = "1z3h4aca31l3qs0inqr5l49vrlycpjm7vq1l9nh1mp0mb2ij0kmp"; + rev = "v0.5.0"; + sha256 = "12k2cp2k615fjvfa5hyb9k2alian77wivds8s65diwshwv41939f"; }; } { - goPackagePath = "github.com/huandu/xstrings"; + goPackagePath = "github.com/huandu/xstrings"; fetch = { type = "git"; url = "https://github.com/huandu/xstrings"; - rev = "3959339b333561bf62a38b424fd41517c2c90f40"; - sha256 = "0f1jyd80grpr88gwhljx2x0xgsyzw07807n4z4axxxlybh5f0nh1"; + rev = "v1.2.0"; + sha256 = "0bn1kac5vcspxdpx4bygr4gngdbk67pnbqc04b0f7a4ny25n10iq"; }; } { - goPackagePath = "github.com/imdario/mergo"; + goPackagePath = "github.com/imdario/mergo"; fetch = { type = "git"; url = "https://github.com/imdario/mergo"; - rev = "6633656539c1639d9d78127b7d47c622b5d7b6dc"; - sha256 = "1fffbq1l17i0gynmvcxypl7d9h4v81g5vlimiph5bfgf4sp4db7g"; + rev = "v0.3.5"; + sha256 = "1mvgn89vp39gcpvhiq4n7nw5ipj7fk6h03jgc6fjwgvwvss213pb"; }; } { - goPackagePath = "github.com/inconshreveable/mousetrap"; + goPackagePath = "github.com/inconshreveable/mousetrap"; fetch = { type = "git"; url = "https://github.com/inconshreveable/mousetrap"; - rev = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"; + rev = "v1.0.0"; sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152"; }; } { - goPackagePath = "github.com/json-iterator/go"; + goPackagePath = "github.com/jmoiron/sqlx"; + fetch = { + type = "git"; + url = "https://github.com/jmoiron/sqlx"; + rev = "v1.2.0"; + sha256 = "0pmi2asx157f5738g19fzyxb9g8yyfbpjyh2a2ykr9mafvp60rfd"; + }; + } + { + goPackagePath = "github.com/json-iterator/go"; fetch = { type = "git"; url = "https://github.com/json-iterator/go"; - rev = "f2b4162afba35581b6d4a50d3b8f34e33c144682"; - sha256 = "0siqfghsm2lkdwinvg8x5gls3p76rq3cdm59c1r4x0b2mdfhnvcd"; + rev = "ab8a2e0c74be"; + sha256 = "1x3wz44p1238gpyzkiiilvvrq9q8dwjdm9kdidq65yjq0zcn0sq4"; }; } { - goPackagePath = "github.com/mailru/easyjson"; + goPackagePath = "github.com/julienschmidt/httprouter"; + fetch = { + type = "git"; + url = "https://github.com/julienschmidt/httprouter"; + rev = "v1.2.0"; + sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666"; + }; + } + { + goPackagePath = "github.com/kisielk/gotool"; + fetch = { + type = "git"; + url = "https://github.com/kisielk/gotool"; + rev = "v1.0.0"; + sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn"; + }; + } + { + goPackagePath = "github.com/konsorten/go-windows-terminal-sequences"; + fetch = { + type = "git"; + url = "https://github.com/konsorten/go-windows-terminal-sequences"; + rev = "v1.0.1"; + sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip"; + }; + } + { + goPackagePath = "github.com/kr/logfmt"; + fetch = { + type = "git"; + url = "https://github.com/kr/logfmt"; + rev = "b84e30acd515"; + sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9"; + }; + } + { + goPackagePath = "github.com/lib/pq"; + fetch = { + type = "git"; + url = "https://github.com/lib/pq"; + rev = "v1.0.0"; + sha256 = "1zqnnyczaf00xi6xh53vq758v5bdlf0iz7kf22l02cal4i6px47i"; + }; + } + { + goPackagePath = "github.com/liggitt/tabwriter"; + fetch = { + type = "git"; + url = "https://github.com/liggitt/tabwriter"; + rev = "89fcab3d43de"; + sha256 = "04q8d0jk1ymvy7pv1dgfbqzk8gcjfa77psg1lk30ghlisf54pakg"; + }; + } + { + goPackagePath = "github.com/mailru/easyjson"; fetch = { type = "git"; url = "https://github.com/mailru/easyjson"; - rev = "2f5df55504ebc322e4d52d34df6a1f5b503bf26d"; - sha256 = "0d9m8kyhbawa452vnwn255xxnh6pkp3im0d2310rw1k14nh3yh1p"; + rev = "60711f1a8329"; + sha256 = "0234jp6134wkihdpdwq1hvzqblgl5khc1wp6dyi2h0hgh88bhdk1"; }; } { - goPackagePath = "github.com/mattn/go-runewidth"; + goPackagePath = "github.com/mattn/go-isatty"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-isatty"; + rev = "v0.0.3"; + sha256 = "06w45aqz2a6yrk25axbly2k5wmsccv8cspb94bfmz4izvw8h927n"; + }; + } + { + goPackagePath = "github.com/mattn/go-runewidth"; fetch = { type = "git"; url = "https://github.com/mattn/go-runewidth"; - rev = "d6bea18f789704b5f83375793155289da36a3c7f"; + rev = "v0.0.1"; sha256 = "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs"; }; } { - goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; + goPackagePath = "github.com/mattn/go-sqlite3"; fetch = { type = "git"; - url = "https://github.com/matttproud/golang_protobuf_extensions"; - rev = "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a"; - sha256 = "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"; + url = "https://github.com/mattn/go-sqlite3"; + rev = "v1.9.0"; + sha256 = "14vw8bwyaz9lrd1rqhfri5cwpimiimhp75pkbqxxsjsr5jz89s7m"; }; } { - goPackagePath = "github.com/mitchellh/go-wordwrap"; + goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; + fetch = { + type = "git"; + url = "https://github.com/matttproud/golang_protobuf_extensions"; + rev = "v1.0.1"; + sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"; + }; + } + { + goPackagePath = "github.com/mitchellh/go-wordwrap"; fetch = { type = "git"; url = "https://github.com/mitchellh/go-wordwrap"; - rev = "ad45545899c7b13c020ea92b2072220eefad42b8"; + rev = "ad45545899c7"; sha256 = "0ny1ddngvwfj3njn7pmqnf3l903lw73ynddw15x8ymp7hidv27v9"; }; } { - goPackagePath = "github.com/modern-go/concurrent"; + goPackagePath = "github.com/modern-go/concurrent"; fetch = { type = "git"; url = "https://github.com/modern-go/concurrent"; - rev = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"; + rev = "bacd9c7ef1dd"; sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs"; }; } { - goPackagePath = "github.com/modern-go/reflect2"; + goPackagePath = "github.com/modern-go/reflect2"; fetch = { type = "git"; url = "https://github.com/modern-go/reflect2"; - rev = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd"; - sha256 = "1721y3yr3dpx5dx5ashf063qczk2awy5zjir1jvp1h5hn7qz4i49"; + rev = "v1.0.1"; + sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf"; }; } { - goPackagePath = "github.com/opencontainers/go-digest"; + goPackagePath = "github.com/mwitkow/go-conntrack"; + fetch = { + type = "git"; + url = "https://github.com/mwitkow/go-conntrack"; + rev = "cc309e4a2223"; + sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf"; + }; + } + { + goPackagePath = "github.com/opencontainers/go-digest"; fetch = { type = "git"; url = "https://github.com/opencontainers/go-digest"; - rev = "a6d0ee40d4207ea02364bd3b9e8e77b9159ba1eb"; + rev = "a6d0ee40d420"; sha256 = "1paz3na2xkhi10p5bk7f7gbh5yykfgr9f9i2gcc13rb461yq6fmg"; }; } { - goPackagePath = "github.com/opencontainers/image-spec"; + goPackagePath = "github.com/orivej/e"; fetch = { type = "git"; - url = "https://github.com/opencontainers/image-spec"; - rev = "372ad780f63454fbbbbcc7cf80e5b90245c13e13"; - sha256 = "0wajddbm49bfybkab9midilg18zvdvvsffwhkq7bpp7inj4jnsvs"; + url = "https://github.com/orivej/e"; + rev = "ac3492690fda"; + sha256 = "11jizr28kfkr6zscjxg95pqi6cjp08aqnhs41sdhc98nww78ilkr"; }; } { - goPackagePath = "github.com/petar/GoLLRB"; + goPackagePath = "github.com/orivej/go-nix"; fetch = { type = "git"; - url = "https://github.com/petar/GoLLRB"; - rev = "53be0d36a84c2a886ca057d34b6aa4468df9ccb4"; - sha256 = "01xp3lcamqkvl91jg6ly202gdsgf64j39rkrcqxi6v4pbrcv7hz0"; + url = "https://github.com/orivej/go-nix"; + rev = "dae45d921a44"; + sha256 = "17hfmsz8hs3h2d5c06j1bvbw8ijrhzm3iz911z5zydsl4x7y0cgy"; }; } { - goPackagePath = "github.com/peterbourgon/diskv"; + goPackagePath = "github.com/peterbourgon/diskv"; fetch = { type = "git"; url = "https://github.com/peterbourgon/diskv"; - rev = "5f041e8faa004a95c88a202771f4cc3e991971e6"; + rev = "v2.0.1"; sha256 = "1mxpa5aad08x30qcbffzk80g9540wvbca4blc1r2qyzl65b8929b"; }; } { - goPackagePath = "github.com/pkg/errors"; + goPackagePath = "github.com/pkg/errors"; fetch = { type = "git"; url = "https://github.com/pkg/errors"; - rev = "645ef00459ed84a119197bfb8d8205042c6df63d"; + rev = "v0.8.0"; sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5"; }; } { - goPackagePath = "github.com/pmezard/go-difflib"; + goPackagePath = "github.com/pkg/profile"; + fetch = { + type = "git"; + url = "https://github.com/pkg/profile"; + rev = "v1.2.1"; + sha256 = "0blqmvgqvdbqmh3fp9pfdxc9w1qfshrr0zy9whj0sn372bw64qnr"; + }; + } + { + goPackagePath = "github.com/pmezard/go-difflib"; fetch = { type = "git"; url = "https://github.com/pmezard/go-difflib"; - rev = "d8ed2627bdf02c080bf22230dbb337003b7aba2d"; - sha256 = "0w1jp4k4zbnrxh3jvh8fgbjgqpf2hg31pbj8fb32kh26px9ldpbs"; + rev = "v1.0.0"; + sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; }; } { - goPackagePath = "github.com/prometheus/client_golang"; + goPackagePath = "github.com/prometheus/client_golang"; fetch = { type = "git"; url = "https://github.com/prometheus/client_golang"; - rev = "c5b7fccd204277076155f10851dad72b76a49317"; - sha256 = "1xqny3147g12n4j03kxm8s9mvdbs3ln6i56c655mybrn9jjy48kd"; + rev = "v0.9.2"; + sha256 = "02b4yg6rfag0m3j0i39sillcm5xczwv8h133vn12yr8qw04cnigs"; }; } { - goPackagePath = "github.com/prometheus/client_model"; + goPackagePath = "github.com/prometheus/client_model"; fetch = { type = "git"; url = "https://github.com/prometheus/client_model"; - rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6"; - sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"; + rev = "5c3871d89910"; + sha256 = "04psf81l9fjcwascsys428v03fx4fi894h7fhrj2vvcz723q57k0"; }; } { - goPackagePath = "github.com/prometheus/common"; + goPackagePath = "github.com/prometheus/common"; fetch = { type = "git"; url = "https://github.com/prometheus/common"; - rev = "13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207"; - sha256 = "0i6mpcnsawi7f00rfmjfjq8llaplyzq4xrkrawlcgfd762p5hnp8"; + rev = "v0.2.0"; + sha256 = "02kym6lcfnlq23qbv277jr0q1n7jj0r14gqg93c7wn7gc44jv3vp"; }; } { - goPackagePath = "github.com/prometheus/procfs"; + goPackagePath = "github.com/prometheus/procfs"; fetch = { type = "git"; url = "https://github.com/prometheus/procfs"; - rev = "65c1f6f8f0fc1e2185eb9863a3bc751496404259"; - sha256 = "0jfzmr8642hr04naim1maa3wklxvcxklykri2z7k4ayizc974lkq"; + rev = "1dc9a6cbc91a"; + sha256 = "1zlv1x30xp7z5c3vn5vp870v4bjim0zcidzc3mr2l3xhazc0svab"; }; } { - goPackagePath = "github.com/russross/blackfriday"; + goPackagePath = "github.com/rubenv/sql-migrate"; + fetch = { + type = "git"; + url = "https://github.com/rubenv/sql-migrate"; + rev = "1007f53448d7"; + sha256 = "1cd7wpgym7yzzv4n7bsmg9gh1g7mqlljih3881arqlq11083d3mc"; + }; + } + { + goPackagePath = "github.com/russross/blackfriday"; fetch = { type = "git"; url = "https://github.com/russross/blackfriday"; - rev = "300106c228d52c8941d4b3de6054a6062a86dda3"; + rev = "300106c228d5"; sha256 = "1bcqwb9lk2sijn5q3kqp7sadhh0ysbxlj5bxjspk9yp5bp733cbh"; }; } { - goPackagePath = "github.com/shurcooL/sanitized_anchor_name"; + goPackagePath = "github.com/sergi/go-diff"; + fetch = { + type = "git"; + url = "https://github.com/sergi/go-diff"; + rev = "v1.0.0"; + sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7"; + }; + } + { + goPackagePath = "github.com/shurcooL/sanitized_anchor_name"; fetch = { type = "git"; url = "https://github.com/shurcooL/sanitized_anchor_name"; - rev = "10ef21a441db47d8b13ebcc5fd2310f636973c77"; + rev = "10ef21a441db"; sha256 = "1cnbzcf47cn796rcjpph1s64qrabhkv5dn9sbynsy7m9zdwr5f01"; }; } { - goPackagePath = "github.com/sirupsen/logrus"; + goPackagePath = "github.com/sirupsen/logrus"; fetch = { type = "git"; url = "https://github.com/sirupsen/logrus"; - rev = "89742aefa4b206dcf400792f3bd35b542998eb3b"; - sha256 = "0hk7fabx59msg2y0iik6xvfp80s73ybrwlcshbm9ds91iqbkcxi6"; + rev = "v1.2.0"; + sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg"; }; } { - goPackagePath = "github.com/spf13/cobra"; + goPackagePath = "github.com/spf13/cobra"; fetch = { type = "git"; url = "https://github.com/spf13/cobra"; - rev = "c439c4fa093711d42e1b01acb1235b52004753c1"; - sha256 = "14v5vhb180yzaknxnm8j4n9jai58b0y2nzrqzpdq7bj9slsga1vd"; + rev = "fe5e611709b0"; + sha256 = "1pn7g9jmhqc9yg6x02dgp4phiggnnxz8a11pv5y4vxhrvkjm6h71"; }; } { - goPackagePath = "github.com/spf13/pflag"; + goPackagePath = "github.com/spf13/pflag"; fetch = { type = "git"; url = "https://github.com/spf13/pflag"; - rev = "583c0c0531f06d5278b7d917446061adc344b5cd"; - sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5"; + rev = "v1.0.3"; + sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd"; }; } { - goPackagePath = "github.com/stretchr/testify"; + goPackagePath = "github.com/stretchr/objx"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/objx"; + rev = "v0.1.1"; + sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; fetch = { type = "git"; url = "https://github.com/stretchr/testify"; - rev = "e3a8ff8ce36581f87a15341206f205b1da467059"; - sha256 = "179k26lcgafkbjylbhgj2f5pnh52bmv19rr1w95gca944blw8yga"; + rev = "v1.2.2"; + sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs"; }; } { - goPackagePath = "github.com/technosophos/moniker"; + goPackagePath = "github.com/technosophos/moniker"; fetch = { type = "git"; url = "https://github.com/technosophos/moniker"; - rev = "a5dbd03a2245d554160e3ae6bfdcf969fe58b431"; + rev = "a5dbd03a2245"; sha256 = "1z273gvbwr09lcxwd10wyvxmxjln93r952sr1w9hqxcgc1f8l3vl"; }; } { - goPackagePath = "golang.org/x/crypto"; + goPackagePath = "golang.org/x/crypto"; fetch = { type = "git"; url = "https://go.googlesource.com/crypto"; - rev = "49796115aa4b964c318aad4f3084fdb41e9aa067"; - sha256 = "0pcq2drkzsw585xi6rda8imd7a139prrmvgmv8nz0zgzk6g4dy59"; + rev = "0709b304e793"; + sha256 = "0i05s09y5pavmfh71fgih7syxg58x7a4krgd8am6d3mnahnmab5c"; }; } { - goPackagePath = "golang.org/x/net"; + goPackagePath = "golang.org/x/lint"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/lint"; + rev = "c67002cb31c3"; + sha256 = "0gymbggskjmphqxqcx4s0vnlcz7mygbix0vhwcwv5r67c0bf6765"; + }; + } + { + goPackagePath = "golang.org/x/net"; fetch = { type = "git"; url = "https://go.googlesource.com/net"; - rev = "1c05540f6879653db88113bc4a2b70aec4bd491f"; - sha256 = "0h8yqb0vcqgllgydrf9d3rzp83w8wlr8f0nm6r1rwf2qg30pq1pd"; + rev = "65e2d4e15006"; + sha256 = "0aqcmh0sp723d6hwgrv7pnrs4crns2ngr4x43jd4v985cbn455x7"; }; } { - goPackagePath = "golang.org/x/oauth2"; + goPackagePath = "golang.org/x/oauth2"; fetch = { type = "git"; url = "https://go.googlesource.com/oauth2"; - rev = "a6bd8cefa1811bd24b86f8902872e4e8225f74c4"; - sha256 = "151in8qcf5y97ziavl6b03vgw4r87zqx5kg4vjhjszjbh60cfswp"; + rev = "d2e6202438be"; + sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7"; }; } { - goPackagePath = "golang.org/x/sys"; + goPackagePath = "golang.org/x/sync"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sync"; + rev = "42b317875d0f"; + sha256 = "0mrjhk7al7yyh76x9flvxy4jm5jyqh2fxbxagpaazxn1xdgkaif3"; + }; + } + { + goPackagePath = "golang.org/x/sys"; fetch = { type = "git"; url = "https://go.googlesource.com/sys"; - rev = "43eea11bc92608addb41b8a406b0407495c106f6"; - sha256 = "0k9wy278f5753d130p8asva2g573vi6wviwkxwwnpxni118knq1l"; + rev = "b90733256f2e"; + sha256 = "1dsqa48ai4rrqf0sxypnmjg5c6sbp63mj5ljr7qadam06r5m2q98"; }; } { - goPackagePath = "golang.org/x/text"; + goPackagePath = "golang.org/x/text"; fetch = { type = "git"; url = "https://go.googlesource.com/text"; - rev = "b19bf474d317b857955b12035d2c5acb57ce8b01"; - sha256 = "0wc8csaafp0ps9jb2hdk8d6xpyw1axhk1np73h0z17x09zk3ylcr"; + rev = "v0.3.0"; + sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; }; } { - goPackagePath = "golang.org/x/time"; + goPackagePath = "golang.org/x/time"; fetch = { type = "git"; url = "https://go.googlesource.com/time"; - rev = "f51c12702a4d776e4c1fa9b0fabab841babae631"; + rev = "f51c12702a4d"; sha256 = "07wc6g2fvafkr6djsscm0jpbpl4135khhb6kpyx1953hi5d1jvyy"; }; } { - goPackagePath = "google.golang.org/appengine"; + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "6cd1fcedba52"; + sha256 = "00hl0vkmy8impsnmc2dmm55sdhia95k0kqcrjbdpynryn1lamn5d"; + }; + } + { + goPackagePath = "google.golang.org/appengine"; fetch = { type = "git"; url = "https://github.com/golang/appengine"; - rev = "12d5545dc1cfa6047a286d5e853841b6471f4c19"; - sha256 = "1bv6cjakhi6j3s1bqb3n45qrmvf20qkhwxllvi94jag4i7hd91w8"; + rev = "v1.1.0"; + sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x"; }; } { - goPackagePath = "google.golang.org/genproto"; + goPackagePath = "google.golang.org/genproto"; fetch = { type = "git"; url = "https://github.com/google/go-genproto"; - rev = "09f6ed296fc66555a25fe4ce95173148778dfa85"; - sha256 = "06x5wr7vjsnvv35rpv7jaklilksqbzsbqk8bxababw8vr6avfwki"; + rev = "c66870c02cf8"; + sha256 = "0siq7sv68556ygqi2d2zmvx8l1xjqdc0fylqzci5h1mq2i14bayn"; }; } { - goPackagePath = "google.golang.org/grpc"; + goPackagePath = "google.golang.org/grpc"; fetch = { type = "git"; url = "https://github.com/grpc/grpc-go"; - rev = "5ffe3083946d5603a0578721101dc8165b1d5b5f"; - sha256 = "1ij3sy49xfihwpcpiwd68mlfkrk375kdh6r6jlqka18zalxgpaan"; + rev = "v1.18.0"; + sha256 = "17drwyj3fi5sdz5ndlj7888b3gin6brs3jnh7gh6i15k97l6gf4n"; }; } { - goPackagePath = "gopkg.in/inf.v0"; + goPackagePath = "gopkg.in/alecthomas/kingpin.v2"; fetch = { type = "git"; - url = "https://github.com/go-inf/inf"; - rev = "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4"; + url = "https://gopkg.in/alecthomas/kingpin.v2"; + rev = "v2.2.6"; + sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r"; + }; + } + { + goPackagePath = "gopkg.in/check.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/check.v1"; + rev = "20d25e280405"; + sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np"; + }; + } + { + goPackagePath = "gopkg.in/gorp.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/gorp.v1"; + rev = "v1.7.2"; + sha256 = "0zwkq4cv71vp7cmpfcs54908g1amr0cdxv1b8h1icf64jjawb1lb"; + }; + } + { + goPackagePath = "gopkg.in/inf.v0"; + fetch = { + type = "git"; + url = "https://gopkg.in/inf.v0"; + rev = "v0.9.0"; sha256 = "0rf3vwyb8aqnac9x9d6ax7z5526c45a16yjm2pvkijr6qgqz8b82"; }; } { - goPackagePath = "gopkg.in/square/go-jose.v2"; + goPackagePath = "gopkg.in/square/go-jose.v2"; fetch = { type = "git"; - url = "https://github.com/square/go-jose"; - rev = "f8f38de21b4dcd69d0413faf231983f5fd6634b1"; - sha256 = "1bjrs3xq3m2ckfds0l4wqf81311ymm9agipmkllbvkadac156dsa"; + url = "https://gopkg.in/square/go-jose.v2"; + rev = "89060dee6a84"; + sha256 = "04ak01zs9qibr6qvc6l0zdjj9pgccpbvxz6rdwrqv698i1q3qfpd"; }; } { - goPackagePath = "gopkg.in/yaml.v2"; + goPackagePath = "gopkg.in/yaml.v2"; fetch = { type = "git"; - url = "https://github.com/go-yaml/yaml"; - rev = "670d4cfef0544295bc27a114dbac37980d83185a"; - sha256 = "182x97q4826cpzybkrl8icyx1n6l1z0kspmbz33fh901v10b6322"; + url = "https://gopkg.in/yaml.v2"; + rev = "v2.2.1"; + sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; }; } { - goPackagePath = "k8s.io/api"; + goPackagePath = "honnef.co/go/tools"; + fetch = { + type = "git"; + url = "https://github.com/dominikh/go-tools"; + rev = "88497007e858"; + sha256 = "0rinkyx3r2bq45mgcasnn5jb07cwbv3p3s2wwcrzxsarsj6wa5lc"; + }; + } + { + goPackagePath = "k8s.io/api"; fetch = { type = "git"; url = "https://github.com/kubernetes/api"; - rev = "2d6f90ab1293a1fb871cf149423ebb72aa7423aa"; - sha256 = "1cwrwdm104xd3608b1a5mw6a19w45532p647xdwnyn62rw2f08jx"; + rev = "6e4e0e4f393b"; + sha256 = "0y7nxxywq2qx74a5vsg0h2jkfj879wbv6bjran12401fv0vsdlp1"; }; } { - goPackagePath = "k8s.io/apiextensions-apiserver"; + goPackagePath = "k8s.io/apiextensions-apiserver"; fetch = { type = "git"; url = "https://github.com/kubernetes/apiextensions-apiserver"; - rev = "898b0eda132e1aeac43a459785144ee4bf9b0a2e"; - sha256 = "1zn4i4wfmk3y36n6mqcidgsp4aqzwy5w9749zjl2bfbwzpk81bcp"; + rev = "727a075fdec8"; + sha256 = "1p8bdl299hrmkq2hfh7sqhsv7c3ig1i0jy8mcgq0hqjix94a87cj"; }; } { - goPackagePath = "k8s.io/apimachinery"; + goPackagePath = "k8s.io/apimachinery"; fetch = { type = "git"; url = "https://github.com/kubernetes/apimachinery"; - rev = "103fd098999dc9c0c88536f5c9ad2e5da39373ae"; - sha256 = "04navnpm59d75dhlz07rmay7m2izrf4m0i9xklxzqg7mlk9g20jc"; + rev = "6a84e37a896d"; + sha256 = "1ys06ixidvpcj9sgk0c2i5vsz11gg3h8xcpc9kqxfsik36cw1akk"; }; } { - goPackagePath = "k8s.io/apiserver"; + goPackagePath = "k8s.io/apiserver"; fetch = { type = "git"; url = "https://github.com/kubernetes/apiserver"; - rev = "8b122ec9e3bbab91a262d17a39325e69349dc44d"; - sha256 = "0qfxjypa10s16sll2a75kn2ddjddr2xsa5rsiaxar3gs5pqvq1h5"; + rev = "1ec86e4da56c"; + sha256 = "0my2r4ynbxgpbbrjgcrdrqazhhn2jwk8jkk8ymjks28gzs2i510s"; }; } { - goPackagePath = "k8s.io/client-go"; + goPackagePath = "k8s.io/cli-runtime"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/cli-runtime"; + rev = "d644b00f3b79"; + sha256 = "1zcmfpyp6m9xl8dia56yb00ixra3ag5d43v2f5zlnrwphq967a8p"; + }; + } + { + goPackagePath = "k8s.io/client-go"; fetch = { type = "git"; url = "https://github.com/kubernetes/client-go"; - rev = "59698c7d9724b0f95f9dc9e7f7dfdcc3dfeceb82"; - sha256 = "0f069d1msdb2x4yvwv0wa3hzanl97csg4hsp1pycxpnqck6qx6qh"; + rev = "1a26190bd76a"; + sha256 = "1b77zf0sip2cilkr40b2jm1kk71212s4clmbs2xl57b4n945yy1d"; }; } { - goPackagePath = "k8s.io/kube-openapi"; + goPackagePath = "k8s.io/cloud-provider"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/cloud-provider"; + rev = "9c9d72d1bf90"; + sha256 = "15iwal7nn1b7jwrvrhlzvdnf0381lccpw3jrlww8sfmxqsp860in"; + }; + } + { + goPackagePath = "k8s.io/klog"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/klog"; + rev = "8e90cee79f82"; + sha256 = "1hzy767dj0ya111al54k3g9xa40bsy7j81fi0sh7gyl1azw0h8dk"; + }; + } + { + goPackagePath = "k8s.io/kube-openapi"; fetch = { type = "git"; url = "https://github.com/kubernetes/kube-openapi"; - rev = "91cfa479c814065e420cee7ed227db0f63a5854e"; - sha256 = "0l9yvc7gfa8i4snpv1d13vy03dplzp2jh47rqr3fhiihcz2wx4s7"; + rev = "b3a7cee44a30"; + sha256 = "1ald0jjliln5ipdniwfcrm4yal9aa4jr07d3ljrhhh2fj72c6dsp"; }; } { - goPackagePath = "k8s.io/kubernetes"; + goPackagePath = "k8s.io/kubernetes"; fetch = { type = "git"; url = "https://github.com/kubernetes/kubernetes"; - rev = "2e809eed16445fff9dcbfc56e9936cf76ccbdadc"; - sha256 = "13fzcbjfc5c35gy66nbn1ms63b8bj3g8z7wja0p8dd3yj9lcj68h"; + rev = "v1.14.1"; + sha256 = "0s06x9jk9b6r0i39nl0bmvwjgdp3qikgfbw5cnzi5mv03hc2li8s"; }; } { - goPackagePath = "k8s.io/utils"; + goPackagePath = "k8s.io/utils"; fetch = { type = "git"; url = "https://github.com/kubernetes/utils"; - rev = "258e2a2fa64568210fbd6267cf1d8fd87c3cb86e"; - sha256 = "1mbw3q03sflrdgj6l7q3frqzb5f78n0m0gzjm228sy1wnm4c3760"; + rev = "c2654d5206da"; + sha256 = "1849p8xhiyk53mpg3mwpsmsm5ps5sa2p54bv7b38m415qxsn2d1x"; }; } { - goPackagePath = "vbom.ml/util"; + goPackagePath = "sigs.k8s.io/kustomize"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes-sigs/kustomize"; + rev = "v2.0.3"; + sha256 = "1dfkpx9rllj1bzm5f52bx404kdds3zx1h38yqri9ha3p3pcb1bbb"; + }; + } + { + goPackagePath = "sigs.k8s.io/yaml"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes-sigs/yaml"; + rev = "v1.1.0"; + sha256 = "1p7hvjdr5jsyk7nys1g1pmgnf3ys6n320i6hds85afppk81k01kb"; + }; + } + { + goPackagePath = "vbom.ml/util"; fetch = { type = "git"; url = "https://github.com/fvbommel/util"; - rev = "db5cfe13f5cc80a4990d98e2e1b0707a4d1a5394"; + rev = "db5cfe13f5cc"; sha256 = "1k9c3ihhkrcmhd26pwd62mp2ll7icr2q65i5pkymnfnhhv40p682"; }; } diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix index 73ec998ed8e..1faa0988a66 100644 --- a/pkgs/applications/networking/cluster/helmfile/default.nix +++ b/pkgs/applications/networking/cluster/helmfile/default.nix @@ -1,19 +1,22 @@ -{ lib, buildGoPackage, fetchFromGitHub, makeWrapper, kubernetes-helm, ... }: +{ lib, buildGoModule, fetchFromGitHub, makeWrapper, kubernetes-helm, ... }: -let version = "0.40.1"; in +let version = "0.79.3"; in -buildGoPackage { - name = "helmfile-${version}"; +buildGoModule { + pname = "helmfile"; + inherit version; src = fetchFromGitHub { owner = "roboll"; repo = "helmfile"; rev = "v${version}"; - sha256 = "02ir10070rpayv9s53anldwjy5ggl268shgf085d188wl6vshaiv"; + sha256 = "0wgfpidpqyvh41dnw351v91z4szi1s6lqak9li2pmddz1rdkx66v"; }; goPackagePath = "github.com/roboll/helmfile"; + modSha256 = "1ksz1c4j7mhsbq6ifqab04588d48c9glyhr4d3d4jyvi19qhwx1d"; + nativeBuildInputs = [ makeWrapper ]; buildFlagsArray = '' @@ -22,16 +25,15 @@ buildGoPackage { ''; postInstall = '' - wrapProgram $bin/bin/helmfile \ + wrapProgram $out/bin/helmfile \ --prefix PATH : ${lib.makeBinPath [ kubernetes-helm ]} ''; - meta = { description = "Deploy Kubernetes Helm charts"; homepage = https://github.com/roboll/helmfile; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ pneumaticat ]; + maintainers = with lib.maintainers; [ pneumaticat yurrriq ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/applications/networking/cluster/heptio-ark/default.nix b/pkgs/applications/networking/cluster/heptio-ark/default.nix index 6a83ac34f3f..b9413577b10 100644 --- a/pkgs/applications/networking/cluster/heptio-ark/default.nix +++ b/pkgs/applications/networking/cluster/heptio-ark/default.nix @@ -1,8 +1,8 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "heptio-ark-${version}"; - version = "0.9.6"; + pname = "heptio-ark"; + version = "0.10.0"; goPackagePath = "github.com/heptio/ark"; @@ -10,10 +10,10 @@ buildGoPackage rec { rev = "v${version}"; owner = "heptio"; repo = "ark"; - sha256 = "0q353a6f3hvg1gr6rmg8pbqnkrbgjchdr7f6f9503l1qbyyf95fz"; + 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 fe2420a719d..7938265d1b8 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 { - name = "hetzner-kube-${version}"; +buildGoModule rec { + pname = "hetzner-kube"; + 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 00000000000..223d6c6c247 --- /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 00000000000..88aa8777ee5 --- /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/k9s/default.nix b/pkgs/applications/networking/cluster/k9s/default.nix new file mode 100644 index 00000000000..5c0adbdc548 --- /dev/null +++ b/pkgs/applications/networking/cluster/k9s/default.nix @@ -0,0 +1,23 @@ +{ stdenv, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "k9s"; + version = "0.7.13"; + + src = fetchFromGitHub { + owner = "derailed"; + repo = "k9s"; + rev = version; + sha256 = "0wsj6wc2qi5708cg47l2qblq1cg8fcwxdygpkayib9hapx6lc6f8"; + }; + + modSha256 = "1ia9wx6yd9mdr981lcw58xv39iqzz25r03bmn1c6byxmq2xpcjq8"; + + + meta = with stdenv.lib; { + description = "Kubernetes CLI To Manage Your Clusters In Style."; + homepage = https://github.com/derailed/k9s; + license = licenses.asl20; + maintainers = with maintainers; [ Gonzih ]; + }; +} diff --git a/pkgs/applications/networking/cluster/kanif/default.nix b/pkgs/applications/networking/cluster/kanif/default.nix index 6274168b3da..52abc318990 100644 --- a/pkgs/applications/networking/cluster/kanif/default.nix +++ b/pkgs/applications/networking/cluster/kanif/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "1.2.2"; - name = "kanif-${version}"; + pname = "kanif"; src = fetchurl { - url = "https://gforge.inria.fr/frs/download.php/26773/${name}.tar.gz"; + url = "https://gforge.inria.fr/frs/download.php/26773/${pname}-${version}.tar.gz"; sha256 = "3f0c549428dfe88457c1db293cfac2a22b203f872904c3abf372651ac12e5879"; }; diff --git a/pkgs/applications/networking/cluster/kompose/default.nix b/pkgs/applications/networking/cluster/kompose/default.nix index d6e703f79d0..1a14e1ed273 100644 --- a/pkgs/applications/networking/cluster/kompose/default.nix +++ b/pkgs/applications/networking/cluster/kompose/default.nix @@ -1,8 +1,8 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "kompose-${version}"; - version = "1.9.0"; + pname = "kompose"; + 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/kontemplate/default.nix b/pkgs/applications/networking/cluster/kontemplate/default.nix index 1e03efddc06..e38dc355d24 100644 --- a/pkgs/applications/networking/cluster/kontemplate/default.nix +++ b/pkgs/applications/networking/cluster/kontemplate/default.nix @@ -1,7 +1,7 @@ { lib, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "kontemplate-${version}"; + pname = "kontemplate"; version = "1.7.0"; goPackagePath = "github.com/tazjin/kontemplate"; goDeps = ./deps.nix; diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix index c9edaae1e53..c8b95baf2f3 100644 --- a/pkgs/applications/networking/cluster/kops/default.nix +++ b/pkgs/applications/networking/cluster/kops/default.nix @@ -1,45 +1,63 @@ +{ stdenv, lib, buildGoPackage, fetchFromGitHub, go-bindata }: -{ stdenv, buildGoPackage, fetchFromGitHub, go-bindata }: - -buildGoPackage rec { - name = "kops-${version}"; - version = "1.11.0"; - +let goPackagePath = "k8s.io/kops"; - src = fetchFromGitHub { - rev = version; - owner = "kubernetes"; - repo = "kops"; - sha256 = "1z67jl66g79q6v5kjy9qxx2xp656ybv5hrc10h3wmzy0b0n30s4n"; + generic = { version, sha256, ...}@attrs: + let attrs' = builtins.removeAttrs attrs ["version" "sha256"] ; in + buildGoPackage { + pname = "kops"; + inherit version; + + inherit goPackagePath; + + src = fetchFromGitHub { + rev = version; + owner = "kubernetes"; + repo = "kops"; + inherit sha256; + }; + + buildInputs = [go-bindata]; + subPackages = ["cmd/kops"]; + + buildFlagsArray = '' + -ldflags= + -X k8s.io/kops.Version=${version} + -X k8s.io/kops.GitVersion=${version} + ''; + + preBuild = '' + (cd go/src/k8s.io/kops + go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...) + ''; + + postInstall = '' + mkdir -p $bin/share/bash-completion/completions + mkdir -p $bin/share/zsh/site-functions + $bin/bin/kops completion bash > $bin/share/bash-completion/completions/kops + $bin/bin/kops completion zsh > $bin/share/zsh/site-functions/_kops + ''; + + meta = with stdenv.lib; { + description = "Easiest way to get a production Kubernetes up and running"; + homepage = https://github.com/kubernetes/kops; + license = licenses.asl20; + maintainers = with maintainers; [offline zimbatm]; + platforms = platforms.unix; + }; + } // attrs'; +in rec { + + mkKops = generic; + + kops_1_12 = mkKops { + version = "1.12.3"; + sha256 = "0rpbaz54l5v1z7ab5kpxcb4jyakkl5ysgz1sxajqmw2d6dvf7xly"; }; - buildInputs = [go-bindata]; - subPackages = ["cmd/kops"]; - - buildFlagsArray = '' - -ldflags= - -X k8s.io/kops.Version=${version} - -X k8s.io/kops.GitVersion=${version} - ''; - - preBuild = '' - (cd go/src/k8s.io/kops - go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...) - ''; - - postInstall = '' - mkdir -p $bin/share/bash-completion/completions - mkdir -p $bin/share/zsh/site-functions - $bin/bin/kops completion bash > $bin/share/bash-completion/completions/kops - $bin/bin/kops completion zsh > $bin/share/zsh/site-functions/_kops - ''; - - meta = with stdenv.lib; { - description = "Easiest way to get a production Kubernetes up and running"; - homepage = https://github.com/kubernetes/kops; - license = licenses.asl20; - maintainers = with maintainers; [offline zimbatm]; - platforms = platforms.unix; + kops_1_13 = mkKops { + version = "1.13.0"; + sha256 = "04kbbg3gqzwzzzq1lmnpw2gqky3pfwfk7pc0laxv2yssk9wac5k1"; }; } diff --git a/pkgs/applications/networking/cluster/ksonnet/default.nix b/pkgs/applications/networking/cluster/ksonnet/default.nix deleted file mode 100644 index b8bce931523..00000000000 --- a/pkgs/applications/networking/cluster/ksonnet/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ lib, buildGoPackage, fetchFromGitHub, ... }: - -buildGoPackage rec { - version = "0.11.0"; - name = "ksonnet-${version}"; - - src = fetchFromGitHub { - owner = "ksonnet"; - repo = "ksonnet"; - rev = "v${version}"; - sha256 = "0z7gkgcsiclm72bznmzv5jcgx5rblndcsiqc0r2mwhxhmv19bs04"; - }; - - goPackagePath = "github.com/ksonnet/ksonnet"; - - meta = { - description = "A CLI-supported framework that streamlines writing and deployment of Kubernetes configurations to multiple clusters"; - homepage = https://github.com/ksonnet/ksonnet; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ flokli ]; - platforms = lib.platforms.unix; - }; -} diff --git a/pkgs/applications/networking/cluster/kube-router/default.nix b/pkgs/applications/networking/cluster/kube-router/default.nix index 2a43c23e73a..a3cb55ce329 100644 --- a/pkgs/applications/networking/cluster/kube-router/default.nix +++ b/pkgs/applications/networking/cluster/kube-router/default.nix @@ -1,17 +1,16 @@ -{ stdenv, buildGoPackage, fetchFromGitHub }: +{ lib, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "kube-router-${version}"; - version = "0.2.5"; - rev = "v${version}"; + pname = "kube-router"; + version = "0.3.1"; goPackagePath = "github.com/cloudnativelabs/kube-router"; src = fetchFromGitHub { - inherit rev; owner = "cloudnativelabs"; - repo = "kube-router"; - sha256 = "1j6q6kg4qj75v2mdy9ivvwq8mx9fpdf0w08959l8imrp5byd56wv"; + repo = pname; + rev = "v${version}"; + sha256 = "06azrghcxp6n4bvrqxpwhmg60qk4jqcrkl1lh1rardlzhl71lk1h"; }; buildFlagsArray = '' @@ -22,7 +21,7 @@ buildGoPackage rec { ${goPackagePath}/pkg/cmd.buildDate=Nix ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "https://www.kube-router.io/"; description = "All-in-one router, firewall and service proxy for Kubernetes"; license = licenses.asl20; diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix new file mode 100644 index 00000000000..c549efa7b40 --- /dev/null +++ b/pkgs/applications/networking/cluster/kube3d/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "kube3d"; + version = "1.3.1"; + + goPackagePath = "github.com/rancher/k3d"; + + src = fetchFromGitHub { + owner = "rancher"; + repo = "k3d"; + rev = "v${version}"; + sha256 = "0bdpjnzyxd6mdc1qv0ml89qds6305kn3wmyci2kv6g2y7r7wxvm2"; + }; + + goDeps = ./deps.nix; + + meta = with stdenv.lib; { + homepage = "https://github.com/rancher/k3d"; + description = "A helper to run k3s (Lightweight Kubernetes. 5 less than k8s) in a docker container"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ kuznero ]; + }; +} diff --git a/pkgs/applications/networking/cluster/kube3d/deps.nix b/pkgs/applications/networking/cluster/kube3d/deps.nix new file mode 100644 index 00000000000..4fb2936a40b --- /dev/null +++ b/pkgs/applications/networking/cluster/kube3d/deps.nix @@ -0,0 +1,174 @@ +# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix) +[ + { + goPackagePath = "github.com/Microsoft/go-winio"; + fetch = { + type = "git"; + url = "https://github.com/Microsoft/go-winio"; + rev = "v0.4.12"; + sha256 = "10v2f1xaw2cc97mjqnxzgs9ydpqv71f0ynp1spcywqw97la56zqw"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "v1.1.0"; + sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c"; + }; + } + { + goPackagePath = "github.com/docker/distribution"; + fetch = { + type = "git"; + url = "https://github.com/docker/distribution"; + rev = "v2.7.1"; + sha256 = "1nx8b5a68rn81alp8wkkw6qd5v32mgf0fk23mxm60zdf63qk1nzw"; + }; + } + { + goPackagePath = "github.com/docker/docker"; + fetch = { + type = "git"; + url = "https://github.com/docker/docker"; + rev = "v1.13.1"; + sha256 = "0l9kjibnpwcgk844sibxk9ppyqniw9r0np1mzp95f8f461jb0iar"; + }; + } + { + goPackagePath = "github.com/docker/go-connections"; + fetch = { + type = "git"; + url = "https://github.com/docker/go-connections"; + rev = "v0.4.0"; + sha256 = "0mv6f6b5nljc17dmwmc28hc0y11pqglz7x0d2mjrwdmfxf64hwqq"; + }; + } + { + goPackagePath = "github.com/docker/go-units"; + fetch = { + type = "git"; + url = "https://github.com/docker/go-units"; + rev = "v0.3.3"; + sha256 = "0npxsb3pp89slwf4a73fxm20hykad8xggij6i6hcd5jy19bjrd93"; + }; + } + { + goPackagePath = "github.com/mattn/go-runewidth"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-runewidth"; + rev = "v0.0.4"; + sha256 = "00b3ssm7wiqln3k54z2wcnxr3k3c7m1ybyhb9h8ixzbzspld0qzs"; + }; + } + { + goPackagePath = "github.com/mitchellh/go-homedir"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/go-homedir"; + rev = "v1.1.0"; + sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1"; + }; + } + { + goPackagePath = "github.com/olekukonko/tablewriter"; + fetch = { + type = "git"; + url = "https://github.com/olekukonko/tablewriter"; + rev = "v0.0.1"; + sha256 = "0hh95glg7d2md185r03wn52j2r33jc4zil0qvcrs66ka7bdxi7vj"; + }; + } + { + goPackagePath = "github.com/opencontainers/go-digest"; + fetch = { + type = "git"; + url = "https://github.com/opencontainers/go-digest"; + rev = "v1.0.0-rc1"; + sha256 = "01gc7fpn8ax429024p2fcx3yb18axwz5bjf2hqxlii1jbsgw4bh9"; + }; + } + { + goPackagePath = "github.com/pkg/errors"; + fetch = { + type = "git"; + url = "https://github.com/pkg/errors"; + rev = "v0.8.1"; + sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1"; + }; + } + { + goPackagePath = "github.com/pmezard/go-difflib"; + fetch = { + type = "git"; + url = "https://github.com/pmezard/go-difflib"; + rev = "v1.0.0"; + sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; + }; + } + { + goPackagePath = "github.com/stretchr/objx"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/objx"; + rev = "v0.1.0"; + sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "v1.3.0"; + sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy"; + }; + } + { + goPackagePath = "github.com/urfave/cli"; + fetch = { + type = "git"; + url = "https://github.com/urfave/cli"; + rev = "v1.20.0"; + sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "c2843e01d9a2"; + sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "b630fd6fe46b"; + sha256 = "0m84kwckmmc0z05kjb4dd43g1g61al32a4z593flpcbaqx8di5sd"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "d0b11bdaac8a"; + sha256 = "18yfsmw622l7gc5sqriv5qmck6903vvhivpzp8i3xfy3z33dybdl"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "v0.3.0"; + sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; + }; + } +] diff --git a/pkgs/applications/networking/cluster/kubecfg/default.nix b/pkgs/applications/networking/cluster/kubecfg/default.nix index 1e16cf1afca..e1b5a4425d5 100644 --- a/pkgs/applications/networking/cluster/kubecfg/default.nix +++ b/pkgs/applications/networking/cluster/kubecfg/default.nix @@ -1,22 +1,23 @@ { lib, buildGoPackage, fetchFromGitHub, ... }: -let version = "0.9.1"; in +let version = "0.12.0"; in buildGoPackage { - name = "kubecfg-${version}"; + pname = "kubecfg"; + inherit version; src = fetchFromGitHub { - owner = "ksonnet"; + owner = "bitnami"; repo = "kubecfg"; rev = "v${version}"; - sha256 = "010k33arxa4spaq923iazsisxgsaj8c7w4z250y9yrch8xxd74bi"; + sha256 = "118p1fy6cihswwz03vp62cz8395hgfqd82nmfkw88fx7av23rfhb"; }; - goPackagePath = "github.com/ksonnet/kubecfg"; + goPackagePath = "github.com/bitnami/kubecfg"; meta = { description = "A tool for managing Kubernetes resources as code"; - homepage = https://github.com/ksonnet/kubecfg; + homepage = https://github.com/bitnami/kubecfg; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ benley ]; platforms = lib.platforms.unix; diff --git a/pkgs/applications/networking/cluster/kubectl/default.nix b/pkgs/applications/networking/cluster/kubectl/default.nix index 4dbd3d38d31..40d42408679 100644 --- a/pkgs/applications/networking/cluster/kubectl/default.nix +++ b/pkgs/applications/networking/cluster/kubectl/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, kubernetes }: +{ stdenv, kubernetes }: stdenv.mkDerivation { name = "kubectl-${kubernetes.version}"; diff --git a/pkgs/applications/networking/cluster/kubeless/default.nix b/pkgs/applications/networking/cluster/kubeless/default.nix new file mode 100644 index 00000000000..a69dc8890a7 --- /dev/null +++ b/pkgs/applications/networking/cluster/kubeless/default.nix @@ -0,0 +1,28 @@ +{ stdenv, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "kubeless"; + version = "1.0.4"; + + src = fetchFromGitHub { + owner = "kubeless"; + repo = "kubeless"; + rev = "v${version}"; + sha256 = "1f5w6kn9rsaxx9nf6kzyjkzm3s9ycy1c8h78hb61v4x915xd3040"; + }; + modSha256 = "1pw4pwb8z2kq474jjipjdivlrin5zvw8d2if4317b0w0wyp6isgd"; + + subPackages = [ "cmd/kubeless" ]; + + buildFlagsArray = '' + -ldflags=-X github.com/kubeless/kubeless/pkg/version.Version=${version} + ''; + + meta = with stdenv.lib; { + homepage = "https://kubeless.io"; + description = "The Kubernetes Native Serverless Framework"; + license = licenses.asl20; + maintainers = with maintainers; [ "00-matt" ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix index 597c2c18309..e4adabd7581 100644 --- a/pkgs/applications/networking/cluster/kubernetes/default.nix +++ b/pkgs/applications/networking/cluster/kubernetes/default.nix @@ -14,14 +14,14 @@ with lib; stdenv.mkDerivation rec { - name = "kubernetes-${version}"; - version = "1.13.3"; + pname = "kubernetes"; + version = "1.14.3"; src = fetchFromGitHub { owner = "kubernetes"; repo = "kubernetes"; rev = "v${version}"; - sha256 = "1fcp27c501ql4v7fl7rl5qyjlw1awk139rwwm0jqdpgh3sd22l2z"; + sha256 = "1r31ssf8bdbz8fdsprhkc34jqhz5rcs3ixlf0mbjcbq0xr7y651z"; }; buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ]; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { 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" @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { WHAT="${concatStringsSep " " components}"; postBuild = '' - ./hack/generate-docs.sh + ./hack/update-generated-docs.sh (cd build/pause && cc pause.c -o pause) ''; diff --git a/pkgs/applications/networking/cluster/kubetail/default.nix b/pkgs/applications/networking/cluster/kubetail/default.nix index 6ac232ee5bf..ab8b7deae72 100644 --- a/pkgs/applications/networking/cluster/kubetail/default.nix +++ b/pkgs/applications/networking/cluster/kubetail/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, lib, ... }: stdenv.mkDerivation rec { - name = "kubetail-${version}"; - version = "1.6.6"; + pname = "kubetail"; + version = "1.6.9"; src = fetchFromGitHub { owner = "johanhaleby"; repo = "kubetail"; rev = "${version}"; - sha256 = "0fd3xmhn20wmbwxdqs49nvwhl6vc3ipns83j558zir8x4fgq0yrr"; + sha256 = "0mcv23p0h1ww9gvax8b4b4x5hmg02shrbgms0v0c72cmw0zf2phr"; }; installPhase = '' diff --git a/pkgs/applications/networking/cluster/kubeval/default.nix b/pkgs/applications/networking/cluster/kubeval/default.nix index 55a827f9cf9..982f36def69 100644 --- a/pkgs/applications/networking/cluster/kubeval/default.nix +++ b/pkgs/applications/networking/cluster/kubeval/default.nix @@ -22,7 +22,7 @@ let in buildGoPackage rec { - name = "kubeval-${version}"; + pname = "kubeval"; version = "0.7.3"; goPackagePath = "github.com/garethr/kubeval"; diff --git a/pkgs/applications/networking/cluster/linkerd/default.nix b/pkgs/applications/networking/cluster/linkerd/default.nix new file mode 100644 index 00000000000..256bce9b6ec --- /dev/null +++ b/pkgs/applications/networking/cluster/linkerd/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "linkerd-unstablle"; + version = "2019-07-26"; + + src = fetchFromGitHub { + owner = "linkerd"; + repo = "linkerd2"; + rev = "065dd3ec9d4b84c90383b31be16ccadd34a8ab0d"; + sha256 = "01m8g627sd126as0a74fy9svmymwd41sifd897nhn6kz78a21gq8"; + }; + + modSha256 = "0gahhywpcj16ww4l8s3wjwvavq24fpy258snhyf94ipy6lb797sl"; + + subPackages = [ "cli/cmd" ]; + + meta = with stdenv.lib; { + description = "A service mesh for Kubernetes and beyond."; + homepage = https://linkerd.io/; + license = licenses.asl20; + maintainers = with maintainers; [ Gonzih ]; + }; +} diff --git a/pkgs/applications/networking/cluster/marathon/default.nix b/pkgs/applications/networking/cluster/marathon/default.nix index 49cac6d5063..72bd82be6c1 100644 --- a/pkgs/applications/networking/cluster/marathon/default.nix +++ b/pkgs/applications/networking/cluster/marathon/default.nix @@ -1,7 +1,7 @@ { stdenv, makeWrapper, jdk, mesos, fetchurl }: stdenv.mkDerivation rec { - name = "marathon-${version}"; + pname = "marathon"; version = "1.4.2"; src = fetchurl { @@ -13,10 +13,10 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/{bin,libexec/marathon} - cp target/scala-*/marathon*.jar $out/libexec/marathon/${name}.jar + cp target/scala-*/marathon*.jar $out/libexec/marathon/${pname}-${version}.jar makeWrapper ${jdk.jre}/bin/java $out/bin/marathon \ - --add-flags "-Xmx512m -jar $out/libexec/marathon/${name}.jar" \ + --add-flags "-Xmx512m -jar $out/libexec/marathon/${pname}-${version}.jar" \ --set "MESOS_NATIVE_JAVA_LIBRARY" "$MESOS_NATIVE_JAVA_LIBRARY" ''; diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix index 8cff2494bf8..0ffc7a1fb6f 100644 --- a/pkgs/applications/networking/cluster/mesos/default.nix +++ b/pkgs/applications/networking/cluster/mesos/default.nix @@ -26,13 +26,13 @@ let in stdenv.mkDerivation rec { version = "1.4.1"; - name = "mesos-${version}"; + pname = "mesos"; enableParallelBuilding = true; dontDisableStatic = true; src = fetchurl { - url = "mirror://apache/mesos/${version}/${name}.tar.gz"; + url = "mirror://apache/mesos/${version}/${pname}-${version}.tar.gz"; sha256 = "1c7l0rim9ija913gpppz2mcms08ywyqhlzbbspqsi7wwfdd7jwsr"; }; diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix index c44b7ac1dc7..5637e486ef1 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, vmnet, python +{ stdenv, buildGoModule, fetchFromGitHub, go-bindata, libvirt, qemu +, gpgme, makeWrapper, vmnet , docker-machine-kvm, docker-machine-kvm2 , extraDrivers ? [] }: @@ -11,12 +11,11 @@ let binPath = drivers ++ stdenv.lib.optionals stdenv.isLinux ([ libvirt qemu ]); -in buildGoPackage rec { +in buildGoModule rec { pname = "minikube"; - name = "${pname}-${version}"; - version = "0.30.0"; + version = "1.2.0"; - kubernetesVersion = "1.11.2"; + kubernetesVersion = "1.15.0"; goPackagePath = "k8s.io/minikube"; @@ -24,18 +23,20 @@ in buildGoPackage rec { owner = "kubernetes"; repo = "minikube"; rev = "v${version}"; - sha256 = "02jxwh8qrvjn31rzjwx23908nd1i592drfdykxbc5b6a62fwp02z"; + sha256 = "0l9znrp49877cp1bkwx84c8lv282ga5a946rjbxi8gznkf3kwaw7"; }; + modSha256 = "1cp63n0x2lgbqvvymx9byx48r42qw6w224x5x4iiarc2nryfdhn0"; + 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=${kubernetesVersion} @@ -45,28 +46,23 @@ in buildGoPackage rec { -X k8s.io/minikube/pkg/version.isoPath=$ISO_BUCKET \ -X k8s.io/minikube/vendor/k8s.io/client-go/pkg/version.gitVersion=$KUBERNETES_VERSION \ -X k8s.io/minikube/vendor/k8s.io/kubernetes/pkg/version.gitVersion=$KUBERNETES_VERSION" - - popd >/dev/null ''; postInstall = '' - mkdir -p $bin/share/bash-completion/completions/ - MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTKUBECTLDOWNLOADMSG=false HOME=$PWD $bin/bin/minikube completion bash > $bin/share/bash-completion/completions/minikube - mkdir -p $bin/share/zsh/site-functions/ - MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTKUBECTLDOWNLOADMSG=false HOME=$PWD $bin/bin/minikube completion zsh > $bin/share/zsh/site-functions/_minikube - ''; - - postFixup = '' - wrapProgram $bin/bin/${pname} --prefix PATH : $bin/bin:${stdenv.lib.makeBinPath binPath} - '' + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' - mv $bin/bin/hyperkit $bin/bin/docker-machine-driver-hyperkit + wrapProgram $out/bin/${pname} --prefix PATH : $out/bin:${stdenv.lib.makeBinPath binPath} + mkdir -p $out/share/bash-completion/completions/ + MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTKUBECTLDOWNLOADMSG=false HOME=$PWD $out/bin/minikube completion bash > $out/share/bash-completion/completions/minikube + mkdir -p $out/share/zsh/site-functions/ + MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTKUBECTLDOWNLOADMSG=false HOME=$PWD $out/bin/minikube completion zsh > $out/share/zsh/site-functions/_minikube + ''+ stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' + mv $out/bin/hyperkit $out/bin/docker-machine-driver-hyperkit ''; meta = with stdenv.lib; { homepage = https://github.com/kubernetes/minikube; description = "A tool that makes it easy to run Kubernetes locally"; license = licenses.asl20; - maintainers = 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 index bb10349470f..43e960d9403 100644 --- a/pkgs/applications/networking/cluster/minishift/default.nix +++ b/pkgs/applications/networking/cluster/minishift/default.nix @@ -4,21 +4,21 @@ }: let - version = "1.31.0"; + version = "1.34.0"; # Update these on version bumps according to Makefile - centOsIsoVersion = "v1.14.0"; + centOsIsoVersion = "v1.15.0"; openshiftVersion = "v3.11.0"; in buildGoPackage rec { - name = "minishift-${version}"; + pname = "minishift"; inherit version; src = fetchFromGitHub { owner = "minishift"; repo = "minishift"; rev = "v${version}"; - sha256 = "0v5hngfz393yi3x4c328g5bjazw02jr59ljqh6ws0j6wzxzm8jxf"; + sha256 = "0nc1g4lmz5ww6rjyyanp9vq4sj6fvi9zf9qjc4lpsmapddhjkdy7"; }; nativeBuildInputs = [ pkgconfig go-bindata makeWrapper ]; diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix index 765d1684499..a4236a9408c 100644 --- a/pkgs/applications/networking/cluster/nomad/default.nix +++ b/pkgs/applications/networking/cluster/nomad/default.nix @@ -1,8 +1,8 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "nomad-${version}"; - version = "0.8.7"; + pname = "nomad"; + version = "0.9.5"; rev = "v${version}"; goPackagePath = "github.com/hashicorp/nomad"; @@ -10,15 +10,31 @@ buildGoPackage rec { src = fetchFromGitHub { owner = "hashicorp"; - repo = "nomad"; + repo = pname; inherit rev; - sha256 = "0nkqiqkrccfmn7qkbhd48m9m56ix4xb0a3ar0z0pl4sbm25rlj0b"; + sha256 = "01491470idb11z0ab4anb5caw46vy9s94a17l92j0z2f3f4k6xfl"; }; + # ui: + # Nomad release commits include the compiled version of the UI, but the file + # is only included if we build with the ui tag. + # nonvidia: + # We disable Nvidia GPU scheduling on Linux, as it doesn't work there: + # Ref: https://github.com/hashicorp/nomad/issues/5535 + preBuild = let + tags = ["ui"] + ++ stdenv.lib.optional stdenv.isLinux "nonvidia"; + tagsString = stdenv.lib.concatStringsSep " " tags; + in '' + export buildFlagsArray=( + -tags="${tagsString}" + ) + ''; + 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 f730329d072..758786f586a 100644 --- a/pkgs/applications/networking/cluster/openshift/default.nix +++ b/pkgs/applications/networking/cluster/openshift/default.nix @@ -21,7 +21,7 @@ let k8sgitMajor = "0"; k8sgitMinor = "1"; in buildGoPackage rec { - name = "openshift-origin-${version}"; + pname = "openshift-origin"; inherit version; src = fetchFromGitHub { @@ -33,8 +33,6 @@ in buildGoPackage rec { goPackagePath = "github.com/openshift/origin"; - # go > 1.10 - # [FATAL] [14:44:02+0000] Please install Go version go or use PERMISSIVE_GO=y to bypass this check. buildInputs = [ which rsync go-bindata kerberos clang ]; patchPhase = '' @@ -83,6 +81,6 @@ in buildGoPackage 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 c276c2e752f..de0bb015852 100644 --- a/pkgs/applications/networking/cluster/pachyderm/default.nix +++ b/pkgs/applications/networking/cluster/pachyderm/default.nix @@ -1,8 +1,8 @@ { lib, fetchFromGitHub, buildGoPackage }: buildGoPackage rec { - name = "pachyderm-${version}"; - version = "1.4.6"; + pname = "pachyderm"; + 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/prow/13918-fix-go-sum.patch b/pkgs/applications/networking/cluster/prow/13918-fix-go-sum.patch new file mode 100644 index 00000000000..ae407727b9d --- /dev/null +++ b/pkgs/applications/networking/cluster/prow/13918-fix-go-sum.patch @@ -0,0 +1,22 @@ +From b0ab95b9664916618ebf5fe637b1bc4de4ba9a6e Mon Sep 17 00:00:00 2001 +From: "Wael M. Nasreddine" +Date: Wed, 14 Aug 2019 23:07:51 -0700 +Subject: [PATCH] fix the hash of gomodules.xyz/jsonpatch/v2 + +--- + go.sum | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/go.sum b/go.sum +index 6bb130b4d9b..b3f48a85d4a 100644 +--- a/go.sum ++++ b/go.sum +@@ -452,7 +452,7 @@ golang.org/x/tools v0.0.0-20190312170243-e65039ee4138 h1:H3uGjxCR/6Ds0Mjgyp7LMK8 + golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= + golang.org/x/tools v0.0.0-20190404132500-923d25813098 h1:MtqjsZmyGRgMmLUgxnmMJ6RYdvd2ib8ipiayHhqSxs4= + golang.org/x/tools v0.0.0-20190404132500-923d25813098/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +-gomodules.xyz/jsonpatch/v2 v2.0.0 h1:lHNQverf0+Gm1TbSbVIDWVXOhZ2FpZopxRqpr2uIjs4= ++gomodules.xyz/jsonpatch/v2 v2.0.0 h1:OyHbl+7IOECpPKfVK42oFr6N7+Y2dR+Jsb/IiDV3hOo= + gomodules.xyz/jsonpatch/v2 v2.0.0/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU= + google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= + google.golang.org/api v0.0.0-20181021000519-a2651947f503/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= diff --git a/pkgs/applications/networking/cluster/prow/default.nix b/pkgs/applications/networking/cluster/prow/default.nix new file mode 100644 index 00000000000..1c802802c09 --- /dev/null +++ b/pkgs/applications/networking/cluster/prow/default.nix @@ -0,0 +1,71 @@ +{ buildGoModule, fetchFromGitHub, lib }: + +buildGoModule rec { + pname = "prow-unstable"; + version = "2019-08-14"; + rev = "35a7744f5737bbc1c4e1256a9c9c5ad135c650e4"; + + src = fetchFromGitHub { + inherit rev; + + owner = "kubernetes"; + repo = "test-infra"; + sha256 = "07kdlzrj59xyaa73vlx4s50fpg0brrkb0h0cyjgx81a0hsc7s03k"; + }; + + patches = [ + # https://github.com/kubernetes/test-infra/pull/13918 + ./13918-fix-go-sum.patch + ]; + + modSha256 = "06q1zvhm78k64aj475k1xl38h7nk83mysd0bja0wknja048ymgsq"; + + subPackages = [ + "./prow/cmd/admission" + "./prow/cmd/artifact-uploader" + "./prow/cmd/branchprotector" + "./prow/cmd/build" + "./prow/cmd/checkconfig" + "./prow/cmd/clonerefs" + "./prow/cmd/config-bootstrapper" + "./prow/cmd/crier" + "./prow/cmd/deck" + "./prow/cmd/entrypoint" + "./prow/cmd/gcsupload" + "./prow/cmd/gerrit" + "./prow/cmd/hook" + "./prow/cmd/horologium" + "./prow/cmd/initupload" + "./prow/cmd/jenkins-operator" + "./prow/cmd/mkbuild-cluster" + "./prow/cmd/mkpj" + "./prow/cmd/mkpod" + "./prow/cmd/peribolos" + "./prow/cmd/phaino" + "./prow/cmd/phony" + "./prow/cmd/pipeline" + "./prow/cmd/plank" + "./prow/cmd/sidecar" + "./prow/cmd/sinker" + "./prow/cmd/status-reconciler" + "./prow/cmd/sub" + "./prow/cmd/tackle" + "./prow/cmd/tide" + "./prow/cmd/tot" + ]; + + meta = with lib; { + description = "Prow is a Kubernetes based CI/CD system"; + longDescription = '' + Prow is a Kubernetes based CI/CD system. Jobs can be triggered by various + types of events and report their status to many different services. In + addition to job execution, Prow provides GitHub automation in the form of + policy enforcement, chat-ops via /foo style commands, and automatic PR + merging. + ''; + homepage = "https://github.com/kubernetes/test-infra/tree/master/prow"; + license = licenses.asl20; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/applications/networking/cluster/sonobuoy/default.nix b/pkgs/applications/networking/cluster/sonobuoy/default.nix new file mode 100644 index 00000000000..de683b26484 --- /dev/null +++ b/pkgs/applications/networking/cluster/sonobuoy/default.nix @@ -0,0 +1,43 @@ +{ lib, buildGoPackage, fetchFromGitHub }: + +# SHA of ${version} for the tool's help output +let rev = "7ad367535a6710802085d41e0dbb53df359b9882"; +in +buildGoPackage rec { + pname = "sonobuoy"; + version = "0.15.0"; + + goPackagePath = "github.com/heptio/sonobuoy"; + + buildFlagsArray = + let t = "${goPackagePath}"; + in '' + -ldflags= + -s -X ${t}/pkg/buildinfo.Version=${version} + -X ${t}/pkg/buildinfo.GitSHA=${rev} + -X ${t}/pkg/buildDate=unknown + ''; + + src = fetchFromGitHub { + sha256 = "0dkmhmr7calk8mkdxfpy3yjzk10ja4gz1jq8pgk3v8rh04f4h1x5"; + rev = "v${version}"; + repo = "sonobuoy"; + owner = "heptio"; + }; + + meta = with lib; { + description = '' + Diagnostic tool that makes it easier to understand the + state of a Kubernetes cluster. + ''; + longDescription = '' + Sonobuoy is a diagnostic tool that makes it easier to understand the state of + a Kubernetes cluster by running a set of Kubernetes conformance tests in an + accessible and non-destructive manner. + ''; + + homepage = "https://github.com/heptio/sonobuoy"; + license = licenses.asl20; + maintainers = with maintainers; [ carlosdagos ]; + }; +} diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix index 6401194eac2..e675d17491a 100644 --- a/pkgs/applications/networking/cluster/spark/default.nix +++ b/pkgs/applications/networking/cluster/spark/default.nix @@ -7,7 +7,7 @@ let sha256 = { "1.6.3" = "142hw73wf20d846l83ydx0yg7qj5qxywm4h7qrhwnd7lsy2sbnjf"; - "2.2.1" = "10nxsf9a6hj1263sxv0cbdqxdb8mb4cl6iqq32ljq9ydvk32s99c"; + "2.4.3" = "1dvvr1q3dz961bl7qigxngrp4ssrbll3g1s6nkra6gyr83pis96c"; }.${version}; in @@ -15,18 +15,19 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "spark-${version}"; + pname = "spark"; + inherit version; src = fetchzip { inherit sha256; - url = "mirror://apache/spark/${name}/${name}-bin-without-hadoop.tgz"; + url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz"; }; buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ] ++ optional RSupport R ++ optional mesosSupport mesos; - untarDir = "${name}-bin-without-hadoop"; + untarDir = "${pname}-${version}-bin-without-hadoop"; installPhase = '' mkdir -p $out/{lib/${untarDir}/conf,bin,/share/java} mv * $out/lib/${untarDir} diff --git a/pkgs/applications/networking/cluster/ssm-agent/default.nix b/pkgs/applications/networking/cluster/ssm-agent/default.nix index bb179606b36..0835d268cd7 100644 --- a/pkgs/applications/networking/cluster/ssm-agent/default.nix +++ b/pkgs/applications/networking/cluster/ssm-agent/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitHub, buildGoPackage }: buildGoPackage rec { - name = "${pname}-${version}"; pname = "amazon-ssm-agent"; version = "2.0.633.0"; @@ -24,7 +23,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 index bb0f3229ea5..8e9e6691a79 100644 --- a/pkgs/applications/networking/cluster/stern/default.nix +++ b/pkgs/applications/networking/cluster/stern/default.nix @@ -3,8 +3,8 @@ let isCrossBuild = stdenv.hostPlatform != stdenv.buildPlatform; in buildGoPackage rec { - name = "stern-${version}"; - version = "1.10.0"; + pname = "stern"; + version = "1.11.0"; goPackagePath = "github.com/wercker/stern"; @@ -12,7 +12,7 @@ buildGoPackage rec { owner = "wercker"; repo = "stern"; rev = "${version}"; - sha256 = "05wsif0pwh2v4rw4as36f1d9r149zzp2nyc0z4jwnj9nx58nfpll"; + sha256 = "0xndlq0ks8flzx6rdd4lnkxpkbvdy9sj1jwys5yj7p989ls8by3n"; }; goDeps = ./deps.nix; diff --git a/pkgs/applications/networking/cluster/taktuk/default.nix b/pkgs/applications/networking/cluster/taktuk/default.nix index c61896d8921..3423163f590 100644 --- a/pkgs/applications/networking/cluster/taktuk/default.nix +++ b/pkgs/applications/networking/cluster/taktuk/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { version = "3.7.7"; - name = "taktuk-${version}"; + pname = "taktuk"; buildInputs = [ perl ]; src = fetchurl { - url = "https://gforge.inria.fr/frs/download.php/33412/${name}.tar.gz"; + url = "https://gforge.inria.fr/frs/download.php/33412/${pname}-${version}.tar.gz"; sha256 = "0w0h3ynlcxvq2nzm8hkj20g0805ww3vkw53g0qwj7wvp7p3gcvnr"; }; diff --git a/pkgs/applications/networking/cluster/terraform-docs/default.nix b/pkgs/applications/networking/cluster/terraform-docs/default.nix index 2b39cebbbeb..606cd0370aa 100644 --- a/pkgs/applications/networking/cluster/terraform-docs/default.nix +++ b/pkgs/applications/networking/cluster/terraform-docs/default.nix @@ -1,6 +1,5 @@ { lib, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "${pname}-${version}"; pname = "terraform-docs"; version = "0.6.0"; diff --git a/pkgs/applications/networking/cluster/terraform-inventory/default.nix b/pkgs/applications/networking/cluster/terraform-inventory/default.nix index dd4a36807ea..1bb8df88d01 100644 --- a/pkgs/applications/networking/cluster/terraform-inventory/default.nix +++ b/pkgs/applications/networking/cluster/terraform-inventory/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub}: buildGoPackage rec { - name = "terraform-inventory-${version}"; + pname = "terraform-inventory"; version = "0.7-pre"; rev = "v${version}"; diff --git a/pkgs/applications/networking/cluster/terraform-landscape/default.nix b/pkgs/applications/networking/cluster/terraform-landscape/default.nix index aa523506850..6973938b60d 100644 --- a/pkgs/applications/networking/cluster/terraform-landscape/default.nix +++ b/pkgs/applications/networking/cluster/terraform-landscape/default.nix @@ -1,18 +1,18 @@ -{ lib, bundlerApp, ruby }: -let - version = (import ./gemset.nix).terraform_landscape.version; -in bundlerApp { +{ lib, bundlerApp, bundlerUpdateScript }: + +bundlerApp { pname = "terraform_landscape"; - inherit ruby; gemdir = ./.; exes = [ "landscape" ]; + passthru.updateScript = bundlerUpdateScript "terraform-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 manveru ]; + maintainers = with maintainers; [ mbode manveru nicknovitski ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/cluster/terraform-providers/ansible/default.nix b/pkgs/applications/networking/cluster/terraform-providers/ansible/default.nix new file mode 100644 index 00000000000..bb634a78e23 --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-providers/ansible/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, buildGoPackage }: +buildGoPackage rec { + pname = "terraform-provider-ansible"; + version = "1.0.3"; + + goPackagePath = "github.com/nbering/terraform-provider-ansible"; + goDeps = ./deps.nix; + + src = fetchFromGitHub { + owner = "nbering"; + repo = "terraform-provider-ansible"; + rev = "v${version}"; + sha256 = "0dqi9ym0xvnz3h73cmd1vf6k2qwfhxvj1mcakkpmsd4cpxq4l6pr"; + }; + + # Terraform allow checking the provider versions, but this breaks + # if the versions are not provided via file paths. + postBuild = "mv go/bin/terraform-provider-ansible{,_v${version}}"; + + meta = with stdenv.lib; { + description = "A Terraform provider serving as an interop layer for an Ansible dynamic inventory script."; + homepage = "https://github.com/nbering/terraform-provider-ansible"; + license = licenses.mpl20; + maintainers = with maintainers; [ uskudnik ]; + }; +} diff --git a/pkgs/applications/networking/cluster/terraform-providers/ansible/deps.nix b/pkgs/applications/networking/cluster/terraform-providers/ansible/deps.nix new file mode 100644 index 00000000000..dc49f24afa5 --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-providers/ansible/deps.nix @@ -0,0 +1,11 @@ +[ + { + goPackagePath = "github.com/hashicorp/terraform"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/terraform"; + rev = "v0.12.5"; + sha256 = "0p064rhaanwx4szs8hv6mdqad8d2bgfd94h2la11j58xbsxc7hap"; + }; + } +] diff --git a/pkgs/applications/networking/cluster/terraform-providers/data.nix b/pkgs/applications/networking/cluster/terraform-providers/data.nix index 86787a12c6a..16056d9185b 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/data.nix +++ b/pkgs/applications/networking/cluster/terraform-providers/data.nix @@ -4,29 +4,29 @@ { owner = "terraform-providers"; repo = "terraform-provider-acme"; - version = "1.0.1"; - sha256 = "1yh0dqmrwa1gqpnzj4mdv9p9081azpcskqjrbmy2lzmn3di2ag3r"; + version = "1.3.5"; + sha256 = "0xjxxz3vxq7vk7sv6b5p57z5x92dmrm44v6ksffcg76ngc40nrxk"; }; alicloud = { owner = "terraform-providers"; repo = "terraform-provider-alicloud"; - version = "1.28.0"; - sha256 = "1clivywiv41dbdiix5cqghncf782jvpixlh02hlj4hn2cwq2j6mn"; + version = "1.54.0"; + sha256 = "01pmhwdnhfsk785ja11hxn5l5fmklnkiv12kv2pw2280cdljfcv4"; }; archive = { owner = "terraform-providers"; repo = "terraform-provider-archive"; - version = "1.1.0"; - sha256 = "1fsynv725cmqz819v9p4i4h4w4y77mbya5y9v81sqvacqvr3i05h"; + version = "1.2.2"; + sha256 = "1saprj2r74b63z03n80m3mfj3vhgvlm4gp2hzqzjbdgibxsz4jaw"; }; arukas = { owner = "terraform-providers"; repo = "terraform-provider-arukas"; - version = "1.0.0"; - sha256 = "1v8jzns8czy8navdrabsvc9zk1s9vs1718ngjlx9vs13r3bkm2fc"; + version = "1.1.0"; + sha256 = "1akl9fzgm5qv01vz18xjzyqjnlxw699qq4x8vr96j16l1zf10h99"; }; atlas = { @@ -39,57 +39,57 @@ { owner = "terraform-providers"; repo = "terraform-provider-aws"; - version = "1.56.0"; - sha256 = "1jsvkqr3l88z2lq89rjw0nrnm8dsm57nydi45mbzjl3k0j7g028m"; + version = "2.23.0"; + sha256 = "0yscy0qmdl07air0b16i6zd0w8y3z20pk5l53pwm78ssdxn3w6qc"; }; azuread = { owner = "terraform-providers"; repo = "terraform-provider-azuread"; - version = "0.1.0"; - sha256 = "0jrsg3a9cb16jinzjhg2pfm65b1bfhdwnyhag1x3x4kffm3gm148"; + version = "0.5.1"; + sha256 = "0bjy6wdfzsxchqclgp7c06b49b5h60nips69hcpwd45564iql5fh"; }; azurerm = { owner = "terraform-providers"; repo = "terraform-provider-azurerm"; - version = "1.21.0"; - sha256 = "1xvw884nmr3h5ai2ijm2vms12cghas0jbkb52mqbqbaqci7273lc"; + version = "1.32.1"; + sha256 = "0ydzibmvz52i62pk0g96rl7vxhff5izrsgdwk6lgc56nw63w2l8g"; }; azurestack = { owner = "terraform-providers"; repo = "terraform-provider-azurestack"; - version = "0.4.0"; - sha256 = "1c9am0v4aq95k1jblc767vykk76dp0d6z2fvy148ag77cy2jgryc"; + version = "0.8.1"; + sha256 = "1sbmjrqzzn8rf9xhaax2ykyg199sggx80apx0xvd4ab82c3ldyfw"; }; bigip = { owner = "terraform-providers"; repo = "terraform-provider-bigip"; - version = "0.12.0"; - sha256 = "0fmmlx757hph45ffm19zafjfkldg41qkw83vz0jjmvxicza1afbd"; + version = "0.12.3"; + sha256 = "1zlwk7jp5r45b3rwkxsq9mqf4nym3ifx56vhcvyc9a3w25s0ss8p"; }; bitbucket = { owner = "terraform-providers"; repo = "terraform-provider-bitbucket"; - version = "1.0.0"; - sha256 = "0gi8p1q0y8x5y8lqihijkpqs3v152h0q7icv7ixk33xsdcvb418y"; + version = "1.1.0"; + sha256 = "06bjagbgpgfphwym015wl00wx6qf7lsdig0fhpxqaykvlkn3sg49"; }; brightbox = { owner = "terraform-providers"; repo = "terraform-provider-brightbox"; - version = "1.0.5"; - sha256 = "0sn7k5bqgms5sxjhjikmby0jf2n6y14z6s4wsifxaw7b0082fy28"; + version = "1.2.0"; + sha256 = "0s1b2k58r2kmjrdqrkw2dlfpby79i81gml9rpa10y372bwq314zd"; }; chef = { owner = "terraform-providers"; repo = "terraform-provider-chef"; - version = "0.1.0"; - sha256 = "17fppyhxi0rd5v8khw2psdn2hdv5j79hxhinwkzrq5s4iccqk5dw"; + version = "0.2.0"; + sha256 = "0ihn4706fflmf0585w22l7arzxsa9biq4cgh8nlhlp5y0zy934ns"; }; circonus = { @@ -109,50 +109,50 @@ { owner = "terraform-providers"; repo = "terraform-provider-cloudflare"; - version = "1.11.0"; - sha256 = "14v4461bxxr5zdr11v1s89m1x9kpjxa1mff9inx2vwkdz9s02w0i"; + version = "1.17.1"; + sha256 = "0kmkk5fhgsvjakqrfs7p92dcljn04asxq15af1r9n5csq54q7na3"; }; cloudscale = { owner = "terraform-providers"; repo = "terraform-provider-cloudscale"; - version = "1.0.1"; - sha256 = "0lhzwbm1a2s11s0ahb3vxfvshh385fgy1ficvip4rl31dahhwrav"; + version = "2.0.0"; + sha256 = "145hj4pbi5zrkgamicy3m1n3380fpd2ndd6ym7mwd65d95g39vwb"; }; cloudstack = { owner = "terraform-providers"; repo = "terraform-provider-cloudstack"; - version = "0.2.0"; - sha256 = "1v46da55a8a0hnw319swz3pkd62afy7hdwzybxmp48hxh1i6af74"; + version = "0.3.0"; + sha256 = "0zmyww6z3j839ydlmv254hr8gcsixng4lcvmiwkhxb3hj1nw8hcw"; }; cobbler = { owner = "terraform-providers"; repo = "terraform-provider-cobbler"; - version = "1.0.1"; - sha256 = "1z0iijfrbbdrgszvc7jlcr4105zragbc0iq8x48vi24yipqgf5a8"; + version = "1.1.0"; + sha256 = "08ljqibfi6alpvv8f7pzvjl2k4w6br6g6ac755x4xw4ycrr24xw9"; }; consul = { owner = "terraform-providers"; repo = "terraform-provider-consul"; - version = "2.2.0"; - sha256 = "13jwvf7n7238pzvdq9m6vnl9vqa9hkr1mrcf9sa1q9lxkim9ijfk"; + version = "2.5.0"; + sha256 = "1nmldxn4y87fyb308dajjzcyvxrr6ka5nicyw84a8s7pixzbqh6q"; }; datadog = { owner = "terraform-providers"; repo = "terraform-provider-datadog"; - version = "1.6.0"; - sha256 = "16rp6kqax7i8fnl4id3sg0jmhjswx7wrnn1mp4z29gca46ji1nfh"; + version = "2.1.0"; + sha256 = "0k7apad2r07gw9kf0zzqc8wa2wcmxihi3x8sdssl32qjib20qwv1"; }; digitalocean = { owner = "terraform-providers"; repo = "terraform-provider-digitalocean"; - version = "1.1.0"; - sha256 = "1w5xslm8939rz13bsiv9hfcl8cyvi03gr0h24c0ybwj8alxmxhb4"; + version = "1.6.0"; + sha256 = "06cxm3qcym8jwp4nl1bzk3p9fbaz26bvddqzn3p8l57c802qqds6"; }; dme = { @@ -165,127 +165,127 @@ { owner = "terraform-providers"; repo = "terraform-provider-dns"; - version = "2.0.0"; - sha256 = "1km0pq1wp0bdccb612z9n0kj9w7hn1yvhk7xszwp2mzs8qmd7flv"; + version = "2.2.0"; + sha256 = "11xdxj6hfclaq9glbh14nihmrsk220crm9ld8bdv77w0bppmrrch"; }; dnsimple = { owner = "terraform-providers"; repo = "terraform-provider-dnsimple"; - version = "0.1.0"; - sha256 = "0gkd5i69ldm5zn34p3k68aqk798g6g0d60gw7yp316l7mskvrx7h"; + version = "0.2.0"; + sha256 = "0jj82fffqaz7gramj5d4avx7vka6w190yz4r9q7628qh8ih2pfhz"; }; docker = { owner = "terraform-providers"; repo = "terraform-provider-docker"; - version = "1.1.0"; - sha256 = "1ba9z9fd69hpg6kg30nf95zzskzipi74s1aadywc068gfrkdm9jj"; + version = "2.1.1"; + sha256 = "0px3xj76ay5ixpmynas49z31xmk4zmpn0917y6a20kr2x2abi9zb"; }; dyn = { owner = "terraform-providers"; repo = "terraform-provider-dyn"; - version = "1.1.0"; - sha256 = "0sx4h3drb230m69lsmafyfd2cfvwnb9gld8s6ky54115kd3nckml"; + version = "1.2.0"; + sha256 = "1a3kxmbib2y0nl7gnxknbhsflj5kfknxnm3gjxxrb2h5d2kvqy48"; }; external = { owner = "terraform-providers"; repo = "terraform-provider-external"; - version = "1.0.0"; - sha256 = "1sh0m8d6wp76h1b89j820yl3caji0f0wlgq3pwa5nk99h73rlndn"; + version = "1.2.0"; + sha256 = "1kx28bffhd1pg3m0cbldclc8l9zic16mqrk7gybcls9vyds5gbvc"; }; fastly = { owner = "terraform-providers"; repo = "terraform-provider-fastly"; - version = "0.5.0"; - sha256 = "08mnpf5j0pwhd38yl0phy5ipdvk9hwh8q9kcbv997y8mzpn5703g"; + version = "0.9.0"; + sha256 = "0g3rgi6s9hyb6vzl682n8zqz5virdxvxh04v88n9iy5r7hwrxxzg"; }; flexibleengine = { owner = "terraform-providers"; repo = "terraform-provider-flexibleengine"; - version = "1.3.1"; - sha256 = "19jncf24hl448srk4r2vqn8sca1mx8pcql9p5nxn015q6gig510v"; + version = "1.6.0"; + sha256 = "0vz68nhpy93zsdssxzr41flrwhjqh7wcjrc4nklg6kmr99n6jcc6"; }; github = { owner = "terraform-providers"; repo = "terraform-provider-github"; - version = "1.3.0"; - sha256 = "1k7816dbpsjjbm3pa6l0qlrxw5hh8z5iwdr8mp1mp5liidhl6bqs"; + version = "2.2.0"; + sha256 = "1h44v7428z3v3hv6ywi3n0yhnvgx9cr6vgqb1n2w1qf7k2f0jkzx"; }; gitlab = { owner = "terraform-providers"; repo = "terraform-provider-gitlab"; - version = "1.1.0"; - sha256 = "07mj69w0bvvkbzgfj17z7j34dg19db1d2m4gxwzjj81qmgmvzs3x"; + version = "2.2.0"; + sha256 = "0iz5ggjkcip86cz2zmsryad34hly542grwzlm5rvpcmfw5csjadw"; }; google = { owner = "terraform-providers"; repo = "terraform-provider-google"; - version = "1.20.0"; - sha256 = "1brkq4iz140miai6gzvzxfl28qi4j8gcc22igd7cb4qzafnlbxaj"; + version = "2.12.0"; + sha256 = "15fdpmdikm77hlfksdbcblysb82sd51vw4ninx60hzgddqp6ll4m"; }; google-beta = { owner = "terraform-providers"; repo = "terraform-provider-google-beta"; - version = "1.20.0"; - sha256 = "0qbzacfm1ai0lflwrq49sjy5y84n8zvaxsp6yz7ifvylqmirj1j0"; + version = "2.12.0"; + sha256 = "11aky7jvm7i39pnj3ypy42d9yk9akqb3wjb03hyllzfddwhvay5q"; }; grafana = { owner = "terraform-providers"; repo = "terraform-provider-grafana"; - version = "1.3.0"; - sha256 = "1gyma31iv05nfy9jrd8zlkls35fbrxx4nrh56gdgwchv054rxzff"; + version = "1.5.0"; + sha256 = "0zy3bqgpxymp2zygaxzllk1ysdankwxa1sy1djfgr4fs2nlggkwi"; }; hcloud = { owner = "terraform-providers"; repo = "terraform-provider-hcloud"; - version = "1.7.0"; - sha256 = "10i043mlcp4vvlsd22zcdj2ma3372cxfklrx30kav7w3lfsqgcl6"; + version = "1.12.0"; + sha256 = "1r61s7chq636fcjv67g0vjlc35xx0ycy58hg6b5i5rdc9737v7hp"; }; hedvig = { owner = "terraform-providers"; repo = "terraform-provider-hedvig"; - version = "1.0.1"; - sha256 = "1cbvr43qb2kxvsg17cnf91lnfv6cmj0dmc1manxrq1nicsnz6v5f"; + version = "1.0.4"; + sha256 = "0y6brzznxp8khdfbnpmnbjqf140411z0pvnp88p8mj2kmbk7kkjd"; }; helm = { owner = "terraform-providers"; repo = "terraform-provider-helm"; - version = "0.7.0"; - sha256 = "172l5cpl6vfdz75s3s60iqcavi5m66gwbrm7aw47hby8lv5ivflc"; + version = "0.10.2"; + sha256 = "1xp8dx6ncskmfa9bjd54434f4a7pnjz5r3yvnh1hmv3i5ykfxzdn"; }; heroku = { owner = "terraform-providers"; repo = "terraform-provider-heroku"; - version = "1.7.2"; - sha256 = "0wliiks1cvxai3rca2nzy6dhc763fkrzagsl92c5xsz1zs59vy98"; + version = "2.1.2"; + sha256 = "0n8id5rw4hzsiic9yv4rzm709npagv9sfp6dd1ax6np5kai78b87"; }; http = { owner = "terraform-providers"; repo = "terraform-provider-http"; - version = "1.0.1"; - sha256 = "1bnqrx4xya3lm5wp4byy6npazll6w1g6bv4rawgncswsgx08zqng"; + version = "1.1.1"; + sha256 = "0ah4wi9gm5m7z0wyy6vn3baz2iw2sq7ah7q0lb9srwr887aai3x0"; }; huaweicloud = { owner = "terraform-providers"; repo = "terraform-provider-huaweicloud"; - version = "1.3.0"; - sha256 = "1pm2zfss20spfwqidhn04hcq4nxxamjkn6xv8vxm3mgrky1ysvp5"; + version = "1.7.0"; + sha256 = "1yhyyh33hvzs74pryb383p1w0c0d4vn23pnm6snxi1cw49wgiiyf"; }; icinga2 = { @@ -298,22 +298,22 @@ { owner = "terraform-providers"; repo = "terraform-provider-ignition"; - version = "1.0.1"; - sha256 = "1j9rgwrb4bnm8a44rg3d9fry46wlpfkwxxpkpw9y6l24php0qxh8"; + version = "1.1.0"; + sha256 = "0vpjbb70wnlrvw7z2zc92fbisgjk49ivdmv10ahyqlgvc23js5va"; }; influxdb = { owner = "terraform-providers"; repo = "terraform-provider-influxdb"; - version = "1.0.2"; - sha256 = "05l2i0z35x6462mm1inn6jhp1pfi7df6hv52lhcyypk0lv2rgqf9"; + version = "1.3.0"; + sha256 = "19af40g8hgz2rdz6523v0fs71ww7qdlf2mh5j9vb7pfzriqwa5k9"; }; kubernetes = { owner = "terraform-providers"; repo = "terraform-provider-kubernetes"; - version = "1.5.0"; - sha256 = "1rzydw8bg2rmwvcvjp1h2qd4izkfs96rnmff42h0av22sfxkd7ng"; + version = "1.8.1"; + sha256 = "0jcc3i10x0qz7sj8l5yv98jc2g32a6yhdpc45sq33wmhcvp1fsn4"; }; librato = { @@ -326,15 +326,15 @@ { owner = "terraform-providers"; repo = "terraform-provider-linode"; - version = "1.4.0"; - sha256 = "0ak102bmi6yh7x9d3ryyvpck49vgdgwhbk958bbyhfpdr6jrvsrr"; + version = "1.8.0"; + sha256 = "1jgh2ij58a5mr6ns604cfpvfvr19qr0q51j57gvchz53iv683m9q"; }; local = { owner = "terraform-providers"; repo = "terraform-provider-local"; - version = "1.1.0"; - sha256 = "1qxfyyg8k43rw0gny4dadamc2a9hk3x6ybdivifjc17m7il0janc"; + version = "1.3.0"; + sha256 = "1z6b52vdq7wzzipldys28z45glwgj9k15ighjix1dy78mzi0p99n"; }; logentries = { @@ -347,8 +347,8 @@ { owner = "terraform-providers"; repo = "terraform-provider-logicmonitor"; - version = "1.2.0"; - sha256 = "1zir35i8j5w7ra4i7f9k0ghac9b3bar0dy16sqy1kqwbh4ikmhb8"; + version = "1.2.1"; + sha256 = "1fcv5g92l6xr4x69h9rg48zazjr99wrz9mkmr122fyq9s7kdd98y"; }; mailgun = { @@ -361,64 +361,64 @@ { owner = "terraform-providers"; repo = "terraform-provider-mysql"; - version = "1.5.0"; - sha256 = "1fsqfqz1db1pv8agr5zgqqyhizd7647n6rznf24iwapy1q0wkvmi"; + version = "1.7.0"; + sha256 = "19l1ihp5jlaahm8zncjlrnfw8d8gcpnq3z6pn421j1x0d5v5vw9b"; }; netlify = { owner = "terraform-providers"; repo = "terraform-provider-netlify"; - version = "0.1.0"; - sha256 = "1lf66nzqcgzjwvh1lv2jp8gcj6apdanlinci5pri8mgv5r1pv40l"; + version = "0.3.0"; + sha256 = "0mmbli6d3fbpyvvdfsg32f1w83g8ga3x21b36rgmx3mn156r7yij"; }; newrelic = { owner = "terraform-providers"; repo = "terraform-provider-newrelic"; - version = "1.2.0"; - sha256 = "1dh2i7qps7nr876y54jrjb414vdjhd8c7m1zwdiny93ggvl8f5j2"; + version = "1.5.1"; + sha256 = "1xrwh9m1sig4hd2vvb7apy2gh8rz15wdrajggzmmpc1z1rlhf90p"; }; nomad = { owner = "terraform-providers"; repo = "terraform-provider-nomad"; - version = "1.3.0"; - sha256 = "06kq0qkrgnj7z13xrgb9shid356m55mz0hkdbm4vfz3fx863mvl3"; + version = "1.4.1"; + sha256 = "1v4wwinnb2qc71jgil4607kgdccjivssabqgb5l3yk8pwfidgdnr"; }; ns1 = { owner = "terraform-providers"; repo = "terraform-provider-ns1"; - version = "1.1.0"; - sha256 = "1qfzm35p6kgamm1ffdvll96br025sj496nqzhsnfh3n3hsxzf0b8"; + version = "1.5.0"; + sha256 = "1m6f1hsx2gcb5b50sm8cj04hkmn71xlxji8qwlswasz2sg1sllrx"; }; nsxt = { owner = "terraform-providers"; repo = "terraform-provider-nsxt"; - version = "1.0.0"; - sha256 = "09yliw59wp9flfgmkznbf4syl510wpxsplzr8sa9m2vw0yc78jnq"; + version = "1.1.1"; + sha256 = "19bbycify25bshpyq65qjxnl72b6wmwwwdb7hxl94hhbgx2c9z29"; }; null = { owner = "terraform-providers"; repo = "terraform-provider-null"; - version = "2.0.0"; - sha256 = "1qbb4pyzqys2010g6b4yzdzgalrf6az1s24y4sa577q2bix8x45v"; + version = "2.1.2"; + sha256 = "0di1hxmd3s80sz8hl5q2i425by8fbk15f0r4jmnm6vra0cq89jw2"; }; nutanix = { owner = "terraform-providers"; repo = "terraform-provider-nutanix"; - version = "1.0.0"; - sha256 = "16nky5ryyjvv7vny18ymxvy20ivwmqw7lagnz48pq8mnwwrp5541"; + version = "1.0.1"; + sha256 = "1g7p6qg32g75x8fgspgxcdsa086mz3yabdgv1k68rykhw3zbri5d"; }; oci = { owner = "terraform-providers"; repo = "terraform-provider-oci"; - version = "3.12.0"; - sha256 = "00mwyangy7n665wlvvr6jmrlfbhnw5spy47q64rmm4pp66gg9brw"; + version = "3.37.0-rc1"; + sha256 = "0ahqnh9qzixp434qn2ckj8p32kb9x26l1xz8yr84h6sqfrn58bcv"; }; oneandone = { @@ -431,22 +431,22 @@ { owner = "terraform-providers"; repo = "terraform-provider-opc"; - version = "1.3.2"; - sha256 = "0fm53xwgpsmfkqavichxb0vq86bqqpsadlyzqz5jafw3aavx91cb"; + version = "1.3.7"; + sha256 = "01g09w8mqfp1d8phplsdj0vz63q5bgq9fqwy2kp4vrnwb70dq52w"; }; openstack = { owner = "terraform-providers"; repo = "terraform-provider-openstack"; - version = "1.14.0"; - sha256 = "05vlcfnbfs4xwzfx8lihq63zya19gdgq2xh5ddwprzddm42v1i1z"; + version = "1.21.1"; + sha256 = "0nvhn2bnk11sz4i98yw7rpxi8b3c2y04qq37ybvqx2jyi3n9kj30"; }; opentelekomcloud = { owner = "terraform-providers"; repo = "terraform-provider-opentelekomcloud"; - version = "1.5.2"; - sha256 = "1zprj2k86wad9c35jgv22imld8l8f1jjgv54dj54ry56964nhkh8"; + version = "1.11.0"; + sha256 = "175j2bbw3bdbjq1b7b1kwsr8iay9aafz165d0brfpb8gf096y7xa"; }; opsgenie = { @@ -459,120 +459,120 @@ { owner = "terraform-providers"; repo = "terraform-provider-oraclepaas"; - version = "1.4.1"; - sha256 = "12jsqsyrkmrxpz8zashjwnvn6nkrd6ya06d58m116a0qija1a4s3"; + version = "1.5.2"; + sha256 = "0m886wfg5ski8s1zr7g1h1m6q5ai08jk35ymipxpb6ipx781qvvk"; }; ovh = { owner = "terraform-providers"; repo = "terraform-provider-ovh"; - version = "0.3.0"; - sha256 = "05bzkwa50alh8mpslh64dddp815m8df240w1mmphdmp9rsi6hqp8"; + version = "0.5.0"; + sha256 = "07n8ismxbv0gngh4kibqhr4ndqkrg6gxbpj3zl764rrwp54gwgbw"; }; packet = { owner = "terraform-providers"; repo = "terraform-provider-packet"; - version = "1.2.5"; - sha256 = "1c40w1q18piip4fn572mnf67g07h6g03hnin23c7jw265m4yr222"; + version = "2.3.0"; + sha256 = "1v2758wjhrn7rhwdx658w3sf1q5lp4cawl6llbv4p16c5fyzwwc2"; }; pagerduty = { owner = "terraform-providers"; repo = "terraform-provider-pagerduty"; - version = "1.2.1"; - sha256 = "1b0fbzqalcxngnxk51afxkhs82bj68sjakvb28p0im0x1lblxj0n"; + version = "1.3.1"; + sha256 = "1x29ya0xcjj2b3x2q2q7iyqric8vswf18a5bwhwv2017c1g4n299"; }; panos = { owner = "terraform-providers"; repo = "terraform-provider-panos"; - version = "1.4.1"; - sha256 = "1mlz01v01675cf9ja8i42c6ssklf65kd8wpjzf0j472lfwki4xpp"; + version = "1.5.2"; + sha256 = "0sycgr4k4dlhxj5klmgg2xcw3xha06332ij8cfzz4xvgdq0xky3j"; }; postgresql = { owner = "terraform-providers"; repo = "terraform-provider-postgresql"; - version = "0.1.3"; - sha256 = "1jx907wrq3b9cvx0z4731d1vkp40g358czgpgmky6k8wg70mhp17"; + version = "1.1.0"; + sha256 = "1dxspqajfy8dmplasazi4s34f47n1qz7qg2dr9ypdvd3jp63072w"; }; powerdns = { owner = "terraform-providers"; repo = "terraform-provider-powerdns"; - version = "0.1.0"; - sha256 = "1k9xjx2smk6478dsrcnqk1k6r2pddpa9n8aghq5d1a5yhfsq5zzz"; + version = "1.0.0"; + sha256 = "1qh4z69b0sqxwjjgc8xis165gdszav9yc85ba6pgyl3wbymkld30"; }; profitbricks = { owner = "terraform-providers"; repo = "terraform-provider-profitbricks"; - version = "1.4.0"; - sha256 = "1yrmlpqc1bzgs3c8pxhfbscf4anjri6gv6sd8i8rn764z8xhwaff"; + version = "1.4.4"; + sha256 = "0pzcl3pdhaykihvv1v38zrv607mydchvkzrzhwcakgmdkp3vq54i"; }; rabbitmq = { owner = "terraform-providers"; repo = "terraform-provider-rabbitmq"; - version = "1.0.0"; - sha256 = "1md928243r4c46ihjnavz2375nxnfyhknyc86r9853hwhhyhsx5d"; + version = "1.1.0"; + sha256 = "0xihc44923kx8c3v6wrvczzbhmbjkhy7dhgx3sy5sqhmm22y0gys"; }; rancher = { owner = "terraform-providers"; repo = "terraform-provider-rancher"; - version = "1.2.1"; - sha256 = "1z0gqchb268w5mw0519fbx4126nkxb9kvvay8vjj287yxdpi5grj"; + version = "1.4.0"; + sha256 = "106arszmdjmgrz4iv01bbf72jarn7zjqvmc43b6n1s3lzd7jnfpc"; }; random = { owner = "terraform-providers"; repo = "terraform-provider-random"; - version = "2.0.0"; - sha256 = "0plg139pbvqwbs5hcl7d5kjn7vwknjr4n0ysc2j5s25iyhikkv9s"; + version = "2.2.0"; + sha256 = "0vg33jbvyxvg4dwcwjb2p57jjkq7qj50d356r4a1f2ysl2axwwjw"; }; rightscale = { owner = "terraform-providers"; repo = "terraform-provider-rightscale"; - version = "1.3.0"; - sha256 = "1brzxyd5hg99x75qh0p707lr9cvqpzx2az1swr624w3rzhjl2ygm"; + version = "1.3.1"; + sha256 = "0abwxaghrxpahpsk6kd02fjh0rhck4xsdrzcpv629yh8ip9rzcaj"; }; rundeck = { owner = "terraform-providers"; repo = "terraform-provider-rundeck"; - version = "0.1.0"; - sha256 = "0rp8cgnp8in52g7zkl2lj42hns0g27m8f7l42lhfnv6n2vv5qxcg"; + version = "0.4.0"; + sha256 = "1x131djsny8w84yf7w2il33wlc3ysy3k399dziii2lmq4h8sgrpr"; }; runscope = { owner = "terraform-providers"; repo = "terraform-provider-runscope"; - version = "0.5.0"; - sha256 = "0n0m39gaiwhqigjny51a7g36ldik33alimkqqbv6hqyzrhk0qs8h"; + version = "0.6.0"; + sha256 = "1fsph2cnyvzdwa5hwdjabfk4azmc3x8a7afpwpawxfdvqhgpr595"; }; scaleway = { owner = "terraform-providers"; repo = "terraform-provider-scaleway"; - version = "1.8.0"; - sha256 = "1vr3im5jas7m3yn5529m6ghhx4lxf2lksqbznpwyi351sbsn4ji2"; + version = "1.10.0"; + sha256 = "0sbcvcd413f53b25piymmh4rfmlmqsxdscpar8gf2dx6mrsacgf0"; }; - selvpc = + selectel = { owner = "terraform-providers"; - repo = "terraform-provider-selvpc"; - version = "1.1.0"; - sha256 = "045mp6j5hll0lym9z035swxmdjq43mdpf881qgmk8sz8j2wgvm5f"; + repo = "terraform-provider-selectel"; + version = "2.3.0"; + sha256 = "0n0nqlajcx44zxbc2k58lv3jy2y6p9zqkby2vy5a2856kcksm7pf"; }; skytap = { owner = "terraform-providers"; repo = "terraform-provider-skytap"; - version = "0.9.0"; - sha256 = "15p2rfaqw5iab8fkxcxigp7nxvs4gmgr2v8ysfyjz01mgwidd0rq"; + version = "0.11.1"; + sha256 = "1mlv6jp6lp47chcnsmx8dzy01bxpb9jx1wl122lxd88app9nxq1k"; }; softlayer = { @@ -585,15 +585,15 @@ { owner = "terraform-providers"; repo = "terraform-provider-spotinst"; - version = "1.5.0"; - sha256 = "15ggn37qsgzb78g0f6bj1l89zy65yqj66abs7xq5kjxsh62h9dij"; + version = "1.13.3"; + sha256 = "0s75xlw8y3rz1ik11dnh3dzkk1jfklvq3wsf2fam0789z2j1zr1m"; }; statuscake = { owner = "terraform-providers"; repo = "terraform-provider-statuscake"; - version = "0.2.0"; - sha256 = "065izach0hq04664hz7rc3gd0r3l06lzwcbj5800zjfv1inp6pxs"; + version = "1.0.0"; + sha256 = "1x295va6c72465cxps0kx3rrb7s9aip2cniy6icsg1b2yrsb9b26"; }; telefonicaopencloud = { @@ -606,15 +606,15 @@ { owner = "terraform-providers"; repo = "terraform-provider-template"; - version = "2.0.0"; - sha256 = "0rn2qavvx1y0hv25iw8yd6acvrclmz17hzg2jpb161mnlh8q94r4"; + version = "2.1.2"; + sha256 = "18w1mmma81m9j7yf6q500w8v9ss28w6sw2ynssl99pyw2gwmd04q"; }; tencentcloud = { owner = "terraform-providers"; repo = "terraform-provider-tencentcloud"; - version = "1.2.2"; - sha256 = "1ypsfm48c30szg3zc1sknblhwcnca8aapfgp62bhszyqxq6zq37s"; + version = "1.15.0"; + sha256 = "1ics91fxsl1z1wqd961wdn2s22ck25yphp341qlbs8ln2dcwk8r7"; }; terraform = { @@ -627,15 +627,15 @@ { owner = "terraform-providers"; repo = "terraform-provider-tfe"; - version = "0.6.0"; - sha256 = "1p8l034cjpj81vcvnz8mr2yyw3bz4zffmdg9pz9mp62s8rrrvwkw"; + version = "0.10.1"; + sha256 = "09hrdschgydnziq1sv6ql7gc4qwx8j4dnmx4fdw8452qpszk17n2"; }; tls = { owner = "terraform-providers"; repo = "terraform-provider-tls"; - version = "1.2.0"; - sha256 = "0hvj00j8a820j18yi90xzhd635pkffivp1116d84wyqxya5acd4p"; + version = "2.0.1"; + sha256 = "08fh4k5fvkijl2ds8mxdc5fxlwhs11y5s48vvxdskklvkjhygzc7"; }; triton = { @@ -648,8 +648,8 @@ { owner = "terraform-providers"; repo = "terraform-provider-ucloud"; - version = "1.1.0"; - sha256 = "0v4f7rvyiwmm64v6gwqdz3mn9sjq5y8mlhd7v9saq7rh56pfx3n2"; + version = "1.11.1"; + sha256 = "1la5kapdwpd2f6x00yc9j25rl8qkrndgqpzp2jp6mcbj5zif82ns"; }; ultradns = { @@ -662,29 +662,36 @@ { owner = "terraform-providers"; repo = "terraform-provider-vault"; - version = "1.4.1"; - sha256 = "1nkhcgd2y7wyi179l2znjpakmjjcxarwc9j5mb7r191p2m27k27s"; + version = "2.2.0"; + sha256 = "0k9frx29pjrrx67cwzsrnj0x90ff5k99l5yzfgb58sajkz1j8nln"; }; vcd = { owner = "terraform-providers"; repo = "terraform-provider-vcd"; - version = "1.0.0"; - sha256 = "0sjqdb37lalvizf4imxwn7nmry1c76dw2fpnrfmal34gghddm91p"; + version = "2.4.0"; + sha256 = "020wmdl5cbma9r7sv3bx6v8b59w5nwkzgwj4xm7a2s6kn8jygr2x"; }; vsphere = { owner = "terraform-providers"; repo = "terraform-provider-vsphere"; - version = "1.9.1"; - sha256 = "07pxzy8fw0n0kq9mf43bz4cycbwxp8vy0jbl44sknszmzbn4pam7"; + version = "1.12.0"; + sha256 = "0g3pnk2b4dmz5bkr7xjpp45dwy767k6a02rjva38xls185qs7i7c"; + }; + yandex = + { + owner = "terraform-providers"; + repo = "terraform-provider-yandex"; + version = "0.9.0"; + sha256 = "0x3l0pbpdsm43jsx42xzc46r9j40l7szkcf851q16wsxf70lchqr"; }; matchbox = { - owner = "coreos"; + owner = "poseidon"; repo = "terraform-provider-matchbox"; - version = "0.2.2"; - sha256 = "07lzslbl41i3h84bpsmxhvchm5kqk87yzin2yvpbq0m3m7r2f547"; + version = "0.3.0"; + sha256 = "1nq7k8qa7rv8xyryjigwpwcwvj1sw85c4j46rkfdv70b6js25jz3"; }; nixos = { @@ -697,7 +704,14 @@ { owner = "tweag"; repo = "terraform-provider-secret"; - version = "0.0.1"; - sha256 = "1mqs1il8y97hf9havcmxdfwjcpkrxa1hpkifzzy4rjc88m2m4q9r"; + version = "1.0.0"; + sha256 = "03q78d0g3b4j4213qjlacj1adh7hjwcqcqrwm8c2r2k5w9kb25k0"; + }; + segment = + { + owner = "ajbosco"; + repo = "terraform-provider-segment"; + version = "0.2.0"; + sha256 = "0ic5b9djhnb1bs2bz3zdprgy3r55dng09xgc4d9l9fyp85g2amaz"; }; } diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix index 0922bd7b8a9..fc6b7131385 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/default.nix +++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix @@ -24,7 +24,9 @@ let }; in { + elasticsearch = callPackage ./elasticsearch {}; gandi = callPackage ./gandi {}; ibm = callPackage ./ibm {}; libvirt = callPackage ./libvirt {}; + ansible = callPackage ./ansible {}; } // lib.mapAttrs (n: v: toDrv v) list diff --git a/pkgs/applications/networking/cluster/terraform-providers/elasticsearch/default.nix b/pkgs/applications/networking/cluster/terraform-providers/elasticsearch/default.nix new file mode 100644 index 00000000000..1aadbbc5ccd --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-providers/elasticsearch/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, buildGoModule }: +buildGoModule rec { + pname = "terraform-provider-elasticsearch"; + version = "0.7.0"; + + src = fetchFromGitHub { + owner = "phillbaker"; + repo = "terraform-provider-elasticsearch"; + rev = "v${version}"; + sha256 = "0ci9gcn9ijdbx25wa99iy0b3sl7akqa7b6gi9wnnl1dawpqznj7v"; + }; + + modSha256 = "1xk21xswqwpv34j4ba4fj8lcbvfdd12x7rq1hrdyd21mdhmrhw0p"; + + subPackages = [ "." ]; + + # Terraform allow checking the provider versions, but this breaks + # if the versions are not provided via file paths. + postInstall = "mv $out/bin/terraform-provider-elasticsearch{,_v${version}}"; + + meta = with stdenv.lib; { + description = "Terraform provider for elasticsearch"; + homepage = "https://github.com/phillbaker/terraform-provider-elasticsearch"; + license = licenses.mpl20; + maintainers = with maintainers; [ basvandijk ]; + }; +} diff --git a/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix b/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix index 291698f3065..4571d368991 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix +++ b/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, buildGoPackage }: buildGoPackage rec { - name = "terraform-provider-gandi-${version}"; + pname = "terraform-provider-gandi"; version = "1.0.0"; goPackagePath = "github.com/tiramiseb/terraform-provider-gandi"; diff --git a/pkgs/applications/networking/cluster/terraform-providers/ibm/default.nix b/pkgs/applications/networking/cluster/terraform-providers/ibm/default.nix index fddf13795f3..06d7b8a9f07 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/ibm/default.nix +++ b/pkgs/applications/networking/cluster/terraform-providers/ibm/default.nix @@ -11,7 +11,7 @@ # buildGoPackage rec { - name = "terraform-provider-ibm-${version}"; + pname = "terraform-provider-ibm"; version = "0.11.1"; goPackagePath = "github.com/terraform-providers/terraform-provider-ibm"; diff --git a/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix b/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix index 96b5c8a0fa1..23c4f4bfa8b 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix +++ b/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix @@ -18,7 +18,7 @@ # https://github.com/dmacvicar/terraform-provider-libvirt/tree/master/examples buildGoPackage rec { - name = "terraform-provider-libvirt-${version}"; + pname = "terraform-provider-libvirt"; version = "0.5.1"; goPackagePath = "github.com/dmacvicar/terraform-provider-libvirt"; diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.txt b/pkgs/applications/networking/cluster/terraform-providers/providers.txt index c32d6d7b7d6..286e3d6efe0 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.txt +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.txt @@ -10,10 +10,13 @@ terraform-providers terraform-provider- terraform-provider-\\(azure-classic\\|scaffolding\\) # include terraform-provider-matchbox -coreos/terraform-provider-matchbox +poseidon/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 diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index a9d8faf62b5..de1e86fa073 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -43,7 +43,7 @@ let description = "Tool for building, changing, and versioning infrastructure"; homepage = https://www.terraform.io/; license = licenses.mpl20; - maintainers = with maintainers; [ jgeerds zimbatm peterhoeg kalbasit ]; + maintainers = with maintainers; [ zimbatm peterhoeg kalbasit ]; }; } // attrs'); @@ -88,8 +88,8 @@ let plugins = removeAttrs terraform-providers ["override" "overrideDerivation" "recurseForDerivations"]; in rec { terraform_0_11 = pluggable (generic { - version = "0.11.11"; - sha256 = "1hsi5sibs0fk1620wzzxrc1gqjs6slqrjvlqcgvgg1yl22q9g7f5"; + version = "0.11.14"; + sha256 = "1bzz5wy13gh8j47mxxp6ij6yh20xmxd9n5lidaln3mf1bil19dmc"; patches = [ ./provider-path.patch ]; passthru = { inherit plugins; }; }); @@ -97,8 +97,8 @@ in rec { terraform_0_11-full = terraform_0_11.full; terraform_0_12 = pluggable (generic { - version = "0.12.0-alpha4"; - sha256 = "16cwqxxb19m91d7rx7awri1awz7d8cfnrv0rbql9rbg5qjyqxcp9"; + version = "0.12.7"; + sha256 = "09zsak1a9z2mk88vb6xs9jaxfpazhs0p7x68mw62c9mm13m8kq02"; patches = [ ./provider-path.patch ]; passthru = { inherit plugins; }; }); diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix index 56c30df37c5..ddeb5851037 100644 --- a/pkgs/applications/networking/cluster/terragrunt/default.nix +++ b/pkgs/applications/networking/cluster/terragrunt/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, buildGoPackage, fetchFromGitHub, terraform, makeWrapper }: buildGoPackage rec { - name = "terragrunt-${version}"; + pname = "terragrunt"; version = "0.17.4"; goPackagePath = "github.com/gruntwork-io/terragrunt"; diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix new file mode 100644 index 00000000000..b4707327bc7 --- /dev/null +++ b/pkgs/applications/networking/cluster/tilt/default.nix @@ -0,0 +1,29 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "tilt"; + /* Do not use "dev" as a version. If you do, Tilt will consider itself + running in development environment and try to serve assets from the + source tree, which is not there once build completes. */ + version = "0.10.4"; + + src = fetchFromGitHub { + owner = "windmilleng"; + repo = pname; + rev = "v${version}"; + sha256 = "0nxgmldbcaj91jq47qxpf6jqwvi9bhg243qchdkiliphybvilcrg"; + }; + + goPackagePath = "github.com/windmilleng/tilt"; + + subPackages = [ "cmd/tilt" ]; + + buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-08-14"); + + meta = with stdenv.lib; { + description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production"; + homepage = https://tilt.dev/; + license = licenses.asl20; + maintainers = with maintainers; [ anton-dessiatov ]; + }; +} diff --git a/pkgs/applications/networking/compactor/default.nix b/pkgs/applications/networking/compactor/default.nix index 48f85c80e0e..5d9a658972c 100644 --- a/pkgs/applications/networking/compactor/default.nix +++ b/pkgs/applications/networking/compactor/default.nix @@ -1,14 +1,16 @@ -{ autoconf, automake, boost, cbor-diag, cddl, fetchFromGitHub, file, libpcap, libtins, libtool, lzma, openssl, pkgconfig, stdenv, tcpdump, wireshark-cli }: +{ autoconf, automake, boost, cbor-diag, cddl, fetchFromGitHub, file, libctemplate, libmaxminddb +, libpcap, libtins, libtool, lzma, openssl, pkgconfig, stdenv, tcpdump, wireshark-cli +}: stdenv.mkDerivation rec { - name = "compactor-${version}"; - version = "0.11.1"; + pname = "compactor"; + version = "0.12.2"; src = fetchFromGitHub { owner = "dns-stats"; - repo = "compactor"; - rev = "${version}"; - sha256 = "0bd82956nkpdmfj8f05z37hy7f33cd2nfdxr7s9fgz1xi5flnzjc"; + repo = pname; + rev = version; + sha256 = "17p9wsslsh6ifnadvyygr0cgir4q4iirxfz9zpkpbhh76cx2qnay"; }; # cbor-diag, cddl and wireshark-cli are only used for tests. @@ -19,14 +21,16 @@ stdenv.mkDerivation rec { openssl libtins lzma + libctemplate + libmaxminddb ]; - patchPhase = '' + prePatch = '' patchShebangs test-scripts/ ''; preConfigure = '' - sh autogen.sh + ${stdenv.shell} autogen.sh substituteInPlace configure \ --replace "/usr/bin/file" "${file}/bin/file" ''; @@ -35,16 +39,19 @@ stdenv.mkDerivation rec { "--with-boost-libdir=${boost.out}/lib" "--with-boost=${boost.dev}" ]; + enableParallelBuilding = true; doCheck = true; preCheck = '' substituteInPlace test-scripts/check-live-pcap.sh \ --replace "/usr/sbin/tcpdump" "${tcpdump}/bin/tcpdump" - ''; + rm test-scripts/same-tshark-output.sh + ''; # TODO: https://github.com/dns-stats/compactor/issues/49 (failing test) meta = with stdenv.lib; { description = "Tools to capture DNS traffic and record it in C-DNS files"; - homepage = http://dns-stats.org/; + homepage = "http://dns-stats.org/"; + changelog = "https://github.com/dns-stats/${pname}/raw/${version}/ChangeLog.txt"; license = [ licenses.boost licenses.mpl20 licenses.openssl ]; maintainers = with maintainers; [ fdns ]; platforms = stdenv.lib.platforms.unix; diff --git a/pkgs/applications/networking/corebird/default.nix b/pkgs/applications/networking/corebird/default.nix index 1ee2c694e0b..6dbc6954ef5 100644 --- a/pkgs/applications/networking/corebird/default.nix +++ b/pkgs/applications/networking/corebird/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { version = "1.7.4"; - name = "corebird-${version}"; + pname = "corebird"; src = fetchFromGitHub { owner = "baedert"; diff --git a/pkgs/applications/networking/davmail/default.nix b/pkgs/applications/networking/davmail/default.nix index f66692d1056..589cd04057e 100644 --- a/pkgs/applications/networking/davmail/default.nix +++ b/pkgs/applications/networking/davmail/default.nix @@ -1,10 +1,11 @@ { fetchurl, stdenv, jre, glib, libXtst, gtk2, makeWrapper, unzip }: stdenv.mkDerivation rec { - name = "davmail-4.8.6"; + pname = "davmail"; + version = "5.2.0"; src = fetchurl { - url = "mirror://sourceforge/davmail/4.8.6/davmail-4.8.6-2600.zip"; - sha256 = "1wk4jxb46qlyipxj57flqadgm4mih243rhqq9sp9m5pifjqrw9dp"; + url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}-2961.zip"; + sha256 = "0jw6sjg7k7zg8ab0srz6cjjj5hnw5ppxx1w35sw055dlg54fh2m5"; }; sourceRoot = "."; @@ -14,7 +15,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/share/davmail cp -vR ./* $out/share/davmail - makeWrapper $out/share/davmail/davmail.sh $out/bin/davmail \ + makeWrapper $out/share/davmail/davmail $out/bin/davmail \ --prefix PATH : ${jre}/bin \ --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ glib gtk2 libXtst ]} ''; diff --git a/pkgs/applications/networking/drive/default.nix b/pkgs/applications/networking/drive/default.nix index 113d6a2e5f4..0967fd95dc0 100644 --- a/pkgs/applications/networking/drive/default.nix +++ b/pkgs/applications/networking/drive/default.nix @@ -1,7 +1,7 @@ { lib, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "drive-${version}"; + pname = "drive"; version = "0.3.8.1"; goPackagePath = "github.com/odeke-em/drive"; @@ -20,6 +20,6 @@ buildGoPackage rec { homepage = https://github.com/odeke-em/drive; description = "Google Drive client for the commandline"; license = licenses.asl20; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/droopy/default.nix b/pkgs/applications/networking/droopy/default.nix index 62fe4e2e662..c74f5789d84 100644 --- a/pkgs/applications/networking/droopy/default.nix +++ b/pkgs/applications/networking/droopy/default.nix @@ -3,7 +3,7 @@ with lib; stdenv.mkDerivation rec { - name = "droopy-${version}"; + pname = "droopy"; version = "20160830"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/dropbox/cli.nix b/pkgs/applications/networking/dropbox/cli.nix index fc6cc61787f..54ed0f2eea0 100644 --- a/pkgs/applications/networking/dropbox/cli.nix +++ b/pkgs/applications/networking/dropbox/cli.nix @@ -1,40 +1,69 @@ -{ stdenv, pkgconfig, fetchurl, python, dropbox }: +{ stdenv +, substituteAll +, pkgconfig +, fetchurl +, python3 +, dropbox +, gtk3 +, gnome3 +, gdk-pixbuf +, gobject-introspection +}: + let - version = "2018.11.28"; + version = "2019.02.14"; dropboxd = "${dropbox}/bin/dropbox"; in stdenv.mkDerivation { - name = "dropbox-cli-${version}"; + pname = "dropbox-cli"; + inherit version; + + outputs = [ "out" "nautilusExtension" ]; src = fetchurl { url = "https://linux.dropboxstatic.com/packages/nautilus-dropbox-${version}.tar.bz2"; - sha256 = "0m1m9c7dfc8nawkcrg88955125sl1jz8mc9bf6wjay9za8014w58"; + sha256 = "09yg7q45sycl88l3wq0byz4a9k6sxx3m0r3szinvisfay9wlj35f"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ python ]; + strictDeps = true; - phases = "unpackPhase installPhase"; + patches = [ + (substituteAll { + src = ./fix-cli-paths.patch; + inherit dropboxd; + }) + ]; - installPhase = '' - mkdir -p "$out/bin/" "$out/share/applications" - cp data/dropbox.desktop "$out/share/applications" - cp -a data/icons "$out/share/icons" - find "$out/share/icons" -type f \! -name '*.png' -delete - substitute "dropbox.in" "$out/bin/dropbox" \ - --replace '@PACKAGE_VERSION@' ${version} \ - --replace '@DESKTOP_FILE_DIR@' "$out/share/applications" \ - --replace '@IMAGEDATA16@' '"too-lazy-to-fix"' \ - --replace '@IMAGEDATA64@' '"too-lazy-to-fix"' - sed -i 's:db_path = .*:db_path = "${dropboxd}":' $out/bin/dropbox - chmod +x "$out/bin/"* - patchShebangs "$out/bin" - ''; + nativeBuildInputs = [ + pkgconfig + gobject-introspection + gdk-pixbuf + # only for build, the install command also wants to use GTK through introspection + # but we are using Nix for installation so we will not need that. + (python3.withPackages (ps: with ps; [ + docutils + pygobject3 + ])) + ]; + + buildInputs = [ + python3 + gtk3 + gnome3.nautilus + ]; + + configureFlags = [ + "--with-nautilus-extension-dir=${placeholder ''nautilusExtension''}/lib/nautilus/extensions-3.0" + ]; + + makeFlags = [ + "EMBLEM_DIR=${placeholder ''nautilusExtension''}/share/nautilus-dropbox/emblems" + ]; meta = { - homepage = http://dropbox.com; + homepage = https://www.dropbox.com; description = "Command line client for the dropbox daemon"; - license = stdenv.lib.licenses.gpl3; + license = stdenv.lib.licenses.gpl3Plus; maintainers = with stdenv.lib.maintainers; [ the-kenny ]; # NOTE: Dropbox itself only works on linux, so this is ok. platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix index ce3141f0ef3..d820d40f7a3 100644 --- a/pkgs/applications/networking/dropbox/default.nix +++ b/pkgs/applications/networking/dropbox/default.nix @@ -7,7 +7,7 @@ assert lib.elem stdenv.hostPlatform.system platforms; # Dropbox client to bootstrap installation. # The client is self-updating, so the actual version may be newer. let - version = "63.4.107"; + version = "73.4.118"; arch = { "x86_64-linux" = "x86_64"; @@ -36,7 +36,7 @@ buildFHSUserEnv { libICE libSM libX11 libXcomposite libXdamage libXext libXfixes libXrender libXxf86vm libxcb xkeyboardconfig curl dbus firefox-bin fontconfig freetype gcc glib gnutar libxml2 libxslt - procps zlib mesa libxshmfence libpthreadstubs + procps zlib mesa libxshmfence libpthreadstubs libappindicator ]; extraInstallCommands = '' diff --git a/pkgs/applications/networking/dropbox/fix-cli-paths.patch b/pkgs/applications/networking/dropbox/fix-cli-paths.patch new file mode 100644 index 00000000000..84cd8014e1e --- /dev/null +++ b/pkgs/applications/networking/dropbox/fix-cli-paths.patch @@ -0,0 +1,11 @@ +--- a/dropbox.in ++++ b/dropbox.in +@@ -71,7 +71,7 @@ + + PARENT_DIR = os.path.expanduser("~") + DROPBOX_DIST_PATH = "%s/.dropbox-dist" % PARENT_DIR +-DROPBOXD_PATH = os.path.join(DROPBOX_DIST_PATH, "dropboxd") ++DROPBOXD_PATH = "@dropboxd@" + DESKTOP_FILE = "@DESKTOP_FILE_DIR@/dropbox.desktop" + + enc = locale.getpreferredencoding() diff --git a/pkgs/applications/networking/dsvpn/default.nix b/pkgs/applications/networking/dsvpn/default.nix new file mode 100644 index 00000000000..4958d290529 --- /dev/null +++ b/pkgs/applications/networking/dsvpn/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "dsvpn"; + version = "0.1.3"; + + src = fetchFromGitHub { + owner = "jedisct1"; + repo = pname; + rev = version; + sha256 = "1jl9b23s2glims09mb1sq01kaf10bfjsd3qsgk68mp5kvy9f3gj2"; + }; + + installPhase = '' + runHook preInstall + + install -Dm755 -t $out/bin dsvpn + + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "A Dead Simple VPN"; + homepage = "https://github.com/jedisct1/dsvpn"; + license = licenses.mit; + maintainers = [ maintainers.marsam ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/dyndns/cfdyndns/default.nix b/pkgs/applications/networking/dyndns/cfdyndns/default.nix index d1eeaa48bb7..a5b4c577b4c 100644 --- a/pkgs/applications/networking/dyndns/cfdyndns/default.nix +++ b/pkgs/applications/networking/dyndns/cfdyndns/default.nix @@ -12,7 +12,7 @@ buildRustPackage rec { sha256 = "1mcdjykrgh0jq6k6y664lai8sbgzk6j7k0r944f43vg63d1jql5b"; }; - cargoSha256 = "0k9d6pxsb4gvkqs00g71c1nnz773iccg4vajgn33qdym6m6qsjwy"; + cargoSha256 = "1d7jpffkw2m2v37bfdqsl9sqwsl19cgglpa00lwy4ih09kzbc2n9"; buildInputs = [ makeWrapper openssl ]; diff --git a/pkgs/applications/networking/errbot/default.nix b/pkgs/applications/networking/errbot/default.nix index f89b8206dbe..5b1ab692abd 100644 --- a/pkgs/applications/networking/errbot/default.nix +++ b/pkgs/applications/networking/errbot/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pythonPackages, glibcLocales }: pythonPackages.buildPythonApplication rec { - name = "errbot-${version}"; + pname = "errbot"; version = "5.2.0"; src = fetchurl { - url = "mirror://pypi/e/errbot/${name}.tar.gz"; + url = "mirror://pypi/e/errbot/${pname}-${version}.tar.gz"; sha256 = "0q5fg113s3gnym38d4y5mlnxw6vrm388zw5mlapf7b2zgx34r053"; }; diff --git a/pkgs/applications/networking/esniper/default.nix b/pkgs/applications/networking/esniper/default.nix index 87e0584c931..708d3c1ed80 100644 --- a/pkgs/applications/networking/esniper/default.nix +++ b/pkgs/applications/networking/esniper/default.nix @@ -1,12 +1,13 @@ -{ stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }: +{ stdenv, fetchgit, openssl, curl, coreutils, gawk, bash, which }: stdenv.mkDerivation rec { - name = "esniper-2.35.0"; + name = "esniper-2.35.0-15-g91d2665"; - src = fetchurl { - url = "mirror://sourceforge/esniper/${stdenv.lib.replaceStrings ["."] ["-"] name}.tgz"; - sha256 = "04iwjb42lw90c03125bjdpnm0fp78dmwf2j35r7mah0nwcrlagd9"; - }; + src = fetchgit { + url = "https://git.code.sf.net/p/esniper/git"; + rev = "91d2665539beaeac21fb4c0cc2fd39c44e771ed7"; + sha256 = "0dixcsvbcj9jbfjfv50nwvw7w90c4s6gnkrpilaan984i6y45rw0"; + }; buildInputs = [ openssl curl ]; diff --git a/pkgs/applications/networking/feedreaders/castget/default.nix b/pkgs/applications/networking/feedreaders/castget/default.nix new file mode 100644 index 00000000000..21f1e555a29 --- /dev/null +++ b/pkgs/applications/networking/feedreaders/castget/default.nix @@ -0,0 +1,44 @@ +{ lib, stdenv, fetchFromGitHub +, autoreconfHook +, pkgconfig +, glib +, ronn +, curl +, id3lib +, libxml2 +}: + +stdenv.mkDerivation rec { + pname = "castget"; + version = "1.2.4"; + + src = fetchFromGitHub { + owner = "mlj"; + repo = pname; + # Upstream uses `_` instead of `.` for the version, let's hope it will + # change in the next release + rev = "rel_${lib.replaceStrings ["."] ["_"] version}"; + sha256 = "1pfrjmsikv35cc0praxgim26zq4r7dfp1pkn6n9fz3fm73gxylyv"; + }; + # Otherwise, the autoreconfHook fails since Makefile.am requires it + preAutoreconf = '' + touch NEWS + touch README + touch ChangeLog + ''; + + buildInputs = [ glib curl id3lib libxml2 ]; + nativeBuildInputs = [ ronn autoreconfHook pkgconfig ]; + + meta = with stdenv.lib; { + description = "A simple, command-line based RSS enclosure downloader"; + longDescription = '' + castget is a simple, command-line based RSS enclosure downloader. It is + primarily intended for automatic, unattended downloading of podcasts. + ''; + homepage = "http://castget.johndal.com/"; + maintainers = with maintainers; [ doronbehar ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/feedreaders/feedreader/default.nix b/pkgs/applications/networking/feedreaders/feedreader/default.nix index a7cfc605824..959649c4b15 100644 --- a/pkgs/applications/networking/feedreaders/feedreader/default.nix +++ b/pkgs/applications/networking/feedreaders/feedreader/default.nix @@ -1,53 +1,43 @@ -{ stdenv, fetchFromGitHub, fetchpatch, meson, ninja, pkgconfig, vala_0_40, gettext, python3 -, appstream-glib, desktop-file-utils, glibcLocales, wrapGAppsHook -, curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo +{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, vala, gettext, python3 +, appstream-glib, desktop-file-utils, wrapGAppsHook, gnome-online-accounts +, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas, hicolor-icon-theme +, curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo, libxml2 }: stdenv.mkDerivation rec { pname = "feedreader"; - version = "2.6.2"; + version = "2.10.0"; src = fetchFromGitHub { owner = "jangernert"; repo = pname; rev = "v${version}"; - sha256 = "1x5milynfa27zyv2jkzyi7ikkszrvzki1hlzv8c2wvcmw60jqb8n"; + sha256 = "154lzvd8acs4dyc91nlabpr284yrij8jkhgm0h18hp3cy0a11rv8"; }; - patches = [ - # See: https://github.com/jangernert/FeedReader/pull/842 - (fetchpatch { - url = "https://github.com/jangernert/FeedReader/commit/f4ce70932c4ddc91783309708402c7c42d627455.patch"; - sha256 = "076fpjn973xg2m35lc6z4h7g5x8nb08sghg94glsqa8wh1ig2311"; - }) - ]; - nativeBuildInputs = [ - meson ninja pkgconfig vala_0_40 gettext appstream-glib desktop-file-utils - python3 glibcLocales wrapGAppsHook + meson ninja pkgconfig vala gettext appstream-glib desktop-file-utils + libxml2 python3 wrapGAppsHook ]; buildInputs = [ - curl glib json-glib libnotify libsecret sqlite gumbo - ] ++ (with gnome3; [ - gtk libgee libpeas libsoup rest webkitgtk gnome-online-accounts - gsettings-desktop-schemas - ]) ++ (with gst_all_1; [ + curl glib json-glib libnotify libsecret sqlite gumbo gtk3 + libgee libpeas gnome3.libsoup librest webkitgtk gsettings-desktop-schemas + gnome-online-accounts + hicolor-icon-theme # for setup hook + ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ]); - # vcs_tag function fails with UnicodeDecodeError - LC_ALL = "en_US.UTF-8"; - postPatch = '' - patchShebangs meson_post_install.py + patchShebangs build-aux/meson_post_install.py ''; meta = with stdenv.lib; { description = "A modern desktop application designed to complement existing web-based RSS accounts"; homepage = https://jangernert.github.io/FeedReader/; license = licenses.gpl3Plus; - maintainers = with maintainers; [ edwtjo ]; + maintainers = with maintainers; [ edwtjo worldofpeace ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/feedreaders/newsboat/default.nix b/pkgs/applications/networking/feedreaders/newsboat/default.nix index 7ed0e8e137f..2795ac4e46e 100644 --- a/pkgs/applications/networking/feedreaders/newsboat/default.nix +++ b/pkgs/applications/networking/feedreaders/newsboat/default.nix @@ -3,16 +3,16 @@ rustPlatform.buildRustPackage rec { name = "newsboat-${version}"; - version = "2.14"; + version = "2.16.1"; src = fetchurl { url = "https://newsboat.org/releases/${version}/${name}.tar.xz"; - sha256 = "13bdwnwxa66c69lqhb02basff0aa6q1jhl7fgahcxmdy7snbmg37"; + sha256 = "0lxdsfcwa4byhfnn0gv34w3rr531f4nfqgi8j4qqmh3gncbwh8s0"; }; - cargoSha256 = "11s50qy1b833r2b5kr1wx9imi9h7s00c0hs36ricgbd0xw7n76hd"; + cargoSha256 = "0ck2dgfk4fay4cjl66wqkbnq4rqrd717jl63l1mvqmvad9i19igm"; - prePatch = '' + postPatch = '' substituteInPlace Makefile --replace "|| true" "" # Allow other ncurses versions on Darwin substituteInPlace config.sh \ @@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec { ''; nativeBuildInputs = [ pkgconfig asciidoc docbook_xml_dtd_45 libxslt docbook_xsl ] - ++ stdenv.lib.optional stdenv.isDarwin [ makeWrapper libiconv ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ makeWrapper libiconv ]; buildInputs = [ stfl sqlite curl gettext libxml2 json_c ncurses ] ++ stdenv.lib.optional stdenv.isDarwin Security; @@ -29,7 +29,8 @@ rustPlatform.buildRustPackage rec { make ''; - NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"; + NIX_CFLAGS_COMPILE = [ "-Wno-error=sign-compare" ] + ++ stdenv.lib.optional stdenv.isDarwin "-Wno-error=format-security"; doCheck = true; @@ -48,7 +49,7 @@ rustPlatform.buildRustPackage rec { meta = with stdenv.lib; { homepage = https://newsboat.org/; - description = "A fork of Newsbeuter, an RSS/Atom feed reader for the text console."; + description = "A fork of Newsbeuter, an RSS/Atom feed reader for the text console"; maintainers = with maintainers; [ dotlambda nicknovitski ]; license = licenses.mit; platforms = platforms.unix; diff --git a/pkgs/applications/networking/feedreaders/rss2email/default.nix b/pkgs/applications/networking/feedreaders/rss2email/default.nix index 4d17cc8bddd..67346d45b9f 100644 --- a/pkgs/applications/networking/feedreaders/rss2email/default.nix +++ b/pkgs/applications/networking/feedreaders/rss2email/default.nix @@ -3,7 +3,6 @@ with pythonPackages; buildPythonApplication rec { - name = "${pname}-${version}"; pname = "rss2email"; version = "3.9"; # TODO: on next bump, the manpage will be updated. # Update nixos/modules/services/mail/rss2email.nix to point to it instead of @@ -12,7 +11,7 @@ buildPythonApplication rec { propagatedBuildInputs = [ feedparser beautifulsoup4 html2text ]; src = fetchurl { - url = "mirror://pypi/r/rss2email/${name}.tar.gz"; + url = "mirror://pypi/r/rss2email/${pname}-${version}.tar.gz"; sha256 = "02wj9zhmc2ym8ba1i0z9pm1c622z2fj7fxwagnxbvpr1402ahmr5"; }; diff --git a/pkgs/applications/networking/feedreaders/rssguard/default.nix b/pkgs/applications/networking/feedreaders/rssguard/default.nix index 297703cde69..169b88f2718 100644 --- a/pkgs/applications/networking/feedreaders/rssguard/default.nix +++ b/pkgs/applications/networking/feedreaders/rssguard/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, qmake, qtwebengine, qttools, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "rssguard"; - version = "3.5.6"; + version = "3.5.9"; src = fetchFromGitHub { owner = "martinrotter"; repo = pname; rev = version; - sha256 = "1pdas7hg3nzykm3qi951fk25c9s6gjb7my82b9xzjn2yd7ks71by"; + sha256 = "0dvjcazvrgxfxg1gvznxj8kx569v4ivns0brq00cn2yxyd4wx43s"; }; buildInputs = [ qtwebengine qttools ]; diff --git a/pkgs/applications/networking/feedreaders/rsstail/default.nix b/pkgs/applications/networking/feedreaders/rsstail/default.nix index 459aee01f43..c0a6185309a 100644 --- a/pkgs/applications/networking/feedreaders/rsstail/default.nix +++ b/pkgs/applications/networking/feedreaders/rsstail/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cppcheck, libmrss }: stdenv.mkDerivation rec { - name = "rsstail-${version}"; + pname = "rsstail"; version = "2.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/firehol/default.nix b/pkgs/applications/networking/firehol/default.nix index 335f393bc07..ab2ca160152 100644 --- a/pkgs/applications/networking/firehol/default.nix +++ b/pkgs/applications/networking/firehol/default.nix @@ -7,7 +7,7 @@ }: stdenv.mkDerivation rec { - name = "firehol-${version}"; + pname = "firehol"; version = "3.1.6"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/firehol/iprange.nix b/pkgs/applications/networking/firehol/iprange.nix index bb245928f07..194dfc25eba 100644 --- a/pkgs/applications/networking/firehol/iprange.nix +++ b/pkgs/applications/networking/firehol/iprange.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "iprange-${version}"; + pname = "iprange"; version = "1.0.4"; src = fetchurl { diff --git a/pkgs/applications/networking/flent/default.nix b/pkgs/applications/networking/flent/default.nix index 2f97b39da60..bbd9a7601ac 100644 --- a/pkgs/applications/networking/flent/default.nix +++ b/pkgs/applications/networking/flent/default.nix @@ -1,28 +1,39 @@ -{ stdenv, buildPythonApplication, fetchFromGitHub, matplotlib, procps, pyqt5 -, sphinx -}: +{ stdenv, buildPythonApplication, fetchPypi, matplotlib, procps, pyqt5, python +, pythonPackages, qt5, sphinx, xvfb_run }: buildPythonApplication rec { pname = "flent"; - version = "1.2.2"; - src = fetchFromGitHub { - owner = "tohojo"; - repo = "flent"; - rev = "v${version}"; - sha256 = "1llcdakk0nk9xlpjjz7mv4a80yq4sjnbqhaqvyj9m6lbcxgssh2r"; + version = "1.3.0"; + src = fetchPypi { + inherit pname version; + sha256 = "099779i0ghjd9ikq77z6m6scnlmk946lw9issrgz8zm7babiw4d7"; }; buildInputs = [ sphinx ]; + nativeBuildInputs = [ qt5.wrapQtAppsHook ]; + propagatedBuildInputs = [ matplotlib procps pyqt5 ]; + checkInputs = [ procps pythonPackages.mock pyqt5 xvfb_run ]; - propagatedBuildInputs = [ - matplotlib - procps - pyqt5 - ]; + checkPhase = '' + cat >test-runner <= 2.3.0' + group :default do gem 'oauth', '>= 0.5.1' gem 'json_pure', '~> 1.8' - gem 'addressable', '~> 2.3' + gem 'addressable', '>= 2.5.2', '< 2.6' + gem 'diva', '>= 0.3.2', '< 2.0' gem 'memoist', '>= 0.16', '< 0.17' gem 'ruby-hmac', '~> 0.4' gem 'typed-array', '~> 0.1' gem 'delayer', '~> 0.0' gem 'pluggaloid', '>= 1.1.1', '< 2.0' - gem 'delayer-deferred', '>= 1.0.4', '< 1.1' - gem 'twitter-text', '>= 1.14.6' + gem 'delayer-deferred', '>= 2.0', '< 3.0' + gem 'twitter-text', '>= 2.1.0' end group :test do diff --git a/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock b/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock index 69530be4a44..2e1f2fbd382 100644 --- a/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock +++ b/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock @@ -3,75 +3,78 @@ GEM specs: addressable (2.5.2) public_suffix (>= 2.0.2, < 4.0) - atk (3.1.9) - glib2 (= 3.1.9) - cairo (1.15.10) + atk (3.3.2) + glib2 (= 3.3.2) + cairo (1.16.4) native-package-installer (>= 1.0.3) pkg-config (>= 1.2.2) - cairo-gobject (3.1.9) - cairo - glib2 (= 3.1.9) + cairo-gobject (3.3.2) + cairo (>= 1.16.2) + glib2 (= 3.3.2) crack (0.4.3) safe_yaml (~> 1.0.0) delayer (0.0.2) - delayer-deferred (1.0.4) + delayer-deferred (2.0.0) delayer (>= 0.0.2, < 0.1) - gdk_pixbuf2 (3.1.9) - gio2 (= 3.1.9) - gettext (3.0.9) + diva (0.3.2) + addressable (>= 2.5, < 2.6) + gdk_pixbuf2 (3.3.2) + gio2 (= 3.3.2) + gettext (3.2.9) locale (>= 2.0.5) - text - gio2 (3.1.9) - glib2 (= 3.1.9) - gobject-introspection (= 3.1.9) - glib2 (3.1.9) + text (>= 1.3.0) + gio2 (3.3.2) + gobject-introspection (= 3.3.2) + glib2 (3.3.2) native-package-installer (>= 1.0.3) pkg-config (>= 1.2.2) - gobject-introspection (3.1.9) - glib2 (= 3.1.9) - gtk2 (3.1.9) - atk (= 3.1.9) - gdk_pixbuf2 (= 3.1.9) - pango (= 3.1.9) - hashdiff (0.3.7) + gobject-introspection (3.3.2) + glib2 (= 3.3.2) + gtk2 (3.3.2) + atk (= 3.3.2) + gdk_pixbuf2 (= 3.3.2) + pango (= 3.3.2) + hashdiff (0.3.9) httpclient (2.8.3) + idn-ruby (0.1.0) instance_storage (1.0.0) + irb (1.0.0) json_pure (1.8.6) locale (2.1.2) memoist (0.16.0) metaclass (0.0.4) - mini_portile2 (2.3.0) + mini_portile2 (2.4.0) mocha (0.14.0) metaclass (~> 0.0.1) - moneta (1.0.0) - native-package-installer (1.0.4) - nokogiri (1.8.1) - mini_portile2 (~> 2.3.0) - oauth (0.5.3) - pango (3.1.9) - cairo (>= 1.14.0) - cairo-gobject (= 3.1.9) - gobject-introspection (= 3.1.9) - pkg-config (1.2.8) - pluggaloid (1.1.1) + moneta (1.1.1) + native-package-installer (1.0.7) + nokogiri (1.10.3) + mini_portile2 (~> 2.4.0) + oauth (0.5.4) + pango (3.3.2) + cairo-gobject (= 3.3.2) + gobject-introspection (= 3.3.2) + pkg-config (1.3.7) + pluggaloid (1.1.2) delayer instance_storage (>= 1.0.0, < 2.0.0) - power_assert (1.1.1) - public_suffix (3.0.0) + power_assert (1.1.4) + public_suffix (3.0.3) rake (10.5.0) ruby-hmac (0.4.0) - ruby-prof (0.16.2) - safe_yaml (1.0.4) - test-unit (3.2.6) + ruby-prof (0.17.0) + safe_yaml (1.0.5) + test-unit (3.3.2) power_assert text (1.3.1) totoridipjp (0.1.0) - twitter-text (1.14.7) + twitter-text (3.0.0) + idn-ruby unf (~> 0.1.0) typed-array (0.1.2) unf (0.1.4) unf_ext - unf_ext (0.0.7.4) + unf_ext (0.0.7.6) watch (0.1.0) webmock (1.24.6) addressable (>= 2.3.6) @@ -82,12 +85,14 @@ PLATFORMS ruby DEPENDENCIES - addressable (~> 2.3) + addressable (>= 2.5.2, < 2.6) delayer (~> 0.0) - delayer-deferred (>= 1.0.4, < 1.1) - gettext (~> 3.0.1) - gtk2 (= 3.1.9) + delayer-deferred (>= 2.0, < 3.0) + diva (>= 0.3.2, < 2.0) + gettext (>= 3.2.9, < 3.3) + gtk2 (= 3.3.2) httpclient + irb (>= 1.0.0, < 1.1) json_pure (~> 1.8) memoist (>= 0.16, < 0.17) mocha (~> 0.14) @@ -100,10 +105,13 @@ DEPENDENCIES ruby-prof test-unit (~> 3.0) totoridipjp - twitter-text (>= 1.14.6) + twitter-text (>= 2.1.0) typed-array (~> 0.1) watch (~> 0.1) webmock (~> 1.17) +RUBY VERSION + ruby 2.5.5p157 + BUNDLED WITH - 1.14.6 + 1.17.2 diff --git a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/gtk/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/gtk/Gemfile index b7d19db3763..efe602edc4f 100644 --- a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/gtk/Gemfile +++ b/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/gtk/Gemfile @@ -1,3 +1,3 @@ source 'https://rubygems.org' -gem 'gtk2', '3.1.9' +gem 'gtk2', '3.3.2' diff --git a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/uitranslator/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/uitranslator/Gemfile index 1625327f16d..61424d395f9 100644 --- a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/uitranslator/Gemfile +++ b/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/uitranslator/Gemfile @@ -1,5 +1,6 @@ source 'https://rubygems.org' group :default do - gem 'gettext', '~> 3.0.1' + gem 'gettext', '>= 3.2.9', '< 3.3' + gem 'irb', '>= 1.0.0', '< 1.1' end diff --git a/pkgs/applications/networking/instant-messengers/mikutter/default.nix b/pkgs/applications/networking/instant-messengers/mikutter/default.nix index 42888da842c..3e2718c9c57 100644 --- a/pkgs/applications/networking/instant-messengers/mikutter/default.nix +++ b/pkgs/applications/networking/instant-messengers/mikutter/default.nix @@ -1,15 +1,29 @@ { stdenv, fetchurl , bundlerEnv, ruby -, alsaUtils, libnotify, which, wrapGAppsHook, gtk2 +, alsaUtils, libnotify, which, wrapGAppsHook, gtk2, atk, gobject-introspection }: +# how to update: +# find latest version at: http://mikutter.hachune.net/download#download +# run these commands: +# +# wget http://mikutter.hachune.net/bin/mikutter.3.8.7.tar.gz +# tar xvf mikutter.3.8.7.tar.gz +# cd mikutter +# find . -not -name Gemfile -exec rm {} \; +# find . -type d -exec rmdir -p --ignore-fail-on-non-empty {} \; +# cd .. +# mv mikutter/* . +# rm mikutter.3.8.7.tar.gz +# rm gemset.nix Gemfile.lock; nix-shell -p bundler bundix --run 'bundle lock && bundix' + stdenv.mkDerivation rec { - name = "mikutter-${version}"; - version = "3.5.13"; + pname = "mikutter"; + version = "3.8.7"; src = fetchurl { url = "https://mikutter.hachune.net/bin/mikutter.${version}.tar.gz"; - sha256 = "2e01cd6cfe0caad663a381e5263f6d8030f0fb7cd8d4f858d320166516c7c320"; + sha256 = "1griypcd1xgyfd9wc3ls32grpw4ig0xxdiygpdinzr3bigfmd7iv"; }; env = bundlerEnv { @@ -19,7 +33,7 @@ stdenv.mkDerivation rec { inherit ruby; }; - buildInputs = [ alsaUtils libnotify which gtk2 ruby ]; + buildInputs = [ alsaUtils libnotify which gtk2 ruby atk gobject-introspection ]; nativeBuildInputs = [ wrapGAppsHook ]; postUnpack = '' @@ -41,6 +55,7 @@ stdenv.mkDerivation rec { --prefix GEM_HOME : "${env}/${env.ruby.gemPath}" --set DISABLE_BUNDLER_SETUP 1 ) + # --prefix GIO_EXTRA_MODULES : "$prefix/lib/gio/modules" mkdir -p $out/share/mikutter $out/share/applications ln -sv $out/core/skin $out/share/mikutter/skin diff --git a/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix b/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix index ef7091689b3..5f3ef945b3d 100644 --- a/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix +++ b/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix @@ -1,6 +1,8 @@ { addressable = { dependencies = ["public_suffix"]; + groups = ["default" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"; @@ -10,33 +12,41 @@ }; atk = { dependencies = ["glib2"]; + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18l99gv6828rn59q8k6blxg146b025fj44klrcisffw6h9s9qqxm"; + sha256 = "17c5ixwyg16lbbjix2prk7fa6lm0vkxvc1z6m6inc6jgkb1x0700"; type = "gem"; }; - version = "3.1.9"; + version = "3.3.2"; }; cairo = { dependencies = ["native-package-installer" "pkg-config"]; + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1f0n057cj6cjz7f38pwnflrkbwkl8pm3g9ssa51flyxr7lcpcw7c"; + sha256 = "0yvv2lcbsybzbw1nrmfivmln23da4rndrs3av6ymjh0x3ww5h7p8"; type = "gem"; }; - version = "1.15.10"; + version = "1.16.4"; }; cairo-gobject = { dependencies = ["cairo" "glib2"]; + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qnsd9203qc6hl2i4hfzngr8v06rfk4vxfn6sbr8b4c1q4n0lq26"; + sha256 = "12q441a5vnfvbcnli4fpq2svb75vq1wvs2rlgsp6fv38fh6fgsfz"; type = "gem"; }; - version = "3.1.9"; + version = "3.3.2"; }; crack = { dependencies = ["safe_yaml"]; + groups = ["default" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; @@ -45,6 +55,8 @@ version = "0.4.3"; }; delayer = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "156vy4x1d2jgafkjaafzfz7g8ghl4p5zgbl859b8slp4wdxy3v1r"; @@ -54,76 +66,105 @@ }; delayer-deferred = { dependencies = ["delayer"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1rp2hpik8gs1kzwwq831jwj1iv5bhfwd3dmm9nvizy3nqpz1gvvb"; + sha256 = "0zvqphyzngj5wghgbb2nd1qj2qvj2plsz9vx8hz24c7bfq55n4xz"; type = "gem"; }; - version = "1.0.4"; + version = "2.0.0"; + }; + diva = { + dependencies = ["addressable"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rp125gdlq7jqq7x8la52pdpimhx5wr66frcgf6z4jm927rjw84d"; + type = "gem"; + }; + version = "0.3.2"; }; gdk_pixbuf2 = { dependencies = ["gio2"]; + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0x7vna77qw26479dydzfs1sq7xmq31xfly2pn5fvh35wg0q4y07d"; + sha256 = "071z8a8khs5qb43ri5hbvaijwbx43mick7cjfmhn6javifkzijk7"; type = "gem"; }; - version = "3.1.9"; + version = "3.3.2"; }; gettext = { dependencies = ["locale" "text"]; + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14vw306p46w2kyad3kp9vq56zw3ch6px30wkhl5x0qkx8d3ya3ir"; + sha256 = "0764vj7gacn0aypm2bf6m46dzjzwzrjlmbyx6qwwwzbmi94r40wr"; type = "gem"; }; - version = "3.0.9"; + version = "3.2.9"; }; gio2 = { - dependencies = ["glib2" "gobject-introspection"]; + dependencies = ["gobject-introspection"]; + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dxyaxp32m19mynw20x39vkb50wa4jcxczwmbkq7pcg55j76wwhm"; + sha256 = "1f131yd9zzfsjn8i4k8xkl7xm3c5f9sm7irvwxnqqh635qccfz8n"; type = "gem"; }; - version = "3.1.9"; + version = "3.3.2"; }; glib2 = { dependencies = ["native-package-installer" "pkg-config"]; + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1y1ws895345a88wikqil1x87cpd7plmwfi635piam7il6vsb4h73"; + sha256 = "13r1i8gkgxj0fjz7bdnqqrsvszl7dffbf85ghx2f8p7zrcbzlk3p"; type = "gem"; }; - version = "3.1.9"; + version = "3.3.2"; }; gobject-introspection = { dependencies = ["glib2"]; + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04gla6z9y8g0d69wlwl0wr7pwyzqg132pfs1n9fq6fgkjb6l7sm3"; + sha256 = "15njcm0yg4qpwkhyx6gf2nxvjl6fxm9jffan8zrl2xyh68yr4jf7"; type = "gem"; }; - version = "3.1.9"; + version = "3.3.2"; }; gtk2 = { dependencies = ["atk" "gdk_pixbuf2" "pango"]; + groups = ["plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mshgsw2x0w5wfcp17qnsja50aafbjxy2g42kvk5sr19l0chkkkq"; + sha256 = "1a4lj6anmvr82cwrg8swzglz90jss995zr7bvsiwr876qqdwv7qs"; type = "gem"; }; - version = "3.1.9"; + version = "3.3.2"; }; hashdiff = { + groups = ["default" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9"; + sha256 = "1qji49afni3c90zws617x514xi7ik70g2iwngj9skq68mjcq6y4x"; type = "gem"; }; - version = "0.3.7"; + version = "0.3.9"; }; httpclient = { + groups = ["plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; @@ -131,7 +172,19 @@ }; version = "2.8.3"; }; + idn-ruby = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07vblcyk3g72sbq12xz7xj28snpxnh3sbcnxy8bglqbfqqhvmawr"; + type = "gem"; + }; + version = "0.1.0"; + }; instance_storage = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "08nf5fhq9dckq9lmaklxydq0hrlfi7phk66gr3bggxg45zd687pl"; @@ -139,7 +192,19 @@ }; version = "1.0.0"; }; + irb = { + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "181d88hns00fpw8szg8hbchflwq69wp3y5zvd3dyqjzbq91v1dcr"; + type = "gem"; + }; + version = "1.0.0"; + }; json_pure = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1vllrpm2hpsy5w1r7000mna2mhd7yfrmd8hi713lk0n9mv27bmam"; @@ -148,6 +213,8 @@ version = "1.8.6"; }; locale = { + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x"; @@ -156,6 +223,8 @@ version = "2.1.2"; }; memoist = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0pq8fhqh8w25qcw9v3vzfb0i6jp0k3949ahxc3wrwz2791dpbgbh"; @@ -164,6 +233,8 @@ version = "0.16.0"; }; metaclass = { + groups = ["default" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5"; @@ -172,15 +243,19 @@ version = "0.0.4"; }; mini_portile2 = { + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11"; + sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; type = "gem"; }; - version = "2.3.0"; + version = "2.4.0"; }; mocha = { dependencies = ["metaclass"]; + groups = ["test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0id1x7g46fzy8f4jna20ys329ydaj3sad75qs9db2a6nd7f0zc2b"; @@ -189,81 +264,101 @@ version = "0.14.0"; }; moneta = { + groups = ["plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pgwn6xnlh7vviy511mfgkv2j3sfihn5ic2zabmyrs2nh6kfa912"; + sha256 = "1mbs9w3c13phza8008mwlx8s991fzigml7pncq94i1c2flz9vw95"; type = "gem"; }; - version = "1.0.0"; + version = "1.1.1"; }; native-package-installer = { + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0svj2sg7y7izl90qrvzd2fcb1rkq8bv3bd6lr9sh1ml18v3w882a"; + sha256 = "03qrzhk807f98bdwy6c37acksyb5fnairdz4jpl7y3fifh7k7yfn"; type = "gem"; }; - version = "1.0.4"; + version = "1.0.7"; }; nokogiri = { dependencies = ["mini_portile2"]; + groups = ["plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "105xh2zkr8nsyfaj2izaisarpnkrrl9000y3nyflg9cbzrfxv021"; + sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4"; type = "gem"; }; - version = "1.8.1"; + version = "1.10.3"; }; oauth = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1a5cfg9pm3mxsmlk1slj652vza8nha2lpbpbmf3rrk0lh6zi4d0b"; + sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y"; type = "gem"; }; - version = "0.5.3"; + version = "0.5.4"; }; pango = { - dependencies = ["cairo" "cairo-gobject" "gobject-introspection"]; + dependencies = ["cairo-gobject" "gobject-introspection"]; + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0swld0s01djjlqrari0ib75703mb7qr4ydn00cqfhdr7xim66hjk"; + sha256 = "0lbhjsd6y42iw572xcynd6gcapczjki41h932s90rkh6022pbm9p"; type = "gem"; }; - version = "3.1.9"; + version = "3.3.2"; }; pkg-config = { + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "056qb6cwbw2l9riq376wazx4kwd67cdilyclpa6j38mfsswpmzws"; + sha256 = "1s56ym0chq3fycl29vqabcalqdcf7y2f25pmihjwqgbmrmzdyvr1"; type = "gem"; }; - version = "1.2.8"; + version = "1.3.7"; }; pluggaloid = { dependencies = ["delayer" "instance_storage"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0p9s1bzw02jzjlpjpxsbfsy1cyfbqs10iqvhxqh4xgyh72nry9zr"; + sha256 = "0fkm6y7aq132icmmv4k8mqw08fxqil8k52l8li642jyi79hvzrqh"; type = "gem"; }; - version = "1.1.1"; + version = "1.1.2"; }; power_assert = { + groups = ["default" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0h0s1clasynlbk3782801c61yx24pdv959fpw53g5yl8gxqj34iz"; + sha256 = "072y5ixw59ad47hkfj6nl2i4zcyad8snfxfsyyrgjkiqnvqwvbvq"; type = "gem"; }; - version = "1.1.1"; + version = "1.1.4"; }; public_suffix = { + groups = ["default" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0snaj1gxfib4ja1mvy3dzmi7am73i0mkqr0zkz045qv6509dhj5f"; + sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; type = "gem"; }; - version = "3.0.0"; + version = "3.0.3"; }; rake = { + groups = ["test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b"; @@ -272,6 +367,8 @@ version = "10.5.0"; }; ruby-hmac = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "01zym41f8fqbmxfz8zv19627swi62ka3gp33bfbkc87v5k7mw954"; @@ -280,31 +377,39 @@ version = "0.4.0"; }; ruby-prof = { + groups = ["test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0y13gdcdajfgrkx5rc9pvb7bwkyximwl5yrhq05gkmhflzdr7kag"; + sha256 = "02z4lh1iv1d8751a1l6r4hfc9mp61gf80g4qc4l6gbync3j3hf2c"; type = "gem"; }; - version = "0.16.2"; + version = "0.17.0"; }; safe_yaml = { + groups = ["default" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; + sha256 = "0j7qv63p0vqcd838i2iy2f76c3dgwzkiz1d1xkg7n0pbnxj2vb56"; type = "gem"; }; - version = "1.0.4"; + version = "1.0.5"; }; test-unit = { dependencies = ["power_assert"]; + groups = ["test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gl5b2d6bysnm0a1zx54qn6iwd67f6gsjy0c7zb68ag0453rqcnv"; + sha256 = "0hf47w70ajvwdchx0psq3dir26hh902x9sz0iwbxqj8z9w1kc6sd"; type = "gem"; }; - version = "3.2.6"; + version = "3.3.2"; }; text = { + groups = ["default" "plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg"; @@ -313,6 +418,8 @@ version = "1.3.1"; }; totoridipjp = { + groups = ["plugin"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "03ci9hbwc6xf4x0lkm6px4jgbmi37n8plsjhbf2ir5vka9f29lck"; @@ -321,15 +428,19 @@ version = "0.1.0"; }; twitter-text = { - dependencies = ["unf"]; + dependencies = ["idn-ruby" "unf"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1732h7hy1k152w8wfvjsx7b79alk45i5imwd37ia4qcx8hfm3gvg"; + sha256 = "1ibk4bl9hrq0phlg7zplkilsqgniji6yvid1a7k09rs0ai422jax"; type = "gem"; }; - version = "1.14.7"; + version = "3.0.0"; }; typed-array = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0qlv2rnkin9rwkgjx3k5qvc17m0m7jf5cdirw3wxbjnw5kga27w9"; @@ -339,6 +450,8 @@ }; unf = { dependencies = ["unf_ext"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; @@ -347,14 +460,18 @@ version = "0.1.4"; }; unf_ext = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14hr2dzqh33kqc0xchs8l05pf3kjcayvad4z1ip5rdjxrkfk8glb"; + sha256 = "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf"; type = "gem"; }; - version = "0.0.7.4"; + version = "0.0.7.6"; }; watch = { + groups = ["test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "02g4g6ynnldyjjzrh19r584gj4z6ksff7h0ajz5jdwhpp5y7cghx"; @@ -364,6 +481,8 @@ }; webmock = { dependencies = ["addressable" "crack" "hashdiff"]; + groups = ["test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "03vlr6axajz6c7xmlk0w1kvkxc92f8y2zp27wq1z6yk916ry25n5"; diff --git a/pkgs/applications/networking/instant-messengers/mikutter/shell.nix b/pkgs/applications/networking/instant-messengers/mikutter/shell.nix deleted file mode 100644 index bc83767af32..00000000000 --- a/pkgs/applications/networking/instant-messengers/mikutter/shell.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ pkgs ? import {} }: - -pkgs.stdenv.mkDerivation { - name = "mikutter-shell"; - buildInputs = with pkgs; [ - bundix - bundler - ]; - - shellHook = '' - export MIKUTTER_CONFROOT="/homeless-shelter" - truncate --size 0 Gemfile.lock - bundle lock - bundle package --path=vendor/bundle --no-install - rm -rf vendor .bundle - bundix -d - ''; -} diff --git a/pkgs/applications/networking/instant-messengers/mm/default.nix b/pkgs/applications/networking/instant-messengers/mm/default.nix index a75835b3c7e..7b76154021a 100644 --- a/pkgs/applications/networking/instant-messengers/mm/default.nix +++ b/pkgs/applications/networking/instant-messengers/mm/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitLab }: buildGoPackage rec { - name = "mm-${version}"; + pname = "mm"; version = "2016.11.04"; goPackagePath = "gitlab.com/meutraa/mm"; diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix index 4a669f127e5..f214f722143 100644 --- a/pkgs/applications/networking/instant-messengers/nheko/default.nix +++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix @@ -1,8 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl -, cmake, cmark, lmdb, qt5, qtmacextras, mtxclient -, boost, spdlog, olm, pkgconfig +{ lib, stdenv, fetchFromGitHub +, cmake, cmark, lmdb, mkDerivation, qtbase, qtmacextras +, qtmultimedia, qttools, mtxclient, boost, spdlog, olm, pkgconfig +, nlohmann_json }: +# These hashes and revisions are based on those from here: +# https://github.com/Nheko-Reborn/nheko/blob/v0.6.4/deps/CMakeLists.txt#L52 let tweeny = fetchFromGitHub { owner = "mobius3"; @@ -18,15 +21,15 @@ let sha256 = "1whsc5cybf9rmgyaj6qjji03fv5jbgcgygp956s3835b9f9cjg1n"; }; in -stdenv.mkDerivation rec { - name = "nheko-${version}"; - version = "0.6.3"; +mkDerivation rec { + pname = "nheko"; + version = "0.6.4"; src = fetchFromGitHub { owner = "Nheko-Reborn"; repo = "nheko"; rev = "v${version}"; - sha256 = "1h95lixciiq904dnfpwxhyf545yfsrphhwqyvs4yrzdfr9k0cf98"; + sha256 = "19dkc98l1q4070v6mli4ybqn0ip0za607w39hjf0x8rqdxq45iwm"; }; # If, on Darwin, you encounter the error @@ -54,13 +57,14 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DTWEENY_INCLUDE_DIR=.deps/include" "-DLMDBXX_INCLUDE_DIR=${lmdbxx}" + "-Dnlohmann_json_DIR=${nlohmann_json}/lib/cmake/nlohmann_json" ]; nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ mtxclient olm boost lmdb spdlog cmark - qt5.qtbase qt5.qtmultimedia qt5.qttools + qtbase qtmultimedia qttools ] ++ lib.optional stdenv.isDarwin qtmacextras; enableParallelBuilding = true; diff --git a/pkgs/applications/networking/instant-messengers/oysttyer/default.nix b/pkgs/applications/networking/instant-messengers/oysttyer/default.nix index c71db351e9d..ff260c9161b 100644 --- a/pkgs/applications/networking/instant-messengers/oysttyer/default.nix +++ b/pkgs/applications/networking/instant-messengers/oysttyer/default.nix @@ -2,14 +2,14 @@ fetchFromGitHub, makeWrapper }: stdenv.mkDerivation rec { - name = "oysttyer-${version}"; - version = "2.9.1"; + pname = "oysttyer"; + version = "2.10.0"; src = fetchFromGitHub { owner = "oysttyer"; repo = "oysttyer"; rev = "${version}"; - sha256 = "05bfak4jr8ln4847rkj5qkazqnjym65k1phav3yicbyr3mxywhjw"; + sha256 = "0cm1hvi68iqgjsg15xdii271pklgzjn9j9afb1c460z71kgy3wz2"; }; buildInputs = [ diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/carbons/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/carbons/default.nix index 60fd5af0a1a..079fc7d57fb 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/carbons/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/carbons/default.nix @@ -1,7 +1,7 @@ { stdenv, libxml2, pidgin, pkgconfig, fetchFromGitHub } : stdenv.mkDerivation rec { - name = "pidgin-carbons-${version}"; + pname = "pidgin-carbons"; version = "0.1.3"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix index 59b1d463c9d..eb6d954eb33 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix @@ -3,7 +3,8 @@ let version = "1.5.0"; in stdenv.mkDerivation { - name = "pidgin-latex-${version}"; + pname = "pidgin-latex"; + inherit version; src = fetchurl { url = "mirror://sourceforge/pidgin-latex/pidgin-latex_${version}.tar.bz2"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-mra/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-mra/default.nix index 18bf89a5f2e..9a1e46e5ac5 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-mra/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-mra/default.nix @@ -4,7 +4,8 @@ let version = "54b2992"; in stdenv.mkDerivation rec { - name = "pidgin-mra-${version}"; + pname = "pidgin-mra"; + inherit version; src = fetchgit { url = "https://github.com/dreadatour/pidgin-mra"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix index 7e86a390edc..34755809e39 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, pidgin, glib, json-glib, nss, nspr, libgnome-keyring } : stdenv.mkDerivation rec { - name = "pidgin-opensteamworks-${version}"; + pname = "pidgin-opensteamworks"; version = "unstable-2018-08-02"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-skypeweb/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-skypeweb/default.nix index 5fbf385ed07..c418b2e992a 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-skypeweb/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-skypeweb/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, pkgconfig, pidgin, json-glib }: stdenv.mkDerivation rec { - name = "pidgin-skypeweb-${version}"; + pname = "pidgin-skypeweb"; version = "1.5"; src = fetchFromGitHub { @@ -26,6 +26,6 @@ stdenv.mkDerivation rec { description = "SkypeWeb plugin for Pidgin"; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ jgeerds ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-xmpp-receipts/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-xmpp-receipts/default.nix index f482e12a4bc..936974a1a88 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-xmpp-receipts/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-xmpp-receipts/default.nix @@ -4,7 +4,8 @@ let version = "0.8"; in stdenv.mkDerivation rec { - name = "pidgin-xmpp-receipts-${version}"; + pname = "pidgin-xmpp-receipts"; + inherit version; src = fetchFromGitHub { owner = "noonien-d"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix index ba1d64c8b92..1e998bcc806 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, pkgconfig, pidgin, json-glib }: stdenv.mkDerivation rec { - name = "purple-discord-${version}"; + pname = "purple-discord"; version = "unstable-2018-04-10"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix index 61e8c2b58d9..d226490b275 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchhg, pidgin, glib, json-glib, protobuf, protobufc }: stdenv.mkDerivation rec { - name = "purple-hangouts-hg-${version}"; + pname = "purple-hangouts-hg"; version = "2018-12-02"; src = fetchhg { diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-lurch/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-lurch/default.nix index bcfcbee8556..e488ae73be0 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-lurch/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-lurch/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, pidgin, minixml, libxml2, sqlite, libgcrypt }: stdenv.mkDerivation rec { - name = "purple-lurch-${version}"; + pname = "purple-lurch"; version = "0.6.7"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix index 0b2cba64920..3c416927487 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix @@ -4,7 +4,8 @@ let version = "2018-08-03"; in stdenv.mkDerivation rec { - name = "purple-matrix-unstable-${version}"; + pname = "purple-matrix-unstable"; + inherit version; src = fetchgit { url = "https://github.com/matrix-org/purple-matrix"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-vk-plugin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-vk-plugin/default.nix index e54af933a08..22554a4abf8 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-vk-plugin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-vk-plugin/default.nix @@ -4,7 +4,8 @@ let version = "40ddb6d"; in stdenv.mkDerivation rec { - name = "purple-vk-plugin-${version}"; + pname = "purple-vk-plugin"; + inherit version; src = fetchhg { url = "https://bitbucket.org/olegoandreev/purple-vk-plugin"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix index 2d3a10cec5e..5b3e09440a6 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix @@ -1,24 +1,24 @@ -{ stdenv, fetchurl, pidgin, intltool, libxml2, nss, nspr }: +{ stdenv, fetchurl, pidgin, intltool, libxml2, gmime, nss }: -let version = "1.23.3"; in - -stdenv.mkDerivation { - name = "pidgin-sipe-${version}"; +stdenv.mkDerivation rec { + pname = "pidgin-sipe"; + version = "1.24.0"; src = fetchurl { - url = "mirror://sourceforge/sipe/pidgin-sipe-${version}.tar.gz"; - sha256 = "0aaiblnagncb0lhdwb8qbps6hxxmyfjg7sdi15lrkl98i3fahg4n"; + url = "mirror://sourceforge/sipe/${pname}-${version}.tar.gz"; + sha256 = "04cxprz6dbcsc4n2jg72mr1r9630nhrywn0zim9kwvbgps3wdd9c"; }; - meta = with stdenv.lib; { - description = "SIPE plugin for Pidgin IM"; - homepage = http://sipe.sourceforge.net/; - license = licenses.gpl2; - platforms = platforms.linux; - }; + nativeBuildInputs = [ intltool ]; + buildInputs = [ pidgin gmime libxml2 nss ]; + enableParallelBuilding = true; postInstall = "find $out -ls; ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe"; - buildInputs = [ pidgin intltool libxml2 nss nspr ]; - + meta = with stdenv.lib; { + description = "SIPE plugin for Pidgin IM"; + homepage = "http://sipe.sourceforge.net/"; + license = licenses.gpl2; + platforms = platforms.linux; + }; } diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix index ddb9217d5e2..6657ff96b11 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, pidgin, libnotify, gdk_pixbuf, glib, dbus +{ stdenv, fetchurl, pkgconfig, pidgin, libnotify, gdk-pixbuf, glib, dbus , dbus-glib }: stdenv.mkDerivation rec { @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { postInstall = "ln -s \$out/lib/pidgin \$out/share/pidgin-otr"; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ pidgin libnotify gdk_pixbuf glib dbus dbus-glib ]; + buildInputs = [ pidgin libnotify gdk-pixbuf glib dbus dbus-glib ]; meta = { homepage = https://github.com/novas0x2a/skype4pidgin; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix index 8527593c1a2..df2665d8ce8 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix @@ -4,7 +4,8 @@ let version = "1.3.0"; in stdenv.mkDerivation rec { - name = "telegram-purple-${version}"; + pname = "telegram-purple"; + inherit version; src = fetchgit { url = "https://github.com/majn/telegram-purple"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix index 6d75ba40ce0..41f205514e7 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, libtoxcore, pidgin, autoreconfHook, libsodium }: stdenv.mkDerivation rec { - name = "tox-prpl-${version}"; + pname = "tox-prpl"; version = "0.5.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/window-merge/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/window-merge/default.nix index 37b2a1f0c62..8f86256069c 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/window-merge/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/window-merge/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pidgin } : stdenv.mkDerivation rec { - name = "pidgin-window-merge-${version}"; + pname = "pidgin-window-merge"; version = "0.3"; src = fetchurl { @@ -16,6 +16,6 @@ stdenv.mkDerivation rec { description = "Pidgin plugin that merges the Buddy List window with a conversation window"; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ jgeerds ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix index 12348fe548c..71168e1a692 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix @@ -13,12 +13,12 @@ # FIXME: clean the mess around choosing the SSL library (nss by default) let unwrapped = stdenv.mkDerivation rec { - name = "pidgin-${version}"; + pname = "pidgin"; majorVersion = "2"; version = "${majorVersion}.13.0"; src = fetchurl { - url = "mirror://sourceforge/pidgin/${name}.tar.bz2"; + url = "mirror://sourceforge/pidgin/${pname}-${version}.tar.bz2"; sha256 = "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"; }; @@ -62,7 +62,7 @@ let unwrapped = stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/pidgin \ - --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/instant-messengers/poezio/default.nix b/pkgs/applications/networking/instant-messengers/poezio/default.nix index b5fa1ccc2f4..31c9fb4e7c3 100644 --- a/pkgs/applications/networking/instant-messengers/poezio/default.nix +++ b/pkgs/applications/networking/instant-messengers/poezio/default.nix @@ -1,22 +1,24 @@ -{ lib, buildPythonApplication, fetchurl, pythonOlder +{ lib, buildPythonApplication, fetchFromGitHub, pythonOlder , pytest, aiodns, slixmpp, pyinotify, potr, mpd2, cffi, pkgconfig }: buildPythonApplication rec { - name = "poezio-${version}"; - version = "0.12"; + pname = "poezio"; + version = "0.12.1"; disabled = pythonOlder "3.4"; - buildInputs = [ pytest ]; + checkInputs = [ pytest ]; propagatedBuildInputs = [ aiodns slixmpp pyinotify potr mpd2 cffi ]; nativeBuildInputs = [ pkgconfig ]; - src = fetchurl { - url = "http://dev.louiz.org/attachments/download/129/${name}.tar.gz"; - sha256 = "11n9x82xyjwbqk28lsfnvqwn8qc9flv6w2c64camh6j3148ykpvz"; + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "04qnsr0l12i55k6xl4q4akx317gai9wv5f1wpkfkq01wp181i5ll"; }; checkPhase = '' - py.test + pytest ''; meta = with lib; { diff --git a/pkgs/applications/networking/instant-messengers/pond/default.nix b/pkgs/applications/networking/instant-messengers/pond/default.nix index e7527bafcc6..1ddc603dc62 100644 --- a/pkgs/applications/networking/instant-messengers/pond/default.nix +++ b/pkgs/applications/networking/instant-messengers/pond/default.nix @@ -5,7 +5,7 @@ let gui = true; # Might be implemented with nixpkgs config. in buildGoPackage rec { - name = "pond-${version}"; + pname = "pond"; version = "20150830-${stdenv.lib.strings.substring 0 7 rev}"; rev = "bce6e0dc61803c23699c749e29a83f81da3c41b2"; diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix index ae2f6f10304..bd88962c40d 100644 --- a/pkgs/applications/networking/instant-messengers/profanity/default.nix +++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix @@ -1,54 +1,61 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, openssl , glibcLocales, expect, ncurses, libotr, curl, readline, libuuid , cmocka, libmicrohttpd, stabber, expat, libmesode +, autoconf-archive , autoAwaySupport ? true, libXScrnSaver ? null, libX11 ? null -, notifySupport ? true, libnotify ? null, gdk_pixbuf ? null +, notifySupport ? true, libnotify ? null, gdk-pixbuf ? null , traySupport ? true, gnome2 ? null , pgpSupport ? true, gpgme ? null , pythonPluginSupport ? true, python ? null +, omemoSupport ? true, libsignal-protocol-c ? null, libgcrypt ? null }: assert autoAwaySupport -> libXScrnSaver != null && libX11 != null; -assert notifySupport -> libnotify != null && gdk_pixbuf != null; +assert notifySupport -> libnotify != null && gdk-pixbuf != null; assert traySupport -> gnome2 != null; assert pgpSupport -> gpgme != null; assert pythonPluginSupport -> python != null; +assert omemoSupport -> libsignal-protocol-c != null && libgcrypt != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "profanity-${version}"; - version = "0.5.1"; + pname = "profanity"; + version = "0.7.0"; src = fetchFromGitHub { - owner = "boothj5"; + owner = "profanity-im"; repo = "profanity"; rev = "${version}"; - sha256 = "1ppr02wivhlrqr62r901clnycna8zpn6kr7n5rw8y3zfw21ny17z"; + sha256 = "15adg7ndjkzy04lizjmnvv0pf0snhzp6a8x74mndcm0zma0dia0z"; }; patches = [ ./patches/packages-osx.patch ./patches/undefined-macros.patch ]; enableParallelBuilding = true; - nativeBuildInputs = [ autoreconfHook glibcLocales pkgconfig ]; + nativeBuildInputs = [ + autoreconfHook autoconf-archive glibcLocales pkgconfig + ]; buildInputs = [ expect readline libuuid glib openssl expat ncurses libotr curl libmesode cmocka libmicrohttpd stabber ] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ] - ++ optionals notifySupport [ libnotify gdk_pixbuf ] + ++ optionals notifySupport [ libnotify gdk-pixbuf ] ++ optionals traySupport [ gnome2.gtk ] ++ optionals pgpSupport [ gpgme ] - ++ optionals pythonPluginSupport [ python ]; + ++ optionals pythonPluginSupport [ python ] + ++ optionals omemoSupport [ libsignal-protocol-c libgcrypt ]; # Enable feature flags, so that build fail if libs are missing configureFlags = [ "--enable-c-plugins" "--enable-otr" ] ++ optionals notifySupport [ "--enable-notifications" ] ++ optionals traySupport [ "--enable-icons" ] ++ optionals pgpSupport [ "--enable-pgp" ] - ++ optionals pythonPluginSupport [ "--enable-python-plugins" ]; + ++ optionals pythonPluginSupport [ "--enable-python-plugins" ] + ++ optionals omemoSupport [ "--enable-omemo" ]; preAutoreconf = '' mkdir m4 @@ -58,19 +65,13 @@ stdenv.mkDerivation rec { LC_ALL = "en_US.utf8"; - NIX_CFLAGS_COMPILE = [ ] - ++ optionals pythonPluginSupport [ "-I${python}/include/${python.libPrefix}" ]; - - LDFLAGS = [ ] - ++ optionals pythonPluginSupport [ "-L${python}/lib" "-l${python.libPrefix}" ]; - meta = { description = "A console based XMPP client"; longDescription = '' Profanity is a console based XMPP client written in C using ncurses and libstrophe, inspired by Irssi. ''; - homepage = http://profanity.im/; + homepage = http://www.profanity.im/; license = licenses.gpl3Plus; platforms = platforms.unix; maintainers = [ maintainers.devhell ]; diff --git a/pkgs/applications/networking/instant-messengers/profanity/patches/packages-osx.patch b/pkgs/applications/networking/instant-messengers/profanity/patches/packages-osx.patch index 77bfc5e78bd..796ec6b0a61 100644 --- a/pkgs/applications/networking/instant-messengers/profanity/patches/packages-osx.patch +++ b/pkgs/applications/networking/instant-messengers/profanity/patches/packages-osx.patch @@ -1,11 +1,13 @@ diff --git a/configure.ac b/configure.ac -index 1e55b1cc..0832a387 100644 +index 5c00aca..eb78060 100644 --- a/configure.ac +++ b/configure.ac -@@ -22,7 +22,6 @@ AC_CANONICAL_HOST - PLATFORM="unknown" +@@ -23,7 +23,6 @@ PLATFORM="unknown" AS_CASE([$host_os], [freebsd*], [PLATFORM="freebsd"], + [openbsd*], [PLATFORM="openbsd"], - [darwin*], [PLATFORM="osx"], [cygwin], [PLATFORM="cygwin"], [PLATFORM="nix"]) + + diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix index e1a2fb40c5a..b77407bd0c8 100644 --- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix +++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "psi-plus-${version}"; + pname = "psi-plus"; version = "1.4.504"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix index 6cb51478b73..6a43344fbd3 100644 --- a/pkgs/applications/networking/instant-messengers/qtox/default.nix +++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix @@ -11,7 +11,8 @@ let rev = "v${version}"; in mkDerivation rec { - name = "qtox-${version}"; + pname = "qtox"; + inherit version; src = fetchFromGitHub { owner = "qTox"; @@ -44,7 +45,7 @@ in mkDerivation rec { description = "Qt Tox client"; homepage = https://tox.chat; license = licenses.gpl3; - maintainers = with maintainers; [ jgeerds akaWolf peterhoeg ]; + maintainers = with maintainers; [ akaWolf peterhoeg ]; platforms = platforms.all; }; } diff --git a/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/pkgs/applications/networking/instant-messengers/quaternion/default.nix index 55b24f71fb6..65562830897 100644 --- a/pkgs/applications/networking/instant-messengers/quaternion/default.nix +++ b/pkgs/applications/networking/instant-messengers/quaternion/default.nix @@ -1,36 +1,44 @@ -{ stdenv, lib, fetchFromGitHub, qtbase, qtquickcontrols, cmake -, qttools, libqmatrixclient }: +{ mkDerivation, stdenv, lib, fetchFromGitHub, cmake +, qtbase, qtquickcontrols, qtkeychain, qtmultimedia, qttools +, libqmatrixclient_0_5 }: -stdenv.mkDerivation rec { - name = "quaternion-${version}"; - version = "0.0.9.3"; - - src = fetchFromGitHub { - owner = "QMatrixClient"; - repo = "Quaternion"; - rev = "v${version}"; - sha256 = "1hr9zqf301rg583n9jv256vzj7y57d8qgayk7c723bfknf1s6hh3"; - }; - - buildInputs = [ qtbase qtquickcontrols qttools libqmatrixclient ]; - - nativeBuildInputs = [ cmake ]; - - postInstall = if stdenv.isDarwin then '' - mkdir -p $out/Applications - mv $out/bin/quaternion.app $out/Applications - rmdir $out/bin || : - '' else '' - substituteInPlace $out/share/applications/quaternion.desktop \ - --replace 'Exec=quaternion' "Exec=$out/bin/quaternion" - ''; - - meta = with lib; { - description = "Cross-platform desktop IM client for the Matrix protocol"; - homepage = https://matrix.org/docs/projects/client/quaternion.html; - license = licenses.gpl3; - maintainers = with maintainers; [ peterhoeg ]; - inherit (qtbase.meta) platforms; +let + generic = version: sha256: prefix: library: mkDerivation rec { + pname = "quaternion"; inherit version; + + src = fetchFromGitHub { + owner = "QMatrixClient"; + repo = "Quaternion"; + rev = "${prefix}${version}"; + inherit sha256; + }; + + buildInputs = [ qtbase qtmultimedia qtquickcontrols qtkeychain library ]; + + nativeBuildInputs = [ cmake qttools ]; + + postInstall = if stdenv.isDarwin then '' + mkdir -p $out/Applications + mv $out/bin/quaternion.app $out/Applications + rmdir $out/bin || : + '' else '' + substituteInPlace $out/share/applications/quaternion.desktop \ + --replace 'Exec=quaternion' "Exec=$out/bin/quaternion" + ''; + + meta = with lib; { + description = "Cross-platform desktop IM client for the Matrix protocol"; + homepage = "https://matrix.org/docs/projects/client/quaternion.html"; + license = licenses.gpl3; + maintainers = with maintainers; [ peterhoeg ]; + inherit (qtbase.meta) platforms; + inherit version; + }; }; + +in rec { + quaternion = generic "0.0.9.4c" "12mkwiqqbi4774kwl7gha72jyf0jf547acy6rw8ry249zl4lja54" "" libqmatrixclient_0_5; + + quaternion-git = quaternion; } diff --git a/pkgs/applications/networking/instant-messengers/rambox/bare.nix b/pkgs/applications/networking/instant-messengers/rambox/bare.nix index 29ed30dd27f..a23dbda6cb2 100644 --- a/pkgs/applications/networking/instant-messengers/rambox/bare.nix +++ b/pkgs/applications/networking/instant-messengers/rambox/bare.nix @@ -1,24 +1,24 @@ -{ stdenv, fetchFromGitHub, fetchNodeModules, nodejs-8_x, ruby, sencha +{ stdenv, fetchFromGitHub, fetchNodeModules, nodejs-10_x, ruby, sencha , auth0ClientID, auth0Domain }: stdenv.mkDerivation rec { - name = "rambox-bare-${version}"; - version = "0.6.3"; + pname = "rambox-bare"; + version = "0.6.9"; src = fetchFromGitHub { owner = "ramboxapp"; repo = "community-edition"; rev = version; - sha256 = "1ghk29d0x6i3j8b1b4xxgyf961lp17qsvvhnilnkh1nhmvxpwmw5"; + sha256 = "1h44srl2gzkhjaazpwz1pwy4dp5x776fc685kahlvjlsfls0fvy9"; }; - nativeBuildInputs = [ nodejs-8_x ruby sencha ]; + nativeBuildInputs = [ nodejs-10_x ruby sencha ]; node_modules = fetchNodeModules { inherit src; - nodejs = nodejs-8_x; - sha256 = "03h1kfiaflwbrvcd8v0bsymn7n2dxi3yj4pxkwcigqg4jgcf56k6"; + nodejs = nodejs-10_x; + sha256 = "0qsgr8cq81yismal5sqr02skakqpynwwzk5s98dr5bg91y361fgy"; }; patches = [ ./isDev.patch ]; diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix index 84ea02f7cb3..eeab5e32c0f 100644 --- a/pkgs/applications/networking/instant-messengers/rambox/default.nix +++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix @@ -1,6 +1,5 @@ { stdenv, newScope, makeWrapper -, wrapGAppsHook, gnome3, glib -, electron_3, xdg_utils, makeDesktopItem +, electron, xdg_utils, makeDesktopItem , auth0ClientID ? "0spuNKfIGeLAQ_Iki9t3fGxbfJl3k8SU" , auth0Domain ? "nixpkgs.auth0.com" }: @@ -28,10 +27,9 @@ with self; stdenv.mkDerivation { name = "rambox-${rambox-bare.version}"; - nativeBuildInputs = [ makeWrapper wrapGAppsHook ]; + nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ glib gnome3.gsettings_desktop_schemas ]; - unpackPhase = ":"; + dontUnpack = true; dontWrapGApps = true; # we only want $gappsWrapperArgs here @@ -43,9 +41,8 @@ stdenv.mkDerivation { ''; postFixup = '' - makeWrapper ${electron_3}/bin/electron $out/bin/rambox \ + makeWrapper ${electron}/bin/electron $out/bin/rambox \ --add-flags "${rambox-bare} --without-update" \ - "''${gappsWrapperArgs[@]}" \ --prefix PATH : ${xdg_utils}/bin ''; diff --git a/pkgs/applications/networking/instant-messengers/rambox/pro.nix b/pkgs/applications/networking/instant-messengers/rambox/pro.nix new file mode 100644 index 00000000000..9a0aab6f8ce --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/rambox/pro.nix @@ -0,0 +1,44 @@ +{ autoPatchelfHook, electron, fetchurl, makeDesktopItem, makeWrapper, nodePackages, nss, stdenv, xdg_utils, xorg }: + +stdenv.mkDerivation rec { + pname = "rambox-pro"; + version = "1.1.6"; + + dontBuild = true; + dontStrip = true; + + buildInputs = [ nss xorg.libXext xorg.libxkbfile xorg.libXScrnSaver ]; + nativeBuildInputs = [ autoPatchelfHook makeWrapper nodePackages.asar ]; + + src = fetchurl { + url = "https://github.com/ramboxapp/download/releases/download/v${version}/RamboxPro-${version}-linux-x64.tar.gz"; + sha256 = "1jdamjdl649315ms5g1c7m7gpy04rv7xpy6bsvink242adaq2pjz"; + }; + + installPhase = '' + mkdir -p $out/bin $out/opt/RamboxPro $out/share/applications + asar e resources/app.asar $out/opt/RamboxPro/resources/app.asar.unpacked + ln -s ${desktopItem}/share/applications/* $out/share/applications + ''; + + postFixup = '' + makeWrapper ${electron}/bin/electron $out/bin/ramboxpro \ + --add-flags "$out/opt/RamboxPro/resources/app.asar.unpacked --without-update" \ + --prefix PATH : ${xdg_utils}/bin + ''; + + desktopItem = makeDesktopItem { + name = "rambox-pro"; + exec = "ramboxpro"; + type = "Application"; + desktopName = "Rambox Pro"; + }; + + meta = with stdenv.lib; { + description = "Messaging and emailing app that combines common web applications into one"; + homepage = https://rambox.pro; + license = licenses.unfree; + maintainers = with maintainers; [ chrisaw ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix b/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix index efecebe169e..97c722f0935 100644 --- a/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix +++ b/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix @@ -17,7 +17,7 @@ in stdenv.mkDerivation rec { inherit version; - name = "sencha-bare-${version}"; + pname = "sencha-bare"; src = srcs.${stdenv.hostPlatform.system}; nativeBuildInputs = [ gzip which unzip ]; diff --git a/pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix b/pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix index 1ca04a9e168..4be8edaf9b8 100644 --- a/pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix +++ b/pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper ]; - unpackPhase = ":"; + dontUnpack = true; installPhase = '' makeWrapper ${sencha-bare}/sencha $out/bin/sencha diff --git a/pkgs/applications/networking/instant-messengers/ricochet/default.nix b/pkgs/applications/networking/instant-messengers/ricochet/default.nix index a6aef5e6a2f..96ce9c32a7d 100644 --- a/pkgs/applications/networking/instant-messengers/ricochet/default.nix +++ b/pkgs/applications/networking/instant-messengers/ricochet/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "ricochet-${version}"; + pname = "ricochet"; version = "1.1.4"; src = fetchurl { diff --git a/pkgs/applications/networking/instant-messengers/ring-daemon/default.nix b/pkgs/applications/networking/instant-messengers/ring-daemon/default.nix index 168719bf0e4..8dc053631e9 100644 --- a/pkgs/applications/networking/instant-messengers/ring-daemon/default.nix +++ b/pkgs/applications/networking/instant-messengers/ring-daemon/default.nix @@ -79,7 +79,7 @@ let }); in stdenv.mkDerivation rec { - name = "ring-daemon-${version}"; + pname = "ring-daemon"; version = "2017-07-11"; inherit src; diff --git a/pkgs/applications/networking/instant-messengers/ring-daemon/restbed.nix b/pkgs/applications/networking/instant-messengers/ring-daemon/restbed.nix index 0546d2dae47..d1f1c033361 100644 --- a/pkgs/applications/networking/instant-messengers/ring-daemon/restbed.nix +++ b/pkgs/applications/networking/instant-messengers/ring-daemon/restbed.nix @@ -7,7 +7,7 @@ }: stdenv.mkDerivation rec { - name = "restbed-${version}"; + pname = "restbed"; version = "2016-09-15"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json new file mode 100644 index 00000000000..2e9602458e7 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json @@ -0,0 +1,15 @@ +{ + "name": "riot-web", + "productName": "Riot", + "main": "src/electron-main.js", + "version": "1.3.3", + "description": "A feature-rich client for Matrix.org", + "author": "New Vector Ltd.", + "dependencies": { + "auto-launch": "^5.0.1", + "electron-store": "^2.0.0", + "electron-window-state": "^4.1.0", + "minimist": "^1.2.0", + "png-to-ico": "^1.0.2" + } +} diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-yarndeps.nix b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-yarndeps.nix new file mode 100644 index 00000000000..b76848c2b81 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-yarndeps.nix @@ -0,0 +1,1021 @@ +{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec { + offline_cache = linkFarm "offline" packages; + packages = [ + { + name = "_types_node___node_9.6.45.tgz"; + path = fetchurl { + name = "_types_node___node_9.6.45.tgz"; + url = "https://registry.yarnpkg.com/@types/node/-/node-9.6.45.tgz"; + sha1 = "a9e5cfd026a3abaaf17e3c0318a470da9f2f178e"; + }; + } + { + name = "ajv___ajv_6.10.0.tgz"; + path = fetchurl { + name = "ajv___ajv_6.10.0.tgz"; + url = "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz"; + sha1 = "90d0d54439da587cd7e843bfb7045f50bd22bdf1"; + }; + } + { + name = "applescript___applescript_1.0.0.tgz"; + path = fetchurl { + name = "applescript___applescript_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/applescript/-/applescript-1.0.0.tgz"; + sha1 = "bb87af568cad034a4e48c4bdaf6067a3a2701317"; + }; + } + { + name = "asn1___asn1_0.2.4.tgz"; + path = fetchurl { + name = "asn1___asn1_0.2.4.tgz"; + url = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz"; + sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136"; + }; + } + { + name = "assert_plus___assert_plus_1.0.0.tgz"; + path = fetchurl { + name = "assert_plus___assert_plus_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz"; + sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; + }; + } + { + name = "asynckit___asynckit_0.4.0.tgz"; + path = fetchurl { + name = "asynckit___asynckit_0.4.0.tgz"; + url = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz"; + sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"; + }; + } + { + name = "auto_launch___auto_launch_5.0.5.tgz"; + path = fetchurl { + name = "auto_launch___auto_launch_5.0.5.tgz"; + url = "https://registry.yarnpkg.com/auto-launch/-/auto-launch-5.0.5.tgz"; + sha1 = "d14bd002b1ef642f85e991a6195ff5300c8ad3c0"; + }; + } + { + name = "aws_sign2___aws_sign2_0.7.0.tgz"; + path = fetchurl { + name = "aws_sign2___aws_sign2_0.7.0.tgz"; + url = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz"; + sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"; + }; + } + { + name = "aws4___aws4_1.8.0.tgz"; + path = fetchurl { + name = "aws4___aws4_1.8.0.tgz"; + url = "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz"; + sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"; + }; + } + { + name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz"; + path = fetchurl { + name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"; + sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"; + }; + } + { + name = "bignumber.js___bignumber.js_2.4.0.tgz"; + path = fetchurl { + name = "bignumber.js___bignumber.js_2.4.0.tgz"; + url = "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-2.4.0.tgz"; + sha1 = "838a992da9f9d737e0f4b2db0be62bb09dd0c5e8"; + }; + } + { + name = "bmp_js___bmp_js_0.0.3.tgz"; + path = fetchurl { + name = "bmp_js___bmp_js_0.0.3.tgz"; + url = "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.0.3.tgz"; + sha1 = "64113e9c7cf1202b376ed607bf30626ebe57b18a"; + }; + } + { + name = "buffer_equal___buffer_equal_0.0.1.tgz"; + path = fetchurl { + name = "buffer_equal___buffer_equal_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz"; + sha1 = "91bc74b11ea405bc916bc6aa908faafa5b4aac4b"; + }; + } + { + name = "caseless___caseless_0.12.0.tgz"; + path = fetchurl { + name = "caseless___caseless_0.12.0.tgz"; + url = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz"; + sha1 = "1b681c21ff84033c826543090689420d187151dc"; + }; + } + { + name = "combined_stream___combined_stream_1.0.7.tgz"; + path = fetchurl { + name = "combined_stream___combined_stream_1.0.7.tgz"; + url = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz"; + sha1 = "2d1d24317afb8abe95d6d2c0b07b57813539d828"; + }; + } + { + name = "conf___conf_2.2.0.tgz"; + path = fetchurl { + name = "conf___conf_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/conf/-/conf-2.2.0.tgz"; + sha1 = "ee282efafc1450b61e205372041ad7d866802d9a"; + }; + } + { + name = "core_util_is___core_util_is_1.0.2.tgz"; + path = fetchurl { + name = "core_util_is___core_util_is_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz"; + sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; + }; + } + { + name = "dashdash___dashdash_1.14.1.tgz"; + path = fetchurl { + name = "dashdash___dashdash_1.14.1.tgz"; + url = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz"; + sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; + }; + } + { + name = "deep_equal___deep_equal_1.0.1.tgz"; + path = fetchurl { + name = "deep_equal___deep_equal_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz"; + sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5"; + }; + } + { + name = "define_properties___define_properties_1.1.3.tgz"; + path = fetchurl { + name = "define_properties___define_properties_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz"; + sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1"; + }; + } + { + name = "delayed_stream___delayed_stream_1.0.0.tgz"; + path = fetchurl { + name = "delayed_stream___delayed_stream_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz"; + sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; + }; + } + { + name = "dom_walk___dom_walk_0.1.1.tgz"; + path = fetchurl { + name = "dom_walk___dom_walk_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz"; + sha1 = "672226dc74c8f799ad35307df936aba11acd6018"; + }; + } + { + name = "dot_prop___dot_prop_4.2.0.tgz"; + path = fetchurl { + name = "dot_prop___dot_prop_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz"; + sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57"; + }; + } + { + name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz"; + path = fetchurl { + name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"; + sha1 = "3a83a904e54353287874c564b7549386849a98c9"; + }; + } + { + name = "electron_store___electron_store_2.0.0.tgz"; + path = fetchurl { + name = "electron_store___electron_store_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/electron-store/-/electron-store-2.0.0.tgz"; + sha1 = "1035cca2a95409d1f54c7466606345852450d64a"; + }; + } + { + name = "electron_window_state___electron_window_state_4.1.1.tgz"; + path = fetchurl { + name = "electron_window_state___electron_window_state_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/electron-window-state/-/electron-window-state-4.1.1.tgz"; + sha1 = "6b34fdc31b38514dfec8b7c8f7b5d4addb67632d"; + }; + } + { + name = "env_paths___env_paths_1.0.0.tgz"; + path = fetchurl { + name = "env_paths___env_paths_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz"; + sha1 = "4168133b42bb05c38a35b1ae4397c8298ab369e0"; + }; + } + { + name = "es_abstract___es_abstract_1.13.0.tgz"; + path = fetchurl { + name = "es_abstract___es_abstract_1.13.0.tgz"; + url = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz"; + sha1 = "ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"; + }; + } + { + name = "es_to_primitive___es_to_primitive_1.2.0.tgz"; + path = fetchurl { + name = "es_to_primitive___es_to_primitive_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz"; + sha1 = "edf72478033456e8dda8ef09e00ad9650707f377"; + }; + } + { + name = "es6_promise___es6_promise_3.3.1.tgz"; + path = fetchurl { + name = "es6_promise___es6_promise_3.3.1.tgz"; + url = "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz"; + sha1 = "a08cdde84ccdbf34d027a1451bc91d4bcd28a613"; + }; + } + { + name = "exif_parser___exif_parser_0.1.12.tgz"; + path = fetchurl { + name = "exif_parser___exif_parser_0.1.12.tgz"; + url = "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz"; + sha1 = "58a9d2d72c02c1f6f02a0ef4a9166272b7760922"; + }; + } + { + name = "extend___extend_3.0.2.tgz"; + path = fetchurl { + name = "extend___extend_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz"; + sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa"; + }; + } + { + name = "extsprintf___extsprintf_1.3.0.tgz"; + path = fetchurl { + name = "extsprintf___extsprintf_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz"; + sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05"; + }; + } + { + name = "extsprintf___extsprintf_1.4.0.tgz"; + path = fetchurl { + name = "extsprintf___extsprintf_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz"; + sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f"; + }; + } + { + name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz"; + path = fetchurl { + name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz"; + sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"; + }; + } + { + name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz"; + path = fetchurl { + name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz"; + sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2"; + }; + } + { + name = "file_type___file_type_3.9.0.tgz"; + path = fetchurl { + name = "file_type___file_type_3.9.0.tgz"; + url = "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz"; + sha1 = "257a078384d1db8087bc449d107d52a52672b9e9"; + }; + } + { + name = "find_up___find_up_2.1.0.tgz"; + path = fetchurl { + name = "find_up___find_up_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz"; + sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7"; + }; + } + { + name = "for_each___for_each_0.3.3.tgz"; + path = fetchurl { + name = "for_each___for_each_0.3.3.tgz"; + url = "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz"; + sha1 = "69b447e88a0a5d32c3e7084f3f1710034b21376e"; + }; + } + { + name = "forever_agent___forever_agent_0.6.1.tgz"; + path = fetchurl { + name = "forever_agent___forever_agent_0.6.1.tgz"; + url = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz"; + sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; + }; + } + { + name = "form_data___form_data_2.3.3.tgz"; + path = fetchurl { + name = "form_data___form_data_2.3.3.tgz"; + url = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz"; + sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6"; + }; + } + { + name = "function_bind___function_bind_1.1.1.tgz"; + path = fetchurl { + name = "function_bind___function_bind_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz"; + sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d"; + }; + } + { + name = "getpass___getpass_0.1.7.tgz"; + path = fetchurl { + name = "getpass___getpass_0.1.7.tgz"; + url = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz"; + sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa"; + }; + } + { + name = "global___global_4.3.2.tgz"; + path = fetchurl { + name = "global___global_4.3.2.tgz"; + url = "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz"; + sha1 = "e76989268a6c74c38908b1305b10fc0e394e9d0f"; + }; + } + { + name = "graceful_fs___graceful_fs_4.1.15.tgz"; + path = fetchurl { + name = "graceful_fs___graceful_fs_4.1.15.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz"; + sha1 = "ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"; + }; + } + { + name = "har_schema___har_schema_2.0.0.tgz"; + path = fetchurl { + name = "har_schema___har_schema_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz"; + sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92"; + }; + } + { + name = "har_validator___har_validator_5.1.3.tgz"; + path = fetchurl { + name = "har_validator___har_validator_5.1.3.tgz"; + url = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz"; + sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080"; + }; + } + { + name = "has_symbols___has_symbols_1.0.0.tgz"; + path = fetchurl { + name = "has_symbols___has_symbols_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz"; + sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44"; + }; + } + { + name = "has___has_1.0.3.tgz"; + path = fetchurl { + name = "has___has_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz"; + sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796"; + }; + } + { + name = "http_signature___http_signature_1.2.0.tgz"; + path = fetchurl { + name = "http_signature___http_signature_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz"; + sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1"; + }; + } + { + name = "imurmurhash___imurmurhash_0.1.4.tgz"; + path = fetchurl { + name = "imurmurhash___imurmurhash_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz"; + sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea"; + }; + } + { + name = "ip_regex___ip_regex_1.0.3.tgz"; + path = fetchurl { + name = "ip_regex___ip_regex_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz"; + sha1 = "dc589076f659f419c222039a33316f1c7387effd"; + }; + } + { + name = "is_callable___is_callable_1.1.4.tgz"; + path = fetchurl { + name = "is_callable___is_callable_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz"; + sha1 = "1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"; + }; + } + { + name = "is_date_object___is_date_object_1.0.1.tgz"; + path = fetchurl { + name = "is_date_object___is_date_object_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz"; + sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"; + }; + } + { + name = "is_function___is_function_1.0.1.tgz"; + path = fetchurl { + name = "is_function___is_function_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz"; + sha1 = "12cfb98b65b57dd3d193a3121f5f6e2f437602b5"; + }; + } + { + name = "is_obj___is_obj_1.0.1.tgz"; + path = fetchurl { + name = "is_obj___is_obj_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz"; + sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"; + }; + } + { + name = "is_regex___is_regex_1.0.4.tgz"; + path = fetchurl { + name = "is_regex___is_regex_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz"; + sha1 = "5517489b547091b0930e095654ced25ee97e9491"; + }; + } + { + name = "is_symbol___is_symbol_1.0.2.tgz"; + path = fetchurl { + name = "is_symbol___is_symbol_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz"; + sha1 = "a055f6ae57192caee329e7a860118b497a950f38"; + }; + } + { + name = "is_typedarray___is_typedarray_1.0.0.tgz"; + path = fetchurl { + name = "is_typedarray___is_typedarray_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz"; + sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; + }; + } + { + name = "isstream___isstream_0.1.2.tgz"; + path = fetchurl { + name = "isstream___isstream_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz"; + sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; + }; + } + { + name = "jimp___jimp_0.2.28.tgz"; + path = fetchurl { + name = "jimp___jimp_0.2.28.tgz"; + url = "https://registry.yarnpkg.com/jimp/-/jimp-0.2.28.tgz"; + sha1 = "dd529a937190f42957a7937d1acc3a7762996ea2"; + }; + } + { + name = "jpeg_js___jpeg_js_0.2.0.tgz"; + path = fetchurl { + name = "jpeg_js___jpeg_js_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.2.0.tgz"; + sha1 = "53e448ec9d263e683266467e9442d2c5a2ef5482"; + }; + } + { + name = "jsbn___jsbn_0.1.1.tgz"; + path = fetchurl { + name = "jsbn___jsbn_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz"; + sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"; + }; + } + { + name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz"; + path = fetchurl { + name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz"; + url = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; + sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660"; + }; + } + { + name = "json_schema___json_schema_0.2.3.tgz"; + path = fetchurl { + name = "json_schema___json_schema_0.2.3.tgz"; + url = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz"; + sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; + }; + } + { + name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz"; + path = fetchurl { + name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz"; + url = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; + sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; + }; + } + { + name = "jsonfile___jsonfile_2.4.0.tgz"; + path = fetchurl { + name = "jsonfile___jsonfile_2.4.0.tgz"; + url = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz"; + sha1 = "3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"; + }; + } + { + name = "jsprim___jsprim_1.4.1.tgz"; + path = fetchurl { + name = "jsprim___jsprim_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz"; + sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"; + }; + } + { + name = "load_bmfont___load_bmfont_1.4.0.tgz"; + path = fetchurl { + name = "load_bmfont___load_bmfont_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.0.tgz"; + sha1 = "75f17070b14a8c785fe7f5bee2e6fd4f98093b6b"; + }; + } + { + name = "locate_path___locate_path_2.0.0.tgz"; + path = fetchurl { + name = "locate_path___locate_path_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz"; + sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"; + }; + } + { + name = "make_dir___make_dir_1.3.0.tgz"; + path = fetchurl { + name = "make_dir___make_dir_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz"; + sha1 = "79c1033b80515bd6d24ec9933e860ca75ee27f0c"; + }; + } + { + name = "mime_db___mime_db_1.38.0.tgz"; + path = fetchurl { + name = "mime_db___mime_db_1.38.0.tgz"; + url = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz"; + sha1 = "1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad"; + }; + } + { + name = "mime_types___mime_types_2.1.22.tgz"; + path = fetchurl { + name = "mime_types___mime_types_2.1.22.tgz"; + url = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz"; + sha1 = "fe6b355a190926ab7698c9a0556a11199b2199bd"; + }; + } + { + name = "mime___mime_1.6.0.tgz"; + path = fetchurl { + name = "mime___mime_1.6.0.tgz"; + url = "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz"; + sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1"; + }; + } + { + name = "min_document___min_document_2.19.0.tgz"; + path = fetchurl { + name = "min_document___min_document_2.19.0.tgz"; + url = "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz"; + sha1 = "7bd282e3f5842ed295bb748cdd9f1ffa2c824685"; + }; + } + { + name = "minimist___minimist_0.0.8.tgz"; + path = fetchurl { + name = "minimist___minimist_0.0.8.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz"; + sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; + }; + } + { + name = "minimist___minimist_1.2.0.tgz"; + path = fetchurl { + name = "minimist___minimist_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz"; + sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284"; + }; + } + { + name = "mkdirp___mkdirp_0.5.1.tgz"; + path = fetchurl { + name = "mkdirp___mkdirp_0.5.1.tgz"; + url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz"; + sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; + }; + } + { + name = "oauth_sign___oauth_sign_0.9.0.tgz"; + path = fetchurl { + name = "oauth_sign___oauth_sign_0.9.0.tgz"; + url = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz"; + sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455"; + }; + } + { + name = "object_keys___object_keys_1.1.0.tgz"; + path = fetchurl { + name = "object_keys___object_keys_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.0.tgz"; + sha1 = "11bd22348dd2e096a045ab06f6c85bcc340fa032"; + }; + } + { + name = "p_limit___p_limit_1.3.0.tgz"; + path = fetchurl { + name = "p_limit___p_limit_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz"; + sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"; + }; + } + { + name = "p_locate___p_locate_2.0.0.tgz"; + path = fetchurl { + name = "p_locate___p_locate_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz"; + sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43"; + }; + } + { + name = "p_try___p_try_1.0.0.tgz"; + path = fetchurl { + name = "p_try___p_try_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz"; + sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"; + }; + } + { + name = "parse_bmfont_ascii___parse_bmfont_ascii_1.0.6.tgz"; + path = fetchurl { + name = "parse_bmfont_ascii___parse_bmfont_ascii_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz"; + sha1 = "11ac3c3ff58f7c2020ab22769079108d4dfa0285"; + }; + } + { + name = "parse_bmfont_binary___parse_bmfont_binary_1.0.6.tgz"; + path = fetchurl { + name = "parse_bmfont_binary___parse_bmfont_binary_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz"; + sha1 = "d038b476d3e9dd9db1e11a0b0e53a22792b69006"; + }; + } + { + name = "parse_bmfont_xml___parse_bmfont_xml_1.1.4.tgz"; + path = fetchurl { + name = "parse_bmfont_xml___parse_bmfont_xml_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz"; + sha1 = "015319797e3e12f9e739c4d513872cd2fa35f389"; + }; + } + { + name = "parse_headers___parse_headers_2.0.2.tgz"; + path = fetchurl { + name = "parse_headers___parse_headers_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.2.tgz"; + sha1 = "9545e8a4c1ae5eaea7d24992bca890281ed26e34"; + }; + } + { + name = "path_exists___path_exists_3.0.0.tgz"; + path = fetchurl { + name = "path_exists___path_exists_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz"; + sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"; + }; + } + { + name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; + path = fetchurl { + name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; + sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"; + }; + } + { + name = "performance_now___performance_now_2.1.0.tgz"; + path = fetchurl { + name = "performance_now___performance_now_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz"; + sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"; + }; + } + { + name = "phin___phin_2.9.3.tgz"; + path = fetchurl { + name = "phin___phin_2.9.3.tgz"; + url = "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz"; + sha1 = "f9b6ac10a035636fb65dfc576aaaa17b8743125c"; + }; + } + { + name = "pify___pify_3.0.0.tgz"; + path = fetchurl { + name = "pify___pify_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz"; + sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"; + }; + } + { + name = "pixelmatch___pixelmatch_4.0.2.tgz"; + path = fetchurl { + name = "pixelmatch___pixelmatch_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz"; + sha1 = "8f47dcec5011b477b67db03c243bc1f3085e8854"; + }; + } + { + name = "pkg_up___pkg_up_2.0.0.tgz"; + path = fetchurl { + name = "pkg_up___pkg_up_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz"; + sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f"; + }; + } + { + name = "png_to_ico___png_to_ico_1.0.7.tgz"; + path = fetchurl { + name = "png_to_ico___png_to_ico_1.0.7.tgz"; + url = "https://registry.yarnpkg.com/png-to-ico/-/png-to-ico-1.0.7.tgz"; + sha1 = "9346b5f4d6fd7e94cb08fd49eeb585f501c3e5f2"; + }; + } + { + name = "pngjs___pngjs_3.4.0.tgz"; + path = fetchurl { + name = "pngjs___pngjs_3.4.0.tgz"; + url = "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz"; + sha1 = "99ca7d725965fb655814eaf65f38f12bbdbf555f"; + }; + } + { + name = "process___process_0.5.2.tgz"; + path = fetchurl { + name = "process___process_0.5.2.tgz"; + url = "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz"; + sha1 = "1638d8a8e34c2f440a91db95ab9aeb677fc185cf"; + }; + } + { + name = "psl___psl_1.1.31.tgz"; + path = fetchurl { + name = "psl___psl_1.1.31.tgz"; + url = "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz"; + sha1 = "e9aa86d0101b5b105cbe93ac6b784cd547276184"; + }; + } + { + name = "punycode___punycode_1.4.1.tgz"; + path = fetchurl { + name = "punycode___punycode_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz"; + sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"; + }; + } + { + name = "punycode___punycode_2.1.1.tgz"; + path = fetchurl { + name = "punycode___punycode_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz"; + sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec"; + }; + } + { + name = "qs___qs_6.5.2.tgz"; + path = fetchurl { + name = "qs___qs_6.5.2.tgz"; + url = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz"; + sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36"; + }; + } + { + name = "read_chunk___read_chunk_1.0.1.tgz"; + path = fetchurl { + name = "read_chunk___read_chunk_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/read-chunk/-/read-chunk-1.0.1.tgz"; + sha1 = "5f68cab307e663f19993527d9b589cace4661194"; + }; + } + { + name = "request___request_2.88.0.tgz"; + path = fetchurl { + name = "request___request_2.88.0.tgz"; + url = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz"; + sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef"; + }; + } + { + name = "safe_buffer___safe_buffer_5.1.2.tgz"; + path = fetchurl { + name = "safe_buffer___safe_buffer_5.1.2.tgz"; + url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz"; + sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d"; + }; + } + { + name = "safer_buffer___safer_buffer_2.1.2.tgz"; + path = fetchurl { + name = "safer_buffer___safer_buffer_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz"; + sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a"; + }; + } + { + name = "sax___sax_1.2.4.tgz"; + path = fetchurl { + name = "sax___sax_1.2.4.tgz"; + url = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz"; + sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9"; + }; + } + { + name = "signal_exit___signal_exit_3.0.2.tgz"; + path = fetchurl { + name = "signal_exit___signal_exit_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz"; + sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d"; + }; + } + { + name = "sshpk___sshpk_1.16.1.tgz"; + path = fetchurl { + name = "sshpk___sshpk_1.16.1.tgz"; + url = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz"; + sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877"; + }; + } + { + name = "stream_to_buffer___stream_to_buffer_0.1.0.tgz"; + path = fetchurl { + name = "stream_to_buffer___stream_to_buffer_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz"; + sha1 = "26799d903ab2025c9bd550ac47171b00f8dd80a9"; + }; + } + { + name = "stream_to___stream_to_0.2.2.tgz"; + path = fetchurl { + name = "stream_to___stream_to_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/stream-to/-/stream-to-0.2.2.tgz"; + sha1 = "84306098d85fdb990b9fa300b1b3ccf55e8ef01d"; + }; + } + { + name = "string.prototype.trim___string.prototype.trim_1.1.2.tgz"; + path = fetchurl { + name = "string.prototype.trim___string.prototype.trim_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz"; + sha1 = "d04de2c89e137f4d7d206f086b5ed2fae6be8cea"; + }; + } + { + name = "tinycolor2___tinycolor2_1.4.1.tgz"; + path = fetchurl { + name = "tinycolor2___tinycolor2_1.4.1.tgz"; + url = "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz"; + sha1 = "f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8"; + }; + } + { + name = "tough_cookie___tough_cookie_2.4.3.tgz"; + path = fetchurl { + name = "tough_cookie___tough_cookie_2.4.3.tgz"; + url = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz"; + sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781"; + }; + } + { + name = "tunnel_agent___tunnel_agent_0.6.0.tgz"; + path = fetchurl { + name = "tunnel_agent___tunnel_agent_0.6.0.tgz"; + url = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz"; + sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd"; + }; + } + { + name = "tweetnacl___tweetnacl_0.14.5.tgz"; + path = fetchurl { + name = "tweetnacl___tweetnacl_0.14.5.tgz"; + url = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz"; + sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; + }; + } + { + name = "untildify___untildify_3.0.3.tgz"; + path = fetchurl { + name = "untildify___untildify_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/untildify/-/untildify-3.0.3.tgz"; + sha1 = "1e7b42b140bcfd922b22e70ca1265bfe3634c7c9"; + }; + } + { + name = "uri_js___uri_js_4.2.2.tgz"; + path = fetchurl { + name = "uri_js___uri_js_4.2.2.tgz"; + url = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz"; + sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0"; + }; + } + { + name = "url_regex___url_regex_3.2.0.tgz"; + path = fetchurl { + name = "url_regex___url_regex_3.2.0.tgz"; + url = "https://registry.yarnpkg.com/url-regex/-/url-regex-3.2.0.tgz"; + sha1 = "dbad1e0c9e29e105dd0b1f09f6862f7fdb482724"; + }; + } + { + name = "uuid___uuid_3.3.2.tgz"; + path = fetchurl { + name = "uuid___uuid_3.3.2.tgz"; + url = "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz"; + sha1 = "1b4af4955eb3077c501c23872fc6513811587131"; + }; + } + { + name = "verror___verror_1.10.0.tgz"; + path = fetchurl { + name = "verror___verror_1.10.0.tgz"; + url = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz"; + sha1 = "3a105ca17053af55d6e270c1f8288682e18da400"; + }; + } + { + name = "winreg___winreg_1.2.4.tgz"; + path = fetchurl { + name = "winreg___winreg_1.2.4.tgz"; + url = "https://registry.yarnpkg.com/winreg/-/winreg-1.2.4.tgz"; + sha1 = "ba065629b7a925130e15779108cf540990e98d1b"; + }; + } + { + name = "write_file_atomic___write_file_atomic_2.4.2.tgz"; + path = fetchurl { + name = "write_file_atomic___write_file_atomic_2.4.2.tgz"; + url = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.2.tgz"; + sha1 = "a7181706dfba17855d221140a9c06e15fcdd87b9"; + }; + } + { + name = "xhr___xhr_2.5.0.tgz"; + path = fetchurl { + name = "xhr___xhr_2.5.0.tgz"; + url = "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz"; + sha1 = "bed8d1676d5ca36108667692b74b316c496e49dd"; + }; + } + { + name = "xml_parse_from_string___xml_parse_from_string_1.0.1.tgz"; + path = fetchurl { + name = "xml_parse_from_string___xml_parse_from_string_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz"; + sha1 = "a9029e929d3dbcded169f3c6e28238d95a5d5a28"; + }; + } + { + name = "xml2js___xml2js_0.4.19.tgz"; + path = fetchurl { + name = "xml2js___xml2js_0.4.19.tgz"; + url = "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz"; + sha1 = "686c20f213209e94abf0d1bcf1efaa291c7827a7"; + }; + } + { + name = "xmlbuilder___xmlbuilder_9.0.7.tgz"; + path = fetchurl { + name = "xmlbuilder___xmlbuilder_9.0.7.tgz"; + url = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz"; + sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d"; + }; + } + { + name = "xtend___xtend_4.0.1.tgz"; + path = fetchurl { + name = "xtend___xtend_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz"; + sha1 = "a5c6d532be656e23db820efb943a1f04998d63af"; + }; + } + ]; +} diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix new file mode 100644 index 00000000000..2c4557f2cc0 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix @@ -0,0 +1,83 @@ +{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron_5, riot-web, yarn2nix-moretea }: + +# Notes for maintainers: +# * versions of `riot-web` and `riot-desktop` should be kept in sync. +# * the Yarn dependency expression must be updated with `./update-riot-desktop.sh ` + +let + executableName = "riot-desktop"; + version = "1.3.3"; + riot-web-src = fetchFromGitHub { + owner = "vector-im"; + repo = "riot-web"; + rev = "v${version}"; + sha256 = "1nzzxcz4r9932cha80q1bzn1425m67fsl89pn7n7ybrv6y0jnxpc"; + }; + +in yarn2nix-moretea.mkYarnPackage rec { + name = "riot-desktop-${version}"; + inherit version; + + src = "${riot-web-src}/electron_app"; + + packageJSON = ./riot-desktop-package.json; + yarnNix = ./riot-desktop-yarndeps.nix; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + # resources + mkdir -p "$out/share/riot" + ln -s '${riot-web}' "$out/share/riot/webapp" + cp -r '${riot-web-src}/origin_migrator' "$out/share/riot/origin_migrator" + cp -r './deps/riot-web' "$out/share/riot/electron" + rm "$out/share/riot/electron/node_modules" + cp -r './node_modules' "$out/share/riot/electron" + + # icons + for icon in $out/share/riot/electron/build/icons/*.png; do + mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps" + ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/riot.png" + done + + # desktop item + mkdir -p "$out/share" + ln -s "${desktopItem}/share/applications" "$out/share/applications" + + # executable wrapper + makeWrapper '${electron_5}/bin/electron' "$out/bin/${executableName}" \ + --add-flags "$out/share/riot/electron" + ''; + + # Do not attempt generating a tarball for riot-web again. + # note: `doDist = false;` does not work. + distPhase = '' + true + ''; + + # The desktop item properties should be kept in sync with data from upstream: + # * productName and description from + # https://github.com/vector-im/riot-web/blob/develop/electron_app/package.json + # * category and StartupWMClass from the build.linux section of + # https://github.com/vector-im/riot-web/blob/develop/package.json + desktopItem = makeDesktopItem { + name = "riot"; + exec = executableName; + icon = "riot"; + desktopName = "Riot"; + genericName = "Matrix Client"; + comment = meta.description; + categories = "Network;InstantMessaging;Chat;"; + extraEntries = '' + StartupWMClass="riot" + ''; + }; + + meta = with stdenv.lib; { + description = "A feature-rich client for Matrix.org"; + homepage = https://about.riot.im/; + license = licenses.asl20; + maintainers = with maintainers; [ pacien worldofpeace ]; + inherit (electron_5.meta) platforms; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix index 5a2d3b22032..2755d181da2 100644 --- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix +++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix @@ -1,25 +1,31 @@ { lib, stdenv, fetchurl, writeText, conf ? null }: -let configFile = writeText "riot-config.json" conf; in +# Note for maintainers: +# Versions of `riot-web` and `riot-desktop` should be kept in sync. + stdenv.mkDerivation rec { - name= "riot-web-${version}"; - version = "1.0.1"; + pname = "riot-web"; + version = "1.3.3"; src = fetchurl { url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz"; - sha256 = "0p2aj8zj1ynn75g0rjyx7dkhvcmvh3d38wpx0hf4fvg9q13vby85"; + sha256 = "1n5h7q3h0akw09p4z7nwprxsa8jnmwbvwn2npq7zz62ccasb4fv9"; }; - installPhase = '' + installPhase = let + configFile = if (conf != null) + then writeText "riot-config.json" conf + else "$out/config.sample.json"; + in '' mkdir -p $out/ cp -R . $out/ - ${lib.optionalString (conf != null) "ln -s ${configFile} $out/config.json"} + ln -s ${configFile} $out/config.json ''; meta = { description = "A glossy Matrix collaboration client for the web"; homepage = http://riot.im/; - maintainers = with stdenv.lib.maintainers; [ bachp ]; + maintainers = with stdenv.lib.maintainers; [ bachp pacien ]; license = stdenv.lib.licenses.asl20; platforms = stdenv.lib.platforms.all; hydraPlatforms = []; diff --git a/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh b/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh new file mode 100755 index 00000000000..b646a9e03ad --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env nix-shell +#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix-moretea.yarn2nix + +set -euo pipefail + +if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then + echo "Regenerates the Yarn dependency lock files for the riot-desktop package." + echo "Usage: $0 " + exit 1 +fi + +RIOT_WEB_SRC="https://raw.githubusercontent.com/vector-im/riot-web/$1" + +wget "$RIOT_WEB_SRC/electron_app/package.json" -O riot-desktop-package.json +wget "$RIOT_WEB_SRC/electron_app/yarn.lock" -O riot-desktop-yarndeps.lock +yarn2nix --lockfile=riot-desktop-yarndeps.lock > riot-desktop-yarndeps.nix +rm riot-desktop-yarndeps.lock diff --git a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix index 3336c05aae7..010ea1bff7c 100644 --- a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, makeWrapper, jre_headless }: stdenv.mkDerivation rec { - name = "signal-cli-${version}"; + pname = "signal-cli"; version = "0.6.2"; # Building from source would be preferred, but is much more involved. diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index 668f466cf97..c97a908d33d 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -1,8 +1,8 @@ { stdenv, lib, fetchurl, dpkg, wrapGAppsHook -, gnome2, gtk3, atk, at-spi2-atk, cairo, pango, gdk_pixbuf, glib, freetype, fontconfig +, gnome2, gtk3, atk, at-spi2-atk, cairo, pango, gdk-pixbuf, glib, freetype, fontconfig , dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite , libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsaLib -, cups, expat, udev, libnotify +, cups, expat, udev, libnotify, libuuid # Unfortunately this also overwrites the UI language (not just the spell # checking language!): , hunspellDicts, spellcheckerLanguage ? null # E.g. "de_DE" @@ -31,12 +31,13 @@ let expat fontconfig freetype - gdk_pixbuf + gdk-pixbuf glib gnome2.GConf gtk3 pango libnotify + libuuid libX11 libXScrnSaver libXcomposite @@ -55,12 +56,12 @@ let ]; in stdenv.mkDerivation rec { - name = "signal-desktop-${version}"; - version = "1.21.2"; + pname = "signal-desktop"; + version = "1.26.2"; src = fetchurl { url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; - sha256 = "0nr9d4z9c451nbzhjz3a1szx490rw1r01qf84xw72z7d7awn25ci"; + sha256 = "08qx7k82x6ybqi3lln6ixzmdz4sr8yz8vfx0y408b85wjfc7ncjk"; }; phases = [ "unpackPhase" "installPhase" ]; diff --git a/pkgs/applications/networking/instant-messengers/sky/default.nix b/pkgs/applications/networking/instant-messengers/sky/default.nix new file mode 100644 index 00000000000..cdc176be65b --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/sky/default.nix @@ -0,0 +1,86 @@ +{ stdenv, fetchurl, file, libX11, libXScrnSaver +, libGL, qt5, SDL, libpulseaudio +, libXrandr, libXext, libXcursor, libXinerama, libXi +, curl, sqlite, openssl +, libuuid, openh264, libv4l, libxkbfile, libXv, zlib, libXmu +, libXtst, libXdamage, pam, libXfixes, libXrender, libjpeg_original +, ffmpeg +}: + let + # Sky is linked to the libjpeg 8 version and checks for the version number in the code. + libjpeg_original_fix = libjpeg_original.overrideAttrs (oldAttrs: { + src = fetchurl{ + url = https://www.ijg.org/files/jpegsrc.v8d.tar.gz; + sha256 = "1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0"; + }; + }); +in +stdenv.mkDerivation rec { + version_major = "2.1.7369"; + version_minor = "1"; + version = version_major + "." + version_minor; + pname = "sky"; + unpackCmd = "ar x $curSrc; tar -xf data.tar.xz"; + src = fetchurl { + url = "https://tel.red/repos/ubuntu/pool/non-free/sky_${version_major + "-" + version_minor}ubuntu+xenial_amd64.deb"; + sha256 = "0b3j90km3rp5bgaklxw881g0gcy09mqzbhjdfrq4s2np026ql3d9"; + }; + buildInputs = [ + file + qt5.qtbase + SDL + ffmpeg + sqlite + openssl + openh264 + pam + curl + libX11 libXScrnSaver libGL libpulseaudio libXrandr + libXext libXcursor libXinerama libXi libuuid libv4l + libxkbfile libXv zlib libXmu libXtst libXdamage + libXfixes libXrender + libjpeg_original_fix + ]; + dontBuild = true; + + installPhase = '' + ls -al ./ + mkdir -p "$out/bin" "$out/lib" "$out/share" + cp -a lib/sky/* $out/bin/ + cp -aR lib/sky/lib64/* "$out/lib/" + cp -a lib/sky/man.sh "$out/bin" + chmod +x $out/bin/sky + cp -a share/* "$out/share" + '' + ; + + + postFixup = '' + patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libfreerdp-client.so.2.0.0 + patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libfreerdp-server.so.2.0.0 + patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libfreerdp-shadow.so.2.0.0 + patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libfreerdp.so.2.0.0 + patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libopenh264.so.0 + patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/librdtk.so.1.1.0 + patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libSDL-1.3.so.0.0.0 + patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libsipw.so.1.0.0 + patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libwinpr.so.1.1.0 + patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} $out/lib/libxfreerdp-client.so.2.0.0 + patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $out/bin/sky + patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}:${stdenv.lib.makeLibraryPath buildInputs} --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $out/bin/sky_sender + sed -i "s#/usr/bin/sky#$out/bin/sky#g" $out/share/applications/sky.desktop + sed -i "s#/usr/lib/sky#$out/bin/#g" $out/share/applications/sky.desktop + ''; + + meta = with stdenv.lib; { + description = "Skype for business"; + longDescription = '' + Lync & Skype for business on linux + ''; + homepage = https://tel.red/; + license = licenses.unfree; + maintainers = [ maintainers.Scriptkiddi ]; + platforms = platforms.unix; + }; +} + diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix index 49e5a12d447..cbab67e5e1a 100644 --- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix +++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix @@ -1,16 +1,19 @@ { stdenv, fetchurl, dpkg -, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk_pixbuf, glib, glibc, gnome2, gnome3 -, gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg }: +, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome2, gnome3 +, gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg +, at-spi2-atk, libuuid, at-spi2-core }: let # Please keep the version x.y.0.z and do not update to x.y.76.z because the # source of the latter disappears much faster. - version = "8.32.0.44"; + version = "8.51.0.72"; rpath = stdenv.lib.makeLibraryPath [ alsaLib atk + at-spi2-atk + at-spi2-core cairo cups curl @@ -21,9 +24,10 @@ let glib glibc libsecret + libuuid gnome2.GConf - gdk_pixbuf + gdk-pixbuf gtk3 gnome3.gnome-keyring @@ -56,13 +60,14 @@ let if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"; - sha256 = "0yzh4bmv8mrfp0ml9nhcpcy0lhi8jp1fnmnxy0krvnphkp8750c7"; + sha256 = "1rv3jxirlfy0gvphw8cxmwmghbak5m5wj0y3bgamcvma48mzdfk3"; } else throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}"; in stdenv.mkDerivation { - name = "skypeforlinux-${version}"; + pname = "skypeforlinux"; + inherit version; system = "x86_64-linux"; @@ -75,7 +80,7 @@ in stdenv.mkDerivation { buildInputs = [ dpkg ]; - unpackPhase = "true"; + dontUnpack = true; installPhase = '' mkdir -p $out dpkg -x $src $out @@ -97,8 +102,7 @@ in stdenv.mkDerivation { # Fix the desktop link substituteInPlace $out/share/applications/skypeforlinux.desktop \ - --replace /usr/bin/ $out/bin/ \ - --replace /usr/share/ $out/share/ + --replace /usr/bin/ $out/bin/ ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/instant-messengers/slack-term/default.nix b/pkgs/applications/networking/instant-messengers/slack-term/default.nix index 79464f54232..6271e338a96 100644 --- a/pkgs/applications/networking/instant-messengers/slack-term/default.nix +++ b/pkgs/applications/networking/instant-messengers/slack-term/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { # https://github.com/erroneousboat/slack-term - name = "slack-term-${version}"; + pname = "slack-term"; version = "0.4.1"; goPackagePath = "github.com/erroneousboat/slack-term"; diff --git a/pkgs/applications/networking/instant-messengers/slack/dark-theme.nix b/pkgs/applications/networking/instant-messengers/slack/dark-theme.nix new file mode 100644 index 00000000000..58cc7a220b9 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/slack/dark-theme.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchgit }: + +stdenv.mkDerivation rec { + rev = "e2a6a9cd9da70175881ab991220c86aa87179509"; + version = "2019-07-26"; + pname = "slack-theme-black"; + + src = fetchgit { inherit rev; + url = "https://github.com/laCour/slack-night-mode"; + sha256 = "1jwxy63qzgvr83idsgcg7yhm9kn0ybfji1m964c5c6ypzcm7j10v"; + }; + + dontUnpack = true; + + buildCommand = '' + mkdir $out + cp $src/css/raw/black.css $out/theme.css + ''; +} diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix index ece9c1089fa..d3aa302d601 100644 --- a/pkgs/applications/networking/instant-messengers/slack/default.nix +++ b/pkgs/applications/networking/instant-messengers/slack/default.nix @@ -1,11 +1,12 @@ -{ darkMode ? false, stdenv, fetchurl, dpkg, makeWrapper -, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib -, gnome2, gtk3, gdk_pixbuf, libnotify, libxcb, nspr, nss, pango -, systemd, xorg, at-spi2-atk }: +{ theme ? null, stdenv, fetchurl, dpkg, makeWrapper , alsaLib, atk, cairo, +cups, curl, dbus, expat, fontconfig, freetype, glib , gnome2, gtk3, gdk-pixbuf, +libappindicator-gtk3, libnotify, libxcb, nspr, nss, pango , systemd, xorg, +at-spi2-atk, libuuid, nodePackages +}: let - version = "3.3.7"; + version = "4.0.2"; rpath = stdenv.lib.makeLibraryPath [ alsaLib @@ -20,15 +21,17 @@ let freetype glib gnome2.GConf - gdk_pixbuf + gdk-pixbuf gtk3 pango libnotify libxcb + libappindicator-gtk3 nspr nss stdenv.cc.cc systemd + libuuid xorg.libxkbfile xorg.libX11 @@ -48,13 +51,14 @@ let if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb"; - sha256 = "1q3866iaby8rqim8h2m398wzi0isnnlsxirlq63fzz7a4g1hnc8p"; + sha256 = "053j5py16ilpwy868rhh5l2g93xj1fq4fwxrsi2bkfsnmq261hkm"; } else throw "Slack is not supported on ${stdenv.hostPlatform.system}"; in stdenv.mkDerivation { - name = "slack-${version}"; + pname = "slack"; + inherit version; inherit src; @@ -63,9 +67,9 @@ in stdenv.mkDerivation { gtk3 # needed for GSETTINGS_SCHEMAS_PATH ]; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper nodePackages.asar ]; - unpackPhase = "true"; + dontUnpack = true; buildCommand = '' mkdir -p $out dpkg -x $src $out @@ -89,27 +93,28 @@ in stdenv.mkDerivation { substituteInPlace $out/share/applications/slack.desktop \ --replace /usr/bin/ $out/bin/ \ --replace /usr/share/ $out/share/ - '' + stdenv.lib.optionalString darkMode '' - cat <> $out/lib/slack/resources/app.asar.unpacked/src/static/ssb-interop.js + '' + stdenv.lib.optionalString (theme != null) '' + asar extract $out/lib/slack/resources/app.asar $out/lib/slack/resources/app.asar.unpacked + cat <> $out/lib/slack/resources/app.asar.unpacked/dist/ssb-interop.bundle.js + + var fs = require('fs'); document.addEventListener('DOMContentLoaded', function() { - let tt__customCss = ".menu ul li a:not(.inline_menu_link) {color: #fff !important;}" - $.ajax({ - url: 'https://cdn.rawgit.com/laCour/slack-night-mode/master/css/raw/black.css', - success: function(css) { - \$("").appendTo('head').html(css + tt__customCss); - \$("").appendTo('head').html('#reply_container.upload_in_threads .inline_message_input_container {background: padding-box #545454}'); - \$("").appendTo('head').html('.p-channel_sidebar {background: #363636 !important}'); - \$("").appendTo('head').html('#client_body:not(.onboarding):not(.feature_global_nav_layout):before {background: inherit;}'); - } + fs.readFile('${theme}/theme.css', 'utf8', function(err, css) { + let s = document.createElement('style'); + s.type = 'text/css'; + s.innerHTML = css; + document.head.appendChild(s); }); }); EOF + asar pack $out/lib/slack/resources/app.asar.unpacked $out/lib/slack/resources/app.asar ''; meta = with stdenv.lib; { description = "Desktop client for Slack"; homepage = https://slack.com; license = licenses.unfree; + maintainers = [ maintainers.mmahut ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/networking/instant-messengers/slack/update.sh b/pkgs/applications/networking/instant-messengers/slack/update.sh new file mode 100755 index 00000000000..e5f79388353 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/slack/update.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl common-updater-scripts jq + +set -eu -o pipefail + +oldVersion="$(nix-instantiate --eval -E "with import ./. {}; slack-theme-black.version or (builtins.parseDrvName slack-theme-black.name).version" | tr -d '"')" +latestSha="$(curl -L -s https://api.github.com/repos/laCour/slack-night-mode/commits\?sha\=master\&since\=${oldVersion} | jq -r '.[0].sha')" + +if [ ! "null" = "${latestSha}" ]; then + latestDate="$(curl -L -s https://api.github.com/repos/laCour/slack-night-mode/commits/${latestSha} | jq '.commit.author.date' | sed 's|"\(.*\)T.*|\1|g')" + update-source-version slack-theme-black "${latestSha}" --version-key=rev + update-source-version slack-theme-black "${latestDate}" --ignore-same-hash + nixpkgs="$(git rev-parse --show-toplevel)" + default_nix="$nixpkgs/pkgs/applications/networking/instant-messengers/slack/dark-theme.nix" + git add "${default_nix}" + git commit -m "slack-theme-black: ${oldVersion} -> ${latestDate}" +else + echo "slack-theme-black is already up-to-date" +fi diff --git a/pkgs/applications/networking/instant-messengers/spectral/default.nix b/pkgs/applications/networking/instant-messengers/spectral/default.nix index 5dd8bf5f69a..72069ec81c1 100644 --- a/pkgs/applications/networking/instant-messengers/spectral/default.nix +++ b/pkgs/applications/networking/instant-messengers/spectral/default.nix @@ -1,27 +1,45 @@ { stdenv, fetchgit -, pkgconfig +, pkgconfig, makeWrapper , qmake, qtbase, qtquickcontrols2, qtmultimedia , libpulseaudio # Not mentioned but seems needed , qtgraphicaleffects -# Unsure but needed by similar -, qtdeclarative, qtsvg +, qtdeclarative +, qtmacextras }: -stdenv.mkDerivation rec { - name = "spectral-${version}"; - version = "2018-09-24"; +let + # Following "borrowed" from yubikey-manager-qt + qmlPath = qmlLib: "${qmlLib}/${qtbase.qtQmlPrefix}"; + + inherit (stdenv) lib; + + qml2ImportPath = lib.concatMapStringsSep ":" qmlPath [ + qtbase.bin qtdeclarative.bin qtquickcontrols2.bin qtgraphicaleffects qtmultimedia + ]; + +in stdenv.mkDerivation rec { + pname = "spectral"; + version = "2019-03-03"; src = fetchgit { url = "https://gitlab.com/b0/spectral.git"; - rev = "c9d1d6887722860a52b597a0f74d0ce39c8622e1"; - sha256 = "1ym8jlqls4lcq5rd81vxw1dni79fc6ph00ip8nsydl6i16fngl4c"; + rev = "0473f25d38a064ee4e18203ec16eeae84fea4866"; + sha256 = "1n09ginw6g0p42xj3zgxm52dvyyvj5psllv70vx21i50lvkbh9rw"; fetchSubmodules = true; }; - nativeBuildInputs = [ pkgconfig qmake ]; - buildInputs = [ qtbase qtquickcontrols2 qtmultimedia qtgraphicaleffects qtdeclarative qtsvg ] - ++ stdenv.lib.optional stdenv.hostPlatform.isLinux libpulseaudio; + qmakeFlags = [ "CONFIG+=qtquickcompiler" "BUNDLE_FONT=true" ]; + + postInstall = '' + wrapProgram $out/bin/spectral \ + --set QML2_IMPORT_PATH "${qml2ImportPath}" + ''; + + nativeBuildInputs = [ pkgconfig qmake makeWrapper ]; + buildInputs = [ qtbase qtquickcontrols2 qtmultimedia qtgraphicaleffects qtdeclarative ] + ++ stdenv.lib.optional stdenv.hostPlatform.isLinux libpulseaudio + ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin qtmacextras; meta = with stdenv.lib; { description = "A glossy client for Matrix, written in QtQuick Controls 2 and C++"; diff --git a/pkgs/applications/networking/instant-messengers/stride/default.nix b/pkgs/applications/networking/instant-messengers/stride/default.nix index 9df816dd890..7a9ab4d127c 100644 --- a/pkgs/applications/networking/instant-messengers/stride/default.nix +++ b/pkgs/applications/networking/instant-messengers/stride/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, dpkg, alsaLib, atk, cairo, cups, dbus, expat, fontconfig -, freetype, gdk_pixbuf, glib, gnome2, nspr, nss, pango, udev, xorg }: +, freetype, gdk-pixbuf, glib, gnome2, nspr, nss, pango, udev, xorg }: let fullPath = stdenv.lib.makeLibraryPath [ alsaLib @@ -10,7 +10,7 @@ let expat fontconfig freetype - gdk_pixbuf + gdk-pixbuf glib gnome2.GConf gnome2.gtk @@ -34,7 +34,7 @@ let in stdenv.mkDerivation rec { version = "1.17.82"; - name = "stride-${version}"; + pname = "stride"; src = fetchurl { url = "https://packages.atlassian.com/stride-apt-client/pool/stride_${version}_amd64.deb"; diff --git a/pkgs/applications/networking/instant-messengers/swift-im/default.nix b/pkgs/applications/networking/instant-messengers/swift-im/default.nix index 51e7f081d1e..db1d0a54dce 100644 --- a/pkgs/applications/networking/instant-messengers/swift-im/default.nix +++ b/pkgs/applications/networking/instant-messengers/swift-im/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "swift-im-${version}"; + pname = "swift-im"; version = "4.0.2"; src = fetchurl { diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix index 7a50536cc0f..3c532fa506a 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix @@ -29,18 +29,15 @@ let in stdenv.mkDerivation rec { - name = "teamspeak-client-${version}"; + pname = "teamspeak-client"; - version = "3.1.10"; + version = "3.3.0"; src = fetchurl { - urls = [ - "http://dl.4players.de/ts/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run" - "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run" - ]; + url = "https://files.teamspeak-services.com/releases/client/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"; sha256 = if stdenv.is64bit - then "17gylj5pxba14c1c98b5rdyyb87c58z8l8yrd1iw5k293wf7iwv3" - else "1bkn3ykrc73wr02qaqwpr4garlqm3424y3dm2fjx6lqcfzm3ms2k"; + then "13286dbjp4qiyfv8my1hfpwzns4szdsnqa11j8ygsh5ikgjk338a" + else "04lwclq7nvw73v5fmn9795j5wi54syglc77ldl41caiqqhdqf1i5"; }; # grab the plugin sdk for the desktop icon @@ -61,6 +58,7 @@ stdenv.mkDerivation rec { '' mv ts3client_linux_${arch} ts3client echo "patching ts3client..." + patchelf --replace-needed libquazip.so ${quazip}/lib/libquazip5.so ts3client patchelf \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath ${stdenv.lib.makeLibraryPath deps}:$(cat $NIX_CC/nix-support/orig-cc)/${libDir} \ diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix index fdb3326803c..15cec96afc7 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix @@ -1,62 +1,32 @@ -{ stdenv, fetchurl, makeWrapper }: +{ stdenv, fetchurl, autoPatchelfHook }: let - version = "3.5.1"; arch = if stdenv.is64bit then "amd64" else "x86"; - libDir = if stdenv.is64bit then "lib64" else "lib"; -in - -stdenv.mkDerivation { - name = "teamspeak-server-${version}"; +in stdenv.mkDerivation rec { + pname = "teamspeak-server"; + version = "3.9.1"; src = fetchurl { - urls = [ - "http://dl.4players.de/ts/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2" - "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2" - ]; + url = "https://files.teamspeak-services.com/releases/server/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2"; sha256 = if stdenv.is64bit - then "0ygb867ff2fvi9n9hgs4hldpg4y012w4i1d9cx4f5mpli1xim6da" - else "0g1cixsldpdbfzg2vain7h3hr5j3xjdngjw66r0aqnzbx743gjzj"; + then "0vzi0prnqhjxrwlghwgii0rsmml6aa3qk3yv227g9wz5m3b9f10a" + else "1nn0fh4s5rmnn27djbsk21jaah1kxyvap9qaf5p4r7cydwr1bzm6"; }; - buildInputs = [ makeWrapper ]; + buildInputs = [ stdenv.cc.cc ]; - buildPhase = - '' - echo "patching ts3server" - patchelf \ - --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath $(cat $NIX_CC/nix-support/orig-cc)/${libDir} \ - --force-rpath \ - ts3server - cp tsdns/tsdnsserver tsdnsserver - patchelf \ - --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath $(cat $NIX_CC/nix-support/orig-cc)/${libDir} \ - --force-rpath \ - tsdnsserver - ''; + nativeBuildInputs = [ autoPatchelfHook ]; - installPhase = - '' - # Delete unecessary libraries - these are provided by nixos. - #rm *.so* + installPhase = '' + # Install files. + mkdir -p $out/lib/teamspeak + mv * $out/lib/teamspeak/ - # Install files. - mkdir -p $out/lib/teamspeak - mv * $out/lib/teamspeak/ - - # Make symlinks to the binaries from bin. - mkdir -p $out/bin/ - ln -s $out/lib/teamspeak/ts3server $out/bin/ts3server - ln -s $out/lib/teamspeak/tsdnsserver $out/bin/tsdnsserver - - wrapProgram $out/lib/teamspeak/ts3server --prefix LD_LIBRARY_PATH : $out/lib/teamspeak - wrapProgram $out/lib/teamspeak/tsdnsserver --prefix LD_LIBRARY_PATH : $out/lib/tsdnsserver - ''; - - dontStrip = true; - dontPatchELF = true; + # Make symlinks to the binaries from bin. + mkdir -p $out/bin/ + ln -s $out/lib/teamspeak/ts3server $out/bin/ts3server + ln -s $out/lib/teamspeak/tsdns/tsdnsserver $out/bin/tsdnsserver + ''; meta = { description = "TeamSpeak voice communication server"; diff --git a/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix b/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix deleted file mode 100644 index 77a8d57f8b6..00000000000 --- a/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ stdenv, fetchgit -, qtbase, qtmultimedia, qtquick1, qtquickcontrols -, qtimageformats, qtgraphicaleffects, qtwebkit -, telegram-qml, libqtelegram-aseman-edition -, gst_all_1 -, makeWrapper, qmake }: - -stdenv.mkDerivation rec { - name = "cutegram-${meta.version}"; - - src = fetchgit { - url = "https://github.com/Aseman-Land/Cutegram.git"; - rev = "1dbe2792fb5a1760339379907f906e236c09db84"; - sha256 = "146vd3ri05da2asxjjxibnqmb685lgwl2kaz7mwb7ja7vi4149f0"; - }; - - buildInputs = - [ qtbase qtmultimedia qtquick1 qtquickcontrols - qtimageformats qtgraphicaleffects qtwebkit - telegram-qml libqtelegram-aseman-edition - ] ++ (with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly ]); - - - enableParallelBuilding = true; - nativeBuildInputs = [ makeWrapper qmake ]; - - fixupPhase = '' - wrapProgram $out/bin/cutegram \ - --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" - ''; - - meta = with stdenv.lib; { - version = "2.7.1"; - description = "Telegram client forked from sigram"; - homepage = http://aseman.co/en/products/cutegram/; - license = licenses.gpl3; - maintainers = with maintainers; [ AndersonTorres ]; - platforms = platforms.linux; - }; -} -#TODO: appindicator, for system tray plugin diff --git a/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix b/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix deleted file mode 100644 index 49368da708e..00000000000 --- a/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ stdenv, fetchFromGitHub -, qtbase, qtmultimedia, qtquick1, qmake }: - -stdenv.mkDerivation rec { - name = "libqtelegram-aseman-edition-${meta.version}"; - - src = fetchFromGitHub { - owner = "Aseman-Land"; - repo = "libqtelegram-aseman-edition"; - rev = "v${meta.version}-stable"; - sha256 = "1pfd4pvh51639zk9shv1s4f6pf0ympnhar8a302vhrkga9i4cbx6"; - }; - - buildInputs = [ qtbase qtmultimedia qtquick1 ]; - enableParallelBuilding = true; - nativeBuildInputs = [ qmake ]; - - patchPhase = '' - substituteInPlace libqtelegram-ae.pro --replace "/libqtelegram-ae" "" - substituteInPlace libqtelegram-ae.pro --replace "/\$\$LIB_PATH" "" - ''; - - meta = with stdenv.lib; { - version = "6.1"; - description = "A fork of libqtelegram by Aseman, using qmake"; - homepage = src.meta.homepage; - license = licenses.gpl3; - maintainers = [ maintainers.Profpatsch ]; - platforms = platforms.linux; - }; - -} diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix index 6028e732c8f..3d88e50221d 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix @@ -1,18 +1,173 @@ -{ qt5 }: +{ mkDerivation, lib, fetchFromGitHub, fetchsvn, fetchpatch +, pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc9 +, qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify, xdg_utils +, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3 +}: -let - mkTelegram = args: qt5.callPackage (import ./generic.nix args) { }; - stableVersion = { - stable = true; - version = "1.5.15"; - sha256Hash = "09m9pcm0yd9x3vz22c7zn2xzcnqc7mkbml8xg1z608nnsd702c51"; - # svn log svn://svn.archlinux.org/community/telegram-desktop/trunk - archPatchesRevision = "429149"; - archPatchesHash = "1ylpi9kb6hk27x9wmna4ing8vzn9b7247iya91pyxxrpxrcrhpli"; +with lib; + +mkDerivation rec { + pname = "telegram-desktop"; + version = "1.8.2"; + # Note: Due to our strong dependency on the Arch patches it's probably best + # to also wait for the Arch update (especially if the patches don't apply). + + # Telegram-Desktop with submodules + src = fetchFromGitHub { + owner = "telegramdesktop"; + repo = "tdesktop"; + rev = "v${version}"; + sha256 = "0dls6s8721zjm8351fcgfbsifr9d7wsxbf5dra5cbk8r555ibf3j"; + fetchSubmodules = true; + }; + + # Arch patches (svn export telegram-desktop/trunk) + archPatches = fetchsvn { + url = "svn://svn.archlinux.org/community/telegram-desktop/trunk"; + # svn log svn://svn.archlinux.org/community/telegram-desktop/trunk + rev = "498563"; + sha256 = "0g2y6impygqhfiqnyxc1ivxwl8j82q9qcnkqcjn6mwj3cisyxwnl"; + }; + privateHeadersPatch = fetchpatch { + url = "https://github.com/telegramdesktop/tdesktop/commit/b9d3ba621eb8af638af46c6b3cfd7a8330bf0dd5.patch"; + sha256 = "1s5xvcp9dk0jfywssk8xfcsh7bk5xxif8xqnba0413lfx5rgvs5v"; + }; + + # Note: It would be best if someone could get as many patches upstream as + # possible (we currently depend a lot on custom patches...). + patches = [ + "${archPatches}/tdesktop.patch" + "${archPatches}/no-gtk2.patch" + # "${archPatches}/Use-system-wide-font.patch" + "${archPatches}/tdesktop_lottie_animation_qtdebug.patch" + ]; + + postPatch = '' + substituteInPlace Telegram/SourceFiles/platform/linux/linux_libs.cpp \ + --replace '"appindicator3"' '"${libappindicator-gtk3}/lib/libappindicator3.so"' + substituteInPlace Telegram/SourceFiles/platform/linux/linux_libnotify.cpp \ + --replace '"notify"' '"${libnotify}/lib/libnotify.so"' + ''; + + # We want to run wrapProgram manually (with additional parameters) + dontWrapGApps = true; + dontWrapQtApps = true; + + nativeBuildInputs = [ pkgconfig pythonPackages.gyp cmake wrapGAppsHook wrapQtAppsHook gcc9 ]; + + buildInputs = [ + qtbase qtimageformats gtk3 libappindicator-gtk3 + dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3 + ]; + + enableParallelBuilding = true; + + GYP_DEFINES = concatStringsSep "," [ + "TDESKTOP_DISABLE_CRASH_REPORTS" + "TDESKTOP_DISABLE_AUTOUPDATE" + "TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME" + ]; + + NIX_CFLAGS_COMPILE = [ + "-DTDESKTOP_DISABLE_CRASH_REPORTS" + "-DTDESKTOP_DISABLE_AUTOUPDATE" + "-DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME" + "-I${minizip}/include/minizip" + # See Telegram/gyp/qt.gypi + "-I${getDev qtbase}/mkspecs/linux-g++" + ] ++ concatMap (x: [ + "-I${getDev qtbase}/include/${x}" + "-I${getDev qtbase}/include/${x}/${qtbase.version}" + "-I${getDev qtbase}/include/${x}/${qtbase.version}/${x}" + "-I${getDev libopus}/include/opus" + "-I${getDev alsaLib}/include/alsa" + "-I${getDev libpulseaudio}/include/pulse" + ]) [ "QtCore" "QtGui" "QtDBus" ]; + CPPFLAGS = NIX_CFLAGS_COMPILE; + + preConfigure = '' + # Patches to revert: + patch -R -Np1 -i "${archPatches}/demibold.patch" + patch -R -Np1 -i "${privateHeadersPatch}" + + # Patches to apply: + pushd "Telegram/ThirdParty/libtgvoip" + patch -Np1 -i "${archPatches}/libtgvoip.patch" + popd + + # disable static-qt for rlottie + sed "/RLOTTIE_WITH_STATIC_QT/d" -i "Telegram/gyp/lib_rlottie.gyp" + + sed -i Telegram/gyp/telegram_linux.gypi \ + -e 's,/usr,/does-not-exist,g' \ + -e 's,appindicator-0.1,appindicator3-0.1,g' \ + -e 's,-flto,,g' + + sed -i Telegram/gyp/qt.gypi \ + -e "s,/usr/include/qt/QtCore/,${qtbase.dev}/include/QtCore/,g" \ + -e 's,\d+",\d+" | head -n1,g' + sed -i Telegram/gyp/qt_moc.gypi \ + -e "s,/usr/bin/moc,moc,g" + sed -i Telegram/gyp/qt_rcc.gypi \ + -e "s,/usr/bin/rcc,rcc,g" + + # Build system assumes x86, but it works fine on non-x86 if we patch this one flag out + sed -i Telegram/ThirdParty/libtgvoip/libtgvoip.gyp \ + -e "/-msse2/d" + + gyp \ + -Dapi_id=17349 \ + -Dapi_hash=344583e45741c457fe1862106095a5eb \ + -Dbuild_defines=${GYP_DEFINES} \ + -Gconfig=Release \ + --depth=Telegram/gyp \ + --generator-output=../.. \ + -Goutput_dir=out \ + --format=cmake \ + Telegram/gyp/Telegram.gyp + + cd out/Release + + NUM=$((`wc -l < CMakeLists.txt` - 2)) + sed -i "$NUM r $archPatches/CMakeLists.inj" CMakeLists.txt + + export ASM=$(type -p gcc) + ''; + + cmakeFlags = [ "-UTDESKTOP_OFFICIAL_TARGET" ]; + + installPhase = '' + install -Dm755 Telegram $out/bin/telegram-desktop + + mkdir -p $out/share/applications $out/share/kde4/services + install -m444 "$src/lib/xdg/telegramdesktop.desktop" "$out/share/applications/telegram-desktop.desktop" + sed "s,/usr/bin,$out/bin,g" $archPatches/tg.protocol > $out/share/kde4/services/tg.protocol + for icon_size in 16 32 48 64 128 256 512; do + install -Dm644 "../../../Telegram/Resources/art/icon''${icon_size}.png" "$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps/telegram.png" + done + ''; + + postFixup = '' + # This is necessary to run Telegram in a pure environment. + # We also use gappsWrapperArgs from wrapGAppsHook. + wrapProgram $out/bin/telegram-desktop \ + "''${gappsWrapperArgs[@]}" \ + "''${qtWrapperArgs[@]}" \ + --prefix PATH : ${xdg_utils}/bin \ + --set XDG_RUNTIME_DIR "XDG-RUNTIME-DIR" + sed -i $out/bin/telegram-desktop \ + -e "s,'XDG-RUNTIME-DIR',\"\''${XDG_RUNTIME_DIR:-/run/user/\$(id --user)}\"," + ''; + + meta = { + description = "Telegram Desktop messaging app"; + longDescription = '' + Desktop client for the Telegram messenger, based on the Telegram API and + the MTProto secure protocol. + ''; + license = licenses.gpl3; + platforms = platforms.linux; + homepage = https://desktop.telegram.org/; + maintainers = with maintainers; [ primeos abbradar ]; }; -in { - stable = mkTelegram stableVersion; - preview = mkTelegram (stableVersion // { - stable = false; - }); } diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix deleted file mode 100644 index c32e6b186b7..00000000000 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix +++ /dev/null @@ -1,148 +0,0 @@ -{ stable, version, sha256Hash, archPatchesRevision, archPatchesHash }: - -{ mkDerivation, lib, fetchFromGitHub, fetchsvn -, pkgconfig, pythonPackages, cmake, wrapGAppsHook -, qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify, xdg_utils -, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3 -}: - -with lib; - -mkDerivation rec { - name = "telegram-desktop-${version}"; - inherit version; - - # Telegram-Desktop with submodules - src = fetchFromGitHub { - owner = "telegramdesktop"; - repo = "tdesktop"; - rev = "v${version}"; - sha256 = sha256Hash; - fetchSubmodules = true; - }; - - # Arch patches (svn export telegram-desktop/trunk) - archPatches = fetchsvn { - url = "svn://svn.archlinux.org/community/telegram-desktop/trunk"; - rev = archPatchesRevision; - sha256 = archPatchesHash; - }; - - # TODO: libtgvoip.patch no-gtk2.patch - patches = [ "${archPatches}/tdesktop.patch" ]; - - postPatch = '' - substituteInPlace Telegram/SourceFiles/platform/linux/linux_libs.cpp \ - --replace '"appindicator"' '"${libappindicator-gtk3}/lib/libappindicator3.so"' - substituteInPlace Telegram/SourceFiles/platform/linux/linux_libnotify.cpp \ - --replace '"notify"' '"${libnotify}/lib/libnotify.so"' - ''; - - nativeBuildInputs = [ pkgconfig pythonPackages.gyp cmake wrapGAppsHook ]; - - # We want to run wrapProgram manually (with additional parameters) - dontWrapGApps = true; - - buildInputs = [ - qtbase qtimageformats gtk3 libappindicator-gtk3 - dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3 - ]; - - enableParallelBuilding = true; - - GYP_DEFINES = concatStringsSep "," [ - "TDESKTOP_DISABLE_CRASH_REPORTS" - "TDESKTOP_DISABLE_AUTOUPDATE" - "TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME" - ]; - - NIX_CFLAGS_COMPILE = [ - "-DTDESKTOP_DISABLE_CRASH_REPORTS" - "-DTDESKTOP_DISABLE_AUTOUPDATE" - "-DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME" - "-I${minizip}/include/minizip" - # See Telegram/gyp/qt.gypi - "-I${getDev qtbase}/mkspecs/linux-g++" - ] ++ concatMap (x: [ - "-I${getDev qtbase}/include/${x}" - "-I${getDev qtbase}/include/${x}/${qtbase.version}" - "-I${getDev qtbase}/include/${x}/${qtbase.version}/${x}" - "-I${getDev libopus}/include/opus" - "-I${getDev alsaLib}/include/alsa" - "-I${getDev libpulseaudio}/include/pulse" - ]) [ "QtCore" "QtGui" "QtDBus" ]; - CPPFLAGS = NIX_CFLAGS_COMPILE; - - preConfigure = '' - pushd "Telegram/ThirdParty/libtgvoip" - patch -Np1 -i "${archPatches}/libtgvoip.patch" - popd - - sed -i Telegram/gyp/telegram_linux.gypi \ - -e 's,/usr,/does-not-exist,g' \ - -e 's,appindicator-0.1,appindicator3-0.1,g' \ - -e 's,-flto,,g' - - sed -i Telegram/gyp/qt.gypi \ - -e "s,/usr/include/qt/QtCore/,${qtbase.dev}/include/QtCore/,g" \ - -e 's,\d+",\d+" | head -n1,g' - sed -i Telegram/gyp/qt_moc.gypi \ - -e "s,/usr/bin/moc,moc,g" - sed -i Telegram/gyp/qt_rcc.gypi \ - -e "s,/usr/bin/rcc,rcc,g" - - # Build system assumes x86, but it works fine on non-x86 if we patch this one flag out - sed -i Telegram/ThirdParty/libtgvoip/libtgvoip.gyp \ - -e "/-msse2/d" - - gyp \ - -Dapi_id=17349 \ - -Dapi_hash=344583e45741c457fe1862106095a5eb \ - -Dbuild_defines=${GYP_DEFINES} \ - -Gconfig=Release \ - --depth=Telegram/gyp \ - --generator-output=../.. \ - -Goutput_dir=out \ - --format=cmake \ - Telegram/gyp/Telegram.gyp - - cd out/Release - - NUM=$((`wc -l < CMakeLists.txt` - 2)) - sed -i "$NUM r $archPatches/CMakeLists.inj" CMakeLists.txt - - export ASM=$(type -p gcc) - ''; - - installPhase = '' - install -Dm755 Telegram $out/bin/telegram-desktop - - mkdir -p $out/share/applications $out/share/kde4/services - install -m444 "$src/lib/xdg/telegramdesktop.desktop" "$out/share/applications/telegram-desktop.desktop" - sed "s,/usr/bin,$out/bin,g" $archPatches/tg.protocol > $out/share/kde4/services/tg.protocol - for icon_size in 16 32 48 64 128 256 512; do - install -Dm644 "../../../Telegram/Resources/art/icon''${icon_size}.png" "$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps/telegram.png" - done - ''; - - postFixup = '' - # This is necessary to run Telegram in a pure environment. - # We also use gappsWrapperArgs from wrapGAppsHook. - wrapProgram $out/bin/telegram-desktop \ - "''${gappsWrapperArgs[@]}" \ - --prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}" \ - --prefix PATH : ${xdg_utils}/bin \ - --set XDG_RUNTIME_DIR "XDG-RUNTIME-DIR" - sed -i $out/bin/telegram-desktop \ - -e "s,'XDG-RUNTIME-DIR',\"\''${XDG_RUNTIME_DIR:-/run/user/\$(id --user)}\"," - ''; - - meta = { - description = "Telegram Desktop messaging app " - + (if stable then "(stable version)" else "(pre-release)"); - license = licenses.gpl3; - platforms = platforms.linux; - homepage = https://desktop.telegram.org/; - maintainers = with maintainers; [ primeos abbradar garbas ]; - }; -} diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix deleted file mode 100644 index 3c9157081d3..00000000000 --- a/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ stdenv, fetchgit, bash, libconfig, libevent, openssl, - readline, zlib, lua5_2, python, pkgconfig, jansson -}: - -stdenv.mkDerivation rec { - name = "telegram-cli-2016-03-23"; - - src = fetchgit { - url = "https://github.com/vysheng/tg.git"; - sha256 = "07sss5cnw2ygd7mp8f5532lmj7qm6ywqf4cjaq5g13i8igzqzwzj"; - rev = "6547c0b21b977b327b3c5e8142963f4bc246187a"; - }; - - buildInputs = [ - libconfig libevent openssl readline zlib - lua5_2 python pkgconfig jansson - ]; - installPhase = '' - mkdir -p $out/bin - cp ./bin/telegram-cli $out/bin/telegram-wo-key - cp ./tg-server.pub $out/ - cat > $out/bin/telegram-cli < libpulseaudio != null; let inherit (stdenv.lib) concatStringsSep makeBinPath optional; - version = "2.7.162522.0121"; + version = "3.0.287250.0828"; srcs = { x86_64-linux = fetchurl { url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz"; - sha256 = "01i4g4kmawk3mclifh4bwcqpdnbvrz0sz49b6l33n0k5ysky20r1"; + sha256 = "0k4h43wydbcyx7b7gwxkmvbph8qc6kjpcypd7vwz8rph1l7kl1y1"; }; }; - qtDeps = [ - qtbase qtdeclarative qtlocation qtquickcontrols qtquickcontrols2 qtscript - qtwebchannel qtwebengine qtimageformats qtsvg qttools qtwayland - ]; + # Used for icons, appdata, and desktop file. + desktopIntegration = fetchFromGitHub { + owner = "flathub"; + repo = "us.zoom.Zoom"; + rev = "0d294e1fdd2a4ef4e05d414bc680511f24d835d7"; + sha256 = "0rm188844a10v8d6zgl2pnwsliwknawj09b02iabrvjw5w1lp6wl"; + }; - qtEnv = env "zoom-us-qt-${qtbase.version}" qtDeps; - -in stdenv.mkDerivation { - name = "zoom-us-${version}"; +in mkDerivation { + pname = "zoom-us"; + inherit version; src = srcs.${stdenv.hostPlatform.system}; - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ - dbus glib libGL libX11 libXfixes libuuid libxcb qtEnv libjpeg_turbo - ] ++ qtDeps; + dbus glib libGL libX11 libXfixes libuuid libxcb libjpeg_turbo + qtbase qtdeclarative qtlocation qtquickcontrols qtquickcontrols2 qtscript + qtwebchannel qtwebengine qtimageformats qtsvg qttools qtwayland + ]; runtimeDependencies = optional pulseaudioSupport libpulseaudio; @@ -60,32 +65,43 @@ in stdenv.mkDerivation { in '' runHook preInstall - packagePath=$out/share/zoom-us - mkdir -p $packagePath $out/bin + mkdir -p $out/{bin,share/zoom-us} - cp -ar ${files} $packagePath + cp -ar ${files} $out/share/zoom-us # TODO Patch this somehow; tries to dlopen './libturbojpeg.so' from cwd - ln -s $(readlink -e "${libjpeg_turbo.out}/lib/libturbojpeg.so") $packagePath/libturbojpeg.so - - ln -s ${qtEnv}/bin/qt.conf $packagePath - - makeWrapper $packagePath/zoom $out/bin/zoom-us \ - --prefix PATH : "${makeBinPath [ coreutils glib.dev pciutils procps qttools.dev utillinux ]}" \ - --run "cd $packagePath" + ln -s $(readlink -e "${libjpeg_turbo.out}/lib/libturbojpeg.so") $out/share/zoom-us/libturbojpeg.so runHook postInstall ''; - postInstall = (makeDesktopItem { - name = "zoom-us"; - exec = "$out/bin/zoom-us %U"; - icon = "$out/share/zoom-us/application-x-zoom.png"; - desktopName = "Zoom"; - genericName = "Video Conference"; - categories = "Network;Application;"; - mimeType = "x-scheme-handler/zoommtg;"; - }).buildCommand; + postInstall = '' + mkdir -p $out/share/{applications,appdata,icons} + + # Desktop File + cp ${desktopIntegration}/us.zoom.Zoom.desktop $out/share/applications + substituteInPlace $out/share/applications/us.zoom.Zoom.desktop \ + --replace "Exec=zoom" "Exec=$out/bin/zoom-us" + + # Appdata + cp ${desktopIntegration}/us.zoom.Zoom.appdata.xml $out/share/appdata + + # Icons + for icon_size in 64 96 128 256; do + path=$icon_size'x'$icon_size + icon=${desktopIntegration}/us.zoom.Zoom.$icon_size.png + + mkdir -p $out/share/icons/hicolor/$path/apps + cp $icon $out/share/icons/hicolor/$path/apps/us.zoom.Zoom.png + done + + ln -s $out/share/zoom-us/zoom $out/bin/zoom-us + ''; + + qtWrapperArgs = [ + ''--prefix PATH : ${makeBinPath [ coreutils glib.dev pciutils procps qttools.dev utillinux ]}'' + ''--prefix LD_PRELOAD : ${libv4l}/lib/libv4l/v4l2convert.so'' + ]; passthru.updateScript = ./update.sh; diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/update.sh b/pkgs/applications/networking/instant-messengers/zoom-us/update.sh index 21039d53da4..e0632042493 100755 --- a/pkgs/applications/networking/instant-messengers/zoom-us/update.sh +++ b/pkgs/applications/networking/instant-messengers/zoom-us/update.sh @@ -3,5 +3,15 @@ set -eu -o pipefail +oldVersion=$(nix-instantiate --eval -E "with import ./. {}; zoom-us.version or (builtins.parseDrvName zoom-us.name).version" | tr -d '"') 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" + +if [ ! "${oldVersion}" = "${version}" ]; then + update-source-version zoom-us "$version" + nixpkgs="$(git rev-parse --show-toplevel)" + default_nix="$nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix" + git add "${default_nix}" + git commit -m "zoom-us: ${oldVersion} -> ${version}" +else + echo "zoom-us is already up-to-date" +fi diff --git a/pkgs/applications/networking/insync/default.nix b/pkgs/applications/networking/insync/default.nix index 9c1aa8f86f6..3a2b32f0117 100644 --- a/pkgs/applications/networking/insync/default.nix +++ b/pkgs/applications/networking/insync/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, makeWrapper }: stdenv.mkDerivation rec { - name = "insync-${version}"; - version = "1.5.5.37367"; + pname = "insync"; + version = "1.5.7.37371"; src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "http://s.insynchq.com/builds/insync-portable_${version}_amd64.tar.bz2"; - sha256 = "1yz8l8xjr0pm30hvv4w59wzs569xzkpn8lv12pyl82r1l16h5zp3"; + sha256 = "1cm3q6y2crw6pcsvh21sbkmh1hin7xl4fyslc96nbyql8rxsky5n"; } else - throw "${name} is not supported on ${stdenv.hostPlatform.system}"; + throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}"; buildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/networking/ipfs-cluster/default.nix b/pkgs/applications/networking/ipfs-cluster/default.nix index deb76544eaa..426619908d6 100644 --- a/pkgs/applications/networking/ipfs-cluster/default.nix +++ b/pkgs/applications/networking/ipfs-cluster/default.nix @@ -1,16 +1,16 @@ { stdenv, buildGoPackage, fetchFromGitHub, fetchgx, gx-go }: buildGoPackage rec { - name = "ipfs-cluster-${version}"; - version = "0.7.0"; + pname = "ipfs-cluster"; + version = "0.9.0"; rev = "v${version}"; goPackagePath = "github.com/ipfs/ipfs-cluster"; extraSrcPaths = [ (fetchgx { - inherit name src; - sha256 = "19ljx4q9msrv5wwyd85l01l320lhwgma5z3b756ldgj9fs8p9ph6"; + inherit src;name = "${pname}-${version}"; + sha256 = "1k7xcirvi07p5g9gr9jcx5h39wk7jxfsyjrn5yraa8xdqhn6b6nx"; }) ]; @@ -18,7 +18,7 @@ buildGoPackage rec { owner = "ipfs"; repo = "ipfs-cluster"; inherit rev; - sha256 = "1zqy4zzi33z16fny1dnhqa8z7czrggvbxdxs750gxzbnd9vqzda1"; + sha256 = "1bxwcp0355f1ykjcidbxv218zp9d20nma7lnpn9xcjqc8vaq03kn"; }; nativeBuildInputs = [ gx-go ]; diff --git a/pkgs/applications/networking/ipfs-migrator/default.nix b/pkgs/applications/networking/ipfs-migrator/default.nix index f070c510937..39631bfc5c8 100644 --- a/pkgs/applications/networking/ipfs-migrator/default.nix +++ b/pkgs/applications/networking/ipfs-migrator/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "ipfs-migrator-${version}"; + pname = "ipfs-migrator"; version = "7"; goPackagePath = "github.com/ipfs/fs-repo-migrations"; diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix index 08b5ca077af..54943533b85 100644 --- a/pkgs/applications/networking/ipfs/default.nix +++ b/pkgs/applications/networking/ipfs/default.nix @@ -1,26 +1,21 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, fetchgx }: +{ stdenv, buildGoModule, fetchFromGitHub }: -buildGoPackage rec { - name = "ipfs-${version}"; - version = "0.4.18"; +buildGoModule rec { + pname = "ipfs"; + version = "0.4.21"; rev = "v${version}"; goPackagePath = "github.com/ipfs/go-ipfs"; - extraSrcPaths = [ - (fetchgx { - inherit name src; - sha256 = "05d5m6c2i2kl4rvb0hddyqbidn76ljr2zryi8v2r9i8dbi0164gm"; - }) - ]; - src = fetchFromGitHub { owner = "ipfs"; repo = "go-ipfs"; inherit rev; - sha256 = "0h4j18qpycfmmlhb9khvhbk8c1zqajflvw8gk3l8j7wxrxh5j2s6"; + sha256 = "0jlj89vjy4nw3x3j45r16y8bph5ss5lp907pjgqvad0naxbf99b0"; }; + modSha256 = "0d9rq0hig9jwv9jfajfyj2111arikqzdnyhf5aqkwahcblpx54iy"; + meta = with stdenv.lib; { description = "A global, versioned, peer-to-peer filesystem"; homepage = https://ipfs.io/; diff --git a/pkgs/applications/networking/ipget/default.nix b/pkgs/applications/networking/ipget/default.nix index 23c9d7df812..9f206a8f48f 100644 --- a/pkgs/applications/networking/ipget/default.nix +++ b/pkgs/applications/networking/ipget/default.nix @@ -1,26 +1,26 @@ { stdenv, buildGoPackage, fetchFromGitHub, fetchgx }: buildGoPackage rec { - name = "ipget-${version}"; - version = "0.2.5"; + pname = "ipget"; + version = "0.3.2"; rev = "v${version}"; goPackagePath = "github.com/ipfs/ipget"; - + extraSrcPaths = [ (fetchgx { - inherit name src; - sha256 = "1d4w8zl5mcppn3d4bl7qdkiqlf8gi3z2a62nygx17bqpa3da8cf3"; + inherit src;name = "${pname}-${version}"; + sha256 = "07l9hpkhk5phr95zp1l5wd3ii38bw91hy4dlw2rsfbzcsc8bq4s8"; }) ]; - + goDeps = ../../../tools/package-management/gx/deps.nix; src = fetchFromGitHub { owner = "ipfs"; repo = "ipget"; inherit rev; - sha256 = "0a8yxqhl469ipiznrgkp3yi1xz3xzcbpx60wabqppq8hccrdiybk"; + sha256 = "1ljf5ddvc1p5swmgn4m1ivfj74fykk56myk2r9c4grdjzksf4a15"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/iptraf-ng/default.nix b/pkgs/applications/networking/iptraf-ng/default.nix index 746d79805f5..cdece4eb644 100644 --- a/pkgs/applications/networking/iptraf-ng/default.nix +++ b/pkgs/applications/networking/iptraf-ng/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "1.1.4"; - name = "iptraf-ng-${version}"; + pname = "iptraf-ng"; src = fetchurl { - url = "https://fedorahosted.org/releases/i/p/iptraf-ng/${name}.tar.gz"; + url = "https://fedorahosted.org/releases/i/p/iptraf-ng/${pname}-${version}.tar.gz"; sha256 = "02gb8z9h2s6s1ybyikywz7jgb1mafdx88hijfasv3khcgkq0q53r"; }; diff --git a/pkgs/applications/networking/irc/bip/default.nix b/pkgs/applications/networking/irc/bip/default.nix index 7c40a4e12a6..0792aefe25f 100644 --- a/pkgs/applications/networking/irc/bip/default.nix +++ b/pkgs/applications/networking/irc/bip/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, fetchpatch, bison, flex, autoconf, automake, openssl }: stdenv.mkDerivation rec { - name = "bip-${version}"; + pname = "bip"; version = "0.8.9"; # fetch sources from debian, because the creator's website provides diff --git a/pkgs/applications/networking/irc/chatzilla/default.nix b/pkgs/applications/networking/irc/chatzilla/default.nix deleted file mode 100644 index 805b474e814..00000000000 --- a/pkgs/applications/networking/irc/chatzilla/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchurl, unzip, firefox-unwrapped, makeWrapper }: - -stdenv.mkDerivation rec { - name = "chatzilla-0.9.92"; - - src = fetchurl { - # Obtained from http://chatzilla.rdmsoft.com/xulrunner/. - url = "https://chatzilla.rdmsoft.com/xulrunner/download/${name}.en-US.xulapp"; - sha256 = "09asg7ixjrin46xd19ri71g4jdrgb1gg0pk0lwk0dlb1qjxyf1xy"; - }; - - buildInputs = [ unzip makeWrapper ]; - - buildCommand = '' - mkdir -p $out/libexec/chatzilla - unzip $src -d $out/libexec/chatzilla - - makeWrapper ${firefox-unwrapped}/bin/firefox $out/bin/chatzilla \ - --add-flags "-app $out/libexec/chatzilla/application.ini" - - sed -i $out/libexec/chatzilla/application.ini -e 's/.*MaxVersion.*/MaxVersion=99.*/' - ''; - - meta = { - homepage = http://chatzilla.hacksrus.com/; - description = "Stand-alone version of Chatzilla, an IRC client"; - maintainers = [ stdenv.lib.maintainers.eelco ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/applications/networking/irc/communi/default.nix b/pkgs/applications/networking/irc/communi/default.nix index 917de745d27..8278f90d321 100644 --- a/pkgs/applications/networking/irc/communi/default.nix +++ b/pkgs/applications/networking/irc/communi/default.nix @@ -1,7 +1,7 @@ { fetchgit, libcommuni, qtbase, qmake, stdenv }: stdenv.mkDerivation rec { - name = "communi-${version}"; + pname = "communi"; version = "3.5.0"; src = fetchgit { diff --git a/pkgs/applications/networking/irc/epic5/default.nix b/pkgs/applications/networking/irc/epic5/default.nix index 0b52515228b..a90446a87fa 100644 --- a/pkgs/applications/networking/irc/epic5/default.nix +++ b/pkgs/applications/networking/irc/epic5/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, openssl, ncurses, libiconv, tcl, coreutils, fetchpatch }: stdenv.mkDerivation rec { - name = "epic5-${version}"; + pname = "epic5"; version = "2.0.1"; src = fetchurl { - url = "http://ftp.epicsol.org/pub/epic/EPIC5-PRODUCTION/${name}.tar.xz"; + url = "http://ftp.epicsol.org/pub/epic/EPIC5-PRODUCTION/${pname}-${version}.tar.xz"; sha256 = "1ap73d5f4vccxjaaq249zh981z85106vvqmxfm4plvy76b40y9jm"; }; diff --git a/pkgs/applications/networking/irc/glowing-bear/default.nix b/pkgs/applications/networking/irc/glowing-bear/default.nix index 8c5d2ffa35e..8bdb23d50dd 100644 --- a/pkgs/applications/networking/irc/glowing-bear/default.nix +++ b/pkgs/applications/networking/irc/glowing-bear/default.nix @@ -1,7 +1,7 @@ { fetchFromGitHub, stdenv }: stdenv.mkDerivation rec { - name = "glowing-bear-${version}"; + pname = "glowing-bear"; version = "0.7.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/irc/hexchat/default.nix b/pkgs/applications/networking/irc/hexchat/default.nix index b9860fa4227..331be19abc4 100644 --- a/pkgs/applications/networking/irc/hexchat/default.nix +++ b/pkgs/applications/networking/irc/hexchat/default.nix @@ -1,49 +1,58 @@ -{ stdenv, fetchFromGitHub, pkgconfig, gtk2, lua, perl, python2 -, libtool, pciutils, dbus-glib, libcanberra-gtk2, libproxy -, libsexy, enchant, libnotify, openssl, intltool +{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, gtk2, lua, perl, python3 +, pciutils, dbus-glib, libcanberra-gtk2, libproxy +, libsexy, enchant2, libnotify, openssl, isocodes , desktop-file-utils, hicolor-icon-theme -, autoconf, automake, autoconf-archive +, meson, ninja }: stdenv.mkDerivation rec { - version = "2.12.4"; - name = "hexchat-${version}"; + pname = "hexchat"; + version = "2.14.2"; src = fetchFromGitHub { owner = "hexchat"; repo = "hexchat"; rev = "v${version}"; - sha256 = "1z8v7jg1mc2277k3jihnq4rixw1q27305aw6b6rpb1x7vpiy2zr3"; + sha256 = "1kz81xfis0bw2cfd6ndw32jdzdl5azk9ixqj4a3lginmlj6fs45a"; }; - nativeBuildInputs = [ - pkgconfig libtool intltool - autoconf autoconf-archive automake - ]; + nativeBuildInputs = [ meson ninja pkgconfig ]; buildInputs = [ - gtk2 lua perl python2 pciutils dbus-glib libcanberra-gtk2 libproxy + gtk2 lua perl python3 pciutils dbus-glib libcanberra-gtk2 libproxy libsexy libnotify openssl desktop-file-utils hicolor-icon-theme + isocodes ]; - enableParallelBuilding = true; + patches = [ + #https://github.com/hexchat/hexchat/issues/2237 + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/hexchat/raw/8a08a0c8a8da503b18f2fbb15194c5f3728a689a/f/0001-Python-plugin-Call-EndInterpreter-when-deinit-ing-th.patch"; + sha256 = "1199dj3wvjqj6h5vlm7lzhaax84j9ki6an8y8fs4rww27iq0lk8g"; + }) + ]; - #hexchat and heachat-text loads enchant spell checking library at run time and so it needs to have route to the path - patchPhase = '' - sed -i "s,libenchant.so.1,${enchant}/lib/libenchant.so.1,g" src/fe-gtk/sexy-spell-entry.c + #hexchat and hexchat-text loads enchant spell checking library at run time and so it needs to have route to the path + postPatch = '' + sed -i "s,libenchant-2.so.2,${enchant2}/lib/libenchant-2.so.2,g" src/fe-gtk/sexy-spell-entry.c + sed -i "/flag.startswith('-I')/i if flag.contains('no-such-path')\ncontinue\nendif" plugins/perl/meson.build + chmod +x meson_post_install.py + for f in meson_post_install.py \ + src/common/make-te.py \ + plugins/perl/generate_header.py \ + po/validate-textevent-translations + do + patchShebangs $f + done ''; - preConfigure = '' - ./autogen.sh - ''; - - configureFlags = [ "--enable-shm" "--enable-textfe" ]; + mesonFlags = [ "-Dwith-lua=lua" "-Dwith-text=true" ]; meta = with stdenv.lib; { description = "A popular and easy to use graphical IRC (chat) client"; homepage = https://hexchat.github.io/; license = licenses.gpl2; platforms = platforms.linux; - maintainers = with maintainers; [ romildo jgeerds ]; + maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/applications/networking/irc/irccloud/default.nix b/pkgs/applications/networking/irc/irccloud/default.nix new file mode 100644 index 00000000000..5648d027d9e --- /dev/null +++ b/pkgs/applications/networking/irc/irccloud/default.nix @@ -0,0 +1,38 @@ +{ appimageTools, fetchurl, lib }: + +let + pname = "irccloud"; + version = "0.13.0"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "https://github.com/irccloud/irccloud-desktop/releases/download/v${version}/IRCCloud-${version}-linux-x86_64.AppImage"; + sha256 = "0ff69m5jav2c90918avsr5wvik2gds3klij3dzhkb352fgrd1s0l"; + }; + + appimageContents = appimageTools.extractType2 { + inherit name src; + }; + +in appimageTools.wrapType2 rec { + inherit name src; + + extraPkgs = pkgs: with pkgs; [ at-spi2-core ]; + + extraInstallCommands = '' + mv $out/bin/${name} $out/bin/${pname} + install -m 444 -D ${appimageContents}/irccloud.desktop $out/share/applications/irccloud.desktop + install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/irccloud.png \ + $out/share/icons/hicolor/512x512/apps/irccloud.png + substituteInPlace $out/share/applications/irccloud.desktop \ + --replace 'Exec=AppRun' 'Exec=${pname}' + ''; + + meta = with lib; { + description = "A desktop client for IRCCloud"; + homepage = "https://www.irccloud.com"; + license = licenses.asl20; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ lightbulbjim ]; + }; +} diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix index 7802a898d4c..1751812d67e 100644 --- a/pkgs/applications/networking/irc/irssi/default.nix +++ b/pkgs/applications/networking/irc/irssi/default.nix @@ -1,21 +1,22 @@ -{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintl }: +{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintl, libgcrypt, libotr }: stdenv.mkDerivation rec { - version = "1.1.2"; - name = "irssi-${version}"; + pname = "irssi"; + version = "1.2.2"; src = fetchurl { - url = "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz"; - sha256 = "0jbhd4aad3bn61svnb2rwa4dwj8qyrb2dmzribi2hfn1f719wzfv"; + url = "https://github.com/irssi/irssi/releases/download/${version}/${pname}-${version}.tar.gz"; + sha256 = "0g2nxazn4lszmd6mf1s36x5ablk4999g1qx7byrnvgnjsihjh62k"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ ncurses glib openssl perl libintl ]; + buildInputs = [ ncurses glib openssl perl libintl libgcrypt libotr ]; configureFlags = [ "--with-proxy" "--with-bot" "--with-perl=yes" + "--with-otr=yes" "--enable-true-color" ]; diff --git a/pkgs/applications/networking/irc/irssi/otr/default.nix b/pkgs/applications/networking/irc/irssi/otr/default.nix deleted file mode 100644 index add4fa632c9..00000000000 --- a/pkgs/applications/networking/irc/irssi/otr/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ stdenv, fetchFromGitHub, libotr, automake, autoconf, libtool, glib, pkgconfig, irssi }: - -with stdenv.lib; -stdenv.mkDerivation rec { - name = "irssi-otr-${version}"; - version = "1.0.2"; - - src = fetchFromGitHub { - owner = "cryptodotis"; - repo = "irssi-otr"; - rev = "v${version}"; - sha256 = "0c5wb2lg9q0i1jdhpyb5vpvxaa2xx00gvp3gdk93ix9v68gq1ppp"; - }; - - preConfigure = "sh ./bootstrap"; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libotr automake autoconf libtool glib irssi ]; - - NIX_CFLAGS_COMPILE="-I ${irssi}/include/irssi -I ${irssi}/include/irssi/src/core -I ${irssi}/include/irssi/src/"; - - meta = { - homepage = https://github.com/cryptodotis/irssi-otr; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/applications/networking/irc/konversation/default.nix b/pkgs/applications/networking/irc/konversation/default.nix index ccee78a64da..6a58241b89a 100644 --- a/pkgs/applications/networking/irc/konversation/default.nix +++ b/pkgs/applications/networking/irc/konversation/default.nix @@ -39,6 +39,14 @@ in mkDerivation rec { sha256 = "0h098yhlp36ls6pdvs2r93ig8dv4fys62m0h6wxccprb0qrpbgv0"; }; + patches = [ + # Delete this patch for konversation > 1.7.5 + (fetchpatch { + url = "https://cgit.kde.org/konversation.git/patch/?id=4d0036617becc26a76fd021138c98aceec4c7b53"; + sha256 = "17hdj6zyln3n93b71by26mrwbgyh4k052ck5iw1drysx5dyd5l6y"; + }) + ]; + buildInputs = [ kbookmarks karchive diff --git a/pkgs/applications/networking/irc/kvirc/default.nix b/pkgs/applications/networking/irc/kvirc/default.nix new file mode 100644 index 00000000000..bd38855109a --- /dev/null +++ b/pkgs/applications/networking/irc/kvirc/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub +, qtbase, qtmultimedia, qtsvg, qtx11extras +, pkgconfig, cmake, gettext +}: + +stdenv.mkDerivation rec { + pname = "kvirc"; + version = "5.0.0"; + + src = fetchFromGitHub { + owner = "kvirc"; + repo = "KVIrc"; + rev = version; + sha256 = "1dq7v6djw0gz56rvghs4r5gfhzx4sfg60rnv6b9zprw0vlvcxbn4"; + }; + + buildInputs = [ + qtbase qtmultimedia qtsvg qtx11extras + ]; + + nativeBuildInputs = [ + pkgconfig cmake gettext + ]; + + meta = with stdenv.lib; { + description = "Advanced IRC Client"; + homepage = "http://www.kvirc.net/"; + license = licenses.gpl2; + maintainers = [ maintainers.suhr ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix index 75645fdb33a..6aacdde544b 100644 --- a/pkgs/applications/networking/irc/quassel/default.nix +++ b/pkgs/applications/networking/irc/quassel/default.nix @@ -33,13 +33,13 @@ let in with stdenv; mkDerivation rec { name = "quassel${tag}-${version}"; - version = "0.13.0"; + version = "0.13.1"; src = fetchFromGitHub { owner = "quassel"; repo = "quassel"; rev = version; - sha256 = "1jnmc0xky91h81xjjgwg5zylfns0f1pvjy2rv39wlah890k143zr"; + sha256 = "0z8p7iv90yrrjbh31cyxhpr6hsynfmi23rlayn7p2f6ki5az7yc3"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/networking/irc/sic/default.nix b/pkgs/applications/networking/irc/sic/default.nix index cf72bef62b1..b081a6b3672 100644 --- a/pkgs/applications/networking/irc/sic/default.nix +++ b/pkgs/applications/networking/irc/sic/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "sic-${version}"; + pname = "sic"; version = "1.2"; makeFlags = "PREFIX=$(out)"; diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix index d52d8b6b31e..3f8ad762218 100644 --- a/pkgs/applications/networking/irc/weechat/default.nix +++ b/pkgs/applications/networking/irc/weechat/default.nix @@ -5,7 +5,7 @@ , asciidoctor # manpages , guileSupport ? true, guile , luaSupport ? true, lua5 -, perlSupport ? true, perl, perlPackages +, perlSupport ? true, perl , pythonSupport ? true, pythonPackages , rubySupport ? true, ruby , tclSupport ? true, tcl @@ -27,12 +27,12 @@ let in assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins; stdenv.mkDerivation rec { - version = "2.3"; - name = "weechat-${version}"; + version = "2.5"; + pname = "weechat"; src = fetchurl { url = "https://weechat.org/files/src/weechat-${version}.tar.bz2"; - sha256 = "0mi4pfnyny0vqc35r0scn6yy21y790a5iwq8ms7kch7b7z11jn9w"; + sha256 = "14giv8j1phmpg3i9whx45nmskan501lwcq352ps9z52rkja2qxsc"; }; outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins; @@ -76,7 +76,7 @@ let on https://nixos.org/nixpkgs/manual/#sec-weechat . ''; license = stdenv.lib.licenses.gpl3; - maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny lheckemann ma27 ]; + maintainers = with stdenv.lib.maintainers; [ lovek323 the-kenny lheckemann ma27 ]; platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/applications/networking/irc/weechat/scripts/default.nix b/pkgs/applications/networking/irc/weechat/scripts/default.nix index 439e0e11614..cd9ecbf4337 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/default.nix @@ -6,7 +6,7 @@ }; weechat-matrix-bridge = callPackage ./weechat-matrix-bridge { - inherit (luaPackages) cjson; + inherit (luaPackages) cjson luaffi; }; wee-slack = callPackage ./wee-slack { diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix index 280e447cd0a..49616671507 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix @@ -1,14 +1,14 @@ { stdenv, substituteAll, buildEnv, fetchFromGitHub, pythonPackages }: stdenv.mkDerivation rec { - name = "wee-slack-${version}"; - version = "2.2.0"; + pname = "wee-slack"; + version = "2.3.0"; src = fetchFromGitHub { repo = "wee-slack"; owner = "wee-slack"; rev = "v${version}"; - sha256 = "1iy70q630cgs7fvk2151fq9519dwxrlqq862sbrwypzr6na6yqpg"; + sha256 = "0544j6vqbvb2xshq7ma2a3apx2vvpgfg3jh5prg265wnh4991nsw"; }; patches = [ diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/libpath.patch b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/libpath.patch index 8887e075f13..af2dd36b41c 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/libpath.patch +++ b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/libpath.patch @@ -1,13 +1,13 @@ diff --git a/wee_slack.py b/wee_slack.py -index c5c7bc6..23fef2f 100644 +index dbe6446..d1b7546 100644 --- a/wee_slack.py +++ b/wee_slack.py -@@ -25,6 +25,8 @@ try: - except: - from StringIO import StringIO +@@ -25,6 +25,8 @@ import random + import socket + import string +sys.path.append('@env@') + - from websocket import create_connection, WebSocketConnectionClosedException + from websocket import ABNF, create_connection, WebSocketConnectionClosedException - # hack to make tests possible.. better way? + try: diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-autosort/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-autosort/default.nix index 95ae71cc70c..17e07f91c03 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/weechat-autosort/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-autosort/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "weechat-autosort-${version}"; - version = "unstable-2018-01-11"; + pname = "weechat-autosort"; + version = "3.4"; src = fetchFromGitHub { owner = "de-vri-es"; - repo = "weechat-autosort"; - rev = "35ccd6335afd78ae8a6e050ed971d54c8524e37e"; - sha256 = "1rgws960xys65cd1m529csalcgny87h7fkiwjv1yj9rpqp088z26"; + repo = pname; + rev = version; + sha256 = "1sbr6ga9krrfgqznvsxjd3hdxzkvslh41ls5xrj7l2p4ws4gwlkn"; }; passthru.scripts = [ "autosort.py" ]; diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix index 137a32f9364..ea5052f37a3 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix @@ -31,9 +31,9 @@ stdenv.mkDerivation { mkdir -p $out/{share,lib} cp {matrix.lua,olm.lua} $out/share - cp ${cjson}/lib/lua/5.2/cjson.so $out/lib/cjson.so + cp ${cjson}/lib/lua/${cjson.lua.luaversion}/cjson.so $out/lib/cjson.so cp ${olm}/lib/libolm.so $out/lib/libolm.so - cp ${luaffi}/lib/ffi.so $out/lib/ffi.so + cp ${luaffi}/lib/lua/${luaffi.lua.luaversion}/ffi.so $out/lib/ffi.so ''; meta = with stdenv.lib; { @@ -42,5 +42,9 @@ stdenv.mkDerivation { maintainers = with maintainers; [ ma27 ]; license = licenses.mit; # see https://github.com/torhve/weechat-matrix-protocol-script/blob/0052e7275ae149dc5241226391c9b1889ecc3c6b/matrix.lua#L53 platforms = platforms.unix; + + # As of 2019-06-30, all of the dependencies are available on macOS but the + # package itself does not build. + broken = stdenv.isDarwin; }; } diff --git a/pkgs/applications/networking/irc/weechat/wrapper.nix b/pkgs/applications/networking/irc/weechat/wrapper.nix index faf069cebf1..e6fa95488e1 100644 --- a/pkgs/applications/networking/irc/weechat/wrapper.nix +++ b/pkgs/applications/networking/irc/weechat/wrapper.nix @@ -1,12 +1,13 @@ -{ stdenv, lib, runCommand, writeScriptBin, buildEnv -, pythonPackages, perlPackages +{ lib, runCommand, writeScriptBin, buildEnv +, pythonPackages, perlPackages, runtimeShell }: weechat: let wrapper = { - configure ? { availablePlugins, ... }: { plugins = builtins.attrValues availablePlugins; } + installManPages ? true + , configure ? { availablePlugins, ... }: { plugins = builtins.attrValues availablePlugins; } }: let @@ -14,8 +15,10 @@ let availablePlugins = let simplePlugin = name: {pluginFile = "${weechat.${name}}/lib/weechat/plugins/${name}.so";}; in rec { - python = { - pluginFile = "${weechat.python}/lib/weechat/plugins/python.so"; + python = (simplePlugin "python") // { + extraEnv = '' + export PATH="${pythonPackages.python}/bin:$PATH" + ''; withPackages = pkgsFun: (python // { extraEnv = '' export PYTHONHOME="${pythonPackages.python.withPackages pkgsFun}" @@ -53,26 +56,34 @@ let init = let init = builtins.replaceStrings [ "\n" ] [ ";" ] (config.init or ""); - mkScript = drv: lib.flip map drv.scripts (script: "/script load ${drv}/share/${script}"); + mkScript = drv: lib.forEach drv.scripts (script: "/script load ${drv}/share/${script}"); scripts = builtins.concatStringsSep ";" (lib.foldl (scripts: drv: scripts ++ mkScript drv) [ ] (config.scripts or [])); in "${scripts};${init}"; mkWeechat = bin: (writeScriptBin bin '' - #!${stdenv.shell} + #!${runtimeShell} export WEECHAT_EXTRA_LIBDIR=${pluginsDir} ${lib.concatMapStringsSep "\n" (p: lib.optionalString (p ? extraEnv) p.extraEnv) plugins} exec ${weechat}/bin/${bin} "$@" --run-command ${lib.escapeShellArg init} '') // { - inherit (weechat) name; + inherit (weechat) name man; unwrapped = weechat; + outputs = [ "out" "man" ]; }; in buildEnv { name = "weechat-bin-env-${weechat.version}"; + extraOutputsToInstall = lib.optionals installManPages [ "man" ]; paths = [ (mkWeechat "weechat") (mkWeechat "weechat-headless") + (runCommand "weechat-out-except-bin" { } '' + mkdir $out + ln -sf ${weechat}/include $out/include + ln -sf ${weechat}/lib $out/lib + ln -sf ${weechat}/share $out/share + '') ]; meta = builtins.removeAttrs weechat.meta [ "outputsToInstall" ]; }; diff --git a/pkgs/applications/networking/irc/wraith/default.nix b/pkgs/applications/networking/irc/wraith/default.nix index add52d85d8b..6d9acdb68e5 100644 --- a/pkgs/applications/networking/irc/wraith/default.nix +++ b/pkgs/applications/networking/irc/wraith/default.nix @@ -4,7 +4,7 @@ with stdenv; with stdenv.lib; mkDerivation rec { - name = "wraith-${version}"; + pname = "wraith"; version = "1.4.7"; src = fetchurl { url = "mirror://sourceforge/wraithbotpack/wraith-v${version}.tar.gz"; diff --git a/pkgs/applications/networking/jmeter/default.nix b/pkgs/applications/networking/jmeter/default.nix index 2019d9930ef..3f626a6ac48 100644 --- a/pkgs/applications/networking/jmeter/default.nix +++ b/pkgs/applications/networking/jmeter/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, jre, makeWrapper, coreutils }: stdenv.mkDerivation rec { - name = "jmeter-${version}"; - version = "4.0"; + pname = "jmeter"; + version = "5.1.1"; src = fetchurl { - url = "https://archive.apache.org/dist/jmeter/binaries/apache-${name}.tgz"; - sha256 = "1dvngvi6j8qb6nmf5a3gpi5wxck4xisj41qkrj8sjwb1f8jq6nw4"; + url = "https://archive.apache.org/dist/jmeter/binaries/apache-${pname}-${version}.tgz"; + sha256 = "1bmlxnlcias781mwf3wzpd4935awswbq3w8ijck65bsaw07m2kc4"; }; nativeBuildInputs = [ makeWrapper ]; @@ -53,7 +53,7 @@ stdenv.mkDerivation rec { Applications but has since expanded to other test functions. ''; license = licenses.asl20; - maintainers = [ maintainers.garbas ]; + maintainers = [ ]; priority = 1; platforms = platforms.unix; }; diff --git a/pkgs/applications/networking/jnetmap/default.nix b/pkgs/applications/networking/jnetmap/default.nix index af94db23c0a..e2a8a2d56bd 100644 --- a/pkgs/applications/networking/jnetmap/default.nix +++ b/pkgs/applications/networking/jnetmap/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchurl, jre, makeWrapper }: stdenv.mkDerivation rec { - name = "jnetmap-${version}"; + pname = "jnetmap"; version = "0.5.4"; - + src = fetchurl { url = "mirror://sourceforge/project/jnetmap/jNetMap%20${version}/jNetMap-${version}.jar"; sha256 = "0nxsfa600jhazwbabxmr9j37mhwysp0fyrvczhv3f1smiy8rjanl"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { buildInputs = [ jre makeWrapper ]; - unpackPhase = ":"; + dontUnpack = true; installPhase = '' mkdir -p "$out/bin" diff --git a/pkgs/applications/networking/libcoap/default.nix b/pkgs/applications/networking/libcoap/default.nix new file mode 100644 index 00000000000..d3a3dd6e29a --- /dev/null +++ b/pkgs/applications/networking/libcoap/default.nix @@ -0,0 +1,31 @@ +{ fetchFromGitHub, automake, autoconf, which, pkgconfig, libtool, stdenv }: +stdenv.mkDerivation rec { + pname = "libcoap"; + version = "4.2.0"; + src = fetchFromGitHub { + repo = "libcoap"; + owner = "obgm"; + rev = "v${version}"; + fetchSubmodules = true; + sha256 = "0mmvkq72i4rda6b7g93qrwg2nwh2rvkq4xw70yppj51hsdrnpfl7"; + }; + nativeBuildInputs = [ + automake + autoconf + which + libtool + pkgconfig + ]; + preConfigure = "./autogen.sh"; + configureFlags = [ + "--disable-documentation" + "--disable-shared" + ]; + meta = with stdenv.lib; { + homepage = "https://github.com/obgm/libcoap"; + description = "A CoAP (RFC 7252) implementation in C"; + platforms = platforms.linux; + license = licenses.bsd2; + maintainers = [ maintainers.kmein ]; + }; +} diff --git a/pkgs/applications/networking/linssid/default.nix b/pkgs/applications/networking/linssid/default.nix index 0139a3f3a93..daddf6adf7e 100644 --- a/pkgs/applications/networking/linssid/default.nix +++ b/pkgs/applications/networking/linssid/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchurl, qtbase, qtsvg, qmake, pkgconfig, boost, wirelesstools, iw, qwt }: +{ stdenv, fetchurl, qtbase, qtsvg, qmake, pkgconfig, boost, wirelesstools, iw, qwt, wrapQtAppsHook }: stdenv.mkDerivation rec { - name = "linssid-${version}"; + pname = "linssid"; version = "2.7"; src = fetchurl { @@ -9,25 +9,26 @@ stdenv.mkDerivation rec { sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl"; }; - nativeBuildInputs = [ pkgconfig qmake ]; + nativeBuildInputs = [ pkgconfig qmake wrapQtAppsHook ]; buildInputs = [ qtbase qtsvg boost qwt ]; patches = [ ./0001-unbundled-qwt.patch ]; postPatch = '' + sed -e "s|/usr/include/qt5.*$|& ${qwt}/include|" -i linssid-app/linssid-app.pro sed -e "s|/usr/include/|/nonexistent/|g" -i linssid-app/*.pro sed -e 's|^LIBS .*= .*libboost_regex.a|LIBS += -lboost_regex|' \ -e "s|/usr|$out|g" \ -i linssid-app/linssid-app.pro linssid-app/linssid.desktop sed -e "s|\.\./\.\./\.\./\.\./usr|$out|g" -i linssid-app/*.ui - sed -e "s|iwlist|${wirelesstools}/sbin/iwlist|g" -i linssid-app/Getter.cpp - sed -e "s|iw dev|${iw}/sbin/iw dev|g" -i linssid-app/MainForm.cpp - # Remove bundled qwt rm -fr qwt-lib ''; + qtWrapperArgs = + [ ''--prefix PATH : ${stdenv.lib.makeBinPath [ wirelesstools iw ]}'' ]; + meta = with stdenv.lib; { description = "Graphical wireless scanning for Linux"; homepage = https://sourceforge.net/projects/linssid/; diff --git a/pkgs/applications/networking/maestral/default.nix b/pkgs/applications/networking/maestral/default.nix new file mode 100644 index 00000000000..bfacac2eaf4 --- /dev/null +++ b/pkgs/applications/networking/maestral/default.nix @@ -0,0 +1,38 @@ +{ lib, python3Packages, fetchFromGitHub +, withGui ? false, wrapQtAppsHook ? null }: + +python3Packages.buildPythonApplication rec { + pname = "maestral${lib.optionalString withGui "-gui"}"; + version = "0.2.6"; + + src = fetchFromGitHub { + owner = "SamSchott"; + repo = "maestral-dropbox"; + rev = "v${version}"; + sha256 = "1nfjm58f6hnqbx9xnz2h929s2175ka1yf5jjlk4i60v0wppnrrdf"; + }; + + disabled = python3Packages.pythonOlder "3.6"; + + propagatedBuildInputs = (with python3Packages; [ + blinker click dropbox keyring keyrings-alt requests u-msgpack-python watchdog + ] ++ lib.optional withGui pyqt5); + + nativeBuildInputs = lib.optional withGui wrapQtAppsHook; + + postInstall = lib.optionalString withGui '' + makeQtWrapper $out/bin/maestral $out/bin/maestral-gui \ + --add-flags gui + ''; + + # no tests + doCheck = false; + + meta = with lib; { + description = "Open-source Dropbox client for macOS and Linux"; + license = licenses.mit; + maintainers = with maintainers; [ peterhoeg ]; + platforms = platforms.unix; + inherit (src.meta) homepage; + }; +} diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix new file mode 100644 index 00000000000..b94ce269566 --- /dev/null +++ b/pkgs/applications/networking/mailreaders/aerc/default.nix @@ -0,0 +1,56 @@ +{ stdenv, buildGoModule, fetchurl +, go, ncurses, scdoc +, python3, perl, w3m, dante +}: + +buildGoModule rec { + pname = "aerc"; + version = "0.2.1"; + + src = fetchurl { + url = "https://git.sr.ht/~sircmpwn/aerc/archive/${version}.tar.gz"; + sha256 = "1ky1nl5b54lf5jnac2kb5404fplwnwypjplas8imdlsf517fw32n"; + }; + + nativeBuildInputs = [ + go + scdoc + python3.pkgs.wrapPython + ]; + + pythonPath = [ + python3.pkgs.colorama + ]; + + buildInputs = [ python3 perl ]; + + buildPhase = " + runHook preBuild + # we use make instead of go build + runHook postBuild + "; + + installPhase = '' + runHook preInstall + make PREFIX=$out install + wrapPythonProgramsIn $out/share/aerc/filters "$out $pythonPath" + runHook postInstall + ''; + + postFixup = '' + wrapProgram $out/bin/aerc --prefix PATH ":" \ + "$out/share/aerc/filters:${stdenv.lib.makeBinPath [ ncurses.dev ]}" + wrapProgram $out/share/aerc/filters/html --prefix PATH ":" \ + ${stdenv.lib.makeBinPath [ w3m dante ]} + ''; + + modSha256 = "0fc9m1qb8innypc8cxzbqyrfkawawyaqq3gqy7lqwmyh32f300jh"; + + meta = with stdenv.lib; { + description = "aerc is an email client for your terminal"; + homepage = https://aerc-mail.org/; + maintainers = with maintainers; [ tadeokondrak ]; + license = licenses.mit; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/mailreaders/afew/default.nix b/pkgs/applications/networking/mailreaders/afew/default.nix index bdf39de0651..cd512e77613 100644 --- a/pkgs/applications/networking/mailreaders/afew/default.nix +++ b/pkgs/applications/networking/mailreaders/afew/default.nix @@ -2,11 +2,11 @@ pythonPackages.buildPythonApplication rec { pname = "afew"; - version = "1.3.0"; + version = "2.0.0"; src = pythonPackages.fetchPypi { inherit pname version; - sha256 = "0105glmlkpkjqbz350dxxasvlfx9dk0him9vwbl86andzi106ygz"; + sha256 = "0j60501nm242idf2ig0h7p6wrg58n5v2p6zfym56v9pbvnbmns0s"; }; nativeBuildInputs = with pythonPackages; [ sphinx setuptools_scm ]; @@ -15,24 +15,27 @@ pythonPackages.buildPythonApplication rec { pythonPackages.notmuch chardet dkimpy ] ++ stdenv.lib.optional (!pythonPackages.isPy3k) subprocess32; - postBuild = '' - make -C docs man - ''; - - postInstall = '' - mandir="$out/share/man/man1" - mkdir -p "$mandir" - cp docs/build/man/* "$mandir" - ''; - makeWrapperArgs = [ ''--prefix PATH ':' "${notmuch}/bin"'' ]; + outputs = [ "out" "doc" ]; + + postBuild = '' + python setup.py build_sphinx -b html,man + ''; + + postInstall = '' + install -D -v -t $out/share/man/man1 build/sphinx/man/* + mkdir -p $out/share/doc/afew + cp -R build/sphinx/html/* $out/share/doc/afew + ''; + + meta = with stdenv.lib; { homepage = https://github.com/afewmail/afew; description = "An initial tagging script for notmuch mail"; license = licenses.isc; - maintainers = with maintainers; [ garbas andir flokli ]; + maintainers = with maintainers; [ andir flokli ]; }; } diff --git a/pkgs/applications/networking/mailreaders/alpine/default.nix b/pkgs/applications/networking/mailreaders/alpine/default.nix index bb62014c77a..492cd640d87 100644 --- a/pkgs/applications/networking/mailreaders/alpine/default.nix +++ b/pkgs/applications/networking/mailreaders/alpine/default.nix @@ -2,13 +2,12 @@ , openldap }: -# NOTE: Please check if any changes here are applicable to ../realpine/ as well stdenv.mkDerivation rec { - name = "alpine-${version}"; + pname = "alpine"; version = "2.21"; src = fetchurl { - url = "http://alpine.freeiz.com/alpine/release/src/${name}.tar.xz"; + url = "http://alpine.freeiz.com/alpine/release/src/${pname}-${version}.tar.xz"; sha256 = "0f3llxrmaxw7w9w6aixh752md3cdc91mwfmbarkm8s413f4bcc30"; }; diff --git a/pkgs/applications/networking/mailreaders/astroid/default.nix b/pkgs/applications/networking/mailreaders/astroid/default.nix index 006684ecc10..23bed01907e 100644 --- a/pkgs/applications/networking/mailreaders/astroid/default.nix +++ b/pkgs/applications/networking/mailreaders/astroid/default.nix @@ -1,6 +1,7 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, gnome3, gmime3, webkitgtk , libsass, notmuch, boost, wrapGAppsHook, glib-networking, protobuf, vim_configurable -, makeWrapper, python3, python3Packages +, gtkmm3, libpeas, gsettings-desktop-schemas +, python3, python3Packages , vim ? vim_configurable.override { features = "normal"; gui = "auto"; @@ -9,22 +10,24 @@ }: stdenv.mkDerivation rec { - name = "astroid-${version}"; - version = "0.14"; + pname = "astroid"; + version = "0.15"; src = fetchFromGitHub { owner = "astroidmail"; repo = "astroid"; rev = "v${version}"; - sha256 = "1wkv1icsx3g3gq485dnvcdhr9srrjgz4ws1i1krcw9n61bj7gxh8"; + sha256 = "11cxbva9ni98gii59xmbxh4c6idcg3mg0pgdsp1c3j0yg7ix0lj3"; }; nativeBuildInputs = [ cmake ronn pkgconfig wrapGAppsHook ]; - buildInputs = [ gnome3.gtkmm gmime3 webkitgtk libsass gnome3.libpeas - python3 python3Packages.pygobject3 - notmuch boost gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme - glib-networking protobuf ] ++ (if vim == null then [] else [ vim ]); + buildInputs = [ + gtkmm3 gmime3 webkitgtk libsass libpeas + python3 python3Packages.pygobject3 + notmuch boost gsettings-desktop-schemas gnome3.adwaita-icon-theme + glib-networking protobuf + ] ++ (if vim == null then [] else [ vim ]); postPatch = '' sed -i "s~gvim ~${vim}/bin/vim -g ~g" src/config.cc diff --git a/pkgs/applications/networking/mailreaders/balsa/default.nix b/pkgs/applications/networking/mailreaders/balsa/default.nix index f7f34a67183..15f707e06a2 100644 --- a/pkgs/applications/networking/mailreaders/balsa/default.nix +++ b/pkgs/applications/networking/mailreaders/balsa/default.nix @@ -5,12 +5,12 @@ }: stdenv.mkDerivation rec { - name = "balsa-${version}"; - version = "2.5.6"; + pname = "balsa"; + version = "2.5.7"; src = fetchurl { - url = "https://pawsa.fedorapeople.org/balsa/${name}.tar.bz2"; - sha256 = "17k6wcsl8gki7cskr3hhmfj6n54rha8ca3b6fzd8blsl5shsankx"; + url = "https://pawsa.fedorapeople.org/balsa/${pname}-${version}.tar.bz2"; + sha256 = "0yfqhfpwm1qnwmbpr6dfn2f5w8a8xxq51pn8ypgg0fw973l1c1nx"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix index 34361e1dab9..d7df94f7e67 100644 --- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix +++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix @@ -2,7 +2,7 @@ , curl, dbus, dbus-glib, enchant, gtk2, gnutls, gnupg, gpgme, hicolor-icon-theme , libarchive, libcanberra-gtk2, libetpan, libnotify, libsoup, libxml2, networkmanager , openldap, perl, pkgconfig, poppler, python, shared-mime-info, webkitgtk24x-gtk2 -, glib-networking, gsettings-desktop-schemas, libSM, libytnef +, glib-networking, gsettings-desktop-schemas, libSM, libytnef, libical # Build options # TODO: A flag to build the manual. # TODO: Plugins that complain about their missing dependencies, even when @@ -30,12 +30,12 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "claws-mail-${version}"; - version = "3.17.3"; + pname = "claws-mail"; + version = "3.17.4"; src = fetchurl { url = "http://www.claws-mail.org/download.php?file=releases/claws-mail-${version}.tar.xz"; - sha256 = "1wnj6c9cbmhphs2l6wfvndkk2g08rmxw0sl2c8k1k008dxd1ykjh"; + sha256 = "00mfhaac16sv67rwiq98hr4nl5zmd1h2afswwwksdcsi3q9x23jr"; }; outputs = [ "out" "dev" ]; @@ -69,7 +69,8 @@ stdenv.mkDerivation rec { ++ optional enableNetworkManager networkmanager ++ optional enableLdap openldap ++ optional enablePluginPdf poppler - ++ optional enablePluginFancy webkitgtk24x-gtk2; + ++ optional enablePluginFancy webkitgtk24x-gtk2 + ++ optional enablePluginVcalendar libical; configureFlags = optional (!enableLdap) "--disable-ldap" diff --git a/pkgs/applications/networking/mailreaders/imapfilter.nix b/pkgs/applications/networking/mailreaders/imapfilter.nix index e5a919af2e6..78b1aad03fb 100644 --- a/pkgs/applications/networking/mailreaders/imapfilter.nix +++ b/pkgs/applications/networking/mailreaders/imapfilter.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, openssl, lua, pcre }: stdenv.mkDerivation rec { - name = "imapfilter-${version}"; + pname = "imapfilter"; version = "2.6.12"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/mailreaders/inboxer/default.nix b/pkgs/applications/networking/mailreaders/inboxer/default.nix index 72b9ce09d76..189ac1e6aae 100644 --- a/pkgs/applications/networking/mailreaders/inboxer/default.nix +++ b/pkgs/applications/networking/mailreaders/inboxer/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchurl, binutils, patchelf, makeWrapper -, expat, xorg, gdk_pixbuf, glib, gnome2, cairo, atk, freetype +, expat, xorg, gdk-pixbuf, glib, gnome2, cairo, atk, freetype , fontconfig, dbus, nss, nspr, gtk2-x11, alsaLib, cups, libpulseaudio, udev }: stdenv.mkDerivation rec { - name = "inboxer-${version}"; + pname = "inboxer"; version = "1.2.1"; meta = with stdenv.lib; { @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { xorg.libXtst xorg.libXScrnSaver xorg.libxcb - gdk_pixbuf + gdk-pixbuf glib gnome2.pango gnome2.GConf diff --git a/pkgs/applications/networking/mailreaders/lumail/default.nix b/pkgs/applications/networking/mailreaders/lumail/default.nix index 79deab46912..0a670b2b9a6 100644 --- a/pkgs/applications/networking/mailreaders/lumail/default.nix +++ b/pkgs/applications/networking/mailreaders/lumail/default.nix @@ -10,7 +10,7 @@ let alternativeConfig = builtins.toFile "lumail2.lua" (builtins.readFile alternativeGlobalConfigFilePath); - globalConfig = if isNull alternativeGlobalConfigFilePath then '' + globalConfig = if alternativeGlobalConfigFilePath == null then '' mkdir -p $out/etc/lumail2 cp global.config.lua $out/etc/lumail2.lua for n in ./lib/*.lua; do @@ -25,7 +25,8 @@ let luaCPath = getPath "so"; in stdenv.mkDerivation { - name = "lumail-${version}"; + pname = "lumail"; + inherit version; src = fetchurl { url = "https://lumail.org/download/lumail-${version}.tar.gz"; diff --git a/pkgs/applications/networking/mailreaders/mailcheck/default.nix b/pkgs/applications/networking/mailreaders/mailcheck/default.nix index 05e78485655..ffa3e92d390 100644 --- a/pkgs/applications/networking/mailreaders/mailcheck/default.nix +++ b/pkgs/applications/networking/mailreaders/mailcheck/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "mailcheck-${version}"; + pname = "mailcheck"; version = "1.91.2"; patches = [ ./mailcheck-Makefile.patch ]; diff --git a/pkgs/applications/networking/mailreaders/mailnag/default.nix b/pkgs/applications/networking/mailreaders/mailnag/default.nix index 2b62db069bc..4cbaee4488b 100644 --- a/pkgs/applications/networking/mailreaders/mailnag/default.nix +++ b/pkgs/applications/networking/mailreaders/mailnag/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, gettext, gtk3, pythonPackages -, gdk_pixbuf, libnotify, gst_all_1 +, gdk-pixbuf, libnotify, gst_all_1 , libgnome-keyring3 , wrapGAppsHook, gnome3 # otherwise passwords are stored unencrypted @@ -9,22 +9,23 @@ let inherit (pythonPackages) python; in pythonPackages.buildPythonApplication rec { - name = "mailnag-${version}"; - version = "1.2.1"; + pname = "mailnag"; + version = "1.3.0"; src = fetchurl { url = "https://github.com/pulb/mailnag/archive/v${version}.tar.gz"; - sha256 = "ec7ac027d93bc7d88fc270858f5a181453a6ff07f43cab20563d185818801fee"; + sha256 = "0cp5pad6jzd5c14pddbi9ap5bi78wjhk1x2p0gbblmvmcasw309s"; }; buildInputs = [ - gettext gtk3 gdk_pixbuf libnotify gst_all_1.gstreamer + gtk3 gdk-pixbuf libnotify gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad - gnome3.defaultIconTheme + gnome3.adwaita-icon-theme ] ++ stdenv.lib.optional withGnomeKeyring libgnome-keyring3; nativeBuildInputs = [ + gettext wrapGAppsHook ]; @@ -43,6 +44,6 @@ in pythonPackages.buildPythonApplication rec { homepage = https://github.com/pulb/mailnag; license = licenses.gpl2; platforms = platforms.linux; - maintainers = with maintainers; [ jgeerds ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/applications/networking/mailreaders/mblaze/default.nix b/pkgs/applications/networking/mailreaders/mblaze/default.nix index 86f945f369a..6c3b3a69b1d 100644 --- a/pkgs/applications/networking/mailreaders/mblaze/default.nix +++ b/pkgs/applications/networking/mailreaders/mblaze/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchFromGitHub, libiconv }: +{ stdenv, fetchFromGitHub, fetchpatch, libiconv }: stdenv.mkDerivation rec { - name = "mblaze-${version}"; - version = "0.4"; + pname = "mblaze"; + version = "0.5.1"; buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv ]; @@ -10,11 +10,22 @@ stdenv.mkDerivation rec { owner = "chneukirchen"; repo = "mblaze"; rev = "v${version}"; - sha256 = "15ac213a17mxni3bqvzxhiln65s4almrlmv72bbcgi7cymb303rp"; + sha256 = "11x548dl2jy9cmgsakqrzfdq166whhk4ja7zkiaxrapkjmkf6pbh"; }; + patches = [ + (fetchpatch { + url = "https://github.com/leahneukirchen/mblaze/commit/53151f4f890f302291eb8d3375dec4f8ecb66ed7.patch"; + sha256 = "1mcyrh053iiyzdhgm09g5h3a77np496whnc7jr4agpk1nkbcpfxc"; + }) + ]; + makeFlags = "PREFIX=$(out)"; + postInstall = '' + install -Dm644 -t $out/share/zsh/site-functions contrib/_mblaze + ''; + meta = with stdenv.lib; { homepage = https://github.com/chneukirchen/mblaze; description = "Unix utilities to deal with Maildir"; diff --git a/pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix b/pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix new file mode 100644 index 00000000000..7019c309feb --- /dev/null +++ b/pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix @@ -0,0 +1,28 @@ +{ stdenv, python3, notmuch }: + +python3.pkgs.buildPythonApplication rec { + pname = "mlarchive2maildir"; + version = "0.0.6"; + + src = python3.pkgs.fetchPypi { + inherit pname version; + sha256 = "025mv890zsk25cral9cas3qgqdsszh5025khz473zs36innjd0mw"; + }; + + nativeBuildInputs = with python3.pkgs; [ setuptools_scm ]; + + propagatedBuildInputs = with python3.pkgs; [ + beautifulsoup4 + click + click-log + requests + six + ]; + + meta = with stdenv.lib; { + homepage = https://github.com/flokli/mlarchive2maildir; + description = "Imports mail from (pipermail) archives into a maildir"; + license = licenses.mit; + maintainers = with maintainers; [ andir flokli ]; + }; +} diff --git a/pkgs/applications/networking/mailreaders/msgviewer/default.nix b/pkgs/applications/networking/mailreaders/msgviewer/default.nix index 6e2e8d58c67..88e573f6cf4 100644 --- a/pkgs/applications/networking/mailreaders/msgviewer/default.nix +++ b/pkgs/applications/networking/mailreaders/msgviewer/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeWrapper, unzip, jre }: +{ stdenv, fetchurl, makeWrapper, unzip, jre, runtimeShell }: let version = "1.9"; @@ -20,7 +20,7 @@ in stdenv.mkDerivation rec { mv $dir/${uname}/* $dir rmdir $dir/${uname} cat <<_EOF > $out/bin/msgviewer - #!${stdenv.shell} -eu + #!${runtimeShell} -eu exec ${stdenv.lib.getBin jre}/bin/java -jar $dir/MSGViewer.jar "\$@" _EOF chmod 755 $out/bin/msgviewer diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix index 3afabb8bafb..c694398bd7d 100644 --- a/pkgs/applications/networking/mailreaders/mutt/default.nix +++ b/pkgs/applications/networking/mailreaders/mutt/default.nix @@ -26,17 +26,17 @@ assert gpgmeSupport -> gpgme != null && openssl != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "mutt-${version}"; - version = "1.11.2"; + pname = "mutt"; + version = "1.12.1"; src = fetchurl { - url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz"; - sha256 = "08w7lbhj5ba2zkjcd0cxkgfiy9y82yhg731xjg9i9292kz1x8p6s"; + url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz"; + sha256 = "0311sip2q90aqaxn7h3cck1zl98b4vifqi8bp5fsizy4dr06bi81"; }; patches = optional smimeSupport (fetchpatch { - url = "https://salsa.debian.org/mutt-team/mutt/raw/debian/1.11.2-2/debian/patches/misc/smime.rc.patch"; - sha256 = "1rl27qqwl4nw321ll5jcvfmkmz4fkvcsh5vihjcrhzzyf6vz8wmj"; + url = "https://salsa.debian.org/mutt-team/mutt/raw/debian/1.10.1-2/debian/patches/misc/smime.rc.patch"; + sha256 = "0b4i00chvx6zj9pcb06x2jysmrcb2znn831lcy32cgfds6gr3nsi"; }); buildInputs = diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix index a8c322b42b8..615b810d002 100644 --- a/pkgs/applications/networking/mailreaders/neomutt/default.nix +++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix @@ -1,23 +1,11 @@ { stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript , ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl -, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap +, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell }: -let - muttWrapper = writeScript "mutt" '' - #!${stdenv.shell} -eu - - echo 'The neomutt project has renamed the main binary from `mutt` to `neomutt`.' - echo "" - echo 'This wrapper is provided for compatibility purposes only. You should start calling `neomutt` instead.' - echo "" - read -p 'Press any key to launch NeoMutt...' -n1 -s - exec neomutt "$@" - ''; - -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { version = "20180716"; - name = "neomutt-${version}"; + pname = "neomutt"; src = fetchFromGitHub { owner = "neomutt"; @@ -80,7 +68,6 @@ in stdenv.mkDerivation rec { NIX_LDFLAGS = "-lidn"; postInstall = '' - cp ${muttWrapper} $out/bin/mutt wrapProgram "$out/bin/neomutt" --prefix PATH : "$out/libexec/neomutt" ''; diff --git a/pkgs/applications/networking/mailreaders/notbit/default.nix b/pkgs/applications/networking/mailreaders/notbit/default.nix index 3e235400498..b87728dd2cd 100644 --- a/pkgs/applications/networking/mailreaders/notbit/default.nix +++ b/pkgs/applications/networking/mailreaders/notbit/default.nix @@ -5,7 +5,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "notbit-${version}"; + pname = "notbit"; version = "2018-01-09"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix b/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix index c2cce227576..67c673bc913 100644 --- a/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix @@ -4,7 +4,8 @@ let version = "9"; in stdenv.mkDerivation rec { - name = "notmuch-addrlookup-${version}"; + pname = "notmuch-addrlookup"; + inherit version; src = fetchFromGitHub { owner = "aperezdc"; @@ -21,7 +22,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Address lookup tool for Notmuch in C"; homepage = https://github.com/aperezdc/notmuch-addrlookup-c; - maintainers = with maintainers; [ mog garbas ]; + maintainers = with maintainers; [ mog ]; platforms = platforms.unix; license = licenses.mit; }; diff --git a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix index e2b56f3b8af..d9eae3c9c50 100644 --- a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, gawk, mercury, pandoc, ncurses, gpgme }: stdenv.mkDerivation rec { - name = "notmuch-bower-${version}"; - version = "0.10"; + pname = "notmuch-bower"; + version = "0.11"; src = fetchFromGitHub { owner = "wangp"; repo = "bower"; rev = version; - sha256 = "0jpaxlfxz7mj76z3cyj8sq053p0mkp46kaw05nimzwaq5yx923fv"; + sha256 = "0vhac8yjnhb1gz60jfzg27spyn96c1rr849gc6vjym5xamw7zp0v"; }; nativeBuildInputs = [ gawk mercury pandoc ]; diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix index 2fff46a1737..01081ebfb3e 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix @@ -12,17 +12,17 @@ with stdenv.lib; stdenv.mkDerivation rec { - version = "0.28.2"; - name = "notmuch-${version}"; + version = "0.29.1"; + pname = "notmuch"; passthru = { - pythonSourceRoot = "${name}/bindings/python"; + pythonSourceRoot = "${pname}-${version}/bindings/python"; inherit version; }; src = fetchurl { - url = "https://notmuchmail.org/releases/${name}.tar.gz"; - sha256 = "0cg9ff7h7mklgbqqknxigxxx1j3p3s2a9cxvrs5ih7j56f04k9l5"; + url = "https://notmuchmail.org/releases/${pname}-${version}.tar.xz"; + sha256 = "0rg3rwghd3wivf3bmqcqpkkd5c779ld5hi363zjcw5fl6a7gqilq"; }; nativeBuildInputs = [ pkgconfig ]; @@ -40,25 +40,21 @@ stdenv.mkDerivation rec { patchShebangs configure patchShebangs test/ - for src in \ - util/crypto.c \ - notmuch-config.c - do - substituteInPlace "$src" \ - --replace \"gpg\" \"${gnupg}/bin/gpg\" - done - substituteInPlace lib/Makefile.local \ --replace '-install_name $(libdir)' "-install_name $out/lib" + + substituteInPlace emacs/notmuch-emacs-mua \ + --replace 'EMACS:-emacs' 'EMACS:-${emacs}/bin/emacs' \ + --replace 'EMACSCLIENT:-emacsclient' 'EMACSCLIENT:-${emacs}/bin/emacsclient' ''; - configureFlags = [ "--zshcompletiondir=$(out)/share/zsh/site-functions" ]; + configureFlags = [ "--zshcompletiondir=${placeholder "out"}/share/zsh/site-functions" ]; # Notmuch doesn't use autoconf and consequently doesn't tag --bindir and # friends setOutputFlags = false; enableParallelBuilding = true; - makeFlags = "V=1"; + makeFlags = [ "V=1" ]; preCheck = let test-database = fetchurl { @@ -68,14 +64,14 @@ stdenv.mkDerivation rec { in '' ln -s ${test-database} test/test-databases/database-v1.tar.xz ''; - doCheck = !stdenv.hostPlatform.isDarwin && (versionAtLeast gmime.version "3.0"); + doCheck = !stdenv.hostPlatform.isDarwin && (versionAtLeast gmime.version "3.0.3"); checkTarget = "test"; checkInputs = [ which dtach openssl bash gdb man ]; - installTargets = "install install-man"; + installTargets = [ "install" "install-man" ]; dontGzipMan = true; # already compressed @@ -83,7 +79,7 @@ stdenv.mkDerivation rec { description = "Mail indexer"; homepage = https://notmuchmail.org/; license = licenses.gpl3; - maintainers = with maintainers; [ chaoflow flokli garbas the-kenny ]; + maintainers = with maintainers; [ flokli puckipedia the-kenny ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix b/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix index e25dfe834f6..a0dbf98f276 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix @@ -3,12 +3,12 @@ }: stdenv.mkDerivation rec { version = "5"; - name = "muchsync-${version}"; + pname = "muchsync"; passthru = { inherit version; }; src = fetchurl { - url = "http://www.muchsync.org/src/${name}.tar.gz"; + url = "http://www.muchsync.org/src/${pname}-${version}.tar.gz"; sha256 = "1k2m44pj5i6vfhp9icdqs42chsp208llanc666p3d9nww8ngq2lb"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/networking/mailreaders/notmuch/mutt.nix b/pkgs/applications/networking/mailreaders/notmuch/mutt.nix index 410e5e10ceb..7382b97ba81 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/mutt.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/mutt.nix @@ -1,7 +1,7 @@ { stdenv, lib, perl, perlPackages, makeWrapper, coreutils, notmuch }: stdenv.mkDerivation rec { - name = "notmuch-mutt-${version}"; + pname = "notmuch-mutt"; version = notmuch.version; outputs = [ "out" ]; diff --git a/pkgs/applications/networking/mailreaders/nylas-mail-bin/default.nix b/pkgs/applications/networking/mailreaders/nylas-mail-bin/default.nix deleted file mode 100644 index 3d8673a87a1..00000000000 --- a/pkgs/applications/networking/mailreaders/nylas-mail-bin/default.nix +++ /dev/null @@ -1,133 +0,0 @@ -{ dpkg, fetchurl, lib, pkgs, stdenv -, alsaLib -, atk -, cairo -, coreutils -, cups -, dbus -, desktop-file-utils -, expat -, fontconfig -, freetype -, gcc-unwrapped -, gdk_pixbuf -, glib -, gnome2 -, libgnome-keyring -, libnotify -, makeWrapper -, nodejs -, nspr -, nss -, pango -, python2 -, udev -, wget -, xorg -}: - -stdenv.mkDerivation rec { - name = "${pkgname}-${version}"; - pkgname = "nylas-mail-bin"; - version = "2.0.32"; - subVersion = "fec7941"; - - src = - if stdenv.hostPlatform.system == "x86_64-linux" then - fetchurl { - url = "https://edgehill.s3.amazonaws.com/${version}-${subVersion}/linux-deb/x64/NylasMail.deb"; - sha256 = "40060aa1dc3b5187b8ed4a07b9de3427e3c5a291df98c2c82395647fa2aa4ada"; - } - else - throw "NylasMail is not supported on ${stdenv.hostPlatform.system}"; - - propagatedBuildInputs = [ - alsaLib - atk - cairo - coreutils - cups - dbus - desktop-file-utils - expat - fontconfig - freetype - gcc-unwrapped - gdk_pixbuf - glib - gnome2.GConf - gnome2.gtk - libgnome-keyring - libnotify - nodejs - nspr - nss - pango - python2 - udev - wget - xorg.libX11 - xorg.libXScrnSaver - xorg.libXcomposite - xorg.libXcursor - xorg.libXdamage - xorg.libXext - xorg.libXfixes - xorg.libXi - xorg.libXrandr - xorg.libXrender - xorg.libXtst - xorg.libxkbfile - ]; - - - nativeBuildInputs = [ makeWrapper ]; - - buildCommand = '' - mkdir -p $out - - ${dpkg}/bin/dpkg-deb -x $src unpacked - mv unpacked/usr/* $out/ - - # Fix path in desktop file - substituteInPlace $out/share/applications/nylas-mail.desktop \ - --replace /usr/bin/nylas-mail $out/bin/nylas-mail - - # Patch librariess - noderp=$(patchelf --print-rpath $out/share/nylas-mail/libnode.so) - patchelf --set-rpath $noderp:$out/lib:${stdenv.cc.cc.lib}/lib:${xorg.libxkbfile.out}/lib:${lib.makeLibraryPath propagatedBuildInputs } \ - $out/share/nylas-mail/libnode.so - - ffrp=$(patchelf --print-rpath $out/share/nylas-mail/libffmpeg.so) - patchelf --set-rpath $ffrp:$out/lib:${stdenv.cc.cc.lib}/lib:${lib.makeLibraryPath propagatedBuildInputs } \ - $out/share/nylas-mail/libffmpeg.so - - # Patch binaries - binrp=$(patchelf --print-rpath $out/share/nylas-mail/nylas) - patchelf --interpreter $(cat "$NIX_CC"/nix-support/dynamic-linker) \ - --set-rpath $binrp:$out/lib:${stdenv.cc.cc.lib}/lib:${lib.makeLibraryPath propagatedBuildInputs } \ - $out/share/nylas-mail/nylas - - wrapProgram $out/share/nylas-mail/nylas --set LD_LIBRARY_PATH "${xorg.libxkbfile}/lib:${pkgs.gnome3.libgnome-keyring}/lib"; - - # Fix path to bash so apm can install plugins. - substituteInPlace $out/share/nylas-mail/resources/apm/bin/apm \ - --replace /bin/bash ${stdenv.shell} - - wrapProgram $out/share/nylas-mail/resources/apm/bin/apm \ - --set PATH "${coreutils}/bin" - patchelf --interpreter $(cat "$NIX_CC"/nix-support/dynamic-linker) \ - --set-rpath ${gcc-unwrapped.lib}/lib $out/share/nylas-mail/resources/apm/bin/node - ''; - - meta = with stdenv.lib; { - description = "Open-source mail client built on the modern web with Electron, React, and Flux"; - longDescription = '' - Nylas Mail is an open-source mail client built on the modern web with Electron, React, and Flux. It is designed to be extensible, so it's easy to create new experiences and workflows around email. Nylas Mail can be enabled with it's requirements by enabling 'services.nylas-mail.enable=true'. Alternatively, make sure to have services.gnome3.gnome-keyring.enable = true; in your configuration.nix before running nylas-mail. If you happen to miss this step, you should remove ~/.nylas-mail and "~/.config/Nylas Mail" for a blank setup". - ''; - license = licenses.gpl3; - maintainers = with maintainers; [ johnramsden ]; - homepage = https://nylas.com; - platforms = [ "x86_64-linux" ]; - }; -} diff --git a/pkgs/applications/networking/mailreaders/realpine/default.nix b/pkgs/applications/networking/mailreaders/realpine/default.nix deleted file mode 100644 index f53c5d61050..00000000000 --- a/pkgs/applications/networking/mailreaders/realpine/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{stdenv, fetchurl, ncurses, tcl, openssl, pam, kerberos -, openldap -}: -# NOTE: Please check if any changes here are applicable to ../alpine/ as well -let - baseName = "re-alpine"; - version = "2.03"; -in -stdenv.mkDerivation { - name = "${baseName}-${version}"; - inherit version; - - src = fetchurl { - url = "mirror://sourceforge/re-alpine/re-alpine-${version}.tar.bz2"; - sha256 = "11xspzbk9cwmklmcw6rxsan7j71ysd4m9c7qldlc59ck595k5nbh"; - }; - - buildInputs = [ - ncurses tcl openssl pam kerberos openldap - ]; - - hardeningDisable = [ "format" ]; - - configureFlags = [ - "--with-ssl-include-dir=${openssl.dev}/include/openssl" - "--with-tcl-lib=${tcl.libPrefix}" - "--with-passfile=.pine-passfile" - ]; - - preConfigure = '' - export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s" - ''; - - meta = { - description = "Console mail reader"; - license = stdenv.lib.licenses.asl20; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; - homepage = https://sourceforge.net/projects/re-alpine/; - downloadPage = "https://sourceforge.net/projects/re-alpine/files/"; - }; -} diff --git a/pkgs/applications/networking/mailreaders/sup/Gemfile.lock b/pkgs/applications/networking/mailreaders/sup/Gemfile.lock index 0691919ba18..bd0f051c104 100644 --- a/pkgs/applications/networking/mailreaders/sup/Gemfile.lock +++ b/pkgs/applications/networking/mailreaders/sup/Gemfile.lock @@ -2,17 +2,17 @@ GEM remote: https://rubygems.org/ specs: chronic (0.9.1) - gpgme (2.0.12) - mini_portile2 (~> 2.1.0) - highline (1.7.8) + gpgme (2.0.18) + mini_portile2 (~> 2.3) + highline (2.0.2) locale (2.1.2) lockfile (2.1.3) - mime-types (3.0) + mime-types (3.2.2) mime-types-data (~> 3.2015) - mime-types-data (3.2016.0221) - mini_portile2 (2.1.0) - ncursesw (1.4.9) - rake (11.1.2) + mime-types-data (3.2019.0331) + mini_portile2 (2.4.0) + ncursesw (1.4.10) + rake (12.3.2) rmail-sup (1.0.1) sup (0.22.1) chronic (~> 0.9.1) @@ -24,8 +24,8 @@ GEM rmail-sup (~> 1.0.1) trollop (>= 1.12) unicode (~> 0.4.4) - trollop (2.1.2) - unicode (0.4.4.2) + trollop (2.9.9) + unicode (0.4.4.4) xapian-ruby (1.2.22) PLATFORMS @@ -38,4 +38,4 @@ DEPENDENCIES xapian-ruby (~> 1.2.22) BUNDLED WITH - 1.10.6 + 1.17.2 diff --git a/pkgs/applications/networking/mailreaders/sup/default.nix b/pkgs/applications/networking/mailreaders/sup/default.nix index c803db6dcbc..ccd092ba63c 100644 --- a/pkgs/applications/networking/mailreaders/sup/default.nix +++ b/pkgs/applications/networking/mailreaders/sup/default.nix @@ -1,23 +1,28 @@ -{ lib, bundlerEnv, ruby }: +{ lib, bundlerApp, bundlerUpdateScript }: -bundlerEnv { - name = "sup-0.22.1"; +bundlerApp { + pname = "sup"; + gemdir = ./.; + exes = [ + "sup" + "sup-add" + "sup-config" + "sup-dump" + "sup-import-dump" + "sup-psych-ify-config-files" + "sup-recover-sources" + "sup-sync" + "sup-sync-back-maildir" + "sup-tweak-labels" + ]; - inherit ruby; - - # Updated with: - # nix-shell -p bundix -p bundler -p ncurses -p ruby -p which -p zlib -p libuuid - # bundle install --path ./vendor - # bundix - gemfile = ./Gemfile; - lockfile = ./Gemfile.lock; - gemset = ./gemset.nix; + passthru.updateScript = bundlerUpdateScript "sup"; meta = with lib; { description = "A curses threads-with-tags style email client"; homepage = http://sup-heliotrope.github.io; license = licenses.gpl2; - maintainers = with maintainers; [ cstrahan lovek323 ]; + maintainers = with maintainers; [ cstrahan lovek323 manveru nicknovitski ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/mailreaders/sup/gemset.nix b/pkgs/applications/networking/mailreaders/sup/gemset.nix index babc063d634..023374932cb 100644 --- a/pkgs/applications/networking/mailreaders/sup/gemset.nix +++ b/pkgs/applications/networking/mailreaders/sup/gemset.nix @@ -1,126 +1,155 @@ { - xapian-ruby = { - version = "1.2.22"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "1xbarnxmhy6r0rxpspn4wk85j183w6b18nah73djcs06b3gfas15"; - }; - dependencies = [ "rake" ]; - }; - unicode = { - version = "0.4.4.2"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "15fggljzan8zvmr8h12b5m7pcj1gvskmmnx367xs4p0rrpnpil8g"; - }; - }; - trollop = { - version = "2.1.2"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "0415y63df86sqj43c0l82and65ia5h64if7n0znkbrmi6y0jwhl8"; - }; - }; - sup = { - version = "0.22.1"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "17s2sxismf46zdhgr6g2v53fw9f3sp1ijx7xdw3wx8qpcsgazcgi"; - }; - dependencies = ["chronic" "highline" "locale" "lockfile" "mime-types" "ncursesw" "rmail-sup" "trollop" "unicode" "rake" ]; - }; - rmail-sup = { - version = "1.0.1"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "1xswk101s560lxqaax3plqh8vjx7jjspnggdwb3q80m358f92q9g"; - }; - }; - rake = { - version = "11.1.2"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "0jfmy7kd543ldi3d4fg35a1w7q6jikpnzxqj4bzchfbn94cbabqz"; - }; - }; - ncursesw = { - version = "1.4.9"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "154cls3b237imdbhih7rni5p85nw6mpbpkzdw08jxzvqaml7q093"; - }; - }; - mini_portile2 = { - version = "2.1.0"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb"; - }; - }; - mime-types-data = { - version = "3.2016.0221"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "05ygjn0nnfh6yp1wsi574jckk95wqg9a6g598wk4svvrkmkrzkpn"; - }; - }; - mime-types = { - version = "3.0"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "1snjc38a9vqvy8j41xld1i1byq9prbl955pbjw7dxqcfcirqlzra"; - }; - dependencies = ["mime-types-data"]; - }; - lockfile = { - version = "2.1.3"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "0dij3ijywylvfgrpi2i0k17f6w0wjhnjjw0k9030f54z56cz7jrr"; - }; - }; - locale = { - version = "2.1.2"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x"; - }; - }; - highline = { - version = "1.7.8"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr"; - }; - }; - gpgme = { - version = "2.0.12"; - source = { - type = "gem"; - remotes = ["https://rubygems.org"]; - sha256 = "0a04a76dw9dias0a8rp6dyk3vx2y024gim40lg2md6zdh2m1kx85"; - }; - dependencies = ["mini_portile2"]; - }; chronic = { - version = "0.9.1"; + groups = ["default"]; + platforms = []; source = { - type = "gem"; remotes = ["https://rubygems.org"]; sha256 = "0kspaxpfy7yvyk1lvpx31w852qfj8wb9z04mcj5bzi70ljb9awqk"; + type = "gem"; }; + version = "0.9.1"; }; -} + gpgme = { + dependencies = ["mini_portile2"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12fqirxr964mc8jwsfl5nif6q4wcckrmj7w4c9ci4xg9xy2b9v6m"; + type = "gem"; + }; + version = "2.0.18"; + }; + highline = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g0zpalfj8wvca86hcnirir5py2zyqrhkgdgv9f87fxkjaw815wr"; + type = "gem"; + }; + version = "2.0.2"; + }; + locale = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x"; + type = "gem"; + }; + version = "2.1.2"; + }; + lockfile = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dij3ijywylvfgrpi2i0k17f6w0wjhnjjw0k9030f54z56cz7jrr"; + type = "gem"; + }; + version = "2.1.3"; + }; + 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 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a"; + type = "gem"; + }; + version = "3.2019.0331"; + }; + mini_portile2 = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; + type = "gem"; + }; + version = "2.4.0"; + }; + ncursesw = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nc14wls1yiigz593vw7580hb99lf4n485axapiz6sqpg1jnlhcr"; + type = "gem"; + }; + version = "1.4.10"; + }; + rake = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn"; + type = "gem"; + }; + version = "12.3.2"; + }; + rmail-sup = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xswk101s560lxqaax3plqh8vjx7jjspnggdwb3q80m358f92q9g"; + type = "gem"; + }; + version = "1.0.1"; + }; + sup = { + dependencies = ["chronic" "highline" "locale" "lockfile" "mime-types" "ncursesw" "rmail-sup" "trollop" "unicode"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17s2sxismf46zdhgr6g2v53fw9f3sp1ijx7xdw3wx8qpcsgazcgi"; + type = "gem"; + }; + version = "0.22.1"; + }; + trollop = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "074h7lns72kg1dl5gvz5apl3xz1i0axbnbc01pf2kbw4q0lkpnp4"; + type = "gem"; + }; + version = "2.9.9"; + }; + unicode = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1v8kxmq9i85agjpl7pnl72688901xhs8wxhmj6lpy16a8xz3nzxk"; + type = "gem"; + }; + version = "0.4.4.4"; + }; + xapian-ruby = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xbarnxmhy6r0rxpspn4wk85j183w6b18nah73djcs06b3gfas15"; + type = "gem"; + }; + version = "1.2.22"; + }; +} \ No newline at end of file diff --git a/pkgs/applications/networking/mailreaders/sylpheed/default.nix b/pkgs/applications/networking/mailreaders/sylpheed/default.nix index 70f74dff309..986ee5fe3c9 100644 --- a/pkgs/applications/networking/mailreaders/sylpheed/default.nix +++ b/pkgs/applications/networking/mailreaders/sylpheed/default.nix @@ -7,11 +7,11 @@ assert sslSupport -> openssl != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "sylpheed-${version}"; + pname = "sylpheed"; version = "3.7.0"; src = fetchurl { - url = "https://sylpheed.sraoss.jp/sylpheed/v3.7/${name}.tar.xz"; + url = "https://sylpheed.sraoss.jp/sylpheed/v3.7/${pname}-${version}.tar.xz"; sha256 = "0j9y5vdzch251s264diw9clrn88dn20bqqkwfmis9l7m8vmwasqd"; }; diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix index ed798ee9233..5e005cd6669 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix @@ -10,7 +10,7 @@ , dbus , fontconfig , freetype -, gdk_pixbuf +, gdk-pixbuf , glib , glibc , gst-plugins-base @@ -30,7 +30,7 @@ , libcanberra-gtk2 , libgnome , libgnomeui -, defaultIconTheme +, gnome3 , libGLU_combined , nspr , nss @@ -41,6 +41,7 @@ , gnused , gnugrep , gnupg +, runtimeShell }: # imports `version` and `sources` @@ -89,7 +90,7 @@ stdenv.mkDerivation { dbus fontconfig freetype - gdk_pixbuf + gdk-pixbuf glib glibc gst-plugins-base @@ -117,7 +118,7 @@ stdenv.mkDerivation { stdenv.cc.cc ]; - buildInputs = [ gtk3 defaultIconTheme ]; + buildInputs = [ gtk3 gnome3.adwaita-icon-theme ]; nativeBuildInputs = [ makeWrapper ]; @@ -159,7 +160,7 @@ stdenv.mkDerivation { ''; passthru.updateScript = import ./../../browsers/firefox-bin/update.nix { - inherit name stdenv writeScript xidel coreutils gnused gnugrep curl gnupg; + inherit name writeScript xidel coreutils gnused gnugrep curl gnupg runtimeShell; baseName = "thunderbird"; channel = "release"; basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin"; diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix index 1baa173010a..8e1f2a0f65f 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix @@ -1,585 +1,585 @@ { - version = "60.5.1"; + version = "60.8.0"; sources = [ - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/ar/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/ar/thunderbird-60.8.0.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha512 = "42bba29f92dd86f1dbbb0ffd2e13c464b62b418c387f83167e82f9a2d6f4953329bb3cc772dc1d2dac10471c1ca1004f17f0923160485802fb8676677ac73912"; + sha512 = "a10386c0c55e52571c5b922a1531a891a98caa9a1b118ffa6e5e0655b838c207ba2638988d6fdeeb62135bbd19b071f9c2dfd2c52379e4f8ca2012c17aa5a065"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/ast/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/ast/thunderbird-60.8.0.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha512 = "3e15886ac06c83d33d33dd49afd4256ae52ccaf17a9b5cab69fde9ea4598803a4e8b8048f1132d7f07d6fc15ae65e272ce1ded92adfbffca0c9ca28d56904483"; + sha512 = "fecf4367234a794e22ccc6665622bf083bbaf8ecb1f8e03bf64c2bfa91028ff6a02497ae5ebdf474b4073fff121b23a55d8373ce16e282b9630bf6bd6223b555"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/be/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/be/thunderbird-60.8.0.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha512 = "f1ce8a443ee22e6ef9aeddd609408c75f66fd162cdc68dc8bdc70c301e5937d1ab6c3bdc021646e36e7d6c39b284d74742049a1eb0f9349c3d3c11b2b49a90fc"; + sha512 = "3ffc3ab21f3a070d8f465591db242b5cc0485cb2655373fc697298825f46a5f2f93301684ff69510ea2d74743a8e00e23e7f56e2a29638484bed40089714b7ad"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/bg/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/bg/thunderbird-60.8.0.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha512 = "be7c25bcb9688c4f90e6496b1c8a1ec3e58753aa4d9eb63e84863013a4ff7dae92e3d9e299c509191bd8336deb94d30ebcb44ea39b881e5bd974427d8cc2de72"; + sha512 = "e789ca25f887bc9b228fd29796b38cb061ba931ebb0e2d2b15b290771b2312d4051d248dd467c64acc5cbdc1d5c1ae23e0d5b5dba4a35983ffa44062c7632bbe"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/br/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/br/thunderbird-60.8.0.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha512 = "ed4ac8a3ad7b1b6b4b553b52b1b00c8590872bac407ecb539f3f8f3f94579af85ace6196525a93e1f726ec8ac9a72c873d438737a09401673970e923ddd0dc02"; + sha512 = "5088057f31b2ff77f89b25e9c1638b2080981a489a392d928f259cce38916b9b7da89132d931363fc652c1711250e1e77fc56b0427674f0648229688ba3285dd"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/ca/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/ca/thunderbird-60.8.0.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha512 = "74303a6784bf8cd6a40c3dc548476f67bc1bfbee163999c873635af7df712139a216e5047c61ff3613391f10b1ede6b7d1520e9e30b9d100f731607a5314e56f"; + sha512 = "3eb939b9a811254487eca4920ae84d33773d0963c77dfd84df7cf02a98b975d13d9088a70c2e8863f3290c6c7bfe6c7a240eda8e3bfdf3de28883c5d1e842e5f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/cs/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/cs/thunderbird-60.8.0.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha512 = "cd3a2f34c084c6e8bb628a73979940d5c0a37608173faee08cbba289af283eb2f9b6db494beceb72ccbc235f2ddf71b2bd966f9935d90efebe6042d463a50dbf"; + sha512 = "867706fc4e459d0e7723e9ef0e86176822623ca85f446f1ab9935f7f7a95292da637d57ab6046a8ef4d8a40bd5fc37451a32cad71a2d45bf4e4cf7adccd44775"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/cy/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/cy/thunderbird-60.8.0.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha512 = "d0fc024e76e496fc159e70efc7e50416375c8666ee07ec858c15de9013b8e4ccf4fdac33ba5b2969c76e7a0e8ed4474377528ca46ed5701b17deef3940b971fa"; + sha512 = "56d6485c397984b3394831169efe8bc2d7078d958358a37f1c9775b17bef0a4a347429838f122291f10e3dbc289865aaa475d3d3f4e7deaa2d22205690110c05"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/da/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/da/thunderbird-60.8.0.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha512 = "700e73df23ac5e3d193d147f317c55a6a356b8a87b2bd35816946a8c9a4ffeab857f0c9461a8a0e2568827bab92cad388010a540e0959d14fb1fb36d5d7b683c"; + sha512 = "6d35e77a03b0a44e8629baa80eb1889892a0dcd7a1a7ef5f016a6133fd8c5555474fa3bae79e3c5c25b0618832e680ea505cdf82de268bb4cecad7187830ff4a"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/de/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/de/thunderbird-60.8.0.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha512 = "bf3bd905e89680a2ed6f123d45f9fb554ef1b1d93d9048aa0680f2d9a0d2c882f8100ab45f0b9d16fd0411b3c93e884561bc37680019c4a1cc90d5014144d199"; + sha512 = "7b6f65c2146eccd91db9f2a050722c28ff3c9ed8a9e7a822fc1558c6b56761ba68ee5fdbbf1324c35dc98b0b33e8e54709664b972ad2318dcdf4472251ef1d1f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/dsb/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/dsb/thunderbird-60.8.0.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha512 = "58d016161ff90489ec090cb5f62593f22a29bf87bfee689f9a5489f9ca711d1a08199e48fa7624af324e051b96bf4cb1fea8c25f0cac5a13e2120067966a8133"; + sha512 = "fef020d88b4560b8eae5b81d9d36179719389c742a462682ca0afff942474158b1cdedeca6f348598ca89268bae3d953ac63debd972f7349ed8a7cb56e96cdd7"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/el/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/el/thunderbird-60.8.0.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha512 = "8edb85baac50532067832341fc15fb01d6ad5338c1298293926aca2f3bb604623de495f95dde78a1d31b669cefec7c62b870f3d324e1d18787bf9a4b17483436"; + sha512 = "fae21025f07a7d0be663d6dda4cb43cdc2b4b488a76e4ab0bae304284b17598689ed32554066e1d00097479e1ca4f163473cee854b853acedc46887256a45d02"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/en-GB/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/en-GB/thunderbird-60.8.0.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha512 = "39d7b7996d46cbba174780ccd31e86b8f168d5c7af9f3753ffd6c6b6050aa72d6863c5287db3f7f9c30fe80a4f20ce8a9918b9f37471d8520682ea4c34bbcc16"; + sha512 = "cfb8f7770d1fa2ad12ac19a2f069840a37f13c352d4271c4dc479cf4cc1d3ac381053ef9046b4b0fe891b67097f5db674ed6281853b2ebab1fe9744bd113bb08"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/en-US/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/en-US/thunderbird-60.8.0.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha512 = "99588bd58ef55ff7f9b8b248bc0cbe04707e0f94ccd248f0dd7caa4c1f21945e694deee3b41258c818c33cf845d9a38854a6ded5e225332752942da7dd0bfdc9"; + sha512 = "c0eeec28c235be86760dca83941a202475846153a1b186ad948eb673e0c6b1e870cb1c485f5a1dd9ed885eaac52f36cdde4417ba86dca388c43c03299b0adcea"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/es-AR/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/es-AR/thunderbird-60.8.0.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha512 = "e0e28a36de8eb088c4f56044198175fe87968fb977cfe515aad3abf28b9846f76c575a03670a9a618cf46f9906c0086f5a671fd4440b3aa4614bfae0799743ba"; + sha512 = "151e9ecb12ee13dc9cf87040c5f90d9dfeb528e25889fb48d7bd5a9a47f7a6166402c1c4ebf96c9a4184d27e89cc13ff31079151f7ca2860ac91100d2dc7f6a2"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/es-ES/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/es-ES/thunderbird-60.8.0.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha512 = "846ca3ff9847106cfa23a74ca3add2d7a12e5b192734ce0f2a027fff037e8ef8344b60fbf36ac678f20dc2292f7d4cc44b80fdd644af6ba839f2648fa996cafd"; + sha512 = "0209584bf7d1396d3d3f754e4f6cf3a6cfee2f7aeea9869edb60bdc832e87b9437f4962fe59a19df78ecd53681981e68bb6efc98e05f7ef50883a59983ddbb66"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/et/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/et/thunderbird-60.8.0.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha512 = "9a5c4616a40df5c35629cfecb1086f43b7a159ba4c966b52022e2f7a6b9d3437a0b933cbf3b857b708b349e2dada43dc82cdbeb2824a9b3c49fd466bd1dde89d"; + sha512 = "766656029454d89be4fa8ac8ebfc61f25d86c6f8974abe1426cd96dd5b7492bbdf4f8568ac18a69fa4ac3acf4a28486f1184c0852d4ee29416d6dbf3ddee097f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/eu/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/eu/thunderbird-60.8.0.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha512 = "72950cf78c2016f6c7679c6d4a45c39a3b325c491de0def38758556f945867d8299678abdf1de052e5a18079753a820b7329935ea373b0c5cf32063efe953471"; + sha512 = "db312b24b48677e47fa9ade4f04e219ec6a1aefb03239b60ba63c46659e86eadbec32513c494d48c90e303a87bcdd7280d7c4ae5be4df1a2c30159516bca5abd"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/fi/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/fi/thunderbird-60.8.0.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha512 = "ba815c3de1a894cf616c2172528c045aeb4768c237abc6c11234c8e6d10aa80b7578e2c9e562957bf6e5f757c0fb5fedf65a905a2c49836e08fe18029bef5065"; + sha512 = "003a0ca468ed7a7ab19065ef4a45504c9e95724112c6bb277c6e1964f8f642d5d1a7a4b135e412c81db5896eb00a831b089104563a9237c0594c2ad5c31c4814"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/fr/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/fr/thunderbird-60.8.0.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha512 = "3da8f0eed4096f64ac297feb87e902a943ac025d8db66ba48a56456d450fc6bf4f00c729b4b72bdde4688991a1a6eafe8f71f91859bf3d3b0db80b9953035d42"; + sha512 = "5097831b1d77046583bd86dd124c48f2389a676a902cbdd4e408508452400f9d981c14475e43276ba31efa70bd3fe1bce5193bc9624de40e34a57319d6ede80f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/fy-NL/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/fy-NL/thunderbird-60.8.0.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha512 = "b49c4b191651d8f22e23c7ba1a7a4bf28613162bcbe9926dab9ac42a9c4a96e26bfa74bcd6ca5e0fe8c43070559990f885300c71cb3638eb96efdcb307f9b513"; + sha512 = "bb1170342797ccb3cada48fe654cbba2c02391f30666f3c14891d813692c21400c24f0f1e02d6cf975b88b8e92943feff8da5daf05b9535ae4730272b104d43e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/ga-IE/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/ga-IE/thunderbird-60.8.0.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha512 = "fe360cbd6e9b4cec554f0f9e72501707aeb7b52c9dd783c028b447d79a0172c6b42ca52593e5a6251c4090fddbf15ed21d2ae97f055c2a1d77efc60e5c63eb80"; + sha512 = "a65089b76bb09f78bdd7c8c63e0fe4e68468a210a18069621d4b9fb3ef7cd54abe849fae983dd3e8f05bc5f7dfc3a03a64051587a9e65439fc5cb2c15836f13b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/gd/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/gd/thunderbird-60.8.0.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha512 = "29b6589c431ea3f5e229a2868220ddf2ec4a9146cca6cfe02cb471eeddf193d8795c1944582047cb58036be97a83a1dc87797623bf46fe856f7bf6f52d2a73c0"; + sha512 = "bca1e964554eccf2c69968380954dedd9e76fe2952becd06b0cd56ddf0e3936d6c40f7cfa5d9c8719cdb4b5181d47048d10a47e6c549e74b2ab72a0d7b89d1ad"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/gl/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/gl/thunderbird-60.8.0.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha512 = "60cc4f02e9e67fb774eaa21ed6c4525b0bcf3ea59c52934b043921b690405d53185336acd3c47a34f03efc2585b29384764614c6bd24359a32f5294872208fb4"; + sha512 = "d8ec696e056b44059ce713dfb86980da72441d9c53e17f30d0ce43408a16d3e4b2c8700e595639f7bbe3b59082fbdca49a1ecc47bdfa7704ba189198efeb1909"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/he/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/he/thunderbird-60.8.0.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha512 = "5f0252d6e36de08da28520b72b2d43539652c8e38b12db525e69c8cc459244e7304904d334730728e1887fcaeeefc45ffa8998a59d07e32cc219d9b437dbedb4"; + sha512 = "bf9d9db17930dae863bc8803d7f8e39fad79c74712d16d3912968b8605372521cd1ec23f2cb4c8d05e67341176749c97e85072cef40a899570811b594a5d994c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/hr/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/hr/thunderbird-60.8.0.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha512 = "fb986a942ea25800f2eba0f98fa14f1fca71d7fbe55040d4ecf70013be413cd3afb6c323e35a76b085daa6ff2defb062e2d27c8590231ab5b0d87125a8f3d1f9"; + sha512 = "62c626a6dbc65e69443e0e33bbcca131f2b0c3ab521ad74c9de355328fef0e26689e99f7e41111cee688400ffeb2f749f1fc73cf35dff8908f3661218e5df29c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/hsb/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/hsb/thunderbird-60.8.0.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha512 = "f7ce5acaaeb88a1322d78e9d66378dbde4a628fecf1e196efaf42ccc6ca02d99192dd3b8271399d288cdf74233f7c42df5e4a2a6e44d22d5c177c876d857e4be"; + sha512 = "72a7c2356748b59103457fdb22ebe471b68bbdb4c8e61b53c83e14a64f25bfc781070242f2bb04dccbacb52387ee3b7a2b5a66c2bb01d653b4d78ee5a4d3aa86"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/hu/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/hu/thunderbird-60.8.0.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha512 = "9319cf8f6e297bcd8d263bd6528adf6eb63560469509482d0c9bb24488c91865d97084ce6fdf2aefcca4585d64c83991438021bfcacf26861eb5db42cd6bdd9e"; + sha512 = "b6e9b086b065555b2fdf3c243e72a37c1f7d1708b130ca060fc72cc4715514aed5a40ac19b497fdfc7b6d067d8a065ad16e077e8f1b6aa4f2f7204b47699c2a8"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/hy-AM/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/hy-AM/thunderbird-60.8.0.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha512 = "ca4efc6abea252c4637966718fe7ce7015325edefd4209216de3fcd501b86744349be48fb19ae21a8bccb98848cad8604afcd48518a7a42016a999adac5b0c0d"; + sha512 = "7b4690527883906a6a6e2d2b6347b8d2bc1b6a16576b6970c2b7dd0a04b6f046337e191aeaae4b07e37b29a9e24db3848a2683c6f0d10923c1c7ccf4bc8a38f6"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/id/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/id/thunderbird-60.8.0.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha512 = "deec3df7b9a25e450000976fb03389d06befa0429ed4970327f9265d6576b3a914646c192bf857c47cc1881a0e71ad3b52f98c6e66cbbdc43103715cd983f118"; + sha512 = "d6446e829d5126386535463e4b44551529108c22c1f5ea054cbced5d6ecae56c31d8a6af99620edfad62acf54844a3a0484b8892ee85fe7cf8676aa2010bc0f1"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/is/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/is/thunderbird-60.8.0.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha512 = "1d88b0917f636a48af360003d57f30b9e4eca4d6ed026184a475f980abe7f1ad011306dc542ac124fbc1787f386421ef1fcc1937e06432daed92b835fe4a7865"; + sha512 = "8527f8adbce559195b3487ac11b9ff7a716d4efbe4139289093b49e07b0767b99d90560695773433ccd838affe2e34f488e1051059213d79ef2c604aa5c239e5"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/it/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/it/thunderbird-60.8.0.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha512 = "2a4028b462dd764e20f14cb97667466d548482ca28d621e4e830b8aa29ccace76389f0bd9892b5ad4fb54908bc83a7975a0dde1129ee54d7331fbf0682fc445e"; + sha512 = "3d376e4f8efeffae16c2a39fba40cf29433af35ffbcfc5d0a7491355a211ca25fd5157f64a4d9f4611ac0cfc7659cb7118f0e4db15f594767d0e8a7fca9bfa03"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/ja/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/ja/thunderbird-60.8.0.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha512 = "89568859a275424d00581bc596172fd8c5fe562c01087d9d63b734874e91f5933d80123d66fabb34a09f11638a5552200ce32ce13a4eb5464af380332687381e"; + sha512 = "b9623d6902ad5f5d77b67b490d8df6f312c895257965580cf1108a4d9c3da78f3d021551f9e48ab56b92eb691c3c4007a7584b4681683b261bab7b6b7139ead3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/kab/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/kab/thunderbird-60.8.0.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha512 = "d20004efd3285670ee253d519cf1cc0d6f0fb6f3b95b0c4b96e56a9bd1d8c6183accaa1989b1038fd69683fd2aa3f5ea68a545a965c6c4d9a194eae2941d7d55"; + sha512 = "33417e6604f706ff3bfab521c5bd890fcffd0f524e11d29fedafaf89ad5a7f6284598ef994059c00aed70ef921a08dfa763f57694976b365d3317aeab8209c6e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/kk/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/kk/thunderbird-60.8.0.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha512 = "9d3963346b80e8877a5edc49a76dd0b2d26737ff887a3f2847df8e9ca359966575beea15b9390c1086c1a31690f0d70a60726eeecace1bd0f9490f2fe5d99c96"; + sha512 = "05910b83e3c65b2be6c6382bb27f819f9d02e3a1f89c00afa22eb1e68ff04d6f39edf31468be245be1756f20e09cf9982ff0175017e91ff1fe08b62b2edea4f0"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/ko/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/ko/thunderbird-60.8.0.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha512 = "3d7b645f5fa84bb6d22bbcd5d4d963f56613836e3da1396188645c82c5b3519723bfd041f9f3b74b7da966c6700a0ce8071662683791583ef09ba252a053c5e2"; + sha512 = "f12a92b58c02dba4cb2fc8e8a9f90025d23c3849590bb149a50416aac3e3c15e0c2817e7a4bc518f24e796ea851bb5746b7611e2faeea2767e0f63dc67f2cb37"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/lt/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/lt/thunderbird-60.8.0.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha512 = "c8efa6c786c9075c8abcc9c544ece1dd25b299bac3444ff510858c32c9ab7e162104bad236edebb7b56b4a1fcedc9c1794acb2c2b907398d3244439750cc0d04"; + sha512 = "06d12d4dffaaf863d77ab1fcc59517bec26732db4b81f6114602b9ad06a77d86d52a0b21066d93854459fc3087dce8d8087df635151f672194edf55d7903bacd"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/ms/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/ms/thunderbird-60.8.0.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha512 = "42bfcc826317bb07bc54fc2c14b27f784faa05fe17c5ca1a5e7724a47490488856172a595aaa4f56b01ff6f702c3eeb6715da5e48df2af67832d2b4bdb979e1b"; + sha512 = "021f1843a788cd6285e4d56559b7042e161f0279b9b64234bb7cc39847f7f2011265e86a738b5926413f2e98e293fbb478d36322c9071b0f7346dbd07eb05a7b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/nb-NO/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/nb-NO/thunderbird-60.8.0.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha512 = "a4b21d7fb17a73f9e75a7d4d9e21ab87d276200e346f3078a70ebbd2e270a73120ca34d1c15c8e06416a57aa4a3cdc4c72dcdda0892abc657a9aa089dc25f04d"; + sha512 = "9913898a8b6ae8745f76aae51f82aa1fc9f71e410f458c3deaef5879521bbf1e25067709999a4c7722b42ae152eeed7016e5aa0437b8b3fc81d246b297f92f22"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/nl/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/nl/thunderbird-60.8.0.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha512 = "9847949b60ad60848dcd200acd4b4b4de32f9f605740c9fe24dbaa79f6e17de2ca5f2d50a70cbe2b823cd25ab9e1221a475be6ac87ba0124b0ad2c6ecf87a30a"; + sha512 = "006e2332079d8a837c42b44df7b7af01bf9363109a47158357438140a068a9a17b2eb1ecba351b49b3300dae5a8e3abb0938fa1222012a886e6a123f7612dfa7"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/nn-NO/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/nn-NO/thunderbird-60.8.0.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha512 = "38b0c5f3d48e5ac17e76b6ab018913a3af2470b59cb82e21dd044104ae84fe0354fd212210bf36cea0c13b9d500ba6ce41c6d55da6f22a71d0b9e9ae4ee45448"; + sha512 = "022fb45fd0305cad23853277f2b18d22879a4d0523cbbb73a65209ac3d2a87782667e71c6903a6b944aa824ebe8d30421d511f346df7a511ae1f7c325d53de41"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/pl/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/pl/thunderbird-60.8.0.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha512 = "2d7952a4cc934da58697dc2ae8067a6ecc3dc1112ab32e9592c8837919c55487a9e4c84ead5520bdcd551d5dc656cb9b1a913913f8e0f2b2b79c07e4889f46cd"; + sha512 = "ecbad62e54f5b49fa89d0f8d00ccc3315cae71e0a46b25e3bb72b117ef4a8271d9374d82352a7ed75bb93fed9504ac883165911cb6423c5c993d75ee620e27c2"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/pt-BR/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/pt-BR/thunderbird-60.8.0.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha512 = "e26d527c462e4682375ca21827a8d4decfea599af0e8e0dd399de0e511f9ca0d41584847067f787f5df0e9956b65c0f9da5edd68e9edfbe4283e5fa3ec6d019d"; + sha512 = "e9f2180eef290f0d0fb3b91eafafa7ea0a8cbbb7acc01758fafb56d6c56caa0ac5455b728013ac88d50757830a7f65a3e77423417abd3ee77238657c94461381"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/pt-PT/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/pt-PT/thunderbird-60.8.0.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha512 = "815769609ee977104f0819099233c4d8ef0a7ad87219e09dab564d1a6b98534e26fd0f6f07458d762cbd03e1a74f152fb4bb4707430c06e3b6322c4f23b17673"; + sha512 = "20e448cdc26b9a27b2c42b7baa09d299ea9ea834bb3bfba284d5f907bdfe0170ba7ef611e0e7ddc1ccdf296781401fe32b80f5e909b68c12a23652c06b3c93c1"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/rm/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/rm/thunderbird-60.8.0.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha512 = "8e0bd0cf42206ccfe5de8e4a5a3632b67603e88acbf72f7b4154d1a4d220458e1d6aa57877da728d9677b6fbcb88ce8c71ec1fe7a153a3db82267533a2f15634"; + sha512 = "62d71bc39dc895514eb2cb957205ad7379ce95bacf6d75e193e0d9eca34df300dbbbb9df3e4cf200a5c1266b1747949df54a969edae62b720b10d0d756ff4c08"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/ro/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/ro/thunderbird-60.8.0.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha512 = "046706f9701bed310895bb39704e6852a4323efe25425355cfb816033814682b5150880fb77e72361bb4893f52be08598ba29323fbf25242dece1ffdf4fba570"; + sha512 = "2a506e9c7d1f752452201ff78c0a2d678115404294200ad07317672220674eb32227dd7b1f8af65ee91ffb4051beadbdbf2da2dbc243d14d22ecb81dd004549e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/ru/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/ru/thunderbird-60.8.0.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha512 = "3e348bfe2fa4fd8a27f5aa5e7d32b320577cbf5b64975392dc8a9fadbd5ce1ca2927b4a9563b7a3b578df80d6b0636c032380a1da6d750d165a20df5bc898d7d"; + sha512 = "c76e85ae89f1d6f878f5ff745f76860a18d053d13c4deb6774de9e653e841273c09fd7297ade76ea390a30ab0d2af280a0e6b2d929a50ada2ea37c32c2d68d7d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/si/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/si/thunderbird-60.8.0.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha512 = "378a9ccdb98cbc0df37663880a141080ab1f312d17b9ddcfc3ab7102c55bc130f46b79a84ebcad0fc0844b1f511bf910db644b9aa2ceaeaf0191d079cbf9ac43"; + sha512 = "92617456dd89e933130992a15247bffc9c8ebabbec41b061320ae6be8d86ef1af38c1469e633ef9dd312da8f8bcac99545077fb23665add9c82c0a38f538e56d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/sk/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/sk/thunderbird-60.8.0.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha512 = "c0c3e097f4b23cd3c2d184bf03a4e8027003a0c143b09e89dec457df372b239f7d045aeea0b3e106c1ea60b9100103c17d82e611011488275c735e25b632c0b6"; + sha512 = "8ab573b0cf04ae24f0ce5f1b8e79024fac5e33da2e80ef28837b7bb941512d01396759b34ba4fe87bef74a9385d5b7fb8d656429c110a38e0ec30ba21c01dd48"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/sl/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/sl/thunderbird-60.8.0.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha512 = "af5cdbbe141e5e913d5dbee9afd02d1aa452683655224091ea4956f4caa28a92ba1a3bf4d7325011181e11f377aeb0990be30c0409e3839b693040b9f0154ca8"; + sha512 = "4ca6019ec3420487ac141bed30efe310d4c01aa2d7adf16fd97ad543cc90d14611d270074c5ab1c52b90c6ac9cfde5f5957c323189965ea60c2f1110abf4bca8"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/sq/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/sq/thunderbird-60.8.0.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha512 = "3cc134a77f4235c09ba95ea60e40db7a0be5b3663dd655ecf8cd8e490804e9c22d467783348bec53c4e73f9521e063e6b6e55ea5508ecd7687536bf1bf173ec7"; + sha512 = "1a47ea68a8435099883a502e65e31aa0e7c14564f86e6b4e4937362fbad3b9771efc74df4ef92994c1ac77130fef228a1c131d0eb4508a5c655e2a4b3800d1ec"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/sr/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/sr/thunderbird-60.8.0.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha512 = "f0ecea0810eb21b78c099d5cfac3c9825114fabc608a52244d3394b8af1e296bb76f5b8656d164faf80d770c2be84ad74f0cbb8a71029fe6fbd0a1da4c193444"; + sha512 = "dbcf13d0333d1ea714b85e542f5bdcbc83bdb2b3f8c3dca829d4b224a0741fee36ac9d2df9bd12cd5505fc972454b990ccf830d71926f65a4f460be2fb7ca937"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/sv-SE/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/sv-SE/thunderbird-60.8.0.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha512 = "a0676f15038b5aa4323dd0a5c4769b55da3450b72982bd0a08b24a1c07ec27c5c267042508109111e6aab181904680072aceda154af0363ccac1f572215100d7"; + sha512 = "7602c9dab1202e84822d537c0aec36d1705c259e3d5f34ce6212363450e1e0dda508ed36ea999467be2f39b991cd21a6f8a153b0aca87aa70ba62f01f078bbb8"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/tr/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/tr/thunderbird-60.8.0.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha512 = "02be00e15e625119621eda8c8204cedc13bc6a71ed020bca4d2fa4f0c2267150638ea01b88adab61b6ce76e91ea6e197e3ab981f85a253b253f652ceb74f6dba"; + sha512 = "0fbec00596ccd59e54aaf23058e96abc6ae672ab55d2a7ebd0bb20c37c03f47daa70acfb981d9edf48c45a75d0b0a02328025e100dc4b344c03e3540089b1cbb"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/uk/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/uk/thunderbird-60.8.0.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha512 = "3a785b5569bf9d5c95cd3b8bbf7d8c07b0e994a2bc239a755106cb21e51032a29039f0fa5a1395a803fda106b2bd2b8a7d802acc48c406fee698f2d7c2c3cf37"; + sha512 = "4f1b0608f55f945552bfb3ff28fb93b52ba8a180426e6a101c7c849a48a65c13c78cdd707c8bcd6bc02f55942750c3d34151a4f674bbf53d5e1aeb4fa5d8b974"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/vi/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/vi/thunderbird-60.8.0.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha512 = "fc684e3f3d9614a386e1f2dfe6fe7b3880be13335b567c27ef7c593dae97b6d4d2d272a14747de77d09b5ef9ffb2d860e2cd1b2f4a833a9f570c1d56a2548fd0"; + sha512 = "e3fbe83460505e135427c773650151e8d7d4d14df5a432392625871c561f6cb0c4eacbeb73d1078f4e3b195014373735a1383a472f6a85d9adf76d4b98929689"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/zh-CN/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/zh-CN/thunderbird-60.8.0.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha512 = "748c1fedb6b1caa3f6037c1554af8870ebd8ade3b242f5a7561c8085b70f13aa4452e0ad61ba5d9430455246468f21edb92d2651f36dfb466529feebba662c66"; + sha512 = "050cf6cddd3a4f7f56af9f271114d6aa10e032644a958e62f3957d0df61e6f6d92e2a21fcd203a1f45dab7127a652a0dc192993477570ed82726fc9765372dce"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-x86_64/zh-TW/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-x86_64/zh-TW/thunderbird-60.8.0.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha512 = "bb25cbdd2ff483c20d3fed558567c82aaba2eefff5919bf7f513d25e44f1918377e17c65028642436f7c5f178249a5fa389235268e3b2b1ff00a85275ea8ab2f"; + sha512 = "566a7288a7819ac3bf72ae97fc10470530656c2c4bd75f9b06b4e4c1c07e0e80534fd3dc14081c828a7aff3319d83ca482e4d8d15aa6e3dd02201ce0038a1de2"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/ar/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/ar/thunderbird-60.8.0.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha512 = "1976c20e7c5686ccc96da87ef5afe3dfb8d5fd5a9a0a24322fad8c09fcca7cf2613c2a029792799d417b6d1ef88d79e15697cfc41d7c7656f17685cfc4593c12"; + sha512 = "fa10e2e513050f8c62a0e53530a3ce99cc74aecb0b93090207531556a394d41308c599c469380b39daf178e775c61cf5c279b8fb26429652368ab0468dee4ad8"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/ast/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/ast/thunderbird-60.8.0.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha512 = "7327b5cfc0331811e932e1748c01e3365c02bc0e2a1a59620f066b5e02aa55b97b7d0d62f7c45d920f0d9fcfbb30684d8ea504ae404494e19173cfe5dd3ada52"; + sha512 = "a88c415580fe8b5a1f83468afdcc55714abc13eb53c6b4a8b6b4779837b0668934c58ce40928b8a215a099fa06cce957754ac714a941172ded5087f09b8b2abc"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/be/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/be/thunderbird-60.8.0.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha512 = "7188c82333bae58b88ff4dbaff493161dcaa0f515d26d7bc15984556265d11efb526a0597d84e6db95d2a65384745a4229945f3f82d26e62d853bb8faba7ee11"; + sha512 = "d0c7edde8c6d2b2daa4d2389781962ebbb8b11e2b6ff4f0c79a15052cb65e869711cc18c5ed86310800dd5fdacb4d594347663a440ad7caf874599bf9aa696d1"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/bg/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/bg/thunderbird-60.8.0.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha512 = "979c588c3a6bee2c712310879ef2f971731f2bae504d5631d30ce53fe201bd22ba0d5dce0a4b2758c994f6ddecf3a3d4c04b3c173f575d39579fa8961d60b28e"; + sha512 = "f5fa777606c529b5d5d85af9ea1bc9d7bae55571d11cb02fd46903643bd2fb9bde0dba0eb9e3b8a0276b004e40a12bcfc8b35f0a5d0445b1d6989caaffca2ed4"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/br/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/br/thunderbird-60.8.0.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha512 = "fe36fb26ab14c7da712a077199ac24c22e7d8a892f35246e76579a70062476dce362fdc13911332b8a017d57a51e580227a5ab774ee1b8156711ce432e1c958b"; + sha512 = "673478f9995d4b43c3a67abfe876004e71871a45b9b13fa89b5266fca48d1edd69b601d34ce4d007080346f99d8a6ad61a47bc891b61364b239b24a1066da75e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/ca/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/ca/thunderbird-60.8.0.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha512 = "2a3ae6a3e3297abed7d1202c55019dcfcc71658345cf0e35ebdab765ab9d35408450e5d7121fb5767409f6923e07ada832221785546a417ae390bc1c8b376cc0"; + sha512 = "336e500bad4e173a675f24ea05a2507c8729a30c9bbea2659135808bc04fa31b0306ade3073c70de22c76827f0494d517d9ad95fbe03a5526d14bf3e492001ac"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/cs/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/cs/thunderbird-60.8.0.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha512 = "5195590d7687e942c6a46e11c3493d00c0e4362cc9dc1e4fef5427ff18161f48caff02f700c862da00753d8b9b7929505d1626a1f33b40c56b0ebd965cf00d04"; + sha512 = "abb309d772ba27eaea1cbf79436d21cb18eca0733f2ecbaab18778daa7ad55ead8471e76c46ef0e86cc0c95d4877fed61553a8d195c8ab835be24cd55af0e923"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/cy/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/cy/thunderbird-60.8.0.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha512 = "311b612736dcb1b70934f0df4f8fa6b58f01530abb41944eb7cd135b353839af39ee40ee8a8e3f337d1e5d0e2bde706d9c3454019e37ec09e1780b07f040adbe"; + sha512 = "cd1ad0258585f14ee8c5243f18841f80b1cfab41934efdc92871ad4c3d71708f1397836bc2f3843f769f2232c05ea9e8f3cc25c1b76f86b7658934e4a331a6e4"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/da/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/da/thunderbird-60.8.0.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha512 = "6bc22359bac0a2d16a25eaf4d0d43fd08922870a36c437f5476d945f2c2988b749e46210b61c1b78952a907d10d1c5604a55585d08a4b1808bf59ee32cd6f816"; + sha512 = "7d9fb57f9681934f8e564c92d80acf3ffc8df1341346adfb5c4fc13738a5068aba7cdf6ecaea2937bff076b66a6103cff95fea27e2a6a7b4b545b78b2c423a4e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/de/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/de/thunderbird-60.8.0.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha512 = "9e88dd66eeea5f77720698d163108e1205dd05c15b6170a7dc8a66c39d85aa58ab07f5f8a55e5db3660056bcdc697500cd64ca720893a54d9737bd34ce099ac8"; + sha512 = "f5c1c01677f4605f9e4731681d1e9e1395d2fee6fc32f88ae8f207750859887e0a49b2d95bc27e4311b05c6af2a390866662f79094e9c3a55e4f2bcbb92f60cc"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/dsb/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/dsb/thunderbird-60.8.0.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha512 = "d94f8ed0d637cdc444459d5e79d9f753d290ed0fea0557a0e53603ff1f1d861b9c436219b000783be67acc0bc1ea5d226e024faa8ddd73b259a10807705996bc"; + sha512 = "92171f0c8140b360953c6b5310f260503d17d1da71e795c91a4ec80fc4cc15ac43405db8f345c0675233dde4d89f57a1db3177c3699f241fc2d4d6f43cde71eb"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/el/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/el/thunderbird-60.8.0.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha512 = "e632ded7de7e269af5e8dc2dc14c17dce3b15fdd33c00423ecc51e5067a98fc694d600022ae9d0126630c9c9d6768f805dd6bb6492d658524f37ecf5a27dcba7"; + sha512 = "1062d28a437aa854dc213e632afc0e41edbe00d4398601db671d14e39fa2ee832c1fe6d263e7fab3d8347b4b2cacd541cb9f4b1fd640aa4bf97c3bd1fe23a2ff"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/en-GB/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/en-GB/thunderbird-60.8.0.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha512 = "00b958aa333c0ecf1048051be9c9767949a2c21e52005134ced1e2f25ff1dc4a15b73225fe0fcf7297dbbedbd0a02a75262c100e2f59ee8fac6403e8bcabf6b8"; + sha512 = "61dd1c410b5c87ca41eaf303f85a5c90b5c65fcba5a75d93654b3a5ff898991fd59b89ae772876c707dd7d5a2767fa607b3ea0c2f2c57ccb73a7a75720157f43"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/en-US/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/en-US/thunderbird-60.8.0.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha512 = "150f6674dd95932c713c275eb24194197ae52cb4ac08aac49c1c6302e3734cd3de5580878b8d73c2dfdcc18df311654920914d9562ca85f580d560c372f5807e"; + sha512 = "5f989316cfe29ff75adae5feb34e6914f25e6e7980c17fe902d70deede44ebe54052d2540cfbe3d4629e927d9f2129edf19f659bb2cae9f09ab984be7d47aaaa"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/es-AR/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/es-AR/thunderbird-60.8.0.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha512 = "eafefac3a5626c713d39f032ffd11cf65b733dad78f6157a0c83e55b0103301066d825d1cc47017101f8b09e757ef92f30654adea538a00f9e0f0d60b1248c72"; + sha512 = "45e0eb7e51110bc892cab458286e5c37f0aca4bfc88b01801c184521eb3bde33bdfc78758a67e7337be157b7507891874def8e7456fde8483054fd9671f068b5"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/es-ES/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/es-ES/thunderbird-60.8.0.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha512 = "3dbc541e002c2954e427327eb20bafaf126e157449c4f68f2cab2781097faa5a15c73a07bf27c9a841c02842f028bef3f43618781e9b29a1cb86bdb533c2c91e"; + sha512 = "a8dca85c7ecc2678cf48de000fa4e46432a28a02ec200447789da0213d01841f142de45c0c93b52c8952248eed7e0afb12c1f84026dcbaa0b47ce8b907bee779"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/et/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/et/thunderbird-60.8.0.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha512 = "3ab361983dd178f1fbeb97a79dcb4fd13841d1556821a732e29543071b5d8de054da7488cdbb4fd12b80e2b9c7409c0fe177d9677b0d2333ad49d1dfc6fb03e1"; + sha512 = "d212bf0d4881094835f156c277015e37f1de4d1927d2f89bc993071f50eaeb604913022c3db948baabb1d76b17a982bfd1911050c46bab54fd3ffd4f374ce378"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/eu/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/eu/thunderbird-60.8.0.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha512 = "e17f1e2248eb6a48e74780b1a908427656af1cf7f9b3cc3a1c3539c80dcb870126e90908b419b56c1cba7e445431b3802ba8e19a5516fc704c383a31c1ffbd5d"; + sha512 = "14602ea4b22210049756484646fe538cece02d7a23e6079e7020ff30d08868d353f9d59fc831e1b600c061faf18f5af93a67ac95cc2f2f64a137c430d6ea6bd0"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/fi/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/fi/thunderbird-60.8.0.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha512 = "3e054a95162fb3469ae4cbcccd8c285058fedc661b63cbc43d94359341d971a86f69cfcad307ead734ce22d62c8235a817f943ad111a13e5d7af445bfd905431"; + sha512 = "aaf723df2d042c7fca5457b0646998c7ed799d0d24021fb6de3b66d35519a7c189844bbd4a2840b884915995be4ec191455bbdbda7f5711831fc7702232a5d12"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/fr/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/fr/thunderbird-60.8.0.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha512 = "61a3766fdedfd5dc45c203616c7c99c2d72d172d3e9577234d9539e841fce33c495518460262a2ba4c636ed9495a734d13e7ecbf193edbf5ddd81a767e03f8dd"; + sha512 = "9dd7e8c61049f4de1d03c73e1b7a1b38e244ad67be84dc6e4a53b94dc810d98b35e49b199662672f0954cf87cba7e3df75ba11fada1b74e8096d866131b08550"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/fy-NL/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/fy-NL/thunderbird-60.8.0.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha512 = "3068d8570dada0655f5429064903cb9218fe82e472978f269a91600dfff7a322a3cb3dae9dd24183c7a7ea0184fe520ec32bded34ec640ad3fff7d721b96c69a"; + sha512 = "aba1031a349f835577a06cbb8452760c4ab65fb1c8a7183e92556b6d140814f16e794f4a5305e789aba3b0c10703006641546751460fa5fe2a822835881d8e6c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/ga-IE/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/ga-IE/thunderbird-60.8.0.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha512 = "ed51255886ccef985c9f684fc7a5f1ba902f8ad256673e4348ac3b5e67445f470e8f62fb5281ff63c4976c92b8f6461f4ed1f5da920e7911b2bfc36d7c86b716"; + sha512 = "9172d99e57d02a676f9bfe3373fef7448a2d6f70f3de8139205c55a37c73c5b70133373763daf8c58adf2acf4916cfb34aee60a431d55aa94cbe95e8e58430f3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/gd/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/gd/thunderbird-60.8.0.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha512 = "4a0daf723de4828687c9dd0b037a8aa9d0acecfbcd72e21b50b737fab5dc8c4689cb8574f8093c1f468f6c52b3f4f05ec0106fb48e005a533fe4f81d94345542"; + sha512 = "f8449e20680cf02220e009f19b2cb66d1354941c0deda60086ae80f1d3bdf2159a8b5bb45a45c480528437e78d8c71c00a8ee42827b3254e37c83cb8af1d3de1"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/gl/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/gl/thunderbird-60.8.0.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha512 = "046e04f0d9a1c8d1666d81d4fb26a479ad84a243365dc8df50034df3a7e504244eeac7cc0710d81edb122faf022ed94665d77af70fb01ff43be0c7d1dd056e2f"; + sha512 = "04d8babded176785625add5bc9c457a0ff380c293579a18146924e57fb3782017c12d5569d10d2a3f1fa872fa8eaa87bbe5f1ac5f44f05cf5d5f3936fb12706e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/he/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/he/thunderbird-60.8.0.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha512 = "aa6be15596e35530ea8bcef9739d462b1836d5d7d11e540e307e08034458efd0bd890d61dd72aafa4ee93c8295e2f08181f498579fd01e686205a28152488290"; + sha512 = "2b77c7c4044c73257f24f1961d431ae50cc9dd0b0f2a58464a745ed3888e957467e6f35dba904a47c3d8d84aba81827184070ac6c12ecccf02760202b831b578"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/hr/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/hr/thunderbird-60.8.0.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha512 = "28ce82024616656b4a81a2ff82be23a243306c4209f2522bef63b2b4e1315c3dd007a73c20065972d3ef05938411489b4cd2a63d1e79c7fdeac4e7d752ad4675"; + sha512 = "17d68b938531b89eb8972fa315fb6951821a1a55478a801b5697afe5b84450841ac66c8aef49a43c4aa6acec4f81652a1de32a3acbbb41ee6cf0a4ed9f03acd1"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/hsb/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/hsb/thunderbird-60.8.0.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha512 = "70c9095d1e8d63df6aa1544d4fdbf2642679cdbc20ca610de2e66bc15c6013287d079c65b93d4a04566d116b160f0e82136e2d9706083a96aea6045eff74e240"; + sha512 = "556b441cbd6e9a34e101385484fc292e3a2edefd39dc8286b5880c66ad558beecc9206084ed0ee35aced87ba0325fe737f6595cf3ddbe4d3842b10bfb535ed36"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/hu/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/hu/thunderbird-60.8.0.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha512 = "fe965925e424ba1023443c5a77e362f1c8880c04a2801c8956ee9873a3027eb1bdc61cbdb2d016781df6388a853a754827c70a2aa200917c854fb04865da7495"; + sha512 = "7a355c9ab063d6b6d8c17d1df4e30a3c2511c4f9d78be578a1a0b73e4728bb08d917190249baff08e30fe76eda16bc889d64ddba673f51067dc3b1957f8ebba3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/hy-AM/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/hy-AM/thunderbird-60.8.0.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha512 = "b2f47f578df59beb27200421229b147d83a1cb6caebf6796ea8edf52a0ea6890386d48ad53ada738fa9e6b7a5232851d52c4c656f740d4735dd550c47d3a781f"; + sha512 = "b5a94db363d6a16507e71fa0d6d8928b4c8d14b7b6a35e287232fca511caaf9f7852db37502ed9ac0fcba65cfc9d3185db8f08d7dd3941df660e083f0bc6c6a6"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/id/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/id/thunderbird-60.8.0.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha512 = "ac1719151c4f729bb66f4e2654b5159de27c6d22a6776f24615938e769a01036273ba551fe38fd0ed4560fb853427be0c65c387f76ad3c01aca144e90b7e9c48"; + sha512 = "6a94778d20665c901005150fab16c4fbcf86bba10b7a1833b7d89d3e76a7b90a0c1e755617ade294fb3c86611a0f2bb0e812d1b282e66d2a63e11a2f25b9da1a"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/is/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/is/thunderbird-60.8.0.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha512 = "e28e6a3691cbdfd1b03e88afe747cc51aceffb7a0014fc9c86c7403ee96d3d12f9bd6f49ed4916d8ff281d1913ee39ad9b41851f8cc285f8834db9c50545c4c4"; + sha512 = "c6f89a98f956ab17bddc6250af88b1422a347733c15d12a720a8d84ffbd00142afd09b80bbac39dd14907558dc97f33890a091203c1f907dbe0df5f5f12a87f6"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/it/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/it/thunderbird-60.8.0.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha512 = "b1ae4c0952871bfbaf673793e02a9c3c283be87523e421ed97502a36377f1388b15ab77370b757daf411714803fcedbad1c8a4aa21241cedca394429ecad5990"; + sha512 = "38bcd03bf02276feef2321503bedbd7b8e8c609f48a038e660e522af5cad603ac642622f8b08b7aa870c1bf50b136d09034995941d14fa574ff9ca4f11d3cc66"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/ja/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/ja/thunderbird-60.8.0.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha512 = "b6b1d702f446aaf50b83fdc5019d7130613cca4f9c9be363701c897f33cdfd4c794c147e7e3ff85b61da54125458a2da4f84aeef76b4f8abf4fd3faeff4301bc"; + sha512 = "e91f0e3ee53575d9e3fd02be22c46a8aebfe2e12998db77f3bf73c4756d4d615341c20fed031ee0b146aa1e9200bae3bb92c02da18bbca6e99574c46e2049f01"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/kab/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/kab/thunderbird-60.8.0.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha512 = "9b0c45f7478bd2ec0668d0c4238b2f8229da7d12f4d6e56d65c22323bb54a6ac55d18acee22b13caf63bda73bf097a039b2aa85bd96befa2169845706083fd55"; + sha512 = "a858c81c5fc9110757328df3705cfd8ca1bc61ca173448f411a849bc3799b586e7119e6c4ecafd12d0522ba37463092271b76744bc0a7fe603702627f598ad36"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/kk/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/kk/thunderbird-60.8.0.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha512 = "12fa4f57e1b0579ead0c7f7f223fe9328898ae999b8949e0dc1f20142eabbfaad03c16a53966d2c0966d9db44133c001f56c97c10a6f4a5acb51e6e30b922f78"; + sha512 = "1bf45fa38562308f4285c5bea746bafee65f498e5b4f4d1971e7ff68cbc5b8d3e6c7a32a4318100f1fa6bb203a12e3dde14df25a70aa1aad5d6279766b398c2b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/ko/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/ko/thunderbird-60.8.0.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha512 = "a6979bf472fdca68df1067ca8341353561741e27afbad18a96ad6e810313f54a8ac5f96c58955ab4d5fa6f4b4ec468d6e711139073f35e9bac45de81555b345e"; + sha512 = "56e59aeb1286ec53ee558ab029476b72ed4094504123bb93abb3e3425f60065d66c9de83190d6f00528045f934d4775dfa555243f13fcdd540ca522e9f825740"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/lt/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/lt/thunderbird-60.8.0.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha512 = "47ea6c107bfbd196ec6ca5fafa0c856ac86bf16872ccf259afeec384f5f2157c9a7263bb2177ef79c876ba9f3a33209cb6ef7ceee0bae8877f0272e1a8fd4a9e"; + sha512 = "4572fe9803b28c6f94ac4e1fc5283d2569723698c4295279099bd33358a33cf50c1a49bec70c001dad65d19d30bcb215d50f2084b458143d338b8ecbcea1ebe5"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/ms/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/ms/thunderbird-60.8.0.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha512 = "fda7fd25d3d72dee67e0e51c1d2c50ea66e1c574cb0b22c4c8476a7252a61209d5dd7ff5c5e918c9dc959064d048c75339fed5215a5bff53e4954f6ef56aeb14"; + sha512 = "fd1a58ebb66a39fc00ba20eaf555cfaa6124cc2e2fa7b44e1d4d7f1e914d86a0617f1be8d461f952196fa6dd8d29ae622769e5e6f8e4c0eb30b757da62d3864d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/nb-NO/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/nb-NO/thunderbird-60.8.0.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha512 = "0940d7d24612f7e526a2c4d21c7d23a2a6577c5599abd98e73be338cc7b9c1efa33af69d644e62e1e903443b8458786899052bd176bb7e99ce44f4ed846cc532"; + sha512 = "bf4663ffe717d07b37e4f6741c9d6a804420f0104ac9adf152f73900d89818dddd67b1d047bf3f095d1a6ca7ac9da8e2132567e11caf486588f262e84e87905b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/nl/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/nl/thunderbird-60.8.0.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha512 = "9af66d8294797aa2586b7520e20f88110c7fd807ba4e27ff62fe70308f8f5ea94dcf2d17b9a2fb8e19f10961e470736932b785ba936656582fd4a48071afb43f"; + sha512 = "b7f7a989fe70860eec8349cbf85a943c0a5e7e4c9f7ae2010309adf96778797b036847e6860c0d89213c51c3c01ee1e9e4dfc6ba4a45d31c6ec4b6e9cc7e76bf"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/nn-NO/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/nn-NO/thunderbird-60.8.0.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha512 = "94240443b68053b4ffb7a256362a6183f43b6241ebfe479ce41b14b5bb9e1973a1c027f73baff35be9b448490cb0bedcf2b458049d84cac2082eb196ae5fbbd9"; + sha512 = "b2a8a72ce49d15c0629e038deaa8fef4b93893da9198e712daaddaadd2169c4781fe6c2544f33954d28e4be30048716a80c20063a13ea78f0ff3c466ee814cce"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/pl/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/pl/thunderbird-60.8.0.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha512 = "3af095626b358f4e9074554539b8e204a47108bccb02a90e9f07c78285a05ca2c64d8a2e06935090d8de4ba50765546d7cf9e55cbab8cc3d3eca674569df3d8c"; + sha512 = "e6d0f12754182f5bcfaead0bce7183a7f6527983f8a4ece9b9f7968d87d9c55b06257c20e1dd4bcd82be56961a08f6e20d7140cd8239531e2f346bd4c6aaba1c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/pt-BR/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/pt-BR/thunderbird-60.8.0.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha512 = "cc5357923dcee1979760a889dd53512e3bb63db085349ecae02f4909353a2518799cb24bc36de6ed35853e8317d71672539a52998a62f968ff4c4e484cdd0489"; + sha512 = "bf1fa8c66264ef98b4d192e794cb789ea0f062f342bc3aa664fd8e228acae045dbff4673e31b5b65754eb80e6af2581b3b540b3fbd3e1042439caad9177f7499"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/pt-PT/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/pt-PT/thunderbird-60.8.0.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha512 = "a9fd7ffcb7633f17b183a12b4d290822e480f59e01c8e3fcc2e6fea0cf051c73396c2a5e41dd5d897e98a8199aeb4dbff737f06b748c57690541abefa42bd283"; + sha512 = "2b503e6b87230e4939c09774d9e7b70130e42ef4bdc0e3500563fc0848f138b7b569d37ba09eb676efa6e0d9b245d49acca8c740ec44abbe25b57a8546095871"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/rm/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/rm/thunderbird-60.8.0.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha512 = "5cc3f2fc6f84ebdaa298e96b0a56d0d6b0ea87a1df68eca17c558cf603296e83e7644d90e29183107eef1cd045084730f4311c603f546a29a495c7a443ddcc30"; + sha512 = "fbb4192fa466549313d874d5b48258d3d133040449f96c55270a5ad25798067b921d0336e577081985e1e0cff28aa17d8b1890e77aa3cdc9c369e5e416ac20dc"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/ro/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/ro/thunderbird-60.8.0.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha512 = "ed57227fac6e43ddf68837de7252fa8f57df399122653a533e2e5826a8fc48abe0bd1ec4f1c213473b9764d69b65ec905963554aa3b05676ae0cd87e64ff9f8e"; + sha512 = "5e6ca640f36f44b8d6594aa13847acf16b7f5d96d21761fc43b38b16d39deebf6dd30cc2eae778ec1f8f37408451acb19485f52ae3e701833103e59b6e0615e4"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/ru/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/ru/thunderbird-60.8.0.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha512 = "9f520da05a7968e632fd262cef964ac65e3e1afc0e70b279af667cff144784adde796862b5d4a66d64826bea70e2d4a76fab69c1fb5181d9038f9d2a4f81cd31"; + sha512 = "4bdaf5e71f18d75554a4d954a802390ca6689d07b3ba16de8654b6557c874622ad2b2d587d8306edecfad47c1bf89550378d478377fe49b0e87b5d4417d05840"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/si/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/si/thunderbird-60.8.0.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha512 = "1a9d8a911bea3ff6e13e02ce3b26271dd9b0755b5ff78982b82ea00fed6e760b067a3a8733c3397fa1bde300f44c7078c37638e79ac18bdef08c820a6dded86b"; + sha512 = "096ca4b2efe21c92d041b5fbcb5ac19351d39b339b0686fbefd1b127f7fe1da8b31dcd9135149006a71b664eb9f98d729a48da4f138af250330b60f80ea07f11"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/sk/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/sk/thunderbird-60.8.0.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha512 = "0220c4ff8a2dbdbfba5dbb381983a4394f0ec4d246407d7d70d035bf13b8b9d220a73d1f10782c9612ae5521865761ac169cc96d19e4a903b785dfebf762760b"; + sha512 = "101363485e58e8a733523f103994c0abaa520ffe758a0ca39db9d5cebea273bde9a93be489d49db67a37130191a3e54ab9454e74cc392c5e0a163020a740149a"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/sl/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/sl/thunderbird-60.8.0.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha512 = "3eaca0ba175d97478171269c6027fc7e67780e97dc9a15dc966c8d22c7ac26984f041ba2f94470d4cfc2988f13af29d9afc7940339f3bbd3ea3ed0712855a916"; + sha512 = "7060e6918d9818be407fe568caedf7e65738ce6335e287ca9ecee9d7f7be9d00599364b8d7b1033c7943d3a417fef32cd2e6912e832ce0e5eefe6e04db3a7dcf"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/sq/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/sq/thunderbird-60.8.0.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha512 = "006b17fdc8201c493e77465ece97373fb23fdcc6d79ee9b9d88c544f338b88dbe51c1bc9f27fc41052c1838eacb604abe04c7b43ead49a0ee02b6591a74dd410"; + sha512 = "56c297aa61bb50517a5cf126e506cd7fbedda6250434a21423581b2a2cd79352f21c51265f7e3fa9b60636c8e3bd6dfedbf81c058daa8545f5da0f02837e0719"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/sr/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/sr/thunderbird-60.8.0.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha512 = "4908bb89bf199ef0e8767ddba6defe78c42ecbdfeac5c040811d1cd2b445407a0365cfeaff39cee5610a15194878d1700da194efdb6de570188ba7e5f77197da"; + sha512 = "95f8bb13b4ecc9774452b799a8ec06dc6abbb585471f5f2f9ce38e4af733fcc99132b66df73df96159872ca6e6285a62c86e61e4d389c2c96da547f875cb9841"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/sv-SE/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/sv-SE/thunderbird-60.8.0.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha512 = "c149b2a11dac65d98c64fa4b548573587ddf540c7de925d983cc9da63a9f55cc9138988adb32fd189a25f6f5baec85542fe8663eada1f7e16dd80e50069795fa"; + sha512 = "fc48493a7873299d4c284c806fe2ba856ff197e5f50bb57d3fdbc95eda062b035f98318c0f5bb4d1bec63dedae486b9872e3f1718b922a1ec8da311796794121"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/tr/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/tr/thunderbird-60.8.0.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha512 = "dc45e7cf29f2b3798c83ccabc9d110bf622e0920ca7bee8bb6cd9a4d793fe7df5e7f78677b11c00e43714111bfc2ea2a74a8446026612afb0d54e58fd4e97797"; + sha512 = "649527a4c603798b0f726eec995d721156c36279b1aa5afb956fe64ef40298956e1abf6eee2d15eb3f5e4c9c5d48ed804eb425483456adf068084114b6d5cae5"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/uk/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/uk/thunderbird-60.8.0.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha512 = "c1d04517a50c0882cb442221e71e171993015a36e597361708f858989ca1b538c8a48c6f40637a382879e394c471157e05543494095560d1c5d60a4d31d56398"; + sha512 = "2b4ae669b99ac9a7b20eef71b7dd6d5ad2b20ddb516ba1b3fce7dfbc783f0aa945e8f319b71e8912b2d72b78025fbdcb355ff96be43ffe828d2ba1ac4fa00d41"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/vi/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/vi/thunderbird-60.8.0.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha512 = "186869df9def5f892851496c5a8f3784d5f0ed5a845d8330906c1242c5c856dc284ada045a802f83d1841007eb6aa9ea7098e3ca5d8d17ca85530890e2b3f13e"; + sha512 = "5808e5e2a75cf63366b190dc67177c8f1b2998b2001972412a760eac3c6a370aaf7e60d3fc7978783469163c55f69756637b4436593530d518dab27dddb6c295"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/zh-CN/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/zh-CN/thunderbird-60.8.0.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha512 = "8cd3250b0eef5018dc5129bcf4d1dae9acb2226fab784e66f63f6224cc197d7863338ba134f0523f1e17dce53f0db5cb23206ad98c8e754766f6f51ef15ac33e"; + sha512 = "95cf6871aacf5d36ca04673fe23277dcc4674dd5b2d215c1f453fb6e5f82d64774efee4a0538e7c451b8807bf930912a31eaada65248416c24e8e1382923d09f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.5.1/linux-i686/zh-TW/thunderbird-60.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/60.8.0/linux-i686/zh-TW/thunderbird-60.8.0.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha512 = "bde2b2bed5a1498fef39ea1da0c260a9876fd672282ccac6cc983973fd2a1d8cdc889e4439c4b9acc4b9016bf13d892e2dc387c3a9fa8166cabcdcee8fe9cf8b"; + sha512 = "8429305258abecd306e01417bff356a536ad7f6982705a51b4c35b26a83c18f661ae743029597d69466e3618f99ed71070071743c5821264143f78cad2b7aeed"; } ]; } diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix index 99a76d434b8..da817731e07 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix @@ -1,11 +1,11 @@ -{ lib, stdenv, fetchurl, pkgconfig, gtk2, pango, perl, python, zip, fetchpatch +{ lib, stdenv, fetchurl, pkgconfig, gtk2, pango, perl, python, zip , libIDL, libjpeg, zlib, dbus, dbus-glib, bzip2, xorg , freetype, fontconfig, file, nspr, nss, libnotify , yasm, libGLU_combined, sqlite, unzip , hunspell, libevent, libstartup_notification , icu, libpng, jemalloc , autoconf213, which, m4 -, writeScript, xidel, common-updater-scripts, coreutils, gnused, gnugrep, curl +, writeScript, xidel, common-updater-scripts, coreutils, gnused, gnugrep, curl, runtimeShell , cargo, rustc, llvmPackages , enableGTK3 ? false, gtk3, gnome3, wrapGAppsHook, makeWrapper , enableCalendar ? true @@ -23,12 +23,12 @@ let wrapperTool = if enableGTK3 then wrapGAppsHook else makeWrapper; gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; in stdenv.mkDerivation rec { - name = "thunderbird-${version}"; - version = "60.5.1"; + pname = "thunderbird"; + version = "60.8.0"; src = fetchurl { url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"; - sha512 = "1y8r96rzp1rv6ycn98l2c1bpa26gszhbijhrwk6llw8aq33xhx9dpqpbgfsnrsbn4a5ff14h8m9g82snqysrzb7ldd2i5lbas0pryys"; + sha512 = "1cd1ps4r70bnxn9kydljsp776dazfzfsghc5zwp1xz6p3cwb9g0gybj677sac7y3ma2wsq1xbqk20q35n7gjz3k1zzhmpxyii558rdl"; }; # from firefox, but without sound libraries @@ -42,7 +42,7 @@ in stdenv.mkDerivation rec { hunspell libevent libstartup_notification /* cairo */ icu libpng jemalloc ] - ++ lib.optionals enableGTK3 [ gtk3 gnome3.defaultIconTheme ]; + ++ lib.optionals enableGTK3 [ gtk3 gnome3.adwaita-icon-theme ]; # from firefox + m4 + wrapperTool nativeBuildInputs = [ m4 autoconf213 which gnused pkgconfig perl python wrapperTool cargo rustc ]; @@ -50,6 +50,14 @@ in stdenv.mkDerivation rec { patches = [ # Remove buildconfig.html to prevent a dependency on clang etc. ./no-buildconfig.patch + + # Needed on older branches since rustc: 1.32.0 -> 1.33.0 + (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"; + }) ]; configureFlags = @@ -66,7 +74,7 @@ in stdenv.mkDerivation rec { "--with-system-libevent" "--with-system-png" # needs APNG support "--with-system-icu" - "--enable-rust-simd" + #"--enable-rust-simd" # not supported since rustc 1.32.0 -> 1.33.0; TODO: probably OK since 68.0.0 "--enable-system-ffi" "--enable-system-hunspell" "--enable-system-pixman" @@ -193,6 +201,6 @@ in stdenv.mkDerivation rec { passthru.updateScript = import ./../../browsers/firefox/update.nix { attrPath = "thunderbird"; baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/"; - inherit stdenv writeScript lib common-updater-scripts xidel coreutils gnused gnugrep curl; + inherit writeScript lib common-updater-scripts xidel coreutils gnused gnugrep curl runtimeShell; }; } diff --git a/pkgs/applications/networking/mailreaders/trojita/default.nix b/pkgs/applications/networking/mailreaders/trojita/default.nix index 2d96d033613..7f7296cd700 100644 --- a/pkgs/applications/networking/mailreaders/trojita/default.nix +++ b/pkgs/applications/networking/mailreaders/trojita/default.nix @@ -8,11 +8,11 @@ }: mkDerivation rec { - name = "trojita-${version}"; + pname = "trojita"; version = "0.7"; src = fetchurl { - url = "mirror://sourceforge/trojita/trojita/${name}.tar.xz"; + url = "mirror://sourceforge/trojita/trojita/${pname}-${version}.tar.xz"; sha256 = "1n9n07md23ny6asyw0xpih37vlwzp7vawbkprl7a1bqwfa0si3g0"; }; diff --git a/pkgs/applications/networking/modem-manager-gui/default.nix b/pkgs/applications/networking/modem-manager-gui/default.nix index ca8a4d0fb0c..6dcc35f44d3 100644 --- a/pkgs/applications/networking/modem-manager-gui/default.nix +++ b/pkgs/applications/networking/modem-manager-gui/default.nix @@ -1,7 +1,22 @@ -{ stdenv, buildEnv, pkgconfig, python3, fetchhg, gtk3, glib, gdbm, gtkspell3, itstool, libappindicator-gtk3, perlPackages, glibcLocales, meson, ninja }: +{ stdenv +, pkgconfig +, python3 +, fetchhg +, gtk3 +, glib +, gdbm +, gtkspell3 +, ofono +, itstool +, libappindicator-gtk3 +, perlPackages +, glibcLocales +, meson +, ninja +}: stdenv.mkDerivation rec { - name = "modem-manager-gui-${version}"; + pname = "modem-manager-gui"; version = "0.0.19.1"; src = fetchhg { @@ -10,14 +25,11 @@ stdenv.mkDerivation rec { sha256 = "11iibh36567814h2bz41sa1072b86p1l13xyj670pwkh9k8kw8fd"; }; - LC_ALL = "en_US.utf-8"; - nativeBuildInputs = [ pkgconfig python3 perlPackages.Po4a itstool - glibcLocales meson ninja ]; @@ -27,6 +39,7 @@ stdenv.mkDerivation rec { glib gdbm gtkspell3 + ofono libappindicator-gtk3 ]; diff --git a/pkgs/applications/networking/mpop/default.nix b/pkgs/applications/networking/mpop/default.nix index a48cc47106c..7d311d4bc70 100644 --- a/pkgs/applications/networking/mpop/default.nix +++ b/pkgs/applications/networking/mpop/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, openssl, pkgconfig, gnutls, gsasl, libidn, Security }: +{ stdenv, fetchurl, pkgconfig, gnutls, gsasl, libidn, Security }: with stdenv.lib; stdenv.mkDerivation rec { - version = "1.4.3"; - name = "mpop-${version}"; + pname = "mpop"; + version = "1.4.5"; src = fetchurl { - url = "https://marlam.de/mpop/releases/${name}.tar.xz"; - sha256 = "1di86frxv4gj8fasni409m87qmv0j0vmj13lawkz1pwv9hbynhjb"; + url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz"; + sha256 = "1m6743j8g777lijvxqw2wz6pv2g5a9wlh6zq7awk0hvd44xp4sav"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/applications/networking/msmtp/default.nix index b5973fc8d3e..fc720a047b5 100644 --- a/pkgs/applications/networking/msmtp/default.nix +++ b/pkgs/applications/networking/msmtp/default.nix @@ -9,12 +9,11 @@ let in stdenv.mkDerivation rec { pname = "msmtp"; - name = "${pname}-${version}"; - version = "1.8.3"; + version = "1.8.5"; src = fetchurl { - url = "https://marlam.de/msmtp/releases/${name}.tar.xz"; - sha256 = "1d4jdgrx4czp66nnwdsy938lzr4llhwyy0715pwg0j6h6gyyxciw"; + url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz"; + sha256 = "0fczpfxlr62wkr7bwhp24clxg962k5khgz14h818qyy4v77dl4qn"; }; patches = [ @@ -54,7 +53,7 @@ in stdenv.mkDerivation rec { description = "Simple and easy to use SMTP client with excellent sendmail compatibility"; homepage = https://marlam.de/msmtp/; license = licenses.gpl3Plus; - maintainers = with maintainers; [ garbas peterhoeg ]; + maintainers = with maintainers; [ peterhoeg ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/msmtp/paths.patch b/pkgs/applications/networking/msmtp/paths.patch index 38e4155a113..707163bff0c 100644 --- a/pkgs/applications/networking/msmtp/paths.patch +++ b/pkgs/applications/networking/msmtp/paths.patch @@ -59,7 +59,8 @@ index bdb4fb8..1363a67 100755 ## log() { + local NAME=msmtpq - local ARG RC PFX="$('date' +'%Y %d %b %H:%M:%S')" + local ARG RC PFX + PFX="$('date' +'%Y %d %b %H:%M:%S')" # time stamp prefix - "2008 13 Mar 03:59:45 " if [ "$1" = '-e' ] ; then # there's an error exit code @@ -154,10 +157,19 @@ log() { diff --git a/pkgs/applications/networking/mullvad-vpn/default.nix b/pkgs/applications/networking/mullvad-vpn/default.nix new file mode 100644 index 00000000000..b0786d742db --- /dev/null +++ b/pkgs/applications/networking/mullvad-vpn/default.nix @@ -0,0 +1,93 @@ +{ stdenv, makeWrapper, fetchurl, dpkg +, alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype +, gdk-pixbuf, glib, gnome2, pango, nspr, nss, gtk3 +, xorg, autoPatchelfHook, systemd, libnotify +}: + +let deps = [ + alsaLib + atk + cairo + cups + dbus + expat + fontconfig + freetype + gdk-pixbuf + glib + gnome2.GConf + pango + gtk3 + libnotify + xorg.libX11 + xorg.libXScrnSaver + xorg.libXcomposite + xorg.libXcursor + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXrandr + xorg.libXrender + xorg.libXtst + xorg.libxcb + nspr + nss + systemd + ]; + +in + +stdenv.mkDerivation rec { + pname = "mullvad-vpn"; + version = "2019.7"; + + src = fetchurl { + url = "https://www.mullvad.net/media/app/MullvadVPN-${version}_amd64.deb"; + sha256 = "1hjndcdkin98l6jv39r98zfw33qg0gnvlv8q80qsj5x36a19d4v9"; + }; + + nativeBuildInputs = [ + autoPatchelfHook + dpkg + ]; + + buildInputs = deps; + + dontBuild = true; + dontConfigure = true; + + unpackPhase = "dpkg-deb -x $src ."; + + runtimeDependencies = [ systemd.lib libnotify ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/mullvad $out/bin + + mv usr/share/* $out/share + mv usr/bin/* $out/bin + mv opt/Mullvad\ VPN/* $out/share/mullvad + + sed -i 's|\/opt\/Mullvad.*VPN|'$out'/bin|g' $out/share/applications/mullvad-vpn.desktop + sed -i 's|\/opt\/Mullvad.*VPN/resources|'$out'/bin|g' $out/share/mullvad/resources/mullvad-daemon.service + + ln -s $out/share/mullvad/mullvad-vpn $out/bin/mullvad-vpn + ln -s $out/share/mullvad/resources/mullvad-daemon $out/bin/mullvad-daemon + + mkdir -p $out/etc/systemd/system + ln -s $out/share/mullvad/resources/mullvad-daemon.service $out/etc/systemd/system/mullvad-daemon.service + + runHook postInstall + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/mullvad/mullvadvpn-app"; + description = "Client for Mullvad VPN"; + changelog = "https://github.com/mullvad/mullvadvpn-app/blob/${version}/CHANGELOG.md"; + license = licenses.gpl3; + platforms = [ "x86_64-linux" ]; + }; + +} diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix index 2d008492050..9f641061bd8 100644 --- a/pkgs/applications/networking/mumble/default.nix +++ b/pkgs/applications/networking/mumble/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig -, qt4, qmake4Hook, qt5, avahi, boost, libopus, libsndfile, protobuf, speex, libcap +, qt4, qmake4Hook, qt5, avahi, boost, libopus, libsndfile, protobuf3_6, speex, libcap , alsaLib, python , jackSupport ? false, libjack2 ? null , speechdSupport ? false, speechd ? null @@ -14,7 +14,7 @@ assert iceSupport -> zeroc_ice != null; with stdenv.lib; let - generic = overrides: source: stdenv.mkDerivation (source // overrides // { + generic = overrides: source: (if source.qtVersion == 5 then qt5.mkDerivation else stdenv.mkDerivation) (source // overrides // { name = "${overrides.type}-${source.version}"; patches = (source.patches or []) ++ optional jackSupport ./mumble-jack-support.patch; @@ -22,8 +22,11 @@ let nativeBuildInputs = [ pkgconfig python ] ++ { qt4 = [ qmake4Hook ]; qt5 = [ qt5.qmake ]; }."qt${toString source.qtVersion}" ++ (overrides.nativeBuildInputs or [ ]); - buildInputs = [ boost protobuf avahi ] - ++ { qt4 = [ qt4 ]; qt5 = [ qt5.qtbase ]; }."qt${toString source.qtVersion}" + + # protobuf is freezed to 3.6 because of this bug: https://github.com/mumble-voip/mumble/issues/3617 + # this could be reverted to the latest version in a future release of mumble as it is already fixed in master + buildInputs = [ boost protobuf3_6 avahi ] + ++ optional (source.qtVersion == 4) qt4 ++ (overrides.buildInputs or [ ]); qmakeFlags = [ @@ -42,20 +45,23 @@ let ++ (overrides.configureFlags or [ ]); preConfigure = '' - qmakeFlags="$qmakeFlags DEFINES+=PLUGIN_PATH=$out/lib" + qmakeFlags="$qmakeFlags DEFINES+=PLUGIN_PATH=$out/lib/mumble" patchShebangs scripts ''; makeFlags = [ "release" ]; installPhase = '' - mkdir -p $out/{lib,bin} - find release -type f -not -name \*.\* -exec cp {} $out/bin \; - find release -type f -name \*.\* -exec cp {} $out/lib \; + runHook preInstall + ${overrides.installPhase} + + # doc stuff mkdir -p $out/share/man/man1 - cp man/mum* $out/share/man/man1 - '' + (overrides.installPhase or ""); + install -Dm644 man/mum* $out/share/man/man1/ + + runHook postInstall + ''; enableParallelBuilding = true; @@ -63,7 +69,7 @@ let description = "Low-latency, high quality voice chat software"; homepage = https://mumble.info; license = licenses.bsd3; - maintainers = with maintainers; [ jgeerds ]; + maintainers = with maintainers; [ ]; platforms = platforms.linux; }; }); @@ -71,7 +77,7 @@ let client = source: generic { type = "mumble"; - nativeBuildInputs = optionals (source.qtVersion == 5) [ qt5.qttools ]; + nativeBuildInputs = optional (source.qtVersion == 5) qt5.qttools; buildInputs = [ libopus libsndfile speex ] ++ optional (source.qtVersion == 5) qt5.qtsvg ++ optional stdenv.isLinux alsaLib @@ -86,12 +92,19 @@ let NIX_CFLAGS_COMPILE = optional speechdSupport "-I${speechd}/include/speech-dispatcher"; installPhase = '' - mkdir -p $out/share/applications - cp scripts/mumble.desktop $out/share/applications + # bin stuff + install -Dm755 release/mumble $out/bin/mumble + install -Dm755 scripts/mumble-overlay $out/bin/mumble-overlay - mkdir -p $out/share/icons{,/hicolor/scalable/apps} - cp icons/mumble.svg $out/share/icons - ln -s $out/share/icons/mumble.svg $out/share/icons/hicolor/scalable/apps + # lib stuff + mkdir -p $out/lib/mumble + cp -P release/libmumble.so* $out/lib + cp -P release/libcelt* $out/lib/mumble + cp -P release/plugins/* $out/lib/mumble + + # icons + install -Dm644 scripts/mumble.desktop $out/share/applications/mumble.desktop + install -Dm644 icons/mumble.svg $out/share/icons/hicolor/scalable/apps/mumble.svg ''; } source; @@ -107,6 +120,11 @@ let ]; buildInputs = [ libcap ] ++ optional iceSupport zeroc_ice; + + installPhase = '' + # bin stuff + install -Dm755 release/murmurd $out/bin/murmurd + ''; }; stableSource = rec { @@ -135,24 +153,24 @@ let ]; }; - gitSource = rec { - version = "2018-07-01"; + rcSource = rec { + version = "1.3.0-rc2"; qtVersion = 5; # Needs submodules src = fetchFromGitHub { owner = "mumble-voip"; repo = "mumble"; - rev = "c19ac8c0b0f934d2ff206858d7cb66352d6eb418"; - sha256 = "1mzp1bgn49ycs16d6r8icqq35wq25198fs084vyq6j5f78ni7pvz"; + rev = version; + sha256 = "00irlzz5q4drmsfbwrkyy7p7w8a5fc1ip5vyicq3g3cy58dprpqr"; fetchSubmodules = true; }; }; in { mumble = client stableSource; - mumble_git = client gitSource; + mumble_rc = client rcSource; murmur = server stableSource; - murmur_git = (server gitSource).overrideAttrs (old: { + murmur_rc = (server rcSource).overrideAttrs (old: { meta = old.meta // { broken = iceSupport; }; }); } diff --git a/pkgs/applications/networking/mumble/overlay.nix b/pkgs/applications/networking/mumble/overlay.nix index 185672a21f8..babb3812bb9 100644 --- a/pkgs/applications/networking/mumble/overlay.nix +++ b/pkgs/applications/networking/mumble/overlay.nix @@ -12,10 +12,10 @@ in stdenv.mkDerivation { installPhase = '' mkdir -p $out/lib - ln -s ${mumble}/lib/libmumble.so.1.* $out/lib/libmumble.so.1 + ln -s ${mumble}/lib/libmumble.so.1.2.* $out/lib/libmumble.so.1 ${lib.optionalString (mumble_i686 != null) '' mkdir -p $out/lib32 - ln -s ${mumble_i686}/lib/libmumble.so.1.* $out/lib32/libmumble.so.1 + ln -s ${mumble_i686}/lib/libmumble.so.1.2.* $out/lib32/libmumble.so.1 ''} install -Dm755 scripts/mumble-overlay $out/bin/mumble-overlay sed -i "s,/usr/lib,$out/lib,g" $out/bin/mumble-overlay diff --git a/pkgs/applications/networking/ndppd/default.nix b/pkgs/applications/networking/ndppd/default.nix index 6e6315ced7d..776255e7a12 100644 --- a/pkgs/applications/networking/ndppd/default.nix +++ b/pkgs/applications/networking/ndppd/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchFromGitHub, fetchurl, gzip }: +{ stdenv, fetchFromGitHub, gzip }: stdenv.mkDerivation rec { - name = "ndppd-${version}"; + pname = "ndppd"; version = "0.2.5"; src = fetchFromGitHub { @@ -24,12 +24,11 @@ stdenv.mkDerivation rec { cp ndppd.conf-dist $out/etc/ndppd.conf ''; - meta = { + meta = with stdenv.lib; { description = "A daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces"; homepage = https://github.com/DanielAdolfsson/ndppd; - license = stdenv.lib.licenses.gpl3; - - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.fadenb ]; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ fadenb globin ]; }; } diff --git a/pkgs/applications/networking/netperf/default.nix b/pkgs/applications/networking/netperf/default.nix index 421a3cfbe3b..b3001c96057 100644 --- a/pkgs/applications/networking/netperf/default.nix +++ b/pkgs/applications/networking/netperf/default.nix @@ -1,16 +1,17 @@ { libsmbios, stdenv, autoreconfHook, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "netperf-20180504"; + pname = "netperf"; + version = "20180613"; src = fetchFromGitHub { owner = "HewlettPackard"; repo = "netperf"; - rev = "c0a0d9f31f9940abf375a41b43a343cdbf87caab"; - sha256 = "0wfj9kkhar6jb5639f5wxpwsraxw4v9yzg71rsdidvj5fyncjjq2"; + rev = "bcb868bde7f0203bbab69609f65d4088ba7398db"; + sha256 = "1wbbgdvhadd3qs3afv6i777argdpcyxkwz4yv6aqp223n8ki6dm8"; }; - buildInputs = [ libsmbios ]; + buildInputs = stdenv.lib.optional (stdenv.hostPlatform.isx86) libsmbios; nativeBuildInputs = [ autoreconfHook ]; autoreconfPhase = '' autoreconf -i -I src/missing/m4 diff --git a/pkgs/applications/networking/newsreaders/pan/default.nix b/pkgs/applications/networking/newsreaders/pan/default.nix index 308c857644e..34ebf4364ce 100644 --- a/pkgs/applications/networking/newsreaders/pan/default.nix +++ b/pkgs/applications/networking/newsreaders/pan/default.nix @@ -1,6 +1,6 @@ { spellChecking ? true , stdenv, fetchurl, pkgconfig, gtk3, gtkspell3 ? null -, perl, gmime2, gettext, intltool, itstool, libxml2, dbus-glib, libnotify, gnutls +, gmime2, gettext, intltool, itstool, libxml2, libnotify, gnutls , makeWrapper, gnupg , gnomeSupport ? true, libsecret, gcr }: @@ -10,7 +10,8 @@ assert spellChecking -> gtkspell3 != null; let version = "0.145"; in stdenv.mkDerivation { - name = "pan-${version}"; + pname = "pan"; + inherit version; src = fetchurl { url = "http://pan.rebelbase.com/download/releases/${version}/source/pan-${version}.tar.bz2"; diff --git a/pkgs/applications/networking/newsreaders/quiterss/default.nix b/pkgs/applications/networking/newsreaders/quiterss/default.nix index b0bc5edba84..002f142a53e 100644 --- a/pkgs/applications/networking/newsreaders/quiterss/default.nix +++ b/pkgs/applications/networking/newsreaders/quiterss/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchFromGitHub, qmake, pkgconfig, makeWrapper +{ stdenv, fetchFromGitHub, qmake, pkgconfig, wrapQtAppsHook , qtbase, qttools, qtwebkit, sqlite }: stdenv.mkDerivation rec { - name = "quiterss-${version}"; + pname = "quiterss"; version = "0.18.12"; src = fetchFromGitHub { @@ -13,14 +13,9 @@ stdenv.mkDerivation rec { sha256 = "0xav9qr8n6310636nfbgx4iix65fs3ya5rz2isxsf38bkjm7r3pa"; }; - nativeBuildInputs = [ qmake pkgconfig makeWrapper ]; + nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ]; buildInputs = [ qtbase qttools qtwebkit sqlite.dev ]; - postFixup = '' - wrapProgram $out/bin/quiterss \ - --prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}" - ''; - meta = with stdenv.lib; { description = "A Qt-based RSS/Atom news feed reader"; longDescription = '' diff --git a/pkgs/applications/networking/newsreaders/slrn/default.nix b/pkgs/applications/networking/newsreaders/slrn/default.nix index 9f775f0db65..e8fff0deddf 100644 --- a/pkgs/applications/networking/newsreaders/slrn/default.nix +++ b/pkgs/applications/networking/newsreaders/slrn/default.nix @@ -1,14 +1,13 @@ { stdenv, fetchurl , slang, ncurses, openssl }: -let version = "1.0.2"; in - -stdenv.mkDerivation { - name = "slrn-${version}"; +stdenv.mkDerivation rec { + pname = "slrn"; + version = "1.0.3a"; src = fetchurl { - url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.gz"; - sha256 = "1gn6m2zha2nnnrh9lz3m3nrqk6fgfij1wc53pg25j7sdgvlziv12"; + url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.bz2"; + sha256 = "1b1d9iikr60w0vq86y9a0l4gjl0jxhdznlrdp3r405i097as9a1v"; }; preConfigure = '' diff --git a/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch b/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch new file mode 100644 index 00000000000..ab7cb9bffa4 --- /dev/null +++ b/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch @@ -0,0 +1,25 @@ +From bbd366348d1f0e334d4604d04e293a046070e666 Mon Sep 17 00:00:00 2001 +From: Maximilian Bosch +Date: Fri, 23 Aug 2019 00:19:20 +0200 +Subject: [PATCH] Explicitly copy dbus files into the store dir + +--- + shell_integration/libcloudproviders/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/shell_integration/libcloudproviders/CMakeLists.txt b/shell_integration/libcloudproviders/CMakeLists.txt +index 1f35335..7f76951 100644 +--- a/shell_integration/libcloudproviders/CMakeLists.txt ++++ b/shell_integration/libcloudproviders/CMakeLists.txt +@@ -19,7 +19,7 @@ MACRO(PKGCONFIG_GETVAR _package _var _output_variable) + ENDMACRO(PKGCONFIG_GETVAR _package _var _output_variable) + + macro(dbus_add_activation_service _sources) +- PKGCONFIG_GETVAR(dbus-1 session_bus_services_dir _install_dir) ++ set(_install_dir "${CMAKE_INSTALL_DATADIR}/dbus-1/service") + foreach (_i ${_sources}) + get_filename_component(_service_file ${_i} ABSOLUTE) + string(REGEX REPLACE "\\.service.*$" ".service" _output_file ${_i}) +-- +2.19.2 + diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix index a131355963c..6f7f47bdcfa 100644 --- a/pkgs/applications/networking/nextcloud-client/default.nix +++ b/pkgs/applications/networking/nextcloud-client/default.nix @@ -1,59 +1,63 @@ -{ stdenv, fetchgit, cmake, pkgconfig, qtbase, qtwebkit, qtkeychain, qttools, sqlite -, inotify-tools, makeWrapper, openssl_1_1, pcre, qtwebengine, libsecret, fetchpatch +{ lib +, mkDerivation +, fetchFromGitHub +, cmake +, inotify-tools +, libcloudproviders +, libsecret +, openssl +, pcre +, pkgconfig +, qtbase +, qtkeychain +, qttools +, qtwebengine +, qtwebkit +, sqlite }: -stdenv.mkDerivation rec { - name = "nextcloud-client-${version}"; - version = "2.5.1"; +mkDerivation rec { + pname = "nextcloud-client"; + version = "2.5.3"; - src = fetchgit { - url = "git://github.com/nextcloud/desktop.git"; - rev = "refs/tags/v${version}"; - sha256 = "0r6jj3vbmwh7ipv83c8w1b25pbfq3mzrjgcijdw2gwfxwx9pfq7d"; - fetchSubmodules = true; + src = fetchFromGitHub { + owner = "nextcloud"; + repo = "desktop"; + rev = "v${version}"; + sha256 = "1pzlq507fasf2ljf37gkw00qrig4w2r712rsy05zfwlncgcn7fnw"; }; - # Patches contained in next (>2.5.1) release patches = [ - (fetchpatch { - name = "fix-qt-5.12-build"; - url = "https://github.com/nextcloud/desktop/commit/071709ab5e3366e867dd0b0ea931aa7d6f80f528.patch"; - sha256 = "14k635jwm8hz6i22lz88jj2db8v5czwa3zg0667i4hwhkqqmy61n"; - }) - (fetchpatch { - name = "fix-qtwebengine-crash"; - url = "https://patch-diff.githubusercontent.com/raw/nextcloud/desktop/pull/959.patch"; - sha256 = "00qx976az2rb1gwl1rxapm8gqj42yzqp8k2fasn3h7b30lnxdyr0"; - }) + ./0001-Explicitly-copy-dbus-files-into-the-store-dir.patch ]; - nativeBuildInputs = [ pkgconfig cmake makeWrapper ]; + nativeBuildInputs = [ + pkgconfig + cmake + ]; - buildInputs = [ qtbase qtwebkit qtkeychain qttools qtwebengine sqlite openssl_1_1.out pcre inotify-tools ]; + buildInputs = [ + inotify-tools + libcloudproviders + openssl + pcre + qtbase + qtkeychain + qttools + qtwebengine + qtwebkit + sqlite + ]; - enableParallelBuilding = true; - - NIX_LDFLAGS = "${openssl_1_1.out}/lib/libssl.so ${openssl_1_1.out}/lib/libcrypto.so"; + qtWrapperArgs = [ + "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libsecret ]}" + ]; cmakeFlags = [ - "-UCMAKE_INSTALL_LIBDIR" - "-DCMAKE_BUILD_TYPE=Release" - "-DOPENSSL_LIBRARIES=${openssl_1_1.out}/lib" - "-DOPENSSL_INCLUDE_DIR=${openssl_1_1.dev}/include" - "-DINOTIFY_LIBRARY=${inotify-tools}/lib/libinotifytools.so" - "-DINOTIFY_INCLUDE_DIR=${inotify-tools}/include" + "-DCMAKE_INSTALL_LIBDIR=lib" # expected to be prefix-relative by build code setting RPATH ]; - postInstall = '' - sed -i 's/\(Icon.*\)=nextcloud/\1=Nextcloud/g' \ - $out/share/applications/nextcloud.desktop - - wrapProgram "$out/bin/nextcloud" \ - --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libsecret ]} \ - --prefix QT_PLUGIN_PATH : ${qtbase}/${qtbase.qtPluginPrefix} - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "Nextcloud themed desktop client"; homepage = https://nextcloud.com; license = licenses.gpl2; diff --git a/pkgs/applications/networking/nload/default.nix b/pkgs/applications/networking/nload/default.nix index 2c16fabc5c4..16cc0e3d50a 100644 --- a/pkgs/applications/networking/nload/default.nix +++ b/pkgs/applications/networking/nload/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "0.7.4"; - name = "nload-${version}"; + pname = "nload"; src = fetchurl { - url = "http://www.roland-riegel.de/nload/${name}.tar.gz"; + url = "http://www.roland-riegel.de/nload/${pname}-${version}.tar.gz"; sha256 = "1rb9skch2kgqzigf19x8bzk211jdfjfdkrcvaqyj89jy2pkm3h61"; }; diff --git a/pkgs/applications/networking/nntp-proxy/default.nix b/pkgs/applications/networking/nntp-proxy/default.nix index 8795f32e829..58e1fffdbda 100644 --- a/pkgs/applications/networking/nntp-proxy/default.nix +++ b/pkgs/applications/networking/nntp-proxy/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, libconfig, pkgconfig, libevent, openssl }: stdenv.mkDerivation rec { - name = "nntp-proxy-${version}"; + pname = "nntp-proxy"; version = "2014-01-06"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/omping/default.nix b/pkgs/applications/networking/omping/default.nix index 1e127c1b1ec..dc52d767438 100644 --- a/pkgs/applications/networking/omping/default.nix +++ b/pkgs/applications/networking/omping/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, fetchpatch }: stdenv.mkDerivation rec { - name = "omping-${version}"; + pname = "omping"; version = "0.0.5"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/ostinato/default.nix b/pkgs/applications/networking/ostinato/default.nix index 962f10a99c0..3f48601d96f 100644 --- a/pkgs/applications/networking/ostinato/default.nix +++ b/pkgs/applications/networking/ostinato/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "ostinato-${version}"; + pname = "ostinato"; version = "0.9"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/owamp/default.nix b/pkgs/applications/networking/owamp/default.nix index 9ed532acfe1..4dad5f4d6bd 100644 --- a/pkgs/applications/networking/owamp/default.nix +++ b/pkgs/applications/networking/owamp/default.nix @@ -2,7 +2,7 @@ , autoconf, automake, mandoc }: stdenv.mkDerivation rec { - name = "owamp-${version}"; + pname = "owamp"; version = "3.5.6"; buildInputs = [ autoconf automake mandoc ]; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix index c142661fd03..7907365a6a3 100644 --- a/pkgs/applications/networking/owncloud-client/default.nix +++ b/pkgs/applications/networking/owncloud-client/default.nix @@ -1,16 +1,14 @@ { stdenv, fetchurl, cmake, pkgconfig, qtbase, qtwebkit, qtkeychain, sqlite }: stdenv.mkDerivation rec { - name = "owncloud-client-${version}"; - version = "2.4.3"; + pname = "owncloud-client"; + version = "2.5.4.11654"; src = fetchurl { url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz"; - sha256 = "1gz6xg1vm054ksrsakzfkzxgpskm0xkhsqwq0fj3i2kas09zzczk"; + sha256 = "0gsnry0786crbnpgg3f1vcqw6mwbz6svhm6mw3767qi4lb33jm31"; }; - patches = [ ./find-sql.patch ]; - nativeBuildInputs = [ pkgconfig cmake ]; buildInputs = [ qtbase qtwebkit qtkeychain sqlite ]; diff --git a/pkgs/applications/networking/owncloud-client/find-sql.patch b/pkgs/applications/networking/owncloud-client/find-sql.patch deleted file mode 100644 index 44dea6414e9..00000000000 --- a/pkgs/applications/networking/owncloud-client/find-sql.patch +++ /dev/null @@ -1,12 +0,0 @@ -*** a/cmake/modules/QtVersionAbstraction.cmake ---- b/cmake/modules/QtVersionAbstraction.cmake -*************** -*** 8,13 **** ---- 8,14 ---- - find_package(Qt5Core REQUIRED) - find_package(Qt5Network REQUIRED) - find_package(Qt5Xml REQUIRED) -+ find_package(Qt5Sql REQUIRED) - find_package(Qt5Concurrent REQUIRED) - if(UNIT_TESTING) - find_package(Qt5Test REQUIRED) diff --git a/pkgs/applications/networking/p2p/deluge/default.nix b/pkgs/applications/networking/p2p/deluge/default.nix index f58f7e04e00..6e3b8a7293e 100644 --- a/pkgs/applications/networking/p2p/deluge/default.nix +++ b/pkgs/applications/networking/p2p/deluge/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, fetchpatch, intltool, libtorrentRasterbar, pythonPackages }: pythonPackages.buildPythonPackage rec { - name = "deluge-${version}"; + pname = "deluge"; version = "1.3.15"; src = fetchurl { - url = "http://download.deluge-torrent.org/source/${name}.tar.bz2"; + url = "http://download.deluge-torrent.org/source/${pname}-${version}.tar.bz2"; sha256 = "1467b9hmgw59gf398mhbf40ggaka948yz3afh6022v753c9j7y6w"; }; diff --git a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix index db30da82bdb..77aee30d38b 100644 --- a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix +++ b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix @@ -2,7 +2,7 @@ , fetchpatch, libiconv, pcre-cpp, libidn, lua5, miniupnpc, aspell, gettext }: stdenv.mkDerivation rec { - name = "eiskaltdcpp-${version}"; + pname = "eiskaltdcpp"; version = "2.2.10"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/p2p/freenet/default.nix b/pkgs/applications/networking/p2p/freenet/default.nix index d674c70e4c2..24435288488 100644 --- a/pkgs/applications/networking/p2p/freenet/default.nix +++ b/pkgs/applications/networking/p2p/freenet/default.nix @@ -18,7 +18,8 @@ let version = "build01475"; freenet-jars = stdenv.mkDerivation { - name = "freenet-jars-${version}"; + pname = "freenet-jars"; + inherit version; src = fetchFromGitHub { owner = "freenet"; diff --git a/pkgs/applications/networking/p2p/frostwire/default.nix b/pkgs/applications/networking/p2p/frostwire/default.nix index 40ff91e792b..0449540eaff 100644 --- a/pkgs/applications/networking/p2p/frostwire/default.nix +++ b/pkgs/applications/networking/p2p/frostwire/default.nix @@ -85,7 +85,7 @@ in stdenv.mkDerivation { ''; meta = with stdenv.lib; { - homepage = http://www.frostwire.com/; + homepage = https://www.frostwire.com/; description = "BitTorrent Client and Cloud File Downloader"; license = licenses.gpl2; maintainers = with maintainers; [ gavin ]; diff --git a/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix b/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix index 5305ca10383..5488baddef4 100644 --- a/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix +++ b/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix @@ -4,7 +4,7 @@ with stdenv.lib; stdenv.mkDerivation rec { version = "6.7.4"; - name = "frostwire-${version}"; + pname = "frostwire"; src = fetchurl { url = "https://dl.frostwire.com/frostwire/${version}/frostwire-${version}.noarch.tar.gz"; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = http://www.frostwire.com/; + homepage = https://www.frostwire.com/; description = "BitTorrent Client and Cloud File Downloader"; license = licenses.gpl2; maintainers = with maintainers; [ gavin ]; diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix index 8e1777b0ce7..eaa6b07c8fa 100644 --- a/pkgs/applications/networking/p2p/gnunet/default.nix +++ b/pkgs/applications/networking/p2p/gnunet/default.nix @@ -1,20 +1,24 @@ { stdenv, fetchurl, adns, curl, gettext, gmp, gnutls, libextractor , libgcrypt, libgnurl, libidn, libmicrohttpd, libtool, libunistring , makeWrapper, ncurses, pkgconfig, libxml2, sqlite, zlib -, libpulseaudio, libopus, libogg }: +, libpulseaudio, libopus, libogg, jansson }: stdenv.mkDerivation rec { - name = "gnunet-0.10.1"; + pname = "gnunet"; + version = "0.11.6"; src = fetchurl { - url = "mirror://gnu/gnunet/${name}.tar.gz"; - sha256 = "04wxzm3wkgqbn42b8ksr4cx6m5cckyig5cls1adh0nwdczwvnp7n"; + url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz"; + sha256 = "1gspr1lh885sb9r2anh7bi4zan3zjqx33lpyhq9hm2g0n5ip187q"; }; + enableParallelBuilding = true; + + nativeBuildInputs = [ pkgconfig libtool makeWrapper ]; buildInputs = [ - adns curl gettext gmp gnutls libextractor libgcrypt libgnurl libidn - libmicrohttpd libtool libunistring libxml2 makeWrapper ncurses - pkgconfig sqlite zlib libpulseaudio libopus libogg + adns curl gmp gnutls libextractor libgcrypt libgnurl libidn + libmicrohttpd libunistring libxml2 ncurses gettext + sqlite zlib libpulseaudio libopus libogg jansson ]; preConfigure = '' @@ -29,26 +33,18 @@ stdenv.mkDerivation rec { find . \( -iname \*test\*.c -or -name \*.conf \) | \ xargs sed -ie "s|/tmp|$TMPDIR|g" - # Ensure NSS installation works fine - configureFlags="$configureFlags --with-nssdir=$out/lib" - patchShebangs src/gns/nss/install-nss-plugin.sh - sed -ie 's|@LDFLAGS@|@LDFLAGS@ $(Z_LIBS)|g' \ src/regex/Makefile.in \ src/fs/Makefile.in ''; + # unfortunately, there's still a few failures with impure tests doCheck = false; - - /* FIXME: Tests must be run this way, but there are still a couple of - failures. - - postInstall = - '' export GNUNET_PREFIX="$out" - export PATH="$out/bin:$PATH" - make -k check - ''; - */ + checkPhase = '' + export GNUNET_PREFIX="$out" + export PATH="$out/bin:$PATH" + make -k check + ''; meta = with stdenv.lib; { description = "GNU's decentralized anonymous and censorship-resistant P2P framework"; @@ -69,9 +65,7 @@ stdenv.mkDerivation rec { ''; homepage = https://gnunet.org/; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ vrthra ]; platforms = platforms.gnu ++ platforms.linux; }; diff --git a/pkgs/applications/networking/p2p/ktorrent/default.nix b/pkgs/applications/networking/p2p/ktorrent/default.nix index c66c3ca05a4..6dd2fc34355 100644 --- a/pkgs/applications/networking/p2p/ktorrent/default.nix +++ b/pkgs/applications/networking/p2p/ktorrent/default.nix @@ -6,11 +6,11 @@ }: stdenv.mkDerivation rec { - name = "ktorrent-${version}"; + pname = "ktorrent"; version = "${libktorrent.mainVersion}.0"; src = fetchurl { - url = "mirror://kde/stable/ktorrent/${libktorrent.mainVersion}/${name}.tar.xz"; + url = "mirror://kde/stable/ktorrent/${libktorrent.mainVersion}/${pname}-${version}.tar.xz"; sha256 = "18w6qh09k84qpzaxxb76a4g59k4mx5wk897vqp1wwv80g0pqhmrw"; }; diff --git a/pkgs/applications/networking/p2p/magnetico/default.nix b/pkgs/applications/networking/p2p/magnetico/default.nix new file mode 100644 index 00000000000..1c266d247b7 --- /dev/null +++ b/pkgs/applications/networking/p2p/magnetico/default.nix @@ -0,0 +1,33 @@ +{ lib, fetchFromGitHub, buildGoModule, go-bindata }: + +buildGoModule rec { + pname = "magnetico"; + version = "0.8.1"; + + src = fetchFromGitHub { + owner = "boramalper"; + repo = "magnetico"; + rev = "v${version}"; + sha256 = "1f7y3z9ql079ix6ycihkmd3z3da3sfiqw2fap31pbvvjs65sg644"; + }; + + modSha256 = "1h9fij8mxlxfw7kxix00n10fkhkvmf8529fxbk1n30cxc1bs2szf"; + + buildInputs = [ go-bindata ]; + buildPhase = '' + make magneticow magneticod + ''; + + doCheck = true; + checkPhase = '' + make test + ''; + + meta = with lib; { + description = "Autonomous (self-hosted) BitTorrent DHT search engine suite."; + homepage = https://github.com/boramalper/magnetico; + license = licenses.agpl3; + badPlatforms = platforms.darwin; + maintainers = with maintainers; [ rnhmjoj ]; + }; +} diff --git a/pkgs/applications/networking/p2p/ncdc/default.nix b/pkgs/applications/networking/p2p/ncdc/default.nix index c56e39826a6..b28074a2fd6 100644 --- a/pkgs/applications/networking/p2p/ncdc/default.nix +++ b/pkgs/applications/networking/p2p/ncdc/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ncurses, zlib, bzip2, sqlite, pkgconfig, glib, gnutls }: stdenv.mkDerivation rec { - name = "ncdc-${version}"; - version = "1.20"; + pname = "ncdc"; + version = "1.22.1"; src = fetchurl { url = "https://dev.yorhel.nl/download/ncdc-${version}.tar.gz"; - sha256 = "0ccn7dqbqpqsbglqyalz32c20rjvf1pw0zr88jyvd2b2vxbqi6ca"; + sha256 = "1bdgqd07f026qk6vpbxqsin536znd33931m3b4z44prlm9wd6pyi"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix index 81c493fedcf..a579ae15181 100644 --- a/pkgs/applications/networking/p2p/qbittorrent/default.nix +++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, pkgconfig +{ mkDerivation, lib, fetchFromGitHub, pkgconfig , boost, libtorrentRasterbar, qtbase, qttools, qtsvg , debugSupport ? false # Debugging , guiSupport ? true, dbus ? null # GUI (disable to run headless) @@ -6,17 +6,17 @@ }: assert guiSupport -> (dbus != null); -with stdenv.lib; +with lib; -stdenv.mkDerivation rec { - name = "qbittorrent-${version}"; - version = "4.1.5"; +mkDerivation rec { + pname = "qbittorrent"; + version = "4.1.7"; src = fetchFromGitHub { owner = "qbittorrent"; repo = "qbittorrent"; rev = "release-${version}"; - sha256 = "09zcygaxfv9g6av0vsvlyzv4v65wvj766xyfx31yz5ig3xan6ak1"; + sha256 = "1z4k64h3ik1a7ir4v9g3ar1wq8zfh4r2pq43hr2wvlamm2111gdv"; }; # NOTE: 2018-05-31: CMake is working but it is not officially supported diff --git a/pkgs/applications/networking/p2p/retroshare/default.nix b/pkgs/applications/networking/p2p/retroshare/default.nix index 2d523cc07dd..f10714031ff 100644 --- a/pkgs/applications/networking/p2p/retroshare/default.nix +++ b/pkgs/applications/networking/p2p/retroshare/default.nix @@ -3,7 +3,7 @@ , qtmultimedia, qtx11extras, qttools }: stdenv.mkDerivation rec { - name = "retroshare-${version}"; + pname = "retroshare"; version = "0.6.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/p2p/soulseekqt/default.nix b/pkgs/applications/networking/p2p/soulseekqt/default.nix index 104131e4775..bcfe8f01e4a 100644 --- a/pkgs/applications/networking/p2p/soulseekqt/default.nix +++ b/pkgs/applications/networking/p2p/soulseekqt/default.nix @@ -25,7 +25,7 @@ let in stdenv.mkDerivation rec { - name = "soulseekqt-${version}"; + pname = "soulseekqt"; inherit version; src = srcs."${stdenv.hostPlatform.system}" or (throw "unsupported system: ${stdenv.hostPlatform.system}"); diff --git a/pkgs/applications/networking/p2p/stig/default.nix b/pkgs/applications/networking/p2p/stig/default.nix new file mode 100644 index 00000000000..80b8251f2a3 --- /dev/null +++ b/pkgs/applications/networking/p2p/stig/default.nix @@ -0,0 +1,56 @@ +{ lib +, fetchFromGitHub +, python3 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "stig"; + # This project has a different concept for pre release / alpha, + # Read the project's README for details: https://github.com/rndusr/stig#stig + version = "0.10.1a"; + + src = fetchFromGitHub { + owner = "rndusr"; + repo = "stig"; + rev = "v${version}"; + sha256 = "076rlial6h1nhwdxf1mx5nf2zld5ci43cadj9wf8xms7zn8s6c8v"; + }; + + # urwidtrees 1.0.3 is requested by the developer because 1.0.2 (which is packaged + # in nixpkgs) is not uploaded to pypi and 1.0.1 has a problematic `setup.py`. + # As long as we don't have any problems installing it, no special features / specific bugs + # were fixed in 1.0.3 that aren't available in 1.0.2 are used by stig. + # See https://github.com/rndusr/stig/issues/120 + postPatch = '' + substituteInPlace setup.py \ + --replace "urwidtrees>=1.0.3dev0" "urwidtrees" + ''; + + buildInputs = with python3.pkgs; [ + urwid + urwidtrees + aiohttp + async-timeout + pyxdg + blinker + natsort + maxminddb + setproctitle + ]; + + checkInputs = with python3.pkgs; [ + asynctest + pytest + ]; + + checkPhase = '' + pytest tests + ''; + + meta = with lib; { + description = "TUI and CLI for the BitTorrent client Transmission"; + homepage = "https://github.com/rndusr/stig"; + license = licenses.gpl3; + maintainers = with maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/applications/networking/p2p/synapse-bt/default.nix b/pkgs/applications/networking/p2p/synapse-bt/default.nix index 8622b374100..f3c7f8ccf18 100644 --- a/pkgs/applications/networking/p2p/synapse-bt/default.nix +++ b/pkgs/applications/networking/p2p/synapse-bt/default.nix @@ -1,19 +1,21 @@ -{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, Security }: +{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, CoreServices, Security }: rustPlatform.buildRustPackage rec { - name = "synapse-bt-unstable-${version}"; - version = "2018-10-17"; + pname = "synapse-bt"; + version = "1.0"; src = fetchFromGitHub { owner = "Luminarys"; repo = "synapse"; - rev = "76d5e9a23ad00c25cfd0469b1adb479b9ded113a"; - sha256 = "1lsfvcsmbsg51v8c2hkpwkx0zg25sdjc3q7x72b5bwwnw9l0iglz"; + rev = version; + sha256 = "01npv3zwia5d534zdwisd9xfng507adv4qkljf8z0zm0khqqn71a"; }; - cargoSha256 = "1sc8c0w2dbvcdv16idw02y35x0jx5ff6ddzij09pmqjx55zgsjf7"; + cargoSha256 = "0m4jigz6la3mf4yq217849ilcncb7d97mqyw2qicff4rbscdgf6h"; - buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ openssl ] + ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security ]; cargoBuildFlags = [ "--all" ]; diff --git a/pkgs/applications/networking/p2p/tixati/default.nix b/pkgs/applications/networking/p2p/tixati/default.nix index 13d44655df8..850fc488bf3 100644 --- a/pkgs/applications/networking/p2p/tixati/default.nix +++ b/pkgs/applications/networking/p2p/tixati/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, glib, zlib, dbus, dbus-glib, gtk2, gdk_pixbuf, cairo, pango }: +{ stdenv, fetchurl, glib, zlib, dbus, dbus-glib, gtk2, gdk-pixbuf, cairo, pango }: stdenv.mkDerivation rec { - name = "tixati-${version}"; - version = "2.58"; + pname = "tixati"; + version = "2.62"; src = fetchurl { url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz"; - sha256 = "077z5i0grkxkgw2npylv4r897434k2pr03brqx5hjpjw3797r141"; + sha256 = "18lmzllkymdigfl1xf696zqmr2b83p4rzlc8ddrcr0zpzy2z2w4a"; }; installPhase = '' patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath ${stdenv.lib.makeLibraryPath [ glib zlib dbus dbus-glib gtk2 gdk_pixbuf cairo pango ]} \ + --set-rpath ${stdenv.lib.makeLibraryPath [ glib zlib dbus dbus-glib gtk2 gdk-pixbuf cairo pango ]} \ tixati install -D tixati $out/bin/tixati install -D tixati.desktop $out/share/applications/tixati.desktop diff --git a/pkgs/applications/networking/p2p/torrential/default.nix b/pkgs/applications/networking/p2p/torrential/default.nix new file mode 100644 index 00000000000..999f80a7bbd --- /dev/null +++ b/pkgs/applications/networking/p2p/torrential/default.nix @@ -0,0 +1,60 @@ +{ stdenv +, fetchFromGitHub +, cmake +, pkgconfig +, pantheon +, curl +, glib +, gtk3 +, hicolor-icon-theme +, libb64 +, libevent +, libgee +, libnatpmp +, libunity +, miniupnpc +, openssl +, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "torrential"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "davidmhewitt"; + repo = "torrential"; + rev = version; + fetchSubmodules = true; + sha256 = "17aby0c17ybyzyzyc1cg1j6q1a186801fy84avlaxahqp7vdammx"; + }; + + nativeBuildInputs = [ + cmake + pantheon.vala + pkgconfig + wrapGAppsHook + ]; + + buildInputs = [ + curl + glib + gtk3 + hicolor-icon-theme + libb64 + libevent + libgee + libnatpmp + libunity + miniupnpc + openssl + pantheon.granite + ]; + + meta = with stdenv.lib; { + description = "Download torrents in style with this speedy, minimalist torrent client for elementary OS"; + homepage = https://github.com/davidmhewitt/torrential; + maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers; + platforms = platforms.linux; + license = licenses.gpl3; + }; +} diff --git a/pkgs/applications/networking/p2p/transgui/default.nix b/pkgs/applications/networking/p2p/transgui/default.nix index f047b630ec4..7c720cf35a0 100644 --- a/pkgs/applications/networking/p2p/transgui/default.nix +++ b/pkgs/applications/networking/p2p/transgui/default.nix @@ -1,20 +1,21 @@ -{ stdenv, fetchsvn, pkgconfig, makeDesktopItem, unzip, fpc, lazarus, -libX11, glib, gtk2, gdk_pixbuf, pango, atk, cairo, openssl }: +{ stdenv, fetchFromGitHub, pkgconfig, makeDesktopItem, unzip, fpc, lazarus, +libX11, glib, gtk2, gdk-pixbuf, pango, atk, cairo, openssl }: stdenv.mkDerivation rec { - name = "transgui-5.0.1-svn-r${revision}"; - revision = "988"; + pname = "transgui"; + version = "5.17.0"; - src = fetchsvn { - url = "https://svn.code.sf.net/p/transgui/code/trunk/"; - rev = revision; - sha256 = "1i6ysxs6d2wsmqi6ha10rl3n562brmhizlanhcfad04i53y8pyxf"; + src = fetchFromGitHub { + owner = "transmission-remote-gui"; + repo = "transgui"; + rev = "v${version}"; + sha256 = "0p76vavny5asi5naa4jn67raxlarsmrkbchfn96y6gh5p2vzwpl7"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ unzip fpc lazarus stdenv.cc - libX11 glib gtk2 gdk_pixbuf pango atk cairo openssl + libX11 glib gtk2 gdk-pixbuf pango atk cairo openssl ]; NIX_LDFLAGS = " @@ -27,9 +28,9 @@ stdenv.mkDerivation rec { substituteInPlace restranslator.pas --replace /usr/ $out/ ''; - patches = [ - ./r988-compile-fix.patch - ]; + preBuild = '' + lazbuild -B transgui.lpr --lazarusdir=${lazarus}/share/lazarus + ''; makeFlags = [ "FPC=fpc" @@ -37,7 +38,7 @@ stdenv.mkDerivation rec { "INSTALL_PREFIX=$(out)" ]; - LCL_PLATFORM = "gtk2"; + LCL_PLATFORM = "gtk2"; desktopItem = makeDesktopItem rec { name = "transgui"; @@ -62,10 +63,10 @@ stdenv.mkDerivation rec { mkdir -p "$out/share/icons/hicolor/48x48/apps" cp transgui.png "$out/share/icons/hicolor/48x48/apps" mkdir -p "$out/share/transgui" - cp -r "./lang" "$out/share/transgui" + cp -r "./lang" "$out/share/transgui" ''; - meta = { + meta = { description = "A cross platform front-end for the Transmission Bit-Torrent client"; homepage = https://sourceforge.net/p/transgui; license = stdenv.lib.licenses.gpl2Plus; diff --git a/pkgs/applications/networking/p2p/transgui/r988-compile-fix.patch b/pkgs/applications/networking/p2p/transgui/r988-compile-fix.patch deleted file mode 100644 index 4b070d0cbe8..00000000000 --- a/pkgs/applications/networking/p2p/transgui/r988-compile-fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/utils.pas b/utils.pas -index eb8b828..1ff2440 100644 ---- a/utils.pas -+++ b/utils.pas -@@ -100,7 +100,7 @@ uses - {$ifdef CALLSTACK} - lineinfo2, - {$endif CALLSTACK} -- LazFileUtils, LazUtf8, StdCtrls, Graphics; -+ LazFileUtils, LazUtf8, StdCtrls, Graphics, FileUtil; - - {$ifdef windows} - function FileOpenUTF8(Const FileName : string; Mode : Integer) : THandle; -@@ -235,7 +235,7 @@ end; - - function ParamStrUTF8(Param: Integer): utf8string; - begin -- Result:=FileUtil.ParamStrUTF8(Param); -+ Result:=LazUtf8.ParamStrUTF8(Param); - end; - - function ParamCount: integer; diff --git a/pkgs/applications/networking/p2p/transmission-remote-cli/default.nix b/pkgs/applications/networking/p2p/transmission-remote-cli/default.nix index fc803fa2745..e05ca43eb50 100644 --- a/pkgs/applications/networking/p2p/transmission-remote-cli/default.nix +++ b/pkgs/applications/networking/p2p/transmission-remote-cli/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pythonPackages }: stdenv.mkDerivation rec { - name = "transmission-remote-cli-${version}"; + pname = "transmission-remote-cli"; version = "1.7.1"; src = fetchurl { diff --git a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix index 7d2f34c591e..bcaea5eb6dc 100644 --- a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix +++ b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { - name = "transmission-remote-gtk-${version}"; + pname = "transmission-remote-gtk"; version = "1.4.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix index 29ec8158099..65abcf35a35 100644 --- a/pkgs/applications/networking/p2p/tribler/default.nix +++ b/pkgs/applications/networking/p2p/tribler/default.nix @@ -2,7 +2,7 @@ , enablePlayer ? true, vlc ? null, qt5 }: stdenv.mkDerivation rec { - name = "tribler-${version}"; + pname = "tribler"; version = "7.1.2"; src = fetchurl { diff --git a/pkgs/applications/networking/p2p/twister/default.nix b/pkgs/applications/networking/p2p/twister/default.nix index cce44521a62..647b708e102 100644 --- a/pkgs/applications/networking/p2p/twister/default.nix +++ b/pkgs/applications/networking/p2p/twister/default.nix @@ -16,7 +16,7 @@ let boostPython = boost.override { enablePython = true; }; in stdenv.mkDerivation rec { - name = "twister-${version}"; + pname = "twister"; version = "0.9.34"; src = fetchurl { diff --git a/pkgs/applications/networking/p2p/vuze/default.nix b/pkgs/applications/networking/p2p/vuze/default.nix index 8725d5263fe..b1d3c73129a 100644 --- a/pkgs/applications/networking/p2p/vuze/default.nix +++ b/pkgs/applications/networking/p2p/vuze/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchsvn, jdk, jre, ant, swt, makeWrapper }: stdenv.mkDerivation rec { - name = "vuze-${version}"; + pname = "vuze"; version = "5750"; src = fetchsvn { diff --git a/pkgs/applications/networking/p2p/zeronet/default.nix b/pkgs/applications/networking/p2p/zeronet/default.nix index 1dc4e3e4351..88f07f0a8a5 100644 --- a/pkgs/applications/networking/p2p/zeronet/default.nix +++ b/pkgs/applications/networking/p2p/zeronet/default.nix @@ -2,14 +2,14 @@ python2Packages.buildPythonApplication rec { pname = "zeronet"; - version = "0.6.4"; + version = "0.6.5"; format = "other"; src = fetchFromGitHub { owner = "HelloZeroNet"; repo = "ZeroNet"; rev = "v${version}"; - sha256 = "04mpnkx0pbvcfjs337f0ajabdbh6h0gypnaz6n395avkf8r1g4c3"; + sha256 = "1b9jg525jq40czyw9xh9ck90fl9rzrdmzl2mzhqqhz23idb60j4a"; }; propagatedBuildInputs = with python2Packages; [ msgpack gevent ]; diff --git a/pkgs/applications/networking/ping/default.nix b/pkgs/applications/networking/ping/default.nix new file mode 100644 index 00000000000..d20b07a8d3b --- /dev/null +++ b/pkgs/applications/networking/ping/default.nix @@ -0,0 +1,60 @@ +{ stdenv +, fetchFromGitHub +, meson +, ninja +, pkgconfig +, pantheon +, python3 +, glib +, gtk3 +, gtksourceview +, hicolor-icon-theme +, json-glib +, libsoup +, libgee +, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "ping"; + version = "0.6.0"; + + src = fetchFromGitHub { + owner = "jeremyvaartjes"; + repo = "ping"; + rev = version; + sha256 = "1h9cdy2jxa2ffykjg89j21hazls32z9yyv3g0x07x3vizzl5xcij"; + }; + + nativeBuildInputs = [ + meson + ninja + pantheon.vala + pkgconfig + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + gtksourceview + hicolor-icon-theme + json-glib + libgee + libsoup + pantheon.granite + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "A helpful tool that lets you debug what part of your API is causing you issues"; + homepage = https://github.com/jeremyvaartjes/ping; + maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers; + platforms = platforms.linux; + license = licenses.gpl3; + }; +} diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix index 3930ea4ff11..c9df5d3fbe3 100644 --- a/pkgs/applications/networking/pjsip/default.nix +++ b/pkgs/applications/networking/pjsip/default.nix @@ -1,14 +1,16 @@ { stdenv, fetchurl, openssl, libsamplerate, alsaLib }: stdenv.mkDerivation rec { - name = "pjsip-${version}"; - version = "2.8"; + pname = "pjsip"; + version = "2.9"; src = fetchurl { - url = "http://www.pjsip.org/release/${version}/pjproject-${version}.tar.bz2"; - sha256 = "0ybg0113rp3fk49rm2v0pcgqb28h3dv1pdy9594w2ggiz7bhngah"; + url = "https://www.pjsip.org/release/${version}/pjproject-${version}.tar.bz2"; + sha256 = "0dm6l8fypkimmzvld35zyykbg957cm5zb4ny3lchgv68amwfz1fi"; }; + patches = [ ./fix-aarch64.patch ]; + buildInputs = [ openssl libsamplerate alsaLib ]; preConfigure = '' @@ -18,8 +20,8 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p $out/bin cp pjsip-apps/bin/pjsua-* $out/bin/pjsua - mkdir -p $out/share/${name}/samples - cp pjsip-apps/bin/samples/*/* $out/share/${name}/samples + mkdir -p $out/share/${pname}-${version}/samples + cp pjsip-apps/bin/samples/*/* $out/share/${pname}-${version}/samples ''; # We need the libgcc_s.so.1 loadable (for pthread_cancel to work) @@ -27,7 +29,7 @@ stdenv.mkDerivation rec { meta = { description = "A multimedia communication library written in C, implementing standard based protocols such as SIP, SDP, RTP, STUN, TURN, and ICE"; - homepage = http://pjsip.org/; + homepage = https://pjsip.org/; license = stdenv.lib.licenses.gpl2Plus; maintainers = with stdenv.lib.maintainers; [olynch]; platforms = with stdenv.lib.platforms; linux; diff --git a/pkgs/applications/networking/pjsip/fix-aarch64.patch b/pkgs/applications/networking/pjsip/fix-aarch64.patch new file mode 100644 index 00000000000..f4aabf7a9bb --- /dev/null +++ b/pkgs/applications/networking/pjsip/fix-aarch64.patch @@ -0,0 +1,13 @@ +--- a/aconfigure ++++ b/aconfigure +@@ -8945,6 +8945,10 @@ + ac_webrtc_instset=neon + ac_webrtc_cflags="-DWEBRTC_ARCH_ARMV7 -mfloat-abi=hard -mfpu=neon" + ;; ++ arm64*|aarch64*) ++ ac_webrtc_instset=neon ++ ac_webrtc_cflags="-DWEBRTC_ARCH_ARM64" ++ ;; + *) + ac_webrtc_instset=sse2 + ;; diff --git a/pkgs/applications/networking/protonmail-bridge/default.nix b/pkgs/applications/networking/protonmail-bridge/default.nix index 3e74fbfb66a..bf8e7a16a4f 100644 --- a/pkgs/applications/networking/protonmail-bridge/default.nix +++ b/pkgs/applications/networking/protonmail-bridge/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtsvg, qtdeclarative, qttools, full, - libsecret, libGL, libpulseaudio, glib, makeWrapper, makeDesktopItem }: +{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtsvg, qtdeclarative, qttools, qtgraphicaleffects, qtquickcontrols2, full +, libsecret, libGL, libpulseaudio, glib, wrapQtAppsHook, makeDesktopItem, mkDerivation }: let - version = "1.1.0-1"; + version = "1.1.6-1"; description = '' An application that runs on your computer in the background and seamlessly encrypts @@ -12,24 +12,24 @@ let ''; desktopItem = makeDesktopItem { - name = "Desktop-Bridge"; - exec = "Desktop-Bridge"; - icon = "desktop-bridge"; + name = "protonmail-bridge"; + exec = "protonmail-bridge"; + icon = "protonmail-bridge"; comment = stdenv.lib.replaceStrings ["\n"] [" "] description; desktopName = "ProtonMail Bridge"; genericName = "ProtonMail Bridge for Linux"; categories = "Utility;Security;Network;Email"; }; -in stdenv.mkDerivation rec { - name = "protonmail-bridge-${version}"; + +in mkDerivation rec { + pname = "protonmail-bridge"; + inherit version; src = fetchurl { url = "https://protonmail.com/download/protonmail-bridge_${version}_amd64.deb"; - sha256 = "0l29z208krnd3dginc203m4p5dlmnxf08vpmbm9xzlckwmswizkb"; + sha256 = "108dql9q5znsqjkrs41pc6psjbg5bz09rdmjl036xxbvsdvq4a8r"; }; - nativeBuildInputs = [ makeWrapper ]; - sourceRoot = "."; unpackCmd = '' @@ -40,17 +40,19 @@ in stdenv.mkDerivation rec { mkdir -p $out/{bin,lib,share/applications} mkdir -p $out/share/{applications,icons/hicolor/scalable/apps} - cp -r usr/lib/protonmail/bridge/Desktop-Bridge{,.sh} $out/lib - cp usr/share/icons/protonmail/Desktop-Bridge.svg $out/share/icons/hicolor/scalable/apps/desktop-bridge.svg + cp -r usr/lib/protonmail/bridge/protonmail-bridge $out/lib + cp usr/share/icons/protonmail/ProtonMail_Bridge.svg $out/share/icons/hicolor/scalable/apps/protonmail-bridge.svg cp ${desktopItem}/share/applications/* $out/share/applications - ln -s $out/lib/Desktop-Bridge $out/bin/Desktop-Bridge + ln -s $out/lib/protonmail-bridge $out/bin/protonmail-bridge ''; postFixup = let rpath = lib.makeLibraryPath [ stdenv.cc.cc.lib qtbase + qtquickcontrols2 + qtgraphicaleffects qtmultimedia qtsvg qtdeclarative @@ -60,22 +62,17 @@ in stdenv.mkDerivation rec { libpulseaudio glib ]; - - qtPath = prefix: "${full}/${prefix}"; in '' patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${rpath}" \ - $out/lib/Desktop-Bridge - - wrapProgram $out/lib/Desktop-Bridge \ - --set QT_PLUGIN_PATH "${qtPath qtbase.qtPluginPrefix}" \ - --set QML_IMPORT_PATH "${qtPath qtbase.qtQmlPrefix}" \ - --set QML2_IMPORT_PATH "${qtPath qtbase.qtQmlPrefix}" \ + $out/lib/protonmail-bridge ''; + buildInputs = [ qtbase qtquickcontrols2 qtmultimedia qtgraphicaleffects qtdeclarative ]; + meta = with stdenv.lib; { - homepage = https://www.protonmail.com/bridge; + homepage = "https://www.protonmail.com/bridge"; license = licenses.mit; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ lightdiscord ]; diff --git a/pkgs/applications/networking/protonvpn-cli/default.nix b/pkgs/applications/networking/protonvpn-cli/default.nix new file mode 100644 index 00000000000..e79ca515b51 --- /dev/null +++ b/pkgs/applications/networking/protonvpn-cli/default.nix @@ -0,0 +1,46 @@ +{ stdenv, lib, fetchFromGitHub, makeWrapper, coreutils +, openvpn, python, dialog, wget, update-resolv-conf }: + +let + expectedUpdateResolvPath = "/etc/openvpn/update-resolv-conf"; + actualUpdateResolvePath = "${update-resolv-conf}/libexec/openvpn/update-resolv-conf"; + +in stdenv.mkDerivation rec { + name = "protonvpn-cli"; + version = "1.1.2"; + + src = fetchFromGitHub { + owner = "ProtonVPN"; + repo = "protonvpn-cli"; + rev = "v${version}"; + sha256 = "0xvflr8zf267n3dv63nkk4wjxhbckw56sqmyca3krf410vrd7zlv"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p "$out/bin" + substituteInPlace protonvpn-cli.sh \ + --replace ${expectedUpdateResolvPath} ${actualUpdateResolvePath} \ + --replace \$UID 0 \ + --replace /etc/resolv.conf /dev/null \ + --replace \ + " echo \"Connecting...\"" \ + " sed -ri 's@${expectedUpdateResolvPath}@${actualUpdateResolvePath}@g' \"\$openvpn_config\"; echo \"Connecting...\"" + cp protonvpn-cli.sh "$out/bin/protonvpn-cli" + ln -s "$out/bin/protonvpn-cli" "$out/bin/pvpn" + ''; + + postInstallPhase = '' + wrapProgram $out/protonvpn-cli \ + --prefix PATH : ${lib.makeBinPath [ coreutils openvpn python dialog wget update-resolv-conf ]} + ''; + + meta = with stdenv.lib; { + description = "ProtonVPN Command-Line Tool"; + homepage = https://github.com/ProtonVPN/protonvpn-cli; + maintainers = with maintainers; [ caugner ]; + license = licenses.mit; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/ps2client/default.nix b/pkgs/applications/networking/ps2client/default.nix new file mode 100644 index 00000000000..be4cc5830d5 --- /dev/null +++ b/pkgs/applications/networking/ps2client/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + version = "unstable-2018-10-18"; + pname = "ps2client"; + + src = fetchFromGitHub { + owner = "ps2dev"; + repo = "ps2client"; + rev = "92fcaf18aabf74daaed40bd50d428cce326a87c0"; + sha256 = "1rlmns44pxm6dkh6d3cz9sw8v7pvi53r7r5r3kgwdzkhixjj0cdg"; + }; + + patchPhase = '' + sed -i -e "s|-I/usr/include||g" -e "s|-I/usr/local/include||g" Makefile + ''; + + installPhase = '' + make PREFIX=$out install + ''; + + meta = with stdenv.lib; { + description = "Desktop clients to interact with ps2link and ps2netfs"; + homepage = https://github.com/ps2dev/ps2client; + license = licenses.bsd3; + maintainers = [ maintainers.genesis ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/pyload/default.nix b/pkgs/applications/networking/pyload/default.nix index 6a89731ff10..3df21d414e0 100644 --- a/pkgs/applications/networking/pyload/default.nix +++ b/pkgs/applications/networking/pyload/default.nix @@ -45,16 +45,16 @@ in pythonPackages.buildPythonApplication rec { ''; preBuild = '' - paver generate_setup + ${pythonPackages.paver}/bin/paver generate_setup ''; doCheck = false; - meta = { + meta = with stdenv.lib; { description = "Free and open source downloader for 1-click-hosting sites"; homepage = https://github.com/pyload/pyload; - license = stdenv.lib.licenses.gpl3; - maintainers = [ stdenv.lib.maintainers.mahe ]; - platforms = stdenv.lib.platforms.all; + license = licenses.gpl3; + maintainers = [ maintainers.mahe ]; + platforms = platforms.all; }; } diff --git a/pkgs/applications/networking/remote/anydesk/default.nix b/pkgs/applications/networking/remote/anydesk/default.nix index d9dd2fc9127..5255b492ec6 100644 --- a/pkgs/applications/networking/remote/anydesk/default.nix +++ b/pkgs/applications/networking/remote/anydesk/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, makeWrapper, makeDesktopItem -, atk, cairo, gdk_pixbuf, glib, gnome2, gtk2, libGLU_combined, pango, xorg +, atk, cairo, gdk-pixbuf, glib, gnome2, gtk2, libGLU_combined, pango, xorg , lsb-release, freetype, fontconfig, pangox_compat, polkit, polkit_gnome }: let @@ -26,16 +26,16 @@ let }; in stdenv.mkDerivation rec { - name = "anydesk-${version}"; + pname = "anydesk"; version = "4.0.1"; src = fetchurl { - url = "https://download.anydesk.com/linux/${name}-${arch}.tar.gz"; + url = "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz"; inherit sha256; }; buildInputs = [ - atk cairo gdk_pixbuf glib gtk2 stdenv.cc.cc pango + atk cairo gdk-pixbuf glib gtk2 stdenv.cc.cc pango gnome2.gtkglext libGLU_combined freetype fontconfig pangox_compat polkit polkit_gnome ] ++ (with xorg; [ @@ -72,7 +72,7 @@ in stdenv.mkDerivation rec { meta = with stdenv.lib; { inherit description; - homepage = http://www.anydesk.com; + homepage = https://www.anydesk.com; license = licenses.unfree; platforms = platforms.linux; maintainers = with maintainers; [ peterhoeg ]; diff --git a/pkgs/applications/networking/remote/citrix-receiver/default.nix b/pkgs/applications/networking/remote/citrix-receiver/default.nix index 8d0022e3c8b..8d21f64765d 100644 --- a/pkgs/applications/networking/remote/citrix-receiver/default.nix +++ b/pkgs/applications/networking/remote/citrix-receiver/default.nix @@ -12,7 +12,7 @@ , glib , gtk2 , atk -, gdk_pixbuf +, gdk-pixbuf , cairo , pango , gnome3 @@ -38,55 +38,34 @@ let }; }); - versionInfo = { - "13.8.0" = { - major = "13"; - minor = "8"; - patch = "0"; - x64hash = "FDF5991CCD52B2B98289D7B2FB46D492D3E4032846D4AFA52CAA0F8AC0578931"; - x86hash = "E0CFB43312BF79F753514B11F7B8DE4529823AE4C92D1B01E8A2C34F26AC57E7"; - x64suffix = "10299729"; - x86suffix = "10299729"; - homepage = https://www.citrix.com/downloads/citrix-receiver/legacy-receiver-for-linux/receiver-for-linux-138.html; + versionInfo = let + supportedVersions = { + "13.10.0" = { + major = "13"; + minor = "10"; + patch = "0"; + x64hash = "7025688C7891374CDA11C92FC0BA2FA8151AEB4C4D31589AD18747FAE943F6EA"; + x86hash = "2DCA3C8EDED11C5D824D579BC3A6B7D531EAEDDCBFB16E91B5702C72CAE9DEE4"; + x64suffix = "20"; + x86suffix = "20"; + homepage = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html; + }; }; - "13.9.0" = { - major = "13"; - minor = "9"; - patch = "0"; - x64hash = "00l18s7i9yky3ddabwljwsf7fx4cjgjn9hfd74j0x1v4gl078nl9"; - x86hash = "117fwynpxfnrw98933y8z8v2q4g6ycs1sngvpbki2qj09bjkwmag"; - x64suffix = "102"; - x86suffix = "102"; - homepage = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html; # This version has disappeared from Citrix's website... *sigh* - }; - - "13.9.1" = { - major = "13"; - minor = "9"; - patch = "1"; - x64hash = "A9A9157CE8C287E8AA11447A0E3C3AB7C227330E9D8882C6F7B938A4DD5925BC"; - x86hash = "A93E9770FD10FDD3586A2D47448559EA037265717A7000B9BD2B1DCCE7B0A483"; - x64suffix = "6"; - x86suffix = "6"; - homepage = https://www.citrix.com/downloads/citrix-receiver/legacy-receiver-for-linux/receiver-for-linux-1391.html; - }; - - "13.10.0" = { - major = "13"; - minor = "10"; - patch = "0"; - x64hash = "7025688C7891374CDA11C92FC0BA2FA8151AEB4C4D31589AD18747FAE943F6EA"; - x86hash = "2DCA3C8EDED11C5D824D579BC3A6B7D531EAEDDCBFB16E91B5702C72CAE9DEE4"; - x64suffix = "20"; - x86suffix = "20"; - homepage = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html; - }; - }; + # break an evaluation for old Citrix versions rather than exiting with + # an "attribute name not found" error to avoid confusion. + deprecatedVersions = let + versions = [ "13.8.0" "13.9.0" "13.9.1" ]; + in + lib.listToAttrs + (lib.forEach versions + (v: lib.nameValuePair v (throw "Unsupported citrix_receiver version: ${v}"))); + in + deprecatedVersions // supportedVersions; citrixReceiverForVersion = { major, minor, patch, x86hash, x64hash, x86suffix, x64suffix, homepage }: stdenv.mkDerivation rec { - name = "citrix-receiver-${version}"; + pname = "citrix-receiver"; version = "${major}.${minor}.${patch}"; inherit homepage; @@ -121,14 +100,14 @@ let busybox file gtk2 - gdk_pixbuf + gdk-pixbuf ]; libPath = stdenv.lib.makeLibraryPath [ glib gtk2 atk - gdk_pixbuf + gdk-pixbuf cairo pango gnome3.dconf diff --git a/pkgs/applications/networking/remote/citrix-workspace/default.nix b/pkgs/applications/networking/remote/citrix-workspace/default.nix new file mode 100644 index 00000000000..4936b0ce0b5 --- /dev/null +++ b/pkgs/applications/networking/remote/citrix-workspace/default.nix @@ -0,0 +1,230 @@ +{ stdenv +, lib +, fetchurl +, requireFile +, makeWrapper +, libredirect +, busybox +, file +, makeDesktopItem +, tzdata +, cacert +, glib +, gtk2 +, atk +, gdk-pixbuf +, cairo +, pango +, gnome3 +, xorg +, libpng12 +, freetype +, fontconfig +, gtk_engines +, alsaLib +, zlib +, version ? "19.8.0" +}: + +let + versionInfo = let + supportedVersions = { + "19.3.0" = { + major = "19"; + minor = "3"; + patch = "0"; + x64hash = "0mhpp29ca3dw9hx72i0qawdq35wcc7qzgxwzlx4aicwnm1gbil5c"; + x86hash = "1hxgj5lk5ghbpssbqjd404qr84gls967vwrh8ww5hg3pn86kyf8w"; + x64suffix = "5"; + x86suffix = "5"; + homepage = https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-1903.html; + }; + + "19.6.0" = { + major = "19"; + minor = "6"; + patch = "0"; + x64hash = "0szqlfmigzgf0309i6ikxkizxaf4ri7qmhys75m0zi3bpwx6hzhs"; + x86hash = "16v3kgavrh62z6vxcbw6mn7h0bfishpl7m92k7g1p2882r1f8vaf"; + x64suffix = "60"; + x86suffix = "60"; + homepage = https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html; + }; + + "19.8.0" = { + major = "19"; + minor = "8"; + patch = "0"; + x64hash = "0f8djw8lp5wihb23y09yac1mh09w1qp422h72r6zfx9k1lqfsdbw"; + x86hash = "0afcqirb4q349r3izy88vqkszg6y2wg14iwypk6nrmvwgvcl6jdn"; + x64suffix = "20"; + x86suffix = "20"; + homepage = https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html; + }; + }; + + # Copied this file largely from the citrix-receiver package + # Leaving this here even though there are no deprecations yet + # for ease of future maintenance. + # + # The lifespans of Citrix products can be found here: + # https://www.citrix.com/support/product-lifecycle/milestones/receiver.html + deprecatedVersions = let + versions = [ ]; + in + lib.listToAttrs + (lib.forEach versions + (v: lib.nameValuePair v (throw "Unsupported citrix_workspace version: ${v}"))); + in + deprecatedVersions // supportedVersions; + + citrixWorkspaceForVersion = { major, minor, patch, x64hash, x86hash, x64suffix, x86suffix, homepage }: + stdenv.mkDerivation rec { + pname = "citrix-workspace"; + version = "${major}.${minor}.${patch}"; + inherit homepage; + + prefixWithBitness = if stdenv.is64bit then "linuxx64" else "linuxx86"; + + preferLocalBuild = true; + + src = requireFile rec { + name = if stdenv.is64bit then "${prefixWithBitness}-${version}.${x64suffix}.tar.gz" else "${prefixWithBitness}-${version}.${x86suffix}.tar.gz"; + sha256 = if stdenv.is64bit then x64hash else x86hash; + message = '' + In order to use Citrix Workspace, you need to comply with the Citrix EULA and download + the ${if stdenv.is64bit then "64-bit" else "32-bit"} binaries, .tar.gz from: + + ${homepage} + + (if you do not find version ${version} there, try at + https://www.citrix.com/downloads/workspace-app/ + + Once you have downloaded the file, please use the following command and re-run the + installation: + + nix-prefetch-url file://\$PWD/${name} + ''; + }; + + dontBuild = true; + + sourceRoot = "."; + + buildInputs = [ + makeWrapper + busybox + file + gtk2 + gdk-pixbuf + ]; + + libPath = stdenv.lib.makeLibraryPath [ + glib + gtk2 + atk + gdk-pixbuf + cairo + pango + gnome3.dconf + xorg.libX11 + xorg.libXext + xorg.libXrender + xorg.libXinerama + xorg.libXfixes + libpng12 + zlib + gtk_engines + freetype + fontconfig + alsaLib + stdenv.cc.cc # Fixes: Can not load [..]/opt/citrix-icaclient/lib/ctxh264_fb.so:(null) + ]; + + desktopItem = makeDesktopItem { + name = "wfica"; + desktopName = "Citrix Workspace"; + genericName = "Citrix Workspace"; + exec = "wfica"; + icon = "wfica"; + comment = "Connect to remote Citrix server"; + categories = "GTK;GNOME;X-GNOME-NetworkSettings;Network;"; + mimeType = "application/x-ica"; + }; + + installPhase = '' + runHook preInstall + + export ICAInstDir="$out/opt/citrix-icaclient" + + sed -i \ + -e 's,^main_install_menu$,install_ICA_client,g' \ + -e 's,^integrate_ICA_client(),alias integrate_ICA_client=true\nintegrate_ICA_client_old(),g' \ + -e 's,^ANSWER=""$,ANSWER="$INSTALLER_YES",' \ + -e 's,/bin/true,true,g' \ + ./${prefixWithBitness}/hinst + + # Run the installer... + bash ./${prefixWithBitness}/hinst CDROM "`pwd`" + + echo "Deleting broken links..." + for link in `find $ICAInstDir -type l ` + do + [ -f "$link" ] || rm -v "$link" + done + + echo "Expanding certificates..." + # As explained in https://wiki.archlinux.org/index.php/Citrix#Security_Certificates + pushd "$ICAInstDir/keystore/cacerts" + awk 'BEGIN {c=0;} /BEGIN CERT/{c++} { print > "cert." c ".pem"}' < ${cacert}/etc/ssl/certs/ca-bundle.crt + popd + + echo "Patching executables..." + find $ICAInstDir -type f -exec file {} \; | + grep 'ELF.*executable' | + cut -f 1 -d : | + grep -vi '\(.dll\|.so\)$' | # added as a workaround to https://github.com/NixOS/nixpkgs/issues/41729 + while read f + do + echo "Patching ELF intrepreter and rpath for $f" + chmod u+w "$f" + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + --set-rpath "$ICAInstDir:$libPath" "$f" + done + + echo "Wrapping wfica..." + mkdir "$out/bin" + + makeWrapper "$ICAInstDir/wfica" "$out/bin/wfica" \ + --add-flags "-icaroot $ICAInstDir" \ + --set ICAROOT "$ICAInstDir" \ + --set GTK_PATH "${gtk2.out}/lib/gtk-2.0:${gnome3.gnome-themes-extra}/lib/gtk-2.0" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ + --set LD_LIBRARY_PATH "$libPath" \ + --set NIX_REDIRECTS "/usr/share/zoneinfo=${tzdata}/share/zoneinfo:/etc/zoneinfo=${tzdata}/share/zoneinfo:/etc/timezone=$ICAInstDir/timezone" + + echo "We arbitrarily set the timezone to UTC. No known consequences at this point." + echo UTC > "$ICAInstDir/timezone" + + echo "Installing desktop item..." + mkdir -p $out/share/applications + cp ${desktopItem}/share/applications/* $out/share/applications + + # We introduce a dependency on the source file so that it need not be redownloaded everytime + echo $src >> "$out/share/workspace_dependencies.pin" + + runHook postInstall + ''; + + meta = with stdenv.lib; { + license = stdenv.lib.licenses.unfree; + inherit homepage; + description = "Citrix Workspace"; + platforms = platforms.linux; + maintainers = with maintainers; [ ma27 ]; + }; + }; + +in citrixWorkspaceForVersion (lib.getAttr version versionInfo) diff --git a/pkgs/applications/networking/remote/citrix-workspace/wrapper.nix b/pkgs/applications/networking/remote/citrix-workspace/wrapper.nix new file mode 100644 index 00000000000..ea475ae6dbc --- /dev/null +++ b/pkgs/applications/networking/remote/citrix-workspace/wrapper.nix @@ -0,0 +1,19 @@ +{ citrix_workspace, extraCerts ? [], symlinkJoin }: + +let + + mkCertCopy = certPath: + "cp ${certPath} $out/opt/citrix-icaclient/keystore/cacerts/"; + +in + +if builtins.length extraCerts == 0 then citrix_workspace else symlinkJoin { + name = "citrix-with-extra-certs-${citrix_workspace.version}"; + paths = [ citrix_workspace ]; + + postBuild = '' + ${builtins.concatStringsSep "\n" (map mkCertCopy extraCerts)} + + sed -i -E "s,-icaroot (.+citrix-icaclient),-icaroot $out/opt/citrix-icaclient," $out/bin/wfica + ''; +} diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix index 425a064fa96..5963c6b6c95 100644 --- a/pkgs/applications/networking/remote/freerdp/default.nix +++ b/pkgs/applications/networking/remote/freerdp/default.nix @@ -9,11 +9,11 @@ , pcsclite ? null , systemd ? null , buildServer ? true -, optimize ? true +, nocaps ? false }: stdenv.mkDerivation rec { - name = "freerdp-${version}"; + pname = "freerdp"; version = "2.0.0-rc4"; src = fetchFromGitHub { @@ -32,6 +32,9 @@ stdenv.mkDerivation rec { '' + lib.optionalString (pcsclite != null) '' substituteInPlace "winpr/libwinpr/smartcard/smartcard_pcsc.c" \ --replace "libpcsclite.so" "${stdenv.lib.getLib pcsclite}/lib/libpcsclite.so" + '' + lib.optionalString nocaps '' + substituteInPlace "libfreerdp/locale/keyboard_xkbfile.c" \ + --replace "RDP_SCANCODE_CAPSLOCK" "RDP_SCANCODE_LCONTROL" ''; buildInputs = with lib; [ @@ -58,7 +61,7 @@ stdenv.mkDerivation rec { ++ optional (cups != null) "-DWITH_CUPS=ON" ++ optional (pcsclite != null) "-DWITH_PCSC=ON" ++ optional buildServer "-DWITH_SERVER=ON" - ++ optional (optimize && stdenv.isx86_64) "-DWITH_SSE2=ON"; + ++ optional (stdenv.isx86_64) "-DWITH_SSE2=ON"; meta = with lib; { description = "A Remote Desktop Protocol Client"; diff --git a/pkgs/applications/networking/remote/freerdp/legacy.nix b/pkgs/applications/networking/remote/freerdp/legacy.nix deleted file mode 100644 index 9830b846525..00000000000 --- a/pkgs/applications/networking/remote/freerdp/legacy.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ stdenv -, fetchurl -, cmake -, openssl -, glib, pcre -, printerSupport ? true, cups -, pkgconfig -, zlib -, libX11 -, libXcursor -, libXdamage -, libXext -, alsaLib -, ffmpeg -, libxkbfile -#, xmlto, docbook_xml_dtd_412, docbook_xml_xslt -, libXinerama -, libXv -, pulseaudioSupport ? true -}: - -assert printerSupport -> cups != null; - -stdenv.mkDerivation rec { - name = "freerdp-${version}"; - version = "1.2.0-beta1+android9"; - - src = fetchurl { - url = "https://github.com/FreeRDP/FreeRDP/archive/${version}.tar.gz"; - sha256 = "181w4lkrk5h5kh2zjlx6h2cl1mfw2aaami3laq3q32pfj06q3rxl"; - }; - - buildInputs = [ - cmake - openssl - glib pcre - pkgconfig - zlib - libX11 - libXcursor - libXdamage - libXext - alsaLib - ffmpeg - libxkbfile -# xmlto docbook_xml_dtd_412 docbook_xml_xslt - libXinerama - libXv - ] ++ stdenv.lib.optional printerSupport cups; - - preConfigure = '' - export HOME=$TMP - ''; - - configureFlags = [ - "--with-x" "-DWITH_MANPAGES=OFF" - ] ++ stdenv.lib.optional printerSupport "--with-printer=cups" - ++ stdenv.lib.optional pulseaudioSupport "-DWITH_PULSEAUDIO=ON"; - - meta = with stdenv.lib; { - description = "A Remote Desktop Protocol Client"; - - longDescription = '' - FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP) - following the Microsoft Open Specifications. - ''; - - homepage = http://www.freerdp.com/; - license = licenses.free; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/networking/remote/putty/default.nix b/pkgs/applications/networking/remote/putty/default.nix index 13613774b7c..3b7db7075bb 100644 --- a/pkgs/applications/networking/remote/putty/default.nix +++ b/pkgs/applications/networking/remote/putty/default.nix @@ -3,15 +3,15 @@ }: stdenv.mkDerivation rec { - version = "0.70"; - name = "putty-${version}"; + version = "0.71"; + pname = "putty"; src = fetchurl { urls = [ - "https://the.earth.li/~sgtatham/putty/${version}/${name}.tar.gz" - "ftp://ftp.wayne.edu/putty/putty-website-mirror/${version}/${name}.tar.gz" + "https://the.earth.li/~sgtatham/putty/${version}/${pname}-${version}.tar.gz" + "ftp://ftp.wayne.edu/putty/putty-website-mirror/${version}/${pname}-${version}.tar.gz" ]; - sha256 = "1gmhwwj1y7b5hgkrkxpf4jddjpk9l5832zq5ibhsiicndsfs92mv"; + sha256 = "1f66iss0kqk982azmxbk4xfm2i1csby91vdvly6cr04pz3i1r4rg"; }; preConfigure = lib.optionalString stdenv.hostPlatform.isUnix '' diff --git a/pkgs/applications/networking/remote/rdesktop/default.nix b/pkgs/applications/networking/remote/rdesktop/default.nix index 4caa9ae63f7..9c9abe55daa 100644 --- a/pkgs/applications/networking/remote/rdesktop/default.nix +++ b/pkgs/applications/networking/remote/rdesktop/default.nix @@ -1,28 +1,32 @@ -{stdenv, fetchurl, openssl, libX11, libgssglue, pkgconfig} : +{stdenv, fetchFromGitHub, openssl, libX11, libgssglue, pkgconfig, autoreconfHook +, enableCredssp ? (!stdenv.isDarwin) +} : stdenv.mkDerivation (rec { pname = "rdesktop"; - version = "1.8.3"; - name = "${pname}-${version}"; + version = "1.8.6"; - src = fetchurl { - url = "mirror://sourceforge/${pname}/${name}.tar.gz"; - sha256 = "1r7c1rjmw2xzq8fw0scyb453gy9z19774z1z8ldmzzsfndb03cl8"; + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "02sbhnqbasa54c75c86qw9w9h9sxxbnldj7bjv2gvn18lmq5rm20"; }; - nativeBuildInputs = [pkgconfig]; - buildInputs = [openssl libX11 libgssglue]; + nativeBuildInputs = [pkgconfig autoreconfHook]; + buildInputs = [openssl libX11] + ++ stdenv.lib.optional enableCredssp libgssglue; configureFlags = [ "--with-ipv6" "--with-openssl=${openssl.dev}" "--disable-smartcard" - ]; + ] ++ stdenv.lib.optional (!enableCredssp) "--disable-credssp"; meta = { description = "Open source client for Windows Terminal Services"; homepage = http://www.rdesktop.org/; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; license = stdenv.lib.licenses.gpl2; }; }) diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix index c2ae02e0149..fb577f09120 100644 --- a/pkgs/applications/networking/remote/remmina/default.nix +++ b/pkgs/applications/networking/remote/remmina/default.nix @@ -1,25 +1,25 @@ { stdenv, fetchFromGitLab, cmake, ninja, pkgconfig, wrapGAppsHook , glib, gtk3, gettext, libxkbfile, libX11 -, freerdp, libssh, libgcrypt, gnutls, makeDesktopItem +, freerdp, libssh, libgcrypt, gnutls , pcre, libdbusmenu-gtk3, libappindicator-gtk3 , libvncserver, libpthreadstubs, libXdmcp, libxkbcommon , libsecret, libsoup, spice-protocol, spice-gtk, epoxy, at-spi2-core , openssl, gsettings-desktop-schemas, json-glib # The themes here are soft dependencies; only icons are missing without them. -, hicolor-icon-theme, adwaita-icon-theme +, hicolor-icon-theme, gnome3 }: with stdenv.lib; stdenv.mkDerivation rec { pname = "remmina"; - version = "1.3.2"; + version = "1.3.4"; src = fetchFromGitLab { owner = "Remmina"; repo = "Remmina"; rev = "v${version}"; - sha256 = "1ld5ik2g4b95z9pynmwx8mqhblbfzr7a0v35pms89ig4ck1kvr5r"; + sha256 = "18p6v2lalpiba0r318grlc2bvqh2qlpjw811i0934g33faviyfj1"; }; nativeBuildInputs = [ cmake ninja pkgconfig wrapGAppsHook ]; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { pcre libdbusmenu-gtk3 libappindicator-gtk3 libvncserver libpthreadstubs libXdmcp libxkbcommon libsecret libsoup spice-protocol spice-gtk epoxy at-spi2-core - openssl hicolor-icon-theme adwaita-icon-theme json-glib + openssl hicolor-icon-theme gnome3.adwaita-icon-theme json-glib ]; cmakeFlags = [ diff --git a/pkgs/applications/networking/remote/ssvnc/default.nix b/pkgs/applications/networking/remote/ssvnc/default.nix deleted file mode 100644 index 99835627f87..00000000000 --- a/pkgs/applications/networking/remote/ssvnc/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ stdenv, fetchurl, imake, zlib, jdk, libX11, libXt, libXmu -, libXaw, libXext, libXpm, openjpeg, openssl, tk, perl }: - -stdenv.mkDerivation rec { - name = "ssvnc-${version}"; - version = "1.0.29"; - - src = fetchurl { - url = "mirror://sourceforge/ssvnc/${name}.src.tar.gz"; - sha256 = "74df32eb8eaa68b07c9693a232ebe42154617c7f3cbe1d4e68d3fe7c557d618d"; - }; - - buildInputs = [ imake zlib jdk libX11 libXt libXmu libXaw libXext libXpm openjpeg openssl ]; - - dontUseImakeConfigure = true; - - makeFlags = "PREFIX=$(out)"; - - hardeningDisable = [ "format" ]; - - postInstall = '' - sed -i -e 's|exec wish|exec ${tk}/bin/wish|' $out/lib/ssvnc/util/ssvnc.tcl - sed -i -e 's|/usr/bin/perl|${perl}/bin/perl|' $out/lib/ssvnc/util/ss_vncviewer - ''; - - meta = { - description = "VNC viewer that adds encryption security to VNC connections"; - homepage = http://www.karlrunge.com/x11vnc/ssvnc.html; - license = stdenv.lib.licenses.gpl2; - maintainers = [ stdenv.lib.maintainers.edwtjo ]; - platforms = with stdenv.lib.platforms; linux; - }; -} diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix index 9bfaad8a5bc..f9b17b42bde 100644 --- a/pkgs/applications/networking/remote/teamviewer/default.nix +++ b/pkgs/applications/networking/remote/teamviewer/default.nix @@ -1,13 +1,16 @@ -{ stdenv, fetchurl, autoPatchelfHook, makeWrapper, xdg_utils, dbus, qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc, libXrandr, libX11 }: +{ mkDerivation, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg_utils, dbus +, qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc +, libXrandr, libX11, libXext, libXdamage, libXtst, libSM, libXfixes +, wrapQtAppsHook +}: - -stdenv.mkDerivation rec { - name = "teamviewer-${version}"; - version = "14.1.3399"; +mkDerivation rec { + pname = "teamviewer"; + version = "14.5.1691"; src = fetchurl { url = "https://dl.tvcdn.de/download/linux/version_14x/teamviewer_${version}_amd64.deb"; - sha256 = "166ndijis2i3afz3l6nsnrdhs56v33w5cnjd0m7giqj0fbq43ws5"; + sha256 = "1dzvjyvcqcah6z1dvw4zvmbdn8iks9j2909slbkksavn1rp3akxc"; }; unpackPhase = '' @@ -15,7 +18,7 @@ stdenv.mkDerivation rec { tar xf data.tar.* ''; - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapQtAppsHook ]; buildInputs = [ dbus qtbase qtwebkit qtx11extras libX11 ]; propagatedBuildInputs = [ qtquickcontrols ]; @@ -41,13 +44,18 @@ stdenv.mkDerivation rec { --replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2' substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \ --replace '/var/run/' '/run/' - wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libXrandr libX11 ]}" - wrapProgram $out/share/teamviewer/tv_bin/teamviewerd --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libXrandr libX11 ]}" + + wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}" + wrapProgram $out/share/teamviewer/tv_bin/teamviewerd --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}" + wrapProgram $out/share/teamviewer/tv_bin/TeamViewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}" + wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [libXrandr libX11 libXext libXdamage libXtst libSM libXfixes ]}" + + wrapQtApp $out/bin/teamviewer ''; dontStrip = true; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://www.teamviewer.com; license = licenses.unfree; description = "Desktop sharing application, providing remote support and online meetings"; diff --git a/pkgs/applications/networking/remote/waypipe/default.nix b/pkgs/applications/networking/remote/waypipe/default.nix new file mode 100644 index 00000000000..d253e766284 --- /dev/null +++ b/pkgs/applications/networking/remote/waypipe/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchFromGitLab +, meson, ninja, pkgconfig, scdoc +, wayland, wayland-protocols, openssh +, mesa, lz4, zstd, ffmpeg_4, libva +}: + +stdenv.mkDerivation rec { + pname = "waypipe-unstable"; + version = "0.6.1"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "mstoeckl"; + repo = "waypipe"; + rev = "v${version}"; + sha256 = "13kp5snkksli0sj5ldkgybcs1s865f0qdak2w8796xvy8dg9jda8"; + }; + + postPatch = '' + substituteInPlace src/waypipe.c \ + --replace "/usr/bin/ssh" "${openssh}/bin/ssh" + ''; + + nativeBuildInputs = [ meson ninja pkgconfig scdoc ]; + + buildInputs = [ + wayland wayland-protocols + # Optional dependencies: + mesa lz4 zstd ffmpeg_4 libva + ]; + + enableParallelBuilding = true; + + mesonFlags = [ "-Dwerror=false" ]; # TODO: Report warnings upstream + + meta = with stdenv.lib; { + description = "A network proxy for Wayland clients (applications)"; + longDescription = '' + waypipe is a proxy for Wayland clients. It forwards Wayland messages and + serializes changes to shared memory buffers over a single socket. This + makes application forwarding similar to ssh -X feasible. + ''; + homepage = https://mstoeckl.com/notes/gsoc/blog.html; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ primeos ]; + }; +} diff --git a/pkgs/applications/networking/remote/x2goclient/default.nix b/pkgs/applications/networking/remote/x2goclient/default.nix index 87fe60c7740..2cfbfb1b201 100644 --- a/pkgs/applications/networking/remote/x2goclient/default.nix +++ b/pkgs/applications/networking/remote/x2goclient/default.nix @@ -1,19 +1,18 @@ { stdenv, fetchgit, cups, libssh, libXpm, nx-libs, openldap, openssh -, makeWrapper, qtbase, qtsvg, qtx11extras, qttools, phonon, pkgconfig }: +, mkDerivation, qtbase, qtsvg, qtx11extras, qttools, phonon, pkgconfig }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "x2goclient"; - version = "unstable-2018-11-30"; + version = "unstable-2019-07-24"; src = fetchgit { url = "git://code.x2go.org/x2goclient.git"; - rev = "659655675f11ffd361ab9fb48fa77a01a1536fe8"; - sha256 = "05gfs11m259bchy3k0ihqpwg9wf8lp94rbca5dzla9fjzrb7pyy4"; + rev = "704c4ab92d20070dd160824c9b66a6d1c56dcc49"; + sha256 = "1pndp3lfzwifyxqq0gps3p1bwakw06clbk6n8viv020l4bsfmq5f"; }; buildInputs = [ cups libssh libXpm nx-libs openldap openssh qtbase qtsvg qtx11extras qttools phonon pkgconfig ]; - nativeBuildInputs = [ makeWrapper ]; postPatch = '' substituteInPlace Makefile \ @@ -28,9 +27,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; installTargets = [ "install_client" "install_man" ]; - postInstall = '' - wrapProgram "$out/bin/x2goclient" --suffix PATH : "${nx-libs}/bin:${openssh}/libexec"; - ''; + + qtWrapperArgs = [ ''--suffix PATH : ${nx-libs}/bin:${openssh}/libexec'' ]; meta = with stdenv.lib; { description = "Graphical NoMachine NX3 remote desktop client"; diff --git a/pkgs/applications/networking/remote/x2goserver/default.nix b/pkgs/applications/networking/remote/x2goserver/default.nix new file mode 100644 index 00000000000..f69d2326217 --- /dev/null +++ b/pkgs/applications/networking/remote/x2goserver/default.nix @@ -0,0 +1,93 @@ +{ stdenv, lib, fetchurl, perlPackages, makeWrapper, perl, which, nx-libs +, utillinux, coreutils, glibc, gawk, gnused, gnugrep, findutils, xorg +, nettools, iproute, bc, procps, psmisc, lsof, pwgen, openssh, sshfs, bash +}: + +let + pname = "x2goserver"; + version = "4.1.0.3"; + + src = fetchurl { + url = "http://code.x2go.org/releases/source/x2goserver/${pname}-${version}.tar.gz"; + sha256 = "1l6wd708kbipib4ldprfiihqmj4895nifg0bkws4x97majislxk7"; + }; + + x2go-perl = perlPackages.buildPerlPackage rec { + pname = "X2Go"; + inherit version src; + makeFlags = [ "-f" "Makefile.perl" ]; + patchPhase = '' + substituteInPlace X2Go/Config.pm --replace '/etc/x2go' '/var/lib/x2go/conf' + substituteInPlace X2Go/Server/DB.pm \ + --replace '$x2go_lib_path/libx2go-server-db-sqlite3-wrapper' \ + '/run/wrappers/bin/x2gosqliteWrapper' + substituteInPlace X2Go/Server/DB/SQLite3.pm --replace "user='x2gouser'" "user='x2go'" + ''; + }; + + perlEnv = perl.withPackages (p: with p; [ + x2go-perl DBI DBDSQLite FileBaseDir TryTiny CaptureTiny ConfigSimple Switch + ]); + + binaryDeps = [ + perlEnv which nx-libs utillinux coreutils glibc.bin gawk gnused gnugrep + findutils nettools iproute bc procps psmisc lsof pwgen openssh sshfs + xorg.xauth xorg.xinit xorg.xrandr xorg.xmodmap xorg.xwininfo xorg.fontutil + xorg.xkbcomp xorg.setxkbmap + ]; +in +stdenv.mkDerivation rec { + inherit pname version src; + + buildInputs = [ perlEnv bash ]; + + nativeBuildInputs = [ makeWrapper ]; + + prePatch = '' + patchShebangs . + sed -i '/Makefile.PL\|Makefile.perl/d' Makefile + for i in */Makefile; do + substituteInPlace "$i" --replace "-o root -g root " "" + done + substituteInPlace libx2go-server-db-perl/Makefile --replace "chmod 2755" "chmod 755" + for i in x2goserver/sbin/x2godbadmin x2goserver/bin/x2go* + do + substituteInPlace $i --replace '/etc/x2go' '/var/lib/x2go/conf' + done + substituteInPlace x2goserver/sbin/x2gocleansessions \ + --replace '/var/run/x2goserver.pid' '/var/run/x2go/x2goserver.pid' + substituteInPlace x2goserver/sbin/x2godbadmin --replace 'user="x2gouser"' 'user="x2go"' + substituteInPlace x2goserver-xsession/etc/Xsession \ + --replace "SSH_AGENT /bin/bash -c" "SSH_AGENT ${bash}/bin/bash -c" \ + --replace "[ -f /etc/redhat-release ]" "[ -d /etc/nix ] || [ -f /etc/redhat-release ]" + ''; + + makeFlags = [ "PREFIX=/" "NXLIBDIR=${nx-libs}/lib/nx" ]; + + installFlags = [ "DESTDIR=$(out)" ]; + + postInstall = '' + mv $out/etc/x2go/x2goserver.conf{,.example} + mv $out/etc/x2go/x2goagent.options{,.example} + ln -sf ${nx-libs}/bin/nxagent $out/bin/x2goagent + for i in $out/sbin/x2go* $(find $out/bin -type f) \ + $(ls $out/lib/x2go/x2go* | grep -v x2gocheckport) + do + wrapProgram $i --prefix PATH : ${lib.makeBinPath binaryDeps}:$out + done + # We're patching @INC of the setgid wrapper, because we can't mix + # the perl wrapper (for PERL5LIB) with security.wrappers (for setgid) + sed -ie "s,.\+bin/perl,#!${perl}/bin/perl -I ${perlEnv}/lib/perl5/site_perl," \ + $out/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Remote desktop application, server component"; + homepage = "http://x2go.org/"; + platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + maintainers = [ maintainers.averelld ]; + }; +} diff --git a/pkgs/applications/networking/remote/xrdp/default.nix b/pkgs/applications/networking/remote/xrdp/default.nix index 442881398f6..5d33f186df7 100644 --- a/pkgs/applications/networking/remote/xrdp/default.nix +++ b/pkgs/applications/networking/remote/xrdp/default.nix @@ -2,7 +2,7 @@ let xorgxrdp = stdenv.mkDerivation rec { - name = "xorgxrdp-${version}"; + pname = "xorgxrdp"; version = "0.2.9"; src = fetchFromGitHub { @@ -35,7 +35,7 @@ let xrdp = stdenv.mkDerivation rec { version = "0.9.9"; - name = "xrdp-${version}"; + pname = "xrdp"; src = fetchFromGitHub { owner = "volth"; diff --git a/pkgs/applications/networking/resilio-sync/default.nix b/pkgs/applications/networking/resilio-sync/default.nix index c855277e225..ecce7172def 100644 --- a/pkgs/applications/networking/resilio-sync/default.nix +++ b/pkgs/applications/networking/resilio-sync/default.nix @@ -8,14 +8,14 @@ let libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ]; in stdenv.mkDerivation rec { - name = "resilio-sync-${version}"; - version = "2.6.2"; + pname = "resilio-sync"; + version = "2.6.3"; src = fetchurl { url = "https://download-cdn.resilio.com/${version}/linux-${arch}/resilio-sync_${arch}.tar.gz"; sha256 = { - "x86_64-linux" = "0vq8jz4v740zz3pvgqfya8mhy35fh49wpn8d08xjrs5062hl1yc2"; - "i686-linux" = "1gvq29bkdqvbcgnnhl3018h564rswk3r88s33lx5iph1rpxc6v5h"; + "x86_64-linux" = "114k7dsxn7lzv6mjq9alsqxypvkah4lmjn5w6brbvgd6m6pdwslz"; + "i686-linux" = "1dh0hxbd33bs51xib3qwxw58h9j30v0dc10b4x4rwkbgsj11nc83"; }.${stdenv.hostPlatform.system}; }; diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix index 543afc696ea..16430d31e83 100644 --- a/pkgs/applications/networking/seafile-client/default.nix +++ b/pkgs/applications/networking/seafile-client/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools -, seafile-shared, ccnet, makeWrapper +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools +, seafile-shared, ccnet , withShibboleth ? true, qtwebengine }: with stdenv.lib; -stdenv.mkDerivation rec { +mkDerivation rec { version = "6.2.11"; - name = "seafile-client-${version}"; + pname = "seafile-client"; src = fetchFromGitHub { owner = "haiwen"; @@ -15,17 +15,16 @@ stdenv.mkDerivation rec { sha256 = "1b8jqmr2qd3bpb3sr4p5w2a76x5zlknkj922sxrvw1rdwqhkb2pj"; }; - nativeBuildInputs = [ pkgconfig cmake makeWrapper ]; + nativeBuildInputs = [ pkgconfig cmake ]; buildInputs = [ qtbase qttools seafile-shared ] ++ optional withShibboleth qtwebengine; cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ] ++ optional withShibboleth "-DBUILD_SHIBBOLETH_SUPPORT=ON"; - postInstall = '' - wrapProgram $out/bin/seafile-applet \ - --suffix PATH : ${stdenv.lib.makeBinPath [ ccnet seafile-shared ]} - ''; + qtWrapperArgs = [ + "--suffix PATH : ${stdenv.lib.makeBinPath [ ccnet seafile-shared ]}" + ]; meta = with stdenv.lib; { homepage = https://github.com/haiwen/seafile-client; diff --git a/pkgs/applications/networking/sieve-connect/default.nix b/pkgs/applications/networking/sieve-connect/default.nix index 55d473bc104..dc578dccd19 100644 --- a/pkgs/applications/networking/sieve-connect/default.nix +++ b/pkgs/applications/networking/sieve-connect/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, makeWrapper, perlPackages }: stdenv.mkDerivation rec { - name = "sieve-connect-${version}"; - version = "0.89"; + pname = "sieve-connect"; + version = "0.90"; src = fetchFromGitHub { owner = "philpennock"; repo = "sieve-connect"; rev = "v${version}"; - sha256 = "0g7cv29wd5673inl4c87xb802k86bj6gcwh131xrbbg0a0g1c8fp"; + sha256 = "1ghvfa5ifa68b6imh85bkmy00r93c5f9hs6d039axb73gmma580p"; }; buildInputs = [ perlPackages.perl ]; diff --git a/pkgs/applications/networking/sniffers/ettercap/default.nix b/pkgs/applications/networking/sniffers/ettercap/default.nix index 13d536ccf1b..dbff491fa80 100644 --- a/pkgs/applications/networking/sniffers/ettercap/default.nix +++ b/pkgs/applications/networking/sniffers/ettercap/default.nix @@ -1,34 +1,23 @@ { stdenv, fetchFromGitHub, cmake, libpcap, libnet, zlib, curl, pcre -, openssl, ncurses, glib, gtk2, atk, pango, flex, bison -, fetchpatch }: +, openssl, ncurses, glib, gtk3, atk, pango, flex, bison, geoip +, pkgconfig }: stdenv.mkDerivation rec { - name = "ettercap-${version}"; - version = "0.8.2"; + pname = "ettercap"; + version = "0.8.3"; src = fetchFromGitHub { owner = "Ettercap"; repo = "ettercap"; rev = "v${version}"; - sha256 = "1kvrzv2f8kxy7pndfadkzv10cs5wsyfkaa1ski20r2mq4wrvd0cd"; + sha256 = "0m40bmbrv9a8qlg54z3b5f8r541gl9vah5hm0bbqcgyyljpg39bz"; }; - patches = [ - (fetchpatch { - name = "CVE-2017-8366.patch"; - url = "https://github.com/Ettercap/ettercap/commit/1083d604930ebb9f350126b83802ecd2cbc17f90.patch"; - sha256 = "1ff6fp8fxisvd3fkkd01y4fjykgcj414kczzpfscdmi52ridwg8m"; - }) - (fetchpatch { - name = "CVE-2017-6430.patch"; - url = "https://github.com/Ettercap/ettercap/commit/7f50c57b2101fe75592c8dc9960883bbd1878bce.patch"; - sha256 = "0s13nc9yzxzp611rixsd1c8aw1b57q2lnvfq8wawxyrw07h7b2j4"; - }) - ]; - + strictDeps = true; + nativeBuildInputs = [ cmake flex bison pkgconfig ]; buildInputs = [ - cmake libpcap libnet zlib curl pcre openssl ncurses - glib gtk2 atk pango flex bison + libpcap libnet zlib curl pcre openssl ncurses + glib gtk3 atk pango geoip ]; preConfigure = '' @@ -37,8 +26,8 @@ stdenv.mkDerivation rec { ''; cmakeFlags = [ - "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include" - "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include" + "-DBUNDLED_LIBS=Off" + "-DGTK3_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include" ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/sniffers/kismet/default.nix b/pkgs/applications/networking/sniffers/kismet/default.nix index 0c793c41c55..0005a5d230d 100644 --- a/pkgs/applications/networking/sniffers/kismet/default.nix +++ b/pkgs/applications/networking/sniffers/kismet/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libpcap, ncurses, expat, pcre, libnl }: stdenv.mkDerivation rec { - name = "kismet-${version}"; + pname = "kismet"; version = "2016-07-R1"; src = fetchurl { - url = "https://www.kismetwireless.net/code/${name}.tar.xz"; + url = "https://www.kismetwireless.net/code/${pname}-${version}.tar.xz"; sha256 = "0dz28y4ay4lskhl0lawqy2dkcrhgfkbg06v22qxzzw8i6caizcmx"; }; diff --git a/pkgs/applications/networking/sniffers/sngrep/default.nix b/pkgs/applications/networking/sniffers/sngrep/default.nix new file mode 100644 index 00000000000..5c536b8aec2 --- /dev/null +++ b/pkgs/applications/networking/sniffers/sngrep/default.nix @@ -0,0 +1,38 @@ +{ stdenv, autoconf, automake, fetchFromGitHub, libpcap, ncurses, openssl, pcre }: + +stdenv.mkDerivation rec { + pname = "sngrep"; + version = "1.4.6"; + + src = fetchFromGitHub { + owner = "irontec"; + repo = pname; + rev = "v${version}"; + sha256 = "0fj13pim5bfm3a2nr05apspraf29klpmcnhmycklfmrlncq5xqdf"; + }; + + buildInputs = [ + libpcap ncurses pcre openssl ncurses + ]; + + nativeBuildInputs = [ + autoconf automake + ]; + + configureFlags = [ + "--with-pcre" + "--enable-unicode" + "--enable-ipv6" + "--enable-eep" + ]; + + preConfigure = "./bootstrap.sh"; + + meta = with stdenv.lib; { + description = "A tool for displaying SIP calls message flows from terminal"; + homepage = "https://github.com/irontec/sngrep"; + license = licenses.gpl3; + platforms = platforms.unix; + maintainers = with maintainers; [ jorise ]; + }; +} diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index db093310ca1..aa965a0c868 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -1,45 +1,41 @@ { stdenv, fetchurl, pkgconfig, pcre, perl, flex, bison, gettext, libpcap, libnl, c-ares -, gnutls, libgcrypt, libgpgerror, geoip, openssl, lua5, python, libcap, glib -, libssh, zlib, cmake, extra-cmake-modules, fetchpatch, makeWrapper -, withGtk ? false, gtk3 ? null, librsvg ? null, gsettings-desktop-schemas ? null, wrapGAppsHook ? null +, gnutls, libgcrypt, libgpgerror, geoip, openssl, lua5, python3, libcap, glib +, libssh, nghttp2, zlib, cmake, fetchpatch, makeWrapper , withQt ? true, qt5 ? null , ApplicationServices, SystemConfiguration, gmp }: -assert withGtk -> !withQt && gtk3 != null; -assert withQt -> !withGtk && qt5 != null; +assert withQt -> qt5 != null; with stdenv.lib; let - version = "2.6.6"; - variant = if withGtk then "gtk" else if withQt then "qt" else "cli"; + version = "3.0.3"; + variant = if withQt then "qt" else "cli"; in stdenv.mkDerivation { - name = "wireshark-${variant}-${version}"; + pname = "wireshark-${variant}"; + inherit version; outputs = [ "out" "dev" ]; src = fetchurl { url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz"; - sha256 = "0qz8a1ays63712pq1v7nnw7c57zlqkcifq7himfv5nsv0zm36ya8"; + sha256 = "0711jilp9sbgi46d105m3galw8n4wk5yncawi08031qxg2f754mg"; }; cmakeFlags = [ - "-DBUILD_wireshark_gtk=${if withGtk then "ON" else "OFF"}" "-DBUILD_wireshark=${if withQt then "ON" else "OFF"}" - "-DENABLE_QT5=${if withQt then "ON" else "OFF"}" "-DENABLE_APPLICATION_BUNDLE=${if withQt && stdenv.isDarwin then "ON" else "OFF"}" ]; nativeBuildInputs = [ - bison cmake extra-cmake-modules flex pkgconfig - ] ++ optional withGtk wrapGAppsHook; + bison cmake flex pkgconfig + ] ++ optional withQt qt5.wrapQtAppsHook; buildInputs = [ - gettext pcre perl libpcap lua5 libssh openssl libgcrypt - libgpgerror gnutls geoip c-ares python glib zlib makeWrapper + gettext pcre perl libpcap lua5 libssh nghttp2 openssl libgcrypt + libgpgerror gnutls geoip c-ares python3 glib zlib makeWrapper ] ++ optionals withQt (with qt5; [ qtbase qtmultimedia qtsvg qttools ]) - ++ optionals withGtk [ gtk3 librsvg gsettings-desktop-schemas ] ++ optionals stdenv.isLinux [ libcap libnl ] ++ optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ] ++ optionals (withQt && stdenv.isDarwin) (with qt5; [ qtmacextras ]); @@ -60,32 +56,26 @@ in stdenv.mkDerivation { export LD_LIBRARY_PATH="$PWD/run" ''; - postInstall = if stdenv.isDarwin then '' - ${optionalString withQt '' - mkdir -p $out/Applications - mv $out/bin/Wireshark.app $out/Applications/Wireshark.app + postInstall = '' + # to remove "cycle detected in the references" + mkdir -p $dev/lib/wireshark + mv $out/lib/wireshark/cmake $dev/lib/wireshark + '' + (if stdenv.isDarwin && withQt then '' + mkdir -p $out/Applications + mv $out/bin/Wireshark.app $out/Applications/Wireshark.app - for so in $out/Applications/Wireshark.app/Contents/PlugIns/wireshark/*.so; do - install_name_tool $so -change libwireshark.10.dylib $out/lib/libwireshark.10.dylib - install_name_tool $so -change libwiretap.7.dylib $out/lib/libwiretap.7.dylib - install_name_tool $so -change libwsutil.8.dylib $out/lib/libwsutil.8.dylib - done + for f in $(find $out/Applications/Wireshark.app/Contents/PlugIns -name "*.so"); do + for dylib in $(otool -L $f | awk '/^\t*lib/ {print $1}'); do + install_name_tool -change "$dylib" "$out/lib/$dylib" "$f" + done + done - wrapProgram $out/Applications/Wireshark.app/Contents/MacOS/Wireshark \ - --set QT_PLUGIN_PATH ${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix} - ''} - '' else optionalString (withQt || withGtk) '' - ${optionalString withGtk '' - install -Dm644 -t $out/share/applications ../wireshark-gtk.desktop - ''} - ${optionalString withQt '' - install -Dm644 -t $out/share/applications ../wireshark.desktop - wrapProgram $out/bin/wireshark \ - --set QT_PLUGIN_PATH ${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix} - ''} + wrapQtApp $out/Applications/Wireshark.app/Contents/MacOS/Wireshark + '' else optionalString withQt '' + install -Dm644 -t $out/share/applications ../wireshark.desktop substituteInPlace $out/share/applications/*.desktop \ - --replace "Exec=wireshark" "Exec=$out/bin/wireshark" + --replace "Exec=wireshark" "Exec=$out/bin/wireshark" install -Dm644 ../image/wsicon.svg $out/share/icons/wireshark.svg mkdir $dev/include/{epan/{wmem,ftypes,dfilter},wsutil,wiretap} -pv @@ -98,10 +88,12 @@ in stdenv.mkDerivation { cp ../epan/dfilter/*.h $dev/include/epan/dfilter/ cp ../wsutil/*.h $dev/include/wsutil/ cp ../wiretap/*.h $dev/include/wiretap - ''; + ''); enableParallelBuilding = true; + dontFixCmake = true; + shellHook = '' # to be able to run the resulting binary export WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1 diff --git a/pkgs/applications/networking/sniproxy/default.nix b/pkgs/applications/networking/sniproxy/default.nix index 10bb465b8a1..301802d322b 100644 --- a/pkgs/applications/networking/sniproxy/default.nix +++ b/pkgs/applications/networking/sniproxy/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, autoreconfHook, gettext, libev, pcre, pkgconfig, udns }: stdenv.mkDerivation rec { - name = "sniproxy-${version}"; + pname = "sniproxy"; version = "0.6.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/soapui/default.nix b/pkgs/applications/networking/soapui/default.nix index 1034acf0b90..9de525d9324 100644 --- a/pkgs/applications/networking/soapui/default.nix +++ b/pkgs/applications/networking/soapui/default.nix @@ -1,7 +1,7 @@ { fetchurl, stdenv, writeText, jdk, maven, makeWrapper }: stdenv.mkDerivation rec { - name = "soapui-${version}"; + pname = "soapui"; version = "5.5.0"; src = fetchurl { diff --git a/pkgs/applications/networking/spideroak/default.nix b/pkgs/applications/networking/spideroak/default.nix index fdb4206d340..11c8af368b9 100644 --- a/pkgs/applications/networking/spideroak/default.nix +++ b/pkgs/applications/networking/spideroak/default.nix @@ -4,31 +4,22 @@ }: let - arch = if stdenv.hostPlatform.system == "x86_64-linux" then "x64" - else if stdenv.hostPlatform.system == "i686-linux" then "x86" - else throw "Spideroak client for: ${stdenv.hostPlatform.system} not supported!"; - - interpreter = if stdenv.hostPlatform.system == "x86_64-linux" then "ld-linux-x86-64.so.2" - else if stdenv.hostPlatform.system == "i686-linux" then "ld-linux.so.2" - else throw "Spideroak client for: ${stdenv.hostPlatform.system} not supported!"; - - sha256 = if stdenv.hostPlatform.system == "x86_64-linux" then "a88e5a8fe4a565ac500668bd53cf5784752d7c9253304ddce39ee7b01d078533" - else if stdenv.hostPlatform.system == "i686-linux" then "668f3b83a974a3877d16c8743c233a427ea0a44ab84b7f9aec19a2995db66c16" - else throw "Spideroak client for: ${stdenv.hostPlatform.system} not supported!"; + sha256 = "6d6ca2b383bcc81af1217c696eb77864a2b6db7428f4b5bde5b5913ce705eec5"; ldpath = stdenv.lib.makeLibraryPath [ fontconfig freetype glib libICE libSM libX11 libXext libXrender zlib ]; - version = "7.1.0"; + version = "7.5.0"; in stdenv.mkDerivation { - name = "spideroak-${version}"; + pname = "spideroak"; + inherit version; src = fetchurl { - name = "SpiderOakONE-${version}-slack_tar_${arch}.tgz"; - url = "https://spideroak.com/release/spideroak/slack_tar_${arch}"; + name = "SpiderOakONE-${version}-slack_tar_x64.tgz"; + url = "https://spideroak.com/release/spideroak/slack_tar_x64"; inherit sha256; }; @@ -46,7 +37,7 @@ in stdenv.mkDerivation { rm -f $out/opt/SpiderOakONE/lib/libz* - patchelf --set-interpreter ${stdenv.glibc.out}/lib/${interpreter} \ + patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2 \ "$out/opt/SpiderOakONE/lib/SpiderOakONE" RPATH=$out/opt/SpiderOakONE/lib:${ldpath} diff --git a/pkgs/applications/networking/ssb/patchwork-classic/default.nix b/pkgs/applications/networking/ssb/patchwork-classic/default.nix index 1f8d0cba6d0..c70723284fd 100644 --- a/pkgs/applications/networking/ssb/patchwork-classic/default.nix +++ b/pkgs/applications/networking/ssb/patchwork-classic/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, lib, makeWrapper, # build dependencies alsaLib, atk, cairo, cups, dbus, expat, fontconfig, - freetype, gdk_pixbuf, glib, gnome2, nspr, nss, xorg, + freetype, gdk-pixbuf, glib, gnome2, nspr, nss, xorg, glibc, systemd }: @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { version = "2.12.0"; - name = "patchwork-classic-${version}"; + pname = "patchwork-classic"; src = fetchurl { url = "https://github.com/ssbc/patchwork-classic-electron/releases/download/v2.12.0/ssb-patchwork-electron_2.12.0_linux-amd64.deb"; @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { expat fontconfig freetype - gdk_pixbuf + gdk-pixbuf glib gnome2.GConf gnome2.gtk @@ -99,7 +99,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Electron wrapper for Patchwork Classic: run as a desktop app outside the browser"; homepage = "https://github.com/ssbc/patchwork-classic-electron"; - license = licenses.gpl3; + license = licenses.gpl3; maintainers = with maintainers; [ mrVanDalo ]; platforms = platforms.linux; }; diff --git a/pkgs/applications/networking/ssb/patchwork/default.nix b/pkgs/applications/networking/ssb/patchwork/default.nix new file mode 100644 index 00000000000..8d6d5e2a4f9 --- /dev/null +++ b/pkgs/applications/networking/ssb/patchwork/default.nix @@ -0,0 +1,53 @@ +{ appimageTools, symlinkJoin, lib, fetchurl, makeDesktopItem }: + +let + pname = "ssb-patchwork"; + version = "3.16.2"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${pname}-${version}-x86_64.AppImage"; + sha256 = "0hi9ysmwhiiww82a3mqdd2b1anj7qa41b46f6zb3q9d0b8nmvlz4"; + }; + + binary = appimageTools.wrapType2 { + name = "${pname}"; + inherit src; + }; + # we only use this to extract the icon + appimage-contents = appimageTools.extractType2 { + inherit name src; + }; + + desktopItem = makeDesktopItem { + name = "ssb-patchwork"; + exec = "${binary}/bin/ssb-patchwork"; + icon = "ssb-patchwork.png"; + comment = "Decentralized messaging and sharing app"; + desktopName = "Patchwork"; + genericName = "Patchwork"; + categories = "Network;"; + }; + +in + symlinkJoin { + inherit name; + paths = [ binary ]; + + postBuild = '' + mkdir -p $out/share/pixmaps/ $out/share/applications + cp ${appimage-contents}/ssb-patchwork.png $out/share/pixmaps + cp ${desktopItem}/share/applications/* $out/share/applications/ + ''; + + meta = with lib; { + description = "A decentralized messaging and sharing app built on top of Secure Scuttlebutt (SSB)"; + longDescription = '' + sea-slang for gossip - a scuttlebutt is basically a watercooler on a ship. + ''; + homepage = https://www.scuttlebutt.nz/; + license = licenses.agpl3; + maintainers = with maintainers; [ thedavidmeister ninjatrappeur flokli ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/networking/super-productivity/default.nix b/pkgs/applications/networking/super-productivity/default.nix index 9bb4254c64a..c5ff090a807 100644 --- a/pkgs/applications/networking/super-productivity/default.nix +++ b/pkgs/applications/networking/super-productivity/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, dpkg, makeWrapper , alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib -, gnome2, gtk3, gdk_pixbuf, libnotify, libxcb, nspr, nss, pango +, gnome2, gtk3, gdk-pixbuf, libnotify, libxcb, nspr, nss, pango , systemd, xorg, xprintidle-ng }: let @@ -19,7 +19,7 @@ let freetype glib gnome2.GConf - gdk_pixbuf + gdk-pixbuf gtk3 pango libnotify @@ -53,7 +53,8 @@ let throw "super-productivity is not supported on ${stdenv.hostPlatform.system}"; in stdenv.mkDerivation { - name = "super-productivity-${version}"; + pname = "super-productivity"; + inherit version; inherit src; diff --git a/pkgs/applications/networking/sync/acd_cli/default.nix b/pkgs/applications/networking/sync/acd_cli/default.nix index e4ba29d3a9f..669ab4d1e3e 100644 --- a/pkgs/applications/networking/sync/acd_cli/default.nix +++ b/pkgs/applications/networking/sync/acd_cli/default.nix @@ -3,7 +3,6 @@ , fusepy, sqlalchemy }: buildPythonApplication rec { - name = pname + "-" + version; pname = "acd_cli"; version = "0.3.2"; diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix index fae838a7d5f..36c4dd46222 100644 --- a/pkgs/applications/networking/sync/backintime/common.nix +++ b/pkgs/applications/networking/sync/backintime/common.nix @@ -5,7 +5,7 @@ let in stdenv.mkDerivation rec { version = "1.1.24"; - name = "backintime-common-${version}"; + pname = "backintime-common"; src = fetchFromGitHub { owner = "bit-team"; diff --git a/pkgs/applications/networking/sync/backintime/qt4.nix b/pkgs/applications/networking/sync/backintime/qt4.nix index 26288f9f6e6..fb47d9bc510 100644 --- a/pkgs/applications/networking/sync/backintime/qt4.nix +++ b/pkgs/applications/networking/sync/backintime/qt4.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { inherit (backintime-common) version src installFlags; - name = "backintime-qt4-${version}"; + pname = "backintime-qt4"; buildInputs = [ makeWrapper gettext python3 python3Packages.pyqt4 backintime-common python3 ]; diff --git a/pkgs/applications/networking/sync/casync/default.nix b/pkgs/applications/networking/sync/casync/default.nix index 8d9b941e26e..1eb5e44ba24 100644 --- a/pkgs/applications/networking/sync/casync/default.nix +++ b/pkgs/applications/networking/sync/casync/default.nix @@ -8,7 +8,7 @@ }: stdenv.mkDerivation rec { - name = "casync-${version}"; + pname = "casync"; version = "2-152-ge4a3c5e"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/sync/desync/default.nix b/pkgs/applications/networking/sync/desync/default.nix index 6dcd451533a..d38f8b53dbb 100644 --- a/pkgs/applications/networking/sync/desync/default.nix +++ b/pkgs/applications/networking/sync/desync/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "desync-${version}"; + pname = "desync"; version = "0.4.0"; rev = "v${version}"; diff --git a/pkgs/applications/networking/sync/lsyncd/default.nix b/pkgs/applications/networking/sync/lsyncd/default.nix index b0315ee3477..832f7c63f27 100644 --- a/pkgs/applications/networking/sync/lsyncd/default.nix +++ b/pkgs/applications/networking/sync/lsyncd/default.nix @@ -2,7 +2,7 @@ asciidoc, libxml2, docbook_xml_dtd_45, docbook_xsl, libxslt }: stdenv.mkDerivation rec { - name = "lsyncd-${version}"; + pname = "lsyncd"; version = "2.2.3"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/sync/rclone/browser.nix b/pkgs/applications/networking/sync/rclone/browser.nix index 4325c8ea88a..00edcd411fd 100644 --- a/pkgs/applications/networking/sync/rclone/browser.nix +++ b/pkgs/applications/networking/sync/rclone/browser.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, qtbase }: stdenv.mkDerivation rec { - name = "rclone-browser-${version}"; + pname = "rclone-browser"; version = "1.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix index af01b89dc76..52527f79303 100644 --- a/pkgs/applications/networking/sync/rclone/default.nix +++ b/pkgs/applications/networking/sync/rclone/default.nix @@ -1,20 +1,21 @@ -{ stdenv, buildGoPackage, fetchFromGitHub }: +{ stdenv, buildGoModule, fetchFromGitHub }: -buildGoPackage rec { - name = "rclone-${version}"; - version = "1.45"; - - goPackagePath = "github.com/ncw/rclone"; - subPackages = [ "." ]; +buildGoModule rec { + pname = "rclone"; + version = "1.49.1"; src = fetchFromGitHub { - owner = "ncw"; - repo = "rclone"; + owner = pname; + repo = pname; rev = "v${version}"; - sha256 = "06xg0ibv9pnrnmabh1kblvxx1pk8h5rmkr9mjbymv497sx3zgz26"; + sha256 = "0mjwp1j70dqa8k3zxhcnw85ddhagkpr7c59mv8kradv6mqqzmq9c"; }; - outputs = [ "bin" "out" "man" ]; + modSha256 = "158mpmy8q67dk1ks9p926n1670gsk7rhd0vpjh44f4g64ddnhk03"; + + subPackages = [ "." ]; + + outputs = [ "out" "man" ]; postInstall = '' install -D -m644 $src/rclone.1 $man/share/man/man1/rclone.1 diff --git a/pkgs/applications/networking/sync/rsync/rrsync.nix b/pkgs/applications/networking/sync/rsync/rrsync.nix index e5c04798aab..12f992d44a5 100644 --- a/pkgs/applications/networking/sync/rsync/rrsync.nix +++ b/pkgs/applications/networking/sync/rsync/rrsync.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, perl, rsync }: +{ stdenv, fetchurl, perl, rsync }: let base = import ./base.nix { inherit stdenv fetchurl; }; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { # Skip configure and build phases. # We just want something from the support directory - configurePhase = "true"; + dontConfigure = true; dontBuild = true; postPatch = '' diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix index 7862cc1e6e4..bc93b743f8b 100644 --- a/pkgs/applications/networking/sync/unison/default.nix +++ b/pkgs/applications/networking/sync/unison/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation (rec { - name = "unison-${version}"; + pname = "unison"; version = "2.51.2"; src = fetchFromGitHub { owner = "bcpierce00"; @@ -20,8 +20,10 @@ stdenv.mkDerivation (rec { echo -e '\ninstall:\n\tcp $(FSMONITOR)$(EXEC_EXT) $(INSTALLDIR)' >> src/fsmonitor/linux/Makefile ''; - makeFlags = "INSTALLDIR=$(out)/bin/" + (if enableX11 then " UISTYLE=gtk2" else "") - + (if ! ocaml.nativeCompilers then " NATIVE=false" else ""); + makeFlags = [ + "INSTALLDIR=$(out)/bin/" + "UISTYLE=${if enableX11 then "gtk2" else "text"}" + ] ++ stdenv.lib.optional (!ocaml.nativeCompilers) "NATIVE=false"; preInstall = "mkdir -p $out/bin"; diff --git a/pkgs/applications/networking/syncplay/default.nix b/pkgs/applications/networking/syncplay/default.nix index fc9ed59016f..3e5d3187e9b 100644 --- a/pkgs/applications/networking/syncplay/default.nix +++ b/pkgs/applications/networking/syncplay/default.nix @@ -1,21 +1,23 @@ -{ stdenv, fetchurl, python3Packages }: +{ lib, fetchFromGitHub, buildPythonApplication, pyside, twisted, certifi }: -python3Packages.buildPythonApplication rec { - name = "syncplay-${version}"; - version = "1.6.2"; +buildPythonApplication rec { + pname = "syncplay"; + version = "1.6.4"; format = "other"; - src = fetchurl { - url = https://github.com/Syncplay/syncplay/archive/v1.6.2.tar.gz; - sha256 = "1850icvifq4487gqh8awvmvrjdbbkx2kshmysr0fbi6vcf0f3wj2"; + src = fetchFromGitHub { + owner = "Syncplay"; + repo = "syncplay"; + rev = "v${version}"; + sha256 = "0afh2a0l1c3hwgj5q6wy0v5iimg8qcjam3pw7b8mf63lasx6iqk4"; }; - propagatedBuildInputs = with python3Packages; [ pyside twisted ]; + propagatedBuildInputs = [ pyside twisted certifi ] ++ twisted.extras.tls; makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ]; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://syncplay.pl/; description = "Free software that synchronises media players"; license = licenses.asl20; diff --git a/pkgs/applications/networking/syncthing-gtk/default.nix b/pkgs/applications/networking/syncthing-gtk/default.nix index 389d32d5a7c..9317ccab4ea 100644 --- a/pkgs/applications/networking/syncthing-gtk/default.nix +++ b/pkgs/applications/networking/syncthing-gtk/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchFromGitHub, fetchpatch, libnotify, librsvg, killall , gtk3, libappindicator-gtk3, substituteAll, syncthing, wrapGAppsHook , gnome3, buildPythonApplication, dateutil, pyinotify, pygobject3 -, bcrypt, gobject-introspection }: +, bcrypt, gobject-introspection, gsettings-desktop-schemas +, pango, gdk-pixbuf, atk }: buildPythonApplication rec { version = "0.9.4"; - name = "syncthing-gtk-${version}"; + pname = "syncthing-gtk"; src = fetchFromGitHub { owner = "syncthing"; @@ -18,13 +19,14 @@ buildPythonApplication rec { wrapGAppsHook # For setup hook populating GI_TYPELIB_PATH gobject-introspection + pango gdk-pixbuf atk libnotify ]; buildInputs = [ gtk3 librsvg libappindicator-gtk3 libnotify gnome3.adwaita-icon-theme # Schemas with proxy configuration - gnome3.gsettings-desktop-schemas + gsettings-desktop-schemas ]; propagatedBuildInputs = [ diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index a2e38577ecd..5b847163a2a 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -1,20 +1,22 @@ -{ buildGoPackage, fetchpatch, stdenv, lib, procps, fetchFromGitHub }: +{ buildGoModule, stdenv, lib, procps, fetchFromGitHub }: let common = { stname, target, postInstall ? "" }: - buildGoPackage rec { - version = "1.0.1"; + buildGoModule rec { + version = "1.2.1"; name = "${stname}-${version}"; src = fetchFromGitHub { owner = "syncthing"; repo = "syncthing"; rev = "v${version}"; - sha256 = "09qrdh6rvphh6sjyzh3jjil1fkrp9jp8mzrbz9ncqhvqra70f6sw"; + sha256 = "0q1x6kd5kaij8mvs6yll2vqfzrbb31y5hpg6g5kjc8gngwv4rl6v"; }; goPackagePath = "github.com/syncthing/syncthing"; + modSha256 = "1daixrpdj97ck02853hwp8l158sja5a7a37h0gdbwb1lgf5hsn05"; + patches = [ ./add-stcli-target.patch ]; @@ -23,18 +25,14 @@ let buildPhase = '' runHook preBuild - pushd go/src/${goPackagePath} go run build.go -no-upgrade -version v${version} build ${target} - popd runHook postBuild ''; installPhase = '' - pushd go/src/${goPackagePath} runHook preInstall - install -Dm755 ${target} $bin/bin/${target} + install -Dm755 ${target} $out/bin/${target} runHook postInstall - popd ''; inherit postInstall; @@ -63,19 +61,19 @@ in { done '' + lib.optionalString (stdenv.isLinux) '' - mkdir -p $bin/lib/systemd/{system,user} + mkdir -p $out/lib/systemd/{system,user} substitute etc/linux-systemd/system/syncthing-resume.service \ - $bin/lib/systemd/system/syncthing-resume.service \ + $out/lib/systemd/system/syncthing-resume.service \ --replace /usr/bin/pkill ${procps}/bin/pkill substitute etc/linux-systemd/system/syncthing@.service \ - $bin/lib/systemd/system/syncthing@.service \ - --replace /usr/bin/syncthing $bin/bin/syncthing + $out/lib/systemd/system/syncthing@.service \ + --replace /usr/bin/syncthing $out/bin/syncthing substitute etc/linux-systemd/user/syncthing.service \ - $bin/lib/systemd/user/syncthing.service \ - --replace /usr/bin/syncthing $bin/bin/syncthing + $out/lib/systemd/user/syncthing.service \ + --replace /usr/bin/syncthing $out/bin/syncthing ''; }; @@ -99,7 +97,7 @@ in { substitute cmd/strelaysrv/etc/linux-systemd/strelaysrv.service \ $out/lib/systemd/system/strelaysrv.service \ - --replace /usr/bin/strelaysrv $bin/bin/strelaysrv + --replace /usr/bin/strelaysrv $out/bin/strelaysrv ''; }; } diff --git a/pkgs/applications/networking/tcpkali/default.nix b/pkgs/applications/networking/tcpkali/default.nix index 8a056e21692..a7142542238 100644 --- a/pkgs/applications/networking/tcpkali/default.nix +++ b/pkgs/applications/networking/tcpkali/default.nix @@ -3,7 +3,8 @@ let version = "1.1.1"; in stdenv.mkDerivation rec { - name = "tcpkali-${version}"; + pname = "tcpkali"; + inherit version; src = fetchFromGitHub { owner = "machinezone"; repo = "tcpkali"; diff --git a/pkgs/applications/networking/testssl/default.nix b/pkgs/applications/networking/testssl/default.nix index 4a1f71f4b4f..0c30a3def33 100644 --- a/pkgs/applications/networking/testssl/default.nix +++ b/pkgs/applications/networking/testssl/default.nix @@ -1,17 +1,15 @@ { stdenv, fetchFromGitHub, makeWrapper, lib , dnsutils, coreutils, openssl, nettools, utillinux, procps }: -let - version = "2.9.5-7"; - -in stdenv.mkDerivation rec { - name = "testssl.sh-${version}"; +stdenv.mkDerivation rec { + pname = "testssl.sh"; + version = "3.0rc5"; src = fetchFromGitHub { owner = "drwetter"; - repo = "testssl.sh"; - rev = "v${version}"; - sha256 = "02xp0yi53xf6jw6v633zs2ws2iyyvq3mlkimg0cv3zvj7nw9x5wr"; + repo = pname; + rev = version; + sha256 = "14b9n0h4f2dsa292wi9gnan5ncgqblis6wyh5978lhjzi1d7gyds"; }; nativeBuildInputs = [ makeWrapper ]; @@ -27,16 +25,15 @@ in stdenv.mkDerivation rec { postPatch = '' substituteInPlace testssl.sh \ --replace /bin/pwd pwd \ - --replace TESTSSL_INSTALL_DIR:-\"\" TESTSSL_INSTALL_DIR:-\"$out\" + --replace TESTSSL_INSTALL_DIR:-\"\" TESTSSL_INSTALL_DIR:-\"$out\" \ + --replace PROG_NAME=\"\$\(basename\ \"\$0\"\)\" PROG_NAME=\"testssl.sh\" ''; installPhase = '' - install -Dt $out/bin testssl.sh - - wrapProgram $out/bin/testssl.sh \ - --prefix PATH ':' ${lib.makeBinPath buildInputs} - + install -D testssl.sh $out/bin/testssl.sh cp -r etc $out + + wrapProgram $out/bin/testssl.sh --prefix PATH ':' ${lib.makeBinPath buildInputs} ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/tsung/default.nix b/pkgs/applications/networking/tsung/default.nix index 050c8502e07..6f5a3f3ec16 100644 --- a/pkgs/applications/networking/tsung/default.nix +++ b/pkgs/applications/networking/tsung/default.nix @@ -5,7 +5,7 @@ gnuplot }: stdenv.mkDerivation rec { - name = "tsung-${version}"; + pname = "tsung"; version = "1.7.0"; src = fetchurl { url = "http://tsung.erlang-projects.org/dist/tsung-${version}.tar.gz"; diff --git a/pkgs/applications/networking/umurmur/default.nix b/pkgs/applications/networking/umurmur/default.nix index a1fe790b119..1a19c8c96b3 100644 --- a/pkgs/applications/networking/umurmur/default.nix +++ b/pkgs/applications/networking/umurmur/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, autoreconfHook, openssl, protobufc, libconfig }: stdenv.mkDerivation rec { - name = "umurmur-${version}"; + pname = "umurmur"; version = "0.2.17"; src = fetchFromGitHub { diff --git a/pkgs/applications/networking/vnstat/default.nix b/pkgs/applications/networking/vnstat/default.nix index 289d1dffc96..8a210c1af68 100644 --- a/pkgs/applications/networking/vnstat/default.nix +++ b/pkgs/applications/networking/vnstat/default.nix @@ -1,20 +1,25 @@ -{ stdenv, fetchurl, gd, ncurses, sqlite }: +{ stdenv, fetchurl, pkgconfig, gd, ncurses, sqlite, check }: stdenv.mkDerivation rec { - name = "vnstat-${version}"; - version = "2.1"; + pname = "vnstat"; + version = "2.3"; src = fetchurl { - sha256 = "0yk0x6bg9f36dsslhayyyi8fg04yvzjzqkjmlrcsrv6nnggchb6i"; - url = "https://humdi.net/vnstat/${name}.tar.gz"; + sha256 = "138s79dqxrm59xc2s2xch16qkzzjks580sac4ppq8jy5lxrzj2i8"; + url = "https://humdi.net/${pname}/${pname}-${version}.tar.gz"; }; - buildInputs = [ gd ncurses sqlite ]; - postPatch = '' substituteInPlace src/cfg.c --replace /usr/local $out ''; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ gd ncurses sqlite ]; + + checkInputs = [ check ]; + + doCheck = true; + meta = with stdenv.lib; { description = "Console-based network statistics utility for Linux"; longDescription = '' diff --git a/pkgs/applications/networking/wayback_machine_downloader/Gemfile b/pkgs/applications/networking/wayback_machine_downloader/Gemfile new file mode 100644 index 00000000000..e519efbf570 --- /dev/null +++ b/pkgs/applications/networking/wayback_machine_downloader/Gemfile @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +source 'https://rubygems.org' do + gem 'wayback_machine_downloader' +end diff --git a/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock b/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock new file mode 100644 index 00000000000..86e064347b6 --- /dev/null +++ b/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + wayback_machine_downloader (2.2.1) + +PLATFORMS + ruby + +DEPENDENCIES + wayback_machine_downloader! + +BUNDLED WITH + 1.17.2 diff --git a/pkgs/applications/networking/wayback_machine_downloader/default.nix b/pkgs/applications/networking/wayback_machine_downloader/default.nix new file mode 100644 index 00000000000..49471ebf7e3 --- /dev/null +++ b/pkgs/applications/networking/wayback_machine_downloader/default.nix @@ -0,0 +1,16 @@ +{ lib, bundlerApp, bundlerUpdateScript }: +bundlerApp { + pname = "wayback_machine_downloader"; + exes = [ "wayback_machine_downloader" ]; + gemdir = ./.; + + passthru.updateScript = bundlerUpdateScript "wayback_machine_downloader"; + + meta = with lib; { + description = "Download websites from the Internet Archive Wayback Machine"; + homepage = "https://github.com/hartator/wayback-machine-downloader"; + license = licenses.mit; + maintainers = [ maintainers.manveru ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/networking/wayback_machine_downloader/gemset.nix b/pkgs/applications/networking/wayback_machine_downloader/gemset.nix new file mode 100644 index 00000000000..615570f1f09 --- /dev/null +++ b/pkgs/applications/networking/wayback_machine_downloader/gemset.nix @@ -0,0 +1,12 @@ +{ + wayback_machine_downloader = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12kb1qmvmmsaihqab1prn6cmynkn6cgb4vf41mgv22wkcgv5wgk2"; + type = "gem"; + }; + version = "2.2.1"; + }; +} \ No newline at end of file diff --git a/pkgs/applications/networking/weather/meteo/default.nix b/pkgs/applications/networking/weather/meteo/default.nix index 149e126d6e8..88d33a9a9f3 100644 --- a/pkgs/applications/networking/weather/meteo/default.nix +++ b/pkgs/applications/networking/weather/meteo/default.nix @@ -1,24 +1,22 @@ { stdenv, fetchFromGitLab, vala, python3, pkgconfig, meson, ninja, gtk3 -, gnome3, json-glib, libsoup, clutter, clutter-gtk, libchamplain, webkitgtk -, libappindicator, desktop-file-utils, appstream, gobject-introspection, wrapGAppsHook }: +, json-glib, libsoup, webkitgtk, geocode-glib +, libappindicator, desktop-file-utils, appstream, wrapGAppsHook +, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "meteo"; - version = "0.8.5"; - - name = "${pname}-${version}"; + version = "0.9.7"; src = fetchFromGitLab { owner = "bitseater"; repo = pname; rev = version; - sha256 = "1mc2djhkg0nzcjmy87l1wqwni48vgpqh8s1flr90pipk12a1mh7n"; + sha256 = "014x3mg2dc58h1qwy2nrz3a5mzdnbzish8zgn3x6lj6szfz5c72n"; }; nativeBuildInputs = [ appstream desktop-file-utils - gobject-introspection meson ninja pkgconfig @@ -28,13 +26,11 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - clutter - clutter-gtk - gnome3.geocode-glib + geocode-glib gtk3 + hicolor-icon-theme json-glib libappindicator - libchamplain libsoup webkitgtk ]; diff --git a/pkgs/applications/networking/websocketd/default.nix b/pkgs/applications/networking/websocketd/default.nix index 050358e4dca..4160e70b9c4 100644 --- a/pkgs/applications/networking/websocketd/default.nix +++ b/pkgs/applications/networking/websocketd/default.nix @@ -1,21 +1,19 @@ -{ stdenv, buildGoPackage, fetchgit }: +{ lib, buildGoModule, fetchFromGitHub }: -buildGoPackage rec { - name = "websocketd-${version}"; - version = "0.3.0"; - rev = "729c67f052f8f16a0a0aa032816a57649c0ebed3"; +buildGoModule rec { + pname = "websocketd"; + version = "0.3.1"; - goPackagePath = "github.com/joewalnes/websocketd"; - - src = fetchgit { - inherit rev; - url = "https://github.com/joewalnes/websocketd"; - sha256 = "1n4fag75lpfxg1pm1pr5v0p44dijrxj59s6dn4aqxirhxkq91lzb"; + src = fetchFromGitHub { + owner = "joewalnes"; + repo = pname; + rev = "v${version}"; + sha256 = "1qc4yi4kwy7bfi3fb17w58ff0i95yi6m4syldh8j79930syr5y8q"; }; - goDeps = ./deps.nix; + modSha256 = "18hamj557ln8k3vmvcrpvnydjr1dy7zi9490iacwdldw5vp870xs"; - meta = with stdenv.lib; { + meta = with lib; { description = "Turn any program that uses STDIN/STDOUT into a WebSocket server"; homepage = "http://websocketd.com/"; maintainers = [ maintainers.bjornfor ]; diff --git a/pkgs/applications/networking/websocketd/deps.nix b/pkgs/applications/networking/websocketd/deps.nix deleted file mode 100644 index 1e610691f52..00000000000 --- a/pkgs/applications/networking/websocketd/deps.nix +++ /dev/null @@ -1,12 +0,0 @@ -# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 -[ - { - goPackagePath = "github.com/gorilla/websocket"; - fetch = { - type = "git"; - url = "https://github.com/gorilla/websocket"; - rev = "95ba29eb981bbb27d92e1f70bf8a1949452d926b"; - sha256 = "08lvc9l0qagyhyrjj6jkhpq3zapa5gqr966bm33nb4bc0pd38f48"; - }; - } -] diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix index 2f736dd5856..238864311ef 100644 --- a/pkgs/applications/networking/znc/default.nix +++ b/pkgs/applications/networking/znc/default.nix @@ -12,12 +12,12 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "znc-${version}"; - version = "1.7.1"; + pname = "znc"; + version = "1.7.4"; src = fetchurl { - url = "https://znc.in/releases/archive/${name}.tar.gz"; - sha256 = "1i1r1lh9q2mr1bg520zrvrlwhrhy6wibrin78wjxq1gab1qymks4"; + url = "https://znc.in/releases/archive/${pname}-${version}.tar.gz"; + sha256 = "0wcvqkpin8w4i72alnn0nxnrc9ih543qs34hqpk9xmz6m0hjk8xi"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/networking/znc/modules.nix b/pkgs/applications/networking/znc/modules.nix index 42d2093ee3a..fce885a2594 100644 --- a/pkgs/applications/networking/znc/modules.nix +++ b/pkgs/applications/networking/znc/modules.nix @@ -57,6 +57,26 @@ in rec { }; }; + clientaway = zncDerivation rec { + name = "znc-clientaway-${version}"; + version = "git-2017-04-28"; + module_name = "clientaway"; + + src = fetchFromGitHub { + owner = "kylef"; + repo = "znc-contrib"; + rev = "f6724a4a3b16b050088adde0cbeed74f189e5044"; + sha256 = "0ikd3dzjjlr0gs0ikqfk50msm6mij99ln2rjzqavh58iwzr7n5r8"; + }; + + meta = with stdenv.lib; { + description = "ZNC clientaway module"; + homepage = https://github.com/kylef/znc-contrib; + license = licenses.gpl2; + maintainers = with maintainers; [ kiwi ]; + }; + }; + fish = zncDerivation rec { name = "znc-fish-${version}"; version = "git-2014-10-10"; @@ -77,6 +97,46 @@ in rec { }; }; + ignore = zncDerivation rec { + name = "znc-ignore-${version}"; + version = "git-2017-04-28"; + module_name = "ignore"; + + src = fetchFromGitHub { + owner = "kylef"; + repo = "znc-contrib"; + rev = "f6724a4a3b16b050088adde0cbeed74f189e5044"; + sha256 = "0ikd3dzjjlr0gs0ikqfk50msm6mij99ln2rjzqavh58iwzr7n5r8"; + }; + + meta = with stdenv.lib; { + description = "ZNC ignore module"; + homepage = https://github.com/kylef/znc-contrib; + license = licenses.gpl2; + maintainers = with maintainers; [ kiwi ]; + }; + }; + + palaver = zncDerivation rec { + name = "znc-palaver-${version}"; + version = "2018-09-18"; + module_name = "palaver"; + + src = fetchFromGitHub { + owner = "cocodelabs"; + repo = "znc-palaver"; + rev = "c70e8112686f917d39197d582db36c3ea37a4cb6"; + sha256 = "1gjr8yqgpkpcc18rf0zfgil3rcd1ihqk0q9f8rwbfvs5381h3c58"; + }; + + meta = with stdenv.lib; { + description = "Palaver ZNC module"; + homepage = "https://github.com/cocodelabs/znc-palaver"; + license = licenses.mit; + maintainers = with maintainers; [ kiwi ]; + }; + }; + playback = zncDerivation rec { name = "znc-playback-${version}"; version = "git-2015-08-04"; diff --git a/pkgs/applications/office/abiword/default.nix b/pkgs/applications/office/abiword/default.nix index 8dd127715ae..a2b14443c1a 100644 --- a/pkgs/applications/office/abiword/default.nix +++ b/pkgs/applications/office/abiword/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, gtk3, fribidi , libpng, popt, libgsf, enchant, wv, librsvg, bzip2, libjpeg, perl -, boost, libxslt, goffice, wrapGAppsHook, iconTheme +, boost, libxslt, goffice, wrapGAppsHook, gnome3 }: stdenv.mkDerivation rec { - name = "abiword-${version}"; + pname = "abiword"; version = "3.0.2"; src = fetchurl { - url = "https://www.abisource.com/downloads/abiword/${version}/source/${name}.tar.gz"; + url = "https://www.abisource.com/downloads/abiword/${version}/source/${pname}-${version}.tar.gz"; sha256 = "08imry821g81apdwym3gcs4nss0l9j5blqk31j5rv602zmcd9gxg"; }; @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 librsvg bzip2 fribidi libpng popt - libgsf enchant wv libjpeg perl boost libxslt goffice iconTheme + libgsf enchant wv libjpeg perl boost libxslt goffice gnome3.adwaita-icon-theme ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/office/aesop/default.nix b/pkgs/applications/office/aesop/default.nix index 51e2c55ea7d..b71334a6a72 100644 --- a/pkgs/applications/office/aesop/default.nix +++ b/pkgs/applications/office/aesop/default.nix @@ -1,22 +1,19 @@ -{ stdenv, fetchFromGitHub, fetchpatch, pantheon, pkgconfig, meson, ninja, python3, gtk3 -, gnome3, desktop-file-utils, json-glib, libsoup, poppler, gobject-introspection, wrapGAppsHook }: +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3, gtk3 +, desktop-file-utils, json-glib, libsoup, libgee, poppler, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "aesop"; - version = "1.0.7"; - - name = "${pname}-${version}"; + version = "1.1.2"; src = fetchFromGitHub { owner = "lainsce"; repo = pname; rev = version; - sha256 = "17hjg4qcy8q9xl170yapbhn9vdsn3jf537jsggq51pp0fnhvsnqs"; + sha256 = "1vadm8295jb7jaah2qykf3h9zvl5c013sanmxqi4snmmq4pa32ax"; }; nativeBuildInputs = [ desktop-file-utils - gobject-introspection meson ninja pkgconfig @@ -27,7 +24,7 @@ stdenv.mkDerivation rec { buildInputs = [ pantheon.elementary-icon-theme - gnome3.libgee + libgee pantheon.granite gtk3 json-glib @@ -44,7 +41,7 @@ stdenv.mkDerivation rec { description = "The simplest PDF viewer around"; homepage = https://github.com/lainsce/aesop; license = licenses.gpl2Plus; - maintainers = with maintainers; [ worldofpeace ]; + maintainers = pantheon.maintainers; platforms = platforms.linux; }; } diff --git a/pkgs/applications/office/atlassian-cli/default.nix b/pkgs/applications/office/atlassian-cli/default.nix index be31f5fd102..6ef6e51527e 100644 --- a/pkgs/applications/office/atlassian-cli/default.nix +++ b/pkgs/applications/office/atlassian-cli/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchzip, jre }: stdenv.mkDerivation rec { - name = "atlassian-cli-${version}"; - version = "7.8.0"; + pname = "atlassian-cli"; + version = "8.5.0"; src = fetchzip { - url = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${name}-distribution.zip"; - sha256 = "111s4d9m6vxq8jwh1d6ar1f4n5zmyjg7gi2vl3aq63kxbfld9vw7"; + url = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip"; + sha256 = "0c9jq7q0bx0db0zhdh89bv1ijfg7cddbx04v451vl8caqcyhkfgz"; extraPostFetch = "chmod go-w $out"; }; diff --git a/pkgs/applications/office/autokey/default.nix b/pkgs/applications/office/autokey/default.nix index e4b89ef3610..31e74ccf23a 100644 --- a/pkgs/applications/office/autokey/default.nix +++ b/pkgs/applications/office/autokey/default.nix @@ -1,5 +1,5 @@ { lib, python3Packages, fetchFromGitHub, wrapGAppsHook, gobject-introspection -, gnome3, libappindicator-gtk3, libnotify }: +, gtksourceview3, libappindicator-gtk3, libnotify }: python3Packages.buildPythonApplication rec { name = "autokey-${version}"; @@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec { # Note: no dependencies included for Qt GUI because Qt ui is poorly # maintained—see https://github.com/autokey/autokey/issues/51 - buildInputs = [ wrapGAppsHook gobject-introspection gnome3.gtksourceview + buildInputs = [ wrapGAppsHook gobject-introspection gtksourceview3 libappindicator-gtk3 libnotify ]; propagatedBuildInputs = with python3Packages; [ diff --git a/pkgs/applications/office/beancount/bean-add.nix b/pkgs/applications/office/beancount/bean-add.nix index cfd7a4eda20..9eec315217c 100644 --- a/pkgs/applications/office/beancount/bean-add.nix +++ b/pkgs/applications/office/beancount/bean-add.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { # The (only) source file states: # License: "Do what you feel is right, but don't be a jerk" public license. - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ]; }; } diff --git a/pkgs/applications/office/bookworm/default.nix b/pkgs/applications/office/bookworm/default.nix index 63199945f2b..fe81340a7fb 100644 --- a/pkgs/applications/office/bookworm/default.nix +++ b/pkgs/applications/office/bookworm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fetchpatch, pantheon, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk +{ stdenv, fetchFromGitHub, pantheon, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk , gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix index a7c6165bdd2..4855fbc63c3 100644 --- a/pkgs/applications/office/calligra/default.nix +++ b/pkgs/applications/office/calligra/default.nix @@ -16,10 +16,9 @@ mkDerivation rec { pname = "calligra"; version = "3.1.0"; - name = "${pname}-${version}"; src = fetchurl { - url = "mirror://kde/stable/${pname}/${version}/${name}.tar.xz"; + url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz"; sha256 = "0w782k0hprpb6viixnqz34sp0z5csv3prdby46z22qqkcipcs638"; }; @@ -65,5 +64,7 @@ mkDerivation rec { maintainers = with maintainers; [ phreedom ebzzry zraexy ]; platforms = platforms.linux; license = with licenses; [ gpl2 lgpl2 ]; + hydraPlatforms = []; + broken = true; # fails to start, kde home not found }; } diff --git a/pkgs/applications/office/cb2bib/default.nix b/pkgs/applications/office/cb2bib/default.nix index 1faf47d680a..0043648146f 100644 --- a/pkgs/applications/office/cb2bib/default.nix +++ b/pkgs/applications/office/cb2bib/default.nix @@ -1,12 +1,11 @@ { stdenv, fetchurl, qmake, qtbase, qtwebkit, qtx11extras, lzo, libX11 }: stdenv.mkDerivation rec { - name = pname + "-" + version; pname = "cb2bib"; - version = "1.9.9"; + version = "2.0.0"; src = fetchurl { - url = "https://www.molspaces.com/dl/progs/${name}.tar.gz"; - sha256 = "12x7zv964r26cfmf3yx5pa8ihc5bd9p199w2g4vc0sb44izryg47"; + url = "https://www.molspaces.com/dl/progs/${pname}-${version}.tar.gz"; + sha256 = "0gv7cnxi84lr6d5y71pd67h0ilmf5c88j1jxgyn9dvj19smrv99h"; }; buildInputs = [ qtbase qtwebkit qtx11extras lzo libX11 ]; nativeBuildInputs = [ qmake ]; diff --git a/pkgs/applications/office/docear/default.nix b/pkgs/applications/office/docear/default.nix new file mode 100644 index 00000000000..0d2341113b4 --- /dev/null +++ b/pkgs/applications/office/docear/default.nix @@ -0,0 +1,44 @@ +{stdenv, fetchurl, runtimeShell, makeWrapper +, oraclejre +, antialiasFont ? true +}: + +stdenv.mkDerivation rec { + pname = "docear"; + version = "1.2"; + + src = fetchurl { + url = "http://docear.org/downloads/docear_linux.tar.gz"; + sha256 = "1g5n7r2x4gas6dl2fbyh7v9yxdcb6bzml8n3ldmpzv1rncgjcdp4"; + }; + + buildInputs = [ oraclejre makeWrapper ]; + + buildPhase = ""; + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/share + cp -R * $out/share + chmod 0755 $out/share/ -R + + # The wrapper ensures oraclejre is used + makeWrapper ${runtimeShell} $out/bin/docear \ + --set _JAVA_OPTIONS "${stdenv.lib.optionalString antialiasFont ''-Dswing.aatext=TRUE -Dawt.useSystemAAFontSettings=on''}" \ + --set JAVA_HOME ${oraclejre.home} \ + --add-flags "$out/share/docear.sh" + + chmod 0755 $out/bin/docear + ''; + + meta = with stdenv.lib; { + description = "A unique solution to academic literature management"; + homepage = "http://www.docear.org/"; + # Licenses at: http://www.docear.org/software/download/ + license = with licenses; [ + gpl2 # for the main software and some dependencies + bsd3 # for one of its dependencies + ]; + maintainers = with maintainers; [ unode ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix index 6f0fcca480a..e33a0b202da 100644 --- a/pkgs/applications/office/fava/default.nix +++ b/pkgs/applications/office/fava/default.nix @@ -5,11 +5,11 @@ let in buildPythonApplication rec { pname = "fava"; - version = "1.9"; + version = "1.10"; src = fetchPypi { inherit pname version; - sha256 = "115r99l6xfliafgkpcf0mndqrvijix5mflg2i56s7xwqr3ch8z9k"; + sha256 = "145995nzgr06qsn619zap0xqa8ckfrp5azga41smyszq97pd01sj"; }; doCheck = false; @@ -32,6 +32,6 @@ buildPythonApplication rec { homepage = https://beancount.github.io/fava; description = "Web interface for beancount"; license = stdenv.lib.licenses.mit; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ]; }; } diff --git a/pkgs/applications/office/flexibee/default.nix b/pkgs/applications/office/flexibee/default.nix new file mode 100644 index 00000000000..284fdf7a124 --- /dev/null +++ b/pkgs/applications/office/flexibee/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, makeWrapper, jre }: + +let + version = "2019.2.5"; + majorVersion = builtins.substring 0 6 version; +in + +stdenv.mkDerivation rec { + pname = "flexibee"; + inherit version; + + src = fetchurl { + url = "http://download.flexibee.eu/download/${majorVersion}/${version}/${pname}-${version}.tar.gz"; + sha256 = "0k94y4x6lj1vcb89a95v9mzl95mkpwp9n4a2gwvq0g90zpbnn493"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + cp -R usr/share/flexibee/ $out/ + install -Dm755 usr/bin/flexibee $out/bin/flexibee + wrapProgram $out/bin/flexibee --set JAVA_HOME "${jre}" + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "Client for an accouting economic system"; + homepage = "https://www.flexibee.eu/"; + license = licenses.unfree; + maintainers = [ maintainers.mmahut ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix index bd3425e282a..d3ab02fabd3 100644 --- a/pkgs/applications/office/gnucash/default.nix +++ b/pkgs/applications/office/gnucash/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, pkgconfig, makeWrapper, cmake, gtest , boost, icu, libxml2, libxslt, gettext, swig, isocodes, gtk3, glibcLocales -, webkit, dconf, hicolor-icon-theme, libofx, aqbanking, gwenhywfar, libdbi +, webkitgtk, dconf, hicolor-icon-theme, libofx, aqbanking, gwenhywfar, libdbi , libdbiDrivers, guile, perl, perlPackages }: @@ -24,19 +24,19 @@ let in stdenv.mkDerivation rec { - name = "gnucash-${version}"; - version = "3.4"; + pname = "gnucash"; + version = "3.6"; src = fetchurl { - url = "mirror://sourceforge/gnucash/${name}.tar.bz2"; - sha256 = "1ms2wg4sh5gq3rpjmmnp85rh5nc9ahca1imxkvhz4d3yiwy8hm52"; + url = "mirror://sourceforge/gnucash/${pname}-${version}.tar.bz2"; + sha256 = "09azp17ghn7i8kwk0ci3gq0qkn5pvbknhf1cbk7v43mvc3g8djzi"; }; nativeBuildInputs = [ pkgconfig makeWrapper cmake gtest ]; buildInputs = [ boost icu libxml2 libxslt gettext swig isocodes gtk3 glibcLocales - webkit dconf hicolor-icon-theme libofx aqbanking gwenhywfar libdbi + webkitgtk dconf hicolor-icon-theme libofx aqbanking gwenhywfar libdbi libdbiDrivers guile perlWrapper perl ] ++ (with perlPackages; [ FinanceQuote DateManip ]); @@ -61,7 +61,7 @@ stdenv.mkDerivation rec { rm $out/bin/gnucash-valgrind wrapProgram "$out/bin/gnucash" \ - --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${name}" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${pname}-${version}" \ --prefix XDG_DATA_DIRS : "${hicolor-icon-theme}/share" \ --prefix PERL5LIB ":" "$PERL5LIB" \ --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix index e42777bdd00..70d1e3d79ba 100644 --- a/pkgs/applications/office/gnumeric/default.nix +++ b/pkgs/applications/office/gnumeric/default.nix @@ -1,26 +1,35 @@ { stdenv, fetchurl, pkgconfig, intltool, perlPackages , goffice, gnome3, wrapGAppsHook, gtk3, bison, pythonPackages -, itstool +, itstool, autoreconfHook }: let inherit (pythonPackages) python pygobject3; in stdenv.mkDerivation rec { pname = "gnumeric"; - version = "1.12.44"; + version = "1.12.45"; # TODO next release: remove gamma patch and autoreconfHook src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0147962c6ybdsj57rz95nla0rls7g545wc2n7pz59zmzyd5pksk0"; + sha256 = "0c8dl1kvnj3g32qy3s92qpqpqfy0in59cx005gjvvzsflahav61h"; }; + patches = stdenv.lib.optional stdenv.isDarwin + # https://gitlab.gnome.org/GNOME/gnumeric/issues/402 + (fetchurl { + name = "math-gamma.patch"; + url = "https://gitlab.gnome.org/GNOME/gnumeric/uploads/cf8d162bc719de92e97d01cb0ba5b637/ppp"; + sha256 = "17wiigs06qc86a1nghwcg3pcnpa28123jblgsxpy3j7drardgnlp"; + }); + configureFlags = [ "--disable-component" ]; - nativeBuildInputs = [ pkgconfig intltool bison itstool wrapGAppsHook ]; + nativeBuildInputs = [ pkgconfig intltool bison itstool wrapGAppsHook ] + ++ stdenv.lib.optional stdenv.isDarwin autoreconfHook; # ToDo: optional libgda, introspection? buildInputs = [ - goffice gtk3 gnome3.defaultIconTheme + goffice gtk3 gnome3.adwaita-icon-theme python pygobject3 ] ++ (with perlPackages; [ perl XMLParser ]); diff --git a/pkgs/applications/office/grisbi/default.nix b/pkgs/applications/office/grisbi/default.nix index 7c07082b304..752ad70cd09 100644 --- a/pkgs/applications/office/grisbi/default.nix +++ b/pkgs/applications/office/grisbi/default.nix @@ -1,18 +1,18 @@ -{ fetchurl, stdenv, gtk, pkgconfig, libofx, intltool, wrapGAppsHook +{ fetchurl, stdenv, gtk, pkgconfig, libgsf, libofx, intltool, wrapGAppsHook , hicolor-icon-theme, libsoup, gnome3 }: stdenv.mkDerivation rec { - name = "grisbi-${version}"; - version = "1.0.4"; + pname = "grisbi"; + version = "1.2.1"; src = fetchurl { - url = "mirror://sourceforge/grisbi/${name}.tar.bz2"; - sha256 = "1rh2iqvi7lpz5l57vn7qk9azil3y1g65mfbi9hhbx956knh9bpf6"; + url = "mirror://sourceforge/grisbi/${pname}-${version}.tar.bz2"; + sha1 = "1159c5491967fa7afd251783013579ffb45b891b"; }; nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; - buildInputs = [ gtk libofx intltool hicolor-icon-theme libsoup - gnome3.defaultIconTheme ]; + buildInputs = [ gtk libgsf libofx intltool hicolor-icon-theme libsoup + gnome3.adwaita-icon-theme ]; meta = with stdenv.lib; { description = "A personnal accounting application."; diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix index 12b5aef898d..727a68c440a 100644 --- a/pkgs/applications/office/homebank/default.nix +++ b/pkgs/applications/office/homebank/default.nix @@ -2,15 +2,15 @@ , hicolor-icon-theme, libsoup, gnome3 }: stdenv.mkDerivation rec { - name = "homebank-5.2.2"; + name = "homebank-5.2.7"; src = fetchurl { url = "http://homebank.free.fr/public/${name}.tar.gz"; - sha256 = "19cm49p2x6nwia2yvwj3fv7jxbhw0vx4bs1zqbfvdr5vzwgj5j5c"; + sha256 = "0pzbn0wlppwbap19isbv8vv3cq7xswladhc272ykaya78r1bxvcf"; }; nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; buildInputs = [ gtk libofx intltool hicolor-icon-theme libsoup - gnome3.defaultIconTheme ]; + gnome3.adwaita-icon-theme ]; meta = with stdenv.lib; { description = "Free, easy, personal accounting for everyone"; diff --git a/pkgs/applications/office/ib/controller/default.nix b/pkgs/applications/office/ib/controller/default.nix index b39617e02db..372414c1a76 100644 --- a/pkgs/applications/office/ib/controller/default.nix +++ b/pkgs/applications/office/ib/controller/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "2.14.0"; - name = "ib-controller-${version}"; + pname = "ib-controller"; src = fetchurl { url = "https://github.com/ib-controller/ib-controller/archive/${version}.tar.gz"; diff --git a/pkgs/applications/office/ib/tws/default.nix b/pkgs/applications/office/ib/tws/default.nix index 59ecb5a5c3b..a88f1af02c6 100644 --- a/pkgs/applications/office/ib/tws/default.nix +++ b/pkgs/applications/office/ib/tws/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "9542"; - name = "ib-tws-${version}"; + pname = "ib-tws"; src = requireFile rec { name = "ibtws_${version}.jar"; diff --git a/pkgs/applications/office/impressive/default.nix b/pkgs/applications/office/impressive/default.nix index 8946bbab931..5065a1cb9bc 100644 --- a/pkgs/applications/office/impressive/default.nix +++ b/pkgs/applications/office/impressive/default.nix @@ -8,7 +8,8 @@ in stdenv.mkDerivation { # This project was formerly known as KeyJNote. # See http://keyj.emphy.de/apple-lawsuit/ for details. - name = "impressive-${version}"; + pname = "impressive"; + inherit version; src = fetchurl { url = "mirror://sourceforge/impressive/Impressive-${version}.tar.gz"; diff --git a/pkgs/applications/office/jabref/default.nix b/pkgs/applications/office/jabref/default.nix index 5dfd0357012..b249186c2f1 100644 --- a/pkgs/applications/office/jabref/default.nix +++ b/pkgs/applications/office/jabref/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "3.8.1"; - name = "jabref-${version}"; + pname = "jabref"; src = fetchurl { url = "https://github.com/JabRef/jabref/releases/download/v${version}/JabRef-${version}.jar"; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { buildInputs = [ makeWrapper jdk wrapGAppsHook gtk3 gsettings-desktop-schemas ]; - unpackPhase = "#"; + dontUnpack = true; installPhase = '' mkdir -p $out/bin $out/share/java $out/share/icons diff --git a/pkgs/applications/office/jameica/default.nix b/pkgs/applications/office/jameica/default.nix index 61cc3ea78f0..7b4feed1733 100644 --- a/pkgs/applications/office/jameica/default.nix +++ b/pkgs/applications/office/jameica/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, ant, jdk, jre, gtk2, glib, xorg, Cocoa }: let - _version = "2.8.2"; - _build = "450"; + _version = "2.8.4"; + _build = "453"; version = "${_version}-${_build}"; name = "jameica-${version}"; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { owner = "willuhn"; repo = "jameica"; rev = "V_${builtins.replaceStrings ["."] ["_"] _version}_BUILD_${_build}"; - sha256 = "197n35lvx51k6cbp3fhndvfb38sikl4mjqcd42fgvn2khy2sij68"; + sha256 = "1imm3wpdrgh2sr2wh9vgaf2mp1ixs845vgzk5ib82mak7lg9m1zl"; }; # there is also a build.gradle, but it only seems to be used to vendor 3rd party libraries diff --git a/pkgs/applications/office/kexi/default.nix b/pkgs/applications/office/kexi/default.nix index 66fde2497e3..adad5c8680f 100644 --- a/pkgs/applications/office/kexi/default.nix +++ b/pkgs/applications/office/kexi/default.nix @@ -1,5 +1,5 @@ { - mkDerivation, lib, fetchurl, fetchpatch, extra-cmake-modules, kdoctools, + mkDerivation, lib, fetchurl, extra-cmake-modules, kdoctools, boost, qttools, qtwebkit, breeze-icons, karchive, kcodecs, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kcrash, kguiaddons, ki18n, kiconthemes, kitemviews, kio, ktexteditor, ktextwidgets, @@ -9,12 +9,11 @@ mkDerivation rec { pname = "kexi"; - version = "3.1.0"; - name = "${pname}-${version}"; + version = "3.2.0"; src = fetchurl { - url = "mirror://kde/stable/${pname}/src/${name}.tar.xz"; - sha256 = "1ysj44qq75wglw4d080l3gfw47695gapf29scxhb1g3py55csmbd"; + url = "mirror://kde/stable/${pname}/src/${pname}-${version}.tar.xz"; + sha256 = "1zy1q7q9rfdaws3rwf3my22ywkn6g747s3ixfcg9r80mm2g3z0bs"; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; @@ -29,13 +28,6 @@ mkDerivation rec { propagatedUserEnvPkgs = [ kproperty ]; - patches = [ - (fetchpatch { - url = "https://phabricator.kde.org/file/data/6iwzltiifyqwjnzbvyo6/PHID-FILE-li4a7j35wkdkm2qdtnp4/D11503.diff"; - sha256 = "0yj717m4x1zb4xjy1ayhz78xkxpawxgsvjgvf5iw81jnlr8absq9"; - }) - ]; - meta = with lib; { description = "A open source visual database applications creator, a long-awaited competitor for programs like MS Access or Filemaker"; longDescription = '' diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix index 4a91840077c..0cb23abea66 100644 --- a/pkgs/applications/office/kmymoney/default.nix +++ b/pkgs/applications/office/kmymoney/default.nix @@ -1,10 +1,12 @@ { stdenv, lib, fetchurl, doxygen, extra-cmake-modules, graphviz, kdoctools -, fetchpatch +, wrapQtAppsHook , akonadi, alkimia, aqbanking, gmp, gwenhywfar, kactivities, karchive , kcmutils, kcontacts, kdewebkit, kdiagram, kholidays, kidentitymanagement , kitemmodels, libical, libofx, qgpgme +, sqlcipher + # Needed for running tests: , qtbase, xvfb_run @@ -13,21 +15,14 @@ }: stdenv.mkDerivation rec { - name = "kmymoney-${version}"; - version = "5.0.1"; + pname = "kmymoney"; + version = "5.0.5"; src = fetchurl { - url = "mirror://kde/stable/kmymoney/${version}/src/${name}.tar.xz"; - sha256 = "1c9apnvc07y17pzy4vygry1dai5ass2z7j354lrcppa85b18yvnx"; + url = "mirror://kde/stable/kmymoney/${version}/src/${pname}-${version}.tar.xz"; + sha256 = "1hghs4676kn2giwpwz1y7p6djpmi41x64idf3ybiz8ky14a5s977"; }; - # Fix build with Qt 5.11. - patches = lib.singleton (fetchpatch { - url = "https://cgit.kde.org/kmymoney.git/patch/?id=" - + "e5198a902996b27bf9abde0ad24af82d55ab5dc1"; - sha256 = "1h2f1xznf7343s26fh94x8n2ci0pijk5j86f24lvghawsw848316"; - }); - # Hidden dependency that wasn't included in CMakeLists.txt: NIX_CFLAGS_COMPILE = "-I${kitemmodels.dev}/include/KF5"; @@ -35,12 +30,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ doxygen extra-cmake-modules graphviz kdoctools python2Packages.wrapPython + wrapQtAppsHook ]; buildInputs = [ akonadi alkimia aqbanking gmp gwenhywfar kactivities karchive kcmutils kcontacts kdewebkit kdiagram kholidays kidentitymanagement kitemmodels libical libofx qgpgme + sqlcipher # Put it into buildInputs so that CMake can find it, even though we patch # it into the interface later. @@ -62,13 +59,11 @@ stdenv.mkDerivation rec { doInstallCheck = stdenv.hostPlatform == stdenv.buildPlatform; installCheckInputs = [ xvfb_run ]; - installCheckPhase = let - pluginPath = "${qtbase.bin}/${qtbase.qtPluginPrefix}"; - in lib.optionalString doInstallCheck '' - QT_PLUGIN_PATH=${lib.escapeShellArg pluginPath} \ + installCheckPhase = + lib.optionalString doInstallCheck '' xvfb-run -s '-screen 0 1024x768x24' make test \ - ARGS="-E '(reports-chart-test)'" # Test fails, so exclude it for now. - ''; + ARGS="-E '(reports-chart-test)'" # Test fails, so exclude it for now. + ''; meta = { description = "Personal finance manager for KDE"; diff --git a/pkgs/applications/office/ledger-web/Gemfile.lock b/pkgs/applications/office/ledger-web/Gemfile.lock index 290adb0e8e3..f18460420c5 100644 --- a/pkgs/applications/office/ledger-web/Gemfile.lock +++ b/pkgs/applications/office/ledger-web/Gemfile.lock @@ -1,9 +1,9 @@ GEM remote: https://rubygems.org/ specs: - backports (3.6.8) - database_cleaner (1.5.3) - diff-lcs (1.2.5) + backports (3.14.0) + database_cleaner (1.7.0) + diff-lcs (1.3) directory_watcher (1.5.1) ledger_web (1.5.2) database_cleaner @@ -15,41 +15,41 @@ GEM sinatra sinatra-contrib sinatra-session - multi_json (1.12.1) - pg (0.18.4) - rack (1.6.11) - rack-protection (1.5.3) + multi_json (1.13.1) + mustermann (1.0.3) + pg (1.1.4) + rack (2.0.7) + rack-protection (2.0.5) rack - rack-test (0.6.3) - rack (>= 1.0) - rspec (3.5.0) - rspec-core (~> 3.5.0) - rspec-expectations (~> 3.5.0) - rspec-mocks (~> 3.5.0) - rspec-core (3.5.2) - rspec-support (~> 3.5.0) - rspec-expectations (3.5.0) + rspec (3.8.0) + rspec-core (~> 3.8.0) + rspec-expectations (~> 3.8.0) + rspec-mocks (~> 3.8.0) + rspec-core (3.8.0) + rspec-support (~> 3.8.0) + rspec-expectations (3.8.3) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-mocks (3.5.0) + rspec-support (~> 3.8.0) + rspec-mocks (3.8.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-support (3.5.0) - sequel (4.37.0) - sinatra (1.4.7) - rack (~> 1.5) - rack-protection (~> 1.4) - tilt (>= 1.3, < 3) - sinatra-contrib (1.4.7) - backports (>= 2.0) + rspec-support (~> 3.8.0) + rspec-support (3.8.0) + sequel (5.19.0) + sinatra (2.0.5) + mustermann (~> 1.0) + rack (~> 2.0) + rack-protection (= 2.0.5) + tilt (~> 2.0) + sinatra-contrib (2.0.5) + backports (>= 2.8.2) multi_json - rack-protection - rack-test - sinatra (~> 1.4.0) + mustermann (~> 1.0) + rack-protection (= 2.0.5) + sinatra (= 2.0.5) tilt (>= 1.3, < 3) sinatra-session (1.0.0) sinatra (>= 1.0) - tilt (2.0.5) + tilt (2.0.9) PLATFORMS ruby @@ -58,4 +58,4 @@ DEPENDENCIES ledger_web BUNDLED WITH - 1.16.4 + 1.17.2 diff --git a/pkgs/applications/office/ledger-web/default.nix b/pkgs/applications/office/ledger-web/default.nix index 6f571bd2a1b..df8298579e8 100644 --- a/pkgs/applications/office/ledger-web/default.nix +++ b/pkgs/applications/office/ledger-web/default.nix @@ -1,23 +1,23 @@ -{ lib, bundlerEnv, ruby +{ lib, bundlerApp, bundlerUpdateScript , withPostgresql ? true, postgresql , withSqlite ? false, sqlite }: -bundlerEnv rec { - name = "ledger-web-${version}"; - - version = (import ./gemset.nix).ledger_web.version; - inherit ruby; +bundlerApp rec { + pname = "ledger_web"; gemdir = ./.; + exes = [ "ledger_web" ]; buildInputs = lib.optional withPostgresql postgresql ++ lib.optional withSqlite sqlite; + passthru.updateScript = bundlerUpdateScript "ledger-web"; + meta = with lib; { description = "A web frontend to the Ledger CLI tool"; homepage = https://github.com/peterkeen/ledger-web; license = licenses.mit; - maintainers = with maintainers; [ peterhoeg ]; + maintainers = with maintainers; [ peterhoeg manveru nicknovitski ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/office/ledger-web/gemset.nix b/pkgs/applications/office/ledger-web/gemset.nix index acd1bed25a0..71a959c0a86 100644 --- a/pkgs/applications/office/ledger-web/gemset.nix +++ b/pkgs/applications/office/ledger-web/gemset.nix @@ -1,29 +1,37 @@ { backports = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zcgqw7m7jb8n7b2jwla5cq0nw9wsgddxfmn0a9v89ihzd4i1a5k"; + sha256 = "17j5pf0b69bkn043wi4xd530ky53jbbnljr4bsjzlm4k8bzlknfn"; type = "gem"; }; - version = "3.6.8"; + version = "3.14.0"; }; database_cleaner = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fx6zmqznklmkbjl6f713jyl11d4g9q220rcl86m2jp82r8kfwjj"; + sha256 = "05i0nf2aj70m61y3fspypdkc6d1qgibf5kav05a71b5gjz0k7y5x"; type = "gem"; }; - version = "1.5.3"; + version = "1.7.0"; }; diff-lcs = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1"; + sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; type = "gem"; }; - version = "1.2.5"; + version = "1.3"; }; directory_watcher = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0fwc2shba7vks262ind74y3g76qp7znjq5q8b2dvza0yidgywhcq"; @@ -33,6 +41,8 @@ }; ledger_web = { dependencies = ["database_cleaner" "directory_watcher" "pg" "rack" "rspec" "sequel" "sinatra" "sinatra-contrib" "sinatra-session"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0i4vagaiyayymlr41rsy4lg2cl1r011ib0ql9dgjadfy6imb4kqh"; @@ -41,119 +51,146 @@ version = "1.5.2"; }; multi_json = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk"; + sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; type = "gem"; }; - version = "1.12.1"; + version = "1.13.1"; + }; + mustermann = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lycgkmnyy0bf29nnd2zql5a6pcf8sp69g9v4xw0gcfcxgpwp7i1"; + type = "gem"; + }; + version = "1.0.3"; }; pg = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07dv4ma9xd75xpsnnwwg1yrpwpji7ydy0q1d9dl0yfqbzpidrw32"; + sha256 = "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy"; type = "gem"; }; - version = "0.18.4"; + version = "1.1.4"; }; rack = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f"; + sha256 = "0z90vflxbgjy2n84r7mbyax3i2vyvvrxxrf86ljzn5rw65jgnn2i"; type = "gem"; }; - version = "1.6.11"; + version = "2.0.7"; }; rack-protection = { dependencies = ["rack"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r"; + sha256 = "15167q25rmxipqwi6hjqj3i1byi9iwl3xq9b7mdar7qiz39pmjsk"; type = "gem"; }; - version = "1.5.3"; - }; - rack-test = { - dependencies = ["rack"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z"; - type = "gem"; - }; - version = "0.6.3"; + version = "2.0.5"; }; rspec = { dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s"; + sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3"; type = "gem"; }; - version = "3.5.0"; + version = "3.8.0"; }; rspec-core = { dependencies = ["rspec-support"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "12yndf7y6g3s1306bv1aycsmd0gjy5m172spdhx54svca2fcpzy1"; + sha256 = "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p"; type = "gem"; }; - version = "3.5.2"; + version = "3.8.0"; }; rspec-expectations = { dependencies = ["diff-lcs" "rspec-support"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs"; + sha256 = "1c4gs5ybf7km0qshdm92p38zvg32n1j2kr5fgs2icacz7xf2y6fy"; type = "gem"; }; - version = "3.5.0"; + version = "3.8.3"; }; rspec-mocks = { dependencies = ["diff-lcs" "rspec-support"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24"; + sha256 = "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp"; type = "gem"; }; - version = "3.5.0"; + version = "3.8.0"; }; rspec-support = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0"; + sha256 = "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609"; type = "gem"; }; - version = "3.5.0"; + version = "3.8.0"; }; sequel = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11vdpr3r4dwhcan16gs4gjm2k21y9qz7ri5w2zz54pmnxp499cjw"; + sha256 = "0lwkc9kf4jn1x1ph4mgy4saiw2dirq6fhnkpyd0zq8rj1d0nay9a"; type = "gem"; }; - version = "4.37.0"; + version = "5.19.0"; }; sinatra = { - dependencies = ["rack" "rack-protection" "tilt"]; + dependencies = ["mustermann" "rack" "rack-protection" "tilt"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1b81kbr65mmcl9cdq2r6yc16wklyp798rxkgmm5pr9fvsj7jwmxp"; + sha256 = "1gasgn5f15myv08k10i16p326pchxjsy37pgqfw0xm66kcc5d7ry"; type = "gem"; }; - version = "1.4.7"; + version = "2.0.5"; }; sinatra-contrib = { - dependencies = ["backports" "multi_json" "rack-protection" "rack-test" "sinatra" "tilt"]; + dependencies = ["backports" "multi_json" "mustermann" "rack-protection" "sinatra" "tilt"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vi3i0icbi2figiayxpvxbqpbn1syma7w4p4zw5mav1ln4c7jnfr"; + sha256 = "093blvpfy5n7s8knaav9a4pm4j7kck9zidwz942qqd4g99fnk443"; type = "gem"; }; - version = "1.4.7"; + version = "2.0.5"; }; sinatra-session = { dependencies = ["sinatra"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "183xl8i4d2hc03afd1i52gwn2xi3vzrv02g22llhfy5wkmm44gmq"; @@ -162,11 +199,13 @@ version = "1.0.0"; }; tilt = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lgk8bfx24959yq1cn55php3321wddw947mgj07bxfnwyipy9hqf"; + sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"; type = "gem"; }; - version = "2.0.5"; + version = "2.0.9"; }; } \ No newline at end of file diff --git a/pkgs/applications/office/ledger/2.6.3.nix b/pkgs/applications/office/ledger/2.6.3.nix index 49b258c43fd..60fff1d0131 100644 --- a/pkgs/applications/office/ledger/2.6.3.nix +++ b/pkgs/applications/office/ledger/2.6.3.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { dontPatchELF = true; meta = { - homepage = http://ledger-cli.org/; + homepage = https://ledger-cli.org/; description = "A double-entry accounting system with a command-line reporting interface"; license = "BSD"; diff --git a/pkgs/applications/office/ledger/default.nix b/pkgs/applications/office/ledger/default.nix index 643d9ed894f..99e09a8f36f 100644 --- a/pkgs/applications/office/ledger/default.nix +++ b/pkgs/applications/office/ledger/default.nix @@ -2,14 +2,14 @@ , texinfo, gnused, usePython ? true }: stdenv.mkDerivation rec { - name = "ledger-${version}"; - version = "3.1.2"; + pname = "ledger"; + version = "3.1.3"; src = fetchFromGitHub { owner = "ledger"; repo = "ledger"; - rev = version; - sha256 = "0hwnipj2m9p95hhyv6kyq54m27g14r58gnsy2my883kxhpcyb2vc"; + rev = "v${version}"; + sha256 = "0bfnrqrd6wqgsngfpqi30xh6yy86pwl25iwzrqy44q31r0zl4mm3"; }; buildInputs = [ diff --git a/pkgs/applications/office/libreoffice/default-primary-src.nix b/pkgs/applications/office/libreoffice/default-primary-src.nix index aabdacd6198..b3b21174bc3 100644 --- a/pkgs/applications/office/libreoffice/default-primary-src.nix +++ b/pkgs/applications/office/libreoffice/default-primary-src.nix @@ -2,9 +2,9 @@ rec { major = "6"; - minor = "1"; - patch = "4"; - tweak = "2"; + minor = "3"; + patch = "0"; + tweak = "4"; subdir = "${major}.${minor}.${patch}"; @@ -12,6 +12,6 @@ rec { src = fetchurl { url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; - sha256 = "1zip7clhh3bp9smlxx1y5zpnwhaa6p0xlxg7k5d644q8gqbyk3v4"; + sha256 = "1mxflzrcm04djkj8ifyy4rwgl8bxirrvzrn864w6rgvzn43h30w7"; }; } diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index b60874e7c3c..b5cfefd7820 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -2,9 +2,9 @@ , IOCompress, zlib, libjpeg, expat, freetype, libwpd , libxml2, db, sablotron, curl, fontconfig, libsndfile, neon , bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which -, icu, boost, jdk, ant, cups, xorg, libcmis +, icu, boost, jdk, ant, cups, xorg, libcmis, fontforge , openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux -, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw +, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw, mysql , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr , libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra , unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio @@ -12,8 +12,8 @@ , libatomic_ops, graphite2, harfbuzz, libodfgen, libzmf , librevenge, libe-book, libmwaw, glm, glew, gst_all_1 , gdb, commonsLogging, librdf_rasqal, wrapGAppsHook -, defaultIconTheme, glib, ncurses, epoxy, gpgme -, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "nl" "pl" "ru" "sl" "zh-CN" ] +, gnome3, glib, ncurses, epoxy, gpgme +, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "ru" "sl" "zh-CN" ] , withHelp ? true , kdeIntegration ? false }: @@ -48,40 +48,44 @@ let translations = fetchSrc { name = "translations"; - sha256 = "1lgyns8zmwky1p78rvilnixqmicpfaal6x6286l4m7hv46pha181"; + sha256 = "0730fw2kr00b2d56jkdzjdz49c4k4mxiz879c7ikw59c5zvrh009"; }; # TODO: dictionaries help = fetchSrc { name = "help"; - sha256 = "0ia490xksnhh4m5fas6irr7qbnkaap7zs3fg8jbq4qrfjh81bcpm"; + sha256 = "1w9bqwzz75vvxxy9dgln0v6p6isf8mkqnkg1nzlaykvdgsn5sp4z"; }; }; in stdenv.mkDerivation rec { - name = "libreoffice-${version}"; + pname = "libreoffice"; + inherit version; inherit (primary-src) src; # For some reason librdf_redland sometimes refers to rasqal.h instead # of rasqal/rasqal.h - NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ]; + NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ] ++ lib.optional stdenv.isx86_64 "-mno-fma"; patches = [ ./xdg-open-brief.patch - ./poppler.patch ]; + tarballPath = "external/tarballs"; + postUnpack = '' - mkdir -v $sourceRoot/src + mkdir -v $sourceRoot/${tarballPath} '' + (lib.flip lib.concatMapStrings srcs.third_party (f: '' - ln -sfv ${f} $sourceRoot/src/${f.md5name} - ln -sfv ${f} $sourceRoot/src/${f.name} + ln -sfv ${f} $sourceRoot/${tarballPath}/${f.md5name} + ln -sfv ${f} $sourceRoot/${tarballPath}/${f.name} '')) + '' - ln -sv ${srcs.help} $sourceRoot/src/${srcs.help.name} - ln -svf ${srcs.translations} $sourceRoot/src/${srcs.translations.name} + ln -sv ${srcs.help} $sourceRoot/${tarballPath}/${srcs.help.name} + ln -svf ${srcs.translations} $sourceRoot/${tarballPath}/${srcs.translations.name} + tar -xf ${srcs.help} + tar -xf ${srcs.translations} ''; postPatch = '' @@ -130,6 +134,9 @@ in stdenv.mkDerivation rec { # https://nabble.documentfoundation.org/libreoffice-5-0-failure-in-CUT-libreofficekit-tiledrendering-td4150319.html echo > ./sd/CppunitTest_sd_tiledrendering.mk sed -e /CppunitTest_sd_tiledrendering/d -i sd/Module_sd.mk + # Pivot chart tests. Fragile. + sed -e '/CPPUNIT_TEST(testRoundtrip)/d' -i chart2/qa/extras/PivotChartTest.cxx + sed -e '/CPPUNIT_TEST(testPivotTableMedianODS)/d' -i sc/qa/unit/pivottable_filters_test.cxx # one more fragile test? sed -e '/CPPUNIT_TEST(testTdf96536);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx # this I actually hate, this should be a data consistency test! @@ -138,6 +145,8 @@ in stdenv.mkDerivation rec { sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx # tilde expansion in path processing checks the existence of $HOME sed -e 's@OString sSysPath("~/tmp");@& return ; @' -i sal/qa/osl/file/osl_File.cxx + # fails on systems using ZFS, see https://github.com/NixOS/nixpkgs/issues/19071 + sed -e '/CPPUNIT_TEST(getSystemPathFromFileURL_005);/d' -i './sal/qa/osl/file/osl_File.cxx' # rendering-dependent: on my computer the test table actually doesn't fit… # interesting fact: test disabled on macOS by upstream sed -re '/DECLARE_WW8EXPORT_TEST[(]testTableKeep, "tdf91083.odt"[)]/,+5d' -i ./sw/qa/extras/ww8export/ww8export.cxx @@ -149,6 +158,7 @@ in stdenv.mkDerivation rec { sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx + sed -e '/CPPUNIT_TEST(testLegacyCellAnchoredRotatedShape)/d' -i sc/qa/unit/filters-test.cxx sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]tdf105490_negativeMargins,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport9.cxx @@ -156,6 +166,77 @@ in stdenv.mkDerivation rec { sed -z -r -e 's/DECLARE_RTFIMPORT_TEST[(]testTdf108947,[^)]*[)].[{]/& return;/' -i sw/qa/extras/rtfimport/rtfimport.cxx # not sure about this fragile test sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testTDF87348,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx + # bunch of new Fresh failures. Sigh. + sed -e '/CPPUNIT_TEST(testDocumentLayout);/d' -i './sd/qa/unit/import-tests.cxx' + sed -e '/CPPUNIT_TEST(testErrorBarDataRangeODS);/d' -i './chart2/qa/extras/chart2export.cxx' + sed -e '/CPPUNIT_TEST(testLabelStringODS);/d' -i './chart2/qa/extras/chart2export.cxx' + sed -e '/CPPUNIT_TEST(testAxisNumberFormatODS);/d' -i './chart2/qa/extras/chart2export.cxx' + sed -e '/CPPUNIT_TEST(testBackgroundImage);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testFdo84043);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf97630);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf80020);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf62176);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testEmbeddedPdf);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testEmbeddedText);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf98477);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testTdf50499);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf100926);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testPageWithTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTextRotation);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf113818);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf119629);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf113822);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(test);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testConditionalFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF16LErtlSHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256ODF12);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256W3C);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testProtectionKeyODS_XL_SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testColorScaleExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testDataBarExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testNamedRangeBugfdo62729);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testRichTextExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testFormulaRefSheetNameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testCellValuesExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testCellNoteExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testEmbeddedChartODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testCellAnchoredGroupXLS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testCeilingFloorODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testRelativePathsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testSheetProtectionODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testSwappedOutImageExport);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testLinkedGraphicRT);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testImageWithSpecialID);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testAbsNamedRangeHTML);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testMoveCellAnchoredShapesODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testRefStringUnspecified);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testHeaderImageODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testTdf88657ODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testExponentWithoutSignFormatXLSX);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testHiddenRepeatedRowsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testHyperlinkTargetFrameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testTdf105739);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testPageBitmapWithTransparency);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testTdf115005);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_On);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_Off);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testTdf44774);/d' -i './sd/qa/unit/misc-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf38225);/d' -i './sd/qa/unit/misc-tests.cxx' + sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testFdo85554);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx' + sed -e '/CPPUNIT_TEST(testEmbeddedDataSource);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx' + sed -e '/CPPUNIT_TEST(testTdf96479);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx' + sed -e '/CPPUNIT_TEST(testInconsistentBookmark);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx' + sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/extras/inc/swmodeltestbase.hxx' + sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlexport9.cxx" + sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlencryption.cxx" + sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/odfexport/odfexport.cxx" + sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/unowriter/unowriter.cxx" '' # This to avoid using /lib:/usr/lib at linking + '' @@ -180,7 +261,7 @@ in stdenv.mkDerivation rec { mkdir -p "$out/share/gsettings-schemas/collected-for-libreoffice/glib-2.0/schemas/" - for a in sbase scalc sdraw smath swriter simpress soffice; do + for a in sbase scalc sdraw smath swriter simpress soffice unopkg; do ln -s $out/lib/libreoffice/program/$a $out/bin/$a done @@ -228,8 +309,15 @@ in stdenv.mkDerivation rec { # Without these, configure does not finish "--without-junit" + # Schema files for validation are not included in the source tarball + "--without-export-validation" + "--disable-libnumbertext" # system-libnumbertext" + # We do tarball prefetching ourselves + "--disable-fetch-external" + "--enable-build-opensymbol" + # I imagine this helps. Copied from go-oo. # Modified on every upgrade, though "--disable-odk" @@ -263,24 +351,25 @@ in stdenv.mkDerivation rec { make slowcheck ''; + nativeBuildInputs = [ wrapGAppsHook gdb fontforge autoconf automake bison pkgconfig libtool ]; + buildInputs = with xorg; - [ ant ArchiveZip autoconf automake bison boost cairo clucene_core + [ ant ArchiveZip boost cairo clucene_core IOCompress cppunit cups curl db dbus-glib expat file flex fontconfig freetype GConf getopt gnome_vfs gperf gtk3 gtk2 hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11 libXaw libXext libXi libXinerama libxml2 libxslt libXtst libXdmcp libpthreadstubs libGLU_combined mythes gst_all_1.gstreamer - gst_all_1.gst-plugins-base glib + gst_all_1.gst-plugins-base glib mysql.connector-c neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler python3 sablotron sane-backends unzip vigra which zip zlib - mdds bluez5 libcmis libwps libabw libzmf libtool + mdds bluez5 libcmis libwps libabw libzmf libxshmfence libatomic_ops graphite2 harfbuzz gpgme utillinux librevenge libe-book libmwaw glm glew ncurses epoxy - libodfgen CoinMP librdf_rasqal defaultIconTheme gettext + libodfgen CoinMP librdf_rasqal gnome3.adwaita-icon-theme gettext ] ++ lib.optional kdeIntegration kdelibs4; - nativeBuildInputs = [ wrapGAppsHook gdb ]; passthru = { inherit srcs jdk; diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix index 4ab15a3a91e..b5a721b5679 100644 --- a/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix +++ b/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix @@ -28,11 +28,11 @@ md5name = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19-apr-util-1.5.4.tar.gz"; } { - name = "boost_1_65_1.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/boost_1_65_1.tar.bz2"; - sha256 = "9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81"; + name = "boost_1_66_0.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/boost_1_66_0.tar.bz2"; + sha256 = "5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9"; md5 = ""; - md5name = "9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81-boost_1_65_1.tar.bz2"; + md5name = "5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9-boost_1_66_0.tar.bz2"; } { name = "breakpad.zip"; @@ -56,18 +56,18 @@ md5name = "00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz"; } { - name = "cairo-1.14.10.tar.xz"; - url = "http://dev-www.libreoffice.org/src/cairo-1.14.10.tar.xz"; - sha256 = "7e87878658f2c9951a14fc64114d4958c0e65ac47530b8ac3078b2ce41b66a09"; + name = "cairo-1.16.0.tar.xz"; + url = "http://dev-www.libreoffice.org/src/cairo-1.16.0.tar.xz"; + sha256 = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331"; md5 = ""; - md5name = "7e87878658f2c9951a14fc64114d4958c0e65ac47530b8ac3078b2ce41b66a09-cairo-1.14.10.tar.xz"; + md5name = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331-cairo-1.16.0.tar.xz"; } { - name = "libcdr-0.1.4.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libcdr-0.1.4.tar.xz"; - sha256 = "e7a7e8b00a3df5798110024d7061fe9d1c3330277d2e4fa9213294f966a4a66d"; + name = "libcdr-0.1.5.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libcdr-0.1.5.tar.xz"; + sha256 = "6ace5c499a8be34ad871e825442ce388614ae2d8675c4381756a7319429e3a48"; md5 = ""; - md5name = "e7a7e8b00a3df5798110024d7061fe9d1c3330277d2e4fa9213294f966a4a66d-libcdr-0.1.4.tar.xz"; + md5name = "6ace5c499a8be34ad871e825442ce388614ae2d8675c4381756a7319429e3a48-libcdr-0.1.5.tar.xz"; } { name = "clucene-core-2.3.3.4.tar.gz"; @@ -77,11 +77,11 @@ md5name = "48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz"; } { - name = "libcmis-0.5.1.tar.gz"; - url = "http://dev-www.libreoffice.org/src/libcmis-0.5.1.tar.gz"; - sha256 = "6acbdf22ecdbaba37728729b75bfc085ee5a4b49a6024757cfb86ccd3da27b0e"; + name = "libcmis-0.5.2.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libcmis-0.5.2.tar.xz"; + sha256 = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2"; md5 = ""; - md5name = "6acbdf22ecdbaba37728729b75bfc085ee5a4b49a6024757cfb86ccd3da27b0e-libcmis-0.5.1.tar.gz"; + md5name = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2-libcmis-0.5.2.tar.xz"; } { name = "CoinMP-1.7.6.tgz"; @@ -105,11 +105,11 @@ md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt"; } { - name = "curl-7.61.1.tar.gz"; - url = "http://dev-www.libreoffice.org/src/curl-7.61.1.tar.gz"; - sha256 = "eaa812e9a871ea10dbe8e1d3f8f12a64a8e3e62aeab18cb23742e2f1727458ae"; + name = "curl-7.65.0.tar.xz"; + url = "http://dev-www.libreoffice.org/src/curl-7.65.0.tar.xz"; + sha256 = "7766d263929404f693905b5e5222aa0f2bdf8c66ab4b8758f0c0820a42b966cd"; md5 = ""; - md5name = "eaa812e9a871ea10dbe8e1d3f8f12a64a8e3e62aeab18cb23742e2f1727458ae-curl-7.61.1.tar.gz"; + md5name = "7766d263929404f693905b5e5222aa0f2bdf8c66ab4b8758f0c0820a42b966cd-curl-7.65.0.tar.xz"; } { name = "libe-book-0.1.3.tar.xz"; @@ -119,11 +119,11 @@ md5name = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9-libe-book-0.1.3.tar.xz"; } { - name = "libepoxy-1.3.1.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/libepoxy-1.3.1.tar.bz2"; - sha256 = "1d8668b0a259c709899e1c4bab62d756d9002d546ce4f59c9665e2fc5f001a64"; + name = "libepoxy-1.5.3.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libepoxy-1.5.3.tar.xz"; + sha256 = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d"; md5 = ""; - md5name = "1d8668b0a259c709899e1c4bab62d756d9002d546ce4f59c9665e2fc5f001a64-libepoxy-1.3.1.tar.bz2"; + md5name = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d-libepoxy-1.5.3.tar.xz"; } { name = "epm-3.7.tar.gz"; @@ -133,18 +133,18 @@ md5name = "3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz"; } { - name = "libepubgen-0.1.0.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/libepubgen-0.1.0.tar.bz2"; - sha256 = "730bd1cbeee166334faadbc06c953a67b145c3c4754a3b503482066dae4cd633"; + name = "libepubgen-0.1.1.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libepubgen-0.1.1.tar.xz"; + sha256 = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad"; md5 = ""; - md5name = "730bd1cbeee166334faadbc06c953a67b145c3c4754a3b503482066dae4cd633-libepubgen-0.1.0.tar.bz2"; + md5name = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad-libepubgen-0.1.1.tar.xz"; } { - name = "libetonyek-0.1.7.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libetonyek-0.1.7.tar.xz"; - sha256 = "69dbe10d4426d52f09060d489f8eb90dfa1df592e82eb0698d9dbaf38cc734ac"; + name = "libetonyek-0.1.9.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libetonyek-0.1.9.tar.xz"; + sha256 = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a"; md5 = ""; - md5name = "69dbe10d4426d52f09060d489f8eb90dfa1df592e82eb0698d9dbaf38cc734ac-libetonyek-0.1.7.tar.xz"; + md5name = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a-libetonyek-0.1.9.tar.xz"; } { name = "expat-2.2.5.tar.bz2"; @@ -196,18 +196,18 @@ md5name = "1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip"; } { - name = "liberation-fonts-ttf-1.07.4.tar.gz"; - url = "http://dev-www.libreoffice.org/src/134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz"; - sha256 = "61a7e2b6742a43c73e8762cdfeaf6dfcf9abdd2cfa0b099a9854d69bc4cfee5c"; - md5 = "134d8262145fc793c6af494dcace3e71"; - md5name = "134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz"; + name = "liberation-narrow-fonts-ttf-1.07.6.tar.gz"; + url = "http://dev-www.libreoffice.org/src/liberation-narrow-fonts-ttf-1.07.6.tar.gz"; + sha256 = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3"; + md5 = ""; + md5name = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3-liberation-narrow-fonts-ttf-1.07.6.tar.gz"; } { - name = "liberation-fonts-ttf-2.00.1.tar.gz"; - url = "http://dev-www.libreoffice.org/src/5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz"; - sha256 = "7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504"; - md5 = "5c781723a0d9ed6188960defba8e91cf"; - md5name = "5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz"; + name = "liberation-fonts-ttf-2.00.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/liberation-fonts-ttf-2.00.4.tar.gz"; + sha256 = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45"; + md5 = ""; + md5name = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45-liberation-fonts-ttf-2.00.4.tar.gz"; } { name = "LinLibertineG-20120116.zip"; @@ -230,6 +230,13 @@ md5 = "edc4d741888bc0d38e32dbaa17149596"; md5name = "edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz"; } + { + name = "source-serif-font-2.007R.tar.gz"; + url = "http://dev-www.libreoffice.org/src/source-serif-font-2.007R.tar.gz"; + sha256 = "10b2bbb357d52bf0f516d3e0ac0a09b5f7901470fbf649b69dad9ccc2d29f7cb"; + md5 = ""; + md5name = "10b2bbb357d52bf0f516d3e0ac0a09b5f7901470fbf649b69dad9ccc2d29f7cb-source-serif-font-2.007R.tar.gz"; + } { name = "EmojiOneColor-SVGinOT-1.3.tar.gz"; url = "http://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz"; @@ -266,11 +273,11 @@ md5name = "b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52-alef-1.001.tar.gz"; } { - name = "amiri-0.109.zip"; - url = "http://dev-www.libreoffice.org/src/amiri-0.109.zip"; - sha256 = "97ee6e40d87f4b31de15d9a93bb30bf27bf308f0814f4ee9c47365b027402ad6"; + name = "Amiri-0.111.zip"; + url = "http://dev-www.libreoffice.org/src/Amiri-0.111.zip"; + sha256 = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166"; md5 = ""; - md5name = "97ee6e40d87f4b31de15d9a93bb30bf27bf308f0814f4ee9c47365b027402ad6-amiri-0.109.zip"; + md5name = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166-Amiri-0.111.zip"; } { name = "ttf-kacst_2.01+mry.tar.gz"; @@ -280,11 +287,11 @@ md5name = "dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56-ttf-kacst_2.01+mry.tar.gz"; } { - name = "ReemKufi-0.6.tar.gz"; - url = "http://dev-www.libreoffice.org/src/ReemKufi-0.6.tar.gz"; - sha256 = "4dfbd8b227ea062ca1742fb15d707f0b74398f9ddb231892554f0959048e809b"; + name = "ReemKufi-0.7.zip"; + url = "http://dev-www.libreoffice.org/src/ReemKufi-0.7.zip"; + sha256 = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f"; md5 = ""; - md5name = "4dfbd8b227ea062ca1742fb15d707f0b74398f9ddb231892554f0959048e809b-ReemKufi-0.6.tar.gz"; + md5name = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f-ReemKufi-0.7.zip"; } { name = "Scheherazade-2.100.zip"; @@ -329,11 +336,11 @@ md5name = "aa5e58356cd084000609ebbd93fef456a1bc0ab9e46fea20e81552fb286232a9-graphite2-minimal-1.3.10.tgz"; } { - name = "harfbuzz-1.7.0.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/harfbuzz-1.7.0.tar.bz2"; - sha256 = "042742d6ec67bc6719b69cf38a3fba24fbd120e207e3fdc18530dc730fb6a029"; + name = "harfbuzz-1.8.4.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/harfbuzz-1.8.4.tar.bz2"; + sha256 = "3c592f86fa0da69e2e0e98cae9f5d5b61def3bb7948aa00ca45748f27fa545fd"; md5 = ""; - md5name = "042742d6ec67bc6719b69cf38a3fba24fbd120e207e3fdc18530dc730fb6a029-harfbuzz-1.7.0.tar.bz2"; + md5name = "3c592f86fa0da69e2e0e98cae9f5d5b61def3bb7948aa00ca45748f27fa545fd-harfbuzz-1.8.4.tar.bz2"; } { name = "hsqldb_1_8_0.zip"; @@ -343,11 +350,11 @@ md5name = "17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip"; } { - name = "hunspell-1.6.2.tar.gz"; - url = "http://dev-www.libreoffice.org/src/hunspell-1.6.2.tar.gz"; - sha256 = "3cd9ceb062fe5814f668e4f22b2fa6e3ba0b339b921739541ce180cac4d6f4c4"; + name = "hunspell-1.7.0.tar.gz"; + url = "http://dev-www.libreoffice.org/src/hunspell-1.7.0.tar.gz"; + sha256 = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951"; md5 = ""; - md5name = "3cd9ceb062fe5814f668e4f22b2fa6e3ba0b339b921739541ce180cac4d6f4c4-hunspell-1.6.2.tar.gz"; + md5name = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951-hunspell-1.7.0.tar.gz"; } { name = "hyphen-2.8.8.tar.gz"; @@ -357,18 +364,18 @@ md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz"; } { - name = "icu4c-60_2-src.tgz"; - url = "http://dev-www.libreoffice.org/src/icu4c-60_2-src.tgz"; - sha256 = "f073ea8f35b926d70bb33e6577508aa642a8b316a803f11be20af384811db418"; + name = "icu4c-63_1-src.tgz"; + url = "http://dev-www.libreoffice.org/src/icu4c-63_1-src.tgz"; + sha256 = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d"; md5 = ""; - md5name = "f073ea8f35b926d70bb33e6577508aa642a8b316a803f11be20af384811db418-icu4c-60_2-src.tgz"; + md5name = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d-icu4c-63_1-src.tgz"; } { - name = "icu4c-60_2-data.zip"; - url = "http://dev-www.libreoffice.org/src/icu4c-60_2-data.zip"; - sha256 = "68f42ad0c9e0a5a5af8eba0577ba100833912288bad6e4d1f42ff480bbcfd4a9"; + name = "icu4c-63_1-data.zip"; + url = "http://dev-www.libreoffice.org/src/icu4c-63_1-data.zip"; + sha256 = "9bef2bf28ec4fdc86a3bd88d7ac4d509fef6dfbe9c6798299e55b9d4343e960c"; md5 = ""; - md5name = "68f42ad0c9e0a5a5af8eba0577ba100833912288bad6e4d1f42ff480bbcfd4a9-icu4c-60_2-data.zip"; + md5name = "9bef2bf28ec4fdc86a3bd88d7ac4d509fef6dfbe9c6798299e55b9d4343e960c-icu4c-63_1-data.zip"; } { name = "flow-engine-0.9.4.zip"; @@ -448,18 +455,18 @@ md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip"; } { - name = "libjpeg-turbo-1.5.2.tar.gz"; - url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.2.tar.gz"; - sha256 = "9098943b270388727ae61de82adec73cf9f0dbb240b3bc8b172595ebf405b528"; + name = "libjpeg-turbo-1.5.3.tar.gz"; + url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.3.tar.gz"; + sha256 = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523"; md5 = ""; - md5name = "9098943b270388727ae61de82adec73cf9f0dbb240b3bc8b172595ebf405b528-libjpeg-turbo-1.5.2.tar.gz"; + md5name = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523-libjpeg-turbo-1.5.3.tar.gz"; } { - name = "language-subtag-registry-2018-03-30.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2018-03-30.tar.bz2"; - sha256 = "b7ad618b7db518155f00490a11b861496864f18b23b4b537eb80bfe84ca6f854"; + name = "language-subtag-registry-2019-04-03.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2019-04-03.tar.bz2"; + sha256 = "a1d7fb901764bb8f251d4f686cdf565764f9987d0fb5d9315d54a7366a84822d"; md5 = ""; - md5name = "b7ad618b7db518155f00490a11b861496864f18b23b4b537eb80bfe84ca6f854-language-subtag-registry-2018-03-30.tar.bz2"; + md5name = "a1d7fb901764bb8f251d4f686cdf565764f9987d0fb5d9315d54a7366a84822d-language-subtag-registry-2019-04-03.tar.bz2"; } { name = "JLanguageTool-1.7.0.tar.bz2"; @@ -469,25 +476,25 @@ md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2"; } { - name = "lcms2-2.8.tar.gz"; - url = "http://dev-www.libreoffice.org/src/lcms2-2.8.tar.gz"; - sha256 = "66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22"; + name = "lcms2-2.9.tar.gz"; + url = "http://dev-www.libreoffice.org/src/lcms2-2.9.tar.gz"; + sha256 = "48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20"; md5 = ""; - md5name = "66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22-lcms2-2.8.tar.gz"; + md5name = "48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20-lcms2-2.9.tar.gz"; } { - name = "libassuan-2.4.3.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/libassuan-2.4.3.tar.bz2"; - sha256 = "22843a3bdb256f59be49842abf24da76700354293a066d82ade8134bb5aa2b71"; + name = "libassuan-2.5.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libassuan-2.5.1.tar.bz2"; + sha256 = "47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449"; md5 = ""; - md5name = "22843a3bdb256f59be49842abf24da76700354293a066d82ade8134bb5aa2b71-libassuan-2.4.3.tar.bz2"; + md5name = "47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449-libassuan-2.5.1.tar.bz2"; } { - name = "libatomic_ops-7_2d.zip"; - url = "http://dev-www.libreoffice.org/src/libatomic_ops-7_2d.zip"; - sha256 = "cf5c52f08a2067ae4fe7c8919e3c1ccf3ee917f1749e0bcc7efffff59c68d9ad"; + name = "libatomic_ops-7.6.8.tar.gz"; + url = "http://dev-www.libreoffice.org/src/libatomic_ops-7.6.8.tar.gz"; + sha256 = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665"; md5 = ""; - md5name = "cf5c52f08a2067ae4fe7c8919e3c1ccf3ee917f1749e0bcc7efffff59c68d9ad-libatomic_ops-7_2d.zip"; + md5name = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665-libatomic_ops-7.6.8.tar.gz"; } { name = "libeot-0.01.tar.bz2"; @@ -517,6 +524,13 @@ md5 = ""; md5name = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e-liblangtag-0.6.2.tar.bz2"; } + { + name = "libnumbertext-1.0.5.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libnumbertext-1.0.5.tar.xz"; + sha256 = "e1c9086b4cecb6b25f180316f30740dfabe6a4dbaf70dddc34276fc839e4f4f7"; + md5 = ""; + md5name = "e1c9086b4cecb6b25f180316f30740dfabe6a4dbaf70dddc34276fc839e4f4f7-libnumbertext-1.0.5.tar.xz"; + } { name = "ltm-1.0.zip"; url = "http://dev-www.libreoffice.org/src/ltm-1.0.zip"; @@ -525,25 +539,25 @@ md5name = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483-ltm-1.0.zip"; } { - name = "xmlsec1-1.2.25.tar.gz"; - url = "http://dev-www.libreoffice.org/src/xmlsec1-1.2.25.tar.gz"; - sha256 = "967ca83edf25ccb5b48a3c4a09ad3405a63365576503bf34290a42de1b92fcd2"; + name = "xmlsec1-1.2.27.tar.gz"; + url = "http://dev-www.libreoffice.org/src/xmlsec1-1.2.27.tar.gz"; + sha256 = "97d756bad8e92588e6997d2227797eaa900d05e34a426829b149f65d87118eb6"; md5 = ""; - md5name = "967ca83edf25ccb5b48a3c4a09ad3405a63365576503bf34290a42de1b92fcd2-xmlsec1-1.2.25.tar.gz"; + md5name = "97d756bad8e92588e6997d2227797eaa900d05e34a426829b149f65d87118eb6-xmlsec1-1.2.27.tar.gz"; } { - name = "libxml2-2.9.8.tar.gz"; - url = "http://dev-www.libreoffice.org/src/libxml2-2.9.8.tar.gz"; - sha256 = "0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732"; + name = "libxml2-2.9.9.tar.gz"; + url = "http://dev-www.libreoffice.org/src/libxml2-2.9.9.tar.gz"; + sha256 = "94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871"; md5 = ""; - md5name = "0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732-libxml2-2.9.8.tar.gz"; + md5name = "94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871-libxml2-2.9.9.tar.gz"; } { - name = "libxslt-1.1.32.tar.gz"; - url = "http://dev-www.libreoffice.org/src/libxslt-1.1.32.tar.gz"; - sha256 = "526ecd0abaf4a7789041622c3950c0e7f2c4c8835471515fd77eec684a355460"; + name = "libxslt-1.1.33.tar.gz"; + url = "http://dev-www.libreoffice.org/src/libxslt-1.1.33.tar.gz"; + sha256 = "8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8"; md5 = ""; - md5name = "526ecd0abaf4a7789041622c3950c0e7f2c4c8835471515fd77eec684a355460-libxslt-1.1.32.tar.gz"; + md5name = "8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8-libxslt-1.1.33.tar.gz"; } { name = "lp_solve_5.5.tar.gz"; @@ -552,6 +566,13 @@ md5 = "26b3e95ddf3d9c077c480ea45874b3b8"; md5name = "26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz"; } + { + name = "lxml-4.1.1.tgz"; + url = "http://dev-www.libreoffice.org/src/lxml-4.1.1.tgz"; + sha256 = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e"; + md5 = ""; + md5name = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e-lxml-4.1.1.tgz"; + } { name = "mariadb_client-2.0.0-src.tar.gz"; url = "http://dev-www.libreoffice.org/src/a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz"; @@ -560,39 +581,32 @@ md5name = "a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz"; } { - name = "mdds-1.3.1.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/mdds-1.3.1.tar.bz2"; - sha256 = "dcb8cd2425567a5a5ec164afea475bce57784bca3e352ad4cbdd3d1a7e08e5a1"; + name = "mdds-1.4.3.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/mdds-1.4.3.tar.bz2"; + sha256 = "25ce3d5af9f6609e1de05bb22b2316e57b74a72a5b686fbb2da199da72349c81"; md5 = ""; - md5name = "dcb8cd2425567a5a5ec164afea475bce57784bca3e352ad4cbdd3d1a7e08e5a1-mdds-1.3.1.tar.bz2"; + md5name = "25ce3d5af9f6609e1de05bb22b2316e57b74a72a5b686fbb2da199da72349c81-mdds-1.4.3.tar.bz2"; } { - name = "mDNSResponder-576.30.4.tar.gz"; - url = "http://dev-www.libreoffice.org/src/mDNSResponder-576.30.4.tar.gz"; - sha256 = "4737cb51378377e11d0edb7bcdd1bec79cbdaa7b27ea09c13e3006e58f8d92c0"; + name = "mDNSResponder-878.200.35.tar.gz"; + url = "http://dev-www.libreoffice.org/src/mDNSResponder-878.200.35.tar.gz"; + sha256 = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0"; md5 = ""; - md5name = "4737cb51378377e11d0edb7bcdd1bec79cbdaa7b27ea09c13e3006e58f8d92c0-mDNSResponder-576.30.4.tar.gz"; + md5name = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0-mDNSResponder-878.200.35.tar.gz"; } { - name = "libmspub-0.1.3.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libmspub-0.1.3.tar.xz"; - sha256 = "f0225f0ff03f6bec4847d7c2d8719a36cafc4b97a09e504b610372cc5b981c97"; + name = "libmspub-0.1.4.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libmspub-0.1.4.tar.xz"; + sha256 = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba"; md5 = ""; - md5name = "f0225f0ff03f6bec4847d7c2d8719a36cafc4b97a09e504b610372cc5b981c97-libmspub-0.1.3.tar.xz"; + md5name = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba-libmspub-0.1.4.tar.xz"; } { - name = "libmwaw-0.3.13.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.13.tar.xz"; - sha256 = "db55c728448f9c795cd71a0bb6043f6d4744e3e001b955a018a2c634981d5aea"; + name = "libmwaw-0.3.14.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.14.tar.xz"; + sha256 = "aca8bf1ce55ed83adbea82c70d4c8bebe8139f334b3481bf5a6e407f91f33ce9"; md5 = ""; - md5name = "db55c728448f9c795cd71a0bb6043f6d4744e3e001b955a018a2c634981d5aea-libmwaw-0.3.13.tar.xz"; - } - { - name = "mysql-connector-c++-1.1.4.tar.gz"; - url = "http://dev-www.libreoffice.org/src/7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz"; - sha256 = "a25f14dad39e93a2f9cdf09166ee53981f7212dce829e4208e07a522963a8585"; - md5 = "7239a4430efd4d0189c4f24df67f08e5"; - md5name = "7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz"; + md5name = "aca8bf1ce55ed83adbea82c70d4c8bebe8139f334b3481bf5a6e407f91f33ce9-libmwaw-0.3.14.tar.xz"; } { name = "mythes-1.2.4.tar.gz"; @@ -609,11 +623,11 @@ md5name = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca-neon-0.30.2.tar.gz"; } { - name = "nss-3.38-with-nspr-4.19.tar.gz"; - url = "http://dev-www.libreoffice.org/src/nss-3.38-with-nspr-4.19.tar.gz"; - sha256 = "f271ec73291fa3e4bd4b59109f8035cc3a192fc33886f40ed4f9ee4b31c746e9"; + name = "nss-3.45-with-nspr-4.21.tar.gz"; + url = "http://dev-www.libreoffice.org/src/nss-3.45-with-nspr-4.21.tar.gz"; + sha256 = "fae11751100510d26f16a245f0db9a5b3d638ab28ce0bccd50d4314f7e526ba1"; md5 = ""; - md5name = "f271ec73291fa3e4bd4b59109f8035cc3a192fc33886f40ed4f9ee4b31c746e9-nss-3.38-with-nspr-4.19.tar.gz"; + md5name = "fae11751100510d26f16a245f0db9a5b3d638ab28ce0bccd50d4314f7e526ba1-nss-3.45-with-nspr-4.21.tar.gz"; } { name = "libodfgen-0.1.6.tar.bz2"; @@ -623,11 +637,11 @@ md5name = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2-libodfgen-0.1.6.tar.bz2"; } { - name = "odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar"; - url = "http://dev-www.libreoffice.org/src/../extern/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar"; - sha256 = "702413413a5d8076c17fe79c0808dfba145a7260020f6c8627ea529a0cf83769"; + name = "odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar"; + url = "http://dev-www.libreoffice.org/src/../extern/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar"; + sha256 = "984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504"; md5 = ""; - md5name = "702413413a5d8076c17fe79c0808dfba145a7260020f6c8627ea529a0cf83769-odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar"; + md5name = "984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504-odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar"; } { name = "officeotron-0.7.4-master.jar"; @@ -644,18 +658,18 @@ md5name = "cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824-openldap-2.4.45.tgz"; } { - name = "openssl-1.0.2m.tar.gz"; - url = "http://dev-www.libreoffice.org/src/openssl-1.0.2m.tar.gz"; - sha256 = "8c6ff15ec6b319b50788f42c7abc2890c08ba5a1cdcd3810eb9092deada37b0f"; + name = "openssl-1.0.2r.tar.gz"; + url = "http://dev-www.libreoffice.org/src/openssl-1.0.2r.tar.gz"; + sha256 = "ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6"; md5 = ""; - md5name = "8c6ff15ec6b319b50788f42c7abc2890c08ba5a1cdcd3810eb9092deada37b0f-openssl-1.0.2m.tar.gz"; + md5name = "ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6-openssl-1.0.2r.tar.gz"; } { - name = "liborcus-0.13.3.tar.gz"; - url = "http://dev-www.libreoffice.org/src/liborcus-0.13.3.tar.gz"; - sha256 = "62e76de1fd3101e77118732b860354121b40a87bbb1ebfeb8203477fffac16e9"; + name = "liborcus-0.14.1.tar.gz"; + url = "http://dev-www.libreoffice.org/src/liborcus-0.14.1.tar.gz"; + sha256 = "3f48cfbc21ad74787218284939c04d42cb836c73bc393f27f538b668e4d78a5f"; md5 = ""; - md5name = "62e76de1fd3101e77118732b860354121b40a87bbb1ebfeb8203477fffac16e9-liborcus-0.13.3.tar.gz"; + md5name = "3f48cfbc21ad74787218284939c04d42cb836c73bc393f27f538b668e4d78a5f-liborcus-0.14.1.tar.gz"; } { name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz"; @@ -672,11 +686,11 @@ md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz"; } { - name = "pdfium-3235.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/pdfium-3235.tar.bz2"; - sha256 = "7dc0d33fc24b1612865f5e173d48800ba3f2db891c57e3f92b9d2ce56ffeb72f"; + name = "pdfium-3550.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/pdfium-3550.tar.bz2"; + sha256 = "572460f7f9e2f86d022a9c6a82f1e2ded6c3c29ba352d4b9fac60b87e2159679"; md5 = ""; - md5name = "7dc0d33fc24b1612865f5e173d48800ba3f2db891c57e3f92b9d2ce56ffeb72f-pdfium-3235.tar.bz2"; + md5name = "572460f7f9e2f86d022a9c6a82f1e2ded6c3c29ba352d4b9fac60b87e2159679-pdfium-3550.tar.bz2"; } { name = "pixman-0.34.0.tar.gz"; @@ -686,39 +700,39 @@ md5name = "e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz"; } { - name = "libpng-1.6.34.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libpng-1.6.34.tar.xz"; - sha256 = "2f1e960d92ce3b3abd03d06dfec9637dfbd22febf107a536b44f7a47c60659f6"; + name = "libpng-1.6.37.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libpng-1.6.37.tar.xz"; + sha256 = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca"; md5 = ""; - md5name = "2f1e960d92ce3b3abd03d06dfec9637dfbd22febf107a536b44f7a47c60659f6-libpng-1.6.34.tar.xz"; + md5name = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca-libpng-1.6.37.tar.xz"; } { - name = "poppler-0.66.0.tar.xz"; - url = "http://dev-www.libreoffice.org/src/poppler-0.66.0.tar.xz"; - sha256 = "2c096431adfb74bc2f53be466889b7646e1b599f28fa036094f3f7235cc9eae7"; + name = "poppler-0.74.0.tar.xz"; + url = "http://dev-www.libreoffice.org/src/poppler-0.74.0.tar.xz"; + sha256 = "92e09fd3302567fd36146b36bb707db43ce436e8841219025a82ea9fb0076b2f"; md5 = ""; - md5name = "2c096431adfb74bc2f53be466889b7646e1b599f28fa036094f3f7235cc9eae7-poppler-0.66.0.tar.xz"; + md5name = "92e09fd3302567fd36146b36bb707db43ce436e8841219025a82ea9fb0076b2f-poppler-0.74.0.tar.xz"; } { - name = "postgresql-9.2.1.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2"; - sha256 = "db61d498105a7d5fe46185e67ac830c878cdd7dc1f82a87f06b842217924c461"; - md5 = "c0b4799ea9850eae3ead14f0a60e9418"; - md5name = "c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2"; + name = "postgresql-9.2.24.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/postgresql-9.2.24.tar.bz2"; + sha256 = "a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126"; + md5 = ""; + md5name = "a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126-postgresql-9.2.24.tar.bz2"; } { - name = "Python-3.5.5.tar.xz"; - url = "http://dev-www.libreoffice.org/src/Python-3.5.5.tar.xz"; - sha256 = "063d2c3b0402d6191b90731e0f735c64830e7522348aeb7ed382a83165d45009"; + name = "Python-3.5.7.tar.xz"; + url = "http://dev-www.libreoffice.org/src/Python-3.5.7.tar.xz"; + sha256 = "285892899bf4d5737fd08482aa6171c6b2564a45b9102dfacfb72826aebdc7dc"; md5 = ""; - md5name = "063d2c3b0402d6191b90731e0f735c64830e7522348aeb7ed382a83165d45009-Python-3.5.5.tar.xz"; + md5name = "285892899bf4d5737fd08482aa6171c6b2564a45b9102dfacfb72826aebdc7dc-Python-3.5.7.tar.xz"; } { - name = "libqxp-0.0.1.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libqxp-0.0.1.tar.xz"; - sha256 = "8c257f6184ff94aefa7c9fa1cfae82083d55a49247266905c71c53e013f95c73"; + name = "libqxp-0.0.2.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libqxp-0.0.2.tar.xz"; + sha256 = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c"; md5 = ""; - md5name = "8c257f6184ff94aefa7c9fa1cfae82083d55a49247266905c71c53e013f95c73-libqxp-0.0.1.tar.xz"; + md5name = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c-libqxp-0.0.2.tar.xz"; } { name = "raptor2-2.0.15.tar.gz"; @@ -763,11 +777,11 @@ md5name = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700-serf-1.2.1.tar.bz2"; } { - name = "libstaroffice-0.0.5.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libstaroffice-0.0.5.tar.xz"; - sha256 = "315507add58068aa6d5c437e7c2a6fd1abe684515915152c6cf338fc588da982"; + name = "libstaroffice-0.0.6.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libstaroffice-0.0.6.tar.xz"; + sha256 = "6b00e1ed8194e6072be4441025d1b888e39365727ed5b23e0e8c92c4009d1ec4"; md5 = ""; - md5name = "315507add58068aa6d5c437e7c2a6fd1abe684515915152c6cf338fc588da982-libstaroffice-0.0.5.tar.xz"; + md5name = "6b00e1ed8194e6072be4441025d1b888e39365727ed5b23e0e8c92c4009d1ec4-libstaroffice-0.0.6.tar.xz"; } { name = "swingExSrc.zip"; @@ -776,6 +790,13 @@ md5 = "35c94d2df8893241173de1d16b6034c0"; md5name = "35c94d2df8893241173de1d16b6034c0-swingExSrc.zip"; } + { + name = "twaindsm_2.4.1.orig.tar.gz"; + url = "http://dev-www.libreoffice.org/src/twaindsm_2.4.1.orig.tar.gz"; + sha256 = "82c818be771f242388457aa8c807e4b52aa84dc22b21c6c56184a6b4cbb085e6"; + md5 = ""; + md5name = "82c818be771f242388457aa8c807e4b52aa84dc22b21c6c56184a6b4cbb085e6-twaindsm_2.4.1.orig.tar.gz"; + } { name = "ucpp-1.3.2.tar.gz"; url = "http://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz"; @@ -791,25 +812,25 @@ md5name = "fe1002d3671d53c09bc65e47ec948ec7b67e6fb112ed1cd10966e211a8bb50f9-libvisio-0.1.6.tar.xz"; } { - name = "libwpd-0.10.2.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libwpd-0.10.2.tar.xz"; - sha256 = "323f68beaf4f35e5a4d7daffb4703d0566698280109210fa4eaa90dea27d6610"; + name = "libwpd-0.10.3.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libwpd-0.10.3.tar.xz"; + sha256 = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09"; md5 = ""; - md5name = "323f68beaf4f35e5a4d7daffb4703d0566698280109210fa4eaa90dea27d6610-libwpd-0.10.2.tar.xz"; + md5name = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09-libwpd-0.10.3.tar.xz"; } { - name = "libwpg-0.3.2.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libwpg-0.3.2.tar.xz"; - sha256 = "57faf1ab97d63d57383ac5d7875e992a3d190436732f4083310c0471e72f8c33"; + name = "libwpg-0.3.3.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libwpg-0.3.3.tar.xz"; + sha256 = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c"; md5 = ""; - md5name = "57faf1ab97d63d57383ac5d7875e992a3d190436732f4083310c0471e72f8c33-libwpg-0.3.2.tar.xz"; + md5name = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c-libwpg-0.3.3.tar.xz"; } { - name = "libwps-0.4.8.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libwps-0.4.8.tar.xz"; - sha256 = "e478e825ef33f6a434a19ff902c5469c9da7acc866ea0d8ab610a8b2aa94177e"; + name = "libwps-0.4.10.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libwps-0.4.10.tar.xz"; + sha256 = "1421e034286a9f96d3168a1c54ea570ee7aa008ca07b89de005ad5ce49fb29ca"; md5 = ""; - md5name = "e478e825ef33f6a434a19ff902c5469c9da7acc866ea0d8ab610a8b2aa94177e-libwps-0.4.8.tar.xz"; + md5name = "1421e034286a9f96d3168a1c54ea570ee7aa008ca07b89de005ad5ce49fb29ca-libwps-0.4.10.tar.xz"; } { name = "xsltml_2.1.2.zip"; diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix index ce3b3533bec..4df8ce1059b 100644 --- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix +++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix @@ -28,11 +28,11 @@ md5name = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19-apr-util-1.5.4.tar.gz"; } { - name = "boost_1_66_0.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/boost_1_66_0.tar.bz2"; - sha256 = "5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9"; + name = "boost_1_69_0.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/boost_1_69_0.tar.bz2"; + sha256 = "8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406"; md5 = ""; - md5name = "5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9-boost_1_66_0.tar.bz2"; + md5name = "8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406-boost_1_69_0.tar.bz2"; } { name = "breakpad.zip"; @@ -56,18 +56,18 @@ md5name = "00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz"; } { - name = "cairo-1.14.10.tar.xz"; - url = "http://dev-www.libreoffice.org/src/cairo-1.14.10.tar.xz"; - sha256 = "7e87878658f2c9951a14fc64114d4958c0e65ac47530b8ac3078b2ce41b66a09"; + name = "cairo-1.16.0.tar.xz"; + url = "http://dev-www.libreoffice.org/src/cairo-1.16.0.tar.xz"; + sha256 = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331"; md5 = ""; - md5name = "7e87878658f2c9951a14fc64114d4958c0e65ac47530b8ac3078b2ce41b66a09-cairo-1.14.10.tar.xz"; + md5name = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331-cairo-1.16.0.tar.xz"; } { - name = "libcdr-0.1.4.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libcdr-0.1.4.tar.xz"; - sha256 = "e7a7e8b00a3df5798110024d7061fe9d1c3330277d2e4fa9213294f966a4a66d"; + name = "libcdr-0.1.5.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libcdr-0.1.5.tar.xz"; + sha256 = "6ace5c499a8be34ad871e825442ce388614ae2d8675c4381756a7319429e3a48"; md5 = ""; - md5name = "e7a7e8b00a3df5798110024d7061fe9d1c3330277d2e4fa9213294f966a4a66d-libcdr-0.1.4.tar.xz"; + md5name = "6ace5c499a8be34ad871e825442ce388614ae2d8675c4381756a7319429e3a48-libcdr-0.1.5.tar.xz"; } { name = "clucene-core-2.3.3.4.tar.gz"; @@ -77,11 +77,11 @@ md5name = "48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz"; } { - name = "libcmis-0.5.1.tar.gz"; - url = "http://dev-www.libreoffice.org/src/libcmis-0.5.1.tar.gz"; - sha256 = "6acbdf22ecdbaba37728729b75bfc085ee5a4b49a6024757cfb86ccd3da27b0e"; + name = "libcmis-0.5.2.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libcmis-0.5.2.tar.xz"; + sha256 = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2"; md5 = ""; - md5name = "6acbdf22ecdbaba37728729b75bfc085ee5a4b49a6024757cfb86ccd3da27b0e-libcmis-0.5.1.tar.gz"; + md5name = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2-libcmis-0.5.2.tar.xz"; } { name = "CoinMP-1.7.6.tgz"; @@ -105,11 +105,11 @@ md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt"; } { - name = "curl-7.61.1.tar.gz"; - url = "http://dev-www.libreoffice.org/src/curl-7.61.1.tar.gz"; - sha256 = "eaa812e9a871ea10dbe8e1d3f8f12a64a8e3e62aeab18cb23742e2f1727458ae"; + name = "curl-7.65.0.tar.xz"; + url = "http://dev-www.libreoffice.org/src/curl-7.65.0.tar.xz"; + sha256 = "7766d263929404f693905b5e5222aa0f2bdf8c66ab4b8758f0c0820a42b966cd"; md5 = ""; - md5name = "eaa812e9a871ea10dbe8e1d3f8f12a64a8e3e62aeab18cb23742e2f1727458ae-curl-7.61.1.tar.gz"; + md5name = "7766d263929404f693905b5e5222aa0f2bdf8c66ab4b8758f0c0820a42b966cd-curl-7.65.0.tar.xz"; } { name = "libe-book-0.1.3.tar.xz"; @@ -119,11 +119,11 @@ md5name = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9-libe-book-0.1.3.tar.xz"; } { - name = "libepoxy-1.3.1.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/libepoxy-1.3.1.tar.bz2"; - sha256 = "1d8668b0a259c709899e1c4bab62d756d9002d546ce4f59c9665e2fc5f001a64"; + name = "libepoxy-1.5.3.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libepoxy-1.5.3.tar.xz"; + sha256 = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d"; md5 = ""; - md5name = "1d8668b0a259c709899e1c4bab62d756d9002d546ce4f59c9665e2fc5f001a64-libepoxy-1.3.1.tar.bz2"; + md5name = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d-libepoxy-1.5.3.tar.xz"; } { name = "epm-3.7.tar.gz"; @@ -140,11 +140,11 @@ md5name = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad-libepubgen-0.1.1.tar.xz"; } { - name = "libetonyek-0.1.8.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libetonyek-0.1.8.tar.xz"; - sha256 = "9dc92347aee0cc9ed57b175a3e21f9d96ebe55d30fecb10e841d1050794ed82d"; + name = "libetonyek-0.1.9.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libetonyek-0.1.9.tar.xz"; + sha256 = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a"; md5 = ""; - md5name = "9dc92347aee0cc9ed57b175a3e21f9d96ebe55d30fecb10e841d1050794ed82d-libetonyek-0.1.8.tar.xz"; + md5name = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a-libetonyek-0.1.9.tar.xz"; } { name = "expat-2.2.5.tar.bz2"; @@ -196,18 +196,18 @@ md5name = "1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip"; } { - name = "liberation-fonts-ttf-1.07.4.tar.gz"; - url = "http://dev-www.libreoffice.org/src/134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz"; - sha256 = "61a7e2b6742a43c73e8762cdfeaf6dfcf9abdd2cfa0b099a9854d69bc4cfee5c"; - md5 = "134d8262145fc793c6af494dcace3e71"; - md5name = "134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz"; + name = "liberation-narrow-fonts-ttf-1.07.6.tar.gz"; + url = "http://dev-www.libreoffice.org/src/liberation-narrow-fonts-ttf-1.07.6.tar.gz"; + sha256 = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3"; + md5 = ""; + md5name = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3-liberation-narrow-fonts-ttf-1.07.6.tar.gz"; } { - name = "liberation-fonts-ttf-2.00.1.tar.gz"; - url = "http://dev-www.libreoffice.org/src/5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz"; - sha256 = "7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504"; - md5 = "5c781723a0d9ed6188960defba8e91cf"; - md5name = "5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz"; + name = "liberation-fonts-ttf-2.00.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/liberation-fonts-ttf-2.00.4.tar.gz"; + sha256 = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45"; + md5 = ""; + md5name = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45-liberation-fonts-ttf-2.00.4.tar.gz"; } { name = "LinLibertineG-20120116.zip"; @@ -230,6 +230,13 @@ md5 = "edc4d741888bc0d38e32dbaa17149596"; md5name = "edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz"; } + { + name = "source-serif-pro-3.000R.tar.gz"; + url = "http://dev-www.libreoffice.org/src/source-serif-pro-3.000R.tar.gz"; + sha256 = "826a2b784d5cdb4c2bbc7830eb62871528360a61a52689c102a101623f1928e3"; + md5 = ""; + md5name = "826a2b784d5cdb4c2bbc7830eb62871528360a61a52689c102a101623f1928e3-source-serif-pro-3.000R.tar.gz"; + } { name = "EmojiOneColor-SVGinOT-1.3.tar.gz"; url = "http://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz"; @@ -301,11 +308,11 @@ md5name = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac-libfreehand-0.1.2.tar.xz"; } { - name = "freetype-2.8.1.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/freetype-2.8.1.tar.bz2"; - sha256 = "e5435f02e02d2b87bb8e4efdcaa14b1f78c9cf3ab1ed80f94b6382fb6acc7d78"; + name = "freetype-2.9.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/freetype-2.9.1.tar.bz2"; + sha256 = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d"; md5 = ""; - md5name = "e5435f02e02d2b87bb8e4efdcaa14b1f78c9cf3ab1ed80f94b6382fb6acc7d78-freetype-2.8.1.tar.bz2"; + md5name = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d-freetype-2.9.1.tar.bz2"; } { name = "glm-0.9.4.6-libreoffice.zip"; @@ -322,18 +329,18 @@ md5name = "1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb-gpgme-1.9.0.tar.bz2"; } { - name = "graphite2-minimal-1.3.10.tgz"; - url = "http://dev-www.libreoffice.org/src/graphite2-minimal-1.3.10.tgz"; - sha256 = "aa5e58356cd084000609ebbd93fef456a1bc0ab9e46fea20e81552fb286232a9"; + name = "graphite2-minimal-1.3.13.tgz"; + url = "http://dev-www.libreoffice.org/src/graphite2-minimal-1.3.13.tgz"; + sha256 = "d47d387161db7f7ebade1920aa7cbdc797e79772597d8b55e80b58d1071bcc36"; md5 = ""; - md5name = "aa5e58356cd084000609ebbd93fef456a1bc0ab9e46fea20e81552fb286232a9-graphite2-minimal-1.3.10.tgz"; + md5name = "d47d387161db7f7ebade1920aa7cbdc797e79772597d8b55e80b58d1071bcc36-graphite2-minimal-1.3.13.tgz"; } { - name = "harfbuzz-1.8.4.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/harfbuzz-1.8.4.tar.bz2"; - sha256 = "3c592f86fa0da69e2e0e98cae9f5d5b61def3bb7948aa00ca45748f27fa545fd"; + name = "harfbuzz-2.3.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/harfbuzz-2.3.1.tar.bz2"; + sha256 = "f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468"; md5 = ""; - md5name = "3c592f86fa0da69e2e0e98cae9f5d5b61def3bb7948aa00ca45748f27fa545fd-harfbuzz-1.8.4.tar.bz2"; + md5name = "f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468-harfbuzz-2.3.1.tar.bz2"; } { name = "hsqldb_1_8_0.zip"; @@ -343,11 +350,11 @@ md5name = "17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip"; } { - name = "hunspell-1.6.2.tar.gz"; - url = "http://dev-www.libreoffice.org/src/hunspell-1.6.2.tar.gz"; - sha256 = "3cd9ceb062fe5814f668e4f22b2fa6e3ba0b339b921739541ce180cac4d6f4c4"; + name = "hunspell-1.7.0.tar.gz"; + url = "http://dev-www.libreoffice.org/src/hunspell-1.7.0.tar.gz"; + sha256 = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951"; md5 = ""; - md5name = "3cd9ceb062fe5814f668e4f22b2fa6e3ba0b339b921739541ce180cac4d6f4c4-hunspell-1.6.2.tar.gz"; + md5name = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951-hunspell-1.7.0.tar.gz"; } { name = "hyphen-2.8.8.tar.gz"; @@ -357,18 +364,18 @@ md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz"; } { - name = "icu4c-61_1-src.tgz"; - url = "http://dev-www.libreoffice.org/src/icu4c-61_1-src.tgz"; - sha256 = "d007f89ae8a2543a53525c74359b65b36412fa84b3349f1400be6dcf409fafef"; + name = "icu4c-63_1-src.tgz"; + url = "http://dev-www.libreoffice.org/src/icu4c-63_1-src.tgz"; + sha256 = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d"; md5 = ""; - md5name = "d007f89ae8a2543a53525c74359b65b36412fa84b3349f1400be6dcf409fafef-icu4c-61_1-src.tgz"; + md5name = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d-icu4c-63_1-src.tgz"; } { - name = "icu4c-61_1-data.zip"; - url = "http://dev-www.libreoffice.org/src/icu4c-61_1-data.zip"; - sha256 = "d149ed0985b5a6e16a9d8ed66f105dd58fd334c276779f74241cfa656ed2830a"; + name = "icu4c-63_1-data.zip"; + url = "http://dev-www.libreoffice.org/src/icu4c-63_1-data.zip"; + sha256 = "9bef2bf28ec4fdc86a3bd88d7ac4d509fef6dfbe9c6798299e55b9d4343e960c"; md5 = ""; - md5name = "d149ed0985b5a6e16a9d8ed66f105dd58fd334c276779f74241cfa656ed2830a-icu4c-61_1-data.zip"; + md5name = "9bef2bf28ec4fdc86a3bd88d7ac4d509fef6dfbe9c6798299e55b9d4343e960c-icu4c-63_1-data.zip"; } { name = "flow-engine-0.9.4.zip"; @@ -448,18 +455,18 @@ md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip"; } { - name = "libjpeg-turbo-1.5.2.tar.gz"; - url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.2.tar.gz"; - sha256 = "9098943b270388727ae61de82adec73cf9f0dbb240b3bc8b172595ebf405b528"; + name = "libjpeg-turbo-1.5.3.tar.gz"; + url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.3.tar.gz"; + sha256 = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523"; md5 = ""; - md5name = "9098943b270388727ae61de82adec73cf9f0dbb240b3bc8b172595ebf405b528-libjpeg-turbo-1.5.2.tar.gz"; + md5name = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523-libjpeg-turbo-1.5.3.tar.gz"; } { - name = "language-subtag-registry-2018-04-23.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2018-04-23.tar.bz2"; - sha256 = "14c21f4533ca74e3af9e09184d6756a750d0cd46099015ba8c595e48499aa878"; + name = "language-subtag-registry-2019-04-03.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2019-04-03.tar.bz2"; + sha256 = "a1d7fb901764bb8f251d4f686cdf565764f9987d0fb5d9315d54a7366a84822d"; md5 = ""; - md5name = "14c21f4533ca74e3af9e09184d6756a750d0cd46099015ba8c595e48499aa878-language-subtag-registry-2018-04-23.tar.bz2"; + md5name = "a1d7fb901764bb8f251d4f686cdf565764f9987d0fb5d9315d54a7366a84822d-language-subtag-registry-2019-04-03.tar.bz2"; } { name = "JLanguageTool-1.7.0.tar.bz2"; @@ -469,11 +476,11 @@ md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2"; } { - name = "lcms2-2.8.tar.gz"; - url = "http://dev-www.libreoffice.org/src/lcms2-2.8.tar.gz"; - sha256 = "66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22"; + name = "lcms2-2.9.tar.gz"; + url = "http://dev-www.libreoffice.org/src/lcms2-2.9.tar.gz"; + sha256 = "48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20"; md5 = ""; - md5name = "66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22-lcms2-2.8.tar.gz"; + md5name = "48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20-lcms2-2.9.tar.gz"; } { name = "libassuan-2.5.1.tar.bz2"; @@ -483,11 +490,11 @@ md5name = "47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449-libassuan-2.5.1.tar.bz2"; } { - name = "libatomic_ops-7_2d.zip"; - url = "http://dev-www.libreoffice.org/src/libatomic_ops-7_2d.zip"; - sha256 = "cf5c52f08a2067ae4fe7c8919e3c1ccf3ee917f1749e0bcc7efffff59c68d9ad"; + name = "libatomic_ops-7.6.8.tar.gz"; + url = "http://dev-www.libreoffice.org/src/libatomic_ops-7.6.8.tar.gz"; + sha256 = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665"; md5 = ""; - md5name = "cf5c52f08a2067ae4fe7c8919e3c1ccf3ee917f1749e0bcc7efffff59c68d9ad-libatomic_ops-7_2d.zip"; + md5name = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665-libatomic_ops-7.6.8.tar.gz"; } { name = "libeot-0.01.tar.bz2"; @@ -518,11 +525,11 @@ md5name = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e-liblangtag-0.6.2.tar.bz2"; } { - name = "libnumbertext-1.0.4.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libnumbertext-1.0.4.tar.xz"; - sha256 = "349258f4c3a8b090893e847b978b22e8dc1343d4ada3bfba811b97144f1dd67b"; + name = "libnumbertext-1.0.5.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libnumbertext-1.0.5.tar.xz"; + sha256 = "e1c9086b4cecb6b25f180316f30740dfabe6a4dbaf70dddc34276fc839e4f4f7"; md5 = ""; - md5name = "349258f4c3a8b090893e847b978b22e8dc1343d4ada3bfba811b97144f1dd67b-libnumbertext-1.0.4.tar.xz"; + md5name = "e1c9086b4cecb6b25f180316f30740dfabe6a4dbaf70dddc34276fc839e4f4f7-libnumbertext-1.0.5.tar.xz"; } { name = "ltm-1.0.zip"; @@ -532,25 +539,25 @@ md5name = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483-ltm-1.0.zip"; } { - name = "xmlsec1-1.2.25.tar.gz"; - url = "http://dev-www.libreoffice.org/src/xmlsec1-1.2.25.tar.gz"; - sha256 = "967ca83edf25ccb5b48a3c4a09ad3405a63365576503bf34290a42de1b92fcd2"; + name = "xmlsec1-1.2.28.tar.gz"; + url = "http://dev-www.libreoffice.org/src/xmlsec1-1.2.28.tar.gz"; + sha256 = "13eec4811ea30e3f0e16a734d1dbf7f9d246a71d540b48d143a07b489f6222d4"; md5 = ""; - md5name = "967ca83edf25ccb5b48a3c4a09ad3405a63365576503bf34290a42de1b92fcd2-xmlsec1-1.2.25.tar.gz"; + md5name = "13eec4811ea30e3f0e16a734d1dbf7f9d246a71d540b48d143a07b489f6222d4-xmlsec1-1.2.28.tar.gz"; } { - name = "libxml2-2.9.8.tar.gz"; - url = "http://dev-www.libreoffice.org/src/libxml2-2.9.8.tar.gz"; - sha256 = "0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732"; + name = "libxml2-2.9.9.tar.gz"; + url = "http://dev-www.libreoffice.org/src/libxml2-2.9.9.tar.gz"; + sha256 = "94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871"; md5 = ""; - md5name = "0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732-libxml2-2.9.8.tar.gz"; + md5name = "94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871-libxml2-2.9.9.tar.gz"; } { - name = "libxslt-1.1.32.tar.gz"; - url = "http://dev-www.libreoffice.org/src/libxslt-1.1.32.tar.gz"; - sha256 = "526ecd0abaf4a7789041622c3950c0e7f2c4c8835471515fd77eec684a355460"; + name = "libxslt-1.1.33.tar.gz"; + url = "http://dev-www.libreoffice.org/src/libxslt-1.1.33.tar.gz"; + sha256 = "8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8"; md5 = ""; - md5name = "526ecd0abaf4a7789041622c3950c0e7f2c4c8835471515fd77eec684a355460-libxslt-1.1.32.tar.gz"; + md5name = "8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8-libxslt-1.1.33.tar.gz"; } { name = "lp_solve_5.5.tar.gz"; @@ -574,18 +581,18 @@ md5name = "a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz"; } { - name = "mdds-1.3.1.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/mdds-1.3.1.tar.bz2"; - sha256 = "dcb8cd2425567a5a5ec164afea475bce57784bca3e352ad4cbdd3d1a7e08e5a1"; + name = "mdds-1.4.3.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/mdds-1.4.3.tar.bz2"; + sha256 = "25ce3d5af9f6609e1de05bb22b2316e57b74a72a5b686fbb2da199da72349c81"; md5 = ""; - md5name = "dcb8cd2425567a5a5ec164afea475bce57784bca3e352ad4cbdd3d1a7e08e5a1-mdds-1.3.1.tar.bz2"; + md5name = "25ce3d5af9f6609e1de05bb22b2316e57b74a72a5b686fbb2da199da72349c81-mdds-1.4.3.tar.bz2"; } { - name = "mDNSResponder-576.30.4.tar.gz"; - url = "http://dev-www.libreoffice.org/src/mDNSResponder-576.30.4.tar.gz"; - sha256 = "4737cb51378377e11d0edb7bcdd1bec79cbdaa7b27ea09c13e3006e58f8d92c0"; + name = "mDNSResponder-878.200.35.tar.gz"; + url = "http://dev-www.libreoffice.org/src/mDNSResponder-878.200.35.tar.gz"; + sha256 = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0"; md5 = ""; - md5name = "4737cb51378377e11d0edb7bcdd1bec79cbdaa7b27ea09c13e3006e58f8d92c0-mDNSResponder-576.30.4.tar.gz"; + md5name = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0-mDNSResponder-878.200.35.tar.gz"; } { name = "libmspub-0.1.4.tar.xz"; @@ -595,18 +602,11 @@ md5name = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba-libmspub-0.1.4.tar.xz"; } { - name = "libmwaw-0.3.14.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.14.tar.xz"; - sha256 = "aca8bf1ce55ed83adbea82c70d4c8bebe8139f334b3481bf5a6e407f91f33ce9"; + name = "libmwaw-0.3.15.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.15.tar.xz"; + sha256 = "0440bb09f05e3419423d8dfa36ee847056ebfd837f9cbc091fdb5b057daab0b1"; md5 = ""; - md5name = "aca8bf1ce55ed83adbea82c70d4c8bebe8139f334b3481bf5a6e407f91f33ce9-libmwaw-0.3.14.tar.xz"; - } - { - name = "mysql-connector-c++-1.1.4.tar.gz"; - url = "http://dev-www.libreoffice.org/src/7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz"; - sha256 = "a25f14dad39e93a2f9cdf09166ee53981f7212dce829e4208e07a522963a8585"; - md5 = "7239a4430efd4d0189c4f24df67f08e5"; - md5name = "7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz"; + md5name = "0440bb09f05e3419423d8dfa36ee847056ebfd837f9cbc091fdb5b057daab0b1-libmwaw-0.3.15.tar.xz"; } { name = "mythes-1.2.4.tar.gz"; @@ -623,11 +623,11 @@ md5name = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca-neon-0.30.2.tar.gz"; } { - name = "nss-3.38-with-nspr-4.19.tar.gz"; - url = "http://dev-www.libreoffice.org/src/nss-3.38-with-nspr-4.19.tar.gz"; - sha256 = "f271ec73291fa3e4bd4b59109f8035cc3a192fc33886f40ed4f9ee4b31c746e9"; + name = "nss-3.45-with-nspr-4.21.tar.gz"; + url = "http://dev-www.libreoffice.org/src/nss-3.45-with-nspr-4.21.tar.gz"; + sha256 = "fae11751100510d26f16a245f0db9a5b3d638ab28ce0bccd50d4314f7e526ba1"; md5 = ""; - md5name = "f271ec73291fa3e4bd4b59109f8035cc3a192fc33886f40ed4f9ee4b31c746e9-nss-3.38-with-nspr-4.19.tar.gz"; + md5name = "fae11751100510d26f16a245f0db9a5b3d638ab28ce0bccd50d4314f7e526ba1-nss-3.45-with-nspr-4.21.tar.gz"; } { name = "libodfgen-0.1.6.tar.bz2"; @@ -637,11 +637,11 @@ md5name = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2-libodfgen-0.1.6.tar.bz2"; } { - name = "odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar"; - url = "http://dev-www.libreoffice.org/src/../extern/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar"; - sha256 = "702413413a5d8076c17fe79c0808dfba145a7260020f6c8627ea529a0cf83769"; + name = "odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar"; + url = "http://dev-www.libreoffice.org/src/../extern/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar"; + sha256 = "984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504"; md5 = ""; - md5name = "702413413a5d8076c17fe79c0808dfba145a7260020f6c8627ea529a0cf83769-odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar"; + md5name = "984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504-odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar"; } { name = "officeotron-0.7.4-master.jar"; @@ -658,18 +658,18 @@ md5name = "cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824-openldap-2.4.45.tgz"; } { - name = "openssl-1.0.2p.tar.gz"; - url = "http://dev-www.libreoffice.org/src/openssl-1.0.2p.tar.gz"; - sha256 = "50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00"; + name = "openssl-1.0.2r.tar.gz"; + url = "http://dev-www.libreoffice.org/src/openssl-1.0.2r.tar.gz"; + sha256 = "ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6"; md5 = ""; - md5name = "50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00-openssl-1.0.2p.tar.gz"; + md5name = "ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6-openssl-1.0.2r.tar.gz"; } { - name = "liborcus-0.13.4.tar.gz"; - url = "http://dev-www.libreoffice.org/src/liborcus-0.13.4.tar.gz"; - sha256 = "bc01b1b3e9091416f498840d3c19a1aa2704b448100e7f6b80eefe88aab06d5b"; + name = "liborcus-0.14.1.tar.gz"; + url = "http://dev-www.libreoffice.org/src/liborcus-0.14.1.tar.gz"; + sha256 = "3f48cfbc21ad74787218284939c04d42cb836c73bc393f27f538b668e4d78a5f"; md5 = ""; - md5name = "bc01b1b3e9091416f498840d3c19a1aa2704b448100e7f6b80eefe88aab06d5b-liborcus-0.13.4.tar.gz"; + md5name = "3f48cfbc21ad74787218284939c04d42cb836c73bc393f27f538b668e4d78a5f-liborcus-0.14.1.tar.gz"; } { name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz"; @@ -686,11 +686,11 @@ md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz"; } { - name = "pdfium-3426.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/pdfium-3426.tar.bz2"; - sha256 = "80331b48166501a192d65476932f17044eeb5f10faa6ea50f4f175169475c957"; + name = "pdfium-3794.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/pdfium-3794.tar.bz2"; + sha256 = "e3faddcf741336c64ca2e6f72b23e9e60979969b2cf67c878c9a5bc38328cfc4"; md5 = ""; - md5name = "80331b48166501a192d65476932f17044eeb5f10faa6ea50f4f175169475c957-pdfium-3426.tar.bz2"; + md5name = "e3faddcf741336c64ca2e6f72b23e9e60979969b2cf67c878c9a5bc38328cfc4-pdfium-3794.tar.bz2"; } { name = "pixman-0.34.0.tar.gz"; @@ -700,39 +700,39 @@ md5name = "e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz"; } { - name = "libpng-1.6.34.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libpng-1.6.34.tar.xz"; - sha256 = "2f1e960d92ce3b3abd03d06dfec9637dfbd22febf107a536b44f7a47c60659f6"; + name = "libpng-1.6.37.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libpng-1.6.37.tar.xz"; + sha256 = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca"; md5 = ""; - md5name = "2f1e960d92ce3b3abd03d06dfec9637dfbd22febf107a536b44f7a47c60659f6-libpng-1.6.34.tar.xz"; + md5name = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca-libpng-1.6.37.tar.xz"; } { - name = "poppler-0.66.0.tar.xz"; - url = "http://dev-www.libreoffice.org/src/poppler-0.66.0.tar.xz"; - sha256 = "2c096431adfb74bc2f53be466889b7646e1b599f28fa036094f3f7235cc9eae7"; + name = "poppler-0.74.0.tar.xz"; + url = "http://dev-www.libreoffice.org/src/poppler-0.74.0.tar.xz"; + sha256 = "92e09fd3302567fd36146b36bb707db43ce436e8841219025a82ea9fb0076b2f"; md5 = ""; - md5name = "2c096431adfb74bc2f53be466889b7646e1b599f28fa036094f3f7235cc9eae7-poppler-0.66.0.tar.xz"; + md5name = "92e09fd3302567fd36146b36bb707db43ce436e8841219025a82ea9fb0076b2f-poppler-0.74.0.tar.xz"; } { - name = "postgresql-9.2.1.tar.bz2"; - url = "http://dev-www.libreoffice.org/src/c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2"; - sha256 = "db61d498105a7d5fe46185e67ac830c878cdd7dc1f82a87f06b842217924c461"; - md5 = "c0b4799ea9850eae3ead14f0a60e9418"; - md5name = "c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2"; + name = "postgresql-9.2.24.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/postgresql-9.2.24.tar.bz2"; + sha256 = "a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126"; + md5 = ""; + md5name = "a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126-postgresql-9.2.24.tar.bz2"; } { - name = "Python-3.5.5.tar.xz"; - url = "http://dev-www.libreoffice.org/src/Python-3.5.5.tar.xz"; - sha256 = "063d2c3b0402d6191b90731e0f735c64830e7522348aeb7ed382a83165d45009"; + name = "Python-3.5.7.tar.xz"; + url = "http://dev-www.libreoffice.org/src/Python-3.5.7.tar.xz"; + sha256 = "285892899bf4d5737fd08482aa6171c6b2564a45b9102dfacfb72826aebdc7dc"; md5 = ""; - md5name = "063d2c3b0402d6191b90731e0f735c64830e7522348aeb7ed382a83165d45009-Python-3.5.5.tar.xz"; + md5name = "285892899bf4d5737fd08482aa6171c6b2564a45b9102dfacfb72826aebdc7dc-Python-3.5.7.tar.xz"; } { - name = "libqxp-0.0.1.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libqxp-0.0.1.tar.xz"; - sha256 = "8c257f6184ff94aefa7c9fa1cfae82083d55a49247266905c71c53e013f95c73"; + name = "libqxp-0.0.2.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libqxp-0.0.2.tar.xz"; + sha256 = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c"; md5 = ""; - md5name = "8c257f6184ff94aefa7c9fa1cfae82083d55a49247266905c71c53e013f95c73-libqxp-0.0.1.tar.xz"; + md5name = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c-libqxp-0.0.2.tar.xz"; } { name = "raptor2-2.0.15.tar.gz"; @@ -812,25 +812,25 @@ md5name = "fe1002d3671d53c09bc65e47ec948ec7b67e6fb112ed1cd10966e211a8bb50f9-libvisio-0.1.6.tar.xz"; } { - name = "libwpd-0.10.2.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libwpd-0.10.2.tar.xz"; - sha256 = "323f68beaf4f35e5a4d7daffb4703d0566698280109210fa4eaa90dea27d6610"; + name = "libwpd-0.10.3.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libwpd-0.10.3.tar.xz"; + sha256 = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09"; md5 = ""; - md5name = "323f68beaf4f35e5a4d7daffb4703d0566698280109210fa4eaa90dea27d6610-libwpd-0.10.2.tar.xz"; + md5name = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09-libwpd-0.10.3.tar.xz"; } { - name = "libwpg-0.3.2.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libwpg-0.3.2.tar.xz"; - sha256 = "57faf1ab97d63d57383ac5d7875e992a3d190436732f4083310c0471e72f8c33"; + name = "libwpg-0.3.3.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libwpg-0.3.3.tar.xz"; + sha256 = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c"; md5 = ""; - md5name = "57faf1ab97d63d57383ac5d7875e992a3d190436732f4083310c0471e72f8c33-libwpg-0.3.2.tar.xz"; + md5name = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c-libwpg-0.3.3.tar.xz"; } { - name = "libwps-0.4.9.tar.xz"; - url = "http://dev-www.libreoffice.org/src/libwps-0.4.9.tar.xz"; - sha256 = "13beb0c733bb1544a542b6ab1d9d205f218e9a2202d1d4cac056f79f6db74922"; + name = "libwps-0.4.10.tar.xz"; + url = "http://dev-www.libreoffice.org/src/libwps-0.4.10.tar.xz"; + sha256 = "1421e034286a9f96d3168a1c54ea570ee7aa008ca07b89de005ad5ce49fb29ca"; md5 = ""; - md5name = "13beb0c733bb1544a542b6ab1d9d205f218e9a2202d1d4cac056f79f6db74922-libwps-0.4.9.tar.xz"; + md5name = "1421e034286a9f96d3168a1c54ea570ee7aa008ca07b89de005ad5ce49fb29ca-libwps-0.4.10.tar.xz"; } { name = "xsltml_2.1.2.zip"; diff --git a/pkgs/applications/office/libreoffice/poppler.patch b/pkgs/applications/office/libreoffice/poppler.patch deleted file mode 100644 index 29defb67942..00000000000 --- a/pkgs/applications/office/libreoffice/poppler.patch +++ /dev/null @@ -1,289 +0,0 @@ -diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx -index 06e4faead..d4174e208 100644 ---- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx -+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx -@@ -298,7 +298,7 @@ void writePpm_( OutputBuffer& o_rOutputBuf, - o_rOutputBuf.resize(header_size); - - // initialize stream -- Guchar *p; -+ unsigned char *p; - GfxRGB rgb; - std::unique_ptr imgStr( - new ImageStream(str, -@@ -401,7 +401,7 @@ void writeImage_( OutputBuffer& o_rOutputBuf, - oneColor = { byteToCol( 0xff ), byteToCol( 0xff ), byteToCol( 0xff ) }; - if( colorMap->getColorSpace()->getMode() == csIndexed || colorMap->getColorSpace()->getMode() == csDeviceGray ) - { -- Guchar nIndex = 0; -+ unsigned char nIndex = 0; - colorMap->getRGB( &nIndex, &zeroColor ); - nIndex = 1; - colorMap->getRGB( &nIndex, &oneColor ); -@@ -514,7 +514,7 @@ void PDFOutDev::printPath( GfxPath* pPath ) - PDFOutDev::PDFOutDev( PDFDoc* pDoc ) : - m_pDoc( pDoc ), - m_aFontMap(), -- m_pUtf8Map( new UnicodeMap("UTF-8", gTrue, &mapUTF8) ), -+ m_pUtf8Map( new UnicodeMap("UTF-8", true, &mapUTF8) ), - m_bSkipImages(false) - { - } -@@ -555,7 +555,11 @@ void PDFOutDev::processLink(Link* link, Catalog*) - LinkAction* pAction = link->getAction(); - if (pAction && pAction->getKind() == actionURI) - { -+#if POPPLER_CHECK_VERSION(0, 72, 0) -+ const char* pURI = static_cast(pAction)->getURI()->c_str(); -+#else - const char* pURI = static_cast(pAction)->getURI()->getCString(); -+#endif - - std::vector aEsc( lcl_escapeLineFeeds(pURI) ); - -@@ -578,7 +582,11 @@ void PDFOutDev::restoreState(GfxState*) - printf( "restoreState\n" ); - } - -+#if POPPLER_CHECK_VERSION(0, 71, 0) -+void PDFOutDev::setDefaultCTM(const double *pMat) -+#else - void PDFOutDev::setDefaultCTM(double *pMat) -+#endif - { - assert(pMat); - -@@ -752,8 +760,11 @@ void PDFOutDev::updateFont(GfxState *state) - printf( " %lld", fontID ); - - aFont = it->second; -- -+#if POPPLER_CHECK_VERSION(0, 72, 0) -+ std::vector aEsc( lcl_escapeLineFeeds(aFont.familyName.c_str()) ); -+#else - std::vector aEsc( lcl_escapeLineFeeds(aFont.familyName.getCString()) ); -+#endif - printf( " %d %d %d %d %f %d %s", - aFont.isEmbedded, - aFont.isBold, -@@ -939,11 +950,11 @@ void PDFOutDev::endTextObject(GfxState*) - } - - void PDFOutDev::drawImageMask(GfxState* pState, Object*, Stream* str, -- int width, int height, GBool invert, -+ int width, int height, poppler_bool invert, - #if POPPLER_CHECK_VERSION(0, 12, 0) -- GBool /*interpolate*/, -+ poppler_bool /*interpolate*/, - #endif -- GBool /*inlineImg*/ ) -+ poppler_bool /*inlineImg*/ ) - { - if (m_bSkipImages) - return; -@@ -972,9 +983,9 @@ void PDFOutDev::drawImageMask(GfxState* pState, Object*, Stream* str, - void PDFOutDev::drawImage(GfxState*, Object*, Stream* str, - int width, int height, GfxImageColorMap* colorMap, - #if POPPLER_CHECK_VERSION(0, 12, 0) -- GBool /*interpolate*/, -+ poppler_bool /*interpolate*/, - #endif -- int* maskColors, GBool /*inlineImg*/ ) -+ int* maskColors, poppler_bool /*inlineImg*/ ) - { - if (m_bSkipImages) - return; -@@ -1023,13 +1034,13 @@ void PDFOutDev::drawMaskedImage(GfxState*, Object*, Stream* str, - int width, int height, - GfxImageColorMap* colorMap, - #if POPPLER_CHECK_VERSION(0, 12, 0) -- GBool /*interpolate*/, -+ poppler_bool /*interpolate*/, - #endif - Stream* maskStr, - int maskWidth, int maskHeight, -- GBool maskInvert -+ poppler_bool maskInvert - #if POPPLER_CHECK_VERSION(0, 12, 0) -- , GBool /*maskInterpolate*/ -+ , poppler_bool /*maskInterpolate*/ - #endif - ) - { -@@ -1045,13 +1056,13 @@ void PDFOutDev::drawSoftMaskedImage(GfxState*, Object*, Stream* str, - int width, int height, - GfxImageColorMap* colorMap, - #if POPPLER_CHECK_VERSION(0, 12, 0) -- GBool /*interpolate*/, -+ poppler_bool /*interpolate*/, - #endif - Stream* maskStr, - int maskWidth, int maskHeight, - GfxImageColorMap* maskColorMap - #if POPPLER_CHECK_VERSION(0, 12, 0) -- , GBool /*maskInterpolate*/ -+ , poppler_bool /*maskInterpolate*/ - #endif - ) - { -diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx -index 7e65f085d..4b5c14d15 100644 ---- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx -+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx -@@ -129,6 +129,12 @@ namespace pdfi - GooString & getFamilyName() const - { return const_cast(familyName); } - }; -+ // Versions before 0.15 defined GBool as int; 0.15 redefined it as bool; 0.71 dropped GBool -+#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 71 -+typedef GBool poppler_bool; -+#else -+typedef bool poppler_bool; -+#endif - - class PDFOutDev : public OutputDev - { -@@ -151,22 +157,26 @@ namespace pdfi - - // Does this device use upside-down coordinates? - // (Upside-down means (0,0) is the top left corner of the page.) -- virtual GBool upsideDown() override { return gTrue; } -+ virtual poppler_bool upsideDown() override { return true; } - - // Does this device use drawChar() or drawString()? -- virtual GBool useDrawChar() override { return gTrue; } -+ virtual poppler_bool useDrawChar() override { return true; } - - // Does this device use beginType3Char/endType3Char? Otherwise, - // text in Type 3 fonts will be drawn with drawChar/drawString. -- virtual GBool interpretType3Chars() override { return gFalse; } -+ virtual poppler_bool interpretType3Chars() override { return false; } - - // Does this device need non-text content? -- virtual GBool needNonText() override { return gTrue; } -+ virtual poppler_bool needNonText() override { return true; } - - //----- initialization and control - - // Set default transform matrix. -+#if POPPLER_CHECK_VERSION(0, 71, 0) -+ virtual void setDefaultCTM(const double *ctm) override; -+#else - virtual void setDefaultCTM(double *ctm) override; -+#endif - - // Start a page. - virtual void startPage(int pageNum, GfxState *state -@@ -233,40 +243,40 @@ namespace pdfi - - //----- image drawing - virtual void drawImageMask(GfxState *state, Object *ref, Stream *str, -- int width, int height, GBool invert, -+ int width, int height, poppler_bool invert, - #if POPPLER_CHECK_VERSION(0, 12, 0) -- GBool interpolate, -+ poppler_bool interpolate, - #endif -- GBool inlineImg) override; -+ poppler_bool inlineImg) override; - virtual void drawImage(GfxState *state, Object *ref, Stream *str, - int width, int height, GfxImageColorMap *colorMap, - #if POPPLER_CHECK_VERSION(0, 12, 0) -- GBool interpolate, -+ poppler_bool interpolate, - #endif -- int *maskColors, GBool inlineImg) override; -+ int *maskColors, poppler_bool inlineImg) override; - virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str, - int width, int height, - GfxImageColorMap *colorMap, - #if POPPLER_CHECK_VERSION(0, 12, 0) -- GBool interpolate, -+ poppler_bool interpolate, - #endif - Stream *maskStr, int maskWidth, int maskHeight, -- GBool maskInvert -+ poppler_bool maskInvert - #if POPPLER_CHECK_VERSION(0, 12, 0) -- , GBool maskInterpolate -+ , poppler_bool maskInterpolate - #endif - ) override; - virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str, - int width, int height, - GfxImageColorMap *colorMap, - #if POPPLER_CHECK_VERSION(0, 12, 0) -- GBool interpolate, -+ poppler_bool interpolate, - #endif - Stream *maskStr, - int maskWidth, int maskHeight, - GfxImageColorMap *maskColorMap - #if POPPLER_CHECK_VERSION(0, 12, 0) -- , GBool maskInterpolate -+ , poppler_bool maskInterpolate - #endif - ) override; - -@@ -279,7 +289,7 @@ extern FILE* g_binary_out; - - // note: if you ever change Output_t, please keep in mind that the current code - // relies on it being of 8 bit size --typedef Guchar Output_t; -+typedef unsigned char Output_t; - typedef std::vector< Output_t > OutputBuffer; - - #endif // INCLUDED_SDEXT_SOURCE_PDFIMPORT_XPDFWRAPPER_PDFIOUTDEV_GPL_HXX -diff --git a/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx b/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx -index 44f30c0ba..66c175165 100644 ---- a/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx -+++ b/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx -@@ -242,7 +242,7 @@ void PngHelper::createPng( OutputBuffer& o_rOutputBuf, - appendIHDR( o_rOutputBuf, width, height, 8, 6 ); // RGBA image - - // initialize stream -- Guchar *p, *pm; -+ unsigned char *p, *pm; - GfxRGB rgb; - GfxGray alpha; - ImageStream* imgStr = -@@ -328,7 +328,7 @@ void PngHelper::createPng( OutputBuffer& o_rOutputBuf, - appendIHDR( o_rOutputBuf, width, height, 8, 6 ); // RGBA image - - // initialize stream -- Guchar *p; -+ unsigned char *p; - GfxRGB rgb; - ImageStream* imgStr = - new ImageStream(str, -@@ -374,7 +374,7 @@ void PngHelper::createPng( OutputBuffer& o_rOutputBuf, - { - for( int x = 0; x < maskWidth; ++x ) - { -- Guchar aPixel = 0; -+ unsigned char aPixel = 0; - imgStrMask->getPixel( &aPixel ); - int nIndex = (y*height/maskHeight) * (width*4+1) + // mapped line - (x*width/maskWidth)*4 + 1 + 3 // mapped column -diff --git a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx -index 16db05afe..cd559cab0 100644 ---- a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx -+++ b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx -@@ -69,7 +69,7 @@ int main(int argc, char **argv) - - // read config file - globalParams = new GlobalParams(); -- globalParams->setErrQuiet(gTrue); -+ globalParams->setErrQuiet(true); - #if defined(_MSC_VER) - globalParams->setupBaseFonts(nullptr); - #endif -@@ -143,7 +143,7 @@ int main(int argc, char **argv) - i, - PDFI_OUTDEV_RESOLUTION, - PDFI_OUTDEV_RESOLUTION, -- 0, gTrue, gTrue, gTrue); -+ 0, true, true, true); - rDoc.processLinks(&aOutDev, i); - } - diff --git a/pkgs/applications/office/libreoffice/still-primary-src.nix b/pkgs/applications/office/libreoffice/still-primary-src.nix index 29f8006d63e..07f30a5525d 100644 --- a/pkgs/applications/office/libreoffice/still-primary-src.nix +++ b/pkgs/applications/office/libreoffice/still-primary-src.nix @@ -2,9 +2,9 @@ rec { major = "6"; - minor = "0"; - patch = "7"; - tweak = "3"; + minor = "2"; + patch = "6"; + tweak = "2"; subdir = "${major}.${minor}.${patch}"; @@ -12,6 +12,6 @@ rec { src = fetchurl { url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; - sha256 = "0wjcnra06d9z51kjb5njlpy4d8zd8wqfvkif2kc6mzhrsz5kqqxr"; + sha256 = "1nzvdb6yq8bpybz7lrppr237cws6dajk3r9hc9qd0zi55kcddjpq"; }; } diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix index ff8823e3d9c..9f04cd83c10 100644 --- a/pkgs/applications/office/libreoffice/still.nix +++ b/pkgs/applications/office/libreoffice/still.nix @@ -2,9 +2,9 @@ , IOCompress, zlib, libjpeg, expat, freetype, libwpd , libxml2, db, sablotron, curl, fontconfig, libsndfile, neon , bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which -, icu, boost, jdk, ant, cups, xorg, libcmis +, icu, boost, jdk, ant, cups, xorg, libcmis, fontforge , openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux -, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw +, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw, mysql , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr , libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra , unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio @@ -12,8 +12,8 @@ , libatomic_ops, graphite2, harfbuzz, libodfgen, libzmf , librevenge, libe-book, libmwaw, glm, glew, gst_all_1 , gdb, commonsLogging, librdf_rasqal, wrapGAppsHook -, defaultIconTheme, glib, ncurses, epoxy, gpgme -, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "nl" "pl" "ru" "sl" "zh-CN" ] +, gnome3, glib, ncurses, epoxy, gpgme +, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "ru" "sl" "zh-CN" ] , withHelp ? true , kdeIntegration ? false }: @@ -48,19 +48,20 @@ let translations = fetchSrc { name = "translations"; - sha256 = "1rk8f77gwqyrnrxpfrvmr03n49bb09idxwzzindxxgcagh3d0p5f"; + sha256 = "1l5v9bb7n9s6i24q4mdyqyp5v4f8iy0a9dmpgw649vngj1zxdxfh"; }; # TODO: dictionaries help = fetchSrc { name = "help"; - sha256 = "076xq1vlsyi2fv3r7rw595075pi08slbzwwc5h9gda3frx1jkj4i"; + sha256 = "0h4jvdbvxvgy7w2bzf4k4knqbshlr4v2ic2jsaygy52530z9xifz"; }; }; in stdenv.mkDerivation rec { - name = "libreoffice-${version}"; + pname = "libreoffice"; + inherit version; inherit (primary-src) src; @@ -68,17 +69,23 @@ in stdenv.mkDerivation rec { # of rasqal/rasqal.h NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ]; - patches = [ ./xdg-open-brief.patch ]; + patches = [ + ./xdg-open-brief.patch + ]; + + tarballPath = "external/tarballs"; postUnpack = '' - mkdir -v $sourceRoot/src + mkdir -v $sourceRoot/${tarballPath} '' + (lib.flip lib.concatMapStrings srcs.third_party (f: '' - ln -sfv ${f} $sourceRoot/src/${f.md5name} - ln -sfv ${f} $sourceRoot/src/${f.name} + ln -sfv ${f} $sourceRoot/${tarballPath}/${f.md5name} + ln -sfv ${f} $sourceRoot/${tarballPath}/${f.name} '')) + '' - ln -sv ${srcs.help} $sourceRoot/src/${srcs.help.name} - ln -svf ${srcs.translations} $sourceRoot/src/${srcs.translations.name} + ln -sv ${srcs.help} $sourceRoot/${tarballPath}/${srcs.help.name} + ln -svf ${srcs.translations} $sourceRoot/${tarballPath}/${srcs.translations.name} + tar -xf ${srcs.help} + tar -xf ${srcs.translations} ''; postPatch = '' @@ -127,6 +134,9 @@ in stdenv.mkDerivation rec { # https://nabble.documentfoundation.org/libreoffice-5-0-failure-in-CUT-libreofficekit-tiledrendering-td4150319.html echo > ./sd/CppunitTest_sd_tiledrendering.mk sed -e /CppunitTest_sd_tiledrendering/d -i sd/Module_sd.mk + # Pivot chart tests. Fragile. + sed -e '/CPPUNIT_TEST(testRoundtrip)/d' -i chart2/qa/extras/PivotChartTest.cxx + sed -e '/CPPUNIT_TEST(testPivotTableMedianODS)/d' -i sc/qa/unit/pivottable_filters_test.cxx # one more fragile test? sed -e '/CPPUNIT_TEST(testTdf96536);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx # this I actually hate, this should be a data consistency test! @@ -135,6 +145,8 @@ in stdenv.mkDerivation rec { sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx # tilde expansion in path processing checks the existence of $HOME sed -e 's@OString sSysPath("~/tmp");@& return ; @' -i sal/qa/osl/file/osl_File.cxx + # fails on systems using ZFS, see https://github.com/NixOS/nixpkgs/issues/19071 + sed -e '/CPPUNIT_TEST(getSystemPathFromFileURL_005);/d' -i './sal/qa/osl/file/osl_File.cxx' # rendering-dependent: on my computer the test table actually doesn't fit… # interesting fact: test disabled on macOS by upstream sed -re '/DECLARE_WW8EXPORT_TEST[(]testTableKeep, "tdf91083.odt"[)]/,+5d' -i ./sw/qa/extras/ww8export/ww8export.cxx @@ -146,6 +158,7 @@ in stdenv.mkDerivation rec { sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx + sed -e '/CPPUNIT_TEST(testLegacyCellAnchoredRotatedShape)/d' -i sc/qa/unit/filters-test.cxx sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]tdf105490_negativeMargins,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport9.cxx @@ -153,6 +166,77 @@ in stdenv.mkDerivation rec { sed -z -r -e 's/DECLARE_RTFIMPORT_TEST[(]testTdf108947,[^)]*[)].[{]/& return;/' -i sw/qa/extras/rtfimport/rtfimport.cxx # not sure about this fragile test sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testTDF87348,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx + # bunch of new Fresh failures. Sigh. + sed -e '/CPPUNIT_TEST(testDocumentLayout);/d' -i './sd/qa/unit/import-tests.cxx' + sed -e '/CPPUNIT_TEST(testErrorBarDataRangeODS);/d' -i './chart2/qa/extras/chart2export.cxx' + sed -e '/CPPUNIT_TEST(testLabelStringODS);/d' -i './chart2/qa/extras/chart2export.cxx' + sed -e '/CPPUNIT_TEST(testAxisNumberFormatODS);/d' -i './chart2/qa/extras/chart2export.cxx' + sed -e '/CPPUNIT_TEST(testBackgroundImage);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testFdo84043);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf97630);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf80020);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf62176);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testEmbeddedPdf);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testEmbeddedText);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf98477);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testTdf50499);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf100926);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testPageWithTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTextRotation);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf113818);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf119629);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf113822);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(test);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testConditionalFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF16LErtlSHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256ODF12);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256W3C);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testProtectionKeyODS_XL_SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testColorScaleExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testDataBarExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testNamedRangeBugfdo62729);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testRichTextExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testFormulaRefSheetNameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testCellValuesExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testCellNoteExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testEmbeddedChartODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testCellAnchoredGroupXLS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testCeilingFloorODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testRelativePathsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testSheetProtectionODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testSwappedOutImageExport);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testLinkedGraphicRT);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testImageWithSpecialID);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testAbsNamedRangeHTML);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testMoveCellAnchoredShapesODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testRefStringUnspecified);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testHeaderImageODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testTdf88657ODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testExponentWithoutSignFormatXLSX);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testHiddenRepeatedRowsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testHyperlinkTargetFrameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' + sed -e '/CPPUNIT_TEST(testTdf105739);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testPageBitmapWithTransparency);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testTdf115005);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_On);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_Off);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testTdf44774);/d' -i './sd/qa/unit/misc-tests.cxx' + sed -e '/CPPUNIT_TEST(testTdf38225);/d' -i './sd/qa/unit/misc-tests.cxx' + sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx' + sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests.cxx' + sed -e '/CPPUNIT_TEST(testFdo85554);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx' + sed -e '/CPPUNIT_TEST(testEmbeddedDataSource);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx' + sed -e '/CPPUNIT_TEST(testTdf96479);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx' + sed -e '/CPPUNIT_TEST(testInconsistentBookmark);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx' + sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/extras/inc/swmodeltestbase.hxx' + sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlexport9.cxx" + sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlencryption.cxx" + sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/odfexport/odfexport.cxx" + sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/unowriter/unowriter.cxx" '' # This to avoid using /lib:/usr/lib at linking + '' @@ -225,6 +309,12 @@ in stdenv.mkDerivation rec { # Without these, configure does not finish "--without-junit" + "--disable-libnumbertext" # system-libnumbertext" + + # We do tarball prefetching ourselves + "--disable-fetch-external" + "--enable-build-opensymbol" + # I imagine this helps. Copied from go-oo. # Modified on every upgrade, though "--disable-odk" @@ -258,24 +348,25 @@ in stdenv.mkDerivation rec { make slowcheck ''; + nativeBuildInputs = [ wrapGAppsHook gdb fontforge autoconf automake bison pkgconfig libtool ]; + buildInputs = with xorg; - [ ant ArchiveZip autoconf automake bison boost cairo clucene_core + [ ant ArchiveZip boost cairo clucene_core IOCompress cppunit cups curl db dbus-glib expat file flex fontconfig freetype GConf getopt gnome_vfs gperf gtk3 gtk2 hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11 libXaw libXext libXi libXinerama libxml2 libxslt libXtst libXdmcp libpthreadstubs libGLU_combined mythes gst_all_1.gstreamer - gst_all_1.gst-plugins-base glib - neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler + gst_all_1.gst-plugins-base glib mysql.connector-c + neon nspr nss openldap openssl ORBit2 pam perl poppler python3 sablotron sane-backends unzip vigra which zip zlib - mdds bluez5 libcmis libwps libabw libzmf libtool + mdds bluez5 libcmis libwps libabw libzmf libxshmfence libatomic_ops graphite2 harfbuzz gpgme utillinux librevenge libe-book libmwaw glm glew ncurses epoxy - libodfgen CoinMP librdf_rasqal defaultIconTheme gettext + libodfgen CoinMP librdf_rasqal gnome3.adwaita-icon-theme gettext ] ++ lib.optional kdeIntegration kdelibs4; - nativeBuildInputs = [ wrapGAppsHook gdb ]; passthru = { inherit srcs jdk; @@ -284,7 +375,7 @@ in stdenv.mkDerivation rec { requiredSystemFeatures = [ "big-parallel" ]; meta = with lib; { - description = "Comprehensive, professional-quality productivity suite (Still/stable release)"; + description = "Comprehensive, professional-quality productivity suite (Still/Stable release)"; homepage = https://libreoffice.org/; license = licenses.lgpl3; maintainers = with maintainers; [ raskin ]; diff --git a/pkgs/applications/office/libreoffice/wrapper.sh b/pkgs/applications/office/libreoffice/wrapper.sh index cff8f200e2b..62569734745 100644 --- a/pkgs/applications/office/libreoffice/wrapper.sh +++ b/pkgs/applications/office/libreoffice/wrapper.sh @@ -5,7 +5,13 @@ export JAVA_HOME="${JAVA_HOME:-@jdk@}" if uname | grep Linux > /dev/null && ! ( test -n "$DBUS_SESSION_BUS_ADDRESS" ); then dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus" - mkdir "$dbus_tmp_dir" + if ! test -d "$dbus_tmp_dir" && test -d "/run"; then + mkdir -p "$dbus_tmp_dir" + fi + if ! test -d "$dbus_tmp_dir"; then + dbus_tmp_dir="/tmp/libreoffice-$(id -u)/libreoffice-dbus" + mkdir -p "$dbus_tmp_dir" + fi dbus_socket_dir="$(mktemp -d -p "$dbus_tmp_dir")" "@dbus@"/bin/dbus-daemon --nopidfile --nofork --config-file "@dbus@"/share/dbus-1/session.conf --address "unix:path=$dbus_socket_dir/session" &> /dev/null & export DBUS_SESSION_BUS_ADDRESS="unix:path=$dbus_socket_dir/session" diff --git a/pkgs/applications/office/libreoffice/xdg-open.patch b/pkgs/applications/office/libreoffice/xdg-open.patch deleted file mode 100644 index 3ff7e5d80f7..00000000000 --- a/pkgs/applications/office/libreoffice/xdg-open.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/shell/source/unix/exec/shellexec.cxx b/shell/source/unix/exec/shellexec.cxx ---- a/shell/source/unix/exec/shellexec.cxx -+++ b/shell/source/unix/exec/shellexec.cxx -@@ -150,7 +150,7 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar - if (std::getenv("LIBO_FLATPAK") != nullptr) { - aBuffer.append("/app/bin/xdg-open"); - } else { -- aBuffer.append("/usr/bin/xdg-open"); -+ aBuffer.append("xdg-open"); - } - #endif - aBuffer.append(" "); -diff --git a/shell/source/unix/misc/senddoc.sh b/shell/source/unix/misc/senddoc.sh -index 4519e01f26e2..8985711a2c01 100755 ---- a/shell/source/unix/misc/senddoc.sh -+++ b/shell/source/unix/misc/senddoc.sh -@@ -393,6 +393,8 @@ case `basename "$MAILER" | sed 's/-.*$//'` in - MAILER=/usr/bin/kde-open - elif [ -x /usr/bin/xdg-open ] ; then - MAILER=/usr/bin/xdg-open -+ elif type -p xdg-open >/dev/null 2>&1 ; then -+ MAILER="$(type -p xdg-open)" - else - echo "Unsupported mail client: `basename $MAILER | sed 's/-.*^//'`" - exit 2 diff --git a/pkgs/applications/office/marp/default.nix b/pkgs/applications/office/marp/default.nix index cdda46d4837..7c054ba5204 100644 --- a/pkgs/applications/office/marp/default.nix +++ b/pkgs/applications/office/marp/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, atomEnv, libXScrnSaver, gtk2 }: stdenv.mkDerivation rec { - name = "marp-${version}"; + pname = "marp"; version = "0.0.14"; src = fetchurl { diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix index 9c4c22dabe9..655a10d3a94 100644 --- a/pkgs/applications/office/mendeley/default.nix +++ b/pkgs/applications/office/mendeley/default.nix @@ -32,6 +32,7 @@ , autorunLinkHandler ? true # Update script , writeScript +, runtimeShell }: let @@ -41,14 +42,14 @@ let then "i386" else "amd64"; - shortVersion = "1.19.1-stable"; + shortVersion = "1.19.5-stable"; version = "${shortVersion}_${arch}"; url = "http://desktop-download.mendeley.com/download/apt/pool/main/m/mendeleydesktop/mendeleydesktop_${version}.deb"; sha256 = if stdenv.hostPlatform.system == arch32 - then "0fcyl5i8xdgb5j0x1643qc0j74d8p11jczvqmgqkqh0wgid1y1ad" - else "1dzwa2cnn9xakrhhq159fhh71gw5wlbf017rrikdlia694m8akq6"; + then "01x83a44qlxi937b128y8y0px0q4w37g72z652lc42kv50dhyy3f" + else "1cagqq0xziznaj97z30bqfhrwjv3a4h83ckhwigq35nhk1ggq1ry"; deps = [ qtbase @@ -90,7 +91,8 @@ let in stdenv.mkDerivation { - name = "mendeley-${version}"; + pname = "mendeley"; + inherit version; src = fetchurl { url = url; @@ -102,7 +104,7 @@ stdenv.mkDerivation { propagatedUserEnvPkgs = [ gconf ]; - unpackPhase = "true"; + dontUnpack = true; installPhase = '' dpkg-deb -x $src $out @@ -130,10 +132,10 @@ stdenv.mkDerivation { dontStrip = true; dontPatchElf = true; - updateScript = import ./update.nix { inherit stdenv writeScript; }; + updateScript = import ./update.nix { inherit writeScript runtimeShell; }; meta = with stdenv.lib; { - homepage = http://www.mendeley.com; + homepage = https://www.mendeley.com; description = "A reference manager and academic social network"; license = licenses.unfree; platforms = [ "x86_64-linux" "i686-linux" ]; diff --git a/pkgs/applications/office/mendeley/update.nix b/pkgs/applications/office/mendeley/update.nix index 147c95b8e7b..56becea9959 100644 --- a/pkgs/applications/office/mendeley/update.nix +++ b/pkgs/applications/office/mendeley/update.nix @@ -1,7 +1,7 @@ -{ stdenv, writeScript }: +{ writeScript, runtimeShell }: writeScript "update-mendeley" '' - #!${stdenv.shell} + #!${runtimeShell} function follow() { local URL=$1 while true; do diff --git a/pkgs/applications/office/minetime/default.nix b/pkgs/applications/office/minetime/default.nix new file mode 100644 index 00000000000..85e8bc131ce --- /dev/null +++ b/pkgs/applications/office/minetime/default.nix @@ -0,0 +1,31 @@ +{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }: + +let + pname = "minetime"; + version = "1.5.1"; +in +appimageTools.wrapType2 rec { + name = "${pname}-${version}"; + src = fetchurl { + url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}-x86_64.AppImage"; + sha256 = "0099cq4p7j01bzs7q79y9xi7g6ji17v9g7cykfjggwsgqfmvd0hz"; + }; + + 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 = "Modern, intuitive and smart calendar application"; + homepage = https://minetime.ai; + license = licenses.unfree; + # Should be cross-platform, but for now we just grab the appimage + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/applications/office/mmex/default.nix b/pkgs/applications/office/mmex/default.nix index 3ddca8fe762..99824cd19ec 100644 --- a/pkgs/applications/office/mmex/default.nix +++ b/pkgs/applications/office/mmex/default.nix @@ -5,7 +5,8 @@ let version = "1.3.3"; in stdenv.mkDerivation { - name = "money-manager-ex-${version}"; + pname = "money-manager-ex"; + inherit version; src = fetchgit { url = "https://github.com/moneymanagerex/moneymanagerex.git"; diff --git a/pkgs/applications/office/moneyplex/default.nix b/pkgs/applications/office/moneyplex/default.nix index 9f4ed80e6d8..6b4a3869af9 100644 --- a/pkgs/applications/office/moneyplex/default.nix +++ b/pkgs/applications/office/moneyplex/default.nix @@ -1,9 +1,10 @@ { stdenv, fetchurl, patchelf, coreutils, pcsclite -, zlib, glib, gdk_pixbuf, gtk2, cairo, pango, libX11, atk, openssl }: +, zlib, glib, gdk-pixbuf, gtk2, cairo, pango, libX11, atk, openssl +, runtimeShell }: let libPath = stdenv.lib.makeLibraryPath [ - stdenv.cc.cc zlib glib gdk_pixbuf gtk2 cairo pango libX11 atk openssl + stdenv.cc.cc zlib glib gdk-pixbuf gtk2 cairo pango libX11 atk openssl ]; src_i686 = { @@ -18,7 +19,7 @@ let in stdenv.mkDerivation rec { - name = "moneyplex-${version}"; + pname = "moneyplex"; version = "16.0.22424"; src = fetchurl (if stdenv.hostPlatform.system == "i686-linux" then src_i686 @@ -38,7 +39,7 @@ stdenv.mkDerivation rec { mkdir "$out/bin" cat > $out/bin/moneyplex < $out/share/paperless/setup-env.sh < {}).paperless.withConfig { +# dataDir = /tmp/paperless-data; +# config = { +# PAPERLESS_DISABLE_LOGIN = "true"; +# }; +# }' +# +# Setup DB +# ./paperless migrate +# +# Consume documents in ${dataDir}/consume +# ./paperless document_consumer --oneshot +# +# Start web interface +# ./paperless runserver --noreload localhost:8000 + +{ config ? {}, dataDir ? null, ocrLanguages ? null +, paperlessPkg ? paperless, extraCmds ? "" }: +with lib; +let + paperless = if ocrLanguages == null then + paperlessPkg + else + (paperlessPkg.override { + tesseract = paperlessPkg.tesseract.override { + enableLanguages = ocrLanguages; + }; + }).overrideDerivation (_: { + # `ocrLanguages` might be missing some languages required by the tests. + doCheck = false; + }); + + envVars = (optionalAttrs (dataDir != null) { + PAPERLESS_CONSUMPTION_DIR = "${dataDir}/consume"; + PAPERLESS_MEDIADIR = "${dataDir}/media"; + PAPERLESS_STATICDIR = "${dataDir}/static"; + PAPERLESS_DBDIR = "${dataDir}"; + }) // config; + + envVarDefs = mapAttrsToList (n: v: ''export ${n}="${toString v}"'') envVars; + setupEnvVars = builtins.concatStringsSep "\n" envVarDefs; + + setupEnv = '' + source ${paperless}/share/paperless/setup-env.sh + ${setupEnvVars} + ${optionalString (dataDir != null) '' + mkdir -p "$PAPERLESS_CONSUMPTION_DIR" \ + "$PAPERLESS_MEDIADIR" \ + "$PAPERLESS_STATICDIR" \ + "$PAPERLESS_DBDIR" + ''} + ''; + + runPaperless = writers.writeBash "paperless" '' + set -e + ${setupEnv} + ${extraCmds} + exec python $paperlessSrc/manage.py "$@" + ''; +in + runPaperless // { + inherit paperless setupEnv; + } diff --git a/pkgs/applications/office/paperwork/default.nix b/pkgs/applications/office/paperwork/default.nix index a48b6e1e116..adbd4c30a39 100644 --- a/pkgs/applications/office/paperwork/default.nix +++ b/pkgs/applications/office/paperwork/default.nix @@ -1,4 +1,4 @@ -{ lib, python3Packages, fetchFromGitLab, gtk3, cairo +{ lib, python3Packages, gtk3, cairo , aspellDicts, buildEnv , gnome3, hicolor-icon-theme, librsvg , xvfb_run, dbus, libnotify @@ -6,13 +6,13 @@ python3Packages.buildPythonApplication rec { inherit (python3Packages.paperwork-backend) version src; - name = "paperwork-${version}"; + pname = "paperwork"; sourceRoot = "source/paperwork-gtk"; # Patch out a few paths that assume that we're using the FHS: postPatch = '' - themeDir="$(echo "${gnome3.defaultIconTheme}/share/icons/"*)" + themeDir="$(echo "${gnome3.adwaita-icon-theme}/share/icons/"*)" sed -i -e "s,/usr/share/icons/gnome,$themeDir," src/paperwork/deps.py sed -i -e 's,sys\.prefix,"",g' \ @@ -46,9 +46,9 @@ python3Packages.buildPythonApplication rec { paths = lib.collect lib.isDerivation aspellDicts; }}/lib/aspell"; - checkInputs = [ xvfb_run dbus.daemon ]; + checkInputs = [ xvfb_run dbus.daemon ] ++ (with python3Packages; [ paperwork-backend ]); buildInputs = [ - gnome3.defaultIconTheme hicolor-icon-theme libnotify librsvg + gnome3.adwaita-icon-theme hicolor-icon-theme libnotify librsvg ]; # A few parts of chkdeps need to have a display and a dbus session, so we not diff --git a/pkgs/applications/office/pinpoint/default.nix b/pkgs/applications/office/pinpoint/default.nix index 680b3fd40d7..14756c3557f 100644 --- a/pkgs/applications/office/pinpoint/default.nix +++ b/pkgs/applications/office/pinpoint/default.nix @@ -1,15 +1,15 @@ { fetchurl, stdenv, pkgconfig, autoconf, automake, clutter, clutter-gst -, gdk_pixbuf, cairo, clutter-gtk }: +, gdk-pixbuf, cairo, clutter-gtk }: stdenv.mkDerivation rec { - name = "pinpoint-${version}"; + pname = "pinpoint"; version = "0.1.8"; src = fetchurl { - url = "http://ftp.gnome.org/pub/GNOME/sources/pinpoint/0.1/${name}.tar.xz"; + url = "http://ftp.gnome.org/pub/GNOME/sources/pinpoint/0.1/${pname}-${version}.tar.xz"; sha256 = "1jp8chr9vjlpb5lybwp5cg6g90ak5jdzz9baiqkbg0anlg8ps82s"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ autoconf automake clutter clutter-gst gdk_pixbuf + buildInputs = [ autoconf automake clutter clutter-gst gdk-pixbuf cairo clutter-gtk ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/office/planner/default.nix b/pkgs/applications/office/planner/default.nix index d8765d2fa61..41cc3d94016 100644 --- a/pkgs/applications/office/planner/default.nix +++ b/pkgs/applications/office/planner/default.nix @@ -13,7 +13,8 @@ let version = "unstable-2019-02-13"; in stdenv.mkDerivation { - name = "planner-${version}"; + pname = "planner"; + inherit version; src = fetchFromGitLab { domain = "gitlab.gnome.org"; diff --git a/pkgs/applications/office/ppl-address-book/Gemfile b/pkgs/applications/office/ppl-address-book/Gemfile deleted file mode 100644 index 0039c436696..00000000000 --- a/pkgs/applications/office/ppl-address-book/Gemfile +++ /dev/null @@ -1,2 +0,0 @@ -source 'https://rubygems.org' -gem 'ppl' diff --git a/pkgs/applications/office/ppl-address-book/Gemfile.lock b/pkgs/applications/office/ppl-address-book/Gemfile.lock deleted file mode 100644 index 5054bb8b9c8..00000000000 --- a/pkgs/applications/office/ppl-address-book/Gemfile.lock +++ /dev/null @@ -1,34 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - colored (1.2) - greencard (0.0.5) - i18n (0.7.0) - inifile (2.0.2) - mail (2.5.3) - i18n (>= 0.4.0) - mime-types (~> 1.16) - treetop (~> 1.4.8) - mime-types (1.25.1) - morphine (0.1.1) - polyglot (0.3.5) - ppl (2.4.0) - colored (= 1.2) - greencard (= 0.0.5) - inifile (= 2.0.2) - mail (= 2.5.3) - morphine (= 0.1.1) - rugged (= 0.17.0.b6) - rugged (0.17.0.b6) - treetop (1.4.15) - polyglot - polyglot (>= 0.3.1) - -PLATFORMS - ruby - -DEPENDENCIES - ppl - -BUNDLED WITH - 1.12.5 diff --git a/pkgs/applications/office/ppl-address-book/default.nix b/pkgs/applications/office/ppl-address-book/default.nix deleted file mode 100644 index f15affaa8d6..00000000000 --- a/pkgs/applications/office/ppl-address-book/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ stdenv, lib, bundlerEnv, ruby, makeWrapper, which }: - -let - pname = "ppl-address-book"; - - version = (import ./gemset.nix).ppl.version; - - env = bundlerEnv rec { - name = "${pname}-env-${version}"; - inherit ruby; - gemdir = ./.; - - gemConfig.rugged = attrs: { buildInputs = [ which ]; }; - }; - -in stdenv.mkDerivation { - name = "${pname}-${version}"; - - phases = [ "installPhase" ]; - - buildInputs = [ env makeWrapper ]; - - installPhase = '' - mkdir -p $out/bin - makeWrapper ${env}/bin/ppl $out/bin/ppl - ''; - - meta = with lib; { - description = "Address book software for command-line users"; - homepage = http://ppladdressbook.org/; - license = with licenses; mit; - maintainers = with maintainers; [ chris-martin ]; - platforms = platforms.unix; - }; - -} diff --git a/pkgs/applications/office/ppl-address-book/gemset.nix b/pkgs/applications/office/ppl-address-book/gemset.nix deleted file mode 100644 index e8229f6153f..00000000000 --- a/pkgs/applications/office/ppl-address-book/gemset.nix +++ /dev/null @@ -1,90 +0,0 @@ -{ - colored = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx"; - type = "gem"; - }; - version = "1.2"; - }; - greencard = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "11pxrl1w8c7m7rmnnmdaplrv53qgylyvkv8bzsfyjna7k16hynvq"; - type = "gem"; - }; - version = "0.0.5"; - }; - i18n = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758"; - type = "gem"; - }; - version = "0.7.0"; - }; - inifile = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "03rpacxnrnisjhd2zhc7629ica958bkdbakicl5kipw1wbprck25"; - type = "gem"; - }; - version = "2.0.2"; - }; - mail = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1afr3acz7vsvr4gp6wnrkw1iwbjhf14mh8g8mlm40r86wcwzr39k"; - type = "gem"; - }; - version = "2.5.3"; - }; - mime-types = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8"; - type = "gem"; - }; - version = "1.25.1"; - }; - morphine = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "05aw93cijd1gq39ikw2dw3i2c79bjq05kvxrs81mqxqdlini5wwa"; - type = "gem"; - }; - version = "0.1.1"; - }; - polyglot = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr"; - type = "gem"; - }; - version = "0.3.5"; - }; - ppl = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0vpp4s12ggbk5kpl9z1i7vi9vvghgxrc8my35yk8knckg5waxg47"; - type = "gem"; - }; - version = "2.4.0"; - }; - rugged = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "025rj3rkj5yxf4pjj1s8x4yzshlyni3hgrjwhggg54nvw6b688qi"; - type = "gem"; - }; - version = "0.17.0.b6"; - }; - treetop = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1zqj5y0mvfvyz11nhsb4d5ch0i0rfcyj64qx19mw4qhg3hh8z9pz"; - type = "gem"; - }; - version = "1.4.15"; - }; -} \ No newline at end of file diff --git a/pkgs/applications/office/qnotero/default.nix b/pkgs/applications/office/qnotero/default.nix index ad571cd8b18..b317838f672 100644 --- a/pkgs/applications/office/qnotero/default.nix +++ b/pkgs/applications/office/qnotero/default.nix @@ -28,7 +28,7 @@ python3Packages.buildPythonPackage rec { description = "Quick access to Zotero references"; homepage = http://www.cogsci.nl/software/qnotero; license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.nico202 ]; }; } diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix index 1b1f8421ee7..ab32ebc67a7 100644 --- a/pkgs/applications/office/qownnotes/default.nix +++ b/pkgs/applications/office/qownnotes/default.nix @@ -1,22 +1,22 @@ -{ stdenv, fetchurl, qmake, qttools, qtbase, qtsvg, qttranslations, qtdeclarative, qtxmlpatterns, qtwayland, qtwebsockets }: +{ mkDerivation, lib, fetchurl, qmake, qttools, qtbase, qtsvg, qtdeclarative, qtxmlpatterns, qtwayland, qtwebsockets, stdenv /* for isLinux */ }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "qownnotes"; - version = "19.2.3"; + version = "19.8.6"; src = fetchurl { url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz"; # Can grab official version like so: # $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-19.1.8.tar.xz.sha256 - sha256 = "1favfyanwy2lp3c8abw6ng12vnzgv127k0772a8pax9cqbd5gyry"; + sha256 = "a242dd15dc484baad39e737fe1af8529411f49a0d74994e6c78cf6bad4b733b6"; }; nativeBuildInputs = [ qmake qttools ]; buildInputs = [ qtbase qtsvg qtdeclarative qtxmlpatterns qtwebsockets - ] ++ stdenv.lib.optional stdenv.isLinux qtwayland; + ] ++ lib.optional stdenv.isLinux qtwayland; - meta = with stdenv.lib; { + meta = with lib; { description = "Plain-text file notepad and todo-list manager with markdown support and ownCloud / Nextcloud integration"; homepage = https://www.qownnotes.org/; diff --git a/pkgs/applications/office/scribus/default.nix b/pkgs/applications/office/scribus/default.nix index 434b4e64ee6..d6b73b07f0e 100644 --- a/pkgs/applications/office/scribus/default.nix +++ b/pkgs/applications/office/scribus/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, freetype, lcms, libtiff, libxml2 , libart_lgpl, qt4, python2, cups, fontconfig, libjpeg -, zlib, libpng, xorg, cairo, podofo, aspell, boost, cmake, imagemagick }: +, zlib, libpng, xorg, cairo, podofo, hunspell, boost, cmake, imagemagick, ghostscript }: let icon = fetchurl { @@ -8,27 +8,35 @@ let sha256 = "0hq3i7c2l50445an9glhhg47kj26y16svfajc6naqn307ph9vzc3"; }; - pythonEnv = python2.withPackages(ps: [ps.tkinter]); + pythonEnv = python2.withPackages(ps: [ps.tkinter ps.pillow]); in stdenv.mkDerivation rec { - name = "scribus-1.4.7"; + pname = "scribus"; + version = "1.4.8"; src = fetchurl { - url = "mirror://sourceforge/scribus/scribus/${name}.tar.xz"; - sha256 = "1v2ziq3k0yjz35nk5plcbc1jpi53p9v1cq1z3spch9lwlns3bls2"; + url = "mirror://sourceforge/${pname}/${pname}/${pname}-${version}.tar.xz"; + sha256 = "0bq433myw6h1siqlsakxv6ghb002rp3mfz5k12bg68s0k6skn992"; }; enableParallelBuilding = true; + nativeBuildInputs = [ pkgconfig cmake ]; buildInputs = with xorg; - [ pkgconfig cmake freetype lcms libtiff libxml2 libart_lgpl qt4 + [ freetype lcms libtiff libxml2 libart_lgpl qt4 pythonEnv cups fontconfig - libjpeg zlib libpng podofo aspell cairo + libjpeg zlib libpng podofo hunspell cairo boost # for internal 2geom library libXaw libXext libX11 libXtst libXi libXinerama libpthreadstubs libXau libXdmcp imagemagick # To build the icon ]; + postPatch = '' + substituteInPlace scribus/util_ghostscript.cpp \ + --replace 'QString gsName("gs");' \ + 'QString gsName("${ghostscript}/bin/gs");' + ''; + postInstall = '' for i in 16 24 48 64 96 128 256 512; do mkdir -p $out/share/icons/hicolor/''${i}x''${i}/apps diff --git a/pkgs/applications/office/scribus/unstable.nix b/pkgs/applications/office/scribus/unstable.nix index 32758b462f7..2cd441794a4 100644 --- a/pkgs/applications/office/scribus/unstable.nix +++ b/pkgs/applications/office/scribus/unstable.nix @@ -1,34 +1,28 @@ -{ stdenv, fetchsvn, makeWrapper, pkgconfig, cmake, qtbase, cairo, pixman, +{ stdenv, fetchurl, mkDerivation, pkgconfig, cmake, qtbase, cairo, pixman, boost, cups, fontconfig, freetype, hunspell, libjpeg, libtiff, libxml2, lcms2, podofo, poppler, poppler_data, python2, harfbuzz, qtimageformats, qttools }: let pythonEnv = python2.withPackages(ps: [ps.tkinter ps.pillow]); - revision = "22806"; -in -stdenv.mkDerivation rec { - name = "scribus-unstable-${version}"; - version = "2019-01-16"; +in +mkDerivation rec { + pname = "scribus"; + version = "1.5.5"; - src = fetchsvn { - url = "svn://scribus.net/trunk/Scribus"; - rev = revision; - sha256 = "16xpsbp6kca78jf48n6zdmyjras38xr11paan839hgy4ik83ncn0"; + src = fetchurl { + url = "mirror://sourceforge/${pname}/${pname}-devel/${pname}-${version}.tar.xz"; + sha256 = "eQiyGmzoQyafWM7fX495GJMlfmIBzOX73ccNrKL+P3E="; }; enableParallelBuilding = true; + nativeBuildInputs = [ pkgconfig cmake ]; buildInputs = [ - makeWrapper pkgconfig cmake qtbase cairo pixman boost cups fontconfig + qtbase cairo pixman boost cups fontconfig freetype hunspell libjpeg libtiff libxml2 lcms2 podofo poppler poppler_data pythonEnv harfbuzz qtimageformats qttools ]; - postFixup = '' - wrapProgram $out/bin/scribus \ - --prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}" - ''; - meta = { maintainers = [ stdenv.lib.maintainers.erictapen ]; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix index 9b417a8a5b6..42fddb972c9 100644 --- a/pkgs/applications/office/skrooge/default.nix +++ b/pkgs/applications/office/skrooge/default.nix @@ -6,12 +6,12 @@ }: mkDerivation rec { - name = "skrooge-${version}"; - version = "2.18.0"; + pname = "skrooge"; + version = "2.20.0"; src = fetchurl { - url = "http://download.kde.org/stable/skrooge/${name}.tar.xz"; - sha256 = "00zk152clnmq8rjjnrxmd7lfflf2pnzljaw73bjjsb6r6vkxywa6"; + url = "http://download.kde.org/stable/skrooge/${pname}-${version}.tar.xz"; + sha256 = "0rakfngp7j2x7h1isg6lbc5kva6k1kg99dz0zl43dc28s15can1w"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/office/spice-up/default.nix b/pkgs/applications/office/spice-up/default.nix index c7e39180ae2..2c3dfa82c8c 100644 --- a/pkgs/applications/office/spice-up/default.nix +++ b/pkgs/applications/office/spice-up/default.nix @@ -1,38 +1,35 @@ { stdenv , fetchFromGitHub -, gettext -, libxml2 -, pkgconfig -, gtk3 -, gnome3 -, gobject-introspection -, json-glib , cmake +, gdk-pixbuf +, gtk3 +, gettext , ninja +, pantheon +, pkgconfig +, json-glib , libgudev , libevdev +, libgee , libsoup -, pantheon , wrapGAppsHook }: stdenv.mkDerivation rec { - name = "spice-up-${version}"; - version = "1.7.0"; + pname = "spice-up"; + version = "1.8.2"; src = fetchFromGitHub { owner = "Philip-Scott"; repo = "Spice-up"; rev = version; - sha256 = "1qb1hlw7g581dmgg5mh832ixjkcgqm3lqzj6xma2cz8wdncwwjaq"; + sha256 = "1pix911l4ddn50026a5sbpqfzba6fmw40m1yzbknmkgd2ny28f0m"; }; - USER = "nix-build-user"; + USER = "pbuilder"; nativeBuildInputs = [ cmake gettext - gobject-introspection # For setup hook - libxml2 ninja pkgconfig pantheon.vala @@ -41,18 +38,19 @@ stdenv.mkDerivation rec { buildInputs = [ pantheon.elementary-icon-theme pantheon.granite - gnome3.libgee + gdk-pixbuf gtk3 json-glib libevdev + libgee libgudev libsoup ]; meta = with stdenv.lib; { - description = "Create simple and beautiful presentations on the Linux desktop"; + description = "Create simple and beautiful presentations"; homepage = https://github.com/Philip-Scott/Spice-up; - maintainers = with maintainers; [ samdroid-apps ]; + maintainers = with maintainers; [ samdroid-apps kjuvi ] ++ pantheon.maintainers; platforms = platforms.linux; # The COPYING file has GPLv3; some files have GPLv2+ and some have GPLv3+ license = licenses.gpl3Plus; diff --git a/pkgs/applications/office/timetable/default.nix b/pkgs/applications/office/timetable/default.nix new file mode 100644 index 00000000000..fa2d5939218 --- /dev/null +++ b/pkgs/applications/office/timetable/default.nix @@ -0,0 +1,57 @@ +{ stdenv +, fetchFromGitHub +, glib +, gtk3 +, hicolor-icon-theme +, json-glib +, libgee +, meson +, ninja +, pkgconfig +, pantheon +, python3 +, wrapGAppsHook +}: + + +stdenv.mkDerivation rec { + pname = "timetable"; + version = "1.0.8"; + + src = fetchFromGitHub { + owner = "lainsce"; + repo = pname; + rev = version; + sha256 = "0s825al10s0hwfzl90bplwwasx89wx28n41sg2md71l9hfqy296q"; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + pantheon.vala + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + hicolor-icon-theme + json-glib + libgee + pantheon.granite + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Plot out your own timetable for the week and organize it"; + homepage = "https://github.com/lainsce/timetable"; + maintainers = [ maintainers.kjuvi ] ++ pantheon.maintainers; + license = licenses.gpl2Plus; + }; +} diff --git a/pkgs/applications/office/timetrap/Gemfile.lock b/pkgs/applications/office/timetrap/Gemfile.lock index f71f4eaa408..9f2ea82cee0 100644 --- a/pkgs/applications/office/timetrap/Gemfile.lock +++ b/pkgs/applications/office/timetrap/Gemfile.lock @@ -16,4 +16,4 @@ DEPENDENCIES timetrap BUNDLED WITH - 1.10.6 + 1.17.2 diff --git a/pkgs/applications/office/timetrap/default.nix b/pkgs/applications/office/timetrap/default.nix index 20dd27fa287..6d094ecb5dc 100644 --- a/pkgs/applications/office/timetrap/default.nix +++ b/pkgs/applications/office/timetrap/default.nix @@ -1,17 +1,17 @@ -{ lib, bundlerEnv, ruby }: +{ lib, bundlerApp, bundlerUpdateScript }: -bundlerEnv rec { - name = "timetrap-${version}"; - - version = (import gemset).timetrap.version; - inherit ruby; +bundlerApp { + pname = "timetrap"; gemdir = ./.; - gemset = ./gemset.nix; + exes = [ "t" "timetrap" ]; + + passthru.updateScript = bundlerUpdateScript "timetrap"; meta = with lib; { description = "A simple command line time tracker written in ruby"; - homepage = https://github.com/samg/timetrap; - license = licenses.mit; - maintainers = [ maintainers.jerith666 ]; + homepage = https://github.com/samg/timetrap; + license = licenses.mit; + maintainers = with maintainers; [ jerith666 manveru nicknovitski ]; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/office/timetrap/gemset.nix b/pkgs/applications/office/timetrap/gemset.nix index 5764016573f..1ea489b92c3 100644 --- a/pkgs/applications/office/timetrap/gemset.nix +++ b/pkgs/applications/office/timetrap/gemset.nix @@ -1,5 +1,7 @@ { chronic = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn"; @@ -8,6 +10,8 @@ version = "0.10.2"; }; sequel = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "121z4sq2m4vsgxwy8hs6d12cc1i4xa5rjiv0nbviyj87jldxapw0"; @@ -16,6 +20,8 @@ version = "4.43.0"; }; sqlite3 = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "01ifzp8nwzqppda419c9wcvr8n82ysmisrs0hph9pdmv1lpa4f5i"; @@ -25,6 +31,8 @@ }; timetrap = { dependencies = ["chronic" "sequel" "sqlite3"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0ylaz9q99hbxnw6h1df6wphmh68fj847d1l4f9jylcx3nzzp5cyd"; diff --git a/pkgs/applications/office/todo.txt-cli/default.nix b/pkgs/applications/office/todo.txt-cli/default.nix index 77a60295443..edb2c778a0a 100644 --- a/pkgs/applications/office/todo.txt-cli/default.nix +++ b/pkgs/applications/office/todo.txt-cli/default.nix @@ -2,7 +2,8 @@ let version = "2.11.0"; in stdenv.mkDerivation { - name = "todo.txt-cli-${version}"; + pname = "todo.txt-cli"; + inherit version; src = fetchurl { url = "https://github.com/ginatrapani/todo.txt-cli/releases/download/v${version}/todo.txt_cli-${version}.tar.gz"; diff --git a/pkgs/applications/office/todoman/default.nix b/pkgs/applications/office/todoman/default.nix index 3f4953fc12a..450ee34262b 100644 --- a/pkgs/applications/office/todoman/default.nix +++ b/pkgs/applications/office/todoman/default.nix @@ -1,4 +1,4 @@ -{ stdenv, python3, glibcLocales, fetchpatch }: +{ stdenv, python3, glibcLocales }: let inherit (python3.pkgs) buildPythonApplication fetchPypi; @@ -6,7 +6,6 @@ in buildPythonApplication rec { pname = "todoman"; version = "3.5.0"; - name = "${pname}-${version}"; src = fetchPypi { inherit pname version; diff --git a/pkgs/applications/office/treesheets/default.nix b/pkgs/applications/office/treesheets/default.nix index d0a4953c426..000fa7ff101 100644 --- a/pkgs/applications/office/treesheets/default.nix +++ b/pkgs/applications/office/treesheets/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, wxGTK, makeWrapper }: stdenv.mkDerivation rec { - name = "treesheets-${version}"; - version = "2018-08-18"; + pname = "treesheets"; + version = "1.0.1"; src = fetchFromGitHub { owner = "aardappel"; repo = "treesheets"; - rev = "3af41d99c8f9f32603a36ab64af3560b6d61dd73"; - sha256 = "147y8ggh3clwjgsi15z8i4jnzlkh8p17mmlg532jym53zzbcva65"; + rev = "v${version}"; + sha256 = "0krsj7i5yr76imf83krz2lmlmpbsvpwqg2d4r0jwxiydjfyj4qr4"; }; buildInputs = [ wxGTK makeWrapper ]; diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix index 7ea4de46466..877dfba88c0 100644 --- a/pkgs/applications/office/trilium/default.nix +++ b/pkgs/applications/office/trilium/default.nix @@ -12,12 +12,12 @@ let }; in stdenv.mkDerivation rec { - name = "trilium-${version}"; - version = "0.29.1"; + pname = "trilium"; + version = "0.33.6"; src = fetchurl { url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz"; - sha256 = "1yyd650l628x3kvyn73d5b35sj7ixmdlqkb6h1swdjp0z2n00w4w"; + sha256 = "1sg6iqhpgyr8zr6w6dgs0ha0indb9vyp8vh2clj2fds5ahhlvf91"; }; # Fetch from source repo, no longer included in release. diff --git a/pkgs/applications/office/tryton/default.nix b/pkgs/applications/office/tryton/default.nix index 833cb7fc56a..4422aaa2b44 100644 --- a/pkgs/applications/office/tryton/default.nix +++ b/pkgs/applications/office/tryton/default.nix @@ -32,7 +32,7 @@ python2Packages.buildPythonApplication rec { buildInputs = [ atk gtk3 - gnome3.defaultIconTheme + gnome3.adwaita-icon-theme gtkspell3 goocanvas2 ]; diff --git a/pkgs/applications/office/tudu/default.nix b/pkgs/applications/office/tudu/default.nix index dea3ea9731b..a4734f45460 100644 --- a/pkgs/applications/office/tudu/default.nix +++ b/pkgs/applications/office/tudu/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "tudu-${version}"; - version = "0.10.2"; + pname = "tudu"; + version = "0.10.3"; src = fetchurl { - url = "https://code.meskio.net/tudu/${name}.tar.gz"; - sha256 = "1xsncvd1c6v8y0dzc5mspy9rrwc89pabhz6r2lihsirk83h2rqym"; + url = "https://code.meskio.net/tudu/${pname}-${version}.tar.gz"; + sha256 = "0140pw457cd05ysws998yhd3b087j98q8m0g3s4br942l65b8n2y"; }; buildInputs = [ ncurses ]; diff --git a/pkgs/applications/office/vnote/default.nix b/pkgs/applications/office/vnote/default.nix new file mode 100644 index 00000000000..fbb8436f44c --- /dev/null +++ b/pkgs/applications/office/vnote/default.nix @@ -0,0 +1,27 @@ +{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtwebengine, hicolor-icon-theme }: + +let + description = "A note-taking application that knows programmers and Markdown better"; +in mkDerivation rec { + version = "2.7.2"; + pname = "vnote"; + + src = fetchFromGitHub { + owner = "tamlok"; + repo = "vnote"; + fetchSubmodules = true; + rev = "v${version}"; + sha256 = "0mk1ingcyznpwq4bfkxa8nx9yx5y3kgsmr4qffriq7bh1cx9dwjy"; + }; + + nativeBuildInputs = [ qmake ]; + buildInputs = [ qtbase qtwebengine hicolor-icon-theme ]; + + meta = with lib; { + inherit description; + homepage = "https://tamlok.github.io/vnote"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = [ maintainers.kuznero ]; + }; +} diff --git a/pkgs/applications/office/watson/default.nix b/pkgs/applications/office/watson/default.nix index e0f0c58b450..16df0b294c1 100644 --- a/pkgs/applications/office/watson/default.nix +++ b/pkgs/applications/office/watson/default.nix @@ -3,27 +3,19 @@ with pythonPackages; buildPythonApplication rec { - pname = "td-watson"; - version = "1.5.2"; + pname = "watson"; + version = "1.7.0"; src = fetchPypi { - inherit version pname; - sha256 = "6e03d44a9278807fe5245e9ed0943f13ffb88e11249a02655c84cb86260b27c8"; + inherit version; + pname = "td-watson"; + sha256 = "249313996751f32f38817d424cbf8d74956461df1439f0ee3a962fcc3c77225d"; }; - # uses tox, test invocation fails - doCheck = true; checkPhase = '' - py.test -vs tests + pytest -vs tests ''; - patches = [ - (fetchpatch { - url = https://github.com/TailorDev/Watson/commit/f5760c71cbc22de4e12ede8f6f7257515a9064d3.patch; - sha256 = "0s9h26915ilpbd0qhmvk77r3gmrsdrl5l7dqxj0l5q66fp0z6b0g"; - }) - ]; - checkInputs = [ py pytest pytest-datafiles mock pytest-mock pytestrunner ]; propagatedBuildInputs = [ requests click arrow ]; @@ -31,6 +23,6 @@ buildPythonApplication rec { homepage = https://tailordev.github.io/Watson/; description = "A wonderful CLI to track your time!"; license = licenses.mit; - maintainers = with maintainers; [ mguentner ] ; + maintainers = with maintainers; [ mguentner nathyong ] ; }; } diff --git a/pkgs/applications/office/wordgrinder/default.nix b/pkgs/applications/office/wordgrinder/default.nix index 8efe9b368a0..3e4ca0ae975 100644 --- a/pkgs/applications/office/wordgrinder/default.nix +++ b/pkgs/applications/office/wordgrinder/default.nix @@ -2,21 +2,25 @@ , lua52Packages, libXft, ncurses, ninja, readline, zlib }: stdenv.mkDerivation rec { - name = "wordgrinder-${version}"; - version = "0.7.1"; + pname = "wordgrinder"; + version = "0.7.2"; src = fetchFromGitHub { repo = "wordgrinder"; owner = "davidgiven"; rev = "${version}"; - sha256 = "19n4vn8zyvcvgwygm63d3jcmiwh6a2ikrrqqmkm8fvhdvwkqgr9k"; + sha256 = "08lnq5wmspfqdjmqm15gizcq0xr7mg4h62qhvwj63v0sd6ks1cal"; }; makeFlags = [ "PREFIX=$(out)" "LUA_INCLUDE=${lua52Packages.lua}/include" "LUA_LIB=${lua52Packages.lua}/lib/liblua.so" - ] ++ stdenv.lib.optional stdenv.isLinux "XFT_PACKAGE=--libs=\{-lX11 -lXft\}"; + ]; + + preBuild = stdenv.lib.optionalString stdenv.isLinux '' + makeFlagsArray+=('XFT_PACKAGE=--cflags={} --libs={-lX11 -lXft}') + ''; dontUseNinjaBuild = true; dontUseNinjaInstall = true; @@ -49,7 +53,7 @@ stdenv.mkDerivation rec { description = "Text-based word processor"; homepage = https://cowlark.com/wordgrinder; license = licenses.mit; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ matthiasbeyer ]; platforms = with stdenv.lib.platforms; linux ++ darwin; }; } diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix index 4c83d67f7cd..1f21ec60ae2 100644 --- a/pkgs/applications/office/wpsoffice/default.nix +++ b/pkgs/applications/office/wpsoffice/default.nix @@ -8,10 +8,11 @@ let version = "10.1.0.5672"; in stdenv.mkDerivation rec{ - name = "wpsoffice-${version}"; + pname = "wpsoffice"; + inherit version; src = fetchurl { - name = "${name}.tar.xz"; + name = "${pname}-${version}.tar.xz"; url = "http://kdl.cc.ksosoft.com/wps-community/download/a21/wps-office_${version}~a21_${bits}.tar.xz"; sha256 = if bits == "x86_64" then "0mi3n9kplf82gd0g2m0np957agy53p4g1qh81pbban49r4n0ajcz" else diff --git a/pkgs/applications/office/zanshin/default.nix b/pkgs/applications/office/zanshin/default.nix index f8785616c5e..6f4f9c43b0f 100644 --- a/pkgs/applications/office/zanshin/default.nix +++ b/pkgs/applications/office/zanshin/default.nix @@ -10,7 +10,6 @@ mkDerivation rec { pname = "zanshin"; version = "2017-11-25"; - name = "${pname}-${version}"; src = fetchFromGitHub { owner = "KDE"; diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix index a3e2bdd4d1e..a41064666d5 100644 --- a/pkgs/applications/office/zim/default.nix +++ b/pkgs/applications/office/zim/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python2Packages }: +{ stdenv, fetchurl, python3Packages, gtk3, gobject-introspection, wrapGAppsHook }: # # TODO: Declare configuration options for the following optional dependencies: @@ -7,22 +7,17 @@ # - pyxdg: Need to make it work first (see setupPyInstallFlags). # -python2Packages.buildPythonApplication rec { +python3Packages.buildPythonApplication rec { name = "zim-${version}"; - version = "0.69"; + version = "0.71.1"; src = fetchurl { url = "http://zim-wiki.org/downloads/${name}.tar.gz"; - sha256 = "1j04l1914iw87b0jd3r1czrh0q491fdgbqbi0biacxiri5q0i6a1"; + sha256 = "0d7whwpbklkhamlvysa0yyix1hchkpdynimf3gp1xbibg8mqzbxc"; }; - propagatedBuildInputs = with python2Packages; [ pyGtkGlade pyxdg pygobject2 ]; - - preBuild = '' - export HOME=$TMP - - sed -i '/zim_install_class,/d' setup.py - ''; + buildInputs = [ gtk3 gobject-introspection wrapGAppsHook ]; + propagatedBuildInputs = with python3Packages; [ pyxdg pygobject3 ]; preFixup = '' diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix index 61e84e2be43..5221add8ff6 100644 --- a/pkgs/applications/office/zotero/default.nix +++ b/pkgs/applications/office/zotero/default.nix @@ -1,67 +1,138 @@ -{ stdenv, fetchurl, buildFHSUserEnv, makeDesktopItem, runCommand, bash, wrapGAppsHook, gsettings-desktop-schemas, gtk3, gnome3 }: +{ stdenv, fetchurl, wrapGAppsHook, makeDesktopItem +, atk +, cairo +, curl +, cups +, dbus-glib +, dbus +, fontconfig +, freetype +, gdk-pixbuf +, glib +, glibc +, gtk3 +, libX11 +, libXScrnSaver +, libxcb +, libXcomposite +, libXcursor +, libXdamage +, libXext +, libXfixes +, libXi +, libXinerama +, libXrender +, libXt +, libnotify +, gnome3 +, libGLU_combined +, nspr +, nss +, pango +, gsettings-desktop-schemas +}: -let -version = "5.0.60"; -meta = with stdenv.lib; { - homepage = https://www.zotero.org; - description = "Collect, organize, cite, and share your research sources"; - license = licenses.agpl3; - platforms = platforms.linux; -}; - -zoteroSrc = stdenv.mkDerivation rec { - inherit version; - name = "zotero-${version}-pkg"; +stdenv.mkDerivation rec { + pname = "zotero"; + version = "5.0.73"; src = fetchurl { url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2"; - sha256 = "0753xk95shhxma4dvdxrj2q6y81z8lianxg7jnab9m17fb67jy2d"; + sha256 = "0m2i3l0gy22h6c7rk39cd17vyksyz5l5py2fn9pza8lcbypkwf3l"; }; buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme gnome3.dconf ]; - phases = [ "unpackPhase" "installPhase" "fixupPhase"]; - installPhase = '' - mkdir -p $out/data - cp -r * $out/data - mkdir $out/bin - ln -s $out/data/zotero $out/bin/zotero + phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ]; + + dontStrip = true; + dontPatchELF = true; + + libPath = stdenv.lib.makeLibraryPath + [ stdenv.cc.cc + atk + cairo + curl + cups + dbus-glib + dbus + fontconfig + freetype + gdk-pixbuf + glib + glibc + gtk3 + libX11 + libXScrnSaver + libXcomposite + libXcursor + libxcb + libXdamage + libXext + libXfixes + libXi + libXinerama + libXrender + libXt + libnotify + libGLU_combined + nspr + nss + pango + ] + ":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" [ + stdenv.cc.cc + ]; + + patchPhase = '' + sed -i '/pref("app.update.enabled", true);/c\pref("app.update.enabled", false);' defaults/preferences/prefs.js ''; -}; -fhsEnv = buildFHSUserEnv { - name = "zotero-fhs-env"; - targetPkgs = pkgs: with pkgs; with xorg; [ - gtk3 dbus-glib glib - libXt nss - libX11 - ]; -}; + desktopItem = makeDesktopItem rec { + name = "zotero-${version}"; + exec = "zotero -url %U"; + icon = "zotero"; + type = "Application"; + comment = meta.description; + desktopName = "Zotero"; + genericName = "Reference Management"; + categories = "Office;Database;"; + startupNotify = "true"; + mimeType = "text/plain"; + }; -desktopItem = makeDesktopItem rec { - name = "zotero-${version}"; - exec = "zotero -url %U"; - icon = "zotero"; - type = "Application"; - comment = meta.description; - desktopName = "Zotero"; - genericName = "Reference Management"; - categories = "Office;Database;"; - startupNotify = "true"; -}; + installPhase = + '' + mkdir -p "$prefix/usr/lib/zotero-bin-${version}" + cp -r * "$prefix/usr/lib/zotero-bin-${version}" + mkdir -p "$out/bin" + ln -s "$prefix/usr/lib/zotero-bin-${version}/zotero" "$out/bin/" -in runCommand "zotero-${version}" { inherit meta; } '' - mkdir -p $out/bin $out/share/applications - cat >$out/bin/zotero < python != null && swig != null; stdenv.mkDerivation rec { - name = "gnuradio-ais-${version}"; + pname = "gr-ais"; version = "2015-12-20"; src = fetchFromGitHub { @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - cmake boost gnuradio makeWrapper cppunit gnuradio-osmosdr + cmake boost gnuradio makeWrapper cppunit gr-osmosdr ] ++ stdenv.lib.optionals pythonSupport [ python swig ]; postInstall = '' diff --git a/pkgs/applications/radio/gnuradio/default.nix b/pkgs/applications/radio/gnuradio/default.nix index f9a50313c47..016540c1e67 100644 --- a/pkgs/applications/radio/gnuradio/default.nix +++ b/pkgs/applications/radio/gnuradio/default.nix @@ -25,7 +25,7 @@ }: stdenv.mkDerivation rec { - name = "gnuradio-${version}"; + pname = "gnuradio"; version = "3.7.13.4"; src = fetchFromGitHub { diff --git a/pkgs/applications/radio/gnuradio/gsm.nix b/pkgs/applications/radio/gnuradio/gsm.nix index dcb50df7052..80583c0ff3b 100644 --- a/pkgs/applications/radio/gnuradio/gsm.nix +++ b/pkgs/applications/radio/gnuradio/gsm.nix @@ -1,12 +1,12 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio -, makeWrapper, cppunit, libosmocore, gnuradio-osmosdr +, makeWrapper, cppunit, libosmocore, gr-osmosdr , pythonSupport ? true, python, swig }: assert pythonSupport -> python != null && swig != null; stdenv.mkDerivation rec { - name = "gnuradio-gsm-${version}"; + pname = "gr-gsm"; version = "2016-08-25"; src = fetchFromGitHub { @@ -18,12 +18,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - cmake boost gnuradio makeWrapper cppunit libosmocore gnuradio-osmosdr + cmake boost gnuradio makeWrapper cppunit libosmocore gr-osmosdr ] ++ stdenv.lib.optionals pythonSupport [ python swig ]; postInstall = '' for prog in "$out"/bin/*; do - wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:${gnuradio-osmosdr}/lib/${python.libPrefix}/site-packages:$(toPythonPath "$out") + wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:${gr-osmosdr}/lib/${python.libPrefix}/site-packages:$(toPythonPath "$out") done ''; diff --git a/pkgs/applications/radio/gnuradio/limesdr.nix b/pkgs/applications/radio/gnuradio/limesdr.nix index 0a5d4f56d27..d56994e46ff 100644 --- a/pkgs/applications/radio/gnuradio/limesdr.nix +++ b/pkgs/applications/radio/gnuradio/limesdr.nix @@ -1,24 +1,26 @@ -{ stdenv, fetchFromGitHub, cmake, boost, gnuradio +{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio , pythonSupport ? true, python, swig, limesuite } : assert pythonSupport -> python != null && swig != null; let - version = "1.0.0-RC"; + version = "2.0.0"; in stdenv.mkDerivation rec { - name = "gnuradio-limesdr-${version}"; + pname = "gr-limesdr"; + inherit version; src = fetchFromGitHub { owner = "myriadrf"; repo = "gr-limesdr"; rev = "v${version}"; - sha256 = "0b34mg9nfar2gcir98004ixrxmxi8p3p2hrvvi1razd869x2a0lf"; + sha256 = "0ldqvfwl0gil89l9s31fjf9d7ki0dk572i8vna336igfaz348ypq"; }; nativeBuildInputs = [ cmake + pkgconfig ] ++ stdenv.lib.optionals pythonSupport [ swig ]; buildInputs = [ diff --git a/pkgs/applications/radio/gnuradio/nacl.nix b/pkgs/applications/radio/gnuradio/nacl.nix index 2f4b0e4e3eb..d357db91344 100644 --- a/pkgs/applications/radio/gnuradio/nacl.nix +++ b/pkgs/applications/radio/gnuradio/nacl.nix @@ -6,7 +6,7 @@ assert pythonSupport -> python != null && swig != null; stdenv.mkDerivation rec { - name = "gnuradio-nacl-${version}"; + pname = "gr-nacl"; version = "2017-04-10"; src = fetchFromGitHub { diff --git a/pkgs/applications/radio/gnuradio/osmosdr.nix b/pkgs/applications/radio/gnuradio/osmosdr.nix index 846afe0e95d..b8cc60544c9 100644 --- a/pkgs/applications/radio/gnuradio/osmosdr.nix +++ b/pkgs/applications/radio/gnuradio/osmosdr.nix @@ -13,7 +13,7 @@ assert pythonSupport -> python != null && swig != null; stdenv.mkDerivation rec { - name = "gnuradio-osmosdr-${version}"; + pname = "gr-osmosdr"; version = "2018-08-15"; src = fetchgit { diff --git a/pkgs/applications/radio/gnuradio/rds.nix b/pkgs/applications/radio/gnuradio/rds.nix index 2e5443227fd..e4a55fe5098 100644 --- a/pkgs/applications/radio/gnuradio/rds.nix +++ b/pkgs/applications/radio/gnuradio/rds.nix @@ -5,7 +5,7 @@ assert pythonSupport -> python != null && swig != null; stdenv.mkDerivation rec { - name = "gnuradio-rds-${version}"; + pname = "gr-rds"; version = "1.1.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/radio/gqrx/default.nix b/pkgs/applications/radio/gqrx/default.nix index f7c7ca5472e..03acf9e1135 100644 --- a/pkgs/applications/radio/gqrx/default.nix +++ b/pkgs/applications/radio/gqrx/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchFromGitHub, cmake, qtbase, qtsvg, gnuradio, boost, gnuradio-osmosdr +{ stdenv, fetchFromGitHub, cmake, qtbase, qtsvg, gnuradio, boost, gr-osmosdr +, mkDerivation # drivers (optional): , rtl-sdr, hackrf , pulseaudioSupport ? true, libpulseaudio @@ -6,8 +7,8 @@ assert pulseaudioSupport -> libpulseaudio != null; -stdenv.mkDerivation rec { - name = "gqrx-${version}"; +mkDerivation rec { + pname = "gqrx"; version = "2.11.5"; src = fetchFromGitHub { @@ -19,7 +20,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ - qtbase qtsvg gnuradio boost gnuradio-osmosdr rtl-sdr hackrf + qtbase qtsvg gnuradio boost gr-osmosdr rtl-sdr hackrf ] ++ stdenv.lib.optionals pulseaudioSupport [ libpulseaudio ]; enableParallelBuilding = true; diff --git a/pkgs/applications/radio/hackrf/default.nix b/pkgs/applications/radio/hackrf/default.nix index 81a66bf503c..09b4c84c131 100644 --- a/pkgs/applications/radio/hackrf/default.nix +++ b/pkgs/applications/radio/hackrf/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, libusb, fftwSinglePrec }: stdenv.mkDerivation rec { - name = "hackrf-${version}"; + pname = "hackrf"; version = "2018.01.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/radio/limesuite/default.nix b/pkgs/applications/radio/limesuite/default.nix index ef9b28b36f8..4e69b11efbf 100644 --- a/pkgs/applications/radio/limesuite/default.nix +++ b/pkgs/applications/radio/limesuite/default.nix @@ -4,16 +4,17 @@ } : let - version = "19.01.0"; + version = "19.04.0"; in stdenv.mkDerivation { - name = "limesuite-${version}"; + pname = "limesuite"; + inherit version; src = fetchFromGitHub { owner = "myriadrf"; repo = "LimeSuite"; rev = "v${version}"; - sha256 = "1r03kc1pvlhkvp19qbw7f5qzxx48z2v638f0xpawf6d1nwfky1n3"; + sha256 = "1lrjrli0ny25qwg8bw1bvbdb18hf7ffqj4ziibkgzscv3w5v0s45"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/radio/minimodem/default.nix b/pkgs/applications/radio/minimodem/default.nix index 8d179e8eed1..55cd14cf70d 100644 --- a/pkgs/applications/radio/minimodem/default.nix +++ b/pkgs/applications/radio/minimodem/default.nix @@ -5,7 +5,6 @@ stdenv.mkDerivation rec { version = "0.24-1"; pname = "minimodem"; - name = "${pname}-${version}"; src = fetchFromGitHub { owner = "kamalmostafa"; diff --git a/pkgs/applications/radio/multimon-ng/default.nix b/pkgs/applications/radio/multimon-ng/default.nix index b58872975ae..f624359c163 100644 --- a/pkgs/applications/radio/multimon-ng/default.nix +++ b/pkgs/applications/radio/multimon-ng/default.nix @@ -1,15 +1,16 @@ { stdenv, fetchFromGitHub, qt4, qmake4Hook, libpulseaudio }: let - version = "1.1.7"; + version = "1.1.8"; in stdenv.mkDerivation { - name = "multimon-ng-${version}"; + pname = "multimon-ng"; + inherit version; src = fetchFromGitHub { owner = "EliasOenal"; repo = "multimon-ng"; rev = "${version}"; - sha256 = "11wfk8jw86z44y0ji4jr4s8ig3zwxp6g9h3sl81pvk6l3ipqqbgi"; + sha256 = "1973xfyvzl1viz19zr83cgqlx5laxbjrca35rqabn6dlb6xb5xk8"; }; buildInputs = [ qt4 libpulseaudio ]; diff --git a/pkgs/applications/radio/qradiolink/default.nix b/pkgs/applications/radio/qradiolink/default.nix index 63906d996ba..a1c1f625bea 100644 --- a/pkgs/applications/radio/qradiolink/default.nix +++ b/pkgs/applications/radio/qradiolink/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, alsaLib, boost , qt4, libpulseaudio, codec2, libconfig -, gnuradio, gnuradio-osmosdr, gsm +, gnuradio, gr-osmosdr, gsm , libopus, libjpeg, protobuf, qwt, speex } : @@ -8,7 +8,8 @@ let version = "0.5.0"; in stdenv.mkDerivation { - name = "qradiolink-${version}"; + pname = "qradiolink"; + inherit version; src = fetchFromGitHub { owner = "kantooon"; @@ -39,7 +40,7 @@ in stdenv.mkDerivation { libconfig gsm gnuradio - gnuradio-osmosdr + gr-osmosdr libopus libjpeg protobuf diff --git a/pkgs/applications/radio/qsstv/default.nix b/pkgs/applications/radio/qsstv/default.nix index c8401cdbf49..db1bfbb3f89 100644 --- a/pkgs/applications/radio/qsstv/default.nix +++ b/pkgs/applications/radio/qsstv/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { version = "9.2.6"; - name = "qsstv-${version}"; + pname = "qsstv"; src = fetchurl { url = "http://users.telenet.be/on4qz/qsstv/downloads/qsstv_${version}.tar.gz"; diff --git a/pkgs/applications/radio/rtl-sdr/default.nix b/pkgs/applications/radio/rtl-sdr/default.nix index aedc847ee69..4e9badaa6c5 100644 --- a/pkgs/applications/radio/rtl-sdr/default.nix +++ b/pkgs/applications/radio/rtl-sdr/default.nix @@ -1,7 +1,7 @@ -{ stdenv, lib, fetchpatch, fetchgit, cmake, pkgconfig, libusb1 }: +{ stdenv, fetchgit, cmake, pkgconfig, libusb1 }: stdenv.mkDerivation rec { - name = "rtl-sdr-${version}"; + pname = "rtl-sdr"; version = "0.6.0"; src = fetchgit { diff --git a/pkgs/applications/radio/rtl_433/default.nix b/pkgs/applications/radio/rtl_433/default.nix index 5d012437e6e..a06ac2d7a03 100644 --- a/pkgs/applications/radio/rtl_433/default.nix +++ b/pkgs/applications/radio/rtl_433/default.nix @@ -1,8 +1,11 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libusb1, rtl-sdr }: +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig +, libusb1, rtl-sdr, soapysdr-with-plugins +}: + stdenv.mkDerivation rec { version = "18.12"; - name = "rtl_433-${version}"; + pname = "rtl_433"; src = fetchFromGitHub { owner = "merbanan"; @@ -13,7 +16,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ libusb1 rtl-sdr ]; + buildInputs = [ libusb1 rtl-sdr soapysdr-with-plugins ]; meta = with stdenv.lib; { description = "Decode traffic from devices that broadcast on 433.9 MHz"; diff --git a/pkgs/applications/radio/sdrangel/default.nix b/pkgs/applications/radio/sdrangel/default.nix new file mode 100644 index 00000000000..346c6aeed8e --- /dev/null +++ b/pkgs/applications/radio/sdrangel/default.nix @@ -0,0 +1,76 @@ +{ +airspy, +boost, +cm256cc, +cmake, +codec2, +fetchFromGitHub, +fftwFloat, +glew, +hackrf, +lib, +libav, +libiio, +libopus, +libpulseaudio, +libusb, +limesuite, +mkDerivation, +ocl-icd, +opencv3, +pkgconfig, +qtbase, +qtmultimedia, +qtwebsockets, +rtl-sdr, +serialdv +}: + +let + + codec2' = codec2.overrideAttrs (old: { + src = fetchFromGitHub { + owner = "drowe67"; + repo = "codec2"; + rev = "567346818c0d4d697773cf66d925fdb031e15668"; + sha256 = "0ngqlh2cw5grx2lg7xj8baz6p55gfhq4caggxkb4pxlg817pwbpa"; + }; + }); + +in mkDerivation rec { + pname = "sdrangel"; + version = "4.11.7"; + + src = fetchFromGitHub { + owner = "f4exb"; + repo = "sdrangel"; + rev = "v${version}"; + sha256 = "0zbx0gklylk8npb3wnnmqpam0pdxl40f20i3wzwwh4gqrppxywzx"; + fetchSubmodules = false; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + buildInputs = [ + glew opencv3 libusb boost libopus limesuite libav libiio libpulseaudio + qtbase qtwebsockets qtmultimedia rtl-sdr airspy hackrf + fftwFloat codec2' cm256cc serialdv + ]; + cmakeFlags = [ + "-DLIBSERIALDV_INCLUDE_DIR:PATH=${serialdv}/include/serialdv" + "-DLIMESUITE_INCLUDE_DIR:PATH=${limesuite}/include" + "-DLIMESUITE_LIBRARY:FILEPATH=${limesuite}/lib/libLimeSuite.so" + ]; + + LD_LIBRARY_PATH = "${ocl-icd}/lib"; + + meta = with lib; { + description = "Software defined radio (SDR) software"; + longDescription = '' + SDRangel is an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware. + ''; + homepage = "https://github.com/f4exb/sdrangel"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ alkeryn ]; + }; +} diff --git a/pkgs/applications/radio/soapyairspy/default.nix b/pkgs/applications/radio/soapyairspy/default.nix index 1d8056ca1e8..eacbe66e5e5 100644 --- a/pkgs/applications/radio/soapyairspy/default.nix +++ b/pkgs/applications/radio/soapyairspy/default.nix @@ -6,7 +6,8 @@ let version = "0.1.2"; in stdenv.mkDerivation { - name = "soapyairspy-${version}"; + pname = "soapyairspy"; + inherit version; src = fetchFromGitHub { owner = "pothosware"; diff --git a/pkgs/applications/radio/soapybladerf/default.nix b/pkgs/applications/radio/soapybladerf/default.nix index 5472254b19d..0bb05a204da 100644 --- a/pkgs/applications/radio/soapybladerf/default.nix +++ b/pkgs/applications/radio/soapybladerf/default.nix @@ -6,7 +6,8 @@ let version = "0.4.1"; in stdenv.mkDerivation { - name = "soapybladerf-${version}"; + pname = "soapybladerf"; + inherit version; src = fetchFromGitHub { owner = "pothosware"; diff --git a/pkgs/applications/radio/soapyhackrf/default.nix b/pkgs/applications/radio/soapyhackrf/default.nix index 2c5dd058ced..5ab4c3363f4 100644 --- a/pkgs/applications/radio/soapyhackrf/default.nix +++ b/pkgs/applications/radio/soapyhackrf/default.nix @@ -6,7 +6,8 @@ let version = "0.3.3"; in stdenv.mkDerivation { - name = "soapyhackrf-${version}"; + pname = "soapyhackrf"; + inherit version; src = fetchFromGitHub { owner = "pothosware"; diff --git a/pkgs/applications/radio/soapyremote/default.nix b/pkgs/applications/radio/soapyremote/default.nix index a0057978ea3..2f73403a168 100644 --- a/pkgs/applications/radio/soapyremote/default.nix +++ b/pkgs/applications/radio/soapyremote/default.nix @@ -4,7 +4,8 @@ let version = "0.5.1"; in stdenv.mkDerivation { - name = "soapyremote-${version}"; + pname = "soapyremote"; + inherit version; src = fetchFromGitHub { owner = "pothosware"; diff --git a/pkgs/applications/radio/soapyrtlsdr/default.nix b/pkgs/applications/radio/soapyrtlsdr/default.nix index d85fe347cd7..8bf473cb36a 100644 --- a/pkgs/applications/radio/soapyrtlsdr/default.nix +++ b/pkgs/applications/radio/soapyrtlsdr/default.nix @@ -6,7 +6,8 @@ let version = "0.3.0"; in stdenv.mkDerivation { - name = "soapyrtlsdr-${version}"; + pname = "soapyrtlsdr"; + inherit version; src = fetchFromGitHub { owner = "pothosware"; diff --git a/pkgs/applications/radio/soapysdr/default.nix b/pkgs/applications/radio/soapysdr/default.nix index 6754e8f2a55..5e4a78cfbd2 100644 --- a/pkgs/applications/radio/soapysdr/default.nix +++ b/pkgs/applications/radio/soapysdr/default.nix @@ -13,7 +13,8 @@ let extraPackagesSearchPath = lib.makeSearchPath modulesPath extraPackages; in stdenv.mkDerivation { - name = "soapysdr-${version}"; + pname = "soapysdr"; + inherit version; src = fetchFromGitHub { owner = "pothosware"; diff --git a/pkgs/applications/radio/soapyuhd/default.nix b/pkgs/applications/radio/soapyuhd/default.nix index f7c0f27160d..9e910584158 100644 --- a/pkgs/applications/radio/soapyuhd/default.nix +++ b/pkgs/applications/radio/soapyuhd/default.nix @@ -3,16 +3,17 @@ } : let - version = "0.3.5"; + version = "0.3.6"; in stdenv.mkDerivation { - name = "soapyuhd-${version}"; + pname = "soapyuhd"; + inherit version; src = fetchFromGitHub { owner = "pothosware"; repo = "SoapyUHD"; rev = "soapy-uhd-${version}"; - sha256 = "07cr4zk42d0l5g03wm7dzl5lmqr104hmzp1fdjqa1z7xq4v9c9b1"; + sha256 = "11kp5iv21k8lqwjjydzqmcxdgpm6yicw6d3jhzvcvwcavd41crs7"; }; nativeBuildInputs = [ cmake pkgconfig ]; diff --git a/pkgs/applications/radio/uhd/default.nix b/pkgs/applications/radio/uhd/default.nix index 484e8787d50..b3ff0f51f11 100644 --- a/pkgs/applications/radio/uhd/default.nix +++ b/pkgs/applications/radio/uhd/default.nix @@ -12,22 +12,23 @@ let # UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz # and xxx.yyy.zzz. Hrmpf... style keeps changing - version = "3.13.0.1"; + version = "3.14.0.0"; # Firmware images are downloaded (pre-built) from the respective release on Github uhdImagesSrc = fetchurl { url = "https://github.com/EttusResearch/uhd/releases/download/${uhdVer}/uhd-images_${version}.tar.xz"; - sha256 = "0y9i93z188ch0hdlkvv0k9m0k7vns7rbxaqsnk35xnlqlxxgqdvj"; + sha256 = "1fp37wgqkbr14cxg9l7ghfd4r92y2bxwgb7cfjzs96hbpd9s6al0"; }; in stdenv.mkDerivation { - name = "uhd-${version}"; + pname = "uhd"; + inherit version; src = fetchFromGitHub { owner = "EttusResearch"; repo = "uhd"; rev = "${uhdVer}"; - sha256 = "0si49qk96zhpanmcrzlr3igc5s1y30x4p0z973q60dx9fhqsbb6k"; + sha256 = "0y1hff4vslfv36vxgvjqajg4862a11d4wgr0vcb0visgh1bi8qgy"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/radio/unixcw/default.nix b/pkgs/applications/radio/unixcw/default.nix index 2aeba5fb5f4..fe31fd133e7 100644 --- a/pkgs/applications/radio/unixcw/default.nix +++ b/pkgs/applications/radio/unixcw/default.nix @@ -1,6 +1,6 @@ {stdenv, fetchurl, libpulseaudio, alsaLib , pkgconfig, qt5}: stdenv.mkDerivation rec { - name = "unixcw-${version}"; + pname = "unixcw"; version = "3.5.1"; src = fetchurl { url = "mirror://sourceforge/unixcw/unixcw_${version}.orig.tar.gz"; diff --git a/pkgs/applications/radio/urh/default.nix b/pkgs/applications/radio/urh/default.nix index 8f490c971c7..a1b92e7e4e1 100644 --- a/pkgs/applications/radio/urh/default.nix +++ b/pkgs/applications/radio/urh/default.nix @@ -1,28 +1,31 @@ -{ stdenv, fetchFromGitHub, python3Packages -, hackrf, rtl-sdr, airspy, limesuite }: +{ stdenv, lib, fetchFromGitHub, python3Packages +, hackrf, rtl-sdr, airspy, limesuite, libiio +, USRPSupport ? false, uhd }: python3Packages.buildPythonApplication rec { - name = "urh-${version}"; - version = "2.5.5"; + pname = "urh"; + version = "2.7.3"; src = fetchFromGitHub { owner = "jopohl"; - repo = "urh"; + repo = pname; rev = "v${version}"; - sha256 = "14aw8bvqb32976qmm124i5sv99nwv1jvs1r9ylbsmlg31dvla7ql"; + sha256 = "1jrrj9c4ddm37m8j0g693xjimpnlvx7lan5kxish5p14xpwdak35"; }; - buildInputs = [ hackrf rtl-sdr airspy limesuite ]; + buildInputs = [ hackrf rtl-sdr airspy limesuite libiio ] + ++ lib.optional USRPSupport uhd; + propagatedBuildInputs = with python3Packages; [ - pyqt5 numpy psutil cython pyzmq + pyqt5 numpy psutil cython pyzmq pyaudio ]; doCheck = false; - meta = with stdenv.lib; { - inherit (src.meta) homepage; + meta = with lib; { + homepage = "https://github.com/jopohl/urh"; description = "Universal Radio Hacker: investigate wireless protocols like a boss"; - license = licenses.asl20; + license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ fpletz ]; }; diff --git a/pkgs/applications/radio/welle-io/default.nix b/pkgs/applications/radio/welle-io/default.nix index acf0226c0db..c6b09595c20 100644 --- a/pkgs/applications/radio/welle-io/default.nix +++ b/pkgs/applications/radio/welle-io/default.nix @@ -7,7 +7,8 @@ let in stdenv.mkDerivation { - name = "welle-io-${version}"; + pname = "welle-io"; + inherit version; src = fetchFromGitHub { owner = "AlbrechtL"; diff --git a/pkgs/applications/radio/wsjtx/default.nix b/pkgs/applications/radio/wsjtx/default.nix index 930515b9382..36d3f14818f 100644 --- a/pkgs/applications/radio/wsjtx/default.nix +++ b/pkgs/applications/radio/wsjtx/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchurl, asciidoc, asciidoctor, autoconf, automake, cmake, - docbook_xsl, fftw, fftwFloat, gfortran, libtool, qtbase, - qtmultimedia, qtserialport, texinfo, libusb1 }: + docbook_xsl, fftw, fftwFloat, gfortran, libtool, libusb1, qtbase, + qtmultimedia, qtserialport, qttools, texinfo, wrapQtAppsHook }: stdenv.mkDerivation rec { - name = "wsjtx-${version}"; - version = "2.0.0"; + pname = "wsjtx"; + version = "2.1.0"; # This is a "superbuild" tarball containing both wsjtx and a hamlib fork src = fetchurl { url = "http://physics.princeton.edu/pulsar/k1jt/wsjtx-${version}.tgz"; - sha256 = "66434f69f256742da1fe057ec51e4464cab2614f0bfb1a310c04a385b77bd014"; + sha256 = "04flhyfw0djnnbrzh3f5lx06bnn92khchz3bmswk8if8n8j58v4y"; }; # 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 + qttools texinfo wrapQtAppsHook ]; buildInputs = [ fftw fftwFloat libusb1 qtbase qtmultimedia qtserialport ]; @@ -29,16 +29,16 @@ stdenv.mkDerivation rec { 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 + WSJT-X implements communication protocols or "modes" called FT4, 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; + homepage = "https://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 ]; + maintainers = with maintainers; [ lasandell ]; }; } diff --git a/pkgs/applications/radio/wsjtx/wsjtx.patch b/pkgs/applications/radio/wsjtx/wsjtx.patch index e92b420e58a..fd7c40fdc13 100644 --- a/pkgs/applications/radio/wsjtx/wsjtx.patch +++ b/pkgs/applications/radio/wsjtx/wsjtx.patch @@ -2,11 +2,12 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e7e816b..e7dbb14a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -860,6 +860,7 @@ find_package (Qt5Widgets 5 REQUIRED) - find_package (Qt5Multimedia 5 REQUIRED) - find_package (Qt5PrintSupport 5 REQUIRED) - find_package (Qt5Sql 5 REQUIRED) -+find_package (Qt5SerialPort 5 REQUIRED) +@@ -885,6 +885,6 @@ + # + + # Widgets finds its own dependencies. +-find_package (Qt5 COMPONENTS Widgets Multimedia PrintSupport Sql LinguistTools REQUIRED) ++find_package (Qt5 COMPONENTS Widgets Multimedia PrintSupport Sql LinguistTools SerialPort REQUIRED) if (WIN32) add_definitions (-DQT_NEEDS_QTMAIN) diff --git a/pkgs/applications/science/astronomy/astrolabe-generator/default.nix b/pkgs/applications/science/astronomy/astrolabe-generator/default.nix index 3150d41ca9f..32d89866b5a 100644 --- a/pkgs/applications/science/astronomy/astrolabe-generator/default.nix +++ b/pkgs/applications/science/astronomy/astrolabe-generator/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, jre, makeWrapper, unzip }: stdenv.mkDerivation rec { - name = "astrolabe-generator-${version}"; + pname = "astrolabe-generator"; version = "3.3"; src = fetchurl { diff --git a/pkgs/applications/science/astronomy/gildas/default.nix b/pkgs/applications/science/astronomy/gildas/default.nix index 57cecb3cb4c..968d8769caa 100644 --- a/pkgs/applications/science/astronomy/gildas/default.nix +++ b/pkgs/applications/science/astronomy/gildas/default.nix @@ -7,16 +7,16 @@ let in stdenv.mkDerivation rec { - srcVersion = "feb19b"; - version = "20190201_b"; - name = "gildas-${version}"; + srcVersion = "jul19a"; + version = "20190701_a"; + pname = "gildas"; src = fetchurl { # For each new release, the upstream developers of Gildas move the # source code of the previous release to a different directory - urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.gz" - "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.gz" ]; - sha256 = "5b6da12ac869176d7a9a3d6a6620db1dbaa44a4785e2dd59dd1a8c38ea9cab87"; + urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz" + "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ]; + sha256 = "97eaa0d0a0f53f0616462642a9bfaddb0305a8a0948e60531d8a524a13a370b6"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/science/astronomy/gpredict/default.nix b/pkgs/applications/science/astronomy/gpredict/default.nix index 9bacf6d9041..ff273ab8e95 100644 --- a/pkgs/applications/science/astronomy/gpredict/default.nix +++ b/pkgs/applications/science/astronomy/gpredict/default.nix @@ -6,7 +6,8 @@ let version = "2.2.1"; in stdenv.mkDerivation { - name = "gpredict-${version}"; + pname = "gpredict"; + inherit version; src = fetchurl { url = "https://github.com/csete/gpredict/releases/download/v${version}/gpredict-${version}.tar.bz2"; diff --git a/pkgs/applications/science/astronomy/openspace/default.nix b/pkgs/applications/science/astronomy/openspace/default.nix index ee3a71cf181..cfdd320d201 100644 --- a/pkgs/applications/science/astronomy/openspace/default.nix +++ b/pkgs/applications/science/astronomy/openspace/default.nix @@ -4,8 +4,8 @@ stdenv.mkDerivation rec { version = "0.11.1"; - name = "openspace-${version}"; - + pname = "openspace"; + src = fetchFromGitHub { owner = "OpenSpace"; repo = "OpenSpace"; @@ -13,37 +13,37 @@ stdenv.mkDerivation rec { sha256 = "0msqixf30r0d41xmfmzkdfw6w9jkx2ph5clq8xiwrg1jc3z9q7nv"; fetchSubmodules = true; }; - + buildInputs = [ makeWrapper cmake curl boost gdal glew soil libX11 libXi libXxf86vm libXcursor libXrandr libXinerama ]; - + glmPlatformH = fetchurl { url = "https://raw.githubusercontent.com/g-truc/glm/dd48b56e44d699a022c69155c8672caacafd9e8a/glm/simd/platform.h"; sha256 = "0y91hlbgn5va7ijg5mz823gqkq9hqxl00lwmdwnf8q2g086rplzw"; }; - + # See prePatch = '' cp ${glmPlatformH} ext/sgct/include/glm/simd/platform.h cp ${glmPlatformH} ext/ghoul/ext/glm/glm/simd/platform.h ''; - + patches = [ # See ./vrpn.patch - + ./constexpr.patch ./config.patch # WARNING: This patch disables some slow torrents in a very dirty way. - ./assets.patch + ./assets.patch ]; - + bundle = "$out/usr/share/openspace"; - + preConfigure = '' cmakeFlagsArray=( $cmakeFlagsArray @@ -51,28 +51,28 @@ stdenv.mkDerivation rec { "-DCMAKE_INSTALL_PREFIX=${bundle}" ) ''; - + preInstall = '' mkdir -p $out/bin mkdir -p ${bundle} ''; - + postInstall = '' cp ext/spice/libSpice.so ${bundle}/lib cp ext/ghoul/ext/lua/libLua.so ${bundle}/lib ''; - + postFixup = '' for bin in ${bundle}/bin/* do rpath=$(patchelf --print-rpath $bin) patchelf --set-rpath $rpath:${bundle}/lib $bin - + name=$(basename $bin) makeWrapper $bin $out/bin/$name --run "cd ${bundle}" done ''; - + meta = { description = "Open-source astrovisualization project"; longDescription = '' @@ -85,5 +85,6 @@ stdenv.mkDerivation rec { homepage = https://www.openspaceproject.com/; license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.linux; + broken = true; # fails to build }; } diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix index eb7ba2a8c9c..ecca9141d9f 100644 --- a/pkgs/applications/science/astronomy/stellarium/default.nix +++ b/pkgs/applications/science/astronomy/stellarium/default.nix @@ -1,32 +1,27 @@ { mkDerivation, lib, fetchFromGitHub , cmake, freetype, libpng, libGLU_combined, openssl, perl, libiconv , qtscript, qtserialport, qttools -, qtmultimedia, qtlocation, makeWrapper, qtbase +, qtmultimedia, qtlocation, qtbase, wrapQtAppsHook }: mkDerivation rec { - name = "stellarium-${version}"; - version = "0.18.3"; + pname = "stellarium"; + version = "0.19.1"; src = fetchFromGitHub { owner = "Stellarium"; repo = "stellarium"; rev = "v${version}"; - sha256 = "1cnwfk3vdsxh8gacw22qik401z0kpzd1ralbg9ph2cjqx9x2m1s1"; + sha256 = "0hf1wv2bb5j7ny2xh29mj9m4hjblhn02zylay8gl85w7xlqs7s5r"; }; - nativeBuildInputs = [ cmake perl ]; + nativeBuildInputs = [ cmake perl wrapQtAppsHook ]; buildInputs = [ freetype libpng libGLU_combined openssl libiconv qtscript qtserialport qttools - qtmultimedia qtlocation qtbase makeWrapper + qtmultimedia qtlocation qtbase ]; - postInstall = '' - wrapProgram $out/bin/stellarium \ - --prefix QT_PLUGIN_PATH : "${qtbase}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins" - ''; - meta = with lib; { description = "Free open-source planetarium"; homepage = http://stellarium.org/; diff --git a/pkgs/applications/science/astronomy/xearth/default.nix b/pkgs/applications/science/astronomy/xearth/default.nix index fef4ca1907f..e9fc0607998 100644 --- a/pkgs/applications/science/astronomy/xearth/default.nix +++ b/pkgs/applications/science/astronomy/xearth/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, imake, gccmakedep, libXt, libXext }: stdenv.mkDerivation rec { - name = "xearth-${version}"; + pname = "xearth"; version = "1.1"; src = fetchurl { - url = "http://xearth.org/${name}.tar.gz"; + url = "http://xearth.org/${pname}-${version}.tar.gz"; sha256 = "bcb1407cc35b3f6dd3606b2c6072273b6a912cbd9ed1ae22fb2d26694541309c"; }; diff --git a/pkgs/applications/science/astronomy/xplanet/default.nix b/pkgs/applications/science/astronomy/xplanet/default.nix index 7abd83b6dc1..5f02dc27a22 100644 --- a/pkgs/applications/science/astronomy/xplanet/default.nix +++ b/pkgs/applications/science/astronomy/xplanet/default.nix @@ -17,6 +17,8 @@ stdenv.mkDerivation rec { ./gcc6.patch ]; + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=c++11-narrowing"; + meta = { description = "Renders an image of the earth or other planets into the X root window"; homepage = http://xplanet.sourceforge.net; diff --git a/pkgs/applications/science/biology/ants/default.nix b/pkgs/applications/science/biology/ants/default.nix index f54bd9af028..d1a990a5eb2 100644 --- a/pkgs/applications/science/biology/ants/default.nix +++ b/pkgs/applications/science/biology/ants/default.nix @@ -15,9 +15,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake makeWrapper ]; buildInputs = [ itk vtk ]; - cmakeFlags = [ "-DANTS_SUPERBUILD=FALSE" "-DUSE_VTK=TRUE" - # as cmake otherwise tries to download test data: - "-DBUILD_TESTING=FALSE" ]; + cmakeFlags = [ "-DANTS_SUPERBUILD=FALSE" "-DUSE_VTK=TRUE" ]; enableParallelBuilding = true; diff --git a/pkgs/applications/science/biology/aragorn/default.nix b/pkgs/applications/science/biology/aragorn/default.nix new file mode 100644 index 00000000000..a5f0ebc18ab --- /dev/null +++ b/pkgs/applications/science/biology/aragorn/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + version = "1.2.38"; + pname = "aragorn"; + + src = fetchurl { + url = "http://mbio-serv2.mbioekol.lu.se/ARAGORN/Downloads/${pname}${version}.tgz"; + sha256 = "09i1rg716smlbnixfm7q1ml2mfpaa2fpn3hwjg625ysmfwwy712b"; + }; + + buildPhase = '' + gcc -O3 -ffast-math -finline-functions -o aragorn aragorn${version}.c + ''; + + installPhase = '' + mkdir -p $out/bin && cp aragorn $out/bin + mkdir -p $out/man/1 && cp aragorn.1 $out/man/1 + ''; + + meta = with stdenv.lib; { + description = "Detects tRNA, mtRNA, and tmRNA genes in nucleotide sequences"; + homepage = http://mbio-serv2.mbioekol.lu.se/ARAGORN/; + license = licenses.gpl2; + maintainers = [ maintainers.bzizou ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/science/biology/bcftools/default.nix b/pkgs/applications/science/biology/bcftools/default.nix index 539d7c22446..d8ffbb74e6b 100644 --- a/pkgs/applications/science/biology/bcftools/default.nix +++ b/pkgs/applications/science/biology/bcftools/default.nix @@ -1,12 +1,11 @@ { stdenv, fetchurl, htslib, zlib, bzip2, lzma, curl, perl, python, bash }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "bcftools"; version = "1.9"; src = fetchurl { - url = "https://github.com/samtools/bcftools/releases/download/${version}/${name}.tar.bz2"; + url = "https://github.com/samtools/bcftools/releases/download/${version}/${pname}-${version}.tar.bz2"; sha256 = "1j3h638i8kgihzyrlnpj82xg1b23sijibys9hvwari3fy7kd0dkg"; }; diff --git a/pkgs/applications/science/biology/bedtools/default.nix b/pkgs/applications/science/biology/bedtools/default.nix index 406f42e9ad7..b5bc3b622b9 100644 --- a/pkgs/applications/science/biology/bedtools/default.nix +++ b/pkgs/applications/science/biology/bedtools/default.nix @@ -1,17 +1,17 @@ -{stdenv, fetchFromGitHub, zlib, python}: +{stdenv, fetchFromGitHub, zlib, python, bzip2, lzma}: stdenv.mkDerivation rec { - name = "bedtools-${version}"; - version = "2.27.1"; + pname = "bedtools"; + version = "2.28.0"; src = fetchFromGitHub { owner = "arq5x"; repo = "bedtools2"; rev = "v${version}"; - sha256 = "1pk68y052rm2m24yfmy82ms8p6kd6xcqxxgi7n0a1sbh89wllm6s"; + sha256 = "1266bcn5hgbvysfi6nr4cqxlbxcx7vn7ng8kb0v3gz37qh2zxxw9"; }; - buildInputs = [ zlib python ]; + buildInputs = [ zlib python bzip2 lzma ]; cc = if stdenv.cc.isClang then "clang++" else "g++"; buildPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cc} -j $NIX_BUILD_CORES"; installPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cc} install"; diff --git a/pkgs/applications/science/biology/bftools/default.nix b/pkgs/applications/science/biology/bftools/default.nix index 24a6e052df9..15829104934 100644 --- a/pkgs/applications/science/biology/bftools/default.nix +++ b/pkgs/applications/science/biology/bftools/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, makeWrapper, fetchzip, jre }: stdenv.mkDerivation rec { - name = "bftools-${version}"; + pname = "bftools"; version = "5.9.2"; src = fetchzip { diff --git a/pkgs/applications/science/biology/bowtie2/default.nix b/pkgs/applications/science/biology/bowtie2/default.nix index e97b5d1a3f4..962428d67cf 100644 --- a/pkgs/applications/science/biology/bowtie2/default.nix +++ b/pkgs/applications/science/biology/bowtie2/default.nix @@ -2,14 +2,13 @@ stdenv.mkDerivation rec { pname = "bowtie2"; - version = "2.3.4.3"; - name = "${pname}-${version}"; + version = "2.3.5.1"; src = fetchFromGitHub { owner = "BenLangmead"; repo = pname; rev = "v${version}"; - sha256 = "1zl3cf327y2p7p03cavymbh7b00djc7lncfaqih33n96iy9q8ibp"; + sha256 = "1l1f0yhjqqvy4lpxfml1xwv7ayimwbpzazvp0281gb4jb5f5mr1a"; }; buildInputs = [ zlib tbb python perl ]; diff --git a/pkgs/applications/science/biology/bwa/default.nix b/pkgs/applications/science/biology/bwa/default.nix index d1dbacf053f..5e39320bf83 100644 --- a/pkgs/applications/science/biology/bwa/default.nix +++ b/pkgs/applications/science/biology/bwa/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, zlib }: stdenv.mkDerivation rec { - name = "bwa-${version}"; + pname = "bwa"; version = "0.7.17"; src = fetchurl { - url = "mirror://sourceforge/bio-bwa/${name}.tar.bz2"; + url = "mirror://sourceforge/bio-bwa/${pname}-${version}.tar.bz2"; sha256 = "1zfhv2zg9v1icdlq4p9ssc8k01mca5d1bd87w71py2swfi74s6yy"; }; diff --git a/pkgs/applications/science/biology/cd-hit/default.nix b/pkgs/applications/science/biology/cd-hit/default.nix new file mode 100644 index 00000000000..1a41a28a19a --- /dev/null +++ b/pkgs/applications/science/biology/cd-hit/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, makeWrapper, zlib, perl, perlPackages }: + +stdenv.mkDerivation rec { + version = "4.8.1"; + pname = "cd-hit"; + + src = fetchFromGitHub { + owner = "weizhongli"; + repo = "cdhit"; + rev = "V${version}"; + sha256 = "032nva6iiwmw59gjipm1mv0xlcckhxsf45mc2qbnv19lbis0q22i"; + }; + + propagatedBuildInputs = [ perl perlPackages.TextNSP perlPackages.PerlMagick perlPackages.Storable ]; + + nativeBuildInputs = [ zlib makeWrapper ]; + + makeFlags = [ "PREFIX=$(out)/bin" ]; + + preInstall = "mkdir -p $out/bin"; + + postFixup = '' + wrapProgram $out/bin/FET.pl --prefix PERL5LIB : $PERL5LIB + wrapProgram $out/bin/plot_2d.pl --prefix PERL5LIB : $PERL5LIB + wrapProgram $out/bin/clstr_list_sort.pl --prefix PERL5LIB : $PERL5LIB + ''; + meta = with stdenv.lib; { + description = "Clustering and comparing protein or nucleotide sequences"; + homepage = http://weizhongli-lab.org/cd-hit/; + license = licenses.gpl2; + maintainers = [ maintainers.bzizou ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/science/biology/clustal-omega/default.nix b/pkgs/applications/science/biology/clustal-omega/default.nix new file mode 100644 index 00000000000..00acc25028c --- /dev/null +++ b/pkgs/applications/science/biology/clustal-omega/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, argtable }: + +stdenv.mkDerivation rec { + version = "1.2.4"; + pname = "clustal-omega"; + + src = fetchurl { + url = "http://www.clustal.org/omega/${pname}-${version}.tar.gz"; + sha256 = "1vm30mzncwdv881vrcwg11vzvrsmwy4wg80j5i0lcfk6dlld50w6"; + }; + + buildInputs = [ argtable ]; + + preConfigure = '' + for f in configure \ + src/clustal-omega-config.h \ + src/clustal-omega-config.h \ + src/config.h.in \ + src/mymain.c + do + sed -i -re 's/argtable2/argtable3/g' $f + done + ''; + + meta = with stdenv.lib; { + description = "General purpose multiple sequence alignment program for protein and DNA/RNA"; + homepage = http://www.clustal.org/omega/; + license = licenses.gpl2; + maintainers = [ maintainers.bzizou ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/science/biology/cmtk/default.nix b/pkgs/applications/science/biology/cmtk/default.nix index ed661db23e0..56de61da1c5 100644 --- a/pkgs/applications/science/biology/cmtk/default.nix +++ b/pkgs/applications/science/biology/cmtk/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { buildInputs = [cmake]; + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=c++11-narrowing"; + meta = with stdenv.lib; { description = "Computational Morphometry Toolkit "; longDescription = ''A software toolkit for computational morphometry of diff --git a/pkgs/applications/science/biology/dcm2niix/default.nix b/pkgs/applications/science/biology/dcm2niix/default.nix index 781ceb3df59..63d51de9930 100644 --- a/pkgs/applications/science/biology/dcm2niix/default.nix +++ b/pkgs/applications/science/biology/dcm2niix/default.nix @@ -2,21 +2,22 @@ , fetchFromGitHub , cmake , libyamlcpp +, git }: stdenv.mkDerivation rec { - version = "1.0.20170130"; - name = "dcm2niix-${version}"; + version = "1.0.20190410"; + pname = "dcm2niix"; src = fetchFromGitHub { owner = "rordenlab"; repo = "dcm2niix"; rev = "v${version}"; - sha256 = "1f2nzd8flp1rfn725bi64z7aw3ccxyyygzarxijw6pvgl476i532"; + sha256 = "1prwpvbi76xlpkhc4kadjhyyx0s71cs30hi6anknhfm6hdyd26ms"; }; enableParallelBuilding = true; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake git ]; buildInputs = [ libyamlcpp ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/science/biology/eggnog-mapper/default.nix b/pkgs/applications/science/biology/eggnog-mapper/default.nix new file mode 100644 index 00000000000..c9a9b55c31e --- /dev/null +++ b/pkgs/applications/science/biology/eggnog-mapper/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, fetchpatch, makeWrapper, python27Packages, wget, diamond, hmmer }: + +python27Packages.buildPythonApplication rec { + pname = "eggnog-mapper"; + version = "1.0.3"; + + src = fetchFromGitHub { + owner = "eggnogdb"; + repo = "eggnog-mapper"; + rev = "${version}"; + sha256 = "1aaaflppy84bhkh2hb5gnzm4xgrz0rz0cgfpadr9w8cva8p0sqdv"; + }; + + patches = (fetchpatch { + url = "https://github.com/eggnogdb/eggnog-mapper/commit/6972f601ade85b65090efca747d2302acb58507f.patch"; + sha256 = "0abnmn0bh11jihf5d3cggiild1ykawzv5f5fhb4cyyi8fvy4hcxf"; + }); + + buildInputs = [ makeWrapper ]; + propagatedBuildInputs = [ python27Packages.biopython wget diamond hmmer ]; + + # make emapper find diamond & hmmer + makeWrapperArgs = [ + ''--prefix PATH ':' "${diamond}/bin"'' + ''--prefix PATH ':' "${hmmer}/bin"'' + ]; + + # Tests rely on some of the databases being available, which is not bundled + # with this package as (1) in total, they represent >100GB of data, and (2) + # the user can download only those that interest them. + doCheck = false; + + meta = with stdenv.lib; { + description = "Fast genome-wide functional annotation through orthology assignment"; + license = licenses.gpl2; + homepage = https://github.com/eggnogdb/eggnog-mapper/wiki; + maintainers = with maintainers; [ luispedro ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/science/biology/est-sfs/default.nix b/pkgs/applications/science/biology/est-sfs/default.nix new file mode 100644 index 00000000000..dcc72523355 --- /dev/null +++ b/pkgs/applications/science/biology/est-sfs/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, gsl }: + +stdenv.mkDerivation rec { + pname = "est-sfs"; + version = "2.03"; + + src = fetchurl { + url = "mirror://sourceforge/est-usfs/${pname}-release-${version}.tar.gz"; + sha256 = "1hvamrgagz0xi89w8qafyd9mjrdpyika8zm22drddnjkp4sdj65n"; + }; + + buildInputs = [ gsl ]; + + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/share/doc/${pname} + cp est-sfs $out/bin + cp est-sfs-documentation.pdf $out/share/doc/${pname} + ''; + + meta = with stdenv.lib; { + homepage = https://sourceforge.net/projects/est-usfs; + description = "Estimate the unfolded site frequency spectrum and ancestral states"; + license = licenses.gpl3; + maintainers = [ maintainers.bzizou ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/science/biology/exonerate/default.nix b/pkgs/applications/science/biology/exonerate/default.nix new file mode 100644 index 00000000000..1dd6b44692a --- /dev/null +++ b/pkgs/applications/science/biology/exonerate/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, glib, pkgconfig }: + +stdenv.mkDerivation rec { + version = "2.4.0"; + pname = "exonerate"; + + src = fetchurl { + url = "http://ftp.ebi.ac.uk/pub/software/vertebrategenomics/exonerate/${pname}-${version}.tar.gz"; + sha256 = "0hj0m9xygiqsdxvbg79wq579kbrx1mdrabi2bzqz2zn9qwfjcjgq"; + }; + + doCheck = true; + + buildInputs = [ glib ]; + + nativeBuildInputs = [ pkgconfig ]; + + meta = with stdenv.lib; { + description = "Generic tool for sequence alignment"; + homepage = https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate; + license = licenses.gpl3; + maintainers = [ maintainers.bzizou ]; + platforms = platforms.unix ; + }; +} diff --git a/pkgs/applications/science/biology/freebayes/default.nix b/pkgs/applications/science/biology/freebayes/default.nix index 1a15dcf6197..e1e84c9423b 100644 --- a/pkgs/applications/science/biology/freebayes/default.nix +++ b/pkgs/applications/science/biology/freebayes/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, zlib, bzip2, lzma }: stdenv.mkDerivation rec { - name = "freebayes-${version}"; + pname = "freebayes"; version = "2017-08-23"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/biology/hisat2/default.nix b/pkgs/applications/science/biology/hisat2/default.nix index 9ccf54a8113..82485630114 100644 --- a/pkgs/applications/science/biology/hisat2/default.nix +++ b/pkgs/applications/science/biology/hisat2/default.nix @@ -1,7 +1,7 @@ -{stdenv, fetchurl, unzip, which, python}: +{stdenv, fetchurl, unzip, which, python, perl}: stdenv.mkDerivation rec { - name = "hisat2-${version}"; + pname = "hisat2"; version = "2.1.0"; src = fetchurl { @@ -9,7 +9,8 @@ stdenv.mkDerivation rec { sha256 = "10g73sdf6vqqfhhd92hliw7bbpkb8v4pp5012r5l21zws7p7d8l9"; }; - buildInputs = [ unzip which python ]; + nativeBuildInputs = [ unzip which ]; + buildInputs = [ python perl ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/applications/science/biology/hmmer/default.nix b/pkgs/applications/science/biology/hmmer/default.nix index e43d48db55f..3adbaf0079e 100644 --- a/pkgs/applications/science/biology/hmmer/default.nix +++ b/pkgs/applications/science/biology/hmmer/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "3.2.1"; - name = "hmmer-${version}"; + pname = "hmmer"; src = fetchurl { - url = "http://eddylab.org/software/hmmer/${name}.tar.gz"; + url = "http://eddylab.org/software/hmmer/${pname}-${version}.tar.gz"; sha256 = "171bivy6xhgjsz5nv53n81pc3frnwz29ylblawk2bv46szwjjqd5"; }; diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix index 19ba508d758..412b55f5916 100644 --- a/pkgs/applications/science/biology/igv/default.nix +++ b/pkgs/applications/science/biology/igv/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, unzip, jre }: stdenv.mkDerivation rec { - name = "igv-${version}"; - version = "2.4.17"; + pname = "igv"; + version = "2.4.19"; src = fetchurl { url = "https://data.broadinstitute.org/igv/projects/downloads/2.4/IGV_${version}.zip"; - sha256 = "02zl0r1yhyllh000cad6pjk0ic0xm6l05jzkglsf8wdz17nh15nr"; + sha256 = "048dgrhxcb854d24kyjkqz12bw04bsv49i5jawb75yzkswwfkb0z"; }; buildInputs = [ unzip jre ]; diff --git a/pkgs/applications/science/biology/itsx/default.nix b/pkgs/applications/science/biology/itsx/default.nix new file mode 100644 index 00000000000..1ba8cdf22ba --- /dev/null +++ b/pkgs/applications/science/biology/itsx/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, hmmer, perl }: + +stdenv.mkDerivation rec { + version = "1.1.1"; + pname = "itsx"; + + src = fetchurl { + url = "http://microbiology.se/sw/ITSx_${version}.tar.gz"; + sha256 = "0lrmy2n3ax7f208k0k8l3yz0j5cpz05hv4hx1nnxzn0c51z1pc31"; + }; + + buildInputs = [ hmmer perl ]; + + buildPhase = '' + sed -e "s,profileDB = .*,profileDB = \"$out/share/ITSx_db/HMMs\";," -i ITSx + sed "3 a \$ENV{\'PATH\'}='${hmmer}/bin:'.\"\$ENV{\'PATH\'}\";" -i ITSx + mkdir bin + mv ITSx bin + ''; + + installPhase = '' + mkdir -p $out/share/doc && cp -a bin $out/ + cp *pdf $out/share/doc + cp -r ITSx_db $out/share + ''; + + meta = with stdenv.lib; { + description = "Improved software detection and extraction of ITS1 and ITS2 from ribosomal ITS sequences of fungi and other eukaryotes for use in environmental sequencing"; + homepage = https://microbiology.se/software/itsx/; + license = licenses.gpl3; + maintainers = [ maintainers.bzizou ]; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +} diff --git a/pkgs/applications/science/biology/iv/default.nix b/pkgs/applications/science/biology/iv/default.nix index f204d9bbca9..37abcf39621 100644 --- a/pkgs/applications/science/biology/iv/default.nix +++ b/pkgs/applications/science/biology/iv/default.nix @@ -20,6 +20,7 @@ stdenv.mkDerivation rec break fi done + '' + stdenv.lib.optionalString stdenv.isLinux '' patchelf --add-needed ${libX11}/lib/libX11.so $out/lib/libIVhines.so ''; meta = with stdenv.lib; diff --git a/pkgs/applications/science/biology/kallisto/default.nix b/pkgs/applications/science/biology/kallisto/default.nix index d80ffea9a78..de93ae5d782 100644 --- a/pkgs/applications/science/biology/kallisto/default.nix +++ b/pkgs/applications/science/biology/kallisto/default.nix @@ -1,25 +1,28 @@ -{ stdenv, fetchFromGitHub, cmake, hdf5, zlib }: +{ stdenv, fetchFromGitHub, autoconf, cmake, hdf5, zlib }: stdenv.mkDerivation rec { - name = "kallisto-${version}"; - version = "0.43.1"; + pname = "kallisto"; + version = "0.46.0"; src = fetchFromGitHub { repo = "kallisto"; owner = "pachterlab"; rev = "v${version}"; - sha256 = "04697pf7jvy7vw126s1rn09q4iab9223jvb1nb0jn7ilwkq7pgwz"; + sha256 = "09vgdqwpigl4x3sdw5vjfyknsllkli339mh8xapbf7ldm0jldfn9"; }; - nativeBuildInputs = [ cmake ]; - + nativeBuildInputs = [ autoconf cmake ]; + buildInputs = [ hdf5 zlib ]; + # Parallel build fails in some cases: https://github.com/pachterlab/kallisto/issues/160 + enableParallelBuilding = false; + meta = with stdenv.lib; { - description = "kallisto is a program for quantifying abundances of transcripts from RNA-Seq data"; - homepage = https://pachterlab.github.io/kallisto; + description = "Kallisto is a program for quantifying abundances of transcripts from RNA-Seq data"; + homepage = "https://pachterlab.github.io/kallisto"; license = licenses.bsd2; platforms = platforms.linux; - maintainers = [ maintainers.arcadio ]; + maintainers = with maintainers; [ arcadio ]; }; } diff --git a/pkgs/applications/science/biology/megahit/default.nix b/pkgs/applications/science/biology/megahit/default.nix new file mode 100644 index 00000000000..56bb35b64df --- /dev/null +++ b/pkgs/applications/science/biology/megahit/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub, zlib }: + +stdenv.mkDerivation rec { + pname = "megahit"; + version = "1.1.4"; + + src = fetchFromGitHub { + owner = "voutcn"; + repo = "megahit"; + rev = "v${version}"; + sha256 = "011k0776w76l03zmy70kfd3y9zjmdnspfbs9fcxmnl3bdwd36kcw"; + }; + + buildInputs = [ zlib ]; + + installPhase = '' + for bin in megahit_sdbg_build megahit megahit_asm_core megahit_toolkit; do + install -vD $bin $out/bin/$bin + done + ''; + + meta = with stdenv.lib; { + description = "An ultra-fast single-node solution for large and complex metagenomics assembly via succinct de Bruijn graph"; + license = licenses.gpl3; + homepage = https://github.com/voutcn/megahit; + maintainers = with maintainers; [ luispedro ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/science/biology/messer-slim/default.nix b/pkgs/applications/science/biology/messer-slim/default.nix new file mode 100644 index 00000000000..d485666f393 --- /dev/null +++ b/pkgs/applications/science/biology/messer-slim/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, cmake, gcc, gcc-unwrapped }: + +stdenv.mkDerivation rec { + version = "3.2.1"; + pname = "messer-slim"; + + src = fetchurl { + url = "https://github.com/MesserLab/SLiM/archive/v${version}.tar.gz"; + sha256 = "1j3ssjvxpsc21mmzj59kwimglz8pdazi5w6wplmx11x744k77wa1"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ cmake gcc gcc-unwrapped ]; + + cmakeFlags = [ "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" + "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" ]; + + meta = { + description = "An evolutionary simulation framework"; + homepage = https://messerlab.org/slim/; + license = with stdenv.lib.licenses; [ gpl3 ]; + maintainers = with stdenv.lib.maintainers; [ bzizou ]; + platforms = stdenv.lib.platforms.all; + }; +} + diff --git a/pkgs/applications/science/biology/migrate/default.nix b/pkgs/applications/science/biology/migrate/default.nix new file mode 100644 index 00000000000..d80e6e7b30d --- /dev/null +++ b/pkgs/applications/science/biology/migrate/default.nix @@ -0,0 +1,24 @@ +{ gccStdenv, fetchurl, zlib, openmpi }: + +gccStdenv.mkDerivation rec { + version = "3.7.2"; + pname = "migrate"; + + src = fetchurl { + url = "https://peterbeerli.com/migrate-html5/download_version3/${pname}-${version}.src.tar.gz"; + sha256 = "1p2364ffjc56i82snzvjpy6pkf6wvqwvlvlqxliscx2c303fxs8v"; + }; + + buildInputs = [ zlib openmpi ]; + setSourceRoot = ''sourceRoot=$(echo */src)''; + buildFlags = [ "thread" "mpis" ]; + preInstall = "mkdir -p $out/man/man1"; + + meta = with gccStdenv.lib; { + description = "Estimates population size, migration, population splitting parameters using genetic/genomic data"; + homepage = https://peterbeerli.com/migrate-html5/index.html; + license = licenses.mit; + maintainers = [ maintainers.bzizou ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/science/biology/minimap2/default.nix b/pkgs/applications/science/biology/minimap2/default.nix index 3f28b5e31cc..bff2bcf428b 100644 --- a/pkgs/applications/science/biology/minimap2/default.nix +++ b/pkgs/applications/science/biology/minimap2/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, zlib }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "minimap2"; - version = "2.15"; + version = "2.17"; src = fetchFromGitHub { repo = pname; owner = "lh3"; rev = "v${version}"; - sha256 = "0dy3m2wjmi3whjnmkj3maa1aadz525h7736wm8vvdcwq71ijqb7v"; + sha256 = "0qdwlkib3aa6112372hdgvnvk86hsjjkhjar0p53pq4ajrr2cdlb"; }; buildInputs = [ zlib ]; diff --git a/pkgs/applications/science/biology/mni_autoreg/default.nix b/pkgs/applications/science/biology/mni_autoreg/default.nix index 5901b696d64..ab22fb7232f 100644 --- a/pkgs/applications/science/biology/mni_autoreg/default.nix +++ b/pkgs/applications/science/biology/mni_autoreg/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ libminc ]; propagatedBuildInputs = with perlPackages; [ perl GetoptTabular MNI-Perllib ]; - cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" "-DBUILD_TESTING=FALSE" ]; + cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" ]; # testing broken: './minc_wrapper: Permission denied' from Testing/ellipse0.mnc postFixup = '' @@ -33,4 +33,3 @@ stdenv.mkDerivation rec { license = licenses.free; }; } - diff --git a/pkgs/applications/science/biology/mosdepth/default.nix b/pkgs/applications/science/biology/mosdepth/default.nix index 3cd83a5cdd2..717b8c3ab2f 100644 --- a/pkgs/applications/science/biology/mosdepth/default.nix +++ b/pkgs/applications/science/biology/mosdepth/default.nix @@ -4,26 +4,26 @@ let hts-nim = fetchFromGitHub { owner = "brentp"; repo = "hts-nim"; - rev = "v0.2.5"; - sha256 = "1fma99rjqxgg9dihkd10hm1jjp5amsk5wsxnvq1lk4mcsjix5xqb"; + rev = "v0.2.14"; + sha256 = "0d1z4b6mrppmz3hgkxd4wcy79w68icvhi7q7n3m2k17n8f3xbdx3"; }; docopt = fetchFromGitHub { owner = "docopt"; repo = "docopt.nim"; - rev = "v0.6.5"; - sha256 = "0yx79m4jkdcazwlky55nwf39zj5kdhymrrdrjq29mahiwx83x5zr"; + rev = "v0.6.7"; + sha256 = "1ga7ckg21fzwwvh26jp2phn2h3pvkn8g8sm13dxif33rp471bv37"; }; in stdenv.mkDerivation rec { - name = "mosdepth-${version}"; - version = "0.2.3"; + pname = "mosdepth"; + version = "0.2.6"; src = fetchFromGitHub { owner = "brentp"; repo = "mosdepth"; rev = "v${version}"; - sha256 = "1b9frrwhcvay3alhn0d02jccc2qlbij1732hzq9nhwnr4kvsvxx7"; + sha256 = "0i9pl9lsli3y84ygxanrr525gfg8fs9h481944cbzsmqmbldwvgk"; }; buildInputs = [ nim ]; diff --git a/pkgs/applications/science/biology/neuron/default.nix b/pkgs/applications/science/biology/neuron/default.nix index 35710fd1fe1..4e6d3494c72 100644 --- a/pkgs/applications/science/biology/neuron/default.nix +++ b/pkgs/applications/science/biology/neuron/default.nix @@ -13,7 +13,7 @@ }: stdenv.mkDerivation rec { - name = "neuron-${version}"; + pname = "neuron"; version = "7.5"; nativeBuildInputs = [ which pkgconfig automake autoconf libtool ]; @@ -33,6 +33,12 @@ stdenv.mkDerivation rec { --replace 'float abs(float arg);' "" \ --replace 'short abs(short arg);' "" \ --replace 'long abs(long arg);' "" + '' + stdenv.lib.optionalString stdenv.isDarwin '' + # we are darwin, but we don't have all the quirks the source wants to compensate for + substituteInPlace src/nrnpython/setup.py.in --replace 'readline="edit"' 'readline="readline"' + for f in src/nrnpython/*.[ch] ; do + substituteInPlace $f --replace "" "" + done ''; enableParallelBuilding = true; @@ -74,7 +80,8 @@ stdenv.mkDerivation rec { license = licenses.bsd3; homepage = http://www.neuron.yale.edu/neuron; maintainers = [ maintainers.adev ]; - platforms = platforms.all; + # source claims it's only tested for x86 and powerpc + platforms = platforms.x86_64 ++ platforms.i686; }; } diff --git a/pkgs/applications/science/biology/niftyreg/default.nix b/pkgs/applications/science/biology/niftyreg/default.nix index 9f24046b3bf..6379f2c3282 100644 --- a/pkgs/applications/science/biology/niftyreg/default.nix +++ b/pkgs/applications/science/biology/niftyreg/default.nix @@ -1,9 +1,8 @@ -{ stdenv, lib, fetchurl, cmake, zlib }: +{ stdenv, fetchurl, cmake, zlib }: stdenv.mkDerivation rec { pname = "niftyreg"; version = "1.3.9"; - name = "${pname}-${version}"; src = fetchurl { url = "mirror://sourceforge/${pname}/nifty_reg-${version}/nifty_reg-${version}.tar.gz"; diff --git a/pkgs/applications/science/biology/niftyseg/default.nix b/pkgs/applications/science/biology/niftyseg/default.nix index 671ee4b95c6..689d3e42c97 100644 --- a/pkgs/applications/science/biology/niftyseg/default.nix +++ b/pkgs/applications/science/biology/niftyseg/default.nix @@ -1,9 +1,8 @@ -{ stdenv, lib, fetchurl, cmake, eigen, zlib }: +{ stdenv, fetchurl, cmake, eigen, zlib }: stdenv.mkDerivation rec { pname = "niftyseg"; version = "1.0"; - name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/KCL-BMEIS/NiftySeg/archive/v${version}.tar.gz"; sha256 = "11q6yldsxp3k6gfp94c0xhcan2y3finzv8lzizmrc79yps3wjkn0"; diff --git a/pkgs/applications/science/biology/octopus/default.nix b/pkgs/applications/science/biology/octopus/default.nix new file mode 100644 index 00000000000..9d81e08d729 --- /dev/null +++ b/pkgs/applications/science/biology/octopus/default.nix @@ -0,0 +1,29 @@ +{stdenv, fetchFromGitHub, cmake, boost, gmp, htslib, zlib, lzma, pkg-config}: + +stdenv.mkDerivation rec { + pname = "octopus"; + version = "0.6.3-beta"; + + src = fetchFromGitHub { + owner = "luntergroup"; + repo = "octopus"; + rev = "v${version}"; + sha256 = "042fycg8ppld7iajpzq2d8h8wr0nw43zbl57y125sfihryvr373n"; + }; + + nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ boost gmp htslib zlib lzma ]; + + postInstall = '' + mkdir $out/bin + mv $out/octopus $out/bin + ''; + + meta = with stdenv.lib; { + description = "Bayesian haplotype-based mutation calling"; + license = licenses.mit; + homepage = "https://github.com/luntergroup/octopus"; + maintainers = with maintainers; [ jbedo ]; + platforms = platforms.x86_64; + }; +} diff --git a/pkgs/applications/science/biology/paml/default.nix b/pkgs/applications/science/biology/paml/default.nix index fe25a04c420..161188f7ef1 100644 --- a/pkgs/applications/science/biology/paml/default.nix +++ b/pkgs/applications/science/biology/paml/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - version = "4.9h"; - name = "paml-${version}"; + version = "4.9i"; + pname = "paml"; src = fetchurl { url = "http://abacus.gene.ucl.ac.uk/software/paml${version}.tgz"; - sha256 = "1czdfb3naadq0d3y42isrbyja33c3p28k8dv9mxlx2h19b7zcfv2"; + sha256 = "1k5lcyls6c33ppp5fxl8ply2fy7i2k0gcqaifsl7gnc81d8ay4dw"; }; preBuild = '' diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix index 2ba5964d610..2a57febe8f5 100644 --- a/pkgs/applications/science/biology/picard-tools/default.nix +++ b/pkgs/applications/science/biology/picard-tools/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, jre, makeWrapper}: stdenv.mkDerivation rec { - name = "picard-tools-${version}"; - version = "2.18.25"; + pname = "picard-tools"; + version = "2.20.5"; src = fetchurl { url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar"; - sha256 = "03d3mnf3gddngn3dhwb00v8k40x6ncgprn22w4vyfr96917p2snx"; + sha256 = "107zlvp74ahpn652nfkipp80bbzf3fp812pi1ma42njk4wchah10"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/science/biology/platypus/default.nix b/pkgs/applications/science/biology/platypus/default.nix index 323ca90f0a2..fc6cfbb158c 100644 --- a/pkgs/applications/science/biology/platypus/default.nix +++ b/pkgs/applications/science/biology/platypus/default.nix @@ -3,7 +3,7 @@ let python = python27.withPackages (ps: with ps; [ cython ]); in stdenv.mkDerivation rec { - name = "platypus-unstable-${version}"; + pname = "platypus-unstable"; version = "2018-07-22"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/biology/plink-ng/default.nix b/pkgs/applications/science/biology/plink-ng/default.nix index 2efb59f536f..52f8f70b779 100644 --- a/pkgs/applications/science/biology/plink-ng/default.nix +++ b/pkgs/applications/science/biology/plink-ng/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, zlib, openblas, darwin}: stdenv.mkDerivation rec { - name = "plink-ng-${version}"; + pname = "plink-ng"; version = "1.90b3"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/biology/poretools/default.nix b/pkgs/applications/science/biology/poretools/default.nix index 3bb9ea06fd4..8a19ae135e8 100755 --- a/pkgs/applications/science/biology/poretools/default.nix +++ b/pkgs/applications/science/biology/poretools/default.nix @@ -3,7 +3,6 @@ pythonPackages.buildPythonPackage rec { pname = "poretools"; version = "unstable-2016-07-10"; - name = "${pname}-${version}"; src = fetchFromGitHub { repo = pname; diff --git a/pkgs/applications/science/biology/prodigal/default.nix b/pkgs/applications/science/biology/prodigal/default.nix new file mode 100644 index 00000000000..653f4390488 --- /dev/null +++ b/pkgs/applications/science/biology/prodigal/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "prodigal"; + version = "2.6.3"; + + src = fetchFromGitHub { + repo = "Prodigal"; + owner = "hyattpd"; + rev = "v${version}"; + sha256 = "1fs1hqk83qjbjhrvhw6ni75zakx5ki1ayy3v6wwkn3xvahc9hi5s"; + }; + + makeFlags = [ + "CC=cc" + "INSTALLDIR=$(out)/bin" + ]; + + meta = with stdenv.lib; { + description = "Fast, reliable protein-coding gene prediction for prokaryotic genomes"; + homepage = https://github.com/hyattpd/Prodigal; + license = licenses.gpl3; + platforms = platforms.all; + maintainers = with maintainers; [ luispedro ]; + }; +} diff --git a/pkgs/applications/science/biology/raxml/default.nix b/pkgs/applications/science/biology/raxml/default.nix index 140f7032319..d7ee54bfbcf 100644 --- a/pkgs/applications/science/biology/raxml/default.nix +++ b/pkgs/applications/science/biology/raxml/default.nix @@ -7,7 +7,6 @@ stdenv.mkDerivation rec { pname = "RAxML"; version = "8.2.12"; - name = "${pname}-${version}"; src = fetchFromGitHub { owner = "stamatak"; diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix index c4b4bb522c4..dd1a53472db 100644 --- a/pkgs/applications/science/biology/samtools/default.nix +++ b/pkgs/applications/science/biology/samtools/default.nix @@ -1,12 +1,11 @@ { stdenv, fetchurl, zlib, htslib, perl, ncurses ? null }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "samtools"; version = "1.9"; src = fetchurl { - url = "https://github.com/samtools/samtools/releases/download/${version}/${name}.tar.bz2"; + url = "https://github.com/samtools/samtools/releases/download/${version}/${pname}-${version}.tar.bz2"; sha256 = "10ilqbmm7ri8z431sn90lvbjwizd0hhkf9rcqw8j823hf26nhgq8"; }; diff --git a/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix b/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix index a811bc4412f..72d125ef8b6 100644 --- a/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix +++ b/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix @@ -1,12 +1,11 @@ { stdenv, fetchurl, zlib }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "samtools"; version = "0.1.19"; src = fetchurl { - url = "mirror://sourceforge/samtools/${name}.tar.bz2"; + url = "mirror://sourceforge/samtools/${pname}-${version}.tar.bz2"; sha256 = "d080c9d356e5f0ad334007e4461cbcee3c4ca97b8a7a5a48c44883cf9dee63d4"; }; diff --git a/pkgs/applications/science/biology/seaview/default.nix b/pkgs/applications/science/biology/seaview/default.nix index 17cf903ae49..69dece88c27 100644 --- a/pkgs/applications/science/biology/seaview/default.nix +++ b/pkgs/applications/science/biology/seaview/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "4.7"; - name = "seaview-${version}"; + pname = "seaview"; src = fetchurl { url = "ftp://pbil.univ-lyon1.fr/pub/mol_phylogeny/seaview/archive/seaview_${version}.tar.gz"; diff --git a/pkgs/applications/science/biology/snpeff/default.nix b/pkgs/applications/science/biology/snpeff/default.nix index dc224690334..d700ee50a9c 100644 --- a/pkgs/applications/science/biology/snpeff/default.nix +++ b/pkgs/applications/science/biology/snpeff/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, jre, unzip, makeWrapper}: stdenv.mkDerivation rec { - name = "snpeff-${version}"; + pname = "snpeff"; version = "4.3t"; src = fetchurl { diff --git a/pkgs/applications/science/biology/somatic-sniper/default.nix b/pkgs/applications/science/biology/somatic-sniper/default.nix index 4bbd6a32003..1961c71f43b 100644 --- a/pkgs/applications/science/biology/somatic-sniper/default.nix +++ b/pkgs/applications/science/biology/somatic-sniper/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchFromGitHub, cmake, zlib, ncurses}: stdenv.mkDerivation rec { - name = "somatic-sniper-${version}"; + pname = "somatic-sniper"; version = "1.0.5.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/biology/sortmerna/default.nix b/pkgs/applications/science/biology/sortmerna/default.nix new file mode 100644 index 00000000000..4adce4461ed --- /dev/null +++ b/pkgs/applications/science/biology/sortmerna/default.nix @@ -0,0 +1,38 @@ +{ stdenv, cmake, rocksdb, rapidjson, pkgconfig, fetchFromGitHub, fetchpatch, zlib }: + +stdenv.mkDerivation rec { + pname = "sortmerna"; + version = "3.0.3"; + + src = fetchFromGitHub { + repo = pname; + owner = "biocore"; + rev = "v${version}"; + sha256 = "0zx5fbzyr8wdr0zwphp8hhcn1xz43s5lg2ag4py5sv0pv5l1jh76"; + }; + + patches = [ + (fetchpatch { + name = "CMakeInstallPrefix.patch"; + url = "https://github.com/biocore/sortmerna/commit/4d36d620a3207e26cf3f588d4ec39889ea21eb79.patch"; + sha256 = "0hc3jwdr6ylbyigg52q8islqc0mb1k8rrjadvjfqaxnili099apd"; + }) + ]; + + nativeBuildInputs = [ cmake rapidjson pkgconfig ]; + buildInputs = [ zlib rocksdb rapidjson ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DROCKSDB_HOME=${rocksdb}" + "-DRAPIDJSON_HOME=${rapidjson}" + ]; + + meta = with stdenv.lib; { + description = "Tools for filtering, mapping, and OTU-picking from shotgun genomics data"; + license = licenses.lgpl3; + platforms = platforms.x86_64; + homepage = https://bioinfo.lifl.fr/RNA/sortmerna/; + maintainers = with maintainers; [ luispedro ]; + }; +} diff --git a/pkgs/applications/science/biology/stacks/default.nix b/pkgs/applications/science/biology/stacks/default.nix new file mode 100644 index 00000000000..e778c3bd52c --- /dev/null +++ b/pkgs/applications/science/biology/stacks/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, zlib }: + +stdenv.mkDerivation rec { + pname = "stacks"; + version = "2.41"; + src = fetchurl { + url = "http://catchenlab.life.illinois.edu/stacks/source/${pname}-${version}.tar.gz"; + sha256 = "0q420rzjb05jfchcls3pysm4hxfgs6xj2jw246isx0il10g93gkq"; + }; + + buildInputs = [ zlib ]; + + meta = { + description = "Software pipeline for building loci from short-read sequences"; + homepage = http://catchenlab.life.illinois.edu/stacks/; + maintainers = [ stdenv.lib.maintainers.bzizou ]; + license = stdenv.lib.licenses.gpl3; + }; +} diff --git a/pkgs/applications/science/biology/star/default.nix b/pkgs/applications/science/biology/star/default.nix index 4d1d60469f0..f32dca86bdf 100644 --- a/pkgs/applications/science/biology/star/default.nix +++ b/pkgs/applications/science/biology/star/default.nix @@ -1,32 +1,37 @@ { stdenv, fetchFromGitHub, zlib }: stdenv.mkDerivation rec { - name = "star-${version}"; - version = "2.7.0a"; + pname = "star"; + version = "2.7.1a"; src = fetchFromGitHub { repo = "STAR"; owner = "alexdobin"; rev = version; - sha256 = "1yx28gra6gqdx1ps5y8mpdinsn8r0dhsc2m3gcvjfrk71i9yhd6l"; + sha256 = "0n6g4s4hgw7qygs1z97j7a2dgz8gfaa4cv5pjvvvmarvk0x07hyg"; }; sourceRoot = "source/source"; - - postPatch = "sed 's:/bin/rm:rm:g' -i Makefile"; - + + postPatch = '' + substituteInPlace Makefile --replace "/bin/rm" "rm" + ''; + buildInputs = [ zlib ]; - - buildPhase = "make STAR STARlong"; + + buildFlags = [ "STAR" "STARlong" ]; + + enableParallelBuilding = true; installPhase = '' - mkdir -p $out/bin - cp STAR STARlong $out/bin + runHook preInstall + install -D STAR STARlong -t $out/bin + runHook postInstall ''; - + meta = with stdenv.lib; { description = "Spliced Transcripts Alignment to a Reference"; - homepage = https://github.com/alexdobin/STAR; + homepage = "https://github.com/alexdobin/STAR"; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = [ maintainers.arcadio ]; diff --git a/pkgs/applications/science/biology/strelka/default.nix b/pkgs/applications/science/biology/strelka/default.nix index 1527f5d3dda..84c90d89556 100644 --- a/pkgs/applications/science/biology/strelka/default.nix +++ b/pkgs/applications/science/biology/strelka/default.nix @@ -1,17 +1,18 @@ {stdenv, fetchFromGitHub, cmake, zlib, python2}: stdenv.mkDerivation rec { - name = "strelka-${version}"; - version = "2.9.5"; + pname = "strelka"; + version = "2.9.10"; src = fetchFromGitHub { owner = "Illumina"; repo = "strelka"; rev = "v${version}"; - sha256 = "0x4a6nkx1jnyag9svghsdjz1fz6q7qx5pn77wphdfnk81f9yspf8"; + sha256 = "1nykbmim1124xh22nrhrsn8xgjb3s2y7akrdapn9sl1gdych4ppf"; }; - buildInputs = [ cmake zlib python2 ]; + nativeBuildInputs = [ cmake ]; + buildInputs = [ zlib python2 ]; preConfigure = '' sed -i 's|/usr/bin/env python|${python2}/bin/python|' src/python/lib/makeRunScript.py diff --git a/pkgs/applications/science/biology/sumatools/default.nix b/pkgs/applications/science/biology/sumatools/default.nix new file mode 100644 index 00000000000..f9042f30011 --- /dev/null +++ b/pkgs/applications/science/biology/sumatools/default.nix @@ -0,0 +1,68 @@ +{ gccStdenv, fetchFromGitLab, zlib }: + +let + stdenv = gccStdenv; + meta = with stdenv.lib; { + description = "Fast and exact comparison and clustering of sequences"; + homepage = https://metabarcoding.org/sumatra; + maintainers = [ maintainers.bzizou ]; + platforms = platforms.unix; + }; + +in rec { + + # Suma library + sumalibs = stdenv.mkDerivation rec { + version = "1.0.34"; + pname = "sumalibs"; + src = fetchFromGitLab { + domain = "git.metabarcoding.org"; + owner = "obitools"; + repo = pname; + rev = "sumalib_v${version}"; + sha256 = "0hwkrxzfz7m5wdjvmrhkjg8kis378iaqr5n4nhdhkwwhn8x1jn5a"; + }; + makeFlags = "PREFIX=$(out)"; + inherit meta; + }; + + # Sumatra + sumatra = stdenv.mkDerivation rec { + version = "1.0.34"; + pname = "sumatra"; + src = fetchFromGitLab { + domain = "git.metabarcoding.org"; + owner = "obitools"; + repo = pname; + rev = "${pname}_v${version}"; + sha256 = "1bbpbdkshdc3xffqnr1qfy8qk64ldsmdc3s8mrcrlx132rgbi5f6"; + }; + buildInputs = [ sumalibs zlib ]; + makeFlags = [ + "LIBSUMA=${sumalibs}/lib/libsuma.a" + "LIBSUMAPATH=-L${sumalibs}" + "PREFIX=$(out)" + ]; + inherit meta; + }; + + # Sumaclust + sumaclust = stdenv.mkDerivation rec { + version = "1.0.34"; + pname = "sumaclust"; + src = fetchFromGitLab { + domain = "git.metabarcoding.org"; + owner = "obitools"; + repo = pname; + rev = "${pname}_v${version}"; + sha256 = "0x8yi3k3jxhmv2krp4rcjlj2f9zg0qrk7gx4kpclf9c3yxgsgrds"; + }; + buildInputs = [ sumalibs ]; + makeFlags = [ + "LIBSUMA=${sumalibs}/lib/libsuma.a" + "LIBSUMAPATH=-L${sumalibs}" + "PREFIX=$(out)" + ]; + inherit meta; + }; +} diff --git a/pkgs/applications/science/biology/trimal/default.nix b/pkgs/applications/science/biology/trimal/default.nix new file mode 100755 index 00000000000..d4e8fee7bc3 --- /dev/null +++ b/pkgs/applications/science/biology/trimal/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "trimal"; + version = "1.4.1"; + + src = fetchFromGitHub { + repo = pname; + owner = "scapella"; + rev = "v${version}"; + sha256 = "0isc7s3514di4z953xq53ncjkbi650sh4q9yyw5aag1n9hqnh7k0"; + }; + + postUnpack = '' + sourceRoot=''${sourceRoot}/source + echo Source root reset to ''${sourceRoot} + ''; + + installPhase = '' + mkdir -p $out/bin + cp -a trimal readal statal $out/bin + ''; + + meta = with stdenv.lib; { + description = "A tool for the automated removal of spurious sequences or poorly aligned regions from a multiple sequence alignment"; + license = licenses.gpl3; + platforms = platforms.linux; + homepage = http://trimal.cgenomics.org; + maintainers = [ maintainers.bzizou ]; + }; +} diff --git a/pkgs/applications/science/biology/varscan/default.nix b/pkgs/applications/science/biology/varscan/default.nix index f685031e87e..697a444193b 100644 --- a/pkgs/applications/science/biology/varscan/default.nix +++ b/pkgs/applications/science/biology/varscan/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, jre, makeWrapper}: stdenv.mkDerivation rec { - name = "varscan-${version}"; + pname = "varscan"; version = "2.4.2"; src = fetchurl { diff --git a/pkgs/applications/science/biology/vcftools/default.nix b/pkgs/applications/science/biology/vcftools/default.nix index a6f52ae97b5..f6c9ad029c1 100755 --- a/pkgs/applications/science/biology/vcftools/default.nix +++ b/pkgs/applications/science/biology/vcftools/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitHub, zlib, autoreconfHook, pkgconfig, perl }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "vcftools"; version = "0.1.16"; diff --git a/pkgs/applications/science/chemistry/gwyddion/default.nix b/pkgs/applications/science/chemistry/gwyddion/default.nix index 92f997900d5..12007c940b3 100644 --- a/pkgs/applications/science/chemistry/gwyddion/default.nix +++ b/pkgs/applications/science/chemistry/gwyddion/default.nix @@ -4,7 +4,8 @@ with stdenv.lib; let version = "2.48"; in stdenv.mkDerivation { - name = "gwyddion-${version}"; + pname = "gwyddion"; + inherit version; src = fetchurl { url = "mirror://sourceforge/gwyddion/files/gwyddion/${version}/gwyddion-${version}.tar.xz"; sha256 = "119iw58ac2wn4cas6js8m7r1n4gmmkga6b1y711xzcyjp9hshgwx"; diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix index 7f5eb7b76e8..00231113d2c 100644 --- a/pkgs/applications/science/chemistry/jmol/default.nix +++ b/pkgs/applications/science/chemistry/jmol/default.nix @@ -17,14 +17,14 @@ let }; in stdenv.mkDerivation rec { - version = "14.29.31"; + version = "14.29.49"; pname = "jmol"; src = let baseVersion = "${lib.versions.major version}.${lib.versions.minor version}"; in fetchurl { url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz"; - sha256 = "15mxifm1h145bhyrm9rvmipvg048q8rgwg1sn6jmfgrimy0cjraj"; + sha256 = "19fyr4ldvbd5rbw19hslg9fpwc42wxmyx7r3z78k6dw653vb1ml5"; }; patchPhase = '' diff --git a/pkgs/applications/science/chemistry/marvin/default.nix b/pkgs/applications/science/chemistry/marvin/default.nix index 948aed03fe5..391ed54dfcb 100644 --- a/pkgs/applications/science/chemistry/marvin/default.nix +++ b/pkgs/applications/science/chemistry/marvin/default.nix @@ -3,7 +3,6 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "marvin"; version = "19.1.0"; diff --git a/pkgs/applications/science/chemistry/molden/default.nix b/pkgs/applications/science/chemistry/molden/default.nix index 99a8c777cd0..87dae3b14d9 100644 --- a/pkgs/applications/science/chemistry/molden/default.nix +++ b/pkgs/applications/science/chemistry/molden/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, which, gfortran, libGLU, xorg } : stdenv.mkDerivation rec { - version = "5.9.3"; - name = "molden-${version}"; + version = "6.2"; + pname = "molden"; src = fetchurl { url = "ftp://ftp.cmbi.ru.nl/pub/molgraph/molden/molden${version}.tar.gz"; - sha256 = "18fz44g7zkm0xcx3w9hm049jv13af67ww7mb5b3kdhmza333a16q"; + sha256 = "01m5p7v5pz1fi77var50sp1bzlvdckwr6kn4wanvic2jmvgp9q5n"; }; nativeBuildInputs = [ which ]; diff --git a/pkgs/applications/science/chemistry/octopus/default.nix b/pkgs/applications/science/chemistry/octopus/default.nix index 2dd3c9b64c4..6dec5b3b11f 100644 --- a/pkgs/applications/science/chemistry/octopus/default.nix +++ b/pkgs/applications/science/chemistry/octopus/default.nix @@ -1,27 +1,26 @@ -{ stdenv, fetchurl, symlinkJoin, gfortran, perl, procps -, libyaml, libxc, fftw, openblas, gsl, netcdf, arpack +{ stdenv, fetchFromGitLab, symlinkJoin, gfortran, perl, procps +, libyaml, libxc, fftw, openblas, gsl, netcdf, arpack, autoreconfHook }: -let - version = "8.3"; - fftwAll = symlinkJoin { name ="ftw-dev-out"; paths = [ fftw.dev fftw.out ]; }; +stdenv.mkDerivation rec { + pname = "octopus"; + version = "9.1"; -in stdenv.mkDerivation { - name = "octopus-${version}"; - - src = fetchurl { - url = "http://www.tddft.org/programs/octopus/down.php?file=${version}/octopus-${version}.tar.gz"; - sha256 = "0nr3qmyfhp6fy8qrp4p43pl5xxfqgqg5g1c2775hxhpsi29xr7zf"; + src = fetchFromGitLab { + owner = "octopus-code"; + repo = "octopus"; + rev = version; + sha256 = "1l5fqgllk7rij16q7a3la7qq6isy8a5n37vk400qcscw1v32s90h"; }; - nativeBuildInputs = [ perl procps fftw.dev ]; - buildInputs = [ libyaml gfortran libxc openblas gsl fftw.out netcdf arpack ]; + nativeBuildInputs = [ perl procps autoreconfHook ]; + buildInputs = [ libyaml gfortran libxc openblas gsl fftw netcdf arpack ]; configureFlags = [ "--with-yaml-prefix=${libyaml}" "--with-blas=-lopenblas" "--with-lapack=-lopenblas" - "--with-fftw-prefix=${fftwAll}" + "--with-fftw-prefix=${fftw.dev}" "--with-gsl-prefix=${gsl}" "--with-libxc-prefix=${libxc}" ]; diff --git a/pkgs/applications/science/chemistry/openmolcas/default.nix b/pkgs/applications/science/chemistry/openmolcas/default.nix index 70e79023c0f..487558a23c1 100644 --- a/pkgs/applications/science/chemistry/openmolcas/default.nix +++ b/pkgs/applications/science/chemistry/openmolcas/default.nix @@ -1,4 +1,4 @@ -{ stdenv, pkgs, fetchFromGitLab, cmake, gfortran, perl +{ stdenv, fetchFromGitLab, cmake, gfortran, perl , openblas, hdf5-cpp, python3, texlive , armadillo, openmpi, globalarrays, openssh , makeWrapper @@ -11,7 +11,8 @@ let python = python3.withPackages (ps : with ps; [ six pyparsing ]); in stdenv.mkDerivation { - name = "openmolcas-${version}"; + pname = "openmolcas"; + inherit version; src = fetchFromGitLab { owner = "Molcas"; diff --git a/pkgs/applications/science/chemistry/quantum-espresso/default.nix b/pkgs/applications/science/chemistry/quantum-espresso/default.nix index 7a7f1b3596d..ea80e9fd5ca 100644 --- a/pkgs/applications/science/chemistry/quantum-espresso/default.nix +++ b/pkgs/applications/science/chemistry/quantum-espresso/default.nix @@ -4,12 +4,12 @@ }: stdenv.mkDerivation rec { - version = "6.3"; - name = "quantum-espresso-${version}"; + version = "6.4.1"; + pname = "quantum-espresso"; src = fetchurl { url = "https://gitlab.com/QEF/q-e/-/archive/qe-${version}/q-e-qe-${version}.tar.gz"; - sha256 = "1738z3nhkzcrgnhnfg1r4lipbwvcrcprwhzjbjysnylmzbzwhrs0"; + sha256 = "027skhp2zzx0f4mh6azqjljdimchak5cdn13v4x7aj5q2zvfkmxh"; }; passthru = { @@ -20,12 +20,6 @@ stdenv.mkDerivation rec { patchShebangs configure ''; - # remove after 6.3 version: - # makefile needs to ignore install directory easier than applying patch - preInstall = '' - printf "\n.PHONY: install\n" >> Makefile - ''; - buildInputs = [ fftw openblas gfortran ] ++ (stdenv.lib.optionals (mpi != null) [ mpi ]); diff --git a/pkgs/applications/science/chemistry/siesta/default.nix b/pkgs/applications/science/chemistry/siesta/default.nix index eb17a68b8aa..a27355afdc8 100644 --- a/pkgs/applications/science/chemistry/siesta/default.nix +++ b/pkgs/applications/science/chemistry/siesta/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { version = "4.1-b3"; - name = "siesta-${version}"; + pname = "siesta"; src = fetchurl { url = "https://launchpad.net/siesta/4.1/4.1-b3/+download/siesta-4.1-b3.tar.gz"; diff --git a/pkgs/applications/science/electronics/adms/default.nix b/pkgs/applications/science/electronics/adms/default.nix index 236225959f7..8b95e73b891 100644 --- a/pkgs/applications/science/electronics/adms/default.nix +++ b/pkgs/applications/science/electronics/adms/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { version = "2.3.6"; - name = "adms-${version}"; + pname = "adms"; src = fetchFromGitHub { owner = "Qucs"; diff --git a/pkgs/applications/science/electronics/alliance/default.nix b/pkgs/applications/science/electronics/alliance/default.nix index 57e1e219b9a..b351c892c2c 100644 --- a/pkgs/applications/science/electronics/alliance/default.nix +++ b/pkgs/applications/science/electronics/alliance/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl , xorgproto, motif, libX11, libXt, libXpm, bison -, flex, automake, autoconf, libtool +, flex, automake, autoconf, libtool, runtimeShell }: stdenv.mkDerivation rec { - name = "alliance-${version}"; + pname = "alliance"; version = "5.1.1"; src = fetchurl { - url = "http://www-asim.lip6.fr/pub/alliance/distribution/5.0/${name}.tar.bz2"; + url = "http://www-asim.lip6.fr/pub/alliance/distribution/5.0/${pname}-${version}.tar.bz2"; sha256 = "046c9qwl1vbww0ljm4xyxf5jpz9nq62b2q0wdz9xjimgh4c207w1"; }; @@ -39,12 +39,12 @@ stdenv.mkDerivation rec { ''; allianceInstaller = '' - #!${stdenv.shell} + #!${runtimeShell} cp -v -r -n --no-preserve=mode $out/etc/* /etc/ > /etc/alliance-install.log ''; allianceUnInstaller = '' - #!${stdenv.shell} + #!${runtimeShell} awk '{print \$3}' /etc/alliance-install.log | xargs rm awk '{print \$3}' /etc/alliance-install.log | xargs rmdir rm /etc/alliance-install.log diff --git a/pkgs/applications/science/electronics/bitscope/common.nix b/pkgs/applications/science/electronics/bitscope/common.nix index 64777b5a0ac..9101f1fdbe5 100644 --- a/pkgs/applications/science/electronics/bitscope/common.nix +++ b/pkgs/applications/science/electronics/bitscope/common.nix @@ -2,7 +2,7 @@ , buildFHSUserEnv , cairo , dpkg -, gdk_pixbuf +, gdk-pixbuf , glib , gtk2-x11 , makeWrapper @@ -39,7 +39,7 @@ let libs = attrs.libs or [ atk cairo - gdk_pixbuf + gdk-pixbuf glib gtk2-x11 pango diff --git a/pkgs/applications/science/electronics/caneda/default.nix b/pkgs/applications/science/electronics/caneda/default.nix index 8f81a03044b..ff41a498ae7 100644 --- a/pkgs/applications/science/electronics/caneda/default.nix +++ b/pkgs/applications/science/electronics/caneda/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchFromGitHub, cmake, qtbase, qttools, qtsvg, qwt }: stdenv.mkDerivation rec { - name = "caneda-${version}"; + pname = "caneda"; version = "0.3.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/electronics/dsview/default.nix b/pkgs/applications/science/electronics/dsview/default.nix index af3844f4731..d188365db1d 100644 --- a/pkgs/applications/science/electronics/dsview/default.nix +++ b/pkgs/applications/science/electronics/dsview/default.nix @@ -1,10 +1,10 @@ -{ stdenv, fetchFromGitHub, pkgconfig, cmake, autoreconfHook, -glib, libzip, boost, fftw, qtbase, -libusb, makeWrapper, libsigrok4dsl, libsigrokdecode4dsl +{ stdenv, fetchFromGitHub, pkgconfig, cmake, +libzip, boost, fftw, qtbase, +libusb, wrapQtAppsHook, libsigrok4dsl, libsigrokdecode4dsl }: stdenv.mkDerivation rec { - name = "dsview-${version}"; + pname = "dsview"; version = "0.99"; @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { ./install.patch ]; - nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; + nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ]; buildInputs = [ boost fftw qtbase libusb libzip libsigrokdecode4dsl libsigrok4dsl @@ -32,14 +32,9 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - postFixup = '' - wrapProgram $out/bin/DSView --suffix QT_PLUGIN_PATH : \ - ${qtbase.bin}/${qtbase.qtPluginPrefix} - ''; - meta = with stdenv.lib; { description = "A GUI program for supporting various instruments from DreamSourceLab, including logic analyzer, oscilloscope, etc"; - homepage = http://www.dreamsourcelab.com/; + homepage = https://www.dreamsourcelab.com/; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = [ maintainers.bachp ]; diff --git a/pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix b/pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix index 4a681907e19..8aa8275510c 100644 --- a/pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix +++ b/pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix @@ -6,7 +6,7 @@ systemd, alsaLib, dsview stdenv.mkDerivation rec { inherit (dsview) version src; - name = "libsigrok4dsl-${version}"; + pname = "libsigrok4dsl"; postUnpack = '' export sourceRoot=$sourceRoot/libsigrok4DSL @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A fork of the sigrok library for usage with DSView"; - homepage = http://www.dreamsourcelab.com/; + homepage = https://www.dreamsourcelab.com/; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = [ maintainers.bachp ]; diff --git a/pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix b/pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix index 58f32f2ae6c..12d375cf88a 100644 --- a/pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix +++ b/pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix @@ -5,7 +5,7 @@ glib, check, python3, dsview stdenv.mkDerivation rec { inherit (dsview) version src; - name = "libsigrokdecode4dsl-${version}"; + pname = "libsigrokdecode4dsl"; postUnpack = '' export sourceRoot=$sourceRoot/libsigrokdecode4DSL @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A fork of the sigrokdecode library for usage with DSView"; - homepage = http://www.dreamsourcelab.com/; + homepage = https://www.dreamsourcelab.com/; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = [ maintainers.bachp ]; diff --git a/pkgs/applications/science/electronics/eagle/eagle.nix b/pkgs/applications/science/electronics/eagle/eagle.nix index b97ede41396..3168fc19d05 100644 --- a/pkgs/applications/science/electronics/eagle/eagle.nix +++ b/pkgs/applications/science/electronics/eagle/eagle.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, makeDesktopItem, patchelf +{ stdenv, fetchurl, makeDesktopItem , libXrender, libXrandr, libXcursor, libX11, libXext, libXi, libxcb -, cups , libGL, glib, nss, nspr, expat, alsaLib + , libGL, glib, nss, nspr, expat, alsaLib , qtbase, qtdeclarative, qtsvg, qtlocation, qtwebchannel, qtwebengine }: @@ -12,12 +12,12 @@ let ]; in stdenv.mkDerivation rec { - name = "eagle-${version}"; - version = "9.1.2"; + pname = "eagle"; + version = "9.4.2"; src = fetchurl { url = "https://eagle-updates.circuits.io/downloads/${builtins.replaceStrings ["."] ["_"] version}/Autodesk_EAGLE_${version}_English_Linux_64bit.tar.gz"; - sha256 = "0y7ahl9z5a7l9cjk8hzmyv6ga8chlry5rr8v116q5mnsgs4i11an"; + sha256 = "0lrwrvqcb91mcggmicvwjrngccsdy0f06l7a8nfgp9ckn4d9vmg2"; }; desktopItem = makeDesktopItem { diff --git a/pkgs/applications/science/electronics/eagle/eagle7.nix b/pkgs/applications/science/electronics/eagle/eagle7.nix index d5720440f7c..a9528b05a31 100644 --- a/pkgs/applications/science/electronics/eagle/eagle7.nix +++ b/pkgs/applications/science/electronics/eagle/eagle7.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, makeDesktopItem, patchelf, zlib, freetype, fontconfig , openssl, libXrender, libXrandr, libXcursor, libX11, libXext, libXi -, libxcb, cups, xkeyboardconfig +, libxcb, cups, xkeyboardconfig, runtimeShell }: let @@ -13,7 +13,7 @@ let in stdenv.mkDerivation rec { - name = "eagle-${version}"; + pname = "eagle"; version = "7.7.0"; src = @@ -72,7 +72,7 @@ stdenv.mkDerivation rec { dynlinker="$(cat $NIX_CC/nix-support/dynamic-linker)" mkdir -p "$out"/bin cat > "$out"/bin/eagle << EOF - #!${stdenv.shell} + #!${runtimeShell} export LD_LIBRARY_PATH="${stdenv.cc.cc.lib}/lib:${libPath}" export LD_PRELOAD="$out/lib/eagle_fixer.so" export QT_XKB_CONFIG_ROOT="${xkeyboardconfig}/share/X11/xkb" diff --git a/pkgs/applications/science/electronics/fped/default.nix b/pkgs/applications/science/electronics/fped/default.nix new file mode 100644 index 00000000000..a3b2945ac3d --- /dev/null +++ b/pkgs/applications/science/electronics/fped/default.nix @@ -0,0 +1,44 @@ +{ lib, stdenv, fetchgit +, flex, bison, fig2dev, imagemagick, netpbm, gtk2 +, pkgconfig +}: + +with lib; +stdenv.mkDerivation rec { + pname = "fped"; + version = "unstable-2017-05-11"; + + src = fetchgit { + url = "git://projects.qi-hardware.com/fped.git"; + rev = "fa98e58157b6f68396d302c32421e882ac87f45b"; + sha256 = "0xv364a00zwxhd9kg1z9sch5y0cxnrhk546asspyb9bh58sdzfy7"; + }; + + # This uses '/bin/bash', '/usr/local' and 'lex' by default + makeFlags = [ + "PREFIX=${placeholder ''out''}" + "LEX=flex" + "RGBDEF=${netpbm}/share/netpbm/misc/rgb.txt" + ]; + + nativeBuildInputs = [ + flex + bison + pkgconfig + imagemagick + fig2dev + netpbm + ]; + + buildInputs = [ + gtk2 + ]; + + meta = { + description = "An editor that allows the interactive creation of footprints electronic components"; + homepage = http://projects.qi-hardware.com/index.php/p/fped/; + license = licenses.gpl2; + maintainers = with maintainers; [ expipiplus1 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/science/electronics/fritzing/default.nix b/pkgs/applications/science/electronics/fritzing/default.nix index ab508854310..127e9c05624 100644 --- a/pkgs/applications/science/electronics/fritzing/default.nix +++ b/pkgs/applications/science/electronics/fritzing/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "fritzing-${version}"; + pname = "fritzing"; version = "0.9.3b"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/electronics/geda/default.nix b/pkgs/applications/science/electronics/geda/default.nix index 93fe7b6ba77..71101d7cd74 100644 --- a/pkgs/applications/science/electronics/geda/default.nix +++ b/pkgs/applications/science/electronics/geda/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, guile, gtk2, flex, gawk, perl }: stdenv.mkDerivation rec { - name = "geda-${version}"; + pname = "geda"; version = "1.8.2-20130925"; src = fetchurl { diff --git a/pkgs/applications/science/electronics/gerbv/default.nix b/pkgs/applications/science/electronics/gerbv/default.nix index c0821c8a9ab..3f61a13eab8 100644 --- a/pkgs/applications/science/electronics/gerbv/default.nix +++ b/pkgs/applications/science/electronics/gerbv/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, pkgconfig, gettext, libtool, automake, autoconf, cairo, gtk2, autoreconfHook }: stdenv.mkDerivation rec { - name = "gerbv-${version}"; + pname = "gerbv"; version = "2015-10-08"; src = fetchgit { diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix index e2ac4c4b44c..8dffe580cc6 100644 --- a/pkgs/applications/science/electronics/gtkwave/default.nix +++ b/pkgs/applications/science/electronics/gtkwave/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, gtk2, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}: stdenv.mkDerivation rec { - name = "gtkwave-${version}"; - version = "3.3.98"; + pname = "gtkwave"; + version = "3.3.101"; src = fetchurl { - url = "mirror://sourceforge/gtkwave/${name}.tar.gz"; - sha256 = "1xi2b9yck8fagnjhnhhwrhz5rfvrs2h2m6m64m210m5xnfzbp9pg"; + url = "mirror://sourceforge/gtkwave/${pname}-${version}.tar.gz"; + sha256 = "1j6capxwgi8aj3sgqg1r7161icni9y8y93g1rl3bzd3s40jcyhsz"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index e77f4a603a8..6f0d8e51448 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -1,23 +1,38 @@ -{ wxGTK, lib, stdenv, fetchurl, cmake, libGLU_combined, zlib +{ wxGTK, lib, stdenv, fetchurl, fetchFromGitHub, cmake, libGLU_combined, zlib , libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig , doxygen, pcre, libpthreadstubs, libXdmcp , wrapGAppsHook , oceSupport ? true, opencascade , ngspiceSupport ? true, libngspice , swig, python, pythonPackages +, lndir }: assert ngspiceSupport -> libngspice != null; with lib; -stdenv.mkDerivation rec { - name = "kicad-${version}"; +let + mkLib = version: name: sha256: attrs: stdenv.mkDerivation ({ + name = "kicad-${name}-${version}"; + src = fetchFromGitHub { + owner = "KiCad"; + repo = "kicad-${name}"; + rev = "${version}"; + inherit sha256 name; + }; + nativeBuildInputs = [ + cmake + ]; + } // attrs); + +in stdenv.mkDerivation rec { + pname = "kicad"; series = "5.0"; - version = "5.0.2"; + version = "5.1.2"; src = fetchurl { url = "https://launchpad.net/kicad/${series}/${version}/+download/kicad-${version}.tar.xz"; - sha256 = "10605rr10x0353n6yk2z095ydnkd1i6j1ncbq64pfxdn5vkhcd1g"; + sha256 = "12kp82ms2dwqkhilmh3mbhg5rsj5ykk99pnkhp4sx89nni86qdw4"; }; postPatch = '' @@ -32,6 +47,7 @@ stdenv.mkDerivation rec { # nix installs wxPython headers in wxPython package, not in wxwidget # as assumed. We explicitely set the header location. "-DCMAKE_CXX_FLAGS=-I${pythonPackages.wxPython}/include/wx-3.0" + "-DwxPYTHON_INCLUDE_DIRS=${pythonPackages.wxPython}/include/wx-3.0" ] ++ optionals (oceSupport) [ "-DKICAD_USE_OCE=ON" "-DOCE_DIR=${opencascade}" ] ++ optional (ngspiceSupport) "-DKICAD_SPICE=ON"; @@ -41,12 +57,13 @@ stdenv.mkDerivation rec { pkgconfig wrapGAppsHook pythonPackages.wrapPython + lndir ]; pythonPath = [ pythonPackages.wxPython ]; propagatedBuildInputs = [ pythonPackages.wxPython ]; buildInputs = [ - libGLU_combined zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs + libGLU_combined zlib libX11 wxGTK pcre libXdmcp glew glm libpthreadstubs cairo curl openssl boost swig python ] ++ optional (oceSupport) opencascade @@ -55,6 +72,37 @@ stdenv.mkDerivation rec { # this breaks other applications in kicad dontWrapGApps = true; + passthru = { + i18n = mkLib version "i18n" "08a8lpz2j7bhwn155s0ii538qlynnnvq6fmdw1dxjfgmfy7y3r66" { + buildInputs = [ + gettext + ]; + meta.license = licenses.gpl2; # https://github.com/KiCad/kicad-i18n/issues/3 + }; + symbols = mkLib version "symbols" "0l5r53wcv0518x2kl0fh1zi0d50cckc7z1739fp9z3k5a4ddk824" { + meta.license = licenses.cc-by-sa-40; + }; + footprints = mkLib version "footprints" "0q7y7m10pav6917ri37pzjvyh71c8lf4lh9ch258pdpl3w481zk6" { + meta.license = licenses.cc-by-sa-40; + }; + templates = mkLib version "templates" "1nva4ckq0l2lrah0l05355cawlwd7qfxcagcv32m8hcrn781455q" { + meta.license = licenses.cc-by-sa-40; + }; + packages3d = mkLib version "packages3d" "0xla9k1rnrs00fink90y9qz766iks5lyqwnf1h2i508djqhqm5zi" { + hydraPlatforms = []; # this is a ~1 GiB download, occupies ~5 GiB in store + meta.license = licenses.cc-by-sa-40; + }; + }; + + modules = with passthru; [ i18n symbols footprints templates ]; + + postInstall = '' + mkdir -p $out/share + for module in $modules; do + lndir $module/share $out/share + done + ''; + preFixup = '' buildPythonPath "$out $pythonPath" gappsWrapperArgs+=(--set PYTHONPATH "$program_PYTHONPATH") diff --git a/pkgs/applications/science/electronics/kicad/unstable.nix b/pkgs/applications/science/electronics/kicad/unstable.nix index a9a4c32a0b4..7475170d6a7 100644 --- a/pkgs/applications/science/electronics/kicad/unstable.nix +++ b/pkgs/applications/science/electronics/kicad/unstable.nix @@ -11,7 +11,7 @@ assert ngspiceSupport -> libngspice != null; with lib; stdenv.mkDerivation rec { - name = "kicad-unstable-${version}"; + pname = "kicad-unstable"; version = "2018-06-12"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/electronics/librepcb/default.nix b/pkgs/applications/science/electronics/librepcb/default.nix index bc6e5e33ea2..110552d1d64 100644 --- a/pkgs/applications/science/electronics/librepcb/default.nix +++ b/pkgs/applications/science/electronics/librepcb/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, qtbase, qttools, qmake }: stdenv.mkDerivation rec { - name = "librepcb-${version}"; + pname = "librepcb"; version = "0.1.0"; src = fetchFromGitHub { @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A free EDA software to develop printed circuit boards"; - homepage = http://librepcb.org/; + homepage = https://librepcb.org/; maintainers = with maintainers; [ luz ]; license = licenses.gpl3; platforms = platforms.linux; diff --git a/pkgs/applications/science/electronics/ngspice/default.nix b/pkgs/applications/science/electronics/ngspice/default.nix index 194804a21a6..78240a40bac 100644 --- a/pkgs/applications/science/electronics/ngspice/default.nix +++ b/pkgs/applications/science/electronics/ngspice/default.nix @@ -2,7 +2,7 @@ , readline, libX11, libICE, libXaw, libXmu, libXext, libXt, fftw }: stdenv.mkDerivation rec { - name = "ngspice-${version}"; + pname = "ngspice"; version = "30"; src = fetchurl { diff --git a/pkgs/applications/science/electronics/pcb/default.nix b/pkgs/applications/science/electronics/pcb/default.nix index b9bbcd695f1..7514aed9f24 100644 --- a/pkgs/applications/science/electronics/pcb/default.nix +++ b/pkgs/applications/science/electronics/pcb/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "pcb-${version}"; + pname = "pcb"; version = "20140316"; src = fetchurl { - url = "http://ftp.geda-project.org/pcb/pcb-20140316/${name}.tar.gz"; + url = "http://ftp.geda-project.org/pcb/pcb-20140316/${pname}-${version}.tar.gz"; sha256 = "0l6944hq79qsyp60i5ai02xwyp8l47q7xdm3js0jfkpf72ag7i42"; }; diff --git a/pkgs/applications/science/electronics/pulseview/default.nix b/pkgs/applications/science/electronics/pulseview/default.nix index 4e86d1d917f..ae9afd95518 100644 --- a/pkgs/applications/science/electronics/pulseview/default.nix +++ b/pkgs/applications/science/electronics/pulseview/default.nix @@ -1,30 +1,30 @@ -{ stdenv, fetchurl, pkgconfig, cmake, glib, boost, libsigrok +{ mkDerivation, lib, fetchurl, pkgconfig, cmake, glib, boost, libsigrok , libsigrokdecode, libserialport, libzip, udev, libusb1, libftdi1, glibmm , pcre, librevisa, python3, qtbase, qtsvg }: -stdenv.mkDerivation rec { - name = "pulseview-0.4.0"; +mkDerivation rec { + pname = "pulseview"; + version = "0.4.1"; src = fetchurl { - url = "https://sigrok.org/download/source/pulseview/${name}.tar.gz"; - sha256 = "1f8f2342d5yam98mmcb8f9g2vslcwv486bmi4x45pxn68l82ky3q"; + url = "https://sigrok.org/download/source/pulseview/${pname}-${version}.tar.gz"; + sha256 = "0bvgmkgz37n2bi9niskpl05hf7rsj1lj972fbrgnlz25s4ywxrwy"; }; nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ glib boost libsigrok libsigrokdecode libserialport libzip udev libusb1 libftdi1 glibmm - pcre librevisa python3 qtbase qtsvg + pcre librevisa python3 + qtbase qtsvg ]; - enableParallelBuilding = true; - - meta = with stdenv.lib; { + meta = with lib; { description = "Qt-based LA/scope/MSO GUI for sigrok (a signal analysis software suite)"; homepage = https://sigrok.org/; license = licenses.gpl3Plus; + maintainers = with maintainers; [ bjornfor ]; platforms = platforms.linux; - maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/applications/science/electronics/qucs/default.nix b/pkgs/applications/science/electronics/qucs/default.nix index 1a5fbf90d10..1bfe6df5ff5 100644 --- a/pkgs/applications/science/electronics/qucs/default.nix +++ b/pkgs/applications/science/electronics/qucs/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "0.0.19"; - name = "qucs-${version}"; + pname = "qucs"; src = fetchFromGitHub { owner = "Qucs"; diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix index d2246f656db..9a989919250 100644 --- a/pkgs/applications/science/electronics/verilator/default.nix +++ b/pkgs/applications/science/electronics/verilator/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl, flex, bison }: stdenv.mkDerivation rec { - name = "verilator-${version}"; - version = "4.010"; + pname = "verilator"; + version = "4.016"; src = fetchurl { - url = "https://www.veripool.org/ftp/${name}.tgz"; - sha256 = "0wfmazhxb6bf6qznh7v756fv7jayjgkzar33gazkwdwfwa7p8lan"; + url = "https://www.veripool.org/ftp/${pname}-${version}.tgz"; + sha256 = "18fqm6pgscy504ql27i150fdsd2j91hw5qsnpymws3pvqj2qz2ij"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/science/electronics/verilog/default.nix b/pkgs/applications/science/electronics/verilog/default.nix index c4268b54c20..f850a1bf94d 100644 --- a/pkgs/applications/science/electronics/verilog/default.nix +++ b/pkgs/applications/science/electronics/verilog/default.nix @@ -1,29 +1,40 @@ -{ stdenv, fetchFromGitHub, autoconf, gperf, flex, bison }: +{ stdenv, fetchFromGitHub, autoconf, gperf, flex, bison, readline, ncurses +, bzip2, zlib +}: stdenv.mkDerivation rec { - name = "iverilog-${version}"; - version = "2018.12.15"; + pname = "iverilog"; + version = "unstable-2019-08-01"; src = fetchFromGitHub { - owner = "steveicarus"; - repo = "iverilog"; - rev = "7cd078e7ab184069b3b458fe6df7e83962254816"; - sha256 = "1zc7lsa77dbsxjfz7vdgclmg97r0kw08xss7yfs4vyv5v5gnn98d"; + owner = "steveicarus"; + repo = pname; + rev = "c383d2048c0bd15f5db083f14736400546fb6215"; + sha256 = "1zs0gyhws0qa315magz3w5m45v97knczdgbf2zn4d7bdb7cv417c"; }; - patchPhase = '' + enableParallelBuilding = true; + + prePatch = '' + substituteInPlace configure.in \ + --replace "AC_CHECK_LIB(termcap, tputs)" "AC_CHECK_LIB(termcap, tputs)" + ''; + + preConfigure = '' chmod +x $PWD/autoconf.sh $PWD/autoconf.sh ''; - buildInputs = [ autoconf gperf flex bison ]; + nativeBuildInputs = [ autoconf gperf flex bison ]; - meta = { + buildInputs = [ readline ncurses bzip2 zlib ]; + + meta = with stdenv.lib; { description = "Icarus Verilog compiler"; repositories.git = https://github.com/steveicarus/iverilog.git; - homepage = http://www.icarus.com; - license = stdenv.lib.licenses.gpl2Plus; - maintainers = with stdenv.lib.maintainers; [winden]; - platforms = with stdenv.lib.platforms; linux; + homepage = "http://iverilog.icarus.com/"; + license = licenses.lgpl21; + maintainers = with maintainers; [ winden ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/science/geometry/drgeo/default.nix b/pkgs/applications/science/geometry/drgeo/default.nix index e233b91bbc9..e8ae4d01a6d 100644 --- a/pkgs/applications/science/geometry/drgeo/default.nix +++ b/pkgs/applications/science/geometry/drgeo/default.nix @@ -2,13 +2,13 @@ , intltool, libtool, pkgconfig }: stdenv.mkDerivation rec { - name = "drgeo-${version}"; + pname = "drgeo"; version = "1.1.0"; hardeningDisable = [ "format" ]; src = fetchurl { - url = "mirror://sourceforge/ofset/${name}.tar.gz"; + url = "mirror://sourceforge/ofset/${pname}-${version}.tar.gz"; sha256 = "05i2czgzhpzi80xxghinvkyqx4ym0gm9f38fz53idjhigiivp4wc"; }; patches = [ ./struct.patch ]; diff --git a/pkgs/applications/science/geometry/tetgen/default.nix b/pkgs/applications/science/geometry/tetgen/default.nix index b655cc48c73..7be0103304a 100644 --- a/pkgs/applications/science/geometry/tetgen/default.nix +++ b/pkgs/applications/science/geometry/tetgen/default.nix @@ -2,7 +2,8 @@ let version = "1.5.0"; in stdenv.mkDerivation { - name = "tetgen-${version}"; + pname = "tetgen"; + inherit version; src = fetchurl { url = "http://wias-berlin.de/software/tetgen/1.5/src/tetgen${version}.tar.gz"; diff --git a/pkgs/applications/science/logic/abc/default.nix b/pkgs/applications/science/logic/abc/default.nix index 6e7a3cfc88a..fd50fc825a0 100644 --- a/pkgs/applications/science/logic/abc/default.nix +++ b/pkgs/applications/science/logic/abc/default.nix @@ -1,7 +1,7 @@ { fetchFromGitHub, stdenv, readline, cmake }: stdenv.mkDerivation rec { - name = "abc-verifier-${version}"; + pname = "abc-verifier"; version = "2018-07-08"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/logic/abella/default.nix b/pkgs/applications/science/logic/abella/default.nix index bc23454edfc..7078fd454a0 100644 --- a/pkgs/applications/science/logic/abella/default.nix +++ b/pkgs/applications/science/logic/abella/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, rsync, ocamlPackages }: stdenv.mkDerivation rec { - name = "abella-${version}"; + pname = "abella"; version = "2.0.6"; src = fetchurl { - url = "http://abella-prover.org/distributions/${name}.tar.gz"; + url = "http://abella-prover.org/distributions/${pname}-${version}.tar.gz"; sha256 = "164q9gngckg6q69k13lwx2pq3cnc9ckw1qi8dnpxqfjgwfqr7xyi"; }; diff --git a/pkgs/applications/science/logic/aiger/default.nix b/pkgs/applications/science/logic/aiger/default.nix index 03524fc6b22..10d94e2bb8c 100644 --- a/pkgs/applications/science/logic/aiger/default.nix +++ b/pkgs/applications/science/logic/aiger/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, picosat }: stdenv.mkDerivation rec { - name = "aiger-${version}"; + pname = "aiger"; version = "1.9.9"; src = fetchurl { - url = "http://fmv.jku.at/aiger/${name}.tar.gz"; + url = "http://fmv.jku.at/aiger/${pname}-${version}.tar.gz"; sha256 = "1ish0dw0nf9gyghxsdhpy1jjiy5wp54c993swp85xp7m6vdx6l0y"; }; diff --git a/pkgs/applications/science/logic/alt-ergo/default.nix b/pkgs/applications/science/logic/alt-ergo/default.nix index 234b7474997..f83480cfbaf 100644 --- a/pkgs/applications/science/logic/alt-ergo/default.nix +++ b/pkgs/applications/science/logic/alt-ergo/default.nix @@ -1,12 +1,12 @@ { fetchurl, stdenv, which, dune, ocamlPackages }: stdenv.mkDerivation rec { - name = "alt-ergo-${version}"; + pname = "alt-ergo"; version = "2.3.0"; src = fetchurl { - url = "https://alt-ergo.ocamlpro.com/download_manager.php?target=${name}.tar.gz"; - name = "${name}.tar.gz"; + url = "https://alt-ergo.ocamlpro.com/download_manager.php?target=${pname}-${version}.tar.gz"; + name = "${pname}-${version}.tar.gz"; sha256 = "1ycr3ff0gacq1aqzs16n6swgfniwpim0m7rvhcam64kj0a80c6bz"; }; diff --git a/pkgs/applications/science/logic/avy/default.nix b/pkgs/applications/science/logic/avy/default.nix index 6c2d2f0a062..668fd9fea72 100644 --- a/pkgs/applications/science/logic/avy/default.nix +++ b/pkgs/applications/science/logic/avy/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, cmake, zlib, boost }: stdenv.mkDerivation rec { - name = "avy-${version}"; + pname = "avy"; version = "2017.10.16"; src = fetchgit { diff --git a/pkgs/applications/science/logic/boolector/default.nix b/pkgs/applications/science/logic/boolector/default.nix index 8e0ad22bba1..f1f74bcb581 100644 --- a/pkgs/applications/science/logic/boolector/default.nix +++ b/pkgs/applications/science/logic/boolector/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "boolector-${version}"; + pname = "boolector"; version = "3.0.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/logic/btor2tools/default.nix b/pkgs/applications/science/logic/btor2tools/default.nix index ed3d9e63812..9d6c866faea 100644 --- a/pkgs/applications/science/logic/btor2tools/default.nix +++ b/pkgs/applications/science/logic/btor2tools/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "btor2tools-${version}"; + pname = "btor2tools"; version = "pre55_8c150b39"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/logic/cedille/default.nix b/pkgs/applications/science/logic/cedille/default.nix index 0817ebe0654..4cef49788c0 100644 --- a/pkgs/applications/science/logic/cedille/default.nix +++ b/pkgs/applications/science/logic/cedille/default.nix @@ -1,25 +1,28 @@ -{ stdenv, lib, fetchFromGitHub, alex, happy, Agda, agdaIowaStdlib, - buildPlatform, buildPackages, ghcWithPackages, fetchpatch }: -let - options-patch = - fetchpatch { - url = https://github.com/cedille/cedille/commit/ee62b0fabde6c4f7299a3778868519255cc4a64f.patch; - name = "options.patch"; - sha256 = "19xzn9sqpfnfqikqy1x9lb9mb6722kbgvrapl6cf8ckcw8cfj8cz"; - }; -in +{ stdenv +, lib +, fetchFromGitHub +, alex +, happy +, Agda +, buildPlatform +, buildPackages +, ghcWithPackages +}: + stdenv.mkDerivation rec { - version = "1.0.0"; - name = "cedille-${version}"; + version = "1.1.1"; + pname = "cedille"; + src = fetchFromGitHub { owner = "cedille"; repo = "cedille"; rev = "v${version}"; - sha256 = "08c2vgg8i6l3ws7hd5gsj89mki36lxm7x7s8hi1qa5gllq04a832"; + sha256 = "16pc72wz6kclq9yv2r8hx85mkp0s125h12snrhcjxkbl41xx2ynb"; + fetchSubmodules = true; }; - buildInputs = [ alex happy Agda (ghcWithPackages (ps: [ps.ieee])) ]; - patches = [options-patch]; + nativeBuildInputs = [ alex happy ]; + buildInputs = [ Agda (ghcWithPackages (ps: [ps.ieee])) ]; LANG = "en_US.UTF-8"; LOCALE_ARCHIVE = @@ -28,23 +31,22 @@ stdenv.mkDerivation rec { postPatch = '' patchShebangs create-libraries.sh - cp -r ${agdaIowaStdlib.src} ial - chmod -R 755 ial ''; - outputs = ["out" "lib"]; - installPhase = '' - mkdir -p $out/bin - mv cedille $out/bin/cedille - mv lib $lib + install -Dm755 -t $out/bin/ cedille + install -Dm755 -t $out/bin/ core/cedille-core + install -Dm644 -t $out/share/info docs/info/cedille-info-main.info + + mkdir -p $out/lib/ + cp -r lib/ $out/lib/cedille/ ''; - meta = { - description = "An interactive theorem-prover and dependently typed programming language, based on extrinsic (aka Curry-style) type theory."; + meta = with stdenv.lib; { + description = "An interactive theorem-prover and dependently typed programming language, based on extrinsic (aka Curry-style) type theory"; homepage = https://cedille.github.io/; - license = stdenv.lib.licenses.mit; - maintainers = [ stdenv.lib.maintainers.mpickering ]; - platforms = stdenv.lib.platforms.unix; + license = licenses.mit; + maintainers = with maintainers; [ marsam mpickering ]; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/science/logic/clprover/clprover.nix b/pkgs/applications/science/logic/clprover/clprover.nix new file mode 100644 index 00000000000..e2f48b34029 --- /dev/null +++ b/pkgs/applications/science/logic/clprover/clprover.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchzip }: + +stdenv.mkDerivation rec { + pname = "clprover"; + version = "1.0.3"; + + src = fetchzip { + url = "http://cgi.csc.liv.ac.uk/~ullrich/CLProver++/CLProver++-v1.0.3-18-04-2015.zip"; + sha256 = "10kmlg4m572qwfzi6hkyb0ypb643xw8sfb55xx7866lyh37w1q3s"; + stripRoot = false; + }; + + installPhase = '' + mkdir $out + cp -r bin $out/bin + mkdir -p $out/share/clprover + cp -r examples $out/share/clprover/examples + ''; + + meta = with stdenv.lib; { + description = "Resolution-based theorem prover for Coalition Logic implemented in C++"; + homepage = http://cgi.csc.liv.ac.uk/~ullrich/CLProver++/; + license = licenses.gpl3; # Note that while the website states that it is GPLv2 but the file in the zip as well as the comments in the source state it is GPLv3 + maintainers = with maintainers; [ mgttlinger ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index 0a4e1dddcae..dfe1277d5ac 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -8,6 +8,7 @@ { stdenv, fetchFromGitHub, writeText, pkgconfig , ocamlPackages, ncurses , buildIde ? true +, glib, gnome3, wrapGAppsHook , csdp ? null , version }: @@ -26,15 +27,20 @@ let "8.8.1" = "1hlf58gwazywbmfa48219amid38vqdl94yz21i11b4map6jfwhbk"; "8.8.2" = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd"; "8.9.0" = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh"; + "8.9.1" = "1xrq6mkhpq994bncmnijf8jwmwn961kkpl4mwwlv7j3dgnysrcv2"; + "8.10+beta2" = "0jk7pwydhd17ab7ii69zvi4sgrr630q2lsxhckaj3sz55cpjlhal"; }."${version}"; - coq-version = builtins.substring 0 3 version; - ideFlags = if buildIde then "-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; + coq-version = stdenv.lib.versions.majorMinor version; + versionAtLeast = stdenv.lib.versionAtLeast coq-version; + ideFlags = stdenv.lib.optionalString (buildIde && !versionAtLeast "8.10") + "-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt"; csdpPatch = if csdp != null then '' substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp" substituteInPlace plugins/micromega/coq_micromega.ml --replace "System.is_in_system_path \"csdp\"" "true" '' else ""; self = stdenv.mkDerivation { - name = "coq-${version}"; + pname = "coq"; + inherit version; passthru = { inherit coq-version; @@ -96,7 +102,10 @@ self = stdenv.mkDerivation { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ ncurses ] ++ (with ocamlPackages; [ ocaml findlib camlp5 num ]) - ++ stdenv.lib.optional buildIde ocamlPackages.lablgtk; + ++ stdenv.lib.optionals buildIde + (if versionAtLeast "8.10" + then [ ocamlPackages.lablgtk3-sourceview3 glib gnome3.defaultIconTheme wrapGAppsHook ] + else [ ocamlPackages.lablgtk ]); postPatch = '' UNAME=$(type -tp uname) @@ -117,7 +126,9 @@ self = stdenv.mkDerivation { addEnvHooks "$targetOffset" addCoqPath ''; - preConfigure = '' + preConfigure = if versionAtLeast "8.10" then '' + patchShebangs dev/tools/ + '' else '' configureFlagsArray=( ${ideFlags} ) diff --git a/pkgs/applications/science/logic/coq2html/default.nix b/pkgs/applications/science/logic/coq2html/default.nix index d76462ca938..bebf81b030d 100644 --- a/pkgs/applications/science/logic/coq2html/default.nix +++ b/pkgs/applications/science/logic/coq2html/default.nix @@ -5,7 +5,8 @@ let in stdenv.mkDerivation { - name = "coq2html-${version}"; + pname = "coq2html"; + inherit version; src = fetchgit { url = "https://github.com/xavierleroy/coq2html"; diff --git a/pkgs/applications/science/logic/cryptominisat/default.nix b/pkgs/applications/science/logic/cryptominisat/default.nix index 18af6f0a618..b4c4cb7c047 100644 --- a/pkgs/applications/science/logic/cryptominisat/default.nix +++ b/pkgs/applications/science/logic/cryptominisat/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, fetchpatch, cmake, python3, xxd, boost }: +{ stdenv, fetchFromGitHub, cmake, python3, xxd, boost }: stdenv.mkDerivation rec { - name = "cryptominisat-${version}"; - version = "5.6.6"; + pname = "cryptominisat"; + version = "5.6.8"; src = fetchFromGitHub { owner = "msoos"; repo = "cryptominisat"; rev = version; - sha256 = "1a1494gj4j73yij0hjbzsn2hglk9zy5c5wfwgig3j67cis28saf5"; + sha256 = "0csimmy1nvkfcsxjra9bm4mlcyxa3ac8zarm88zfb7640ca0d0wv"; }; buildInputs = [ python3 boost ]; diff --git a/pkgs/applications/science/logic/cryptoverif/default.nix b/pkgs/applications/science/logic/cryptoverif/default.nix index df9e58af08b..6877060d36d 100644 --- a/pkgs/applications/science/logic/cryptoverif/default.nix +++ b/pkgs/applications/science/logic/cryptoverif/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ocaml }: stdenv.mkDerivation rec { - name = "cryptoverif-${version}"; - version = "2.00"; + pname = "cryptoverif"; + version = "2.01pl1"; src = fetchurl { url = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/cryptoverif${version}.tar.gz"; - sha256 = "0g8pkj58b48zk4c0sgpln0qhbj82v75mz3w6cl3w5bvmxsbkwvy1"; + sha256 = "1bkmrv3wsy8mwhrxd3z3br9zgv37c2w6443rm4s9jl0aphcgnbiw"; }; buildInputs = [ ocaml ]; @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { meta = { description = "Cryptographic protocol verifier in the computational model"; - homepage = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/"; + homepage = "https://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/"; license = stdenv.lib.licenses.cecill-b; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; diff --git a/pkgs/applications/science/logic/cubicle/default.nix b/pkgs/applications/science/logic/cubicle/default.nix index 91eaaeeb0e4..cd41e1ca64b 100644 --- a/pkgs/applications/science/logic/cubicle/default.nix +++ b/pkgs/applications/science/logic/cubicle/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, ocamlPackages }: stdenv.mkDerivation rec { - name = "cubicle-${version}"; + pname = "cubicle"; version = "1.1.2"; src = fetchurl { url = "http://cubicle.lri.fr/cubicle-${version}.tar.gz"; diff --git a/pkgs/applications/science/logic/cvc3/default.nix b/pkgs/applications/science/logic/cvc3/default.nix index 703ce6fd508..dfb04ad90e9 100644 --- a/pkgs/applications/science/logic/cvc3/default.nix +++ b/pkgs/applications/science/logic/cvc3/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, flex, bison, gmp, perl }: stdenv.mkDerivation rec { - name = "cvc3-${version}"; + pname = "cvc3"; version = "2.4.1"; src = fetchurl { - url = "http://www.cs.nyu.edu/acsys/cvc3/releases/${version}/${name}.tar.gz"; + url = "http://www.cs.nyu.edu/acsys/cvc3/releases/${version}/${pname}-${version}.tar.gz"; sha256 = "1xxcwhz3y6djrycw8sm6xz83wb4hb12rd1n0skvc7fng0rh1snym"; }; diff --git a/pkgs/applications/science/logic/cvc4/default.nix b/pkgs/applications/science/logic/cvc4/default.nix index cddcbef7a03..c0c7a53ebd4 100644 --- a/pkgs/applications/science/logic/cvc4/default.nix +++ b/pkgs/applications/science/logic/cvc4/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "cvc4-${version}"; + pname = "cvc4"; version = "1.6"; src = fetchurl { diff --git a/pkgs/applications/science/logic/elan/default.nix b/pkgs/applications/science/logic/elan/default.nix index b5a6a5b963e..bc4f526bb3a 100644 --- a/pkgs/applications/science/logic/elan/default.nix +++ b/pkgs/applications/science/logic/elan/default.nix @@ -2,15 +2,15 @@ rustPlatform.buildRustPackage rec { name = "elan-${version}"; - version = "0.7.2"; + version = "0.7.5"; - cargoSha256 = "0vv7kr7rc3lvas7ngp5dp99ajjd5v8k5937ish7zqz1k4970q2f1"; + cargoSha256 = "0lc320m3vw76d6pa5wp6c9jblac6lmyf9qqnxmsnkn4ixdhnghsd"; src = fetchFromGitHub { owner = "kha"; repo = "elan"; rev = "v${version}"; - sha256 = "0844fydfxvacyx02gwxbzpmiamsp22malyy5m4wpvrky4dkpn3qj"; + sha256 = "1147f3lzr6lgvf580ppspn20bdwnf6l8idh1h5ana0p0lf5a0dn1"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/science/logic/eprover/default.nix b/pkgs/applications/science/logic/eprover/default.nix index 4d8e7b17b2b..1f6fced2233 100644 --- a/pkgs/applications/science/logic/eprover/default.nix +++ b/pkgs/applications/science/logic/eprover/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, which }: stdenv.mkDerivation rec { - name = "eprover-${version}"; - version = "2.2"; + pname = "eprover"; + version = "2.3"; src = fetchurl { url = "https://wwwlehre.dhbw-stuttgart.de/~sschulz/WORK/E_DOWNLOAD/V_${version}/E.tgz"; - sha256 = "08ihpwgkz0l7skr42iw8lm202kqr51i792bs61qsbnk9gsjlab1c"; + sha256 = "15pbmi195812a2pwrvfa4gwad0cy7117d5kaw98651g6fzgd4rjk"; }; buildInputs = [ which ]; diff --git a/pkgs/applications/science/logic/fast-downward/default.nix b/pkgs/applications/science/logic/fast-downward/default.nix new file mode 100644 index 00000000000..21ce6be3e6c --- /dev/null +++ b/pkgs/applications/science/logic/fast-downward/default.nix @@ -0,0 +1,55 @@ +{ stdenv, lib, fetchhg, cmake, which, python3, osi, cplex }: + +stdenv.mkDerivation rec { + name = "fast-downward-2019-05-13"; + + src = fetchhg { + url = "http://hg.fast-downward.org/"; + rev = "090f5df5d84a"; + sha256 = "14pcjz0jfzx5269axg66iq8js7lm2w3cnqrrhhwmz833prjp945g"; + }; + + nativeBuildInputs = [ cmake which ]; + buildInputs = [ python3 python3.pkgs.wrapPython osi ]; + + cmakeFlags = + lib.optional osi.withCplex [ "-DDOWNWARD_CPLEX_ROOT=${cplex}/cplex" ]; + + enableParallelBuilding = true; + + postPatch = '' + cd src + # Needed because the package tries to be too smart. + export CC="$(which $CC)" + export CXX="$(which $CXX)" + ''; + + installPhase = '' + install -Dm755 bin/downward $out/libexec/fast-downward/downward + cp -r ../translate $out/libexec/fast-downward/ + install -Dm755 ../../fast-downward.py $out/bin/fast-downward + mkdir -p $out/${python3.sitePackages} + cp -r ../../driver $out/${python3.sitePackages} + + wrapPythonProgramsIn $out/bin "$out $pythonPath" + wrapPythonProgramsIn $out/libexec/fast-downward/translate "$out $pythonPath" + # Because fast-downward calls `python translate.py` we need to return wrapped scripts back. + for i in $out/libexec/fast-downward/translate/.*-wrapped; do + name="$(basename "$i")" + name1="''${name#.}" + name2="''${name1%-wrapped}" + dir="$(dirname "$i")" + dest="$dir/$name2" + echo "Moving $i to $dest" + mv "$i" "$dest" + done + ''; + + meta = with stdenv.lib; { + description = "A domain-independent planning system"; + homepage = "http://www.fast-downward.org/"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/applications/science/logic/gappa/default.nix b/pkgs/applications/science/logic/gappa/default.nix index 71114d2f9e1..7522eb4790e 100644 --- a/pkgs/applications/science/logic/gappa/default.nix +++ b/pkgs/applications/science/logic/gappa/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gmp, mpfr, boost }: stdenv.mkDerivation { - name = "gappa-1.2"; + name = "gappa-1.3.5"; src = fetchurl { - url = https://gforge.inria.fr/frs/download.php/file/34787/gappa-1.2.0.tar.gz; - sha256 = "03hfzmaf5jm54sjpbks20q7qixpmagrfbnyyc276vgmiyslk4dkh"; + url = https://gforge.inria.fr/frs/download.php/file/38044/gappa-1.3.5.tar.gz; + sha256 = "0q1wdiwqj6fsbifaayb1zkp20bz8a1my81sqjsail577jmzwi07w"; }; buildInputs = [ gmp mpfr boost.dev ]; diff --git a/pkgs/applications/science/logic/glucose/default.nix b/pkgs/applications/science/logic/glucose/default.nix index bc8d372ce42..0a8fad484da 100644 --- a/pkgs/applications/science/logic/glucose/default.nix +++ b/pkgs/applications/science/logic/glucose/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, zlib }: stdenv.mkDerivation rec { - name = "glucose-${version}"; + pname = "glucose"; version = "4.1"; src = fetchurl { @@ -14,8 +14,8 @@ stdenv.mkDerivation rec { makeFlags = [ "r" ]; installPhase = '' install -Dm0755 glucose_release $out/bin/glucose - mkdir -p "$out/share/doc/${name}/" - install -Dm0755 ../{LICEN?E,README*,Changelog*} "$out/share/doc/${name}/" + mkdir -p "$out/share/doc/${pname}-${version}/" + install -Dm0755 ../{LICEN?E,README*,Changelog*} "$out/share/doc/${pname}-${version}/" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/science/logic/glucose/syrup.nix b/pkgs/applications/science/logic/glucose/syrup.nix index 30af3216737..816f8504a52 100644 --- a/pkgs/applications/science/logic/glucose/syrup.nix +++ b/pkgs/applications/science/logic/glucose/syrup.nix @@ -1,6 +1,6 @@ { stdenv, zlib, glucose }: stdenv.mkDerivation rec { - name = "glucose-syrup-${version}"; + pname = "glucose-syrup"; version = glucose.version; src = glucose.src; @@ -11,8 +11,8 @@ stdenv.mkDerivation rec { makeFlags = [ "r" ]; installPhase = '' install -Dm0755 glucose-syrup_release $out/bin/glucose-syrup - mkdir -p "$out/share/doc/${name}/" - install -Dm0755 ../{LICEN?E,README*,Changelog*} "$out/share/doc/${name}/" + mkdir -p "$out/share/doc/${pname}-${version}/" + install -Dm0755 ../{LICEN?E,README*,Changelog*} "$out/share/doc/${pname}-${version}/" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix index ffd25b6238b..40b0115dc1b 100644 --- a/pkgs/applications/science/logic/hol_light/default.nix +++ b/pkgs/applications/science/logic/hol_light/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, ocaml, num, camlp5 }: +{ stdenv, runtimeShell, fetchFromGitHub, ocaml, num, camlp5 }: let load_num = @@ -11,7 +11,7 @@ let start_script = '' - #!${stdenv.shell} + #!${runtimeShell} cd $out/lib/hol_light exec ${ocaml}/bin/ocaml \ -I \`${camlp5}/bin/camlp5 -where\` \ @@ -21,13 +21,13 @@ let in stdenv.mkDerivation { - name = "hol_light-2018-09-30"; + name = "hol_light-2019-03-27"; src = fetchFromGitHub { owner = "jrh13"; repo = "hol-light"; - rev = "27e09dd27834de46e917057710e9d8ded51a4c9f"; - sha256 = "1p0rm08wnc2lsrh3xzhlq3zdhzqcv1lbqnkwx3aybrqhbg1ixc1d"; + rev = "a2b487b38d9da47350f1b4316e34a8fa4cf7a40a"; + sha256 = "1qlidl15qi8w4si8wxcmj8yg2srsb0q4k1ad9yd91sgx9h9aq8fk"; }; buildInputs = [ ocaml camlp5 ]; diff --git a/pkgs/applications/science/logic/iprover/default.nix b/pkgs/applications/science/logic/iprover/default.nix index 46b29e3dd27..85fe52239ad 100644 --- a/pkgs/applications/science/logic/iprover/default.nix +++ b/pkgs/applications/science/logic/iprover/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, ocaml, eprover, zlib }: stdenv.mkDerivation rec { - name = "iprover-${version}"; + pname = "iprover"; version = "2018_Jul_24_11h"; src = fetchurl { @@ -17,8 +17,8 @@ stdenv.mkDerivation rec { mkdir -p "$out/bin" cp iproveropt "$out/bin" - mkdir -p "$out/share/${name}" - cp *.p "$out/share/${name}" + mkdir -p "$out/share/${pname}-${version}" + cp *.p "$out/share/${pname}-${version}" echo -e "#! ${stdenv.shell}\\n$out/bin/iproveropt --clausifier \"${eprover}/bin/eprover\" --clausifier_options \" --tstp-format --silent --cnf \" \"\$@\"" > "$out"/bin/iprover chmod a+x "$out"/bin/iprover ''; diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix index ffe50856955..024f2f4e829 100644 --- a/pkgs/applications/science/logic/isabelle/default.nix +++ b/pkgs/applications/science/logic/isabelle/default.nix @@ -1,22 +1,20 @@ -{ stdenv, fetchurl, perl, nettools, java, polyml, z3 }: +{ stdenv, fetchurl, perl, nettools, java, polyml, z3, rlwrap }: # nettools needed for hostname -let - dirname = "Isabelle2017"; -in +stdenv.mkDerivation rec { + pname = "isabelle"; + version = "2018"; -stdenv.mkDerivation { - name = "isabelle-2017"; - inherit dirname; + dirname = "Isabelle${version}"; src = if stdenv.isDarwin then fetchurl { url = "http://isabelle.in.tum.de/website-${dirname}/dist/${dirname}.dmg"; - sha256 = "1awgg39i72pivwfijdwffvil3glnpimjz2x04qbl5la2j6la48nb"; + sha256 = "0jwnvsf5whklq14ihaxs7b9nbic94mm56nvxljrdbvl6y628j9r5"; } else fetchurl { url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux.tar.gz"; - sha256 = "01v1zrajyfamjq5b8v18qr3ffivjckifsvvx2vs13di6wsnmm9gw"; + sha256 = "1928lwrw1v1p9s23kix30ncpqm8djmrnjixj82f3ni2a8sc3hrsp"; }; buildInputs = [ perl polyml z3 ] @@ -25,26 +23,33 @@ stdenv.mkDerivation { sourceRoot = dirname; postPatch = '' - ENV=$(type -p env) - patchShebangs "." - substituteInPlace lib/Tools/env \ - --replace /usr/bin/env $ENV - substituteInPlace lib/Tools/install \ - --replace /usr/bin/env $ENV - sed -i 's|isabelle_java java|${java}/bin/java|g' lib/Tools/java - substituteInPlace etc/settings \ - --subst-var-by ML_HOME "${polyml}/bin" - substituteInPlace contrib/jdk/etc/settings \ - --replace ISABELLE_JDK_HOME= '#ISABELLE_JDK_HOME=' - substituteInPlace contrib/polyml-*/etc/settings \ - --replace '$POLYML_HOME/$ML_PLATFORM' ${polyml}/bin \ - --replace '$POLYML_HOME/$PLATFORM/polyml' ${polyml}/bin/poly - substituteInPlace lib/scripts/run-polyml* lib/scripts/polyml-version \ - --replace '$ML_HOME/poly' ${polyml}/bin/poly - substituteInPlace contrib/z3*/etc/settings \ - --replace '$Z3_HOME/z3' '${z3}/bin/z3' + patchShebangs . - for comp in contrib/jdk contrib/polyml*; do + cat >contrib/z3*/etc/settings <contrib/polyml-*/etc/settings <contrib/jdk/etc/settings <>etc/settings + + for comp in contrib/jdk contrib/polyml-* contrib/z3-*; do rm -rf $comp/x86* done '' + (if ! stdenv.isLinux then "" else '' diff --git a/pkgs/applications/science/logic/jonprl/default.nix b/pkgs/applications/science/logic/jonprl/default.nix index a95d1201cbd..61ca78d85ed 100644 --- a/pkgs/applications/science/logic/jonprl/default.nix +++ b/pkgs/applications/science/logic/jonprl/default.nix @@ -1,7 +1,7 @@ { fetchgit, stdenv, smlnj, which }: stdenv.mkDerivation rec { - name = "jonprl-${version}"; + pname = "jonprl"; version = "0.1.0"; src = fetchgit { diff --git a/pkgs/applications/science/logic/lci/default.nix b/pkgs/applications/science/logic/lci/default.nix index d7f047b84e0..4775384a3dd 100644 --- a/pkgs/applications/science/logic/lci/default.nix +++ b/pkgs/applications/science/logic/lci/default.nix @@ -1,9 +1,9 @@ {stdenv, fetchurl, readline}: stdenv.mkDerivation rec { version = "0.6"; - name = "lci-${version}"; + pname = "lci"; src = fetchurl { - url = "mirror://sourceforge/lci/${name}.tar.gz"; + url = "mirror://sourceforge/lci/${pname}-${version}.tar.gz"; sha256="204f1ca5e2f56247d71ab320246811c220ed511bf08c9cb7f305cf180a93948e"; }; buildInputs = [readline]; diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix index 407244ef183..9bf54a5f094 100644 --- a/pkgs/applications/science/logic/lean/default.nix +++ b/pkgs/applications/science/logic/lean/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, gmp }: stdenv.mkDerivation rec { - name = "lean-${version}"; + pname = "lean"; version = "3.4.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/logic/lean2/default.nix b/pkgs/applications/science/logic/lean2/default.nix index 4e1415d3961..22177798647 100644 --- a/pkgs/applications/science/logic/lean2/default.nix +++ b/pkgs/applications/science/logic/lean2/default.nix @@ -2,7 +2,7 @@ , gperftools, ninja, makeWrapper }: stdenv.mkDerivation rec { - name = "lean2-${version}"; + pname = "lean2"; version = "2017-07-22"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/logic/leo2/default.nix b/pkgs/applications/science/logic/leo2/default.nix index be337a1c258..b50848a1820 100644 --- a/pkgs/applications/science/logic/leo2/default.nix +++ b/pkgs/applications/science/logic/leo2/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, makeWrapper, eprover, ocaml, perl, zlib }: stdenv.mkDerivation rec { - name = "leo2-${version}"; + pname = "leo2"; version = "1.6.2"; src = fetchurl { diff --git a/pkgs/applications/science/logic/leo3/binary.nix b/pkgs/applications/science/logic/leo3/binary.nix index a3834dc70b6..dcea9c27acb 100644 --- a/pkgs/applications/science/logic/leo3/binary.nix +++ b/pkgs/applications/science/logic/leo3/binary.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, openjdk}: +{stdenv, fetchurl, openjdk, runtimeShell}: stdenv.mkDerivation rec { pname = "leo3"; version = "1.2"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p "$out"/{bin,lib/java/leo3} cp "${jar}" "$out/lib/java/leo3/leo3.jar" - echo "#!${stdenv.shell}" > "$out/bin/leo3" + echo "#!${runtimeShell}" > "$out/bin/leo3" echo "'${openjdk}/bin/java' -jar '$out/lib/java/leo3/leo3.jar' \"\$@\"" > "$out/bin/leo3" chmod a+x "$out/bin/leo3" ''; diff --git a/pkgs/applications/science/logic/lingeling/default.nix b/pkgs/applications/science/logic/lingeling/default.nix index 000587a22e6..dbd34f1da6e 100644 --- a/pkgs/applications/science/logic/lingeling/default.nix +++ b/pkgs/applications/science/logic/lingeling/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "lingeling-${version}"; + pname = "lingeling"; # This is the version used in satcomp2018, which was # relicensed, and also known as version 'bcj' version = "pre1_03b4860d"; diff --git a/pkgs/applications/science/logic/logisim/default.nix b/pkgs/applications/science/logic/logisim/default.nix index db784237ea9..d6a1207b5d6 100644 --- a/pkgs/applications/science/logic/logisim/default.nix +++ b/pkgs/applications/science/logic/logisim/default.nix @@ -3,7 +3,8 @@ let version = "2.7.1"; in stdenv.mkDerivation { - name = "logisim-${version}"; + pname = "logisim"; + inherit version; src = fetchurl { url = "mirror://sourceforge/project/circuit/2.7.x/${version}/logisim-generic-${version}.jar"; diff --git a/pkgs/applications/science/logic/ltl2ba/default.nix b/pkgs/applications/science/logic/ltl2ba/default.nix index c77e0327fb6..02e9844115e 100644 --- a/pkgs/applications/science/logic/ltl2ba/default.nix +++ b/pkgs/applications/science/logic/ltl2ba/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv }: stdenv.mkDerivation rec { - name = "ltl2ba-${version}"; + pname = "ltl2ba"; version = "1.2"; src = fetchurl { - url = "http://www.lsv.ens-cachan.fr/~gastin/ltl2ba/${name}.tar.gz"; + url = "http://www.lsv.ens-cachan.fr/~gastin/ltl2ba/${pname}-${version}.tar.gz"; sha256 = "0vzv5g7v87r41cvdafxi6yqnk7glzxrzgavy8213k59f6v11dzlx"; }; diff --git a/pkgs/applications/science/logic/mcrl2/default.nix b/pkgs/applications/science/logic/mcrl2/default.nix index dc32e84279a..93212c5b854 100644 --- a/pkgs/applications/science/logic/mcrl2/default.nix +++ b/pkgs/applications/science/logic/mcrl2/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { version = "201707"; build_nr = "1"; - name = "mcrl2-${version}"; + pname = "mcrl2"; src = fetchurl { url = "https://www.mcrl2.org/download/release/mcrl2-${version}.${build_nr}.tar.gz"; diff --git a/pkgs/applications/science/logic/metis-prover/default.nix b/pkgs/applications/science/logic/metis-prover/default.nix index 1601a74e189..7e46dbeb074 100644 --- a/pkgs/applications/science/logic/metis-prover/default.nix +++ b/pkgs/applications/science/logic/metis-prover/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, perl, mlton }: stdenv.mkDerivation rec { - name = "metis-prover-${version}"; + pname = "metis-prover"; version = "2.3.20160713"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/logic/minisat/default.nix b/pkgs/applications/science/logic/minisat/default.nix index 4b2116680d5..34051a1da40 100644 --- a/pkgs/applications/science/logic/minisat/default.nix +++ b/pkgs/applications/science/logic/minisat/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, zlib }: stdenv.mkDerivation rec { - name = "minisat-${version}"; + pname = "minisat"; version = "2.2.0"; src = fetchurl { - url = "http://minisat.se/downloads/${name}.tar.gz"; + url = "http://minisat.se/downloads/${pname}-${version}.tar.gz"; sha256 = "023qdnsb6i18yrrawlhckm47q8x0sl7chpvvw3gssfyw3j2pv5cj"; }; diff --git a/pkgs/applications/science/logic/opensmt/default.nix b/pkgs/applications/science/logic/opensmt/default.nix index f9f021b15f0..9e5ebe008b8 100644 --- a/pkgs/applications/science/logic/opensmt/default.nix +++ b/pkgs/applications/science/logic/opensmt/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "opensmt-${version}"; + pname = "opensmt"; version = "20101017"; src = fetchurl { diff --git a/pkgs/applications/science/logic/ott/default.nix b/pkgs/applications/science/logic/ott/default.nix index d21487ef92f..40c66dd699d 100644 --- a/pkgs/applications/science/logic/ott/default.nix +++ b/pkgs/applications/science/logic/ott/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, pkgconfig, ocaml }: stdenv.mkDerivation rec { - name = "ott-${version}"; + pname = "ott"; version = "0.28"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/logic/otter/default.nix b/pkgs/applications/science/logic/otter/default.nix index b19650eb863..a7eec20548c 100644 --- a/pkgs/applications/science/logic/otter/default.nix +++ b/pkgs/applications/science/logic/otter/default.nix @@ -4,7 +4,7 @@ let rec { version = "3.3f"; name = "otter"; - url = "http://www.cs.unm.edu/~mccune/otter/otter-${version}.tar.gz"; + url = "https://www.cs.unm.edu/~mccune/otter/otter-${version}.tar.gz"; sha256 = "16mc1npl7sk9cmqhrf3ghfmvx29inijw76f1b1lsykllaxjqqb1r"; }; buildInputs = [ diff --git a/pkgs/applications/science/logic/petrinizer/default.nix b/pkgs/applications/science/logic/petrinizer/default.nix new file mode 100644 index 00000000000..cb35b9f27d5 --- /dev/null +++ b/pkgs/applications/science/logic/petrinizer/default.nix @@ -0,0 +1,25 @@ +{ mkDerivation, async, base, bytestring, containers, fetchFromGitLab, mtl +, parallel-io, parsec, sbv, stdenv, stm, transformers +}: +mkDerivation rec { + pname = "petrinizer"; + version = "0.9.1.1"; + + src = fetchFromGitLab { + domain = "gitlab.lrz.de"; + owner = "i7"; + repo = pname; + rev = version; + sha256 = "1n7fzm96gq5rxm2f8w8sr1yzm1zcxpf0b473c6xnhsgqsis5j4xw"; + }; + + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + async base bytestring containers mtl parallel-io parsec sbv stm + transformers + ]; + description = "Safety and Liveness Analysis of Petri Nets with SMT solvers"; + license = stdenv.lib.licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [ raskin ]; +} diff --git a/pkgs/applications/science/logic/picosat/default.nix b/pkgs/applications/science/logic/picosat/default.nix index 638996e853b..547bd31e8b4 100644 --- a/pkgs/applications/science/logic/picosat/default.nix +++ b/pkgs/applications/science/logic/picosat/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "picosat-${version}"; + pname = "picosat"; version = "965"; src = fetchurl { - url = "http://fmv.jku.at/picosat/${name}.tar.gz"; + url = "http://fmv.jku.at/picosat/${pname}-${version}.tar.gz"; sha256 = "0m578rpa5rdn08d10kr4lbsdwp4402hpavrz6n7n53xs517rn5hm"; }; diff --git a/pkgs/applications/science/logic/poly/default.nix b/pkgs/applications/science/logic/poly/default.nix index 2f765572f9a..c833b22e49b 100644 --- a/pkgs/applications/science/logic/poly/default.nix +++ b/pkgs/applications/science/logic/poly/default.nix @@ -1,7 +1,6 @@ {stdenv, fetchFromGitHub, gmp, cmake, python}: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "libpoly"; version = "0.1.7"; diff --git a/pkgs/applications/science/logic/potassco/clingo.nix b/pkgs/applications/science/logic/potassco/clingo.nix index 4abfdf9162c..2b368a0e673 100644 --- a/pkgs/applications/science/logic/potassco/clingo.nix +++ b/pkgs/applications/science/logic/potassco/clingo.nix @@ -1,7 +1,6 @@ { stdenv, fetchzip, cmake }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "clingo"; version = "5.3.0"; diff --git a/pkgs/applications/science/logic/prooftree/default.nix b/pkgs/applications/science/logic/prooftree/default.nix index 1f6620a2872..d4feb5c9e28 100644 --- a/pkgs/applications/science/logic/prooftree/default.nix +++ b/pkgs/applications/science/logic/prooftree/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, ncurses, ocamlPackages }: stdenv.mkDerivation rec { - name = "prooftree-${version}"; + pname = "prooftree"; version = "0.13"; src = fetchurl { diff --git a/pkgs/applications/science/logic/prover9/default.nix b/pkgs/applications/science/logic/prover9/default.nix index f96532b7038..a4538e1070a 100644 --- a/pkgs/applications/science/logic/prover9/default.nix +++ b/pkgs/applications/science/logic/prover9/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation { ''; meta = { - homepage = http://www.cs.unm.edu/~mccune/mace4/; + homepage = https://www.cs.unm.edu/~mccune/mace4/; license = "GPL"; description = "Automated theorem prover for first-order and equational logic"; longDescription = '' diff --git a/pkgs/applications/science/logic/proverif/default.nix b/pkgs/applications/science/logic/proverif/default.nix index c70ee610199..931ad2fc4f3 100644 --- a/pkgs/applications/science/logic/proverif/default.nix +++ b/pkgs/applications/science/logic/proverif/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, ocamlPackages }: stdenv.mkDerivation rec { - name = "proverif-${version}"; + pname = "proverif"; version = "2.00"; src = fetchurl { @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { meta = { description = "Cryptographic protocol verifier in the Dolev-Yao model"; - homepage = "http://prosecco.gforge.inria.fr/personal/bblanche/proverif/"; + homepage = "https://prosecco.gforge.inria.fr/personal/bblanche/proverif/"; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; diff --git a/pkgs/applications/science/logic/sad/default.nix b/pkgs/applications/science/logic/sad/default.nix index 426f1928938..8e94356f376 100644 --- a/pkgs/applications/science/logic/sad/default.nix +++ b/pkgs/applications/science/logic/sad/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ghc, spass }: +{ stdenv, fetchurl, haskell, spass }: stdenv.mkDerivation { name = "system-for-automated-deduction-2.3.25"; @@ -6,7 +6,7 @@ stdenv.mkDerivation { url = "http://nevidal.org/download/sad-2.3-25.tar.gz"; sha256 = "10jd93xgarik7xwys5lq7fx4vqp7c0yg1gfin9cqfch1k1v8ap4b"; }; - buildInputs = [ ghc spass ]; + buildInputs = [ haskell.compiler.ghc844 spass ]; patches = [ ./patch # Since the LTS 12.0 update, <> is an operator in Prelude, colliding with diff --git a/pkgs/applications/science/logic/satallax/default.nix b/pkgs/applications/science/logic/satallax/default.nix index b9dd90f601f..7249eb991d3 100644 --- a/pkgs/applications/science/logic/satallax/default.nix +++ b/pkgs/applications/science/logic/satallax/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, ocaml, zlib, which, eprover, makeWrapper, coq}: stdenv.mkDerivation rec { - name = "satallax-${version}"; + pname = "satallax"; version = "2.7"; buildInputs = [ocaml zlib which eprover makeWrapper coq]; src = fetchurl { - url = "https://www.ps.uni-saarland.de/~cebrown/satallax/downloads/${name}.tar.gz"; + url = "https://www.ps.uni-saarland.de/~cebrown/satallax/downloads/${pname}-${version}.tar.gz"; sha256 = "1kvxn8mc35igk4vigi5cp7w3wpxk2z3bgwllfm4n3h2jfs0vkpib"; }; diff --git a/pkgs/applications/science/logic/saw-tools/default.nix b/pkgs/applications/science/logic/saw-tools/default.nix index 32ebdad51d9..3f8305ff403 100644 --- a/pkgs/applications/science/logic/saw-tools/default.nix +++ b/pkgs/applications/science/logic/saw-tools/default.nix @@ -23,7 +23,7 @@ let }; in stdenv.mkDerivation rec { - name = "saw-tools-${version}"; + pname = "saw-tools"; version = "0.1.1-20150731"; src = saw-bin; diff --git a/pkgs/applications/science/logic/spass/default.nix b/pkgs/applications/science/logic/spass/default.nix index 2bb2b911d49..2645aa102d9 100644 --- a/pkgs/applications/science/logic/spass/default.nix +++ b/pkgs/applications/science/logic/spass/default.nix @@ -9,7 +9,7 @@ let in stdenv.mkDerivation rec { - name = "spass-${version}"; + pname = "spass"; version = "${baseVersion}.${minorVersion}"; src = fetchurl { diff --git a/pkgs/applications/science/logic/statverif/default.nix b/pkgs/applications/science/logic/statverif/default.nix index 9e51849a93b..e0efb28819d 100644 --- a/pkgs/applications/science/logic/statverif/default.nix +++ b/pkgs/applications/science/logic/statverif/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, ocaml }: stdenv.mkDerivation rec { - name = "statverif-${version}"; + pname = "statverif"; version = "1.86pl4"; src = fetchurl { @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { meta = { description = "Verification of stateful processes (via Proverif)"; - homepage = "http://markryan.eu/research/statverif/"; + homepage = "https://markryan.eu/research/statverif/"; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; diff --git a/pkgs/applications/science/logic/stp/default.nix b/pkgs/applications/science/logic/stp/default.nix index 081dc788163..0ea659d1927 100644 --- a/pkgs/applications/science/logic/stp/default.nix +++ b/pkgs/applications/science/logic/stp/default.nix @@ -1,14 +1,14 @@ { stdenv, cmake, boost, bison, flex, fetchFromGitHub, perl, python3, python3Packages, zlib, minisatUnstable, cryptominisat }: stdenv.mkDerivation rec { - version = "2.2.0"; - name = "stp-${version}"; + pname = "stp"; + version = "2.3.3"; src = fetchFromGitHub { owner = "stp"; repo = "stp"; - rev = "stp-${version}"; - sha256 = "1jh23wjm62nnqfx447g2y53bbangq04hjrvqc35v9xxpcjgj3i49"; + rev = version; + sha256 = "1yg2v4wmswh1sigk47drwsxyayr472mf4i47lqmlcgn9hhbx1q87"; }; buildInputs = [ boost zlib minisatUnstable cryptominisat python3 ]; @@ -23,9 +23,8 @@ stdenv.mkDerivation rec { ) ''; - # `make -f lib/Interface/CMakeFiles/cppinterface.dir/build.make lib/Interface/CMakeFiles/cppinterface.dir/cpp_interface.cpp.o`: - # include/stp/AST/UsefulDefs.h:41:29: fatal error: stp/AST/ASTKind.h: No such file or directory - enableParallelBuilding = false; + # seems to build fine now, may revert if concurrency does become an issue + enableParallelBuilding = true; meta = with stdenv.lib; { description = "Simple Theorem Prover"; diff --git a/pkgs/applications/science/logic/symbiyosys/default.nix b/pkgs/applications/science/logic/symbiyosys/default.nix index 2047bb3fc9f..29eb8026366 100644 --- a/pkgs/applications/science/logic/symbiyosys/default.nix +++ b/pkgs/applications/science/logic/symbiyosys/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, yosys, python3 }: +{ stdenv, fetchFromGitHub, yosys, bash, python3 }: stdenv.mkDerivation rec { - name = "symbiyosys-${version}"; - version = "2018.12.09"; + pname = "symbiyosys"; + version = "2019.08.13"; src = fetchFromGitHub { owner = "yosyshq"; repo = "symbiyosys"; - rev = "0772456a15b5a474c3c90a06b48e46a67d8a6614"; - sha256 = "00p2l1g9z8nnmkc57l1cfn9ignjjmxwnyaxj2xjd1fim4kzd5475"; + rev = "9cb542ac7a310b3dfa626349db53bed6236b670c"; + sha256 = "0c7nz740738ybk33zzlfl00cq86n31wvra8pqqkpl4ygxnwca1d6"; }; buildInputs = [ python3 yosys ]; @@ -26,12 +26,14 @@ stdenv.mkDerivation rec { substituteInPlace $out/bin/sby \ --replace "##yosys-sys-path##" \ "sys.path += [p + \"/share/yosys/python3/\" for p in [\"$out\", \"${yosys}\"]]" + substituteInPlace $out/share/yosys/python3/sby_core.py \ + --replace '"/usr/bin/env", "bash"' '"${bash}/bin/bash"' ''; meta = { description = "Tooling for Yosys-based verification flows"; homepage = https://symbiyosys.readthedocs.io/; - license = stdenv.lib.licenses.mit; - maintainers = with stdenv.lib.maintainers; [ thoughtpolice ]; - platforms = stdenv.lib.platforms.unix; + license = stdenv.lib.licenses.isc; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice emily ]; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/applications/science/logic/tlaplus/default.nix b/pkgs/applications/science/logic/tlaplus/default.nix index b1eb171b20b..b1c72d7c5ee 100644 --- a/pkgs/applications/science/logic/tlaplus/default.nix +++ b/pkgs/applications/science/logic/tlaplus/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "tlaplus-${version}"; + pname = "tlaplus"; version = "1.5.6"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/logic/tlaplus/tlaps.nix b/pkgs/applications/science/logic/tlaplus/tlaps.nix index 7d35f5f91df..7c8389688d9 100644 --- a/pkgs/applications/science/logic/tlaplus/tlaps.nix +++ b/pkgs/applications/science/logic/tlaplus/tlaps.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "tlaps-${version}"; + pname = "tlaps"; version = "1.4.3"; src = fetchurl { url = "https://tla.msr-inria.inria.fr/tlaps/dist/current/tlaps-${version}.tar.gz"; diff --git a/pkgs/applications/science/logic/tlaplus/toolbox.nix b/pkgs/applications/science/logic/tlaplus/toolbox.nix index f1116a27c0b..91666e85d92 100644 --- a/pkgs/applications/science/logic/tlaplus/toolbox.nix +++ b/pkgs/applications/science/logic/tlaplus/toolbox.nix @@ -1,9 +1,9 @@ { lib, fetchzip, makeWrapper, makeDesktopItem, stdenv -, jre, swt, gtk, libXtst, glib +, gtk, libXtst, glib, zlib }: let - version = "1.5.7"; + version = "1.6.0"; arch = "x86_64"; desktopItem = makeDesktopItem rec { @@ -21,10 +21,11 @@ let in stdenv.mkDerivation { - name = "tla-toolbox-${version}"; + pname = "tla-toolbox"; + inherit version; src = fetchzip { url = "https://tla.msr-inria.inria.fr/tlatoolbox/products/TLAToolbox-${version}-linux.gtk.${arch}.zip"; - sha256 = "0lg9sizpw5mkcnwwvmgqigkizjyz2lf1wrg48h7mg7wcv3macy4q"; + sha256 = "1mgx4p5qykf9q0p4cp6kcpc7fx8g5f2w1g40kdgas24hqwrgs3cm"; }; buildInputs = [ makeWrapper ]; @@ -34,17 +35,20 @@ in stdenv.mkDerivation { installPhase = '' mkdir -p "$out/bin" cp -r "$src" "$out/toolbox" - chmod +w "$out/toolbox" "$out/toolbox/toolbox" + chmod -R +w "$out/toolbox" patchelf \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ "$out/toolbox/toolbox" + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + "$(find "$out/toolbox" -name java)" + makeWrapper $out/toolbox/toolbox $out/bin/tla-toolbox \ --run "set -x; cd $out/toolbox" \ --add-flags "-data ~/.tla-toolbox" \ - --prefix PATH : "${jre}/bin" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ swt gtk libXtst glib ]}" + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk libXtst glib zlib ]}" echo -e "\nCreating TLA Toolbox icons..." pushd "$src" diff --git a/pkgs/applications/science/logic/tptp/default.nix b/pkgs/applications/science/logic/tptp/default.nix index 24971b500d3..4c63f8e72a3 100644 --- a/pkgs/applications/science/logic/tptp/default.nix +++ b/pkgs/applications/science/logic/tptp/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, yap, tcsh, perl, patchelf }: stdenv.mkDerivation rec { - name = "TPTP-${version}"; + pname = "TPTP"; version = "7.2.0"; src = fetchurl { urls = [ - "http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz" - "http://www.cs.miami.edu/~tptp/TPTP/Archive/TPTP-v${version}.tgz" + "http://tptp.cs.miami.edu/TPTP/Distribution/TPTP-v${version}.tgz" + "http://tptp.cs.miami.edu/TPTP/Archive/TPTP-v${version}.tgz" ]; sha256 = "0yq8452b6mym4yscy46pshg0z2my8xi74b5bp2qlxd5bjwcrg6rl"; }; diff --git a/pkgs/applications/science/logic/twelf/default.nix b/pkgs/applications/science/logic/twelf/default.nix index 74f8875fceb..161da6e4b23 100644 --- a/pkgs/applications/science/logic/twelf/default.nix +++ b/pkgs/applications/science/logic/twelf/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, smlnj, rsync }: stdenv.mkDerivation rec { - name = "twelf-${version}"; + pname = "twelf"; version = "1.7.1"; src = fetchurl { diff --git a/pkgs/applications/science/logic/vampire/default.nix b/pkgs/applications/science/logic/vampire/default.nix index 8ad70531d54..42963fe5f9c 100644 --- a/pkgs/applications/science/logic/vampire/default.nix +++ b/pkgs/applications/science/logic/vampire/default.nix @@ -1,19 +1,16 @@ -{ stdenv, fetchFromGitHub, fetchpatch, z3, zlib, git }: +{ stdenv, fetchFromGitHub, fetchpatch, z3, zlib }: stdenv.mkDerivation rec { - version = "4.2.2"; - name = "vampire-${version}"; + pname = "vampire"; + version = "4.4"; src = fetchFromGitHub { owner = "vprover"; repo = "vampire"; rev = version; - sha256 = "0d1klprlgqrcn8r5ywgvsahr4qz96ayl67ry5jks946v0k94m1k1"; - fetchSubmodules = true; - leaveDotGit = true; + sha256 = "0v2fdfnk7l5xr5c4y54r25g1nbp4vi85zv29nbklh3r7aws3w9q1"; }; - nativeBuildInputs = [ git ]; buildInputs = [ z3 zlib ]; makeFlags = [ "vampire_z3_rel" "CC:=$(CC)" "CXX:=$(CXX)" ]; diff --git a/pkgs/applications/science/logic/verifast/default.nix b/pkgs/applications/science/logic/verifast/default.nix index 22eb5d07f1c..3e3e2670861 100644 --- a/pkgs/applications/science/logic/verifast/default.nix +++ b/pkgs/applications/science/logic/verifast/default.nix @@ -1,10 +1,10 @@ -{ stdenv, fetchurl, gtk2, gdk_pixbuf, atk, pango, glib, cairo, freetype +{ stdenv, fetchurl, gtk2, gdk-pixbuf, atk, pango, glib, cairo, freetype , fontconfig, libxml2, gnome2 }: let libPath = stdenv.lib.makeLibraryPath - [ stdenv.cc.libc stdenv.cc.cc gtk2 gdk_pixbuf atk pango glib cairo + [ stdenv.cc.libc stdenv.cc.cc gtk2 gdk-pixbuf atk pango glib cairo freetype fontconfig libxml2 gnome2.gtksourceview ] + ":${stdenv.cc.cc.lib}/lib64:$out/libexec"; @@ -19,11 +19,11 @@ let in stdenv.mkDerivation rec { - name = "verifast-${version}"; + pname = "verifast"; version = "18.02"; src = fetchurl { - url = "https://github.com/verifast/verifast/releases/download/${version}/${name}-linux.tar.gz"; + url = "https://github.com/verifast/verifast/releases/download/${version}/${pname}-${version}-linux.tar.gz"; sha256 = "19050be23b6d5e471690421fee59f84c58b29e38379fb86b8f3713a206a4423e"; }; diff --git a/pkgs/applications/science/logic/verit/default.nix b/pkgs/applications/science/logic/verit/default.nix index ca3673d7bf9..a04ab46c669 100644 --- a/pkgs/applications/science/logic/verit/default.nix +++ b/pkgs/applications/science/logic/verit/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, autoreconfHook, gmp, flex, bison }: stdenv.mkDerivation rec { - name = "veriT-${version}"; + pname = "veriT"; version = "2016"; src = fetchurl { diff --git a/pkgs/applications/science/logic/why3/configure.patch b/pkgs/applications/science/logic/why3/configure.patch new file mode 100644 index 00000000000..3eebf3cf165 --- /dev/null +++ b/pkgs/applications/science/logic/why3/configure.patch @@ -0,0 +1,11 @@ +diff --git a/configure b/configure +--- a/configure ++++ b/configure +@@ -4029,7 +4029,6 @@ fi + + if test "$USEOCAMLFIND" = yes; then + OCAMLFINDLIB=$(ocamlfind printconf stdlib) +- OCAMLFIND=$(which ocamlfind) + if test "$OCAMLFINDLIB" != "$OCAMLLIB"; then + USEOCAMLFIND=no; + echo "but your ocamlfind is not compatible with your ocamlc:" diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix index c22c15b3a4b..3cb14d7da21 100644 --- a/pkgs/applications/science/logic/why3/default.nix +++ b/pkgs/applications/science/logic/why3/default.nix @@ -1,22 +1,43 @@ -{ fetchurl, stdenv, ocamlPackages, coq }: +{ callPackage, fetchurl, stdenv +, ocamlPackages, coqPackages, rubber, hevea, emacs }: stdenv.mkDerivation rec { - name = "why3-${version}"; - version = "1.1.1"; + pname = "why3"; + version = "1.2.0"; src = fetchurl { - url = https://gforge.inria.fr/frs/download.php/file/37842/why3-1.1.1.tar.gz; - sha256 = "065ix1ill009bxg7w27s8wq47vn03vbr63hsaa79arv31d96izny"; + url = https://gforge.inria.fr/frs/download.php/file/37903/why3-1.2.0.tar.gz; + sha256 = "0xz001jhi71ja8vqrjz27v63bidrzj4qvg1yqarq6p4dmpxhk348"; }; - buildInputs = (with ocamlPackages; [ - ocaml findlib num lablgtk ocamlgraph zarith menhir ]) ++ - stdenv.lib.optionals (ocamlPackages.ocaml == coq.ocamlPackages.ocaml ) [ - coq ocamlPackages.camlp5 - ]; + buildInputs = with ocamlPackages; [ + ocaml findlib ocamlgraph zarith menhir + # Compressed Sessions + # Emacs compilation of why3.el + emacs + # Documentation + rubber hevea + # GUI + lablgtk + # WebIDE + js_of_ocaml js_of_ocaml-ppx + # Coq Support + coqPackages.coq coqPackages.flocq ocamlPackages.camlp5 + ]; + + propagatedBuildInputs = with ocamlPackages; [ camlzip num ]; + + enableParallelBuilding = true; + + # Remove unnecessary call to which + patches = [ ./configure.patch ]; + + configureFlags = [ "--enable-verbose-make" ]; installTargets = [ "install" "install-lib" ]; + passthru.withProvers = callPackage ./with-provers.nix {}; + meta = with stdenv.lib; { description = "A platform for deductive program verification"; homepage = "http://why3.lri.fr/"; diff --git a/pkgs/applications/science/logic/why3/with-provers.nix b/pkgs/applications/science/logic/why3/with-provers.nix new file mode 100644 index 00000000000..3528dbd3a64 --- /dev/null +++ b/pkgs/applications/science/logic/why3/with-provers.nix @@ -0,0 +1,30 @@ +{ stdenv, makeWrapper, runCommand, symlinkJoin, why3 }: +provers: +let configAwkScript = runCommand "why3-conf.awk" { inherit provers; } + '' + for p in $provers; do + for b in $p/bin/*; do + BASENAME=$(basename $b) + echo "/^command =/{ gsub(\"$BASENAME\", \"$b\") }" >> $out + done + done + echo '{ print }' >> $out + ''; +in stdenv.mkDerivation { + name = "${why3.name}-with-provers"; + + phases = [ "buildPhase" "installPhase" ]; + + buildInputs = [ why3 makeWrapper ] ++ provers; + + buildPhase = '' + mkdir -p $out/share/why3/ + why3 config --detect-provers -C $out/share/why3/why3.conf + awk -i inplace -f ${configAwkScript} $out/share/why3/why3.conf + ''; + + installPhase = '' + mkdir -p $out/bin + makeWrapper ${why3}/bin/why3 $out/bin/why3 --add-flags "--extra-config $out/share/why3/why3.conf" + ''; +} diff --git a/pkgs/applications/science/logic/workcraft/default.nix b/pkgs/applications/science/logic/workcraft/default.nix index 313fe5a9f1d..2f972c92b52 100644 --- a/pkgs/applications/science/logic/workcraft/default.nix +++ b/pkgs/applications/science/logic/workcraft/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, jre, makeWrapper }: stdenv.mkDerivation rec { - name = "workcraft-${version}"; + pname = "workcraft"; version = "3.1.9"; src = fetchurl { diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix index 40a4c391e1d..76ed934fb39 100644 --- a/pkgs/applications/science/logic/yices/default.nix +++ b/pkgs/applications/science/logic/yices/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, gmp-static, gperf, autoreconfHook, libpoly }: stdenv.mkDerivation rec { - name = "yices-${version}"; + pname = "yices"; version = "2.6.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/logic/z3/0001-fix-2131.patch b/pkgs/applications/science/logic/z3/0001-fix-2131.patch deleted file mode 100644 index 0b21b8fffd4..00000000000 --- a/pkgs/applications/science/logic/z3/0001-fix-2131.patch +++ /dev/null @@ -1,66 +0,0 @@ -From c5df6ce96e068eceb77019e48634721c6a5bb607 Mon Sep 17 00:00:00 2001 -From: Nikolaj Bjorner -Date: Sun, 10 Feb 2019 10:07:24 -0800 -Subject: [PATCH 1/1] fix #2131 - -Signed-off-by: Nikolaj Bjorner ---- - src/api/python/README.txt | 10 +++------- - src/api/python/setup.py | 2 +- - src/ast/recfun_decl_plugin.h | 2 +- - 3 files changed, 5 insertions(+), 9 deletions(-) - -diff --git a/src/api/python/README.txt b/src/api/python/README.txt -index 9312b1119..561b8dedc 100644 ---- a/src/api/python/README.txt -+++ b/src/api/python/README.txt -@@ -1,8 +1,4 @@ --You can learn more about Z3Py at: --http://rise4fun.com/Z3Py/tutorial/guide -- --On Windows, you must build Z3 before using Z3Py. --To build Z3, you should executed the following command -+On Windows, to build Z3, you should executed the following command - in the Z3 root directory at the Visual Studio Command Prompt - - msbuild /p:configuration=external -@@ -12,8 +8,8 @@ If you are using a 64-bit Python interpreter, you should use - msbuild /p:configuration=external /p:platform=x64 - - --On Linux and macOS, you must install Z3Py, before trying example.py. --To install Z3Py on Linux and macOS, you should execute the following -+On Linux and macOS, you must install python bindings, before trying example.py. -+To install python on Linux and macOS, you should execute the following - command in the Z3 root directory - - sudo make install-z3py -diff --git a/src/api/python/setup.py b/src/api/python/setup.py -index 2a750fee6..063680e2b 100644 ---- a/src/api/python/setup.py -+++ b/src/api/python/setup.py -@@ -178,7 +178,7 @@ setup( - name='z3-solver', - version=_z3_version(), - description='an efficient SMT solver library', -- long_description='Z3 is a theorem prover from Microsoft Research with support for bitvectors, booleans, arrays, floating point numbers, strings, and other data types.\n\nFor documentation, please read http://z3prover.github.io/api/html/z3.html\n\nIn the event of technical difficulties related to configuration, compiliation, or installation, please submit issues to https://github.com/angr/angr-z3', -+ long_description='Z3 is a theorem prover from Microsoft Research with support for bitvectors, booleans, arrays, floating point numbers, strings, and other data types.\n\nFor documentation, please read http://z3prover.github.io/api/html/z3.html\n\nIn the event of technical difficulties related to configuration, compilation, or installation, please submit issues to https://github.com/angr/angr-z3', - author="The Z3 Theorem Prover Project", - maintainer="Audrey Dutcher", - maintainer_email="audrey@rhelmot.io", -diff --git a/src/ast/recfun_decl_plugin.h b/src/ast/recfun_decl_plugin.h -index 0247335e8..b294cdfce 100644 ---- a/src/ast/recfun_decl_plugin.h -+++ b/src/ast/recfun_decl_plugin.h -@@ -56,7 +56,7 @@ namespace recfun { - friend class def; - func_decl_ref m_pred; // opencv != null; stdenv.mkDerivation rec { pname = "shogun"; version = "6.0.0"; - name = pname + "-" + version; src = fetchFromGitHub { owner = pname + "-toolbox"; diff --git a/pkgs/applications/science/math/LiE/default.nix b/pkgs/applications/science/math/LiE/default.nix index e0b0bc11f05..6909cfd8ef6 100644 --- a/pkgs/applications/science/math/LiE/default.nix +++ b/pkgs/applications/science/math/LiE/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { version = "2.2.2"; # The current version of LiE is 2.2.2, which is more or less unchanged # since about the year 2000. Minor bugfixes do get applied now and then. - name = "lie-${version}"; + pname = "lie"; meta = { description = "A Computer algebra package for Lie group computations"; diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix index 4283ebd931a..a791f9a5772 100644 --- a/pkgs/applications/science/math/R/default.nix +++ b/pkgs/applications/science/math/R/default.nix @@ -1,18 +1,18 @@ { stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng , libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib , less, texinfo, graphviz, icu, pkgconfig, bison, imake, which, jdk, openblas -, curl, Cocoa, Foundation, libobjc, libcxx, tzdata +, curl, Cocoa, Foundation, libobjc, libcxx, tzdata, fetchpatch , withRecommendedPackages ? true , enableStrictBarrier ? false , javaSupport ? (!stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64) }: stdenv.mkDerivation rec { - name = "R-3.5.2"; + name = "R-3.6.1"; src = fetchurl { url = "https://cran.r-project.org/src/base/R-3/${name}.tar.gz"; - sha256 = "0qjvdic1qd5vndc4f0wjndpm0x18lbvbcc8nkix8saqgy8y8qgg5"; + sha256 = "128kifbq0w25y8aq77w289ddax5i5w2djcfsqgffrb3i7syrxajv"; }; dontUseImakeConfigure = true; @@ -25,7 +25,9 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ] ++ stdenv.lib.optional javaSupport jdk; - patches = [ ./no-usr-local-search-paths.patch ]; + patches = [ + ./no-usr-local-search-paths.patch + ]; prePatch = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace configure --replace "-install_name libR.dylib" "-install_name $out/lib/R/lib/libR.dylib" @@ -69,6 +71,11 @@ stdenv.mkDerivation rec { installTargets = [ "install" "install-info" "install-pdf" ]; + # The store path to "which" is baked into src/library/base/R/unix/system.unix.R, + # but Nix cannot detect it as a run-time dependency because the installed file + # is compiled and compressed, which hides the store path. + postFixup = "echo ${which} > $out/nix-support/undetected-runtime-dependencies"; + doCheck = true; preCheck = "export TZ=CET; bin/Rscript -e 'sessionInfo()'"; @@ -103,6 +110,6 @@ stdenv.mkDerivation rec { platforms = platforms.all; hydraPlatforms = platforms.linux; - maintainers = [ maintainers.peti ]; + maintainers = with maintainers; [ peti timokau ]; }; } diff --git a/pkgs/applications/science/math/bcal/default.nix b/pkgs/applications/science/math/bcal/default.nix index 61eb1fd3ce4..74adcab4e70 100644 --- a/pkgs/applications/science/math/bcal/default.nix +++ b/pkgs/applications/science/math/bcal/default.nix @@ -3,7 +3,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "bcal-${version}"; + pname = "bcal"; version = "1.9"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/math/bliss/default.nix b/pkgs/applications/science/math/bliss/default.nix index 1b7a9736007..37504fceb14 100644 --- a/pkgs/applications/science/math/bliss/default.nix +++ b/pkgs/applications/science/math/bliss/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, unzip, doxygen }: stdenv.mkDerivation rec { - name = "bliss-${version}"; + pname = "bliss"; version = "0.73"; src = fetchurl { - url = "http://www.tcs.hut.fi/Software/bliss/${name}.zip"; + url = "http://www.tcs.hut.fi/Software/bliss/${pname}-${version}.zip"; sha256 = "f57bf32804140cad58b1240b804e0dbd68f7e6bf67eba8e0c0fa3a62fd7f0f84"; }; diff --git a/pkgs/applications/science/math/caffe/default.nix b/pkgs/applications/science/math/caffe/default.nix index 9ee56041ed3..5068abbf307 100644 --- a/pkgs/applications/science/math/caffe/default.nix +++ b/pkgs/applications/science/math/caffe/default.nix @@ -1,9 +1,9 @@ -{ config, stdenv, lib, runCommand +{ config, stdenv, lib , fetchFromGitHub , fetchurl , cmake , boost -, google-gflags +, gflags , glog , hdf5-cpp , opencv3 @@ -36,7 +36,7 @@ let in stdenv.mkDerivation rec { - name = "caffe-${version}"; + pname = "caffe"; version = "1.0"; src = fetchFromGitHub { @@ -53,7 +53,7 @@ stdenv.mkDerivation rec { cmakeFlags = # It's important that caffe is passed the major and minor version only because that's what # boost_python expects - [ (if pythonSupport then "-Dpython_version=3${python.pythonVersion}" else "-DBUILD_python=OFF") + [ (if pythonSupport then "-Dpython_version=${python.pythonVersion}" else "-DBUILD_python=OFF") "-DBLAS=open" ] ++ (if cudaSupport then [ "-DCUDA_ARCH_NAME=All" @@ -63,7 +63,7 @@ stdenv.mkDerivation rec { ++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"] ++ ["-DUSE_LMDB=${toggle lmdbSupport}"]; - buildInputs = [ boost google-gflags glog protobuf hdf5-cpp opencv3 openblas ] + buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv3 openblas ] ++ lib.optional cudaSupport cudatoolkit ++ lib.optional cudnnSupport cudnn ++ lib.optional lmdbSupport lmdb @@ -73,9 +73,17 @@ stdenv.mkDerivation rec { ++ lib.optionals stdenv.isDarwin [ Accelerate CoreGraphics CoreVideo ] ; - propagatedBuildInputs = lib.optional pythonSupport python.pkgs.protobuf; + propagatedBuildInputs = lib.optionals pythonSupport ( + # requirements.txt + let pp = python.pkgs; in ([ + pp.numpy pp.scipy pp.scikitimage pp.h5py + pp.matplotlib pp.ipython pp.networkx pp.nose + pp.pandas pp.dateutil pp.protobuf pp.gflags + pp.pyyaml pp.pillow pp.six + ] ++ lib.optional leveldbSupport pp.leveldb) + ); - outputs = [ "bin" "out"]; + outputs = [ "bin" "out" ]; propagatedBuildOutputs = []; # otherwise propagates out -> bin cycle patches = [ diff --git a/pkgs/applications/science/math/caffe/python.patch b/pkgs/applications/science/math/caffe/python.patch index b1bed6c174b..dac5071aa08 100644 --- a/pkgs/applications/science/math/caffe/python.patch +++ b/pkgs/applications/science/math/caffe/python.patch @@ -64,7 +64,7 @@ index 4a5bac47..be026d43 100644 - if(PYTHONLIBS_FOUND AND NUMPY_FOUND AND Boost_PYTHON_FOUND) + find_package(NumPy 1.7.1) + find_package(Boost 1.46 REQUIRED COMPONENTS python@major@@minor@) -+ if(PYTHONLIBS_FOUND AND NUMPY_FOUND AND BOOST_PYTHON@major@@minor@_FOUND) ++ if(PYTHONLIBS_FOUND AND NUMPY_FOUND AND Boost_PYTHON@major@@minor@_FOUND) set(HAVE_PYTHON TRUE) if(BUILD_python_layer) list(APPEND Caffe_DEFINITIONS PRIVATE -DWITH_PYTHON_LAYER) diff --git a/pkgs/applications/science/math/calc/default.nix b/pkgs/applications/science/math/calc/default.nix index 24cddfb9a1c..0d149eca3b6 100644 --- a/pkgs/applications/science/math/calc/default.nix +++ b/pkgs/applications/science/math/calc/default.nix @@ -2,20 +2,19 @@ , enableReadline ? true, readline, ncurses }: stdenv.mkDerivation rec { - name = "calc-${version}"; + pname = "calc"; version = "2.12.7.2"; src = fetchurl { urls = [ - "https://github.com/lcn2/calc/releases/download/${version}/${name}.tar.bz2" - "http://www.isthe.com/chongo/src/calc/${name}.tar.bz2" + "https://github.com/lcn2/calc/releases/download/${version}/${pname}-${version}.tar.bz2" + "http://www.isthe.com/chongo/src/calc/${pname}-${version}.tar.bz2" ]; sha256 = "147wmbajcxv6wp92j6pizq4plrr1sb7jirifr1477bx33hc49bsp"; }; patchPhase = '' substituteInPlace Makefile \ - --replace 'all: check_include' 'all:' \ --replace '-install_name ''${LIBDIR}/libcalc''${LIB_EXT_VERSION}' '-install_name ''${T}''${LIBDIR}/libcalc''${LIB_EXT_VERSION}' \ --replace '-install_name ''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}' '-install_name ''${T}''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}' ''; @@ -25,7 +24,7 @@ stdenv.mkDerivation rec { makeFlags = [ "T=$(out)" - "INCDIR=${lib.getDev stdenv.cc.libc}/include" + "INCDIR=" "BINDIR=/bin" "LIBDIR=/lib" "CALC_SHAREDIR=/share/calc" diff --git a/pkgs/applications/science/math/calculix/calculix.patch b/pkgs/applications/science/math/calculix/calculix.patch new file mode 100644 index 00000000000..311421f2ef5 --- /dev/null +++ b/pkgs/applications/science/math/calculix/calculix.patch @@ -0,0 +1,31 @@ +diff --git a/ccx_2.15/src/Makefile b/ccx_2.15/src/Makefile +index 9cab2fc..6e977b8 100755 +--- a/ccx_2.15/src/Makefile ++++ b/ccx_2.15/src/Makefile +@@ -1,6 +1,6 @@ + + CFLAGS = -Wall -O3 -I ../../../SPOOLES.2.2 -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DNETWORKOUT +-FFLAGS = -Wall -O3 ++FFLAGS = -Wall -O3 + + CC=cc + FC=gfortran +@@ -18,15 +18,10 @@ OCCXF = $(SCCXF:.f=.o) + OCCXC = $(SCCXC:.c=.o) + OCCXMAIN = $(SCCXMAIN:.c=.o) + +-DIR=../../../SPOOLES.2.2 ++LIBS = -lpthread -lm -lc -lspooles -larpack -lopenblas + +-LIBS = \ +- $(DIR)/spooles.a \ +- ../../../ARPACK/libarpack_INTEL.a \ +- -lpthread -lm -lc +- +-ccx_2.15: $(OCCXMAIN) ccx_2.15.a $(LIBS) +- ./date.pl; $(CC) $(CFLAGS) -c ccx_2.15.c; $(FC) -Wall -O3 -o $@ $(OCCXMAIN) ccx_2.15.a $(LIBS) ++ccx_2.15: $(OCCXMAIN) ccx_2.15.a ++ $(CC) $(CFLAGS) -c ccx_2.15.c; $(FC) -Wall -O3 -o $@ $(OCCXMAIN) ccx_2.15.a $(LIBS) + + ccx_2.15.a: $(OCCXF) $(OCCXC) + ar vr $@ $? diff --git a/pkgs/applications/science/math/calculix/default.nix b/pkgs/applications/science/math/calculix/default.nix new file mode 100644 index 00000000000..24d5f99ec32 --- /dev/null +++ b/pkgs/applications/science/math/calculix/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, gfortran, arpack, spooles, openblas }: + +stdenv.mkDerivation rec { + pname = "calculix"; + version = "2.15"; + + src = fetchurl { + url = "http://www.dhondt.de/ccx_${version}.src.tar.bz2"; + sha256 = "0d4axfxgm3ag4p2vx9rjcky7c122k99a2nhv1jv53brm35rblzdw"; + }; + + nativeBuildInputs = [ gfortran ]; + + buildInputs = [ arpack spooles openblas ]; + + NIX_CFLAGS_COMPILE = [ + "-I${spooles}/include/spooles" + ]; + + patches = [ + ./calculix.patch + ]; + + postPatch = '' + cd ccx*/src + ''; + + installPhase = '' + install -Dm0755 ccx_${version} $out/bin/ccx + ''; + + meta = with stdenv.lib; { + homepage = "http://www.calculix.de/"; + description = "Three-dimensional structural finite element program"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ gebner ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/science/math/cbc/default.nix b/pkgs/applications/science/math/cbc/default.nix index 93aefbca216..d0857e2a517 100644 --- a/pkgs/applications/science/math/cbc/default.nix +++ b/pkgs/applications/science/math/cbc/default.nix @@ -1,11 +1,12 @@ { lib, stdenv, fetchurl, zlib, bzip2 }: -stdenv.mkDerivation { - name = "cbc-2.9.9"; +stdenv.mkDerivation rec { + pname = "cbc"; + version = "2.10.2"; src = fetchurl { - url = "https://www.coin-or.org/download/source/Cbc/Cbc-2.9.9.tgz"; - sha256 = "1w8axdzm05xf5y13c31w7rc5z6ywxqxiwafnxcq3p195kgj0915a"; + url = "https://www.coin-or.org/download/source/Cbc/Cbc-${version}.tgz"; + sha256 = "0frbxkh6nbh46kaxsx5bmzridgip3v7aq75l8yak5npiiq4jlwv3"; }; configureFlags = [ "-C" ]; @@ -23,6 +24,7 @@ stdenv.mkDerivation { license = lib.licenses.epl10; maintainers = [ lib.maintainers.eelco ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; + broken = stdenv.isAarch64; # Missing after 2.10.0 description = "A mixed integer programming solver"; }; } diff --git a/pkgs/applications/science/math/clp/default.nix b/pkgs/applications/science/math/clp/default.nix index 4899ebe42d7..0eb57c75692 100644 --- a/pkgs/applications/science/math/clp/default.nix +++ b/pkgs/applications/science/math/clp/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchurl, zlib }: stdenv.mkDerivation rec { - version = "1.16.11"; - name = "clp-${version}"; + version = "1.17.2"; + pname = "clp"; src = fetchurl { url = "https://www.coin-or.org/download/source/Clp/Clp-${version}.tgz"; - sha256 = "0fazlqpp845186nmixa9f1xfxqqkdr1xj4va7q29m8594ca4a9dm"; + sha256 = "1fkmgpn0zaraymi6s3isrrscgjxggcs2yjrx7jfy4hb1jacx71zz"; }; propagatedBuildInputs = [ zlib ]; doCheck = true; - meta = { - license = stdenv.lib.licenses.epl10; - homepage = https://projects.coin-or.org/Clp; + meta = with stdenv.lib; { + license = licenses.epl10; + homepage = "https://github.com/coin-or/Clp"; description = "An open-source linear programming solver written in C++"; - platforms = stdenv.lib.platforms.all; - maintainers = [ stdenv.lib.maintainers.vbgl ]; + platforms = platforms.darwin ++ [ "x86_64-linux" ]; + maintainers = [ maintainers.vbgl ]; }; } diff --git a/pkgs/applications/science/math/cntk/default.nix b/pkgs/applications/science/math/cntk/default.nix index 4bf922c4e16..c20a6954c3c 100644 --- a/pkgs/applications/science/math/cntk/default.nix +++ b/pkgs/applications/science/math/cntk/default.nix @@ -17,18 +17,16 @@ let }; in stdenv.mkDerivation rec { - name = "CNTK-${version}"; - version = "2.4"; + pname = "CNTK"; + version = "2.7"; # Submodules src = fetchgit { url = "https://github.com/Microsoft/CNTK"; rev = "v${version}"; - sha256 = "0m28wb0ljixcpi14g3gcfiraimh487yxqhd9yrglgyvjb69x597y"; + sha256 = "18l9k7s966a26ywcf7flqyhm61788pcb9fj3wk61jrmgkhy2pcns"; }; - patches = [ ./fix_std_bind.patch ]; - nativeBuildInputs = [ cmake ]; buildInputs = [ openblas opencv3 libzip boost protobuf openmpi ] @@ -87,6 +85,7 @@ in stdenv.mkDerivation rec { homepage = https://github.com/Microsoft/CNTK; description = "An open source deep-learning toolkit"; license = if onebitSGDSupport then licenses.unfreeRedistributable else licenses.mit; + platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ abbradar ]; }; } diff --git a/pkgs/applications/science/math/cntk/fix_std_bind.patch b/pkgs/applications/science/math/cntk/fix_std_bind.patch deleted file mode 100644 index df97a0c6666..00000000000 --- a/pkgs/applications/science/math/cntk/fix_std_bind.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -ru3 CNTK-old/Source/CNTKv2LibraryDll/EvaluatorWrapper.h CNTK-new/Source/CNTKv2LibraryDll/EvaluatorWrapper.h ---- CNTK-old/Source/CNTKv2LibraryDll/EvaluatorWrapper.h 1970-01-01 03:00:01.000000000 +0300 -+++ CNTK-new/Source/CNTKv2LibraryDll/EvaluatorWrapper.h 2018-02-25 18:16:16.330269647 +0300 -@@ -9,6 +9,7 @@ - #include - #include - #include -+#include - - #include "CNTKLibrary.h" - #include "CNTKLibraryC.h" diff --git a/pkgs/applications/science/math/colpack/default.nix b/pkgs/applications/science/math/colpack/default.nix index 94e0a44226d..13a75ce4db2 100644 --- a/pkgs/applications/science/math/colpack/default.nix +++ b/pkgs/applications/science/math/colpack/default.nix @@ -4,7 +4,6 @@ stdenv.mkDerivation rec { pname = "ColPack"; version = "1.0.10"; - name = pname + "-" + version; src = fetchFromGitHub { owner = "CSCsw"; diff --git a/pkgs/applications/science/math/cplex/default.nix b/pkgs/applications/science/math/cplex/default.nix index dae5e1b76d3..ec13f5252f1 100644 --- a/pkgs/applications/science/math/cplex/default.nix +++ b/pkgs/applications/science/math/cplex/default.nix @@ -8,11 +8,11 @@ # different for every user. stdenv.mkDerivation rec { - name = "cplex-${version}"; + pname = "cplex"; version = "128"; src = - if builtins.isNull releasePath then + if releasePath == null then throw '' This nix expression requires that the cplex installer is already downloaded to your machine. Get it from IBM: @@ -71,6 +71,11 @@ stdenv.mkDerivation rec { fi done ''; + + passthru = { + libArch = "x86-64_linux"; + libSuffix = "${version}0"; + }; meta = with stdenv.lib; { description = "Optimization solver for mathematical programming"; diff --git a/pkgs/applications/science/math/form/default.nix b/pkgs/applications/science/math/form/default.nix index 88f2367e334..eb42315f015 100644 --- a/pkgs/applications/science/math/form/default.nix +++ b/pkgs/applications/science/math/form/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, gmp, zlib }: stdenv.mkDerivation rec { - version = "4.2.0"; - name = "form-${version}"; + version = "4.2.1"; + pname = "form"; # This tarball is released by author, it is not downloaded from tag, so can't use fetchFromGitHub src = fetchurl { - url = "https://github.com/vermaseren/form/releases/download/v4.2.0/form-4.2.0.tar.gz"; - sha256 = "19528aphn4hvm151lyyhd7wz0bp2s3rla8jv6s7d8jwfp5ljzysm"; + url = "https://github.com/vermaseren/form/releases/download/v4.2.1/form-4.2.1.tar.gz"; + sha256 = "0a0smc10gm85vxd85942n5azy88w5qs5avbqrw0lw0yb9injswpj"; }; buildInputs = [ gmp zlib ]; diff --git a/pkgs/applications/science/math/gap/default.nix b/pkgs/applications/science/math/gap/default.nix index e1235387814..7eb10d1f952 100644 --- a/pkgs/applications/science/math/gap/default.nix +++ b/pkgs/applications/science/math/gap/default.nix @@ -45,7 +45,6 @@ let "sophus-*" "tomlib-*" ]; - standardPackages = requiredPackages ++ autoloadedPackages; keepAll = keepAllPackages || (packageSet == "full"); packagesToKeep = requiredPackages ++ lib.optionals (packageSet == "standard") autoloadedPackages; @@ -62,11 +61,11 @@ in stdenv.mkDerivation rec { pname = "gap"; # https://www.gap-system.org/Releases/ - version = "4.10.0"; + version = "4.10.2"; src = fetchurl { url = "https://www.gap-system.org/pub/gap/gap-${lib.versions.major version}.${lib.versions.minor version}/tar.bz2/gap-${version}.tar.bz2"; - sha256 = "1dmb8v4p7j1nnf7sx8sg54b49yln36bi9acwp7w1d3a1nxj17ird"; + sha256 = "0cp6ddk0469zzv1m1vair6gm27ic6c5m77ri8rn0znq3gaps6x94"; }; # remove all non-essential packages (which take up a lot of space) @@ -86,25 +85,11 @@ stdenv.mkDerivation rec { ]; patches = [ - # bugfix: https://github.com/gap-system/gap/pull/3102 + # https://github.com/gap-system/gap/pull/3294 (fetchpatch { - name = "fix-infinite-loop-in-writeandcheck.patch"; - url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/0001-a-version-of-the-writeandcheck.patch-from-Sage-that-.patch?id=5e61d7b6a0da3aa53d8176fa1fb9353cc559b098"; - sha256 = "1zkv8bbiw3jdn54sqqvfkdkfsd7jxzq0bazwsa14g4sh2265d28j"; - }) - - # needed for libgap (sage): https://github.com/gap-system/gap/pull/3043 - (fetchpatch { - name = "add-error-messages-helper.patch"; - url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/0002-kernel-add-helper-function-for-writing-error-message.patch?id=5e61d7b6a0da3aa53d8176fa1fb9353cc559b098"; - sha256 = "0c4ry5znb6hwwp8ld6k62yw8w6cqldflw3x49bbzizbmipfpidh5"; - }) - - # needed for libgap (sage): https://github.com/gap-system/gap/pull/3096 - (fetchpatch { - name = "gap-enter.patch"; - url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/0003-Prototype-for-GAP_Enter-Leave-macros-to-bracket-use-.patch?id=5e61d7b6a0da3aa53d8176fa1fb9353cc559b098"; - sha256 = "12fg8mb8rm6khsz1r4k3k26jrkx4q1rv13hcrfnlhn0m7iikvc3q"; + name = "add-make-install-targets.patch"; + url = "https://github.com/gap-system/gap/commit/3361c172e6c5ff3bb3f01ba9d6f1dd4ad42cea80.patch"; + sha256 = "1kwp9qnfvmlbpf1c3rs6j5m2jz22rj7a4hb5x1gj9vkpiyn5pdyj"; }) ]; @@ -184,6 +169,7 @@ stdenv.mkDerivation rec { timokau ]; platforms = platforms.all; + broken = stdenv.isDarwin; # keeping all packages increases the package size considerably, wchich # is why a local build is preferable in that situation. The timeframe # is reasonable and that way the binary cache doesn't get overloaded. diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix index 755a6094038..8f38a24f40d 100644 --- a/pkgs/applications/science/math/geogebra/default.nix +++ b/pkgs/applications/science/math/geogebra/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchurl, jre, makeDesktopItem, makeWrapper, language ? "en_US" }: stdenv.mkDerivation rec { - name = "geogebra-${version}"; - version = "5-0-472-0"; + pname = "geogebra"; + version = "5-0-535-0"; preferLocalBuild = true; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { "https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2" "http://web.archive.org/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2" ]; - sha256 = "1f56k5r5wf2l27sgp2vjpvx7wl72gizwxs0a6hngk15nzzka87v9"; + sha256 = "1mbjwa9isw390i0k1yh6r9wmh8zkczian0v25w2vxb2a8vv0hjk0"; }; srcIcon = fetchurl { diff --git a/pkgs/applications/science/math/getdp/default.nix b/pkgs/applications/science/math/getdp/default.nix index 74e4b052fdb..3ccd89cf2c1 100644 --- a/pkgs/applications/science/math/getdp/default.nix +++ b/pkgs/applications/science/math/getdp/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, cmake, gfortran, openblas, openmpi, python3 }: stdenv.mkDerivation rec { - name = "getdp-${version}"; + pname = "getdp"; version = "3.0.4"; src = fetchurl { url = "http://getdp.info/src/getdp-${version}-source.tgz"; diff --git a/pkgs/applications/science/math/gfan/default.nix b/pkgs/applications/science/math/gfan/default.nix index d2d1ddb6584..33b003b2b56 100644 --- a/pkgs/applications/science/math/gfan/default.nix +++ b/pkgs/applications/science/math/gfan/default.nix @@ -1,6 +1,5 @@ {stdenv, fetchurl, gmp, mpir, cddlib}: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "gfan"; version = "0.6.2"; diff --git a/pkgs/applications/science/math/ginac/default.nix b/pkgs/applications/science/math/ginac/default.nix index 18a5281bebb..197845bfa3c 100644 --- a/pkgs/applications/science/math/ginac/default.nix +++ b/pkgs/applications/science/math/ginac/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, cln, pkgconfig, readline, gmp, python }: stdenv.mkDerivation rec { - name = "ginac-1.7.4"; + name = "ginac-1.7.6"; src = fetchurl { url = "${meta.homepage}/${name}.tar.bz2"; - sha256 = "1vvqv73yk9klbq0mz239zzw77rlp72qcvzci4j1v6rafvji1616n"; + sha256 = "03cq93qjfgxgr7zxadrjfbn43lk5f0x2lmd90ggx10p6jq47157v"; }; propagatedBuildInputs = [ cln ]; diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix index 694c621db00..1d96c0039ad 100644 --- a/pkgs/applications/science/math/gmsh/default.nix +++ b/pkgs/applications/science/math/gmsh/default.nix @@ -1,28 +1,26 @@ { stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg -, zlib, libGLU_combined, libGLU, xorg }: +, zlib, libGLU_combined, libGLU, xorg, opencascade-occt }: -let version = "4.1.3"; in - -stdenv.mkDerivation { - name = "gmsh-${version}"; +stdenv.mkDerivation rec { + pname = "gmsh"; + version = "4.4.1"; src = fetchurl { url = "http://gmsh.info/src/gmsh-${version}-source.tgz"; - sha256 = "0padylvicyhcm4vqkizpknjfw8qxh39scw3mj5xbs9bs8c442kmx"; + sha256 = "1p7hibmsgv961lfkzdxlgcvmcb0q155m2sp60r97cjsfzhw68g45"; }; - buildInputs = [ cmake openblasCompat gmm fltk libjpeg zlib libGLU_combined + buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU_combined libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE + opencascade-occt ]; - nativeBuildInputs = [ gfortran ]; - - enableParallelBuilding = true; + nativeBuildInputs = [ cmake gfortran ]; meta = { description = "A three-dimensional finite element mesh generator"; - homepage = http://gmsh.info/; + homepage = "http://gmsh.info/"; platforms = [ "x86_64-linux" ]; license = stdenv.lib.licenses.gpl2Plus; }; diff --git a/pkgs/applications/science/math/gurobi/default.nix b/pkgs/applications/science/math/gurobi/default.nix index be14d141128..4ac7c411c2d 100644 --- a/pkgs/applications/science/math/gurobi/default.nix +++ b/pkgs/applications/science/math/gurobi/default.nix @@ -1,8 +1,10 @@ -{ stdenv, fetchurl, autoPatchelfHook, python }: +{ stdenv, lib, fetchurl, autoPatchelfHook, python }: -stdenv.mkDerivation rec { - name = "gurobi-${version}"; - version = "8.1.0"; +let + majorVersion = "8.1"; +in stdenv.mkDerivation rec { + pname = "gurobi"; + version = "${majorVersion}.0"; src = with stdenv.lib; fetchurl { url = "http://packages.gurobi.com/${versions.majorMinor version}/gurobi${version}_linux64.tar.gz"; @@ -44,6 +46,8 @@ stdenv.mkDerivation rec { ln -s $out/lib/gurobi-javadoc.jar $out/share/java/ ''; + passthru.libSuffix = lib.replaceStrings ["."] [""] majorVersion; + meta = with stdenv.lib; { description = "Optimization solver for mathematical programming"; homepage = https://www.gurobi.com; diff --git a/pkgs/applications/science/math/hmetis/default.nix b/pkgs/applications/science/math/hmetis/default.nix index 9eab9ca3999..45a13d02889 100644 --- a/pkgs/applications/science/math/hmetis/default.nix +++ b/pkgs/applications/science/math/hmetis/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, ghostscript }: stdenv.mkDerivation rec { - name = "hmetis-${version}"; + pname = "hmetis"; version = "1.5"; src = fetchurl { diff --git a/pkgs/applications/science/math/lp_solve/default.nix b/pkgs/applications/science/math/lp_solve/default.nix index 0cf834c8cde..f39c6a04d19 100644 --- a/pkgs/applications/science/math/lp_solve/default.nix +++ b/pkgs/applications/science/math/lp_solve/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { - name = "lp_solve-${version}"; + pname = "lp_solve"; version = "5.5.2.5"; src = fetchurl { diff --git a/pkgs/applications/science/math/lrcalc/default.nix b/pkgs/applications/science/math/lrcalc/default.nix index 9e02b08c8ad..eecb37dd743 100644 --- a/pkgs/applications/science/math/lrcalc/default.nix +++ b/pkgs/applications/science/math/lrcalc/default.nix @@ -7,7 +7,6 @@ stdenv.mkDerivation rec { version = "1.2"; pname = "lrcalc"; - name = "${pname}-${version}"; src = fetchFromBitbucket { owner = "asbuch"; diff --git a/pkgs/applications/science/math/mathematica/10.nix b/pkgs/applications/science/math/mathematica/10.nix index c6802c3719e..4204b139913 100644 --- a/pkgs/applications/science/math/mathematica/10.nix +++ b/pkgs/applications/science/math/mathematica/10.nix @@ -26,7 +26,7 @@ in stdenv.mkDerivation rec { version = "10.0.2"; - name = "mathematica-${version}"; + pname = "mathematica"; src = requireFile rec { name = "Mathematica_${version}_LINUX.sh"; diff --git a/pkgs/applications/science/math/mathematica/11.nix b/pkgs/applications/science/math/mathematica/11.nix new file mode 100644 index 00000000000..521cb70099b --- /dev/null +++ b/pkgs/applications/science/math/mathematica/11.nix @@ -0,0 +1,150 @@ +{ stdenv +, coreutils +, patchelf +, requireFile +, callPackage +, alsaLib +, dbus +, fontconfig +, freetype +, gcc +, glib +, ncurses +, opencv +, openssl +, unixODBC +, xkeyboard_config +, xorg +, zlib +, libxml2 +, libuuid +, lang ? "en" +, libGL +, libGLU +}: + +let + l10n = + import ./l10ns.nix { + lib = stdenv.lib; + inherit requireFile lang; + majorVersion = "11"; + }; +in +stdenv.mkDerivation rec { + inherit (l10n) version name src; + + buildInputs = [ + coreutils + patchelf + alsaLib + coreutils + dbus + fontconfig + freetype + gcc.cc + gcc.libc + glib + ncurses + opencv + openssl + unixODBC + xkeyboard_config + libxml2 + libuuid + zlib + libGL + libGLU + ] ++ (with xorg; [ + libX11 + libXext + libXtst + libXi + libXmu + libXrender + libxcb + libXcursor + libXfixes + libXrandr + libICE + libSM + ]); + + ldpath = stdenv.lib.makeLibraryPath buildInputs + + stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") + (":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs); + + phases = "unpackPhase installPhase fixupPhase"; + + unpackPhase = '' + echo "=== Extracting makeself archive ===" + # find offset from file + offset=$(${stdenv.shell} -c "$(grep -axm1 -e 'offset=.*' $src); echo \$offset" $src) + dd if="$src" ibs=$offset skip=1 | tar -xf - + cd Unix + ''; + + installPhase = '' + cd Installer + # don't restrict PATH, that has already been done + sed -i -e 's/^PATH=/# PATH=/' MathInstaller + sed -i -e 's/\/bin\/bash/\/bin\/sh/' MathInstaller + + echo "=== Running MathInstaller ===" + ./MathInstaller -auto -createdir=y -execdir=$out/bin -targetdir=$out/libexec/Mathematica -silent + + # Fix library paths + cd $out/libexec/Mathematica/Executables + for path in mathematica MathKernel Mathematica WolframKernel wolfram math; do + sed -i -e 's#export LD_LIBRARY_PATH$#export LD_LIBRARY_PATH=${zlib}/lib:\''${LD_LIBRARY_PATH}#' $path + done + + # Fix xkeyboard config path for Qt + for path in mathematica Mathematica; do + line=$(grep -n QT_PLUGIN_PATH $path | sed 's/:.*//') + sed -i -e "$line iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"" $path + done + ''; + + preFixup = '' + echo "=== PatchElfing away ===" + # This code should be a bit forgiving of errors, unfortunately + set +e + find $out/libexec/Mathematica/SystemFiles -type f -perm -0100 | while read f; do + type=$(readelf -h "$f" 2>/dev/null | grep 'Type:' | sed -e 's/ *Type: *\([A-Z]*\) (.*/\1/') + if [ -z "$type" ]; then + : + elif [ "$type" == "EXEC" ]; then + echo "patching $f executable <<" + patchelf --shrink-rpath "$f" + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \ + "$f" \ + && patchelf --shrink-rpath "$f" \ + || echo unable to patch ... ignoring 1>&2 + elif [ "$type" == "DYN" ]; then + echo "patching $f library <<" + patchelf \ + --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \ + "$f" \ + && patchelf --shrink-rpath "$f" \ + || echo unable to patch ... ignoring 1>&2 + else + echo "not patching $f <<: unknown elf type" + fi + done + ''; + + # all binaries are already stripped + dontStrip = true; + + # we did this in prefixup already + dontPatchELF = true; + + meta = { + description = "Wolfram Mathematica computational software system"; + homepage = http://www.wolfram.com/mathematica/; + license = stdenv.lib.licenses.unfree; + }; +} diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix index 165a5660557..ca9a87abe13 100644 --- a/pkgs/applications/science/math/mathematica/default.nix +++ b/pkgs/applications/science/math/mathematica/default.nix @@ -1,6 +1,7 @@ { stdenv , coreutils , patchelf +, requireFile , callPackage , alsaLib , dbus @@ -24,10 +25,10 @@ let l10n = - with stdenv.lib; - with callPackage ./l10ns.nix {}; - flip (findFirst (l: l.lang == lang)) l10ns - (throw "Language '${lang}' not supported"); + import ./l10ns.nix { + lib = stdenv.lib; + inherit requireFile lang; + }; in stdenv.mkDerivation rec { inherit (l10n) version name src; @@ -72,8 +73,6 @@ stdenv.mkDerivation rec { + stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") (":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs); - phases = "unpackPhase installPhase fixupPhase"; - unpackPhase = '' echo "=== Extracting makeself archive ===" # find offset from file @@ -99,8 +98,7 @@ stdenv.mkDerivation rec { # Fix xkeyboard config path for Qt for path in mathematica Mathematica; do - line=$(grep -n QT_PLUGIN_PATH $path | sed 's/:.*//') - sed -i -e "$line iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"" $path + sed -i -e "2iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"\n" $path done ''; @@ -134,15 +132,19 @@ stdenv.mkDerivation rec { done ''; + dontBuild = true; + # all binaries are already stripped dontStrip = true; # we did this in prefixup already dontPatchELF = true; - meta = { + meta = with stdenv.lib; { description = "Wolfram Mathematica computational software system"; homepage = http://www.wolfram.com/mathematica/; - license = stdenv.lib.licenses.unfree; + license = licenses.unfree; + maintainers = with maintainers; [ herberteuler ]; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/science/math/mathematica/l10ns.nix b/pkgs/applications/science/math/mathematica/l10ns.nix index 065360a112d..51fb489be7e 100644 --- a/pkgs/applications/science/math/mathematica/l10ns.nix +++ b/pkgs/applications/science/math/mathematica/l10ns.nix @@ -1,9 +1,18 @@ -{ lib, requireFile }: +{ lib +, requireFile +, lang +, majorVersion ? null +}: -with lib; -{ - l10ns = flip map +let allVersions = with lib; flip map + # N.B. Versions in this list should be ordered from newest to oldest. [ + { + version = "12.0.0"; + lang = "en"; + language = "English"; + sha256 = "b9fb71e1afcc1d72c200196ffa434512d208fa2920e207878433f504e58ae9d7"; + } { version = "11.3.0"; lang = "en"; @@ -30,4 +39,16 @@ with lib; inherit sha256; }; }); -} +minVersion = + with lib; + if majorVersion == null + then elemAt (builtins.splitVersion (elemAt allVersions 0).version) 0 + else majorVersion; +maxVersion = toString (1 + builtins.fromJSON minVersion); +in +with lib; +findFirst (l: (l.lang == lang + && l.version >= minVersion + && l.version < maxVersion)) + (throw "Version ${minVersion} in language ${lang} not supported") + allVersions diff --git a/pkgs/applications/science/math/maxima/5.41.nix b/pkgs/applications/science/math/maxima/5.41.nix new file mode 100644 index 00000000000..583391d08dd --- /dev/null +++ b/pkgs/applications/science/math/maxima/5.41.nix @@ -0,0 +1,102 @@ +{ stdenv, fetchurl, fetchpatch, sbcl, texinfo, perl, python, makeWrapper, rlwrap ? null +, tk ? null, gnuplot ? null, ecl ? null, ecl-fasl ? false +}: + +let + name = "maxima"; + # old version temporarily kept for sage, see discussion at + # https://github.com/NixOS/nixpkgs/commit/82254747af35f3e0e0d6f78023ded3a81e25331b + version = "5.41.0"; + + searchPath = + stdenv.lib.makeBinPath + (stdenv.lib.filter (x: x != null) [ sbcl ecl rlwrap tk gnuplot ]); +in +stdenv.mkDerivation ({ + inherit version; + name = "${name}-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz"; + sha256 = "0x0n81z0s4pl8nwpf7ivlsbvsdphm9w42250g7qdkizl0132by6s"; + }; + + buildInputs = stdenv.lib.filter (x: x != null) [ + sbcl ecl texinfo perl python makeWrapper + ]; + + postInstall = '' + # Make sure that maxima can find its runtime dependencies. + for prog in "$out/bin/"*; do + wrapProgram "$prog" --prefix PATH ":" "$out/bin:${searchPath}" + done + # Move emacs modules and documentation into the right place. + mkdir -p $out/share/emacs $out/share/doc + ln -s ../maxima/${version}/emacs $out/share/emacs/site-lisp + ln -s ../maxima/${version}/doc $out/share/doc/maxima + '' + + (stdenv.lib.optionalString ecl-fasl '' + cp src/binary-ecl/maxima.fas* "$out/lib/maxima/${version}/binary-ecl/" + '') + ; + + patches = [ + # fix path to info dir (see https://trac.sagemath.org/ticket/11348) + (fetchpatch { + url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/infodir.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba"; + sha256 = "09v64n60f7i6frzryrj0zd056lvdpms3ajky4f9p6kankhbiv21x"; + }) + + # fix https://sourceforge.net/p/maxima/bugs/2596/ + (fetchpatch { + url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/matrixexp.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba"; + sha256 = "06961hn66rhjijfvyym21h39wk98sfxhp051da6gz0n9byhwc6zg"; + }) + + # undo https://sourceforge.net/p/maxima/code/ci/f5e9b0f7eb122c4e48ea9df144dd57221e5ea0ca, see see https://trac.sagemath.org/ticket/13364#comment:93 + (fetchpatch { + url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/undoing_true_false_printing_patch.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba"; + sha256 = "0fvi3rcjv6743sqsbgdzazy9jb6r1p1yq63zyj9fx42wd1hgf7yx"; + }) + + # upstream bug https://sourceforge.net/p/maxima/bugs/2520/ (not fixed) + # introduced in https://trac.sagemath.org/ticket/13364 + (fetchpatch { + url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/0001-taylor2-Avoid-blowing-the-stack-when-diff-expand-isn.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba"; + sha256 = "0xa0b6cr458zp7lc7qi0flv5ar0r3ivsqhjl0c3clv86di2y522d"; + }) + ] ++ stdenv.lib.optionals ecl-fasl [ + # build fasl, needed for ECL support + (fetchpatch { + url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/maxima.system.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba"; + sha256 = "18zafig8vflhkr80jq2ivk46k92dkszqlyq8cfmj0b2vcfjwwbar"; + }) + # There are some transient test failures. I hope this disables all those tests. + # If those test failures ever happen in the non-ecl version, that should be + # reportetd upstream. + ./known-ecl-failures.patch + ]; + + # Failures in the regression test suite won't abort the build process. We run + # the suite only so that potential errors show up in the build log. See also: + # https://sourceforge.net/tracker/?func=detail&aid=3365831&group_id=4933&atid=104933. + doCheck = true; + + enableParallelBuilding = true; + + meta = { + description = "Computer algebra system"; + homepage = http://maxima.sourceforge.net; + license = stdenv.lib.licenses.gpl2; + + longDescription = '' + Maxima is a fairly complete computer algebra system written in + lisp with an emphasis on symbolic computation. It is based on + DOE-MACSYMA and licensed under the GPL. Its abilities include + symbolic integration, 3D plotting, and an ODE solver. + ''; + + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.peti ]; + }; +}) diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix index 9f6e281849d..5843f38a74a 100644 --- a/pkgs/applications/science/math/maxima/default.nix +++ b/pkgs/applications/science/math/maxima/default.nix @@ -4,7 +4,7 @@ let name = "maxima"; - version = "5.41.0"; + version = "5.42.2"; searchPath = stdenv.lib.makeBinPath @@ -16,11 +16,12 @@ stdenv.mkDerivation ({ src = fetchurl { url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz"; - sha256 = "0x0n81z0s4pl8nwpf7ivlsbvsdphm9w42250g7qdkizl0132by6s"; + sha256 = "0kdncy6137sg3rradirxzj10mkcvafxd892zlclwhr9sa7b12zhn"; }; buildInputs = stdenv.lib.filter (x: x != null) [ sbcl ecl texinfo perl python makeWrapper + gnuplot # required in the test suite ]; postInstall = '' @@ -69,16 +70,19 @@ stdenv.mkDerivation ({ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/maxima.system.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba"; sha256 = "18zafig8vflhkr80jq2ivk46k92dkszqlyq8cfmj0b2vcfjwwbar"; }) - # There are some transient test failures. I hope this disables all those tests. - # If those test failures ever happen in the non-ecl version, that should be - # reportetd upstream. - ./known-ecl-failures.patch ]; - # Failures in the regression test suite won't abort the build process. We run - # the suite only so that potential errors show up in the build log. See also: - # https://sourceforge.net/tracker/?func=detail&aid=3365831&group_id=4933&atid=104933. - doCheck = true; + # The test suite is disabled since 5.42.2 because of the following issues: + # + # Errors found in /build/maxima-5.42.2/share/linearalgebra/rtest_matrixexp.mac, problems: + # (20 21 22) + # Error found in rtest_arag, problem: + # (error break) + # 3 tests failed out of 3,881 total tests. + # + # These failures don't look serious. It would be nice to fix them, but I + # don't know how and probably won't have the time to find out. + doCheck = false; # try to re-enable after next version update enableParallelBuilding = true; diff --git a/pkgs/applications/science/math/mxnet/default.nix b/pkgs/applications/science/math/mxnet/default.nix index 061f48bb3d9..bd4725ce73c 100644 --- a/pkgs/applications/science/math/mxnet/default.nix +++ b/pkgs/applications/science/math/mxnet/default.nix @@ -1,5 +1,5 @@ { config, stdenv, lib, fetchurl, bash, cmake -, opencv, gtest, openblas, liblapack, perl +, opencv3, gtest, openblas, liblapack, perl , cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11 , cudnnSupport ? cudaSupport, cudnn }: @@ -7,25 +7,24 @@ assert cudnnSupport -> cudaSupport; stdenv.mkDerivation rec { - name = "mxnet-${version}"; - version = "1.2.1"; + pname = "mxnet"; + version = "1.4.1"; - # Fetching from git does not work at the time (1.2.1) due to an - # incorrect hash in one of the submodules. The provided tarballs - # contain all necessary sources. src = fetchurl { url = "https://github.com/apache/incubator-mxnet/releases/download/${version}/apache-mxnet-src-${version}-incubating.tar.gz"; - sha256 = "053zbdgs4j8l79ipdz461zc7wyfbfcflmi5bw7lj2q08zm1glnb2"; + sha256 = "1d0lhlpdaxycjzpwwrpgjd3v2q2ka89v5rr13ddxayy7ld2hxiaj"; }; nativeBuildInputs = [ cmake perl ]; - buildInputs = [ opencv gtest openblas liblapack ] + buildInputs = [ opencv3 gtest openblas liblapack ] ++ lib.optionals cudaSupport [ cudatoolkit nvidia_x11 ] ++ lib.optional cudnnSupport cudnn; cmakeFlags = - (if cudaSupport then [ + [ "-DUSE_MKL_IF_AVAILABLE=OFF" ] + ++ (if cudaSupport then [ + "-DUSE_OLDCMAKECUDA=ON" # see https://github.com/apache/incubator-mxnet/issues/10743 "-DCUDA_ARCH_NAME=All" "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc" ] else [ "-DUSE_CUDA=OFF" ]) diff --git a/pkgs/applications/science/math/nasc/default.nix b/pkgs/applications/science/math/nasc/default.nix index fb0ea206735..c2f8ba1d55e 100644 --- a/pkgs/applications/science/math/nasc/default.nix +++ b/pkgs/applications/science/math/nasc/default.nix @@ -2,45 +2,45 @@ , fetchFromGitHub , pkgconfig , gtk3 +, glib , pantheon -, gnome3 +, libsoup +, gtksourceview +, libgee , cmake , libqalculate -, gobject-introspection -, wrapGAppsHook }: +, cln +, wrapGAppsHook +}: stdenv.mkDerivation rec { - name = "nasc-${version}"; - version = "0.5.1"; + pname = "nasc"; + version = "0.5.4"; src = fetchFromGitHub { owner = "parnold-x"; - repo = "nasc"; + repo = pname; rev = version; - sha256 = "13y5fnm7g3xgdxmdydlgly73nigh8maqbf9d6c9bpyzxkxq1csy5"; + sha256 = "036v3dx8yasp19j88lflibqnpfi5d0nk7qkcnr80zn1lvawf4wgn"; }; - postPatch = '' - # libqalculatenasc.so is not installed, and nasc fails to start - substituteInPlace libqalculatenasc/CMakeLists.txt --replace SHARED STATIC - ''; - nativeBuildInputs = [ cmake pantheon.vala - gobject-introspection # for setup-hook pkgconfig wrapGAppsHook ]; buildInputs = [ - pantheon.elementary-icon-theme - gnome3.gtksourceview - gnome3.libgee - gnome3.libsoup - pantheon.granite + cln + libsoup gtk3 + glib + gtksourceview + libgee libqalculate + pantheon.elementary-icon-theme + pantheon.granite ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/science/math/nauty/default.nix b/pkgs/applications/science/math/nauty/default.nix index 5b431f41926..c86354234e3 100644 --- a/pkgs/applications/science/math/nauty/default.nix +++ b/pkgs/applications/science/math/nauty/default.nix @@ -1,12 +1,24 @@ -{stdenv, fetchurl}: +{ stdenv +, lib +, fetchurl +}: stdenv.mkDerivation rec { - name = "nauty-${version}"; + pname = "nauty"; version = "26r11"; src = fetchurl { url = "http://pallini.di.uniroma1.it/nauty${version}.tar.gz"; sha256 = "05z6mk7c31j70md83396cdjmvzzip1hqb88pfszzc6k4gy8h3m2y"; }; outputs = [ "out" "dev" ]; + configureFlags = { + # Prevent nauty from sniffing some cpu features. While those are very + # widely available, it can lead to nasty bugs when they are not available: + # https://groups.google.com/forum/#!topic/sage-packaging/Pe4SRDNYlhA + "default" = [ "--disable-clz" "--disable-popcnt" ]; + "westmere" = [ "--disable-clz" ]; + "sandybridge" = [ "--disable-clz" ]; + "ivybridge" = [ "--disable-clz" ]; + }.${stdenv.hostPlatform.platform.gcc.arch or "default"} or []; buildInputs = []; installPhase = '' mkdir -p "$out"/{bin,share/doc/nauty} "$dev"/{lib,include/nauty} @@ -14,18 +26,18 @@ stdenv.mkDerivation rec { find . -type f -perm -111 \! -name '*.*' \! -name configure -exec cp '{}' "$out/bin" \; cp [Rr][Ee][Aa][Dd]* COPYRIGHT This* [Cc]hange* "$out/share/doc/nauty" - cp *.h $dev/include/nauty + cp *.h "$dev/include/nauty" for i in *.a; do cp "$i" "$dev/lib/lib$i"; done ''; checkTarget = "checks"; - meta = { + meta = with lib; { inherit version; description = ''Programs for computing automorphism groups of graphs and digraphs''; - license = stdenv.lib.licenses.asl20; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; + license = licenses.asl20; + maintainers = with maintainers; [ raskin timokau ]; + platforms = platforms.linux; homepage = http://pallini.di.uniroma1.it/; }; } diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix index 32e4d81acec..89ae354e7c7 100644 --- a/pkgs/applications/science/math/pari/default.nix +++ b/pkgs/applications/science/math/pari/default.nix @@ -1,18 +1,22 @@ -{ stdenv, fetchurl -, gmp, readline, libX11, tex, perl +{ stdenv +, fetchurl +, gmp +, readline +, libX11 +, tex +, perl , withThread ? true, libpthreadstubs }: assert withThread -> libpthreadstubs != null; stdenv.mkDerivation rec { - - name = "pari-${version}"; - version = "2.11.1"; + pname = "pari"; + version = "2.11.2"; src = fetchurl { - url = "https://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz"; - sha256 = "1jfax92jpydjd02fwl30r6b8kfzqqd6sm4yx94gidyz9lqjb7a94"; + url = "https://pari.math.u-bordeaux.fr/pub/pari/unix/${pname}-${version}.tar.gz"; + sha256 = "0fck8ssmirl8fy7s4mspgrxjs5sag76xbshqlqzkcl3kqyrk4raa"; }; buildInputs = [ @@ -70,7 +74,7 @@ stdenv.mkDerivation rec { homepage = http://pari.math.u-bordeaux.fr; downloadPage = http://pari.math.u-bordeaux.fr/download.html; license = licenses.gpl2Plus; - maintainers = with maintainers; [ ertes raskin AndersonTorres ]; + maintainers = with maintainers; [ ertes raskin AndersonTorres timokau ]; platforms = platforms.linux ++ platforms.darwin; updateWalker = true; }; diff --git a/pkgs/applications/science/math/pari/gp2c.nix b/pkgs/applications/science/math/pari/gp2c.nix index 4915e42025b..e743c8ae95b 100644 --- a/pkgs/applications/science/math/pari/gp2c.nix +++ b/pkgs/applications/science/math/pari/gp2c.nix @@ -3,12 +3,12 @@ stdenv.mkDerivation rec { - name = "gp2c-${version}"; - version = "0.0.11pl1"; + pname = "gp2c"; + version = "0.0.11pl2"; src = fetchurl { - url = "https://pari.math.u-bordeaux.fr/pub/pari/GP2C/${name}.tar.gz"; - sha256 = "1c6f6vmncw032kfzrfyr8bynw6yd3faxpy2285r009fmr0zxfs5s"; + url = "https://pari.math.u-bordeaux.fr/pub/pari/GP2C/${pname}-${version}.tar.gz"; + sha256 = "0wqsf05wgkqvmmsx7jinvzdqav6rl56sr8haibgs31nzz4x9xz9g"; }; buildInputs = [ pari perl ]; diff --git a/pkgs/applications/science/math/pcalc/default.nix b/pkgs/applications/science/math/pcalc/default.nix index 3e7d9898a65..167ab9275fa 100644 --- a/pkgs/applications/science/math/pcalc/default.nix +++ b/pkgs/applications/science/math/pcalc/default.nix @@ -3,7 +3,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "pcalc-${version}"; + pname = "pcalc"; version = "20141224"; src = fetchgit { diff --git a/pkgs/applications/science/math/polymake/default.nix b/pkgs/applications/science/math/polymake/default.nix index 4fba231f094..fdc4de7b028 100644 --- a/pkgs/applications/science/math/polymake/default.nix +++ b/pkgs/applications/science/math/polymake/default.nix @@ -7,7 +7,6 @@ }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "polymake"; version = "3.2.rc4"; diff --git a/pkgs/applications/science/math/pynac/default.nix b/pkgs/applications/science/math/pynac/default.nix index 032b2ef0964..75a46bb182a 100644 --- a/pkgs/applications/science/math/pynac/default.nix +++ b/pkgs/applications/science/math/pynac/default.nix @@ -9,14 +9,14 @@ }: stdenv.mkDerivation rec { - version = "0.7.23"; - name = "pynac-${version}"; + version = "0.7.25"; + pname = "pynac"; src = fetchFromGitHub { owner = "pynac"; repo = "pynac"; rev = "pynac-${version}"; - sha256 = "02yhl8v9l6aj3wl6dk9iacz4hdv08i1d750rxpygjp43nlgvvb2h"; + sha256 = "0nnifvg6kzx0lq6gz7znind8g30v3d2pjfwgsdiks3vv9kv9nbj3"; }; buildInputs = [ diff --git a/pkgs/applications/science/math/qalculate-gtk/default.nix b/pkgs/applications/science/math/qalculate-gtk/default.nix index 5104d1012b2..b4d82b9583c 100644 --- a/pkgs/applications/science/math/qalculate-gtk/default.nix +++ b/pkgs/applications/science/math/qalculate-gtk/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, intltool, autoreconfHook, pkgconfig, libqalculate, gtk3, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "qalculate-gtk-${version}"; - version = "2.9.0"; + pname = "qalculate-gtk"; + version = "3.3.0"; src = fetchFromGitHub { owner = "qalculate"; repo = "qalculate-gtk"; rev = "v${version}"; - sha256 = "0c5s7mz8xwwmzc22yai8vqiww7paafkyi7khp8a2yws78m2nirdx"; + sha256 = "1z2d32dcvdd66114j3km58xfk80hc5rd0zrh2fgz1azv8r4cqq1b"; }; patchPhase = '' diff --git a/pkgs/applications/science/math/ratpoints/default.nix b/pkgs/applications/science/math/ratpoints/default.nix index 2dd4778234d..71d16fb626c 100644 --- a/pkgs/applications/science/math/ratpoints/default.nix +++ b/pkgs/applications/science/math/ratpoints/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchpatch, gmp }: stdenv.mkDerivation rec { - name = "ratpoints-${version}"; + pname = "ratpoints"; version = "2.1.3.p4"; src = fetchurl { diff --git a/pkgs/applications/science/math/ripser/default.nix b/pkgs/applications/science/math/ripser/default.nix index 5e0b7fc300b..a42a5b710ce 100644 --- a/pkgs/applications/science/math/ripser/default.nix +++ b/pkgs/applications/science/math/ripser/default.nix @@ -17,7 +17,8 @@ let version = "1.0"; in stdenv.mkDerivation { - name = "ripser-${version}"; + pname = "ripser"; + inherit version; src = fetchFromGitHub { owner = "Ripser"; diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix index ddb22bcb1ef..caf51c3da25 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -7,7 +7,7 @@ # is always preferred, see `sage-src.nix` for that. let - inherit (pkgs) fetchurl symlinkJoin callPackage nodePackages; + inherit (pkgs) symlinkJoin callPackage nodePackages; # https://trac.sagemath.org/ticket/15980 for tracking of python3 support python = pkgs.python2.override { @@ -33,7 +33,7 @@ let # `sagelib`, i.e. all of sage except some wrappers and runtime dependencies sagelib = self.callPackage ./sagelib.nix { inherit flint ecl arb; - inherit sage-src pynac singular; + inherit sage-src env-locations pynac singular; linbox = pkgs.linbox.override { withSage = true; }; pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig }; @@ -60,7 +60,7 @@ let # the files its looking fore are located. Also see `sage-env`. env-locations = callPackage ./env-locations.nix { inherit pari_data ecl; - inherit singular; + inherit singular maxima-ecl; cysignals = python.pkgs.cysignals; three = nodePackages.three; mathjax = nodePackages.mathjax; @@ -71,21 +71,21 @@ let sage-env = callPackage ./sage-env.nix { sagelib = python.pkgs.sagelib; inherit env-locations; - inherit python ecl singular palp flint pynac pythonEnv; + inherit python ecl singular palp flint pynac pythonEnv maxima-ecl; pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig }; # The documentation for sage, building it takes a lot of ram. sagedoc = callPackage ./sagedoc.nix { inherit sage-with-env; - inherit python; + inherit python maxima-ecl; }; # sagelib with added wrappers and a dependency on sage-tests to make sure thet tests were run. sage-with-env = callPackage ./sage-with-env.nix { inherit pythonEnv; inherit sage-env; - inherit pynac singular; + inherit pynac singular maxima-ecl; pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig three = nodePackages.three; }; @@ -129,6 +129,9 @@ let singular = pkgs.singular.override { inherit flint; }; + # https://trac.sagemath.org/ticket/26625 + maxima-ecl = pkgs.maxima-ecl; + # *not* to confuse with the python package "pynac" pynac = pkgs.pynac.override { inherit singular flint; }; diff --git a/pkgs/applications/science/math/sage/dist-tests.nix b/pkgs/applications/science/math/sage/dist-tests.nix new file mode 100644 index 00000000000..24a86a8f37a --- /dev/null +++ b/pkgs/applications/science/math/sage/dist-tests.nix @@ -0,0 +1,17 @@ +# Lists past failures and files associated with it. The intention is to build +# up a subset of a testsuite that catches 95% of failures that are relevant for +# distributions while only taking ~5m to run. This in turn makes it more +# reasonable to re-test sage on dependency changes and makes it easier for +# users to override the sage derivation. +# This is an experiment for now. If it turns out that there really is a small +# subset of files responsible for the vast majority of packaging tests, we can +# think about moving this upstream. +[ + "src/sage/env.py" # [1] + "src/sage/misc/persist.pyx" # [1] + "src/sage/misc/inline_fortran.py" # [1] + "src/sage/repl/ipython_extension.py" # [1] +] + +# Numbered list of past failures to annotate files with +# [1] PYTHONPATH related issue https://github.com/NixOS/nixpkgs/commit/ec7f569211091282410050e89e68832d4fe60528 diff --git a/pkgs/applications/science/math/sage/env-locations.nix b/pkgs/applications/science/math/sage/env-locations.nix index 8354629cab5..bda2d23b9e5 100644 --- a/pkgs/applications/science/math/sage/env-locations.nix +++ b/pkgs/applications/science/math/sage/env-locations.nix @@ -28,6 +28,7 @@ writeTextFile rec { export GPDOCDIR="${pari}/share/pari/doc" export SINGULARPATH='${singular}/share/singular' export SINGULAR_SO='${singular}/lib/libSingular.so' + export GAP_SO='${gap}/lib/libgap.so' export SINGULAR_EXECUTABLE='${singular}/bin/Singular' export MAXIMA_FAS='${maxima-ecl}/lib/maxima/${maxima-ecl.version}/binary-ecl/maxima.fas' export MAXIMA_PREFIX="${maxima-ecl}" diff --git a/pkgs/applications/science/math/sage/patches/configurationpy-error-verbose.patch b/pkgs/applications/science/math/sage/patches/configurationpy-error-verbose.patch new file mode 100644 index 00000000000..e687281ad1a --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/configurationpy-error-verbose.patch @@ -0,0 +1,19 @@ +diff --git a/src/sage/repl/configuration.py b/src/sage/repl/configuration.py +index 67d7d2accf..18279581e2 100644 +--- a/src/sage/repl/configuration.py ++++ b/src/sage/repl/configuration.py +@@ -9,10 +9,11 @@ the IPython simple prompt is being used:: + sage: cmd = 'print([sys.stdin.isatty(), sys.stdout.isatty()])' + sage: import pexpect + sage: output = pexpect.run( +- ....: 'bash -c \'echo "{0}" | sage\''.format(cmd), ++ ....: 'bash -c \'export SAGE_BANNER=no; echo "{0}" | sage\''.format(cmd), + ....: ).decode('utf-8', 'surrogateescape') +- sage: 'sage: [False, True]' in output +- True ++ sage: print(output) ++ sage...[False, True] ++ sage...Exiting Sage ... + """ + + #***************************************************************************** diff --git a/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch b/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch new file mode 100644 index 00000000000..3f844e1b1ef --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch @@ -0,0 +1,95 @@ +diff --git a/src/sage/env.py b/src/sage/env.py +index 061b94f3f1..67cd091540 100644 +--- a/src/sage/env.py ++++ b/src/sage/env.py +@@ -189,88 +189,13 @@ var('MAXIMA_FAS') + var('SAGE_BANNER', '') + var('SAGE_IMPORTALL', 'yes') + +- +-def _get_shared_lib_filename(libname, *additional_libnames): +- """ +- Return the full path to a shared library file installed in the standard +- location for the system within the ``LIBDIR`` prefix (or +- ``$SAGE_LOCAL/lib`` in the case of manual build of Sage). +- +- This can also be passed more than one library name (e.g. for cases where +- some library may have multiple names depending on the platform) in which +- case the first one found is returned. +- +- This supports most *NIX variants (in which ``lib.so`` is found +- under ``$SAGE_LOCAL/lib``), macOS (same, but with the ``.dylib`` +- extension), and Cygwin (under ``$SAGE_LOCAL/bin/cyg.dll``, +- or ``$SAGE_LOCAL/bin/cyg-*.dll`` for versioned DLLs). +- +- For distributions like Debian that use a multiarch layout, we also try the +- multiarch lib paths (i.e. ``/usr/lib//``). +- +- Returns ``None`` if the file does not exist. +- +- EXAMPLES:: +- +- sage: import sys +- sage: from fnmatch import fnmatch +- sage: from sage.env import _get_shared_lib_filename +- sage: lib_filename = _get_shared_lib_filename("Singular", +- ....: "singular-Singular") +- sage: if sys.platform == 'cygwin': +- ....: pattern = "*/cygSingular-*.dll" +- ....: elif sys.platform == 'darwin': +- ....: pattern = "*/libSingular.dylib" +- ....: else: +- ....: pattern = "*/lib*Singular.so" +- sage: fnmatch(lib_filename, pattern) +- True +- sage: _get_shared_lib_filename("an_absurd_lib") is None +- True +- """ +- +- for libname in (libname,) + additional_libnames: +- if sys.platform == 'cygwin': +- bindir = sysconfig.get_config_var('BINDIR') +- pats = ['cyg{}.dll'.format(libname), 'cyg{}-*.dll'.format(libname)] +- filenames = [] +- for pat in pats: +- filenames += glob.glob(os.path.join(bindir, pat)) +- +- # Note: This is not very robust, since if there are multi DLL +- # versions for the same library this just selects one more or less +- # at arbitrary. However, practically speaking, on Cygwin, there +- # will only ever be one version +- if filenames: +- return filenames[-1] +- else: +- if sys.platform == 'darwin': +- ext = 'dylib' +- else: +- ext = 'so' +- +- libdirs = [sysconfig.get_config_var('LIBDIR')] +- multilib = sysconfig.get_config_var('MULTILIB') +- if multilib: +- libdirs.insert(0, os.path.join(libdirs[0], multilib)) +- +- for libdir in libdirs: +- basename = 'lib{}.{}'.format(libname, ext) +- filename = os.path.join(libdir, basename) +- if os.path.exists(filename): +- return filename +- +- # Just return None if no files were found +- return None +- +- + # locate singular shared object + # On Debian it's libsingular-Singular so try that as well +-SINGULAR_SO = _get_shared_lib_filename('Singular', 'singular-Singular') ++SINGULAR_SO = '/default' + var('SINGULAR_SO', SINGULAR_SO) + + # locate libgap shared object +-GAP_SO= _get_shared_lib_filename('gap','') ++GAP_SO= '/default' + var('GAP_SO', GAP_SO) + + # post process diff --git a/pkgs/applications/science/math/sage/patches/giac-1.5.0.patch b/pkgs/applications/science/math/sage/patches/giac-1.5.0.patch deleted file mode 100644 index 58090b241d2..00000000000 --- a/pkgs/applications/science/math/sage/patches/giac-1.5.0.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/src/sage/interfaces/giac.py 2018-12-08 22:11:56.285500644 +0100 -+++ b/src/sage/interfaces/giac.py 2018-12-08 22:11:56.285500644 +0100 -@@ -617,10 +617,7 @@ - '4\n3' - sage: s='g(x):={\nx+1;\nx+2;\n}' - sage: giac(s) -- (x)->{ -- x+1; -- x+2; -- } -+ (x)->[x+1,x+2] - sage: giac.g(5) - 7 - """ diff --git a/pkgs/applications/science/math/sage/patches/revert-sphinx-always-fork.patch b/pkgs/applications/science/math/sage/patches/revert-sphinx-always-fork.patch deleted file mode 100644 index 64dd6fd9377..00000000000 --- a/pkgs/applications/science/math/sage/patches/revert-sphinx-always-fork.patch +++ /dev/null @@ -1,71 +0,0 @@ -commit f1c59929c3c180ac283334c2b3c901ac8c82f6b1 -Author: Timo Kaufmann -Date: Sat Oct 20 20:07:41 2018 +0200 - - Revert "Something related to the sphinxbuild seems to be leaking memory" - - This reverts commit 7d85dc796c58c3de57401bc22d3587b94e205091. - -diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py -index 0b24b1a60b..084c3f89d7 100644 ---- a/src/sage_setup/docbuild/__init__.py -+++ b/src/sage_setup/docbuild/__init__.py -@@ -265,29 +265,35 @@ class DocBuilder(object): - # import the customized builder for object.inv files - inventory = builder_helper('inventory') - --def build_many(target, args): -- # Pool() uses an actual fork() to run each new instance. This is important -- # for performance reasons, i.e., don't use a forkserver when it becomes -- # available with Python 3: Here, sage is already initialized which is quite -- # costly, with a forkserver we would have to reinitialize it for every -- # document we build. At the same time, don't serialize this by taking the -- # pool (and thus the call to fork()) out completely: The call to Sphinx -- # leaks memory, so we need to build each document in its own process to -- # control the RAM usage. -- from multiprocessing import Pool -- pool = Pool(NUM_THREADS, maxtasksperchild=1) -- # map_async handles KeyboardInterrupt correctly. Plain map and -- # apply_async does not, so don't use it. -- x = pool.map_async(target, args, 1) -- try: -- ret = x.get(99999) -- pool.close() -- pool.join() -- except Exception: -- pool.terminate() -- if ABORT_ON_ERROR: -- raise -- return ret -+if NUM_THREADS > 1: -+ def build_many(target, args): -+ from multiprocessing import Pool -+ pool = Pool(NUM_THREADS, maxtasksperchild=1) -+ # map_async handles KeyboardInterrupt correctly. Plain map and -+ # apply_async does not, so don't use it. -+ x = pool.map_async(target, args, 1) -+ try: -+ ret = x.get(99999) -+ pool.close() -+ pool.join() -+ except Exception: -+ pool.terminate() -+ if ABORT_ON_ERROR: -+ raise -+ return ret -+else: -+ def build_many(target, args): -+ results = [] -+ -+ for arg in args: -+ try: -+ results.append(target(arg)) -+ except Exception: -+ if ABORT_ON_ERROR: -+ raise -+ -+ return results -+ - - ########################################## - # Parallel Building Ref Manual # diff --git a/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch b/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch new file mode 100644 index 00000000000..933344aa559 --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch @@ -0,0 +1,57 @@ +diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py +index 0f2700168a..60f71357d2 100644 +--- a/src/sage_setup/docbuild/__init__.py ++++ b/src/sage_setup/docbuild/__init__.py +@@ -86,26 +86,6 @@ def builder_helper(type): + """ + Returns a function which builds the documentation for + output type ``type``. +- +- TESTS: +- +- Check that :trac:`25161` has been resolved:: +- +- sage: from sage_setup.docbuild import DocBuilder, setup_parser +- sage: DocBuilder._options = setup_parser().parse_args([])[0] # builder_helper needs _options to be set +- +- sage: import sage_setup.docbuild.sphinxbuild +- sage: def raiseBaseException(): +- ....: raise BaseException("abort pool operation") +- sage: original_runsphinx, sage_setup.docbuild.sphinxbuild.runsphinx = sage_setup.docbuild.sphinxbuild.runsphinx, raiseBaseException +- +- sage: from sage_setup.docbuild import builder_helper, build_many, build_ref_doc +- sage: helper = builder_helper("html") +- sage: try: +- ....: build_many(build_ref_doc, [("docname", "en", "html", {})]) +- ....: except Exception as E: +- ....: "Non-exception during docbuild: abort pool operation" in str(E) +- True + """ + def f(self, *args, **kwds): + output_dir = self._output_dir(type) +@@ -127,10 +107,9 @@ def builder_helper(type): + logger.debug(build_command) + + # Run Sphinx with Sage's special logger +- sys.argv = ["sphinx-build"] + build_command.split() +- from .sphinxbuild import runsphinx ++ args = "python -um sage_setup.docbuild.sphinxbuild -N".split() + build_command.split() + try: +- runsphinx() ++ subprocess.check_call(args) + except Exception: + if ABORT_ON_ERROR: + raise +diff --git a/src/sage_setup/docbuild/sphinxbuild.py b/src/sage_setup/docbuild/sphinxbuild.py +index 9a2fba79bc..77c8ed3592 100644 +--- a/src/sage_setup/docbuild/sphinxbuild.py ++++ b/src/sage_setup/docbuild/sphinxbuild.py +@@ -318,3 +318,8 @@ def runsphinx(): + sys.stderr = saved_stderr + sys.stdout.flush() + sys.stderr.flush() ++ ++if __name__ == '__main__': ++ import sys ++ sys.argv[0] = "sphinx-build" ++ runsphinx() diff --git a/pkgs/applications/science/math/sage/patches/sympow-cache.patch b/pkgs/applications/science/math/sage/patches/sympow-cache.patch new file mode 100644 index 00000000000..20020d610f8 --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/sympow-cache.patch @@ -0,0 +1,21 @@ +diff --git a/src/sage/lfunctions/sympow.py b/src/sage/lfunctions/sympow.py +index 1640ac4f6a..03578be7b8 100644 +--- a/src/sage/lfunctions/sympow.py ++++ b/src/sage/lfunctions/sympow.py +@@ -50,6 +50,7 @@ from __future__ import print_function, absolute_import + + import os + ++from sage.env import DOT_SAGE + from sage.structure.sage_object import SageObject + from sage.misc.all import pager, verbose + import sage.rings.all +@@ -76,7 +77,7 @@ class Sympow(SageObject): + """ + Used to call sympow with given args + """ +- cmd = 'sympow %s'%args ++ cmd = 'env SYMPOW_CACHEDIR="%s/sympow///" sympow %s' % (DOT_SAGE, args) + v = os.popen(cmd).read().strip() + verbose(v, level=2) + return v diff --git a/pkgs/applications/science/math/sage/patches/threejs-offline.patch b/pkgs/applications/science/math/sage/patches/threejs-offline.patch new file mode 100644 index 00000000000..62b2f114bd6 --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/threejs-offline.patch @@ -0,0 +1,64 @@ +diff --git a/build/pkgs/threejs/spkg-src b/build/pkgs/threejs/spkg-src +index 91780d813c..254b850a24 100755 +--- a/build/pkgs/threejs/spkg-src ++++ b/build/pkgs/threejs/spkg-src +@@ -20,9 +20,17 @@ URL3="https://raw.githubusercontent.com/mrdoob/three.js/${GIT_VERSION}/LICENSE" + echo "Downloading $URL3" + curl -OL "$URL3" + ++# Set up directory structure ++ ++mkdir build ++mv three.min.js build ++ ++mkdir -p examples/js/controls ++mv OrbitControls.js examples/js/controls ++ + # Package +-tar czf "$SAGE_ROOT/upstream/threejs-${GIT_VERSION}.tar.gz" 'three.min.js' 'OrbitControls.js' 'LICENSE' +-rm -rf 'three.min.js' 'OrbitControls.js' 'LICENSE' ++tar czf "$SAGE_ROOT/upstream/threejs-${GIT_VERSION}.tar.gz" build examples 'LICENSE' ++rm -rf 'build' 'examples' 'LICENSE' + + # Update package info + echo "${GIT_VERSION}" > 'package-version.txt' +diff --git a/src/sage/repl/rich_output/backend_ipython.py b/src/sage/repl/rich_output/backend_ipython.py +index 7c27d48a21..8bf4861a35 100644 +--- a/src/sage/repl/rich_output/backend_ipython.py ++++ b/src/sage/repl/rich_output/backend_ipython.py +@@ -411,10 +411,15 @@ class BackendIPythonCommandline(BackendIPython): + sage: backend.threejs_offline_scripts() + '... +- ++ ++ + diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index b9d0a9ef448..57d6c852be8 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -1,6 +1,7 @@ { stdenv , fetchFromGitHub , fetchpatch +, runtimeShell }: # This file is responsible for fetching the sage source and adding necessary patches. @@ -9,14 +10,14 @@ # all get the same sources with the same patches applied. stdenv.mkDerivation rec { - version = "8.6"; - name = "sage-src-${version}"; + version = "8.8"; + pname = "sage-src"; src = fetchFromGitHub { owner = "sagemath"; repo = "sage"; rev = version; - sha256 = "1vs3pbgbqpg0qnwr018bqsdmm7crgjp310cx8zwh7za3mv1cw5j3"; + sha256 = "0jm7zdkz8wfgrmf6620jfr8kgvprrz3qfl8gzx6rl5z5cm734b6x"; }; # Patches needed because of particularities of nix or the way this is packaged. @@ -36,12 +37,6 @@ stdenv.mkDerivation rec { # https://github.com/python/cpython/pull/7476 ./patches/python-5755-hotpatch.patch - # Revert the commit that made the sphinx build fork even in the single thread - # case. For some yet unknown reason, that breaks the docbuild on nix and archlinux. - # See https://groups.google.com/forum/#!msg/sage-packaging/VU4h8IWGFLA/mrmCMocYBwAJ. - # https://trac.sagemath.org/ticket/26608 - ./patches/revert-sphinx-always-fork.patch - # Make sure py2/py3 tests are only run when their expected context (all "sage" # tests) are also run. That is necessary to test dochtml individually. See # https://trac.sagemath.org/ticket/26110 for an upstream discussion. @@ -49,6 +44,27 @@ stdenv.mkDerivation rec { # Fixes a potential race condition which can lead to transient doctest failures. ./patches/fix-ecl-race.patch + + # Not necessary since library location is set explicitly + # https://trac.sagemath.org/ticket/27660#ticket + ./patches/do-not-test-find-library.patch + + + # https://trac.sagemath.org/ticket/28007 + ./patches/threejs-offline.patch + + # Parallelize docubuild using subprocesses, fixing an isolation issue. See + # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE + ./patches/sphinx-docbuild-subprocesses.patch + ]; + + # Since sage unfortunately does not release bugfix releases, packagers must + # fix those bugs themselves. This is for critical bugfixes, where "critical" + # == "causes (transient) doctest failures / somebody complained". + bugfixPatches = [ + # To help debug the transient error in + # https://trac.sagemath.org/ticket/23087 when it next occurs. + ./patches/configurationpy-error-verbose.patch ]; # Patches needed because of package updates. We could just pin the versions of @@ -81,39 +97,21 @@ stdenv.mkDerivation rec { stripLen = 1; }) - # https://trac.sagemath.org/ticket/26315 - ./patches/giac-1.5.0.patch - - # https://trac.sagemath.org/ticket/26442 + # https://trac.sagemath.org/ticket/26932 (fetchSageDiff { - name = "cypari2-2.0.3.patch"; - base = "8.6.rc1"; - rev = "cd62d45bcef93fb4f7ed62609a46135e6de07051"; - sha256 = "08l2b9w0rn1zrha6188j72f7737xs126gkgmydjd31baa6367np2"; + name = "givaro-4.1.0_fflas-ffpack-2.4.0_linbox-1.6.0.patch"; + base = "8.8.beta4"; + rev = "c11d9cfa23ff9f77681a8f12742f68143eed4504"; + sha256 = "0xzra7mbgqvahk9v45bjwir2mqz73hrhhy314jq5nxrb35ysdxyi"; }) - # https://trac.sagemath.org/ticket/26949 - (fetchpatch { - name = "sphinx-1.8.3-dependency.patch"; - url = "https://git.sagemath.org/sage.git/patch?id=d305eda0fedc73fdbe0447b5d6d2b520b8d112c4"; - sha256 = "1x3q5j8lq35vlj893gj5gq9fhzs60szm9r9rx6ri79yiy9apabph"; - }) - # https://trac.sagemath.org/ticket/26451 - (fetchpatch { - name = "sphinx-1.8.3.patch"; - url = "https://git.sagemath.org/sage.git/patch?id2=0cb494282d7b4cea50aba7f4d100e7932a4c00b1&id=62b989d5ee1d9646db85ea56053cd22e9ffde5ab"; - sha256 = "1n5c61mvhalcr2wbp66wzsynwwk59aakvx3xqa5zw9nlkx3rd0h1"; - }) - - # https://trac.sagemath.org/ticket/27061 - (fetchpatch { - name = "numpy-1.16-inline-fortran.patch"; - url = "https://git.sagemath.org/sage.git/patch?id=a05b6b038e1571ab15464e98f76d1927c0c3fd12"; - sha256 = "05yq97pq84xi60wb1p9skrad5h5x770gq98ll4frr7hvvmlwsf58"; - }) + # After updating smypow to (https://trac.sagemath.org/ticket/3360) we can + # now set the cache dir to be withing the .sage directory. This is not + # strictly necessary, but keeps us from littering in the user's HOME. + ./patches/sympow-cache.patch ]; - patches = nixPatches ++ packageUpgradePatches; + patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches; postPatch = '' # make sure shebangs etc are fixed, but sage-python23 still works @@ -121,9 +119,15 @@ stdenv.mkDerivation rec { -e 's/sage-python23/python/g' \ -i {} \; - echo '#!${stdenv.shell} + echo '#!${runtimeShell} python "$@"' > build/bin/sage-python23 + # Make sure sage can at least be imported without setting any environment + # variables. It won't be close to feature complete though. + sed -i \ + "s|var('SAGE_LOCAL',.*|var('SAGE_LOCAL', '$out/src')|" \ + src/sage/env.py + # Do not use sage-env-config (generated by ./configure). # Instead variables are set manually. echo '# do nothing' > src/bin/sage-env-config diff --git a/pkgs/applications/science/math/sage/sage-tests.nix b/pkgs/applications/science/math/sage/sage-tests.nix index 12433e12fe9..856d604d751 100644 --- a/pkgs/applications/science/math/sage/sage-tests.nix +++ b/pkgs/applications/science/math/sage/sage-tests.nix @@ -25,7 +25,7 @@ let in stdenv.mkDerivation rec { version = src.version; - name = "sage-tests-${version}"; + pname = "sage-tests"; inherit src; buildInputs = [ @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { sage-with-env ]; - unpackPhase = "#do nothing"; + dontUnpack = true; configurePhase = "#do nothing"; buildPhase = "#do nothing"; @@ -51,6 +51,10 @@ stdenv.mkDerivation rec { export HOME="$TMPDIR/sage-home" mkdir -p "$HOME" + # avoid running out of memory with many threads in subprocesses, see + # https://github.com/NixOS/nixpkgs/pull/65802 + export GLIBC_TUNABLES=glibc.malloc.arena_max=4 + echo "Running sage tests with arguments ${timeSpecifier} ${patienceSpecifier} ${testArgs}" "sage" -t --nthreads "$NIX_BUILD_CORES" --optional=sage ${timeSpecifier} ${patienceSpecifier} ${testArgs} ''; diff --git a/pkgs/applications/science/math/sage/sage-with-env.nix b/pkgs/applications/science/math/sage/sage-with-env.nix index 18060f342a9..524085e8c01 100644 --- a/pkgs/applications/science/math/sage/sage-with-env.nix +++ b/pkgs/applications/science/math/sage/sage-with-env.nix @@ -59,7 +59,7 @@ let # return the names of all dependencies in the transitive closure transitiveClosure = dep: - if isNull dep then + if dep == null then # propagatedBuildInputs might contain null # (although that might be considered a programming error in the derivation) [] @@ -87,7 +87,7 @@ let in stdenv.mkDerivation rec { version = src.version; - name = "sage-with-env-${version}"; + pname = "sage-with-env"; src = sage-env.lib.src; inherit buildInputs; @@ -99,6 +99,13 @@ stdenv.mkDerivation rec { for pkg in ${lib.concatStringsSep " " input_names}; do touch "installed/$pkg" done + + # threejs version is in format 0..minor, but sage currently still + # relies on installed_packages for the online version of threejs to work + # and expects the format r. This is a hotfix for now. + # upstream: https://trac.sagemath.org/ticket/26434 + rm "installed/threejs"* + touch "installed/threejs-r${lib.versions.minor three.version}" ''; installPhase = '' diff --git a/pkgs/applications/science/math/sage/sage.nix b/pkgs/applications/science/math/sage/sage.nix index 541b9cb36dc..4fa8ae6270b 100644 --- a/pkgs/applications/science/math/sage/sage.nix +++ b/pkgs/applications/science/math/sage/sage.nix @@ -11,7 +11,7 @@ # A wrapper that makes sure sage finds its docs (if they were build) and the # jupyter kernel spec. -let +let # generate kernel spec + default kernels kernel-specs = jupyter-kernel.create { definitions = jupyter-kernel.default // { @@ -21,7 +21,7 @@ let in stdenv.mkDerivation rec { version = src.version; - name = "sage-${version}"; + pname = "sage"; src = sage-with-env.env.lib.src; buildInputs = [ @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { sage-tests ]; - unpackPhase = "#do nothing"; + dontUnpack = true; configurePhase = "#do nothing"; buildPhase = "#do nothing"; diff --git a/pkgs/applications/science/math/sage/sagedoc.nix b/pkgs/applications/science/math/sage/sagedoc.nix index cc1a4fc61e0..bf618fe64f4 100644 --- a/pkgs/applications/science/math/sage/sagedoc.nix +++ b/pkgs/applications/science/math/sage/sagedoc.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { version = src.version; - name = "sagedoc-${version}"; + pname = "sagedoc"; src = sage-with-env.env.lib.src; @@ -52,6 +52,9 @@ stdenv.mkDerivation rec { export HOME="$TMPDIR/sage_home" mkdir -p "$HOME" + # needed to link them in the sage docs using intersphinx + export PPLPY_DOCS=${python.pkgs.pplpy.doc}/share/doc/pplpy + ${sage-with-env}/bin/sage -python -m sage_setup.docbuild \ --mathjax \ --no-pdf-links \ diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix index 814eef9560e..6eac84aaa86 100644 --- a/pkgs/applications/science/math/sage/sagelib.nix +++ b/pkgs/applications/science/math/sage/sagelib.nix @@ -1,4 +1,5 @@ { sage-src +, env-locations , perl , buildPythonPackage , arb @@ -47,6 +48,8 @@ , jupyter_core , libhomfly , libbraiding +, gmpy2 +, pplpy }: # This is the core sage python package. Everything else is just wrappers gluing @@ -57,7 +60,7 @@ buildPythonPackage rec { format = "other"; version = src.version; - name = "sagelib-${version}"; + pname = "sagelib"; src = sage-src; nativeBuildInputs = [ @@ -65,11 +68,13 @@ buildPythonPackage rec { perl jupyter_core pkg-config + pip # needed to query installed packages ]; buildInputs = [ gd readline + iml ]; propagatedBuildInputs = [ @@ -113,14 +118,19 @@ buildPythonPackage rec { cysignals libhomfly libbraiding + gmpy2 + pplpy ]; buildPhase = '' export SAGE_ROOT="$PWD" export SAGE_LOCAL="$SAGE_ROOT" export SAGE_SHARE="$SAGE_LOCAL/share" - export JUPYTER_PATH="$SAGE_LOCAL/jupyter" + # set locations of dependencies (needed for nbextensions like threejs) + . ${env-locations}/sage-env-locations + + export JUPYTER_PATH="$SAGE_LOCAL/jupyter" export PATH="$SAGE_ROOT/build/bin:$SAGE_ROOT/src/bin:$PATH" export SAGE_NUM_THREADS="$NIX_BUILD_CORES" diff --git a/pkgs/applications/science/math/sage/sagenb.nix b/pkgs/applications/science/math/sage/sagenb.nix index 32335b45202..03b5b7a3bbf 100644 --- a/pkgs/applications/science/math/sage/sagenb.nix +++ b/pkgs/applications/science/math/sage/sagenb.nix @@ -1,5 +1,4 @@ { stdenv -, fetchpatch , python , buildPythonPackage , fetchFromGitHub diff --git a/pkgs/applications/science/math/scilab-bin/default.nix b/pkgs/applications/science/math/scilab-bin/default.nix index c3a74d14bc0..21ce53e70c5 100644 --- a/pkgs/applications/science/math/scilab-bin/default.nix +++ b/pkgs/applications/science/math/scilab-bin/default.nix @@ -3,9 +3,7 @@ let name = "scilab-bin-${ver}"; - ver = "6.0.1"; - - majorVer = builtins.elemAt (lib.splitString "." ver) 0; + ver = "6.0.2"; badArch = throw "${name} requires i686-linux or x86_64-linux"; @@ -26,7 +24,7 @@ stdenv.mkDerivation rec { if stdenv.hostPlatform.system == "i686-linux" then "0fgjc2ak3b2qi6yin3fy50qwk2bcj0zbz1h4lyyic9n1n1qcliib" else if stdenv.hostPlatform.system == "x86_64-linux" then - "1scswlznc14vyzg0gqa1q9gcpwx05kz1sbn563463mzkdp7nd35d" + "05clcdgry90drirl3swbxn5q36fmgknnhs6h5pr7mmrzfr6r818w" else badArch; }; diff --git a/pkgs/applications/science/math/scilab/default.nix b/pkgs/applications/science/math/scilab/default.nix index 01fb58403ca..432280a18fb 100644 --- a/pkgs/applications/science/math/scilab/default.nix +++ b/pkgs/applications/science/math/scilab/default.nix @@ -13,9 +13,9 @@ stdenv.mkDerivation rec { version = "4.1.2"; - name = "scilab-${version}"; + pname = "scilab"; src = fetchurl { - url = "https://www.scilab.org/download/${version}/${name}-src.tar.gz"; + url = "https://www.scilab.org/download/${version}/${pname}-${version}-src.tar.gz"; sha256 = "1adk6jqlj7i3gjklvlf1j3il1nb22axnp4rvwl314an62siih0sc"; }; diff --git a/pkgs/applications/science/math/scotch/default.nix b/pkgs/applications/science/math/scotch/default.nix index 8fa020ba07c..610f1ef05c0 100644 --- a/pkgs/applications/science/math/scotch/default.nix +++ b/pkgs/applications/science/math/scotch/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "6.0.4"; - name = "scotch-${version}"; + pname = "scotch"; src_name = "scotch_${version}"; buildInputs = [ bison openmpi flex zlib ]; diff --git a/pkgs/applications/science/math/singular/default.nix b/pkgs/applications/science/math/singular/default.nix index 24063216db0..ccb139203ac 100644 --- a/pkgs/applications/science/math/singular/default.nix +++ b/pkgs/applications/science/math/singular/default.nix @@ -11,7 +11,7 @@ }: stdenv.mkDerivation rec { - name = "singular-${version}"; + pname = "singular"; version = "4.1.1p2"; src = let diff --git a/pkgs/applications/science/math/speedcrunch/default.nix b/pkgs/applications/science/math/speedcrunch/default.nix index d36b135531c..67561658eb2 100644 --- a/pkgs/applications/science/math/speedcrunch/default.nix +++ b/pkgs/applications/science/math/speedcrunch/default.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, fetchgit, cmake, qtbase, qttools }: mkDerivation rec { - name = "speedcrunch-${version}"; + pname = "speedcrunch"; version = "0.12.0"; src = fetchgit { diff --git a/pkgs/applications/science/math/symmetrica/default.nix b/pkgs/applications/science/math/symmetrica/default.nix index bc971606cd0..18daabb9e7e 100644 --- a/pkgs/applications/science/math/symmetrica/default.nix +++ b/pkgs/applications/science/math/symmetrica/default.nix @@ -3,7 +3,7 @@ , fetchpatch }: stdenv.mkDerivation rec { - name = "symmetrica-${version}"; + pname = "symmetrica"; version = "2.0"; src = fetchurl { diff --git a/pkgs/applications/science/math/weka/default.nix b/pkgs/applications/science/math/weka/default.nix index 3bfb22dad93..90278a744f1 100644 --- a/pkgs/applications/science/math/weka/default.nix +++ b/pkgs/applications/science/math/weka/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, jre, unzip, makeWrapper }: stdenv.mkDerivation rec { - name = "weka-${version}"; + pname = "weka"; version = "3.9.2"; src = fetchurl { - url = "mirror://sourceforge/weka/${stdenv.lib.replaceChars ["."]["-"] name}.zip"; + url = "mirror://sourceforge/weka/${stdenv.lib.replaceChars ["."]["-"] "${pname}-${version}"}.zip"; sha256 = "0zwmhspmqb0a7cm6k6i0s6q3w19ws1g9dx3cp2v3g3vsif6cdh31"; }; diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix index 67cdaa4055a..406d74c4cd3 100644 --- a/pkgs/applications/science/math/wxmaxima/default.nix +++ b/pkgs/applications/science/math/wxmaxima/default.nix @@ -3,8 +3,8 @@ , maxima, wxGTK, gnome3 }: stdenv.mkDerivation rec { - name = "wxmaxima-${version}"; - version = "18.02.0"; + pname = "wxmaxima"; + version = "19.03.0"; src = fetchFromGitHub { owner = "andrejv"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "0s7bdykc77slqix28cyaa6x8wvxrn8461mkdgxflvi2apwsl56aa"; }; - buildInputs = [ wxGTK maxima gnome3.defaultIconTheme ]; + buildInputs = [ wxGTK maxima gnome3.adwaita-icon-theme ]; nativeBuildInputs = [ wrapGAppsHook cmake gettext ]; @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Cross platform GUI for the computer algebra system Maxima"; license = licenses.gpl2; - homepage = http://wxmaxima.sourceforge.net; + homepage = https://wxmaxima-developers.github.io/wxmaxima/; platforms = platforms.linux; maintainers = [ maintainers.peti ]; }; diff --git a/pkgs/applications/science/math/yacas/default.nix b/pkgs/applications/science/math/yacas/default.nix index c02ef73df11..bae0d9a18c6 100644 --- a/pkgs/applications/science/math/yacas/default.nix +++ b/pkgs/applications/science/math/yacas/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "yacas-${version}"; + pname = "yacas"; version = "1.6.1"; src = fetchFromGitHub { diff --git a/pkgs/applications/science/medicine/aliza/default.nix b/pkgs/applications/science/medicine/aliza/default.nix index ff25bc97490..2633f4c8db1 100644 --- a/pkgs/applications/science/medicine/aliza/default.nix +++ b/pkgs/applications/science/medicine/aliza/default.nix @@ -2,11 +2,12 @@ with stdenv.lib; stdenv.mkDerivation { - name = "aliza"; + pname = "aliza"; + version = "1.48.10"; src = fetchurl { - # Hosted on muoniurn's google drive - url = "https://drive.google.com/uc?export=download&id=1zMYfSUqMaYuvuF41zAFUC5ndR55wD7Ip"; - sha256 = "0prlmzz8qbqqkr0plk781afq25dvy4pv89vlgccpim79psqlchl3"; + # See https://www.aliza-dicom-viewer.com/download + url = "https://drive.google.com/uc?export=download&id=16WEScARaSrzJpJkyGuOUxDF95eUwGyET"; + sha256 = "1ls16cwd0fmb5axxmy9lgf8cqrf7g7swm26f0gr2vqp4z9bw6qn3"; name = "aliza.rpm"; }; @@ -48,5 +49,6 @@ stdenv.mkDerivation { homepage = http://www.aliza-dicom-viewer.com; license = licenses.unfreeRedistributable; maintainers = with maintainers; [ mounium ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix index 3571d705e31..c806b558da0 100644 --- a/pkgs/applications/science/misc/boinc/default.nix +++ b/pkgs/applications/science/misc/boinc/default.nix @@ -9,10 +9,10 @@ in stdenv.mkDerivation rec { version = "${majorVersion}.${minorVersion}"; - name = "boinc-${version}"; + pname = "boinc"; src = fetchFromGitHub { - name = "${name}-src"; + name = "${pname}-${version}-src"; owner = "BOINC"; repo = "boinc"; rev = "client_release/${majorVersion}/${version}"; @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { meta = { description = "Free software for distributed and grid computing"; - homepage = http://boinc.berkeley.edu/; + homepage = https://boinc.berkeley.edu/; license = stdenv.lib.licenses.lgpl2Plus; platforms = stdenv.lib.platforms.linux; # arbitrary choice }; diff --git a/pkgs/applications/science/misc/colmap/default.nix b/pkgs/applications/science/misc/colmap/default.nix new file mode 100644 index 00000000000..672569ed100 --- /dev/null +++ b/pkgs/applications/science/misc/colmap/default.nix @@ -0,0 +1,37 @@ +{ mkDerivation, lib, fetchFromGitHub, cmake, boost, ceres-solver, eigen, + freeimage, glog, libGLU, glew, qtbase, + cudaSupport ? false, cudatoolkit ? null }: + +assert !cudaSupport || cudatoolkit != null; + +let boost_static = boost.override { enableStatic = true; }; +in +mkDerivation rec { + version = "3.5"; + pname = "colmap"; + src = fetchFromGitHub { + owner = "colmap"; + repo = "colmap"; + rev = version; + sha256 = "1vnb62p0y2bnga173wmjs0lnyqdjikv0fkcxjzxm8187khk2lly8"; + }; + + buildInputs = [ + boost_static ceres-solver eigen + freeimage glog libGLU glew qtbase + ] ++ lib.optional cudaSupport cudatoolkit; + + nativeBuildInputs = [ cmake ]; + + meta = with lib; { + description = "COLMAP - Structure-From-Motion and Multi-View Stereo pipeline"; + longDescription = '' + COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline + with a graphical and command-line interface. + ''; + homepage = https://colmap.github.io/index.html; + license = licenses.bsd2; + platforms = platforms.linux; + maintainers = with maintainers; [ lebastr ]; + }; +} diff --git a/pkgs/applications/science/misc/cytoscape/default.nix b/pkgs/applications/science/misc/cytoscape/default.nix index 36c7884d108..2e19012af87 100644 --- a/pkgs/applications/science/misc/cytoscape/default.nix +++ b/pkgs/applications/science/misc/cytoscape/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, jre, makeWrapper }: stdenv.mkDerivation rec { - name = "cytoscape-${version}"; - version = "3.6.1"; + pname = "cytoscape"; + version = "3.7.1"; src = fetchurl { - url = "http://chianti.ucsd.edu/${name}/${name}.tar.gz"; - sha256 = "1pkdilv1nw6vvdxk71bwjngr8yafrsqwaqvlakhp8yb342r1jd4s"; + url = "https://github.com/cytoscape/cytoscape/releases/download/${version}/${pname}-${version}.tar.gz"; + sha256 = "1mhsngbwbgdwl70wj7850zg94534lasihwv2ryifardm35mkh48k"; }; buildInputs = [jre makeWrapper]; diff --git a/pkgs/applications/science/misc/gephi/default.nix b/pkgs/applications/science/misc/gephi/default.nix index b81f188a91b..17b2fe27f29 100644 --- a/pkgs/applications/science/misc/gephi/default.nix +++ b/pkgs/applications/science/misc/gephi/default.nix @@ -28,7 +28,8 @@ let }; in stdenv.mkDerivation rec { - name = "gephi-${version}"; + pname = "gephi"; + inherit version; inherit src; diff --git a/pkgs/applications/science/misc/gplates/default.nix b/pkgs/applications/science/misc/gplates/default.nix index 8b6c7497e54..b394639fd0c 100644 --- a/pkgs/applications/science/misc/gplates/default.nix +++ b/pkgs/applications/science/misc/gplates/default.nix @@ -2,11 +2,11 @@ , proj, boost, cmake, python2, doxygen, graphviz, gmp }: stdenv.mkDerivation rec { - name = "gplates-${version}"; + pname = "gplates"; version = "2.0.0"; src = fetchurl { - url = "mirror://sourceforge/gplates/${name}-unixsrc.tar.bz2"; + url = "mirror://sourceforge/gplates/${pname}-${version}-unixsrc.tar.bz2"; sha256 = "02scnjj5nlc2d2c8lbx0xvj8gg1bgkjliv3wxsx564c55a9x69qw"; }; diff --git a/pkgs/applications/science/misc/megam/default.nix b/pkgs/applications/science/misc/megam/default.nix index 8cd119c7b7b..59f5afb2f43 100644 --- a/pkgs/applications/science/misc/megam/default.nix +++ b/pkgs/applications/science/misc/megam/default.nix @@ -2,7 +2,8 @@ let version = "0.92"; in stdenv.mkDerivation rec { - name = "megam-${version}"; + pname = "megam"; + inherit version; src = fetchurl { url = "http://hal3.name/megam/megam_src.tgz"; diff --git a/pkgs/applications/science/misc/motu-client/default.nix b/pkgs/applications/science/misc/motu-client/default.nix deleted file mode 100644 index d4367ef7e2d..00000000000 --- a/pkgs/applications/science/misc/motu-client/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ python27Packages, fetchurl, lib } : -python27Packages.buildPythonApplication rec { - pname = "motu-client"; - version = "1.5.00"; - - src = fetchurl { - url = "https://github.com/quiet-oceans/motuclient-setuptools/archive/${version}.tar.gz"; - sha256 = "1iqsws3wa2gpb36ms21xmaxfi83i8p8cdya4cxpn4r47c8mz74x8"; - }; - - meta = with lib; { - homepage = https://github.com/quiet-oceans/motuclient-setuptools; - description = "CLI to query oceanographic data to Motu servers"; - longDescription = '' - Access data from (motu)[https://sourceforge.net/projects/cls-motu/] servers. - This is a refactored fork of the original release in order to simplify integration, - deployment and packaging. Upstream code can be found at - https://sourceforge.net/projects/cls-motu/ . - ''; - license = licenses.lgpl3Plus; - maintainers = [ maintainers.lsix ]; - }; -} diff --git a/pkgs/applications/science/misc/netlogo/default.nix b/pkgs/applications/science/misc/netlogo/default.nix index 76f958cc3a8..b412c4ef81a 100644 --- a/pkgs/applications/science/misc/netlogo/default.nix +++ b/pkgs/applications/science/misc/netlogo/default.nix @@ -14,7 +14,7 @@ let in stdenv.mkDerivation rec { - name = "netlogo-${version}"; + pname = "netlogo"; version = "6.0.4"; src = fetchurl { diff --git a/pkgs/applications/science/misc/openmodelica/default.nix b/pkgs/applications/science/misc/openmodelica/default.nix index 9e9a10a011e..1a1ae3df942 100644 --- a/pkgs/applications/science/misc/openmodelica/default.nix +++ b/pkgs/applications/science/misc/openmodelica/default.nix @@ -1,5 +1,5 @@ {stdenv, fetchgit, fetchsvn, autoconf, automake, libtool, gfortran, clang, cmake, gnumake, -hwloc, jre, liblapack, blas, hdf5, expat, ncurses, readline, qt4, webkit, which, +hwloc, jre, liblapack, blas, hdf5, expat, ncurses, readline, qt4, webkitgtk, which, lp_solve, omniorb, sqlite, libatomic_ops, pkgconfig, file, gettext, flex, bison, doxygen, boost, openscenegraph, gnome2, pangox_compat, xorg, git, bash, gtk2, makeWrapper }: @@ -15,7 +15,7 @@ stdenv.mkDerivation { src = fetchgit (import ./src-main.nix); buildInputs = [autoconf cmake automake libtool gfortran clang gnumake - hwloc jre liblapack blas hdf5 expat ncurses readline qt4 webkit which + hwloc jre liblapack blas hdf5 expat ncurses readline qt4 webkitgtk which lp_solve omniorb sqlite libatomic_ops pkgconfig file gettext flex bison doxygen boost openscenegraph gnome2.gtkglext pangox_compat xorg.libXmu git gtk2 makeWrapper]; diff --git a/pkgs/applications/science/misc/openmvg/default.nix b/pkgs/applications/science/misc/openmvg/default.nix index c3e1cd60bf0..121e953f43a 100644 --- a/pkgs/applications/science/misc/openmvg/default.nix +++ b/pkgs/applications/science/misc/openmvg/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { version = "1.3"; - name = "openmvg-${version}"; + pname = "openmvg"; src = fetchgit { url = "https://www.github.com/openmvg/openmvg.git"; @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { meta = { description = "A library for computer-vision scientists and targeted for the Multiple View Geometry community"; - homepage = http://openmvg.readthedocs.io/en/latest/; + homepage = https://openmvg.readthedocs.io/en/latest/; license = stdenv.lib.licenses.mpl20; platforms = stdenv.lib.platforms.linux; maintainers = with stdenv.lib.maintainers; [ mdaiter ]; diff --git a/pkgs/applications/science/misc/openmvs/default.nix b/pkgs/applications/science/misc/openmvs/default.nix index b665d5f4f68..43d57feab71 100644 --- a/pkgs/applications/science/misc/openmvs/default.nix +++ b/pkgs/applications/science/misc/openmvs/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, pkgconfig, cmake , eigen, opencv, ceres-solver, cgal, boost, vcg -, gmp, mpfr, glog, google-gflags, libjpeg_turbo }: +, gmp, mpfr, glog, gflags, libjpeg_turbo }: stdenv.mkDerivation rec { name = "openmvs-unstable-2018-05-26"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "12dgkwwfdp24581y3i41gsd1k9hq0aw917q0ja5s0if4qbmc8pni"; }; - buildInputs = [ eigen opencv ceres-solver cgal boost vcg gmp mpfr glog google-gflags libjpeg_turbo ]; + buildInputs = [ eigen opencv ceres-solver cgal boost vcg gmp mpfr glog gflags libjpeg_turbo ]; nativeBuildInputs = [ cmake pkgconfig ]; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { "-DCERES_DIR=${ceres-solver}/lib/cmake/Ceres/" ) ''; - + postFixup = '' rp=$(patchelf --print-rpath $out/bin/DensifyPointCloud) patchelf --set-rpath $rp:$out/lib/OpenMVS $out/bin/DensifyPointCloud @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { rp=$(patchelf --print-rpath $out/bin/TextureMesh) patchelf --set-rpath $rp:$out/lib/OpenMVS $out/bin/TextureMesh ''; - + cmakeDir = "./"; dontUseCmakeBuildDir = true; @@ -58,5 +58,7 @@ stdenv.mkDerivation rec { license = licenses.agpl3; platforms = platforms.linux; maintainers = with maintainers; [ mdaiter ]; + # 20190414-174115: CMake cannot find CGAL which is passed as build input + broken = true; }; } diff --git a/pkgs/applications/science/misc/rink/default.nix b/pkgs/applications/science/misc/rink/default.nix index 0ccb096b8da..daa8b494322 100644 --- a/pkgs/applications/science/misc/rink/default.nix +++ b/pkgs/applications/science/misc/rink/default.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec { }; cargoPatches = [ ./cargo-lock.patch ]; - cargoSha256 = "0xmmxm7zwmq7w0pspx17glg4mjgh9l61w0h2k7n97x6p35i198d1"; + cargoSha256 = "1ijfvfhgjgzlpi1hjhy435m7vq568grh84bmkdlj3m83jxjcz874"; buildInputs = [ pkgconfig ]; propagatedBuildInputs = [ openssl gmp ncurses ]; diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix index 1f0fc663647..2145d7e71d3 100644 --- a/pkgs/applications/science/misc/root/5.nix +++ b/pkgs/applications/science/misc/root/5.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl, cmake, pcre, pkgconfig, python2 +{ stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2 , libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lzma, gsl_1 -, Cocoa, OpenGL, cf-private, noSplash ? false }: +, Cocoa, OpenGL, noSplash ? false }: stdenv.mkDerivation rec { - name = "root-${version}"; + pname = "root"; version = "5.34.36"; src = fetchurl { @@ -14,16 +14,35 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cmake pcre python2 zlib libxml2 lzma gsl_1 ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ] - ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL cf-private ] + ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ] ; patches = [ ./sw_vers_root5.patch + + (fetchpatch { + name = "enable_new_gcc.patch"; + url = "https://aur.archlinux.org/cgit/aur.git/plain/enable_new_gcc.patch?h=root5&id=91c50876081a0af36f84ec4f0f9dba869107fa4f"; + sha256 = "1rnp0xlw0yqi7mjs4w145njd79i8kkir1qik7zwicdik9axf8ygm"; + }) + + # prevents rootcint from looking in /usr/includes and such + ./purify_include_paths_root5.patch + + # disable dictionary generation for stuff that includes libc headers + # our glibc requires a modern compiler + ./disable_libc_dicts_root5.patch ]; preConfigure = '' patchShebangs build/unix/ ln -s ${stdenv.lib.getDev stdenv.cc.libc}/include/AvailabilityMacros.h cint/cint/include/ + '' + # Fix CINTSYSDIR for "build" version of rootcint + # This is probably a bug that breaks out-of-source builds + + '' + substituteInPlace cint/cint/src/loadfile.cxx\ + --replace 'env = "cint";' 'env = "'`pwd`'/cint";' '' + stdenv.lib.optionalString noSplash '' substituteInPlace rootx/src/rootx.cxx --replace "gNoLogo = false" "gNoLogo = true" ''; @@ -73,8 +92,5 @@ stdenv.mkDerivation rec { description = "A data analysis framework"; platforms = platforms.unix; maintainers = with maintainers; [ veprbl ]; - # needs to be adapted to work with modern glibc - # it works on darwin by impurely picking up system's libc headers - broken = stdenv.isLinux; }; } diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix index 8b9573ce4e8..690dc920d5c 100644 --- a/pkgs/applications/science/misc/root/default.nix +++ b/pkgs/applications/science/misc/root/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchurl, cmake, pcre, pkgconfig, python2 , libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lz4, lzma, gsl, xxHash -, Cocoa, OpenGL, cf-private, noSplash ? false }: +, Cocoa, OpenGL, noSplash ? false }: stdenv.mkDerivation rec { - name = "root-${version}"; + pname = "root"; version = "6.12.06"; src = fetchurl { @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cmake pcre python2 zlib libxml2 lz4 lzma gsl xxHash ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ] - ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL cf-private ] + ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ] ; patches = [ diff --git a/pkgs/applications/science/misc/root/disable_libc_dicts_root5.patch b/pkgs/applications/science/misc/root/disable_libc_dicts_root5.patch new file mode 100644 index 00000000000..abd6222847e --- /dev/null +++ b/pkgs/applications/science/misc/root/disable_libc_dicts_root5.patch @@ -0,0 +1,27 @@ +diff --git a/cint/ROOT/CMakeLists.txt b/cint/ROOT/CMakeLists.txt +--- a/cint/ROOT/CMakeLists.txt ++++ b/cint/ROOT/CMakeLists.txt +@@ -47,21 +47,13 @@ set(CINTSTLDLLHEADERS + ${CMAKE_SOURCE_DIR}/cint/cint/lib/stdstrct/stdcxxfunc.h + ) + set(CINTINCDLLNAMES +- stdfunc ++# stdfunc + # stdcxxfunc + ) + set(CINTINCDLLHEADERS +- ${CMAKE_SOURCE_DIR}/cint/cint/lib/stdstrct/stdfunc.h ++# ${CMAKE_SOURCE_DIR}/cint/cint/lib/stdstrct/stdfunc.h + # ${CMAKE_SOURCE_DIR}/cint/cint/lib/stdstrct/stdcxxfunc.h + ) +-if(NOT WIN32) +- set(CINTSTLDLLNAMES ${CINTSTLDLLNAMES} valarray) +- set(CINTSTLDLLHEADERS ${CINTSTLDLLHEADERS} ${CINTDLLDIR}/vary.h) +- set(CINTINCDLLNAMES ${CINTINCDLLNAMES} posix ipc) +- set(CINTINCDLLHEADERS ${CINTINCDLLHEADERS} +- ${CMAKE_SOURCE_DIR}/cint/cint/lib/posix/exten.h +- ${CMAKE_SOURCE_DIR}/cint/cint/lib/ipc/ipcif.h) +-endif() + + set(CINTBUILDLOADER + vector diff --git a/pkgs/applications/science/misc/root/purify_include_paths_root5.patch b/pkgs/applications/science/misc/root/purify_include_paths_root5.patch new file mode 100644 index 00000000000..6773603b8ad --- /dev/null +++ b/pkgs/applications/science/misc/root/purify_include_paths_root5.patch @@ -0,0 +1,204 @@ +diff --git a/cint/cint/src/loadfile.cxx b/cint/cint/src/loadfile.cxx +--- a/cint/cint/src/loadfile.cxx ++++ b/cint/cint/src/loadfile.cxx +@@ -1365,92 +1365,6 @@ int G__statfilename(const char *filenamein, struct stat *statBuf, + } + } + #endif /* G__EDU_VERSION */ +- +-#ifdef G__VISUAL +- /********************************************** +- * try /msdev/include +- **********************************************/ +- if('\0'!=G__cintsysdir[0]) { +- workname.Format("/msdev/include/%s%s",filename(),addpost[i2]); +- res = stat( workname, statBuf ); +- if (res==0) { +- if (fullPath) fullPath->Swap(workname); +- return res; +- } +- } +-#endif /* G__VISUAL */ +- +-#ifdef G__SYMANTEC +- /********************************************** +- * try /sc/include +- **********************************************/ +- if('\0'!=G__cintsysdir[0]) { +- workname.Format("/sc/include/%s%s",filename(),addpost[i2]); +- res = stat( workname, statBuf ); +- if (res==0) { +- if (fullPath) fullPath->Swap(workname); +- return res; +- } +- } +-#endif // G__SYMANTEC +- +-#ifndef G__WIN32 +- /********************************************** +- * try /usr/include/filename +- **********************************************/ +- if('\0'!=G__cintsysdir[0]) { +- workname.Format("/usr/include/%s%s",filename(),addpost[i2]); +- res = stat( workname, statBuf ); +- if (res==0) { +- if (fullPath) fullPath->Swap(workname); +- return res; +- } +- } +-#endif +- +-#ifdef __GNUC__ +- /********************************************** +- * try /usr/include/g++/filename +- **********************************************/ +- if('\0'!=G__cintsysdir[0]) { +- workname.Format("/usr/include/g++/%s%s",filename(),addpost[i2]); +- res = stat( workname, statBuf ); +- if (res==0) { +- if (fullPath) fullPath->Swap(workname); +- return res; +- } +- } +-#endif /* __GNUC__ */ +- +-#ifndef G__WIN32 +- /* #ifdef __hpux */ +- /********************************************** +- * try /usr/include/CC/filename +- **********************************************/ +- if('\0'!=G__cintsysdir[0]) { +- workname.Format("/usr/include/CC/%s%s",filename(),addpost[i2]); +- res = stat( workname, statBuf ); +- if (res==0) { +- if (fullPath) fullPath->Swap(workname); +- return res; +- } +- } +-#endif +- +-#ifndef G__WIN32 +- /********************************************** +- * try /usr/include/codelibs/filename +- **********************************************/ +- if('\0'!=G__cintsysdir[0]) { +- workname.Format("/usr/include/codelibs/%s%s" +- ,filename(),addpost[i2]); +- res = stat( workname, statBuf ); +- if (res==0) { +- if (fullPath) fullPath->Swap(workname); +- return res; +- } +- } +-#endif + } + return -1; + } +@@ -1960,107 +1874,6 @@ int G__loadfile(const char *filenamein) + } + if(G__ifile.fp) break; + #endif /* G__EDU_VERSION */ +- +-#ifdef G__VISUAL +- /********************************************** +- * try /msdev/include +- **********************************************/ +- if('\0'!=G__cintsysdir[0]) { +- G__snprintf(G__ifile.name,G__MAXFILENAME,"/msdev/include/%s%s",filename(),addpost[i2]); +-#ifndef G__WIN32 +- G__ifile.fp = fopen(G__ifile.name,"r"); +-#else +- G__ifile.fp = fopen(G__ifile.name,"rb"); +-#endif +- G__globalcomp=G__store_globalcomp; +- } +- if(G__ifile.fp) break; +-#endif /* G__VISUAL */ +- +-#ifdef G__SYMANTEC +- /********************************************** +- * try /sc/include +- **********************************************/ +- if('\0'!=G__cintsysdir[0]) { +- G__snprintf(G__ifile.name,G__MAXFILENAME,"/sc/include/%s%s",filename(),addpost[i2]); +-#ifndef G__WIN32 +- G__ifile.fp = fopen(G__ifile.name,"r"); +-#else +- G__ifile.fp = fopen(G__ifile.name,"rb"); +-#endif +- G__globalcomp=G__store_globalcomp; +- } +- if(G__ifile.fp) break; +-#endif /* G__SYMANTEC */ +- +-#ifndef G__WIN32 +- /********************************************** +- * try /usr/include/filename +- **********************************************/ +- if('\0'!=G__cintsysdir[0]) { +- G__snprintf(G__ifile.name,G__MAXFILENAME,"/usr/include/%s%s",filename(),addpost[i2]); +-#ifndef G__WIN32 +- G__ifile.fp = fopen(G__ifile.name,"r"); +-#else +- G__ifile.fp = fopen(G__ifile.name,"rb"); +-#endif +- G__globalcomp=G__store_globalcomp; +- } +- if(G__ifile.fp) break; +-#endif +- +-#ifdef __GNUC__ +- /********************************************** +- * try /usr/include/g++/filename +- **********************************************/ +- if('\0'!=G__cintsysdir[0]) { +- G__snprintf(G__ifile.name,G__MAXFILENAME,"/usr/include/g++/%s%s",filename(),addpost[i2]); +-#ifndef G__WIN32 +- G__ifile.fp = fopen(G__ifile.name,"r"); +-#else +- G__ifile.fp = fopen(G__ifile.name,"rb"); +-#endif +- G__globalcomp=G__store_globalcomp; +- } +- if(G__ifile.fp) break; +-#endif /* __GNUC__ */ +- +-#ifndef G__WIN32 +-/* #ifdef __hpux */ +- /********************************************** +- * try /usr/include/CC/filename +- **********************************************/ +- if('\0'!=G__cintsysdir[0]) { +- G__snprintf(G__ifile.name,G__MAXFILENAME,"/usr/include/CC/%s%s",filename(),addpost[i2]); +-#ifndef G__WIN32 +- G__ifile.fp = fopen(G__ifile.name,"r"); +-#else +- G__ifile.fp = fopen(G__ifile.name,"rb"); +-#endif +- G__globalcomp=G__store_globalcomp; +- } +- if(G__ifile.fp) break; +-/* #endif __hpux */ +-#endif +- +-#ifndef G__WIN32 +-/* #ifdef __hpux */ +- /********************************************** +- * try /usr/include/codelibs/filename +- **********************************************/ +- if('\0'!=G__cintsysdir[0]) { +- G__snprintf(G__ifile.name,G__MAXFILENAME,"/usr/include/codelibs/%s%s" +- ,filename(),addpost[i2]); +-#ifndef G__WIN32 +- G__ifile.fp = fopen(G__ifile.name,"r"); +-#else +- G__ifile.fp = fopen(G__ifile.name,"rb"); +-#endif +- G__globalcomp=G__store_globalcomp; +- } +- if(G__ifile.fp) break; +-/* #endif __hpux */ +-#endif + } + } + diff --git a/pkgs/applications/science/misc/simgrid/default.nix b/pkgs/applications/science/misc/simgrid/default.nix index 258073e4080..d6e3f05e0e1 100644 --- a/pkgs/applications/science/misc/simgrid/default.nix +++ b/pkgs/applications/science/misc/simgrid/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, perl, python3, boost, valgrind +{ stdenv, fetchFromGitLab, cmake, perl, python3, boost, valgrind # Optional requirements # Lua 5.3 needed and not available now #, luaSupport ? false, lua5 @@ -17,14 +17,15 @@ let in stdenv.mkDerivation rec { - name = "simgrid-${version}"; - version = "3.21"; + pname = "simgrid"; + version = "3.23"; - src = fetchFromGitHub { - owner = "simgrid"; - repo = "simgrid"; - rev = "v${replaceChars ["."] ["_"] version}"; - sha256 = "1v0dwlww2wl56ms8lvg5zwffzbmz3sjzpkqc73f714mrc9g02bxs"; + src = fetchFromGitLab { + domain = "framagit.org"; + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "068xg5ps4j4v2sqqyl4vf83nfazp54gsy84gvlw52h94c4mj4xmp"; }; nativeBuildInputs = [ cmake perl python3 boost valgrind ] @@ -52,7 +53,7 @@ stdenv.mkDerivation rec { # - lua53: for enable_lua # # For more information see: - # http://simgrid.gforge.inria.fr/simgrid/latest/doc/install.html#install_cmake_list + # https://simgrid.org/doc/3.22/Installing_SimGrid.html#simgrid-compilation-options) cmakeFlags= '' -Denable_documentation=${optionOnOff buildDocumentation} -Denable_java=${optionOnOff buildJavaBindings} @@ -84,12 +85,11 @@ stdenv.mkDerivation rec { doCheck = true; - checkPhase = '' - runHook preCheck - - ctest -j $NIX_BUILD_CORES --output-on-failure -E smpi-replay-multiple - - runHook postCheck + # Prevent the execution of tests known to fail. + preCheck = '' + cat <CTestCustom.cmake + SET(CTEST_CUSTOM_TESTS_IGNORE smpi-replay-multiple) + EOW ''; enableParallelBuilding = true; @@ -104,9 +104,9 @@ stdenv.mkDerivation rec { scheduling on distributed computing platforms ranging from simple network of workstations to Computational Grids. ''; - homepage = http://simgrid.gforge.inria.fr/; + homepage = https://simgrid.org/; license = licenses.lgpl2Plus; - maintainers = with maintainers; [ mickours ]; + maintainers = with maintainers; [ mickours mpoquet ]; platforms = ["x86_64-linux"]; }; } diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix index 6f04d436877..751f3c3aebe 100644 --- a/pkgs/applications/science/misc/snakemake/default.nix +++ b/pkgs/applications/science/misc/snakemake/default.nix @@ -5,13 +5,14 @@ python.buildPythonPackage rec { pname = "snakemake"; - version = "5.2.2"; + version = "5.4.4"; propagatedBuildInputs = with python; [ appdirs ConfigArgParse datrie docutils + GitPython jsonschema pyyaml ratelimiter @@ -21,7 +22,7 @@ python.buildPythonPackage rec { src = python.fetchPypi { inherit pname version; - sha256 = "adffe7e24b4a613a9e8bf0a2a320b3cea236d86afb9132bb0bbbc08b8e35a3a3"; + sha256 = "157323e0e1be34302edbbf399b2acbe25a4291bceffd47a0469963a970c9375f"; }; doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json diff --git a/pkgs/applications/science/misc/tulip/default.nix b/pkgs/applications/science/misc/tulip/default.nix index 7db2e6a12c2..509cdeaee61 100644 --- a/pkgs/applications/science/misc/tulip/default.nix +++ b/pkgs/applications/science/misc/tulip/default.nix @@ -1,13 +1,14 @@ { fetchurl, stdenv, libxml2, freetype, libGLU_combined, glew, qt4 , cmake, makeWrapper, libjpeg, python }: -let version = "5.1.0"; in +let version = "5.2.1"; in stdenv.mkDerivation rec { - name = "tulip-${version}"; + pname = "tulip"; + inherit version; src = fetchurl { - url = "mirror://sourceforge/auber/${name}_src.tar.gz"; - sha256 = "1i70y8b39gkpxfalr9844pa3l4bnnyw5y7ngxdqibil96k2b9q9h"; + url = "mirror://sourceforge/auber/${pname}-${version}_src.tar.gz"; + sha256 = "0bqmqy6sri87a8xv5xf7ffaq5zin4hiaa13g0l64b84i7yckfwky"; }; buildInputs = [ libxml2 freetype glew libGLU_combined qt4 libjpeg python ]; diff --git a/pkgs/applications/science/molecular-dynamics/dl-poly-classic/default.nix b/pkgs/applications/science/molecular-dynamics/dl-poly-classic/default.nix index 1986f3b75ec..c7692dde13a 100644 --- a/pkgs/applications/science/molecular-dynamics/dl-poly-classic/default.nix +++ b/pkgs/applications/science/molecular-dynamics/dl-poly-classic/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { version = "1.10"; - name = "DL_POLY_Classic-${version}"; + pname = "DL_POLY_Classic"; src = fetchurl { url = "https://ccpforge.cse.rl.ac.uk/gf/download/frsrelease/574/8924/dl_class_1.10.tar.gz"; diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix index a682d59ab23..d00b59307c5 100644 --- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix +++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation { - name = "gromacs-2019"; + name = "gromacs-2019.3"; src = fetchurl { - url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2019.tar.gz"; - sha256 = "02qd27pgc5kwkk68m8hwarkbb1b9z5rdrm67yjqyxd5my2jq3cn5"; + url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2019.3.tar.gz"; + sha256 = "0wvm6lj4hbasl2qkjcpicqjh7abxji4196dd2hmwlyivpycaa4a2"; }; buildInputs = [cmake fftw] diff --git a/pkgs/applications/science/molecular-dynamics/lammps/default.nix b/pkgs/applications/science/molecular-dynamics/lammps/default.nix index f4491053e4c..83f8b88ba31 100644 --- a/pkgs/applications/science/molecular-dynamics/lammps/default.nix +++ b/pkgs/applications/science/molecular-dynamics/lammps/default.nix @@ -13,7 +13,7 @@ in stdenv.mkDerivation rec { # LAMMPS has weird versioning converted to ISO 8601 format version = "stable_22Aug2018"; - name = "lammps-${version}"; + pname = "lammps"; src = fetchFromGitHub { owner = "lammps"; diff --git a/pkgs/applications/science/physics/quantomatic/default.nix b/pkgs/applications/science/physics/quantomatic/default.nix index ad86ff61471..b22b9d412fd 100644 --- a/pkgs/applications/science/physics/quantomatic/default.nix +++ b/pkgs/applications/science/physics/quantomatic/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, jre, makeWrapper }: stdenv.mkDerivation rec { - name = "quantomatic-${version}"; + pname = "quantomatic"; version = "0.7"; src = fetchurl { diff --git a/pkgs/applications/science/physics/sacrifice/default.nix b/pkgs/applications/science/physics/sacrifice/default.nix index 64b88dcc3d4..dd092a2ce9a 100644 --- a/pkgs/applications/science/physics/sacrifice/default.nix +++ b/pkgs/applications/science/physics/sacrifice/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchurl, boost, hepmc, lhapdf, pythia, makeWrapper }: +{ stdenv, fetchurl, boost, hepmc2, lhapdf, pythia, makeWrapper }: stdenv.mkDerivation rec { - name = "sacrifice-${version}"; + pname = "sacrifice"; version = "1.0.0"; src = fetchurl { @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "10bvpq63kmszy1habydwncm0j1dgvam0fkrmvkgbkvf804dcjp6g"; }; - buildInputs = [ boost hepmc lhapdf pythia ]; + buildInputs = [ boost hepmc2 lhapdf pythia ]; nativeBuildInputs = [ makeWrapper ]; patches = [ @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { ''; configureFlags = [ - "--with-HepMC=${hepmc}" + "--with-HepMC=${hepmc2}" "--with-pythia=${pythia}" ]; diff --git a/pkgs/applications/science/physics/sherpa/default.nix b/pkgs/applications/science/physics/sherpa/default.nix index 7cb3e8881ca..045a77cea27 100644 --- a/pkgs/applications/science/physics/sherpa/default.nix +++ b/pkgs/applications/science/physics/sherpa/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchurl, gfortran, hepmc, fastjet, lhapdf, rivet, sqlite }: +{ stdenv, fetchurl, gfortran, hepmc2, fastjet, lhapdf, rivet, sqlite }: stdenv.mkDerivation rec { - name = "sherpa-${version}"; + pname = "sherpa"; version = "2.2.6"; src = fetchurl { @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-sqlite3=${sqlite.dev}" - "--enable-hepmc2=${hepmc}" + "--enable-hepmc2=${hepmc2}" "--enable-fastjet=${fastjet}" "--enable-lhapdf=${lhapdf}" "--enable-rivet=${rivet}" diff --git a/pkgs/applications/science/physics/xfitter/default.nix b/pkgs/applications/science/physics/xfitter/default.nix index ae5307f155b..2af93961e02 100644 --- a/pkgs/applications/science/physics/xfitter/default.nix +++ b/pkgs/applications/science/physics/xfitter/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, apfel, apfelgrid, applgrid, blas, gfortran, lhapdf, liblapack, libyaml, lynx, mela, root5, qcdnum, which }: stdenv.mkDerivation rec { - name = "xfitter-${version}"; + pname = "xfitter"; version = "2.0.0"; src = fetchurl { - name = "${name}.tgz"; - url = "https://www.xfitter.org/xFitter/xFitter/DownloadPage?action=AttachFile&do=get&target=${name}.tgz"; + name = "${pname}-${version}.tgz"; + url = "https://www.xfitter.org/xFitter/xFitter/DownloadPage?action=AttachFile&do=get&target=${pname}-${version}.tgz"; sha256 = "0j47s8laq3aqjlgp769yicvgyzqjb738a3rqss51d9fjrihi2515"; }; diff --git a/pkgs/applications/science/programming/groove/default.nix b/pkgs/applications/science/programming/groove/default.nix new file mode 100644 index 00000000000..e854f20d39a --- /dev/null +++ b/pkgs/applications/science/programming/groove/default.nix @@ -0,0 +1,54 @@ +{ stdenv, fetchurl, unzip, makeWrapper, makeDesktopItem, icoutils, jre }: + +let + desktopItem = makeDesktopItem { + name = "groove-simulator"; + exec = "groove-simulator"; + icon = "groove"; + desktopName = "GROOVE Simulator"; + comment = "GRaphs for Object-Oriented VErification"; + categories = "Science;ComputerScience;"; + }; + +in stdenv.mkDerivation rec { + pname = "groove"; + version = "5.7.4"; + + src = fetchurl { + url = "mirror://sourceforge/groove/groove/${version}/${pname}-${builtins.replaceStrings ["."] ["_"] version}-bin.zip"; + sha256 = "1cl3xzl3n8b9a7h5pvnv31bab9j9zaw07ppk8whk8h865dcq1d10"; + }; + + nativeBuildInputs = [ unzip makeWrapper icoutils ]; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/share/groove + cp -r bin lib $out/share/groove/ + + mkdir -p $out/share/doc/groove + cp CHANGES README *.pdf $out/share/doc/groove/ + + mkdir -p $out/bin + for bin in Generator Imager ModelChecker PrologChecker Simulator Viewer; do + makeWrapper ${jre}/bin/java $out/bin/groove-''${bin,,} \ + --add-flags "-jar $out/share/groove/bin/$bin.jar" + done + + mkdir -p $out/share/applications + ln -s ${desktopItem}/share/applications/* $out/share/applications/ + + mkdir -p $out/share/icons/hicolor/{16x16,32x32}/apps + icotool -x -i 1 -o $out/share/icons/hicolor/32x32/apps/groove.png groove-green-g.ico + icotool -x -i 2 -o $out/share/icons/hicolor/16x16/apps/groove.png groove-green-g.ico + ''; + + meta = with stdenv.lib; { + description = "GRaphs for Object-Oriented VErification"; + homepage = http://groove.cs.utwente.nl/; + license = licenses.asl20; + platforms = platforms.all; + maintainers = with maintainers; [ jfrankenau ]; + }; +} diff --git a/pkgs/applications/science/programming/plm/default.nix b/pkgs/applications/science/programming/plm/default.nix index c454ad37768..ebfb6471c63 100644 --- a/pkgs/applications/science/programming/plm/default.nix +++ b/pkgs/applications/science/programming/plm/default.nix @@ -6,12 +6,12 @@ stdenv.mkDerivation rec { major = "2"; minor = "5"; version = "${major}-${minor}"; - name = "plm-${version}"; + pname = "plm"; src = fetchurl { url = "http://webloria.loria.fr/~quinson/Teaching/PLM/plm-${major}_${minor}.jar"; sha256 = "0m17cxa3nxi2cbswqvlfzp0mlfi3wrkw8ry2xhkxy6aqzm2mlgcc"; - name = "${name}.jar"; + name = "${pname}-${version}.jar"; }; buildInputs = [ makeWrapper jre gcc valgrind ]; diff --git a/pkgs/applications/science/programming/scyther/cli.nix b/pkgs/applications/science/programming/scyther/cli.nix index 152b7121774..6623f5def4c 100644 --- a/pkgs/applications/science/programming/scyther/cli.nix +++ b/pkgs/applications/science/programming/scyther/cli.nix @@ -1,7 +1,8 @@ { stdenv, glibc, flex, bison, cmake , version, src, meta }: stdenv.mkDerivation { - name = "scyther-cli-${version}"; + pname = "scyther-cli"; + inherit version; inherit src meta; diff --git a/pkgs/applications/science/programming/scyther/default.nix b/pkgs/applications/science/programming/scyther/default.nix index e0993a58019..b4daae1afc0 100644 --- a/pkgs/applications/science/programming/scyther/default.nix +++ b/pkgs/applications/science/programming/scyther/default.nix @@ -25,7 +25,8 @@ let }; gui = stdenv.mkDerivation { - name = "scyther-gui-${version}"; + pname = "scyther-gui"; + inherit version; inherit src meta; buildInputs = [ python27Packages.wrapPython diff --git a/pkgs/applications/science/robotics/apmplanner2/default.nix b/pkgs/applications/science/robotics/apmplanner2/default.nix index 2d579a80369..ecbf0c703f1 100644 --- a/pkgs/applications/science/robotics/apmplanner2/default.nix +++ b/pkgs/applications/science/robotics/apmplanner2/default.nix @@ -1,23 +1,32 @@ -{ stdenv, fetchFromGitHub, qmake +{ lib, mkDerivation, fetchFromGitHub, fetchpatch, qmake , qtbase, qtscript, qtwebkit, qtserialport, qtsvg, qtdeclarative, qtquickcontrols2 , alsaLib, libsndfile, flite, openssl, udev, SDL2 }: -stdenv.mkDerivation rec { - name = "apmplanner2-${version}"; - version = "2.0.26"; +mkDerivation rec { + pname = "apmplanner2"; + version = "2.0.27-rc1"; + src = fetchFromGitHub { owner = "ArduPilot"; repo = "apm_planner"; rev = "${version}"; - sha256 = "0bnyi1r8k8ij5sq2zqv7mfbrxm0xdw97qrx3sk4rinqv2g6h6di4"; + sha256 = "1k0786mjzi49nb6yw4chh9l4dmkf9gybpxg9zqkr5yg019nyzcvd"; }; - qtInputs = [ + patches = [ + # can be dropped after 2.0.27-rc1 + (fetchpatch { + url = "https://github.com/ArduPilot/apm_planner/commit/299ff23b5e9910de04edfc06b6893bb06b47a57b.patch"; + sha256 = "16rc81iwqp2i46g6bm9lbvcjfsk83999r9h8w1pz0mys7rsilvqy"; + }) + ]; + + buildInputs = [ + alsaLib libsndfile flite openssl udev SDL2 qtbase qtscript qtwebkit qtserialport qtsvg qtdeclarative qtquickcontrols2 ]; - buildInputs = [ alsaLib libsndfile flite openssl udev SDL2 ] ++ qtInputs; nativeBuildInputs = [ qmake ]; qmakeFlags = [ "apm_planner.pro" ]; @@ -28,7 +37,7 @@ stdenv.mkDerivation rec { substituteInPlace $out/share/applications/apmplanner2.desktop \ --replace /usr $out ''; - + enableParallelBuilding = true; meta = { @@ -38,7 +47,7 @@ stdenv.mkDerivation rec { Includes support for the APM and PX4 based controllers. ''; homepage = http://ardupilot.org/planner2/; - license = stdenv.lib.licenses.gpl3; - maintainers = [ stdenv.lib.maintainers.wucke13 ]; + license = lib.licenses.gpl3; + maintainers = with lib.maintainers; [ wucke13 ]; }; } diff --git a/pkgs/applications/science/robotics/betaflight-configurator/default.nix b/pkgs/applications/science/robotics/betaflight-configurator/default.nix new file mode 100644 index 00000000000..6449e966959 --- /dev/null +++ b/pkgs/applications/science/robotics/betaflight-configurator/default.nix @@ -0,0 +1,50 @@ +{stdenv, fetchurl, unzip, makeDesktopItem, nwjs, wrapGAppsHook, gsettings-desktop-schemas, gtk3 }: + +let + strippedName = "betaflight-configurator"; + desktopItem = makeDesktopItem { + name = strippedName; + exec = strippedName; + icon = "${strippedName}-icon.png"; + comment = "Betaflight configuration tool"; + desktopName = "Betaflight Configurator"; + genericName = "Flight controller configuration tool"; + }; +in +stdenv.mkDerivation rec { + name = "${strippedName}-${version}"; + version = "10.5.1"; + src = fetchurl { + url = "https://github.com/betaflight/betaflight-configurator/releases/download/${version}/${strippedName}_${version}_linux64.zip"; + sha256 = "1l4blqgaqfrnydk05q6pwdqdhcly2f8nwzrv0749cqmfiinh8ygc"; + }; + + nativeBuildInputs = [ wrapGAppsHook ]; + + buildInputs = [ unzip gsettings-desktop-schemas gtk3 ]; + + installPhase = '' + mkdir -p $out/bin \ + $out/opt/${strippedName} \ + $out/share/icons + + cp -r . $out/opt/${strippedName}/ + cp icon/*_icon_128.png $out/share/icons/${strippedName}-icon.png + cp -r ${desktopItem}/share/applications $out/share/ + + makeWrapper ${nwjs}/bin/nw $out/bin/${strippedName} --add-flags $out/opt/${strippedName} + ''; + + meta = with stdenv.lib; { + description = "The Betaflight flight control system configuration tool"; + longDescription = '' + A crossplatform configuration tool for the Betaflight flight control system. + Various types of aircraft are supported by the tool and by Betaflight, e.g. + quadcopters, hexacopters, octocopters and fixed-wing aircraft. + ''; + homepage = https://github.com/betaflight/betaflight/wiki; + license = licenses.gpl3; + maintainers = with maintainers; [ wucke13 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/science/robotics/gazebo/default.nix b/pkgs/applications/science/robotics/gazebo/default.nix index 98ccd92c4ee..a3ebda463b9 100644 --- a/pkgs/applications/science/robotics/gazebo/default.nix +++ b/pkgs/applications/science/robotics/gazebo/default.nix @@ -24,10 +24,10 @@ stdenv.mkDerivation rec { inherit version; - name = "gazebo-${version}"; + pname = "gazebo"; src = fetchurl { - url = "https://osrf-distributions.s3.amazonaws.com/gazebo/releases/${name}.tar.bz2"; + url = "https://osrf-distributions.s3.amazonaws.com/gazebo/releases/${pname}-${version}.tar.bz2"; sha256 = src-sha256; }; diff --git a/pkgs/applications/science/robotics/qgroundcontrol/0001-fix-gcc-cmath-namespace-issues.patch b/pkgs/applications/science/robotics/qgroundcontrol/0001-fix-gcc-cmath-namespace-issues.patch deleted file mode 100644 index e6c9ca38a98..00000000000 --- a/pkgs/applications/science/robotics/qgroundcontrol/0001-fix-gcc-cmath-namespace-issues.patch +++ /dev/null @@ -1,140 +0,0 @@ -From fffc383c10c7c194e427d78c83802c3b910fa1c2 Mon Sep 17 00:00:00 2001 -From: Patrick Callahan -Date: Thu, 24 Mar 2016 18:17:57 -0700 -Subject: [PATCH] fix gcc cmath namespace issues - ---- - src/Vehicle/Vehicle.cc | 6 +++--- - src/comm/QGCFlightGearLink.cc | 4 ++-- - src/comm/QGCJSBSimLink.cc | 4 ++-- - src/uas/UAS.cc | 8 ++++---- - src/ui/QGCDataPlot2D.cc | 4 ++-- - 5 files changed, 13 insertions(+), 13 deletions(-) - -diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc -index a0d3605..205b1de 100644 ---- a/src/Vehicle/Vehicle.cc -+++ b/src/Vehicle/Vehicle.cc -@@ -638,17 +638,17 @@ void Vehicle::setLongitude(double longitude){ - - void Vehicle::_updateAttitude(UASInterface*, double roll, double pitch, double yaw, quint64) - { -- if (isinf(roll)) { -+ if (std::isinf(roll)) { - _rollFact.setRawValue(0); - } else { - _rollFact.setRawValue(roll * (180.0 / M_PI)); - } -- if (isinf(pitch)) { -+ if (std::isinf(pitch)) { - _pitchFact.setRawValue(0); - } else { - _pitchFact.setRawValue(pitch * (180.0 / M_PI)); - } -- if (isinf(yaw)) { -+ if (std::isinf(yaw)) { - _headingFact.setRawValue(0); - } else { - yaw = yaw * (180.0 / M_PI); -diff --git a/src/comm/QGCFlightGearLink.cc b/src/comm/QGCFlightGearLink.cc -index 2a520fb..886aecf 100644 ---- a/src/comm/QGCFlightGearLink.cc -+++ b/src/comm/QGCFlightGearLink.cc -@@ -230,7 +230,7 @@ void QGCFlightGearLink::updateControls(quint64 time, float rollAilerons, float p - Q_UNUSED(systemMode); - Q_UNUSED(navMode); - -- if(!isnan(rollAilerons) && !isnan(pitchElevator) && !isnan(yawRudder) && !isnan(throttle)) -+ if(!std::isnan(rollAilerons) && !std::isnan(pitchElevator) && !std::isnan(yawRudder) && !std::isnan(throttle)) - { - QString state("%1\t%2\t%3\t%4\t%5\n"); - state = state.arg(rollAilerons).arg(pitchElevator).arg(yawRudder).arg(true).arg(throttle); -@@ -240,7 +240,7 @@ void QGCFlightGearLink::updateControls(quint64 time, float rollAilerons, float p - } - else - { -- qDebug() << "HIL: Got NaN values from the hardware: isnan output: roll: " << isnan(rollAilerons) << ", pitch: " << isnan(pitchElevator) << ", yaw: " << isnan(yawRudder) << ", throttle: " << isnan(throttle); -+ qDebug() << "HIL: Got NaN values from the hardware: std::isnan output: roll: " << std::isnan(rollAilerons) << ", pitch: " << std::isnan(pitchElevator) << ", yaw: " << std::isnan(yawRudder) << ", throttle: " << std::isnan(throttle); - } - } - -diff --git a/src/comm/QGCJSBSimLink.cc b/src/comm/QGCJSBSimLink.cc -index 1210621..89db371 100644 ---- a/src/comm/QGCJSBSimLink.cc -+++ b/src/comm/QGCJSBSimLink.cc -@@ -242,7 +242,7 @@ void QGCJSBSimLink::updateControls(quint64 time, float rollAilerons, float pitch - Q_UNUSED(systemMode); - Q_UNUSED(navMode); - -- if(!isnan(rollAilerons) && !isnan(pitchElevator) && !isnan(yawRudder) && !isnan(throttle)) -+ if(!std::isnan(rollAilerons) && !std::isnan(pitchElevator) && !std::isnan(yawRudder) && !std::isnan(throttle)) - { - QString state("%1\t%2\t%3\t%4\t%5\n"); - state = state.arg(rollAilerons).arg(pitchElevator).arg(yawRudder).arg(true).arg(throttle); -@@ -250,7 +250,7 @@ void QGCJSBSimLink::updateControls(quint64 time, float rollAilerons, float pitch - } - else - { -- qDebug() << "HIL: Got NaN values from the hardware: isnan output: roll: " << isnan(rollAilerons) << ", pitch: " << isnan(pitchElevator) << ", yaw: " << isnan(yawRudder) << ", throttle: " << isnan(throttle); -+ qDebug() << "HIL: Got NaN values from the hardware: isnan output: roll: " << std::isnan(rollAilerons) << ", pitch: " << std::isnan(pitchElevator) << ", yaw: " << std::isnan(yawRudder) << ", throttle: " << std::isnan(throttle); - } - //qDebug() << "Updated controls" << state; - } -diff --git a/src/uas/UAS.cc b/src/uas/UAS.cc -index 4d5c1c2..ac88852 100644 ---- a/src/uas/UAS.cc -+++ b/src/uas/UAS.cc -@@ -558,7 +558,7 @@ void UAS::receiveMessage(mavlink_message_t message) - - setAltitudeAMSL(hud.alt); - setGroundSpeed(hud.groundspeed); -- if (!isnan(hud.airspeed)) -+ if (!std::isnan(hud.airspeed)) - setAirSpeed(hud.airspeed); - speedZ = -hud.climb; - emit altitudeChanged(this, altitudeAMSL, altitudeRelative, -speedZ, time); -@@ -654,7 +654,7 @@ void UAS::receiveMessage(mavlink_message_t message) - - float vel = pos.vel/100.0f; - // Smaller than threshold and not NaN -- if ((vel < 1000000) && !isnan(vel) && !isinf(vel)) { -+ if ((vel < 1000000) && !std::isnan(vel) && !std::isinf(vel)) { - setGroundSpeed(vel); - emit speedChanged(this, groundSpeed, airSpeed, time); - } else { -@@ -1439,8 +1439,8 @@ void UAS::setExternalControlSetpoint(float roll, float pitch, float yaw, float t - if (countSinceLastTransmission++ >= 5) { - sendCommand = true; - countSinceLastTransmission = 0; -- } else if ((!isnan(roll) && roll != manualRollAngle) || (!isnan(pitch) && pitch != manualPitchAngle) || -- (!isnan(yaw) && yaw != manualYawAngle) || (!isnan(thrust) && thrust != manualThrust) || -+ } else if ((!std::isnan(roll) && roll != manualRollAngle) || (!std::isnan(pitch) && pitch != manualPitchAngle) || -+ (!std::isnan(yaw) && yaw != manualYawAngle) || (!std::isnan(thrust) && thrust != manualThrust) || - buttons != manualButtons) { - sendCommand = true; - -diff --git a/src/ui/QGCDataPlot2D.cc b/src/ui/QGCDataPlot2D.cc -index 2e530b2..9d5a774 100644 ---- a/src/ui/QGCDataPlot2D.cc -+++ b/src/ui/QGCDataPlot2D.cc -@@ -535,7 +535,7 @@ void QGCDataPlot2D::loadCsvLog(QString file, QString xAxisName, QString yAxisFil - { - bool okx = true; - x = text.toDouble(&okx); -- if (okx && !isnan(x) && !isinf(x)) -+ if (okx && !std::isnan(x) && !std::isinf(x)) - { - headerfound = true; - } -@@ -561,7 +561,7 @@ void QGCDataPlot2D::loadCsvLog(QString file, QString xAxisName, QString yAxisFil - y = text.toDouble(&oky); - // Only INF is really an issue for the plot - // NaN is fine -- if (oky && !isnan(y) && !isinf(y) && text.length() > 0 && text != " " && text != "\n" && text != "\r" && text != "\t") -+ if (oky && !std::isnan(y) && !std::isinf(y) && text.length() > 0 && text != " " && text != "\n" && text != "\r" && text != "\t") - { - // Only append definitely valid values - xValues.value(curveName)->append(x); --- -2.7.4 - diff --git a/pkgs/applications/science/robotics/qgroundcontrol/default.nix b/pkgs/applications/science/robotics/qgroundcontrol/default.nix index eae5d3766d6..1863757adbc 100644 --- a/pkgs/applications/science/robotics/qgroundcontrol/default.nix +++ b/pkgs/applications/science/robotics/qgroundcontrol/default.nix @@ -6,7 +6,7 @@ }: stdenv.mkDerivation rec { - name = "qgroundcontrol-${version}"; + pname = "qgroundcontrol"; version = "3.3.0"; qtInputs = [ diff --git a/pkgs/applications/science/robotics/sumorobot-manager/default.nix b/pkgs/applications/science/robotics/sumorobot-manager/default.nix new file mode 100644 index 00000000000..68b91dafb73 --- /dev/null +++ b/pkgs/applications/science/robotics/sumorobot-manager/default.nix @@ -0,0 +1,43 @@ +{ stdenv, python3, qt5, fetchFromGitHub, wrapPython, pyqt5, pyserial }: + +stdenv.mkDerivation rec { + pname = "sumorobot-manager"; + version = "0.9.0"; + + src = fetchFromGitHub { + owner = "robokoding"; + repo = pname; + rev = "v${version}"; + sha256 = "03zhb54c259a66hsahmv2ajbzwcjnfjj050wbjhw51zqzxinlgqr"; + }; + + buildInputs = [ python3 ]; + pythonPath = [ + pyqt5 pyserial + ]; + + nativeBuildInputs = [ wrapPython qt5.wrapQtAppsHook ]; + + buildPhase = "true"; + + installPhase = '' + mkdir -p $out/opt/sumorobot-manager + cp -r main.py lib res $out/opt/sumorobot-manager + chmod -R 644 $out/opt/sumorobot-manager/lib/* + mkdir $out/bin + makeQtWrapper $out/opt/sumorobot-manager/main.py $out/bin/sumorobot-manager \ + --run "cd $out/opt/sumorobot-manager" + ''; + + preFixup = '' + patchShebangs $out/opt/sumorobot-manager/main.py + wrapPythonProgramsIn "$out/opt" "$pythonPath" + ''; + + meta = with stdenv.lib; { + description = "Desktop App for managing SumoRobots"; + homepage = "https://www.robokoding.com/kits/sumorobot/sumomanager/"; + license = licenses.mit; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/applications/science/robotics/yarp/default.nix b/pkgs/applications/science/robotics/yarp/default.nix index 507481cddab..d14c0bb0fe8 100644 --- a/pkgs/applications/science/robotics/yarp/default.nix +++ b/pkgs/applications/science/robotics/yarp/default.nix @@ -2,7 +2,7 @@ }: stdenv.mkDerivation rec { - name = "yarp-${version}"; + pname = "yarp"; version = "2.3.70.2"; src = fetchFromGitHub { owner = "robotology"; diff --git a/pkgs/applications/science/spyder/default.nix b/pkgs/applications/science/spyder/default.nix deleted file mode 100644 index 71def712db6..00000000000 --- a/pkgs/applications/science/spyder/default.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ stdenv, python3, makeDesktopItem }: - -python3.pkgs.buildPythonApplication rec { - pname = "spyder"; - version = "3.2.8"; - - src = python3.pkgs.fetchPypi { - inherit pname version; - sha256 = "0iwcby2bxvayz0kp282yh864br55w6gpd8rqcdj1cp3jbn3q6vg5"; - }; - - # Somehow setuptools can't find pyqt5. Maybe because the dist-info folder is missing? - postPatch = '' - sed -i -e '/pyqt5/d' setup.py - ''; - - propagatedBuildInputs = with python3.pkgs; [ - jedi pycodestyle psutil pyflakes rope numpy scipy matplotlib pylint - numpydoc qtconsole qtawesome nbconvert mccabe pyopengl cloudpickle - ]; - - # There is no test for spyder - doCheck = false; - - desktopItem = makeDesktopItem { - name = "Spyder"; - exec = "spyder"; - icon = "spyder"; - comment = "Scientific Python Development Environment"; - desktopName = "Spyder"; - genericName = "Python IDE"; - categories = "Application;Development;Editor;IDE;"; - }; - - # Create desktop item - postInstall = '' - mkdir -p $out/share/icons - cp spyder/images/spyder.svg $out/share/icons - cp -r $desktopItem/share/applications/ $out/share - ''; - - meta = with stdenv.lib; { - description = "Scientific python development environment"; - longDescription = '' - Spyder (previously known as Pydee) is a powerful interactive development - environment for the Python language with advanced editing, interactive - testing, debugging and introspection features. - ''; - homepage = https://github.com/spyder-ide/spyder/; - license = licenses.mit; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/search/catfish/default.nix b/pkgs/applications/search/catfish/default.nix index c2afda2d53d..a0917d03ce1 100644 --- a/pkgs/applications/search/catfish/default.nix +++ b/pkgs/applications/search/catfish/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, file, which, intltool, gobject-introspection, - findutils, xdg_utils, gnome3, pythonPackages, hicolor-icon-theme, + findutils, xdg_utils, gnome3, gtk3, pythonPackages, hicolor-icon-theme, wrapGAppsHook }: @@ -24,7 +24,7 @@ pythonPackages.buildPythonApplication rec { ]; buildInputs = [ - gnome3.gtk + gtk3 gnome3.dconf pythonPackages.pyxdg pythonPackages.ptyprocess diff --git a/pkgs/applications/search/grepcidr/default.nix b/pkgs/applications/search/grepcidr/default.nix index 69fc0e76932..06b2aee0392 100644 --- a/pkgs/applications/search/grepcidr/default.nix +++ b/pkgs/applications/search/grepcidr/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "grepcidr-${version}"; + pname = "grepcidr"; version = "2.0"; src = fetchurl { - url = "http://www.pc-tools.net/files/unix/${name}.tar.gz"; + url = "http://www.pc-tools.net/files/unix/${pname}-${version}.tar.gz"; sha256 = "1yzpa1nigmmp4hir6377hrkpp0z6jnxgccaw2jbqgydbglvnm231"; }; diff --git a/pkgs/applications/search/grepm/default.nix b/pkgs/applications/search/grepm/default.nix index 99c149b79d9..f3fc1e24401 100644 --- a/pkgs/applications/search/grepm/default.nix +++ b/pkgs/applications/search/grepm/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, perlPackages, mutt }: stdenv.mkDerivation rec { - name = "grepm-${version}"; + pname = "grepm"; version = "0.6"; src = fetchurl { diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix index b0ac580d162..06f3733c8f7 100644 --- a/pkgs/applications/search/recoll/default.nix +++ b/pkgs/applications/search/recoll/default.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { Recoll is an Xapian frontend that can search through files, archive members, email attachments. ''; - homepage = http://www.lesbonscomptes.com/recoll/; + homepage = https://www.lesbonscomptes.com/recoll/; license = licenses.gpl2; platforms = platforms.unix; maintainers = [ maintainers.jcumming ]; diff --git a/pkgs/applications/search/recoll/nodeblayout.patch b/pkgs/applications/search/recoll/nodeblayout.patch deleted file mode 100644 index 39988423ae1..00000000000 --- a/pkgs/applications/search/recoll/nodeblayout.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru recoll-1.21.3-orig/recollinstall.in recoll-1.21.3/recollinstall.in ---- recoll-1.21.3-orig/recollinstall.in 2015-09-28 08:08:42.000000000 +0100 -+++ recoll-1.21.3/recollinstall.in 2015-12-13 22:48:30.361776374 +0000 -@@ -45,9 +45,6 @@ - mandir=$DESTDIR/$mandir - ROOTFORPYTHON="--root=${DESTDIR}" - fi --if test -f /etc/debian_version ; then -- OPTSFORPYTHON=--install-layout=deb --fi - - echo "Installing to $PREFIX" diff --git a/pkgs/applications/search/recoll/versionawk.patch b/pkgs/applications/search/recoll/versionawk.patch deleted file mode 100644 index a03ffbc16df..00000000000 --- a/pkgs/applications/search/recoll/versionawk.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru recoll-1.21.3-orig/filters/rclpdf recoll-1.21.3/filters/rclpdf ---- recoll-1.21.3-orig/filters/rclpdf 2015-09-28 08:08:15.000000000 +0100 -+++ recoll-1.21.3/filters/rclpdf 2015-12-14 21:37:01.984945925 +0000 -@@ -129,7 +129,7 @@ - { - # Test poppler version: at some point before 0.24, poppler began - # to properly escape text inside the header (but not the body). -- XYZ=`pdftotext -v 2>&1 | awk '/pdftotext/{print $3}'` -+ XYZ=`pdftotext -v 2>&1 | awk '/version/{print $3}'` - MAJOR=`echo $XYZ | cut -d. -f 1` - MINOR=`echo $XYZ | cut -d. -f 2` - escapeheader=1 diff --git a/pkgs/applications/version-management/bcompare/default.nix b/pkgs/applications/version-management/bcompare/default.nix new file mode 100644 index 00000000000..3dc7792de2a --- /dev/null +++ b/pkgs/applications/version-management/bcompare/default.nix @@ -0,0 +1,66 @@ +{ autoPatchelfHook, bzip2, cairo, coreutils, fetchurl, gdk-pixbuf, gnome2, gtk2, kcoreaddons, ki18n, kio, kservice, lib, qt4, qt511, qtbase, stdenv, runtimeShell }: + +stdenv.mkDerivation rec { + pname = "bcompare"; + version = "4.2.10.23938"; + + src = fetchurl { + url = "https://www.scootersoftware.com/${pname}-${version}_amd64.deb"; + sha256 = "1825s1lbaj20d712czmaaqg7mkwfb650r53af2y30j29p6yd4wal"; + }; + + unpackPhase = '' + ar x $src + tar xfz data.tar.gz + ''; + + installPhase = '' + mkdir -p $out/bin $out/lib $out/share + cp -R usr/share $out/ + cp -R usr/lib $out/ + cp -R usr/bin $out/ + + # Remove library that refuses to be autoPatchelf'ed + rm $out/lib/beyondcompare/ext/bcompare_ext_kde.amd64.so + + substituteInPlace $out/bin/bcompare \ + --replace "/usr/lib/beyondcompare" "$out/lib/beyondcompare" \ + --replace "/bin/bash" "${runtimeShell}" + + # Create symlink bzip2 library + ln -s ${bzip2.out}/lib/libbz2.so.1 $out/lib/beyondcompare/libbz2.so.1.0 + ''; + + nativeBuildInputs = [ autoPatchelfHook ]; + + buildInputs = [ + stdenv.cc.cc.lib + gtk2 + gnome2.pango + cairo + kio + kservice + ki18n + kcoreaddons + gdk-pixbuf + qt4 + bzip2 + ]; + + dontBuild = true; + dontConfigure = true; + + meta = with stdenv.lib; { + description = "GUI application that allows to quickly and easily compare files and folders"; + longDescription = '' + Beyond Compare is focused. Beyond Compare allows you to quickly and easily compare your files and folders. + By using simple, powerful commands you can focus on the differences you're interested in and ignore those you're not. + You can then merge the changes, synchronize your files, and generate reports for your records. + ''; + homepage = "https://www.scootersoftware.com"; + license = licenses.unfree; + maintainers = [ maintainers.ktor ]; + platforms = [ "x86_64-linux" ]; + }; + +} diff --git a/pkgs/applications/version-management/bitkeeper/default.nix b/pkgs/applications/version-management/bitkeeper/default.nix index 26397380d57..e092a604142 100644 --- a/pkgs/applications/version-management/bitkeeper/default.nix +++ b/pkgs/applications/version-management/bitkeeper/default.nix @@ -3,7 +3,7 @@ , libtomcrypt, libtommath, lz4 }: stdenv.mkDerivation rec { - name = "bitkeeper-${version}"; + pname = "bitkeeper"; version = "7.3.1ce"; src = fetchurl { diff --git a/pkgs/applications/version-management/blackbox/default.nix b/pkgs/applications/version-management/blackbox/default.nix index 569606d2fdb..8c28a678962 100644 --- a/pkgs/applications/version-management/blackbox/default.nix +++ b/pkgs/applications/version-management/blackbox/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - version = "1.20170611"; + version = "1.20181219"; pname = "blackbox"; - name = "${pname}-${version}"; src = fetchFromGitHub { owner = "stackexchange"; repo = pname; rev = "v${version}"; - sha256 = "1jnzhlj54c0szw9l9wib07i2375pbm402bx9wagspcmwc0qw43p6"; + sha256 = "1lpwwwc3rf992vdf3iy1ds07n1xkmad065im2bqzc6kdsbkn7rjx"; }; installPhase = '' diff --git a/pkgs/applications/version-management/bugseverywhere/default.nix b/pkgs/applications/version-management/bugseverywhere/default.nix index 7c41a60a725..7d1de378f53 100644 --- a/pkgs/applications/version-management/bugseverywhere/default.nix +++ b/pkgs/applications/version-management/bugseverywhere/default.nix @@ -7,7 +7,7 @@ # pythonPackages.buildPythonApplication rec { version = "1.1.1"; - name = "bugseverywhere-${version}"; + pname = "bugseverywhere"; src = fetchurl { url = @@ -28,7 +28,7 @@ pythonPackages.buildPythonApplication rec { homepage = http://www.bugseverywhere.org/; license = licenses.gpl2Plus; platforms = platforms.all; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; }; } diff --git a/pkgs/applications/version-management/cvs-fast-export/default.nix b/pkgs/applications/version-management/cvs-fast-export/default.nix index 5e1a0cab69d..0a1ecbb6532 100644 --- a/pkgs/applications/version-management/cvs-fast-export/default.nix +++ b/pkgs/applications/version-management/cvs-fast-export/default.nix @@ -7,7 +7,7 @@ with stdenv; with lib; mkDerivation rec { name = "cvs-fast-export-${meta.version}"; meta = { - version = "1.45"; + version = "1.48"; description = "Export an RCS or CVS history as a fast-import stream"; license = licenses.gpl2Plus; maintainers = with maintainers; [ dfoxfranke ]; @@ -16,8 +16,8 @@ mkDerivation rec { }; src = fetchurl { - url = "http://www.catb.org/~esr/cvs-fast-export/cvs-fast-export-1.45.tar.gz"; - sha256 = "19pxg6p0pcgyd2fbnh3wy1kazv6vcfi5lzc2whhdi1w9kj4r9c4z"; + url = "http://www.catb.org/~esr/cvs-fast-export/cvs-fast-export-1.48.tar.gz"; + sha256 = "16gw24y5x96mx6zby8cys0f03x1bqw4r7g1390qlpg75pbydqlf9"; }; buildInputs = [ diff --git a/pkgs/applications/version-management/cvsps/default.nix b/pkgs/applications/version-management/cvsps/default.nix index aa3bcb27394..71130a2e283 100644 --- a/pkgs/applications/version-management/cvsps/default.nix +++ b/pkgs/applications/version-management/cvsps/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, fetchpatch, cvs, zlib }: stdenv.mkDerivation rec { - name = "cvsps-${version}"; + pname = "cvsps"; version = "2.1"; src = fetchurl { diff --git a/pkgs/applications/version-management/diffuse/default.nix b/pkgs/applications/version-management/diffuse/default.nix index fa6d4fe1890..fc591dd710e 100644 --- a/pkgs/applications/version-management/diffuse/default.nix +++ b/pkgs/applications/version-management/diffuse/default.nix @@ -4,10 +4,10 @@ let inherit (python27Packages) pygtk python; in stdenv.mkDerivation rec { version = "0.4.8"; - name = "diffuse-${version}"; + pname = "diffuse"; src = fetchurl { - url = "mirror://sourceforge/project/diffuse/diffuse/${version}/${name}.tar.bz2"; + url = "mirror://sourceforge/project/diffuse/diffuse/${version}/${pname}-${version}.tar.bz2"; sha256 = "0ayz8bywmk1z3zicb0a7hbxliqpc7xym60s0mawzqllkpadvgly1"; }; diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix index cf58731b46c..cc029881133 100644 --- a/pkgs/applications/version-management/fossil/default.nix +++ b/pkgs/applications/version-management/fossil/default.nix @@ -4,16 +4,16 @@ }: stdenv.mkDerivation rec { - name = "fossil-${version}"; - version = "2.7"; + pname = "fossil"; + version = "2.9"; src = fetchurl { urls = [ "https://www.fossil-scm.org/index.html/uv/fossil-src-${version}.tar.gz" ]; - name = "${name}.tar.gz"; - sha256 = "0g032502lx4l1lvkczh8v7g0i90vbyriw0lmvi3mwjfp668ka91c"; + name = "${pname}-${version}.tar.gz"; + sha256 = "0kwb7pkp7y2my916rhyl6kmcf0fk8gkzaxzy13hfgqs35nlsvchw"; }; buildInputs = [ zlib openssl readline sqlite which ed ] diff --git a/pkgs/applications/version-management/gerrit/default.nix b/pkgs/applications/version-management/gerrit/default.nix index 0475a8ae76c..350eea240ec 100644 --- a/pkgs/applications/version-management/gerrit/default.nix +++ b/pkgs/applications/version-management/gerrit/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "gerrit-${version}"; + pname = "gerrit"; version = "2.14.6"; src = fetchurl { diff --git a/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/default.nix b/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/default.nix index 341b50f0ef2..fda89e33180 100644 --- a/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/default.nix +++ b/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/default.nix @@ -1,4 +1,4 @@ -{ lib, bundlerEnv, ruby }: +{ lib, bundlerEnv, ruby, bundlerUpdateScript }: bundlerEnv rec { name = "bitbucket-server-cli-${version}"; @@ -9,11 +9,13 @@ bundlerEnv rec { pname = "atlassian-stash"; + passthru.updateScript = bundlerUpdateScript "gitAndTools.bitbucket-server-cli"; + meta = with lib; { description = "A command line interface to interact with BitBucket Server (formerly Atlassian Stash)"; homepage = https://bitbucket.org/atlassian/bitbucket-server-cli; license = licenses.mit; - maintainers = with maintainers; [ jgertm ]; + maintainers = with maintainers; [ jgertm nicknovitski ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix index 5bfd74344e8..20392655062 100644 --- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix @@ -1,15 +1,16 @@ -{ stdenv, fetchurl, openssl, zlib, asciidoc, libxml2, libxslt +{ stdenv, fetchurl, fetchpatch, openssl, zlib, asciidoc, libxml2, libxslt , docbook_xsl, pkgconfig, luajit -, groff, gzip, bzip2, xz +, coreutils, gnused, groff, docutils +, gzip, bzip2, xz , python, wrapPython, pygments, markdown }: stdenv.mkDerivation rec { - name = "cgit-${version}"; + pname = "cgit"; version = "1.2.1"; src = fetchurl { - url = "https://git.zx2c4.com/cgit/snapshot/${name}.tar.xz"; + url = "https://git.zx2c4.com/cgit/snapshot/${pname}-${version}.tar.xz"; sha256 = "1gw2j5xc5qdx2hwiwkr8h6kgya7v9d9ff9j32ga1dys0cca7qm1w"; }; @@ -21,6 +22,14 @@ stdenv.mkDerivation rec { sha256 = "14hfwfkrci829a9316hnvkglnqqw1p03cw9k56p4fcb078wbwh4b"; }; + patches = [ + (fetchpatch { + name = "prevent-dos-limit-path-length.patch"; + url = "https://git.zx2c4.com/cgit/patch/?id=54c407a74a35d4ee9ffae94cc5bc9096c9f7f54a"; + sha256 = "1qlbpqsc293lmc9hzwf1j4jr5qlv8cm1r249v3yij5s4wki1595j"; + }) + ]; + nativeBuildInputs = [ pkgconfig ] ++ [ python wrapPython ]; buildInputs = [ openssl zlib asciidoc libxml2 libxslt docbook_xsl luajit @@ -35,6 +44,9 @@ stdenv.mkDerivation rec { substituteInPlace filters/html-converters/man2html \ --replace 'groff' '${groff}/bin/groff' + + substituteInPlace filters/html-converters/rst2html \ + --replace 'rst2html.py' '${docutils}/bin/rst2html.py' ''; # Give cgit a git source tree and pass configuration parameters (as make @@ -57,6 +69,10 @@ stdenv.mkDerivation rec { cp cgitrc.5 "$out/share/man/man5" wrapPythonProgramsIn "$out/lib/cgit/filters" "$out $pythonPath" + + for script in $out/lib/cgit/filters/*.sh $out/lib/cgit/filters/html-converters/txt2html; do + wrapProgram $script --prefix PATH : '${stdenv.lib.makeBinPath [ coreutils gnused ]}' + done ''; meta = { diff --git a/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix b/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix index 1af1870928b..0e28258915f 100644 --- a/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, ruby, gnugrep, diffutils, git, darcs }: stdenv.mkDerivation rec { - name = "darcs-to-git-${version}"; + pname = "darcs-to-git"; version = "2015-06-04"; src = fetchgit { diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index e7199543ad7..e64254ed29f 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -38,7 +38,7 @@ let git-fame = callPackage ./git-fame {}; - gita = callPackage ./gita {}; + gita = python3Packages.callPackage ./gita {}; # The full-featured Git. gitFull = gitBase.override { @@ -61,6 +61,15 @@ let git-annex-remote-b2 = callPackage ./git-annex-remote-b2 { }; + git-annex-remote-dbx = callPackage ./git-annex-remote-dbx { + inherit (python3Packages) + buildPythonApplication + fetchPypi + dropbox + annexremote + humanfriendly; + }; + git-annex-remote-rclone = callPackage ./git-annex-remote-rclone { }; git-bug = callPackage ./git-bug { }; @@ -80,8 +89,14 @@ let git-extras = callPackage ./git-extras { }; + git-gone = callPackage ./git-gone { + inherit (darwin.apple_sdk.frameworks) Security; + }; + git-hub = callPackage ./git-hub { }; + git-ignore = callPackage ./git-ignore { }; + git-imerge = callPackage ./git-imerge { }; git-octopus = callPackage ./git-octopus { }; @@ -102,8 +117,12 @@ let git-secrets = callPackage ./git-secrets { }; + git-standup = callPackage ./git-standup { }; + git-stree = callPackage ./git-stree { }; + git-subrepo = callPackage ./git-subrepo { }; + git-sync = callPackage ./git-sync { }; git-test = callPackage ./git-test { }; @@ -116,6 +135,8 @@ let gitflow = callPackage ./gitflow { }; + gitstatus = callPackage ./gitstatus { }; + grv = callPackage ./grv { }; hub = callPackage ./hub { @@ -126,7 +147,7 @@ let lab = callPackage ./lab { }; - pre-commit = callPackage ./pre-commit { }; + pre-commit = pkgs.python3Packages.toPythonApplication pkgs.python3Packages.pre-commit; pass-git-helper = python3Packages.callPackage ./pass-git-helper { }; diff --git a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix index 90b83348ef1..1bbbbe22d9a 100644 --- a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix +++ b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix @@ -1,14 +1,14 @@ {stdenv, git, perl, ncurses, coreutils, fetchFromGitHub, makeWrapper, ...}: stdenv.mkDerivation rec { - name = "diff-so-fancy-${version}"; - version = "1.2.5"; + pname = "diff-so-fancy"; + version = "1.2.6"; src = fetchFromGitHub { owner = "so-fancy"; repo = "diff-so-fancy"; rev = "v${version}"; - sha256 = "1jqq7zd75aypxchrq0vjcw5gyn3wyjqy6w79mq2lzky8m6mqn8vr"; + sha256 = "1w8x2d83zdhrnydiqq1qjf3j1y4cawdg8p1isj8zqwblnc47ygjm"; }; # Perl is needed here for patchShebangs @@ -43,6 +43,6 @@ stdenv.mkDerivation rec { diff-so-fancy builds on the good-lookin' output of git contrib's diff-highlight to upgrade your diffs' appearances. ''; - maintainers = with maintainers; [ fpletz ]; + maintainers = with maintainers; [ fpletz globin ]; }; } diff --git a/pkgs/applications/version-management/git-and-tools/fast-export/default.nix b/pkgs/applications/version-management/git-and-tools/fast-export/default.nix index fd50febb469..c9fd33312d7 100644 --- a/pkgs/applications/version-management/git-and-tools/fast-export/default.nix +++ b/pkgs/applications/version-management/git-and-tools/fast-export/default.nix @@ -1,41 +1,42 @@ -{stdenv, fetchgit, mercurial, makeWrapper, subversion}: +{stdenv, fetchgit, mercurial, makeWrapper}: -with stdenv.lib; -stdenv.mkDerivation { - name = "fast-export"; +stdenv.mkDerivation rec { + pname = "fast-export"; + version = "190107"; src = fetchgit { url = git://repo.or.cz/fast-export.git; - rev = "d202200fd9daa75cdb37d4cf067d4ca00e269535"; - sha256 = "0m4llsg9rx4sza1kf39kxsdvhi6y87a18wm5k19c5r2h3vpylwcc"; + rev = "v${version}"; + sha256 = "14azfps9jd5anivcvfwflgsvqdyy6gm9jy284kzx2ng9f7871d14"; }; - buildInputs = [mercurial.python mercurial makeWrapper subversion]; + buildInputs = [mercurial.python mercurial makeWrapper]; - dontBuild = true; # skip svn for now - - # TODO also support svn stuff - # moving .py files into lib directory so that you can't pick the wrong file from PATH. - # This requires redefining ROOT installPhase = '' - sed -i "s@/usr/bin/env.*@$(type -p python)@" *.py - l=$out/libexec/git-fast-export - mkdir -p $out/{bin,doc/git-fast-export} $l - sed -i "s@ROOT=.*@ROOT=$l@" *.sh - mv *.sh $out/bin - mv *.py $l - for p in $out/bin/*.sh; do - wrapProgram $p \ - --prefix PYTHONPATH : "$(echo ${mercurial}/lib/python*/site-packages):$(echo ${mercurial.python}/lib/python*/site-packages)${stdenv.lib.concatMapStrings (x: ":$(echo ${x}/lib/python*/site-packages)") mercurial.pythonPackages or []}" \ - --prefix PATH : "$(dirname $(type -p python))":$l + binPath=$out/bin + libexecPath=$out/libexec/${pname} + sitepackagesPath=$out/${mercurial.python.sitePackages} + mkdir -p $binPath $libexecPath $sitepackagesPath + + # Patch shell scripts so they can execute the Python scripts + sed -i "s|ROOT=.*|ROOT=$libexecPath|" *.sh + + mv hg-fast-export.sh hg-reset.sh $binPath + mv hg-fast-export.py hg-reset.py $libexecPath + mv hg2git.py pluginloader plugins $sitepackagesPath + + for script in $out/bin/*.sh; do + wrapProgram $script \ + --prefix PATH : "${mercurial.python}/bin":$libexec \ + --prefix PYTHONPATH : "${mercurial}/${mercurial.python.sitePackages}":$sitepackagesPath done ''; - meta = { - description = "Import svn, mercurial into git"; + meta = with stdenv.lib; { + description = "Import mercurial into git"; homepage = https://repo.or.cz/w/fast-export.git; license = licenses.gpl2; maintainers = [ maintainers.koral ]; - platforms = stdenv.lib.platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/version-management/git-and-tools/ghq/default.nix b/pkgs/applications/version-management/git-and-tools/ghq/default.nix index 84a441641df..b73825737df 100644 --- a/pkgs/applications/version-management/git-and-tools/ghq/default.nix +++ b/pkgs/applications/version-management/git-and-tools/ghq/default.nix @@ -1,8 +1,8 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "ghq-${version}"; - version = "0.8.0"; + pname = "ghq"; + version = "0.12.6"; goPackagePath = "github.com/motemen/ghq"; @@ -10,7 +10,7 @@ buildGoPackage rec { owner = "motemen"; repo = "ghq"; rev = "v${version}"; - sha256 = "1gdi0sbmq9kfi8hzd0dpgmhbmcf8q93jy3x08dd8smayrhbbwmld"; + sha256 = "14rm7fvphr7r9x0ys10vhzjwhfhhscgr574n1i1z4lzw551lrnp4"; }; goDeps = ./deps.nix; diff --git a/pkgs/applications/version-management/git-and-tools/ghq/deps.nix b/pkgs/applications/version-management/git-and-tools/ghq/deps.nix index 1df37aa0f21..dde1b19b4c3 100644 --- a/pkgs/applications/version-management/git-and-tools/ghq/deps.nix +++ b/pkgs/applications/version-management/git-and-tools/ghq/deps.nix @@ -1,20 +1,48 @@ +# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix) [ + { + goPackagePath = "github.com/Songmu/gitconfig"; + fetch = { + type = "git"; + url = "https://github.com/Songmu/gitconfig"; + rev = "v0.0.2"; + sha256 = "0w1xd1mzxzwh755l6lgpn6psjp959kvx89l39zhc8lag9jh7rc44"; + }; + } { goPackagePath = "github.com/daviddengcn/go-colortext"; fetch = { type = "git"; url = "https://github.com/daviddengcn/go-colortext"; - rev = "805cee6e0d43c72ba1d4e3275965ff41e0da068a"; - sha256 = "0z0ggqnprqchnd8zyrz99w53kr4sgv372lyx12z5nsh9q342pmyf"; + rev = "186a3d44e920"; + sha256 = "18piv4zzcb8abbc7fllz9p6rd4zhsy1gc6iygym381caggmmgxgk"; }; } { - goPackagePath = "github.com/mitchellh/go-homedir"; + goPackagePath = "github.com/golangplus/bytes"; fetch = { type = "git"; - url = "https://github.com/mitchellh/go-homedir"; - rev = "b8bc1bf767474819792c23f32d8286a45736f1c6"; - sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q"; + url = "https://github.com/golangplus/bytes"; + rev = "45c989fe5450"; + sha256 = "1fpwg1idakpbvkmk8j8yyhv9g7mhr9c922kvff6kj4br4k05zyzr"; + }; + } + { + goPackagePath = "github.com/golangplus/fmt"; + fetch = { + type = "git"; + url = "https://github.com/golangplus/fmt"; + rev = "2a5d6d7d2995"; + sha256 = "1242q05qnawhv0klzy1pbq63q8jxkms5hc7421992hzq2m40k5yn"; + }; + } + { + goPackagePath = "github.com/golangplus/testing"; + fetch = { + type = "git"; + url = "https://github.com/golangplus/testing"; + rev = "af21d9c3145e"; + sha256 = "1g83sjvcavqbh92vyirc48mrqd18yfci08zya0hrgk840cr94czc"; }; } { @@ -22,8 +50,8 @@ fetch = { type = "git"; url = "https://github.com/motemen/go-colorine"; - rev = "49ff36b8fa42db28092361cd20dcefd0b03b1472"; - sha256 = "1rfi5gggf2sxb52whgxfl37p22r2xp27rndixbiicw6swllmml9l"; + rev = "45d19169413a"; + sha256 = "1mdy6q0926s1frj027nlzlvm2qssmkpjis7ic3l2smajkzh07118"; }; } { @@ -31,8 +59,80 @@ fetch = { type = "git"; url = "https://github.com/urfave/cli"; - rev = "f017f86fccc5a039a98f23311f34fdf78b014f78"; - sha256 = "1biq4wl4z8l0ycinb39mfavnk13d0qnqqdplqybl7klxmk67cvhv"; + rev = "v1.20.0"; + sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "c2843e01d9a2"; + sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "3ec191127204"; + sha256 = "0zzhbkw3065dp1jscp7q8dxw3mkwj95ixnrr8j7c47skis0m11i3"; + }; + } + { + goPackagePath = "golang.org/x/sync"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sync"; + rev = "112230192c58"; + sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "d0b11bdaac8a"; + sha256 = "18yfsmw622l7gc5sqriv5qmck6903vvhivpzp8i3xfy3z33dybdl"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "v0.3.0"; + sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; + }; + } + { + goPackagePath = "golang.org/x/xerrors"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/xerrors"; + rev = "3ee3066db522"; + sha256 = "12xyaa116bq9zy25fwk7zzi83v8aab9lm91pqg0c3jrfkjdbr255"; + }; + } + { + goPackagePath = "gopkg.in/check.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/check.v1"; + rev = "20d25e280405"; + sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/yaml.v2"; + rev = "v2.2.2"; + sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa"; }; } ] diff --git a/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix b/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix index 17e2bfee40b..169315d1e2e 100644 --- a/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchFromGitHub, rustPlatform, libiconv, Security }: rustPlatform.buildRustPackage rec { - name = "git-absorb-${version}"; - version = "0.3.0"; + pname = "git-absorb"; + version = "0.5.0"; src = fetchFromGitHub { owner = "tummychow"; - repo = "git-absorb"; + repo = pname; rev = "refs/tags/${version}"; - sha256 = "1dm442lyk7f44bshm2ajync5pzdwvdc5xfpw2lkvjzxflmh5572z"; + sha256 = "0lggv3knh6iglkh8x2zqvqcs3dlwfsdiclg7pmdrycny72la4k2j"; }; buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ]; - cargoSha256 = "0fvxs09b9x38vp0psvlvbj09myxrhabp95pp3nz7nxsgr7fxflrr"; + cargoSha256 = "1khplyglavsidh13nnq9y5rxd5w89ail08wgzn29a5m03zir1yfd"; meta = with stdenv.lib; { - inherit (src.meta) homepage; + homepage = "https://github.com/tummychow/git-absorb"; description = "git commit --fixup, but automatic"; license = [ licenses.bsd3 ]; maintainers = [ maintainers.marsam ]; diff --git a/pkgs/applications/version-management/git-and-tools/git-annex-metadata-gui/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex-metadata-gui/default.nix index ba64a065d28..3118eaab19b 100644 --- a/pkgs/applications/version-management/git-and-tools/git-annex-metadata-gui/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-annex-metadata-gui/default.nix @@ -1,7 +1,7 @@ { stdenv, buildPythonApplication, fetchFromGitHub, pyqt5, git-annex-adapter }: buildPythonApplication rec { - name = "git-annex-metadata-gui-${version}"; + pname = "git-annex-metadata-gui"; version = "0.2.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/version-management/git-and-tools/git-annex-remote-b2/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex-remote-b2/default.nix index 4d0f33730e4..55a9dd18f72 100644 --- a/pkgs/applications/version-management/git-and-tools/git-annex-remote-b2/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-annex-remote-b2/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchgit }: buildGoPackage rec { - name = "git-annex-remote-b2-${version}"; + pname = "git-annex-remote-b2"; version = "20151212-${stdenv.lib.strings.substring 0 7 rev}"; rev = "4db46b9fc9ef7b3f4851c2a6b061cb8f90f553ba"; diff --git a/pkgs/applications/version-management/git-and-tools/git-annex-remote-dbx/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex-remote-dbx/default.nix new file mode 100644 index 00000000000..8dd44287b50 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git-annex-remote-dbx/default.nix @@ -0,0 +1,25 @@ +{ lib +, buildPythonApplication +, fetchPypi +, dropbox +, annexremote +, humanfriendly +}: + +buildPythonApplication rec { + pname = "git-annex-remote-dbx"; + version = "1.0.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "5b6f8025ed1e9877f06882ddbd81f701a8e094647ab97595e2afc09016835a7c"; + }; + + propagatedBuildInputs = [ dropbox annexremote humanfriendly ]; + + meta = with lib; { + description = "A git-annex special remote for Dropbox"; + homepage = https://pypi.org/project/git-annex-remote-dbx/; + license = licenses.mit; + }; +} diff --git a/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix index c368dcd487e..5d4d9b86d83 100644 --- a/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, rclone, makeWrapper }: stdenv.mkDerivation rec { - name = "git-annex-remote-rclone-${version}"; + pname = "git-annex-remote-rclone"; version = "0.6"; rev = "v${version}"; diff --git a/pkgs/applications/version-management/git-and-tools/git-appraise/default.nix b/pkgs/applications/version-management/git-and-tools/git-appraise/default.nix index 185ed38b5db..daa0af43879 100644 --- a/pkgs/applications/version-management/git-and-tools/git-appraise/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-appraise/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "git-appraise-unstable-${version}"; + pname = "git-appraise-unstable"; version = "2018-02-26"; rev = "2414523905939525559e4b2498c5597f86193b61"; diff --git a/pkgs/applications/version-management/git-and-tools/git-big-picture/default.nix b/pkgs/applications/version-management/git-and-tools/git-big-picture/default.nix index 7a47ed9a992..2d171df8bf2 100644 --- a/pkgs/applications/version-management/git-and-tools/git-big-picture/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-big-picture/default.nix @@ -15,6 +15,8 @@ python2Packages.buildPythonApplication rec { buildInputs = [ git graphviz ]; + checkInputs = [ git ]; + postFixup = '' wrapProgram $out/bin/git-big-picture \ --prefix PATH ":" ${ stdenv.lib.makeBinPath buildInputs } diff --git a/pkgs/applications/version-management/git-and-tools/git-bug/default.nix b/pkgs/applications/version-management/git-and-tools/git-bug/default.nix index eabc9258e29..edc5f9d7bfb 100644 --- a/pkgs/applications/version-management/git-and-tools/git-bug/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-bug/default.nix @@ -1,19 +1,24 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "git-bug-${version}"; - version = "0.4.0"; - rev = "2ab2412771d58a1b1f3bfeb5a6e9da2e683b0e12"; + pname = "git-bug"; + version = "0.5.0"; + rev = "8d7a2c076a38c89085fd3191a2998efb659650c2"; goPackagePath = "github.com/MichaelMure/git-bug"; src = fetchFromGitHub { inherit rev; owner = "MichaelMure"; repo = "git-bug"; - sha256 = "1zyvyg0p5h71wvyxrzkr1bwddxm3x8p44n6wh9ccfdxp8d2k6k25"; + sha256 = "1l86m0y360lmpmpw2id0k7zc2nyq1irr26k2ik06lxhzvpbyajz6"; }; - goDeps = ./deps.nix; + buildFlagsArray = '' + -ldflags= + -X ${goPackagePath}/commands.GitCommit=${rev} + -X ${goPackagePath}/commands.GitLastTag=${version} + -X ${goPackagePath}/commands.GitExactTag=${version} + ''; postInstall = '' cd go/src/${goPackagePath} diff --git a/pkgs/applications/version-management/git-and-tools/git-bug/deps.nix b/pkgs/applications/version-management/git-and-tools/git-bug/deps.nix deleted file mode 100644 index 77d79602a9c..00000000000 --- a/pkgs/applications/version-management/git-and-tools/git-bug/deps.nix +++ /dev/null @@ -1,417 +0,0 @@ -# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) -[ - { - goPackagePath = "github.com/99designs/gqlgen"; - fetch = { - type = "git"; - url = "https://github.com/99designs/gqlgen"; - rev = "636435b68700211441303f1a5ed92f3768ba5774"; - sha256 = "0d4sr6kpyn3zq3kpvk8lizy7hdpcw3fjmv7fbv2m1k9w8fzjawrz"; - }; - } - { - goPackagePath = "github.com/agnivade/levenshtein"; - fetch = { - type = "git"; - url = "https://github.com/agnivade/levenshtein"; - rev = "3d21ba515fe27b856f230847e856431ae1724adc"; - sha256 = "0dym3k3ycsj0zj0p4dhdp7gd2hm7c7pyh2wii1mdbmpdyipy99cd"; - }; - } - { - goPackagePath = "github.com/cheekybits/genny"; - fetch = { - type = "git"; - url = "https://github.com/cheekybits/genny"; - rev = "9127e812e1e9e501ce899a18121d316ecb52e4ba"; - sha256 = "1z57ga9c2sjnl5ngqgb1ap0zqv36sk0rarm02bbbkipz4m9yabjg"; - }; - } - { - goPackagePath = "github.com/corpix/uarand"; - fetch = { - type = "git"; - url = "https://github.com/corpix/uarand"; - rev = "2b8494104d86337cdd41d0a49cbed8e4583c0ab4"; - sha256 = "06ml5m8l9wbr96gvyg6z1syawn797f8kmq74nhgry3vqpngyb6yn"; - }; - } - { - goPackagePath = "github.com/cpuguy83/go-md2man"; - fetch = { - type = "git"; - url = "https://github.com/cpuguy83/go-md2man"; - rev = "20f5889cbdc3c73dbd2862796665e7c465ade7d1"; - sha256 = "1w22dfdamsq63b5rvalh9k2y7rbwfkkjs7vm9vd4a13h2ql70lg2"; - }; - } - { - goPackagePath = "github.com/davecgh/go-spew"; - fetch = { - type = "git"; - url = "https://github.com/davecgh/go-spew"; - rev = "8991bc29aa16c548c550c7ff78260e27b9ab7c73"; - sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"; - }; - } - { - goPackagePath = "github.com/dustin/go-humanize"; - fetch = { - type = "git"; - url = "https://github.com/dustin/go-humanize"; - rev = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e"; - sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3"; - }; - } - { - goPackagePath = "github.com/fatih/color"; - fetch = { - type = "git"; - url = "https://github.com/fatih/color"; - rev = "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4"; - sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv"; - }; - } - { - goPackagePath = "github.com/go-test/deep"; - fetch = { - type = "git"; - url = "https://github.com/go-test/deep"; - rev = "6592d9cc0a499ad2d5f574fde80a2b5c5cc3b4f5"; - sha256 = "0f4rbdl6qmlq4bzh0443i634bm675bbrkyzwp8wkc1yhdl9qsij7"; - }; - } - { - goPackagePath = "github.com/golang/protobuf"; - fetch = { - type = "git"; - url = "https://github.com/golang/protobuf"; - rev = "aa810b61a9c79d51363740d207bb46cf8e620ed5"; - sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab"; - }; - } - { - goPackagePath = "github.com/google/go-cmp"; - fetch = { - type = "git"; - url = "https://github.com/google/go-cmp"; - rev = "3af367b6b30c263d47e8895973edcca9a49cf029"; - sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds"; - }; - } - { - 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/hashicorp/golang-lru"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/golang-lru"; - rev = "20f1fb78b0740ba8c3cb143a61e86ba5c8669768"; - sha256 = "12k2cp2k615fjvfa5hyb9k2alian77wivds8s65diwshwv41939f"; - }; - } - { - goPackagePath = "github.com/icrowley/fake"; - fetch = { - type = "git"; - url = "https://github.com/icrowley/fake"; - rev = "4178557ae428460c3780a381c824a1f3aceb6325"; - sha256 = "1mv4bxfphaqbvacy49v4lf4gf2nmadzpmjq0jbdx93wi5bnkc977"; - }; - } - { - goPackagePath = "github.com/inconshreveable/mousetrap"; - fetch = { - type = "git"; - url = "https://github.com/inconshreveable/mousetrap"; - rev = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"; - sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152"; - }; - } - { - goPackagePath = "github.com/jroimartin/gocui"; - fetch = { - type = "git"; - url = "https://github.com/jroimartin/gocui"; - rev = "c055c87ae801372cd74a0839b972db4f7697ae5f"; - sha256 = "1b1cbjg925l1c5v3ls8amni9716190yzf847cqs9wjnj82z8qa47"; - }; - } - { - 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/mattn/go-runewidth"; - fetch = { - type = "git"; - url = "https://github.com/mattn/go-runewidth"; - rev = "9e777a8366cce605130a531d2cd6363d07ad7317"; - sha256 = "0vkrfrz3fzn5n6ix4k8s0cg0b448459sldq8bp4riavsxm932jzb"; - }; - } - { - goPackagePath = "github.com/mitchellh/mapstructure"; - fetch = { - type = "git"; - url = "https://github.com/mitchellh/mapstructure"; - rev = "fa473d140ef3c6adf42d6b391fe76707f1f243c8"; - sha256 = "0f06q4fpzg0c370cvmpsl0iq2apl5nkbz5cd3nba5x5ysmshv1lm"; - }; - } - { - goPackagePath = "github.com/nsf/termbox-go"; - fetch = { - type = "git"; - url = "https://github.com/nsf/termbox-go"; - rev = "5c94acc5e6eb520f1bcd183974e01171cc4c23b3"; - sha256 = "1fi8imdgwvlsgifw2qfl3ww0lsrgkfsimkzz7bnrq41nar78s0fw"; - }; - } - { - goPackagePath = "github.com/phayes/freeport"; - fetch = { - type = "git"; - url = "https://github.com/phayes/freeport"; - rev = "b8543db493a5ed890c5499e935e2cad7504f3a04"; - sha256 = "1gwaan8fwmc5lfx4dzymq0jd6z2l1frg83jkmjpm4kw8ay4vr11q"; - }; - } - { - 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/russross/blackfriday"; - fetch = { - type = "git"; - url = "https://github.com/russross/blackfriday"; - rev = "55d61fa8aa702f59229e6cff85793c22e580eaf5"; - sha256 = "0qmavm5d14kj6im6sqzpqnlhpy524428vkn4hnfwknndr9rycmn0"; - }; - } - { - goPackagePath = "github.com/shurcooL/githubv4"; - fetch = { - type = "git"; - url = "https://github.com/shurcooL/githubv4"; - rev = "b5f70540eee0ebfb6a27b52fc5b131be76415539"; - sha256 = "0hrjk16l8jwkhrbzcasp4dflv6hl24hcc4q2md5rn6i8f73dl18h"; - }; - } - { - goPackagePath = "github.com/shurcooL/go"; - fetch = { - type = "git"; - url = "https://github.com/shurcooL/go"; - rev = "9e1955d9fb6e1ee2345ba1f5e71669263e719e27"; - sha256 = "1lad9bvs75jsn61cfza19739c2c057k0bqxg2b4xz3z3l4w1mkqj"; - }; - } - { - goPackagePath = "github.com/shurcooL/graphql"; - fetch = { - type = "git"; - url = "https://github.com/shurcooL/graphql"; - rev = "365899397c9ad12805631fe4c9b2a64be9d74818"; - sha256 = "10n4id76zpj5g4hr1ry8d9v5cvm039rygrpgdk4ygk198vhr0gwm"; - }; - } - { - goPackagePath = "github.com/shurcooL/httpfs"; - fetch = { - type = "git"; - url = "https://github.com/shurcooL/httpfs"; - rev = "809beceb23714880abc4a382a00c05f89d13b1cc"; - sha256 = "1hvj5q5kjw83z7f77y03fqfg7fps7pqj2cj2c38x752m0pq4j2w3"; - }; - } - { - goPackagePath = "github.com/shurcooL/vfsgen"; - fetch = { - type = "git"; - url = "https://github.com/shurcooL/vfsgen"; - rev = "62bca832be04bd2bcaabd3b68a6b19a7ec044411"; - sha256 = "1lh8sw7qxs43jj8k9pfn91kfy2033p3il9bcb63whz8zhqw2a16y"; - }; - } - { - goPackagePath = "github.com/skratchdot/open-golang"; - fetch = { - type = "git"; - url = "https://github.com/skratchdot/open-golang"; - rev = "75fb7ed4208cf72d323d7d02fd1a5964a7a9073c"; - sha256 = "1b67imqbsdvg19vif1q1dfmapxy3v2anagacbql95fwnnw0v8jga"; - }; - } - { - goPackagePath = "github.com/spf13/cobra"; - fetch = { - type = "git"; - url = "https://github.com/spf13/cobra"; - rev = "ef82de70bb3f60c65fb8eebacbb2d122ef517385"; - sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd"; - }; - } - { - 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 = "f35b8ab0b5a2cef36673838d662e249dd9c94686"; - sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs"; - }; - } - { - goPackagePath = "github.com/vektah/gqlgen"; - fetch = { - type = "git"; - url = "https://github.com/vektah/gqlgen"; - rev = "636435b68700211441303f1a5ed92f3768ba5774"; - sha256 = "0d4sr6kpyn3zq3kpvk8lizy7hdpcw3fjmv7fbv2m1k9w8fzjawrz"; - }; - } - { - goPackagePath = "github.com/vektah/gqlparser"; - fetch = { - type = "git"; - url = "https://github.com/vektah/gqlparser"; - rev = "14e83ae06ec152e6d0afb9766a00e0c0918aa8fc"; - sha256 = "162j259402pa2wb4645z6gplx5g1a2sfk393k2svwgws3bg2bws2"; - }; - } - { - goPackagePath = "golang.org/x/crypto"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/crypto"; - rev = "0e37d006457bf46f9e6692014ba72ef82c33022c"; - sha256 = "1fj8rvrhgv5j8pmckzphvm3sqkzhcqp3idkxvgv13qrjdfycsa5r"; - }; - } - { - goPackagePath = "golang.org/x/net"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/net"; - rev = "2f5d2388922f370f4355f327fcf4cfe9f5583908"; - sha256 = "03s92ygxfrd2c1m4697sd6iksgbar6c007w1yf3h6wmd79vr5dxs"; - }; - } - { - goPackagePath = "golang.org/x/oauth2"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/oauth2"; - rev = "d2e6202438beef2727060aa7cabdd924d92ebfd9"; - sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7"; - }; - } - { - goPackagePath = "golang.org/x/sys"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sys"; - rev = "ac767d655b305d4e9612f5f6e33120b9176c4ad4"; - sha256 = "1ds29n5lh4j21hmzxz7vk7hv1k6sixc7f0zsdc9xqdg0j7d212zm"; - }; - } - { - goPackagePath = "golang.org/x/tools"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/tools"; - rev = "a434f64ace81347eff0fb4a32bc80a235e0ad762"; - sha256 = "0zngnxrxjync4caz6ikmv5v0cn895iqhqmzqg9qddfm5bvl2a2my"; - }; - } - { - goPackagePath = "google.golang.org/appengine"; - fetch = { - type = "git"; - url = "https://github.com/golang/appengine"; - rev = "ae0ab99deb4dc413a2b4bd6c8bdd0eb67f1e4d06"; - sha256 = "1iabxnqgxvvn1239i6fvfl375vlbvhfrc03m1x2rvalmx4d6w9c7"; - }; - } - { - goPackagePath = "gopkg.in/yaml.v2"; - fetch = { - type = "git"; - url = "https://github.com/go-yaml/yaml"; - rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; - sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; - }; - } - { - goPackagePath = "gotest.tools"; - fetch = { - type = "git"; - url = "https://github.com/gotestyourself/gotest.tools"; - rev = "b6e20af1ed078cd01a6413b734051a292450b4cb"; - sha256 = "11k6hmfhaf0qxpddp3i5kfpacdx51q6pv4n1kn3jnf1hjs0yny2k"; - }; - } -] \ No newline at end of file diff --git a/pkgs/applications/version-management/git-and-tools/git-bz/default.nix b/pkgs/applications/version-management/git-and-tools/git-bz/default.nix index c14a027b4ab..e502c73adfd 100644 --- a/pkgs/applications/version-management/git-and-tools/git-bz/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-bz/default.nix @@ -3,7 +3,7 @@ , pythonPackages }: stdenv.mkDerivation rec { - name = "git-bz-${version}"; + pname = "git-bz"; version = "3.2015-09-08"; src = fetchgit { diff --git a/pkgs/applications/version-management/git-and-tools/git-codeowners/default.nix b/pkgs/applications/version-management/git-and-tools/git-codeowners/default.nix index 206a4af9121..fbbb2d95242 100644 --- a/pkgs/applications/version-management/git-and-tools/git-codeowners/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-codeowners/default.nix @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec { sha256 = "0bzq4ridzb4l1zqrj1r0vlzkjpgfaqwky5jf49cwjhz4ybwrfpkq"; }; - cargoSha256 = "0rdmv9s86xba1zkl2j5rgix6k7pkkxqmpar03sak2fjrd7mh8iz0"; + cargoSha256 = "1k5gxbjv4a8l5y9rm0n4vwzlwp4hk1rb59v0wvcirmj0p7hpw9x9"; meta = with lib; { homepage = "https://github.com/softprops/git-codeowners"; diff --git a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix index 3020e7d64aa..6945e24ee46 100644 --- a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix @@ -1,24 +1,31 @@ -{ stdenv, fetchFromGitHub, pythonPackages, gettext, git }: +{ stdenv, fetchFromGitHub, pythonPackages, gettext, git, qt5 }: let inherit (pythonPackages) buildPythonApplication pyqt5 sip pyinotify; in buildPythonApplication rec { - name = "git-cola-${version}"; - version = "3.3"; + pname = "git-cola"; + version = "3.4"; src = fetchFromGitHub { owner = "git-cola"; repo = "git-cola"; rev = "v${version}"; - sha256 = "0gfbzcmaqg6hdy2cfpshgcwh8zgj1ia1vd95i5xdrsvksgb8fq2j"; + sha256 = "0754d56dprhb1nhb8fwp4my5pyqcgarwzba1l6zx7il87d7vyi5m"; }; buildInputs = [ git gettext ]; propagatedBuildInputs = [ pyqt5 sip pyinotify ]; + nativeBuildInputs = [ qt5.wrapQtAppsHook ]; doCheck = false; + postFixup = '' + wrapQtApp bin/git-cola + wrapQtApp bin/git-dag + + ''; + meta = with stdenv.lib; { homepage = https://github.com/git-cola/git-cola; description = "A sleek and powerful Git GUI"; diff --git a/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix b/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix index 2163855d00e..abb09ff9a45 100644 --- a/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix @@ -1,17 +1,20 @@ -{ fetchFromGitHub, git, gnupg1compat, makeWrapper, openssl, stdenv }: +{ fetchFromGitHub, git, gnupg, makeWrapper, openssl, stdenv +, libxslt, docbook_xsl +}: stdenv.mkDerivation rec { - name = "git-crypt-${version}"; + pname = "git-crypt"; version = "0.6.0"; src = fetchFromGitHub { owner = "AGWA"; - repo = "git-crypt"; - rev = "${version}"; + repo = pname; + rev = version; sha256 = "13m9y0m6gc3mlw3pqv9x4i0him2ycbysizigdvdanhh514kga602"; - inherit name; }; + nativeBuildInputs = [ libxslt ]; + buildInputs = [ openssl makeWrapper ]; patchPhase = '' @@ -19,9 +22,14 @@ stdenv.mkDerivation rec { --replace '(escape_shell_arg(our_exe_path()))' '= "git-crypt"' ''; - installPhase = '' - make install PREFIX=$out - wrapProgram $out/bin/* --prefix PATH : $out/bin:${git}/bin:${gnupg1compat}/bin + makeFlags = [ + "PREFIX=${placeholder ''out''}" + "ENABLE_MAN=yes" + "DOCBOOK_XSL=${docbook_xsl}/share/xml/docbook-xsl-nons/manpages/docbook.xsl" + ]; + + postFixup = '' + wrapProgram $out/bin/git-crypt --prefix PATH : $out/bin:${git}/bin:${gnupg}/bin ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/version-management/git-and-tools/git-dit/default.nix b/pkgs/applications/version-management/git-and-tools/git-dit/default.nix index 9c362276383..90b8b54434b 100644 --- a/pkgs/applications/version-management/git-and-tools/git-dit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-dit/default.nix @@ -1,6 +1,6 @@ { stdenv , fetchFromGitHub -, openssl +, openssl_1_0_2 , zlib , libssh , cmake @@ -26,7 +26,7 @@ buildRustPackage rec { sha256 = "1sx6sc2dj3l61gbiqz8vfyhw5w4xjdyfzn1ixz0y8ipm579yc7a2"; }; - cargoSha256 = "08zbvjwjdpv2sbj6mh73py82inhs18jvmh8m9k4l94fcz6ykgqwr"; + cargoSha256 = "10852131aizfw9j1yl4gz180h4gd8y5ymx3wmf5v9cmqiqxy8bgy"; nativeBuildInputs = [ cmake @@ -35,7 +35,7 @@ buildRustPackage rec { ]; buildInputs = [ - openssl + openssl_1_0_2 libssh zlib ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ @@ -49,6 +49,6 @@ buildRustPackage rec { inherit (src.meta) homepage; description = "Decentralized Issue Tracking for git"; license = licenses.gpl2; - maintainers = with maintainers; [ Profpatsch ]; + maintainers = with maintainers; [ Profpatsch matthiasbeyer ]; }; } diff --git a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix index c036a0ffe4b..09c9169e434 100644 --- a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "git-extras-${version}"; + pname = "git-extras"; version = "4.7.0"; src = fetchurl { diff --git a/pkgs/applications/version-management/git-and-tools/git-fame/default.nix b/pkgs/applications/version-management/git-and-tools/git-fame/default.nix index 9ca7a67a53e..2d6de24167b 100644 --- a/pkgs/applications/version-management/git-and-tools/git-fame/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-fame/default.nix @@ -1,4 +1,4 @@ -{ stdenv, bundlerEnv, ruby }: +{ stdenv, bundlerEnv, ruby, bundlerUpdateScript }: bundlerEnv rec { inherit ruby; @@ -7,13 +7,15 @@ bundlerEnv rec { gemdir = ./.; + passthru.updateScript = bundlerUpdateScript "gitAndTools.git-fame"; + meta = with stdenv.lib; { description = '' A command-line tool that helps you summarize and pretty-print collaborators based on contributions ''; homepage = http://oleander.io/git-fame-rb; license = licenses.mit; - maintainers = with maintainers; [ expipiplus1 ]; + maintainers = with maintainers; [ expipiplus1 nicknovitski ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/version-management/git-and-tools/git-gone/default.nix b/pkgs/applications/version-management/git-and-tools/git-gone/default.nix new file mode 100644 index 00000000000..d445e0181f4 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git-gone/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, curl, libiconv, Security }: + +rustPlatform.buildRustPackage rec { + pname = "git-gone"; + version = "0.1.2"; + + src = fetchFromGitHub { + owner = "lunaryorn"; + repo = pname; + rev = "v${version}"; + sha256 = "0vgkx227wpg9l2zza6446wzshjhnrhba3qhabibn4gg8wwcqmmxf"; + }; + + cargoSha256 = "11h2whlgjhg3j98a9w9k29njj89wx93w0dcyf981985flin709sx"; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ openssl ] + ++ stdenv.lib.optionals stdenv.isDarwin [ curl libiconv Security ]; + + meta = with stdenv.lib; { + description = "Cleanup stale Git branches of pull requests"; + homepage = "https://github.com/lunaryorn/git-gone"; + license = licenses.asl20; + maintainers = [ maintainers.marsam ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix index ba126bb476c..193133d6d3e 100644 --- a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchFromGitHub, gitMinimal, python2Packages }: stdenv.mkDerivation rec { - name = "git-hub-${version}"; - version = "1.0.1"; + pname = "git-hub"; + version = "1.0.3"; src = fetchFromGitHub { - sha256 = "1lizjyi8vac1p1anbnh6qrr176rwxp5yjc1787asw437sackkwza"; + sha256 = "03mz64lzicbxxz9b202kqs5ysf82sgb7lw967wkjdy2wbpqk8j0z"; rev = "v${version}"; repo = "git-hub"; owner = "sociomantic-tsunami"; diff --git a/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix b/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix new file mode 100644 index 00000000000..99be85e09b1 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, darwin }: + +with rustPlatform; + +buildRustPackage rec { + pname = "git-ignore"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "sondr3"; + repo = pname; + rev = "v${version}"; + sha256 = "0krz50pw9bkyzl78bvppk6skbpjp8ga7bd34jya4ha1xfmd8p89c"; + }; + + cargoSha256 = "1ccipxifnm38315qigaq28hlzam2wr8q2p2dbcq96kar6pq377vf"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ openssl ] + ++ stdenv.lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + outputs = [ "out" "man" ]; + preFixup = '' + mkdir -p "$man/man/man1" + cp target/release/build/git-ignore-*/out/git-ignore.1 "$man/man/man1/" + ''; + + meta = with stdenv.lib; { + description = "Quickly and easily fetch .gitignore templates from gitignore.io"; + homepage = https://github.com/sondr3/git-ignore; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = [ maintainers.sondr3 ]; + }; +} diff --git a/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix b/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix index 10e78622271..76b29135f66 100644 --- a/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, pythonPackages }: stdenv.mkDerivation rec { - name = "git-imerge-${version}"; + pname = "git-imerge"; version = "1.1.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix b/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix index f8d871bdcf3..a7abd1eeaf4 100644 --- a/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix @@ -3,7 +3,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "git-octopus-${version}"; + pname = "git-octopus"; version = "1.4"; installFlags = [ "prefix=$(out)" ]; diff --git a/pkgs/applications/version-management/git-and-tools/git-open/default.nix b/pkgs/applications/version-management/git-and-tools/git-open/default.nix index dc3fbbed199..1cc3f365ea8 100644 --- a/pkgs/applications/version-management/git-and-tools/git-open/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-open/default.nix @@ -1,7 +1,7 @@ {stdenv, git, xdg_utils, gnugrep, fetchFromGitHub, makeWrapper}: stdenv.mkDerivation rec { - name = "git-open-${version}"; + pname = "git-open"; version = "2.0.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/version-management/git-and-tools/git-radar/default.nix b/pkgs/applications/version-management/git-and-tools/git-radar/default.nix index d72df802875..9fb9d4de6e3 100644 --- a/pkgs/applications/version-management/git-and-tools/git-radar/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-radar/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchFromGitHub}: stdenv.mkDerivation rec { - name = "git-radar-${version}"; + pname = "git-radar"; version = "0.6"; src = fetchFromGitHub { diff --git a/pkgs/applications/version-management/git-and-tools/git-recent/default.nix b/pkgs/applications/version-management/git-and-tools/git-recent/default.nix index c52a78ff007..628c7dbac7f 100644 --- a/pkgs/applications/version-management/git-and-tools/git-recent/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-recent/default.nix @@ -4,14 +4,14 @@ }: stdenv.mkDerivation rec { - name = "git-recent-${version}"; - version = "1.1.0"; + pname = "git-recent"; + version = "1.1.1"; src = fetchFromGitHub { owner = "paulirish"; repo = "git-recent"; rev = "v${version}"; - sha256 = "06r1jzmzdv3d4vxdh5qyf5g5rgavxfmh2rpbs7a7byg3k7d77hpn"; + sha256 = "1g8i6vpjnnfh7vc1269c91bap267w4bxdqqwnzb8x18vqgn2fx8i"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix b/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix index a8df4846bf5..ff0f702269c 100644 --- a/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix @@ -1,7 +1,10 @@ -{ stdenv, fetchFromGitHub, docutils, makeWrapper, gnupg1compat, curl, rsync }: +{ stdenv, fetchFromGitHub, docutils, makeWrapper +, gnupg, curl, rsync, coreutils +, gawk, gnused, gnugrep +}: stdenv.mkDerivation rec { - name = "git-remote-gcrypt-${version}"; + pname = "git-remote-gcrypt"; version = "1.2"; rev = version; @@ -19,7 +22,8 @@ stdenv.mkDerivation rec { installPhase = '' prefix="$out" ./install.sh wrapProgram "$out/bin/git-remote-gcrypt" \ - --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnupg1compat curl rsync ]}" + --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnupg curl rsync coreutils + gawk gnused gnugrep ]}" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix b/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix index f30813cf120..7d6b620e223 100644 --- a/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchgit, mercurial, makeWrapper, - asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt, libxml2 +{ stdenv, lib, fetchFromGitHub, mercurial, makeWrapper +, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt, libxml2 }: stdenv.mkDerivation rec { - rev = "e716a9e1a9e460a45663694ba4e9e8894a8452b2"; - version = "0.2-${rev}"; - name = "git-remote-hg-${version}"; + pname = "git-remote-hg"; + version = "1.0.0"; - src = fetchgit { - inherit rev; - url = "git://github.com/fingolfin/git-remote-hg.git"; - sha256 = "0cmlfdxfabrs3x10mfjfap8wz67s8xk2pjn2wlcj9k2v84gji60m"; + src = fetchFromGitHub { + owner = "mnauw"; + repo = "git-remote-hg"; + rev = "v${version}"; + sha256 = "0anl054zdi5rg5m4bm1n763kbdjkpdws3c89c8w8m5gq1ifsbd4d"; }; buildInputs = [ mercurial.python mercurial makeWrapper @@ -26,11 +26,11 @@ stdenv.mkDerivation rec { --prefix PYTHONPATH : "$(echo ${mercurial}/lib/python*/site-packages):$(echo ${mercurial.python}/lib/python*/site-packages)${stdenv.lib.concatMapStrings (x: ":$(echo ${x}/lib/python*/site-packages)") mercurial.pythonPackages or []}" ''; - meta = with stdenv.lib; { - homepage = https://github.com/felipec/git-remote-hg; - description = "Semi-official Mercurial bridge from Git project, once installed, it allows you to clone, fetch and push to and from Mercurial repositories as if they were Git ones"; + meta = with lib; { + homepage = https://github.com/mnauw/git-remote-hg; + description = "Semi-official Mercurial bridge from Git project"; license = licenses.gpl2; - maintainers = [ maintainers.garbas ]; + maintainers = [ ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix b/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix index 03435ec834a..c0de46264d0 100644 --- a/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, makeWrapper, git, gnused }: stdenv.mkDerivation rec { - name = "git-reparent-${version}"; + pname = "git-reparent"; version = "unstable-2017-09-03"; src = fetchFromGitHub { diff --git a/pkgs/applications/version-management/git-and-tools/git-secret/default.nix b/pkgs/applications/version-management/git-and-tools/git-secret/default.nix index 0c5158e550c..62fbab02292 100644 --- a/pkgs/applications/version-management/git-and-tools/git-secret/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-secret/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchFromGitHub, makeWrapper, git, gnupg, gawk }: let - version = "0.2.5"; + version = "0.2.6"; repo = "git-secret"; in stdenv.mkDerivation { @@ -11,7 +11,7 @@ in stdenv.mkDerivation { inherit repo; owner = "sobolevn"; rev = "v${version}"; - sha256 = "1caxdx1ps662vfa79f7l1bwgwgwf974ahzii0hzaqfnkxy45i520"; + sha256 = "09p4h8mdmk0nzcd1jh1i6n29klz38n5vqqwdyzjkygmr2xqka55b"; }; buildInputs = [ makeWrapper ]; @@ -28,7 +28,7 @@ in stdenv.mkDerivation { meta = { description = "A bash-tool to store your private data inside a git repository"; - homepage = http://git-secret.io; + homepage = https://git-secret.io; license = stdenv.lib.licenses.mit; maintainers = [ stdenv.lib.maintainers.lo1tuma ]; platforms = stdenv.lib.platforms.all; diff --git a/pkgs/applications/version-management/git-and-tools/git-secrets/default.nix b/pkgs/applications/version-management/git-and-tools/git-secrets/default.nix index fb85bb7da46..c1a40b12cde 100644 --- a/pkgs/applications/version-management/git-and-tools/git-secrets/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-secrets/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, makeWrapper, git, coreutils }: stdenv.mkDerivation rec { - name = "git-secrets-${version}"; - version = "1.2.1"; + pname = "git-secrets"; + version = "1.3.0"; src = fetchFromGitHub { owner = "awslabs"; repo = "git-secrets"; rev = "${version}"; - sha256 = "14jsm4ks3k5d9iq3jr23829izw040pqpmv7dz8fhmvx6qz8fybzg"; + sha256 = "10lnxg0q855zi3d6804ivlrn6dc817kilzdh05mmz8a0ccvm2qc7"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/version-management/git-and-tools/git-standup/default.nix b/pkgs/applications/version-management/git-and-tools/git-standup/default.nix new file mode 100644 index 00000000000..c7488e84d5d --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git-standup/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, makeWrapper, git }: + +stdenv.mkDerivation rec { + pname = "git-standup"; + version = "2.3.1"; + + src = fetchFromGitHub { + owner = "kamranahmedse"; + repo = pname; + rev = version; + sha256 = "0wx9ypyxhpjbrasl6264jmj9fjrpg3gn93dg00cakabz3r7yxxq3"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + dontBuild = true; + + installPhase = '' + install -Dm755 -t $out/bin git-standup + + wrapProgram $out/bin/git-standup \ + --prefix PATH : "${stdenv.lib.makeBinPath [ git ]}" + ''; + + meta = with stdenv.lib; { + description = "Recall what you did on the last working day"; + homepage = "https://github.com/kamranahmedse/git-standup"; + license = licenses.mit; + maintainers = [ maintainers.marsam ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/version-management/git-and-tools/git-stree/default.nix b/pkgs/applications/version-management/git-and-tools/git-stree/default.nix index 6a52983e83c..e8eaf885c71 100644 --- a/pkgs/applications/version-management/git-and-tools/git-stree/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-stree/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchFromGitHub, ... }: stdenv.mkDerivation rec { - name = "git-stree-${version}"; + pname = "git-stree"; version = "0.4.5"; src = fetchFromGitHub { diff --git a/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix b/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix new file mode 100644 index 00000000000..24a1e1ac937 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix @@ -0,0 +1,58 @@ +{ stdenv, fetchFromGitHub, git, makeWrapper, which }: + +stdenv.mkDerivation rec { + pname = "git-subrepo"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "ingydotnet"; + repo = "git-subrepo"; + rev = version; + sha256 = "05m2dm9gq2nggwnxxdyq2kjj584sn2lxk66pr1qhjxnk81awj9l7"; + }; + + nativeBuildInputs = [ + makeWrapper + which + ]; + + buildInputs = [ + git + ]; + + makeFlags = [ + "PREFIX=${placeholder ''out''}" + "INSTALL_LIB=${placeholder ''out''}/bin" + "INSTALL_MAN=${placeholder ''out''}/share/man/man1" + ]; + + patches = [ + # Allow zsh completion to work even though we aren't installing from a git + # clone. Also submitted upstream as + # https://github.com/ingydotnet/git-subrepo/pull/420 + ./zsh-completion.patch + ]; + + postInstall = '' + ZSH_COMP_DIR="$out/share/zsh/vendor-completions" + mkdir -p "$ZSH_COMP_DIR" + cp share/zsh-completion/_git-subrepo "$ZSH_COMP_DIR/" + + BASH_COMP_DIR="$out/share/bash-completion/completions" + mkdir -p "$BASH_COMP_DIR" + cp share/completion.bash "$BASH_COMP_DIR/git-subrepo" + ''; + + postFixup = '' + wrapProgram $out/bin/git-subrepo \ + --prefix PATH : "${git}/bin" + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/ingydotnet/git-subrepo; + description = "Git submodule alternative"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = [ maintainers.ryantrinkle ]; + }; +} diff --git a/pkgs/applications/version-management/git-and-tools/git-subrepo/zsh-completion.patch b/pkgs/applications/version-management/git-and-tools/git-subrepo/zsh-completion.patch new file mode 100644 index 00000000000..dcba5ba6eea --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git-subrepo/zsh-completion.patch @@ -0,0 +1,32 @@ +diff --git a/pkg/bin/generate-completion.pl b/pkg/bin/generate-completion.pl +index 85ae3b8..d3e423c 100644 +--- a/pkg/bin/generate-completion.pl ++++ b/pkg/bin/generate-completion.pl +@@ -82,11 +82,6 @@ sub generate_zsh { + + # DO NOT EDIT. This file generated by pkg/bin/generate-completion.pl. + +-if [[ -z $GIT_SUBREPO_ROOT ]]; then +- echo 'GIT_SUBREPO_ROOT is null; has `/path/to/git-subrepo/.rc` been sourced?' +- return 3 +-fi +- + _git-subrepo() { + typeset -A opt_args + local curcontext="$curcontext" state line context +diff --git a/share/zsh-completion/_git-subrepo b/share/zsh-completion/_git-subrepo +index fc82be2..a8069d9 100644 +--- a/share/zsh-completion/_git-subrepo ++++ b/share/zsh-completion/_git-subrepo +@@ -3,11 +3,6 @@ + + # DO NOT EDIT. This file generated by pkg/bin/generate-completion.pl. + +-if [[ -z $GIT_SUBREPO_ROOT ]]; then +- echo 'GIT_SUBREPO_ROOT is null; has `/path/to/git-subrepo/.rc` been sourced?' +- return 3 +-fi +- + _git-subrepo() { + typeset -A opt_args + local curcontext="$curcontext" state line context diff --git a/pkgs/applications/version-management/git-and-tools/git-sync/default.nix b/pkgs/applications/version-management/git-and-tools/git-sync/default.nix index 7ba7d8ec243..7fa15c66809 100644 --- a/pkgs/applications/version-management/git-and-tools/git-sync/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-sync/default.nix @@ -2,7 +2,7 @@ }: stdenv.mkDerivation rec { - name = "git-sync-${version}"; + pname = "git-sync"; version = "20151024"; src = fetchFromGitHub { diff --git a/pkgs/applications/version-management/git-and-tools/git-test/default.nix b/pkgs/applications/version-management/git-and-tools/git-test/default.nix index 1150f008299..e55799c2752 100644 --- a/pkgs/applications/version-management/git-and-tools/git-test/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-test/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, makeWrapper, git }: stdenv.mkDerivation rec { - name = "git-test-${version}"; + pname = "git-test"; version = "1.0.4"; src = fetchFromGitHub { diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 46e88b1e0fc..3a4fcc09934 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -14,25 +14,29 @@ , darwin , withLibsecret ? false , pkgconfig, glib, libsecret +, gzip # needed at runtime by gitweb.cgi }: assert sendEmailSupport -> perlSupport; assert svnSupport -> perlSupport; let - version = "2.19.2"; + version = "2.22.1"; svn = subversionClient.override { perlBindings = perlSupport; }; + + gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ]; in stdenv.mkDerivation { - name = "git-${version}"; + pname = "git"; + inherit version; src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "1scbggzghkzzfqg4ky3qh7h9w87c3zya4ls5disz7dbx56is7sgw"; + sha256 = "093qjgagha937w96izkpsjkhxf5drsa7rvk5snlyjivqnwxgkqac"; }; - outputs = [ "out" ] ++ stdenv.lib.optional perlSupport "gitweb"; + outputs = [ "out" ]; hardeningDisable = [ "format" ]; @@ -96,7 +100,9 @@ stdenv.mkDerivation { postBuild = '' make -C contrib/subtree - '' + (stdenv.lib.optionalString stdenv.isDarwin '' + '' + (stdenv.lib.optionalString perlSupport '' + make -C contrib/diff-highlight + '') + (stdenv.lib.optionalString stdenv.isDarwin '' make -C contrib/credential/osxkeychain '') + (stdenv.lib.optionalString withLibsecret '' make -C contrib/credential/libsecret @@ -162,16 +168,13 @@ stdenv.mkDerivation { EOS )" perl -0777 -i -pe "$SCRIPT" \ - $out/libexec/git-core/git-{sh-setup,filter-branch,merge-octopus,mergetool,quiltimport,request-pull,stash,submodule,subtree,web--browse} + $out/libexec/git-core/git-{sh-setup,filter-branch,merge-octopus,mergetool,quiltimport,request-pull,submodule,subtree,web--browse} # Also put git-http-backend into $PATH, so that we can use smart # HTTP(s) transports for pushing ln -s $out/libexec/git-core/git-http-backend $out/bin/git-http-backend '' + stdenv.lib.optionalString perlSupport '' - # put in separate package for simpler maintenance - mv $out/share/gitweb $gitweb/ - # wrap perl commands makeWrapper "$out/share/git/contrib/credential/netrc/git-credential-netrc" $out/bin/git-credential-netrc \ --set PERL5LIB "$out/${perlPackages.perl.libPrefix}:${perlPackages.makePerlPath perlLibs}" @@ -185,6 +188,16 @@ stdenv.mkDerivation { --set GITPERLLIB "$out/${perlPackages.perl.libPrefix}:${perlPackages.makePerlPath perlLibs}" wrapProgram $out/libexec/git-core/git-cvsexportcommit \ --set GITPERLLIB "$out/${perlPackages.perl.libPrefix}:${perlPackages.makePerlPath perlLibs}" + + # gzip (and optionally bzip2, xz, zip) are runtime dependencies for + # gitweb.cgi, need to patch so that it's found + sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \ + $out/share/gitweb/gitweb.cgi + # Give access to CGI.pm and friends (was removed from perl core in 5.22) + for p in ${stdenv.lib.concatStringsSep " " gitwebPerlLibs}; do + sed -i -e "/use CGI /i use lib \"$p/${perlPackages.perl.libPrefix}\";" \ + "$out/share/gitweb/gitweb.cgi" + done '' + (if svnSupport then '' @@ -306,6 +319,6 @@ stdenv.mkDerivation { ''; platforms = stdenv.lib.platforms.all; - maintainers = with stdenv.lib.maintainers; [ peti the-kenny wmertens ]; + maintainers = with stdenv.lib.maintainers; [ peti the-kenny wmertens globin ]; }; } diff --git a/pkgs/applications/version-management/git-and-tools/git/docbook2texi.patch b/pkgs/applications/version-management/git-and-tools/git/docbook2texi.patch index ab5bb3c3a6c..f8f8ab86a9c 100644 --- a/pkgs/applications/version-management/git-and-tools/git/docbook2texi.patch +++ b/pkgs/applications/version-management/git-and-tools/git/docbook2texi.patch @@ -3,9 +3,10 @@ and (2) make sure `gitman.info' isn't produced since it's broken (duplicate node names). diff --git a/Documentation/Makefile b/Documentation/Makefile +index 26a2342bea..ceccd67ebb 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile -@@ -122,7 +122,7 @@ +@@ -132,7 +132,7 @@ HTML_REPO = ../../git-htmldocs MAKEINFO = makeinfo INSTALL_INFO = install-info @@ -14,7 +15,7 @@ diff --git a/Documentation/Makefile b/Documentation/Makefile DBLATEX = dblatex ASCIIDOC_DBLATEX_DIR = /etc/asciidoc/dblatex DBLATEX_COMMON = -p $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.xsl -s $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.sty -@@ -240,7 +240,7 @@ +@@ -250,7 +250,7 @@ man1: $(DOC_MAN1) man5: $(DOC_MAN5) man7: $(DOC_MAN7) @@ -23,7 +24,7 @@ diff --git a/Documentation/Makefile b/Documentation/Makefile pdf: user-manual.pdf -@@ -256,10 +256,9 @@ +@@ -266,10 +266,9 @@ install-man: man install-info: info $(INSTALL) -d -m 755 $(DESTDIR)$(infodir) diff --git a/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch b/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch index 6b93d061a3b..9603d8e27c5 100644 --- a/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch +++ b/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch @@ -1,7 +1,8 @@ diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt +index 1afe9fc858..05dd7c3a90 100644 --- a/Documentation/git-send-email.txt +++ b/Documentation/git-send-email.txt -@@ -208,8 +208,7 @@ a password is obtained using 'git-credential'. +@@ -215,8 +215,7 @@ a password is obtained using 'git-credential'. specify a full pathname of a sendmail-like program instead; the program must support the `-i` option. Default value can be specified by the `sendemail.smtpServer` configuration @@ -9,14 +10,15 @@ diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt - `/usr/sbin`, `/usr/lib` and $PATH if such program is + option; the built-in default is to search in $PATH if such program is available, falling back to `localhost` otherwise. - + --smtp-server-port=:: diff --git a/git-send-email.perl b/git-send-email.perl +index 8eb63b5a2f..74a61d8213 100755 --- a/git-send-email.perl +++ b/git-send-email.perl -@@ -944,8 +944,7 @@ if (defined $reply_to) { +@@ -956,8 +956,7 @@ sub expand_one_alias { } - + if (!defined $smtp_server) { - my @sendmail_paths = qw( /usr/sbin/sendmail /usr/lib/sendmail ); - push @sendmail_paths, map {"$_/sendmail"} split /:/, $ENV{PATH}; diff --git a/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch b/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch index 216c0e56b44..721f2aa099c 100644 --- a/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch +++ b/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch @@ -1,94 +1,23 @@ +diff --git a/git-sh-i18n.sh b/git-sh-i18n.sh +index e1d917fd27..e90f8e1414 100644 --- a/git-sh-i18n.sh +++ b/git-sh-i18n.sh -@@ -15,87 +15,11 @@ - fi - export TEXTDOMAINDIR - --# First decide what scheme to use... --GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough --if test -n "$GIT_GETTEXT_POISON" --then -- GIT_INTERNAL_GETTEXT_SH_SCHEME=poison --elif test -n "@@USE_GETTEXT_SCHEME@@" --then -- GIT_INTERNAL_GETTEXT_SH_SCHEME="@@USE_GETTEXT_SCHEME@@" --elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS" --then -- : no probing necessary +@@ -26,7 +26,7 @@ then + elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS" + then + : no probing necessary -elif type gettext.sh >/dev/null 2>&1 --then -- # GNU libintl's gettext.sh -- GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu --elif test "$(gettext -h 2>&1)" = "-h" --then -- # gettext binary exists but no gettext.sh. likely to be a gettext -- # binary on a Solaris or something that is not GNU libintl and -- # lack eval_gettext. -- GIT_INTERNAL_GETTEXT_SH_SCHEME=gettext_without_eval_gettext --fi --export GIT_INTERNAL_GETTEXT_SH_SCHEME -- --# ... and then follow that decision. --case "$GIT_INTERNAL_GETTEXT_SH_SCHEME" in --gnu) -- # Use libintl's gettext.sh, or fall back to English if we can't. ++elif type @gettext@/bin/gettext.sh >/dev/null 2>&1 + then + # GNU libintl's gettext.sh + GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu +@@ -43,7 +43,8 @@ export GIT_INTERNAL_GETTEXT_SH_SCHEME + case "$GIT_INTERNAL_GETTEXT_SH_SCHEME" in + gnu) + # Use libintl's gettext.sh, or fall back to English if we can't. - . gettext.sh -- ;; --gettext_without_eval_gettext) -- # Solaris has a gettext(1) but no eval_gettext(1) -- eval_gettext () { -- gettext "$1" | ( -- export PATH $(git sh-i18n--envsubst --variables "$1"); -- git sh-i18n--envsubst "$1" -- ) -- } -- -- eval_ngettext () { -- ngettext "$1" "$2" "$3" | ( -- export PATH $(git sh-i18n--envsubst --variables "$2"); -- git sh-i18n--envsubst "$2" -- ) -- } -- ;; --poison) -- # Emit garbage so that tests that incorrectly rely on translatable -- # strings will fail. -- gettext () { -- printf "%s" "# GETTEXT POISON #" -- } -- -- eval_gettext () { -- printf "%s" "# GETTEXT POISON #" -- } -- -- eval_ngettext () { -- printf "%s" "# GETTEXT POISON #" -- } -- ;; --*) -- gettext () { -- printf "%s" "$1" -- } -- -- eval_gettext () { -- printf "%s" "$1" | ( -- export PATH $(git sh-i18n--envsubst --variables "$1"); -- git sh-i18n--envsubst "$1" -- ) -- } -+# GNU gettext -+export GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu -+export PATH=@gettext@/bin:$PATH - -- eval_ngettext () { -- (test "$3" = 1 && printf "%s" "$1" || printf "%s" "$2") | ( -- export PATH $(git sh-i18n--envsubst --variables "$2"); -- git sh-i18n--envsubst "$2" -- ) -- } -- ;; --esac -+. @gettext@/bin/gettext.sh - - # Git-specific wrapper functions - gettextln () { ++ . @gettext@/bin/gettext.sh ++ export PATH=@gettext@/bin:$PATH + ;; + gettext_without_eval_gettext) + # Solaris has a gettext(1) but no eval_gettext(1) diff --git a/pkgs/applications/version-management/git-and-tools/git/installCheck-path.patch b/pkgs/applications/version-management/git-and-tools/git/installCheck-path.patch index 8c68fb9f186..4b73d11744b 100644 --- a/pkgs/applications/version-management/git-and-tools/git/installCheck-path.patch +++ b/pkgs/applications/version-management/git-and-tools/git/installCheck-path.patch @@ -1,12 +1,13 @@ diff --git a/t/test-lib.sh b/t/test-lib.sh +index 8665b0a9b6..8bb892b1af 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh -@@ -923,7 +923,7 @@ +@@ -1227,7 +1227,7 @@ elif test -n "$GIT_TEST_INSTALLED" then GIT_EXEC_PATH=$($GIT_TEST_INSTALLED/git --exec-path) || error "Cannot run git from $GIT_TEST_INSTALLED." -- PATH=$GIT_TEST_INSTALLED:$GIT_BUILD_DIR:$PATH +- PATH=$GIT_TEST_INSTALLED:$GIT_BUILD_DIR/t/helper:$PATH + PATH=$GIT_TEST_INSTALLED:$GIT_BUILD_DIR/t/helper:$GIT_BUILD_DIR:$PATH GIT_EXEC_PATH=${GIT_TEST_EXEC_PATH:-$GIT_EXEC_PATH} else # normal case, use ../bin-wrappers only unless $with_dashes: - git_bin_dir="$GIT_BUILD_DIR/bin-wrappers" + if test -n "$no_bin_wrappers" diff --git a/pkgs/applications/version-management/git-and-tools/git/ssh-path.patch b/pkgs/applications/version-management/git-and-tools/git/ssh-path.patch index addb1dbc5e0..71cdc694ac3 100644 --- a/pkgs/applications/version-management/git-and-tools/git/ssh-path.patch +++ b/pkgs/applications/version-management/git-and-tools/git/ssh-path.patch @@ -1,18 +1,18 @@ diff --git a/connect.c b/connect.c -index c3a014c5b..fbca3262b 100644 +index 4813f005ab..b3f12f3268 100644 --- a/connect.c +++ b/connect.c -@@ -1010,7 +1010,7 @@ static void fill_ssh_args(struct child_process *conn, const char *ssh_host, - +@@ -1183,7 +1183,7 @@ static void fill_ssh_args(struct child_process *conn, const char *ssh_host, + ssh = getenv("GIT_SSH"); if (!ssh) - ssh = "ssh"; + ssh = "@ssh@"; variant = determine_ssh_variant(ssh, 0); } - + diff --git a/git-gui/lib/remote_add.tcl b/git-gui/lib/remote_add.tcl -index 480a6b30d..781720424 100644 +index 480a6b30d0..7817204241 100644 --- a/git-gui/lib/remote_add.tcl +++ b/git-gui/lib/remote_add.tcl @@ -139,7 +139,7 @@ method _add {} { diff --git a/pkgs/applications/version-management/git-and-tools/git/update.sh b/pkgs/applications/version-management/git-and-tools/git/update.sh new file mode 100755 index 00000000000..05944014743 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git/update.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl common-updater-scripts jq + +set -eu -o pipefail + +oldVersion="$(nix-instantiate --eval -E "with import ./. {}; git.version or (builtins.parseDrvName git.name).version" | tr -d '"')" +latestTag="$(git ls-remote --tags --sort="v:refname" git://github.com/git/git.git | grep -v '\{\}' | grep -v '\-rc' | tail -1 | sed 's|^.*/v\(.*\)|\1|')" + +if [ ! "${oldVersion}" = "${latestTag}" ]; then + update-source-version git "${latestTag}" + nixpkgs="$(git rev-parse --show-toplevel)" + default_nix="$nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix" + nix-build -A git + git add "${default_nix}" + git commit -m "git: ${oldVersion} -> ${latestTag}" +else + echo "git is already up-to-date" +fi diff --git a/pkgs/applications/version-management/git-and-tools/git2cl/default.nix b/pkgs/applications/version-management/git-and-tools/git2cl/default.nix index 044800fe73a..036f8b4114e 100644 --- a/pkgs/applications/version-management/git-and-tools/git2cl/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git2cl/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { ''; meta = { - homepage = http://josefsson.org/git2cl/; + homepage = https://savannah.nongnu.org/projects/git2cl; description = "Convert git logs to GNU style ChangeLog files"; platforms = stdenv.lib.platforms.unix; }; diff --git a/pkgs/applications/version-management/git-and-tools/gita/default.nix b/pkgs/applications/version-management/git-and-tools/gita/default.nix index 6979a47cdfc..6ecf81779f2 100644 --- a/pkgs/applications/version-management/git-and-tools/gita/default.nix +++ b/pkgs/applications/version-management/git-and-tools/gita/default.nix @@ -1,15 +1,19 @@ -{ lib, python3Packages }: +{ lib +, buildPythonApplication +, fetchPypi +, pyyaml +}: -python3Packages.buildPythonApplication rec { - version = "0.7.3"; +buildPythonApplication rec { + version = "0.9.2"; pname = "gita"; - src = python3Packages.fetchPypi { + src = fetchPypi { inherit pname version; - sha256 = "0ccqjf288513im7cvafiw4ypbp9s3z0avyzd4jzr13m38jrsss3r"; + sha256 = "1aycqq4crsa57ghpv7xc497rf4y8x43fcfd0v9prd2kn6h1793r0"; }; - propagatedBuildInputs = with python3Packages; [ + propagatedBuildInputs = [ pyyaml ]; diff --git a/pkgs/applications/version-management/git-and-tools/gitflow/default.nix b/pkgs/applications/version-management/git-and-tools/gitflow/default.nix index 698de486b5b..57af13f597a 100644 --- a/pkgs/applications/version-management/git-and-tools/gitflow/default.nix +++ b/pkgs/applications/version-management/git-and-tools/gitflow/default.nix @@ -4,14 +4,13 @@ with pkgs.lib; stdenv.mkDerivation rec { pname = "gitflow"; - version = "1.11.0"; - name = "${pname}-${version}"; + version = "1.12.2"; src = fetchFromGitHub { owner = "petervanderdoes"; repo = pname; rev = version; - sha256 = "0zk53g0wd5n1zlhkwlfp124i6agx8kl0cwvy0dia3jh1p51vsc1q"; + sha256 = "0smwlc1wa4ndvspc9x6f4jwnzr58achysrhhip402j98d7di8hw5"; }; buildInputs = [ pkgs.makeWrapper ]; @@ -37,6 +36,6 @@ stdenv.mkDerivation rec { ''; license = licenses.bsd2; platforms = platforms.all; - maintainers = with maintainers; [ offline jgeerds ]; + maintainers = with maintainers; [ offline ]; }; } diff --git a/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix b/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix new file mode 100644 index 00000000000..1de631e8b6a --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix @@ -0,0 +1,30 @@ +{callPackage, stdenv, fetchFromGitHub, ...}: + +stdenv.mkDerivation rec { + pname = "gitstatus"; + version = "unstable-2019-05-06"; + + src = fetchFromGitHub { + owner = "romkatv"; + repo = "gitstatus"; + rev = "9c791f93c23c04dadfab8b4309a863b62a6ee424"; + sha256 = "0jbdrgl62x6j920h72n2q6304fb6gdgnmllpv4aa76m13b9qhgq6"; + }; + + buildInputs = [ (callPackage ./romkatv_libgit2.nix {}) ]; + patchPhase = '' + sed -i "s|local daemon.*|local daemon=$out/bin/gitstatusd|" gitstatus.plugin.zsh + ''; + installPhase = '' + install -Dm755 gitstatusd $out/bin/gitstatusd + install -Dm444 gitstatus.plugin.zsh $out + ''; + + meta = with stdenv.lib; { + description = "10x faster implementation of `git status` command"; + homepage = https://github.com/romkatv/gitstatus; + license = [ licenses.gpl3 ]; + + maintainers = [ maintainers.mmlb ]; + }; +} diff --git a/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix b/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix new file mode 100644 index 00000000000..22f35e22fb5 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix @@ -0,0 +1,19 @@ +{fetchFromGitHub, libgit2, ...}: + +libgit2.overrideAttrs (oldAttrs: rec { + cmakeFlags = oldAttrs.cmakeFlags ++ [ + "-DUSE_BUNDLED_ZLIB=ON" + "-DUSE_ICONV=OFF" + "-DBUILD_CLAR=OFF" + "-DUSE_SSH=OFF" + "-DUSE_HTTPS=OFF" + "-DBUILD_SHARED_LIBS=OFF" + "-DUSE_EXT_HTTP_PARSER=OFF" + ]; + src = fetchFromGitHub { + owner = "romkatv"; + repo = "libgit2"; + rev = "aab6c56e6766fa752bef00c745067d875925fc89"; + sha256 = "1yqqhpi5xi6s86411sixw4yq5c6n2v8pdh447c8b7q5lfc089lvl"; + }; +}) diff --git a/pkgs/applications/version-management/git-and-tools/gitweb/default.nix b/pkgs/applications/version-management/git-and-tools/gitweb/default.nix index a98dd5bc586..afd90ba4969 100644 --- a/pkgs/applications/version-management/git-and-tools/gitweb/default.nix +++ b/pkgs/applications/version-management/git-and-tools/gitweb/default.nix @@ -1,35 +1,25 @@ -{ stdenv, git, gzip, perlPackages, fetchFromGitHub +{ stdenv, buildEnv, git, fetchFromGitHub , gitwebTheme ? false }: let - gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ]; gitwebThemeSrc = fetchFromGitHub { owner = "kogakure"; repo = "gitweb-theme"; rev = "049b88e664a359f8ec25dc6f531b7e2aa60dd1a2"; - sha256 = "0wksqma41z36dbv6w6iplkjfdm0ha3njp222fakyh4lismajr71p"; + extraPostFetch = '' + mkdir -p "$TMPDIR/gitwebTheme" + mv "$out"/* "$TMPDIR/gitwebTheme/" + mkdir "$out/static" + mv "$TMPDIR/gitwebTheme"/* "$out/static/" + ''; + sha256 = "17hypq6jvhy6zhh26lp3nyi52npfd5wy5752k6sq0shk4na2acqi"; }; -in stdenv.mkDerivation { +in buildEnv { name = "gitweb-${stdenv.lib.getVersion git}"; - src = git.gitweb; - - installPhase = '' - mkdir $out - mv * $out - - # gzip (and optionally bzip2, xz, zip) are runtime dependencies for - # gitweb.cgi, need to patch so that it's found - sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \ - $out/gitweb.cgi - # Give access to CGI.pm and friends (was removed from perl core in 5.22) - for p in ${stdenv.lib.concatStringsSep " " gitwebPerlLibs}; do - sed -i -e "/use CGI /i use lib \"$p/${perlPackages.perl.libPrefix}\";" \ - "$out/gitweb.cgi" - done - - ${stdenv.lib.optionalString gitwebTheme "cp ${gitwebThemeSrc}/* $out/static"} - ''; + ignoreCollisions = true; + paths = stdenv.lib.optional gitwebTheme "${gitwebThemeSrc}" + ++ [ "${git}/share/gitweb" ]; meta = git.meta // { maintainers = with stdenv.lib.maintainers; [ gnidorah ]; diff --git a/pkgs/applications/version-management/git-and-tools/grv/default.nix b/pkgs/applications/version-management/git-and-tools/grv/default.nix index 32c163c45c4..e6b746233fe 100644 --- a/pkgs/applications/version-management/git-and-tools/grv/default.nix +++ b/pkgs/applications/version-management/git-and-tools/grv/default.nix @@ -1,11 +1,12 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, curl, libgit2_0_27, ncurses, pkgconfig, readline }: +{ stdenv, buildGoPackage, fetchFromGitHub, curl, libgit2, ncurses, pkgconfig, readline }: let version = "0.3.1"; in buildGoPackage { - name = "grv-${version}"; + pname = "grv"; + inherit version; - buildInputs = [ ncurses readline curl libgit2_0_27 ]; + buildInputs = [ ncurses readline curl libgit2 ]; nativeBuildInputs = [ pkgconfig ]; goPackagePath = "github.com/rgburke/grv"; diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix index 8ae600ed360..f1950923415 100644 --- a/pkgs/applications/version-management/git-and-tools/hub/default.nix +++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix @@ -1,8 +1,8 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, ronn, ruby, groff, Security, utillinux, git, glibcLocales }: +{ stdenv, buildGoPackage, fetchFromGitHub, groff, Security, utillinux }: buildGoPackage rec { pname = "hub"; - version = "2.9.0"; + version = "2.12.3"; goPackagePath = "github.com/github/hub"; @@ -13,12 +13,11 @@ buildGoPackage rec { owner = "github"; repo = pname; rev = "v${version}"; - sha256 = "0yxpr606xx23l8823hjqj16cvjjrwb28c7z08ml1pkfvaf7w4n81"; + sha256 = "13l4nc3k6vl9x1x0153mwi351j3z266wx0fp7xw2851avrgkk9zg"; }; - nativeBuildInputs = [ groff ronn utillinux glibcLocales ]; - buildInputs = [ ruby ] ++ - stdenv.lib.optional stdenv.isDarwin Security; + nativeBuildInputs = [ groff utillinux ]; + buildInputs = stdenv.lib.optional stdenv.isDarwin Security; postPatch = '' patchShebangs . @@ -30,7 +29,8 @@ buildGoPackage rec { install -D etc/hub.bash_completion.sh "$bin/share/bash-completion/completions/hub" install -D etc/hub.fish_completion "$bin/share/fish/vendor_completions.d/hub.fish" - PATH=$PATH:${git}/bin LC_ALL=en_US.utf-8 make man-pages + LC_ALL=C.UTF8 \ + make man-pages cp -vr --parents share/man/man[1-9]/*.[1-9] $bin/ ''; @@ -38,7 +38,7 @@ buildGoPackage rec { description = "Command-line wrapper for git that makes you better at GitHub"; license = licenses.mit; homepage = https://hub.github.com/; - maintainers = with maintainers; [ the-kenny ]; + maintainers = with maintainers; [ the-kenny globin ]; platforms = with platforms; unix; }; } diff --git a/pkgs/applications/version-management/git-and-tools/lab/default.nix b/pkgs/applications/version-management/git-and-tools/lab/default.nix index daec9ce9d2a..a1ef489b007 100644 --- a/pkgs/applications/version-management/git-and-tools/lab/default.nix +++ b/pkgs/applications/version-management/git-and-tools/lab/default.nix @@ -1,27 +1,32 @@ -{ stdenv, buildGoPackage, fetchFromGitHub }: +{ stdenv, buildGoModule, fetchFromGitHub }: -buildGoPackage rec { - name = "lab-${version}"; - version = "0.14.0"; - - goPackagePath = "github.com/zaquestion/lab"; - - subPackages = [ "." ]; +buildGoModule rec { + pname = "lab"; + version = "0.16.0"; src = fetchFromGitHub { owner = "zaquestion"; repo = "lab"; rev = "v${version}"; - sha256 = "0dqahzm721kpps4i33qgk78y982n8gj5afpk73qyzbraf5y3cw92"; + sha256 = "0f1gi4mlcxjvz2sgh0hzzsqxg5gfvq2ay7xjd0y1kz3pp8kxja7i"; }; - goDeps = ./deps.nix; + subPackages = [ "." ]; + + modSha256 = "0bw47dd1b46ywsian2b957a4ipm77ncidipzri9ra39paqlv7abb"; + + postInstall = '' + mkdir -p "$out/share/bash-completion/completions" "$out/share/zsh/site-functions" + export LAB_CORE_HOST=a LAB_CORE_USER=b LAB_CORE_TOKEN=c + $out/bin/lab completion bash > $out/share/bash-completion/completions/lab + $out/bin/lab completion zsh > $out/share/zsh/site-functions/_lab + ''; meta = with stdenv.lib; { description = "Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab"; homepage = https://zaquestion.github.io/lab; - license = licenses.unlicense; - maintainers = [ maintainers.marsam ]; + license = licenses.cc0; + maintainers = with maintainers; [ marsam dtzWill ]; platforms = platforms.all; }; } diff --git a/pkgs/applications/version-management/git-and-tools/lab/deps.nix b/pkgs/applications/version-management/git-and-tools/lab/deps.nix deleted file mode 100644 index 03959300b43..00000000000 --- a/pkgs/applications/version-management/git-and-tools/lab/deps.nix +++ /dev/null @@ -1,327 +0,0 @@ -# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) -[ - { - goPackagePath = "github.com/avast/retry-go"; - fetch = { - type = "git"; - url = "https://github.com/avast/retry-go"; - rev = "5469272a8171235352a56af37e5f7facf814423f"; - sha256 = "0ql8x5c99sh1f4vdd5614zd0bi4z8z19228vm4xkvii11bsj8dx6"; - }; - } - { - goPackagePath = "github.com/cpuguy83/go-md2man"; - fetch = { - type = "git"; - url = "https://github.com/cpuguy83/go-md2man"; - rev = "20f5889cbdc3c73dbd2862796665e7c465ade7d1"; - sha256 = "1w22dfdamsq63b5rvalh9k2y7rbwfkkjs7vm9vd4a13h2ql70lg2"; - }; - } - { - goPackagePath = "github.com/davecgh/go-spew"; - fetch = { - type = "git"; - url = "https://github.com/davecgh/go-spew"; - rev = "346938d642f2ec3594ed81d874461961cd0faa76"; - sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c"; - }; - } - { - goPackagePath = "github.com/fsnotify/fsnotify"; - fetch = { - type = "git"; - url = "https://github.com/fsnotify/fsnotify"; - rev = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9"; - sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; - }; - } - { - goPackagePath = "github.com/gdamore/encoding"; - fetch = { - type = "git"; - url = "https://github.com/gdamore/encoding"; - rev = "b23993cbb6353f0e6aa98d0ee318a34728f628b9"; - sha256 = "0d7irqpx2fa9vkxgkhf04yiwazsm10fxh0yk86x5crflhph5fv8a"; - }; - } - { - goPackagePath = "github.com/gdamore/tcell"; - fetch = { - type = "git"; - url = "https://github.com/gdamore/tcell"; - rev = "2f258105ca8ce35819115b49f5ac58197241653e"; - sha256 = "1sji4fjd7i70lc6l19zhz718xld96k0h1sb1as1mmrx0iv858xaz"; - }; - } - { - goPackagePath = "github.com/golang/protobuf"; - fetch = { - type = "git"; - url = "https://github.com/golang/protobuf"; - rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265"; - sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq"; - }; - } - { - goPackagePath = "github.com/google/go-querystring"; - fetch = { - type = "git"; - url = "https://github.com/google/go-querystring"; - rev = "53e6ce116135b80d037921a7fdd5138cf32d7a8a"; - sha256 = "0lkbm067nhmxk66pyjx59d77dbjjzwyi43gdvzyx2f8m1942rq7f"; - }; - } - { - goPackagePath = "github.com/hashicorp/hcl"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/hcl"; - rev = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168"; - sha256 = "1qalfsc31fra7hcw2lc3s20aj7al62fq3j5fn5kga3mg99b82nyr"; - }; - } - { - goPackagePath = "github.com/inconshreveable/mousetrap"; - fetch = { - type = "git"; - url = "https://github.com/inconshreveable/mousetrap"; - rev = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"; - sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152"; - }; - } - { - goPackagePath = "github.com/lucasb-eyer/go-colorful"; - fetch = { - type = "git"; - url = "https://github.com/lucasb-eyer/go-colorful"; - rev = "231272389856c976b7500c4fffcc52ddf06ff4eb"; - sha256 = "161n224v46mln3swzv0009ffj9fxg2n814l9vqs3zh9dq1dmj0jn"; - }; - } - { - goPackagePath = "github.com/lunixbochs/vtclean"; - fetch = { - type = "git"; - url = "https://github.com/lunixbochs/vtclean"; - rev = "2d01aacdc34a083dca635ba869909f5fc0cd4f41"; - sha256 = "1ss88dyx5hr4imvpg5lixvp0cf7c2qm4x9m8mdgshjpm92g5rqmf"; - }; - } - { - goPackagePath = "github.com/magiconair/properties"; - fetch = { - type = "git"; - url = "https://github.com/magiconair/properties"; - rev = "c3beff4c2358b44d0493c7dda585e7db7ff28ae6"; - sha256 = "04ccjc9nd1wffvw24ixyfw3v5g48zq7pbq1wz1zg9cyqyxy14qgr"; - }; - } - { - goPackagePath = "github.com/mattn/go-runewidth"; - fetch = { - type = "git"; - url = "https://github.com/mattn/go-runewidth"; - rev = "9e777a8366cce605130a531d2cd6363d07ad7317"; - sha256 = "0vkrfrz3fzn5n6ix4k8s0cg0b448459sldq8bp4riavsxm932jzb"; - }; - } - { - goPackagePath = "github.com/mitchellh/mapstructure"; - fetch = { - type = "git"; - url = "https://github.com/mitchellh/mapstructure"; - rev = "00c29f56e2386353d58c599509e8dc3801b0d716"; - sha256 = "1vw8fvhax0d567amgvxr7glcl12lvzg2sbzs007q5k5bbwn1szyb"; - }; - } - { - goPackagePath = "github.com/pelletier/go-toml"; - fetch = { - type = "git"; - url = "https://github.com/pelletier/go-toml"; - rev = "acdc4509485b587f5e675510c4f2c63e90ff68a8"; - sha256 = "1y5m9pngxhsfzcnxh8ma5nsllx74wn0jr47p2n6i3inrjqxr12xh"; - }; - } - { - 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/rivo/tview"; - fetch = { - type = "git"; - url = "https://github.com/rivo/tview"; - rev = "f855bee0205c35e6a055b86cc341effea0f446ce"; - sha256 = "0jn9r3gzvm3gr72rb7zz2g8794nnl56l8flqfav00pfk0qiqp8xw"; - }; - } - { - goPackagePath = "github.com/russross/blackfriday"; - fetch = { - type = "git"; - url = "https://github.com/russross/blackfriday"; - rev = "55d61fa8aa702f59229e6cff85793c22e580eaf5"; - sha256 = "0qmavm5d14kj6im6sqzpqnlhpy524428vkn4hnfwknndr9rycmn0"; - }; - } - { - goPackagePath = "github.com/spf13/afero"; - fetch = { - type = "git"; - url = "https://github.com/spf13/afero"; - rev = "63644898a8da0bc22138abf860edaf5277b6102e"; - sha256 = "13piahaq4vw1y1sklq5scrsflqx0a8hzmdqfz1fy4871kf2gl8qw"; - }; - } - { - 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 = "615425954c3b0d9485a7027d4d451fdcdfdee84e"; - sha256 = "01zsislgc72j86a1zq7xs7xj3lvxjjviz4lgn4144jzgppwanpk6"; - }; - } - { - 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 = "583c0c0531f06d5278b7d917446061adc344b5cd"; - sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5"; - }; - } - { - goPackagePath = "github.com/spf13/viper"; - fetch = { - type = "git"; - url = "https://github.com/spf13/viper"; - rev = "15738813a09db5c8e5b60a19d67d3f9bd38da3a4"; - sha256 = "1mjfzg8zvnxckaq6l8gw99i2msrfqn9yr04dc3b7kd5bpxi6zr4v"; - }; - } - { - goPackagePath = "github.com/stretchr/testify"; - fetch = { - type = "git"; - url = "https://github.com/stretchr/testify"; - rev = "12b6f73e6084dad08a7c6e575284b177ecafbc71"; - sha256 = "01f80s0q64pw5drfgqwwk1wfwwkvd2lhbs56lhhkff4ni83k73fd"; - }; - } - { - goPackagePath = "github.com/tcnksm/go-gitconfig"; - fetch = { - type = "git"; - url = "https://github.com/tcnksm/go-gitconfig"; - rev = "d154598bacbf4501c095a309753c5d4af66caa81"; - sha256 = "0sz7h383h7ngrqkk35ic37kfvhlk07g4kanps8bnapwczrcm2am9"; - }; - } - { - goPackagePath = "github.com/xanzy/go-gitlab"; - fetch = { - type = "git"; - url = "https://github.com/xanzy/go-gitlab"; - rev = "8d21e61ce4a9b9c7fe645e48672872e9fdb71138"; - sha256 = "1lac57ard1vrd16ri8gfyd0ck8d7xg7zbcjlz90223jp0vc3l8nv"; - }; - } - { - goPackagePath = "golang.org/x/crypto"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/crypto"; - rev = "e73bf333ef8920dbb52ad18d4bd38ad9d9bc76d7"; - sha256 = "1amcpva20vff8v0lww655icaaf7388ns8xhm859whn4w4v0vanyg"; - }; - } - { - goPackagePath = "golang.org/x/net"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/net"; - rev = "f4c29de78a2a91c00474a2e689954305c350adf9"; - sha256 = "02nibjrr1il8sxnr0w1s5fj7gz6ayhg3hsywf948qhc68n5adv8x"; - }; - } - { - 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 = "79b0c6888797020a994db17c8510466c72fe75d9"; - sha256 = "0aydjw886c4dwcjg7ssb7xp39ag1529nh3ly1la71rqjr94cjnag"; - }; - } - { - goPackagePath = "golang.org/x/text"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/text"; - rev = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"; - sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; - }; - } - { - goPackagePath = "google.golang.org/appengine"; - fetch = { - type = "git"; - url = "https://github.com/golang/appengine"; - rev = "b1f26356af11148e710935ed1ac8a7f5702c7612"; - sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x"; - }; - } - { - goPackagePath = "gopkg.in/yaml.v2"; - fetch = { - type = "git"; - url = "https://github.com/go-yaml/yaml"; - rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; - sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; - }; - } -] \ No newline at end of file diff --git a/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix b/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix deleted file mode 100644 index 331b020d8ca..00000000000 --- a/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ stdenv, python3Packages }: -with python3Packages; buildPythonApplication rec { - pname = "pre_commit"; - version = "1.11.1"; - - src = fetchPypi { - inherit pname version; - sha256 = "1kjrq8z78b6aqhyyw07dlwf6cqls88kik6f5l07hs71fj5ddvs9w"; - }; - - propagatedBuildInputs = [ - aspy-yaml - cached-property - cfgv - identify - nodeenv - six - toml - virtualenv - ]; - - # Tests fail due to a missing windll dependency - doCheck = false; - - meta = with stdenv.lib; { - description = "A framework for managing and maintaining multi-language pre-commit hooks"; - homepage = https://pre-commit.com/; - license = licenses.mit; - maintainers = with maintainers; [ borisbabic ]; - }; -} diff --git a/pkgs/applications/version-management/git-and-tools/qgit/default.nix b/pkgs/applications/version-management/git-and-tools/qgit/default.nix index 0074d44391e..74fad30b8a9 100644 --- a/pkgs/applications/version-management/git-and-tools/qgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/qgit/default.nix @@ -1,24 +1,23 @@ -{ stdenv, fetchFromGitHub, cmake, qtbase }: +{ mkDerivation, lib, fetchFromGitHub, cmake, qtbase }: -stdenv.mkDerivation rec { - name = "qgit-2.8"; +mkDerivation rec { + pname = "qgit"; + version = "2.9"; src = fetchFromGitHub { owner = "tibirna"; repo = "qgit"; - rev = name; - sha256 = "01l6mz2f333x3zbfr68mizwpsh6sdsnadcavpasidiych1m5ry8f"; + rev = "${pname}-${version}"; + sha256 = "0n4dq9gffm9yd7n5p5qcdfgrmg2kwnfd51hfx10adgj9ibxlnc3z"; }; buildInputs = [ qtbase ]; nativeBuildInputs = [ cmake ]; - enableParallelBuilding = true; - - meta = with stdenv.lib; { + meta = with lib; { license = licenses.gpl2; - homepage = http://libre.tibirna.org/projects/qgit/wiki/QGit; + homepage = https://github.com/tibirna/qgit; description = "Graphical front-end to Git"; maintainers = with maintainers; [ peterhoeg markuskowa ]; inherit (qtbase.meta) platforms; diff --git a/pkgs/applications/version-management/git-and-tools/subgit/default.nix b/pkgs/applications/version-management/git-and-tools/subgit/default.nix index 7b36a142d15..6866418f3e3 100644 --- a/pkgs/applications/version-management/git-and-tools/subgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/subgit/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, unzip, makeWrapper, jre }: stdenv.mkDerivation rec { - name = "subgit-3.2.4"; + name = "subgit-3.3.7"; meta = { description = "A tool for a smooth, stress-free SVN to Git migration"; @@ -21,6 +21,6 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://subgit.com/download/${name}.zip"; - sha256 = "13r6hi2zk46bs3j17anfc85kszlwliv2yc16qx834b3v4w68hajw"; + sha256 = "1cpssmvp961kw8s3b9s9bv9jmsm1gk3napggw5810c4rnnihjvrn"; }; } diff --git a/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix b/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix index 0ee188cc19d..3c7784e8506 100644 --- a/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix +++ b/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix @@ -1,16 +1,17 @@ { stdenv, fetchFromGitHub, qmake, qtbase, qttools, subversion, apr }: let - version = "1.0.13"; + version = "1.0.16"; in stdenv.mkDerivation { - name = "svn-all-fast-export-${version}"; + pname = "svn-all-fast-export"; + inherit version; src = fetchFromGitHub { owner = "svn-all-fast-export"; repo = "svn2git"; rev = version; - sha256 = "0f1qj0c4cdq46mz54wcy17g7rq1fy2q0bq3sswhr7r5a2s433x4f"; + sha256 = "1xs3gngjkna458liaqjsc8ryld03mdmvycnkzwsgyzfxsgjx1i3l"; }; nativeBuildInputs = [ qmake qttools ]; diff --git a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix index d00fdd0c29e..821ecf3e3d8 100644 --- a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix @@ -4,7 +4,8 @@ let version = "2.4.0"; in stdenv.mkDerivation { - name = "svn2git-${version}"; + pname = "svn2git"; + inherit version; src = fetchurl { url = "https://github.com/nirvdrum/svn2git/archive/v${version}.tar.gz"; diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix index a407f6e7ab1..59354598d00 100644 --- a/pkgs/applications/version-management/git-and-tools/tig/default.nix +++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix @@ -5,12 +5,11 @@ stdenv.mkDerivation rec { pname = "tig"; version = "2.4.1"; - name = "${pname}-${version}"; src = fetchFromGitHub { owner = "jonas"; repo = pname; - rev = name; + rev = "${pname}-${version}"; sha256 = "0i26yfn2vjgsg1kdvhhv55jwzds7ih7cnad1xqvilqm83zh47ksd"; }; @@ -46,7 +45,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = https://jonas.github.io/tig/; description = "Text-mode interface for git"; - maintainers = with maintainers; [ garbas bjornfor domenkozar qknight ]; + maintainers = with maintainers; [ bjornfor domenkozar qknight globin ]; license = licenses.gpl2; platforms = platforms.unix; }; diff --git a/pkgs/applications/version-management/git-and-tools/topgit/default.nix b/pkgs/applications/version-management/git-and-tools/topgit/default.nix index c183bbde7e6..0da0cfa02b6 100644 --- a/pkgs/applications/version-management/git-and-tools/topgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/topgit/default.nix @@ -1,26 +1,30 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchFromGitHub, git, perl }: stdenv.mkDerivation rec { - name = "topgit-0.9"; + pname = "topgit"; + version = "0.19.12"; - src = fetchurl { - url = "https://github.com/greenrd/topgit/archive/${name}.tar.gz"; - sha256 = "1z9x42a0cmn8n2n961qcfl522nd6j9a3dpx1jbqfp24ddrk5zd94"; + src = fetchFromGitHub { + owner = "mackyle"; + repo = "topgit"; + rev = "${pname}-${version}"; + sha256 = "1wvf8hmwwl7a2fr17cfs3pbxjccdsjw9ngzivxlgja0gvfz4hjd5"; }; - configurePhase = "makeFlags=prefix=$out"; + makeFlags = [ "prefix=${placeholder "out"}" ]; + + nativeBuildInputs = [ perl git ]; postInstall = '' - mkdir -p "$out/share/doc/${name}" "$out/etc/bash_completion.d/" - mv README "$out/share/doc/${name}/" - mv contrib/tg-completion.bash "$out/etc/bash_completion.d/" + install -Dm644 README -t"$out/share/doc/${pname}-${version}/" + install -Dm755 contrib/tg-completion.bash -t "$out/etc/bash_completion.d/" ''; - meta = { - homepage = https://github.com/greenrd/topgit; + meta = with stdenv.lib; { description = "TopGit manages large amount of interdependent topic branches"; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.unix; - maintainers = with stdenv.lib.maintainers; [ marcweber ]; + homepage = "https://github.com/mackyle/topgit"; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = with maintainers; [ marcweber ]; }; } diff --git a/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix b/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix index 35e9c17438f..3b8affb57ed 100644 --- a/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix +++ b/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchFromGitHub, git, makeWrapper, openssl }: +{ stdenv, fetchFromGitHub, git, makeWrapper, openssl, coreutils, utillinux, gnugrep, gnused, gawk }: stdenv.mkDerivation rec { - name = "transcrypt-${version}"; + pname = "transcrypt"; version = "1.1.0"; src = fetchFromGitHub { @@ -11,7 +11,9 @@ stdenv.mkDerivation rec { sha256 = "1dkr69plk16wllk5bzlkchrzw63pk239dgbjhrb3mb61i065jdam"; }; - buildInputs = [ git makeWrapper openssl ]; + buildInputs = [ makeWrapper git openssl coreutils utillinux gnugrep gnused gawk ]; + + patches = [ ./helper-scripts_depspathprefix.patch ]; installPhase = '' install -m 755 -D transcrypt $out/bin/transcrypt @@ -20,7 +22,13 @@ stdenv.mkDerivation rec { install -m 644 -D contrib/zsh/_transcrypt $out/share/zsh/site-functions/_transcrypt wrapProgram $out/bin/transcrypt \ - --prefix PATH : "${stdenv.lib.makeBinPath [ git openssl ]}" + --prefix PATH : "${stdenv.lib.makeBinPath [ git openssl coreutils utillinux gnugrep gnused gawk ]}" + + cat > $out/bin/transcrypt-depspathprefix << EOF + #!${stdenv.shell} + echo "${stdenv.lib.makeBinPath [ git openssl coreutils gawk ]}:" + EOF + chmod +x $out/bin/transcrypt-depspathprefix ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/version-management/git-and-tools/transcrypt/helper-scripts_depspathprefix.patch b/pkgs/applications/version-management/git-and-tools/transcrypt/helper-scripts_depspathprefix.patch new file mode 100644 index 00000000000..925aadab3dd --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/transcrypt/helper-scripts_depspathprefix.patch @@ -0,0 +1,37 @@ +diff --git a/transcrypt b/transcrypt +index a0b562d..7888f5d 100755 +--- a/transcrypt ++++ b/transcrypt +@@ -278,6 +278,7 @@ save_helper_scripts() { + + cat <<-'EOF' > "${GIT_DIR}/crypt/clean" + #!/usr/bin/env bash ++ PATH="$(transcrypt-depspathprefix 2>/dev/null)$PATH" + filename=$1 + # ignore empty files + if [[ -s $filename ]]; then +@@ -300,6 +301,7 @@ save_helper_scripts() { + + cat <<-'EOF' > "${GIT_DIR}/crypt/smudge" + #!/usr/bin/env bash ++ PATH="$(transcrypt-depspathprefix 2>/dev/null)$PATH" + tempfile=$(mktemp 2> /dev/null || mktemp -t tmp) + trap 'rm -f "$tempfile"' EXIT + cipher=$(git config --get --local transcrypt.cipher) +@@ -309,6 +311,7 @@ save_helper_scripts() { + + cat <<-'EOF' > "${GIT_DIR}/crypt/textconv" + #!/usr/bin/env bash ++ PATH="$(transcrypt-depspathprefix 2>/dev/null)$PATH" + filename=$1 + # ignore empty files + if [[ -s $filename ]]; then +@@ -351,7 +354,7 @@ save_configuration() { + git config merge.renormalize 'true' + + # add a git alias for listing encrypted files +- git config alias.ls-crypt "!git ls-files | git check-attr --stdin filter | awk 'BEGIN { FS = \":\" }; /crypt$/{ print \$1 }'" ++ git config alias.ls-crypt "!PATH=\"\$(transcrypt-depspathprefix 2>/dev/null)\$PATH\"; git ls-files | git check-attr --stdin filter | awk 'BEGIN { FS = \":\" }; /crypt$/{ print \$1 }'" + } + + # display the current configuration settings diff --git a/pkgs/applications/version-management/git-crecord/default.nix b/pkgs/applications/version-management/git-crecord/default.nix index fd999dc17d4..ec03c5bed5b 100644 --- a/pkgs/applications/version-management/git-crecord/default.nix +++ b/pkgs/applications/version-management/git-crecord/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, pythonPackages }: pythonPackages.buildPythonApplication rec { - name = "git-crecord-${version}"; + pname = "git-crecord"; version = "20161216.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/version-management/git-lfs/1.nix b/pkgs/applications/version-management/git-lfs/1.nix index 3cde046a2ad..e3190667259 100644 --- a/pkgs/applications/version-management/git-lfs/1.nix +++ b/pkgs/applications/version-management/git-lfs/1.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "git-lfs-${version}"; + pname = "git-lfs"; version = "1.5.6"; rev = "0d02fb7d9a1c599bbf8c55e146e2845a908e04e0"; diff --git a/pkgs/applications/version-management/git-lfs/default.nix b/pkgs/applications/version-management/git-lfs/default.nix index 67c07072d41..d9b5e170497 100644 --- a/pkgs/applications/version-management/git-lfs/default.nix +++ b/pkgs/applications/version-management/git-lfs/default.nix @@ -1,8 +1,8 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "git-lfs-${version}"; - version = "2.5.2"; + pname = "git-lfs"; + version = "2.7.2"; goPackagePath = "github.com/git-lfs/git-lfs"; @@ -10,7 +10,7 @@ buildGoPackage rec { rev = "v${version}"; owner = "git-lfs"; repo = "git-lfs"; - sha256 = "1y9l35j59d422v9hsbi117anm5d0177nspiy9r2zbjz3ygd9a4ck"; + sha256 = "1nf40rbdz901vsahg5cm09pznpina6wimmxl0lmh8pn0mi51yzvc"; }; preBuild = '' diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix index b629c8fe910..b26548ebe99 100644 --- a/pkgs/applications/version-management/git-repo/default.nix +++ b/pkgs/applications/version-management/git-repo/default.nix @@ -3,14 +3,14 @@ }: stdenv.mkDerivation rec { - name = "git-repo-${version}"; - version = "1.13.2"; + pname = "git-repo"; + version = "1.13.5.1"; src = fetchFromGitHub { owner = "android"; repo = "tools_repo"; rev = "v${version}"; - sha256 = "0ll1yzwgpayps7c05j8kf1m4zvww7crmlyy7xa0w5g2krbjvjzvi"; + sha256 = "13rp0fq76a6qlw60pnipkgfng25i0ygyk66y30jv7hy8ip4aa92n"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/version-management/git-review/default.nix b/pkgs/applications/version-management/git-review/default.nix index 101770da888..ecc054df47e 100644 --- a/pkgs/applications/version-management/git-review/default.nix +++ b/pkgs/applications/version-management/git-review/default.nix @@ -1,20 +1,18 @@ -{ stdenv, fetchurl, pythonPackages} : +{ stdenv, fetchFromGitHub, pythonPackages} : pythonPackages.buildPythonApplication rec { - name = "git-review-${version}"; - version = "1.27.0"; + pname = "git-review"; + version = "1.28.0"; # Manually set version because prb wants to get it from the git # upstream repository (and we are installing from tarball instead) PBR_VERSION = "${version}"; - postPatch = '' - sed -i -e '/argparse/d' requirements.txt - ''; - - src = fetchurl rec { - url = "https://github.com/openstack-infra/git-review/archive/${version}.tar.gz"; - sha256 = "0smdkps9avnj58izyfc5m0amq8nafgs9iqlyaf7ncrlvypia1f3q"; + src = fetchFromGitHub rec { + owner = "openstack-infra"; + repo = pname; + rev = version; + sha256 = "1hgw1dkl94m3idv4izc7wf2j7al2c7nnsqywy7g53nzkv9pfv47s"; }; propagatedBuildInputs = with pythonPackages; [ pbr requests setuptools ]; diff --git a/pkgs/applications/version-management/git-sizer/default.nix b/pkgs/applications/version-management/git-sizer/default.nix index 9c5ab20d364..7a92679583b 100644 --- a/pkgs/applications/version-management/git-sizer/default.nix +++ b/pkgs/applications/version-management/git-sizer/default.nix @@ -2,7 +2,6 @@ buildGoPackage rec { pname = "git-sizer"; - name = "${pname}-${version}"; version = "1.0.0"; goPackagePath = "github.com/github/git-sizer"; diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix index 36631449096..00f344597bb 100644 --- a/pkgs/applications/version-management/gitea/default.nix +++ b/pkgs/applications/version-management/gitea/default.nix @@ -1,19 +1,20 @@ { stdenv, buildGoPackage, fetchFromGitHub, makeWrapper -, git, bash, gzip, openssh +, git, bash, gzip, openssh, pam , sqliteSupport ? true +, pamSupport ? true }: with stdenv.lib; buildGoPackage rec { - name = "gitea-${version}"; - version = "1.7.1"; + pname = "gitea"; + version = "1.9.2"; src = fetchFromGitHub { owner = "go-gitea"; repo = "gitea"; rev = "v${version}"; - sha256 = "1r13l7h4146729lwif45bkzn36sgg6an0qbhgvj8w3zp035c00k3"; + sha256 = "1i7h6scycwzil87fcx1a19w5pl0986g5ax7y030w0wgmrq3zj53a"; # Required to generate the same checksum on MacOS due to unicode encoding differences # More information: https://github.com/NixOS/nixpkgs/pull/48128 extraPostFetch = '' @@ -31,13 +32,18 @@ buildGoPackage rec { substituteInPlace modules/setting/setting.go --subst-var data ''; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ] + ++ optional pamSupport pam; - buildFlags = optional sqliteSupport "-tags sqlite"; - buildFlagsArray = '' - -ldflags= - -X=main.Version=${version} - ${optionalString sqliteSupport "-X=main.Tags=sqlite"} + preBuild = let + tags = optional pamSupport "pam" + ++ optional sqliteSupport "sqlite"; + tagsString = concatStringsSep " " tags; + in '' + export buildFlagsArray=( + -tags="${tagsString}" + -ldflags='-X "main.Version=${version}" -X "main.Tags=${tagsString}"' + ) ''; outputs = [ "bin" "out" "data" ]; @@ -58,6 +64,6 @@ buildGoPackage rec { description = "Git with a cup of tea"; homepage = https://gitea.io; license = licenses.mit; - maintainers = [ maintainers.disassembler ]; + maintainers = with maintainers; [ disassembler kolaente ]; }; } diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix index 664ef62be54..fa93ff41a4a 100644 --- a/pkgs/applications/version-management/gitkraken/default.nix +++ b/pkgs/applications/version-management/gitkraken/default.nix @@ -1,8 +1,9 @@ { stdenv, libXcomposite, libgnome-keyring, makeWrapper, udev, curl, alsaLib -, libXfixes, atk, gtk3, libXrender, pango, gnome2, cairo, freetype, fontconfig +, libXfixes, atk, gtk3, libXrender, pango, gnome3, cairo, freetype, fontconfig , libX11, libXi, libxcb, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst -, nss, nspr, cups, fetchurl, expat, gdk_pixbuf, libXdamage, libXrandr, dbus -, dpkg, makeDesktopItem, openssl +, nss, nspr, cups, fetchurl, expat, gdk-pixbuf, libXdamage, libXrandr, dbus +, dpkg, makeDesktopItem, openssl, wrapGAppsHook, hicolor-icon-theme, at-spi2-atk, libuuid +, e2fsprogs, krb5 }: with stdenv.lib; @@ -11,12 +12,12 @@ let curlWithGnuTls = curl.override { gnutlsSupport = true; sslSupport = false; }; in stdenv.mkDerivation rec { - name = "gitkraken-${version}"; - version = "4.2.1"; + pname = "gitkraken"; + version = "6.1.4"; src = fetchurl { url = "https://release.axocdn.com/linux/GitKraken-v${version}.deb"; - sha256 = "07f9h3276bs7m22vwpxrxmlwnq7l5inr2l67nmpiaz1569yabwsg"; + sha256 = "10m6pwdwdxj6x64bc7mrvlvwkgqrd5prh9xx7xhvbz55q6gx4vdr"; }; libPath = makeLibraryPath [ @@ -37,7 +38,7 @@ stdenv.mkDerivation rec { cups alsaLib expat - gdk_pixbuf + gdk-pixbuf dbus libXdamage libXrandr @@ -50,9 +51,12 @@ stdenv.mkDerivation rec { libXfixes libXrender gtk3 - gnome2.GConf libgnome-keyring openssl + at-spi2-atk + libuuid + e2fsprogs + krb5 ]; desktopItem = makeDesktopItem { @@ -65,8 +69,8 @@ stdenv.mkDerivation rec { comment = "Graphical Git client from Axosoft"; }; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ dpkg ]; + nativeBuildInputs = [ makeWrapper wrapGAppsHook ]; + buildInputs = [ dpkg gtk3 gnome3.adwaita-icon-theme hicolor-icon-theme ]; unpackCmd = '' mkdir out @@ -78,13 +82,12 @@ stdenv.mkDerivation rec { pushd usr pushd share substituteInPlace applications/gitkraken.desktop \ - --replace /usr/share/gitkraken $out/bin \ - --replace Icon=app Icon=gitkraken - mv pixmaps/app.png pixmaps/gitkraken.png + --replace /usr/share/gitkraken $out/bin popd rm -rf bin/gitkraken share/lintian cp -av share bin $out/ popd + ln -s $out/share/gitkraken/gitkraken $out/bin/gitkraken ''; @@ -103,6 +106,6 @@ stdenv.mkDerivation rec { description = "The downright luxurious and most popular Git client for Windows, Mac & Linux"; license = licenses.unfree; platforms = platforms.linux; - maintainers = with maintainers; [ xnwdd ]; + maintainers = with maintainers; [ xnwdd evanjs ]; }; } diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json index 3298bc16751..d20236e9f5b 100644 --- a/pkgs/applications/version-management/gitlab/data.json +++ b/pkgs/applications/version-management/gitlab/data.json @@ -1,32 +1,32 @@ { "ce": { - "version": "11.7.5", - "repo_hash": "0bbyx9zmscf9273fgypb82gw166psy7d3p7dnwb6f5r9yz7rmhbn", - "deb_hash": "1m6hdvrz467q33z626l9f3d5pssl0bbj2hkqy5g0b05wvdznmldy", - "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_11.7.5-ce.0_amd64.deb/download.deb", + "version": "12.1.6", + "repo_hash": "0zyqxzyb1m8qa94iiyqf5ivqxrg60y378r94fsixy17fbh4y7sa6", + "deb_hash": "14bwcmwar44pjnjr6fdn2h9y92vyfva0kb76d4pz8pqc9pfm2hmg", + "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_12.1.6-ce.0_amd64.deb/download.deb", "owner": "gitlab-org", "repo": "gitlab-ce", - "rev": "v11.7.5", + "rev": "v12.1.6", "passthru": { - "GITALY_SERVER_VERSION": "1.12.2", - "GITLAB_PAGES_VERSION": "1.3.1", - "GITLAB_SHELL_VERSION": "8.4.4", - "GITLAB_WORKHORSE_VERSION": "8.0.2" + "GITALY_SERVER_VERSION": "1.53.2", + "GITLAB_PAGES_VERSION": "1.7.1", + "GITLAB_SHELL_VERSION": "9.3.0", + "GITLAB_WORKHORSE_VERSION": "8.7.0" } }, "ee": { - "version": "11.7.5", - "repo_hash": "05dzvqrdgxbzsrf9rbis5m3iic04midx2arxgg3g4f78qfjxzylm", - "deb_hash": "1nfd68vzy3zc6a3xn5lhr83kqv9d7aaxvzv4ca9awcz4va5b33kc", - "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_11.7.5-ee.0_amd64.deb/download.deb", + "version": "12.1.6", + "repo_hash": "1lxci1hwcccgw567c5733yl95xsxr4gnw41m48igdw9y8p6g7zbc", + "deb_hash": "0yjilhf4bjhl1a596x6n4cvjklfbrwhymslhx977nfjazfb5slx3", + "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_12.1.6-ee.0_amd64.deb/download.deb", "owner": "gitlab-org", "repo": "gitlab-ee", - "rev": "v11.7.5-ee", + "rev": "v12.1.6-ee", "passthru": { - "GITALY_SERVER_VERSION": "1.12.2", - "GITLAB_PAGES_VERSION": "1.3.1", - "GITLAB_SHELL_VERSION": "8.4.4", - "GITLAB_WORKHORSE_VERSION": "8.0.2" + "GITALY_SERVER_VERSION": "1.53.2", + "GITLAB_PAGES_VERSION": "1.7.1", + "GITLAB_SHELL_VERSION": "9.3.0", + "GITLAB_WORKHORSE_VERSION": "8.7.0" } } } \ No newline at end of file diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix index 2ffe1141b5a..20f0937274e 100644 --- a/pkgs/applications/version-management/gitlab/default.nix +++ b/pkgs/applications/version-management/gitlab/default.nix @@ -1,14 +1,29 @@ { stdenv, lib, fetchurl, fetchFromGitLab, bundlerEnv -, ruby, tzdata, git, procps, nettools +, ruby, tzdata, git, nettools, nixosTests , gitlabEnterprise ? false }: let - rubyEnv = bundlerEnv { + rubyEnv = bundlerEnv rec { name = "gitlab-env-${version}"; inherit ruby; gemdir = ./rubyEnv- + "${if gitlabEnterprise then "ee" else "ce"}"; - groups = [ "default" "unicorn" "ed25519" "metrics" ]; + gemset = + let x = import (gemdir + "/gemset.nix"); + in x // { + # grpc expects the AR environment variable to contain `ar rpc`. See the + # discussion in nixpkgs #63056. + grpc = x.grpc // { + patches = [ ./fix-grpc-ar.patch ]; + dontBuild = false; + }; + }; + groups = [ + "default" "unicorn" "ed25519" "metrics" "development" "puma" "test" + ]; + # N.B. omniauth_oauth2_generic and apollo_upload_server both provide a + # `console` executable. + ignoreCollisions = true; }; flavour = if gitlabEnterprise then "ee" else "ce"; @@ -35,7 +50,7 @@ stdenv.mkDerivation rec { src = sources.gitlab; buildInputs = [ - rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler tzdata git procps nettools + rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler tzdata git nettools ]; patches = [ ./remove-hardcoded-locations.patch ]; @@ -49,9 +64,6 @@ stdenv.mkDerivation rec { rm config/initializers/gitlab_shell_secret_token.rb - substituteInPlace app/controllers/admin/background_jobs_controller.rb \ - --replace "ps -U" "${procps}/bin/ps -U" - sed -i '/ask_to_continue/d' lib/tasks/gitlab/two_factor.rake sed -ri -e '/log_level/a config.logger = Logger.new(STDERR)' config/environments/production.rb ''; @@ -64,6 +76,7 @@ stdenv.mkDerivation rec { # Work around unpacking deb containing binary with suid bit tar -f gitlab-deb-data.tar --delete ./opt/gitlab/embedded/bin/ksu tar -xf gitlab-deb-data.tar + rm gitlab-deb-data.tar mv -v opt/gitlab/embedded/service/gitlab-rails/public/assets public rm -rf opt # only directory in data.tar.gz @@ -95,6 +108,9 @@ stdenv.mkDerivation rec { GITLAB_PAGES_VERSION = data.passthru.GITLAB_PAGES_VERSION; GITLAB_SHELL_VERSION = data.passthru.GITLAB_SHELL_VERSION; GITLAB_WORKHORSE_VERSION = data.passthru.GITLAB_WORKHORSE_VERSION; + tests = { + nixos-test-passes = nixosTests.gitlab; + }; }; meta = with lib; { diff --git a/pkgs/applications/version-management/gitlab/fix-grpc-ar.patch b/pkgs/applications/version-management/gitlab/fix-grpc-ar.patch new file mode 100644 index 00000000000..9b95e668e04 --- /dev/null +++ b/pkgs/applications/version-management/gitlab/fix-grpc-ar.patch @@ -0,0 +1,10 @@ +--- a/src/ruby/ext/grpc/extconf.rb ++++ b/src/ruby/ext/grpc/extconf.rb +@@ -27,6 +27,7 @@ ENV['MACOSX_DEPLOYMENT_TARGET'] = '10.7' + if ENV['AR'].nil? || ENV['AR'].size == 0 + ENV['AR'] = RbConfig::CONFIG['AR'] + ' rcs' + end ++ENV['AR'] = ENV['AR'] + ' rcs' + if ENV['CC'].nil? || ENV['CC'].size == 0 + ENV['CC'] = RbConfig::CONFIG['CC'] + end diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile index 81f1864099f..1a6eb99b678 100644 --- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile +++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile @@ -1,30 +1,41 @@ source 'https://rubygems.org' # Require bundler >= 1.16.5 to avoid this bug: https://github.com/bundler/bundler/issues/6537 -gem 'bundler', '>= 1.16.5' +gem 'bundler', '>= 1.17.3' -gem 'rugged', '~> 0.27' +gem 'rugged', '~> 0.28' gem 'github-linguist', '~> 6.1', require: 'linguist' -gem 'gitlab-markup', '~> 1.6.5' -gem 'gitaly-proto', '~> 1.3.0' -gem 'activesupport', '~> 5.0.2' +gem 'gitlab-markup', '~> 1.7.0' +gem 'activesupport', '~> 5.1.7' +gem 'gitaly-proto', '~> 1.36.0' gem 'rdoc', '~> 4.2' -gem 'gitlab-gollum-lib', '~> 4.2', require: false -gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4', require: false -gem 'grpc', '~> 1.15.0' -gem 'sentry-raven', '~> 2.7.2', require: false +gem 'gitlab-gollum-lib', '~> 4.2.7.7', require: false +gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.2', require: false +gem 'grpc', '~> 1.19.0' +gem 'sentry-raven', '~> 2.9.0', require: false gem 'faraday', '~> 0.12' +gem 'rbtrace', require: false + +# Labkit provides observability functionality +gem 'gitlab-labkit', '~> 0.3.0' # Detects the open source license the repository includes # This version needs to be in sync with GitLab CE/EE gem 'licensee', '~> 8.9.0' -gem 'google-protobuf', '~> 3.6' +gem 'google-protobuf', '~> 3.7.1' group :development, :test do - gem 'rubocop', '~> 0.50', require: false + gem 'rubocop', '~> 0.69', require: false gem 'rspec', require: false gem 'rspec-parameterized', require: false gem 'timecop', require: false gem 'factory_bot', require: false + gem 'pry', '~> 0.12.2', require: false + + # gitlab-shell spec gems + gem 'listen', '~> 0.5.0' + gem 'simplecov', '~> 0.9.0', require: false + gem 'vcr', '~> 4.0.0' + gem 'webmock', '~> 3.4.0' end diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock index 59f8ad69f22..0a86273f7cb 100644 --- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock +++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock @@ -2,7 +2,20 @@ GEM remote: https://rubygems.org/ specs: abstract_type (0.0.7) - activesupport (5.0.7) + actionpack (5.1.7) + actionview (= 5.1.7) + activesupport (= 5.1.7) + rack (~> 2.0) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.1.7) + activesupport (= 5.1.7) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activesupport (5.1.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -10,35 +23,41 @@ GEM adamantium (0.2.0) ice_nine (~> 0.11.0) memoizable (~> 0.4.0) + addressable (2.6.0) + public_suffix (>= 2.0.2, < 4.0) ast (2.4.0) - binding_of_caller (0.8.0) - debug_inspector (>= 0.0.1) + binding_ninja (0.2.3) + builder (3.2.3) charlock_holmes (0.7.6) coderay (1.1.2) concord (0.1.5) adamantium (~> 0.2.0) equalizer (~> 0.0.9) - concurrent-ruby (1.1.3) + concurrent-ruby (1.1.5) + crack (0.4.3) + safe_yaml (~> 1.0.0) crass (1.0.4) - debug_inspector (0.0.3) diff-lcs (1.3) + docile (1.1.5) equalizer (0.0.11) + erubi (1.8.0) escape_utils (1.2.1) - factory_bot (4.11.1) - activesupport (>= 3.0.0) - faraday (0.15.3) + factory_bot (5.0.2) + activesupport (>= 4.2.0) + faraday (0.15.4) multipart-post (>= 1.2, < 3) + ffi (1.10.0) gemojione (3.3.0) json - gitaly-proto (1.3.0) + gitaly-proto (1.36.0) grpc (~> 1.0) - github-linguist (6.2.0) + github-linguist (6.4.1) charlock_holmes (~> 0.7.6) escape_utils (~> 1.2.0) mime-types (>= 1.19) rugged (>= 0.25.1) github-markup (1.7.0) - gitlab-gollum-lib (4.2.7.5) + gitlab-gollum-lib (4.2.7.7) gemojione (~> 3.2) github-markup (~> 1.6) gollum-grit_adapter (~> 1.0) @@ -46,7 +65,7 @@ GEM rouge (~> 3.1) sanitize (~> 4.6.4) stringex (~> 2.6) - gitlab-gollum-rugged_adapter (0.4.4.1) + gitlab-gollum-rugged_adapter (0.4.4.2) mime-types (>= 1.15) rugged (~> 0.25) gitlab-grit (2.8.2) @@ -54,118 +73,172 @@ GEM diff-lcs (~> 1.1) mime-types (>= 1.16) posix-spawn (~> 0.3) - gitlab-markup (1.6.5) + gitlab-labkit (0.3.0) + actionpack (~> 5) + activesupport (~> 5) + grpc (~> 1.19.0) + jaeger-client (~> 0.10) + opentracing (~> 0.4) + gitlab-markup (1.7.0) gollum-grit_adapter (1.0.1) gitlab-grit (~> 2.7, >= 2.7.1) - google-protobuf (3.6.1) - googleapis-common-protos-types (1.0.2) + google-protobuf (3.7.1) + googleapis-common-protos-types (1.0.4) google-protobuf (~> 3.0) - grpc (1.15.0) + grpc (1.19.0) google-protobuf (~> 3.1) googleapis-common-protos-types (~> 1.0.0) - i18n (1.1.1) + hashdiff (0.3.9) + i18n (1.6.0) concurrent-ruby (~> 1.0) ice_nine (0.11.2) - json (2.1.0) + jaeger-client (0.10.0) + opentracing (~> 0.3) + thrift + jaro_winkler (1.5.2) + json (2.2.0) licensee (8.9.2) rugged (~> 0.24) + listen (0.5.3) + loofah (2.2.3) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) memoizable (0.4.2) thread_safe (~> 0.3, >= 0.3.1) + method_source (0.9.2) mime-types (3.2.2) mime-types-data (~> 3.2015) - mime-types-data (3.2018.0812) - mini_portile2 (2.3.0) + mime-types-data (3.2019.0331) + mini_portile2 (2.4.0) minitest (5.11.3) + msgpack (1.2.10) + multi_json (1.13.1) multipart-post (2.0.0) - nokogiri (1.8.5) - mini_portile2 (~> 2.3.0) + nokogiri (1.10.3) + mini_portile2 (~> 2.4.0) nokogumbo (1.5.0) nokogiri - parallel (1.12.1) - parser (2.5.3.0) + opentracing (0.5.0) + optimist (3.0.0) + parallel (1.17.0) + parser (2.6.3.0) ast (~> 2.4.0) posix-spawn (0.3.13) - powerpack (0.1.2) proc_to_ast (0.1.0) coderay parser unparser procto (0.0.3) + pry (0.12.2) + coderay (~> 1.1.0) + method_source (~> 0.9.0) + public_suffix (3.0.3) + rack (2.0.7) + rack-test (1.1.0) + rack (>= 1.0, < 3) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.0.4) + loofah (~> 2.2, >= 2.2.2) rainbow (3.0.0) + rbtrace (0.4.11) + ffi (>= 1.0.6) + msgpack (>= 0.4.3) + optimist (>= 3.0.0) rdoc (4.3.0) - rouge (3.3.0) - rspec (3.7.0) - rspec-core (~> 3.7.0) - rspec-expectations (~> 3.7.0) - rspec-mocks (~> 3.7.0) - rspec-core (3.7.1) - rspec-support (~> 3.7.0) - rspec-expectations (3.7.0) + rouge (3.5.1) + rspec (3.8.0) + rspec-core (~> 3.8.0) + rspec-expectations (~> 3.8.0) + rspec-mocks (~> 3.8.0) + rspec-core (3.8.0) + rspec-support (~> 3.8.0) + rspec-expectations (3.8.3) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-mocks (3.7.0) + rspec-support (~> 3.8.0) + rspec-mocks (3.8.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-parameterized (0.4.0) - binding_of_caller + rspec-support (~> 3.8.0) + rspec-parameterized (0.4.2) + binding_ninja (>= 0.2.3) parser proc_to_ast rspec (>= 2.13, < 4) unparser - rspec-support (3.7.1) - rubocop (0.54.0) + rspec-support (3.8.0) + rubocop (0.69.0) + jaro_winkler (~> 1.5.1) parallel (~> 1.10) - parser (>= 2.5) - powerpack (~> 0.1) + parser (>= 2.6) rainbow (>= 2.2.2, < 4.0) ruby-progressbar (~> 1.7) - unicode-display_width (~> 1.0, >= 1.0.1) + unicode-display_width (>= 1.4.0, < 1.7) ruby-progressbar (1.10.0) - rugged (0.27.5) + rugged (0.28.1) + safe_yaml (1.0.5) sanitize (4.6.6) crass (~> 1.0.2) nokogiri (>= 1.4.4) nokogumbo (~> 1.4) - sentry-raven (2.7.2) + sentry-raven (2.9.0) faraday (>= 0.7.6, < 1.0) - stringex (2.8.4) + simplecov (0.9.2) + docile (~> 1.1.0) + multi_json (~> 1.0) + simplecov-html (~> 0.9.0) + simplecov-html (0.9.0) + stringex (2.8.5) thread_safe (0.3.6) + thrift (0.11.0.0) timecop (0.9.1) tzinfo (1.2.5) thread_safe (~> 0.1) - unicode-display_width (1.4.0) - unparser (0.2.8) + unicode-display_width (1.6.0) + unparser (0.4.5) abstract_type (~> 0.0.7) adamantium (~> 0.2.0) concord (~> 0.1.5) diff-lcs (~> 1.3) equalizer (~> 0.0.9) - parser (>= 2.3.1.2, < 2.6) + parser (~> 2.6.3) procto (~> 0.0.2) + vcr (4.0.0) + webmock (3.4.2) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff PLATFORMS ruby DEPENDENCIES - activesupport (~> 5.0.2) - bundler (>= 1.16.5) + activesupport (~> 5.1.7) + bundler (>= 1.17.3) factory_bot faraday (~> 0.12) - gitaly-proto (~> 1.3.0) + gitaly-proto (~> 1.36.0) github-linguist (~> 6.1) - gitlab-gollum-lib (~> 4.2) - gitlab-gollum-rugged_adapter (~> 0.4.4) - gitlab-markup (~> 1.6.5) - google-protobuf (~> 3.6) - grpc (~> 1.15.0) + gitlab-gollum-lib (~> 4.2.7.7) + gitlab-gollum-rugged_adapter (~> 0.4.4.2) + gitlab-labkit (~> 0.3.0) + gitlab-markup (~> 1.7.0) + google-protobuf (~> 3.7.1) + grpc (~> 1.19.0) licensee (~> 8.9.0) + listen (~> 0.5.0) + pry (~> 0.12.2) + rbtrace rdoc (~> 4.2) rspec rspec-parameterized - rubocop (~> 0.50) - rugged (~> 0.27) - sentry-raven (~> 2.7.2) + rubocop (~> 0.69) + rugged (~> 0.28) + sentry-raven (~> 2.9.0) + simplecov (~> 0.9.0) timecop + vcr (~> 4.0.0) + webmock (~> 3.4.0) BUNDLED WITH - 1.17.1 + 1.17.3 diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix index 349b75f1934..873d9f39090 100644 --- a/pkgs/applications/version-management/gitlab/gitaly/default.nix +++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix @@ -1,20 +1,30 @@ -{ stdenv, fetchFromGitLab, buildGoPackage, ruby, bundlerEnv }: +{ stdenv, fetchFromGitLab, buildGoPackage, ruby, bundlerEnv, pkgconfig, libgit2 }: let - rubyEnv = bundlerEnv { + rubyEnv = bundlerEnv rec { name = "gitaly-env"; inherit ruby; gemdir = ./.; + gemset = + let x = import (gemdir + "/gemset.nix"); + in x // { + # grpc expects the AR environment variable to contain `ar rpc`. See the + # discussion in nixpkgs #63056. + grpc = x.grpc // { + patches = [ ../fix-grpc-ar.patch ]; + dontBuild = false; + }; + }; }; in buildGoPackage rec { - version = "1.12.2"; - name = "gitaly-${version}"; + version = "1.53.2"; + pname = "gitaly"; src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitaly"; rev = "v${version}"; - sha256 = "0pg3pm34jnssvh8m99d6w3ap1kn6kn3akqaa17zxv9y0xryvchpy"; + sha256 = "0x4dhqaxx6n5jlcvf69rglxiz11037ghgcnskks6qnlcbkd85j3d"; }; goPackagePath = "gitlab.com/gitlab-org/gitaly"; @@ -23,11 +33,21 @@ in buildGoPackage rec { inherit rubyEnv; }; - buildInputs = [ rubyEnv.wrappedRuby ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ rubyEnv.wrappedRuby libgit2 ]; + goDeps = ./deps.nix; + preBuild = "rm -r go/src/gitlab.com/gitlab-org/labkit/vendor"; postInstall = '' mkdir -p $ruby - cp -rv $src/ruby/{bin,lib} $ruby + cp -rv $src/ruby/{bin,lib,git-hooks,gitlab-shell} $ruby + + # gitlab-shell will try to read its config relative to the source + # code by default which doesn't work in nixos because it's a + # read-only filesystem + substituteInPlace $ruby/gitlab-shell/lib/gitlab_config.rb --replace \ + "File.join(ROOT_PATH, 'config.yml')" \ + "'/run/gitlab/shell-config.yml'" ''; outputs = [ "bin" "out" "ruby" ]; @@ -35,7 +55,7 @@ in buildGoPackage rec { meta = with stdenv.lib; { homepage = http://www.gitlab.com/; platforms = platforms.unix; - maintainers = with maintainers; [ roblabla ]; + maintainers = with maintainers; [ roblabla globin fpletz ]; license = licenses.mit; }; } diff --git a/pkgs/applications/version-management/gitlab/gitaly/deps.nix b/pkgs/applications/version-management/gitlab/gitaly/deps.nix new file mode 100644 index 00000000000..5522185783d --- /dev/null +++ b/pkgs/applications/version-management/gitlab/gitaly/deps.nix @@ -0,0 +1,669 @@ +# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix) +[ + { + goPackagePath = "cloud.google.com/go"; + fetch = { + type = "git"; + url = "https://code.googlesource.com/gocloud"; + rev = "v0.26.0"; + sha256 = "149v3ci17g6wd2pm18mzcncq5qpl9hwdjnz3rlbn5rfidyn46la1"; + }; + } + { + goPackagePath = "github.com/BurntSushi/toml"; + fetch = { + type = "git"; + url = "https://github.com/BurntSushi/toml"; + rev = "v0.3.1"; + sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6"; + }; + } + { + goPackagePath = "github.com/alecthomas/template"; + fetch = { + type = "git"; + url = "https://github.com/alecthomas/template"; + rev = "a0175ee3bccc"; + sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj"; + }; + } + { + goPackagePath = "github.com/alecthomas/units"; + fetch = { + type = "git"; + url = "https://github.com/alecthomas/units"; + rev = "2efee857e7cf"; + sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl"; + }; + } + { + goPackagePath = "github.com/beorn7/perks"; + fetch = { + type = "git"; + url = "https://github.com/beorn7/perks"; + rev = "v1.0.0"; + sha256 = "1i1nz1f6g55xi2y3aiaz5kqfgvknarbfl4f0sx4nyyb4s7xb1z9x"; + }; + } + { + goPackagePath = "github.com/certifi/gocertifi"; + fetch = { + type = "git"; + url = "https://github.com/certifi/gocertifi"; + rev = "ee1a9a0726d2"; + sha256 = "08l6lqaw83pva6fa0aafmhmy1mhb145av21772zfh3ij809a37i4"; + }; + } + { + goPackagePath = "github.com/client9/misspell"; + fetch = { + type = "git"; + url = "https://github.com/client9/misspell"; + rev = "v0.3.4"; + sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs"; + }; + } + { + goPackagePath = "github.com/cloudflare/tableflip"; + fetch = { + type = "git"; + url = "https://github.com/cloudflare/tableflip"; + rev = "8392f1641731"; + sha256 = "0by5hk8s0bhhl3kiw658p5g53zvc61k4q2wxnh1w64p5ghd1rfn8"; + }; + } + { + goPackagePath = "github.com/codahale/hdrhistogram"; + fetch = { + type = "git"; + url = "https://github.com/codahale/hdrhistogram"; + rev = "3a0bb77429bd"; + sha256 = "1zampgfjbxy192cbwdi7g86l1idxaam96d834wncnpfdwgh5kl57"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "v1.1.1"; + sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"; + }; + } + { + goPackagePath = "github.com/fsnotify/fsnotify"; + fetch = { + type = "git"; + url = "https://github.com/fsnotify/fsnotify"; + rev = "v1.4.7"; + sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; + }; + } + { + goPackagePath = "github.com/getsentry/raven-go"; + fetch = { + type = "git"; + url = "https://github.com/getsentry/raven-go"; + rev = "v0.1.2"; + sha256 = "1dl80kar4lzdcfl3w6jssi1ld6bv0rmx6sp6bz6rzysfr9ilm02z"; + }; + } + { + goPackagePath = "github.com/go-kit/kit"; + fetch = { + type = "git"; + url = "https://github.com/go-kit/kit"; + rev = "v0.8.0"; + sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0"; + }; + } + { + goPackagePath = "github.com/go-logfmt/logfmt"; + fetch = { + type = "git"; + url = "https://github.com/go-logfmt/logfmt"; + rev = "v0.3.0"; + sha256 = "1gkgh3k5w1xwb2qbjq52p6azq3h1c1rr6pfwjlwj1zrijpzn2xb9"; + }; + } + { + goPackagePath = "github.com/go-stack/stack"; + fetch = { + type = "git"; + url = "https://github.com/go-stack/stack"; + rev = "v1.8.0"; + sha256 = "0wk25751ryyvxclyp8jdk5c3ar0cmfr8lrjb66qbg4808x66b96v"; + }; + } + { + goPackagePath = "github.com/gogo/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/gogo/protobuf"; + rev = "v1.1.1"; + sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2"; + }; + } + { + goPackagePath = "github.com/golang/glog"; + fetch = { + type = "git"; + url = "https://github.com/golang/glog"; + rev = "23def4e6c14b"; + sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30"; + }; + } + { + goPackagePath = "github.com/golang/lint"; + fetch = { + type = "git"; + url = "https://github.com/golang/lint"; + rev = "06c8688daad7"; + sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47"; + }; + } + { + goPackagePath = "github.com/golang/mock"; + fetch = { + type = "git"; + url = "https://github.com/golang/mock"; + rev = "v1.1.1"; + sha256 = "0ap8wb6pdl6ccmdb43advjll2ly4sz26wsc3axw0hbrjrybybzgy"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "v1.3.1"; + sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl"; + }; + } + { + goPackagePath = "github.com/google/uuid"; + fetch = { + type = "git"; + url = "https://github.com/google/uuid"; + rev = "v1.1.1"; + sha256 = "0hfxcf9frkb57k6q0rdkrmnfs78ms21r1qfk9fhlqga2yh5xg8zb"; + }; + } + { + goPackagePath = "github.com/grpc-ecosystem/go-grpc-middleware"; + fetch = { + type = "git"; + url = "https://github.com/grpc-ecosystem/go-grpc-middleware"; + rev = "v1.0.0"; + sha256 = "0lwgxih021xfhfb1xb9la5f98bpgpaiz63sbllx77qwwl2rmhrsp"; + }; + } + { + goPackagePath = "github.com/grpc-ecosystem/go-grpc-prometheus"; + fetch = { + type = "git"; + url = "https://github.com/grpc-ecosystem/go-grpc-prometheus"; + rev = "v1.2.0"; + sha256 = "1lzk54h7np32b3acidg1ggbn8ppbnns0m71gcg9d1qkkdh8zrijl"; + }; + } + { + goPackagePath = "github.com/hpcloud/tail"; + fetch = { + type = "git"; + url = "https://github.com/hpcloud/tail"; + rev = "v1.0.0"; + sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0"; + }; + } + { + goPackagePath = "github.com/json-iterator/go"; + fetch = { + type = "git"; + url = "https://github.com/json-iterator/go"; + rev = "v1.1.6"; + sha256 = "08caswxvdn7nvaqyj5kyny6ghpygandlbw9vxdj7l5vkp7q0s43r"; + }; + } + { + goPackagePath = "github.com/julienschmidt/httprouter"; + fetch = { + type = "git"; + url = "https://github.com/julienschmidt/httprouter"; + rev = "v1.2.0"; + sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666"; + }; + } + { + goPackagePath = "github.com/kelseyhightower/envconfig"; + fetch = { + type = "git"; + url = "https://github.com/kelseyhightower/envconfig"; + rev = "v1.3.0"; + sha256 = "1zcq480ig7wbg4378qcfxznp2gzqmk7x6rbxizflvg9v2f376vrw"; + }; + } + { + goPackagePath = "github.com/kisielk/gotool"; + fetch = { + type = "git"; + url = "https://github.com/kisielk/gotool"; + rev = "v1.0.0"; + sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn"; + }; + } + { + goPackagePath = "github.com/konsorten/go-windows-terminal-sequences"; + fetch = { + type = "git"; + url = "https://github.com/konsorten/go-windows-terminal-sequences"; + rev = "v1.0.1"; + sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip"; + }; + } + { + goPackagePath = "github.com/kr/logfmt"; + fetch = { + type = "git"; + url = "https://github.com/kr/logfmt"; + rev = "b84e30acd515"; + sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9"; + }; + } + { + goPackagePath = "github.com/libgit2/git2go"; + fetch = { + type = "git"; + url = "https://github.com/libgit2/git2go"; + rev = "ecaeb7a21d47"; + sha256 = "14r7ryff93r49g94f6kg66xc0y6rwb31lj22s3qmzmlgywk0pgvr"; + }; + } + { + goPackagePath = "github.com/lightstep/lightstep-tracer-go"; + fetch = { + type = "git"; + url = "https://github.com/lightstep/lightstep-tracer-go"; + rev = "v0.15.6"; + sha256 = "10n5r66g44s6rnz5kf86s4a3p1g55kc1kxqhnk7bx7mlayndgpmb"; + }; + } + { + goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; + fetch = { + type = "git"; + url = "https://github.com/matttproud/golang_protobuf_extensions"; + rev = "v1.0.1"; + sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"; + }; + } + { + goPackagePath = "github.com/modern-go/concurrent"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/concurrent"; + rev = "bacd9c7ef1dd"; + sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs"; + }; + } + { + goPackagePath = "github.com/modern-go/reflect2"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/reflect2"; + rev = "v1.0.1"; + sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf"; + }; + } + { + goPackagePath = "github.com/mwitkow/go-conntrack"; + fetch = { + type = "git"; + url = "https://github.com/mwitkow/go-conntrack"; + rev = "cc309e4a2223"; + sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf"; + }; + } + { + goPackagePath = "github.com/onsi/ginkgo"; + fetch = { + type = "git"; + url = "https://github.com/onsi/ginkgo"; + rev = "v1.7.0"; + sha256 = "14wgpdrvpc35rdz3859bz53sc1g4vpr1fysy15wy3ff9gmqs14yg"; + }; + } + { + goPackagePath = "github.com/onsi/gomega"; + fetch = { + type = "git"; + url = "https://github.com/onsi/gomega"; + rev = "v1.4.3"; + sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v"; + }; + } + { + goPackagePath = "github.com/opentracing/opentracing-go"; + fetch = { + type = "git"; + url = "https://github.com/opentracing/opentracing-go"; + rev = "v1.0.2"; + sha256 = "0i0ghg94dg8lk05mw5n23983wq04yjvkjmdkc9z5y1f3508938h9"; + }; + } + { + goPackagePath = "github.com/philhofer/fwd"; + fetch = { + type = "git"; + url = "https://github.com/philhofer/fwd"; + rev = "v1.0.0"; + sha256 = "1pg84khadh79v42y8sjsdgfb54vw2kzv7hpapxkifgj0yvcp30g2"; + }; + } + { + goPackagePath = "github.com/pkg/errors"; + fetch = { + type = "git"; + url = "https://github.com/pkg/errors"; + rev = "v0.8.0"; + sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5"; + }; + } + { + goPackagePath = "github.com/pmezard/go-difflib"; + fetch = { + type = "git"; + url = "https://github.com/pmezard/go-difflib"; + rev = "v1.0.0"; + sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; + }; + } + { + goPackagePath = "github.com/prometheus/client_golang"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_golang"; + rev = "v1.0.0"; + sha256 = "1f03ndyi3jq7zdxinnvzimz3s4z2374r6dikkc8i42xzb6d1bli6"; + }; + } + { + goPackagePath = "github.com/prometheus/client_model"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_model"; + rev = "fd36f4220a90"; + sha256 = "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5"; + }; + } + { + goPackagePath = "github.com/prometheus/common"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/common"; + rev = "v0.4.1"; + sha256 = "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"; + }; + } + { + goPackagePath = "github.com/prometheus/procfs"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/procfs"; + rev = "v0.0.2"; + sha256 = "0s7pvs7fgnfpmym3cd0k219av321h9sf3yvdlnn3qy0ps280lg7k"; + }; + } + { + goPackagePath = "github.com/sirupsen/logrus"; + fetch = { + type = "git"; + url = "https://github.com/sirupsen/logrus"; + rev = "v1.2.0"; + sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg"; + }; + } + { + goPackagePath = "github.com/stretchr/objx"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/objx"; + rev = "v0.1.1"; + sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "v1.3.0"; + sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy"; + }; + } + { + goPackagePath = "github.com/tinylib/msgp"; + fetch = { + type = "git"; + url = "https://github.com/tinylib/msgp"; + rev = "v1.1.0"; + sha256 = "08ha23sn14071ywrgxlyj7r523vzdwx1i83dcp1mqa830glgqaff"; + }; + } + { + goPackagePath = "github.com/uber-go/atomic"; + fetch = { + type = "git"; + url = "https://github.com/uber-go/atomic"; + rev = "v1.3.2"; + sha256 = "11pzvjys5ddjjgrv94pgk9pnip9yyb54z7idf33zk7p7xylpnsv6"; + }; + } + { + goPackagePath = "github.com/uber/jaeger-client-go"; + fetch = { + type = "git"; + url = "https://github.com/uber/jaeger-client-go"; + rev = "v2.15.0"; + sha256 = "0ki23m9zrf3vxp839fnp9ckr4m28y6mpad8g5s5lr5k8jkl0sfwj"; + }; + } + { + goPackagePath = "github.com/uber/jaeger-lib"; + fetch = { + type = "git"; + url = "https://github.com/uber/jaeger-lib"; + rev = "v1.5.0"; + sha256 = "113fwpn80ylx970w8h7nfqnhh18dpx1jadbk7rbr8k68q4di4y0q"; + }; + } + { + goPackagePath = "gitlab.com/gitlab-org/gitaly-proto"; + fetch = { + type = "git"; + url = "https://gitlab.com/gitlab-org/gitaly-proto.git"; + rev = "v1.36.0"; + sha256 = "0xma8ys3lf1bdhlkmcis31xs1h1dshcr5796wwfwnzijwk6422m3"; + }; + } + { + goPackagePath = "gitlab.com/gitlab-org/labkit"; + fetch = { + type = "git"; + url = "https://gitlab.com/gitlab-org/labkit.git"; + rev = "0c3fc7cdd57c"; + sha256 = "0fpn37v7dhhdgd63v4mq9cna9wdzrsfams13qmjmps3xpdw2wr9i"; + }; + } + { + goPackagePath = "go.uber.org/atomic"; + fetch = { + type = "git"; + url = "https://github.com/uber-go/atomic"; + rev = "v1.3.2"; + sha256 = "11pzvjys5ddjjgrv94pgk9pnip9yyb54z7idf33zk7p7xylpnsv6"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "c2843e01d9a2"; + sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r"; + }; + } + { + goPackagePath = "golang.org/x/lint"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/lint"; + rev = "06c8688daad7"; + sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "d28f0bde5980"; + sha256 = "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"; + }; + } + { + goPackagePath = "golang.org/x/oauth2"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/oauth2"; + rev = "d2e6202438be"; + sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7"; + }; + } + { + goPackagePath = "golang.org/x/sync"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sync"; + rev = "37e7f081c4d4"; + sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "d0b11bdaac8a"; + sha256 = "18yfsmw622l7gc5sqriv5qmck6903vvhivpzp8i3xfy3z33dybdl"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "v0.3.0"; + sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; + }; + } + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "6cd1fcedba52"; + sha256 = "00hl0vkmy8impsnmc2dmm55sdhia95k0kqcrjbdpynryn1lamn5d"; + }; + } + { + goPackagePath = "google.golang.org/appengine"; + fetch = { + type = "git"; + url = "https://github.com/golang/appengine"; + rev = "v1.1.0"; + sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x"; + }; + } + { + goPackagePath = "google.golang.org/genproto"; + fetch = { + type = "git"; + url = "https://github.com/google/go-genproto"; + rev = "bd91e49a0898"; + sha256 = "1f5q04h03q6fksbfkhz13ai5849rkkb8xrmmi7cxs4lzsi6ixkg8"; + }; + } + { + goPackagePath = "google.golang.org/grpc"; + fetch = { + type = "git"; + url = "https://github.com/grpc/grpc-go"; + rev = "v1.16.0"; + sha256 = "0a9xl6c5j7lvsb4q6ry5p892rjm86p47d4f8xrf0r8lxblf79qbg"; + }; + } + { + goPackagePath = "gopkg.in/DataDog/dd-trace-go.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/DataDog/dd-trace-go.v1"; + rev = "v1.7.0"; + sha256 = "0j45skiiayfsaw8id4g20k51zfr0raj47a03q2icka5xrh3qj6yq"; + }; + } + { + goPackagePath = "gopkg.in/alecthomas/kingpin.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/alecthomas/kingpin.v2"; + rev = "v2.2.6"; + sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r"; + }; + } + { + goPackagePath = "gopkg.in/check.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/check.v1"; + rev = "20d25e280405"; + sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np"; + }; + } + { + goPackagePath = "gopkg.in/fsnotify.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/fsnotify.v1"; + rev = "v1.4.7"; + sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; + }; + } + { + goPackagePath = "gopkg.in/tomb.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/tomb.v1"; + rev = "dd632973f1e7"; + sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/yaml.v2"; + rev = "v2.2.2"; + sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa"; + }; + } + { + goPackagePath = "honnef.co/go/tools"; + fetch = { + type = "git"; + url = "https://github.com/dominikh/go-tools"; + rev = "88497007e858"; + sha256 = "0rinkyx3r2bq45mgcasnn5jb07cwbv3p3s2wwcrzxsarsj6wa5lc"; + }; + } +] diff --git a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix index c06be7891ff..fd1af22dd78 100644 --- a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix +++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix @@ -7,14 +7,38 @@ }; version = "0.0.7"; }; - activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + actionpack = { + dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yx73l984y3ri5ndj37l1dfarcdvbhra7vhz9fcww4za24is95d5"; + sha256 = "0zyi3dc50ii2msdkawaf11y4xw645ig57ha2jfnr8lpr8s1nlh52"; type = "gem"; }; - version = "5.0.7"; + version = "5.1.7"; + }; + actionview = { + dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0i2j580njb767yhf0k5ih3qqg38ybiah80ai8dsr6kjjw35aj747"; + type = "gem"; + }; + version = "5.1.7"; + }; + activesupport = { + dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0znhiy90hdlx66jqhaycin4qrphrymsw68c36a1an7g481zvfv91"; + type = "gem"; + }; + version = "5.1.7"; }; adamantium = { dependencies = ["ice_nine" "memoizable"]; @@ -25,6 +49,17 @@ }; version = "0.2.0"; }; + addressable = { + dependencies = ["public_suffix"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l"; + type = "gem"; + }; + version = "2.6.0"; + }; ast = { source = { remotes = ["https://rubygems.org"]; @@ -33,14 +68,25 @@ }; version = "2.4.0"; }; - binding_of_caller = { - dependencies = ["debug_inspector"]; + binding_ninja = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05syqlks7463zsy1jdfbbdravdhj9hpj5pv2m74blqpv8bq4vv5g"; + sha256 = "17fa3sv6p2fw9g8fxpwx1kjhhs28aw41akkba0hlgvk60055b1aa"; type = "gem"; }; - version = "0.8.0"; + version = "0.2.3"; + }; + builder = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1"; + type = "gem"; + }; + version = "3.2.3"; }; charlock_holmes = { source = { @@ -68,12 +114,23 @@ version = "0.1.5"; }; concurrent-ruby = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18q9skp5pfq4jwbxzmw8q2rn4cpw6mf4561i2hsjcl1nxdag2jvb"; + sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; type = "gem"; }; - version = "1.1.3"; + version = "1.1.5"; + }; + crack = { + dependencies = ["safe_yaml"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; + type = "gem"; + }; + version = "0.4.3"; }; crass = { source = { @@ -83,14 +140,6 @@ }; version = "1.0.4"; }; - debug_inspector = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0"; - type = "gem"; - }; - version = "0.0.3"; - }; diff-lcs = { source = { remotes = ["https://rubygems.org"]; @@ -99,6 +148,14 @@ }; version = "1.3"; }; + docile = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx"; + type = "gem"; + }; + version = "1.1.5"; + }; equalizer = { source = { remotes = ["https://rubygems.org"]; @@ -107,6 +164,16 @@ }; version = "0.0.11"; }; + erubi = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1"; + type = "gem"; + }; + version = "1.8.0"; + }; escape_utils = { source = { remotes = ["https://rubygems.org"]; @@ -117,21 +184,33 @@ }; factory_bot = { dependencies = ["activesupport"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13q1b7imb591068plg4ashgsqgzarvfjz6xxn3jk6klzikz5zhg1"; + sha256 = "02ijqa3g6lb8l8mvi40z1zgh9bb3gr08p2r2ym159ghhfbcrmbwk"; type = "gem"; }; - version = "4.11.1"; + version = "5.0.2"; }; faraday = { dependencies = ["multipart-post"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16hwxc8v0z6gkanckjhx0ffgqmzpc4ywz4dfhxpjlz2mbz8d5m52"; + sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0"; type = "gem"; }; - version = "0.15.3"; + version = "0.15.4"; + }; + ffi = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p"; + type = "gem"; + }; + version = "1.10.0"; }; gemojione = { dependencies = ["json"]; @@ -144,21 +223,25 @@ }; gitaly-proto = { dependencies = ["grpc"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17fg29j089k94ssim9hfzpd5lycvhimbpvz12d73ywrbwz7a7680"; + sha256 = "11bkrf2z5ppp55cipawdpinrva42x12grp2gl1dp1jdb35crqick"; type = "gem"; }; - version = "1.3.0"; + version = "1.36.0"; }; github-linguist = { dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fs0i5xxsl91hnfa17ipk8cwxrg84kjg9mzxvxkd4ykldfdp353y"; + sha256 = "0nqsprsy4xd6yxzk3b54815hv0gk2r1xn0vsm81pkyy61bbm35hf"; type = "gem"; }; - version = "6.2.0"; + version = "6.4.1"; }; github-markup = { source = { @@ -170,21 +253,25 @@ }; gitlab-gollum-lib = { dependencies = ["gemojione" "github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15h6a7lsfkm967d5dhjlbcm2lnl1l9akzvaq92qlxq40r5apw0kn"; + sha256 = "13m26b32iznp0lbq984dijx7n4ckg99zckwp80gv1knq8n0bpfbf"; type = "gem"; }; - version = "4.2.7.5"; + version = "4.2.7.7"; }; gitlab-gollum-rugged_adapter = { dependencies = ["mime-types" "rugged"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "092i02k3kd4ghk1h1l5yrvi9b180dgfxrvwni26facb2kc9f3wbi"; + sha256 = "1d32d3yfadzwrarv0biwbfbkz2bqcc0dc3q0imnk962jaay19gc4"; type = "gem"; }; - version = "0.4.4.1"; + version = "0.4.4.2"; }; gitlab-grit = { dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"]; @@ -195,13 +282,26 @@ }; version = "2.8.2"; }; - gitlab-markup = { + gitlab-labkit = { + dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "12lzzhbmid4m23pk7d963n3njli2hw7g200arszh75j57bjgs4fy"; + sha256 = "0dvapmdc9axm9dq2gg89qrqb318rkrsabpyybrqvcx1ipbi5k3a1"; type = "gem"; }; - version = "1.6.5"; + version = "0.3.0"; + }; + gitlab-markup = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rqf3jmyn78r3ysy3bjyx7s4yv3xipxlmqlmbyrbksna19rrx08d"; + type = "gem"; + }; + version = "1.7.0"; }; gollum-grit_adapter = { dependencies = ["gitlab-grit"]; @@ -213,39 +313,57 @@ version = "1.0.1"; }; google-protobuf = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "134d3ini9ymdwxpz445m28ss9x0m6vcpijcdkzvgk4n538wdmppf"; + sha256 = "04988m3hmllg4sl4syjb35x0wzsg7rj1nmvhx3d9ihml22w76gb2"; type = "gem"; }; - version = "3.6.1"; + version = "3.7.1"; }; googleapis-common-protos-types = { dependencies = ["google-protobuf"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01ds7g01pxqm3mg283xjzy0lhhvvhvzw3m7gf7szd1r7la4wf0qq"; + sha256 = "0hyr94cafiqj0k8q19hnl658pmbz2b404akikzfv4hdb1j1bwsg1"; type = "gem"; }; - version = "1.0.2"; + version = "1.0.4"; }; grpc = { dependencies = ["google-protobuf" "googleapis-common-protos-types"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m2wspnm1cfkmhlbp7yqv5bb4vsfh246cm0aavxra67aw4l8plhb"; + sha256 = "1rdywzism5vxz8pnml6xjb9f19diclyy74014z69q01jzqwi1wgs"; type = "gem"; }; - version = "1.15.0"; + version = "1.19.0"; + }; + hashdiff = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qji49afni3c90zws617x514xi7ik70g2iwngj9skq68mjcq6y4x"; + type = "gem"; + }; + version = "0.3.9"; }; i18n = { dependencies = ["concurrent-ruby"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7"; + sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl"; type = "gem"; }; - version = "1.1.1"; + version = "1.6.0"; }; ice_nine = { source = { @@ -255,13 +373,36 @@ }; version = "0.11.2"; }; - json = { + jaeger-client = { + dependencies = ["opentracing" "thrift"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; + sha256 = "198m72c9w3wfwr1mq22dcjjm7d4jd0bci4lrq6zq2zvlzhi04n8l"; type = "gem"; }; - version = "2.1.0"; + version = "0.10.0"; + }; + jaro_winkler = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zz27z88qznix4r65gd9h56gl177snlfpgv10b0s69vi8qpl909l"; + type = "gem"; + }; + version = "1.5.2"; + }; + json = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx"; + type = "gem"; + }; + version = "2.2.0"; }; licensee = { dependencies = ["rugged"]; @@ -272,6 +413,25 @@ }; version = "8.9.2"; }; + listen = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0inlw7vix61170vjr87h9izhjm5dbby8rbfrf1iryiv7b3kyvkxl"; + type = "gem"; + }; + version = "0.5.3"; + }; + loofah = { + dependencies = ["crass" "nokogiri"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg"; + type = "gem"; + }; + version = "2.2.3"; + }; memoizable = { dependencies = ["thread_safe"]; source = { @@ -281,6 +441,14 @@ }; version = "0.4.2"; }; + method_source = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq"; + type = "gem"; + }; + version = "0.9.2"; + }; mime-types = { dependencies = ["mime-types-data"]; source = { @@ -291,20 +459,22 @@ version = "3.2.2"; }; mime-types-data = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc"; + sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a"; type = "gem"; }; - version = "3.2018.0812"; + version = "3.2019.0331"; }; mini_portile2 = { source = { remotes = ["https://rubygems.org"]; - sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11"; + sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; type = "gem"; }; - version = "2.3.0"; + version = "2.4.0"; }; minitest = { source = { @@ -314,6 +484,24 @@ }; version = "5.11.3"; }; + msgpack = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1w38hilm3dk42dwk8ygiq49bl4in7y80hfqr63hk54mj4gmzi6ch"; + type = "gem"; + }; + version = "1.2.10"; + }; + multi_json = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; + type = "gem"; + }; + version = "1.13.1"; + }; multipart-post = { source = { remotes = ["https://rubygems.org"]; @@ -324,12 +512,14 @@ }; nokogiri = { dependencies = ["mini_portile2"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz"; + sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4"; type = "gem"; }; - version = "1.8.5"; + version = "1.10.3"; }; nokogumbo = { dependencies = ["nokogiri"]; @@ -340,22 +530,44 @@ }; version = "1.5.0"; }; - parallel = { + opentracing = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67"; + sha256 = "11lj1d8vq0hkb5hjz8q4lm82cddrggpbb33dhqfn7rxhwsmxgdfy"; type = "gem"; }; - version = "1.12.1"; + version = "0.5.0"; + }; + optimist = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05jxrp3nbn5iilc1k7ir90mfnwc5abc9h78s5rpm3qafwqxvcj4j"; + type = "gem"; + }; + version = "3.0.0"; + }; + parallel = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x1gzgjrdlkm1aw0hfpyphsxcx90qgs3y4gmp9km3dvf4hc4qm8r"; + type = "gem"; + }; + version = "1.17.0"; }; parser = { dependencies = ["ast"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f"; + sha256 = "1pnks149x0fzgqiw53qlmvcd8bi746cxdw03sjljby5s97p1fskn"; type = "gem"; }; - version = "2.5.3.0"; + version = "2.6.3.0"; }; posix-spawn = { source = { @@ -365,14 +577,6 @@ }; version = "0.3.13"; }; - powerpack = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv"; - type = "gem"; - }; - version = "0.1.2"; - }; proc_to_ast = { dependencies = ["coderay" "parser" "unparser"]; source = { @@ -390,6 +594,66 @@ }; version = "0.0.3"; }; + pry = { + dependencies = ["coderay" "method_source"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69"; + type = "gem"; + }; + version = "0.12.2"; + }; + public_suffix = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; + type = "gem"; + }; + version = "3.0.3"; + }; + rack = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0z90vflxbgjy2n84r7mbyax3i2vyvvrxxrf86ljzn5rw65jgnn2i"; + type = "gem"; + }; + version = "2.0.7"; + }; + rack-test = { + dependencies = ["rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; + type = "gem"; + }; + version = "1.1.0"; + }; + rails-dom-testing = { + dependencies = ["activesupport" "nokogiri"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i"; + type = "gem"; + }; + version = "2.0.3"; + }; + rails-html-sanitizer = { + dependencies = ["loofah"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr"; + type = "gem"; + }; + version = "1.0.4"; + }; rainbow = { source = { remotes = ["https://rubygems.org"]; @@ -398,6 +662,15 @@ }; version = "3.0.0"; }; + rbtrace = { + dependencies = ["ffi" "msgpack" "optimist"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lwsq08i0aj8na5q5ba3gg02sx3wl58fi6m52svl5p7cy56ycdwi"; + type = "gem"; + }; + version = "0.4.11"; + }; rdoc = { source = { remotes = ["https://rubygems.org"]; @@ -407,74 +680,90 @@ version = "4.3.0"; }; rouge = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql"; + sha256 = "0yfhazlhjc4abgzhkgq8zqmdphvkh52211widkl4zhsbhqh8wg2q"; type = "gem"; }; - version = "3.3.0"; + version = "3.5.1"; }; rspec = { dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0134g96wzxjlig2gxzd240gm2dxfw8izcyi2h6hjmr40syzcyx01"; + sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3"; type = "gem"; }; - version = "3.7.0"; + version = "3.8.0"; }; rspec-core = { dependencies = ["rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zvjbymx3avxm3lf8v4gka3a862vnaxldmwvp6767bpy48nhnvjj"; + sha256 = "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p"; type = "gem"; }; - version = "3.7.1"; + version = "3.8.0"; }; rspec-expectations = { dependencies = ["diff-lcs" "rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fw06wm8jdj8k7wrb8xmzj0fr1wjyb0ya13x31hidnyblm41hmvy"; + sha256 = "1c4gs5ybf7km0qshdm92p38zvg32n1j2kr5fgs2icacz7xf2y6fy"; type = "gem"; }; - version = "3.7.0"; + version = "3.8.3"; }; rspec-mocks = { dependencies = ["diff-lcs" "rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0b02ya3qhqgmcywqv4570dlhav70r656f7dmvwg89whpkq1z1xr3"; + sha256 = "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp"; type = "gem"; }; - version = "3.7.0"; + version = "3.8.0"; }; rspec-parameterized = { - dependencies = ["binding_of_caller" "parser" "proc_to_ast" "rspec" "unparser"]; + dependencies = ["binding_ninja" "parser" "proc_to_ast" "rspec" "unparser"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0arynbr6cfjhccwc8gy2xf87nybdnncsnmfwknnh8s7d4mj730p0"; + sha256 = "1c0892jbaznnldk1wi24qxm70g4zhw2idqx516rhgdzgd7yh5j31"; type = "gem"; }; - version = "0.4.0"; + version = "0.4.2"; }; rspec-support = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nl30xb6jmcl0awhqp6jycl01wdssblifwy921phfml70rd9flj1"; + sha256 = "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609"; type = "gem"; }; - version = "3.7.1"; + version = "3.8.0"; }; rubocop = { - dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"]; + dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "ruby-progressbar" "unicode-display_width"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "106y99lq0fg62k3vk1w5wwb4vq16pnh4l61skc82xck627z0h8is"; + sha256 = "1cmw8ajaiidvrzjcsljh47f4l3lmcazqrzljgalj3szkr8ibkk5i"; type = "gem"; }; - version = "0.54.0"; + version = "0.69.0"; }; ruby-progressbar = { source = { @@ -485,12 +774,24 @@ version = "1.10.0"; }; rugged = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jv4nw9hvlxp8hhhlllrfcznki82i50fp1sj65zsjllfl2bvz8x6"; + sha256 = "1yiszpz6y13vvgh3fss1l0ipp0zgsbbc8c28vynnpdyx1sy6krp6"; type = "gem"; }; - version = "0.27.5"; + version = "0.28.1"; + }; + safe_yaml = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0j7qv63p0vqcd838i2iy2f76c3dgwzkiz1d1xkg7n0pbnxj2vb56"; + type = "gem"; + }; + version = "1.0.5"; }; sanitize = { dependencies = ["crass" "nokogiri" "nokogumbo"]; @@ -503,20 +804,41 @@ }; sentry-raven = { dependencies = ["faraday"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yf2gysjw6sy1xcp2jw35z9cp83pwx33lq0qyvaqbs969j4993r4"; + sha256 = "1j9rwbig24ry0smgvmkzdjrzyszniaswipinvflzxzzaz52v7483"; type = "gem"; }; - version = "2.7.2"; + version = "2.9.0"; + }; + simplecov = { + dependencies = ["docile" "multi_json" "simplecov-html"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a3wy9zlmfwl3f47cibnxyxrgfz16y6fmy0dj1vyidzyys4mvy12"; + type = "gem"; + }; + version = "0.9.2"; + }; + simplecov-html = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jv9pmpaxihrcsgcf6mgl3qg7rhf9scl5l2k67d768w9cz63xgvc"; + type = "gem"; + }; + version = "0.9.0"; }; stringex = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0c5dfrjzkskzfsdvwsviq4111rwwpbk9022nxwdidz014mky5vi1"; + sha256 = "15ns7j5smw04w6w7bqd5mm2qcl7w9lhwykyb974i4isgg9yc23ys"; type = "gem"; }; - version = "2.8.4"; + version = "2.8.5"; }; thread_safe = { source = { @@ -526,6 +848,16 @@ }; version = "0.3.6"; }; + thrift = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02p107kwx7jnkh6fpdgvaji0xdg6xkaarngkqjml6s4zny4m8slv"; + type = "gem"; + }; + version = "0.11.0.0"; + }; timecop = { source = { remotes = ["https://rubygems.org"]; @@ -544,20 +876,41 @@ version = "1.2.5"; }; unicode-display_width = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57"; + sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w"; type = "gem"; }; - version = "1.4.0"; + version = "1.6.0"; }; unparser = { dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rh1649846ac17av30x0b0v9l45v0x1j2y1i8m1a7xdd0v4sld0z"; + sha256 = "03vjj74kj86vlazhiclf63kf6gajs66k8ni34q70fdhf97d7b60c"; type = "gem"; }; - version = "0.2.8"; + version = "0.4.5"; + }; + vcr = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qh7lkj9b0shph84dw1wsrlaprl0jn1i4339fpsfy99402290zrr"; + type = "gem"; + }; + version = "4.0.0"; + }; + webmock = { + dependencies = ["addressable" "crack" "hashdiff"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03994dxs4xayvkxqp01dd1ivhg4xxx7z35f7cxw7y2mwj3xn24ib"; + type = "gem"; + }; + version = "3.4.2"; }; } \ No newline at end of file diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix index 895e1e13bec..cd4784b36c8 100644 --- a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix +++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix @@ -1,14 +1,14 @@ { stdenv, ruby, bundler, fetchFromGitLab, go }: stdenv.mkDerivation rec { - version = "8.4.4"; - name = "gitlab-shell-${version}"; + version = "9.3.0"; + pname = "gitlab-shell"; src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-shell"; rev = "v${version}"; - sha256 = "1a6p13g38f4gqqfjgymcvf09k4mnr2bfpj8mqz0x6rz7q67lllcq"; + sha256 = "1r000h4sgplx7giqvqs5iy0zh3drf6qa1iiq0mxlk3h9fshs1348"; }; buildInputs = [ ruby bundler go ]; @@ -16,6 +16,8 @@ stdenv.mkDerivation rec { patches = [ ./remove-hardcoded-locations.patch ]; installPhase = '' + export GOCACHE="$TMPDIR/go-cache" + ruby bin/compile mkdir -p $out/ cp -R . $out/ diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch index 7819c863a35..d8337ebb9ea 100644 --- a/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch +++ b/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch @@ -1,16 +1,16 @@ diff --git a/go/internal/config/config.go b/go/internal/config/config.go -index 435cb29..078c1df 100644 +index f951fe6..b422fe3 100644 --- a/go/internal/config/config.go +++ b/go/internal/config/config.go -@@ -2,7 +2,6 @@ package config - +@@ -3,7 +3,6 @@ package config import ( "io/ioutil" + "net/url" - "os" "path" + "strings" - yaml "gopkg.in/yaml.v2" -@@ -26,16 +25,13 @@ type Config struct { +@@ -30,16 +29,13 @@ type Config struct { } func New() (*Config, error) { @@ -28,12 +28,25 @@ index 435cb29..078c1df 100644 + return newFromFile("/run/gitlab/shell-config.yml") } - func newFromFile(filename string) (*Config, error) { + func (c *Config) FeatureEnabled(featureName string) bool { +diff --git a/lib/gitlab_keys.rb b/lib/gitlab_keys.rb +index 0600a18..c46f2d7 100644 +--- a/lib/gitlab_keys.rb ++++ b/lib/gitlab_keys.rb +@@ -10,7 +10,7 @@ class GitlabKeys # rubocop:disable Metrics/ClassLength + attr_accessor :auth_file, :key + + def self.command(whatever) +- "#{ROOT_PATH}/bin/gitlab-shell #{whatever}" ++ "/run/current-system/sw/bin/gitlab-shell #{whatever}" + end + + def self.command_key(key_id) diff --git a/lib/gitlab_shell.rb b/lib/gitlab_shell.rb -index 57c70f5..700569b 100644 +index 2cb76a8..f59ad5e 100644 --- a/lib/gitlab_shell.rb +++ b/lib/gitlab_shell.rb -@@ -187,7 +187,8 @@ class GitlabShell # rubocop:disable Metrics/ClassLength +@@ -190,7 +190,8 @@ class GitlabShell # rubocop:disable Metrics/ClassLength args = [executable, gitaly_address, json_args] # We use 'chdir: ROOT_PATH' to let the next executable know where config.yml is. @@ -43,16 +56,16 @@ index 57c70f5..700569b 100644 end def api -diff --git a/lib/gitlab_keys.rb b/lib/gitlab_keys.rb -index 0600a18..6814f0a 100644 ---- a/lib/gitlab_keys.rb -+++ b/lib/gitlab_keys.rb -@@ -10,7 +10,7 @@ class GitlabKeys # rubocop:disable Metrics/ClassLength - attr_accessor :auth_file, :key - - def self.command(whatever) -- "#{ROOT_PATH}/bin/gitlab-shell #{whatever}" -+ "/run/current-system/sw/bin/gitlab-shell #{whatever}" - end - - def self.command_key(key_id) +diff --git a/go/internal/command/fallback/fallback.go b/go/internal/command/fallback/fallback.go +index 2cb76a8..f59ad5e 100644 +--- a/go/internal/command/fallback/fallback.go ++++ b/go/internal/command/fallback/fallback.go +@@ -21,7 +21,7 @@ + ) + + func (c *Command) Execute() error { +- rubyCmd := filepath.Join(c.RootDir, "bin", RubyProgram) ++ rubyCmd := filepath.Join("/run/current-system/sw/bin", RubyProgram) + + // Ensure rubyArgs[0] is the full path to gitlab-shell-ruby + rubyArgs := append([]string{rubyCmd}, c.Args[1:]...) diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix index ad3b11f3b2c..12f354bc2fb 100644 --- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix +++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix @@ -1,20 +1,20 @@ { stdenv, fetchFromGitLab, git, go }: stdenv.mkDerivation rec { - name = "gitlab-workhorse-${version}"; + pname = "gitlab-workhorse"; - version = "8.0.2"; + version = "8.7.0"; src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-workhorse"; rev = "v${version}"; - sha256 = "12xwr9yl59i58gnf0yn5yjp7zwz3s46042lk7rihvvzsa0kax690"; + sha256 = "1zlngc498hnzbxwdjn3ymr0xwrnfgnzzhn9lyf37yfbjl8x28n3z"; }; buildInputs = [ git go ]; - makeFlags = [ "PREFIX=$(out)" "VERSION=${version}" ]; + makeFlags = [ "PREFIX=$(out)" "VERSION=${version}" "GOCACHE=$(TMPDIR)/go-cache" ]; meta = with stdenv.lib; { homepage = http://www.gitlab.com/; diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile index f59e61208ac..8bffc2a973d 100644 --- a/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile +++ b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile @@ -1,7 +1,6 @@ source 'https://rubygems.org' -gem 'rails', '5.0.7.1' -gem 'rails-deprecated_sanitizer', '~> 1.0.3' +gem 'rails', '5.2.3' # Improves copy-on-write performance for MRI gem 'nakayoshi_fork', '~> 0.0.4' @@ -12,19 +11,19 @@ gem 'responders', '~> 2.0' gem 'sprockets', '~> 3.7.0' # Default values for AR models -gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for' +gem 'default_value_for', '~> 3.2.0' # Supported DBs gem 'mysql2', '~> 0.4.10', group: :mysql -gem 'pg', '~> 0.18.2', group: :postgres +gem 'pg', '~> 1.1', group: :postgres -gem 'rugged', '~> 0.27' -gem 'grape-path-helpers', '~> 1.0' +gem 'rugged', '~> 0.28' +gem 'grape-path-helpers', '~> 1.1' gem 'faraday', '~> 0.12' # Authentication libraries -gem 'devise', '~> 4.4' +gem 'devise', '~> 4.6' gem 'doorkeeper', '~> 4.3' gem 'doorkeeper-openid_connect', '~> 1.5' gem 'omniauth', '~> 1.8' @@ -42,11 +41,14 @@ gem 'omniauth-shibboleth', '~> 1.3.0' gem 'omniauth-twitter', '~> 1.4' gem 'omniauth_crowd', '~> 2.2.0' gem 'omniauth-authentiq', '~> 0.3.3' -gem 'rack-oauth2', '~> 1.2.1' +gem 'omniauth_openid_connect', '~> 0.3.1' +gem "omniauth-ultraauth", '~> 0.0.2' +gem 'omniauth-salesforce', '~> 1.0.5' +gem 'rack-oauth2', '~> 1.9.3' gem 'jwt', '~> 2.1.0' # Spam and anti-bot protection -gem 'recaptcha', '~> 3.0', require: 'recaptcha/rails' +gem 'recaptcha', '~> 4.11', require: 'recaptcha/rails' gem 'akismet', '~> 2.0' # Two-factor authentication @@ -58,6 +60,8 @@ gem 'u2f', '~> 0.2.1' # GitLab Pages gem 'validates_hostname', '~> 1.0.6' gem 'rubyzip', '~> 1.2.2', require: 'zip' +# GitLab Pages letsencrypt support +gem 'acme-client', '~> 2.0.2' # Browser detection gem 'browser', '~> 2.5' @@ -68,7 +72,7 @@ gem 'gpgme', '~> 2.0.18' # LDAP Auth # GitLab fork with several improvements to original library. For full list of changes # see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master -gem 'gitlab_omniauth-ldap', '~> 2.0.4', require: 'omniauth-ldap' +gem 'gitlab_omniauth-ldap', '~> 2.1.1', require: 'omniauth-ldap' gem 'net-ldap' # API @@ -79,6 +83,8 @@ gem 'rack-cors', '~> 1.0.0', require: 'rack/cors' # GraphQL API gem 'graphql', '~> 1.8.0' gem 'graphiql-rails', '~> 1.4.10' +gem 'apollo_upload_server', '~> 2.0.0.beta3' +gem 'graphql-docs', '~> 1.6.0', group: [:development, :test] # Disable strong_params so that Mash does not respond to :permitted? gem 'hashie-forbidden_attributes' @@ -94,13 +100,15 @@ gem 'carrierwave', '~> 1.3' gem 'mini_magick' # for backups -gem 'fog-aws', '~> 2.0.1' -gem 'fog-core', '~> 1.44' -gem 'fog-google', '~> 1.7.1' -gem 'fog-local', '~> 0.3' -gem 'fog-openstack', '~> 0.1' +gem 'fog-aws', '~> 3.5' +# Locked until fog-google resolves https://github.com/fog/fog-google/issues/421. +# Also see config/initializers/fog_core_patch.rb. +gem 'fog-core', '= 2.1.0' +gem 'fog-google', '~> 1.8' +gem 'fog-local', '~> 0.6' +gem 'fog-openstack', '~> 1.0' gem 'fog-rackspace', '~> 0.1.1' -gem 'fog-aliyun', '~> 0.2.0' +gem 'fog-aliyun', '~> 0.3' # for Google storage gem 'google-api-client', '~> 0.23' @@ -113,22 +121,22 @@ gem 'seed-fu', '~> 2.3.7' # Markdown and HTML processing gem 'html-pipeline', '~> 2.8' -gem 'deckar01-task_list', '2.0.0' -gem 'gitlab-markup', '~> 1.6.5' +gem 'deckar01-task_list', '2.2.0' +gem 'gitlab-markup', '~> 1.7.0' gem 'github-markup', '~> 1.7.0', require: 'github/markup' -gem 'redcarpet', '~> 3.4' gem 'commonmarker', '~> 0.17' gem 'RedCloth', '~> 4.3.2' gem 'rdoc', '~> 6.0' gem 'org-ruby', '~> 0.9.12' gem 'creole', '~> 0.5.0' gem 'wikicloth', '0.8.1' -gem 'asciidoctor', '~> 1.5.8' -gem 'asciidoctor-plantuml', '0.0.8' -gem 'rouge', '~> 3.1' -gem 'truncato', '~> 0.7.9' -gem 'bootstrap_form', '~> 2.7.0' -gem 'nokogiri', '~> 1.8.5' +gem 'asciidoctor', '~> 2.0.10' +gem 'asciidoctor-include-ext', '~> 0.3.1', require: false +gem 'asciidoctor-plantuml', '0.0.9' +gem 'rouge', '~> 3.5' +gem 'truncato', '~> 0.7.11' +gem 'bootstrap_form', '~> 4.2.0' +gem 'nokogiri', '~> 1.10.3' gem 'escape_utils', '~> 1.1' # Calendar rendering @@ -138,38 +146,36 @@ gem 'icalendar' gem 'diffy', '~> 3.1.0' # Application server -# The 2.0.6 version of rack requires monkeypatch to be present in -# `config.ru`. This can be removed once a new update for Rack -# is available that contains https://github.com/rack/rack/pull/1201. -gem 'rack', '2.0.6' +gem 'rack', '~> 2.0.7' group :unicorn do - gem 'unicorn', '~> 5.1.0' + gem 'unicorn', '~> 5.4.1' gem 'unicorn-worker-killer', '~> 0.4.4' end group :puma do gem 'puma', '~> 3.12', require: false gem 'puma_worker_killer', require: false + gem 'rack-timeout', require: false end # State machine gem 'state_machines-activerecord', '~> 0.5.1' # Issue tags -gem 'acts-as-taggable-on', '~> 5.0' +gem 'acts-as-taggable-on', '~> 6.0' # Background jobs -gem 'sidekiq', '~> 5.2.1' -gem 'sidekiq-cron', '~> 0.6.0' +gem 'sidekiq', '~> 5.2.7' +gem 'sidekiq-cron', '~> 1.0' gem 'redis-namespace', '~> 1.6.0' gem 'gitlab-sidekiq-fetcher', '~> 0.4.0', require: 'sidekiq-reliable-fetch' # Cron Parser -gem 'rufus-scheduler', '~> 3.4' +gem 'fugit', '~> 1.2.1' # HTTP requests -gem 'httparty', '~> 0.13.3' +gem 'httparty', '~> 0.16.4' # Colored output to console gem 'rainbow', '~> 3.0' @@ -185,10 +191,10 @@ gem 're2', '~> 1.1.1' # Misc -gem 'version_sorter', '~> 2.1.0' +gem 'version_sorter', '~> 2.2.4' # Export Ruby Regex to Javascript -gem 'js_regex', '~> 2.2.1' +gem 'js_regex', '~> 3.1' # User agent parsing gem 'device_detector' @@ -206,7 +212,7 @@ gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false # HipChat integration gem 'hipchat', '~> 1.5.0' -# JIRA integration +# Jira integration gem 'jira-ruby', '~> 1.4' # Flowdock integration @@ -225,7 +231,7 @@ gem 'asana', '~> 0.8.1' gem 'ruby-fogbugz', '~> 0.2.1' # Kubernetes integration -gem 'kubeclient', '~> 4.0.0' +gem 'kubeclient', '~> 4.2.2' # Sanitize user input gem 'sanitize', '~> 4.6' @@ -259,25 +265,25 @@ gem 'chronic_duration', '~> 0.10.6' gem 'webpack-rails', '~> 0.9.10' gem 'rack-proxy', '~> 0.6.0' -gem 'sass-rails', '~> 5.0.6' -gem 'sass', '~> 3.5' +gem 'sassc-rails', '~> 2.1.0' gem 'uglifier', '~> 2.7.2' gem 'addressable', '~> 2.5.2' gem 'font-awesome-rails', '~> 4.7' gem 'gemojione', '~> 3.3' gem 'gon', '~> 6.2' -gem 'jquery-atwho-rails', '~> 1.3.2' gem 'request_store', '~> 1.3' -gem 'select2-rails', '~> 3.5.9' gem 'virtus', '~> 1.0.1' gem 'base32', '~> 0.3.0' # Sentry integration -gem 'sentry-raven', '~> 2.7' +gem 'sentry-raven', '~> 2.9' gem 'premailer-rails', '~> 1.9.7' +# LabKit: Tracing and Correlation +gem 'gitlab-labkit', '~> 0.3.0' + # I18n gem 'ruby_parser', '~> 3.8', require: false gem 'rails-i18n', '~> 5.1' @@ -285,7 +291,7 @@ gem 'gettext_i18n_rails', '~> 1.8.0' gem 'gettext_i18n_rails_js', '~> 1.3' gem 'gettext', '~> 3.2.2', require: false, group: :development -gem 'batch-loader', '~> 1.2.2' +gem 'batch-loader', '~> 1.4.0' # Perf bar gem 'peek', '~> 1.0.1' @@ -295,13 +301,16 @@ gem 'peek-pg', '~> 1.3.0', group: :postgres gem 'peek-rblineprof', '~> 0.2.0' gem 'peek-redis', '~> 1.2.0' +# Memory benchmarks +gem 'derailed_benchmarks', require: false + # Metrics group :metrics do gem 'method_source', '~> 0.8', require: false gem 'influxdb', '~> 0.2', require: false # Prometheus - gem 'prometheus-client-mmap', '~> 0.9.4' + gem 'prometheus-client-mmap', '~> 0.9.8' gem 'raindrops', '~> 0.18' end @@ -309,7 +318,7 @@ group :development do gem 'foreman', '~> 0.84.0' gem 'brakeman', '~> 4.2', require: false - gem 'letter_opener_web', '~> 1.3.0' + gem 'letter_opener_web', '~> 1.3.4' gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false # Better errors handler @@ -321,7 +330,7 @@ group :development do end group :development, :test do - gem 'bootsnap', '~> 1.3' + gem 'bootsnap', '~> 1.4' gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET'] gem 'pry-byebug', '~> 3.5.1', platform: :mri gem 'pry-rails', '~> 0.3.4' @@ -331,8 +340,8 @@ group :development, :test do gem 'database_cleaner', '~> 1.7.0' gem 'factory_bot_rails', '~> 4.8.2' - gem 'rspec-rails', '~> 3.7.0' - gem 'rspec-retry', '~> 0.4.5' + gem 'rspec-rails', '~> 3.8.0' + gem 'rspec-retry', '~> 0.6.1' gem 'rspec_profiling', '~> 0.0.5' gem 'rspec-set', '~> 0.1.3' gem 'rspec-parameterized', require: false @@ -343,22 +352,24 @@ group :development, :test do # Generate Fake data gem 'ffaker', '~> 2.10' - gem 'capybara', '~> 2.16.1' - gem 'capybara-screenshot', '~> 1.0.18' - gem 'selenium-webdriver', '~> 3.12' + gem 'capybara', '~> 3.22.0' + gem 'capybara-screenshot', '~> 1.0.22' + gem 'selenium-webdriver', '~> 3.141' gem 'spring', '~> 2.0.0' gem 'spring-commands-rspec', '~> 1.0.4' - gem 'gitlab-styles', '~> 2.4', require: false + gem 'gitlab-styles', '~> 2.7', require: false # Pin these dependencies, otherwise a new rule could break the CI pipelines - gem 'rubocop', '~> 0.54.0' + gem 'rubocop', '~> 0.69.0' + gem 'rubocop-performance', '~> 1.1.0' gem 'rubocop-rspec', '~> 1.22.1' gem 'scss_lint', '~> 0.56.0', require: false - gem 'haml_lint', '~> 0.28.0', require: false - gem 'simplecov', '~> 0.14.0', require: false + gem 'haml_lint', '~> 0.31.0', require: false + gem 'simplecov', '~> 0.16.1', require: false gem 'bundler-audit', '~> 0.5.0', require: false + gem 'mdl', '~> 0.5.0', require: false gem 'benchmark-ips', '~> 2.3.0', require: false @@ -375,10 +386,10 @@ group :development, :test do end group :test do - gem 'shoulda-matchers', '~> 3.1.2', require: false + gem 'shoulda-matchers', '~> 4.0.1', require: false gem 'email_spec', '~> 2.2.0' gem 'json-schema', '~> 2.8.0' - gem 'webmock', '~> 2.3.2' + gem 'webmock', '~> 3.5.1' gem 'rails-controller-testing' gem 'sham_rack', '~> 1.3.6' gem 'concurrent-ruby', '~> 1.1' @@ -395,6 +406,9 @@ gem 'html2text' gem 'ruby-prof', '~> 0.17.0' gem 'rbtrace', '~> 0.4', require: false +gem 'memory_profiler', '~> 0.9', require: false +gem 'benchmark-memory', '~> 0.1', require: false +gem 'activerecord-explain-analyze', '~> 0.1', require: false # OAuth gem 'oauth2', '~> 1.4' @@ -407,8 +421,8 @@ gem 'vmstat', '~> 2.3.0' gem 'sys-filesystem', '~> 1.1.6' # SSH host key support -gem 'net-ssh', '~> 5.0' -gem 'sshkey', '~> 1.9.0' +gem 'net-ssh', '~> 5.2' +gem 'sshkey', '~> 2.0' # Required for ED25519 SSH host key support group :ed25519 do @@ -417,10 +431,11 @@ group :ed25519 do end # Gitaly GRPC client -gem 'gitaly-proto', '~> 1.5.0', require: 'gitaly' -gem 'grpc', '~> 1.15.0' +gem 'gitaly-proto', '~> 1.37.0', require: 'gitaly' -gem 'google-protobuf', '~> 3.6' +gem 'grpc', '~> 1.19.0' + +gem 'google-protobuf', '~> 3.7.1' gem 'toml-rb', '~> 1.0.0', require: false diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock index 77b4360cf41..60939ae918c 100644 --- a/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock +++ b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock @@ -4,47 +4,56 @@ GEM RedCloth (4.3.2) abstract_type (0.0.7) ace-rails-ap (4.1.2) - actioncable (5.0.7.1) - actionpack (= 5.0.7.1) - nio4r (>= 1.2, < 3.0) - websocket-driver (~> 0.6.1) - actionmailer (5.0.7.1) - actionpack (= 5.0.7.1) - actionview (= 5.0.7.1) - activejob (= 5.0.7.1) + acme-client (2.0.2) + faraday (~> 0.9, >= 0.9.1) + actioncable (5.2.3) + actionpack (= 5.2.3) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailer (5.2.3) + actionpack (= 5.2.3) + actionview (= 5.2.3) + activejob (= 5.2.3) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.0.7.1) - actionview (= 5.0.7.1) - activesupport (= 5.0.7.1) + actionpack (5.2.3) + actionview (= 5.2.3) + activesupport (= 5.2.3) rack (~> 2.0) - rack-test (~> 0.6.3) + rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.0.7.1) - activesupport (= 5.0.7.1) + actionview (5.2.3) + activesupport (= 5.2.3) builder (~> 3.1) - erubis (~> 2.7.0) + erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.0.7.1) - activesupport (= 5.0.7.1) + activejob (5.2.3) + activesupport (= 5.2.3) globalid (>= 0.3.6) - activemodel (5.0.7.1) - activesupport (= 5.0.7.1) - activerecord (5.0.7.1) - activemodel (= 5.0.7.1) - activesupport (= 5.0.7.1) - arel (~> 7.0) + activemodel (5.2.3) + activesupport (= 5.2.3) + activerecord (5.2.3) + activemodel (= 5.2.3) + activesupport (= 5.2.3) + arel (>= 9.0) + activerecord-explain-analyze (0.1.0) + activerecord (>= 4) + pg activerecord_sane_schema_dumper (1.0) rails (>= 5, < 6) - activesupport (5.0.7.1) + activestorage (5.2.3) + actionpack (= 5.2.3) + activerecord (= 5.2.3) + marcel (~> 0.3.1) + activesupport (5.2.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) - acts-as-taggable-on (5.0.0) - activerecord (>= 4.2.8) + acts-as-taggable-on (6.0.0) + activerecord (~> 5.0) adamantium (0.2.0) ice_nine (~> 0.11.0) memoizable (~> 0.4.0) @@ -52,20 +61,25 @@ GEM public_suffix (>= 2.0.2, < 4.0) aes_key_wrap (1.0.1) akismet (2.0.0) - arel (7.1.4) + apollo_upload_server (2.0.0.beta.3) + graphql (>= 1.8) + rails (>= 4.2) + arel (9.0.0) asana (0.8.1) faraday (~> 0.9) faraday_middleware (~> 0.9) faraday_middleware-multi_json (~> 0.0) oauth2 (~> 1.0) - asciidoctor (1.5.8) - asciidoctor-plantuml (0.0.8) - asciidoctor (~> 1.5) + asciidoctor (2.0.10) + asciidoctor-include-ext (0.3.1) + asciidoctor (>= 1.5.6, < 3.0.0) + asciidoctor-plantuml (0.0.9) + asciidoctor (>= 1.5.6, < 3.0.0) ast (2.4.0) atomic (1.1.99) attr_encrypted (3.1.0) encryptor (~> 3.0.0) - attr_required (1.0.0) + attr_required (1.0.1) awesome_print (1.8.0) axiom-types (0.1.1) descendants_tracker (~> 0.0.4) @@ -73,21 +87,25 @@ GEM thread_safe (~> 0.3, >= 0.3.1) babosa (1.0.2) base32 (0.3.2) - batch-loader (1.2.2) + batch-loader (1.4.0) bcrypt (3.1.12) bcrypt_pbkdf (1.0.0) benchmark-ips (2.3.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) better_errors (2.5.0) coderay (>= 1.0.0) erubi (>= 1.0.0) rack (>= 0.9.0) bindata (2.4.3) - binding_ninja (0.2.2) + binding_ninja (0.2.3) binding_of_caller (0.8.0) debug_inspector (>= 0.0.1) - bootsnap (1.3.2) + bootsnap (1.4.1) msgpack (~> 1.0) - bootstrap_form (2.7.0) + bootstrap_form (4.2.0) + actionpack (>= 5.0) + activemodel (>= 5.0) brakeman (4.2.1) browser (2.5.3) builder (3.2.3) @@ -98,13 +116,14 @@ GEM bundler (~> 1.2) thor (~> 0.18) byebug (9.1.0) - capybara (2.16.1) + capybara (3.22.0) addressable mini_mime (>= 0.1.3) - nokogiri (>= 1.3.3) - rack (>= 1.0.0) - rack-test (>= 0.5.4) - xpath (~> 2.0) + nokogiri (~> 1.8) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (~> 1.5) + xpath (~> 3.2) capybara-screenshot (1.0.22) capybara (>= 1.0, < 4) launchy @@ -113,6 +132,7 @@ GEM activesupport (>= 4.0.0) mime-types (>= 1.16) cause (0.1) + character_set (1.1.2) charlock_holmes (0.7.6) childprocess (0.9.0) ffi (~> 1.0, >= 1.0.11) @@ -129,9 +149,9 @@ GEM concord (0.1.5) adamantium (~> 0.2.0) equalizer (~> 0.0.9) - concurrent-ruby (1.1.3) - concurrent-ruby-ext (1.1.3) - concurrent-ruby (= 1.1.3) + concurrent-ruby (1.1.5) + concurrent-ruby-ext (1.1.5) + concurrent-ruby (= 1.1.5) connection_pool (2.2.2) crack (0.4.3) safe_yaml (~> 1.0.0) @@ -143,14 +163,24 @@ GEM database_cleaner (1.7.0) debug_inspector (0.0.3) debugger-ruby_core_source (1.3.8) - deckar01-task_list (2.0.0) + deckar01-task_list (2.2.0) html-pipeline declarative (0.0.10) declarative-option (0.1.0) + default_value_for (3.2.0) + activerecord (>= 3.2.0, < 6.0) + derailed_benchmarks (1.3.5) + benchmark-ips (~> 2) + get_process_mem (~> 0) + heapy (~> 0) + memory_profiler (~> 0) + rack (>= 1) + rake (> 10, < 13) + thor (~> 0.19) descendants_tracker (0.0.4) thread_safe (~> 0.3, >= 0.3.1) device_detector (1.0.0) - devise (4.4.3) + devise (4.6.2) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0, < 6.0) @@ -166,7 +196,7 @@ GEM diffy (3.1.0) discordrb-webhooks-blackst0ne (3.3.0) rest-client (~> 2.0) - docile (1.1.5) + docile (1.3.1) domain_name (0.5.20180417) unf (>= 0.0.5, < 1.0.0) doorkeeper (4.3.2) @@ -182,15 +212,16 @@ GEM mail (~> 2.7) encryptor (3.0.0) equalizer (0.0.11) - erubi (1.7.1) - erubis (2.7.0) + erubi (1.8.0) escape_utils (1.2.1) - et-orbi (1.0.3) + et-orbi (1.2.1) tzinfo eventmachine (1.2.7) excon (0.62.0) execjs (2.6.0) expression_parser (0.9.0) + extended-markdown-filter (0.6.0) + html-pipeline (~> 2.0) factory_bot (4.8.2) activesupport (>= 3.0.0) factory_bot_rails (4.8.2) @@ -206,7 +237,7 @@ GEM fast_blank (1.0.0) fast_gettext (1.6.0) ffaker (2.10.0) - ffi (1.9.25) + ffi (1.10.0) flipper (0.13.0) flipper-active_record (0.13.0) activerecord (>= 3.2, < 6) @@ -217,32 +248,33 @@ GEM flowdock (0.7.1) httparty (~> 0.7) multi_json - fog-aliyun (0.2.0) - fog-core (~> 1.27) - fog-json (~> 1.0) + fog-aliyun (0.3.3) + fog-core + fog-json ipaddress (~> 0.8) xml-simple (~> 1.1) - fog-aws (2.0.1) - fog-core (~> 1.38) - fog-json (~> 1.0) + fog-aws (3.5.2) + fog-core (~> 2.1) + fog-json (~> 1.1) fog-xml (~> 0.1) ipaddress (~> 0.8) - fog-core (1.45.0) + fog-core (2.1.0) builder excon (~> 0.58) formatador (~> 0.2) - fog-google (1.7.1) - fog-core - fog-json - fog-xml + mime-types + fog-google (1.8.2) + fog-core (<= 2.1.0) + fog-json (~> 1.2) + fog-xml (~> 0.1.0) google-api-client (~> 0.23.0) - fog-json (1.0.2) - fog-core (~> 1.0) + fog-json (1.2.0) + fog-core multi_json (~> 1.10) - fog-local (0.3.1) - fog-core (~> 1.27) - fog-openstack (0.1.21) - fog-core (>= 1.40) + fog-local (0.6.0) + fog-core (>= 1.27, < 3.0) + fog-openstack (1.0.8) + fog-core (~> 2.1) fog-json (>= 1.0) ipaddress (>= 0.8) fog-rackspace (0.1.1) @@ -253,17 +285,21 @@ GEM fog-xml (0.1.3) fog-core nokogiri (>= 1.5.11, < 2.0.0) - font-awesome-rails (4.7.0.1) - railties (>= 3.2, < 5.1) + font-awesome-rails (4.7.0.4) + railties (>= 3.2, < 6.0) foreman (0.84.0) thor (~> 0.19.1) formatador (0.2.5) + fugit (1.2.1) + et-orbi (~> 1.1, >= 1.1.8) + raabro (~> 1.1) fuubar (2.2.0) rspec-core (~> 3.0) ruby-progressbar (~> 1.4) + gemoji (3.0.1) gemojione (3.3.0) json - get_process_mem (0.2.0) + get_process_mem (0.2.3) gettext (3.2.9) locale (>= 2.0.5) text (>= 1.3.0) @@ -274,24 +310,29 @@ GEM gettext_i18n_rails (>= 0.7.1) po_to_json (>= 1.0.0) rails (>= 3.2.0) - gitaly-proto (1.5.0) + gitaly-proto (1.37.0) grpc (~> 1.0) github-markup (1.7.0) - gitlab-default_value_for (3.1.1) - activerecord (>= 3.2.0, < 6.0) - gitlab-markup (1.6.5) + gitlab-labkit (0.3.0) + actionpack (~> 5) + activesupport (~> 5) + grpc (~> 1.19.0) + jaeger-client (~> 0.10) + opentracing (~> 0.4) + gitlab-markup (1.7.0) gitlab-sidekiq-fetcher (0.4.0) sidekiq (~> 5) - gitlab-styles (2.4.1) - rubocop (~> 0.54.0) + gitlab-styles (2.7.0) + rubocop (~> 0.69.0) rubocop-gitlab-security (~> 0.1.0) + rubocop-performance (~> 1.1.0) rubocop-rspec (~> 1.19) - gitlab_omniauth-ldap (2.0.4) + gitlab_omniauth-ldap (2.1.1) net-ldap (~> 0.16) omniauth (~> 1.3) pyu-ruby-sasl (>= 0.0.3.3, < 0.1) rubyntlm (~> 0.5) - globalid (0.4.1) + globalid (0.4.2) activesupport (>= 4.2.0) gon (6.2.0) actionpack (>= 3.0) @@ -304,8 +345,8 @@ GEM mime-types (~> 3.0) representable (~> 3.0) retriable (>= 2.0, < 4.0) - google-protobuf (3.6.1) - googleapis-common-protos-types (1.0.2) + google-protobuf (3.7.1) + googleapis-common-protos-types (1.0.4) google-protobuf (~> 3.0) googleauth (0.6.6) faraday (~> 0.12) @@ -326,8 +367,8 @@ GEM grape-entity (0.7.1) activesupport (>= 4.0) multi_json (>= 1.3.2) - grape-path-helpers (1.0.6) - activesupport (>= 4, < 5.1) + grape-path-helpers (1.1.0) + activesupport grape (~> 1.0) rake (~> 12) grape_logging (1.7.0) @@ -336,13 +377,21 @@ GEM railties sprockets-rails graphql (1.8.1) - grpc (1.15.0) + graphql-docs (1.6.0) + commonmarker (~> 0.16) + escape_utils (~> 1.2) + extended-markdown-filter (~> 0.4) + gemoji (~> 3.0) + graphql (~> 1.6) + html-pipeline (~> 2.8) + sass (~> 3.4) + grpc (1.19.0) google-protobuf (~> 3.1) googleapis-common-protos-types (~> 1.0.0) haml (5.0.4) temple (>= 0.8.0) tilt - haml_lint (0.28.0) + haml_lint (0.31.0) haml (>= 4.0, < 5.1) rainbow rake (>= 10, < 13) @@ -353,12 +402,13 @@ GEM thor tilt hangouts-chat (0.0.5) - hashdiff (0.3.4) + hashdiff (0.3.8) hashie (3.5.7) hashie-forbidden_attributes (0.1.1) hashie (>= 3.0) health_check (2.6.0) rails (>= 4.0) + heapy (0.1.4) hipchat (1.5.2) httparty mimemagic @@ -377,11 +427,11 @@ GEM domain_name (~> 0.5) http-form_data (2.1.1) http_parser.rb (0.6.0) - httparty (0.13.7) - json (~> 1.8) + httparty (0.16.4) + mime-types (~> 3.0) multi_xml (>= 0.5.2) httpclient (2.8.3) - i18n (1.2.0) + i18n (1.6.0) concurrent-ruby (~> 1.0) icalendar (2.4.1) ice_nine (0.11.2) @@ -389,13 +439,18 @@ GEM cause json ipaddress (0.8.3) + jaeger-client (0.10.0) + opentracing (~> 0.3) + thrift + jaro_winkler (1.5.2) jira-ruby (1.4.1) activesupport multipart-post oauth (~> 0.5, >= 0.5.0) - jquery-atwho-rails (1.3.2) - js_regex (2.2.1) - regexp_parser (>= 0.4.11, <= 0.5.0) + js_regex (3.1.1) + character_set (~> 1.1) + regexp_parser (~> 1.1) + regexp_property_values (~> 0.3) json (1.8.6) json-jwt (1.9.4) activesupport @@ -416,18 +471,19 @@ GEM activerecord kaminari-core (= 1.0.1) kaminari-core (1.0.1) - kgio (2.10.0) + kgio (2.11.2) knapsack (1.17.0) rake - kubeclient (4.0.0) + kramdown (1.17.0) + kubeclient (4.2.2) http (~> 3.0) recursive-open-struct (~> 1.0, >= 1.0.4) rest-client (~> 2.0) launchy (2.4.3) addressable (~> 2.3) - letter_opener (1.4.1) + letter_opener (1.7.0) launchy (~> 2.2) - letter_opener_web (1.3.0) + letter_opener_web (1.3.4) actionmailer (>= 3.2) letter_opener (~> 1.0) railties (>= 3.2) @@ -452,19 +508,29 @@ GEM mail (2.7.1) mini_mime (>= 0.1.1) mail_room (0.9.1) + marcel (0.3.3) + mimemagic (~> 0.3.2) + mdl (0.5.0) + kramdown (~> 1.12, >= 1.12.0) + mixlib-cli (~> 1.7, >= 1.7.0) + mixlib-config (~> 2.2, >= 2.2.1) memoist (0.16.0) memoizable (0.4.2) thread_safe (~> 0.3, >= 0.3.1) + memory_profiler (0.9.13) method_source (0.9.2) mime-types (3.2.2) mime-types-data (~> 3.2015) - mime-types-data (3.2018.0812) + mime-types-data (3.2019.0331) mimemagic (0.3.2) mini_magick (4.8.0) mini_mime (1.0.1) - mini_portile2 (2.3.0) + mini_portile2 (2.4.0) minitest (5.11.3) - msgpack (1.2.4) + mixlib-cli (1.7.0) + mixlib-config (2.2.18) + tomlrb + msgpack (1.2.10) multi_json (1.13.1) multi_xml (0.6.0) multipart-post (2.0.0) @@ -474,11 +540,11 @@ GEM mysql2 (0.4.10) nakayoshi_fork (0.0.4) net-ldap (0.16.0) - net-ssh (5.0.1) + net-ssh (5.2.0) netrc (0.11.0) nio4r (2.3.1) - nokogiri (1.8.5) - mini_portile2 (~> 2.3.0) + nokogiri (1.10.3) + mini_portile2 (~> 2.4.0) nokogumbo (1.5.0) nokogiri numerizer (0.1.1) @@ -532,6 +598,9 @@ GEM omniauth (~> 1.9) omniauth-oauth2-generic (0.2.2) omniauth-oauth2 (~> 1.0) + omniauth-salesforce (1.0.5) + omniauth (~> 1.0) + omniauth-oauth2 (~> 1.0) omniauth-saml (1.10.0) omniauth (~> 1.3, >= 1.3.2) ruby-saml (~> 1.7) @@ -540,16 +609,34 @@ GEM omniauth-twitter (1.4.0) omniauth-oauth (~> 1.1) rack + omniauth-ultraauth (0.0.2) + omniauth_openid_connect (~> 0.3.0) omniauth_crowd (2.2.3) activesupport nokogiri (>= 1.4.4) omniauth (~> 1.0) + omniauth_openid_connect (0.3.1) + addressable (~> 2.5) + omniauth (~> 1.3) + openid_connect (~> 1.1) + openid_connect (1.1.6) + activemodel + attr_required (>= 1.0.0) + json-jwt (>= 1.5.0) + rack-oauth2 (>= 1.6.1) + swd (>= 1.0.0) + tzinfo + validate_email + validate_url + webfinger (>= 1.0.1) + opentracing (0.5.0) + optimist (3.0.0) org-ruby (0.9.12) rubypants (~> 0.2) orm_adapter (0.5.0) os (1.0.0) - parallel (1.12.1) - parser (2.5.3.0) + parallel (1.17.0) + parser (2.6.3.0) ast (~> 2.4.0) parslet (1.8.2) peek (1.0.1) @@ -575,10 +662,9 @@ GEM atomic (>= 1.0.0) peek redis - pg (0.18.4) + pg (1.1.4) po_to_json (1.0.1) json (>= 1.6.0) - powerpack (0.1.1) premailer (1.10.4) addressable css_parser (>= 1.4.10) @@ -591,7 +677,7 @@ GEM parser unparser procto (0.0.3) - prometheus-client-mmap (0.9.4) + prometheus-client-mmap (0.9.8) pry (0.11.3) coderay (~> 1.1.0) method_source (~> 0.9.0) @@ -600,48 +686,49 @@ GEM pry (~> 0.10) pry-rails (0.3.6) pry (>= 0.10.4) - public_suffix (3.0.3) + public_suffix (3.1.0) puma (3.12.0) puma_worker_killer (0.1.0) get_process_mem (~> 0.2) puma (>= 2.7, < 4) pyu-ruby-sasl (0.0.3.3) - rack (2.0.6) + raabro (1.1.6) + rack (2.0.7) rack-accept (0.4.5) rack (>= 0.4) rack-attack (4.4.1) rack rack-cors (1.0.2) - rack-oauth2 (1.2.3) - activesupport (>= 2.3) - attr_required (>= 0.0.5) - httpclient (>= 2.4) - multi_json (>= 1.3.6) - rack (>= 1.1) - rack-protection (2.0.4) + rack-oauth2 (1.9.3) + activesupport + attr_required + httpclient + json-jwt (>= 1.9.0) + rack + rack-protection (2.0.5) rack rack-proxy (0.6.0) rack - rack-test (0.6.3) - rack (>= 1.0) - rails (5.0.7.1) - actioncable (= 5.0.7.1) - actionmailer (= 5.0.7.1) - actionpack (= 5.0.7.1) - actionview (= 5.0.7.1) - activejob (= 5.0.7.1) - activemodel (= 5.0.7.1) - activerecord (= 5.0.7.1) - activesupport (= 5.0.7.1) + rack-test (1.1.0) + rack (>= 1.0, < 3) + rack-timeout (0.5.1) + rails (5.2.3) + actioncable (= 5.2.3) + actionmailer (= 5.2.3) + actionpack (= 5.2.3) + actionview (= 5.2.3) + activejob (= 5.2.3) + activemodel (= 5.2.3) + activerecord (= 5.2.3) + activestorage (= 5.2.3) + activesupport (= 5.2.3) bundler (>= 1.3.0) - railties (= 5.0.7.1) + railties (= 5.2.3) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.2) actionpack (~> 5.x, >= 5.0.1) actionview (~> 5.x, >= 5.0.1) activesupport (~> 5.x) - rails-deprecated_sanitizer (1.0.3) - activesupport (>= 4.2.0.alpha) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) @@ -650,30 +737,29 @@ GEM rails-i18n (5.1.1) i18n (>= 0.7, < 2) railties (>= 5.0, < 6) - railties (5.0.7.1) - actionpack (= 5.0.7.1) - activesupport (= 5.0.7.1) + railties (5.2.3) + actionpack (= 5.2.3) + activesupport (= 5.2.3) method_source rake (>= 0.8.7) - thor (>= 0.18.1, < 2.0) + thor (>= 0.19.0, < 2.0) rainbow (3.0.0) - raindrops (0.18.0) + raindrops (0.19.0) rake (12.3.2) rb-fsevent (0.10.2) rb-inotify (0.9.10) ffi (>= 0.5.0, < 2) rblineprof (0.3.6) debugger-ruby_core_source (~> 1.3) - rbtrace (0.4.10) + rbtrace (0.4.11) ffi (>= 1.0.6) msgpack (>= 0.4.3) - trollop (>= 1.16.2) + optimist (>= 3.0.0) rdoc (6.0.4) re2 (1.1.1) - recaptcha (3.0.0) + recaptcha (4.13.1) json recursive-open-struct (1.1.0) - redcarpet (3.4.0) redis (3.3.5) redis-actionpack (5.0.2) actionpack (>= 4.0, < 6) @@ -693,7 +779,8 @@ GEM redis-store (>= 1.2, < 2) redis-store (1.6.0) redis (>= 2.2, < 5) - regexp_parser (0.5.0) + regexp_parser (1.5.1) + regexp_property_values (0.3.4) representable (3.0.4) declarative (< 0.1.0) declarative-option (< 0.2.0) @@ -709,41 +796,41 @@ GEM retriable (3.1.2) rinku (2.0.0) rotp (2.1.2) - rouge (3.3.0) + rouge (3.5.1) rqrcode (0.7.0) chunky_png rqrcode-rails3 (0.1.7) rqrcode (>= 0.4.2) - rspec (3.7.0) - rspec-core (~> 3.7.0) - rspec-expectations (~> 3.7.0) - rspec-mocks (~> 3.7.0) - rspec-core (3.7.1) - rspec-support (~> 3.7.0) - rspec-expectations (3.7.0) + rspec (3.8.0) + rspec-core (~> 3.8.0) + rspec-expectations (~> 3.8.0) + rspec-mocks (~> 3.8.0) + rspec-core (3.8.2) + rspec-support (~> 3.8.0) + rspec-expectations (3.8.4) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-mocks (3.7.0) + rspec-support (~> 3.8.0) + rspec-mocks (3.8.1) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-parameterized (0.4.1) - binding_ninja (>= 0.2.1) + rspec-support (~> 3.8.0) + rspec-parameterized (0.4.2) + binding_ninja (>= 0.2.3) parser proc_to_ast rspec (>= 2.13, < 4) unparser - rspec-rails (3.7.2) + rspec-rails (3.8.2) actionpack (>= 3.0) activesupport (>= 3.0) railties (>= 3.0) - rspec-core (~> 3.7.0) - rspec-expectations (~> 3.7.0) - rspec-mocks (~> 3.7.0) - rspec-support (~> 3.7.0) - rspec-retry (0.4.5) - rspec-core + rspec-core (~> 3.8.0) + rspec-expectations (~> 3.8.0) + rspec-mocks (~> 3.8.0) + rspec-support (~> 3.8.0) + rspec-retry (0.6.1) + rspec-core (> 3.3) rspec-set (0.1.3) - rspec-support (3.7.1) + rspec-support (3.8.2) rspec_junit_formatter (0.4.1) rspec-core (>= 2, < 4, != 2.12.0) rspec_profiling (0.0.5) @@ -751,15 +838,17 @@ GEM pg rails sqlite3 - rubocop (0.54.0) + rubocop (0.69.0) + jaro_winkler (~> 1.5.1) parallel (~> 1.10) - parser (>= 2.5) - powerpack (~> 0.1) + parser (>= 2.6) rainbow (>= 2.2.2, < 4.0) ruby-progressbar (~> 1.7) - unicode-display_width (~> 1.0, >= 1.0.1) + unicode-display_width (>= 1.4.0, < 1.7) rubocop-gitlab-security (0.1.1) rubocop (>= 0.51) + rubocop-performance (1.1.0) + rubocop (>= 0.67.0) rubocop-rspec (1.22.2) rubocop (>= 0.52.1) ruby-enum (0.7.2) @@ -767,17 +856,15 @@ GEM ruby-fogbugz (0.2.1) crack (~> 0.4) ruby-prof (0.17.0) - ruby-progressbar (1.9.0) + ruby-progressbar (1.10.0) ruby-saml (1.7.2) nokogiri (>= 1.5.10) - ruby_parser (3.11.0) + ruby_parser (3.13.1) sexp_processor (~> 4.9) rubyntlm (0.6.2) rubypants (0.2.0) rubyzip (1.2.2) - rufus-scheduler (3.4.0) - et-orbi (~> 1.0) - rugged (0.27.5) + rugged (0.28.1) safe_yaml (1.0.4) sanitize (4.6.6) crass (~> 1.0.2) @@ -788,12 +875,15 @@ GEM sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sass-rails (5.0.6) - railties (>= 4.0.0, < 6) - sass (~> 3.1) - sprockets (>= 2.8, < 4.0) - sprockets-rails (>= 2.0, < 4.0) - tilt (>= 1.1, < 3) + sassc (2.0.1) + ffi (~> 1.9) + rake + sassc-rails (2.1.0) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt sawyer (0.8.1) addressable (>= 2.3.5, < 2.6) faraday (~> 0.8, < 1.0) @@ -803,25 +893,24 @@ GEM seed-fu (2.3.7) activerecord (>= 3.1) activesupport (>= 3.1) - select2-rails (3.5.9.3) - thor (~> 0.14) - selenium-webdriver (3.12.0) + selenium-webdriver (3.141.0) childprocess (~> 0.5) - rubyzip (~> 1.2) - sentry-raven (2.7.4) + rubyzip (~> 1.2, >= 1.2.2) + sentry-raven (2.9.0) faraday (>= 0.7.6, < 1.0) settingslogic (2.0.9) - sexp_processor (4.11.0) + sexp_processor (4.12.0) sham_rack (1.3.6) rack - shoulda-matchers (3.1.2) - activesupport (>= 4.0.0) - sidekiq (5.2.3) + shoulda-matchers (4.0.1) + activesupport (>= 4.2.0) + sidekiq (5.2.7) connection_pool (~> 2.2, >= 2.2.2) + rack (>= 1.5.0) rack-protection (>= 1.5.0) redis (>= 3.3.5, < 5) - sidekiq-cron (0.6.0) - rufus-scheduler (>= 3.3.0) + sidekiq-cron (1.0.4) + fugit (~> 1.1) sidekiq (>= 4.2.1) signet (0.11.0) addressable (~> 2.3) @@ -829,11 +918,11 @@ GEM jwt (>= 1.5, < 3.0) multi_json (~> 1.10) simple_po_parser (1.1.2) - simplecov (0.14.1) - docile (~> 1.1.0) + simplecov (0.16.1) + docile (~> 1.1) json (>= 1.8, < 3) simplecov-html (~> 0.10.0) - simplecov-html (0.10.0) + simplecov-html (0.10.2) slack-notifier (1.5.1) spring (2.0.2) activesupport (>= 4.2) @@ -847,7 +936,7 @@ GEM activesupport (>= 4.0) sprockets (>= 3.0.0) sqlite3 (1.3.13) - sshkey (1.9.0) + sshkey (2.0.0) stackprof (0.2.10) state_machines (0.5.0) state_machines-activemodel (0.5.1) @@ -856,6 +945,10 @@ GEM state_machines-activerecord (0.5.1) activerecord (>= 4.1, < 6.0) state_machines-activemodel (>= 0.5.0) + swd (1.1.2) + activesupport (>= 3) + attr_required (>= 0.0.5) + httpclient (>= 2.4) sys-filesystem (1.1.6) ffi sysexits (1.2.0) @@ -868,6 +961,7 @@ GEM rack (>= 1, < 3) thor (0.19.4) thread_safe (0.3.6) + thrift (0.11.0.0) tilt (2.0.8) timecop (0.8.1) timfel-krb5-auth (0.8.3) @@ -875,10 +969,10 @@ GEM parslet (~> 1.8.0) toml-rb (1.0.0) citrus (~> 3.0, > 3.0) - trollop (2.1.3) - truncato (0.7.10) + tomlrb (1.2.8) + truncato (0.7.11) htmlentities (~> 4.3.1) - nokogiri (~> 1.8.0, >= 1.7.0) + nokogiri (>= 1.7.0, <= 2.0) tzinfo (1.2.5) thread_safe (~> 0.1) u2f (0.2.1) @@ -889,26 +983,32 @@ GEM unf (0.1.4) unf_ext unf_ext (0.0.7.5) - unicode-display_width (1.3.2) - unicorn (5.1.0) + unicode-display_width (1.6.0) + unicorn (5.4.1) kgio (~> 2.6) raindrops (~> 0.7) unicorn-worker-killer (0.4.4) get_process_mem (~> 0) unicorn (>= 4, < 6) uniform_notifier (1.10.0) - unparser (0.4.2) + unparser (0.4.5) abstract_type (~> 0.0.7) adamantium (~> 0.2.0) concord (~> 0.1.5) diff-lcs (~> 1.3) equalizer (~> 0.0.9) - parser (>= 2.3.1.2, < 2.6) + parser (~> 2.6.3) procto (~> 0.0.2) + validate_email (0.1.6) + activemodel (>= 3.0) + mail (>= 2.2.5) + validate_url (1.0.8) + activemodel (>= 3.0.0) + public_suffix validates_hostname (1.0.6) activerecord (>= 3.0) activesupport (>= 3.0) - version_sorter (2.1.0) + version_sorter (2.2.4) virtus (1.0.5) axiom-types (~> 0.1) coercible (~> 1.0) @@ -917,13 +1017,16 @@ GEM vmstat (2.3.0) warden (1.2.7) rack (>= 1.0) - webmock (2.3.2) + webfinger (1.1.0) + activesupport + httpclient (>= 2.4) + webmock (3.5.1) addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff webpack-rails (0.9.11) railties (>= 3.2.0) - websocket-driver (0.6.5) + websocket-driver (0.7.0) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.3) wikicloth (0.8.1) @@ -932,8 +1035,8 @@ GEM rinku with_env (1.1.0) xml-simple (1.1.5) - xpath (2.1.0) - nokogiri (~> 1.3) + xpath (3.2.0) + nokogiri (~> 1.8) PLATFORMS ruby @@ -941,30 +1044,35 @@ PLATFORMS DEPENDENCIES RedCloth (~> 4.3.2) ace-rails-ap (~> 4.1.0) + acme-client (~> 2.0.2) + activerecord-explain-analyze (~> 0.1) activerecord_sane_schema_dumper (= 1.0) - acts-as-taggable-on (~> 5.0) + acts-as-taggable-on (~> 6.0) addressable (~> 2.5.2) akismet (~> 2.0) + apollo_upload_server (~> 2.0.0.beta3) asana (~> 0.8.1) - asciidoctor (~> 1.5.8) - asciidoctor-plantuml (= 0.0.8) + asciidoctor (~> 2.0.10) + asciidoctor-include-ext (~> 0.3.1) + asciidoctor-plantuml (= 0.0.9) attr_encrypted (~> 3.1.0) awesome_print babosa (~> 1.0.2) base32 (~> 0.3.0) - batch-loader (~> 1.2.2) + batch-loader (~> 1.4.0) bcrypt_pbkdf (~> 1.0) benchmark-ips (~> 2.3.0) + benchmark-memory (~> 0.1) better_errors (~> 2.5.0) binding_of_caller (~> 0.8.0) - bootsnap (~> 1.3) - bootstrap_form (~> 2.7.0) + bootsnap (~> 1.4) + bootstrap_form (~> 4.2.0) brakeman (~> 4.2) browser (~> 2.5) bullet (~> 5.5.0) bundler-audit (~> 0.5.0) - capybara (~> 2.16.1) - capybara-screenshot (~> 1.0.18) + capybara (~> 3.22.0) + capybara-screenshot (~> 1.0.22) carrierwave (~> 1.3) charlock_holmes (~> 0.7.5) chronic (~> 0.10.2) @@ -974,9 +1082,11 @@ DEPENDENCIES connection_pool (~> 2.0) creole (~> 0.5.0) database_cleaner (~> 1.7.0) - deckar01-task_list (= 2.0.0) + deckar01-task_list (= 2.2.0) + default_value_for (~> 3.2.0) + derailed_benchmarks device_detector - devise (~> 4.4) + devise (~> 4.6) devise-two-factor (~> 3.0.0) diffy (~> 3.1.0) discordrb-webhooks-blackst0ne (~> 3.3) @@ -994,39 +1104,41 @@ DEPENDENCIES flipper-active_record (~> 0.13.0) flipper-active_support_cache_store (~> 0.13.0) flowdock (~> 0.7) - fog-aliyun (~> 0.2.0) - fog-aws (~> 2.0.1) - fog-core (~> 1.44) - fog-google (~> 1.7.1) - fog-local (~> 0.3) - fog-openstack (~> 0.1) + fog-aliyun (~> 0.3) + fog-aws (~> 3.5) + fog-core (= 2.1.0) + fog-google (~> 1.8) + fog-local (~> 0.6) + fog-openstack (~> 1.0) fog-rackspace (~> 0.1.1) font-awesome-rails (~> 4.7) foreman (~> 0.84.0) + fugit (~> 1.2.1) fuubar (~> 2.2.0) gemojione (~> 3.3) gettext (~> 3.2.2) gettext_i18n_rails (~> 1.8.0) gettext_i18n_rails_js (~> 1.3) - gitaly-proto (~> 1.5.0) + gitaly-proto (~> 1.37.0) github-markup (~> 1.7.0) - gitlab-default_value_for (~> 3.1.1) - gitlab-markup (~> 1.6.5) + gitlab-labkit (~> 0.3.0) + gitlab-markup (~> 1.7.0) gitlab-sidekiq-fetcher (~> 0.4.0) - gitlab-styles (~> 2.4) - gitlab_omniauth-ldap (~> 2.0.4) + gitlab-styles (~> 2.7) + gitlab_omniauth-ldap (~> 2.1.1) gon (~> 6.2) google-api-client (~> 0.23) - google-protobuf (~> 3.6) + google-protobuf (~> 3.7.1) gpgme (~> 2.0.18) grape (~> 1.1.0) grape-entity (~> 0.7.1) - grape-path-helpers (~> 1.0) + grape-path-helpers (~> 1.1) grape_logging (~> 1.7) graphiql-rails (~> 1.4.10) graphql (~> 1.8.0) - grpc (~> 1.15.0) - haml_lint (~> 0.28.0) + graphql-docs (~> 1.6.0) + grpc (~> 1.19.0) + haml_lint (~> 0.31.0) hamlit (~> 2.8.8) hangouts-chat (~> 0.0.5) hashie-forbidden_attributes @@ -1034,23 +1146,24 @@ DEPENDENCIES hipchat (~> 1.5.0) html-pipeline (~> 2.8) html2text - httparty (~> 0.13.3) + httparty (~> 0.16.4) icalendar influxdb (~> 0.2) jira-ruby (~> 1.4) - jquery-atwho-rails (~> 1.3.2) - js_regex (~> 2.2.1) + js_regex (~> 3.1) json-schema (~> 2.8.0) jwt (~> 2.1.0) kaminari (~> 1.0) knapsack (~> 1.17) - kubeclient (~> 4.0.0) - letter_opener_web (~> 1.3.0) + kubeclient (~> 4.2.2) + letter_opener_web (~> 1.3.4) license_finder (~> 5.4) licensee (~> 8.9) lograge (~> 0.5) loofah (~> 2.2) mail_room (~> 0.9.1) + mdl (~> 0.5.0) + memory_profiler (~> 0.9) method_source (~> 0.8) mimemagic (~> 0.3.2) mini_magick @@ -1058,8 +1171,8 @@ DEPENDENCIES mysql2 (~> 0.4.10) nakayoshi_fork (~> 0.0.4) net-ldap - net-ssh (~> 5.0) - nokogiri (~> 1.8.5) + net-ssh (~> 5.2) + nokogiri (~> 1.10.3) oauth2 (~> 1.4) octokit (~> 4.9) omniauth (~> 1.8) @@ -1073,10 +1186,13 @@ DEPENDENCIES omniauth-google-oauth2 (~> 0.6.0) omniauth-kerberos (~> 0.3.0) omniauth-oauth2-generic (~> 0.2.2) + omniauth-salesforce (~> 1.0.5) omniauth-saml (~> 1.10) omniauth-shibboleth (~> 1.3.0) omniauth-twitter (~> 1.4) + omniauth-ultraauth (~> 0.0.2) omniauth_crowd (~> 2.2.0) + omniauth_openid_connect (~> 0.3.1) org-ruby (~> 0.9.12) peek (~> 1.0.1) peek-gc (~> 0.0.2) @@ -1084,21 +1200,21 @@ DEPENDENCIES peek-pg (~> 1.3.0) peek-rblineprof (~> 0.2.0) peek-redis (~> 1.2.0) - pg (~> 0.18.2) + pg (~> 1.1) premailer-rails (~> 1.9.7) - prometheus-client-mmap (~> 0.9.4) + prometheus-client-mmap (~> 0.9.8) pry-byebug (~> 3.5.1) pry-rails (~> 0.3.4) puma (~> 3.12) puma_worker_killer - rack (= 2.0.6) + rack (~> 2.0.7) rack-attack (~> 4.4.1) rack-cors (~> 1.0.0) - rack-oauth2 (~> 1.2.1) + rack-oauth2 (~> 1.9.3) rack-proxy (~> 0.6.0) - rails (= 5.0.7.1) + rack-timeout + rails (= 5.2.3) rails-controller-testing - rails-deprecated_sanitizer (~> 1.0.3) rails-i18n (~> 5.1) rainbow (~> 3.0) raindrops (~> 0.18) @@ -1106,50 +1222,47 @@ DEPENDENCIES rbtrace (~> 0.4) rdoc (~> 6.0) re2 (~> 1.1.1) - recaptcha (~> 3.0) - redcarpet (~> 3.4) + recaptcha (~> 4.11) redis (~> 3.2) redis-namespace (~> 1.6.0) redis-rails (~> 5.0.2) request_store (~> 1.3) responders (~> 2.0) - rouge (~> 3.1) + rouge (~> 3.5) rqrcode-rails3 (~> 0.1.7) rspec-parameterized - rspec-rails (~> 3.7.0) - rspec-retry (~> 0.4.5) + rspec-rails (~> 3.8.0) + rspec-retry (~> 0.6.1) rspec-set (~> 0.1.3) rspec_junit_formatter rspec_profiling (~> 0.0.5) - rubocop (~> 0.54.0) + rubocop (~> 0.69.0) + rubocop-performance (~> 1.1.0) rubocop-rspec (~> 1.22.1) ruby-fogbugz (~> 0.2.1) ruby-prof (~> 0.17.0) ruby-progressbar ruby_parser (~> 3.8) rubyzip (~> 1.2.2) - rufus-scheduler (~> 3.4) - rugged (~> 0.27) + rugged (~> 0.28) sanitize (~> 4.6) - sass (~> 3.5) - sass-rails (~> 5.0.6) + sassc-rails (~> 2.1.0) scss_lint (~> 0.56.0) seed-fu (~> 2.3.7) - select2-rails (~> 3.5.9) - selenium-webdriver (~> 3.12) - sentry-raven (~> 2.7) + selenium-webdriver (~> 3.141) + sentry-raven (~> 2.9) settingslogic (~> 2.0.9) sham_rack (~> 1.3.6) - shoulda-matchers (~> 3.1.2) - sidekiq (~> 5.2.1) - sidekiq-cron (~> 0.6.0) + shoulda-matchers (~> 4.0.1) + sidekiq (~> 5.2.7) + sidekiq-cron (~> 1.0) simple_po_parser (~> 1.1.2) - simplecov (~> 0.14.0) + simplecov (~> 0.16.1) slack-notifier (~> 1.5.1) spring (~> 2.0.0) spring-commands-rspec (~> 1.0.4) sprockets (~> 3.7.0) - sshkey (~> 1.9.0) + sshkey (~> 2.0) stackprof (~> 0.2.10) state_machines-activerecord (~> 0.5.1) sys-filesystem (~> 1.1.6) @@ -1157,17 +1270,17 @@ DEPENDENCIES thin (~> 1.7.0) timecop (~> 0.8.0) toml-rb (~> 1.0.0) - truncato (~> 0.7.9) + truncato (~> 0.7.11) u2f (~> 0.2.1) uglifier (~> 2.7.2) unf (~> 0.1.4) - unicorn (~> 5.1.0) + unicorn (~> 5.4.1) unicorn-worker-killer (~> 0.4.4) validates_hostname (~> 1.0.6) - version_sorter (~> 2.1.0) + version_sorter (~> 2.2.4) virtus (~> 1.0.1) vmstat (~> 2.3.0) - webmock (~> 2.3.2) + webmock (~> 3.5.1) webpack-rails (~> 0.9.10) wikicloth (= 0.8.1) diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix index 10b8c3f25ea..8da7a3262c1 100644 --- a/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix +++ b/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix @@ -15,68 +15,104 @@ }; version = "4.1.2"; }; - actioncable = { - dependencies = ["actionpack" "nio4r" "websocket-driver"]; + acme-client = { + dependencies = ["faraday"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1443cal16yzc94hfxcx9ljagdbs5xs54bmr55wzmg84wx28bgvrb"; + sha256 = "1552fkgaj6qfylwsckgmhck34shjqnfrzymj1ji1kq3r310qqrnp"; type = "gem"; }; - version = "5.0.7.1"; + version = "2.0.2"; + }; + actioncable = { + dependencies = ["actionpack" "nio4r" "websocket-driver"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04wd9rf8sglrqc8jz49apqcxbi51gdj7l1apf5qr4i86iddk6pkm"; + type = "gem"; + }; + version = "5.2.3"; }; actionmailer = { dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "077g5yg8l10rcs8r63pmmikakma1nr2bvxa1ifly1vbry8lajmhm"; + sha256 = "15laym06zcm2021qdhlyr6y9jn1marw436i89hcxqg14a8zvyvwa"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; actionpack = { dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zn3gw1naz1l6kcb4h5all24kisdv8fk733vm1niiaq2zmwbvlrw"; + sha256 = "1s2iay17i2k0xx36cmnpbrmr5w6x70jk7fq1d8w70xcdw5chm0w1"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; actionview = { - dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"]; + dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "053z1r9lbyqb7a8mvi7ppwgphqg1pn9ynhklwxavq65cym8qn9a1"; + sha256 = "1v49rgf8305grqf6gq7qa47qhamr369igyy0giycz60x86afyr4h"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; activejob = { dependencies = ["activesupport" "globalid"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w9rspq9y5a99kyljzam7k0cpvkxpzhfmlvs1j6a4flxn14qy7lv"; + sha256 = "17vizibxbsli5yppgrvmw13wj7a9xy19s5nqxf1k23bbk2s5b87s"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; activemodel = { dependencies = ["activesupport"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1i808lgn542x0lyk2dlnziiqcf1nmxhxqf6125dq6brr08yxgr0c"; + sha256 = "0mghh9di8011ara9h1r5a216yzk1vjm9r3p0gdvdi8j1zmkl6k6h"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; activerecord = { dependencies = ["activemodel" "activesupport" "arel"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qva7vdv9arliza0155k0xh5w1q6rzdajj3rmj7hv0f86ybd674c"; + sha256 = "0d6036f592803iyvp6bw98p3sg638mia5dbw19lvachx6jgzfvpw"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; + }; + activerecord-explain-analyze = { + dependencies = ["activerecord" "pg"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yvz452ww0vn3n6197gx6zklwa591gc7f1m8accvjd9zw8gv3ssx"; + type = "gem"; + }; + version = "0.1.0"; }; activerecord_sane_schema_dumper = { dependencies = ["rails"]; @@ -87,23 +123,38 @@ }; version = "1.0"; }; - activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + activestorage = { + dependencies = ["actionpack" "activerecord" "marcel"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02dnmcmkvzijbzm5nlmrd55s5586b78s087kvpvkada3791b9agb"; + sha256 = "04is6ipjqw1f337i8pm8w5bd99rpygqfd0fzzxkr7jd308ggmsjk"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; + }; + activesupport = { + dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8"; + type = "gem"; + }; + version = "5.2.3"; }; acts-as-taggable-on = { dependencies = ["activerecord"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kvbhlansqiz1xp5r28cv27ghbfmx4b39cv51w6xrhkb52bskn3i"; + sha256 = "0hl52pjgfzy3acdwnbxfqy08m808vlv9dmsyp03d5x7x0y499kvl"; type = "gem"; }; - version = "5.0.0"; + version = "6.0.0"; }; adamantium = { dependencies = ["ice_nine" "memoizable"]; @@ -139,13 +190,26 @@ }; version = "2.0.0"; }; - arel = { + apollo_upload_server = { + dependencies = ["graphql" "rails"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l757dkkaxk5fq3368l79jpyzq9a9driricjamhiwhwvh0h7xcyx"; + sha256 = "0riijpyicbkqsr46w4mfhh3pq2yrmakkz8mmgbrfjhzbyzac25na"; type = "gem"; }; - version = "7.1.4"; + version = "2.0.0.beta.3"; + }; + arel = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0"; + type = "gem"; + }; + version = "9.0.0"; }; asana = { dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"]; @@ -157,21 +221,36 @@ version = "0.8.1"; }; asciidoctor = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qld3a1pbcjvs8lbxp95iz83bfmg5scmnf8q3rklinmdmhzakslx"; + sha256 = "1b2ajs3sabl0s27r7lhwkacw0yn0zfk4jpmidg9l8lzp2qlgjgbz"; type = "gem"; }; - version = "1.5.8"; + version = "2.0.10"; + }; + asciidoctor-include-ext = { + dependencies = ["asciidoctor"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1alaqfh31hd98yhqq8fsc50zzqw04p3d83pc35gdx3x9p3j1ds7d"; + type = "gem"; + }; + version = "0.3.1"; }; asciidoctor-plantuml = { dependencies = ["asciidoctor"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0x092ldl8p7svczg4lnrnp0h918acnflh7jz5qwv40ksh1fflqna"; + sha256 = "0lzxj16w7s3w0wnlpg8lfs9v2xxk3x3c1skynqm1sms7rjhnhlnb"; type = "gem"; }; - version = "0.0.8"; + version = "0.0.9"; }; ast = { source = { @@ -199,12 +278,14 @@ version = "3.1.0"; }; attr_required = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pawa2i7gw9ppj6fq6y288da1ncjpzsmc6kx7z63mjjvypa5q3dc"; + sha256 = "1g22axmi2rhhy7w8c3x6gppsawxqavbrnxpnmphh22fk7cwi0kh2"; type = "gem"; }; - version = "1.0.0"; + version = "1.0.1"; }; awesome_print = { source = { @@ -240,12 +321,14 @@ version = "0.3.2"; }; batch-loader = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pwr2hk9x1qx9i2xpkpjwkdjsmm4kamz5f25wizsaw37zb64apjc"; + sha256 = "09jaxxddqpgq8ynwd2gpjq5rkhw00zdjnqisk9qbpjgxzk6f8gwi"; type = "gem"; }; - version = "1.2.2"; + version = "1.4.0"; }; bcrypt = { source = { @@ -271,6 +354,17 @@ }; version = "2.3.0"; }; + benchmark-memory = { + dependencies = ["memory_profiler"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11qw8k6rl79ri00njrf1x9v6vzwgv12rkcvgzvg0sk8pfrkzwyxa"; + type = "gem"; + }; + version = "0.1.2"; + }; better_errors = { dependencies = ["coderay" "erubi" "rack"]; source = { @@ -289,12 +383,14 @@ version = "2.4.3"; }; binding_ninja = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19dk26qyx433ffa6y48511apc2iw71zw4jnlqxhy0wix9dlxr2ri"; + sha256 = "17fa3sv6p2fw9g8fxpwx1kjhhs28aw41akkba0hlgvk60055b1aa"; type = "gem"; }; - version = "0.2.2"; + version = "0.2.3"; }; binding_of_caller = { dependencies = ["debug_inspector"]; @@ -309,18 +405,21 @@ dependencies = ["msgpack"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0g6r784lmjfhwi046w82phsk244byq9wkj1q3lddwxg9z559bmhy"; + sha256 = "1amksyijp9hwpc2jr0yi45hpcp0qiz5r2h8rnf2wi1hdfw6m2hxh"; type = "gem"; }; - version = "1.3.2"; + version = "1.4.1"; }; bootstrap_form = { + dependencies = ["actionpack" "activemodel"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sw88vi5sb48xzgwclic38jdgmcbvah2qfi3rijrlmi1wai4j1fw"; + sha256 = "044pi097jwh3z68g1zfmbcl9xchqfcsls1j1nvx1bkyj034v6y7m"; type = "gem"; }; - version = "2.7.0"; + version = "4.2.0"; }; brakeman = { source = { @@ -373,13 +472,15 @@ version = "9.1.0"; }; capybara = { - dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"]; + dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hkl6p07gf29952biv07fy88vjz46ng2h37wwx5ks0mk9kn8vvvf"; + sha256 = "1y7ncfji4s3h3wdr2hwsrd32k0va92a6lyx2x8w6a3vkbc94kpch"; type = "gem"; }; - version = "2.16.1"; + version = "3.22.0"; }; capybara-screenshot = { dependencies = ["capybara" "launchy"]; @@ -407,6 +508,14 @@ }; version = "0.1"; }; + character_set = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "114npdbw1ivyx4vnid8ncnjw4wnjcipf2lvihlg3ibbh7an0m9s9"; + type = "gem"; + }; + version = "1.1.2"; + }; charlock_holmes = { source = { remotes = ["https://rubygems.org"]; @@ -493,21 +602,25 @@ version = "0.1.5"; }; concurrent-ruby = { + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18q9skp5pfq4jwbxzmw8q2rn4cpw6mf4561i2hsjcl1nxdag2jvb"; + sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; type = "gem"; }; - version = "1.1.3"; + version = "1.1.5"; }; concurrent-ruby-ext = { dependencies = ["concurrent-ruby"]; + groups = ["default" "mysql" "postgres"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0h7k4wnvbxv7vzb53kaqxbbyhp3m98g2rgymr6n1l9v0jlzcr1i8"; + sha256 = "03ypsv2k581yv0b3f0hzvb3mq6mqj8jlbi32jmkj3k175vbc8hvz"; type = "gem"; }; - version = "1.1.3"; + version = "1.1.5"; }; connection_pool = { source = { @@ -587,10 +700,10 @@ dependencies = ["html-pipeline"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w6qsk712ic6vx9ydmix2ys95zwpkvdx3a9xxi8bdqlpgh1ipm9j"; + sha256 = "0s637v5pi5ipmv0gn9g2wwjpxdm27dvppfjd8ml0dc1m0jsm7964"; type = "gem"; }; - version = "2.0.0"; + version = "2.2.0"; }; declarative = { source = { @@ -608,6 +721,28 @@ }; version = "0.1.0"; }; + default_value_for = { + dependencies = ["activerecord"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xj9d1y2fk3kxfm1kyiwasjpw6r1w7c1xjx26sm3c33xhmz57fla"; + type = "gem"; + }; + version = "3.2.0"; + }; + derailed_benchmarks = { + dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "rack" "rake" "thor"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1c9djg1r2w461h97zmmdsdgnsrxqm4qfyp7gry9qxbav9skrplb8"; + type = "gem"; + }; + version = "1.3.5"; + }; descendants_tracker = { dependencies = ["thread_safe"]; source = { @@ -627,12 +762,14 @@ }; devise = { dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1xmxfhym0yxwb0zwmmzhdiykbpyqqm3id02g7rf3vcgbc1lqvdnj"; + sha256 = "04b2p61mqfb6ln8s2lhmvnkd45wjjinykbn9svmhs54kacrrjkcf"; type = "gem"; }; - version = "4.4.3"; + version = "4.6.2"; }; devise-two-factor = { dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"]; @@ -669,12 +806,14 @@ version = "3.3.0"; }; docile = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx"; + sha256 = "04d2izkna3ahfn6fwq4xrcafa715d3bbqczxm16fq40fqy87xn17"; type = "gem"; }; - version = "1.1.5"; + version = "1.3.1"; }; domain_name = { dependencies = ["unf"]; @@ -745,20 +884,14 @@ version = "0.0.11"; }; erubi = { + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bws86na9k565raiz0kk61yy5pxxp0fmwyzpibdwjkq0xzx8q6q1"; + sha256 = "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1"; type = "gem"; }; - version = "1.7.1"; - }; - erubis = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; - type = "gem"; - }; - version = "2.7.0"; + version = "1.8.0"; }; escape_utils = { source = { @@ -770,12 +903,14 @@ }; et-orbi = { dependencies = ["tzinfo"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1apn9gzgbgs7z6p6l3rv66vrfwyfh68p2rxkybh10vx82fp6g0wi"; + sha256 = "1swgjb3h2hs5xflb68837l0vd32masbz9c66b1963mxlnnxf5gsg"; type = "gem"; }; - version = "1.0.3"; + version = "1.2.1"; }; eventmachine = { source = { @@ -809,6 +944,17 @@ }; version = "0.9.0"; }; + extended-markdown-filter = { + dependencies = ["html-pipeline"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17mi5qayplfaa6p3mfwa36il84ixr0bimqvl0q73lw5i81blp126"; + type = "gem"; + }; + version = "0.6.0"; + }; factory_bot = { dependencies = ["activesupport"]; source = { @@ -881,10 +1027,10 @@ ffi = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q"; + sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p"; type = "gem"; }; - version = "1.9.25"; + version = "1.10.0"; }; flipper = { source = { @@ -925,64 +1071,66 @@ dependencies = ["fog-core" "fog-json" "ipaddress" "xml-simple"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0x66xyrw4ahyr6f9masiqmz5q6h8scv46y59crnfp8dj7r52hw8m"; + sha256 = "1vl5zf9wr6qwm1awxscyifvrrfqnyacidxgzhkba2wqlgizk3anh"; type = "gem"; }; - version = "0.2.0"; + version = "0.3.3"; }; fog-aws = { dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00skbbgvhqzq6gpgzmw0957n0wf1y3vjgrdyq3sib0ghpyfgmig3"; + sha256 = "086kyvdhf1k8nk7f4gmybjc3k0m88f9pw99frddcy1w96pj5kyg4"; type = "gem"; }; - version = "2.0.1"; + version = "3.5.2"; }; fog-core = { - dependencies = ["builder" "excon" "formatador"]; + dependencies = ["builder" "excon" "formatador" "mime-types"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "02449kh2x3zj9xxszm02vy8zpbsrykvjrg5gj3kqcy2yizy2bhp3"; + sha256 = "1agd6xgzk0rxrsjdpn94v4hy89s0nm2cs4zg2p880w2dan9xgrak"; type = "gem"; }; - version = "1.45.0"; + version = "2.1.0"; }; fog-google = { dependencies = ["fog-core" "fog-json" "fog-xml" "google-api-client"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0azs1i061ig0x1cljdy68hjskzj8d25xkq8nqf3z7qya5lmfn1z2"; + sha256 = "0rxhcf2rhs8ml9j9xppz1yxgig3s1l5hm6yz582lqrs8bdmq028m"; type = "gem"; }; - version = "1.7.1"; + version = "1.8.2"; }; fog-json = { dependencies = ["fog-core" "multi_json"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0advkkdjajkym77r3c0bg2rlahl2akj0vl4p5r273k2qmi16n00r"; + sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx"; type = "gem"; }; - version = "1.0.2"; + version = "1.2.0"; }; fog-local = { dependencies = ["fog-core"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1q1hyga02l9civ0b9gvfdmscvwv2jr4dq87q2g3qxh2974x213mn"; + sha256 = "0ba4lln35nryi6dcbz68vxg9ml6v8cc8s8c82f7syfd84bz76x21"; type = "gem"; }; - version = "0.3.1"; + version = "0.6.0"; }; fog-openstack = { dependencies = ["fog-core" "fog-json" "ipaddress"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ii0q22bdv170f7b007k9jlph40rn7fnzd84vaxhf4zhjhaijmys"; + sha256 = "171xnsl6w0j7yi6sp26dcqahx4r4gb2cf359gmy11g5iwnsll5wg"; type = "gem"; }; - version = "0.1.21"; + version = "1.0.8"; }; fog-rackspace = { dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"]; @@ -1004,12 +1152,14 @@ }; font-awesome-rails = { dependencies = ["railties"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qc07vj7qyllrj7lr7wl89l5ir0gj104rc7sds2jynzmrqsamnlw"; + sha256 = "11mf7bk2737pyxjwba3a9lpgcxzbp0vgq01n2dn30774zysc90hj"; type = "gem"; }; - version = "4.7.0.1"; + version = "4.7.0.4"; }; foreman = { dependencies = ["thor"]; @@ -1028,6 +1178,17 @@ }; version = "0.2.5"; }; + fugit = { + dependencies = ["et-orbi" "raabro"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x5h31hl75x0p5s36hinywg18ijlxjhnlb5p02aqcjjkx777rcav"; + type = "gem"; + }; + version = "1.2.1"; + }; fuubar = { dependencies = ["rspec-core" "ruby-progressbar"]; source = { @@ -1037,6 +1198,16 @@ }; version = "2.2.0"; }; + gemoji = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vgklpmhdz98xayln5hhqv4ffdyrglzwdixkn5gsk9rj94pkymc0"; + type = "gem"; + }; + version = "3.0.1"; + }; gemojione = { dependencies = ["json"]; source = { @@ -1047,12 +1218,14 @@ version = "3.3.0"; }; get_process_mem = { + groups = ["default" "development" "puma" "test" "unicorn"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "025f7v6bpbgsa2nr0hzv2riggj8qmzbwcyxfgjidpmwh5grh7j29"; + sha256 = "1bvfjdign16r0zwm2rlfrq0sk1licvmlgbnlpnyckniv5r7i080g"; type = "gem"; }; - version = "0.2.0"; + version = "0.2.3"; }; gettext = { dependencies = ["locale" "text"]; @@ -1083,12 +1256,14 @@ }; gitaly-proto = { dependencies = ["grpc"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1p7c63saysp4ixj08kxrk5c4n94d6zala9wl1fxg7vx8nd84b2c0"; + sha256 = "1lx2cids0r175agdz3wa25ivi17vxx2kryb2v29gdsrpg3pyyq7j"; type = "gem"; }; - version = "1.5.0"; + version = "1.37.0"; }; github-markup = { source = { @@ -1098,22 +1273,26 @@ }; version = "1.7.0"; }; - gitlab-default_value_for = { - dependencies = ["activerecord"]; + gitlab-labkit = { + dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qqjf7nxmwxnkdlrgbnby8wjckaj2s5yna96avgb7fwm0h90f1sn"; + sha256 = "0dvapmdc9axm9dq2gg89qrqb318rkrsabpyybrqvcx1ipbi5k3a1"; type = "gem"; }; - version = "3.1.1"; + version = "0.3.0"; }; gitlab-markup = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "12lzzhbmid4m23pk7d963n3njli2hw7g200arszh75j57bjgs4fy"; + sha256 = "0rqf3jmyn78r3ysy3bjyx7s4yv3xipxlmqlmbyrbksna19rrx08d"; type = "gem"; }; - version = "1.6.5"; + version = "1.7.0"; }; gitlab-sidekiq-fetcher = { dependencies = ["sidekiq"]; @@ -1127,31 +1306,35 @@ version = "0.4.0"; }; gitlab-styles = { - dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-rspec"]; + dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-performance" "rubocop-rspec"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ywizn3191mjl7ibxlfajaxm5vkywwl4i9q2xh6miq37nk2q98dx"; + sha256 = "1vxlvbq4jpq0cfjqippz9d3j73sq9qg3pna5pb0l8jr0rc0xs89y"; type = "gem"; }; - version = "2.4.1"; + version = "2.7.0"; }; gitlab_omniauth-ldap = { dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1cpjadx852vw1gv5cm1qiqq6mclglzqajw7q572zncw4q3ji2fkv"; + sha256 = "1f8cjbzlhckarmm59l380jjy33a3hlljg69b3zkh8rhy1xd3xr90"; type = "gem"; }; - version = "2.0.4"; + version = "2.1.1"; }; globalid = { dependencies = ["activesupport"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02smrgdi11kziqi9zhnsy9i6yr2fnxrqlv3lllsvdjki3cd4is38"; + sha256 = "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1"; type = "gem"; }; - version = "0.4.1"; + version = "0.4.2"; }; gon = { dependencies = ["actionpack" "multi_json" "request_store"]; @@ -1172,21 +1355,25 @@ version = "0.23.4"; }; google-protobuf = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "134d3ini9ymdwxpz445m28ss9x0m6vcpijcdkzvgk4n538wdmppf"; + sha256 = "04988m3hmllg4sl4syjb35x0wzsg7rj1nmvhx3d9ihml22w76gb2"; type = "gem"; }; - version = "3.6.1"; + version = "3.7.1"; }; googleapis-common-protos-types = { dependencies = ["google-protobuf"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01ds7g01pxqm3mg283xjzy0lhhvvhvzw3m7gf7szd1r7la4wf0qq"; + sha256 = "0hyr94cafiqj0k8q19hnl658pmbz2b404akikzfv4hdb1j1bwsg1"; type = "gem"; }; - version = "1.0.2"; + version = "1.0.4"; }; googleauth = { dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"]; @@ -1226,12 +1413,14 @@ }; grape-path-helpers = { dependencies = ["activesupport" "grape" "rake"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13h5575xfc144wsr48sp3qngpwvh4ikz4r3m55j8jmdr6sa16rbw"; + sha256 = "16l6lrv4h4ls0lrpj35pc00431q2rx6r9n47337qyvprxs3v0a01"; type = "gem"; }; - version = "1.0.6"; + version = "1.1.0"; }; grape_logging = { dependencies = ["grape"]; @@ -1259,14 +1448,27 @@ }; version = "1.8.1"; }; - grpc = { - dependencies = ["google-protobuf" "googleapis-common-protos-types"]; + graphql-docs = { + dependencies = ["commonmarker" "escape_utils" "extended-markdown-filter" "gemoji" "graphql" "html-pipeline" "sass"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m2wspnm1cfkmhlbp7yqv5bb4vsfh246cm0aavxra67aw4l8plhb"; + sha256 = "12wzsikbn54b2hcv100hz7isq5gdjm5w5b8xya64ra5sw6sabq8d"; type = "gem"; }; - version = "1.15.0"; + version = "1.6.0"; + }; + grpc = { + dependencies = ["google-protobuf" "googleapis-common-protos-types"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rdywzism5vxz8pnml6xjb9f19diclyy74014z69q01jzqwi1wgs"; + type = "gem"; + }; + version = "1.19.0"; }; haml = { dependencies = ["temple" "tilt"]; @@ -1279,12 +1481,14 @@ }; haml_lint = { dependencies = ["haml" "rainbow" "rake" "rubocop" "sysexits"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "125aj0j84nx5gqm42hfx5d8486higlra423ahgfpsdjwbp399rwv"; + sha256 = "1k6pvb2lc6d72nq01jqmi3mxpp80m9mmbc265kgaxmcnjxqhacb1"; type = "gem"; }; - version = "0.28.0"; + version = "0.31.0"; }; hamlit = { dependencies = ["temple" "thor" "tilt"]; @@ -1306,10 +1510,10 @@ hashdiff = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1n6hj7k7b9hazac0j48ypbak2nqi5wy4nh5cjra6xl3a92r8db0a"; + sha256 = "19ykg5pax8798nh1yv71adkx0zzs7gn2rxjj86v7nsw0jba5lask"; type = "gem"; }; - version = "0.3.4"; + version = "0.3.8"; }; hashie = { source = { @@ -1337,8 +1541,20 @@ }; version = "2.6.0"; }; + heapy = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r9f38fpgjgaxskkwvsliijj6vfmgsff9pnranvvvzkdl67hk1hw"; + type = "gem"; + }; + version = "0.1.4"; + }; hipchat = { dependencies = ["httparty" "mimemagic"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0hgy5jav479vbzzk53lazhpjj094dcsqw6w1d6zjn52p72bwq60k"; @@ -1407,13 +1623,15 @@ version = "0.6.0"; }; httparty = { - dependencies = ["json" "multi_xml"]; + dependencies = ["mime-types" "multi_xml"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0c9gvg6dqw2h3qyaxhrq1pzm6r69zfcmfh038wyhisqsd39g9hr2"; + sha256 = "109xvhl35dsk9zp65n5pdkhiijhqxdyvajbs74nkp4z8yl09vj32"; type = "gem"; }; - version = "0.13.7"; + version = "0.16.4"; }; httpclient = { source = { @@ -1425,12 +1643,14 @@ }; i18n = { dependencies = ["concurrent-ruby"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "079sqshk08mqs3d6yzvshmqf4s175lpi2pp71f1p10l09sgmrixr"; + sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl"; type = "gem"; }; - version = "1.2.0"; + version = "1.6.0"; }; icalendar = { source = { @@ -1465,6 +1685,25 @@ }; version = "0.8.3"; }; + jaeger-client = { + dependencies = ["opentracing" "thrift"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "198m72c9w3wfwr1mq22dcjjm7d4jd0bci4lrq6zq2zvlzhi04n8l"; + type = "gem"; + }; + version = "0.10.0"; + }; + jaro_winkler = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zz27z88qznix4r65gd9h56gl177snlfpgv10b0s69vi8qpl909l"; + type = "gem"; + }; + version = "1.5.2"; + }; jira-ruby = { dependencies = ["activesupport" "multipart-post" "oauth"]; source = { @@ -1474,22 +1713,14 @@ }; version = "1.4.1"; }; - jquery-atwho-rails = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0g8239cddyi48i5n0hq2acg9k7n7jilhby9g36zd19mwqyia16w9"; - type = "gem"; - }; - version = "1.3.2"; - }; js_regex = { - dependencies = ["regexp_parser"]; + dependencies = ["character_set" "regexp_parser" "regexp_property_values"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lnyd4c7lybhra3l6dai7j83lh3xapqjb340pp0h4bnqjgx52bkf"; + sha256 = "0wi4h4f3knb0yp4zq2spks3dpmdzz9wa54d6xk88md0h4v2x33cq"; type = "gem"; }; - version = "2.2.1"; + version = "3.1.1"; }; json = { source = { @@ -1563,10 +1794,10 @@ kgio = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1y6wl3vpp82rdv5g340zjgkmy6fny61wib7xylyg0d09k5f26118"; + sha256 = "1528pyj1szzzp3pgj05fzjd36qjrxm9yj2x5radc9p1z7vl67y50"; type = "gem"; }; - version = "2.10.0"; + version = "2.11.2"; }; knapsack = { dependencies = ["rake"]; @@ -1577,14 +1808,24 @@ }; version = "1.17.0"; }; + kramdown = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq"; + type = "gem"; + }; + version = "1.17.0"; + }; kubeclient = { dependencies = ["http" "recursive-open-struct" "rest-client"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1s250z89nz7vzich3nikc8fs8vgpac38wjv8llm4ldvs4iyc4ypg"; + sha256 = "10761kwhgclnf2lrdjspmxnw90z7i0l85inranfxc688ing0d5xn"; type = "gem"; }; - version = "4.0.0"; + version = "4.2.2"; }; launchy = { dependencies = ["addressable"]; @@ -1597,21 +1838,25 @@ }; letter_opener = { dependencies = ["launchy"]; + groups = ["default" "development"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pcrdbxvp2x5six8fqn8gf09bn9rd3jga76ds205yph5m8fsda21"; + sha256 = "09a7kgsmr10a0hrc9bwxglgqvppjxij9w8bxx91mnvh0ivaw0nq9"; type = "gem"; }; - version = "1.4.1"; + version = "1.7.0"; }; letter_opener_web = { dependencies = ["actionmailer" "letter_opener" "railties"]; + groups = ["development"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "050x5cwqbxj2cydd2pzy9vfhmpgn1w6lfbwjaax1m1vpkn3xg9bv"; + sha256 = "17qhwrkncrrp1bi2f7fbkm5lpnkdsiwy8jcvgr2wa97ck8y4x2bb"; type = "gem"; }; - version = "1.3.0"; + version = "1.3.4"; }; license_finder = { dependencies = ["rubyzip" "thor" "toml" "with_env" "xml-simple"]; @@ -1674,6 +1919,28 @@ }; version = "0.9.1"; }; + marcel = { + dependencies = ["mimemagic"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx"; + type = "gem"; + }; + version = "0.3.3"; + }; + mdl = { + dependencies = ["kramdown" "mixlib-cli" "mixlib-config"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "047hp8z1ma630wp38bm1giklkf385rp6wly8aidn825q831w2g4i"; + type = "gem"; + }; + version = "0.5.0"; + }; memoist = { source = { remotes = ["https://rubygems.org"]; @@ -1691,6 +1958,16 @@ }; version = "0.4.2"; }; + memory_profiler = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xki7jrbzylsmk1brjibmhifb0x70skr55pdq4rvxcyrlnrrvyxz"; + type = "gem"; + }; + version = "0.9.13"; + }; method_source = { source = { remotes = ["https://rubygems.org"]; @@ -1709,12 +1986,14 @@ version = "3.2.2"; }; mime-types-data = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc"; + sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a"; type = "gem"; }; - version = "3.2018.0812"; + version = "3.2019.0331"; }; mimemagic = { source = { @@ -1743,10 +2022,10 @@ mini_portile2 = { source = { remotes = ["https://rubygems.org"]; - sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11"; + sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; type = "gem"; }; - version = "2.3.0"; + version = "2.4.0"; }; minitest = { source = { @@ -1756,13 +2035,36 @@ }; version = "5.11.3"; }; - msgpack = { + mixlib-cli = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864"; + sha256 = "0647msh7kp7lzyf6m72g6snpirvhimjm22qb8xgv9pdhbcrmcccp"; type = "gem"; }; - version = "1.2.4"; + version = "1.7.0"; + }; + mixlib-config = { + dependencies = ["tomlrb"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gm6yj9cbbgsl9x4xqxga0vz5w0ksq2jnq1wj8hvgm5c4wfcrswb"; + type = "gem"; + }; + version = "2.2.18"; + }; + msgpack = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1w38hilm3dk42dwk8ygiq49bl4in7y80hfqr63hk54mj4gmzi6ch"; + type = "gem"; + }; + version = "1.2.10"; }; multi_json = { source = { @@ -1830,12 +2132,14 @@ version = "0.16.0"; }; net-ssh = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hj2i8rk5wb6235r5n19in1hkrp1fbz2bf40xmagavb5ahv7205w"; + sha256 = "101wd2px9lady54aqmkibvy4j62zk32w0rjz4vnigyg974fsga40"; type = "gem"; }; - version = "5.0.1"; + version = "5.2.0"; }; netrc = { source = { @@ -1855,12 +2159,14 @@ }; nokogiri = { dependencies = ["mini_portile2"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz"; + sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4"; type = "gem"; }; - version = "1.8.5"; + version = "1.10.3"; }; nokogumbo = { dependencies = ["nokogiri"]; @@ -2031,6 +2337,17 @@ }; version = "0.2.2"; }; + omniauth-salesforce = { + dependencies = ["omniauth" "omniauth-oauth2"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sr7xmffx6dbsrvnh6spka5ljyzf69iac754xw5r1736py41qhpj"; + type = "gem"; + }; + version = "1.0.5"; + }; omniauth-saml = { dependencies = ["omniauth" "ruby-saml"]; source = { @@ -2058,6 +2375,17 @@ }; version = "1.4.0"; }; + omniauth-ultraauth = { + dependencies = ["omniauth_openid_connect"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1z8gz8ql4vb8y5n4lr67afnjmp23bpqi18dmda5psigvd2jddyn8"; + type = "gem"; + }; + version = "0.0.2"; + }; omniauth_crowd = { dependencies = ["activesupport" "nokogiri" "omniauth"]; source = { @@ -2067,6 +2395,46 @@ }; version = "2.2.3"; }; + omniauth_openid_connect = { + dependencies = ["addressable" "omniauth" "openid_connect"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ja7cjlm4z0k0pwwy64djl58pay3lzkw7im565fybs4a8q4wmacb"; + type = "gem"; + }; + version = "0.3.1"; + }; + openid_connect = { + dependencies = ["activemodel" "attr_required" "json-jwt" "rack-oauth2" "swd" "tzinfo" "validate_email" "validate_url" "webfinger"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r13bv18nyvw0g1nw3fzffvv2si99zj24w0k5zgawf4q6nn5f7vd"; + type = "gem"; + }; + version = "1.1.6"; + }; + opentracing = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11lj1d8vq0hkb5hjz8q4lm82cddrggpbb33dhqfn7rxhwsmxgdfy"; + type = "gem"; + }; + version = "0.5.0"; + }; + optimist = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05jxrp3nbn5iilc1k7ir90mfnwc5abc9h78s5rpm3qafwqxvcj4j"; + type = "gem"; + }; + version = "3.0.0"; + }; org-ruby = { dependencies = ["rubypants"]; source = { @@ -2093,21 +2461,25 @@ version = "1.0.0"; }; parallel = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67"; + sha256 = "1x1gzgjrdlkm1aw0hfpyphsxcx90qgs3y4gmp9km3dvf4hc4qm8r"; type = "gem"; }; - version = "1.12.1"; + version = "1.17.0"; }; parser = { dependencies = ["ast"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f"; + sha256 = "1pnks149x0fzgqiw53qlmvcd8bi746cxdw03sjljby5s97p1fskn"; type = "gem"; }; - version = "2.5.3.0"; + version = "2.6.3.0"; }; parslet = { source = { @@ -2172,12 +2544,14 @@ version = "1.2.0"; }; pg = { + groups = ["development" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07dv4ma9xd75xpsnnwwg1yrpwpji7ydy0q1d9dl0yfqbzpidrw32"; + sha256 = "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy"; type = "gem"; }; - version = "0.18.4"; + version = "1.1.4"; }; po_to_json = { dependencies = ["json"]; @@ -2188,14 +2562,6 @@ }; version = "1.0.1"; }; - powerpack = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1fnn3fli5wkzyjl4ryh0k90316shqjfnhydmc7f8lqpi0q21va43"; - type = "gem"; - }; - version = "0.1.1"; - }; premailer = { dependencies = ["addressable" "css_parser" "htmlentities"]; source = { @@ -2232,12 +2598,14 @@ version = "0.0.3"; }; prometheus-client-mmap = { + groups = ["metrics"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14ww8c2qy43jw3fzmq54hsljmqmlx9a7zg9sv6ddw48qy118ls10"; + sha256 = "01f1zkpi7qsmgmk17fpq6ck7jn64sa9afsq20vc5k9f6mpyqkncd"; type = "gem"; }; - version = "0.9.4"; + version = "0.9.8"; }; pry = { dependencies = ["coderay" "method_source"]; @@ -2267,12 +2635,14 @@ version = "0.3.6"; }; public_suffix = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; + sha256 = "1c7c5xxkx91hwj4572hbnyvxmydb90q69wlpr2l0dxrmwx2p365l"; type = "gem"; }; - version = "3.0.3"; + version = "3.1.0"; }; puma = { source = { @@ -2299,13 +2669,23 @@ }; version = "0.0.3.3"; }; - rack = { + raabro = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1pcgv8dv4vkaczzlix8q3j68capwhk420cddzijwqgi2qb4lm1zm"; + sha256 = "0xzdmbn48753f6k0ckirp8ja5p0xn1a92wbwxfyggyhj0hza9ylq"; type = "gem"; }; - version = "2.0.6"; + version = "1.1.6"; + }; + rack = { + groups = ["default" "development" "kerberos" "mysql" "postgres" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0z90vflxbgjy2n84r7mbyax3i2vyvvrxxrf86ljzn5rw65jgnn2i"; + type = "gem"; + }; + version = "2.0.7"; }; rack-accept = { dependencies = ["rack"]; @@ -2334,22 +2714,24 @@ version = "1.0.2"; }; rack-oauth2 = { - dependencies = ["activesupport" "attr_required" "httpclient" "multi_json" "rack"]; + dependencies = ["activesupport" "attr_required" "httpclient" "json-jwt" "rack"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0j7fh3fyajpfwg47gyfd8spavn7lmd6dcm468w7lhnhcviy5vmyf"; + sha256 = "0kmxj9hbjhhcs3yyb433s82hkpmzb536m0mwfadjiaisganx1cii"; type = "gem"; }; - version = "1.2.3"; + version = "1.9.3"; }; rack-protection = { dependencies = ["rack"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ylx74ravz7nvnyygq0nk3v86qdzrmqxpwpayhppyy50l72rcajq"; + sha256 = "15167q25rmxipqwi6hjqj3i1byi9iwl3xq9b7mdar7qiz39pmjsk"; type = "gem"; }; - version = "2.0.4"; + version = "2.0.5"; }; rack-proxy = { dependencies = ["rack"]; @@ -2362,21 +2744,35 @@ }; rack-test = { dependencies = ["rack"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z"; + sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; type = "gem"; }; - version = "0.6.3"; + version = "1.1.0"; + }; + rack-timeout = { + groups = ["puma"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15xph8h6v0lvq9pxm3bc9i9pnk2k68rgdr1mp0dw4l7v1xvhs78a"; + type = "gem"; + }; + version = "0.5.1"; }; rails = { - dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; + dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0blacnfcn2944cml69wji2ywp9c13qjiciavnfsa9vpimk8ixq9w"; + sha256 = "1p7cszi3n9ksxchxnccmz61pd1i3rjg4813dsdinsm8xm5k1pdgr"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; rails-controller-testing = { dependencies = ["actionpack" "actionview" "activesupport"]; @@ -2387,15 +2783,6 @@ }; version = "1.0.2"; }; - rails-deprecated_sanitizer = { - dependencies = ["activesupport"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj"; - type = "gem"; - }; - version = "1.0.3"; - }; rails-dom-testing = { dependencies = ["activesupport" "nokogiri"]; source = { @@ -2425,12 +2812,14 @@ }; railties = { dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1cfh2ijfalxj8hhf0rfw8bqhazsq6km7barsxczsvyl2a9islanr"; + sha256 = "1gn9fwb5wm08fbj7zpilqgblfl315l5b7pg4jsvxlizvrzg8h8q4"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; rainbow = { source = { @@ -2443,10 +2832,10 @@ raindrops = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0854mial50yhvdv0d2r41xxl47v7z2f4nx49js42hygv7rf1mscz"; + sha256 = "1qpbd9jif40c53fz2r0l8khfl016y8s8bkx37ibcaafclbl3xygp"; type = "gem"; }; - version = "0.18.0"; + version = "0.19.0"; }; rake = { source = { @@ -2483,13 +2872,13 @@ version = "0.3.6"; }; rbtrace = { - dependencies = ["ffi" "msgpack" "trollop"]; + dependencies = ["ffi" "msgpack" "optimist"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zj9xwazjp0g0fmhvc918irzcp2wyciwqzr0y199vc7r5qdr4sqv"; + sha256 = "1lwsq08i0aj8na5q5ba3gg02sx3wl58fi6m52svl5p7cy56ycdwi"; type = "gem"; }; - version = "0.4.10"; + version = "0.4.11"; }; rdoc = { source = { @@ -2509,12 +2898,14 @@ }; recaptcha = { dependencies = ["json"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pppfgica4629i8gbji6pnh681wjf03m6m1ix2ficpnqg2z7gl9n"; + sha256 = "121pkq8kwqjh4l751xzx15bjp5vmf5pirfmpb11h71zsiavjqv6w"; type = "gem"; }; - version = "3.0.0"; + version = "4.13.1"; }; recursive-open-struct = { source = { @@ -2524,14 +2915,6 @@ }; version = "1.1.0"; }; - redcarpet = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7"; - type = "gem"; - }; - version = "3.4.0"; - }; RedCloth = { source = { remotes = ["https://rubygems.org"]; @@ -2603,12 +2986,22 @@ version = "1.6.0"; }; regexp_parser = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1375q2v74cccjh290d9x28fdircvy18v6h0ww7a8i66qhh1jf2pb"; + sha256 = "0dsgjb3kszk6a82s6gl0h6a8vncjrxmcbk0r4mcxcdcad2b7vb2d"; type = "gem"; }; - version = "0.5.0"; + version = "1.5.1"; + }; + regexp_property_values = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05ka0bkhghs9b9pv6q443k8y1c5xalmm0vylj9zd450ksncxj1yr"; + type = "gem"; + }; + version = "0.3.4"; }; representable = { dependencies = ["declarative" "declarative-option" "uber"]; @@ -2670,12 +3063,14 @@ version = "2.1.2"; }; rouge = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql"; + sha256 = "0yfhazlhjc4abgzhkgq8zqmdphvkh52211widkl4zhsbhqh8wg2q"; type = "gem"; }; - version = "3.3.0"; + version = "3.5.1"; }; rqrcode = { dependencies = ["chunky_png"]; @@ -2697,66 +3092,80 @@ }; rspec = { dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0134g96wzxjlig2gxzd240gm2dxfw8izcyi2h6hjmr40syzcyx01"; + sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3"; type = "gem"; }; - version = "3.7.0"; + version = "3.8.0"; }; rspec-core = { dependencies = ["rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zvjbymx3avxm3lf8v4gka3a862vnaxldmwvp6767bpy48nhnvjj"; + sha256 = "0spjgmd3yx6q28q950r32bi0cs8h2si53zn6rq8s7n1i4zp4zwbf"; type = "gem"; }; - version = "3.7.1"; + version = "3.8.2"; }; rspec-expectations = { dependencies = ["diff-lcs" "rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fw06wm8jdj8k7wrb8xmzj0fr1wjyb0ya13x31hidnyblm41hmvy"; + sha256 = "0x3iddjjaramqb0yb51c79p2qajgi9wb5b59bzv25czddigyk49r"; type = "gem"; }; - version = "3.7.0"; + version = "3.8.4"; }; rspec-mocks = { dependencies = ["diff-lcs" "rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0b02ya3qhqgmcywqv4570dlhav70r656f7dmvwg89whpkq1z1xr3"; + sha256 = "12zplnsv4p6wvvxsk8xn6nm87a5qadxlkk497zlxfczd0jfawrni"; type = "gem"; }; - version = "3.7.0"; + version = "3.8.1"; }; rspec-parameterized = { dependencies = ["binding_ninja" "parser" "proc_to_ast" "rspec" "unparser"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "159yw3mb4dab5kr18a97miyyi7dqmyrfjp3aw6r6j9i4xkc4xk3a"; + sha256 = "1c0892jbaznnldk1wi24qxm70g4zhw2idqx516rhgdzgd7yh5j31"; type = "gem"; }; - version = "0.4.1"; + version = "0.4.2"; }; rspec-rails = { dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cdcnbv5dppwy3b4jdp5a0wd9m07a8wlqwb9yazn8i7k1k2mwgvx"; + sha256 = "1pf6n9l4sw1arlax1bdbm1znsvl8cgna2n6k6yk1bi8vz2n73ls1"; type = "gem"; }; - version = "3.7.2"; + version = "3.8.2"; }; rspec-retry = { dependencies = ["rspec-core"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0izvxab7jvk25kaprk0i72asjyh1ip3cm70bgxlm8lpid35qjar6"; + sha256 = "1nnqcg2yd3nn187zbvh4cgx8xsvdk56lz1985qy7232v7i8yidw6"; type = "gem"; }; - version = "0.4.5"; + version = "0.6.1"; }; rspec-set = { source = { @@ -2767,12 +3176,14 @@ version = "0.1.3"; }; rspec-support = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nl30xb6jmcl0awhqp6jycl01wdssblifwy921phfml70rd9flj1"; + sha256 = "139mbhfdr10flm2ffryvxkyqgqs1gjdclc1xhyh7i7njfqayxk7g"; type = "gem"; }; - version = "3.7.1"; + version = "3.8.2"; }; rspec_junit_formatter = { dependencies = ["rspec-core"]; @@ -2793,13 +3204,15 @@ version = "0.0.5"; }; rubocop = { - dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"]; + dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "ruby-progressbar" "unicode-display_width"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "106y99lq0fg62k3vk1w5wwb4vq16pnh4l61skc82xck627z0h8is"; + sha256 = "1cmw8ajaiidvrzjcsljh47f4l3lmcazqrzljgalj3szkr8ibkk5i"; type = "gem"; }; - version = "0.54.0"; + version = "0.69.0"; }; rubocop-gitlab-security = { dependencies = ["rubocop"]; @@ -2810,6 +3223,17 @@ }; version = "0.1.1"; }; + rubocop-performance = { + dependencies = ["rubocop"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0azzgj62w24wa4hza1qn7i9b9crxdh907kydlzcvhismx41h3lzk"; + type = "gem"; + }; + version = "1.1.0"; + }; rubocop-rspec = { dependencies = ["rubocop"]; source = { @@ -2846,12 +3270,14 @@ version = "0.17.0"; }; ruby-progressbar = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1igh1xivf5h5g3y5m9b4i4j2mhz2r43kngh4ww3q1r80ch21nbfk"; + sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk"; type = "gem"; }; - version = "1.9.0"; + version = "1.10.0"; }; ruby-saml = { dependencies = ["nokogiri"]; @@ -2864,12 +3290,14 @@ }; ruby_parser = { dependencies = ["sexp_processor"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mysmdyxhvyn6dhshfxyw762f9asr3kxw45idvw1bh6np31kk4j1"; + sha256 = "0s3hsccsmrirc2hy3r51kl8g9cfmcn7jxaa0asadg1kn78h1sgr7"; type = "gem"; }; - version = "3.11.0"; + version = "3.13.1"; }; rubyntlm = { source = { @@ -2895,22 +3323,15 @@ }; version = "1.2.2"; }; - rufus-scheduler = { - dependencies = ["et-orbi"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0343xrx4gbld5w2ydh9d2a7pw7lllvrsa691bgjq7p9g44ry1vq8"; - type = "gem"; - }; - version = "3.4.0"; - }; rugged = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jv4nw9hvlxp8hhhlllrfcznki82i50fp1sj65zsjllfl2bvz8x6"; + sha256 = "1yiszpz6y13vvgh3fss1l0ipp0zgsbbc8c28vynnpdyx1sy6krp6"; type = "gem"; }; - version = "0.27.5"; + version = "0.28.1"; }; safe_yaml = { source = { @@ -2947,14 +3368,27 @@ }; version = "4.0.0"; }; - sass-rails = { - dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"]; + sassc = { + dependencies = ["ffi" "rake"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0iji20hb8crncz14piss1b29bfb6l89sz3ai5fny3iw39vnxkdcb"; + sha256 = "1sr4825rlwsrl7xrsm0sgalcpf5zgp4i56dbi3qxfa9lhs8r6zh4"; type = "gem"; }; - version = "5.0.6"; + version = "2.0.1"; + }; + sassc-rails = { + dependencies = ["railties" "sassc" "sprockets" "sprockets-rails" "tilt"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18mgdjxdzpbw92zrllynxw7jn7yihi85j3dg7i4f6c39w1scqkbn"; + type = "gem"; + }; + version = "2.1.0"; }; sawyer = { dependencies = ["addressable" "faraday"]; @@ -2983,32 +3417,27 @@ }; version = "2.3.7"; }; - select2-rails = { - dependencies = ["thor"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0ni2k74n73y3gv56gs37gkjlh912szjf6k9j483wz41m3xvlz7fj"; - type = "gem"; - }; - version = "3.5.9.3"; - }; selenium-webdriver = { dependencies = ["childprocess" "rubyzip"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07bl3wjkf254r3ljfl4qdazz5aw60s6nqjwrbbgq754j9b7226kz"; + sha256 = "114hv2ajmh6d186v2w887yqakqcxyxq367l0iakrrpvwviknrhfs"; type = "gem"; }; - version = "3.12.0"; + version = "3.141.0"; }; sentry-raven = { dependencies = ["faraday"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l0bci35amy7pqv81djyjcx023q4qylmq8a2zbx14zh6ifzib4f4"; + sha256 = "1j9rwbig24ry0smgvmkzdjrzyszniaswipinvflzxzzaz52v7483"; type = "gem"; }; - version = "2.7.4"; + version = "2.9.0"; }; settingslogic = { source = { @@ -3019,12 +3448,14 @@ version = "2.0.9"; }; sexp_processor = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vnmphfrd86694x5k7rxddbhbvv5rqbglsc34kfryy4jqhbzz42c"; + sha256 = "0w24rgmyjf7yz0xr2qhbr8z48h4m6gvbggr8nc1pldwn9rbi04b7"; type = "gem"; }; - version = "4.11.0"; + version = "4.12.0"; }; sham_rack = { dependencies = ["rack"]; @@ -3037,30 +3468,34 @@ }; shoulda-matchers = { dependencies = ["activesupport"]; + groups = ["test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zvv94pqk5b5my3w1shdz7h34xf2ldhg5k4qfdpbwi2iy0j9zw2a"; + sha256 = "1s6a2i39lsqq8rrkk2pddqcb10bsihxy3v5gpnc2gk8xakj1brdq"; type = "gem"; }; - version = "3.1.2"; + version = "4.0.1"; }; sidekiq = { - dependencies = ["connection_pool" "rack-protection" "redis"]; + dependencies = ["connection_pool" "rack" "rack-protection" "redis"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zyf9y3rvzizbwh68i2g1lzd40lalrdc4iyjmaa74gnfwsf92i26"; + sha256 = "131zv8i341bkacxx7n1id2cmblkbs379farnibqg8c7bycd1iajq"; type = "gem"; }; - version = "5.2.3"; + version = "5.2.7"; }; sidekiq-cron = { - dependencies = ["rufus-scheduler" "sidekiq"]; + dependencies = ["fugit" "sidekiq"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "04mq83rzvq4wbc4h0rn00sawgv039j8s2p0wnlqb4sgf55gc0dzj"; + sha256 = "1aliswahmpxn1ib2brn4126gk97ac3zdnwr71mn8vzbr3vdd7fl0"; type = "gem"; }; - version = "0.6.0"; + version = "1.0.4"; }; signet = { dependencies = ["addressable" "faraday" "jwt" "multi_json"]; @@ -3081,20 +3516,24 @@ }; simplecov = { dependencies = ["docile" "json" "simplecov-html"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1r9fnsnsqj432cmrpafryn8nif3x0qg9mdnvrcf0wr01prkdlnww"; + sha256 = "1sfyfgf7zrp2n42v7rswkqgk3bbwk1bnsphm24y7laxv3f8z0947"; type = "gem"; }; - version = "0.14.1"; + version = "0.16.1"; }; simplecov-html = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qni8g0xxglkx25w54qcfbi4wjkpvmb28cb7rj5zk3iqynjcdrqf"; + sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn"; type = "gem"; }; - version = "0.10.0"; + version = "0.10.2"; }; slack-notifier = { source = { @@ -3151,10 +3590,10 @@ sshkey = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0g02lh50jd5z4l9bp7xirnfn3n1dh9lr06dv3xh0kr3yhsny059h"; + sha256 = "03bkn55qsng484iqwz2lmm6rkimj01vsvhwk661s3lnmpkl65lbp"; type = "gem"; }; - version = "1.9.0"; + version = "2.0.0"; }; stackprof = { source = { @@ -3190,6 +3629,17 @@ }; version = "0.5.1"; }; + swd = { + dependencies = ["activesupport" "attr_required" "httpclient"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1s2vjb6f13za7p1iycl2p73d3p202xa6xny9fjrp8ynwsqix7lyd"; + type = "gem"; + }; + version = "1.1.2"; + }; sys-filesystem = { dependencies = ["ffi"]; source = { @@ -3256,6 +3706,14 @@ }; version = "0.3.6"; }; + thrift = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02p107kwx7jnkh6fpdgvaji0xdg6xkaarngkqjml6s4zny4m8slv"; + type = "gem"; + }; + version = "0.11.0.0"; + }; tilt = { source = { remotes = ["https://rubygems.org"]; @@ -3298,22 +3756,24 @@ }; version = "1.0.0"; }; - trollop = { + tomlrb = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1rzx9rkacpq58dsvbbzs4cpybls1v1h36xskkfs5q2askpdr00wq"; + sha256 = "0g28ssfal6vry3cmhy509ba3vi5d5aggz1gnffnvvmc8ml8vkpiv"; type = "gem"; }; - version = "2.1.3"; + version = "1.2.8"; }; truncato = { dependencies = ["htmlentities" "nokogiri"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1x4fhfi4p7ah9sshfhbk9j145s1ailbyj0dxnvqirs9kk10x2d1b"; + sha256 = "0z36dprfj9l4jwgwb2wv4v3cilm53v7i1ywfmm5f1dl352id3ak4"; type = "gem"; }; - version = "0.7.10"; + version = "0.7.11"; }; tzinfo = { dependencies = ["thread_safe"]; @@ -3367,21 +3827,23 @@ version = "0.0.7.5"; }; unicode-display_width = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0x31fgv1acywbb50prp7y4fr677c2d9gsl6wxmfcrlxbwz7nxn5n"; + sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w"; type = "gem"; }; - version = "1.3.2"; + version = "1.6.0"; }; unicorn = { dependencies = ["kgio" "raindrops"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1rcvg9381yw3wrnpny5c01mvm35caycshvfbg96wagjhscw6l72v"; + sha256 = "1qfhvzs4i6ja1s43j8p1kfbzm10n7a02ngki30a38y5m46a2qrak"; type = "gem"; }; - version = "5.1.0"; + version = "5.4.1"; }; unicorn-worker-killer = { dependencies = ["get_process_mem" "unicorn"]; @@ -3402,12 +3864,36 @@ }; unparser = { dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w662glqi7hwmfvx0smxckxgc7kw5bsqhqz0pyvalbyv1gc0gs2x"; + sha256 = "03vjj74kj86vlazhiclf63kf6gajs66k8ni34q70fdhf97d7b60c"; type = "gem"; }; - version = "0.4.2"; + version = "0.4.5"; + }; + validate_email = { + dependencies = ["activemodel" "mail"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r1fz29l699arka177c9xw7409d1a3ff95bf7a6pmc97slb91zlx"; + type = "gem"; + }; + version = "0.1.6"; + }; + validate_url = { + dependencies = ["activemodel" "public_suffix"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1k0bfxzvdcf1nrqhvnyhijc4mwab9wn4qvqb0ynq6p8dj0f866zi"; + type = "gem"; + }; + version = "1.0.8"; }; validates_hostname = { dependencies = ["activerecord" "activesupport"]; @@ -3421,10 +3907,10 @@ version_sorter = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1smi0bf8pgx23014nkpfg29qnmlpgvwmn30q0ca7qrfbha2mjwdr"; + sha256 = "0hbdw3vh856f5yg5mbj4498l6vh90cd3pn22ikr3ranzkrh73l3s"; type = "gem"; }; - version = "2.1.0"; + version = "2.2.4"; }; virtus = { dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"]; @@ -3452,14 +3938,25 @@ }; version = "1.2.7"; }; + webfinger = { + dependencies = ["activesupport" "httpclient"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m0jh8k7c0ifh2jhbn7ihqrmn5fi754wflva97zgy70hpdvxyjar"; + type = "gem"; + }; + version = "1.1.0"; + }; webmock = { dependencies = ["addressable" "crack" "hashdiff"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "04hkcqsmbfnp8g237pisnc834vpgildklicbjbyikqg0bg1rwcy5"; + sha256 = "0gg0c2sxq7rni0b93w47h7p7cn590xdhf5va7ska48inpipwlgxp"; type = "gem"; }; - version = "2.3.2"; + version = "3.5.1"; }; webpack-rails = { dependencies = ["railties"]; @@ -3472,12 +3969,14 @@ }; websocket-driver = { dependencies = ["websocket-extensions"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1943442yllhldh9dbp374x2q39cxa49xrm28nb78b7mfbv3y195l"; + sha256 = "1551k3fs3kkb3ghqfj3n5lps0ikb9pyrdnzmvgfdxy8574n4g1dn"; type = "gem"; }; - version = "0.6.5"; + version = "0.7.0"; }; websocket-extensions = { source = { @@ -3514,11 +4013,13 @@ }; xpath = { dependencies = ["nokogiri"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ha626m6fh50fpilb9pdnmq9xl586w7c0zyidg895c3iq13rqgyw"; + sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; type = "gem"; }; - version = "2.1.0"; + version = "3.2.0"; }; } \ No newline at end of file diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile index f01944a0e87..62ee2990dfa 100644 --- a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile +++ b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile @@ -1,7 +1,6 @@ source 'https://rubygems.org' -gem 'rails', '5.0.7.1' -gem 'rails-deprecated_sanitizer', '~> 1.0.3' +gem 'rails', '5.2.3' # Improves copy-on-write performance for MRI gem 'nakayoshi_fork', '~> 0.0.4' @@ -12,19 +11,19 @@ gem 'responders', '~> 2.0' gem 'sprockets', '~> 3.7.0' # Default values for AR models -gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for' +gem 'default_value_for', '~> 3.2.0' # Supported DBs gem 'mysql2', '~> 0.4.10', group: :mysql -gem 'pg', '~> 0.18.2', group: :postgres +gem 'pg', '~> 1.1', group: :postgres -gem 'rugged', '~> 0.27' -gem 'grape-path-helpers', '~> 1.0' +gem 'rugged', '~> 0.28' +gem 'grape-path-helpers', '~> 1.1' gem 'faraday', '~> 0.12' # Authentication libraries -gem 'devise', '~> 4.4' +gem 'devise', '~> 4.6' gem 'doorkeeper', '~> 4.3' gem 'doorkeeper-openid_connect', '~> 1.5' gem 'omniauth', '~> 1.8' @@ -42,14 +41,17 @@ gem 'omniauth-shibboleth', '~> 1.3.0' gem 'omniauth-twitter', '~> 1.4' gem 'omniauth_crowd', '~> 2.2.0' gem 'omniauth-authentiq', '~> 0.3.3' -gem 'rack-oauth2', '~> 1.2.1' +gem 'omniauth_openid_connect', '~> 0.3.1' +gem "omniauth-ultraauth", '~> 0.0.2' +gem 'omniauth-salesforce', '~> 1.0.5' +gem 'rack-oauth2', '~> 1.9.3' gem 'jwt', '~> 2.1.0' # Kerberos authentication. EE-only gem 'gssapi', group: :kerberos # Spam and anti-bot protection -gem 'recaptcha', '~> 3.0', require: 'recaptcha/rails' +gem 'recaptcha', '~> 4.11', require: 'recaptcha/rails' gem 'akismet', '~> 2.0' # Two-factor authentication @@ -61,6 +63,8 @@ gem 'u2f', '~> 0.2.1' # GitLab Pages gem 'validates_hostname', '~> 1.0.6' gem 'rubyzip', '~> 1.2.2', require: 'zip' +# GitLab Pages letsencrypt support +gem 'acme-client', '~> 2.0.2' # Browser detection gem 'browser', '~> 2.5' @@ -71,7 +75,7 @@ gem 'gpgme', '~> 2.0.18' # LDAP Auth # GitLab fork with several improvements to original library. For full list of changes # see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master -gem 'gitlab_omniauth-ldap', '~> 2.0.4', require: 'omniauth-ldap' +gem 'gitlab_omniauth-ldap', '~> 2.1.1', require: 'omniauth-ldap' gem 'net-ldap' # API @@ -82,6 +86,8 @@ gem 'rack-cors', '~> 1.0.0', require: 'rack/cors' # GraphQL API gem 'graphql', '~> 1.8.0' gem 'graphiql-rails', '~> 1.4.10' +gem 'apollo_upload_server', '~> 2.0.0.beta3' +gem 'graphql-docs', '~> 1.6.0', group: [:development, :test] # Disable strong_params so that Mash does not respond to :permitted? gem 'hashie-forbidden_attributes' @@ -97,13 +103,15 @@ gem 'carrierwave', '~> 1.3' gem 'mini_magick' # for backups -gem 'fog-aws', '~> 2.0.1' -gem 'fog-core', '~> 1.44' -gem 'fog-google', '~> 1.7.1' -gem 'fog-local', '~> 0.3' -gem 'fog-openstack', '~> 0.1' +gem 'fog-aws', '~> 3.5' +# Locked until fog-google resolves https://github.com/fog/fog-google/issues/421. +# Also see config/initializers/fog_core_patch.rb. +gem 'fog-core', '= 2.1.0' +gem 'fog-google', '~> 1.8' +gem 'fog-local', '~> 0.6' +gem 'fog-openstack', '~> 1.0' gem 'fog-rackspace', '~> 0.1.1' -gem 'fog-aliyun', '~> 0.2.0' +gem 'fog-aliyun', '~> 0.3' # for Google storage gem 'google-api-client', '~> 0.23' @@ -116,29 +124,29 @@ gem 'seed-fu', '~> 2.3.7' # Search gem 'elasticsearch-model', '~> 0.1.9' -gem 'elasticsearch-rails', '~> 0.1.9' +gem 'elasticsearch-rails', '~> 0.1.9', require: 'elasticsearch/rails/instrumentation' gem 'elasticsearch-api', '5.0.3' gem 'aws-sdk' gem 'faraday_middleware-aws-signers-v4' # Markdown and HTML processing gem 'html-pipeline', '~> 2.8' -gem 'deckar01-task_list', '2.0.0' -gem 'gitlab-markup', '~> 1.6.5' +gem 'deckar01-task_list', '2.2.0' +gem 'gitlab-markup', '~> 1.7.0' gem 'github-markup', '~> 1.7.0', require: 'github/markup' -gem 'redcarpet', '~> 3.4' gem 'commonmarker', '~> 0.17' gem 'RedCloth', '~> 4.3.2' gem 'rdoc', '~> 6.0' gem 'org-ruby', '~> 0.9.12' gem 'creole', '~> 0.5.0' gem 'wikicloth', '0.8.1' -gem 'asciidoctor', '~> 1.5.8' -gem 'asciidoctor-plantuml', '0.0.8' -gem 'rouge', '~> 3.1' -gem 'truncato', '~> 0.7.9' -gem 'bootstrap_form', '~> 2.7.0' -gem 'nokogiri', '~> 1.8.5' +gem 'asciidoctor', '~> 2.0.10' +gem 'asciidoctor-include-ext', '~> 0.3.1', require: false +gem 'asciidoctor-plantuml', '0.0.9' +gem 'rouge', '~> 3.5' +gem 'truncato', '~> 0.7.11' +gem 'bootstrap_form', '~> 4.2.0' +gem 'nokogiri', '~> 1.10.3' gem 'escape_utils', '~> 1.1' # Calendar rendering @@ -148,38 +156,36 @@ gem 'icalendar' gem 'diffy', '~> 3.1.0' # Application server -# The 2.0.6 version of rack requires monkeypatch to be present in -# `config.ru`. This can be removed once a new update for Rack -# is available that contains https://github.com/rack/rack/pull/1201. -gem 'rack', '2.0.6' +gem 'rack', '~> 2.0.7' group :unicorn do - gem 'unicorn', '~> 5.1.0' + gem 'unicorn', '~> 5.4.1' gem 'unicorn-worker-killer', '~> 0.4.4' end group :puma do gem 'puma', '~> 3.12', require: false gem 'puma_worker_killer', require: false + gem 'rack-timeout', require: false end # State machine gem 'state_machines-activerecord', '~> 0.5.1' # Issue tags -gem 'acts-as-taggable-on', '~> 5.0' +gem 'acts-as-taggable-on', '~> 6.0' # Background jobs -gem 'sidekiq', '~> 5.2.1' -gem 'sidekiq-cron', '~> 0.6.0' +gem 'sidekiq', '~> 5.2.7' +gem 'sidekiq-cron', '~> 1.0' gem 'redis-namespace', '~> 1.6.0' gem 'gitlab-sidekiq-fetcher', '~> 0.4.0', require: 'sidekiq-reliable-fetch' # Cron Parser -gem 'rufus-scheduler', '~> 3.4' +gem 'fugit', '~> 1.2.1' # HTTP requests -gem 'httparty', '~> 0.13.3' +gem 'httparty', '~> 0.16.4' # Colored output to console gem 'rainbow', '~> 3.0' @@ -195,10 +201,10 @@ gem 're2', '~> 1.1.1' # Misc -gem 'version_sorter', '~> 2.1.0' +gem 'version_sorter', '~> 2.2.4' # Export Ruby Regex to Javascript -gem 'js_regex', '~> 2.2.1' +gem 'js_regex', '~> 3.1' # User agent parsing gem 'device_detector' @@ -216,7 +222,7 @@ gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false # HipChat integration gem 'hipchat', '~> 1.5.0' -# JIRA integration +# Jira integration gem 'jira-ruby', '~> 1.4' # Flowdock integration @@ -235,7 +241,7 @@ gem 'asana', '~> 0.8.1' gem 'ruby-fogbugz', '~> 0.2.1' # Kubernetes integration -gem 'kubeclient', '~> 4.0.0' +gem 'kubeclient', '~> 4.2.2' # Sanitize user input gem 'sanitize', '~> 4.6' @@ -269,27 +275,27 @@ gem 'chronic_duration', '~> 0.10.6' gem 'webpack-rails', '~> 0.9.10' gem 'rack-proxy', '~> 0.6.0' -gem 'sass-rails', '~> 5.0.6' -gem 'sass', '~> 3.5' +gem 'sassc-rails', '~> 2.1.0' gem 'uglifier', '~> 2.7.2' gem 'addressable', '~> 2.5.2' gem 'font-awesome-rails', '~> 4.7' gem 'gemojione', '~> 3.3' gem 'gon', '~> 6.2' -gem 'jquery-atwho-rails', '~> 1.3.2' gem 'request_store', '~> 1.3' -gem 'select2-rails', '~> 3.5.9' gem 'virtus', '~> 1.0.1' gem 'base32', '~> 0.3.0' gem "gitlab-license", "~> 1.0" # Sentry integration -gem 'sentry-raven', '~> 2.7' +gem 'sentry-raven', '~> 2.9' gem 'premailer-rails', '~> 1.9.7' +# LabKit: Tracing and Correlation +gem 'gitlab-labkit', '~> 0.3.0' + # I18n gem 'ruby_parser', '~> 3.8', require: false gem 'rails-i18n', '~> 5.1' @@ -297,7 +303,7 @@ gem 'gettext_i18n_rails', '~> 1.8.0' gem 'gettext_i18n_rails_js', '~> 1.3' gem 'gettext', '~> 3.2.2', require: false, group: :development -gem 'batch-loader', '~> 1.2.2' +gem 'batch-loader', '~> 1.4.0' # Perf bar gem 'peek', '~> 1.0.1' @@ -307,13 +313,19 @@ gem 'peek-pg', '~> 1.3.0', group: :postgres gem 'peek-rblineprof', '~> 0.2.0' gem 'peek-redis', '~> 1.2.0' +# Snowplow events tracking +gem 'snowplow-tracker', '~> 0.6.1' + +# Memory benchmarks +gem 'derailed_benchmarks', require: false + # Metrics group :metrics do gem 'method_source', '~> 0.8', require: false gem 'influxdb', '~> 0.2', require: false # Prometheus - gem 'prometheus-client-mmap', '~> 0.9.4' + gem 'prometheus-client-mmap', '~> 0.9.8' gem 'raindrops', '~> 0.18' end @@ -321,7 +333,7 @@ group :development do gem 'foreman', '~> 0.84.0' gem 'brakeman', '~> 4.2', require: false - gem 'letter_opener_web', '~> 1.3.0' + gem 'letter_opener_web', '~> 1.3.4' gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false # Better errors handler @@ -333,7 +345,7 @@ group :development do end group :development, :test do - gem 'bootsnap', '~> 1.3' + gem 'bootsnap', '~> 1.4' gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET'] gem 'pry-byebug', '~> 3.5.1', platform: :mri gem 'pry-rails', '~> 0.3.4' @@ -343,8 +355,8 @@ group :development, :test do gem 'database_cleaner', '~> 1.7.0' gem 'factory_bot_rails', '~> 4.8.2' - gem 'rspec-rails', '~> 3.7.0' - gem 'rspec-retry', '~> 0.4.5' + gem 'rspec-rails', '~> 3.8.0' + gem 'rspec-retry', '~> 0.6.1' gem 'rspec_profiling', '~> 0.0.5' gem 'rspec-set', '~> 0.1.3' gem 'rspec-parameterized', require: false @@ -355,22 +367,24 @@ group :development, :test do # Generate Fake data gem 'ffaker', '~> 2.10' - gem 'capybara', '~> 2.16.1' - gem 'capybara-screenshot', '~> 1.0.18' - gem 'selenium-webdriver', '~> 3.12' + gem 'capybara', '~> 3.22.0' + gem 'capybara-screenshot', '~> 1.0.22' + gem 'selenium-webdriver', '~> 3.141' gem 'spring', '~> 2.0.0' gem 'spring-commands-rspec', '~> 1.0.4' - gem 'gitlab-styles', '~> 2.4', require: false + gem 'gitlab-styles', '~> 2.7', require: false # Pin these dependencies, otherwise a new rule could break the CI pipelines - gem 'rubocop', '~> 0.54.0' + gem 'rubocop', '~> 0.69.0' + gem 'rubocop-performance', '~> 1.1.0' gem 'rubocop-rspec', '~> 1.22.1' gem 'scss_lint', '~> 0.56.0', require: false - gem 'haml_lint', '~> 0.28.0', require: false - gem 'simplecov', '~> 0.14.0', require: false + gem 'haml_lint', '~> 0.31.0', require: false + gem 'simplecov', '~> 0.16.1', require: false gem 'bundler-audit', '~> 0.5.0', require: false + gem 'mdl', '~> 0.5.0', require: false gem 'benchmark-ips', '~> 2.3.0', require: false @@ -387,10 +401,10 @@ group :development, :test do end group :test do - gem 'shoulda-matchers', '~> 3.1.2', require: false + gem 'shoulda-matchers', '~> 4.0.1', require: false gem 'email_spec', '~> 2.2.0' gem 'json-schema', '~> 2.8.0' - gem 'webmock', '~> 2.3.2' + gem 'webmock', '~> 3.5.1' gem 'rails-controller-testing' gem 'sham_rack', '~> 1.3.6' gem 'concurrent-ruby', '~> 1.1' @@ -407,6 +421,9 @@ gem 'html2text' gem 'ruby-prof', '~> 0.17.0' gem 'rbtrace', '~> 0.4', require: false +gem 'memory_profiler', '~> 0.9', require: false +gem 'benchmark-memory', '~> 0.1', require: false +gem 'activerecord-explain-analyze', '~> 0.1', require: false # OAuth gem 'oauth2', '~> 1.4' @@ -422,8 +439,8 @@ gem 'sys-filesystem', '~> 1.1.6' gem 'net-ntp' # SSH host key support -gem 'net-ssh', '~> 5.0' -gem 'sshkey', '~> 1.9.0' +gem 'net-ssh', '~> 5.2' +gem 'sshkey', '~> 2.0' # Required for ED25519 SSH host key support group :ed25519 do @@ -432,10 +449,11 @@ group :ed25519 do end # Gitaly GRPC client -gem 'gitaly-proto', '~> 1.5.0', require: 'gitaly' -gem 'grpc', '~> 1.15.0' +gem 'gitaly-proto', '~> 1.37.0', require: 'gitaly' -gem 'google-protobuf', '~> 3.6' +gem 'grpc', '~> 1.19.0' + +gem 'google-protobuf', '~> 3.7.1' gem 'toml-rb', '~> 1.0.0', require: false diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock index 8d07afb59bf..0a6d7fe1370 100644 --- a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock +++ b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock @@ -4,47 +4,56 @@ GEM RedCloth (4.3.2) abstract_type (0.0.7) ace-rails-ap (4.1.2) - actioncable (5.0.7.1) - actionpack (= 5.0.7.1) - nio4r (>= 1.2, < 3.0) - websocket-driver (~> 0.6.1) - actionmailer (5.0.7.1) - actionpack (= 5.0.7.1) - actionview (= 5.0.7.1) - activejob (= 5.0.7.1) + acme-client (2.0.2) + faraday (~> 0.9, >= 0.9.1) + actioncable (5.2.3) + actionpack (= 5.2.3) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailer (5.2.3) + actionpack (= 5.2.3) + actionview (= 5.2.3) + activejob (= 5.2.3) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.0.7.1) - actionview (= 5.0.7.1) - activesupport (= 5.0.7.1) + actionpack (5.2.3) + actionview (= 5.2.3) + activesupport (= 5.2.3) rack (~> 2.0) - rack-test (~> 0.6.3) + rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.0.7.1) - activesupport (= 5.0.7.1) + actionview (5.2.3) + activesupport (= 5.2.3) builder (~> 3.1) - erubis (~> 2.7.0) + erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.0.7.1) - activesupport (= 5.0.7.1) + activejob (5.2.3) + activesupport (= 5.2.3) globalid (>= 0.3.6) - activemodel (5.0.7.1) - activesupport (= 5.0.7.1) - activerecord (5.0.7.1) - activemodel (= 5.0.7.1) - activesupport (= 5.0.7.1) - arel (~> 7.0) + activemodel (5.2.3) + activesupport (= 5.2.3) + activerecord (5.2.3) + activemodel (= 5.2.3) + activesupport (= 5.2.3) + arel (>= 9.0) + activerecord-explain-analyze (0.1.0) + activerecord (>= 4) + pg activerecord_sane_schema_dumper (1.0) rails (>= 5, < 6) - activesupport (5.0.7.1) + activestorage (5.2.3) + actionpack (= 5.2.3) + activerecord (= 5.2.3) + marcel (~> 0.3.1) + activesupport (5.2.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) - acts-as-taggable-on (5.0.0) - activerecord (>= 4.2.8) + acts-as-taggable-on (6.0.0) + activerecord (~> 5.0) adamantium (0.2.0) ice_nine (~> 0.11.0) memoizable (~> 0.4.0) @@ -52,20 +61,25 @@ GEM public_suffix (>= 2.0.2, < 4.0) aes_key_wrap (1.0.1) akismet (2.0.0) - arel (7.1.4) + apollo_upload_server (2.0.0.beta.3) + graphql (>= 1.8) + rails (>= 4.2) + arel (9.0.0) asana (0.8.1) faraday (~> 0.9) faraday_middleware (~> 0.9) faraday_middleware-multi_json (~> 0.0) oauth2 (~> 1.0) - asciidoctor (1.5.8) - asciidoctor-plantuml (0.0.8) - asciidoctor (~> 1.5) + asciidoctor (2.0.10) + asciidoctor-include-ext (0.3.1) + asciidoctor (>= 1.5.6, < 3.0.0) + asciidoctor-plantuml (0.0.9) + asciidoctor (>= 1.5.6, < 3.0.0) ast (2.4.0) atomic (1.1.99) attr_encrypted (3.1.0) encryptor (~> 3.0.0) - attr_required (1.0.0) + attr_required (1.0.1) awesome_print (1.8.0) aws-sdk (2.9.32) aws-sdk-resources (= 2.9.32) @@ -81,21 +95,25 @@ GEM thread_safe (~> 0.3, >= 0.3.1) babosa (1.0.2) base32 (0.3.2) - batch-loader (1.2.2) + batch-loader (1.4.0) bcrypt (3.1.12) bcrypt_pbkdf (1.0.0) benchmark-ips (2.3.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) better_errors (2.5.0) coderay (>= 1.0.0) erubi (>= 1.0.0) rack (>= 0.9.0) bindata (2.4.3) - binding_ninja (0.2.2) + binding_ninja (0.2.3) binding_of_caller (0.8.0) debug_inspector (>= 0.0.1) - bootsnap (1.3.2) + bootsnap (1.4.1) msgpack (~> 1.0) - bootstrap_form (2.7.0) + bootstrap_form (4.2.0) + actionpack (>= 5.0) + activemodel (>= 5.0) brakeman (4.2.1) browser (2.5.3) builder (3.2.3) @@ -106,13 +124,14 @@ GEM bundler (~> 1.2) thor (~> 0.18) byebug (9.1.0) - capybara (2.16.1) + capybara (3.22.0) addressable mini_mime (>= 0.1.3) - nokogiri (>= 1.3.3) - rack (>= 1.0.0) - rack-test (>= 0.5.4) - xpath (~> 2.0) + nokogiri (~> 1.8) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (~> 1.5) + xpath (~> 3.2) capybara-screenshot (1.0.22) capybara (>= 1.0, < 4) launchy @@ -121,6 +140,7 @@ GEM activesupport (>= 4.0.0) mime-types (>= 1.16) cause (0.1) + character_set (1.1.2) charlock_holmes (0.7.6) childprocess (0.9.0) ffi (~> 1.0, >= 1.0.11) @@ -137,10 +157,11 @@ GEM concord (0.1.5) adamantium (~> 0.2.0) equalizer (~> 0.0.9) - concurrent-ruby (1.1.3) - concurrent-ruby-ext (1.1.3) - concurrent-ruby (= 1.1.3) + concurrent-ruby (1.1.5) + concurrent-ruby-ext (1.1.5) + concurrent-ruby (= 1.1.5) connection_pool (2.2.2) + contracts (0.11.0) crack (0.4.3) safe_yaml (~> 1.0.0) crass (1.0.4) @@ -151,14 +172,24 @@ GEM database_cleaner (1.7.0) debug_inspector (0.0.3) debugger-ruby_core_source (1.3.8) - deckar01-task_list (2.0.0) + deckar01-task_list (2.2.0) html-pipeline declarative (0.0.10) declarative-option (0.1.0) + default_value_for (3.2.0) + activerecord (>= 3.2.0, < 6.0) + derailed_benchmarks (1.3.5) + benchmark-ips (~> 2) + get_process_mem (~> 0) + heapy (~> 0) + memory_profiler (~> 0) + rack (>= 1) + rake (> 10, < 13) + thor (~> 0.19) descendants_tracker (0.0.4) thread_safe (~> 0.3, >= 0.3.1) device_detector (1.0.0) - devise (4.4.3) + devise (4.6.2) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0, < 6.0) @@ -174,7 +205,7 @@ GEM diffy (3.1.0) discordrb-webhooks-blackst0ne (3.3.0) rest-client (~> 2.0) - docile (1.1.5) + docile (1.3.1) domain_name (0.5.20180417) unf (>= 0.0.5, < 1.0.0) doorkeeper (4.3.2) @@ -203,15 +234,16 @@ GEM mail (~> 2.7) encryptor (3.0.0) equalizer (0.0.11) - erubi (1.7.1) - erubis (2.7.0) + erubi (1.8.0) escape_utils (1.2.1) - et-orbi (1.0.3) + et-orbi (1.2.1) tzinfo eventmachine (1.2.7) excon (0.62.0) execjs (2.6.0) expression_parser (0.9.0) + extended-markdown-filter (0.6.0) + html-pipeline (~> 2.0) factory_bot (4.8.2) activesupport (>= 3.0.0) factory_bot_rails (4.8.2) @@ -230,7 +262,7 @@ GEM fast_blank (1.0.0) fast_gettext (1.6.0) ffaker (2.10.0) - ffi (1.9.25) + ffi (1.10.0) flipper (0.13.0) flipper-active_record (0.13.0) activerecord (>= 3.2, < 6) @@ -241,32 +273,33 @@ GEM flowdock (0.7.1) httparty (~> 0.7) multi_json - fog-aliyun (0.2.0) - fog-core (~> 1.27) - fog-json (~> 1.0) + fog-aliyun (0.3.3) + fog-core + fog-json ipaddress (~> 0.8) xml-simple (~> 1.1) - fog-aws (2.0.1) - fog-core (~> 1.38) - fog-json (~> 1.0) + fog-aws (3.5.2) + fog-core (~> 2.1) + fog-json (~> 1.1) fog-xml (~> 0.1) ipaddress (~> 0.8) - fog-core (1.45.0) + fog-core (2.1.0) builder excon (~> 0.58) formatador (~> 0.2) - fog-google (1.7.1) - fog-core - fog-json - fog-xml + mime-types + fog-google (1.8.2) + fog-core (<= 2.1.0) + fog-json (~> 1.2) + fog-xml (~> 0.1.0) google-api-client (~> 0.23.0) - fog-json (1.0.2) - fog-core (~> 1.0) + fog-json (1.2.0) + fog-core multi_json (~> 1.10) - fog-local (0.3.1) - fog-core (~> 1.27) - fog-openstack (0.1.21) - fog-core (>= 1.40) + fog-local (0.6.0) + fog-core (>= 1.27, < 3.0) + fog-openstack (1.0.8) + fog-core (~> 2.1) fog-json (>= 1.0) ipaddress (>= 0.8) fog-rackspace (0.1.1) @@ -277,17 +310,21 @@ GEM fog-xml (0.1.3) fog-core nokogiri (>= 1.5.11, < 2.0.0) - font-awesome-rails (4.7.0.1) - railties (>= 3.2, < 5.1) + font-awesome-rails (4.7.0.4) + railties (>= 3.2, < 6.0) foreman (0.84.0) thor (~> 0.19.1) formatador (0.2.5) + fugit (1.2.1) + et-orbi (~> 1.1, >= 1.1.8) + raabro (~> 1.1) fuubar (2.2.0) rspec-core (~> 3.0) ruby-progressbar (~> 1.4) + gemoji (3.0.1) gemojione (3.3.0) json - get_process_mem (0.2.0) + get_process_mem (0.2.3) gettext (3.2.9) locale (>= 2.0.5) text (>= 1.3.0) @@ -298,25 +335,30 @@ GEM gettext_i18n_rails (>= 0.7.1) po_to_json (>= 1.0.0) rails (>= 3.2.0) - gitaly-proto (1.5.0) + gitaly-proto (1.37.0) grpc (~> 1.0) github-markup (1.7.0) - gitlab-default_value_for (3.1.1) - activerecord (>= 3.2.0, < 6.0) + gitlab-labkit (0.3.0) + actionpack (~> 5) + activesupport (~> 5) + grpc (~> 1.19.0) + jaeger-client (~> 0.10) + opentracing (~> 0.4) gitlab-license (1.0.0) - gitlab-markup (1.6.5) + gitlab-markup (1.7.0) gitlab-sidekiq-fetcher (0.4.0) sidekiq (~> 5) - gitlab-styles (2.4.1) - rubocop (~> 0.54.0) + gitlab-styles (2.7.0) + rubocop (~> 0.69.0) rubocop-gitlab-security (~> 0.1.0) + rubocop-performance (~> 1.1.0) rubocop-rspec (~> 1.19) - gitlab_omniauth-ldap (2.0.4) + gitlab_omniauth-ldap (2.1.1) net-ldap (~> 0.16) omniauth (~> 1.3) pyu-ruby-sasl (>= 0.0.3.3, < 0.1) rubyntlm (~> 0.5) - globalid (0.4.1) + globalid (0.4.2) activesupport (>= 4.2.0) gon (6.2.0) actionpack (>= 3.0) @@ -329,8 +371,8 @@ GEM mime-types (~> 3.0) representable (~> 3.0) retriable (>= 2.0, < 4.0) - google-protobuf (3.6.1) - googleapis-common-protos-types (1.0.2) + google-protobuf (3.7.1) + googleapis-common-protos-types (1.0.4) google-protobuf (~> 3.0) googleauth (0.6.6) faraday (~> 0.12) @@ -351,8 +393,8 @@ GEM grape-entity (0.7.1) activesupport (>= 4.0) multi_json (>= 1.3.2) - grape-path-helpers (1.0.6) - activesupport (>= 4, < 5.1) + grape-path-helpers (1.1.0) + activesupport grape (~> 1.0) rake (~> 12) grape_logging (1.7.0) @@ -361,7 +403,15 @@ GEM railties sprockets-rails graphql (1.8.1) - grpc (1.15.0) + graphql-docs (1.6.0) + commonmarker (~> 0.16) + escape_utils (~> 1.2) + extended-markdown-filter (~> 0.4) + gemoji (~> 3.0) + graphql (~> 1.6) + html-pipeline (~> 2.8) + sass (~> 3.4) + grpc (1.19.0) google-protobuf (~> 3.1) googleapis-common-protos-types (~> 1.0.0) gssapi (1.2.0) @@ -369,7 +419,7 @@ GEM haml (5.0.4) temple (>= 0.8.0) tilt - haml_lint (0.28.0) + haml_lint (0.31.0) haml (>= 4.0, < 5.1) rainbow rake (>= 10, < 13) @@ -380,12 +430,13 @@ GEM thor tilt hangouts-chat (0.0.5) - hashdiff (0.3.4) + hashdiff (0.3.8) hashie (3.5.7) hashie-forbidden_attributes (0.1.1) hashie (>= 3.0) health_check (2.6.0) rails (>= 4.0) + heapy (0.1.4) hipchat (1.5.2) httparty mimemagic @@ -404,11 +455,11 @@ GEM domain_name (~> 0.5) http-form_data (2.1.1) http_parser.rb (0.6.0) - httparty (0.13.7) - json (~> 1.8) + httparty (0.16.4) + mime-types (~> 3.0) multi_xml (>= 0.5.2) httpclient (2.8.3) - i18n (1.2.0) + i18n (1.6.0) concurrent-ruby (~> 1.0) icalendar (2.4.1) ice_nine (0.11.2) @@ -416,14 +467,19 @@ GEM cause json ipaddress (0.8.3) + jaeger-client (0.10.0) + opentracing (~> 0.3) + thrift + jaro_winkler (1.5.2) jira-ruby (1.4.1) activesupport multipart-post oauth (~> 0.5, >= 0.5.0) jmespath (1.3.1) - jquery-atwho-rails (1.3.2) - js_regex (2.2.1) - regexp_parser (>= 0.4.11, <= 0.5.0) + js_regex (3.1.1) + character_set (~> 1.1) + regexp_parser (~> 1.1) + regexp_property_values (~> 0.3) json (1.8.6) json-jwt (1.9.4) activesupport @@ -444,18 +500,19 @@ GEM activerecord kaminari-core (= 1.0.1) kaminari-core (1.0.1) - kgio (2.10.0) + kgio (2.11.2) knapsack (1.17.0) rake - kubeclient (4.0.0) + kramdown (1.17.0) + kubeclient (4.2.2) http (~> 3.0) recursive-open-struct (~> 1.0, >= 1.0.4) rest-client (~> 2.0) launchy (2.4.3) addressable (~> 2.3) - letter_opener (1.4.1) + letter_opener (1.7.0) launchy (~> 2.2) - letter_opener_web (1.3.0) + letter_opener_web (1.3.4) actionmailer (>= 3.2) letter_opener (~> 1.0) railties (>= 3.2) @@ -480,19 +537,29 @@ GEM mail (2.7.1) mini_mime (>= 0.1.1) mail_room (0.9.1) + marcel (0.3.3) + mimemagic (~> 0.3.2) + mdl (0.5.0) + kramdown (~> 1.12, >= 1.12.0) + mixlib-cli (~> 1.7, >= 1.7.0) + mixlib-config (~> 2.2, >= 2.2.1) memoist (0.16.0) memoizable (0.4.2) thread_safe (~> 0.3, >= 0.3.1) + memory_profiler (0.9.13) method_source (0.9.2) mime-types (3.2.2) mime-types-data (~> 3.2015) - mime-types-data (3.2018.0812) + mime-types-data (3.2019.0331) mimemagic (0.3.2) mini_magick (4.8.0) mini_mime (1.0.1) - mini_portile2 (2.3.0) + mini_portile2 (2.4.0) minitest (5.11.3) - msgpack (1.2.4) + mixlib-cli (1.7.0) + mixlib-config (2.2.18) + tomlrb + msgpack (1.2.10) multi_json (1.13.1) multi_xml (0.6.0) multipart-post (2.0.0) @@ -504,11 +571,11 @@ GEM net-dns (0.9.0) net-ldap (0.16.0) net-ntp (2.1.3) - net-ssh (5.0.1) + net-ssh (5.2.0) netrc (0.11.0) nio4r (2.3.1) - nokogiri (1.8.5) - mini_portile2 (~> 2.3.0) + nokogiri (1.10.3) + mini_portile2 (~> 2.4.0) nokogumbo (1.5.0) nokogiri numerizer (0.1.1) @@ -562,6 +629,9 @@ GEM omniauth (~> 1.9) omniauth-oauth2-generic (0.2.2) omniauth-oauth2 (~> 1.0) + omniauth-salesforce (1.0.5) + omniauth (~> 1.0) + omniauth-oauth2 (~> 1.0) omniauth-saml (1.10.0) omniauth (~> 1.3, >= 1.3.2) ruby-saml (~> 1.7) @@ -570,16 +640,34 @@ GEM omniauth-twitter (1.4.0) omniauth-oauth (~> 1.1) rack + omniauth-ultraauth (0.0.2) + omniauth_openid_connect (~> 0.3.0) omniauth_crowd (2.2.3) activesupport nokogiri (>= 1.4.4) omniauth (~> 1.0) + omniauth_openid_connect (0.3.1) + addressable (~> 2.5) + omniauth (~> 1.3) + openid_connect (~> 1.1) + openid_connect (1.1.6) + activemodel + attr_required (>= 1.0.0) + json-jwt (>= 1.5.0) + rack-oauth2 (>= 1.6.1) + swd (>= 1.0.0) + tzinfo + validate_email + validate_url + webfinger (>= 1.0.1) + opentracing (0.5.0) + optimist (3.0.0) org-ruby (0.9.12) rubypants (~> 0.2) orm_adapter (0.5.0) os (1.0.0) - parallel (1.12.1) - parser (2.5.3.0) + parallel (1.17.0) + parser (2.6.3.0) ast (~> 2.4.0) parslet (1.8.2) peek (1.0.1) @@ -605,10 +693,9 @@ GEM atomic (>= 1.0.0) peek redis - pg (0.18.4) + pg (1.1.4) po_to_json (1.0.1) json (>= 1.6.0) - powerpack (0.1.1) premailer (1.10.4) addressable css_parser (>= 1.4.10) @@ -621,7 +708,7 @@ GEM parser unparser procto (0.0.3) - prometheus-client-mmap (0.9.4) + prometheus-client-mmap (0.9.8) pry (0.11.3) coderay (~> 1.1.0) method_source (~> 0.9.0) @@ -630,48 +717,49 @@ GEM pry (~> 0.10) pry-rails (0.3.6) pry (>= 0.10.4) - public_suffix (3.0.3) + public_suffix (3.1.0) puma (3.12.0) puma_worker_killer (0.1.0) get_process_mem (~> 0.2) puma (>= 2.7, < 4) pyu-ruby-sasl (0.0.3.3) - rack (2.0.6) + raabro (1.1.6) + rack (2.0.7) rack-accept (0.4.5) rack (>= 0.4) rack-attack (4.4.1) rack rack-cors (1.0.2) - rack-oauth2 (1.2.3) - activesupport (>= 2.3) - attr_required (>= 0.0.5) - httpclient (>= 2.4) - multi_json (>= 1.3.6) - rack (>= 1.1) - rack-protection (2.0.4) + rack-oauth2 (1.9.3) + activesupport + attr_required + httpclient + json-jwt (>= 1.9.0) + rack + rack-protection (2.0.5) rack rack-proxy (0.6.0) rack - rack-test (0.6.3) - rack (>= 1.0) - rails (5.0.7.1) - actioncable (= 5.0.7.1) - actionmailer (= 5.0.7.1) - actionpack (= 5.0.7.1) - actionview (= 5.0.7.1) - activejob (= 5.0.7.1) - activemodel (= 5.0.7.1) - activerecord (= 5.0.7.1) - activesupport (= 5.0.7.1) + rack-test (1.1.0) + rack (>= 1.0, < 3) + rack-timeout (0.5.1) + rails (5.2.3) + actioncable (= 5.2.3) + actionmailer (= 5.2.3) + actionpack (= 5.2.3) + actionview (= 5.2.3) + activejob (= 5.2.3) + activemodel (= 5.2.3) + activerecord (= 5.2.3) + activestorage (= 5.2.3) + activesupport (= 5.2.3) bundler (>= 1.3.0) - railties (= 5.0.7.1) + railties (= 5.2.3) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.2) actionpack (~> 5.x, >= 5.0.1) actionview (~> 5.x, >= 5.0.1) activesupport (~> 5.x) - rails-deprecated_sanitizer (1.0.3) - activesupport (>= 4.2.0.alpha) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) @@ -680,30 +768,29 @@ GEM rails-i18n (5.1.1) i18n (>= 0.7, < 2) railties (>= 5.0, < 6) - railties (5.0.7.1) - actionpack (= 5.0.7.1) - activesupport (= 5.0.7.1) + railties (5.2.3) + actionpack (= 5.2.3) + activesupport (= 5.2.3) method_source rake (>= 0.8.7) - thor (>= 0.18.1, < 2.0) + thor (>= 0.19.0, < 2.0) rainbow (3.0.0) - raindrops (0.18.0) + raindrops (0.19.0) rake (12.3.2) rb-fsevent (0.10.2) rb-inotify (0.9.10) ffi (>= 0.5.0, < 2) rblineprof (0.3.6) debugger-ruby_core_source (~> 1.3) - rbtrace (0.4.10) + rbtrace (0.4.11) ffi (>= 1.0.6) msgpack (>= 0.4.3) - trollop (>= 1.16.2) + optimist (>= 3.0.0) rdoc (6.0.4) re2 (1.1.1) - recaptcha (3.0.0) + recaptcha (4.13.1) json recursive-open-struct (1.1.0) - redcarpet (3.4.0) redis (3.3.5) redis-actionpack (5.0.2) actionpack (>= 4.0, < 6) @@ -723,7 +810,8 @@ GEM redis-store (>= 1.2, < 2) redis-store (1.6.0) redis (>= 2.2, < 5) - regexp_parser (0.5.0) + regexp_parser (1.5.1) + regexp_property_values (0.3.4) representable (3.0.4) declarative (< 0.1.0) declarative-option (< 0.2.0) @@ -739,41 +827,41 @@ GEM retriable (3.1.2) rinku (2.0.0) rotp (2.1.2) - rouge (3.3.0) + rouge (3.5.1) rqrcode (0.7.0) chunky_png rqrcode-rails3 (0.1.7) rqrcode (>= 0.4.2) - rspec (3.7.0) - rspec-core (~> 3.7.0) - rspec-expectations (~> 3.7.0) - rspec-mocks (~> 3.7.0) - rspec-core (3.7.1) - rspec-support (~> 3.7.0) - rspec-expectations (3.7.0) + rspec (3.8.0) + rspec-core (~> 3.8.0) + rspec-expectations (~> 3.8.0) + rspec-mocks (~> 3.8.0) + rspec-core (3.8.2) + rspec-support (~> 3.8.0) + rspec-expectations (3.8.4) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-mocks (3.7.0) + rspec-support (~> 3.8.0) + rspec-mocks (3.8.1) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-parameterized (0.4.1) - binding_ninja (>= 0.2.1) + rspec-support (~> 3.8.0) + rspec-parameterized (0.4.2) + binding_ninja (>= 0.2.3) parser proc_to_ast rspec (>= 2.13, < 4) unparser - rspec-rails (3.7.2) + rspec-rails (3.8.2) actionpack (>= 3.0) activesupport (>= 3.0) railties (>= 3.0) - rspec-core (~> 3.7.0) - rspec-expectations (~> 3.7.0) - rspec-mocks (~> 3.7.0) - rspec-support (~> 3.7.0) - rspec-retry (0.4.5) - rspec-core + rspec-core (~> 3.8.0) + rspec-expectations (~> 3.8.0) + rspec-mocks (~> 3.8.0) + rspec-support (~> 3.8.0) + rspec-retry (0.6.1) + rspec-core (> 3.3) rspec-set (0.1.3) - rspec-support (3.7.1) + rspec-support (3.8.2) rspec_junit_formatter (0.4.1) rspec-core (>= 2, < 4, != 2.12.0) rspec_profiling (0.0.5) @@ -781,15 +869,17 @@ GEM pg rails sqlite3 - rubocop (0.54.0) + rubocop (0.69.0) + jaro_winkler (~> 1.5.1) parallel (~> 1.10) - parser (>= 2.5) - powerpack (~> 0.1) + parser (>= 2.6) rainbow (>= 2.2.2, < 4.0) ruby-progressbar (~> 1.7) - unicode-display_width (~> 1.0, >= 1.0.1) + unicode-display_width (>= 1.4.0, < 1.7) rubocop-gitlab-security (0.1.1) rubocop (>= 0.51) + rubocop-performance (1.1.0) + rubocop (>= 0.67.0) rubocop-rspec (1.22.2) rubocop (>= 0.52.1) ruby-enum (0.7.2) @@ -797,17 +887,15 @@ GEM ruby-fogbugz (0.2.1) crack (~> 0.4) ruby-prof (0.17.0) - ruby-progressbar (1.9.0) + ruby-progressbar (1.10.0) ruby-saml (1.7.2) nokogiri (>= 1.5.10) - ruby_parser (3.11.0) + ruby_parser (3.13.1) sexp_processor (~> 4.9) rubyntlm (0.6.2) rubypants (0.2.0) rubyzip (1.2.2) - rufus-scheduler (3.4.0) - et-orbi (~> 1.0) - rugged (0.27.5) + rugged (0.28.1) safe_yaml (1.0.4) sanitize (4.6.6) crass (~> 1.0.2) @@ -818,12 +906,15 @@ GEM sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sass-rails (5.0.6) - railties (>= 4.0.0, < 6) - sass (~> 3.1) - sprockets (>= 2.8, < 4.0) - sprockets-rails (>= 2.0, < 4.0) - tilt (>= 1.1, < 3) + sassc (2.0.1) + ffi (~> 1.9) + rake + sassc-rails (2.1.0) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt sawyer (0.8.1) addressable (>= 2.3.5, < 2.6) faraday (~> 0.8, < 1.0) @@ -833,25 +924,24 @@ GEM seed-fu (2.3.7) activerecord (>= 3.1) activesupport (>= 3.1) - select2-rails (3.5.9.3) - thor (~> 0.14) - selenium-webdriver (3.12.0) + selenium-webdriver (3.141.0) childprocess (~> 0.5) - rubyzip (~> 1.2) - sentry-raven (2.7.4) + rubyzip (~> 1.2, >= 1.2.2) + sentry-raven (2.9.0) faraday (>= 0.7.6, < 1.0) settingslogic (2.0.9) - sexp_processor (4.11.0) + sexp_processor (4.12.0) sham_rack (1.3.6) rack - shoulda-matchers (3.1.2) - activesupport (>= 4.0.0) - sidekiq (5.2.3) + shoulda-matchers (4.0.1) + activesupport (>= 4.2.0) + sidekiq (5.2.7) connection_pool (~> 2.2, >= 2.2.2) + rack (>= 1.5.0) rack-protection (>= 1.5.0) redis (>= 3.3.5, < 5) - sidekiq-cron (0.6.0) - rufus-scheduler (>= 3.3.0) + sidekiq-cron (1.0.4) + fugit (~> 1.1) sidekiq (>= 4.2.1) signet (0.11.0) addressable (~> 2.3) @@ -859,12 +949,14 @@ GEM jwt (>= 1.5, < 3.0) multi_json (~> 1.10) simple_po_parser (1.1.2) - simplecov (0.14.1) - docile (~> 1.1.0) + simplecov (0.16.1) + docile (~> 1.1) json (>= 1.8, < 3) simplecov-html (~> 0.10.0) - simplecov-html (0.10.0) + simplecov-html (0.10.2) slack-notifier (1.5.1) + snowplow-tracker (0.6.1) + contracts (~> 0.7, <= 0.11) spring (2.0.2) activesupport (>= 4.2) spring-commands-rspec (1.0.4) @@ -877,7 +969,7 @@ GEM activesupport (>= 4.0) sprockets (>= 3.0.0) sqlite3 (1.3.13) - sshkey (1.9.0) + sshkey (2.0.0) stackprof (0.2.10) state_machines (0.5.0) state_machines-activemodel (0.5.1) @@ -886,10 +978,14 @@ GEM state_machines-activerecord (0.5.1) activerecord (>= 4.1, < 6.0) state_machines-activemodel (>= 0.5.0) + swd (1.1.2) + activesupport (>= 3) + attr_required (>= 0.0.5) + httpclient (>= 2.4) sys-filesystem (1.1.6) ffi sysexits (1.2.0) - temple (0.8.0) + temple (0.8.1) test-prof (0.2.5) text (1.3.1) thin (1.7.2) @@ -898,17 +994,18 @@ GEM rack (>= 1, < 3) thor (0.19.4) thread_safe (0.3.6) - tilt (2.0.8) + thrift (0.11.0.0) + tilt (2.0.9) timecop (0.8.1) timfel-krb5-auth (0.8.3) toml (0.2.0) parslet (~> 1.8.0) toml-rb (1.0.0) citrus (~> 3.0, > 3.0) - trollop (2.1.3) - truncato (0.7.10) + tomlrb (1.2.8) + truncato (0.7.11) htmlentities (~> 4.3.1) - nokogiri (~> 1.8.0, >= 1.7.0) + nokogiri (>= 1.7.0, <= 2.0) tzinfo (1.2.5) thread_safe (~> 0.1) u2f (0.2.1) @@ -919,26 +1016,32 @@ GEM unf (0.1.4) unf_ext unf_ext (0.0.7.5) - unicode-display_width (1.3.2) - unicorn (5.1.0) + unicode-display_width (1.6.0) + unicorn (5.4.1) kgio (~> 2.6) raindrops (~> 0.7) unicorn-worker-killer (0.4.4) get_process_mem (~> 0) unicorn (>= 4, < 6) uniform_notifier (1.10.0) - unparser (0.4.2) + unparser (0.4.5) abstract_type (~> 0.0.7) adamantium (~> 0.2.0) concord (~> 0.1.5) diff-lcs (~> 1.3) equalizer (~> 0.0.9) - parser (>= 2.3.1.2, < 2.6) + parser (~> 2.6.3) procto (~> 0.0.2) + validate_email (0.1.6) + activemodel (>= 3.0) + mail (>= 2.2.5) + validate_url (1.0.8) + activemodel (>= 3.0.0) + public_suffix validates_hostname (1.0.6) activerecord (>= 3.0) activesupport (>= 3.0) - version_sorter (2.1.0) + version_sorter (2.2.4) virtus (1.0.5) axiom-types (~> 0.1) coercible (~> 1.0) @@ -947,13 +1050,16 @@ GEM vmstat (2.3.0) warden (1.2.7) rack (>= 1.0) - webmock (2.3.2) + webfinger (1.1.0) + activesupport + httpclient (>= 2.4) + webmock (3.5.1) addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff webpack-rails (0.9.11) railties (>= 3.2.0) - websocket-driver (0.6.5) + websocket-driver (0.7.0) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.3) wikicloth (0.8.1) @@ -962,8 +1068,8 @@ GEM rinku with_env (1.1.0) xml-simple (1.1.5) - xpath (2.1.0) - nokogiri (~> 1.3) + xpath (3.2.0) + nokogiri (~> 1.8) PLATFORMS ruby @@ -971,31 +1077,36 @@ PLATFORMS DEPENDENCIES RedCloth (~> 4.3.2) ace-rails-ap (~> 4.1.0) + acme-client (~> 2.0.2) + activerecord-explain-analyze (~> 0.1) activerecord_sane_schema_dumper (= 1.0) - acts-as-taggable-on (~> 5.0) + acts-as-taggable-on (~> 6.0) addressable (~> 2.5.2) akismet (~> 2.0) + apollo_upload_server (~> 2.0.0.beta3) asana (~> 0.8.1) - asciidoctor (~> 1.5.8) - asciidoctor-plantuml (= 0.0.8) + asciidoctor (~> 2.0.10) + asciidoctor-include-ext (~> 0.3.1) + asciidoctor-plantuml (= 0.0.9) attr_encrypted (~> 3.1.0) awesome_print aws-sdk babosa (~> 1.0.2) base32 (~> 0.3.0) - batch-loader (~> 1.2.2) + batch-loader (~> 1.4.0) bcrypt_pbkdf (~> 1.0) benchmark-ips (~> 2.3.0) + benchmark-memory (~> 0.1) better_errors (~> 2.5.0) binding_of_caller (~> 0.8.0) - bootsnap (~> 1.3) - bootstrap_form (~> 2.7.0) + bootsnap (~> 1.4) + bootstrap_form (~> 4.2.0) brakeman (~> 4.2) browser (~> 2.5) bullet (~> 5.5.0) bundler-audit (~> 0.5.0) - capybara (~> 2.16.1) - capybara-screenshot (~> 1.0.18) + capybara (~> 3.22.0) + capybara-screenshot (~> 1.0.22) carrierwave (~> 1.3) charlock_holmes (~> 0.7.5) chronic (~> 0.10.2) @@ -1005,9 +1116,11 @@ DEPENDENCIES connection_pool (~> 2.0) creole (~> 0.5.0) database_cleaner (~> 1.7.0) - deckar01-task_list (= 2.0.0) + deckar01-task_list (= 2.2.0) + default_value_for (~> 3.2.0) + derailed_benchmarks device_detector - devise (~> 4.4) + devise (~> 4.6) devise-two-factor (~> 3.0.0) diffy (~> 3.1.0) discordrb-webhooks-blackst0ne (~> 3.3) @@ -1029,41 +1142,43 @@ DEPENDENCIES flipper-active_record (~> 0.13.0) flipper-active_support_cache_store (~> 0.13.0) flowdock (~> 0.7) - fog-aliyun (~> 0.2.0) - fog-aws (~> 2.0.1) - fog-core (~> 1.44) - fog-google (~> 1.7.1) - fog-local (~> 0.3) - fog-openstack (~> 0.1) + fog-aliyun (~> 0.3) + fog-aws (~> 3.5) + fog-core (= 2.1.0) + fog-google (~> 1.8) + fog-local (~> 0.6) + fog-openstack (~> 1.0) fog-rackspace (~> 0.1.1) font-awesome-rails (~> 4.7) foreman (~> 0.84.0) + fugit (~> 1.2.1) fuubar (~> 2.2.0) gemojione (~> 3.3) gettext (~> 3.2.2) gettext_i18n_rails (~> 1.8.0) gettext_i18n_rails_js (~> 1.3) - gitaly-proto (~> 1.5.0) + gitaly-proto (~> 1.37.0) github-markup (~> 1.7.0) - gitlab-default_value_for (~> 3.1.1) + gitlab-labkit (~> 0.3.0) gitlab-license (~> 1.0) - gitlab-markup (~> 1.6.5) + gitlab-markup (~> 1.7.0) gitlab-sidekiq-fetcher (~> 0.4.0) - gitlab-styles (~> 2.4) - gitlab_omniauth-ldap (~> 2.0.4) + gitlab-styles (~> 2.7) + gitlab_omniauth-ldap (~> 2.1.1) gon (~> 6.2) google-api-client (~> 0.23) - google-protobuf (~> 3.6) + google-protobuf (~> 3.7.1) gpgme (~> 2.0.18) grape (~> 1.1.0) grape-entity (~> 0.7.1) - grape-path-helpers (~> 1.0) + grape-path-helpers (~> 1.1) grape_logging (~> 1.7) graphiql-rails (~> 1.4.10) graphql (~> 1.8.0) - grpc (~> 1.15.0) + graphql-docs (~> 1.6.0) + grpc (~> 1.19.0) gssapi - haml_lint (~> 0.28.0) + haml_lint (~> 0.31.0) hamlit (~> 2.8.8) hangouts-chat (~> 0.0.5) hashie-forbidden_attributes @@ -1071,23 +1186,24 @@ DEPENDENCIES hipchat (~> 1.5.0) html-pipeline (~> 2.8) html2text - httparty (~> 0.13.3) + httparty (~> 0.16.4) icalendar influxdb (~> 0.2) jira-ruby (~> 1.4) - jquery-atwho-rails (~> 1.3.2) - js_regex (~> 2.2.1) + js_regex (~> 3.1) json-schema (~> 2.8.0) jwt (~> 2.1.0) kaminari (~> 1.0) knapsack (~> 1.17) - kubeclient (~> 4.0.0) - letter_opener_web (~> 1.3.0) + kubeclient (~> 4.2.2) + letter_opener_web (~> 1.3.4) license_finder (~> 5.4) licensee (~> 8.9) lograge (~> 0.5) loofah (~> 2.2) mail_room (~> 0.9.1) + mdl (~> 0.5.0) + memory_profiler (~> 0.9) method_source (~> 0.8) mimemagic (~> 0.3.2) mini_magick @@ -1097,8 +1213,8 @@ DEPENDENCIES net-dns (~> 0.9.0) net-ldap net-ntp - net-ssh (~> 5.0) - nokogiri (~> 1.8.5) + net-ssh (~> 5.2) + nokogiri (~> 1.10.3) oauth2 (~> 1.4) octokit (~> 4.9) omniauth (~> 1.8) @@ -1112,10 +1228,13 @@ DEPENDENCIES omniauth-google-oauth2 (~> 0.6.0) omniauth-kerberos (~> 0.3.0) omniauth-oauth2-generic (~> 0.2.2) + omniauth-salesforce (~> 1.0.5) omniauth-saml (~> 1.10) omniauth-shibboleth (~> 1.3.0) omniauth-twitter (~> 1.4) + omniauth-ultraauth (~> 0.0.2) omniauth_crowd (~> 2.2.0) + omniauth_openid_connect (~> 0.3.1) org-ruby (~> 0.9.12) peek (~> 1.0.1) peek-gc (~> 0.0.2) @@ -1123,21 +1242,21 @@ DEPENDENCIES peek-pg (~> 1.3.0) peek-rblineprof (~> 0.2.0) peek-redis (~> 1.2.0) - pg (~> 0.18.2) + pg (~> 1.1) premailer-rails (~> 1.9.7) - prometheus-client-mmap (~> 0.9.4) + prometheus-client-mmap (~> 0.9.8) pry-byebug (~> 3.5.1) pry-rails (~> 0.3.4) puma (~> 3.12) puma_worker_killer - rack (= 2.0.6) + rack (~> 2.0.7) rack-attack (~> 4.4.1) rack-cors (~> 1.0.0) - rack-oauth2 (~> 1.2.1) + rack-oauth2 (~> 1.9.3) rack-proxy (~> 0.6.0) - rails (= 5.0.7.1) + rack-timeout + rails (= 5.2.3) rails-controller-testing - rails-deprecated_sanitizer (~> 1.0.3) rails-i18n (~> 5.1) rainbow (~> 3.0) raindrops (~> 0.18) @@ -1145,50 +1264,48 @@ DEPENDENCIES rbtrace (~> 0.4) rdoc (~> 6.0) re2 (~> 1.1.1) - recaptcha (~> 3.0) - redcarpet (~> 3.4) + recaptcha (~> 4.11) redis (~> 3.2) redis-namespace (~> 1.6.0) redis-rails (~> 5.0.2) request_store (~> 1.3) responders (~> 2.0) - rouge (~> 3.1) + rouge (~> 3.5) rqrcode-rails3 (~> 0.1.7) rspec-parameterized - rspec-rails (~> 3.7.0) - rspec-retry (~> 0.4.5) + rspec-rails (~> 3.8.0) + rspec-retry (~> 0.6.1) rspec-set (~> 0.1.3) rspec_junit_formatter rspec_profiling (~> 0.0.5) - rubocop (~> 0.54.0) + rubocop (~> 0.69.0) + rubocop-performance (~> 1.1.0) rubocop-rspec (~> 1.22.1) ruby-fogbugz (~> 0.2.1) ruby-prof (~> 0.17.0) ruby-progressbar ruby_parser (~> 3.8) rubyzip (~> 1.2.2) - rufus-scheduler (~> 3.4) - rugged (~> 0.27) + rugged (~> 0.28) sanitize (~> 4.6) - sass (~> 3.5) - sass-rails (~> 5.0.6) + sassc-rails (~> 2.1.0) scss_lint (~> 0.56.0) seed-fu (~> 2.3.7) - select2-rails (~> 3.5.9) - selenium-webdriver (~> 3.12) - sentry-raven (~> 2.7) + selenium-webdriver (~> 3.141) + sentry-raven (~> 2.9) settingslogic (~> 2.0.9) sham_rack (~> 1.3.6) - shoulda-matchers (~> 3.1.2) - sidekiq (~> 5.2.1) - sidekiq-cron (~> 0.6.0) + shoulda-matchers (~> 4.0.1) + sidekiq (~> 5.2.7) + sidekiq-cron (~> 1.0) simple_po_parser (~> 1.1.2) - simplecov (~> 0.14.0) + simplecov (~> 0.16.1) slack-notifier (~> 1.5.1) + snowplow-tracker (~> 0.6.1) spring (~> 2.0.0) spring-commands-rspec (~> 1.0.4) sprockets (~> 3.7.0) - sshkey (~> 1.9.0) + sshkey (~> 2.0) stackprof (~> 0.2.10) state_machines-activerecord (~> 0.5.1) sys-filesystem (~> 1.1.6) @@ -1196,17 +1313,17 @@ DEPENDENCIES thin (~> 1.7.0) timecop (~> 0.8.0) toml-rb (~> 1.0.0) - truncato (~> 0.7.9) + truncato (~> 0.7.11) u2f (~> 0.2.1) uglifier (~> 2.7.2) unf (~> 0.1.4) - unicorn (~> 5.1.0) + unicorn (~> 5.4.1) unicorn-worker-killer (~> 0.4.4) validates_hostname (~> 1.0.6) - version_sorter (~> 2.1.0) + version_sorter (~> 2.2.4) virtus (~> 1.0.1) vmstat (~> 2.3.0) - webmock (~> 2.3.2) + webmock (~> 3.5.1) webpack-rails (~> 0.9.10) wikicloth (= 0.8.1) diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix index 03f885f2f9e..8050743ab25 100644 --- a/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix +++ b/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix @@ -15,68 +15,104 @@ }; version = "4.1.2"; }; - actioncable = { - dependencies = ["actionpack" "nio4r" "websocket-driver"]; + acme-client = { + dependencies = ["faraday"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1443cal16yzc94hfxcx9ljagdbs5xs54bmr55wzmg84wx28bgvrb"; + sha256 = "1552fkgaj6qfylwsckgmhck34shjqnfrzymj1ji1kq3r310qqrnp"; type = "gem"; }; - version = "5.0.7.1"; + version = "2.0.2"; + }; + actioncable = { + dependencies = ["actionpack" "nio4r" "websocket-driver"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04wd9rf8sglrqc8jz49apqcxbi51gdj7l1apf5qr4i86iddk6pkm"; + type = "gem"; + }; + version = "5.2.3"; }; actionmailer = { dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "077g5yg8l10rcs8r63pmmikakma1nr2bvxa1ifly1vbry8lajmhm"; + sha256 = "15laym06zcm2021qdhlyr6y9jn1marw436i89hcxqg14a8zvyvwa"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; actionpack = { dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zn3gw1naz1l6kcb4h5all24kisdv8fk733vm1niiaq2zmwbvlrw"; + sha256 = "1s2iay17i2k0xx36cmnpbrmr5w6x70jk7fq1d8w70xcdw5chm0w1"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; actionview = { - dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"]; + dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "053z1r9lbyqb7a8mvi7ppwgphqg1pn9ynhklwxavq65cym8qn9a1"; + sha256 = "1v49rgf8305grqf6gq7qa47qhamr369igyy0giycz60x86afyr4h"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; activejob = { dependencies = ["activesupport" "globalid"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w9rspq9y5a99kyljzam7k0cpvkxpzhfmlvs1j6a4flxn14qy7lv"; + sha256 = "17vizibxbsli5yppgrvmw13wj7a9xy19s5nqxf1k23bbk2s5b87s"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; activemodel = { dependencies = ["activesupport"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1i808lgn542x0lyk2dlnziiqcf1nmxhxqf6125dq6brr08yxgr0c"; + sha256 = "0mghh9di8011ara9h1r5a216yzk1vjm9r3p0gdvdi8j1zmkl6k6h"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; activerecord = { dependencies = ["activemodel" "activesupport" "arel"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qva7vdv9arliza0155k0xh5w1q6rzdajj3rmj7hv0f86ybd674c"; + sha256 = "0d6036f592803iyvp6bw98p3sg638mia5dbw19lvachx6jgzfvpw"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; + }; + activerecord-explain-analyze = { + dependencies = ["activerecord" "pg"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yvz452ww0vn3n6197gx6zklwa591gc7f1m8accvjd9zw8gv3ssx"; + type = "gem"; + }; + version = "0.1.0"; }; activerecord_sane_schema_dumper = { dependencies = ["rails"]; @@ -87,23 +123,38 @@ }; version = "1.0"; }; - activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + activestorage = { + dependencies = ["actionpack" "activerecord" "marcel"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02dnmcmkvzijbzm5nlmrd55s5586b78s087kvpvkada3791b9agb"; + sha256 = "04is6ipjqw1f337i8pm8w5bd99rpygqfd0fzzxkr7jd308ggmsjk"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; + }; + activesupport = { + dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8"; + type = "gem"; + }; + version = "5.2.3"; }; acts-as-taggable-on = { dependencies = ["activerecord"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kvbhlansqiz1xp5r28cv27ghbfmx4b39cv51w6xrhkb52bskn3i"; + sha256 = "0hl52pjgfzy3acdwnbxfqy08m808vlv9dmsyp03d5x7x0y499kvl"; type = "gem"; }; - version = "5.0.0"; + version = "6.0.0"; }; adamantium = { dependencies = ["ice_nine" "memoizable"]; @@ -139,13 +190,26 @@ }; version = "2.0.0"; }; - arel = { + apollo_upload_server = { + dependencies = ["graphql" "rails"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l757dkkaxk5fq3368l79jpyzq9a9driricjamhiwhwvh0h7xcyx"; + sha256 = "0riijpyicbkqsr46w4mfhh3pq2yrmakkz8mmgbrfjhzbyzac25na"; type = "gem"; }; - version = "7.1.4"; + version = "2.0.0.beta.3"; + }; + arel = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0"; + type = "gem"; + }; + version = "9.0.0"; }; asana = { dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"]; @@ -157,21 +221,36 @@ version = "0.8.1"; }; asciidoctor = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qld3a1pbcjvs8lbxp95iz83bfmg5scmnf8q3rklinmdmhzakslx"; + sha256 = "1b2ajs3sabl0s27r7lhwkacw0yn0zfk4jpmidg9l8lzp2qlgjgbz"; type = "gem"; }; - version = "1.5.8"; + version = "2.0.10"; + }; + asciidoctor-include-ext = { + dependencies = ["asciidoctor"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1alaqfh31hd98yhqq8fsc50zzqw04p3d83pc35gdx3x9p3j1ds7d"; + type = "gem"; + }; + version = "0.3.1"; }; asciidoctor-plantuml = { dependencies = ["asciidoctor"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0x092ldl8p7svczg4lnrnp0h918acnflh7jz5qwv40ksh1fflqna"; + sha256 = "0lzxj16w7s3w0wnlpg8lfs9v2xxk3x3c1skynqm1sms7rjhnhlnb"; type = "gem"; }; - version = "0.0.8"; + version = "0.0.9"; }; ast = { source = { @@ -199,12 +278,14 @@ version = "3.1.0"; }; attr_required = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pawa2i7gw9ppj6fq6y288da1ncjpzsmc6kx7z63mjjvypa5q3dc"; + sha256 = "1g22axmi2rhhy7w8c3x6gppsawxqavbrnxpnmphh22fk7cwi0kh2"; type = "gem"; }; - version = "1.0.0"; + version = "1.0.1"; }; awesome_print = { source = { @@ -275,12 +356,14 @@ version = "0.3.2"; }; batch-loader = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pwr2hk9x1qx9i2xpkpjwkdjsmm4kamz5f25wizsaw37zb64apjc"; + sha256 = "09jaxxddqpgq8ynwd2gpjq5rkhw00zdjnqisk9qbpjgxzk6f8gwi"; type = "gem"; }; - version = "1.2.2"; + version = "1.4.0"; }; bcrypt = { source = { @@ -306,6 +389,17 @@ }; version = "2.3.0"; }; + benchmark-memory = { + dependencies = ["memory_profiler"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11qw8k6rl79ri00njrf1x9v6vzwgv12rkcvgzvg0sk8pfrkzwyxa"; + type = "gem"; + }; + version = "0.1.2"; + }; better_errors = { dependencies = ["coderay" "erubi" "rack"]; source = { @@ -324,12 +418,14 @@ version = "2.4.3"; }; binding_ninja = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19dk26qyx433ffa6y48511apc2iw71zw4jnlqxhy0wix9dlxr2ri"; + sha256 = "17fa3sv6p2fw9g8fxpwx1kjhhs28aw41akkba0hlgvk60055b1aa"; type = "gem"; }; - version = "0.2.2"; + version = "0.2.3"; }; binding_of_caller = { dependencies = ["debug_inspector"]; @@ -344,18 +440,21 @@ dependencies = ["msgpack"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0g6r784lmjfhwi046w82phsk244byq9wkj1q3lddwxg9z559bmhy"; + sha256 = "1amksyijp9hwpc2jr0yi45hpcp0qiz5r2h8rnf2wi1hdfw6m2hxh"; type = "gem"; }; - version = "1.3.2"; + version = "1.4.1"; }; bootstrap_form = { + dependencies = ["actionpack" "activemodel"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sw88vi5sb48xzgwclic38jdgmcbvah2qfi3rijrlmi1wai4j1fw"; + sha256 = "044pi097jwh3z68g1zfmbcl9xchqfcsls1j1nvx1bkyj034v6y7m"; type = "gem"; }; - version = "2.7.0"; + version = "4.2.0"; }; brakeman = { source = { @@ -408,13 +507,15 @@ version = "9.1.0"; }; capybara = { - dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"]; + dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hkl6p07gf29952biv07fy88vjz46ng2h37wwx5ks0mk9kn8vvvf"; + sha256 = "1y7ncfji4s3h3wdr2hwsrd32k0va92a6lyx2x8w6a3vkbc94kpch"; type = "gem"; }; - version = "2.16.1"; + version = "3.22.0"; }; capybara-screenshot = { dependencies = ["capybara" "launchy"]; @@ -442,6 +543,14 @@ }; version = "0.1"; }; + character_set = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "114npdbw1ivyx4vnid8ncnjw4wnjcipf2lvihlg3ibbh7an0m9s9"; + type = "gem"; + }; + version = "1.1.2"; + }; charlock_holmes = { source = { remotes = ["https://rubygems.org"]; @@ -528,21 +637,25 @@ version = "0.1.5"; }; concurrent-ruby = { + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18q9skp5pfq4jwbxzmw8q2rn4cpw6mf4561i2hsjcl1nxdag2jvb"; + sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; type = "gem"; }; - version = "1.1.3"; + version = "1.1.5"; }; concurrent-ruby-ext = { dependencies = ["concurrent-ruby"]; + groups = ["default" "mysql" "postgres"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0h7k4wnvbxv7vzb53kaqxbbyhp3m98g2rgymr6n1l9v0jlzcr1i8"; + sha256 = "03ypsv2k581yv0b3f0hzvb3mq6mqj8jlbi32jmkj3k175vbc8hvz"; type = "gem"; }; - version = "1.1.3"; + version = "1.1.5"; }; connection_pool = { source = { @@ -552,6 +665,16 @@ }; version = "2.2.2"; }; + contracts = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11kj7hdr94hxgxad9wazncvaxzaxlbvw6laq179ivhw9za746vnz"; + type = "gem"; + }; + version = "0.11.0"; + }; crack = { dependencies = ["safe_yaml"]; source = { @@ -622,10 +745,10 @@ dependencies = ["html-pipeline"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w6qsk712ic6vx9ydmix2ys95zwpkvdx3a9xxi8bdqlpgh1ipm9j"; + sha256 = "0s637v5pi5ipmv0gn9g2wwjpxdm27dvppfjd8ml0dc1m0jsm7964"; type = "gem"; }; - version = "2.0.0"; + version = "2.2.0"; }; declarative = { source = { @@ -643,6 +766,28 @@ }; version = "0.1.0"; }; + default_value_for = { + dependencies = ["activerecord"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xj9d1y2fk3kxfm1kyiwasjpw6r1w7c1xjx26sm3c33xhmz57fla"; + type = "gem"; + }; + version = "3.2.0"; + }; + derailed_benchmarks = { + dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "rack" "rake" "thor"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1c9djg1r2w461h97zmmdsdgnsrxqm4qfyp7gry9qxbav9skrplb8"; + type = "gem"; + }; + version = "1.3.5"; + }; descendants_tracker = { dependencies = ["thread_safe"]; source = { @@ -662,12 +807,14 @@ }; devise = { dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1xmxfhym0yxwb0zwmmzhdiykbpyqqm3id02g7rf3vcgbc1lqvdnj"; + sha256 = "04b2p61mqfb6ln8s2lhmvnkd45wjjinykbn9svmhs54kacrrjkcf"; type = "gem"; }; - version = "4.4.3"; + version = "4.6.2"; }; devise-two-factor = { dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"]; @@ -704,12 +851,14 @@ version = "3.3.0"; }; docile = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx"; + sha256 = "04d2izkna3ahfn6fwq4xrcafa715d3bbqczxm16fq40fqy87xn17"; type = "gem"; }; - version = "1.1.5"; + version = "1.3.1"; }; domain_name = { dependencies = ["unf"]; @@ -824,20 +973,14 @@ version = "0.0.11"; }; erubi = { + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bws86na9k565raiz0kk61yy5pxxp0fmwyzpibdwjkq0xzx8q6q1"; + sha256 = "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1"; type = "gem"; }; - version = "1.7.1"; - }; - erubis = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; - type = "gem"; - }; - version = "2.7.0"; + version = "1.8.0"; }; escape_utils = { source = { @@ -849,12 +992,14 @@ }; et-orbi = { dependencies = ["tzinfo"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1apn9gzgbgs7z6p6l3rv66vrfwyfh68p2rxkybh10vx82fp6g0wi"; + sha256 = "1swgjb3h2hs5xflb68837l0vd32masbz9c66b1963mxlnnxf5gsg"; type = "gem"; }; - version = "1.0.3"; + version = "1.2.1"; }; eventmachine = { source = { @@ -888,6 +1033,17 @@ }; version = "0.9.0"; }; + extended-markdown-filter = { + dependencies = ["html-pipeline"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17mi5qayplfaa6p3mfwa36il84ixr0bimqvl0q73lw5i81blp126"; + type = "gem"; + }; + version = "0.6.0"; + }; factory_bot = { dependencies = ["activesupport"]; source = { @@ -969,10 +1125,10 @@ ffi = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q"; + sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p"; type = "gem"; }; - version = "1.9.25"; + version = "1.10.0"; }; flipper = { source = { @@ -1013,64 +1169,66 @@ dependencies = ["fog-core" "fog-json" "ipaddress" "xml-simple"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0x66xyrw4ahyr6f9masiqmz5q6h8scv46y59crnfp8dj7r52hw8m"; + sha256 = "1vl5zf9wr6qwm1awxscyifvrrfqnyacidxgzhkba2wqlgizk3anh"; type = "gem"; }; - version = "0.2.0"; + version = "0.3.3"; }; fog-aws = { dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00skbbgvhqzq6gpgzmw0957n0wf1y3vjgrdyq3sib0ghpyfgmig3"; + sha256 = "086kyvdhf1k8nk7f4gmybjc3k0m88f9pw99frddcy1w96pj5kyg4"; type = "gem"; }; - version = "2.0.1"; + version = "3.5.2"; }; fog-core = { - dependencies = ["builder" "excon" "formatador"]; + dependencies = ["builder" "excon" "formatador" "mime-types"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "02449kh2x3zj9xxszm02vy8zpbsrykvjrg5gj3kqcy2yizy2bhp3"; + sha256 = "1agd6xgzk0rxrsjdpn94v4hy89s0nm2cs4zg2p880w2dan9xgrak"; type = "gem"; }; - version = "1.45.0"; + version = "2.1.0"; }; fog-google = { dependencies = ["fog-core" "fog-json" "fog-xml" "google-api-client"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0azs1i061ig0x1cljdy68hjskzj8d25xkq8nqf3z7qya5lmfn1z2"; + sha256 = "0rxhcf2rhs8ml9j9xppz1yxgig3s1l5hm6yz582lqrs8bdmq028m"; type = "gem"; }; - version = "1.7.1"; + version = "1.8.2"; }; fog-json = { dependencies = ["fog-core" "multi_json"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0advkkdjajkym77r3c0bg2rlahl2akj0vl4p5r273k2qmi16n00r"; + sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx"; type = "gem"; }; - version = "1.0.2"; + version = "1.2.0"; }; fog-local = { dependencies = ["fog-core"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1q1hyga02l9civ0b9gvfdmscvwv2jr4dq87q2g3qxh2974x213mn"; + sha256 = "0ba4lln35nryi6dcbz68vxg9ml6v8cc8s8c82f7syfd84bz76x21"; type = "gem"; }; - version = "0.3.1"; + version = "0.6.0"; }; fog-openstack = { dependencies = ["fog-core" "fog-json" "ipaddress"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ii0q22bdv170f7b007k9jlph40rn7fnzd84vaxhf4zhjhaijmys"; + sha256 = "171xnsl6w0j7yi6sp26dcqahx4r4gb2cf359gmy11g5iwnsll5wg"; type = "gem"; }; - version = "0.1.21"; + version = "1.0.8"; }; fog-rackspace = { dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"]; @@ -1092,12 +1250,14 @@ }; font-awesome-rails = { dependencies = ["railties"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qc07vj7qyllrj7lr7wl89l5ir0gj104rc7sds2jynzmrqsamnlw"; + sha256 = "11mf7bk2737pyxjwba3a9lpgcxzbp0vgq01n2dn30774zysc90hj"; type = "gem"; }; - version = "4.7.0.1"; + version = "4.7.0.4"; }; foreman = { dependencies = ["thor"]; @@ -1116,6 +1276,17 @@ }; version = "0.2.5"; }; + fugit = { + dependencies = ["et-orbi" "raabro"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x5h31hl75x0p5s36hinywg18ijlxjhnlb5p02aqcjjkx777rcav"; + type = "gem"; + }; + version = "1.2.1"; + }; fuubar = { dependencies = ["rspec-core" "ruby-progressbar"]; source = { @@ -1125,6 +1296,16 @@ }; version = "2.2.0"; }; + gemoji = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vgklpmhdz98xayln5hhqv4ffdyrglzwdixkn5gsk9rj94pkymc0"; + type = "gem"; + }; + version = "3.0.1"; + }; gemojione = { dependencies = ["json"]; source = { @@ -1135,12 +1316,14 @@ version = "3.3.0"; }; get_process_mem = { + groups = ["default" "development" "puma" "test" "unicorn"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "025f7v6bpbgsa2nr0hzv2riggj8qmzbwcyxfgjidpmwh5grh7j29"; + sha256 = "1bvfjdign16r0zwm2rlfrq0sk1licvmlgbnlpnyckniv5r7i080g"; type = "gem"; }; - version = "0.2.0"; + version = "0.2.3"; }; gettext = { dependencies = ["locale" "text"]; @@ -1171,12 +1354,14 @@ }; gitaly-proto = { dependencies = ["grpc"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1p7c63saysp4ixj08kxrk5c4n94d6zala9wl1fxg7vx8nd84b2c0"; + sha256 = "1lx2cids0r175agdz3wa25ivi17vxx2kryb2v29gdsrpg3pyyq7j"; type = "gem"; }; - version = "1.5.0"; + version = "1.37.0"; }; github-markup = { source = { @@ -1186,14 +1371,16 @@ }; version = "1.7.0"; }; - gitlab-default_value_for = { - dependencies = ["activerecord"]; + gitlab-labkit = { + dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qqjf7nxmwxnkdlrgbnby8wjckaj2s5yna96avgb7fwm0h90f1sn"; + sha256 = "0dvapmdc9axm9dq2gg89qrqb318rkrsabpyybrqvcx1ipbi5k3a1"; type = "gem"; }; - version = "3.1.1"; + version = "0.3.0"; }; gitlab-license = { source = { @@ -1204,12 +1391,14 @@ version = "1.0.0"; }; gitlab-markup = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "12lzzhbmid4m23pk7d963n3njli2hw7g200arszh75j57bjgs4fy"; + sha256 = "0rqf3jmyn78r3ysy3bjyx7s4yv3xipxlmqlmbyrbksna19rrx08d"; type = "gem"; }; - version = "1.6.5"; + version = "1.7.0"; }; gitlab-sidekiq-fetcher = { dependencies = ["sidekiq"]; @@ -1223,31 +1412,35 @@ version = "0.4.0"; }; gitlab-styles = { - dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-rspec"]; + dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-performance" "rubocop-rspec"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ywizn3191mjl7ibxlfajaxm5vkywwl4i9q2xh6miq37nk2q98dx"; + sha256 = "1vxlvbq4jpq0cfjqippz9d3j73sq9qg3pna5pb0l8jr0rc0xs89y"; type = "gem"; }; - version = "2.4.1"; + version = "2.7.0"; }; gitlab_omniauth-ldap = { dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1cpjadx852vw1gv5cm1qiqq6mclglzqajw7q572zncw4q3ji2fkv"; + sha256 = "1f8cjbzlhckarmm59l380jjy33a3hlljg69b3zkh8rhy1xd3xr90"; type = "gem"; }; - version = "2.0.4"; + version = "2.1.1"; }; globalid = { dependencies = ["activesupport"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02smrgdi11kziqi9zhnsy9i6yr2fnxrqlv3lllsvdjki3cd4is38"; + sha256 = "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1"; type = "gem"; }; - version = "0.4.1"; + version = "0.4.2"; }; gon = { dependencies = ["actionpack" "multi_json" "request_store"]; @@ -1268,21 +1461,25 @@ version = "0.23.4"; }; google-protobuf = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "134d3ini9ymdwxpz445m28ss9x0m6vcpijcdkzvgk4n538wdmppf"; + sha256 = "04988m3hmllg4sl4syjb35x0wzsg7rj1nmvhx3d9ihml22w76gb2"; type = "gem"; }; - version = "3.6.1"; + version = "3.7.1"; }; googleapis-common-protos-types = { dependencies = ["google-protobuf"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01ds7g01pxqm3mg283xjzy0lhhvvhvzw3m7gf7szd1r7la4wf0qq"; + sha256 = "0hyr94cafiqj0k8q19hnl658pmbz2b404akikzfv4hdb1j1bwsg1"; type = "gem"; }; - version = "1.0.2"; + version = "1.0.4"; }; googleauth = { dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"]; @@ -1322,12 +1519,14 @@ }; grape-path-helpers = { dependencies = ["activesupport" "grape" "rake"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13h5575xfc144wsr48sp3qngpwvh4ikz4r3m55j8jmdr6sa16rbw"; + sha256 = "16l6lrv4h4ls0lrpj35pc00431q2rx6r9n47337qyvprxs3v0a01"; type = "gem"; }; - version = "1.0.6"; + version = "1.1.0"; }; grape_logging = { dependencies = ["grape"]; @@ -1355,14 +1554,27 @@ }; version = "1.8.1"; }; - grpc = { - dependencies = ["google-protobuf" "googleapis-common-protos-types"]; + graphql-docs = { + dependencies = ["commonmarker" "escape_utils" "extended-markdown-filter" "gemoji" "graphql" "html-pipeline" "sass"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m2wspnm1cfkmhlbp7yqv5bb4vsfh246cm0aavxra67aw4l8plhb"; + sha256 = "12wzsikbn54b2hcv100hz7isq5gdjm5w5b8xya64ra5sw6sabq8d"; type = "gem"; }; - version = "1.15.0"; + version = "1.6.0"; + }; + grpc = { + dependencies = ["google-protobuf" "googleapis-common-protos-types"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rdywzism5vxz8pnml6xjb9f19diclyy74014z69q01jzqwi1wgs"; + type = "gem"; + }; + version = "1.19.0"; }; gssapi = { dependencies = ["ffi"]; @@ -1384,12 +1596,14 @@ }; haml_lint = { dependencies = ["haml" "rainbow" "rake" "rubocop" "sysexits"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "125aj0j84nx5gqm42hfx5d8486higlra423ahgfpsdjwbp399rwv"; + sha256 = "1k6pvb2lc6d72nq01jqmi3mxpp80m9mmbc265kgaxmcnjxqhacb1"; type = "gem"; }; - version = "0.28.0"; + version = "0.31.0"; }; hamlit = { dependencies = ["temple" "thor" "tilt"]; @@ -1411,10 +1625,10 @@ hashdiff = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1n6hj7k7b9hazac0j48ypbak2nqi5wy4nh5cjra6xl3a92r8db0a"; + sha256 = "19ykg5pax8798nh1yv71adkx0zzs7gn2rxjj86v7nsw0jba5lask"; type = "gem"; }; - version = "0.3.4"; + version = "0.3.8"; }; hashie = { source = { @@ -1442,8 +1656,20 @@ }; version = "2.6.0"; }; + heapy = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r9f38fpgjgaxskkwvsliijj6vfmgsff9pnranvvvzkdl67hk1hw"; + type = "gem"; + }; + version = "0.1.4"; + }; hipchat = { dependencies = ["httparty" "mimemagic"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0hgy5jav479vbzzk53lazhpjj094dcsqw6w1d6zjn52p72bwq60k"; @@ -1512,13 +1738,15 @@ version = "0.6.0"; }; httparty = { - dependencies = ["json" "multi_xml"]; + dependencies = ["mime-types" "multi_xml"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0c9gvg6dqw2h3qyaxhrq1pzm6r69zfcmfh038wyhisqsd39g9hr2"; + sha256 = "109xvhl35dsk9zp65n5pdkhiijhqxdyvajbs74nkp4z8yl09vj32"; type = "gem"; }; - version = "0.13.7"; + version = "0.16.4"; }; httpclient = { source = { @@ -1530,12 +1758,14 @@ }; i18n = { dependencies = ["concurrent-ruby"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "079sqshk08mqs3d6yzvshmqf4s175lpi2pp71f1p10l09sgmrixr"; + sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl"; type = "gem"; }; - version = "1.2.0"; + version = "1.6.0"; }; icalendar = { source = { @@ -1570,6 +1800,25 @@ }; version = "0.8.3"; }; + jaeger-client = { + dependencies = ["opentracing" "thrift"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "198m72c9w3wfwr1mq22dcjjm7d4jd0bci4lrq6zq2zvlzhi04n8l"; + type = "gem"; + }; + version = "0.10.0"; + }; + jaro_winkler = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zz27z88qznix4r65gd9h56gl177snlfpgv10b0s69vi8qpl909l"; + type = "gem"; + }; + version = "1.5.2"; + }; jira-ruby = { dependencies = ["activesupport" "multipart-post" "oauth"]; source = { @@ -1587,22 +1836,14 @@ }; version = "1.3.1"; }; - jquery-atwho-rails = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0g8239cddyi48i5n0hq2acg9k7n7jilhby9g36zd19mwqyia16w9"; - type = "gem"; - }; - version = "1.3.2"; - }; js_regex = { - dependencies = ["regexp_parser"]; + dependencies = ["character_set" "regexp_parser" "regexp_property_values"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lnyd4c7lybhra3l6dai7j83lh3xapqjb340pp0h4bnqjgx52bkf"; + sha256 = "0wi4h4f3knb0yp4zq2spks3dpmdzz9wa54d6xk88md0h4v2x33cq"; type = "gem"; }; - version = "2.2.1"; + version = "3.1.1"; }; json = { source = { @@ -1676,10 +1917,10 @@ kgio = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1y6wl3vpp82rdv5g340zjgkmy6fny61wib7xylyg0d09k5f26118"; + sha256 = "1528pyj1szzzp3pgj05fzjd36qjrxm9yj2x5radc9p1z7vl67y50"; type = "gem"; }; - version = "2.10.0"; + version = "2.11.2"; }; knapsack = { dependencies = ["rake"]; @@ -1690,14 +1931,24 @@ }; version = "1.17.0"; }; + kramdown = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq"; + type = "gem"; + }; + version = "1.17.0"; + }; kubeclient = { dependencies = ["http" "recursive-open-struct" "rest-client"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1s250z89nz7vzich3nikc8fs8vgpac38wjv8llm4ldvs4iyc4ypg"; + sha256 = "10761kwhgclnf2lrdjspmxnw90z7i0l85inranfxc688ing0d5xn"; type = "gem"; }; - version = "4.0.0"; + version = "4.2.2"; }; launchy = { dependencies = ["addressable"]; @@ -1710,21 +1961,25 @@ }; letter_opener = { dependencies = ["launchy"]; + groups = ["default" "development"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pcrdbxvp2x5six8fqn8gf09bn9rd3jga76ds205yph5m8fsda21"; + sha256 = "09a7kgsmr10a0hrc9bwxglgqvppjxij9w8bxx91mnvh0ivaw0nq9"; type = "gem"; }; - version = "1.4.1"; + version = "1.7.0"; }; letter_opener_web = { dependencies = ["actionmailer" "letter_opener" "railties"]; + groups = ["development"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "050x5cwqbxj2cydd2pzy9vfhmpgn1w6lfbwjaax1m1vpkn3xg9bv"; + sha256 = "17qhwrkncrrp1bi2f7fbkm5lpnkdsiwy8jcvgr2wa97ck8y4x2bb"; type = "gem"; }; - version = "1.3.0"; + version = "1.3.4"; }; license_finder = { dependencies = ["rubyzip" "thor" "toml" "with_env" "xml-simple"]; @@ -1787,6 +2042,28 @@ }; version = "0.9.1"; }; + marcel = { + dependencies = ["mimemagic"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx"; + type = "gem"; + }; + version = "0.3.3"; + }; + mdl = { + dependencies = ["kramdown" "mixlib-cli" "mixlib-config"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "047hp8z1ma630wp38bm1giklkf385rp6wly8aidn825q831w2g4i"; + type = "gem"; + }; + version = "0.5.0"; + }; memoist = { source = { remotes = ["https://rubygems.org"]; @@ -1804,6 +2081,16 @@ }; version = "0.4.2"; }; + memory_profiler = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xki7jrbzylsmk1brjibmhifb0x70skr55pdq4rvxcyrlnrrvyxz"; + type = "gem"; + }; + version = "0.9.13"; + }; method_source = { source = { remotes = ["https://rubygems.org"]; @@ -1822,12 +2109,14 @@ version = "3.2.2"; }; mime-types-data = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc"; + sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a"; type = "gem"; }; - version = "3.2018.0812"; + version = "3.2019.0331"; }; mimemagic = { source = { @@ -1856,10 +2145,10 @@ mini_portile2 = { source = { remotes = ["https://rubygems.org"]; - sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11"; + sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; type = "gem"; }; - version = "2.3.0"; + version = "2.4.0"; }; minitest = { source = { @@ -1869,13 +2158,36 @@ }; version = "5.11.3"; }; - msgpack = { + mixlib-cli = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864"; + sha256 = "0647msh7kp7lzyf6m72g6snpirvhimjm22qb8xgv9pdhbcrmcccp"; type = "gem"; }; - version = "1.2.4"; + version = "1.7.0"; + }; + mixlib-config = { + dependencies = ["tomlrb"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gm6yj9cbbgsl9x4xqxga0vz5w0ksq2jnq1wj8hvgm5c4wfcrswb"; + type = "gem"; + }; + version = "2.2.18"; + }; + msgpack = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1w38hilm3dk42dwk8ygiq49bl4in7y80hfqr63hk54mj4gmzi6ch"; + type = "gem"; + }; + version = "1.2.10"; }; multi_json = { source = { @@ -1959,12 +2271,14 @@ version = "2.1.3"; }; net-ssh = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hj2i8rk5wb6235r5n19in1hkrp1fbz2bf40xmagavb5ahv7205w"; + sha256 = "101wd2px9lady54aqmkibvy4j62zk32w0rjz4vnigyg974fsga40"; type = "gem"; }; - version = "5.0.1"; + version = "5.2.0"; }; netrc = { source = { @@ -1984,12 +2298,14 @@ }; nokogiri = { dependencies = ["mini_portile2"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz"; + sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4"; type = "gem"; }; - version = "1.8.5"; + version = "1.10.3"; }; nokogumbo = { dependencies = ["nokogiri"]; @@ -2160,6 +2476,17 @@ }; version = "0.2.2"; }; + omniauth-salesforce = { + dependencies = ["omniauth" "omniauth-oauth2"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sr7xmffx6dbsrvnh6spka5ljyzf69iac754xw5r1736py41qhpj"; + type = "gem"; + }; + version = "1.0.5"; + }; omniauth-saml = { dependencies = ["omniauth" "ruby-saml"]; source = { @@ -2187,6 +2514,17 @@ }; version = "1.4.0"; }; + omniauth-ultraauth = { + dependencies = ["omniauth_openid_connect"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1z8gz8ql4vb8y5n4lr67afnjmp23bpqi18dmda5psigvd2jddyn8"; + type = "gem"; + }; + version = "0.0.2"; + }; omniauth_crowd = { dependencies = ["activesupport" "nokogiri" "omniauth"]; source = { @@ -2196,6 +2534,46 @@ }; version = "2.2.3"; }; + omniauth_openid_connect = { + dependencies = ["addressable" "omniauth" "openid_connect"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ja7cjlm4z0k0pwwy64djl58pay3lzkw7im565fybs4a8q4wmacb"; + type = "gem"; + }; + version = "0.3.1"; + }; + openid_connect = { + dependencies = ["activemodel" "attr_required" "json-jwt" "rack-oauth2" "swd" "tzinfo" "validate_email" "validate_url" "webfinger"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r13bv18nyvw0g1nw3fzffvv2si99zj24w0k5zgawf4q6nn5f7vd"; + type = "gem"; + }; + version = "1.1.6"; + }; + opentracing = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11lj1d8vq0hkb5hjz8q4lm82cddrggpbb33dhqfn7rxhwsmxgdfy"; + type = "gem"; + }; + version = "0.5.0"; + }; + optimist = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05jxrp3nbn5iilc1k7ir90mfnwc5abc9h78s5rpm3qafwqxvcj4j"; + type = "gem"; + }; + version = "3.0.0"; + }; org-ruby = { dependencies = ["rubypants"]; source = { @@ -2222,21 +2600,25 @@ version = "1.0.0"; }; parallel = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67"; + sha256 = "1x1gzgjrdlkm1aw0hfpyphsxcx90qgs3y4gmp9km3dvf4hc4qm8r"; type = "gem"; }; - version = "1.12.1"; + version = "1.17.0"; }; parser = { dependencies = ["ast"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f"; + sha256 = "1pnks149x0fzgqiw53qlmvcd8bi746cxdw03sjljby5s97p1fskn"; type = "gem"; }; - version = "2.5.3.0"; + version = "2.6.3.0"; }; parslet = { source = { @@ -2301,12 +2683,14 @@ version = "1.2.0"; }; pg = { + groups = ["development" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07dv4ma9xd75xpsnnwwg1yrpwpji7ydy0q1d9dl0yfqbzpidrw32"; + sha256 = "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy"; type = "gem"; }; - version = "0.18.4"; + version = "1.1.4"; }; po_to_json = { dependencies = ["json"]; @@ -2317,14 +2701,6 @@ }; version = "1.0.1"; }; - powerpack = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1fnn3fli5wkzyjl4ryh0k90316shqjfnhydmc7f8lqpi0q21va43"; - type = "gem"; - }; - version = "0.1.1"; - }; premailer = { dependencies = ["addressable" "css_parser" "htmlentities"]; source = { @@ -2361,12 +2737,14 @@ version = "0.0.3"; }; prometheus-client-mmap = { + groups = ["metrics"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14ww8c2qy43jw3fzmq54hsljmqmlx9a7zg9sv6ddw48qy118ls10"; + sha256 = "01f1zkpi7qsmgmk17fpq6ck7jn64sa9afsq20vc5k9f6mpyqkncd"; type = "gem"; }; - version = "0.9.4"; + version = "0.9.8"; }; pry = { dependencies = ["coderay" "method_source"]; @@ -2396,12 +2774,14 @@ version = "0.3.6"; }; public_suffix = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; + sha256 = "1c7c5xxkx91hwj4572hbnyvxmydb90q69wlpr2l0dxrmwx2p365l"; type = "gem"; }; - version = "3.0.3"; + version = "3.1.0"; }; puma = { source = { @@ -2428,13 +2808,23 @@ }; version = "0.0.3.3"; }; - rack = { + raabro = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1pcgv8dv4vkaczzlix8q3j68capwhk420cddzijwqgi2qb4lm1zm"; + sha256 = "0xzdmbn48753f6k0ckirp8ja5p0xn1a92wbwxfyggyhj0hza9ylq"; type = "gem"; }; - version = "2.0.6"; + version = "1.1.6"; + }; + rack = { + groups = ["default" "development" "kerberos" "mysql" "postgres" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0z90vflxbgjy2n84r7mbyax3i2vyvvrxxrf86ljzn5rw65jgnn2i"; + type = "gem"; + }; + version = "2.0.7"; }; rack-accept = { dependencies = ["rack"]; @@ -2463,22 +2853,24 @@ version = "1.0.2"; }; rack-oauth2 = { - dependencies = ["activesupport" "attr_required" "httpclient" "multi_json" "rack"]; + dependencies = ["activesupport" "attr_required" "httpclient" "json-jwt" "rack"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0j7fh3fyajpfwg47gyfd8spavn7lmd6dcm468w7lhnhcviy5vmyf"; + sha256 = "0kmxj9hbjhhcs3yyb433s82hkpmzb536m0mwfadjiaisganx1cii"; type = "gem"; }; - version = "1.2.3"; + version = "1.9.3"; }; rack-protection = { dependencies = ["rack"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ylx74ravz7nvnyygq0nk3v86qdzrmqxpwpayhppyy50l72rcajq"; + sha256 = "15167q25rmxipqwi6hjqj3i1byi9iwl3xq9b7mdar7qiz39pmjsk"; type = "gem"; }; - version = "2.0.4"; + version = "2.0.5"; }; rack-proxy = { dependencies = ["rack"]; @@ -2491,21 +2883,35 @@ }; rack-test = { dependencies = ["rack"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z"; + sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; type = "gem"; }; - version = "0.6.3"; + version = "1.1.0"; + }; + rack-timeout = { + groups = ["puma"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15xph8h6v0lvq9pxm3bc9i9pnk2k68rgdr1mp0dw4l7v1xvhs78a"; + type = "gem"; + }; + version = "0.5.1"; }; rails = { - dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; + dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0blacnfcn2944cml69wji2ywp9c13qjiciavnfsa9vpimk8ixq9w"; + sha256 = "1p7cszi3n9ksxchxnccmz61pd1i3rjg4813dsdinsm8xm5k1pdgr"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; rails-controller-testing = { dependencies = ["actionpack" "actionview" "activesupport"]; @@ -2516,15 +2922,6 @@ }; version = "1.0.2"; }; - rails-deprecated_sanitizer = { - dependencies = ["activesupport"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj"; - type = "gem"; - }; - version = "1.0.3"; - }; rails-dom-testing = { dependencies = ["activesupport" "nokogiri"]; source = { @@ -2554,12 +2951,14 @@ }; railties = { dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; + groups = ["default" "development" "mysql" "postgres" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1cfh2ijfalxj8hhf0rfw8bqhazsq6km7barsxczsvyl2a9islanr"; + sha256 = "1gn9fwb5wm08fbj7zpilqgblfl315l5b7pg4jsvxlizvrzg8h8q4"; type = "gem"; }; - version = "5.0.7.1"; + version = "5.2.3"; }; rainbow = { source = { @@ -2572,10 +2971,10 @@ raindrops = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0854mial50yhvdv0d2r41xxl47v7z2f4nx49js42hygv7rf1mscz"; + sha256 = "1qpbd9jif40c53fz2r0l8khfl016y8s8bkx37ibcaafclbl3xygp"; type = "gem"; }; - version = "0.18.0"; + version = "0.19.0"; }; rake = { source = { @@ -2612,13 +3011,13 @@ version = "0.3.6"; }; rbtrace = { - dependencies = ["ffi" "msgpack" "trollop"]; + dependencies = ["ffi" "msgpack" "optimist"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zj9xwazjp0g0fmhvc918irzcp2wyciwqzr0y199vc7r5qdr4sqv"; + sha256 = "1lwsq08i0aj8na5q5ba3gg02sx3wl58fi6m52svl5p7cy56ycdwi"; type = "gem"; }; - version = "0.4.10"; + version = "0.4.11"; }; rdoc = { source = { @@ -2638,12 +3037,14 @@ }; recaptcha = { dependencies = ["json"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pppfgica4629i8gbji6pnh681wjf03m6m1ix2ficpnqg2z7gl9n"; + sha256 = "121pkq8kwqjh4l751xzx15bjp5vmf5pirfmpb11h71zsiavjqv6w"; type = "gem"; }; - version = "3.0.0"; + version = "4.13.1"; }; recursive-open-struct = { source = { @@ -2653,14 +3054,6 @@ }; version = "1.1.0"; }; - redcarpet = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7"; - type = "gem"; - }; - version = "3.4.0"; - }; RedCloth = { source = { remotes = ["https://rubygems.org"]; @@ -2732,12 +3125,22 @@ version = "1.6.0"; }; regexp_parser = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1375q2v74cccjh290d9x28fdircvy18v6h0ww7a8i66qhh1jf2pb"; + sha256 = "0dsgjb3kszk6a82s6gl0h6a8vncjrxmcbk0r4mcxcdcad2b7vb2d"; type = "gem"; }; - version = "0.5.0"; + version = "1.5.1"; + }; + regexp_property_values = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05ka0bkhghs9b9pv6q443k8y1c5xalmm0vylj9zd450ksncxj1yr"; + type = "gem"; + }; + version = "0.3.4"; }; representable = { dependencies = ["declarative" "declarative-option" "uber"]; @@ -2799,12 +3202,14 @@ version = "2.1.2"; }; rouge = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql"; + sha256 = "0yfhazlhjc4abgzhkgq8zqmdphvkh52211widkl4zhsbhqh8wg2q"; type = "gem"; }; - version = "3.3.0"; + version = "3.5.1"; }; rqrcode = { dependencies = ["chunky_png"]; @@ -2826,66 +3231,80 @@ }; rspec = { dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0134g96wzxjlig2gxzd240gm2dxfw8izcyi2h6hjmr40syzcyx01"; + sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3"; type = "gem"; }; - version = "3.7.0"; + version = "3.8.0"; }; rspec-core = { dependencies = ["rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zvjbymx3avxm3lf8v4gka3a862vnaxldmwvp6767bpy48nhnvjj"; + sha256 = "0spjgmd3yx6q28q950r32bi0cs8h2si53zn6rq8s7n1i4zp4zwbf"; type = "gem"; }; - version = "3.7.1"; + version = "3.8.2"; }; rspec-expectations = { dependencies = ["diff-lcs" "rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fw06wm8jdj8k7wrb8xmzj0fr1wjyb0ya13x31hidnyblm41hmvy"; + sha256 = "0x3iddjjaramqb0yb51c79p2qajgi9wb5b59bzv25czddigyk49r"; type = "gem"; }; - version = "3.7.0"; + version = "3.8.4"; }; rspec-mocks = { dependencies = ["diff-lcs" "rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0b02ya3qhqgmcywqv4570dlhav70r656f7dmvwg89whpkq1z1xr3"; + sha256 = "12zplnsv4p6wvvxsk8xn6nm87a5qadxlkk497zlxfczd0jfawrni"; type = "gem"; }; - version = "3.7.0"; + version = "3.8.1"; }; rspec-parameterized = { dependencies = ["binding_ninja" "parser" "proc_to_ast" "rspec" "unparser"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "159yw3mb4dab5kr18a97miyyi7dqmyrfjp3aw6r6j9i4xkc4xk3a"; + sha256 = "1c0892jbaznnldk1wi24qxm70g4zhw2idqx516rhgdzgd7yh5j31"; type = "gem"; }; - version = "0.4.1"; + version = "0.4.2"; }; rspec-rails = { dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cdcnbv5dppwy3b4jdp5a0wd9m07a8wlqwb9yazn8i7k1k2mwgvx"; + sha256 = "1pf6n9l4sw1arlax1bdbm1znsvl8cgna2n6k6yk1bi8vz2n73ls1"; type = "gem"; }; - version = "3.7.2"; + version = "3.8.2"; }; rspec-retry = { dependencies = ["rspec-core"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0izvxab7jvk25kaprk0i72asjyh1ip3cm70bgxlm8lpid35qjar6"; + sha256 = "1nnqcg2yd3nn187zbvh4cgx8xsvdk56lz1985qy7232v7i8yidw6"; type = "gem"; }; - version = "0.4.5"; + version = "0.6.1"; }; rspec-set = { source = { @@ -2896,12 +3315,14 @@ version = "0.1.3"; }; rspec-support = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nl30xb6jmcl0awhqp6jycl01wdssblifwy921phfml70rd9flj1"; + sha256 = "139mbhfdr10flm2ffryvxkyqgqs1gjdclc1xhyh7i7njfqayxk7g"; type = "gem"; }; - version = "3.7.1"; + version = "3.8.2"; }; rspec_junit_formatter = { dependencies = ["rspec-core"]; @@ -2922,13 +3343,15 @@ version = "0.0.5"; }; rubocop = { - dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"]; + dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "ruby-progressbar" "unicode-display_width"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "106y99lq0fg62k3vk1w5wwb4vq16pnh4l61skc82xck627z0h8is"; + sha256 = "1cmw8ajaiidvrzjcsljh47f4l3lmcazqrzljgalj3szkr8ibkk5i"; type = "gem"; }; - version = "0.54.0"; + version = "0.69.0"; }; rubocop-gitlab-security = { dependencies = ["rubocop"]; @@ -2939,6 +3362,17 @@ }; version = "0.1.1"; }; + rubocop-performance = { + dependencies = ["rubocop"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0azzgj62w24wa4hza1qn7i9b9crxdh907kydlzcvhismx41h3lzk"; + type = "gem"; + }; + version = "1.1.0"; + }; rubocop-rspec = { dependencies = ["rubocop"]; source = { @@ -2975,12 +3409,14 @@ version = "0.17.0"; }; ruby-progressbar = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1igh1xivf5h5g3y5m9b4i4j2mhz2r43kngh4ww3q1r80ch21nbfk"; + sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk"; type = "gem"; }; - version = "1.9.0"; + version = "1.10.0"; }; ruby-saml = { dependencies = ["nokogiri"]; @@ -2993,12 +3429,14 @@ }; ruby_parser = { dependencies = ["sexp_processor"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mysmdyxhvyn6dhshfxyw762f9asr3kxw45idvw1bh6np31kk4j1"; + sha256 = "0s3hsccsmrirc2hy3r51kl8g9cfmcn7jxaa0asadg1kn78h1sgr7"; type = "gem"; }; - version = "3.11.0"; + version = "3.13.1"; }; rubyntlm = { source = { @@ -3024,22 +3462,15 @@ }; version = "1.2.2"; }; - rufus-scheduler = { - dependencies = ["et-orbi"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0343xrx4gbld5w2ydh9d2a7pw7lllvrsa691bgjq7p9g44ry1vq8"; - type = "gem"; - }; - version = "3.4.0"; - }; rugged = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jv4nw9hvlxp8hhhlllrfcznki82i50fp1sj65zsjllfl2bvz8x6"; + sha256 = "1yiszpz6y13vvgh3fss1l0ipp0zgsbbc8c28vynnpdyx1sy6krp6"; type = "gem"; }; - version = "0.27.5"; + version = "0.28.1"; }; safe_yaml = { source = { @@ -3076,14 +3507,27 @@ }; version = "4.0.0"; }; - sass-rails = { - dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"]; + sassc = { + dependencies = ["ffi" "rake"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0iji20hb8crncz14piss1b29bfb6l89sz3ai5fny3iw39vnxkdcb"; + sha256 = "1sr4825rlwsrl7xrsm0sgalcpf5zgp4i56dbi3qxfa9lhs8r6zh4"; type = "gem"; }; - version = "5.0.6"; + version = "2.0.1"; + }; + sassc-rails = { + dependencies = ["railties" "sassc" "sprockets" "sprockets-rails" "tilt"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18mgdjxdzpbw92zrllynxw7jn7yihi85j3dg7i4f6c39w1scqkbn"; + type = "gem"; + }; + version = "2.1.0"; }; sawyer = { dependencies = ["addressable" "faraday"]; @@ -3112,32 +3556,27 @@ }; version = "2.3.7"; }; - select2-rails = { - dependencies = ["thor"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0ni2k74n73y3gv56gs37gkjlh912szjf6k9j483wz41m3xvlz7fj"; - type = "gem"; - }; - version = "3.5.9.3"; - }; selenium-webdriver = { dependencies = ["childprocess" "rubyzip"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07bl3wjkf254r3ljfl4qdazz5aw60s6nqjwrbbgq754j9b7226kz"; + sha256 = "114hv2ajmh6d186v2w887yqakqcxyxq367l0iakrrpvwviknrhfs"; type = "gem"; }; - version = "3.12.0"; + version = "3.141.0"; }; sentry-raven = { dependencies = ["faraday"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l0bci35amy7pqv81djyjcx023q4qylmq8a2zbx14zh6ifzib4f4"; + sha256 = "1j9rwbig24ry0smgvmkzdjrzyszniaswipinvflzxzzaz52v7483"; type = "gem"; }; - version = "2.7.4"; + version = "2.9.0"; }; settingslogic = { source = { @@ -3148,12 +3587,14 @@ version = "2.0.9"; }; sexp_processor = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vnmphfrd86694x5k7rxddbhbvv5rqbglsc34kfryy4jqhbzz42c"; + sha256 = "0w24rgmyjf7yz0xr2qhbr8z48h4m6gvbggr8nc1pldwn9rbi04b7"; type = "gem"; }; - version = "4.11.0"; + version = "4.12.0"; }; sham_rack = { dependencies = ["rack"]; @@ -3166,30 +3607,34 @@ }; shoulda-matchers = { dependencies = ["activesupport"]; + groups = ["test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zvv94pqk5b5my3w1shdz7h34xf2ldhg5k4qfdpbwi2iy0j9zw2a"; + sha256 = "1s6a2i39lsqq8rrkk2pddqcb10bsihxy3v5gpnc2gk8xakj1brdq"; type = "gem"; }; - version = "3.1.2"; + version = "4.0.1"; }; sidekiq = { - dependencies = ["connection_pool" "rack-protection" "redis"]; + dependencies = ["connection_pool" "rack" "rack-protection" "redis"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zyf9y3rvzizbwh68i2g1lzd40lalrdc4iyjmaa74gnfwsf92i26"; + sha256 = "131zv8i341bkacxx7n1id2cmblkbs379farnibqg8c7bycd1iajq"; type = "gem"; }; - version = "5.2.3"; + version = "5.2.7"; }; sidekiq-cron = { - dependencies = ["rufus-scheduler" "sidekiq"]; + dependencies = ["fugit" "sidekiq"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "04mq83rzvq4wbc4h0rn00sawgv039j8s2p0wnlqb4sgf55gc0dzj"; + sha256 = "1aliswahmpxn1ib2brn4126gk97ac3zdnwr71mn8vzbr3vdd7fl0"; type = "gem"; }; - version = "0.6.0"; + version = "1.0.4"; }; signet = { dependencies = ["addressable" "faraday" "jwt" "multi_json"]; @@ -3210,20 +3655,24 @@ }; simplecov = { dependencies = ["docile" "json" "simplecov-html"]; + groups = ["development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1r9fnsnsqj432cmrpafryn8nif3x0qg9mdnvrcf0wr01prkdlnww"; + sha256 = "1sfyfgf7zrp2n42v7rswkqgk3bbwk1bnsphm24y7laxv3f8z0947"; type = "gem"; }; - version = "0.14.1"; + version = "0.16.1"; }; simplecov-html = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qni8g0xxglkx25w54qcfbi4wjkpvmb28cb7rj5zk3iqynjcdrqf"; + sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn"; type = "gem"; }; - version = "0.10.0"; + version = "0.10.2"; }; slack-notifier = { source = { @@ -3233,6 +3682,17 @@ }; version = "1.5.1"; }; + snowplow-tracker = { + dependencies = ["contracts"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05136477ifa567aym9k8nqqmwv3plbczgh9x9fbz86860vym5v4w"; + type = "gem"; + }; + version = "0.6.1"; + }; spring = { dependencies = ["activesupport"]; source = { @@ -3280,10 +3740,10 @@ sshkey = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0g02lh50jd5z4l9bp7xirnfn3n1dh9lr06dv3xh0kr3yhsny059h"; + sha256 = "03bkn55qsng484iqwz2lmm6rkimj01vsvhwk661s3lnmpkl65lbp"; type = "gem"; }; - version = "1.9.0"; + version = "2.0.0"; }; stackprof = { source = { @@ -3319,6 +3779,17 @@ }; version = "0.5.1"; }; + swd = { + dependencies = ["activesupport" "attr_required" "httpclient"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1s2vjb6f13za7p1iycl2p73d3p202xa6xny9fjrp8ynwsqix7lyd"; + type = "gem"; + }; + version = "1.1.2"; + }; sys-filesystem = { dependencies = ["ffi"]; source = { @@ -3337,12 +3808,14 @@ version = "1.2.0"; }; temple = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00nxf610nzi4n1i2lkby43nrnarvl89fcl6lg19406msr0k3ycmq"; + sha256 = "158d7ygbwcifqnvrph219p7m78yjdjazhykv5darbkms7bxm5y09"; type = "gem"; }; - version = "0.8.0"; + version = "0.8.1"; }; test-prof = { source = { @@ -3385,13 +3858,23 @@ }; version = "0.3.6"; }; - tilt = { + thrift = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra"; + sha256 = "02p107kwx7jnkh6fpdgvaji0xdg6xkaarngkqjml6s4zny4m8slv"; type = "gem"; }; - version = "2.0.8"; + version = "0.11.0.0"; + }; + tilt = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"; + type = "gem"; + }; + version = "2.0.9"; }; timecop = { source = { @@ -3427,22 +3910,24 @@ }; version = "1.0.0"; }; - trollop = { + tomlrb = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1rzx9rkacpq58dsvbbzs4cpybls1v1h36xskkfs5q2askpdr00wq"; + sha256 = "0g28ssfal6vry3cmhy509ba3vi5d5aggz1gnffnvvmc8ml8vkpiv"; type = "gem"; }; - version = "2.1.3"; + version = "1.2.8"; }; truncato = { dependencies = ["htmlentities" "nokogiri"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1x4fhfi4p7ah9sshfhbk9j145s1ailbyj0dxnvqirs9kk10x2d1b"; + sha256 = "0z36dprfj9l4jwgwb2wv4v3cilm53v7i1ywfmm5f1dl352id3ak4"; type = "gem"; }; - version = "0.7.10"; + version = "0.7.11"; }; tzinfo = { dependencies = ["thread_safe"]; @@ -3496,21 +3981,23 @@ version = "0.0.7.5"; }; unicode-display_width = { + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0x31fgv1acywbb50prp7y4fr677c2d9gsl6wxmfcrlxbwz7nxn5n"; + sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w"; type = "gem"; }; - version = "1.3.2"; + version = "1.6.0"; }; unicorn = { dependencies = ["kgio" "raindrops"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1rcvg9381yw3wrnpny5c01mvm35caycshvfbg96wagjhscw6l72v"; + sha256 = "1qfhvzs4i6ja1s43j8p1kfbzm10n7a02ngki30a38y5m46a2qrak"; type = "gem"; }; - version = "5.1.0"; + version = "5.4.1"; }; unicorn-worker-killer = { dependencies = ["get_process_mem" "unicorn"]; @@ -3531,12 +4018,36 @@ }; unparser = { dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w662glqi7hwmfvx0smxckxgc7kw5bsqhqz0pyvalbyv1gc0gs2x"; + sha256 = "03vjj74kj86vlazhiclf63kf6gajs66k8ni34q70fdhf97d7b60c"; type = "gem"; }; - version = "0.4.2"; + version = "0.4.5"; + }; + validate_email = { + dependencies = ["activemodel" "mail"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r1fz29l699arka177c9xw7409d1a3ff95bf7a6pmc97slb91zlx"; + type = "gem"; + }; + version = "0.1.6"; + }; + validate_url = { + dependencies = ["activemodel" "public_suffix"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1k0bfxzvdcf1nrqhvnyhijc4mwab9wn4qvqb0ynq6p8dj0f866zi"; + type = "gem"; + }; + version = "1.0.8"; }; validates_hostname = { dependencies = ["activerecord" "activesupport"]; @@ -3550,10 +4061,10 @@ version_sorter = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1smi0bf8pgx23014nkpfg29qnmlpgvwmn30q0ca7qrfbha2mjwdr"; + sha256 = "0hbdw3vh856f5yg5mbj4498l6vh90cd3pn22ikr3ranzkrh73l3s"; type = "gem"; }; - version = "2.1.0"; + version = "2.2.4"; }; virtus = { dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"]; @@ -3581,14 +4092,25 @@ }; version = "1.2.7"; }; + webfinger = { + dependencies = ["activesupport" "httpclient"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m0jh8k7c0ifh2jhbn7ihqrmn5fi754wflva97zgy70hpdvxyjar"; + type = "gem"; + }; + version = "1.1.0"; + }; webmock = { dependencies = ["addressable" "crack" "hashdiff"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "04hkcqsmbfnp8g237pisnc834vpgildklicbjbyikqg0bg1rwcy5"; + sha256 = "0gg0c2sxq7rni0b93w47h7p7cn590xdhf5va7ska48inpipwlgxp"; type = "gem"; }; - version = "2.3.2"; + version = "3.5.1"; }; webpack-rails = { dependencies = ["railties"]; @@ -3601,12 +4123,14 @@ }; websocket-driver = { dependencies = ["websocket-extensions"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1943442yllhldh9dbp374x2q39cxa49xrm28nb78b7mfbv3y195l"; + sha256 = "1551k3fs3kkb3ghqfj3n5lps0ikb9pyrdnzmvgfdxy8574n4g1dn"; type = "gem"; }; - version = "0.6.5"; + version = "0.7.0"; }; websocket-extensions = { source = { @@ -3643,11 +4167,13 @@ }; xpath = { dependencies = ["nokogiri"]; + groups = ["default" "development" "test"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ha626m6fh50fpilb9pdnmq9xl586w7c0zyidg895c3iq13rqgyw"; + sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; type = "gem"; }; - version = "2.1.0"; + version = "3.2.0"; }; } \ No newline at end of file diff --git a/pkgs/applications/version-management/gitlab/update.py b/pkgs/applications/version-management/gitlab/update.py index 26dc3d39eb1..650bd73aa84 100755 --- a/pkgs/applications/version-management/gitlab/update.py +++ b/pkgs/applications/version-management/gitlab/update.py @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#! nix-shell -i python3 -p bundix common-updater-scripts nix nix-prefetch-git python3 python3Packages.requests python3Packages.lxml python3Packages.click python3Packages.click-log +#! nix-shell -i python3 -p bundix common-updater-scripts nix nix-prefetch-git python3 python3Packages.requests python3Packages.lxml python3Packages.click python3Packages.click-log vgo2nix import click import click_log @@ -9,6 +9,7 @@ import logging import subprocess import json import pathlib +from distutils.version import LooseVersion from typing import Iterable import requests @@ -18,6 +19,7 @@ logger = logging.getLogger(__name__) class GitLabRepo: + version_regex = re.compile(r"^v\d+\.\d+\.\d+(\-rc\d+)?(\-ee)?") def __init__(self, owner: str, repo: str): self.owner = owner self.repo = repo @@ -31,8 +33,13 @@ class GitLabRepo: r = requests.get(self.url + "/tags?format=atom", stream=True) tree = ElementTree.fromstring(r.content) - return sorted((e.text for e in tree.findall( - '{http://www.w3.org/2005/Atom}entry/{http://www.w3.org/2005/Atom}title')), reverse=True) + versions = [e.text for e in tree.findall('{http://www.w3.org/2005/Atom}entry/{http://www.w3.org/2005/Atom}title')] + # filter out versions not matching version_regex + versions = list(filter(self.version_regex.match, versions)) + + # sort, but ignore v and -ee for sorting comparisons + versions.sort(key=lambda x: LooseVersion(x.replace("v", "").replace("-ee", "")), reverse=True) + return versions def get_git_hash(self, rev: str): out = subprocess.check_output(['nix-prefetch-git', self.url, rev]) @@ -187,13 +194,21 @@ def update_gitaly(): data = _get_data_json() gitaly_server_version = data['ce']['passthru']['GITALY_SERVER_VERSION'] r = GitLabRepo('gitlab-org', 'gitaly') - rubyenv_dir = pathlib.Path(__file__).parent / 'gitaly' + gitaly_dir = pathlib.Path(__file__).parent / 'gitaly' for fn in ['Gemfile.lock', 'Gemfile']: - with open(rubyenv_dir / fn, 'w') as f: + with open(gitaly_dir / fn, 'w') as f: f.write(r.get_file(f"ruby/{fn}", f"v{gitaly_server_version}")) - subprocess.check_output(['bundix'], cwd=rubyenv_dir) + for fn in ['go.mod', 'go.sum']: + with open(gitaly_dir / fn, 'w') as f: + f.write(r.get_file(fn, f"v{gitaly_server_version}")) + + subprocess.check_output(['bundix'], cwd=gitaly_dir) + subprocess.check_output(['vgo2nix'], cwd=gitaly_dir) + + for fn in ['go.mod', 'go.sum']: + os.unlink(gitaly_dir / fn) # currently broken, as `gitaly.meta.position` returns # pkgs/development/go-modules/generic/default.nix # so update-source-version doesn't know where to update hashes @@ -202,7 +217,6 @@ def update_gitaly(): click.echo(f"Please update gitaly/default.nix to version {gitaly_server_version} and hash {gitaly_hash}") - @cli.command('update-gitlab-shell') def update_gitlab_shell(): """Update gitlab-shell""" diff --git a/pkgs/applications/version-management/gitless/default.nix b/pkgs/applications/version-management/gitless/default.nix index d062c32d018..c08e441b05a 100644 --- a/pkgs/applications/version-management/gitless/default.nix +++ b/pkgs/applications/version-management/gitless/default.nix @@ -16,7 +16,7 @@ pythonPackages.buildPythonApplication rec { doCheck = false; meta = with stdenv.lib; { - homepage = http://gitless.com/; + homepage = https://gitless.com/; description = "A version control system built on top of Git"; license = licenses.gpl2; platforms = platforms.all; diff --git a/pkgs/applications/version-management/gitolite/default.nix b/pkgs/applications/version-management/gitolite/default.nix index 78dd9dd49df..7c157191ab9 100644 --- a/pkgs/applications/version-management/gitolite/default.nix +++ b/pkgs/applications/version-management/gitolite/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, git, nettools, perl }: stdenv.mkDerivation rec { - name = "gitolite-${version}"; + pname = "gitolite"; version = "3.6.11"; src = fetchFromGitHub { @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Finely-grained git repository hosting"; - homepage = http://gitolite.com/gitolite/index.html; + homepage = https://gitolite.com/gitolite/index.html; license = licenses.gpl2; platforms = platforms.unix; maintainers = [ maintainers.thoughtpolice maintainers.lassulus maintainers.tomberek ]; diff --git a/pkgs/applications/version-management/gitstats/default.nix b/pkgs/applications/version-management/gitstats/default.nix index 64b6e2107f6..5d29c8fcb6c 100644 --- a/pkgs/applications/version-management/gitstats/default.nix +++ b/pkgs/applications/version-management/gitstats/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchzip, perl, python, gnuplot, coreutils, gnugrep }: stdenv.mkDerivation rec { - name = "gitstats-${version}"; + pname = "gitstats"; version = "2016-01-08"; # upstream does not make releases src = fetchzip { url = "https://github.com/hoxu/gitstats/archive/55c5c285558c410bb35ebf421245d320ab9ee9fa.zip"; sha256 = "1bfcwhksylrpm88vyp33qjby4js31zcxy7w368dzjv4il3fh2i59"; - name = name + "-src"; + name = "${pname}-${version}" + "-src"; }; buildInputs = [ perl python ]; diff --git a/pkgs/applications/version-management/gogs/default.nix b/pkgs/applications/version-management/gogs/default.nix index 56e41136896..c2153ebea89 100644 --- a/pkgs/applications/version-management/gogs/default.nix +++ b/pkgs/applications/version-management/gogs/default.nix @@ -1,19 +1,20 @@ { stdenv, buildGoPackage, fetchFromGitHub, makeWrapper -, git, bash, gzip, openssh +, git, bash, gzip, openssh, pam , sqliteSupport ? true +, pamSupport ? true }: with stdenv.lib; buildGoPackage rec { - name = "gogs-${version}"; - version = "0.11.66"; + pname = "gogs"; + version = "0.11.86"; src = fetchFromGitHub { owner = "gogs"; repo = "gogs"; rev = "v${version}"; - sha256 = "1b9ilk4xlsllsj5pzmxwsz4a1zvgd06a8mi9ni9hbvmfl3w8xf28"; + sha256 = "0l8mwy0cyy3cdxqinf8ydb35kf7c8pj09xrhpr7rr7lldnvczabw"; }; patches = [ ./static-root-path.patch ]; @@ -23,9 +24,14 @@ buildGoPackage rec { substituteInPlace pkg/setting/setting.go --subst-var data ''; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ] + ++ optional pamSupport pam; - buildFlags = optionalString sqliteSupport "-tags sqlite"; + buildFlags = "-tags"; + + buildFlagsArray = + ( optional sqliteSupport "sqlite" + ++ optional pamSupport "pam"); outputs = [ "bin" "out" "data" ]; diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix index c52a2049a11..0a24cfbb3a0 100644 --- a/pkgs/applications/version-management/gource/default.nix +++ b/pkgs/applications/version-management/gource/default.nix @@ -4,10 +4,10 @@ stdenv.mkDerivation rec { version = "0.49"; - name = "gource-${version}"; + pname = "gource"; src = fetchurl { - url = "https://github.com/acaudwell/Gource/releases/download/${name}/${name}.tar.gz"; + url = "https://github.com/acaudwell/Gource/releases/download/${pname}-${version}/${pname}-${version}.tar.gz"; sha256 = "12hf5ipcsp9dxsqn84n4kr63xaiskrnf5a084wr29qk171lj7pd9"; }; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { - homepage = http://gource.io/; + homepage = https://gource.io/; description = "A Software version control visualization tool"; license = licenses.gpl3Plus; longDescription = '' diff --git a/pkgs/applications/version-management/guitone/default.nix b/pkgs/applications/version-management/guitone/default.nix index 33d2eb89ad0..0aa8afa9361 100644 --- a/pkgs/applications/version-management/guitone/default.nix +++ b/pkgs/applications/version-management/guitone/default.nix @@ -2,7 +2,8 @@ let version = "1.0-mtn-head"; in stdenv.mkDerivation rec { - name = "guitone-${version}"; + pname = "guitone"; + inherit version; #src = fetchurl { # url = "${meta.homepage}/count.php/from=default/${version}/${name}.tgz"; diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix index 6456dd75b52..168827c3548 100644 --- a/pkgs/applications/version-management/meld/default.nix +++ b/pkgs/applications/version-management/meld/default.nix @@ -1,25 +1,26 @@ { stdenv, fetchurl, itstool, python3, intltool, wrapGAppsHook , libxml2, gobject-introspection, gtk3, gtksourceview, gnome3 -, dbus, xvfb_run +, gsettings-desktop-schemas, dbus, xvfb_run }: python3.pkgs.buildPythonApplication rec { pname = "meld"; - version = "3.20.0"; + version = "3.20.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "11khi1sg02k3b9qdag3r939cwi27cql4kjim7jhxf9ckfhpzwh6b"; + sha256 = "0jdj7kd6vj1mdc16gvrj1kar88b2j5875ajq18fx7cbc9ny46j55"; }; nativeBuildInputs = [ intltool itstool libxml2 gobject-introspection wrapGAppsHook ]; buildInputs = [ - gtk3 gtksourceview gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme + gtk3 gtksourceview gsettings-desktop-schemas gnome3.adwaita-icon-theme + gobject-introspection # fixes https://github.com/NixOS/nixpkgs/issues/56943 for now ]; propagatedBuildInputs = with python3.pkgs; [ pygobject3 pycairo ]; - checkInputs = [ xvfb_run python3.pkgs.pytest dbus ]; + checkInputs = [ xvfb_run python3.pkgs.pytest dbus gtksourceview gtk3 ]; installPhase = '' runHook preInstall diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix index 67baa98d21e..ee0ab375666 100644 --- a/pkgs/applications/version-management/mercurial/default.nix +++ b/pkgs/applications/version-management/mercurial/default.nix @@ -1,20 +1,23 @@ { stdenv, fetchurl, python2Packages, makeWrapper, unzip , guiSupport ? false, tk ? null -, ApplicationServices }: +, ApplicationServices +, mercurialSrc ? fetchurl rec { + meta.name = "mercurial-${meta.version}"; + meta.version = "4.9.1"; + url = "https://mercurial-scm.org/release/${meta.name}.tar.gz"; + sha256 = "0iybbkd9add066729zg01kwz5hhc1s6lhp9rrnsmzq6ihyxj3p8v"; + } +}: let - # if you bump version, update pkgs.tortoisehg too or ping maintainer - version = "4.8.2"; - name = "mercurial-${version}"; inherit (python2Packages) docutils hg-git dulwich python; -in python2Packages.buildPythonApplication { - inherit name; - format = "other"; - src = fetchurl { - url = "https://mercurial-scm.org/release/${name}.tar.gz"; - sha256 = "1cpx8nf6vcqz92kx6b5c4900pcay8zb89gvy8y33prh5rywjq83c"; - }; +in python2Packages.buildPythonApplication { + + inherit (mercurialSrc.meta) name version; + src = mercurialSrc; + + format = "other"; inherit python; # pass it so that the same version can be used in hg2git @@ -55,7 +58,7 @@ in python2Packages.buildPythonApplication { ''; meta = { - inherit version; + inherit (mercurialSrc.meta) version; description = "A fast, lightweight SCM system for very large distributed projects"; homepage = https://www.mercurial-scm.org; downloadPage = https://www.mercurial-scm.org/release/; diff --git a/pkgs/applications/version-management/monotone-viz/default.nix b/pkgs/applications/version-management/monotone-viz/default.nix index 3c052a26cde..bee1c82e11b 100644 --- a/pkgs/applications/version-management/monotone-viz/default.nix +++ b/pkgs/applications/version-management/monotone-viz/default.nix @@ -9,12 +9,12 @@ let graphviz_2_0 = import ./graphviz-2.0.nix { }; in stdenv.mkDerivation rec { version = "1.0.2"; - name = "monotone-viz-${version}"; + pname = "monotone-viz"; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ocaml lablgtk libgnomecanvas glib graphviz_2_0 makeWrapper camlp4]; src = fetchurl { - url = "http://oandrieu.nerim.net/monotone-viz/${name}-nolablgtk.tar.gz"; + url = "http://oandrieu.nerim.net/monotone-viz/${pname}-${version}-nolablgtk.tar.gz"; sha256 = "1l5x4xqz5g1aaqbc1x80mg0yzkiah9ma9k9mivmn08alkjlakkdk"; }; diff --git a/pkgs/applications/version-management/monotone/default.nix b/pkgs/applications/version-management/monotone/default.nix index 010d4d2f86a..7081e1a0899 100644 --- a/pkgs/applications/version-management/monotone/default.nix +++ b/pkgs/applications/version-management/monotone/default.nix @@ -11,7 +11,8 @@ in assert perlVersion != ""; stdenv.mkDerivation rec { - name = "monotone-${version}"; + pname = "monotone"; + inherit version; src = fetchurl { url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.bz2"; @@ -25,8 +26,8 @@ stdenv.mkDerivation rec { openssl gmp bzip2 ]; postInstall = '' - mkdir -p $out/share/${name} - cp -rv contrib/ $out/share/${name}/contrib + mkdir -p $out/share/${pname}-${version} + cp -rv contrib/ $out/share/${pname}-${version}/contrib mkdir -p $out/${perl.libPrefix}/${perlVersion} cp -v contrib/Monotone.pm $out/${perl.libPrefix}/${perlVersion} ''; diff --git a/pkgs/applications/version-management/mr/default.nix b/pkgs/applications/version-management/mr/default.nix index 8150203814d..23278e9e748 100644 --- a/pkgs/applications/version-management/mr/default.nix +++ b/pkgs/applications/version-management/mr/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, perl }: stdenv.mkDerivation rec { - name = "mr-${version}"; + pname = "mr"; version = "1.20180726"; src = fetchgit { diff --git a/pkgs/applications/version-management/nbstripout/default.nix b/pkgs/applications/version-management/nbstripout/default.nix index 18fb672226f..8b2b15a0078 100644 --- a/pkgs/applications/version-management/nbstripout/default.nix +++ b/pkgs/applications/version-management/nbstripout/default.nix @@ -2,14 +2,14 @@ with python2Packages; buildPythonApplication rec { - name = "${pname}-${version}"; version = "0.3.1"; pname = "nbstripout"; # Mercurial should be added as a build input but because it's a Python # application, it would mess up the Python environment. Thus, don't add it # here, instead add it to PATH when running unit tests - buildInputs = [ pytest pytest-flake8 pytest-cram git pytestrunner ]; + checkInputs = [ pytest pytest-flake8 pytest-cram git ]; + nativeBuildInputs = [ pytestrunner ]; propagatedBuildInputs = [ ipython nbformat ]; # PyPI source is currently missing tests. Thus, use GitHub instead. diff --git a/pkgs/applications/version-management/nitpick/default.nix b/pkgs/applications/version-management/nitpick/default.nix index 8fb1095dc58..db9afdc0a74 100644 --- a/pkgs/applications/version-management/nitpick/default.nix +++ b/pkgs/applications/version-management/nitpick/default.nix @@ -7,7 +7,6 @@ buildPythonPackage rec { pname = "nitpick"; version = "1.1"; - name = "${pname}-${version}"; format = "other"; disabled = !isPy27; diff --git a/pkgs/applications/version-management/p4v/default.nix b/pkgs/applications/version-management/p4v/default.nix index f82b80067bf..0020c8c2189 100644 --- a/pkgs/applications/version-management/p4v/default.nix +++ b/pkgs/applications/version-management/p4v/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebkit, openssl, xkeyboard_config, makeWrapper }: +{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebkit, openssl, xkeyboard_config, wrapQtAppsHook }: stdenv.mkDerivation rec { - name = "p4v-${version}"; + pname = "p4v"; version = "2017.3.1601999"; src = fetchurl { @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; dontBuild = true; - nativeBuildInputs = [makeWrapper]; + nativeBuildInputs = [ wrapQtAppsHook ]; ldLibraryPath = lib.makeLibraryPath [ stdenv.cc.cc.lib @@ -22,6 +22,7 @@ stdenv.mkDerivation rec { openssl ]; + dontWrapQtApps = true; installPhase = '' mkdir $out cp -r bin $out @@ -31,10 +32,9 @@ stdenv.mkDerivation rec { for f in $out/bin/*.bin ; do patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $f - wrapProgram $f \ + wrapQtApp $f \ --suffix LD_LIBRARY_PATH : ${ldLibraryPath} \ - --suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb \ - --suffix QT_PLUGIN_PATH : ${qtbase.bin}/${qtbase.qtPluginPrefix} + --suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb done ''; diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix index b97123926eb..180664d3386 100644 --- a/pkgs/applications/version-management/pijul/default.nix +++ b/pkgs/applications/version-management/pijul/default.nix @@ -1,17 +1,15 @@ -{ stdenv, fetchurl, rustPlatform, darwin, openssl, libsodium, pkgconfig }: +{ stdenv, fetchurl, rustPlatform, darwin, openssl, libsodium, nettle, clang, libclang, pkgconfig }: -with rustPlatform; - -buildRustPackage rec { +rustPlatform.buildRustPackage rec { name = "pijul-${version}"; - version = "0.11.0"; + version = "0.12.0"; src = fetchurl { url = "https://pijul.org/releases/${name}.tar.gz"; - sha256 = "e60793ab124e9054c1d5509698acbae507ebb2fab5364d964067bc9ae8b6b5e5"; + sha256 = "1rm787kkh3ya8ix0rjvj7sbrg9armm0rnpkga6gjmsbg5bx20y4q"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig clang ]; postInstall = '' mkdir -p $out/share/{bash-completion/completions,zsh/site-functions,fish/vendor_completions.d} @@ -20,12 +18,14 @@ buildRustPackage rec { $out/bin/pijul generate-completions --fish > $out/share/fish/vendor_completions.d/pijul.fish ''; - buildInputs = [ openssl libsodium ] ++ stdenv.lib.optionals stdenv.isDarwin - (with darwin.apple_sdk.frameworks; [ Security ]); + LIBCLANG_PATH = libclang + "/lib"; + + buildInputs = [ openssl libsodium nettle libclang ] ++ stdenv.lib.optionals stdenv.isDarwin + (with darwin.apple_sdk.frameworks; [ CoreServices Security ]); doCheck = false; - cargoSha256 = "1r76azmka1d76ff0ddfhzr24b0ry496qrp13945i3vs0fgzk2sdz"; + cargoSha256 = "1w77s5q18yr1gqqif15wmrfdvv2chq8rq3w4dnmxg2gn0r7bmz2k"; meta = with stdenv.lib; { description = "A distributed version control system"; diff --git a/pkgs/applications/version-management/rapidsvn/default.nix b/pkgs/applications/version-management/rapidsvn/default.nix index e799d5fac43..60486e20116 100644 --- a/pkgs/applications/version-management/rapidsvn/default.nix +++ b/pkgs/applications/version-management/rapidsvn/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, wxGTK, subversion, apr, aprutil, python }: stdenv.mkDerivation rec { - name = "rapidsvn-${version}"; + pname = "rapidsvn"; version = "0.12.1"; src = fetchurl { - url = "http://www.rapidsvn.org/download/release/${version}/${name}.tar.gz"; + url = "http://www.rapidsvn.org/download/release/${version}/${pname}-${version}.tar.gz"; sha256 = "1bmcqjc12k5w0z40k7fkk8iysqv4fw33i80gvcmbakby3d4d4i4p"; }; diff --git a/pkgs/applications/version-management/rcs/default.nix b/pkgs/applications/version-management/rcs/default.nix index df1739aea57..862b9eacd62 100644 --- a/pkgs/applications/version-management/rcs/default.nix +++ b/pkgs/applications/version-management/rcs/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ed }: +{ stdenv, fetchurl, fetchpatch, ed }: stdenv.mkDerivation rec { name = "rcs-5.9.4"; @@ -10,10 +10,51 @@ stdenv.mkDerivation rec { buildInputs = [ ed ]; + patches = stdenv.lib.optionals stdenv.isDarwin [ + # This failure appears unrelated to the subject of the test. This + # test seems to rely on a bash bug where `test $x -nt $y` ignores + # subsecond values in timetamps. This bug has been fixed in Bash + # 5, and seemingly doesn't affect Darwin. + ./disable-t810.patch + + (fetchpatch { + url = "https://raw.githubusercontent.com/macports/macports-ports/b76d1e48dac/editors/nano/files/secure_snprintf.patch"; + extraPrefix = ""; + sha256 = "1wy9pjw3vvp8fv8a7pmkqmiapgacfx54qj9fvsc5gwry0vv7vnc3"; + }) + + # Expected to appear in the next release + (fetchpatch { + url = "https://raw.githubusercontent.com/Homebrew/formula-patches/3fff7c990b8df4174045834b9c1210e7736ff5a4/rcs/noreturn.patch"; + sha256 = "10zniqrd6xagf3q03i1vksl0vd9nla3qcj0840n3m8z6jd4aypcx"; + }) + ]; + doCheck = true; + checkFlags = [ "VERBOSE=1" ]; + + checkPhase = '' + # If neither LOGNAME or USER are set, rcs will default to + # getlogin(), which is unreliable on macOS. It will often return + # things like `_spotlight`, or `_mbsetupuser`. macOS sets both + # environment variables in user sessions, so this is unlikely to + # affect regular usage. + + export LOGNAME=$(id -un) + + print_logs_and_fail() { + grep -nH -e . -r tests/*.d/{out,err} + return 1 + } + + make $checkFlags check || print_logs_and_fail + ''; + NIX_CFLAGS_COMPILE = [ "-std=c99" ]; + hardeningDisable = stdenv.lib.optional stdenv.cc.isClang "format"; + meta = { homepage = https://www.gnu.org/software/rcs/; description = "Revision control system"; @@ -27,6 +68,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl3Plus; maintainers = with stdenv.lib.maintainers; [ eelco ]; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/applications/version-management/rcs/disable-t810.patch b/pkgs/applications/version-management/rcs/disable-t810.patch new file mode 100644 index 00000000000..745f1868a36 --- /dev/null +++ b/pkgs/applications/version-management/rcs/disable-t810.patch @@ -0,0 +1,10 @@ +--- rcs-5.9.4-orig/tests/Makefile.in 2015-01-22 19:40:36.000000000 +0900 ++++ rcs-5.9.4/tests/Makefile.in 2019-04-16 20:04:30.557626000 +0900 +@@ -1372,7 +1372,6 @@ + t803 \ + t804 \ + t805 \ +- t810 \ + t900 \ + t999 + diff --git a/pkgs/applications/version-management/redmine/4.x/Gemfile b/pkgs/applications/version-management/redmine/4.x/Gemfile index 3fd176007ab..343c7b3a547 100644 --- a/pkgs/applications/version-management/redmine/4.x/Gemfile +++ b/pkgs/applications/version-management/redmine/4.x/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' gem "bundler", ">= 1.5.0" -gem "rails", "5.2.2" +gem "rails", "5.2.3" gem "rouge", "~> 3.3.0" gem "request_store", "1.0.5" gem "mini_mime", "~> 1.0.1" @@ -14,6 +14,7 @@ gem "csv", "~> 3.0.1" if RUBY_VERSION >= "2.3" && RUBY_VERSION < "2.6" gem "nokogiri", (RUBY_VERSION >= "2.3" ? "~> 1.10.0" : "~> 1.9.1") gem "i18n", "~> 0.7.0" +gem "xpath", "< 3.2.0" if RUBY_VERSION < "2.3" # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin] @@ -33,7 +34,7 @@ end platforms :mri, :mingw, :x64_mingw do # Optional gem for exporting the gantt to a PNG file, not supported with jruby group :rmagick do - gem "rmagick", ">= 2.14.0" + gem "rmagick", "~> 2.16.0" end # Optional Markdown support, not for JRuby diff --git a/pkgs/applications/version-management/redmine/4.x/Gemfile.lock b/pkgs/applications/version-management/redmine/4.x/Gemfile.lock index 8c569ddb322..671d2bb4ac1 100644 --- a/pkgs/applications/version-management/redmine/4.x/Gemfile.lock +++ b/pkgs/applications/version-management/redmine/4.x/Gemfile.lock @@ -1,19 +1,19 @@ GEM remote: https://rubygems.org/ specs: - actioncable (5.2.2) - actionpack (= 5.2.2) + actioncable (5.2.3) + actionpack (= 5.2.3) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailer (5.2.2) - actionpack (= 5.2.2) - actionview (= 5.2.2) - activejob (= 5.2.2) + actionmailer (5.2.3) + actionpack (= 5.2.3) + actionview (= 5.2.3) + activejob (= 5.2.3) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.2.2) - actionview (= 5.2.2) - activesupport (= 5.2.2) + actionpack (5.2.3) + actionview (= 5.2.3) + activesupport (= 5.2.3) rack (~> 2.0) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) @@ -21,26 +21,26 @@ GEM actionpack-xml_parser (2.0.1) actionpack (>= 5.0) railties (>= 5.0) - actionview (5.2.2) - activesupport (= 5.2.2) + actionview (5.2.3) + activesupport (= 5.2.3) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.2.2) - activesupport (= 5.2.2) + activejob (5.2.3) + activesupport (= 5.2.3) globalid (>= 0.3.6) - activemodel (5.2.2) - activesupport (= 5.2.2) - activerecord (5.2.2) - activemodel (= 5.2.2) - activesupport (= 5.2.2) + activemodel (5.2.3) + activesupport (= 5.2.3) + activerecord (5.2.3) + activemodel (= 5.2.3) + activesupport (= 5.2.3) arel (>= 9.0) - activestorage (5.2.2) - actionpack (= 5.2.2) - activerecord (= 5.2.2) + activestorage (5.2.3) + actionpack (= 5.2.3) + activerecord (= 5.2.3) marcel (~> 0.3.1) - activesupport (5.2.2) + activesupport (5.2.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -56,21 +56,20 @@ GEM rack (>= 1.0.0) rack-test (>= 0.5.4) xpath (>= 2.0, < 4.0) - childprocess (0.9.0) - ffi (~> 1.0, >= 1.0.11) - concurrent-ruby (1.1.4) + childprocess (1.0.1) + rake (< 13.0) + concurrent-ruby (1.1.5) crass (1.0.4) - css_parser (1.6.0) + css_parser (1.7.0) addressable - csv (3.0.4) + csv (3.0.9) docile (1.1.5) erubi (1.8.0) - ffi (1.10.0) globalid (0.4.2) activesupport (>= 4.2.0) htmlentities (4.3.4) i18n (0.7.0) - json (2.1.0) + json (2.2.0) loofah (2.2.3) crass (~> 1.0.2) nokogiri (>= 1.5.9) @@ -89,38 +88,38 @@ GEM mysql2 (0.5.2) net-ldap (0.16.1) nio4r (2.3.1) - nokogiri (1.10.1) + nokogiri (1.10.3) mini_portile2 (~> 2.4.0) pg (1.1.4) - public_suffix (3.0.3) - puma (3.12.0) - rack (2.0.6) + public_suffix (3.1.0) + puma (3.12.1) + rack (2.0.7) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) rack-test (1.1.0) rack (>= 1.0, < 3) - rails (5.2.2) - actioncable (= 5.2.2) - actionmailer (= 5.2.2) - actionpack (= 5.2.2) - actionview (= 5.2.2) - activejob (= 5.2.2) - activemodel (= 5.2.2) - activerecord (= 5.2.2) - activestorage (= 5.2.2) - activesupport (= 5.2.2) + rails (5.2.3) + actioncable (= 5.2.3) + actionmailer (= 5.2.3) + actionpack (= 5.2.3) + actionview (= 5.2.3) + activejob (= 5.2.3) + activemodel (= 5.2.3) + activerecord (= 5.2.3) + activestorage (= 5.2.3) + activesupport (= 5.2.3) bundler (>= 1.3.0) - railties (= 5.2.2) + railties (= 5.2.3) sprockets-rails (>= 2.0.0) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.0.4) loofah (~> 2.2, >= 2.2.2) - railties (5.2.2) - actionpack (= 5.2.2) - activesupport (= 5.2.2) + railties (5.2.3) + actionpack (= 5.2.3) + activesupport (= 5.2.3) method_source rake (>= 0.8.7) thor (>= 0.19.0, < 2.0) @@ -132,17 +131,17 @@ GEM redcarpet (3.4.0) request_store (1.0.5) rmagick (2.16.0) - roadie (3.4.0) + roadie (3.5.0) css_parser (~> 1.4) - nokogiri (~> 1.5) + nokogiri (~> 1.8) roadie-rails (1.3.0) railties (>= 3.0, < 5.3) roadie (~> 3.1) rouge (3.3.0) ruby-openid (2.3.0) - rubyzip (1.2.2) - selenium-webdriver (3.141.0) - childprocess (~> 0.5) + rubyzip (1.2.3) + selenium-webdriver (3.142.3) + childprocess (>= 0.5, < 2.0) rubyzip (~> 1.2, >= 1.2.2) simplecov (0.14.1) docile (~> 1.1.0) @@ -160,12 +159,12 @@ GEM thread_safe (0.3.6) tzinfo (1.2.5) thread_safe (~> 0.1) - websocket-driver (0.7.0) + websocket-driver (0.7.1) websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.3) + websocket-extensions (0.1.4) xpath (3.2.0) nokogiri (~> 1.8) - yard (0.9.18) + yard (0.9.19) PLATFORMS ruby @@ -186,12 +185,12 @@ DEPENDENCIES pg (~> 1.1.4) puma (~> 3.7) rack-openid - rails (= 5.2.2) + rails (= 5.2.3) rails-dom-testing rbpdf (~> 1.19.6) redcarpet (~> 3.4.0) request_store (= 1.0.5) - rmagick (>= 2.14.0) + rmagick (~> 2.16.0) roadie-rails (~> 1.3.0) rouge (~> 3.3.0) ruby-openid (~> 2.3.0) diff --git a/pkgs/applications/version-management/redmine/4.x/default.nix b/pkgs/applications/version-management/redmine/4.x/default.nix index ba9f96f5a30..a3ba418a146 100644 --- a/pkgs/applications/version-management/redmine/4.x/default.nix +++ b/pkgs/applications/version-management/redmine/4.x/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, bundlerEnv, ruby }: let - version = "4.0.1"; + version = "4.0.4"; rubyEnv = bundlerEnv { name = "redmine-env-${version}"; @@ -11,11 +11,12 @@ let }; in stdenv.mkDerivation rec { - name = "redmine-${version}"; + pname = "redmine"; + inherit version; src = fetchurl { - url = "https://www.redmine.org/releases/${name}.tar.gz"; - sha256 = "1zzn9rkh7x1h9f2shcc8qhb693hp0hpah0z53i6gfgg5p8k5hns1"; + url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz"; + sha256 = "0i5bmgdi3mahbis9hn0hk53rnz4ihp9yij4b4i07ny9vf3n4kp1a"; }; buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ]; @@ -37,7 +38,7 @@ in meta = with stdenv.lib; { homepage = http://www.redmine.org/; platforms = platforms.linux; - maintainers = [ maintainers.garbas maintainers.aanderse ]; + maintainers = [ maintainers.aanderse ]; license = licenses.gpl2; }; } diff --git a/pkgs/applications/version-management/redmine/4.x/gemset.nix b/pkgs/applications/version-management/redmine/4.x/gemset.nix index ce21a58b556..34e459111f8 100644 --- a/pkgs/applications/version-management/redmine/4.x/gemset.nix +++ b/pkgs/applications/version-management/redmine/4.x/gemset.nix @@ -3,28 +3,28 @@ dependencies = ["actionpack" "nio4r" "websocket-driver"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0826k5ch0l03f9yrkxy69aiv039z4qi00lnahw2rzywd2iz6r68x"; + sha256 = "04wd9rf8sglrqc8jz49apqcxbi51gdj7l1apf5qr4i86iddk6pkm"; type = "gem"; }; - version = "5.2.2"; + version = "5.2.3"; }; actionmailer = { dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sfpb8s95cmkpp9ybyp2c88r55r5llscmmnkfwcwgasz9ncjiq5n"; + sha256 = "15laym06zcm2021qdhlyr6y9jn1marw436i89hcxqg14a8zvyvwa"; type = "gem"; }; - version = "5.2.2"; + version = "5.2.3"; }; actionpack = { dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0iwhbqqn0cm39dq040iwq8cfyclqk3kyzwlp5k3j5cz8k2668wws"; + sha256 = "1s2iay17i2k0xx36cmnpbrmr5w6x70jk7fq1d8w70xcdw5chm0w1"; type = "gem"; }; - version = "5.2.2"; + version = "5.2.3"; }; actionpack-xml_parser = { dependencies = ["actionpack" "railties"]; @@ -39,55 +39,55 @@ dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lz04drbi1z0xhvb8jnr14pbf505lilr02arahxq7y3mxiz0rs8z"; + sha256 = "1v49rgf8305grqf6gq7qa47qhamr369igyy0giycz60x86afyr4h"; type = "gem"; }; - version = "5.2.2"; + version = "5.2.3"; }; activejob = { dependencies = ["activesupport" "globalid"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jjkl62x2aprg55x9rpm0h2c82vr2qr989hg3l9r21l01q4822ir"; + sha256 = "17vizibxbsli5yppgrvmw13wj7a9xy19s5nqxf1k23bbk2s5b87s"; type = "gem"; }; - version = "5.2.2"; + version = "5.2.3"; }; activemodel = { dependencies = ["activesupport"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1xmwi3mw8g4shbjvkhk72ra3r5jccbdsd4piphqka2y1h8s7sxvi"; + sha256 = "0mghh9di8011ara9h1r5a216yzk1vjm9r3p0gdvdi8j1zmkl6k6h"; type = "gem"; }; - version = "5.2.2"; + version = "5.2.3"; }; activerecord = { dependencies = ["activemodel" "activesupport" "arel"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "19a0sns6a5wz2wym25lb1dv4lbrrl5sd1n15s5ky2636znmhz30y"; + sha256 = "0d6036f592803iyvp6bw98p3sg638mia5dbw19lvachx6jgzfvpw"; type = "gem"; }; - version = "5.2.2"; + version = "5.2.3"; }; activestorage = { dependencies = ["actionpack" "activerecord" "marcel"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0c72837098sw384vk6dmrb2p7q3wx4swnibk6sw9dp4hn1vc4p31"; + sha256 = "04is6ipjqw1f337i8pm8w5bd99rpygqfd0fzzxkr7jd308ggmsjk"; type = "gem"; }; - version = "5.2.2"; + version = "5.2.3"; }; activesupport = { dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1iya7vxqwxysr74s7b4z1x19gmnx5advimzip3cbmsd5bd43wfgz"; + sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8"; type = "gem"; }; - version = "5.2.2"; + version = "5.2.3"; }; addressable = { dependencies = ["public_suffix"]; @@ -124,21 +124,21 @@ version = "2.18.0"; }; childprocess = { - dependencies = ["ffi"]; + dependencies = ["rake"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p"; + sha256 = "1d2gasf988jh2k3fjb7i54c68rq6ni6jf9w0gnsfhrq94a6mprkz"; type = "gem"; }; - version = "0.9.0"; + version = "1.0.1"; }; concurrent-ruby = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1ixcx9pfissxrga53jbdpza85qd5f6b5nq1sfqa9rnfq82qnlbp1"; + sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; type = "gem"; }; - version = "1.1.4"; + version = "1.1.5"; }; crass = { source = { @@ -152,18 +152,18 @@ dependencies = ["addressable"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gwvf8mc8gnz4aizfijplv3594998h2j44ydakpzsdmkivs07v61"; + sha256 = "1y4vc018b5mzp7winw4pbb22jk0dpxp22pzzxq7w0rgvfxzi89pd"; type = "gem"; }; - version = "1.6.0"; + version = "1.7.0"; }; csv = { source = { remotes = ["https://rubygems.org"]; - sha256 = "19m22vlxddva301z2izvg06hldlc37nyzhin3kjjfcnlbb8imj33"; + sha256 = "097rl10ivzlya5640530ayls2f1vid2mfgjy9ngd789qmp0j6x4b"; type = "gem"; }; - version = "3.0.4"; + version = "3.0.9"; }; docile = { source = { @@ -181,14 +181,6 @@ }; version = "1.8.0"; }; - ffi = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p"; - type = "gem"; - }; - version = "1.10.0"; - }; globalid = { dependencies = ["activesupport"]; source = { @@ -217,10 +209,10 @@ json = { source = { remotes = ["https://rubygems.org"]; - sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; + sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx"; type = "gem"; }; - version = "2.1.0"; + version = "2.2.0"; }; loofah = { dependencies = ["crass" "nokogiri"]; @@ -334,10 +326,10 @@ dependencies = ["mini_portile2"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "09zll7c6j7xr6wyvh5mm5ncj6pkryp70ybcsxdbw1nyphx5dh184"; + sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4"; type = "gem"; }; - version = "1.10.1"; + version = "1.10.3"; }; pg = { source = { @@ -350,26 +342,26 @@ public_suffix = { source = { remotes = ["https://rubygems.org"]; - sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; + sha256 = "1c7c5xxkx91hwj4572hbnyvxmydb90q69wlpr2l0dxrmwx2p365l"; type = "gem"; }; - version = "3.0.3"; + version = "3.1.0"; }; puma = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1k7dqxnq0dnf5rxkgs9rknclkn3ah7lsdrk6nrqxla8qzy31wliq"; + sha256 = "1pkrbvak6rlf147qpd4zss031qrwwh53g8s6017037iwg0436kv3"; type = "gem"; }; - version = "3.12.0"; + version = "3.12.1"; }; rack = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1pcgv8dv4vkaczzlix8q3j68capwhk420cddzijwqgi2qb4lm1zm"; + sha256 = "0z90vflxbgjy2n84r7mbyax3i2vyvvrxxrf86ljzn5rw65jgnn2i"; type = "gem"; }; - version = "2.0.6"; + version = "2.0.7"; }; rack-openid = { dependencies = ["rack" "ruby-openid"]; @@ -393,10 +385,10 @@ dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1m9cszds68dsiycciiayd3c9g90s2yzn1izkr3gpgqkfw6dmvzyr"; + sha256 = "1p7cszi3n9ksxchxnccmz61pd1i3rjg4813dsdinsm8xm5k1pdgr"; type = "gem"; }; - version = "5.2.2"; + version = "5.2.3"; }; rails-dom-testing = { dependencies = ["activesupport" "nokogiri"]; @@ -420,10 +412,10 @@ dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "00pnylmbz4c46mxw5lhxi8h39lndfg6fs1hpd0qd6swnjhkqsr1l"; + sha256 = "1gn9fwb5wm08fbj7zpilqgblfl315l5b7pg4jsvxlizvrzg8h8q4"; type = "gem"; }; - version = "5.2.2"; + version = "5.2.3"; }; rake = { source = { @@ -478,10 +470,10 @@ dependencies = ["css_parser" "nokogiri"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l3s80394yijvz0fsvfkw0azsi9yxsdkxd8lpas0bd7wlndjvmxx"; + sha256 = "0b2qgr725hnscz3ldb607gwgjkr47ncs1jjnk6zh0h70p5dxrk2d"; type = "gem"; }; - version = "3.4.0"; + version = "3.5.0"; }; roadie-rails = { dependencies = ["railties" "roadie"]; @@ -511,19 +503,19 @@ rubyzip = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj"; + sha256 = "1w9gw28ly3zyqydnm8phxchf4ymyjl2r7zf7c12z8kla10cpmhlc"; type = "gem"; }; - version = "1.2.2"; + version = "1.2.3"; }; selenium-webdriver = { dependencies = ["childprocess" "rubyzip"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "114hv2ajmh6d186v2w887yqakqcxyxq367l0iakrrpvwviknrhfs"; + sha256 = "0i0jr4qrcvg5isc11ivjw7f9gywbimnz613k82bfcrnlzdf90mxy"; type = "gem"; }; - version = "3.141.0"; + version = "3.142.3"; }; simplecov = { dependencies = ["docile" "json" "simplecov-html"]; @@ -589,18 +581,18 @@ dependencies = ["websocket-extensions"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1551k3fs3kkb3ghqfj3n5lps0ikb9pyrdnzmvgfdxy8574n4g1dn"; + sha256 = "1bxamwqldmy98hxs5pqby3andws14hl36ch78g0s81gaz9b91nj2"; type = "gem"; }; - version = "0.7.0"; + version = "0.7.1"; }; websocket-extensions = { source = { remotes = ["https://rubygems.org"]; - sha256 = "034sdr7fd34yag5l6y156rkbhiqgmy395m231dwhlpcswhs6d270"; + sha256 = "00i624ng1nvkz1yckj3f8yxxp6hi7xaqf40qh9q3hj2n1l9i8g6m"; type = "gem"; }; - version = "0.1.3"; + version = "0.1.4"; }; xpath = { dependencies = ["nokogiri"]; @@ -614,9 +606,9 @@ yard = { source = { remotes = ["https://rubygems.org"]; - sha256 = "07fykkfyrwqkfnxx9i5w6adyiadz00h497c516n96rgvs7alc74f"; + sha256 = "1w0i13a0vsw4jmlj59xn64rdsqcsl9r3rmjjgdca5i51m1q4ix6v"; type = "gem"; }; - version = "0.9.18"; + version = "0.9.19"; }; } \ No newline at end of file diff --git a/pkgs/applications/version-management/redmine/Gemfile b/pkgs/applications/version-management/redmine/Gemfile index 8f457449e7e..5a0283e20ed 100644 --- a/pkgs/applications/version-management/redmine/Gemfile +++ b/pkgs/applications/version-management/redmine/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' gem "bundler", ">= 1.5.0", "< 2.0.0" -gem "rails", "4.2.11" +gem "rails", "4.2.11.1" gem "addressable", "2.4.0" if RUBY_VERSION < "2.0" if RUBY_VERSION < "2.1" gem "public_suffix", (RUBY_VERSION < "2.0" ? "~> 1.4" : "~> 2.0.5") @@ -21,6 +21,7 @@ gem "mail", "~> 2.6.4" gem "nokogiri", (RUBY_VERSION >= "2.1" ? "~> 1.8.1" : "~> 1.6.8") gem "i18n", "~> 0.7.0" gem "ffi", "1.9.14", :platforms => :mingw if RUBY_VERSION < "2.0" +gem "xpath", "< 3.2.0" if RUBY_VERSION < "2.3" # Request at least rails-html-sanitizer 1.0.3 because of security advisories gem "rails-html-sanitizer", ">= 1.0.3" @@ -43,7 +44,7 @@ end platforms :mri, :mingw, :x64_mingw do # Optional gem for exporting the gantt to a PNG file, not supported with jruby group :rmagick do - gem "rmagick", ">= 2.14.0" + gem "rmagick", "~> 2.16.0" end # Optional Markdown support, not for JRuby diff --git a/pkgs/applications/version-management/redmine/Gemfile.lock b/pkgs/applications/version-management/redmine/Gemfile.lock index 8bc8a03e790..21296d343b4 100644 --- a/pkgs/applications/version-management/redmine/Gemfile.lock +++ b/pkgs/applications/version-management/redmine/Gemfile.lock @@ -1,38 +1,38 @@ GEM remote: https://rubygems.org/ specs: - actionmailer (4.2.11) - actionpack (= 4.2.11) - actionview (= 4.2.11) - activejob (= 4.2.11) + actionmailer (4.2.11.1) + actionpack (= 4.2.11.1) + actionview (= 4.2.11.1) + activejob (= 4.2.11.1) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 1.0, >= 1.0.5) - actionpack (4.2.11) - actionview (= 4.2.11) - activesupport (= 4.2.11) + actionpack (4.2.11.1) + actionview (= 4.2.11.1) + activesupport (= 4.2.11.1) rack (~> 1.6) rack-test (~> 0.6.2) rails-dom-testing (~> 1.0, >= 1.0.5) rails-html-sanitizer (~> 1.0, >= 1.0.2) actionpack-xml_parser (1.0.2) actionpack (>= 4.0.0, < 5) - actionview (4.2.11) - activesupport (= 4.2.11) + actionview (4.2.11.1) + activesupport (= 4.2.11.1) builder (~> 3.1) erubis (~> 2.7.0) rails-dom-testing (~> 1.0, >= 1.0.5) rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (4.2.11) - activesupport (= 4.2.11) + activejob (4.2.11.1) + activesupport (= 4.2.11.1) globalid (>= 0.3.0) - activemodel (4.2.11) - activesupport (= 4.2.11) + activemodel (4.2.11.1) + activesupport (= 4.2.11.1) builder (~> 3.1) - activerecord (4.2.11) - activemodel (= 4.2.11) - activesupport (= 4.2.11) + activerecord (4.2.11.1) + activemodel (= 4.2.11.1) + activesupport (= 4.2.11.1) arel (~> 6.0) - activesupport (4.2.11) + activesupport (4.2.11.1) i18n (~> 0.7) minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) @@ -51,13 +51,13 @@ GEM childprocess (0.9.0) ffi (~> 1.0, >= 1.0.11) coderay (1.1.2) - concurrent-ruby (1.1.4) + concurrent-ruby (1.1.5) crass (1.0.4) - css_parser (1.6.0) + css_parser (1.7.0) addressable docile (1.1.5) erubis (2.7.0) - ffi (1.10.0) + ffi (1.11.1) globalid (0.4.2) activesupport (>= 4.2.0) htmlentities (4.3.4) @@ -73,7 +73,7 @@ GEM metaclass (0.0.4) mime-types (3.2.2) mime-types-data (~> 3.2015) - mime-types-data (3.2018.0812) + mime-types-data (3.2019.0331) mimemagic (0.3.3) mini_mime (1.0.1) mini_portile2 (2.3.0) @@ -88,23 +88,23 @@ GEM pg (0.18.4) protected_attributes (1.1.4) activemodel (>= 4.0.1, < 5.0) - public_suffix (3.0.3) + public_suffix (3.1.0) rack (1.6.11) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) rack-test (0.6.3) rack (>= 1.0) - rails (4.2.11) - actionmailer (= 4.2.11) - actionpack (= 4.2.11) - actionview (= 4.2.11) - activejob (= 4.2.11) - activemodel (= 4.2.11) - activerecord (= 4.2.11) - activesupport (= 4.2.11) + rails (4.2.11.1) + actionmailer (= 4.2.11.1) + actionpack (= 4.2.11.1) + actionview (= 4.2.11.1) + activejob (= 4.2.11.1) + activemodel (= 4.2.11.1) + activerecord (= 4.2.11.1) + activesupport (= 4.2.11.1) bundler (>= 1.3.0, < 2.0) - railties (= 4.2.11) + railties (= 4.2.11.1) sprockets-rails rails-deprecated_sanitizer (1.0.3) activesupport (>= 4.2.0.alpha) @@ -114,13 +114,13 @@ GEM rails-deprecated_sanitizer (>= 1.0.1) rails-html-sanitizer (1.0.4) loofah (~> 2.2, >= 2.2.2) - railties (4.2.11) - actionpack (= 4.2.11) - activesupport (= 4.2.11) + railties (4.2.11.1) + actionpack (= 4.2.11.1) + activesupport (= 4.2.11.1) rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) rake (12.3.2) - rbpdf (1.19.7) + rbpdf (1.19.8) htmlentities rbpdf-font (~> 1.19.0) rbpdf-font (1.19.1) @@ -135,7 +135,7 @@ GEM railties (>= 3.0, < 5.1) roadie (~> 3.1) ruby-openid (2.3.0) - rubyzip (1.2.2) + rubyzip (1.2.3) selenium-webdriver (2.53.4) childprocess (~> 0.5) rubyzip (~> 1.0) @@ -161,7 +161,7 @@ GEM websocket (1.2.8) xpath (3.2.0) nokogiri (~> 1.8) - yard (0.9.18) + yard (0.9.19) PLATFORMS ruby @@ -184,14 +184,14 @@ DEPENDENCIES pg (~> 0.18.1) protected_attributes rack-openid - rails (= 4.2.11) + rails (= 4.2.11.1) rails-dom-testing rails-html-sanitizer (>= 1.0.3) rbpdf (~> 1.19.6) rdoc (~> 4.3) redcarpet (~> 3.4.0) request_store (= 1.0.5) - rmagick (>= 2.14.0) + rmagick (~> 2.16.0) roadie (~> 3.2.1) roadie-rails (~> 1.1.1) ruby-openid (~> 2.3.0) diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/applications/version-management/redmine/default.nix index 02ae5da0f3f..0b1f64b58a1 100644 --- a/pkgs/applications/version-management/redmine/default.nix +++ b/pkgs/applications/version-management/redmine/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, bundlerEnv, ruby }: let - version = "3.4.8"; + version = "3.4.11"; rubyEnv = bundlerEnv { name = "redmine-env-${version}"; @@ -11,11 +11,12 @@ let }; in stdenv.mkDerivation rec { - name = "redmine-${version}"; + pname = "redmine"; + inherit version; src = fetchurl { - url = "https://www.redmine.org/releases/${name}.tar.gz"; - sha256 = "1d8bj3hx2nlyvsqbx7zbslb4dgwgyxidj4jzh4n2ki0i7vgw0x5m"; + url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz"; + sha256 = "14987sd9ff2n3982qlfwd4m0g1m10w8jyv791nica3wppvnrxh0r"; }; buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ]; @@ -37,7 +38,7 @@ in meta = with stdenv.lib; { homepage = http://www.redmine.org/; platforms = platforms.linux; - maintainers = [ maintainers.garbas maintainers.aanderse ]; + maintainers = [ maintainers.aanderse ]; license = licenses.gpl2; }; } diff --git a/pkgs/applications/version-management/redmine/gemset.nix b/pkgs/applications/version-management/redmine/gemset.nix index 0a231c99579..4ef4bd40427 100644 --- a/pkgs/applications/version-management/redmine/gemset.nix +++ b/pkgs/applications/version-management/redmine/gemset.nix @@ -3,19 +3,19 @@ dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zkklsh7ymhvdm5p9fr5ycd39d5caassag8yq0dga9cbk7fps74m"; + sha256 = "18wwlj4f7jffv3vxm80d2z36nwza95l5xfcqc401hvvrls4xzhsy"; type = "gem"; }; - version = "4.2.11"; + version = "4.2.11.1"; }; actionpack = { dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "13xkil3y7gjj0m4ky14asi4m08x69wwv63wfn0h95wli4x8h8w7r"; + sha256 = "0rmldsk3a4lwxk0lrp6x1nz1v1r2xmbm3300l4ghgfygv3grdwjh"; type = "gem"; }; - version = "4.2.11"; + version = "4.2.11.1"; }; actionpack-xml_parser = { dependencies = ["actionpack"]; @@ -30,46 +30,46 @@ dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "09vwq0xgxxhssxxh8fa7l2pv6a56smw3v6gvb9l1mycmf8vprd4b"; + sha256 = "0x7vjn8q6blzyf7j3kwg0ciy7vnfh28bjdkd1mp9k4ghp9jn0g9p"; type = "gem"; }; - version = "4.2.11"; + version = "4.2.11.1"; }; activejob = { dependencies = ["activesupport" "globalid"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "12yqs22f4lz20nw6djsrkhii3p3nfpd51nw0lhvnczx0q8kl0nyk"; + sha256 = "0jy1c1r6syjqpa0sh9f1p4iaxzvp6qg4n6zs774j9z27q7h407mj"; type = "gem"; }; - version = "4.2.11"; + version = "4.2.11.1"; }; activemodel = { dependencies = ["activesupport" "builder"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "11aqvabf5c1pgb404f5bqp1i7mxkyhzmwk6y8zm5w6rf4nq095mq"; + sha256 = "1c1x0rd6wnk1f0gsmxs6x3gx7yf6fs9qqkdv7r4hlbcdd849in33"; type = "gem"; }; - version = "4.2.11"; + version = "4.2.11.1"; }; activerecord = { dependencies = ["activemodel" "activesupport" "arel"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1sw0m19cnasbr4cabvc302hjddc3s6fja3fr0gbj9h2n8b3633i5"; + sha256 = "07ixiwi0zzs9skqarvpfamsnay7npfswymrn28ngxaf8hi279q5p"; type = "gem"; }; - version = "4.2.11"; + version = "4.2.11.1"; }; activesupport = { dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pqr25wmhvvlg8av7bi5p5c7r5464clhhhhv45j63bh7xw4ad6n4"; + sha256 = "1vbq7a805bfvyik2q3kl9s3r418f5qzvysqbz2cwy4hr7m2q4ir6"; type = "gem"; }; - version = "4.2.11"; + version = "4.2.11.1"; }; addressable = { dependencies = ["public_suffix"]; @@ -125,10 +125,10 @@ concurrent-ruby = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1ixcx9pfissxrga53jbdpza85qd5f6b5nq1sfqa9rnfq82qnlbp1"; + sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; type = "gem"; }; - version = "1.1.4"; + version = "1.1.5"; }; crass = { source = { @@ -142,10 +142,10 @@ dependencies = ["addressable"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gwvf8mc8gnz4aizfijplv3594998h2j44ydakpzsdmkivs07v61"; + sha256 = "1y4vc018b5mzp7winw4pbb22jk0dpxp22pzzxq7w0rgvfxzi89pd"; type = "gem"; }; - version = "1.6.0"; + version = "1.7.0"; }; docile = { source = { @@ -166,10 +166,10 @@ ffi = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p"; + sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh"; type = "gem"; }; - version = "1.10.0"; + version = "1.11.1"; }; globalid = { dependencies = ["activesupport"]; @@ -243,10 +243,10 @@ mime-types-data = { source = { remotes = ["https://rubygems.org"]; - sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc"; + sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a"; type = "gem"; }; - version = "3.2018.0812"; + version = "3.2019.0331"; }; mimemagic = { source = { @@ -342,10 +342,10 @@ public_suffix = { source = { remotes = ["https://rubygems.org"]; - sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; + sha256 = "1c7c5xxkx91hwj4572hbnyvxmydb90q69wlpr2l0dxrmwx2p365l"; type = "gem"; }; - version = "3.0.3"; + version = "3.1.0"; }; rack = { source = { @@ -377,10 +377,10 @@ dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rhp1l5klw8alqnzji2p4w01x7ygsfnzc7mf87ncr2jlizmgy4nx"; + sha256 = "1ywvis59dd3v8qapi9ix6743zgk07l21x1cd6nb1ddpahxhm7dml"; type = "gem"; }; - version = "4.2.11"; + version = "4.2.11.1"; }; rails-deprecated_sanitizer = { dependencies = ["activesupport"]; @@ -413,10 +413,10 @@ dependencies = ["actionpack" "activesupport" "rake" "thor"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "09x32zkxs0vfi4y0bjrqd61821kx2azwhdxvk2ygqj4yvxfh11i1"; + sha256 = "1bjf21z9maiiazc1if56nnh9xmgbkcqlpznv34f40a1hsvgk1d1m"; type = "gem"; }; - version = "4.2.11"; + version = "4.2.11.1"; }; rake = { source = { @@ -430,10 +430,10 @@ dependencies = ["htmlentities" "rbpdf-font"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0i00mmc028p7hnpwlx9r6zdwwz589kd9ns6qpxmgl6f620n1fvs2"; + sha256 = "0fnhcn4z2zz6ic1yvl5hmhwmkdnybh8f8fnk1ni7bvl2s4ig5195"; type = "gem"; }; - version = "1.19.7"; + version = "1.19.8"; }; rbpdf-font = { source = { @@ -504,10 +504,10 @@ rubyzip = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj"; + sha256 = "1w9gw28ly3zyqydnm8phxchf4ymyjl2r7zf7c12z8kla10cpmhlc"; type = "gem"; }; - version = "1.2.2"; + version = "1.2.3"; }; selenium-webdriver = { dependencies = ["childprocess" "rubyzip" "websocket"]; @@ -607,9 +607,9 @@ yard = { source = { remotes = ["https://rubygems.org"]; - sha256 = "07fykkfyrwqkfnxx9i5w6adyiadz00h497c516n96rgvs7alc74f"; + sha256 = "1w0i13a0vsw4jmlj59xn64rdsqcsl9r3rmjjgdca5i51m1q4ix6v"; type = "gem"; }; - version = "0.9.18"; + version = "0.9.19"; }; } \ No newline at end of file diff --git a/pkgs/applications/version-management/sit/default.nix b/pkgs/applications/version-management/sit/default.nix index 75368bd8846..7d655bfc5d3 100644 --- a/pkgs/applications/version-management/sit/default.nix +++ b/pkgs/applications/version-management/sit/default.nix @@ -4,13 +4,13 @@ rustPlatform.buildRustPackage rec { name = "sit-${version}"; - version = "0.4.0"; + version = "0.4.1"; src = fetchFromGitHub { owner = "sit-fyi"; repo = "sit"; rev = "v${version}"; - sha256 = "10ycs6vc7mfzxnxrki09xn974pcwh196h1pfnsds98x6r87hxkpn"; + sha256 = "06xkhlfix0h6di6cnvc4blbj3mjy90scbh89dvywbx16wjlc79pf"; }; buildInputs = [ cmake libzip gnupg ] ++ @@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec { export HOME=$(mktemp -d) ''; - cargoSha256 = "023anmnprxbsvqww1b1bdyfhbhjh1ah2kc67cdihvdvi4lqdmbia"; + cargoSha256 = "0kijx7s7zh6yisrsjz213h9x5jx43ixr44vy5rb3wwbn9dgsr528"; meta = with stdenv.lib; { description = "Serverless Information Tracker"; diff --git a/pkgs/applications/version-management/smartgithg/default.nix b/pkgs/applications/version-management/smartgithg/default.nix index 153c6d78a7b..343d88554d6 100644 --- a/pkgs/applications/version-management/smartgithg/default.nix +++ b/pkgs/applications/version-management/smartgithg/default.nix @@ -1,63 +1,90 @@ -{ stdenv, fetchurl, lib, makeWrapper -, substituteAll +{ stdenv +, fetchurl +, makeDesktopItem , jre -, gtk2, glib +, gtk3 +, glib +, gnome3 +, wrapGAppsHook +, hicolor-icon-theme , libXtst , which }: stdenv.mkDerivation rec { - name = "smartgithg-${version}"; - version = "18.2.4"; + pname = "smartgithg"; + version = "19.1.1"; src = fetchurl { url = "https://www.syntevo.com/downloads/smartgit/smartgit-linux-${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.gz"; - sha256 = "0ch6vcvndn1fpx05ym9yp2ssfw2af6ac0pw8ssvjkc676zc0jr73"; + sha256 = "0i0dvyy9d63f4hk8czlyk83ai0ywhqp7wbdkq3s87l7irwgs42jy"; }; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ wrapGAppsHook ]; - buildInputs = [ jre ]; + buildInputs = [ jre gnome3.adwaita-icon-theme hicolor-icon-theme gtk3 ]; - buildCommand = let - pkg_path = "$out/${name}"; - bin_path = "$out/bin"; - install_freedesktop_items = substituteAll { - inherit (stdenv) shell; - src = ./install_freedesktop_items.sh; - }; - runtime_paths = lib.makeBinPath [ - jre - #git mercurial subversion # the paths are requested in configuration - which - ]; - runtime_lib_paths = lib.makeLibraryPath [ - gtk2 glib - libXtst - ]; - in '' - tar xvzf $src - mkdir -pv $out - mkdir -pv ${pkg_path} - # unpacking should have produced a dir named 'smartgit' - cp -a smartgit/* ${pkg_path} - # prevent using packaged jre - rm -r ${pkg_path}/jre - mkdir -pv ${bin_path} - jre=${jre.home} - makeWrapper ${pkg_path}/bin/smartgit.sh ${bin_path}/smartgit \ - --prefix PATH : ${runtime_paths} \ - --prefix LD_LIBRARY_PATH : ${runtime_lib_paths} \ + preFixup = with stdenv.lib; '' + gappsWrapperArgs+=( \ + --prefix PATH : ${makeBinPath [ jre which ]} \ + --prefix LD_LIBRARY_PATH : ${makeLibraryPath [ + gtk3 + glib + libXtst + ]} \ --prefix JRE_HOME : ${jre} \ --prefix JAVA_HOME : ${jre} \ - --prefix SMARTGITHG_JAVA_HOME : ${jre} - sed -i '/ --login/d' ${pkg_path}/bin/smartgit.sh - patchShebangs $out - cp ${bin_path}/smartgit ${bin_path}/smartgithg - - ${install_freedesktop_items} "${pkg_path}/bin" "$out" + --prefix SMARTGITHG_JAVA_HOME : ${jre} \ + ) \ ''; + installPhase = '' + runHook preInstall + + sed -i '/ --login/d' bin/smartgit.sh + mkdir -pv $out/{bin,share/applications,share/icons/hicolor/scalable/apps/} + cp -av ./{dictionaries,lib} $out/ + cp -av bin/smartgit.sh $out/bin/smartgit + ln -sfv $out/bin/smartgit $out/bin/smartgithg + + cp -av $desktopItem/share/applications/* $out/share/applications/ + for icon_size in 32 48 64 128 256; do + path=$icon_size'x'$icon_size + icon=bin/smartgit-$icon_size.png + mkdir -p $out/share/icons/hicolor/$path/apps + cp $icon $out/share/icons/hicolor/$path/apps/smartgit.png + done + + cp -av bin/smartgit.svg $out/share/icons/hicolor/scalable/apps/ + + runHook postInstall + ''; + + desktopItem = with stdenv.lib; makeDesktopItem rec { + name = "smartgit"; + exec = "smartgit"; + comment = meta.description; + icon = "smartgit"; + desktopName = "SmartGit"; + categories = concatStringsSep ";" [ + "Application" + "Development" + "RevisionControl" + ]; + mimeType = concatStringsSep ";" [ + "x-scheme-handler/git" + "x-scheme-handler/smartgit" + "x-scheme-handler/sourcetree" + ]; + startupNotify = "true"; + extraEntries = '' + Keywords=git + StartupWMClass=${name} + Version=1.0 + Encoding=UTF-8 + ''; + }; + meta = with stdenv.lib; { description = "GUI for Git, Mercurial, Subversion"; homepage = http://www.syntevo.com/smartgit/; diff --git a/pkgs/applications/version-management/smartgithg/install_freedesktop_items.sh b/pkgs/applications/version-management/smartgithg/install_freedesktop_items.sh deleted file mode 100755 index 2ff14dcf099..00000000000 --- a/pkgs/applications/version-management/smartgithg/install_freedesktop_items.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!@shell@ - -inBinDir=$1 -out=$2 - -cat $inBinDir/add-menuitem.sh | \ -sed -re 's#xdg-icon-resource[ ]+install[ ]+--size[ ]+([0-9]+)[ ]+("[^"]+")[ ]+([$0-9a-zA-Z_]+)#mkdir -p '${out}'/share/icons/hicolor/\1x\1/apps \&\& cp \2 '${out}'/share/icons/hicolor/\1x\1/apps/\3\.png #' | \ -sed -re 's#xdg-desktop-menu[ ]+install[ ]+([$0-9a-zA-Z_]+)#mkdir -p '${out}'/share/applications \&\& cp \1 '${out}'/share/applications/#' | \ -sed -re 's#Exec="[^"]+"#Exec=smartgit#' | -sed -re 's#SMARTGIT_BIN=.*#'SMARTGIT_BIN=${inBinDir}'#' \ -| bash diff --git a/pkgs/applications/version-management/sourcehut/builds.nix b/pkgs/applications/version-management/sourcehut/builds.nix new file mode 100644 index 00000000000..e554afe4a92 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/builds.nix @@ -0,0 +1,60 @@ +{ stdenv, fetchgit, buildPythonPackage +, python +, buildGoModule +, srht, redis, celery, pyyaml, markdown }: + +let + version = "0.45.13"; + + buildWorker = src: buildGoModule { + inherit src version; + pname = "builds-sr-ht-worker"; + goPackagePath = "git.sr.ht/~sircmpwn/builds.sr.ht/worker"; + + modSha256 = "1jm259ncw8dgqp0fqbjn30c4y3v3vwqj41gfh99jx30bwlmpgfax"; + }; +in buildPythonPackage rec { + inherit version; + pname = "buildsrht"; + + src = fetchgit { + url = "https://git.sr.ht/~sircmpwn/builds.sr.ht"; + rev = version; + sha256 = "002pcj2a98gbmv77a10449w1q6iqhqjz4fim8hm4qm7vn6bwp0hz"; + }; + + patches = [ + ./use-srht-path.patch + ]; + + nativeBuildInputs = srht.nativeBuildInputs; + + propagatedBuildInputs = [ + srht + redis + celery + pyyaml + markdown + ]; + + preBuild = '' + export PKGVER=${version} + export SRHT_PATH=${srht}/${python.sitePackages}/srht + ''; + + postInstall = '' + mkdir -p $out/lib + mkdir -p $out/bin/builds.sr.ht + + cp -r images $out/lib + cp contrib/submit_image_build $out/bin/builds.sr.ht + cp ${buildWorker "${src}/worker"}/bin/worker $out/bin/builds.sr.ht-worker + ''; + + meta = with stdenv.lib; { + homepage = https://git.sr.ht/~sircmpwn/builds.sr.ht; + description = "Continuous integration service for the sr.ht network"; + license = licenses.agpl3; + maintainers = with maintainers; [ eadwu ]; + }; +} diff --git a/pkgs/applications/version-management/sourcehut/core.nix b/pkgs/applications/version-management/sourcehut/core.nix new file mode 100644 index 00000000000..ca054c5cfde --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/core.nix @@ -0,0 +1,80 @@ +{ stdenv, fetchgit, fetchNodeModules, buildPythonPackage +, pgpy, flask, bleach, misaka, humanize, markdown, psycopg2, pygments, requests +, sqlalchemy, flask_login, beautifulsoup4, sqlalchemy-utils, celery, alembic +, sassc, nodejs-11_x +, writeText }: + +buildPythonPackage rec { + pname = "srht"; + version = "0.52.13"; + + src = fetchgit { + url = "https://git.sr.ht/~sircmpwn/core.sr.ht"; + rev = version; + sha256 = "0i7gd2rkq4y4lffxsgb3mql9ddmk3vqckan29w266imrqs6p8c0z"; + }; + + node_modules = fetchNodeModules { + src = "${src}/srht"; + nodejs = nodejs-11_x; + sha256 = "0axl50swhcw8llq8z2icwr4nkr5qsw2riih0a040f9wx4xiw4p6p"; + }; + + patches = [ + ./disable-npm-install.patch + ]; + + nativeBuildInputs = [ + sassc + nodejs-11_x + ]; + + propagatedBuildInputs = [ + pgpy + flask + bleach + misaka + humanize + markdown + psycopg2 + pygments + requests + sqlalchemy + flask_login + beautifulsoup4 + sqlalchemy-utils + + # Unofficial runtime dependencies? + celery + alembic + ]; + + PKGVER = version; + + preBuild = '' + cp -r ${node_modules} srht/node_modules + ''; + + # No actual? tests but seems like it needs this anyway + preCheck = let + config = writeText "config.ini" '' + [webhooks] + private-key=K6JupPpnr0HnBjelKTQUSm3Ro9SgzEA2T2Zv472OvzI= + + [meta.sr.ht] + origin=http://meta.sr.ht.local + ''; + in '' + # Validation needs config option(s) + # webhooks <- ( private-key ) + # meta.sr.ht <- ( origin ) + cp ${config} config.ini + ''; + + meta = with stdenv.lib; { + homepage = https://git.sr.ht/~sircmpwn/srht; + description = "Core modules for sr.ht"; + license = licenses.bsd3; + maintainers = with maintainers; [ eadwu ]; + }; +} diff --git a/pkgs/applications/version-management/sourcehut/default.nix b/pkgs/applications/version-management/sourcehut/default.nix new file mode 100644 index 00000000000..00a3cf27111 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/default.nix @@ -0,0 +1,39 @@ +{ python37, openssl +, callPackage }: + +# To expose the *srht modules, they have to be a python module so we use `buildPythonModule` +# Then we expose them through all-packages.nix as an application through `toPythonApplication` +# https://github.com/NixOS/nixpkgs/pull/54425#discussion_r250688781 + +let + fetchNodeModules = callPackage ../../networking/instant-messengers/rambox/fetchNodeModules.nix { }; + + python = python37.override { + packageOverrides = self: super: { + srht = self.callPackage ./core.nix { inherit fetchNodeModules; }; + + buildsrht = self.callPackage ./builds.nix { }; + dispatchsrht = self.callPackage ./dispatch.nix { }; + gitsrht = self.callPackage ./git.nix { }; + hgsrht = self.callPackage ./hg.nix { }; + listssrht = self.callPackage ./lists.nix { }; + mansrht = self.callPackage ./man.nix { }; + metasrht = self.callPackage ./meta.nix { }; + pastesrht = self.callPackage ./paste.nix { }; + todosrht = self.callPackage ./todo.nix { }; + + scmsrht = self.callPackage ./scm.nix { }; + }; + }; +in with python.pkgs; { + inherit python; + buildsrht = toPythonApplication buildsrht; + dispatchsrht = toPythonApplication dispatchsrht; + gitsrht = toPythonApplication gitsrht; + hgsrht = toPythonApplication hgsrht; + listssrht = toPythonApplication listssrht; + mansrht = toPythonApplication mansrht; + metasrht = toPythonApplication metasrht; + pastesrht = toPythonApplication pastesrht; + todosrht = toPythonApplication todosrht; +} diff --git a/pkgs/applications/version-management/sourcehut/disable-npm-install.patch b/pkgs/applications/version-management/sourcehut/disable-npm-install.patch new file mode 100644 index 00000000000..3a8d1c82b34 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/disable-npm-install.patch @@ -0,0 +1,14 @@ +diff --git a/setup.py b/setup.py +index d63bac8..e1d0c35 100755 +--- a/setup.py ++++ b/setup.py +@@ -5,9 +5,6 @@ import glob + import os + import sys + +-if subprocess.call(["npm", "i"], cwd="srht") != 0: +- sys.exit(1) +- + ver = os.environ.get("PKGVER") or subprocess.run(['git', 'describe', '--tags'], + stdout=subprocess.PIPE).stdout.decode().strip() + diff --git a/pkgs/applications/version-management/sourcehut/dispatch.nix b/pkgs/applications/version-management/sourcehut/dispatch.nix new file mode 100644 index 00000000000..c77fc902277 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/dispatch.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchgit, buildPythonPackage +, python +, srht, pyyaml, PyGithub, cryptography }: + +buildPythonPackage rec { + pname = "dispatchsrht"; + version = "0.11.0"; + + src = fetchgit { + url = "https://git.sr.ht/~sircmpwn/dispatch.sr.ht"; + rev = version; + sha256 = "1kahl2gy5a5li79djwkzkglkw2s7pl4d29bzqp8c53r0xvx4sqkz"; + }; + + patches = [ + ./use-srht-path.patch + ]; + + nativeBuildInputs = srht.nativeBuildInputs; + + propagatedBuildInputs = [ + srht + pyyaml + PyGithub + cryptography + ]; + + preBuild = '' + export PKGVER=${version} + export SRHT_PATH=${srht}/${python.sitePackages}/srht + ''; + + meta = with stdenv.lib; { + homepage = https://dispatch.sr.ht/~sircmpwn/dispatch.sr.ht; + description = "Task dispatcher and service integration tool for the sr.ht network"; + license = licenses.agpl3; + maintainers = with maintainers; [ eadwu ]; + }; +} diff --git a/pkgs/applications/version-management/sourcehut/git.nix b/pkgs/applications/version-management/sourcehut/git.nix new file mode 100644 index 00000000000..996663761a7 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/git.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchgit, buildPythonPackage +, python +, buildGoModule +, srht, pygit2, scmsrht }: + +let + version = "0.32.3"; + + buildDispatcher = src: buildGoModule { + inherit src version; + pname = "git-sr-ht-dispatcher"; + goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-dispatch"; + + modSha256 = "1lmgmlin460g09dph2hw6yz25d4agqwjhrjv0qqsis7df9qpf3i1"; + }; +in buildPythonPackage rec { + inherit version; + pname = "gitsrht"; + + src = fetchgit { + url = "https://git.sr.ht/~sircmpwn/git.sr.ht"; + rev = version; + sha256 = "0grycmblhm9dnhcf1kcmn6bclgb9znahk2026dan58m9j9pja5vw"; + }; + + patches = [ + ./use-srht-path.patch + ]; + + nativeBuildInputs = srht.nativeBuildInputs; + + propagatedBuildInputs = [ + srht + pygit2 + scmsrht + ]; + + preBuild = '' + export PKGVER=${version} + export SRHT_PATH=${srht}/${python.sitePackages}/srht + ''; + + # TODO: Remove redundant mkdir? + postInstall = '' + mkdir -p $out/bin + cp ${buildDispatcher "${src}/gitsrht-dispatch"}/bin/gitsrht-dispatch $out/bin/gitsrht-dispatch + ''; + + meta = with stdenv.lib; { + homepage = https://git.sr.ht/~sircmpwn/git.sr.ht; + description = "Git repository hosting service for the sr.ht network"; + license = licenses.agpl3; + maintainers = with maintainers; [ eadwu ]; + }; +} diff --git a/pkgs/applications/version-management/sourcehut/hg.nix b/pkgs/applications/version-management/sourcehut/hg.nix new file mode 100644 index 00000000000..93817648468 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/hg.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchhg, buildPythonPackage +, python +, srht, hglib, scmsrht, unidiff }: + +buildPythonPackage rec { + pname = "hgsrht"; + version = "0.13.0"; + + src = fetchhg { + url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht"; + rev = version; + sha256 = "0qkknvja0pyk69fvzqafj3x8hi5miw22nmksvifbrjcqph8jknqg"; + }; + + patches = [ + ./use-srht-path.patch + ]; + + nativeBuildInputs = srht.nativeBuildInputs; + + propagatedBuildInputs = [ + srht + hglib + scmsrht + unidiff + ]; + + preBuild = '' + export PKGVER=${version} + export SRHT_PATH=${srht}/${python.sitePackages}/srht + ''; + + meta = with stdenv.lib; { + homepage = https://git.sr.ht/~sircmpwn/hg.sr.ht; + description = "Mercurial repository hosting service for the sr.ht network"; + license = licenses.agpl3; + maintainers = with maintainers; [ eadwu ]; + }; +} diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix new file mode 100644 index 00000000000..ac36a219a91 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/lists.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchgit, buildPythonPackage +, python +, srht, asyncpg, unidiff, aiosmtpd, emailthreads }: + +buildPythonPackage rec { + pname = "listssrht"; + version = "0.36.3"; + + src = fetchgit { + url = "https://git.sr.ht/~sircmpwn/lists.sr.ht"; + rev = version; + sha256 = "1q2z2pjwz4zifsrkxab9b9jh1vzayjqych1cx3i4859f1swl2gwa"; + }; + + patches = [ + ./use-srht-path.patch + ]; + + nativeBuildInputs = srht.nativeBuildInputs; + + propagatedBuildInputs = [ + srht + asyncpg + unidiff + aiosmtpd + emailthreads + ]; + + preBuild = '' + export PKGVER=${version} + export SRHT_PATH=${srht}/${python.sitePackages}/srht + ''; + + meta = with stdenv.lib; { + homepage = https://git.sr.ht/~sircmpwn/lists.sr.ht; + description = "Mailing list service for the sr.ht network"; + license = licenses.agpl3; + maintainers = with maintainers; [ eadwu ]; + }; +} diff --git a/pkgs/applications/version-management/sourcehut/man.nix b/pkgs/applications/version-management/sourcehut/man.nix new file mode 100644 index 00000000000..a0198cb52cf --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/man.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchgit, buildPythonPackage +, python +, srht, pygit2 }: + +buildPythonPackage rec { + pname = "mansrht"; + version = "0.12.4"; + + src = fetchgit { + url = "https://git.sr.ht/~sircmpwn/man.sr.ht"; + rev = version; + sha256 = "1csnw71yh5zw7l17xmmxyskwiqbls0ynbbjrg45y5k1i3622mhiy"; + }; + + patches = [ + ./use-srht-path.patch + ]; + + nativeBuildInputs = srht.nativeBuildInputs; + + propagatedBuildInputs = [ + srht + pygit2 + ]; + + preBuild = '' + export PKGVER=${version} + export SRHT_PATH=${srht}/${python.sitePackages}/srht + ''; + + meta = with stdenv.lib; { + homepage = https://git.sr.ht/~sircmpwn/man.sr.ht; + description = "Wiki service for the sr.ht network"; + license = licenses.agpl3; + maintainers = with maintainers; [ eadwu ]; + }; +} diff --git a/pkgs/applications/version-management/sourcehut/meta.nix b/pkgs/applications/version-management/sourcehut/meta.nix new file mode 100644 index 00000000000..af3685c472c --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/meta.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchgit, buildPythonPackage +, python +, pgpy, srht, redis, bcrypt, qrcode, stripe, zxcvbn, alembic, pystache +, sshpubkeys, weasyprint, prometheus_client }: + +buildPythonPackage rec { + pname = "metasrht"; + version = "0.34.3"; + + src = fetchgit { + url = "https://git.sr.ht/~sircmpwn/meta.sr.ht"; + rev = version; + sha256 = "1yj3npw1vlqawzj6q1mh6qryx009dg5prja9fn6rasfmxjn2gr7v"; + }; + + nativeBuildInputs = srht.nativeBuildInputs; + + propagatedBuildInputs = [ + pgpy + srht + redis + bcrypt + qrcode + stripe + zxcvbn + alembic + pystache + sshpubkeys + weasyprint + prometheus_client + ]; + + patches = [ + ./use-srht-path.patch + ]; + + preBuild = '' + export PKGVER=${version} + export SRHT_PATH=${srht}/${python.sitePackages}/srht + ''; + + meta = with stdenv.lib; { + homepage = https://git.sr.ht/~sircmpwn/meta.sr.ht; + description = "Account management service for the sr.ht network"; + license = licenses.agpl3; + maintainers = with maintainers; [ eadwu ]; + }; +} diff --git a/pkgs/applications/version-management/sourcehut/paste.nix b/pkgs/applications/version-management/sourcehut/paste.nix new file mode 100644 index 00000000000..47153d9f204 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/paste.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchgit, buildPythonPackage +, python +, srht, pyyaml }: + +buildPythonPackage rec { + pname = "pastesrht"; + version = "0.5.1"; + + src = fetchgit { + url = "https://git.sr.ht/~sircmpwn/paste.sr.ht"; + rev = version; + sha256 = "0bzw03hcwi1pw16kliqjsr7kphqq3qw0pbpdjqkcs7jdr0a59vny"; + }; + + patches = [ + ./use-srht-path.patch + ]; + + nativeBuildInputs = srht.nativeBuildInputs; + + propagatedBuildInputs = [ + srht + pyyaml + ]; + + preBuild = '' + export PKGVER=${version} + export SRHT_PATH=${srht}/${python.sitePackages}/srht + ''; + + meta = with stdenv.lib; { + homepage = https://git.sr.ht/~sircmpwn/paste.sr.ht; + description = "Ad-hoc text file hosting service for the sr.ht network"; + license = licenses.agpl3; + maintainers = with maintainers; [ eadwu ]; + }; +} diff --git a/pkgs/applications/version-management/sourcehut/scm.nix b/pkgs/applications/version-management/sourcehut/scm.nix new file mode 100644 index 00000000000..ef6ed3a744b --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/scm.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchgit, buildPythonPackage +, srht, redis, pyyaml, buildsrht +, writeText }: + +buildPythonPackage rec { + pname = "scmsrht"; + version = "0.13.3"; + + src = fetchgit { + url = "https://git.sr.ht/~sircmpwn/scm.sr.ht"; + rev = version; + sha256 = "0bapddgfqrs27y6prd6kwpz6jdlr33zdqr6ci6ixi584a7z8z7d6"; + }; + + nativeBuildInputs = srht.nativeBuildInputs; + + propagatedBuildInputs = [ + srht + redis + pyyaml + buildsrht + ]; + + preBuild = '' + export PKGVER=${version} + ''; + + # No actual? tests but seems like it needs this anyway + preCheck = let + config = writeText "config.ini" '' + [webhooks] + private-key=K6JupPpnr0HnBjelKTQUSm3Ro9SgzEA2T2Zv472OvzI= + + [builds.sr.ht] + origin=http://builds.sr.ht.local + oauth-client-id= + + [meta.sr.ht] + origin=http://meta.sr.ht.local + ''; + in '' + # Validation needs config option(s) + # webhooks <- ( private-key ) + # meta.sr.ht <- ( origin ) + # builds.sr.ht <- ( origin, oauth-client-id ) + cp ${config} config.ini + ''; + + meta = with stdenv.lib; { + homepage = https://git.sr.ht/~sircmpwn/git.sr.ht; + description = "Shared support code for sr.ht source control services."; + license = licenses.agpl3; + maintainers = with maintainers; [ eadwu ]; + }; +} diff --git a/pkgs/applications/version-management/sourcehut/todo.nix b/pkgs/applications/version-management/sourcehut/todo.nix new file mode 100644 index 00000000000..6b67478aa67 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/todo.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchgit, buildPythonPackage +, python +, srht, redis, alembic, pystache }: + +buildPythonPackage rec { + pname = "todosrht"; + version = "0.46.8"; + + src = fetchgit { + url = "https://git.sr.ht/~sircmpwn/todo.sr.ht"; + rev = version; + sha256 = "17nqqy81535jnkidjiqv8v2301w5wzbbvx4czib69aagw1l85gnn"; + }; + + patches = [ + ./use-srht-path.patch + ]; + + nativeBuildInputs = srht.nativeBuildInputs; + + propagatedBuildInputs = [ + srht + redis + alembic + pystache + ]; + + preBuild = '' + export PKGVER=${version} + export SRHT_PATH=${srht}/${python.sitePackages}/srht + ''; + + # Tests require a network connection + doCheck = false; + + meta = with stdenv.lib; { + homepage = https://todo.sr.ht/~sircmpwn/todo.sr.ht; + description = "Ticket tracking service for the sr.ht network"; + license = licenses.agpl3; + maintainers = with maintainers; [ eadwu ]; + }; +} diff --git a/pkgs/applications/version-management/sourcehut/update.sh b/pkgs/applications/version-management/sourcehut/update.sh new file mode 100755 index 00000000000..fdc0639c4c6 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/update.sh @@ -0,0 +1,54 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p git mercurial common-updater-scripts + +cd "$(dirname "${BASH_SOURCE[0]}")" +root=../../../.. + +default() { + (cd "$root" && nix-instantiate --eval --strict -A "sourcehut.python.pkgs.$1.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/') +} + +version() { + (cd "$root" && nix-instantiate --eval --strict -A "sourcehut.python.pkgs.$1.version" | tr -d '"') +} + +src_url() { + (cd "$root" && nix-instantiate --eval --strict -A "sourcehut.python.pkgs.$1.src.drvAttrs.url" | tr -d '"') +} + +get_latest_version() { + src="$(src_url "$1")" + tmp=$(mktemp -d) + + if [ "$1" = "hgsrht" ]; then + hg clone "$src" "$tmp" &> /dev/null + printf "%s" "$(cd "$tmp" && hg log --limit 1 --template '{latesttag}')" + else + git clone "$src" "$tmp" + printf "%s" "$(cd "$tmp" && git describe $(git rev-list --tags --max-count=1))" + fi +} + +update_version() { + default_nix="$(default "$1")" + version_old="$(version "$1")" + version="$(get_latest_version "$1")" + + (cd "$root" && update-source-version "sourcehut.python.pkgs.$1" "$version") + + git add "$default_nix" + git commit -m "$1: $version_old -> $version" +} + +services=( "srht" "buildsrht" "dispatchsrht" "gitsrht" "hgsrht" "listssrht" "mansrht" "metasrht" + "pastesrht" "todosrht" "scmsrht" ) + +# Whether or not a specific service is requested +if [ -n "$1" ]; then + version="$(get_latest_version "$1")" + (cd "$root" && update-source-version "sourcehut.python.pkgs.$1" "$version") +else + for service in "${services[@]}"; do + update_version "$service" + done +fi diff --git a/pkgs/applications/version-management/sourcehut/use-srht-path.patch b/pkgs/applications/version-management/sourcehut/use-srht-path.patch new file mode 100644 index 00000000000..43b494bf9d2 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/use-srht-path.patch @@ -0,0 +1,43 @@ +diff --git a/setup.py b/setup.py +index e6ecfb6..89fa92a 100755 +--- a/setup.py ++++ b/setup.py +@@ -5,28 +5,16 @@ import os + import site + import sys + +-if hasattr(site, 'getsitepackages'): +- pkg_dirs = site.getsitepackages() +- if site.getusersitepackages(): +- pkg_dirs.append(site.getusersitepackages()) +- for pkg_dir in pkg_dirs: +- srht_path = os.path.join(pkg_dir, "srht") +- if os.path.isdir(srht_path): +- break +- else: +- raise Exception("Can't find core srht module in your site packages " +- "directories. Please install it first.") +-else: +- srht_path = os.getenv("SRHT_PATH") +- if not srht_path: +- raise Exception("You're running inside a virtual environment. " +- "Due to virtualenv limitations, you need to set the " +- "$SRHT_PATH environment variable to the path of the " +- "core srht module.") +- elif not os.path.isdir(srht_path): +- raise Exception( +- "The $SRHT_PATH environment variable points to an invalid " +- "directory: {}".format(srht_path)) ++srht_path = os.getenv("SRHT_PATH") ++if not srht_path: ++ raise Exception("You're running inside a virtual environment. " ++ "Due to virtualenv limitations, you need to set the " ++ "$SRHT_PATH environment variable to the path of the " ++ "core srht module.") ++elif not os.path.isdir(srht_path): ++ raise Exception( ++ "The $SRHT_PATH environment variable points to an invalid " ++ "directory: {}".format(srht_path)) + + subp = subprocess.run(["make", "SRHT_PATH=" + srht_path]) + if subp.returncode != 0: diff --git a/pkgs/applications/version-management/src/default.nix b/pkgs/applications/version-management/src/default.nix index 1054a2c06cf..a3fcd209efc 100644 --- a/pkgs/applications/version-management/src/default.nix +++ b/pkgs/applications/version-management/src/default.nix @@ -1,21 +1,22 @@ { stdenv, fetchurl, python, rcs, git, makeWrapper }: stdenv.mkDerivation rec { - name = "src-${version}"; - version = "1.22"; + pname = "src"; + version = "1.26"; src = fetchurl { - url = "http://www.catb.org/~esr/src/${name}.tar.gz"; - sha256 = "0xvfg3aikr2jh09vjvxsha7day5br88chvirncr59ad40da1fils"; + url = "http://www.catb.org/~esr/src/${pname}-${version}.tar.gz"; + sha256 = "06npsnf2bfjgcs7wilhcqn24zn286nyy4qyp3yp88zapkxzlap23"; }; - buildInputs = [ python rcs git makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ python rcs git ]; preConfigure = '' patchShebangs . ''; - makeFlags = [ "prefix=$(out)" ]; + makeFlags = [ "prefix=${placeholder "out"}" ]; postInstall = '' wrapProgram $out/bin/src \ @@ -32,8 +33,9 @@ stdenv.mkDerivation rec { will seem familiar to Subversion/Git/hg users, and no binary blobs anywhere. ''; - homepage = http://www.catb.org/esr/src/; - license = licenses.bsd3; + homepage = "http://www.catb.org/esr/src/"; + changelog = "https://gitlab.com/esr/src/raw/${version}/NEWS"; + license = licenses.bsd2; platforms = platforms.all; maintainers = with maintainers; [ calvertvl AndersonTorres ]; }; diff --git a/pkgs/applications/version-management/srcml/default.nix b/pkgs/applications/version-management/srcml/default.nix index 8753d4f6f57..693af89d978 100644 --- a/pkgs/applications/version-management/srcml/default.nix +++ b/pkgs/applications/version-management/srcml/default.nix @@ -6,7 +6,7 @@ with stdenv.lib; stdenv.mkDerivation rec { version = "0.9.5_beta"; - name = "srcml-${version}"; + pname = "srcml"; src = fetchurl { url = "http://www.sdml.cs.kent.edu/lmcrs/srcML-${version}-src.tar.gz"; diff --git a/pkgs/applications/version-management/sublime-merge/common.nix b/pkgs/applications/version-management/sublime-merge/common.nix new file mode 100644 index 00000000000..c095aa49eaf --- /dev/null +++ b/pkgs/applications/version-management/sublime-merge/common.nix @@ -0,0 +1,117 @@ +{ buildVersion, sha256, dev ? false }: + +{ fetchurl, stdenv, xorg, glib, glibcLocales, gtk3, cairo, pango, libredirect, makeWrapper, wrapGAppsHook +, pkexecPath ? "/run/wrappers/bin/pkexec" +, writeScript, common-updater-scripts, curl, gnugrep, coreutils +}: + +let + pname = "sublime-merge"; + packageAttribute = "sublime-merge${stdenv.lib.optionalString dev "-dev"}"; + binaries = [ "sublime_merge" "crash_reporter" "git-credential-sublime" "ssh-askpass-sublime" ]; + primaryBinary = "sublime_merge"; + primaryBinaryAliases = [ "smerge" ]; + downloadUrl = "https://download.sublimetext.com/sublime_merge_build_${buildVersion}_${arch}.tar.xz"; + versionUrl = "https://www.sublimemerge.com/${if dev then "dev" else "download"}"; + versionFile = builtins.toString ./default.nix; + archSha256 = sha256; + arch = "x64"; + + libPath = stdenv.lib.makeLibraryPath [ xorg.libX11 glib gtk3 cairo pango ]; + redirects = [ "/usr/bin/pkexec=${pkexecPath}" "/bin/true=${coreutils}/bin/true" ]; +in let + binaryPackage = stdenv.mkDerivation { + pname = "${pname}-bin"; + version = buildVersion; + + src = fetchurl { + url = downloadUrl; + sha256 = archSha256; + }; + + dontStrip = true; + dontPatchELF = true; + buildInputs = [ glib gtk3 ]; # for GSETTINGS_SCHEMAS_PATH + nativeBuildInputs = [ makeWrapper wrapGAppsHook ]; + + buildPhase = '' + 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"} \ + $binary + done + + # Rewrite pkexec argument. Note that we cannot delete bytes in binary. + sed -i -e 's,/bin/cp\x00,cp\x00\x00\x00\x00\x00\x00,g' ${primaryBinary} + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -r * $out/ + + runHook postInstall + ''; + + dontWrapGApps = true; # non-standard location, need to wrap the executables manually + + postFixup = '' + wrapProgram $out/${primaryBinary} \ + --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ + --set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects} \ + --set LOCALE_ARCHIVE "${glibcLocales.out}/lib/locale/locale-archive" \ + "''${gappsWrapperArgs[@]}" + ''; + }; +in stdenv.mkDerivation (rec { + inherit pname; + version = buildVersion; + + phases = [ "installPhase" ]; + + ${primaryBinary} = binaryPackage; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + 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; { + description = "Git client from the makers of Sublime Text"; + homepage = https://www.sublimemerge.com; + maintainers = with maintainers; [ zookatron ]; + license = licenses.unfree; + platforms = [ "x86_64-linux" ]; + }; +}) diff --git a/pkgs/applications/version-management/sublime-merge/default.nix b/pkgs/applications/version-management/sublime-merge/default.nix new file mode 100644 index 00000000000..2734028866e --- /dev/null +++ b/pkgs/applications/version-management/sublime-merge/default.nix @@ -0,0 +1,16 @@ +{ callPackage }: + +let + common = opts: callPackage (import ./common.nix opts); +in { + sublime-merge = common { + buildVersion = "1116"; + sha256 = "0cwvn47dv0sg8cp8i3njmp4p58c6wjv6g75g09igx25waysn9cx6"; + } {}; + + sublime-merge-dev = common { + buildVersion = "1115"; + sha256 = "0dwgc9libqipwdgdc84maj1i3c8hbadz2318x1pibl6hbqy15bxl"; + dev = true; + } {}; +} diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index 64e8e5d2d25..dffe3fadd74 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -19,10 +19,10 @@ let common = { version, sha256, extraBuildInputs ? [ ] }: stdenv.mkDerivation (rec { inherit version; - name = "subversion-${version}"; + pname = "subversion"; src = fetchurl { - url = "mirror://apache/subversion/${name}.tar.bz2"; + url = "mirror://apache/subversion/${pname}-${version}.tar.bz2"; inherit sha256; }; @@ -38,9 +38,10 @@ let patches = [ ./apr-1.patch ]; - # SVN build seems broken on gcc5: - # https://gcc.gnu.org/gcc-5/porting_to.html - CPPFLAGS = "-P"; + # We are hitting the following issue even with APR 1.6.x + # -> https://issues.apache.org/jira/browse/SVN-4813 + # "-P" CPPFLAG is needed to build Python bindings and subversionClient + CPPFLAGS = [ "-P" ]; configureFlags = [ (stdenv.lib.withFeature bdbSupport "berkeley-db") @@ -97,7 +98,7 @@ let meta = with stdenv.lib; { description = "A version control system intended to be a compelling replacement for CVS in the open source community"; license = licenses.asl20; - homepage = http://subversion.apache.org/; + homepage = "http://subversion.apache.org/"; maintainers = with maintainers; [ eelco lovek323 ]; platforms = platforms.linux ++ platforms.darwin; }; @@ -110,25 +111,20 @@ let }); in { - subversion18 = common { - version = "1.8.19"; - sha256 = "1gp6426gkdza6ni2whgifjcmjb4nq34ljy07yxkrhlarvfq6ks2n"; - }; - subversion19 = common { - version = "1.9.9"; - sha256 = "1ll13ychbkp367c7zsrrpda5nygkryma5k18qfr8wbaq7dbvxzcd"; + version = "1.9.12"; + sha256 = "15z33gdnfiqblm5515020wfdwnp2837r3hnparava6m2fgyiafiw"; }; subversion_1_10 = common { - version = "1.10.3"; - sha256 = "1z6r3n91a4znsh68rl3jisfr7k4faymhbpalmmvsmvsap34al3cz"; + version = "1.10.6"; + sha256 = "19zc215mhpnm92mlyl5jbv57r5zqp6cavr3s2g9yglp6j4kfgj0q"; extraBuildInputs = [ lz4 utf8proc ]; }; - subversion_1_11 = common { - version = "1.11.1"; - sha256 = "1fv0psjxx5nxb4zmddyrma2bnv1bfff4p8ii6j8fqwjdr982gzcy"; + subversion = common { + version = "1.12.2"; + sha256 = "0wgpw3kzsiawzqk4y0xgh1z93kllxydgv4lsviim45y5wk4bbl1v"; extraBuildInputs = [ lz4 utf8proc ]; }; } diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix index dc458eba167..a6cdf2e4373 100644 --- a/pkgs/applications/version-management/tortoisehg/default.nix +++ b/pkgs/applications/version-management/tortoisehg/default.nix @@ -1,13 +1,30 @@ -{lib, fetchurl, mercurial, python2Packages}: +{ lib, fetchurl, python2Packages +, mercurial +}@args: +let + tortoisehgSrc = fetchurl rec { + meta.name = "tortoisehg-${meta.version}"; + meta.version = "5.0.2"; + url = "https://bitbucket.org/tortoisehg/targz/downloads/${meta.name}.tar.gz"; + sha256 = "1fkawx4ymaacah2wpv2w7rxmv1mx08mg4x4r4fxh41jz1njjb8sz"; + }; -python2Packages.buildPythonApplication rec { - name = "tortoisehg-${version}"; - version = "4.8.2"; + mercurial = + if args.mercurial.meta.version == tortoisehgSrc.meta.version + then args.mercurial + else args.mercurial.override { + mercurialSrc = fetchurl rec { + meta.name = "mercurial-${meta.version}"; + meta.version = tortoisehgSrc.meta.version; + url = "https://mercurial-scm.org/release/${meta.name}.tar.gz"; + sha256 = "1y60hfc8gh4ha9sw650qs7hndqmvbn0qxpmqwpn4q18z5xwm1f19"; + }; + }; - src = fetchurl { - url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz"; - sha256 = "02av8k241rn7b68g4kl22s7jqmlq545caah1a5rvbgy41y7zzjvh"; - }; +in python2Packages.buildPythonApplication rec { + + inherit (tortoisehgSrc.meta) name version; + src = tortoisehgSrc; pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ]; @@ -28,9 +45,11 @@ python2Packages.buildPythonApplication rec { $out/bin/thg version ''; + passthru.mercurial = mercurial; + meta = { description = "Qt based graphical tool for working with Mercurial"; - homepage = http://tortoisehg.bitbucket.org/; + homepage = https://tortoisehg.bitbucket.io/; license = lib.licenses.gpl2; platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ danbst ]; diff --git a/pkgs/applications/version-management/vcprompt/default.nix b/pkgs/applications/version-management/vcprompt/default.nix index c2bf0a4183c..2ad6b6f2f62 100644 --- a/pkgs/applications/version-management/vcprompt/default.nix +++ b/pkgs/applications/version-management/vcprompt/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchhg, autoconf, sqlite }: stdenv.mkDerivation rec { - name = "vcprompt-${version}"; + pname = "vcprompt"; version = "1.2.1"; src = fetchhg { diff --git a/pkgs/applications/version-management/vcsh/default.nix b/pkgs/applications/version-management/vcsh/default.nix index a90eb531fe5..577f2f01416 100644 --- a/pkgs/applications/version-management/vcsh/default.nix +++ b/pkgs/applications/version-management/vcsh/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "1.20170915"; # date of commit we're pulling - name = "vcsh-${version}"; + pname = "vcsh"; src = fetchFromGitHub { owner = "RichiH"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { description = "Version Control System for $HOME"; homepage = https://github.com/RichiH/vcsh; license = licenses.gpl2Plus; - maintainers = with maintainers; [ garbas ttuegel ]; + maintainers = with maintainers; [ ttuegel ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/version-management/yadm/default.nix b/pkgs/applications/version-management/yadm/default.nix index 6baeb5279c2..aed5cb807dc 100644 --- a/pkgs/applications/version-management/yadm/default.nix +++ b/pkgs/applications/version-management/yadm/default.nix @@ -2,7 +2,8 @@ let version = "1.12.0"; in stdenv.mkDerivation { - name = "yadm-${version}"; + pname = "yadm"; + inherit version; src = fetchFromGitHub { owner = "TheLocehiliosan"; diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix index a613ad1c584..2734035b6de 100644 --- a/pkgs/applications/video/aegisub/default.nix +++ b/pkgs/applications/video/aegisub/default.nix @@ -21,11 +21,11 @@ assert portaudioSupport -> (portaudio != null); with stdenv.lib; stdenv.mkDerivation rec { - name = "aegisub-${version}"; + pname = "aegisub"; version = "3.2.2"; src = fetchurl { - url = "http://ftp.aegisub.org/pub/releases/${name}.tar.xz"; + url = "http://ftp.aegisub.org/pub/releases/${pname}-${version}.tar.xz"; sha256 = "11b83qazc8h0iidyj1rprnnjdivj1lpphvpa08y53n42bfa36pn5"; }; @@ -48,6 +48,9 @@ stdenv.mkDerivation rec { hardeningDisable = [ "bindnow" "relro" ]; + # compat with icu61+ https://github.com/unicode-org/icu/blob/release-64-2/icu4c/readme.html#L554 + CXXFLAGS = [ "-DU_USING_ICU_NAMESPACE=1" ]; + # this is fixed upstream though not yet in an officially released version, # should be fine remove on next release (if one ever happens) NIX_LDFLAGS = [ diff --git a/pkgs/applications/video/avidemux/default.nix b/pkgs/applications/video/avidemux/default.nix index 5fcab43c86b..c28d900dd9f 100644 --- a/pkgs/applications/video/avidemux/default.nix +++ b/pkgs/applications/video/avidemux/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, cmake, pkgconfig , zlib, gettext, libvdpau, libva, libXv, sqlite , yasm, freetype, fontconfig, fribidi -, makeWrapper, libXext, libGLU, qttools, qtbase +, makeWrapper, libXext, libGLU, qttools, qtbase, wrapQtAppsHook , alsaLib , withX265 ? true, x265 , withX264 ? true, x264 @@ -24,12 +24,12 @@ assert default != "qt5" -> default == "cli"; assert !withQT -> default != "qt5"; stdenv.mkDerivation rec { - name = "avidemux-${version}"; - version = "2.7.1"; + pname = "avidemux"; + version = "2.7.4"; src = fetchurl { url = "mirror://sourceforge/avidemux/avidemux/${version}/avidemux_${version}.tar.gz"; - sha256 = "15g9h791qbnmycabbbl7s2b3n3xpvygm88qrfk35g2cw6957ik9w"; + sha256 = "1acdb3m37vdzzbm8mwyibcn8msi7birb5v30qfi7jli5r00src3x"; }; patches = [ @@ -37,7 +37,9 @@ stdenv.mkDerivation rec { ./bootstrap_logging.patch ]; - nativeBuildInputs = [ yasm cmake pkgconfig ]; + nativeBuildInputs = + [ yasm cmake pkgconfig ] + ++ lib.optional withQT wrapQtAppsHook; buildInputs = [ zlib gettext libvdpau libva libXv sqlite fribidi fontconfig freetype alsaLib libXext libGLU makeWrapper @@ -55,7 +57,10 @@ stdenv.mkDerivation rec { buildCommand = let qtVersion = "5.${stdenv.lib.versions.minor qtbase.version}"; - wrapProgram = f: "wrapProgram ${f} --set ADM_ROOT_DIR $out --prefix LD_LIBRARY_PATH : ${libXext}/lib"; + wrapWith = makeWrapper: filename: + "${makeWrapper} ${filename} --set ADM_ROOT_DIR $out --prefix LD_LIBRARY_PATH : ${libXext}/lib"; + wrapQtApp = wrapWith "wrapQtApp"; + wrapProgram = wrapWith "wrapProgram"; in '' unpackPhase cd "$sourceRoot" @@ -74,8 +79,8 @@ stdenv.mkDerivation rec { ${wrapProgram "$out/bin/avidemux3_cli"} ${stdenv.lib.optionalString withQT '' - ${wrapProgram "$out/bin/avidemux3_qt5"} --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-${qtVersion}/plugins - ${wrapProgram "$out/bin/avidemux3_jobs_qt5"} --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-${qtVersion}/plugins + ${wrapQtApp "$out/bin/avidemux3_qt5"} + ${wrapQtApp "$out/bin/avidemux3_jobs_qt5"} ''} ln -s "$out/bin/avidemux3_${default}" "$out/bin/avidemux" diff --git a/pkgs/applications/video/avxsynth/default.nix b/pkgs/applications/video/avxsynth/default.nix index a76608bdd90..3d598086329 100644 --- a/pkgs/applications/video/avxsynth/default.nix +++ b/pkgs/applications/video/avxsynth/default.nix @@ -8,7 +8,7 @@ let in stdenv.mkDerivation rec { - name = "avxsynth-${version}"; + pname = "avxsynth"; version = "2015-04-07"; src = fetchFromGitHub { diff --git a/pkgs/applications/video/bino3d/default.nix b/pkgs/applications/video/bino3d/default.nix index d98b3979660..64b9613363c 100644 --- a/pkgs/applications/video/bino3d/default.nix +++ b/pkgs/applications/video/bino3d/default.nix @@ -1,11 +1,11 @@ { stdenv, lib, fetchurl, pkgconfig, ffmpeg, glew, libass, openal, qtbase }: stdenv.mkDerivation rec { - name = "bino-${version}"; + pname = "bino"; version = "1.6.7"; src = fetchurl { - url = "https://bino3d.org/releases/${name}.tar.xz"; + url = "https://bino3d.org/releases/${pname}-${version}.tar.xz"; sha256 = "04yl7ibnhajlli4a5x77az8jxbzw6b2wjay8aa6px551nmiszn9k"; }; diff --git a/pkgs/applications/video/bombono/default.nix b/pkgs/applications/video/bombono/default.nix index ad095ddbea5..1cba1d0e949 100644 --- a/pkgs/applications/video/bombono/default.nix +++ b/pkgs/applications/video/bombono/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, wrapGAppsHook, gtk2, boost, gnome2, scons, +{ stdenv, fetchFromGitHub, wrapGAppsHook, gtk2, boost, gtkmm2, scons, mjpegtools, libdvdread, dvdauthor, gettext, dvdplusrwtools, libxmlxx, ffmpeg, enca, pkgconfig, fetchpatch }: @@ -8,7 +8,7 @@ fetchpatch { url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=e6cc6bc80c672aaa1a2260abfe8823da299a192c"; }; in stdenv.mkDerivation rec { - name = "bombono-${version}"; + pname = "bombono"; version = "1.2.4"; src = fetchFromGitHub { owner = "muravjov"; @@ -18,20 +18,20 @@ stdenv.mkDerivation rec { }; patches = map fetchPatchFromAur [ - {name="fix_ffmpeg_codecid.patch"; sha256="1asfc0lqzk4gjssrvjmsi1xr53ygnsx2sh7c8yzp5r3j2bagxhp7";} - {name="fix_ptr2bool_cast.patch"; sha256="0iqzrmbg38ikh4x9cmx0v0rnm7a9lcq0kd8sh1z9yfmnz71qqahg";} - {name="fix_c++11_literal_warnings.patch"; sha256="1zbf12i77p0j0090pz5lzg4a7kyahahzqssybv7vi0xikwvw57w9";} - {name="autoptr2uniqueptr.patch"; sha256="0a3wvwfplmqvi8fnj929y85z3h1iq7baaz2d4v08h1q2wbmakqdm";} - {name="fix_deprecated_boost_api.patch"; sha256="184gdz3w95ihhsd8xscpwvq77xd4il47kvmv6wslax77xyw50gm8";} - {name="fix_throw_specifications.patch"; sha256="1f5gi3qwm843hsxvijq7sjy0s62xm7rnr1vdp7f242fi0ldq6c1n";} - {name="fix_operator_ambiguity.patch"; sha256="0r4scsbsqfg6wgzsbfxxpckamvgyrida0n1ypg1klx24pk5dc7n7";} - {name="fix_ffmpeg30.patch"; sha256="1irva7a9bpbzs60ga8ypa3la9y84i5rz20jnd721qmfqp2yip8dw";} + {name="fix_ffmpeg_codecid.patch"; sha256="1asfc0lqzk4gjssrvjmsi1xr53ygnsx2sh7c8yzp5r3j2bagxhp7";} + {name="fix_ptr2bool_cast.patch"; sha256="0iqzrmbg38ikh4x9cmx0v0rnm7a9lcq0kd8sh1z9yfmnz71qqahg";} + {name="fix_c++11_literal_warnings.patch"; sha256="1zbf12i77p0j0090pz5lzg4a7kyahahzqssybv7vi0xikwvw57w9";} + {name="autoptr2uniqueptr.patch"; sha256="0a3wvwfplmqvi8fnj929y85z3h1iq7baaz2d4v08h1q2wbmakqdm";} + {name="fix_deprecated_boost_api.patch"; sha256="184gdz3w95ihhsd8xscpwvq77xd4il47kvmv6wslax77xyw50gm8";} + {name="fix_throw_specifications.patch"; sha256="1f5gi3qwm843hsxvijq7sjy0s62xm7rnr1vdp7f242fi0ldq6c1n";} + {name="fix_operator_ambiguity.patch"; sha256="0r4scsbsqfg6wgzsbfxxpckamvgyrida0n1ypg1klx24pk5dc7n7";} + {name="fix_ffmpeg30.patch"; sha256="1irva7a9bpbzs60ga8ypa3la9y84i5rz20jnd721qmfqp2yip8dw";} ]; nativeBuildInputs = [ wrapGAppsHook scons pkgconfig gettext ]; buildInputs = [ - gtk2 gnome2.gtkmm mjpegtools libdvdread dvdauthor boost dvdplusrwtools + gtk2 gtkmm2 mjpegtools libdvdread dvdauthor boost dvdplusrwtools libxmlxx ffmpeg enca ]; diff --git a/pkgs/applications/video/bomi/default.nix b/pkgs/applications/video/bomi/default.nix index bbac1014034..9ff65483f26 100644 --- a/pkgs/applications/video/bomi/default.nix +++ b/pkgs/applications/video/bomi/default.nix @@ -30,7 +30,7 @@ assert cddaSupport -> libcdda != null; assert youtubeSupport -> youtube-dl != null; stdenv.mkDerivation rec { - name = "bomi-${version}"; + pname = "bomi"; version = "0.9.11"; src = fetchFromGitHub { diff --git a/pkgs/applications/video/byzanz/default.nix b/pkgs/applications/video/byzanz/default.nix index ea8cb5aa3ff..0f1b185ed22 100644 --- a/pkgs/applications/video/byzanz/default.nix +++ b/pkgs/applications/video/byzanz/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "0.2.3.alpha"; - name = "byzanz-${version}"; + pname = "byzanz"; src = fetchgit { url = git://github.com/GNOME/byzanz; diff --git a/pkgs/applications/video/ccextractor/default.nix b/pkgs/applications/video/ccextractor/default.nix new file mode 100644 index 00000000000..91c47516521 --- /dev/null +++ b/pkgs/applications/video/ccextractor/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, pkgconfig, cmake +, glew, glfw3, leptonica, libiconv, tesseract3, zlib }: + +with stdenv.lib; +stdenv.mkDerivation rec { + pname = "ccextractor"; + version = "0.88"; + + src = fetchFromGitHub { + owner = "CCExtractor"; + repo = pname; + rev = "v${version}"; + sha256 = "1sya45hvv4d46bk7541yimmafgvgyhkpsvwfz9kv6pm4yi1lz6nb"; + }; + + sourceRoot = "source/src"; + + nativeBuildInputs = [ pkgconfig cmake ]; + + buildInputs = [ glew glfw3 leptonica tesseract3 zlib ] ++ stdenv.lib.optional (!stdenv.isLinux) libiconv; + + meta = { + homepage = "https://www.ccextractor.org"; + description = "Tool that produces subtitles from closed caption data in videos"; + longDescription = '' + A tool that analyzes video files and produces independent subtitle files from + closed captions data. CCExtractor is portable, small, and very fast. + It works on Linux, Windows, and OSX. + ''; + platforms = platforms.unix; + license = licenses.gpl2; + maintainers = with maintainers; [ titanous ]; + }; +} diff --git a/pkgs/applications/video/celluloid/default.nix b/pkgs/applications/video/celluloid/default.nix new file mode 100644 index 00000000000..d1a9b64d711 --- /dev/null +++ b/pkgs/applications/video/celluloid/default.nix @@ -0,0 +1,64 @@ +{ stdenv +, fetchFromGitHub +, meson +, ninja +, python3 +, gettext +, pkgconfig +, desktop-file-utils +, wrapGAppsHook +, appstream-glib +, epoxy +, glib +, gtk3 +, mpv +}: + +stdenv.mkDerivation rec { + pname = "celluloid"; + version = "0.17"; + + src = fetchFromGitHub { + owner = "celluloid-player"; + repo = "celluloid"; + rev = "v${version}"; + sha256 = "0pnxjv6n2q6igxdr8wzbahcj7vccw4nfjdk8fjdnaivf2lyrpv2d"; + }; + + nativeBuildInputs = [ + meson + ninja + python3 + appstream-glib + gettext + pkgconfig + desktop-file-utils + wrapGAppsHook + ]; + + buildInputs = [ + epoxy + glib + gtk3 + mpv + ]; + + postPatch = '' + patchShebangs meson-post-install.py src/generate-authors.py + sed -i '/gtk-update-icon-cache/s/^/#/' meson-post-install.py + ''; + + doCheck = true; + + meta = with stdenv.lib; { + description = "Simple GTK+ frontend for the mpv video player"; + longDescription = '' + GNOME MPV interacts with mpv via the client API exported by libmpv, + allowing access to mpv's powerful playback capabilities through an + easy-to-use user interface. + ''; + homepage = "https://github.com/celluloid-player/celluloid"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/video/clickshare-csc1/default.nix b/pkgs/applications/video/clickshare-csc1/default.nix new file mode 100644 index 00000000000..53d257dd9d0 --- /dev/null +++ b/pkgs/applications/video/clickshare-csc1/default.nix @@ -0,0 +1,124 @@ +{ lib +, stdenv +, fetchurl +, alsaLib +, autoPatchelfHook +, binutils-unwrapped +, gnutar +, libav_0_8 +, libnotify +, libresample +, libusb1 +, qt4 +, rpmextract +, unzip +, xorg +, usersGroup ? "clickshare" # for udev access rules +}: + + +# This fetches the latest firmware version that +# contains a linux-compatible client binary. +# Barco no longer supports linux, so updates are unlikely: +# https://www.barco.com/de/support/clickshare-csc-1/knowledge-base/KB1191 + + +stdenv.mkDerivation rec { + pname = "clickshare-csc1"; + version = "01.07.00.033"; + src = fetchurl { + name = "clickshare-csc1-${version}.zip"; + url = https://www.barco.com/services/website/de/TdeFiles/Download?FileNumber=R33050020&TdeType=3&MajorVersion=01&MinorVersion=07&PatchVersion=00&BuildVersion=033; + sha256 = "0h4jqidqvk4xkaky5bizi7ilz4qzl2mh68401j21y3djnzx09br3"; + }; + + nativeBuildInputs = [ + autoPatchelfHook + binutils-unwrapped + gnutar + rpmextract + unzip + ]; + buildInputs = [ + alsaLib + libav_0_8 + libnotify + libresample + libusb1 + qt4 + xorg.libX11 + xorg.libXdamage + xorg.libXfixes + xorg.libXinerama + xorg.libXtst + ]; + sourceRoot = "."; + + # The source consists of nested archives. + # We extract them archive by archive. + # If the filename contains version numbers, + # we use a wildcard and check that there + # is actually only one file matching. + postUnpack = + let + rpmArch = + if stdenv.hostPlatform.isx86_32 then "i386" else + if stdenv.hostPlatform.isx86_64 then "x86_64" else + throw "unsupported system: ${stdenv.hostPlatform.system}"; + in + '' + ls clickshare_baseunit_*.*_all.signed_release.ipk | wc --lines | xargs test 1 = + tar --verbose --extract --one-top-level=dir1 < clickshare_baseunit_*.*_all.signed_release.ipk + mkdir dir2 + ( cd dir2 ; ar xv ../dir1/firmware.ipk ) + tar --verbose --gzip --extract --one-top-level=dir3 --exclude='dev/*' < dir2/data.tar.gz + ls dir3/clickshare/clickshare-*-*.${rpmArch}.rpm | wc --lines | xargs test 1 = + mkdir dir4 + cd dir4 + rpmextract ../dir3/clickshare/clickshare-*-*.${rpmArch}.rpm + ''; + + installPhase = '' + runHook preInstall + mkdir --verbose --parents $out + mv --verbose --target-directory=. usr/* + rmdir --verbose usr + cp --verbose --recursive --target-directory=$out * + runHook postInstall + ''; + + # Default udev rule restricts access to the + # clickshare USB dongle to the `wheel` group. + # We replace it with the group + # stated in the package arguments. + # Also, we patch executable and icon paths in .desktop files. + preFixup = '' + substituteInPlace \ + $out/lib/udev/rules.d/99-clickshare.rules \ + --replace wheel ${usersGroup} + substituteInPlace \ + $out/share/applications/clickshare.desktop \ + --replace Exec= Exec=$out/bin/ \ + --replace =/usr =$out + substituteInPlace \ + $out/etc/xdg/autostart/clickshare-launcher.desktop \ + --replace =/usr =$out + ''; + + meta = { + homepage = https://www.barco.com/de/support/clickshare-csc-1/drivers; + downloadPage = https://www.barco.com/de/Support/software/R33050020; + platforms = [ "i686-linux" "x86_64-linux" ]; + license = lib.licenses.unfree; + maintainers = [ lib.maintainers.yarny ]; + description = "Linux driver/client for Barco ClickShare CSC-1"; + longDescription = '' + Barco ClickShare is a wireless presentation system + where a USB dongle transmits to a base station + that is connected with a beamer. + The USB dongle requires proprietary software that + captures the screen and sends it to the dongle. + This package provides the necessary software for Linux. + ''; + }; +} diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix index 3937244f25b..1872750deb0 100644 --- a/pkgs/applications/video/clipgrab/default.nix +++ b/pkgs/applications/video/clipgrab/default.nix @@ -1,17 +1,20 @@ -{ stdenv, fetchurl, makeDesktopItem, ffmpeg, qt4, qmake4Hook }: +{ stdenv, fetchurl, makeDesktopItem, ffmpeg +, qmake, qttools, mkDerivation +, qtbase, qtdeclarative, qtlocation, qtquickcontrols2, qtwebchannel, qtwebengine +}: -stdenv.mkDerivation rec { - name = "clipgrab-${version}"; - version = "3.7.2"; +mkDerivation rec { + pname = "clipgrab"; + version = "3.8.4"; src = fetchurl { - sha256 = "1xkap4zgx8k0h0qfcqfwi3lj7s3mqsj0dp1cddiqmxbibbmg3rcc"; + sha256 = "0pyrg3rrsd538vnrv6x2frhbq9k2638nzffjsar1p76wxp8fm42s"; # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz! - url = "https://download.clipgrab.org/${name}.tar.gz"; + url = "https://download.clipgrab.org/${pname}-${version}.tar.gz"; }; - buildInputs = [ ffmpeg qt4 ]; - nativeBuildInputs = [ qmake4Hook ]; + buildInputs = [ ffmpeg qtbase qtdeclarative qtlocation qtquickcontrols2 qtwebchannel qtwebengine ]; + nativeBuildInputs = [ qmake qttools ]; postPatch = stdenv.lib.optionalString (ffmpeg != null) '' substituteInPlace converter_ffmpeg.cpp \ diff --git a/pkgs/applications/video/devede/default.nix b/pkgs/applications/video/devede/default.nix index 48c5032f2da..d614523f534 100644 --- a/pkgs/applications/video/devede/default.nix +++ b/pkgs/applications/video/devede/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, python3Packages, ffmpeg, mplayer, vcdimager, cdrkit, dvdauthor -, gtk3, gettext, wrapGAppsHook, gdk_pixbuf }: +, gtk3, gettext, wrapGAppsHook, gdk-pixbuf, gobject-introspection }: let inherit (python3Packages) dbus-python buildPythonApplication pygobject3 urllib3; @@ -15,8 +15,18 @@ in buildPythonApplication rec { sha256 = "0ncb8nykchrjlllbzfjpvirmfvfaps9qhilc56kvcw3nzqrnkx8q"; }; + # Temporary fix + # See https://github.com/NixOS/nixpkgs/issues/61578 + # and https://github.com/NixOS/nixpkgs/issues/56943 + strictDeps = false; + nativeBuildInputs = [ gettext wrapGAppsHook + + # Temporary fix + # See https://github.com/NixOS/nixpkgs/issues/61578 + # and https://github.com/NixOS/nixpkgs/issues/56943 + gobject-introspection ]; buildInputs = [ @@ -24,7 +34,7 @@ in buildPythonApplication rec { ]; propagatedBuildInputs = [ - gtk3 pygobject3 gdk_pixbuf dbus-python ffmpeg mplayer dvdauthor vcdimager cdrkit urllib3 + gtk3 pygobject3 gdk-pixbuf dbus-python ffmpeg mplayer dvdauthor vcdimager cdrkit urllib3 ]; postPatch = '' diff --git a/pkgs/applications/video/dvb-apps/default.nix b/pkgs/applications/video/dvb-apps/default.nix index 6281c788401..a032ef654aa 100644 --- a/pkgs/applications/video/dvb-apps/default.nix +++ b/pkgs/applications/video/dvb-apps/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { buildInputs = [ perl ]; - configurePhase = "true"; # skip configure + dontConfigure = true; # skip configure installPhase = "make prefix=$out install"; diff --git a/pkgs/applications/video/dvd-slideshow/default.nix b/pkgs/applications/video/dvd-slideshow/default.nix index a329321b70c..61894bd22f8 100644 --- a/pkgs/applications/video/dvd-slideshow/default.nix +++ b/pkgs/applications/video/dvd-slideshow/default.nix @@ -1,10 +1,10 @@ -{ stdenv, lib, fetchurl, writeScript, cdrtools, dvdauthor, ffmpeg, imagemagick, lame, mjpegtools, sox, transcode, vorbis-tools }: +{ stdenv, lib, fetchurl, writeScript, cdrtools, dvdauthor, ffmpeg, imagemagick, lame, mjpegtools, sox, transcode, vorbis-tools, runtimeShell }: let binPath = lib.makeBinPath [ cdrtools dvdauthor ffmpeg imagemagick lame mjpegtools sox transcode vorbis-tools ]; wrapper = writeScript "dvd-slideshow.sh" '' - #!${stdenv.shell} + #!${runtimeShell} # wrapper script for dvd-slideshow programs export PATH=${binPath}:$PATH @@ -28,11 +28,11 @@ let ''; in stdenv.mkDerivation rec { - name = "dvd-slideshow-${version}"; + pname = "dvd-slideshow"; version = "0.8.4-2"; src = fetchurl { - url = "mirror://sourceforge/dvd-slideshow/files/${name}.tar.gz"; + url = "mirror://sourceforge/dvd-slideshow/files/${pname}-${version}.tar.gz"; sha256 = "17c09aqvippiji2sd0pcxjg3nb1mnh9k5nia4gn5lhcvngjcp1q5"; }; diff --git a/pkgs/applications/video/dvdbackup/default.nix b/pkgs/applications/video/dvdbackup/default.nix index 4712dfac757..54be20d5faf 100644 --- a/pkgs/applications/video/dvdbackup/default.nix +++ b/pkgs/applications/video/dvdbackup/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "0.4.2"; - name = "dvdbackup-${version}"; + pname = "dvdbackup"; src = fetchurl { - url = "mirror://sourceforge/dvdbackup/${name}.tar.xz"; + url = "mirror://sourceforge/dvdbackup/${pname}-${version}.tar.xz"; sha256 = "1rl3h7waqja8blmbpmwy01q9fgr5r0c32b8dy3pbf59bp3xmd37g"; }; diff --git a/pkgs/applications/video/dvdstyler/default.nix b/pkgs/applications/video/dvdstyler/default.nix index f73c5277d05..495501e0c18 100644 --- a/pkgs/applications/video/dvdstyler/default.nix +++ b/pkgs/applications/video/dvdstyler/default.nix @@ -13,13 +13,13 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "dvdstyler-${version}"; + pname = "dvdstyler"; srcName = "DVDStyler-${version}"; - version = "3.0.4"; + version = "3.1.2"; src = fetchurl { url = "mirror://sourceforge/project/dvdstyler/dvdstyler/${version}/${srcName}.tar.bz2"; - sha256 = "0lwc0hn94m9r8fi07sjqz3fr618l6lnw3zsakxw7nlgnxbjsk7pi"; + sha256 = "03lsblqficcadlzkbyk8agh5rqcfz6y6dqvy9y866wqng3163zq4"; }; nativeBuildInputs = diff --git a/pkgs/applications/video/gnome-mplayer/default.nix b/pkgs/applications/video/gnome-mplayer/default.nix index fd8cc8d8630..3e26b4d68c2 100644 --- a/pkgs/applications/video/gnome-mplayer/default.nix +++ b/pkgs/applications/video/gnome-mplayer/default.nix @@ -2,7 +2,7 @@ , libnotify, libpulseaudio, mplayer, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "gnome-mplayer-${version}"; + pname = "gnome-mplayer"; version = "1.0.9"; src = fetchFromGitHub { diff --git a/pkgs/applications/video/gnome-mpv/default.nix b/pkgs/applications/video/gnome-mpv/default.nix deleted file mode 100644 index 75a299d46c7..00000000000 --- a/pkgs/applications/video/gnome-mpv/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv, fetchFromGitHub, meson, ninja, python3 -, gettext, pkgconfig, desktop-file-utils, wrapGAppsHook -, appstream-glib, epoxy, glib, gtk3, mpv -}: - -stdenv.mkDerivation rec { - name = "gnome-mpv-${version}"; - version = "0.13"; - - src = fetchFromGitHub { - owner = "gnome-mpv"; - repo = "gnome-mpv"; - rev = "0d73b33d60050fd32bf8fae77d831548970a0b69"; # upstream forgot to update appdata - # rev = "v${version}"; - sha256 = "1cjhw3kz163iwj2japhnv354i1lr112xyyfkxw82cwy2554cfim4"; - }; - - nativeBuildInputs = [ meson ninja python3 appstream-glib gettext pkgconfig desktop-file-utils wrapGAppsHook ]; - buildInputs = [ epoxy glib gtk3 mpv ]; - - enableParallelBuilding = true; - - postPatch = '' - patchShebangs meson_post_install.py - patchShebangs src/generate_authors.py - sed -i '/gtk-update-icon-cache/s/^/#/' meson_post_install.py - ''; - - doCheck = true; - - meta = with stdenv.lib; { - description = "Simple GTK+ frontend for the mpv video player"; - longDescription = '' - GNOME MPV interacts with mpv via the client API exported by libmpv, - allowing access to mpv's powerful playback capabilities through an - easy-to-use user interface. - ''; - homepage = https://github.com/gnome-mpv/gnome-mpv; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/video/gpac/default.nix b/pkgs/applications/video/gpac/default.nix index 7a8b66d2d28..f81f394ed0b 100644 --- a/pkgs/applications/video/gpac/default.nix +++ b/pkgs/applications/video/gpac/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, pkgconfig, zlib }: stdenv.mkDerivation rec { - version = "0.7.1"; - name = "gpac-${version}"; + version = "0.8.0"; + pname = "gpac"; src = fetchFromGitHub { owner = "gpac"; repo = "gpac"; rev = "v${version}"; - sha256 = "197c5968p5bzvk0ga347fwgkqh4j1v3z65wlx65c5m9gwfxz2k2q"; + sha256 = "1w1dyrn6900yi8ngchfzy5hvxr6yc60blvdq8y8mczimmmq8khb5"; }; # this is the bare minimum configuration, as I'm only interested in MP4Box diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix index 07474c5e52c..aa2407134f3 100644 --- a/pkgs/applications/video/handbrake/default.nix +++ b/pkgs/applications/video/handbrake/default.nix @@ -3,7 +3,7 @@ # Derivation patches HandBrake to use Nix closure dependencies. # -{ stdenv, lib, fetchurl, callPackage, +{ stdenv, lib, fetchurl, # Main build tools python2, pkgconfig, autoconf, automake, cmake, nasm, libtool, m4, # Processing, video codecs, containers @@ -11,7 +11,7 @@ # Codecs, audio libopus, lame, libvorbis, a52dec, speex, libsamplerate, # Text processing - libiconv, fribidi, fontconfig, freetype, libass, jansson, libxml2, + libiconv, fribidi, fontconfig, freetype, libass, jansson, libxml2, harfbuzz, # Optical media libdvdread, libdvdnav, libdvdcss, libbluray, useGtk ? true, wrapGAppsHook ? null, @@ -29,12 +29,12 @@ }: stdenv.mkDerivation rec { - version = "1.2.0"; - name = "handbrake-${version}"; + pname = "handbrake"; + version = "1.2.2"; src = fetchurl { url = ''https://download2.handbrake.fr/${version}/HandBrake-${version}-source.tar.bz2''; - sha256 = "03clkknaq3mz84p85cvr21gsy9b8vv2g4vvyfz44hz8la253jfqi"; + sha256 = "0k2yaqy7zi06k8mkp9az2mn9dlgj3a1339vacakfh2nn2zsics6z"; }; nativeBuildInputs = [ @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { buildInputs = [ ffmpeg-full libogg libtheora x264 x265 libvpx libopus lame libvorbis a52dec speex libsamplerate - libiconv fribidi fontconfig freetype libass jansson libxml2 + libiconv fribidi fontconfig freetype libass jansson libxml2 harfbuzz libdvdread libdvdnav libdvdcss libbluray ] ++ lib.optionals useGtk [ glib gtk3 libappindicator-gtk3 libnotify diff --git a/pkgs/applications/video/k9copy/default.nix b/pkgs/applications/video/k9copy/default.nix index 1e8883eae7f..037331cad9e 100644 --- a/pkgs/applications/video/k9copy/default.nix +++ b/pkgs/applications/video/k9copy/default.nix @@ -7,10 +7,10 @@ stdenv.mkDerivation rec { version = "3.0.3"; - name = "k9copy-${version}"; + pname = "k9copy"; src = fetchurl { - url = "mirror://sourceforge/k9copy-reloaded/${name}.tar.gz"; + url = "mirror://sourceforge/k9copy-reloaded/${pname}-${version}.tar.gz"; sha256 = "0dp06rwihks50c57bbv04d6bj2qc88isl91971r4lii2xp0qn7sg"; }; @@ -56,5 +56,8 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl2; maintainers = with stdenv.lib.maintainers; [ flosse ]; platforms = stdenv.lib.platforms.unix; + # TODO: The software is deprecated and the build is broken, see: + # https://github.com/NixOS/nixpkgs/pull/63260#issuecomment-503506487 + broken = true; }; } diff --git a/pkgs/applications/video/key-mon/default.nix b/pkgs/applications/video/key-mon/default.nix index bc6cd015b86..7dc350da647 100644 --- a/pkgs/applications/video/key-mon/default.nix +++ b/pkgs/applications/video/key-mon/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, gnome2, librsvg, pythonPackages }: pythonPackages.buildPythonApplication rec { - name = "key-mon-${version}"; + pname = "key-mon"; version = "1.17"; namePrefix = ""; src = fetchurl { - url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/key-mon/${name}.tar.gz"; + url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/key-mon/${pname}-${version}.tar.gz"; sha256 = "1liz0dxcqmchbnl1xhlxkqm3gh76wz9jxdxn9pa7dy77fnrjkl5q"; }; diff --git a/pkgs/applications/video/kmplayer/default.nix b/pkgs/applications/video/kmplayer/default.nix index 44313f9499f..33ff1821640 100644 --- a/pkgs/applications/video/kmplayer/default.nix +++ b/pkgs/applications/video/kmplayer/default.nix @@ -10,7 +10,7 @@ mkDerivation rec { majorMinorVersion = "0.12"; patchVersion = "0b"; version = "${majorMinorVersion}.${patchVersion}"; - name = "kmplayer-${version}"; + pname = "kmplayer"; src = fetchurl { url = "mirror://kde/stable/kmplayer/${majorMinorVersion}/kmplayer-${version}.tar.bz2"; diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix index 05105b64af7..73bcdadbc59 100644 --- a/pkgs/applications/video/kodi/default.nix +++ b/pkgs/applications/video/kodi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, makeWrapper +{ stdenv, lib, fetchurl, fetchFromGitHub, autoconf, automake, libtool, makeWrapper, linuxHeaders , pkgconfig, cmake, gnumake, yasm, python2Packages , libgcrypt, libgpgerror, libunistring , boost, avahi, lame, autoreconfHook @@ -13,12 +13,12 @@ , libmpeg2, libsamplerate, libmad , libogg, libvorbis, flac, libxslt , lzo, libcdio, libmodplug, libass, libbluray -, sqlite, mysql, nasm, gnutls, libva, libdrm, wayland +, sqlite, mysql, nasm, gnutls, libva, libdrm , curl, bzip2, zip, unzip, glxinfo, xdpyinfo , libcec, libcec_platform, dcadec, libuuid , libcrossguid, libmicrohttpd , bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn, libpthreadstubs, libtasn1, libXdmcp -, libplist, p11-kit, zlib +, libplist, p11-kit, zlib, flatbuffers, fmt, fstrcmp, rapidjson , dbusSupport ? true, dbus ? null , joystickSupport ? true, cwiid ? null , nfsSupport ? true, libnfs ? null @@ -28,6 +28,8 @@ , udevSupport ? true, udev ? null , usbSupport ? false, libusb ? null , vdpauSupport ? true, libvdpau ? null +, useWayland ? false, wayland ? null, wayland-protocols ? null +, waylandpp ? null, libxkbcommon ? null }: assert dbusSupport -> dbus != null; @@ -38,25 +40,38 @@ assert sambaSupport -> samba != null; assert udevSupport -> udev != null; assert usbSupport -> libusb != null && ! udevSupport; # libusb won't be used if udev is avaliable assert vdpauSupport -> libvdpau != null; - -# TODO for Kodi 18.0 -# - cmake is no longer in project/cmake -# - maybe we can remove auto{conf,make} and libtool from inputs -# - check if dbus support PR has been merged and add dbus as a buildInput -# - try to use system ffmpeg (kodi 17 works best with bundled 3.1 with patches) +assert useWayland -> wayland != null && wayland-protocols != null && waylandpp != null && libxkbcommon != null; let - kodiReleaseDate = "20171115"; - kodiVersion = "17.6"; - rel = "Krypton"; + kodiReleaseDate = "20190627"; + kodiVersion = "18.3"; + rel = "Leia"; kodi_src = fetchFromGitHub { owner = "xbmc"; repo = "xbmc"; rev = "${kodiVersion}-${rel}"; - sha256 = "1pwmmbry7dajwdpmc1mdygjvxna4kl38h32d71g10yf3mdm5wmz3"; + sha256 = "18fbl5hs3aqccrn0m3x7hp95wlafjav0yvrwmb5q3gj24mwf6jld"; }; + cmakeProto = fetchurl { + url = "https://raw.githubusercontent.com/pramsey/libght/ca9b1121c352ea10170636e170040e1af015bad1/cmake/modules/CheckPrototypeExists.cmake"; + sha256 = "1zai82gm5x55n3xvdv7mns3ja6a2k81x9zz0nk42j6s2yb0fkjxh"; + }; + + cmakeProtoPatch = '' + # get rid of windows headers as they will otherwise be found first + rm -rf msvc + + cp ${cmakeProto} cmake/${cmakeProto.name} + # we need to enable support for C++ for check_prototype_exists to do its thing + substituteInPlace CMakeLists.txt --replace 'LANGUAGES C' 'LANGUAGES C CXX' + if [ -f cmake/CheckHeadersSTDC.cmake ]; then + sed -i cmake/CheckHeadersSTDC.cmake \ + -e '7iinclude(CheckPrototypeExists)' + fi + ''; + kodiDependency = { name, version, rev, sha256, ... } @attrs: let attrs' = builtins.removeAttrs attrs ["name" "version" "rev" "sha256"]; @@ -72,9 +87,9 @@ let ffmpeg = kodiDependency rec { name = "FFmpeg"; - version = "3.1.11"; - rev = "${version}-${rel}-17.5"; # TODO: change 17.5 back to ${kodiVersion} - sha256 = "0nc4sb6v1g3l11v9h5l9n44a8r40186rcbp2xg5c7vg6wcpjid13"; + version = "4.0.3"; + rev = "${version}-${rel}-18.2"; + sha256 = "1krsjlr949iy5l6ljxancza1yi6w1annxc5s6k283i9mb15qy8cy"; preConfigure = '' cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} . ''; @@ -83,37 +98,53 @@ let nativeBuildInputs = [ cmake nasm pkgconfig ]; }; - # we should be able to build these externally and have kodi reference them as buildInputs. - # Doesn't work ATM though so we just use them for the src - - libdvdcss = kodiDependency { + # We can build these externally but FindLibDvd.cmake forces us to build it + # them, so we currently just use them for the src. + libdvdcss = kodiDependency rec { name = "libdvdcss"; - version = "20160215"; - rev = "2f12236bc1c92f73c21e973363f79eb300de603f"; - sha256 = "198r0q73i55ga1dvyqq9nfcri0zq08b94hy8671lg14i3izx44dd"; - buildInputs = [ libdvdread ]; - nativeBuildInputs = [ autoreconfHook pkgconfig ]; + version = "1.4.2"; + rev = "${version}-${rel}-Beta-5"; + sha256 = "0j41ydzx0imaix069s3z07xqw9q95k7llh06fc27dcn6f7b8ydyl"; + buildInputs = [ linuxHeaders ]; + nativeBuildInputs = [ cmake pkgconfig ]; + postPatch = '' + rm -rf msvc + + substituteInPlace config.h.cm \ + --replace '#cmakedefine O_BINARY "''${O_BINARY}"' '#define O_BINARY 0' + ''; + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=1" + "-DHAVE_LINUX_DVD_STRUCT=1" + ]; }; - libdvdnav = kodiDependency { + libdvdnav = kodiDependency rec { name = "libdvdnav"; - version = "20170217"; - rev = "981488f7f27554b103cca10c1fbeba027396c94a"; - sha256 = "089pswc51l3avh95zl4cpsh7gh1innh7b2y4xgx840mcmy46ycr8"; - buildInputs = [ libdvdread ]; - nativeBuildInputs = [ autoreconfHook pkgconfig ]; + version = "6.0.0"; + rev = "${version}-${rel}-Alpha-3"; + sha256 = "0qwlf4lgahxqxk1r2pzl866mi03pbp7l1fc0rk522sc0ak2s9jhb"; + buildInputs = [ libdvdcss libdvdread ]; + nativeBuildInputs = [ cmake pkgconfig ]; + postPatch = cmakeProtoPatch; + postInstall = '' + mv $out/lib/liblibdvdnav.so $out/lib/libdvdnav.so + ''; }; - libdvdread = kodiDependency { + libdvdread = kodiDependency rec { name = "libdvdread"; - version = "20160221"; - rev = "17d99db97e7b8f23077b342369d3c22a6250affd"; - sha256 = "1gr5aq1cjr3as9mnwrw29cxn4m6f6pfrxdahkdcjy70q3ldg90sl"; - nativeBuildInputs = [ autoreconfHook pkgconfig ]; + version = "6.0.0"; + rev = "${version}-${rel}-Alpha-3"; + sha256 = "1xxn01mhkdnp10cqdr357wx77vyzfb5glqpqyg8m0skyi75aii59"; + buildInputs = [ libdvdcss ]; + nativeBuildInputs = [ cmake pkgconfig ]; + configureFlags = [ "--with-libdvdcss" ]; + postPatch = cmakeProtoPatch; }; in stdenv.mkDerivation rec { - name = "kodi-${kodiVersion}"; + name = "kodi-${lib.optionalString useWayland "wayland-"}${kodiVersion}"; src = kodi_src; @@ -126,7 +157,7 @@ in stdenv.mkDerivation rec { libX11 xorgproto libXt libXmu libXext libXinerama libXrandr libXtst libXfixes alsaLib libGLU_combined glew fontconfig freetype ftgl - libjpeg jasper libpng libtiff wayland + libjpeg jasper libpng libtiff libmpeg2 libsamplerate libmad libogg libvorbis flac libxslt systemd lzo libcdio libmodplug libass libbluray @@ -136,7 +167,7 @@ in stdenv.mkDerivation rec { libgcrypt libgpgerror libunistring libcrossguid cwiid libplist bluez giflib glib harfbuzz lcms2 libpthreadstubs libXdmcp - ffmpeg + ffmpeg flatbuffers fmt fstrcmp rapidjson # libdvdcss libdvdnav libdvdread ] ++ lib.optional dbusSupport dbus @@ -147,7 +178,12 @@ in stdenv.mkDerivation rec { ++ lib.optional sambaSupport samba ++ lib.optional udevSupport udev ++ lib.optional usbSupport libusb - ++ lib.optional vdpauSupport libvdpau; + ++ lib.optional vdpauSupport libvdpau + ++ lib.optional useWayland [ + wayland waylandpp + # Not sure why ".dev" is needed here, but CMake doesn't find libxkbcommon otherwise + libxkbcommon.dev + ]; nativeBuildInputs = [ cmake @@ -155,8 +191,8 @@ in stdenv.mkDerivation rec { makeWrapper which pkgconfig gnumake - autoconf automake libtool # still needed for some components. Check if that is the case with 18.0 - ]; + autoconf automake libtool # still needed for some components. Check if that is the case with 19.0 + ] ++ lib.optional useWayland [ wayland-protocols ]; cmakeFlags = [ "-Dlibdvdcss_URL=${libdvdcss.src}" @@ -167,6 +203,9 @@ in stdenv.mkDerivation rec { "-DENABLE_INTERNAL_CROSSGUID=OFF" "-DENABLE_OPTICAL=ON" "-DLIRC_DEVICE=/run/lirc/lircd" + ] ++ lib.optional useWayland [ + "-DCORE_PLATFORM_NAME=wayland" + "-DWAYLAND_RENDER_SYSTEM=gl" ]; enableParallelBuilding = true; @@ -176,14 +215,10 @@ in stdenv.mkDerivation rec { doCheck = false; postPatch = '' - substituteInPlace xbmc/linux/LinuxTimezone.cpp \ + substituteInPlace xbmc/platform/linux/LinuxTimezone.cpp \ --replace 'usr/share/zoneinfo' 'etc/zoneinfo' ''; - preConfigure = '' - cd project/cmake - ''; - postInstall = '' for p in $(ls $out/bin/) ; do wrapProgram $out/bin/$p \ @@ -209,6 +244,6 @@ in stdenv.mkDerivation rec { homepage = https://kodi.tv/; license = licenses.gpl2; platforms = platforms.linux; - maintainers = with maintainers; [ domenkozar titanous edwtjo peterhoeg ]; + maintainers = with maintainers; [ domenkozar titanous edwtjo peterhoeg sephalon ]; }; } diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix index 196852933a9..1cb51078069 100644 --- a/pkgs/applications/video/kodi/plugins.nix +++ b/pkgs/applications/video/kodi/plugins.nix @@ -1,13 +1,15 @@ -{ stdenv, callPackage, fetchurl, fetchFromGitHub, unzip -, cmake, kodiPlain, libcec_platform, tinyxml +{ stdenv, callPackage, fetchFromGitHub +, cmake, kodiPlain, libcec_platform, tinyxml, rapidxml , steam, libusb, pcre-cpp, jsoncpp, libhdhomerun, zlib -, python2Packages }: +, python2Packages, expat, glib, nspr, nss, openssl +, libssh, libarchive, lzma, bzip2, lz4, lzo }: with stdenv.lib; let self = rec { pluginDir = "/share/kodi/addons"; + rel = "Leia"; kodi = kodiPlain; @@ -54,8 +56,10 @@ let self = rec { dontStrip = true; + extraRuntimeDependencies = [ ]; + installPhase = '' - ${if isNull sourceDir then "" else "cd $src/$sourceDir"} + ${if sourceDir == null then "" else "cd $src/$sourceDir"} d=$out${pluginDir}/${namespace} mkdir -p $d sauce="." @@ -64,7 +68,8 @@ let self = rec { ''; } // args)); - mkKodiABIPlugin = { plugin, namespace, version, extraBuildInputs ? [], ... }@args: + mkKodiABIPlugin = { plugin, namespace, version, extraBuildInputs ? [], + extraRuntimeDependencies ? [], extraInstallPhase ? "", ... }@args: toKodiPlugin (stdenv.mkDerivation (rec { name = "kodi-plugin-${plugin}-${version}"; @@ -73,6 +78,8 @@ let self = rec { buildInputs = [ cmake kodiPlain kodi-platform libcec_platform ] ++ extraBuildInputs; + inherit extraRuntimeDependencies; + # disables check ensuring install prefix is that of kodi cmakeFlags = [ "-DOVERRIDE_PATHS=1" @@ -84,6 +91,7 @@ let self = rec { installPhase = let n = namespace; in '' make install ln -s $out/lib/addons/${n}/${n}.so.${version} $out${pluginDir}/${n}/${n}.so.${version} + ${extraInstallPhase} ''; } // args)); @@ -212,14 +220,14 @@ let self = rec { joystick = mkKodiABIPlugin rec { namespace = "peripheral.joystick"; - version = "1.3.2"; + version = "1.4.7"; plugin = namespace; src = fetchFromGitHub { - owner = "kodi-game"; + owner = "xbmc"; repo = namespace; - rev = "96171dd32899553ffe8fc775fca66e8df5ff5cf1"; - sha256 = "18m61v8z9fbh4imvzhh4g9629r9df49g2yk9ycaczirg131dhfbh"; + rev = "v${version}"; + sha256 = "03gsp4kg41s3n4ib4wsv7m3krfipgwc2z07i4mnd5zvg0c4xrmap"; }; meta = { @@ -282,14 +290,14 @@ let self = rec { steam-controller = mkKodiABIPlugin rec { namespace = "peripheral.steamcontroller"; - version = "0.9.0"; + version = "0.10.0"; plugin = namespace; src = fetchFromGitHub { owner = "kodi-game"; repo = namespace; - rev = "76f640fad4f68118f4fab6c4c3338d13daca7074"; - sha256 = "0yqlfdiiymb8z6flyhpval8w3kdc9qv3mli3jg1xn5ac485nxsxh"; + rev = "ea345392ab5aa4485f3a48d2037fa8a8e8ab82de"; + sha256 = "1hbd8fdvn7xkr9csz1g9wah78nhnq1rkazl4zwa31y70830k3279"; }; extraBuildInputs = [ libusb ]; @@ -355,13 +363,13 @@ let self = rec { plugin = "pvr-hts"; namespace = "pvr.hts"; - version = "3.4.16"; + version = "4.4.14"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.hts"; - rev = "b39e4e9870d68841279cbc7d7214f3ad9b27f330"; - sha256 = "0pmlgqr4kd0gvckz77mj6v42kcx6lb23anm8jnf2fbn877snnijx"; + rev = "${version}-${rel}"; + sha256 = "1bcwcwd2yjhw85yk6lyhf0iqiclrsz7r7vpbxgc650fwqbb146gr"; }; meta = { @@ -377,13 +385,13 @@ let self = rec { plugin = "pvr-hdhomerun"; namespace = "pvr.hdhomerun"; - version = "2.4.7"; + version = "3.5.0"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.hdhomerun"; - rev = "60d89d16dd953d38947e8a6da2f8bb84a0f764ef"; - sha256 = "0dvdv0vk2q12nj0i5h51iaypy3i7jfsxjyxwwpxfy82y8260ragy"; + rev = "${version}-${rel}"; + sha256 = "1zrkvfn0im2qmvqm93pa3cg8xkxv61sxlj8nsz4r5z9v9nhqadf6"; }; meta = { @@ -401,13 +409,13 @@ let self = rec { plugin = "pvr-iptvsimple"; namespace = "pvr.iptvsimple"; - version = "2.4.14"; + version = "3.5.7"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.iptvsimple"; - rev = "2a649d7e21b64c4fa4a8b14c2cc139261eebc7e8"; - sha256 = "1f1im2gachrxnr3z96h5cg2c13vapgkvkdwvrbl4hxlnyp1a6jyz"; + rev = "${version}-${rel}"; + sha256 = "17znib7c491h2ii4gagxradh0jyvgga0d548gbk4yjj2nc9qqc6d"; }; meta = { @@ -418,20 +426,20 @@ let self = rec { license = licenses.gpl2Plus; }; - extraBuildInputs = [ zlib ]; + extraBuildInputs = [ zlib rapidxml ]; }; osmc-skin = mkKodiPlugin rec { plugin = "osmc-skin"; namespace = "skin.osmc"; - version = "17.0.4"; + version = "18.0.0"; src = fetchFromGitHub { owner = "osmc"; repo = namespace; - rev = "a9268937f49286bab9fb49de430b8aafd7a60a9e"; - sha256 = "1b3fm02annsq58pcfc985glrmh21rmqksdj3q8wn6gyza06jdf3v"; + rev = "40a6c318641e2cbeac58fb0e7dde9c2beac737a0"; + sha256 = "1l7hyfj5zvjxjdm94y325bmy1naak455b9l8952sb0gllzrcwj6s"; }; meta = { @@ -470,4 +478,76 @@ let self = rec { }; }); + inputstream-adaptive = mkKodiABIPlugin rec { + + plugin = "inputstream-adaptive"; + namespace = "inputstream.adaptive"; + version = "2.3.12"; + + src = fetchFromGitHub { + owner = "peak3d"; + repo = "inputstream.adaptive"; + rev = "${version}"; + sha256 = "09d9b35mpaf3g5m51viyan9hv7d2i8ndvb9wm0j7rs5gwsf0k71z"; + }; + + extraBuildInputs = [ expat ]; + + extraRuntimeDependencies = [ glib nspr nss stdenv.cc.cc.lib ]; + + extraInstallPhase = let n = namespace; in '' + ln -s $out/lib/addons/${n}/libssd_wv.so $out/${pluginDir}/${n}/libssd_wv.so + ''; + + meta = { + homepage = https://github.com/peak3d/inputstream.adaptive; + description = "Kodi inputstream addon for several manifest types"; + platforms = platforms.all; + maintainers = with maintainers; [ sephalon ]; + }; + }; + + vfs-sftp = mkKodiABIPlugin rec { + namespace = "vfs.sftp"; + version = "1.0.1"; + plugin = namespace; + + src = fetchFromGitHub { + owner = "xbmc"; + repo = namespace; + rev = "${version}-${rel}"; + sha256 = "1l9igrl168s91c15v9klyaaz226ik3xlbzjk2f1346fvzmp87g9v"; + }; + + meta = with stdenv.lib; { + description = "SFTP Virtual Filesystem add-on for Kodi"; + license = licenses.gpl2Plus; + platforms = platforms.all; + maintainers = with maintainers; [ minijackson ]; + }; + + extraBuildInputs = [ openssl libssh zlib ]; + }; + + vfs-libarchive = mkKodiABIPlugin rec { + namespace = "vfs.libarchive"; + version = "1.0.5"; + plugin = namespace; + + src = fetchFromGitHub { + owner = "xbmc"; + repo = namespace; + rev = "${version}-${rel}"; + sha256 = "0l1f1fijflr1ia30r0dcz1x2zn35c4lxy30az1cqxdf8nipza0b8"; + }; + + meta = with stdenv.lib; { + description = "LibArchive Virtual Filesystem add-on for Kodi"; + license = licenses.gpl2Plus; + platforms = platforms.all; + maintainers = with maintainers; [ minijackson ]; + }; + + extraBuildInputs = [ libarchive lzma bzip2 zlib lz4 lzo openssl ]; + }; }; in self diff --git a/pkgs/applications/video/kodi/wrapper.nix b/pkgs/applications/video/kodi/wrapper.nix index d0dc9274a10..6a0b1cbdf73 100644 --- a/pkgs/applications/video/kodi/wrapper.nix +++ b/pkgs/applications/video/kodi/wrapper.nix @@ -1,7 +1,9 @@ { stdenv, lib, makeWrapper, buildEnv, kodi, plugins }: -buildEnv { - name = "kodi-with-plugins-${(builtins.parseDrvName kodi.name).version}"; +let + drvName = builtins.parseDrvName kodi.name; +in buildEnv { + name = "${drvName.name}-with-plugins-${drvName.version}"; paths = [ kodi ] ++ plugins; pathsToLink = [ "/share" ]; @@ -14,7 +16,10 @@ buildEnv { do makeWrapper ${kodi}/bin/$exe $out/bin/$exe \ --prefix PYTHONPATH : ${kodi.pythonPackages.makePythonPath plugins} \ - --prefix KODI_HOME : $out/share/kodi + --prefix KODI_HOME : $out/share/kodi \ + --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath + (stdenv.lib.concatMap + (plugin: plugin.extraRuntimeDependencies) plugins)}" done ''; diff --git a/pkgs/applications/video/lightworks/default.nix b/pkgs/applications/video/lightworks/default.nix index 4bfd9e79007..0dc97410f54 100644 --- a/pkgs/applications/video/lightworks/default.nix +++ b/pkgs/applications/video/lightworks/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, dpkg, makeWrapper, buildFHSUserEnv -, gnome3, gdk_pixbuf, cairo, libjpeg_original, glib, gnome2, libGLU +, gtk3, gdk-pixbuf, cairo, libjpeg_original, glib, gnome2, libGLU , nvidia_cg_toolkit, zlib, openssl, portaudio }: let fullPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc - gnome3.gtk - gdk_pixbuf + gtk3 + gdk-pixbuf cairo libjpeg_original glib @@ -20,15 +20,15 @@ let lightworks = stdenv.mkDerivation rec { version = "14.0.0"; - name = "lightworks-${version}"; - + pname = "lightworks"; + src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "http://downloads.lwks.com/v14/lwks-14.0.0-amd64.deb"; sha256 = "66eb9f9678d979db76199f1c99a71df0ddc017bb47dfda976b508849ab305033"; } - else throw "${name} is not supported on ${stdenv.hostPlatform.system}"; + else throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}"; buildInputs = [ dpkg makeWrapper ]; @@ -60,7 +60,7 @@ let wrapProgram $out/lib/lightworks/ntcardvt \ --prefix LD_LIBRARY_PATH : ${fullPath}:$out/lib/lightworks \ --set FONTCONFIG_FILE $out/lib/lightworks/fonts.conf - + cp -r usr/share $out/share ''; diff --git a/pkgs/applications/video/linuxstopmotion/default.nix b/pkgs/applications/video/linuxstopmotion/default.nix index 717853af745..0a422bb7f50 100644 --- a/pkgs/applications/video/linuxstopmotion/default.nix +++ b/pkgs/applications/video/linuxstopmotion/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { version = "0.8"; - name = "linuxstopmotion-${version}"; + pname = "linuxstopmotion"; src = fetchgit { url = "git://git.code.sf.net/p/linuxstopmotion/code"; diff --git a/pkgs/applications/video/makemkv/builder.sh b/pkgs/applications/video/makemkv/builder.sh deleted file mode 100644 index 416d5c0f0b0..00000000000 --- a/pkgs/applications/video/makemkv/builder.sh +++ /dev/null @@ -1,40 +0,0 @@ -source $stdenv/setup -set -x - -lib=" \ - makemkv-oss-${ver}/out/libdriveio.so.0 \ - makemkv-oss-${ver}/out/libmakemkv.so.1 \ - makemkv-oss-${ver}/out/libmmbd.so.0 \ - " - -bin=" \ - makemkv-oss-${ver}/out/makemkv \ - makemkv-bin-${ver}/bin/amd64/makemkvcon \ - " - -tar xzf ${src_bin} -tar xzf ${src_oss} - -( - cd makemkv-oss-${ver} - ./configure --prefix=$out - make -) - -chmod +x ${bin} - -libPath="${libPath}:${out}/lib" # XXX: der. This should be in the nix file? - -for i in ${bin} ; do - patchelf \ - --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath $libPath \ - ${i} -done - -mkdir -p $out/bin -mkdir -p $out/lib -mkdir -p $out/share/MakeMKV -cp ${lib} ${out}/lib -cp ${bin} ${out}/bin -cp makemkv-bin-${ver}/src/share/* $out/share/MakeMKV diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix index cadd3c9fc68..f3d8b4ae569 100644 --- a/pkgs/applications/video/makemkv/default.nix +++ b/pkgs/applications/video/makemkv/default.nix @@ -1,34 +1,45 @@ -{ stdenv, fetchurl -, openssl, qt5, libGLU_combined, zlib, pkgconfig, libav +{ stdenv, mkDerivation, fetchurl, autoPatchelfHook +, ffmpeg, openssl, qtbase, zlib, pkgconfig }: -stdenv.mkDerivation rec { - name = "makemkv-${ver}"; - ver = "1.14.1"; - builder = ./builder.sh; - +let + version = "1.14.4"; # Using two URLs as the first one will break as soon as a new version is released src_bin = fetchurl { urls = [ - "http://www.makemkv.com/download/makemkv-bin-${ver}.tar.gz" - "http://www.makemkv.com/download/old/makemkv-bin-${ver}.tar.gz" + "http://www.makemkv.com/download/makemkv-bin-${version}.tar.gz" + "http://www.makemkv.com/download/old/makemkv-bin-${version}.tar.gz" ]; - sha256 = "1n4gjb1531gkvnjzipw63v3zdxmrq5nai9nn6m2ix3lskksjrrhp"; + sha256 = "0vmmvldmwmq9g202abblj6l15kb8z3b0c6mcc03f30s2yci6ij33"; }; - src_oss = fetchurl { urls = [ - "http://www.makemkv.com/download/makemkv-oss-${ver}.tar.gz" - "http://www.makemkv.com/download/old/makemkv-oss-${ver}.tar.gz" + "http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz" + "http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz" ]; - sha256 = "0ysb0nm11vp2ni838p5q3gqan5nrqbr7rz0h24j8p62827pib3pw"; + sha256 = "0n1nlq17dxcbgk9xqf7nv6zykvh91yhsjqdhq55947wc11fxjqa0"; }; +in mkDerivation { + pname = "makemkv"; + inherit version; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [openssl qt5.qtbase libGLU_combined zlib libav]; + srcs = [ src_bin src_oss ]; - libPath = stdenv.lib.makeLibraryPath [stdenv.cc.cc openssl libGLU_combined qt5.qtbase zlib ] - + ":" + stdenv.cc.cc + "/lib64"; + sourceRoot = "makemkv-oss-${version}"; + + nativeBuildInputs = [ autoPatchelfHook pkgconfig ]; + + buildInputs = [ ffmpeg openssl qtbase zlib ]; + + installPhase = '' + runHook preInstall + + install -Dm555 -t $out/bin out/makemkv ../makemkv-bin-${version}/bin/amd64/makemkvcon + install -D -t $out/lib out/lib{driveio,makemkv,mmbd}.so.* + install -D -t $out/share/MakeMKV ../makemkv-bin-${version}/src/share/* + + runHook postInstall + ''; meta = with stdenv.lib; { description = "Convert blu-ray and dvd to mkv"; diff --git a/pkgs/applications/video/mapmap/default.nix b/pkgs/applications/video/mapmap/default.nix index 4dd2e019d1d..c302ae1730f 100644 --- a/pkgs/applications/video/mapmap/default.nix +++ b/pkgs/applications/video/mapmap/default.nix @@ -13,7 +13,7 @@ with stdenv; mkDerivation rec { version = "0.6.1"; - name = "mapmap-${version}"; + pname = "mapmap"; src = fetchFromGitHub { owner = "mapmapteam"; diff --git a/pkgs/applications/video/mediathekview/default.nix b/pkgs/applications/video/mediathekview/default.nix index 34efffc21d7..a5de209854b 100644 --- a/pkgs/applications/video/mediathekview/default.nix +++ b/pkgs/applications/video/mediathekview/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "13.2.1"; - name = "mediathekview-${version}"; + pname = "mediathekview"; src = fetchurl { url = "https://download.mediathekview.de/stabil/MediathekView-${version}.tar.gz"; sha256 = "11wg6klviig0h7pprfaygamsgqr7drqra2s4yxgfak6665033l2a"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { description = "Offers access to the Mediathek of different tv stations (ARD, ZDF, Arte, etc.)"; homepage = https://mediathekview.de/; license = licenses.gpl3; - maintainers = with maintainers; [ chaoflow moredread ]; + maintainers = with maintainers; [ moredread ]; platforms = platforms.all; }; } diff --git a/pkgs/applications/video/minitube/default.nix b/pkgs/applications/video/minitube/default.nix index 3b8dce90243..a9876da234f 100644 --- a/pkgs/applications/video/minitube/default.nix +++ b/pkgs/applications/video/minitube/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, makeWrapper, phonon, phonon-backend-vlc, qtbase, qmake +{ stdenv, fetchFromGitHub, wrapQtAppsHook, phonon, phonon-backend-vlc, qtbase, qmake , qtdeclarative, qttools # "Free" key generated by nckx . I no longer have a Google @@ -6,7 +6,7 @@ , withAPIKey ? "AIzaSyBtFgbln3bu1swQC-naMxMtKh384D3xJZE" }: stdenv.mkDerivation rec { - name = "minitube-${version}"; + pname = "minitube"; version = "2.9"; src = fetchFromGitHub { @@ -17,17 +17,12 @@ stdenv.mkDerivation rec { }; buildInputs = [ phonon phonon-backend-vlc qtbase qtdeclarative qttools ]; - nativeBuildInputs = [ makeWrapper qmake ]; + nativeBuildInputs = [ wrapQtAppsHook qmake ]; qmakeFlags = [ "DEFINES+=APP_GOOGLE_API_KEY=${withAPIKey}" ]; enableParallelBuilding = true; - postInstall = '' - wrapProgram $out/bin/minitube \ - --prefix QT_PLUGIN_PATH : "${phonon-backend-vlc}/lib/qt-5.${stdenv.lib.versions.minor qtbase.version}/plugins" - ''; - meta = with stdenv.lib; { description = "Stand-alone YouTube video player"; longDescription = '' diff --git a/pkgs/applications/video/mjpg-streamer/default.nix b/pkgs/applications/video/mjpg-streamer/default.nix index f9d4d4698fa..14db747d2ce 100644 --- a/pkgs/applications/video/mjpg-streamer/default.nix +++ b/pkgs/applications/video/mjpg-streamer/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, cmake, libjpeg }: stdenv.mkDerivation rec { - name = "mjpg-streamer-${version}"; - version = "2016-03-08"; + pname = "mjpg-streamer"; + version = "unstable-2019-05-24"; src = fetchFromGitHub { owner = "jacksonliam"; repo = "mjpg-streamer"; - rev = "4060cb64e3557037fd404d10e1c1d076b672e9e8"; - sha256 = "0g7y832jsz4ylmq9qp2l4fq6bm8l6dhsbi60fr5jfqpx4l0pia8m"; + rev = "501f6362c5afddcfb41055f97ae484252c85c912"; + sha256 = "1cl159svfs1zzzrd3zgn4x7qy6751bvlnxfwf5hn5fmg4iszajw7"; }; prePatch = '' @@ -23,9 +23,10 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = https://sourceforge.net/projects/mjpg-streamer/; + homepage = "https://github.com/jacksonliam/mjpg-streamer"; description = "MJPG-streamer takes JPGs from Linux-UVC compatible webcams, filesystem or other input plugins and streams them as M-JPEG via HTTP to webbrowsers, VLC and other software"; platforms = platforms.linux; license = licenses.gpl2; + maintainers = with maintainers; [ gebner ]; }; } diff --git a/pkgs/applications/video/mkclean/default.nix b/pkgs/applications/video/mkclean/default.nix new file mode 100644 index 00000000000..4a3cbc81b35 --- /dev/null +++ b/pkgs/applications/video/mkclean/default.nix @@ -0,0 +1,37 @@ +{ dos2unix, fetchurl, stdenv }: + +stdenv.mkDerivation rec { + pname = "mkclean"; + version = "0.8.10"; + + hardeningDisable = [ "format" ]; + nativeBuildInputs = [ dos2unix ]; + + src = fetchurl { + url = "mirror://sourceforge/matroska/${pname}-${version}.tar.bz2"; + sha256 = "0zbpi4sm68zb20d53kbss93fv4aafhcmz7dsd0zdf01vj1r3wxwn"; + }; + + configurePhase = '' + dos2unix ./mkclean/configure.compiled + ./mkclean/configure.compiled + ''; + + buildPhase = '' + make -C mkclean + ''; + + installPhase = '' + mkdir -p $out/{bin,lib} + mv release/gcc_linux_*/*.* $out/lib + mv release/gcc_linux_*/* $out/bin + ''; + + meta = with stdenv.lib; { + description = "mkclean is a command line tool to clean and optimize Matroska (.mkv / .mka / .mks / .mk3d) and WebM (.webm / .weba) files that have already been muxed."; + homepage = "https://www.matroska.org"; + license = licenses.bsdOriginal; + maintainers = with maintainers; [ chrisaw ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix index 5b786b25501..42b40ade271 100644 --- a/pkgs/applications/video/mkvtoolnix/default.nix +++ b/pkgs/applications/video/mkvtoolnix/default.nix @@ -4,21 +4,22 @@ , withGUI ? true , qtbase ? null , qtmultimedia ? null + , wrapQtAppsHook ? null }: -assert withGUI -> qtbase != null && qtmultimedia != null; +assert withGUI -> qtbase != null && qtmultimedia != null && wrapQtAppsHook != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "mkvtoolnix-${version}"; - version = "31.0.0"; + pname = "mkvtoolnix"; + version = "36.0.0"; src = fetchFromGitLab { owner = "mbunkus"; repo = "mkvtoolnix"; rev = "release-${version}"; - sha256 = "1fml374ivzzmac0ixhngj4bdxszcaw5yxdmacpn6ia7pdyvpf5lh"; + sha256 = "114j9n2m6dkh7vqzyhcsjzzffadr0lzyjmh31cbl4mvvkg9j5z6r"; }; nativeBuildInputs = [ @@ -30,7 +31,7 @@ stdenv.mkDerivation rec { expat file xdg_utils boost libebml zlib fmt libmatroska libogg libvorbis flac cmark ] ++ optional stdenv.isDarwin libiconv - ++ optionals withGUI [ qtbase qtmultimedia ]; + ++ optionals withGUI [ qtbase qtmultimedia wrapQtAppsHook ]; preConfigure = "./autogen.sh; patchShebangs ."; buildPhase = "drake -j $NIX_BUILD_CORES"; @@ -49,6 +50,11 @@ stdenv.mkDerivation rec { (enableFeature withGUI "qt") ]; + dontWrapQtApps = true; + postFixup = optionalString withGUI '' + wrapQtApp $out/bin/mkvtoolnix-gui + ''; + meta = with stdenv.lib; { description = "Cross-platform tools for Matroska"; homepage = http://www.bunkus.org/videotools/mkvtoolnix/; diff --git a/pkgs/applications/video/motion/default.nix b/pkgs/applications/video/motion/default.nix index e3dcf6b3d3b..684390d3c5c 100644 --- a/pkgs/applications/video/motion/default.nix +++ b/pkgs/applications/video/motion/default.nix @@ -2,7 +2,7 @@ , ffmpeg, libjpeg, libmicrohttpd }: stdenv.mkDerivation rec { - name = "motion-${version}"; + pname = "motion"; version = "4.2.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/video/mpc-qt/default.nix b/pkgs/applications/video/mpc-qt/default.nix index 81b48e25b96..efa495a45af 100644 --- a/pkgs/applications/video/mpc-qt/default.nix +++ b/pkgs/applications/video/mpc-qt/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, pkgconfig, qmake, qtx11extras, qttools, mpv }: stdenv.mkDerivation rec { - name = "mpc-qt-${version}"; + pname = "mpc-qt"; version = "18.08"; src = fetchFromGitHub { diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index 66fc1645e9a..bb0b92eee03 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -1,7 +1,7 @@ { config, stdenv, fetchurl, fetchFromGitHub, makeWrapper , docutils, perl, pkgconfig, python3, which, ffmpeg_4 , freefont_ttf, freetype, libass, libpthreadstubs, mujs -, lua, libuchardet, libiconv ? null, darwin +, nv-codec-headers, lua, libuchardet, libiconv ? null, darwin , waylandSupport ? stdenv.isLinux , wayland ? null @@ -95,7 +95,7 @@ let luaEnv = lua.withPackages(ps: with ps; [ luasocket ]); in stdenv.mkDerivation rec { - name = "mpv-${version}"; + pname = "mpv"; version = "0.29.1"; src = fetchFromGitHub { @@ -166,6 +166,7 @@ in stdenv.mkDerivation rec { ++ optional xvSupport libXv ++ optional youtubeSupport youtube-dl ++ optional stdenv.isDarwin libiconv + ++ optional stdenv.isLinux nv-codec-headers ++ optionals cddaSupport [ libcdio libcdio-paranoia ] ++ optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ] ++ optionals waylandSupport [ wayland wayland-protocols libxkbcommon ] @@ -217,7 +218,7 @@ in stdenv.mkDerivation rec { description = "A media player that supports many video formats (MPlayer and mplayer2 fork)"; homepage = https://mpv.io; license = licenses.gpl2Plus; - maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz ]; + maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz globin ]; platforms = platforms.darwin ++ platforms.linux; longDescription = '' diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix index 1be4fc252fd..d5c46491cf4 100644 --- a/pkgs/applications/video/mythtv/default.nix +++ b/pkgs/applications/video/mythtv/default.nix @@ -2,11 +2,11 @@ , libpulseaudio, fftwSinglePrec , lame, zlib, libGLU_combined, alsaLib, freetype , perl, pkgconfig , libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm , libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2 -, linuxHeaders +, linuxHeaders, fetchpatch }: stdenv.mkDerivation rec { - name = "mythtv-${version}"; + pname = "mythtv"; version = "29.1"; src = fetchFromGitHub { @@ -16,6 +16,15 @@ stdenv.mkDerivation rec { sha256 = "0pjxv4bmq8h285jsr02svgaa03614arsyk12fn9d4rndjsi2cc3x"; }; + patches = [ + # Fixes build with exiv2 0.27.1. + (fetchpatch { + name = "004-exiv2.patch"; + url = "https://aur.archlinux.org/cgit/aur.git/plain/004-exiv2.patch?h=mythtv&id=76ea37f8556805b205878772ad7874e487c0d946"; + sha256 = "0mh542f53qgky0w3s2bv0gmcxzvmb10834z3cfff40fby2ffr6k8"; + }) + ]; + setSourceRoot = ''sourceRoot=$(echo */mythtv)''; buildInputs = [ diff --git a/pkgs/applications/video/natron/default.nix b/pkgs/applications/video/natron/default.nix index 090b4ec9ffe..4617d1d17dc 100644 --- a/pkgs/applications/video/natron/default.nix +++ b/pkgs/applications/video/natron/default.nix @@ -12,7 +12,7 @@ let }; seexpr = stdenv.mkDerivation rec { version = "1.0.1"; - name = "seexpr-${version}"; + pname = "seexpr"; src = fetchurl { url = "https://github.com/wdas/SeExpr/archive/rel-${version}.tar.gz"; sha256 = "1ackh0xs4ip7mk34bam8zd4qdymkdk0dgv8x0f2mf6gbyzzyh7lp"; @@ -120,7 +120,7 @@ stdenv.mkDerivation { Node-graph based, open-source compositing software. Similar in functionalities to Adobe After Effects and Nuke by The Foundry. ''; - homepage = https://natron.inria.fr/; + homepage = https://natron.fr/; license = stdenv.lib.licenses.gpl2; maintainers = [ maintainers.puffnfresh ]; platforms = platforms.linux; diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix index 7211f9ff3d1..cdcdea3dd26 100644 --- a/pkgs/applications/video/obs-studio/default.nix +++ b/pkgs/applications/video/obs-studio/default.nix @@ -1,6 +1,6 @@ { config, stdenv +, mkDerivation , fetchFromGitHub -, fetchpatch , cmake , fdk_aac , ffmpeg @@ -11,6 +11,7 @@ , libXdmcp , qtbase , qtx11extras +, qtsvg , speex , libv4l , x264 @@ -34,24 +35,17 @@ let optional = stdenv.lib.optional; -in stdenv.mkDerivation rec { - name = "obs-studio-${version}"; - version = "22.0.3"; +in mkDerivation rec { + pname = "obs-studio"; + version = "23.2.1"; src = fetchFromGitHub { owner = "jp9000"; repo = "obs-studio"; rev = "${version}"; - sha256 = "0ri9qkqk3h71b1a5bwpjzqdr21bbmfqbykg48l779d20zln23n1i"; + sha256 = "05brixq2z98mvn1q2rgdl27xj798509nv8yh6h0yzqyk9gly4anz"; }; - patches = [ - (fetchpatch { - url = "https://patch-diff.githubusercontent.com/raw/obsproject/obs-studio/pull/1557.diff"; - sha256 = "162fnkxh2wyn6wrrm1kzv7c2mn96kx35vlmk2qwn1nqlifbpsfyq"; - }) - ]; - nativeBuildInputs = [ cmake pkgconfig ]; @@ -67,6 +61,7 @@ in stdenv.mkDerivation rec { libXdmcp qtbase qtx11extras + qtsvg speex x264 vlc diff --git a/pkgs/applications/video/obs-studio/linuxbrowser.nix b/pkgs/applications/video/obs-studio/linuxbrowser.nix index 6d02233be32..52aa57bf198 100644 --- a/pkgs/applications/video/obs-studio/linuxbrowser.nix +++ b/pkgs/applications/video/obs-studio/linuxbrowser.nix @@ -9,13 +9,13 @@ }: stdenv.mkDerivation rec { - name = "obs-linuxbrowser-${version}"; - version = "0.6.0"; + pname = "obs-linuxbrowser"; + version = "0.6.1"; src = fetchFromGitHub { owner = "bazukas"; repo = "obs-linuxbrowser"; rev = version; - sha256 = "000ngkiwfjjl25v4hz6lh6mdkf119pnq0qv3jwdmmp6fpd0dxcgh"; + sha256 = "1mi9pchy07ipnx1m2767n29d53v822yajcf6c3705dhz882z21zq"; }; nativeBuildInputs = [ cmake ]; buildInputs = [ obs-studio ]; diff --git a/pkgs/applications/video/olive-editor/default.nix b/pkgs/applications/video/olive-editor/default.nix new file mode 100644 index 00000000000..efa06f4794e --- /dev/null +++ b/pkgs/applications/video/olive-editor/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, pkgconfig, which, qmake, mkDerivation, + qtbase, qtmultimedia, frei0r, opencolorio, hicolor-icon-theme, ffmpeg-full, + CoreFoundation }: + +mkDerivation rec { + pname = "olive-editor"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "olive-editor"; + repo = "olive"; + rev = version; + sha256 = "15q4qwf5rc3adssywl72jrhkpqk55ihpd5h5wf07baw0s47vv5kq"; + }; + + nativeBuildInputs = [ + pkgconfig + which + qmake + ]; + + buildInputs = [ + ffmpeg-full + frei0r + opencolorio + qtbase + qtmultimedia + qtmultimedia.dev + hicolor-icon-theme + ] ++ stdenv.lib.optional stdenv.isDarwin CoreFoundation; + + meta = with stdenv.lib; { + description = "Professional open-source NLE video editor"; + homepage = "https://www.olivevideoeditor.org/"; + downloadPage = "https://www.olivevideoeditor.org/download.php"; + license = licenses.gpl3; + maintainers = [ maintainers.balsoft ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix index 6f113817058..0b1d9e95115 100644 --- a/pkgs/applications/video/openshot-qt/default.nix +++ b/pkgs/applications/video/openshot-qt/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchFromGitHub +{ stdenv, mkDerivationWith, fetchFromGitHub , doxygen, python3Packages, libopenshot , wrapGAppsHook, gtk3 }: -python3Packages.buildPythonApplication rec { - name = "openshot-qt-${version}"; - version = "2.4.3"; +mkDerivationWith python3Packages.buildPythonApplication rec { + pname = "openshot-qt"; + version = "2.4.4"; src = fetchFromGitHub { owner = "OpenShot"; repo = "openshot-qt"; rev = "v${version}"; - sha256 = "1qdw1mli4y9qhrnllnkaf6ydgw5vfvdb90chs4i679k0x0jyb9a2"; + sha256 = "0mg63v36h7l8kv2sgf6x8c1n3ygddkqqwlciz7ccxpbm4x1idqba"; }; nativeBuildInputs = [ doxygen wrapGAppsHook ]; @@ -19,12 +19,20 @@ python3Packages.buildPythonApplication rec { propagatedBuildInputs = with python3Packages; [ libopenshot pyqt5_with_qtwebkit requests sip httplib2 pyzmq ]; + dontWrapGApps = true; + dontWrapQtApps = true; preConfigure = '' # tries to create caching directories during install export HOME=$(mktemp -d) ''; + postFixup = '' + wrapProgram $out/bin/openshot-qt \ + "''${gappsWrapperArgs[@]}" \ + "''${qtWrapperArgs[@]}" + ''; + doCheck = false; meta = with stdenv.lib; { diff --git a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix b/pkgs/applications/video/openshot-qt/libopenshot-audio.nix index 9e275464f05..9bf21116455 100644 --- a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix +++ b/pkgs/applications/video/openshot-qt/libopenshot-audio.nix @@ -1,16 +1,15 @@ -{ stdenv, fetchFromGitHub, pkgconfig, cmake, doxygen, alsaLib -, libX11, libXft, libXrandr, libXinerama, libXext, libXcursor }: +{ stdenv, fetchFromGitHub, pkgconfig, cmake, doxygen, alsaLib , libX11, libXft, libXrandr, libXinerama, libXext, libXcursor }: with stdenv.lib; stdenv.mkDerivation rec { - name = "libopenshot-audio-${version}"; - version = "0.1.7"; + pname = "libopenshot-audio"; + version = "0.1.8"; src = fetchFromGitHub { owner = "OpenShot"; repo = "libopenshot-audio"; rev = "v${version}"; - sha256 = "08a8wbi28kwrdz4h0rs1b9vsr28ldfi8g75q54rj676y1vwg3qys"; + sha256 = "1fvp6nmf30xzkmcznakh8dv5vn9d7nq051pqcqv638hsfppkmcrl"; }; nativeBuildInputs = diff --git a/pkgs/applications/video/openshot-qt/libopenshot.nix b/pkgs/applications/video/openshot-qt/libopenshot.nix index aab54e6d2ee..b7c8e6feeba 100644 --- a/pkgs/applications/video/openshot-qt/libopenshot.nix +++ b/pkgs/applications/video/openshot-qt/libopenshot.nix @@ -7,14 +7,14 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "libopenshot-${version}"; - version = "0.2.2"; + pname = "libopenshot"; + version = "0.2.3"; src = fetchFromGitHub { owner = "OpenShot"; repo = "libopenshot"; rev = "v${version}"; - sha256 = "1x4kv05pdq1pglb6y056aa7llc6iyibyhzg93k7zwj0q08cp5ixd"; + sha256 = "0r1qmr8ar5n72603xkj9h065vbpznrqsq88kxxmn9n8djyyvk03k"; }; patchPhase = '' diff --git a/pkgs/applications/video/peek/default.nix b/pkgs/applications/video/peek/default.nix index 728f6387ffa..374ea08816f 100644 --- a/pkgs/applications/video/peek/default.nix +++ b/pkgs/applications/video/peek/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, cmake, gettext, libxml2, pkgconfig, txt2man, vala, wrapGAppsHook +{ stdenv, fetchFromGitHub, cmake, gettext, libxml2, pkgconfig, txt2man, vala_0_40, wrapGAppsHook , gsettings-desktop-schemas, gtk3, keybinder3, ffmpeg }: stdenv.mkDerivation rec { - name = "peek-${version}"; + pname = "peek"; version = "1.3.1"; src = fetchFromGitHub { owner = "phw"; - repo = "peek"; + repo = pname; rev = version; sha256 = "1fnvlklmg6s5rs3ql74isa5fgdkqqrpsyf8k2spxj520239l4vgb"; }; @@ -17,9 +17,21 @@ stdenv.mkDerivation rec { gappsWrapperArgs+=(--prefix PATH : ${stdenv.lib.makeBinPath [ ffmpeg ]}) ''; - nativeBuildInputs = [ cmake gettext pkgconfig libxml2.bin txt2man vala wrapGAppsHook ]; + nativeBuildInputs = [ + cmake + gettext + pkgconfig + libxml2.bin + txt2man + vala_0_40 # See https://github.com/NixOS/nixpkgs/issues/58433 + wrapGAppsHook + ]; - buildInputs = [ gsettings-desktop-schemas gtk3 keybinder3 ]; + buildInputs = [ + gsettings-desktop-schemas + gtk3 + keybinder3 + ]; enableParallelBuilding = true; diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix index 2cd4f19ca93..bef9537b806 100644 --- a/pkgs/applications/video/pitivi/default.nix +++ b/pkgs/applications/video/pitivi/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, fetchurl, pkgconfig, intltool, itstool, python3, wrapGAppsHook , python3Packages, gst_all_1, gtk3 , gobject-introspection, librsvg, gnome3, libnotify, gsound -, meson, ninja +, meson, ninja, gsettings-desktop-schemas }: let @@ -12,7 +12,7 @@ let # don't bother exposing the package to all of nixpkgs. gst-transcoder = stdenv.mkDerivation rec { version = "1.14.1"; - name = "gst-transcoder-${version}"; + pname = "gst-transcoder"; src = fetchFromGitHub { owner = "pitivi"; repo = "gst-transcoder"; @@ -48,8 +48,8 @@ in python3Packages.buildPythonApplication rec { buildInputs = [ gobject-introspection gtk3 librsvg gnome3.gnome-desktop gsound - gnome3.defaultIconTheme - gnome3.gsettings-desktop-schemas libnotify + gnome3.adwaita-icon-theme + gsettings-desktop-schemas libnotify gst-transcoder ] ++ (with gst_all_1; [ gstreamer gst-editing-services diff --git a/pkgs/applications/video/plex-media-player/default.nix b/pkgs/applications/video/plex-media-player/default.nix index ceba62b6f60..a4f9d6222aa 100644 --- a/pkgs/applications/video/plex-media-player/default.nix +++ b/pkgs/applications/video/plex-media-player/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fetchurl, makeDesktopItem, pkgconfig, cmake, python3 +{ stdenv, fetchFromGitHub, fetchurl, pkgconfig, cmake, python3, mkDerivation , libX11, libXrandr, qtbase, qtwebchannel, qtwebengine, qtx11extras , libvdpau, SDL2, mpv, libGL }: let @@ -9,57 +9,47 @@ let # plex-media-player is updated, the versions for these files are changed, # so the build IDs (and SHAs) below will need to be updated! depSrcs = rec { - webClientBuildId = "85-88b3ac67015f76"; - webClientDesktopBuildId = "3.77.2-7015f76"; - webClientTvBuildId = "3.78.0-88b3ac6"; + webClientBuildId = "141-4af71961b12c68"; + webClientDesktopBuildId = "3.104.2-1b12c68"; + webClientTvBuildId = "4.3.0-4af7196"; webClient = fetchurl { url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/buildid.cmake"; - sha256 = "0j7i4yr95ljw9cwyaygld41j7yvndj3dza3cbydv4x8mh2hn05v1"; + sha256 = "0fpkd1s49dbiqqlijxbillqd71a78p8y2sc23mwp0lvcmxrg265p"; }; webClientDesktopHash = fetchurl { url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz.sha1"; - sha256 = "106kx9ahz7jgskpjraff2g235n1whwvf18yw0nmp5dwr9ys9h8jp"; + sha256 = "0sb0j44lwqz9zbm98nba4x6c1jxdzvs36ynwfg527avkxxna0f8f"; }; webClientDesktop = fetchurl { url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz"; - sha256 = "0h23h3fd3w43glvnhrg9qiajs0ql490kb00g3i4cpi29hy1ky45r"; + sha256 = "0dxa0ka0igfsryzda4r5clwdl47ah78nmlmgj9d5pgsvyvzjp87z"; }; webClientTvHash = fetchurl { url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz.sha1"; - sha256 = "05zk2zpmcdf276ys5zyirsmvhvyvz99fa6hlgymma8ql6w67133r"; + sha256 = "086w1bavk2aqsyhv9zi5fynk31zf61sl91r6gjrdrz656wfk5bxa"; }; webClientTv = fetchurl { url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz"; - sha256 = "1cflpgaf4kyj6ccqa11j28rkp8s7zlbnid7s00m5n2c907dihmw2"; + sha256 = "12vbgsfnj0j2y5jd73dpi08hqsr9888sma41nvd4ydsd7qblm455"; }; }; -in stdenv.mkDerivation rec { - name = "plex-media-player-${version}"; - version = "2.23.0.920"; - vsnHash = "5bc1a2e5"; +in mkDerivation rec { + pname = "plex-media-player"; + version = "2.40.0.1007"; + vsnHash = "5482132c"; src = fetchFromGitHub { owner = "plexinc"; repo = "plex-media-player"; rev = "v${version}-${vsnHash}"; - sha256 = "1jzlyj32gr3ar89qnk8slazrbchqkjfx9dchzkzfvpi6742v9igm"; + sha256 = "0ibdh5g8x32iy74q97jfsmxd08wnyrzs3gfiwjfgc10vaa1qdhli"; }; nativeBuildInputs = [ pkgconfig cmake python3 ]; buildInputs = [ libX11 libXrandr qtbase qtwebchannel qtwebengine qtx11extras libvdpau SDL2 mpv libGL ]; - desktopItem = makeDesktopItem { - name = "plex-media-player"; - exec = "plexmediaplayer"; - icon = "plex-media-player"; - comment = "View your media"; - desktopName = "Plex Media Player"; - genericName = "Media Player"; - categories = "AudioVideo;Video;Player;TV;"; - }; - preConfigure = with depSrcs; '' mkdir -p build/dependencies ln -s ${webClient} build/dependencies/buildid-${webClientBuildId}.cmake @@ -69,12 +59,6 @@ in stdenv.mkDerivation rec { ln -s ${webClientTv} build/dependencies/web-client-tv-${webClientTvBuildId}.tar.xz ''; - postInstall = '' - mkdir -p $out/share/{applications,pixmaps} - cp ${src}/resources/images/icon.png $out/share/pixmaps/plex-media-player.png - cp ${desktopItem}/share/applications/* $out/share/applications - ''; - cmakeFlags = [ "-DCMAKE_BUILD_TYPE=RelWithDebInfo" "-DQTROOT=${qtbase}" ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/video/qarte/default.nix b/pkgs/applications/video/qarte/default.nix index aba3b81fde8..f0c3776a433 100644 --- a/pkgs/applications/video/qarte/default.nix +++ b/pkgs/applications/video/qarte/default.nix @@ -3,11 +3,11 @@ let pythonEnv = python3.withPackages (ps: with ps; [ pyqt5 sip ]); in stdenv.mkDerivation { - name = "qarte-3.10.0+188"; + name = "qarte-4.6.0"; src = fetchbzr { - url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/qarte-3; - rev = "188"; - sha256 = "06xpkjgm5ci5gfkza9f44m8l4jj32gfmr65cqs4x0j2ihrc6b4r9"; + url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/qarte-4; + rev = "22"; + sha256 = "0v4zpj8w67ydvnmanxbl8pwvn0cfv70c0mlw36a1r4n0rvgxffcn"; }; buildInputs = [ makeWrapper pythonEnv ]; diff --git a/pkgs/applications/video/qstopmotion/default.nix b/pkgs/applications/video/qstopmotion/default.nix index 2dd76b36d05..327a2034265 100644 --- a/pkgs/applications/video/qstopmotion/default.nix +++ b/pkgs/applications/video/qstopmotion/default.nix @@ -1,18 +1,17 @@ -{ stdenv, lib, fetchurl, qt5, ffmpeg, guvcview, cmake, ninja, libxml2 -, gettext, pkgconfig, libgphoto2, gphoto2, v4l_utils, libv4l, pcre +{ stdenv, fetchurl, qt5, ffmpeg, guvcview, cmake, ninja, libxml2 +, gettext, pkgconfig, libgphoto2, gphoto2, v4l-utils, libv4l, pcre , qwt, extra-cmake-modules }: stdenv.mkDerivation rec { pname = "qstopmotion"; - version = "2.4.0"; - name = "${pname}-${version}"; + version = "2.4.1"; src = fetchurl { - url = "mirror://sourceforge/project/${pname}/Version_2_4_0/${name}-Source.tar.gz"; - sha256 = "0pbyq6nrr9g3crlsng660768167s0fybvcpzbfc0w9kkhs2jwrr2"; + url = "mirror://sourceforge/project/${pname}/Version_${builtins.replaceStrings ["."] ["_"] version}/${pname}-${version}-Source.tar.gz"; + sha256 = "03r6jxyq0bak2vsy2b78nk27m7fm96hnl8cx11l3l17704j4iglh"; }; - buildInputs = with qt5; [ v4l_utils libv4l pcre qtbase qtmultimedia ffmpeg guvcview + buildInputs = with qt5; [ v4l-utils libv4l pcre qtbase qtmultimedia ffmpeg guvcview qwt qtquickcontrols qtimageformats qtxmlpatterns ]; nativeBuildInputs = [ pkgconfig cmake extra-cmake-modules ninja diff --git a/pkgs/applications/video/quvi/library.nix b/pkgs/applications/video/quvi/library.nix index c3204cc9c0c..8f9e3131d8a 100644 --- a/pkgs/applications/video/quvi/library.nix +++ b/pkgs/applications/video/quvi/library.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, lua5, curl, quvi_scripts, libproxy, libgcrypt, glib }: stdenv.mkDerivation rec { - name = "libquvi-${version}"; + pname = "libquvi"; version="0.9.4"; src = fetchurl { diff --git a/pkgs/applications/video/quvi/scripts.nix b/pkgs/applications/video/quvi/scripts.nix index 603534be4c8..e54fc0eae4b 100644 --- a/pkgs/applications/video/quvi/scripts.nix +++ b/pkgs/applications/video/quvi/scripts.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, pkgconfig}: stdenv.mkDerivation rec { - name = "quvi-scripts-${version}"; + pname = "quvi-scripts"; version="0.9.20131130"; src = fetchurl { diff --git a/pkgs/applications/video/quvi/tool.nix b/pkgs/applications/video/quvi/tool.nix index 333f4e6ab4d..972e08bb61b 100644 --- a/pkgs/applications/video/quvi/tool.nix +++ b/pkgs/applications/video/quvi/tool.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, pkgconfig, lua5, curl, quvi_scripts, libquvi, lua5_sockets, glib, makeWrapper}: stdenv.mkDerivation rec { - name = "quvi-${version}"; + pname = "quvi"; version="0.9.5"; src = fetchurl { diff --git a/pkgs/applications/video/recordmydesktop/default.nix b/pkgs/applications/video/recordmydesktop/default.nix index 8797ad8f953..e4d6e14d098 100644 --- a/pkgs/applications/video/recordmydesktop/default.nix +++ b/pkgs/applications/video/recordmydesktop/default.nix @@ -2,7 +2,7 @@ , libICE, libSM, libX11, libXext, libXfixes, libXdamage }: stdenv.mkDerivation rec { - name = "recordmydesktop-${version}"; + pname = "recordmydesktop"; version = "0.3.8.1-svn${rev}"; rev = "602"; diff --git a/pkgs/applications/video/recordmydesktop/gtk.nix b/pkgs/applications/video/recordmydesktop/gtk.nix index 984b623cee7..d59b02d4b0a 100644 --- a/pkgs/applications/video/recordmydesktop/gtk.nix +++ b/pkgs/applications/video/recordmydesktop/gtk.nix @@ -5,7 +5,7 @@ let binPath = lib.makeBinPath [ recordmydesktop jack2 xwininfo ]; in stdenv.mkDerivation rec { - name = "gtk-recordmydesktop-${version}"; + pname = "gtk-recordmydesktop"; version = "0.3.8-svn${recordmydesktop.rev}"; src = fetchsvn { diff --git a/pkgs/applications/video/recordmydesktop/qt.nix b/pkgs/applications/video/recordmydesktop/qt.nix index 56080135151..0864edfcf38 100644 --- a/pkgs/applications/video/recordmydesktop/qt.nix +++ b/pkgs/applications/video/recordmydesktop/qt.nix @@ -5,7 +5,7 @@ let binPath = lib.makeBinPath [ recordmydesktop jack2 xwininfo ]; in stdenv.mkDerivation rec { - name = "qt-recordmydesktop-${version}"; + pname = "qt-recordmydesktop"; version = "0.3.8-svn${recordmydesktop.rev}"; src = fetchsvn { diff --git a/pkgs/applications/video/screenkey/default.nix b/pkgs/applications/video/screenkey/default.nix index 6042f490dfa..1671c3f14d0 100644 --- a/pkgs/applications/video/screenkey/default.nix +++ b/pkgs/applications/video/screenkey/default.nix @@ -9,7 +9,7 @@ , libX11 , libXtst , wrapGAppsHook -, defaultIconTheme +, gnome3 , hicolor-icon-theme }: buildPythonApplication rec { @@ -39,7 +39,7 @@ buildPythonApplication rec { ]; buildInputs = [ - defaultIconTheme + gnome3.adwaita-icon-theme hicolor-icon-theme ]; diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix index bbb11c49766..176c4be4946 100644 --- a/pkgs/applications/video/shotcut/default.nix +++ b/pkgs/applications/video/shotcut/default.nix @@ -1,24 +1,23 @@ -{ stdenv, fetchFromGitHub, SDL2, frei0r, gettext, mlt, jack1, pkgconfig, qtbase -, qtmultimedia, qtwebkit, qtx11extras, qtwebsockets, qtquickcontrols -, qtgraphicaleffects, libmlt -, qmake, makeWrapper, qttools }: +{ stdenv, fetchFromGitHub, SDL2, frei0r, gettext, mlt, jack1, mkDerivation +, pkgconfig, qtbase, qtmultimedia, qtwebkit, qtx11extras, qtwebsockets +, qtquickcontrols, qtgraphicaleffects, libmlt, qmake, qttools }: assert stdenv.lib.versionAtLeast libmlt.version "6.8.0"; assert stdenv.lib.versionAtLeast mlt.version "6.8.0"; -stdenv.mkDerivation rec { - name = "shotcut-${version}"; - version = "18.12.23"; +mkDerivation rec { + pname = "shotcut"; + version = "19.08.16"; src = fetchFromGitHub { owner = "mltframework"; repo = "shotcut"; rev = "v${version}"; - sha256 = "1i6gkqvg31q7g5s3zgqzg4i5kyas7k4svclgbk459i5h1ar3v5vn"; + sha256 = "0alnnfgimfs8fjddkcfx4pzyijwz5dgnqic5qazaza6f4kf60801"; }; enableParallelBuilding = true; - nativeBuildInputs = [ makeWrapper pkgconfig qmake ]; + nativeBuildInputs = [ pkgconfig qmake ]; buildInputs = [ SDL2 frei0r gettext mlt libmlt qtbase qtmultimedia qtwebkit qtx11extras qtwebsockets qtquickcontrols @@ -35,10 +34,15 @@ stdenv.mkDerivation rec { sed "s_/usr/bin/nice_''${NICE}_" -i src/jobs/meltjob.cpp src/jobs/ffmpegjob.cpp ''; + qtWrapperArgs = [ + "--prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1" + "--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [jack1 SDL2 ]}" + "--prefix PATH : ${mlt}/bin" + ]; + postInstall = '' mkdir -p $out/share/shotcut cp -r src/qml $out/share/shotcut/ - wrapProgram $out/bin/shotcut --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1 --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ jack1 SDL2 ]} --prefix PATH : ${mlt}/bin ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix index b456d8ee9a6..29ad928e27c 100644 --- a/pkgs/applications/video/simplescreenrecorder/default.nix +++ b/pkgs/applications/video/simplescreenrecorder/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl, alsaLib, ffmpeg, libjack2, libX11, libXext, qtx11extras +{ stdenv, mkDerivation, fetchurl, alsaLib, ffmpeg, libjack2, libX11, libXext, qtx11extras , libXfixes, libGLU_combined, pkgconfig, libpulseaudio, qtbase, cmake, ninja }: -stdenv.mkDerivation rec { - name = "simplescreenrecorder-${version}"; +mkDerivation rec { + pname = "simplescreenrecorder"; version = "0.3.11"; src = fetchurl { diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix index 00c0d7b6dc2..495fc6f6745 100644 --- a/pkgs/applications/video/smplayer/default.nix +++ b/pkgs/applications/video/smplayer/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, qmake, qtscript }: +{ lib, mkDerivation, fetchurl, qmake, qtscript }: -stdenv.mkDerivation rec { - name = "smplayer-19.1.0"; +mkDerivation rec { + name = "smplayer-19.5.0"; src = fetchurl { url = "mirror://sourceforge/smplayer/${name}.tar.bz2"; - sha256 = "0q23nsmmdhj4kb90axaqrzv5pyj7szbwy8l3skl53yi8r4j3sj3s"; + sha256 = "1xda9pbrc3dfbs71n5l8yszlcywz9456mwkv52vmn8lszhvjpjxm"; }; buildInputs = [ qtscript ]; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { meta = { description = "A complete front-end for MPlayer"; homepage = http://smplayer.sourceforge.net/; - license = stdenv.lib.licenses.gpl3Plus; - platforms = stdenv.lib.platforms.linux; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.linux; }; } diff --git a/pkgs/applications/video/smtube/default.nix b/pkgs/applications/video/smtube/default.nix index c5dcec38723..352569e5ab3 100644 --- a/pkgs/applications/video/smtube/default.nix +++ b/pkgs/applications/video/smtube/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, qmake, qtscript, qtwebkit }: +{ lib, mkDerivation, fetchurl, qmake, qtscript, qtwebkit }: -stdenv.mkDerivation rec { - version = "18.11.0"; - name = "smtube-${version}"; +mkDerivation rec { + version = "19.6.0"; + pname = "smtube"; src = fetchurl { - url = "mirror://sourceforge/smtube/SMTube/${version}/${name}.tar.bz2"; - sha256 = "0rda7mdsr0awhra9yrmsdzp2c4s6xx5nax107d1fydnk084pygqp"; + url = "mirror://sourceforge/smtube/SMTube/${version}/${pname}-${version}.tar.bz2"; + sha256 = "0d3hskd6ar51zq29xj899i8sii9g4cxq99gz2y1dhgsnqbn36hpm"; }; makeFlags = [ @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ qmake ]; buildInputs = [ qtscript qtwebkit ]; - meta = with stdenv.lib; { + meta = with lib; { description = "Play and download Youtube videos"; homepage = http://smplayer.sourceforge.net/smtube.php; license = licenses.gpl2Plus; diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix index dbf22aa9f8e..a5efddc9f1a 100644 --- a/pkgs/applications/video/streamlink/default.nix +++ b/pkgs/applications/video/streamlink/default.nix @@ -1,14 +1,14 @@ { stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg }: pythonPackages.buildPythonApplication rec { - version = "0.14.2"; - name = "streamlink-${version}"; + version = "1.1.1"; + pname = "streamlink"; src = fetchFromGitHub { owner = "streamlink"; repo = "streamlink"; rev = "${version}"; - sha256 = "1njwfy1h8a9n5z6crrfnknlw4ys0bap2jam6ga6njgkd10aly9qr"; + sha256 = "1vyf0pifdqygg98azdkfhy5fdckb0w2ca7c46mkrj452gkvmcq33"; }; checkInputs = with pythonPackages; [ pytest mock requests-mock freezegun ]; diff --git a/pkgs/applications/video/subtitleeditor/default.nix b/pkgs/applications/video/subtitleeditor/default.nix index 3683973824a..03fc1f5399a 100644 --- a/pkgs/applications/video/subtitleeditor/default.nix +++ b/pkgs/applications/video/subtitleeditor/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, intltool, file, - desktop-file-utils, enchant, gnome3, gst_all_1, hicolor-icon-theme, + desktop-file-utils, enchant, gtk3, gtkmm3, gst_all_1, hicolor-icon-theme, libsigcxx, libxmlxx, xdg_utils, isocodes, wrapGAppsHook }: @@ -8,7 +8,8 @@ let in stdenv.mkDerivation rec { - name = "subtitleeditor-${version}"; + pname = "subtitleeditor"; + inherit version; src = fetchFromGitHub { owner = "kitone"; @@ -28,8 +29,8 @@ stdenv.mkDerivation rec { buildInputs = [ desktop-file-utils enchant - gnome3.gtk - gnome3.gtkmm + gtk3 + gtkmm3 gst_all_1.gstreamer gst_all_1.gstreamermm gst_all_1.gst-plugins-base diff --git a/pkgs/applications/video/tivodecode/default.nix b/pkgs/applications/video/tivodecode/default.nix index 83ca41e201c..bc6561a0bbd 100644 --- a/pkgs/applications/video/tivodecode/default.nix +++ b/pkgs/applications/video/tivodecode/default.nix @@ -6,7 +6,8 @@ let in stdenv.mkDerivation { - name = "tivodecode-${version}"; + pname = "tivodecode"; + inherit version; src = fetchurl { url = "mirror://sourceforge/tivodecode/tivodecode/${version}/tivodecode-${version}.tar.gz"; diff --git a/pkgs/applications/video/vdr/default.nix b/pkgs/applications/video/vdr/default.nix index 0ad0b04e7e4..bcffb8585b3 100644 --- a/pkgs/applications/video/vdr/default.nix +++ b/pkgs/applications/video/vdr/default.nix @@ -1,78 +1,55 @@ { stdenv, fetchurl, fontconfig, libjpeg, libcap, freetype, fribidi, pkgconfig -, gettext, ncurses, systemd, perl +, gettext, systemd, perl, lib , enableSystemd ? true , enableBidi ? true -}: -let +}: stdenv.mkDerivation rec { - version = "2.4.0"; + pname = "vdr"; + version = "2.4.1"; - name = "vdr-${version}"; - - mkPlugin = name: stdenv.mkDerivation { - name = "vdr-${name}-${version}"; - inherit (vdr) src; - buildInputs = [ vdr ]; - preConfigure = "cd PLUGINS/src/${name}"; - installFlags = [ "DESTDIR=$(out)" ]; + src = fetchurl { + url = "ftp://ftp.tvdr.de/vdr/${pname}-${version}.tar.bz2"; + sha256 = "1p51b14aqzncx3xpfg0rjplc48pg7520035i5p6r5zzkqhszihr5"; }; - vdr = stdenv.mkDerivation { + enableParallelBuilding = true; - inherit name; + postPatch = "substituteInPlace Makefile --replace libsystemd-daemon libsystemd"; - src = fetchurl { - url = "ftp://ftp.tvdr.de/vdr/${name}.tar.bz2"; - sha256 = "1klcgy9kr7n6z8d2c77j63bl8hvhx5qnqppg73f77004hzz4kbwk"; - }; + buildInputs = [ fontconfig libjpeg libcap freetype perl ] + ++ lib.optional enableSystemd systemd + ++ lib.optional enableBidi fribidi; - enableParallelBuilding = true; + buildFlags = [ "vdr" "i18n" ] + ++ lib.optional enableSystemd "SDNOTIFY=1" + ++ lib.optional enableBidi "BIDI=1"; - postPatch = "substituteInPlace Makefile --replace libsystemd-daemon libsystemd"; + nativeBuildInputs = [ perl ]; - buildInputs = [ fontconfig libjpeg libcap freetype ] - ++ stdenv.lib.optional enableSystemd systemd - ++ stdenv.lib.optional enableBidi fribidi; + # plugins uses the same build environment as vdr + propagatedNativeBuildInputs = [ pkgconfig gettext ]; - buildFlags = [ "vdr" "i18n" ] - ++ stdenv.lib.optional enableSystemd "SDNOTIFY=1" - ++ stdenv.lib.optional enableBidi "BIDI=1"; + installFlags = [ + "DESTDIR=$(out)" + "PREFIX=" # needs to be empty, otherwise plugins try to install at same prefix + ]; - nativeBuildInputs = [ perl ]; + installTargets = [ "install-pc" "install-bin" "install-doc" "install-i18n" + "install-includes" ]; - # plugins uses the same build environment as vdr - propagatedNativeBuildInputs = [ pkgconfig gettext ]; + postInstall = '' + mkdir -p $out/lib/vdr # only needed if vdr is started without any plugin + mkdir -p $out/share/vdr/conf + cp *.conf $out/share/vdr/conf + ''; - installFlags = [ - "DESTDIR=$(out)" - "PREFIX=" # needs to be empty, otherwise plugins try to install at same prefix - ]; - - installTargets = [ "install-pc" "install-bin" "install-doc" "install-i18n" - "install-includes" ]; - - postInstall = '' - mkdir -p $out/lib/vdr # only needed if vdr is started without any plugin - mkdir -p $out/share/vdr/conf - cp *.conf $out/share/vdr/conf - ''; - - outputs = [ "out" "dev" "man" ]; - - meta = with stdenv.lib; { - homepage = http://www.tvdr.de/; - description = "Video Disc Recorder"; - maintainers = [ maintainers.ck3d ]; - platforms = [ "i686-linux" "x86_64-linux" ]; - license = licenses.gpl2; - }; + outputs = [ "out" "dev" "man" ]; + meta = with lib; { + homepage = http://www.tvdr.de/; + description = "Video Disc Recorder"; + maintainers = [ maintainers.ck3d ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + license = licenses.gpl2; }; -in vdr // { - plugins = { - skincurses = (mkPlugin "skincurses").overrideAttrs( - oldAttr: { buildInputs = oldAttr.buildInputs ++ [ ncurses ]; }); - } // (stdenv.lib.genAttrs [ - "epgtableid0" "hello" "osddemo" "pictures" "servicedemo" "status" "svdrpdemo" - ] mkPlugin); } diff --git a/pkgs/applications/video/vdr/plugins.nix b/pkgs/applications/video/vdr/plugins.nix index 0e543390c4b..022f4382a49 100644 --- a/pkgs/applications/video/vdr/plugins.nix +++ b/pkgs/applications/video/vdr/plugins.nix @@ -1,7 +1,27 @@ -{ stdenv, fetchurl, fetchgit, vdr, ffmpeg_2, alsaLib, fetchFromGitHub +{ stdenv, fetchurl, fetchgit, vdr, alsaLib, fetchFromGitHub , libvdpau, libxcb, xcbutilwm, graphicsmagick, libav, pcre, xorgserver, ffmpeg -, libiconv, boost, libgcrypt, perl, utillinux, groff, libva, xorg }: -{ +, libiconv, boost, libgcrypt, perl, utillinux, groff, libva, xorg, ncurses +, callPackage +}: let + mkPlugin = name: stdenv.mkDerivation { + name = "vdr-${vdr.version}-${name}"; + inherit (vdr) src; + buildInputs = [ vdr ]; + preConfigure = "cd PLUGINS/src/${name}"; + installFlags = [ "DESTDIR=$(out)" ]; + }; +in { + + xineliboutput = callPackage ./xineliboutput {}; + + skincurses = (mkPlugin "skincurses").overrideAttrs(oldAttr: { + buildInputs = oldAttr.buildInputs ++ [ ncurses ]; + }); + + inherit (stdenv.lib.genAttrs [ + "epgtableid0" "hello" "osddemo" "pictures" "servicedemo" "status" "svdrpdemo" + ] mkPlugin); + femon = stdenv.mkDerivation rec { name = "vdr-femon-2.4.0"; diff --git a/pkgs/applications/video/vdr/wrapper.nix b/pkgs/applications/video/vdr/wrapper.nix index 2272d1605fd..497ad7c77a0 100644 --- a/pkgs/applications/video/vdr/wrapper.nix +++ b/pkgs/applications/video/vdr/wrapper.nix @@ -1,5 +1,12 @@ -{ symlinkJoin, lib, makeWrapper, vdr, plugins ? [] }: -symlinkJoin { +{ symlinkJoin, lib, makeWrapper, vdr +, plugins ? [] +}: let + + makeXinePluginPath = l: lib.concatStringsSep ":" (map (p: "${p}/lib/xine/plugins") l); + + requiredXinePlugins = lib.flatten (map (p: p.passthru.requiredXinePlugins or []) plugins); + +in symlinkJoin { name = "vdr-with-plugins-${(builtins.parseDrvName vdr.name).version}"; @@ -8,7 +15,9 @@ symlinkJoin { nativeBuildInputs = [ makeWrapper ]; postBuild = '' - wrapProgram $out/bin/vdr --add-flags "-L $out/lib/vdr --localedir=$out/share/locale" + wrapProgram $out/bin/vdr \ + --add-flags "-L $out/lib/vdr --localedir=$out/share/locale" \ + --prefix XINE_PLUGIN_PATH ":" ${makeXinePluginPath requiredXinePlugins} ''; meta = with vdr.meta; { diff --git a/pkgs/applications/video/vdr/xineliboutput/default.nix b/pkgs/applications/video/vdr/xineliboutput/default.nix new file mode 100644 index 00000000000..98fcd2b5d40 --- /dev/null +++ b/pkgs/applications/video/vdr/xineliboutput/default.nix @@ -0,0 +1,64 @@ +{ stdenv, fetchurl, lib, vdr +, libav, libcap, libvdpau +, xineLib, libjpeg, libextractor, mesa, libGLU +, libX11, libXext, libXrender, libXrandr +, makeWrapper +}: let + name = "vdr-xineliboutput-2.1.0"; + + makeXinePluginPath = l: lib.concatStringsSep ":" (map (p: "${p}/lib/xine/plugins") l); + + self = stdenv.mkDerivation { + inherit name; + + src = fetchurl { + url = "mirror://sourceforge/project/xineliboutput/xineliboutput/${name}/${name}.tgz"; + sha256 = "1phrxpaz8li7z0qy241spawalhcmwkv5hh3gdijbv4h7mm899yba"; + }; + + # configure don't accept argument --prefix + dontAddPrefix = true; + + postConfigure = '' + sed -i config.mak \ + -e 's,XINEPLUGINDIR=/[^/]*/[^/]*/[^/]*/,XINEPLUGINDIR=/,' + ''; + + makeFlags = [ "DESTDIR=$(out)" ]; + + postFixup = '' + for f in $out/bin/*; do + wrapProgram $f \ + --prefix XINE_PLUGIN_PATH ":" "${makeXinePluginPath [ "$out" xineLib ]}" + done + ''; + + nativeBuildInputs = [ makeWrapper ]; + + buildInputs = [ + libav + libcap + libextractor + libjpeg + libGLU + libvdpau + libXext + libXrandr + libXrender + libX11 + mesa + vdr + xineLib + ]; + + passthru.requiredXinePlugins = [ xineLib self ]; + + meta = with lib;{ + homepage = "https://sourceforge.net/projects/xineliboutput/"; + description = "Xine-lib based software output device for VDR"; + maintainers = [ maintainers.ck3d ]; + license = licenses.gpl2; + inherit (vdr.meta) platforms; + }; + }; +in self diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index cd3999e38c0..a38076ca42b 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -9,23 +9,27 @@ , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus , libvdpau, libsamplerate, live555, fluidsynth, wayland, wayland-protocols , onlyLibVLC ? false -, withQt5 ? true, qtbase ? null, qtsvg ? null, qtx11extras ? null +, withQt5 ? true, qtbase ? null, qtsvg ? null, qtx11extras ? null, wrapQtAppsHook ? null , jackSupport ? false -, fetchpatch , removeReferencesTo +, chromecastSupport ? true, protobuf, libmicrodns }: +# chromecastSupport requires TCP port 8010 to be open for it to work. +# If your firewall is enabled, make sure to have something like: +# networking.firewall.allowedTCPPorts = [ 8010 ]; + with stdenv.lib; -assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null); +assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null && wrapQtAppsHook != null); stdenv.mkDerivation rec { - name = "vlc-${version}"; - version = "3.0.6"; + pname = "vlc"; + version = "3.0.8"; src = fetchurl { - url = "http://get.videolan.org/vlc/${version}/${name}.tar.xz"; - sha256 = "1lvyyahv6g9zv7m5g5qinyrwmw47zdsd5ysimb862j7kw15nvh8q"; + url = "http://get.videolan.org/vlc/${version}/${pname}-${version}.tar.xz"; + sha256 = "e0149ef4a20a19b9ecd87309c2d27787ee3f47dfd47c6639644bc1f6fd95bdf6"; }; # VLC uses a *ton* of libraries for various pieces of functionality, many of @@ -42,9 +46,11 @@ stdenv.mkDerivation rec { fluidsynth wayland wayland-protocols ] ++ optional (!stdenv.hostPlatform.isAarch64) live555 ++ optionals withQt5 [ qtbase qtsvg qtx11extras ] - ++ optional jackSupport libjack2; + ++ optional jackSupport libjack2 + ++ optionals chromecastSupport [ protobuf libmicrodns ]; - nativeBuildInputs = [ autoreconfHook perl pkgconfig removeReferencesTo ]; + nativeBuildInputs = [ autoreconfHook perl pkgconfig removeReferencesTo ] + ++ optionals withQt5 [ wrapQtAppsHook ]; enableParallelBuilding = true; @@ -76,7 +82,12 @@ stdenv.mkDerivation rec { # "--enable-foo" flags here configureFlags = [ "--with-kde-solid=$out/share/apps/solid/actions" - ] ++ optional onlyLibVLC "--disable-vlc"; + ] ++ optional onlyLibVLC "--disable-vlc" + ++ optionals chromecastSupport [ + "--enable-sout" + "--enable-chromecast" + "--enable-microdns" + ]; # Remove runtime dependencies on libraries postConfigure = '' diff --git a/pkgs/applications/video/vokoscreen/default.nix b/pkgs/applications/video/vokoscreen/default.nix index 67905033ba1..a38a9056c85 100644 --- a/pkgs/applications/video/vokoscreen/default.nix +++ b/pkgs/applications/video/vokoscreen/default.nix @@ -1,14 +1,18 @@ -{ stdenv, fetchgit -, pkgconfig, qtbase, qttools, qmake, qtx11extras, alsaLib, libv4l, libXrandr +{ stdenv, fetchFromGitHub, mkDerivation +, pkgconfig, qtbase, qttools, qmake, qtmultimedia, qtx11extras, alsaLib, libv4l, libXrandr , ffmpeg }: -stdenv.mkDerivation { - name = "vokoscreen-2.5.0"; - src = fetchgit { - url = "https://github.com/vkohaupt/vokoscreen.git"; - rev = "8325c8658d6e777d34d2e6b8c8bc03f8da9b3d2f"; - sha256 = "1hvw7xz1mj16ishbaip73wddbmgibsz0pad4y586zbarpynss25z"; +mkDerivation rec { + + pname = "vokoscreen"; + version = "2.5.8-beta"; + + src = fetchFromGitHub { + owner = "vkohaupt"; + repo = "vokoscreen"; + rev = version; + sha256 = "1a85vbsi53mhzva49smqwcs61c51wv3ic410nvb9is9nlsbifwan"; }; nativeBuildInputs = [ pkgconfig qmake ]; @@ -16,6 +20,7 @@ stdenv.mkDerivation { alsaLib libv4l qtbase + qtmultimedia qttools qtx11extras libXrandr @@ -35,14 +40,14 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "Simple GUI screencast recorder, using ffmpeg"; - homepage = http://linuxecke.volkoh.de/vokoscreen/vokoscreen.html; + homepage = "http://linuxecke.volkoh.de/vokoscreen/vokoscreen.html"; longDescription = '' vokoscreen is an easy to use screencast creator to record educational videos, live recordings of browser, installation, videoconferences, etc. ''; license = licenses.gpl2Plus; - maintainers = [maintainers.league]; + maintainers = [ maintainers.league ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/video/vokoscreen/ffmpeg-out-of-box.patch b/pkgs/applications/video/vokoscreen/ffmpeg-out-of-box.patch index 8f696f26301..afcee3f9715 100644 --- a/pkgs/applications/video/vokoscreen/ffmpeg-out-of-box.patch +++ b/pkgs/applications/video/vokoscreen/ffmpeg-out-of-box.patch @@ -1,20 +1,20 @@ diff --git a/settings/QvkSettings.cpp b/settings/QvkSettings.cpp -index bbf2abf..187efad 100644 +index 3008e62..07485bd 100644 --- a/settings/QvkSettings.cpp +++ b/settings/QvkSettings.cpp -@@ -56,17 +56,8 @@ void QvkSettings::readAll() - GIFPlayer = settings.value( "GIFplayer" ).toString(); +@@ -66,17 +66,8 @@ void QvkSettings::readAll() Minimized = settings.value( "Minimized", 0 ).toUInt(); + MinimizedByStart = settings.value( "MinimizedByStart", 0 ).toUInt(); Countdown = settings.value( "Countdown", 0 ).toUInt(); - QFile file; - if ( file.exists( qApp->applicationDirPath().append( "/bin/ffmpeg" ) ) == true ) - { -- vokoscreenWithLibs = true; +- vokoscreenWithLibs = true; - Recorder = qApp->applicationDirPath().append( "/bin/ffmpeg" ); - } - else - { -- vokoscreenWithLibs = false; +- vokoscreenWithLibs = false; - Recorder = settings.value( "Recorder", "ffmpeg" ).toString(); - } + vokoscreenWithLibs = true; @@ -22,10 +22,3 @@ index bbf2abf..187efad 100644 settings.endGroup(); settings.beginGroup( "Videooptions" ); -@@ -398,4 +389,4 @@ double QvkSettings::getShowClickTime() - int QvkSettings::getShowKeyOnOff() - { - return showKeyOnOff; --} -\ No newline at end of file -+} diff --git a/pkgs/applications/video/w_scan/default.nix b/pkgs/applications/video/w_scan/default.nix index 2bf74da3d0f..3c4f607c6af 100644 --- a/pkgs/applications/video/w_scan/default.nix +++ b/pkgs/applications/video/w_scan/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "w_scan-${version}"; + pname = "w_scan"; version = "20170107"; src = fetchurl { - url = "http://wirbel.htpc-forum.de/w_scan/${name}.tar.bz2"; + url = "http://wirbel.htpc-forum.de/w_scan/${pname}-${version}.tar.bz2"; sha256 = "1zkgnj2sfvckix360wwk1v5s43g69snm45m0drnzyv7hgf5g7q1q"; }; diff --git a/pkgs/applications/video/webtorrent_desktop/default.nix b/pkgs/applications/video/webtorrent_desktop/default.nix index 086190000ab..8258f858309 100644 --- a/pkgs/applications/video/webtorrent_desktop/default.nix +++ b/pkgs/applications/video/webtorrent_desktop/default.nix @@ -1,6 +1,6 @@ { alsaLib, atk, cairo, cups, dbus, dpkg, expat, fetchurl, fontconfig, freetype, - gdk_pixbuf, glib, gnome2, libX11, libXScrnSaver, libXcomposite, libXcursor, + gdk-pixbuf, glib, gnome2, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, nspr, nss, stdenv, udev }: @@ -15,7 +15,7 @@ expat fontconfig freetype - gdk_pixbuf + gdk-pixbuf glib gnome2.GConf gnome2.gtk @@ -38,7 +38,7 @@ udev ]); in stdenv.mkDerivation rec { - name = "webtorrent-desktop-${version}"; + pname = "webtorrent-desktop"; version = "0.20.0"; src = diff --git a/pkgs/applications/video/wf-recorder/default.nix b/pkgs/applications/video/wf-recorder/default.nix new file mode 100644 index 00000000000..d52a4a6ab9b --- /dev/null +++ b/pkgs/applications/video/wf-recorder/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, wayland, wayland-protocols +, ffmpeg, x264, libpulseaudio +}: + +stdenv.mkDerivation rec { + pname = "wf-recorder"; + version = "0.1"; + + src = fetchFromGitHub { + owner = "ammen99"; + repo = pname; + rev = "v${version}"; + sha256 = "1rl75r87ijja9mfyrwrsz8r4zvjnhm0103qmgyhq2phlrdpkks5d"; + }; + + nativeBuildInputs = [ meson ninja pkgconfig ]; + buildInputs = [ wayland wayland-protocols ffmpeg x264 libpulseaudio ]; + + meta = with stdenv.lib; { + description = "Utility program for screen recording of wlroots-based compositors"; + homepage = https://github.com/ammen99/wf-recorder; + license = licenses.mit; + maintainers = with maintainers; [ CrazedProgrammer ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/video/wxcam/default.nix b/pkgs/applications/video/wxcam/default.nix index 64fcf0ba04a..176d9a87aed 100644 --- a/pkgs/applications/video/wxcam/default.nix +++ b/pkgs/applications/video/wxcam/default.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { - name = "wxcam-${version}"; + pname = "wxcam"; version = "1.1"; src = fetchurl { - url = "mirror://sourceforge/project/wxcam/wxcam/${version}/${name}.tar.gz"; + url = "mirror://sourceforge/project/wxcam/wxcam/${version}/${pname}-${version}.tar.gz"; sha256 = "1765bvc65fpzn9ycnnj5hais9xkx9v0sm6a878d35x54bpanr859"; }; diff --git a/pkgs/applications/video/xawtv/default.nix b/pkgs/applications/video/xawtv/default.nix index f6f8016ec1d..db9a5ce7850 100644 --- a/pkgs/applications/video/xawtv/default.nix +++ b/pkgs/applications/video/xawtv/default.nix @@ -2,10 +2,10 @@ , libFS, libXaw, libXpm, libXext, libSM, libICE, perl, linux}: stdenv.mkDerivation rec { - name = "xawtv-3.105"; + name = "xawtv-3.106"; src = fetchurl { url = "https://linuxtv.org/downloads/xawtv/${name}.tar.bz2"; - sha256 = "03v4k0dychjz1kj890d9pc7v8jh084m01g71x1clmmvc6vc9kn1b"; + sha256 = "174wd36rk0k23mgx9nlnpc398yd1f0wiv060963axg6sz0v4rksp"; }; preConfigure = '' diff --git a/pkgs/applications/video/xscast/default.nix b/pkgs/applications/video/xscast/default.nix index ae048f1bdac..ba72763cdaf 100644 --- a/pkgs/applications/video/xscast/default.nix +++ b/pkgs/applications/video/xscast/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, makeWrapper, ffmpeg, imagemagick, dzen2, xorg }: stdenv.mkDerivation rec { - name = "xscast-unstable-${version}"; + pname = "xscast-unstable"; version = "2016-07-26"; src = fetchFromGitHub { diff --git a/pkgs/applications/virtualization/8086tiny/default.nix b/pkgs/applications/virtualization/8086tiny/default.nix index 15d98dc9be5..6e61ef098f3 100644 --- a/pkgs/applications/virtualization/8086tiny/default.nix +++ b/pkgs/applications/virtualization/8086tiny/default.nix @@ -6,7 +6,7 @@ assert sdlSupport -> (SDL != null); stdenv.mkDerivation rec { - name = "8086tiny-${version}"; + pname = "8086tiny"; version = "1.25"; src = fetchurl { diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index c858f4c4d6d..ecf6f1c5421 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, edk2, nasm, iasl, seabios, openssl, secureBoot ? false }: +{ stdenv, lib, edk2, utillinux, nasm, iasl +, csmSupport ? false, seabios ? null +, secureBoot ? false +}: + +assert csmSupport -> seabios != null; let @@ -12,60 +17,25 @@ let throw "Unsupported architecture"; version = (builtins.parseDrvName edk2.name).version; - - src = edk2.src; in -stdenv.mkDerivation (edk2.setup projectDscPath { +edk2.mkDerivation projectDscPath { name = "OVMF-${version}"; - inherit src; - outputs = [ "out" "fd" ]; - # TODO: properly include openssl for secureBoot - buildInputs = [nasm iasl] ++ stdenv.lib.optionals (secureBoot == true) [ openssl ]; + buildInputs = [ utillinux nasm iasl ]; - hardeningDisable = [ "stackprotector" "pic" "fortify" ]; + hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ]; - unpackPhase = '' - # $fd is overwritten during the build - export OUTPUT_FD=$fd + buildFlags = + lib.optional secureBoot "-DSECURE_BOOT_ENABLE=TRUE" + ++ lib.optionals csmSupport [ "-D CSM_ENABLE" "-D FD_SIZE_2MB" ]; - for file in \ - "${src}"/{UefiCpuPkg,MdeModulePkg,IntelFrameworkModulePkg,PcAtChipsetPkg,FatBinPkg,EdkShellBinPkg,MdePkg,ShellPkg,OptionRomPkg,IntelFrameworkPkg,FatPkg,CryptoPkg,SourceLevelDebugPkg}; - do - ln -sv "$file" . - done - - ${if stdenv.isAarch64 then '' - ln -sv ${src}/ArmPkg . - ln -sv ${src}/ArmPlatformPkg . - ln -sv ${src}/ArmVirtPkg . - ln -sv ${src}/EmbeddedPkg . - ln -sv ${src}/OvmfPkg . - '' else if seabios != null then '' - cp -r ${src}/OvmfPkg . - chmod +w OvmfPkg/Csm/Csm16 - cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin - '' else '' - ln -sv ${src}/OvmfPkg . - ''} - - ${lib.optionalString secureBoot '' - ln -sv ${src}/SecurityPkg . - ln -sv ${src}/CryptoPkg . - ''} + postPatch = lib.optionalString csmSupport '' + cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin ''; - buildPhase = if stdenv.isAarch64 then '' - build -n $NIX_BUILD_CORES - '' else if seabios == null then '' - build -n $NIX_BUILD_CORES ${lib.optionalString secureBoot "-DSECURE_BOOT_ENABLE=TRUE"} - '' else '' - build -n $NIX_BUILD_CORES -D CSM_ENABLE -D FD_SIZE_2MB ${lib.optionalString secureBoot "-DSECURE_BOOT_ENABLE=TRUE"} - ''; - postFixup = if stdenv.isAarch64 then '' mkdir -vp $fd/FV mkdir -vp $fd/AAVMF @@ -77,8 +47,8 @@ stdenv.mkDerivation (edk2.setup projectDscPath { dd of=$fd/AAVMF/QEMU_EFI-pflash.raw if=$fd/FV/QEMU_EFI.fd conv=notrunc dd of=$fd/AAVMF/vars-template-pflash.raw if=/dev/zero bs=1M count=64 '' else '' - mkdir -vp $OUTPUT_FD/FV - mv -v $out/FV/OVMF{,_CODE,_VARS}.fd $OUTPUT_FD/FV + mkdir -vp $fd/FV + mv -v $out/FV/OVMF{,_CODE,_VARS}.fd $fd/FV ''; dontPatchELF = true; @@ -89,4 +59,4 @@ stdenv.mkDerivation (edk2.setup projectDscPath { license = stdenv.lib.licenses.bsd2; platforms = ["x86_64-linux" "i686-linux" "aarch64-linux"]; }; -}) +} diff --git a/pkgs/applications/virtualization/aqemu/default.nix b/pkgs/applications/virtualization/aqemu/default.nix index e7cd5b7bde6..02fb256b38c 100644 --- a/pkgs/applications/virtualization/aqemu/default.nix +++ b/pkgs/applications/virtualization/aqemu/default.nix @@ -2,7 +2,7 @@ }: stdenv.mkDerivation rec { - name = "aqemu-${version}"; + pname = "aqemu"; version = "0.9.2"; src = fetchFromGitHub { diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix index f9d7128330f..72db4f1e5aa 100644 --- a/pkgs/applications/virtualization/bochs/default.nix +++ b/pkgs/applications/virtualization/bochs/default.nix @@ -18,11 +18,11 @@ assert curlSupport -> (curl != null); with stdenv.lib; stdenv.mkDerivation rec { - name = "bochs-${version}"; + pname = "bochs"; version = "2.6.9"; src = fetchurl { - url = "mirror://sourceforge/project/bochs/bochs/${version}/${name}.tar.gz"; + url = "mirror://sourceforge/project/bochs/bochs/${version}/${pname}-${version}.tar.gz"; sha256 = "1379cq4cnfprhw8mgh60i0q9j8fz8d7n3d5fnn2g9fdiv5znfnzf"; }; diff --git a/pkgs/applications/virtualization/cbfstool/default.nix b/pkgs/applications/virtualization/cbfstool/default.nix index 13060a50290..9cdaec1c698 100644 --- a/pkgs/applications/virtualization/cbfstool/default.nix +++ b/pkgs/applications/virtualization/cbfstool/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, iasl, flex, bison }: stdenv.mkDerivation rec { - name = "cbfstool-${version}"; + pname = "cbfstool"; version = "4.9"; src = fetchurl { diff --git a/pkgs/applications/virtualization/charliecloud/default.nix b/pkgs/applications/virtualization/charliecloud/default.nix new file mode 100644 index 00000000000..c55eb342e06 --- /dev/null +++ b/pkgs/applications/virtualization/charliecloud/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchFromGitHub, python }: + +stdenv.mkDerivation rec { + + version = "0.9.8"; + pname = "charliecloud"; + + src = fetchFromGitHub { + owner = "hpc"; + repo = "charliecloud"; + rev = "v${version}"; + sha256 = "1w1wy4sj9zqfysrpf04shhppcf5ap4rp7i3ja81sv2fm27k4m9nl"; + }; + + buildInputs = [ python ]; + + preConfigure = '' + substituteInPlace Makefile --replace '/bin/bash' '${stdenv.shell}' + patchShebangs test/ + ''; + + makeFlags = [ + "PREFIX=$(out)" + "LIBEXEC_DIR=lib/charliecloud" + ]; + + postInstall = '' + mkdir -p $out/share/charliecloud + mv $out/lib/charliecloud/examples $out/share/charliecloud + mv $out/lib/charliecloud/test $out/share/charliecloud + ''; + + meta = { + description = "User-defined software stacks (UDSS) for high-performance computing (HPC) centers"; + longDescription = '' + Charliecloud uses Linux user namespaces to run containers with no + privileged operations or daemons and minimal configuration changes on + center resources. This simple approach avoids most security risks + while maintaining access to the performance and functionality already + on offer. + ''; + homepage = https://hpc.github.io/charliecloud; + license = stdenv.lib.licenses.asl20; + maintainers = [ stdenv.lib.maintainers.bzizou ]; + platforms = stdenv.lib.platforms.linux; + }; + +} diff --git a/pkgs/applications/virtualization/cntr/default.nix b/pkgs/applications/virtualization/cntr/default.nix index 79dbddfab55..23084c6286a 100644 --- a/pkgs/applications/virtualization/cntr/default.nix +++ b/pkgs/applications/virtualization/cntr/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "0lmbsnjia44h4rskqkv9yc7xb6f3qjgbg8kcr9zqnr7ivr5fjcxg"; }; - cargoSha256 = "0gainr5gfy0bbhr6078zvgx0kzp53slxjp37d3da091ikgzgfn51"; + cargoSha256 = "0xkwza9fx61pvlsm0s3dxc9i09mqp6c9df8w63fyiq7174vjxryx"; meta = with stdenv.lib; { description = "A container debugging tool based on FUSE"; diff --git a/pkgs/applications/virtualization/conmon/default.nix b/pkgs/applications/virtualization/conmon/default.nix new file mode 100644 index 00000000000..0b523d7b88d --- /dev/null +++ b/pkgs/applications/virtualization/conmon/default.nix @@ -0,0 +1,34 @@ +{ stdenv +, fetchFromGitHub +, pkgconfig +, glib +, glibc +, systemd +}: + +stdenv.mkDerivation rec { + project = "conmon"; + name = "${project}-${version}"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "containers"; + repo = project; + rev = "v${version}"; + sha256 = "1sigcylya668f5jzkf1vgfsgqy26l3glh9a3g8lhd2468ax6wymk"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ glib systemd ] ++ + stdenv.lib.optionals (!stdenv.hostPlatform.isMusl) [ glibc glibc.static ]; + + installPhase = "install -Dm755 bin/${project} $out/bin/${project}"; + + meta = with stdenv.lib; { + homepage = https://github.com/containers/conmon; + description = "An OCI container runtime monitor"; + license = licenses.asl20; + maintainers = with maintainers; [ vdemeester saschagrunert ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix index 94b21a77a70..b770c6ed0a5 100644 --- a/pkgs/applications/virtualization/containerd/default.nix +++ b/pkgs/applications/virtualization/containerd/default.nix @@ -1,16 +1,16 @@ -{ stdenv, lib, fetchFromGitHub, buildGoPackage, btrfs-progs, go-md2man, utillinux }: +{ lib, fetchFromGitHub, buildGoPackage, btrfs-progs, go-md2man, utillinux }: with lib; buildGoPackage rec { - name = "containerd-${version}"; - version = "1.2.2"; + pname = "containerd"; + version = "1.2.6"; src = fetchFromGitHub { owner = "containerd"; repo = "containerd"; rev = "v${version}"; - sha256 = "065snv0s3v3z0ghadlii4w78qnhchcbx2kfdrvm8fk8gb4pkx1ya"; + sha256 = "0sp5mn5wd3xma4svm6hf67hyhiixzkzz6ijhyjkwdrc4alk81357"; }; goPackagePath = "github.com/containerd/containerd"; diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix new file mode 100644 index 00000000000..8070e1423fe --- /dev/null +++ b/pkgs/applications/virtualization/cri-o/default.nix @@ -0,0 +1,69 @@ +{ flavor ? "" +, ldflags ? "" +, stdenv +, btrfs-progs +, buildGoPackage +, fetchFromGitHub +, glibc +, gpgme +, libapparmor +, libassuan +, libgpgerror +, libseccomp +, libselinux +, lvm2 +, pkgconfig +}: + +buildGoPackage rec { + project = "cri-o"; + version = "1.15.0"; + name = "${project}-${version}${flavor}"; + + goPackagePath = "github.com/${project}/${project}"; + + src = fetchFromGitHub { + owner = "cri-o"; + repo = "cri-o"; + rev = "v${version}"; + sha256 = "08m84rlar25w6dwv76rab4vdlavacn7kb5ravzqnb8ngx68csbp3"; + }; + + outputs = [ "bin" "out" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ btrfs-progs gpgme libapparmor libassuan libgpgerror + libseccomp libselinux lvm2 ] + ++ stdenv.lib.optionals (glibc != null) [ glibc glibc.static ]; + + makeFlags = ''BUILDTAGS="apparmor seccomp selinux + containers_image_ostree_stub"''; + + buildPhase = '' + pushd go/src/${goPackagePath} + + # Build pause + go build -tags ${makeFlags} -o bin/crio-config -buildmode=pie \ + -ldflags '-s -w ${ldflags}' ${goPackagePath}/cmd/crio-config + + make -C pause + + # Build the crio binary + go build -tags ${makeFlags} -o bin/crio -buildmode=pie \ + -ldflags '-s -w ${ldflags}' ${goPackagePath}/cmd/crio + ''; + installPhase = '' + install -Dm755 bin/crio $bin/bin/crio${flavor} + + mkdir -p $bin/libexec/crio + install -Dm755 bin/pause $bin/libexec/crio/pause${flavor} + ''; + + meta = with stdenv.lib; { + homepage = https://cri-o.io; + description = ''Open Container Initiative-based implementation of the + Kubernetes Container Runtime Interface''; + license = licenses.asl20; + maintainers = with maintainers; [ saschagrunert ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/virtualization/docker-compose/default.nix b/pkgs/applications/virtualization/docker-compose/default.nix index 4af9c32fed6..2d983d009f1 100644 --- a/pkgs/applications/virtualization/docker-compose/default.nix +++ b/pkgs/applications/virtualization/docker-compose/default.nix @@ -3,15 +3,15 @@ , pyyaml, backports_ssl_match_hostname, colorama, docopt , dockerpty, docker, ipaddress, jsonschema, requests , six, texttable, websocket_client, cached-property -, enum34, functools32, +, enum34, functools32, paramiko }: buildPythonApplication rec { - version = "1.23.1"; + version = "1.24.1"; pname = "docker-compose"; src = fetchPypi { inherit pname version; - sha256 = "15jijx3md70b9xw8818xjm70nr9pc27p7v7is0yi6agf8scvvqkq"; + sha256 = "0lx7bx6jvhydbab8vwry0bclhdf0dfj6jrns1m5y45yp9ybqxmd5"; }; # lots of networking and other fails @@ -20,7 +20,7 @@ buildPythonApplication rec { propagatedBuildInputs = [ pyyaml backports_ssl_match_hostname colorama dockerpty docker ipaddress jsonschema requests six texttable websocket_client - docopt cached-property + docopt cached-property paramiko ] ++ stdenv.lib.optional (pythonOlder "3.4") enum34 ++ stdenv.lib.optional (pythonOlder "3.2") functools32; @@ -41,7 +41,6 @@ buildPythonApplication rec { description = "Multi-container orchestration for Docker"; license = licenses.asl20; maintainers = with maintainers; [ - jgeerds ]; }; } diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index e7c8a302c27..a1125f25e81 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -94,7 +94,9 @@ rec { dontStrip = true; - buildPhase = (optionalString (stdenv.isLinux) '' + buildPhase = '' + export GOCACHE="$TMPDIR/go-cache" + '' + (optionalString (stdenv.isLinux) '' # build engine cd ./components/engine export AUTO_GOPATH=1 @@ -198,14 +200,26 @@ rec { # Get revisions from # https://github.com/docker/docker-ce/tree/v${version}/components/engine/hack/dockerfile/install/* - docker_18_09 = dockerGen rec { - version = "18.09.2"; - rev = "62479626f213818ba5b4565105a05277308587d5"; # git commit - sha256 = "05kvpy1c4g661xfds6dfzb8r5q76ndblxjykfj06had18pv0xxd4"; - runcRev = "09c8266bf2fcf9519a651b04ae54c967b9ab86ec"; - runcSha256 = "08h45vs1f25byapqzy6x42r86m232z166v6z81gc2a3id8v0nzia"; - containerdRev = "9754871865f7fe2f4e74d43e2fc7ccd237edcbce"; - containerdSha256 = "065snv0s3v3z0ghadlii4w78qnhchcbx2kfdrvm8fk8gb4pkx1ya"; + docker_18_09 = makeOverridable dockerGen { + version = "18.09.8"; + rev = "0dd43dd87fd530113bf44c9bba9ad8b20ce4637f"; + sha256 = "07ljxdqylbfbq1939hqyaav966ga7ds5b38dn7af1h0aks86y2s3"; + runcRev = "425e105d5a03fabd737a126ad93d62a9eeede87f"; + runcSha256 = "05s4p12mgmdcy7gjralh41wlgds6m69zdgwbpdn1xjj2487dmhxf"; + containerdRev = "894b81a4b802e4eb2a91d1ce216b8817763c29fb"; + containerdSha256 = "0sp5mn5wd3xma4svm6hf67hyhiixzkzz6ijhyjkwdrc4alk81357"; + tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662"; + tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn"; + }; + + docker_19_03 = makeOverridable dockerGen { + version = "19.03.1"; + rev = "74b1e89e8ac68948be88fe0aa1e2767ae28659fe"; + sha256 = "1m7bq7la29d8piwiq5whzcyrm7g3lv497wnri0lh6gxi10nwv06h"; + runcRev = "425e105d5a03fabd737a126ad93d62a9eeede87f"; + runcSha256 = "05s4p12mgmdcy7gjralh41wlgds6m69zdgwbpdn1xjj2487dmhxf"; + containerdRev = "894b81a4b802e4eb2a91d1ce216b8817763c29fb"; + containerdSha256 = "0sp5mn5wd3xma4svm6hf67hyhiixzkzz6ijhyjkwdrc4alk81357"; tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662"; tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn"; }; diff --git a/pkgs/applications/virtualization/docker/distribution.nix b/pkgs/applications/virtualization/docker/distribution.nix index 0af9abc852e..ed4db853c38 100644 --- a/pkgs/applications/virtualization/docker/distribution.nix +++ b/pkgs/applications/virtualization/docker/distribution.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "distribution-${version}"; + pname = "distribution"; version = "2.6.2"; rev = "v${version}"; diff --git a/pkgs/applications/virtualization/docker/proxy.nix b/pkgs/applications/virtualization/docker/proxy.nix index 8b7021f7dbb..3b2e1f45ae6 100644 --- a/pkgs/applications/virtualization/docker/proxy.nix +++ b/pkgs/applications/virtualization/docker/proxy.nix @@ -1,4 +1,4 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, docker }: +{ stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { name = "docker-proxy-${rev}"; diff --git a/pkgs/applications/virtualization/driver/win-virtio/default.nix b/pkgs/applications/virtualization/driver/win-virtio/default.nix index 946014e5cc9..351353ceb96 100644 --- a/pkgs/applications/virtualization/driver/win-virtio/default.nix +++ b/pkgs/applications/virtualization/driver/win-virtio/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, p7zip }: stdenv.mkDerivation rec { - name = "win-virtio-${version}"; + pname = "win-virtio"; version = "0.1.141-1"; phases = [ "buildPhase" "installPhase" ]; diff --git a/pkgs/applications/virtualization/dynamips/default.nix b/pkgs/applications/virtualization/dynamips/default.nix index 4499fff4dc8..6f35257b50f 100644 --- a/pkgs/applications/virtualization/dynamips/default.nix +++ b/pkgs/applications/virtualization/dynamips/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, cmake, libelf, libpcap }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "dynamips"; - version = "0.2.19"; + version = "0.2.21"; src = fetchFromGitHub { owner = "GNS3"; repo = pname; rev = "v${version}"; - sha256 = "0x63m37vjyp57900x09gfvw02cwg85b33918x7fjj9x37wgmi5qf"; + sha256 = "0pvdqs6kjz0x0wqb5f1k3r25dg82wssm7wz4psm0m6bxsvf5l0i5"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/virtualization/ecs-agent/default.nix b/pkgs/applications/virtualization/ecs-agent/default.nix index 711838b2944..691c74301e3 100644 --- a/pkgs/applications/virtualization/ecs-agent/default.nix +++ b/pkgs/applications/virtualization/ecs-agent/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitHub, buildGoPackage }: buildGoPackage rec { - name = "${pname}-${version}"; pname = "amazon-ecs-agent"; version = "1.18.0"; @@ -19,7 +18,7 @@ buildGoPackage rec { description = "The agent that runs on AWS EC2 container instances and starts containers on behalf of Amazon ECS"; homepage = "https://github.com/aws/amazon-ecs-agent"; license = licenses.asl20; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = with maintainers; [ copumpkin ]; }; } diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix index e1696fc15a5..45ec7383fc8 100644 --- a/pkgs/applications/virtualization/firecracker/default.nix +++ b/pkgs/applications/virtualization/firecracker/default.nix @@ -1,7 +1,7 @@ { fetchurl, stdenv }: let - version = "0.13.0"; + version = "0.15.2"; baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download"; fetchbin = name: sha256: fetchurl { @@ -9,8 +9,8 @@ let inherit sha256; }; - firecracker-bin = fetchbin "firecracker" "1wdcy4vmnx216jnza7bz6czlqpsjrnpqfsb5d322ld4gzbylm718"; - jailer-bin = fetchbin "jailer" "0k0sc5138bh35ciim2l78ma9g5x18dw098f2ar5y31ybr8i4q60y"; + firecracker-bin = fetchbin "firecracker" "11g0iz1krsm6gzhvf0fb4101c6qyk6bl8j3kjidbb52x9i4aqsxk"; + jailer-bin = fetchbin "jailer" "0j1gc1cdsfsi82fkvvxla25791lcvk6vmp46i82f0ms9xm7xhswz"; in stdenv.mkDerivation { name = "firecracker-${version}"; diff --git a/pkgs/applications/virtualization/lkl/default.nix b/pkgs/applications/virtualization/lkl/default.nix index d870e246616..318929eb225 100644 --- a/pkgs/applications/virtualization/lkl/default.nix +++ b/pkgs/applications/virtualization/lkl/default.nix @@ -1,8 +1,10 @@ -{ stdenv, fetchFromGitHub, bc, python, bison, flex, fuse, libarchive }: +{ stdenv, fetchFromGitHub, bc, python, bison, flex, fuse, libarchive +, buildPackages }: stdenv.mkDerivation rec { - name = "lkl-2018-08-22"; - rev = "5221c547af3d29582703f01049617a6bf9f6232a"; + pname = "lkl"; + version = "2019-06-20"; + rev = "0a4ebeadad12b94db665b8daf30e44e949a02d90"; outputs = [ "dev" "lib" "out" ]; @@ -14,7 +16,7 @@ stdenv.mkDerivation rec { inherit rev; owner = "lkl"; repo = "linux"; - sha256 = "1k2plyx40xaphm8zsk2dd1lyv6dhsp7kj6hfmdgiamvl80bjajqy"; + sha256 = "09y9ci3j0lp3z74h577ng2s9a4n4glqpqndyc9iy6wdqaj764gm6"; }; # Fix a /usr/bin/env reference in here that breaks sandboxed builds @@ -40,7 +42,12 @@ stdenv.mkDerivation rec { # crypto/jitterentropy.c:54:3: error: #error "The CPU Jitter random number generator must not be compiled with optimizations. See documentation. Use the compiler switch -O0 for compiling jitterentropy.c." hardeningDisable = [ "format" "fortify" ]; - makeFlags = "-C tools/lkl"; + makeFlags = [ + "-C tools/lkl" + "CC=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" + "HOSTCC=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc" + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; enableParallelBuilding = true; @@ -52,7 +59,7 @@ stdenv.mkDerivation rec { overhead ''; homepage = https://github.com/lkl/linux/; - platforms = [ "x86_64-linux" "aarch64-linux" ]; # Darwin probably works too but I haven't tested it + platforms = [ "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" ]; # Darwin probably works too but I haven't tested it license = licenses.gpl2; maintainers = with maintainers; [ copumpkin ]; }; diff --git a/pkgs/applications/virtualization/looking-glass-client/default.nix b/pkgs/applications/virtualization/looking-glass-client/default.nix index ca8e4985016..0f53a5c4f14 100644 --- a/pkgs/applications/virtualization/looking-glass-client/default.nix +++ b/pkgs/applications/virtualization/looking-glass-client/default.nix @@ -1,24 +1,26 @@ -{ stdenv, fetchFromGitHub +{ stdenv, fetchFromGitHub, fetchpatch , cmake, pkgconfig, SDL2, SDL, SDL2_ttf, openssl, spice-protocol, fontconfig -, libX11, freefont_ttf, nettle, libconfig +, libX11, freefont_ttf, nettle, libconfig, wayland, libpthreadstubs, libXdmcp +, libXfixes, libbfd }: stdenv.mkDerivation rec { - name = "looking-glass-client-${version}"; - version = "a12"; + pname = "looking-glass-client"; + version = "B1"; src = fetchFromGitHub { owner = "gnif"; repo = "LookingGlass"; rev = version; - sha256 = "0r6bvl9q94039r6ff4f2bg8si95axx9w8bf1h1qr5730d2kv5yxq"; + sha256 = "0vykv7yjz4fima9d82m83acd8ab72nq4wyzyfs1c499i27wz91ia"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ SDL SDL2 SDL2_ttf openssl spice-protocol fontconfig - libX11 freefont_ttf nettle libconfig cmake + libX11 freefont_ttf nettle libconfig wayland libpthreadstubs + libXdmcp libXfixes libbfd cmake ]; enableParallelBuilding = true; @@ -41,7 +43,7 @@ stdenv.mkDerivation rec { ''; homepage = https://looking-glass.hostfission.com/; license = licenses.gpl2Plus; - maintainers = [ maintainers.pneumaticat ]; + maintainers = [ maintainers.alexbakker ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/virtualization/nvidia-docker/config.toml b/pkgs/applications/virtualization/nvidia-docker/config.toml new file mode 100644 index 00000000000..bbd166995f3 --- /dev/null +++ b/pkgs/applications/virtualization/nvidia-docker/config.toml @@ -0,0 +1,13 @@ +disable-require = false +#swarm-resource = "DOCKER_RESOURCE_GPU" + +[nvidia-container-cli] +#root = "/run/nvidia/driver" +#path = "/usr/bin/nvidia-container-cli" +environment = [] +#debug = "/var/log/nvidia-container-runtime-hook.log" +ldcache = "/tmp/ld.so.cache" +load-kmods = true +#no-cgroups = false +#user = "root:video" +ldconfig = "@@glibcbin@/bin/ldconfig" diff --git a/pkgs/applications/virtualization/nvidia-docker/default.nix b/pkgs/applications/virtualization/nvidia-docker/default.nix new file mode 100644 index 00000000000..b58a5108eba --- /dev/null +++ b/pkgs/applications/virtualization/nvidia-docker/default.nix @@ -0,0 +1,84 @@ +{ stdenv, lib, fetchFromGitHub, fetchpatch, callPackage, makeWrapper +, buildGoPackage, runc, glibc }: + +with lib; let + + glibc-ldconf = glibc.overrideAttrs (oldAttrs: { + # ldconfig needs help reading libraries that have been patchelf-ed, as the + # .dynstr section is no longer in the first LOAD segment. See also + # https://sourceware.org/bugzilla/show_bug.cgi?id=23964 and + # https://github.com/NixOS/patchelf/issues/44 + patches = oldAttrs.patches ++ [ (fetchpatch { + name = "ldconfig-patchelf.patch"; + url = "https://sourceware.org/bugzilla/attachment.cgi?id=11444"; + sha256 = "0nzzmq7pli37iyjrgcmvcy92piiwjybpw245ds7q43pbgdm7lc3s"; + })]; + }); + + libnvidia-container = callPackage ./libnvc.nix { }; + + nvidia-container-runtime = fetchFromGitHub { + owner = "NVIDIA"; + repo = "nvidia-container-runtime"; + rev = "runtime-v2.0.0"; + sha256 = "0jcj5xxbg7x7gyhbb67h3ds6vly62gx7j02zm6lg102h34jajj7a"; + }; + + nvidia-container-runtime-hook = buildGoPackage rec { + pname = "nvidia-container-runtime-hook"; + version = "1.4.0"; + + goPackagePath = "nvidia-container-runtime-hook"; + + src = "${nvidia-container-runtime}/hook/nvidia-container-runtime-hook"; + }; + + nvidia-runc = runc.overrideAttrs (oldAttrs: rec { + name = "nvidia-runc"; + version = "1.0.0-rc6"; + src = fetchFromGitHub { + owner = "opencontainers"; + repo = "runc"; + rev = "v${version}"; + sha256 = "1jwacb8xnmx5fr86gximhbl9dlbdwj3rpf27hav9q1si86w5pb1j"; + }; + patches = [ "${nvidia-container-runtime}/runtime/runc/3f2f8b84a77f73d38244dd690525642a72156c64/0001-Add-prestart-hook-nvidia-container-runtime-hook-to-t.patch" ]; + }); + +in stdenv.mkDerivation rec { + pname = "nvidia-docker"; + version = "2.0.3"; + + src = fetchFromGitHub { + owner = "NVIDIA"; + repo = "nvidia-docker"; + rev = "v${version}"; + sha256 = "1vx5m591mnvcb9vy0196x5lh3r8swjsk0fnlv5h62m7m4m07v6wx"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + buildPhase = '' + mkdir bin + cp nvidia-docker bin + cp ${libnvidia-container}/bin/nvidia-container-cli bin + cp ${nvidia-container-runtime-hook}/bin/nvidia-container-runtime-hook bin + cp ${nvidia-runc}/bin/runc bin/nvidia-container-runtime + ''; + + installPhase = '' + mkdir -p $out/{bin,etc} + cp -r bin $out + wrapProgram $out/bin/nvidia-container-cli \ + --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:/run/opengl-driver-32/lib + cp ${./config.toml} $out/etc/config.toml + substituteInPlace $out/etc/config.toml --subst-var-by glibcbin ${lib.getBin glibc-ldconf} + ''; + + meta = { + homepage = https://github.com/NVIDIA/nvidia-docker; + description = "NVIDIA container runtime for Docker"; + license = licenses.bsd3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/virtualization/nvidia-docker/libnvc-ldconfig-and-path-fixes.patch b/pkgs/applications/virtualization/nvidia-docker/libnvc-ldconfig-and-path-fixes.patch new file mode 100644 index 00000000000..043c1efade8 --- /dev/null +++ b/pkgs/applications/virtualization/nvidia-docker/libnvc-ldconfig-and-path-fixes.patch @@ -0,0 +1,130 @@ +diff --git a/src/ldcache.c b/src/ldcache.c +index 38bab05..e1abc89 100644 +--- a/src/ldcache.c ++++ b/src/ldcache.c +@@ -108,40 +108,27 @@ ldcache_close(struct ldcache *ctx) + + int + ldcache_resolve(struct ldcache *ctx, uint32_t arch, const char *root, const char * const libs[], +- char *paths[], size_t size, ldcache_select_fn select, void *select_ctx) ++ char *paths[], size_t size, const char* version) + { + char path[PATH_MAX]; +- struct header_libc6 *h; +- int override; ++ char dir[PATH_MAX]; ++ char lib[PATH_MAX]; + +- h = (struct header_libc6 *)ctx->ptr; + memset(paths, 0, size * sizeof(*paths)); + +- for (uint32_t i = 0; i < h->nlibs; ++i) { +- int32_t flags = h->libs[i].flags; +- char *key = (char *)ctx->ptr + h->libs[i].key; +- char *value = (char *)ctx->ptr + h->libs[i].value; +- +- if (!(flags & LD_ELF) || (flags & LD_ARCH_MASK) != arch) ++ for (size_t j = 0; j < size; ++j) { ++ snprintf(dir, 100, "/run/opengl-driver%s/lib", ++ arch == LD_I386_LIB32 ? "-32" : ""); ++ if (!strncmp(libs[j], "libvdpau_nvidia.so", 100)) ++ strcat(dir, "/vdpau"); ++ snprintf(lib, 100, "%s/%s.%s", dir, libs[j], version); ++ if (path_resolve_full(ctx->err, path, "/", lib) < 0) ++ return (-1); ++ if (!file_exists(ctx->err, path)) + continue; +- +- for (size_t j = 0; j < size; ++j) { +- if (!str_has_prefix(key, libs[j])) +- continue; +- if (path_resolve(ctx->err, path, root, value) < 0) +- return (-1); +- if (paths[j] != NULL && str_equal(paths[j], path)) +- continue; +- if ((override = select(ctx->err, select_ctx, root, paths[j], path)) < 0) +- return (-1); +- if (override) { +- free(paths[j]); +- paths[j] = xstrdup(ctx->err, path); +- if (paths[j] == NULL) +- return (-1); +- } +- break; +- } ++ paths[j] = xstrdup(ctx->err, path); ++ if (paths[j] == NULL) ++ return (-1); + } + return (0); + } +diff --git a/src/ldcache.h b/src/ldcache.h +index 33d78dd..2b087db 100644 +--- a/src/ldcache.h ++++ b/src/ldcache.h +@@ -50,6 +50,6 @@ void ldcache_init(struct ldcache *, struct error *, const char *); + int ldcache_open(struct ldcache *); + int ldcache_close(struct ldcache *); + int ldcache_resolve(struct ldcache *, uint32_t, const char *, const char * const [], +- char *[], size_t, ldcache_select_fn, void *); ++ char *[], size_t, const char*); + + #endif /* HEADER_LDCACHE_H */ +diff --git a/src/nvc_info.c b/src/nvc_info.c +index cc96542..3fe7612 100644 +--- a/src/nvc_info.c ++++ b/src/nvc_info.c +@@ -163,15 +163,13 @@ find_library_paths(struct error *err, struct nvc_driver_info *info, const char * + if (path_resolve_full(err, path, root, ldcache) < 0) + return (-1); + ldcache_init(&ld, err, path); +- if (ldcache_open(&ld) < 0) +- return (-1); + + info->nlibs = size; + info->libs = array_new(err, size); + if (info->libs == NULL) + goto fail; + if (ldcache_resolve(&ld, LIB_ARCH, root, libs, +- info->libs, info->nlibs, select_libraries, info) < 0) ++ info->libs, info->nlibs, info->nvrm_version) < 0) + goto fail; + + info->nlibs32 = size; +@@ -179,13 +177,11 @@ find_library_paths(struct error *err, struct nvc_driver_info *info, const char * + if (info->libs32 == NULL) + goto fail; + if (ldcache_resolve(&ld, LIB32_ARCH, root, libs, +- info->libs32, info->nlibs32, select_libraries, info) < 0) ++ info->libs32, info->nlibs32, info->nvrm_version) < 0) + goto fail; + rv = 0; + + fail: +- if (ldcache_close(&ld) < 0) +- return (-1); + return (rv); + } + +@@ -199,7 +195,7 @@ find_binary_paths(struct error *err, struct nvc_driver_info *info, const char *r + char path[PATH_MAX]; + int rv = -1; + +- if ((env = secure_getenv("PATH")) == NULL) { ++ if ((env = "/run/nvidia-docker/bin:/run/nvidia-docker/extras/bin") == NULL) { + error_setx(err, "environment variable PATH not found"); + return (-1); + } +diff --git a/src/nvc_ldcache.c b/src/nvc_ldcache.c +index d41a24d..65b7878 100644 +--- a/src/nvc_ldcache.c ++++ b/src/nvc_ldcache.c +@@ -331,7 +331,7 @@ nvc_ldcache_update(struct nvc_context *ctx, const struct nvc_container *cnt) + if (validate_args(ctx, cnt != NULL) < 0) + return (-1); + +- argv = (char * []){cnt->cfg.ldconfig, cnt->cfg.libs_dir, cnt->cfg.libs32_dir, NULL}; ++ argv = (char * []){cnt->cfg.ldconfig, "-f", "/tmp/ld.so.conf.nvidia-host", "-C", "/tmp/ld.so.cache.nvidia-host", cnt->cfg.libs_dir, cnt->cfg.libs32_dir, NULL}; + if (*argv[0] == '@') { + /* + * We treat this path specially to be relative to the host filesystem. diff --git a/pkgs/applications/virtualization/nvidia-docker/libnvc.nix b/pkgs/applications/virtualization/nvidia-docker/libnvc.nix new file mode 100644 index 00000000000..71c02ab4de5 --- /dev/null +++ b/pkgs/applications/virtualization/nvidia-docker/libnvc.nix @@ -0,0 +1,53 @@ +{ stdenv, lib, fetchFromGitHub, libelf, libcap, libseccomp }: + +with lib; let + + modp-ver = "396.51"; + + nvidia-modprobe = fetchFromGitHub { + owner = "NVIDIA"; + repo = "nvidia-modprobe"; + rev = modp-ver; + sha256 = "1fw2qwc84k64agw6fx2v0mjf88aggph9c6qhs4cv7l3gmflv8qbk"; + }; + +in stdenv.mkDerivation rec { + pname = "libnvidia-container"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "NVIDIA"; + repo = "libnvidia-container"; + rev = "v${version}"; + sha256 = "1ws6mfsbgxhzlb5w1r8qqg2arvxkr21n59i4cqsyz3h5jsqsflbw"; + }; + + # locations of nvidia-driver libraries are not resolved via ldconfig which + # doesn't get used on NixOS. Additional support binaries like nvidia-smi are + # not resolved via the environment PATH but via the derivation output path. + patches = [ ./libnvc-ldconfig-and-path-fixes.patch ]; + + makeFlags = [ + "WITH_LIBELF=yes" + "prefix=$(out)" + ]; + + postPatch = '' + sed -i 's/^REVISION :=.*/REVISION = ${src.rev}/' mk/common.mk + sed -i 's/^COMPILER :=.*/COMPILER = $(CC)/' mk/common.mk + + mkdir -p deps/src/nvidia-modprobe-${modp-ver} + cp -r ${nvidia-modprobe}/* deps/src/nvidia-modprobe-${modp-ver} + chmod -R u+w deps/src + touch deps/src/nvidia-modprobe-${modp-ver}/.download_stamp + ''; + + buildInputs = [ libelf libcap libseccomp ]; + + meta = { + homepage = https://github.com/NVIDIA/libnvidia-container; + description = "NVIDIA container runtime library"; + license = licenses.bsd3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix index a43e1733f06..ee241abda7f 100644 --- a/pkgs/applications/virtualization/open-vm-tools/default.nix +++ b/pkgs/applications/virtualization/open-vm-tools/default.nix @@ -1,18 +1,18 @@ { stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook, fuse, libmspack, openssl, pam, xercesc, icu, libdnet, procps, libX11, libXext, libXinerama, libXi, libXrender, libXrandr, libXtst, - pkgconfig, glib, gtk, gtkmm, iproute, dbus, systemd, which, + pkgconfig, glib, gtk3, gtkmm3, iproute, dbus, systemd, which, withX ? true }: stdenv.mkDerivation rec { - name = "open-vm-tools-${version}"; - version = "10.3.5"; + pname = "open-vm-tools"; + version = "10.3.10"; src = fetchFromGitHub { owner = "vmware"; repo = "open-vm-tools"; rev = "stable-${version}"; - sha256 = "10x24gkqcg9lnfxghq92nr76h40s5v3xrv0ymi9c7aqrqry404z7"; + sha256 = "0x2cyccnb4sycrw7r5mzby2d196f9jiph8vyqi0x8v8r2b4vi4yj"; }; sourceRoot = "${src.name}/open-vm-tools"; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig ]; buildInputs = [ fuse glib icu libdnet libmspack openssl pam procps xercesc ] - ++ lib.optionals withX [ gtk gtkmm libX11 libXext libXinerama libXi libXrender libXrandr libXtst ]; + ++ lib.optionals withX [ gtk3 gtkmm3 libX11 libXext libXinerama libXi libXrender libXrandr libXtst ]; patches = [ ./recognize_nixos.patch ]; postPatch = '' diff --git a/pkgs/applications/virtualization/podman/conmon.nix b/pkgs/applications/virtualization/podman/conmon.nix deleted file mode 100644 index 42907bc84ba..00000000000 --- a/pkgs/applications/virtualization/podman/conmon.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ stdenv, lib, fetchFromGitHub, pkgconfig, glib }: - -with lib; - -stdenv.mkDerivation rec { - name = "conmon-${version}"; - version = "unstable-2018-11-28"; - rev = "8fba206232c249a8fc4e2fac1469fb2fddbf5cf7"; - - src = fetchFromGitHub { - owner = "containers"; - repo = "conmon"; - sha256 = "07ar0dk9i072b14f6il51yqahxp5c4fkf5jzar8rxcpvymkdy8zq"; - inherit rev; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ - glib - ]; - - installPhase = '' - install -D -m 555 bin/conmon $out/bin/conmon - ''; - - meta = { - homepage = https://github.com/containers/conmon; - description = "An OCI container runtime monitor"; - license = licenses.asl20; - maintainers = with maintainers; [ vdemeester ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix index 7fc74de1d2e..ff768cb7878 100644 --- a/pkgs/applications/virtualization/podman/default.nix +++ b/pkgs/applications/virtualization/podman/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchFromGitHub, pkgconfig -, buildGoPackage, gpgme, lvm2, btrfs-progs, libseccomp +, buildGoPackage, gpgme, lvm2, btrfs-progs, libseccomp, systemd , go-md2man }: buildGoPackage rec { - name = "podman-${version}"; - version = "1.0.0"; + pname = "podman"; + version = "1.5.1"; src = fetchFromGitHub { - owner = "containers"; - repo = "libpod"; - rev = "v${version}"; - sha256 = "1py6vbmpm25j1gb51dn973pckvgjl9q63y9qyzszvc3q3wsxsqhw"; + owner = "containers"; + repo = "libpod"; + rev = "v${version}"; + sha256 = "1jg7fdshqz0x71339i0wndskb17x1k5rwpkjiwd463f96fnbfp4x"; }; goPackagePath = "github.com/containers/libpod"; @@ -22,9 +22,7 @@ buildGoPackage rec { hardeningDisable = [ "fortify" ]; nativeBuildInputs = [ pkgconfig go-md2man ]; - buildInputs = [ - btrfs-progs libseccomp gpgme lvm2 - ]; + buildInputs = [ btrfs-progs libseccomp gpgme lvm2 systemd ]; buildPhase = '' pushd $NIX_BUILD_TOP/go/src/${goPackagePath} @@ -41,7 +39,7 @@ buildGoPackage rec { homepage = https://podman.io/; description = "A program for managing pods, containers and container images"; license = licenses.asl20; - maintainers = with maintainers; [ vdemeester ]; + maintainers = with maintainers; [ vdemeester saschagrunert ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/virtualization/qemu/9p-ignore-noatime.patch b/pkgs/applications/virtualization/qemu/9p-ignore-noatime.patch new file mode 100644 index 00000000000..03e47a57863 --- /dev/null +++ b/pkgs/applications/virtualization/qemu/9p-ignore-noatime.patch @@ -0,0 +1,44 @@ +commit cdc3e7eeafa9f683214d2c15d52ef384c3de6611 +Author: aszlig +Date: Mon Mar 18 13:21:01 2019 +0100 + + 9pfs: Ignore O_NOATIME open flag + + Since Linux 4.19, overlayfs uses the O_NOATIME flag on its lowerdir, + which in turn causes errors when the Nix store is mounted in the guest + because the file owner of the store paths typically don't match the + owner of the QEMU process. + + After submitting a patch to the overlayfs mailing list[1], it turns out + that my patch was incomplete[2] and needs a bit more rework. + + So instead of using an incomplete kernel patch in nixpkgs, which affects + *all* users of overlayfs, not just NixOS VM tests, I decided that for + now it's better to patch QEMU instead. + + The change here really only ignores the O_NOATIME flag so that the + behaviour is similar to what NFS does. From open(2): + + This flag may not be effective on all filesystems. One example is NFS, + where the server maintains the access time. + + This change is therefore only temporary until the final fix lands in the + stable kernel releases. + + [1]: https://www.spinics.net/lists/linux-unionfs/msg06755.html + [2]: https://www.spinics.net/lists/linux-unionfs/msg06756.html + + Signed-off-by: aszlig + +diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c +index 55821343e5..0b8425fe18 100644 +--- a/hw/9pfs/9p.c ++++ b/hw/9pfs/9p.c +@@ -127,7 +127,6 @@ static int dotl_to_open_flags(int flags) + { P9_DOTL_LARGEFILE, O_LARGEFILE }, + { P9_DOTL_DIRECTORY, O_DIRECTORY }, + { P9_DOTL_NOFOLLOW, O_NOFOLLOW }, +- { P9_DOTL_NOATIME, O_NOATIME }, + { P9_DOTL_SYNC, O_SYNC }, + }; + diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 67a863b6fb7..d64baca2cc7 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, python2, zlib, pkgconfig, glib +{ stdenv, fetchurl, fetchpatch, python, zlib, pkgconfig, glib , ncurses, perl, pixman, vde2, alsaLib, texinfo, flex , bison, lzo, snappy, libaio, gnutls, nettle, curl , makeWrapper @@ -15,7 +15,7 @@ , usbredirSupport ? spiceSupport, usbredir , xenSupport ? false, xen , cephSupport ? false, ceph -, openGLSupport ? sdlSupport, mesa_noglu, epoxy, libdrm +, openGLSupport ? sdlSupport, mesa, epoxy, libdrm , virglSupport ? openGLSupport, virglrenderer , smbdSupport ? false, samba , hostCpuOnly ? false @@ -35,7 +35,7 @@ let in stdenv.mkDerivation rec { - version = "3.1.0"; + version = "4.0.0"; name = "qemu-" + stdenv.lib.optionalString xenSupport "xen-" + stdenv.lib.optionalString hostCpuOnly "host-cpu-only-" @@ -44,12 +44,13 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://wiki.qemu.org/download/qemu-${version}.tar.bz2"; - sha256 = "08frr1fdjx8qcfh3fafn10kibdwbvkqqvfl7hpqbm7i9dg4f1zlq"; + sha256 = "085g6f75si8hbn94mnnjn1r7ysixn5bqj4bhqwvadj00fhzp2zvd"; }; + nativeBuildInputs = [ python python.pkgs.sphinx pkgconfig flex bison ]; buildInputs = - [ python2 zlib pkgconfig glib ncurses perl pixman - vde2 texinfo flex bison makeWrapper lzo snappy + [ zlib glib ncurses perl pixman + vde2 texinfo makeWrapper lzo snappy gnutls nettle curl ] ++ optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ] @@ -65,7 +66,7 @@ stdenv.mkDerivation rec { ++ optionals stdenv.isLinux [ alsaLib libaio libcap_ng libcap attr ] ++ optionals xenSupport [ xen ] ++ optionals cephSupport [ ceph ] - ++ optionals openGLSupport [ mesa_noglu epoxy libdrm ] + ++ optionals openGLSupport [ mesa epoxy libdrm ] ++ optionals virglSupport [ virglrenderer ] ++ optionals smbdSupport [ samba ]; @@ -76,8 +77,13 @@ stdenv.mkDerivation rec { patches = [ ./no-etc-install.patch ./fix-qemu-ga.patch + ./9p-ignore-noatime.patch + (fetchpatch { + url = "https://git.qemu.org/?p=qemu.git;a=patch;h=d52680fc932efb8a2f334cc6993e705ed1e31e99"; + name = "CVE-2019-12155.patch"; + sha256 = "0h2q71mcz3gvlrbfkqcgla74jdg73hvzcrwr4max2ckpxx8x9207"; + }) ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch - ++ optional pulseSupport ./fix-hda-recording.patch ++ optionals stdenv.hostPlatform.isMusl [ (fetchpatch { url = https://raw.githubusercontent.com/alpinelinux/aports/2bb133986e8fa90e2e76d53369f03861a87a74ef/main/qemu/xattr_size_max.patch; @@ -106,6 +112,7 @@ stdenv.mkDerivation rec { [ "--audio-drv-list=${audio}" "--sysconfdir=/etc" "--localstatedir=/var" + "--enable-docs" ] # disable sysctl check on darwin. ++ optional stdenv.isDarwin "--cpu=x86_64" diff --git a/pkgs/applications/virtualization/qemu/fix-hda-recording.patch b/pkgs/applications/virtualization/qemu/fix-hda-recording.patch deleted file mode 100644 index b4e21f4f347..00000000000 --- a/pkgs/applications/virtualization/qemu/fix-hda-recording.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/audio/paaudio.c b/audio/paaudio.c -index fea6071..c1169d4 100644 ---- a/audio/paaudio.c -+++ b/audio/paaudio.c -@@ -608,6 +608,7 @@ static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque) - { - int error; - pa_sample_spec ss; -+ pa_buffer_attr ba; - struct audsettings obt_as = *as; - PAVoiceIn *pa = (PAVoiceIn *) hw; - paaudio *g = pa->g = drv_opaque; -@@ -616,6 +617,12 @@ static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque) - ss.channels = as->nchannels; - ss.rate = as->freq; - -+ ba.fragsize = pa_frame_size (&ss) * g->conf.samples; -+ ba.maxlength = 5 * ba.fragsize; -+ ba.tlength = -1; -+ ba.prebuf = -1; -+ ba.minreq = -1; -+ - obt_as.fmt = pa_to_audfmt (ss.format, &obt_as.endianness); - - pa->stream = qpa_simple_new ( -@@ -625,7 +632,7 @@ static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque) - g->conf.source, - &ss, - NULL, /* channel map */ -- NULL, /* buffering attributes */ -+ &ba, /* buffering attributes */ - &error - ); - if (!pa->stream) { diff --git a/pkgs/applications/virtualization/qemu/no-etc-install.patch b/pkgs/applications/virtualization/qemu/no-etc-install.patch index 47b4b3176dc..37c12ddbfeb 100644 --- a/pkgs/applications/virtualization/qemu/no-etc-install.patch +++ b/pkgs/applications/virtualization/qemu/no-etc-install.patch @@ -1,10 +1,25 @@ +From 98b3e5993bbdb0013b6cc1814e0ad9555290c3af Mon Sep 17 00:00:00 2001 +From: Will Dietz +Date: Tue, 23 Apr 2019 21:31:45 -0500 +Subject: [PATCH] no install localstatedir + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 04a0d45050..5dc82d0eb7 100644 --- a/Makefile +++ b/Makefile -@@ -597,7 +597,7 @@ +@@ -786,7 +786,7 @@ endif + ICON_SIZES=16x16 24x24 32x32 48x48 64x64 128x128 256x256 512x512 -install: all $(if $(BUILD_DOCS),install-doc) install-datadir install-localstatedir +install: all $(if $(BUILD_DOCS),install-doc) install-datadir ifneq ($(TOOLS),) - $(call install-prog,$(subst qemu-ga,qemu-ga$(EXESUF),$(TOOLS)),$(DESTDIR)$(bindir)) + $(call install-prog,$(subst qemu-ga,qemu-ga$(EXESUF),$(TOOLS)),$(DESTDIR)$(bindir)) endif +-- +2.21.GIT + diff --git a/pkgs/applications/virtualization/railcar/default.nix b/pkgs/applications/virtualization/railcar/default.nix index 517a8e39a1e..0a139448cb3 100644 --- a/pkgs/applications/virtualization/railcar/default.nix +++ b/pkgs/applications/virtualization/railcar/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, rustPlatform, libseccomp }: +{ lib, fetchFromGitHub, rustPlatform, libseccomp }: rustPlatform.buildRustPackage rec { name = "railcar-${version}"; @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { sha256 = "09zn160qxd7760ii6rs5nhr00qmaz49x1plclscznxh9hinyjyh9"; }; - cargoSha256 = "16f3ys0zzha8l5jdklmrqivl8hmrb9qgqgzcm3jn06v45hls9lan"; + cargoSha256 = "1k4y37x783fsd8li17k56vlx5ziwmrz167a0w5mcb9sgyd2kc19a"; buildInputs = [ libseccomp ]; diff --git a/pkgs/applications/virtualization/remotebox/default.nix b/pkgs/applications/virtualization/remotebox/default.nix index 8777f7cc2db..d8a2878e3f7 100644 --- a/pkgs/applications/virtualization/remotebox/default.nix +++ b/pkgs/applications/virtualization/remotebox/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, makeWrapper, perl, perlPackages }: stdenv.mkDerivation rec { - name = "remotebox-${version}"; + pname = "remotebox"; version = "2.6"; src = fetchurl { diff --git a/pkgs/applications/virtualization/rkt/default.nix b/pkgs/applications/virtualization/rkt/default.nix index 777dc6fe930..fd0bd92faa6 100644 --- a/pkgs/applications/virtualization/rkt/default.nix +++ b/pkgs/applications/virtualization/rkt/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, autoreconfHook, acl, go, file, git, wget, gnupg1, trousers, squashfsTools, +{ stdenv, lib, autoreconfHook, acl, go, file, git, wget, gnupg, trousers, squashfsTools, cpio, fetchurl, fetchFromGitHub, iptables, systemd, makeWrapper, glibc }: let @@ -13,8 +13,8 @@ let in stdenv.mkDerivation rec { version = "1.30.0"; - name = "rkt-${version}"; - BUILDDIR="build-${name}"; + pname = "rkt"; + BUILDDIR="build-${pname}-${version}"; src = fetchFromGitHub { owner = "coreos"; @@ -30,7 +30,7 @@ in stdenv.mkDerivation rec { buildInputs = [ glibc.out glibc.static - autoreconfHook go file git wget gnupg1 trousers squashfsTools cpio acl systemd + autoreconfHook go file git wget gnupg trousers squashfsTools cpio acl systemd makeWrapper ]; @@ -48,6 +48,7 @@ in stdenv.mkDerivation rec { preBuild = '' export BUILDDIR + export GOCACHE="$TMPDIR/go-cache" ''; installPhase = '' diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix index b89ef1dd7bf..6357f9fadff 100644 --- a/pkgs/applications/virtualization/runc/default.nix +++ b/pkgs/applications/virtualization/runc/default.nix @@ -1,17 +1,17 @@ -{ stdenv, lib, fetchFromGitHub, buildGoPackage, go-md2man +{ lib, fetchFromGitHub, buildGoPackage, go-md2man , pkgconfig, libapparmor, apparmor-parser, libseccomp, which }: with lib; buildGoPackage rec { - name = "runc-${version}"; - version = "1.0.0-rc6"; + pname = "runc"; + version = "1.0.0-rc8"; src = fetchFromGitHub { owner = "opencontainers"; repo = "runc"; rev = "v${version}"; - sha256 = "1jwacb8xnmx5fr86gximhbl9dlbdwj3rpf27hav9q1si86w5pb1j"; + sha256 = "05s4p12mgmdcy7gjralh41wlgds6m69zdgwbpdn1xjj2487dmhxf"; }; goPackagePath = "github.com/opencontainers/runc"; diff --git a/pkgs/applications/virtualization/seabios/default.nix b/pkgs/applications/virtualization/seabios/default.nix index 5aa73528e9d..32528627a3c 100644 --- a/pkgs/applications/virtualization/seabios/default.nix +++ b/pkgs/applications/virtualization/seabios/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { - name = "seabios-${version}"; + pname = "seabios"; version = "1.11.0"; src = fetchurl { - url = "http://code.coreboot.org/p/seabios/downloads/get/${name}.tar.gz"; + url = "http://code.coreboot.org/p/seabios/downloads/get/${pname}-${version}.tar.gz"; sha256 = "1xwvp77djxbxbxg82hzj26pv6zka3556vkdcp09hnfwapcp46av2"; }; diff --git a/pkgs/applications/virtualization/singularity/default.nix b/pkgs/applications/virtualization/singularity/default.nix index ab9416fd3d6..60825063cab 100644 --- a/pkgs/applications/virtualization/singularity/default.nix +++ b/pkgs/applications/virtualization/singularity/default.nix @@ -1,12 +1,10 @@ {stdenv , removeReferencesTo , lib -, fetchgit , fetchFromGitHub , utillinux , openssl , coreutils -, gawk , go , which , makeWrapper @@ -16,14 +14,14 @@ with lib; buildGoPackage rec { - name = "singularity-${version}"; - version = "3.0.1"; + pname = "singularity"; + version = "3.2.1"; src = fetchFromGitHub { owner = "sylabs"; repo = "singularity"; rev = "v${version}"; - sha256 = "1wpsd0il2ipa2n5cnbj8dzs095jycdryq2rx62kikbq7ahzz4fsi"; + sha256 = "14lhxwy21s7q081x7kbnvkjsbxgsg2f181qlzmlxcn6n7gfav3kj"; }; goPackagePath = "github.com/sylabs/singularity"; @@ -33,23 +31,22 @@ buildGoPackage rec { nativeBuildInputs = [ removeReferencesTo utillinux which makeWrapper ]; propagatedBuildInputs = [ coreutils squashfsTools ]; - postConfigure = '' - find . -name vendor -type d -print0 | xargs -0 rm -rf + prePatch = '' + substituteInPlace internal/pkg/build/copy/copy.go \ + --replace /bin/cp ${coreutils}/bin/cp + ''; + postConfigure = '' cd go/src/github.com/sylabs/singularity patchShebangs . - sed -i 's|defaultEnv := "/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin"|defaultEnv := "${stdenv.lib.makeBinPath propagatedBuildInputs}"|' src/cmd/singularity/cli/singularity.go + sed -i 's|defaultPath := "[^"]*"|defaultPath := "${stdenv.lib.makeBinPath propagatedBuildInputs}"|' cmd/internal/cli/actions.go ./mconfig -V ${version} -p $bin --localstatedir=/var - touch builddir/.dep-done - touch builddir/vendors-done # Don't install SUID binaries sed -i 's/-m 4755/-m 755/g' builddir/Makefile - # Point to base gopath - sed -i "s|^cni_vendor_GOPATH :=.*\$|cni_vendor_GOPATH := $NIX_BUILD_TOP/go/src/github.com/containernetworking/plugins/plugins|" builddir/Makefile ''; buildPhase = '' @@ -59,6 +56,7 @@ buildGoPackage rec { installPhase = '' make -C builddir install LOCALSTATEDIR=$bin/var chmod 755 $bin/libexec/singularity/bin/starter-suid + wrapProgram $bin/bin/singularity --prefix PATH : ${stdenv.lib.makeBinPath propagatedBuildInputs} ''; postFixup = '' diff --git a/pkgs/applications/virtualization/singularity/deps.nix b/pkgs/applications/virtualization/singularity/deps.nix index 526202e75ae..fe51488c706 100644 --- a/pkgs/applications/virtualization/singularity/deps.nix +++ b/pkgs/applications/virtualization/singularity/deps.nix @@ -1,669 +1 @@ -# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) -[ - { - goPackagePath = "github.com/Microsoft/go-winio"; - fetch = { - type = "git"; - url = "https://github.com/Microsoft/go-winio"; - rev = "7da180ee92d8bd8bb8c37fc560e673e6557c392f"; - sha256 = "19gjjhmzswhm11wzj38r5alxypmflmy0z42flhc3czhmmwv7b1av"; - }; - } - { - goPackagePath = "github.com/alexflint/go-filemutex"; - fetch = { - type = "git"; - url = "https://github.com/alexflint/go-filemutex"; - rev = "d358565f3c3f5334209f1e80693e4f621650c489"; - sha256 = "19fzbm0x8821awsmqj9ig49dxxkd72p1yfqbijmdwwszvw2r0ggz"; - }; - } - { - goPackagePath = "github.com/beorn7/perks"; - fetch = { - type = "git"; - url = "https://github.com/beorn7/perks"; - rev = "3a771d992973f24aa725d07868b467d1ddfceafb"; - sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3"; - }; - } - { - goPackagePath = "github.com/blang/semver"; - fetch = { - type = "git"; - url = "https://github.com/blang/semver"; - rev = "2ee87856327ba09384cabd113bc6b5d174e9ec0f"; - sha256 = "13ws259bwcibkclbr82ilhk6zadm63kxklxhk12wayklj8ghhsmy"; - }; - } - { - goPackagePath = "github.com/containerd/cgroups"; - fetch = { - type = "git"; - url = "https://github.com/containerd/cgroups"; - rev = "5017d4e9a9cf2d4381db99eacd9baf84b95bfb14"; - sha256 = "02pvcmj91j3maa9j1v91m2z9kpa6p822h06r007b3pl7h0paiqnj"; - }; - } - { - goPackagePath = "github.com/containerd/continuity"; - fetch = { - type = "git"; - url = "https://github.com/containerd/continuity"; - rev = "246e49050efdf45e8f17fbbcf1547ee376f9939e"; - sha256 = "1zc1f0yixf32lprp5r77z2j9xq7fk0hijq8xzl08j4zrk0fcy8aq"; - }; - } - { - goPackagePath = "github.com/containernetworking/cni"; - fetch = { - type = "git"; - url = "https://github.com/containernetworking/cni"; - rev = "a7885cb6f8ab03fba07852ded351e4f5e7a112bf"; - sha256 = "00ajs2r5r2z3l0vqwxrcwhjfc9px12qbcv5vnvs2mdipvvls1y2y"; - }; - } - { - goPackagePath = "github.com/containernetworking/plugins"; - fetch = { - type = "git"; - url = "https://github.com/containernetworking/plugins"; - rev = "2b8b1ac0af4568e928d96ccc5f47b075416eeabd"; - sha256 = "1yl9m8pwjmqxj3hf0w9s6rykszhcww54z07yjgxzabmqf2dhchxv"; - }; - } - { - goPackagePath = "github.com/containers/image"; - fetch = { - type = "git"; - url = "https://github.com/containers/image"; - rev = "2e4f799f5eba49a2498d2793cfb2a4bc823ca3f6"; - sha256 = "0b9symgbkd2vgvp7mfpz1l03i2zivwbc5ycccwv78b1ikk9m6b75"; - }; - } - { - goPackagePath = "github.com/containers/storage"; - fetch = { - type = "git"; - url = "https://github.com/containers/storage"; - rev = "88d80428f9b146f8f9fe7e2e8cc8688a5aae1a4e"; - sha256 = "13fagjisbg55dhgjd72h0hiy6jfg8ggkcnjl5haqj13c2gkf6sam"; - }; - } - { - goPackagePath = "github.com/coreos/go-iptables"; - fetch = { - type = "git"; - url = "https://github.com/coreos/go-iptables"; - rev = "b5b1876b170881a8259f036445ee89c8669db386"; - sha256 = "1s1c04x47pk3168606x4vkg4avs8a7m407hpha8py1xni08cgb6m"; - }; - } - { - goPackagePath = "github.com/coreos/go-systemd"; - fetch = { - type = "git"; - url = "https://github.com/coreos/go-systemd"; - rev = "39ca1b05acc7ad1220e09f133283b8859a8b71ab"; - sha256 = "1kzqrrzqspa5qm7kwslxl3m16lqzns23c24rv474ajzwmj3ixmx1"; - }; - } - { - goPackagePath = "github.com/cpuguy83/go-md2man"; - fetch = { - type = "git"; - url = "https://github.com/cpuguy83/go-md2man"; - rev = "20f5889cbdc3c73dbd2862796665e7c465ade7d1"; - sha256 = "1w22dfdamsq63b5rvalh9k2y7rbwfkkjs7vm9vd4a13h2ql70lg2"; - }; - } - { - goPackagePath = "github.com/d2g/dhcp4"; - fetch = { - type = "git"; - url = "https://github.com/d2g/dhcp4"; - rev = "a1d1b6c41b1ce8a71a5121a9cee31809c4707d9c"; - sha256 = "191hzw6yqzkm042h6miyycq3g0zrhqjhhpl27f8vhwzp4wanasiz"; - }; - } - { - goPackagePath = "github.com/d2g/dhcp4client"; - fetch = { - type = "git"; - url = "https://github.com/d2g/dhcp4client"; - rev = "e612998962035b93ba16cfd1ad2f3221985c1b8c"; - sha256 = "1612wh99fblc9ashmm6mjc9110fhal95z0mn9qn7av3px13yd9fs"; - }; - } - { - goPackagePath = "github.com/docker/distribution"; - fetch = { - type = "git"; - url = "https://github.com/docker/distribution"; - rev = "749f6afb4572201e3c37325d0ffedb6f32be8950"; - sha256 = "05jn2wvikyw0pbmi74w5axr0zgxn5y3ynn9rhsq87rmwqj7raxhd"; - }; - } - { - goPackagePath = "github.com/docker/docker"; - fetch = { - type = "git"; - url = "https://github.com/docker/docker"; - rev = "da99009bbb1165d1ac5688b5c81d2f589d418341"; - sha256 = "02hhx7s8vm45rcl2mx9xamkncl2pb6qhsmz35mffbg4n6l5rn5x5"; - }; - } - { - goPackagePath = "github.com/docker/docker-credential-helpers"; - fetch = { - type = "git"; - url = "https://github.com/docker/docker-credential-helpers"; - rev = "d68f9aeca33f5fd3f08eeae5e9d175edf4e731d1"; - sha256 = "1ff829h5p1j6qiivjvnwyiybrff3dddv1ij71nz5whmgavdqgd49"; - }; - } - { - 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-metrics"; - fetch = { - type = "git"; - url = "https://github.com/docker/go-metrics"; - rev = "399ea8c73916000c64c2c76e8da00ca82f8387ab"; - sha256 = "0najfy92fq05b330cnjk5b326yi7dnnmvzfk6g5lsa1fci78yzw4"; - }; - } - { - goPackagePath = "github.com/docker/go-units"; - fetch = { - type = "git"; - url = "https://github.com/docker/go-units"; - rev = "47565b4f722fb6ceae66b95f853feed578a4a51c"; - sha256 = "0npxsb3pp89slwf4a73fxm20hykad8xggij6i6hcd5jy19bjrd93"; - }; - } - { - goPackagePath = "github.com/docker/libtrust"; - fetch = { - type = "git"; - url = "https://github.com/docker/libtrust"; - rev = "aabc10ec26b754e797f9028f4589c5b7bd90dc20"; - sha256 = "1lwslbggzc2b0c4wxl5pn6i2nfgz5jz8f7s7vnid9mrlsk59h7s1"; - }; - } - { - goPackagePath = "github.com/ghodss/yaml"; - fetch = { - type = "git"; - url = "https://github.com/ghodss/yaml"; - rev = "0ca9ea5df5451ffdf184b4428c902747c2c11cd7"; - sha256 = "0skwmimpy7hlh7pva2slpcplnm912rp3igs98xnqmn859kwa5v8g"; - }; - } - { - goPackagePath = "github.com/globalsign/mgo"; - fetch = { - type = "git"; - url = "https://github.com/globalsign/mgo"; - rev = "113d3961e7311526535a1ef7042196563d442761"; - sha256 = "0m05ay993vv2jkc46bbdnq371s5jc0an2cycsj7p3b6lmv84jk9f"; - }; - } - { - goPackagePath = "github.com/godbus/dbus"; - fetch = { - type = "git"; - url = "https://github.com/godbus/dbus"; - rev = "a389bdde4dd695d414e47b755e95e72b7826432c"; - sha256 = "1ckvg15zdsgmbn4mi36cazkb407ixc9mmyf7vwj8b8wi3d00rgn9"; - }; - } - { - goPackagePath = "github.com/gogo/protobuf"; - fetch = { - type = "git"; - url = "https://github.com/gogo/protobuf"; - rev = "1adfc126b41513cc696b209667c8656ea7aac67c"; - sha256 = "1j7azzlnihcvnd1apw5zr0bz30h7n0gyimqqkgc76vzb1n5dpi7m"; - }; - } - { - goPackagePath = "github.com/golang/protobuf"; - fetch = { - type = "git"; - url = "https://github.com/golang/protobuf"; - rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265"; - sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq"; - }; - } - { - 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/hashicorp/errwrap"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/errwrap"; - rev = "7554cd9344cec97297fa6649b055a8c98c2a1e55"; - sha256 = "0kmv0p605di6jc8i1778qzass18m0mv9ks9vxxrfsiwcp4la82jf"; - }; - } - { - goPackagePath = "github.com/hashicorp/go-multierror"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/go-multierror"; - rev = "b7773ae218740a7be65057fc60b366a49b538a44"; - sha256 = "09904bk7ac6qs9dgiv23rziq9h3makb9qg4jvxr71rlydsd7psfd"; - }; - } - { - goPackagePath = "github.com/inconshreveable/mousetrap"; - fetch = { - type = "git"; - url = "https://github.com/inconshreveable/mousetrap"; - rev = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"; - sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152"; - }; - } - { - goPackagePath = "github.com/j-keck/arping"; - fetch = { - type = "git"; - url = "https://github.com/j-keck/arping"; - rev = "2cf9dc699c5640a7e2c81403a44127bf28033600"; - sha256 = "1bid8mpx3j4546ni0a6q5xyz7hb854g95qnxqmg5jzs9vrcird3c"; - }; - } - { - goPackagePath = "github.com/kubernetes-sigs/cri-o"; - fetch = { - type = "git"; - url = "https://github.com/kubernetes-sigs/cri-o"; - rev = "8afc34092907d146906fcc31af112b2b46e7b5cd"; - sha256 = "0ghcjvk7grdcwb1936mnj56a7rla804glfknid9kmr3kgny3yi43"; - }; - } - { - goPackagePath = "github.com/magiconair/properties"; - fetch = { - type = "git"; - url = "https://github.com/magiconair/properties"; - rev = "c2353362d570a7bfa228149c62842019201cfb71"; - sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn"; - }; - } - { - goPackagePath = "github.com/mattn/go-runewidth"; - fetch = { - type = "git"; - url = "https://github.com/mattn/go-runewidth"; - rev = "9e777a8366cce605130a531d2cd6363d07ad7317"; - sha256 = "0vkrfrz3fzn5n6ix4k8s0cg0b448459sldq8bp4riavsxm932jzb"; - }; - } - { - goPackagePath = "github.com/mattn/go-shellwords"; - fetch = { - type = "git"; - url = "https://github.com/mattn/go-shellwords"; - rev = "02e3cf038dcea8290e44424da473dd12be796a8a"; - sha256 = "1pg7pl25wvpl2dbpyrv9p1r7prnqimxlf6136vn0dfm54j2x4mnr"; - }; - } - { - 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/mtrmac/gpgme"; - fetch = { - type = "git"; - url = "https://github.com/mtrmac/gpgme"; - rev = "b2432428689ca58c2b8e8dea9449d3295cf96fc9"; - sha256 = "0hs9gfwf3cmnvmmxb485icwlv8h8xnny3p52bj7qwv251pvwsnaf"; - }; - } - { - goPackagePath = "github.com/opencontainers/go-digest"; - fetch = { - type = "git"; - url = "https://github.com/opencontainers/go-digest"; - rev = "279bed98673dd5bef374d3b6e4b09e2af76183bf"; - sha256 = "01gc7fpn8ax429024p2fcx3yb18axwz5bjf2hqxlii1jbsgw4bh9"; - }; - } - { - goPackagePath = "github.com/opencontainers/image-spec"; - fetch = { - type = "git"; - url = "https://github.com/opencontainers/image-spec"; - rev = "e562b04403929d582d449ae5386ff79dd7961a11"; - sha256 = "0j24nk975di8hcv6ycn2p2hhw1xdiy4bpxamr6wn12k21kadlp7s"; - }; - } - { - goPackagePath = "github.com/opencontainers/image-tools"; - fetch = { - type = "git"; - url = "https://github.com/sylabs/image-tools"; - rev = "2814f498056809a9d5baaf76d1d82312180a5888"; - sha256 = "0q3ljb51df5hc58rhp5xni2gsy3gkxn47d9dwyfcffnq8kpf9d8a"; - }; - } - { - goPackagePath = "github.com/opencontainers/runc"; - fetch = { - type = "git"; - url = "https://github.com/opencontainers/runc"; - rev = "baf6536d6259209c3edfa2b22237af82942d3dfa"; - sha256 = "09fm7f1k4lvx8v3crqb0cli1x2brlz8ka7f7qa8d2sb6ln58h7w7"; - }; - } - { - goPackagePath = "github.com/opencontainers/runtime-spec"; - fetch = { - type = "git"; - url = "https://github.com/opencontainers/runtime-spec"; - rev = "5806c35637336642129d03657419829569abc5aa"; - sha256 = "13vw1b3j9sx7d5fr3w3jdg137nnqcr50fqchq8z8nf6s18lkhj93"; - }; - } - { - goPackagePath = "github.com/opencontainers/runtime-tools"; - fetch = { - type = "git"; - url = "https://github.com/opencontainers/runtime-tools"; - rev = "1c243a8a8eb44d491790798afc9b634c6f6a6380"; - sha256 = "1ll5wrbn84yb2l7k6hpwwj06wywib7ar4z1bhh1rc5h9xajng7jq"; - }; - } - { - goPackagePath = "github.com/opencontainers/selinux"; - fetch = { - type = "git"; - url = "https://github.com/opencontainers/selinux"; - rev = "ba1aefe8057f1d0cfb8e88d0ec1dc85925ef987d"; - sha256 = "1n283j7rsim7gysm91x99c41d7vnsjsgfm4dy11fnzpkpzfiksq5"; - }; - } - { - goPackagePath = "github.com/pelletier/go-toml"; - fetch = { - type = "git"; - url = "https://github.com/pelletier/go-toml"; - rev = "c01d1270ff3e442a8a57cddc1c92dc1138598194"; - sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy"; - }; - } - { - goPackagePath = "github.com/pkg/errors"; - fetch = { - type = "git"; - url = "https://github.com/pkg/errors"; - rev = "645ef00459ed84a119197bfb8d8205042c6df63d"; - sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5"; - }; - } - { - goPackagePath = "github.com/pquerna/ffjson"; - fetch = { - type = "git"; - url = "https://github.com/pquerna/ffjson"; - rev = "d49c2bc1aa135aad0c6f4fc2056623ec78f5d5ac"; - sha256 = "069w276lch2hhkvz26wdla8d4s0cg842bhqmih4sa33dsinlgs8g"; - }; - } - { - goPackagePath = "github.com/prometheus/client_golang"; - fetch = { - type = "git"; - url = "https://github.com/prometheus/client_golang"; - rev = "faf4ec335fe01ae5a6a0eaa34a5a9333bfbd1a30"; - sha256 = "08xgqgx7vc27zc30chgi09lwrnvxr338dn624xnw4ysfm9r6lxrz"; - }; - } - { - 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 = "7d6f385de8bea29190f15ba9931442a0eaef9af7"; - sha256 = "18cish8yas5r6xhgp8p8n7lg4wh3d4szzirszxra8m7rwy3swxxq"; - }; - } - { - goPackagePath = "github.com/russross/blackfriday"; - fetch = { - type = "git"; - url = "https://github.com/russross/blackfriday"; - rev = "55d61fa8aa702f59229e6cff85793c22e580eaf5"; - sha256 = "0qmavm5d14kj6im6sqzpqnlhpy524428vkn4hnfwknndr9rycmn0"; - }; - } - { - goPackagePath = "github.com/safchain/ethtool"; - fetch = { - type = "git"; - url = "https://github.com/safchain/ethtool"; - rev = "6e3f4faa84e1d8d48afec75ed064cf3611d3f8bf"; - sha256 = "15xjvny8bfhhjvvv654pimxxw5cd02q8skp1siwbfvrlw598j4lm"; - }; - } - { - goPackagePath = "github.com/satori/go.uuid"; - fetch = { - type = "git"; - url = "https://github.com/satori/go.uuid"; - rev = "f58768cc1a7a7e77a3bd49e98cdd21419399b6a3"; - sha256 = "1j4s5pfg2ldm35y8ls8jah4dya2grfnx2drb4jcbjsyrp4cm5yfb"; - }; - } - { - goPackagePath = "github.com/seccomp/libseccomp-golang"; - fetch = { - type = "git"; - url = "https://github.com/seccomp/libseccomp-golang"; - rev = "e3496e3a417d1dc9ecdceca5af2513271fed37a0"; - sha256 = "0z8v90nk22h8r5licav1a8cbn6k7bs47l0j1crw7bjl9hv1bmr71"; - }; - } - { - goPackagePath = "github.com/sirupsen/logrus"; - fetch = { - type = "git"; - url = "https://github.com/sirupsen/logrus"; - rev = "c155da19408a8799da419ed3eeb0cb5db0ad5dbc"; - sha256 = "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"; - }; - } - { - goPackagePath = "github.com/spf13/cobra"; - fetch = { - type = "git"; - url = "https://github.com/spf13/cobra"; - rev = "1e58aa3361fd650121dceeedc399e7189c05674a"; - sha256 = "1d6dy60dw7i2mcab10yp99wi5w28jzhzzf16w4ys6bna7ymndiin"; - }; - } - { - goPackagePath = "github.com/spf13/pflag"; - fetch = { - type = "git"; - url = "https://github.com/spf13/pflag"; - rev = "583c0c0531f06d5278b7d917446061adc344b5cd"; - sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5"; - }; - } - { - goPackagePath = "github.com/sylabs/sif"; - fetch = { - type = "git"; - url = "https://github.com/sylabs/sif"; - rev = "177b9338f1ab9123be5b6217740be1f0ce924206"; - sha256 = "1dwpml36n06hglp2km1wsfzdiw1yva6a0h00f1y2933m3i8r3k2w"; - }; - } - { - goPackagePath = "github.com/syndtr/gocapability"; - fetch = { - type = "git"; - url = "https://github.com/syndtr/gocapability"; - rev = "33e07d32887e1e06b7c025f27ce52f62c7990bc0"; - sha256 = "1x88c0b320b13w7samicf19dqx9rr4dnrh3yglk3cba21nwsp57i"; - }; - } - { - goPackagePath = "github.com/vishvananda/netlink"; - fetch = { - type = "git"; - url = "https://github.com/vishvananda/netlink"; - rev = "a2ad57a690f3caf3015351d2d6e1c0b95c349752"; - sha256 = "0hpzghf1a4cwawzhkiwdzin80h6hd09fskl77d5ppgc084yvj8x0"; - }; - } - { - goPackagePath = "github.com/vishvananda/netns"; - fetch = { - type = "git"; - url = "https://github.com/vishvananda/netns"; - rev = "be1fbeda19366dea804f00efff2dd73a1642fdcc"; - sha256 = "0j0xin37zp34ajmhsgfbxr8l7vrljf1lc6z3j3miidlmfwcl2s0m"; - }; - } - { - 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 = "1d523034197ff1f222f6429836dd36a2457a1874"; - sha256 = "1z8c6x8sfh6d1ib2lm2jps7r139qip6h3zik3fxhy1yr1380qbzp"; - }; - } - { - goPackagePath = "go4.org"; - fetch = { - type = "git"; - url = "https://github.com/go4org/go4"; - rev = "9599cf28b011184741f249bd9f9330756b506cbc"; - sha256 = "0hssb6jmpjxvdx2k1zx0l2dbwpx52zxcq5n2bhqivr670r4wdrkq"; - }; - } - { - goPackagePath = "golang.org/x/crypto"; - fetch = { - type = "git"; - url = "https://github.com/sylabs/golang-x-crypto"; - rev = "4bce89e8e9a9f84a4cf02b9842c3eaff2af0a856"; - sha256 = "11wi2zd055ym9m36ba007rdg4ghrwaiqxc77qyqc37ln7l7accr9"; - }; - } - { - goPackagePath = "golang.org/x/net"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/net"; - rev = "db08ff08e8622530d9ed3a0e8ac279f6d4c02196"; - sha256 = "1f6q8kbijnrfy6wjqxrzgjf38ippckc5w34lhqsjs7kq045aar9a"; - }; - } - { - goPackagePath = "golang.org/x/sys"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sys"; - rev = "6c888cc515d3ed83fc103cf1d84468aad274b0a7"; - sha256 = "18anqrdajp4p015v3f5y641k3lmgp2jr0lfyx0pb3ia0qvn93mrp"; - }; - } - { - goPackagePath = "gopkg.in/cheggaaa/pb.v1"; - fetch = { - type = "git"; - url = "https://github.com/cheggaaa/pb"; - rev = "2af8bbdea9e99e83b3ac400d8f6b6d1b8cbbf338"; - sha256 = "0vxqiw6f3xyv0zy3g4lksf8za0z8i0hvfpw92hqimsy84f79j3dp"; - }; - } - { - goPackagePath = "gopkg.in/yaml.v2"; - fetch = { - type = "git"; - url = "https://github.com/go-yaml/yaml"; - rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; - sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; - }; - } -] \ No newline at end of file +[] diff --git a/pkgs/applications/virtualization/tini/default.nix b/pkgs/applications/virtualization/tini/default.nix index 25c19cd79c7..39508412333 100644 --- a/pkgs/applications/virtualization/tini/default.nix +++ b/pkgs/applications/virtualization/tini/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "0.18.0"; - name = "tini-${version}"; + pname = "tini"; src = fetchFromGitHub { owner = "krallin"; diff --git a/pkgs/applications/virtualization/tinyemu/default.nix b/pkgs/applications/virtualization/tinyemu/default.nix index a8f11330725..224f77ed32d 100644 --- a/pkgs/applications/virtualization/tinyemu/default.nix +++ b/pkgs/applications/virtualization/tinyemu/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, openssl, curl, SDL }: stdenv.mkDerivation rec { - name = "tinyemu-${version}"; + pname = "tinyemu"; version = "2018-09-23"; src = fetchurl { - url = "https://bellard.org/tinyemu/${name}.tar.gz"; + url = "https://bellard.org/tinyemu/${pname}-${version}.tar.gz"; sha256 = "0d6payyqf4lpvmmzvlpq1i8wpbg4sf3h6llsw0xnqdgq3m9dan4v"; }; buildInputs = [ openssl curl SDL ]; diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix index 91934a3610b..42860966fe1 100644 --- a/pkgs/applications/virtualization/virt-manager/default.nix +++ b/pkgs/applications/virtualization/virt-manager/default.nix @@ -1,32 +1,39 @@ { stdenv, fetchurl, python3Packages, intltool, file , wrapGAppsHook, gtk-vnc, vte, avahi, dconf , gobject-introspection, libvirt-glib, system-libvirt -, gsettings-desktop-schemas, glib, libosinfo, gnome3, gtk3 +, gsettings-desktop-schemas, glib, libosinfo, gnome3 +, gtksourceview4 , spiceSupport ? true, spice-gtk ? null , cpio, e2fsprogs, findutils, gzip }: with stdenv.lib; +# TODO: remove after there's support for setupPyDistFlags +let + setuppy = ../../../development/interpreters/python/run_setup.py; +in python3Packages.buildPythonApplication rec { name = "virt-manager-${version}"; - version = "2.1.0"; + version = "2.2.1"; namePrefix = ""; src = fetchurl { url = "http://virt-manager.org/download/sources/virt-manager/${name}.tar.gz"; - sha256 = "1m038kyngmxlgz91c7z8g73lb2wy0ajyah871a3g3wb5cnd0dsil"; + sha256 = "06ws0agxlip6p6n3n43knsnjyd91gqhh2dadgc33wl9lx1k8vn6g"; }; nativeBuildInputs = [ - wrapGAppsHook intltool file + intltool file gobject-introspection # for setup hook populating GI_TYPELIB_PATH ]; - buildInputs = - [ libvirt-glib vte dconf gtk-vnc gnome3.defaultIconTheme avahi - gsettings-desktop-schemas libosinfo gtk3 - ] ++ optional spiceSupport spice-gtk; + buildInputs = [ + wrapGAppsHook + libvirt-glib vte dconf gtk-vnc gnome3.adwaita-icon-theme avahi + gsettings-desktop-schemas libosinfo gtksourceview4 + gobject-introspection # Temporary fix, see https://github.com/NixOS/nixpkgs/issues/56943 + ] ++ optional spiceSupport spice-gtk; propagatedBuildInputs = with python3Packages; [ @@ -42,8 +49,12 @@ python3Packages.buildPythonApplication rec { ${python3Packages.python.interpreter} setup.py configure --prefix=$out ''; - postInstall = '' - ${glib.dev}/bin/glib-compile-schemas "$out"/share/glib-2.0/schemas + # TODO: remove after there's support for setupPyDistFlags + buildPhase = '' + runHook preBuild + cp ${setuppy} nix_run_setup + ${python3Packages.python.pythonForBuild.interpreter} nix_run_setup --no-update-icon-cache build_ext bdist_wheel + runHook postBuild ''; preFixup = '' @@ -66,6 +77,6 @@ python3Packages.buildPythonApplication rec { license = licenses.gpl2; # exclude Darwin since libvirt-glib currently doesn't build there platforms = platforms.linux; - maintainers = with maintainers; [ qknight offline fpletz ]; + maintainers = with maintainers; [ qknight offline fpletz globin ]; }; } diff --git a/pkgs/applications/virtualization/virt-manager/qt.nix b/pkgs/applications/virtualization/virt-manager/qt.nix index c1dbad94250..5a98e71c916 100644 --- a/pkgs/applications/virtualization/virt-manager/qt.nix +++ b/pkgs/applications/virtualization/virt-manager/qt.nix @@ -5,7 +5,7 @@ }: mkDerivation rec { - name = "virt-manager-qt-${version}"; + pname = "virt-manager-qt"; version = "0.70.91"; src = fetchFromGitHub { diff --git a/pkgs/applications/virtualization/virt-top/default.nix b/pkgs/applications/virtualization/virt-top/default.nix index 493307d0d07..382ebba3c57 100644 --- a/pkgs/applications/virtualization/virt-top/default.nix +++ b/pkgs/applications/virtualization/virt-top/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, ocamlPackages, autoreconfHook }: stdenv.mkDerivation rec { - name = "virt-top-${version}"; + pname = "virt-top"; version = "2017-11-18-unstable"; src = fetchgit { diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix index 746c45beccf..3d058903200 100644 --- a/pkgs/applications/virtualization/virt-viewer/default.nix +++ b/pkgs/applications/virtualization/virt-viewer/default.nix @@ -1,7 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, intltool, glib, libxml2, gtk3, gtk-vnc, gmp -, libgcrypt, gnupg, cyrus_sasl, shared-mime-info, libvirt, yajl, xen -, gsettings-desktop-schemas, wrapGAppsHook, libvirt-glib, libcap_ng, numactl -, libapparmor, gst_all_1 +{ stdenv, fetchurl, pkgconfig, intltool, shared-mime-info, wrapGAppsHook +, glib, gsettings-desktop-schemas, gtk-vnc, gtk3, libvirt, libvirt-glib, libxml2, vte , spiceSupport ? true , spice-gtk ? null, spice-protocol ? null, libcap ? null, gdbm ? null }: @@ -13,29 +11,27 @@ with stdenv.lib; stdenv.mkDerivation rec { baseName = "virt-viewer"; - version = "7.0"; + version = "8.0"; name = "${baseName}-${version}"; src = fetchurl { url = "http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz"; - sha256 = "00y9vi69sja4pkrfnvrkwsscm41bqrjzvp8aijb20pvg6ymczhj7"; + sha256 = "1vdnjmhrva7r1n9nv09j8gc12hy0j9j5l4rka4hh0jbsbpnmiwyw"; }; - nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ]; + nativeBuildInputs = [ pkgconfig intltool shared-mime-info wrapGAppsHook glib ]; buildInputs = [ - glib libxml2 gtk3 gtk-vnc gmp libgcrypt gnupg cyrus_sasl shared-mime-info - libvirt yajl gsettings-desktop-schemas libvirt-glib - libcap_ng numactl libapparmor - ] ++ optionals stdenv.isx86_64 [ - xen + glib gsettings-desktop-schemas gtk-vnc gtk3 libvirt libvirt-glib libxml2 vte ] ++ optionals spiceSupport [ spice-gtk spice-protocol libcap gdbm - gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ]; # Required for USB redirection PolicyKit rules file propagatedUserEnvPkgs = optional spiceSupport spice-gtk; + strictDeps = true; + enableParallelBuilding = true; + meta = { description = "A viewer for remote virtual machines"; maintainers = [ maintainers.raskin ]; diff --git a/pkgs/applications/virtualization/virt-what/default.nix b/pkgs/applications/virtualization/virt-what/default.nix index 8a339ac8322..7ea83b01559 100644 --- a/pkgs/applications/virtualization/virt-what/default.nix +++ b/pkgs/applications/virtualization/virt-what/default.nix @@ -1,11 +1,11 @@ { stdenv, lib, fetchurl }: stdenv.mkDerivation rec { - name = "virt-what-${version}"; + pname = "virt-what"; version = "1.19"; src = fetchurl { - url = "https://people.redhat.com/~rjones/virt-what/files/${name}.tar.gz"; + url = "https://people.redhat.com/~rjones/virt-what/files/${pname}-${version}.tar.gz"; sha256 = "00nhwly5q0ps8yv9cy3c2qp8lfshf3s0kdpwiy5zwk3g77z96rwk"; }; diff --git a/pkgs/applications/virtualization/virtinst/default.nix b/pkgs/applications/virtualization/virtinst/default.nix index 8222fb50a8f..6931e492e99 100644 --- a/pkgs/applications/virtualization/virtinst/default.nix +++ b/pkgs/applications/virtualization/virtinst/default.nix @@ -5,7 +5,8 @@ with stdenv.lib; let version = "0.600.4"; in stdenv.mkDerivation rec { - name = "virtinst-${version}"; + pname = "virtinst"; + inherit version; src = fetchurl { url = "http://virt-manager.org/download/sources/virtinst/virtinst-${version}.tar.gz"; diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 8304dd15597..20930b86537 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -1,11 +1,11 @@ -{ config, stdenv, fetchurl, lib, fetchpatch, iasl, dev86, pam, libxslt, libxml2 -, libX11, xorgproto, libXext, libXcursor, libXmu, qt5, libIDL, SDL, libcap -, libpng, glib, lvm2, libXrandr, libXinerama, libopus -, pkgconfig, which, docbook_xsl, docbook_xml_dtd_43 +{ config, stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, wrapQtAppsHook +, libX11, xorgproto, libXext, libXcursor, libXmu, libIDL, SDL, libcap, libGL +, libpng, glib, lvm2, libXrandr, libXinerama, libopus, qtbase, qtx11extras +, qttools, pkgconfig, which, docbook_xsl, docbook_xml_dtd_43 , alsaLib, curl, libvpx, nettools, dbus , makeself, perl -, javaBindings ? false, jdk ? null -, pythonBindings ? false, python2 ? null +, javaBindings ? true, jdk ? null # Almost doesn't affect closure size +, pythonBindings ? false, python3 ? null , extensionPack ? null, fakeroot ? null , pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null , enableHardening ? false @@ -17,13 +17,15 @@ with stdenv.lib; let - python = python2; + python = python3; buildType = "release"; - # Remember to change the extpackRev and version in extpack.nix as well. - main = "1m48ywa913g6zgqslvrihxs2fbr4gmljypbdpjma2hck6isyi02m"; - version = "5.2.22"; + # Remember to change the extpackRev and version in extpack.nix and + # guest-additions/default.nix as well. + main = "11sxx2zaablkvjiw0i5g5i5ibak6bsq6fldrcxwbcby6318shnhv"; + version = "6.0.8"; in stdenv.mkDerivation { - name = "virtualbox-${version}"; + pname = "virtualbox"; + inherit version; src = fetchurl { url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2"; @@ -32,7 +34,11 @@ in stdenv.mkDerivation { outputs = [ "out" "modsrc" ]; - nativeBuildInputs = [ pkgconfig which docbook_xsl docbook_xml_dtd_43 patchelfUnstable ]; + nativeBuildInputs = [ pkgconfig which docbook_xsl docbook_xml_dtd_43 patchelfUnstable ] + ++ optional (!headless) wrapQtAppsHook; + + # Wrap manually because we just need to wrap one executable + dontWrapQtApps = true; buildInputs = [ iasl dev86 libxslt libxml2 xorgproto libX11 libXext libXcursor libIDL @@ -41,8 +47,8 @@ in stdenv.mkDerivation { ++ optional javaBindings jdk ++ optional pythonBindings python # Python is needed even when not building bindings ++ optional pulseSupport libpulseaudio - ++ optionals (headless) [ libXrandr ] - ++ optionals (!headless) [ qt5.qtbase qt5.qtx11extras libXinerama SDL ]; + ++ optionals (headless) [ libXrandr libGL ] + ++ optionals (!headless) [ qtbase qtx11extras libXinerama SDL ]; hardeningDisable = [ "format" "fortify" "pic" "stackprotector" ]; @@ -52,7 +58,7 @@ in stdenv.mkDerivation { -e 's@PYTHONDIR=.*@PYTHONDIR=${if pythonBindings then python else ""}@' \ -e 's@CXX_FLAGS="\(.*\)"@CXX_FLAGS="-std=c++11 \1"@' \ ${optionalString (!headless) '' - -e 's@TOOLQT5BIN=.*@TOOLQT5BIN="${getDev qt5.qtbase}/bin"@' \ + -e 's@TOOLQT5BIN=.*@TOOLQT5BIN="${getDev qtbase}/bin"@' \ ''} -i configure ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2 @@ -75,11 +81,6 @@ in stdenv.mkDerivation { optional enableHardening ./hardened.patch ++ [ ./qtx11extras.patch - (fetchpatch { - name = "010-qt-5.11.patch"; - url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/010-qt-5.11.patch?h=packages/virtualbox"; - sha256 = "0hjx99pg40wqyggnrpylrp5zngva4xrnk7r90i0ynrqc7n84g9pn"; - }) ]; postPatch = '' @@ -109,9 +110,9 @@ in stdenv.mkDerivation { VBOX_JAVA_HOME := ${jdk} ''} ${optionalString (!headless) '' - PATH_QT5_X11_EXTRAS_LIB := ${getLib qt5.qtx11extras}/lib - PATH_QT5_X11_EXTRAS_INC := ${getDev qt5.qtx11extras}/include - TOOL_QT5_LRC := ${getDev qt5.qttools}/bin/lrelease + PATH_QT5_X11_EXTRAS_LIB := ${getLib qtx11extras}/lib + PATH_QT5_X11_EXTRAS_INC := ${getDev qtx11extras}/include + TOOL_QT5_LRC := ${getDev qttools}/bin/lrelease ''} LOCAL_CONFIG @@ -181,6 +182,10 @@ in stdenv.mkDerivation { cp -rv out/linux.*/${buildType}/bin/src "$modsrc" ''; + preFixup = optionalString (!headless) '' + wrapQtApp $out/bin/VirtualBox + ''; + passthru = { inherit version; # for guest additions inherit extensionPack; # for inclusion in profile to prevent gc @@ -191,6 +196,6 @@ in stdenv.mkDerivation { license = licenses.gpl2; homepage = https://www.virtualbox.org/; maintainers = with maintainers; [ flokli sander ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/virtualization/virtualbox/extpack.nix b/pkgs/applications/virtualization/virtualbox/extpack.nix index d2c513e899a..78c2538bbb0 100644 --- a/pkgs/applications/virtualization/virtualbox/extpack.nix +++ b/pkgs/applications/virtualization/virtualbox/extpack.nix @@ -1,8 +1,8 @@ -{stdenv, fetchurl, lib}: +{fetchurl, lib}: with lib; -let version = "5.2.22"; +let version = "6.0.8"; in fetchurl rec { name = "Oracle_VM_VirtualBox_Extension_Pack-${version}.vbox-extpack"; @@ -10,7 +10,7 @@ fetchurl rec { sha256 = # Manually sha256sum the extensionPack file, must be hex! # Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`. - let value = "779250666551b2f5426e86c2d21ceb0209b46174536971611025f753535131ef"; + let value = "6d89127c7f043fa96592da96ca87ac5ee9a7afd347d788380f91b695b67d7954"; in assert (builtins.stringLength value) == 64; value; meta = { @@ -18,6 +18,6 @@ fetchurl rec { license = licenses.virtualbox-puel; homepage = https://www.virtualbox.org/; maintainers = with maintainers; [ flokli sander cdepillabout ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index 259f2b268fe..5ff8a1650ba 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper -, xorg, dbus, virtualbox }: +, zlib, xorg, dbus, virtualbox }: let version = virtualbox.version; @@ -19,32 +19,23 @@ stdenv.mkDerivation { src = fetchurl { url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso"; - sha256 = "e51e33500a265b5c2d7bb2d03d32208df880523dfcb1e2dde2c78a0e0daa0603"; + sha256 = "1njgxb18r8a1m8fk2b32mmnbwciip3wcxwyhza5k73bx4q2sifac"; }; KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; KERN_INCL = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/source/include"; - patchFlags = [ "-p1" "-d" "install/src/vboxguest-${version}" ]; - - patches = [ - ./fix_kerndir.patch - ./fix_kernincl.patch - ]; + # If you add a patch you probably need this. + #patchFlags = [ "-p1" "-d" "install/src/vboxguest-${version}" ]; hardeningDisable = [ "pic" ]; NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"; nativeBuildInputs = [ patchelf makeWrapper ]; - buildInputs = [ cdrkit dbus ] ++ kernel.moduleBuildDependencies; + buildInputs = [ cdrkit ] ++ kernel.moduleBuildDependencies; - installPhase = '' - mkdir -p $out - cp -r install/* $out - ''; - - buildCommand = with xorg; '' + unpackPhase = '' ${if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux" then '' isoinfo -J -i $src -x /VBoxLinuxAdditions.run > ./VBoxLinuxAdditions.run chmod 755 ./VBoxLinuxAdditions.run @@ -63,39 +54,30 @@ stdenv.mkDerivation { '' else throw ("Architecture: "+stdenv.hostPlatform.system+" not supported for VirtualBox guest additions") } + ''; - cd ../ - patchPhase - cd install/src - - # Build kernel modules - export INSTALL_MOD_PATH=$out + doConfigure = false; + buildPhase = '' + # Build kernel modules. + cd src find . -type f | xargs sed 's/depmod -a/true/' -i - cd vboxguest-${version} - + # Run just make first. If we only did make install, we get symbol warnings during build. make - cd ../.. # Change the interpreter for various binaries - for i in sbin/VBoxService bin/{VBoxClient,VBoxControl} other/mount.vboxsf - do - ${if stdenv.hostPlatform.system == "i686-linux" then '' - patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $i - '' - else if stdenv.hostPlatform.system == "x86_64-linux" then '' - patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2 $i - '' - else throw ("Architecture: "+stdenv.hostPlatform.system+" not supported for VirtualBox guest additions") - } - patchelf --set-rpath ${lib.makeLibraryPath [ stdenv.cc.cc dbus libX11 libXt libXext libXmu libXfixes libXrandr libXcursor ]} $i + for i in sbin/VBoxService bin/{VBoxClient,VBoxControl} other/mount.vboxsf; do + patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} $i + patchelf --set-rpath ${lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc zlib + xorg.libX11 xorg.libXt xorg.libXext xorg.libXmu xorg.libXfixes xorg.libXrandr xorg.libXcursor ]} $i done for i in lib/VBoxOGL*.so do - patchelf --set-rpath ${lib.makeLibraryPath [ "$out" dbus libXcomposite libXdamage libXext libXfixes ]} $i + patchelf --set-rpath ${lib.makeLibraryPath [ "$out" + xorg.libXcomposite xorg.libXdamage xorg.libXext xorg.libXfixes ]} $i done # FIXME: Virtualbox 4.3.22 moved VBoxClient-all (required by Guest Additions @@ -105,6 +87,13 @@ stdenv.mkDerivation { # Remove references to /usr from various scripts and files sed -i -e "s|/usr/bin|$out/bin|" other/vboxclient.desktop sed -i -e "s|/usr/bin|$out/bin|" bin/VBoxClient-all + ''; + + installPhase = '' + # Install kernel modules. + cd src/vboxguest-${version} + make install INSTALL_MOD_PATH=$out + cd ../.. # Install binaries install -D -m 755 other/mount.vboxsf $out/bin/mount.vboxsf @@ -118,11 +107,17 @@ stdenv.mkDerivation { wrapProgram $out/bin/VBoxClient-all \ --prefix PATH : "${which}/bin" - # Install OpenGL libraries - mkdir -p $out/lib - cp -v lib/VBoxOGL*.so $out/lib - mkdir -p $out/lib/dri - ln -s $out/lib/VBoxOGL.so $out/lib/dri/vboxvideo_dri.so + # Don't install VBoxOGL for now + # It seems to be broken upstream too, and fixing it is far down the priority list: + # https://www.virtualbox.org/pipermail/vbox-dev/2017-June/014561.html + # Additionally, 3d support seems to rely on VBoxOGL.so being symlinked from + # libGL.so (which we can't), and Oracle doesn't plan on supporting libglvnd + # either. (#18457) + ## Install OpenGL libraries + #mkdir -p $out/lib + #cp -v lib/VBoxOGL*.so $out/lib + #mkdir -p $out/lib/dri + #ln -s $out/lib/VBoxOGL.so $out/lib/dri/vboxvideo_dri.so # Install desktop file mkdir -p $out/share/autostart @@ -131,21 +126,18 @@ stdenv.mkDerivation { # Install Xorg drivers mkdir -p $out/lib/xorg/modules/{drivers,input} install -m 644 other/vboxvideo_drv_${xserverABI}.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so + ''; - # Install kernel modules - cd src + # Stripping breaks these binaries for some reason. + dontStrip = true; - for i in * - do - cd $i - kernelVersion=$(cd ${kernel.dev}/lib/modules; ls) - export MODULE_DIR=$out/lib/modules/$kernelVersion/misc - find . -type f | xargs sed -i -e "s|-o root||g" \ - -e "s|-g root||g" - make install - cd .. + # Some code dlopen() libdbus, patch RUNPATH in fixupPhase so it isn't stripped. + postFixup = '' + for i in $(grep -F libdbus-1.so -l -r $out/{lib,bin}); do + origRpath=$(patchelf --print-rpath "$i") + patchelf --set-rpath "$origRpath:${lib.makeLibraryPath [ dbus ]}" "$i" done - ''; # */ + ''; meta = { description = "Guest additions for VirtualBox"; diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kerndir.patch b/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kerndir.patch deleted file mode 100644 index 0be949f63c9..00000000000 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kerndir.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/vboxsf/Makefile.include.header b/vboxsf/Makefile.include.header -index 8df1eb4d25..5a3e5604e7 100644 ---- a/vboxsf/Makefile.include.header -+++ b/vboxsf/Makefile.include.header -@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),) - endif # neq($(KERNELRELEASE),) - - # Kernel build folder --KERN_DIR := /lib/modules/$(KERN_VER)/build - ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes) - $(error Error: unable to find the headers of the Linux kernel to build against. \ - Specify KERN_VER= and run Make again) - -diff --git a/vboxguest/Makefile.include.header b/vboxguest/Makefile.include.header -index 8df1eb4d25..5a3e5604e7 100644 ---- a/vboxguest/Makefile.include.header -+++ b/vboxguest/Makefile.include.header -@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),) - endif # neq($(KERNELRELEASE),) - - # Kernel build folder --KERN_DIR := /lib/modules/$(KERN_VER)/build - ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes) - $(error Error: unable to find the headers of the Linux kernel to build against. \ - Specify KERN_VER= and run Make again) - -diff --git a/vboxvideo/Makefile.include.header b/vboxvideo/Makefile.include.header -index 8df1eb4d25..5a3e5604e7 100644 ---- a/vboxvideo/Makefile.include.header -+++ b/vboxvideo/Makefile.include.header -@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),) - endif # neq($(KERNELRELEASE),) - - # Kernel build folder --KERN_DIR := /lib/modules/$(KERN_VER)/build - ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes) - $(error Error: unable to find the headers of the Linux kernel to build against. \ - Specify KERN_VER= and run Make again) diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kernincl.patch b/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kernincl.patch deleted file mode 100644 index e59e2e98c1b..00000000000 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kernincl.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/vboxvideo/Makefile.include.header b/vboxvideo/Makefile.include.header -index 8df1eb4d25..5a3e5604e7 100644 ---- a/vboxvideo/Makefile.include.header -+++ b/vboxvideo/Makefile.include.header -@@ -122,7 +122,6 @@ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes) - Specify KERN_VER= and run Make again) - endif - # Kernel include folder --KERN_INCL := $(KERN_DIR)/include - # module install folder - INSTALL_MOD_DIR ?= misc - MODULE_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KERN_VER)/$(INSTALL_MOD_DIR) diff --git a/pkgs/applications/virtualization/virtualbox/qtx11extras.patch b/pkgs/applications/virtualization/virtualbox/qtx11extras.patch index 6ed74e3e23e..a3aa98b081d 100644 --- a/pkgs/applications/virtualization/virtualbox/qtx11extras.patch +++ b/pkgs/applications/virtualization/virtualbox/qtx11extras.patch @@ -2,30 +2,15 @@ diff --git a/kBuild/units/qt5.kmk b/kBuild/units/qt5.kmk index 71b96a3..73391f0 100644 --- a/kBuild/units/qt5.kmk +++ b/kBuild/units/qt5.kmk -@@ -1019,9 +1019,10 @@ else +@@ -1054,9 +1054,9 @@ else $(eval $(target)_LIBS += $(PATH_SDK_QT5_LIB)/$(qt_prefix)qtmain$(qt_infix)$(SUFF_LIB) ) endif else - $(eval $(target)_LIBS += $(foreach module,$(qt_modules), $(PATH_SDK_QT5_LIB)/lib$(qt_prefix)Qt5$(module)$(qt_infix)$(SUFF_DLL)) ) -+ $(eval $(target)_LIBS += $(foreach module,$(qt_modules), $(PATH_SDK_QT5_LIB)/lib$(qt_prefix)Qt5$(module)$(qt_infix)$(SUFF_DLL)) \ -+ $(PATH_QT5_X11_EXTRAS_LIB)/lib$(qt_prefix)Qt5X11Extras$(qt_infix)$(SUFF_DLL)) ++ $(eval $(target)_LIBS += $(foreach module,$(qt_modules), $(if $(filter X11Extras,$(module)),$(PATH_QT5_X11_EXTRAS_LIB),$(PATH_SDK_QT5_LIB))/lib$(qt_prefix)Qt5$(module)$(qt_infix)$(SUFF_DLL)) ) endif - $(eval $(target)_INCS += $(addprefix $(PATH_SDK_QT5_INC)/Qt,$(qt_modules)) $(PATH_SDK_QT5_INC) ) + $(eval $(target)_INCS += $(addprefix $(PATH_SDK_QT5_INC)/Qt,$(qt_modules)) $(PATH_SDK_QT5_INC) $(PATH_QT5_X11_EXTRAS_INC)/QtX11Extras ) endif $(eval $(target)_DEFS += $(foreach module,$(toupper $(qt_modules)), QT_$(module)_LIB) ) -diff --git a/src/VBox/Frontends/VirtualBox/Makefile.kmk b/src/VBox/Frontends/VirtualBox/Makefile.kmk -index 3295bfefe7..796370623c 100644 ---- a/src/VBox/Frontends/VirtualBox/Makefile.kmk -+++ b/src/VBox/Frontends/VirtualBox/Makefile.kmk -@@ -916,9 +916,6 @@ endif - # The Qt modules we're using. - # (The include directory and lib/framework for each module will be added by the Qt unit.) - VirtualBox_QT_MODULES = Core Gui Widgets PrintSupport --VirtualBox_QT_MODULES.linux += X11Extras --VirtualBox_QT_MODULES.solaris += X11Extras --VirtualBox_QT_MODULES.freebsd += X11Extras - VirtualBox_QT_MODULES.darwin += MacExtras - VirtualBox_QT_MODULES.win += WinExtras - if defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL) diff --git a/pkgs/applications/virtualization/vpcs/default.nix b/pkgs/applications/virtualization/vpcs/default.nix index 3d6efcfc844..464fe46b499 100644 --- a/pkgs/applications/virtualization/vpcs/default.nix +++ b/pkgs/applications/virtualization/vpcs/default.nix @@ -1,13 +1,12 @@ { stdenv, fetchurl, glibc }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "vpcs"; version = "0.8"; src = fetchurl { - name = "${name}.tar.bz2"; - url = "mirror://sourceforge/project/${pname}/${version}/${name}-src.tbz"; + name = "${pname}-${version}.tar.bz2"; + url = "mirror://sourceforge/project/${pname}/${version}/${pname}-${version}-src.tbz"; sha256 = "14y9nflcyq486vvw0na0fkfmg5dac004qb332v4m5a0vaz8059nw"; }; diff --git a/pkgs/applications/virtualization/x11docker/default.nix b/pkgs/applications/virtualization/x11docker/default.nix index 8e248061cd5..ea8a24e57a3 100644 --- a/pkgs/applications/virtualization/x11docker/default.nix +++ b/pkgs/applications/virtualization/x11docker/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg }: stdenv.mkDerivation rec { - name = "x11docker-${version}"; - version = "5.4.1"; + pname = "x11docker"; + version = "6.0.0"; src = fetchFromGitHub { owner = "mviereck"; repo = "x11docker"; rev = "v${version}"; - sha256 = "0fcdr8i3crf4cina41h030q2jf5zvafll97iff129dl3sb27jnvi"; + sha256 = "1sfdxlh50hv8j3dj5bphihqdyf8s7ixm6ckrmvqgr2y3gak1y840"; }; nativeBuildInputs = [ makeWrapper ]; buildInputs = [ nx-libs xorg.xhost xorg.xinit ]; diff --git a/pkgs/applications/virtualization/xen/4.8.nix b/pkgs/applications/virtualization/xen/4.8.nix index 2a59cd1f061..8ad8edde8cc 100644 --- a/pkgs/applications/virtualization/xen/4.8.nix +++ b/pkgs/applications/virtualization/xen/4.8.nix @@ -43,6 +43,11 @@ let sha256 = "0gaz93kb33qc0jx6iphvny0yrd17i8zhcl3a9ky5ylc2idz0wiwa"; }; + # Ported from + #"https://xenbits.xen.org/gitweb/?p=qemu-xen.git;a=patch;h=e014dbe74e0484188164c61ff6843f8a04a8cb9d"; + #"https://xenbits.xen.org/gitweb/?p=qemu-xen.git;a=patch;h=0e3b891fefacc0e49f3c8ffa3a753b69eb7214d2"; + qemuGlusterfs6Fix = ./qemu-gluster-6-compat.diff; + qemuDeps = [ udev pciutils xorg.libX11 SDL pixman acl glusterfs spice-protocol usbredir alsaLib @@ -50,11 +55,11 @@ let in callPackage (import ./generic.nix (rec { - version = "4.8.3"; + version = "4.8.5"; src = fetchurl { url = "https://downloads.xenproject.org/release/xen/${version}/xen-${version}.tar.gz"; - sha256 = "0vhkpyy5x7kc36hnav95fn194ngsmc3m2xcc78vccs00gdf6m8q9"; + sha256 = "04xcf01jad1lpqnmjblzhnjzp0bss9fjd9awgcycjx679arbaxqz"; }; # Sources needed to build tools and firmwares. @@ -67,6 +72,7 @@ callPackage (import ./generic.nix (rec { }; patches = [ qemuMemfdBuildFix + qemuGlusterfs6Fix ]; buildInputs = qemuDeps; meta.description = "Xen's fork of upstream Qemu"; @@ -155,13 +161,8 @@ callPackage (import ./generic.nix (rec { ++ optional (withInternalOVMF) "--enable-ovmf"; patches = with xsa; flatten [ - # XSA_231 to XSA-251 are fixed in 4.8.3 (verified with git log) - XSA_252_49 # 253: 4.8 not affected # 254: no patch supplied by xen project (Meltdown/Spectre) - XSA_255_49_1 - XSA_255_49_2 - XSA_256_48 xenlockprofpatch xenpmdpatch ]; @@ -176,10 +177,8 @@ callPackage (import ./generic.nix (rec { -i tools/libxl/libxl_device.c ''; - passthru = { - qemu-system-i386 = if withInternalQemu + passthru.qemu-system-i386 = if withInternalQemu then "lib/xen/bin/qemu-system-i386" else throw "this xen has no qemu builtin"; - }; })) ({ ocamlPackages = ocaml-ng.ocamlPackages_4_05; } // args) diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix index 8dc2dffc6b6..8093d4752a0 100644 --- a/pkgs/applications/virtualization/xen/generic.nix +++ b/pkgs/applications/virtualization/xen/generic.nix @@ -121,8 +121,8 @@ stdenv.mkDerivation (rec { patches = [ ./0000-fix-ipxe-src.patch ./0000-fix-install-python.patch - ./acpica-utils-20180427.patch] - ++ (config.patches or []); + ] ++ optional (versionOlder version "4.8.5") ./acpica-utils-20180427.patch + ++ (config.patches or []); postPatch = '' ### Hacks diff --git a/pkgs/applications/virtualization/xen/qemu-gluster-6-compat.diff b/pkgs/applications/virtualization/xen/qemu-gluster-6-compat.diff new file mode 100644 index 00000000000..7ec6ad3aba6 --- /dev/null +++ b/pkgs/applications/virtualization/xen/qemu-gluster-6-compat.diff @@ -0,0 +1,95 @@ +diff --git a/block/gluster.c b/block/gluster.c +index 01b479fbb9..29552e1186 100644 +--- a/block/gluster.c ++++ b/block/gluster.c +@@ -15,6 +15,10 @@ + #include "qemu/uri.h" + #include "qemu/error-report.h" + ++#ifdef CONFIG_GLUSTERFS_FTRUNCATE_HAS_STAT ++# define glfs_ftruncate(fd, offset) glfs_ftruncate(fd, offset, NULL, NULL) ++#endif ++ + #define GLUSTER_OPT_FILENAME "filename" + #define GLUSTER_OPT_VOLUME "volume" + #define GLUSTER_OPT_PATH "path" +@@ -613,7 +617,11 @@ static void qemu_gluster_complete_aio(void *opaque) + /* + * AIO callback routine called from GlusterFS thread. + */ +-static void gluster_finish_aiocb(struct glfs_fd *fd, ssize_t ret, void *arg) ++static void gluster_finish_aiocb(struct glfs_fd *fd, ssize_t ret, ++#ifdef CONFIG_GLUSTERFS_IOCB_HAS_STAT ++ struct glfs_stat *pre, struct glfs_stat *post, ++#endif ++ void *arg) + { + GlusterAIOCB *acb = (GlusterAIOCB *)arg; + +diff --git a/configure b/configure +index 4b808f9d17..89fb27fd0d 100755 +--- a/configure ++++ b/configure +@@ -301,6 +301,8 @@ glusterfs="" + glusterfs_xlator_opt="no" + glusterfs_discard="no" + glusterfs_zerofill="no" ++glusterfs_ftruncate_has_stat="no" ++glusterfs_iocb_has_stat="no" + archipelago="no" + gtk="" + gtkabi="" +@@ -3444,6 +3446,38 @@ if test "$glusterfs" != "no" ; then + if $pkg_config --atleast-version=6 glusterfs-api; then + glusterfs_zerofill="yes" + fi ++ cat > $TMPC << EOF ++#include ++ ++int ++main(void) ++{ ++ /* new glfs_ftruncate() passes two additional args */ ++ return glfs_ftruncate(NULL, 0, NULL, NULL); ++} ++EOF ++ if compile_prog "$glusterfs_cflags" "$glusterfs_libs" ; then ++ glusterfs_ftruncate_has_stat="yes" ++ fi ++ cat > $TMPC << EOF ++#include ++ ++/* new glfs_io_cbk() passes two additional glfs_stat structs */ ++static void ++glusterfs_iocb(glfs_fd_t *fd, ssize_t ret, struct glfs_stat *prestat, struct glfs_stat *poststat, void *data) ++{} ++ ++int ++main(void) ++{ ++ glfs_io_cbk iocb = &glusterfs_iocb; ++ iocb(NULL, 0 , NULL, NULL, NULL); ++ return 0; ++} ++EOF ++ if compile_prog "$glusterfs_cflags" "$glusterfs_libs" ; then ++ glusterfs_iocb_has_stat="yes" ++ fi + else + if test "$glusterfs" = "yes" ; then + feature_not_found "GlusterFS backend support" \ +@@ -5415,6 +5449,14 @@ if test "$archipelago" = "yes" ; then + echo "ARCHIPELAGO_LIBS=$archipelago_libs" >> $config_host_mak + fi + ++if test "$glusterfs_ftruncate_has_stat" = "yes" ; then ++ echo "CONFIG_GLUSTERFS_FTRUNCATE_HAS_STAT=y" >> $config_host_mak ++fi ++ ++if test "$glusterfs_iocb_has_stat" = "yes" ; then ++ echo "CONFIG_GLUSTERFS_IOCB_HAS_STAT=y" >> $config_host_mak ++fi ++ + if test "$libssh2" = "yes" ; then + echo "CONFIG_LIBSSH2=m" >> $config_host_mak + echo "LIBSSH2_CFLAGS=$libssh2_cflags" >> $config_host_mak diff --git a/pkgs/applications/virtualization/xhyve/default.nix b/pkgs/applications/virtualization/xhyve/default.nix index 2a685c590fa..26b55b364f1 100644 --- a/pkgs/applications/virtualization/xhyve/default.nix +++ b/pkgs/applications/virtualization/xhyve/default.nix @@ -1,15 +1,15 @@ -{ stdenv, lib, fetchurl, Hypervisor, vmnet, xpc, libobjc }: +{ stdenv, lib, fetchurl, Hypervisor, vmnet, xpc, libobjc, zlib }: stdenv.mkDerivation rec { - name = "xhyve-${version}"; - version = "1f1dbe305"; + pname = "xhyve"; + version = "20190124"; src = fetchurl { - url = "https://github.com/mist64/xhyve/archive/1f1dbe3059904f885e4ab2b3328f4bb350ea5c37.tar.gz"; - sha256 = "0hfix8yr90szlv2yyqb2rlq5qsrxyam8kg52sly0adja0cpwfjvx"; + url = "https://github.com/machyve/xhyve/archive/1dd9a5165848c7ed56dafc41932c553ea56a12af.tar.gz"; + sha256 = "18zd74pd0azf43csbqb14srbyclfgx28dpgm8ygjmbcazbnipc1k"; }; - buildInputs = [ Hypervisor vmnet xpc libobjc ]; + buildInputs = [ Hypervisor vmnet xpc libobjc zlib ]; # Don't use git to determine version prePatch = '' diff --git a/pkgs/applications/window-managers/2bwm/default.nix b/pkgs/applications/window-managers/2bwm/default.nix index 116180f5ec3..4b61fe3d7e6 100644 --- a/pkgs/applications/window-managers/2bwm/default.nix +++ b/pkgs/applications/window-managers/2bwm/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { version = "0.2"; - name = "2bwm-${version}"; + pname = "2bwm"; src = fetchFromGitHub { owner = "venam"; diff --git a/pkgs/applications/window-managers/afterstep/default.nix b/pkgs/applications/window-managers/afterstep/default.nix index 46a86da1d66..5fcbff26b15 100644 --- a/pkgs/applications/window-managers/afterstep/default.nix +++ b/pkgs/applications/window-managers/afterstep/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { - name = "afterstep-${version}"; + pname = "afterstep"; version = "2.2.12"; sourceName = "AfterStep-${version}"; diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix index 364771de80f..2551ea80550 100644 --- a/pkgs/applications/window-managers/awesome/default.nix +++ b/pkgs/applications/window-managers/awesome/default.nix @@ -1,14 +1,19 @@ -{ stdenv, fetchFromGitHub, luaPackages, cairo, librsvg, cmake, imagemagick, pkgconfig, gdk_pixbuf +{ stdenv, fetchFromGitHub, luaPackages, cairo, librsvg, cmake, imagemagick, pkgconfig, gdk-pixbuf , xorg, libstartup_notification, libxdg_basedir, libpthreadstubs , xcb-util-cursor, makeWrapper, pango, gobject-introspection , which, dbus, nettools, git, doxygen , xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs , libxkbcommon, xcbutilxrm, hicolor-icon-theme , asciidoctor +, fontsConf +, gtk3Support ? false, gtk3 ? null }: +# needed for beautiful.gtk to work +assert gtk3Support -> gtk3 != null; + with luaPackages; stdenv.mkDerivation rec { - name = "awesome-${version}"; + pname = "awesome"; version = "4.3"; src = fetchFromGitHub { @@ -27,32 +32,41 @@ with luaPackages; stdenv.mkDerivation rec { xmlto docbook_xml_dtd_45 docbook_xsl findXMLCatalogs asciidoctor + ldoc ]; + outputs = [ "out" "doc" ]; + + FONTCONFIG_FILE = toString fontsConf; + propagatedUserEnvPkgs = [ hicolor-icon-theme ]; - buildInputs = [ cairo librsvg dbus gdk_pixbuf gobject-introspection + buildInputs = [ cairo librsvg dbus gdk-pixbuf gobject-introspection git lgi libpthreadstubs libstartup_notification libxdg_basedir lua nettools pango xcb-util-cursor xorg.libXau xorg.libXdmcp xorg.libxcb xorg.libxshmfence xorg.xcbutil xorg.xcbutilimage xorg.xcbutilkeysyms xorg.xcbutilrenderutil xorg.xcbutilwm libxkbcommon - xcbutilxrm ]; + xcbutilxrm ] + ++ stdenv.lib.optional gtk3Support gtk3; #cmakeFlags = "-DGENERATE_MANPAGES=ON"; cmakeFlags = "-DOVERRIDE_VERSION=${version}"; GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0"; + # LUA_CPATH and LUA_PATH are used only for *building*, see the --search flags + # below for how awesome finds the libraries it needs at runtime. LUA_CPATH = "${lgi}/lib/lua/${lua.luaversion}/?.so"; - LUA_PATH = "?.lua;${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua"; + LUA_PATH = "${lgi}/share/lua/${lua.luaversion}/?.lua;;"; postInstall = '' - wrapProgram $out/bin/awesome \ + # Don't use wrapProgram or the wrapper will duplicate the --search + # arguments every restart + mv "$out/bin/awesome" "$out/bin/.awesome-wrapped" + makeWrapper "$out/bin/.awesome-wrapped" "$out/bin/awesome" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --add-flags '--search ${lgi}/lib/lua/${lua.luaversion}' \ --add-flags '--search ${lgi}/share/lua/${lua.luaversion}' \ - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LUA_PATH ';' "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua" \ - --prefix LUA_CPATH ';' "${lgi}/lib/lua/${lua.luaversion}/?.so" + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" wrapProgram $out/bin/awesome-client \ --prefix PATH : "${which}/bin" diff --git a/pkgs/applications/window-managers/bevelbar/default.nix b/pkgs/applications/window-managers/bevelbar/default.nix index 582f9cb61f8..40cebb572af 100644 --- a/pkgs/applications/window-managers/bevelbar/default.nix +++ b/pkgs/applications/window-managers/bevelbar/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, libX11, libXrandr, libXft }: stdenv.mkDerivation rec { - name = "bevelbar-${version}"; + pname = "bevelbar"; version = "16.11"; src = fetchFromGitHub { diff --git a/pkgs/applications/window-managers/bspwm/default.nix b/pkgs/applications/window-managers/bspwm/default.nix index 03652c749de..e863a382470 100644 --- a/pkgs/applications/window-managers/bspwm/default.nix +++ b/pkgs/applications/window-managers/bspwm/default.nix @@ -3,14 +3,14 @@ }: stdenv.mkDerivation rec { - name = "bspwm-${version}"; - version = "0.9.6"; + pname = "bspwm"; + version = "0.9.9"; src = fetchFromGitHub { owner = "baskerville"; repo = "bspwm"; rev = version; - sha256 = "1ywjhqxvggfdfd3cfki0vvlsli8lhqlziwfrj5vd57c6yisc2fyy"; + sha256 = "1i7crmljk1vra1r6alxvj6lqqailjjcv0llyg7a0gm23rbv4a42g"; }; buildInputs = [ libxcb libXinerama xcbutil xcbutilkeysyms xcbutilwm ]; diff --git a/pkgs/applications/window-managers/btops/default.nix b/pkgs/applications/window-managers/btops/default.nix index f55c55110a2..cf90b1fad63 100644 --- a/pkgs/applications/window-managers/btops/default.nix +++ b/pkgs/applications/window-managers/btops/default.nix @@ -2,7 +2,7 @@ { stdenv, buildGoPackage, fetchgit }: buildGoPackage rec { - name = "btops-${version}"; + pname = "btops"; version = "0.1.0"; goPackagePath = "github.com/cmschuetz/btops"; diff --git a/pkgs/applications/window-managers/cage/default.nix b/pkgs/applications/window-managers/cage/default.nix new file mode 100644 index 00000000000..be45d68dc5d --- /dev/null +++ b/pkgs/applications/window-managers/cage/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub +, meson, ninja, pkgconfig, makeWrapper +, wlroots, wayland, wayland-protocols, pixman, libxkbcommon +, systemd, mesa, libX11 +, xwayland ? null +}: + +stdenv.mkDerivation rec { + pname = "cage"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "Hjdskes"; + repo = pname; + rev = "v${version}"; + sha256 = "1vp4mfkflrjmlgyx5mkbzdi3iq58m76q7l9dfrsk85xn0642d6q1"; + }; + + nativeBuildInputs = [ meson ninja pkgconfig makeWrapper ]; + + buildInputs = [ + wlroots wayland wayland-protocols pixman libxkbcommon + # TODO: Not specified but required: + systemd mesa libX11 + ]; + + enableParallelBuilding = true; + + mesonFlags = [ "-Dxwayland=${stdenv.lib.boolToString (xwayland != null)}" ]; + + postFixup = stdenv.lib.optionalString (xwayland != null) '' + wrapProgram $out/bin/cage --prefix PATH : "${xwayland}/bin" + ''; + + meta = with stdenv.lib; { + description = "A Wayland kiosk"; + homepage = https://www.hjdskes.nl/projects/cage/; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ primeos ]; + }; +} diff --git a/pkgs/applications/window-managers/compton/default.nix b/pkgs/applications/window-managers/compton/default.nix index 2c388c941e6..0941329bdbe 100644 --- a/pkgs/applications/window-managers/compton/default.nix +++ b/pkgs/applications/window-managers/compton/default.nix @@ -1,112 +1,64 @@ -{ stdenv, lib, fetchFromGitHub, pkgconfig, asciidoc, docbook_xml_dtd_45 +{ stdenv, lib, fetchFromGitHub, pkgconfig, uthash, asciidoc, docbook_xml_dtd_45 , docbook_xsl, libxslt, libxml2, makeWrapper, meson, ninja , xorgproto, libxcb ,xcbutilrenderutil, xcbutilimage, pixman, libev -, dbus, libconfig, libdrm, libGL, pcre, libX11, libXcomposite, libXdamage -, libXinerama, libXrandr, libXrender, libXext, xwininfo, libxdg_basedir }: +, dbus, libconfig, libdrm, libGL, pcre, libX11 +, libXinerama, libXext, xwininfo, libxdg_basedir }: +stdenv.mkDerivation rec { + pname = "compton"; + version = "7.2"; -let - common = source: stdenv.mkDerivation (source // rec { - name = "${source.pname}-${source.version}"; - - nativeBuildInputs = (source.nativeBuildInputs or []) ++ [ - pkgconfig - asciidoc - docbook_xml_dtd_45 - docbook_xsl - makeWrapper - ]; - - installFlags = [ "PREFIX=$(out)" ]; - - postInstall = '' - wrapProgram $out/bin/compton-trans \ - --prefix PATH : ${lib.makeBinPath [ xwininfo ]} - ''; - - meta = with lib; { - description = "A fork of XCompMgr, a sample compositing manager for X servers"; - longDescription = '' - A fork of XCompMgr, which is a sample compositing manager for X - servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE - extensions. It enables basic eye-candy effects. This fork adds - additional features, such as additional effects, and a fork at a - well-defined and proper place. - ''; - license = licenses.mit; - maintainers = with maintainers; [ ertes enzime twey ]; - platforms = platforms.linux; - }; - }); - - stableSource = rec { - pname = "compton"; - version = "0.1_beta2.5"; - - COMPTON_VERSION = version; - - buildInputs = [ - dbus libX11 libXcomposite libXdamage libXrender libXrandr libXext - libXinerama libdrm pcre libxml2 libxslt libconfig libGL - ]; - - src = fetchFromGitHub { - owner = "chjj"; - repo = "compton"; - rev = "b7f43ee67a1d2d08239a2eb67b7f50fe51a592a8"; - sha256 = "1p7ayzvm3c63q42na5frznq3rlr1lby2pdgbvzm1zl07wagqss18"; - }; - - meta = { - homepage = https://github.com/chjj/compton/; - }; + src = fetchFromGitHub { + owner = "yshui"; + repo = "compton"; + rev = "v${version}"; + sha256 = "1vwa5f0nifc1913diqd6cp5k1dlfyc2ijxbcdj1s37ywpx6c63c3"; + fetchSubmodules = true; }; - gitSource = rec { - pname = "compton-git"; - version = "5.1-rc2"; + nativeBuildInputs = [ + meson ninja + pkgconfig + uthash + asciidoc + docbook_xml_dtd_45 + docbook_xsl + makeWrapper + ]; - COMPTON_VERSION = "v${version}"; + buildInputs = [ + dbus libX11 libXext + xorgproto + libXinerama libdrm pcre libxml2 libxslt libconfig libGL + libxcb xcbutilrenderutil xcbutilimage + pixman libev + libxdg_basedir + ]; - nativeBuildInputs = [ meson ninja ]; + NIX_CFLAGS_COMPILE = [ "-fno-strict-aliasing" ]; - src = fetchFromGitHub { - owner = "yshui"; - repo = "compton"; - rev = COMPTON_VERSION; - sha256 = "1qpy76kkhz8gfby842ry7lanvxkjxh4ckclkcjk4xi2wsmbhyp08"; - }; + mesonFlags = [ + "-Dbuild_docs=true" + ]; - buildInputs = [ - dbus libX11 libXext - xorgproto - libXinerama libdrm pcre libxml2 libxslt libconfig libGL - # Removed: - # libXcomposite libXdamage libXrender libXrandr + installFlags = [ "PREFIX=$(out)" ]; - # New: - libxcb xcbutilrenderutil xcbutilimage - pixman libev - libxdg_basedir - ]; + postInstall = '' + wrapProgram $out/bin/compton-trans \ + --prefix PATH : ${lib.makeBinPath [ xwininfo ]} + ''; - preBuild = '' - git() { echo "v${version}"; } - export -f git + meta = with lib; { + description = "A fork of XCompMgr, a sample compositing manager for X servers"; + longDescription = '' + A fork of XCompMgr, which is a sample compositing manager for X + servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE + extensions. It enables basic eye-candy effects. This fork adds + additional features, such as additional effects, and a fork at a + well-defined and proper place. ''; - - NIX_CFLAGS_COMPILE = [ "-fno-strict-aliasing" ]; - - mesonFlags = [ - "-Dvsync_drm=true" - "-Dnew_backends=true" - "-Dbuild_docs=true" - ]; - - meta = { - homepage = https://github.com/yshui/compton/; - }; + license = licenses.mit; + homepage = "https://github.com/yshui/compton"; + maintainers = with maintainers; [ ertes enzime twey ]; + platforms = platforms.linux; }; -in { - compton = common stableSource; - compton-git = common gitSource; } diff --git a/pkgs/applications/window-managers/dwm/dwm-status.nix b/pkgs/applications/window-managers/dwm/dwm-status.nix index 2a8f1d67f6e..eac15ca7141 100644 --- a/pkgs/applications/window-managers/dwm/dwm-status.nix +++ b/pkgs/applications/window-managers/dwm/dwm-status.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, rustPlatform, fetchFromGitHub, dbus, gdk_pixbuf, libnotify, makeWrapper, pkgconfig, xorg +{ stdenv, lib, rustPlatform, fetchFromGitHub, dbus, gdk-pixbuf, libnotify, makeWrapper, pkgconfig, xorg , enableAlsaUtils ? true, alsaUtils, coreutils , enableNetwork ? true, dnsutils, iproute, wirelesstools }: @@ -9,19 +9,19 @@ in rustPlatform.buildRustPackage rec { name = "dwm-status-${version}"; - version = "1.6.0"; + version = "1.6.2"; src = fetchFromGitHub { owner = "Gerschtli"; repo = "dwm-status"; rev = version; - sha256 = "02gvlxv6ylx4mdkf59crm2zyahiz1zd4cr5zz29dnhx7r7738i9a"; + sha256 = "16vf7val1isc4227amng2ap9af34xa2va23dxv43px006xhrar78"; }; nativeBuildInputs = [ makeWrapper pkgconfig ]; - buildInputs = [ dbus gdk_pixbuf libnotify xorg.libX11 ]; + buildInputs = [ dbus gdk-pixbuf libnotify xorg.libX11 ]; - cargoSha256 = "1khknf1bjs80cc2n4jnpilf8cc15crykhhyvvff6q4ay40353gr6"; + cargoSha256 = "0pprf8509d321azg2l51lpxylgpk7290y38z9p5hxgkcwhrhrcss"; postInstall = lib.optionalString (bins != []) '' wrapProgram $out/bin/dwm-status --prefix "PATH" : "${stdenv.lib.makeBinPath bins}" diff --git a/pkgs/applications/window-managers/fbpanel/default.nix b/pkgs/applications/window-managers/fbpanel/default.nix index 0c13691a36a..cf45dfa8640 100644 --- a/pkgs/applications/window-managers/fbpanel/default.nix +++ b/pkgs/applications/window-managers/fbpanel/default.nix @@ -3,10 +3,10 @@ }: stdenv.mkDerivation rec { - name = "fbpanel-${version}"; + pname = "fbpanel"; version = "6.1"; src = fetchurl { - url = "mirror://sourceforge/fbpanel/${name}.tbz2"; + url = "mirror://sourceforge/fbpanel/${pname}-${version}.tbz2"; sha256 = "e14542cc81ea06e64dd4708546f5fd3f5e01884c3e4617885c7ef22af8cf3965"; }; buildInputs = diff --git a/pkgs/applications/window-managers/fluxbox/default.nix b/pkgs/applications/window-managers/fluxbox/default.nix index c92b70153a7..404044fa3fa 100644 --- a/pkgs/applications/window-managers/fluxbox/default.nix +++ b/pkgs/applications/window-managers/fluxbox/default.nix @@ -7,11 +7,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "fluxbox-${version}"; + pname = "fluxbox"; version = "1.3.7"; src = fetchurl { - url = "mirror://sourceforge/fluxbox/${name}.tar.xz"; + url = "mirror://sourceforge/fluxbox/${pname}-${version}.tar.xz"; sha256 = "1h1f70y40qd225dqx937vzb4k2cz219agm1zvnjxakn5jkz7b37w"; }; diff --git a/pkgs/applications/window-managers/fvwm/default.nix b/pkgs/applications/window-managers/fvwm/default.nix index 20a95f36cee..27657c10a7e 100644 --- a/pkgs/applications/window-managers/fvwm/default.nix +++ b/pkgs/applications/window-managers/fvwm/default.nix @@ -10,10 +10,9 @@ assert gestures -> libstroke != null; stdenv.mkDerivation rec { pname = "fvwm"; version = "2.6.8"; - name = "${pname}-${version}"; src = fetchurl { - url = "https://github.com/fvwmorg/fvwm/releases/download/${version}/${name}.tar.gz"; + url = "https://github.com/fvwmorg/fvwm/releases/download/${version}/${pname}-${version}.tar.gz"; sha256 = "0hgkkdzcqjnaabvv9cnh0bz90nnjskbhjg9qnzpi2x0mbliwjdpv"; }; diff --git a/pkgs/applications/window-managers/herbstluftwm/default.nix b/pkgs/applications/window-managers/herbstluftwm/default.nix index d49c893ca14..ca64786475f 100644 --- a/pkgs/applications/window-managers/herbstluftwm/default.nix +++ b/pkgs/applications/window-managers/herbstluftwm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, glib, libX11, libXext, libXinerama }: stdenv.mkDerivation rec { - name = "herbstluftwm-0.7.1"; + name = "herbstluftwm-0.7.2"; src = fetchurl { url = "https://herbstluftwm.org/tarballs/${name}.tar.gz"; - sha256 = "0d47lbjxxqd8d96hby47bdhyn9mlih7h28712j1vckiz05ig63nw"; + sha256 = "1kc18aj9j3nfz6fj4qxg9s3gg4jvn6kzi3ii24hfm0vqdpy17xnz"; }; patchPhase = '' diff --git a/pkgs/applications/window-managers/i3/blocks-gaps.nix b/pkgs/applications/window-managers/i3/blocks-gaps.nix index 83fe3ef163a..c62edd6d71a 100644 --- a/pkgs/applications/window-managers/i3/blocks-gaps.nix +++ b/pkgs/applications/window-managers/i3/blocks-gaps.nix @@ -12,7 +12,7 @@ let in stdenv.mkDerivation rec { - name = "i3blocks-gaps-${version}"; + pname = "i3blocks-gaps"; version = "1.4"; src = fetchFromGitHub { diff --git a/pkgs/applications/window-managers/i3/blocks.nix b/pkgs/applications/window-managers/i3/blocks.nix index 88bf7762dd8..2246d77173a 100644 --- a/pkgs/applications/window-managers/i3/blocks.nix +++ b/pkgs/applications/window-managers/i3/blocks.nix @@ -1,54 +1,19 @@ -{ fetchurl, stdenv, perl, makeWrapper -, iproute, acpi, sysstat, xset, playerctl -, cmus, openvpn, lm_sensors, alsaUtils -, scripts ? [ "bandwidth" "battery" "cpu_usage" "disk" "iface" - "keyindicator" "load_average" "mediaplayer" "memory" - "openvpn" "temperature" "volume" "wifi" ] -}: +{ fetchFromGitHub, stdenv, autoreconfHook }: with stdenv.lib; -let - perlscripts = [ "battery" "cpu_usage" "keyindicator" - "mediaplayer" "openvpn" "temperature" ]; - contains_any = l1: l2: 0 < length( intersectLists l1 l2 ); - -in stdenv.mkDerivation rec { - name = "i3blocks-${version}"; - version = "1.4"; + pname = "i3blocks"; + version = "unstable-2019-02-07"; - src = fetchurl { - url = "https://github.com/vivien/i3blocks/releases/download/${version}/${name}.tar.gz"; - sha256 = "c64720057e22cc7cac5e8fcd58fd37e75be3a7d5a3cb8995841a7f18d30c0536"; + src = fetchFromGitHub { + owner = "vivien"; + repo = "i3blocks"; + rev = "ec050e79ad8489a6f8deb37d4c20ab10729c25c3"; + sha256 = "1fx4230lmqa5rpzph68dwnpcjfaaqv5gfkradcr85hd1z8d1qp1b"; }; - buildFlags = "SYSCONFDIR=/etc all"; - installFlags = "PREFIX=\${out} VERSION=${version}"; - - buildInputs = optional (contains_any scripts perlscripts) perl; - nativeBuildInputs = [ makeWrapper ]; - - postFixup = '' - wrapProgram $out/libexec/i3blocks/bandwidth \ - --prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute)} - wrapProgram $out/libexec/i3blocks/battery \ - --prefix PATH : ${makeBinPath (optional (elem "battery" scripts) acpi)} - wrapProgram $out/libexec/i3blocks/cpu_usage \ - --prefix PATH : ${makeBinPath (optional (elem "cpu_usage" scripts) sysstat)} - wrapProgram $out/libexec/i3blocks/iface \ - --prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute)} - wrapProgram $out/libexec/i3blocks/keyindicator \ - --prefix PATH : ${makeBinPath (optional (elem "keyindicator" scripts) xset)} - wrapProgram $out/libexec/i3blocks/mediaplayer \ - --prefix PATH : ${makeBinPath (optionals (elem "mediaplayer" scripts) [playerctl cmus])} - wrapProgram $out/libexec/i3blocks/openvpn \ - --prefix PATH : ${makeBinPath (optional (elem "openvpn" scripts) openvpn)} - wrapProgram $out/libexec/i3blocks/temperature \ - --prefix PATH : ${makeBinPath (optional (elem "temperature" scripts) lm_sensors)} - wrapProgram $out/libexec/i3blocks/volume \ - --prefix PATH : ${makeBinPath (optional (elem "volume" scripts) alsaUtils)} - ''; + nativeBuildInputs = [ autoreconfHook ]; meta = { description = "A flexible scheduler for your i3bar blocks"; diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index 755d1cbf2df..31a96ba1788 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -4,12 +4,12 @@ , xorgserver, xvfb_run }: stdenv.mkDerivation rec { - name = "i3-${version}"; - version = "4.16.1"; + pname = "i3"; + version = "4.17"; src = fetchurl { - url = "https://i3wm.org/downloads/${name}.tar.bz2"; - sha256 = "0xl56y196vxv001gvx35xwfr25zah8m3xwizp9ycdgdc0rfc4rdb"; + url = "https://i3wm.org/downloads/${pname}-${version}.tar.bz2"; + sha256 = "1z8qmkkq9dhqmqy8sjw3rnpnmnb8v7lr456bs0qzp23bgpj17gjf"; }; nativeBuildInputs = [ which pkgconfig makeWrapper ]; @@ -58,7 +58,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A tiling window manager"; homepage = "https://i3wm.org"; - maintainers = with maintainers; [ garbas modulistic fpletz ]; + maintainers = with maintainers; [ modulistic fpletz globin ]; license = licenses.bsd3; platforms = platforms.all; diff --git a/pkgs/applications/window-managers/i3/easyfocus.nix b/pkgs/applications/window-managers/i3/easyfocus.nix index 7cdc8854951..9ce5486557a 100644 --- a/pkgs/applications/window-managers/i3/easyfocus.nix +++ b/pkgs/applications/window-managers/i3/easyfocus.nix @@ -2,15 +2,15 @@ , xorg , i3ipc-glib , glib }: -stdenv.mkDerivation rec { - name = "i3easyfocus-${version}"; - version = "20180622"; +stdenv.mkDerivation { + pname = "i3easyfocus"; + version = "20190411"; src = fetchFromGitHub { owner = "cornerman"; repo = "i3-easyfocus"; - rev = "3631d5af612d58c3d027f59c86b185590bd78ae1"; - sha256 = "1wgknmmm7iz0wxsdh29gmx4arizva9101pzhnmac30bmixf3nzhr"; + rev = "fffb468f7274f9d7c9b92867c8cb9314ec6cf81a"; + sha256 = "1db23vzzmp0hnfss1fkd80za6d2pajx7hdwikw50pk95jq0w8wfm"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/window-managers/i3/gaps.nix b/pkgs/applications/window-managers/i3/gaps.nix index f2dc023c81d..4d4ab6d96cc 100644 --- a/pkgs/applications/window-managers/i3/gaps.nix +++ b/pkgs/applications/window-managers/i3/gaps.nix @@ -3,12 +3,12 @@ i3.overrideAttrs (oldAttrs : rec { name = "i3-gaps-${version}"; - version = "4.16.1"; + version = "4.17"; releaseDate = "2019-01-27"; src = fetchurl { url = "https://github.com/Airblader/i3/archive/${version}.tar.gz"; - sha256 = "1jvyd8p8dfsidfy2yy7adydynzvaf72lx67x71r13hrk8w77hp0k"; + sha256 = "1vd2xv91xrcr07s2dywq9rvidqqmbs41hlvhcvr1927gz200vgjg"; }; nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ autoreconfHook ]; diff --git a/pkgs/applications/window-managers/i3/i3ipc-glib.nix b/pkgs/applications/window-managers/i3/i3ipc-glib.nix index 54f23831706..33aac1cf4b6 100644 --- a/pkgs/applications/window-managers/i3/i3ipc-glib.nix +++ b/pkgs/applications/window-managers/i3/i3ipc-glib.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { - name = "i3ipc-glib-${version}"; + pname = "i3ipc-glib"; version = "0.6.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/window-managers/i3/layout-manager.nix b/pkgs/applications/window-managers/i3/layout-manager.nix new file mode 100644 index 00000000000..afa14b48451 --- /dev/null +++ b/pkgs/applications/window-managers/i3/layout-manager.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub, vim, makeWrapper, jq, rofi, xrandr, xdotool, i3, gawk, libnotify }: + +let + path = stdenv.lib.makeBinPath [ vim jq rofi xrandr xdotool i3 gawk libnotify ]; +in + +stdenv.mkDerivation rec { + pname = "i3-layout-manager"; + version = "unstable-2019-06-19"; + + src = fetchFromGitHub { + owner = "klaxalk"; + repo = pname; + rev = "80ade872bfd70d9c6039024097ceb8c852a2816a"; + sha256 = "02xhyd737qwni628mjzr9i5v2kga5cq4k8m77bxm1p6kkj84nlmg"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + dontBuild = true; + + installPhase = '' + runHook preInstall + + install -D layout_manager.sh $out/bin/layout_manager + wrapProgram $out/bin/layout_manager \ + --prefix PATH : "${path}" + + runHook postInstall + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/klaxalk/i3-layout-manager; + description = "Saving, loading and managing layouts for i3wm."; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ ma27 ]; + }; +} diff --git a/pkgs/applications/window-managers/i3/lock-color.nix b/pkgs/applications/window-managers/i3/lock-color.nix index 8c775833c28..2fb6fb44833 100644 --- a/pkgs/applications/window-managers/i3/lock-color.nix +++ b/pkgs/applications/window-managers/i3/lock-color.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { version = "2.12.c"; - name = "i3lock-color-${version}"; + pname = "i3lock-color"; src = fetchFromGitHub { owner = "PandorasFox"; @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { - keyboard-layout ''; homepage = https://github.com/PandorasFox/i3lock-color; - maintainers = with maintainers; [ garbas malyn ]; + maintainers = with maintainers; [ malyn ]; license = licenses.bsd3; # Needs the SSE2 instruction set. See upstream issue diff --git a/pkgs/applications/window-managers/i3/lock-fancy.nix b/pkgs/applications/window-managers/i3/lock-fancy.nix index a0e46c108b7..f6d797c98e1 100644 --- a/pkgs/applications/window-managers/i3/lock-fancy.nix +++ b/pkgs/applications/window-managers/i3/lock-fancy.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "i3lock is a bash script that takes a screenshot of the desktop, blurs the background and adds a lock icon and text."; homepage = https://github.com/meskarune/i3lock-fancy; - maintainers = with maintainers; [ garbas ]; + maintainers = with maintainers; [ ]; license = licenses.mit; platforms = platforms.linux; }; diff --git a/pkgs/applications/window-managers/i3/lock.nix b/pkgs/applications/window-managers/i3/lock.nix index d4bb3cdc1c2..3e976f8919f 100644 --- a/pkgs/applications/window-managers/i3/lock.nix +++ b/pkgs/applications/window-managers/i3/lock.nix @@ -1,18 +1,18 @@ { fetchurl, stdenv, which, pkgconfig, libxcb, xcbutilkeysyms, xcbutilimage, - pam, libX11, libev, cairo, libxkbcommon, libxkbfile }: + xcbutilxrm, pam, libX11, libev, cairo, libxkbcommon, libxkbfile }: stdenv.mkDerivation rec { - name = "i3lock-${version}"; - version = "2.10"; + pname = "i3lock"; + version = "2.12"; src = fetchurl { - url = "https://i3wm.org/i3lock/${name}.tar.bz2"; - sha256 = "1vn8828ih7mpdl58znfnzpdwdgwksq16rghm5qlppbbz66zk5sr9"; + url = "https://i3wm.org/i3lock/${pname}-${version}.tar.bz2"; + sha256 = "02dwaqxpclcwiwvpvq7zwz4sxcv9c15dbf17ifalj1p8djls3cnh"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ which libxcb xcbutilkeysyms xcbutilimage pam libX11 - libev cairo libxkbcommon libxkbfile ]; + buildInputs = [ which libxcb xcbutilkeysyms xcbutilimage xcbutilxrm + pam libX11 libev cairo libxkbcommon libxkbfile ]; makeFlags = "all"; installFlags = "PREFIX=\${out} SYSCONFDIR=\${out}/etc"; @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { for every keystroke. After entering your password, the screen is unlocked again. ''; homepage = https://i3wm.org/i3lock/; - maintainers = with maintainers; [ garbas malyn domenkozar ]; + maintainers = with maintainers; [ malyn domenkozar ]; license = licenses.bsd3; platforms = platforms.all; }; diff --git a/pkgs/applications/window-managers/i3/pystatus.nix b/pkgs/applications/window-managers/i3/pystatus.nix index 1fed92764c1..20ea0dd03cc 100644 --- a/pkgs/applications/window-managers/i3/pystatus.nix +++ b/pkgs/applications/window-managers/i3/pystatus.nix @@ -3,19 +3,18 @@ python3Packages.buildPythonApplication rec { # i3pystatus moved to rolling release: # https://github.com/enkore/i3pystatus/issues/584 - version = "unstable-2018-04-11"; + version = "unstable-2019-06-10"; pname = "i3pystatus"; - disabled = !python3Packages.isPy3k; src = fetchFromGitHub { owner = "enkore"; repo = "i3pystatus"; - rev = "3efbd56bb7a851f16173ec6f0eef472b6e96c7cc"; - sha256 = "0r4mc23chxlaym7jcjnflw7mn5nbw3q8q4ix0nim7lh98yfndd3b"; + rev = "56ce08d0ff8d5d64950d6b588ebede35a95e0ce2"; + sha256 = "12938860jbcly1xwhd71jvy2dff28pwv9kqh6mab1859148bzmcg"; }; - propagatedBuildInputs = with python3Packages; [ keyring colour netifaces praw psutil basiciw ] ++ + propagatedBuildInputs = with python3Packages; [ keyring colour netifaces psutil basiciw ] ++ [ libpulseaudio ] ++ extraLibs; libpulseaudioPath = stdenv.lib.makeLibraryPath [ libpulseaudio ]; @@ -44,4 +43,3 @@ python3Packages.buildPythonApplication rec { maintainers = [ maintainers.igsha ]; }; } - diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix index 178d111d79a..60edf05892d 100644 --- a/pkgs/applications/window-managers/i3/status-rust.nix +++ b/pkgs/applications/window-managers/i3/status-rust.nix @@ -1,17 +1,17 @@ { stdenv, rustPlatform, fetchFromGitHub, pkgconfig, dbus, libpulseaudio }: rustPlatform.buildRustPackage rec { - name = "i3status-rust-${version}"; - version = "0.9.0.2019-02-15"; + pname = "i3status-rust"; + version = "0.10.0"; src = fetchFromGitHub { owner = "greshake"; - repo = "i3status-rust"; - rev = "2dc958995834b529a245c22c510b57d5c928c747"; - sha256 = "091a2pqgkiwnya2xv5rw5sj730hf6lvkp2kk5midsa3wz2dfbc2j"; + repo = pname; + rev = "v${version}"; + sha256 = "0i1k884ha08w7r5q5z012q2w7hs333b3c18hkbrhamknpvy6c2i0"; }; - cargoSha256 = "06izzv86nkn1izapldysyryz9zvjxvq23c742z284bnxjfq5my6i"; + cargoSha256 = "1w43k3ld9ra7blbn593mpi8qg5pgcglwqwddkrb55yxnpnkaxvzy"; nativeBuildInputs = [ pkgconfig ]; @@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec { description = "Very resource-friendly and feature-rich replacement for i3status"; homepage = https://github.com/greshake/i3status-rust; license = licenses.gpl3; - maintainers = [ maintainers.backuitist ]; + maintainers = with maintainers; [ backuitist globin ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/window-managers/i3/status.nix b/pkgs/applications/window-managers/i3/status.nix index 65180846c64..17b147da1b2 100644 --- a/pkgs/applications/window-managers/i3/status.nix +++ b/pkgs/applications/window-managers/i3/status.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { meta = { description = "A tiling window manager"; homepage = https://i3wm.org; - maintainers = [ stdenv.lib.maintainers.garbas ]; + maintainers = [ ]; license = stdenv.lib.licenses.bsd3; platforms = stdenv.lib.platforms.all; }; diff --git a/pkgs/applications/window-managers/i3/wk-switch.nix b/pkgs/applications/window-managers/i3/wk-switch.nix index 39bd62cd5aa..5b1cdbe05f5 100644 --- a/pkgs/applications/window-managers/i3/wk-switch.nix +++ b/pkgs/applications/window-managers/i3/wk-switch.nix @@ -1,18 +1,17 @@ -{ stdenv, fetchFromGitHub, python2Packages }: +{ stdenv, fetchFromGitHub, python3Packages }: -python2Packages.buildPythonApplication rec { +python3Packages.buildPythonApplication rec { pname = "i3-wk-switch"; - version = "2017-08-21"; + version = "2019-05-10"; - # https://github.com/tmfink/i3-wk-switch/commit/484f840bc4c28ddc60fa3be81e2098f7689e78fb src = fetchFromGitHub { owner = "tmfink"; repo = pname; - rev = "484f840"; - sha256 = "0nrc13ld5bx07wrgnpzgpbaixb4rpi93xiapvyb8srd49fj9pcmb"; + rev = "05a2d5d35e9841d2a26630f1866fc0a0e8e708eb"; + sha256 = "0ln192abdqrrs7rdazp9acbji2y6pf68z2d1by4nf2q529dh24dc"; }; - propagatedBuildInputs = with python2Packages; [ i3-py ]; + propagatedBuildInputs = with python3Packages; [ i3ipc ]; dontBuild = true; doCheck = false; @@ -23,7 +22,7 @@ python2Packages.buildPythonApplication rec { ''; meta = with stdenv.lib; { - description = "XMonad-like workspace switching for i3"; + description = "XMonad-like workspace switching for i3 and sway"; maintainers = with maintainers; [ synthetica ]; platforms = platforms.linux; license = licenses.mit; diff --git a/pkgs/applications/window-managers/i3/wmfocus.nix b/pkgs/applications/window-managers/i3/wmfocus.nix index 546589623cb..b0012c587f6 100644 --- a/pkgs/applications/window-managers/i3/wmfocus.nix +++ b/pkgs/applications/window-managers/i3/wmfocus.nix @@ -1,12 +1,18 @@ { stdenv, fetchFromGitHub, rustPlatform, xorg, python3, pkgconfig, cairo, libxkbcommon }: -let + +rustPlatform.buildRustPackage rec { pname = "wmfocus"; - version = "1.0.2"; -in -rustPlatform.buildRustPackage { - inherit pname version; - name = "${pname}-${version}"; + version = "1.1.2"; + + src = fetchFromGitHub { + owner = "svenstaro"; + repo = pname; + rev = version; + sha256 = "0jx0h2zyghs3bp4sg8f3vk5rkyprz2dqfqs0v72vmkp3cvgzxbvs"; + }; + + cargoSha256 = "1xmc28ns59jcmnv17102s2084baxqdvi0ibbyqwb108385qnixzf"; nativeBuildInputs = [ python3 pkgconfig ]; buildInputs = [ cairo libxkbcommon xorg.xcbutilkeysyms ]; @@ -14,22 +20,10 @@ rustPlatform.buildRustPackage { # For now, this is the only available featureset. This is also why the file is # in the i3 folder, even though it might be useful for more than just i3 # users. - cargoBuildFlags = ["--features i3"]; - - src = fetchFromGitHub { - owner = "svenstaro"; - repo = pname; - rev = version; - sha256 = "14yxg2jiqx7gng677sbmvv0a0msb9wpvp3qh8h3nkq0vi17ds668"; - }; - - cargoSha256 = "0lwzw8gf970ybblaxxkwn3pxrncxp0hhvykffbzirs7fic4fnvsg"; + cargoBuildFlags = [ "--features i3" ]; meta = with stdenv.lib; { - description = '' - Tool that allows you to rapidly choose a specific window directly - without having to use the mouse or directional keyboard navigation. - ''; + description = "Visually focus windows by label"; maintainers = with maintainers; [ synthetica ]; platforms = platforms.linux; license = licenses.mit; diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix index 8406736541c..71a4ec3549a 100644 --- a/pkgs/applications/window-managers/icewm/default.nix +++ b/pkgs/applications/window-managers/icewm/default.nix @@ -1,18 +1,18 @@ { stdenv, fetchurl, cmake, gettext , libjpeg, libtiff, libungif, libpng, imlib, expat -, freetype, fontconfig, pkgconfig, gdk_pixbuf +, freetype, fontconfig, pkgconfig, gdk-pixbuf , mkfontdir, libX11, libXft, libXext, libXinerama , libXrandr, libICE, libSM, libXpm, libXdmcp, libxcb , libpthreadstubs, pcre }: with stdenv.lib; stdenv.mkDerivation rec { - name = "icewm-${version}"; + pname = "icewm"; version = "1.4.2"; buildInputs = [ cmake gettext libjpeg libtiff libungif libpng imlib expat - freetype fontconfig pkgconfig gdk_pixbuf mkfontdir libX11 + freetype fontconfig pkgconfig gdk-pixbuf mkfontdir libX11 libXft libXext libXinerama libXrandr libICE libSM libXpm libXdmcp libxcb libpthreadstubs pcre ]; diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix index 6a7c1436b09..3668b344be5 100644 --- a/pkgs/applications/window-managers/jwm/default.nix +++ b/pkgs/applications/window-managers/jwm/default.nix @@ -4,7 +4,7 @@ librsvg, freetype, fontconfig }: stdenv.mkDerivation rec { - name = "jwm-${version}"; + pname = "jwm"; version = "1685"; src = fetchFromGitHub { diff --git a/pkgs/applications/window-managers/jwm/jwm-settings-manager.nix b/pkgs/applications/window-managers/jwm/jwm-settings-manager.nix index 3b764e7095b..7df2847669f 100644 --- a/pkgs/applications/window-managers/jwm/jwm-settings-manager.nix +++ b/pkgs/applications/window-managers/jwm/jwm-settings-manager.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, gettext, libXpm, libGL, fltk, hicolor-icon-theme, glib, gnome2, which }: stdenv.mkDerivation rec { - name = "jwm-settings-manager-${version}"; + pname = "jwm-settings-manager"; version = "2018-10-19"; src = fetchFromGitHub { diff --git a/pkgs/applications/window-managers/leftwm/cargo-lock.patch b/pkgs/applications/window-managers/leftwm/cargo-lock.patch new file mode 100644 index 00000000000..92588eb2fdb --- /dev/null +++ b/pkgs/applications/window-managers/leftwm/cargo-lock.patch @@ -0,0 +1,1483 @@ +--- /dev/null 2019-05-17 17:44:26.875442706 +0200 ++++ b/Cargo.lock 2019-05-17 18:30:29.490608288 +0200 +@@ -0,0 +1,1480 @@ ++# This file is automatically @generated by Cargo. ++# It is not intended for manual editing. ++[[package]] ++name = "aho-corasick" ++version = "0.7.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "ansi_term" ++version = "0.11.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "anymap" ++version = "0.12.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "argon2rs" ++version = "0.2.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", ++ "scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "arrayvec" ++version = "0.4.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "atty" ++version = "0.2.11" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "autocfg" ++version = "0.1.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "backtrace" ++version = "0.3.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", ++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "backtrace-sys" ++version = "0.1.28" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)", ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "bitflags" ++version = "1.0.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "blake2-rfc" ++version = "0.2.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", ++ "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "block-buffer" ++version = "0.7.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ++ "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "block-padding" ++version = "0.1.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "byte-tools" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "byteorder" ++version = "1.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "bytes" ++version = "0.4.12" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "cc" ++version = "1.0.37" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "cfg-if" ++version = "0.1.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "chrono" ++version = "0.4.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", ++ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "clap" ++version = "2.33.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", ++ "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "cloudabi" ++version = "0.0.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "constant_time_eq" ++version = "0.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "crossbeam-deque" ++version = "0.7.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "crossbeam-epoch" ++version = "0.7.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", ++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ++ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "crossbeam-queue" ++version = "0.1.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "crossbeam-utils" ++version = "0.6.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "deunicode" ++version = "1.0.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "digest" ++version = "0.8.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "dirs" ++version = "1.0.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "redox_users 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "either" ++version = "1.5.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "env_logger" ++version = "0.6.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ++ "humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "failure" ++version = "0.1.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "backtrace 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)", ++ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "failure_derive" ++version = "0.1.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", ++ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)", ++ "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "fake-simd" ++version = "0.1.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "fnv" ++version = "1.0.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "fuchsia-cprng" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "fuchsia-zircon" ++version = "0.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", ++ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "fuchsia-zircon-sys" ++version = "0.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "futures" ++version = "0.1.27" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "generic-array" ++version = "0.12.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "humantime" ++version = "1.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "idna" ++version = "0.1.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", ++ "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ++ "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "iovec" ++version = "0.1.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "itertools" ++version = "0.8.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "itoa" ++version = "0.4.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "kernel32-sys" ++version = "0.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "lazy_static" ++version = "1.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "leftwm" ++version = "0.1.9" ++dependencies = [ ++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++ "liquid 0.18.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", ++ "serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", ++ "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", ++ "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", ++ "x11-dl 2.18.3 (registry+https://github.com/rust-lang/crates.io-index)", ++ "xdg 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "libc" ++version = "0.2.55" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "liquid" ++version = "0.18.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "deunicode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "liquid-compiler 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "liquid-error 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "liquid-interpreter 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "liquid-value 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", ++ "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "liquid-compiler" ++version = "0.18.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "liquid-error 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "liquid-interpreter 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "liquid-value 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "pest 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "liquid-error" ++version = "0.18.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "liquid-interpreter" ++version = "0.18.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "anymap 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "liquid-error 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "liquid-value 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "liquid-value" ++version = "0.18.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "liquid-error 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "lock_api" ++version = "0.1.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "log" ++version = "0.4.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "maplit" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "matches" ++version = "0.1.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "memchr" ++version = "2.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "memoffset" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "mio" ++version = "0.6.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ++ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ++ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", ++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "mio-uds" ++version = "0.6.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "miow" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ++ "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "net2" ++version = "0.2.33" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "nodrop" ++version = "0.1.13" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "num-integer" ++version = "0.1.39" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "num-traits" ++version = "0.2.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "num_cpus" ++version = "1.10.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "numtoa" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "opaque-debug" ++version = "0.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "owning_ref" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "parking_lot" ++version = "0.7.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "parking_lot_core" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ++ "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "percent-encoding" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "pest" ++version = "2.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "ucd-trie 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "pest_derive" ++version = "2.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "pest 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "pest_generator 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "pest_generator" ++version = "2.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "pest 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "pest_meta 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", ++ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "pest_meta" ++version = "2.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "pest 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "pkg-config" ++version = "0.3.14" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "proc-macro2" ++version = "0.4.30" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "quick-error" ++version = "1.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "quote" ++version = "0.6.12" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "rand" ++version = "0.6.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "rand_chacha" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "rand_core" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "rand_core" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "rand_hc" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "rand_isaac" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "rand_jitter" ++version = "0.1.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "rand_os" ++version = "0.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", ++ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "rand_pcg" ++version = "0.1.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "rand_xorshift" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "rdrand" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "redox_syscall" ++version = "0.1.54" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "redox_termios" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "redox_users" ++version = "0.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ++ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "regex" ++version = "1.1.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", ++ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "regex-syntax" ++version = "0.6.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "rustc-demangle" ++version = "0.1.14" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "rustc_version" ++version = "0.2.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "ryu" ++version = "0.2.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "scoped_threadpool" ++version = "0.1.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "scopeguard" ++version = "0.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "semver" ++version = "0.9.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "semver-parser" ++version = "0.7.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "serde" ++version = "1.0.91" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "serde_derive" ++version = "1.0.91" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", ++ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "serde_json" ++version = "1.0.39" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", ++ "ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ++ "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "sha-1" ++version = "0.8.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", ++ "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "slab" ++version = "0.4.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "smallvec" ++version = "0.6.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "stable_deref_trait" ++version = "1.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "strsim" ++version = "0.8.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "syn" ++version = "0.15.34" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", ++ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "synstructure" ++version = "0.10.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", ++ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)", ++ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "termcolor" ++version = "1.0.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "termion" ++version = "1.5.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)", ++ "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "textwrap" ++version = "0.11.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "thread_local" ++version = "0.3.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "time" ++version = "0.1.42" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio" ++version = "0.1.20" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++ "mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)", ++ "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-sync 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-threadpool 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-trace-core 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-udp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio-codec" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio-current-thread" ++version = "0.1.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio-executor" ++version = "0.1.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio-fs" ++version = "0.1.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-threadpool 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio-io" ++version = "0.1.12" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio-reactor" ++version = "0.1.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)", ++ "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-sync 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio-sync" ++version = "0.1.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio-tcp" ++version = "0.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio-threadpool" ++version = "0.1.14" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio-timer" ++version = "0.2.11" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio-trace-core" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio-udp" ++version = "0.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "tokio-uds" ++version = "0.2.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", ++ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)", ++ "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ++ "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "toml" ++version = "0.4.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "typenum" ++version = "1.10.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "ucd-trie" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "ucd-util" ++version = "0.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "unicode-bidi" ++version = "0.3.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "unicode-normalization" ++version = "0.1.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "unicode-segmentation" ++version = "1.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "unicode-width" ++version = "0.1.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "unicode-xid" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "url" ++version = "1.7.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", ++ "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "utf8-ranges" ++version = "1.0.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "uuid" ++version = "0.7.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", ++ "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "vec_map" ++version = "0.8.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "winapi" ++version = "0.2.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "winapi" ++version = "0.3.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "winapi-build" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "winapi-i686-pc-windows-gnu" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "winapi-util" ++version = "0.1.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "winapi-x86_64-pc-windows-gnu" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[[package]] ++name = "wincolor" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "ws2_32-sys" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ++ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "x11-dl" ++version = "2.18.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++dependencies = [ ++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", ++ "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ++] ++ ++[[package]] ++name = "xdg" ++version = "2.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++ ++[metadata] ++"checksum aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f484ae0c99fec2e858eb6134949117399f222608d84cadb3f58c1f97c2364c" ++"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" ++"checksum anymap 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "33954243bd79057c2de7338850b85983a44588021f8a5fee574a8888c6de4344" ++"checksum argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3f67b0b6a86dae6e67ff4ca2b6201396074996379fba2b92ff649126f37cb392" ++"checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71" ++"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" ++"checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799" ++"checksum backtrace 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)" = "f92d5d536fa03dc3d93711d97bac1fae2eb59aba467ca4c6600c0119da614f51" ++"checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6" ++"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" ++"checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" ++"checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" ++"checksum block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6d4dc3af3ee2e12f3e5d224e5e1e3d73668abbeb69e566d361f7d5563a4fdf09" ++"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" ++"checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb" ++"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" ++"checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d" ++"checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33" ++"checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878" ++"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9" ++"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" ++"checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e" ++"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71" ++"checksum crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "04c9e3102cc2d69cd681412141b390abd55a362afc1540965dad0ad4d34280b4" ++"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b" ++"checksum crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f8306fcef4a7b563b76b7dd949ca48f52bc1141aa067d2ea09565f3e2652aa5c" ++"checksum deunicode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca8a0f5bbdedde60605d0719b998e282af68e2b1c50203110211fe4abe857560" ++"checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c" ++"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" ++"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b" ++"checksum env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b61fa891024a945da30a9581546e8cfaf5602c7b3f4c137a2805cf388f92075a" ++"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2" ++"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" ++"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" ++"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" ++"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" ++"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" ++"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" ++"checksum futures 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)" = "a2037ec1c6c1c4f79557762eab1f7eae1f64f6cb418ace90fae88f0942b60139" ++"checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592" ++"checksum humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114" ++"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" ++"checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" ++"checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358" ++"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" ++"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" ++"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" ++"checksum libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "42914d39aad277d9e176efbdad68acb1d5443ab65afe0e0e4f0d49352a950880" ++"checksum liquid 0.18.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e1d91078b50038dba2539ec474656192a0c83b4802e999e5ee334bf198a8120c" ++"checksum liquid-compiler 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d6b581cfb0437adeb4628cceafed44441d0a4a5c858ab169ec932ba4b4fda815" ++"checksum liquid-error 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76119f2171687b188d7b953627ae924ca0556499b0bd20099ee5f2dea8e8969b" ++"checksum liquid-interpreter 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0cc07e0e8d8b87a34579e42644ac63e290989d4e0539b79993979163bb43ea7b" ++"checksum liquid-value 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)" = "21caa8903eae7cd9f5918d85d99a06e2a21528fcf6e3da33a7b319d03b81d87c" ++"checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" ++"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" ++"checksum maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08cbb6b4fef96b6d77bfc40ec491b1690c779e77b05cd9f07f787ed376fd4c43" ++"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" ++"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39" ++"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" ++"checksum mio 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)" = "049ba5ca2b63e837adeee724aa9e36b408ed593529dcc802aa96ca14bd329bdf" ++"checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125" ++"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" ++"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" ++"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" ++"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea" ++"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1" ++"checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba" ++"checksum numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef" ++"checksum opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "93f5bb2e8e8dec81642920ccff6b61f1eb94fa3020c5a325c9851ff604152409" ++"checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" ++"checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" ++"checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" ++"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" ++"checksum pest 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "933085deae3f32071f135d799d75667b63c8dc1f4537159756e3d4ceab41868c" ++"checksum pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" ++"checksum pest_generator 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "63120576c4efd69615b5537d3d052257328a4ca82876771d6944424ccfd9f646" ++"checksum pest_meta 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f249ea6de7c7b7aba92b4ff4376a994c6dbd98fd2166c89d5c4947397ecb574d" ++"checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c" ++"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" ++"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" ++"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db" ++"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" ++"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" ++"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" ++"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0" ++"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" ++"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" ++"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" ++"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" ++"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" ++"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" ++"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" ++"checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252" ++"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" ++"checksum redox_users 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe5204c3a17e97dde73f285d49be585df59ed84b50a872baf416e73b62c3828" ++"checksum regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8f0a0bcab2fd7d1d7c54fa9eae6f43eddeb9ce2e7352f8518a814a4f65d60c58" ++"checksum regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "dcfd8681eebe297b81d98498869d4aae052137651ad7b96822f09ceb690d0a96" ++"checksum rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "ccc78bfd5acd7bf3e89cffcf899e5cb1a52d6fafa8dec2739ad70c9577a57288" ++"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" ++"checksum ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "b96a9549dc8d48f2c283938303c4b5a77aa29bfbc5b54b084fb1630408899a8f" ++"checksum scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8" ++"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" ++"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" ++"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" ++"checksum serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)" = "a72e9b96fa45ce22a4bc23da3858dfccfd60acd28a25bcd328a98fdd6bea43fd" ++"checksum serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)" = "101b495b109a3e3ca8c4cbe44cf62391527cdfb6ba15821c5ce80bcd5ea23f9f" ++"checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d" ++"checksum sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "23962131a91661d643c98940b20fcaffe62d776a823247be80a48fcb8b6fce68" ++"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" ++"checksum smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be" ++"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" ++"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" ++"checksum syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)" = "a1393e4a97a19c01e900df2aec855a29f71cf02c402e2f443b8d2747c25c5dbe" ++"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f" ++"checksum termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4096add70612622289f2fdcdbd5086dc81c1e2675e6ae58d6c4f62a16c6d7f2f" ++"checksum termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dde0593aeb8d47accea5392b39350015b5eccb12c0d98044d856983d89548dea" ++"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" ++"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" ++"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" ++"checksum tokio 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)" = "94a1f9396aec29d31bb16c24d155cfa144d1af91c40740125db3131bdaf76da8" ++"checksum tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f" ++"checksum tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443" ++"checksum tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "83ea44c6c0773cc034771693711c35c677b4b5a4b21b9e7071704c54de7d555e" ++"checksum tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe6dc22b08d6993916647d108a1a7d15b9cd29c4f4496c62b92c45b5041b7af" ++"checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926" ++"checksum tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6af16bfac7e112bea8b0442542161bfc41cbfa4466b580bdda7d18cb88b911ce" ++"checksum tokio-sync 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "5b2f843ffdf8d6e1f90bddd48da43f99ab071660cd92b7ec560ef3cdfd7a409a" ++"checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119" ++"checksum tokio-threadpool 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72558af20be886ea124595ea0f806dd5703b8958e4705429dd58b3d8231f72f2" ++"checksum tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "f2106812d500ed25a4f38235b9cae8f78a09edf43203e16e59c3b769a342a60e" ++"checksum tokio-trace-core 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "350c9edade9830dc185ae48ba45667a445ab59f6167ef6d0254ec9d2430d9dd3" ++"checksum tokio-udp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "66268575b80f4a4a710ef83d087fdfeeabdce9b74c797535fbac18a2cb906e92" ++"checksum tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "037ffc3ba0e12a0ab4aca92e5234e0dedeb48fddf6ccd260f1f150a36a9f2445" ++"checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f" ++"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" ++"checksum ucd-trie 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "71a9c5b1fe77426cf144cc30e49e955270f5086e31a6441dfa8b32efc09b9d77" ++"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86" ++"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" ++"checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426" ++"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9" ++"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526" ++"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" ++"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" ++"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737" ++"checksum uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a" ++"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" ++"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" ++"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770" ++"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" ++"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" ++"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9" ++"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" ++"checksum wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "561ed901ae465d6185fa7864d63fbd5720d0ef718366c9a4dc83cf6170d7e9ba" ++"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" ++"checksum x11-dl 2.18.3 (registry+https://github.com/rust-lang/crates.io-index)" = "940586acb859ea05c53971ac231685799a7ec1dee66ac0bccc0e6ad96e06b4e3" ++"checksum xdg 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d089681aa106a86fade1b0128fb5daf07d5867a509ab036d99988dec80429a57" diff --git a/pkgs/applications/window-managers/leftwm/default.nix b/pkgs/applications/window-managers/leftwm/default.nix new file mode 100644 index 00000000000..574e42cc848 --- /dev/null +++ b/pkgs/applications/window-managers/leftwm/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, rustPlatform, libX11, libXinerama, makeWrapper }: + +let + rpath = stdenv.lib.makeLibraryPath [ libXinerama libX11 ]; +in + +rustPlatform.buildRustPackage rec { + pname = "leftwm"; + version = "0.1.9"; + + src = fetchFromGitHub { + owner = "leftwm"; + repo = "leftwm"; + rev = "${version}"; + sha256 = "0ji7m2npkdg27gm33b19rxr50km0gm1h9czi1f425vxq65mlkl4y"; + }; + + buildInputs = [ makeWrapper libX11 libXinerama ]; + + postInstall = '' + wrapProgram $out/bin/leftwm --prefix LD_LIBRARY_PATH : "${rpath}" + wrapProgram $out/bin/leftwm-state --prefix LD_LIBRARY_PATH : "${rpath}" + wrapProgram $out/bin/leftwm-worker --prefix LD_LIBRARY_PATH : "${rpath}" + ''; + + cargoSha256 = "0mpvfix7bvc84vanha474l4gaq97ac1zy5l77z83m9jg0246yxd6"; + + # https://github.com/leftwm/leftwm/pull/37 + cargoPatches = [ ./cargo-lock.patch ]; + + meta = { + description = "Leftwm - A tiling window manager for the adventurer"; + homepage = https://github.com/leftwm/leftwm; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ mschneider ]; + }; +} diff --git a/pkgs/applications/window-managers/matchbox/default.nix b/pkgs/applications/window-managers/matchbox/default.nix index 635265b04ab..3c537d6c931 100644 --- a/pkgs/applications/window-managers/matchbox/default.nix +++ b/pkgs/applications/window-managers/matchbox/default.nix @@ -1,11 +1,12 @@ -{ stdenv, fetchurl, libmatchbox, pkgconfig}: +{ stdenv, fetchurl, pkgconfig, libmatchbox, libX11, libXext }: stdenv.mkDerivation rec { - name = "matchbox-${version}"; + pname = "matchbox"; version = "1.2"; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libmatchbox ]; + NIX_LDFLAGS = "-lX11 -L${libX11}/lib -lXext -L${libXext}/lib"; src = fetchurl { url = "https://downloads.yoctoproject.org/releases/matchbox/matchbox-window-manager/${version}/matchbox-window-manager-${version}.tar.bz2"; @@ -14,7 +15,7 @@ stdenv.mkDerivation rec { meta = { description = "X window manager for non-desktop embedded systems"; - homepage = http://matchbox-project.org/; + homepage = "https://www.yoctoproject.org/software-item/matchbox/"; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.linux; }; diff --git a/pkgs/applications/window-managers/neocomp/default.nix b/pkgs/applications/window-managers/neocomp/default.nix new file mode 100644 index 00000000000..026ee2e1287 --- /dev/null +++ b/pkgs/applications/window-managers/neocomp/default.nix @@ -0,0 +1,85 @@ +{ stdenv +, fetchFromGitHub +, asciidoc +, docbook_xml_dtd_45 +, docbook_xsl +, freetype +, judy +, libGL +, libconfig +, libdrm +, libxml2 +, libxslt +, libXcomposite +, libXdamage +, libXext +, libXinerama +, libXrandr +, libXrender +, pcre +, pkgconfig +}: +let + rev = "v0.6-17-g271e784"; +in +stdenv.mkDerivation rec { + pname = "neocomp-unstable"; + version = "2019-03-12"; + + src = fetchFromGitHub { + inherit rev; + owner = "DelusionalLogic"; + repo = "NeoComp"; + sha256 = "1mp338vz1jm5pwf7pi5azx4hzykmvpkwzx1kw6a9anj272f32zpg"; + }; + + buildInputs = [ + asciidoc + docbook_xml_dtd_45 + docbook_xsl + freetype + judy + libGL + libconfig + libdrm + libxml2 + libxslt + libXcomposite + libXdamage + libXext + libXinerama + libXrandr + libXrender + pcre + pkgconfig + ]; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + "CFGDIR=${placeholder "out"}/etc/xdg/neocomp" + "ASTDIR=${placeholder "out"}/share/neocomp/assets" + "COMPTON_VERSION=git-${rev}-${version}" + ]; + + postPatch = '' + substituteInPlace src/compton.c --replace \ + "assets_add_path(\"./assets/\");" \ + "assets_add_path(\"$out/share/neocomp/assets/\");" + substituteInPlace src/assets/assets.c --replace \ + "#define MAX_PATH_LENGTH 64" \ + "#define MAX_PATH_LENGTH 128" + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/DelusionalLogic/NeoComp; + license = licenses.gpl3; + maintainers = with maintainers; [ twey ]; + platforms = platforms.linux; + description = "A fork of Compton, a compositor for X11"; + longDescription = '' + NeoComp is a (hopefully) fast and (hopefully) simple compositor + for X11, focused on delivering frames from the window to the + framebuffer as quickly as possible. + ''; + }; +} diff --git a/pkgs/applications/window-managers/openbox/default.nix b/pkgs/applications/window-managers/openbox/default.nix index 8c6926dd2c6..c8d526b6d28 100644 --- a/pkgs/applications/window-managers/openbox/default.nix +++ b/pkgs/applications/window-managers/openbox/default.nix @@ -3,7 +3,7 @@ , imlib2, pango, libstartup_notification, makeWrapper }: stdenv.mkDerivation rec { - name = "openbox-${version}"; + pname = "openbox"; version = "3.6.1"; nativeBuildInputs = [ @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ]; src = fetchurl { - url = "http://openbox.org/dist/openbox/${name}.tar.gz"; + url = "http://openbox.org/dist/openbox/${pname}-${version}.tar.gz"; sha256 = "1xvyvqxlhy08n61rjkckmrzah2si1i7nmc7s8h07riqq01vc0jlb"; }; diff --git a/pkgs/applications/window-managers/orbment/bemenu.nix b/pkgs/applications/window-managers/orbment/bemenu.nix deleted file mode 100644 index 065b81948c2..00000000000 --- a/pkgs/applications/window-managers/orbment/bemenu.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig -, pango, wayland, libxkbcommon }: - -stdenv.mkDerivation rec { - name = "bemenu-2017-02-14"; - - src = fetchFromGitHub { - owner = "Cloudef"; - repo = "bemenu"; - rev = "d6261274cf0b3aa51ce8ea7418a79495b20ad558"; - sha256 = "08bc623y5yjbz7q83lhl6rb0xs6ji17z79c260bx0fgin8sfj5x8"; - }; - - nativeBuildInputs = [ cmake pkgconfig ]; - - buildInputs = [ pango wayland libxkbcommon ]; - - enableParallelBuilding = true; - - meta = with stdenv.lib; { - description = "A dynamic menu library and client program inspired by dmenu"; - homepage = src.meta.homepage; - license = with licenses; [ gpl3 lgpl3 ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/window-managers/orbment/default.nix b/pkgs/applications/window-managers/orbment/default.nix deleted file mode 100644 index 6bf6f44d423..00000000000 --- a/pkgs/applications/window-managers/orbment/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ lib, stdenv, fetchgit, cmake, pkgconfig, makeWrapper, callPackage -, wlc, dbus, wayland, libxkbcommon, pixman, libinput, udev, zlib, libpng -, libdrm, libX11 -, westonLite -}: - -let - bemenu = callPackage ./bemenu.nix {}; -in stdenv.mkDerivation rec { - name = "orbment-${version}"; - version = "git-2016-08-13"; - - src = fetchgit { - url = "https://github.com/Cloudef/orbment"; - rev = "01dcfff9719e20261a6d8c761c0cc2f8fa0d0de5"; - sha256 = "04mv9nh847vijr01zrs47fzmnwfhdx09vi3ddv843mx10yx7lqdb"; - fetchSubmodules = true; - }; - - nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; - - buildInputs = [ - wlc dbus wayland libxkbcommon pixman libinput udev zlib libpng libX11 - libdrm - ]; - - postFixup = '' - wrapProgram $out/bin/orbment \ - --prefix PATH : "${stdenv.lib.makeBinPath [ bemenu westonLite ]}" - ''; - - enableParallelBuilding = true; - - meta = { - description = "Modular Wayland compositor"; - homepage = src.url; - license = lib.licenses.mit; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ ]; - }; -} diff --git a/pkgs/applications/window-managers/oroborus/default.nix b/pkgs/applications/window-managers/oroborus/default.nix index 00ff6252010..d449fc91c0d 100644 --- a/pkgs/applications/window-managers/oroborus/default.nix +++ b/pkgs/applications/window-managers/oroborus/default.nix @@ -7,7 +7,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "oroborus-${version}"; + pname = "oroborus"; version = "2.0.20"; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/window-managers/pekwm/default.nix b/pkgs/applications/window-managers/pekwm/default.nix index b2677218e85..38255dce722 100644 --- a/pkgs/applications/window-managers/pekwm/default.nix +++ b/pkgs/applications/window-managers/pekwm/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { - name = "pekwm-${version}"; + pname = "pekwm"; version = "0.1.17"; src = fetchurl { - url = "https://www.pekwm.org/projects/pekwm/files/${name}.tar.bz2"; + url = "https://www.pekwm.org/projects/pekwm/files/${pname}-${version}.tar.bz2"; sha256 = "003x6bxj1lb2ljxz3v414bn0rdl6z68c0r185fxwgs1qkyzx67wa"; }; diff --git a/pkgs/applications/window-managers/ratpoison/default.nix b/pkgs/applications/window-managers/ratpoison/default.nix index 0a1a095e0ce..11a69020ee6 100644 --- a/pkgs/applications/window-managers/ratpoison/default.nix +++ b/pkgs/applications/window-managers/ratpoison/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "ratpoison-${version}"; + pname = "ratpoison"; version = "1.4.9"; src = fetchurl { - url = "mirror://savannah/ratpoison/${name}.tar.xz"; + url = "mirror://savannah/ratpoison/${pname}-${version}.tar.xz"; sha256 = "1wfir1gvh5h7izgvx2kd1pr2k7wlncd33zq7qi9s9k2y0aza93yr"; }; diff --git a/pkgs/applications/window-managers/sawfish/default.nix b/pkgs/applications/window-managers/sawfish/default.nix index 887a58b748d..f9bcb28e455 100644 --- a/pkgs/applications/window-managers/sawfish/default.nix +++ b/pkgs/applications/window-managers/sawfish/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl , pkgconfig, which, autoreconfHook -, rep-gtk, pango, gdk_pixbuf +, rep-gtk, pango, gdk-pixbuf , imlib, gettext, texinfo , libXinerama, libXrandr, libXtst, libICE, libSM , makeWrapper @@ -10,7 +10,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "sawfish-${version}"; + pname = "sawfish"; version = "1.12.90"; sourceName = "sawfish_${version}"; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkgconfig ]; buildInputs = [ which - rep-gtk pango gdk_pixbuf imlib gettext texinfo + rep-gtk pango gdk-pixbuf imlib gettext texinfo libXinerama libXrandr libXtst libICE libSM makeWrapper ]; diff --git a/pkgs/applications/window-managers/spectrwm/default.nix b/pkgs/applications/window-managers/spectrwm/default.nix index 81901be0e60..7233ff2410b 100644 --- a/pkgs/applications/window-managers/spectrwm/default.nix +++ b/pkgs/applications/window-managers/spectrwm/default.nix @@ -13,7 +13,7 @@ }: stdenv.mkDerivation rec { - name = "spectrwm-${version}"; + pname = "spectrwm"; version = "2.7.2"; src = fetchurl { diff --git a/pkgs/applications/window-managers/stalonetray/default.nix b/pkgs/applications/window-managers/stalonetray/default.nix index 64fa600765b..f0f724d6cf0 100644 --- a/pkgs/applications/window-managers/stalonetray/default.nix +++ b/pkgs/applications/window-managers/stalonetray/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libX11, xorgproto }: stdenv.mkDerivation rec { - name = "stalonetray-${version}"; + pname = "stalonetray"; version = "0.8.3"; src = fetchurl { - url = "mirror://sourceforge/stalonetray/${name}.tar.bz2"; + url = "mirror://sourceforge/stalonetray/${pname}-${version}.tar.bz2"; sha256 = "0k7xnpdb6dvx25d67v0crlr32cdnzykdsi9j889njiididc8lm1n"; }; diff --git a/pkgs/applications/window-managers/stumpish/default.nix b/pkgs/applications/window-managers/stumpish/default.nix index bccb49ff4d5..a6f2961ed3f 100644 --- a/pkgs/applications/window-managers/stumpish/default.nix +++ b/pkgs/applications/window-managers/stumpish/default.nix @@ -1,9 +1,8 @@ -{ stdenv, substituteAll, fetchurl, fetchFromGitHub, bash, gnused, ncurses, xorg, rlwrap }: +{ stdenv, substituteAll, fetchFromGitHub, gnused, ncurses, xorg, rlwrap }: stdenv.mkDerivation rec { pname = "stumpish"; version = "0.0.1"; - name = "${pname}-${version}"; src = fetchFromGitHub { owner = "stumpwm"; diff --git a/pkgs/applications/window-managers/sway/beta.nix b/pkgs/applications/window-managers/sway/beta.nix deleted file mode 100644 index 155b26e0987..00000000000 --- a/pkgs/applications/window-managers/sway/beta.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ stdenv, fetchFromGitHub -, meson, ninja -, pkgconfig, scdoc -, wayland, libxkbcommon, pcre, json_c, dbus, libevdev -, pango, cairo, libinput, libcap, pam, gdk_pixbuf -, wlroots, wayland-protocols -, buildDocs ? true -}: - -stdenv.mkDerivation rec { - name = "${pname}-${version}"; - pname = "sway"; - version = "1.0-rc3"; - - src = fetchFromGitHub { - owner = "swaywm"; - repo = "sway"; - rev = version; - sha256 = "1ixwc1bg725x68qr84s8a5i4rlzc4svc52jgdw1yl5bgr6l1k5zc"; - }; - - postPatch = '' - sed -iE "s/version: '1.0',/version: '${version}',/" meson.build - ''; - - nativeBuildInputs = [ - pkgconfig meson ninja - ] ++ stdenv.lib.optional buildDocs scdoc; - - buildInputs = [ - wayland libxkbcommon pcre json_c dbus libevdev - pango cairo libinput libcap pam gdk_pixbuf - wlroots wayland-protocols - ]; - - enableParallelBuilding = true; - - mesonFlags = [ - "-Dxwayland=enabled" "-Dgdk-pixbuf=enabled" - "-Dtray=enabled" - ] ++ stdenv.lib.optional buildDocs "-Dman-pages=enabled"; - - meta = with stdenv.lib; { - description = "i3-compatible window manager for Wayland"; - homepage = https://swaywm.org; - license = licenses.mit; - platforms = platforms.linux; - maintainers = with maintainers; [ primeos synthetica ]; # Trying to keep it up-to-date. - }; -} diff --git a/pkgs/applications/window-managers/sway/bg.nix b/pkgs/applications/window-managers/sway/bg.nix new file mode 100644 index 00000000000..86301492c46 --- /dev/null +++ b/pkgs/applications/window-managers/sway/bg.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub +, meson, ninja, pkgconfig, scdoc +, wayland, wayland-protocols, cairo, gdk-pixbuf +}: + +stdenv.mkDerivation rec { + pname = "swaybg"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "swaywm"; + repo = "swaybg"; + rev = version; + sha256 = "1lmqz5bmig90gq2m7lwf02d2g7z4hzf8fhqz78c8vk92c6p4xwbc"; + }; + + nativeBuildInputs = [ meson ninja pkgconfig scdoc ]; + buildInputs = [ wayland wayland-protocols cairo gdk-pixbuf ]; + + mesonFlags = [ + "-Dgdk-pixbuf=enabled" "-Dman-pages=enabled" + ]; + + meta = with stdenv.lib; { + description = "Wallpaper tool for Wayland compositors"; + longDescription = '' + A wallpaper utility for Wayland compositors, that is compatible with any + Wayland compositor which implements the following Wayland protocols: + wlr-layer-shell, xdg-output, and xdg-shell. + ''; + inherit (src.meta) homepage; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ primeos ]; + }; +} diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix index fb30f0073bf..215a576a578 100644 --- a/pkgs/applications/window-managers/sway/default.nix +++ b/pkgs/applications/window-managers/sway/default.nix @@ -1,40 +1,51 @@ -{ stdenv, fetchFromGitHub -, cmake, pkgconfig, asciidoc, libxslt, docbook_xsl -, wayland, wlc, libxkbcommon, pcre, json_c, dbus -, pango, cairo, libinput, libcap, pam, gdk_pixbuf, libpthreadstubs -, libXdmcp -, buildDocs ? true +{ stdenv, fetchFromGitHub, makeWrapper +, meson, ninja +, pkgconfig, scdoc +, wayland, libxkbcommon, pcre, json_c, dbus, libevdev +, pango, cairo, libinput, libcap, pam, gdk-pixbuf +, wlroots, wayland-protocols, swaybg }: stdenv.mkDerivation rec { - name = "sway-${version}"; - version = "0.15.2"; + pname = "sway"; + version = "1.2"; src = fetchFromGitHub { owner = "swaywm"; repo = "sway"; rev = version; - sha256 = "1p9j5gv85lsgj4z28qja07dqyvqk41w6mlaflvvm9yxafx477g5n"; + sha256 = "0vch2zm5afc76ia78p3vg71zr2fyda67l9hd2h0x1jq3mnvfbxnd"; }; - nativeBuildInputs = [ - cmake pkgconfig - ] ++ stdenv.lib.optional buildDocs [ asciidoc libxslt docbook_xsl ]; + patches = [ + ./sway-config-no-nix-store-references.patch + ./load-configuration-from-etc.patch + ]; + + nativeBuildInputs = [ pkgconfig meson ninja scdoc makeWrapper ]; + buildInputs = [ - wayland wlc libxkbcommon pcre json_c dbus - pango cairo libinput libcap pam gdk_pixbuf libpthreadstubs - libXdmcp + wayland libxkbcommon pcre json_c dbus libevdev + pango cairo libinput libcap pam gdk-pixbuf + wlroots wayland-protocols ]; enableParallelBuilding = true; - cmakeFlags = "-DVERSION=${version} -DLD_LIBRARY_PATH=/run/opengl-driver/lib:/run/opengl-driver-32/lib"; + mesonFlags = [ + "-Ddefault-wallpaper=false" "-Dxwayland=enabled" "-Dgdk-pixbuf=enabled" + "-Dtray=enabled" "-Dman-pages=enabled" + ]; + + postInstall = '' + wrapProgram $out/bin/sway --prefix PATH : "${swaybg}/bin" + ''; meta = with stdenv.lib; { - description = "i3-compatible window manager for Wayland"; + description = "i3-compatible tiling Wayland compositor"; homepage = https://swaywm.org; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ primeos ]; # Trying to keep it up-to-date. + maintainers = with maintainers; [ primeos synthetica ]; }; } diff --git a/pkgs/applications/window-managers/sway/idle.nix b/pkgs/applications/window-managers/sway/idle.nix index 86af7fc629a..bc917e76f97 100644 --- a/pkgs/applications/window-managers/sway/idle.nix +++ b/pkgs/applications/window-managers/sway/idle.nix @@ -4,14 +4,14 @@ }: stdenv.mkDerivation rec { - name = "swayidle-${version}"; - version = "1.2"; + pname = "swayidle"; + version = "1.5"; src = fetchFromGitHub { owner = "swaywm"; repo = "swayidle"; rev = version; - sha256 = "0b65flajwn2i6k2kdxxgw25w7ikzzmm595f4j5x1wac1rb0yah9w"; + sha256 = "05qi96j58xqxjiighay1d39rfanxcpn6vlynj23mb5dymxvlaq9n"; }; nativeBuildInputs = [ meson ninja pkgconfig scdoc ]; diff --git a/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch b/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch new file mode 100644 index 00000000000..26a3d40d66c --- /dev/null +++ b/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch @@ -0,0 +1,42 @@ +From 26f9c65ef037892977a824f0d7d7111066856b53 Mon Sep 17 00:00:00 2001 +From: Michael Weiss +Date: Sat, 27 Apr 2019 14:26:16 +0200 +Subject: [PATCH] Load configs from /etc but fallback to /nix/store + +This change will load all configuration files from /etc, to make it easy +to override them, but fallback to /nix/store/.../etc/sway/config to make +Sway work out-of-the-box with the default configuration on non NixOS +systems. +--- + meson.build | 3 ++- + sway/config.c | 1 + + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 02b5d606..c03a9c0f 100644 +--- a/meson.build ++++ b/meson.build +@@ -129,7 +129,8 @@ if scdoc.found() + endforeach + endif + +-add_project_arguments('-DSYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c') ++add_project_arguments('-DSYSCONFDIR="/@0@"'.format(sysconfdir), language : 'c') ++add_project_arguments('-DNIX_SYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c') + + version = '"@0@"'.format(meson.project_version()) + if git.found() +diff --git a/sway/config.c b/sway/config.c +index 4cd21bbc..dd855753 100644 +--- a/sway/config.c ++++ b/sway/config.c +@@ -317,6 +317,7 @@ static char *get_config_path(void) { + "$XDG_CONFIG_HOME/i3/config", + SYSCONFDIR "/sway/config", + SYSCONFDIR "/i3/config", ++ NIX_SYSCONFDIR "/sway/config", + }; + + char *config_home = getenv("XDG_CONFIG_HOME"); +-- +2.19.2 diff --git a/pkgs/applications/window-managers/sway/lock.nix b/pkgs/applications/window-managers/sway/lock.nix index a275e411c6e..fe445a6b7ad 100644 --- a/pkgs/applications/window-managers/sway/lock.nix +++ b/pkgs/applications/window-managers/sway/lock.nix @@ -1,23 +1,27 @@ { stdenv, fetchFromGitHub , meson, ninja, pkgconfig, scdoc -, wayland, wayland-protocols, libxkbcommon, cairo, gdk_pixbuf, pam +, wayland, wayland-protocols, libxkbcommon, cairo, gdk-pixbuf, pam }: stdenv.mkDerivation rec { - name = "swaylock-${version}"; - version = "1.3"; + pname = "swaylock"; + version = "1.4"; src = fetchFromGitHub { owner = "swaywm"; repo = "swaylock"; rev = version; - sha256 = "093nv1y9wyg48rfxhd36qdljjry57v1vkzrlc38mkf6zvsq8j7wb"; + sha256 = "1ii9ql1mxkk2z69dv6bg1x22nl3a46iww764wqjiv78x08xpk982"; }; - nativeBuildInputs = [ meson ninja pkgconfig scdoc ]; - buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk_pixbuf pam ]; + postPatch = '' + sed -iE "s/version: '1\.3',/version: '${version}',/" meson.build + ''; - mesonFlags = [ "-Dswaylock-version=${version}" + nativeBuildInputs = [ meson ninja pkgconfig scdoc ]; + buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ]; + + mesonFlags = [ "-Dpam=enabled" "-Dgdk-pixbuf=enabled" "-Dman-pages=enabled" ]; diff --git a/pkgs/applications/window-managers/sway/sway-config-no-nix-store-references.patch b/pkgs/applications/window-managers/sway/sway-config-no-nix-store-references.patch new file mode 100644 index 00000000000..009c1295943 --- /dev/null +++ b/pkgs/applications/window-managers/sway/sway-config-no-nix-store-references.patch @@ -0,0 +1,21 @@ +diff --git a/config.in b/config.in +--- a/config.in ++++ b/config.in +@@ -21,8 +21,8 @@ set $menu dmenu_path | dmenu | xargs swaymsg exec + + ### Output configuration + # +-# Default wallpaper (more resolutions are available in @datadir@/backgrounds/sway/) +-output * bg @datadir@/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill ++# Default wallpaper ++#output * bg ~/.config/sway/backgrounds/Sway_Wallpaper_Blue_1920x1080.png fill + # + # Example configuration: + # +@@ -213,5 +213,3 @@ bar { + inactive_workspace #32323200 #32323200 #5c5c5c + } + } +- +-include @sysconfdir@/sway/config.d/* + diff --git a/pkgs/applications/window-managers/sxhkd/default.nix b/pkgs/applications/window-managers/sxhkd/default.nix index 2e58928e34c..2404129b165 100644 --- a/pkgs/applications/window-managers/sxhkd/default.nix +++ b/pkgs/applications/window-managers/sxhkd/default.nix @@ -3,14 +3,14 @@ }: stdenv.mkDerivation rec { - name = "sxhkd-${version}"; - version = "0.6.0"; + pname = "sxhkd"; + version = "0.6.1"; src = fetchFromGitHub { owner = "baskerville"; repo = "sxhkd"; rev = version; - sha256 = "1cz4vkm7fqd51ly9qjkf5q76kdqdzfhaajgvrs4anz5dyzrdpw68"; + sha256 = "0j7bl2l06r0arrjzpz7al9j6cwzc730knbsijp7ixzz96pq7xa2h"; }; buildInputs = [ asciidoc libxcb xcbutil xcbutilkeysyms xcbutilwm ]; diff --git a/pkgs/applications/window-managers/tabbed/xft.patch b/pkgs/applications/window-managers/tabbed/xft.patch deleted file mode 100644 index f4f1e82e705..00000000000 --- a/pkgs/applications/window-managers/tabbed/xft.patch +++ /dev/null @@ -1,234 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index b3da7f0..ce43686 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -1,7 +1,7 @@ - /* See LICENSE file for copyright and license details. */ - - /* appearance */ --static const char font[] = "-*-*-medium-*-*-*-14-*-*-*-*-*-*-*"; -+static const char font[] = "monospace-9"; - static const char* normbgcolor = "#222222"; - static const char* normfgcolor = "#cccccc"; - static const char* selbgcolor = "#555555"; -diff --git a/config.mk b/config.mk -index dd741e4..ed3a2e9 100644 ---- a/config.mk -+++ b/config.mk -@@ -9,7 +9,7 @@ MANPREFIX = ${PREFIX}/share/man - - # includes and libs - INCS = -I. -I/usr/include --LIBS = -L/usr/lib -lc -lX11 -+LIBS = -L/usr/lib -lc -lXft -lX11 - - # flags - CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE -diff --git a/tabbed.c b/tabbed.c -index b15f9cb..6e50c41 100644 ---- a/tabbed.c -+++ b/tabbed.c -@@ -15,6 +15,7 @@ - #include - #include - #include -+#include - - #include "arg.h" - -@@ -64,17 +65,16 @@ typedef struct { - - typedef struct { - int x, y, w, h; -- unsigned long norm[ColLast]; -- unsigned long sel[ColLast]; -- unsigned long urg[ColLast]; -+ XftColor norm[ColLast]; -+ XftColor sel[ColLast]; -+ XftColor urg[ColLast]; - Drawable drawable; - GC gc; - struct { - int ascent; - int descent; - int height; -- XFontSet set; -- XFontStruct *xfont; -+ XftFont *xfont; - } font; - } DC; /* draw context */ - -@@ -97,7 +97,7 @@ static void unmapnotify(const XEvent *e); - static void destroynotify(const XEvent *e); - static void die(const char *errstr, ...); - static void drawbar(void); --static void drawtext(const char *text, unsigned long col[ColLast]); -+static void drawtext(const char *text, XftColor col[ColLast]); - static void *ecalloc(size_t n, size_t size); - static void *erealloc(void *o, size_t size); - static void expose(const XEvent *e); -@@ -107,7 +107,7 @@ static void focusonce(const Arg *arg); - static void fullscreen(const Arg *arg); - static char* getatom(int a); - static int getclient(Window w); --static unsigned long getcolor(const char *colstr); -+static XftColor getcolor(const char *colstr); - static int getfirsttab(void); - static Bool gettextprop(Window w, Atom atom, char *text, unsigned int size); - static void initfont(const char *fontstr); -@@ -220,12 +220,6 @@ cleanup(void) { - free(clients); - clients = NULL; - -- if(dc.font.set) { -- XFreeFontSet(dpy, dc.font.set); -- } else { -- XFreeFont(dpy, dc.font.xfont); -- } -- - XFreePixmap(dpy, dc.drawable); - XFreeGC(dpy, dc.gc); - XDestroyWindow(dpy, win); -@@ -315,7 +309,7 @@ die(const char *errstr, ...) { - - void - drawbar(void) { -- unsigned long *col; -+ XftColor *col; - int c, cc, fc, width; - char *name = NULL; - -@@ -368,12 +362,13 @@ drawbar(void) { - } - - void --drawtext(const char *text, unsigned long col[ColLast]) { -+drawtext(const char *text, XftColor col[ColLast]) { - int i, x, y, h, len, olen; - char buf[256]; -+ XftDraw *d; - XRectangle r = { dc.x, dc.y, dc.w, dc.h }; - -- XSetForeground(dpy, dc.gc, col[ColBG]); -+ XSetForeground(dpy, dc.gc, col[ColBG].pixel); - XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); - if(!text) - return; -@@ -394,13 +389,12 @@ drawtext(const char *text, unsigned long col[ColLast]) { - for(i = len; i && i > len - 3; buf[--i] = '.'); - } - -- XSetForeground(dpy, dc.gc, col[ColFG]); -- if(dc.font.set) { -- XmbDrawString(dpy, dc.drawable, dc.font.set, -- dc.gc, x, y, buf, len); -- } else { -- XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len); -- } -+ XSetForeground(dpy, dc.gc, col[ColFG].pixel); -+ -+ d = XftDrawCreate(dpy, dc.drawable, DefaultVisual(dpy, screen), DefaultColormap(dpy,screen)); -+ -+ XftDrawStringUtf8(d, &col[ColFG], dc.font.xfont, x, y, (XftChar8 *) buf, len); -+ XftDrawDestroy(d); - } - - void * -@@ -537,15 +531,14 @@ getclient(Window w) { - return -1; - } - --unsigned long -+XftColor - getcolor(const char *colstr) { -- Colormap cmap = DefaultColormap(dpy, screen); -- XColor color; -+ XftColor color; - -- if(!XAllocNamedColor(dpy, cmap, colstr, &color, &color)) -+ if(!XftColorAllocName(dpy, DefaultVisual(dpy, screen), DefaultColormap(dpy, screen), colstr, &color)) - die("tabbed: cannot allocate color '%s'\n", colstr); - -- return color.pixel; -+ return color; - } - - int -@@ -594,41 +587,11 @@ gettextprop(Window w, Atom atom, char *text, unsigned int size) { - - void - initfont(const char *fontstr) { -- char *def, **missing, **font_names; -- int i, n; -- XFontStruct **xfonts; -- -- missing = NULL; -- if(dc.font.set) -- XFreeFontSet(dpy, dc.font.set); -- -- dc.font.set = XCreateFontSet(dpy, fontstr, &missing, &n, &def); -- if(missing) { -- while(n--) -- fprintf(stderr, "tabbed: missing fontset: %s\n", missing[n]); -- XFreeStringList(missing); -- } -- -- if(dc.font.set) { -- dc.font.ascent = dc.font.descent = 0; -- n = XFontsOfFontSet(dc.font.set, &xfonts, &font_names); -- for(i = 0, dc.font.ascent = 0, dc.font.descent = 0; i < n; i++) { -- dc.font.ascent = MAX(dc.font.ascent, (*xfonts)->ascent); -- dc.font.descent = MAX(dc.font.descent,(*xfonts)->descent); -- xfonts++; -- } -- } else { -- if(dc.font.xfont) -- XFreeFont(dpy, dc.font.xfont); -- dc.font.xfont = NULL; -- if(!(dc.font.xfont = XLoadQueryFont(dpy, fontstr)) -- && !(dc.font.xfont = XLoadQueryFont(dpy, "fixed"))) { -- die("tabbed: cannot load font: '%s'\n", fontstr); -- } -+ if(!(dc.font.xfont = XftFontOpenName(dpy,screen,fontstr)) && !(dc.font.xfont = XftFontOpenName(dpy,screen,"fixed"))) -+ die("error, cannot load font: '%s'\n", fontstr); - -- dc.font.ascent = dc.font.xfont->ascent; -- dc.font.descent = dc.font.xfont->descent; -- } -+ dc.font.ascent = dc.font.xfont->ascent; -+ dc.font.descent = dc.font.xfont->descent; - dc.font.height = dc.font.ascent + dc.font.descent; - } - -@@ -1000,11 +963,9 @@ setup(void) { - dc.drawable = XCreatePixmap(dpy, root, ww, wh, - DefaultDepth(dpy, screen)); - dc.gc = XCreateGC(dpy, root, 0, 0); -- if(!dc.font.set) -- XSetFont(dpy, dc.gc, dc.font.xfont->fid); - - win = XCreateSimpleWindow(dpy, root, wx, wy, ww, wh, 0, -- dc.norm[ColFG], dc.norm[ColBG]); -+ dc.norm[ColFG].pixel, dc.norm[ColBG].pixel); - XMapRaised(dpy, win); - XSelectInput(dpy, win, SubstructureNotifyMask|FocusChangeMask| - ButtonPressMask|ExposureMask|KeyPressMask|PropertyChangeMask| -@@ -1070,15 +1031,9 @@ spawn(const Arg *arg) { - - int - textnw(const char *text, unsigned int len) { -- XRectangle r; -- -- if(dc.font.set) { -- XmbTextExtents(dc.font.set, text, len, NULL, &r); -- -- return r.width; -- } -- -- return XTextWidth(dc.font.xfont, text, len); -+ XGlyphInfo ext; -+ XftTextExtentsUtf8(dpy, dc.font.xfont, (XftChar8 *) text, len, &ext); -+ return ext.xOff; - } - - void diff --git a/pkgs/applications/window-managers/trayer/default.nix b/pkgs/applications/window-managers/trayer/default.nix index 5aec0973a7c..5705ae8256c 100644 --- a/pkgs/applications/window-managers/trayer/default.nix +++ b/pkgs/applications/window-managers/trayer/default.nix @@ -1,10 +1,10 @@ -{ stdenv, fetchFromGitHub, pkgconfig, gdk_pixbuf, gtk2 }: +{ stdenv, fetchFromGitHub, pkgconfig, gdk-pixbuf, gtk2 }: stdenv.mkDerivation rec { name = "trayer-1.1.8"; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gdk_pixbuf gtk2 ]; + buildInputs = [ gdk-pixbuf gtk2 ]; src = fetchFromGitHub { owner = "sargon"; diff --git a/pkgs/applications/window-managers/velox/default.nix b/pkgs/applications/window-managers/velox/default.nix deleted file mode 100644 index f8cb6c26683..00000000000 --- a/pkgs/applications/window-managers/velox/default.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, pkgconfig, makeWrapper, newScope -, libxkbcommon -, wayland, pixman, fontconfig -, stConf ? null, stPatches ? [] -}: - -let - callPackage = newScope self; - self = { - swc = callPackage ./swc.nix {}; - wld = callPackage ./wld.nix {}; - dmenu-velox = callPackage ./dmenu.nix {}; - st-velox = callPackage ./st.nix { - conf = stConf; - patches = stPatches; - }; - }; -in with self; stdenv.mkDerivation rec { - name = "velox-${version}"; - version = "git-2017-07-04"; - - src = fetchFromGitHub { - owner = "michaelforney"; - repo = "velox"; - rev = "0b1d3d62861653d92d0a1056855a84fcef661bc0"; - sha256 = "0p5ra5p5w21wl696rmv0vdnl7jnri5iwnxfs6nl6miwydhq2dmci"; - }; - - nativeBuildInputs = [ pkgconfig makeWrapper ]; - - buildInputs = [ swc libxkbcommon wld wayland pixman fontconfig ]; - - propagatedUserEnvPkgs = [ swc ]; - - makeFlags = "PREFIX=$(out)"; - preBuild = '' - substituteInPlace config.c \ - --replace /etc/velox.conf $out/etc/velox.conf - ''; - installPhase = '' - PREFIX=$out make install - mkdir -p $out/etc - cp velox.conf.sample $out/etc/velox.conf - ''; - postFixup = '' - wrapProgram $out/bin/velox \ - --prefix PATH : "${stdenv.lib.makeBinPath [ dmenu-velox st-velox ]}" - ''; - - enableParallelBuilding = false; # https://hydra.nixos.org/build/79799608 - - meta = { - description = "velox window manager"; - homepage = "https://github.com/michaelforney/velox"; - license = lib.licenses.mit; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ ]; - }; -} diff --git a/pkgs/applications/window-managers/velox/dmenu.nix b/pkgs/applications/window-managers/velox/dmenu.nix deleted file mode 100644 index 01360e5af0b..00000000000 --- a/pkgs/applications/window-managers/velox/dmenu.nix +++ /dev/null @@ -1,37 +0,0 @@ -{stdenv, fetchFromGitHub #, libX11, libXinerama, enableXft, libXft, zlib -, swc, wld, wayland, libxkbcommon, pixman, fontconfig -}: - -with stdenv.lib; - -stdenv.mkDerivation rec { - name = "dmenu-velox-${version}"; - version = "git-2017-04-07"; - - src = fetchFromGitHub { - owner = "michaelforney"; - repo = "dmenu"; - rev = "f385d9d18813071b4b4257bf8d4d572daeda0e70"; - sha256 = "14j8jv0nlybinhzkgd6dplvng9zy8p292prlx39w0k4fm6x5nv6y"; - }; - - buildInputs = [ swc wld wayland libxkbcommon pixman fontconfig ]; - - postPatch = '' - sed -ri -e 's!\<(dmenu|dmenu_path)\>!'"$out/bin"'/&!g' dmenu_run - ''; - - preConfigure = [ - ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g; s@/usr/share/swc@${swc}/share/swc@g" config.mk'' - ]; - - enableParallelBuilding = true; - - meta = { - description = "A generic, highly customizable, and efficient menu for the X Window System"; - homepage = https://tools.suckless.org/dmenu; - license = stdenv.lib.licenses.mit; - maintainers = with stdenv.lib.maintainers; [ ]; - platforms = with stdenv.lib.platforms; all; - }; -} diff --git a/pkgs/applications/window-managers/velox/st.nix b/pkgs/applications/window-managers/velox/st.nix deleted file mode 100644 index 2d73df65046..00000000000 --- a/pkgs/applications/window-managers/velox/st.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ stdenv, fetchFromGitHub, pkgconfig, writeText -, ncurses, wayland, wayland-protocols, wld, libxkbcommon, fontconfig, pixman -, conf, patches }: - -with stdenv.lib; - -stdenv.mkDerivation rec { - name = "st-velox-${version}"; - version = "git-2016-12-22"; - - src = fetchFromGitHub { - owner = "michaelforney"; - repo = "st"; - rev = "b27f17da65f74b0a923952601873524e03b4d047"; - sha256 = "17aa4bz5g14jvqghk2c8mw77hb8786s07pv814rmlk7nnsavmp3i"; - }; - - inherit patches; - - configFile = optionalString (conf!=null) (writeText "config.def.h" conf); - preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h"; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ ncurses wayland wayland-protocols wld libxkbcommon fontconfig pixman ]; - - NIX_LDFLAGS = "-lfontconfig"; - - installPhase = '' - TERMINFO=$out/share/terminfo make install PREFIX=$out - ''; - - enableParallelBuilding = true; - - meta = { - homepage = https://st.suckless.org/; - license = licenses.mit; - maintainers = with maintainers; [ ]; - platforms = with platforms; linux; - }; -} diff --git a/pkgs/applications/window-managers/velox/swc.nix b/pkgs/applications/window-managers/velox/swc.nix deleted file mode 100644 index a2f98b8b65e..00000000000 --- a/pkgs/applications/window-managers/velox/swc.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, pkgconfig -, wld, wayland, wayland-protocols, fontconfig, pixman, libdrm, libinput, libevdev, libxkbcommon, libxcb, xcbutilwm -}: - -stdenv.mkDerivation rec { - name = "swc-${version}"; - version = "git-2017-06-28"; - - src = fetchFromGitHub { - owner = "michaelforney"; - repo = "swc"; - rev = "5b20050872f8ad29cfc97729f8af47b6b3df5393"; - sha256 = "1lxpm17v5d8png6ixc0zn0w00xgrhz2n5b8by9vx6800b18246z8"; - }; - - nativeBuildInputs = [ pkgconfig ]; - - buildInputs = [ wld wayland wayland-protocols fontconfig pixman libdrm libinput libevdev libxkbcommon libxcb xcbutilwm ]; - - prePatch = '' - substituteInPlace launch/local.mk --replace 4755 755 - ''; - - makeFlags = "PREFIX=$(out)"; - installPhase = "PREFIX=$out make install"; - - enableParallelBuilding = true; - - meta = { - description = "A library for making a simple Wayland compositor"; - homepage = src.meta.homepage; - license = lib.licenses.mit; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ ]; - }; -} diff --git a/pkgs/applications/window-managers/velox/wld.nix b/pkgs/applications/window-managers/velox/wld.nix deleted file mode 100644 index d85f8212ec4..00000000000 --- a/pkgs/applications/window-managers/velox/wld.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, pkgconfig -, wayland, fontconfig, pixman, freetype, libdrm -}: - -stdenv.mkDerivation rec { - name = "wld-${version}"; - version = "git-2017-10-31"; - - src = fetchFromGitHub { - owner = "michaelforney"; - repo = "wld"; - rev = "b4e902bbecb678c45485b52c3aa183cbc932c595"; - sha256 = "0j2n776flnzyw3vhxl0r8h1c48wrihi4g6bs2z8j4hbw5pnwq1k6"; - }; - - nativeBuildInputs = [ pkgconfig ]; - - buildInputs = [ wayland fontconfig pixman freetype libdrm ]; - - makeFlags = "PREFIX=$(out)"; - installPhase = "PREFIX=$out make install"; - - enableParallelBuilding = true; - - meta = { - description = "A primitive drawing library targeted at Wayland"; - homepage = src.meta.homepage; - license = lib.licenses.mit; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ ]; - }; -} diff --git a/pkgs/applications/window-managers/way-cooler/crates-io.nix b/pkgs/applications/window-managers/way-cooler/crates-io.nix index 9dbd367a67f..955dfe9b44a 100644 --- a/pkgs/applications/window-managers/way-cooler/crates-io.nix +++ b/pkgs/applications/window-managers/way-cooler/crates-io.nix @@ -10,6 +10,7 @@ rec { crates.aho_corasick."0.5.3" = deps: { features?(features_.aho_corasick."0.5.3" deps {}) }: buildRustCrate { crateName = "aho-corasick"; version = "0.5.3"; + description = "Fast multiple substring searching with finite state machines."; authors = [ "Andrew Gallant " ]; sha256 = "1igab46mvgknga3sxkqc917yfff0wsjxjzabdigmh240p5qxqlnn"; libName = "aho_corasick"; @@ -33,6 +34,7 @@ rec { crates.bitflags."0.4.0" = deps: { features?(features_.bitflags."0.4.0" deps {}) }: buildRustCrate { crateName = "bitflags"; version = "0.4.0"; + description = "A macro to generate structures which behave like bitflags.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "0an03kibhfcc0mcxf6a0mvbab0s7cggnvflw8jn0b15i351h828c"; features = mkFeatures (features."bitflags"."0.4.0" or {}); @@ -48,6 +50,7 @@ rec { crates.bitflags."0.6.0" = deps: { features?(features_.bitflags."0.6.0" deps {}) }: buildRustCrate { crateName = "bitflags"; version = "0.6.0"; + description = "A macro to generate structures which behave like bitflags.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "1znq4b770mdp3kdj9yz199ylc2pmf8l5j2f281jjrcfhg1mm22h6"; }; @@ -62,6 +65,7 @@ rec { crates.bitflags."0.7.0" = deps: { features?(features_.bitflags."0.7.0" deps {}) }: buildRustCrate { crateName = "bitflags"; version = "0.7.0"; + description = "A macro to generate structures which behave like bitflags.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5"; }; @@ -76,17 +80,18 @@ rec { crates.bitflags."0.9.1" = deps: { features?(features_.bitflags."0.9.1" deps {}) }: buildRustCrate { crateName = "bitflags"; version = "0.9.1"; + description = "A macro to generate structures which behave like bitflags.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws"; features = mkFeatures (features."bitflags"."0.9.1" or {}); }; features_.bitflags."0.9.1" = deps: f: updateFeatures f (rec { bitflags = fold recursiveUpdate {} [ - { "0.9.1".default = (f.bitflags."0.9.1".default or true); } - { "0.9.1".example_generated = - (f.bitflags."0.9.1".example_generated or false) || + { "0.9.1"."example_generated" = + (f.bitflags."0.9.1"."example_generated" or false) || (f.bitflags."0.9.1".default or false) || (bitflags."0.9.1"."default" or false); } + { "0.9.1".default = (f.bitflags."0.9.1".default or true); } ]; }) []; @@ -97,6 +102,7 @@ rec { crates.bitflags."1.0.4" = deps: { features?(features_.bitflags."1.0.4" deps {}) }: buildRustCrate { crateName = "bitflags"; version = "1.0.4"; + description = "A macro to generate structures which behave like bitflags.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "1g1wmz2001qmfrd37dnd5qiss5njrw26aywmg6yhkmkbyrhjxb08"; features = mkFeatures (features."bitflags"."1.0.4" or {}); @@ -112,6 +118,7 @@ rec { crates.c_vec."1.2.1" = deps: { features?(features_.c_vec."1.2.1" deps {}) }: buildRustCrate { crateName = "c_vec"; version = "1.2.1"; + description = "Structures to wrap C arrays"; authors = [ "Guillaume Gomez " ]; sha256 = "15gm72wx9kd0n51454i58rmpkmig8swghrj2440frxxi9kqg97xd"; }; @@ -126,6 +133,7 @@ rec { crates.cairo_rs."0.2.0" = deps: { features?(features_.cairo_rs."0.2.0" deps {}) }: buildRustCrate { crateName = "cairo-rs"; version = "0.2.0"; + description = "Rust bindings for the Cairo library"; authors = [ "The Gtk-rs Project Developers" ]; sha256 = "0bcbhbyips15b7la4r43p4x57jv1w2ll8iwg9lxwvzz5k6c7iwvd"; libName = "cairo"; @@ -148,25 +156,25 @@ rec { features_.cairo_rs."0.2.0" = deps: f: updateFeatures f (rec { c_vec."${deps.cairo_rs."0.2.0".c_vec}".default = true; cairo_rs = fold recursiveUpdate {} [ - { "0.2.0".default = (f.cairo_rs."0.2.0".default or true); } - { "0.2.0".glib = - (f.cairo_rs."0.2.0".glib or false) || + { "0.2.0"."glib" = + (f.cairo_rs."0.2.0"."glib" or false) || (f.cairo_rs."0.2.0".use_glib or false) || (cairo_rs."0.2.0"."use_glib" or false); } - { "0.2.0".glib-sys = - (f.cairo_rs."0.2.0".glib-sys or false) || + { "0.2.0"."glib-sys" = + (f.cairo_rs."0.2.0"."glib-sys" or false) || (f.cairo_rs."0.2.0".use_glib or false) || (cairo_rs."0.2.0"."use_glib" or false); } - { "0.2.0".gtk-rs-lgpl-docs = - (f.cairo_rs."0.2.0".gtk-rs-lgpl-docs or false) || + { "0.2.0"."gtk-rs-lgpl-docs" = + (f.cairo_rs."0.2.0"."gtk-rs-lgpl-docs" or false) || (f.cairo_rs."0.2.0".embed-lgpl-docs or false) || (cairo_rs."0.2.0"."embed-lgpl-docs" or false) || (f.cairo_rs."0.2.0".purge-lgpl-docs or false) || (cairo_rs."0.2.0"."purge-lgpl-docs" or false); } - { "0.2.0".use_glib = - (f.cairo_rs."0.2.0".use_glib or false) || + { "0.2.0"."use_glib" = + (f.cairo_rs."0.2.0"."use_glib" or false) || (f.cairo_rs."0.2.0".default or false) || (cairo_rs."0.2.0"."default" or false); } + { "0.2.0".default = (f.cairo_rs."0.2.0".default or true); } ]; cairo_sys_rs = fold recursiveUpdate {} [ { "${deps.cairo_rs."0.2.0".cairo_sys_rs}"."png" = @@ -203,6 +211,7 @@ rec { crates.cairo_sys_rs."0.4.0" = deps: { features?(features_.cairo_sys_rs."0.4.0" deps {}) }: buildRustCrate { crateName = "cairo-sys-rs"; version = "0.4.0"; + description = "FFI bindings to libcairo"; authors = [ "The Gtk-rs Project Developers" ]; sha256 = "062nxihlydci65pyy2ldn7djkc9sm7a5xvkl8pxrsxfxvfapm5br"; libName = "cairo_sys"; @@ -221,15 +230,15 @@ rec { }; features_.cairo_sys_rs."0.4.0" = deps: f: updateFeatures f (rec { cairo_sys_rs = fold recursiveUpdate {} [ - { "0.4.0".default = (f.cairo_sys_rs."0.4.0".default or true); } - { "0.4.0".v1_12 = - (f.cairo_sys_rs."0.4.0".v1_12 or false) || + { "0.4.0"."v1_12" = + (f.cairo_sys_rs."0.4.0"."v1_12" or false) || (f.cairo_sys_rs."0.4.0".v1_14 or false) || (cairo_sys_rs."0.4.0"."v1_14" or false); } - { "0.4.0".x11 = - (f.cairo_sys_rs."0.4.0".x11 or false) || + { "0.4.0"."x11" = + (f.cairo_sys_rs."0.4.0"."x11" or false) || (f.cairo_sys_rs."0.4.0".xlib or false) || (cairo_sys_rs."0.4.0"."xlib" or false); } + { "0.4.0".default = (f.cairo_sys_rs."0.4.0".default or true); } ]; libc."${deps.cairo_sys_rs."0.4.0".libc}".default = true; pkg_config."${deps.cairo_sys_rs."0.4.0".pkg_config}".default = true; @@ -247,6 +256,7 @@ rec { crates.cc."1.0.25" = deps: { features?(features_.cc."1.0.25" deps {}) }: buildRustCrate { crateName = "cc"; version = "1.0.25"; + description = "A build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n"; authors = [ "Alex Crichton " ]; sha256 = "0pd8fhjlpr5qan984frkf1c8nxrqp6827wmmfzhm2840229z2hq0"; dependencies = mapFeatures features ([ @@ -255,11 +265,11 @@ rec { }; features_.cc."1.0.25" = deps: f: updateFeatures f (rec { cc = fold recursiveUpdate {} [ - { "1.0.25".default = (f.cc."1.0.25".default or true); } - { "1.0.25".rayon = - (f.cc."1.0.25".rayon or false) || + { "1.0.25"."rayon" = + (f.cc."1.0.25"."rayon" or false) || (f.cc."1.0.25".parallel or false) || (cc."1.0.25"."parallel" or false); } + { "1.0.25".default = (f.cc."1.0.25".default or true); } ]; }) []; @@ -270,6 +280,7 @@ rec { crates.cfg_if."0.1.6" = deps: { features?(features_.cfg_if."0.1.6" deps {}) }: buildRustCrate { crateName = "cfg-if"; version = "0.1.6"; + description = "A macro to ergonomically define an item depending on a large number of #[cfg]\nparameters. Structured like an if-else chain, the first matching branch is the\nitem that gets emitted.\n"; authors = [ "Alex Crichton " ]; sha256 = "11qrix06wagkplyk908i3423ps9m9np6c4vbcq81s9fyl244xv3n"; }; @@ -284,6 +295,7 @@ rec { crates.cloudabi."0.0.3" = deps: { features?(features_.cloudabi."0.0.3" deps {}) }: buildRustCrate { crateName = "cloudabi"; version = "0.0.3"; + description = "Low level interface to CloudABI. Contains all syscalls and related types."; authors = [ "Nuxi (https://nuxi.nl/) and contributors" ]; sha256 = "1z9lby5sr6vslfd14d6igk03s7awf91mxpsfmsp3prxbxlk0x7h5"; libPath = "cloudabi.rs"; @@ -295,8 +307,8 @@ rec { features_.cloudabi."0.0.3" = deps: f: updateFeatures f (rec { bitflags."${deps.cloudabi."0.0.3".bitflags}".default = true; cloudabi = fold recursiveUpdate {} [ - { "0.0.3".bitflags = - (f.cloudabi."0.0.3".bitflags or false) || + { "0.0.3"."bitflags" = + (f.cloudabi."0.0.3"."bitflags" or false) || (f.cloudabi."0.0.3".default or false) || (cloudabi."0.0.3"."default" or false); } { "0.0.3".default = (f.cloudabi."0.0.3".default or true); } @@ -312,6 +324,7 @@ rec { crates.dbus."0.4.1" = deps: { features?(features_.dbus."0.4.1" deps {}) }: buildRustCrate { crateName = "dbus"; version = "0.4.1"; + description = "Bindings to D-Bus, which is a bus commonly used on Linux for inter-process communication."; authors = [ "David Henningsson " ]; sha256 = "0qw32qj2rys318h780klxlznkwg93dfimbn8mc34m4940l8v00g9"; build = "build.rs"; @@ -339,6 +352,7 @@ rec { crates.dbus_macros."0.0.6" = deps: { features?(features_.dbus_macros."0.0.6" deps {}) }: buildRustCrate { crateName = "dbus-macros"; version = "0.0.6"; + description = "Convenient macros to use the dbus crate"; authors = [ "Antoni Boucher " ]; sha256 = "1nymk2hzzgyafyr5nfa4r4frx4hml3wlwgzfr9b69vmcvn3d2jyd"; dependencies = mapFeatures features ([ @@ -359,6 +373,7 @@ rec { crates.dlib."0.3.1" = deps: { features?(features_.dlib."0.3.1" deps {}) }: buildRustCrate { crateName = "dlib"; version = "0.3.1"; + description = "Helper macros for handling manually loading optionnal system libraries."; authors = [ "Victor Berger " ]; sha256 = "11mhh6g9vszp2ay3r46x4capnnmvvhx5hcp74bapxjhiixqjfvkr"; dependencies = mapFeatures features ([ @@ -380,6 +395,7 @@ rec { crates.dlib."0.4.1" = deps: { features?(features_.dlib."0.4.1" deps {}) }: buildRustCrate { crateName = "dlib"; version = "0.4.1"; + description = "Helper macros for handling manually loading optional system libraries."; authors = [ "Victor Berger " ]; sha256 = "0h5xm6lanbl6v9y16g592bia33g7xb0n0fg98pvz6nsvg0layxlk"; dependencies = mapFeatures features ([ @@ -401,6 +417,7 @@ rec { crates.dtoa."0.4.3" = deps: { features?(features_.dtoa."0.4.3" deps {}) }: buildRustCrate { crateName = "dtoa"; version = "0.4.3"; + description = "Fast functions for printing floating-point primitives to an io::Write"; authors = [ "David Tolnay " ]; sha256 = "1xysdxdm24sk5ysim7lps4r2qaxfnj0sbakhmps4d42yssx30cw8"; }; @@ -415,6 +432,7 @@ rec { crates.dummy_rustwlc."0.7.1" = deps: { features?(features_.dummy_rustwlc."0.7.1" deps {}) }: buildRustCrate { crateName = "dummy-rustwlc"; version = "0.7.1"; + description = "A dummy version of the functions defined in rust-wlc, to be used in testing and for travis builds"; authors = [ "Snirk Immington " "Preston Carpenter " ]; sha256 = "13priwnxpjvmym6yh9v9x1230ca04cba7bzbnn21pbvqngis1y88"; dependencies = mapFeatures features ([ @@ -445,6 +463,7 @@ rec { crates.env_logger."0.3.5" = deps: { features?(features_.env_logger."0.3.5" deps {}) }: buildRustCrate { crateName = "env_logger"; version = "0.3.5"; + description = "An logging implementation for `log` which is configured via an environment\nvariable.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "1mvxiaaqsyjliv1mm1qaagjqiccw11mdyi3n9h9rf8y6wj15zycw"; dependencies = mapFeatures features ([ @@ -455,11 +474,11 @@ rec { }; features_.env_logger."0.3.5" = deps: f: updateFeatures f (rec { env_logger = fold recursiveUpdate {} [ - { "0.3.5".default = (f.env_logger."0.3.5".default or true); } - { "0.3.5".regex = - (f.env_logger."0.3.5".regex or false) || + { "0.3.5"."regex" = + (f.env_logger."0.3.5"."regex" or false) || (f.env_logger."0.3.5".default or false) || (env_logger."0.3.5"."default" or false); } + { "0.3.5".default = (f.env_logger."0.3.5".default or true); } ]; log."${deps.env_logger."0.3.5".log}".default = true; regex."${deps.env_logger."0.3.5".regex}".default = true; @@ -475,6 +494,7 @@ rec { crates.fixedbitset."0.1.9" = deps: { features?(features_.fixedbitset."0.1.9" deps {}) }: buildRustCrate { crateName = "fixedbitset"; version = "0.1.9"; + description = "FixedBitSet is a simple bitset collection"; authors = [ "bluss" ]; sha256 = "1bkb5aq7h9p4rzlgxagnda1f0dd11q0qz41bmdy11z18q1p8igy1"; }; @@ -489,6 +509,7 @@ rec { crates.fuchsia_zircon."0.3.3" = deps: { features?(features_.fuchsia_zircon."0.3.3" deps {}) }: buildRustCrate { crateName = "fuchsia-zircon"; version = "0.3.3"; + description = "Rust bindings for the Zircon kernel"; authors = [ "Raph Levien " ]; sha256 = "0jrf4shb1699r4la8z358vri8318w4mdi6qzfqy30p2ymjlca4gk"; dependencies = mapFeatures features ([ @@ -512,6 +533,7 @@ rec { crates.fuchsia_zircon_sys."0.3.3" = deps: { features?(features_.fuchsia_zircon_sys."0.3.3" deps {}) }: buildRustCrate { crateName = "fuchsia-zircon-sys"; version = "0.3.3"; + description = "Low-level Rust bindings for the Zircon kernel"; authors = [ "Raph Levien " ]; sha256 = "08jp1zxrm9jbrr6l26bjal4dbm8bxfy57ickdgibsqxr1n9j3hf5"; }; @@ -526,6 +548,7 @@ rec { crates.gcc."0.3.55" = deps: { features?(features_.gcc."0.3.55" deps {}) }: buildRustCrate { crateName = "gcc"; version = "0.3.55"; + description = "**Deprecated** crate, renamed to `cc`\n\nA build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n"; authors = [ "Alex Crichton " ]; sha256 = "18qxv3hjdhp7pfcvbm2hvyicpgmk7xw8aii1l7fla8cxxbcrg2nz"; dependencies = mapFeatures features ([ @@ -534,11 +557,11 @@ rec { }; features_.gcc."0.3.55" = deps: f: updateFeatures f (rec { gcc = fold recursiveUpdate {} [ - { "0.3.55".default = (f.gcc."0.3.55".default or true); } - { "0.3.55".rayon = - (f.gcc."0.3.55".rayon or false) || + { "0.3.55"."rayon" = + (f.gcc."0.3.55"."rayon" or false) || (f.gcc."0.3.55".parallel or false) || (gcc."0.3.55"."parallel" or false); } + { "0.3.55".default = (f.gcc."0.3.55".default or true); } ]; }) []; @@ -549,6 +572,7 @@ rec { crates.gdk_pixbuf."0.2.0" = deps: { features?(features_.gdk_pixbuf."0.2.0" deps {}) }: buildRustCrate { crateName = "gdk-pixbuf"; version = "0.2.0"; + description = "Rust bindings for the GdkPixbuf library"; authors = [ "The Gtk-rs Project Developers" ]; sha256 = "082z1s30haa59ax35wsv06mj8z8bhhq0fac36g01qa77kpiphj5y"; libName = "gdk_pixbuf"; @@ -567,25 +591,25 @@ rec { }; features_.gdk_pixbuf."0.2.0" = deps: f: updateFeatures f (rec { gdk_pixbuf = fold recursiveUpdate {} [ - { "0.2.0".default = (f.gdk_pixbuf."0.2.0".default or true); } - { "0.2.0".gtk-rs-lgpl-docs = - (f.gdk_pixbuf."0.2.0".gtk-rs-lgpl-docs or false) || + { "0.2.0"."gtk-rs-lgpl-docs" = + (f.gdk_pixbuf."0.2.0"."gtk-rs-lgpl-docs" or false) || (f.gdk_pixbuf."0.2.0".embed-lgpl-docs or false) || (gdk_pixbuf."0.2.0"."embed-lgpl-docs" or false) || (f.gdk_pixbuf."0.2.0".purge-lgpl-docs or false) || (gdk_pixbuf."0.2.0"."purge-lgpl-docs" or false); } - { "0.2.0".v2_28 = - (f.gdk_pixbuf."0.2.0".v2_28 or false) || + { "0.2.0"."v2_28" = + (f.gdk_pixbuf."0.2.0"."v2_28" or false) || (f.gdk_pixbuf."0.2.0".v2_30 or false) || (gdk_pixbuf."0.2.0"."v2_30" or false); } - { "0.2.0".v2_30 = - (f.gdk_pixbuf."0.2.0".v2_30 or false) || + { "0.2.0"."v2_30" = + (f.gdk_pixbuf."0.2.0"."v2_30" or false) || (f.gdk_pixbuf."0.2.0".v2_32 or false) || (gdk_pixbuf."0.2.0"."v2_32" or false); } - { "0.2.0".v2_32 = - (f.gdk_pixbuf."0.2.0".v2_32 or false) || + { "0.2.0"."v2_32" = + (f.gdk_pixbuf."0.2.0"."v2_32" or false) || (f.gdk_pixbuf."0.2.0".v2_36 or false) || (gdk_pixbuf."0.2.0"."v2_36" or false); } + { "0.2.0".default = (f.gdk_pixbuf."0.2.0".default or true); } ]; gdk_pixbuf_sys = fold recursiveUpdate {} [ { "${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_28" = @@ -625,6 +649,7 @@ rec { crates.gdk_pixbuf_sys."0.4.0" = deps: { features?(features_.gdk_pixbuf_sys."0.4.0" deps {}) }: buildRustCrate { crateName = "gdk-pixbuf-sys"; version = "0.4.0"; + description = "FFI bindings to libgdk_pixbuf-2.0"; authors = [ "The Gtk-rs Project Developers" ]; sha256 = "1r98zdqqik3hh1l10jmhhcjx59yk4m0bs9pc7hnkwp2p6gm968vp"; libName = "gdk_pixbuf_sys"; @@ -645,19 +670,19 @@ rec { features_.gdk_pixbuf_sys."0.4.0" = deps: f: updateFeatures f (rec { bitflags."${deps.gdk_pixbuf_sys."0.4.0".bitflags}".default = true; gdk_pixbuf_sys = fold recursiveUpdate {} [ - { "0.4.0".default = (f.gdk_pixbuf_sys."0.4.0".default or true); } - { "0.4.0".v2_28 = - (f.gdk_pixbuf_sys."0.4.0".v2_28 or false) || + { "0.4.0"."v2_28" = + (f.gdk_pixbuf_sys."0.4.0"."v2_28" or false) || (f.gdk_pixbuf_sys."0.4.0".v2_30 or false) || (gdk_pixbuf_sys."0.4.0"."v2_30" or false); } - { "0.4.0".v2_30 = - (f.gdk_pixbuf_sys."0.4.0".v2_30 or false) || + { "0.4.0"."v2_30" = + (f.gdk_pixbuf_sys."0.4.0"."v2_30" or false) || (f.gdk_pixbuf_sys."0.4.0".v2_32 or false) || (gdk_pixbuf_sys."0.4.0"."v2_32" or false); } - { "0.4.0".v2_32 = - (f.gdk_pixbuf_sys."0.4.0".v2_32 or false) || + { "0.4.0"."v2_32" = + (f.gdk_pixbuf_sys."0.4.0"."v2_32" or false) || (f.gdk_pixbuf_sys."0.4.0".v2_36 or false) || (gdk_pixbuf_sys."0.4.0"."v2_36" or false); } + { "0.4.0".default = (f.gdk_pixbuf_sys."0.4.0".default or true); } ]; gio_sys."${deps.gdk_pixbuf_sys."0.4.0".gio_sys}".default = true; glib_sys."${deps.gdk_pixbuf_sys."0.4.0".glib_sys}".default = true; @@ -680,6 +705,7 @@ rec { crates.getopts."0.2.18" = deps: { features?(features_.getopts."0.2.18" deps {}) }: buildRustCrate { crateName = "getopts"; version = "0.2.18"; + description = "getopts-like option parsing.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "0c1m95wg8pkvdq4mwcd2v78r1lb6a5s3ljm7158dsl56mvzcwd5y"; dependencies = mapFeatures features ([ @@ -700,6 +726,7 @@ rec { crates.gio_sys."0.4.0" = deps: { features?(features_.gio_sys."0.4.0" deps {}) }: buildRustCrate { crateName = "gio-sys"; version = "0.4.0"; + description = "FFI bindings to libgio-2.0"; authors = [ "The Gtk-rs Project Developers" ]; sha256 = "064lv6h3qfgjzc6pbbxgln24b2fq9gxzh78z6d7fwfa97azllv2l"; libName = "gio_sys"; @@ -719,39 +746,39 @@ rec { features_.gio_sys."0.4.0" = deps: f: updateFeatures f (rec { bitflags."${deps.gio_sys."0.4.0".bitflags}".default = true; gio_sys = fold recursiveUpdate {} [ - { "0.4.0".default = (f.gio_sys."0.4.0".default or true); } - { "0.4.0".v2_34 = - (f.gio_sys."0.4.0".v2_34 or false) || + { "0.4.0"."v2_34" = + (f.gio_sys."0.4.0"."v2_34" or false) || (f.gio_sys."0.4.0".v2_36 or false) || (gio_sys."0.4.0"."v2_36" or false); } - { "0.4.0".v2_36 = - (f.gio_sys."0.4.0".v2_36 or false) || + { "0.4.0"."v2_36" = + (f.gio_sys."0.4.0"."v2_36" or false) || (f.gio_sys."0.4.0".v2_38 or false) || (gio_sys."0.4.0"."v2_38" or false); } - { "0.4.0".v2_38 = - (f.gio_sys."0.4.0".v2_38 or false) || + { "0.4.0"."v2_38" = + (f.gio_sys."0.4.0"."v2_38" or false) || (f.gio_sys."0.4.0".v2_40 or false) || (gio_sys."0.4.0"."v2_40" or false); } - { "0.4.0".v2_40 = - (f.gio_sys."0.4.0".v2_40 or false) || + { "0.4.0"."v2_40" = + (f.gio_sys."0.4.0"."v2_40" or false) || (f.gio_sys."0.4.0".v2_42 or false) || (gio_sys."0.4.0"."v2_42" or false); } - { "0.4.0".v2_42 = - (f.gio_sys."0.4.0".v2_42 or false) || + { "0.4.0"."v2_42" = + (f.gio_sys."0.4.0"."v2_42" or false) || (f.gio_sys."0.4.0".v2_44 or false) || (gio_sys."0.4.0"."v2_44" or false); } - { "0.4.0".v2_44 = - (f.gio_sys."0.4.0".v2_44 or false) || + { "0.4.0"."v2_44" = + (f.gio_sys."0.4.0"."v2_44" or false) || (f.gio_sys."0.4.0".v2_46 or false) || (gio_sys."0.4.0"."v2_46" or false); } - { "0.4.0".v2_46 = - (f.gio_sys."0.4.0".v2_46 or false) || + { "0.4.0"."v2_46" = + (f.gio_sys."0.4.0"."v2_46" or false) || (f.gio_sys."0.4.0".v2_48 or false) || (gio_sys."0.4.0"."v2_48" or false); } - { "0.4.0".v2_48 = - (f.gio_sys."0.4.0".v2_48 or false) || + { "0.4.0"."v2_48" = + (f.gio_sys."0.4.0"."v2_48" or false) || (f.gio_sys."0.4.0".v2_50 or false) || (gio_sys."0.4.0"."v2_50" or false); } + { "0.4.0".default = (f.gio_sys."0.4.0".default or true); } ]; glib_sys."${deps.gio_sys."0.4.0".glib_sys}".default = true; gobject_sys."${deps.gio_sys."0.4.0".gobject_sys}".default = true; @@ -772,6 +799,7 @@ rec { crates.glib."0.3.1" = deps: { features?(features_.glib."0.3.1" deps {}) }: buildRustCrate { crateName = "glib"; version = "0.3.1"; + description = "Rust bindings for the GLib library"; authors = [ "The Gtk-rs Project Developers" ]; sha256 = "00s3n0pd8by1fk2l01mxmbnqq4ff6wadnkcf9jbjvr1l9bzgyqbl"; dependencies = mapFeatures features ([ @@ -786,31 +814,31 @@ rec { features_.glib."0.3.1" = deps: f: updateFeatures f (rec { bitflags."${deps.glib."0.3.1".bitflags}".default = true; glib = fold recursiveUpdate {} [ - { "0.3.1".default = (f.glib."0.3.1".default or true); } - { "0.3.1".v2_34 = - (f.glib."0.3.1".v2_34 or false) || + { "0.3.1"."v2_34" = + (f.glib."0.3.1"."v2_34" or false) || (f.glib."0.3.1".v2_38 or false) || (glib."0.3.1"."v2_38" or false); } - { "0.3.1".v2_38 = - (f.glib."0.3.1".v2_38 or false) || + { "0.3.1"."v2_38" = + (f.glib."0.3.1"."v2_38" or false) || (f.glib."0.3.1".v2_40 or false) || (glib."0.3.1"."v2_40" or false); } - { "0.3.1".v2_40 = - (f.glib."0.3.1".v2_40 or false) || + { "0.3.1"."v2_40" = + (f.glib."0.3.1"."v2_40" or false) || (f.glib."0.3.1".v2_44 or false) || (glib."0.3.1"."v2_44" or false); } - { "0.3.1".v2_44 = - (f.glib."0.3.1".v2_44 or false) || + { "0.3.1"."v2_44" = + (f.glib."0.3.1"."v2_44" or false) || (f.glib."0.3.1".v2_46 or false) || (glib."0.3.1"."v2_46" or false); } - { "0.3.1".v2_46 = - (f.glib."0.3.1".v2_46 or false) || + { "0.3.1"."v2_46" = + (f.glib."0.3.1"."v2_46" or false) || (f.glib."0.3.1".v2_48 or false) || (glib."0.3.1"."v2_48" or false); } - { "0.3.1".v2_48 = - (f.glib."0.3.1".v2_48 or false) || + { "0.3.1"."v2_48" = + (f.glib."0.3.1"."v2_48" or false) || (f.glib."0.3.1".v2_50 or false) || (glib."0.3.1"."v2_50" or false); } + { "0.3.1".default = (f.glib."0.3.1".default or true); } ]; glib_sys = fold recursiveUpdate {} [ { "${deps.glib."0.3.1".glib_sys}"."v2_34" = @@ -879,6 +907,7 @@ rec { crates.glib_sys."0.4.0" = deps: { features?(features_.glib_sys."0.4.0" deps {}) }: buildRustCrate { crateName = "glib-sys"; version = "0.4.0"; + description = "FFI bindings to libglib-2.0"; authors = [ "The Gtk-rs Project Developers" ]; sha256 = "153i1zmk824hdf8agkaqcgddlwpvgng71n7bdpaav5f4zzlfyp2w"; libName = "glib_sys"; @@ -896,35 +925,35 @@ rec { features_.glib_sys."0.4.0" = deps: f: updateFeatures f (rec { bitflags."${deps.glib_sys."0.4.0".bitflags}".default = true; glib_sys = fold recursiveUpdate {} [ - { "0.4.0".default = (f.glib_sys."0.4.0".default or true); } - { "0.4.0".v2_34 = - (f.glib_sys."0.4.0".v2_34 or false) || + { "0.4.0"."v2_34" = + (f.glib_sys."0.4.0"."v2_34" or false) || (f.glib_sys."0.4.0".v2_36 or false) || (glib_sys."0.4.0"."v2_36" or false); } - { "0.4.0".v2_36 = - (f.glib_sys."0.4.0".v2_36 or false) || + { "0.4.0"."v2_36" = + (f.glib_sys."0.4.0"."v2_36" or false) || (f.glib_sys."0.4.0".v2_38 or false) || (glib_sys."0.4.0"."v2_38" or false); } - { "0.4.0".v2_38 = - (f.glib_sys."0.4.0".v2_38 or false) || + { "0.4.0"."v2_38" = + (f.glib_sys."0.4.0"."v2_38" or false) || (f.glib_sys."0.4.0".v2_40 or false) || (glib_sys."0.4.0"."v2_40" or false); } - { "0.4.0".v2_40 = - (f.glib_sys."0.4.0".v2_40 or false) || + { "0.4.0"."v2_40" = + (f.glib_sys."0.4.0"."v2_40" or false) || (f.glib_sys."0.4.0".v2_44 or false) || (glib_sys."0.4.0"."v2_44" or false); } - { "0.4.0".v2_44 = - (f.glib_sys."0.4.0".v2_44 or false) || + { "0.4.0"."v2_44" = + (f.glib_sys."0.4.0"."v2_44" or false) || (f.glib_sys."0.4.0".v2_46 or false) || (glib_sys."0.4.0"."v2_46" or false); } - { "0.4.0".v2_46 = - (f.glib_sys."0.4.0".v2_46 or false) || + { "0.4.0"."v2_46" = + (f.glib_sys."0.4.0"."v2_46" or false) || (f.glib_sys."0.4.0".v2_48 or false) || (glib_sys."0.4.0"."v2_48" or false); } - { "0.4.0".v2_48 = - (f.glib_sys."0.4.0".v2_48 or false) || + { "0.4.0"."v2_48" = + (f.glib_sys."0.4.0"."v2_48" or false) || (f.glib_sys."0.4.0".v2_50 or false) || (glib_sys."0.4.0"."v2_50" or false); } + { "0.4.0".default = (f.glib_sys."0.4.0".default or true); } ]; libc."${deps.glib_sys."0.4.0".libc}".default = true; pkg_config."${deps.glib_sys."0.4.0".pkg_config}".default = true; @@ -941,6 +970,7 @@ rec { crates.gobject_sys."0.4.0" = deps: { features?(features_.gobject_sys."0.4.0" deps {}) }: buildRustCrate { crateName = "gobject-sys"; version = "0.4.0"; + description = "FFI bindings to libgobject-2.0"; authors = [ "The Gtk-rs Project Developers" ]; sha256 = "00zmcbzqfhn9w01cphhf3hbq8ldd9ajba7x07z59vv1gdq6wjzli"; libName = "gobject_sys"; @@ -960,27 +990,27 @@ rec { bitflags."${deps.gobject_sys."0.4.0".bitflags}".default = true; glib_sys."${deps.gobject_sys."0.4.0".glib_sys}".default = true; gobject_sys = fold recursiveUpdate {} [ - { "0.4.0".default = (f.gobject_sys."0.4.0".default or true); } - { "0.4.0".v2_34 = - (f.gobject_sys."0.4.0".v2_34 or false) || + { "0.4.0"."v2_34" = + (f.gobject_sys."0.4.0"."v2_34" or false) || (f.gobject_sys."0.4.0".v2_36 or false) || (gobject_sys."0.4.0"."v2_36" or false); } - { "0.4.0".v2_36 = - (f.gobject_sys."0.4.0".v2_36 or false) || + { "0.4.0"."v2_36" = + (f.gobject_sys."0.4.0"."v2_36" or false) || (f.gobject_sys."0.4.0".v2_38 or false) || (gobject_sys."0.4.0"."v2_38" or false); } - { "0.4.0".v2_38 = - (f.gobject_sys."0.4.0".v2_38 or false) || + { "0.4.0"."v2_38" = + (f.gobject_sys."0.4.0"."v2_38" or false) || (f.gobject_sys."0.4.0".v2_42 or false) || (gobject_sys."0.4.0"."v2_42" or false); } - { "0.4.0".v2_42 = - (f.gobject_sys."0.4.0".v2_42 or false) || + { "0.4.0"."v2_42" = + (f.gobject_sys."0.4.0"."v2_42" or false) || (f.gobject_sys."0.4.0".v2_44 or false) || (gobject_sys."0.4.0"."v2_44" or false); } - { "0.4.0".v2_44 = - (f.gobject_sys."0.4.0".v2_44 or false) || + { "0.4.0"."v2_44" = + (f.gobject_sys."0.4.0"."v2_44" or false) || (f.gobject_sys."0.4.0".v2_46 or false) || (gobject_sys."0.4.0"."v2_46" or false); } + { "0.4.0".default = (f.gobject_sys."0.4.0".default or true); } ]; libc."${deps.gobject_sys."0.4.0".libc}".default = true; pkg_config."${deps.gobject_sys."0.4.0".pkg_config}".default = true; @@ -998,6 +1028,7 @@ rec { crates.itoa."0.3.4" = deps: { features?(features_.itoa."0.3.4" deps {}) }: buildRustCrate { crateName = "itoa"; version = "0.3.4"; + description = "Fast functions for printing integer primitives to an io::Write"; authors = [ "David Tolnay " ]; sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9"; features = mkFeatures (features."itoa"."0.3.4" or {}); @@ -1013,6 +1044,7 @@ rec { crates.json_macro."0.1.1" = deps: { features?(features_.json_macro."0.1.1" deps {}) }: buildRustCrate { crateName = "json_macro"; version = "0.1.1"; + description = "Pure json macro for rust_serialize. No need compiler features."; authors = [ "Denis Kolodin " ]; sha256 = "0hl2934shpwqbszrq035valbdz9y8p7dza183brygy5dbvivcyqy"; dependencies = mapFeatures features ([ @@ -1033,6 +1065,7 @@ rec { crates.kernel32_sys."0.2.2" = deps: { features?(features_.kernel32_sys."0.2.2" deps {}) }: buildRustCrate { crateName = "kernel32-sys"; version = "0.2.2"; + description = "Contains function definitions for the Windows API library kernel32. See winapi for types and constants."; authors = [ "Peter Atashian " ]; sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj"; libName = "kernel32"; @@ -1061,6 +1094,7 @@ rec { crates.lazy_static."0.2.11" = deps: { features?(features_.lazy_static."0.2.11" deps {}) }: buildRustCrate { crateName = "lazy_static"; version = "0.2.11"; + description = "A macro for declaring lazily evaluated statics in Rust."; authors = [ "Marvin Löbel " ]; sha256 = "1x6871cvpy5b96yv4c7jvpq316fp5d4609s9py7qk6cd6x9k34vm"; dependencies = mapFeatures features ([ @@ -1069,19 +1103,19 @@ rec { }; features_.lazy_static."0.2.11" = deps: f: updateFeatures f (rec { lazy_static = fold recursiveUpdate {} [ - { "0.2.11".compiletest_rs = - (f.lazy_static."0.2.11".compiletest_rs or false) || + { "0.2.11"."compiletest_rs" = + (f.lazy_static."0.2.11"."compiletest_rs" or false) || (f.lazy_static."0.2.11".compiletest or false) || (lazy_static."0.2.11"."compiletest" or false); } + { "0.2.11"."nightly" = + (f.lazy_static."0.2.11"."nightly" or false) || + (f.lazy_static."0.2.11".spin_no_std or false) || + (lazy_static."0.2.11"."spin_no_std" or false); } + { "0.2.11"."spin" = + (f.lazy_static."0.2.11"."spin" or false) || + (f.lazy_static."0.2.11".spin_no_std or false) || + (lazy_static."0.2.11"."spin_no_std" or false); } { "0.2.11".default = (f.lazy_static."0.2.11".default or true); } - { "0.2.11".nightly = - (f.lazy_static."0.2.11".nightly or false) || - (f.lazy_static."0.2.11".spin_no_std or false) || - (lazy_static."0.2.11"."spin_no_std" or false); } - { "0.2.11".spin = - (f.lazy_static."0.2.11".spin or false) || - (f.lazy_static."0.2.11".spin_no_std or false) || - (lazy_static."0.2.11"."spin_no_std" or false); } ]; }) []; @@ -1092,6 +1126,7 @@ rec { crates.lazy_static."1.2.0" = deps: { features?(features_.lazy_static."1.2.0" deps {}) }: buildRustCrate { crateName = "lazy_static"; version = "1.2.0"; + description = "A macro for declaring lazily evaluated statics in Rust."; authors = [ "Marvin Löbel " ]; sha256 = "07p3b30k2akyr6xw08ggd5qiz5nw3vd3agggj360fcc1njz7d0ss"; dependencies = mapFeatures features ([ @@ -1100,11 +1135,11 @@ rec { }; features_.lazy_static."1.2.0" = deps: f: updateFeatures f (rec { lazy_static = fold recursiveUpdate {} [ - { "1.2.0".default = (f.lazy_static."1.2.0".default or true); } - { "1.2.0".spin = - (f.lazy_static."1.2.0".spin or false) || + { "1.2.0"."spin" = + (f.lazy_static."1.2.0"."spin" or false) || (f.lazy_static."1.2.0".spin_no_std or false) || (lazy_static."1.2.0"."spin_no_std" or false); } + { "1.2.0".default = (f.lazy_static."1.2.0".default or true); } ]; }) []; @@ -1115,6 +1150,7 @@ rec { crates.libc."0.2.44" = deps: { features?(features_.libc."0.2.44" deps {}) }: buildRustCrate { crateName = "libc"; version = "0.2.44"; + description = "A library for types and bindings to native C functions often found in libc or\nother common platform libraries.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "17a7p0lcf3qwl1pcxffdflgnx8zr2659mgzzg4zi5fnv1mlj3q6z"; build = "build.rs"; @@ -1124,19 +1160,19 @@ rec { }; features_.libc."0.2.44" = deps: f: updateFeatures f (rec { libc = fold recursiveUpdate {} [ - { "0.2.44".align = - (f.libc."0.2.44".align or false) || + { "0.2.44"."align" = + (f.libc."0.2.44"."align" or false) || (f.libc."0.2.44".rustc-dep-of-std or false) || (libc."0.2.44"."rustc-dep-of-std" or false); } - { "0.2.44".default = (f.libc."0.2.44".default or true); } - { "0.2.44".rustc-std-workspace-core = - (f.libc."0.2.44".rustc-std-workspace-core or false) || + { "0.2.44"."rustc-std-workspace-core" = + (f.libc."0.2.44"."rustc-std-workspace-core" or false) || (f.libc."0.2.44".rustc-dep-of-std or false) || (libc."0.2.44"."rustc-dep-of-std" or false); } - { "0.2.44".use_std = - (f.libc."0.2.44".use_std or false) || + { "0.2.44"."use_std" = + (f.libc."0.2.44"."use_std" or false) || (f.libc."0.2.44".default or false) || (libc."0.2.44"."default" or false); } + { "0.2.44".default = (f.libc."0.2.44".default or true); } ]; }) []; @@ -1147,6 +1183,7 @@ rec { crates.libloading."0.3.4" = deps: { features?(features_.libloading."0.3.4" deps {}) }: buildRustCrate { crateName = "libloading"; version = "0.3.4"; + description = "A safer binding to platform’s dynamic library loading utilities"; authors = [ "Simonas Kazlauskas " ]; sha256 = "1f2vy32cr434n638nv8sdf05iwa53q9q5ahlcpw1l9ywh1bcbhf1"; build = "build.rs"; @@ -1182,6 +1219,7 @@ rec { crates.libloading."0.5.0" = deps: { features?(features_.libloading."0.5.0" deps {}) }: buildRustCrate { crateName = "libloading"; version = "0.5.0"; + description = "A safer binding to platform’s dynamic library loading utilities"; authors = [ "Simonas Kazlauskas " ]; sha256 = "11vzjaka1y979aril4ggwp33p35yz2isvx9m5w88r5sdcmq6iscn"; build = "build.rs"; @@ -1214,6 +1252,7 @@ rec { crates.log."0.3.9" = deps: { features?(features_.log."0.3.9" deps {}) }: buildRustCrate { crateName = "log"; version = "0.3.9"; + description = "A lightweight logging facade for Rust\n"; authors = [ "The Rust Project Developers" ]; sha256 = "19i9pwp7lhaqgzangcpw00kc3zsgcqcx84crv07xgz3v7d3kvfa2"; dependencies = mapFeatures features ([ @@ -1276,11 +1315,11 @@ rec { (log."0.3.9"."use_std" or false) || (f."log"."0.3.9"."use_std" or false); } { "${deps.log."0.3.9".log}".default = true; } - { "0.3.9".default = (f.log."0.3.9".default or true); } - { "0.3.9".use_std = - (f.log."0.3.9".use_std or false) || + { "0.3.9"."use_std" = + (f.log."0.3.9"."use_std" or false) || (f.log."0.3.9".default or false) || (log."0.3.9"."default" or false); } + { "0.3.9".default = (f.log."0.3.9".default or true); } ]; }) [ (features_.log."${deps."log"."0.3.9"."log"}" deps) @@ -1293,6 +1332,7 @@ rec { crates.log."0.4.6" = deps: { features?(features_.log."0.4.6" deps {}) }: buildRustCrate { crateName = "log"; version = "0.4.6"; + description = "A lightweight logging facade for Rust\n"; authors = [ "The Rust Project Developers" ]; sha256 = "1nd8dl9mvc9vd6fks5d4gsxaz990xi6rzlb8ymllshmwi153vngr"; dependencies = mapFeatures features ([ @@ -1314,6 +1354,7 @@ rec { crates.memchr."0.1.11" = deps: { features?(features_.memchr."0.1.11" deps {}) }: buildRustCrate { crateName = "memchr"; version = "0.1.11"; + description = "Safe interface to memchr."; authors = [ "Andrew Gallant " "bluss" ]; sha256 = "0x73jghamvxxq5fsw9wb0shk5m6qp3q6fsf0nibn0i6bbqkw91s8"; dependencies = mapFeatures features ([ @@ -1334,6 +1375,7 @@ rec { crates.nix."0.6.0" = deps: { features?(features_.nix."0.6.0" deps {}) }: buildRustCrate { crateName = "nix"; version = "0.6.0"; + description = "Rust friendly bindings to *nix APIs"; authors = [ "Carl Lerche " ]; sha256 = "1bgh75y897isnxbw3vd79vns9h6q4d59p1cgv9c4laysyw6fkqwf"; build = "build.rs"; @@ -1374,6 +1416,7 @@ rec { crates.nix."0.9.0" = deps: { features?(features_.nix."0.9.0" deps {}) }: buildRustCrate { crateName = "nix"; version = "0.9.0"; + description = "Rust friendly bindings to *nix APIs"; authors = [ "The nix-rust Project Developers" ]; sha256 = "00p63bphzwwn460rja5l2wcpgmv7ljf7illf6n95cppx63d180q0"; dependencies = mapFeatures features ([ @@ -1403,6 +1446,7 @@ rec { crates.num_traits."0.1.43" = deps: { features?(features_.num_traits."0.1.43" deps {}) }: buildRustCrate { crateName = "num-traits"; version = "0.1.43"; + description = "Numeric traits for generic mathematics"; authors = [ "The Rust Project Developers" ]; sha256 = "1zdzx78vrcg3f39w94pqjs1mwxl1phyv7843hwgwkzggwcxhhf6s"; dependencies = mapFeatures features ([ @@ -1425,6 +1469,7 @@ rec { crates.num_traits."0.2.6" = deps: { features?(features_.num_traits."0.2.6" deps {}) }: buildRustCrate { crateName = "num-traits"; version = "0.2.6"; + description = "Numeric traits for generic mathematics"; authors = [ "The Rust Project Developers" ]; sha256 = "1d20sil9n0wgznd1nycm3yjfj1mzyl41ambb7by1apxlyiil1azk"; build = "build.rs"; @@ -1432,11 +1477,11 @@ rec { }; features_.num_traits."0.2.6" = deps: f: updateFeatures f (rec { num_traits = fold recursiveUpdate {} [ - { "0.2.6".default = (f.num_traits."0.2.6".default or true); } - { "0.2.6".std = - (f.num_traits."0.2.6".std or false) || + { "0.2.6"."std" = + (f.num_traits."0.2.6"."std" or false) || (f.num_traits."0.2.6".default or false) || (num_traits."0.2.6"."default" or false); } + { "0.2.6".default = (f.num_traits."0.2.6".default or true); } ]; }) []; @@ -1447,6 +1492,7 @@ rec { crates.ordermap."0.3.5" = deps: { features?(features_.ordermap."0.3.5" deps {}) }: buildRustCrate { crateName = "ordermap"; version = "0.3.5"; + description = "A hash table with consistent order and fast iteration."; authors = [ "bluss" ]; sha256 = "0b6vxfyh627yqm6war3392g1hhi4dbn49ibx2qv6mv490jdhv7d3"; dependencies = mapFeatures features ([ @@ -1455,11 +1501,11 @@ rec { }; features_.ordermap."0.3.5" = deps: f: updateFeatures f (rec { ordermap = fold recursiveUpdate {} [ - { "0.3.5".default = (f.ordermap."0.3.5".default or true); } - { "0.3.5".serde = - (f.ordermap."0.3.5".serde or false) || + { "0.3.5"."serde" = + (f.ordermap."0.3.5"."serde" or false) || (f.ordermap."0.3.5".serde-1 or false) || (ordermap."0.3.5"."serde-1" or false); } + { "0.3.5".default = (f.ordermap."0.3.5".default or true); } ]; }) []; @@ -1470,6 +1516,7 @@ rec { crates.petgraph."0.4.13" = deps: { features?(features_.petgraph."0.4.13" deps {}) }: buildRustCrate { crateName = "petgraph"; version = "0.4.13"; + description = "Graph data structure library. Provides graph types and graph algorithms."; authors = [ "bluss" "mitchmindtree" ]; sha256 = "0a8k12b9vd0bndwqhafa853w186axdw05bv4kqjimyaz67428g1i"; dependencies = mapFeatures features ([ @@ -1482,43 +1529,43 @@ rec { fixedbitset."${deps.petgraph."0.4.13".fixedbitset}".default = true; ordermap."${deps.petgraph."0.4.13".ordermap}".default = true; petgraph = fold recursiveUpdate {} [ - { "0.4.13".default = (f.petgraph."0.4.13".default or true); } - { "0.4.13".generate = - (f.petgraph."0.4.13".generate or false) || + { "0.4.13"."generate" = + (f.petgraph."0.4.13"."generate" or false) || (f.petgraph."0.4.13".unstable or false) || (petgraph."0.4.13"."unstable" or false); } - { "0.4.13".graphmap = - (f.petgraph."0.4.13".graphmap or false) || + { "0.4.13"."graphmap" = + (f.petgraph."0.4.13"."graphmap" or false) || (f.petgraph."0.4.13".all or false) || (petgraph."0.4.13"."all" or false) || (f.petgraph."0.4.13".default or false) || (petgraph."0.4.13"."default" or false); } - { "0.4.13".ordermap = - (f.petgraph."0.4.13".ordermap or false) || + { "0.4.13"."ordermap" = + (f.petgraph."0.4.13"."ordermap" or false) || (f.petgraph."0.4.13".graphmap or false) || (petgraph."0.4.13"."graphmap" or false); } - { "0.4.13".quickcheck = - (f.petgraph."0.4.13".quickcheck or false) || + { "0.4.13"."quickcheck" = + (f.petgraph."0.4.13"."quickcheck" or false) || (f.petgraph."0.4.13".all or false) || (petgraph."0.4.13"."all" or false); } - { "0.4.13".serde = - (f.petgraph."0.4.13".serde or false) || + { "0.4.13"."serde" = + (f.petgraph."0.4.13"."serde" or false) || (f.petgraph."0.4.13".serde-1 or false) || (petgraph."0.4.13"."serde-1" or false); } - { "0.4.13".serde_derive = - (f.petgraph."0.4.13".serde_derive or false) || + { "0.4.13"."serde_derive" = + (f.petgraph."0.4.13"."serde_derive" or false) || (f.petgraph."0.4.13".serde-1 or false) || (petgraph."0.4.13"."serde-1" or false); } - { "0.4.13".stable_graph = - (f.petgraph."0.4.13".stable_graph or false) || + { "0.4.13"."stable_graph" = + (f.petgraph."0.4.13"."stable_graph" or false) || (f.petgraph."0.4.13".all or false) || (petgraph."0.4.13"."all" or false) || (f.petgraph."0.4.13".default or false) || (petgraph."0.4.13"."default" or false); } - { "0.4.13".unstable = - (f.petgraph."0.4.13".unstable or false) || + { "0.4.13"."unstable" = + (f.petgraph."0.4.13"."unstable" or false) || (f.petgraph."0.4.13".all or false) || (petgraph."0.4.13"."all" or false); } + { "0.4.13".default = (f.petgraph."0.4.13".default or true); } ]; }) [ (features_.fixedbitset."${deps."petgraph"."0.4.13"."fixedbitset"}" deps) @@ -1532,6 +1579,7 @@ rec { crates.phf."0.7.23" = deps: { features?(features_.phf."0.7.23" deps {}) }: buildRustCrate { crateName = "phf"; version = "0.7.23"; + description = "Runtime support for perfect hash function data structures"; authors = [ "Steven Fackler " ]; sha256 = "0annmaf9mmm12g2cdwpip32p674pmsf6xpiwa27mz3glmz73y8aq"; libPath = "src/lib.rs"; @@ -1564,6 +1612,7 @@ rec { crates.phf_codegen."0.7.23" = deps: { features?(features_.phf_codegen."0.7.23" deps {}) }: buildRustCrate { crateName = "phf_codegen"; version = "0.7.23"; + description = "Codegen library for PHF types"; authors = [ "Steven Fackler " ]; sha256 = "0k5ly0qykw56fxd19iy236wzghqdxq9zxnzcg8nm22cfzw4a35n0"; dependencies = mapFeatures features ([ @@ -1587,6 +1636,7 @@ rec { crates.phf_generator."0.7.23" = deps: { features?(features_.phf_generator."0.7.23" deps {}) }: buildRustCrate { crateName = "phf_generator"; version = "0.7.23"; + description = "PHF generation logic"; authors = [ "Steven Fackler " ]; sha256 = "106cd0bx3jf7mf2gaa8nx62c1las1w95c5gwsd4yqm5lj2rj4mza"; dependencies = mapFeatures features ([ @@ -1610,6 +1660,7 @@ rec { crates.phf_shared."0.7.23" = deps: { features?(features_.phf_shared."0.7.23" deps {}) }: buildRustCrate { crateName = "phf_shared"; version = "0.7.23"; + description = "Support code shared by PHF libraries"; authors = [ "Steven Fackler " ]; sha256 = "04gzsq9vg9j8cr39hpkddxb0yqjdknvcpnylw112rqamy7ml4fy1"; libPath = "src/lib.rs"; @@ -1632,6 +1683,7 @@ rec { crates.pkg_config."0.3.14" = deps: { features?(features_.pkg_config."0.3.14" deps {}) }: buildRustCrate { crateName = "pkg-config"; version = "0.3.14"; + description = "A library to run the pkg-config system tool at build time in order to be used in\nCargo build scripts.\n"; authors = [ "Alex Crichton " ]; sha256 = "0207fsarrm412j0dh87lfcas72n8mxar7q3mgflsbsrqnb140sv6"; }; @@ -1646,6 +1698,7 @@ rec { crates.rand."0.3.22" = deps: { features?(features_.rand."0.3.22" deps {}) }: buildRustCrate { crateName = "rand"; version = "0.3.22"; + description = "Random number generators and other randomness functionality.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "0wrj12acx7l4hr7ag3nz8b50yhp8ancyq988bzmnnsxln67rsys0"; dependencies = mapFeatures features ([ @@ -1662,11 +1715,11 @@ rec { libc."${deps.rand."0.3.22".libc}".default = true; rand = fold recursiveUpdate {} [ { "${deps.rand."0.3.22".rand}".default = true; } - { "0.3.22".default = (f.rand."0.3.22".default or true); } - { "0.3.22".i128_support = - (f.rand."0.3.22".i128_support or false) || + { "0.3.22"."i128_support" = + (f.rand."0.3.22"."i128_support" or false) || (f.rand."0.3.22".nightly or false) || (rand."0.3.22"."nightly" or false); } + { "0.3.22".default = (f.rand."0.3.22".default or true); } ]; }) [ (features_.libc."${deps."rand"."0.3.22"."libc"}" deps) @@ -1681,6 +1734,7 @@ rec { crates.rand."0.4.3" = deps: { features?(features_.rand."0.4.3" deps {}) }: buildRustCrate { crateName = "rand"; version = "0.4.3"; + description = "Random number generators and other randomness functionality.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "1644wri45l147822xy7dgdm4k7myxzs66cb795ga0x7dan11ci4f"; dependencies = (if kernel == "fuchsia" then mapFeatures features ([ @@ -1698,19 +1752,19 @@ rec { fuchsia_zircon."${deps.rand."0.4.3".fuchsia_zircon}".default = true; libc."${deps.rand."0.4.3".libc}".default = true; rand = fold recursiveUpdate {} [ - { "0.4.3".default = (f.rand."0.4.3".default or true); } - { "0.4.3".i128_support = - (f.rand."0.4.3".i128_support or false) || + { "0.4.3"."i128_support" = + (f.rand."0.4.3"."i128_support" or false) || (f.rand."0.4.3".nightly or false) || (rand."0.4.3"."nightly" or false); } - { "0.4.3".libc = - (f.rand."0.4.3".libc or false) || + { "0.4.3"."libc" = + (f.rand."0.4.3"."libc" or false) || (f.rand."0.4.3".std or false) || (rand."0.4.3"."std" or false); } - { "0.4.3".std = - (f.rand."0.4.3".std or false) || + { "0.4.3"."std" = + (f.rand."0.4.3"."std" or false) || (f.rand."0.4.3".default or false) || (rand."0.4.3"."default" or false); } + { "0.4.3".default = (f.rand."0.4.3".default or true); } ]; winapi = fold recursiveUpdate {} [ { "${deps.rand."0.4.3".winapi}"."minwindef" = true; } @@ -1732,6 +1786,7 @@ rec { crates.rand."0.5.5" = deps: { features?(features_.rand."0.5.5" deps {}) }: buildRustCrate { crateName = "rand"; version = "0.5.5"; + description = "Random number generators and other randomness functionality.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "0d7pnsh57qxhz1ghrzk113ddkn13kf2g758ffnbxq4nhwjfzhlc9"; dependencies = mapFeatures features ([ @@ -1758,43 +1813,43 @@ rec { fuchsia_zircon."${deps.rand."0.5.5".fuchsia_zircon}".default = true; libc."${deps.rand."0.5.5".libc}".default = true; rand = fold recursiveUpdate {} [ - { "0.5.5".alloc = - (f.rand."0.5.5".alloc or false) || + { "0.5.5"."alloc" = + (f.rand."0.5.5"."alloc" or false) || (f.rand."0.5.5".std or false) || (rand."0.5.5"."std" or false); } - { "0.5.5".cloudabi = - (f.rand."0.5.5".cloudabi or false) || + { "0.5.5"."cloudabi" = + (f.rand."0.5.5"."cloudabi" or false) || + (f.rand."0.5.5".std or false) || + (rand."0.5.5"."std" or false); } + { "0.5.5"."fuchsia-zircon" = + (f.rand."0.5.5"."fuchsia-zircon" or false) || + (f.rand."0.5.5".std or false) || + (rand."0.5.5"."std" or false); } + { "0.5.5"."i128_support" = + (f.rand."0.5.5"."i128_support" or false) || + (f.rand."0.5.5".nightly or false) || + (rand."0.5.5"."nightly" or false); } + { "0.5.5"."libc" = + (f.rand."0.5.5"."libc" or false) || + (f.rand."0.5.5".std or false) || + (rand."0.5.5"."std" or false); } + { "0.5.5"."serde" = + (f.rand."0.5.5"."serde" or false) || + (f.rand."0.5.5".serde1 or false) || + (rand."0.5.5"."serde1" or false); } + { "0.5.5"."serde_derive" = + (f.rand."0.5.5"."serde_derive" or false) || + (f.rand."0.5.5".serde1 or false) || + (rand."0.5.5"."serde1" or false); } + { "0.5.5"."std" = + (f.rand."0.5.5"."std" or false) || + (f.rand."0.5.5".default or false) || + (rand."0.5.5"."default" or false); } + { "0.5.5"."winapi" = + (f.rand."0.5.5"."winapi" or false) || (f.rand."0.5.5".std or false) || (rand."0.5.5"."std" or false); } { "0.5.5".default = (f.rand."0.5.5".default or true); } - { "0.5.5".fuchsia-zircon = - (f.rand."0.5.5".fuchsia-zircon or false) || - (f.rand."0.5.5".std or false) || - (rand."0.5.5"."std" or false); } - { "0.5.5".i128_support = - (f.rand."0.5.5".i128_support or false) || - (f.rand."0.5.5".nightly or false) || - (rand."0.5.5"."nightly" or false); } - { "0.5.5".libc = - (f.rand."0.5.5".libc or false) || - (f.rand."0.5.5".std or false) || - (rand."0.5.5"."std" or false); } - { "0.5.5".serde = - (f.rand."0.5.5".serde or false) || - (f.rand."0.5.5".serde1 or false) || - (rand."0.5.5"."serde1" or false); } - { "0.5.5".serde_derive = - (f.rand."0.5.5".serde_derive or false) || - (f.rand."0.5.5".serde1 or false) || - (rand."0.5.5"."serde1" or false); } - { "0.5.5".std = - (f.rand."0.5.5".std or false) || - (f.rand."0.5.5".default or false) || - (rand."0.5.5"."default" or false); } - { "0.5.5".winapi = - (f.rand."0.5.5".winapi or false) || - (f.rand."0.5.5".std or false) || - (rand."0.5.5"."std" or false); } ]; rand_core = fold recursiveUpdate {} [ { "${deps.rand."0.5.5".rand_core}"."alloc" = @@ -1833,6 +1888,7 @@ rec { crates.rand_core."0.2.2" = deps: { features?(features_.rand_core."0.2.2" deps {}) }: buildRustCrate { crateName = "rand_core"; version = "0.2.2"; + description = "Core random number generator traits and tools for implementation.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "1cxnaxmsirz2wxsajsjkd1wk6lqfqbcprqkha4bq3didznrl22sc"; dependencies = mapFeatures features ([ @@ -1868,6 +1924,7 @@ rec { crates.rand_core."0.3.0" = deps: { features?(features_.rand_core."0.3.0" deps {}) }: buildRustCrate { crateName = "rand_core"; version = "0.3.0"; + description = "Core random number generator traits and tools for implementation.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "1vafw316apjys9va3j987s02djhqp7y21v671v3ix0p5j9bjq339"; dependencies = mapFeatures features ([ @@ -1876,23 +1933,23 @@ rec { }; features_.rand_core."0.3.0" = deps: f: updateFeatures f (rec { rand_core = fold recursiveUpdate {} [ - { "0.3.0".alloc = - (f.rand_core."0.3.0".alloc or false) || + { "0.3.0"."alloc" = + (f.rand_core."0.3.0"."alloc" or false) || (f.rand_core."0.3.0".std or false) || (rand_core."0.3.0"."std" or false); } - { "0.3.0".default = (f.rand_core."0.3.0".default or true); } - { "0.3.0".serde = - (f.rand_core."0.3.0".serde or false) || + { "0.3.0"."serde" = + (f.rand_core."0.3.0"."serde" or false) || (f.rand_core."0.3.0".serde1 or false) || (rand_core."0.3.0"."serde1" or false); } - { "0.3.0".serde_derive = - (f.rand_core."0.3.0".serde_derive or false) || + { "0.3.0"."serde_derive" = + (f.rand_core."0.3.0"."serde_derive" or false) || (f.rand_core."0.3.0".serde1 or false) || (rand_core."0.3.0"."serde1" or false); } - { "0.3.0".std = - (f.rand_core."0.3.0".std or false) || + { "0.3.0"."std" = + (f.rand_core."0.3.0"."std" or false) || (f.rand_core."0.3.0".default or false) || (rand_core."0.3.0"."default" or false); } + { "0.3.0".default = (f.rand_core."0.3.0".default or true); } ]; }) []; @@ -1903,6 +1960,7 @@ rec { crates.regex."0.1.80" = deps: { features?(features_.regex."0.1.80" deps {}) }: buildRustCrate { crateName = "regex"; version = "0.1.80"; + description = "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "0y4s8ghhx6sgzb35irwivm3w0l2hhqhmdcd2px9hirqnkagal9l6"; dependencies = mapFeatures features ([ @@ -1918,11 +1976,11 @@ rec { aho_corasick."${deps.regex."0.1.80".aho_corasick}".default = true; memchr."${deps.regex."0.1.80".memchr}".default = true; regex = fold recursiveUpdate {} [ - { "0.1.80".default = (f.regex."0.1.80".default or true); } - { "0.1.80".simd = - (f.regex."0.1.80".simd or false) || + { "0.1.80"."simd" = + (f.regex."0.1.80"."simd" or false) || (f.regex."0.1.80".simd-accel or false) || (regex."0.1.80"."simd-accel" or false); } + { "0.1.80".default = (f.regex."0.1.80".default or true); } ]; regex_syntax."${deps.regex."0.1.80".regex_syntax}".default = true; thread_local."${deps.regex."0.1.80".thread_local}".default = true; @@ -1942,6 +2000,7 @@ rec { crates.regex_syntax."0.3.9" = deps: { features?(features_.regex_syntax."0.3.9" deps {}) }: buildRustCrate { crateName = "regex-syntax"; version = "0.3.9"; + description = "A regular expression parser."; authors = [ "The Rust Project Developers" ]; sha256 = "1mzhphkbwppwd1zam2jkgjk550cqgf6506i87bw2yzrvcsraiw7m"; }; @@ -1956,6 +2015,7 @@ rec { crates.rlua."0.9.7" = deps: { features?(features_.rlua."0.9.7" deps {}) }: buildRustCrate { crateName = "rlua"; version = "0.9.7"; + description = "High level bindings to Lua 5.3"; authors = [ "kyren " ]; sha256 = "1671b5ga54aq49sqx69hvnjr732hf9jpqwswwxgpcqq8q05mfzgp"; dependencies = mapFeatures features ([ @@ -1971,15 +2031,15 @@ rec { gcc."${deps.rlua."0.9.7".gcc}".default = true; libc."${deps.rlua."0.9.7".libc}".default = true; rlua = fold recursiveUpdate {} [ - { "0.9.7".builtin-lua = - (f.rlua."0.9.7".builtin-lua or false) || + { "0.9.7"."builtin-lua" = + (f.rlua."0.9.7"."builtin-lua" or false) || (f.rlua."0.9.7".default or false) || (rlua."0.9.7"."default" or false); } - { "0.9.7".default = (f.rlua."0.9.7".default or true); } - { "0.9.7".gcc = - (f.rlua."0.9.7".gcc or false) || + { "0.9.7"."gcc" = + (f.rlua."0.9.7"."gcc" or false) || (f.rlua."0.9.7".builtin-lua or false) || (rlua."0.9.7"."builtin-lua" or false); } + { "0.9.7".default = (f.rlua."0.9.7".default or true); } ]; }) [ (features_.libc."${deps."rlua"."0.9.7"."libc"}" deps) @@ -1993,6 +2053,7 @@ rec { crates.rustc_serialize."0.3.24" = deps: { features?(features_.rustc_serialize."0.3.24" deps {}) }: buildRustCrate { crateName = "rustc-serialize"; version = "0.3.24"; + description = "Generic serialization/deserialization support corresponding to the\n`derive(RustcEncodable, RustcDecodable)` mode in the compiler. Also includes\nsupport for hex, base64, and json encoding and decoding.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "0rfk6p66mqkd3g36l0ddlv2rvnp1mp3lrq5frq9zz5cbnz5pmmxn"; }; @@ -2007,6 +2068,7 @@ rec { crates.rustc_version."0.1.7" = deps: { features?(features_.rustc_version."0.1.7" deps {}) }: buildRustCrate { crateName = "rustc_version"; version = "0.1.7"; + description = "A library for querying the version of a installed rustc compiler"; authors = [ "Marvin Löbel " ]; sha256 = "0plm9pbyvcwfibd0kbhzil9xmr1bvqi8fgwlfw0x4vali8s6s99p"; dependencies = mapFeatures features ([ @@ -2027,6 +2089,7 @@ rec { crates.rustwlc."0.7.0" = deps: { features?(features_.rustwlc."0.7.0" deps {}) }: buildRustCrate { crateName = "rustwlc"; version = "0.7.0"; + description = "wlc Wayland library bindings for Rust"; authors = [ "Snirk Immington " "Timidger " ]; sha256 = "0gqi9pdw74al33ja25h33q68vnfklj3gpjgkiqqbr3gflgli5h1i"; build = "build.rs"; @@ -2041,11 +2104,11 @@ rec { bitflags."${deps.rustwlc."0.7.0".bitflags}".default = true; libc."${deps.rustwlc."0.7.0".libc}".default = true; rustwlc = fold recursiveUpdate {} [ - { "0.7.0".default = (f.rustwlc."0.7.0".default or true); } - { "0.7.0".wayland-sys = - (f.rustwlc."0.7.0".wayland-sys or false) || + { "0.7.0"."wayland-sys" = + (f.rustwlc."0.7.0"."wayland-sys" or false) || (f.rustwlc."0.7.0".wlc-wayland or false) || (rustwlc."0.7.0"."wlc-wayland" or false); } + { "0.7.0".default = (f.rustwlc."0.7.0".default or true); } ]; wayland_sys = fold recursiveUpdate {} [ { "${deps.rustwlc."0.7.0".wayland_sys}"."server" = true; } @@ -2064,6 +2127,7 @@ rec { crates.semver."0.1.20" = deps: { features?(features_.semver."0.1.20" deps {}) }: buildRustCrate { crateName = "semver"; version = "0.1.20"; + description = "Semantic version parsing and comparison.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "05cdig0071hls2k8lxbqmyqpl0zjmc53i2d43mwzps033b8njh4n"; }; @@ -2078,6 +2142,7 @@ rec { crates.serde."0.9.15" = deps: { features?(features_.serde."0.9.15" deps {}) }: buildRustCrate { crateName = "serde"; version = "0.9.15"; + description = "A generic serialization/deserialization framework"; authors = [ "Erick Tryzelaar " ]; sha256 = "0rlflkc57kvy69hnhj4arfsj7ic4hpihxsb00zg5lkdxfj5qjx9b"; dependencies = mapFeatures features ([ @@ -2086,29 +2151,29 @@ rec { }; features_.serde."0.9.15" = deps: f: updateFeatures f (rec { serde = fold recursiveUpdate {} [ - { "0.9.15".alloc = - (f.serde."0.9.15".alloc or false) || + { "0.9.15"."alloc" = + (f.serde."0.9.15"."alloc" or false) || (f.serde."0.9.15".collections or false) || (serde."0.9.15"."collections" or false); } - { "0.9.15".default = (f.serde."0.9.15".default or true); } - { "0.9.15".serde_derive = - (f.serde."0.9.15".serde_derive or false) || + { "0.9.15"."serde_derive" = + (f.serde."0.9.15"."serde_derive" or false) || (f.serde."0.9.15".derive or false) || (serde."0.9.15"."derive" or false) || (f.serde."0.9.15".playground or false) || (serde."0.9.15"."playground" or false); } - { "0.9.15".std = - (f.serde."0.9.15".std or false) || + { "0.9.15"."std" = + (f.serde."0.9.15"."std" or false) || (f.serde."0.9.15".default or false) || (serde."0.9.15"."default" or false) || (f.serde."0.9.15".unstable-testing or false) || (serde."0.9.15"."unstable-testing" or false); } - { "0.9.15".unstable = - (f.serde."0.9.15".unstable or false) || + { "0.9.15"."unstable" = + (f.serde."0.9.15"."unstable" or false) || (f.serde."0.9.15".alloc or false) || (serde."0.9.15"."alloc" or false) || (f.serde."0.9.15".unstable-testing or false) || (serde."0.9.15"."unstable-testing" or false); } + { "0.9.15".default = (f.serde."0.9.15".default or true); } ]; }) []; @@ -2119,6 +2184,7 @@ rec { crates.serde_json."0.9.10" = deps: { features?(features_.serde_json."0.9.10" deps {}) }: buildRustCrate { crateName = "serde_json"; version = "0.9.10"; + description = "A JSON serialization file format"; authors = [ "Erick Tryzelaar " ]; sha256 = "0g6bxlfnvf2miicnsizyrxm686rfval6gbss1i2qcna8msfwc005"; dependencies = mapFeatures features ([ @@ -2135,11 +2201,11 @@ rec { num_traits."${deps.serde_json."0.9.10".num_traits}".default = true; serde."${deps.serde_json."0.9.10".serde}".default = true; serde_json = fold recursiveUpdate {} [ - { "0.9.10".default = (f.serde_json."0.9.10".default or true); } - { "0.9.10".linked-hash-map = - (f.serde_json."0.9.10".linked-hash-map or false) || + { "0.9.10"."linked-hash-map" = + (f.serde_json."0.9.10"."linked-hash-map" or false) || (f.serde_json."0.9.10".preserve_order or false) || (serde_json."0.9.10"."preserve_order" or false); } + { "0.9.10".default = (f.serde_json."0.9.10".default or true); } ]; }) [ (features_.dtoa."${deps."serde_json"."0.9.10"."dtoa"}" deps) @@ -2155,6 +2221,7 @@ rec { crates.siphasher."0.2.3" = deps: { features?(features_.siphasher."0.2.3" deps {}) }: buildRustCrate { crateName = "siphasher"; version = "0.2.3"; + description = "SipHash functions from rust-core < 1.13"; authors = [ "Frank Denis " ]; sha256 = "1ganj1grxqnkvv4ds3vby039bm999jrr58nfq2x3kjhzkw2bnqkw"; }; @@ -2169,6 +2236,7 @@ rec { crates.target_build_utils."0.3.1" = deps: { features?(features_.target_build_utils."0.3.1" deps {}) }: buildRustCrate { crateName = "target_build_utils"; version = "0.3.1"; + description = "DEPRECATED: Use Cargo environment variables `CARGO_CFG_TARGET_*`"; authors = [ "Simonas Kazlauskas " ]; sha256 = "1b450nyxlbgicp2p45mhxiv6yv0z7s4iw01lsaqh3v7b4bm53flj"; build = "build.rs"; @@ -2187,11 +2255,11 @@ rec { phf_codegen."${deps.target_build_utils."0.3.1".phf_codegen}".default = true; serde_json."${deps.target_build_utils."0.3.1".serde_json}".default = true; target_build_utils = fold recursiveUpdate {} [ - { "0.3.1".default = (f.target_build_utils."0.3.1".default or true); } - { "0.3.1".serde_json = - (f.target_build_utils."0.3.1".serde_json or false) || + { "0.3.1"."serde_json" = + (f.target_build_utils."0.3.1"."serde_json" or false) || (f.target_build_utils."0.3.1".default or false) || (target_build_utils."0.3.1"."default" or false); } + { "0.3.1".default = (f.target_build_utils."0.3.1".default or true); } ]; }) [ (features_.phf."${deps."target_build_utils"."0.3.1"."phf"}" deps) @@ -2206,6 +2274,7 @@ rec { crates.thread_id."2.0.0" = deps: { features?(features_.thread_id."2.0.0" deps {}) }: buildRustCrate { crateName = "thread-id"; version = "2.0.0"; + description = "Get a unique thread ID"; authors = [ "Ruud van Asseldonk " ]; sha256 = "06i3c8ckn97i5rp16civ2vpqbknlkx66dkrl070iw60nawi0kjc3"; dependencies = mapFeatures features ([ @@ -2229,6 +2298,7 @@ rec { crates.thread_local."0.2.7" = deps: { features?(features_.thread_local."0.2.7" deps {}) }: buildRustCrate { crateName = "thread_local"; version = "0.2.7"; + description = "Per-object thread-local storage"; authors = [ "Amanieu d'Antras " ]; sha256 = "19p0zrs24rdwjvpi10jig5ms3sxj00pv8shkr9cpddri8cdghqp7"; dependencies = mapFeatures features ([ @@ -2249,6 +2319,7 @@ rec { crates.token_store."0.1.2" = deps: { features?(features_.token_store."0.1.2" deps {}) }: buildRustCrate { crateName = "token_store"; version = "0.1.2"; + description = "A token-based store for arbitrary values"; authors = [ "Victor Berger " ]; sha256 = "1v7acraqyh6iibg87pwkxm41v783sminxm5k9f4ndra7r0vq4zvq"; }; @@ -2263,6 +2334,7 @@ rec { crates.unicode_width."0.1.5" = deps: { features?(features_.unicode_width."0.1.5" deps {}) }: buildRustCrate { crateName = "unicode-width"; version = "0.1.5"; + description = "Determine displayed width of `char` and `str` types\naccording to Unicode Standard Annex #11 rules.\n"; authors = [ "kwantam " ]; sha256 = "0886lc2aymwgy0lhavwn6s48ik3c61ykzzd3za6prgnw51j7bi4w"; features = mkFeatures (features."unicode_width"."0.1.5" or {}); @@ -2278,6 +2350,7 @@ rec { crates.utf8_ranges."0.1.3" = deps: { features?(features_.utf8_ranges."0.1.3" deps {}) }: buildRustCrate { crateName = "utf8-ranges"; version = "0.1.3"; + description = "Convert ranges of Unicode codepoints to UTF-8 byte ranges."; authors = [ "Andrew Gallant " ]; sha256 = "1cj548a91a93j8375p78qikaiam548xh84cb0ck8y119adbmsvbp"; }; @@ -2292,6 +2365,7 @@ rec { crates.uuid."0.3.1" = deps: { features?(features_.uuid."0.3.1" deps {}) }: buildRustCrate { crateName = "uuid"; version = "0.3.1"; + description = "A library to generate and parse UUIDs.\n"; authors = [ "The Rust Project Developers" ]; sha256 = "16ak1c84dfkd8h33cvkxrkvc30k7b0bhrnza8ni2c0jsx85fpbip"; dependencies = mapFeatures features ([ @@ -2304,15 +2378,15 @@ rec { rand."${deps.uuid."0.3.1".rand}".default = true; rustc_serialize."${deps.uuid."0.3.1".rustc_serialize}".default = true; uuid = fold recursiveUpdate {} [ - { "0.3.1".default = (f.uuid."0.3.1".default or true); } - { "0.3.1".rand = - (f.uuid."0.3.1".rand or false) || + { "0.3.1"."rand" = + (f.uuid."0.3.1"."rand" or false) || (f.uuid."0.3.1".v4 or false) || (uuid."0.3.1"."v4" or false); } - { "0.3.1".sha1 = - (f.uuid."0.3.1".sha1 or false) || + { "0.3.1"."sha1" = + (f.uuid."0.3.1"."sha1" or false) || (f.uuid."0.3.1".v5 or false) || (uuid."0.3.1"."v5" or false); } + { "0.3.1".default = (f.uuid."0.3.1".default or true); } ]; }) [ (features_.rand."${deps."uuid"."0.3.1"."rand"}" deps) @@ -2326,17 +2400,18 @@ rec { crates.void."1.0.2" = deps: { features?(features_.void."1.0.2" deps {}) }: buildRustCrate { crateName = "void"; version = "1.0.2"; + description = "The uninhabited void type for use in statically impossible cases."; authors = [ "Jonathan Reem " ]; sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3"; features = mkFeatures (features."void"."1.0.2" or {}); }; features_.void."1.0.2" = deps: f: updateFeatures f (rec { void = fold recursiveUpdate {} [ - { "1.0.2".default = (f.void."1.0.2".default or true); } - { "1.0.2".std = - (f.void."1.0.2".std or false) || + { "1.0.2"."std" = + (f.void."1.0.2"."std" or false) || (f.void."1.0.2".default or false) || (void."1.0.2"."default" or false); } + { "1.0.2".default = (f.void."1.0.2".default or true); } ]; }) []; @@ -2347,6 +2422,7 @@ rec { crates.way_cooler."0.8.1" = deps: { features?(features_.way_cooler."0.8.1" deps {}) }: buildRustCrate { crateName = "way-cooler"; version = "0.8.1"; + description = "Customizeable Wayland compositor written in Rust"; authors = [ "Snirk Immington " "Timidger " ]; sha256 = "01cp5z0qf522d7cvsr9gfp7f4hkphmp38hv70dsf9lvcnp6p1qkc"; build = "build.rs"; @@ -2459,6 +2535,7 @@ rec { crates.wayland_scanner."0.12.5" = deps: { features?(features_.wayland_scanner."0.12.5" deps {}) }: buildRustCrate { crateName = "wayland-scanner"; version = "0.12.5"; + description = "Wayland Scanner for generating rust APIs from XML wayland protocol files. Intented for use with wayland-sys. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings."; authors = [ "Victor Berger " ]; sha256 = "1s0fsc3pff0fxvzqsy8n018smwacih9ix8ww0yf969aa0vak15dz"; dependencies = mapFeatures features ([ @@ -2479,6 +2556,7 @@ rec { crates.wayland_server."0.12.5" = deps: { features?(features_.wayland_server."0.12.5" deps {}) }: buildRustCrate { crateName = "wayland-server"; version = "0.12.5"; + description = "Bindings to the standard C implementation of the wayland protocol, server side."; authors = [ "Victor Berger " ]; sha256 = "17g0m9afcmi24ylirw4l8i70s5849x7m4b5nxk9k13s5pkza68ag"; build = "build.rs"; @@ -2526,6 +2604,7 @@ rec { crates.wayland_sys."0.6.0" = deps: { features?(features_.wayland_sys."0.6.0" deps {}) }: buildRustCrate { crateName = "wayland-sys"; version = "0.6.0"; + description = "FFI bindings to the various libwayland-*.so libraries. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings."; authors = [ "Victor Berger " ]; sha256 = "0m6db0kld2d4xv4ai9kxlqrh362hwi0030b4zbss0sfha1hx5mfl"; dependencies = mapFeatures features ([ @@ -2544,15 +2623,15 @@ rec { ]; libc."${deps.wayland_sys."0.6.0".libc}".default = true; wayland_sys = fold recursiveUpdate {} [ - { "0.6.0".default = (f.wayland_sys."0.6.0".default or true); } - { "0.6.0".lazy_static = - (f.wayland_sys."0.6.0".lazy_static or false) || + { "0.6.0"."lazy_static" = + (f.wayland_sys."0.6.0"."lazy_static" or false) || (f.wayland_sys."0.6.0".dlopen or false) || (wayland_sys."0.6.0"."dlopen" or false); } - { "0.6.0".libc = - (f.wayland_sys."0.6.0".libc or false) || + { "0.6.0"."libc" = + (f.wayland_sys."0.6.0"."libc" or false) || (f.wayland_sys."0.6.0".server or false) || (wayland_sys."0.6.0"."server" or false); } + { "0.6.0".default = (f.wayland_sys."0.6.0".default or true); } ]; }) [ (features_.dlib."${deps."wayland_sys"."0.6.0"."dlib"}" deps) @@ -2566,6 +2645,7 @@ rec { crates.wayland_sys."0.9.10" = deps: { features?(features_.wayland_sys."0.9.10" deps {}) }: buildRustCrate { crateName = "wayland-sys"; version = "0.9.10"; + description = "FFI bindings to the various libwayland-*.so libraries. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings."; authors = [ "Victor Berger " ]; sha256 = "011q7lfii222whvif39asvryl1sf3rc1fxp8qs8gh84kr4mna0k8"; dependencies = mapFeatures features ([ @@ -2586,15 +2666,15 @@ rec { lazy_static."${deps.wayland_sys."0.9.10".lazy_static}".default = true; libc."${deps.wayland_sys."0.9.10".libc}".default = true; wayland_sys = fold recursiveUpdate {} [ - { "0.9.10".default = (f.wayland_sys."0.9.10".default or true); } - { "0.9.10".lazy_static = - (f.wayland_sys."0.9.10".lazy_static or false) || + { "0.9.10"."lazy_static" = + (f.wayland_sys."0.9.10"."lazy_static" or false) || (f.wayland_sys."0.9.10".dlopen or false) || (wayland_sys."0.9.10"."dlopen" or false); } - { "0.9.10".libc = - (f.wayland_sys."0.9.10".libc or false) || + { "0.9.10"."libc" = + (f.wayland_sys."0.9.10"."libc" or false) || (f.wayland_sys."0.9.10".server or false) || (wayland_sys."0.9.10"."server" or false); } + { "0.9.10".default = (f.wayland_sys."0.9.10".default or true); } ]; }) [ (features_.dlib."${deps."wayland_sys"."0.9.10"."dlib"}" deps) @@ -2609,6 +2689,7 @@ rec { crates.wayland_sys."0.12.5" = deps: { features?(features_.wayland_sys."0.12.5" deps {}) }: buildRustCrate { crateName = "wayland-sys"; version = "0.12.5"; + description = "FFI bindings to the various libwayland-*.so libraries. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings."; authors = [ "Victor Berger " ]; sha256 = "0mwk5vc7mibxka5w66vy2qj32b72d1srqvp36nr15xfl9lwf3dc4"; dependencies = mapFeatures features ([ @@ -2629,15 +2710,15 @@ rec { lazy_static."${deps.wayland_sys."0.12.5".lazy_static}".default = true; libc."${deps.wayland_sys."0.12.5".libc}".default = true; wayland_sys = fold recursiveUpdate {} [ - { "0.12.5".default = (f.wayland_sys."0.12.5".default or true); } - { "0.12.5".lazy_static = - (f.wayland_sys."0.12.5".lazy_static or false) || + { "0.12.5"."lazy_static" = + (f.wayland_sys."0.12.5"."lazy_static" or false) || (f.wayland_sys."0.12.5".dlopen or false) || (wayland_sys."0.12.5"."dlopen" or false); } - { "0.12.5".libc = - (f.wayland_sys."0.12.5".libc or false) || + { "0.12.5"."libc" = + (f.wayland_sys."0.12.5"."libc" or false) || (f.wayland_sys."0.12.5".server or false) || (wayland_sys."0.12.5"."server" or false); } + { "0.12.5".default = (f.wayland_sys."0.12.5".default or true); } ]; }) [ (features_.dlib."${deps."wayland_sys"."0.12.5"."dlib"}" deps) @@ -2652,6 +2733,7 @@ rec { crates.winapi."0.2.8" = deps: { features?(features_.winapi."0.2.8" deps {}) }: buildRustCrate { crateName = "winapi"; version = "0.2.8"; + description = "Types and constants for WinAPI bindings. See README for list of crates providing function bindings."; authors = [ "Peter Atashian " ]; sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as"; }; @@ -2666,6 +2748,7 @@ rec { crates.winapi."0.3.6" = deps: { features?(features_.winapi."0.3.6" deps {}) }: buildRustCrate { crateName = "winapi"; version = "0.3.6"; + description = "Raw FFI bindings for all of Windows API."; authors = [ "Peter Atashian " ]; sha256 = "1d9jfp4cjd82sr1q4dgdlrkvm33zhhav9d7ihr0nivqbncr059m4"; build = "build.rs"; @@ -2693,6 +2776,7 @@ rec { crates.winapi_build."0.1.1" = deps: { features?(features_.winapi_build."0.1.1" deps {}) }: buildRustCrate { crateName = "winapi-build"; version = "0.1.1"; + description = "Common code for build.rs in WinAPI -sys crates."; authors = [ "Peter Atashian " ]; sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga"; libName = "build"; @@ -2708,6 +2792,7 @@ rec { crates.winapi_i686_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_i686_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate { crateName = "winapi-i686-pc-windows-gnu"; version = "0.4.0"; + description = "Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead."; authors = [ "Peter Atashian " ]; sha256 = "05ihkij18r4gamjpxj4gra24514can762imjzlmak5wlzidplzrp"; build = "build.rs"; @@ -2723,6 +2808,7 @@ rec { crates.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_x86_64_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate { crateName = "winapi-x86_64-pc-windows-gnu"; version = "0.4.0"; + description = "Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead."; authors = [ "Peter Atashian " ]; sha256 = "0n1ylmlsb8yg1v583i4xy0qmqg42275flvbc51hdqjjfjcl9vlbj"; build = "build.rs"; @@ -2738,6 +2824,7 @@ rec { crates.xcb."0.8.2" = deps: { features?(features_.xcb."0.8.2" deps {}) }: buildRustCrate { crateName = "xcb"; version = "0.8.2"; + description = "Rust bindings and wrappers for XCB"; authors = [ "Remi Thebault " ]; sha256 = "06l8jms57wvz01vx82a3cwak9b9qwdkadvpmkk1zimy2qg7i7dkl"; build = "build.rs"; @@ -2755,41 +2842,40 @@ rec { libc."${deps.xcb."0.8.2".libc}".default = true; log."${deps.xcb."0.8.2".log}".default = true; xcb = fold recursiveUpdate {} [ - { "0.8.2".composite = - (f.xcb."0.8.2".composite or false) || + { "0.8.2"."composite" = + (f.xcb."0.8.2"."composite" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".damage = - (f.xcb."0.8.2".damage or false) || + { "0.8.2"."damage" = + (f.xcb."0.8.2"."damage" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".default = (f.xcb."0.8.2".default or true); } - { "0.8.2".dpms = - (f.xcb."0.8.2".dpms or false) || + { "0.8.2"."dpms" = + (f.xcb."0.8.2"."dpms" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".dri2 = - (f.xcb."0.8.2".dri2 or false) || + { "0.8.2"."dri2" = + (f.xcb."0.8.2"."dri2" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".dri3 = - (f.xcb."0.8.2".dri3 or false) || + { "0.8.2"."dri3" = + (f.xcb."0.8.2"."dri3" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".glx = - (f.xcb."0.8.2".glx or false) || + { "0.8.2"."glx" = + (f.xcb."0.8.2"."glx" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".randr = - (f.xcb."0.8.2".randr or false) || + { "0.8.2"."randr" = + (f.xcb."0.8.2"."randr" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".record = - (f.xcb."0.8.2".record or false) || + { "0.8.2"."record" = + (f.xcb."0.8.2"."record" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".render = - (f.xcb."0.8.2".render or false) || + { "0.8.2"."render" = + (f.xcb."0.8.2"."render" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false) || (f.xcb."0.8.2".present or false) || @@ -2798,44 +2884,44 @@ rec { (xcb."0.8.2"."randr" or false) || (f.xcb."0.8.2".xfixes or false) || (xcb."0.8.2"."xfixes" or false); } - { "0.8.2".res = - (f.xcb."0.8.2".res or false) || + { "0.8.2"."res" = + (f.xcb."0.8.2"."res" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".screensaver = - (f.xcb."0.8.2".screensaver or false) || + { "0.8.2"."screensaver" = + (f.xcb."0.8.2"."screensaver" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".shape = - (f.xcb."0.8.2".shape or false) || + { "0.8.2"."shape" = + (f.xcb."0.8.2"."shape" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false) || (f.xcb."0.8.2".xfixes or false) || (xcb."0.8.2"."xfixes" or false); } - { "0.8.2".shm = - (f.xcb."0.8.2".shm or false) || + { "0.8.2"."shm" = + (f.xcb."0.8.2"."shm" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false) || (f.xcb."0.8.2".xv or false) || (xcb."0.8.2"."xv" or false); } - { "0.8.2".sync = - (f.xcb."0.8.2".sync or false) || + { "0.8.2"."sync" = + (f.xcb."0.8.2"."sync" or false) || (f.xcb."0.8.2".present or false) || (xcb."0.8.2"."present" or false); } - { "0.8.2".thread = - (f.xcb."0.8.2".thread or false) || + { "0.8.2"."thread" = + (f.xcb."0.8.2"."thread" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".xevie = - (f.xcb."0.8.2".xevie or false) || + { "0.8.2"."xevie" = + (f.xcb."0.8.2"."xevie" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".xf86dri = - (f.xcb."0.8.2".xf86dri or false) || + { "0.8.2"."xf86dri" = + (f.xcb."0.8.2"."xf86dri" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".xfixes = - (f.xcb."0.8.2".xfixes or false) || + { "0.8.2"."xfixes" = + (f.xcb."0.8.2"."xfixes" or false) || (f.xcb."0.8.2".composite or false) || (xcb."0.8.2"."composite" or false) || (f.xcb."0.8.2".damage or false) || @@ -2846,40 +2932,41 @@ rec { (xcb."0.8.2"."present" or false) || (f.xcb."0.8.2".xinput or false) || (xcb."0.8.2"."xinput" or false); } - { "0.8.2".xinerama = - (f.xcb."0.8.2".xinerama or false) || + { "0.8.2"."xinerama" = + (f.xcb."0.8.2"."xinerama" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".xkb = - (f.xcb."0.8.2".xkb or false) || + { "0.8.2"."xkb" = + (f.xcb."0.8.2"."xkb" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".xlib_xcb = - (f.xcb."0.8.2".xlib_xcb or false) || + { "0.8.2"."xlib_xcb" = + (f.xcb."0.8.2"."xlib_xcb" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".xprint = - (f.xcb."0.8.2".xprint or false) || + { "0.8.2"."xprint" = + (f.xcb."0.8.2"."xprint" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".xselinux = - (f.xcb."0.8.2".xselinux or false) || + { "0.8.2"."xselinux" = + (f.xcb."0.8.2"."xselinux" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".xtest = - (f.xcb."0.8.2".xtest or false) || + { "0.8.2"."xtest" = + (f.xcb."0.8.2"."xtest" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } - { "0.8.2".xv = - (f.xcb."0.8.2".xv or false) || + { "0.8.2"."xv" = + (f.xcb."0.8.2"."xv" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false) || (f.xcb."0.8.2".xvmc or false) || (xcb."0.8.2"."xvmc" or false); } - { "0.8.2".xvmc = - (f.xcb."0.8.2".xvmc or false) || + { "0.8.2"."xvmc" = + (f.xcb."0.8.2"."xvmc" or false) || (f.xcb."0.8.2".debug_all or false) || (xcb."0.8.2"."debug_all" or false); } + { "0.8.2".default = (f.xcb."0.8.2".default or true); } ]; }) [ (features_.libc."${deps."xcb"."0.8.2"."libc"}" deps) @@ -2894,6 +2981,7 @@ rec { crates.xml_rs."0.7.0" = deps: { features?(features_.xml_rs."0.7.0" deps {}) }: buildRustCrate { crateName = "xml-rs"; version = "0.7.0"; + description = "An XML library in pure Rust"; authors = [ "Vladimir Matveev " ]; sha256 = "12rynhqjgkg2hzy9x1d1232p9d9jm40bc3by5yzjv8gx089mflyb"; libPath = "src/lib.rs"; diff --git a/pkgs/applications/window-managers/way-cooler/default.nix b/pkgs/applications/window-managers/way-cooler/default.nix index 8f35cb620ca..9ebb0b5ffcf 100644 --- a/pkgs/applications/window-managers/way-cooler/default.nix +++ b/pkgs/applications/window-managers/way-cooler/default.nix @@ -1,8 +1,10 @@ { stdenv, fetchurl, makeWrapper, symlinkJoin, writeShellScriptBin, callPackage, defaultCrateOverrides -, wayland, wlc, cairo, libxkbcommon, pam, python3Packages, lemonbar, gdk_pixbuf +, wayland, cairo, libxkbcommon, pam, python3Packages, lemonbar, gdk-pixbuf }: let + wlc = callPackage ./wlc.nix {}; + # refer to # https://github.com/way-cooler/way-cooler.github.io/blob/master/way-cooler-release-i3-default.sh # for version numbers @@ -22,7 +24,7 @@ let way-cooler = ((way_cooler_ { builtin-lua = true; }).override { crateOverrides = defaultCrateOverrides // { - way-cooler = attrs: { buildInputs = [ wlc cairo libxkbcommon fakegit gdk_pixbuf wayland ]; }; + way-cooler = attrs: { buildInputs = [ wlc cairo libxkbcommon fakegit gdk-pixbuf wayland ]; }; };}).overrideAttrs (oldAttrs: rec { postBuild = '' mkdir -p $out/etc @@ -105,7 +107,7 @@ in symlinkJoin rec { homepage = http://way-cooler.org/; license = with licenses; [ mit ]; maintainers = [ maintainers.miltador ]; - broken = stdenv.hostPlatform.isAarch64; # fails to build wc-bg (on aarch64) platforms = platforms.all; + broken = true; }; } diff --git a/pkgs/applications/window-managers/way-cooler/wlc.nix b/pkgs/applications/window-managers/way-cooler/wlc.nix new file mode 100644 index 00000000000..03d0b3023f7 --- /dev/null +++ b/pkgs/applications/window-managers/way-cooler/wlc.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig +, wayland, pixman, libxkbcommon, libinput, xcbutilwm, xcbutilimage, libGL +, libX11, dbus, wayland-protocols, libdrm, mesa +, libpthreadstubs, libXdmcp, libXext, libXfixes +, withOptionalPackages ? true, zlib, valgrind, doxygen +}: + +stdenv.mkDerivation rec { + pname = "wlc"; + version = "0.0.11"; + + src = fetchFromGitHub { + owner = "Cloudef"; + repo = "wlc"; + rev = "v${version}"; + fetchSubmodules = true; + sha256 = "1qnak907gjd35hq4b0rrhgb7kz5iwnirh8yk372yzxpgk7dq0gz9"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ + wayland pixman libxkbcommon libinput xcbutilwm xcbutilimage libGL + libX11 libXfixes dbus wayland-protocols + libpthreadstubs libXdmcp libXext libdrm mesa ] + ++ stdenv.lib.optionals withOptionalPackages [ zlib valgrind doxygen ]; + + doCheck = true; + checkTarget = "test"; + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A library for making a simple Wayland compositor"; + homepage = https://github.com/Cloudef/wlc; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ primeos ]; # Trying to keep it up-to-date. + }; +} diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index b9d16db5792..99416fcf778 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -1,47 +1,52 @@ -{ stdenv, fetchurl, pkgconfig, wayland, libGL, mesa_noglu, libxkbcommon, cairo, libxcb -, libXcursor, xlibsWrapper, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput +{ stdenv, fetchurl, meson, ninja, pkgconfig +, wayland, libGL, mesa, libxkbcommon, cairo, libxcb +, libXcursor, xlibsWrapper, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput, libevdev +, colord, lcms2 , pango ? null, libunwind ? null, freerdp ? null, vaapi ? null, libva ? null , libwebp ? null, xwayland ? null, wayland-protocols # beware of null defaults, as the parameters *are* supplied by callPackage by default }: +with stdenv.lib; stdenv.mkDerivation rec { - name = "weston-${version}"; - version = "5.0.0"; + pname = "weston"; + version = "6.0.1"; src = fetchurl { - url = "https://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "1bsc9ry566mpk6fdwkqpvwq2j7m79d9cvh7d3lgf6igsphik98hm"; + url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz"; + sha256 = "1d2m658ll8x7prlsfk71qgw89c7dz6y7d6nndfxwl49fmrd6sbxz"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ meson ninja pkgconfig ]; buildInputs = [ - wayland libGL mesa_noglu libxkbcommon cairo libxcb libXcursor xlibsWrapper udev libdrm - mtdev libjpeg pam dbus libinput pango libunwind freerdp vaapi libva + wayland libGL mesa libxkbcommon cairo libxcb libXcursor xlibsWrapper udev libdrm + mtdev libjpeg pam dbus libinput libevdev pango libunwind freerdp vaapi libva libwebp wayland-protocols + colord lcms2 ]; - configureFlags = [ - "--enable-x11-compositor" - "--enable-drm-compositor" - "--enable-wayland-compositor" - "--enable-headless-compositor" - "--enable-fbdev-compositor" - "--enable-screen-sharing" - "--enable-clients" - "--enable-weston-launch" - "--disable-setuid-install" # prevent install target to chown root weston-launch, which fails - ] ++ stdenv.lib.optional (freerdp != null) "--enable-rdp-compositor" - ++ stdenv.lib.optional (vaapi != null) "--enable-vaapi-recorder" - ++ stdenv.lib.optionals (xwayland != null) [ - "--enable-xwayland" - "--with-xserver-path=${xwayland.out}/bin/Xwayland" - ]; + mesonFlags= [ + "-Dbackend-drm-screencast-vaapi=${boolToString (vaapi != null)}" + "-Dbackend-rdp=${boolToString (freerdp != null)}" + "-Dxwayland=${boolToString (xwayland != null)}" # Default is true! + "-Dremoting=false" # TODO + "-Dimage-webp=${boolToString (libwebp != null)}" + "-Dsimple-dmabuf-drm=" # Disables all drivers + "-Ddemo-clients=false" + "-Dsimple-clients=" + "-Dtest-junit-xml=false" + # TODO: + #"--enable-clients" + #"--disable-setuid-install" # prevent install target to chown root weston-launch, which fails + ] ++ optionals (xwayland != null) [ + "-Dxwayland-path=${xwayland.out}/bin/Xwayland" + ]; - meta = with stdenv.lib; { + meta = { description = "Reference implementation of a Wayland compositor"; homepage = https://wayland.freedesktop.org/; license = licenses.mit; platforms = platforms.linux; + maintainers = with maintainers; [ primeos ]; }; } diff --git a/pkgs/applications/window-managers/windowlab/default.nix b/pkgs/applications/window-managers/windowlab/default.nix index caf97c6510d..d0a1de7f600 100644 --- a/pkgs/applications/window-managers/windowlab/default.nix +++ b/pkgs/applications/window-managers/windowlab/default.nix @@ -3,7 +3,8 @@ let version = "1.40"; in stdenv.mkDerivation { - name = "windowlab-${version}"; + pname = "windowlab"; + inherit version; src = fetchurl { url = "http://nickgravgaard.com/windowlab/windowlab-${version}.tar"; diff --git a/pkgs/applications/window-managers/windowmaker/default.nix b/pkgs/applications/window-managers/windowmaker/default.nix index d83c4493acc..8ad63999289 100644 --- a/pkgs/applications/window-managers/windowmaker/default.nix +++ b/pkgs/applications/window-managers/windowmaker/default.nix @@ -3,7 +3,7 @@ , imagemagick, libpng, libjpeg, libexif, libtiff, libungif, libwebp }: stdenv.mkDerivation rec { - name = "windowmaker-${version}"; + pname = "windowmaker"; version = "0.95.8"; srcName = "WindowMaker-${version}"; diff --git a/pkgs/applications/window-managers/wmfs/default.nix b/pkgs/applications/window-managers/wmfs/default.nix new file mode 100644 index 00000000000..ad611f8dabe --- /dev/null +++ b/pkgs/applications/window-managers/wmfs/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub, gnumake, + libX11, libXinerama, libXrandr, libXpm, libXft, imlib2 }: +stdenv.mkDerivation rec { + pname = "wmfs"; + + version = "201902"; + + src = fetchFromGitHub { + owner = "xorg62"; + repo = "wmfs"; + sha256 = "sha256:1m7dsmmlhq2qipim659cp9aqlriz1cwrrgspl8baa5pncln0gd5c"; + rev = "b7b8ff812d28c79cb22a73db2739989996fdc6c2"; + }; + + nativeBuildInputs = [ + gnumake + ]; + + buildInputs = [ + imlib2 + libX11 + libXinerama + libXrandr + libXpm + libXft + ]; + + preConfigure = "substituteInPlace configure --replace '-lxft' '-lXft'"; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + "XDG_CONFIG_DIR=${placeholder "out"}/etc/xdg" + "MANPREFIX=${placeholder "out"}/share/man" + ]; + + meta = with stdenv.lib; { + description = "Window manager from scratch"; + license = licenses.bsd2; + maintainers = [ maintainers.balsoft ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/window-managers/wmii-hg/default.nix b/pkgs/applications/window-managers/wmii-hg/default.nix index 5a8b68df364..e0f2243827c 100644 --- a/pkgs/applications/window-managers/wmii-hg/default.nix +++ b/pkgs/applications/window-managers/wmii-hg/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { rev = "2823"; version = "hg-2012-12-09"; - name = "wmii-${version}"; + pname = "wmii"; src = fetchurl { url = https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/wmii/source-archive.zip; diff --git a/pkgs/applications/window-managers/wtftw/default.nix b/pkgs/applications/window-managers/wtftw/default.nix index 8a680e1f763..60d3e61fdf9 100644 --- a/pkgs/applications/window-managers/wtftw/default.nix +++ b/pkgs/applications/window-managers/wtftw/default.nix @@ -9,7 +9,7 @@ rustPlatform.buildRustPackage rec { sha256 = "1r74nhcwiy2rmifzjhdal3jcqz4jz48nfvhdyw4gasa6nxp3msdl"; }; - cargoSha256 = "0z92ml84b5652zgwzn08a8vvxksaa54jql66sfpdz1mvjwhgdmvn"; + cargoSha256 = "18lb24k71sndklbwwhbv8jglj2d4y9mdk07l60wsvn5m2jbnpckk"; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libXinerama libX11 ]; diff --git a/pkgs/applications/window-managers/xmonad/wrapper.nix b/pkgs/applications/window-managers/xmonad/wrapper.nix index bc7a5174e26..f5c9f12a23f 100644 --- a/pkgs/applications/window-managers/xmonad/wrapper.nix +++ b/pkgs/applications/window-managers/xmonad/wrapper.nix @@ -8,8 +8,7 @@ in stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper ]; buildCommand = '' - mkdir -p $out/bin $out/share - ln -s ${xmonadEnv}/share/man $out/share/man + install -D ${xmonadEnv}/share/man/man1/xmonad.1.gz $out/share/man/man1/xmonad.1.gz makeWrapper ${xmonadEnv}/bin/xmonad $out/bin/xmonad \ --set NIX_GHC "${xmonadEnv}/bin/ghc" \ --set XMONAD_XMESSAGE "${xmessage}/bin/xmessage" diff --git a/pkgs/applications/window-managers/yabar/build.nix b/pkgs/applications/window-managers/yabar/build.nix index 6fc1797dd25..f7867882d22 100644 --- a/pkgs/applications/window-managers/yabar/build.nix +++ b/pkgs/applications/window-managers/yabar/build.nix @@ -1,11 +1,12 @@ -{ stdenv, fetchFromGitHub, cairo, gdk_pixbuf, libconfig, pango, pkgconfig +{ stdenv, fetchFromGitHub, cairo, gdk-pixbuf, libconfig, pango, pkgconfig , xcbutilwm, alsaLib, wirelesstools, asciidoc, libxslt, makeWrapper, docbook_xsl , configFile ? null, lib , rev, sha256, version, patches ? [] }: stdenv.mkDerivation { - name = "yabar-${version}"; + pname = "yabar"; + inherit version; src = fetchFromGitHub { inherit rev sha256; @@ -20,7 +21,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - cairo gdk_pixbuf libconfig pango xcbutilwm docbook_xsl + cairo gdk-pixbuf libconfig pango xcbutilwm docbook_xsl alsaLib wirelesstools asciidoc libxslt makeWrapper ]; diff --git a/pkgs/build-support/add-opengl-runpath/default.nix b/pkgs/build-support/add-opengl-runpath/default.nix new file mode 100644 index 00000000000..5cab0937e07 --- /dev/null +++ b/pkgs/build-support/add-opengl-runpath/default.nix @@ -0,0 +1,12 @@ +{ lib, stdenv }: + +stdenv.mkDerivation { + name = "add-opengl-runpath"; + + driverLink = "/run/opengl-driver" + lib.optionalString stdenv.isi686 "-32"; + + buildCommand = '' + mkdir -p $out/nix-support + substituteAll ${./setup-hook.sh} $out/nix-support/setup-hook + ''; +} diff --git a/pkgs/build-support/add-opengl-runpath/setup-hook.sh b/pkgs/build-support/add-opengl-runpath/setup-hook.sh new file mode 100644 index 00000000000..e556e7ead2a --- /dev/null +++ b/pkgs/build-support/add-opengl-runpath/setup-hook.sh @@ -0,0 +1,29 @@ +# Set RUNPATH so that driver libraries in /run/opengl-driver(-32)/lib can be found. +# This is needed to not rely on LD_LIBRARY_PATH which does not work with setuid +# executables. Fixes https://github.com/NixOS/nixpkgs/issues/22760. It must be run +# in postFixup because RUNPATH stripping in fixup would undo it. Note that patchelf +# actually sets RUNPATH not RPATH, which applies only to dependencies of the binary +# it set on (including for dlopen), so the RUNPATH must indeed be set on these +# libraries and would not work if set only on executables. +addOpenGLRunpath() { + local forceRpath= + + while [ $# -gt 0 ]; do + case "$1" in + --) shift; break;; + --force-rpath) shift; forceRpath=1;; + --*) + echo "addOpenGLRunpath: ERROR: Invalid command line" \ + "argument: $1" >&2 + return 1;; + *) break;; + esac + done + + for file in "$@"; do + if ! isELF "$file"; then continue; fi + local origRpath="$(patchelf --print-rpath "$file")" + patchelf --set-rpath "@driverLink@/lib:$origRpath" ${forceRpath:+--force-rpath} "$file" + done +} + diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix new file mode 100644 index 00000000000..1f84403c10f --- /dev/null +++ b/pkgs/build-support/appimage/default.nix @@ -0,0 +1,194 @@ +{ stdenv, libarchive, patchelf, zlib, buildFHSUserEnv, writeScript }: + +rec { + # Both extraction functions could be unified, but then + # it would depend on libmagic to correctly identify ISO 9660s + + extractType1 = { name, src }: stdenv.mkDerivation { + name = "${name}-extracted"; + inherit src; + + nativeBuildInputs = [ libarchive ]; + buildCommand = '' + mkdir $out + bsdtar -x -C $out -f $src + ''; + }; + + extractType2 = { name, src }: stdenv.mkDerivation { + name = "${name}-extracted"; + inherit src; + + nativeBuildInputs = [ patchelf ]; + buildCommand = '' + install $src ./appimage + patchelf \ + --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \ + --replace-needed libz.so.1 ${zlib}/lib/libz.so.1 \ + ./appimage + + ./appimage --appimage-extract + + cp -rv squashfs-root $out + ''; + }; + + wrapAppImage = args@{ name, src, extraPkgs, ... }: buildFHSUserEnv (defaultFhsEnvArgs // { + inherit name; + + targetPkgs = pkgs: defaultFhsEnvArgs.targetPkgs pkgs ++ extraPkgs pkgs; + + runScript = writeScript "run" '' + #!${stdenv.shell} + + export APPDIR=${src} + export APPIMAGE_SILENT_INSTALL=1 + cd $APPDIR + exec ./AppRun "$@" + ''; + } // (removeAttrs args (builtins.attrNames (builtins.functionArgs wrapAppImage)))); + + wrapType1 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // { + inherit name extraPkgs; + src = extractType1 { inherit name src; }; + }); + + wrapType2 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // { + inherit name extraPkgs; + src = extractType2 { inherit name src; }; + }); + + defaultFhsEnvArgs = { + name = "appimage-env"; + + # Most of the packages were taken from the Steam chroot + targetPkgs = pkgs: with pkgs; [ + gtk3 + bashInteractive + gnome3.zenity + python2 + xorg.xrandr + which + perl + xdg_utils + iana-etc + krb5 + ]; + + # list of libraries expected in an appimage environment: + # https://github.com/AppImage/pkg2appimage/blob/master/excludelist + multiPkgs = pkgs: with pkgs; [ + desktop-file-utils + xorg.libXcomposite + xorg.libXtst + xorg.libXrandr + xorg.libXext + xorg.libX11 + xorg.libXfixes + libGL + + gst_all_1.gstreamer + gst_all_1.gst-plugins-ugly + libdrm + xorg.xkeyboardconfig + xorg.libpciaccess + + glib + gtk2 + bzip2 + zlib + gdk-pixbuf + + xorg.libXinerama + xorg.libXdamage + xorg.libXcursor + xorg.libXrender + xorg.libXScrnSaver + xorg.libXxf86vm + xorg.libXi + xorg.libSM + xorg.libICE + gnome2.GConf + freetype + (curl.override { gnutlsSupport = true; sslSupport = false; }) + nspr + nss + fontconfig + cairo + pango + expat + dbus + cups + libcap + SDL2 + libusb1 + udev + dbus-glib + libav + atk + at-spi2-atk + libudev0-shim + networkmanager098 + + xorg.libXt + xorg.libXmu + xorg.libxcb + xorg.xcbutil + xorg.xcbutilwm + xorg.xcbutilimage + xorg.xcbutilkeysyms + xorg.xcbutilrenderutil + libGLU + libuuid + libogg + libvorbis + SDL + SDL2_image + glew110 + openssl + libidn + tbb + wayland + mesa + libxkbcommon + + flac + freeglut + libjpeg + libpng12 + libsamplerate + libmikmod + libtheora + libtiff + pixman + speex + SDL_image + SDL_ttf + SDL_mixer + SDL2_ttf + SDL2_mixer + gstreamer + gst-plugins-base + libappindicator-gtk2 + libcaca + libcanberra + libgcrypt + libvpx + librsvg + xorg.libXft + libvdpau + alsaLib + + harfbuzz + e2fsprogs + libgpgerror + keyutils.lib + libjack2 + fribidi + + # libraries not on the upstream include list, but nevertheless expected + # by at least one appimage + libtool.lib # for Synfigstudio + ]; + }; +} diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 142f5255caa..e1ec09bc95a 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -53,6 +53,7 @@ let /**/ if libc == null then null else if targetPlatform.libc == "musl" then "${libc_lib}/lib/ld-musl-*" else if targetPlatform.libc == "bionic" then "/system/bin/linker" + else if targetPlatform.libc == "nblibc" then "${libc_lib}/libexec/ld.elf_so" else if targetPlatform.system == "i686-linux" then "${libc_lib}/lib/ld-linux.so.2" else if targetPlatform.system == "x86_64-linux" then "${libc_lib}/lib/ld-linux-x86-64.so.2" # ARM with a wildcard, which can be "" or "-armhf". @@ -186,10 +187,12 @@ stdenv.mkDerivation { }.${targetPlatform.parsed.cpu.name} else if targetPlatform.isPower then if targetPlatform.isBigEndian then "ppc" else "lppc" else if targetPlatform.isSparc then "sparc" + else if targetPlatform.isMsp430 then "msp430" else if targetPlatform.isAvr then "avr" else if targetPlatform.isAlpha then "alpha" - else throw "unknown emulation for platform: " + targetPlatform.config; - in targetPlatform.platform.bfdEmulation or (fmt + sep + arch); + else throw "unknown emulation for platform: ${targetPlatform.config}"; + in if targetPlatform.useLLVM or false then "" + else targetPlatform.platform.bfdEmulation or (fmt + sep + arch); strictDeps = true; depsTargetTargetPropagated = extraPackages; @@ -327,6 +330,7 @@ stdenv.mkDerivation { { description = stdenv.lib.attrByPath ["meta" "description"] "System binary utilities" bintools_ + " (wrapper script)"; + priority = 10; } // optionalAttrs useMacosReexportHack { platforms = stdenv.lib.platforms.darwin; }; diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix index f39f4e65e45..d4318b715ba 100644 --- a/pkgs/build-support/build-bazel-package/default.nix +++ b/pkgs/build-support/build-bazel-package/default.nix @@ -1,6 +1,10 @@ -{ stdenv, bazel, cacert, enableNixHacks ? true }: +{ stdenv +, bazel +, cacert +, lib +}: -args@{ name, bazelFlags ? [], bazelTarget, buildAttrs, fetchAttrs, ... }: +args@{ name, bazelFlags ? [], bazelBuildFlags ? [], bazelFetchFlags ? [], bazelTarget, buildAttrs, fetchAttrs, ... }: let fArgs = removeAttrs args [ "buildAttrs" "fetchAttrs" ]; @@ -8,11 +12,11 @@ let fFetchAttrs = fArgs // removeAttrs fetchAttrs [ "sha256" ]; in stdenv.mkDerivation (fBuildAttrs // { - inherit name bazelFlags bazelTarget; + inherit name bazelFlags bazelBuildFlags bazelFetchFlags bazelTarget; deps = stdenv.mkDerivation (fFetchAttrs // { name = "${name}-deps"; - inherit bazelFlags bazelTarget; + inherit bazelFlags bazelBuildFlags bazelFetchFlags bazelTarget; nativeBuildInputs = fFetchAttrs.nativeBuildInputs or [] ++ [ bazel ]; @@ -34,8 +38,19 @@ in stdenv.mkDerivation (fBuildAttrs // { # https://github.com/bazelbuild/bazel/blob/9323c57607d37f9c949b60e293b573584906da46/src/main/cpp/startup_options.cc#L123-L124 # # On macOS Bazel will use the system installed Xcode or CLT toolchain instead of the one in the PATH unless we pass BAZEL_USE_CPP_ONLY_TOOLCHAIN - # - BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 USER=homeless-shelter bazel --output_base="$bazelOut" --output_user_root="$bazelUserRoot" fetch $bazelFlags $bazelTarget + + # We disable multithreading for the fetching phase since it can lead to timeouts with many dependencies/threads: + # https://github.com/bazelbuild/bazel/issues/6502 + BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \ + USER=homeless-shelter \ + bazel \ + --output_base="$bazelOut" \ + --output_user_root="$bazelUserRoot" \ + fetch \ + --loading_phase_threads=1 \ + $bazelFlags \ + $bazelFetchFlags \ + $bazelTarget runHook postBuild ''; @@ -46,19 +61,30 @@ in stdenv.mkDerivation (fBuildAttrs // { # Remove all built in external workspaces, Bazel will recreate them when building rm -rf $bazelOut/external/{bazel_tools,\@bazel_tools.marker} rm -rf $bazelOut/external/{embedded_jdk,\@embedded_jdk.marker} - rm -rf $bazelOut/external/{local_*,\@local_*} + rm -rf $bazelOut/external/{local_*,\@local_*.marker} - # Patching markers to make them deterministic - sed -i 's, -\?[0-9][0-9]*$, 1,' $bazelOut/external/\@*.marker + # Clear markers + find $bazelOut/external -name '@*\.marker' -exec sh -c 'echo > {}' \; # Remove all vcs files rm -rf $(find $bazelOut/external -type d -name .git) rm -rf $(find $bazelOut/external -type d -name .svn) rm -rf $(find $bazelOut/external -type d -name .hg) + # Removing top-level symlinks along with their markers. + # This is needed because they sometimes point to temporary paths (?). + # For example, in Tensorflow-gpu build: + # platforms -> NIX_BUILD_TOP/tmp/install/35282f5123611afa742331368e9ae529/_embedded_binaries/platforms + find $bazelOut/external -maxdepth 1 -type l | while read symlink; do + name="$(basename "$symlink")" + rm "$symlink" "$bazelOut/external/@$name.marker" + done + # Patching symlinks to remove build directory reference find $bazelOut/external -type l | while read symlink; do - ln -sf $(readlink "$symlink" | sed "s,$NIX_BUILD_TOP,NIX_BUILD_TOP,") "$symlink" + new_target="$(readlink "$symlink" | sed "s,$NIX_BUILD_TOP,NIX_BUILD_TOP,")" + rm "$symlink" + ln -sf "$new_target" "$symlink" done cp -r $bazelOut/external $out @@ -67,12 +93,14 @@ in stdenv.mkDerivation (fBuildAttrs // { ''; dontFixup = true; + allowedRequisites = []; + outputHashMode = "recursive"; outputHashAlgo = "sha256"; outputHash = fetchAttrs.sha256; }); - nativeBuildInputs = fBuildAttrs.nativeBuildInputs or [] ++ [ (if enableNixHacks then (bazel.override { enableNixHacks = true; }) else bazel) ]; + nativeBuildInputs = fBuildAttrs.nativeBuildInputs or [] ++ [ (bazel.override { enableNixHacks = true; }) ]; preHook = fBuildAttrs.preHook or "" + '' export bazelOut="$NIX_BUILD_TOP/output" @@ -81,8 +109,8 @@ in stdenv.mkDerivation (fBuildAttrs // { ''; preConfigure = '' - mkdir -p $bazelOut/external - cp -r $deps/* $bazelOut/external + mkdir -p "$bazelOut" + cp -r $deps $bazelOut/external chmod -R +w $bazelOut find $bazelOut -type l | while read symlink; do ln -sf $(readlink "$symlink" | sed "s,NIX_BUILD_TOP,$NIX_BUILD_TOP,") "$symlink" @@ -92,6 +120,7 @@ in stdenv.mkDerivation (fBuildAttrs // { buildPhase = fBuildAttrs.buildPhase or '' runHook preBuild + '' + lib.optionalString stdenv.isDarwin '' # Bazel sandboxes the execution of the tools it invokes, so even though we are # calling the correct nix wrappers, the values of the environment variables # the wrappers are expecting will not be set. So instead of relying on the @@ -114,6 +143,7 @@ in stdenv.mkDerivation (fBuildAttrs // { linkopts+=( "--linkopt=$flag" ) host_linkopts+=( "--host_linkopt=$flag" ) done + '' + '' BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \ USER=homeless-shelter \ @@ -122,11 +152,14 @@ in stdenv.mkDerivation (fBuildAttrs // { --output_user_root="$bazelUserRoot" \ build \ -j $NIX_BUILD_CORES \ + '' + lib.optionalString stdenv.isDarwin '' "''${copts[@]}" \ "''${host_copts[@]}" \ "''${linkopts[@]}" \ "''${host_linkopts[@]}" \ + '' + '' $bazelFlags \ + $bazelBuildFlags \ $bazelTarget runHook postBuild diff --git a/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c b/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c index 0e9e36bc301..dcb2e97aa93 100644 --- a/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c +++ b/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c @@ -7,28 +7,43 @@ #include #include +#include +#include +#include +#include +#include + #define fail(s, err) g_error("%s: %s: %s", __func__, s, g_strerror(err)) #define fail_if(expr) \ if (expr) \ fail(#expr, errno); -#include +const gchar *bind_blacklist[] = {"bin", "etc", "host", "real-host", "usr", "lib", "lib64", "lib32", "sbin", NULL}; -#include -#include -#include -#include +int pivot_root(const char *new_root, const char *put_old) { + return syscall(SYS_pivot_root, new_root, put_old); +} -const gchar *bind_blacklist[] = {"bin", "etc", "host", "usr", "lib", "lib64", "lib32", "sbin", NULL}; +void mount_tmpfs(const gchar *target) { + fail_if(mount("none", target, "tmpfs", 0, NULL)); +} void bind_mount(const gchar *source, const gchar *target) { fail_if(g_mkdir(target, 0755)); - fail_if(mount(source, target, "bind", MS_BIND | MS_REC, NULL)); + fail_if(mount(source, target, NULL, MS_BIND | MS_REC, NULL)); } -void bind_mount_host(const gchar *host, const gchar *guest) { +const gchar *create_tmpdir() { + gchar *prefix = + g_build_filename(g_get_tmp_dir(), "chrootenvXXXXXX", NULL); + fail_if(!g_mkdtemp_full(prefix, 0755)); + return prefix; +} + +void pivot_host(const gchar *guest) { g_autofree gchar *point = g_build_filename(guest, "host", NULL); - bind_mount(host, point); + fail_if(g_mkdir(point, 0755)); + fail_if(pivot_root(guest, point)); } void bind_mount_item(const gchar *host, const gchar *guest, const gchar *name) { @@ -40,19 +55,22 @@ void bind_mount_item(const gchar *host, const gchar *guest, const gchar *name) { } void bind(const gchar *host, const gchar *guest) { + mount_tmpfs(guest); + pivot_host(guest); + + g_autofree gchar *host_dir = g_build_filename("/host", host, NULL); + g_autoptr(GError) err = NULL; - g_autoptr(GDir) dir = g_dir_open(host, 0, &err); + g_autoptr(GDir) dir = g_dir_open(host_dir, 0, &err); if (err != NULL) fail("g_dir_open", errno); const gchar *item; - while (item = g_dir_read_name(dir)) + while ((item = g_dir_read_name(dir))) if (!g_strv_contains(bind_blacklist, item)) - bind_mount_item(host, guest, item); - - bind_mount_host(host, guest); + bind_mount_item(host_dir, "/", item); } void spit(const char *path, char *fmt, ...) { @@ -68,11 +86,6 @@ void spit(const char *path, char *fmt, ...) { fclose(f); } -int nftw_remove(const char *path, const struct stat *sb, int type, - struct FTW *ftw) { - return remove(path); -} - int main(gint argc, gchar **argv) { const gchar *self = *argv++; @@ -81,15 +94,7 @@ int main(gint argc, gchar **argv) { return 1; } - if (g_getenv("NIX_CHROOTENV")) - g_warning("chrootenv doesn't stack!"); - else - g_setenv("NIX_CHROOTENV", "", TRUE); - - g_autofree gchar *prefix = - g_build_filename(g_get_tmp_dir(), "chrootenvXXXXXX", NULL); - - fail_if(!g_mkdtemp_full(prefix, 0755)); + g_autofree const gchar *prefix = create_tmpdir(); pid_t cpid = fork(); @@ -115,9 +120,24 @@ int main(gint argc, gchar **argv) { spit("/proc/self/uid_map", "%d %d 1", uid, uid); spit("/proc/self/gid_map", "%d %d 1", gid, gid); - bind("/", prefix); + // If there is a /host directory, assume this is nested chrootenv and use it as host instead. + gboolean nested_host = g_file_test("/host", G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR); + g_autofree const gchar *host = nested_host ? "/host" : "/"; + + bind(host, prefix); + + // Replace /host by an actual (inner) /host. + if (nested_host) { + fail_if(g_mkdir("/real-host", 0755)); + fail_if(mount("/host/host", "/real-host", NULL, MS_BIND | MS_REC, NULL)); + // For some reason umount("/host") returns EBUSY even immediately after + // pivot_root. We detach it at least to keep `/proc/mounts` from blowing + // up in nested cases. + fail_if(umount2("/host", MNT_DETACH)); + fail_if(mount("/real-host", "/host", NULL, MS_MOVE, NULL)); + fail_if(rmdir("/real-host")); + } - fail_if(chroot(prefix)); fail_if(chdir("/")); fail_if(execvp(*argv, argv)); } @@ -126,8 +146,7 @@ int main(gint argc, gchar **argv) { int status; fail_if(waitpid(cpid, &status, 0) != cpid); - fail_if(nftw(prefix, nftw_remove, getdtablesize(), - FTW_DEPTH | FTW_MOUNT | FTW_PHYS)); + fail_if(rmdir(prefix)); if (WIFEXITED(status)) return WEXITSTATUS(status); diff --git a/pkgs/build-support/build-fhs-userenv/env.nix b/pkgs/build-support/build-fhs-userenv/env.nix index 23568f51b23..295b17eec67 100644 --- a/pkgs/build-support/build-fhs-userenv/env.nix +++ b/pkgs/build-support/build-fhs-userenv/env.nix @@ -36,12 +36,14 @@ let # base packages of the chroot # these match the host's architecture, glibc_multi is used for multilib - # builds. + # builds. glibcLocales must be before glibc or glibc_multi as otherwiese + # the wrong LOCALE_ARCHIVE will be used where only C.UTF-8 is available. basePkgs = with pkgs; - [ (if isMultiBuild then glibc_multi else glibc) + [ glibcLocales + (if isMultiBuild then glibc_multi else glibc) (toString gcc.cc.lib) bashInteractive coreutils less shadow su gawk diffutils findutils gnused gnugrep - gnutar gzip bzip2 xz glibcLocales + gnutar gzip bzip2 xz ]; baseMultiPkgs = with pkgsi686Linux; [ (toString gcc.cc.lib) @@ -50,8 +52,8 @@ let etcProfile = writeText "profile" '' export PS1='${name}-chrootenv:\u@\h:\w\$ ' export LOCALE_ARCHIVE='/usr/lib/locale/locale-archive' - export LD_LIBRARY_PATH='/run/opengl-driver/lib:/run/opengl-driver-32/lib:/usr/lib:/usr/lib32' - export PATH='/run/wrappers/bin:/usr/bin:/usr/sbin' + export LD_LIBRARY_PATH="/run/opengl-driver/lib:/run/opengl-driver-32/lib:/usr/lib:/usr/lib32:$LD_LIBRARY_PATH" + export PATH="/run/wrappers/bin:/usr/bin:/usr/sbin:$PATH" export TZDIR='/etc/zoneinfo' # Force compilers and other tools to look in default search paths @@ -196,4 +198,5 @@ in stdenv.mkDerivation { ${if isMultiBuild then extraBuildCommandsMulti else ""} ''; preferLocalBuild = true; + allowSubstitutes = false; } diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix index 738dbb56708..a1030e3b34f 100644 --- a/pkgs/build-support/build-pecl.nix +++ b/pkgs/build-support/build-pecl.nix @@ -1,22 +1,23 @@ -{ stdenv, php, autoreconfHook, fetchurl }: +{ stdenv, php, autoreconfHook, fetchurl, re2c }: -{ name +{ pname +, version , buildInputs ? [] , nativeBuildInputs ? [] , makeFlags ? [] , src ? fetchurl { - url = "http://pecl.php.net/get/${name}.tgz"; + url = "http://pecl.php.net/get/${pname}-${version}.tgz"; inherit (args) sha256; } , ... }@args: stdenv.mkDerivation (args // { - name = "php-${name}"; + name = "php-${pname}-${version}"; inherit src; - nativeBuildInputs = [ autoreconfHook ] ++ nativeBuildInputs; + nativeBuildInputs = [ autoreconfHook re2c ] ++ nativeBuildInputs; buildInputs = [ php ] ++ buildInputs; makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags; diff --git a/pkgs/build-support/buildenv/builder.pl b/pkgs/build-support/buildenv/builder.pl index 678f5a3fe9e..b699d762d29 100755 --- a/pkgs/build-support/buildenv/builder.pl +++ b/pkgs/build-support/buildenv/builder.pl @@ -26,6 +26,13 @@ sub isInPathsToLink { return 0; } +# Similar to `lib.isStorePath` +sub isStorePath { + my $path = shift; + my $storePath = "@storeDir@"; + + return substr($path, 0, 1) eq "/" && dirname($path) eq $storePath; +} # For each activated package, determine what symlinks to create. @@ -84,6 +91,11 @@ sub checkCollision { sub findFiles { my ($relName, $target, $baseName, $ignoreCollisions, $checkCollisionContents, $priority) = @_; + # The store path must not be a file + if (-f $target && isStorePath $target) { + die "The store path $target is a file and can't be merged into an environment using pkgs.buildEnv!"; + } + # Urgh, hacky... return if $relName eq "/propagated-build-inputs" || diff --git a/pkgs/build-support/buildenv/default.nix b/pkgs/build-support/buildenv/default.nix index 41a1e67ef42..7f2427777f9 100644 --- a/pkgs/build-support/buildenv/default.nix +++ b/pkgs/build-support/buildenv/default.nix @@ -2,7 +2,7 @@ # a fork of the buildEnv in the Nix distribution. Most changes should # eventually be merged back into the Nix distribution. -{ buildPackages, runCommand, lib }: +{ buildPackages, runCommand, lib, substituteAll }: lib.makeOverridable ({ name @@ -43,6 +43,13 @@ lib.makeOverridable , meta ? {} }: +let + builder = substituteAll { + src = ./builder.pl; + inherit (builtins) storeDir; + }; +in + runCommand name rec { inherit manifest ignoreCollisions checkCollisionContents passthru @@ -63,10 +70,11 @@ runCommand name priority = drv.meta.priority or 5; }) paths); preferLocalBuild = true; + allowSubstitutes = false; # XXX: The size is somewhat arbitrary passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else null; } '' - ${buildPackages.perl}/bin/perl -w ${./builder.pl} + ${buildPackages.perl}/bin/perl -w ${builder} eval "$postBuild" '') diff --git a/pkgs/build-support/cc-wrapper/add-flags.sh b/pkgs/build-support/cc-wrapper/add-flags.sh index 9762894607a..1358b167f6e 100644 --- a/pkgs/build-support/cc-wrapper/add-flags.sh +++ b/pkgs/build-support/cc-wrapper/add-flags.sh @@ -6,6 +6,7 @@ var_templates_list=( NIX+CFLAGS_COMPILE + NIX+CFLAGS_COMPILE_BEFORE NIX+CFLAGS_LINK NIX+CXXSTDLIB_COMPILE NIX+CXXSTDLIB_LINK @@ -43,5 +44,9 @@ if [ -e @out@/nix-support/cc-ldflags ]; then NIX_@infixSalt@_LDFLAGS+=" $(< @out@/nix-support/cc-ldflags)" fi +if [ -e @out@/nix-support/cc-cflags-before ]; then + NIX_@infixSalt@_CFLAGS_COMPILE_BEFORE="$(< @out@/nix-support/cc-cflags-before) $NIX_@infixSalt@_CFLAGS_COMPILE_BEFORE" +fi + # That way forked processes will not extend these environment variables again. export NIX_CC_WRAPPER_@infixSalt@_FLAGS_SET=1 diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh index 8003fe1d8f3..bb789010008 100644 --- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh @@ -135,7 +135,7 @@ source @out@/nix-support/add-hardening.sh # Add the flags for the C compiler proper. extraAfter=($NIX_@infixSalt@_CFLAGS_COMPILE) -extraBefore=(${hardeningCFlags[@]+"${hardeningCFlags[@]}"}) +extraBefore=(${hardeningCFlags[@]+"${hardeningCFlags[@]}"} $NIX_@infixSalt@_CFLAGS_COMPILE_BEFORE) if [ "$dontLink" != 1 ]; then diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 176df51cbd9..cf2d38cd997 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -45,9 +45,9 @@ let # The wrapper scripts use 'cat' and 'grep', so we may need coreutils. coreutils_bin = if nativeTools then "" else getBin coreutils; - default_cxx_stdlib_compile = if (targetPlatform.isLinux && !(cc.isGNU or false) && !nativeTools && cc ? gcc) then + default_cxx_stdlib_compile = if (targetPlatform.isLinux && !(cc.isGNU or false) && !nativeTools && cc ? gcc) && !(targetPlatform.useLLVM or false) then "-isystem $(echo -n ${cc.gcc}/include/c++/*) -isystem $(echo -n ${cc.gcc}/include/c++/*)/$(${cc.gcc}/bin/gcc -dumpmachine)" - else if targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false) then + else if targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false) && !(targetPlatform.useLLVM or false) then "-isystem ${libcxx}/include/c++/v1" else ""; @@ -63,6 +63,25 @@ let then import ../expand-response-params { inherit (buildPackages) stdenv; } else ""; + # older compilers (for example bootstrap's GCC 5) fail with -march=too-modern-cpu + isGccArchSupported = arch: + if cc.isGNU or false then + { skylake = versionAtLeast ccVersion "6.0"; + skylake-avx512 = versionAtLeast ccVersion "6.0"; + cannonlake = versionAtLeast ccVersion "8.0"; + icelake-client = versionAtLeast ccVersion "8.0"; + icelake-server = versionAtLeast ccVersion "8.0"; + knm = versionAtLeast ccVersion "8.0"; + }.${arch} or true + else if cc.isClang or false then + { cannonlake = versionAtLeast ccVersion "5.0"; + icelake-client = versionAtLeast ccVersion "7.0"; + icelake-server = versionAtLeast ccVersion "7.0"; + knm = versionAtLeast ccVersion "7.0"; + }.${arch} or true + else + false; + in # Ensure bintools matches @@ -279,19 +298,56 @@ stdenv.mkDerivation { export hardening_unsupported_flags="${builtins.concatStringsSep " " (cc.hardeningUnsupportedFlags or [])}" '' + # Machine flags. These are necessary to support + + # TODO: We should make a way to support miscellaneous machine + # flags and other gcc flags as well. + + # Always add -march based on cpu in triple. Sometimes there is a + # discrepency (x86_64 vs. x86-64), so we provide an "arch" arg in + # that case. + + optionalString ((targetPlatform ? platform.gcc.arch) && + isGccArchSupported targetPlatform.platform.gcc.arch) '' + echo "-march=${targetPlatform.platform.gcc.arch}" >> $out/nix-support/cc-cflags-before + '' + + # -mcpu is not very useful. You should use mtune and march + # instead. It’s provided here for backwards compatibility. + + optionalString (targetPlatform ? platform.gcc.cpu) '' + echo "-mcpu=${targetPlatform.platform.gcc.cpu}" >> $out/nix-support/cc-cflags-before + '' + + # -mfloat-abi only matters on arm32 but we set it here + # unconditionally just in case. If the abi specifically sets hard + # vs. soft floats we use it here. + + optionalString (targetPlatform ? platform.gcc.float-abi) '' + echo "-mfloat-abi=${targetPlatform.platform.gcc.float-abi}" >> $out/nix-support/cc-cflags-before + '' + + optionalString (targetPlatform ? platform.gcc.fpu) '' + echo "-mfpu=${targetPlatform.platform.gcc.fpu}" >> $out/nix-support/cc-cflags-before + '' + + optionalString (targetPlatform ? platform.gcc.mode) '' + echo "-mmode=${targetPlatform.platform.gcc.mode}" >> $out/nix-support/cc-cflags-before + '' + + optionalString (targetPlatform ? platform.gcc.tune && + isGccArchSupported targetPlatform.platform.gcc.tune) '' + echo "-mtune=${targetPlatform.platform.gcc.tune}" >> $out/nix-support/cc-cflags-before + '' + + # TODO: categorize these and figure out a better place for them + optionalString hostPlatform.isCygwin '' hardening_unsupported_flags+=" pic" - '' - - + optionalString targetPlatform.isMinGW '' + '' + optionalString targetPlatform.isMinGW '' hardening_unsupported_flags+=" stackprotector" - '' - - + optionalString targetPlatform.isAvr '' + '' + optionalString targetPlatform.isAvr '' hardening_unsupported_flags+=" stackprotector pic" + '' + optionalString (targetPlatform.libc == "newlib") '' + hardening_unsupported_flags+=" stackprotector fortify pie pic" + '' + optionalString targetPlatform.isNetBSD '' + hardening_unsupported_flags+=" stackprotector fortify" '' - + optionalString (targetPlatform.libc == "newlib") '' + + optionalString targetPlatform.isWasm '' hardening_unsupported_flags+=" stackprotector fortify pie pic" '' diff --git a/pkgs/build-support/cc-wrapper/setup-hook.sh b/pkgs/build-support/cc-wrapper/setup-hook.sh index 28060de7411..211b5063291 100644 --- a/pkgs/build-support/cc-wrapper/setup-hook.sh +++ b/pkgs/build-support/cc-wrapper/setup-hook.sh @@ -70,12 +70,12 @@ ccWrapper_addCVars () { local role_post role_pre getHostRoleEnvHook - if [[ -d "$1/include" ]]; then - export NIX_${role_pre}CFLAGS_COMPILE+=" ${ccIncludeFlag:--isystem} $1/include" + if [ -d "$1/include" ]; then + export NIX_${role_pre}CFLAGS_COMPILE+=" -isystem $1/include" fi - if [[ -d "$1/Library/Frameworks" ]]; then - export NIX_${role_pre}CFLAGS_COMPILE+=" -F$1/Library/Frameworks" + if [ -d "$1/Library/Frameworks" ]; then + export NIX_${role_pre}CFLAGS_COMPILE+=" -iframework $1/Library/Frameworks" fi } diff --git a/pkgs/build-support/closure-info.nix b/pkgs/build-support/closure-info.nix index 28f2802a5bc..6b3ff6fd62b 100644 --- a/pkgs/build-support/closure-info.nix +++ b/pkgs/build-support/closure-info.nix @@ -4,7 +4,7 @@ # "nix-store --load-db" and "nix-store --register-validity # --hash-given". -{ stdenv, coreutils, jq, buildPackages }: +{ stdenv, buildPackages }: { rootPaths }: @@ -17,6 +17,8 @@ stdenv.mkDerivation { exportReferencesGraph.closure = rootPaths; + preferLocalBuild = true; + PATH = "${buildPackages.coreutils}/bin:${buildPackages.jq}/bin"; builder = builtins.toFile "builder" diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index ef17a3f4e58..83e21c8945d 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -1,37 +1,41 @@ { - symlinkJoin, + cacert, + callPackage, + closureInfo, coreutils, docker, e2fsprogs, findutils, go, - jshon, jq, + jshon, lib, - pkgs, - pigz, + moreutils, nix, - runCommand, + pigz, + referencesByPopularity, rsync, + runCommand, + runtimeShell, shadow, + skopeo, stdenv, storeDir ? builtins.storeDir, + substituteAll, + symlinkJoin, utillinux, vmTools, writeReferencesToFile, - referencesByPopularity, writeScript, writeText, - closureInfo, - substituteAll }: # WARNING: this API is unstable and may be subject to backwards-incompatible changes in the future. rec { - examples = import ./examples.nix { - inherit pkgs buildImage pullImage shadowSetup buildImageWithNixDb; + examples = callPackage ./examples.nix { + inherit buildImage pullImage shadowSetup buildImageWithNixDb; }; pullImage = let @@ -44,24 +48,29 @@ rec { , sha256 , os ? "linux" , arch ? "amd64" + + # This is used to set name to the pulled image + , finalImageName ? imageName # This used to set a tag to the pulled image , finalImageTag ? "latest" - , name ? fixName "docker-image-${imageName}-${finalImageTag}.tar" + + , name ? fixName "docker-image-${finalImageName}-${finalImageTag}.tar" }: runCommand name { - inherit imageName imageDigest; + inherit imageDigest; + imageName = finalImageName; imageTag = finalImageTag; - impureEnvVars = pkgs.stdenv.lib.fetchers.proxyImpureEnvVars; + impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars; outputHashMode = "flat"; outputHashAlgo = "sha256"; outputHash = sha256; - nativeBuildInputs = lib.singleton (pkgs.skopeo); - SSL_CERT_FILE = "${pkgs.cacert.out}/etc/ssl/certs/ca-bundle.crt"; + nativeBuildInputs = lib.singleton skopeo; + SSL_CERT_FILE = "${cacert.out}/etc/ssl/certs/ca-bundle.crt"; sourceURL = "docker://${imageName}@${imageDigest}"; - destNameTag = "${imageName}:${finalImageTag}"; + destNameTag = "${finalImageName}:${finalImageTag}"; } '' skopeo --override-os ${os} --override-arch ${arch} copy "$sourceURL" "docker-archive://$out:$destNameTag" ''; @@ -69,13 +78,14 @@ rec { # We need to sum layer.tar, not a directory, hence tarsum instead of nix-hash. # And we cannot untar it, because then we cannot preserve permissions ecc. tarsum = runCommand "tarsum" { - buildInputs = [ go ]; + nativeBuildInputs = [ go ]; } '' mkdir tarsum cd tarsum cp ${./tarsum.go} tarsum.go export GOPATH=$(pwd) + export GOCACHE="$TMPDIR/go-cache" mkdir -p src/github.com/docker/docker/pkg ln -sT ${docker.src}/components/engine/pkg/tarsum src/github.com/docker/docker/pkg/tarsum go build @@ -119,7 +129,7 @@ rec { export PATH=${shadow}/bin:$PATH mkdir -p /etc/pam.d if [[ ! -f /etc/passwd ]]; then - echo "root:x:0:0::/root:${stdenv.shell}" > /etc/passwd + echo "root:x:0:0::/root:${runtimeShell}" > /etc/passwd echo "root:!x:::::::" > /etc/shadow fi if [[ ! -f /etc/group ]]; then @@ -150,7 +160,8 @@ rec { postMount ? "", postUmount ? "" }: - vmTools.runInLinuxVM ( + let + result = vmTools.runInLinuxVM ( runCommand name { preVM = vmTools.createEmptyImage { size = diskSize; @@ -158,10 +169,8 @@ rec { }; inherit fromImage fromImageName fromImageTag; - buildInputs = [ utillinux e2fsprogs jshon rsync jq ]; + nativeBuildInputs = [ utillinux e2fsprogs jshon rsync jq ]; } '' - rm -rf $out - mkdir disk mkfs /dev/${vmTools.hd} mount /dev/${vmTools.hd} disk @@ -198,7 +207,7 @@ rec { # Unpack all of the parent layers into the image. lowerdir="" extractionID=0 - for layerTar in $(cat layer-list); do + for layerTar in $(tac layer-list); do echo "Unpacking layer $layerTar" extractionID=$((extractionID + 1)) @@ -209,7 +218,7 @@ rec { find image/$extractionID/layer -name ".wh.*" -exec bash -c 'name="$(basename {}|sed "s/^.wh.//")"; mknod "$(dirname {})/$name" c 0 0; rm {}' \; # Get the next lower directory and continue the loop. - lowerdir=$lowerdir''${lowerdir:+:}image/$extractionID/layer + lowerdir=image/$extractionID/layer''${lowerdir:+:}$lowerdir done mkdir work @@ -244,6 +253,12 @@ rec { ${postUmount} ''); + in + runCommand name {} '' + mkdir -p $out + cd ${result} + cp layer.tar json VERSION $out + ''; exportImage = { name ? fromImage.name, fromImage, fromImageName ? null, fromImageTag ? null, diskSize ? 1024 }: runWithOverlay { @@ -261,7 +276,7 @@ rec { # things like `ls` or `echo` will be missing. shellScript = name: text: writeScript name '' - #!${stdenv.shell} + #!${runtimeShell} set -e export PATH=${coreutils}/bin:/bin ${text} @@ -276,20 +291,22 @@ rec { # Files to add to the layer. closure, configJson, - # Docker has a 42-layer maximum, we pick 24 to ensure there is plenty - # of room for extension - maxLayers ? 24 + # Docker has a 125-layer maximum, we pick 100 to ensure there is + # plenty of room for extension. + # https://github.com/moby/moby/blob/b3e9f7b13b0f0c414fa6253e1f17a86b2cff68b5/layer/layer_store.go#L23-L26 + maxLayers ? 100 }: let storePathToLayer = substituteAll - { inherit (stdenv) shell; + { shell = runtimeShell; + isExecutable = true; src = ./store-path-to-layer.sh; }; in runCommand "${name}-granular-docker-layers" { inherit maxLayers; paths = referencesByPopularity closure; - buildInputs = [ jshon rsync tarsum ]; + nativeBuildInputs = [ jshon rsync tarsum ]; enableParallelBuilding = true; } '' @@ -327,7 +344,7 @@ rec { uid ? 0, gid ? 0, }: runCommand "${name}-customisation-layer" { - buildInputs = [ jshon rsync tarsum ]; + nativeBuildInputs = [ jshon rsync tarsum ]; inherit extraCommands; } '' @@ -341,7 +358,7 @@ rec { # Tar up the layer and throw it into 'layer.tar'. echo "Packing layer..." mkdir $out - tar -C layer --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=${toString uid} --group=${toString gid} -cf $out/layer.tar . + tar --transform='s|^\./||' -C layer --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=${toString uid} --group=${toString gid} -cf $out/layer.tar . # Compute a checksum of the tarball. echo "Computing layer checksum..." @@ -372,7 +389,7 @@ rec { }: runCommand "docker-layer-${name}" { inherit baseJson contents extraCommands; - buildInputs = [ jshon rsync tarsum ]; + nativeBuildInputs = [ jshon rsync tarsum ]; } '' mkdir layer @@ -482,7 +499,7 @@ rec { (cd layer; ${extraCommandsScript}) echo "Packing layer..." - mkdir $out + mkdir -p $out tar -C layer --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" -cf $out/layer.tar . # Compute the tar checksum and add it to the output json. @@ -527,7 +544,7 @@ rec { os = "linux"; }); impure = runCommand "${baseName}-standard-dynamic-date.json" - { buildInputs = [ jq ]; } + { nativeBuildInputs = [ jq ]; } '' jq ".created = \"$(TZ=utc date --iso-8601="seconds")\"" ${pure} > $out ''; @@ -548,7 +565,7 @@ rec { inherit uid gid extraCommands; }; result = runCommand "docker-image-${baseName}.tar.gz" { - buildInputs = [ jshon pigz coreutils findutils jq ]; + nativeBuildInputs = [ jshon pigz coreutils findutils jq ]; # Image name and tag must be lowercase imageName = lib.toLower name; baseJson = configJson; @@ -577,9 +594,9 @@ rec { layerID=$(sha256sum "$layer/json" | cut -d ' ' -f 1) ln -s "$layer" "./image/$layerID" - manifestJson=$(echo "$manifestJson" | jq ".[0].Layers |= [\"$layerID/layer.tar\"] + .") - imageJson=$(echo "$imageJson" | jq ".history |= [{\"created\": \"$(jq -r .created ${configJson})\"}] + .") - imageJson=$(echo "$imageJson" | jq ".rootfs.diff_ids |= [\"sha256:$layerChecksum\"] + .") + manifestJson=$(echo "$manifestJson" | jq ".[0].Layers |= . + [\"$layerID/layer.tar\"]") + imageJson=$(echo "$imageJson" | jq ".history |= . + [{\"created\": \"$(jq -r .created ${configJson})\"}]") + imageJson=$(echo "$imageJson" | jq ".rootfs.diff_ids |= . + [\"sha256:$layerChecksum\"]") done imageJsonChecksum=$(echo "$imageJson" | sha256sum | cut -d ' ' -f1) echo "$imageJson" > "image/$imageJsonChecksum.json" @@ -645,7 +662,7 @@ rec { os = "linux"; }); impure = runCommand "${baseName}-config.json" - { buildInputs = [ jq ]; } + { nativeBuildInputs = [ jq ]; } '' jq ".created = \"$(TZ=utc date --iso-8601="seconds")\"" ${pure} > $out ''; @@ -663,7 +680,7 @@ rec { extraCommands; }; result = runCommand "docker-image-${baseName}.tar.gz" { - buildInputs = [ jshon pigz coreutils findutils jq ]; + nativeBuildInputs = [ jshon pigz coreutils findutils jq moreutils ]; # Image name and tag must be lowercase imageName = lib.toLower name; imageTag = if tag == null then "" else lib.toLower tag; @@ -771,23 +788,24 @@ rec { # Use the temp folder we've been working on to create a new image. mv temp image/$layerID - # Add the new layer ID to the beginning of the layer list + # Add the new layer ID to the end of the layer list ( + cat layer-list # originally this used `sed -i "1i$layerID" layer-list`, but # would fail if layer-list was completely empty. echo "$layerID/layer.tar" - cat layer-list - ) | ${pkgs.moreutils}/bin/sponge layer-list + ) | sponge layer-list # Create image json and image manifest imageJson=$(cat ${baseJson} | jq ". + {\"rootfs\": {\"diff_ids\": [], \"type\": \"layers\"}}") manifestJson=$(jq -n "[{\"RepoTags\":[\"$imageName:$imageTag\"]}]") - for layerTar in $(tac ./layer-list); do + for layerTar in $(cat ./layer-list); do layerChecksum=$(sha256sum image/$layerTar | cut -d ' ' -f1) - imageJson=$(echo "$imageJson" | jq ".history |= [{\"created\": \"$(jq -r .created ${baseJson})\"}] + .") - imageJson=$(echo "$imageJson" | jq ".rootfs.diff_ids |= [\"sha256:$layerChecksum\"] + .") - manifestJson=$(echo "$manifestJson" | jq ".[0].Layers |= [\"$layerTar\"] + .") + imageJson=$(echo "$imageJson" | jq ".history |= . + [{\"created\": \"$(jq -r .created ${baseJson})\"}]") + # diff_ids order is from the bottom-most to top-most layer + imageJson=$(echo "$imageJson" | jq ".rootfs.diff_ids |= . + [\"sha256:$layerChecksum\"]") + manifestJson=$(echo "$manifestJson" | jq ".[0].Layers |= . + [\"$layerTar\"]") done imageJsonChecksum=$(echo "$imageJson" | sha256sum | cut -d ' ' -f1) diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix index d78e35c5662..29eea33a7e1 100644 --- a/pkgs/build-support/docker/examples.nix +++ b/pkgs/build-support/docker/examples.nix @@ -87,9 +87,10 @@ rec { # 4. example of pulling an image. could be used as a base for other images nixFromDockerHub = pullImage { imageName = "nixos/nix"; - imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; - sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; - finalImageTag = "1.11"; + imageDigest = "sha256:85299d86263a3059cf19f419f9d286cc9f06d3c13146a8ebbb21b3437f598357"; + sha256 = "07q9y9r7fsd18sy95ybrvclpkhlal12d30ybnf089hq7v1hgxbi7"; + finalImageTag = "2.2.1"; + finalImageName = "nix"; }; # 5. example of multiple contents, emacs and vi happily coexisting @@ -186,4 +187,51 @@ rec { runAsRoot = "touch /example-file"; fromImage = bash; }; + + # 13. example of 3 layers images This image is used to verify the + # order of layers is correct. + # It allows to validate + # - the layer of parent are below + # - the order of parent layer is preserved at image build time + # (this is why there are 3 images) + layersOrder = let + l1 = pkgs.dockerTools.buildImage { + name = "l1"; + tag = "latest"; + extraCommands = '' + mkdir -p tmp + echo layer1 > tmp/layer1 + echo layer1 > tmp/layer2 + echo layer1 > tmp/layer3 + ''; + }; + l2 = pkgs.dockerTools.buildImage { + name = "l2"; + fromImage = l1; + tag = "latest"; + extraCommands = '' + mkdir -p tmp + echo layer2 > tmp/layer2 + echo layer2 > tmp/layer3 + ''; + }; + in pkgs.dockerTools.buildImage { + name = "l3"; + fromImage = l2; + tag = "latest"; + contents = [ pkgs.coreutils ]; + extraCommands = '' + mkdir -p tmp + echo layer3 > tmp/layer3 + ''; + }; + + # 14. Create another layered image, for comparing layers with image 10. + another-layered-image = pkgs.dockerTools.buildLayeredImage { + name = "another-layered-image"; + tag = "latest"; + config.Cmd = [ "${pkgs.hello}/bin/hello" ]; + contents = [ pkgs.hello ]; + }; + } diff --git a/pkgs/build-support/docker/nix-prefetch-docker b/pkgs/build-support/docker/nix-prefetch-docker new file mode 100755 index 00000000000..839dc87487a --- /dev/null +++ b/pkgs/build-support/docker/nix-prefetch-docker @@ -0,0 +1,173 @@ +#! /usr/bin/env bash + +set -e -o pipefail + +os= +arch= +imageName= +imageTag= +imageDigest= +finalImageName= +finalImageTag= +hashType=$NIX_HASH_ALGO +hashFormat=$hashFormat +format=nix + +usage(){ + echo >&2 "syntax: nix-prefetch-docker [options] [IMAGE_NAME [IMAGE_TAG|IMAGE_DIGEST]] + +Options: + --os os OS to fetch image for + --arch linux Arch to fetch image for + --image-name name Name of the image to fetch + --image-tag tag Image tag + --image-digest digest Image digest + --final-image-name name Desired name of the image + --final-image-tag tag Desired image tag + --json Output result in json format instead of nix + --quiet Only print the final result +" + exit 1 +} + +get_image_digest(){ + local imageName=$1 + local imageTag=$2 + + if test -z "$imageTag"; then + imageTag="latest" + fi + + skopeo inspect "docker://$imageName:$imageTag" | jq '.Digest' -r +} + +get_name() { + local imageName=$1 + local imageTag=$2 + + echo "docker-image-$(echo "$imageName:$imageTag" | tr '/:' '-').tar" +} + +argi=0 +argfun="" +for arg; do + if test -z "$argfun"; then + case $arg in + --os) argfun=set_os;; + --arch) argfun=set_arch;; + --image-name) argfun=set_imageName;; + --image-tag) argfun=set_imageTag;; + --image-digest) argfun=set_imageDigest;; + --final-image-name) argfun=set_finalImageName;; + --final-image-tag) argfun=set_finalImageTag;; + --quiet) QUIET=true;; + --json) format=json;; + --help) usage; exit;; + *) + : $((++argi)) + case $argi in + 1) imageName=$arg;; + 2) [[ $arg == *"sha256"* ]] && imageDigest=$arg || imageTag=$arg;; + *) exit 1;; + esac + ;; + esac + else + case $argfun in + set_*) + var=${argfun#set_} + eval $var=$arg + ;; + esac + argfun="" + fi +done + +if test -z "$imageName"; then + usage +fi + +if test -z "$os"; then + os=linux +fi + +if test -z "$arch"; then + arch=amd64 +fi + +if test -z "$hashType"; then + hashType=sha256 +fi + +if test -z "$hashFormat"; then + hashFormat=base32 +fi + +if test -z "$finalImageName"; then + finalImageName="$imageName" +fi + +if test -z "$finalImageTag"; then + if test -z "$imageTag"; then + finalImageTag="latest" + else + finalImageTag="$imageTag" + fi +fi + +if test -z "$imageDigest"; then + imageDigest=$(get_image_digest $imageName $imageTag) +fi + +sourceUrl="docker://$imageName@$imageDigest" + +tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/skopeo-copy-tmp-XXXXXXXX")" +trap "rm -rf \"$tmpPath\"" EXIT + +tmpFile="$tmpPath/$(get_name $finalImageName $finalImageTag)" + +if test -z "$QUIET"; then + skopeo --override-os ${os} --override-arch ${arch} copy "$sourceUrl" "docker-archive://$tmpFile:$finalImageName:$finalImageTag" +else + skopeo --override-os ${os} --override-arch ${arch} copy "$sourceUrl" "docker-archive://$tmpFile:$finalImageName:$finalImageTag" > /dev/null +fi + +# Compute the hash. +imageHash=$(nix-hash --flat --type $hashType --base32 "$tmpFile") + +# Add the downloaded file to Nix store. +finalPath=$(nix-store --add-fixed "$hashType" "$tmpFile") + +if test -z "$QUIET"; then + echo "-> ImageName: $imageName" + echo "-> ImageDigest: $imageDigest" + echo "-> FinalImageName: $finalImageName" + echo "-> FinalImageTag: $finalImageTag" + echo "-> ImagePath: $finalPath" + echo "-> ImageHash: $imageHash" +fi + +if [ "$format" == "nix" ]; then +cat <"$siteStart" < "$errfile" || ( - status="$?" - cat "$errfile" >&2 - exit "$status" - ) +exit_handlers=() + +run_exit_handlers() { + exit_status=$? + for handler in "${exit_handlers[@]}"; do + eval "$handler $exit_status" + done +} + +trap run_exit_handlers EXIT + +quiet_exit_handler() { + exec 2>&3 3>&- + if [ $1 -ne 0 ]; then + cat "$errfile" >&2 fi + rm -f "$errfile" +} + +quiet_mode() { + errfile="$(mktemp "${TMPDIR:-/tmp}/git-checkout-err-XXXXXXXX")" + exit_handlers+=(quiet_exit_handler) + exec 3>&2 2>"$errfile" } json_escape() { @@ -362,6 +372,14 @@ EOF fi } +remove_tmpPath() { + rm -rf "$tmpPath" +} + +if test -n "$QUIET"; then + quiet_mode +fi + if test -z "$branchName"; then branchName=fetchgit fi @@ -390,8 +408,7 @@ else if test -z "$finalPath"; then tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/git-checkout-tmp-XXXXXXXX")" - # shellcheck disable=SC2064 - trap "rm -rf \"$tmpPath\"" EXIT + exit_handlers+=(remove_tmpPath) tmpFile="$tmpPath/$(url_to_name "$url" "$rev")" mkdir -p "$tmpFile" diff --git a/pkgs/build-support/fetchpatch/default.nix b/pkgs/build-support/fetchpatch/default.nix index 89d72f512f7..2fb32b2324f 100644 --- a/pkgs/build-support/fetchpatch/default.nix +++ b/pkgs/build-support/fetchpatch/default.nix @@ -5,6 +5,10 @@ # stripLen acts as the -p parameter when applying a patch. { lib, fetchurl, buildPackages }: +let + # 0.3.4 would change hashes: https://github.com/NixOS/nixpkgs/issues/25154 + patchutils = buildPackages.patchutils_0_3_3; +in { stripLen ? 0, extraPrefix ? null, excludes ? [], includes ? [], revert ? false, ... }@args: fetchurl ({ @@ -14,10 +18,10 @@ fetchurl ({ echo "error: Fetched patch file '$out' is empty!" 1>&2 exit 1 fi - "${buildPackages.patchutils}/bin/lsdiff" "$out" \ + "${patchutils}/bin/lsdiff" "$out" \ | sort -u | sed -e 's/[*?]/\\&/g' \ | xargs -I{} \ - "${buildPackages.patchutils}/bin/filterdiff" \ + "${patchutils}/bin/filterdiff" \ --include={} \ --strip=${toString stripLen} \ ${lib.optionalString (extraPrefix != null) '' @@ -32,7 +36,7 @@ fetchurl ({ cat "$out" 1>&2 exit 1 fi - ${buildPackages.patchutils}/bin/filterdiff \ + ${patchutils}/bin/filterdiff \ -p1 \ ${builtins.toString (builtins.map (x: "-x ${lib.escapeShellArg x}") excludes)} \ ${builtins.toString (builtins.map (x: "-i ${lib.escapeShellArg x}") includes)} \ @@ -46,7 +50,7 @@ fetchurl ({ exit 1 fi '' + lib.optionalString revert '' - ${buildPackages.patchutils}/bin/interdiff "$out" /dev/null > "$tmpfile" + ${patchutils}/bin/interdiff "$out" /dev/null > "$tmpfile" mv "$tmpfile" "$out" '' + (args.postFetch or ""); meta.broken = excludes != [] && includes != []; diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh index f9bc8b602f4..74fdc320835 100644 --- a/pkgs/build-support/fetchurl/builder.sh +++ b/pkgs/build-support/fetchurl/builder.sh @@ -118,7 +118,6 @@ if test -n "$showURLs"; then exit 0 fi - if test -n "$preferHashedMirrors"; then tryHashedMirrors fi @@ -128,6 +127,16 @@ set -o noglob success= for url in $urls; do + if [ -z "$postFetch" ]; then + case "$url" in + https://github.com/*/archive/*) + echo "warning: archives from GitHub revisions should use fetchFromGitHub" + ;; + https://gitlab.com/*/-/archive/*) + echo "warning: archives from GitLab revisions should use fetchFromGitLab" + ;; + esac + fi tryDownload "$url" if test -n "$success"; then finish; fi done diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index 3ce90cbeab3..6300587a7d1 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -49,8 +49,11 @@ in # first element of `urls'). name ? "" - # Different ways of specifying the hash. -, outputHash ? "" +, # SRI hash. + hash ? "" + +, # Legacy ways of specifying the hash. + outputHash ? "" , outputHashAlgo ? "" , md5 ? "" , sha1 ? "" @@ -103,7 +106,8 @@ let else throw "fetchurl requires either `url` or `urls` to be set"; hash_ = - if md5 != "" then throw "fetchurl does not support md5 anymore, please use sha256 or sha512" + if hash != "" then { outputHashAlgo = null; outputHash = hash; } + else if md5 != "" then throw "fetchurl does not support md5 anymore, please use sha256 or sha512" else if (outputHash != "" && outputHashAlgo != "") then { inherit outputHashAlgo outputHash; } else if sha512 != "" then { outputHashAlgo = "sha512"; outputHash = sha512; } else if sha256 != "" then { outputHashAlgo = "sha256"; outputHash = sha256; } diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix index 404c744eea2..1ca1e45f2fb 100644 --- a/pkgs/build-support/fetchurl/mirrors.nix +++ b/pkgs/build-support/fetchurl/mirrors.nix @@ -19,8 +19,11 @@ rec { https://kent.dl.sourceforge.net/sourceforge/ ]; - # SourceForge.jp. - sourceforgejp = [ + # OSDN (formerly SourceForge.jp). + osdn = [ + https://osdn.dl.osdn.jp/ + https://osdn.mirror.constant.com/ + https://mirrors.gigenet.com/OSDN/ https://osdn.dl.sourceforge.jp/ https://jaist.dl.sourceforge.jp/ ]; @@ -166,6 +169,20 @@ rec { http://backpan.perl.org/ # for old releases ]; + # CentOS. + centos = [ + http://mirror.centos.org/centos/ + # For old releases + http://vault.centos.org/ + https://archive.kernel.org/centos-vault/ + http://ftp.jaist.ac.jp/pub/Linux/CentOS-vault/ + http://mirrors.aliyun.com/centos-vault/ + https://mirror.chpc.utah.edu/pub/vault.centos.org/ + https://mirror.its.sfu.ca/mirror/CentOS-vault/ + https://mirror.math.princeton.edu/pub/centos-vault/ + https://mirrors.tripadvisor.com/centos-vault/ + ]; + # Debian. debian = [ http://httpredir.debian.org/debian/ @@ -265,13 +282,14 @@ rec { # Apache mirrors (see http://www.apache.org/mirrors/). apache = [ + https://www-eu.apache.org/dist/ + https://www-us.apache.org/dist/ http://www.eu.apache.org/dist/ - http://wwwftp.ciril.fr/pub/apache/ ftp://ftp.fu-berlin.de/unix/www/apache/ http://ftp.tudelft.nl/apache/ http://mirror.cc.columbia.edu/pub/software/apache/ - http://www.apache.org/dist/ - http://archive.apache.org/dist/ # fallback for old releases + https://www.apache.org/dist/ + https://archive.apache.org/dist/ # fallback for old releases ftp://ftp.funet.fi/pub/mirrors/apache.org/ http://apache.cs.uu.nl/ http://apache.cs.utah.edu/ @@ -308,6 +326,8 @@ rec { hackage = [ http://hackage.haskell.org/package/ http://hdiff.luite.com/packages/archive/package/ + http://hackage.fpcomplete.com/package/ + http://objects-us-east-1.dream.io/hackage-mirror/package/ ]; # Roy marples mirrors @@ -379,7 +399,7 @@ rec { # Steam Runtime mirrors steamrt = [ http://repo.steampowered.com/steamrt/ - https://abbradar.net/steamrt/ + https://public.abbradar.moe/steamrt/ ]; # Python PyPI mirrors @@ -404,9 +424,10 @@ rec { # Alsa Project alsa = [ - ftp://ftp.alsa-project.org/pub/ - http://alsa.cybermirror.org/ - http://www.mirrorservice.org/sites/ftp.alsa-project.org/pub/ - http://alsa.mirror.fr/ + https://www.alsa-project.org/files/pub/ + ftp://ftp.alsa-project.org/pub/ + http://alsa.cybermirror.org/ + http://www.mirrorservice.org/sites/ftp.alsa-project.org/pub/ + http://alsa.mirror.fr/ ]; } diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix index f1b9b9290d4..c61df8ceb00 100644 --- a/pkgs/build-support/fetchzip/default.nix +++ b/pkgs/build-support/fetchzip/default.nix @@ -5,7 +5,7 @@ # (e.g. due to minor changes in the compression algorithm, or changes # in timestamps). -{ lib, fetchurl, unzip }: +{ fetchurl, unzip }: { # Optionally move the contents of the unpacked tree up one level. stripRoot ? true diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index 22761af158a..7a5642e565d 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -12,11 +12,20 @@ # `contents = {object = ...; symlink = /init;}' is a typical # argument. -{ stdenv, perl, cpio, contents, compressor, prepend, ubootTools +{ stdenv, perl, cpio, contents, ubootTools +, name ? "initrd" +, compressor ? "gzip -9n" +, prepend ? [] +, lib }: +let + # !!! Move this into a public lib function, it is probably useful for others + toValidStoreName = x: with builtins; + lib.concatStringsSep "-" (filter (x: !(isList x)) (split "[^a-zA-Z0-9_=.?-]+" x)); + +in stdenv.mkDerivation rec { + inherit name; -stdenv.mkDerivation rec { - name = "initrd"; builder = ./make-initrd.sh; makeUInitrd = stdenv.hostPlatform.platform.kernelTarget == "uImage"; @@ -33,8 +42,12 @@ stdenv.mkDerivation rec { # Note: we don't use closureInfo yet, as that won't build with nix-1.x. # See #36268. exportReferencesGraph = - map (x: [("closure-" + baseNameOf x.symlink) x.object]) contents; + lib.zipListsWith + (x: i: [("closure-${toValidStoreName (baseNameOf x.symlink)}-${toString i}") x.object]) + contents + (lib.range 0 (lib.length contents - 1)); pathsFromGraph = ./paths-from-graph.pl; inherit compressor prepend; } + diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c index ba1e6c57e12..8e8da00b02a 100644 --- a/pkgs/build-support/libredirect/libredirect.c +++ b/pkgs/build-support/libredirect/libredirect.c @@ -91,6 +91,20 @@ int open64(const char * path, int flags, ...) return open64_real(rewrite(path, buf), flags, mode); } +int openat(int dirfd, const char * path, int flags, ...) +{ + int (*openat_real) (int, const char *, int, mode_t) = dlsym(RTLD_NEXT, "openat"); + mode_t mode = 0; + if (flags & O_CREAT) { + va_list ap; + va_start(ap, flags); + mode = va_arg(ap, mode_t); + va_end(ap); + } + char buf[PATH_MAX]; + return openat_real(dirfd, rewrite(path, buf), flags, mode); +} + FILE * fopen(const char * path, const char * mode) { FILE * (*fopen_real) (const char *, const char *) = dlsym(RTLD_NEXT, "fopen"); @@ -146,6 +160,19 @@ int posix_spawn(pid_t * pid, const char * path, return posix_spawn_real(pid, rewrite(path, buf), file_actions, attrp, argv, envp); } +int posix_spawnp(pid_t * pid, const char * file, + const posix_spawn_file_actions_t * file_actions, + const posix_spawnattr_t * attrp, + char * const argv[], char * const envp[]) +{ + int (*posix_spawnp_real) (pid_t *, const char *, + const posix_spawn_file_actions_t *, + const posix_spawnattr_t *, + char * const argv[], char * const envp[]) = dlsym(RTLD_NEXT, "posix_spawnp"); + char buf[PATH_MAX]; + return posix_spawnp_real(pid, rewrite(file, buf), file_actions, attrp, argv, envp); +} + int execv(const char *path, char *const argv[]) { int (*execv_real) (const char *path, char *const argv[]) = dlsym(RTLD_NEXT, "execv"); diff --git a/pkgs/build-support/mkshell/default.nix b/pkgs/build-support/mkshell/default.nix index a98b4affacb..a70dc0390cb 100644 --- a/pkgs/build-support/mkshell/default.nix +++ b/pkgs/build-support/mkshell/default.nix @@ -11,13 +11,8 @@ ... }@attrs: let - mergeInputs = name: - let - op = item: sum: sum ++ item."${name}" or []; - nul = []; - list = [attrs] ++ inputsFrom; - in - lib.foldr op nul list; + mergeInputs = name: lib.concatLists (lib.catAttrs name + ([attrs] ++ inputsFrom)); rest = builtins.removeAttrs attrs [ "inputsFrom" @@ -25,6 +20,7 @@ let "nativeBuildInputs" "propagatedBuildInputs" "propagatedNativeBuildInputs" + "shellHook" ]; in @@ -37,6 +33,9 @@ stdenv.mkDerivation ({ propagatedBuildInputs = mergeInputs "propagatedBuildInputs"; propagatedNativeBuildInputs = mergeInputs "propagatedNativeBuildInputs"; + shellHook = lib.concatStringsSep "\n" (lib.catAttrs "shellHook" + (lib.reverseList inputsFrom ++ [attrs])); + nobuildPhase = '' echo echo "This derivation is not meant to be built, aborting"; diff --git a/pkgs/build-support/nix-prefetch-github/default.nix b/pkgs/build-support/nix-prefetch-github/default.nix index 48297e583af..3c5cbe2b492 100644 --- a/pkgs/build-support/nix-prefetch-github/default.nix +++ b/pkgs/build-support/nix-prefetch-github/default.nix @@ -5,13 +5,13 @@ python3.pkgs.buildPythonApplication rec { pname = "nix-prefetch-github"; - version = "1.3"; + version = "2.3"; src = fetchFromGitHub { owner = "seppeljordan"; repo = "nix-prefetch-github"; - rev = "${version}"; - sha256 = "1rinbv1q4q8m27ih6l81w1lsmwn6cz7q3iyjiycklywpi8684dh6"; + rev = "v${version}"; + sha256 = "0b2hgfyxhlqq6lyi5cr98dz6if5kl6b3kq67f2lzfkalydywl1dh"; }; propagatedBuildInputs = with python3.pkgs; [ @@ -19,7 +19,6 @@ python3.pkgs.buildPythonApplication rec { click effect jinja2 - requests ]; meta = with stdenv.lib; { description = "Prefetch sources from github"; diff --git a/pkgs/build-support/nuke-references/builder.sh b/pkgs/build-support/nuke-references/builder.sh index 02eac664d43..7da32203218 100644 --- a/pkgs/build-support/nuke-references/builder.sh +++ b/pkgs/build-support/nuke-references/builder.sh @@ -7,7 +7,7 @@ cat > $out/bin/nuke-refs < "\$i.tmp" + cat "\$i" | $perl/bin/perl -pe "s|\Q$NIX_STORE\E/\$excludes[a-z0-9]{32}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" > "\$i.tmp" if test -x "\$i"; then chmod +x "\$i.tmp"; fi mv "\$i.tmp" "\$i" fi diff --git a/pkgs/build-support/ocaml/dune.nix b/pkgs/build-support/ocaml/dune.nix index 4d6ed76aca0..a0aac144796 100644 --- a/pkgs/build-support/ocaml/dune.nix +++ b/pkgs/build-support/ocaml/dune.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ocaml, findlib, dune, opaline }: +{ stdenv, ocaml, findlib, dune, opaline }: { pname, version, buildInputs ? [], ... }@args: diff --git a/pkgs/build-support/ocaml/oasis.nix b/pkgs/build-support/ocaml/oasis.nix new file mode 100644 index 00000000000..74977486f2f --- /dev/null +++ b/pkgs/build-support/ocaml/oasis.nix @@ -0,0 +1,46 @@ +{ stdenv, ocaml_oasis, ocaml, findlib, ocamlbuild }: + +{ pname, version, buildInputs ? [], meta ? { platforms = ocaml.meta.platforms or []; }, + minimumOCamlVersion ? null, + createFindlibDestdir ? true, + dontStrip ? true, + ... +}@args: + +if args ? minimumOCamlVersion && + ! stdenv.lib.versionAtLeast ocaml.version args.minimumOCamlVersion +then throw "${pname}-${version} is not available for OCaml ${ocaml.version}" +else + +stdenv.mkDerivation (args // { + name = "ocaml${ocaml.version}-${pname}-${version}"; + + buildInputs = [ ocaml findlib ocamlbuild ocaml_oasis ] ++ buildInputs; + + inherit createFindlibDestdir; + inherit dontStrip; + + buildPhase = '' + runHook preBuild + oasis setup + ocaml setup.ml -configure + ocaml setup.ml -build + runHook postBuild + ''; + + checkPhase = '' + runHook preCheck + ocaml setup.ml -test + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out + sed -i s+/usr/local+$out+g setup.ml + sed -i s+/usr/local+$out+g setup.data + prefix=$OCAMLFIND_DESTDIR ocaml setup.ml -install + runHook postInstall + ''; + +}) diff --git a/pkgs/build-support/references-by-popularity/closure-graph.py b/pkgs/build-support/references-by-popularity/closure-graph.py index d67a5dfcf14..579f3b041fa 100644 --- a/pkgs/build-support/references-by-popularity/closure-graph.py +++ b/pkgs/build-support/references-by-popularity/closure-graph.py @@ -117,6 +117,17 @@ import unittest from pprint import pprint from collections import defaultdict + +def debug(msg, *args, **kwargs): + if False: + print( + "DEBUG: {}".format( + msg.format(*args, **kwargs) + ), + file=sys.stderr + ) + + # Find paths in the original dataset which are never referenced by # any other paths def find_roots(closures): @@ -327,10 +338,23 @@ class TestMakeLookup(unittest.TestCase): # /nix/store/tux: {} # } # } +subgraphs_cache = {} def make_graph_segment_from_root(root, lookup): + global subgraphs_cache children = {} for ref in lookup[root]: - children[ref] = make_graph_segment_from_root(ref, lookup) + # make_graph_segment_from_root is a pure function, and will + # always return the same result based on a given input. Thus, + # cache computation. + # + # Python's assignment will use a pointer, preventing memory + # bloat for large graphs. + if ref not in subgraphs_cache: + debug("Subgraph Cache miss on {}".format(ref)) + subgraphs_cache[ref] = make_graph_segment_from_root(ref, lookup) + else: + debug("Subgraph Cache hit on {}".format(ref)) + children[ref] = subgraphs_cache[ref] return children class TestMakeGraphSegmentFromRoot(unittest.TestCase): @@ -381,12 +405,27 @@ class TestMakeGraphSegmentFromRoot(unittest.TestCase): # /nix/store/baz: 4 # /nix/store/tux: 6 # ] +popularity_cache = {} def graph_popularity_contest(full_graph): + global popularity_cache popularity = defaultdict(int) for path, subgraph in full_graph.items(): popularity[path] += 1 - subcontest = graph_popularity_contest(subgraph) + # graph_popularity_contest is a pure function, and will + # always return the same result based on a given input. Thus, + # cache computation. + # + # Python's assignment will use a pointer, preventing memory + # bloat for large graphs. + if path not in popularity_cache: + debug("Popularity Cache miss on {}", path) + popularity_cache[path] = graph_popularity_contest(subgraph) + else: + debug("Popularity Cache hit on {}", path) + + subcontest = popularity_cache[path] for subpath, subpopularity in subcontest.items(): + debug("Calculating popularity for {}", subpath) popularity[subpath] += subpopularity + 1 return popularity @@ -474,6 +513,7 @@ def main(): filename = sys.argv[1] key = sys.argv[2] + debug("Loading from {}", filename) with open(filename) as f: data = json.load(f) @@ -497,14 +537,21 @@ def main(): # ] graph = data[key] + debug("Finding roots from {}", key) roots = find_roots(graph); + debug("Making lookup for {}", key) lookup = make_lookup(graph) full_graph = {} for root in roots: + debug("Making full graph for {}", root) full_graph[root] = make_graph_segment_from_root(root, lookup) - ordered = order_by_popularity(graph_popularity_contest(full_graph)) + debug("Running contest") + contest = graph_popularity_contest(full_graph) + debug("Ordering by popularity") + ordered = order_by_popularity(contest) + debug("Checking for missing paths") missing = [] for path in all_paths(graph): if path not in ordered: diff --git a/pkgs/build-support/release/ant-build.nix b/pkgs/build-support/release/ant-build.nix index 5ab24132290..2d24d5bd704 100644 --- a/pkgs/build-support/release/ant-build.nix +++ b/pkgs/build-support/release/ant-build.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation ( mkdir -p $out/bin cat >> $out/bin/${w.name} <" ]; - sha256 = "1l6789hkz2whd9gklwz1m379kcvyizaj8nnzj3rn4a5h79yg59v7"; - libName = "advapi32"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - aho_corasick_0_6_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "aho-corasick"; - version = "0.6.3"; - authors = [ "Andrew Gallant " ]; - sha256 = "1cpqzf6acj8lm06z3f1cg41wn6c2n9l3v49nh0dvimv4055qib6k"; - libName = "aho_corasick"; - crateBin = [ { name = "aho-corasick-dot"; } ]; - inherit dependencies buildDependencies features; - }; - atty_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "atty"; - version = "0.2.3"; - authors = [ "softprops " ]; - sha256 = "0zl0cjfgarp5y78nd755lpki5bbkj4hgmi88v265m543yg29i88f"; - inherit dependencies buildDependencies features; - }; - backtrace_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "backtrace"; - version = "0.3.3"; - authors = [ "Alex Crichton " "The Rust Project Developers" ]; - sha256 = "0invfdxkj85v8zyrjs3amfxjdk2a36x8irq7wq7kny6q49hh8y0z"; - inherit dependencies buildDependencies features; - }; - backtrace_sys_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "backtrace-sys"; - version = "0.1.16"; - authors = [ "Alex Crichton " ]; - sha256 = "1cn2c8q3dn06crmnk0p62czkngam4l8nf57wy33nz1y5g25pszwy"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "bitflags"; - version = "0.7.0"; - authors = [ "The Rust Project Developers" ]; - sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5"; - inherit dependencies buildDependencies features; - }; - bitflags_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "bitflags"; - version = "0.9.1"; - authors = [ "The Rust Project Developers" ]; - sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws"; - inherit dependencies buildDependencies features; - }; - cargo_0_22_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "cargo"; - version = "0.22.0"; - authors = [ "Yehuda Katz " "Carl Lerche " "Alex Crichton " ]; - sha256 = "1a47jzkxydsrcyybdqv7wd6a2f258c8bb8rb2jv5n4apxz5qhycl"; - libPath = "src/cargo/lib.rs"; - crateBin = [ { name = "cargo"; } ]; - inherit dependencies buildDependencies features; - }; - cargo_vendor_0_1_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "cargo-vendor"; - version = "0.1.13"; - authors = [ "Alex Crichton " ]; - src = ./.; - inherit dependencies buildDependencies features; - }; - cc_1_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "cc"; - version = "1.0.3"; - authors = [ "Alex Crichton " ]; - sha256 = "193pwqgh79w6k0k29svyds5nnlrwx44myqyrw605d5jj4yk2zmpr"; - inherit dependencies buildDependencies features; - }; - cfg_if_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "cfg-if"; - version = "0.1.2"; - authors = [ "Alex Crichton " ]; - sha256 = "0x06hvrrqy96m97593823vvxcgvjaxckghwyy2jcyc8qc7c6cyhi"; - inherit dependencies buildDependencies features; - }; - cmake_0_1_26_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "cmake"; - version = "0.1.26"; - authors = [ "Alex Crichton " ]; - sha256 = "0qi1vb1fzlngxr4mzklg58jjmvwj08059pjvh0yh1azzj2mcmgx6"; - inherit dependencies buildDependencies features; - }; - core_foundation_0_4_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "core-foundation"; - version = "0.4.4"; - authors = [ "The Servo Project Developers" ]; - sha256 = "1vn9cdbihjnqrlznrbvw0yggz5grb4wqll5xq080w28xxhnayyhx"; - inherit dependencies buildDependencies features; - }; - core_foundation_sys_0_4_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "core-foundation-sys"; - version = "0.4.4"; - authors = [ "The Servo Project Developers" ]; - sha256 = "022i015jzjmv85vr25l9caxz211649d8rnbcsmr0gh9k4ygm7pqk"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - crates_io_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "crates-io"; - version = "0.11.0"; - authors = [ "Alex Crichton " ]; - sha256 = "1xxhbka89bk1kkhl8nsnlp9ih64fzv904dyb7jyws7lizcvq77wm"; - libPath = "lib.rs"; - libName = "crates_io"; - inherit dependencies buildDependencies features; - }; - crossbeam_0_2_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "crossbeam"; - version = "0.2.10"; - authors = [ "Aaron Turon " ]; - sha256 = "1k1a4q5gy7zakiw39hdzrblnw3kk4nsqmkdp1dpzh8h558140rhq"; - inherit dependencies buildDependencies features; - }; - curl_0_4_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "curl"; - version = "0.4.8"; - authors = [ "Carl Lerche " "Alex Crichton " ]; - sha256 = "0pxg1bpplm1bp8b8gzlvs4pmd36m02gjhskvwrd161hh9pslczv5"; - inherit dependencies buildDependencies features; - }; - curl_sys_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "curl-sys"; - version = "0.3.15"; - authors = [ "Carl Lerche " "Alex Crichton " ]; - sha256 = "0x2ysxhpwg1a7srf74v4qcy516jzf0kjg87hsl6cfnasxplz5x1g"; - libPath = "lib.rs"; - libName = "curl_sys"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - dbghelp_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "dbghelp-sys"; - version = "0.2.0"; - authors = [ "Peter Atashian " ]; - sha256 = "0ylpi3bbiy233m57hnisn1df1v0lbl7nsxn34b0anzsgg440hqpq"; - libName = "dbghelp"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - docopt_0_8_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "docopt"; - version = "0.8.1"; - authors = [ "Andrew Gallant " ]; - sha256 = "0kmqy534qgcc2hh81nd248jmnvdjb5y4wclddd7y2jjm27rzibss"; - crateBin = [ { name = "docopt-wordlist"; path = "src/wordlist.rs"; } ]; - inherit dependencies buildDependencies features; - }; - dtoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "dtoa"; - version = "0.4.2"; - authors = [ "David Tolnay " ]; - sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw"; - inherit dependencies buildDependencies features; - }; - env_logger_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "env_logger"; - version = "0.4.3"; - authors = [ "The Rust Project Developers" ]; - sha256 = "0nrx04p4xa86d5kc7aq4fwvipbqji9cmgy449h47nc9f1chafhgg"; - inherit dependencies buildDependencies features; - }; - error_chain_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "error-chain"; - version = "0.11.0"; - authors = [ "Brian Anderson " "Paul Colomiets " "Colin Kiegel " "Yamakaky " ]; - sha256 = "19nz17q6dzp0mx2jhh9qbj45gkvvgcl7zq9z2ai5a8ihbisfj6d7"; - inherit dependencies buildDependencies features; - }; - filetime_0_1_14_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "filetime"; - version = "0.1.14"; - authors = [ "Alex Crichton " ]; - sha256 = "0i6dvc3ba7vl1iccc91k7c9bv9j5md98mbvlmfy0kicikx0ffn08"; - inherit dependencies buildDependencies features; - }; - flate2_0_2_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "flate2"; - version = "0.2.20"; - authors = [ "Alex Crichton " ]; - sha256 = "1am0d2vmqym1vcg7rvv516vpcrbhdn1jisy0q03r3nbzdzh54ppl"; - inherit dependencies buildDependencies features; - }; - fnv_1_0_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "fnv"; - version = "1.0.5"; - authors = [ "Alex Crichton " ]; - sha256 = "164832m16b3hdm3jfrda03ps3ayi5qb855irpm9sqpnw1awpy2a2"; - libPath = "lib.rs"; - inherit dependencies buildDependencies features; - }; - foreign_types_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "foreign-types"; - version = "0.2.0"; - authors = [ "Steven Fackler " ]; - sha256 = "1sznwg2py4xi7hyrx0gg1sirlwgh87wsanvjx3zb475g6c4139jh"; - inherit dependencies buildDependencies features; - }; - fs2_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "fs2"; - version = "0.4.2"; - authors = [ "Dan Burkert " ]; - sha256 = "034s52pmqvrkafmmlnklysqx6gl08rl63ycngbav9hs0mrq22qvf"; - inherit dependencies buildDependencies features; - }; - fuchsia_zircon_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "fuchsia-zircon"; - version = "0.2.1"; - authors = [ "Raph Levien " ]; - sha256 = "0yd4rd7ql1vdr349p6vgq2dnwmpylky1kjp8g1zgvp250jxrhddb"; - inherit dependencies buildDependencies features; - }; - fuchsia_zircon_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "fuchsia-zircon-sys"; - version = "0.2.0"; - authors = [ "Raph Levien " ]; - sha256 = "1yrqsrjwlhl3di6prxf5xmyd82gyjaysldbka5wwk83z11mpqh4w"; - inherit dependencies buildDependencies features; - }; - git2_0_6_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "git2"; - version = "0.6.8"; - authors = [ "Alex Crichton " ]; - sha256 = "1si82zg35a1az91wa2zjwlkmbd4pdia8wf87j6hz4bs8l55y8fd9"; - inherit dependencies buildDependencies features; - }; - git2_curl_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "git2-curl"; - version = "0.7.0"; - authors = [ "Alex Crichton " ]; - sha256 = "1k36py61r3g7xz79ms02c1zb9x5c60g4wnjg2ffwz2j7kqzw9cc8"; - inherit dependencies buildDependencies features; - }; - glob_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "glob"; - version = "0.2.11"; - authors = [ "The Rust Project Developers" ]; - sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf"; - inherit dependencies buildDependencies features; - }; - globset_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "globset"; - version = "0.2.1"; - authors = [ "Andrew Gallant " ]; - sha256 = "02dycdz001g33rs2jygiq7yqqswmy1in5rczfl44clq1p118fis0"; - inherit dependencies buildDependencies features; - }; - hex_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "hex"; - version = "0.2.0"; - authors = [ "KokaKiwi " ]; - sha256 = "0yd68d709w1z8133n9hny9dfj2fvil0r6802c3bb63czyis8rfbp"; - inherit dependencies buildDependencies features; - }; - home_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "home"; - version = "0.3.0"; - authors = [ "Brian Anderson " ]; - sha256 = "1dzc0wd2i82zqq1s8j4mpy2almaq5fcas22s4asn38pm86k40zf2"; - inherit dependencies buildDependencies features; - }; - idna_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "idna"; - version = "0.1.4"; - authors = [ "The rust-url developers" ]; - sha256 = "15j44qgjx1skwg9i7f4cm36ni4n99b1ayx23yxx7axxcw8vjf336"; - inherit dependencies buildDependencies features; - }; - ignore_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "ignore"; - version = "0.2.2"; - authors = [ "Andrew Gallant " ]; - sha256 = "1b9wc8q25jwbipxmrysaps7sykbhyh6hdl8ihqzlwfvg39dy7mjc"; - inherit dependencies buildDependencies features; - }; - itoa_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "itoa"; - version = "0.3.4"; - authors = [ "David Tolnay " ]; - sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9"; - inherit dependencies buildDependencies features; - }; - jobserver_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "jobserver"; - version = "0.1.8"; - authors = [ "Alex Crichton " ]; - sha256 = "0rscjndafcrldrlb5nax2jgnc6fk298awqc6yzi9lbnbybm6r004"; - inherit dependencies buildDependencies features; - }; - kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "kernel32-sys"; - version = "0.2.2"; - authors = [ "Peter Atashian " ]; - sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj"; - libName = "kernel32"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - lazy_static_0_2_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "lazy_static"; - version = "0.2.9"; - authors = [ "Marvin Löbel " ]; - sha256 = "08ldzr5292y3hvi6l6v8l4i6v95lm1aysmnfln65h10sqrfh6iw7"; - inherit dependencies buildDependencies features; - }; - libc_0_2_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "libc"; - version = "0.2.33"; - authors = [ "The Rust Project Developers" ]; - sha256 = "1l7synziccnvarsq2kk22vps720ih6chmn016bhr2bq54hblbnl1"; - inherit dependencies buildDependencies features; - }; - libgit2_sys_0_6_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "libgit2-sys"; - version = "0.6.16"; - authors = [ "Alex Crichton " ]; - sha256 = "05axjdwkm7z8z6c7s96cakdigjiq9sfah8z48868bhby6v1q30n9"; - libPath = "lib.rs"; - libName = "libgit2_sys"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - libssh2_sys_0_2_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "libssh2-sys"; - version = "0.2.6"; - authors = [ "Alex Crichton " ]; - sha256 = "0pvdgr3lg9x8xyjmfwifr9dxirvrzjvq7i3clix50rwp7ck21jh7"; - libPath = "lib.rs"; - libName = "libssh2_sys"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - libz_sys_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "libz-sys"; - version = "1.0.18"; - authors = [ "Alex Crichton " ]; - sha256 = "0lr0rvmmfbfa4g7mhi0l93i8jq86pfcssdv4d40kzfy45ajdcgim"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - log_0_3_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "log"; - version = "0.3.8"; - authors = [ "The Rust Project Developers" ]; - sha256 = "1c43z4z85sxrsgir4s1hi84558ab5ic7jrn5qgmsiqcv90vvn006"; - inherit dependencies buildDependencies features; - }; - matches_0_1_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "matches"; - version = "0.1.6"; - authors = [ "Simon Sapin " ]; - sha256 = "1zlrqlbvzxdil8z8ial2ihvxjwvlvg3g8dr0lcdpsjclkclasjan"; - libPath = "lib.rs"; - inherit dependencies buildDependencies features; - }; - memchr_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "memchr"; - version = "1.0.2"; - authors = [ "Andrew Gallant " "bluss" ]; - sha256 = "0dfb8ifl9nrc9kzgd5z91q6qg87sh285q1ih7xgrsglmqfav9lg7"; - inherit dependencies buildDependencies features; - }; - memchr_2_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "memchr"; - version = "2.0.0"; - authors = [ "Andrew Gallant " "bluss" ]; - sha256 = "182svm4sr8b7l38ss6ph5wkj3p7ypp08jq65fm83mxpylxziih9p"; - inherit dependencies buildDependencies features; - }; - miniz_sys_0_1_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "miniz-sys"; - version = "0.1.10"; - authors = [ "Alex Crichton " ]; - sha256 = "11vg6phafxil87nbxgrlhcx5hjr3145wsbwwkfmibvnmzxfdmvln"; - libPath = "lib.rs"; - libName = "miniz_sys"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - miow_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "miow"; - version = "0.2.1"; - authors = [ "Alex Crichton " ]; - sha256 = "14f8zkc6ix7mkyis1vsqnim8m29b6l55abkba3p2yz7j1ibcvrl0"; - inherit dependencies buildDependencies features; - }; - net2_0_2_31_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "net2"; - version = "0.2.31"; - authors = [ "Alex Crichton " ]; - sha256 = "13mphllfcbybsdqyi1jb3kyqx65m8ch07drr59a4wb3yl89awm7y"; - inherit dependencies buildDependencies features; - }; - num_traits_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "num-traits"; - version = "0.1.40"; - authors = [ "The Rust Project Developers" ]; - sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw"; - inherit dependencies buildDependencies features; - }; - num_cpus_1_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "num_cpus"; - version = "1.7.0"; - authors = [ "Sean McArthur " ]; - sha256 = "0231xmd65ma3pqfiw8pkv9dvm9x708z4xlrwp3i0sgiwv408dz3f"; - inherit dependencies buildDependencies features; - }; - openssl_0_9_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "openssl"; - version = "0.9.20"; - authors = [ "Steven Fackler " ]; - sha256 = "0dbj6k6z828c3sqbxidw5zfval29k8dlsr8qn8fizhc1alli18gx"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - openssl_probe_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "openssl-probe"; - version = "0.1.1"; - authors = [ "Alex Crichton " ]; - sha256 = "19ykmqfnbmq56nadir0kvap4q1rpcjpmrfpnbc1qkj195dnh66na"; - inherit dependencies buildDependencies features; - }; - openssl_sys_0_9_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "openssl-sys"; - version = "0.9.20"; - authors = [ "Alex Crichton " "Steven Fackler " ]; - sha256 = "05q6qagvy7lim9vkq2v00vpm34j1dq4xy9pchs7fb6yy803vx24m"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - percent_encoding_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "percent-encoding"; - version = "1.0.0"; - authors = [ "The rust-url developers" ]; - sha256 = "0c91wp8inj7z270i2kilxjl00kcagqalxxnnjg7fsdlimdwb7q1z"; - libPath = "lib.rs"; - inherit dependencies buildDependencies features; - }; - pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "pkg-config"; - version = "0.3.9"; - authors = [ "Alex Crichton " ]; - sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146"; - inherit dependencies buildDependencies features; - }; - psapi_sys_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "psapi-sys"; - version = "0.1.0"; - authors = [ "Peter Atashian " ]; - sha256 = "091sbrcwbnhq1mwx6rc5w5kkwzg2ph78rhwjkdy9aqnzj7yj5ppm"; - libName = "psapi"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - quote_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "quote"; - version = "0.3.15"; - authors = [ "David Tolnay " ]; - sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg"; - inherit dependencies buildDependencies features; - }; - rand_0_3_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "rand"; - version = "0.3.18"; - authors = [ "The Rust Project Developers" ]; - sha256 = "15d7c3myn968dzjs0a2pgv58hzdavxnq6swgj032lw2v966ir4xv"; - inherit dependencies buildDependencies features; - }; - redox_syscall_0_1_31_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "redox_syscall"; - version = "0.1.31"; - authors = [ "Jeremy Soller " ]; - sha256 = "0kipd9qslzin4fgj4jrxv6yz5l3l71gnbd7fq1jhk2j7f2sq33j4"; - libName = "syscall"; - inherit dependencies buildDependencies features; - }; - redox_termios_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "redox_termios"; - version = "0.1.1"; - authors = [ "Jeremy Soller " ]; - sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh"; - libPath = "src/lib.rs"; - inherit dependencies buildDependencies features; - }; - regex_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "regex"; - version = "0.2.2"; - authors = [ "The Rust Project Developers" ]; - sha256 = "1f1zrrynfylg0vcfyfp60bybq4rp5g1yk2k7lc7fyz7mmc7k2qr7"; - inherit dependencies buildDependencies features; - }; - regex_syntax_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "regex-syntax"; - version = "0.4.1"; - authors = [ "The Rust Project Developers" ]; - sha256 = "01yrsm68lj86ad1whgg1z95c2pfsvv58fz8qjcgw7mlszc0c08ls"; - inherit dependencies buildDependencies features; - }; - rustc_demangle_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "rustc-demangle"; - version = "0.1.5"; - authors = [ "Alex Crichton " ]; - sha256 = "096kkcx9j747700fhxj1s4rlwkj21pqjmvj64psdj6bakb2q13nc"; - inherit dependencies buildDependencies features; - }; - same_file_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "same-file"; - version = "0.1.3"; - authors = [ "Andrew Gallant " ]; - sha256 = "01hdnxblb1hlysr47nwdv7r8vs7p63ia08v5h4lcffmzqvl5zzn9"; - inherit dependencies buildDependencies features; - }; - scoped_tls_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "scoped-tls"; - version = "0.1.0"; - authors = [ "Alex Crichton " ]; - sha256 = "1j8azxa15srljafrg7wc221npvxb3700sbfk6jjav0rw2zclsnf5"; - inherit dependencies buildDependencies features; - }; - scopeguard_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "scopeguard"; - version = "0.1.2"; - authors = [ "bluss" ]; - sha256 = "00b3jrxlrzqv7qqzdd18m6p5skj1xwb4nw6bhch2ikg0hnfv5zdb"; - inherit dependencies buildDependencies features; - }; - semver_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "semver"; - version = "0.7.0"; - authors = [ "Steve Klabnik " "The Rust Project Developers" ]; - sha256 = "079944bh20ldr41i96nk9b31igj555dl2d8mg51m4h0ccwric4l8"; - inherit dependencies buildDependencies features; - }; - semver_parser_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "semver-parser"; - version = "0.7.0"; - authors = [ "Steve Klabnik " ]; - sha256 = "1da66c8413yakx0y15k8c055yna5lyb6fr0fw9318kdwkrk5k12h"; - inherit dependencies buildDependencies features; - }; - serde_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "serde"; - version = "1.0.18"; - authors = [ "Erick Tryzelaar " "David Tolnay " ]; - sha256 = "14cczcvmfwgbm8447k93aggi7fbx0ix5f7dz16fxzs9l3riac5vq"; - inherit dependencies buildDependencies features; - }; - serde_derive_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "serde_derive"; - version = "1.0.18"; - authors = [ "Erick Tryzelaar " "David Tolnay " ]; - sha256 = "1kx8zjcc9mxib6ipb9ygjjgxdniff93pwazvj4vqb859paqazdsj"; - procMacro = true; - inherit dependencies buildDependencies features; - }; - serde_derive_internals_0_16_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "serde_derive_internals"; - version = "0.16.0"; - authors = [ "Erick Tryzelaar " "David Tolnay " ]; - sha256 = "1k96ypwlhnvmaksimkx1pd5rwvjaanfcdzpgndhy994hx03xplhs"; - inherit dependencies buildDependencies features; - }; - serde_ignored_0_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "serde_ignored"; - version = "0.0.3"; - authors = [ "David Tolnay " ]; - sha256 = "0yz81jz6rqbzbhznmkygl9rdq1xq43jsgv10mmd5m24vh4j00icc"; - inherit dependencies buildDependencies features; - }; - serde_json_1_0_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "serde_json"; - version = "1.0.5"; - authors = [ "Erick Tryzelaar " "David Tolnay " ]; - sha256 = "1yka3aa2gfi30415jpf0935k54r08jhyw6r7rjz2nv1kqgbw2brs"; - inherit dependencies buildDependencies features; - }; - shell_escape_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "shell-escape"; - version = "0.1.3"; - authors = [ "Steven Fackler " ]; - sha256 = "0r3pj7kl40iqjbivwh4kd6agjdhbf5avzp7i8v42xvpc1zrzrq77"; - inherit dependencies buildDependencies features; - }; - socket2_0_2_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "socket2"; - version = "0.2.4"; - authors = [ "Alex Crichton " ]; - sha256 = "1pdwqlx4wnabgv549i3pb3whbk8ggcq4kg0lfx9cpcazcjk5p6iz"; - inherit dependencies buildDependencies features; - }; - strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "strsim"; - version = "0.6.0"; - authors = [ "Danny Guo " ]; - sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd"; - inherit dependencies buildDependencies features; - }; - syn_0_11_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "syn"; - version = "0.11.11"; - authors = [ "David Tolnay " ]; - sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502"; - inherit dependencies buildDependencies features; - }; - synom_0_11_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "synom"; - version = "0.11.3"; - authors = [ "David Tolnay " ]; - sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc"; - inherit dependencies buildDependencies features; - }; - tar_0_4_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "tar"; - version = "0.4.13"; - authors = [ "Alex Crichton " ]; - sha256 = "1m425d07h0i6h2vbpxnh067zmc16l9yr9bii17zxw4z2inkfyfc4"; - inherit dependencies buildDependencies features; - }; - tempdir_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "tempdir"; - version = "0.3.5"; - authors = [ "The Rust Project Developers" ]; - sha256 = "0rirc5prqppzgd15fm8ayan349lgk2k5iqdkrbwrwrv5pm4znsnz"; - inherit dependencies buildDependencies features; - }; - termcolor_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "termcolor"; - version = "0.3.3"; - authors = [ "Andrew Gallant " ]; - sha256 = "1rb853jzvkbwm62373dhls4x4r3r5cvfcsxvqh0i75rhx5j8kwsz"; - inherit dependencies buildDependencies features; - }; - termion_1_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "termion"; - version = "1.5.1"; - authors = [ "ticki " "gycos " "IGI-111 " ]; - sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1"; - inherit dependencies buildDependencies features; - }; - thread_local_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "thread_local"; - version = "0.3.4"; - authors = [ "Amanieu d'Antras " ]; - sha256 = "1y6cwyhhx2nkz4b3dziwhqdvgq830z8wjp32b40pjd8r0hxqv2jr"; - inherit dependencies buildDependencies features; - }; - toml_0_4_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "toml"; - version = "0.4.5"; - authors = [ "Alex Crichton " ]; - sha256 = "06zxqhn3y58yzjfaykhcrvlf7p2dnn54kn3g4apmja3cn5b18lkk"; - inherit dependencies buildDependencies features; - }; - unicode_bidi_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "unicode-bidi"; - version = "0.3.4"; - authors = [ "The Servo Project Developers" ]; - sha256 = "0lcd6jasrf8p9p0q20qyf10c6xhvw40m2c4rr105hbk6zy26nj1q"; - libName = "unicode_bidi"; - inherit dependencies buildDependencies features; - }; - unicode_normalization_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "unicode-normalization"; - version = "0.1.5"; - authors = [ "kwantam " ]; - sha256 = "0hg29g86fca7b65mwk4sm5s838js6bqrl0gabadbazvbsgjam0j5"; - inherit dependencies buildDependencies features; - }; - unicode_xid_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "unicode-xid"; - version = "0.0.4"; - authors = [ "erick.tryzelaar " "kwantam " ]; - sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v"; - inherit dependencies buildDependencies features; - }; - unreachable_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "unreachable"; - version = "1.0.0"; - authors = [ "Jonathan Reem " ]; - sha256 = "1am8czbk5wwr25gbp2zr007744fxjshhdqjz9liz7wl4pnv3whcf"; - inherit dependencies buildDependencies features; - }; - url_1_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "url"; - version = "1.6.0"; - authors = [ "The rust-url developers" ]; - sha256 = "1bvzl4dvjj84h46ai3x23wyafa2wwhchj08vr2brf25dxwc7mg18"; - inherit dependencies buildDependencies features; - }; - userenv_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "userenv-sys"; - version = "0.2.0"; - authors = [ "Peter Atashian " ]; - sha256 = "19l85k56y30likj69ri83jspsf4n9q4d03pi4mbs7cimlzn8lvzj"; - libName = "userenv"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - utf8_ranges_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "utf8-ranges"; - version = "1.0.0"; - authors = [ "Andrew Gallant " ]; - sha256 = "0rzmqprwjv9yp1n0qqgahgm24872x6c0xddfym5pfndy7a36vkn0"; - inherit dependencies buildDependencies features; - }; - vcpkg_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "vcpkg"; - version = "0.2.2"; - authors = [ "Jim McGrath " ]; - sha256 = "1fl5j0ksnwrnsrf1b1a9lqbjgnajdipq0030vsbhx81mb7d9478a"; - inherit dependencies buildDependencies features; - }; - void_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "void"; - version = "1.0.2"; - authors = [ "Jonathan Reem " ]; - sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3"; - inherit dependencies buildDependencies features; - }; - walkdir_1_0_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "walkdir"; - version = "1.0.7"; - authors = [ "Andrew Gallant " ]; - sha256 = "1ygsc59m8mbnlz0psjxdzm1xjndxpywjwalqcd3pwdarzk1gy1vr"; - inherit dependencies buildDependencies features; - }; - winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "winapi"; - version = "0.2.8"; - authors = [ "Peter Atashian " ]; - sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as"; - inherit dependencies buildDependencies features; - }; - winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "winapi-build"; - version = "0.1.1"; - authors = [ "Peter Atashian " ]; - sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga"; - libName = "build"; - inherit dependencies buildDependencies features; - }; - wincolor_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "wincolor"; - version = "0.1.4"; - authors = [ "Andrew Gallant " ]; - sha256 = "0cxv6hadnj5vffb8a73y7055p59n20bpqd524df85cm29dcjl38a"; - inherit dependencies buildDependencies features; - }; - ws2_32_sys_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "ws2_32-sys"; - version = "0.2.1"; - authors = [ "Peter Atashian " ]; - sha256 = "1zpy9d9wk11sj17fczfngcj28w4xxjs3b4n036yzpy38dxp4f7kc"; - libName = "ws2_32"; - build = "build.rs"; - inherit dependencies buildDependencies features; - }; - +# Generated by carnix 0.10.0: carnix generate-nix --src . +{ lib, buildPlatform, buildRustCrate, buildRustCrateHelpers, cratesIO, fetchgit }: +with buildRustCrateHelpers; +let inherit (lib.lists) fold; + inherit (lib.attrsets) recursiveUpdate; in rec { - advapi32_sys_0_2_0 = advapi32_sys_0_2_0_ rec { - dependencies = [ winapi_0_2_8 ]; - buildDependencies = [ winapi_build_0_1_1 ]; - }; - winapi_0_2_8_features."default".from_advapi32_sys_0_2_0__default_ = true; - winapi_build_0_1_1_features."default".from_advapi32_sys_0_2_0__default_ = true; - aho_corasick_0_6_3 = aho_corasick_0_6_3_ rec { - dependencies = [ memchr_1_0_2 ]; - }; - memchr_1_0_2_features."default".from_aho_corasick_0_6_3__default_ = true; - atty_0_2_3 = atty_0_2_3_ rec { - dependencies = (if kernel == "redox" then [ termion_1_5_1 ] else []) - ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else []) - ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []); - }; - kernel32_sys_0_2_2_features."default".from_atty_0_2_3__default_ = true; - libc_0_2_33_features."default".from_atty_0_2_3__default_ = false; - termion_1_5_1_features."default".from_atty_0_2_3__default_ = true; - winapi_0_2_8_features."default".from_atty_0_2_3__default_ = true; - backtrace_0_3_3 = backtrace_0_3_3_ rec { - dependencies = [ cfg_if_0_1_2 rustc_demangle_0_1_5 ] - ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then [ backtrace_sys_0_1_16 ] - ++ (if lib.lists.any (x: x == "backtrace-sys") features then [backtrace_sys_0_1_16] else []) else []) - ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else []) - ++ (if kernel == "windows" then [ dbghelp_sys_0_2_0 kernel32_sys_0_2_2 winapi_0_2_8 ] - ++ (if lib.lists.any (x: x == "dbghelp-sys") features then [dbghelp_sys_0_2_0] else []) - ++ (if lib.lists.any (x: x == "kernel32-sys") features then [kernel32_sys_0_2_2] else []) - ++ (if lib.lists.any (x: x == "winapi") features then [winapi_0_2_8] else []) else []); - features = mkFeatures backtrace_0_3_3_features; - }; - backtrace_0_3_3_features."".self = true; - backtrace_0_3_3_features."kernel32-sys".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {}); - backtrace_0_3_3_features."winapi".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {}); - backtrace_0_3_3_features."dbghelp-sys".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {}); - backtrace_0_3_3_features."libunwind".self_default = hasDefault backtrace_0_3_3_features; - backtrace_0_3_3_features."libbacktrace".self_default = hasDefault backtrace_0_3_3_features; - backtrace_0_3_3_features."coresymbolication".self_default = hasDefault backtrace_0_3_3_features; - backtrace_0_3_3_features."dladdr".self_default = hasDefault backtrace_0_3_3_features; - backtrace_0_3_3_features."dbghelp".self_default = hasDefault backtrace_0_3_3_features; - backtrace_0_3_3_features."addr2line".self_gimli-symbolize = hasFeature (backtrace_0_3_3_features."gimli-symbolize" or {}); - backtrace_0_3_3_features."findshlibs".self_gimli-symbolize = hasFeature (backtrace_0_3_3_features."gimli-symbolize" or {}); - backtrace_0_3_3_features."backtrace-sys".self_libbacktrace = hasFeature (backtrace_0_3_3_features."libbacktrace" or {}); - backtrace_0_3_3_features."rustc-serialize".self_serialize-rustc = hasFeature (backtrace_0_3_3_features."serialize-rustc" or {}); - backtrace_0_3_3_features."serde".self_serialize-serde = hasFeature (backtrace_0_3_3_features."serialize-serde" or {}); - backtrace_0_3_3_features."serde_derive".self_serialize-serde = hasFeature (backtrace_0_3_3_features."serialize-serde" or {}); - addr2line_0_0_0_features."default".from_backtrace_0_3_3__default_ = true; - backtrace_sys_0_1_16_features."default".from_backtrace_0_3_3__default_ = true; - cfg_if_0_1_2_features."default".from_backtrace_0_3_3__default_ = true; - cpp_demangle_0_0_0_features."default".from_backtrace_0_3_3__default_ = false; - dbghelp_sys_0_2_0_features."default".from_backtrace_0_3_3__default_ = true; - findshlibs_0_0_0_features."default".from_backtrace_0_3_3__default_ = true; - kernel32_sys_0_2_2_features."default".from_backtrace_0_3_3__default_ = true; - libc_0_2_33_features."default".from_backtrace_0_3_3__default_ = true; - rustc_demangle_0_1_5_features."default".from_backtrace_0_3_3__default_ = true; - rustc_serialize_0_0_0_features."default".from_backtrace_0_3_3__default_ = true; - serde_0_0_0_features."default".from_backtrace_0_3_3__default_ = true; - serde_derive_0_0_0_features."default".from_backtrace_0_3_3__default_ = true; - winapi_0_2_8_features."default".from_backtrace_0_3_3__default_ = true; - backtrace_sys_0_1_16 = backtrace_sys_0_1_16_ rec { - dependencies = [ libc_0_2_33 ]; - buildDependencies = [ cc_1_0_3 ]; - }; - cc_1_0_3_features."default".from_backtrace_sys_0_1_16__default_ = true; - libc_0_2_33_features."default".from_backtrace_sys_0_1_16__default_ = true; - bitflags_0_7_0 = bitflags_0_7_0_ rec {}; - bitflags_0_9_1 = bitflags_0_9_1_ rec { - features = mkFeatures bitflags_0_9_1_features; - }; - bitflags_0_9_1_features."example_generated".self_default = hasDefault bitflags_0_9_1_features; - cargo_0_22_0 = cargo_0_22_0_ rec { - dependencies = [ atty_0_2_3 crates_io_0_11_0 crossbeam_0_2_10 curl_0_4_8 docopt_0_8_1 env_logger_0_4_3 error_chain_0_11_0 filetime_0_1_14 flate2_0_2_20 fs2_0_4_2 git2_0_6_8 git2_curl_0_7_0 glob_0_2_11 hex_0_2_0 home_0_3_0 ignore_0_2_2 jobserver_0_1_8 libc_0_2_33 libgit2_sys_0_6_16 log_0_3_8 num_cpus_1_7_0 same_file_0_1_3 scoped_tls_0_1_0 semver_0_7_0 serde_1_0_18 serde_derive_1_0_18 serde_ignored_0_0_3 serde_json_1_0_5 shell_escape_0_1_3 tar_0_4_13 tempdir_0_3_5 termcolor_0_3_3 toml_0_4_5 url_1_6_0 ] - ++ (if kernel == "darwin" then [ core_foundation_0_4_4 ] else []) - ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_0_9_20 ] else []) - ++ (if kernel == "windows" then [ advapi32_sys_0_2_0 kernel32_sys_0_2_2 miow_0_2_1 psapi_sys_0_1_0 winapi_0_2_8 ] else []); - }; - semver_0_7_0_features."serde".from_cargo_0_22_0 = true; - core_foundation_0_4_4_features."mac_os_10_7_support".from_cargo_0_22_0 = true; - advapi32_sys_0_2_0_features."default".from_cargo_0_22_0__default_ = true; - atty_0_2_3_features."default".from_cargo_0_22_0__default_ = true; - core_foundation_0_4_4_features."default".from_cargo_0_22_0__default_ = true; - crates_io_0_11_0_features."default".from_cargo_0_22_0__default_ = true; - crossbeam_0_2_10_features."default".from_cargo_0_22_0__default_ = true; - curl_0_4_8_features."default".from_cargo_0_22_0__default_ = true; - docopt_0_8_1_features."default".from_cargo_0_22_0__default_ = true; - env_logger_0_4_3_features."default".from_cargo_0_22_0__default_ = true; - error_chain_0_11_0_features."default".from_cargo_0_22_0__default_ = true; - filetime_0_1_14_features."default".from_cargo_0_22_0__default_ = true; - flate2_0_2_20_features."default".from_cargo_0_22_0__default_ = true; - fs2_0_4_2_features."default".from_cargo_0_22_0__default_ = true; - git2_0_6_8_features."default".from_cargo_0_22_0__default_ = true; - git2_curl_0_7_0_features."default".from_cargo_0_22_0__default_ = true; - glob_0_2_11_features."default".from_cargo_0_22_0__default_ = true; - hex_0_2_0_features."default".from_cargo_0_22_0__default_ = true; - home_0_3_0_features."default".from_cargo_0_22_0__default_ = true; - ignore_0_2_2_features."default".from_cargo_0_22_0__default_ = true; - jobserver_0_1_8_features."default".from_cargo_0_22_0__default_ = true; - kernel32_sys_0_2_2_features."default".from_cargo_0_22_0__default_ = true; - libc_0_2_33_features."default".from_cargo_0_22_0__default_ = true; - libgit2_sys_0_6_16_features."default".from_cargo_0_22_0__default_ = true; - log_0_3_8_features."default".from_cargo_0_22_0__default_ = true; - miow_0_2_1_features."default".from_cargo_0_22_0__default_ = true; - num_cpus_1_7_0_features."default".from_cargo_0_22_0__default_ = true; - openssl_0_9_20_features."default".from_cargo_0_22_0__default_ = true; - psapi_sys_0_1_0_features."default".from_cargo_0_22_0__default_ = true; - same_file_0_1_3_features."default".from_cargo_0_22_0__default_ = true; - scoped_tls_0_1_0_features."default".from_cargo_0_22_0__default_ = true; - semver_0_7_0_features."default".from_cargo_0_22_0__default_ = true; - serde_1_0_18_features."default".from_cargo_0_22_0__default_ = true; - serde_derive_1_0_18_features."default".from_cargo_0_22_0__default_ = true; - serde_ignored_0_0_3_features."default".from_cargo_0_22_0__default_ = true; - serde_json_1_0_5_features."default".from_cargo_0_22_0__default_ = true; - shell_escape_0_1_3_features."default".from_cargo_0_22_0__default_ = true; - tar_0_4_13_features."default".from_cargo_0_22_0__default_ = false; - tempdir_0_3_5_features."default".from_cargo_0_22_0__default_ = true; - termcolor_0_3_3_features."default".from_cargo_0_22_0__default_ = true; - toml_0_4_5_features."default".from_cargo_0_22_0__default_ = true; - url_1_6_0_features."default".from_cargo_0_22_0__default_ = true; - winapi_0_2_8_features."default".from_cargo_0_22_0__default_ = true; - cargo_vendor_0_1_13 = cargo_vendor_0_1_13_ rec { - dependencies = [ cargo_0_22_0 env_logger_0_4_3 serde_1_0_18 serde_derive_1_0_18 serde_json_1_0_5 toml_0_4_5 ]; - }; - cargo_0_22_0_features."default".from_cargo_vendor_0_1_13__default_ = true; - env_logger_0_4_3_features."default".from_cargo_vendor_0_1_13__default_ = true; - serde_1_0_18_features."default".from_cargo_vendor_0_1_13__default_ = true; - serde_derive_1_0_18_features."default".from_cargo_vendor_0_1_13__default_ = true; - serde_json_1_0_5_features."default".from_cargo_vendor_0_1_13__default_ = true; - toml_0_4_5_features."default".from_cargo_vendor_0_1_13__default_ = true; - cc_1_0_3 = cc_1_0_3_ rec { - dependencies = []; - features = mkFeatures cc_1_0_3_features; - }; - cc_1_0_3_features."rayon".self_parallel = hasFeature (cc_1_0_3_features."parallel" or {}); - rayon_0_0_0_features."default".from_cc_1_0_3__default_ = true; - cfg_if_0_1_2 = cfg_if_0_1_2_ rec {}; - cmake_0_1_26 = cmake_0_1_26_ rec { - dependencies = [ cc_1_0_3 ]; - }; - cc_1_0_3_features."default".from_cmake_0_1_26__default_ = true; - core_foundation_0_4_4 = core_foundation_0_4_4_ rec { - dependencies = [ core_foundation_sys_0_4_4 libc_0_2_33 ]; - features = mkFeatures core_foundation_0_4_4_features; - }; - core_foundation_0_4_4_features."".self = true; - core_foundation_sys_0_4_4_features."mac_os_10_7_support".from_core_foundation_0_4_4__mac_os_10_7_support = hasFeature (core_foundation_0_4_4_features."mac_os_10_7_support" or {}); - core_foundation_sys_0_4_4_features."mac_os_10_8_features".from_core_foundation_0_4_4__mac_os_10_8_features = hasFeature (core_foundation_0_4_4_features."mac_os_10_8_features" or {}); - core_foundation_sys_0_4_4_features."default".from_core_foundation_0_4_4__default_ = true; - libc_0_2_33_features."default".from_core_foundation_0_4_4__default_ = true; - core_foundation_sys_0_4_4 = core_foundation_sys_0_4_4_ rec { - dependencies = [ libc_0_2_33 ]; - features = mkFeatures core_foundation_sys_0_4_4_features; - }; - core_foundation_sys_0_4_4_features."".self = true; - libc_0_2_33_features."default".from_core_foundation_sys_0_4_4__default_ = true; - crates_io_0_11_0 = crates_io_0_11_0_ rec { - dependencies = [ curl_0_4_8 error_chain_0_11_0 serde_1_0_18 serde_derive_1_0_18 serde_json_1_0_5 url_1_6_0 ]; - }; - curl_0_4_8_features."default".from_crates_io_0_11_0__default_ = true; - error_chain_0_11_0_features."default".from_crates_io_0_11_0__default_ = true; - serde_1_0_18_features."default".from_crates_io_0_11_0__default_ = true; - serde_derive_1_0_18_features."default".from_crates_io_0_11_0__default_ = true; - serde_json_1_0_5_features."default".from_crates_io_0_11_0__default_ = true; - url_1_6_0_features."default".from_crates_io_0_11_0__default_ = true; - crossbeam_0_2_10 = crossbeam_0_2_10_ rec { - features = mkFeatures crossbeam_0_2_10_features; - }; - crossbeam_0_2_10_features."".self = true; - curl_0_4_8 = curl_0_4_8_ rec { - dependencies = [ curl_sys_0_3_15 libc_0_2_33 socket2_0_2_4 ] - ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_probe_0_1_1 openssl_sys_0_9_20 ] else []) - ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []); - }; - curl_sys_0_3_15_features."default".from_curl_0_4_8__default_ = true; - libc_0_2_33_features."default".from_curl_0_4_8__default_ = true; - openssl_probe_0_1_1_features."default".from_curl_0_4_8__default_ = true; - openssl_sys_0_9_20_features."default".from_curl_0_4_8__default_ = true; - socket2_0_2_4_features."default".from_curl_0_4_8__default_ = true; - winapi_0_2_8_features."default".from_curl_0_4_8__default_ = true; - curl_sys_0_3_15 = curl_sys_0_3_15_ rec { - dependencies = [ libc_0_2_33 libz_sys_1_0_18 ] - ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_sys_0_9_20 ] else []) - ++ (if abi == "msvc" then [] else []) - ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []); - buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ]; - }; - cc_1_0_3_features."default".from_curl_sys_0_3_15__default_ = true; - libc_0_2_33_features."default".from_curl_sys_0_3_15__default_ = true; - libz_sys_1_0_18_features."default".from_curl_sys_0_3_15__default_ = true; - openssl_sys_0_9_20_features."default".from_curl_sys_0_3_15__default_ = true; - pkg_config_0_3_9_features."default".from_curl_sys_0_3_15__default_ = true; - winapi_0_2_8_features."default".from_curl_sys_0_3_15__default_ = true; - dbghelp_sys_0_2_0 = dbghelp_sys_0_2_0_ rec { - dependencies = [ winapi_0_2_8 ]; - buildDependencies = [ winapi_build_0_1_1 ]; - }; - winapi_0_2_8_features."default".from_dbghelp_sys_0_2_0__default_ = true; - winapi_build_0_1_1_features."default".from_dbghelp_sys_0_2_0__default_ = true; - docopt_0_8_1 = docopt_0_8_1_ rec { - dependencies = [ lazy_static_0_2_9 regex_0_2_2 serde_1_0_18 serde_derive_1_0_18 strsim_0_6_0 ]; - }; - lazy_static_0_2_9_features."default".from_docopt_0_8_1__default_ = true; - regex_0_2_2_features."default".from_docopt_0_8_1__default_ = true; - serde_1_0_18_features."default".from_docopt_0_8_1__default_ = true; - serde_derive_1_0_18_features."default".from_docopt_0_8_1__default_ = true; - strsim_0_6_0_features."default".from_docopt_0_8_1__default_ = true; - dtoa_0_4_2 = dtoa_0_4_2_ rec {}; - env_logger_0_4_3 = env_logger_0_4_3_ rec { - dependencies = [ log_0_3_8 regex_0_2_2 ] - ++ (if lib.lists.any (x: x == "regex") features then [regex_0_2_2] else []); - features = mkFeatures env_logger_0_4_3_features; - }; - env_logger_0_4_3_features."".self = true; - env_logger_0_4_3_features."regex".self_default = hasDefault env_logger_0_4_3_features; - log_0_3_8_features."default".from_env_logger_0_4_3__default_ = true; - regex_0_2_2_features."default".from_env_logger_0_4_3__default_ = true; - error_chain_0_11_0 = error_chain_0_11_0_ rec { - dependencies = [ backtrace_0_3_3 ] - ++ (if lib.lists.any (x: x == "backtrace") features then [backtrace_0_3_3] else []); - features = mkFeatures error_chain_0_11_0_features; - }; - error_chain_0_11_0_features."".self = true; - error_chain_0_11_0_features."backtrace".self_default = hasDefault error_chain_0_11_0_features; - error_chain_0_11_0_features."example_generated".self_default = hasDefault error_chain_0_11_0_features; - backtrace_0_3_3_features."default".from_error_chain_0_11_0__default_ = true; - filetime_0_1_14 = filetime_0_1_14_ rec { - dependencies = [ cfg_if_0_1_2 ] - ++ (if kernel == "redox" then [ redox_syscall_0_1_31 ] else []) - ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else []); - }; - cfg_if_0_1_2_features."default".from_filetime_0_1_14__default_ = true; - libc_0_2_33_features."default".from_filetime_0_1_14__default_ = true; - redox_syscall_0_1_31_features."default".from_filetime_0_1_14__default_ = true; - flate2_0_2_20 = flate2_0_2_20_ rec { - dependencies = [ libc_0_2_33 miniz_sys_0_1_10 ] - ++ (if lib.lists.any (x: x == "miniz-sys") features then [miniz_sys_0_1_10] else []); - features = mkFeatures flate2_0_2_20_features; - }; - flate2_0_2_20_features."".self = true; - flate2_0_2_20_features."miniz-sys".self_default = hasDefault flate2_0_2_20_features; - flate2_0_2_20_features."tokio-io".self_tokio = hasFeature (flate2_0_2_20_features."tokio" or {}); - flate2_0_2_20_features."futures".self_tokio = hasFeature (flate2_0_2_20_features."tokio" or {}); - flate2_0_2_20_features."libz-sys".self_zlib = hasFeature (flate2_0_2_20_features."zlib" or {}); - futures_0_0_0_features."default".from_flate2_0_2_20__default_ = true; - libc_0_2_33_features."default".from_flate2_0_2_20__default_ = true; - libz_sys_0_0_0_features."default".from_flate2_0_2_20__default_ = true; - miniz_sys_0_1_10_features."default".from_flate2_0_2_20__default_ = true; - tokio_io_0_0_0_features."default".from_flate2_0_2_20__default_ = true; - fnv_1_0_5 = fnv_1_0_5_ rec {}; - foreign_types_0_2_0 = foreign_types_0_2_0_ rec {}; - fs2_0_4_2 = fs2_0_4_2_ rec { - dependencies = (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else []) - ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []); - }; - kernel32_sys_0_2_2_features."default".from_fs2_0_4_2__default_ = true; - libc_0_2_33_features."default".from_fs2_0_4_2__default_ = true; - winapi_0_2_8_features."default".from_fs2_0_4_2__default_ = true; - fuchsia_zircon_0_2_1 = fuchsia_zircon_0_2_1_ rec { - dependencies = [ fuchsia_zircon_sys_0_2_0 ]; - }; - fuchsia_zircon_sys_0_2_0_features."default".from_fuchsia_zircon_0_2_1__default_ = true; - fuchsia_zircon_sys_0_2_0 = fuchsia_zircon_sys_0_2_0_ rec { - dependencies = [ bitflags_0_7_0 ]; - }; - bitflags_0_7_0_features."default".from_fuchsia_zircon_sys_0_2_0__default_ = true; - git2_0_6_8 = git2_0_6_8_ rec { - dependencies = [ bitflags_0_9_1 libc_0_2_33 libgit2_sys_0_6_16 url_1_6_0 ] - ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_probe_0_1_1 openssl_sys_0_9_20 ] - ++ (if lib.lists.any (x: x == "openssl-probe") features then [openssl_probe_0_1_1] else []) - ++ (if lib.lists.any (x: x == "openssl-sys") features then [openssl_sys_0_9_20] else []) else []); - features = mkFeatures git2_0_6_8_features; - }; - git2_0_6_8_features."".self = true; - git2_0_6_8_features."ssh".self_default = hasDefault git2_0_6_8_features; - git2_0_6_8_features."https".self_default = hasDefault git2_0_6_8_features; - git2_0_6_8_features."curl".self_default = hasDefault git2_0_6_8_features; - git2_0_6_8_features."openssl-sys".self_https = hasFeature (git2_0_6_8_features."https" or {}); - git2_0_6_8_features."openssl-probe".self_https = hasFeature (git2_0_6_8_features."https" or {}); - libgit2_sys_0_6_16_features."curl".from_git2_0_6_8__curl = hasFeature (git2_0_6_8_features."curl" or {}); - libgit2_sys_0_6_16_features."https".from_git2_0_6_8__https = hasFeature (git2_0_6_8_features."https" or {}); - libgit2_sys_0_6_16_features."ssh".from_git2_0_6_8__ssh = hasFeature (git2_0_6_8_features."ssh" or {}); - bitflags_0_9_1_features."default".from_git2_0_6_8__default_ = true; - libc_0_2_33_features."default".from_git2_0_6_8__default_ = true; - libgit2_sys_0_6_16_features."default".from_git2_0_6_8__default_ = true; - openssl_probe_0_1_1_features."default".from_git2_0_6_8__default_ = true; - openssl_sys_0_9_20_features."default".from_git2_0_6_8__default_ = true; - url_1_6_0_features."default".from_git2_0_6_8__default_ = true; - git2_curl_0_7_0 = git2_curl_0_7_0_ rec { - dependencies = [ curl_0_4_8 git2_0_6_8 log_0_3_8 url_1_6_0 ]; - }; - curl_0_4_8_features."default".from_git2_curl_0_7_0__default_ = true; - git2_0_6_8_features."default".from_git2_curl_0_7_0__default_ = false; - log_0_3_8_features."default".from_git2_curl_0_7_0__default_ = true; - url_1_6_0_features."default".from_git2_curl_0_7_0__default_ = true; - glob_0_2_11 = glob_0_2_11_ rec {}; - globset_0_2_1 = globset_0_2_1_ rec { - dependencies = [ aho_corasick_0_6_3 fnv_1_0_5 log_0_3_8 memchr_2_0_0 regex_0_2_2 ]; - features = mkFeatures globset_0_2_1_features; - }; - globset_0_2_1_features."".self = true; - regex_0_2_2_features."simd-accel".from_globset_0_2_1__simd-accel = hasFeature (globset_0_2_1_features."simd-accel" or {}); - aho_corasick_0_6_3_features."default".from_globset_0_2_1__default_ = true; - fnv_1_0_5_features."default".from_globset_0_2_1__default_ = true; - log_0_3_8_features."default".from_globset_0_2_1__default_ = true; - memchr_2_0_0_features."default".from_globset_0_2_1__default_ = true; - regex_0_2_2_features."default".from_globset_0_2_1__default_ = true; - hex_0_2_0 = hex_0_2_0_ rec {}; - home_0_3_0 = home_0_3_0_ rec { - dependencies = (if kernel == "windows" then [ advapi32_sys_0_2_0 kernel32_sys_0_2_2 scopeguard_0_1_2 userenv_sys_0_2_0 winapi_0_2_8 ] else []); - }; - advapi32_sys_0_2_0_features."default".from_home_0_3_0__default_ = true; - kernel32_sys_0_2_2_features."default".from_home_0_3_0__default_ = true; - scopeguard_0_1_2_features."default".from_home_0_3_0__default_ = true; - userenv_sys_0_2_0_features."default".from_home_0_3_0__default_ = true; - winapi_0_2_8_features."default".from_home_0_3_0__default_ = true; - idna_0_1_4 = idna_0_1_4_ rec { - dependencies = [ matches_0_1_6 unicode_bidi_0_3_4 unicode_normalization_0_1_5 ]; - }; - matches_0_1_6_features."default".from_idna_0_1_4__default_ = true; - unicode_bidi_0_3_4_features."default".from_idna_0_1_4__default_ = true; - unicode_normalization_0_1_5_features."default".from_idna_0_1_4__default_ = true; - ignore_0_2_2 = ignore_0_2_2_ rec { - dependencies = [ crossbeam_0_2_10 globset_0_2_1 lazy_static_0_2_9 log_0_3_8 memchr_1_0_2 regex_0_2_2 thread_local_0_3_4 walkdir_1_0_7 ]; - features = mkFeatures ignore_0_2_2_features; - }; - ignore_0_2_2_features."".self = true; - globset_0_2_1_features."simd-accel".from_ignore_0_2_2__simd-accel = hasFeature (ignore_0_2_2_features."simd-accel" or {}); - crossbeam_0_2_10_features."default".from_ignore_0_2_2__default_ = true; - globset_0_2_1_features."default".from_ignore_0_2_2__default_ = true; - lazy_static_0_2_9_features."default".from_ignore_0_2_2__default_ = true; - log_0_3_8_features."default".from_ignore_0_2_2__default_ = true; - memchr_1_0_2_features."default".from_ignore_0_2_2__default_ = true; - regex_0_2_2_features."default".from_ignore_0_2_2__default_ = true; - thread_local_0_3_4_features."default".from_ignore_0_2_2__default_ = true; - walkdir_1_0_7_features."default".from_ignore_0_2_2__default_ = true; - itoa_0_3_4 = itoa_0_3_4_ rec { - features = mkFeatures itoa_0_3_4_features; - }; - itoa_0_3_4_features."".self = true; - jobserver_0_1_8 = jobserver_0_1_8_ rec { - dependencies = (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else []) - ++ (if kernel == "windows" then [ rand_0_3_18 ] else []); - }; - libc_0_2_33_features."default".from_jobserver_0_1_8__default_ = true; - rand_0_3_18_features."default".from_jobserver_0_1_8__default_ = true; - kernel32_sys_0_2_2 = kernel32_sys_0_2_2_ rec { - dependencies = [ winapi_0_2_8 ]; - buildDependencies = [ winapi_build_0_1_1 ]; - }; - winapi_0_2_8_features."default".from_kernel32_sys_0_2_2__default_ = true; - winapi_build_0_1_1_features."default".from_kernel32_sys_0_2_2__default_ = true; - lazy_static_0_2_9 = lazy_static_0_2_9_ rec { - dependencies = []; - features = mkFeatures lazy_static_0_2_9_features; - }; - lazy_static_0_2_9_features."nightly".self_spin_no_std = hasFeature (lazy_static_0_2_9_features."spin_no_std" or {}); - lazy_static_0_2_9_features."spin".self_spin_no_std = hasFeature (lazy_static_0_2_9_features."spin_no_std" or {}); - spin_0_0_0_features."default".from_lazy_static_0_2_9__default_ = true; - libc_0_2_33 = libc_0_2_33_ rec { - features = mkFeatures libc_0_2_33_features; - }; - libc_0_2_33_features."use_std".self_default = hasDefault libc_0_2_33_features; - libgit2_sys_0_6_16 = libgit2_sys_0_6_16_ rec { - dependencies = [ curl_sys_0_3_15 libc_0_2_33 libssh2_sys_0_2_6 libz_sys_1_0_18 ] - ++ (if lib.lists.any (x: x == "curl-sys") features then [curl_sys_0_3_15] else []) - ++ (if lib.lists.any (x: x == "libssh2-sys") features then [libssh2_sys_0_2_6] else []) - ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_sys_0_9_20 ] - ++ (if lib.lists.any (x: x == "openssl-sys") features then [openssl_sys_0_9_20] else []) else []); - buildDependencies = [ cc_1_0_3 cmake_0_1_26 pkg_config_0_3_9 ]; - features = mkFeatures libgit2_sys_0_6_16_features; - }; - libgit2_sys_0_6_16_features."".self = true; - libgit2_sys_0_6_16_features."curl-sys".self_curl = hasFeature (libgit2_sys_0_6_16_features."curl" or {}); - libgit2_sys_0_6_16_features."openssl-sys".self_https = hasFeature (libgit2_sys_0_6_16_features."https" or {}); - libgit2_sys_0_6_16_features."libssh2-sys".self_ssh = hasFeature (libgit2_sys_0_6_16_features."ssh" or {}); - cc_1_0_3_features."default".from_libgit2_sys_0_6_16__default_ = true; - cmake_0_1_26_features."default".from_libgit2_sys_0_6_16__default_ = true; - curl_sys_0_3_15_features."default".from_libgit2_sys_0_6_16__default_ = true; - libc_0_2_33_features."default".from_libgit2_sys_0_6_16__default_ = true; - libssh2_sys_0_2_6_features."default".from_libgit2_sys_0_6_16__default_ = true; - libz_sys_1_0_18_features."default".from_libgit2_sys_0_6_16__default_ = true; - openssl_sys_0_9_20_features."default".from_libgit2_sys_0_6_16__default_ = true; - pkg_config_0_3_9_features."default".from_libgit2_sys_0_6_16__default_ = true; - libssh2_sys_0_2_6 = libssh2_sys_0_2_6_ rec { - dependencies = [ libc_0_2_33 libz_sys_1_0_18 ] - ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_sys_0_9_20 ] else []); - buildDependencies = [ cmake_0_1_26 pkg_config_0_3_9 ]; - }; - cmake_0_1_26_features."default".from_libssh2_sys_0_2_6__default_ = true; - libc_0_2_33_features."default".from_libssh2_sys_0_2_6__default_ = true; - libz_sys_1_0_18_features."default".from_libssh2_sys_0_2_6__default_ = true; - openssl_sys_0_9_20_features."default".from_libssh2_sys_0_2_6__default_ = true; - pkg_config_0_3_9_features."default".from_libssh2_sys_0_2_6__default_ = true; - libz_sys_1_0_18 = libz_sys_1_0_18_ rec { - dependencies = [ libc_0_2_33 ] - ++ (if abi == "msvc" then [] else []); - buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ]; - }; - cc_1_0_3_features."default".from_libz_sys_1_0_18__default_ = true; - libc_0_2_33_features."default".from_libz_sys_1_0_18__default_ = true; - pkg_config_0_3_9_features."default".from_libz_sys_1_0_18__default_ = true; - log_0_3_8 = log_0_3_8_ rec { - features = mkFeatures log_0_3_8_features; - }; - log_0_3_8_features."use_std".self_default = hasDefault log_0_3_8_features; - matches_0_1_6 = matches_0_1_6_ rec {}; - memchr_1_0_2 = memchr_1_0_2_ rec { - dependencies = [ libc_0_2_33 ] - ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_33] else []); - features = mkFeatures memchr_1_0_2_features; - }; - memchr_1_0_2_features."".self = true; - memchr_1_0_2_features."use_std".self_default = hasDefault memchr_1_0_2_features; - memchr_1_0_2_features."libc".self_default = hasDefault memchr_1_0_2_features; - memchr_1_0_2_features."libc".self_use_std = hasFeature (memchr_1_0_2_features."use_std" or {}); - libc_0_2_33_features."use_std".from_memchr_1_0_2__use_std = hasFeature (memchr_1_0_2_features."use_std" or {}); - libc_0_2_33_features."default".from_memchr_1_0_2__default_ = false; - memchr_2_0_0 = memchr_2_0_0_ rec { - dependencies = [ libc_0_2_33 ] - ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_33] else []); - features = mkFeatures memchr_2_0_0_features; - }; - memchr_2_0_0_features."".self = true; - memchr_2_0_0_features."use_std".self_default = hasDefault memchr_2_0_0_features; - memchr_2_0_0_features."libc".self_default = hasDefault memchr_2_0_0_features; - memchr_2_0_0_features."libc".self_use_std = hasFeature (memchr_2_0_0_features."use_std" or {}); - libc_0_2_33_features."use_std".from_memchr_2_0_0__use_std = hasFeature (memchr_2_0_0_features."use_std" or {}); - libc_0_2_33_features."default".from_memchr_2_0_0__default_ = false; - miniz_sys_0_1_10 = miniz_sys_0_1_10_ rec { - dependencies = [ libc_0_2_33 ]; - buildDependencies = [ cc_1_0_3 ]; - }; - cc_1_0_3_features."default".from_miniz_sys_0_1_10__default_ = true; - libc_0_2_33_features."default".from_miniz_sys_0_1_10__default_ = true; - miow_0_2_1 = miow_0_2_1_ rec { - dependencies = [ kernel32_sys_0_2_2 net2_0_2_31 winapi_0_2_8 ws2_32_sys_0_2_1 ]; - }; - kernel32_sys_0_2_2_features."default".from_miow_0_2_1__default_ = true; - net2_0_2_31_features."default".from_miow_0_2_1__default_ = false; - winapi_0_2_8_features."default".from_miow_0_2_1__default_ = true; - ws2_32_sys_0_2_1_features."default".from_miow_0_2_1__default_ = true; - net2_0_2_31 = net2_0_2_31_ rec { - dependencies = [ cfg_if_0_1_2 ] - ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else []) - ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ws2_32_sys_0_2_1 ] else []) - ++ (if kernel == "i686-apple-darwin" then [ libc_0_2_33 ] else []) - ++ (if kernel == "i686-unknown-linux-gnu" then [ libc_0_2_33 ] else []) - ++ (if kernel == "x86_64-apple-darwin" then [ libc_0_2_33 ] else []) - ++ (if kernel == "x86_64-unknown-linux-gnu" then [ libc_0_2_33 ] else []); - features = mkFeatures net2_0_2_31_features; - }; - net2_0_2_31_features."duration".self_default = hasDefault net2_0_2_31_features; - cfg_if_0_1_2_features."default".from_net2_0_2_31__default_ = true; - kernel32_sys_0_2_2_features."default".from_net2_0_2_31__default_ = true; - libc_0_2_33_features."default".from_net2_0_2_31__default_ = true; - winapi_0_2_8_features."default".from_net2_0_2_31__default_ = true; - ws2_32_sys_0_2_1_features."default".from_net2_0_2_31__default_ = true; - num_traits_0_1_40 = num_traits_0_1_40_ rec {}; - num_cpus_1_7_0 = num_cpus_1_7_0_ rec { - dependencies = [ libc_0_2_33 ]; - }; - libc_0_2_33_features."default".from_num_cpus_1_7_0__default_ = true; - openssl_0_9_20 = openssl_0_9_20_ rec { - dependencies = [ bitflags_0_9_1 foreign_types_0_2_0 lazy_static_0_2_9 libc_0_2_33 openssl_sys_0_9_20 ]; - features = mkFeatures openssl_0_9_20_features; - }; - openssl_0_9_20_features."".self = true; - bitflags_0_9_1_features."default".from_openssl_0_9_20__default_ = true; - foreign_types_0_2_0_features."default".from_openssl_0_9_20__default_ = true; - lazy_static_0_2_9_features."default".from_openssl_0_9_20__default_ = true; - libc_0_2_33_features."default".from_openssl_0_9_20__default_ = true; - openssl_sys_0_9_20_features."default".from_openssl_0_9_20__default_ = true; - openssl_probe_0_1_1 = openssl_probe_0_1_1_ rec {}; - openssl_sys_0_9_20 = openssl_sys_0_9_20_ rec { - dependencies = [ libc_0_2_33 ] - ++ (if abi == "msvc" then [] else []); - buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ]; - }; - cc_1_0_3_features."default".from_openssl_sys_0_9_20__default_ = true; - libc_0_2_33_features."default".from_openssl_sys_0_9_20__default_ = true; - pkg_config_0_3_9_features."default".from_openssl_sys_0_9_20__default_ = true; - percent_encoding_1_0_0 = percent_encoding_1_0_0_ rec {}; - pkg_config_0_3_9 = pkg_config_0_3_9_ rec {}; - psapi_sys_0_1_0 = psapi_sys_0_1_0_ rec { - dependencies = [ winapi_0_2_8 ]; - buildDependencies = [ winapi_build_0_1_1 ]; - }; - winapi_0_2_8_features."default".from_psapi_sys_0_1_0__default_ = true; - winapi_build_0_1_1_features."default".from_psapi_sys_0_1_0__default_ = true; - quote_0_3_15 = quote_0_3_15_ rec {}; - rand_0_3_18 = rand_0_3_18_ rec { - dependencies = [ libc_0_2_33 ] - ++ (if kernel == "fuchsia" then [ fuchsia_zircon_0_2_1 ] else []); - features = mkFeatures rand_0_3_18_features; - }; - rand_0_3_18_features."i128_support".self_nightly = hasFeature (rand_0_3_18_features."nightly" or {}); - fuchsia_zircon_0_2_1_features."default".from_rand_0_3_18__default_ = true; - libc_0_2_33_features."default".from_rand_0_3_18__default_ = true; - redox_syscall_0_1_31 = redox_syscall_0_1_31_ rec {}; - redox_termios_0_1_1 = redox_termios_0_1_1_ rec { - dependencies = [ redox_syscall_0_1_31 ]; - }; - redox_syscall_0_1_31_features."default".from_redox_termios_0_1_1__default_ = true; - regex_0_2_2 = regex_0_2_2_ rec { - dependencies = [ aho_corasick_0_6_3 memchr_1_0_2 regex_syntax_0_4_1 thread_local_0_3_4 utf8_ranges_1_0_0 ]; - features = mkFeatures regex_0_2_2_features; - }; - regex_0_2_2_features."simd".self_simd-accel = hasFeature (regex_0_2_2_features."simd-accel" or {}); - aho_corasick_0_6_3_features."default".from_regex_0_2_2__default_ = true; - memchr_1_0_2_features."default".from_regex_0_2_2__default_ = true; - regex_syntax_0_4_1_features."default".from_regex_0_2_2__default_ = true; - simd_0_0_0_features."default".from_regex_0_2_2__default_ = true; - thread_local_0_3_4_features."default".from_regex_0_2_2__default_ = true; - utf8_ranges_1_0_0_features."default".from_regex_0_2_2__default_ = true; - regex_syntax_0_4_1 = regex_syntax_0_4_1_ rec {}; - rustc_demangle_0_1_5 = rustc_demangle_0_1_5_ rec {}; - same_file_0_1_3 = same_file_0_1_3_ rec { - dependencies = (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []); - }; - kernel32_sys_0_2_2_features."default".from_same_file_0_1_3__default_ = true; - winapi_0_2_8_features."default".from_same_file_0_1_3__default_ = true; - scoped_tls_0_1_0 = scoped_tls_0_1_0_ rec {}; - scopeguard_0_1_2 = scopeguard_0_1_2_ rec {}; - semver_0_7_0 = semver_0_7_0_ rec { - dependencies = [ semver_parser_0_7_0 serde_1_0_18 ] - ++ (if lib.lists.any (x: x == "serde") features then [serde_1_0_18] else []); - features = mkFeatures semver_0_7_0_features; - }; - semver_0_7_0_features."".self = true; - semver_0_7_0_features."serde".self_ci = hasFeature (semver_0_7_0_features."ci" or {}); - semver_parser_0_7_0_features."default".from_semver_0_7_0__default_ = true; - serde_1_0_18_features."default".from_semver_0_7_0__default_ = true; - semver_parser_0_7_0 = semver_parser_0_7_0_ rec {}; - serde_1_0_18 = serde_1_0_18_ rec { - dependencies = []; - features = mkFeatures serde_1_0_18_features; - }; - serde_1_0_18_features."unstable".self_alloc = hasFeature (serde_1_0_18_features."alloc" or {}); - serde_1_0_18_features."std".self_default = hasDefault serde_1_0_18_features; - serde_1_0_18_features."serde_derive".self_derive = hasFeature (serde_1_0_18_features."derive" or {}); - serde_1_0_18_features."serde_derive".self_playground = hasFeature (serde_1_0_18_features."playground" or {}); - serde_derive_0_0_0_features."default".from_serde_1_0_18__default_ = true; - serde_derive_1_0_18 = serde_derive_1_0_18_ rec { - dependencies = [ quote_0_3_15 serde_derive_internals_0_16_0 syn_0_11_11 ]; - }; - syn_0_11_11_features."visit".from_serde_derive_1_0_18 = true; - quote_0_3_15_features."default".from_serde_derive_1_0_18__default_ = true; - serde_derive_internals_0_16_0_features."default".from_serde_derive_1_0_18__default_ = false; - syn_0_11_11_features."default".from_serde_derive_1_0_18__default_ = true; - serde_derive_internals_0_16_0 = serde_derive_internals_0_16_0_ rec { - dependencies = [ syn_0_11_11 synom_0_11_3 ]; - }; - syn_0_11_11_features."parsing".from_serde_derive_internals_0_16_0 = true; - syn_0_11_11_features."default".from_serde_derive_internals_0_16_0__default_ = false; - synom_0_11_3_features."default".from_serde_derive_internals_0_16_0__default_ = true; - serde_ignored_0_0_3 = serde_ignored_0_0_3_ rec { - dependencies = [ serde_1_0_18 ]; - }; - serde_1_0_18_features."default".from_serde_ignored_0_0_3__default_ = true; - serde_json_1_0_5 = serde_json_1_0_5_ rec { - dependencies = [ dtoa_0_4_2 itoa_0_3_4 num_traits_0_1_40 serde_1_0_18 ]; - features = mkFeatures serde_json_1_0_5_features; - }; - serde_json_1_0_5_features."linked-hash-map".self_preserve_order = hasFeature (serde_json_1_0_5_features."preserve_order" or {}); - dtoa_0_4_2_features."default".from_serde_json_1_0_5__default_ = true; - itoa_0_3_4_features."default".from_serde_json_1_0_5__default_ = true; - linked_hash_map_0_0_0_features."default".from_serde_json_1_0_5__default_ = true; - num_traits_0_1_40_features."default".from_serde_json_1_0_5__default_ = true; - serde_1_0_18_features."default".from_serde_json_1_0_5__default_ = true; - shell_escape_0_1_3 = shell_escape_0_1_3_ rec {}; - socket2_0_2_4 = socket2_0_2_4_ rec { - dependencies = (if (kernel == "linux" || kernel == "darwin") then [ cfg_if_0_1_2 libc_0_2_33 ] else []) - ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ws2_32_sys_0_2_1 ] else []); - features = mkFeatures socket2_0_2_4_features; - }; - socket2_0_2_4_features."".self = true; - cfg_if_0_1_2_features."default".from_socket2_0_2_4__default_ = true; - kernel32_sys_0_2_2_features."default".from_socket2_0_2_4__default_ = true; - libc_0_2_33_features."default".from_socket2_0_2_4__default_ = true; - winapi_0_2_8_features."default".from_socket2_0_2_4__default_ = true; - ws2_32_sys_0_2_1_features."default".from_socket2_0_2_4__default_ = true; - strsim_0_6_0 = strsim_0_6_0_ rec {}; - syn_0_11_11 = syn_0_11_11_ rec { - dependencies = [ quote_0_3_15 synom_0_11_3 unicode_xid_0_0_4 ] - ++ (if lib.lists.any (x: x == "quote") features then [quote_0_3_15] else []) - ++ (if lib.lists.any (x: x == "synom") features then [synom_0_11_3] else []) - ++ (if lib.lists.any (x: x == "unicode-xid") features then [unicode_xid_0_0_4] else []); - features = mkFeatures syn_0_11_11_features; - }; - syn_0_11_11_features."".self = true; - syn_0_11_11_features."parsing".self_default = hasDefault syn_0_11_11_features; - syn_0_11_11_features."printing".self_default = hasDefault syn_0_11_11_features; - syn_0_11_11_features."unicode-xid".self_parsing = hasFeature (syn_0_11_11_features."parsing" or {}); - syn_0_11_11_features."synom".self_parsing = hasFeature (syn_0_11_11_features."parsing" or {}); - syn_0_11_11_features."quote".self_printing = hasFeature (syn_0_11_11_features."printing" or {}); - quote_0_3_15_features."default".from_syn_0_11_11__default_ = true; - synom_0_11_3_features."default".from_syn_0_11_11__default_ = true; - unicode_xid_0_0_4_features."default".from_syn_0_11_11__default_ = true; - synom_0_11_3 = synom_0_11_3_ rec { - dependencies = [ unicode_xid_0_0_4 ]; - }; - unicode_xid_0_0_4_features."default".from_synom_0_11_3__default_ = true; - tar_0_4_13 = tar_0_4_13_ rec { - dependencies = [ filetime_0_1_14 libc_0_2_33 ] - ++ (if (kernel == "linux" || kernel == "darwin") then [] else []); - }; - tar_0_4_13_features."xattr".self_default = hasDefault tar_0_4_13_features; - filetime_0_1_14_features."default".from_tar_0_4_13__default_ = true; - libc_0_2_33_features."default".from_tar_0_4_13__default_ = true; - xattr_0_0_0_features."default".from_tar_0_4_13__default_ = true; - tempdir_0_3_5 = tempdir_0_3_5_ rec { - dependencies = [ rand_0_3_18 ]; - }; - rand_0_3_18_features."default".from_tempdir_0_3_5__default_ = true; - termcolor_0_3_3 = termcolor_0_3_3_ rec { - dependencies = (if kernel == "windows" then [ wincolor_0_1_4 ] else []); - }; - wincolor_0_1_4_features."default".from_termcolor_0_3_3__default_ = true; - termion_1_5_1 = termion_1_5_1_ rec { - dependencies = (if !(kernel == "redox") then [ libc_0_2_33 ] else []) - ++ (if kernel == "redox" then [ redox_syscall_0_1_31 redox_termios_0_1_1 ] else []); - }; - libc_0_2_33_features."default".from_termion_1_5_1__default_ = true; - redox_syscall_0_1_31_features."default".from_termion_1_5_1__default_ = true; - redox_termios_0_1_1_features."default".from_termion_1_5_1__default_ = true; - thread_local_0_3_4 = thread_local_0_3_4_ rec { - dependencies = [ lazy_static_0_2_9 unreachable_1_0_0 ]; - }; - lazy_static_0_2_9_features."default".from_thread_local_0_3_4__default_ = true; - unreachable_1_0_0_features."default".from_thread_local_0_3_4__default_ = true; - toml_0_4_5 = toml_0_4_5_ rec { - dependencies = [ serde_1_0_18 ]; - }; - serde_1_0_18_features."default".from_toml_0_4_5__default_ = true; - unicode_bidi_0_3_4 = unicode_bidi_0_3_4_ rec { - dependencies = [ matches_0_1_6 ]; - features = mkFeatures unicode_bidi_0_3_4_features; - }; - unicode_bidi_0_3_4_features."flame".self_flame_it = hasFeature (unicode_bidi_0_3_4_features."flame_it" or {}); - unicode_bidi_0_3_4_features."flamer".self_flame_it = hasFeature (unicode_bidi_0_3_4_features."flame_it" or {}); - unicode_bidi_0_3_4_features."serde".self_with_serde = hasFeature (unicode_bidi_0_3_4_features."with_serde" or {}); - serde_0_0_0_features."derive".from_unicode_bidi_0_3_4 = true; - flame_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true; - flamer_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true; - matches_0_1_6_features."default".from_unicode_bidi_0_3_4__default_ = true; - serde_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true; - unicode_normalization_0_1_5 = unicode_normalization_0_1_5_ rec {}; - unicode_xid_0_0_4 = unicode_xid_0_0_4_ rec { - features = mkFeatures unicode_xid_0_0_4_features; - }; - unicode_xid_0_0_4_features."".self = true; - unreachable_1_0_0 = unreachable_1_0_0_ rec { - dependencies = [ void_1_0_2 ]; - }; - void_1_0_2_features."default".from_unreachable_1_0_0__default_ = false; - url_1_6_0 = url_1_6_0_ rec { - dependencies = [ idna_0_1_4 matches_0_1_6 percent_encoding_1_0_0 ]; - features = mkFeatures url_1_6_0_features; - }; - url_1_6_0_features."heapsize".self_heap_size = hasFeature (url_1_6_0_features."heap_size" or {}); - url_1_6_0_features."encoding".self_query_encoding = hasFeature (url_1_6_0_features."query_encoding" or {}); - encoding_0_0_0_features."default".from_url_1_6_0__default_ = true; - heapsize_0_0_0_features."default".from_url_1_6_0__default_ = true; - idna_0_1_4_features."default".from_url_1_6_0__default_ = true; - matches_0_1_6_features."default".from_url_1_6_0__default_ = true; - percent_encoding_1_0_0_features."default".from_url_1_6_0__default_ = true; - rustc_serialize_0_0_0_features."default".from_url_1_6_0__default_ = true; - serde_0_0_0_features."default".from_url_1_6_0__default_ = true; - userenv_sys_0_2_0 = userenv_sys_0_2_0_ rec { - dependencies = [ winapi_0_2_8 ]; - buildDependencies = [ winapi_build_0_1_1 ]; - }; - winapi_0_2_8_features."default".from_userenv_sys_0_2_0__default_ = true; - winapi_build_0_1_1_features."default".from_userenv_sys_0_2_0__default_ = true; - utf8_ranges_1_0_0 = utf8_ranges_1_0_0_ rec {}; - vcpkg_0_2_2 = vcpkg_0_2_2_ rec {}; - void_1_0_2 = void_1_0_2_ rec { - features = mkFeatures void_1_0_2_features; - }; - void_1_0_2_features."std".self_default = hasDefault void_1_0_2_features; - walkdir_1_0_7 = walkdir_1_0_7_ rec { - dependencies = [ same_file_0_1_3 ] - ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []); - }; - kernel32_sys_0_2_2_features."default".from_walkdir_1_0_7__default_ = true; - same_file_0_1_3_features."default".from_walkdir_1_0_7__default_ = true; - winapi_0_2_8_features."default".from_walkdir_1_0_7__default_ = true; - winapi_0_2_8 = winapi_0_2_8_ rec {}; - winapi_build_0_1_1 = winapi_build_0_1_1_ rec {}; - wincolor_0_1_4 = wincolor_0_1_4_ rec { - dependencies = [ kernel32_sys_0_2_2 winapi_0_2_8 ]; - }; - kernel32_sys_0_2_2_features."default".from_wincolor_0_1_4__default_ = true; - winapi_0_2_8_features."default".from_wincolor_0_1_4__default_ = true; - ws2_32_sys_0_2_1 = ws2_32_sys_0_2_1_ rec { - dependencies = [ winapi_0_2_8 ]; - buildDependencies = [ winapi_build_0_1_1 ]; - }; - winapi_0_2_8_features."default".from_ws2_32_sys_0_2_1__default_ = true; - winapi_build_0_1_1_features."default".from_ws2_32_sys_0_2_1__default_ = true; + crates = cratesIO // rec { +# cargo-vendor-0.1.23 + + crates.cargo_vendor."0.1.23" = deps: { features?(features_.cargo_vendor."0.1.23" deps {}) }: buildRustCrate { + crateName = "cargo-vendor"; + version = "0.1.23"; + description = "A Cargo subcommand to vendor all crates.io dependencies onto the local\nfilesystem.\n"; + authors = [ "Alex Crichton " ]; + edition = "2018"; + src = exclude [ ".git" "target" ] ./.; + dependencies = mapFeatures features ([ + (cratesIO.crates."cargo"."${deps."cargo_vendor"."0.1.23"."cargo"}" deps) + (cratesIO.crates."docopt"."${deps."cargo_vendor"."0.1.23"."docopt"}" deps) + (cratesIO.crates."env_logger"."${deps."cargo_vendor"."0.1.23"."env_logger"}" deps) + (cratesIO.crates."failure"."${deps."cargo_vendor"."0.1.23"."failure"}" deps) + (cratesIO.crates."serde"."${deps."cargo_vendor"."0.1.23"."serde"}" deps) + (cratesIO.crates."serde_json"."${deps."cargo_vendor"."0.1.23"."serde_json"}" deps) + (cratesIO.crates."toml"."${deps."cargo_vendor"."0.1.23"."toml"}" deps) + ] + ++ (if features.cargo_vendor."0.1.23".openssl or false then [ (cratesIO.crates.openssl."${deps."cargo_vendor"."0.1.23".openssl}" deps) ] else [])); + features = mkFeatures (features."cargo_vendor"."0.1.23" or {}); + }; + features_.cargo_vendor."0.1.23" = deps: f: updateFeatures f (rec { + cargo."${deps.cargo_vendor."0.1.23".cargo}".default = true; + cargo_vendor."0.1.23".default = (f.cargo_vendor."0.1.23".default or true); + docopt."${deps.cargo_vendor."0.1.23".docopt}".default = true; + env_logger."${deps.cargo_vendor."0.1.23".env_logger}".default = true; + failure."${deps.cargo_vendor."0.1.23".failure}".default = true; + openssl = fold recursiveUpdate {} [ + { "${deps.cargo_vendor."0.1.23".openssl}"."vendored" = + (f.openssl."${deps.cargo_vendor."0.1.23".openssl}"."vendored" or false) || + (cargo_vendor."0.1.23"."vendored-openssl" or false) || + (f."cargo_vendor"."0.1.23"."vendored-openssl" or false); } + { "${deps.cargo_vendor."0.1.23".openssl}".default = true; } + ]; + serde = fold recursiveUpdate {} [ + { "${deps.cargo_vendor."0.1.23".serde}"."derive" = true; } + { "${deps.cargo_vendor."0.1.23".serde}".default = true; } + ]; + serde_json."${deps.cargo_vendor."0.1.23".serde_json}".default = true; + toml."${deps.cargo_vendor."0.1.23".toml}".default = true; + }) [ + (cratesIO.features_.cargo."${deps."cargo_vendor"."0.1.23"."cargo"}" deps) + (cratesIO.features_.docopt."${deps."cargo_vendor"."0.1.23"."docopt"}" deps) + (cratesIO.features_.env_logger."${deps."cargo_vendor"."0.1.23"."env_logger"}" deps) + (cratesIO.features_.failure."${deps."cargo_vendor"."0.1.23"."failure"}" deps) + (cratesIO.features_.openssl."${deps."cargo_vendor"."0.1.23"."openssl"}" deps) + (cratesIO.features_.serde."${deps."cargo_vendor"."0.1.23"."serde"}" deps) + (cratesIO.features_.serde_json."${deps."cargo_vendor"."0.1.23"."serde_json"}" deps) + (cratesIO.features_.toml."${deps."cargo_vendor"."0.1.23"."toml"}" deps) + ]; + + +# end + + }; + + cargo_vendor = crates.crates.cargo_vendor."0.1.23" deps; + __all = [ (cargo_vendor {}) ]; + deps.adler32."1.0.3" = {}; + deps.aho_corasick."0.7.3" = { + memchr = "2.2.0"; + }; + deps.ansi_term."0.11.0" = { + winapi = "0.3.7"; + }; + deps.atty."0.2.11" = { + termion = "1.5.1"; + libc = "0.2.51"; + winapi = "0.3.7"; + }; + deps.autocfg."0.1.2" = {}; + deps.backtrace."0.3.15" = { + cfg_if = "0.1.7"; + rustc_demangle = "0.1.14"; + autocfg = "0.1.2"; + backtrace_sys = "0.1.28"; + libc = "0.2.51"; + winapi = "0.3.7"; + }; + deps.backtrace_sys."0.1.28" = { + libc = "0.2.51"; + cc = "1.0.35"; + }; + deps.bitflags."1.0.4" = {}; + deps.bstr."0.1.2" = { + memchr = "2.2.0"; + }; + deps.build_const."0.2.1" = {}; + deps.byteorder."1.3.1" = {}; + deps.bytes."0.4.12" = { + byteorder = "1.3.1"; + iovec = "0.1.2"; + }; + deps.bytesize."1.0.0" = {}; + deps.cargo."0.35.0" = { + atty = "0.2.11"; + byteorder = "1.3.1"; + bytesize = "1.0.0"; + clap = "2.33.0"; + crates_io = "0.23.0"; + crossbeam_utils = "0.6.5"; + crypto_hash = "0.3.3"; + curl = "0.4.21"; + curl_sys = "0.4.18"; + env_logger = "0.6.1"; + failure = "0.1.5"; + filetime = "0.2.4"; + flate2 = "1.0.7"; + fs2 = "0.4.3"; + git2 = "0.8.0"; + git2_curl = "0.9.0"; + glob = "0.2.11"; + hex = "0.3.2"; + home = "0.3.4"; + ignore = "0.4.7"; + im_rc = "12.3.4"; + jobserver = "0.1.13"; + lazy_static = "1.3.0"; + lazycell = "1.2.1"; + libc = "0.2.51"; + libgit2_sys = "0.7.11"; + log = "0.4.6"; + num_cpus = "1.10.0"; + opener = "0.3.2"; + rustc_workspace_hack = "1.0.0"; + rustfix = "0.4.5"; + same_file = "1.0.4"; + semver = "0.9.0"; + serde = "1.0.90"; + serde_ignored = "0.0.4"; + serde_json = "1.0.39"; + shell_escape = "0.1.4"; + tar = "0.4.22"; + tempfile = "3.0.7"; + termcolor = "1.0.4"; + toml = "0.4.10"; + unicode_width = "0.1.5"; + url = "1.7.2"; + url_serde = "0.2.0"; + core_foundation = "0.6.4"; + fwdansi = "1.0.1"; + miow = "0.3.3"; + winapi = "0.3.7"; + }; + deps.cargo_vendor."0.1.23" = { + cargo = "0.35.0"; + docopt = "1.1.0"; + env_logger = "0.6.1"; + failure = "0.1.5"; + openssl = "0.10.20"; + serde = "1.0.90"; + serde_json = "1.0.39"; + toml = "0.5.0"; + }; + deps.cc."1.0.35" = {}; + deps.cfg_if."0.1.7" = {}; + deps.clap."2.33.0" = { + atty = "0.2.11"; + bitflags = "1.0.4"; + strsim = "0.8.0"; + textwrap = "0.11.0"; + unicode_width = "0.1.5"; + vec_map = "0.8.1"; + ansi_term = "0.11.0"; + }; + deps.cloudabi."0.0.3" = { + bitflags = "1.0.4"; + }; + deps.commoncrypto."0.2.0" = { + commoncrypto_sys = "0.2.0"; + }; + deps.commoncrypto_sys."0.2.0" = { + libc = "0.2.51"; + }; + deps.core_foundation."0.6.4" = { + core_foundation_sys = "0.6.2"; + libc = "0.2.51"; + }; + deps.core_foundation_sys."0.6.2" = {}; + deps.crates_io."0.23.0" = { + curl = "0.4.21"; + failure = "0.1.5"; + http = "0.1.17"; + serde = "1.0.90"; + serde_derive = "1.0.90"; + serde_json = "1.0.39"; + url = "1.7.2"; + }; + deps.crc."1.8.1" = { + build_const = "0.2.1"; + }; + deps.crc32fast."1.2.0" = { + cfg_if = "0.1.7"; + }; + deps.crossbeam_channel."0.3.8" = { + crossbeam_utils = "0.6.5"; + smallvec = "0.6.9"; + }; + deps.crossbeam_utils."0.6.5" = { + cfg_if = "0.1.7"; + lazy_static = "1.3.0"; + }; + deps.crypto_hash."0.3.3" = { + hex = "0.3.2"; + commoncrypto = "0.2.0"; + openssl = "0.10.20"; + winapi = "0.3.7"; + }; + deps.curl."0.4.21" = { + curl_sys = "0.4.18"; + libc = "0.2.51"; + socket2 = "0.3.8"; + openssl_probe = "0.1.2"; + openssl_sys = "0.9.43"; + kernel32_sys = "0.2.2"; + schannel = "0.1.15"; + winapi = "0.2.8"; + }; + deps.curl_sys."0.4.18" = { + libc = "0.2.51"; + libnghttp2_sys = "0.1.1"; + libz_sys = "1.0.25"; + cc = "1.0.35"; + pkg_config = "0.3.14"; + openssl_sys = "0.9.43"; + winapi = "0.3.7"; + }; + deps.docopt."1.1.0" = { + lazy_static = "1.3.0"; + regex = "1.1.6"; + serde = "1.0.90"; + strsim = "0.9.1"; + }; + deps.either."1.5.2" = {}; + deps.env_logger."0.6.1" = { + atty = "0.2.11"; + humantime = "1.2.0"; + log = "0.4.6"; + regex = "1.1.6"; + termcolor = "1.0.4"; + }; + deps.failure."0.1.5" = { + backtrace = "0.3.15"; + failure_derive = "0.1.5"; + }; + deps.failure_derive."0.1.5" = { + proc_macro2 = "0.4.27"; + quote = "0.6.12"; + syn = "0.15.32"; + synstructure = "0.10.1"; + }; + deps.filetime."0.2.4" = { + cfg_if = "0.1.7"; + redox_syscall = "0.1.54"; + libc = "0.2.51"; + }; + deps.flate2."1.0.7" = { + crc32fast = "1.2.0"; + libc = "0.2.51"; + libz_sys = "1.0.25"; + miniz_sys = "0.1.11"; + miniz_oxide_c_api = "0.2.1"; + }; + deps.fnv."1.0.6" = {}; + deps.foreign_types."0.3.2" = { + foreign_types_shared = "0.1.1"; + }; + deps.foreign_types_shared."0.1.1" = {}; + deps.fs2."0.4.3" = { + libc = "0.2.51"; + winapi = "0.3.7"; + }; + deps.fuchsia_cprng."0.1.1" = {}; + deps.fwdansi."1.0.1" = { + memchr = "2.2.0"; + termcolor = "1.0.4"; + }; + deps.git2."0.8.0" = { + bitflags = "1.0.4"; + libc = "0.2.51"; + libgit2_sys = "0.7.11"; + log = "0.4.6"; + url = "1.7.2"; + openssl_probe = "0.1.2"; + openssl_sys = "0.9.43"; + }; + deps.git2_curl."0.9.0" = { + curl = "0.4.21"; + git2 = "0.8.0"; + log = "0.4.6"; + url = "1.7.2"; + }; + deps.glob."0.2.11" = {}; + deps.globset."0.4.3" = { + aho_corasick = "0.7.3"; + bstr = "0.1.2"; + fnv = "1.0.6"; + log = "0.4.6"; + regex = "1.1.6"; + }; + deps.hashbrown."0.1.8" = { + byteorder = "1.3.1"; + scopeguard = "0.3.3"; + }; + deps.hex."0.3.2" = {}; + deps.home."0.3.4" = { + scopeguard = "0.3.3"; + winapi = "0.3.7"; + }; + deps.http."0.1.17" = { + bytes = "0.4.12"; + fnv = "1.0.6"; + itoa = "0.4.3"; + }; + deps.humantime."1.2.0" = { + quick_error = "1.2.2"; + }; + deps.idna."0.1.5" = { + matches = "0.1.8"; + unicode_bidi = "0.3.4"; + unicode_normalization = "0.1.8"; + }; + deps.ignore."0.4.7" = { + crossbeam_channel = "0.3.8"; + globset = "0.4.3"; + lazy_static = "1.3.0"; + log = "0.4.6"; + memchr = "2.2.0"; + regex = "1.1.6"; + same_file = "1.0.4"; + thread_local = "0.3.6"; + walkdir = "2.2.7"; + winapi_util = "0.1.2"; + }; + deps.im_rc."12.3.4" = { + sized_chunks = "0.1.3"; + typenum = "1.10.0"; + rustc_version = "0.2.3"; + }; + deps.iovec."0.1.2" = { + libc = "0.2.51"; + winapi = "0.2.8"; + }; + deps.itertools."0.7.11" = { + either = "1.5.2"; + }; + deps.itoa."0.4.3" = {}; + deps.jobserver."0.1.13" = { + log = "0.4.6"; + libc = "0.2.51"; + rand = "0.6.5"; + }; + deps.kernel32_sys."0.2.2" = { + winapi = "0.2.8"; + winapi_build = "0.1.1"; + }; + deps.lazy_static."1.3.0" = {}; + deps.lazycell."1.2.1" = {}; + deps.libc."0.2.51" = {}; + deps.libgit2_sys."0.7.11" = { + curl_sys = "0.4.18"; + libc = "0.2.51"; + libssh2_sys = "0.2.11"; + libz_sys = "1.0.25"; + cc = "1.0.35"; + pkg_config = "0.3.14"; + openssl_sys = "0.9.43"; + }; + deps.libnghttp2_sys."0.1.1" = { + libc = "0.2.51"; + cc = "1.0.35"; + }; + deps.libssh2_sys."0.2.11" = { + libc = "0.2.51"; + libz_sys = "1.0.25"; + cc = "1.0.35"; + pkg_config = "0.3.14"; + openssl_sys = "0.9.43"; + }; + deps.libz_sys."1.0.25" = { + libc = "0.2.51"; + cc = "1.0.35"; + pkg_config = "0.3.14"; + }; + deps.lock_api."0.1.5" = { + scopeguard = "0.3.3"; + }; + deps.log."0.4.6" = { + cfg_if = "0.1.7"; + }; + deps.matches."0.1.8" = {}; + deps.matrixmultiply."0.1.15" = { + rawpointer = "0.1.0"; + }; + deps.memchr."2.2.0" = {}; + deps.miniz_sys."0.1.11" = { + libc = "0.2.51"; + cc = "1.0.35"; + }; + deps.miniz_oxide."0.2.1" = { + adler32 = "1.0.3"; + }; + deps.miniz_oxide_c_api."0.2.1" = { + crc = "1.8.1"; + libc = "0.2.51"; + miniz_oxide = "0.2.1"; + cc = "1.0.35"; + }; + deps.miow."0.3.3" = { + socket2 = "0.3.8"; + winapi = "0.3.7"; + }; + deps.ndarray."0.12.1" = { + itertools = "0.7.11"; + matrixmultiply = "0.1.15"; + num_complex = "0.2.1"; + num_traits = "0.2.6"; + }; + deps.num_complex."0.2.1" = { + num_traits = "0.2.6"; + }; + deps.num_traits."0.2.6" = {}; + deps.num_cpus."1.10.0" = { + libc = "0.2.51"; + }; + deps.once_cell."0.1.8" = { + parking_lot = "0.7.1"; + }; + deps.opener."0.3.2" = { + failure = "0.1.5"; + failure_derive = "0.1.5"; + winapi = "0.3.7"; + }; + deps.openssl."0.10.20" = { + bitflags = "1.0.4"; + cfg_if = "0.1.7"; + foreign_types = "0.3.2"; + lazy_static = "1.3.0"; + libc = "0.2.51"; + openssl_sys = "0.9.43"; + }; + deps.openssl_probe."0.1.2" = {}; + deps.openssl_src."111.2.1+1.1.1b" = { + cc = "1.0.35"; + }; + deps.openssl_sys."0.9.43" = { + libc = "0.2.51"; + cc = "1.0.35"; + openssl_src = "111.2.1+1.1.1b"; + pkg_config = "0.3.14"; + rustc_version = "0.2.3"; + }; + deps.parking_lot."0.7.1" = { + lock_api = "0.1.5"; + parking_lot_core = "0.4.0"; + }; + deps.parking_lot_core."0.4.0" = { + rand = "0.6.5"; + smallvec = "0.6.9"; + rustc_version = "0.2.3"; + libc = "0.2.51"; + winapi = "0.3.7"; + }; + deps.percent_encoding."1.0.1" = {}; + deps.pkg_config."0.3.14" = {}; + deps.proc_macro2."0.4.27" = { + unicode_xid = "0.1.0"; + }; + deps.quick_error."1.2.2" = {}; + deps.quote."0.6.12" = { + proc_macro2 = "0.4.27"; + }; + deps.rand."0.6.5" = { + rand_chacha = "0.1.1"; + rand_core = "0.4.0"; + rand_hc = "0.1.0"; + rand_isaac = "0.1.1"; + rand_jitter = "0.1.3"; + rand_os = "0.1.3"; + rand_pcg = "0.1.2"; + rand_xorshift = "0.1.1"; + autocfg = "0.1.2"; + libc = "0.2.51"; + winapi = "0.3.7"; + }; + deps.rand_chacha."0.1.1" = { + rand_core = "0.3.1"; + autocfg = "0.1.2"; + }; + deps.rand_core."0.3.1" = { + rand_core = "0.4.0"; + }; + deps.rand_core."0.4.0" = {}; + deps.rand_hc."0.1.0" = { + rand_core = "0.3.1"; + }; + deps.rand_isaac."0.1.1" = { + rand_core = "0.3.1"; + }; + deps.rand_jitter."0.1.3" = { + rand_core = "0.4.0"; + libc = "0.2.51"; + winapi = "0.3.7"; + }; + deps.rand_os."0.1.3" = { + rand_core = "0.4.0"; + rdrand = "0.4.0"; + cloudabi = "0.0.3"; + fuchsia_cprng = "0.1.1"; + libc = "0.2.51"; + winapi = "0.3.7"; + }; + deps.rand_pcg."0.1.2" = { + rand_core = "0.4.0"; + autocfg = "0.1.2"; + }; + deps.rand_xorshift."0.1.1" = { + rand_core = "0.3.1"; + }; + deps.rawpointer."0.1.0" = {}; + deps.rdrand."0.4.0" = { + rand_core = "0.3.1"; + }; + deps.redox_syscall."0.1.54" = {}; + deps.redox_termios."0.1.1" = { + redox_syscall = "0.1.54"; + }; + deps.regex."1.1.6" = { + aho_corasick = "0.7.3"; + memchr = "2.2.0"; + regex_syntax = "0.6.6"; + thread_local = "0.3.6"; + utf8_ranges = "1.0.2"; + }; + deps.regex_syntax."0.6.6" = { + ucd_util = "0.1.3"; + }; + deps.remove_dir_all."0.5.1" = { + winapi = "0.3.7"; + }; + deps.rustc_demangle."0.1.14" = {}; + deps.rustc_workspace_hack."1.0.0" = {}; + deps.rustc_version."0.2.3" = { + semver = "0.9.0"; + }; + deps.rustfix."0.4.5" = { + failure = "0.1.5"; + log = "0.4.6"; + serde = "1.0.90"; + serde_derive = "1.0.90"; + serde_json = "1.0.39"; + }; + deps.ryu."0.2.7" = {}; + deps.same_file."1.0.4" = { + winapi_util = "0.1.2"; + }; + deps.schannel."0.1.15" = { + lazy_static = "1.3.0"; + winapi = "0.3.7"; + }; + deps.scopeguard."0.3.3" = {}; + deps.semver."0.9.0" = { + semver_parser = "0.7.0"; + serde = "1.0.90"; + }; + deps.semver_parser."0.7.0" = {}; + deps.serde."1.0.90" = { + serde_derive = "1.0.90"; + }; + deps.serde_derive."1.0.90" = { + proc_macro2 = "0.4.27"; + quote = "0.6.12"; + syn = "0.15.32"; + }; + deps.serde_ignored."0.0.4" = { + serde = "1.0.90"; + }; + deps.serde_json."1.0.39" = { + itoa = "0.4.3"; + ryu = "0.2.7"; + serde = "1.0.90"; + }; + deps.shell_escape."0.1.4" = {}; + deps.sized_chunks."0.1.3" = { + typenum = "1.10.0"; + }; + deps.smallvec."0.6.9" = {}; + deps.socket2."0.3.8" = { + cfg_if = "0.1.7"; + libc = "0.2.51"; + redox_syscall = "0.1.54"; + winapi = "0.3.7"; + }; + deps.strsim."0.8.0" = {}; + deps.strsim."0.9.1" = { + hashbrown = "0.1.8"; + ndarray = "0.12.1"; + }; + deps.syn."0.15.32" = { + proc_macro2 = "0.4.27"; + quote = "0.6.12"; + unicode_xid = "0.1.0"; + }; + deps.synstructure."0.10.1" = { + proc_macro2 = "0.4.27"; + quote = "0.6.12"; + syn = "0.15.32"; + unicode_xid = "0.1.0"; + }; + deps.tar."0.4.22" = { + filetime = "0.2.4"; + redox_syscall = "0.1.54"; + libc = "0.2.51"; + }; + deps.tempfile."3.0.7" = { + cfg_if = "0.1.7"; + rand = "0.6.5"; + remove_dir_all = "0.5.1"; + redox_syscall = "0.1.54"; + libc = "0.2.51"; + winapi = "0.3.7"; + }; + deps.termcolor."1.0.4" = { + wincolor = "1.0.1"; + }; + deps.termion."1.5.1" = { + libc = "0.2.51"; + redox_syscall = "0.1.54"; + redox_termios = "0.1.1"; + }; + deps.textwrap."0.11.0" = { + unicode_width = "0.1.5"; + }; + deps.thread_local."0.3.6" = { + lazy_static = "1.3.0"; + }; + deps.toml."0.4.10" = { + serde = "1.0.90"; + }; + deps.toml."0.5.0" = { + serde = "1.0.90"; + }; + deps.typenum."1.10.0" = {}; + deps.ucd_util."0.1.3" = {}; + deps.unicode_bidi."0.3.4" = { + matches = "0.1.8"; + }; + deps.unicode_normalization."0.1.8" = { + smallvec = "0.6.9"; + }; + deps.unicode_width."0.1.5" = {}; + deps.unicode_xid."0.1.0" = {}; + deps.url."1.7.2" = { + idna = "0.1.5"; + matches = "0.1.8"; + percent_encoding = "1.0.1"; + }; + deps.url_serde."0.2.0" = { + serde = "1.0.90"; + url = "1.7.2"; + }; + deps.utf8_ranges."1.0.2" = {}; + deps.vcpkg."0.2.6" = {}; + deps.vec_map."0.8.1" = {}; + deps.walkdir."2.2.7" = { + same_file = "1.0.4"; + winapi = "0.3.7"; + winapi_util = "0.1.2"; + }; + deps.winapi."0.2.8" = {}; + deps.winapi."0.3.7" = { + winapi_i686_pc_windows_gnu = "0.4.0"; + winapi_x86_64_pc_windows_gnu = "0.4.0"; + }; + deps.winapi_build."0.1.1" = {}; + deps.winapi_i686_pc_windows_gnu."0.4.0" = {}; + deps.winapi_util."0.1.2" = { + winapi = "0.3.7"; + }; + deps.winapi_x86_64_pc_windows_gnu."0.4.0" = {}; + deps.wincolor."1.0.1" = { + winapi = "0.3.7"; + winapi_util = "0.1.2"; + }; } diff --git a/pkgs/build-support/rust/cargo-vendor/default.nix b/pkgs/build-support/rust/cargo-vendor/default.nix index faeb6e03743..f252c6a6cb1 100644 --- a/pkgs/build-support/rust/cargo-vendor/default.nix +++ b/pkgs/build-support/rust/cargo-vendor/default.nix @@ -1,10 +1,10 @@ { callPackage, fetchFromGitHub }: -(callPackage ./cargo-vendor.nix {}).cargo_vendor_0_1_13.overrideAttrs (attrs: { +((callPackage ./cargo-vendor.nix {}).cargo_vendor {}).overrideAttrs (attrs: { src = fetchFromGitHub { owner = "alexcrichton"; repo = "cargo-vendor"; - rev = "0.1.13"; - sha256 = "0ljh2d65zpxp26a95b3czy5ai2z2dm87x7ndfdc1s0v1fsy69kn4"; + rev = "9355661303ce2870d68a69d99953fce22581e31e"; + sha256 = "0d4j3r09am3ynwhczimzv39264f5xz37jxa9js123y46w5by3wd2"; }; }) diff --git a/pkgs/build-support/rust/carnix.nix b/pkgs/build-support/rust/carnix.nix index dd44fed623e..46bbff92a9c 100644 --- a/pkgs/build-support/rust/carnix.nix +++ b/pkgs/build-support/rust/carnix.nix @@ -1,15 +1,15 @@ -# Generated by carnix 0.9.1: carnix generate-nix +# Generated by carnix 0.9.10: carnix generate-nix { lib, buildPlatform, buildRustCrate, buildRustCrateHelpers, cratesIO, fetchgit }: with buildRustCrateHelpers; let inherit (lib.lists) fold; inherit (lib.attrsets) recursiveUpdate; in -let crates = cratesIO; in rec { - carnix = crates.crates.carnix."0.9.2" deps; + crates = cratesIO; + carnix = crates.crates.carnix."0.10.0" deps; __all = [ (carnix {}) ]; - deps.aho_corasick."0.6.8" = { - memchr = "2.1.0"; + deps.aho_corasick."0.6.10" = { + memchr = "2.2.0"; }; deps.ansi_term."0.11.0" = { winapi = "0.3.6"; @@ -18,47 +18,51 @@ rec { blake2_rfc = "0.2.18"; scoped_threadpool = "0.1.9"; }; - deps.arrayvec."0.4.7" = { - nodrop = "0.1.12"; + deps.arrayvec."0.4.10" = { + nodrop = "0.1.13"; }; deps.atty."0.2.11" = { termion = "1.5.1"; - libc = "0.2.43"; + libc = "0.2.50"; winapi = "0.3.6"; }; - deps.backtrace."0.3.9" = { - cfg_if = "0.1.6"; - rustc_demangle = "0.1.9"; - backtrace_sys = "0.1.24"; - libc = "0.2.43"; + deps.autocfg."0.1.2" = {}; + deps.backtrace."0.3.14" = { + cfg_if = "0.1.7"; + rustc_demangle = "0.1.13"; + autocfg = "0.1.2"; + backtrace_sys = "0.1.28"; + libc = "0.2.50"; winapi = "0.3.6"; }; - deps.backtrace_sys."0.1.24" = { - libc = "0.2.43"; - cc = "1.0.25"; + deps.backtrace_sys."0.1.28" = { + libc = "0.2.50"; + cc = "1.0.32"; }; deps.bitflags."1.0.4" = {}; deps.blake2_rfc."0.2.18" = { - arrayvec = "0.4.7"; + arrayvec = "0.4.10"; constant_time_eq = "0.1.3"; }; - deps.carnix."0.9.2" = { + deps.carnix."0.10.0" = { clap = "2.32.0"; - dirs = "1.0.4"; - env_logger = "0.5.13"; - error_chain = "0.12.0"; - itertools = "0.7.8"; - log = "0.4.5"; + dirs = "1.0.5"; + env_logger = "0.6.1"; + failure = "0.1.5"; + failure_derive = "0.1.5"; + itertools = "0.8.0"; + log = "0.4.6"; nom = "3.2.1"; - regex = "1.0.5"; - serde = "1.0.80"; - serde_derive = "1.0.80"; - serde_json = "1.0.32"; + regex = "1.1.2"; + serde = "1.0.89"; + serde_derive = "1.0.89"; + serde_json = "1.0.39"; tempdir = "0.3.7"; - toml = "0.4.8"; + toml = "0.5.0"; + url = "1.7.2"; }; - deps.cc."1.0.25" = {}; - deps.cfg_if."0.1.6" = {}; + deps.cc."1.0.32" = {}; + deps.cfg_if."0.1.7" = {}; deps.clap."2.32.0" = { atty = "0.2.11"; bitflags = "1.0.4"; @@ -68,163 +72,188 @@ rec { vec_map = "0.8.1"; ansi_term = "0.11.0"; }; + deps.cloudabi."0.0.3" = { + bitflags = "1.0.4"; + }; deps.constant_time_eq."0.1.3" = {}; - deps.dirs."1.0.4" = { - redox_users = "0.2.0"; - libc = "0.2.43"; + deps.dirs."1.0.5" = { + redox_users = "0.3.0"; + libc = "0.2.50"; winapi = "0.3.6"; }; - deps.either."1.5.0" = {}; - deps.env_logger."0.5.13" = { + deps.either."1.5.1" = {}; + deps.env_logger."0.6.1" = { atty = "0.2.11"; - humantime = "1.1.1"; - log = "0.4.5"; - regex = "1.0.5"; + humantime = "1.2.0"; + log = "0.4.6"; + regex = "1.1.2"; termcolor = "1.0.4"; }; - deps.error_chain."0.12.0" = { - backtrace = "0.3.9"; + deps.failure."0.1.5" = { + backtrace = "0.3.14"; + failure_derive = "0.1.5"; }; - deps.failure."0.1.3" = { - backtrace = "0.3.9"; - failure_derive = "0.1.3"; + deps.failure_derive."0.1.5" = { + proc_macro2 = "0.4.27"; + quote = "0.6.11"; + syn = "0.15.29"; + synstructure = "0.10.1"; }; - deps.failure_derive."0.1.3" = { - proc_macro2 = "0.4.20"; - quote = "0.6.8"; - syn = "0.15.13"; - synstructure = "0.10.0"; - }; - deps.fuchsia_zircon."0.3.3" = { - bitflags = "1.0.4"; - fuchsia_zircon_sys = "0.3.3"; - }; - deps.fuchsia_zircon_sys."0.3.3" = {}; - deps.humantime."1.1.1" = { + deps.fuchsia_cprng."0.1.1" = {}; + deps.humantime."1.2.0" = { quick_error = "1.2.2"; }; - deps.itertools."0.7.8" = { - either = "1.5.0"; + deps.idna."0.1.5" = { + matches = "0.1.8"; + unicode_bidi = "0.3.4"; + unicode_normalization = "0.1.8"; + }; + deps.itertools."0.8.0" = { + either = "1.5.1"; }; deps.itoa."0.4.3" = {}; - deps.lazy_static."1.1.0" = { - version_check = "0.1.5"; - }; - deps.libc."0.2.43" = {}; - deps.log."0.4.5" = { - cfg_if = "0.1.6"; + deps.lazy_static."1.3.0" = {}; + deps.libc."0.2.50" = {}; + deps.log."0.4.6" = { + cfg_if = "0.1.7"; }; + deps.matches."0.1.8" = {}; deps.memchr."1.0.2" = { - libc = "0.2.43"; + libc = "0.2.50"; }; - deps.memchr."2.1.0" = { - cfg_if = "0.1.6"; - libc = "0.2.43"; - version_check = "0.1.5"; - }; - deps.nodrop."0.1.12" = {}; + deps.memchr."2.2.0" = {}; + deps.nodrop."0.1.13" = {}; deps.nom."3.2.1" = { memchr = "1.0.2"; }; - deps.proc_macro2."0.4.20" = { + deps.percent_encoding."1.0.1" = {}; + deps.proc_macro2."0.4.27" = { unicode_xid = "0.1.0"; }; deps.quick_error."1.2.2" = {}; - deps.quote."0.6.8" = { - proc_macro2 = "0.4.20"; + deps.quote."0.6.11" = { + proc_macro2 = "0.4.27"; }; - deps.rand."0.4.3" = { - fuchsia_zircon = "0.3.3"; - libc = "0.2.43"; + deps.rand."0.4.6" = { + rand_core = "0.3.1"; + rdrand = "0.4.0"; + fuchsia_cprng = "0.1.1"; + libc = "0.2.50"; winapi = "0.3.6"; }; - deps.redox_syscall."0.1.40" = {}; + deps.rand_core."0.3.1" = { + rand_core = "0.4.0"; + }; + deps.rand_core."0.4.0" = {}; + deps.rand_os."0.1.3" = { + rand_core = "0.4.0"; + rdrand = "0.4.0"; + cloudabi = "0.0.3"; + fuchsia_cprng = "0.1.1"; + libc = "0.2.50"; + winapi = "0.3.6"; + }; + deps.rdrand."0.4.0" = { + rand_core = "0.3.1"; + }; + deps.redox_syscall."0.1.51" = {}; deps.redox_termios."0.1.1" = { - redox_syscall = "0.1.40"; + redox_syscall = "0.1.51"; }; - deps.redox_users."0.2.0" = { + deps.redox_users."0.3.0" = { argon2rs = "0.2.5"; - failure = "0.1.3"; - rand = "0.4.3"; - redox_syscall = "0.1.40"; + failure = "0.1.5"; + rand_os = "0.1.3"; + redox_syscall = "0.1.51"; }; - deps.regex."1.0.5" = { - aho_corasick = "0.6.8"; - memchr = "2.1.0"; - regex_syntax = "0.6.2"; + deps.regex."1.1.2" = { + aho_corasick = "0.6.10"; + memchr = "2.2.0"; + regex_syntax = "0.6.5"; thread_local = "0.3.6"; - utf8_ranges = "1.0.1"; + utf8_ranges = "1.0.2"; }; - deps.regex_syntax."0.6.2" = { - ucd_util = "0.1.1"; + deps.regex_syntax."0.6.5" = { + ucd_util = "0.1.3"; }; deps.remove_dir_all."0.5.1" = { winapi = "0.3.6"; }; - deps.rustc_demangle."0.1.9" = {}; - deps.ryu."0.2.6" = {}; + deps.rustc_demangle."0.1.13" = {}; + deps.ryu."0.2.7" = {}; deps.scoped_threadpool."0.1.9" = {}; - deps.serde."1.0.80" = {}; - deps.serde_derive."1.0.80" = { - proc_macro2 = "0.4.20"; - quote = "0.6.8"; - syn = "0.15.13"; + deps.serde."1.0.89" = {}; + deps.serde_derive."1.0.89" = { + proc_macro2 = "0.4.27"; + quote = "0.6.11"; + syn = "0.15.29"; }; - deps.serde_json."1.0.32" = { + deps.serde_json."1.0.39" = { itoa = "0.4.3"; - ryu = "0.2.6"; - serde = "1.0.80"; + ryu = "0.2.7"; + serde = "1.0.89"; }; + deps.smallvec."0.6.9" = {}; deps.strsim."0.7.0" = {}; - deps.syn."0.15.13" = { - proc_macro2 = "0.4.20"; - quote = "0.6.8"; + deps.syn."0.15.29" = { + proc_macro2 = "0.4.27"; + quote = "0.6.11"; unicode_xid = "0.1.0"; }; - deps.synstructure."0.10.0" = { - proc_macro2 = "0.4.20"; - quote = "0.6.8"; - syn = "0.15.13"; + deps.synstructure."0.10.1" = { + proc_macro2 = "0.4.27"; + quote = "0.6.11"; + syn = "0.15.29"; unicode_xid = "0.1.0"; }; deps.tempdir."0.3.7" = { - rand = "0.4.3"; + rand = "0.4.6"; remove_dir_all = "0.5.1"; }; deps.termcolor."1.0.4" = { wincolor = "1.0.1"; }; deps.termion."1.5.1" = { - libc = "0.2.43"; - redox_syscall = "0.1.40"; + libc = "0.2.50"; + redox_syscall = "0.1.51"; redox_termios = "0.1.1"; }; deps.textwrap."0.10.0" = { unicode_width = "0.1.5"; }; deps.thread_local."0.3.6" = { - lazy_static = "1.1.0"; + lazy_static = "1.3.0"; }; - deps.toml."0.4.8" = { - serde = "1.0.80"; + deps.toml."0.5.0" = { + serde = "1.0.89"; + }; + deps.ucd_util."0.1.3" = {}; + deps.unicode_bidi."0.3.4" = { + matches = "0.1.8"; + }; + deps.unicode_normalization."0.1.8" = { + smallvec = "0.6.9"; }; - deps.ucd_util."0.1.1" = {}; deps.unicode_width."0.1.5" = {}; deps.unicode_xid."0.1.0" = {}; - deps.utf8_ranges."1.0.1" = {}; + deps.url."1.7.2" = { + idna = "0.1.5"; + matches = "0.1.8"; + percent_encoding = "1.0.1"; + }; + deps.utf8_ranges."1.0.2" = {}; deps.vec_map."0.8.1" = {}; - deps.version_check."0.1.5" = {}; deps.winapi."0.3.6" = { winapi_i686_pc_windows_gnu = "0.4.0"; winapi_x86_64_pc_windows_gnu = "0.4.0"; }; deps.winapi_i686_pc_windows_gnu."0.4.0" = {}; - deps.winapi_util."0.1.1" = { + deps.winapi_util."0.1.2" = { winapi = "0.3.6"; }; deps.winapi_x86_64_pc_windows_gnu."0.4.0" = {}; deps.wincolor."1.0.1" = { winapi = "0.3.6"; - winapi_util = "0.1.1"; + winapi_util = "0.1.2"; }; } diff --git a/pkgs/build-support/rust/crates-io.nix b/pkgs/build-support/rust/crates-io.nix index f312cd6e490..9dd2da28ad5 100644 --- a/pkgs/build-support/rust/crates-io.nix +++ b/pkgs/build-support/rust/crates-io.nix @@ -4,6 +4,30 @@ let inherit (lib.lists) fold; inherit (lib.attrsets) recursiveUpdate; in rec { +# aho-corasick-0.6.10 + + crates.aho_corasick."0.6.10" = deps: { features?(features_.aho_corasick."0.6.10" deps {}) }: buildRustCrate { + crateName = "aho-corasick"; + version = "0.6.10"; + description = "Fast multiple substring searching with finite state machines."; + authors = [ "Andrew Gallant " ]; + sha256 = "0bhasxfpmfmz1460chwsx59vdld05axvmk1nbp3sd48xav3d108p"; + libName = "aho_corasick"; + crateBin = + [{ name = "aho-corasick-dot"; path = "src/main.rs"; }]; + dependencies = mapFeatures features ([ + (crates."memchr"."${deps."aho_corasick"."0.6.10"."memchr"}" deps) + ]); + }; + features_.aho_corasick."0.6.10" = deps: f: updateFeatures f (rec { + aho_corasick."0.6.10".default = (f.aho_corasick."0.6.10".default or true); + memchr."${deps.aho_corasick."0.6.10".memchr}".default = true; + }) [ + (features_.memchr."${deps."aho_corasick"."0.6.10"."memchr"}" deps) + ]; + + +# end # aho-corasick-0.6.8 crates.aho_corasick."0.6.8" = deps: { features?(features_.aho_corasick."0.6.8" deps {}) }: buildRustCrate { @@ -81,6 +105,38 @@ rec { ]; +# end +# arrayvec-0.4.10 + + crates.arrayvec."0.4.10" = deps: { features?(features_.arrayvec."0.4.10" deps {}) }: buildRustCrate { + crateName = "arrayvec"; + version = "0.4.10"; + description = "A vector with fixed capacity, backed by an array (it can be stored on the stack too). Implements fixed capacity ArrayVec and ArrayString."; + authors = [ "bluss" ]; + sha256 = "0qbh825i59w5wfdysqdkiwbwkrsy7lgbd4pwbyb8pxx8wc36iny8"; + dependencies = mapFeatures features ([ + (crates."nodrop"."${deps."arrayvec"."0.4.10"."nodrop"}" deps) + ]); + features = mkFeatures (features."arrayvec"."0.4.10" or {}); + }; + features_.arrayvec."0.4.10" = deps: f: updateFeatures f (rec { + arrayvec = fold recursiveUpdate {} [ + { "0.4.10"."serde" = + (f.arrayvec."0.4.10"."serde" or false) || + (f.arrayvec."0.4.10".serde-1 or false) || + (arrayvec."0.4.10"."serde-1" or false); } + { "0.4.10"."std" = + (f.arrayvec."0.4.10"."std" or false) || + (f.arrayvec."0.4.10".default or false) || + (arrayvec."0.4.10"."default" or false); } + { "0.4.10".default = (f.arrayvec."0.4.10".default or true); } + ]; + nodrop."${deps.arrayvec."0.4.10".nodrop}".default = (f.nodrop."${deps.arrayvec."0.4.10".nodrop}".default or false); + }) [ + (features_.nodrop."${deps."arrayvec"."0.4.10"."nodrop"}" deps) + ]; + + # end # arrayvec-0.4.7 @@ -149,6 +205,137 @@ rec { ]; +# end +# autocfg-0.1.2 + + crates.autocfg."0.1.2" = deps: { features?(features_.autocfg."0.1.2" deps {}) }: buildRustCrate { + crateName = "autocfg"; + version = "0.1.2"; + description = "Automatic cfg for Rust compiler features"; + authors = [ "Josh Stone " ]; + sha256 = "0dv81dwnp1al3j4ffz007yrjv4w1c7hw09gnf0xs3icxiw6qqfs3"; + }; + features_.autocfg."0.1.2" = deps: f: updateFeatures f (rec { + autocfg."0.1.2".default = (f.autocfg."0.1.2".default or true); + }) []; + + +# end +# backtrace-0.3.14 + + crates.backtrace."0.3.14" = deps: { features?(features_.backtrace."0.3.14" deps {}) }: buildRustCrate { + crateName = "backtrace"; + version = "0.3.14"; + description = "A library to acquire a stack trace (backtrace) at runtime in a Rust program.\n"; + authors = [ "Alex Crichton " "The Rust Project Developers" ]; + sha256 = "0sp0ib8r5w9sv1g2nkm9yclp16j46yjglw0yhkmh0snf355633mz"; + dependencies = mapFeatures features ([ + (crates."cfg_if"."${deps."backtrace"."0.3.14"."cfg_if"}" deps) + (crates."rustc_demangle"."${deps."backtrace"."0.3.14"."rustc_demangle"}" deps) + ]) + ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "fuchsia") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then mapFeatures features ([ + ] + ++ (if features.backtrace."0.3.14".backtrace-sys or false then [ (crates.backtrace_sys."${deps."backtrace"."0.3.14".backtrace_sys}" deps) ] else [])) else []) + ++ (if (kernel == "linux" || kernel == "darwin") || abi == "sgx" then mapFeatures features ([ + (crates."libc"."${deps."backtrace"."0.3.14"."libc"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."backtrace"."0.3.14"."winapi"}" deps) + ]) else []); + + buildDependencies = mapFeatures features ([ + (crates."autocfg"."${deps."backtrace"."0.3.14"."autocfg"}" deps) + ]); + features = mkFeatures (features."backtrace"."0.3.14" or {}); + }; + features_.backtrace."0.3.14" = deps: f: updateFeatures f (rec { + autocfg."${deps.backtrace."0.3.14".autocfg}".default = true; + backtrace = fold recursiveUpdate {} [ + { "0.3.14"."addr2line" = + (f.backtrace."0.3.14"."addr2line" or false) || + (f.backtrace."0.3.14".gimli-symbolize or false) || + (backtrace."0.3.14"."gimli-symbolize" or false); } + { "0.3.14"."backtrace-sys" = + (f.backtrace."0.3.14"."backtrace-sys" or false) || + (f.backtrace."0.3.14".libbacktrace or false) || + (backtrace."0.3.14"."libbacktrace" or false); } + { "0.3.14"."coresymbolication" = + (f.backtrace."0.3.14"."coresymbolication" or false) || + (f.backtrace."0.3.14".default or false) || + (backtrace."0.3.14"."default" or false); } + { "0.3.14"."dbghelp" = + (f.backtrace."0.3.14"."dbghelp" or false) || + (f.backtrace."0.3.14".default or false) || + (backtrace."0.3.14"."default" or false); } + { "0.3.14"."dladdr" = + (f.backtrace."0.3.14"."dladdr" or false) || + (f.backtrace."0.3.14".default or false) || + (backtrace."0.3.14"."default" or false); } + { "0.3.14"."findshlibs" = + (f.backtrace."0.3.14"."findshlibs" or false) || + (f.backtrace."0.3.14".gimli-symbolize or false) || + (backtrace."0.3.14"."gimli-symbolize" or false); } + { "0.3.14"."gimli" = + (f.backtrace."0.3.14"."gimli" or false) || + (f.backtrace."0.3.14".gimli-symbolize or false) || + (backtrace."0.3.14"."gimli-symbolize" or false); } + { "0.3.14"."libbacktrace" = + (f.backtrace."0.3.14"."libbacktrace" or false) || + (f.backtrace."0.3.14".default or false) || + (backtrace."0.3.14"."default" or false); } + { "0.3.14"."libunwind" = + (f.backtrace."0.3.14"."libunwind" or false) || + (f.backtrace."0.3.14".default or false) || + (backtrace."0.3.14"."default" or false); } + { "0.3.14"."memmap" = + (f.backtrace."0.3.14"."memmap" or false) || + (f.backtrace."0.3.14".gimli-symbolize or false) || + (backtrace."0.3.14"."gimli-symbolize" or false); } + { "0.3.14"."object" = + (f.backtrace."0.3.14"."object" or false) || + (f.backtrace."0.3.14".gimli-symbolize or false) || + (backtrace."0.3.14"."gimli-symbolize" or false); } + { "0.3.14"."rustc-serialize" = + (f.backtrace."0.3.14"."rustc-serialize" or false) || + (f.backtrace."0.3.14".serialize-rustc or false) || + (backtrace."0.3.14"."serialize-rustc" or false); } + { "0.3.14"."serde" = + (f.backtrace."0.3.14"."serde" or false) || + (f.backtrace."0.3.14".serialize-serde or false) || + (backtrace."0.3.14"."serialize-serde" or false); } + { "0.3.14"."serde_derive" = + (f.backtrace."0.3.14"."serde_derive" or false) || + (f.backtrace."0.3.14".serialize-serde or false) || + (backtrace."0.3.14"."serialize-serde" or false); } + { "0.3.14"."std" = + (f.backtrace."0.3.14"."std" or false) || + (f.backtrace."0.3.14".default or false) || + (backtrace."0.3.14"."default" or false) || + (f.backtrace."0.3.14".libbacktrace or false) || + (backtrace."0.3.14"."libbacktrace" or false); } + { "0.3.14".default = (f.backtrace."0.3.14".default or true); } + ]; + backtrace_sys."${deps.backtrace."0.3.14".backtrace_sys}".default = true; + cfg_if."${deps.backtrace."0.3.14".cfg_if}".default = true; + libc."${deps.backtrace."0.3.14".libc}".default = (f.libc."${deps.backtrace."0.3.14".libc}".default or false); + rustc_demangle."${deps.backtrace."0.3.14".rustc_demangle}".default = true; + winapi = fold recursiveUpdate {} [ + { "${deps.backtrace."0.3.14".winapi}"."dbghelp" = true; } + { "${deps.backtrace."0.3.14".winapi}"."minwindef" = true; } + { "${deps.backtrace."0.3.14".winapi}"."processthreadsapi" = true; } + { "${deps.backtrace."0.3.14".winapi}"."winnt" = true; } + { "${deps.backtrace."0.3.14".winapi}".default = true; } + ]; + }) [ + (features_.cfg_if."${deps."backtrace"."0.3.14"."cfg_if"}" deps) + (features_.rustc_demangle."${deps."backtrace"."0.3.14"."rustc_demangle"}" deps) + (features_.autocfg."${deps."backtrace"."0.3.14"."autocfg"}" deps) + (features_.backtrace_sys."${deps."backtrace"."0.3.14"."backtrace_sys"}" deps) + (features_.libc."${deps."backtrace"."0.3.14"."libc"}" deps) + (features_.winapi."${deps."backtrace"."0.3.14"."winapi"}" deps) + ]; + + # end # backtrace-0.3.9 @@ -284,6 +471,34 @@ rec { ]; +# end +# backtrace-sys-0.1.28 + + crates.backtrace_sys."0.1.28" = deps: { features?(features_.backtrace_sys."0.1.28" deps {}) }: buildRustCrate { + crateName = "backtrace-sys"; + version = "0.1.28"; + description = "Bindings to the libbacktrace gcc library\n"; + authors = [ "Alex Crichton " ]; + sha256 = "1bbw8chs0wskxwzz7f3yy7mjqhyqj8lslq8pcjw1rbd2g23c34xl"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."libc"."${deps."backtrace_sys"."0.1.28"."libc"}" deps) + ]); + + buildDependencies = mapFeatures features ([ + (crates."cc"."${deps."backtrace_sys"."0.1.28"."cc"}" deps) + ]); + }; + features_.backtrace_sys."0.1.28" = deps: f: updateFeatures f (rec { + backtrace_sys."0.1.28".default = (f.backtrace_sys."0.1.28".default or true); + cc."${deps.backtrace_sys."0.1.28".cc}".default = true; + libc."${deps.backtrace_sys."0.1.28".libc}".default = (f.libc."${deps.backtrace_sys."0.1.28".libc}".default or false); + }) [ + (features_.libc."${deps."backtrace_sys"."0.1.28"."libc"}" deps) + (features_.cc."${deps."backtrace_sys"."0.1.28"."cc"}" deps) + ]; + + # end # bitflags-1.0.4 @@ -337,6 +552,131 @@ rec { ]; +# end +# carnix-0.10.0 + + crates.carnix."0.10.0" = deps: { features?(features_.carnix."0.10.0" deps {}) }: buildRustCrate { + crateName = "carnix"; + version = "0.10.0"; + description = "Generate Nix expressions from Cargo.lock files (in order to use Nix as a build system for crates)."; + authors = [ "pe@pijul.org " ]; + sha256 = "0hrp22yvrqnhaanr0ckrwihx9j3irhzd2cmb19sp49ksdi25d8ri"; + crateBin = + [{ name = "cargo-generate-nixfile"; path = "src/cargo-generate-nixfile.rs"; }] ++ + [{ name = "carnix"; path = "src/main.rs"; }]; + dependencies = mapFeatures features ([ + (crates."clap"."${deps."carnix"."0.10.0"."clap"}" deps) + (crates."dirs"."${deps."carnix"."0.10.0"."dirs"}" deps) + (crates."env_logger"."${deps."carnix"."0.10.0"."env_logger"}" deps) + (crates."failure"."${deps."carnix"."0.10.0"."failure"}" deps) + (crates."failure_derive"."${deps."carnix"."0.10.0"."failure_derive"}" deps) + (crates."itertools"."${deps."carnix"."0.10.0"."itertools"}" deps) + (crates."log"."${deps."carnix"."0.10.0"."log"}" deps) + (crates."nom"."${deps."carnix"."0.10.0"."nom"}" deps) + (crates."regex"."${deps."carnix"."0.10.0"."regex"}" deps) + (crates."serde"."${deps."carnix"."0.10.0"."serde"}" deps) + (crates."serde_derive"."${deps."carnix"."0.10.0"."serde_derive"}" deps) + (crates."serde_json"."${deps."carnix"."0.10.0"."serde_json"}" deps) + (crates."tempdir"."${deps."carnix"."0.10.0"."tempdir"}" deps) + (crates."toml"."${deps."carnix"."0.10.0"."toml"}" deps) + (crates."url"."${deps."carnix"."0.10.0"."url"}" deps) + ]); + }; + features_.carnix."0.10.0" = deps: f: updateFeatures f (rec { + carnix."0.10.0".default = (f.carnix."0.10.0".default or true); + clap."${deps.carnix."0.10.0".clap}".default = true; + dirs."${deps.carnix."0.10.0".dirs}".default = true; + env_logger."${deps.carnix."0.10.0".env_logger}".default = true; + failure."${deps.carnix."0.10.0".failure}".default = true; + failure_derive."${deps.carnix."0.10.0".failure_derive}".default = true; + itertools."${deps.carnix."0.10.0".itertools}".default = true; + log."${deps.carnix."0.10.0".log}".default = true; + nom."${deps.carnix."0.10.0".nom}".default = true; + regex."${deps.carnix."0.10.0".regex}".default = true; + serde."${deps.carnix."0.10.0".serde}".default = true; + serde_derive."${deps.carnix."0.10.0".serde_derive}".default = true; + serde_json."${deps.carnix."0.10.0".serde_json}".default = true; + tempdir."${deps.carnix."0.10.0".tempdir}".default = true; + toml."${deps.carnix."0.10.0".toml}".default = true; + url."${deps.carnix."0.10.0".url}".default = true; + }) [ + (features_.clap."${deps."carnix"."0.10.0"."clap"}" deps) + (features_.dirs."${deps."carnix"."0.10.0"."dirs"}" deps) + (features_.env_logger."${deps."carnix"."0.10.0"."env_logger"}" deps) + (features_.failure."${deps."carnix"."0.10.0"."failure"}" deps) + (features_.failure_derive."${deps."carnix"."0.10.0"."failure_derive"}" deps) + (features_.itertools."${deps."carnix"."0.10.0"."itertools"}" deps) + (features_.log."${deps."carnix"."0.10.0"."log"}" deps) + (features_.nom."${deps."carnix"."0.10.0"."nom"}" deps) + (features_.regex."${deps."carnix"."0.10.0"."regex"}" deps) + (features_.serde."${deps."carnix"."0.10.0"."serde"}" deps) + (features_.serde_derive."${deps."carnix"."0.10.0"."serde_derive"}" deps) + (features_.serde_json."${deps."carnix"."0.10.0"."serde_json"}" deps) + (features_.tempdir."${deps."carnix"."0.10.0"."tempdir"}" deps) + (features_.toml."${deps."carnix"."0.10.0"."toml"}" deps) + (features_.url."${deps."carnix"."0.10.0"."url"}" deps) + ]; + + +# end +# carnix-0.9.1 + + crates.carnix."0.9.1" = deps: { features?(features_.carnix."0.9.1" deps {}) }: buildRustCrate { + crateName = "carnix"; + version = "0.9.1"; + authors = [ "pe@pijul.org " ]; + sha256 = "0dn292d4mjlxif0kclrljzff8rm35cd9d92vycjbzklyhz5d62wi"; + crateBin = + [{ name = "cargo-generate-nixfile"; path = "src/cargo-generate-nixfile.rs"; }] ++ + [{ name = "carnix"; path = "src/main.rs"; }]; + dependencies = mapFeatures features ([ + (crates."clap"."${deps."carnix"."0.9.1"."clap"}" deps) + (crates."dirs"."${deps."carnix"."0.9.1"."dirs"}" deps) + (crates."env_logger"."${deps."carnix"."0.9.1"."env_logger"}" deps) + (crates."error_chain"."${deps."carnix"."0.9.1"."error_chain"}" deps) + (crates."itertools"."${deps."carnix"."0.9.1"."itertools"}" deps) + (crates."log"."${deps."carnix"."0.9.1"."log"}" deps) + (crates."nom"."${deps."carnix"."0.9.1"."nom"}" deps) + (crates."regex"."${deps."carnix"."0.9.1"."regex"}" deps) + (crates."serde"."${deps."carnix"."0.9.1"."serde"}" deps) + (crates."serde_derive"."${deps."carnix"."0.9.1"."serde_derive"}" deps) + (crates."serde_json"."${deps."carnix"."0.9.1"."serde_json"}" deps) + (crates."tempdir"."${deps."carnix"."0.9.1"."tempdir"}" deps) + (crates."toml"."${deps."carnix"."0.9.1"."toml"}" deps) + ]); + }; + features_.carnix."0.9.1" = deps: f: updateFeatures f (rec { + carnix."0.9.1".default = (f.carnix."0.9.1".default or true); + clap."${deps.carnix."0.9.1".clap}".default = true; + dirs."${deps.carnix."0.9.1".dirs}".default = true; + env_logger."${deps.carnix."0.9.1".env_logger}".default = true; + error_chain."${deps.carnix."0.9.1".error_chain}".default = true; + itertools."${deps.carnix."0.9.1".itertools}".default = true; + log."${deps.carnix."0.9.1".log}".default = true; + nom."${deps.carnix."0.9.1".nom}".default = true; + regex."${deps.carnix."0.9.1".regex}".default = true; + serde."${deps.carnix."0.9.1".serde}".default = true; + serde_derive."${deps.carnix."0.9.1".serde_derive}".default = true; + serde_json."${deps.carnix."0.9.1".serde_json}".default = true; + tempdir."${deps.carnix."0.9.1".tempdir}".default = true; + toml."${deps.carnix."0.9.1".toml}".default = true; + }) [ + (features_.clap."${deps."carnix"."0.9.1"."clap"}" deps) + (features_.dirs."${deps."carnix"."0.9.1"."dirs"}" deps) + (features_.env_logger."${deps."carnix"."0.9.1"."env_logger"}" deps) + (features_.error_chain."${deps."carnix"."0.9.1"."error_chain"}" deps) + (features_.itertools."${deps."carnix"."0.9.1"."itertools"}" deps) + (features_.log."${deps."carnix"."0.9.1"."log"}" deps) + (features_.nom."${deps."carnix"."0.9.1"."nom"}" deps) + (features_.regex."${deps."carnix"."0.9.1"."regex"}" deps) + (features_.serde."${deps."carnix"."0.9.1"."serde"}" deps) + (features_.serde_derive."${deps."carnix"."0.9.1"."serde_derive"}" deps) + (features_.serde_json."${deps."carnix"."0.9.1"."serde_json"}" deps) + (features_.tempdir."${deps."carnix"."0.9.1"."tempdir"}" deps) + (features_.toml."${deps."carnix"."0.9.1"."toml"}" deps) + ]; + + # end # carnix-0.9.2 @@ -396,6 +736,68 @@ rec { ]; +# end +# carnix-0.9.8 + + crates.carnix."0.9.8" = deps: { features?(features_.carnix."0.9.8" deps {}) }: buildRustCrate { + crateName = "carnix"; + version = "0.9.8"; + authors = [ "pe@pijul.org " ]; + sha256 = "0c2k98qjm1yyx5wl0wqs0rrjczp6h62ri1x8a99442clxsyvp4n9"; + crateBin = + [{ name = "cargo-generate-nixfile"; path = "src/cargo-generate-nixfile.rs"; }] ++ + [{ name = "carnix"; path = "src/main.rs"; }]; + dependencies = mapFeatures features ([ + (crates."clap"."${deps."carnix"."0.9.8"."clap"}" deps) + (crates."dirs"."${deps."carnix"."0.9.8"."dirs"}" deps) + (crates."env_logger"."${deps."carnix"."0.9.8"."env_logger"}" deps) + (crates."error_chain"."${deps."carnix"."0.9.8"."error_chain"}" deps) + (crates."itertools"."${deps."carnix"."0.9.8"."itertools"}" deps) + (crates."log"."${deps."carnix"."0.9.8"."log"}" deps) + (crates."nom"."${deps."carnix"."0.9.8"."nom"}" deps) + (crates."regex"."${deps."carnix"."0.9.8"."regex"}" deps) + (crates."serde"."${deps."carnix"."0.9.8"."serde"}" deps) + (crates."serde_derive"."${deps."carnix"."0.9.8"."serde_derive"}" deps) + (crates."serde_json"."${deps."carnix"."0.9.8"."serde_json"}" deps) + (crates."tempdir"."${deps."carnix"."0.9.8"."tempdir"}" deps) + (crates."toml"."${deps."carnix"."0.9.8"."toml"}" deps) + (crates."url"."${deps."carnix"."0.9.8"."url"}" deps) + ]); + }; + features_.carnix."0.9.8" = deps: f: updateFeatures f (rec { + carnix."0.9.8".default = (f.carnix."0.9.8".default or true); + clap."${deps.carnix."0.9.8".clap}".default = true; + dirs."${deps.carnix."0.9.8".dirs}".default = true; + env_logger."${deps.carnix."0.9.8".env_logger}".default = true; + error_chain."${deps.carnix."0.9.8".error_chain}".default = true; + itertools."${deps.carnix."0.9.8".itertools}".default = true; + log."${deps.carnix."0.9.8".log}".default = true; + nom."${deps.carnix."0.9.8".nom}".default = true; + regex."${deps.carnix."0.9.8".regex}".default = true; + serde."${deps.carnix."0.9.8".serde}".default = true; + serde_derive."${deps.carnix."0.9.8".serde_derive}".default = true; + serde_json."${deps.carnix."0.9.8".serde_json}".default = true; + tempdir."${deps.carnix."0.9.8".tempdir}".default = true; + toml."${deps.carnix."0.9.8".toml}".default = true; + url."${deps.carnix."0.9.8".url}".default = true; + }) [ + (features_.clap."${deps."carnix"."0.9.8"."clap"}" deps) + (features_.dirs."${deps."carnix"."0.9.8"."dirs"}" deps) + (features_.env_logger."${deps."carnix"."0.9.8"."env_logger"}" deps) + (features_.error_chain."${deps."carnix"."0.9.8"."error_chain"}" deps) + (features_.itertools."${deps."carnix"."0.9.8"."itertools"}" deps) + (features_.log."${deps."carnix"."0.9.8"."log"}" deps) + (features_.nom."${deps."carnix"."0.9.8"."nom"}" deps) + (features_.regex."${deps."carnix"."0.9.8"."regex"}" deps) + (features_.serde."${deps."carnix"."0.9.8"."serde"}" deps) + (features_.serde_derive."${deps."carnix"."0.9.8"."serde_derive"}" deps) + (features_.serde_json."${deps."carnix"."0.9.8"."serde_json"}" deps) + (features_.tempdir."${deps."carnix"."0.9.8"."tempdir"}" deps) + (features_.toml."${deps."carnix"."0.9.8"."toml"}" deps) + (features_.url."${deps."carnix"."0.9.8"."url"}" deps) + ]; + + # end # cc-1.0.25 @@ -419,6 +821,30 @@ rec { }) []; +# end +# cc-1.0.32 + + crates.cc."1.0.32" = deps: { features?(features_.cc."1.0.32" deps {}) }: buildRustCrate { + crateName = "cc"; + version = "1.0.32"; + description = "A build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "0mq4ma94yis74dnn98w2wkaad195dr6qwlma4fs590xiv0j15ldx"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."cc"."1.0.32" or {}); + }; + features_.cc."1.0.32" = deps: f: updateFeatures f (rec { + cc = fold recursiveUpdate {} [ + { "1.0.32"."rayon" = + (f.cc."1.0.32"."rayon" or false) || + (f.cc."1.0.32".parallel or false) || + (cc."1.0.32"."parallel" or false); } + { "1.0.32".default = (f.cc."1.0.32".default or true); } + ]; + }) []; + + # end # cfg-if-0.1.6 @@ -433,6 +859,21 @@ rec { }) []; +# end +# cfg-if-0.1.7 + + crates.cfg_if."0.1.7" = deps: { features?(features_.cfg_if."0.1.7" deps {}) }: buildRustCrate { + crateName = "cfg-if"; + version = "0.1.7"; + description = "A macro to ergonomically define an item depending on a large number of #[cfg]\nparameters. Structured like an if-else chain, the first matching branch is the\nitem that gets emitted.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "13gvcx1dxjq4mpmpj26hpg3yc97qffkx2zi58ykr1dwr8q2biiig"; + }; + features_.cfg_if."0.1.7" = deps: f: updateFeatures f (rec { + cfg_if."0.1.7".default = (f.cfg_if."0.1.7".default or true); + }) []; + + # end # clap-2.32.0 @@ -522,6 +963,35 @@ rec { ]; +# end +# cloudabi-0.0.3 + + crates.cloudabi."0.0.3" = deps: { features?(features_.cloudabi."0.0.3" deps {}) }: buildRustCrate { + crateName = "cloudabi"; + version = "0.0.3"; + description = "Low level interface to CloudABI. Contains all syscalls and related types."; + authors = [ "Nuxi (https://nuxi.nl/) and contributors" ]; + sha256 = "1z9lby5sr6vslfd14d6igk03s7awf91mxpsfmsp3prxbxlk0x7h5"; + libPath = "cloudabi.rs"; + dependencies = mapFeatures features ([ + ] + ++ (if features.cloudabi."0.0.3".bitflags or false then [ (crates.bitflags."${deps."cloudabi"."0.0.3".bitflags}" deps) ] else [])); + features = mkFeatures (features."cloudabi"."0.0.3" or {}); + }; + features_.cloudabi."0.0.3" = deps: f: updateFeatures f (rec { + bitflags."${deps.cloudabi."0.0.3".bitflags}".default = true; + cloudabi = fold recursiveUpdate {} [ + { "0.0.3"."bitflags" = + (f.cloudabi."0.0.3"."bitflags" or false) || + (f.cloudabi."0.0.3".default or false) || + (cloudabi."0.0.3"."default" or false); } + { "0.0.3".default = (f.cloudabi."0.0.3".default or true); } + ]; + }) [ + (features_.bitflags."${deps."cloudabi"."0.0.3"."bitflags"}" deps) + ]; + + # end # constant_time_eq-0.1.3 @@ -573,6 +1043,44 @@ rec { ]; +# end +# dirs-1.0.5 + + crates.dirs."1.0.5" = deps: { features?(features_.dirs."1.0.5" deps {}) }: buildRustCrate { + crateName = "dirs"; + version = "1.0.5"; + description = "A tiny low-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS."; + authors = [ "Simon Ochsenreither " ]; + sha256 = "1py68zwwrhlj5vbz9f9ansjmhc8y4gs5bpamw9ycmqz030pprwf3"; + dependencies = (if kernel == "redox" then mapFeatures features ([ + (crates."redox_users"."${deps."dirs"."1.0.5"."redox_users"}" deps) + ]) else []) + ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ + (crates."libc"."${deps."dirs"."1.0.5"."libc"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."dirs"."1.0.5"."winapi"}" deps) + ]) else []); + }; + features_.dirs."1.0.5" = deps: f: updateFeatures f (rec { + dirs."1.0.5".default = (f.dirs."1.0.5".default or true); + libc."${deps.dirs."1.0.5".libc}".default = true; + redox_users."${deps.dirs."1.0.5".redox_users}".default = true; + winapi = fold recursiveUpdate {} [ + { "${deps.dirs."1.0.5".winapi}"."knownfolders" = true; } + { "${deps.dirs."1.0.5".winapi}"."objbase" = true; } + { "${deps.dirs."1.0.5".winapi}"."shlobj" = true; } + { "${deps.dirs."1.0.5".winapi}"."winbase" = true; } + { "${deps.dirs."1.0.5".winapi}"."winerror" = true; } + { "${deps.dirs."1.0.5".winapi}".default = true; } + ]; + }) [ + (features_.redox_users."${deps."dirs"."1.0.5"."redox_users"}" deps) + (features_.libc."${deps."dirs"."1.0.5"."libc"}" deps) + (features_.winapi."${deps."dirs"."1.0.5"."winapi"}" deps) + ]; + + # end # either-1.5.0 @@ -596,6 +1104,30 @@ rec { }) []; +# end +# either-1.5.1 + + crates.either."1.5.1" = deps: { features?(features_.either."1.5.1" deps {}) }: buildRustCrate { + crateName = "either"; + version = "1.5.1"; + description = "The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases.\n"; + authors = [ "bluss" ]; + sha256 = "049dmvnyrrhf0fw955jrfazdapdl84x32grwwxllh8in39yv3783"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."either"."1.5.1" or {}); + }; + features_.either."1.5.1" = deps: f: updateFeatures f (rec { + either = fold recursiveUpdate {} [ + { "1.5.1"."use_std" = + (f.either."1.5.1"."use_std" or false) || + (f.either."1.5.1".default or false) || + (either."1.5.1"."default" or false); } + { "1.5.1".default = (f.either."1.5.1".default or true); } + ]; + }) []; + + # end # env_logger-0.5.13 @@ -638,6 +1170,61 @@ rec { ]; +# end +# env_logger-0.6.1 + + crates.env_logger."0.6.1" = deps: { features?(features_.env_logger."0.6.1" deps {}) }: buildRustCrate { + crateName = "env_logger"; + version = "0.6.1"; + description = "A logging implementation for `log` which is configured via an environment\nvariable.\n"; + authors = [ "The Rust Project Developers" ]; + sha256 = "1d02i2yaqpnmbgw42pf0hd56ddd9jr4zq5yypbmfvc8rs13x0jql"; + dependencies = mapFeatures features ([ + (crates."log"."${deps."env_logger"."0.6.1"."log"}" deps) + ] + ++ (if features.env_logger."0.6.1".atty or false then [ (crates.atty."${deps."env_logger"."0.6.1".atty}" deps) ] else []) + ++ (if features.env_logger."0.6.1".humantime or false then [ (crates.humantime."${deps."env_logger"."0.6.1".humantime}" deps) ] else []) + ++ (if features.env_logger."0.6.1".regex or false then [ (crates.regex."${deps."env_logger"."0.6.1".regex}" deps) ] else []) + ++ (if features.env_logger."0.6.1".termcolor or false then [ (crates.termcolor."${deps."env_logger"."0.6.1".termcolor}" deps) ] else [])); + features = mkFeatures (features."env_logger"."0.6.1" or {}); + }; + features_.env_logger."0.6.1" = deps: f: updateFeatures f (rec { + atty."${deps.env_logger."0.6.1".atty}".default = true; + env_logger = fold recursiveUpdate {} [ + { "0.6.1"."atty" = + (f.env_logger."0.6.1"."atty" or false) || + (f.env_logger."0.6.1".default or false) || + (env_logger."0.6.1"."default" or false); } + { "0.6.1"."humantime" = + (f.env_logger."0.6.1"."humantime" or false) || + (f.env_logger."0.6.1".default or false) || + (env_logger."0.6.1"."default" or false); } + { "0.6.1"."regex" = + (f.env_logger."0.6.1"."regex" or false) || + (f.env_logger."0.6.1".default or false) || + (env_logger."0.6.1"."default" or false); } + { "0.6.1"."termcolor" = + (f.env_logger."0.6.1"."termcolor" or false) || + (f.env_logger."0.6.1".default or false) || + (env_logger."0.6.1"."default" or false); } + { "0.6.1".default = (f.env_logger."0.6.1".default or true); } + ]; + humantime."${deps.env_logger."0.6.1".humantime}".default = true; + log = fold recursiveUpdate {} [ + { "${deps.env_logger."0.6.1".log}"."std" = true; } + { "${deps.env_logger."0.6.1".log}".default = true; } + ]; + regex."${deps.env_logger."0.6.1".regex}".default = true; + termcolor."${deps.env_logger."0.6.1".termcolor}".default = true; + }) [ + (features_.atty."${deps."env_logger"."0.6.1"."atty"}" deps) + (features_.humantime."${deps."env_logger"."0.6.1"."humantime"}" deps) + (features_.log."${deps."env_logger"."0.6.1"."log"}" deps) + (features_.regex."${deps."env_logger"."0.6.1"."regex"}" deps) + (features_.termcolor."${deps."env_logger"."0.6.1"."termcolor"}" deps) + ]; + + # end # error-chain-0.12.0 @@ -711,6 +1298,49 @@ rec { ]; +# end +# failure-0.1.5 + + crates.failure."0.1.5" = deps: { features?(features_.failure."0.1.5" deps {}) }: buildRustCrate { + crateName = "failure"; + version = "0.1.5"; + description = "Experimental error handling abstraction."; + authors = [ "Without Boats " ]; + sha256 = "1msaj1c0fg12dzyf4fhxqlx1gfx41lj2smdjmkc9hkrgajk2g3kx"; + dependencies = mapFeatures features ([ + ] + ++ (if features.failure."0.1.5".backtrace or false then [ (crates.backtrace."${deps."failure"."0.1.5".backtrace}" deps) ] else []) + ++ (if features.failure."0.1.5".failure_derive or false then [ (crates.failure_derive."${deps."failure"."0.1.5".failure_derive}" deps) ] else [])); + features = mkFeatures (features."failure"."0.1.5" or {}); + }; + features_.failure."0.1.5" = deps: f: updateFeatures f (rec { + backtrace."${deps.failure."0.1.5".backtrace}".default = true; + failure = fold recursiveUpdate {} [ + { "0.1.5"."backtrace" = + (f.failure."0.1.5"."backtrace" or false) || + (f.failure."0.1.5".std or false) || + (failure."0.1.5"."std" or false); } + { "0.1.5"."derive" = + (f.failure."0.1.5"."derive" or false) || + (f.failure."0.1.5".default or false) || + (failure."0.1.5"."default" or false); } + { "0.1.5"."failure_derive" = + (f.failure."0.1.5"."failure_derive" or false) || + (f.failure."0.1.5".derive or false) || + (failure."0.1.5"."derive" or false); } + { "0.1.5"."std" = + (f.failure."0.1.5"."std" or false) || + (f.failure."0.1.5".default or false) || + (failure."0.1.5"."default" or false); } + { "0.1.5".default = (f.failure."0.1.5".default or true); } + ]; + failure_derive."${deps.failure."0.1.5".failure_derive}".default = true; + }) [ + (features_.backtrace."${deps."failure"."0.1.5"."backtrace"}" deps) + (features_.failure_derive."${deps."failure"."0.1.5"."failure_derive"}" deps) + ]; + + # end # failure_derive-0.1.3 @@ -743,6 +1373,55 @@ rec { ]; +# end +# failure_derive-0.1.5 + + crates.failure_derive."0.1.5" = deps: { features?(features_.failure_derive."0.1.5" deps {}) }: buildRustCrate { + crateName = "failure_derive"; + version = "0.1.5"; + description = "derives for the failure crate"; + authors = [ "Without Boats " ]; + sha256 = "1wzk484b87r4qszcvdl2bkniv5ls4r2f2dshz7hmgiv6z4ln12g0"; + procMacro = true; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."proc_macro2"."${deps."failure_derive"."0.1.5"."proc_macro2"}" deps) + (crates."quote"."${deps."failure_derive"."0.1.5"."quote"}" deps) + (crates."syn"."${deps."failure_derive"."0.1.5"."syn"}" deps) + (crates."synstructure"."${deps."failure_derive"."0.1.5"."synstructure"}" deps) + ]); + features = mkFeatures (features."failure_derive"."0.1.5" or {}); + }; + features_.failure_derive."0.1.5" = deps: f: updateFeatures f (rec { + failure_derive."0.1.5".default = (f.failure_derive."0.1.5".default or true); + proc_macro2."${deps.failure_derive."0.1.5".proc_macro2}".default = true; + quote."${deps.failure_derive."0.1.5".quote}".default = true; + syn."${deps.failure_derive."0.1.5".syn}".default = true; + synstructure."${deps.failure_derive."0.1.5".synstructure}".default = true; + }) [ + (features_.proc_macro2."${deps."failure_derive"."0.1.5"."proc_macro2"}" deps) + (features_.quote."${deps."failure_derive"."0.1.5"."quote"}" deps) + (features_.syn."${deps."failure_derive"."0.1.5"."syn"}" deps) + (features_.synstructure."${deps."failure_derive"."0.1.5"."synstructure"}" deps) + ]; + + +# end +# fuchsia-cprng-0.1.1 + + crates.fuchsia_cprng."0.1.1" = deps: { features?(features_.fuchsia_cprng."0.1.1" deps {}) }: buildRustCrate { + crateName = "fuchsia-cprng"; + version = "0.1.1"; + description = "Rust crate for the Fuchsia cryptographically secure pseudorandom number generator"; + authors = [ "Erick Tryzelaar " ]; + edition = "2018"; + sha256 = "07apwv9dj716yjlcj29p94vkqn5zmfh7hlrqvrjx3wzshphc95h9"; + }; + features_.fuchsia_cprng."0.1.1" = deps: f: updateFeatures f (rec { + fuchsia_cprng."0.1.1".default = (f.fuchsia_cprng."0.1.1".default or true); + }) []; + + # end # fuchsia-zircon-0.3.3 @@ -801,6 +1480,54 @@ rec { ]; +# end +# humantime-1.2.0 + + crates.humantime."1.2.0" = deps: { features?(features_.humantime."1.2.0" deps {}) }: buildRustCrate { + crateName = "humantime"; + version = "1.2.0"; + description = " A parser and formatter for std::time::{Duration, SystemTime}\n"; + authors = [ "Paul Colomiets " ]; + sha256 = "0wlcxzz2mhq0brkfbjb12hc6jm17bgm8m6pdgblw4qjwmf26aw28"; + libPath = "src/lib.rs"; + dependencies = mapFeatures features ([ + (crates."quick_error"."${deps."humantime"."1.2.0"."quick_error"}" deps) + ]); + }; + features_.humantime."1.2.0" = deps: f: updateFeatures f (rec { + humantime."1.2.0".default = (f.humantime."1.2.0".default or true); + quick_error."${deps.humantime."1.2.0".quick_error}".default = true; + }) [ + (features_.quick_error."${deps."humantime"."1.2.0"."quick_error"}" deps) + ]; + + +# end +# idna-0.1.5 + + crates.idna."0.1.5" = deps: { features?(features_.idna."0.1.5" deps {}) }: buildRustCrate { + crateName = "idna"; + version = "0.1.5"; + authors = [ "The rust-url developers" ]; + sha256 = "1gwgl19rz5vzi67rrhamczhxy050f5ynx4ybabfapyalv7z1qmjy"; + dependencies = mapFeatures features ([ + (crates."matches"."${deps."idna"."0.1.5"."matches"}" deps) + (crates."unicode_bidi"."${deps."idna"."0.1.5"."unicode_bidi"}" deps) + (crates."unicode_normalization"."${deps."idna"."0.1.5"."unicode_normalization"}" deps) + ]); + }; + features_.idna."0.1.5" = deps: f: updateFeatures f (rec { + idna."0.1.5".default = (f.idna."0.1.5".default or true); + matches."${deps.idna."0.1.5".matches}".default = true; + unicode_bidi."${deps.idna."0.1.5".unicode_bidi}".default = true; + unicode_normalization."${deps.idna."0.1.5".unicode_normalization}".default = true; + }) [ + (features_.matches."${deps."idna"."0.1.5"."matches"}" deps) + (features_.unicode_bidi."${deps."idna"."0.1.5"."unicode_bidi"}" deps) + (features_.unicode_normalization."${deps."idna"."0.1.5"."unicode_normalization"}" deps) + ]; + + # end # itertools-0.7.8 @@ -828,6 +1555,34 @@ rec { ]; +# end +# itertools-0.8.0 + + crates.itertools."0.8.0" = deps: { features?(features_.itertools."0.8.0" deps {}) }: buildRustCrate { + crateName = "itertools"; + version = "0.8.0"; + description = "Extra iterator adaptors, iterator methods, free functions, and macros."; + authors = [ "bluss" ]; + sha256 = "0xpz59yf03vyj540i7sqypn2aqfid08c4vzyg0l6rqm08da77n7n"; + dependencies = mapFeatures features ([ + (crates."either"."${deps."itertools"."0.8.0"."either"}" deps) + ]); + features = mkFeatures (features."itertools"."0.8.0" or {}); + }; + features_.itertools."0.8.0" = deps: f: updateFeatures f (rec { + either."${deps.itertools."0.8.0".either}".default = (f.either."${deps.itertools."0.8.0".either}".default or false); + itertools = fold recursiveUpdate {} [ + { "0.8.0"."use_std" = + (f.itertools."0.8.0"."use_std" or false) || + (f.itertools."0.8.0".default or false) || + (itertools."0.8.0"."default" or false); } + { "0.8.0".default = (f.itertools."0.8.0".default or true); } + ]; + }) [ + (features_.either."${deps."itertools"."0.8.0"."either"}" deps) + ]; + + # end # itoa-0.4.3 @@ -884,6 +1639,30 @@ rec { ]; +# end +# lazy_static-1.3.0 + + crates.lazy_static."1.3.0" = deps: { features?(features_.lazy_static."1.3.0" deps {}) }: buildRustCrate { + crateName = "lazy_static"; + version = "1.3.0"; + description = "A macro for declaring lazily evaluated statics in Rust."; + authors = [ "Marvin Löbel " ]; + sha256 = "1vv47va18ydk7dx5paz88g3jy1d3lwbx6qpxkbj8gyfv770i4b1y"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."lazy_static"."1.3.0" or {}); + }; + features_.lazy_static."1.3.0" = deps: f: updateFeatures f (rec { + lazy_static = fold recursiveUpdate {} [ + { "1.3.0"."spin" = + (f.lazy_static."1.3.0"."spin" or false) || + (f.lazy_static."1.3.0".spin_no_std or false) || + (lazy_static."1.3.0"."spin_no_std" or false); } + { "1.3.0".default = (f.lazy_static."1.3.0".default or true); } + ]; + }) []; + + # end # libc-0.2.43 @@ -905,6 +1684,39 @@ rec { }) []; +# end +# libc-0.2.50 + + crates.libc."0.2.50" = deps: { features?(features_.libc."0.2.50" deps {}) }: buildRustCrate { + crateName = "libc"; + version = "0.2.50"; + description = "Raw FFI bindings to platform libraries like libc.\n"; + authors = [ "The Rust Project Developers" ]; + sha256 = "14y4zm0xp2xbj3l1kxqf2wpl58xb7hglxdbfx5dcxjlchbvk5dzs"; + build = "build.rs"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."libc"."0.2.50" or {}); + }; + features_.libc."0.2.50" = deps: f: updateFeatures f (rec { + libc = fold recursiveUpdate {} [ + { "0.2.50"."align" = + (f.libc."0.2.50"."align" or false) || + (f.libc."0.2.50".rustc-dep-of-std or false) || + (libc."0.2.50"."rustc-dep-of-std" or false); } + { "0.2.50"."rustc-std-workspace-core" = + (f.libc."0.2.50"."rustc-std-workspace-core" or false) || + (f.libc."0.2.50".rustc-dep-of-std or false) || + (libc."0.2.50"."rustc-dep-of-std" or false); } + { "0.2.50"."use_std" = + (f.libc."0.2.50"."use_std" or false) || + (f.libc."0.2.50".default or false) || + (libc."0.2.50"."default" or false); } + { "0.2.50".default = (f.libc."0.2.50".default or true); } + ]; + }) []; + + # end # log-0.4.5 @@ -926,6 +1738,43 @@ rec { ]; +# end +# log-0.4.6 + + crates.log."0.4.6" = deps: { features?(features_.log."0.4.6" deps {}) }: buildRustCrate { + crateName = "log"; + version = "0.4.6"; + description = "A lightweight logging facade for Rust\n"; + authors = [ "The Rust Project Developers" ]; + sha256 = "1nd8dl9mvc9vd6fks5d4gsxaz990xi6rzlb8ymllshmwi153vngr"; + dependencies = mapFeatures features ([ + (crates."cfg_if"."${deps."log"."0.4.6"."cfg_if"}" deps) + ]); + features = mkFeatures (features."log"."0.4.6" or {}); + }; + features_.log."0.4.6" = deps: f: updateFeatures f (rec { + cfg_if."${deps.log."0.4.6".cfg_if}".default = true; + log."0.4.6".default = (f.log."0.4.6".default or true); + }) [ + (features_.cfg_if."${deps."log"."0.4.6"."cfg_if"}" deps) + ]; + + +# end +# matches-0.1.8 + + crates.matches."0.1.8" = deps: { features?(features_.matches."0.1.8" deps {}) }: buildRustCrate { + crateName = "matches"; + version = "0.1.8"; + authors = [ "Simon Sapin " ]; + sha256 = "03hl636fg6xggy0a26200xs74amk3k9n0908rga2szn68agyz3cv"; + libPath = "lib.rs"; + }; + features_.matches."0.1.8" = deps: f: updateFeatures f (rec { + matches."0.1.8".default = (f.matches."0.1.8".default or true); + }) []; + + # end # memchr-1.0.2 @@ -1013,6 +1862,30 @@ rec { ]; +# end +# memchr-2.2.0 + + crates.memchr."2.2.0" = deps: { features?(features_.memchr."2.2.0" deps {}) }: buildRustCrate { + crateName = "memchr"; + version = "2.2.0"; + description = "Safe interface to memchr."; + authors = [ "Andrew Gallant " "bluss" ]; + sha256 = "11vwg8iig9jyjxq3n1cq15g29ikzw5l7ar87md54k1aisjs0997p"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."memchr"."2.2.0" or {}); + }; + features_.memchr."2.2.0" = deps: f: updateFeatures f (rec { + memchr = fold recursiveUpdate {} [ + { "2.2.0"."use_std" = + (f.memchr."2.2.0"."use_std" or false) || + (f.memchr."2.2.0".default or false) || + (memchr."2.2.0"."default" or false); } + { "2.2.0".default = (f.memchr."2.2.0".default or true); } + ]; + }) []; + + # end # nodrop-0.1.12 @@ -1040,6 +1913,34 @@ rec { }) []; +# end +# nodrop-0.1.13 + + crates.nodrop."0.1.13" = deps: { features?(features_.nodrop."0.1.13" deps {}) }: buildRustCrate { + crateName = "nodrop"; + version = "0.1.13"; + description = "A wrapper type to inhibit drop (destructor). Use std::mem::ManuallyDrop instead!"; + authors = [ "bluss" ]; + sha256 = "0gkfx6wihr9z0m8nbdhma5pyvbipznjpkzny2d4zkc05b0vnhinb"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."nodrop"."0.1.13" or {}); + }; + features_.nodrop."0.1.13" = deps: f: updateFeatures f (rec { + nodrop = fold recursiveUpdate {} [ + { "0.1.13"."nodrop-union" = + (f.nodrop."0.1.13"."nodrop-union" or false) || + (f.nodrop."0.1.13".use_union or false) || + (nodrop."0.1.13"."use_union" or false); } + { "0.1.13"."std" = + (f.nodrop."0.1.13"."std" or false) || + (f.nodrop."0.1.13".default or false) || + (nodrop."0.1.13"."default" or false); } + { "0.1.13".default = (f.nodrop."0.1.13".default or true); } + ]; + }) []; + + # end # nom-3.2.1 @@ -1093,6 +1994,21 @@ rec { ]; +# end +# percent-encoding-1.0.1 + + crates.percent_encoding."1.0.1" = deps: { features?(features_.percent_encoding."1.0.1" deps {}) }: buildRustCrate { + crateName = "percent-encoding"; + version = "1.0.1"; + authors = [ "The rust-url developers" ]; + sha256 = "04ahrp7aw4ip7fmadb0bknybmkfav0kk0gw4ps3ydq5w6hr0ib5i"; + libPath = "lib.rs"; + }; + features_.percent_encoding."1.0.1" = deps: f: updateFeatures f (rec { + percent_encoding."1.0.1".default = (f.percent_encoding."1.0.1".default or true); + }) []; + + # end # proc-macro2-0.4.20 @@ -1123,6 +2039,35 @@ rec { ]; +# end +# proc-macro2-0.4.27 + + crates.proc_macro2."0.4.27" = deps: { features?(features_.proc_macro2."0.4.27" deps {}) }: buildRustCrate { + crateName = "proc-macro2"; + version = "0.4.27"; + description = "A stable implementation of the upcoming new `proc_macro` API. Comes with an\noption, off by default, to also reimplement itself in terms of the upstream\nunstable API.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "1cp4c40p3hwn2sz72ssqa62gp5n8w4gbamdqvvadzp5l7gxnq95i"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."unicode_xid"."${deps."proc_macro2"."0.4.27"."unicode_xid"}" deps) + ]); + features = mkFeatures (features."proc_macro2"."0.4.27" or {}); + }; + features_.proc_macro2."0.4.27" = deps: f: updateFeatures f (rec { + proc_macro2 = fold recursiveUpdate {} [ + { "0.4.27"."proc-macro" = + (f.proc_macro2."0.4.27"."proc-macro" or false) || + (f.proc_macro2."0.4.27".default or false) || + (proc_macro2."0.4.27"."default" or false); } + { "0.4.27".default = (f.proc_macro2."0.4.27".default or true); } + ]; + unicode_xid."${deps.proc_macro2."0.4.27".unicode_xid}".default = true; + }) [ + (features_.unicode_xid."${deps."proc_macro2"."0.4.27"."unicode_xid"}" deps) + ]; + + # end # quick-error-1.2.2 @@ -1137,6 +2082,40 @@ rec { }) []; +# end +# quote-0.6.11 + + crates.quote."0.6.11" = deps: { features?(features_.quote."0.6.11" deps {}) }: buildRustCrate { + crateName = "quote"; + version = "0.6.11"; + description = "Quasi-quoting macro quote!(...)"; + authors = [ "David Tolnay " ]; + sha256 = "0agska77z58cypcq4knayzwx7r7n6m756z1cz9cp2z4sv0b846ga"; + dependencies = mapFeatures features ([ + (crates."proc_macro2"."${deps."quote"."0.6.11"."proc_macro2"}" deps) + ]); + features = mkFeatures (features."quote"."0.6.11" or {}); + }; + features_.quote."0.6.11" = deps: f: updateFeatures f (rec { + proc_macro2 = fold recursiveUpdate {} [ + { "${deps.quote."0.6.11".proc_macro2}"."proc-macro" = + (f.proc_macro2."${deps.quote."0.6.11".proc_macro2}"."proc-macro" or false) || + (quote."0.6.11"."proc-macro" or false) || + (f."quote"."0.6.11"."proc-macro" or false); } + { "${deps.quote."0.6.11".proc_macro2}".default = (f.proc_macro2."${deps.quote."0.6.11".proc_macro2}".default or false); } + ]; + quote = fold recursiveUpdate {} [ + { "0.6.11"."proc-macro" = + (f.quote."0.6.11"."proc-macro" or false) || + (f.quote."0.6.11".default or false) || + (quote."0.6.11"."default" or false); } + { "0.6.11".default = (f.quote."0.6.11".default or true); } + ]; + }) [ + (features_.proc_macro2."${deps."quote"."0.6.11"."proc_macro2"}" deps) + ]; + + # end # quote-0.6.8 @@ -1221,6 +2200,222 @@ rec { ]; +# end +# rand-0.4.6 + + crates.rand."0.4.6" = deps: { features?(features_.rand."0.4.6" deps {}) }: buildRustCrate { + crateName = "rand"; + version = "0.4.6"; + description = "Random number generators and other randomness functionality.\n"; + authors = [ "The Rust Project Developers" ]; + sha256 = "0c3rmg5q7d6qdi7cbmg5py9alm70wd3xsg0mmcawrnl35qv37zfs"; + dependencies = (if abi == "sgx" then mapFeatures features ([ + (crates."rand_core"."${deps."rand"."0.4.6"."rand_core"}" deps) + (crates."rdrand"."${deps."rand"."0.4.6"."rdrand"}" deps) + ]) else []) + ++ (if kernel == "fuchsia" then mapFeatures features ([ + (crates."fuchsia_cprng"."${deps."rand"."0.4.6"."fuchsia_cprng"}" deps) + ]) else []) + ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ + ] + ++ (if features.rand."0.4.6".libc or false then [ (crates.libc."${deps."rand"."0.4.6".libc}" deps) ] else [])) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."rand"."0.4.6"."winapi"}" deps) + ]) else []); + features = mkFeatures (features."rand"."0.4.6" or {}); + }; + features_.rand."0.4.6" = deps: f: updateFeatures f (rec { + fuchsia_cprng."${deps.rand."0.4.6".fuchsia_cprng}".default = true; + libc."${deps.rand."0.4.6".libc}".default = true; + rand = fold recursiveUpdate {} [ + { "0.4.6"."i128_support" = + (f.rand."0.4.6"."i128_support" or false) || + (f.rand."0.4.6".nightly or false) || + (rand."0.4.6"."nightly" or false); } + { "0.4.6"."libc" = + (f.rand."0.4.6"."libc" or false) || + (f.rand."0.4.6".std or false) || + (rand."0.4.6"."std" or false); } + { "0.4.6"."std" = + (f.rand."0.4.6"."std" or false) || + (f.rand."0.4.6".default or false) || + (rand."0.4.6"."default" or false); } + { "0.4.6".default = (f.rand."0.4.6".default or true); } + ]; + rand_core."${deps.rand."0.4.6".rand_core}".default = (f.rand_core."${deps.rand."0.4.6".rand_core}".default or false); + rdrand."${deps.rand."0.4.6".rdrand}".default = true; + winapi = fold recursiveUpdate {} [ + { "${deps.rand."0.4.6".winapi}"."minwindef" = true; } + { "${deps.rand."0.4.6".winapi}"."ntsecapi" = true; } + { "${deps.rand."0.4.6".winapi}"."profileapi" = true; } + { "${deps.rand."0.4.6".winapi}"."winnt" = true; } + { "${deps.rand."0.4.6".winapi}".default = true; } + ]; + }) [ + (features_.rand_core."${deps."rand"."0.4.6"."rand_core"}" deps) + (features_.rdrand."${deps."rand"."0.4.6"."rdrand"}" deps) + (features_.fuchsia_cprng."${deps."rand"."0.4.6"."fuchsia_cprng"}" deps) + (features_.libc."${deps."rand"."0.4.6"."libc"}" deps) + (features_.winapi."${deps."rand"."0.4.6"."winapi"}" deps) + ]; + + +# end +# rand_core-0.3.1 + + crates.rand_core."0.3.1" = deps: { features?(features_.rand_core."0.3.1" deps {}) }: buildRustCrate { + crateName = "rand_core"; + version = "0.3.1"; + description = "Core random number generator traits and tools for implementation.\n"; + authors = [ "The Rand Project Developers" "The Rust Project Developers" ]; + sha256 = "0q0ssgpj9x5a6fda83nhmfydy7a6c0wvxm0jhncsmjx8qp8gw91m"; + dependencies = mapFeatures features ([ + (crates."rand_core"."${deps."rand_core"."0.3.1"."rand_core"}" deps) + ]); + features = mkFeatures (features."rand_core"."0.3.1" or {}); + }; + features_.rand_core."0.3.1" = deps: f: updateFeatures f (rec { + rand_core = fold recursiveUpdate {} [ + { "${deps.rand_core."0.3.1".rand_core}"."alloc" = + (f.rand_core."${deps.rand_core."0.3.1".rand_core}"."alloc" or false) || + (rand_core."0.3.1"."alloc" or false) || + (f."rand_core"."0.3.1"."alloc" or false); } + { "${deps.rand_core."0.3.1".rand_core}"."serde1" = + (f.rand_core."${deps.rand_core."0.3.1".rand_core}"."serde1" or false) || + (rand_core."0.3.1"."serde1" or false) || + (f."rand_core"."0.3.1"."serde1" or false); } + { "${deps.rand_core."0.3.1".rand_core}"."std" = + (f.rand_core."${deps.rand_core."0.3.1".rand_core}"."std" or false) || + (rand_core."0.3.1"."std" or false) || + (f."rand_core"."0.3.1"."std" or false); } + { "${deps.rand_core."0.3.1".rand_core}".default = true; } + { "0.3.1"."std" = + (f.rand_core."0.3.1"."std" or false) || + (f.rand_core."0.3.1".default or false) || + (rand_core."0.3.1"."default" or false); } + { "0.3.1".default = (f.rand_core."0.3.1".default or true); } + ]; + }) [ + (features_.rand_core."${deps."rand_core"."0.3.1"."rand_core"}" deps) + ]; + + +# end +# rand_core-0.4.0 + + crates.rand_core."0.4.0" = deps: { features?(features_.rand_core."0.4.0" deps {}) }: buildRustCrate { + crateName = "rand_core"; + version = "0.4.0"; + description = "Core random number generator traits and tools for implementation.\n"; + authors = [ "The Rand Project Developers" "The Rust Project Developers" ]; + sha256 = "0wb5iwhffibj0pnpznhv1g3i7h1fnhz64s3nz74fz6vsm3q6q3br"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."rand_core"."0.4.0" or {}); + }; + features_.rand_core."0.4.0" = deps: f: updateFeatures f (rec { + rand_core = fold recursiveUpdate {} [ + { "0.4.0"."alloc" = + (f.rand_core."0.4.0"."alloc" or false) || + (f.rand_core."0.4.0".std or false) || + (rand_core."0.4.0"."std" or false); } + { "0.4.0"."serde" = + (f.rand_core."0.4.0"."serde" or false) || + (f.rand_core."0.4.0".serde1 or false) || + (rand_core."0.4.0"."serde1" or false); } + { "0.4.0"."serde_derive" = + (f.rand_core."0.4.0"."serde_derive" or false) || + (f.rand_core."0.4.0".serde1 or false) || + (rand_core."0.4.0"."serde1" or false); } + { "0.4.0".default = (f.rand_core."0.4.0".default or true); } + ]; + }) []; + + +# end +# rand_os-0.1.3 + + crates.rand_os."0.1.3" = deps: { features?(features_.rand_os."0.1.3" deps {}) }: buildRustCrate { + crateName = "rand_os"; + version = "0.1.3"; + description = "OS backed Random Number Generator"; + authors = [ "The Rand Project Developers" ]; + sha256 = "0ywwspizgs9g8vzn6m5ix9yg36n15119d6n792h7mk4r5vs0ww4j"; + dependencies = mapFeatures features ([ + (crates."rand_core"."${deps."rand_os"."0.1.3"."rand_core"}" deps) + ]) + ++ (if abi == "sgx" then mapFeatures features ([ + (crates."rdrand"."${deps."rand_os"."0.1.3"."rdrand"}" deps) + ]) else []) + ++ (if kernel == "cloudabi" then mapFeatures features ([ + (crates."cloudabi"."${deps."rand_os"."0.1.3"."cloudabi"}" deps) + ]) else []) + ++ (if kernel == "fuchsia" then mapFeatures features ([ + (crates."fuchsia_cprng"."${deps."rand_os"."0.1.3"."fuchsia_cprng"}" deps) + ]) else []) + ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ + (crates."libc"."${deps."rand_os"."0.1.3"."libc"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."rand_os"."0.1.3"."winapi"}" deps) + ]) else []) + ++ (if kernel == "wasm32-unknown-unknown" then mapFeatures features ([ +]) else []); + }; + features_.rand_os."0.1.3" = deps: f: updateFeatures f (rec { + cloudabi."${deps.rand_os."0.1.3".cloudabi}".default = true; + fuchsia_cprng."${deps.rand_os."0.1.3".fuchsia_cprng}".default = true; + libc."${deps.rand_os."0.1.3".libc}".default = true; + rand_core = fold recursiveUpdate {} [ + { "${deps.rand_os."0.1.3".rand_core}"."std" = true; } + { "${deps.rand_os."0.1.3".rand_core}".default = true; } + ]; + rand_os."0.1.3".default = (f.rand_os."0.1.3".default or true); + rdrand."${deps.rand_os."0.1.3".rdrand}".default = true; + winapi = fold recursiveUpdate {} [ + { "${deps.rand_os."0.1.3".winapi}"."minwindef" = true; } + { "${deps.rand_os."0.1.3".winapi}"."ntsecapi" = true; } + { "${deps.rand_os."0.1.3".winapi}"."winnt" = true; } + { "${deps.rand_os."0.1.3".winapi}".default = true; } + ]; + }) [ + (features_.rand_core."${deps."rand_os"."0.1.3"."rand_core"}" deps) + (features_.rdrand."${deps."rand_os"."0.1.3"."rdrand"}" deps) + (features_.cloudabi."${deps."rand_os"."0.1.3"."cloudabi"}" deps) + (features_.fuchsia_cprng."${deps."rand_os"."0.1.3"."fuchsia_cprng"}" deps) + (features_.libc."${deps."rand_os"."0.1.3"."libc"}" deps) + (features_.winapi."${deps."rand_os"."0.1.3"."winapi"}" deps) + ]; + + +# end +# rdrand-0.4.0 + + crates.rdrand."0.4.0" = deps: { features?(features_.rdrand."0.4.0" deps {}) }: buildRustCrate { + crateName = "rdrand"; + version = "0.4.0"; + description = "An implementation of random number generator based on rdrand and rdseed instructions"; + authors = [ "Simonas Kazlauskas " ]; + sha256 = "15hrcasn0v876wpkwab1dwbk9kvqwrb3iv4y4dibb6yxnfvzwajk"; + dependencies = mapFeatures features ([ + (crates."rand_core"."${deps."rdrand"."0.4.0"."rand_core"}" deps) + ]); + features = mkFeatures (features."rdrand"."0.4.0" or {}); + }; + features_.rdrand."0.4.0" = deps: f: updateFeatures f (rec { + rand_core."${deps.rdrand."0.4.0".rand_core}".default = (f.rand_core."${deps.rdrand."0.4.0".rand_core}".default or false); + rdrand = fold recursiveUpdate {} [ + { "0.4.0"."std" = + (f.rdrand."0.4.0"."std" or false) || + (f.rdrand."0.4.0".default or false) || + (rdrand."0.4.0"."default" or false); } + { "0.4.0".default = (f.rdrand."0.4.0".default or true); } + ]; + }) [ + (features_.rand_core."${deps."rdrand"."0.4.0"."rand_core"}" deps) + ]; + + # end # redox_syscall-0.1.40 @@ -1236,6 +2431,22 @@ rec { }) []; +# end +# redox_syscall-0.1.51 + + crates.redox_syscall."0.1.51" = deps: { features?(features_.redox_syscall."0.1.51" deps {}) }: buildRustCrate { + crateName = "redox_syscall"; + version = "0.1.51"; + description = "A Rust library to access raw Redox system calls"; + authors = [ "Jeremy Soller " ]; + sha256 = "1a61cv7yydx64vpyvzr0z0hwzdvy4gcvcnfc6k70zpkngj5sz3ip"; + libName = "syscall"; + }; + features_.redox_syscall."0.1.51" = deps: f: updateFeatures f (rec { + redox_syscall."0.1.51".default = (f.redox_syscall."0.1.51".default or true); + }) []; + + # end # redox_termios-0.1.1 @@ -1286,6 +2497,36 @@ rec { ]; +# end +# redox_users-0.3.0 + + crates.redox_users."0.3.0" = deps: { features?(features_.redox_users."0.3.0" deps {}) }: buildRustCrate { + crateName = "redox_users"; + version = "0.3.0"; + description = "A Rust library to access Redox users and groups functionality"; + authors = [ "Jose Narvaez " "Wesley Hershberger " ]; + sha256 = "051rzqgk5hn7rf24nwgbb32zfdn8qp2kwqvdp0772ia85p737p4j"; + dependencies = mapFeatures features ([ + (crates."argon2rs"."${deps."redox_users"."0.3.0"."argon2rs"}" deps) + (crates."failure"."${deps."redox_users"."0.3.0"."failure"}" deps) + (crates."rand_os"."${deps."redox_users"."0.3.0"."rand_os"}" deps) + (crates."redox_syscall"."${deps."redox_users"."0.3.0"."redox_syscall"}" deps) + ]); + }; + features_.redox_users."0.3.0" = deps: f: updateFeatures f (rec { + argon2rs."${deps.redox_users."0.3.0".argon2rs}".default = (f.argon2rs."${deps.redox_users."0.3.0".argon2rs}".default or false); + failure."${deps.redox_users."0.3.0".failure}".default = true; + rand_os."${deps.redox_users."0.3.0".rand_os}".default = true; + redox_syscall."${deps.redox_users."0.3.0".redox_syscall}".default = true; + redox_users."0.3.0".default = (f.redox_users."0.3.0".default or true); + }) [ + (features_.argon2rs."${deps."redox_users"."0.3.0"."argon2rs"}" deps) + (features_.failure."${deps."redox_users"."0.3.0"."failure"}" deps) + (features_.rand_os."${deps."redox_users"."0.3.0"."rand_os"}" deps) + (features_.redox_syscall."${deps."redox_users"."0.3.0"."redox_syscall"}" deps) + ]; + + # end # regex-1.0.5 @@ -1329,6 +2570,50 @@ rec { ]; +# end +# regex-1.1.2 + + crates.regex."1.1.2" = deps: { features?(features_.regex."1.1.2" deps {}) }: buildRustCrate { + crateName = "regex"; + version = "1.1.2"; + description = "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n"; + authors = [ "The Rust Project Developers" ]; + sha256 = "1c9nb031z1vw5l6lzfkfra2mah9hb2s1wgq9f1lmgcbkiiprj9xd"; + dependencies = mapFeatures features ([ + (crates."aho_corasick"."${deps."regex"."1.1.2"."aho_corasick"}" deps) + (crates."memchr"."${deps."regex"."1.1.2"."memchr"}" deps) + (crates."regex_syntax"."${deps."regex"."1.1.2"."regex_syntax"}" deps) + (crates."thread_local"."${deps."regex"."1.1.2"."thread_local"}" deps) + (crates."utf8_ranges"."${deps."regex"."1.1.2"."utf8_ranges"}" deps) + ]); + features = mkFeatures (features."regex"."1.1.2" or {}); + }; + features_.regex."1.1.2" = deps: f: updateFeatures f (rec { + aho_corasick."${deps.regex."1.1.2".aho_corasick}".default = true; + memchr."${deps.regex."1.1.2".memchr}".default = true; + regex = fold recursiveUpdate {} [ + { "1.1.2"."pattern" = + (f.regex."1.1.2"."pattern" or false) || + (f.regex."1.1.2".unstable or false) || + (regex."1.1.2"."unstable" or false); } + { "1.1.2"."use_std" = + (f.regex."1.1.2"."use_std" or false) || + (f.regex."1.1.2".default or false) || + (regex."1.1.2"."default" or false); } + { "1.1.2".default = (f.regex."1.1.2".default or true); } + ]; + regex_syntax."${deps.regex."1.1.2".regex_syntax}".default = true; + thread_local."${deps.regex."1.1.2".thread_local}".default = true; + utf8_ranges."${deps.regex."1.1.2".utf8_ranges}".default = true; + }) [ + (features_.aho_corasick."${deps."regex"."1.1.2"."aho_corasick"}" deps) + (features_.memchr."${deps."regex"."1.1.2"."memchr"}" deps) + (features_.regex_syntax."${deps."regex"."1.1.2"."regex_syntax"}" deps) + (features_.thread_local."${deps."regex"."1.1.2"."thread_local"}" deps) + (features_.utf8_ranges."${deps."regex"."1.1.2"."utf8_ranges"}" deps) + ]; + + # end # regex-syntax-0.6.2 @@ -1349,6 +2634,27 @@ rec { ]; +# end +# regex-syntax-0.6.5 + + crates.regex_syntax."0.6.5" = deps: { features?(features_.regex_syntax."0.6.5" deps {}) }: buildRustCrate { + crateName = "regex-syntax"; + version = "0.6.5"; + description = "A regular expression parser."; + authors = [ "The Rust Project Developers" ]; + sha256 = "0aaaba1fan2qfyc31wzdmgmbmyirc27zgcbz41ba5wm1lb2d8kli"; + dependencies = mapFeatures features ([ + (crates."ucd_util"."${deps."regex_syntax"."0.6.5"."ucd_util"}" deps) + ]); + }; + features_.regex_syntax."0.6.5" = deps: f: updateFeatures f (rec { + regex_syntax."0.6.5".default = (f.regex_syntax."0.6.5".default or true); + ucd_util."${deps.regex_syntax."0.6.5".ucd_util}".default = true; + }) [ + (features_.ucd_util."${deps."regex_syntax"."0.6.5"."ucd_util"}" deps) + ]; + + # end # remove_dir_all-0.5.1 @@ -1376,6 +2682,21 @@ rec { ]; +# end +# rustc-demangle-0.1.13 + + crates.rustc_demangle."0.1.13" = deps: { features?(features_.rustc_demangle."0.1.13" deps {}) }: buildRustCrate { + crateName = "rustc-demangle"; + version = "0.1.13"; + description = "Rust compiler symbol demangling.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "0sr6cr02araqnlqwc5ghvnafjmkw11vzjswqaz757lvyrcl8xcy6"; + }; + features_.rustc_demangle."0.1.13" = deps: f: updateFeatures f (rec { + rustc_demangle."0.1.13".default = (f.rustc_demangle."0.1.13".default or true); + }) []; + + # end # rustc-demangle-0.1.9 @@ -1408,6 +2729,25 @@ rec { }) []; +# end +# ryu-0.2.7 + + crates.ryu."0.2.7" = deps: { features?(features_.ryu."0.2.7" deps {}) }: buildRustCrate { + crateName = "ryu"; + version = "0.2.7"; + description = "Fast floating point to string conversion"; + authors = [ "David Tolnay " ]; + sha256 = "0m8szf1m87wfqkwh1f9zp9bn2mb0m9nav028xxnd0hlig90b44bd"; + build = "build.rs"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."ryu"."0.2.7" or {}); + }; + features_.ryu."0.2.7" = deps: f: updateFeatures f (rec { + ryu."0.2.7".default = (f.ryu."0.2.7".default or true); + }) []; + + # end # scoped_threadpool-0.1.9 @@ -1487,6 +2827,39 @@ rec { }) []; +# end +# serde-1.0.89 + + crates.serde."1.0.89" = deps: { features?(features_.serde."1.0.89" deps {}) }: buildRustCrate { + crateName = "serde"; + version = "1.0.89"; + description = "A generic serialization/deserialization framework"; + authors = [ "Erick Tryzelaar " "David Tolnay " ]; + sha256 = "14pidc6skkm92vhp431wi1aam5vv5g6rmsimik38wzb0qy72c71g"; + build = "build.rs"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."serde"."1.0.89" or {}); + }; + features_.serde."1.0.89" = deps: f: updateFeatures f (rec { + serde = fold recursiveUpdate {} [ + { "1.0.89"."serde_derive" = + (f.serde."1.0.89"."serde_derive" or false) || + (f.serde."1.0.89".derive or false) || + (serde."1.0.89"."derive" or false); } + { "1.0.89"."std" = + (f.serde."1.0.89"."std" or false) || + (f.serde."1.0.89".default or false) || + (serde."1.0.89"."default" or false); } + { "1.0.89"."unstable" = + (f.serde."1.0.89"."unstable" or false) || + (f.serde."1.0.89".alloc or false) || + (serde."1.0.89"."alloc" or false); } + { "1.0.89".default = (f.serde."1.0.89".default or true); } + ]; + }) []; + + # end # serde_derive-1.0.80 @@ -1518,6 +2891,38 @@ rec { ]; +# end +# serde_derive-1.0.89 + + crates.serde_derive."1.0.89" = deps: { features?(features_.serde_derive."1.0.89" deps {}) }: buildRustCrate { + crateName = "serde_derive"; + version = "1.0.89"; + description = "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]"; + authors = [ "Erick Tryzelaar " "David Tolnay " ]; + sha256 = "0wxbxq9sccrd939pfnrgfzykkwl9gag2yf7vxhg2c2p9kx36d3wm"; + procMacro = true; + dependencies = mapFeatures features ([ + (crates."proc_macro2"."${deps."serde_derive"."1.0.89"."proc_macro2"}" deps) + (crates."quote"."${deps."serde_derive"."1.0.89"."quote"}" deps) + (crates."syn"."${deps."serde_derive"."1.0.89"."syn"}" deps) + ]); + features = mkFeatures (features."serde_derive"."1.0.89" or {}); + }; + features_.serde_derive."1.0.89" = deps: f: updateFeatures f (rec { + proc_macro2."${deps.serde_derive."1.0.89".proc_macro2}".default = true; + quote."${deps.serde_derive."1.0.89".quote}".default = true; + serde_derive."1.0.89".default = (f.serde_derive."1.0.89".default or true); + syn = fold recursiveUpdate {} [ + { "${deps.serde_derive."1.0.89".syn}"."visit" = true; } + { "${deps.serde_derive."1.0.89".syn}".default = true; } + ]; + }) [ + (features_.proc_macro2."${deps."serde_derive"."1.0.89"."proc_macro2"}" deps) + (features_.quote."${deps."serde_derive"."1.0.89"."quote"}" deps) + (features_.syn."${deps."serde_derive"."1.0.89"."syn"}" deps) + ]; + + # end # serde_json-1.0.32 @@ -1551,6 +2956,65 @@ rec { ]; +# end +# serde_json-1.0.39 + + crates.serde_json."1.0.39" = deps: { features?(features_.serde_json."1.0.39" deps {}) }: buildRustCrate { + crateName = "serde_json"; + version = "1.0.39"; + description = "A JSON serialization file format"; + authors = [ "Erick Tryzelaar " "David Tolnay " ]; + sha256 = "07ydv06hn8x0yl0rc94l2wl9r2xz1fqd97n1s6j3bgdc6gw406a8"; + dependencies = mapFeatures features ([ + (crates."itoa"."${deps."serde_json"."1.0.39"."itoa"}" deps) + (crates."ryu"."${deps."serde_json"."1.0.39"."ryu"}" deps) + (crates."serde"."${deps."serde_json"."1.0.39"."serde"}" deps) + ]); + features = mkFeatures (features."serde_json"."1.0.39" or {}); + }; + features_.serde_json."1.0.39" = deps: f: updateFeatures f (rec { + itoa."${deps.serde_json."1.0.39".itoa}".default = true; + ryu."${deps.serde_json."1.0.39".ryu}".default = true; + serde."${deps.serde_json."1.0.39".serde}".default = true; + serde_json = fold recursiveUpdate {} [ + { "1.0.39"."indexmap" = + (f.serde_json."1.0.39"."indexmap" or false) || + (f.serde_json."1.0.39".preserve_order or false) || + (serde_json."1.0.39"."preserve_order" or false); } + { "1.0.39".default = (f.serde_json."1.0.39".default or true); } + ]; + }) [ + (features_.itoa."${deps."serde_json"."1.0.39"."itoa"}" deps) + (features_.ryu."${deps."serde_json"."1.0.39"."ryu"}" deps) + (features_.serde."${deps."serde_json"."1.0.39"."serde"}" deps) + ]; + + +# end +# smallvec-0.6.9 + + crates.smallvec."0.6.9" = deps: { features?(features_.smallvec."0.6.9" deps {}) }: buildRustCrate { + crateName = "smallvec"; + version = "0.6.9"; + description = "'Small vector' optimization: store up to a small number of items on the stack"; + authors = [ "Simon Sapin " ]; + sha256 = "0p96l51a2pq5y0vn48nhbm6qslbc6k8h28cxm0pmzkqmj7xynz6w"; + libPath = "lib.rs"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."smallvec"."0.6.9" or {}); + }; + features_.smallvec."0.6.9" = deps: f: updateFeatures f (rec { + smallvec = fold recursiveUpdate {} [ + { "0.6.9"."std" = + (f.smallvec."0.6.9"."std" or false) || + (f.smallvec."0.6.9".default or false) || + (smallvec."0.6.9"."default" or false); } + { "0.6.9".default = (f.smallvec."0.6.9".default or true); } + ]; + }) []; + + # end # strsim-0.7.0 @@ -1630,6 +3094,72 @@ rec { ]; +# end +# syn-0.15.29 + + crates.syn."0.15.29" = deps: { features?(features_.syn."0.15.29" deps {}) }: buildRustCrate { + crateName = "syn"; + version = "0.15.29"; + description = "Parser for Rust source code"; + authors = [ "David Tolnay " ]; + sha256 = "0wrd6awgc6f1iwfn2v9fvwyd2yddgxdjv9s106kvwg1ljbw3fajw"; + dependencies = mapFeatures features ([ + (crates."proc_macro2"."${deps."syn"."0.15.29"."proc_macro2"}" deps) + (crates."unicode_xid"."${deps."syn"."0.15.29"."unicode_xid"}" deps) + ] + ++ (if features.syn."0.15.29".quote or false then [ (crates.quote."${deps."syn"."0.15.29".quote}" deps) ] else [])); + features = mkFeatures (features."syn"."0.15.29" or {}); + }; + features_.syn."0.15.29" = deps: f: updateFeatures f (rec { + proc_macro2 = fold recursiveUpdate {} [ + { "${deps.syn."0.15.29".proc_macro2}"."proc-macro" = + (f.proc_macro2."${deps.syn."0.15.29".proc_macro2}"."proc-macro" or false) || + (syn."0.15.29"."proc-macro" or false) || + (f."syn"."0.15.29"."proc-macro" or false); } + { "${deps.syn."0.15.29".proc_macro2}".default = (f.proc_macro2."${deps.syn."0.15.29".proc_macro2}".default or false); } + ]; + quote = fold recursiveUpdate {} [ + { "${deps.syn."0.15.29".quote}"."proc-macro" = + (f.quote."${deps.syn."0.15.29".quote}"."proc-macro" or false) || + (syn."0.15.29"."proc-macro" or false) || + (f."syn"."0.15.29"."proc-macro" or false); } + { "${deps.syn."0.15.29".quote}".default = (f.quote."${deps.syn."0.15.29".quote}".default or false); } + ]; + syn = fold recursiveUpdate {} [ + { "0.15.29"."clone-impls" = + (f.syn."0.15.29"."clone-impls" or false) || + (f.syn."0.15.29".default or false) || + (syn."0.15.29"."default" or false); } + { "0.15.29"."derive" = + (f.syn."0.15.29"."derive" or false) || + (f.syn."0.15.29".default or false) || + (syn."0.15.29"."default" or false); } + { "0.15.29"."parsing" = + (f.syn."0.15.29"."parsing" or false) || + (f.syn."0.15.29".default or false) || + (syn."0.15.29"."default" or false); } + { "0.15.29"."printing" = + (f.syn."0.15.29"."printing" or false) || + (f.syn."0.15.29".default or false) || + (syn."0.15.29"."default" or false); } + { "0.15.29"."proc-macro" = + (f.syn."0.15.29"."proc-macro" or false) || + (f.syn."0.15.29".default or false) || + (syn."0.15.29"."default" or false); } + { "0.15.29"."quote" = + (f.syn."0.15.29"."quote" or false) || + (f.syn."0.15.29".printing or false) || + (syn."0.15.29"."printing" or false); } + { "0.15.29".default = (f.syn."0.15.29".default or true); } + ]; + unicode_xid."${deps.syn."0.15.29".unicode_xid}".default = true; + }) [ + (features_.proc_macro2."${deps."syn"."0.15.29"."proc_macro2"}" deps) + (features_.quote."${deps."syn"."0.15.29"."quote"}" deps) + (features_.unicode_xid."${deps."syn"."0.15.29"."unicode_xid"}" deps) + ]; + + # end # synstructure-0.10.0 @@ -1664,6 +3194,41 @@ rec { ]; +# end +# synstructure-0.10.1 + + crates.synstructure."0.10.1" = deps: { features?(features_.synstructure."0.10.1" deps {}) }: buildRustCrate { + crateName = "synstructure"; + version = "0.10.1"; + description = "Helper methods and macros for custom derives"; + authors = [ "Nika Layzell " ]; + sha256 = "0mx2vwd0d0f7hanz15nkp0ikkfjsx9rfkph7pynxyfbj45ank4g3"; + dependencies = mapFeatures features ([ + (crates."proc_macro2"."${deps."synstructure"."0.10.1"."proc_macro2"}" deps) + (crates."quote"."${deps."synstructure"."0.10.1"."quote"}" deps) + (crates."syn"."${deps."synstructure"."0.10.1"."syn"}" deps) + (crates."unicode_xid"."${deps."synstructure"."0.10.1"."unicode_xid"}" deps) + ]); + features = mkFeatures (features."synstructure"."0.10.1" or {}); + }; + features_.synstructure."0.10.1" = deps: f: updateFeatures f (rec { + proc_macro2."${deps.synstructure."0.10.1".proc_macro2}".default = true; + quote."${deps.synstructure."0.10.1".quote}".default = true; + syn = fold recursiveUpdate {} [ + { "${deps.synstructure."0.10.1".syn}"."extra-traits" = true; } + { "${deps.synstructure."0.10.1".syn}"."visit" = true; } + { "${deps.synstructure."0.10.1".syn}".default = true; } + ]; + synstructure."0.10.1".default = (f.synstructure."0.10.1".default or true); + unicode_xid."${deps.synstructure."0.10.1".unicode_xid}".default = true; + }) [ + (features_.proc_macro2."${deps."synstructure"."0.10.1"."proc_macro2"}" deps) + (features_.quote."${deps."synstructure"."0.10.1"."quote"}" deps) + (features_.syn."${deps."synstructure"."0.10.1"."syn"}" deps) + (features_.unicode_xid."${deps."synstructure"."0.10.1"."unicode_xid"}" deps) + ]; + + # end # tempdir-0.3.7 @@ -1815,6 +3380,34 @@ rec { ]; +# end +# toml-0.5.0 + + crates.toml."0.5.0" = deps: { features?(features_.toml."0.5.0" deps {}) }: buildRustCrate { + crateName = "toml"; + version = "0.5.0"; + description = "A native Rust encoder and decoder of TOML-formatted files and streams. Provides\nimplementations of the standard Serialize/Deserialize traits for TOML data to\nfacilitate deserializing and serializing Rust structures.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "0l2lqzbn5g9l376k01isq1nhb14inkr4c50qbjbdzh5qysz7dyk5"; + dependencies = mapFeatures features ([ + (crates."serde"."${deps."toml"."0.5.0"."serde"}" deps) + ]); + features = mkFeatures (features."toml"."0.5.0" or {}); + }; + features_.toml."0.5.0" = deps: f: updateFeatures f (rec { + serde."${deps.toml."0.5.0".serde}".default = true; + toml = fold recursiveUpdate {} [ + { "0.5.0"."linked-hash-map" = + (f.toml."0.5.0"."linked-hash-map" or false) || + (f.toml."0.5.0".preserve_order or false) || + (toml."0.5.0"."preserve_order" or false); } + { "0.5.0".default = (f.toml."0.5.0".default or true); } + ]; + }) [ + (features_.serde."${deps."toml"."0.5.0"."serde"}" deps) + ]; + + # end # toml2nix-0.1.1 @@ -1849,6 +3442,92 @@ rec { }) []; +# end +# ucd-util-0.1.3 + + crates.ucd_util."0.1.3" = deps: { features?(features_.ucd_util."0.1.3" deps {}) }: buildRustCrate { + crateName = "ucd-util"; + version = "0.1.3"; + description = "A small utility library for working with the Unicode character database.\n"; + authors = [ "Andrew Gallant " ]; + sha256 = "1n1qi3jywq5syq90z9qd8qzbn58pcjgv1sx4sdmipm4jf9zanz15"; + }; + features_.ucd_util."0.1.3" = deps: f: updateFeatures f (rec { + ucd_util."0.1.3".default = (f.ucd_util."0.1.3".default or true); + }) []; + + +# end +# unicode-bidi-0.3.4 + + crates.unicode_bidi."0.3.4" = deps: { features?(features_.unicode_bidi."0.3.4" deps {}) }: buildRustCrate { + crateName = "unicode-bidi"; + version = "0.3.4"; + authors = [ "The Servo Project Developers" ]; + sha256 = "0lcd6jasrf8p9p0q20qyf10c6xhvw40m2c4rr105hbk6zy26nj1q"; + libName = "unicode_bidi"; + dependencies = mapFeatures features ([ + (crates."matches"."${deps."unicode_bidi"."0.3.4"."matches"}" deps) + ]); + features = mkFeatures (features."unicode_bidi"."0.3.4" or {}); + }; + features_.unicode_bidi."0.3.4" = deps: f: updateFeatures f (rec { + matches."${deps.unicode_bidi."0.3.4".matches}".default = true; + unicode_bidi = fold recursiveUpdate {} [ + { "0.3.4".default = (f.unicode_bidi."0.3.4".default or true); } + { "0.3.4".flame = + (f.unicode_bidi."0.3.4".flame or false) || + (f.unicode_bidi."0.3.4".flame_it or false) || + (unicode_bidi."0.3.4"."flame_it" or false); } + { "0.3.4".flamer = + (f.unicode_bidi."0.3.4".flamer or false) || + (f.unicode_bidi."0.3.4".flame_it or false) || + (unicode_bidi."0.3.4"."flame_it" or false); } + { "0.3.4".serde = + (f.unicode_bidi."0.3.4".serde or false) || + (f.unicode_bidi."0.3.4".with_serde or false) || + (unicode_bidi."0.3.4"."with_serde" or false); } + ]; + }) [ + (features_.matches."${deps."unicode_bidi"."0.3.4"."matches"}" deps) + ]; + + +# end +# unicode-normalization-0.1.7 + + crates.unicode_normalization."0.1.7" = deps: { features?(features_.unicode_normalization."0.1.7" deps {}) }: buildRustCrate { + crateName = "unicode-normalization"; + version = "0.1.7"; + authors = [ "kwantam " ]; + sha256 = "1da2hv800pd0wilmn4idwpgv5p510hjxizjcfv6xzb40xcsjd8gs"; + }; + features_.unicode_normalization."0.1.7" = deps: f: updateFeatures f (rec { + unicode_normalization."0.1.7".default = (f.unicode_normalization."0.1.7".default or true); + }) []; + + +# end +# unicode-normalization-0.1.8 + + crates.unicode_normalization."0.1.8" = deps: { features?(features_.unicode_normalization."0.1.8" deps {}) }: buildRustCrate { + crateName = "unicode-normalization"; + version = "0.1.8"; + description = "This crate provides functions for normalization of\nUnicode strings, including Canonical and Compatible\nDecomposition and Recomposition, as described in\nUnicode Standard Annex #15.\n"; + authors = [ "kwantam " ]; + sha256 = "1pb26i2xd5zz0icabyqahikpca0iwj2jd4145pczc4bb7p641dsz"; + dependencies = mapFeatures features ([ + (crates."smallvec"."${deps."unicode_normalization"."0.1.8"."smallvec"}" deps) + ]); + }; + features_.unicode_normalization."0.1.8" = deps: f: updateFeatures f (rec { + smallvec."${deps.unicode_normalization."0.1.8".smallvec}".default = true; + unicode_normalization."0.1.8".default = (f.unicode_normalization."0.1.8".default or true); + }) [ + (features_.smallvec."${deps."unicode_normalization"."0.1.8"."smallvec"}" deps) + ]; + + # end # unicode-width-0.1.5 @@ -1879,6 +3558,43 @@ rec { }) []; +# end +# url-1.7.2 + + crates.url."1.7.2" = deps: { features?(features_.url."1.7.2" deps {}) }: buildRustCrate { + crateName = "url"; + version = "1.7.2"; + authors = [ "The rust-url developers" ]; + sha256 = "0qzrjzd9r1niv7037x4cgnv98fs1vj0k18lpxx890ipc47x5gc09"; + dependencies = mapFeatures features ([ + (crates."idna"."${deps."url"."1.7.2"."idna"}" deps) + (crates."matches"."${deps."url"."1.7.2"."matches"}" deps) + (crates."percent_encoding"."${deps."url"."1.7.2"."percent_encoding"}" deps) + ]); + features = mkFeatures (features."url"."1.7.2" or {}); + }; + features_.url."1.7.2" = deps: f: updateFeatures f (rec { + idna."${deps.url."1.7.2".idna}".default = true; + matches."${deps.url."1.7.2".matches}".default = true; + percent_encoding."${deps.url."1.7.2".percent_encoding}".default = true; + url = fold recursiveUpdate {} [ + { "1.7.2".default = (f.url."1.7.2".default or true); } + { "1.7.2".encoding = + (f.url."1.7.2".encoding or false) || + (f.url."1.7.2".query_encoding or false) || + (url."1.7.2"."query_encoding" or false); } + { "1.7.2".heapsize = + (f.url."1.7.2".heapsize or false) || + (f.url."1.7.2".heap_size or false) || + (url."1.7.2"."heap_size" or false); } + ]; + }) [ + (features_.idna."${deps."url"."1.7.2"."idna"}" deps) + (features_.matches."${deps."url"."1.7.2"."matches"}" deps) + (features_.percent_encoding."${deps."url"."1.7.2"."percent_encoding"}" deps) + ]; + + # end # utf8-ranges-1.0.1 @@ -1893,6 +3609,21 @@ rec { }) []; +# end +# utf8-ranges-1.0.2 + + crates.utf8_ranges."1.0.2" = deps: { features?(features_.utf8_ranges."1.0.2" deps {}) }: buildRustCrate { + crateName = "utf8-ranges"; + version = "1.0.2"; + description = "Convert ranges of Unicode codepoints to UTF-8 byte ranges."; + authors = [ "Andrew Gallant " ]; + sha256 = "1my02laqsgnd8ib4dvjgd4rilprqjad6pb9jj9vi67csi5qs2281"; + }; + features_.utf8_ranges."1.0.2" = deps: f: updateFeatures f (rec { + utf8_ranges."1.0.2".default = (f.utf8_ranges."1.0.2".default or true); + }) []; + + # end # vec_map-0.8.1 @@ -2003,6 +3734,39 @@ rec { ]; +# end +# winapi-util-0.1.2 + + crates.winapi_util."0.1.2" = deps: { features?(features_.winapi_util."0.1.2" deps {}) }: buildRustCrate { + crateName = "winapi-util"; + version = "0.1.2"; + description = "A dumping ground for high level safe wrappers over winapi."; + authors = [ "Andrew Gallant " ]; + sha256 = "07jj7rg7nndd7bqhjin1xphbv8kb5clvhzpqpxkvm3wl84r3mj1h"; + dependencies = (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."winapi_util"."0.1.2"."winapi"}" deps) + ]) else []); + }; + features_.winapi_util."0.1.2" = deps: f: updateFeatures f (rec { + winapi = fold recursiveUpdate {} [ + { "${deps.winapi_util."0.1.2".winapi}"."consoleapi" = true; } + { "${deps.winapi_util."0.1.2".winapi}"."errhandlingapi" = true; } + { "${deps.winapi_util."0.1.2".winapi}"."fileapi" = true; } + { "${deps.winapi_util."0.1.2".winapi}"."minwindef" = true; } + { "${deps.winapi_util."0.1.2".winapi}"."processenv" = true; } + { "${deps.winapi_util."0.1.2".winapi}"."std" = true; } + { "${deps.winapi_util."0.1.2".winapi}"."winbase" = true; } + { "${deps.winapi_util."0.1.2".winapi}"."wincon" = true; } + { "${deps.winapi_util."0.1.2".winapi}"."winerror" = true; } + { "${deps.winapi_util."0.1.2".winapi}"."winnt" = true; } + { "${deps.winapi_util."0.1.2".winapi}".default = true; } + ]; + winapi_util."0.1.2".default = (f.winapi_util."0.1.2".default or true); + }) [ + (features_.winapi."${deps."winapi_util"."0.1.2"."winapi"}" deps) + ]; + + # end # winapi-x86_64-pc-windows-gnu-0.4.0 @@ -2045,5 +3809,3948 @@ rec { ]; +# end +# aho-corasick-0.7.3 + + crates.aho_corasick."0.7.3" = deps: { features?(features_.aho_corasick."0.7.3" deps {}) }: buildRustCrate { + crateName = "aho-corasick"; + version = "0.7.3"; + description = "Fast multiple substring searching."; + authors = [ "Andrew Gallant " ]; + sha256 = "0dn42fbdms4brigqphxrvzbjd1s4knyjlzky30kgvpnrcl4sqqdv"; + libName = "aho_corasick"; + dependencies = mapFeatures features ([ + (crates."memchr"."${deps."aho_corasick"."0.7.3"."memchr"}" deps) + ]); + features = mkFeatures (features."aho_corasick"."0.7.3" or {}); + }; + features_.aho_corasick."0.7.3" = deps: f: updateFeatures f (rec { + aho_corasick = fold recursiveUpdate {} [ + { "0.7.3"."std" = + (f.aho_corasick."0.7.3"."std" or false) || + (f.aho_corasick."0.7.3".default or false) || + (aho_corasick."0.7.3"."default" or false); } + { "0.7.3".default = (f.aho_corasick."0.7.3".default or true); } + ]; + memchr = fold recursiveUpdate {} [ + { "${deps.aho_corasick."0.7.3".memchr}"."use_std" = + (f.memchr."${deps.aho_corasick."0.7.3".memchr}"."use_std" or false) || + (aho_corasick."0.7.3"."std" or false) || + (f."aho_corasick"."0.7.3"."std" or false); } + { "${deps.aho_corasick."0.7.3".memchr}".default = (f.memchr."${deps.aho_corasick."0.7.3".memchr}".default or false); } + ]; + }) [ + (features_.memchr."${deps."aho_corasick"."0.7.3"."memchr"}" deps) + ]; + + +# end +# backtrace-0.3.15 + + crates.backtrace."0.3.15" = deps: { features?(features_.backtrace."0.3.15" deps {}) }: buildRustCrate { + crateName = "backtrace"; + version = "0.3.15"; + description = "A library to acquire a stack trace (backtrace) at runtime in a Rust program.\n"; + authors = [ "Alex Crichton " "The Rust Project Developers" ]; + sha256 = "0qgbc07aq9kfixv29s60xx666lmdpgmf27a78fwjlhnfzhqvkn0p"; + dependencies = mapFeatures features ([ + (crates."cfg_if"."${deps."backtrace"."0.3.15"."cfg_if"}" deps) + (crates."rustc_demangle"."${deps."backtrace"."0.3.15"."rustc_demangle"}" deps) + ]) + ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "fuchsia") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then mapFeatures features ([ + ] + ++ (if features.backtrace."0.3.15".backtrace-sys or false then [ (crates.backtrace_sys."${deps."backtrace"."0.3.15".backtrace_sys}" deps) ] else [])) else []) + ++ (if (kernel == "linux" || kernel == "darwin") || abi == "sgx" then mapFeatures features ([ + (crates."libc"."${deps."backtrace"."0.3.15"."libc"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."backtrace"."0.3.15"."winapi"}" deps) + ]) else []); + + buildDependencies = mapFeatures features ([ + (crates."autocfg"."${deps."backtrace"."0.3.15"."autocfg"}" deps) + ]); + features = mkFeatures (features."backtrace"."0.3.15" or {}); + }; + features_.backtrace."0.3.15" = deps: f: updateFeatures f (rec { + autocfg."${deps.backtrace."0.3.15".autocfg}".default = true; + backtrace = fold recursiveUpdate {} [ + { "0.3.15"."addr2line" = + (f.backtrace."0.3.15"."addr2line" or false) || + (f.backtrace."0.3.15".gimli-symbolize or false) || + (backtrace."0.3.15"."gimli-symbolize" or false); } + { "0.3.15"."backtrace-sys" = + (f.backtrace."0.3.15"."backtrace-sys" or false) || + (f.backtrace."0.3.15".libbacktrace or false) || + (backtrace."0.3.15"."libbacktrace" or false); } + { "0.3.15"."coresymbolication" = + (f.backtrace."0.3.15"."coresymbolication" or false) || + (f.backtrace."0.3.15".default or false) || + (backtrace."0.3.15"."default" or false); } + { "0.3.15"."dbghelp" = + (f.backtrace."0.3.15"."dbghelp" or false) || + (f.backtrace."0.3.15".default or false) || + (backtrace."0.3.15"."default" or false); } + { "0.3.15"."dladdr" = + (f.backtrace."0.3.15"."dladdr" or false) || + (f.backtrace."0.3.15".default or false) || + (backtrace."0.3.15"."default" or false); } + { "0.3.15"."findshlibs" = + (f.backtrace."0.3.15"."findshlibs" or false) || + (f.backtrace."0.3.15".gimli-symbolize or false) || + (backtrace."0.3.15"."gimli-symbolize" or false); } + { "0.3.15"."gimli" = + (f.backtrace."0.3.15"."gimli" or false) || + (f.backtrace."0.3.15".gimli-symbolize or false) || + (backtrace."0.3.15"."gimli-symbolize" or false); } + { "0.3.15"."libbacktrace" = + (f.backtrace."0.3.15"."libbacktrace" or false) || + (f.backtrace."0.3.15".default or false) || + (backtrace."0.3.15"."default" or false); } + { "0.3.15"."libunwind" = + (f.backtrace."0.3.15"."libunwind" or false) || + (f.backtrace."0.3.15".default or false) || + (backtrace."0.3.15"."default" or false); } + { "0.3.15"."memmap" = + (f.backtrace."0.3.15"."memmap" or false) || + (f.backtrace."0.3.15".gimli-symbolize or false) || + (backtrace."0.3.15"."gimli-symbolize" or false); } + { "0.3.15"."object" = + (f.backtrace."0.3.15"."object" or false) || + (f.backtrace."0.3.15".gimli-symbolize or false) || + (backtrace."0.3.15"."gimli-symbolize" or false); } + { "0.3.15"."rustc-serialize" = + (f.backtrace."0.3.15"."rustc-serialize" or false) || + (f.backtrace."0.3.15".serialize-rustc or false) || + (backtrace."0.3.15"."serialize-rustc" or false); } + { "0.3.15"."serde" = + (f.backtrace."0.3.15"."serde" or false) || + (f.backtrace."0.3.15".serialize-serde or false) || + (backtrace."0.3.15"."serialize-serde" or false); } + { "0.3.15"."serde_derive" = + (f.backtrace."0.3.15"."serde_derive" or false) || + (f.backtrace."0.3.15".serialize-serde or false) || + (backtrace."0.3.15"."serialize-serde" or false); } + { "0.3.15"."std" = + (f.backtrace."0.3.15"."std" or false) || + (f.backtrace."0.3.15".default or false) || + (backtrace."0.3.15"."default" or false) || + (f.backtrace."0.3.15".libbacktrace or false) || + (backtrace."0.3.15"."libbacktrace" or false); } + { "0.3.15".default = (f.backtrace."0.3.15".default or true); } + ]; + backtrace_sys."${deps.backtrace."0.3.15".backtrace_sys}".default = true; + cfg_if."${deps.backtrace."0.3.15".cfg_if}".default = true; + libc."${deps.backtrace."0.3.15".libc}".default = (f.libc."${deps.backtrace."0.3.15".libc}".default or false); + rustc_demangle."${deps.backtrace."0.3.15".rustc_demangle}".default = true; + winapi = fold recursiveUpdate {} [ + { "${deps.backtrace."0.3.15".winapi}"."dbghelp" = true; } + { "${deps.backtrace."0.3.15".winapi}"."minwindef" = true; } + { "${deps.backtrace."0.3.15".winapi}"."processthreadsapi" = true; } + { "${deps.backtrace."0.3.15".winapi}"."winnt" = true; } + { "${deps.backtrace."0.3.15".winapi}".default = true; } + ]; + }) [ + (features_.cfg_if."${deps."backtrace"."0.3.15"."cfg_if"}" deps) + (features_.rustc_demangle."${deps."backtrace"."0.3.15"."rustc_demangle"}" deps) + (features_.autocfg."${deps."backtrace"."0.3.15"."autocfg"}" deps) + (features_.backtrace_sys."${deps."backtrace"."0.3.15"."backtrace_sys"}" deps) + (features_.libc."${deps."backtrace"."0.3.15"."libc"}" deps) + (features_.winapi."${deps."backtrace"."0.3.15"."winapi"}" deps) + ]; + + +# end +# bstr-0.1.2 + + crates.bstr."0.1.2" = deps: { features?(features_.bstr."0.1.2" deps {}) }: buildRustCrate { + crateName = "bstr"; + version = "0.1.2"; + description = "A string type that is not required to be valid UTF-8."; + authors = [ "Andrew Gallant " ]; + sha256 = "1m30sssr8qghgf5fg17vvlrcr5mbbnv8fixzzfvzk3nan4bxyckf"; + dependencies = mapFeatures features ([ + (crates."memchr"."${deps."bstr"."0.1.2"."memchr"}" deps) + ]); + features = mkFeatures (features."bstr"."0.1.2" or {}); + }; + features_.bstr."0.1.2" = deps: f: updateFeatures f (rec { + bstr = fold recursiveUpdate {} [ + { "0.1.2"."lazy_static" = + (f.bstr."0.1.2"."lazy_static" or false) || + (f.bstr."0.1.2".unicode or false) || + (bstr."0.1.2"."unicode" or false); } + { "0.1.2"."regex-automata" = + (f.bstr."0.1.2"."regex-automata" or false) || + (f.bstr."0.1.2".unicode or false) || + (bstr."0.1.2"."unicode" or false); } + { "0.1.2"."serde" = + (f.bstr."0.1.2"."serde" or false) || + (f.bstr."0.1.2".serde1-nostd or false) || + (bstr."0.1.2"."serde1-nostd" or false); } + { "0.1.2"."serde1-nostd" = + (f.bstr."0.1.2"."serde1-nostd" or false) || + (f.bstr."0.1.2".serde1 or false) || + (bstr."0.1.2"."serde1" or false); } + { "0.1.2"."std" = + (f.bstr."0.1.2"."std" or false) || + (f.bstr."0.1.2".default or false) || + (bstr."0.1.2"."default" or false) || + (f.bstr."0.1.2".serde1 or false) || + (bstr."0.1.2"."serde1" or false); } + { "0.1.2"."unicode" = + (f.bstr."0.1.2"."unicode" or false) || + (f.bstr."0.1.2".default or false) || + (bstr."0.1.2"."default" or false); } + { "0.1.2".default = (f.bstr."0.1.2".default or true); } + ]; + memchr = fold recursiveUpdate {} [ + { "${deps.bstr."0.1.2".memchr}"."use_std" = + (f.memchr."${deps.bstr."0.1.2".memchr}"."use_std" or false) || + (bstr."0.1.2"."std" or false) || + (f."bstr"."0.1.2"."std" or false); } + { "${deps.bstr."0.1.2".memchr}".default = (f.memchr."${deps.bstr."0.1.2".memchr}".default or false); } + ]; + }) [ + (features_.memchr."${deps."bstr"."0.1.2"."memchr"}" deps) + ]; + + +# end +# build_const-0.2.1 + + crates.build_const."0.2.1" = deps: { features?(features_.build_const."0.2.1" deps {}) }: buildRustCrate { + crateName = "build_const"; + version = "0.2.1"; + description = "library for creating importable constants from build.rs or a script"; + authors = [ "Garrett Berg " ]; + sha256 = "15249xzi3qlm72p4glxgavwyq70fx2sp4df6ii0sdlrixrrp77pl"; + features = mkFeatures (features."build_const"."0.2.1" or {}); + }; + features_.build_const."0.2.1" = deps: f: updateFeatures f (rec { + build_const = fold recursiveUpdate {} [ + { "0.2.1"."std" = + (f.build_const."0.2.1"."std" or false) || + (f.build_const."0.2.1".default or false) || + (build_const."0.2.1"."default" or false); } + { "0.2.1".default = (f.build_const."0.2.1".default or true); } + ]; + }) []; + + +# end +# byteorder-1.3.1 + + crates.byteorder."1.3.1" = deps: { features?(features_.byteorder."1.3.1" deps {}) }: buildRustCrate { + crateName = "byteorder"; + version = "1.3.1"; + description = "Library for reading/writing numbers in big-endian and little-endian."; + authors = [ "Andrew Gallant " ]; + sha256 = "1dd46l7fvmxfq90kh6ip1ghsxzzcdybac8f0mh2jivsdv9vy8k4w"; + build = "build.rs"; + features = mkFeatures (features."byteorder"."1.3.1" or {}); + }; + features_.byteorder."1.3.1" = deps: f: updateFeatures f (rec { + byteorder = fold recursiveUpdate {} [ + { "1.3.1"."std" = + (f.byteorder."1.3.1"."std" or false) || + (f.byteorder."1.3.1".default or false) || + (byteorder."1.3.1"."default" or false); } + { "1.3.1".default = (f.byteorder."1.3.1".default or true); } + ]; + }) []; + + +# end +# bytes-0.4.12 + + crates.bytes."0.4.12" = deps: { features?(features_.bytes."0.4.12" deps {}) }: buildRustCrate { + crateName = "bytes"; + version = "0.4.12"; + description = "Types and traits for working with bytes"; + authors = [ "Carl Lerche " ]; + sha256 = "0cw577vll9qp0h3l1sy24anr5mcnd5j26q9q7nw4f0mddssvfphf"; + dependencies = mapFeatures features ([ + (crates."byteorder"."${deps."bytes"."0.4.12"."byteorder"}" deps) + (crates."iovec"."${deps."bytes"."0.4.12"."iovec"}" deps) + ]); + features = mkFeatures (features."bytes"."0.4.12" or {}); + }; + features_.bytes."0.4.12" = deps: f: updateFeatures f (rec { + byteorder = fold recursiveUpdate {} [ + { "${deps.bytes."0.4.12".byteorder}"."i128" = + (f.byteorder."${deps.bytes."0.4.12".byteorder}"."i128" or false) || + (bytes."0.4.12"."i128" or false) || + (f."bytes"."0.4.12"."i128" or false); } + { "${deps.bytes."0.4.12".byteorder}".default = true; } + ]; + bytes."0.4.12".default = (f.bytes."0.4.12".default or true); + iovec."${deps.bytes."0.4.12".iovec}".default = true; + }) [ + (features_.byteorder."${deps."bytes"."0.4.12"."byteorder"}" deps) + (features_.iovec."${deps."bytes"."0.4.12"."iovec"}" deps) + ]; + + +# end +# bytesize-1.0.0 + + crates.bytesize."1.0.0" = deps: { features?(features_.bytesize."1.0.0" deps {}) }: buildRustCrate { + crateName = "bytesize"; + version = "1.0.0"; + description = "an utility for human-readable bytes representations"; + authors = [ "Hyunsik Choi " ]; + sha256 = "04j5hibh1sskjbifrm5d10vmd1fycfgm10cdfa9hpyir7lbkhbg9"; + dependencies = mapFeatures features ([ +]); + }; + features_.bytesize."1.0.0" = deps: f: updateFeatures f (rec { + bytesize."1.0.0".default = (f.bytesize."1.0.0".default or true); + }) []; + + +# end +# cargo-0.35.0 + + crates.cargo."0.35.0" = deps: { features?(features_.cargo."0.35.0" deps {}) }: buildRustCrate { + crateName = "cargo"; + version = "0.35.0"; + description = "Cargo, a package manager for Rust.\n"; + authors = [ "Yehuda Katz " "Carl Lerche " "Alex Crichton " ]; + edition = "2018"; + sha256 = "17nqb1cr70igaaahk1lr859jaa57p05i1q4smqhqpq1jswwpdsnn"; + libPath = "src/cargo/lib.rs"; + crateBin = + [{ name = "cargo"; }]; + dependencies = mapFeatures features ([ + (crates."atty"."${deps."cargo"."0.35.0"."atty"}" deps) + (crates."byteorder"."${deps."cargo"."0.35.0"."byteorder"}" deps) + (crates."bytesize"."${deps."cargo"."0.35.0"."bytesize"}" deps) + (crates."clap"."${deps."cargo"."0.35.0"."clap"}" deps) + (crates."crates_io"."${deps."cargo"."0.35.0"."crates_io"}" deps) + (crates."crossbeam_utils"."${deps."cargo"."0.35.0"."crossbeam_utils"}" deps) + (crates."crypto_hash"."${deps."cargo"."0.35.0"."crypto_hash"}" deps) + (crates."curl"."${deps."cargo"."0.35.0"."curl"}" deps) + (crates."curl_sys"."${deps."cargo"."0.35.0"."curl_sys"}" deps) + (crates."env_logger"."${deps."cargo"."0.35.0"."env_logger"}" deps) + (crates."failure"."${deps."cargo"."0.35.0"."failure"}" deps) + (crates."filetime"."${deps."cargo"."0.35.0"."filetime"}" deps) + (crates."flate2"."${deps."cargo"."0.35.0"."flate2"}" deps) + (crates."fs2"."${deps."cargo"."0.35.0"."fs2"}" deps) + (crates."git2"."${deps."cargo"."0.35.0"."git2"}" deps) + (crates."git2_curl"."${deps."cargo"."0.35.0"."git2_curl"}" deps) + (crates."glob"."${deps."cargo"."0.35.0"."glob"}" deps) + (crates."hex"."${deps."cargo"."0.35.0"."hex"}" deps) + (crates."home"."${deps."cargo"."0.35.0"."home"}" deps) + (crates."ignore"."${deps."cargo"."0.35.0"."ignore"}" deps) + (crates."im_rc"."${deps."cargo"."0.35.0"."im_rc"}" deps) + (crates."jobserver"."${deps."cargo"."0.35.0"."jobserver"}" deps) + (crates."lazy_static"."${deps."cargo"."0.35.0"."lazy_static"}" deps) + (crates."lazycell"."${deps."cargo"."0.35.0"."lazycell"}" deps) + (crates."libc"."${deps."cargo"."0.35.0"."libc"}" deps) + (crates."libgit2_sys"."${deps."cargo"."0.35.0"."libgit2_sys"}" deps) + (crates."log"."${deps."cargo"."0.35.0"."log"}" deps) + (crates."num_cpus"."${deps."cargo"."0.35.0"."num_cpus"}" deps) + (crates."opener"."${deps."cargo"."0.35.0"."opener"}" deps) + (crates."rustc_workspace_hack"."${deps."cargo"."0.35.0"."rustc_workspace_hack"}" deps) + (crates."rustfix"."${deps."cargo"."0.35.0"."rustfix"}" deps) + (crates."same_file"."${deps."cargo"."0.35.0"."same_file"}" deps) + (crates."semver"."${deps."cargo"."0.35.0"."semver"}" deps) + (crates."serde"."${deps."cargo"."0.35.0"."serde"}" deps) + (crates."serde_ignored"."${deps."cargo"."0.35.0"."serde_ignored"}" deps) + (crates."serde_json"."${deps."cargo"."0.35.0"."serde_json"}" deps) + (crates."shell_escape"."${deps."cargo"."0.35.0"."shell_escape"}" deps) + (crates."tar"."${deps."cargo"."0.35.0"."tar"}" deps) + (crates."tempfile"."${deps."cargo"."0.35.0"."tempfile"}" deps) + (crates."termcolor"."${deps."cargo"."0.35.0"."termcolor"}" deps) + (crates."toml"."${deps."cargo"."0.35.0"."toml"}" deps) + (crates."unicode_width"."${deps."cargo"."0.35.0"."unicode_width"}" deps) + (crates."url"."${deps."cargo"."0.35.0"."url"}" deps) + (crates."url_serde"."${deps."cargo"."0.35.0"."url_serde"}" deps) + ]) + ++ (if kernel == "darwin" then mapFeatures features ([ + (crates."core_foundation"."${deps."cargo"."0.35.0"."core_foundation"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."fwdansi"."${deps."cargo"."0.35.0"."fwdansi"}" deps) + (crates."miow"."${deps."cargo"."0.35.0"."miow"}" deps) + (crates."winapi"."${deps."cargo"."0.35.0"."winapi"}" deps) + ]) else []); + features = mkFeatures (features."cargo"."0.35.0" or {}); + }; + features_.cargo."0.35.0" = deps: f: updateFeatures f (rec { + atty."${deps.cargo."0.35.0".atty}".default = true; + byteorder."${deps.cargo."0.35.0".byteorder}".default = true; + bytesize."${deps.cargo."0.35.0".bytesize}".default = true; + cargo = fold recursiveUpdate {} [ + { "0.35.0"."pretty_env_logger" = + (f.cargo."0.35.0"."pretty_env_logger" or false) || + (f.cargo."0.35.0".pretty-env-logger or false) || + (cargo."0.35.0"."pretty-env-logger" or false); } + { "0.35.0".default = (f.cargo."0.35.0".default or true); } + ]; + clap."${deps.cargo."0.35.0".clap}".default = true; + core_foundation = fold recursiveUpdate {} [ + { "${deps.cargo."0.35.0".core_foundation}"."mac_os_10_7_support" = true; } + { "${deps.cargo."0.35.0".core_foundation}".default = true; } + ]; + crates_io."${deps.cargo."0.35.0".crates_io}".default = true; + crossbeam_utils."${deps.cargo."0.35.0".crossbeam_utils}".default = true; + crypto_hash."${deps.cargo."0.35.0".crypto_hash}".default = true; + curl = fold recursiveUpdate {} [ + { "${deps.cargo."0.35.0".curl}"."http2" = true; } + { "${deps.cargo."0.35.0".curl}".default = true; } + ]; + curl_sys."${deps.cargo."0.35.0".curl_sys}".default = true; + env_logger."${deps.cargo."0.35.0".env_logger}".default = true; + failure."${deps.cargo."0.35.0".failure}".default = true; + filetime."${deps.cargo."0.35.0".filetime}".default = true; + flate2 = fold recursiveUpdate {} [ + { "${deps.cargo."0.35.0".flate2}"."zlib" = true; } + { "${deps.cargo."0.35.0".flate2}".default = true; } + ]; + fs2."${deps.cargo."0.35.0".fs2}".default = true; + fwdansi."${deps.cargo."0.35.0".fwdansi}".default = true; + git2."${deps.cargo."0.35.0".git2}".default = true; + git2_curl."${deps.cargo."0.35.0".git2_curl}".default = true; + glob."${deps.cargo."0.35.0".glob}".default = true; + hex."${deps.cargo."0.35.0".hex}".default = true; + home."${deps.cargo."0.35.0".home}".default = true; + ignore."${deps.cargo."0.35.0".ignore}".default = true; + im_rc."${deps.cargo."0.35.0".im_rc}".default = true; + jobserver."${deps.cargo."0.35.0".jobserver}".default = true; + lazy_static."${deps.cargo."0.35.0".lazy_static}".default = true; + lazycell."${deps.cargo."0.35.0".lazycell}".default = true; + libc."${deps.cargo."0.35.0".libc}".default = true; + libgit2_sys."${deps.cargo."0.35.0".libgit2_sys}".default = true; + log."${deps.cargo."0.35.0".log}".default = true; + miow."${deps.cargo."0.35.0".miow}".default = true; + num_cpus."${deps.cargo."0.35.0".num_cpus}".default = true; + opener."${deps.cargo."0.35.0".opener}".default = true; + rustc_workspace_hack."${deps.cargo."0.35.0".rustc_workspace_hack}".default = true; + rustfix."${deps.cargo."0.35.0".rustfix}".default = true; + same_file."${deps.cargo."0.35.0".same_file}".default = true; + semver = fold recursiveUpdate {} [ + { "${deps.cargo."0.35.0".semver}"."serde" = true; } + { "${deps.cargo."0.35.0".semver}".default = true; } + ]; + serde = fold recursiveUpdate {} [ + { "${deps.cargo."0.35.0".serde}"."derive" = true; } + { "${deps.cargo."0.35.0".serde}".default = true; } + ]; + serde_ignored."${deps.cargo."0.35.0".serde_ignored}".default = true; + serde_json = fold recursiveUpdate {} [ + { "${deps.cargo."0.35.0".serde_json}"."raw_value" = true; } + { "${deps.cargo."0.35.0".serde_json}".default = true; } + ]; + shell_escape."${deps.cargo."0.35.0".shell_escape}".default = true; + tar."${deps.cargo."0.35.0".tar}".default = (f.tar."${deps.cargo."0.35.0".tar}".default or false); + tempfile."${deps.cargo."0.35.0".tempfile}".default = true; + termcolor."${deps.cargo."0.35.0".termcolor}".default = true; + toml."${deps.cargo."0.35.0".toml}".default = true; + unicode_width."${deps.cargo."0.35.0".unicode_width}".default = true; + url."${deps.cargo."0.35.0".url}".default = true; + url_serde."${deps.cargo."0.35.0".url_serde}".default = true; + winapi = fold recursiveUpdate {} [ + { "${deps.cargo."0.35.0".winapi}"."basetsd" = true; } + { "${deps.cargo."0.35.0".winapi}"."handleapi" = true; } + { "${deps.cargo."0.35.0".winapi}"."jobapi" = true; } + { "${deps.cargo."0.35.0".winapi}"."jobapi2" = true; } + { "${deps.cargo."0.35.0".winapi}"."memoryapi" = true; } + { "${deps.cargo."0.35.0".winapi}"."minwindef" = true; } + { "${deps.cargo."0.35.0".winapi}"."ntdef" = true; } + { "${deps.cargo."0.35.0".winapi}"."ntstatus" = true; } + { "${deps.cargo."0.35.0".winapi}"."processenv" = true; } + { "${deps.cargo."0.35.0".winapi}"."processthreadsapi" = true; } + { "${deps.cargo."0.35.0".winapi}"."psapi" = true; } + { "${deps.cargo."0.35.0".winapi}"."synchapi" = true; } + { "${deps.cargo."0.35.0".winapi}"."winbase" = true; } + { "${deps.cargo."0.35.0".winapi}"."wincon" = true; } + { "${deps.cargo."0.35.0".winapi}"."winerror" = true; } + { "${deps.cargo."0.35.0".winapi}"."winnt" = true; } + { "${deps.cargo."0.35.0".winapi}".default = true; } + ]; + }) [ + (features_.atty."${deps."cargo"."0.35.0"."atty"}" deps) + (features_.byteorder."${deps."cargo"."0.35.0"."byteorder"}" deps) + (features_.bytesize."${deps."cargo"."0.35.0"."bytesize"}" deps) + (features_.clap."${deps."cargo"."0.35.0"."clap"}" deps) + (features_.crates_io."${deps."cargo"."0.35.0"."crates_io"}" deps) + (features_.crossbeam_utils."${deps."cargo"."0.35.0"."crossbeam_utils"}" deps) + (features_.crypto_hash."${deps."cargo"."0.35.0"."crypto_hash"}" deps) + (features_.curl."${deps."cargo"."0.35.0"."curl"}" deps) + (features_.curl_sys."${deps."cargo"."0.35.0"."curl_sys"}" deps) + (features_.env_logger."${deps."cargo"."0.35.0"."env_logger"}" deps) + (features_.failure."${deps."cargo"."0.35.0"."failure"}" deps) + (features_.filetime."${deps."cargo"."0.35.0"."filetime"}" deps) + (features_.flate2."${deps."cargo"."0.35.0"."flate2"}" deps) + (features_.fs2."${deps."cargo"."0.35.0"."fs2"}" deps) + (features_.git2."${deps."cargo"."0.35.0"."git2"}" deps) + (features_.git2_curl."${deps."cargo"."0.35.0"."git2_curl"}" deps) + (features_.glob."${deps."cargo"."0.35.0"."glob"}" deps) + (features_.hex."${deps."cargo"."0.35.0"."hex"}" deps) + (features_.home."${deps."cargo"."0.35.0"."home"}" deps) + (features_.ignore."${deps."cargo"."0.35.0"."ignore"}" deps) + (features_.im_rc."${deps."cargo"."0.35.0"."im_rc"}" deps) + (features_.jobserver."${deps."cargo"."0.35.0"."jobserver"}" deps) + (features_.lazy_static."${deps."cargo"."0.35.0"."lazy_static"}" deps) + (features_.lazycell."${deps."cargo"."0.35.0"."lazycell"}" deps) + (features_.libc."${deps."cargo"."0.35.0"."libc"}" deps) + (features_.libgit2_sys."${deps."cargo"."0.35.0"."libgit2_sys"}" deps) + (features_.log."${deps."cargo"."0.35.0"."log"}" deps) + (features_.num_cpus."${deps."cargo"."0.35.0"."num_cpus"}" deps) + (features_.opener."${deps."cargo"."0.35.0"."opener"}" deps) + (features_.rustc_workspace_hack."${deps."cargo"."0.35.0"."rustc_workspace_hack"}" deps) + (features_.rustfix."${deps."cargo"."0.35.0"."rustfix"}" deps) + (features_.same_file."${deps."cargo"."0.35.0"."same_file"}" deps) + (features_.semver."${deps."cargo"."0.35.0"."semver"}" deps) + (features_.serde."${deps."cargo"."0.35.0"."serde"}" deps) + (features_.serde_ignored."${deps."cargo"."0.35.0"."serde_ignored"}" deps) + (features_.serde_json."${deps."cargo"."0.35.0"."serde_json"}" deps) + (features_.shell_escape."${deps."cargo"."0.35.0"."shell_escape"}" deps) + (features_.tar."${deps."cargo"."0.35.0"."tar"}" deps) + (features_.tempfile."${deps."cargo"."0.35.0"."tempfile"}" deps) + (features_.termcolor."${deps."cargo"."0.35.0"."termcolor"}" deps) + (features_.toml."${deps."cargo"."0.35.0"."toml"}" deps) + (features_.unicode_width."${deps."cargo"."0.35.0"."unicode_width"}" deps) + (features_.url."${deps."cargo"."0.35.0"."url"}" deps) + (features_.url_serde."${deps."cargo"."0.35.0"."url_serde"}" deps) + (features_.core_foundation."${deps."cargo"."0.35.0"."core_foundation"}" deps) + (features_.fwdansi."${deps."cargo"."0.35.0"."fwdansi"}" deps) + (features_.miow."${deps."cargo"."0.35.0"."miow"}" deps) + (features_.winapi."${deps."cargo"."0.35.0"."winapi"}" deps) + ]; + + +# end +# cc-1.0.35 + + crates.cc."1.0.35" = deps: { features?(features_.cc."1.0.35" deps {}) }: buildRustCrate { + crateName = "cc"; + version = "1.0.35"; + description = "A build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "0dq3d2hgc5r14lk97ajj4mw30fibznjzrl9w745fqhwnq51jp7dj"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."cc"."1.0.35" or {}); + }; + features_.cc."1.0.35" = deps: f: updateFeatures f (rec { + cc = fold recursiveUpdate {} [ + { "1.0.35"."rayon" = + (f.cc."1.0.35"."rayon" or false) || + (f.cc."1.0.35".parallel or false) || + (cc."1.0.35"."parallel" or false); } + { "1.0.35".default = (f.cc."1.0.35".default or true); } + ]; + }) []; + + +# end +# clap-2.33.0 + + crates.clap."2.33.0" = deps: { features?(features_.clap."2.33.0" deps {}) }: buildRustCrate { + crateName = "clap"; + version = "2.33.0"; + description = "A simple to use, efficient, and full-featured Command Line Argument Parser\n"; + authors = [ "Kevin K. " ]; + sha256 = "054n9ngh6pkknpmd4acgdsp40iw6f5jzq8a4h2b76gnbvk6p5xjh"; + dependencies = mapFeatures features ([ + (crates."bitflags"."${deps."clap"."2.33.0"."bitflags"}" deps) + (crates."textwrap"."${deps."clap"."2.33.0"."textwrap"}" deps) + (crates."unicode_width"."${deps."clap"."2.33.0"."unicode_width"}" deps) + ] + ++ (if features.clap."2.33.0".atty or false then [ (crates.atty."${deps."clap"."2.33.0".atty}" deps) ] else []) + ++ (if features.clap."2.33.0".strsim or false then [ (crates.strsim."${deps."clap"."2.33.0".strsim}" deps) ] else []) + ++ (if features.clap."2.33.0".vec_map or false then [ (crates.vec_map."${deps."clap"."2.33.0".vec_map}" deps) ] else [])) + ++ (if !(kernel == "windows") then mapFeatures features ([ + ] + ++ (if features.clap."2.33.0".ansi_term or false then [ (crates.ansi_term."${deps."clap"."2.33.0".ansi_term}" deps) ] else [])) else []); + features = mkFeatures (features."clap"."2.33.0" or {}); + }; + features_.clap."2.33.0" = deps: f: updateFeatures f (rec { + ansi_term."${deps.clap."2.33.0".ansi_term}".default = true; + atty."${deps.clap."2.33.0".atty}".default = true; + bitflags."${deps.clap."2.33.0".bitflags}".default = true; + clap = fold recursiveUpdate {} [ + { "2.33.0"."ansi_term" = + (f.clap."2.33.0"."ansi_term" or false) || + (f.clap."2.33.0".color or false) || + (clap."2.33.0"."color" or false); } + { "2.33.0"."atty" = + (f.clap."2.33.0"."atty" or false) || + (f.clap."2.33.0".color or false) || + (clap."2.33.0"."color" or false); } + { "2.33.0"."clippy" = + (f.clap."2.33.0"."clippy" or false) || + (f.clap."2.33.0".lints or false) || + (clap."2.33.0"."lints" or false); } + { "2.33.0"."color" = + (f.clap."2.33.0"."color" or false) || + (f.clap."2.33.0".default or false) || + (clap."2.33.0"."default" or false); } + { "2.33.0"."strsim" = + (f.clap."2.33.0"."strsim" or false) || + (f.clap."2.33.0".suggestions or false) || + (clap."2.33.0"."suggestions" or false); } + { "2.33.0"."suggestions" = + (f.clap."2.33.0"."suggestions" or false) || + (f.clap."2.33.0".default or false) || + (clap."2.33.0"."default" or false); } + { "2.33.0"."term_size" = + (f.clap."2.33.0"."term_size" or false) || + (f.clap."2.33.0".wrap_help or false) || + (clap."2.33.0"."wrap_help" or false); } + { "2.33.0"."vec_map" = + (f.clap."2.33.0"."vec_map" or false) || + (f.clap."2.33.0".default or false) || + (clap."2.33.0"."default" or false); } + { "2.33.0"."yaml" = + (f.clap."2.33.0"."yaml" or false) || + (f.clap."2.33.0".doc or false) || + (clap."2.33.0"."doc" or false); } + { "2.33.0"."yaml-rust" = + (f.clap."2.33.0"."yaml-rust" or false) || + (f.clap."2.33.0".yaml or false) || + (clap."2.33.0"."yaml" or false); } + { "2.33.0".default = (f.clap."2.33.0".default or true); } + ]; + strsim."${deps.clap."2.33.0".strsim}".default = true; + textwrap = fold recursiveUpdate {} [ + { "${deps.clap."2.33.0".textwrap}"."term_size" = + (f.textwrap."${deps.clap."2.33.0".textwrap}"."term_size" or false) || + (clap."2.33.0"."wrap_help" or false) || + (f."clap"."2.33.0"."wrap_help" or false); } + { "${deps.clap."2.33.0".textwrap}".default = true; } + ]; + unicode_width."${deps.clap."2.33.0".unicode_width}".default = true; + vec_map."${deps.clap."2.33.0".vec_map}".default = true; + }) [ + (features_.atty."${deps."clap"."2.33.0"."atty"}" deps) + (features_.bitflags."${deps."clap"."2.33.0"."bitflags"}" deps) + (features_.strsim."${deps."clap"."2.33.0"."strsim"}" deps) + (features_.textwrap."${deps."clap"."2.33.0"."textwrap"}" deps) + (features_.unicode_width."${deps."clap"."2.33.0"."unicode_width"}" deps) + (features_.vec_map."${deps."clap"."2.33.0"."vec_map"}" deps) + (features_.ansi_term."${deps."clap"."2.33.0"."ansi_term"}" deps) + ]; + + +# end +# commoncrypto-0.2.0 + + crates.commoncrypto."0.2.0" = deps: { features?(features_.commoncrypto."0.2.0" deps {}) }: buildRustCrate { + crateName = "commoncrypto"; + version = "0.2.0"; + description = "Idiomatic Rust wrappers for Mac OS X's CommonCrypto library"; + authors = [ "Mark Lee" ]; + sha256 = "1ywgmv5ai4f6yskr3wv3j1wzfsdm9km8j8lm4x4j5ccln5362xdf"; + dependencies = mapFeatures features ([ + (crates."commoncrypto_sys"."${deps."commoncrypto"."0.2.0"."commoncrypto_sys"}" deps) + ]); + features = mkFeatures (features."commoncrypto"."0.2.0" or {}); + }; + features_.commoncrypto."0.2.0" = deps: f: updateFeatures f (rec { + commoncrypto = fold recursiveUpdate {} [ + { "0.2.0"."clippy" = + (f.commoncrypto."0.2.0"."clippy" or false) || + (f.commoncrypto."0.2.0".lint or false) || + (commoncrypto."0.2.0"."lint" or false); } + { "0.2.0".default = (f.commoncrypto."0.2.0".default or true); } + ]; + commoncrypto_sys."${deps.commoncrypto."0.2.0".commoncrypto_sys}".default = true; + }) [ + (features_.commoncrypto_sys."${deps."commoncrypto"."0.2.0"."commoncrypto_sys"}" deps) + ]; + + +# end +# commoncrypto-sys-0.2.0 + + crates.commoncrypto_sys."0.2.0" = deps: { features?(features_.commoncrypto_sys."0.2.0" deps {}) }: buildRustCrate { + crateName = "commoncrypto-sys"; + version = "0.2.0"; + description = "FFI bindings to Mac OS X's CommonCrypto library"; + authors = [ "Mark Lee" ]; + sha256 = "001i2g7xbfi48r2xjgxwrgjjjf00x9c24vfrs3g6p2q2djhwww4i"; + dependencies = mapFeatures features ([ + (crates."libc"."${deps."commoncrypto_sys"."0.2.0"."libc"}" deps) + ]); + features = mkFeatures (features."commoncrypto_sys"."0.2.0" or {}); + }; + features_.commoncrypto_sys."0.2.0" = deps: f: updateFeatures f (rec { + commoncrypto_sys = fold recursiveUpdate {} [ + { "0.2.0"."clippy" = + (f.commoncrypto_sys."0.2.0"."clippy" or false) || + (f.commoncrypto_sys."0.2.0".lint or false) || + (commoncrypto_sys."0.2.0"."lint" or false); } + { "0.2.0".default = (f.commoncrypto_sys."0.2.0".default or true); } + ]; + libc."${deps.commoncrypto_sys."0.2.0".libc}".default = true; + }) [ + (features_.libc."${deps."commoncrypto_sys"."0.2.0"."libc"}" deps) + ]; + + +# end +# core-foundation-0.6.4 + + crates.core_foundation."0.6.4" = deps: { features?(features_.core_foundation."0.6.4" deps {}) }: buildRustCrate { + crateName = "core-foundation"; + version = "0.6.4"; + description = "Bindings to Core Foundation for macOS"; + authors = [ "The Servo Project Developers" ]; + sha256 = "1kabsqxh01m6l2b1gz8wgn0d1k6fyczww9kaks0sbmsz5g78ngzx"; + dependencies = mapFeatures features ([ + (crates."core_foundation_sys"."${deps."core_foundation"."0.6.4"."core_foundation_sys"}" deps) + (crates."libc"."${deps."core_foundation"."0.6.4"."libc"}" deps) + ]); + features = mkFeatures (features."core_foundation"."0.6.4" or {}); + }; + features_.core_foundation."0.6.4" = deps: f: updateFeatures f (rec { + core_foundation = fold recursiveUpdate {} [ + { "0.6.4"."chrono" = + (f.core_foundation."0.6.4"."chrono" or false) || + (f.core_foundation."0.6.4".with-chrono or false) || + (core_foundation."0.6.4"."with-chrono" or false); } + { "0.6.4"."uuid" = + (f.core_foundation."0.6.4"."uuid" or false) || + (f.core_foundation."0.6.4".with-uuid or false) || + (core_foundation."0.6.4"."with-uuid" or false); } + { "0.6.4".default = (f.core_foundation."0.6.4".default or true); } + ]; + core_foundation_sys = fold recursiveUpdate {} [ + { "${deps.core_foundation."0.6.4".core_foundation_sys}"."mac_os_10_7_support" = + (f.core_foundation_sys."${deps.core_foundation."0.6.4".core_foundation_sys}"."mac_os_10_7_support" or false) || + (core_foundation."0.6.4"."mac_os_10_7_support" or false) || + (f."core_foundation"."0.6.4"."mac_os_10_7_support" or false); } + { "${deps.core_foundation."0.6.4".core_foundation_sys}"."mac_os_10_8_features" = + (f.core_foundation_sys."${deps.core_foundation."0.6.4".core_foundation_sys}"."mac_os_10_8_features" or false) || + (core_foundation."0.6.4"."mac_os_10_8_features" or false) || + (f."core_foundation"."0.6.4"."mac_os_10_8_features" or false); } + { "${deps.core_foundation."0.6.4".core_foundation_sys}".default = true; } + ]; + libc."${deps.core_foundation."0.6.4".libc}".default = true; + }) [ + (features_.core_foundation_sys."${deps."core_foundation"."0.6.4"."core_foundation_sys"}" deps) + (features_.libc."${deps."core_foundation"."0.6.4"."libc"}" deps) + ]; + + +# end +# core-foundation-sys-0.6.2 + + crates.core_foundation_sys."0.6.2" = deps: { features?(features_.core_foundation_sys."0.6.2" deps {}) }: buildRustCrate { + crateName = "core-foundation-sys"; + version = "0.6.2"; + description = "Bindings to Core Foundation for OS X"; + authors = [ "The Servo Project Developers" ]; + sha256 = "1n2v6wlqkmqwhl7k6y50irx51p37xb0fcm3njbman82gnyq8di2c"; + build = "build.rs"; + features = mkFeatures (features."core_foundation_sys"."0.6.2" or {}); + }; + features_.core_foundation_sys."0.6.2" = deps: f: updateFeatures f (rec { + core_foundation_sys."0.6.2".default = (f.core_foundation_sys."0.6.2".default or true); + }) []; + + +# end +# crates-io-0.23.0 + + crates.crates_io."0.23.0" = deps: { features?(features_.crates_io."0.23.0" deps {}) }: buildRustCrate { + crateName = "crates-io"; + version = "0.23.0"; + description = "Helpers for interacting with crates.io\n"; + authors = [ "Alex Crichton " ]; + edition = "2018"; + sha256 = "0yf7zhlqnyci12rl9x6xrwlcp8slf8ldfn3d72ad6j2hyp2cb59y"; + libPath = "lib.rs"; + libName = "crates_io"; + dependencies = mapFeatures features ([ + (crates."curl"."${deps."crates_io"."0.23.0"."curl"}" deps) + (crates."failure"."${deps."crates_io"."0.23.0"."failure"}" deps) + (crates."http"."${deps."crates_io"."0.23.0"."http"}" deps) + (crates."serde"."${deps."crates_io"."0.23.0"."serde"}" deps) + (crates."serde_derive"."${deps."crates_io"."0.23.0"."serde_derive"}" deps) + (crates."serde_json"."${deps."crates_io"."0.23.0"."serde_json"}" deps) + (crates."url"."${deps."crates_io"."0.23.0"."url"}" deps) + ]); + }; + features_.crates_io."0.23.0" = deps: f: updateFeatures f (rec { + crates_io."0.23.0".default = (f.crates_io."0.23.0".default or true); + curl."${deps.crates_io."0.23.0".curl}".default = true; + failure."${deps.crates_io."0.23.0".failure}".default = true; + http."${deps.crates_io."0.23.0".http}".default = true; + serde = fold recursiveUpdate {} [ + { "${deps.crates_io."0.23.0".serde}"."derive" = true; } + { "${deps.crates_io."0.23.0".serde}".default = true; } + ]; + serde_derive."${deps.crates_io."0.23.0".serde_derive}".default = true; + serde_json."${deps.crates_io."0.23.0".serde_json}".default = true; + url."${deps.crates_io."0.23.0".url}".default = true; + }) [ + (features_.curl."${deps."crates_io"."0.23.0"."curl"}" deps) + (features_.failure."${deps."crates_io"."0.23.0"."failure"}" deps) + (features_.http."${deps."crates_io"."0.23.0"."http"}" deps) + (features_.serde."${deps."crates_io"."0.23.0"."serde"}" deps) + (features_.serde_derive."${deps."crates_io"."0.23.0"."serde_derive"}" deps) + (features_.serde_json."${deps."crates_io"."0.23.0"."serde_json"}" deps) + (features_.url."${deps."crates_io"."0.23.0"."url"}" deps) + ]; + + +# end +# crc-1.8.1 + + crates.crc."1.8.1" = deps: { features?(features_.crc."1.8.1" deps {}) }: buildRustCrate { + crateName = "crc"; + version = "1.8.1"; + description = "Rust implementation of CRC(16, 32, 64) with support of various standards"; + authors = [ "Rui Hu " ]; + sha256 = "00m9jjqrddp3bqyanvyxv0hf6s56bx1wy51vcdcxg4n2jdhg109s"; + + buildDependencies = mapFeatures features ([ + (crates."build_const"."${deps."crc"."1.8.1"."build_const"}" deps) + ]); + features = mkFeatures (features."crc"."1.8.1" or {}); + }; + features_.crc."1.8.1" = deps: f: updateFeatures f (rec { + build_const."${deps.crc."1.8.1".build_const}".default = true; + crc = fold recursiveUpdate {} [ + { "1.8.1"."std" = + (f.crc."1.8.1"."std" or false) || + (f.crc."1.8.1".default or false) || + (crc."1.8.1"."default" or false); } + { "1.8.1".default = (f.crc."1.8.1".default or true); } + ]; + }) [ + (features_.build_const."${deps."crc"."1.8.1"."build_const"}" deps) + ]; + + +# end +# crc32fast-1.2.0 + + crates.crc32fast."1.2.0" = deps: { features?(features_.crc32fast."1.2.0" deps {}) }: buildRustCrate { + crateName = "crc32fast"; + version = "1.2.0"; + description = "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation"; + authors = [ "Sam Rijs " "Alex Crichton " ]; + sha256 = "1mx88ndqln6vzg7hjhjp8b7g0qggpqggsjrlsdqrfsrbpdzffcn8"; + dependencies = mapFeatures features ([ + (crates."cfg_if"."${deps."crc32fast"."1.2.0"."cfg_if"}" deps) + ]); + features = mkFeatures (features."crc32fast"."1.2.0" or {}); + }; + features_.crc32fast."1.2.0" = deps: f: updateFeatures f (rec { + cfg_if."${deps.crc32fast."1.2.0".cfg_if}".default = true; + crc32fast = fold recursiveUpdate {} [ + { "1.2.0"."std" = + (f.crc32fast."1.2.0"."std" or false) || + (f.crc32fast."1.2.0".default or false) || + (crc32fast."1.2.0"."default" or false); } + { "1.2.0".default = (f.crc32fast."1.2.0".default or true); } + ]; + }) [ + (features_.cfg_if."${deps."crc32fast"."1.2.0"."cfg_if"}" deps) + ]; + + +# end +# crossbeam-channel-0.3.8 + + crates.crossbeam_channel."0.3.8" = deps: { features?(features_.crossbeam_channel."0.3.8" deps {}) }: buildRustCrate { + crateName = "crossbeam-channel"; + version = "0.3.8"; + description = "Multi-producer multi-consumer channels for message passing"; + authors = [ "The Crossbeam Project Developers" ]; + sha256 = "0apm8why2qsgr8ykh9x677kc9ml7qp71mvirfkdzdn4c1jyqyyzm"; + dependencies = mapFeatures features ([ + (crates."crossbeam_utils"."${deps."crossbeam_channel"."0.3.8"."crossbeam_utils"}" deps) + (crates."smallvec"."${deps."crossbeam_channel"."0.3.8"."smallvec"}" deps) + ]); + }; + features_.crossbeam_channel."0.3.8" = deps: f: updateFeatures f (rec { + crossbeam_channel."0.3.8".default = (f.crossbeam_channel."0.3.8".default or true); + crossbeam_utils."${deps.crossbeam_channel."0.3.8".crossbeam_utils}".default = true; + smallvec."${deps.crossbeam_channel."0.3.8".smallvec}".default = true; + }) [ + (features_.crossbeam_utils."${deps."crossbeam_channel"."0.3.8"."crossbeam_utils"}" deps) + (features_.smallvec."${deps."crossbeam_channel"."0.3.8"."smallvec"}" deps) + ]; + + +# end +# crossbeam-utils-0.6.5 + + crates.crossbeam_utils."0.6.5" = deps: { features?(features_.crossbeam_utils."0.6.5" deps {}) }: buildRustCrate { + crateName = "crossbeam-utils"; + version = "0.6.5"; + description = "Utilities for concurrent programming"; + authors = [ "The Crossbeam Project Developers" ]; + sha256 = "1z7wgcl9d22r2x6769r5945rnwf3jqfrrmb16q7kzk292r1d4rdg"; + dependencies = mapFeatures features ([ + (crates."cfg_if"."${deps."crossbeam_utils"."0.6.5"."cfg_if"}" deps) + ] + ++ (if features.crossbeam_utils."0.6.5".lazy_static or false then [ (crates.lazy_static."${deps."crossbeam_utils"."0.6.5".lazy_static}" deps) ] else [])); + features = mkFeatures (features."crossbeam_utils"."0.6.5" or {}); + }; + features_.crossbeam_utils."0.6.5" = deps: f: updateFeatures f (rec { + cfg_if."${deps.crossbeam_utils."0.6.5".cfg_if}".default = true; + crossbeam_utils = fold recursiveUpdate {} [ + { "0.6.5"."lazy_static" = + (f.crossbeam_utils."0.6.5"."lazy_static" or false) || + (f.crossbeam_utils."0.6.5".std or false) || + (crossbeam_utils."0.6.5"."std" or false); } + { "0.6.5"."std" = + (f.crossbeam_utils."0.6.5"."std" or false) || + (f.crossbeam_utils."0.6.5".default or false) || + (crossbeam_utils."0.6.5"."default" or false); } + { "0.6.5".default = (f.crossbeam_utils."0.6.5".default or true); } + ]; + lazy_static."${deps.crossbeam_utils."0.6.5".lazy_static}".default = true; + }) [ + (features_.cfg_if."${deps."crossbeam_utils"."0.6.5"."cfg_if"}" deps) + (features_.lazy_static."${deps."crossbeam_utils"."0.6.5"."lazy_static"}" deps) + ]; + + +# end +# crypto-hash-0.3.3 + + crates.crypto_hash."0.3.3" = deps: { features?(features_.crypto_hash."0.3.3" deps {}) }: buildRustCrate { + crateName = "crypto-hash"; + version = "0.3.3"; + description = "A wrapper for OS-level cryptographic hash functions"; + authors = [ "Mark Lee" ]; + sha256 = "0ybl3q06snf0p0w5c743yipf1gyhim2z0yqczgdhclfmzgj4gxqy"; + dependencies = mapFeatures features ([ + (crates."hex"."${deps."crypto_hash"."0.3.3"."hex"}" deps) + ]) + ++ (if kernel == "darwin" || kernel == "ios" then mapFeatures features ([ + (crates."commoncrypto"."${deps."crypto_hash"."0.3.3"."commoncrypto"}" deps) + ]) else []) + ++ (if !(kernel == "windows" || kernel == "darwin" || kernel == "ios") then mapFeatures features ([ + (crates."openssl"."${deps."crypto_hash"."0.3.3"."openssl"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."crypto_hash"."0.3.3"."winapi"}" deps) + ]) else []); + }; + features_.crypto_hash."0.3.3" = deps: f: updateFeatures f (rec { + commoncrypto."${deps.crypto_hash."0.3.3".commoncrypto}".default = true; + crypto_hash."0.3.3".default = (f.crypto_hash."0.3.3".default or true); + hex."${deps.crypto_hash."0.3.3".hex}".default = true; + openssl."${deps.crypto_hash."0.3.3".openssl}".default = true; + winapi = fold recursiveUpdate {} [ + { "${deps.crypto_hash."0.3.3".winapi}"."minwindef" = true; } + { "${deps.crypto_hash."0.3.3".winapi}"."wincrypt" = true; } + { "${deps.crypto_hash."0.3.3".winapi}".default = true; } + ]; + }) [ + (features_.hex."${deps."crypto_hash"."0.3.3"."hex"}" deps) + (features_.commoncrypto."${deps."crypto_hash"."0.3.3"."commoncrypto"}" deps) + (features_.openssl."${deps."crypto_hash"."0.3.3"."openssl"}" deps) + (features_.winapi."${deps."crypto_hash"."0.3.3"."winapi"}" deps) + ]; + + +# end +# curl-0.4.21 + + crates.curl."0.4.21" = deps: { features?(features_.curl."0.4.21" deps {}) }: buildRustCrate { + crateName = "curl"; + version = "0.4.21"; + description = "Rust bindings to libcurl for making HTTP requests"; + authors = [ "Alex Crichton " ]; + sha256 = "1n13h0scc4s77ryf3w19n3myh4k1ls4bfxrx6y6ffvayjfnh13qy"; + dependencies = mapFeatures features ([ + (crates."curl_sys"."${deps."curl"."0.4.21"."curl_sys"}" deps) + (crates."libc"."${deps."curl"."0.4.21"."libc"}" deps) + (crates."socket2"."${deps."curl"."0.4.21"."socket2"}" deps) + ]) + ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then mapFeatures features ([ + ] + ++ (if features.curl."0.4.21".openssl-probe or false then [ (crates.openssl_probe."${deps."curl"."0.4.21".openssl_probe}" deps) ] else []) + ++ (if features.curl."0.4.21".openssl-sys or false then [ (crates.openssl_sys."${deps."curl"."0.4.21".openssl_sys}" deps) ] else [])) else []) + ++ (if abi == "msvc" then mapFeatures features ([ + (crates."kernel32_sys"."${deps."curl"."0.4.21"."kernel32_sys"}" deps) + (crates."schannel"."${deps."curl"."0.4.21"."schannel"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."curl"."0.4.21"."winapi"}" deps) + ]) else []); + features = mkFeatures (features."curl"."0.4.21" or {}); + }; + features_.curl."0.4.21" = deps: f: updateFeatures f (rec { + curl = fold recursiveUpdate {} [ + { "0.4.21"."openssl-probe" = + (f.curl."0.4.21"."openssl-probe" or false) || + (f.curl."0.4.21".ssl or false) || + (curl."0.4.21"."ssl" or false); } + { "0.4.21"."openssl-sys" = + (f.curl."0.4.21"."openssl-sys" or false) || + (f.curl."0.4.21".ssl or false) || + (curl."0.4.21"."ssl" or false); } + { "0.4.21"."ssl" = + (f.curl."0.4.21"."ssl" or false) || + (f.curl."0.4.21".default or false) || + (curl."0.4.21"."default" or false); } + { "0.4.21".default = (f.curl."0.4.21".default or true); } + ]; + curl_sys = fold recursiveUpdate {} [ + { "${deps.curl."0.4.21".curl_sys}"."force-system-lib-on-osx" = + (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."force-system-lib-on-osx" or false) || + (curl."0.4.21"."force-system-lib-on-osx" or false) || + (f."curl"."0.4.21"."force-system-lib-on-osx" or false); } + { "${deps.curl."0.4.21".curl_sys}"."http2" = + (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."http2" or false) || + (curl."0.4.21"."http2" or false) || + (f."curl"."0.4.21"."http2" or false); } + { "${deps.curl."0.4.21".curl_sys}"."ssl" = + (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."ssl" or false) || + (curl."0.4.21"."ssl" or false) || + (f."curl"."0.4.21"."ssl" or false); } + { "${deps.curl."0.4.21".curl_sys}"."static-curl" = + (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."static-curl" or false) || + (curl."0.4.21"."static-curl" or false) || + (f."curl"."0.4.21"."static-curl" or false); } + { "${deps.curl."0.4.21".curl_sys}"."static-ssl" = + (f.curl_sys."${deps.curl."0.4.21".curl_sys}"."static-ssl" or false) || + (curl."0.4.21"."static-ssl" or false) || + (f."curl"."0.4.21"."static-ssl" or false); } + { "${deps.curl."0.4.21".curl_sys}".default = (f.curl_sys."${deps.curl."0.4.21".curl_sys}".default or false); } + ]; + kernel32_sys."${deps.curl."0.4.21".kernel32_sys}".default = true; + libc."${deps.curl."0.4.21".libc}".default = true; + openssl_probe."${deps.curl."0.4.21".openssl_probe}".default = true; + openssl_sys."${deps.curl."0.4.21".openssl_sys}".default = true; + schannel."${deps.curl."0.4.21".schannel}".default = true; + socket2."${deps.curl."0.4.21".socket2}".default = true; + winapi."${deps.curl."0.4.21".winapi}".default = true; + }) [ + (features_.curl_sys."${deps."curl"."0.4.21"."curl_sys"}" deps) + (features_.libc."${deps."curl"."0.4.21"."libc"}" deps) + (features_.socket2."${deps."curl"."0.4.21"."socket2"}" deps) + (features_.openssl_probe."${deps."curl"."0.4.21"."openssl_probe"}" deps) + (features_.openssl_sys."${deps."curl"."0.4.21"."openssl_sys"}" deps) + (features_.kernel32_sys."${deps."curl"."0.4.21"."kernel32_sys"}" deps) + (features_.schannel."${deps."curl"."0.4.21"."schannel"}" deps) + (features_.winapi."${deps."curl"."0.4.21"."winapi"}" deps) + ]; + + +# end +# curl-sys-0.4.18 + + crates.curl_sys."0.4.18" = deps: { features?(features_.curl_sys."0.4.18" deps {}) }: buildRustCrate { + crateName = "curl-sys"; + version = "0.4.18"; + description = "Native bindings to the libcurl library"; + authors = [ "Alex Crichton " ]; + sha256 = "1y9qglyirlxhp62gh5vlzpq67jw7cyccvsajvmj30dv1sn7cn3vk"; + libPath = "lib.rs"; + libName = "curl_sys"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."libc"."${deps."curl_sys"."0.4.18"."libc"}" deps) + (crates."libz_sys"."${deps."curl_sys"."0.4.18"."libz_sys"}" deps) + ] + ++ (if features.curl_sys."0.4.18".libnghttp2-sys or false then [ (crates.libnghttp2_sys."${deps."curl_sys"."0.4.18".libnghttp2_sys}" deps) ] else [])) + ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then mapFeatures features ([ + ] + ++ (if features.curl_sys."0.4.18".openssl-sys or false then [ (crates.openssl_sys."${deps."curl_sys"."0.4.18".openssl_sys}" deps) ] else [])) else []) + ++ (if abi == "msvc" then mapFeatures features ([ +]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."curl_sys"."0.4.18"."winapi"}" deps) + ]) else []); + + buildDependencies = mapFeatures features ([ + (crates."cc"."${deps."curl_sys"."0.4.18"."cc"}" deps) + (crates."pkg_config"."${deps."curl_sys"."0.4.18"."pkg_config"}" deps) + ]); + features = mkFeatures (features."curl_sys"."0.4.18" or {}); + }; + features_.curl_sys."0.4.18" = deps: f: updateFeatures f (rec { + cc."${deps.curl_sys."0.4.18".cc}".default = true; + curl_sys = fold recursiveUpdate {} [ + { "0.4.18"."libnghttp2-sys" = + (f.curl_sys."0.4.18"."libnghttp2-sys" or false) || + (f.curl_sys."0.4.18".http2 or false) || + (curl_sys."0.4.18"."http2" or false); } + { "0.4.18"."openssl-sys" = + (f.curl_sys."0.4.18"."openssl-sys" or false) || + (f.curl_sys."0.4.18".ssl or false) || + (curl_sys."0.4.18"."ssl" or false); } + { "0.4.18"."ssl" = + (f.curl_sys."0.4.18"."ssl" or false) || + (f.curl_sys."0.4.18".default or false) || + (curl_sys."0.4.18"."default" or false); } + { "0.4.18".default = (f.curl_sys."0.4.18".default or true); } + ]; + libc."${deps.curl_sys."0.4.18".libc}".default = true; + libnghttp2_sys."${deps.curl_sys."0.4.18".libnghttp2_sys}".default = true; + libz_sys."${deps.curl_sys."0.4.18".libz_sys}".default = true; + openssl_sys."${deps.curl_sys."0.4.18".openssl_sys}".default = true; + pkg_config."${deps.curl_sys."0.4.18".pkg_config}".default = true; + winapi = fold recursiveUpdate {} [ + { "${deps.curl_sys."0.4.18".winapi}"."winsock2" = true; } + { "${deps.curl_sys."0.4.18".winapi}"."ws2def" = true; } + { "${deps.curl_sys."0.4.18".winapi}".default = true; } + ]; + }) [ + (features_.libc."${deps."curl_sys"."0.4.18"."libc"}" deps) + (features_.libnghttp2_sys."${deps."curl_sys"."0.4.18"."libnghttp2_sys"}" deps) + (features_.libz_sys."${deps."curl_sys"."0.4.18"."libz_sys"}" deps) + (features_.cc."${deps."curl_sys"."0.4.18"."cc"}" deps) + (features_.pkg_config."${deps."curl_sys"."0.4.18"."pkg_config"}" deps) + (features_.openssl_sys."${deps."curl_sys"."0.4.18"."openssl_sys"}" deps) + (features_.winapi."${deps."curl_sys"."0.4.18"."winapi"}" deps) + ]; + + +# end +# docopt-1.1.0 + + crates.docopt."1.1.0" = deps: { features?(features_.docopt."1.1.0" deps {}) }: buildRustCrate { + crateName = "docopt"; + version = "1.1.0"; + description = "Command line argument parsing."; + authors = [ "Andrew Gallant " ]; + edition = "2018"; + sha256 = "1xjvfw8398qcxwhdmak1bw2j6zn125ch24dmrmghv50vnlbb997x"; + crateBin = + [{ name = "docopt-wordlist"; path = "src/wordlist.rs"; }]; + dependencies = mapFeatures features ([ + (crates."lazy_static"."${deps."docopt"."1.1.0"."lazy_static"}" deps) + (crates."regex"."${deps."docopt"."1.1.0"."regex"}" deps) + (crates."serde"."${deps."docopt"."1.1.0"."serde"}" deps) + (crates."strsim"."${deps."docopt"."1.1.0"."strsim"}" deps) + ]); + }; + features_.docopt."1.1.0" = deps: f: updateFeatures f (rec { + docopt."1.1.0".default = (f.docopt."1.1.0".default or true); + lazy_static."${deps.docopt."1.1.0".lazy_static}".default = true; + regex."${deps.docopt."1.1.0".regex}".default = true; + serde = fold recursiveUpdate {} [ + { "${deps.docopt."1.1.0".serde}"."derive" = true; } + { "${deps.docopt."1.1.0".serde}".default = true; } + ]; + strsim."${deps.docopt."1.1.0".strsim}".default = true; + }) [ + (features_.lazy_static."${deps."docopt"."1.1.0"."lazy_static"}" deps) + (features_.regex."${deps."docopt"."1.1.0"."regex"}" deps) + (features_.serde."${deps."docopt"."1.1.0"."serde"}" deps) + (features_.strsim."${deps."docopt"."1.1.0"."strsim"}" deps) + ]; + + +# end +# either-1.5.2 + + crates.either."1.5.2" = deps: { features?(features_.either."1.5.2" deps {}) }: buildRustCrate { + crateName = "either"; + version = "1.5.2"; + description = "The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases.\n"; + authors = [ "bluss" ]; + sha256 = "1zqq1057c51f53ga4p9l4dd8ax6md27h1xjrjp2plkvml5iymks5"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."either"."1.5.2" or {}); + }; + features_.either."1.5.2" = deps: f: updateFeatures f (rec { + either = fold recursiveUpdate {} [ + { "1.5.2"."use_std" = + (f.either."1.5.2"."use_std" or false) || + (f.either."1.5.2".default or false) || + (either."1.5.2"."default" or false); } + { "1.5.2".default = (f.either."1.5.2".default or true); } + ]; + }) []; + + +# end +# filetime-0.2.4 + + crates.filetime."0.2.4" = deps: { features?(features_.filetime."0.2.4" deps {}) }: buildRustCrate { + crateName = "filetime"; + version = "0.2.4"; + description = "Platform-agnostic accessors of timestamps in File metadata\n"; + authors = [ "Alex Crichton " ]; + sha256 = "1lsc0qjihr8y56rlzdcldzr0nbljm8qqi691msgwhy6wrkawwx5d"; + dependencies = mapFeatures features ([ + (crates."cfg_if"."${deps."filetime"."0.2.4"."cfg_if"}" deps) + ]) + ++ (if kernel == "redox" then mapFeatures features ([ + (crates."redox_syscall"."${deps."filetime"."0.2.4"."redox_syscall"}" deps) + ]) else []) + ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ + (crates."libc"."${deps."filetime"."0.2.4"."libc"}" deps) + ]) else []); + }; + features_.filetime."0.2.4" = deps: f: updateFeatures f (rec { + cfg_if."${deps.filetime."0.2.4".cfg_if}".default = true; + filetime."0.2.4".default = (f.filetime."0.2.4".default or true); + libc."${deps.filetime."0.2.4".libc}".default = true; + redox_syscall."${deps.filetime."0.2.4".redox_syscall}".default = true; + }) [ + (features_.cfg_if."${deps."filetime"."0.2.4"."cfg_if"}" deps) + (features_.redox_syscall."${deps."filetime"."0.2.4"."redox_syscall"}" deps) + (features_.libc."${deps."filetime"."0.2.4"."libc"}" deps) + ]; + + +# end +# flate2-1.0.7 + + crates.flate2."1.0.7" = deps: { features?(features_.flate2."1.0.7" deps {}) }: buildRustCrate { + crateName = "flate2"; + version = "1.0.7"; + description = "Bindings to miniz.c for DEFLATE compression and decompression exposed as\nReader/Writer streams. Contains bindings for zlib, deflate, and gzip-based\nstreams.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "012vi948sap09hm1nmd228fqn7i5kp6wfb9zlz0m8ysq5if1s9mc"; + dependencies = mapFeatures features ([ + (crates."crc32fast"."${deps."flate2"."1.0.7"."crc32fast"}" deps) + (crates."libc"."${deps."flate2"."1.0.7"."libc"}" deps) + ] + ++ (if features.flate2."1.0.7".libz-sys or false then [ (crates.libz_sys."${deps."flate2"."1.0.7".libz_sys}" deps) ] else []) + ++ (if features.flate2."1.0.7".miniz-sys or false then [ (crates.miniz_sys."${deps."flate2"."1.0.7".miniz_sys}" deps) ] else []) + ++ (if features.flate2."1.0.7".miniz_oxide_c_api or false then [ (crates.miniz_oxide_c_api."${deps."flate2"."1.0.7".miniz_oxide_c_api}" deps) ] else [])) + ++ (if cpu == "wasm32" && !(kernel == "emscripten") then mapFeatures features ([ + (crates."miniz_oxide_c_api"."${deps."flate2"."1.0.7"."miniz_oxide_c_api"}" deps) + ]) else []); + features = mkFeatures (features."flate2"."1.0.7" or {}); + }; + features_.flate2."1.0.7" = deps: f: updateFeatures f (rec { + crc32fast."${deps.flate2."1.0.7".crc32fast}".default = true; + flate2 = fold recursiveUpdate {} [ + { "1.0.7"."futures" = + (f.flate2."1.0.7"."futures" or false) || + (f.flate2."1.0.7".tokio or false) || + (flate2."1.0.7"."tokio" or false); } + { "1.0.7"."libz-sys" = + (f.flate2."1.0.7"."libz-sys" or false) || + (f.flate2."1.0.7".zlib or false) || + (flate2."1.0.7"."zlib" or false); } + { "1.0.7"."miniz-sys" = + (f.flate2."1.0.7"."miniz-sys" or false) || + (f.flate2."1.0.7".default or false) || + (flate2."1.0.7"."default" or false); } + { "1.0.7"."miniz_oxide_c_api" = + (f.flate2."1.0.7"."miniz_oxide_c_api" or false) || + (f.flate2."1.0.7".rust_backend or false) || + (flate2."1.0.7"."rust_backend" or false); } + { "1.0.7"."tokio-io" = + (f.flate2."1.0.7"."tokio-io" or false) || + (f.flate2."1.0.7".tokio or false) || + (flate2."1.0.7"."tokio" or false); } + { "1.0.7".default = (f.flate2."1.0.7".default or true); } + ]; + libc."${deps.flate2."1.0.7".libc}".default = true; + libz_sys."${deps.flate2."1.0.7".libz_sys}".default = true; + miniz_oxide_c_api = fold recursiveUpdate {} [ + { "${deps.flate2."1.0.7".miniz_oxide_c_api}"."no_c_export" = + (f.miniz_oxide_c_api."${deps.flate2."1.0.7".miniz_oxide_c_api}"."no_c_export" or false) || + true || + true; } + { "${deps.flate2."1.0.7".miniz_oxide_c_api}".default = true; } + ]; + miniz_sys."${deps.flate2."1.0.7".miniz_sys}".default = true; + }) [ + (features_.crc32fast."${deps."flate2"."1.0.7"."crc32fast"}" deps) + (features_.libc."${deps."flate2"."1.0.7"."libc"}" deps) + (features_.libz_sys."${deps."flate2"."1.0.7"."libz_sys"}" deps) + (features_.miniz_sys."${deps."flate2"."1.0.7"."miniz_sys"}" deps) + (features_.miniz_oxide_c_api."${deps."flate2"."1.0.7"."miniz_oxide_c_api"}" deps) + (features_.miniz_oxide_c_api."${deps."flate2"."1.0.7"."miniz_oxide_c_api"}" deps) + ]; + + +# end +# fnv-1.0.6 + + crates.fnv."1.0.6" = deps: { features?(features_.fnv."1.0.6" deps {}) }: buildRustCrate { + crateName = "fnv"; + version = "1.0.6"; + description = "Fowler–Noll–Vo hash function"; + authors = [ "Alex Crichton " ]; + sha256 = "128mlh23y3gg6ag5h8iiqlcbl59smisdzraqy88ldrf75kbw27ip"; + libPath = "lib.rs"; + }; + features_.fnv."1.0.6" = deps: f: updateFeatures f (rec { + fnv."1.0.6".default = (f.fnv."1.0.6".default or true); + }) []; + + +# end +# foreign-types-0.3.2 + + crates.foreign_types."0.3.2" = deps: { features?(features_.foreign_types."0.3.2" deps {}) }: buildRustCrate { + crateName = "foreign-types"; + version = "0.3.2"; + description = "A framework for Rust wrappers over C APIs"; + authors = [ "Steven Fackler " ]; + sha256 = "105n8sp2djb1s5lzrw04p7ss3dchr5qa3canmynx396nh3vwm2p8"; + dependencies = mapFeatures features ([ + (crates."foreign_types_shared"."${deps."foreign_types"."0.3.2"."foreign_types_shared"}" deps) + ]); + }; + features_.foreign_types."0.3.2" = deps: f: updateFeatures f (rec { + foreign_types."0.3.2".default = (f.foreign_types."0.3.2".default or true); + foreign_types_shared."${deps.foreign_types."0.3.2".foreign_types_shared}".default = true; + }) [ + (features_.foreign_types_shared."${deps."foreign_types"."0.3.2"."foreign_types_shared"}" deps) + ]; + + +# end +# foreign-types-shared-0.1.1 + + crates.foreign_types_shared."0.1.1" = deps: { features?(features_.foreign_types_shared."0.1.1" deps {}) }: buildRustCrate { + crateName = "foreign-types-shared"; + version = "0.1.1"; + description = "An internal crate used by foreign-types"; + authors = [ "Steven Fackler " ]; + sha256 = "0b6cnvqbflws8dxywk4589vgbz80049lz4x1g9dfy4s1ppd3g4z5"; + }; + features_.foreign_types_shared."0.1.1" = deps: f: updateFeatures f (rec { + foreign_types_shared."0.1.1".default = (f.foreign_types_shared."0.1.1".default or true); + }) []; + + +# end +# fs2-0.4.3 + + crates.fs2."0.4.3" = deps: { features?(features_.fs2."0.4.3" deps {}) }: buildRustCrate { + crateName = "fs2"; + version = "0.4.3"; + description = "Cross-platform file locks and file duplication."; + authors = [ "Dan Burkert " ]; + sha256 = "1crj36rhhpk3qby9yj7r77w7sld0mzab2yicmphbdkfymbmp3ldp"; + dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ + (crates."libc"."${deps."fs2"."0.4.3"."libc"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."fs2"."0.4.3"."winapi"}" deps) + ]) else []); + }; + features_.fs2."0.4.3" = deps: f: updateFeatures f (rec { + fs2."0.4.3".default = (f.fs2."0.4.3".default or true); + libc."${deps.fs2."0.4.3".libc}".default = true; + winapi = fold recursiveUpdate {} [ + { "${deps.fs2."0.4.3".winapi}"."fileapi" = true; } + { "${deps.fs2."0.4.3".winapi}"."handleapi" = true; } + { "${deps.fs2."0.4.3".winapi}"."processthreadsapi" = true; } + { "${deps.fs2."0.4.3".winapi}"."std" = true; } + { "${deps.fs2."0.4.3".winapi}"."winbase" = true; } + { "${deps.fs2."0.4.3".winapi}"."winerror" = true; } + { "${deps.fs2."0.4.3".winapi}".default = true; } + ]; + }) [ + (features_.libc."${deps."fs2"."0.4.3"."libc"}" deps) + (features_.winapi."${deps."fs2"."0.4.3"."winapi"}" deps) + ]; + + +# end +# fwdansi-1.0.1 + + crates.fwdansi."1.0.1" = deps: { features?(features_.fwdansi."1.0.1" deps {}) }: buildRustCrate { + crateName = "fwdansi"; + version = "1.0.1"; + description = "Forwards a byte string with ANSI escape code to a termcolor terminal"; + authors = [ "kennytm " ]; + sha256 = "00mzclq1wx55p6x5xx4yhpj70vsrivk2w1wbzq8bnf6xnl2km0xn"; + dependencies = mapFeatures features ([ + (crates."memchr"."${deps."fwdansi"."1.0.1"."memchr"}" deps) + (crates."termcolor"."${deps."fwdansi"."1.0.1"."termcolor"}" deps) + ]); + }; + features_.fwdansi."1.0.1" = deps: f: updateFeatures f (rec { + fwdansi."1.0.1".default = (f.fwdansi."1.0.1".default or true); + memchr."${deps.fwdansi."1.0.1".memchr}".default = true; + termcolor."${deps.fwdansi."1.0.1".termcolor}".default = true; + }) [ + (features_.memchr."${deps."fwdansi"."1.0.1"."memchr"}" deps) + (features_.termcolor."${deps."fwdansi"."1.0.1"."termcolor"}" deps) + ]; + + +# end +# git2-0.8.0 + + crates.git2."0.8.0" = deps: { features?(features_.git2."0.8.0" deps {}) }: buildRustCrate { + crateName = "git2"; + version = "0.8.0"; + description = "Bindings to libgit2 for interoperating with git repositories. This library is\nboth threadsafe and memory safe and allows both reading and writing git\nrepositories.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "0nkzglhq7lrdzv23jakygv6h5kks2mdr7xh73chnr7bqdc36mi43"; + dependencies = mapFeatures features ([ + (crates."bitflags"."${deps."git2"."0.8.0"."bitflags"}" deps) + (crates."libc"."${deps."git2"."0.8.0"."libc"}" deps) + (crates."libgit2_sys"."${deps."git2"."0.8.0"."libgit2_sys"}" deps) + (crates."log"."${deps."git2"."0.8.0"."log"}" deps) + (crates."url"."${deps."git2"."0.8.0"."url"}" deps) + ]) + ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then mapFeatures features ([ + ] + ++ (if features.git2."0.8.0".openssl-probe or false then [ (crates.openssl_probe."${deps."git2"."0.8.0".openssl_probe}" deps) ] else []) + ++ (if features.git2."0.8.0".openssl-sys or false then [ (crates.openssl_sys."${deps."git2"."0.8.0".openssl_sys}" deps) ] else [])) else []); + features = mkFeatures (features."git2"."0.8.0" or {}); + }; + features_.git2."0.8.0" = deps: f: updateFeatures f (rec { + bitflags."${deps.git2."0.8.0".bitflags}".default = true; + git2 = fold recursiveUpdate {} [ + { "0.8.0"."curl" = + (f.git2."0.8.0"."curl" or false) || + (f.git2."0.8.0".default or false) || + (git2."0.8.0"."default" or false); } + { "0.8.0"."https" = + (f.git2."0.8.0"."https" or false) || + (f.git2."0.8.0".default or false) || + (git2."0.8.0"."default" or false); } + { "0.8.0"."openssl-probe" = + (f.git2."0.8.0"."openssl-probe" or false) || + (f.git2."0.8.0".https or false) || + (git2."0.8.0"."https" or false); } + { "0.8.0"."openssl-sys" = + (f.git2."0.8.0"."openssl-sys" or false) || + (f.git2."0.8.0".https or false) || + (git2."0.8.0"."https" or false); } + { "0.8.0"."ssh" = + (f.git2."0.8.0"."ssh" or false) || + (f.git2."0.8.0".default or false) || + (git2."0.8.0"."default" or false); } + { "0.8.0"."ssh_key_from_memory" = + (f.git2."0.8.0"."ssh_key_from_memory" or false) || + (f.git2."0.8.0".default or false) || + (git2."0.8.0"."default" or false); } + { "0.8.0".default = (f.git2."0.8.0".default or true); } + ]; + libc."${deps.git2."0.8.0".libc}".default = true; + libgit2_sys = fold recursiveUpdate {} [ + { "${deps.git2."0.8.0".libgit2_sys}"."curl" = + (f.libgit2_sys."${deps.git2."0.8.0".libgit2_sys}"."curl" or false) || + (git2."0.8.0"."curl" or false) || + (f."git2"."0.8.0"."curl" or false); } + { "${deps.git2."0.8.0".libgit2_sys}"."https" = + (f.libgit2_sys."${deps.git2."0.8.0".libgit2_sys}"."https" or false) || + (git2."0.8.0"."https" or false) || + (f."git2"."0.8.0"."https" or false); } + { "${deps.git2."0.8.0".libgit2_sys}"."ssh" = + (f.libgit2_sys."${deps.git2."0.8.0".libgit2_sys}"."ssh" or false) || + (git2."0.8.0"."ssh" or false) || + (f."git2"."0.8.0"."ssh" or false); } + { "${deps.git2."0.8.0".libgit2_sys}"."ssh_key_from_memory" = + (f.libgit2_sys."${deps.git2."0.8.0".libgit2_sys}"."ssh_key_from_memory" or false) || + (git2."0.8.0"."ssh_key_from_memory" or false) || + (f."git2"."0.8.0"."ssh_key_from_memory" or false); } + { "${deps.git2."0.8.0".libgit2_sys}".default = true; } + ]; + log."${deps.git2."0.8.0".log}".default = true; + openssl_probe."${deps.git2."0.8.0".openssl_probe}".default = true; + openssl_sys."${deps.git2."0.8.0".openssl_sys}".default = true; + url."${deps.git2."0.8.0".url}".default = true; + }) [ + (features_.bitflags."${deps."git2"."0.8.0"."bitflags"}" deps) + (features_.libc."${deps."git2"."0.8.0"."libc"}" deps) + (features_.libgit2_sys."${deps."git2"."0.8.0"."libgit2_sys"}" deps) + (features_.log."${deps."git2"."0.8.0"."log"}" deps) + (features_.url."${deps."git2"."0.8.0"."url"}" deps) + (features_.openssl_probe."${deps."git2"."0.8.0"."openssl_probe"}" deps) + (features_.openssl_sys."${deps."git2"."0.8.0"."openssl_sys"}" deps) + ]; + + +# end +# git2-curl-0.9.0 + + crates.git2_curl."0.9.0" = deps: { features?(features_.git2_curl."0.9.0" deps {}) }: buildRustCrate { + crateName = "git2-curl"; + version = "0.9.0"; + description = "Backend for an HTTP transport in libgit2 powered by libcurl.\n\nIntended to be used with the git2 crate.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "0m7bjx7pbrd7hiwwbazgigv9anici9jfwgzhp3q47smbwszdv2hh"; + dependencies = mapFeatures features ([ + (crates."curl"."${deps."git2_curl"."0.9.0"."curl"}" deps) + (crates."git2"."${deps."git2_curl"."0.9.0"."git2"}" deps) + (crates."log"."${deps."git2_curl"."0.9.0"."log"}" deps) + (crates."url"."${deps."git2_curl"."0.9.0"."url"}" deps) + ]); + }; + features_.git2_curl."0.9.0" = deps: f: updateFeatures f (rec { + curl."${deps.git2_curl."0.9.0".curl}".default = true; + git2."${deps.git2_curl."0.9.0".git2}".default = (f.git2."${deps.git2_curl."0.9.0".git2}".default or false); + git2_curl."0.9.0".default = (f.git2_curl."0.9.0".default or true); + log."${deps.git2_curl."0.9.0".log}".default = true; + url."${deps.git2_curl."0.9.0".url}".default = true; + }) [ + (features_.curl."${deps."git2_curl"."0.9.0"."curl"}" deps) + (features_.git2."${deps."git2_curl"."0.9.0"."git2"}" deps) + (features_.log."${deps."git2_curl"."0.9.0"."log"}" deps) + (features_.url."${deps."git2_curl"."0.9.0"."url"}" deps) + ]; + + +# end +# glob-0.2.11 + + crates.glob."0.2.11" = deps: { features?(features_.glob."0.2.11" deps {}) }: buildRustCrate { + crateName = "glob"; + version = "0.2.11"; + description = "Support for matching file paths against Unix shell style patterns.\n"; + authors = [ "The Rust Project Developers" ]; + sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf"; + }; + features_.glob."0.2.11" = deps: f: updateFeatures f (rec { + glob."0.2.11".default = (f.glob."0.2.11".default or true); + }) []; + + +# end +# globset-0.4.3 + + crates.globset."0.4.3" = deps: { features?(features_.globset."0.4.3" deps {}) }: buildRustCrate { + crateName = "globset"; + version = "0.4.3"; + description = "Cross platform single glob and glob set matching. Glob set matching is the\nprocess of matching one or more glob patterns against a single candidate path\nsimultaneously, and returning all of the globs that matched.\n"; + authors = [ "Andrew Gallant " ]; + sha256 = "0vj99vw55mp7w44p1157f9c44q5lms6sn0mllhavwrwdn3iyfrij"; + dependencies = mapFeatures features ([ + (crates."aho_corasick"."${deps."globset"."0.4.3"."aho_corasick"}" deps) + (crates."bstr"."${deps."globset"."0.4.3"."bstr"}" deps) + (crates."fnv"."${deps."globset"."0.4.3"."fnv"}" deps) + (crates."log"."${deps."globset"."0.4.3"."log"}" deps) + (crates."regex"."${deps."globset"."0.4.3"."regex"}" deps) + ]); + features = mkFeatures (features."globset"."0.4.3" or {}); + }; + features_.globset."0.4.3" = deps: f: updateFeatures f (rec { + aho_corasick."${deps.globset."0.4.3".aho_corasick}".default = true; + bstr = fold recursiveUpdate {} [ + { "${deps.globset."0.4.3".bstr}"."std" = true; } + { "${deps.globset."0.4.3".bstr}".default = (f.bstr."${deps.globset."0.4.3".bstr}".default or false); } + ]; + fnv."${deps.globset."0.4.3".fnv}".default = true; + globset."0.4.3".default = (f.globset."0.4.3".default or true); + log."${deps.globset."0.4.3".log}".default = true; + regex."${deps.globset."0.4.3".regex}".default = true; + }) [ + (features_.aho_corasick."${deps."globset"."0.4.3"."aho_corasick"}" deps) + (features_.bstr."${deps."globset"."0.4.3"."bstr"}" deps) + (features_.fnv."${deps."globset"."0.4.3"."fnv"}" deps) + (features_.log."${deps."globset"."0.4.3"."log"}" deps) + (features_.regex."${deps."globset"."0.4.3"."regex"}" deps) + ]; + + +# end +# hashbrown-0.1.8 + + crates.hashbrown."0.1.8" = deps: { features?(features_.hashbrown."0.1.8" deps {}) }: buildRustCrate { + crateName = "hashbrown"; + version = "0.1.8"; + description = "A Rust port of Google's SwissTable hash map"; + authors = [ "Amanieu d'Antras " ]; + sha256 = "047fk80pg59cdn5lz4h2a514fmgmya896dvy3dqqviia52a27fzh"; + dependencies = mapFeatures features ([ + (crates."byteorder"."${deps."hashbrown"."0.1.8"."byteorder"}" deps) + (crates."scopeguard"."${deps."hashbrown"."0.1.8"."scopeguard"}" deps) + ]); + features = mkFeatures (features."hashbrown"."0.1.8" or {}); + }; + features_.hashbrown."0.1.8" = deps: f: updateFeatures f (rec { + byteorder."${deps.hashbrown."0.1.8".byteorder}".default = (f.byteorder."${deps.hashbrown."0.1.8".byteorder}".default or false); + hashbrown."0.1.8".default = (f.hashbrown."0.1.8".default or true); + scopeguard."${deps.hashbrown."0.1.8".scopeguard}".default = (f.scopeguard."${deps.hashbrown."0.1.8".scopeguard}".default or false); + }) [ + (features_.byteorder."${deps."hashbrown"."0.1.8"."byteorder"}" deps) + (features_.scopeguard."${deps."hashbrown"."0.1.8"."scopeguard"}" deps) + ]; + + +# end +# hex-0.3.2 + + crates.hex."0.3.2" = deps: { features?(features_.hex."0.3.2" deps {}) }: buildRustCrate { + crateName = "hex"; + version = "0.3.2"; + description = "Encoding and decoding data into/from hexadecimal representation."; + authors = [ "KokaKiwi " ]; + sha256 = "0hs0xfb4x67y4ss9mmbjmibkwakbn3xf23i21m409bw2zqk9b6kz"; + features = mkFeatures (features."hex"."0.3.2" or {}); + }; + features_.hex."0.3.2" = deps: f: updateFeatures f (rec { + hex."0.3.2".default = (f.hex."0.3.2".default or true); + }) []; + + +# end +# home-0.3.4 + + crates.home."0.3.4" = deps: { features?(features_.home."0.3.4" deps {}) }: buildRustCrate { + crateName = "home"; + version = "0.3.4"; + description = "Shared definitions of home directories"; + authors = [ "Brian Anderson " ]; + sha256 = "19fbzvv74wqxqpdlz6ri1p270i8hp17h8njjj68k98sgrabkcr0n"; + dependencies = (if kernel == "windows" then mapFeatures features ([ + (crates."scopeguard"."${deps."home"."0.3.4"."scopeguard"}" deps) + (crates."winapi"."${deps."home"."0.3.4"."winapi"}" deps) + ]) else []); + }; + features_.home."0.3.4" = deps: f: updateFeatures f (rec { + home."0.3.4".default = (f.home."0.3.4".default or true); + scopeguard."${deps.home."0.3.4".scopeguard}".default = true; + winapi = fold recursiveUpdate {} [ + { "${deps.home."0.3.4".winapi}"."errhandlingapi" = true; } + { "${deps.home."0.3.4".winapi}"."handleapi" = true; } + { "${deps.home."0.3.4".winapi}"."processthreadsapi" = true; } + { "${deps.home."0.3.4".winapi}"."std" = true; } + { "${deps.home."0.3.4".winapi}"."userenv" = true; } + { "${deps.home."0.3.4".winapi}"."winerror" = true; } + { "${deps.home."0.3.4".winapi}"."winnt" = true; } + { "${deps.home."0.3.4".winapi}".default = true; } + ]; + }) [ + (features_.scopeguard."${deps."home"."0.3.4"."scopeguard"}" deps) + (features_.winapi."${deps."home"."0.3.4"."winapi"}" deps) + ]; + + +# end +# http-0.1.17 + + crates.http."0.1.17" = deps: { features?(features_.http."0.1.17" deps {}) }: buildRustCrate { + crateName = "http"; + version = "0.1.17"; + description = "A set of types for representing HTTP requests and responses.\n"; + authors = [ "Alex Crichton " "Carl Lerche " "Sean McArthur " ]; + sha256 = "0q71wgggg1h5kjyg1gb4m70g3ian9qwrkx2b9wwvfyafrkmjpg9c"; + dependencies = mapFeatures features ([ + (crates."bytes"."${deps."http"."0.1.17"."bytes"}" deps) + (crates."fnv"."${deps."http"."0.1.17"."fnv"}" deps) + (crates."itoa"."${deps."http"."0.1.17"."itoa"}" deps) + ]); + }; + features_.http."0.1.17" = deps: f: updateFeatures f (rec { + bytes."${deps.http."0.1.17".bytes}".default = true; + fnv."${deps.http."0.1.17".fnv}".default = true; + http."0.1.17".default = (f.http."0.1.17".default or true); + itoa."${deps.http."0.1.17".itoa}".default = true; + }) [ + (features_.bytes."${deps."http"."0.1.17"."bytes"}" deps) + (features_.fnv."${deps."http"."0.1.17"."fnv"}" deps) + (features_.itoa."${deps."http"."0.1.17"."itoa"}" deps) + ]; + + +# end +# ignore-0.4.7 + + crates.ignore."0.4.7" = deps: { features?(features_.ignore."0.4.7" deps {}) }: buildRustCrate { + crateName = "ignore"; + version = "0.4.7"; + description = "A fast library for efficiently matching ignore files such as `.gitignore`\nagainst file paths.\n"; + authors = [ "Andrew Gallant " ]; + sha256 = "10ky0pnkzk6spa416sxvhcpc1nxq56n6mxkmhzy3ws57x9v75nkj"; + dependencies = mapFeatures features ([ + (crates."crossbeam_channel"."${deps."ignore"."0.4.7"."crossbeam_channel"}" deps) + (crates."globset"."${deps."ignore"."0.4.7"."globset"}" deps) + (crates."lazy_static"."${deps."ignore"."0.4.7"."lazy_static"}" deps) + (crates."log"."${deps."ignore"."0.4.7"."log"}" deps) + (crates."memchr"."${deps."ignore"."0.4.7"."memchr"}" deps) + (crates."regex"."${deps."ignore"."0.4.7"."regex"}" deps) + (crates."same_file"."${deps."ignore"."0.4.7"."same_file"}" deps) + (crates."thread_local"."${deps."ignore"."0.4.7"."thread_local"}" deps) + (crates."walkdir"."${deps."ignore"."0.4.7"."walkdir"}" deps) + ]) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi_util"."${deps."ignore"."0.4.7"."winapi_util"}" deps) + ]) else []); + features = mkFeatures (features."ignore"."0.4.7" or {}); + }; + features_.ignore."0.4.7" = deps: f: updateFeatures f (rec { + crossbeam_channel."${deps.ignore."0.4.7".crossbeam_channel}".default = true; + globset = fold recursiveUpdate {} [ + { "${deps.ignore."0.4.7".globset}"."simd-accel" = + (f.globset."${deps.ignore."0.4.7".globset}"."simd-accel" or false) || + (ignore."0.4.7"."simd-accel" or false) || + (f."ignore"."0.4.7"."simd-accel" or false); } + { "${deps.ignore."0.4.7".globset}".default = true; } + ]; + ignore."0.4.7".default = (f.ignore."0.4.7".default or true); + lazy_static."${deps.ignore."0.4.7".lazy_static}".default = true; + log."${deps.ignore."0.4.7".log}".default = true; + memchr."${deps.ignore."0.4.7".memchr}".default = true; + regex."${deps.ignore."0.4.7".regex}".default = true; + same_file."${deps.ignore."0.4.7".same_file}".default = true; + thread_local."${deps.ignore."0.4.7".thread_local}".default = true; + walkdir."${deps.ignore."0.4.7".walkdir}".default = true; + winapi_util."${deps.ignore."0.4.7".winapi_util}".default = true; + }) [ + (features_.crossbeam_channel."${deps."ignore"."0.4.7"."crossbeam_channel"}" deps) + (features_.globset."${deps."ignore"."0.4.7"."globset"}" deps) + (features_.lazy_static."${deps."ignore"."0.4.7"."lazy_static"}" deps) + (features_.log."${deps."ignore"."0.4.7"."log"}" deps) + (features_.memchr."${deps."ignore"."0.4.7"."memchr"}" deps) + (features_.regex."${deps."ignore"."0.4.7"."regex"}" deps) + (features_.same_file."${deps."ignore"."0.4.7"."same_file"}" deps) + (features_.thread_local."${deps."ignore"."0.4.7"."thread_local"}" deps) + (features_.walkdir."${deps."ignore"."0.4.7"."walkdir"}" deps) + (features_.winapi_util."${deps."ignore"."0.4.7"."winapi_util"}" deps) + ]; + + +# end +# im-rc-12.3.4 + + crates.im_rc."12.3.4" = deps: { features?(features_.im_rc."12.3.4" deps {}) }: buildRustCrate { + crateName = "im-rc"; + version = "12.3.4"; + description = "Immutable collection datatypes (the fast but not thread safe version)"; + authors = [ "Bodil Stokke " ]; + edition = "2018"; + sha256 = "0l53vjm7ycccb0lxj1zpgvlik5rpngnf9gggvgb3jbdv2jxjkdhz"; + libPath = "./src/lib.rs"; + build = "./build.rs"; + dependencies = mapFeatures features ([ + (crates."sized_chunks"."${deps."im_rc"."12.3.4"."sized_chunks"}" deps) + (crates."typenum"."${deps."im_rc"."12.3.4"."typenum"}" deps) + ]); + + buildDependencies = mapFeatures features ([ + (crates."rustc_version"."${deps."im_rc"."12.3.4"."rustc_version"}" deps) + ]); + }; + features_.im_rc."12.3.4" = deps: f: updateFeatures f (rec { + im_rc."12.3.4".default = (f.im_rc."12.3.4".default or true); + rustc_version."${deps.im_rc."12.3.4".rustc_version}".default = true; + sized_chunks."${deps.im_rc."12.3.4".sized_chunks}".default = true; + typenum."${deps.im_rc."12.3.4".typenum}".default = true; + }) [ + (features_.sized_chunks."${deps."im_rc"."12.3.4"."sized_chunks"}" deps) + (features_.typenum."${deps."im_rc"."12.3.4"."typenum"}" deps) + (features_.rustc_version."${deps."im_rc"."12.3.4"."rustc_version"}" deps) + ]; + + +# end +# iovec-0.1.2 + + crates.iovec."0.1.2" = deps: { features?(features_.iovec."0.1.2" deps {}) }: buildRustCrate { + crateName = "iovec"; + version = "0.1.2"; + description = "Portable buffer type for scatter/gather I/O operations\n"; + authors = [ "Carl Lerche " ]; + sha256 = "0vjymmb7wj4v4kza5jjn48fcdb85j3k37y7msjl3ifz0p9yiyp2r"; + dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ + (crates."libc"."${deps."iovec"."0.1.2"."libc"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."iovec"."0.1.2"."winapi"}" deps) + ]) else []); + }; + features_.iovec."0.1.2" = deps: f: updateFeatures f (rec { + iovec."0.1.2".default = (f.iovec."0.1.2".default or true); + libc."${deps.iovec."0.1.2".libc}".default = true; + winapi."${deps.iovec."0.1.2".winapi}".default = true; + }) [ + (features_.libc."${deps."iovec"."0.1.2"."libc"}" deps) + (features_.winapi."${deps."iovec"."0.1.2"."winapi"}" deps) + ]; + + +# end +# itertools-0.7.11 + + crates.itertools."0.7.11" = deps: { features?(features_.itertools."0.7.11" deps {}) }: buildRustCrate { + crateName = "itertools"; + version = "0.7.11"; + description = "Extra iterator adaptors, iterator methods, free functions, and macros."; + authors = [ "bluss" ]; + sha256 = "0gavmkvn2c3cwfwk5zl5p7saiqn4ww227am5ykn6pgfm7c6ppz56"; + dependencies = mapFeatures features ([ + (crates."either"."${deps."itertools"."0.7.11"."either"}" deps) + ]); + features = mkFeatures (features."itertools"."0.7.11" or {}); + }; + features_.itertools."0.7.11" = deps: f: updateFeatures f (rec { + either."${deps.itertools."0.7.11".either}".default = (f.either."${deps.itertools."0.7.11".either}".default or false); + itertools = fold recursiveUpdate {} [ + { "0.7.11"."use_std" = + (f.itertools."0.7.11"."use_std" or false) || + (f.itertools."0.7.11".default or false) || + (itertools."0.7.11"."default" or false); } + { "0.7.11".default = (f.itertools."0.7.11".default or true); } + ]; + }) [ + (features_.either."${deps."itertools"."0.7.11"."either"}" deps) + ]; + + +# end +# jobserver-0.1.13 + + crates.jobserver."0.1.13" = deps: { features?(features_.jobserver."0.1.13" deps {}) }: buildRustCrate { + crateName = "jobserver"; + version = "0.1.13"; + description = "An implementation of the GNU make jobserver for Rust\n"; + authors = [ "Alex Crichton " ]; + sha256 = "01h08h0k9i7cvlnlw53jf398d03k5kxrs7m30xl7h9s5dlw0vi9i"; + dependencies = mapFeatures features ([ + (crates."log"."${deps."jobserver"."0.1.13"."log"}" deps) + ]) + ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ + (crates."libc"."${deps."jobserver"."0.1.13"."libc"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."rand"."${deps."jobserver"."0.1.13"."rand"}" deps) + ]) else []); + }; + features_.jobserver."0.1.13" = deps: f: updateFeatures f (rec { + jobserver."0.1.13".default = (f.jobserver."0.1.13".default or true); + libc."${deps.jobserver."0.1.13".libc}".default = true; + log."${deps.jobserver."0.1.13".log}".default = true; + rand."${deps.jobserver."0.1.13".rand}".default = true; + }) [ + (features_.log."${deps."jobserver"."0.1.13"."log"}" deps) + (features_.libc."${deps."jobserver"."0.1.13"."libc"}" deps) + (features_.rand."${deps."jobserver"."0.1.13"."rand"}" deps) + ]; + + +# end +# kernel32-sys-0.2.2 + + crates.kernel32_sys."0.2.2" = deps: { features?(features_.kernel32_sys."0.2.2" deps {}) }: buildRustCrate { + crateName = "kernel32-sys"; + version = "0.2.2"; + description = "Contains function definitions for the Windows API library kernel32. See winapi for types and constants."; + authors = [ "Peter Atashian " ]; + sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj"; + libName = "kernel32"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."winapi"."${deps."kernel32_sys"."0.2.2"."winapi"}" deps) + ]); + + buildDependencies = mapFeatures features ([ + (crates."winapi_build"."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps) + ]); + }; + features_.kernel32_sys."0.2.2" = deps: f: updateFeatures f (rec { + kernel32_sys."0.2.2".default = (f.kernel32_sys."0.2.2".default or true); + winapi."${deps.kernel32_sys."0.2.2".winapi}".default = true; + winapi_build."${deps.kernel32_sys."0.2.2".winapi_build}".default = true; + }) [ + (features_.winapi."${deps."kernel32_sys"."0.2.2"."winapi"}" deps) + (features_.winapi_build."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps) + ]; + + +# end +# lazycell-1.2.1 + + crates.lazycell."1.2.1" = deps: { features?(features_.lazycell."1.2.1" deps {}) }: buildRustCrate { + crateName = "lazycell"; + version = "1.2.1"; + description = "A library providing a lazily filled Cell struct"; + authors = [ "Alex Crichton " "Nikita Pekin " ]; + sha256 = "1m4h2q9rgxrgc7xjnws1x81lrb68jll8w3pykx1a9bhr29q2mcwm"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."lazycell"."1.2.1" or {}); + }; + features_.lazycell."1.2.1" = deps: f: updateFeatures f (rec { + lazycell = fold recursiveUpdate {} [ + { "1.2.1"."clippy" = + (f.lazycell."1.2.1"."clippy" or false) || + (f.lazycell."1.2.1".nightly-testing or false) || + (lazycell."1.2.1"."nightly-testing" or false); } + { "1.2.1"."nightly" = + (f.lazycell."1.2.1"."nightly" or false) || + (f.lazycell."1.2.1".nightly-testing or false) || + (lazycell."1.2.1"."nightly-testing" or false); } + { "1.2.1".default = (f.lazycell."1.2.1".default or true); } + ]; + }) []; + + +# end +# libc-0.2.51 + + crates.libc."0.2.51" = deps: { features?(features_.libc."0.2.51" deps {}) }: buildRustCrate { + crateName = "libc"; + version = "0.2.51"; + description = "Raw FFI bindings to platform libraries like libc.\n"; + authors = [ "The Rust Project Developers" ]; + sha256 = "1lzavxj1ymm7vghs6nmzq9shprdlqby73py9k30gwvv0dwy365cv"; + build = "build.rs"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."libc"."0.2.51" or {}); + }; + features_.libc."0.2.51" = deps: f: updateFeatures f (rec { + libc = fold recursiveUpdate {} [ + { "0.2.51"."align" = + (f.libc."0.2.51"."align" or false) || + (f.libc."0.2.51".rustc-dep-of-std or false) || + (libc."0.2.51"."rustc-dep-of-std" or false); } + { "0.2.51"."rustc-std-workspace-core" = + (f.libc."0.2.51"."rustc-std-workspace-core" or false) || + (f.libc."0.2.51".rustc-dep-of-std or false) || + (libc."0.2.51"."rustc-dep-of-std" or false); } + { "0.2.51"."use_std" = + (f.libc."0.2.51"."use_std" or false) || + (f.libc."0.2.51".default or false) || + (libc."0.2.51"."default" or false); } + { "0.2.51".default = (f.libc."0.2.51".default or true); } + ]; + }) []; + + +# end +# libgit2-sys-0.7.11 + + crates.libgit2_sys."0.7.11" = deps: { features?(features_.libgit2_sys."0.7.11" deps {}) }: buildRustCrate { + crateName = "libgit2-sys"; + version = "0.7.11"; + description = "Native bindings to the libgit2 library"; + authors = [ "Alex Crichton " ]; + sha256 = "12wyfl7xl7lpz65s17j5rf9xfkn461792f67jqsz0ign3daaac9h"; + libPath = "lib.rs"; + libName = "libgit2_sys"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."libc"."${deps."libgit2_sys"."0.7.11"."libc"}" deps) + (crates."libz_sys"."${deps."libgit2_sys"."0.7.11"."libz_sys"}" deps) + ] + ++ (if features.libgit2_sys."0.7.11".curl-sys or false then [ (crates.curl_sys."${deps."libgit2_sys"."0.7.11".curl_sys}" deps) ] else []) + ++ (if features.libgit2_sys."0.7.11".libssh2-sys or false then [ (crates.libssh2_sys."${deps."libgit2_sys"."0.7.11".libssh2_sys}" deps) ] else [])) + ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ + ] + ++ (if features.libgit2_sys."0.7.11".openssl-sys or false then [ (crates.openssl_sys."${deps."libgit2_sys"."0.7.11".openssl_sys}" deps) ] else [])) else []); + + buildDependencies = mapFeatures features ([ + (crates."cc"."${deps."libgit2_sys"."0.7.11"."cc"}" deps) + (crates."pkg_config"."${deps."libgit2_sys"."0.7.11"."pkg_config"}" deps) + ]); + features = mkFeatures (features."libgit2_sys"."0.7.11" or {}); + }; + features_.libgit2_sys."0.7.11" = deps: f: updateFeatures f (rec { + cc."${deps.libgit2_sys."0.7.11".cc}".default = true; + curl_sys."${deps.libgit2_sys."0.7.11".curl_sys}".default = true; + libc."${deps.libgit2_sys."0.7.11".libc}".default = true; + libgit2_sys = fold recursiveUpdate {} [ + { "0.7.11"."curl-sys" = + (f.libgit2_sys."0.7.11"."curl-sys" or false) || + (f.libgit2_sys."0.7.11".curl or false) || + (libgit2_sys."0.7.11"."curl" or false); } + { "0.7.11"."libssh2-sys" = + (f.libgit2_sys."0.7.11"."libssh2-sys" or false) || + (f.libgit2_sys."0.7.11".ssh or false) || + (libgit2_sys."0.7.11"."ssh" or false); } + { "0.7.11"."openssl-sys" = + (f.libgit2_sys."0.7.11"."openssl-sys" or false) || + (f.libgit2_sys."0.7.11".https or false) || + (libgit2_sys."0.7.11"."https" or false); } + { "0.7.11".default = (f.libgit2_sys."0.7.11".default or true); } + ]; + libssh2_sys."${deps.libgit2_sys."0.7.11".libssh2_sys}".default = true; + libz_sys."${deps.libgit2_sys."0.7.11".libz_sys}".default = true; + openssl_sys."${deps.libgit2_sys."0.7.11".openssl_sys}".default = true; + pkg_config."${deps.libgit2_sys."0.7.11".pkg_config}".default = true; + }) [ + (features_.curl_sys."${deps."libgit2_sys"."0.7.11"."curl_sys"}" deps) + (features_.libc."${deps."libgit2_sys"."0.7.11"."libc"}" deps) + (features_.libssh2_sys."${deps."libgit2_sys"."0.7.11"."libssh2_sys"}" deps) + (features_.libz_sys."${deps."libgit2_sys"."0.7.11"."libz_sys"}" deps) + (features_.cc."${deps."libgit2_sys"."0.7.11"."cc"}" deps) + (features_.pkg_config."${deps."libgit2_sys"."0.7.11"."pkg_config"}" deps) + (features_.openssl_sys."${deps."libgit2_sys"."0.7.11"."openssl_sys"}" deps) + ]; + + +# end +# libnghttp2-sys-0.1.1 + + crates.libnghttp2_sys."0.1.1" = deps: { features?(features_.libnghttp2_sys."0.1.1" deps {}) }: buildRustCrate { + crateName = "libnghttp2-sys"; + version = "0.1.1"; + description = "FFI bindings for libnghttp2 (nghttp2)\n"; + authors = [ "Alex Crichton " ]; + sha256 = "08z41i7d8pm0jzv6p77kp22hh0a4psdy109n6nxr8x2k1ibjxk8w"; + dependencies = mapFeatures features ([ + (crates."libc"."${deps."libnghttp2_sys"."0.1.1"."libc"}" deps) + ]); + + buildDependencies = mapFeatures features ([ + (crates."cc"."${deps."libnghttp2_sys"."0.1.1"."cc"}" deps) + ]); + }; + features_.libnghttp2_sys."0.1.1" = deps: f: updateFeatures f (rec { + cc."${deps.libnghttp2_sys."0.1.1".cc}".default = true; + libc."${deps.libnghttp2_sys."0.1.1".libc}".default = true; + libnghttp2_sys."0.1.1".default = (f.libnghttp2_sys."0.1.1".default or true); + }) [ + (features_.libc."${deps."libnghttp2_sys"."0.1.1"."libc"}" deps) + (features_.cc."${deps."libnghttp2_sys"."0.1.1"."cc"}" deps) + ]; + + +# end +# libssh2-sys-0.2.11 + + crates.libssh2_sys."0.2.11" = deps: { features?(features_.libssh2_sys."0.2.11" deps {}) }: buildRustCrate { + crateName = "libssh2-sys"; + version = "0.2.11"; + description = "Native bindings to the libssh2 library"; + authors = [ "Alex Crichton " ]; + sha256 = "1mjily9qjjjf31pzvlxyqnp1midjc77s6sd303j46d14igna7nhi"; + libPath = "lib.rs"; + libName = "libssh2_sys"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."libc"."${deps."libssh2_sys"."0.2.11"."libc"}" deps) + (crates."libz_sys"."${deps."libssh2_sys"."0.2.11"."libz_sys"}" deps) + ]) + ++ (if abi == "msvc" then mapFeatures features ([ +]) else []) + ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ + (crates."openssl_sys"."${deps."libssh2_sys"."0.2.11"."openssl_sys"}" deps) + ]) else []); + + buildDependencies = mapFeatures features ([ + (crates."cc"."${deps."libssh2_sys"."0.2.11"."cc"}" deps) + (crates."pkg_config"."${deps."libssh2_sys"."0.2.11"."pkg_config"}" deps) + ]); + }; + features_.libssh2_sys."0.2.11" = deps: f: updateFeatures f (rec { + cc."${deps.libssh2_sys."0.2.11".cc}".default = true; + libc."${deps.libssh2_sys."0.2.11".libc}".default = true; + libssh2_sys."0.2.11".default = (f.libssh2_sys."0.2.11".default or true); + libz_sys."${deps.libssh2_sys."0.2.11".libz_sys}".default = true; + openssl_sys."${deps.libssh2_sys."0.2.11".openssl_sys}".default = true; + pkg_config."${deps.libssh2_sys."0.2.11".pkg_config}".default = true; + }) [ + (features_.libc."${deps."libssh2_sys"."0.2.11"."libc"}" deps) + (features_.libz_sys."${deps."libssh2_sys"."0.2.11"."libz_sys"}" deps) + (features_.cc."${deps."libssh2_sys"."0.2.11"."cc"}" deps) + (features_.pkg_config."${deps."libssh2_sys"."0.2.11"."pkg_config"}" deps) + (features_.openssl_sys."${deps."libssh2_sys"."0.2.11"."openssl_sys"}" deps) + ]; + + +# end +# libz-sys-1.0.25 + + crates.libz_sys."1.0.25" = deps: { features?(features_.libz_sys."1.0.25" deps {}) }: buildRustCrate { + crateName = "libz-sys"; + version = "1.0.25"; + description = "Bindings to the system libz library (also known as zlib).\n"; + authors = [ "Alex Crichton " ]; + sha256 = "195jzg8mgjbvmkbpx1rzkzrqm0g2fdivk79v44c9lzl64r3f9fym"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."libc"."${deps."libz_sys"."1.0.25"."libc"}" deps) + ]) + ++ (if abi == "msvc" then mapFeatures features ([ +]) else []); + + buildDependencies = mapFeatures features ([ + (crates."cc"."${deps."libz_sys"."1.0.25"."cc"}" deps) + (crates."pkg_config"."${deps."libz_sys"."1.0.25"."pkg_config"}" deps) + ]); + features = mkFeatures (features."libz_sys"."1.0.25" or {}); + }; + features_.libz_sys."1.0.25" = deps: f: updateFeatures f (rec { + cc."${deps.libz_sys."1.0.25".cc}".default = true; + libc."${deps.libz_sys."1.0.25".libc}".default = true; + libz_sys."1.0.25".default = (f.libz_sys."1.0.25".default or true); + pkg_config."${deps.libz_sys."1.0.25".pkg_config}".default = true; + }) [ + (features_.libc."${deps."libz_sys"."1.0.25"."libc"}" deps) + (features_.cc."${deps."libz_sys"."1.0.25"."cc"}" deps) + (features_.pkg_config."${deps."libz_sys"."1.0.25"."pkg_config"}" deps) + ]; + + +# end +# lock_api-0.1.5 + + crates.lock_api."0.1.5" = deps: { features?(features_.lock_api."0.1.5" deps {}) }: buildRustCrate { + crateName = "lock_api"; + version = "0.1.5"; + description = "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std."; + authors = [ "Amanieu d'Antras " ]; + sha256 = "132sidr5hvjfkaqm3l95zpcpi8yk5ddd0g79zf1ad4v65sxirqqm"; + dependencies = mapFeatures features ([ + (crates."scopeguard"."${deps."lock_api"."0.1.5"."scopeguard"}" deps) + ]); + features = mkFeatures (features."lock_api"."0.1.5" or {}); + }; + features_.lock_api."0.1.5" = deps: f: updateFeatures f (rec { + lock_api."0.1.5".default = (f.lock_api."0.1.5".default or true); + scopeguard."${deps.lock_api."0.1.5".scopeguard}".default = (f.scopeguard."${deps.lock_api."0.1.5".scopeguard}".default or false); + }) [ + (features_.scopeguard."${deps."lock_api"."0.1.5"."scopeguard"}" deps) + ]; + + +# end +# matrixmultiply-0.1.15 + + crates.matrixmultiply."0.1.15" = deps: { features?(features_.matrixmultiply."0.1.15" deps {}) }: buildRustCrate { + crateName = "matrixmultiply"; + version = "0.1.15"; + description = "General matrix multiplication of f32 and f64 matrices in Rust. Supports matrices with general strides. Uses a microkernel strategy, so that the implementation is easy to parallelize and optimize. `RUSTFLAGS=\"-C target-cpu=native\"` is your friend here."; + authors = [ "bluss" ]; + sha256 = "0ix1i4lnkfqnzv8f9wr34bf0mlr1sx5hr7yr70k4npxmwxscvdj5"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."rawpointer"."${deps."matrixmultiply"."0.1.15"."rawpointer"}" deps) + ]); + }; + features_.matrixmultiply."0.1.15" = deps: f: updateFeatures f (rec { + matrixmultiply."0.1.15".default = (f.matrixmultiply."0.1.15".default or true); + rawpointer."${deps.matrixmultiply."0.1.15".rawpointer}".default = true; + }) [ + (features_.rawpointer."${deps."matrixmultiply"."0.1.15"."rawpointer"}" deps) + ]; + + +# end +# miniz-sys-0.1.11 + + crates.miniz_sys."0.1.11" = deps: { features?(features_.miniz_sys."0.1.11" deps {}) }: buildRustCrate { + crateName = "miniz-sys"; + version = "0.1.11"; + description = "Bindings to the miniz.c library.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "0l2wsakqjj7kc06dwxlpz4h8wih0f9d1idrz5gb1svipvh81khsm"; + libPath = "lib.rs"; + libName = "miniz_sys"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."libc"."${deps."miniz_sys"."0.1.11"."libc"}" deps) + ]); + + buildDependencies = mapFeatures features ([ + (crates."cc"."${deps."miniz_sys"."0.1.11"."cc"}" deps) + ]); + }; + features_.miniz_sys."0.1.11" = deps: f: updateFeatures f (rec { + cc."${deps.miniz_sys."0.1.11".cc}".default = true; + libc."${deps.miniz_sys."0.1.11".libc}".default = true; + miniz_sys."0.1.11".default = (f.miniz_sys."0.1.11".default or true); + }) [ + (features_.libc."${deps."miniz_sys"."0.1.11"."libc"}" deps) + (features_.cc."${deps."miniz_sys"."0.1.11"."cc"}" deps) + ]; + + +# end +# miniz_oxide-0.2.1 + + crates.miniz_oxide."0.2.1" = deps: { features?(features_.miniz_oxide."0.2.1" deps {}) }: buildRustCrate { + crateName = "miniz_oxide"; + version = "0.2.1"; + description = "DEFLATE compression and decompression library rewritten in Rust based on miniz"; + authors = [ "Frommi " ]; + sha256 = "1ly14vlk0gq7czi1323l2dsy5y8dpvdwld4h9083i0y3hx9iyfdz"; + dependencies = mapFeatures features ([ + (crates."adler32"."${deps."miniz_oxide"."0.2.1"."adler32"}" deps) + ]); + }; + features_.miniz_oxide."0.2.1" = deps: f: updateFeatures f (rec { + adler32."${deps.miniz_oxide."0.2.1".adler32}".default = true; + miniz_oxide."0.2.1".default = (f.miniz_oxide."0.2.1".default or true); + }) [ + (features_.adler32."${deps."miniz_oxide"."0.2.1"."adler32"}" deps) + ]; + + +# end +# miniz_oxide_c_api-0.2.1 + + crates.miniz_oxide_c_api."0.2.1" = deps: { features?(features_.miniz_oxide_c_api."0.2.1" deps {}) }: buildRustCrate { + crateName = "miniz_oxide_c_api"; + version = "0.2.1"; + description = "DEFLATE compression and decompression API designed to be Rust drop-in replacement for miniz"; + authors = [ "Frommi " ]; + sha256 = "1zsk334nhy2rvyhbr0815l0gp6w40al6rxxafkycaafx3m9j8cj2"; + build = "src/build.rs"; + dependencies = mapFeatures features ([ + (crates."crc"."${deps."miniz_oxide_c_api"."0.2.1"."crc"}" deps) + (crates."libc"."${deps."miniz_oxide_c_api"."0.2.1"."libc"}" deps) + (crates."miniz_oxide"."${deps."miniz_oxide_c_api"."0.2.1"."miniz_oxide"}" deps) + ]); + + buildDependencies = mapFeatures features ([ + (crates."cc"."${deps."miniz_oxide_c_api"."0.2.1"."cc"}" deps) + ]); + features = mkFeatures (features."miniz_oxide_c_api"."0.2.1" or {}); + }; + features_.miniz_oxide_c_api."0.2.1" = deps: f: updateFeatures f (rec { + cc."${deps.miniz_oxide_c_api."0.2.1".cc}".default = true; + crc."${deps.miniz_oxide_c_api."0.2.1".crc}".default = true; + libc."${deps.miniz_oxide_c_api."0.2.1".libc}".default = true; + miniz_oxide."${deps.miniz_oxide_c_api."0.2.1".miniz_oxide}".default = true; + miniz_oxide_c_api = fold recursiveUpdate {} [ + { "0.2.1"."build_orig_miniz" = + (f.miniz_oxide_c_api."0.2.1"."build_orig_miniz" or false) || + (f.miniz_oxide_c_api."0.2.1".benching or false) || + (miniz_oxide_c_api."0.2.1"."benching" or false) || + (f.miniz_oxide_c_api."0.2.1".fuzzing or false) || + (miniz_oxide_c_api."0.2.1"."fuzzing" or false); } + { "0.2.1"."build_stub_miniz" = + (f.miniz_oxide_c_api."0.2.1"."build_stub_miniz" or false) || + (f.miniz_oxide_c_api."0.2.1".miniz_zip or false) || + (miniz_oxide_c_api."0.2.1"."miniz_zip" or false); } + { "0.2.1"."no_c_export" = + (f.miniz_oxide_c_api."0.2.1"."no_c_export" or false) || + (f.miniz_oxide_c_api."0.2.1".benching or false) || + (miniz_oxide_c_api."0.2.1"."benching" or false) || + (f.miniz_oxide_c_api."0.2.1".fuzzing or false) || + (miniz_oxide_c_api."0.2.1"."fuzzing" or false); } + { "0.2.1".default = (f.miniz_oxide_c_api."0.2.1".default or true); } + ]; + }) [ + (features_.crc."${deps."miniz_oxide_c_api"."0.2.1"."crc"}" deps) + (features_.libc."${deps."miniz_oxide_c_api"."0.2.1"."libc"}" deps) + (features_.miniz_oxide."${deps."miniz_oxide_c_api"."0.2.1"."miniz_oxide"}" deps) + (features_.cc."${deps."miniz_oxide_c_api"."0.2.1"."cc"}" deps) + ]; + + +# end +# miow-0.3.3 + + crates.miow."0.3.3" = deps: { features?(features_.miow."0.3.3" deps {}) }: buildRustCrate { + crateName = "miow"; + version = "0.3.3"; + description = "A zero overhead I/O library for Windows, focusing on IOCP and Async I/O\nabstractions.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "1mlk5mn00cl6bmf8qlpc6r85dxf4l45vbkbzshsr1mrkb3hn1j57"; + dependencies = mapFeatures features ([ + (crates."socket2"."${deps."miow"."0.3.3"."socket2"}" deps) + (crates."winapi"."${deps."miow"."0.3.3"."winapi"}" deps) + ]); + }; + features_.miow."0.3.3" = deps: f: updateFeatures f (rec { + miow."0.3.3".default = (f.miow."0.3.3".default or true); + socket2."${deps.miow."0.3.3".socket2}".default = true; + winapi = fold recursiveUpdate {} [ + { "${deps.miow."0.3.3".winapi}"."fileapi" = true; } + { "${deps.miow."0.3.3".winapi}"."handleapi" = true; } + { "${deps.miow."0.3.3".winapi}"."ioapiset" = true; } + { "${deps.miow."0.3.3".winapi}"."minwindef" = true; } + { "${deps.miow."0.3.3".winapi}"."namedpipeapi" = true; } + { "${deps.miow."0.3.3".winapi}"."ntdef" = true; } + { "${deps.miow."0.3.3".winapi}"."std" = true; } + { "${deps.miow."0.3.3".winapi}"."synchapi" = true; } + { "${deps.miow."0.3.3".winapi}"."winerror" = true; } + { "${deps.miow."0.3.3".winapi}"."winsock2" = true; } + { "${deps.miow."0.3.3".winapi}"."ws2def" = true; } + { "${deps.miow."0.3.3".winapi}"."ws2ipdef" = true; } + { "${deps.miow."0.3.3".winapi}".default = true; } + ]; + }) [ + (features_.socket2."${deps."miow"."0.3.3"."socket2"}" deps) + (features_.winapi."${deps."miow"."0.3.3"."winapi"}" deps) + ]; + + +# end +# ndarray-0.12.1 + + crates.ndarray."0.12.1" = deps: { features?(features_.ndarray."0.12.1" deps {}) }: buildRustCrate { + crateName = "ndarray"; + version = "0.12.1"; + description = "An n-dimensional array for general elements and for numerics. Lightweight array views and slicing; views support chunking and splitting."; + authors = [ "bluss" "Jim Turner" ]; + sha256 = "13708k97kdjfj6g4z1yapjln0v4m7zj0114h8snw44fj79l00346"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."itertools"."${deps."ndarray"."0.12.1"."itertools"}" deps) + (crates."matrixmultiply"."${deps."ndarray"."0.12.1"."matrixmultiply"}" deps) + (crates."num_complex"."${deps."ndarray"."0.12.1"."num_complex"}" deps) + (crates."num_traits"."${deps."ndarray"."0.12.1"."num_traits"}" deps) + ]); + features = mkFeatures (features."ndarray"."0.12.1" or {}); + }; + features_.ndarray."0.12.1" = deps: f: updateFeatures f (rec { + itertools."${deps.ndarray."0.12.1".itertools}".default = (f.itertools."${deps.ndarray."0.12.1".itertools}".default or false); + matrixmultiply."${deps.ndarray."0.12.1".matrixmultiply}".default = true; + ndarray = fold recursiveUpdate {} [ + { "0.12.1"."blas" = + (f.ndarray."0.12.1"."blas" or false) || + (f.ndarray."0.12.1".test-blas-openblas-sys or false) || + (ndarray."0.12.1"."test-blas-openblas-sys" or false); } + { "0.12.1"."blas-src" = + (f.ndarray."0.12.1"."blas-src" or false) || + (f.ndarray."0.12.1".blas or false) || + (ndarray."0.12.1"."blas" or false); } + { "0.12.1"."cblas-sys" = + (f.ndarray."0.12.1"."cblas-sys" or false) || + (f.ndarray."0.12.1".blas or false) || + (ndarray."0.12.1"."blas" or false); } + { "0.12.1"."rustc-serialize" = + (f.ndarray."0.12.1"."rustc-serialize" or false) || + (f.ndarray."0.12.1".docs or false) || + (ndarray."0.12.1"."docs" or false); } + { "0.12.1"."serde" = + (f.ndarray."0.12.1"."serde" or false) || + (f.ndarray."0.12.1".serde-1 or false) || + (ndarray."0.12.1"."serde-1" or false); } + { "0.12.1"."serde-1" = + (f.ndarray."0.12.1"."serde-1" or false) || + (f.ndarray."0.12.1".docs or false) || + (ndarray."0.12.1"."docs" or false); } + { "0.12.1"."test-blas-openblas-sys" = + (f.ndarray."0.12.1"."test-blas-openblas-sys" or false) || + (f.ndarray."0.12.1".test or false) || + (ndarray."0.12.1"."test" or false); } + { "0.12.1".default = (f.ndarray."0.12.1".default or true); } + ]; + num_complex."${deps.ndarray."0.12.1".num_complex}".default = true; + num_traits."${deps.ndarray."0.12.1".num_traits}".default = true; + }) [ + (features_.itertools."${deps."ndarray"."0.12.1"."itertools"}" deps) + (features_.matrixmultiply."${deps."ndarray"."0.12.1"."matrixmultiply"}" deps) + (features_.num_complex."${deps."ndarray"."0.12.1"."num_complex"}" deps) + (features_.num_traits."${deps."ndarray"."0.12.1"."num_traits"}" deps) + ]; + + +# end +# num-complex-0.2.1 + + crates.num_complex."0.2.1" = deps: { features?(features_.num_complex."0.2.1" deps {}) }: buildRustCrate { + crateName = "num-complex"; + version = "0.2.1"; + description = "Complex numbers implementation for Rust"; + authors = [ "The Rust Project Developers" ]; + sha256 = "12lpp62ahc80p33cpw2771l8bwl0q13rl5vq0jzkqib1l5z8q80z"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."num_traits"."${deps."num_complex"."0.2.1"."num_traits"}" deps) + ]); + features = mkFeatures (features."num_complex"."0.2.1" or {}); + }; + features_.num_complex."0.2.1" = deps: f: updateFeatures f (rec { + num_complex = fold recursiveUpdate {} [ + { "0.2.1"."std" = + (f.num_complex."0.2.1"."std" or false) || + (f.num_complex."0.2.1".default or false) || + (num_complex."0.2.1"."default" or false); } + { "0.2.1".default = (f.num_complex."0.2.1".default or true); } + ]; + num_traits = fold recursiveUpdate {} [ + { "${deps.num_complex."0.2.1".num_traits}"."i128" = + (f.num_traits."${deps.num_complex."0.2.1".num_traits}"."i128" or false) || + (num_complex."0.2.1"."i128" or false) || + (f."num_complex"."0.2.1"."i128" or false); } + { "${deps.num_complex."0.2.1".num_traits}"."std" = + (f.num_traits."${deps.num_complex."0.2.1".num_traits}"."std" or false) || + (num_complex."0.2.1"."std" or false) || + (f."num_complex"."0.2.1"."std" or false); } + { "${deps.num_complex."0.2.1".num_traits}".default = (f.num_traits."${deps.num_complex."0.2.1".num_traits}".default or false); } + ]; + }) [ + (features_.num_traits."${deps."num_complex"."0.2.1"."num_traits"}" deps) + ]; + + +# end +# num-traits-0.2.6 + + crates.num_traits."0.2.6" = deps: { features?(features_.num_traits."0.2.6" deps {}) }: buildRustCrate { + crateName = "num-traits"; + version = "0.2.6"; + description = "Numeric traits for generic mathematics"; + authors = [ "The Rust Project Developers" ]; + sha256 = "1d20sil9n0wgznd1nycm3yjfj1mzyl41ambb7by1apxlyiil1azk"; + build = "build.rs"; + features = mkFeatures (features."num_traits"."0.2.6" or {}); + }; + features_.num_traits."0.2.6" = deps: f: updateFeatures f (rec { + num_traits = fold recursiveUpdate {} [ + { "0.2.6"."std" = + (f.num_traits."0.2.6"."std" or false) || + (f.num_traits."0.2.6".default or false) || + (num_traits."0.2.6"."default" or false); } + { "0.2.6".default = (f.num_traits."0.2.6".default or true); } + ]; + }) []; + + +# end +# num_cpus-1.10.0 + + crates.num_cpus."1.10.0" = deps: { features?(features_.num_cpus."1.10.0" deps {}) }: buildRustCrate { + crateName = "num_cpus"; + version = "1.10.0"; + description = "Get the number of CPUs on a machine."; + authors = [ "Sean McArthur " ]; + sha256 = "1411jyxy1wd8d59mv7cf6ynkvvar92czmwhb9l2c1brdkxbbiqn7"; + dependencies = mapFeatures features ([ + (crates."libc"."${deps."num_cpus"."1.10.0"."libc"}" deps) + ]); + }; + features_.num_cpus."1.10.0" = deps: f: updateFeatures f (rec { + libc."${deps.num_cpus."1.10.0".libc}".default = true; + num_cpus."1.10.0".default = (f.num_cpus."1.10.0".default or true); + }) [ + (features_.libc."${deps."num_cpus"."1.10.0"."libc"}" deps) + ]; + + +# end +# once_cell-0.1.8 + + crates.once_cell."0.1.8" = deps: { features?(features_.once_cell."0.1.8" deps {}) }: buildRustCrate { + crateName = "once_cell"; + version = "0.1.8"; + description = "Single assignment cells and lazy static values without macros."; + authors = [ "Aleksey Kladov " ]; + sha256 = "1n1da1x3cf3qbq9a925pimy6i0r12gcicwqjxc63nfb2bnzkg074"; + dependencies = mapFeatures features ([ + ] + ++ (if features.once_cell."0.1.8".parking_lot or false then [ (crates.parking_lot."${deps."once_cell"."0.1.8".parking_lot}" deps) ] else [])); + features = mkFeatures (features."once_cell"."0.1.8" or {}); + }; + features_.once_cell."0.1.8" = deps: f: updateFeatures f (rec { + once_cell = fold recursiveUpdate {} [ + { "0.1.8"."parking_lot" = + (f.once_cell."0.1.8"."parking_lot" or false) || + (f.once_cell."0.1.8".default or false) || + (once_cell."0.1.8"."default" or false); } + { "0.1.8".default = (f.once_cell."0.1.8".default or true); } + ]; + parking_lot."${deps.once_cell."0.1.8".parking_lot}".default = true; + }) [ + (features_.parking_lot."${deps."once_cell"."0.1.8"."parking_lot"}" deps) + ]; + + +# end +# opener-0.3.2 + + crates.opener."0.3.2" = deps: { features?(features_.opener."0.3.2" deps {}) }: buildRustCrate { + crateName = "opener"; + version = "0.3.2"; + description = "Open a file or link using the system default program."; + authors = [ "Brian Bowman " ]; + sha256 = "1ql2snax07n3xxn4nz9r6d95rhrri66qy5s5zl9jfsdbs193hzcm"; + dependencies = mapFeatures features ([ + (crates."failure"."${deps."opener"."0.3.2"."failure"}" deps) + (crates."failure_derive"."${deps."opener"."0.3.2"."failure_derive"}" deps) + ]) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."opener"."0.3.2"."winapi"}" deps) + ]) else []); + }; + features_.opener."0.3.2" = deps: f: updateFeatures f (rec { + failure."${deps.opener."0.3.2".failure}".default = true; + failure_derive."${deps.opener."0.3.2".failure_derive}".default = true; + opener."0.3.2".default = (f.opener."0.3.2".default or true); + winapi = fold recursiveUpdate {} [ + { "${deps.opener."0.3.2".winapi}"."shellapi" = true; } + { "${deps.opener."0.3.2".winapi}".default = true; } + ]; + }) [ + (features_.failure."${deps."opener"."0.3.2"."failure"}" deps) + (features_.failure_derive."${deps."opener"."0.3.2"."failure_derive"}" deps) + (features_.winapi."${deps."opener"."0.3.2"."winapi"}" deps) + ]; + + +# end +# openssl-0.10.20 + + crates.openssl."0.10.20" = deps: { features?(features_.openssl."0.10.20" deps {}) }: buildRustCrate { + crateName = "openssl"; + version = "0.10.20"; + description = "OpenSSL bindings"; + authors = [ "Steven Fackler " ]; + sha256 = "1y3zkq988vx48a4j0i23mr7vm1wy5w71yws2v6hyf4vb5iw3r5s5"; + dependencies = mapFeatures features ([ + (crates."bitflags"."${deps."openssl"."0.10.20"."bitflags"}" deps) + (crates."cfg_if"."${deps."openssl"."0.10.20"."cfg_if"}" deps) + (crates."foreign_types"."${deps."openssl"."0.10.20"."foreign_types"}" deps) + (crates."lazy_static"."${deps."openssl"."0.10.20"."lazy_static"}" deps) + (crates."libc"."${deps."openssl"."0.10.20"."libc"}" deps) + (crates."openssl_sys"."${deps."openssl"."0.10.20"."openssl_sys"}" deps) + ]); + features = mkFeatures (features."openssl"."0.10.20" or {}); + }; + features_.openssl."0.10.20" = deps: f: updateFeatures f (rec { + bitflags."${deps.openssl."0.10.20".bitflags}".default = true; + cfg_if."${deps.openssl."0.10.20".cfg_if}".default = true; + foreign_types."${deps.openssl."0.10.20".foreign_types}".default = true; + lazy_static."${deps.openssl."0.10.20".lazy_static}".default = true; + libc."${deps.openssl."0.10.20".libc}".default = true; + openssl."0.10.20".default = (f.openssl."0.10.20".default or true); + openssl_sys = fold recursiveUpdate {} [ + { "${deps.openssl."0.10.20".openssl_sys}"."vendored" = + (f.openssl_sys."${deps.openssl."0.10.20".openssl_sys}"."vendored" or false) || + (openssl."0.10.20"."vendored" or false) || + (f."openssl"."0.10.20"."vendored" or false); } + { "${deps.openssl."0.10.20".openssl_sys}".default = true; } + ]; + }) [ + (features_.bitflags."${deps."openssl"."0.10.20"."bitflags"}" deps) + (features_.cfg_if."${deps."openssl"."0.10.20"."cfg_if"}" deps) + (features_.foreign_types."${deps."openssl"."0.10.20"."foreign_types"}" deps) + (features_.lazy_static."${deps."openssl"."0.10.20"."lazy_static"}" deps) + (features_.libc."${deps."openssl"."0.10.20"."libc"}" deps) + (features_.openssl_sys."${deps."openssl"."0.10.20"."openssl_sys"}" deps) + ]; + + +# end +# openssl-probe-0.1.2 + + crates.openssl_probe."0.1.2" = deps: { features?(features_.openssl_probe."0.1.2" deps {}) }: buildRustCrate { + crateName = "openssl-probe"; + version = "0.1.2"; + description = "Tool for helping to find SSL certificate locations on the system for OpenSSL\n"; + authors = [ "Alex Crichton " ]; + sha256 = "1a89fznx26vvaxyrxdvgf6iwai5xvs6xjvpjin68fgvrslv6n15a"; + }; + features_.openssl_probe."0.1.2" = deps: f: updateFeatures f (rec { + openssl_probe."0.1.2".default = (f.openssl_probe."0.1.2".default or true); + }) []; + + +# end +# openssl-src-111.2.1+1.1.1b + + crates.openssl_src."111.2.1+1.1.1b" = deps: { features?(features_.openssl_src."111.2.1+1.1.1b" deps {}) }: buildRustCrate { + crateName = "openssl-src"; + version = "111.2.1+1.1.1b"; + description = "Source of OpenSSL and logic to build it.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "0gfa29r16ds88a3sjcgkc2q5dkhgnxk58gly313r05xqj4zi2pxc"; + dependencies = mapFeatures features ([ + (crates."cc"."${deps."openssl_src"."111.2.1+1.1.1b"."cc"}" deps) + ]); + }; + features_.openssl_src."111.2.1+1.1.1b" = deps: f: updateFeatures f (rec { + cc."${deps.openssl_src."111.2.1+1.1.1b".cc}".default = true; + openssl_src."111.2.1+1.1.1b".default = (f.openssl_src."111.2.1+1.1.1b".default or true); + }) [ + (features_.cc."${deps."openssl_src"."111.2.1+1.1.1b"."cc"}" deps) + ]; + + +# end +# openssl-sys-0.9.43 + + crates.openssl_sys."0.9.43" = deps: { features?(features_.openssl_sys."0.9.43" deps {}) }: buildRustCrate { + crateName = "openssl-sys"; + version = "0.9.43"; + description = "FFI bindings to OpenSSL"; + authors = [ "Alex Crichton " "Steven Fackler " ]; + sha256 = "1ip0f94jakr85pxjhrkg9w9lgiiy1yga3ckm6c8xb13klsr7ky9y"; + build = "build/main.rs"; + dependencies = mapFeatures features ([ + (crates."libc"."${deps."openssl_sys"."0.9.43"."libc"}" deps) + ]) + ++ (if abi == "msvc" then mapFeatures features ([ +]) else []); + + buildDependencies = mapFeatures features ([ + (crates."cc"."${deps."openssl_sys"."0.9.43"."cc"}" deps) + (crates."pkg_config"."${deps."openssl_sys"."0.9.43"."pkg_config"}" deps) + (crates."rustc_version"."${deps."openssl_sys"."0.9.43"."rustc_version"}" deps) + ] + ++ (if features.openssl_sys."0.9.43".openssl-src or false then [ (crates.openssl_src."${deps."openssl_sys"."0.9.43".openssl_src}" deps) ] else [])); + features = mkFeatures (features."openssl_sys"."0.9.43" or {}); + }; + features_.openssl_sys."0.9.43" = deps: f: updateFeatures f (rec { + cc."${deps.openssl_sys."0.9.43".cc}".default = true; + libc."${deps.openssl_sys."0.9.43".libc}".default = true; + openssl_src."${deps.openssl_sys."0.9.43".openssl_src}".default = true; + openssl_sys = fold recursiveUpdate {} [ + { "0.9.43"."openssl-src" = + (f.openssl_sys."0.9.43"."openssl-src" or false) || + (f.openssl_sys."0.9.43".vendored or false) || + (openssl_sys."0.9.43"."vendored" or false); } + { "0.9.43".default = (f.openssl_sys."0.9.43".default or true); } + ]; + pkg_config."${deps.openssl_sys."0.9.43".pkg_config}".default = true; + rustc_version."${deps.openssl_sys."0.9.43".rustc_version}".default = true; + }) [ + (features_.libc."${deps."openssl_sys"."0.9.43"."libc"}" deps) + (features_.cc."${deps."openssl_sys"."0.9.43"."cc"}" deps) + (features_.openssl_src."${deps."openssl_sys"."0.9.43"."openssl_src"}" deps) + (features_.pkg_config."${deps."openssl_sys"."0.9.43"."pkg_config"}" deps) + (features_.rustc_version."${deps."openssl_sys"."0.9.43"."rustc_version"}" deps) + ]; + + +# end +# parking_lot-0.7.1 + + crates.parking_lot."0.7.1" = deps: { features?(features_.parking_lot."0.7.1" deps {}) }: buildRustCrate { + crateName = "parking_lot"; + version = "0.7.1"; + description = "More compact and efficient implementations of the standard synchronization primitives."; + authors = [ "Amanieu d'Antras " ]; + sha256 = "1qpb49xd176hqqabxdb48f1hvylfbf68rpz8yfrhw0x68ys0lkq1"; + dependencies = mapFeatures features ([ + (crates."lock_api"."${deps."parking_lot"."0.7.1"."lock_api"}" deps) + (crates."parking_lot_core"."${deps."parking_lot"."0.7.1"."parking_lot_core"}" deps) + ]); + features = mkFeatures (features."parking_lot"."0.7.1" or {}); + }; + features_.parking_lot."0.7.1" = deps: f: updateFeatures f (rec { + lock_api = fold recursiveUpdate {} [ + { "${deps.parking_lot."0.7.1".lock_api}"."nightly" = + (f.lock_api."${deps.parking_lot."0.7.1".lock_api}"."nightly" or false) || + (parking_lot."0.7.1"."nightly" or false) || + (f."parking_lot"."0.7.1"."nightly" or false); } + { "${deps.parking_lot."0.7.1".lock_api}"."owning_ref" = + (f.lock_api."${deps.parking_lot."0.7.1".lock_api}"."owning_ref" or false) || + (parking_lot."0.7.1"."owning_ref" or false) || + (f."parking_lot"."0.7.1"."owning_ref" or false); } + { "${deps.parking_lot."0.7.1".lock_api}".default = true; } + ]; + parking_lot = fold recursiveUpdate {} [ + { "0.7.1"."owning_ref" = + (f.parking_lot."0.7.1"."owning_ref" or false) || + (f.parking_lot."0.7.1".default or false) || + (parking_lot."0.7.1"."default" or false); } + { "0.7.1".default = (f.parking_lot."0.7.1".default or true); } + ]; + parking_lot_core = fold recursiveUpdate {} [ + { "${deps.parking_lot."0.7.1".parking_lot_core}"."deadlock_detection" = + (f.parking_lot_core."${deps.parking_lot."0.7.1".parking_lot_core}"."deadlock_detection" or false) || + (parking_lot."0.7.1"."deadlock_detection" or false) || + (f."parking_lot"."0.7.1"."deadlock_detection" or false); } + { "${deps.parking_lot."0.7.1".parking_lot_core}"."nightly" = + (f.parking_lot_core."${deps.parking_lot."0.7.1".parking_lot_core}"."nightly" or false) || + (parking_lot."0.7.1"."nightly" or false) || + (f."parking_lot"."0.7.1"."nightly" or false); } + { "${deps.parking_lot."0.7.1".parking_lot_core}".default = true; } + ]; + }) [ + (features_.lock_api."${deps."parking_lot"."0.7.1"."lock_api"}" deps) + (features_.parking_lot_core."${deps."parking_lot"."0.7.1"."parking_lot_core"}" deps) + ]; + + +# end +# parking_lot_core-0.4.0 + + crates.parking_lot_core."0.4.0" = deps: { features?(features_.parking_lot_core."0.4.0" deps {}) }: buildRustCrate { + crateName = "parking_lot_core"; + version = "0.4.0"; + description = "An advanced API for creating custom synchronization primitives."; + authors = [ "Amanieu d'Antras " ]; + sha256 = "1mzk5i240ddvhwnz65hhjk4cq61z235g1n8bd7al4mg6vx437c16"; + dependencies = mapFeatures features ([ + (crates."rand"."${deps."parking_lot_core"."0.4.0"."rand"}" deps) + (crates."smallvec"."${deps."parking_lot_core"."0.4.0"."smallvec"}" deps) + ]) + ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ + (crates."libc"."${deps."parking_lot_core"."0.4.0"."libc"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."parking_lot_core"."0.4.0"."winapi"}" deps) + ]) else []); + + buildDependencies = mapFeatures features ([ + (crates."rustc_version"."${deps."parking_lot_core"."0.4.0"."rustc_version"}" deps) + ]); + features = mkFeatures (features."parking_lot_core"."0.4.0" or {}); + }; + features_.parking_lot_core."0.4.0" = deps: f: updateFeatures f (rec { + libc."${deps.parking_lot_core."0.4.0".libc}".default = true; + parking_lot_core = fold recursiveUpdate {} [ + { "0.4.0"."backtrace" = + (f.parking_lot_core."0.4.0"."backtrace" or false) || + (f.parking_lot_core."0.4.0".deadlock_detection or false) || + (parking_lot_core."0.4.0"."deadlock_detection" or false); } + { "0.4.0"."petgraph" = + (f.parking_lot_core."0.4.0"."petgraph" or false) || + (f.parking_lot_core."0.4.0".deadlock_detection or false) || + (parking_lot_core."0.4.0"."deadlock_detection" or false); } + { "0.4.0"."thread-id" = + (f.parking_lot_core."0.4.0"."thread-id" or false) || + (f.parking_lot_core."0.4.0".deadlock_detection or false) || + (parking_lot_core."0.4.0"."deadlock_detection" or false); } + { "0.4.0".default = (f.parking_lot_core."0.4.0".default or true); } + ]; + rand."${deps.parking_lot_core."0.4.0".rand}".default = true; + rustc_version."${deps.parking_lot_core."0.4.0".rustc_version}".default = true; + smallvec."${deps.parking_lot_core."0.4.0".smallvec}".default = true; + winapi = fold recursiveUpdate {} [ + { "${deps.parking_lot_core."0.4.0".winapi}"."errhandlingapi" = true; } + { "${deps.parking_lot_core."0.4.0".winapi}"."handleapi" = true; } + { "${deps.parking_lot_core."0.4.0".winapi}"."minwindef" = true; } + { "${deps.parking_lot_core."0.4.0".winapi}"."ntstatus" = true; } + { "${deps.parking_lot_core."0.4.0".winapi}"."winbase" = true; } + { "${deps.parking_lot_core."0.4.0".winapi}"."winerror" = true; } + { "${deps.parking_lot_core."0.4.0".winapi}"."winnt" = true; } + { "${deps.parking_lot_core."0.4.0".winapi}".default = true; } + ]; + }) [ + (features_.rand."${deps."parking_lot_core"."0.4.0"."rand"}" deps) + (features_.smallvec."${deps."parking_lot_core"."0.4.0"."smallvec"}" deps) + (features_.rustc_version."${deps."parking_lot_core"."0.4.0"."rustc_version"}" deps) + (features_.libc."${deps."parking_lot_core"."0.4.0"."libc"}" deps) + (features_.winapi."${deps."parking_lot_core"."0.4.0"."winapi"}" deps) + ]; + + +# end +# pkg-config-0.3.14 + + crates.pkg_config."0.3.14" = deps: { features?(features_.pkg_config."0.3.14" deps {}) }: buildRustCrate { + crateName = "pkg-config"; + version = "0.3.14"; + description = "A library to run the pkg-config system tool at build time in order to be used in\nCargo build scripts.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "0207fsarrm412j0dh87lfcas72n8mxar7q3mgflsbsrqnb140sv6"; + }; + features_.pkg_config."0.3.14" = deps: f: updateFeatures f (rec { + pkg_config."0.3.14".default = (f.pkg_config."0.3.14".default or true); + }) []; + + +# end +# quote-0.6.12 + + crates.quote."0.6.12" = deps: { features?(features_.quote."0.6.12" deps {}) }: buildRustCrate { + crateName = "quote"; + version = "0.6.12"; + description = "Quasi-quoting macro quote!(...)"; + authors = [ "David Tolnay " ]; + sha256 = "1ckd2d2sy0hrwrqcr47dn0n3hyh7ygpc026l8xaycccyg27mihv9"; + dependencies = mapFeatures features ([ + (crates."proc_macro2"."${deps."quote"."0.6.12"."proc_macro2"}" deps) + ]); + features = mkFeatures (features."quote"."0.6.12" or {}); + }; + features_.quote."0.6.12" = deps: f: updateFeatures f (rec { + proc_macro2 = fold recursiveUpdate {} [ + { "${deps.quote."0.6.12".proc_macro2}"."proc-macro" = + (f.proc_macro2."${deps.quote."0.6.12".proc_macro2}"."proc-macro" or false) || + (quote."0.6.12"."proc-macro" or false) || + (f."quote"."0.6.12"."proc-macro" or false); } + { "${deps.quote."0.6.12".proc_macro2}".default = (f.proc_macro2."${deps.quote."0.6.12".proc_macro2}".default or false); } + ]; + quote = fold recursiveUpdate {} [ + { "0.6.12"."proc-macro" = + (f.quote."0.6.12"."proc-macro" or false) || + (f.quote."0.6.12".default or false) || + (quote."0.6.12"."default" or false); } + { "0.6.12".default = (f.quote."0.6.12".default or true); } + ]; + }) [ + (features_.proc_macro2."${deps."quote"."0.6.12"."proc_macro2"}" deps) + ]; + + +# end +# rand-0.6.5 + + crates.rand."0.6.5" = deps: { features?(features_.rand."0.6.5" deps {}) }: buildRustCrate { + crateName = "rand"; + version = "0.6.5"; + description = "Random number generators and other randomness functionality.\n"; + authors = [ "The Rand Project Developers" "The Rust Project Developers" ]; + sha256 = "0zbck48159aj8zrwzf80sd9xxh96w4f4968nshwjpysjvflimvgb"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."rand_chacha"."${deps."rand"."0.6.5"."rand_chacha"}" deps) + (crates."rand_core"."${deps."rand"."0.6.5"."rand_core"}" deps) + (crates."rand_hc"."${deps."rand"."0.6.5"."rand_hc"}" deps) + (crates."rand_isaac"."${deps."rand"."0.6.5"."rand_isaac"}" deps) + (crates."rand_jitter"."${deps."rand"."0.6.5"."rand_jitter"}" deps) + (crates."rand_pcg"."${deps."rand"."0.6.5"."rand_pcg"}" deps) + (crates."rand_xorshift"."${deps."rand"."0.6.5"."rand_xorshift"}" deps) + ] + ++ (if features.rand."0.6.5".rand_os or false then [ (crates.rand_os."${deps."rand"."0.6.5".rand_os}" deps) ] else [])) + ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ + (crates."libc"."${deps."rand"."0.6.5"."libc"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."rand"."0.6.5"."winapi"}" deps) + ]) else []); + + buildDependencies = mapFeatures features ([ + (crates."autocfg"."${deps."rand"."0.6.5"."autocfg"}" deps) + ]); + features = mkFeatures (features."rand"."0.6.5" or {}); + }; + features_.rand."0.6.5" = deps: f: updateFeatures f (rec { + autocfg."${deps.rand."0.6.5".autocfg}".default = true; + libc."${deps.rand."0.6.5".libc}".default = (f.libc."${deps.rand."0.6.5".libc}".default or false); + rand = fold recursiveUpdate {} [ + { "0.6.5"."alloc" = + (f.rand."0.6.5"."alloc" or false) || + (f.rand."0.6.5".std or false) || + (rand."0.6.5"."std" or false); } + { "0.6.5"."packed_simd" = + (f.rand."0.6.5"."packed_simd" or false) || + (f.rand."0.6.5".simd_support or false) || + (rand."0.6.5"."simd_support" or false); } + { "0.6.5"."rand_os" = + (f.rand."0.6.5"."rand_os" or false) || + (f.rand."0.6.5".std or false) || + (rand."0.6.5"."std" or false); } + { "0.6.5"."simd_support" = + (f.rand."0.6.5"."simd_support" or false) || + (f.rand."0.6.5".nightly or false) || + (rand."0.6.5"."nightly" or false); } + { "0.6.5"."std" = + (f.rand."0.6.5"."std" or false) || + (f.rand."0.6.5".default or false) || + (rand."0.6.5"."default" or false); } + { "0.6.5".default = (f.rand."0.6.5".default or true); } + ]; + rand_chacha."${deps.rand."0.6.5".rand_chacha}".default = true; + rand_core = fold recursiveUpdate {} [ + { "${deps.rand."0.6.5".rand_core}"."alloc" = + (f.rand_core."${deps.rand."0.6.5".rand_core}"."alloc" or false) || + (rand."0.6.5"."alloc" or false) || + (f."rand"."0.6.5"."alloc" or false); } + { "${deps.rand."0.6.5".rand_core}"."serde1" = + (f.rand_core."${deps.rand."0.6.5".rand_core}"."serde1" or false) || + (rand."0.6.5"."serde1" or false) || + (f."rand"."0.6.5"."serde1" or false); } + { "${deps.rand."0.6.5".rand_core}"."std" = + (f.rand_core."${deps.rand."0.6.5".rand_core}"."std" or false) || + (rand."0.6.5"."std" or false) || + (f."rand"."0.6.5"."std" or false); } + { "${deps.rand."0.6.5".rand_core}".default = true; } + ]; + rand_hc."${deps.rand."0.6.5".rand_hc}".default = true; + rand_isaac = fold recursiveUpdate {} [ + { "${deps.rand."0.6.5".rand_isaac}"."serde1" = + (f.rand_isaac."${deps.rand."0.6.5".rand_isaac}"."serde1" or false) || + (rand."0.6.5"."serde1" or false) || + (f."rand"."0.6.5"."serde1" or false); } + { "${deps.rand."0.6.5".rand_isaac}".default = true; } + ]; + rand_jitter = fold recursiveUpdate {} [ + { "${deps.rand."0.6.5".rand_jitter}"."std" = + (f.rand_jitter."${deps.rand."0.6.5".rand_jitter}"."std" or false) || + (rand."0.6.5"."std" or false) || + (f."rand"."0.6.5"."std" or false); } + { "${deps.rand."0.6.5".rand_jitter}".default = true; } + ]; + rand_os = fold recursiveUpdate {} [ + { "${deps.rand."0.6.5".rand_os}"."stdweb" = + (f.rand_os."${deps.rand."0.6.5".rand_os}"."stdweb" or false) || + (rand."0.6.5"."stdweb" or false) || + (f."rand"."0.6.5"."stdweb" or false); } + { "${deps.rand."0.6.5".rand_os}"."wasm-bindgen" = + (f.rand_os."${deps.rand."0.6.5".rand_os}"."wasm-bindgen" or false) || + (rand."0.6.5"."wasm-bindgen" or false) || + (f."rand"."0.6.5"."wasm-bindgen" or false); } + { "${deps.rand."0.6.5".rand_os}".default = true; } + ]; + rand_pcg."${deps.rand."0.6.5".rand_pcg}".default = true; + rand_xorshift = fold recursiveUpdate {} [ + { "${deps.rand."0.6.5".rand_xorshift}"."serde1" = + (f.rand_xorshift."${deps.rand."0.6.5".rand_xorshift}"."serde1" or false) || + (rand."0.6.5"."serde1" or false) || + (f."rand"."0.6.5"."serde1" or false); } + { "${deps.rand."0.6.5".rand_xorshift}".default = true; } + ]; + winapi = fold recursiveUpdate {} [ + { "${deps.rand."0.6.5".winapi}"."minwindef" = true; } + { "${deps.rand."0.6.5".winapi}"."ntsecapi" = true; } + { "${deps.rand."0.6.5".winapi}"."profileapi" = true; } + { "${deps.rand."0.6.5".winapi}"."winnt" = true; } + { "${deps.rand."0.6.5".winapi}".default = true; } + ]; + }) [ + (features_.rand_chacha."${deps."rand"."0.6.5"."rand_chacha"}" deps) + (features_.rand_core."${deps."rand"."0.6.5"."rand_core"}" deps) + (features_.rand_hc."${deps."rand"."0.6.5"."rand_hc"}" deps) + (features_.rand_isaac."${deps."rand"."0.6.5"."rand_isaac"}" deps) + (features_.rand_jitter."${deps."rand"."0.6.5"."rand_jitter"}" deps) + (features_.rand_os."${deps."rand"."0.6.5"."rand_os"}" deps) + (features_.rand_pcg."${deps."rand"."0.6.5"."rand_pcg"}" deps) + (features_.rand_xorshift."${deps."rand"."0.6.5"."rand_xorshift"}" deps) + (features_.autocfg."${deps."rand"."0.6.5"."autocfg"}" deps) + (features_.libc."${deps."rand"."0.6.5"."libc"}" deps) + (features_.winapi."${deps."rand"."0.6.5"."winapi"}" deps) + ]; + + +# end +# rand_chacha-0.1.1 + + crates.rand_chacha."0.1.1" = deps: { features?(features_.rand_chacha."0.1.1" deps {}) }: buildRustCrate { + crateName = "rand_chacha"; + version = "0.1.1"; + description = "ChaCha random number generator\n"; + authors = [ "The Rand Project Developers" "The Rust Project Developers" ]; + sha256 = "0xnxm4mjd7wjnh18zxc1yickw58axbycp35ciraplqdfwn1gffwi"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."rand_core"."${deps."rand_chacha"."0.1.1"."rand_core"}" deps) + ]); + + buildDependencies = mapFeatures features ([ + (crates."autocfg"."${deps."rand_chacha"."0.1.1"."autocfg"}" deps) + ]); + }; + features_.rand_chacha."0.1.1" = deps: f: updateFeatures f (rec { + autocfg."${deps.rand_chacha."0.1.1".autocfg}".default = true; + rand_chacha."0.1.1".default = (f.rand_chacha."0.1.1".default or true); + rand_core."${deps.rand_chacha."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_chacha."0.1.1".rand_core}".default or false); + }) [ + (features_.rand_core."${deps."rand_chacha"."0.1.1"."rand_core"}" deps) + (features_.autocfg."${deps."rand_chacha"."0.1.1"."autocfg"}" deps) + ]; + + +# end +# rand_hc-0.1.0 + + crates.rand_hc."0.1.0" = deps: { features?(features_.rand_hc."0.1.0" deps {}) }: buildRustCrate { + crateName = "rand_hc"; + version = "0.1.0"; + description = "HC128 random number generator\n"; + authors = [ "The Rand Project Developers" ]; + sha256 = "05agb75j87yp7y1zk8yf7bpm66hc0673r3dlypn0kazynr6fdgkz"; + dependencies = mapFeatures features ([ + (crates."rand_core"."${deps."rand_hc"."0.1.0"."rand_core"}" deps) + ]); + }; + features_.rand_hc."0.1.0" = deps: f: updateFeatures f (rec { + rand_core."${deps.rand_hc."0.1.0".rand_core}".default = (f.rand_core."${deps.rand_hc."0.1.0".rand_core}".default or false); + rand_hc."0.1.0".default = (f.rand_hc."0.1.0".default or true); + }) [ + (features_.rand_core."${deps."rand_hc"."0.1.0"."rand_core"}" deps) + ]; + + +# end +# rand_isaac-0.1.1 + + crates.rand_isaac."0.1.1" = deps: { features?(features_.rand_isaac."0.1.1" deps {}) }: buildRustCrate { + crateName = "rand_isaac"; + version = "0.1.1"; + description = "ISAAC random number generator\n"; + authors = [ "The Rand Project Developers" "The Rust Project Developers" ]; + sha256 = "10hhdh5b5sa03s6b63y9bafm956jwilx41s71jbrzl63ccx8lxdq"; + dependencies = mapFeatures features ([ + (crates."rand_core"."${deps."rand_isaac"."0.1.1"."rand_core"}" deps) + ]); + features = mkFeatures (features."rand_isaac"."0.1.1" or {}); + }; + features_.rand_isaac."0.1.1" = deps: f: updateFeatures f (rec { + rand_core = fold recursiveUpdate {} [ + { "${deps.rand_isaac."0.1.1".rand_core}"."serde1" = + (f.rand_core."${deps.rand_isaac."0.1.1".rand_core}"."serde1" or false) || + (rand_isaac."0.1.1"."serde1" or false) || + (f."rand_isaac"."0.1.1"."serde1" or false); } + { "${deps.rand_isaac."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_isaac."0.1.1".rand_core}".default or false); } + ]; + rand_isaac = fold recursiveUpdate {} [ + { "0.1.1"."serde" = + (f.rand_isaac."0.1.1"."serde" or false) || + (f.rand_isaac."0.1.1".serde1 or false) || + (rand_isaac."0.1.1"."serde1" or false); } + { "0.1.1"."serde_derive" = + (f.rand_isaac."0.1.1"."serde_derive" or false) || + (f.rand_isaac."0.1.1".serde1 or false) || + (rand_isaac."0.1.1"."serde1" or false); } + { "0.1.1".default = (f.rand_isaac."0.1.1".default or true); } + ]; + }) [ + (features_.rand_core."${deps."rand_isaac"."0.1.1"."rand_core"}" deps) + ]; + + +# end +# rand_jitter-0.1.3 + + crates.rand_jitter."0.1.3" = deps: { features?(features_.rand_jitter."0.1.3" deps {}) }: buildRustCrate { + crateName = "rand_jitter"; + version = "0.1.3"; + description = "Random number generator based on timing jitter"; + authors = [ "The Rand Project Developers" ]; + sha256 = "1cb4q73rmh1inlx3liy6rabapcqh6p6c1plsd2lxw6dmi67d1qc3"; + dependencies = mapFeatures features ([ + (crates."rand_core"."${deps."rand_jitter"."0.1.3"."rand_core"}" deps) + ]) + ++ (if kernel == "darwin" || kernel == "ios" then mapFeatures features ([ + (crates."libc"."${deps."rand_jitter"."0.1.3"."libc"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."rand_jitter"."0.1.3"."winapi"}" deps) + ]) else []); + features = mkFeatures (features."rand_jitter"."0.1.3" or {}); + }; + features_.rand_jitter."0.1.3" = deps: f: updateFeatures f (rec { + libc."${deps.rand_jitter."0.1.3".libc}".default = true; + rand_core = fold recursiveUpdate {} [ + { "${deps.rand_jitter."0.1.3".rand_core}"."std" = + (f.rand_core."${deps.rand_jitter."0.1.3".rand_core}"."std" or false) || + (rand_jitter."0.1.3"."std" or false) || + (f."rand_jitter"."0.1.3"."std" or false); } + { "${deps.rand_jitter."0.1.3".rand_core}".default = true; } + ]; + rand_jitter."0.1.3".default = (f.rand_jitter."0.1.3".default or true); + winapi = fold recursiveUpdate {} [ + { "${deps.rand_jitter."0.1.3".winapi}"."profileapi" = true; } + { "${deps.rand_jitter."0.1.3".winapi}".default = true; } + ]; + }) [ + (features_.rand_core."${deps."rand_jitter"."0.1.3"."rand_core"}" deps) + (features_.libc."${deps."rand_jitter"."0.1.3"."libc"}" deps) + (features_.winapi."${deps."rand_jitter"."0.1.3"."winapi"}" deps) + ]; + + +# end +# rand_pcg-0.1.2 + + crates.rand_pcg."0.1.2" = deps: { features?(features_.rand_pcg."0.1.2" deps {}) }: buildRustCrate { + crateName = "rand_pcg"; + version = "0.1.2"; + description = "Selected PCG random number generators\n"; + authors = [ "The Rand Project Developers" ]; + sha256 = "04qgi2ai2z42li5h4aawvxbpnlqyjfnipz9d6k73mdnl6p1xq938"; + build = "build.rs"; + dependencies = mapFeatures features ([ + (crates."rand_core"."${deps."rand_pcg"."0.1.2"."rand_core"}" deps) + ]); + + buildDependencies = mapFeatures features ([ + (crates."autocfg"."${deps."rand_pcg"."0.1.2"."autocfg"}" deps) + ]); + features = mkFeatures (features."rand_pcg"."0.1.2" or {}); + }; + features_.rand_pcg."0.1.2" = deps: f: updateFeatures f (rec { + autocfg."${deps.rand_pcg."0.1.2".autocfg}".default = true; + rand_core."${deps.rand_pcg."0.1.2".rand_core}".default = true; + rand_pcg = fold recursiveUpdate {} [ + { "0.1.2"."serde" = + (f.rand_pcg."0.1.2"."serde" or false) || + (f.rand_pcg."0.1.2".serde1 or false) || + (rand_pcg."0.1.2"."serde1" or false); } + { "0.1.2"."serde_derive" = + (f.rand_pcg."0.1.2"."serde_derive" or false) || + (f.rand_pcg."0.1.2".serde1 or false) || + (rand_pcg."0.1.2"."serde1" or false); } + { "0.1.2".default = (f.rand_pcg."0.1.2".default or true); } + ]; + }) [ + (features_.rand_core."${deps."rand_pcg"."0.1.2"."rand_core"}" deps) + (features_.autocfg."${deps."rand_pcg"."0.1.2"."autocfg"}" deps) + ]; + + +# end +# rand_xorshift-0.1.1 + + crates.rand_xorshift."0.1.1" = deps: { features?(features_.rand_xorshift."0.1.1" deps {}) }: buildRustCrate { + crateName = "rand_xorshift"; + version = "0.1.1"; + description = "Xorshift random number generator\n"; + authors = [ "The Rand Project Developers" "The Rust Project Developers" ]; + sha256 = "0v365c4h4lzxwz5k5kp9m0661s0sss7ylv74if0xb4svis9sswnn"; + dependencies = mapFeatures features ([ + (crates."rand_core"."${deps."rand_xorshift"."0.1.1"."rand_core"}" deps) + ]); + features = mkFeatures (features."rand_xorshift"."0.1.1" or {}); + }; + features_.rand_xorshift."0.1.1" = deps: f: updateFeatures f (rec { + rand_core."${deps.rand_xorshift."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_xorshift."0.1.1".rand_core}".default or false); + rand_xorshift = fold recursiveUpdate {} [ + { "0.1.1"."serde" = + (f.rand_xorshift."0.1.1"."serde" or false) || + (f.rand_xorshift."0.1.1".serde1 or false) || + (rand_xorshift."0.1.1"."serde1" or false); } + { "0.1.1"."serde_derive" = + (f.rand_xorshift."0.1.1"."serde_derive" or false) || + (f.rand_xorshift."0.1.1".serde1 or false) || + (rand_xorshift."0.1.1"."serde1" or false); } + { "0.1.1".default = (f.rand_xorshift."0.1.1".default or true); } + ]; + }) [ + (features_.rand_core."${deps."rand_xorshift"."0.1.1"."rand_core"}" deps) + ]; + + +# end +# rawpointer-0.1.0 + + crates.rawpointer."0.1.0" = deps: { features?(features_.rawpointer."0.1.0" deps {}) }: buildRustCrate { + crateName = "rawpointer"; + version = "0.1.0"; + description = "Extra methods for raw pointers.\n\nFor example `.post_inc()` and `.pre_dec()` (c.f. `ptr++` and `--ptr`) and\n`ptrdistance`.\n"; + authors = [ "bluss" ]; + sha256 = "0hblv2cv310ixf5f1jw4nk9w5pb95wh4dwqyjv07g2xrshbw6j04"; + }; + features_.rawpointer."0.1.0" = deps: f: updateFeatures f (rec { + rawpointer."0.1.0".default = (f.rawpointer."0.1.0".default or true); + }) []; + + +# end +# redox_syscall-0.1.54 + + crates.redox_syscall."0.1.54" = deps: { features?(features_.redox_syscall."0.1.54" deps {}) }: buildRustCrate { + crateName = "redox_syscall"; + version = "0.1.54"; + description = "A Rust library to access raw Redox system calls"; + authors = [ "Jeremy Soller " ]; + sha256 = "1ndcp7brnvii87ndcd34fk846498r07iznphkslcy0shic9cp4rr"; + libName = "syscall"; + }; + features_.redox_syscall."0.1.54" = deps: f: updateFeatures f (rec { + redox_syscall."0.1.54".default = (f.redox_syscall."0.1.54".default or true); + }) []; + + +# end +# regex-1.1.6 + + crates.regex."1.1.6" = deps: { features?(features_.regex."1.1.6" deps {}) }: buildRustCrate { + crateName = "regex"; + version = "1.1.6"; + description = "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n"; + authors = [ "The Rust Project Developers" ]; + sha256 = "1yynvabg03m5f65qxcw70qckkfjwi9xyfpjdp6yq7pk0xf0ydc0b"; + dependencies = mapFeatures features ([ + (crates."aho_corasick"."${deps."regex"."1.1.6"."aho_corasick"}" deps) + (crates."memchr"."${deps."regex"."1.1.6"."memchr"}" deps) + (crates."regex_syntax"."${deps."regex"."1.1.6"."regex_syntax"}" deps) + (crates."thread_local"."${deps."regex"."1.1.6"."thread_local"}" deps) + (crates."utf8_ranges"."${deps."regex"."1.1.6"."utf8_ranges"}" deps) + ]); + features = mkFeatures (features."regex"."1.1.6" or {}); + }; + features_.regex."1.1.6" = deps: f: updateFeatures f (rec { + aho_corasick."${deps.regex."1.1.6".aho_corasick}".default = true; + memchr."${deps.regex."1.1.6".memchr}".default = true; + regex = fold recursiveUpdate {} [ + { "1.1.6"."pattern" = + (f.regex."1.1.6"."pattern" or false) || + (f.regex."1.1.6".unstable or false) || + (regex."1.1.6"."unstable" or false); } + { "1.1.6"."use_std" = + (f.regex."1.1.6"."use_std" or false) || + (f.regex."1.1.6".default or false) || + (regex."1.1.6"."default" or false); } + { "1.1.6".default = (f.regex."1.1.6".default or true); } + ]; + regex_syntax."${deps.regex."1.1.6".regex_syntax}".default = true; + thread_local."${deps.regex."1.1.6".thread_local}".default = true; + utf8_ranges."${deps.regex."1.1.6".utf8_ranges}".default = true; + }) [ + (features_.aho_corasick."${deps."regex"."1.1.6"."aho_corasick"}" deps) + (features_.memchr."${deps."regex"."1.1.6"."memchr"}" deps) + (features_.regex_syntax."${deps."regex"."1.1.6"."regex_syntax"}" deps) + (features_.thread_local."${deps."regex"."1.1.6"."thread_local"}" deps) + (features_.utf8_ranges."${deps."regex"."1.1.6"."utf8_ranges"}" deps) + ]; + + +# end +# regex-syntax-0.6.6 + + crates.regex_syntax."0.6.6" = deps: { features?(features_.regex_syntax."0.6.6" deps {}) }: buildRustCrate { + crateName = "regex-syntax"; + version = "0.6.6"; + description = "A regular expression parser."; + authors = [ "The Rust Project Developers" ]; + sha256 = "1cjrdc3affa3rjfaxkp91xnf9k0fsqn9z4xqc280vv39nvrl8p8b"; + dependencies = mapFeatures features ([ + (crates."ucd_util"."${deps."regex_syntax"."0.6.6"."ucd_util"}" deps) + ]); + }; + features_.regex_syntax."0.6.6" = deps: f: updateFeatures f (rec { + regex_syntax."0.6.6".default = (f.regex_syntax."0.6.6".default or true); + ucd_util."${deps.regex_syntax."0.6.6".ucd_util}".default = true; + }) [ + (features_.ucd_util."${deps."regex_syntax"."0.6.6"."ucd_util"}" deps) + ]; + + +# end +# rustc-demangle-0.1.14 + + crates.rustc_demangle."0.1.14" = deps: { features?(features_.rustc_demangle."0.1.14" deps {}) }: buildRustCrate { + crateName = "rustc-demangle"; + version = "0.1.14"; + description = "Rust compiler symbol demangling.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "07vl0ms3a27fpry9kh9piv08w7d51i5m7bgphk7pw4jygwzdy31f"; + dependencies = mapFeatures features ([ +]); + features = mkFeatures (features."rustc_demangle"."0.1.14" or {}); + }; + features_.rustc_demangle."0.1.14" = deps: f: updateFeatures f (rec { + rustc_demangle = fold recursiveUpdate {} [ + { "0.1.14"."compiler_builtins" = + (f.rustc_demangle."0.1.14"."compiler_builtins" or false) || + (f.rustc_demangle."0.1.14".rustc-dep-of-std or false) || + (rustc_demangle."0.1.14"."rustc-dep-of-std" or false); } + { "0.1.14"."core" = + (f.rustc_demangle."0.1.14"."core" or false) || + (f.rustc_demangle."0.1.14".rustc-dep-of-std or false) || + (rustc_demangle."0.1.14"."rustc-dep-of-std" or false); } + { "0.1.14".default = (f.rustc_demangle."0.1.14".default or true); } + ]; + }) []; + + +# end +# rustc-workspace-hack-1.0.0 + + crates.rustc_workspace_hack."1.0.0" = deps: { features?(features_.rustc_workspace_hack."1.0.0" deps {}) }: buildRustCrate { + crateName = "rustc-workspace-hack"; + version = "1.0.0"; + description = "Hack for the compiler's own build system\n"; + authors = [ "Alex Crichton " ]; + sha256 = "0arpdp472j4lrwxbmf4z21d8kh95rbbphnzccf605pqq2rvczv3p"; + }; + features_.rustc_workspace_hack."1.0.0" = deps: f: updateFeatures f (rec { + rustc_workspace_hack."1.0.0".default = (f.rustc_workspace_hack."1.0.0".default or true); + }) []; + + +# end +# rustc_version-0.2.3 + + crates.rustc_version."0.2.3" = deps: { features?(features_.rustc_version."0.2.3" deps {}) }: buildRustCrate { + crateName = "rustc_version"; + version = "0.2.3"; + description = "A library for querying the version of a installed rustc compiler"; + authors = [ "Marvin Löbel " ]; + sha256 = "0rgwzbgs3i9fqjm1p4ra3n7frafmpwl29c8lw85kv1rxn7n2zaa7"; + dependencies = mapFeatures features ([ + (crates."semver"."${deps."rustc_version"."0.2.3"."semver"}" deps) + ]); + }; + features_.rustc_version."0.2.3" = deps: f: updateFeatures f (rec { + rustc_version."0.2.3".default = (f.rustc_version."0.2.3".default or true); + semver."${deps.rustc_version."0.2.3".semver}".default = true; + }) [ + (features_.semver."${deps."rustc_version"."0.2.3"."semver"}" deps) + ]; + + +# end +# rustfix-0.4.5 + + crates.rustfix."0.4.5" = deps: { features?(features_.rustfix."0.4.5" deps {}) }: buildRustCrate { + crateName = "rustfix"; + version = "0.4.5"; + description = "Automatically apply the suggestions made by rustc"; + authors = [ "Pascal Hertleif " "Oliver Schneider " ]; + sha256 = "16nz3wbxspl6awwy3k3ym8yqiyq1jad82m2cf8mrz5h3arfp208l"; + dependencies = mapFeatures features ([ + (crates."failure"."${deps."rustfix"."0.4.5"."failure"}" deps) + (crates."log"."${deps."rustfix"."0.4.5"."log"}" deps) + (crates."serde"."${deps."rustfix"."0.4.5"."serde"}" deps) + (crates."serde_derive"."${deps."rustfix"."0.4.5"."serde_derive"}" deps) + (crates."serde_json"."${deps."rustfix"."0.4.5"."serde_json"}" deps) + ]); + }; + features_.rustfix."0.4.5" = deps: f: updateFeatures f (rec { + failure."${deps.rustfix."0.4.5".failure}".default = true; + log."${deps.rustfix."0.4.5".log}".default = true; + rustfix."0.4.5".default = (f.rustfix."0.4.5".default or true); + serde."${deps.rustfix."0.4.5".serde}".default = true; + serde_derive."${deps.rustfix."0.4.5".serde_derive}".default = true; + serde_json."${deps.rustfix."0.4.5".serde_json}".default = true; + }) [ + (features_.failure."${deps."rustfix"."0.4.5"."failure"}" deps) + (features_.log."${deps."rustfix"."0.4.5"."log"}" deps) + (features_.serde."${deps."rustfix"."0.4.5"."serde"}" deps) + (features_.serde_derive."${deps."rustfix"."0.4.5"."serde_derive"}" deps) + (features_.serde_json."${deps."rustfix"."0.4.5"."serde_json"}" deps) + ]; + + +# end +# same-file-1.0.4 + + crates.same_file."1.0.4" = deps: { features?(features_.same_file."1.0.4" deps {}) }: buildRustCrate { + crateName = "same-file"; + version = "1.0.4"; + description = "A simple crate for determining whether two file paths point to the same file.\n"; + authors = [ "Andrew Gallant " ]; + sha256 = "1zs244ssl381cqlnh2g42g3i60qip4z72i26z44d6kas3y3gy77q"; + dependencies = (if kernel == "windows" then mapFeatures features ([ + (crates."winapi_util"."${deps."same_file"."1.0.4"."winapi_util"}" deps) + ]) else []); + }; + features_.same_file."1.0.4" = deps: f: updateFeatures f (rec { + same_file."1.0.4".default = (f.same_file."1.0.4".default or true); + winapi_util."${deps.same_file."1.0.4".winapi_util}".default = true; + }) [ + (features_.winapi_util."${deps."same_file"."1.0.4"."winapi_util"}" deps) + ]; + + +# end +# schannel-0.1.15 + + crates.schannel."0.1.15" = deps: { features?(features_.schannel."0.1.15" deps {}) }: buildRustCrate { + crateName = "schannel"; + version = "0.1.15"; + description = "Schannel bindings for rust, allowing SSL/TLS (e.g. https) without openssl"; + authors = [ "Steven Fackler " "Steffen Butzer " ]; + sha256 = "1x9i0z9y8n5cg23ppyglgqdlz6rwcv2a489m5qpfk6l2ib8a1jdv"; + dependencies = mapFeatures features ([ + (crates."lazy_static"."${deps."schannel"."0.1.15"."lazy_static"}" deps) + (crates."winapi"."${deps."schannel"."0.1.15"."winapi"}" deps) + ]); + }; + features_.schannel."0.1.15" = deps: f: updateFeatures f (rec { + lazy_static."${deps.schannel."0.1.15".lazy_static}".default = true; + schannel."0.1.15".default = (f.schannel."0.1.15".default or true); + winapi = fold recursiveUpdate {} [ + { "${deps.schannel."0.1.15".winapi}"."lmcons" = true; } + { "${deps.schannel."0.1.15".winapi}"."minschannel" = true; } + { "${deps.schannel."0.1.15".winapi}"."schannel" = true; } + { "${deps.schannel."0.1.15".winapi}"."securitybaseapi" = true; } + { "${deps.schannel."0.1.15".winapi}"."sspi" = true; } + { "${deps.schannel."0.1.15".winapi}"."sysinfoapi" = true; } + { "${deps.schannel."0.1.15".winapi}"."timezoneapi" = true; } + { "${deps.schannel."0.1.15".winapi}"."winbase" = true; } + { "${deps.schannel."0.1.15".winapi}"."wincrypt" = true; } + { "${deps.schannel."0.1.15".winapi}"."winerror" = true; } + { "${deps.schannel."0.1.15".winapi}".default = true; } + ]; + }) [ + (features_.lazy_static."${deps."schannel"."0.1.15"."lazy_static"}" deps) + (features_.winapi."${deps."schannel"."0.1.15"."winapi"}" deps) + ]; + + +# end +# scopeguard-0.3.3 + + crates.scopeguard."0.3.3" = deps: { features?(features_.scopeguard."0.3.3" deps {}) }: buildRustCrate { + crateName = "scopeguard"; + version = "0.3.3"; + description = "A RAII scope guard that will run a given closure when it goes out of scope,\neven if the code between panics (assuming unwinding panic).\n\nDefines the macros `defer!` and `defer_on_unwind!`; the latter only runs\nif the scope is extited through unwinding on panic.\n"; + authors = [ "bluss" ]; + sha256 = "0i1l013csrqzfz6c68pr5pi01hg5v5yahq8fsdmaxy6p8ygsjf3r"; + features = mkFeatures (features."scopeguard"."0.3.3" or {}); + }; + features_.scopeguard."0.3.3" = deps: f: updateFeatures f (rec { + scopeguard = fold recursiveUpdate {} [ + { "0.3.3"."use_std" = + (f.scopeguard."0.3.3"."use_std" or false) || + (f.scopeguard."0.3.3".default or false) || + (scopeguard."0.3.3"."default" or false); } + { "0.3.3".default = (f.scopeguard."0.3.3".default or true); } + ]; + }) []; + + +# end +# semver-0.9.0 + + crates.semver."0.9.0" = deps: { features?(features_.semver."0.9.0" deps {}) }: buildRustCrate { + crateName = "semver"; + version = "0.9.0"; + description = "Semantic version parsing and comparison.\n"; + authors = [ "Steve Klabnik " "The Rust Project Developers" ]; + sha256 = "0azak2lb2wc36s3x15az886kck7rpnksrw14lalm157rg9sc9z63"; + dependencies = mapFeatures features ([ + (crates."semver_parser"."${deps."semver"."0.9.0"."semver_parser"}" deps) + ] + ++ (if features.semver."0.9.0".serde or false then [ (crates.serde."${deps."semver"."0.9.0".serde}" deps) ] else [])); + features = mkFeatures (features."semver"."0.9.0" or {}); + }; + features_.semver."0.9.0" = deps: f: updateFeatures f (rec { + semver = fold recursiveUpdate {} [ + { "0.9.0"."serde" = + (f.semver."0.9.0"."serde" or false) || + (f.semver."0.9.0".ci or false) || + (semver."0.9.0"."ci" or false); } + { "0.9.0".default = (f.semver."0.9.0".default or true); } + ]; + semver_parser."${deps.semver."0.9.0".semver_parser}".default = true; + serde."${deps.semver."0.9.0".serde}".default = true; + }) [ + (features_.semver_parser."${deps."semver"."0.9.0"."semver_parser"}" deps) + (features_.serde."${deps."semver"."0.9.0"."serde"}" deps) + ]; + + +# end +# semver-parser-0.7.0 + + crates.semver_parser."0.7.0" = deps: { features?(features_.semver_parser."0.7.0" deps {}) }: buildRustCrate { + crateName = "semver-parser"; + version = "0.7.0"; + description = "Parsing of the semver spec.\n"; + authors = [ "Steve Klabnik " ]; + sha256 = "1da66c8413yakx0y15k8c055yna5lyb6fr0fw9318kdwkrk5k12h"; + }; + features_.semver_parser."0.7.0" = deps: f: updateFeatures f (rec { + semver_parser."0.7.0".default = (f.semver_parser."0.7.0".default or true); + }) []; + + +# end +# serde-1.0.90 + + crates.serde."1.0.90" = deps: { features?(features_.serde."1.0.90" deps {}) }: buildRustCrate { + crateName = "serde"; + version = "1.0.90"; + description = "A generic serialization/deserialization framework"; + authors = [ "Erick Tryzelaar " "David Tolnay " ]; + sha256 = "10b6n74m1dvb667vrn1db47ncb4h0mkqbg1dsamqjvv5vl5b5j56"; + build = "build.rs"; + dependencies = mapFeatures features ([ + ] + ++ (if features.serde."1.0.90".serde_derive or false then [ (crates.serde_derive."${deps."serde"."1.0.90".serde_derive}" deps) ] else [])); + features = mkFeatures (features."serde"."1.0.90" or {}); + }; + features_.serde."1.0.90" = deps: f: updateFeatures f (rec { + serde = fold recursiveUpdate {} [ + { "1.0.90"."serde_derive" = + (f.serde."1.0.90"."serde_derive" or false) || + (f.serde."1.0.90".derive or false) || + (serde."1.0.90"."derive" or false); } + { "1.0.90"."std" = + (f.serde."1.0.90"."std" or false) || + (f.serde."1.0.90".default or false) || + (serde."1.0.90"."default" or false); } + { "1.0.90"."unstable" = + (f.serde."1.0.90"."unstable" or false) || + (f.serde."1.0.90".alloc or false) || + (serde."1.0.90"."alloc" or false); } + { "1.0.90".default = (f.serde."1.0.90".default or true); } + ]; + serde_derive."${deps.serde."1.0.90".serde_derive}".default = true; + }) [ + (features_.serde_derive."${deps."serde"."1.0.90"."serde_derive"}" deps) + ]; + + +# end +# serde_derive-1.0.90 + + crates.serde_derive."1.0.90" = deps: { features?(features_.serde_derive."1.0.90" deps {}) }: buildRustCrate { + crateName = "serde_derive"; + version = "1.0.90"; + description = "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]"; + authors = [ "Erick Tryzelaar " "David Tolnay " ]; + sha256 = "1m4xgyl8jj3mxj0wszminzc1qf2gbkj9dpl17vi95nwl6m7i157y"; + procMacro = true; + dependencies = mapFeatures features ([ + (crates."proc_macro2"."${deps."serde_derive"."1.0.90"."proc_macro2"}" deps) + (crates."quote"."${deps."serde_derive"."1.0.90"."quote"}" deps) + (crates."syn"."${deps."serde_derive"."1.0.90"."syn"}" deps) + ]); + features = mkFeatures (features."serde_derive"."1.0.90" or {}); + }; + features_.serde_derive."1.0.90" = deps: f: updateFeatures f (rec { + proc_macro2."${deps.serde_derive."1.0.90".proc_macro2}".default = true; + quote."${deps.serde_derive."1.0.90".quote}".default = true; + serde_derive."1.0.90".default = (f.serde_derive."1.0.90".default or true); + syn = fold recursiveUpdate {} [ + { "${deps.serde_derive."1.0.90".syn}"."visit" = true; } + { "${deps.serde_derive."1.0.90".syn}".default = true; } + ]; + }) [ + (features_.proc_macro2."${deps."serde_derive"."1.0.90"."proc_macro2"}" deps) + (features_.quote."${deps."serde_derive"."1.0.90"."quote"}" deps) + (features_.syn."${deps."serde_derive"."1.0.90"."syn"}" deps) + ]; + + +# end +# serde_ignored-0.0.4 + + crates.serde_ignored."0.0.4" = deps: { features?(features_.serde_ignored."0.0.4" deps {}) }: buildRustCrate { + crateName = "serde_ignored"; + version = "0.0.4"; + description = "Find out about keys that are ignored when deserializing data"; + authors = [ "David Tolnay " ]; + sha256 = "1ljsywm58p1s645rg2l9mchc5xa6mzxjpm8ag8nc2b74yp09h4jh"; + dependencies = mapFeatures features ([ + (crates."serde"."${deps."serde_ignored"."0.0.4"."serde"}" deps) + ]); + }; + features_.serde_ignored."0.0.4" = deps: f: updateFeatures f (rec { + serde."${deps.serde_ignored."0.0.4".serde}".default = true; + serde_ignored."0.0.4".default = (f.serde_ignored."0.0.4".default or true); + }) [ + (features_.serde."${deps."serde_ignored"."0.0.4"."serde"}" deps) + ]; + + +# end +# shell-escape-0.1.4 + + crates.shell_escape."0.1.4" = deps: { features?(features_.shell_escape."0.1.4" deps {}) }: buildRustCrate { + crateName = "shell-escape"; + version = "0.1.4"; + description = "Escape characters that may have a special meaning in a shell"; + authors = [ "Steven Fackler " ]; + sha256 = "02ik28la039b8anx0sx8mbdp2yx66m64mjrjyy6x0dgpbmfxmc24"; + }; + features_.shell_escape."0.1.4" = deps: f: updateFeatures f (rec { + shell_escape."0.1.4".default = (f.shell_escape."0.1.4".default or true); + }) []; + + +# end +# sized-chunks-0.1.3 + + crates.sized_chunks."0.1.3" = deps: { features?(features_.sized_chunks."0.1.3" deps {}) }: buildRustCrate { + crateName = "sized-chunks"; + version = "0.1.3"; + description = "Efficient sized chunk datatypes"; + authors = [ "Bodil Stokke " ]; + edition = "2018"; + sha256 = "0qp5yvy2kqpk5qhiq3ybwynv740j3wv97ar1kjx96hmmbman142i"; + dependencies = mapFeatures features ([ + (crates."typenum"."${deps."sized_chunks"."0.1.3"."typenum"}" deps) + ]); + }; + features_.sized_chunks."0.1.3" = deps: f: updateFeatures f (rec { + sized_chunks."0.1.3".default = (f.sized_chunks."0.1.3".default or true); + typenum."${deps.sized_chunks."0.1.3".typenum}".default = true; + }) [ + (features_.typenum."${deps."sized_chunks"."0.1.3"."typenum"}" deps) + ]; + + +# end +# socket2-0.3.8 + + crates.socket2."0.3.8" = deps: { features?(features_.socket2."0.3.8" deps {}) }: buildRustCrate { + crateName = "socket2"; + version = "0.3.8"; + description = "Utilities for handling networking sockets with a maximal amount of configuration\npossible intended.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "1a71m20jxmf9kqqinksphc7wj1j7q672q29cpza7p9siyzyfx598"; + dependencies = (if (kernel == "linux" || kernel == "darwin") || kernel == "redox" then mapFeatures features ([ + (crates."cfg_if"."${deps."socket2"."0.3.8"."cfg_if"}" deps) + (crates."libc"."${deps."socket2"."0.3.8"."libc"}" deps) + ]) else []) + ++ (if kernel == "redox" then mapFeatures features ([ + (crates."redox_syscall"."${deps."socket2"."0.3.8"."redox_syscall"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."socket2"."0.3.8"."winapi"}" deps) + ]) else []); + features = mkFeatures (features."socket2"."0.3.8" or {}); + }; + features_.socket2."0.3.8" = deps: f: updateFeatures f (rec { + cfg_if."${deps.socket2."0.3.8".cfg_if}".default = true; + libc."${deps.socket2."0.3.8".libc}".default = true; + redox_syscall."${deps.socket2."0.3.8".redox_syscall}".default = true; + socket2."0.3.8".default = (f.socket2."0.3.8".default or true); + winapi = fold recursiveUpdate {} [ + { "${deps.socket2."0.3.8".winapi}"."handleapi" = true; } + { "${deps.socket2."0.3.8".winapi}"."minwindef" = true; } + { "${deps.socket2."0.3.8".winapi}"."ws2def" = true; } + { "${deps.socket2."0.3.8".winapi}"."ws2ipdef" = true; } + { "${deps.socket2."0.3.8".winapi}"."ws2tcpip" = true; } + { "${deps.socket2."0.3.8".winapi}".default = true; } + ]; + }) [ + (features_.cfg_if."${deps."socket2"."0.3.8"."cfg_if"}" deps) + (features_.libc."${deps."socket2"."0.3.8"."libc"}" deps) + (features_.redox_syscall."${deps."socket2"."0.3.8"."redox_syscall"}" deps) + (features_.winapi."${deps."socket2"."0.3.8"."winapi"}" deps) + ]; + + +# end +# strsim-0.8.0 + + crates.strsim."0.8.0" = deps: { features?(features_.strsim."0.8.0" deps {}) }: buildRustCrate { + crateName = "strsim"; + version = "0.8.0"; + description = "Implementations of string similarity metrics.\nIncludes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, and Jaro-Winkler.\n"; + authors = [ "Danny Guo " ]; + sha256 = "0d3jsdz22wgjyxdakqnvdgmwjdvkximz50d9zfk4qlalw635qcvy"; + }; + features_.strsim."0.8.0" = deps: f: updateFeatures f (rec { + strsim."0.8.0".default = (f.strsim."0.8.0".default or true); + }) []; + + +# end +# strsim-0.9.1 + + crates.strsim."0.9.1" = deps: { features?(features_.strsim."0.9.1" deps {}) }: buildRustCrate { + crateName = "strsim"; + version = "0.9.1"; + description = "Implementations of string similarity metrics.\nIncludes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, and Jaro-Winkler.\n"; + authors = [ "Danny Guo " ]; + sha256 = "0lpi3lrq6z5slay72ir1sg1ki0bvr3qia82lzx937gpc999i6bah"; + dependencies = mapFeatures features ([ + (crates."hashbrown"."${deps."strsim"."0.9.1"."hashbrown"}" deps) + (crates."ndarray"."${deps."strsim"."0.9.1"."ndarray"}" deps) + ]); + }; + features_.strsim."0.9.1" = deps: f: updateFeatures f (rec { + hashbrown."${deps.strsim."0.9.1".hashbrown}".default = true; + ndarray."${deps.strsim."0.9.1".ndarray}".default = true; + strsim."0.9.1".default = (f.strsim."0.9.1".default or true); + }) [ + (features_.hashbrown."${deps."strsim"."0.9.1"."hashbrown"}" deps) + (features_.ndarray."${deps."strsim"."0.9.1"."ndarray"}" deps) + ]; + + +# end +# syn-0.15.32 + + crates.syn."0.15.32" = deps: { features?(features_.syn."0.15.32" deps {}) }: buildRustCrate { + crateName = "syn"; + version = "0.15.32"; + description = "Parser for Rust source code"; + authors = [ "David Tolnay " ]; + sha256 = "1xq1mbns8zyg2ls5927wqi7i7hn2y933czbqqds648gcdqccsqb0"; + dependencies = mapFeatures features ([ + (crates."proc_macro2"."${deps."syn"."0.15.32"."proc_macro2"}" deps) + (crates."unicode_xid"."${deps."syn"."0.15.32"."unicode_xid"}" deps) + ] + ++ (if features.syn."0.15.32".quote or false then [ (crates.quote."${deps."syn"."0.15.32".quote}" deps) ] else [])); + features = mkFeatures (features."syn"."0.15.32" or {}); + }; + features_.syn."0.15.32" = deps: f: updateFeatures f (rec { + proc_macro2 = fold recursiveUpdate {} [ + { "${deps.syn."0.15.32".proc_macro2}"."proc-macro" = + (f.proc_macro2."${deps.syn."0.15.32".proc_macro2}"."proc-macro" or false) || + (syn."0.15.32"."proc-macro" or false) || + (f."syn"."0.15.32"."proc-macro" or false); } + { "${deps.syn."0.15.32".proc_macro2}".default = (f.proc_macro2."${deps.syn."0.15.32".proc_macro2}".default or false); } + ]; + quote = fold recursiveUpdate {} [ + { "${deps.syn."0.15.32".quote}"."proc-macro" = + (f.quote."${deps.syn."0.15.32".quote}"."proc-macro" or false) || + (syn."0.15.32"."proc-macro" or false) || + (f."syn"."0.15.32"."proc-macro" or false); } + { "${deps.syn."0.15.32".quote}".default = (f.quote."${deps.syn."0.15.32".quote}".default or false); } + ]; + syn = fold recursiveUpdate {} [ + { "0.15.32"."clone-impls" = + (f.syn."0.15.32"."clone-impls" or false) || + (f.syn."0.15.32".default or false) || + (syn."0.15.32"."default" or false); } + { "0.15.32"."derive" = + (f.syn."0.15.32"."derive" or false) || + (f.syn."0.15.32".default or false) || + (syn."0.15.32"."default" or false); } + { "0.15.32"."parsing" = + (f.syn."0.15.32"."parsing" or false) || + (f.syn."0.15.32".default or false) || + (syn."0.15.32"."default" or false); } + { "0.15.32"."printing" = + (f.syn."0.15.32"."printing" or false) || + (f.syn."0.15.32".default or false) || + (syn."0.15.32"."default" or false); } + { "0.15.32"."proc-macro" = + (f.syn."0.15.32"."proc-macro" or false) || + (f.syn."0.15.32".default or false) || + (syn."0.15.32"."default" or false); } + { "0.15.32"."quote" = + (f.syn."0.15.32"."quote" or false) || + (f.syn."0.15.32".printing or false) || + (syn."0.15.32"."printing" or false); } + { "0.15.32".default = (f.syn."0.15.32".default or true); } + ]; + unicode_xid."${deps.syn."0.15.32".unicode_xid}".default = true; + }) [ + (features_.proc_macro2."${deps."syn"."0.15.32"."proc_macro2"}" deps) + (features_.quote."${deps."syn"."0.15.32"."quote"}" deps) + (features_.unicode_xid."${deps."syn"."0.15.32"."unicode_xid"}" deps) + ]; + + +# end +# tar-0.4.22 + + crates.tar."0.4.22" = deps: { features?(features_.tar."0.4.22" deps {}) }: buildRustCrate { + crateName = "tar"; + version = "0.4.22"; + description = "A Rust implementation of a TAR file reader and writer. This library does not\ncurrently handle compression, but it is abstract over all I/O readers and\nwriters. Additionally, great lengths are taken to ensure that the entire\ncontents are never required to be entirely resident in memory all at once.\n"; + authors = [ "Alex Crichton " ]; + sha256 = "1y2b5av1ckf7v7rw1p59fjddn2jwzv0xr69lgdd4l41g43c3zq9j"; + dependencies = mapFeatures features ([ + (crates."filetime"."${deps."tar"."0.4.22"."filetime"}" deps) + ]) + ++ (if kernel == "redox" then mapFeatures features ([ + (crates."redox_syscall"."${deps."tar"."0.4.22"."redox_syscall"}" deps) + ]) else []) + ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ + (crates."libc"."${deps."tar"."0.4.22"."libc"}" deps) + ]) else []); + }; + features_.tar."0.4.22" = deps: f: updateFeatures f (rec { + filetime."${deps.tar."0.4.22".filetime}".default = true; + libc."${deps.tar."0.4.22".libc}".default = true; + redox_syscall."${deps.tar."0.4.22".redox_syscall}".default = true; + tar = fold recursiveUpdate {} [ + { "0.4.22"."xattr" = + (f.tar."0.4.22"."xattr" or false) || + (f.tar."0.4.22".default or false) || + (tar."0.4.22"."default" or false); } + { "0.4.22".default = (f.tar."0.4.22".default or true); } + ]; + }) [ + (features_.filetime."${deps."tar"."0.4.22"."filetime"}" deps) + (features_.redox_syscall."${deps."tar"."0.4.22"."redox_syscall"}" deps) + (features_.libc."${deps."tar"."0.4.22"."libc"}" deps) + ]; + + +# end +# tempfile-3.0.7 + + crates.tempfile."3.0.7" = deps: { features?(features_.tempfile."3.0.7" deps {}) }: buildRustCrate { + crateName = "tempfile"; + version = "3.0.7"; + description = "A library for managing temporary files and directories.\n"; + authors = [ "Steven Allen " "The Rust Project Developers" "Ashley Mannix " "Jason White " ]; + sha256 = "19h7ch8fvisxrrmabcnhlfj6b8vg34zaw8491x141p0n0727niaf"; + dependencies = mapFeatures features ([ + (crates."cfg_if"."${deps."tempfile"."3.0.7"."cfg_if"}" deps) + (crates."rand"."${deps."tempfile"."3.0.7"."rand"}" deps) + (crates."remove_dir_all"."${deps."tempfile"."3.0.7"."remove_dir_all"}" deps) + ]) + ++ (if kernel == "redox" then mapFeatures features ([ + (crates."redox_syscall"."${deps."tempfile"."3.0.7"."redox_syscall"}" deps) + ]) else []) + ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ + (crates."libc"."${deps."tempfile"."3.0.7"."libc"}" deps) + ]) else []) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."tempfile"."3.0.7"."winapi"}" deps) + ]) else []); + }; + features_.tempfile."3.0.7" = deps: f: updateFeatures f (rec { + cfg_if."${deps.tempfile."3.0.7".cfg_if}".default = true; + libc."${deps.tempfile."3.0.7".libc}".default = true; + rand."${deps.tempfile."3.0.7".rand}".default = true; + redox_syscall."${deps.tempfile."3.0.7".redox_syscall}".default = true; + remove_dir_all."${deps.tempfile."3.0.7".remove_dir_all}".default = true; + tempfile."3.0.7".default = (f.tempfile."3.0.7".default or true); + winapi = fold recursiveUpdate {} [ + { "${deps.tempfile."3.0.7".winapi}"."fileapi" = true; } + { "${deps.tempfile."3.0.7".winapi}"."handleapi" = true; } + { "${deps.tempfile."3.0.7".winapi}"."winbase" = true; } + { "${deps.tempfile."3.0.7".winapi}".default = true; } + ]; + }) [ + (features_.cfg_if."${deps."tempfile"."3.0.7"."cfg_if"}" deps) + (features_.rand."${deps."tempfile"."3.0.7"."rand"}" deps) + (features_.remove_dir_all."${deps."tempfile"."3.0.7"."remove_dir_all"}" deps) + (features_.redox_syscall."${deps."tempfile"."3.0.7"."redox_syscall"}" deps) + (features_.libc."${deps."tempfile"."3.0.7"."libc"}" deps) + (features_.winapi."${deps."tempfile"."3.0.7"."winapi"}" deps) + ]; + + +# end +# textwrap-0.11.0 + + crates.textwrap."0.11.0" = deps: { features?(features_.textwrap."0.11.0" deps {}) }: buildRustCrate { + crateName = "textwrap"; + version = "0.11.0"; + description = "Textwrap is a small library for word wrapping, indenting, and\ndedenting strings.\n\nYou can use it to format strings (such as help and error messages) for\ndisplay in commandline applications. It is designed to be efficient\nand handle Unicode characters correctly.\n"; + authors = [ "Martin Geisler " ]; + sha256 = "0s25qh49n7kjayrdj4q3v0jk0jc6vy88rdw0bvgfxqlscpqpxi7d"; + dependencies = mapFeatures features ([ + (crates."unicode_width"."${deps."textwrap"."0.11.0"."unicode_width"}" deps) + ]); + }; + features_.textwrap."0.11.0" = deps: f: updateFeatures f (rec { + textwrap."0.11.0".default = (f.textwrap."0.11.0".default or true); + unicode_width."${deps.textwrap."0.11.0".unicode_width}".default = true; + }) [ + (features_.unicode_width."${deps."textwrap"."0.11.0"."unicode_width"}" deps) + ]; + + +# end +# typenum-1.10.0 + + crates.typenum."1.10.0" = deps: { features?(features_.typenum."1.10.0" deps {}) }: buildRustCrate { + crateName = "typenum"; + version = "1.10.0"; + description = "Typenum is a Rust library for type-level numbers evaluated at compile time. It currently supports bits, unsigned integers, and signed integers. It also provides a type-level array of type-level numbers, but its implementation is incomplete."; + authors = [ "Paho Lurie-Gregg " "Andre Bogus " ]; + sha256 = "1v2cgg0mlzkg5prs7swysckgk2ay6bpda8m83c2sn3z77dcsx3bc"; + build = "build/main.rs"; + features = mkFeatures (features."typenum"."1.10.0" or {}); + }; + features_.typenum."1.10.0" = deps: f: updateFeatures f (rec { + typenum."1.10.0".default = (f.typenum."1.10.0".default or true); + }) []; + + +# end +# url_serde-0.2.0 + + crates.url_serde."0.2.0" = deps: { features?(features_.url_serde."0.2.0" deps {}) }: buildRustCrate { + crateName = "url_serde"; + version = "0.2.0"; + description = "Serde support for URL types"; + authors = [ "The rust-url developers" ]; + sha256 = "07ry87rw0pi1da6b53f7s3f52wx3ihxbcgjd4ldspfv5xh6wipsg"; + dependencies = mapFeatures features ([ + (crates."serde"."${deps."url_serde"."0.2.0"."serde"}" deps) + (crates."url"."${deps."url_serde"."0.2.0"."url"}" deps) + ]); + }; + features_.url_serde."0.2.0" = deps: f: updateFeatures f (rec { + serde."${deps.url_serde."0.2.0".serde}".default = true; + url."${deps.url_serde."0.2.0".url}".default = true; + url_serde."0.2.0".default = (f.url_serde."0.2.0".default or true); + }) [ + (features_.serde."${deps."url_serde"."0.2.0"."serde"}" deps) + (features_.url."${deps."url_serde"."0.2.0"."url"}" deps) + ]; + + +# end +# vcpkg-0.2.6 + + crates.vcpkg."0.2.6" = deps: { features?(features_.vcpkg."0.2.6" deps {}) }: buildRustCrate { + crateName = "vcpkg"; + version = "0.2.6"; + description = "A library to find native dependencies in a vcpkg tree at build\ntime in order to be used in Cargo build scripts.\n"; + authors = [ "Jim McGrath " ]; + sha256 = "1ig6jqpzzl1z9vk4qywgpfr4hfbd8ny8frqsgm3r449wkc4n1i5x"; + }; + features_.vcpkg."0.2.6" = deps: f: updateFeatures f (rec { + vcpkg."0.2.6".default = (f.vcpkg."0.2.6".default or true); + }) []; + + +# end +# walkdir-2.2.7 + + crates.walkdir."2.2.7" = deps: { features?(features_.walkdir."2.2.7" deps {}) }: buildRustCrate { + crateName = "walkdir"; + version = "2.2.7"; + description = "Recursively walk a directory."; + authors = [ "Andrew Gallant " ]; + sha256 = "0wq3v28916kkla29yyi0g0xfc16apwx24py68049kriz3gjlig03"; + dependencies = mapFeatures features ([ + (crates."same_file"."${deps."walkdir"."2.2.7"."same_file"}" deps) + ]) + ++ (if kernel == "windows" then mapFeatures features ([ + (crates."winapi"."${deps."walkdir"."2.2.7"."winapi"}" deps) + (crates."winapi_util"."${deps."walkdir"."2.2.7"."winapi_util"}" deps) + ]) else []); + }; + features_.walkdir."2.2.7" = deps: f: updateFeatures f (rec { + same_file."${deps.walkdir."2.2.7".same_file}".default = true; + walkdir."2.2.7".default = (f.walkdir."2.2.7".default or true); + winapi = fold recursiveUpdate {} [ + { "${deps.walkdir."2.2.7".winapi}"."std" = true; } + { "${deps.walkdir."2.2.7".winapi}"."winnt" = true; } + { "${deps.walkdir."2.2.7".winapi}".default = true; } + ]; + winapi_util."${deps.walkdir."2.2.7".winapi_util}".default = true; + }) [ + (features_.same_file."${deps."walkdir"."2.2.7"."same_file"}" deps) + (features_.winapi."${deps."walkdir"."2.2.7"."winapi"}" deps) + (features_.winapi_util."${deps."walkdir"."2.2.7"."winapi_util"}" deps) + ]; + + +# end +# winapi-0.2.8 + + crates.winapi."0.2.8" = deps: { features?(features_.winapi."0.2.8" deps {}) }: buildRustCrate { + crateName = "winapi"; + version = "0.2.8"; + description = "Types and constants for WinAPI bindings. See README for list of crates providing function bindings."; + authors = [ "Peter Atashian " ]; + sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as"; + }; + features_.winapi."0.2.8" = deps: f: updateFeatures f (rec { + winapi."0.2.8".default = (f.winapi."0.2.8".default or true); + }) []; + + +# end +# winapi-0.3.7 + + crates.winapi."0.3.7" = deps: { features?(features_.winapi."0.3.7" deps {}) }: buildRustCrate { + crateName = "winapi"; + version = "0.3.7"; + description = "Raw FFI bindings for all of Windows API."; + authors = [ "Peter Atashian " ]; + sha256 = "1k51gfkp0zqw7nj07y443mscs46icmdhld442s2073niap0kkdr8"; + build = "build.rs"; + dependencies = (if kernel == "i686-pc-windows-gnu" then mapFeatures features ([ + (crates."winapi_i686_pc_windows_gnu"."${deps."winapi"."0.3.7"."winapi_i686_pc_windows_gnu"}" deps) + ]) else []) + ++ (if kernel == "x86_64-pc-windows-gnu" then mapFeatures features ([ + (crates."winapi_x86_64_pc_windows_gnu"."${deps."winapi"."0.3.7"."winapi_x86_64_pc_windows_gnu"}" deps) + ]) else []); + features = mkFeatures (features."winapi"."0.3.7" or {}); + }; + features_.winapi."0.3.7" = deps: f: updateFeatures f (rec { + winapi = fold recursiveUpdate {} [ + { "0.3.7"."impl-debug" = + (f.winapi."0.3.7"."impl-debug" or false) || + (f.winapi."0.3.7".debug or false) || + (winapi."0.3.7"."debug" or false); } + { "0.3.7".default = (f.winapi."0.3.7".default or true); } + ]; + winapi_i686_pc_windows_gnu."${deps.winapi."0.3.7".winapi_i686_pc_windows_gnu}".default = true; + winapi_x86_64_pc_windows_gnu."${deps.winapi."0.3.7".winapi_x86_64_pc_windows_gnu}".default = true; + }) [ + (features_.winapi_i686_pc_windows_gnu."${deps."winapi"."0.3.7"."winapi_i686_pc_windows_gnu"}" deps) + (features_.winapi_x86_64_pc_windows_gnu."${deps."winapi"."0.3.7"."winapi_x86_64_pc_windows_gnu"}" deps) + ]; + + +# end +# winapi-build-0.1.1 + + crates.winapi_build."0.1.1" = deps: { features?(features_.winapi_build."0.1.1" deps {}) }: buildRustCrate { + crateName = "winapi-build"; + version = "0.1.1"; + description = "Common code for build.rs in WinAPI -sys crates."; + authors = [ "Peter Atashian " ]; + sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga"; + libName = "build"; + }; + features_.winapi_build."0.1.1" = deps: f: updateFeatures f (rec { + winapi_build."0.1.1".default = (f.winapi_build."0.1.1".default or true); + }) []; + + +# end +# adler32-1.0.3 + + crates.adler32."1.0.3" = deps: { features?(features_.adler32."1.0.3" deps {}) }: buildRustCrate { + crateName = "adler32"; + version = "1.0.3"; + description = "Minimal Adler32 implementation for Rust."; + authors = [ "Remi Rampin " ]; + sha256 = "1z3mvjgw02mbqk98kizzibrca01d5wfkpazsrp3vkkv3i56pn6fb"; + }; + features_.adler32."1.0.3" = deps: f: updateFeatures f (rec { + adler32."1.0.3".default = (f.adler32."1.0.3".default or true); + }) []; + + # end } diff --git a/pkgs/build-support/rust/default-crate-overrides.nix b/pkgs/build-support/rust/default-crate-overrides.nix index 46b70ce6bac..b3ab9f5ba78 100644 --- a/pkgs/build-support/rust/default-crate-overrides.nix +++ b/pkgs/build-support/rust/default-crate-overrides.nix @@ -1,5 +1,5 @@ { stdenv, pkgconfig, curl, darwin, libiconv, libgit2, libssh2, - openssl, sqlite, zlib, dbus, dbus-glib, gdk_pixbuf, cairo, python3, + openssl, sqlite, zlib, dbus, dbus-glib, gdk-pixbuf, cairo, python3, libsodium, postgresql, gmp, foundationdb, ... }: let @@ -12,16 +12,17 @@ in cargo = attrs: { buildInputs = [ openssl zlib curl ] - ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation libiconv ]; - # TODO: buildRustCrate seems to use incorrect default inference - crateBin = [ { name = "cargo"; path = "src/bin/cargo.rs"; } ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security libiconv ]; }; cargo-vendor = attrs: { - buildInputs = [ openssl zlib curl ]; - # TODO: this defaults to cargo_vendor; needs to be cargo-vendor to - # be considered a cargo subcommand. - crateBin = [ { name = "cargo-vendor"; path = "src/main.rs"; } ]; + buildInputs = [ openssl zlib curl ] + ++ stdenv.lib.optionals stdenv.isDarwin [ Security ]; + }; + + libz-sys = attrs: { + buildInputs = [ pkgconfig zlib ]; + extraLinkFlags = ["-L${zlib.out}/lib"]; }; curl-sys = attrs: { @@ -61,7 +62,7 @@ in }; gdk-pixbuf = attrs: { - buildInputs = [ gdk_pixbuf ]; + buildInputs = [ gdk-pixbuf ]; }; libgit2-sys = attrs: { diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index 43aecdef5f2..09802d56d34 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -1,6 +1,7 @@ -{ stdenv, cacert, git, cargo, rustc, cargo-vendor, fetchcargo, python3 }: +{ stdenv, cacert, git, cargo, rustc, fetchcargo, buildPackages, windows }: -{ name, cargoSha256 ? "unset" +{ name ? "${args.pname}-${args.version}" +, cargoSha256 ? "unset" , src ? null , srcs ? null , cargoPatches ? [] @@ -8,14 +9,18 @@ , sourceRoot ? null , logLevel ? "" , buildInputs ? [] +, nativeBuildInputs ? [] , cargoUpdateHook ? "" , cargoDepsHook ? "" , cargoBuildFlags ? [] +, buildType ? "release" +, meta ? {} , cargoVendorDir ? null , ... } @ args: assert cargoVendorDir == null -> cargoSha256 != "unset"; +assert buildType == "release" || buildType == "debug"; let cargoDeps = if cargoVendorDir == null @@ -36,20 +41,31 @@ let cargoDepsCopy="$sourceRoot/${cargoVendorDir}" ''; -in stdenv.mkDerivation (args // { + hostConfig = stdenv.hostPlatform.config; + + rustHostConfig = { + "x86_64-pc-mingw32" = "x86_64-pc-windows-gnu"; + }."${hostConfig}" or hostConfig; + + ccForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc"; + cxxForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++"; + ccForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"; + cxxForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"; + releaseDir = "target/${rustHostConfig}/${buildType}"; +in + +stdenv.mkDerivation (args // { inherit cargoDeps; patchRegistryDeps = ./patch-registry-deps; - buildInputs = [ cacert git cargo rustc ] ++ buildInputs; + nativeBuildInputs = nativeBuildInputs ++ [ cacert git cargo rustc ]; + buildInputs = buildInputs ++ stdenv.lib.optional stdenv.hostPlatform.isMinGW windows.pthreads; patches = cargoPatches ++ patches; - configurePhase = args.configurePhase or '' - runHook preConfigure - # noop - runHook postConfigure - ''; + PKG_CONFIG_ALLOW_CROSS = + if stdenv.buildPlatform != stdenv.hostPlatform then 1 else 0; postUnpack = '' eval "$cargoDepsHook" @@ -62,17 +78,49 @@ in stdenv.mkDerivation (args // { config=${./fetchcargo-default-config.toml}; fi; substitute $config .cargo/config \ - --subst-var-by vendor "$(pwd)/$cargoDepsCopy" + --subst-var-by vendor "$(pwd)/$cargoDepsCopy" + + cat >> .cargo/config <<'EOF' + [target."${stdenv.buildPlatform.config}"] + "linker" = "${ccForBuild}" + ${stdenv.lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) '' + [target."${rustHostConfig}"] + "linker" = "${ccForHost}" + ''} + EOF unset cargoDepsCopy - export RUST_LOG=${logLevel} '' + (args.postUnpack or ""); + configurePhase = args.configurePhase or '' + runHook preConfigure + runHook postConfigure + ''; + buildPhase = with builtins; args.buildPhase or '' runHook preBuild - echo "Running cargo build --release ${concatStringsSep " " cargoBuildFlags}" - cargo build --release --frozen ${concatStringsSep " " cargoBuildFlags} + + ( + set -x + env \ + "CC_${stdenv.buildPlatform.config}"="${ccForBuild}" \ + "CXX_${stdenv.buildPlatform.config}"="${cxxForBuild}" \ + "CC_${stdenv.hostPlatform.config}"="${ccForHost}" \ + "CXX_${stdenv.hostPlatform.config}"="${cxxForHost}" \ + cargo build \ + ${stdenv.lib.optionalString (buildType == "release") "--release"} \ + --target ${rustHostConfig} \ + --frozen ${concatStringsSep " " cargoBuildFlags} + ) + + # rename the output dir to a architecture independent one + mapfile -t targets < <(find "$NIX_BUILD_TOP" -type d | grep '${releaseDir}$') + for target in "''${targets[@]}"; do + rm -rf "$target/../../${buildType}" + ln -srf "$target" "$target/../../" + done + runHook postBuild ''; @@ -85,14 +133,29 @@ in stdenv.mkDerivation (args // { doCheck = args.doCheck or true; + inherit releaseDir; + installPhase = args.installPhase or '' runHook preInstall mkdir -p $out/bin $out/lib - find target/release -maxdepth 1 -type f -executable ! \( -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \) -print0 | xargs -r -0 cp -t $out/bin - find target/release -maxdepth 1 -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" -print0 | xargs -r -0 cp -t $out/lib + + find $releaseDir \ + -maxdepth 1 \ + -type f \ + -executable ! \( -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \) \ + -print0 | xargs -r -0 cp -t $out/bin + find $releaseDir \ + -maxdepth 1 \ + -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \ + -print0 | xargs -r -0 cp -t $out/lib rmdir --ignore-fail-on-non-empty $out/lib $out/bin runHook postInstall ''; passthru = { inherit cargoDeps; } // (args.passthru or {}); + + meta = { + # default to Rust's platforms + platforms = rustc.meta.platforms; + } // meta; }) diff --git a/pkgs/build-support/rust/fetchcargo.nix b/pkgs/build-support/rust/fetchcargo.nix index e8465ba6162..4e6058383d4 100644 --- a/pkgs/build-support/rust/fetchcargo.nix +++ b/pkgs/build-support/rust/fetchcargo.nix @@ -3,7 +3,7 @@ let cargo-vendor-normalise = stdenv.mkDerivation { name = "cargo-vendor-normalise"; src = ./cargo-vendor-normalise.py; nativeBuildInputs = [ python3.pkgs.wrapPython ]; - unpackPhase = ":"; + dontUnpack = true; installPhase = "install -D $src $out/bin/cargo-vendor-normalise"; pythonPath = [ python3.pkgs.toml ]; postFixup = "wrapPythonPrograms"; diff --git a/pkgs/build-support/rust/make-rust-platform.nix b/pkgs/build-support/rust/make-rust-platform.nix deleted file mode 100644 index afbc56865ff..00000000000 --- a/pkgs/build-support/rust/make-rust-platform.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ callPackage }: -{ rustc, cargo, ... }: { - rust = { - inherit rustc cargo; - }; - - buildRustPackage = callPackage ./default.nix { - inherit rustc cargo; - - fetchcargo = callPackage ./fetchcargo.nix { - inherit cargo; - }; - }; - - rustcSrc = callPackage ../../development/compilers/rust/rust-src.nix { - inherit rustc; - }; -} diff --git a/pkgs/build-support/setup-hooks/auto-patchelf.sh b/pkgs/build-support/setup-hooks/auto-patchelf.sh index 5bedd1a9f9c..6af8eb1aed9 100644 --- a/pkgs/build-support/setup-hooks/auto-patchelf.sh +++ b/pkgs/build-support/setup-hooks/auto-patchelf.sh @@ -15,8 +15,10 @@ isExecutable() { # *or* there is an INTERP section. This also catches position-independent # executables, as they typically have an INTERP section but their ELF type # is DYN. - LANG=C readelf -h -l "$1" 2> /dev/null \ - | grep -q '^ *Type: *EXEC\>\|^ *INTERP\>' + isExeResult="$(LANG=C readelf -h -l "$1" 2> /dev/null \ + | grep '^ *Type: *EXEC\>\|^ *INTERP\>')" + # not using grep -q, because it can cause Broken pipe + [ -n "$isExeResult" ] } # We cache dependencies so that we don't need to search through all of them on @@ -207,10 +209,11 @@ autoPatchelf() { isELF "$file" || continue segmentHeaders="$(LANG=C readelf -l "$file")" # Skip if the ELF file doesn't have segment headers (eg. object files). - echo "$segmentHeaders" | grep -q '^Program Headers:' || continue + # not using grep -q, because it can cause Broken pipe + [ -n "$(echo "$segmentHeaders" | grep '^Program Headers:')" ] || continue if isExecutable "$file"; then # Skip if the executable is statically linked. - echo "$segmentHeaders" | grep -q "^ *INTERP\\>" || continue + [ -n "$(echo "$segmentHeaders" | grep "^ *INTERP\\>")" ] || continue fi autoPatchelfFile "$file" done < <(find "$@" ${norecurse:+-maxdepth 1} -type f -print0) diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh index d26bf735d30..3e900d0704c 100644 --- a/pkgs/build-support/setup-hooks/patch-shebangs.sh +++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh @@ -4,12 +4,35 @@ # /usr/bin/env gets special treatment so that ".../bin/env python" is # rewritten to /nix/store//bin/python. Interpreters that are # already in the store are left untouched. +# A script file must be marked as executable, otherwise it will not be +# considered. -fixupOutputHooks+=('if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then patchShebangs "$prefix"; fi') +fixupOutputHooks+=(patchShebangsAuto) + +# Run patch shebangs on a directory or file. +# Can take multiple paths as arguments. +# patchShebangs [--build | --host] PATH... + +# Flags: +# --build : Lookup commands available at build-time +# --host : Lookup commands available at runtime + +# Example use cases, +# $ patchShebangs --host /nix/store/...-hello-1.0/bin +# $ patchShebangs --build configure patchShebangs() { - local dir="$1" - header "patching script interpreter paths in $dir" + local pathName + + if [ "$1" = "--host" ]; then + pathName=HOST_PATH + shift + elif [ "$1" = "--build" ]; then + pathName=PATH + shift + fi + + echo "patching script interpreter paths in $@" local f local oldPath local newPath @@ -18,7 +41,10 @@ patchShebangs() { local oldInterpreterLine local newInterpreterLine - [ -e "$dir" ] || return 0 + if [ $# -eq 0 ]; then + echo "No arguments supplied to patchShebangs" >0 + return 0 + fi local f while IFS= read -r -d $'\0' f; do @@ -27,22 +53,33 @@ patchShebangs() { oldInterpreterLine=$(head -1 "$f" | tail -c+3) read -r oldPath arg0 args <<< "$oldInterpreterLine" + if [ -z "$pathName" ]; then + if [ -n "$strictDeps" ] && [[ "$f" = "$NIX_STORE"* ]]; then + pathName=HOST_PATH + else + pathName=PATH + fi + fi + if $(echo "$oldPath" | grep -q "/bin/env$"); then # Check for unsupported 'env' functionality: # - options: something starting with a '-' # - environment variables: foo=bar if $(echo "$arg0" | grep -q -- "^-.*\|.*=.*"); then - echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" + echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" >0 exit 1 fi - newPath="$(command -v "$arg0" || true)" + + newPath="$(PATH="${!pathName}" command -v "$arg0" || true)" else if [ "$oldPath" = "" ]; then # If no interpreter is specified linux will use /bin/sh. Set # oldpath="/bin/sh" so that we get /nix/store/.../sh. oldPath="/bin/sh" fi - newPath="$(command -v "$(basename "$oldPath")" || true)" + + newPath="$(PATH="${!pathName}" command -v "$(basename "$oldPath")" || true)" + args="$arg0 $args" fi @@ -55,13 +92,28 @@ patchShebangs() { # escape the escape chars so that sed doesn't interpret them escapedInterpreterLine=$(echo "$newInterpreterLine" | sed 's|\\|\\\\|g') # Preserve times, see: https://github.com/NixOS/nixpkgs/pull/33281 - touch -r "$f" "$f.timestamp" + timestamp=$(mktemp) + touch -r "$f" "$timestamp" sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" "$f" - touch -r "$f.timestamp" "$f" - rm "$f.timestamp" + touch -r "$timestamp" "$f" + rm "$timestamp" fi fi - done < <(find "$dir" -type f -perm -0100 -print0) + done < <(find "$@" -type f -perm -0100 -print0) stopNest } + +patchShebangsAuto () { + if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then + + # Dev output will end up being run on the build platform. An + # example case of this is sdl2-config. Otherwise, we can just + # use the runtime path (--host). + if [ "$output" != out ] && [ "$output" = "$outputDev" ]; then + patchShebangs --build "$prefix" + else + patchShebangs --host "$prefix" + fi + fi +} diff --git a/pkgs/build-support/setup-hooks/shorten-perl-shebang.sh b/pkgs/build-support/setup-hooks/shorten-perl-shebang.sh new file mode 100644 index 00000000000..4bf7c0ff1af --- /dev/null +++ b/pkgs/build-support/setup-hooks/shorten-perl-shebang.sh @@ -0,0 +1,88 @@ +# This setup hook modifies a Perl script so that any "-I" flags in its shebang +# line are rewritten into a "use lib ..." statement on the next line. This gets +# around a limitation in Darwin, which will not properly handle a script whose +# shebang line exceeds 511 characters. +# +# Each occurrence of "-I /path/to/lib1" or "-I/path/to/lib2" is removed from +# the shebang line, along with the single space that preceded it. These library +# paths are placed into a new line of the form +# +# use lib "/path/to/lib1", "/path/to/lib2"; +# +# immediately following the shebang line. If a library appeared in the original +# list more than once, only its first occurrence will appear in the output +# list. In other words, the libraries are deduplicated, but the ordering of the +# first appearance of each one is preserved. +# +# Any flags other than "-I" in the shebang line are left as-is, and the +# interpreter is also left alone (although the script will abort if the +# interpreter does not seem to be either "perl" or else "env" with "perl" as +# its argument). Each line after the shebang line is left unchanged. Each file +# is modified in place. +# +# Usage: +# shortenPerlShebang SCRIPT... + +shortenPerlShebang() { + while [ $# -gt 0 ]; do + _shortenPerlShebang "$1" + shift + done +} + +_shortenPerlShebang() { + local program="$1" + + echo "shortenPerlShebang: rewriting shebang line in $program" + + if ! isScript "$program"; then + die "shortenPerlShebang: refusing to modify $program because it is not a script" + fi + + local temp="$(mktemp)" + + gawk ' + (NR == 1) { + if (!($0 ~ /\/(perl|env +perl)\>/)) { + print "shortenPerlShebang: script does not seem to be a Perl script" > "/dev/stderr" + exit 1 + } + idx = 0 + while (match($0, / -I ?([^ ]+)/, pieces)) { + matches[idx] = pieces[1] + idx++ + $0 = gensub(/ -I ?[^ ]+/, "", 1, $0) + } + print $0 + if (idx > 0) { + prefix = "use lib " + for (idx in matches) { + path = matches[idx] + if (!(path in seen)) { + printf "%s\"%s\"", prefix, path + seen[path] = 1 + prefix = ", " + } + } + print ";" + } + } + (NR > 1 ) { + print + } + ' "$program" > "$temp" || die + # Preserve the mode of the original file + cp --preserve=mode --attributes-only "$program" "$temp" + mv "$temp" "$program" + + # Measure the new shebang line length and make sure it's okay. We subtract + # one to account for the trailing newline that "head" included in its + # output. + local new_length=$(( $(head -n 1 "$program" | wc -c) - 1 )) + + # Darwin is okay when the shebang line contains 511 characters, but not + # when it contains 512 characters. + if [ $new_length -ge 512 ]; then + die "shortenPerlShebang: shebang line is $new_length characters--still too long for Darwin!" + fi +} diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh b/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh index b5ceb4a13d8..906b1db9d10 100644 --- a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh +++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh @@ -30,6 +30,10 @@ wrapGAppsHook() { gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$prefix/share") fi + if [ -d "$prefix/lib/gio/modules" ] && [ -n "$(ls -A $prefix/lib/gio/modules)" ] ; then + gappsWrapperArgs+=(--prefix GIO_EXTRA_MODULES : "$prefix/lib/gio/modules") + fi + for v in $wrapPrefixVariables GST_PLUGIN_SYSTEM_PATH_1_0 GI_TYPELIB_PATH GRL_PLUGIN_PATH; do eval local dummy="\$$v" gappsWrapperArgs+=(--prefix $v : "$dummy") diff --git a/pkgs/build-support/singularity-tools/default.nix b/pkgs/build-support/singularity-tools/default.nix index 4206b0f33ff..c110d327d3a 100644 --- a/pkgs/build-support/singularity-tools/default.nix +++ b/pkgs/build-support/singularity-tools/default.nix @@ -8,12 +8,13 @@ , vmTools , gawk , utillinux +, runtimeShell , e2fsprogs }: rec { shellScript = name: text: writeScript name '' - #!${stdenv.shell} + #!${runtimeShell} set -e ${text} ''; @@ -36,8 +37,7 @@ rec { contents ? [], diskSize ? 1024, runScript ? "#!${stdenv.shell}\nexec /bin/sh", - runAsRoot ? null, - extraSpace ? 0 + runAsRoot ? null }: let layer = mkLayer { inherit name; diff --git a/pkgs/build-support/skaware/build-skaware-package.nix b/pkgs/build-support/skaware/build-skaware-package.nix index 51921fdfbdc..ce32279710e 100644 --- a/pkgs/build-support/skaware/build-skaware-package.nix +++ b/pkgs/build-support/skaware/build-skaware-package.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, writeScript, file }: +{ stdenv, cleanPackaging, fetchurl }: let lib = stdenv.lib; in { # : string @@ -19,6 +19,10 @@ in { # mostly for moving and deleting files from the build directory # : lines , postInstall + # packages with setup hooks that should be run + # (see definition of `makeSetupHook`) + # : list drv +, setupHooks ? [] # : list Maintainer , maintainers ? [] @@ -50,25 +54,6 @@ let "README.*" ]; - globWith = stdenv.lib.concatMapStringsSep "\n"; - rmNoise = globWith (f: - ''rm -rf ${f}'') commonNoiseFiles; - mvMeta = globWith - (f: ''mv ${f} "$DOCDIR" 2>/dev/null || true'') - commonMetaFiles; - - # Move & remove actions, taking the package doc directory - commonFileActions = writeScript "common-file-actions.sh" '' - #!${stdenv.shell} - set -e - DOCDIR="$1" - shopt -s globstar extglob nullglob - ${rmNoise} - mkdir -p "$DOCDIR" - ${mvMeta} - ''; - - in stdenv.mkDerivation { name = "${pname}-${version}"; @@ -82,6 +67,8 @@ in stdenv.mkDerivation { dontDisableStatic = true; enableParallelBuilding = true; + nativeBuildInputs = setupHooks; + configureFlags = configureFlags ++ [ "--enable-absolute-paths" (if stdenv.isDarwin @@ -99,21 +86,16 @@ in stdenv.mkDerivation { # TODO(Profpatsch): ensure that there is always a $doc output! postInstall = '' echo "Cleaning & moving common files" - mkdir -p $doc/share/doc/${pname} - ${commonFileActions} $doc/share/doc/${pname} + ${cleanPackaging.commonFileActions { + noiseFiles = commonNoiseFiles; + docFiles = commonMetaFiles; + }} $doc/share/doc/${pname} ${postInstall} ''; postFixup = '' - echo "Checking for remaining source files" - rem=$(find -mindepth 1 -xtype f -print0 \ - | tee $TMP/remaining-files) - if [[ "$rem" != "" ]]; then - echo "ERROR: These files should be either moved or deleted:" - cat $TMP/remaining-files | xargs -0 ${file}/bin/file - exit 1 - fi + ${cleanPackaging.checkForRemainingFiles} ''; meta = { diff --git a/pkgs/build-support/skaware/clean-packaging.nix b/pkgs/build-support/skaware/clean-packaging.nix new file mode 100644 index 00000000000..16bae04b21e --- /dev/null +++ b/pkgs/build-support/skaware/clean-packaging.nix @@ -0,0 +1,53 @@ +# set of utilities that assure the cwd of a build +# is completely clean after the build, meaning all +# files were either discarded or moved to outputs. +# This ensures nothing is forgotten and new files +# are correctly handled on update. +{ stdenv, file, writeScript }: + +let + globWith = stdenv.lib.concatMapStringsSep "\n"; + rmNoise = noiseGlobs: globWith (f: + ''rm -rf ${f}'') noiseGlobs; + mvDoc = docGlobs: globWith + (f: ''mv ${f} "$DOCDIR" 2>/dev/null || true'') + docGlobs; + + # Shell script that implements common move & remove actions + # $1 is the doc directory (will be created). + # Best used in conjunction with checkForRemainingFiles + commonFileActions = + { # list of fileglobs that are removed from the source dir + noiseFiles + # files that are moved to the doc directory ($1) + # TODO(Profpatsch): allow to set target dir with + # { glob = …; to = "html" } (relative to docdir) + , docFiles }: + writeScript "common-file-actions.sh" '' + #!${stdenv.shell} + set -e + DOCDIR="$1" + shopt -s globstar extglob nullglob + ${rmNoise noiseFiles} + mkdir -p "$DOCDIR" + ${mvDoc docFiles} + ''; + + # Shell script to check whether the build directory is empty. + # If there are still files remaining, exit 1 with a helpful + # listing of all remaining files and their types. + checkForRemainingFiles = writeScript "check-for-remaining-files.sh" '' + #!${stdenv.shell} + echo "Checking for remaining source files" + rem=$(find -mindepth 1 -xtype f -print0 \ + | tee $TMP/remaining-files) + if [[ "$rem" != "" ]]; then + echo "ERROR: These files should be either moved or deleted:" + cat $TMP/remaining-files | xargs -0 ${file}/bin/file + exit 1 + fi + ''; + +in { + inherit commonFileActions checkForRemainingFiles; +} diff --git a/pkgs/build-support/snap/default.nix b/pkgs/build-support/snap/default.nix new file mode 100644 index 00000000000..ba527186891 --- /dev/null +++ b/pkgs/build-support/snap/default.nix @@ -0,0 +1,4 @@ +{ callPackage, hello }: +{ + makeSnap = callPackage ./make-snap.nix { }; +} diff --git a/pkgs/build-support/snap/make-snap.nix b/pkgs/build-support/snap/make-snap.nix new file mode 100644 index 00000000000..cef7500bcba --- /dev/null +++ b/pkgs/build-support/snap/make-snap.nix @@ -0,0 +1,84 @@ +{ + runCommand, squashfsTools, closureInfo, lib, jq, writeText +}: + +{ + # The meta parameter is the contents of the `snap.yaml`, NOT the + # `snapcraft.yaml`. + # + # - `snap.yaml` is what is inside of the final Snap, + # - `snapcraft.yaml` is used by `snapcraft` to build snaps + # + # Since we skip the `snapcraft` tool, we skip the `snapcraft.yaml` + # file. For more information: + # + # https://docs.snapcraft.io/snap-format + # + # Note: unsquashfs'ing an existing snap from the store can be helpful + # for determining what you you're missing. + # + meta +}: let + snap_yaml = let + # Validate the snap's meta contains a name. + # Also: automatically set the `base` parameter and the layout for + # the `/nix` bind. + validate = { name, ... } @ args: + args // { + # Combine the provided arguments with the required options. + + # base: built from https://github.com/NixOS/snapd-nix-base + # and published as The NixOS Foundation on the Snapcraft store. + base = "nix-base"; + layout = (args.layout or {}) // { + # Bind mount the Snap's root nix directory to `/nix` in the + # execution environment's filesystem namespace. + "/nix".bind = "$SNAP/nix"; + }; + }; + in writeText "snap.yaml" + (builtins.toJSON (validate meta)); + + # These are specifically required by snapd, so don't change them + # unless you've verified snapcraft / snapd can handle them. Best bet + # is to just mirror this list against how snapcraft creates images. + # from: https://github.com/snapcore/snapcraft/blob/b88e378148134383ffecf3658e3a940b67c9bcc9/snapcraft/internal/lifecycle/_packer.py#L96-L98 + mksquashfs_args = [ + "-noappend" "-comp" "xz" "-no-xattrs" "-no-fragments" + + # Note: We want -all-root every time, since all the files are + # owned by root anyway. This is true for Nix, but not true for + # other builds. + # from: https://github.com/snapcore/snapcraft/blob/b88e378148134383ffecf3658e3a940b67c9bcc9/snapcraft/internal/lifecycle/_packer.py#L100 + "-all-root" + ]; + +in runCommand "squashfs.img" { + nativeBuildInputs = [ squashfsTools jq ]; + + closureInfo = closureInfo { + rootPaths = [ snap_yaml ]; + }; +} '' + root=$PWD/root + mkdir $root + + ( + # Put the snap.yaml in to `/meta/snap.yaml`, setting the version + # to the hash part of the store path + mkdir $root/meta + version=$(echo $out | cut -d/ -f4 | cut -d- -f1) + cat ${snap_yaml} | jq ". + { version: \"$version\" }" \ + > $root/meta/snap.yaml + ) + + ( + # Copy the store closure in to the root + mkdir -p $root/nix/store + cat $closureInfo/store-paths | xargs -I{} cp -r {} $root/nix/store/ + ) + + # Generate the squashfs image. + mksquashfs $root $out \ + ${lib.concatStringsSep " " mksquashfs_args} +'' diff --git a/pkgs/build-support/source-from-head-fun.nix b/pkgs/build-support/source-from-head-fun.nix index c6d6cfcc95b..938df1efd18 100644 --- a/pkgs/build-support/source-from-head-fun.nix +++ b/pkgs/build-support/source-from-head-fun.nix @@ -6,7 +6,7 @@ app --publish to create source snapshots - The documentation is availible at http://github.com/MarcWeber/nix-repository-manager/raw/master/README + The documentation is availible at https://github.com/MarcWeber/nix-repository-manager/raw/master/README */ { config }: diff --git a/pkgs/build-support/substitute-files/substitute-all-files.nix b/pkgs/build-support/substitute-files/substitute-all-files.nix index aa600a76650..66feb695c41 100644 --- a/pkgs/build-support/substitute-files/substitute-all-files.nix +++ b/pkgs/build-support/substitute-files/substitute-all-files.nix @@ -22,4 +22,5 @@ stdenv.mkDerivation ({ eval "$postInstall" ''; preferLocalBuild = true; + allowSubstitutes = false; } // args) diff --git a/pkgs/build-support/substitute/substitute-all.nix b/pkgs/build-support/substitute/substitute-all.nix index 7fd46f95f99..57b160bbe90 100644 --- a/pkgs/build-support/substitute/substitute-all.nix +++ b/pkgs/build-support/substitute/substitute-all.nix @@ -8,4 +8,5 @@ stdenvNoCC.mkDerivation ({ builder = ./substitute-all.sh; inherit (args) src; preferLocalBuild = true; + allowSubstitutes = false; } // args) diff --git a/pkgs/build-support/templaterpm/default.nix b/pkgs/build-support/templaterpm/default.nix index aca4e340e26..d9300188498 100644 --- a/pkgs/build-support/templaterpm/default.nix +++ b/pkgs/build-support/templaterpm/default.nix @@ -1,7 +1,7 @@ {stdenv, makeWrapper, python, toposort, rpm}: stdenv.mkDerivation rec { - name = "nix-template-rpm-${version}"; + pname = "nix-template-rpm"; version = "0.1"; buildInputs = [ makeWrapper python toposort rpm ]; diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 454ef8912b3..0bfe14a8539 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, stdenvNoCC, lndir }: +{ lib, stdenv, stdenvNoCC, lndir, runtimeShell }: let @@ -15,12 +15,12 @@ rec { /* Run the shell command `buildCommand' to produce a store path named * `name'. The attributes in `env' are added to the environment * prior to running the command. By default `runCommand' runs using - * stdenv with no compiler environment. `runCommandCC` + * stdenv with no compiler environment. `runCommandCC` * * Examples: - * runCommand "name" {envVariable = true;} ''echo hello'' - * runCommandNoCC "name" {envVariable = true;} ''echo hello'' # equivalent to prior - * runCommandCC "name" {} ''gcc -o myfile myfile.c; cp myfile $out''; + * runCommand "name" {envVariable = true;} ''echo hello > $out'' + * runCommandNoCC "name" {envVariable = true;} ''echo hello > $out'' # equivalent to prior + * runCommandCC "name" {} ''gcc -o myfile myfile.c; cp myfile $out''; */ runCommand = runCommandNoCC; runCommandNoCC = runCommand' stdenvNoCC; @@ -32,19 +32,23 @@ rec { * * Examples: * # Writes my-file to /nix/store/ - * writeTextFile "my-file" - * '' - * Contents of File + * writeTextFile { + * name = "my-file"; + * text = '' + * Contents of File * ''; + * } + * # See also the `writeText` helper function below. * * # Writes executable my-file to /nix/store//bin/my-file - * writeTextFile "my-file" - * '' - * Contents of File - * '' - * true - * "/bin/my-file"; - * true + * writeTextFile { + * name = "my-file"; + * text = '' + * Contents of File + * ''; + * executable = true; + * destination = "/bin/my-file"; + * } */ writeTextFile = { name # the name of the derivation @@ -75,7 +79,6 @@ rec { (test -n "$executable" && chmod +x "$n") || true ''; - /* * Writes a text file to nix store with no optional parameters available. * @@ -88,24 +91,35 @@ rec { * */ writeText = name: text: writeTextFile {inherit name text;}; + /* * Writes a text file to nix store in a specific directory with no - * optional parameters available. Name passed is the destination. + * optional parameters available. * * Example: - * # Writes contents of file to /nix/store// + * # Writes contents of file to /nix/store//share/my-file * writeTextDir "share/my-file" * '' * Contents of File * ''; * */ - writeTextDir = name: text: writeTextFile {inherit name text; destination = "/${name}";}; + writeTextDir = path: text: writeTextFile { + inherit text; + name = builtins.baseNameOf path; + destination = "/${path}"; + }; + /* - * Writes a text file to /nix/store/ and marks the file as executable. + * Writes a text file to /nix/store/ and marks the file as + * executable. + * + * If passed as a build input, will be used as a setup hook. This makes setup + * hooks more efficient to create: you don't need a derivation that copies + * them to $out/nix-support/setup-hook, instead you can use the file as is. * * Example: - * # Writes my-file to /nix/store//bin/my-file and makes executable + * # Writes my-file to /nix/store/ and makes executable * writeScript "my-file" * '' * Contents of File @@ -113,13 +127,14 @@ rec { * */ writeScript = name: text: writeTextFile {inherit name text; executable = true;}; + /* * Writes a text file to /nix/store//bin/ and * marks the file as executable. * * Example: * # Writes my-file to /nix/store//bin/my-file and makes executable. - * writeScript "my-file" + * writeScriptBin "my-file" * '' * Contents of File * ''; @@ -128,12 +143,38 @@ rec { writeScriptBin = name: text: writeTextFile {inherit name text; executable = true; destination = "/bin/${name}";}; /* - * Writes a Shell script and check its syntax. Automatically includes interpreter - * above the contents passed. + * Similar to writeScript. Writes a Shell script and checks its syntax. + * Automatically includes interpreter above the contents passed. + * + * Example: + * # Writes my-file to /nix/store/ and makes executable. + * writeShellScript "my-file" + * '' + * Contents of File + * ''; + * + */ + writeShellScript = name: text: + writeTextFile { + inherit name; + executable = true; + text = '' + #!${runtimeShell} + ${text} + ''; + checkPhase = '' + ${stdenv.shell} -n $out + ''; + }; + + /* + * Similar to writeShellScript and writeScriptBin. + * Writes an executable Shell script to /nix/store//bin/ and checks its syntax. + * Automatically includes interpreter above the contents passed. * * Example: * # Writes my-file to /nix/store//bin/my-file and makes executable. - * writeScript "my-file" + * writeShellScriptBin "my-file" * '' * Contents of File * ''; @@ -145,7 +186,7 @@ rec { executable = true; destination = "/bin/${name}"; text = '' - #!${stdenv.shell} + #!${runtimeShell} ${text} ''; checkPhase = '' @@ -215,7 +256,7 @@ rec { * myhellohook = makeSetupHook { deps = [ hello ]; } ./myscript.sh; * * # wrotes a setup hook where @bash@ myscript.sh is substituted for the - * # bash interpreter. + * # bash interpreter. * myhellohookSub = makeSetupHook { * deps = [ hello ]; * substitutions = { bash = "${pkgs.bash}/bin/bash"; }; @@ -278,7 +319,7 @@ rec { * packages that cannot be built automatically. * * Examples: - * + * * requireFile { * name = "my-file"; * url = "http://example.com/download/"; diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index de6a5e3b62f..a59da3a8745 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -774,9 +774,7 @@ rec { in rec { name = "centos-${version}-i386"; fullName = "CentOS ${version} (i386)"; - # N.B. Switch to vault.centos.org when the next release comes out - # urlPrefix = "http://vault.centos.org/${version}/os/i386"; - urlPrefix = "http://mirror.centos.org/centos-6/${version}/os/i386"; + urlPrefix = "mirror://centos/${version}/os/i386"; packagesList = fetchurl rec { url = "${urlPrefix}/repodata/${sha256}-primary.xml.gz"; sha256 = "b826a45082ef68340325c0855f3d2e5d5a4d0f77d28ba3b871791d6f14a97aeb"; @@ -790,9 +788,7 @@ rec { in rec { name = "centos-${version}-x86_64"; fullName = "CentOS ${version} (x86_64)"; - # N.B. Switch to vault.centos.org when the next release comes out - # urlPrefix = "http://vault.centos.org/${version}/os/x86_64"; - urlPrefix = "http://mirror.centos.org/centos-6/${version}/os/x86_64"; + urlPrefix = "mirror://centos/${version}/os/x86_64"; packagesList = fetchurl rec { url = "${urlPrefix}/repodata/${sha256}-primary.xml.gz"; sha256 = "ed2b2d4ac98d774d4cd3e91467e1532f7e8b0275cfc91a0d214b532dcaf1e979"; @@ -807,9 +803,7 @@ rec { in rec { name = "centos-${version}-x86_64"; fullName = "CentOS ${version} (x86_64)"; - # N.B. Switch to vault.centos.org when the next release comes out - # urlPrefix = "http://vault.centos.org/${version}/os/x86_64"; - urlPrefix = "http://mirror.centos.org/centos-7/${version}/os/x86_64"; + urlPrefix = "mirror://centos/${version}/os/x86_64"; packagesList = fetchurl rec { url = "${urlPrefix}/repodata/${sha256}-primary.xml.gz"; sha256 = "b686d3a0f337323e656d9387b9a76ce6808b26255fc3a138b1a87d3b1cb95ed5"; @@ -1021,22 +1015,22 @@ rec { }; debian9i386 = { - name = "debian-9.4-stretch-i386"; - fullName = "Debian 9.4 Stretch (i386)"; + name = "debian-9.8-stretch-i386"; + fullName = "Debian 9.8 Stretch (i386)"; packagesList = fetchurl { - url = http://snapshot.debian.org/archive/debian/20180912T154744Z/dists/stretch/main/binary-i386/Packages.xz; - sha256 = "0flvn8zn7vk04p10ndf3aq0mdr8k2ic01g51aq4lsllkv8lmwzyh"; + url = http://snapshot.debian.org/archive/debian/20190503T090946Z/dists/stretch/main/binary-i386/Packages.xz; + sha256 = "1dr3skl35iyj85qlc33lq4whippbqf327vnbcyfqqrv6h86k68mw"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; }; debian9x86_64 = { - name = "debian-9.4-stretch-amd64"; - fullName = "Debian 9.4 Stretch (amd64)"; + name = "debian-9.8-stretch-amd64"; + fullName = "Debian 9.8 Stretch (amd64)"; packagesList = fetchurl { - url = http://snapshot.debian.org/archive/debian/20180912T154744Z/dists/stretch/main/binary-amd64/Packages.xz; - sha256 = "11vnn9bba2jabixvabfbw9zparl326c88xn99di7pbr5xsnl15jm"; + url = http://snapshot.debian.org/archive/debian/20190503T090946Z/dists/stretch/main/binary-amd64/Packages.xz; + sha256 = "01q00nl47p12n7wx0xclx59wf3zlkzrgj3zxpshyvb91xdnw5sh6"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; diff --git a/pkgs/build-support/vm/windows/controller/default.nix b/pkgs/build-support/vm/windows/controller/default.nix index e000308bed8..08b93aaf117 100644 --- a/pkgs/build-support/vm/windows/controller/default.nix +++ b/pkgs/build-support/vm/windows/controller/default.nix @@ -1,5 +1,6 @@ { stdenv, writeScript, vmTools, makeInitrd , samba, vde2, openssh, socat, netcat-gnu, coreutils, gnugrep, gzip +, runtimeShell }: { sshKey @@ -74,7 +75,7 @@ let loopForever = "while :; do ${coreutils}/bin/sleep 1; done"; initScript = writeScript "init.sh" ('' - #!${stdenv.shell} + #!${runtimeShell} ${coreutils}/bin/cp -L "${sshKey}" /ssh.key ${coreutils}/bin/chmod 600 /ssh.key '' + (if installMode then '' diff --git a/pkgs/build-support/wrapper-common/utils.bash b/pkgs/build-support/wrapper-common/utils.bash index 12b596a83e6..4fd57162072 100644 --- a/pkgs/build-support/wrapper-common/utils.bash +++ b/pkgs/build-support/wrapper-common/utils.bash @@ -86,9 +86,6 @@ expandResponseParams() { #shellcheck disable=SC2034 readarray -d '' params < <("@expandResponseParams@" "$@") return 0 - else - echo "Response files aren't supported during bootstrapping" >&2 - return 1 fi fi done diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix index 6e932ce860f..8dbe0dbdbd0 100644 --- a/pkgs/build-support/writers/default.nix +++ b/pkgs/build-support/writers/default.nix @@ -10,12 +10,12 @@ rec { # makeScriptWriter { interpreter = "${pkgs.dash}/bin/dash"; } "hello" "echo hello world" makeScriptWriter = { interpreter, check ? "" }: nameOrPath: content: assert lib.or (types.path.check nameOrPath) (builtins.match "([0-9A-Za-z._])[0-9A-Za-z._-]*" nameOrPath != null); - assert lib.or (types.path.check content) (types.string.check content); + assert lib.or (types.path.check content) (types.str.check content); let name = last (builtins.split "/" nameOrPath); in - pkgs.runCommand name (if (types.string.check content) then { + pkgs.runCommand name (if (types.str.check content) then { inherit content interpreter; passAsFile = [ "content" ]; } else { @@ -24,6 +24,9 @@ rec { }) '' echo "#! $interpreter" > $out cat "$contentPath" >> $out + ${optionalString (check != "") '' + ${check} $out + ''} chmod +x $out ${optionalString (types.path.check nameOrPath) '' mv $out tmp @@ -39,11 +42,11 @@ rec { # writeSimpleC = makeBinWriter { compileScript = name: "gcc -o $out $contentPath"; } makeBinWriter = { compileScript }: nameOrPath: content: assert lib.or (types.path.check nameOrPath) (builtins.match "([0-9A-Za-z._])[0-9A-Za-z._-]*" nameOrPath != null); - assert lib.or (types.path.check content) (types.string.check content); + assert lib.or (types.path.check content) (types.str.check content); let name = last (builtins.split "/" nameOrPath); in - pkgs.runCommand name (if (types.string.check content) then { + pkgs.runCommand name (if (types.str.check content) then { inherit content; passAsFile = [ "content" ]; } else { @@ -94,8 +97,8 @@ rec { ]} gcc \ ${optionalString (libraries != []) - "$(pkgs.pkgconfig}/bin/pkg-config --cflags --libs ${ - concatMapStringsSep " " (lib: escapeShellArg (builtins.parseDrvName lib.name).name) (libraries) + "$(pkg-config --cflags --libs ${ + concatMapStringsSep " " (pkg: "$(find ${escapeShellArg pkg}/lib/pkgsconfig -name \*.pc -exec basename {} \;)") libraries })" } \ -O \ @@ -178,6 +181,23 @@ rec { writeJSBin = name: writeJS "/bin/${name}"; + awkFormatNginx = builtins.toFile "awkFormat-nginx.awk" '' + awk -f + {sub(/^[ \t]+/,"");idx=0} + /\{/{ctx++;idx=1} + /\}/{ctx--} + {id="";for(i=idx;i $out + ${pkgs.gixy}/bin/gixy $out + ''; + # writePerl takes a name an attributeset with libraries and some perl sourcecode and # returns an executable # diff --git a/pkgs/common-updater/scripts.nix b/pkgs/common-updater/scripts.nix index b260c67ca7c..1bec4a73996 100644 --- a/pkgs/common-updater/scripts.nix +++ b/pkgs/common-updater/scripts.nix @@ -1,18 +1,18 @@ -{ stdenv, makeWrapper, coreutils, gawk, gnused, diffutils, nix }: +{ stdenv, makeWrapper, coreutils, gawk, gnused, gnugrep, diffutils, nix }: stdenv.mkDerivation { name = "common-updater-scripts"; buildInputs = [ makeWrapper ]; - unpackPhase = "true"; + dontUnpack = true; installPhase = '' mkdir -p $out/bin cp ${./scripts}/* $out/bin for f in $out/bin/*; do - wrapProgram $f --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gawk gnused nix diffutils ]} + wrapProgram $f --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gawk gnused gnugrep nix diffutils ]} done ''; } diff --git a/pkgs/common-updater/scripts/update-source-version b/pkgs/common-updater/scripts/update-source-version index 117e8724cd8..591ffa6ca5b 100755 --- a/pkgs/common-updater/scripts/update-source-version +++ b/pkgs/common-updater/scripts/update-source-version @@ -1,29 +1,82 @@ #!/usr/bin/env bash set -e +scriptName=update-source-versions # do not use the .wrapped name + die() { - echo "$0: error: $1" >&2 + echo "$scriptName: error: $1" >&2 exit 1 } -# Usage: update-source-hash [] [] [] -attr=$1 -newVersion=$2 -newHash=$3 -newUrl=$4 -versionKey=$5 +usage() { + echo "Usage: $scriptName [] []" + echo " [--version-key=] [--system=] [--file=]" +} + +args=() + +for arg in "$@"; do + case $arg in + --system=*) + systemArg="--system ${arg#*=}" + ;; + --version-key=*) + versionKey="${arg#*=}" + ;; + --file=*) + nixFile="${arg#*=}" + if [ ! -f "$nixFile" ]; then + die "Could not find provided file $nixFile" + fi + ;; + --ignore-same-hash) + ignoreSameHash="true" + ;; + --help) + usage + exit 0 + ;; + --*) + echo "$scriptName: Unknown argument: " $arg + usage + exit 1 + ;; + *) + args["${#args[*]}"]=$arg + ;; + esac +done + +attr=${args[0]} +newVersion=${args[1]} +newHash=${args[2]} +newUrl=${args[3]} + +if [ "${#args[*]}" -lt 2 ]; then + echo "$scriptName: Too few arguments" + usage + exit 1 +fi + +if [ "${#args[*]}" -gt 4 ]; then + echo "$scriptName: Too many arguments" + usage + exit 1 +fi if [ -z "$versionKey" ]; then versionKey=version fi -nixFile=$(nix-instantiate --eval --strict -A "$attr.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/') -if [ ! -f "$nixFile" ]; then - die "Couldn't evaluate '$attr.meta.position' to locate the .nix file!" +if [ -z "$nixFile" ]; then + nixFile=$(nix-instantiate $systemArg --eval --strict -A "$attr.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/') + if [ ! -f "$nixFile" ]; then + die "Couldn't evaluate '$attr.meta.position' to locate the .nix file!" + fi fi -oldHashAlgo=$(nix-instantiate --eval --strict -A "$attr.src.drvAttrs.outputHashAlgo" | tr -d '"') -oldHash=$(nix-instantiate --eval --strict -A "$attr.src.drvAttrs.outputHash" | tr -d '"') +oldHashAlgo=$(nix-instantiate $systemArg --eval --strict -A "$attr.src.drvAttrs.outputHashAlgo" | tr -d '"') +oldHash=$(nix-instantiate $systemArg --eval --strict -A "$attr.src.drvAttrs.outputHash" | tr -d '"') if [ -z "$oldHashAlgo" -o -z "$oldHash" ]; then die "Couldn't evaluate old source hash from '$attr.src'!" @@ -33,32 +86,32 @@ if [ $(grep -c "$oldHash" "$nixFile") != 1 ]; then die "Couldn't locate old source hash '$oldHash' (or it appeared more than once) in '$nixFile'!" fi -oldUrl=$(nix-instantiate --eval -E "with import ./. {}; builtins.elemAt $attr.src.drvAttrs.urls 0" | tr -d '"') +oldUrl=$(nix-instantiate $systemArg --eval -E "with import ./. {}; builtins.elemAt ($attr.src.drvAttrs.urls or [ $attr.src.url ]) 0" | tr -d '"') if [ -z "$oldUrl" ]; then - die "Couldn't evaluate source url from '$attr.name'!" + die "Couldn't evaluate source url from '$attr.src'!" fi -drvName=$(nix-instantiate --eval -E "with import ./. {}; (builtins.parseDrvName $attr.name).name" | tr -d '"') -oldVersion=$(nix-instantiate --eval -E "with import ./. {}; $attr.version or (builtins.parseDrvName $attr.name).version" | tr -d '"') +drvName=$(nix-instantiate $systemArg --eval -E "with import ./. {}; (builtins.parseDrvName $attr.name).name" | tr -d '"') +oldVersion=$(nix-instantiate $systemArg --eval -E "with import ./. {}; $attr.${versionKey} or (builtins.parseDrvName $attr.name).version" | tr -d '"') if [ -z "$drvName" -o -z "$oldVersion" ]; then die "Couldn't evaluate name and version from '$attr.name'!" fi if [ "$oldVersion" = "$newVersion" ]; then - echo "$0: New version same as old version, nothing to do." >&2 + echo "$scriptName: New version same as old version, nothing to do." >&2 exit 0 fi # Escape regex metacharacter that are allowed in store path names -oldVersion=$(echo "$oldVersion" | sed -re 's|[.+]|\\&|g') -oldUrl=$(echo "$oldUrl" | sed -re 's|[${}.+]|\\&|g') +oldVersionEscaped=$(echo "$oldVersion" | sed -re 's|[.+]|\\&|g') +oldUrlEscaped=$(echo "$oldUrl" | sed -re 's|[${}.+]|\\&|g') -if [ $(grep -c -E "^\s*(let\b)?\s*$versionKey\s*=\s*\"$oldVersion\"" "$nixFile") = 1 ]; then - pattern="/\b$versionKey\b\s*=/ s|\"$oldVersion\"|\"$newVersion\"|" -elif [ $(grep -c -E "^\s*(let\b)?\s*name\s*=\s*\"[^\"]+-$oldVersion\"" "$nixFile") = 1 ]; then - pattern="/\bname\b\s*=/ s|-$oldVersion\"|-$newVersion\"|" +if [ $(grep -c -E "^\s*(let\b)?\s*$versionKey\s*=\s*\"$oldVersionEscaped\"" "$nixFile") = 1 ]; then + pattern="/\b$versionKey\b\s*=/ s|\"$oldVersionEscaped\"|\"$newVersion\"|" +elif [ $(grep -c -E "^\s*(let\b)?\s*name\s*=\s*\"[^\"]+-$oldVersionEscaped\"" "$nixFile") = 1 ]; then + pattern="/\bname\b\s*=/ s|-$oldVersionEscaped\"|-$newVersion\"|" else die "Couldn't figure out where out where to patch in new version in '$attr'!" fi @@ -71,7 +124,7 @@ fi # Replace new URL if [ -n "$newUrl" ]; then - sed -i "$nixFile" -re "s|\"$oldUrl\"|\"$newUrl\"|" + sed -i "$nixFile" -re "s|\"$oldUrlEscaped\"|\"$newUrl\"|" if cmp -s "$nixFile" "$nixFile.bak"; then die "Failed to replace source URL '$oldUrl' to '$newUrl' in '$attr'!" @@ -94,7 +147,7 @@ fi # If new hash not given on the command line, recalculate it ourselves. if [ -z "$newHash" ]; then - nix-build --no-out-link -A "$attr.src" 2>"$attr.fetchlog" >/dev/null || true + nix-build $systemArg --no-out-link -A "$attr.src" 2>"$attr.fetchlog" >/dev/null || true # FIXME: use nix-build --hash here once https://github.com/NixOS/nix/issues/1172 is fixed newHash=$(egrep -v "killing process|dependencies couldn't be built|wanted: " "$attr.fetchlog" | tail -n2 | sed "s~output path .* has .* hash ‘\(.*\)’ when .* was expected\|fixed-output derivation produced path '.*' with .* hash '\(.*\)' instead of the expected hash '.*'\| got: .*:\(.*\)~\1\2\3~" | head -n1) fi @@ -104,7 +157,7 @@ if [ -z "$newHash" ]; then die "Couldn't figure out new hash of '$attr.src'!" fi -if [ "$oldVersion" != "$newVersion" ] && [ "$oldHash" = "$newHash" ]; then +if [ -z "${ignoreSameHash}" ] && [ "$oldVersion" != "$newVersion" ] && [ "$oldHash" = "$newHash" ]; then mv "$nixFile.bak" "$nixFile" die "Both the old and new source hashes of '$attr.src' were equivalent. Please fix the package's source URL to be dependent on '\${version}'!" fi diff --git a/pkgs/data/documentation/bgnet/default.nix b/pkgs/data/documentation/bgnet/default.nix index 51ebe704bea..a53ead29c1e 100644 --- a/pkgs/data/documentation/bgnet/default.nix +++ b/pkgs/data/documentation/bgnet/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, python, zip, fop }: stdenv.mkDerivation rec { - name = "bgnet-${version}"; + pname = "bgnet"; version = "3.0.21"; src = fetchurl { diff --git a/pkgs/data/documentation/gnome-user-docs/default.nix b/pkgs/data/documentation/gnome-user-docs/default.nix index 9e6639c0a0a..4bdfa70c63f 100644 --- a/pkgs/data/documentation/gnome-user-docs/default.nix +++ b/pkgs/data/documentation/gnome-user-docs/default.nix @@ -1,12 +1,27 @@ -{ stdenv, fetchurl, itstool, libxml2, gettext }: +{ stdenv, fetchurl, itstool, libxml2, gettext, gnome3 }: -stdenv.mkDerivation { - name = "gnome-user-docs-3.2.2"; +stdenv.mkDerivation rec { + pname = "gnome-user-docs"; + version = "3.2.2"; src = fetchurl { - url = mirror://gnome/sources/gnome-user-docs/3.2/gnome-user-docs-3.2.2.tar.xz; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "1ka0nw2kc85p10y8x31v0wv06a88k7qrgafp4ys04y9fzz0rkcjj"; }; nativeBuildInputs = [ itstool libxml2 gettext ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.gnome-user-docs"; + }; + }; + + meta = { + homepage = "https://gitlab.gnome.org/GNOME/gnome-user-docs"; + description = "GNOME User Documentation"; + license = stdenv.lib.licenses.cc-by-30; + maintainers = gnome3.maintainers; + }; } diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix index 6d657472e66..8b0696408e6 100644 --- a/pkgs/data/documentation/man-pages/default.nix +++ b/pkgs/data/documentation/man-pages/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "man-pages-${version}"; - version = "4.16"; + pname = "man-pages"; + version = "5.02"; src = fetchurl { - url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz"; - sha256 = "1d2d6llazg3inwjiz22cn46mbm5ydpbyh9qb55z4j3nm4w6wrzs7"; + url = "mirror://kernel/linux/docs/man-pages/${pname}-${version}.tar.xz"; + sha256 = "1s4pdz2pwf0kvhdwx2s6lqn3xxzi38yz5jfyq5ymdmswc9gaiyn2"; }; makeFlags = [ "MANDIR=$(out)/share/man" ]; diff --git a/pkgs/data/documentation/mustache-spec/default.nix b/pkgs/data/documentation/mustache-spec/default.nix index 08690b7cecf..b2a6eaa1535 100644 --- a/pkgs/data/documentation/mustache-spec/default.nix +++ b/pkgs/data/documentation/mustache-spec/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "mustache-spec-${version}"; + pname = "mustache-spec"; version = "1.0.2"; src = fetchFromGitHub { diff --git a/pkgs/data/documentation/std-man-pages/default.nix b/pkgs/data/documentation/std-man-pages/default.nix index 34597135500..d90fa99dd70 100644 --- a/pkgs/data/documentation/std-man-pages/default.nix +++ b/pkgs/data/documentation/std-man-pages/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl}: +{ stdenv, lib, fetchurl }: stdenv.mkDerivation rec { name = "std-man-pages-4.4.0"; @@ -15,10 +15,10 @@ stdenv.mkDerivation rec { cp -R * $out/share/man ''; - meta = { - description = "C++ STD manual pages"; - homepage = https://gcc.gnu.org/; - license = "GPL/LGPL"; - platforms = stdenv.lib.platforms.unix; + meta = with lib; { + description = "GCC C++ STD manual pages"; + homepage = "https://gcc.gnu.org/"; + license = with licenses; [ fdl12Plus ]; + platforms = platforms.unix; }; } diff --git a/pkgs/data/documentation/stdman/default.nix b/pkgs/data/documentation/stdman/default.nix index 25df45258a6..81fa0ea945d 100644 --- a/pkgs/data/documentation/stdman/default.nix +++ b/pkgs/data/documentation/stdman/default.nix @@ -1,7 +1,7 @@ { stdenv, curl, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "stdman-${version}"; + pname = "stdman"; version = "2018.03.11"; src = fetchFromGitHub { diff --git a/pkgs/data/documentation/zeal/default.nix b/pkgs/data/documentation/zeal/default.nix index 63fe26f069c..2566b162d65 100644 --- a/pkgs/data/documentation/zeal/default.nix +++ b/pkgs/data/documentation/zeal/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchFromGitHub, cmake, extra-cmake-modules, pkgconfig -, qtbase, qtimageformats, qtwebkit, qtx11extras +, qtbase, qtimageformats, qtwebkit, qtx11extras, mkDerivation , libarchive, libXdmcp, libpthreadstubs, xcbutilkeysyms }: -stdenv.mkDerivation rec { - name = "zeal-${version}"; +mkDerivation rec { + pname = "zeal"; version = "0.6.1"; src = fetchFromGitHub { diff --git a/pkgs/data/fonts/agave/default.nix b/pkgs/data/fonts/agave/default.nix index eb18f620a2a..e9f4fbd4867 100644 --- a/pkgs/data/fonts/agave/default.nix +++ b/pkgs/data/fonts/agave/default.nix @@ -1,24 +1,21 @@ -{ stdenv, fetchurl }: +{ lib, fetchurl }: -stdenv.mkDerivation rec { +let pname = "agave"; - version = "009"; + version = "10"; +in fetchurl { + name = "${pname}-${version}"; + url = "https://github.com/agarick/agave/releases/download/v${version}/agave-r.ttf"; - src = fetchurl { - url = "https://github.com/agarick/agave/releases/download/v${version}/agave-r.ttf"; - sha256 = "05766gp2glm1p2vknk1nncxigq28hg8s58kjwsbn8zpwy8ivywpk"; - }; - - sourceRoot = "."; - - unpackPhase = ":"; - dontBuild = true; - installPhase = '' - mkdir -p $out/share/fonts/truetype - cp $src $out/share/fonts/truetype/ + downloadToTemp = true; + recursiveHash = true; + postFetch = '' + install -D $downloadedFile $out/share/fonts/truetype/agave-r.ttf ''; - meta = with stdenv.lib; { + sha256 = "1mfj6a9sp00mjz7420yyrbbs5bqks3fz2slwgcppklxnz0890r9f"; + + meta = with lib; { description = "truetype monospaced typeface designed for X environments"; homepage = https://b.agaric.net/page/agave; license = licenses.mit; diff --git a/pkgs/data/fonts/aileron/default.nix b/pkgs/data/fonts/aileron/default.nix index 52a96f16db0..ee85ee59882 100644 --- a/pkgs/data/fonts/aileron/default.nix +++ b/pkgs/data/fonts/aileron/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let majorVersion = "0"; @@ -17,7 +17,7 @@ fetchzip rec { unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype/${pname} ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "http://dotcolon.net/font/${pname}/"; description = "A helvetica font in nine weights"; platforms = platforms.all; diff --git a/pkgs/data/fonts/amiri/default.nix b/pkgs/data/fonts/amiri/default.nix new file mode 100644 index 00000000000..36d8ed3c674 --- /dev/null +++ b/pkgs/data/fonts/amiri/default.nix @@ -0,0 +1,27 @@ +{ lib, fetchzip }: + +let + version = "0.111"; + +in fetchzip rec { + name = "Amiri-${version}"; + + url = "https://github.com/alif-type/amiri/releases/download/${version}/${name}.zip"; + + sha256 = "1w3a5na4mazspwy8j2hvpjha10sgd287kamm51p49jcr90cvwbdr"; + + postFetch = '' + unzip $downloadedFile + install -m444 -Dt $out/share/fonts/truetype ${name}/*.ttf + install -m444 -Dt $out/share/doc/${name} ${name}/{*.txt,*.pdf} + ''; + + meta = with lib; { + description = "A classical Arabic typeface in Naskh style"; + homepage = "https://www.amirifont.org/"; + license = licenses.ofl; + maintainers = [ maintainers.vbgl ]; + platforms = platforms.all; + }; +} + diff --git a/pkgs/data/fonts/andagii/default.nix b/pkgs/data/fonts/andagii/default.nix index ba0bab61eec..0f20b9c46cf 100644 --- a/pkgs/data/fonts/andagii/default.nix +++ b/pkgs/data/fonts/andagii/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "1.0.2"; @@ -17,7 +17,7 @@ in fetchzip { # There are multiple claims that the font is GPL, so I include the # package; but I cannot find the original source, so use it on your # own risk Debian claims it is GPL - good enough for me. - meta = with stdenv.lib; { + meta = with lib; { homepage = http://www.i18nguy.com/unicode/unicode-font.html; description = "Unicode Plane 1 Osmanya script font"; maintainers = with maintainers; [ raskin rycee ]; diff --git a/pkgs/data/fonts/andika/default.nix b/pkgs/data/fonts/andika/default.nix index 4b6965563a3..e03a800b3ad 100644 --- a/pkgs/data/fonts/andika/default.nix +++ b/pkgs/data/fonts/andika/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "5.000"; @@ -16,7 +16,7 @@ in sha256 = "1jy9vpcprpd1k48p20wh6jhyn909ibia8lr5i747p41l0s8a7lqy"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://software.sil.org/andika; description = "A family designed especially for literacy use taking into account the needs of beginning readers"; longDescription = '' diff --git a/pkgs/data/fonts/ankacoder/condensed.nix b/pkgs/data/fonts/ankacoder/condensed.nix index 08a46628e65..53f4d94b38f 100644 --- a/pkgs/data/fonts/ankacoder/condensed.nix +++ b/pkgs/data/fonts/ankacoder/condensed.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "1.100"; in fetchzip rec { @@ -13,7 +13,7 @@ fetchzip rec { sha256 = "0i80zpr2y9368rg2i6x8jv0g7d03kdyr5h7w9yz7pjd7i9xd8439"; - meta = with stdenv.lib; { + meta = with lib; { description = "Anka/Coder Condensed font"; homepage = https://code.google.com/archive/p/anka-coder-fonts; license = licenses.ofl; diff --git a/pkgs/data/fonts/ankacoder/default.nix b/pkgs/data/fonts/ankacoder/default.nix index 32270607028..52e2d4a4233 100644 --- a/pkgs/data/fonts/ankacoder/default.nix +++ b/pkgs/data/fonts/ankacoder/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "1.100"; in fetchzip rec { @@ -13,7 +13,7 @@ fetchzip rec { sha256 = "1jqx9micfmiarqh9xp330gl96v3vxbwzz9cmg2vi845n9md4im85"; - meta = with stdenv.lib; { + meta = with lib; { description = "Anka/Coder fonts"; homepage = https://code.google.com/archive/p/anka-coder-fonts; license = licenses.ofl; @@ -21,4 +21,3 @@ fetchzip rec { platforms = platforms.all; }; } - diff --git a/pkgs/data/fonts/anonymous-pro/default.nix b/pkgs/data/fonts/anonymous-pro/default.nix index 3ac2c943299..4aeda64377e 100644 --- a/pkgs/data/fonts/anonymous-pro/default.nix +++ b/pkgs/data/fonts/anonymous-pro/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "1.002"; @@ -13,7 +13,7 @@ in fetchzip rec { ''; sha256 = "05rgzag38qc77b31sm5i2vwwrxbrvwzfsqh3slv11skx36pz337f"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://www.marksimonson.com/fonts/view/anonymous-pro; description = "TrueType font set intended for source code"; longDescription = '' diff --git a/pkgs/data/fonts/arkpandora/default.nix b/pkgs/data/fonts/arkpandora/default.nix index 909985d945b..827d7b0a5a4 100644 --- a/pkgs/data/fonts/arkpandora/default.nix +++ b/pkgs/data/fonts/arkpandora/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ fetchurl }: let version = "2.04"; @@ -21,6 +21,5 @@ in fetchurl { meta = { description = "Font, metrically identical to Arial and Times New Roman"; - platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/data/fonts/arphic/default.nix b/pkgs/data/fonts/arphic/default.nix index 37d9a199567..1e52ea301af 100644 --- a/pkgs/data/fonts/arphic/default.nix +++ b/pkgs/data/fonts/arphic/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip, mkfontscale, mkfontdir }: +{ lib, fetchzip, mkfontscale, mkfontdir }: let version = "0.2.20080216.2"; @@ -18,7 +18,7 @@ in { sha256 = "0xi5ycm7ydzpn7cqxv1kcj9vd70nr9wn8v27hmibyjc25y2qdmzl"; - meta = with stdenv.lib; { + meta = with lib; { description = "CJK Unicode font Kai style"; homepage = https://www.freedesktop.org/wiki/Software/CJKUnifonts/; @@ -43,7 +43,7 @@ in { sha256 = "16jybvj1cxamm682caj6nsm6l5c60x9mgchp1l2izrw2rvc8x38d"; - meta = with stdenv.lib; { + meta = with lib; { description = "CJK Unicode font Ming style"; homepage = https://www.freedesktop.org/wiki/Software/CJKUnifonts/; diff --git a/pkgs/data/fonts/aurulent-sans/default.nix b/pkgs/data/fonts/aurulent-sans/default.nix index 1a83ce17646..a87be94acd0 100644 --- a/pkgs/data/fonts/aurulent-sans/default.nix +++ b/pkgs/data/fonts/aurulent-sans/default.nix @@ -1,12 +1,13 @@ -{stdenv, fetchzip}: +{ lib, fetchFromGitHub }: -fetchzip rec { +fetchFromGitHub rec { name = "aurulent-sans-0.1"; - - url = "https://github.com/deepfire/hartke-aurulent-sans/archive/${name}.zip"; + owner = "deepfire"; + repo = "hartke-aurulent-sans"; + rev = name; postFetch = '' mkdir -p $out/share/fonts - unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype + tar xf $downloadedFile -C $out/share/fonts --strip=1 ''; sha256 = "1l60psfv9x0x9qx9vp1qnhmck7a7kks385m5ycrd3d91irz1j5li"; @@ -14,8 +15,8 @@ fetchzip rec { description = "Aurulent Sans"; longDescription = "Aurulent Sans is a humanist sans serif intended to be used as an interface font."; homepage = http://delubrum.org/; - maintainers = with stdenv.lib.maintainers; [ deepfire ]; - license = stdenv.lib.licenses.ofl; - platforms = stdenv.lib.platforms.all; + maintainers = with lib.maintainers; [ deepfire ]; + license = lib.licenses.ofl; + platforms = lib.platforms.all; }; } diff --git a/pkgs/data/fonts/b612/default.nix b/pkgs/data/fonts/b612/default.nix index b7b79f2e2ca..1c2d7f53bad 100644 --- a/pkgs/data/fonts/b612/default.nix +++ b/pkgs/data/fonts/b612/default.nix @@ -1,20 +1,21 @@ -{ stdenv, fetchzip, lib }: +{ lib, fetchFromGitHub }: let - version = "1.003"; + version = "1.008"; pname = "b612"; -in - -fetchzip rec { +in fetchFromGitHub { name = "${pname}-font-${version}"; - url = "http://git.polarsys.org/c/${pname}/${pname}.git/snapshot/${pname}-bd14fde2544566e620eab106eb8d6f2b7fb1347e.zip"; - sha256 = "07gadk9b975k69pgw9gj54qx8d5xvxphid7wrmv4cna52jyy4464"; + owner = "polarsys"; + repo = "b612"; + rev = version; postFetch = '' + tar xf $downloadedFile --strip=1 mkdir -p $out/share/fonts/truetype/${pname} - unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype/${pname} + cp fonts/ttf/*.ttf $out/share/fonts/truetype/${pname} ''; + sha256 = "0r3lana1q9w3siv8czb3p9rrb5d9svp628yfbvvmnj7qvjrmfsiq"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://b612-font.com/; description = "Highly legible font family for use on aircraft cockpit screens"; longDescription = '' diff --git a/pkgs/data/fonts/babelstone-han/default.nix b/pkgs/data/fonts/babelstone-han/default.nix index 67080e73c46..5408e7b1b1d 100644 --- a/pkgs/data/fonts/babelstone-han/default.nix +++ b/pkgs/data/fonts/babelstone-han/default.nix @@ -1,7 +1,7 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let - version = "11.0.3"; + version = "12.1.4"; in fetchzip { name = "babelstone-han-${version}"; @@ -10,9 +10,9 @@ in fetchzip { mkdir -p $out/share/fonts/truetype unzip $downloadedFile '*.ttf' -d $out/share/fonts/truetype ''; - sha256 = "0c8s21kllyilwivrb8gywq818y67w3zpann34hz36vy0wyiswn1c"; + sha256 = "1fypwk2i87jfrckvxg9wz4x84z7c6ifgzrjb8fylhac50lzi6kni"; - meta = with stdenv.lib; { + meta = with lib; { description = "Unicode CJK font with over 36000 Han characters"; homepage = http://www.babelstone.co.uk/Fonts/Han.html; diff --git a/pkgs/data/fonts/baekmuk-ttf/default.nix b/pkgs/data/fonts/baekmuk-ttf/default.nix index 555bba63354..583a7457e2d 100644 --- a/pkgs/data/fonts/baekmuk-ttf/default.nix +++ b/pkgs/data/fonts/baekmuk-ttf/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ fetchzip }: fetchzip rec { name = "baekmuk-ttf-2.2"; @@ -6,9 +6,8 @@ fetchzip rec { url = "http://kldp.net/baekmuk/release/865-${name}.tar.gz"; postFetch = '' tar -xzvf $downloadedFile --strip-components=1 - mkdir -p $out/share/fonts $out/share/doc/${name} - cp ttf/*.ttf $out/share/fonts - cp COPYRIGHT* $out/share/doc/${name} + install -m444 -Dt $out/share/fonts ttf/*.ttf + install -m444 -Dt $out/share/doc/${name} COPYRIGHT* ''; sha256 = "1jgsvack1l14q8lbcv4qhgbswi30mf045k37rl772hzcmx0r206g"; @@ -16,7 +15,6 @@ fetchzip rec { description = "Korean font"; homepage = http://kldp.net/projects/baekmuk/; license = "BSD-like"; - platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/data/fonts/bakoma-ttf/default.nix b/pkgs/data/fonts/bakoma-ttf/default.nix index 8d87154c1df..70074a58d96 100644 --- a/pkgs/data/fonts/bakoma-ttf/default.nix +++ b/pkgs/data/fonts/bakoma-ttf/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ fetchzip }: fetchzip { name = "bakoma-ttf"; @@ -16,6 +16,5 @@ fetchzip { meta = { description = "TrueType versions of the Computer Modern and AMS TeX Fonts"; homepage = http://www.ctan.org/tex-archive/fonts/cm/ps-type1/bakoma/ttf/; - platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/data/fonts/behdad-fonts/default.nix b/pkgs/data/fonts/behdad-fonts/default.nix new file mode 100644 index 00000000000..8b4228ec423 --- /dev/null +++ b/pkgs/data/fonts/behdad-fonts/default.nix @@ -0,0 +1,25 @@ +{ lib, fetchFromGitHub }: + +let + pname = "behdad-fonts"; + version = "0.0.3"; +in fetchFromGitHub rec { + name = "${pname}-${version}"; + owner = "font-store"; + repo = "BehdadFont"; + rev = "v${version}"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/behrad-fonts {} \; + ''; + sha256 = "0c57232462cv1jrfn0m2bl7jzcfkacirrdd2qimrc8iqhkz0ajfz"; + + meta = with lib; { + homepage = https://github.com/font-store/BehdadFont; + description = "A Persian/Arabic Open Source Font"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = [ maintainers.linarcx ]; + }; +} diff --git a/pkgs/data/fonts/cabin/default.nix b/pkgs/data/fonts/cabin/default.nix index 5bf4d454b06..0a8168cdf9e 100644 --- a/pkgs/data/fonts/cabin/default.nix +++ b/pkgs/data/fonts/cabin/default.nix @@ -1,19 +1,21 @@ -{ stdenv, fetchzip }: +{ lib, fetchFromGitHub }: -fetchzip rec { +fetchFromGitHub rec { name = "cabin-1.005"; - url = https://github.com/impallari/Cabin/archive/982839c790e9dc57c343972aa34c51ed3b3677fd.zip; + owner = "impallari"; + repo = "Cabin"; + rev = "982839c790e9dc57c343972aa34c51ed3b3677fd"; postFetch = '' - mkdir -p $out/share/{doc,fonts} - unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype - unzip -j $downloadedFile \*README.md \*FONTLOG.txt -d "$out/share/doc/${name}" + tar xf $downloadedFile --strip=1 + install -m444 -Dt $out/share/fonts/opentype fonts/OTF/*.otf + install -m444 -Dt $out/share/doc/${name} README.md FONTLOG.txt ''; - sha256 = "1ax5c2iab48qsk9zn3gjvqaib2lnlm25f1wr0aysf5ngw0y0jkrd"; + sha256 = "1bl7h217m695jn4rbniialfk573aa44fslp2rjxnhkicakpcm44h"; - meta = with stdenv.lib; { + meta = with lib; { description = "A humanist sans with 4 weights and true italics"; longDescription = '' The Cabin font family is a humanist sans with 4 weights and true italics, diff --git a/pkgs/data/fonts/caladea/default.nix b/pkgs/data/fonts/caladea/default.nix index 56d8273f78a..29bd001f808 100644 --- a/pkgs/data/fonts/caladea/default.nix +++ b/pkgs/data/fonts/caladea/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "20130214"; @@ -15,7 +15,7 @@ in fetchzip rec { ''; sha256 = "0kwm42ggr8kvcn3554cpmv90xzam1sdncx7x3zs3bzp88mxrnv1z"; - meta = with stdenv.lib; { + meta = with lib; { # This font doesn't appear to have any official web site but this # one provides some good information and samples. homepage = http://openfontlibrary.org/en/font/caladea; diff --git a/pkgs/data/fonts/camingo-code/default.nix b/pkgs/data/fonts/camingo-code/default.nix index dfdf367337c..98175373ebd 100644 --- a/pkgs/data/fonts/camingo-code/default.nix +++ b/pkgs/data/fonts/camingo-code/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "1.0"; @@ -8,14 +8,12 @@ in fetchzip rec { url = https://github.com/chrissimpkins/codeface/releases/download/font-collection/codeface-fonts.zip; postFetch = '' unzip $downloadedFile - mkdir -p $out/share/fonts/truetype - mkdir -p $out/share/doc/${name} - cp -v fonts/camingo-code/*.ttf $out/share/fonts/truetype/ - cp -v fonts/camingo-code/*.txt $out/share/doc/${name}/ + install -m444 -Dt $out/share/fonts/truetype fonts/camingo-code/*.ttf + install -m444 -Dt $out/share/doc/${name} fonts/camingo-code/*.txt ''; - sha256 = "035z2k6lwwy2bysw27pirn3vjxnj2h23nyx8jr213rb2bl0m21x1"; + sha256 = "16iqjwwa7pnswvcc4w8nglkd0m0fz50qsz96i1kcpqip3nwwvw7y"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://www.myfonts.com/fonts/jan-fromm/camingo-code/; description = "A monospaced typeface designed for source-code editors"; platforms = platforms.all; diff --git a/pkgs/data/fonts/carlito/default.nix b/pkgs/data/fonts/carlito/default.nix index 2243435bc5d..3c0e314579d 100644 --- a/pkgs/data/fonts/carlito/default.nix +++ b/pkgs/data/fonts/carlito/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "20130920"; @@ -17,7 +17,7 @@ in fetchzip rec { sha256 = "0d72zy6kdmxgpi63r3yvi3jh1hb7lvlgv8hgd4ag0x10dz18mbzv"; - meta = with stdenv.lib; { + meta = with lib; { # This font doesn't appear to have any official web site but this # one provides some good information and samples. homepage = http://openfontlibrary.org/en/font/carlito; diff --git a/pkgs/data/fonts/charis-sil/default.nix b/pkgs/data/fonts/charis-sil/default.nix index 995e03372fb..e28a718fad1 100644 --- a/pkgs/data/fonts/charis-sil/default.nix +++ b/pkgs/data/fonts/charis-sil/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "5.000"; @@ -16,7 +16,7 @@ in sha256 = "1a220s8n0flvcdkazqf5g10v6r55s2an308slvvarynpj6l7x27n"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://software.sil.org/charis; description = "A family of highly readable fonts for broad multilingual use"; longDescription = '' diff --git a/pkgs/data/fonts/cherry/default.nix b/pkgs/data/fonts/cherry/default.nix index c798c7a8ac0..6d1c4b10c91 100644 --- a/pkgs/data/fonts/cherry/default.nix +++ b/pkgs/data/fonts/cherry/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, bdftopcf }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "cherry"; - version = "1.2"; + version = "1.3"; src = fetchFromGitHub { owner = "turquoise-hexagon"; repo = pname; rev = version; - sha256 = "1sfajzndv78v8hb156876i2rw3zw8xys6qi8zr4yi0isgsqj5yx5"; + sha256 = "1zaiqspf6y0hpszhihdsvsyw33d3ffdap4dym7w45wfrhdpvpi0p"; }; nativeBuildInputs = [ bdftopcf ]; diff --git a/pkgs/data/fonts/clearlyU/default.nix b/pkgs/data/fonts/clearlyU/default.nix index 5dc8e53282a..0df3ba4f659 100644 --- a/pkgs/data/fonts/clearlyU/default.nix +++ b/pkgs/data/fonts/clearlyU/default.nix @@ -7,18 +7,17 @@ stdenv.mkDerivation { url = https://www.math.nmsu.edu/~mleisher/Software/cu/cu12-1.9.tgz; sha256 = "1xn14jbv3m1khy7ydvad9ydkn7yygdbhjy9wm1v000jzjwr3lv21"; }; - + nativeBuildInputs = [ mkfontdir mkfontscale ]; - installPhase = - '' - mkdir -p $out/share/fonts - cp *.bdf $out/share/fonts - cd $out/share/fonts - mkfontdir - mkfontscale - ''; - + installPhase = '' + mkdir -p $out/share/fonts + cp *.bdf $out/share/fonts + cd $out/share/fonts + mkfontdir + mkfontscale + ''; + outputHashAlgo = "sha256"; outputHashMode = "recursive"; outputHash = "127zrg65s90ksj99kr9hxny40rbxvpai62mf5nqk853hcd1bzpr6"; @@ -26,6 +25,5 @@ stdenv.mkDerivation { meta = { description = "A Unicode font"; maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/data/fonts/cm-unicode/default.nix b/pkgs/data/fonts/cm-unicode/default.nix index d17021feb81..c058f07ed51 100644 --- a/pkgs/data/fonts/cm-unicode/default.nix +++ b/pkgs/data/fonts/cm-unicode/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "0.7.0"; @@ -9,15 +9,13 @@ in fetchzip rec { postFetch = '' tar -xJvf $downloadedFile --strip-components=1 - mkdir -p $out/share/fonts/opentype - mkdir -p $out/share/doc/${name} - cp -v *.otf $out/share/fonts/opentype/ - cp -v README FontLog.txt $out/share/doc/${name} + install -m444 -Dt $out/share/fonts/opentype *.otf + install -m444 -Dt $out/share/doc/${name} README FontLog.txt ''; sha256 = "1rzz7yhqq3lljyqxbg46jfzfd09qgpgx865lijr4sgc94riy1ypn"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://canopus.iacp.dvo.ru/~panov/cm-unicode/; description = "Computer Modern Unicode fonts"; maintainers = with maintainers; [ raskin rycee ]; diff --git a/pkgs/data/fonts/cnstrokeorder/default.nix b/pkgs/data/fonts/cnstrokeorder/default.nix new file mode 100644 index 00000000000..965bf119f6e --- /dev/null +++ b/pkgs/data/fonts/cnstrokeorder/default.nix @@ -0,0 +1,26 @@ +{ lib, fetchurl }: + +let + version = "0.0.4.7"; +in fetchurl { + name = "cnstrokeorder-${version}"; + + url = "http://rtega.be/chmn/CNstrokeorder-${version}.ttf"; + + recursiveHash = true; + downloadToTemp = true; + + postFetch = '' + install -D $downloadedFile $out/share/fonts/truetype/CNstrokeorder-${version}.ttf + ''; + + sha256 = "0cizgfdgbq9av5c8234mysr2q54iw9pkxrmq5ga8gv32hxhl5bx4"; + + meta = with lib; { + description = "Chinese font that shows stroke order for HSK 1-4"; + homepage = "http://rtega.be/chmn/index.php?subpage=68"; + license = [ licenses.arphicpl ]; + maintainers = with maintainers; [ johnazoidberg ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/data/fonts/comfortaa/default.nix b/pkgs/data/fonts/comfortaa/default.nix index f7ec6e8b8c8..6e4c0bb08e7 100644 --- a/pkgs/data/fonts/comfortaa/default.nix +++ b/pkgs/data/fonts/comfortaa/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "3.001"; @@ -8,13 +8,12 @@ in fetchzip rec { url = "https://orig00.deviantart.net/40a3/f/2017/093/d/4/comfortaa___font_by_aajohan-d1qr019.zip"; postFetch = '' mkdir -p $out/share/fonts $out/share/doc - unzip -l $downloadedFile unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype unzip -j $downloadedFile \*/FONTLOG.txt \*/donate.html -d $out/share/doc/${name} ''; sha256 = "0z7xr0cnn6ghwivrm5b5awq9bzhnay3y99qq6dkdgfkfdsaz0n9h"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://aajohan.deviantart.com/art/Comfortaa-font-105395949; description = "A clean and modern font suitable for headings and logos"; license = licenses.ofl; diff --git a/pkgs/data/fonts/comic-neue/default.nix b/pkgs/data/fonts/comic-neue/default.nix index 07fc172ca51..2615d0260f0 100644 --- a/pkgs/data/fonts/comic-neue/default.nix +++ b/pkgs/data/fonts/comic-neue/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "2.2"; @@ -19,7 +19,7 @@ in fetchzip rec { sha256 = "1yypq5aqqzv3q1c6vx5130mi2iwihzzvrawhwqpwsfjl0p25sq9q"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://comicneue.com/; description = "A casual type face: Make your lemonade stand look like a fortune 500 company"; longDescription = '' diff --git a/pkgs/data/fonts/comic-relief/default.nix b/pkgs/data/fonts/comic-relief/default.nix index 2a1273214bd..d51c915b844 100644 --- a/pkgs/data/fonts/comic-relief/default.nix +++ b/pkgs/data/fonts/comic-relief/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "1.1"; @@ -18,7 +18,7 @@ in fetchzip rec { sha256 = "0dz0y7w6mq4hcmmxv6fn4mp6jkln9mzr4s96vsg68wrl5b7k9yff"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://loudifier.com/comic-relief/; description = "A font metric-compatible with Microsoft Comic Sans"; longDescription = '' diff --git a/pkgs/data/fonts/cooper-hewitt/default.nix b/pkgs/data/fonts/cooper-hewitt/default.nix index 1fa5cff7604..e1635c560d6 100644 --- a/pkgs/data/fonts/cooper-hewitt/default.nix +++ b/pkgs/data/fonts/cooper-hewitt/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: -fetchzip rec { +fetchzip { name = "cooper-hewitt-2014-06-09"; url = https://www.cooperhewitt.org/wp-content/uploads/fonts/CooperHewitt-OTF-public.zip; @@ -12,7 +12,7 @@ fetchzip rec { sha256 = "01iwqmjvqkc6fmc2r0486vk06s6f51n9wxzl1pf9z48n0igj4gqd"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://www.cooperhewitt.org/open-source-at-cooper-hewitt/cooper-hewitt-the-typeface-by-chester-jenkins/; description = "A contemporary sans serif, with characters composed of modified-geometric curves and arches"; license = licenses.ofl; diff --git a/pkgs/data/fonts/corefonts/default.nix b/pkgs/data/fonts/corefonts/default.nix index 8c45c813953..5e06a34b6f0 100644 --- a/pkgs/data/fonts/corefonts/default.nix +++ b/pkgs/data/fonts/corefonts/default.nix @@ -41,12 +41,10 @@ stdenv.mkDerivation { cabextract --lowercase viewer1.cab - fontDir=$out/share/fonts/truetype - mkdir -p $fontDir - cp *.ttf $fontDir + install -m444 -Dt $out/share/fonts/truetype *.ttf # Also put the EULA there to be on the safe side. - cp ${eula} $fontDir/eula.html + cp ${eula} $out/share/fonts/truetype/eula.html # Set up no-op font configs to override any aliases set up by # other packages. diff --git a/pkgs/data/fonts/creep/default.nix b/pkgs/data/fonts/creep/default.nix new file mode 100644 index 00000000000..bad78e3433e --- /dev/null +++ b/pkgs/data/fonts/creep/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub, fontforge }: + +stdenv.mkDerivation rec { + pname = "creep"; + version = "0.31"; + + src = fetchFromGitHub { + owner = "romeovs"; + repo = pname; + rev = version; + sha256 = "0zs21kznh1q883jfdgz74bb63i4lxlv98hj3ipp0wvsi6zw0vs8n"; + }; + + nativeBuildInputs = [ fontforge ]; + + dontBuild = true; + + installPhase = '' + install -D -m644 creep.bdf "$out/usr/share/fonts/misc/creep.bdf" + ''; + + meta = with stdenv.lib; { + description = "A pretty sweet 4px wide pixel font"; + homepage = https://github.com/romeovs/creep; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ buffet ]; + }; +} diff --git a/pkgs/data/fonts/crimson/default.nix b/pkgs/data/fonts/crimson/default.nix index e96c13b7822..a3f24985fd9 100644 --- a/pkgs/data/fonts/crimson/default.nix +++ b/pkgs/data/fonts/crimson/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "2014.10"; @@ -9,16 +9,13 @@ in fetchzip rec { postFetch = '' tar -xzvf $downloadedFile --strip-components=1 - - mkdir -p $out/share/fonts/opentype - mkdir -p $out/share/doc/${name} - cp -v "Desktop Fonts/OTF/"*.otf $out/share/fonts/opentype - cp -v README.md $out/share/doc/${name} + install -m444 -Dt $out/share/fonts/opentype "Desktop Fonts/OTF/"*.otf + install -m444 -Dt $out/share/doc/${name} README.md ''; sha256 = "0mg65f0ydyfmb43jqr1f34njpd10w8npw15cbb7z0nxmy4nkl842"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://aldusleaf.org/crimson.html; description = "A font family inspired by beautiful oldstyle typefaces"; license = licenses.ofl; diff --git a/pkgs/data/fonts/culmus/default.nix b/pkgs/data/fonts/culmus/default.nix index 4ef5a444558..5aad7ff236f 100644 --- a/pkgs/data/fonts/culmus/default.nix +++ b/pkgs/data/fonts/culmus/default.nix @@ -1,16 +1,12 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "0.133"; -in stdenv.mkDerivation { +in fetchzip { name = "culmus-${version}"; - - src = fetchzip { - url = "mirror://sourceforge/culmus/culmus/${version}/culmus-${version}.tar.gz"; - sha256 = "0q80j3vixn364sc23hcy6098rkgy0kb4p91lky6224am1dwn2qmr"; - }; - - installPhase = '' + url = "mirror://sourceforge/culmus/culmus/${version}/culmus-${version}.tar.gz"; + postFetch = '' + tar xf $downloadedFile --strip=1 mkdir -p $out/share/fonts/{truetype,type1} cp -v *.pfa $out/share/fonts/type1/ cp -v *.afm $out/share/fonts/type1/ @@ -19,12 +15,13 @@ in stdenv.mkDerivation { cp -v *.otf $out/share/fonts/truetype/ cp -v fonts.scale-ttf $out/share/fonts/truetype/fonts.scale ''; + sha256 = "0zqqjcrqmbd4389hqz2dwymkkcxjrq9ylyriiv3gbmzl6l1ffk3g"; meta = { description = "Culmus Hebrew fonts"; longDescription = "The Culmus project aims at providing the Hebrew-speaking GNU/Linux and Unix community with a basic collection of Hebrew fonts for X Windows."; - platforms = stdenv.lib.platforms.all; - license = stdenv.lib.licenses.gpl2; + platforms = lib.platforms.all; + license = lib.licenses.gpl2; homepage = http://culmus.sourceforge.net/; downloadPage = http://culmus.sourceforge.net/download.html; }; diff --git a/pkgs/data/fonts/d2coding/default.nix b/pkgs/data/fonts/d2coding/default.nix new file mode 100644 index 00000000000..b73da9a504b --- /dev/null +++ b/pkgs/data/fonts/d2coding/default.nix @@ -0,0 +1,32 @@ +{ lib, fetchzip }: + +let + version = "1.3.2"; + pname = "d2codingfont"; + +in fetchzip { + name = "${pname}-${version}"; + url = "https://github.com/naver/${pname}/releases/download/VER${version}/D2Coding-Ver${version}-20180524.zip"; + + postFetch = '' + mkdir -p $out/share/fonts + unzip -j $downloadedFile \*-all.ttc -d $out/share/fonts/truetype/ + ''; + + sha256 = "1812r82530wzfki7k9cm35fy6k2lvis7j6w0w8svc784949m1wwj"; + + meta = with lib; { + description = "Monospace font with support for Korean and latin characters"; + longDescription = '' + D2Coding is a monospace font developed by a Korean IT Company called Naver. + Font is good for displaying both Korean characters and latin characters, + as sometimes these two languages could share some similar strokes. + Since verion 1.3, D2Coding font is officially supported by the font + creator, with symbols for Powerline. + ''; + homepage = https://github.com/naver/d2codingfont; + license = licenses.ofl; + platforms = platforms.all; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/data/fonts/dejavu-fonts/default.nix b/pkgs/data/fonts/dejavu-fonts/default.nix index fa877ea6ed5..38a2d8fe56c 100644 --- a/pkgs/data/fonts/dejavu-fonts/default.nix +++ b/pkgs/data/fonts/dejavu-fonts/default.nix @@ -24,7 +24,8 @@ let }; full-ttf = stdenv.mkDerivation { - name = "dejavu-fonts-full-${version}"; + pname = "dejavu-fonts-full"; + inherit version; nativeBuildInputs = [fontforge perl perlPackages.IOString perlPackages.FontTTF]; src = fetchFromGitHub { @@ -38,38 +39,27 @@ let preBuild = "patchShebangs scripts"; - installPhase = '' - mkdir -p $out/share/fonts/truetype - cp build/*.ttf $out/share/fonts/truetype/ - ''; + installPhase = "install -m444 -Dt $out/share/fonts/truetype build/*.ttf"; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "1cxprzsr826d888ha4zxx28i9jfj1k74q9kfv3v2rf603460iha9"; inherit meta; }; minimal = stdenv.mkDerivation { - name = "dejavu-fonts-minimal-${version}"; + pname = "dejavu-fonts-minimal"; + inherit version; buildCommand = '' - install -D ${full-ttf}/share/fonts/truetype/DejaVuSans.ttf $out/share/fonts/truetype/DejaVuSans.ttf + install -m444 -Dt $out/share/fonts/truetype ${full-ttf}/share/fonts/truetype/DejaVuSans.ttf ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "0ybsynp9904vmd3qv5b438swhx43m5q6gfih3i32iw33rks8nkpj"; inherit meta; }; in stdenv.mkDerivation { - name = "dejavu-fonts-${version}"; + pname = "dejavu-fonts"; + inherit version; buildCommand = '' - mkdir -p $out/share/fonts/truetype - cp ${full-ttf}/share/fonts/truetype/*.ttf $out/share/fonts/truetype/ + install -m444 -Dt $out/share/fonts/truetype ${full-ttf}/share/fonts/truetype/*.ttf ln -s --relative --force --target-directory=$out/share/fonts/truetype ${minimal}/share/fonts/truetype/DejaVuSans.ttf ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "15l93xm9mg2ziaxv4nqy2a4jaz54d05xf0hfz1h84bclzb882llh"; inherit meta; - passthru.minimal = minimal; + passthru = { inherit minimal full-ttf; }; } diff --git a/pkgs/data/fonts/dina-pcf/default.nix b/pkgs/data/fonts/dina-pcf/default.nix index 975bbc1749a..061bbb445fb 100644 --- a/pkgs/data/fonts/dina-pcf/default.nix +++ b/pkgs/data/fonts/dina-pcf/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "2.92"; - name = "dina-font-pcf-${version}"; + pname = "dina-font-pcf"; src = fetchurl { url = "http://www.donationcoder.com/Software/Jibz/Dina/downloads/Dina.zip"; @@ -60,6 +60,5 @@ stdenv.mkDerivation rec { downloadPage = https://www.donationcoder.com/Software/Jibz/Dina/; license = licenses.free; maintainers = [ maintainers.prikhi ]; - platforms = platforms.unix; }; } diff --git a/pkgs/data/fonts/dina/default.nix b/pkgs/data/fonts/dina/default.nix index 66feaf0ff54..8638ec74f77 100644 --- a/pkgs/data/fonts/dina/default.nix +++ b/pkgs/data/fonts/dina/default.nix @@ -5,11 +5,13 @@ let in fetchzip rec { name = "dina-font-${version}"; - url = "http://www.donationcoder.com/Software/Jibz/Dina/downloads/Dina.zip"; + # `meta.homepage` has no direct download link + url = "https://github.com/ProgrammingFonts/ProgrammingFonts/archive/b15ef365146be7eef4a46979cfe157c5aeefb7c0.zip"; postFetch = '' mkdir -p $out/share/fonts - unzip -j $downloadedFile \*.bdf -d $out/share/fonts + unzip -j $downloadedFile '*/Dina/*.bdf' -d $out/share/fonts + chmod u-x $out/share/fonts/* ''; sha256 = "02a6hqbq18sw69npylfskriqhvj1nsk65hjjyd05nl913ycc6jl7"; @@ -25,6 +27,5 @@ in fetchzip rec { downloadPage = https://www.donationcoder.com/Software/Jibz/Dina/; license = licenses.free; maintainers = [ maintainers.prikhi ]; - platforms = platforms.unix; }; } diff --git a/pkgs/data/fonts/dosemu-fonts/default.nix b/pkgs/data/fonts/dosemu-fonts/default.nix index f564507c777..81a1b5649b3 100644 --- a/pkgs/data/fonts/dosemu-fonts/default.nix +++ b/pkgs/data/fonts/dosemu-fonts/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, bdftopcf, mkfontdir, mkfontscale }: stdenv.mkDerivation rec { - name = "dosemu-fonts-${version}"; + pname = "dosemu-fonts"; version = "1.4.0"; src = fetchurl { @@ -31,6 +31,5 @@ stdenv.mkDerivation rec { meta = { description = "Various fonts from the DOSEmu project"; - platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/data/fonts/dosis/default.nix b/pkgs/data/fonts/dosis/default.nix index 01157e8b7e4..48b170e2e1b 100644 --- a/pkgs/data/fonts/dosis/default.nix +++ b/pkgs/data/fonts/dosis/default.nix @@ -1,19 +1,21 @@ -{ stdenv, fetchzip}: +{ lib, fetchFromGitHub }: -fetchzip rec { +fetchFromGitHub rec { name = "dosis-1.007"; - url = https://github.com/impallari/Dosis/archive/12df1e13e58768f20e0d48ff15651b703f9dd9dc.zip; + owner = "impallari"; + repo = "Dosis"; + rev = "12df1e13e58768f20e0d48ff15651b703f9dd9dc"; postFetch = '' - mkdir -p $out/share/{doc,fonts} - unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype - unzip -j $downloadedFile \*README.md \*FONTLOG.txt -d "$out/share/doc/${name}" + tar xf $downloadedFile --strip=1 + find . -name '*.otf' -exec install -m444 -Dt $out/share/fonts/opentype {} \; + install -m444 -Dt $out/share/doc/${name} README.md FONTLOG.txt ''; - sha256 = "11a8jmgaly14l7rm3jxkwwv3ngr8fdlkp70nicjk2rg0nny2cvfq"; + sha256 = "0vz25w45i8flfvppymr5h83pa2n1r37da20v7691p44018fdsdny"; - meta = with stdenv.lib; { + meta = with lib; { description = "A very simple, rounded, sans serif family"; longDescription = '' Dosis is a very simple, rounded, sans serif family. diff --git a/pkgs/data/fonts/doulos-sil/default.nix b/pkgs/data/fonts/doulos-sil/default.nix index 324f6f63e55..59371593f79 100644 --- a/pkgs/data/fonts/doulos-sil/default.nix +++ b/pkgs/data/fonts/doulos-sil/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "5.000"; @@ -16,7 +16,7 @@ in sha256 = "04a9cr7jbw7d8llcj8xsqp9rp8w6gcgbd9sdwvi02kz7jhqa0vad"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://software.sil.org/doulos; description = "A font that provides complete support for the International Phonetic Alphabet"; longDescription = '' diff --git a/pkgs/data/fonts/eb-garamond/default.nix b/pkgs/data/fonts/eb-garamond/default.nix index 53a5d9f73cc..14233268991 100644 --- a/pkgs/data/fonts/eb-garamond/default.nix +++ b/pkgs/data/fonts/eb-garamond/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "0.016"; @@ -15,7 +15,7 @@ in fetchzip rec { sha256 = "04jq4mpln85zzbla8ybsjw7vn9qr3r0snmk5zykrm24imq7ripv3"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://www.georgduffner.at/ebgaramond/; description = "Digitization of the Garamond shown on the Egenolff-Berner specimen"; maintainers = with maintainers; [ relrod rycee ]; diff --git a/pkgs/data/fonts/emacs-all-the-icons-fonts/default.nix b/pkgs/data/fonts/emacs-all-the-icons-fonts/default.nix index 10305a8c2d2..e7981f63baf 100644 --- a/pkgs/data/fonts/emacs-all-the-icons-fonts/default.nix +++ b/pkgs/data/fonts/emacs-all-the-icons-fonts/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let - version = "3.1.1"; + version = "3.2.0"; in fetchzip { name = "emacs-all-the-icons-fonts-${version}"; @@ -14,7 +14,7 @@ in fetchzip { sha256 = "0ps8q9nkx67ivgn8na4s012360v36jwr0951rsg7j6dyyw9g41jq"; - meta = with stdenv.lib; { + meta = with lib; { description = "Icon fonts for emacs all-the-icons"; longDescription = '' The emacs package all-the-icons provides icons to improve diff --git a/pkgs/data/fonts/emojione/default.nix b/pkgs/data/fonts/emojione/default.nix index 9d4c1e22e14..171ec10c8f1 100644 --- a/pkgs/data/fonts/emojione/default.nix +++ b/pkgs/data/fonts/emojione/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, inkscape, imagemagick, potrace, svgo, scfbuild }: stdenv.mkDerivation rec { - name = "emojione-${version}"; - version = "1.3"; + pname = "emojione"; + version = "1.4"; src = fetchFromGitHub { owner = "eosrei"; repo = "emojione-color-font"; rev = "v${version}"; - sha256 = "0hgs661g1j91lkafhrfx5ix7ymarh5bzcx34r2id6jl7dc3j41l3"; + sha256 = "1781kxfbhnvylypbkwxc3mx6hi0gcjisfjr9cf0jdz4d1zkf09b3"; }; preBuild = '' @@ -29,7 +29,6 @@ stdenv.mkDerivation rec { description = "Open source emoji set"; homepage = http://emojione.com/; license = licenses.cc-by-40; - platforms = platforms.linux; maintainers = with maintainers; [ abbradar ]; }; } diff --git a/pkgs/data/fonts/encode-sans/default.nix b/pkgs/data/fonts/encode-sans/default.nix index 96d64e13893..787a83f9561 100644 --- a/pkgs/data/fonts/encode-sans/default.nix +++ b/pkgs/data/fonts/encode-sans/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: fetchzip rec { name = "encode-sans-1.002"; @@ -13,7 +13,7 @@ fetchzip rec { sha256 = "16mx894zqlwrhnp4rflgayxhxppmsj6k7haxdngajhb30rlwf08p"; - meta = with stdenv.lib; { + meta = with lib; { description = "A versatile sans serif font family"; longDescription = '' The Encode Sans family is a versatile workhorse. Featuring a huge range of diff --git a/pkgs/data/fonts/eunomia/default.nix b/pkgs/data/fonts/eunomia/default.nix index 56fa718f867..55250156fcd 100644 --- a/pkgs/data/fonts/eunomia/default.nix +++ b/pkgs/data/fonts/eunomia/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let majorVersion = "0"; @@ -17,7 +17,7 @@ fetchzip rec { unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype/${pname} ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://dotcolon.net/font/eunomia/; description = "A futuristic decorative font."; platforms = platforms.all; diff --git a/pkgs/data/fonts/f5_6/default.nix b/pkgs/data/fonts/f5_6/default.nix index 25cab717cee..28969f02364 100644 --- a/pkgs/data/fonts/f5_6/default.nix +++ b/pkgs/data/fonts/f5_6/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let majorVersion = "0"; @@ -17,7 +17,7 @@ fetchzip rec { unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype/${pname} ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "http://dotcolon.net/font/${pname}/"; description = "A weighted decorative font."; platforms = platforms.all; diff --git a/pkgs/data/fonts/fantasque-sans-mono/default.nix b/pkgs/data/fonts/fantasque-sans-mono/default.nix index 7d05482ef5f..5b982dcaa3e 100644 --- a/pkgs/data/fonts/fantasque-sans-mono/default.nix +++ b/pkgs/data/fonts/fantasque-sans-mono/default.nix @@ -1,9 +1,7 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let - version = "1.7.2"; - in fetchzip rec { @@ -19,7 +17,7 @@ fetchzip rec { sha256 = "1fwvbqfrgb539xybwdawvwa8cg4f215kw905rgl9a6p0iwa1nxqk"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://github.com/belluzj/fantasque-sans; description = "A font family with a great monospaced variant for programmers"; license = licenses.ofl; diff --git a/pkgs/data/fonts/ferrum/default.nix b/pkgs/data/fonts/ferrum/default.nix index bbe185bd848..ec3f3218ea5 100644 --- a/pkgs/data/fonts/ferrum/default.nix +++ b/pkgs/data/fonts/ferrum/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let majorVersion = "0"; @@ -17,7 +17,7 @@ fetchzip rec { unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype/${pname} ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "http://dotcolon.net/font/${pname}/"; description = "A decorative font."; platforms = platforms.all; diff --git a/pkgs/data/fonts/fira-code/default.nix b/pkgs/data/fonts/fira-code/default.nix index b0b58b0ebfc..09bae8cbea5 100644 --- a/pkgs/data/fonts/fira-code/default.nix +++ b/pkgs/data/fonts/fira-code/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchzip }: let - version = "1.206"; + version = "1.207"; in fetchzip { name = "fira-code-${version}"; @@ -12,7 +12,7 @@ in fetchzip { unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype ''; - sha256 = "0074d8q4m802f5yms8yxdx4rdz5xnpgv1w5hs330zg2p9ksicgzy"; + sha256 = "13w2jklqndria2plgangl5gi56v1cj5ja9vznh9079kqnvq0cffz"; meta = with stdenv.lib; { homepage = https://github.com/tonsky/FiraCode; diff --git a/pkgs/data/fonts/fira/default.nix b/pkgs/data/fonts/fira/default.nix index ce6e011d8a6..fe27ac2cd5d 100644 --- a/pkgs/data/fonts/fira/default.nix +++ b/pkgs/data/fonts/fira/default.nix @@ -1,18 +1,23 @@ -{ stdenv, fetchzip }: +{ lib, fetchFromGitHub }: -fetchzip rec { - name = "fira-4.106"; +let + version = "4.106"; +in fetchFromGitHub { + name = "fira-${version}"; - url = https://github.com/mozilla/Fira/archive/4.106.zip; + owner = "mozilla"; + repo = "Fira"; + rev = version; postFetch = '' - mkdir -p $out/share/fonts - unzip -j $downloadedFile Fira-4.106/otf/FiraSans\*.otf -d $out/share/fonts/opentype + tar xf $downloadedFile --strip=1 + mkdir -p $out/share/fonts/opentype + cp otf/*.otf $out/share/fonts/opentype ''; sha256 = "0c97nmihcq0ki7ywj8zn048a2bgrszc61lb9p0djfi65ar52jab4"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://mozilla.github.io/Fira/; description = "Sans-serif font for Firefox OS"; longDescription = '' diff --git a/pkgs/data/fonts/fixedsys-excelsior/default.nix b/pkgs/data/fonts/fixedsys-excelsior/default.nix index b0c481dfcb5..14232edee0c 100644 --- a/pkgs/data/fonts/fixedsys-excelsior/default.nix +++ b/pkgs/data/fonts/fixedsys-excelsior/default.nix @@ -1,33 +1,25 @@ { stdenv, fetchurl } : -let +let major = "3"; minor = "00"; version = "${major}.${minor}"; - -in - -stdenv.mkDerivation rec { +in fetchurl rec { name = "fixedsys-excelsior-${version}"; - src = fetchurl { - url = http://www.fixedsysexcelsior.com/fonts/FSEX300.ttf; - sha256 = "6ee0f3573bc5e33e93b616ef6282f49bc0e227a31aa753ac76ed2e3f3d02056d"; - }; - - phases = [ "installPhase" ]; - - installPhase = '' - mkdir -p $out/share/fonts/truetype/ - cp $src $out/share/fonts/truetype/${name}.ttf + urls = [ + http://www.fixedsysexcelsior.com/fonts/FSEX300.ttf + https://raw.githubusercontent.com/chrissimpkins/codeface/master/fonts/fixed-sys-excelsior/FSEX300.ttf + http://tarballs.nixos.org/sha256/6ee0f3573bc5e33e93b616ef6282f49bc0e227a31aa753ac76ed2e3f3d02056d + ]; + downloadToTemp = true; + recursiveHash = true; + postFetch = '' + install -m444 -D $downloadedFile $out/share/fonts/truetype/${name}.ttf ''; - outputHashMode = "recursive"; + sha256 = "32d6f07f1ff08c764357f8478892b2ba5ade23427af99759f34a0ba24bcd2e37"; - outputHashAlgo = "sha256"; - - outputHash = "32d6f07f1ff08c764357f8478892b2ba5ade23427af99759f34a0ba24bcd2e37"; - meta = { description = "Pan-unicode version of Fixedsys, a classic DOS font."; homepage = http://www.fixedsysexcelsior.com/; diff --git a/pkgs/data/fonts/font-awesome-4/default.nix b/pkgs/data/fonts/font-awesome-4/default.nix deleted file mode 100644 index 34548b97244..00000000000 --- a/pkgs/data/fonts/font-awesome-4/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ stdenv, fetchzip }: - -let - version = "4.7.0"; -in fetchzip rec { - name = "font-awesome-${version}"; - - url = "https://github.com/FortAwesome/Font-Awesome/archive/v${version}.zip"; - - postFetch = '' - mkdir -p $out/share/fonts - unzip -j $downloadedFile Font-Awesome-${version}/fonts/fontawesome-webfont.ttf -d $out/share/fonts/truetype - ''; - - sha256 = "0w8y7gxbqiy444phg4jl89kc5hq3jffbkhab8p110qy9jx8s106s"; - - meta = with stdenv.lib; { - description = "Font Awesome - TTF font"; - longDescription = '' - Font Awesome gives you scalable vector icons that can instantly be customized. - This package includes only the TTF font. For full CSS etc. see the project website. - ''; - homepage = http://fortawesome.github.io/Font-Awesome/; - license = licenses.ofl; - platforms = platforms.all; - maintainers = with maintainers; [ abaldeau ]; - }; -} diff --git a/pkgs/data/fonts/font-awesome-5/default.nix b/pkgs/data/fonts/font-awesome-5/default.nix index c1eda7e6a56..422258f84d1 100644 --- a/pkgs/data/fonts/font-awesome-5/default.nix +++ b/pkgs/data/fonts/font-awesome-5/default.nix @@ -1,28 +1,45 @@ -{ stdenv, fetchzip }: - +{ lib, fetchFromGitHub }: let - version = "5.6.3"; -in fetchzip rec { - name = "font-awesome-${version}"; + font-awesome = { version, sha256, rev ? version}: fetchFromGitHub rec { + name = "font-awesome-${version}"; - url = "https://github.com/FortAwesome/Font-Awesome/archive/${version}.zip"; - postFetch = '' - mkdir -p $out/share/fonts - unzip -j $downloadedFile "Font-Awesome-${version}/otfs/*.otf" -d $out/share/fonts/opentype - ''; + owner = "FortAwesome"; + repo = "Font-Awesome"; + inherit rev; - sha256 = "0y3zar7hyx5pj8rpyk2kz3sx6zgrfif2ka2h4rg0b8h8qbja0al6"; - - meta = with stdenv.lib; { - description = "Font Awesome - OTF font"; - longDescription = '' - Font Awesome gives you scalable vector icons that can instantly be customized. - This package includes only the OTF font. For full CSS etc. see the project website. + postFetch = '' + tar xf $downloadedFile --strip=1 + install -m444 -Dt $out/share/fonts/opentype {fonts,otfs}/*.otf ''; - homepage = http://fortawesome.github.io/Font-Awesome/; - license = licenses.ofl; - platforms = platforms.all; - maintainers = with maintainers; [ abaldeau ]; + + inherit sha256; + + meta = with lib; { + description = "Font Awesome - OTF font"; + longDescription = '' + Font Awesome gives you scalable vector icons that can instantly be customized. + This package includes only the OTF font. For full CSS etc. see the project website. + ''; + homepage = "http://fortawesome.github.io/Font-Awesome/"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = with maintainers; [ abaldeau johnazoidberg ]; + }; + }; +in { + # Keeping version 4 because version 5 is incompatible for some icons. That + # means that projects which depend on it need to actively convert the + # symbols. See: + # https://github.com/greshake/i3status-rust/issues/130 + # https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4 + v4 = font-awesome { + version = "4.7.0"; + rev = "v4.7.0"; + sha256 = "1j8i32dq6rrlv3kf2hnq81iqks06kczaxjks7nw3zyq1231winm9"; + }; + v5 = font-awesome { + version = "5.10.2"; + sha256 = "0bg28zn2lhrcyj7mbavphkvw3hrbnjsnn84305ax93nj3qd0d4hx"; }; } diff --git a/pkgs/data/fonts/fontconfig-penultimate/default.nix b/pkgs/data/fonts/fontconfig-penultimate/default.nix index e1be0da428a..601146d99a9 100644 --- a/pkgs/data/fonts/fontconfig-penultimate/default.nix +++ b/pkgs/data/fonts/fontconfig-penultimate/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip +{ lib, fetchzip , version ? "0.3.5" , sha256 ? "1gfgl7qimp76q4z0nv55vv57yfs4kscdr329np701k0xnhncwvrk" }: @@ -14,7 +14,7 @@ fetchzip { unzip -j $downloadedFile \*.conf -d $out/etc/fonts/conf.d ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://github.com/ttuegel/fontconfig-penultimate; description = "Sensible defaults for Fontconfig"; license = licenses.asl20; diff --git a/pkgs/data/fonts/freefont-ttf/default.nix b/pkgs/data/fonts/freefont-ttf/default.nix index 39118716f6f..c5e19edea26 100644 --- a/pkgs/data/fonts/freefont-ttf/default.nix +++ b/pkgs/data/fonts/freefont-ttf/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: fetchzip rec { name = "freefont-ttf-20120503"; @@ -20,8 +20,8 @@ fetchzip rec { 10646/Unicode UCS (Universal Character Set). ''; homepage = https://www.gnu.org/software/freefont/; - license = stdenv.lib.licenses.gpl3Plus; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.all; maintainers = []; }; } diff --git a/pkgs/data/fonts/gandom-fonts/default.nix b/pkgs/data/fonts/gandom-fonts/default.nix new file mode 100644 index 00000000000..4d925b269cd --- /dev/null +++ b/pkgs/data/fonts/gandom-fonts/default.nix @@ -0,0 +1,25 @@ +{ lib, fetchFromGitHub }: + +let + pname = "gandom-fonts"; + version = "0.6"; +in fetchFromGitHub { + name = "${pname}-${version}"; + owner = "rastikerdar"; + repo = "gandom-font"; + rev = "v${version}"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/gandom-fonts {} \; + ''; + sha256 = "0zsq6s9ziyb5jz0v8aj00dlxd1aly0ibxgszd05dfvykmgz051lc"; + + meta = with lib; { + homepage = https://github.com/rastikerdar/gandom-font; + description = "A Persian (Farsi) Font - فونت (قلم) فارسی گندم"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = [ maintainers.linarcx ]; + }; +} diff --git a/pkgs/data/fonts/gdouros/default.nix b/pkgs/data/fonts/gdouros/default.nix index 359074099ba..71c92a72e59 100644 --- a/pkgs/data/fonts/gdouros/default.nix +++ b/pkgs/data/fonts/gdouros/default.nix @@ -1,29 +1,16 @@ -{stdenv, fetchzip, lib}: +{ fetchzip, lib }: let fonts = { - symbola = { version = "9.17"; file = "Symbola.zip"; sha256 = "13z18lxx0py54nns61ihgxacpf1lg9s7g2sbpbnxpllqw7j73iq2"; - description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode"; }; - aegyptus = { version = "6.17"; file = "Aegyptus.zip"; sha256 = "19rkf89msqb076qjdfa75pqrx35c3slj64vxw08zqdvyavq7jc79"; - description = "Egyptian Hieroglyphs, Coptic, Meroitic"; }; - akkadian = { version = "7.17"; file = "AkkadianAssyrian.zip"; sha256 = "1xw2flrwb5r89sk7jd195v3svsb21brf1li2i3pdjcfqxfp5m0g7"; - description = "Sumero-Akkadian Cuneiform"; }; - anatolian = { version = "5.17"; file = "Anatolian.zip"; sha256 = "0dqcyjakc4fy076pjplm6psl8drpwxiwyq97xrf6a3qa098gc0qc"; - description = "Anatolian Hieroglyphs"; }; - maya = { version = "4.17"; file = "Maya.zip"; sha256 = "17s5c23wpqrcq5h6pgssbmzxiv4jvhdh2ssr99j9q6j32a51h9gh"; - description = "Maya Hieroglyphs"; }; - unidings = { version = "9.17"; file = "Unidings.zip"; sha256 = "0nzw8mrhk0hbjnl2cgi31b00vmi785win86kiz9d2yzdfz1is6sk"; - description = "Glyphs and Icons for blocks of The Unicode Standard"; }; - musica = { version = "3.17"; file = "Musica.zip"; sha256 = "0mnv61dxzs2npvxgs5l9q81q19xzzi1sn53x5qwpiirkmi6bg5y6"; - description = "Musical Notation"; }; - analecta = { version = "5.17"; file = "Analecta.zip"; sha256 = "13npnfscd9mz6vf89qxxbj383njf53a1smqjh0c1w2lvijgak3aj"; - description = "Coptic, Gothic, Deseret"; }; - textfonts = { version = "7.17"; file = "TextfontsFonts.zip"; sha256 = "1ggflqnslp81v8pzmzx6iwi2sa38l9bpivjjci7nvx3y5xynm6wl"; - description = "Aroania, Anaktoria, Alexander, Avdira and Asea"; }; - aegan = { version = "9.17"; file = "AegeanFonts.zip"; sha256 = "0dm2ck3p11bc9izrh7xz3blqfqg1mgsvy4jsgmz9rcs4m74xrhsf"; - description = "Aegean"; }; - abydos = { version = "1.23"; file = "AbydosFont.zip"; sha256 = "04r7ysnjjq0nrr3m8lbz8ssyx6xaikqybjqxzl3ziywl9h6nxdj8"; - description = "AbydosFont"; }; + aegan = { version = "10.00"; file = "Aegean.zip"; sha256 = "0k47nhzw4vx771ch3xx8mf6xx5vx0hg0cif5jdlmdaz4h2c3rawz"; description = "Aegean"; }; + aegyptus = { version = "8.00"; file = "Aegyptus.zip"; sha256 = "13h2pi641k9vxgqi9l11mjya10ym9ln54wrkwxx6gxq63zy7y5mj"; description = "Egyptian Hieroglyphs, Coptic, Meroitic"; }; + akkadian = { version = "7.18"; file = "Akkadian.zip"; sha256 = "1bplcvszbdrk85kqipn9lzhr62647wjibz1p8crzjvsw6f9ymxy3"; description = "Sumero-Akkadian Cuneiform"; }; + assyrian = { version = "2.00"; file = "AssyrianFont.zip"; sha256 = "0vdvb24vsnmwzd6bw14akqg0hbvsk8avgnbwk9fkybn1f801475k"; description = "Neo-Assyrian in Unicode with OpenType"; }; + eemusic = { version = "2.00"; file = "EEMusic.zip"; sha256 = "1y9jf105a2b689m7hdjmhhr7z5j0qd2w6dmb3iic9bwaczlrjy7j"; description = "Byzantine Musical Notation in Unicode with OpenType"; }; + maya = { version = "4.18"; file = "Maya.zip"; sha256 = "08z2ch0z2c43fjfg5m4yp3l1dp0cbk7lv5i7wzsr3cr9kr59wpi9"; description = "Maya Hieroglyphs"; }; + symbola = { version = "12.00"; file = "Symbola.zip"; sha256 = "1i3xra33xkj32vxs55xs2afrqyc822nk25669x78px5g5qd8gypm"; description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode"; }; + textfonts = { version = "9.00"; file = "Textfonts.zip"; sha256 = "0wzxz4j4fgk81b88d58715n1wvq2mqmpjpk4g5hi3vk77y2zxc4d"; description = "Aroania, Anaktoria, Alexander, Avdira and Asea"; }; + unidings = { version = "9.19"; file = "Unidings.zip"; sha256 = "1bybzgdqhmq75hb12n3pjrsdcpw1a6sgryx464s68jlq4zi44g78"; description = "Glyphs and Icons for blocks of The Unicode Standard"; }; }; mkpkg = name_: {version, file, sha256, description}: fetchzip rec { @@ -42,9 +29,8 @@ let # In lieu of a license: # Fonts in this site are offered free for any use; # they may be installed, embedded, opened, edited, modified, regenerated, posted, packaged and redistributed. - license = stdenv.lib.licenses.free; + license = lib.licenses.free; homepage = http://users.teilar.gr/~g1951d/; - platforms = stdenv.lib.platforms.unix; }; }; in diff --git a/pkgs/data/fonts/gelasio/default.nix b/pkgs/data/fonts/gelasio/default.nix new file mode 100644 index 00000000000..c8cf655a18c --- /dev/null +++ b/pkgs/data/fonts/gelasio/default.nix @@ -0,0 +1,31 @@ +{ lib, fetchFromGitHub }: + +let + version = "unstable-2018-08-12"; +in fetchFromGitHub { + name = "gelasio-${version}"; + owner = "SorkinType"; + repo = "Gelasio"; + rev = "5bced461d54bcf8e900bb3ba69455af35b0d2ff1"; + sha256 = "0dfskz2vpwsmd88rxqsxf0f01g4f2hm6073afcm424x5gc297n39"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + mkdir -p $out/share/fonts/truetype + cp *.ttf $out/share/fonts/truetype/ + ''; + + meta = with lib; { + description = "a font which is metric-compatible with Microsoft's Georgia"; + longDescription = '' + Gelasio is an original typeface which is metrics compatible with Microsoft's + Georgia in its Regular, Bold, Italic and Bold Italic weights. Interpolated + Medium, medium Italic, SemiBold and SemiBold Italic have now been added as well. + ''; + homepage = "https://github.com/SorkinType/Gelasio"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = with maintainers; [ colemickens ]; + }; +} + diff --git a/pkgs/data/fonts/gentium-book-basic/default.nix b/pkgs/data/fonts/gentium-book-basic/default.nix index 9b626291c2c..505b273c2d2 100644 --- a/pkgs/data/fonts/gentium-book-basic/default.nix +++ b/pkgs/data/fonts/gentium-book-basic/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let major = "1"; @@ -11,14 +11,13 @@ in fetchzip rec { postFetch = '' mkdir -p $out/share/{doc,fonts} - unzip -l $downloadedFile unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype unzip -j $downloadedFile \*/FONTLOG.txt \*/GENTIUM-FAQ.txt -d $out/share/doc/${name} ''; sha256 = "0598zr5f7d6ll48pbfbmmkrybhhdks9b2g3m2g67wm40070ffzmd"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://software.sil.org/gentium/; description = "A high-quality typeface family for Latin, Cyrillic, and Greek"; maintainers = with maintainers; [ ]; diff --git a/pkgs/data/fonts/gentium/default.nix b/pkgs/data/fonts/gentium/default.nix index 829eca8c06f..a60a39f4f01 100644 --- a/pkgs/data/fonts/gentium/default.nix +++ b/pkgs/data/fonts/gentium/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "5.000"; @@ -17,7 +17,7 @@ in fetchzip rec { sha256 = "1qr2wjdmm93167b0w9cidlf3wwsyjx4838ja9jmm4jkyian5whhp"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://software.sil.org/gentium/; description = "A high-quality typeface family for Latin, Cyrillic, and Greek"; longDescription = '' diff --git a/pkgs/data/fonts/go-font/default.nix b/pkgs/data/fonts/go-font/default.nix index a0af38cfd24..bb28d3be67f 100644 --- a/pkgs/data/fonts/go-font/default.nix +++ b/pkgs/data/fonts/go-font/default.nix @@ -1,26 +1,22 @@ { stdenv, fetchgit }: -stdenv.mkDerivation rec { - name = "go-font-${version}"; +let version = "2017-03-30"; +in (fetchgit { + name = "go-font-${version}"; + url = "https://go.googlesource.com/image"; + rev = "f03a046406d4d7fbfd4ed29f554da8f6114049fc"; - src = fetchgit { - url = "https://go.googlesource.com/image"; - rev = "f03a046406d4d7fbfd4ed29f554da8f6114049fc"; - sha256 = "1aq6mnjayks55gd9ahavk6jfydlq5lm4xm0xk4pd5sqa74p5p74d"; - }; - - installPhase = '' + postFetch = '' + mv $out/* . mkdir -p $out/share/fonts/truetype mkdir -p $out/share/doc/go-font cp font/gofont/ttfs/* $out/share/fonts/truetype mv $out/share/fonts/truetype/README $out/share/doc/go-font/LICENSE ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "10hfm2cpxlx1ng7r2mbvykjhmy131qlgzpdzj7ibg9kr293bcjc0"; - + sha256 = "1488426ya2nzmwjas947fx9h5wzxrp9wasn8nkjqf0y0mpd4f1xz"; +}) // { meta = with stdenv.lib; { homepage = https://blog.golang.org/go-fonts; description = "The Go font family"; diff --git a/pkgs/data/fonts/gohufont/default.nix b/pkgs/data/fonts/gohufont/default.nix index 7936a216ada..1f861afcf83 100644 --- a/pkgs/data/fonts/gohufont/default.nix +++ b/pkgs/data/fonts/gohufont/default.nix @@ -1,49 +1,55 @@ -{ stdenv, fetchurl, mkfontdir, mkfontscale, bdf2psf }: +{ stdenv, fetchurl, fetchFromGitHub +, mkfontdir, mkfontscale, bdf2psf, bdftopcf +}: stdenv.mkDerivation rec { - name = "gohufont-2.0"; + pname = "gohufont"; + version = "2.1"; - pcf = fetchurl { - url = "http://font.gohu.org/gohufont-2.0.tar.gz"; - sha256 = "0vi87fvj3m52piz2k6vqday03cah6zvz3dzrvjch3qjna1i1nb7s"; + src = fetchurl { + url = "http://font.gohu.org/${pname}-${version}.tar.gz"; + sha256 = "10dsl7insnw95hinkcgmp9rx39lyzb7bpx5g70vswl8d6p4n53bm"; }; - bdf = fetchurl { - url = "http://font.gohu.org/gohufont-bdf-2.0.tar.gz"; - sha256 = "0rqqavhqbs7pajcblg92mjlz2dxk8b60vgdh271axz7kjs2wf9mr"; + bdf = fetchFromGitHub { + owner = "hchargois"; + repo = "gohufont"; + rev = "cc36b8c9fed7141763e55dcee0a97abffcf08224"; + sha256 = "1hmp11mrr01b29phw0xyj4h9b92qz19cf56ssf6c47c5j2c4xmbv"; }; - nativeBuildInputs = [ mkfontdir mkfontscale bdf2psf ]; + nativeBuildInputs = [ mkfontdir mkfontscale bdf2psf bdftopcf ]; - unpackPhase = '' - mkdir pcf bdf - tar -xzf $pcf --strip-components=1 -C pcf - tar -xzf $bdf --strip-components=1 -C bdf + buildPhase = '' + # convert bdf to psf fonts + build=$(pwd) + mkdir psf + cd ${bdf2psf}/usr/share/bdf2psf + for i in $bdf/*.bdf; do + bdf2psf \ + --fb "$i" standard.equivalents \ + ascii.set+useful.set+linux.set 512 \ + "$build/psf/$(basename $i .bdf).psf" + done + cd $build + + # convert hidpi variant to pcf + for i in $bdf/hidpi/*.bdf; do + name=$(basename $i .bdf).pcf + bdftopcf -o "$name" "$i" + done ''; installPhase = '' - # convert bdf to psf fonts - sourceRoot="$(pwd)" - mkdir psf - - cd "${bdf2psf}/usr/share/bdf2psf" - for i in $sourceRoot/bdf/*.bdf; do - bdf2psf --fb $i standard.equivalents \ - ascii.set+useful.set+linux.set 512 \ - "$sourceRoot/psf/$(basename $i .bdf).psf" - done - cd "$sourceRoot" - # install the psf fonts (for the virtual console) fontDir="$out/share/consolefonts" mkdir -p "$fontDir" - mv psf/*.psf "$fontDir" - + mv -t "$fontDir" psf/*.psf # install the pcf fonts (for xorg applications) fontDir="$out/share/fonts/misc" mkdir -p "$fontDir" - mv pcf/*.pcf.gz "$fontDir" + mv -t "$fontDir" *.pcf.gz *.pcf cd "$fontDir" mkfontdir @@ -52,15 +58,14 @@ stdenv.mkDerivation rec { outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "0msl5y9q6hjbhc85v121x1b1rhsh2rbqqy4k234i5mpp8l3087r7"; + outputHash = "0kl7k8idl0fnsap2c4j02i33z017p2s4gi2cgspy6ica46fczcc1"; meta = with stdenv.lib; { description = '' A monospace bitmap font well suited for programming and terminal use ''; - homepage = http://font.gohu.org/; - license = licenses.wtfpl; - maintainers = with maintainers; [ epitrochoid ]; - platforms = platforms.linux; + homepage = http://font.gohu.org/; + license = licenses.wtfpl; + maintainers = with maintainers; [ epitrochoid rnhmjoj ]; }; } diff --git a/pkgs/data/fonts/google-fonts/default.nix b/pkgs/data/fonts/google-fonts/default.nix index 207f3615d1b..707beb41231 100644 --- a/pkgs/data/fonts/google-fonts/default.nix +++ b/pkgs/data/fonts/google-fonts/default.nix @@ -1,20 +1,16 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "google-fonts-${version}"; - version = "2018-07-13"; + pname = "google-fonts"; + version = "2019-07-14"; src = fetchFromGitHub { owner = "google"; repo = "fonts"; - rev = "3ca591dae7372a26e254ec6d22e7b453813b9530"; - sha256 = "01ak3dzw2kihwa0dy27x8vvpiscd66mnkf61vj1xn29m4g48y0lr"; + rev = "f113126dc4b9b1473d9354a86129c9d7b837aa1a"; + sha256 = "0safw5prpa63mqcyfw3gr3a535w4c9hg5ayw5pkppiwil7n3pyxs"; }; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "1pzm26794nwdbsvjnczpfchxiqa1n1zhp517g6g39wfm1nfszz83"; - phases = [ "unpackPhase" "patchPhase" "installPhase" ]; patchPhase = '' @@ -29,6 +25,13 @@ stdenv.mkDerivation rec { ofl/siamreap \ ofl/terminaldosislight + # See comment above, the structure of these is a bit odd + # We keep the ofl//static/ variants + rm -rv ofl/comfortaa/*.ttf \ + ofl/mavenpro/*.ttf \ + ofl/muli/*.ttf \ + ofl/oswald/*.ttf + if find . -name "*.ttf" | sed 's|.*/||' | sort | uniq -c | sort -n | grep -v '^.*1 '; then echo "error: duplicate font names" exit 1 diff --git a/pkgs/data/fonts/gyre/default.nix b/pkgs/data/fonts/gyre/default.nix index 492d89a674c..91a8aaf3c30 100644 --- a/pkgs/data/fonts/gyre/default.nix +++ b/pkgs/data/fonts/gyre/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let baseName = "gyre-fonts"; @@ -25,8 +25,8 @@ in fetchzip { covering all modern European languages and then some ''; homepage = "http://www.gust.org.pl/projects/e-foundry/tex-gyre/index_html#Readings"; - license = stdenv.lib.licenses.lppl13c; - platforms = stdenv.lib.platforms.all; - maintainers = with stdenv.lib.maintainers; [ bergey ]; + license = lib.licenses.lppl13c; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ bergey ]; }; } diff --git a/pkgs/data/fonts/hack/default.nix b/pkgs/data/fonts/hack/default.nix index e77fcc3c3a3..ef0df1ba67f 100644 --- a/pkgs/data/fonts/hack/default.nix +++ b/pkgs/data/fonts/hack/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "3.003"; @@ -14,7 +14,7 @@ in fetchzip rec { sha256 = "1l6ih6v7dqali5c7zh6z2xnbf9h2wz0ag6fdgszmqd5lnhw39v6s"; - meta = with stdenv.lib; { + meta = with lib; { description = "A typeface designed for source code"; longDescription = '' Hack is hand groomed and optically balanced to be a workhorse face for diff --git a/pkgs/data/fonts/hanazono/default.nix b/pkgs/data/fonts/hanazono/default.nix index 27459b2d1f3..29c982ed8ae 100644 --- a/pkgs/data/fonts/hanazono/default.nix +++ b/pkgs/data/fonts/hanazono/default.nix @@ -1,23 +1,30 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let - version = "20141012"; + version = "20170904"; in fetchzip { name = "hanazono-${version}"; - url = "mirror://sourceforgejp/hanazono-font/62072/hanazono-${version}.zip"; + url = "mirror://osdn/hanazono-font/68253/hanazono-${version}.zip"; postFetch = '' - mkdir -p $out/share/fonts/hanazono $out/share/doc/hanazono - unzip -j $downloadedFile \*.ttf -d $out/share/fonts/hanazono + mkdir -p $out/share/{doc,fonts} + unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype unzip -j $downloadedFile \*.txt -d $out/share/doc/hanazono ''; - sha256 = "0z0fgrjzp0hqqnhfisivciqpxd2br2w2q9mvxkglj44np2q889w2"; + sha256 = "0qiyd1vk3w8kqmwc6xi5d390wdr4ln8xhfbx3n8r1hhad9iz14p6"; - meta = with stdenv.lib; { - description = "Free kanji font containing 96,327 characters"; - homepage = http://fonts.jp/hanazono/; + meta = with lib; { + description = "Japanese Mincho-typeface TrueType font"; + homepage = "https://fonts.jp/hanazono/"; + longDescription = '' + Hanazono Mincho typeface is a Japanese TrueType font that developed with a + support of Grant-in-Aid for Publication of Scientific Research Results + from Japan Society for the Promotion of Science and the International + Research Institute for Zen Buddhism (IRIZ), Hanazono University. also with + volunteers who work together on glyphwiki.org. + ''; # Dual-licensed under OFL and the following: # This font is a free software. diff --git a/pkgs/data/fonts/hasklig/default.nix b/pkgs/data/fonts/hasklig/default.nix index de7dd5834e4..6286cf8a1df 100644 --- a/pkgs/data/fonts/hasklig/default.nix +++ b/pkgs/data/fonts/hasklig/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "1.1"; @@ -9,13 +9,12 @@ in fetchzip { postFetch = '' unzip $downloadedFile - mkdir -p $out/share/fonts/opentype - cp *.otf $out/share/fonts/opentype + install -m444 -Dt $out/share/fonts/opentype *.otf ''; sha256 = "0xxyx0nkapviqaqmf3b610nq17k20afirvc72l32pfspsbxz8ybq"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://github.com/i-tu/Hasklig; description = "A font with ligatures for Haskell code based off Source Code Pro"; license = licenses.ofl; diff --git a/pkgs/data/fonts/helvetica-neue-lt-std/default.nix b/pkgs/data/fonts/helvetica-neue-lt-std/default.nix index a614017b809..759d2c2db1d 100644 --- a/pkgs/data/fonts/helvetica-neue-lt-std/default.nix +++ b/pkgs/data/fonts/helvetica-neue-lt-std/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "2013.06.07"; # date of most recent file in distribution @@ -28,8 +28,8 @@ in fetchzip rec { font. The numbers are well spaced and defined with high accuracy. The punctuation marks are heavily detailed as well. ''; - license = stdenv.lib.licenses.unfree; - maintainers = [ stdenv.lib.maintainers.romildo ]; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.unfree; + maintainers = [ lib.maintainers.romildo ]; + platforms = lib.platforms.all; }; } diff --git a/pkgs/data/fonts/hermit/default.nix b/pkgs/data/fonts/hermit/default.nix index c247ad15543..f641b36a1b0 100644 --- a/pkgs/data/fonts/hermit/default.nix +++ b/pkgs/data/fonts/hermit/default.nix @@ -1,23 +1,20 @@ -{ stdenv, fetchurl }: +{ lib, fetchzip }: -stdenv.mkDerivation rec { +let pname = "hermit"; version = "2.0"; +in fetchzip rec { + name = "${pname}-${version}"; - src = fetchurl { - url = "https://pcaro.es/d/otf-${pname}-${version}.tar.gz"; - sha256 = "09rmy3sbf1j1hr8zidighjgqc8kp0wsra115y27vrnlf10ml6jy0"; - }; + url = "https://pcaro.es/d/otf-${name}.tar.gz"; - sourceRoot = "."; - - dontBuild = true; - installPhase = '' - mkdir -p $out/share/fonts/opentype - cp *.otf $out/share/fonts/opentype/ + postFetch = '' + tar xf $downloadedFile + install -m444 -Dt $out/share/fonts/opentype *.otf ''; + sha256 = "127hnpxicqya7v1wmzxxqafq3aj1n33i4j5ncflbw6gj5g3bizwl"; - meta = with stdenv.lib; { + meta = with lib; { description = "monospace font designed to be clear, pragmatic and very readable"; homepage = https://pcaro.es/p/hermit; license = licenses.ofl; diff --git a/pkgs/data/fonts/hyperscrypt/default.nix b/pkgs/data/fonts/hyperscrypt/default.nix index 80516eb0293..362781c05bb 100644 --- a/pkgs/data/fonts/hyperscrypt/default.nix +++ b/pkgs/data/fonts/hyperscrypt/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip, lib }: +{ fetchzip, lib }: let version = "1.1"; @@ -15,7 +15,7 @@ fetchzip rec { unzip -j $downloadedFile \*${pname}.otf -d $out/share/fonts/opentype/${pname}.otf ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://velvetyne.fr/fonts/hyper-scrypt/; description = "A modern stencil typeface inspired by stained glass technique"; longDescription = '' diff --git a/pkgs/data/fonts/ibm-plex/default.nix b/pkgs/data/fonts/ibm-plex/default.nix index 91ef3ca49a7..7e1014da210 100644 --- a/pkgs/data/fonts/ibm-plex/default.nix +++ b/pkgs/data/fonts/ibm-plex/default.nix @@ -1,15 +1,15 @@ { lib, fetchzip }: let - version = "1.2.3"; + version = "2.0.0"; in fetchzip rec { name = "ibm-plex-${version}"; url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip"; postFetch = '' mkdir -p $out/share/fonts - unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype + unzip -j $downloadedFile "OpenType/*/*.otf" -d $out/share/fonts/opentype ''; - sha256 = "16vmby2svr4q0lvsnrpxzmhkb6yv84x2jg6jccaj7x9vq56b4adg"; + sha256 = "0m4paww4349d37s7j20a00hp514p1jq54xrnz45wyrafb8pkah4g"; meta = with lib; { description = "IBM Plex Typeface"; diff --git a/pkgs/data/fonts/inconsolata/default.nix b/pkgs/data/fonts/inconsolata/default.nix index e1544787b72..94c43b11285 100644 --- a/pkgs/data/fonts/inconsolata/default.nix +++ b/pkgs/data/fonts/inconsolata/default.nix @@ -1,7 +1,7 @@ { stdenv, google-fonts }: stdenv.mkDerivation rec { - name = "inconsolata-${version}"; + pname = "inconsolata"; inherit (google-fonts) src version; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = http://www.levien.com/type/myfonts/inconsolata.html; + homepage = https://www.levien.com/type/myfonts/inconsolata.html; description = "A monospace font for both screen and print"; maintainers = with maintainers; [ mikoim raskin rycee ]; license = licenses.ofl; diff --git a/pkgs/data/fonts/inconsolata/lgc.nix b/pkgs/data/fonts/inconsolata/lgc.nix index 8563e0e112a..aec48b12086 100644 --- a/pkgs/data/fonts/inconsolata/lgc.nix +++ b/pkgs/data/fonts/inconsolata/lgc.nix @@ -1,7 +1,7 @@ {stdenv, fetchFromGitHub, fontforge}: stdenv.mkDerivation rec { - name = "inconsolata-lgc-${version}"; + pname = "inconsolata-lgc"; version = "1.3"; src = fetchFromGitHub { @@ -14,20 +14,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ fontforge ]; installPhase = '' - mkdir -p $out/share/fonts/truetype - cp -v $(find . -name '*.ttf') $out/share/fonts/truetype - - mkdir -p $out/share/fonts/opentype - cp -v $(find . -name '*.otf') $out/share/fonts/opentype - - mkdir -p "$out/doc/${name}" - cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true + find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \; + find . -name '*.otf' -exec install -m444 -Dt $out/share/fonts/opentype {} \; + install -m444 -Dt $out/share/doc/${pname}-${version} LICENSE README ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "18brmw0h4hjq1m2l0abwc3zmib4rnfalpywdk68djm711zldxr76"; - meta = with stdenv.lib; { description = "Fork of Inconsolata font, with proper support of Cyrillic and Greek"; longDescription = '' @@ -57,6 +48,5 @@ stdenv.mkDerivation rec { license = licenses.ofl; homepage = https://github.com/MihailJP/Inconsolata-LGC; maintainers = with maintainers; [ avnik rht ]; - platforms = platforms.linux; }; } diff --git a/pkgs/data/fonts/input-fonts/default.nix b/pkgs/data/fonts/input-fonts/default.nix index 94c580c30df..d079ae59b0d 100644 --- a/pkgs/data/fonts/input-fonts/default.nix +++ b/pkgs/data/fonts/input-fonts/default.nix @@ -1,12 +1,12 @@ { stdenv, requireFile, unzip }: stdenv.mkDerivation rec { - name = "input-fonts-${version}"; + pname = "input-fonts"; version = "2017-08-10"; # date of the download and checksum src = requireFile { name = "Input-Font.zip"; - url = "http://input.fontbureau.com/download/"; + url = "https://input.fontbureau.com/download/"; sha256 = "07fkyvbb12agkb2kpnq2j45nycgbjvb4n1s5hjyqsipdh2z9zihq"; }; diff --git a/pkgs/data/fonts/inriafonts/default.nix b/pkgs/data/fonts/inriafonts/default.nix index a2192385abc..52c28db639e 100644 --- a/pkgs/data/fonts/inriafonts/default.nix +++ b/pkgs/data/fonts/inriafonts/default.nix @@ -1,26 +1,22 @@ -{ stdenv, fetchFromGitHub }: - -stdenv.mkDerivation rec { +{ lib, fetchFromGitHub }: +let pname = "inriafonts"; version = "1.200"; +in fetchFromGitHub rec { name = "${pname}-${version}"; - -src = fetchFromGitHub { owner = "BlackFoundry"; repo = "InriaFonts"; rev = "v${version}"; - sha256 = "06775y99lyh6hj5hzvrx56iybdck8a8xfqkipqd5c4cldg0a9hh8"; -}; -installPhase = '' - mkdir -p $out/share/fonts/truetype - cp fonts/*/TTF/*.ttf $out/share/fonts/truetype - mkdir -p $out/share/fonts/opentype - cp fonts/*/OTF/*.otf $out/share/fonts/opentype -''; + postFetch = '' + tar xf $downloadedFile --strip=1 + install -m444 -Dt $out/share/fonts/truetype fonts/*/TTF/*.ttf + install -m444 -Dt $out/share/fonts/opentype fonts/*/OTF/*.otf + ''; + sha256 = "0wrwcyycyzvgvgnlmwi1ncdvwb8f6bbclynd1105rsyxgrz5dd70"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://black-foundry.com/work/inria; description = "Inria Sans and Inria Serif"; longDescription = '' @@ -32,7 +28,7 @@ installPhase = '' typeface with a unapologetically contemporary design as the Sans-serif part and a more rational axis and drawing for the serif. Both members comes in 3 weights with matching italics. - ''; + ''; license = licenses.ofl; maintainers = with maintainers; [ leenaars ]; platforms = platforms.all; diff --git a/pkgs/data/fonts/inter-ui/default.nix b/pkgs/data/fonts/inter-ui/default.nix index 4d9973aa2a2..d9ef6684faa 100644 --- a/pkgs/data/fonts/inter-ui/default.nix +++ b/pkgs/data/fonts/inter-ui/default.nix @@ -1,7 +1,11 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: +# XXX: IMPORTANT: +# For compat, keep this at the last version that used the name "Inter UI" +# For newer versions, which are now simply named "Inter", +# see the expression for `inter` (../inter/default.nix). let - version = "3.1"; + version = "3.2"; in fetchzip { name = "inter-ui-${version}"; @@ -12,9 +16,9 @@ in fetchzip { unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype ''; - sha256 = "0cdjpwylynwmab0x5z5lw43k39vis74xj1ciqg8nw12ccprbmj60"; + sha256 = "01d2ql803jrhss6g60djvs08x9xl7z6b3snkn03vqnrajdgifcl4"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://rsms.me/inter/; description = "A typeface specially designed for user interfaces"; license = licenses.ofl; diff --git a/pkgs/data/fonts/inter/default.nix b/pkgs/data/fonts/inter/default.nix new file mode 100644 index 00000000000..589acbcee5c --- /dev/null +++ b/pkgs/data/fonts/inter/default.nix @@ -0,0 +1,25 @@ +{ lib, fetchzip }: + +let + version = "3.7"; +in fetchzip { + name = "inter-${version}"; + + url = "https://github.com/rsms/inter/releases/download/v${version}/Inter-${version}.zip"; + + postFetch = '' + mkdir -p $out/share/fonts/opentype + unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype + ''; + + sha256 = "1ja1v3605vp09azpabgmk710kic85zxwi4kksmqj9z805fmxddp6"; + + meta = with lib; { + homepage = https://rsms.me/inter/; + description = "A typeface specially designed for user interfaces"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = with maintainers; [ demize dtzWill ]; + }; +} + diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix index 4adb0928d4f..0676d3c0e1f 100644 --- a/pkgs/data/fonts/iosevka/bin.nix +++ b/pkgs/data/fonts/iosevka/bin.nix @@ -1,7 +1,7 @@ { stdenv, fetchzip }: let - version = "2.1.0"; + version = "2.2.1"; in fetchzip rec { name = "iosevka-bin-${version}"; @@ -12,7 +12,7 @@ in fetchzip rec { unzip -j $downloadedFile \*.ttc -d $out/share/fonts/iosevka ''; - sha256 = "0hx91pdkiw0qvkkl7qnl78p5afldcmn18l5m1iclldnvrghrxizz"; + sha256 = "0d5ys9k8adj9v1hpwbmjqshzpjlnyj81xwp0328vc5q8pvjcfly6"; meta = with stdenv.lib; { homepage = https://be5invis.github.io/Iosevka/; diff --git a/pkgs/data/fonts/ipaexfont/default.nix b/pkgs/data/fonts/ipaexfont/default.nix index dfeab5124c8..4d7e2fa380e 100644 --- a/pkgs/data/fonts/ipaexfont/default.nix +++ b/pkgs/data/fonts/ipaexfont/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: -fetchzip rec { +fetchzip { name = "ipaexfont-003.01"; - url = "http://dl.ipafont.ipa.go.jp/IPAexfont/IPAexfont00301.zip"; + url = "http://web.archive.org/web/20160616003021/http://dl.ipafont.ipa.go.jp/IPAexfont/IPAexfont00301.zip"; postFetch = '' mkdir -p $out/share/fonts @@ -12,7 +12,7 @@ fetchzip rec { sha256 = "02a6sj990cnig5lq0m54nmbmfkr3s57jpxl9fiyzrjmigvd1qmhj"; - meta = with stdenv.lib; { + meta = with lib; { description = "Japanese font package with Mincho and Gothic fonts"; longDescription = '' IPAex font is a Japanese font developed by the Information-technology @@ -24,6 +24,5 @@ fetchzip rec { homepage = http://ipafont.ipa.go.jp/; license = licenses.ipa; maintainers = with maintainers; [ gebner ]; - platforms = with platforms; unix; }; } diff --git a/pkgs/data/fonts/ipafont/default.nix b/pkgs/data/fonts/ipafont/default.nix index c056f14f46f..d1cb0070883 100644 --- a/pkgs/data/fonts/ipafont/default.nix +++ b/pkgs/data/fonts/ipafont/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: fetchzip { name = "ipafont-003.03"; @@ -20,8 +20,7 @@ fetchzip { suitable for both display and printing. ''; homepage = http://ipafont.ipa.go.jp/ipafont/; - license = stdenv.lib.licenses.ipa; - maintainers = [ stdenv.lib.maintainers.auntie ]; - platforms = stdenv.lib.platforms.unix; + license = lib.licenses.ipa; + maintainers = [ lib.maintainers.auntie ]; }; } diff --git a/pkgs/data/fonts/ir-standard-fonts/default.nix b/pkgs/data/fonts/ir-standard-fonts/default.nix new file mode 100644 index 00000000000..1501e0fb7fa --- /dev/null +++ b/pkgs/data/fonts/ir-standard-fonts/default.nix @@ -0,0 +1,26 @@ +{ lib, fetchFromGitHub }: + +let + pname = "ir-standard-fonts"; + version = "unstable-2017-01-21"; +in fetchFromGitHub rec { + name = "${pname}-${version}"; + owner = "morealaz"; + repo = pname; + rev = "d36727d6c38c23c01b3074565667a2fe231fe18f"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/ir-standard-fonts {} \; + ''; + sha256 = "0i2vzhwk77pm6fx5z5gxl026z9f35rhh3cvl003mry2lcg1x5rhp"; + + meta = with lib; { + homepage = https://github.com/morealaz/ir-standard-fonts; + description = "Iran Supreme Council of Information and Communication Technology (SCICT) standard Persian fonts series"; + # License information is unavailable. + license = licenses.unfree; + platforms = platforms.all; + maintainers = [ maintainers.linarcx ]; + }; +} diff --git a/pkgs/data/fonts/iwona/default.nix b/pkgs/data/fonts/iwona/default.nix index 3649aad99f4..afa59b737a5 100644 --- a/pkgs/data/fonts/iwona/default.nix +++ b/pkgs/data/fonts/iwona/default.nix @@ -1,23 +1,18 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: -stdenv.mkDerivation rec { - name = "iwona-${version}"; +let version = "0_995"; +in fetchzip { + name = "iwona-${version}"; + url = "http://jmn.pl/pliki/Iwona-otf-${version}.zip"; - src = fetchzip { - url = "http://jmn.pl/pliki/Iwona-otf-${version}.zip"; - sha256 = "1wj5bxbxpz5a8p3rhw708cyjc0lgqji8g0iv6brmmbrrkpb3jq2s"; - }; - - installPhase = '' - install -m 444 -D -t $out/share/fonts/opentype/ *.otf + postFetch = '' + mkdir -p $out/share/fonts/opentype + unzip -j $downloadedFile *.otf -d $out/share/fonts/opentype ''; + sha256 = "1dcpn13bd31dw7ir0s722bv3nk136dy6qsab0kznjbzfqd7agswa"; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "1dcpn13bd31dw7ir0s722bv3nk136dy6qsab0kznjbzfqd7agswa"; - - meta = with stdenv.lib; { + meta = with lib; { description = "A two-element sans-serif typeface, created by Małgorzata Budyta"; homepage = http://jmn.pl/en/kurier-i-iwona/; # "[...] GUST Font License (GFL), which is a free license, legally diff --git a/pkgs/data/fonts/jost/default.nix b/pkgs/data/fonts/jost/default.nix new file mode 100644 index 00000000000..ecada2eda7b --- /dev/null +++ b/pkgs/data/fonts/jost/default.nix @@ -0,0 +1,22 @@ +{stdenv, fetchzip}: + +let + version = "3.3"; +in fetchzip { + name = "jost-${version}"; + url = "https://github.com/indestructible-type/Jost/releases/download/${version}/Jost.zip"; + + postFetch = '' + mkdir -p $out/share/fonts + unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype + ''; + + sha256="00nrhs3aif2hc4yhjhbn9ywmydl2w0g0hv5m5is8gv7wx8yi2j9z"; + + meta = with stdenv.lib; { + homepage = https://github.com/indestructible-type/Jost; + description = "A sans serif font by Indestructible Type"; + license = licenses.ofl; + maintainers = [ maintainers.ar1a ]; + }; +} diff --git a/pkgs/data/fonts/joypixels/default.nix b/pkgs/data/fonts/joypixels/default.nix new file mode 100644 index 00000000000..f54838d5a64 --- /dev/null +++ b/pkgs/data/fonts/joypixels/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl }: + +let + fontconfig = fetchurl { + name = "75-joypixels.conf"; + url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/75-joypixels.conf?h=packages/ttf-joypixels&id=b2b38f8393ec56ed7338c256f5b85f3439a2dfc3"; + sha256 = "065y2fmf86zzvna1hrvcg46cnr7a76xd2mwa26nss861dsx6pnd6"; + }; +in stdenv.mkDerivation rec { + pname = "emojione"; + version = "5.0.2"; + + src = fetchurl { + url = "https://cdn.joypixels.com/arch-linux/font/${version}/joypixels-android.ttf"; + sha256 = "0javgnfsh2nfddr5flf4yzi81ar8wx2z8w1q7h4fvdng5fsrgici"; + }; + + dontUnpack = true; + + installPhase = '' + install -Dm644 $src $out/share/fonts/truetype/joypixels.ttf + install -Dm644 ${fontconfig} $out/etc/fonts/conf.d/75-joypixels.conf + ''; + + meta = with stdenv.lib; { + description = "Emoji as a Service (formerly EmojiOne)"; + homepage = https://www.joypixels.com/; + license = licenses.unfree; + maintainers = with maintainers; [ jtojnar ]; + }; +} diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix index 824d9044d76..1cfe1d5d4b0 100644 --- a/pkgs/data/fonts/junicode/default.nix +++ b/pkgs/data/fonts/junicode/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: fetchzip { name = "junicode-0.7.8"; @@ -15,7 +15,6 @@ fetchzip { meta = { homepage = http://junicode.sourceforge.net/; description = "A Unicode font for medievalists"; - platforms = stdenv.lib.platforms.unix; - license = stdenv.lib.licenses.gpl2Plus; + license = lib.licenses.gpl2Plus; }; } diff --git a/pkgs/data/fonts/kanji-stroke-order-font/default.nix b/pkgs/data/fonts/kanji-stroke-order-font/default.nix new file mode 100644 index 00000000000..1c1609b03f1 --- /dev/null +++ b/pkgs/data/fonts/kanji-stroke-order-font/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchzip }: + +let + version = "4.002"; +in fetchzip { + name = "kanji-stroke-order-font-${version}"; + + url = "https://sites.google.com/site/nihilistorguk/KanjiStrokeOrders_v${version}.zip?attredirects=0"; + + postFetch = '' + mkdir -p $out/share/fonts/kanji-stroke-order $out/share/doc/kanji-stroke-order + unzip -j $downloadedFile \*.ttf -d $out/share/fonts/kanji-stroke-order + unzip -j $downloadedFile \*.txt -d $out/share/doc/kanji-stroke-order + ''; + + sha256 = "194ylkx5p7r1461wnnd3hisv5dz1xl07fyxmg8gv47zcwvdmwkc0"; + + meta = with stdenv.lib; { + description = "Font containing stroke order diagrams for over 6500 kanji, 180 kana and other characters"; + homepage = "https://sites.google.com/site/nihilistorguk/"; + + license = [ licenses.bsd3 ]; + maintainers = with maintainers; [ ptrhlm ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/data/fonts/kawkab-mono/default.nix b/pkgs/data/fonts/kawkab-mono/default.nix index 852fdec82f8..c1de2806ef1 100644 --- a/pkgs/data/fonts/kawkab-mono/default.nix +++ b/pkgs/data/fonts/kawkab-mono/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: fetchzip rec { name = "kawkab-mono-20151015"; @@ -15,8 +15,7 @@ fetchzip rec { meta = { description = "An arab fixed-width font"; homepage = https://makkuk.com/kawkab-mono/; - license = stdenv.lib.licenses.ofl; - platforms = stdenv.lib.platforms.unix; + license = lib.licenses.ofl; }; } diff --git a/pkgs/data/fonts/kochi-substitute-naga10/default.nix b/pkgs/data/fonts/kochi-substitute-naga10/default.nix index c24e6898129..1b63223f0bf 100644 --- a/pkgs/data/fonts/kochi-substitute-naga10/default.nix +++ b/pkgs/data/fonts/kochi-substitute-naga10/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "20030809"; in fetchzip { name = "kochi-substitute-naga10-${version}"; - url = "mirror://sourceforgejp/efont/5411/kochi-substitute-${version}.tar.bz2"; + url = "mirror://osdn/efont/5411/kochi-substitute-${version}.tar.bz2"; postFetch = '' tar -xjf $downloadedFile --strip-components=1 @@ -25,8 +25,8 @@ fetchzip { this font may not be sold commercially. See kochi-substitute for the free Debian version. ''; - homepage = http://sourceforge.jp/projects/efont/; - license = stdenv.lib.licenses.unfreeRedistributable; - maintainers = [ stdenv.lib.maintainers.auntie ]; + homepage = "https://osdn.net/projects/efont/"; + license = lib.licenses.unfreeRedistributable; + maintainers = [ lib.maintainers.auntie ]; }; } diff --git a/pkgs/data/fonts/kochi-substitute/default.nix b/pkgs/data/fonts/kochi-substitute/default.nix index 5815b84f21a..cf89a8fcb8f 100644 --- a/pkgs/data/fonts/kochi-substitute/default.nix +++ b/pkgs/data/fonts/kochi-substitute/default.nix @@ -3,7 +3,8 @@ let version = "20030809"; in stdenv.mkDerivation { - name = "kochi-substitute-${version}"; + pname = "kochi-substitute"; + inherit version; src = fetchurl { url = "mirror://debian/pool/main/t/ttf-kochi/ttf-kochi-gothic_${version}-15_all.deb"; @@ -40,9 +41,8 @@ stdenv.mkDerivation { versions of the fonts, which remove some non-free glyphs that were added from the naga10 font. ''; - homepage = http://sourceforge.jp/projects/efont/; + homepage = "https://osdn.net/projects/efont/"; license = stdenv.lib.licenses.wadalab; maintainers = [ stdenv.lib.maintainers.auntie ]; - platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/data/fonts/lalezar-fonts/default.nix b/pkgs/data/fonts/lalezar-fonts/default.nix new file mode 100644 index 00000000000..2cd33e9fe1b --- /dev/null +++ b/pkgs/data/fonts/lalezar-fonts/default.nix @@ -0,0 +1,26 @@ +{ lib, fetchFromGitHub }: + +let + pname = "lalezar-fonts"; + version = "unstable-2017-02-28"; +in fetchFromGitHub { + name = "${pname}-${version}"; + owner = "BornaIz"; + repo = "Lalezar"; + rev = "238701c4241f207e92515f845a199be9131c1109"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + mkdir -p $out/share/fonts/lalezar-fonts + cp -v $( find . -name '*.ttf') $out/share/fonts/lalezar-fonts + ''; + sha256 = "0jmwhr2dqgj3vn0v26jh6c0id6n3wd6as3bq39xa870zlk7v307b"; + + meta = with lib; { + homepage = https://github.com/BornaIz/Lalezar; + description = "A multi-script display typeface for popular culture"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = [ maintainers.linarcx ]; + }; +} diff --git a/pkgs/data/fonts/lato/default.nix b/pkgs/data/fonts/lato/default.nix index 91d85ce9a0d..ea9d1837ef5 100644 --- a/pkgs/data/fonts/lato/default.nix +++ b/pkgs/data/fonts/lato/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: fetchzip { name = "lato-2.0"; @@ -12,7 +12,7 @@ fetchzip { sha256 = "1amwn6vcaggxrd2s4zw21s2pr47zmzdf2xfy4x9lxa2cd9bkhvg5"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://www.latofonts.com/; description = '' diff --git a/pkgs/data/fonts/liberastika/default.nix b/pkgs/data/fonts/liberastika/default.nix index 2e1f89ed1e7..1bc3b9b2092 100644 --- a/pkgs/data/fonts/liberastika/default.nix +++ b/pkgs/data/fonts/liberastika/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "1.1.5"; @@ -15,7 +15,7 @@ in fetchzip rec { sha256 = "1a9dvl1pzch2vh8sqyyn1d1wz4n624ffazl6hzlc3s5k5lzrb6jp"; - meta = with stdenv.lib; { + meta = with lib; { description = "Liberation Sans fork with improved cyrillic support"; homepage = https://sourceforge.net/projects/lib-ka/; diff --git a/pkgs/data/fonts/liberation-sans-narrow/default.nix b/pkgs/data/fonts/liberation-sans-narrow/default.nix index 97a1ff70f49..4a14e095cf0 100644 --- a/pkgs/data/fonts/liberation-sans-narrow/default.nix +++ b/pkgs/data/fonts/liberation-sans-narrow/default.nix @@ -14,11 +14,8 @@ stdenv.mkDerivation rec { buildInputs = [ fontforge pythonPackages.fonttools python ]; installPhase = '' - mkdir -p $out/share/fonts/truetype - cp -v $(find . -name '*Narrow*.ttf') $out/share/fonts/truetype - - mkdir -p "$out/doc/${pname}-${version}" - cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${pname}-${version}" || true + find . -name '*Narrow*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \; + install -m444 -Dt $out/doc/${pname}-${version} AUTHORS ChangeLog COPYING License.txt README.rst ''; meta = with stdenv.lib; { diff --git a/pkgs/data/fonts/libertine/default.nix b/pkgs/data/fonts/libertine/default.nix index 748c0268a80..2152b960cdc 100644 --- a/pkgs/data/fonts/libertine/default.nix +++ b/pkgs/data/fonts/libertine/default.nix @@ -31,23 +31,16 @@ stdenv.mkDerivation rec { ''; installPhase = '' - mkdir -p $out/share/fonts/{opentype,truetype,type1}/public - mkdir -p $out/share/texmf/fonts/{enc,map} - cp *.otf $out/share/fonts/opentype/public - cp *.ttf $out/share/fonts/truetype/public - cp *.pfb $out/share/fonts/type1/public - cp *.enc $out/share/texmf/fonts/enc - cp *.map $out/share/texmf/fonts/map + install -m444 -Dt $out/share/fonts/opentype/public *.otf + install -m444 -Dt $out/share/fonts/truetype/public *.ttf + install -m444 -Dt $out/share/fonts/type1/public *.pfb + install -m444 -Dt $out/share/texmf/fonts/enc *.enc + install -m444 -Dt $out/share/texmf/fonts/map *.map ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "1mj0j0hkp8pn7jcs4pvcan6whba60bfd671g3vhx3s9kxwf7xjvr"; - meta = with stdenv.lib; { description = "Linux Libertine Fonts"; homepage = http://linuxlibertine.sf.net; - platforms = platforms.linux; maintainers = [ maintainers.volth ]; license = licenses.ofl; }; diff --git a/pkgs/data/fonts/libertinus/default.nix b/pkgs/data/fonts/libertinus/default.nix index 2ee1e83691c..62aad87c902 100644 --- a/pkgs/data/fonts/libertinus/default.nix +++ b/pkgs/data/fonts/libertinus/default.nix @@ -1,35 +1,29 @@ -{ stdenv, fetchFromGitHub }: +{ lib, fetchFromGitHub }: -stdenv.mkDerivation rec { +let + version = "6.9"; +in fetchFromGitHub rec { name = "libertinus-${version}"; - version = "6.6"; - src = fetchFromGitHub { - rev = "v${version}"; - owner = "khaledhosny"; - repo = "libertinus"; - sha256 = "0syagjmwy6q1ysncchl9bgyfrm7f6fghj1aipbr6md7l6gafz7ji"; - }; + owner = "alif-type"; + repo = "libertinus"; + rev = "v${version}"; - installPhase = '' - mkdir -p $out/share/fonts/opentype/ - mkdir -p $out/share/doc/${name}/ - cp *.otf $out/share/fonts/opentype/ - cp *.txt $out/share/doc/${name}/ + postFetch = '' + tar xf $downloadedFile --strip=1 + install -m444 -Dt $out/share/fonts/opentype *.otf + install -m444 -Dt $out/share/doc/${name} *.txt ''; + sha256 = "0765a7w0askkhrjmjk638gcm9h6fcm1jpaza8iw9afr3sz1s0xlq"; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "11pxb2zwvjlk06zbqrfv2pgwsl4awf68fak1ks4881i8xbl1910m"; - - meta = with stdenv.lib; { + meta = with lib; { description = "A fork of the Linux Libertine and Linux Biolinum fonts"; longDescription = '' Libertinus fonts is a fork of the Linux Libertine and Linux Biolinum fonts that started as an OpenType math companion of the Libertine font family, but grown as a full fork to address some of the bugs in the fonts. ''; - homepage = https://github.com/khaledhosny/libertinus; + homepage = https://github.com/alif-type/libertinus; license = licenses.ofl; maintainers = with maintainers; [ siddharthist ]; platforms = platforms.all; diff --git a/pkgs/data/fonts/libre-baskerville/default.nix b/pkgs/data/fonts/libre-baskerville/default.nix index 18f236068a2..f5e6083f944 100644 --- a/pkgs/data/fonts/libre-baskerville/default.nix +++ b/pkgs/data/fonts/libre-baskerville/default.nix @@ -1,19 +1,21 @@ -{ stdenv, fetchzip }: +{ lib, fetchFromGitHub }: -fetchzip rec { +fetchFromGitHub rec { name = "libre-baskerville-1.000"; - url = https://github.com/impallari/Libre-Baskerville/archive/2fba7c8e0a8f53f86efd3d81bc4c63674b0c613f.zip; + owner = "impallari"; + repo = "Libre-Baskerville"; + rev = "2fba7c8e0a8f53f86efd3d81bc4c63674b0c613f"; postFetch = '' - mkdir -p $out/share/{doc,fonts} - unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype - unzip -n -j $downloadedFile \*README.md \*FONTLOG.txt -d "$out/share/doc/${name}" + tar xf $downloadedFile --strip=1 + install -m444 -Dt $out/share/fonts/truetype *.ttf + install -m444 -Dt $out/share/doc/${name} README.md FONTLOG.txt ''; - sha256 = "0arlq89b3vmpw3n4wbllsdvqblhz6p09dm19z1cndicmcgk26w2a"; + sha256 = "1kpji85d1mgwq8b4fh1isznrhsrv32la3wf058rwjmhx5a3l7yaj"; - meta = with stdenv.lib; { + meta = with lib; { description = "A webfont family optimized for body text"; longDescription = '' Libre Baskerville is a webfont family optimized for body text. It's Based diff --git a/pkgs/data/fonts/libre-bodoni/default.nix b/pkgs/data/fonts/libre-bodoni/default.nix index 96f366973f0..e55d5030741 100644 --- a/pkgs/data/fonts/libre-bodoni/default.nix +++ b/pkgs/data/fonts/libre-bodoni/default.nix @@ -1,19 +1,21 @@ -{ stdenv, fetchzip }: +{ lib, fetchFromGitHub }: -fetchzip rec { +fetchFromGitHub rec { name = "libre-bodoni-2.000"; - url = https://github.com/impallari/Libre-Bodoni/archive/995a40e8d6b95411d660cbc5bb3f726ffd080c7d.zip; + owner = "impallari"; + repo = "Libre-Bodoni"; + rev = "995a40e8d6b95411d660cbc5bb3f726ffd080c7d"; postFetch = '' - mkdir -p $out/share/{doc,fonts} - unzip -j $downloadedFile \*/v2000\ -\ initial\ glyphs\ migration/OTF/\*.otf -d $out/share/fonts/opentype - unzip -j $downloadedFile \*README.md \*FONTLOG.txt -d "$out/share/doc/${name}" + tar xf $downloadedFile --strip=1 + install -m444 -Dt $out/share/fonts/opentype */v2000\ -\ initial\ glyphs\ migration/OTF/*.otf + install -m444 -Dt $out/share/doc/${name} README.md FONTLOG.txt ''; - sha256 = "0pnb1xydpvcl9mkz095f566kz7yj061wbf40rwrbwmk706f6bsiw"; + sha256 = "0my0i5a7f0d27m6dcdirjmlcnswqqfp8gl3ccxa5f2wkn3qlzkvz"; - meta = with stdenv.lib; { + meta = with lib; { description = "Bodoni fonts adapted for today's web requirements"; longDescription = '' The Libre Bodoni fonts are based on the 19th century Morris Fuller diff --git a/pkgs/data/fonts/libre-caslon/default.nix b/pkgs/data/fonts/libre-caslon/default.nix index ec932ab978c..7a68c9deb5a 100644 --- a/pkgs/data/fonts/libre-caslon/default.nix +++ b/pkgs/data/fonts/libre-caslon/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "libre-caslon-${version}"; + pname = "libre-caslon"; version = "1.002"; srcs = [ @@ -26,10 +26,10 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/share/fonts/opentype - mkdir -p $out/share/doc/${name} + mkdir -p $out/share/doc/${pname}-${version} cp -v "libre-caslon-text-${version}-src/fonts/OTF/"*.otf $out/share/fonts/opentype/ cp -v "libre-caslon-display-${version}-src/fonts/OTF/"*.otf $out/share/fonts/opentype/ - cp -v libre-caslon-text-${version}-src/README.md libre-caslon-text-${version}-src/FONTLOG.txt $out/share/doc/${name} + cp -v libre-caslon-text-${version}-src/README.md libre-caslon-text-${version}-src/FONTLOG.txt $out/share/doc/${pname}-${version} ''; outputHashAlgo = "sha256"; diff --git a/pkgs/data/fonts/libre-franklin/default.nix b/pkgs/data/fonts/libre-franklin/default.nix index 9ca37e35640..97832ab5651 100644 --- a/pkgs/data/fonts/libre-franklin/default.nix +++ b/pkgs/data/fonts/libre-franklin/default.nix @@ -1,19 +1,21 @@ -{ stdenv, fetchzip }: +{ lib, fetchFromGitHub }: -fetchzip rec { +fetchFromGitHub rec { name = "libre-franklin-1.014"; - url = https://github.com/impallari/Libre-Franklin/archive/006293f34c47bd752fdcf91807510bc3f91a0bd3.zip; + owner = "impallari"; + repo = "Libre-Franklin"; + rev = "006293f34c47bd752fdcf91807510bc3f91a0bd3"; postFetch = '' - mkdir -p $out/share/{doc,fonts} - unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype - unzip -j $downloadedFile \*README.md \*FONTLOG.txt -d "$out/share/doc/${name}" + tar xf $downloadedFile --strip=1 + install -m444 -Dt $out/share/fonts/opentype */OTF/*.otf + install -m444 -Dt $out/share/doc/${name} README.md FONTLOG.txt ''; - sha256 = "1rkjp8x62cn4alw3lp7m45q34bih81j2hg15kg5c1nciyqq1qz0z"; + sha256 = "0aq280m01pbirkzga432340aknf2m5ggalw0yddf40sqz7falykf"; - meta = with stdenv.lib; { + meta = with lib; { description = "A reinterpretation and expansion based on the 1912 Morris Fuller Benton’s classic."; homepage = https://github.com/impallari/Libre-Franklin; license = licenses.ofl; diff --git a/pkgs/data/fonts/lm-math/default.nix b/pkgs/data/fonts/lm-math/default.nix index 348373b8927..8df851cb9df 100644 --- a/pkgs/data/fonts/lm-math/default.nix +++ b/pkgs/data/fonts/lm-math/default.nix @@ -1,26 +1,20 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: -stdenv.mkDerivation rec { - name = "latinmodern-math-${version}"; +let version = "1.959"; +in fetchzip rec { + name = "latinmodern-math-${version}"; - src = fetchzip { - url = "www.gust.org.pl/projects/e-foundry/lm-math/download/latinmodern-math-1959.zip"; - sha256 = "15l3lxjciyjmbh0q6jjvzz16ibk4ij79in9fs47qhrfr2wrddpvs"; - }; - - installPhase = '' + url = "http://www.gust.org.pl/projects/e-foundry/lm-math/download/latinmodern-math-1959.zip"; + postFetch = '' mkdir -p $out/share/fonts/opentype/ mkdir -p $out/share/doc/${name}/ - cp otf/*.otf $out/share/fonts/opentype/ - cp doc/*.txt $out/share/doc/${name}/ + unzip -f $downloadedFile otf/*.otf -d $out/share/fonts/opentype/ + unzip -f $downloadedFile doc/*.txt -d $out/share/doc/${name}/ ''; + sha256 = "05k145bxgxjh7i9gx1ahigxfpc2v2vwzsy2mc41jvvg51kjr8fnn"; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "05k145bxgxjh7i9gx1ahigxfpc2v2vwzsy2mc41jvvg51kjr8fnn"; - - meta = with stdenv.lib; { + meta = with lib; { description = "The Latin Modern Math (LM Math) font completes the modernization of the Computer Modern family of typefaces designed and programmed by Donald E. Knuth."; homepage = http://www.gust.org.pl/projects/e-foundry/lm-math; # "The Latin Modern Math font is licensed under the GUST Font License (GFL), diff --git a/pkgs/data/fonts/lmodern/default.nix b/pkgs/data/fonts/lmodern/default.nix index c408aae9c0e..1b277a0691c 100644 --- a/pkgs/data/fonts/lmodern/default.nix +++ b/pkgs/data/fonts/lmodern/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ fetchzip }: fetchzip { name = "lmodern-2.004.5"; @@ -21,7 +21,6 @@ fetchzip { meta = { description = "Latin Modern font"; - platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/data/fonts/lmodern/lmmath.nix b/pkgs/data/fonts/lmodern/lmmath.nix index c6e0788eed3..679f5200213 100644 --- a/pkgs/data/fonts/lmodern/lmmath.nix +++ b/pkgs/data/fonts/lmodern/lmmath.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ fetchzip }: fetchzip { name = "lmmath-0.903"; @@ -21,7 +21,6 @@ fetchzip { meta = { description = "Latin Modern font"; - platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/data/fonts/lobster-two/default.nix b/pkgs/data/fonts/lobster-two/default.nix index 850fd1a1f94..773b53c8892 100644 --- a/pkgs/data/fonts/lobster-two/default.nix +++ b/pkgs/data/fonts/lobster-two/default.nix @@ -50,15 +50,15 @@ let in stdenv.mkDerivation rec { - name = "lobstertwo-${version}"; + pname = "lobstertwo"; version = "1.006"; phases = ["installPhase"]; installPhase = '' mkdir -p $out/share/fonts/opentype - mkdir -p $out/share/doc/${name} - cp -v ${fontlog.file} $out/share/doc/${name}/${fontlog.name} + mkdir -p $out/share/doc/${pname}-${version} + cp -v ${fontlog.file} $out/share/doc/${pname}-${version}/${fontlog.name} cp -v ${bold.file} $out/share/fonts/opentype/${bold.name} cp -v ${boldItalic.file} $out/share/fonts/opentype/${boldItalic.name} cp -v ${italic.file} $out/share/fonts/opentype/${italic.name} @@ -70,10 +70,11 @@ in outputHash = "0if9l8pzwgfnbdjg5yblcy08dwn9yj3wzz29l0fycia46xlzd4ym"; meta = with stdenv.lib; { - homepage = http://www.impallari.com/lobstertwo; + homepage = https://github.com/librefonts/lobstertwo; description = "Script font with many ligatures"; license = licenses.ofl; platforms = platforms.all; maintainers = [maintainers.rycee]; + broken = true; # googlecode.com RIP; can be built from sources }; } diff --git a/pkgs/data/fonts/lohit-fonts/default.nix b/pkgs/data/fonts/lohit-fonts/default.nix index c847b4cdd27..0e8b1f8fe4d 100644 --- a/pkgs/data/fonts/lohit-fonts/default.nix +++ b/pkgs/data/fonts/lohit-fonts/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip, lib }: +{ fetchzip, lib }: let fonts = { assamese = { label = "Assamese"; version = "2.91.5"; sha256 = "06cw416kgw0m6883n5ixmpniinsd747rdmacf06z83w1hqwj2js6"; }; @@ -51,7 +51,6 @@ let # Set a non-zero priority to allow easy overriding of the # fontconfig configuration files. priority = 5; - platforms = stdenv.lib.platforms.unix; }; }; diff --git a/pkgs/data/fonts/manrope/default.nix b/pkgs/data/fonts/manrope/default.nix new file mode 100644 index 00000000000..9dce73a28aa --- /dev/null +++ b/pkgs/data/fonts/manrope/default.nix @@ -0,0 +1,23 @@ +{ lib, fetchFromGitHub }: + +let + pname = "manrope"; + version = "3"; +in fetchFromGitHub { + name = "${pname}-${version}"; + owner = "sharanda"; + repo = pname; + rev = "3bd68c0c325861e32704470a90dfc1868a5c37e9"; + sha256 = "1h4chkfbp75hrrqqarf28ld4yb7hfrr7q4w5yz96ivg94lbwlnld"; + postFetch = '' + tar xf $downloadedFile --strip=1 + install -Dm644 -t $out/share/fonts/opentype "desktop font"/* + ''; + meta = with lib; { + description = "Open-source modern sans-serif font family"; + homepage = https://github.com/sharanda/manrope; + license = licenses.ofl; + platforms = platforms.all; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/data/fonts/marathi-cursive/default.nix b/pkgs/data/fonts/marathi-cursive/default.nix index 48b2f4c516b..60c77dddc8d 100644 --- a/pkgs/data/fonts/marathi-cursive/default.nix +++ b/pkgs/data/fonts/marathi-cursive/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip, p7zip }: +{ lib, fetchzip, p7zip }: let version = "1.2"; @@ -11,15 +11,13 @@ in fetchzip rec { ${p7zip}/bin/7z x $downloadedFile cd MarathiCursive - mkdir -p $out/share/fonts/marathi-cursive - cp -v *.otf *.ttf $out/share/fonts/marathi-cursive - mkdir -p $out/share/doc/${name} - cp -v README *.txt $out/share/doc/${name} + install -m444 -Dt $out/share/fonts/marathi-cursive *.otf *.ttf + install -m444 -Dt $out/share/doc/${name} README *.txt ''; - sha256 = "0fhz2ixrkm523qlx5pnwyzxgb1cfiiwrhls98xg8a5l3sypn1g8v"; + sha256 = "0wq4w79x8r5w6ikm9amcmapf0jcdgifs9zf1pbnw3fk4ncz5s551"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://github.com/MihailJP/MarathiCursive; description = "Modi script font with Graphite and OpenType support"; maintainers = with maintainers; [ mathnerd314 ]; diff --git a/pkgs/data/fonts/material-design-icons/default.nix b/pkgs/data/fonts/material-design-icons/default.nix index 432bbaa78db..1c36d0f57fe 100644 --- a/pkgs/data/fonts/material-design-icons/default.nix +++ b/pkgs/data/fonts/material-design-icons/default.nix @@ -1,17 +1,15 @@ -{ stdenv, fetchFromGitHub }: +{ lib, fetchFromGitHub }: -stdenv.mkDerivation rec { - name = "material-design-icons-${version}"; +let version = "3.3.92"; +in fetchFromGitHub { + name = "material-design-icons-${version}"; + owner = "Templarian"; + repo = "MaterialDesign-Webfont"; + rev = "v${version}"; - src = fetchFromGitHub { - owner = "Templarian"; - repo = "MaterialDesign-Webfont"; - rev = "v${version}"; - sha256 = "0k8pv2nsp3al4i4awx5mv7cscpm8akjn567jl9dwzangcsai0l53"; - }; - - installPhase = '' + postFetch = '' + tar xf $downloadedFile --strip=1 mkdir -p $out/share/fonts/{eot,svg,truetype,woff,woff2} cp fonts/*.eot $out/share/fonts/eot/ cp fonts/*.svg $out/share/fonts/svg/ @@ -19,8 +17,9 @@ stdenv.mkDerivation rec { cp fonts/*.woff $out/share/fonts/woff/ cp fonts/*.woff2 $out/share/fonts/woff2/ ''; + sha256 = "0dbm4qfd0b91yrw3cv4i377pnm98fgj936nk1m5wlx8mx8jahz48"; - meta = with stdenv.lib; { + meta = with lib; { description = "3200+ Material Design Icons from the Community"; longDescription = '' Material Design Icons' growing icon collection allows designers and diff --git a/pkgs/data/fonts/material-icons/default.nix b/pkgs/data/fonts/material-icons/default.nix index ea44c9c79b1..0126fbac225 100644 --- a/pkgs/data/fonts/material-icons/default.nix +++ b/pkgs/data/fonts/material-icons/default.nix @@ -1,22 +1,22 @@ -{ stdenv, fetchFromGitHub }: +{ lib, fetchFromGitHub }: -stdenv.mkDerivation rec { - name = "material-icons-${version}"; +let version = "3.0.1"; +in fetchFromGitHub { + name = "material-icons-${version}"; - src = fetchFromGitHub { - owner = "google"; - repo = "material-design-icons"; - rev = "${version}"; - sha256 = "17q5brcqyyc8gbjdgpv38p89s60cwxjlwy2ljnrvas5cj0s62np0"; - }; + owner = "google"; + repo = "material-design-icons"; + rev = version; - buildCommand = '' + postFetch = '' + tar xf $downloadedFile --strip=1 mkdir -p $out/share/fonts/truetype - cp $src/iconfont/*.ttf $out/share/fonts/truetype + cp iconfont/*.ttf $out/share/fonts/truetype ''; + sha256 = "1syy6v941lb8nqxhdf7mfx28v05lwrfnq53r3c1ym13x05l9kchp"; - meta = with stdenv.lib; { + meta = with lib; { description = "System status icons by Google, featuring material design"; homepage = https://material.io/icons; license = licenses.asl20; diff --git a/pkgs/data/fonts/medio/default.nix b/pkgs/data/fonts/medio/default.nix index aa805b6f082..024e6049a38 100644 --- a/pkgs/data/fonts/medio/default.nix +++ b/pkgs/data/fonts/medio/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let majorVersion = "0"; @@ -17,7 +17,7 @@ fetchzip rec { unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype/${pname} ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "http://dotcolon.net/font/${pname}/"; description = "Serif font designed by Sora Sagano"; longDescription = '' diff --git a/pkgs/data/fonts/meslo-lg/default.nix b/pkgs/data/fonts/meslo-lg/default.nix index f990575def0..a041f9ce907 100644 --- a/pkgs/data/fonts/meslo-lg/default.nix +++ b/pkgs/data/fonts/meslo-lg/default.nix @@ -3,17 +3,17 @@ stdenv.mkDerivation rec { version = "1.2.1"; - name = "meslo-lg-${version}"; + pname = "meslo-lg"; meslo-lg = fetchurl { url="https://github.com/andreberg/Meslo-Font/blob/master/dist/v${version}/Meslo%20LG%20v${version}.zip?raw=true"; - name="${name}"; + name="${pname}-${version}"; sha256="1l08mxlzaz3i5bamnfr49s2k4k23vdm64b8nz2ha33ysimkbgg6h"; }; meslo-lg-dz = fetchurl { url="https://github.com/andreberg/Meslo-Font/blob/master/dist/v${version}/Meslo%20LG%20DZ%20v${version}.zip?raw=true"; - name="${name}-dz"; + name="${pname}-${version}-dz"; sha256="0lnbkrvcpgz9chnvix79j6fiz36wj6n46brb7b1746182rl1l875"; }; diff --git a/pkgs/data/fonts/migmix/default.nix b/pkgs/data/fonts/migmix/default.nix index 14b08e140ea..8a089ea9e79 100644 --- a/pkgs/data/fonts/migmix/default.nix +++ b/pkgs/data/fonts/migmix/default.nix @@ -1,33 +1,32 @@ { stdenv, fetchzip }: stdenv.mkDerivation rec { - name = "migmix-${version}"; + pname = "migmix"; version = "20150712"; srcs = [ (fetchzip { - url = "mirror://sourceforgejp/mix-mplus-ipa/63544/migmix-1p-${version}.zip"; + url = "mirror://osdn/mix-mplus-ipa/63544/migmix-1p-${version}.zip"; sha256 = "0wp44axcalaak04nj3dgpx0vk13nqa3ihx2vjv4acsgv83x8ciph"; }) (fetchzip { - url = "mirror://sourceforgejp/mix-mplus-ipa/63544/migmix-2p-${version}.zip"; + url = "mirror://osdn/mix-mplus-ipa/63544/migmix-2p-${version}.zip"; sha256 = "0y7s3rbxrp5bv56qgihk8b847lqgibfhn2wlkzx7z655fbzdgxw9"; }) (fetchzip { - url = "mirror://sourceforgejp/mix-mplus-ipa/63544/migmix-1m-${version}.zip"; + url = "mirror://osdn/mix-mplus-ipa/63544/migmix-1m-${version}.zip"; sha256 = "1sfym0chy8ilyd9sr3mjc0bf63vc33p05ynpdc11miivxn4qsshx"; }) (fetchzip { - url = "mirror://sourceforgejp/mix-mplus-ipa/63544/migmix-2m-${version}.zip"; + url = "mirror://osdn/mix-mplus-ipa/63544/migmix-2m-${version}.zip"; sha256 = "0hg04rvm39fh4my4akmv4rhfc14s3ipz2aw718h505k9hppkhkch"; }) ]; - unpackPhase = ":"; + dontUnpack = true; installPhase = '' - mkdir -p $out/share/fonts/truetype/migmix - find $srcs -name '*.ttf' | xargs install -m644 --target $out/share/fonts/truetype/migmix + find $srcs -name '*.ttf' -exec install -m644 -Dt $out/share/fonts/truetype/migmix {} \; ''; outputHashAlgo = "sha256"; @@ -38,7 +37,6 @@ stdenv.mkDerivation rec { description = "A high-quality Japanese font based on M+ fonts and IPA fonts"; homepage = http://mix-mplus-ipa.osdn.jp/migmix; license = licenses.ipa; - platforms = platforms.unix; maintainers = [ maintainers.mikoim ]; }; } diff --git a/pkgs/data/fonts/migu/default.nix b/pkgs/data/fonts/migu/default.nix index aefaefb337f..775d1766894 100644 --- a/pkgs/data/fonts/migu/default.nix +++ b/pkgs/data/fonts/migu/default.nix @@ -1,29 +1,29 @@ { stdenv, fetchzip }: stdenv.mkDerivation rec { - name = "migu-${version}"; + pname = "migu"; version = "20150712"; srcs = [ (fetchzip { - url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-1p-${version}.zip"; + url = "mirror://osdn/mix-mplus-ipa/63545/migu-1p-${version}.zip"; sha256 = "04wpbk5xbbcv2rzac8yzj4ww7sk2hy2rg8zs96yxc5vzj9q7svf6"; }) (fetchzip { - url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-1c-${version}.zip"; + url = "mirror://osdn/mix-mplus-ipa/63545/migu-1c-${version}.zip"; sha256 = "1k7ymix14ac5fb44bjvbaaf24784zzpyc1jj2280c0zdnpxksyk6"; }) (fetchzip { - url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-1m-${version}.zip"; + url = "mirror://osdn/mix-mplus-ipa/63545/migu-1m-${version}.zip"; sha256 = "07r8id83v92hym21vrqmfsfxb646v8258001pkjhgfnfg1yvw8lm"; }) (fetchzip { - url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-2m-${version}.zip"; + url = "mirror://osdn/mix-mplus-ipa/63545/migu-2m-${version}.zip"; sha256 = "1pvzbrawh43589j8rfxk86y1acjbgzzdy5wllvdkpm1qnx28zwc2"; }) ]; - unpackPhase = ":"; + dontUnpack = true; installPhase = '' find $srcs -name '*.ttf' | xargs install -m644 --target $out/share/fonts/truetype/migu -D @@ -37,7 +37,6 @@ stdenv.mkDerivation rec { description = "A high-quality Japanese font based on modified M+ fonts and IPA fonts"; homepage = http://mix-mplus-ipa.osdn.jp/migu/; license = licenses.ipa; - platforms = platforms.unix; maintainers = [ maintainers.mikoim ]; }; } diff --git a/pkgs/data/fonts/mno16/default.nix b/pkgs/data/fonts/mno16/default.nix new file mode 100644 index 00000000000..2a700be113a --- /dev/null +++ b/pkgs/data/fonts/mno16/default.nix @@ -0,0 +1,21 @@ +{ lib, fetchzip }: + +let + pname = "mno16"; + version = "1.0"; +in fetchzip rec { + name = "${pname}-${version}"; + url = "https://github.com/sevmeyer/${pname}/releases/download/${version}/${name}.zip"; + sha256 = "1x06nl281fcjk6g1p4cgrgxakmwcci6vvasskaygsqlzxd8ig87w"; + + postFetch = '' + mkdir -p $out/share/fonts/truetype + unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype/ + ''; + + meta = with lib; { + description = "minimalist monospaced font"; + homepage = https://sev.dev/fonts/mno16; + license = licenses.cc0; + }; +} diff --git a/pkgs/data/fonts/monoid/default.nix b/pkgs/data/fonts/monoid/default.nix index 77c311ce364..c4cf4f14251 100644 --- a/pkgs/data/fonts/monoid/default.nix +++ b/pkgs/data/fonts/monoid/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, python, fontforge }: stdenv.mkDerivation rec { - name = "monoid-${version}"; + pname = "monoid"; version = "2016-07-21"; src = fetchFromGitHub { @@ -24,15 +24,10 @@ stdenv.mkDerivation rec { ''; installPhase = '' - mkdir -p $out/share/{doc,fonts/truetype} - cp -va _release/* $out/share/fonts/truetype - cp -va Readme.md $out/share/doc + install -m444 -Dt $out/share/fonts/truetype _release/* + install -m444 -Dt $out/share/doc Readme.md ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "0lbipgygiva3gg1pqw07phpnnf0s6ka9vqdk1pw7bkybjw3f7wzm"; - meta = with stdenv.lib; { homepage = http://larsenwork.com/monoid; description = "Customisable coding font with alternates, ligatures and contextual positioning"; diff --git a/pkgs/data/fonts/mononoki/default.nix b/pkgs/data/fonts/mononoki/default.nix index cc481a136ba..658c3bdf20a 100644 --- a/pkgs/data/fonts/mononoki/default.nix +++ b/pkgs/data/fonts/mononoki/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "1.2"; @@ -14,7 +14,7 @@ in fetchzip { sha256 = "19y4xg7ilm21h9yynyrwcafdqn05zknpmmjrb37qim6p0cy2glff"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://github.com/madmalik/mononoki; description = "A font for programming and code review"; license = licenses.ofl; diff --git a/pkgs/data/fonts/montserrat/default.nix b/pkgs/data/fonts/montserrat/default.nix index 7d7be9a41a6..de8ea80b017 100644 --- a/pkgs/data/fonts/montserrat/default.nix +++ b/pkgs/data/fonts/montserrat/default.nix @@ -2,14 +2,14 @@ # # https://aur.archlinux.org/packages/ttf-montserrat/ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "1.0"; in fetchzip { name = "montserrat-${version}"; - url = "http://marvid.fr/~eeva/mirror/Montserrat.tar.gz"; + url = "https://marvid.fr/~eeva/mirror/Montserrat.tar.gz"; postFetch = '' tar -xzf $downloadedFile --strip-components=1 @@ -19,9 +19,9 @@ in fetchzip { sha256 = "11sdgvhaqg59mq71aqwqp2mb428984hjxy7hd1vasia9kgk8259w"; - meta = with stdenv.lib; { + meta = with lib; { description = "A geometric sans serif font with extended latin support (Regular, Alternates, Subrayada)"; - homepage = "http://www.fontspace.com/julieta-ulanovsky/montserrat"; + homepage = "https://www.fontspace.com/julieta-ulanovsky/montserrat"; license = licenses.ofl; platforms = platforms.all; maintainers = with maintainers; [ scolobb ]; diff --git a/pkgs/data/fonts/mph-2b-damase/default.nix b/pkgs/data/fonts/mph-2b-damase/default.nix index 692ad63574f..4230e63360b 100644 --- a/pkgs/data/fonts/mph-2b-damase/default.nix +++ b/pkgs/data/fonts/mph-2b-damase/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ fetchzip }: fetchzip { name = "MPH-2B-Damase-2"; @@ -13,6 +13,5 @@ fetchzip { sha256 = "0yzf12z6fpbgycqwiz88f39iawdhjabadfa14wxar3nhl9n434ql"; meta = { - platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/data/fonts/mplus-outline-fonts/default.nix b/pkgs/data/fonts/mplus-outline-fonts/default.nix index 0fd724149d8..03bc8a0db4d 100644 --- a/pkgs/data/fonts/mplus-outline-fonts/default.nix +++ b/pkgs/data/fonts/mplus-outline-fonts/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let - version = "063"; + version = "063a"; in fetchzip rec { name = "mplus-${version}"; - url = "mirror://sourceforgejp/mplus-fonts/62344/mplus-TESTFLIGHT-${version}.tar.xz"; + url = "mirror://osdn/mplus-fonts/62344/mplus-TESTFLIGHT-${version}.tar.xz"; postFetch = '' tar -xJf $downloadedFile --strip-components=1 @@ -13,11 +13,11 @@ in fetchzip rec { cp *.ttf $out/share/fonts/truetype ''; - sha256 = "0d485l2ihxfk039rrrnfviamlbj13cwky0c752m4ikwvgiqiq94y"; + sha256 = "1khbkch2r96ppifc93bmy1v047pgciyhfmcjb98ggncp5ix885xz"; - meta = with stdenv.lib; { + meta = with lib; { description = "M+ Outline Fonts"; - homepage = http://mplus-fonts.sourceforge.jp/mplus-outline-fonts/index-en.html; + homepage = "https://mplus-fonts.osdn.jp/about-en.html"; license = licenses.mit; maintainers = with maintainers; [ henrytill ]; platforms = platforms.all; diff --git a/pkgs/data/fonts/mro-unicode/default.nix b/pkgs/data/fonts/mro-unicode/default.nix index 8986a9adb7a..bb5a1ed8a9f 100644 --- a/pkgs/data/fonts/mro-unicode/default.nix +++ b/pkgs/data/fonts/mro-unicode/default.nix @@ -3,7 +3,7 @@ fetchzip { name = "mro-unicode-2013-05-25"; - url = "https://github.com/phjamr/MroUnicode/raw/master/MroUnicode-Regular.ttf"; + url = "https://github.com/phjamr/MroUnicode/raw/f297de070f7eba721a47c850e08efc119d3bfbe8/MroUnicode-Regular.ttf"; postFetch = "install -Dm644 $downloadedFile $out/share/fonts/truetype/MroUnicode-Regular.ttf"; diff --git a/pkgs/data/fonts/nahid-fonts/default.nix b/pkgs/data/fonts/nahid-fonts/default.nix new file mode 100644 index 00000000000..b9d9025b2c0 --- /dev/null +++ b/pkgs/data/fonts/nahid-fonts/default.nix @@ -0,0 +1,25 @@ +{ lib, fetchFromGitHub }: + +let + pname = "nahid-fonts"; + version = "0.3.0"; +in fetchFromGitHub { + name = "${pname}-${version}"; + owner = "rastikerdar"; + repo = "nahid-font"; + rev = "v${version}"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/nahid-fonts {} \; + ''; + sha256 = "0df169sibq14j2mj727sq86c00jm1nz8565v85hkvh4zgz2plb7c"; + + meta = with lib; { + homepage = https://github.com/rastikerdar/nahid-font; + description = "A Persian (Farsi) Font - قلم (فونت) فارسی ناهید"; + license = licenses.free; + platforms = platforms.all; + maintainers = [ maintainers.linarcx ]; + }; +} diff --git a/pkgs/data/fonts/nanum-gothic-coding/default.nix b/pkgs/data/fonts/nanum-gothic-coding/default.nix new file mode 100644 index 00000000000..f6b8210290e --- /dev/null +++ b/pkgs/data/fonts/nanum-gothic-coding/default.nix @@ -0,0 +1,25 @@ +{ lib, fetchzip }: + +let + version = "VER2.5"; + fullName = "NanumGothicCoding-2.5"; + +in fetchzip rec { + name = "nanum-gothic-coding"; + url = "https://github.com/naver/nanumfont/releases/download/${version}/${fullName}.zip"; + + postFetch = '' + mkdir -p $out/share/fonts/NanumGothicCoding + unzip -j $downloadedFile \*.ttf -d $out/share/fonts/NanumGothicCoding + ''; + + sha256 = "0b3pkhd6xn6393zi0dhj3ah08w1y1ji9fl6584bi0c8lanamf2pc"; + + meta = with lib; { + description = "A contemporary monospaced sans-serif typeface with a warm touch"; + homepage = https://github.com/naver/nanumfont; + license = licenses.ofl; + platforms = platforms.all; + maintainers = with maintainers; [ linarcx ]; + }; +} diff --git a/pkgs/data/fonts/national-park/default.nix b/pkgs/data/fonts/national-park/default.nix new file mode 100644 index 00000000000..bc8fc8041a8 --- /dev/null +++ b/pkgs/data/fonts/national-park/default.nix @@ -0,0 +1,24 @@ +{ lib, fetchzip }: + +let + pname = "national-park-typeface"; + version = "206464"; +in fetchzip { + name = "${pname}-${version}"; + url = "https://files.cargocollective.com/c${version}/NationalPark.zip"; + + postFetch = '' + mkdir -p $out/share/fonts + unzip -j $downloadedFile National\*.otf -d $out/share/fonts/opentype/ + ''; + + sha256 = "044gh4xcasp8i9ny6z4nmns1am2pk5krc4ann2afq35v9bnl2q5d"; + + meta = with lib; { + description = ''Typeface designed to mimic the national park service + signs that are carved using a router bit''; + homepage = https://nationalparktypeface.com/; + license = licenses.ofl; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/data/fonts/nerdfonts/default.nix b/pkgs/data/fonts/nerdfonts/default.nix index 528055a5e80..59b0f89e45e 100644 --- a/pkgs/data/fonts/nerdfonts/default.nix +++ b/pkgs/data/fonts/nerdfonts/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "2.0.0"; - name = "nerdfonts-${version}"; + pname = "nerdfonts"; src = fetchFromGitHub { owner = "ryanoasis"; repo = "nerd-fonts"; @@ -29,8 +29,7 @@ stdenv.mkDerivation rec { ''; homepage = https://github.com/ryanoasis/nerd-fonts; license = licenses.mit; - maintainers = with maintainers; [ garbas ]; - platforms = with platforms; unix; + maintainers = with maintainers; [ ]; hydraPlatforms = []; # 'Output limit exceeded' on Hydra }; } diff --git a/pkgs/data/fonts/nika-fonts/default.nix b/pkgs/data/fonts/nika-fonts/default.nix new file mode 100644 index 00000000000..c6bdbd40248 --- /dev/null +++ b/pkgs/data/fonts/nika-fonts/default.nix @@ -0,0 +1,25 @@ +{ lib, fetchFromGitHub }: + +let + pname = "nika-fonts"; + version = "1.0.0"; +in fetchFromGitHub rec { + name = "${pname}-${version}"; + owner = "font-store"; + repo = "NikaFont"; + rev = "v${version}"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/nika-fonts {} \; + ''; + sha256 = "1x34b2dqn1dymi1vmj5vrjcy2z8s0f3rr6cniyrz85plvid6x40i"; + + meta = with lib; { + homepage = https://github.com/font-store/NikaFont/; + description = "Persian/Arabic Open Source Font"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = [ maintainers.linarcx ]; + }; +} diff --git a/pkgs/data/fonts/norwester/default.nix b/pkgs/data/fonts/norwester/default.nix index 35d69aa7f07..0de5aa8fdf3 100644 --- a/pkgs/data/fonts/norwester/default.nix +++ b/pkgs/data/fonts/norwester/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "1.2"; @@ -15,7 +15,7 @@ in fetchzip rec { sha256 = "1npsaiiz9g5z6315lnmynwcnrfl37fyxc7w1mhkw1xbzcnv74z4r"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://jamiewilson.io/norwester; description = "A condensed geometric sans serif by Jamie Wilson"; maintainers = with maintainers; [ leenaars ]; diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix index 5043e031c08..0acb8e2c7be 100644 --- a/pkgs/data/fonts/noto-fonts/default.nix +++ b/pkgs/data/fonts/noto-fonts/default.nix @@ -90,7 +90,8 @@ rec { }; }; noto-fonts-emoji = let version = "2018-08-10-unicode11"; in stdenv.mkDerivation { - name = "noto-fonts-emoji-${version}"; + pname = "noto-fonts-emoji"; + inherit version; src = fetchFromGitHub { owner = "googlei18n"; diff --git a/pkgs/data/fonts/noto-fonts/tools.nix b/pkgs/data/fonts/noto-fonts/tools.nix index b5fc13daefa..f4c36f34074 100644 --- a/pkgs/data/fonts/noto-fonts/tools.nix +++ b/pkgs/data/fonts/noto-fonts/tools.nix @@ -1,14 +1,14 @@ { fetchFromGitHub, pythonPackages, lib }: pythonPackages.buildPythonPackage rec { - version = "2017-09-25"; - name = "nototools-${version}"; + pname = "nototools"; + version = "unstable-2019-03-20"; src = fetchFromGitHub { - owner = "googlei18n"; + owner = "googlefonts"; repo = "nototools"; - rev = "v2017-09-25-tooling-for-phase3-update"; - sha256 = "03nzvcvwmrhfrcjhg218q2f3hfrm3vlivp4rk19sc397kh3hisiz"; + rev = "9c4375f07c9adc00c700c5d252df6a25d7425870"; + sha256 = "0z9i23vl6xar4kvbqbc8nznq3s690mqc5zfv280l1c02l5n41smc"; }; propagatedBuildInputs = with pythonPackages; [ fonttools numpy ]; @@ -26,7 +26,6 @@ pythonPackages.buildPythonPackage rec { meta = { description = "Noto fonts support tools and scripts plus web site generation"; license = lib.licenses.asl20; - homepage = https://github.com/googlei18n/nototools; - platforms = lib.platforms.unix; + homepage = https://github.com/googlefonts/nototools; }; } diff --git a/pkgs/data/fonts/office-code-pro/default.nix b/pkgs/data/fonts/office-code-pro/default.nix index 564b950784b..4354725c90c 100644 --- a/pkgs/data/fonts/office-code-pro/default.nix +++ b/pkgs/data/fonts/office-code-pro/default.nix @@ -1,26 +1,23 @@ -{ stdenv, fetchFromGitHub }: +{ lib, fetchFromGitHub }: -stdenv.mkDerivation rec { +let pname = "office-code-pro"; version = "1.004"; +in fetchFromGitHub rec { + name = "${pname}-${version}"; - src = fetchFromGitHub { - owner = "nathco"; - repo = "Office-Code-Pro"; - rev = version; - sha256 = "0znmjjyn5q83chiafy252bhsmw49r2nx2ls2cmhjp4ihidfr6cmb"; - }; + owner = "nathco"; + repo = "Office-Code-Pro"; + rev = version; - installPhase = '' - fontDir=$out/share/fonts/opentype - docDir=$out/share/doc/${pname}-${version} - mkdir -p $fontDir $docDir - install -Dm644 README.md $docDir - install -t $fontDir -m644 'Fonts/Office Code Pro/OTF/'*.otf - install -t $fontDir -m644 'Fonts/Office Code Pro D/OTF/'*.otf + postFetch = '' + tar xf $downloadedFile --strip=1 + install -m644 -Dt $out/share/doc/${name} README.md + install -m444 -Dt $out/share/fonts/opentype 'Fonts/Office Code Pro/OTF/'*.otf 'Fonts/Office Code Pro D/OTF/'*.otf ''; + sha256 = "1bagwcaicn6q8qkqazz6wb3x30y4apmkga0mkv8fh6890hfhywr9"; - meta = with stdenv.lib; { + meta = with lib; { description = "A customized version of Source Code Pro"; longDescription = '' Office Code Pro is a customized version of Source Code Pro, the monospaced @@ -31,6 +28,5 @@ stdenv.mkDerivation rec { homepage = https://github.com/nathco/Office-Code-Pro; license = licenses.ofl; maintainers = [ maintainers.AndersonTorres ]; - platforms = platforms.unix; }; } diff --git a/pkgs/data/fonts/oldsindhi/default.nix b/pkgs/data/fonts/oldsindhi/default.nix index 4e55b5098c8..c2ea6a7180b 100644 --- a/pkgs/data/fonts/oldsindhi/default.nix +++ b/pkgs/data/fonts/oldsindhi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip, p7zip }: +{ lib, fetchzip, p7zip }: let version = "0.1"; @@ -10,15 +10,13 @@ in fetchzip rec { postFetch = '' ${p7zip}/bin/7z x $downloadedFile - mkdir -p $out/share/fonts/truetype - mkdir -p $out/share/doc/${name} - cp -v OldSindhi/*.ttf $out/share/fonts/truetype/ - cp -v OldSindhi/README OldSindhi/*.txt $out/share/doc/${name} + install -m444 -Dt $out/share/fonts/truetype OldSindhi/*.ttf + install -m444 -Dt $out/share/doc/${name} OldSindhi/README OldSindhi/*.txt ''; - sha256 = "1na3lxyz008fji5ln3fqzyr562k6kch1y824byhfs4y0rwwz3f3q"; + sha256 = "0d4l9cg2vmh2pvnqsla8mgcwvc7wjxzcabhlli6633h3ifj2yp7b"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://github.com/MihailJP/oldsindhi; description = "Free Sindhi Khudabadi font"; maintainers = with maintainers; [ mathnerd314 ]; diff --git a/pkgs/data/fonts/oldstandard/default.nix b/pkgs/data/fonts/oldstandard/default.nix index 95f8f3be7d6..cd0d0063efb 100644 --- a/pkgs/data/fonts/oldstandard/default.nix +++ b/pkgs/data/fonts/oldstandard/default.nix @@ -1,29 +1,21 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: -stdenv.mkDerivation rec { - name = "oldstandard-${version}"; +let version = "2.2"; +in fetchzip rec { + name = "oldstandard-${version}"; - src = fetchzip { - stripRoot = false; - url = "https://github.com/akryukov/oldstand/releases/download/v${version}/${name}.otf.zip"; - sha256 = "1hl78jw5szdjq9dhbcv2ln75wpp2lzcxrnfc36z35v5wk4l7jc3h"; - }; + url = "https://github.com/akryukov/oldstand/releases/download/v${version}/${name}.otf.zip"; - phases = [ "unpackPhase" "installPhase" ]; - - installPhase = '' - mkdir -p $out/share/fonts/opentype - mkdir -p $out/share/doc/${name} - cp -v *.otf $out/share/fonts/opentype/ - cp -v FONTLOG.txt $out/share/doc/${name} + postFetch = '' + unzip $downloadedFile + install -m444 -Dt $out/share/fonts/opentype *.otf + install -m444 -Dt $out/share/doc/${name} FONTLOG.txt ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "1qwfsyp51grr56jcnkkmnrnl3r20pmhp9zh9g88kp64m026cah6n"; + sha256 = "1qwfsyp51grr56jcnkkmnrnl3r20pmhp9zh9g88kp64m026cah6n"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://github.com/akryukov/oldstand; description = "An attempt to revive a specific type of Modern style of serif typefaces"; maintainers = with maintainers; [ raskin rycee ]; diff --git a/pkgs/data/fonts/open-dyslexic/default.nix b/pkgs/data/fonts/open-dyslexic/default.nix index 7fa57463ece..8519c346891 100644 --- a/pkgs/data/fonts/open-dyslexic/default.nix +++ b/pkgs/data/fonts/open-dyslexic/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "2016-06-23"; @@ -15,7 +15,7 @@ in fetchzip { sha256 = "1vl8z5rknh2hpr2f0v4b2qgs5kclx5pzyk8al7243k5db82a2cyi"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://opendyslexic.org/; description = "Font created to increase readability for readers with dyslexia"; license = "Bitstream Vera License (https://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts)"; diff --git a/pkgs/data/fonts/open-sans/default.nix b/pkgs/data/fonts/open-sans/default.nix index d8918a6567b..dfe1426d697 100644 --- a/pkgs/data/fonts/open-sans/default.nix +++ b/pkgs/data/fonts/open-sans/default.nix @@ -1,25 +1,23 @@ -{ stdenv, fetchFromGitLab }: +{ lib, fetchFromGitLab }: -stdenv.mkDerivation rec { +let pname = "open-sans"; version = "1.11"; +in fetchFromGitLab rec { + name = "${pname}-${version}"; - src = fetchFromGitLab { - domain = "salsa.debian.org"; - owner = "fonts-team"; - repo = "fonts-open-sans"; - rev = "debian%2F1.11-1"; # URL-encoded form of "debian/1.11-1" tag - sha256 = "077hkvpmk3ghbqyb901w43b2m2a27lh8ddasyx1x7pdwyr2bjjl2"; - }; - - dontBuild = true; - - installPhase = '' + domain = "salsa.debian.org"; + owner = "fonts-team"; + repo = "fonts-open-sans"; + rev = "debian%2F1.11-1"; # URL-encoded form of "debian/1.11-1" tag + postFetch = '' + tar xf $downloadedFile --strip=1 mkdir -p $out/share/fonts/truetype cp *.ttf $out/share/fonts/truetype ''; + sha256 = "146ginwx18z624z582lrnhil8jvi9bjg6843265bgxxrfmf75vhp"; - meta = with stdenv.lib; { + meta = with lib; { description = "Open Sans fonts"; longDescription = '' Open Sans is a humanist sans serif typeface designed by Steve Matteson, diff --git a/pkgs/data/fonts/orbitron/default.nix b/pkgs/data/fonts/orbitron/default.nix index e0ef1ecda81..699345f753e 100644 --- a/pkgs/data/fonts/orbitron/default.nix +++ b/pkgs/data/fonts/orbitron/default.nix @@ -1,23 +1,23 @@ -{ stdenv, fetchzip }: +{ lib, fetchFromGitHub }: let version = "20110526"; -in fetchzip { +in fetchFromGitHub { name = "orbitron-${version}"; - url = https://github.com/theleagueof/orbitron/archive/13e6a52.zip; + owner = "theleagueof"; + repo = "orbitron"; + rev = "13e6a52"; postFetch = '' - otfdir=$out/share/fonts/opentype/orbitron - ttfdir=$out/share/fonts/ttf/orbitron - mkdir -p $otfdir $ttfdir - unzip -j $downloadedFile \*/Orbitron\*.otf -d $otfdir - unzip -j $downloadedFile \*/Orbitron\*.ttf -d $ttfdir + tar xf $downloadedFile --strip=1 + install -m444 -Dt $out/share/fonts/opentype/orbitron *.otf + install -m444 -Dt $out/share/fonts/ttf/orbitron *.ttf ''; sha256 = "1y9yzvpqs2v3ssnqk2iiglrh8amgsscnk8vmfgnqgqi9f4dhdvnv"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://www.theleagueofmoveabletype.com/orbitron; downloadPage = "https://www.theleagueofmoveabletype.com/orbitron/download"; description = '' diff --git a/pkgs/data/fonts/overpass/default.nix b/pkgs/data/fonts/overpass/default.nix index c39bb945f48..4730a67e290 100644 --- a/pkgs/data/fonts/overpass/default.nix +++ b/pkgs/data/fonts/overpass/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "3.0.3"; @@ -14,7 +14,7 @@ in fetchzip rec { sha256 = "1m6p7rrlyqikjvypp4698sn0lp3a4z0z5al4swblfhg8qaxzv5pg"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://overpassfont.org/; description = "Font heavily inspired by Highway Gothic"; license = licenses.ofl; diff --git a/pkgs/data/fonts/oxygenfonts/default.nix b/pkgs/data/fonts/oxygenfonts/default.nix index 109b3c3a0b3..e34e49d9814 100644 --- a/pkgs/data/fonts/oxygenfonts/default.nix +++ b/pkgs/data/fonts/oxygenfonts/default.nix @@ -1,18 +1,21 @@ -{ stdenv, fetchzip }: +{ lib, fetchFromGitHub }: -fetchzip rec { +fetchFromGitHub { name = "oxygenfonts-20160824"; - url = https://github.com/vernnobile/oxygenFont/archive/62db0ebe3488c936406685485071a54e3d18473b.zip; + owner = "vernnobile"; + repo = "oxygenFont"; + rev = "62db0ebe3488c936406685485071a54e3d18473b"; postFetch = '' - mkdir -p $out/share/fonts - unzip -j $downloadedFile '*/Oxygen-Sans.ttf' '*/Oxygen-Sans-Bold.ttf' '*/OxygenMono-Regular.ttf' -d $out/share/fonts/truetype + tar xf $downloadedFile --strip=1 + mkdir -p $out/share/fonts/truetype + cp */Oxygen-Sans.ttf */Oxygen-Sans-Bold.ttf */OxygenMono-Regular.ttf $out/share/fonts/truetype ''; sha256 = "17m86p1s7a7d90zqjsr46h5bpmas4vxsgj7kd0j5c8cb7lw92jyf"; - meta = with stdenv.lib; { + meta = with lib; { description = "Desktop/gui font for integrated use with the KDE desktop"; longDescription = '' Oxygen Font is a font family originally aimed as a desktop/gui diff --git a/pkgs/data/fonts/parastoo-fonts/default.nix b/pkgs/data/fonts/parastoo-fonts/default.nix new file mode 100644 index 00000000000..d02925e3a37 --- /dev/null +++ b/pkgs/data/fonts/parastoo-fonts/default.nix @@ -0,0 +1,26 @@ +{ lib, fetchFromGitHub }: + +let + pname = "parastoo-fonts"; + version = "1.0.0-alpha5"; +in fetchFromGitHub rec { + name = "${pname}-${version}"; + + owner = "rastikerdar"; + repo = "parastoo-font"; + rev = "v${version}"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/parastoo-fonts {} \; + ''; + sha256 = "10jbii6rskcy4akjl5yfcqv4mfwk3nqnx36l6sbxks43va9l04f4"; + + meta = with lib; { + homepage = https://github.com/rastikerdar/parastoo-font; + description = "A Persian (Farsi) Font - فونت ( قلم ) فارسی پرستو"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = [ maintainers.linarcx ]; + }; +} diff --git a/pkgs/data/fonts/paratype-pt/mono.nix b/pkgs/data/fonts/paratype-pt/mono.nix index 6124d0c79b6..e6f0776daea 100644 --- a/pkgs/data/fonts/paratype-pt/mono.nix +++ b/pkgs/data/fonts/paratype-pt/mono.nix @@ -3,7 +3,10 @@ fetchzip rec { name = "paratype-pt-mono"; - url = "http://www.paratype.ru/uni/public/PTMono.zip"; + url = [ + https://company.paratype.com/system/attachments/631/original/ptmono.zip + http://rus.paratype.ru/system/attachments/631/original/ptmono.zip + ]; postFetch = '' mkdir -p $out/share/{doc,fonts} @@ -14,7 +17,7 @@ fetchzip rec { sha256 = "07kl82ngby55khvzsvn831ddpc0q8djgz2y6gsjixkyjfdk2xjjm"; meta = with stdenv.lib; { - homepage = http://www.paratype.ru/public/; + homepage = http://www.paratype.ru/public/; description = "An open Paratype font"; license = "Open Paratype license"; diff --git a/pkgs/data/fonts/paratype-pt/sans.nix b/pkgs/data/fonts/paratype-pt/sans.nix index 499871a4228..1e6610e8e44 100644 --- a/pkgs/data/fonts/paratype-pt/sans.nix +++ b/pkgs/data/fonts/paratype-pt/sans.nix @@ -3,7 +3,10 @@ fetchzip rec { name = "paratype-pt-sans"; - url = "http://www.paratype.ru/uni/public/PTSans.zip"; + url = [ + https://company.paratype.com/system/attachments/629/original/ptsans.zip + http://rus.paratype.ru/system/attachments/629/original/ptsans.zip + ]; postFetch = '' mkdir -p $out/share/{doc,fonts} @@ -14,7 +17,7 @@ fetchzip rec { sha256 = "01fkd417gv98jf3a6zyfi9w2dkqsbddy1vacga2672yf0kh1z1r0"; meta = with stdenv.lib; { - homepage = http://www.paratype.ru/public/; + homepage = http://www.paratype.ru/public/; description = "An open Paratype font"; license = "Open Paratype license"; diff --git a/pkgs/data/fonts/paratype-pt/serif.nix b/pkgs/data/fonts/paratype-pt/serif.nix index 409aaf526f8..f4da6508f08 100644 --- a/pkgs/data/fonts/paratype-pt/serif.nix +++ b/pkgs/data/fonts/paratype-pt/serif.nix @@ -3,7 +3,10 @@ fetchzip rec { name = "paratype-pt-serif"; - url = "http://www.paratype.ru/uni/public/PTSerif.zip"; + url = [ + https://company.paratype.com/system/attachments/634/original/ptserif.zip + http://rus.paratype.ru/system/attachments/634/original/ptserif.zip + ]; postFetch = '' mkdir -p $out/share/{doc,fonts} @@ -14,7 +17,7 @@ fetchzip rec { sha256 = "1iw5qi4ag3yp1lwmi91lb18gr768bqwl46xskaqnkhr9i9qp0v6d"; meta = with stdenv.lib; { - homepage = http://www.paratype.ru/public/; + homepage = http://www.paratype.ru/public/; description = "An open Paratype font"; license = "Open Paratype license"; diff --git a/pkgs/data/fonts/pecita/default.nix b/pkgs/data/fonts/pecita/default.nix index a90ff42a8e2..144ec3bab85 100644 --- a/pkgs/data/fonts/pecita/default.nix +++ b/pkgs/data/fonts/pecita/default.nix @@ -1,9 +1,7 @@ -{ stdenv, fetchurl }: +{ lib, fetchurl }: let - version = "5.4"; - in fetchurl rec { @@ -21,7 +19,7 @@ fetchurl rec { recursiveHash = true; sha256 = "0pwm20f38lcbfkdqkpa2ydpc9kvmdg0ifc4h2dmipsnwbcb5rfwm"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://pecita.eu/police-en.php; description = "Handwritten font with connected glyphs"; license = licenses.ofl; diff --git a/pkgs/data/fonts/penna/default.nix b/pkgs/data/fonts/penna/default.nix index b1244c47bf1..57395c507fe 100644 --- a/pkgs/data/fonts/penna/default.nix +++ b/pkgs/data/fonts/penna/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let majorVersion = "0"; @@ -17,7 +17,7 @@ fetchzip rec { unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype/${pname} ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "http://dotcolon.net/font/${pname}/"; description = "Geometric sans serif designed by Sora Sagano"; longDescription = '' diff --git a/pkgs/data/fonts/poly/default.nix b/pkgs/data/fonts/poly/default.nix index 81fc7b79925..24155f2ea54 100644 --- a/pkgs/data/fonts/poly/default.nix +++ b/pkgs/data/fonts/poly/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { sourceRoot = "."; - unpackPhase = "true"; + dontUnpack = true; installPhase = '' mkdir -p $out/share/fonts/opentype @@ -46,6 +46,5 @@ stdenv.mkDerivation rec { homepage = http://www.fontsquirrel.com/fonts/poly; license = stdenv.lib.licenses.ofl; maintainers = with stdenv.lib.maintainers; [ relrod ]; - platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/data/fonts/powerline-fonts/default.nix b/pkgs/data/fonts/powerline-fonts/default.nix index c932c7f06c0..c8044905a08 100644 --- a/pkgs/data/fonts/powerline-fonts/default.nix +++ b/pkgs/data/fonts/powerline-fonts/default.nix @@ -1,30 +1,24 @@ -{ stdenv, fetchzip}: +{ lib, fetchFromGitHub }: -fetchzip { +fetchFromGitHub { name = "powerline-fonts-2018-11-11"; - url = https://github.com/powerline/fonts/archive/e80e3eba9091dac0655a0a77472e10f53e754bb0.zip; + owner = "powerline"; + repo = "fonts"; + rev = "e80e3eba9091dac0655a0a77472e10f53e754bb0"; postFetch = '' - mkdir -p $out/share/fonts/opentype - unzip -j $downloadedFile '*.otf' -d $out/share/fonts/opentype - - mkdir -p $out/share/fonts/truetype - unzip -j $downloadedFile '*.ttf' -d $out/share/fonts/truetype - - mkdir -p $out/share/fonts/bdf - unzip -j $downloadedFile '*/BDF/*.bdf' -d $out/share/fonts/bdf - - mkdir -p $out/share/fonts/pcf - unzip -j $downloadedFile '*/PCF/*.pcf.gz' -d $out/share/fonts/pcf - - mkdir -p $out/share/fonts/psf - unzip -j $downloadedFile '*/PSF/*.psf.gz' -d $out/share/fonts/psf + tar xf $downloadedFile --strip=1 + find . -name '*.otf' -exec install -Dt $out/share/fonts/opentype {} \; + find . -name '*.ttf' -exec install -Dt $out/share/fonts/truetype {} \; + find . -name '*.bdf' -exec install -Dt $out/share/fonts/bdf {} \; + find . -name '*.pcf.gz' -exec install -Dt $out/share/fonts/pcf {} \; + find . -name '*.psf.gz' -exec install -Dt $out/share/fonts/psf {} \; ''; sha256 = "0irifak86gn7hawzgxcy53s22y215mxc2kjncv37h7q44jsqdqww"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://github.com/powerline/fonts; description = "Patched fonts for Powerline users"; longDescription = '' diff --git a/pkgs/data/fonts/profont/default.nix b/pkgs/data/fonts/profont/default.nix index 0c6eede969f..c28c9283a9b 100644 --- a/pkgs/data/fonts/profont/default.nix +++ b/pkgs/data/fonts/profont/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: fetchzip rec { name = "profont"; - url = "http://tobiasjung.name/downloadfile.php?file=profont-x11.zip"; + url = "http://web.archive.org/web/20160707013914/http://tobiasjung.name/downloadfile.php?file=profont-x11.zip"; postFetch = '' unzip -j $downloadedFile @@ -19,10 +19,10 @@ fetchzip rec { sha256 = "1calqmvrfv068w61f614la8mg8szas6m5i9s0lsmwjhb4qwjyxbw"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://tobiasjung.name; description = "A monospaced font created to be a most readable font for programming"; - maintainers = with stdenv.lib.maintainers; [ myrl ]; + maintainers = with lib.maintainers; [ myrl ]; license = licenses.mit; platforms = platforms.all; }; diff --git a/pkgs/data/fonts/public-sans/default.nix b/pkgs/data/fonts/public-sans/default.nix new file mode 100644 index 00000000000..14c66fb39b2 --- /dev/null +++ b/pkgs/data/fonts/public-sans/default.nix @@ -0,0 +1,24 @@ +{ lib, fetchzip }: + +let + version = "1.005"; +in fetchzip rec { + name = "public-sans-${version}"; + + url = "https://github.com/uswds/public-sans/releases/download/v${version}/public-sans-v${version}.zip"; + + postFetch = '' + mkdir -p $out/share + unzip $downloadedFile fonts/{otf,variable}/\*.\[ot\]tf -d $out/share/ + ''; + + sha256 = "0s0zgszpi12wanl031gi3j24ci9pkbkhvsxc30skx8s1mj99cd7i"; + + meta = with lib; { + description = "A strong, neutral, principles-driven, open source typeface for text or display"; + homepage = https://public-sans.digital.gov/; + license = licenses.ofl; + maintainers = with maintainers; [ dtzWill ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/data/fonts/quattrocento-sans/default.nix b/pkgs/data/fonts/quattrocento-sans/default.nix index 34c8a74a762..429cd80c2fc 100644 --- a/pkgs/data/fonts/quattrocento-sans/default.nix +++ b/pkgs/data/fonts/quattrocento-sans/default.nix @@ -1,11 +1,11 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "2.0"; in fetchzip rec { name = "quattrocento-sans-${version}"; - url = "http://www.impallari.com/media/releases/quattrocento-sans-v${version}.zip"; + url = "http://web.archive.org/web/20170709124317/http://www.impallari.com/media/releases/quattrocento-sans-v${version}.zip"; postFetch = '' mkdir -p $out/share/{fonts,doc} @@ -15,7 +15,7 @@ in fetchzip rec { sha256 = "0g8hnn92ks4y0jbizwj7yfa097lk887wqkqpqjdmc09sd2n44343"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://www.impallari.com/quattrocentosans/; description = "A classic, elegant and sober sans-serif typeface"; license = licenses.ofl; diff --git a/pkgs/data/fonts/quattrocento/default.nix b/pkgs/data/fonts/quattrocento/default.nix index a78001bb4ae..7e268182eef 100644 --- a/pkgs/data/fonts/quattrocento/default.nix +++ b/pkgs/data/fonts/quattrocento/default.nix @@ -1,11 +1,11 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "1.1"; in fetchzip rec { name = "quattrocento-${version}"; - url = "http://www.impallari.com/media/releases/quattrocento-v${version}.zip"; + url = "http://web.archive.org/web/20170707001804/http://www.impallari.com/media/releases/quattrocento-v${version}.zip"; postFetch = '' mkdir -p $out/share/{fonts,doc} @@ -15,7 +15,7 @@ in fetchzip rec { sha256 = "0f8l19y61y20sszn8ni8h9kgl0zy1gyzychg22z5k93ip4h7kfd0"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://www.impallari.com/quattrocento/; description = "A classic, elegant, sober and strong serif typeface"; license = licenses.ofl; diff --git a/pkgs/data/fonts/raleway/default.nix b/pkgs/data/fonts/raleway/default.nix index 009295c5869..7fd6b80b714 100644 --- a/pkgs/data/fonts/raleway/default.nix +++ b/pkgs/data/fonts/raleway/default.nix @@ -1,16 +1,18 @@ -{ stdenv, fetchzip }: +{ lib, fetchFromGitHub }: let version = "2016-08-30"; -in fetchzip { +in fetchFromGitHub { name = "raleway-${version}"; - url = https://github.com/impallari/Raleway/archive/fa27f47b087fc093c6ae11cfdeb3999ac602929a.zip; + owner = "impallari"; + repo = "Raleway"; + rev = "fa27f47b087fc093c6ae11cfdeb3999ac602929a"; postFetch = '' - mkdir -p $out/share/fonts - unzip -j $downloadedFile \*-Original.otf -d $out/share/fonts/opentype - unzip -j $downloadedFile \*.txt \*.md -d $out + tar xf $downloadedFile --strip=1 + find . -name "*-Original.otf" -exec install -Dt $out/share/fonts/opentype {} \; + cp *.txt *.md -d $out ''; sha256 = "16jr7drqg2wib2q48ajlsa7rh1jxjibl1wd4rjndi49vfl463j60"; @@ -33,8 +35,8 @@ in fetchzip { ''; homepage = https://github.com/impallari/Raleway; - license = stdenv.lib.licenses.ofl; + license = lib.licenses.ofl; - maintainers = with stdenv.lib.maintainers; [ Profpatsch ]; + maintainers = with lib.maintainers; [ Profpatsch ]; }; } diff --git a/pkgs/data/fonts/redhat-liberation-fonts/default.nix b/pkgs/data/fonts/redhat-liberation-fonts/default.nix index 0ee2a0c308c..61206ca5d14 100644 --- a/pkgs/data/fonts/redhat-liberation-fonts/default.nix +++ b/pkgs/data/fonts/redhat-liberation-fonts/default.nix @@ -4,7 +4,7 @@ let inherit (python3.pkgs) fonttools; common = - { version, repo, sha256, nativeBuildInputs, postPatch ? null, outputHash }: + { version, repo, sha256, nativeBuildInputs, postPatch ? null }: stdenv.mkDerivation rec { pname = "liberation-fonts"; inherit version; @@ -18,17 +18,15 @@ let inherit nativeBuildInputs postPatch; installPhase = '' - mkdir -p $out/share/fonts/truetype - cp -v $( find . -name '*.ttf') $out/share/fonts/truetype + find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \; - mkdir -p "$out/share/doc/${pname}-${version}" - cp -v AUTHORS ChangeLog COPYING License.txt README "$out/share/doc/${pname}-${version}" || true + install -m444 -Dt $out/share/doc/${pname}-${version} AUTHORS || true + install -m444 -Dt $out/share/doc/${pname}-${version} ChangeLog || true + install -m444 -Dt $out/share/doc/${pname}-${version} COPYING || true + install -m444 -Dt $out/share/doc/${pname}-${version} License.txt || true + install -m444 -Dt $out/share/doc/${pname}-${version} README || true ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - inherit outputHash; - meta = with stdenv.lib; { description = "Liberation Fonts, replacements for Times New Roman, Arial, and Courier New"; longDescription = '' @@ -48,7 +46,6 @@ let maintainers = [ maintainers.raskin ]; - platforms = platforms.unix; }; }; @@ -58,7 +55,6 @@ in { version = "1.07.5"; nativeBuildInputs = [ fontforge ]; sha256 = "1ffl10mf78hx598sy9qr5m6q2b8n3mpnsj73bwixnd4985gsz56v"; - outputHash = "16jn17p22z2vip58aza2dfg1ri31ki6z3hsnmidfqfi7v8k83vq4"; }; liberation_ttf_v2 = common rec { repo = "liberation-fonts"; @@ -70,6 +66,5 @@ in { 'font = ttLib.TTFont(fontfile, recalcTimestamp=False)' ''; sha256 = "14bn1zlhyr4qaz5z2sx4h115pnbd41ix1vky8fxm2lx76xrjjiaa"; - outputHash = "14c0c5n4vzd5y0hf9jkh48h12kkd8hlg94npbmv41j449g6wv6vn"; }; } diff --git a/pkgs/data/fonts/redhat-official/default.nix b/pkgs/data/fonts/redhat-official/default.nix new file mode 100644 index 00000000000..c05b9c69aef --- /dev/null +++ b/pkgs/data/fonts/redhat-official/default.nix @@ -0,0 +1,22 @@ +{ lib, fetchzip }: + +let version = "2.2.0"; in +fetchzip rec { + name = "redhat-official-${version}"; + url = "https://github.com/RedHatOfficial/RedHatFont/archive/${version}.zip"; + + postFetch = '' + mkdir -p $out/share/fonts/opentype + unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype + ''; + + sha256 = "0yb6shgq6jrv3kq9faky66qpdbv4g580c3jl942844grwyngymyj"; + + meta = with lib; { + homepage = https://github.com/RedHatOfficial/RedHatFont; + description = "Red Hat's Open Source Fonts - Red Hat Display and Red Hat Text"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/data/fonts/ricty/default.nix b/pkgs/data/fonts/ricty/default.nix index add2c44cd48..ab794992e45 100644 --- a/pkgs/data/fonts/ricty/default.nix +++ b/pkgs/data/fonts/ricty/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, google-fonts, migu, fontforge, which }: stdenv.mkDerivation rec { - name = "ricty-${version}"; - version = "4.1.0"; + pname = "ricty"; + version = "4.1.1"; src = fetchurl { - url = "http://www.rs.tus.ac.jp/yyusa/ricty/ricty_generator-${version}.sh"; - sha256 = "1cv0xh81fi6zdjb62zqjw46kbc89jvwbyllw1x1xbnpz2il6aavf"; + url = "https://www.rs.tus.ac.jp/yyusa/ricty/ricty_generator-${version}.sh"; + sha256 = "03fngb8f5hl7ifigdm5yljhs4z2x80cq8y8kna86d07ghknhzgw6"; }; unpackPhase = '' @@ -29,9 +29,8 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A high-quality Japanese font based on Inconsolata and Migu 1M"; - homepage = http://www.rs.tus.ac.jp/yyusa/ricty.html; + homepage = https://www.rs.tus.ac.jp/yyusa/ricty.html; license = licenses.unfree; - platforms = platforms.unix; maintainers = [ maintainers.mikoim ]; }; } diff --git a/pkgs/data/fonts/rictydiminished-with-firacode/default.nix b/pkgs/data/fonts/rictydiminished-with-firacode/default.nix index 10d4678de05..2e83d5b12d4 100644 --- a/pkgs/data/fonts/rictydiminished-with-firacode/default.nix +++ b/pkgs/data/fonts/rictydiminished-with-firacode/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, fontforge, pythonFull }: stdenv.mkDerivation rec { - name = "rictydiminished-with-firacode-${version}"; + pname = "rictydiminished-with-firacode"; version = "0.0.1"; src = fetchgit { url = "https://github.com/hakatashi/RictyDiminished-with-FiraCode.git"; @@ -22,8 +22,7 @@ stdenv.mkDerivation rec { ''; installPhase = '' - mkdir -p $out/share/fonts/rictydiminished-with-firacode - cp *.ttf $out/share/fonts/rictydiminished-with-firacode + install -m444 -Dt $out/share/fonts/rictydiminished-with-firacode *.ttf ''; nativeBuildInputs = [ @@ -35,10 +34,6 @@ stdenv.mkDerivation rec { ])) ]; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "09ldviapljn4bb1mcxap2pkz7cq3wr2k2qialbnav5y7ii82acd4"; - meta = with stdenv.lib; { homepage = https://github.com/hakatashi/RictyDiminished-with-FiraCode; description = "The best Japanese programming font meets the awesone ligatures of Firacode"; diff --git a/pkgs/data/fonts/roboto-mono/default.nix b/pkgs/data/fonts/roboto-mono/default.nix index 175acb22d7b..d55e3b753dd 100644 --- a/pkgs/data/fonts/roboto-mono/default.nix +++ b/pkgs/data/fonts/roboto-mono/default.nix @@ -5,7 +5,7 @@ let commit = "883939708704a19a295e0652036369d22469e8dc"; in stdenv.mkDerivation rec { - name = "roboto-mono-${version}"; + pname = "roboto-mono"; version = "2016-01-11"; srcs = [ diff --git a/pkgs/data/fonts/roboto-slab/default.nix b/pkgs/data/fonts/roboto-slab/default.nix index c5ce13ad7ae..548414152dd 100644 --- a/pkgs/data/fonts/roboto-slab/default.nix +++ b/pkgs/data/fonts/roboto-slab/default.nix @@ -5,7 +5,7 @@ let commit = "883939708704a19a295e0652036369d22469e8dc"; in stdenv.mkDerivation rec { - name = "roboto-slab-${version}"; + pname = "roboto-slab"; version = "2016-01-11"; srcs = [ diff --git a/pkgs/data/fonts/roboto/default.nix b/pkgs/data/fonts/roboto/default.nix index 26697c52327..707d31ac531 100644 --- a/pkgs/data/fonts/roboto/default.nix +++ b/pkgs/data/fonts/roboto/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "2.138"; @@ -22,8 +22,8 @@ in fetchzip rec { Chrome OS, and the recommended font for Google’s visual language, Material Design. ''; - license = stdenv.lib.licenses.asl20; - platforms = stdenv.lib.platforms.all; - maintainers = [ stdenv.lib.maintainers.romildo ]; + license = lib.licenses.asl20; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.romildo ]; }; } diff --git a/pkgs/data/fonts/rounded-mgenplus/default.nix b/pkgs/data/fonts/rounded-mgenplus/default.nix index c6cb61b7bd1..43198702492 100644 --- a/pkgs/data/fonts/rounded-mgenplus/default.nix +++ b/pkgs/data/fonts/rounded-mgenplus/default.nix @@ -1,33 +1,19 @@ -{ stdenv, fetchurl, p7zip }: +{ lib, fetchzip, p7zip }: let pname = "rounded-mgenplus"; version = "20150602"; - -in - -stdenv.mkDerivation rec { +in fetchzip rec { name = "${pname}-${version}"; - inherit version; - src = fetchurl { - url = "https://osdn.jp/downloads/users/8/8598/${name}.7z"; - sha256 = "1k15xvzd3s5ppp151wv31wrfq2ri8v96xh7i71i974rxjxj6gspc"; - }; - - nativeBuildInputs = [ p7zip ]; - - phases = [ "unpackPhase" "installPhase" ]; - - unpackPhase = '' - 7z x $src - ''; - - installPhase = '' + url = "https://osdn.jp/downloads/users/8/8598/${name}.7z"; + postFetch = '' + ${p7zip}/bin/7z x $downloadedFile install -m 444 -D -t $out/share/fonts/${pname} ${pname}-*.ttf ''; + sha256 = "0vwdknagdrl5dqwpb1x5lxkbfgvbx8dpg7cb6yamgz71831l05v1"; - meta = with stdenv.lib; { + meta = with lib; { description = "A Japanese font based on Rounded M+ and Noto Sans Japanese"; homepage = http://jikasei.me/font/rounded-mgenplus/; license = licenses.ofl; diff --git a/pkgs/data/fonts/route159/default.nix b/pkgs/data/fonts/route159/default.nix index 892078a1151..1b8d4e60653 100644 --- a/pkgs/data/fonts/route159/default.nix +++ b/pkgs/data/fonts/route159/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let majorVersion = "1"; @@ -17,7 +17,7 @@ fetchzip rec { unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype/${pname} ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "http://dotcolon.net/font/${pname}/"; description = "A weighted sans serif font"; platforms = platforms.all; diff --git a/pkgs/data/fonts/sahel-fonts/default.nix b/pkgs/data/fonts/sahel-fonts/default.nix new file mode 100644 index 00000000000..0b90a43ca3e --- /dev/null +++ b/pkgs/data/fonts/sahel-fonts/default.nix @@ -0,0 +1,26 @@ +{ lib, fetchFromGitHub }: + +let + pname = "sahel-fonts"; + version = "1.0.0-alpha22"; +in fetchFromGitHub rec { + name = "${pname}-${version}"; + + owner = "rastikerdar"; + repo = "sahel-font"; + rev = "v${version}"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/sahel-fonts {} \; + ''; + sha256 = "0vj8ydv50rjanb0favd7rh4r9rv5fl39vqwvzkpgfdcdawn0xjm7"; + + meta = with lib; { + homepage = https://github.com/rastikerdar/sahel-font; + description = "A Persian (farsi) Font - فونت (قلم) فارسی ساحل"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = [ maintainers.linarcx ]; + }; +} diff --git a/pkgs/data/fonts/samim-fonts/default.nix b/pkgs/data/fonts/samim-fonts/default.nix new file mode 100644 index 00000000000..dd4a01c782e --- /dev/null +++ b/pkgs/data/fonts/samim-fonts/default.nix @@ -0,0 +1,26 @@ +{ lib, fetchFromGitHub }: + +let + pname = "samim-fonts"; + version = "3.1.0"; +in fetchFromGitHub rec { + name = "${pname}-${version}"; + + owner = "rastikerdar"; + repo = "samim-font"; + rev = "v${version}"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/samim-fonts {} \; + ''; + sha256 = "0mmhncqg48dp0d7l725dv909zswbkk22dlqzcdfh6k6cgk2gn08q"; + + meta = with lib; { + homepage = https://github.com/rastikerdar/samim-font; + description = "A Persian (Farsi) Font - فونت (قلم) فارسی صمیم"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = [ maintainers.linarcx ]; + }; +} diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix index b8cc43c254a..f46fda0dd31 100644 --- a/pkgs/data/fonts/sarasa-gothic/default.nix +++ b/pkgs/data/fonts/sarasa-gothic/default.nix @@ -1,25 +1,21 @@ -{ stdenv, fetchurl, p7zip }: +{ lib, fetchurl, p7zip }: let - version = "0.6.0"; - sha256 = "08g3kzplp3v8kvni1vzl73fgh03xgfl8pwqyj7vwjihjdr1xfjyz"; + version = "0.8.0"; in fetchurl rec { - inherit sha256; - name = "sarasa-gothic-${version}"; url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z"; + sha256 = "0zafvzrh4180hmz351f1rvs29n8mfxf0qv6mdl7psf1f066dizs6"; recursiveHash = true; downloadToTemp = true; postFetch = '' - ${p7zip}/bin/7z x $downloadedFile - mkdir -p $out/share/fonts - install -m644 *.ttc $out/share/fonts/ + ${p7zip}/bin/7z x $downloadedFile -o$out/share/fonts ''; - meta = with stdenv.lib; { + meta = with lib; { description = "SARASA GOTHIC is a Chinese & Japanese programming font based on Iosevka and Source Han Sans"; homepage = https://github.com/be5invis/Sarasa-Gothic; license = licenses.ofl; diff --git a/pkgs/data/fonts/scheherazade/default.nix b/pkgs/data/fonts/scheherazade/default.nix index b35f537c06b..062b29c9039 100644 --- a/pkgs/data/fonts/scheherazade/default.nix +++ b/pkgs/data/fonts/scheherazade/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "2.100"; @@ -17,7 +17,7 @@ in fetchzip rec { sha256 = "1g5f5f9gzamkq3kqyf7vbzvl4rdj3wmjf6chdrbxksrm3rnb926z"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://software.sil.org/scheherazade/; description = "A font designed in a similar style to traditional Naskh typefaces"; longDescription = '' diff --git a/pkgs/data/fonts/seshat/default.nix b/pkgs/data/fonts/seshat/default.nix index 6b22716f1eb..af3c5dd25ee 100644 --- a/pkgs/data/fonts/seshat/default.nix +++ b/pkgs/data/fonts/seshat/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let majorVersion = "0"; @@ -17,7 +17,7 @@ fetchzip rec { unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype/${pname} ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "http://dotcolon.net/font/${pname}/"; description = "Roman body font designed for main text by Sora Sagano"; longDescription = '' diff --git a/pkgs/data/fonts/shabnam-fonts/default.nix b/pkgs/data/fonts/shabnam-fonts/default.nix new file mode 100644 index 00000000000..89bca56a53e --- /dev/null +++ b/pkgs/data/fonts/shabnam-fonts/default.nix @@ -0,0 +1,26 @@ +{ lib, fetchFromGitHub }: + +let + pname = "shabnam-fonts"; + version = "4.0.0"; +in fetchFromGitHub rec { + name = "${pname}-${version}"; + + owner = "rastikerdar"; + repo = "shabnam-font"; + rev = "v${version}"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/shabnam-fonts {} \; + ''; + sha256 = "0wfyaaj2pq2knz12l7rsc4wc703cbz0r8gkcya5x69p0aixch8ba"; + + meta = with lib; { + homepage = https://github.com/rastikerdar/shabnam-font; + description = "A Persian (Farsi) Font - فونت (قلم) فارسی شبنم"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = [ maintainers.linarcx ]; + }; +} diff --git a/pkgs/data/fonts/shrikhand/default.nix b/pkgs/data/fonts/shrikhand/default.nix index 034c36a63ce..a00036510f5 100644 --- a/pkgs/data/fonts/shrikhand/default.nix +++ b/pkgs/data/fonts/shrikhand/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "2016-03-03"; @@ -11,7 +11,7 @@ in fetchzip { sha256 = "0s54k9cs1g2yz6lwg5gakqb12vg5qkfdz3pc8mh7mib2s6q926hs"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://jonpinhorn.github.io/shrikhand/; description = "A vibrant and playful typeface for both Latin and Gujarati writing systems"; maintainers = with maintainers; [ sternenseemann ]; diff --git a/pkgs/data/fonts/siji/default.nix b/pkgs/data/fonts/siji/default.nix index 99f0d913b85..a0acf78d855 100644 --- a/pkgs/data/fonts/siji/default.nix +++ b/pkgs/data/fonts/siji/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let date = "2016-05-13"; @@ -8,17 +8,19 @@ in fetchzip { url = https://github.com/stark/siji/archive/95369afac3e661cb6d3329ade5219992c88688c1.zip; postFetch = '' - mkdir -p $out/share/fonts - unzip -j $downloadedFile \*.pcf -d $out/share/fonts/pcf + unzip -j $downloadedFile + + install -D *.pcf -t $out/share/fonts/pcf + install -D *.bdf -t $out/share/fonts/bdf ''; - sha256 = "1799hs7zd8w7qyja4mii9ggmrm786az7ldsqwx9mbi51b56ym640"; + sha256 = "1ymcbirdbkqaf0xs2y00l0wachb4yxh1fgqm5avqwvccs0lsfj1d"; meta = { homepage = https://github.com/stark/siji; description = "An iconic bitmap font based on Stlarch with additional glyphs"; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.all; - maintainers = [ stdenv.lib.maintainers.asymmetric ]; + license = lib.licenses.gpl2; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.asymmetric ]; }; } diff --git a/pkgs/data/fonts/source-code-pro/default.nix b/pkgs/data/fonts/source-code-pro/default.nix index 6c3b9035306..be4d045815c 100644 --- a/pkgs/data/fonts/source-code-pro/default.nix +++ b/pkgs/data/fonts/source-code-pro/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "2.030"; @@ -16,9 +16,9 @@ in fetchzip { meta = { description = "A set of monospaced OpenType fonts designed for coding environments"; - maintainers = with stdenv.lib.maintainers; [ relrod ]; - platforms = with stdenv.lib.platforms; all; + maintainers = with lib.maintainers; [ relrod ]; + platforms = with lib.platforms; all; homepage = https://adobe-fonts.github.io/source-code-pro/; - license = stdenv.lib.licenses.ofl; + license = lib.licenses.ofl; }; } diff --git a/pkgs/data/fonts/source-han-code-jp/default.nix b/pkgs/data/fonts/source-han-code-jp/default.nix index fc016a457c2..85f5cddd2ea 100644 --- a/pkgs/data/fonts/source-han-code-jp/default.nix +++ b/pkgs/data/fonts/source-han-code-jp/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let pname = "source-han-code-jp"; @@ -17,9 +17,9 @@ in fetchzip { meta = { description = "A monospaced Latin font suitable for coding"; - maintainers = with stdenv.lib.maintainers; [ mt-caret ]; - platforms = with stdenv.lib.platforms; all; + maintainers = with lib.maintainers; [ mt-caret ]; + platforms = with lib.platforms; all; homepage = https://blogs.adobe.com/CCJKType/2015/06/source-han-code-jp.html; - license = stdenv.lib.licenses.ofl; + license = lib.licenses.ofl; }; } diff --git a/pkgs/data/fonts/source-han-sans/default.nix b/pkgs/data/fonts/source-han-sans/default.nix index dc0d3175851..87e24c0e23c 100644 --- a/pkgs/data/fonts/source-han-sans/default.nix +++ b/pkgs/data/fonts/source-han-sans/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let makePackage = {variant, language, region, sha256}: let @@ -19,9 +19,8 @@ let meta = { description = "${language} subset of an open source Pan-CJK sans-serif typeface"; homepage = https://github.com/adobe-fonts/source-han-sans; - license = stdenv.lib.licenses.ofl; - platforms = stdenv.lib.platforms.unix; - maintainers = with stdenv.lib.maintainers; [ taku0 ]; + license = lib.licenses.ofl; + maintainers = with lib.maintainers; [ taku0 ]; }; }; in diff --git a/pkgs/data/fonts/source-han-serif/default.nix b/pkgs/data/fonts/source-han-serif/default.nix index ac85d31d331..bb5a67c8306 100644 --- a/pkgs/data/fonts/source-han-serif/default.nix +++ b/pkgs/data/fonts/source-han-serif/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let makePackage = {variant, language, region, sha256}: let @@ -19,9 +19,8 @@ let meta = { description = "${language} subset of an open source Pan-CJK serif typeface"; homepage = https://github.com/adobe-fonts/source-han-sans; - license = stdenv.lib.licenses.ofl; - platforms = stdenv.lib.platforms.unix; - maintainers = with stdenv.lib.maintainers; [ taku0 ]; + license = lib.licenses.ofl; + maintainers = with lib.maintainers; [ taku0 ]; }; }; in diff --git a/pkgs/data/fonts/source-sans-pro/default.nix b/pkgs/data/fonts/source-sans-pro/default.nix index 84360dec5d4..bea5fea0f9d 100644 --- a/pkgs/data/fonts/source-sans-pro/default.nix +++ b/pkgs/data/fonts/source-sans-pro/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: fetchzip { name = "source-sans-pro-2.045"; @@ -14,7 +14,7 @@ fetchzip { sha256 = "0xjdp226ybdcfylbpfsdgnz2bf4pj4qv1wfs6fv22hjxlzqfixf3"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://adobe-fonts.github.io/source-sans-pro/; description = "A set of OpenType fonts designed by Adobe for UIs"; license = licenses.ofl; diff --git a/pkgs/data/fonts/source-serif-pro/default.nix b/pkgs/data/fonts/source-serif-pro/default.nix index cdfe1e3f187..87484a99b11 100644 --- a/pkgs/data/fonts/source-serif-pro/default.nix +++ b/pkgs/data/fonts/source-serif-pro/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "2.010"; @@ -16,7 +16,7 @@ in fetchzip { sha256 = "1a3lmqk7hyxpfkb30s9z73lhs823dmq6xr5llp9w23g6bh332x2h"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://adobe-fonts.github.io/source-serif-pro/; description = "A set of OpenType fonts to complement Source Sans Pro"; license = licenses.ofl; diff --git a/pkgs/data/fonts/spleen/default.nix b/pkgs/data/fonts/spleen/default.nix new file mode 100644 index 00000000000..873528b8bde --- /dev/null +++ b/pkgs/data/fonts/spleen/default.nix @@ -0,0 +1,28 @@ +{ lib, fetchurl }: + +let + pname = "spleen"; + version = "1.0.5"; +in fetchurl rec { + name = "${pname}-${version}"; + url = "https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz"; + + downloadToTemp = true; + recursiveHash = true; + postFetch = '' + tar xf $downloadedFile --strip=1 + d="$out/share/fonts/X11/misc/spleen" + gzip -n9 *.pcf + install -Dm644 *.pcf.gz -t $d + install -Dm644 *.bdf -t $d + install -m644 fonts.alias-spleen $d/fonts.alias + ''; + sha256 = "0144a0lkkl5qx0a8sapymcayj5lp5cs9nfgpbmg3427n41pkqfbb"; + + meta = with lib; { + description = "Monospaced bitmap fonts"; + homepage = https://www.cambus.net/spleen-monospaced-bitmap-fonts; + license = licenses.bsd2; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/data/fonts/stix-otf/default.nix b/pkgs/data/fonts/stix-otf/default.nix index 1ae85da3f7f..f5d15439079 100644 --- a/pkgs/data/fonts/stix-otf/default.nix +++ b/pkgs/data/fonts/stix-otf/default.nix @@ -1,11 +1,11 @@ -{stdenv, fetchzip}: +{ lib, fetchzip }: let version = "1.1.1"; in fetchzip rec { name = "stix-otf-${version}"; - url = "mirror://sourceforge/stixfonts/STIXv${version}-word.zip"; + url = "http://ftp.fi.muni.cz/pub/linux/gentoo/distfiles/STIXv${version}-word.zip"; postFetch = '' mkdir -p $out/share/fonts @@ -14,7 +14,7 @@ in fetchzip rec { sha256 = "04d4qxq3i9fyapsmxk6d9v1xirjam8c74fyxs6n24d3gf2945zmw"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://www.stixfonts.org/; description = "Fonts for Scientific and Technical Information eXchange"; license = licenses.ofl; diff --git a/pkgs/data/fonts/stix-two/default.nix b/pkgs/data/fonts/stix-two/default.nix index f535c0d7e7b..1d5ed37767c 100644 --- a/pkgs/data/fonts/stix-two/default.nix +++ b/pkgs/data/fonts/stix-two/default.nix @@ -5,11 +5,11 @@ let in fetchzip { name = "stix-two-${version}"; - url = "mirror://sourceforge/stixfonts/Current%20Release/STIXv${version}.zip"; + url = "https://github.com/stipub/stixfonts/archive/${version}.zip"; postFetch = '' mkdir -p $out/share/fonts - unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype + unzip -j $downloadedFile '*/OTF/*.otf' -d $out/share/fonts/opentype ''; sha256 = "19i30d2xjk52bjj7xva1hnlyh58yd5phas1njcc8ldcz87a1lhql"; diff --git a/pkgs/data/fonts/sudo/default.nix b/pkgs/data/fonts/sudo/default.nix index 7652f593db4..bfc66a77207 100644 --- a/pkgs/data/fonts/sudo/default.nix +++ b/pkgs/data/fonts/sudo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "0.37"; @@ -11,7 +11,7 @@ in fetchzip rec { mkdir -p $out/share/fonts/truetype/ unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype/ ''; - meta = with stdenv.lib; { + meta = with lib; { description = "Font for programmers and command line users"; homepage = https://www.kutilek.de/sudo-font/; license = licenses.ofl; diff --git a/pkgs/data/fonts/tamsyn/default.nix b/pkgs/data/fonts/tamsyn/default.nix new file mode 100644 index 00000000000..380024e7e1a --- /dev/null +++ b/pkgs/data/fonts/tamsyn/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchurl, mkfontdir, mkfontscale }: + +let + version = "1.11"; +in stdenv.mkDerivation { + pname = "tamsyn-font"; + inherit version; + + src = fetchurl { + url = "http://www.fial.com/~scott/tamsyn-font/download/tamsyn-font-${version}.tar.gz"; + sha256 = "0kpjzdj8sv5871b8827mjgj9dswk75h94jj5iia2bds18ih1pglp"; + }; + + nativeBuildInputs = [ mkfontdir mkfontscale ]; + + unpackPhase = '' + tar -xzf $src --strip-components=1 + ''; + + installPhase = '' + # install the pcf fonts (for xorg applications) + fontDir="$out/share/fonts/tamsyn" + mkdir -p "$fontDir" + mv *.pcf "$fontDir" + mv *.psf.gz "$fontDir" + + cd "$fontDir" + mkfontdir + mkfontscale + ''; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "13l7ighfmn3kmqmchlksfg8ss22ndjk71rs0f9fn5p5zk7s4dn5x"; + + meta = with stdenv.lib; { + description = "A monospace bitmap font aimed at programmers"; + longDescription = ''Tamsyn is a monospace bitmap font, primarily aimed at + programmers. It was derived from Gilles Boccon-Gibod's MonteCarlo. Tamsyn + font was further inspired by Gohufont, Terminus, Dina, Proggy, Fixedsys, and + Consolas. + ''; + homepage = http://www.fial.com/~scott/tamsyn-font/; + downloadPage = http://www.fial.com/~scott/tamsyn-font/download; + license = licenses.free; + maintainers = [ maintainers.rps ]; + }; +} + diff --git a/pkgs/data/fonts/tempora-lgc/default.nix b/pkgs/data/fonts/tempora-lgc/default.nix index 1cab3da200e..f06a5bfee27 100644 --- a/pkgs/data/fonts/tempora-lgc/default.nix +++ b/pkgs/data/fonts/tempora-lgc/default.nix @@ -38,6 +38,5 @@ stdenv.mkDerivation { description = ''Tempora font''; license = stdenv.lib.licenses.gpl2 ; maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/data/fonts/tenderness/default.nix b/pkgs/data/fonts/tenderness/default.nix index 29682cc1299..958af414ff0 100644 --- a/pkgs/data/fonts/tenderness/default.nix +++ b/pkgs/data/fonts/tenderness/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let majorVersion = "0"; @@ -17,7 +17,7 @@ fetchzip rec { unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype/${pname} ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "http://dotcolon.net/font/${pname}/"; description = "Serif font designed by Sora Sagano with old-style figures"; platforms = platforms.all; diff --git a/pkgs/data/fonts/terminus-font-ttf/default.nix b/pkgs/data/fonts/terminus-font-ttf/default.nix index 12c46a12b93..211cc73cc9d 100644 --- a/pkgs/data/fonts/terminus-font-ttf/default.nix +++ b/pkgs/data/fonts/terminus-font-ttf/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let - version = "4.46.0"; + version = "4.47.0"; in fetchzip rec { name = "terminus-font-ttf-${version}"; @@ -18,9 +18,9 @@ in fetchzip rec { install -Dm 644 COPYING "$out/share/doc/terminus-font-ttf/COPYING" ''; - sha256 = "129rfmwnm2bhp99w4zl262l6sdx8pddc0gf1ispjqs6dz3m3mdkp"; + sha256 = "1mnx3vlnl0r15yzsa4zb9qqab4hpi603gdwhlbw960wg03i3xn8z"; - meta = with stdenv.lib; { + meta = with lib; { description = "A clean fixed width TTF font"; longDescription = '' Monospaced bitmap font designed for long work with computers @@ -29,6 +29,5 @@ in fetchzip rec { homepage = http://files.ax86.net/terminus-ttf; license = licenses.ofl; maintainers = with maintainers; [ okasu ]; - platforms = platforms.unix; }; } diff --git a/pkgs/data/fonts/terminus-font/default.nix b/pkgs/data/fonts/terminus-font/default.nix index 2221f6bc6f5..358ab959cd0 100644 --- a/pkgs/data/fonts/terminus-font/default.nix +++ b/pkgs/data/fonts/terminus-font/default.nix @@ -2,12 +2,11 @@ stdenv.mkDerivation rec { pname = "terminus-font"; - version = "4.47"; - name = "${pname}-${version}"; # set here for use in URL below + version = "4.48"; # set here for use in URL below src = fetchurl { - url = "mirror://sourceforge/project/${pname}/${name}/${name}.tar.gz"; - sha256 = "15qjcpalcxjiwsjgjg5k88vkwp56cs2nnx4ghya6mqp4i1c206qg"; + url = "mirror://sourceforge/project/${pname}/${pname}-${version}/${pname}-${version}.tar.gz"; + sha256 = "1bwlkj39rqbyq57v5yssayav6hzv1n11b9ml2s0dpiyfsn6rqy9l"; }; nativeBuildInputs = [ python3 bdftopcf mkfontdir mkfontscale ]; @@ -37,6 +36,5 @@ stdenv.mkDerivation rec { homepage = http://terminus-font.sourceforge.net/; license = licenses.gpl2Plus; maintainers = with maintainers; [ astsmtl ]; - platforms = platforms.linux; }; } diff --git a/pkgs/data/fonts/tewi/default.nix b/pkgs/data/fonts/tewi/default.nix index 32d859bf53b..fbc29cdf5fb 100644 --- a/pkgs/data/fonts/tewi/default.nix +++ b/pkgs/data/fonts/tewi/default.nix @@ -46,6 +46,5 @@ stdenv.mkDerivation rec { url = "https://www.gnu.org/licenses/gpl-faq.html#FontException"; }; maintainers = [ maintainers.fro_ozen ]; - platforms = platforms.unix; }; } diff --git a/pkgs/data/fonts/tex-gyre-math/default.nix b/pkgs/data/fonts/tex-gyre-math/default.nix index 3f9726ee094..8e1d2743174 100644 --- a/pkgs/data/fonts/tex-gyre-math/default.nix +++ b/pkgs/data/fonts/tex-gyre-math/default.nix @@ -28,32 +28,30 @@ let }; }; - mkVariant = variant: current: - let dotless_version = builtins.replaceStrings ["."] [""] current.version; in + mkVariant = variant: {displayName, version, sha256, outputHash}: + let dotless_version = builtins.replaceStrings ["."] [""] version; in stdenv.mkDerivation rec { - name = "tex-gyre-${variant}-math-${current.version}"; - version = "${current.version}"; + name = "tex-gyre-${variant}-math-${version}"; + inherit version; src = fetchzip { - url = "www.gust.org.pl/projects/e-foundry/tg-math/download/texgyre${variant}-math-${dotless_version}.zip"; - sha256 = current.sha256; + url = "http://www.gust.org.pl/projects/e-foundry/tg-math/download/texgyre${variant}-math-${dotless_version}.zip"; + inherit sha256; }; installPhase = '' - mkdir -p $out/share/fonts/opentype/ - mkdir -p $out/share/doc/${name}/ - cp -v opentype/*.otf $out/share/fonts/opentype/ - cp -v doc/*.txt $out/share/doc/${name}/ + install -m444 -Dt $out/share/fonts/opentype opentype/*.otf + install -m444 -Dt $out/share/doc/${name} doc/*.txt ''; outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = current.outputHash; + inherit outputHash; meta = with stdenv.lib; { longDescription = '' - TeX Gyre ${current.displayName} Math is a math companion for the TeX Gyre - ${current.displayName} family of fonts (see + TeX Gyre ${displayName} Math is a math companion for the TeX Gyre + ${displayName} family of fonts (see http://www.gust.org.pl/projects/e-foundry/tex-gyre/) in the OpenType format. ''; homepage = http://www.gust.org.pl/projects/e-foundry/tg-math; diff --git a/pkgs/data/fonts/tex-gyre/default.nix b/pkgs/data/fonts/tex-gyre/default.nix index 3229e58506d..7e55a70c71a 100644 --- a/pkgs/data/fonts/tex-gyre/default.nix +++ b/pkgs/data/fonts/tex-gyre/default.nix @@ -20,7 +20,7 @@ let outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = outputHash; + inherit outputHash; meta = with stdenv.lib; { homepage = http://www.gust.org.pl/projects/e-foundry/tex-gyre; diff --git a/pkgs/data/fonts/theano/default.nix b/pkgs/data/fonts/theano/default.nix index 2dbe7e720d2..82563205454 100644 --- a/pkgs/data/fonts/theano/default.nix +++ b/pkgs/data/fonts/theano/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "2.0"; @@ -16,7 +16,7 @@ in fetchzip rec { sha256 = "1my1symb7k80ys33iphsxvmf6432wx6vjdnxhzhkgrang1rhx1h8"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://github.com/akryukov/theano; description = "An old-style font designed from historic samples"; maintainers = with maintainers; [ raskin rycee ]; diff --git a/pkgs/data/fonts/tipa/default.nix b/pkgs/data/fonts/tipa/default.nix index 1a4954e6ce4..6cebe2120fe 100644 --- a/pkgs/data/fonts/tipa/default.nix +++ b/pkgs/data/fonts/tipa/default.nix @@ -22,7 +22,6 @@ stdenv.mkDerivation { meta = { description = "Phonetic font for TeX"; - platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/data/fonts/tlwg/default.nix b/pkgs/data/fonts/tlwg/default.nix index 90f1b1da908..78700992831 100644 --- a/pkgs/data/fonts/tlwg/default.nix +++ b/pkgs/data/fonts/tlwg/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, autoreconfHook, fontforge }: stdenv.mkDerivation rec { - name = "tlwg-${version}"; + pname = "tlwg"; version = "0.6.4"; src = fetchFromGitHub { @@ -21,7 +21,6 @@ stdenv.mkDerivation rec { description = "A collection of Thai scalable fonts available under free licenses"; homepage = https://linux.thai.net/projects/fonts-tlwg; license = with licenses; [ gpl2 publicDomain lppl13c free ]; - platforms = platforms.unix; maintainers = [ maintainers.yrashk ]; }; } diff --git a/pkgs/data/fonts/ttf-bitstream-vera/default.nix b/pkgs/data/fonts/ttf-bitstream-vera/default.nix index a4d479ea33c..f485f43b60c 100644 --- a/pkgs/data/fonts/ttf-bitstream-vera/default.nix +++ b/pkgs/data/fonts/ttf-bitstream-vera/default.nix @@ -1,20 +1,20 @@ -{stdenv, fetchzip}: +{ stdenv, fetchzip }: +let + pname = "ttf-bitstream-vera"; + version = "1.10"; +in +fetchzip rec { + name = "${pname}-${version}"; -fetchzip { - name = "ttf-bitstream-vera-1.10"; - - url = mirror://gnome/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-1.10.tar.bz2; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.bz2"; postFetch = '' tar -xjf $downloadedFile --strip-components=1 - fontDir=$out/share/fonts/truetype - mkdir -p $fontDir - cp *.ttf $fontDir + install -m444 -Dt $out/share/fonts/truetype *.ttf ''; sha256 = "179hal4yi3367jg8rsvqx6h2w4s0kn9zzrv8c47sslyg28g39s4m"; meta = { - platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/data/fonts/ttf-envy-code-r/default.nix b/pkgs/data/fonts/ttf-envy-code-r/default.nix index 2c58f197f18..024e1acd434 100644 --- a/pkgs/data/fonts/ttf-envy-code-r/default.nix +++ b/pkgs/data/fonts/ttf-envy-code-r/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let pname = "ttf-envy-code-r"; @@ -16,11 +16,10 @@ in fetchzip { sha256 = "0x0r07nax68cmz7490x2crzzgdg4j8fg63wppcmjqm0230bggq2z"; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://damieng.com/blog/tag/envy-code-r; description = "Free scalable coding font by DamienG"; license = licenses.unfree; - platforms = platforms.unix; maintainers = [ maintainers.lyt ]; }; } diff --git a/pkgs/data/fonts/twemoji-color-font/default.nix b/pkgs/data/fonts/twemoji-color-font/default.nix index d7963f6395a..a9bf3720c07 100644 --- a/pkgs/data/fonts/twemoji-color-font/default.nix +++ b/pkgs/data/fonts/twemoji-color-font/default.nix @@ -1,12 +1,13 @@ { stdenv, fetchFromGitHub, inkscape, imagemagick, potrace, svgo, scfbuild }: stdenv.mkDerivation rec { - name = "twemoji-color-font-${meta.version}"; + pname = "twemoji-color-font"; + version = "12.0.1"; src = fetchFromGitHub { owner = "eosrei"; repo = "twemoji-color-font"; - rev = "v${meta.version}"; - sha256 = "07yawvbdkk15d7ac9dj7drs1rqln9sba1fd6jx885ms7ww2sfm7r"; + rev = "v${version}"; + sha256 = "00pbgqpkq21wl8fs0q1xp49xb10m48b9sz8cdc58flkd2vqfssw2"; }; nativeBuildInputs = [ inkscape imagemagick potrace svgo scfbuild ]; @@ -21,7 +22,6 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - version = "11.2.0"; description = "Color emoji SVGinOT font using Twitter Unicode 10 emoji with diversity and country flags"; longDescription = '' A color and B&W emoji SVGinOT font built from the Twitter Emoji for @@ -38,6 +38,5 @@ stdenv.mkDerivation rec { downloadPage = "https://github.com/eosrei/twemoji-color-font/releases"; license = with licenses; [ cc-by-40 mit ]; maintainers = [ maintainers.fgaz ]; - platforms = platforms.linux; }; } diff --git a/pkgs/data/fonts/twitter-color-emoji/default.nix b/pkgs/data/fonts/twitter-color-emoji/default.nix new file mode 100644 index 00000000000..5c01283d3e9 --- /dev/null +++ b/pkgs/data/fonts/twitter-color-emoji/default.nix @@ -0,0 +1,122 @@ +# Based upon https://src.fedoraproject.org/rpms/twitter-twemoji-fonts/tree/454acad50ba584d9602ccd4238fc5e585abc15c9 +# The main difference is that we use “Twitter Color Emoji” name (which is recognized by upstream fontconfig) + +{ stdenv +, fetchFromGitHub +, cairo +, imagemagick +, pkg-config +, pngquant +, python2 +, which +, zopfli +}: + +let + version = "12.1.2"; + + # Cannot use noto-fonts-emoji.src since it is too old + # and still tries to use vendored pngquant. + notoSrc = fetchFromGitHub { + name = "noto"; + owner = "googlefonts"; + repo = "noto-emoji"; + rev = "833a43d03246a9325e748a2d783006454d76ff66"; + sha256 = "1g6ikzk8banm3ihqm9g27ggjq2mn1b1hq3zhpl13lxid6mp60s4a"; + }; + + twemojiSrc = fetchFromGitHub { + name = "twemoji"; + owner = "twitter"; + repo = "twemoji"; + rev = "v${version}"; + sha256 = "0vzmlp83vnk4njcfkn03jcc1vkg2rf12zf5kj3p3a373xr4ds1zn"; + }; + + python = python2.withPackages (pp: with pp; [ + nototools + ]); +in +stdenv.mkDerivation rec { + pname = "twitter-color-emoji"; + inherit version; + + srcs = [ + notoSrc + twemojiSrc + ]; + + sourceRoot = notoSrc.name; + + postUnpack = '' + chmod -R +w ${twemojiSrc.name} + mv ${twemojiSrc.name} ${notoSrc.name} + ''; + + nativeBuildInputs = [ + cairo + imagemagick + pkg-config + pngquant + python + which + zopfli + ]; + + postPatch = let + templateSubstitutions = stdenv.lib.concatStringsSep "; " [ + ''s#Noto Color Emoji#Twitter Color Emoji#'' + ''s#NotoColorEmoji#TwitterColorEmoji#'' + ''s#Copyright .* Google Inc\.#Twitter, Inc and other contributors.#'' + ''s# Version .*# ${version}#'' + ''s#.*is a trademark.*##'' + ''s#Google, Inc\.#Twitter, Inc and other contributors#'' + ''s#http://www.google.com/get/noto/#https://twemoji.twitter.com/#'' + ''s#.*is licensed under.*# Creative Commons Attribution 4.0 International#'' + ''s#http://scripts.sil.org/OFL#http://creativecommons.org/licenses/by/4.0/#'' + ]; + in '' + patchShebangs ./flag_glyph_name.py + + sed '${templateSubstitutions}' NotoColorEmoji.tmpl.ttx.tmpl > TwitterColorEmoji.tmpl.ttx.tmpl + pushd ${twemojiSrc.name}/assets/72x72/ + for png in *.png; do + mv $png emoji_u''${png//-/_} + done + popd + ''; + + makeFlags = [ + "EMOJI=TwitterColorEmoji" + "EMOJI_SRC_DIR=${twemojiSrc.name}/assets/72x72" + "BODY_DIMENSIONS=76x72" + ]; + + enableParallelBuilding = true; + + installPhase = '' + install -Dm644 TwitterColorEmoji.ttf $out/share/fonts/truetype/TwitterColorEmoji.ttf + ''; + + meta = with stdenv.lib; { + description = "Color emoji font with a flat visual style, designed and used by Twitter"; + longDescription = '' + A bitmap color emoji font built from the Twitter Emoji for + Everyone artwork with support for ZWJ, skin tone diversity and country + flags. + + This font uses Google’s CBDT format making it work on Android and Linux graphical stack. + ''; + homepage = "https://twemoji.twitter.com/"; + # In noto-emoji-fonts source + ## noto-emoji code is in ASL 2.0 license + ## Emoji fonts are under OFL license + ### third_party color-emoji code is in ASL 2.0 license + ### third_party region-flags code is in Public Domain license + # In twemoji source + ## Artwork is Creative Commons Attribution 4.0 International + ## Non-artwork is MIT + license = with licenses; [ asl20 ofl cc-by-40 mit ]; + maintainers = with maintainers; [ jtojnar ]; + }; +} diff --git a/pkgs/data/fonts/ubuntu-font-family/default.nix b/pkgs/data/fonts/ubuntu-font-family/default.nix index e78f86fede4..5f072f90f05 100644 --- a/pkgs/data/fonts/ubuntu-font-family/default.nix +++ b/pkgs/data/fonts/ubuntu-font-family/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: fetchzip rec { name = "ubuntu-font-family-0.83"; - url = "http://font.ubuntu.com/download/${name}.zip"; + url = "https://assets.ubuntu.com/v1/fad7939b-ubuntu-font-family-0.83.zip"; postFetch = '' mkdir -p $out/share/fonts @@ -19,8 +19,8 @@ fetchzip rec { contemporary style and contains characteristics unique to the Ubuntu brand that convey a precise, reliable and free attitude."; homepage = http://font.ubuntu.com/; - license = stdenv.lib.licenses.free; - platforms = stdenv.lib.platforms.all; - maintainers = [ stdenv.lib.maintainers.antono ]; + license = lib.licenses.free; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.antono ]; }; } diff --git a/pkgs/data/fonts/ucs-fonts/default.nix b/pkgs/data/fonts/ucs-fonts/default.nix index 996d1192397..f1545e3d5b4 100644 --- a/pkgs/data/fonts/ucs-fonts/default.nix +++ b/pkgs/data/fonts/ucs-fonts/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation rec { - name = "ucs-fonts-${version}"; + pname = "ucs-fonts"; version = "20090406"; srcs = [ diff --git a/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix b/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix index f8df39c9565..35551e929e6 100644 --- a/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix +++ b/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "1.0"; @@ -13,10 +13,9 @@ fetchzip rec { unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype ''; - meta = with stdenv.lib; { + meta = with lib; { description = "The Ultimate Oldschool PC Font Pack (TTF Fonts)"; homepage = "http://int10h.org/oldschool-pc-fonts/"; - platforms = platforms.unix; license = licenses.cc-by-sa-40; maintainers = [ maintainers.endgame ]; }; diff --git a/pkgs/data/fonts/undefined-medium/default.nix b/pkgs/data/fonts/undefined-medium/default.nix new file mode 100644 index 00000000000..c98936b8096 --- /dev/null +++ b/pkgs/data/fonts/undefined-medium/default.nix @@ -0,0 +1,27 @@ +{ lib, fetchzip }: + +fetchzip rec { + name = "undefined-medium-1.0"; + + url = https://github.com/andirueckel/undefined-medium/archive/v1.0.zip; + + postFetch = '' + mkdir -p $out/share/fonts + unzip -j $downloadedFile ${name}/fonts/otf/\*.otf -d $out/share/fonts/opentype + ''; + + sha256 = "1wa04jzbffshwcxm705yb5wja8wakn8j7fvim1mlih2z1sqw0njk"; + + meta = with lib; { + homepage = https://undefined-medium.com/; + description = "A pixel grid-based monospace typeface"; + longDescription = '' + undefined medium is a free and open-source pixel grid-based + monospace typeface suitable for programming, writing, and + whatever else you can think of … it’s pretty undefined. + ''; + license = licenses.ofl; + maintainers = [ maintainers.rycee ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/data/fonts/uni-vga/default.nix b/pkgs/data/fonts/uni-vga/default.nix index 2a13824b36f..cd719a62d99 100644 --- a/pkgs/data/fonts/uni-vga/default.nix +++ b/pkgs/data/fonts/uni-vga/default.nix @@ -20,13 +20,12 @@ stdenv.mkDerivation { outputHashAlgo = "sha256"; outputHashMode = "recursive"; - sha256 = "0rfly7r6blr2ykxlv0f6my2w41vvxcw85chspljd2p1fxlr28jd7"; + outputHash = "0rfly7r6blr2ykxlv0f6my2w41vvxcw85chspljd2p1fxlr28jd7"; meta = { description = "Unicode VGA font"; maintainers = [stdenv.lib.maintainers.ftrvxmtrx]; homepage = http://www.inp.nsk.su/~bolkhov/files/fonts/univga/; license = stdenv.lib.licenses.mit; - platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/data/fonts/unifont/default.nix b/pkgs/data/fonts/unifont/default.nix index 943eb9572b2..a80beee342b 100644 --- a/pkgs/data/fonts/unifont/default.nix +++ b/pkgs/data/fonts/unifont/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchurl, mkfontscale, mkfontdir }: stdenv.mkDerivation rec { - name = "unifont-${version}"; - version = "11.0.03"; + pname = "unifont"; + version = "12.1.03"; ttf = fetchurl { - url = "mirror://gnu/unifont/${name}/${name}.ttf"; - sha256 = "1fqlf3kczh1y7vhpcdcs1i9043idg5x9jisfqfd99sikvcbw7w75"; + url = "mirror://gnu/unifont/${pname}-${version}/${pname}-${version}.ttf"; + sha256 = "10igjlf05d97h3vcggr2ahxmq9ljby4ypja2g4s9bvxs2w1si51p"; }; pcf = fetchurl { - url = "mirror://gnu/unifont/${name}/${name}.pcf.gz"; - sha256 = "0wqcmvkqdww60hqh245whzh4mx3frrx2712lay826f9h5s4ywz6g"; + url = "mirror://gnu/unifont/${pname}-${version}/${pname}-${version}.pcf.gz"; + sha256 = "1cd1fnk3m7giqp099kynnjj4m7q00lqm4ybqb1vzd2wi3j4a1awf"; }; nativeBuildInputs = [ mkfontscale mkfontdir ]; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "006jbla4zfwccyy84sm4ck869sq5az5s5cfkcmdgj7ah3rz4d7dn"; + outputHash = "0n3ms2k2mk7j6144l05c45smggwf3j5cwkaxhw93wf9hd1lhpwq1"; meta = with stdenv.lib; { description = "Unicode font for Base Multilingual Plane"; diff --git a/pkgs/data/fonts/unifont_upper/default.nix b/pkgs/data/fonts/unifont_upper/default.nix index 29ba4bfb540..21d31914479 100644 --- a/pkgs/data/fonts/unifont_upper/default.nix +++ b/pkgs/data/fonts/unifont_upper/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let - version = "10.0.06"; + version = "12.1.03"; in fetchzip rec { name = "unifont_upper-${version}"; - url = "http://unifoundry.com/pub/unifont-${version}/font-builds/${name}.ttf"; + url = "mirror://gnu/unifont/unifont-${version}/${name}.ttf"; postFetch = "install -Dm644 $downloadedFile $out/share/fonts/truetype/unifont_upper.ttf"; - sha256 = "13x5z8iyh9xz5fllcy89yinnz1iy16a2pjf3vip66nz10sq8crlr"; + sha256 = "1w0bg276cyv6xs6clld8gv4w88rj9fw9rc8zs9ahc6y9hv677knj"; - meta = with stdenv.lib; { + meta = with lib; { description = "Unicode font for glyphs above the Unicode Basic Multilingual Plane"; homepage = http://unifoundry.com/unifont.html; diff --git a/pkgs/data/fonts/unscii/default.nix b/pkgs/data/fonts/unscii/default.nix index c4969d046d4..cd4d0dc42cd 100644 --- a/pkgs/data/fonts/unscii/default.nix +++ b/pkgs/data/fonts/unscii/default.nix @@ -1,32 +1,25 @@ {stdenv, fetchurl, perl, bdftopcf, perlPackages, fontforge, SDL, SDL_image}: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "unscii"; version = "1.1"; # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev) src = fetchurl { - url = "http://pelulamu.net/${pname}/${name}-src.tar.gz"; + url = "http://pelulamu.net/${pname}/${pname}-${version}-src.tar.gz"; sha256 = "0qcxcnqz2nlwfzlrn115kkp3n8dd7593h762vxs6vfqm13i39lq1"; }; - nativeBuildInputs = [perl bdftopcf perlPackages.TextCharWidth fontforge + nativeBuildInputs = [perl bdftopcf perlPackages.TextCharWidth fontforge SDL SDL_image]; preConfigure = '' patchShebangs . ''; installPhase = '' - mkdir -p "$out/share/fonts"/{truetype,opentype,web,svg} - cp *.hex "$out/share/fonts/" - cp *.pcf "$out/share/fonts/" - cp *.ttf "$out/share/fonts/truetype" - cp *.otf "$out/share/fonts/opentype" - cp *.svg "$out/share/fonts/svg" - cp *.woff "$out/share/fonts/web" + install -m444 -Dt $out/share/fonts *.hex *.pcf + install -m444 -Dt $out/share/fonts/truetype *.ttf + install -m444 -Dt $out/share/fonts/opentype *.otf + install -m444 -Dt $out/share/fonts/svg *.svg + install -m444 -Dt $out/share/fonts/web *.woff ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "03zvczdka665zcyf9fjrnx434mwpr5q8396j34kjmc67w7nhc49r"; - meta = { inherit version; description = ''Bitmapped character-art-friendly Unicode fonts''; @@ -34,7 +27,6 @@ stdenv.mkDerivation rec { # version. The reduced version is public domain. license = http://unifoundry.com/LICENSE.txt; maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; homepage = http://pelulamu.net/unscii/; }; } diff --git a/pkgs/data/fonts/vazir-fonts/default.nix b/pkgs/data/fonts/vazir-fonts/default.nix new file mode 100755 index 00000000000..d004e75571b --- /dev/null +++ b/pkgs/data/fonts/vazir-fonts/default.nix @@ -0,0 +1,26 @@ +{ lib, fetchFromGitHub }: + +let + pname = "vazir-fonts"; + version = "19.2.0"; +in fetchFromGitHub rec { + name = "${pname}-${version}"; + + owner = "rastikerdar"; + repo = "vazir-font"; + rev = "v${version}"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/vazir-fonts {} \; + ''; + sha256 = "008h095rjrcjhz9h02v6cf3gv64khj21lii4zffgpdlmvfs29f8l"; + + meta = with lib; { + homepage = https://github.com/rastikerdar/vazir-font; + description = "A Persian (Farsi) Font - قلم (فونت) فارسی وزیر"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = [ maintainers.linarcx ]; + }; +} diff --git a/pkgs/data/fonts/vdrsymbols/default.nix b/pkgs/data/fonts/vdrsymbols/default.nix index d3373a64c49..01a4072099a 100644 --- a/pkgs/data/fonts/vdrsymbols/default.nix +++ b/pkgs/data/fonts/vdrsymbols/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: fetchzip rec { name = "vdrsymbols-20100612"; @@ -12,7 +12,7 @@ fetchzip rec { install -Dm444 -t "$out/share/fonts/truetype" */*.ttf ''; - meta = with stdenv.lib; { + meta = with lib; { description = "DejaVu fonts with additional symbols used by VDR"; homepage = http://andreas.vdr-developer.org/fonts/; platforms = platforms.all; diff --git a/pkgs/data/fonts/vegur/default.nix b/pkgs/data/fonts/vegur/default.nix index 4bf28782a8a..a269f17bf0e 100644 --- a/pkgs/data/fonts/vegur/default.nix +++ b/pkgs/data/fonts/vegur/default.nix @@ -1,29 +1,22 @@ -{ stdenv, rpmextract, fetchurl, unzip }: +{ lib, buildPackages, fetchzip }: -stdenv.mkDerivation rec { +let version = "0.701"; +in fetchzip { name = "vegur-font-${version}"; # Upstream doesn't version their URLs. # http://dotcolon.net/font/vegur/ → http://dotcolon.net/DL/font/vegur.zip - src = fetchurl { - url = "http://download.opensuse.org/repositories/M17N:/fonts/SLE_12_SP3/src/dotcolon-vegur-fonts-0.701-1.4.src.rpm"; - sha256 = "0ra3fds3b352rpzn0015km539c3l2ik2lqd5x6fr65ss9fg2xn34"; - }; + url = "http://download.opensuse.org/repositories/M17N:/fonts/SLE_12_SP3/src/dotcolon-vegur-fonts-0.701-1.4.src.rpm"; - nativeBuildInputs = [ rpmextract unzip ]; - - unpackPhase = '' - rpmextract $src + postFetch = '' + ${buildPackages.rpmextract}/bin/rpmextract $downloadedFile unzip vegur.zip + install -m444 -Dt $out/share/fonts/Vegur *.otf ''; + sha256 = "0iisi2scq72lyj7pc1f36fhfjnm676n5byl4zaavhbxpdrbc6d1v"; - installPhase = '' - mkdir -p $out/share/fonts/Vegur - cp *.otf $out/share/fonts/Vegur - ''; - - meta = with stdenv.lib; { + meta = with lib; { homepage = http://dotcolon.net/font/vegur/; description = "A humanist sans serif font."; platforms = platforms.all; diff --git a/pkgs/data/fonts/victor-mono/default.nix b/pkgs/data/fonts/victor-mono/default.nix new file mode 100644 index 00000000000..e1ef611d686 --- /dev/null +++ b/pkgs/data/fonts/victor-mono/default.nix @@ -0,0 +1,39 @@ +{ lib, fetchFromGitHub }: + +let + pname = "victor-mono"; + version = "1.2.1"; +in fetchFromGitHub rec { + name = "${pname}-${version}"; + + owner = "rubjo"; + repo = pname; + rev = "v${version}"; + + # Upstream prefers we download from the website, + # but we really insist on a more versioned resource. + # Happily, tagged releases on github contain the same + # file `VictorMonoAll.zip` as from the website, + # so we extract it from the tagged release. + # Both methods produce the same file, but this way + # we can safely reason about what version it is. + postFetch = '' + tar xvf $downloadedFile --strip-components=2 ${name}/public/VictorMonoAll.zip + + mkdir -p $out/share/fonts/{true,open}type/${pname} + + unzip -j VictorMonoAll.zip \*.ttf -d $out/share/fonts/truetype/${pname} + unzip -j VictorMonoAll.zip \*.otf -d $out/share/fonts/opentype/${pname} + ''; + + sha256 = "0347n3kdyrbg42rxcgnyghi21qz5iz6w30v7ms2vjal7pfm6h2vn"; + + meta = with lib; { + description = "Free programming font with cursive italics and ligatures"; + homepage = "https://rubjo.github.io/victor-mono"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ jpotier dtzWill ]; + platforms = platforms.all; + }; +} + diff --git a/pkgs/data/fonts/vista-fonts-chs/default.nix b/pkgs/data/fonts/vista-fonts-chs/default.nix index e9a3282e715..6a7cc71133a 100644 --- a/pkgs/data/fonts/vista-fonts-chs/default.nix +++ b/pkgs/data/fonts/vista-fonts-chs/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip, cabextract}: +{ lib, fetchzip, buildPackages }: # Modified from vista-fonts @@ -8,7 +8,7 @@ fetchzip { url = http://download.microsoft.com/download/d/6/e/d6e2ff26-5821-4f35-a18b-78c963b1535d/VistaFont_CHS.EXE; postFetch = '' - ${cabextract}/bin/cabextract --lowercase --filter '*.TTF' $downloadedFile + ${buildPackages.cabextract}/bin/cabextract --lowercase --filter '*.TTF' $downloadedFile mkdir -p $out/share/fonts/truetype cp *.ttf $out/share/fonts/truetype @@ -25,12 +25,12 @@ fetchzip { meta = { description = "TrueType fonts from Microsoft Windows Vista For Simplified Chinese (Microsoft YaHei)"; homepage = https://www.microsoft.com/typography/fonts/family.aspx?FID=350; - license = stdenv.lib.licenses.unfree; - maintainers = [ stdenv.lib.maintainers.ChengCat ]; + license = lib.licenses.unfree; + maintainers = [ lib.maintainers.ChengCat ]; # Set a non-zero priority to allow easy overriding of the # fontconfig configuration files. priority = 5; - platforms = stdenv.lib.platforms.all; + platforms = lib.platforms.all; }; } diff --git a/pkgs/data/fonts/vista-fonts/default.nix b/pkgs/data/fonts/vista-fonts/default.nix index 65fa3fb81ab..e8784d90e7f 100644 --- a/pkgs/data/fonts/vista-fonts/default.nix +++ b/pkgs/data/fonts/vista-fonts/default.nix @@ -31,6 +31,6 @@ fetchzip { # Set a non-zero priority to allow easy overriding of the # fontconfig configuration files. priority = 5; - platforms = stdenv.lib.platforms.unix; + broken = true; # source url is 404 }; } diff --git a/pkgs/data/fonts/weather-icons/default.nix b/pkgs/data/fonts/weather-icons/default.nix index 8d818d21923..17227367120 100644 --- a/pkgs/data/fonts/weather-icons/default.nix +++ b/pkgs/data/fonts/weather-icons/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "2.0.10"; -in fetchzip rec { +in fetchzip { name = "weather-icons-${version}"; url = "https://github.com/erikflowers/weather-icons/archive/${version}.zip"; @@ -14,7 +14,7 @@ in fetchzip rec { sha256 = "10zny9987wybq55sm803hrjkp33dq1lgmnxc15kssr8yb81g6qrl"; - meta = with stdenv.lib; { + meta = with lib; { description = "Weather Icons"; longDescription = '' Weather Icons is the only icon font and CSS with 222 weather themed icons, diff --git a/pkgs/data/fonts/wqy-microhei/default.nix b/pkgs/data/fonts/wqy-microhei/default.nix index 038f0316940..dc87e6b634f 100644 --- a/pkgs/data/fonts/wqy-microhei/default.nix +++ b/pkgs/data/fonts/wqy-microhei/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: fetchzip rec { name = "wqy-microhei-0.2.0-beta"; @@ -15,9 +15,9 @@ fetchzip rec { meta = { description = "A (mainly) Chinese Unicode font"; homepage = http://wenq.org; - license = stdenv.lib.licenses.asl20; - maintainers = [ stdenv.lib.maintainers.pkmx ]; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.pkmx ]; + platforms = lib.platforms.all; }; } diff --git a/pkgs/data/fonts/wqy-zenhei/default.nix b/pkgs/data/fonts/wqy-zenhei/default.nix index 9718763d004..7df1e5aeb2a 100644 --- a/pkgs/data/fonts/wqy-zenhei/default.nix +++ b/pkgs/data/fonts/wqy-zenhei/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "0.9.45"; @@ -18,8 +18,8 @@ in fetchzip rec { meta = { description = "A (mainly) Chinese Unicode font"; homepage = http://wenq.org; - license = stdenv.lib.licenses.gpl2; # with font embedding exceptions - maintainers = [ stdenv.lib.maintainers.pkmx ]; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.gpl2; # with font embedding exceptions + maintainers = [ lib.maintainers.pkmx ]; + platforms = lib.platforms.all; }; } diff --git a/pkgs/data/fonts/xits-math/default.nix b/pkgs/data/fonts/xits-math/default.nix index 25431c7f9d7..24e9f2a3935 100644 --- a/pkgs/data/fonts/xits-math/default.nix +++ b/pkgs/data/fonts/xits-math/default.nix @@ -1,35 +1,26 @@ { stdenv, fetchFromGitHub, python2Packages, fontforge }: stdenv.mkDerivation rec { - name = "xits-math-${version}"; - version = "1.108"; + pname = "xits-math"; + version = "1.200"; src = fetchFromGitHub { - owner = "khaledhosny"; - repo = "xits-math"; + owner = "alif-type"; + repo = "xits"; rev = "v${version}"; - sha256 = "08nn676c41a7gmmhrzi8mm0g74z8aiaafjk48pqcwxvjj9av7xjg"; + sha256 = "0s1qqqg3zv9k4wqn1vkx0z895fjccg96n58syc1d5f2wba9kyfcm"; }; nativeBuildInputs = [ fontforge ] ++ (with python2Packages; [ python fonttools ]); postPatch = '' rm *.otf - - substituteInPlace tools/postprocess.py --replace \ - 'font = ttLib.TTFont(sys.argv[1])' \ - 'font = ttLib.TTFont(sys.argv[1], recalcTimestamp=False)' ''; installPhase = '' - mkdir -p $out/share/fonts/opentype - cp *.otf $out/share/fonts/opentype + install -m444 -Dt $out/share/fonts/opentype *.otf ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "00xycmb9ka67j5s66nkng53y8q6362igisxz04zb58r2717jk50m"; - meta = with stdenv.lib; { homepage = https://github.com/khaledhosny/xits-math; description = "OpenType implementation of STIX fonts with math support"; diff --git a/pkgs/data/fonts/xkcd-font/default.nix b/pkgs/data/fonts/xkcd-font/default.nix new file mode 100644 index 00000000000..0e996da2fc7 --- /dev/null +++ b/pkgs/data/fonts/xkcd-font/default.nix @@ -0,0 +1,27 @@ +{ lib, fetchFromGitHub }: + +let + pname = "xkcd-font"; + version = "unstable-2017-08-24"; +in fetchFromGitHub rec { + name = "${pname}-${version}"; + + owner = "ipython"; + repo = pname; + rev = "5632fde618845dba5c22f14adc7b52bf6c52d46d"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + install -Dm444 -t $out/share/fonts/opentype/ xkcd/build/xkcd.otf + install -Dm444 -t $out/share/fonts/truetype/ xkcd-script/font/xkcd-script.ttf + ''; + sha256 = "0xhwa53aiz20763jb9nvbr2zq9k6jl69p07dc4b0apwrrwz0jfr1"; + + meta = with lib; { + description = "The xkcd font"; + homepage = https://github.com/ipython/xkcd-font; + license = licenses.cc-by-nc-30; + platforms = platforms.all; + maintainers = [ maintainers.marsam ]; + }; +} diff --git a/pkgs/data/fonts/yanone-kaffeesatz/default.nix b/pkgs/data/fonts/yanone-kaffeesatz/default.nix new file mode 100644 index 00000000000..e713f4d64a3 --- /dev/null +++ b/pkgs/data/fonts/yanone-kaffeesatz/default.nix @@ -0,0 +1,22 @@ +{ lib, fetchzip }: + +fetchzip { + name = "yanone-kaffeesatz-2004"; + + url = https://yanone.de/2015/data/UIdownloads/Yanone%20Kaffeesatz.zip; + + postFetch = '' + mkdir -p $out/share/fonts + unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype + ''; + + sha256 = "190c4wx7avy3kp98lsyml7kc0jw7csf5n79af2ypbkhsadfsy8di"; + + meta = { + description = "The free font classic"; + maintainers = with lib.maintainers; [ mt-caret ]; + platforms = with lib.platforms; all; + homepage = https://yanone.de/fonts/kaffeesatz/; + license = lib.licenses.ofl; + }; +} diff --git a/pkgs/data/fonts/zilla-slab/default.nix b/pkgs/data/fonts/zilla-slab/default.nix index d77d6d8b301..369fb53e6ab 100644 --- a/pkgs/data/fonts/zilla-slab/default.nix +++ b/pkgs/data/fonts/zilla-slab/default.nix @@ -1,8 +1,7 @@ -{ stdenv, fetchzip }: +{ lib, fetchzip }: let version = "1.002"; - hash = "1b1ys28hyjcl4qwbnsyi6527nj01g3d6id9jl23fv6f8fjm4ph0f"; in fetchzip { name = "zilla-slab-${version}"; @@ -12,9 +11,9 @@ in fetchzip { mkdir -p $out/share/fonts/truetype cp -v zilla-slab/ttf/*.ttf $out/share/fonts/truetype/ ''; - sha256 = hash; + sha256 = "1b1ys28hyjcl4qwbnsyi6527nj01g3d6id9jl23fv6f8fjm4ph0f"; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://github.com/mozilla/zilla-slab; description = "Zilla Slab fonts"; longDescription = '' diff --git a/pkgs/data/icons/bibata-cursors/default.nix b/pkgs/data/icons/bibata-cursors/default.nix index ce7bb11522b..2e99c3d9232 100644 --- a/pkgs/data/icons/bibata-cursors/default.nix +++ b/pkgs/data/icons/bibata-cursors/default.nix @@ -1,7 +1,7 @@ { fetchFromGitHub, gnome-themes-extra, inkscape, stdenv, xcursorgen }: stdenv.mkDerivation rec { - name = "bibata-cursors-${version}"; + pname = "bibata-cursors"; version = "0.4.1"; src = fetchFromGitHub { diff --git a/pkgs/data/icons/capitaine-cursors/default.nix b/pkgs/data/icons/capitaine-cursors/default.nix index 94a5449332b..46d6c1a731e 100644 --- a/pkgs/data/icons/capitaine-cursors/default.nix +++ b/pkgs/data/icons/capitaine-cursors/default.nix @@ -2,14 +2,14 @@ , inkscape, xcursorgen }: stdenv.mkDerivation rec { - name = "capitaine-cursors-${version}"; - version = "2.1"; + pname = "capitaine-cursors"; + version = "3"; src = fetchFromGitHub { owner = "keeferrourke"; - repo = "capitaine-cursors"; + repo = pname; rev = "r${version}"; - sha256 = "0ljvq1dqscp5gyf23qszn2ax80bxkqw2vx5zh3qln9vnzfascirb"; + sha256 = "0pnfbmrn9nv8pryv6cbjcq5hl9366hzvz1kd8vsdkgb2nlfv5gdv"; }; postPatch = '' @@ -29,6 +29,7 @@ stdenv.mkDerivation rec { installPhase = '' install -dm 0755 $out/share/icons cp -pr dist $out/share/icons/capitaine-cursors + cp -pr dist-white $out/share/icons/capitaine-cursors-white ''; meta = with stdenv.lib; { diff --git a/pkgs/data/icons/elementary-xfce-icon-theme/default.nix b/pkgs/data/icons/elementary-xfce-icon-theme/default.nix index d4a15a105cd..f276b573019 100644 --- a/pkgs/data/icons/elementary-xfce-icon-theme/default.nix +++ b/pkgs/data/icons/elementary-xfce-icon-theme/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchFromGitHub, pkgconfig, gdk_pixbuf, optipng, librsvg, gtk3, hicolor-icon-theme }: +{ stdenv, fetchFromGitHub, pkgconfig, gdk-pixbuf, optipng, librsvg, gtk3, hicolor-icon-theme }: stdenv.mkDerivation rec { - name = "elementary-xfce-icon-theme-${version}"; + pname = "elementary-xfce-icon-theme"; version = "0.13.1"; src = fetchFromGitHub { @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "16msdrazhbv80cvh5ffvgj13xmkpf87r7mq6xz071fza6nv7g0jn"; }; - nativeBuildInputs = [ pkgconfig gdk_pixbuf librsvg optipng gtk3 hicolor-icon-theme ]; + nativeBuildInputs = [ pkgconfig gdk-pixbuf librsvg optipng gtk3 hicolor-icon-theme ]; postPatch = '' substituteInPlace svgtopng/Makefile --replace "-O0" "-O" diff --git a/pkgs/data/icons/faba-mono-icons/default.nix b/pkgs/data/icons/faba-mono-icons/default.nix index a4ffefe1f26..99488a26f2b 100644 --- a/pkgs/data/icons/faba-mono-icons/default.nix +++ b/pkgs/data/icons/faba-mono-icons/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "faba-mono-icons"; version = "2016-04-30"; diff --git a/pkgs/data/icons/iconpack-obsidian/default.nix b/pkgs/data/icons/iconpack-obsidian/default.nix index ee45a186f29..f7015621853 100644 --- a/pkgs/data/icons/iconpack-obsidian/default.nix +++ b/pkgs/data/icons/iconpack-obsidian/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, gtk3 }: stdenv.mkDerivation rec { - name = "iconpack-obsidian-${version}"; + pname = "iconpack-obsidian"; version = "4.3"; src = fetchFromGitHub { diff --git a/pkgs/data/icons/maia-icon-theme/default.nix b/pkgs/data/icons/maia-icon-theme/default.nix index 7b4ed7a6680..49d289cac39 100644 --- a/pkgs/data/icons/maia-icon-theme/default.nix +++ b/pkgs/data/icons/maia-icon-theme/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitLab, cmake, extra-cmake-modules, gtk3, kdeFrameworks, hicolor-icon-theme }: stdenv.mkDerivation rec { - name = "maia-icon-theme-${version}"; + pname = "maia-icon-theme"; version = "2018-02-24"; src = fetchFromGitLab { diff --git a/pkgs/data/icons/moka-icon-theme/default.nix b/pkgs/data/icons/moka-icon-theme/default.nix index 17892679a7e..83c4b19472a 100644 --- a/pkgs/data/icons/moka-icon-theme/default.nix +++ b/pkgs/data/icons/moka-icon-theme/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitHub, meson, ninja, gtk3, python3, faba-icon-theme }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "moka-icon-theme"; version = "5.4.0"; diff --git a/pkgs/data/icons/numix-icon-theme-circle/default.nix b/pkgs/data/icons/numix-icon-theme-circle/default.nix index 4ad03627870..b545856f703 100644 --- a/pkgs/data/icons/numix-icon-theme-circle/default.nix +++ b/pkgs/data/icons/numix-icon-theme-circle/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "numix-icon-theme-circle"; - version = "19.01.24"; + version = "19.02.22"; src = fetchFromGitHub { owner = "numixproject"; repo = pname; rev = version; - sha256 = "18asihcv41jlysb2ynbvbk6fn0lnj7ckaz1nyx1w25a7nk413dnm"; + sha256 = "10jh633rllp9yjfkjjyf8455n84q7ppxw1kk9dp1rsg4dq327ks7"; }; nativeBuildInputs = [ gtk3 numix-icon-theme ]; @@ -30,6 +30,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3; # darwin cannot deal with file names differing only in case platforms = platforms.linux; - maintainers = with maintainers; [ jgeerds ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix index 967c629324c..ddec15e5f31 100644 --- a/pkgs/data/icons/numix-icon-theme-square/default.nix +++ b/pkgs/data/icons/numix-icon-theme-square/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "numix-icon-theme-square"; - version = "19.01.24"; + version = "19.02.22"; src = fetchFromGitHub { owner = "numixproject"; repo = pname; rev = version; - sha256 = "0x3d21snfp4v9ippny1jmf2hw5dcscwrlasxvr5bgxhff1idf81c"; + sha256 = "0qn0s7cd795pm0hbx85gxd1s272zxrzf3r9r6da54h149v3wkgzw"; }; nativeBuildInputs = [ gtk3 numix-icon-theme ]; diff --git a/pkgs/data/icons/numix-icon-theme/default.nix b/pkgs/data/icons/numix-icon-theme/default.nix index 9aaed97dc27..e41373f536f 100644 --- a/pkgs/data/icons/numix-icon-theme/default.nix +++ b/pkgs/data/icons/numix-icon-theme/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "numix-icon-theme"; version = "18.07.17"; @@ -31,6 +30,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3; # darwin cannot deal with file names differing only in case platforms = platforms.linux; - maintainers = with maintainers; [ romildo jgeerds ]; + maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/data/icons/paper-icon-theme/default.nix b/pkgs/data/icons/paper-icon-theme/default.nix index de808e44ea6..5359b2229f3 100644 --- a/pkgs/data/icons/paper-icon-theme/default.nix +++ b/pkgs/data/icons/paper-icon-theme/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitHub, meson, ninja, gtk3, python3 }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "paper-icon-theme"; version = "2018-06-24"; diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix index 3b1c9a1131e..3f9cff62ee4 100644 --- a/pkgs/data/icons/papirus-icon-theme/default.nix +++ b/pkgs/data/icons/papirus-icon-theme/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, gtk3 }: stdenv.mkDerivation rec { - name = "papirus-icon-theme-${version}"; - version = "20190203"; + pname = "papirus-icon-theme"; + version = "20190802"; src = fetchFromGitHub { owner = "PapirusDevelopmentTeam"; - repo = "papirus-icon-theme"; + repo = pname; rev = version; - sha256 = "02vx8sqpd3rpcypjd99rqkci0fj1bcjznn46p660vpdddpadxya4"; + sha256 = "1i6nh1vy2cjqh4fw1mzq5v4ah613ghf018g8w0npxhj9qi3pyjm5"; }; nativeBuildInputs = [ gtk3 ]; @@ -28,6 +28,8 @@ stdenv.mkDerivation rec { description = "Papirus icon theme"; homepage = https://github.com/PapirusDevelopmentTeam/papirus-icon-theme; license = licenses.lgpl3; - platforms = platforms.all; + # darwin gives hash mismatch in source, probably because of file names differing only in case + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/data/icons/vanilla-dmz/default.nix b/pkgs/data/icons/vanilla-dmz/default.nix index b6def37def6..c4a8fd44a61 100644 --- a/pkgs/data/icons/vanilla-dmz/default.nix +++ b/pkgs/data/icons/vanilla-dmz/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchzip, xorg }: stdenv.mkDerivation rec { - name = "vanilla-dmz-${version}"; + pname = "vanilla-dmz"; version = "0.4.4"; src = fetchzip { url = "http://ftp.de.debian.org/debian/pool/main/d/dmz-cursor-theme/dmz-cursor-theme_${version}.tar.gz"; diff --git a/pkgs/data/icons/zafiro-icons/default.nix b/pkgs/data/icons/zafiro-icons/default.nix index b37ed1931a2..942f79ca6e4 100644 --- a/pkgs/data/icons/zafiro-icons/default.nix +++ b/pkgs/data/icons/zafiro-icons/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "zafiro-icons"; - version = "0.8.4"; + version = "0.9"; src = fetchFromGitHub { owner = "zayronxio"; repo = pname; rev = "v${version}"; - sha256 = "1jdijiccazn2g42x1w1m4hl94ach9b2kl3rwb0mpy7ykdzmj6vj0"; + sha256 = "0zmnhih4gz8bidyzf1wimy85z7zx9i29mv1zirmykpqj819g7mx9"; }; nativeBuildInputs = [ gtk3 ]; diff --git a/pkgs/data/misc/adapta-backgrounds/default.nix b/pkgs/data/misc/adapta-backgrounds/default.nix index 41f704e750c..1c35d3deef9 100644 --- a/pkgs/data/misc/adapta-backgrounds/default.nix +++ b/pkgs/data/misc/adapta-backgrounds/default.nix @@ -1,23 +1,23 @@ -{ stdenv, fetchFromGitHub, autoreconfHook }: +{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib }: stdenv.mkDerivation rec { - name = "adapta-backgrounds-${version}"; - version = "0.5.2.3"; + pname = "adapta-backgrounds"; + version = "0.5.3.1"; src = fetchFromGitHub { owner = "adapta-project"; repo = "adapta-backgrounds"; rev = version; - sha256 = "0n0ggcxinja81lasmpviqq3l4jiwb05bs8r5aah1im2zvls1g007"; + sha256 = "04hmbmzf97rsii8gpwy3wkljy5xhxmlsl34d63s6hfy05knclydj"; }; - nativeBuildInputs = [ autoreconfHook ]; + nativeBuildInputs = [ meson ninja pkgconfig glib ]; meta = with stdenv.lib; { description = "Wallpaper collection for adapta-project"; - homepage = https://github.com/adapta-project/adapta-backgrounds; + homepage = "https://github.com/adapta-project/adapta-backgrounds"; license = with licenses; [ gpl2 cc-by-sa-40 ]; platforms = platforms.all; - maintainers = [ maintainers.romildo ]; + maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/data/misc/cacert/setup-hook.sh b/pkgs/data/misc/cacert/setup-hook.sh index b704a6a919e..e969596752f 100644 --- a/pkgs/data/misc/cacert/setup-hook.sh +++ b/pkgs/data/misc/cacert/setup-hook.sh @@ -1,4 +1,6 @@ cacertHook() { + export NIX_SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt + # left for compatibility export SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt } diff --git a/pkgs/data/misc/combinatorial_designs/default.nix b/pkgs/data/misc/combinatorial_designs/default.nix index 18331b5ada9..5df7343f3be 100644 --- a/pkgs/data/misc/combinatorial_designs/default.nix +++ b/pkgs/data/misc/combinatorial_designs/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "combinatorial_designs-${version}"; + pname = "combinatorial_designs"; version = "20140630"; src = fetchurl { diff --git a/pkgs/data/misc/conway_polynomials/default.nix b/pkgs/data/misc/conway_polynomials/default.nix index fec422b33ac..48b538fe183 100644 --- a/pkgs/data/misc/conway_polynomials/default.nix +++ b/pkgs/data/misc/conway_polynomials/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "conway_polynomials-${version}"; + pname = "conway_polynomials"; version = "0.5"; pythonEnv = python.withPackages (ps: with ps; [ six ]); diff --git a/pkgs/data/misc/ddccontrol-db/default.nix b/pkgs/data/misc/ddccontrol-db/default.nix index 2dbd062d4fb..3cadb477ae8 100644 --- a/pkgs/data/misc/ddccontrol-db/default.nix +++ b/pkgs/data/misc/ddccontrol-db/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "Monitor database for DDCcontrol"; - homepage = http://github.com/ddccontrol/ddccontrol-db; + homepage = https://github.com/ddccontrol/ddccontrol-db; license = licenses.gpl2; platforms = platforms.linux; maintainers = [ stdenv.lib.maintainers.pakhfn ]; diff --git a/pkgs/data/misc/elliptic_curves/default.nix b/pkgs/data/misc/elliptic_curves/default.nix index 528486328c6..49b8736b084 100644 --- a/pkgs/data/misc/elliptic_curves/default.nix +++ b/pkgs/data/misc/elliptic_curves/default.nix @@ -6,7 +6,6 @@ stdenv.mkDerivation rec { pname = "elliptic_curves"; version = "0.8"; - name = "${pname}-${version}"; src = fetchurl { url = "mirror://sageupstream/${pname}/${pname}-${version}.tar.bz2"; diff --git a/pkgs/data/misc/geolite-legacy/default.nix b/pkgs/data/misc/geolite-legacy/default.nix index 309ae47a851..38662bef0af 100644 --- a/pkgs/data/misc/geolite-legacy/default.nix +++ b/pkgs/data/misc/geolite-legacy/default.nix @@ -7,7 +7,7 @@ let }; in stdenv.mkDerivation rec { - name = "geolite-legacy-${version}"; + pname = "geolite-legacy"; version = "2017-12-02"; srcGeoIP = fetchDB diff --git a/pkgs/data/misc/graphs/default.nix b/pkgs/data/misc/graphs/default.nix index aea5feef46c..14551c6a4a4 100644 --- a/pkgs/data/misc/graphs/default.nix +++ b/pkgs/data/misc/graphs/default.nix @@ -5,7 +5,6 @@ stdenv.mkDerivation rec { pname = "graphs"; version = "20161026"; - name = "${pname}-${version}"; src = fetchurl { url = "mirror://sageupstream/${pname}/${pname}-${version}.tar.bz2"; diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix index c50c511e736..87c4afb986b 100644 --- a/pkgs/data/misc/hackage/default.nix +++ b/pkgs/data/misc/hackage/default.nix @@ -1,6 +1,6 @@ { fetchurl }: fetchurl { - url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/e95fefd56a6b8de585e92cd34de4870e31fb7bc7.tar.gz"; - sha256 = "08pzxwsc4incrl5mv8572xs9332206p2cw2mynxks33n7nh98vmx"; + url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/2b4df08d487f0821b932f92392b67fe12dc1d42c.tar.gz"; + sha256 = "02d06fr2jr69za5751z25c3x3zspiwdmlhmdmxaj1g48v00gbfag"; } diff --git a/pkgs/data/misc/iana-etc/default.nix b/pkgs/data/misc/iana-etc/default.nix index 59773e34cce..3124b57ac2b 100644 --- a/pkgs/data/misc/iana-etc/default.nix +++ b/pkgs/data/misc/iana-etc/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchzip }: let - version = "20181219"; + version = "20190731"; in fetchzip { name = "iana-etc-${version}"; url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz"; - sha256 = "0i3f7shvf1g6dp984w8xfix6id3q5c10b292wz2qw3v5n7h6wkm3"; + sha256 = "0vqr4zm53zn7z75ynmf59xfrlhpyk8f41xd6i4v8j0f7k6hfdvpi"; postFetch = '' tar -xzvf $downloadedFile --strip-components=1 diff --git a/pkgs/data/misc/libkkc-data/default.nix b/pkgs/data/misc/libkkc-data/default.nix index 343071fcf59..cb446e9b0bc 100644 --- a/pkgs/data/misc/libkkc-data/default.nix +++ b/pkgs/data/misc/libkkc-data/default.nix @@ -3,10 +3,9 @@ stdenv.mkDerivation rec { pname = "libkkc-data"; version = "0.2.7"; - name = "${pname}-${version}"; src = fetchurl { - url = "${meta.homepage}/releases/download/v${libkkc.version}/${name}.tar.xz"; + url = "${meta.homepage}/releases/download/v${libkkc.version}/${pname}-${version}.tar.xz"; sha256 = "16avb50jasq2f1n9xyziky39dhlnlad0991pisk3s11hl1aqfrwy"; }; diff --git a/pkgs/data/misc/mobile-broadband-provider-info/default.nix b/pkgs/data/misc/mobile-broadband-provider-info/default.nix index 9f135c423bc..a2df56c0898 100644 --- a/pkgs/data/misc/mobile-broadband-provider-info/default.nix +++ b/pkgs/data/misc/mobile-broadband-provider-info/default.nix @@ -1,23 +1,25 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, gnome3 }: -let - version = "20190116"; - pname = "mobile-broadband-provider-info"; - name = "${pname}-${version}"; -in stdenv.mkDerivation rec { - inherit name; + pname = "mobile-broadband-provider-info"; + version = "20190116"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${version}/${name}.tar.xz"; + url = "mirror://gnome/sources/${pname}/${version}/${pname}-${version}.tar.xz"; sha256 = "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"; }; - meta = { + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; + + meta = with stdenv.lib; { description = "Mobile broadband service provider database"; - homepage = http://live.gnome.org/NetworkManager/MobileBroadband/ServiceProviders; - platforms = stdenv.lib.platforms.all; - license = stdenv.lib.licenses.publicDomain; + homepage = https://wiki.gnome.org/Projects/NetworkManager/MobileBroadband/ServiceProviders; + license = licenses.publicDomain; maintainers = [ ]; + platforms = platforms.all; }; } diff --git a/pkgs/data/misc/nixos-artwork/wallpapers.nix b/pkgs/data/misc/nixos-artwork/wallpapers.nix index 50f874baa4a..3983869a452 100644 --- a/pkgs/data/misc/nixos-artwork/wallpapers.nix +++ b/pkgs/data/misc/nixos-artwork/wallpapers.nix @@ -6,7 +6,7 @@ let stdenv.mkDerivation { inherit name src; - unpackPhase = "true"; + dontUnpack = true; installPhase = '' mkdir -p $out/share/artwork/gnome diff --git a/pkgs/data/misc/osinfo-db/default.nix b/pkgs/data/misc/osinfo-db/default.nix index d8f5ebf56b9..b41c4a4c5aa 100644 --- a/pkgs/data/misc/osinfo-db/default.nix +++ b/pkgs/data/misc/osinfo-db/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, osinfo-db-tools, intltool, libxml2 }: stdenv.mkDerivation rec { - name = "osinfo-db-20181214"; + pname = "osinfo-db"; + version = "20190805"; src = fetchurl { - url = "https://releases.pagure.org/libosinfo/${name}.tar.xz"; - sha256 = "18ym54wvhvjk66fqpsfvfd5b7d7743dvfqrcq91w1n71r20fkhcd"; + url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz"; + sha256 = "1la80kmh58nrra8aa4grv31gc7xbqbybl8q1m4yv0byb11slg93x"; }; nativeBuildInputs = [ osinfo-db-tools intltool libxml2 ]; diff --git a/pkgs/data/misc/pari-galdata/default.nix b/pkgs/data/misc/pari-galdata/default.nix index 222fd2f8870..1b6b60f104e 100644 --- a/pkgs/data/misc/pari-galdata/default.nix +++ b/pkgs/data/misc/pari-galdata/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { version = "20080411"; - name = "pari-galdata-${version}"; + pname = "pari-galdata"; src = fetchurl { url = "http://pari.math.u-bordeaux.fr/pub/pari/packages/galdata.tgz"; diff --git a/pkgs/data/misc/pari-seadata-small/default.nix b/pkgs/data/misc/pari-seadata-small/default.nix index 967122c1bd4..2d3d52f697e 100644 --- a/pkgs/data/misc/pari-seadata-small/default.nix +++ b/pkgs/data/misc/pari-seadata-small/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { version = "20090618"; - name = "pari-seadata-small-${version}"; + pname = "pari-seadata-small"; src = fetchurl { url = "http://pari.math.u-bordeaux.fr/pub/pari/packages/seadata-small.tgz"; diff --git a/pkgs/data/misc/polytopes_db/default.nix b/pkgs/data/misc/polytopes_db/default.nix index 85f2cff09db..8fec9a85426 100644 --- a/pkgs/data/misc/polytopes_db/default.nix +++ b/pkgs/data/misc/polytopes_db/default.nix @@ -5,7 +5,6 @@ stdenv.mkDerivation rec { pname = "polytopes_db"; version = "20170220"; - name = "${pname}-${version}"; src = fetchurl { url = "mirror://sageupstream/${pname}/${pname}-${version}.tar.bz2"; diff --git a/pkgs/data/misc/publicsuffix-list/default.nix b/pkgs/data/misc/publicsuffix-list/default.nix new file mode 100644 index 00000000000..b5414ab18b4 --- /dev/null +++ b/pkgs/data/misc/publicsuffix-list/default.nix @@ -0,0 +1,25 @@ +{ lib, fetchFromGitHub }: + +let + pname = "publicsuffix-list"; + version = "2019-05-24"; +in fetchFromGitHub rec { + name = "${pname}-${version}"; + owner = "publicsuffix"; + repo = "list"; + rev = "a1db0e898956e126de65be1a5e977fbbbbeebe33"; + sha256 = "092153w2jr7nx28p9wc9k6b5azi9c39ghnqfnfiwfzv1j8jm3znq"; + + postFetch = '' + tar xf $downloadedFile --strip=1 + install -Dm0444 public_suffix_list.dat tests/test_psl.txt -t $out/share/publicsuffix + ''; + + meta = with lib; { + homepage = "https://publicsuffix.org/"; + description = "Cross-vendor public domain suffix database"; + platforms = platforms.all; + license = licenses.mpl20; + maintainers = [ maintainers.c0bw3b ]; + }; +} diff --git a/pkgs/data/misc/scowl/default.nix b/pkgs/data/misc/scowl/default.nix index c90b8aa7e37..f15a7534e26 100644 --- a/pkgs/data/misc/scowl/default.nix +++ b/pkgs/data/misc/scowl/default.nix @@ -3,7 +3,6 @@ }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "scowl"; version = "2018.04.16"; diff --git a/pkgs/data/misc/shared-mime-info/default.nix b/pkgs/data/misc/shared-mime-info/default.nix index f82ae5f1f9f..79924c4832f 100644 --- a/pkgs/data/misc/shared-mime-info/default.nix +++ b/pkgs/data/misc/shared-mime-info/default.nix @@ -1,13 +1,14 @@ {stdenv, fetchurl, pkgconfig, gettext, perlPackages, intltool , libxml2, glib}: -let version = "1.10"; in +let version = "1.12"; in stdenv.mkDerivation rec { - name = "shared-mime-info-${version}"; + pname = "shared-mime-info"; + inherit version; src = fetchurl { - url = "http://freedesktop.org/~hadess/${name}.tar.xz"; - sha256 = "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"; + url = "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/80c7f1afbcad2769f38aeb9ba6317a51/shared-mime-info-1.12.tar.xz"; + sha256 = "0gj0pp36qpsr9w6v4nywnjpcisadwkndapqsjn0ny3gd0zzg1chq"; }; nativeBuildInputs = [ pkgconfig gettext intltool ] ++ (with perlPackages; [ perl XMLParser ]); diff --git a/pkgs/data/misc/sound-theme-freedesktop/default.nix b/pkgs/data/misc/sound-theme-freedesktop/default.nix index 043d3d65b84..355a2c2c577 100644 --- a/pkgs/data/misc/sound-theme-freedesktop/default.nix +++ b/pkgs/data/misc/sound-theme-freedesktop/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, intltool }: stdenv.mkDerivation rec { - name = "sound-theme-freedesktop-${version}"; + pname = "sound-theme-freedesktop"; version = "0.8"; src = fetchurl { sha256 = "054abv4gmfk9maw93fis0bf605rc56dah7ys5plc4pphxqh8nlfb"; - url = "https://people.freedesktop.org/~mccann/dist/${name}.tar.bz2"; + url = "https://people.freedesktop.org/~mccann/dist/${pname}-${version}.tar.bz2"; }; nativeBuildInputs = [ intltool ]; diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix index 59079b28efc..c1f9153c585 100644 --- a/pkgs/data/misc/tzdata/default.nix +++ b/pkgs/data/misc/tzdata/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchurl, buildPackages }: stdenv.mkDerivation rec { - name = "tzdata-${version}"; - version = "2018g"; + pname = "tzdata"; + version = "2019a"; srcs = [ (fetchurl { url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz"; - sha256 = "05kayi3w9pvhj6ljx1hvwd0r8mxfzn436fjmwhx53xkj919xxpq2"; + sha256 = "0wlpqm4asvi0waaz24xj20iq40gqfypmb4nldjhkfgm09bgnsdlh"; }) (fetchurl { url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz"; - sha256 = "09y44fzcdq3c06saa8iqqa0a59cyw6ni3p31ps0j1w3hcpxz8lxa"; + sha256 = "1x9z8fpgnhzlsnps0hamb54ymaskjab7ys9m4i4gpk9hpiig2fc7"; }) ]; diff --git a/pkgs/data/misc/wireless-regdb/default.nix b/pkgs/data/misc/wireless-regdb/default.nix index b5293c6d341..43847b4b3b6 100644 --- a/pkgs/data/misc/wireless-regdb/default.nix +++ b/pkgs/data/misc/wireless-regdb/default.nix @@ -1,18 +1,18 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "wireless-regdb-${version}"; - version = "2018.10.24"; + pname = "wireless-regdb"; + version = "2019.06.03"; src = fetchurl { - url = "https://www.kernel.org/pub/software/network/wireless-regdb/${name}.tar.xz"; - sha256 = "05lixkdzy7f3wpan6svh1n9f70rs0kfw6hl6p34sl8bxqxd88ghd"; + url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz"; + sha256 = "1gslvh0aqdkv48jyr2ddq153mw28i7qz2ybrjj9qvkk3dgc7x4fd"; }; dontBuild = true; makeFlags = [ - "DESTDIR=$(out)" + "DESTDIR=${placeholder "out"}" "PREFIX=" ]; diff --git a/pkgs/data/misc/xorg-rgb/default.nix b/pkgs/data/misc/xorg-rgb/default.nix index e1136299260..12acc424b9d 100644 --- a/pkgs/data/misc/xorg-rgb/default.nix +++ b/pkgs/data/misc/xorg-rgb/default.nix @@ -1,6 +1,5 @@ {stdenv, fetchurl, pkgconfig, xorgproto}: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "rgb"; version = "1.0.6"; diff --git a/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix b/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix index 4986101584e..17303e682b9 100644 --- a/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix +++ b/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix @@ -1,11 +1,12 @@ { lib, stdenv, fetchurl, unzip }: -stdenv.mkDerivation { - name = "docbook5-5.0"; +stdenv.mkDerivation rec { + pname = "docbook5"; + version = "5.0.1"; src = fetchurl { - url = http://www.docbook.org/xml/5.0/docbook-5.0.zip; - sha256 = "13i04dkd709f0p5f2413sf2y9321pfi4y85ynf8wih6ryphnbk9x"; + url = "http://www.docbook.org/xml/${version}/docbook-${version}.zip"; + sha256 = "1iz3hq1lqgnshvlz4j9gvh4jy1ml74qf90vqf2ikbq0h4i2xzybs"; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix b/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix index cc71e002632..9728b2f96c4 100644 --- a/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix +++ b/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix @@ -17,7 +17,7 @@ in stdenv.mkDerivation { name = "docbook-sgml-3.1"; - unpackPhase = "true"; + dontUnpack = true; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix b/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix index dc7ebf5959d..78b99081504 100644 --- a/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix +++ b/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix @@ -17,7 +17,7 @@ in stdenv.mkDerivation { name = "docbook-sgml-4.1"; - unpackPhase = "true"; + dontUnpack = true; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/catalog-legacy-uris.patch b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/catalog-legacy-uris.patch new file mode 100644 index 00000000000..72922eee96c --- /dev/null +++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/catalog-legacy-uris.patch @@ -0,0 +1,10 @@ +--- a/catalog.xml ++++ b/catalog.xml +@@ -5,4 +5,7 @@ + + + ++ ++ ++ + diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix index ef7b1f93d74..5297d5dbd5d 100644 --- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix +++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix @@ -1,66 +1,77 @@ -{ lib, stdenv, fetchurl, fetchpatch, findXMLCatalogs, writeScriptBin, ruby, bash }: +{ lib, stdenv, substituteAll, fetchurl, fetchpatch, findXMLCatalogs, writeScriptBin, ruby, bash }: let - common = { pname, sha256, patches ? [] }: let self = stdenv.mkDerivation rec { - name = "${pname}-1.79.1"; + common = { pname, sha256, suffix ? "" }: let + legacySuffix = if suffix == "-nons" then "" else "-ns"; + self = stdenv.mkDerivation rec { + inherit pname; + version = "1.79.2"; - src = fetchurl { - url = "mirror://sourceforge/docbook/${name}.tar.bz2"; - inherit sha256; - }; + src = fetchurl { + url = "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F${version}/docbook-xsl${suffix}-${version}.tar.bz2"; + inherit sha256; + }; - inherit patches; + patches = [ + # Prevent a potential stack overflow + # https://github.com/docbook/xslt10-stylesheets/pull/37 + (fetchpatch { + url = https://src.fedoraproject.org/rpms/docbook-style-xsl/raw/e3ae7a97ed1d185594dd35954e1a02196afb205a/f/docbook-style-xsl-non-recursive-string-subst.patch; + sha256 = "0lrjjg5kpwwmbhkxzz6i5zmimb6lsvrrdhzc2qgjmb3r6jnsmii3"; + stripLen = "1"; + }) - propagatedBuildInputs = [ findXMLCatalogs ]; + # Add legacy sourceforge.net URIs to the catalog + (substituteAll { + src = ./catalog-legacy-uris.patch; + inherit legacySuffix suffix version; + }) + ]; - dontBuild = true; + propagatedBuildInputs = [ findXMLCatalogs ]; - installPhase = '' - dst=$out/share/xml/${pname} - mkdir -p $dst - rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh svn* tools log Makefile tests extensions webhelp - mv * $dst/ + dontBuild = true; - # Backwards compatibility. Will remove eventually. - mkdir -p $out/xml/xsl - ln -s $dst $out/xml/xsl/docbook - ''; + installPhase = '' + dst=$out/share/xml/${pname} + mkdir -p $dst + rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh tools Makefile tests extensions webhelp + mv * $dst/ - passthru.dbtoepub = writeScriptBin "dbtoepub" - '' - #!${bash}/bin/bash - exec -a dbtoepub ${ruby}/bin/ruby ${self}/share/xml/${pname}/epub/bin/dbtoepub "$@" + # Backwards compatibility. Will remove eventually. + mkdir -p $out/xml/xsl + ln -s $dst $out/xml/xsl/docbook + + # More backwards compatibility + ln -s $dst $out/share/xml/docbook-xsl${legacySuffix} ''; - meta = { - homepage = http://wiki.docbook.org/topic/DocBookXslStylesheets; - description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats"; - maintainers = [ lib.maintainers.eelco ]; - platforms = lib.platforms.all; + passthru.dbtoepub = writeScriptBin "dbtoepub" + '' + #!${bash}/bin/bash + exec -a dbtoepub ${ruby}/bin/ruby ${self}/share/xml/${pname}/epub/bin/dbtoepub "$@" + ''; + + meta = { + homepage = http://wiki.docbook.org/topic/DocBookXslStylesheets; + description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats"; + maintainers = [ lib.maintainers.eelco ]; + platforms = lib.platforms.all; + }; }; - }; in self; + in self; in { - docbook_xsl = common { - pname = "docbook-xsl"; - sha256 = "0s59lihif2fr7rznckxr2kfyrvkirv76r1zvidp9b5mj28p4apvj"; - - patches = [(fetchpatch { - name = "potential-infinite-template-recursion.patch"; - url = "https://src.fedoraproject.org/cgit/rpms/docbook-style-xsl.git/" - + "plain/docbook-style-xsl-non-recursive-string-subst.patch?id=bf9e5d16fd"; - sha256 = "1pfb468bsj3j879ip0950waih0r1s6rzfbm2p70glbz0g3903p7h"; - stripLen = "1"; - })]; - + docbook-xsl-nons = common { + pname = "docbook-xsl-nons"; + suffix = "-nons"; + sha256 = "00i1hdyxim8jymv2dz68ix3wbs5w6isxm8ijb03qk3vs1g59x2zf"; }; - docbook_xsl_ns = common { + docbook-xsl-ns = common { pname = "docbook-xsl-ns"; - sha256 = "170ggf5dgjar65kkn5n33kvjr3pdinpj66nnxfx8b2avw0k91jin"; - - patches = [ ./docbook-xsl-ns-infinite.patch ]; + sha256 = "0wd33z41kdsybyx3ay21w6bdlmgpd9kyn3mr5y520lsf8km28r9i"; }; } diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch deleted file mode 100644 index 5729f9b43c8..00000000000 --- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch +++ /dev/null @@ -1,30 +0,0 @@ -Description: Remove infinite recursion -Attribute: docbook5_xsl -Version: 1.79.1 -URL: https://github.com/NixOS/nixpkgs/issues/39090 -diff -ru a/lib/lib.xsl b/lib/lib.xsl ---- a/lib/lib.xsl 2015-12-26 15:15:37.000000000 -0800 -+++ b/lib/lib.xsl 2018-03-22 11:52:45.311949264 -0700 -@@ -11,8 +11,10 @@ - - ******************************************************************** --> - -+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" -+ xmlns:d="http://docbook.org/ns/docbook" -+ xmlns:str="http://exslt.org/strings" -+ version="1.0"> - - - -@@ -58,6 +61,9 @@ - - - -+ -+ -+ - - - diff --git a/pkgs/data/themes/adementary/default.nix b/pkgs/data/themes/adementary/default.nix new file mode 100644 index 00000000000..40190d65d5e --- /dev/null +++ b/pkgs/data/themes/adementary/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, gtk3, sassc }: + +stdenv.mkDerivation rec { + pname = "adementary-theme"; + version = "201905r1"; + + src = fetchFromGitHub { + owner = "hrdwrrsk"; + repo = pname; + rev = version; + sha256 = "14y5s18g9r2c1ciw1skfksn09gvqgy8vjvwbr0z8gacf0jc2apqk"; + }; + + preBuild = '' + # Shut up inkscape's warnings + export HOME="$NIX_BUILD_ROOT" + ''; + + nativeBuildInputs = [ sassc ]; + buildInputs = [ gtk3 ]; + + postPatch = "patchShebangs ."; + + installPhase = '' + mkdir -p $out/share/themes + ./install.sh -d $out/share/themes + ''; + + meta = with stdenv.lib; { + description = "Adwaita-based gtk+ theme with design influence from elementary OS and Vertex gtk+ theme"; + homepage = https://github.com/hrdwrrsk/adementary-theme; + license = licenses.gpl3; + maintainers = with maintainers; [ dtzWill ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/data/themes/greybird/default.nix b/pkgs/data/themes/greybird/default.nix index 02c8d2b6490..d573603ce90 100644 --- a/pkgs/data/themes/greybird/default.nix +++ b/pkgs/data/themes/greybird/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, which, sassc, glib, libxml2, gdk_pixbuf, librsvg, gtk-engine-murrine }: +{ stdenv, fetchFromGitHub, autoreconfHook, which, sassc, glib, libxml2, gdk-pixbuf, librsvg, gtk-engine-murrine }: stdenv.mkDerivation rec { pname = "greybird"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gdk_pixbuf + gdk-pixbuf librsvg ]; diff --git a/pkgs/data/themes/matcha/default.nix b/pkgs/data/themes/matcha/default.nix index edb1113a696..09ca8897a21 100644 --- a/pkgs/data/themes/matcha/default.nix +++ b/pkgs/data/themes/matcha/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchFromGitHub, gdk_pixbuf, librsvg, gtk-engine-murrine }: +{ stdenv, fetchFromGitHub, gdk-pixbuf, librsvg, gtk-engine-murrine }: stdenv.mkDerivation rec { - name = "matcha-${version}"; - version = "2018-12-24"; + pname = "matcha"; + version = "2019-06-22"; src = fetchFromGitHub { owner = "vinceliuice"; repo = "matcha"; - rev = version; - sha256 = "178y5s5jfprkw8y6clqb8ss4kvfswivfrh6cn67fk4z7wg72i3yc"; + rev = "f42df7a3219d7fbacb7be1b2e0e416d74339865e"; + sha256 = "1x954rmxv14xndn4ybhbr4pmzccnwqp462bpvzd2hak5wsqs4wxc"; }; - buildInputs = [ gdk_pixbuf librsvg ]; + buildInputs = [ gdk-pixbuf librsvg ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; diff --git a/pkgs/data/themes/materia-theme/default.nix b/pkgs/data/themes/materia-theme/default.nix index efafdb5d3bb..ccdd1067302 100644 --- a/pkgs/data/themes/materia-theme/default.nix +++ b/pkgs/data/themes/materia-theme/default.nix @@ -1,19 +1,19 @@ -{ stdenv, fetchFromGitHub, gnome3, libxml2, gtk-engine-murrine, gdk_pixbuf, librsvg, bc }: +{ stdenv, fetchFromGitHub, gnome3, glib, libxml2, gtk-engine-murrine, gdk-pixbuf, librsvg, bc }: stdenv.mkDerivation rec { pname = "materia-theme"; - version = "20190201"; + version = "20190315"; src = fetchFromGitHub { owner = "nana-4"; repo = pname; rev = "v${version}"; - sha256 = "0al6d1ijrdzhia1nflyy178r1jszh82splv81cjpj8cyrq579r32"; + sha256 = "1fpipwvwxjiriqhysqgx51rnax73hyd5jkyxhc2g3y73s5r2xq82"; }; - nativeBuildInputs = [ gnome3.glib libxml2 bc ]; + nativeBuildInputs = [ glib libxml2 bc ]; - buildInputs = [ gnome3.gnome-themes-extra gdk_pixbuf librsvg ]; + buildInputs = [ gnome3.gnome-themes-extra gdk-pixbuf librsvg ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; diff --git a/pkgs/data/themes/mojave/default.nix b/pkgs/data/themes/mojave/default.nix index 7c3c852e6af..1fc82e8aca2 100644 --- a/pkgs/data/themes/mojave/default.nix +++ b/pkgs/data/themes/mojave/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "mojave-gtk-theme"; - version = "2019-01-02"; + version = "2019-05-21"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; - rev = version; - sha256 = "053bfc5pslwpqhn05dzznh236g1z4cnn2dzwvb914f6m855fbxfg"; + rev = "f6167740b308715b38567ec660aa5241d964af1b"; + sha256 = "1k57f5vimdrciskjgxqz7k0xybc7b8pwcsii0p6kc8klmyrjrr9c"; }; buildInputs = [ gtk_engines ]; diff --git a/pkgs/data/themes/nordic-polar/default.nix b/pkgs/data/themes/nordic-polar/default.nix index af1ccd0a582..d1cfb800001 100644 --- a/pkgs/data/themes/nordic-polar/default.nix +++ b/pkgs/data/themes/nordic-polar/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchurl, gtk-engine-murrine }: stdenv.mkDerivation rec { - name = "nordic-polar-${version}"; - version = "1.4.0"; + pname = "nordic-polar"; + version = "1.5.0"; srcs = [ (fetchurl { - url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v${version}/Nordic-Polar.tar.xz"; - sha256 = "0sw4m1njnxal1kkiipsvfg9ndzxsf9rxfba5vhwswyzk388264xa"; + url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v.${version}/Nordic-Polar.tar.xz"; + sha256 = "0ddccxvyf929045x6fm8xyx6rvb0d6wh6pylycwgqqm4vxbdwnly"; }) (fetchurl { - url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v${version}/Nordic-Polar-standard-buttons.tar.xz"; - sha256 = "0ix0x0pnhfd1lrfj7a7n8xfg8vvzg7m0dzrsj8gzpav6wvwlypiy"; + url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v.${version}/Nordic-Polar-standard-buttons.tar.xz"; + sha256 = "0q0qfy0aw80rds6isx3pjrqx4zrq2crxrm29nrmyzh4gr7n17li6"; }) ]; diff --git a/pkgs/data/themes/nordic/default.nix b/pkgs/data/themes/nordic/default.nix index 93df3c723dd..5172b2992cc 100644 --- a/pkgs/data/themes/nordic/default.nix +++ b/pkgs/data/themes/nordic/default.nix @@ -1,25 +1,25 @@ { stdenv, fetchurl, gtk-engine-murrine }: stdenv.mkDerivation rec { - name = "nordic-${version}"; - version = "1.5.4"; + pname = "nordic"; + version = "1.6.5"; srcs = [ (fetchurl { url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic.tar.xz"; - sha256 = "0m00hwr6ms9fzlpl97d972wvgq5l0m11mpn213248a8sqbh2zz9g"; + sha256 = "163g1kh92fhgbwi91053xs39bpdd032w2v67c3jf8lf4cgvkwggp"; }) (fetchurl { url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-blue.tar.xz"; - sha256 = "05k1m9f0q4mfaqp2as3ymjsqmyz0bs5cd576srd5v952dzxmmbm2"; + sha256 = "05qq1v8sil8s51aa78q2najcqdnkpgdzc8dckrx47wy36cfxbxwz"; }) (fetchurl { url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-standard-buttons.tar.xz"; - sha256 = "1qps13fpp8y83c25c51w7kyds266gmks8c7kjp23iybij2lkny1m"; + sha256 = "17r450xxd8v8125a4bwd0yj3f3vnwcad2f19a0vgmk63s9grvkg0"; }) (fetchurl { url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-blue-standard-buttons.tar.xz"; - sha256 = "1c0j6qsxa6zahrl9ad0q6pczgbmm8qn9qsd7k41yk2ndh9iqzr5y"; + sha256 = "0894naw0wkl2h9l27qz9h1k02dfgfqyb02icmgadg0cb44j3zlpb"; }) ]; diff --git a/pkgs/data/themes/obsidian2/default.nix b/pkgs/data/themes/obsidian2/default.nix new file mode 100644 index 00000000000..3a2dcea4b3a --- /dev/null +++ b/pkgs/data/themes/obsidian2/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchFromGitHub, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "theme-obsidian2"; + version = "2.9"; + + src = fetchFromGitHub { + owner = "madmaxms"; + repo = "theme-obsidian-2"; + rev = "v${version}"; + sha256 = "1m89ws2a4nms4m8187d5cxi281b66i59xa5shlp3g1r2jc4312cy"; + }; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + cp -a Obsidian-2 $out/share/themes + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "Gnome theme, based upon Adwaita-Maia dark skin"; + homepage = https://github.com/madmaxms/theme-obsidian-2; + license = with licenses; [ gpl3 ]; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/plano/default.nix b/pkgs/data/themes/plano/default.nix index ebfafe98e5a..b009bd2780c 100644 --- a/pkgs/data/themes/plano/default.nix +++ b/pkgs/data/themes/plano/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchFromGitHub, gdk_pixbuf, gtk_engines, gtk-engine-murrine }: +{ stdenv, fetchFromGitHub, gdk-pixbuf, gtk_engines, gtk-engine-murrine }: stdenv.mkDerivation rec { pname = "plano-theme"; - version = "3.30-3"; + version = "3.32-1"; src = fetchFromGitHub { owner = "lassekongo83"; repo = pname; rev = "v${version}"; - sha256 = "1rb9whr5r2pj6fmwa9g0vdrfki3dqldnx85mpyq07jvxkipcdq6g"; + sha256 = "0p9j4p32489jb6d67jhf9x26my0mddcc6a174x713drch8zvb96l"; }; - buildInputs = [ gdk_pixbuf gtk_engines ]; + buildInputs = [ gdk-pixbuf gtk_engines ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; diff --git a/pkgs/data/themes/plata/default.nix b/pkgs/data/themes/plata/default.nix index d839d4a3dd8..cf2eb5447f7 100644 --- a/pkgs/data/themes/plata/default.nix +++ b/pkgs/data/themes/plata/default.nix @@ -1,14 +1,15 @@ { stdenv, fetchFromGitLab, autoreconfHook, pkgconfig, parallel -, sassc, inkscape, libxml2, gnome2, gdk_pixbuf, librsvg, gtk-engine-murrine +, sassc, inkscape, libxml2, glib, gdk-pixbuf, librsvg, gtk-engine-murrine , cinnamonSupport ? true , gnomeFlashbackSupport ? true , gnomeShellSupport ? true -, mateSupport ? true , openboxSupport ? true , xfceSupport ? true +, mateSupport ? true, gtk3, marco , gtkNextSupport ? false , plankSupport ? false -, telegramSupport ? false +, steamSupport ? false +, telegramSupport ? false, zip , tweetdeckSupport ? false , selectionColor ? null # Primary color for 'selected-items' (Default: #3F51B5 = Indigo500) , accentColor ? null # Secondary color for notifications and OSDs (Default: #7986CB = Indigo300) @@ -17,14 +18,14 @@ }: stdenv.mkDerivation rec { - name = "plata-theme-${version}"; - version = "0.4.9"; + pname = "plata-theme"; + version = "0.8.9"; src = fetchFromGitLab { owner = "tista500"; repo = "plata-theme"; rev = version; - sha256 = "0kj04nj265rgkbbhzhz9f7q6z5yr1dxmcrnq1b5ldha3xqrq2pv9"; + sha256 = "0a2wczxxfd2nfr7biawbs3rwy2sivcl2sv43y2638gmfp0w6zh9r"; }; preferLocalBuild = true; @@ -36,11 +37,13 @@ stdenv.mkDerivation rec { sassc inkscape libxml2 - gnome2.glib.dev - ]; + glib.dev + ] + ++ stdenv.lib.optionals mateSupport [ gtk3 marco ] + ++ stdenv.lib.optional telegramSupport zip; buildInputs = [ - gdk_pixbuf + gdk-pixbuf librsvg ]; @@ -57,11 +60,12 @@ stdenv.mkDerivation rec { (enableFeature cinnamonSupport "cinnamon") (enableFeature gnomeFlashbackSupport "flashback") (enableFeature gnomeShellSupport "gnome") - (enableFeature mateSupport "mate") (enableFeature openboxSupport "openbox") (enableFeature xfceSupport "xfce") + (enableFeature mateSupport "mate") (enableFeature gtkNextSupport "gtk_next") (enableFeature plankSupport "plank") + (enableFeature steamSupport "airforsteam") (enableFeature telegramSupport "telegram") (enableFeature tweetdeckSupport "tweetdeck") ] @@ -70,6 +74,13 @@ stdenv.mkDerivation rec { ++ (withOptional suggestionColor "suggestion_color") ++ (withOptional destructionColor "destruction_color"); + postInstall = '' + for dest in $out/share/gtksourceview-{3.0,4}/styles; do + mkdir -p $dest + cp $out/share/themes/Plata-{Noir,Lumine}/gtksourceview/*.xml $dest + done + ''; + meta = with stdenv.lib; { description = "A Gtk+ theme based on Material Design Refresh"; homepage = https://gitlab.com/tista500/plata-theme; diff --git a/pkgs/data/themes/qogir/default.nix b/pkgs/data/themes/qogir/default.nix index ee1808cd68e..6461697b04f 100644 --- a/pkgs/data/themes/qogir/default.nix +++ b/pkgs/data/themes/qogir/default.nix @@ -1,24 +1,24 @@ -{ stdenv, fetchFromGitHub, gdk_pixbuf, librsvg, gtk-engine-murrine }: +{ stdenv, fetchFromGitHub, gdk-pixbuf, librsvg, gtk-engine-murrine }: stdenv.mkDerivation rec { pname = "qogir-theme"; - version = "2018-11-12"; + version = "2019-08-31"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; rev = version; - sha256 = "16hzgdl7d6jrd3gq0kmxad46gijc4hlxzy2rs3gqsfxqfj32nhqz"; + sha256 = "1pqfnqc2c6f5cidg6c3y492hqlyn5ma4b7ra2lchw7g2dxfvq8w1"; }; - buildInputs = [ gdk_pixbuf librsvg ]; + buildInputs = [ gdk-pixbuf librsvg ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; installPhase = '' patchShebangs . mkdir -p $out/share/themes - name= ./Install -d $out/share/themes + name= ./install.sh -d $out/share/themes ''; meta = with stdenv.lib; { diff --git a/pkgs/data/themes/shades-of-gray/default.nix b/pkgs/data/themes/shades-of-gray/default.nix index af73ec322d0..fb94fa00b75 100644 --- a/pkgs/data/themes/shades-of-gray/default.nix +++ b/pkgs/data/themes/shades-of-gray/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, gtk_engines, gtk-engine-murrine }: stdenv.mkDerivation rec { - name = "shades-of-gray-theme-${version}"; - version = "1.1.5"; + pname = "shades-of-gray-theme"; + version = "1.1.8"; src = fetchFromGitHub { owner = "WernerFP"; - repo = "Shades-of-gray-theme"; + repo = pname; rev = version; - sha256 = "1ql8rkbm5l94b842hg53cwf02vbw2785rlrs4cr60d4kn2c0lj2y"; + sha256 = "08i2pkq7ygf9fs9cdrw4khrb8m1w2hvgmz064g36fh35r02sms3w"; }; buildInputs = [ gtk_engines ]; diff --git a/pkgs/data/themes/sierra/default.nix b/pkgs/data/themes/sierra/default.nix new file mode 100644 index 00000000000..e5b5ad8d611 --- /dev/null +++ b/pkgs/data/themes/sierra/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, libxml2, gdk-pixbuf, librsvg, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "sierra-gtk-theme"; + version = "2019-05-07"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "0rm9lcwp89ljxqrya9bi882qcs339pc1l945cr1xq2rganqyk9cq"; + }; + + nativeBuildInputs = [ libxml2 ]; + + buildInputs = [ gdk-pixbuf librsvg ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + installPhase = '' + patchShebangs . + mkdir -p $out/share/themes + name= ./install.sh --dest $out/share/themes + ''; + + meta = with stdenv.lib; { + description = "A Mac OSX like theme for GTK based desktop environments"; + homepage = https://github.com/vinceliuice/Sierra-gtk-theme; + license = licenses.gpl3; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/stilo/default.nix b/pkgs/data/themes/stilo/default.nix new file mode 100644 index 00000000000..61ec697d841 --- /dev/null +++ b/pkgs/data/themes/stilo/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, meson, ninja, sassc, gdk-pixbuf, librsvg, gtk_engines, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "stilo-themes"; + version = "3.32-3"; + + src = fetchFromGitHub { + owner = "lassekongo83"; + repo = pname; + rev = "v${version}"; + sha256 = "0xcndr5mfa91f0ln0az3m79pidjy882v65w5fi5w05kykrmvv81z"; + }; + + nativeBuildInputs = [ meson ninja sassc ]; + + buildInputs = [ gdk-pixbuf librsvg gtk_engines ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + meta = with stdenv.lib; { + description = "Minimalistic GTK themes"; + homepage = https://github.com/lassekongo83/stilo-themes; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/zuki/default.nix b/pkgs/data/themes/zuki/default.nix index 5e4e439f2af..59099bf5227 100644 --- a/pkgs/data/themes/zuki/default.nix +++ b/pkgs/data/themes/zuki/default.nix @@ -1,25 +1,22 @@ -{ stdenv, fetchFromGitHub, gdk_pixbuf, librsvg, gtk-engine-murrine }: +{ stdenv, fetchFromGitHub, meson, ninja, sassc, gdk-pixbuf, librsvg, gtk_engines, gtk-engine-murrine }: stdenv.mkDerivation rec { pname = "zuki-themes"; - version = "3.30-1"; + version = "3.32-4"; src = fetchFromGitHub { owner = "lassekongo83"; repo = pname; rev = "v${version}"; - sha256 = "0d7i0jhjiarqnwkc1k505bw8r9bvbwk3x8yzqmc3vnwcd7mr3m9x"; + sha256 = "0kqhk9qy5hwsd6g0bmq2dg6yj9gbv7l514ripsfiqyllmf4h818h"; }; - buildInputs = [ gdk_pixbuf librsvg ]; + nativeBuildInputs = [ meson ninja sassc ]; + + buildInputs = [ gdk-pixbuf librsvg gtk_engines ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; - installPhase = '' - install -dm 755 $out/share/themes - cp -a Zuki* $out/share/themes/ - ''; - meta = with stdenv.lib; { description = "Themes for GTK3, gnome-shell and more"; homepage = https://github.com/lassekongo83/zuki-themes; diff --git a/pkgs/desktops/deepin/dbus-factory/default.nix b/pkgs/desktops/deepin/dbus-factory/default.nix index 3c99c40ee80..3a0695f3fb8 100644 --- a/pkgs/desktops/deepin/dbus-factory/default.nix +++ b/pkgs/desktops/deepin/dbus-factory/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitHub, jq, libxml2, go-dbus-generator, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "dbus-factory"; version = "3.1.17"; @@ -18,13 +17,13 @@ stdenv.mkDerivation rec { go-dbus-generator ]; - makeFlags = [ "GOPATH=$(out)/share/go" ]; + makeFlags = [ "GOPATH=${placeholder ''out''}/share/go" ]; postPatch = '' sed -i -e 's:/share/gocode:/share/go:' Makefile ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Generates static DBus bindings for Golang and QML at build-time"; diff --git a/pkgs/desktops/deepin/dde-api/default.nix b/pkgs/desktops/deepin/dde-api/default.nix index c1321acb853..b052a104240 100644 --- a/pkgs/desktops/deepin/dde-api/default.nix +++ b/pkgs/desktops/deepin/dde-api/default.nix @@ -1,12 +1,30 @@ { stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, - deepin-gettext-tools, go-dbus-factory, go-gir-generator, go-lib, - alsaLib, glib, gtk3, libcanberra, libgudev, librsvg, poppler, - pulseaudio, go, deepin }: + alsaLib, + bc, + blur-effect, + coreutils, + dbus-factory, + deepin, + deepin-gettext-tools, + fontconfig, + go, + go-dbus-factory, + go-gir-generator, + go-lib, + grub2, + gtk3, + libcanberra, + libgudev, + librsvg, + poppler, + pulseaudio, + rfkill, + xcur2png +}: buildGoPackage rec { - name = "${pname}-${version}"; pname = "dde-api"; - version = "3.5.0"; + version = "3.18.4.1"; goPackagePath = "pkg.deepin.io/dde/api"; @@ -14,47 +32,88 @@ buildGoPackage rec { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "1g3s0i5wa6qyv00yksz4r4cy2vhiknq8v0yx7aribvwm3gxf7jw3"; + sha256 = "0bcjp5ijwa4wmx6p43lik6vjlb7d5rk7nf8xl495i3yk9x70wyfa"; }; goDeps = ./deps.nix; + outputs = [ "out" ]; + nativeBuildInputs = [ pkgconfig - deepin-gettext-tools - go-dbus-factory - go-gir-generator - go-lib + deepin-gettext-tools # build + dbus-factory # build + go-dbus-factory # needed + go-gir-generator # needed + go-lib # build + deepin.setupHook ]; buildInputs = [ - alsaLib - glib - gtk3 - libcanberra - libgudev - librsvg - poppler - pulseaudio + alsaLib # needed + bc # run (to adjust grub theme?) + blur-effect # run (is it really needed?) + coreutils # run (is it really needed?) + fontconfig # run (is it really needed?) + #glib # ? arch + grub2 # run (is it really needed?) + gtk3 # build run + libcanberra # build run + libgudev # needed + librsvg # build run + poppler # build run + pulseaudio # needed + rfkill # run + xcur2png # run + #locales # run (locale-helper needs locale-gen, which is unavailable on NixOS?) ]; postPatch = '' - patchShebangs . - sed -i -e "s|/var|$bin/var|" Makefile + searchHardCodedPaths # debugging + + fixPath $out /usr/lib/deepin-api \ + lunar-calendar/main.go \ + misc/services/com.deepin.api.CursorHelper.service \ + misc/services/com.deepin.api.Graphic.service \ + misc/services/com.deepin.api.LunarCalendar.service \ + misc/services/com.deepin.api.Pinyin.service \ + misc/system-services/com.deepin.api.Device.service \ + misc/system-services/com.deepin.api.LocaleHelper.service \ + misc/system-services/com.deepin.api.SoundThemePlayer.service \ + misc/systemd/system/deepin-shutdown-sound.service \ + theme_thumb/gtk/gtk.go \ + thumbnails/gtk/gtk.go + fixPath $out /boot/grub Makefile # TODO: confirm where to install grub themes + fixPath $out /var Makefile + + # This package wants to install polkit local authority files into + # /var/lib. Nix does not allow a package to install files into /var/lib + # because it is outside of the Nix store and should contain applications + # state information (persistent data modified by programs as they + # run). Polkit looks for them in both /etc/polkit-1 and + # /var/lib/polkit-1 (with /etc having priority over /var/lib). An + # work around is to install them to $out/etc and simlnk them to + # /etc in the deepin module. + + sed -i -e "s,/var/lib/polkit-1,/etc/polkit-1," Makefile ''; buildPhase = '' + export GOCACHE="$TMPDIR/go-cache"; make -C go/src/${goPackagePath} ''; installPhase = '' - make install PREFIX="$bin" SYSTEMD_LIB_DIR="$bin/lib" -C go/src/${goPackagePath} - mkdir -p $out/share - mv $bin/share/gocode $out/share/go - remove-references-to -t ${go} $bin/bin/* $bin/lib/deepin-api/* + make install PREFIX="$out" SYSTEMD_LIB_DIR="$out/lib" -C go/src/${goPackagePath} + mv $out/share/gocode $out/share/go + remove-references-to -t ${go} $out/bin/* $out/lib/deepin-api/* ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + postFixup = '' + searchHardCodedPaths $out # debugging + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Go-lang bindings for dde-daemon"; diff --git a/pkgs/desktops/deepin/dde-api/deps.nix b/pkgs/desktops/deepin/dde-api/deps.nix index bd7a13043da..a3b5e20effc 100644 --- a/pkgs/desktops/deepin/dde-api/deps.nix +++ b/pkgs/desktops/deepin/dde-api/deps.nix @@ -1,4 +1,4 @@ -# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 +# This file was generated by https://github.com/kamilchm/go2nix v1.3.0 [ { goPackagePath = "github.com/alecthomas/template"; @@ -32,8 +32,8 @@ fetch = { type = "git"; url = "https://github.com/disintegration/imaging"; - rev = "9458da53d1e65e098d48467a4317c403327e4424"; - sha256 = "1b0ma9if8s892qfx5b1vjinxn00ah9vsyxijs8knkilrhf5vqcx4"; + rev = "465faf0892b5c7b3325643b0e47282e1331672e7"; + sha256 = "1z9rkphmqgyphznl53pp1gmf0dfrfrmr95bx46p422ldml26c5a0"; }; } { @@ -41,8 +41,8 @@ fetch = { type = "git"; url = "https://github.com/fogleman/gg"; - rev = "0e0ff3ade7039063fe954cc1b45fad6cd4ac80db"; - sha256 = "06gvsngfwizdxin90nldix5503fqgnwqmqvxzrz0xg5hfazwfra5"; + rev = "f194ddec6f45226fc9e1b4a61b7237f186edd543"; + sha256 = "095g5hpqvpy5w9l4kb65cif013snsvlbw6sgln0kwdix0z099j3i"; }; } { @@ -59,8 +59,8 @@ fetch = { type = "git"; url = "https://github.com/linuxdeepin/go-x11-client"; - rev = "03541136501cab4910ad8852fe749ef8e18907ca"; - sha256 = "1iiw8qclpklim81hz1sdjp2ajw0ljvjz19n9jly86nbw6m8x4gkp"; + rev = "b5b01565d224d5ccd5a4143d9099acceb23e182a"; + sha256 = "1lnffjp8bqy6f8caw6drg1js6hny5w7432riqchcrcd4q85d94rs"; }; } { @@ -77,8 +77,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/image"; - rev = "69cc3646b96e61de0b417f4815b86c36e65783ee"; - sha256 = "0nkywb3r0qvwkmykpswnf0svxi463ycn293y5jjididzxv9qxdp9"; + rev = "7e034cad644213bc79b336b52fce73624259aeca"; + sha256 = "04n4yi0p2yjv8sr9dmnzwc2k6hvzzvl6jdq2xd043kvjwzk583va"; }; } { @@ -86,8 +86,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/net"; - rev = "c44066c5c816ec500d459a2a324a753f78531ae0"; - sha256 = "0mgww74bl15d0jvsh4f3qr1ckjzb8icb8hn0mgs5ppa0b2fgpc4f"; + rev = "3b0461eec859c4b73bb64fdc8285971fd33e3938"; + sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5"; }; } { diff --git a/pkgs/desktops/deepin/dde-calendar/default.nix b/pkgs/desktops/deepin/dde-calendar/default.nix index 631471527f3..427cb1249c9 100644 --- a/pkgs/desktops/deepin/dde-calendar/default.nix +++ b/pkgs/desktops/deepin/dde-calendar/default.nix @@ -1,24 +1,24 @@ -{ stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, qttools, deepin-gettext-tools, dtkcore, dtkwidget, deepin }: -stdenv.mkDerivation rec { - name = "${pname}-${version}"; +mkDerivation rec { pname = "dde-calendar"; - version = "1.2.6"; + version = "1.2.10"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0k973rv0prvr7cg1xwg7kr14fkx13aslhiqc3q7vpakfk53qsw4n"; + sha256 = "00aqx24jccf88vvkpb9svyjz8knrqyjgd0152psf9dxc9q13f61h"; }; nativeBuildInputs = [ + cmake pkgconfig - qmake qttools deepin-gettext-tools + deepin.setupHook ]; buildInputs = [ @@ -27,14 +27,17 @@ stdenv.mkDerivation rec { ]; postPatch = '' - patchShebangs . + searchHardCodedPaths + patchShebangs translate_generation.sh + patchShebangs translate_desktop.sh + + fixPath $out /usr com.deepin.Calendar.service + sed -i translate_desktop.sh \ -e "s,/usr/bin/deepin-desktop-ts-convert,deepin-desktop-ts-convert," - sed -i com.deepin.Calendar.service \ - -e "s,/usr,$out," ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Calendar for Deepin Desktop Environment"; diff --git a/pkgs/desktops/deepin/dde-control-center/default.nix b/pkgs/desktops/deepin/dde-control-center/default.nix new file mode 100644 index 00000000000..0871e004e5f --- /dev/null +++ b/pkgs/desktops/deepin/dde-control-center/default.nix @@ -0,0 +1,111 @@ +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, deepin, qttools, qtdeclarative, + networkmanager, qtsvg, qtx11extras, dtkcore, dtkwidget, geoip, gsettings-qt, + dde-network-utils, networkmanager-qt, xorg, mtdev, fontconfig, freetype, dde-api, + dde-daemon, qt5integration, deepin-desktop-base, deepin-desktop-schemas, dbus, + systemd, dde-qt-dbus-factory, qtmultimedia, qtbase, glib, gnome3, which, + substituteAll, tzdata, wrapGAppsHook +}: + +mkDerivation rec { + pname = "dde-control-center"; + version = "4.10.11"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "1ip8wjwf0n9q8xnqymzh8lz0j5gcnns976n291np6k5kdh2wqhr5"; + }; + + nativeBuildInputs = [ + cmake + deepin.setupHook + pkgconfig + wrapGAppsHook + ]; + + buildInputs = [ + dde-api + dde-daemon + dde-network-utils + dde-qt-dbus-factory + deepin-desktop-base + deepin-desktop-schemas + dtkcore + dtkwidget + fontconfig + freetype + geoip + glib + gnome3.networkmanager-l2tp + gnome3.networkmanager-openconnect + gnome3.networkmanager-openvpn + gnome3.networkmanager-vpnc + gsettings-qt + mtdev + networkmanager-qt + qt5integration + qtbase + qtdeclarative + qtmultimedia + qtsvg + qttools + qtx11extras + xorg.libX11 + xorg.libXext + xorg.libXrandr + xorg.libxcb + ]; + + cmakeFlags = [ + "-DDISABLE_SYS_UPDATE=YES" + "-DDCC_DISABLE_GRUB=YES" + ]; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + nmcli = "${networkmanager}/bin/nmcli"; + which = "${which}/bin/which"; + # not packaged + # dman = "${deepin-manual}/bin/dman"; + inherit tzdata; + # exclusive to deepin linux? + # allows to synchronize configuration files to cloud networks + # deepin_sync = "${deepin-sync}"; + }) + ]; + + postPatch = '' + searchHardCodedPaths + + patchShebangs translate_ts2desktop.sh + patchShebangs translate_generation.sh + patchShebangs translate_desktop2ts.sh + + fixPath $out /usr dde-control-center-autostart.desktop \ + com.deepin.dde.ControlCenter.service \ + src/frame/widgets/utils.h + + substituteInPlace dde-control-center.desktop \ + --replace "dbus-send" "${dbus}/bin/dbus-send" + substituteInPlace com.deepin.controlcenter.addomain.policy \ + --replace "/bin/systemctl" "${systemd}/bin/systemctl" + ''; + + postFixup = '' + # debuging + searchForUnresolvedDLL $out + searchHardCodedPaths $out + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; + + meta = with stdenv.lib; { + description = "Control panel of Deepin Desktop Environment"; + homepage = https://github.com/linuxdeepin/dde-control-center; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo worldofpeace ]; + }; +} diff --git a/pkgs/desktops/deepin/dde-control-center/fix-paths.patch b/pkgs/desktops/deepin/dde-control-center/fix-paths.patch new file mode 100644 index 00000000000..2c6e204d343 --- /dev/null +++ b/pkgs/desktops/deepin/dde-control-center/fix-paths.patch @@ -0,0 +1,65 @@ +diff --git a/src/frame/frame.cpp b/src/frame/frame.cpp +index 90d06f8..7cdad04 100644 +--- a/src/frame/frame.cpp ++++ b/src/frame/frame.cpp +@@ -375,7 +375,7 @@ void Frame::keyPressEvent(QKeyEvent *e) + #ifdef QT_DEBUG + case Qt::Key_Escape: qApp->quit(); break; + #endif +- case Qt::Key_F1: QProcess::startDetached("dman", QStringList("dde")); break; ++ case Qt::Key_F1: QProcess::startDetached("@dman@", QStringList("dde")); break; + default:; + } + } +diff --git a/src/frame/modules/datetime/timezone_dialog/timezone.cpp b/src/frame/modules/datetime/timezone_dialog/timezone.cpp +index 3dd4aad..5f1b363 100644 +--- a/src/frame/modules/datetime/timezone_dialog/timezone.cpp ++++ b/src/frame/modules/datetime/timezone_dialog/timezone.cpp +@@ -46,7 +46,7 @@ namespace installer { + namespace { + + // Absolute path to zone.tab file. +-const char kZoneTabFile[] = "/usr/share/zoneinfo/zone.tab"; ++const char kZoneTabFile[] = "@tzdata@/share/zoneinfo/zone.tab"; + + // Absolute path to backward timezone file. + const char kTimezoneAliasFile[] = "/timezone_alias"; +diff --git a/src/frame/modules/network/connectionvpneditpage.cpp b/src/frame/modules/network/connectionvpneditpage.cpp +index e292865..95c5a2b 100644 +--- a/src/frame/modules/network/connectionvpneditpage.cpp ++++ b/src/frame/modules/network/connectionvpneditpage.cpp +@@ -215,7 +215,7 @@ void ConnectionVpnEditPage::exportConnConfig() + qDebug() << Q_FUNC_INFO << args; + + QProcess p; +- p.start("nmcli", args); ++ p.start("@nmcli@", args); + p.waitForFinished(); + qDebug() << p.readAllStandardOutput(); + qDebug() << p.readAllStandardError(); +diff --git a/src/frame/modules/network/vpnpage.cpp b/src/frame/modules/network/vpnpage.cpp +index 521a603..450d1a6 100644 +--- a/src/frame/modules/network/vpnpage.cpp ++++ b/src/frame/modules/network/vpnpage.cpp +@@ -224,7 +224,7 @@ void VpnPage::importVPN() + qDebug() << args; + + QProcess p; +- p.start("nmcli", args); ++ p.start("@nmcli@", args); + p.waitForFinished(); + const auto stat = p.exitCode(); + const QString output = p.readAllStandardOutput(); +diff --git a/src/frame/modules/sync/syncworker.cpp b/src/frame/modules/sync/syncworker.cpp +index 3f929bf..6f240d9 100644 +--- a/src/frame/modules/sync/syncworker.cpp ++++ b/src/frame/modules/sync/syncworker.cpp +@@ -24,7 +24,7 @@ SyncWorker::SyncWorker(SyncModel *model, QObject *parent) + + m_model->setSyncIsValid( + QProcess::execute( +- "which", QStringList() << "/usr/lib/deepin-sync-daemon/deepin-sync-daemon") == ++ "@which@", QStringList() << "@deepin_sync@/lib/deepin-sync-daemon/deepin-sync-daemon") == + 0 && + valueByQSettings(DCC_CONFIG_FILES, "CloudSync", "AllowCloudSync", false)); + } diff --git a/pkgs/desktops/deepin/dde-daemon/default.nix b/pkgs/desktops/deepin/dde-daemon/default.nix index 3678694be9e..19089a6b050 100644 --- a/pkgs/desktops/deepin/dde-daemon/default.nix +++ b/pkgs/desktops/deepin/dde-daemon/default.nix @@ -1,13 +1,14 @@ { stdenv, buildGoPackage, fetchFromGitHub, fetchpatch, pkgconfig, dbus-factory, go-dbus-factory, go-gir-generator, go-lib, - deepin-gettext-tools, dde-api, alsaLib, glib, gtk3, libinput, libnl, - librsvg, linux-pam, networkmanager, pulseaudio, xorg, gnome3, - python3Packages, hicolor-icon-theme, go, deepin }: + deepin-gettext-tools, dde-api, deepin-desktop-schemas, + deepin-wallpapers, deepin-desktop-base, alsaLib, glib, gtk3, + libgudev, libinput, libnl, librsvg, linux-pam, networkmanager, + pulseaudio, python3, hicolor-icon-theme, glibc, tzdata, go, + deepin, makeWrapper, xkeyboard_config, wrapGAppsHook }: buildGoPackage rec { - name = "${pname}-${version}"; pname = "dde-daemon"; - version = "3.6.0"; + version = "3.27.2.6"; goPackagePath = "pkg.deepin.io/dde/daemon"; @@ -15,15 +16,14 @@ buildGoPackage rec { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0gn2zp34wg79lvzdfla6yb4gs3f9ll83kj765zvig1wpx51nq1aj"; + sha256 = "14g138h23f1lh1y98pdrfhnph1m7pw8lq8ypiwv9qf3fmdyn35d4"; }; patches = [ # https://github.com/linuxdeepin/dde-daemon/issues/51 (fetchpatch { - name = "dde-daemon_3.2.3.patch"; - url = https://github.com/jouyouyun/tap-gesture-patches/raw/master/patches/dde-daemon_3.2.3.patch; - sha256 = "0a3xb15czpfl2vajpf7ycw37vr7fbw2png1a67mvjjkgx7d1k7dg"; + url = https://github.com/jouyouyun/tap-gesture-patches/raw/master/patches/dde-daemon_3.8.0.patch; + sha256 = "1ampdsp9zlg263flswdw9gj10n7gxh7zi6w6z9jgh29xlai05pvh"; }) ]; @@ -38,49 +38,90 @@ buildGoPackage rec { go-gir-generator go-lib deepin-gettext-tools - dde-api linux-pam networkmanager networkmanager.dev - python3Packages.python + python3 + makeWrapper + wrapGAppsHook + deepin.setupHook ]; buildInputs = [ alsaLib + dde-api + deepin-desktop-base + deepin-desktop-schemas + deepin-wallpapers glib - gnome3.libgudev + libgudev gtk3 hicolor-icon-theme libinput libnl librsvg pulseaudio + tzdata + xkeyboard_config ]; postPatch = '' - patchShebangs . + searchHardCodedPaths # debugging + patchShebangs network/nm_generator/gen_nm_consts.py - sed -i network/nm_generator/Makefile -e 's,/usr/share/gir-1.0/NM-1.0.gir,${networkmanager.dev}/share/gir-1.0/NM-1.0.gir,' + fixPath $out /usr/share/dde/data launcher/manager.go dock/dock_manager_init.go + fixPath $out /usr/share/dde-daemon launcher/manager.go gesture/config.go + fixPath ${networkmanager.dev} /usr/share/gir-1.0/NM-1.0.gir network/nm_generator/Makefile + fixPath ${glibc.bin} /usr/bin/getconf systeminfo/utils.go + fixPath ${deepin-desktop-base} /etc/deepin-version systeminfo/version.go accounts/deepinversion.go + fixPath ${tzdata} /usr/share/zoneinfo timedate/zoneinfo/zone.go + fixPath ${dde-api} /usr/lib/deepin-api grub2/modify_manger.go accounts/image_blur.go + fixPath ${deepin-wallpapers} /usr/share/wallpapers appearance/background/list.go accounts/user.go + fixPath ${xkeyboard_config} /usr/share/X11/xkb inputdevices/layout_list.go + + # TODO: deepin-system-monitor comes from dde-extra sed -i -e "s|{DESTDIR}/etc|{DESTDIR}$out/etc|" Makefile - sed -i -e "s|{DESTDIR}/var|{DESTDIR}$out/var|" Makefile sed -i -e "s|{DESTDIR}/lib|{DESTDIR}$out/lib|" Makefile + sed -i -e "s|{DESTDIR}/var|{DESTDIR}$out/var|" Makefile find -type f -exec sed -i -e "s,/usr/lib/deepin-daemon,$out/lib/deepin-daemon," {} + + + # This package wants to install polkit local authority files into + # /var/lib. Nix does not allow a package to install files into /var/lib + # because it is outside of the Nix store and should contain applications + # state information (persistent data modified by programs as they + # run). Polkit looks for them in both /etc/polkit-1 and + # /var/lib/polkit-1 (with /etc having priority over /var/lib). An + # work around is to install them to $out/etc and simlnk them to + # /etc in the deepin module. + + sed -i -e "s,/var/lib/polkit-1,/etc/polkit-1," Makefile ''; buildPhase = '' - make -C go/src/${goPackagePath} + export PAM_MODULE_DIR="$out/lib/security" # compilation of the nm module is failing #make -C go/src/${goPackagePath}/network/nm_generator gen-nm-code + make -C go/src/${goPackagePath} ''; installPhase = '' make install PREFIX="$out" -C go/src/${goPackagePath} remove-references-to -t ${go} $out/lib/deepin-daemon/* + searchHardCodedPaths $out ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + postFixup = '' + # wrapGAppsHook does not work with binaries outside of $out/bin or $out/libexec + for binary in $out/lib/deepin-daemon/*; do + wrapProgram $binary "''${gappsWrapperArgs[@]}" + done + + searchHardCodedPaths $out # debugging + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Daemon for handling Deepin Desktop Environment session settings"; diff --git a/pkgs/desktops/deepin/dde-daemon/deps.nix b/pkgs/desktops/deepin/dde-daemon/deps.nix index 3d241baa326..c9a15ad88d4 100644 --- a/pkgs/desktops/deepin/dde-daemon/deps.nix +++ b/pkgs/desktops/deepin/dde-daemon/deps.nix @@ -1,4 +1,4 @@ -# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 +# This file was generated by https://github.com/kamilchm/go2nix v1.3.0 [ { goPackagePath = "github.com/alecthomas/template"; @@ -36,13 +36,22 @@ sha256 = "18nyqv0ic35fs9fny8sj84c00vbxs8mnric6vr6yl42624fh5id6"; }; } + { + goPackagePath = "github.com/gosexy/gettext"; + fetch = { + type = "git"; + url = "https://github.com/gosexy/gettext"; + rev = "74466a0a0c4a62fea38f44aa161d4bbfbe79dd6b"; + sha256 = "0asphx8nd7zmp88wk6aakk5292np7yw73akvfdvlvs9q5r5ahkgi"; + }; + } { goPackagePath = "github.com/linuxdeepin/go-x11-client"; fetch = { type = "git"; url = "https://github.com/linuxdeepin/go-x11-client"; - rev = "03541136501cab4910ad8852fe749ef8e18907ca"; - sha256 = "1iiw8qclpklim81hz1sdjp2ajw0ljvjz19n9jly86nbw6m8x4gkp"; + rev = "b5b01565d224d5ccd5a4143d9099acceb23e182a"; + sha256 = "1lnffjp8bqy6f8caw6drg1js6hny5w7432riqchcrcd4q85d94rs"; }; } { @@ -50,8 +59,8 @@ fetch = { type = "git"; url = "https://github.com/msteinert/pam"; - rev = "f4cd9f5e29232537a12db1678f48c702ad6896b7"; - sha256 = "1vjawxswy3f23v4d72kk95y3b557580670ai9ffvrwy6wy85qync"; + rev = "f29b9f28d6f9a1f6c4e6fd5db731999eb946574b"; + sha256 = "1v5z51mgyz2glm7v0mg60xs1as88wx6cqhys2khc5d3khkr8q0qp"; }; } { @@ -68,8 +77,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/image"; - rev = "69cc3646b96e61de0b417f4815b86c36e65783ee"; - sha256 = "0nkywb3r0qvwkmykpswnf0svxi463ycn293y5jjididzxv9qxdp9"; + rev = "7e034cad644213bc79b336b52fce73624259aeca"; + sha256 = "04n4yi0p2yjv8sr9dmnzwc2k6hvzzvl6jdq2xd043kvjwzk583va"; }; } { @@ -77,8 +86,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/net"; - rev = "c44066c5c816ec500d459a2a324a753f78531ae0"; - sha256 = "0mgww74bl15d0jvsh4f3qr1ckjzb8icb8hn0mgs5ppa0b2fgpc4f"; + rev = "3b0461eec859c4b73bb64fdc8285971fd33e3938"; + sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5"; }; } { @@ -86,8 +95,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/text"; - rev = "6f44c5a2ea40ee3593d98cdcc905cc1fdaa660e2"; - sha256 = "00mwzxly5isgf0glz7k3k2dkyqkjfc4z55qxajx4lgcp3h8xn9xj"; + rev = "342b2e1fbaa52c93f31447ad2c6abc048c63e475"; + sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh"; }; } { @@ -99,13 +108,4 @@ sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r"; }; } - { - goPackagePath = "pkg.deepin.io/lib"; - fetch = { - type = "git"; - url = "https://github.com/linuxdeepin/go-lib.git"; - rev = "b199d0dc96e979398ea3985334ccf9c20236d1a7"; - sha256 = "0g84v1adnnyqc1mv45n3wlvnivkm1fi8ywszzgwx8irl3iddfvxv"; - }; - } ] diff --git a/pkgs/desktops/deepin/dde-dock/dde-dock.plugins-dir.patch b/pkgs/desktops/deepin/dde-dock/dde-dock.plugins-dir.patch new file mode 100644 index 00000000000..87b76045b43 --- /dev/null +++ b/pkgs/desktops/deepin/dde-dock/dde-dock.plugins-dir.patch @@ -0,0 +1,39 @@ +From c48867b73485b34b95f14e9b9bbb54507fc77648 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= +Date: Fri, 19 Apr 2019 18:21:49 -0300 +Subject: [PATCH] Use an environment variable for the plugins directory + +--- + frame/controller/dockpluginscontroller.cpp | 2 +- + plugins/tray/system-trays/systemtrayscontroller.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/frame/controller/dockpluginscontroller.cpp b/frame/controller/dockpluginscontroller.cpp +index 32a5885..efd53c8 100644 +--- a/frame/controller/dockpluginscontroller.cpp ++++ b/frame/controller/dockpluginscontroller.cpp +@@ -126,7 +126,7 @@ void DockPluginsController::startLoader() + { + QString pluginsDir("../plugins"); + if (!QDir(pluginsDir).exists()) { +- pluginsDir = "/usr/lib/dde-dock/plugins"; ++ pluginsDir = QProcessEnvironment::systemEnvironment().value("DDE_DOCK_PLUGINS_DIR", "@out@/lib/dde-dock/plugins"); + } + qDebug() << "using dock plugins dir:" << pluginsDir; + +diff --git a/plugins/tray/system-trays/systemtrayscontroller.cpp b/plugins/tray/system-trays/systemtrayscontroller.cpp +index 0c8ca88..7c47d25 100644 +--- a/plugins/tray/system-trays/systemtrayscontroller.cpp ++++ b/plugins/tray/system-trays/systemtrayscontroller.cpp +@@ -159,7 +159,7 @@ void SystemTraysController::startLoader() + { + QString pluginsDir("../plugins/system-trays"); + if (!QDir(pluginsDir).exists()) { +- pluginsDir = "/usr/lib/dde-dock/plugins/system-trays"; ++ pluginsDir = QProcessEnvironment::systemEnvironment().value("DDE_DOCK_PLUGINS_DIR", "@out@/lib/dde-dock/plugins") + "/system-trays"; + } + qDebug() << "using system tray plugins dir:" << pluginsDir; + +-- +2.21.0 + diff --git a/pkgs/desktops/deepin/dde-dock/default.nix b/pkgs/desktops/deepin/dde-dock/default.nix new file mode 100644 index 00000000000..fc25d007f20 --- /dev/null +++ b/pkgs/desktops/deepin/dde-dock/default.nix @@ -0,0 +1,86 @@ +{ stdenv, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qttools, qtx11extras, + qtsvg, polkit, gsettings-qt, dtkcore, dtkwidget, + dde-qt-dbus-factory, dde-network-utils, dde-daemon, + deepin-desktop-schemas, xorg, glib, wrapGAppsHook, deepin, + plugins ? [], symlinkJoin, makeWrapper, libdbusmenu }: + +let +unwrapped = mkDerivation rec { + pname = "dde-dock"; + version = "4.10.3"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "17iy78r0frpv42g521igfdcgdklbifzig1wzxq2nl14fq0bgxg4v"; + }; + + nativeBuildInputs = [ + cmake + pkgconfig + qttools + wrapGAppsHook + deepin.setupHook + ]; + + buildInputs = [ + dde-daemon + dde-network-utils + dde-qt-dbus-factory + deepin-desktop-schemas + dtkcore + dtkwidget + glib.bin + gsettings-qt + libdbusmenu + polkit + qtsvg + qtx11extras + xorg.libXdmcp + xorg.libXtst + xorg.libpthreadstubs + ]; + + patches = [ + ./dde-dock.plugins-dir.patch + ]; + + postPatch = '' + searchHardCodedPaths + patchShebangs translate_generation.sh + fixPath $out /etc/dde-dock plugins/keyboard-layout/CMakeLists.txt + fixPath $out /usr cmake/DdeDock/DdeDockConfig.cmake + fixPath $out /usr dde-dock.pc + fixPath $out /usr/bin/dde-dock frame/com.deepin.dde.Dock.service + fixPath $out /usr/share/dbus-1 CMakeLists.txt + fixPath ${dde-daemon} /usr/lib/deepin-daemon frame/item/showdesktopitem.cpp + fixPath ${dde-network-utils} /usr/share/dde-network-utils frame/main.cpp + fixPath ${polkit} /usr/bin/pkexec plugins/overlay-warning/overlay-warning-plugin.cpp + + substituteInPlace frame/controller/dockpluginscontroller.cpp --subst-var-by out $out + substituteInPlace plugins/tray/system-trays/systemtrayscontroller.cpp --subst-var-by out $out + ''; + + cmakeFlags = [ "-DDOCK_TRAY_USE_NATIVE_POPUP=YES" ]; + + postFixup = '' + searchHardCodedPaths $out + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; + + meta = with stdenv.lib; { + description = "Dock for Deepin Desktop Environment"; + homepage = https://github.com/linuxdeepin/dde-dock; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +}; + +in if plugins == [] then unwrapped + else import ./wrapper.nix { + inherit makeWrapper symlinkJoin plugins; + dde-dock = unwrapped; + } diff --git a/pkgs/desktops/deepin/dde-dock/wrapper.nix b/pkgs/desktops/deepin/dde-dock/wrapper.nix new file mode 100644 index 00000000000..8f6d8a67b1a --- /dev/null +++ b/pkgs/desktops/deepin/dde-dock/wrapper.nix @@ -0,0 +1,21 @@ +{ makeWrapper, symlinkJoin, dde-dock, plugins }: + +symlinkJoin { + name = "dde-dock-with-plugins-${dde-dock.version}"; + + paths = [ dde-dock ] ++ plugins; + + buildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/dde-dock \ + --set DDE_DOCK_PLUGINS_DIR "$out/lib/dde-dock/plugins" + + rm $out/share/dbus-1/services/com.deepin.dde.Dock.service + + substitute ${dde-dock}/share/dbus-1/services/com.deepin.dde.Dock.service $out/share/dbus-1/services/com.deepin.dde.Dock.service \ + --replace ${dde-dock} $out + ''; + + inherit (dde-dock) meta; +} diff --git a/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.fix-mime-cache-paths.patch b/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.fix-mime-cache-paths.patch new file mode 100644 index 00000000000..253a67b04ec --- /dev/null +++ b/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.fix-mime-cache-paths.patch @@ -0,0 +1,323 @@ +From 29f4ad88e2294ae70b10180e7361d135c4e5c896 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= +Date: Mon, 13 May 2019 00:09:42 -0300 +Subject: [PATCH 2/2] Use XDG to look for mime cache + +--- + .../shutil/mimesappsmanager.cpp | 230 ++++++++++-------- + .../shutil/mimesappsmanager.h | 6 +- + 2 files changed, 125 insertions(+), 111 deletions(-) + +diff --git a/dde-file-manager-lib/shutil/mimesappsmanager.cpp b/dde-file-manager-lib/shutil/mimesappsmanager.cpp +index c9e53630..7a21df51 100644 +--- a/dde-file-manager-lib/shutil/mimesappsmanager.cpp ++++ b/dde-file-manager-lib/shutil/mimesappsmanager.cpp +@@ -552,14 +552,20 @@ QString MimesAppsManager::getMimeAppsCacheFile() + return QString("%1/%2").arg(DFMStandardPaths::location(DFMStandardPaths::CachePath), "MimeApps.json"); + } + +-QString MimesAppsManager::getMimeInfoCacheFilePath() ++QStringList MimesAppsManager::getMimeInfoCacheFilePath() + { +- return "/usr/share/applications/mimeinfo.cache"; ++ QStringList paths; ++ for (const QString dir : getMimeInfoCacheFileRootPath() ) ++ paths.append(dir + QDir::separator() + "mimeinfo.cache"); ++ qDebug() << "getMimeInfoCacheFilePath: " << paths; ++ return paths; + } + +-QString MimesAppsManager::getMimeInfoCacheFileRootPath() ++QStringList MimesAppsManager::getMimeInfoCacheFileRootPath() + { +- return "/usr/share/applications"; ++ QStringList paths = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation); ++ qDebug() << "getMimeInfoCacheFileRootPath: " << paths; ++ return paths; + } + + QString MimesAppsManager::getDesktopFilesCacheFile() +@@ -574,23 +580,27 @@ QString MimesAppsManager::getDesktopIconsCacheFile() + + QStringList MimesAppsManager::getDesktopFiles() + { +- QStringList desktopFiles; ++ QStringList desktopFiles; + +- foreach (QString desktopFolder, getApplicationsFolders()) { +- QDirIterator it(desktopFolder, QStringList("*.desktop"), +- QDir::Files | QDir::NoDotAndDotDot, +- QDirIterator::Subdirectories); +- while (it.hasNext()) { +- it.next(); +- desktopFiles.append(it.filePath()); +- } +- } +- return desktopFiles; ++ foreach (QString desktopFolder, getApplicationsFolders()) { ++ QDirIterator it(desktopFolder, QStringList("*.desktop"), ++ QDir::Files | QDir::NoDotAndDotDot, ++ QDirIterator::Subdirectories); ++ while (it.hasNext()) { ++ it.next(); ++ desktopFiles.append(it.filePath()); ++ } ++ } ++ return desktopFiles; + } + +-QString MimesAppsManager::getDDEMimeTypeFile() ++QStringList MimesAppsManager::getDDEMimeTypeFile() + { +- return QString("%1/%2/%3").arg(getMimeInfoCacheFileRootPath(), "deepin", "dde-mimetype.list"); ++ QStringList paths; ++ for (const QString path : getMimeInfoCacheFileRootPath()) ++ paths.append(QString("%1/%2/%3").arg(path, "deepin", "dde-mimetype.list")); ++ qDebug() << "getDDEMimeTypeFile: " << paths; ++ return paths; + } + + QMap MimesAppsManager::getDesktopObjs() +@@ -663,124 +673,128 @@ void MimesAppsManager::initMimeTypeApps() + MimeApps.insert(key, orderApps); + } + +- //check mime apps from cache +- QFile f(getMimeInfoCacheFilePath()); +- if(!f.open(QIODevice::ReadOnly)){ +- qDebug () << "failed to read mime info cache file:" << f.errorString(); +- return; +- } +- + QStringList audioDesktopList; + QStringList imageDeksopList; + QStringList textDekstopList; + QStringList videoDesktopList; + +- while (!f.atEnd()) { +- QString data = f.readLine(); +- QString _desktops = data.split("=").last(); +- QString mimeType = data.split("=").first(); +- QStringList desktops = _desktops.split(";"); +- +- foreach (const QString desktop, desktops) { +- if(desktop.isEmpty() || audioDesktopList.contains(desktop)) +- continue; ++ //check mime apps from cache ++ for (const QString path : getMimeInfoCacheFilePath()) { ++ QFile f(path); ++ if(!f.open(QIODevice::ReadOnly)){ ++ qDebug () << "failed to read mime info cache file:" << f.errorString(); ++ return; ++ } + +- if(mimeType.startsWith("audio")){ +- if(!audioDesktopList.contains(desktop)) +- audioDesktopList << desktop; +- } else if(mimeType.startsWith("image")){ +- if(!imageDeksopList.contains(desktop)) +- imageDeksopList << desktop; +- } else if(mimeType.startsWith("text")){ +- if(!textDekstopList.contains(desktop)) +- textDekstopList << desktop; +- } else if(mimeType.startsWith("video")){ +- if(!videoDesktopList.contains(desktop)) +- videoDesktopList << desktop; ++ while (!f.atEnd()) { ++ QString data = f.readLine(); ++ QString _desktops = data.split("=").last(); ++ QString mimeType = data.split("=").first(); ++ QStringList desktops = _desktops.split(";"); ++ ++ foreach (const QString desktop, desktops) { ++ if(desktop.isEmpty() || audioDesktopList.contains(desktop)) ++ continue; ++ ++ if(mimeType.startsWith("audio")){ ++ if(!audioDesktopList.contains(desktop)) ++ audioDesktopList << desktop; ++ } else if(mimeType.startsWith("image")){ ++ if(!imageDeksopList.contains(desktop)) ++ imageDeksopList << desktop; ++ } else if(mimeType.startsWith("text")){ ++ if(!textDekstopList.contains(desktop)) ++ textDekstopList << desktop; ++ } else if(mimeType.startsWith("video")){ ++ if(!videoDesktopList.contains(desktop)) ++ videoDesktopList << desktop; ++ } + } + } ++ f.close(); + } +- f.close(); + +- const QString mimeInfoCacheRootPath = getMimeInfoCacheFileRootPath(); +- foreach (QString desktop, audioDesktopList) { +- const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop); +- if(!QFile::exists(path)) +- continue; +- DesktopFile df(path); +- AudioMimeApps.insert(path, df); +- } ++ for (const QString mimeInfoCacheRootPath : getMimeInfoCacheFileRootPath()) { ++ foreach (QString desktop, audioDesktopList) { ++ const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop); ++ if(!QFile::exists(path)) ++ continue; ++ DesktopFile df(path); ++ AudioMimeApps.insert(path, df); ++ } + +- foreach (QString desktop, imageDeksopList) { +- const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop); +- if(!QFile::exists(path)) +- continue; +- DesktopFile df(path); +- ImageMimeApps.insert(path, df); +- } ++ foreach (QString desktop, imageDeksopList) { ++ const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop); ++ if(!QFile::exists(path)) ++ continue; ++ DesktopFile df(path); ++ ImageMimeApps.insert(path, df); ++ } + +- foreach (QString desktop, textDekstopList) { +- const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop); +- if(!QFile::exists(path)) +- continue; +- DesktopFile df(path); +- TextMimeApps.insert(path, df); +- } ++ foreach (QString desktop, textDekstopList) { ++ const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop); ++ if(!QFile::exists(path)) ++ continue; ++ DesktopFile df(path); ++ TextMimeApps.insert(path, df); ++ } + +- foreach (QString desktop, videoDesktopList) { +- const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop); +- if(!QFile::exists(path)) +- continue; +- DesktopFile df(path); +- VideoMimeApps.insert(path, df); ++ foreach (QString desktop, videoDesktopList) { ++ const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop); ++ if(!QFile::exists(path)) ++ continue; ++ DesktopFile df(path); ++ VideoMimeApps.insert(path, df); ++ } + } +- + return; + } + + void MimesAppsManager::loadDDEMimeTypes() + { +- QSettings settings(getDDEMimeTypeFile(), QSettings::IniFormat); +- qDebug() << settings.childGroups(); ++ for (const QString path : getDDEMimeTypeFile()) { ++ QSettings settings(path, QSettings::IniFormat); ++ qDebug() << settings.childGroups(); + +- QFile file(getDDEMimeTypeFile()); +- if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { +- return; +- } ++ QFile file(path); ++ if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { ++ continue; ++ } ++ ++ // Read propeties ++ QTextStream in(&file); ++ QString desktopKey; ++ while (!in.atEnd()) { + +- // Read propeties +- QTextStream in(&file); +- QString desktopKey; +- while (!in.atEnd()) { ++ // Read new line ++ QString line = in.readLine(); + +- // Read new line +- QString line = in.readLine(); ++ // Skip empty line or line with invalid format ++ if (line.trimmed().isEmpty()) { ++ continue; ++ } + +- // Skip empty line or line with invalid format +- if (line.trimmed().isEmpty()) { +- continue; +- } ++ // Read group ++ // NOTE: symbols '[' and ']' can be found not only in group names, but ++ // only group can start with '[' + +- // Read group +- // NOTE: symbols '[' and ']' can be found not only in group names, but +- // only group can start with '[' ++ if (line.trimmed().startsWith("[") && line.trimmed().endsWith("]")) { ++ QString tmp = line.trimmed().replace("[", "").replace("]", ""); ++ desktopKey = tmp; ++ continue; ++ } + +- if (line.trimmed().startsWith("[") && line.trimmed().endsWith("]")) { +- QString tmp = line.trimmed().replace("[", "").replace("]", ""); +- desktopKey = tmp; +- continue; +- } +- +- // If we are in correct group and line contains assignment then read data +- int first_equal = line.indexOf('='); +- if (!desktopKey.isEmpty() && first_equal >= 0) { +- QString value = line.mid(first_equal + 1); +- QStringList mimetypes = value.split(";"); +- DDE_MimeTypes.insert(desktopKey, mimetypes); +- desktopKey.clear(); ++ // If we are in correct group and line contains assignment then read data ++ int first_equal = line.indexOf('='); ++ if (!desktopKey.isEmpty() && first_equal >= 0) { ++ QString value = line.mid(first_equal + 1); ++ QStringList mimetypes = value.split(";"); ++ DDE_MimeTypes.insert(desktopKey, mimetypes); ++ desktopKey.clear(); ++ } + } ++ file.close(); + } +- file.close(); + } + + bool MimesAppsManager::lessByDateTime(const QFileInfo &f1, const QFileInfo &f2) +diff --git a/dde-file-manager-lib/shutil/mimesappsmanager.h b/dde-file-manager-lib/shutil/mimesappsmanager.h +index 223c80aa..00a61302 100644 +--- a/dde-file-manager-lib/shutil/mimesappsmanager.h ++++ b/dde-file-manager-lib/shutil/mimesappsmanager.h +@@ -101,12 +101,12 @@ public: + + static QStringList getApplicationsFolders(); + static QString getMimeAppsCacheFile(); +- static QString getMimeInfoCacheFilePath(); +- static QString getMimeInfoCacheFileRootPath(); ++ static QStringList getMimeInfoCacheFilePath(); ++ static QStringList getMimeInfoCacheFileRootPath(); + static QString getDesktopFilesCacheFile(); + static QString getDesktopIconsCacheFile(); + static QStringList getDesktopFiles(); +- static QString getDDEMimeTypeFile(); ++ static QStringList getDDEMimeTypeFile(); + static QMap getDesktopObjs(); + static void initMimeTypeApps(); + static void loadDDEMimeTypes(); +-- +2.21.0 + diff --git a/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.fix-paths.patch b/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.fix-paths.patch new file mode 100644 index 00000000000..3ced15e7e5a --- /dev/null +++ b/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.fix-paths.patch @@ -0,0 +1,89 @@ +From e68d983a6befd223087916cb3fe31baee77decc4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= +Date: Sun, 12 May 2019 08:50:07 -0300 +Subject: [PATCH 1/2] Use qt library to determine where to look for application + files + +--- + dde-file-manager-lib/shutil/fileutils.cpp | 34 ++++++++++++------- + .../shutil/mimesappsmanager.cpp | 11 ++---- + 2 files changed, 25 insertions(+), 20 deletions(-) + +diff --git a/dde-file-manager-lib/shutil/fileutils.cpp b/dde-file-manager-lib/shutil/fileutils.cpp +index ae8120d3..d6a0573a 100644 +--- a/dde-file-manager-lib/shutil/fileutils.cpp ++++ b/dde-file-manager-lib/shutil/fileutils.cpp +@@ -242,13 +242,19 @@ bool FileUtils::isArchive(const QString &path) + */ + QStringList FileUtils::getApplicationNames() { + QStringList appNames; +- QDirIterator it("/usr/share/applications", QStringList("*.desktop"), +- QDir::Files | QDir::NoDotAndDotDot, +- QDirIterator::Subdirectories); +- while (it.hasNext()) { +- it.next(); +- appNames.append(it.fileName()); ++ ++ const QStringList desktopDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation); ++ qDebug() << "dde-file-manager getApplicationNames desktopDirs:" << desktopDirs; ++ for (const QString &dir : desktopDirs) { ++ QDirIterator it(dir, QStringList("*.desktop"), ++ QDir::Files | QDir::NoDotAndDotDot, ++ QDirIterator::Subdirectories); ++ while (it.hasNext()) { ++ it.next(); ++ appNames.append(it.fileName()); ++ } + } ++ + return appNames; + } + //--------------------------------------------------------------------------- +@@ -259,12 +265,16 @@ QStringList FileUtils::getApplicationNames() { + */ + QList FileUtils::getApplications() { + QList apps; +- QDirIterator it("/usr/share/applications", QStringList("*.desktop"), +- QDir::Files | QDir::NoDotAndDotDot, +- QDirIterator::Subdirectories); +- while (it.hasNext()) { +- it.next(); +- apps.append(DesktopFile(it.filePath())); ++ const QStringList desktopDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation); ++ qDebug() << "dde-file-manager getApplications desktopDirs:" << desktopDirs; ++ for (const QString &dir : desktopDirs) { ++ QDirIterator it(dir, QStringList("*.desktop"), ++ QDir::Files | QDir::NoDotAndDotDot, ++ QDirIterator::Subdirectories); ++ while (it.hasNext()) { ++ it.next(); ++ apps.append(DesktopFile(it.filePath())); ++ } + } + return apps; + } +diff --git a/dde-file-manager-lib/shutil/mimesappsmanager.cpp b/dde-file-manager-lib/shutil/mimesappsmanager.cpp +index c6149702..c9e53630 100644 +--- a/dde-file-manager-lib/shutil/mimesappsmanager.cpp ++++ b/dde-file-manager-lib/shutil/mimesappsmanager.cpp +@@ -542,14 +542,9 @@ QStringList MimesAppsManager::getrecommendedAppsFromMimeWhiteList(const DUrl &ur + + QStringList MimesAppsManager::getApplicationsFolders() + { +- QStringList desktopFolders; +- desktopFolders << QString("/usr/share/applications/") +- << QString("/usr/local/share/applications/") +- << QString("/usr/share/gnome/applications/") +- << QString("/var/lib/flatpak/exports/share/applications") +- << QDir::homePath() + QString("/.local/share/flatpak/exports/share/applications") +- << QDir::homePath() + QString( "/.local/share/applications" ); +- return desktopFolders; ++ QStringList paths = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation); ++ qDebug() << "dde-file-manager getApplicationsFolders:" << paths; ++ return paths; + } + + QString MimesAppsManager::getMimeAppsCacheFile() +-- +2.21.0 + diff --git a/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.pixmaps-paths.patch b/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.pixmaps-paths.patch new file mode 100644 index 00000000000..582760e6db2 --- /dev/null +++ b/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.pixmaps-paths.patch @@ -0,0 +1,38 @@ +From 084c3cfcf4995c109ca2e96f042fe341f925b0b4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= +Date: Thu, 16 May 2019 19:00:52 -0300 +Subject: [PATCH 4/4] Use xdg to look for pixmap icons + +--- + dde-file-manager-lib/shutil/fileutils.cpp | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +diff --git a/dde-file-manager-lib/shutil/fileutils.cpp b/dde-file-manager-lib/shutil/fileutils.cpp +index d6a0573a..e912e7c2 100644 +--- a/dde-file-manager-lib/shutil/fileutils.cpp ++++ b/dde-file-manager-lib/shutil/fileutils.cpp +@@ -362,11 +362,16 @@ QIcon FileUtils::searchAppIcon(const DesktopFile &app, + } + + // Last chance +- QDir appIcons("/usr/share/pixmaps","", 0, QDir::Files | QDir::NoDotAndDotDot); +- QStringList iconFiles = appIcons.entryList(); +- QStringList searchIcons = iconFiles.filter(name); +- if (searchIcons.count() > 0) { +- return QIcon("/usr/share/pixmaps/" + searchIcons.at(0)); ++ const QStringList dirs = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation); ++ qDebug() << "searchAppIcon: last chance: look for pixmaps at: " << dirs; ++ for (const QString &dir : dirs) { ++ const QString path = dir + QDir::separator() + "pixmaps"; ++ QDir appIcons(path,"", 0, QDir::Files | QDir::NoDotAndDotDot); ++ QStringList iconFiles = appIcons.entryList(); ++ QStringList searchIcons = iconFiles.filter(name); ++ if (searchIcons.count() > 0) { ++ return QIcon(path + QDir::separator() + searchIcons.at(0)); ++ } + } + + // Default icon +-- +2.21.0 + diff --git a/pkgs/desktops/deepin/dde-file-manager/default.nix b/pkgs/desktops/deepin/dde-file-manager/default.nix new file mode 100644 index 00000000000..081c93a65c8 --- /dev/null +++ b/pkgs/desktops/deepin/dde-file-manager/default.nix @@ -0,0 +1,250 @@ +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, avfs, dde-daemon, dde-dock, + dde-polkit-agent, dde-qt-dbus-factory, deepin, deepin-anything, + deepin-desktop-schemas, deepin-gettext-tools, deepin-movie-reborn, + deepin-shortcut-viewer, deepin-terminal, dtkcore, dtkwidget, + ffmpegthumbnailer, file, glib, gnugrep, gsettings-qt, gvfs, + jemalloc, kcodecs, libX11, libsecret, polkit, polkit-qt, poppler, + procps, qmake, qt5integration, qtmultimedia, qtsvg, qttools, + qtx11extras, runtimeShell, samba, shadow, taglib, udisks2-qt5, + xdg-user-dirs, xorg, zlib, wrapGAppsHook }: + +mkDerivation rec { + pname = "dde-file-manager"; + version = "4.8.6.4"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "1m0ykw5a91rm5xcah8bzk21xsambqvncj8104ihdhf9h0z9kdmm2"; + }; + + nativeBuildInputs = [ + deepin.setupHook + qmake + qttools + pkgconfig + deepin-gettext-tools + wrapGAppsHook + ]; + + buildInputs = [ + avfs + dde-daemon + dde-dock + dde-polkit-agent + dde-qt-dbus-factory + deepin-anything + deepin-desktop-schemas + deepin-movie-reborn.dev + deepin-shortcut-viewer + deepin-terminal + dtkcore + dtkwidget + ffmpegthumbnailer + file + glib.bin + glib.dev + gnugrep + gsettings-qt + gvfs + jemalloc + kcodecs + libsecret + polkit + polkit-qt + poppler + procps + qt5integration + qtmultimedia + qtsvg + qtx11extras + samba + taglib + udisks2-qt5 + xdg-user-dirs + xorg.libX11 + xorg.libxcb + xorg.xcbutil + xorg.xcbutilwm + xorg.xorgproto + zlib + ]; + + patches = [ + ./dde-file-manager.fix-paths.patch + ./dde-file-manager.fix-mime-cache-paths.patch + ./dde-file-manager.pixmaps-paths.patch + ]; + + postPatch = '' + searchHardCodedPaths + + patchShebangs dde-desktop/translate_generation.sh + patchShebangs dde-desktop/translate_ts2desktop.sh + patchShebangs dde-file-manager-lib/generate_translations.sh + patchShebangs dde-file-manager/generate_translations.sh + patchShebangs dde-file-manager/translate_ts2desktop.sh + patchShebangs usb-device-formatter/generate_translations.sh + patchShebangs usb-device-formatter/translate_ts2desktop.sh + + # x-terminal-emulator is a virtual package in Debian systems. The + # terminal emulator is configured by Debian's alternative system. + # It is not available on NixOS. Use deepin-terminal instead + sed -i -e "s,x-terminal-emulator,deepin-terminal," \ + dde-file-manager-lib/shutil/fileutils.cpp + + sed -i -e "s,\$\$\\[QT_INSTALL_LIBS\\],$out/lib," \ + dde-file-manager-lib/dde-file-manager-lib.pro \ + dde-file-thumbnail-tool/common.pri \ + common/common.pri + + sed -i '/^QMAKE_PKGCONFIG_DESTDIR/i QMAKE_PKGCONFIG_PREFIX = $$PREFIX' \ + dde-file-manager-lib/dde-file-manager-lib.pro + + fixPath ${dde-dock} /usr/include/dde-dock \ + dde-dock-plugins/disk-mount/disk-mount.pro + + # treefrog is not available in NixOS, and I am not sure if it is really needed + #fixPath $ {treefrog-framework} /usr/include/treefrog \ + # dde-sharefiles/appbase.pri + + fixPath ${deepin-anything} /usr/share/dbus-1/interfaces \ + dde-file-manager-lib/dbusinterface/dbusinterface.pri + + sed -i -e "s,\$\$system(\$\$PKG_CONFIG --variable libdir deepin-anything-server-lib),$out/lib," \ + deepin-anything-server-plugins/dde-anythingmonitor/dde-anythingmonitor.pro + + fixPath ${dde-daemon} /usr/lib/deepin-daemon/desktop-toggle \ + dde-zone/mainwindow.h + + fixPath ${deepin-gettext-tools} /usr/bin/deepin-desktop-ts-convert \ + dde-desktop/translate_desktop2ts.sh \ + dde-desktop/translate_ts2desktop.sh \ + dde-file-manager/translate_desktop2ts.sh \ + dde-file-manager/translate_ts2desktop.sh \ + usb-device-formatter/translate_desktop2ts.sh \ + usb-device-formatter/translate_ts2desktop.sh + + fixPath ${avfs} /usr/bin/mountavfs dde-file-manager-lib/shutil/fileutils.cpp + fixPath ${avfs} /usr/bin/umountavfs dde-file-manager-lib/shutil/fileutils.cpp + + fixPath ${deepin-terminal} /usr/bin/deepin-terminal \ + dde-file-manager-lib/shutil/fileutils.cpp + + fixPath $out /usr/share/dde-file-manager \ + dde-sharefiles/appbase.pri \ + dde-sharefiles/dde-sharefiles.pro + + fixPath $out /usr/share/usb-device-formatter \ + usb-device-formatter/main.cpp + + fixPath $out /usr/share/applications \ + dde-file-manager/mips/dde-file-manager-autostart.desktop \ + dde-desktop/development.pri + + fixPath $out /usr/bin \ + dbusservices/com.deepin.dde.desktop.service \ + dde-desktop/data/com.deepin.dde.desktop.service \ + dde-desktop/dbus/filedialog/com.deepin.filemanager.filedialog.service \ + dde-desktop/dbus/filemanager1/org.freedesktop.FileManager.service \ + dde-file-manager-daemon/dbusservice/com.deepin.filemanager.daemon.service \ + dde-file-manager-daemon/dbusservice/dde-filemanager-daemon.service \ + dde-file-manager-daemon/dde-file-manager-daemon.pro \ + dde-file-manager-lib/dde-file-manager-lib.pro \ + dde-file-manager-lib/pkexec/com.deepin.pkexec.dde-file-manager.policy \ + dde-file-manager/dde-file-manager-xdg-autostart.desktop \ + dde-file-manager/dde-file-manager.desktop \ + dde-file-manager/dde-file-manager.pro \ + dde-file-manager/mips/dde-file-manager-autostart.desktop \ + dde-file-manager/mips/dde-file-manager.desktop \ + dde-file-manager/pkexec/com.deepin.pkexec.dde-file-manager.policy \ + usb-device-formatter/pkexec/com.deepin.pkexec.usb-device-formatter.policy \ + usb-device-formatter/usb-device-formatter.desktop \ + usb-device-formatter/usb-device-formatter.pro + fixPath $out /etc \ + dde-file-manager/dde-file-manager.pro \ + dde-file-manager-daemon/dde-file-manager-daemon.pro + + fixPath $out /usr \ + common/common.pri \ + dde-desktop/dbus/filedialog/filedialog.pri \ + dde-desktop/dbus/filemanager1/filemanager1.pri \ + dde-desktop/development.pri \ + dde-dock-plugins/disk-mount/disk-mount.pro \ + dde-file-manager-daemon/dde-file-manager-daemon.pro \ + usb-device-formatter/usb-device-formatter.pro + + sed -i -e "s,xdg-user-dir,${xdg-user-dirs}/bin/xdg-user-dir," \ + dde-file-manager/dde-xdg-user-dirs-update + + sed -i -e "s,Exec=dde-file-manager,Exec=$out/bin/dde-file-manager," \ + dde-file-manager/dde-file-manager.desktop + + sed -i -e "s,Exec=gio,Exec=${glib.bin}/bin/gio," \ + dde-desktop/data/applications/dde-trash.desktop \ + dde-desktop/data/applications/dde-computer.desktop + + sed -i -e "s,/usr/lib/gvfs/gvfsd,${gvfs}/libexec/gvfsd," \ + dde-file-manager-lib/gvfs/networkmanager.cpp + + sed -i -e "s,/usr/sbin/smbd,${samba}/bin/smbd," \ + -e "s,/usr/sbin/groupadd,${shadow}/bin/groupadd," \ + -e "s,/usr/sbin/adduser,${shadow}/bin/adduser," \ + dde-file-manager-daemon/usershare/usersharemanager.cpp + + sed -i -e 's,startDetached("deepin-shortcut-viewer",startDetached("${deepin-shortcut-viewer}/bin/deepin-shortcut-viewer",' \ + dde-file-manager-lib/controllers/appcontroller.cpp + + sed -i -e 's,/bin/bash,${runtimeShell},' \ + -e 's,\,${procps}/bin/ps,' \ + -e 's,\,${gnugrep}/bin/grep,' \ + utils/utils.cpp \ + dde-file-manager-lib/controllers/fileeventprocessor.cpp + + # The hard coded path in `QString("/etc/xdg/%1/%2")` in + # dde-file-manager-lib/interfaces/dfmsettings.cpp + # does not needed a fix because all the standard locations + # are tried before faling back to /etc/xdg. + + # I do not know yet how to deal with: + # dde-file-manager-lib/sw_label/llsdeepinlabellibrary.h: return "/usr/lib/sw_64-linux-gnu/dde-file-manager/libllsdeeplabel.so"; + # dde-file-manager-lib/sw_label/filemanagerlibrary.h: return "/usr/lib/sw_64-linux-gnu/dde-file-manager/libfilemanager.so"; + # dde-file-manager-lib/sw_label/libinstall.sh:mkdir /usr/lib/sw_64-linux-gnu/dde-file-manager + # dde-file-manager-lib/sw_label/libinstall.sh:cp libfilemanager.so libllsdeeplabel.so /usr/lib/sw_64-linux-gnu/dde-file-manager + # They are not present on my installations of Deepin Linux, Arch Linux and Ubuntu. Can they be ignored? + + # Notes: + # - As file-roller is looked in the path using QStandardPaths::findExecutable, it is not been added as a dependency. + # - deepin-qt5config is a dependency exclusive to the Deepin Linux distribution. No other distribution has it, according to repology. + ''; + + qmakeFlags = [ + "QMAKE_CFLAGS_ISYSTEM=" + + # Disable ffmpeg + "CONFIG+=DISABLE_FFMPEG" + ]; + + preBuild = '' + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${zlib}/lib"; + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${libX11}/lib"; + ''; + + postFixup = '' + # debuging + unset LD_LIBRARY_PATH + searchForUnresolvedDLL $out + searchHardCodedPaths $out + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; + + meta = with stdenv.lib; { + description = "File manager and desktop module for Deepin Desktop Environment"; + homepage = https://github.com/linuxdeepin/dde-file-manager; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/desktops/deepin/dde-launcher/default.nix b/pkgs/desktops/deepin/dde-launcher/default.nix new file mode 100644 index 00000000000..b36d87604e7 --- /dev/null +++ b/pkgs/desktops/deepin/dde-launcher/default.nix @@ -0,0 +1,75 @@ +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, dde-qt-dbus-factory, + dde-session-ui, deepin, deepin-desktop-schemas, deepin-wallpapers, + dtkcore, dtkwidget, gsettings-qt, qtsvg, qttools, qtx11extras, + which, xdg_utils, wrapGAppsHook }: + +mkDerivation rec { + pname = "dde-launcher"; + version = "4.6.13"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "1lwwn2qjbd4i7wx18mi8n7hzdh832i3kdadrivr10sbafdank7ky"; + }; + + nativeBuildInputs = [ + cmake + pkgconfig + qttools + wrapGAppsHook + deepin.setupHook + ]; + + buildInputs = [ + dde-qt-dbus-factory + dde-session-ui + deepin-desktop-schemas + deepin-wallpapers + dtkcore + dtkwidget + gsettings-qt + qtsvg + qtx11extras + which + xdg_utils + ]; + + postPatch = '' + # debugging + searchHardCodedPaths + + substituteInPlace CMakeLists.txt --replace "/usr/share" "$out/share" + + substituteInPlace src/dbusservices/com.deepin.dde.Launcher.service --replace "/usr" "$out" + + substituteInPlace src/historywidget.cpp --replace "xdg-open" "${xdg_utils}/bin/xdg-open" + substituteInPlace src/widgets/miniframebottombar.cpp --replace "dde-shutdown" "${dde-session-ui}/bin/dde-shutdown" + substituteInPlace src/widgets/miniframerightbar.cpp --replace "which" "${which}/bin/which" + + # Uncomment (and remove space after $) after packaging deepin-manual + #substituteInPlace src/sharedeventfilter.cpp --replace "dman" "$ {deepin-manual}/bin/dman" + + for f in src/boxframe/*.cpp; do + substituteInPlace $f --replace "/usr/share/backgrounds/default_background.jpg" "${deepin-wallpapers}/share/backgrounds/deepin/desktop.jpg" + done + + # note: `dbus-send` path does not need to be hard coded because it is not used for dtkcore >= 2.0.8.0 + ''; + + postFixup = '' + # debugging + searchHardCodedPaths $out + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; + + meta = with stdenv.lib; { + description = "Deepin Desktop Environment launcher module"; + homepage = https://github.com/linuxdeepin/dde-launcher; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/desktops/deepin/dde-network-utils/default.nix b/pkgs/desktops/deepin/dde-network-utils/default.nix new file mode 100644 index 00000000000..5397439949b --- /dev/null +++ b/pkgs/desktops/deepin/dde-network-utils/default.nix @@ -0,0 +1,53 @@ +{ stdenv, mkDerivation, fetchFromGitHub, substituteAll, qmake, pkgconfig, qttools, + dde-qt-dbus-factory, proxychains, which, deepin }: + +mkDerivation rec { + pname = "dde-network-utils"; + version = "0.1.4"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "0nj9lf455lf2hyqv6xwhm4vrr825ldbl83azzrrzqs6p781x65i1"; + }; + + nativeBuildInputs = [ + qmake + pkgconfig + qttools + deepin.setupHook + ]; + + buildInputs = [ + dde-qt-dbus-factory + proxychains + which + ]; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit which proxychains; + }) + ]; + + postPatch = '' + searchHardCodedPaths # for debugging + patchShebangs translate_generation.sh + ''; + + postFixup = '' + searchHardCodedPaths $out # for debugging + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; + + meta = with stdenv.lib; { + description = "Deepin network utils"; + homepage = https://github.com/linuxdeepin/dde-network-utils; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/desktops/deepin/dde-network-utils/fix-paths.patch b/pkgs/desktops/deepin/dde-network-utils/fix-paths.patch new file mode 100644 index 00000000000..9f7ecd423c5 --- /dev/null +++ b/pkgs/desktops/deepin/dde-network-utils/fix-paths.patch @@ -0,0 +1,23 @@ +diff -ur dde-network-utils-master.orig/dde-network-utils.pro dde-network-utils-master/dde-network-utils.pro +--- dde-network-utils-master.orig/dde-network-utils.pro 2019-04-04 03:37:46.000000000 -0300 ++++ dde-network-utils-master/dde-network-utils.pro 2019-04-07 05:56:28.283195087 -0300 +@@ -52,6 +52,7 @@ + + QMAKE_PKGCONFIG_NAME = libddenetworkutils + QMAKE_PKGCONFIG_DESCRIPTION = libddenetworkutils ++QMAKE_PKGCONFIG_PREFIX = $$PREFIX + QMAKE_PKGCONFIG_INCDIR = $$includes.path + QMAKE_PKGCONFIG_LIBDIR = $$target.path + QMAKE_PKGCONFIG_DESTDIR = pkgconfig +diff -ur dde-network-utils-master.orig/networkworker.cpp dde-network-utils-master/networkworker.cpp +--- dde-network-utils-master.orig/networkworker.cpp 2019-04-04 03:37:46.000000000 -0300 ++++ dde-network-utils-master/networkworker.cpp 2019-04-07 05:54:28.656479216 -0300 +@@ -80,7 +80,7 @@ + } + } + +- const bool isAppProxyVaild = QProcess::execute("which", QStringList() << "/usr/bin/proxychains4") == 0; ++ const bool isAppProxyVaild = QProcess::execute("@which@/bin/which", QStringList() << "@proxychains@/bin/proxychains4") == 0; + m_networkModel->onAppProxyExistChanged(isAppProxyVaild); + } + diff --git a/pkgs/desktops/deepin/dde-polkit-agent/dde-polkit-agent.plugins-dir.patch b/pkgs/desktops/deepin/dde-polkit-agent/dde-polkit-agent.plugins-dir.patch new file mode 100644 index 00000000000..a6941e975eb --- /dev/null +++ b/pkgs/desktops/deepin/dde-polkit-agent/dde-polkit-agent.plugins-dir.patch @@ -0,0 +1,42 @@ +From 4f457d38e9e75bc97ee7dba633bf0cdd61b8cd5b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= +Date: Fri, 19 Apr 2019 22:01:16 -0300 +Subject: [PATCH] Use an environment variable to find plugins + +--- + pluginmanager.cpp | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +diff --git a/pluginmanager.cpp b/pluginmanager.cpp +index 0c03237..79bdf86 100644 +--- a/pluginmanager.cpp ++++ b/pluginmanager.cpp +@@ -34,13 +34,19 @@ QList PluginManager::reduceGetOptions(const QString &actionID) + void PluginManager::load() + { + +- QDir dir("/usr/lib/polkit-1-dde/plugins/"); +- QFileInfoList pluginFiles = dir.entryInfoList((QStringList("*.so"))); ++ QStringList pluginsDirs = QProcessEnvironment::systemEnvironment().value("DDE_POLKIT_PLUGINS_DIRS").split(QDir::listSeparator(), QString::SkipEmptyParts); ++ pluginsDirs.append("/usr/lib/polkit-1-dde/plugins/"); + +- for (const QFileInfo &pluginFile : pluginFiles) { +- AgentExtension *plugin = loadFile(pluginFile.absoluteFilePath()); +- if (plugin) +- m_plugins << plugin; ++ for (const QString &dirName : pluginsDirs) { ++ QDir dir(dirName); ++ ++ QFileInfoList pluginFiles = dir.entryInfoList((QStringList("*.so"))); ++ ++ for (const QFileInfo &pluginFile : pluginFiles) { ++ AgentExtension *plugin = loadFile(pluginFile.absoluteFilePath()); ++ if (plugin) ++ m_plugins << plugin; ++ } + } + } + +-- +2.21.0 + diff --git a/pkgs/desktops/deepin/dde-polkit-agent/default.nix b/pkgs/desktops/deepin/dde-polkit-agent/default.nix new file mode 100644 index 00000000000..9d181c188d4 --- /dev/null +++ b/pkgs/desktops/deepin/dde-polkit-agent/default.nix @@ -0,0 +1,50 @@ +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, qttools, polkit-qt, + dtkcore, dtkwidget, dde-qt-dbus-factory, deepin }: + +mkDerivation rec { + pname = "dde-polkit-agent"; + version = "0.2.10"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "0syg121slpd6d9xpifgcf85lg9ca0k96cl1g3rjvsmczs2d2ffgf"; + }; + + nativeBuildInputs = [ + pkgconfig + qmake + qttools + deepin.setupHook + ]; + + buildInputs = [ + dde-qt-dbus-factory + dtkcore + dtkwidget + polkit-qt + ]; + + postPatch = '' + searchHardCodedPaths + patchShebangs translate_generation.sh + + fixPath $out /usr dde-polkit-agent.pro polkit-dde-authentication-agent-1.desktop + fixPath /run/current-system/sw /usr/lib/polkit-1-dde/plugins pluginmanager.cpp + ''; + + postFixup = '' + searchHardCodedPaths $out + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; + + meta = with stdenv.lib; { + description = "PolicyKit agent for Deepin Desktop Environment"; + homepage = https://github.com/linuxdeepin/dde-polkit-agent; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix b/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix index f28d8f77b3c..a0e1e35ad85 100644 --- a/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix +++ b/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix @@ -1,30 +1,32 @@ -{ stdenv, fetchFromGitHub, pkgconfig, qmake, python, deepin }: +{ stdenv, fetchFromGitHub, qmake, python3, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "dde-qt-dbus-factory"; - version = "1.0.5"; + version = "1.1.5"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0cz55hsbhy1ab1mndv0sp6xnqrhz2y66w7pcxy8v9k87ii32czf8"; + sha256 = "1jzfblsmnfpgym95mmbd8mjkk8wqqfb0kz6n6fy742hmqlzrpsj7"; }; nativeBuildInputs = [ qmake - python + python3 + deepin.setupHook ]; postPatch = '' - sed -i libdframeworkdbus/{DFrameworkdbusConfig.in,libdframeworkdbus.pro} \ - -e "s,/usr,$out," + searchHardCodedPaths + fixPath $out /usr \ + libdframeworkdbus/DFrameworkdbusConfig.in \ + libdframeworkdbus/libdframeworkdbus.pro ''; enableParallelBuilding = true; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Qt DBus interface library for Deepin software"; diff --git a/pkgs/desktops/deepin/dde-session-ui/default.nix b/pkgs/desktops/deepin/dde-session-ui/default.nix index d3970cf8710..d6713fb3688 100644 --- a/pkgs/desktops/deepin/dde-session-ui/default.nix +++ b/pkgs/desktops/deepin/dde-session-ui/default.nix @@ -1,18 +1,19 @@ -{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtsvg, qttools, - qtx11extras, xkeyboard_config, xorg, lightdm_qt, gsettings-qt, - dde-qt-dbus-factory, deepin-gettext-tools, dtkcore, dtkwidget, - hicolor-icon-theme, deepin }: +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, dbus, dde-daemon, + dde-qt-dbus-factory, deepin, deepin-desktop-schemas, + deepin-gettext-tools, deepin-icon-theme, deepin-wallpapers, dtkcore, + dtkwidget, gnugrep, gsettings-qt, hicolor-icon-theme, lightdm_qt, + onboard, qtsvg, qttools, qtx11extras, setxkbmap, utillinux, which, + xkeyboard_config, xorg, xrandr, wrapGAppsHook }: -stdenv.mkDerivation rec { - name = "${pname}-${version}"; +mkDerivation rec { pname = "dde-session-ui"; - version = "4.6.2"; + version = "4.9.12"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "1fxlrj7vv7nqllwpwc8mxiv9bfqcj9b2qwkpjaq326pfmg5p5lhq"; + sha256 = "00i45xv87wx9cww1d445lg6zjbhda5kki8nhsaav8gf2d4cmwzf4"; }; nativeBuildInputs = [ @@ -20,37 +21,100 @@ stdenv.mkDerivation rec { qmake qttools deepin-gettext-tools + wrapGAppsHook + deepin.setupHook ]; buildInputs = [ + dbus + dde-daemon dde-qt-dbus-factory + deepin-desktop-schemas + deepin-icon-theme + deepin-wallpapers dtkcore dtkwidget + gnugrep gsettings-qt + hicolor-icon-theme lightdm_qt + onboard qtsvg qtx11extras + setxkbmap + utillinux + which + xkeyboard_config xorg.libXcursor xorg.libXrandr xorg.libXtst - xkeyboard_config - hicolor-icon-theme + xrandr ]; postPatch = '' - patchShebangs . - sed -i translate_desktop.sh -e "s,/usr/bin/deepin-desktop-ts-convert,deepin-desktop-ts-convert," + searchHardCodedPaths # debugging + + patchShebangs translate_generation.sh translate_desktop.sh + + substituteInPlace translate_desktop.sh --replace "/usr/bin/deepin-desktop-ts-convert" "deepin-desktop-ts-convert" + find -type f -exec sed -i -e "s,path = /etc,path = $out/etc," {} + find -type f -exec sed -i -e "s,path = /usr,path = $out," {} + - find -type f -exec sed -i -e "s,Exec=/usr,Exec=$out," {} + find -type f -exec sed -i -e "s,/usr/share/dde-session-ui,$out/share/dde-session-ui," {} + - sed -i global_util/xkbparser.h -e "s,/usr/share/X11/xkb/rules/base.xml,${xkeyboard_config}/share/X11/xkb/rules/base.xml," - sed -i lightdm-deepin-greeter/scripts/lightdm-deepin-greeter -e "s,/usr/bin/lightdm-deepin-greeter,$out/bin/lightdm-deepin-greeter," + + substituteInPlace dde-osd/dde-osd_autostart.desktop --replace "Exec=/usr/lib/deepin-daemon/dde-osd" "Exec=$out/lib/deepin-daemon/dde-osd" + substituteInPlace dde-osd/com.deepin.dde.osd.service --replace "Exec=/usr/lib/deepin-daemon/dde-osd" "Exec=$out/lib/deepin-daemon/dde-osd" + substituteInPlace dde-lock/com.deepin.dde.lockFront.service --replace "Exec=/usr/bin/dde-lock" "Exec=$out/bin/dde-lock" + substituteInPlace dmemory-warning-dialog/com.deepin.dde.MemoryWarningDialog.service --replace "Exec=/usr/bin/dmemory-warning-dialog" "Exec=$out/bin/dmemory-warning-dialog" + substituteInPlace dde-warning-dialog/com.deepin.dde.WarningDialog.service --replace "Exec=/usr/lib/deepin-daemon/dde-warning-dialog" "Exec=$out/lib/deepin-daemon/dde-warning-dialog" + substituteInPlace dde-shutdown/com.deepin.dde.shutdownFront.service --replace "Exec=/usr/bin/dde-shutdown" "Exec=$out/bin/dde-shutdown" + substituteInPlace dde-welcome/com.deepin.dde.welcome.service --replace "Exec=/usr/lib/deepin-daemon/dde-welcome" "Exec=$out/lib/deepin-daemon/dde-welcome" + substituteInPlace session-ui-guardien/session-ui-guardien.desktop --replace "Exec=/usr/bin/session-ui-guardien" "Exec=$out/bin/session-ui-guardien" + substituteInPlace lightdm-deepin-greeter/lightdm-deepin-greeter.desktop --replace "Exec=/usr/bin/deepin-greeter" "Exec=$out/bin/deepin-greeter" + substituteInPlace misc/applications/deepin-toggle-desktop.desktop.in --replace "Exec=/usr/lib/deepin-daemon/desktop-toggle" "Exec=${dde-daemon}/lib/deepin-daemon/desktop-toggle" + + # Uncomment (and remove space after $) after packaging deepin-system-monitor + #substituteInPlace dde-shutdown/view/contentwidget.cpp --replace "/usr/bin/deepin-system-monitor" "$ {deepin-system-monitor}/bin/deepin-system-monitor" + + substituteInPlace dde-offline-upgrader/main.cpp --replace "dbus-send" "${dbus}/bin/dbus-send" + substituteInPlace dde-osd/kblayoutindicator.cpp --replace "dbus-send" "${dbus}/bin/dbus-send" + substituteInPlace dde-shutdown/view/contentwidget.cpp --replace "/usr/share/backgrounds/deepin" "${deepin-wallpapers}/share/backgrounds/deepin" + substituteInPlace dde-welcome/mainwidget.cpp --replace "dbus-send" "${dbus}/bin/dbus-send" + substituteInPlace dmemory-warning-dialog/src/buttondelegate.cpp --replace "dbus-send" "${dbus}/bin/dbus-send" + substituteInPlace dmemory-warning-dialog/src/buttondelegate.cpp --replace "kill" "${utillinux}/bin/dbus-send" + substituteInPlace global_util/xkbparser.h --replace "/usr/share/X11/xkb/rules/base.xml" "${xkeyboard_config}/share/X11/xkb/rules/base.xml" + substituteInPlace lightdm-deepin-greeter/deepin-greeter --replace "/etc/deepin/greeters.d" "$out/etc/deepin/greeters.d" + substituteInPlace lightdm-deepin-greeter/main.cpp --replace "/usr/share/icons/deepin" "${deepin-icon-theme}/share/icons/deepin" + substituteInPlace lightdm-deepin-greeter/scripts/00-xrandr --replace "egrep" "${gnugrep}/bin/egrep" + substituteInPlace lightdm-deepin-greeter/scripts/00-xrandr --replace "xrandr" "${xrandr}/bin/xrandr" + substituteInPlace lightdm-deepin-greeter/scripts/lightdm-deepin-greeter --replace "/usr/bin/lightdm-deepin-greeter" "$out/bin/lightdm-deepin-greeter" + substituteInPlace session-ui-guardien/guardien.cpp --replace "dde-lock" "$out/bin/dde-lock" + substituteInPlace session-ui-guardien/guardien.cpp --replace "dde-shutdown" "$out/bin/dde-shutdown" + substituteInPlace session-widgets/lockworker.cpp --replace "dde-switchtogreeter" "$out/bin/dde-switchtogreeter" + substituteInPlace session-widgets/lockworker.cpp --replace "which" "${which}/bin/which" + substituteInPlace session-widgets/userinfo.cpp --replace "/usr/share/wallpapers/deepin" "${deepin-wallpapers}/share/wallpapers/deepin" + substituteInPlace widgets/fullscreenbackground.cpp --replace "/usr/share/wallpapers/deepin" "${deepin-wallpapers}/share/wallpapers/deepin" + substituteInPlace widgets/kblayoutwidget.cpp --replace "setxkbmap" "${setxkbmap}/bin/setxkbmap" + substituteInPlace widgets/virtualkbinstance.cpp --replace "onboard" "${onboard}/bin/onboard" + # fix default background url - sed -i widgets/*.cpp boxframe/*.cpp -e 's,/usr/share/backgrounds/default_background.jpg,/usr/share/backgrounds/deepin/desktop.jpg,' + substituteInPlace widgets/fullscreenbackground.cpp --replace "/usr/share/backgrounds/default_background.jpg" "${deepin-wallpapers}/share/backgrounds/deepin/desktop.jpg" + + # NOTES + # - on deepin linux /usr/share/icons/default/index.theme is controlled by alternatives, without an equivalent mechanism in NixOS + # - do not wrap dde-dman-portal related files: it appears it has been removed: https://github.com/linuxdeepin/dde-session-ui/commit/3bd028cf135ad22c784c0146e447ef34a69af768 ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + postFixup = '' + # wrapGAppsHook does not work with binaries outside of $out/bin or $out/libexec + for binary in $out/lib/deepin-daemon/*; do + wrapProgram $binary "''${qtWrapperArgs[@]}" + done + + searchHardCodedPaths $out # debugging + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Deepin desktop-environment - Session UI module"; diff --git a/pkgs/desktops/deepin/deepin-anything/default.nix b/pkgs/desktops/deepin/deepin-anything/default.nix new file mode 100644 index 00000000000..619c66d9f5f --- /dev/null +++ b/pkgs/desktops/deepin/deepin-anything/default.nix @@ -0,0 +1,63 @@ +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qtbase, udisks2-qt5, utillinux, + dtkcore, deepin }: + +mkDerivation rec { + pname = "deepin-anything"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "1kvyffrii4b012f6ld1ih14qrn7gg5cxbdpbkac0wxb22hnz0azm"; + }; + + outputs = [ "out" "modsrc" ]; + + nativeBuildInputs = [ + pkgconfig + deepin.setupHook + ]; + + buildInputs = [ + dtkcore + qtbase + udisks2-qt5 + utillinux + ]; + + enableParallelBuilding = true; + + makeFlags = [ + "DEB_HOST_MULTIARCH=" + "PREFIX=${placeholder ''out''}" + ]; + + postPatch = '' + searchHardCodedPaths # for debugging + fixPath $modsrc /usr/src Makefile + fixPath $out /usr Makefile + fixPath $out /usr server/tool/tool.pro + fixPath $out /etc server/tool/tool.pro + fixPath $out /usr/bin \ + server/tool/deepin-anything-tool.service \ + server/tool/com.deepin.anything.service \ + server/monitor/deepin-anything-monitor.service + sed -e 's,/lib/systemd,$$PREFIX/lib/systemd,' -i server/monitor/src/src.pro server/tool/tool.pro + ''; + + postFixup = '' + searchHardCodedPaths $out # for debugging + searchHardCodedPaths $modsrc # for debugging + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; + + meta = with stdenv.lib; { + description = "Deepin file search tool"; + homepage = https://github.com/linuxdeepin/deepin-anything; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/desktops/deepin/deepin-calculator/default.nix b/pkgs/desktops/deepin/deepin-calculator/default.nix new file mode 100644 index 00000000000..97d2b53da70 --- /dev/null +++ b/pkgs/desktops/deepin/deepin-calculator/default.nix @@ -0,0 +1,48 @@ +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, qttools, qtsvg, dtkcore, + dtkwidget, deepin }: + +mkDerivation rec { + pname = "deepin-calculator"; + version = "1.0.11"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "10bfq0h8v0a8i46gcbsy79l194g8sc0ysg289ndrra209fhwlidq"; + }; + + nativeBuildInputs = [ + qmake + pkgconfig + qttools + deepin.setupHook + ]; + + buildInputs = [ + dtkcore + dtkwidget + qtsvg + ]; + + postPatch = '' + searchHardCodedPaths # debugging + patchShebangs translate_generation.sh + fixPath $out /usr deepin-calculator.pro + substituteInPlace deepin-calculator.desktop --replace "Exec=deepin-calculator" "Exec=$out/bin/deepin-calculator" + ''; + + postFixup = '' + searchHardCodedPaths $out # debugging + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; + + meta = with stdenv.lib; { + description = "Easy to use calculator for Deepin Desktop Environment"; + homepage = https://github.com/linuxdeepin/deepin-calculator; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/desktops/deepin/deepin-desktop-base/default.nix b/pkgs/desktops/deepin/deepin-desktop-base/default.nix index 80a368c5be9..ba826eb9063 100644 --- a/pkgs/desktops/deepin/deepin-desktop-base/default.nix +++ b/pkgs/desktops/deepin/deepin-desktop-base/default.nix @@ -1,44 +1,57 @@ { stdenv, fetchFromGitHub, deepin-wallpapers, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "deepin-desktop-base"; - version = "2018.10.29"; + version = "2019.06.19"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0l2zb7rpag2q36lqsgvirhjgmj7w243nsi1rywkypf2xm7g2v235"; + sha256 = "1r158x4z4qalv4q1ni3aln05krdzblvr7y6wyciwl7cr5ag1i1jy"; }; + nativeBuildInputs = [ deepin.setupHook ]; + buildInputs = [ deepin-wallpapers ]; + # TODO: Fedora recommended dependencies: + # deepin-wallpapers + # plymouth-theme-deepin + postPatch = '' - sed -i Makefile -e "s:/usr:$out:" -e "s:/etc:$out/etc:" + searchHardCodedPaths + + fixPath $out /etc Makefile + fixPath $out /usr Makefile + + # Remove Deepin distro's lsb-release + # Don't override systemd timeouts + # Remove apt-specific templates + echo ---------------------------------------------------------------- + echo grep --color=always -E 'lsb-release|systemd|python-apt|backgrounds' Makefile + grep --color=always -E 'lsb-release|systemd|python-apt|backgrounds' Makefile + echo ---------------------------------------------------------------- + sed -i -E '/lsb-release|systemd|python-apt|backgrounds/d' Makefile ''; postInstall = '' - # Remove Deepin distro's lsb-release - rm $out/etc/lsb-release - - # Don't override systemd timeouts - rm -r $out/etc/systemd - - # Remove apt-specific templates - rm -r $out/share/python-apt - - # Remove empty backgrounds directory - rm -r $out/share/backgrounds - # Make a symlink for deepin-version ln -s ../lib/deepin/desktop-version $out/etc/deepin-version ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Base assets and definitions for Deepin Desktop Environment"; + # TODO: revise + longDescription = '' + This package provides some components for Deepin desktop environment. + - deepin logo + - deepin desktop version + - login screen background image + - language information + ''; homepage = https://github.com/linuxdeepin/deepin-desktop-base; license = licenses.gpl3; platforms = platforms.linux; diff --git a/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix b/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix index d2b70ec4a89..b6c20ef7129 100644 --- a/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix +++ b/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix @@ -1,21 +1,21 @@ -{ stdenv, fetchFromGitHub, python, deepin-gtk-theme, - deepin-icon-theme, deepin-sound-theme, deepin-wallpapers, gnome3, - deepin }: +{ stdenv, fetchFromGitHub, python3, gnome3, glib, deepin-gtk-theme, + deepin-icon-theme, deepin-sound-theme, deepin-wallpapers, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "deepin-desktop-schemas"; - version = "3.4.0"; + version = "3.13.6"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "10x0rh9z925yzyp8h0vgmg4313smvran06lvr12c3931qkmkzwgq"; + sha256 = "03jqb47kjyb9b43m2yincfjn2i43ma1pn1hddyicrrpg937caa81"; }; nativeBuildInputs = [ - python + python3 + glib.dev + deepin.setupHook ]; buildInputs = [ @@ -27,14 +27,36 @@ stdenv.mkDerivation rec { ]; postPatch = '' + searchHardCodedPaths + # fix default background url - sed -i '/picture-uri/s|/usr/share/backgrounds/default_background.jpg|$out/share/backgrounds/deepin/default.png|' \ + sed -i -e 's,/usr/share/backgrounds/default_background.jpg,/usr/share/backgrounds/deepin/desktop.jpg,' \ overrides/common/com.deepin.wrap.gnome.desktop.override + + fixPath ${deepin-wallpapers} /usr/share/backgrounds \ + overrides/common/com.deepin.wrap.gnome.desktop.override + + fixPath ${deepin-wallpapers} /usr/share/wallpapers/deepin \ + schemas/com.deepin.dde.appearance.gschema.xml + + # still hardcoded paths: + # /etc/gnome-settings-daemon/xrandr/monitors.xml ? gnome3.gnome-settings-daemon + # /usr/share/backgrounds/gnome/adwaita-lock.jpg ? gnome3.gnome-backgrounds + # /usr/share/backgrounds/gnome/adwaita-timed.xml gnome3.gnome-backgrounds + # /usr/share/desktop-directories ''; - makeFlags = [ "PREFIX=$(out)" ]; + makeFlags = [ "PREFIX=${placeholder ''out''}" ]; - passthru.updateScript = deepin.updateScript { inherit name; }; + doCheck = true; + checkTarget = "test"; + + postInstall = '' + glib-compile-schemas --strict $out/share/glib-2.0/schemas + searchHardCodedPaths $out + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "GSettings deepin desktop-wide schemas"; diff --git a/pkgs/desktops/deepin/deepin-gettext-tools/default.nix b/pkgs/desktops/deepin/deepin-gettext-tools/default.nix index 779fae6a113..f4f4ae2971a 100644 --- a/pkgs/desktops/deepin/deepin-gettext-tools/default.nix +++ b/pkgs/desktops/deepin/deepin-gettext-tools/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitHub, gettext, python3Packages, perlPackages, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "deepin-gettext-tools"; version = "1.0.8"; @@ -24,7 +23,7 @@ stdenv.mkDerivation rec { python3Packages.python ]; - makeFlags = [ "PREFIX=$(out)" ]; + makeFlags = [ "PREFIX=${placeholder ''out''}" ]; postPatch = '' sed -e 's/sudo cp/cp/' -i src/generate_mo.py @@ -36,7 +35,7 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/deepin-desktop-ts-convert --set PERL5LIB $PERL5LIB ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Deepin Internationalization utilities"; diff --git a/pkgs/desktops/deepin/deepin-gtk-theme/default.nix b/pkgs/desktops/deepin/deepin-gtk-theme/default.nix index 8d11ca8bf42..4c0643a7ce5 100644 --- a/pkgs/desktops/deepin/deepin-gtk-theme/default.nix +++ b/pkgs/desktops/deepin/deepin-gtk-theme/default.nix @@ -1,22 +1,21 @@ { stdenv, fetchFromGitHub, gtk-engine-murrine, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "deepin-gtk-theme"; - version = "17.10.10"; + version = "17.10.11"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = "deepin-gtk-theme"; rev = version; - sha256 = "0vwly24cvjwhvda7g3l595vpf99d2z7b2zr0q5kna4df4iql7vn4"; + sha256 = "0zs6mq70yd1k3d9zm3q6zxnw1md56r4imad5imdxwx58yxdx47fw"; }; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; - makeFlags = [ "PREFIX=$(out)" ]; + makeFlags = [ "PREFIX=${placeholder ''out''}" ]; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Deepin GTK Theme"; diff --git a/pkgs/desktops/deepin/deepin-icon-theme/default.nix b/pkgs/desktops/deepin/deepin-icon-theme/default.nix index ef457420601..8ecb25f5a2e 100644 --- a/pkgs/desktops/deepin/deepin-icon-theme/default.nix +++ b/pkgs/desktops/deepin/deepin-icon-theme/default.nix @@ -1,30 +1,39 @@ -{ stdenv, fetchFromGitHub, gtk3, papirus-icon-theme, deepin }: +{ stdenv, fetchFromGitHub, gtk3, xcursorgen, papirus-icon-theme, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "deepin-icon-theme"; - version = "15.12.64"; + version = "15.12.71"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0z1yrp6yg2hb67azrbd9ac743jjh83vxdf2j0mmv2lfpd4fqw8qc"; + sha256 = "12rzzjp906np95ckbxrd4mb345lm198wz69kxy48f8q1zg78q8iw"; }; - nativeBuildInputs = [ gtk3 papirus-icon-theme ]; + nativeBuildInputs = [ gtk3 xcursorgen ]; + + buildInputs = [ papirus-icon-theme ]; postPatch = '' - patchShebangs . - - # install in $out - sed -i -e "s|/usr|$out|g" Makefile tools/hicolor.links + patchShebangs tools/hicolor.links + patchShebangs tools/display_unused_links.sh + patchShebangs cursors-src/cursors/bitmaps/make.sh + patchShebangs cursors-src/render-cursors.sh # keep icon-theme.cache sed -i -e 's|\(-rm -f .*/icon-theme.cache\)|# \1|g' Makefile ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + buildTargets = "all hicolor-links"; + installTargets = "install-icons install-cursors"; + installFlags = [ "PREFIX=${placeholder ''out''}" ]; + + postInstall = '' + cp -a ./Sea ./usr/share/icons/hicolor "$out"/share/icons/ + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Icons for the Deepin Desktop Environment"; diff --git a/pkgs/desktops/deepin/deepin-image-viewer/default.nix b/pkgs/desktops/deepin/deepin-image-viewer/default.nix index 0b08f7cd39a..733f4846f5c 100644 --- a/pkgs/desktops/deepin/deepin-image-viewer/default.nix +++ b/pkgs/desktops/deepin/deepin-image-viewer/default.nix @@ -1,24 +1,24 @@ -{ stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, qtsvg, +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, qttools, qtsvg, qtx11extras, dtkcore, dtkwidget, qt5integration, freeimage, libraw, libexif, deepin }: -stdenv.mkDerivation rec { - name = "${pname}-${version}"; +mkDerivation rec { pname = "deepin-image-viewer"; - version = "1.3.1"; + version = "1.3.17"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0dxdvm6hzj6izfxka35za8y7vacd06nksfgzx6xsv7ywzagri4k5"; + sha256 = "0hz4f1kqcycyvggwfzpkblhhha87rqd427hq0mf31jfh5x17ymnh"; }; nativeBuildInputs = [ pkgconfig qmake qttools + deepin.setupHook ]; buildInputs = [ @@ -33,15 +33,15 @@ stdenv.mkDerivation rec { ]; postPatch = '' - patchShebangs . + searchHardCodedPaths + patchShebangs viewer/generate_translations.sh + fixPath $out /usr viewer/com.deepin.ImageViewer.service sed -i qimage-plugins/freeimage/freeimage.pro \ qimage-plugins/libraw/libraw.pro \ -e "s,\$\$\[QT_INSTALL_PLUGINS\],$out/$qtPluginPrefix," - sed -i viewer/com.deepin.ImageViewer.service \ - -e "s,/usr,$out," ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Image Viewer for Deepin Desktop Environment"; diff --git a/pkgs/desktops/deepin/deepin-menu/default.nix b/pkgs/desktops/deepin/deepin-menu/default.nix index 645abfedad7..9aef8a15eb9 100644 --- a/pkgs/desktops/deepin/deepin-menu/default.nix +++ b/pkgs/desktops/deepin/deepin-menu/default.nix @@ -1,21 +1,21 @@ -{ stdenv, fetchFromGitHub, pkgconfig, qmake, dtkcore, dtkwidget, +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, dtkcore, dtkwidget, qt5integration, deepin }: -stdenv.mkDerivation rec { - name = "${pname}-${version}"; +mkDerivation rec { pname = "deepin-menu"; - version = "3.4.1"; + version = "3.4.8"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0aga4d4qwd7av6aa4cynhk0sidns7m7y6x0rq1swnkpr9ksr80gi"; + sha256 = "09i0ybllymlj7s46pxma5py6x8nknfja4gxn5gj9kpf2c37qsqjc"; }; nativeBuildInputs = [ pkgconfig qmake + deepin.setupHook ]; buildInputs = [ @@ -25,12 +25,16 @@ stdenv.mkDerivation rec { ]; postPatch = '' - sed -i deepin-menu.pro -e "s,/usr,$out," + searchHardCodedPaths + fixPath $out /usr \ + data/com.deepin.menu.service \ + deepin-menu.desktop \ + deepin-menu.pro ''; enableParallelBuilding = true; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Deepin menu service"; diff --git a/pkgs/desktops/deepin/deepin-metacity/default.nix b/pkgs/desktops/deepin/deepin-metacity/default.nix index 78b6303188a..18f54223301 100644 --- a/pkgs/desktops/deepin/deepin-metacity/default.nix +++ b/pkgs/desktops/deepin/deepin-metacity/default.nix @@ -1,31 +1,32 @@ -{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, gnome3, bamf, - json-glib, libcanberra-gtk3, libxkbcommon, libstartup_notification, - deepin-wallpapers, deepin-desktop-schemas, deepin }: +{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, gnome3, glib, + gtk3, libgtop, bamf, json-glib, libcanberra-gtk3, libxkbcommon, + libstartup_notification, deepin-wallpapers, deepin-desktop-schemas, + deepin, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "deepin-metacity"; - version = "3.22.22"; + version = "3.22.24"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0gr10dv8vphla6z7zqiyyg3n3ag4rrlz43c4kr7fd5xwx2bfvp3d"; + sha256 = "1im0wz1zlxiag4kpp5d4hv0aa0ybr4bizarr3903hrqv0lp46hyx"; }; nativeBuildInputs = [ pkgconfig intltool libtool + glib.dev gnome3.gnome-common - gnome3.glib.dev + wrapGAppsHook ]; buildInputs = [ gnome3.dconf - gnome3.gtk - gnome3.libgtop + gtk3 + libgtop gnome3.zenity bamf json-glib @@ -41,7 +42,7 @@ stdenv.mkDerivation rec { -e 's;/usr/share/backgrounds/default_background.jpg;${deepin-wallpapers}/share/backgrounds/deepin/desktop.jpg;' ''; - NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0"; + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; configureFlags = [ "--disable-themes-documentation" ]; @@ -52,7 +53,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "2D window manager for Deepin"; diff --git a/pkgs/desktops/deepin/deepin-movie-reborn/default.nix b/pkgs/desktops/deepin/deepin-movie-reborn/default.nix index 3d195f8f1c0..046f589263b 100644 --- a/pkgs/desktops/deepin/deepin-movie-reborn/default.nix +++ b/pkgs/desktops/deepin/deepin-movie-reborn/default.nix @@ -1,19 +1,20 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, qttools, qtx11extras, +{ stdenv, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qttools, qtx11extras, dtkcore, dtkwidget, ffmpeg, ffmpegthumbnailer, mpv, pulseaudio, libdvdnav, libdvdread, xorg, deepin }: -stdenv.mkDerivation rec { - name = "${pname}-${version}"; +mkDerivation rec { pname = "deepin-movie-reborn"; - version = "3.2.14"; + version = "3.2.24"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "1i9sdg2p6qp57rqzrnjbxnqj3mg1qggzyq3yykw271vs8h85a707"; + sha256 = "16mxym7dm6qk90q2w7xqm62047rq0lirrjmnnpaxshzaww9gngkh"; }; + outputs = [ "out" "dev" ]; + nativeBuildInputs = [ cmake pkgconfig @@ -43,7 +44,7 @@ stdenv.mkDerivation rec { sed -i src/libdmr/libdmr.pc.in -e "s,/usr,$out," -e 's,libdir=''${prefix}/,libdir=,' ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Deepin movie player"; diff --git a/pkgs/desktops/deepin/deepin-mutter/deepin-mutter.plugins-dir.patch b/pkgs/desktops/deepin/deepin-mutter/deepin-mutter.plugins-dir.patch new file mode 100644 index 00000000000..4a57b501e01 --- /dev/null +++ b/pkgs/desktops/deepin/deepin-mutter/deepin-mutter.plugins-dir.patch @@ -0,0 +1,41 @@ +From 8eeb4febcae517080d6638f8953e02335df79f01 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= +Date: Sat, 20 Apr 2019 00:28:47 -0300 +Subject: [PATCH] Get plugins dir from environment variable + +--- + src/compositor/meta-plugin-manager.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/src/compositor/meta-plugin-manager.c b/src/compositor/meta-plugin-manager.c +index ac5716db..d000100b 100644 +--- a/src/compositor/meta-plugin-manager.c ++++ b/src/compositor/meta-plugin-manager.c +@@ -56,14 +56,22 @@ meta_plugin_manager_set_plugin_type (GType gtype) + void + meta_plugin_manager_load (const gchar *plugin_name) + { +- const gchar *dpath = MUTTER_PLUGIN_DIR "/"; ++ const gchar *env_var; ++ const gchar *dpath; + gchar *path; + MetaModule *module; + ++ env_var = g_getenv ("DEEPIN_MUTTER_PLUGINS_DIR"); ++ g_debug ("$DEEPIN_MUTTER_PLUGINS_DIR: %s\n", env_var); ++ ++ dpath = env_var == NULL || strlen (env_var) == 0 ? MUTTER_PLUGIN_DIR : env_var; ++ g_debug ("dpath: %s\n", dpath); ++ + if (g_path_is_absolute (plugin_name)) + path = g_strdup (plugin_name); + else +- path = g_strconcat (dpath, plugin_name, ".so", NULL); ++ path = g_strconcat (dpath, "/", plugin_name, ".so", NULL); ++ g_debug ("path: %s\n", path); + + module = g_object_new (META_TYPE_MODULE, "path", path, NULL); + if (!module || !g_type_module_use (G_TYPE_MODULE (module))) +-- +2.21.0 + diff --git a/pkgs/desktops/deepin/deepin-mutter/default.nix b/pkgs/desktops/deepin/deepin-mutter/default.nix index be845d3c6ba..9f2e8068d55 100644 --- a/pkgs/desktops/deepin/deepin-mutter/default.nix +++ b/pkgs/desktops/deepin/deepin-mutter/default.nix @@ -1,17 +1,18 @@ -{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, gnome3, xorg, - libcanberra-gtk3, upower, xkeyboard_config, libxkbcommon, - libstartup_notification, libinput, cogl, clutter, systemd, deepin }: +{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, gnome3, gtk3, + xorg, libcanberra-gtk3, upower, xkeyboard_config, libxkbcommon, + libstartup_notification, libinput, libgudev, cogl, clutter, systemd, + gsettings-desktop-schemas, deepin-desktop-schemas, wrapGAppsHook, + deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "deepin-mutter"; - version = "3.20.35"; + version = "3.20.38"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0mwk06kgw8qp8rg1j6px1zlya4x5rr9llax0qks59j56b3m9yim7"; + sha256 = "1aq7606sgn2c6n8wfgxdryw3lprc4va0zjc0r65798w5656fdi31"; }; nativeBuildInputs = [ @@ -19,27 +20,37 @@ stdenv.mkDerivation rec { intltool libtool gnome3.gnome-common + wrapGAppsHook + deepin.setupHook ]; buildInputs = [ - gnome3.gtk - gnome3.gnome-desktop - gnome3.gsettings-desktop-schemas - gnome3.libgudev - gnome3.zenity - upower - xorg.libxkbfile - libxkbcommon - libcanberra-gtk3 - libstartup_notification - libinput - xkeyboard_config - cogl clutter + cogl + deepin-desktop-schemas + gnome3.gnome-desktop + gnome3.zenity + gsettings-desktop-schemas + gtk3 + libcanberra-gtk3 + libgudev + libinput + libstartup_notification + libxkbcommon systemd + upower + xkeyboard_config + xorg.libxkbfile ]; - enableParallelBuilding = true; + patches = [ + ./deepin-mutter.plugins-dir.patch + ]; + + postPatch = '' + searchHardCodedPaths # debugging + sed -i -e "s,Exec=deepin-mutter,Exec=$out/bin/deepin-mutter," data/mutter.desktop.in + ''; configureFlags = [ "--enable-native-backend" @@ -50,7 +61,13 @@ stdenv.mkDerivation rec { NOCONFIGURE=1 ./autogen.sh ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + postFixup = '' + searchHardCodedPaths $out # debugging + ''; + + enableParallelBuilding = true; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Base window manager for deepin, fork of gnome mutter"; diff --git a/pkgs/desktops/deepin/deepin-screenshot/default.nix b/pkgs/desktops/deepin/deepin-screenshot/default.nix new file mode 100644 index 00000000000..e77aa5e68c6 --- /dev/null +++ b/pkgs/desktops/deepin/deepin-screenshot/default.nix @@ -0,0 +1,60 @@ +{ stdenv, mkDerivation, fetchFromGitHub, fetchpatch, cmake, pkgconfig, xdg_utils, qttools, qtx11extras, + dtkcore, dtkwidget, dtkwm, deepin-turbo, deepin-shortcut-viewer, + deepin }: + +mkDerivation rec { + pname = "deepin-screenshot"; + version = "4.2.1"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "16wy1ywp4lm7fg488laqxgxpir745rbpj9z410r6x7krpgjds189"; + }; + + nativeBuildInputs = [ + cmake + pkgconfig + qttools + deepin.setupHook + ]; + + buildInputs = [ + deepin-shortcut-viewer + deepin-turbo + dtkcore + dtkwidget + dtkwm + qtx11extras + ]; + + patches = [ + (fetchpatch { + url = https://github.com/linuxdeepin/deepin-screenshot/pull/52/commits/e14508b223fd9965854ed41c944cea2ea19e6e0c.patch; + sha256 = "18zvz98z3hr8pcdyb706za6h2nwx23zsjb1hgyp21ycinhzr9j9h"; + }) + ]; + + postPatch = '' + searchHardCodedPaths + patchShebangs generate_translations.sh + fixPath ${deepin-turbo} /usr/bin/deepin-turbo-invoker src/dbusservice/com.deepin.Screenshot.service + fixPath $out /usr/bin/deepin-screenshot src/dbusservice/com.deepin.Screenshot.service + substituteInPlace src/mainwindow.cpp --replace '"xdg-open,%1"' '"${xdg_utils}/bin/xdg-open,%1"' + ''; + + postFixup = '' + searchHardCodedPaths $out + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; + + meta = with stdenv.lib; { + description = "Easy-to-use screenshot tool for Deepin Desktop Environment"; + homepage = https://github.com/linuxdeepin/deepin-screenshot; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo flokli ]; + }; +} diff --git a/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix b/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix index 737c99261f9..62c6c7ed925 100644 --- a/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix +++ b/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix @@ -1,8 +1,7 @@ -{ stdenv, fetchFromGitHub, pkgconfig, qmake, dtkcore, dtkwidget, +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, dtkcore, dtkwidget, qt5integration, deepin }: -stdenv.mkDerivation rec { - name = "${pname}-${version}"; +mkDerivation rec { pname = "deepin-shortcut-viewer"; version = "1.3.5"; @@ -26,7 +25,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Pop-up shortcut viewer for Deepin applications"; diff --git a/pkgs/desktops/deepin/deepin-sound-theme/default.nix b/pkgs/desktops/deepin/deepin-sound-theme/default.nix index bb004372497..398be55398b 100644 --- a/pkgs/desktops/deepin/deepin-sound-theme/default.nix +++ b/pkgs/desktops/deepin/deepin-sound-theme/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitHub, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "deepin-sound-theme"; version = "15.10.3"; @@ -12,9 +11,9 @@ stdenv.mkDerivation rec { sha256 = "1sw4nrn7q7wk1hpicm05apyc0mihaw42iqm52wb8ib8gm1qiylr9"; }; - makeFlags = [ "PREFIX=$(out)" ]; + makeFlags = [ "PREFIX=${placeholder ''out''}" ]; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Deepin sound theme"; diff --git a/pkgs/desktops/deepin/deepin-terminal/default.nix b/pkgs/desktops/deepin/deepin-terminal/default.nix index 70e15441436..59789bd84bb 100644 --- a/pkgs/desktops/deepin/deepin-terminal/default.nix +++ b/pkgs/desktops/deepin/deepin-terminal/default.nix @@ -1,19 +1,18 @@ -{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, cmake, ninja, vala, - gettext, gobject-introspection, at-spi2-core, dbus, epoxy, expect, - gtk3, json-glib, libXdmcp, libgee, libpthreadstubs, librsvg, - libsecret, libtasn1, libxcb, libxkbcommon, p11-kit, pcre, vte, wnck, - deepin-menu, deepin-shortcut-viewer, deepin }: +{ stdenv, fetchFromGitHub, pkgconfig, cmake, ninja, vala, + gettext, at-spi2-core, dbus, epoxy, expect, gtk3, json-glib, + libXdmcp, libgee, libpthreadstubs, librsvg, libsecret, libtasn1, + libxcb, libxkbcommon, p11-kit, pcre, vte, wnck, libselinux, + libsepol, utillinux, deepin-menu, deepin-shortcut-viewer, deepin, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "deepin-terminal"; - version = "3.0.10.2"; + version = "3.2.6"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = "deepin-terminal"; rev = version; - sha256 = "0ylhp8q9kfdq9l69drawjaf0q8vcqyflb2a3zfnwbnf06dlpvkz6"; + sha256 = "09s5gvzfxfb353kb61x1b6z3h2aqgln3s3mah3f3zkf5y8hrp2pj"; }; nativeBuildInputs = [ @@ -22,7 +21,9 @@ stdenv.mkDerivation rec { ninja vala gettext - gobject-introspection # For setup hook + libselinux libsepol utillinux # required by gio + deepin.setupHook + wrapGAppsHook ]; buildInputs = [ @@ -49,15 +50,19 @@ stdenv.mkDerivation rec { ]; postPatch = '' - patchShebangs . + searchHardCodedPaths ''; - enableParallelBuilding = true; + cmakeFlags = [ + "-DTEST_BUILD=OFF" + "-DUSE_VENDOR_LIB=OFF" + "-DVERSION=${version}" + ]; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { - description = "The default terminal emulation for Deepin"; + description = "Default terminal emulator for Deepin"; longDescription = '' Deepin terminal, it sharpens your focus in the world of command line! It is an advanced terminal emulator with workspace, multiple diff --git a/pkgs/desktops/deepin/deepin-turbo/default.nix b/pkgs/desktops/deepin/deepin-turbo/default.nix new file mode 100644 index 00000000000..299db533674 --- /dev/null +++ b/pkgs/desktops/deepin/deepin-turbo/default.nix @@ -0,0 +1,43 @@ +{ stdenv, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qtbase, deepin }: + +mkDerivation rec { + pname = "deepin-turbo"; + version = "0.0.3"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "15l0pgszmbirlaxj04ishj43kyvigsl1yaf58kxlbdb3lkmcp5f3"; + }; + + nativeBuildInputs = [ + cmake + pkgconfig + deepin.setupHook + ]; + + buildInputs = [ + qtbase + ]; + + postPatch = '' + searchHardCodedPaths # for debugging + fixPath $out /usr/lib/systemd src/booster-dtkwidget/CMakeLists.txt + fixPath $out /usr/lib/deepin-turbo src/booster-dtkwidget/deepin-turbo-booster-dtkwidget.service + ''; + + postFixup = '' + searchHardCodedPaths $out # for debugging + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; + + meta = with stdenv.lib; { + description = "A daemon that helps to launch applications faster"; + homepage = https://github.com/linuxdeepin/deepin-turbo; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/desktops/deepin/deepin-wallpapers/default.nix b/pkgs/desktops/deepin/deepin-wallpapers/default.nix index 8f04bd48218..e822cf6269d 100644 --- a/pkgs/desktops/deepin/deepin-wallpapers/default.nix +++ b/pkgs/desktops/deepin/deepin-wallpapers/default.nix @@ -1,21 +1,22 @@ { stdenv, fetchFromGitHub, dde-api, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "deepin-wallpapers"; - version = "1.7.5"; + version = "1.7.7"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = "deepin-wallpapers"; rev = version; - sha256 = "0mfjkh81ci0gjwmgycrh32by7v9b73nyvyjbqd29ccpb8bpyyakn"; + sha256 = "09cfnxbpms98ibqbi4xd51181q3az5n8rmndcdr9w12kyzniz7xv"; }; - nativeBuildInputs = [ dde-api.bin ]; + nativeBuildInputs = [ dde-api deepin.setupHook ]; postPatch = '' - sed -i -e "s:/usr/lib/deepin-api:${dde-api.bin}/lib/deepin-api:" Makefile + searchHardCodedPaths # debugging + + sed -i -e "s:/usr/lib/deepin-api:${dde-api}/lib/deepin-api:" Makefile sed -i -e "s:/usr/share/wallpapers:$out/share/wallpapers:" Makefile ''; @@ -32,7 +33,7 @@ stdenv.mkDerivation rec { $out/var/cache/image-blur/$(echo -n $out/share/backgrounds/deepin/desktop.jpg | md5sum | cut -d " " -f 1).jpg ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Wallpapers for Deepin Desktop Environment"; diff --git a/pkgs/desktops/deepin/deepin-wm/default.nix b/pkgs/desktops/deepin/deepin-wm/default.nix index ea2f06aae60..13b115e7042 100644 --- a/pkgs/desktops/deepin/deepin-wm/default.nix +++ b/pkgs/desktops/deepin/deepin-wm/default.nix @@ -1,54 +1,69 @@ { stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, vala, gnome3, - bamf, clutter-gtk, pantheon, libcanberra-gtk3, libwnck3, - deepin-mutter, deepin-wallpapers, deepin-desktop-schemas, - hicolor-icon-theme, deepin }: + dbus, bamf, clutter-gtk, pantheon, libgee, libcanberra-gtk3, + libwnck3, deepin-menu, deepin-mutter, deepin-wallpapers, + deepin-desktop-schemas, wrapGAppsHook, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "deepin-wm"; - version = "1.9.34"; + version = "1.9.38"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "13hydcalifdc6723k8l4pk905y9sxic5x1fqww0fyx7j6b3hm13f"; + sha256 = "1qhdnv4x78f0gkr94q0j8x029fk9ji4m9jdipgrdm83pnahib80g"; }; nativeBuildInputs = [ pkgconfig intltool libtool - gnome3.gnome-common vala + gnome3.gnome-common + wrapGAppsHook + deepin.setupHook ]; buildInputs = [ - gnome3.gnome-desktop - gnome3.libgee bamf clutter-gtk - pantheon.granite - libcanberra-gtk3 - libwnck3 + dbus + deepin-desktop-schemas + deepin-menu deepin-mutter deepin-wallpapers - deepin-desktop-schemas - hicolor-icon-theme + gnome3.gnome-desktop + libcanberra-gtk3 + libgee + libwnck3 + pantheon.granite ]; postPatch = '' - sed -i src/Background/BackgroundSource.vala \ - -e 's;/usr/share/backgrounds/default_background.jpg;${deepin-wallpapers}/share/backgrounds/deepin/desktop.jpg;' + searchHardCodedPaths # debugging + + # fix background path + fixPath ${deepin-wallpapers} /usr/share/backgrounds src/Background/BackgroundSource.vala + sed -i 's|default_background.jpg|deepin/desktop.jpg|' src/Background/BackgroundSource.vala + + # fix executable paths in desktop files + sed -i -e "s,Exec=dbus-send,Exec=${dbus}/bin/dbus-send," data/gala-multitaskingview.desktop.in + sed -i -e "s,Exec=deepin-wm,Exec=$out/bin/deepin-wm," data/gala.desktop ''; + NIX_CFLAGS_COMPILE = "-DWNCK_I_KNOW_THIS_IS_UNSTABLE"; + preConfigure = '' - ./autogen.sh + NOCONFIGURE=1 ./autogen.sh + ''; + + postFixup = '' + searchHardCodedPaths $out # debugging ''; enableParallelBuilding = true; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Deepin Window Manager"; diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix index 4fe787bc5d4..5d68396a498 100644 --- a/pkgs/desktops/deepin/default.nix +++ b/pkgs/desktops/deepin/default.nix @@ -2,14 +2,24 @@ let packages = self: with self; { + setupHook = ./setup-hook.sh; + updateScript = callPackage ./update.nix { }; dbus-factory = callPackage ./dbus-factory { }; dde-api = callPackage ./dde-api { }; dde-calendar = callPackage ./dde-calendar { }; + dde-control-center = callPackage ./dde-control-center { }; dde-daemon = callPackage ./dde-daemon { }; + dde-dock = callPackage ./dde-dock { }; + dde-file-manager = callPackage ./dde-file-manager { }; + dde-launcher = callPackage ./dde-launcher { }; + dde-network-utils = callPackage ./dde-network-utils { }; + dde-polkit-agent = callPackage ./dde-polkit-agent { }; dde-qt-dbus-factory = callPackage ./dde-qt-dbus-factory { }; dde-session-ui = callPackage ./dde-session-ui { }; + deepin-anything = callPackage ./deepin-anything { }; + deepin-calculator = callPackage ./deepin-calculator { }; deepin-desktop-base = callPackage ./deepin-desktop-base { }; deepin-desktop-schemas = callPackage ./deepin-desktop-schemas { }; deepin-gettext-tools = callPackage ./deepin-gettext-tools { }; @@ -20,23 +30,27 @@ let deepin-metacity = callPackage ./deepin-metacity { }; deepin-movie-reborn = callPackage ./deepin-movie-reborn { }; deepin-mutter = callPackage ./deepin-mutter { }; + deepin-screenshot = callPackage ./deepin-screenshot { }; deepin-shortcut-viewer = callPackage ./deepin-shortcut-viewer { }; deepin-sound-theme = callPackage ./deepin-sound-theme { }; deepin-terminal = callPackage ./deepin-terminal { - inherit (pkgs.gnome3) libgee; wnck = pkgs.libwnck3; }; + deepin-turbo = callPackage ./deepin-turbo { }; deepin-wallpapers = callPackage ./deepin-wallpapers { }; deepin-wm = callPackage ./deepin-wm { }; + dpa-ext-gnomekeyring = callPackage ./dpa-ext-gnomekeyring { }; dtkcore = callPackage ./dtkcore { }; - dtkwm = callPackage ./dtkwm { }; dtkwidget = callPackage ./dtkwidget { }; + dtkwm = callPackage ./dtkwm { }; go-dbus-factory = callPackage ./go-dbus-factory { }; go-dbus-generator = callPackage ./go-dbus-generator { }; go-gir-generator = callPackage ./go-gir-generator { }; go-lib = callPackage ./go-lib { }; + qcef = callPackage ./qcef { }; qt5dxcb-plugin = callPackage ./qt5dxcb-plugin { }; qt5integration = callPackage ./qt5integration { }; + udisks2-qt5 = callPackage ./udisks2-qt5 { }; }; diff --git a/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix b/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix new file mode 100644 index 00000000000..f645be0f4d9 --- /dev/null +++ b/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, gnome3, + dde-polkit-agent, deepin }: + +stdenv.mkDerivation rec { + pname = "dpa-ext-gnomekeyring"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "168j42nwyw7vcgwc0fha2pjpwwlgir70fq1hns4ia1dkdqa1nhzw"; + }; + + nativeBuildInputs = [ + pkgconfig + qmake + qttools + deepin.setupHook + ]; + + buildInputs = [ + dde-polkit-agent + gnome3.libgnome-keyring + ]; + + postPatch = '' + searchHardCodedPaths + patchShebangs translate_generation.sh + fixPath $out /usr dpa-ext-gnomekeyring.pro gnomekeyringextention.cpp + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; + + meta = with stdenv.lib; { + description = "GNOME keyring extension for dde-polkit-agent"; + homepage = https://github.com/linuxdeepin/dpa-ext-gnomekeyring; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/desktops/deepin/dtkcore/default.nix b/pkgs/desktops/deepin/dtkcore/default.nix index 9904c58128f..2ed10f99368 100644 --- a/pkgs/desktops/deepin/dtkcore/default.nix +++ b/pkgs/desktops/deepin/dtkcore/default.nix @@ -1,21 +1,21 @@ -{ stdenv, fetchFromGitHub, pkgconfig, qmake, gsettings-qt, pythonPackages, deepin }: +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, gsettings-qt, pythonPackages, deepin }: -stdenv.mkDerivation rec { - name = "${pname}-${version}"; +mkDerivation rec { pname = "dtkcore"; - version = "2.0.9.8"; + version = "2.0.14"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "06jj5gpy2qbmc21nf0fnbvgw7nbjjgvzx7m2vg9byw5il8l4g22h"; + sha256 = "0yc6zx8rhzg9mj2brggcsr1jy1pzfvgqy1h305y2dwnx5haazd04"; }; nativeBuildInputs = [ pkgconfig qmake pythonPackages.wrapPython + deepin.setupHook ]; buildInputs = [ @@ -23,26 +23,26 @@ stdenv.mkDerivation rec { ]; postPatch = '' - # Only define QT_HOST_DATA if it is empty - sed '/QT_HOST_DATA=/a }' -i src/dtk_module.prf - sed '/QT_HOST_DATA=/i isEmpty(QT_HOST_DATA) {' -i src/dtk_module.prf + searchHardCodedPaths # debugging # Fix shebang sed -i tools/script/dtk-translate.py -e "s,#!env,#!/usr/bin/env," ''; - preConfigure = '' - qmakeFlags="$qmakeFlags QT_HOST_DATA=$out" - ''; + qmakeFlags = [ + "DTK_VERSION=${version}" + "MKSPECS_INSTALL_DIR=${placeholder "out"}/mkspecs" + ]; postFixup = '' chmod +x $out/lib/dtk2/*.py wrapPythonProgramsIn "$out/lib/dtk2" "$out $pythonPath" + searchHardCodedPaths $out # debugging ''; enableParallelBuilding = true; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Deepin tool kit core modules"; diff --git a/pkgs/desktops/deepin/dtkwidget/default.nix b/pkgs/desktops/deepin/dtkwidget/default.nix index b61f31e40ee..54c4163fcd1 100644 --- a/pkgs/desktops/deepin/dtkwidget/default.nix +++ b/pkgs/desktops/deepin/dtkwidget/default.nix @@ -1,17 +1,16 @@ -{ stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, qtmultimedia, +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, qttools, qtmultimedia, qtsvg, qtx11extras, librsvg, libstartup_notification, gsettings-qt, dde-qt-dbus-factory, dtkcore, deepin }: -stdenv.mkDerivation rec { - name = "${pname}-${version}"; +mkDerivation rec { pname = "dtkwidget"; - version = "2.0.9.10"; + version = "2.0.14"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0757dzy82bfv97b1gzkwa9zx3jzfbap20v3r1h7lkfcfw95410iw"; + sha256 = "11ws0rl7rhlgwbqd4nqpqxhngf4lcyfrrdq33wzxwdlk33d69i1h"; }; nativeBuildInputs = [ @@ -31,16 +30,17 @@ stdenv.mkDerivation rec { dtkcore ]; - preConfigure = '' - qmakeFlags="$qmakeFlags \ - INCLUDE_INSTALL_DIR=$out/include \ - LIB_INSTALL_DIR=$out/lib \ - QT_HOST_DATA=$out" - ''; + outRef = placeholder "out"; + + qmakeFlags = [ + "INCLUDE_INSTALL_DIR=${outRef}/include" + "LIB_INSTALL_DIR=${outRef}/lib" + "QT_HOST_DATA=${outRef}" + ]; enableParallelBuilding = true; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Deepin graphical user interface library"; diff --git a/pkgs/desktops/deepin/dtkwm/default.nix b/pkgs/desktops/deepin/dtkwm/default.nix index 7154ae3da6a..4807c3d312b 100644 --- a/pkgs/desktops/deepin/dtkwm/default.nix +++ b/pkgs/desktops/deepin/dtkwm/default.nix @@ -1,16 +1,15 @@ -{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtx11extras, dtkcore, +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, qtx11extras, dtkcore, deepin }: -stdenv.mkDerivation rec { - name = "${pname}-${version}"; +mkDerivation rec { pname = "dtkwm"; - version = "2.0.9"; + version = "2.0.11"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0vkx6vlz83pgawhdwqkwpq3dy8whxmjdzfpgrvm2m6jmspfk9bab"; + sha256 = "10l89i84vsh5knq9wg2php7vfg5rj5c9hrrl9rjlcidn1rz8yx6f"; }; nativeBuildInputs = [ @@ -23,14 +22,15 @@ stdenv.mkDerivation rec { qtx11extras ]; - preConfigure = '' - qmakeFlags="$qmakeFlags \ - QT_HOST_DATA=$out \ - INCLUDE_INSTALL_DIR=$out/include \ - LIB_INSTALL_DIR=$out/lib" - ''; + outRef = placeholder "out"; - passthru.updateScript = deepin.updateScript { inherit name; }; + qmakeFlags = [ + "QT_HOST_DATA=${outRef}" + "INCLUDE_INSTALL_DIR=${outRef}/include" + "LIB_INSTALL_DIR=${outRef}/lib" + ]; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Deepin graphical user interface library"; diff --git a/pkgs/desktops/deepin/go-dbus-factory/default.nix b/pkgs/desktops/deepin/go-dbus-factory/default.nix index 01d504eda89..1d97991dffd 100644 --- a/pkgs/desktops/deepin/go-dbus-factory/default.nix +++ b/pkgs/desktops/deepin/go-dbus-factory/default.nix @@ -1,24 +1,23 @@ { stdenv, fetchFromGitHub, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "go-dbus-factory"; - version = "0.0.7.1"; + version = "0.9.0"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0gj2xxv45gh7wr5ry3mcsi46kdsyq9nbd7znssn34kapiv40ixcx"; + sha256 = "06fqyad9f50gcjsjkh7929yyaprahdjhnd0dr4gl2797a7wysl3f"; }; - makeFlags = [ "PREFIX=$(out)" ]; + makeFlags = [ "PREFIX=${placeholder ''out''}" ]; postPatch = '' sed -i -e 's:/share/gocode:/share/go:' Makefile ''; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "GoLang DBus factory for the Deepin Desktop Environment"; diff --git a/pkgs/desktops/deepin/go-dbus-generator/default.nix b/pkgs/desktops/deepin/go-dbus-generator/default.nix index 28873d8459e..2c63fd5ebe6 100644 --- a/pkgs/desktops/deepin/go-dbus-generator/default.nix +++ b/pkgs/desktops/deepin/go-dbus-generator/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitHub, go, go-lib, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "go-dbus-generator"; version = "0.6.6"; @@ -18,11 +17,11 @@ stdenv.mkDerivation rec { ]; makeFlags = [ - "PREFIX=$(out)" - "GOCACHE=off" + "PREFIX=${placeholder ''out''}" + "GOCACHE=$(TMPDIR)/go-cache" ]; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Convert dbus interfaces to go-lang or qml wrapper code"; diff --git a/pkgs/desktops/deepin/go-gir-generator/default.nix b/pkgs/desktops/deepin/go-gir-generator/default.nix index d33837b21c3..68504d756b1 100644 --- a/pkgs/desktops/deepin/go-gir-generator/default.nix +++ b/pkgs/desktops/deepin/go-gir-generator/default.nix @@ -1,26 +1,17 @@ { stdenv, fetchFromGitHub, pkgconfig, go, gobject-introspection, - libgudev, deepin, fetchurl }: + libgudev, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "go-gir-generator"; - version = "1.1.0"; + version = "2.0.2"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0grp4ffy3vmlknzmymnxq1spwshff2ylqsw82pj4y2v2fcvnqfvb"; + sha256 = "1ydzll8zlk897iqcihvv6p046p0rzr4qqz2drmz2nx95njp8n03a"; }; - patches = [ - # fix: dde-api build error with gobject-introspection 1.58+ - (fetchurl { - url = https://github.com/linuxdeepin/go-gir-generator/commit/a7ab229201e28d1be727f5021b3588fa4a1acf5f.patch; - sha256 = "13ywalwkjg8wwvd0pvmc2rv1h38airyvimdn9jfb5wis9xm48401"; - }) - ]; - nativeBuildInputs = [ pkgconfig go @@ -36,11 +27,11 @@ stdenv.mkDerivation rec { ''; makeFlags = [ - "PREFIX=$(out)" - "GOCACHE=off" + "PREFIX=${placeholder ''out''}" + "GOCACHE=$(TMPDIR)/go-cache" ]; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Generate static golang bindings for GObject"; diff --git a/pkgs/desktops/deepin/go-lib/default.nix b/pkgs/desktops/deepin/go-lib/default.nix index 684f1dd7f32..fff92b595f8 100644 --- a/pkgs/desktops/deepin/go-lib/default.nix +++ b/pkgs/desktops/deepin/go-lib/default.nix @@ -1,32 +1,33 @@ -{ stdenv, fetchFromGitHub, glib, xorg, gdk_pixbuf, pulseaudio, +{ stdenv, fetchFromGitHub, glib, xorg, gdk-pixbuf, pulseaudio, mobile-broadband-provider-info, deepin }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "go-lib"; - version = "1.3.0"; + version = "1.10.2"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "0g84v1adnnyqc1mv45n3wlvnivkm1fi8ywszzgwx8irl3iddfvxv"; + sha256 = "05z7ayl23cm8mbn4vkn3isy5kgwxljc26ifmzrhmnqm5yibd6lsf"; }; buildInputs = [ glib xorg.libX11 - gdk_pixbuf + gdk-pixbuf pulseaudio mobile-broadband-provider-info ]; - makeFlags = [ - "PREFIX=$(out)" - "GOSITE_DIR=$(out)/share/go" - ]; + installPhase = '' + mkdir -p $out/share/go/src/pkg.deepin.io/lib + cp -a * $out/share/go/src/pkg.deepin.io/lib - passthru.updateScript = deepin.updateScript { inherit name; }; + rm -r $out/share/go/src/pkg.deepin.io/lib/debian + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Go bindings for Deepin Desktop Environment development"; diff --git a/pkgs/desktops/deepin/qcef/default.nix b/pkgs/desktops/deepin/qcef/default.nix new file mode 100644 index 00000000000..ffbc230d2e2 --- /dev/null +++ b/pkgs/desktops/deepin/qcef/default.nix @@ -0,0 +1,103 @@ +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools, + qtwebchannel, qtx11extras, + gnome2, nss, nspr, alsaLib, atk, cairo, cups, dbus, + expat, fontconfig, gdk-pixbuf, glib, gtk2, + libxcb, pango, pulseaudio, xorg, deepin }: + +let + rpahtLibraries = [ + stdenv.cc.cc.lib # libstdc++.so.6 + alsaLib + atk + cairo + cups + dbus + expat + fontconfig + gdk-pixbuf + glib + gnome2.GConf + gtk2 + libxcb + nspr + nss + pango + pulseaudio + xorg.libX11 + xorg.libXScrnSaver + xorg.libXcomposite + xorg.libXcursor + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXrandr + xorg.libXrender + xorg.libXtst + ]; + libPath = stdenv.lib.makeLibraryPath rpahtLibraries; +in + +mkDerivation rec { + pname = "qcef"; + version = "1.1.6"; + + srcs = [ + (fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "1x0vb4nkfa1lq0nh6iqpxfvsqmb6qfn305pbc92bsqpgiqd7jvb1"; + name = pname; + }) + (fetchFromGitHub { + owner = "linuxdeepin"; + repo = "cef-binary"; + rev = "059a0c9cef4e289a50dc7a2f4c91fe69db95035e"; + sha256 = "1h7cq63n94y2a6fprq4g63admh49rcci7avl5z9kdimkhqb2jb84"; + name = "cef-binary"; + }) + ]; + + sourceRoot = pname; + + nativeBuildInputs = [ + pkgconfig + cmake + qttools + deepin.setupHook + ]; + + buildInputs = [ + qtbase + qtwebchannel + qtx11extras + ] ++ rpahtLibraries; + + postUnpack = '' + rmdir ${pname}/cef + ln -s ../cef-binary ${pname}/cef + ''; + + postPatch = '' + searchHardCodedPaths + fixPath $out /usr src/core/qcef_global_settings.{h,cpp} + sed '/COMMAND rm -rf Release Resources/a COMMAND ldd qcef/libcef.so' -i src/CMakeLists.txt + sed '/COMMAND rm -rf Release Resources/a COMMAND patchelf --set-rpath ${libPath} qcef/libcef.so' -i src/CMakeLists.txt + ''; + + postFixup = '' + searchHardCodedPaths $out + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; + + meta = with stdenv.lib; { + description = "Qt5 binding of Chromium Embedded Framework"; + homepage = https://github.com/linuxdeepin/qcef; + license = licenses.lgpl3; + platforms = platforms.linux; + badPlatforms = [ "aarch64-linux" ]; # the cef-binary is not available + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix b/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix index c4ce0ca563b..d76bed1b9b7 100644 --- a/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix +++ b/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix @@ -1,16 +1,15 @@ -{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtx11extras, libSM, - mtdev, cairo, deepin }: +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, qtx11extras, libSM, + mtdev, cairo, deepin, qtbase }: -stdenv.mkDerivation rec { - name = "${pname}-${version}"; +mkDerivation rec { pname = "qt5dxcb-plugin"; - version = "1.1.13"; + version = "1.2.2"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "12lvh3agw3qdviqf32brmzba5kscnj5al5jhc08lq69a9kmip05x"; + sha256 = "1zvab6qxdr49pmk6mbk7s0md7bx585p32lca0xbg8mrkajz7g8rq"; }; nativeBuildInputs = [ @@ -25,13 +24,13 @@ stdenv.mkDerivation rec { cairo ]; - preConfigure = '' - qmakeFlags="$qmakeFlags INSTALL_PATH=$out/$qtPluginPrefix/platforms" - ''; + qmakeFlags = [ + "INSTALL_PATH=${placeholder ''out''}/${qtbase.qtPluginPrefix}/platforms" + ]; enableParallelBuilding = true; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Qt platform theme integration plugin for DDE"; diff --git a/pkgs/desktops/deepin/qt5integration/default.nix b/pkgs/desktops/deepin/qt5integration/default.nix index 80915637722..97e60be6d67 100644 --- a/pkgs/desktops/deepin/qt5integration/default.nix +++ b/pkgs/desktops/deepin/qt5integration/default.nix @@ -1,17 +1,16 @@ -{ stdenv, fetchFromGitHub, pkgconfig, qmake, mtdev, gsettings-qt , - lxqt, qtx11extras, qtmultimedia, qtsvg, fontconfig, freetype , +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, mtdev, + lxqt, qtx11extras, qtmultimedia, qtsvg, qt5dxcb-plugin, qtstyleplugins, dtkcore, dtkwidget, deepin }: -stdenv.mkDerivation rec { - name = "${pname}-${version}"; +mkDerivation rec { pname = "qt5integration"; - version = "0.3.6"; + version = "0.3.12"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "1v9whlqn07c5c8xnaiicdshj9n88a667gfbn8y8bk5bfylilfzcy"; + sha256 = "140wb3vcm2ji8jhqdxv8f4shiknia1zk8fssqlp09kzc1cmb4ncy"; }; nativeBuildInputs = [ @@ -41,7 +40,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - passthru.updateScript = deepin.updateScript { inherit name; }; + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; meta = with stdenv.lib; { description = "Qt platform theme integration plugins for DDE"; diff --git a/pkgs/desktops/deepin/setup-hook.sh b/pkgs/desktops/deepin/setup-hook.sh new file mode 100755 index 00000000000..ce1d7330a22 --- /dev/null +++ b/pkgs/desktops/deepin/setup-hook.sh @@ -0,0 +1,64 @@ +# Helper functions for deepin packaging + +searchHardCodedPaths() { + # Usage: + # + # searchHardCodedPaths [-a] [] + # + # Looks for ocurrences of FHS hard coded paths and command + # invocations in the given path (default: current directory) for + # the purpose of debugging a derivation. The option -a enables + # processing binary files as if they were text. + + local binary + if [ "$1" = "-a" ]; then + binary="-a" + shift + fi + + local path=$1 + + echo ----------- looking for command invocations in $path + grep --color=always -r -E '\<(ExecStart|Exec|startDetached|execute|exec\.(Command|LookPath))\>' $path || true + + echo ----------- looking for hard coded paths in $path + grep --color=always $binary -r -E '/(usr|bin|sbin|etc|var|opt)\>' $path || true + + echo ----------- done +} + +fixPath() { + # Usage: + # + # fixPath + # + # replaces occurences of by in + # removing /usr from the start of if present + + local parentdir=$1 + local path=$2 + local newpath=$parentdir$(echo $path | sed "s,^/usr,,") + local files=("${@:3}") + echo ======= grep --color=always "${path}" "${files[@]}" + grep --color=always "${path}" "${files[@]}" + echo +++++++ sed -i -e "s,$path,$newpath,g" "${files[@]}" + sed -i -e "s,$path,$newpath,g" "${files[@]}" +} + +searchForUnresolvedDLL() { + # Usage: + # + # searchForUnresolvedDLL

+ # + # looks in for executables with unresolved dynamic library paths + + local dir="$1" + echo ======= Looking for executables with unresolved dynamic library dependencies + echo $dir + for f in $(find -L "$dir" -type f -executable); do + if (ldd $f | grep -q "not found"); then + echo $f + ldd $f | grep --color=always "not found" + fi + done +} diff --git a/pkgs/desktops/deepin/udisks2-qt5/default.nix b/pkgs/desktops/deepin/udisks2-qt5/default.nix new file mode 100644 index 00000000000..51c38f6d347 --- /dev/null +++ b/pkgs/desktops/deepin/udisks2-qt5/default.nix @@ -0,0 +1,40 @@ +{ stdenv, mkDerivation, fetchFromGitHub, qmake, qtbase, deepin }: + +mkDerivation rec { + pname = "udisks2-qt5"; + version = "0.0.1"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "1gk4jmq7mrzk181r6man2rz1iyzkfasz7053a30h4nn24mq8ikig"; + }; + + nativeBuildInputs = [ + deepin.setupHook + qmake + ]; + + buildInputs = [ + qtbase + ]; + + postPatch = '' + searchHardCodedPaths + ''; + + postFixup = '' + searchHardCodedPaths $out + ''; + + passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; }; + + meta = with stdenv.lib; { + description = "UDisks2 D-Bus interfaces binding for Qt5"; + homepage = https://github.com/linuxdeepin/udisks2-qt5; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/desktops/deepin/update.nix b/pkgs/desktops/deepin/update.nix index 22a6acb8ce3..089d9289827 100644 --- a/pkgs/desktops/deepin/update.nix +++ b/pkgs/desktops/deepin/update.nix @@ -1,5 +1,5 @@ { stdenv, lib, writeScript, coreutils, curl, gnugrep, gnused, jq, common-updater-scripts, nix }: -{ name, ignored-versions ? "^2014\\.|^v[0-9]+" }: +{ name, ignored-versions ? "^2014(\\.|rc)|^v[0-9]+" }: let nameAndVersion = builtins.parseDrvName name; diff --git a/pkgs/desktops/enlightenment/default.nix b/pkgs/desktops/enlightenment/default.nix index a8b5e08abd6..8d0fed6b3d8 100644 --- a/pkgs/desktops/enlightenment/default.nix +++ b/pkgs/desktops/enlightenment/default.nix @@ -1,7 +1,9 @@ { callPackage, pkgs }: rec { #### CORE EFL - efl = callPackage ./efl.nix { openjpeg = pkgs.openjpeg_1; }; + efl = callPackage ./efl.nix { + openjpeg = pkgs.openjpeg_1; + }; #### WINDOW MANAGER enlightenment = callPackage ./enlightenment.nix { }; diff --git a/pkgs/desktops/enlightenment/econnman.nix b/pkgs/desktops/enlightenment/econnman.nix index 60e63dc68ed..93b0cb59650 100644 --- a/pkgs/desktops/enlightenment/econnman.nix +++ b/pkgs/desktops/enlightenment/econnman.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, efl, python2Packages, dbus, makeWrapper }: stdenv.mkDerivation rec { - name = "econnman-${version}"; + pname = "econnman"; version = "1.1"; src = fetchurl { - url = "http://download.enlightenment.org/rel/apps/econnman/${name}.tar.gz"; + url = "http://download.enlightenment.org/rel/apps/econnman/${pname}-${version}.tar.gz"; sha256 = "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0"; }; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = { description = "A user interface for the connman network connection manager"; - homepage = http://enlightenment.org/; + homepage = https://enlightenment.org/; maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx ]; platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.lgpl3; diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix index ea4e6cd1f1c..1876cce6c8a 100644 --- a/pkgs/desktops/enlightenment/efl.nix +++ b/pkgs/desktops/enlightenment/efl.nix @@ -3,21 +3,21 @@ , libsndfile, xorg, libdrm, libxkbcommon, udev, utillinux, bullet, luajit , python27Packages, openjpeg, doxygen, expat, harfbuzz, jbig2dec, librsvg , dbus, alsaLib, poppler, ghostscript, libraw, libspectre, xineLib, libwebp -, curl, libinput, systemd, mesa_noglu, writeText, gtk3 +, curl, libinput, systemd, mesa, writeText, gtk3 }: stdenv.mkDerivation rec { - name = "efl-${version}"; - version = "1.21.1"; + pname = "efl"; + version = "1.22.3"; src = fetchurl { - url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz"; - sha256 = "0a5907h896pvpix7a6idc2fspzy6d78xrzf84k8y9fyvnd14nxs4"; + url = "http://download.enlightenment.org/rel/libs/${pname}/${pname}-${version}.tar.xz"; + sha256 = "1j1i8cwq4ym9z34ikv35mdmv5q7q69hdp494mc6l03g9n6cl2yky"; }; nativeBuildInputs = [ pkgconfig gtk3 ]; - buildInputs = [ openssl zlib lz4 freetype fontconfig SDL libGL mesa_noglu + buildInputs = [ openssl zlib lz4 freetype fontconfig SDL libGL mesa giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-libav libpulseaudio libsndfile xorg.libXcursor xorg.xorgproto xorg.libX11 udev systemd ]; @@ -29,9 +29,6 @@ stdenv.mkDerivation rec { harfbuzz jbig2dec librsvg dbus alsaLib poppler ghostscript libraw libspectre xineLib libwebp curl libdrm libinput utillinux fribidi SDL2 ]; - # as of 1.21.0 compilation will fail due to -Werror=format-security - hardeningDisable = [ "format" ]; - # ac_ct_CXX must be set to random value, because then it skips some magic which does alternative searching for g++ configureFlags = [ "--enable-sdl" @@ -54,6 +51,10 @@ stdenv.mkDerivation rec { patches = [ ./efl-elua.patch ]; + postPatch = '' + patchShebangs src/lib/elementary/config_embed + ''; + # bin/edje_cc creates $HOME/.run, which would break build of reverse dependencies. setupHook = writeText "setupHook.sh" '' export HOME="$TEMPDIR" @@ -86,7 +87,7 @@ stdenv.mkDerivation rec { meta = { description = "Enlightenment foundation libraries"; - homepage = http://enlightenment.org/; + homepage = https://enlightenment.org/; platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.lgpl3; maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx ]; diff --git a/pkgs/desktops/enlightenment/elementary.patch b/pkgs/desktops/enlightenment/elementary.patch deleted file mode 100644 index 32080c81cb3..00000000000 --- a/pkgs/desktops/enlightenment/elementary.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/elementary.pc.in 2015-05-16 21:08:14.321148417 +0200 -+++ b/elementary.pc.in 2015-05-16 21:08:30.643412725 +0200 -@@ -14,4 +14,4 @@ - Requires.private: @requirement_elm_pc@ - Version: @VERSION@ - Libs: -L${libdir} -lelementary @ELEMENTARY_PC_LIBS@ --Cflags: -I${includedir}/elementary-@VMAJ@ -+Cflags: -I${includedir}/elementary-@VMAJ@ @ELEMENTARY_PC_CFLAGS@ ---- a/Makefile.am 2015-05-16 21:08:14.322148433 +0200 -+++ b/Makefile.am 2015-05-16 21:08:30.643412725 +0200 -@@ -84,6 +84,7 @@ - -e 's,@requirement_elm_pc\@,$(requirement_elm_pc),g' \ - -e 's,@ELEMENTARY_LIBS\@,$(ELEMENTARY_LIBS),g' \ - -e 's,@ELEMENTARY_PC_LIBS\@,$(ELEMENTARY_PC_LIBS),g' \ -+-e 's,@ELEMENTARY_PC_CFLAGS\@,$(ELEMENTARY_PC_CFLAGS),g' \ - < $< > $@ || rm $@ - - pc_verbose = $(pc_verbose_@AM_V@) diff --git a/pkgs/desktops/enlightenment/enlightenment.nix b/pkgs/desktops/enlightenment/enlightenment.nix index 8edf702a24c..b2a9d398709 100644 --- a/pkgs/desktops/enlightenment/enlightenment.nix +++ b/pkgs/desktops/enlightenment/enlightenment.nix @@ -1,16 +1,19 @@ { stdenv, fetchurl, meson, ninja, pkgconfig, gettext, efl, xcbutilkeysyms, libXrandr, libXdmcp, libxcb, libffi, pam, alsaLib, - luajit, bzip2, libpthreadstubs, gdbm, libcap, mesa_noglu, - xkeyboard_config, pcre + luajit, bzip2, libpthreadstubs, gdbm, libcap, mesa, + xkeyboard_config, pcre, + + bluetoothSupport ? true, bluez5, + pulseSupport ? !stdenv.isDarwin, libpulseaudio, }: stdenv.mkDerivation rec { - name = "enlightenment-${version}"; - version = "0.22.4"; + pname = "enlightenment"; + version = "0.23.0"; src = fetchurl { - url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz"; - sha256 = "0ygy891rrw5c7lhk539nhif77j88phvz2h0fhx172iaridy9kx2r"; + url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz"; + sha256 = "1y7x594gvyvl5zbb1rnf3clj2pm6j97n8wl5mp9x6xjmhx0d1idq"; }; nativeBuildInputs = [ @@ -34,10 +37,13 @@ stdenv.mkDerivation rec { libpthreadstubs gdbm pcre - mesa_noglu + mesa xkeyboard_config - ] ++ - stdenv.lib.optionals stdenv.isLinux [ libcap ]; + ] + ++ stdenv.lib.optional stdenv.isLinux libcap + ++ stdenv.lib.optional bluetoothSupport bluez5 + ++ stdenv.lib.optional pulseSupport libpulseaudio + ; patches = [ # Some programs installed by enlightenment (to set the cpu frequency, @@ -46,7 +52,7 @@ stdenv.mkDerivation rec { # installer to try to do this, the file $out/e-wrappers.nix is created, # containing the needed configuration for wrapping those programs. It # can be used in the enlightenment module. The idea is: - # + # # 1) rename the original binary adding the extension .orig # 2) wrap the renamed binary at /run/wrappers/bin/ # 3) create a new symbolic link using the original binary name (in the diff --git a/pkgs/desktops/enlightenment/ephoto.nix b/pkgs/desktops/enlightenment/ephoto.nix index ad4620d4f45..f1455f68338 100644 --- a/pkgs/desktops/enlightenment/ephoto.nix +++ b/pkgs/desktops/enlightenment/ephoto.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, pkgconfig, efl, pcre, mesa_noglu, makeWrapper }: +{ stdenv, fetchurl, pkgconfig, efl, pcre, mesa, makeWrapper }: stdenv.mkDerivation rec { - name = "ephoto-${version}"; + pname = "ephoto"; version = "1.5"; - + src = fetchurl { - url = "http://www.smhouston.us/stuff/${name}.tar.gz"; + url = "http://www.smhouston.us/stuff/${pname}-${version}.tar.gz"; sha256 = "09kraa5zz45728h2dw1ssh23b87j01bkfzf977m48y1r507sy3vb"; }; nativeBuildInputs = [ (pkgconfig.override { vanilla = true; }) - mesa_noglu.dev # otherwise pkg-config does not find gbm + mesa.dev # otherwise pkg-config does not find gbm makeWrapper ]; diff --git a/pkgs/desktops/enlightenment/rage.nix b/pkgs/desktops/enlightenment/rage.nix index e7dfb5ca398..8d99ce6e8e0 100644 --- a/pkgs/desktops/enlightenment/rage.nix +++ b/pkgs/desktops/enlightenment/rage.nix @@ -1,19 +1,19 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, efl, gst_all_1, pcre, mesa_noglu, wrapGAppsHook }: +{ stdenv, fetchurl, meson, ninja, pkgconfig, efl, gst_all_1, pcre, mesa, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "rage-${version}"; - version = "0.3.0"; - + pname = "rage"; + version = "0.3.1"; + src = fetchurl { - url = "http://download.enlightenment.org/rel/apps/rage/${name}.tar.xz"; - sha256 = "0gfzdd4jg78bkmj61yg49w7bzspl5m1nh6agqgs8k7qrq9q26xqy"; + url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz"; + sha256 = "04fdk23bbgvni212zrfy4ndg7vmshbsjgicrhckdvhay87pk9i75"; }; nativeBuildInputs = [ meson ninja (pkgconfig.override { vanilla = true; }) - mesa_noglu.dev + mesa.dev wrapGAppsHook ]; @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { meta = { description = "Video + Audio player along the lines of mplayer"; - homepage = http://enlightenment.org/; + homepage = https://enlightenment.org/; maintainers = with stdenv.lib.maintainers; [ matejc ftrvxmtrx romildo ]; platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.bsd2; diff --git a/pkgs/desktops/enlightenment/terminology.nix b/pkgs/desktops/enlightenment/terminology.nix index f11f21f5b95..52f0ff15e23 100644 --- a/pkgs/desktops/enlightenment/terminology.nix +++ b/pkgs/desktops/enlightenment/terminology.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, efl, pcre, mesa_noglu, makeWrapper }: +{ stdenv, fetchurl, meson, ninja, pkgconfig, efl, pcre, mesa, makeWrapper }: stdenv.mkDerivation rec { - name = "terminology-${version}"; - version = "1.3.2"; + pname = "terminology"; + version = "1.5.0"; src = fetchurl { - url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.xz"; - sha256 = "1kclxzadmk272s9spa7n704pcb1c611ixxrq88w5zk22va0i25xm"; + url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz"; + sha256 = "0v4amfg8ji0mb6j7kcxh3wz1xw5zyxg4rw6ylx17rfw2nc1yamfy"; }; nativeBuildInputs = [ @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { buildInputs = [ efl pcre - mesa_noglu + mesa ]; meta = { diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python-desktop/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python-desktop/default.nix index e7f687d9606..7d8365337aa 100644 --- a/pkgs/desktops/gnome-2/bindings/gnome-python-desktop/default.nix +++ b/pkgs/desktops/gnome-2/bindings/gnome-python-desktop/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gnome_python, librsvg, libwnck, libgtop, pkgconfig, python2, gtk }: +{ stdenv, fetchurl, gnome_python, librsvg, libwnck, libgtop, pkgconfig, python2, gtk2 }: let inherit (python2.pkgs) python pygtk; @@ -6,7 +6,7 @@ in stdenv.mkDerivation rec { ver_maj = "2.32"; ver_min = "0"; version = "${ver_maj}.${ver_min}"; - name = "gnome-python-desktop-${version}"; + pname = "gnome-python-desktop"; src = fetchurl { url = "mirror://gnome/sources/gnome-python-desktop/${ver_maj}/gnome-python-desktop-${version}.tar.bz2"; @@ -14,13 +14,13 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk librsvg libwnck libgtop python ]; + buildInputs = [ gtk2 librsvg libwnck libgtop python ]; propagatedBuildInputs = [ gnome_python pygtk ]; # gnome-python-desktop expects that .pth file is already installed by PyGTK # in the same directory. This is not the case for Nix. postInstall = '' - echo "gtk-2.0" > $out/${python2.sitePackages}/${name}.pth + echo "gtk-2.0" > $out/${python2.sitePackages}/${pname}-${version}.pth ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix index f571cf8738f..37bd631adbc 100644 --- a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix +++ b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python2, pkgconfig, libgnome, GConf, glib, gtk, gnome_vfs }: +{ stdenv, fetchurl, python2, pkgconfig, libgnome, GConf, glib, gtk2, gnome_vfs }: with stdenv.lib; @@ -14,7 +14,7 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ python glib gtk GConf libgnome gnome_vfs ]; + buildInputs = [ python glib gtk2 GConf libgnome gnome_vfs ]; propagatedBuildInputs = [ pygobject2 pygtk dbus-python ]; # gnome-python expects that .pth file is already installed by PyGTK in the diff --git a/pkgs/desktops/gnome-2/bindings/libglademm/default.nix b/pkgs/desktops/gnome-2/bindings/libglademm/default.nix index d4813eb2a93..177a9f47c31 100644 --- a/pkgs/desktops/gnome-2/bindings/libglademm/default.nix +++ b/pkgs/desktops/gnome-2/bindings/libglademm/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchurl, pkgconfig, intltool, gtkmm, libglade }: +{ stdenv, fetchurl, pkgconfig, intltool, gtkmm2, libglade }: stdenv.mkDerivation rec { name = "libglademm-2.6.7"; - + src = fetchurl { url = "mirror://gnome/sources/libglademm/2.6/${name}.tar.bz2"; sha256 = "1hrbg9l5qb7w0xvr7013qamkckyj0fqc426c851l69zpmhakqm1q"; @@ -12,6 +12,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ intltool ]; - - propagatedBuildInputs = [ gtkmm libglade ]; + + propagatedBuildInputs = [ gtkmm2 libglade ]; } diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix index f67dc13c854..16828f08bc2 100644 --- a/pkgs/desktops/gnome-2/default.nix +++ b/pkgs/desktops/gnome-2/default.nix @@ -1,20 +1,11 @@ -{ callPackage, self, stdenv, gettext, gvfs, libunique, bison2, rarian -, libstartup_notification, overrides ? {} }: +{ config, stdenv, pkgs, lib }: -let overridden = set // overrides; set = with overridden; { - # Backward compatibility. - gtkdoc = self.gtk-doc; - startup_notification = libstartup_notification; - startupnotification = libstartup_notification; - gnomedocutils = self.gnome-doc-utils; - gnomeicontheme = self.gnome_icon_theme; - gnome_common = gnome-common; - inherit rarian; +lib.makeScope pkgs.newScope (self: with self; { #### PLATFORM libIDL = callPackage ./platform/libIDL { - gettext = if stdenv.isDarwin then gettext else null; + gettext = if stdenv.isDarwin then pkgs.gettext else null; }; ORBit2 = callPackage ./platform/ORBit2 { }; @@ -23,9 +14,7 @@ let overridden = set // overrides; set = with overridden; { libglade = callPackage ./platform/libglade { }; - libgnomeprint = callPackage ./platform/libgnomeprint { - bison = bison2; - }; + libgnomeprint = callPackage ./platform/libgnomeprint { }; libgnomeprintui = callPackage ./platform/libgnomeprintui { }; @@ -47,9 +36,10 @@ let overridden = set // overrides; set = with overridden; { gnome_python = callPackage ./bindings/gnome-python { }; gnome_python_desktop = callPackage ./bindings/gnome-python-desktop { }; - python_rsvg = overridden.gnome_python_desktop; - gnome_vfs = callPackage ./platform/gnome-vfs { }; + gnome_vfs = callPackage ./platform/gnome-vfs { + openssl = pkgs.openssl_1_0_2; + }; libgnome = callPackage ./platform/libgnome { }; @@ -59,18 +49,15 @@ let overridden = set // overrides; set = with overridden; { libbonoboui = callPackage ./platform/libbonoboui { }; - gtkhtml = callPackage ./platform/gtkhtml { }; + gtkhtml = callPackage ./platform/gtkhtml { enchant = pkgs.enchant1; }; - gtkhtml4 = callPackage ./platform/gtkhtml/4.x.nix { }; - - # Required for nautilus - inherit (libunique); + gtkhtml4 = callPackage ./platform/gtkhtml/4.x.nix { enchant = pkgs.enchant1; }; gtkglext = callPackage ./platform/gtkglext { }; #### DESKTOP - gvfs = gvfs.override { gnome = self; }; + gvfs = pkgs.gvfs.override { gnome = self; }; # Removed from recent GNOME releases, but still required scrollkeeper = callPackage ./desktop/scrollkeeper { }; @@ -85,4 +72,22 @@ let overridden = set // overrides; set = with overridden; { libglademm = callPackage ./bindings/libglademm { }; -}; in overridden +} // lib.optionalAttrs (config.allowAliases or true) { + inherit (pkgs) + # GTK Libs + glib glibmm atk atkmm cairo pango pangomm gdk_pixbuf gtkmm2 libcanberra-gtk2 + + # Included for backwards compatibility + libsoup libwnck gtk-doc gnome-doc-utils rarian; + + gtk = pkgs.gtk2; + gtkmm = pkgs.gtkmm2; + python_rsvg = self.gnome_python_desktop; + + gtkdoc = pkgs.gtk-doc; + startup_notification = pkgs.libstartup_notification; + startupnotification = pkgs.libstartup_notification; + gnomedocutils = pkgs.gnome-doc-utils; + gnomeicontheme = self.gnome_icon_theme; + gnome_common = gnome-common; +}) diff --git a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix index dd7e269f94e..0f2a98c61f6 100644 --- a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }: +{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk2 }: stdenv.mkDerivation rec { name = "gnome-icon-theme-2.91.93"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "cc7f15e54e2640697b58c26e74cc3f6ebadeb4ef6622bffe9c1e6874cc3478d6"; }; - nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ]; + nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk2 ]; # remove a tree of dirs with no files within postInstall = '' rm -r "$out/share/locale" ''; diff --git a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix index b40cb98cbef..87d2931d274 100644 --- a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix @@ -1,15 +1,15 @@ {stdenv, fetchpatch, fetchurl, autoreconfHook, pkgconfig, atk, cairo, glib -, gnome-common, gtk, pango +, gnome-common, gtk2, pango , libxml2Python, perl, intltool, gettext, gtk-mac-integration-gtk2 }: with stdenv.lib; stdenv.mkDerivation rec { - name = "gtksourceview-${version}"; + pname = "gtksourceview"; version = "2.10.5"; src = fetchurl { - url = "mirror://gnome/sources/gtksourceview/2.10/${name}.tar.bz2"; + url = "mirror://gnome/sources/gtksourceview/2.10/${pname}-${version}.tar.bz2"; sha256 = "c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e"; }; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - atk cairo glib gtk + atk cairo glib gtk2 pango libxml2Python perl intltool gettext ] ++ optionals stdenv.isDarwin [ diff --git a/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix b/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix index ac9a87299ab..10b99e4eb5d 100644 --- a/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix +++ b/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { rev = "9ae8768"; version = "5.4"; - name = "mail-notification-${version}"; + pname = "mail-notification"; src = fetchFromGitHub { inherit rev; diff --git a/pkgs/desktops/gnome-2/desktop/vte/default.nix b/pkgs/desktops/gnome-2/desktop/vte/default.nix index 0c8efc57c71..c774468852e 100644 --- a/pkgs/desktops/gnome-2/desktop/vte/default.nix +++ b/pkgs/desktops/gnome-2/desktop/vte/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, intltool, pkgconfig, glib, gtk, ncurses +{ stdenv, fetchurl, fetchpatch, intltool, pkgconfig, glib, gtk2, ncurses , pythonSupport ? false, python27Packages}: let @@ -29,7 +29,7 @@ in stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ intltool glib gtk ncurses ] ++ + buildInputs = [ intltool glib gtk2 ncurses ] ++ stdenv.lib.optionals pythonSupport [python pygtk]; configureFlags = [ diff --git a/pkgs/desktops/gnome-2/platform/GConf/default.nix b/pkgs/desktops/gnome-2/platform/GConf/default.nix index df3de11e738..1a1848491b1 100644 --- a/pkgs/desktops/gnome-2/platform/GConf/default.nix +++ b/pkgs/desktops/gnome-2/platform/GConf/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, dbus-glib, glib, ORBit2, libxml2, polkit, python2, intltool }: stdenv.mkDerivation rec { - name = "gconf-${version}"; + pname = "gconf"; version = "3.2.6"; src = fetchurl { diff --git a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix index 834ec220158..369880c4fc1 100644 --- a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix +++ b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, gtk, libGLU_combined, pango, pangox_compat, xorg }: +{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, gtk2, libGLU_combined, pango, pangox_compat, xorg }: stdenv.mkDerivation rec { name = "gtkglext-1.2.0"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { }; buildInputs = with xorg; - [ pkgconfig glib gtk libGLU_combined pango libX11 libXmu ]; + [ pkgconfig glib gtk2 libGLU_combined pango libX11 libXmu ]; propagatedBuildInputs = [ pangox_compat ]; patches = [ diff --git a/pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix b/pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix index 493f88290f3..33c2abef0fa 100644 --- a/pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix +++ b/pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, gtk3, intltool, -GConf, enchant, isocodes, gnome_icon_theme, gsettings-desktop-schemas }: +{ stdenv, fetchurl, pkgconfig, gtk3, intltool +, GConf, enchant, isocodes, gnome_icon_theme, gsettings-desktop-schemas }: stdenv.mkDerivation rec { version = "4.10.0"; - name = "gtkhtml-${version}"; + pname = "gtkhtml"; src = fetchurl { - url = "mirror://gnome/sources/gtkhtml/4.10/${name}.tar.xz"; + url = "mirror://gnome/sources/gtkhtml/4.10/${pname}-${version}.tar.xz"; sha256 = "1hq6asgb5n9q3ryx2vngr4jyi8lg65lzpnlgrgcwayiczcj68fya"; }; diff --git a/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix b/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix index b4615683939..5ff687adcf6 100644 --- a/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix +++ b/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gtk, intltool, +{ stdenv, fetchurl, pkgconfig, gtk2, intltool, GConf, enchant, isocodes, gnome_icon_theme }: stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { patches = [ ./01_remove-disable-deprecated.patch ]; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk intltool GConf enchant isocodes gnome_icon_theme ]; + buildInputs = [ gtk2 intltool GConf enchant isocodes gnome_icon_theme ]; NIX_LDFLAGS = [ "-lgthread-2.0" ]; } diff --git a/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix b/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix index a71d6eb789b..0be9d7acb9c 100644 --- a/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix +++ b/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, bison, pkgconfig, popt, libxml2, gtk, libtool +{ stdenv, fetchurl, bison, pkgconfig, popt, libxml2, gtk2, libtool , intltool, libbonobo, GConf, libgnomecanvas, libgnome, libglade }: stdenv.mkDerivation rec { @@ -13,6 +13,6 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; nativeBuildInputs = [ pkgconfig intltool ]; - buildInputs = [ bison popt gtk libxml2 GConf libglade libtool ]; + buildInputs = [ bison popt gtk2 libxml2 GConf libglade libtool ]; propagatedBuildInputs = [ libbonobo libgnomecanvas libgnome ]; } diff --git a/pkgs/desktops/gnome-2/platform/libglade/default.nix b/pkgs/desktops/gnome-2/platform/libglade/default.nix index 1f4af86ffeb..d51cccf7906 100644 --- a/pkgs/desktops/gnome-2/platform/libglade/default.nix +++ b/pkgs/desktops/gnome-2/platform/libglade/default.nix @@ -1,4 +1,6 @@ -{stdenv, fetchurl, pkgconfig, gtk, libxml2, python, gettext}: +{ stdenv, fetchurl, pkgconfig, gtk2, libxml2, python2 ? null, withLibgladeConvert ? false, gettext }: + +assert withLibgladeConvert -> python2 != null; stdenv.mkDerivation { name = "libglade-2.6.4"; @@ -11,7 +13,8 @@ stdenv.mkDerivation { outputs = [ "out" "dev" ]; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk python gettext ]; + buildInputs = [ gtk2 gettext ] + ++ stdenv.lib.optional withLibgladeConvert python2; NIX_LDFLAGS = "-lgmodule-2.0"; diff --git a/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix b/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix index 2be8c29e493..72928d82037 100644 --- a/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix +++ b/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gtk, intltool, libart_lgpl, libglade }: +{ stdenv, fetchurl, pkgconfig, gtk2, intltool, libart_lgpl, libglade }: stdenv.mkDerivation rec { name = "libgnomecanvas-${minVer}.3"; @@ -13,5 +13,5 @@ stdenv.mkDerivation rec { buildInputs = [ libglade ]; nativeBuildInputs = [ pkgconfig intltool ]; - propagatedBuildInputs = [ libart_lgpl gtk ]; + propagatedBuildInputs = [ libart_lgpl gtk2 ]; } diff --git a/pkgs/desktops/gnome-2/platform/libgnomecanvasmm/default.nix b/pkgs/desktops/gnome-2/platform/libgnomecanvasmm/default.nix index 9d22488c25d..d2539889fdb 100644 --- a/pkgs/desktops/gnome-2/platform/libgnomecanvasmm/default.nix +++ b/pkgs/desktops/gnome-2/platform/libgnomecanvasmm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libgnomecanvas, gtkmm }: +{ stdenv, fetchurl, pkgconfig, libgnomecanvas, gtkmm2 }: stdenv.mkDerivation { name = "libgnomecanvasmm-2.26.0"; @@ -9,5 +9,5 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libgnomecanvas gtkmm ]; + buildInputs = [ libgnomecanvas gtkmm2 ]; } diff --git a/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix b/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix index 2365e166d5e..ee0282147de 100644 --- a/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix +++ b/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gtk, gettext, libxml2, intltool, libart_lgpl }: +{ stdenv, fetchurl, pkgconfig, gtk2, gettext, libxml2, intltool, libart_lgpl }: stdenv.mkDerivation rec { name = "libgnomecups-0.2.3"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { patches = [ ./glib.patch ./cups_1.6.patch ]; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk gettext intltool libart_lgpl ]; + buildInputs = [ gtk2 gettext intltool libart_lgpl ]; propagatedBuildInputs = [ libxml2 ]; } diff --git a/pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix b/pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix index 6945ad1f04b..453a4459fdd 100644 --- a/pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix +++ b/pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, gtk, gettext, libxml2, intltool, libart_lgpl -, libgnomecups, bison, flex }: +{ stdenv, fetchurl, pkgconfig, gtk2, gettext, libxml2, intltool, libart_lgpl +, libgnomecups, bison2, flex }: stdenv.mkDerivation rec { name = "libgnomeprint-2.18.8"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { patches = [ ./bug653388.patch ]; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk gettext intltool libart_lgpl libgnomecups bison flex ]; + buildInputs = [ gtk2 gettext intltool libart_lgpl libgnomecups bison2 flex ]; propagatedBuildInputs = [ libxml2 ]; diff --git a/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix b/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix index a8072aa3752..215c9eb3e5e 100644 --- a/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix +++ b/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, pkgconfig, gtk, gettext, intltool, libgnomecanvas, libgnomeprint, gnomeicontheme}: +{stdenv, fetchurl, pkgconfig, gtk2, gettext, intltool, libgnomecanvas, libgnomeprint, gnome_icon_theme}: stdenv.mkDerivation { name = "libgnomeprintui-2.18.6"; @@ -9,5 +9,5 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk gettext intltool libgnomecanvas libgnomeprint gnomeicontheme]; + buildInputs = [ gtk2 gettext intltool libgnomecanvas libgnomeprint gnome_icon_theme]; } diff --git a/pkgs/desktops/gnome-2/platform/libgtkhtml/default.nix b/pkgs/desktops/gnome-2/platform/libgtkhtml/default.nix index b9db3422723..cf34c7e7c68 100644 --- a/pkgs/desktops/gnome-2/platform/libgtkhtml/default.nix +++ b/pkgs/desktops/gnome-2/platform/libgtkhtml/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, pkgconfig, gtk, gettext, libxml2 }: +{stdenv, fetchurl, pkgconfig, gtk2, gettext, libxml2 }: stdenv.mkDerivation { name = "libgtkhtml-2.11.1"; @@ -9,7 +9,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk gettext ]; + buildInputs = [ gtk2 gettext ]; propagatedBuildInputs = [ libxml2 ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/desktops/gnome-3/apps/accerciser/default.nix b/pkgs/desktops/gnome-3/apps/accerciser/default.nix index 5de7d93f49c..9a70319952c 100644 --- a/pkgs/desktops/gnome-3/apps/accerciser/default.nix +++ b/pkgs/desktops/gnome-3/apps/accerciser/default.nix @@ -1,27 +1,59 @@ -{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook, gobject-introspection -, itstool, libxml2, python3Packages, at-spi2-core -, dbus, intltool, libwnck3 }: +{ stdenv +, fetchurl +, pkgconfig +, gnome3 +, gtk3 +, wrapGAppsHook +, gobject-introspection +, itstool +, libxml2 +, python3 +, at-spi2-core +, dbus +, gettext +, libwnck3 +, adwaita-icon-theme +}: -stdenv.mkDerivation rec { + python3.pkgs.buildPythonApplication rec { name = "accerciser-${version}"; - version = "3.22.0"; + version = "3.32.3"; + + format = "other"; src = fetchurl { url = "mirror://gnome/sources/accerciser/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "883306274442c7ecc076b24afca5190c835c40871ded1b9790da69347e9ca3c5"; + sha256 = "0ark4qkfvdggz2mbksq12iq55izdsjnkjqkvfnnkf4k5vfpa95y5"; }; nativeBuildInputs = [ - pkgconfig wrapGAppsHook itstool intltool + gettext gobject-introspection # For setup hook - ]; - buildInputs = [ - gtk3 libxml2 python3Packages.python python3Packages.pyatspi - python3Packages.pygobject3 python3Packages.ipython - at-spi2-core dbus libwnck3 gnome3.defaultIconTheme + itstool + libxml2 + pkgconfig + dbus + wrapGAppsHook ]; - wrapPrefixVariables = [ "PYTHONPATH" ]; + buildInputs = [ + adwaita-icon-theme + at-spi2-core + gtk3 + libwnck3 + ]; + + propagatedBuildInputs = with python3.pkgs; [ + ipython + pyatspi + pycairo + pygobject3 + xlib + ]; + + # Strict deps breaks accerciser + # and https://github.com/NixOS/nixpkgs/issues/56943 + strictDeps = false; passthru = { updateScript = gnome3.updateScript { diff --git a/pkgs/desktops/gnome-3/apps/cheese/default.nix b/pkgs/desktops/gnome-3/apps/cheese/default.nix index ea2091524c9..b18e58f6f56 100644 --- a/pkgs/desktops/gnome-3/apps/cheese/default.nix +++ b/pkgs/desktops/gnome-3/apps/cheese/default.nix @@ -2,15 +2,15 @@ , pkgconfig, gtk3, glib, clutter-gtk, clutter-gst, udev, gst_all_1, itstool , libgudev, autoreconfHook, vala, docbook_xml_dtd_43, docbook_xsl, appstream-glib , libxslt, yelp-tools, gnome-common, gtk-doc -, adwaita-icon-theme, librsvg, totem, gdk_pixbuf, gnome3, gnome-desktop, libxml2 }: +, adwaita-icon-theme, librsvg, totem, gdk-pixbuf, gnome3, gnome-desktop, libxml2 }: stdenv.mkDerivation rec { - name = "cheese-${version}"; - version = "3.30.0"; + pname = "cheese"; + version = "3.32.1"; src = fetchurl { - url = "mirror://gnome/sources/cheese/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0zz2bgjaf2lsmfs3zn24925vbjb0rycr39i288brlbzixrpcyljr"; + url = "mirror://gnome/sources/cheese/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1xlmsm4zsx05ahvpd4mgy1hfhxbag0r5i6p63bksjxdligdd36kv"; }; passthru = { @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { autoreconfHook gtk-doc yelp-tools gnome-common ]; buildInputs = [ gtk3 glib gnome-video-effects - gdk_pixbuf adwaita-icon-theme librsvg udev gst_all_1.gstreamer + gdk-pixbuf adwaita-icon-theme librsvg udev gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gnome-desktop gst_all_1.gst-plugins-bad clutter-gtk clutter-gst libcanberra-gtk3 libgudev ]; @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { # vp8enc preset --prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets" # Thumbnailers - --prefix XDG_DATA_DIRS : "${gdk_pixbuf}/share" + --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" --prefix XDG_DATA_DIRS : "${totem}/share" ) ''; diff --git a/pkgs/desktops/gnome-3/apps/evolution/default.nix b/pkgs/desktops/gnome-3/apps/evolution/default.nix index 310f8ccb63b..2061fc26607 100644 --- a/pkgs/desktops/gnome-3/apps/evolution/default.nix +++ b/pkgs/desktops/gnome-3/apps/evolution/default.nix @@ -1,39 +1,111 @@ -{ stdenv, cmake, ninja, intltool, fetchurl, libxml2, webkitgtk, highlight -, pkgconfig, gtk3, glib, libnotify, gtkspell3 -, wrapGAppsHook, itstool, shared-mime-info, libical, db, gcr, sqlite -, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu -, libcanberra-gtk3, bogofilter, gst_all_1, procps, p11-kit, openldap }: +{ stdenv +, cmake +, ninja +, intltool +, fetchurl +, libxml2 +, webkitgtk +, highlight +, pkgconfig +, gtk3 +, glib +, libnotify +, gtkspell3 +, evolution-data-server +, adwaita-icon-theme +, gnome-desktop +, libgdata +, libgweather +, glib-networking +, gsettings-desktop-schemas +, wrapGAppsHook +, itstool +, shared-mime-info +, libical +, db +, gcr +, sqlite +, gnome3 +, librsvg +, gdk-pixbuf +, libsecret +, nss +, nspr +, icu +, libcanberra-gtk3 +, bogofilter +, gst_all_1 +, procps +, p11-kit +, openldap +}: -let - version = "3.30.5"; -in stdenv.mkDerivation rec { - name = "evolution-${version}"; +stdenv.mkDerivation rec { + pname = "evolution"; + version = "3.32.4"; src = fetchurl { - url = "mirror://gnome/sources/evolution/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1hhxj3rh921pp3l3c5k33bdypcas1p66krzs65k1qn82c5fpgl2h"; + url = "mirror://gnome/sources/evolution/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "00hmmg4hfns8rq9rcilmy0gi1xkksld27lfbd9zmw2xw37wjmbqh"; }; - propagatedUserEnvPkgs = [ gnome3.evolution-data-server ]; - - buildInputs = [ - gtk3 glib gdk_pixbuf gnome3.defaultIconTheme librsvg db icu - gnome3.evolution-data-server libsecret libical gcr - webkitgtk shared-mime-info gnome3.gnome-desktop gtkspell3 - libcanberra-gtk3 bogofilter gnome3.libgdata sqlite - gst_all_1.gstreamer gst_all_1.gst-plugins-base p11-kit - nss nspr libnotify procps highlight gnome3.libgweather - gnome3.gsettings-desktop-schemas - gnome3.glib-networking openldap + nativeBuildInputs = [ + cmake + intltool + itstool + libxml2 + ninja + pkgconfig + wrapGAppsHook ]; - nativeBuildInputs = [ cmake ninja intltool itstool libxml2 pkgconfig wrapGAppsHook ]; + buildInputs = [ + adwaita-icon-theme + bogofilter + db + evolution-data-server + gcr + gdk-pixbuf + glib + glib-networking + gnome-desktop + gsettings-desktop-schemas + gst_all_1.gst-plugins-base + gst_all_1.gstreamer + gtk3 + gtkspell3 + highlight + icu + libcanberra-gtk3 + libgdata + libgweather + libical + libnotify + librsvg + libsecret + nspr + nss + openldap + p11-kit + procps + shared-mime-info + sqlite + webkitgtk + ]; + + propagatedUserEnvPkgs = [ + evolution-data-server + ]; cmakeFlags = [ "-DENABLE_AUTOAR=OFF" "-DENABLE_LIBCRYPTUI=OFF" - "-DENABLE_YTNEF=OFF" "-DENABLE_PST_IMPORT=OFF" + "-DENABLE_YTNEF=OFF" + ]; + + requiredSystemFeatures = [ + "big-parallel" ]; doCheck = true; @@ -47,8 +119,6 @@ in stdenv.mkDerivation rec { PKG_CONFIG_LIBEDATASERVERUI_1_2_UIMODULEDIR = "${placeholder "out"}/lib/evolution-data-server/ui-modules"; - requiredSystemFeatures = [ "big-parallel" ]; - meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Apps/Evolution; description = "Personal information management application that provides integrated mail, calendaring and address book functionality"; diff --git a/pkgs/desktops/gnome-3/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/apps/file-roller/default.nix index fe307bca797..267a7f2f7d2 100644 --- a/pkgs/desktops/gnome-3/apps/file-roller/default.nix +++ b/pkgs/desktops/gnome-3/apps/file-roller/default.nix @@ -1,20 +1,20 @@ -{ stdenv, fetchurl, glib, gtk, meson, ninja, pkgconfig, gnome3, gettext, itstool, libxml2, libarchive +{ stdenv, fetchurl, glib, gtk3, meson, ninja, pkgconfig, gnome3, gettext, itstool, libxml2, libarchive , file, json-glib, python3, wrapGAppsHook, desktop-file-utils, libnotify, nautilus, glibcLocales }: stdenv.mkDerivation rec { - name = "file-roller-${version}"; - version = "3.30.1"; + pname = "file-roller"; + version = "3.32.1"; src = fetchurl { - url = "mirror://gnome/sources/file-roller/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0kiragsqyixyx15747b71qc4nw8y4jx9d55wgg612xb0hp5l9pj1"; + url = "mirror://gnome/sources/file-roller/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0irm72cf8222h93skivn0nn0ckahiiiimy4rb9r3ccjvhi3hiaqw"; }; LANG = "en_US.UTF-8"; # postinstall.py nativeBuildInputs = [ meson ninja gettext itstool pkgconfig libxml2 python3 wrapGAppsHook glibcLocales desktop-file-utils ]; - buildInputs = [ glib gtk json-glib libarchive file gnome3.defaultIconTheme libnotify nautilus ]; + buildInputs = [ glib gtk3 json-glib libarchive file gnome3.adwaita-icon-theme libnotify nautilus ]; PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0"; diff --git a/pkgs/desktops/gnome-3/apps/gedit/default.nix b/pkgs/desktops/gnome-3/apps/gedit/default.nix index 61eda942194..35d97a87a86 100644 --- a/pkgs/desktops/gnome-3/apps/gedit/default.nix +++ b/pkgs/desktops/gnome-3/apps/gedit/default.nix @@ -1,27 +1,39 @@ -{ stdenv, intltool, fetchurl -, pkgconfig, gtk3, glib -, wrapGAppsHook, itstool, libsoup, libxml2 -, gnome3, gspell }: +{ stdenv, meson, fetchurl, python3 +, pkgconfig, gtk3, glib, adwaita-icon-theme +, libpeas, gtksourceview4, gsettings-desktop-schemas +, wrapGAppsHook, ninja, libsoup, libxml2 +, gnome3, gspell, perl, itstool, desktop-file-utils }: stdenv.mkDerivation rec { - name = "gedit-${version}"; - version = "3.30.2"; + pname = "gedit"; + version = "3.32.2"; src = fetchurl { - url = "mirror://gnome/sources/gedit/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0qwig35hzvjaqic9x92jcpmycnvcybsbnbiw6rppryx0arwb3wza"; + url = "mirror://gnome/sources/gedit/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl"; }; - nativeBuildInputs = [ pkgconfig wrapGAppsHook intltool itstool libxml2 ]; + nativeBuildInputs = [ + pkgconfig wrapGAppsHook meson ninja libxml2 + python3 perl itstool desktop-file-utils + ]; buildInputs = [ gtk3 glib - gnome3.defaultIconTheme libsoup - gnome3.libpeas gnome3.gtksourceview - gnome3.gsettings-desktop-schemas gspell + adwaita-icon-theme libsoup + libpeas gtksourceview4 + gsettings-desktop-schemas gspell ]; - enableParallelBuilding = true; + postPatch = '' + chmod +x build-aux/meson/post_install.py + chmod +x plugins/externaltools/scripts/gedit-tool-merge.pl + patchShebangs build-aux/meson/post_install.py + patchShebangs plugins/externaltools/scripts/gedit-tool-merge.pl + ''; + + # Reliably fails to generate gedit-file-browser-enum-types.h in time + enableParallelBuilding = false; passthru = { updateScript = gnome3.updateScript { diff --git a/pkgs/desktops/gnome-3/apps/ghex/default.nix b/pkgs/desktops/gnome-3/apps/ghex/default.nix index d9f1e7850af..f776f4dbe5a 100644 --- a/pkgs/desktops/gnome-3/apps/ghex/default.nix +++ b/pkgs/desktops/gnome-3/apps/ghex/default.nix @@ -1,27 +1,86 @@ -{ stdenv, fetchurl, pkgconfig, gnome3, intltool, itstool, libxml2, - wrapGAppsHook }: +{ stdenv +, fetchurl +, fetchpatch +, pkgconfig +, meson +, ninja +, python3 +, gnome3 +, hicolor-icon-theme +, desktop-file-utils +, appstream-glib +, gettext +, itstool +, libxml2 +, gtk3 +, glib +, atk +, wrapGAppsHook +}: stdenv.mkDerivation rec { - name = "ghex-${version}"; - version = "3.18.3"; + pname = "ghex"; + version = "3.18.4"; + + outputs = [ "out" "dev" ]; src = fetchurl { - url = "mirror://gnome/sources/ghex/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "c67450f86f9c09c20768f1af36c11a66faf460ea00fbba628a9089a6804808d3"; + url = "mirror://gnome/sources/ghex/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"; }; + nativeBuildInputs = [ + desktop-file-utils + gettext + hicolor-icon-theme # for setup-hook + itstool + meson + ninja + pkgconfig + python3 + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + atk + glib + ]; + + checkInputs = [ + appstream-glib + desktop-file-utils + ]; + + patches = [ + # Fixes for darwin. Drop in next release. + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/ghex/commit/b0af26666cd990d99076c242b2abb3efc6e98671.patch"; + sha256 = "1zwdkgr2nqrn9q3ydyvrrpn5x55cdi747fhbq6mh6blp9cbrk9b5"; + }) + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/ghex/commit/cc8ef9e67b23604c402460010dc0b5dccb85391b.patch"; + sha256 = "0j2165rfhlbrlzhmcnirqd5m89ljpz0n3nz20sxbwlc8h42zv36s"; + }) + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + passthru = { - updateScript = gnome3.updateScript { packageName = "ghex"; attrPath = "gnome3.ghex"; }; + updateScript = gnome3.updateScript { + packageName = "ghex"; + attrPath = "gnome3.${pname}"; + }; }; - nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; - - buildInputs = [ gnome3.gtk intltool itstool libxml2 ]; - meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Apps/Ghex; description = "Hex editor for GNOME desktop environment"; - platforms = platforms.linux; + platforms = platforms.unix; + license = licenses.gpl2Plus; maintainers = gnome3.maintainers; }; } diff --git a/pkgs/desktops/gnome-3/apps/glade/default.nix b/pkgs/desktops/gnome-3/apps/glade/default.nix index 39e0f2ba23e..92b38ed5eee 100644 --- a/pkgs/desktops/gnome-3/apps/glade/default.nix +++ b/pkgs/desktops/gnome-3/apps/glade/default.nix @@ -1,14 +1,14 @@ { stdenv, intltool, fetchurl, python3 , pkgconfig, gtk3, glib, gobject-introspection , wrapGAppsHook, itstool, libxml2, docbook_xsl -, gnome3, gdk_pixbuf, libxslt }: +, gnome3, gdk-pixbuf, libxslt, gsettings-desktop-schemas }: stdenv.mkDerivation rec { - name = "glade-${version}"; + pname = "glade"; version = "3.22.1"; src = fetchurl { - url = "mirror://gnome/sources/glade/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + url = "mirror://gnome/sources/glade/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"; }; @@ -21,8 +21,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ gtk3 glib libxml2 python3 python3.pkgs.pygobject3 - gnome3.gsettings-desktop-schemas - gdk_pixbuf gnome3.defaultIconTheme + gsettings-desktop-schemas + gdk-pixbuf gnome3.adwaita-icon-theme ]; enableParallelBuilding = true; diff --git a/pkgs/desktops/gnome-3/apps/gnome-books/default.nix b/pkgs/desktops/gnome-3/apps/gnome-books/default.nix new file mode 100644 index 00000000000..25ee957224c --- /dev/null +++ b/pkgs/desktops/gnome-3/apps/gnome-books/default.nix @@ -0,0 +1,48 @@ +{ stdenv, meson, ninja, gettext, fetchurl, evince, gjs +, pkgconfig, gtk3, glib, tracker, tracker-miners, libxslt +, webkitgtk, gnome-desktop, libgepub, gnome3, gdk-pixbuf +, gsettings-desktop-schemas, adwaita-icon-theme, docbook_xsl +, docbook_xml_dtd_42, desktop-file-utils, python3 +, gobject-introspection, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "gnome-books"; + version = "3.32.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1wkcywcwwszj9mldr0lngczqdz7hys08rr1nd2k6rs8ykzs2z7m4"; + }; + + nativeBuildInputs = [ + meson ninja pkgconfig gettext libxslt desktop-file-utils + docbook_xsl docbook_xml_dtd_42 wrapGAppsHook python3 + ]; + + buildInputs = [ + gtk3 glib gsettings-desktop-schemas + gdk-pixbuf adwaita-icon-theme evince + webkitgtk gjs gobject-introspection tracker + tracker-miners gnome-desktop libgepub + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome3.updateScript { + packageName = "gnome-books"; + attrPath = "gnome3.gnome-books"; + }; + }; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Books; + description = "An e-book manager application for GNOME"; + maintainers = gnome3.maintainers; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix index 357cd42d66b..27ce5d0f078 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix @@ -2,20 +2,21 @@ , glib, gobject-introspection, libxml2, gtk3, gtk-vnc, freerdp, libvirt, spice-gtk, python3 , spice-protocol, libsoup, libosinfo, systemd, tracker, tracker-miners, vala , libcap, yajl, gmp, gdbm, cyrus_sasl, gnome3, librsvg, desktop-file-utils -, mtools, cdrkit, libcdio, libusb, libarchive, acl, libgudev, qemu, libsecret -, libcap_ng, numactl, xen, libapparmor, json-glib, webkitgtk +, mtools, cdrkit, libcdio, libusb, libarchive, acl, libgudev, libsecret +, libcap_ng, numactl, xen, libapparmor, json-glib, webkitgtk, vte }: # TODO: ovirt (optional) let - version = "3.30.3"; + version = "3.32.1"; in stdenv.mkDerivation rec { - name = "gnome-boxes-${version}"; + pname = "gnome-boxes"; + inherit version; src = fetchurl { - url = "mirror://gnome/sources/gnome-boxes/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0a9ljwhkanszzyzl0bhad8vmzk7v4wafl9b1zn09pf57znyymf3s"; + url = "mirror://gnome/sources/gnome-boxes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "159sxii3g4s5pjb4s4i3kc4q162w5vicp4g6wvk1y2yv68bgmcl4"; }; doCheck = true; @@ -31,12 +32,12 @@ in stdenv.mkDerivation rec { libvirt-glib glib gtk3 gtk-vnc freerdp libxml2 libvirt spice-gtk spice-protocol libsoup json-glib webkitgtk libosinfo systemd tracker tracker-miners libcap yajl gmp gdbm cyrus_sasl libusb libarchive - gnome3.defaultIconTheme librsvg acl libgudev libsecret - libcap_ng numactl xen libapparmor + gnome3.adwaita-icon-theme librsvg acl libgudev libsecret + libcap_ng numactl xen libapparmor vte ]; preFixup = '' - gappsWrapperArgs+=(--prefix PATH : "${stdenv.lib.makeBinPath [ mtools cdrkit libcdio qemu ]}") + gappsWrapperArgs+=(--prefix PATH : "${stdenv.lib.makeBinPath [ mtools cdrkit libcdio ]}") ''; mesonFlags = [ diff --git a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix index 8cc8712a15d..03619f38c9b 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, meson, ninja, pkgconfig, wrapGAppsHook, libdazzle, libgweather, geoclue2, geocode-glib, python3 -, gettext, libxml2, gnome3, gtk, evolution-data-server, libsoup +, gettext, libxml2, gnome3, gtk3, evolution-data-server, libsoup , glib, gnome-online-accounts, gsettings-desktop-schemas }: let pname = "gnome-calendar"; - version = "3.30.1"; + version = "3.32.2"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1avi7a29y8d8kzwslp51nwy6s692alms7917454j0xpfc6hnw62s"; + sha256 = "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k"; }; passthru = { @@ -22,8 +22,8 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja pkgconfig gettext libxml2 wrapGAppsHook python3 ]; buildInputs = [ - gtk evolution-data-server libsoup glib gnome-online-accounts libdazzle libgweather geoclue2 geocode-glib - gsettings-desktop-schemas gnome3.defaultIconTheme + gtk3 evolution-data-server libsoup glib gnome-online-accounts libdazzle libgweather geoclue2 geocode-glib + gsettings-desktop-schemas gnome3.adwaita-icon-theme ]; postPatch = '' diff --git a/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix b/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix index 047f9bc2210..ac1e9ee85c0 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix @@ -1,39 +1,80 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, gnome3, glib, gtk3, pango, wrapGAppsHook, python3 -, gobject-introspection, gjs, libunistring }: +{ stdenv +, fetchurl +, meson +, ninja +, pkgconfig +, gettext +, gnome3 +, glib +, gtk3 +, pango +, wrapGAppsHook +, python3 +, gobject-introspection +, gjs +, libunistring +, gsettings-desktop-schemas +, adwaita-icon-theme +, gnome-desktop +}: stdenv.mkDerivation rec { - name = "gnome-characters-${version}"; - version = "3.30.0"; + pname = "gnome-characters"; + version = "3.32.1"; src = fetchurl { - url = "mirror://gnome/sources/gnome-characters/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"; + url = "mirror://gnome/sources/gnome-characters/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1mpg125x9k879ryg8xgbm9w1amx6b3iq9sqv7xfii7kzaanjb4js"; }; + nativeBuildInputs = [ + gettext + gobject-introspection + meson + ninja + pkgconfig + python3 + wrapGAppsHook + ]; + + + buildInputs = [ + adwaita-icon-theme + gjs + glib + gnome-desktop # for typelib + gsettings-desktop-schemas + gtk3 + libunistring + pango + ]; + postPatch = '' chmod +x meson_post_install.py # patchShebangs requires executable file patchShebangs meson_post_install.py ''; + dontWrapGApps = true; + + # Fixes https://github.com/NixOS/nixpkgs/issues/31168 + postFixup = '' + for file in $out/share/org.gnome.Characters/org.gnome.Characters \ + $out/share/org.gnome.Characters/org.gnome.Characters.BackgroundService + do + sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \ + -i $file + + wrapProgram $file "''${gappsWrapperArgs[@]}" + done + ''; + passthru = { updateScript = gnome3.updateScript { - packageName = "gnome-characters"; - attrPath = "gnome3.gnome-characters"; + packageName = pname; + attrPath = "gnome3.${pname}"; }; }; - nativeBuildInputs = [ meson ninja pkgconfig gettext wrapGAppsHook python3 gobject-introspection ]; - buildInputs = [ - glib gtk3 gjs pango gnome3.gsettings-desktop-schemas - gnome3.defaultIconTheme libunistring - # typelib - gnome3.gnome-desktop - ]; - - mesonFlags = [ - "-Ddbus_service_dir=${placeholder "out"}/share/dbus-1/services" - ]; - meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Design/Apps/CharacterMap; description = "Simple utility application to find and insert unusual characters"; diff --git a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix index 30323cf62f5..38182f1f994 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix @@ -1,15 +1,16 @@ { stdenv, fetchurl , meson, ninja, gettext, pkgconfig, wrapGAppsHook, itstool, desktop-file-utils , vala, gobject-introspection, libxml2, gtk3, glib, gsound, sound-theme-freedesktop -, gnome3, gdk_pixbuf, geoclue2, libgweather }: +, gsettings-desktop-schemas, adwaita-icon-theme, gnome-desktop, geocode-glib +, gnome3, gdk-pixbuf, geoclue2, libgweather }: stdenv.mkDerivation rec { - name = "gnome-clocks-${version}"; - version = "3.30.1"; + pname = "gnome-clocks"; + version = "3.32.0"; src = fetchurl { - url = "mirror://gnome/sources/gnome-clocks/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "009fr6zwv37wryi0c0syi4i7pxpdbn3gliws68l99cjsbn2qd6pc"; + url = "mirror://gnome/sources/gnome-clocks/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1w6lgjdak3x76c9gyhd1lqrdmjfh8q77sjnrkcimylsg0jq913bc"; }; passthru = { @@ -26,8 +27,8 @@ stdenv.mkDerivation rec { gobject-introspection # for finding vapi files ]; buildInputs = [ - gtk3 glib gnome3.gsettings-desktop-schemas gdk_pixbuf gnome3.defaultIconTheme - gnome3.gnome-desktop gnome3.geocode-glib geoclue2 libgweather gsound + gtk3 glib gsettings-desktop-schemas gdk-pixbuf adwaita-icon-theme + gnome-desktop geocode-glib geoclue2 libgweather gsound ]; preFixup = '' diff --git a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix index d2792304016..1301381e5aa 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix @@ -1,44 +1,38 @@ -{ stdenv, meson, ninja, gettext, fetchurl, fetchpatch, evince, gjs +{ stdenv, meson, ninja, gettext, fetchurl, evince, gjs , pkgconfig, gtk3, glib, tracker, tracker-miners , itstool, libxslt, webkitgtk, libgdata , gnome-desktop, libzapojit, libgepub -, gnome3, gdk_pixbuf, libsoup, docbook_xsl, docbook_xml_dtd_42 +, gnome3, gdk-pixbuf, libsoup, docbook_xsl, docbook_xml_dtd_42 , gobject-introspection, inkscape, poppler_utils -, desktop-file-utils, wrapGAppsHook, python3 }: +, desktop-file-utils, wrapGAppsHook, python3, gsettings-desktop-schemas }: stdenv.mkDerivation rec { - name = "gnome-documents-${version}"; - version = "3.30.0"; + pname = "gnome-documents"; + version = "3.32.0"; src = fetchurl { - url = "mirror://gnome/sources/gnome-documents/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0zchkjpc9algmxrpj0f9i2lc4h1yp8z0h76vn32xa9jr46x4lsh6"; + url = "mirror://gnome/sources/gnome-documents/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1gqddzbr4d8s0asmrhy0sfmwggzhbmpm61mqf8rxpdjk7s26086c"; }; doCheck = true; - mesonFlags = [ "-Dgetting-started=true" ]; + mesonFlags = [ + "-Dgetting-started=true" + ]; nativeBuildInputs = [ meson ninja pkgconfig gettext itstool libxslt desktop-file-utils docbook_xsl docbook_xml_dtd_42 wrapGAppsHook python3 inkscape poppler_utils # building getting started ]; buildInputs = [ - gtk3 glib gnome3.gsettings-desktop-schemas - gdk_pixbuf gnome3.defaultIconTheme evince + gtk3 glib gsettings-desktop-schemas + gdk-pixbuf gnome3.adwaita-icon-theme evince libsoup webkitgtk gjs gobject-introspection tracker tracker-miners libgdata gnome-desktop libzapojit libgepub ]; - patches = [ - # fix RPATH to libgd - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-documents/commit/d18a92e0a940073ac766f609937539e4fc6cdbb7.patch"; - sha256 = "0s3mk8vrl1gzk93yvgqbnz44i27qw1d9yvvmnck3fv23phrxkzk9"; - }) - ]; - postPatch = '' chmod +x meson_post_install.py # patchShebangs requires executable file patchShebangs meson_post_install.py diff --git a/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix b/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix index e7a1954c892..655e9e9fe34 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, gnome3, intltool, itstool, libxml2 }: stdenv.mkDerivation rec { - name = "gnome-getting-started-docs-${version}"; - version = "3.30.0"; + pname = "gnome-getting-started-docs"; + version = "3.32.2"; src = fetchurl { - url = "mirror://gnome/sources/gnome-getting-started-docs/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "10vihv6n8703rapf915waz1vzr7axk43bjlhmm3hb7kwm32rc61k"; + url = "mirror://gnome/sources/gnome-getting-started-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"; }; passthru = { diff --git a/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix b/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix index c6140a53fd9..8681a3c866c 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, meson, ninja, pkgconfig, gnome3, glib, gtk3, wrapGAppsHook, desktop-file-utils -, gettext, itstool, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_43, systemd, python3 }: +, gettext, itstool, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_43, systemd, python3, gsettings-desktop-schemas }: stdenv.mkDerivation rec { - name = "gnome-logs-${version}"; - version = "3.30.0"; + pname = "gnome-logs"; + version = "3.32.1"; src = fetchurl { - url = "mirror://gnome/sources/gnome-logs/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1rsk2whps7rwl01mmjmhwwww4iv09fsszils9zmgqd79y7l3fmyh"; + url = "mirror://gnome/sources/gnome-logs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0hh3nnbq7q2xbflvaywanm0j3dqhb04ngphskhnjx2sg7px12068"; }; mesonFlags = [ @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { meson ninja pkgconfig wrapGAppsHook gettext itstool desktop-file-utils libxml2 libxslt docbook_xsl docbook_xml_dtd_43 ]; - buildInputs = [ glib gtk3 systemd gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme ]; + buildInputs = [ glib gtk3 systemd gsettings-desktop-schemas gnome3.adwaita-icon-theme ]; postPatch = '' chmod +x meson_post_install.py diff --git a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix index 2f7e5bbe807..6011092c0e0 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchurl, meson, ninja, gettext, python3, pkgconfig, gnome3, gtk3 -, gobject-introspection, gdk_pixbuf, librsvg, libgweather -, geoclue2, wrapGAppsHook, folks, libchamplain, gfbgraph, libsoup +, gobject-introspection, gdk-pixbuf, librsvg, libgweather +, geoclue2, wrapGAppsHook, folks, libchamplain, gfbgraph, libsoup, gsettings-desktop-schemas , webkitgtk, gjs, libgee, geocode-glib, evolution-data-server, gnome-online-accounts }: let pname = "gnome-maps"; - version = "3.30.3"; + version = "3.32.2.1"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0s1k6v1yzchbv6big09fdhmm0rzyjdh2y7qg6fsp7d0x4qnch9nq"; + sha256 = "1m191iq1gjaqz79ci3dkbmwrkxp7pzknngimlf5bqib5x8yairlb"; }; doCheck = true; @@ -21,9 +21,9 @@ in stdenv.mkDerivation rec { gobject-introspection gtk3 geoclue2 gjs libgee folks gfbgraph geocode-glib libchamplain libsoup - gdk_pixbuf librsvg libgweather - gnome3.gsettings-desktop-schemas evolution-data-server - gnome-online-accounts gnome3.defaultIconTheme + gdk-pixbuf librsvg libgweather + gsettings-desktop-schemas evolution-data-server + gnome-online-accounts gnome3.adwaita-icon-theme webkitgtk ]; diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix index 3edf1f5dd40..9b8c96729ad 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix @@ -1,26 +1,26 @@ -{ stdenv, meson, ninja, gettext, fetchurl, gdk_pixbuf, tracker +{ stdenv, meson, ninja, gettext, fetchurl, gdk-pixbuf, tracker , libxml2, python3, libnotify, wrapGAppsHook, libmediaart , gobject-introspection, gnome-online-accounts, grilo, grilo-plugins , pkgconfig, gtk3, glib, desktop-file-utils, appstream-glib -, itstool, gnome3, gst_all_1, libdazzle, libsoup }: +, itstool, gnome3, gst_all_1, libdazzle, libsoup, gsettings-desktop-schemas }: python3.pkgs.buildPythonApplication rec { pname = "gnome-music"; - version = "3.30.2"; + version = "3.32.2"; format = "other"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1d9gd9rqy71hibfrz4zglimvgv6yn1pw22cnrn7pbdz6k4yq209d"; + sha256 = "0cn7l1d3ayima1w3bxpshijabd7ibhnvqxv2mpvffzizk04ln6hk"; }; nativeBuildInputs = [ meson ninja gettext itstool pkgconfig libxml2 wrapGAppsHook desktop-file-utils appstream-glib gobject-introspection ]; buildInputs = with gst_all_1; [ - gtk3 glib libmediaart gnome-online-accounts - gdk_pixbuf gnome3.defaultIconTheme python3 + gtk3 glib libmediaart gnome-online-accounts gobject-introspection + gdk-pixbuf gnome3.adwaita-icon-theme python3 grilo grilo-plugins libnotify libdazzle libsoup - gnome3.gsettings-desktop-schemas tracker + gsettings-desktop-schemas tracker gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly ]; propagatedBuildInputs = with python3.pkgs; [ pycairo dbus-python pygobject3 ]; diff --git a/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix b/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix index dcee87dc799..37401af3ce6 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix @@ -2,23 +2,32 @@ , libgtop, intltool, itstool, libxml2, nmap, inetutils }: stdenv.mkDerivation rec { - name = "gnome-nettool-3.8.1"; + pname = "gnome-nettool"; + version = "3.8.1"; src = fetchurl { - url = "mirror://gnome/sources/gnome-nettool/3.8/${name}.tar.xz"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "1c9cvzvyqgfwa5zzyvp7118pkclji62fkbb33g4y9sp5kw6m397h"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ gtk3 wrapGAppsHook libgtop intltool itstool libxml2 - gnome3.defaultIconTheme + gnome3.adwaita-icon-theme ]; propagatedUserEnvPkgs = [ nmap inetutils ]; + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + versionPolicy = "none"; + }; + }; + meta = with stdenv.lib; { - homepage = http://projects.gnome.org/gnome-network; + homepage = "https://gitlab.gnome.org/GNOME/gnome-nettool"; description = "A collection of networking tools"; maintainers = gnome3.maintainers; license = licenses.gpl2; diff --git a/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix index e39ce00fd65..5978fb217e8 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix @@ -1,17 +1,18 @@ { stdenv, meson, ninja, gettext, fetchurl, pkgconfig , wrapGAppsHook, itstool, desktop-file-utils, python3 -, glib, gtk3, evolution-data-server +, glib, gtk3, evolution-data-server, gnome-online-accounts , libuuid, webkitgtk, zeitgeist -, gnome3, libxml2 }: +, gnome3, libxml2, gsettings-desktop-schemas, tracker }: let - version = "3.30.3"; + version = "3.32.2"; in stdenv.mkDerivation rec { - name = "gnome-notes-${version}"; + pname = "gnome-notes"; + inherit version; src = fetchurl { url = "mirror://gnome/sources/bijiben/${stdenv.lib.versions.majorMinor version}/bijiben-${version}.tar.xz"; - sha256 = "1mkpi2i9nqpip5l15ihjcscyiri113s0705sjgh6b89164ahyn5k"; + sha256 = "0chm2fks7cpx3mycxzddpj6v9by203c3m1y6zns5ra43bspwafy2"; }; doCheck = true; @@ -26,11 +27,11 @@ in stdenv.mkDerivation rec { ]; buildInputs = [ - glib gtk3 libuuid webkitgtk gnome3.tracker - gnome3.gnome-online-accounts zeitgeist - gnome3.gsettings-desktop-schemas + glib gtk3 libuuid webkitgtk tracker + gnome-online-accounts zeitgeist + gsettings-desktop-schemas evolution-data-server - gnome3.defaultIconTheme + gnome3.adwaita-icon-theme ]; mesonFlags = [ diff --git a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix deleted file mode 100644 index 508b8af3f4f..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ stdenv, gettext, fetchurl, libxml2, libgdata -, pkgconfig, gtk3, glib, tracker, tracker-miners -, itstool, gegl, babl, libdazzle, gfbgraph, grilo-plugins -, grilo, gnome-online-accounts -, desktop-file-utils, wrapGAppsHook -, gnome3, gdk_pixbuf, gexiv2, geocode-glib -, dleyna-renderer }: - -let - pname = "gnome-photos"; - version = "3.30.1"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1mf1887x0pk46h6l51rfkpn29fwp3yvmqkk99kr1iwpz0lakyx6f"; - }; - - # doCheck = true; - - nativeBuildInputs = [ pkgconfig gettext itstool libxml2 desktop-file-utils wrapGAppsHook ]; - buildInputs = [ - gtk3 glib gegl babl libgdata libdazzle - gnome3.gsettings-desktop-schemas - gdk_pixbuf gnome3.defaultIconTheme - gfbgraph grilo-plugins grilo - gnome-online-accounts tracker - gexiv2 geocode-glib dleyna-renderer - tracker-miners # For 'org.freedesktop.Tracker.Miner.Files' GSettings schema - ]; - - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with stdenv.lib; { - homepage = https://wiki.gnome.org/Apps/Photos; - description = "Access, organize and share your photos"; - maintainers = gnome3.maintainers; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix b/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix index 3f8ce7f4a51..fd47f54eb89 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix @@ -14,13 +14,13 @@ let pname = "gnome-power-manager"; - version = "3.30.0"; + version = "3.32.0"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0m15x6i279wrfimz9ma2gfjv7jlkca2qbl2wcnxgx1pb3hzrwggm"; + sha256 = "0drfn3wcc8l4n07qwv6p0rw2dwcd00hwzda282q62l6sasks2b2g"; }; passthru = { @@ -47,7 +47,7 @@ in stdenv.mkDerivation rec { gtk3 glib upower - gnome3.defaultIconTheme + gnome3.adwaita-icon-theme ]; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix b/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix index 1f902dc9c80..907c0424454 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix @@ -1,24 +1,25 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gobject-introspection, wrapGAppsHook, gjs, glib, gtk3, gdk_pixbuf, gst_all_1, gnome3 }: +{ stdenv, fetchurl, pkgconfig, gettext, gobject-introspection, wrapGAppsHook, gjs, glib, gtk3, gdk-pixbuf, gst_all_1, gnome3 +, meson, ninja, python3, hicolor-icon-theme, desktop-file-utils }: stdenv.mkDerivation rec { pname = "gnome-sound-recorder"; - version = "3.28.2"; + version = "3.32.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1k63xr3d16qbzi88md913ndaf2mzwmhmi6hipj0123sm7nsz1p94"; + sha256 = "0q83b6dabckmwj8mcw0wvhbxaszwdzzcf8ajx5bldll3lyl5yh2b"; }; - patches = [ - # Fix crash when trying to play recordings - (fetchpatch { - url = https://gitlab.gnome.org/GNOME/gnome-sound-recorder/commit/2b311ef67909bc20d0e87f334fe37bf5c4e9f29f.patch; - sha256 = "0hqmk846bxma0p66cqp94zd02zc1if836ywjq3sv5dsfwnz7jv3f"; - }) + nativeBuildInputs = [ + pkgconfig gettext meson ninja gobject-introspection + wrapGAppsHook python3 hicolor-icon-theme desktop-file-utils ]; + buildInputs = [ gjs glib gtk3 gdk-pixbuf ] ++ (with gst_all_1; [ gstreamer.dev gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]); - nativeBuildInputs = [ pkgconfig intltool gobject-introspection wrapGAppsHook ]; - buildInputs = [ gjs glib gtk3 gdk_pixbuf ] ++ (with gst_all_1; [ gstreamer.dev gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]); + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; # TODO: fix this in gstreamer # TODO: make stdenv.lib.getBin respect outputBin diff --git a/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix b/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix index 37b48a74482..dbbbb43659b 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix @@ -1,35 +1,76 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, python3, wrapGAppsHook -, gettext, gnome3, glib, gtk, libpeas -, gnome-online-accounts, gsettings-desktop-schemas -, evolution-data-server, libxml2, libsoup, libical, rest, json-glib }: +{ stdenv +, fetchurl +, fetchpatch +, meson +, ninja +, pkgconfig +, python3 +, wrapGAppsHook +, gettext +, gnome3 +, glib +, gtk3 +, libpeas +, gnome-online-accounts +, gsettings-desktop-schemas +, evolution-data-server +, libxml2 +, libsoup +, libical +, librest +, json-glib +}: -let +stdenv.mkDerivation rec { pname = "gnome-todo"; version = "3.28.1"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"; }; - nativeBuildInputs = [ - meson ninja pkgconfig gettext python3 wrapGAppsHook + patches = [ + # fix build with e-d-s 3.32 + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/gnome-todo/commit/6cdabc4dd0c6c804a093b94c269461ce376fed4f.patch; + sha256 = "08ldgyxv9216dgr8y9asqd7j2y82y9yqnqhkqaxc9i8a67yz1gzy"; + }) ]; - buildInputs = [ - glib gtk libpeas gnome-online-accounts - gsettings-desktop-schemas gnome3.defaultIconTheme - # Plug-ins - evolution-data-server libxml2 libsoup libical - rest json-glib - ]; - postPatch = '' chmod +x meson_post_install.py patchShebangs meson_post_install.py ''; + nativeBuildInputs = [ + meson + ninja + pkgconfig + gettext + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + libpeas + gnome-online-accounts + gsettings-desktop-schemas + gnome3.adwaita-icon-theme + # Plug-ins + evolution-data-server + libxml2 + libsoup + libical + librest + json-glib + ]; + + # Fix parallel building: missing dependency from src/gtd-application.c + # Probably remove for 3.30+ https://gitlab.gnome.org/GNOME/gnome-todo/issues/170 + preBuild = "ninja src/gtd-vcs-identifier.h"; + passthru = { updateScript = gnome3.updateScript { packageName = pname; diff --git a/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix b/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix index 6a827b7f0e3..1e5a641f08f 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix @@ -1,29 +1,32 @@ { stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook, gjs, gobject-introspection -, libgweather, intltool, itstool, geoclue2, gnome-desktop }: +, libgweather, meson, ninja, geoclue2, gnome-desktop, python3, gsettings-desktop-schemas }: stdenv.mkDerivation rec { - name = "gnome-weather-${version}"; - version = "3.26.0"; + pname = "gnome-weather"; + version = "3.32.2"; src = fetchurl { - url = "mirror://gnome/sources/gnome-weather/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "965cc0d1b4d4e53c06d494db96f0b124d232af5c0e731ca900edd10f77a74c78"; + url = "mirror://gnome/sources/gnome-weather/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0jfxdfbjkrk3x48w6nxgbmazd6jw1fh4mfw12hlly4rs0cjw698s"; }; - nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook ]; + nativeBuildInputs = [ pkgconfig meson ninja wrapGAppsHook python3 ]; buildInputs = [ gtk3 gjs gobject-introspection gnome-desktop - libgweather gnome3.defaultIconTheme geoclue2 gnome3.gsettings-desktop-schemas + libgweather gnome3.adwaita-icon-theme geoclue2 gsettings-desktop-schemas ]; - # The .service file isn't wrapped with the correct environment - # so misses GIR files when started. By re-pointing from the gjs - # entry point to the wrapped binary we get back to a wrapped - # binary. - preConfigure = '' - substituteInPlace "data/org.gnome.Weather.Application.service.in" \ - --replace "Exec=@pkgdatadir@/@PACKAGE_NAME@.Application" \ + postPatch = '' + # The .service file is not wrapped with the correct environment + # so misses GIR files when started. By re-pointing from the gjs + # entry point to the wrapped binary we get back to a wrapped + # binary. + substituteInPlace "data/org.gnome.Weather.service.in" \ + --replace "Exec=@DATA_DIR@/@APP_ID@" \ "Exec=$out/bin/gnome-weather" + + chmod +x meson_post_install.py + patchShebangs meson_post_install.py ''; passthru = { diff --git a/pkgs/desktops/gnome-3/apps/polari/default.nix b/pkgs/desktops/gnome-3/apps/polari/default.nix index 080fa664b0d..51fea63b714 100644 --- a/pkgs/desktops/gnome-3/apps/polari/default.nix +++ b/pkgs/desktops/gnome-3/apps/polari/default.nix @@ -1,17 +1,17 @@ -{ stdenv, itstool, fetchurl, gdk_pixbuf, adwaita-icon-theme +{ stdenv, itstool, fetchurl, gdk-pixbuf, adwaita-icon-theme , telepathy-glib, gjs, meson, ninja, gettext, telepathy-idle, libxml2, desktop-file-utils , pkgconfig, gtk3, glib, libsecret, libsoup, gobject-introspection, appstream-glib -, gnome3, wrapGAppsHook, telepathy-logger, gspell }: +, gnome3, wrapGAppsHook, telepathy-logger, gspell, gsettings-desktop-schemas }: let pname = "polari"; - version = "3.30.2"; + version = "3.32.2"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "02wxkdq5s5ami9wj9vpqhs6n8qxr299bpmvpvd89mn49x73lq2w2"; + sha256 = "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"; }; propagatedUserEnvPkgs = [ telepathy-idle telepathy-logger ]; @@ -22,8 +22,8 @@ in stdenv.mkDerivation rec { ]; buildInputs = [ - gtk3 glib adwaita-icon-theme gnome3.gsettings-desktop-schemas - telepathy-glib telepathy-logger gjs gspell gdk_pixbuf libsecret libsoup + gtk3 glib adwaita-icon-theme gsettings-desktop-schemas + telepathy-glib telepathy-logger gjs gspell gdk-pixbuf libsecret libsoup ]; passthru = { diff --git a/pkgs/desktops/gnome-3/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/apps/seahorse/default.nix index 9ef2b57e6d1..a1bcb406eb3 100644 --- a/pkgs/desktops/gnome-3/apps/seahorse/default.nix +++ b/pkgs/desktops/gnome-3/apps/seahorse/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, vala, meson, ninja +{ stdenv, fetchurl, vala, meson, ninja, libpwquality , pkgconfig, gtk3, glib, gobject-introspection , wrapGAppsHook, itstool, gnupg, libsoup , gnome3, gpgme, python3, openldap, gcr -, libsecret, avahi, p11-kit, openssh }: +, libsecret, avahi, p11-kit, openssh, gsettings-desktop-schemas }: stdenv.mkDerivation rec { pname = "seahorse"; - version = "3.30.1.1"; + version = "3.32.2"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "12x7xmwh62yl0ax90v8nkx3jqzviaz9hz2g56yml78wzww20gawy"; + sha256 = "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x"; }; doCheck = true; @@ -21,10 +21,10 @@ stdenv.mkDerivation rec { ]; buildInputs = [ gtk3 glib gcr - gnome3.gsettings-desktop-schemas gnupg - gnome3.defaultIconTheme gpgme + gsettings-desktop-schemas gnupg + gnome3.adwaita-icon-theme gpgme libsecret avahi libsoup p11-kit - openssh openldap + openssh openldap libpwquality ]; postPatch = '' diff --git a/pkgs/desktops/gnome-3/apps/vinagre/default.nix b/pkgs/desktops/gnome-3/apps/vinagre/default.nix index 00037f526b6..c5377157ef0 100644 --- a/pkgs/desktops/gnome-3/apps/vinagre/default.nix +++ b/pkgs/desktops/gnome-3/apps/vinagre/default.nix @@ -2,17 +2,17 @@ , libsecret, itstool, wrapGAppsHook, librsvg }: stdenv.mkDerivation rec { - name = "vinagre-${version}"; + pname = "vinagre"; version = "3.22.0"; src = fetchurl { - url = "mirror://gnome/sources/vinagre/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + url = "mirror://gnome/sources/vinagre/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "cd1cdbacca25c8d1debf847455155ee798c3e67a20903df8b228d4ece5505e82"; }; nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook ]; buildInputs = [ - gtk3 vte libxml2 gtk-vnc libsecret gnome3.defaultIconTheme librsvg + gtk3 vte libxml2 gtk-vnc libsecret gnome3.adwaita-icon-theme librsvg ]; NIX_CFLAGS_COMPILE = "-Wno-format-nonliteral"; diff --git a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix index 4fa40a6c1b0..a7f4a637b17 100644 --- a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix +++ b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix @@ -1,21 +1,21 @@ { stdenv, fetchurl, pkgconfig, intltool, gnome3 -, iconnamingutils, gtk, gdk_pixbuf, librsvg, hicolor-icon-theme }: +, iconnamingutils, gtk3, gdk-pixbuf, librsvg, hicolor-icon-theme }: stdenv.mkDerivation rec { - name = "adwaita-icon-theme-${version}"; - version = "3.30.1"; + pname = "adwaita-icon-theme"; + version = "3.32.0"; src = fetchurl { - url = "mirror://gnome/sources/adwaita-icon-theme/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1kp1lis3dr16jmlgycz1b29jsr6ir8wmqj6laqwlhs663cmjlxbd"; + url = "mirror://gnome/sources/adwaita-icon-theme/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9"; }; # For convenience, we can specify adwaita-icon-theme only in packages propagatedBuildInputs = [ hicolor-icon-theme ]; - buildInputs = [ gdk_pixbuf librsvg ]; + buildInputs = [ gdk-pixbuf librsvg ]; - nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ]; + nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk3 ]; # remove a tree of dirs with no files within postInstall = '' rm -rf "$out/locale" ''; diff --git a/pkgs/desktops/gnome-3/core/baobab/default.nix b/pkgs/desktops/gnome-3/core/baobab/default.nix index c29e3ff5200..4734a0e96b8 100644 --- a/pkgs/desktops/gnome-3/core/baobab/default.nix +++ b/pkgs/desktops/gnome-3/core/baobab/default.nix @@ -4,17 +4,17 @@ let pname = "baobab"; - version = "3.30.0"; + version = "3.32.0"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0kx721s1hhw1g0nvbqhb93g8iq6f852imyhfhl02zcqy4ipx0kay"; + sha256 = "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"; }; nativeBuildInputs = [ meson ninja pkgconfig vala gettext itstool libxml2 desktop-file-utils wrapGAppsHook ]; - buildInputs = [ gtk3 glib gnome3.defaultIconTheme ]; + buildInputs = [ gtk3 glib gnome3.adwaita-icon-theme ]; doCheck = true; diff --git a/pkgs/desktops/gnome-3/core/caribou/default.nix b/pkgs/desktops/gnome-3/core/caribou/default.nix index fe2b50f296a..bad06bae405 100644 --- a/pkgs/desktops/gnome-3/core/caribou/default.nix +++ b/pkgs/desktops/gnome-3/core/caribou/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, pkgconfig, gnome3, glib, gtk3, clutter, dbus, python3, libxml2 , libxklavier, libXtst, gtk2, intltool, libxslt, at-spi2-core, autoreconfHook -, wrapGAppsHook }: +, wrapGAppsHook, libgee }: let pname = "caribou"; @@ -30,7 +30,7 @@ in stdenv.mkDerivation rec { libXtst gtk2 ]; - propagatedBuildInputs = [ gnome3.libgee libxklavier ]; + propagatedBuildInputs = [ libgee libxklavier ]; postPatch = '' patchShebangs . diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix index 0d583dccf76..8a6ecc5d5e1 100644 --- a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix +++ b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix @@ -1,18 +1,22 @@ { stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3 -, libxml2, gettext, docbook_xsl, wrapGAppsHook, gobject-introspection }: +, libxml2, gettext, docbook_xsl, hicolor-icon-theme, wrapGAppsHook, gobject-introspection }: let pname = "dconf-editor"; - version = "3.30.2"; + version = "3.32.0"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "06f736spn20s7qjsz00xw44v8r8bjhyrz1v3bix6v416jc5jp6ia"; + sha256 = "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi"; }; - nativeBuildInputs = [ meson ninja vala libxslt pkgconfig wrapGAppsHook gettext docbook_xsl libxml2 gobject-introspection python3 ]; + nativeBuildInputs = [ + meson ninja vala libxslt pkgconfig wrapGAppsHook + gettext docbook_xsl libxml2 gobject-introspection python3 + hicolor-icon-theme # for setup-hook + ]; buildInputs = [ glib gtk3 gnome3.dconf ]; diff --git a/pkgs/desktops/gnome-3/core/dconf/default.nix b/pkgs/desktops/gnome-3/core/dconf/default.nix index 9c1d7d7d1a9..43f8dd08dbf 100644 --- a/pkgs/desktops/gnome-3/core/dconf/default.nix +++ b/pkgs/desktops/gnome-3/core/dconf/default.nix @@ -1,21 +1,31 @@ { stdenv, fetchurl, meson, ninja, python3, vala, libxslt, pkgconfig, glib, bash-completion, dbus, gnome3 -, libxml2, gtk-doc, docbook_xsl, docbook_xml_dtd_42 }: +, libxml2, gtk-doc, docbook_xsl, docbook_xml_dtd_42, fetchpatch }: let pname = "dconf"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; - version = "0.30.1"; + version = "0.32.0"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1dq2dn7qmxr4fxzx9wnag89ck24gxq17p2n4gl81h4w8qdy3m6jl"; + sha256 = "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38"; }; + patches = [ + # Fix the build on Darwin + # Issue: https://gitlab.gnome.org/GNOME/dconf/issues/47 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/dconf/commit/49f4d916e1151af3975df52c522c69de98ed2fbb.patch"; + sha256 = "00klkr1jzli9ap0aj6399m1bj2bxxz48pmcj4r16dsy6dfdl6325"; + }) + ]; + postPatch = '' - chmod +x meson_post_install.py + chmod +x meson_post_install.py tests/test-dconf.py patchShebangs meson_post_install.py + patchShebangs tests/test-dconf.py ''; outputs = [ "out" "lib" "dev" "devdoc" ]; @@ -28,7 +38,7 @@ stdenv.mkDerivation rec { "-Dgtk_doc=true" ]; - doCheck = true; + doCheck = !stdenv.isAarch32 && !stdenv.isAarch64 && !stdenv.isDarwin; passthru = { updateScript = gnome3.updateScript { diff --git a/pkgs/desktops/gnome-3/core/empathy/default.nix b/pkgs/desktops/gnome-3/core/empathy/default.nix index 1a4ef2a1cf4..5e4bbf8cce1 100644 --- a/pkgs/desktops/gnome-3/core/empathy/default.nix +++ b/pkgs/desktops/gnome-3/core/empathy/default.nix @@ -1,20 +1,20 @@ { stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib -, file, librsvg, gnome3, gdk_pixbuf, python3 +, file, librsvg, gnome3, gdk-pixbuf, python3 , telepathy-glib, telepathy-farstream, glibcLocales , clutter-gtk, clutter-gst, gst_all_1, cogl, gnome-online-accounts , gcr, libsecret, folks, libpulseaudio, telepathy-mission-control , telepathy-logger, libnotify, clutter, libsoup, gnutls , evolution-data-server, yelp-xsl , libcanberra-gtk3, p11-kit, farstream, libtool, shared-mime-info -, wrapGAppsHook, itstool, libxml2, libxslt, icu, libgee +, wrapGAppsHook, itstool, libxml2, libxslt, icu, libgee, gsettings-desktop-schemas , isocodes, enchant, libchamplain, geoclue2, geocode-glib, cheese, libgudev }: stdenv.mkDerivation rec { - name = "empathy-${version}"; + pname = "empathy"; version = "3.25.90"; src = fetchurl { - url = "mirror://gnome/sources/empathy/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + url = "mirror://gnome/sources/empathy/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "0sn10fcymc6lyrabk7vx8lpvlaxxkqnmcwj9zdkfa8qf3388k4nc"; }; @@ -32,10 +32,10 @@ stdenv.mkDerivation rec { gtk3 glib webkitgtk icu gnome-online-accounts telepathy-glib clutter-gtk clutter-gst cogl gst_all_1.gstreamer gst_all_1.gst-plugins-base - gcr libsecret libpulseaudio gdk_pixbuf + gcr libsecret libpulseaudio gdk-pixbuf libnotify clutter libsoup gnutls libgee p11-kit libcanberra-gtk3 telepathy-farstream farstream - gnome3.defaultIconTheme gnome3.gsettings-desktop-schemas + gnome3.adwaita-icon-theme gsettings-desktop-schemas librsvg # Spell-checking enchant isocodes diff --git a/pkgs/desktops/gnome-3/core/eog/default.nix b/pkgs/desktops/gnome-3/core/eog/default.nix index 5b6281869cc..8bb727a6fc5 100644 --- a/pkgs/desktops/gnome-3/core/eog/default.nix +++ b/pkgs/desktops/gnome-3/core/eog/default.nix @@ -1,22 +1,22 @@ { fetchurl, stdenv, meson, ninja, gettext, itstool, pkgconfig, libxml2, libjpeg, libpeas, gnome3 -, gtk3, glib, gsettings-desktop-schemas, adwaita-icon-theme, gnome-desktop, lcms2, gdk_pixbuf, exempi +, gtk3, glib, gsettings-desktop-schemas, adwaita-icon-theme, gnome-desktop, lcms2, gdk-pixbuf, exempi , shared-mime-info, wrapGAppsHook, librsvg, libexif, gobject-introspection, python3 }: let pname = "eog"; - version = "3.28.4"; + version = "3.32.2"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1wrq3l3z0x6q0hnc1vqr2hnyb1b14qw6aqvc5dldfgbs0yys6p55"; + sha256 = "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy"; }; nativeBuildInputs = [ meson ninja pkgconfig gettext itstool wrapGAppsHook libxml2 gobject-introspection python3 ]; buildInputs = [ - libjpeg gtk3 gdk_pixbuf glib libpeas librsvg lcms2 gnome-desktop libexif exempi + libjpeg gtk3 gdk-pixbuf glib libpeas librsvg lcms2 gnome-desktop libexif exempi gsettings-desktop-schemas shared-mime-info adwaita-icon-theme ]; @@ -28,7 +28,7 @@ in stdenv.mkDerivation rec { preFixup = '' gappsWrapperArgs+=( # Thumbnailers - --prefix XDG_DATA_DIRS : "${gdk_pixbuf}/share" + --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" --prefix XDG_DATA_DIRS : "${librsvg}/share" --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" ) diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix index c8ca0016d57..85f31bfdce5 100644 --- a/pkgs/desktops/gnome-3/core/epiphany/default.nix +++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix @@ -1,29 +1,29 @@ -{ stdenv, meson, ninja, gettext, fetchurl, pkgconfig, gtk, glib, icu +{ stdenv, meson, ninja, gettext, fetchurl, pkgconfig, gtk3, glib, icu , wrapGAppsHook, gnome3, libxml2, libxslt, itstool , webkitgtk, libsoup, glib-networking, libsecret, gnome-desktop, libnotify, p11-kit , sqlite, gcr, isocodes, desktop-file-utils, python3 -, gdk_pixbuf, gst_all_1, json-glib, libdazzle }: +, gdk-pixbuf, gst_all_1, json-glib, libdazzle, libhandy }: stdenv.mkDerivation rec { - name = "epiphany-${version}"; - version = "3.30.3"; + pname = "epiphany"; + version = "3.32.4"; src = fetchurl { - url = "mirror://gnome/sources/epiphany/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "05qdzx18ld1m3xiajpz6y6snfj56bgyjsgm7f4rqrnpjdbdvikbn"; + url = "mirror://gnome/sources/epiphany/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "15d9s295yr6m9pbwh344c4akm7rgn19y4g1xkyn7gbq1hdbjia69"; }; # Tests need an X display - mesonFlags = [ "-Dunit_tests=false" ]; + mesonFlags = [ "-Dunit_tests=disabled" ]; nativeBuildInputs = [ meson ninja libxslt pkgconfig itstool gettext wrapGAppsHook desktop-file-utils python3 ]; buildInputs = [ - gtk glib webkitgtk libsoup libxml2 libsecret gnome-desktop libnotify - sqlite isocodes p11-kit icu - gdk_pixbuf gnome3.defaultIconTheme gcr + gtk3 glib webkitgtk libsoup libxml2 libsecret gnome-desktop libnotify + sqlite isocodes p11-kit icu libhandy + gdk-pixbuf gnome3.adwaita-icon-theme gcr glib-networking 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 json-glib libdazzle diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix index 94d39964bc4..9313ca8990c 100644 --- a/pkgs/desktops/gnome-3/core/evince/default.nix +++ b/pkgs/desktops/gnome-3/core/evince/default.nix @@ -1,54 +1,125 @@ -{ fetchurl, stdenv, pkgconfig, intltool, libxml2 -, glib, gtk3, pango, atk, gdk_pixbuf, shared-mime-info, itstool, gnome3 -, poppler, ghostscriptX, djvulibre, libspectre, libarchive, libsecret, wrapGAppsHook -, librsvg, gobject-introspection, yelp-tools, gspell -, recentListSize ? null # 5 is not enough, allow passing a different number -, supportXPS ? false # Open XML Paper Specification via libgxps -, autoreconfHook, pruneLibtoolFiles +{ fetchFromGitLab +, stdenv +, fetchpatch +, meson +, ninja +, pkgconfig +, gettext +, libxml2 +, appstream +, glib +, gtk3 +, pango +, atk +, gdk-pixbuf +, shared-mime-info +, itstool +, gnome3 +, poppler +, ghostscriptX +, djvulibre +, libspectre +, libarchive +, libsecret +, wrapGAppsHook +, librsvg +, gobject-introspection +, yelp-tools +, gspell +, adwaita-icon-theme +, gsettings-desktop-schemas +, gnome-desktop +, dbus +, python3 +, texlive +, t1lib +, gst_all_1 +, supportMultimedia ? true # PDF multimedia +, libgxps +, supportXPS ? true # Open XML Paper Specification via libgxps }: stdenv.mkDerivation rec { - name = "evince-${version}"; - version = "3.30.2"; + pname = "evince"; + version = "3.32.0"; - src = fetchurl { - url = "mirror://gnome/sources/evince/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0k7jln6dpg4bpv61niicjzkzyq6fhb3yfld7pc8ck71c8pmvsnx9"; + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = pname; + rev = version; + sha256 = "1klq8j70q8r8hyqv1wi6jcx8g76yh46bh8614y82zzggn4cx6y3r"; }; - passthru = { - updateScript = gnome3.updateScript { packageName = "evince"; }; - }; + + patches = [ + (fetchpatch { + name = "CVE-2019-11459.patch"; + url = "https://gitlab.gnome.org/GNOME/evince/commit/3e38d5ad724a042eebadcba8c2d57b0f48b7a8c7.patch"; + sha256 = "1ds6iwr2r9i86nwrly8cx7p1kbvf1gljjplcffa67znxqmwx4n74"; + }) + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; nativeBuildInputs = [ - pkgconfig gobject-introspection intltool itstool wrapGAppsHook yelp-tools autoreconfHook pruneLibtoolFiles + meson + ninja + pkgconfig + gobject-introspection + gettext + itstool + yelp-tools + appstream + wrapGAppsHook + python3 ]; buildInputs = [ - glib gtk3 pango atk gdk_pixbuf libxml2 - gnome3.gsettings-desktop-schemas - poppler ghostscriptX djvulibre libspectre libarchive - libsecret librsvg gnome3.adwaita-icon-theme gspell - ] ++ stdenv.lib.optional supportXPS gnome3.libgxps; + glib + gtk3 + pango + atk + gdk-pixbuf + libxml2 + gsettings-desktop-schemas + poppler + ghostscriptX + djvulibre + libspectre + libarchive + libsecret + librsvg + adwaita-icon-theme + gspell + gnome-desktop + dbus # only needed to find the service directory + texlive.bin.core # kpathsea for DVI support + t1lib + ] ++ stdenv.lib.optional supportXPS libgxps + ++ stdenv.lib.optionals supportMultimedia (with gst_all_1; [ + gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ]); - configureFlags = [ - "--disable-nautilus" # Do not build nautilus plugin - "--enable-introspection" - (if supportXPS then "--enable-xps" else "--disable-xps") + mesonFlags = [ + "-Dnautilus=false" + "-Dps=enabled" + "-Dgtk_doc=false" ]; - NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0"; - - preConfigure = stdenv.lib.optionalString (recentListSize != null) '' - sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' shell/ev-open-recent-action.c - sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c - ''; + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; preFixup = '' gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share") ''; - enableParallelBuilding = true; + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Apps/Evince; diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix index a27bc2cc9ae..dda45a71fe2 100644 --- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix +++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix @@ -1,17 +1,18 @@ { fetchurl, stdenv, substituteAll, pkgconfig, gnome3, python3, gobject-introspection , intltool, libsoup, libxml2, libsecret, icu, sqlite, tzdata, libcanberra-gtk3, gcr , p11-kit, db, nspr, nss, libical, gperf, wrapGAppsHook, glib-networking, pcre -, vala, cmake, ninja, kerberos, openldap, webkitgtk, libaccounts-glib, json-glib }: +, vala, cmake, ninja, kerberos, openldap, webkitgtk, libaccounts-glib, json-glib +, glib, gtk3, gnome-online-accounts, libgweather, libgdata, gsettings-desktop-schemas }: stdenv.mkDerivation rec { - name = "evolution-data-server-${version}"; - version = "3.30.5"; + pname = "evolution-data-server"; + version = "3.32.4"; outputs = [ "out" "dev" ]; src = fetchurl { - url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1s952wyhgcbmq9nfgk75v15zdy1h3wy5p5rmkqibaavmc0pk3mli"; + url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3"; }; patches = [ @@ -19,20 +20,25 @@ stdenv.mkDerivation rec { src = ./fix-paths.patch; inherit tzdata; }) - ./hardcode-gsettings.patch ]; + prePatch = '' + substitute ${./hardcode-gsettings.patch} hardcode-gsettings.patch --subst-var-by ESD_GSETTINGS_PATH $out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas \ + --subst-var-by GDS_GSETTINGS_PATH "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}/glib-2.0/schemas" + patches="$patches $PWD/hardcode-gsettings.patch" + ''; + nativeBuildInputs = [ cmake ninja pkgconfig intltool python3 gperf wrapGAppsHook gobject-introspection vala ]; - buildInputs = with gnome3; [ - glib libsoup libxml2 gtk gnome-online-accounts + buildInputs = [ + glib libsoup libxml2 gtk3 gnome-online-accounts gcr p11-kit libgweather libgdata libaccounts-glib json-glib icu sqlite kerberos openldap webkitgtk glib-networking libcanberra-gtk3 pcre ]; - propagatedBuildInputs = [ libsecret nss nspr libical db ]; + propagatedBuildInputs = [ libsecret nss nspr libical db libsoup ]; cmakeFlags = [ "-DENABLE_UOA=OFF" @@ -42,11 +48,6 @@ stdenv.mkDerivation rec { "-DINCLUDE_INSTALL_DIR=${placeholder "dev"}/include" ]; - postPatch = '' - substituteInPlace src/libedataserver/e-source-registry.c --subst-var-by ESD_GSETTINGS_PATH $out/share/gsettings-schemas/${name}/glib-2.0/schemas - ''; - - passthru = { updateScript = gnome3.updateScript { packageName = "evolution-data-server"; diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch b/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch index 8b64b3df801..c499bac4552 100644 --- a/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch +++ b/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch @@ -1,36 +1,526 @@ -diff --git a/src/libedataserver/e-source-registry.c b/src/libedataserver/e-source-registry.c -index 9c166dbaf..ef368f8d4 100644 ---- a/src/libedataserver/e-source-registry.c -+++ b/src/libedataserver/e-source-registry.c -@@ -116,6 +116,8 @@ struct _ESourceRegistryPrivate { - GHashTable *sources; - GMutex sources_lock; +diff --git a/src/addressbook/libebook/e-book-client.c b/src/addressbook/libebook/e-book-client.c +index 2c0557c3c..5955aa55e 100644 +--- a/src/addressbook/libebook/e-book-client.c ++++ b/src/addressbook/libebook/e-book-client.c +@@ -1989,7 +1989,20 @@ e_book_client_get_self (ESourceRegistry *registry, -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; - GSettings *settings; + *out_client = book_client; - gboolean initialized; -@@ -1339,7 +1341,11 @@ source_registry_dispose (GObject *object) - if (priv->settings != NULL) { - g_signal_handlers_disconnect_by_data (priv->settings, object); - g_object_unref (priv->settings); -+ g_settings_schema_unref (priv->schema); -+ g_settings_schema_source_unref (priv->schema_source); - priv->settings = NULL; -+ priv->schema = NULL; -+ priv->schema_source = NULL; +- settings = g_settings_new (SELF_UID_PATH_ID); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ SELF_UID_PATH_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + uid = g_settings_get_string (settings, SELF_UID_KEY); + g_object_unref (settings); + +@@ -2057,7 +2070,20 @@ e_book_client_set_self (EBookClient *client, + g_return_val_if_fail ( + e_contact_get_const (contact, E_CONTACT_UID) != NULL, FALSE); + +- settings = g_settings_new (SELF_UID_PATH_ID); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ SELF_UID_PATH_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + g_settings_set_string ( + settings, SELF_UID_KEY, + e_contact_get_const (contact, E_CONTACT_UID)); +@@ -2093,8 +2119,20 @@ e_book_client_is_self (EContact *contact) + * unfortunately the API doesn't allow that. + */ + g_mutex_lock (&mutex); +- if (!settings) +- settings = g_settings_new (SELF_UID_PATH_ID); ++ if (!settings) { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ SELF_UID_PATH_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + uid = g_settings_get_string (settings, SELF_UID_KEY); + g_mutex_unlock (&mutex); + +diff --git a/src/addressbook/libebook/e-book.c b/src/addressbook/libebook/e-book.c +index 3396b57c0..ac6420b2e 100644 +--- a/src/addressbook/libebook/e-book.c ++++ b/src/addressbook/libebook/e-book.c +@@ -2594,7 +2594,20 @@ e_book_get_self (ESourceRegistry *registry, + return FALSE; } - /* Chain up to parent's finalize() method. */ -@@ -1743,7 +1749,9 @@ e_source_registry_init (ESourceRegistry *registry) +- settings = g_settings_new (SELF_UID_PATH_ID); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ SELF_UID_PATH_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + uid = g_settings_get_string (settings, SELF_UID_KEY); + g_object_unref (settings); + +@@ -2649,7 +2662,20 @@ e_book_set_self (EBook *book, + g_return_val_if_fail (E_IS_BOOK (book), FALSE); + g_return_val_if_fail (E_IS_CONTACT (contact), FALSE); + +- settings = g_settings_new (SELF_UID_PATH_ID); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ SELF_UID_PATH_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + g_settings_set_string ( + settings, SELF_UID_KEY, + e_contact_get_const (contact, E_CONTACT_UID)); +@@ -2677,7 +2703,20 @@ e_book_is_self (EContact *contact) + + g_return_val_if_fail (E_IS_CONTACT (contact), FALSE); + +- settings = g_settings_new (SELF_UID_PATH_ID); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ SELF_UID_PATH_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + uid = g_settings_get_string (settings, SELF_UID_KEY); + g_object_unref (settings); + +diff --git a/src/calendar/backends/contacts/e-cal-backend-contacts.c b/src/calendar/backends/contacts/e-cal-backend-contacts.c +index de1716941..e83b104f1 100644 +--- a/src/calendar/backends/contacts/e-cal-backend-contacts.c ++++ b/src/calendar/backends/contacts/e-cal-backend-contacts.c +@@ -1397,7 +1397,20 @@ e_cal_backend_contacts_init (ECalBackendContacts *cbc) + (GDestroyNotify) g_free, + (GDestroyNotify) contact_record_free); + +- cbc->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server.calendar", ++ FALSE); ++ cbc->priv->settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + cbc->priv->notifyid = 0; + cbc->priv->update_alarms_id = 0; + cbc->priv->alarm_enabled = FALSE; +diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c +index b08a7f301..a49fe39c5 100644 +--- a/src/calendar/libecal/e-reminder-watcher.c ++++ b/src/calendar/libecal/e-reminder-watcher.c +@@ -2202,7 +2202,21 @@ e_reminder_watcher_init (EReminderWatcher *watcher) + + watcher->priv = G_TYPE_INSTANCE_GET_PRIVATE (watcher, E_TYPE_REMINDER_WATCHER, EReminderWatcherPrivate); + watcher->priv->cancellable = g_cancellable_new (); +- watcher->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server.calendar", ++ FALSE); ++ watcher->priv->settings = g_settings_new_full(schema, NULL, ++ NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + watcher->priv->scheduled = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, e_reminder_watcher_free_rd_slist); + watcher->priv->default_zone = icaltimezone_copy (zone); + watcher->priv->timers_enabled = TRUE; +diff --git a/src/camel/camel-cipher-context.c b/src/camel/camel-cipher-context.c +index dcdc3eed0..fd2e428c2 100644 +--- a/src/camel/camel-cipher-context.c ++++ b/src/camel/camel-cipher-context.c +@@ -1635,7 +1635,20 @@ camel_cipher_can_load_photos (void) + GSettings *settings; + gboolean load_photos; + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + load_photos = g_settings_get_boolean (settings, "camel-cipher-load-photos"); + g_clear_object (&settings); + +diff --git a/src/camel/camel-gpg-context.c b/src/camel/camel-gpg-context.c +index 1b3362886..f0811b292 100644 +--- a/src/camel/camel-gpg-context.c ++++ b/src/camel/camel-gpg-context.c +@@ -573,7 +573,20 @@ gpg_ctx_get_executable_name (void) + GSettings *settings; + gchar *path; + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + path = g_settings_get_string (settings, "camel-gpg-binary"); + g_clear_object (&settings); + +diff --git a/src/libedataserver/e-network-monitor.c b/src/libedataserver/e-network-monitor.c +index e0d8b87d6..3a4d5a359 100644 +--- a/src/libedataserver/e-network-monitor.c ++++ b/src/libedataserver/e-network-monitor.c +@@ -255,7 +255,20 @@ e_network_monitor_constructed (GObject *object) + /* Chain up to parent's method. */ + G_OBJECT_CLASS (e_network_monitor_parent_class)->constructed (object); + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + g_settings_bind ( + settings, "network-monitor-gio-name", + object, "gio-name", +diff --git a/src/libedataserver/e-oauth2-service-google.c b/src/libedataserver/e-oauth2-service-google.c +index f0c6f2cbf..0053e3ce6 100644 +--- a/src/libedataserver/e-oauth2-service-google.c ++++ b/src/libedataserver/e-oauth2-service-google.c +@@ -69,7 +69,20 @@ eos_google_read_settings (EOAuth2Service *service, + if (!value) { + GSettings *settings; + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + value = g_settings_get_string (settings, key_name); + g_object_unref (settings); + +diff --git a/src/libedataserver/e-oauth2-service-outlook.c b/src/libedataserver/e-oauth2-service-outlook.c +index 687c10d3b..684583c35 100644 +--- a/src/libedataserver/e-oauth2-service-outlook.c ++++ b/src/libedataserver/e-oauth2-service-outlook.c +@@ -70,7 +70,20 @@ eos_outlook_read_settings (EOAuth2Service *service, + if (!value) { + GSettings *settings; + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + value = g_settings_get_string (settings, key_name); + g_object_unref (settings); + +diff --git a/src/libedataserver/e-oauth2-service.c b/src/libedataserver/e-oauth2-service.c +index 682673c16..436f52d5f 100644 +--- a/src/libedataserver/e-oauth2-service.c ++++ b/src/libedataserver/e-oauth2-service.c +@@ -95,7 +95,20 @@ eos_default_guess_can_process (EOAuth2Service *service, + name_len = strlen (name); + hostname_len = strlen (hostname); + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + values = g_settings_get_strv (settings, "oauth2-services-hint"); + g_object_unref (settings); + +diff --git a/src/libedataserver/e-proxy.c b/src/libedataserver/e-proxy.c +index 883379a60..989353494 100644 +--- a/src/libedataserver/e-proxy.c ++++ b/src/libedataserver/e-proxy.c +@@ -969,8 +969,37 @@ e_proxy_init (EProxy *proxy) + + proxy->priv->type = PROXY_TYPE_SYSTEM; + +- proxy->priv->evolution_proxy_settings = g_settings_new ("org.gnome.evolution.shell.network-config"); +- proxy->priv->proxy_settings = g_settings_new ("org.gnome.system.proxy"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution.shell.network-config", ++ FALSE); ++ proxy->priv->evolution_proxy_settings = g_settings_new_full(schema, ++ NULL, ++ NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@GDS_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.system.proxy", ++ FALSE); ++ proxy->priv->proxy_settings = g_settings_new_full(schema, ++ NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + proxy->priv->proxy_http_settings = g_settings_get_child (proxy->priv->proxy_settings, "http"); + proxy->priv->proxy_https_settings = g_settings_get_child (proxy->priv->proxy_settings, "https"); + proxy->priv->proxy_socks_settings = g_settings_get_child (proxy->priv->proxy_settings, "socks"); +diff --git a/src/libedataserver/e-source-registry.c b/src/libedataserver/e-source-registry.c +index a5a30a3e1..5fbdf8190 100644 +--- a/src/libedataserver/e-source-registry.c ++++ b/src/libedataserver/e-source-registry.c +@@ -1749,7 +1749,21 @@ e_source_registry_init (ESourceRegistry *registry) g_mutex_init (®istry->priv->sources_lock); - registry->priv->settings = g_settings_new (GSETTINGS_SCHEMA); -+ GSettingsSchemaSource *schema_source = registry->priv->schema_source = g_settings_schema_source_new_from_directory ("@ESD_GSETTINGS_PATH@", g_settings_schema_source_get_default (), TRUE, NULL); -+ registry->priv->schema = g_settings_schema_source_lookup (schema_source, GSETTINGS_SCHEMA, FALSE); -+ registry->priv->settings = g_settings_new_full (registry->priv->schema, NULL, NULL); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ GSETTINGS_SCHEMA, ++ FALSE); ++ registry->priv->settings = g_settings_new_full(schema, NULL, ++ NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } g_signal_connect ( registry->priv->settings, "changed", +diff --git a/src/libedataserverui/e-reminders-widget.c b/src/libedataserverui/e-reminders-widget.c +index f89cd4a5c..06cca9b5f 100644 +--- a/src/libedataserverui/e-reminders-widget.c ++++ b/src/libedataserverui/e-reminders-widget.c +@@ -1642,7 +1642,21 @@ static void + e_reminders_widget_init (ERemindersWidget *reminders) + { + reminders->priv = G_TYPE_INSTANCE_GET_PRIVATE (reminders, E_TYPE_REMINDERS_WIDGET, ERemindersWidgetPrivate); +- reminders->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server.calendar", ++ FALSE); ++ reminders->priv->settings = g_settings_new_full(schema, NULL, ++ NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + reminders->priv->cancellable = g_cancellable_new (); + reminders->priv->is_empty = TRUE; + reminders->priv->is_mapped = FALSE; +diff --git a/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c b/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c +index 6f03053d6..dffc186c7 100644 +--- a/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c ++++ b/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c +@@ -706,7 +706,20 @@ evolution_source_registry_merge_autoconfig_sources (ESourceRegistryServer *serve + gchar *autoconfig_directory; + gint ii; + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + + autoconfig_sources = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, e_autoconfig_free_merge_source_data); + +diff --git a/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c b/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c +index d531cb9e2..c5b1c761c 100644 +--- a/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c ++++ b/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c +@@ -61,7 +61,20 @@ evolution_source_registry_migrate_proxies (ESourceRegistryServer *server) + extension_name = E_SOURCE_EXTENSION_PROXY; + extension = e_source_get_extension (source, extension_name); + +- settings = g_settings_new (NETWORK_CONFIG_SCHEMA_ID); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ NETWORK_CONFIG_SCHEMA_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + + switch (g_settings_get_int (settings, "proxy-type")) { + case 1: +diff --git a/src/services/evolution-source-registry/evolution-source-registry.c b/src/services/evolution-source-registry/evolution-source-registry.c +index 1c0a11382..3e144845e 100644 +--- a/src/services/evolution-source-registry/evolution-source-registry.c ++++ b/src/services/evolution-source-registry/evolution-source-registry.c +@@ -181,7 +181,20 @@ main (gint argc, + + reload: + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + + if (!opt_disable_migration && !g_settings_get_boolean (settings, "migrated")) { + g_settings_set_boolean (settings, "migrated", TRUE); diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix index 135200ee3c4..a4d2fd2be5a 100644 --- a/pkgs/desktops/gnome-3/core/gdm/default.nix +++ b/pkgs/desktops/gnome-3/core/gdm/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchurl, substituteAll, pkgconfig, glib, itstool, libxml2, xorg , accountsservice, libX11, gnome3, systemd, autoreconfHook -, gtk, libcanberra-gtk3, pam, libtool, gobject-introspection, plymouth -, librsvg, coreutils, xwayland, fetchpatch }: +, gtk3, libcanberra-gtk3, pam, libtool, gobject-introspection, plymouth +, librsvg, coreutils, xwayland }: stdenv.mkDerivation rec { - name = "gdm-${version}"; - version = "3.30.2"; + pname = "gdm"; + version = "3.32.0"; src = fetchurl { - url = "mirror://gnome/sources/gdm/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1handy65r1n0zby09jr492b3643wszzigdkxp7q2ypgxb3hyv45y"; + url = "mirror://gnome/sources/gdm/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"; }; # Only needed to make it build @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig libxml2 itstool autoreconfHook libtool gnome3.dconf ]; buildInputs = [ glib accountsservice systemd - gobject-introspection libX11 gtk + gobject-introspection libX11 gtk3 libcanberra-gtk3 pam plymouth librsvg ]; diff --git a/pkgs/desktops/gnome-3/core/gjs/default.nix b/pkgs/desktops/gnome-3/core/gjs/default.nix index ac3a25b7dc7..303377b8631 100644 --- a/pkgs/desktops/gnome-3/core/gjs/default.nix +++ b/pkgs/desktops/gnome-3/core/gjs/default.nix @@ -1,14 +1,14 @@ { fetchurl, stdenv, pkgconfig, gnome3, gtk3, atk, gobject-introspection -, spidermonkey_60, pango, readline, glib, libxml2, dbus, gdk_pixbuf +, spidermonkey_60, pango, readline, glib, libxml2, dbus, gdk-pixbuf , makeWrapper }: stdenv.mkDerivation rec { - name = "gjs-${version}"; - version = "1.54.3"; + pname = "gjs"; + version = "1.56.2"; src = fetchurl { - url = "mirror://gnome/sources/gjs/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1cd65d4nq5xxlyjz1b83hm5zklyry6lillzf782nr0z97k60vcvn"; + url = "mirror://gnome/sources/gjs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac"; }; passthru = { @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { moveToOutput "libexec/gjs/installed-tests" "$installedTests" wrapProgram "$installedTests/libexec/gjs/installed-tests/minijasmine" \ - --prefix GI_TYPELIB_PATH : "${stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gtk3 atk pango.out gdk_pixbuf ]}:$installedTests/libexec/gjs/installed-tests" + --prefix GI_TYPELIB_PATH : "${stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gtk3 atk pango.out gdk-pixbuf ]}:$installedTests/libexec/gjs/installed-tests" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix index a938a59f7a0..e4c772cb1d4 100644 --- a/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, meson, ninja, pkgconfig, gnome3, gettext }: stdenv.mkDerivation rec { - name = "gnome-backgrounds-${version}"; - version = "3.30.0"; + pname = "gnome-backgrounds"; + version = "3.32.0"; src = fetchurl { - url = "mirror://gnome/sources/gnome-backgrounds/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1179jrl16bp9gqabqhw7nnfp8qzf5y1vf9fi45bni6rfmwm3mrpc"; + url = "mirror://gnome/sources/gnome-backgrounds/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz"; }; passthru = { diff --git a/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix b/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix index b065025327f..817c8324c6b 100644 --- a/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix @@ -1,19 +1,19 @@ { stdenv, fetchurl, gnome3, meson, ninja, pkgconfig, gtk3, intltool, glib , udev, itstool, libxml2, wrapGAppsHook, libnotify, libcanberra-gtk3, gobject-introspection -, gtk-doc, docbook_xsl, docbook_xml_dtd_43, python3 }: +, gtk-doc, docbook_xsl, docbook_xml_dtd_43, python3, gsettings-desktop-schemas }: let pname = "gnome-bluetooth"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; - version = "3.28.2"; + version = "3.32.1"; # TODO: split out "lib" outputs = [ "out" "dev" "devdoc" "man" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0ch7lll5n8v7m26y6y485gnrik19ml42rsh1drgcxydm6fn62j8z"; + sha256 = "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4"; }; nativeBuildInputs = [ @@ -22,7 +22,7 @@ in stdenv.mkDerivation rec { ]; buildInputs = [ glib gtk3 udev libnotify libcanberra-gtk3 - gnome3.defaultIconTheme gnome3.gsettings-desktop-schemas + gnome3.adwaita-icon-theme gsettings-desktop-schemas ]; mesonFlags = [ diff --git a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix index 4a37599b136..df43371a497 100644 --- a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix @@ -1,14 +1,14 @@ { stdenv, meson, ninja, vala, gettext, itstool, fetchurl, pkgconfig, libxml2 -, gtk3, glib, gtksourceview3, wrapGAppsHook, gobject-introspection, python3 -, gnome3, mpfr, gmp, libsoup, libmpc }: +, gtk3, glib, gtksourceview4, wrapGAppsHook, gobject-introspection, python3 +, gnome3, mpfr, gmp, libsoup, libmpc, gsettings-desktop-schemas }: stdenv.mkDerivation rec { - name = "gnome-calculator-${version}"; - version = "3.30.1"; + pname = "gnome-calculator"; + version = "3.32.2"; src = fetchurl { - url = "mirror://gnome/sources/gnome-calculator/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0qkzcmj51cjmljxl1nc84h6jgq1a51xj4g6jwh3ymgm19m3sqypc"; + url = "mirror://gnome/sources/gnome-calculator/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41"; }; nativeBuildInputs = [ @@ -17,9 +17,9 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gtk3 glib libxml2 gtksourceview3 mpfr gmp - gnome3.defaultIconTheme - gnome3.gsettings-desktop-schemas libsoup libmpc + gtk3 glib libxml2 gtksourceview4 mpfr gmp + gnome3.adwaita-icon-theme + gsettings-desktop-schemas libsoup libmpc ]; doCheck = true; diff --git a/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix b/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix index 782a77499f9..bcc8871bcf1 100644 --- a/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix @@ -1,17 +1,22 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, desktop-file-utils, gnome3, glib, gtk3, libexif, libtiff, colord, colord-gtk, libcanberra-gtk3, lcms2, vte, exiv2 }: +{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, desktop-file-utils, gnome3, glib, gtk3, libexif, libtiff, colord, colord-gtk, libcanberra-gtk3, lcms2, vte, exiv2, hicolor-icon-theme }: let pname = "gnome-color-manager"; - version = "3.30.0"; + version = "3.32.0"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "105bqqq3yvdn5lx94mkl0d450f0l8lmwfjjcwyls1pycmj0vifwh"; + sha256 = "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"; }; - nativeBuildInputs = [ meson ninja pkgconfig gettext itstool desktop-file-utils ]; + nativeBuildInputs = [ + meson ninja pkgconfig gettext itstool desktop-file-utils + # setup-hook + hicolor-icon-theme + ]; + buildInputs = [ glib gtk3 libexif libtiff colord colord-gtk libcanberra-gtk3 lcms2 vte exiv2 ]; passthru = { diff --git a/pkgs/desktops/gnome-3/core/gnome-common/default.nix b/pkgs/desktops/gnome-3/core/gnome-common/default.nix index d0ab339a504..f2eb65e50bb 100644 --- a/pkgs/desktops/gnome-3/core/gnome-common/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-common/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, which, gnome3, autoconf, automake }: stdenv.mkDerivation rec { - name = "gnome-common-${version}"; + pname = "gnome-common"; version = "3.18.0"; src = fetchurl { - url = "mirror://gnome/sources/gnome-common/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + url = "mirror://gnome/sources/gnome-common/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf"; }; diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix index a7347f74ca4..75a15a41f97 100644 --- a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix @@ -1,17 +1,18 @@ -{ stdenv, gettext, fetchurl, evolution-data-server +{ stdenv, gettext, fetchurl, evolution-data-server, fetchpatch , pkgconfig, libxslt, docbook_xsl, docbook_xml_dtd_42, python3, gtk3, glib, cheese , libchamplain, clutter-gtk, geocode-glib, gnome-desktop, gnome-online-accounts , wrapGAppsHook, folks, libxml2, gnome3, telepathy-glib -, vala, meson, ninja }: +, vala, meson, ninja, libhandy, gsettings-desktop-schemas }: let - version = "3.30.2"; + version = "3.32.1"; in stdenv.mkDerivation rec { - name = "gnome-contacts-${version}"; + pname = "gnome-contacts"; + inherit version; src = fetchurl { - url = "mirror://gnome/sources/gnome-contacts/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1b0pkdwz9yqcv82zzdf76rs2w3wa5zli8pka09wnahikx1ykk43h"; + url = "mirror://gnome/sources/gnome-contacts/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy"; }; propagatedUserEnvPkgs = [ evolution-data-server ]; @@ -21,15 +22,31 @@ in stdenv.mkDerivation rec { ]; buildInputs = [ - gtk3 glib evolution-data-server gnome3.gsettings-desktop-schemas - folks gnome-desktop telepathy-glib + gtk3 glib evolution-data-server gsettings-desktop-schemas + folks gnome-desktop telepathy-glib libhandy libxml2 gnome-online-accounts cheese - gnome3.defaultIconTheme libchamplain clutter-gtk geocode-glib + gnome3.adwaita-icon-theme libchamplain clutter-gtk geocode-glib + ]; + + mesonFlags = [ + "-Dtelepathy=true" + ]; + + patches = [ + # Fixes build with libhandy >= 0.0.10 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-contacts/commit/c5eee38cd2556403a640a0a4c11d36cbf9a5a798.patch"; + sha256 = "0s2cl7z6b0x3ky4y28yyxc9x5zp4r3vqmvbhz5m2fm6830fyjg13"; + }) + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-contacts/commit/1f1500ca01098ffda6392f5ec9ce3a29a48a84b1.patch"; + sha256 = "082zaaj2l5cgr2qy145x8yknja87r0vpigrhidal40041kd5nldg"; + }) ]; 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 ''; # In file included from src/gnome-contacts@exe/contacts-avatar-selector.c:30:0: diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix index 58afc0ab85d..04730f2370f 100644 --- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix @@ -1,43 +1,146 @@ -{ fetchurl, stdenv, substituteAll, meson, ninja, pkgconfig, gnome3, ibus, gettext, upower, wrapGAppsHook -, libcanberra-gtk3, accountsservice, libpwquality, libpulseaudio -, gdk_pixbuf, librsvg, libnotify, libgudev, libsecret, gnome-color-manager -, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk -, cracklib, libkrb5, networkmanagerapplet, networkmanager, glibc -, libwacom, samba, shared-mime-info, tzdata, libtool, libgnomekbd -, docbook_xsl, modemmanager, clutter, clutter-gtk, cheese, gnome-session -, fontconfig, sound-theme-freedesktop, grilo, python3 }: +{ fetchurl +, stdenv +, substituteAll +, accountsservice +, adwaita-icon-theme +, cheese +, clutter +, clutter-gtk +, colord +, colord-gtk +, cups +, docbook_xsl +, fontconfig +, gdk-pixbuf +, gettext +, glib +, glib-networking +, glibc +, gnome-bluetooth +, gnome-color-manager +, gnome-desktop +, gnome-online-accounts +, gnome-session +, gnome-settings-daemon +, gnome3 +, grilo +, grilo-plugins +, gsettings-desktop-schemas +, gsound +, gtk3 +, ibus +, libcanberra-gtk3 +, libgnomekbd +, libgtop +, libgudev +, libhandy +, libkrb5 +, libpulseaudio +, libpwquality +, librsvg +, libsecret +, libsoup +, libwacom +, libxml2 +, libxslt +, meson +, modemmanager +, mutter +, networkmanager +, networkmanagerapplet +, ninja +, pkgconfig +, polkit +, python3 +, samba +, shared-mime-info +, sound-theme-freedesktop +, tracker +, tzdata +, udisks2 +, upower +, vino +, gnome-user-share +, gnome-remote-desktop +, wrapGAppsHook +}: -let +stdenv.mkDerivation rec { pname = "gnome-control-center"; - version = "3.30.2"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; + version = "3.32.2"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0rn4r0ng4pd9smpay4rf4dkcl09b2ipr9srryybhd1srmd02ps51"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs"; }; nativeBuildInputs = [ - meson ninja pkgconfig gettext wrapGAppsHook libtool libxslt docbook_xsl - shared-mime-info python3 + docbook_xsl + gettext + libxslt + meson + ninja + pkgconfig + python3 + shared-mime-info + wrapGAppsHook ]; - buildInputs = with gnome3; [ - ibus gtk glib glib-networking upower gsettings-desktop-schemas - libxml2 gnome-desktop gnome-settings-daemon polkit libgtop - gnome-online-accounts libsoup colord libpulseaudio fontconfig colord-gtk - accountsservice libkrb5 networkmanagerapplet libwacom samba libnotify - grilo libpwquality cracklib vino libcanberra-gtk3 libgudev libsecret - gdk_pixbuf defaultIconTheme librsvg clutter clutter-gtk cheese - networkmanager modemmanager gnome-bluetooth tracker + buildInputs = [ + accountsservice + adwaita-icon-theme + cheese + clutter + clutter-gtk + colord + colord-gtk + fontconfig + gdk-pixbuf + glib + glib-networking + gnome-bluetooth + gnome-desktop + gnome-online-accounts + gnome-remote-desktop # optional, sharing panel + gnome-settings-daemon + gnome-user-share # optional, sharing panel + grilo + grilo-plugins # for setting wallpaper from Flickr + gsettings-desktop-schemas + gsound + gtk3 + ibus + libcanberra-gtk3 + libgtop + libgudev + libhandy + libkrb5 + libpulseaudio + libpwquality + librsvg + libsecret + libsoup + libwacom + libxml2 + modemmanager + mutter # schemas for the keybindings + networkmanager + networkmanagerapplet + polkit + samba + tracker + udisks2 + upower + vino ]; patches = [ (substituteAll { src = ./paths.patch; gcm = gnome-color-manager; + gnome_desktop = gnome-desktop; inherit glibc libgnomekbd tzdata; + inherit cups networkmanagerapplet; }) ]; @@ -54,8 +157,10 @@ in stdenv.mkDerivation rec { gappsWrapperArgs+=( --prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share" # Thumbnailers (for setting user profile pictures) - --prefix XDG_DATA_DIRS : "${gdk_pixbuf}/share" + --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" --prefix XDG_DATA_DIRS : "${librsvg}/share" + # WM keyboard shortcuts + --prefix XDG_DATA_DIRS : "${mutter}/share" ) for i in $out/share/applications/*; do substituteInPlace $i --replace "Exec=gnome-control-center" "Exec=$out/bin/gnome-control-center" diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch b/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch index 0c11a7626e4..97d8f0bee68 100644 --- a/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch @@ -1,6 +1,8 @@ +diff --git a/panels/color/cc-color-panel.c b/panels/color/cc-color-panel.c +index 49ca35220..adefb87b9 100644 --- a/panels/color/cc-color-panel.c +++ b/panels/color/cc-color-panel.c -@@ -599,7 +599,7 @@ +@@ -599,7 +599,7 @@ gcm_prefs_calibrate_cb (GtkWidget *widget, CcColorPanel *prefs) /* run with modal set */ argv = g_ptr_array_new_with_free_func (g_free); @@ -9,7 +11,7 @@ g_ptr_array_add (argv, g_strdup ("--device")); g_ptr_array_add (argv, g_strdup (cd_device_get_id (prefs->current_device))); g_ptr_array_add (argv, g_strdup ("--parent-window")); -@@ -1038,7 +1038,7 @@ +@@ -1038,7 +1038,7 @@ gcm_prefs_profile_view (CcColorPanel *prefs, CdProfile *profile) /* open up gcm-viewer as a info pane */ argv = g_ptr_array_new_with_free_func (g_free); @@ -18,7 +20,7 @@ g_ptr_array_add (argv, g_strdup ("--profile")); g_ptr_array_add (argv, g_strdup (cd_profile_get_id (profile))); g_ptr_array_add (argv, g_strdup ("--parent-window")); -@@ -1288,15 +1288,12 @@ +@@ -1288,15 +1288,12 @@ gcm_prefs_device_clicked (CcColorPanel *prefs, CdDevice *device) static void gcm_prefs_profile_clicked (CcColorPanel *prefs, CdProfile *profile, CdDevice *device) { @@ -35,6 +37,8 @@ gtk_widget_set_sensitive (prefs->toolbutton_profile_view, TRUE); else gtk_widget_set_sensitive (prefs->toolbutton_profile_view, FALSE); +diff --git a/panels/datetime/tz.h b/panels/datetime/tz.h +index 96b25140c..1ad704d4a 100644 --- a/panels/datetime/tz.h +++ b/panels/datetime/tz.h @@ -27,11 +27,7 @@ @@ -50,24 +54,109 @@ typedef struct _TzDB TzDB; typedef struct _TzLocation TzLocation; ---- a/panels/region/cc-region-panel.c -+++ b/panels/region/cc-region-panel.c -@@ -1265,10 +1265,10 @@ +diff --git a/panels/info/cc-info-overview-panel.c b/panels/info/cc-info-overview-panel.c +index 4541986db..da7826bfe 100644 +--- a/panels/info/cc-info-overview-panel.c ++++ b/panels/info/cc-info-overview-panel.c +@@ -187,7 +187,7 @@ load_gnome_version (char **version, + gsize length; + g_autoptr(VersionData) data = NULL; + +- if (!g_file_get_contents (DATADIR "/gnome/gnome-version.xml", ++ if (!g_file_get_contents ("@gnome_desktop@/share/gnome/gnome-version.xml", + &contents, + &length, + &error)) +diff --git a/panels/network/connection-editor/net-connection-editor.c b/panels/network/connection-editor/net-connection-editor.c +index 9390a3308..d30b4a68e 100644 +--- a/panels/network/connection-editor/net-connection-editor.c ++++ b/panels/network/connection-editor/net-connection-editor.c +@@ -247,9 +247,9 @@ net_connection_editor_do_fallback (NetConnectionEditor *editor, const gchar *typ + GError *error = NULL; + + if (editor->is_new_connection) { +- cmdline = g_strdup_printf ("nm-connection-editor --type='%s' --create", type); ++ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --type='%s' --create", type); + } else { +- cmdline = g_strdup_printf ("nm-connection-editor --edit='%s'", ++ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit='%s'", + nm_connection_get_uuid (editor->connection)); } - if (variant && variant[0]) +diff --git a/panels/network/net-device-wifi.c b/panels/network/net-device-wifi.c +index 360fbfc72..870157a11 100644 +--- a/panels/network/net-device-wifi.c ++++ b/panels/network/net-device-wifi.c +@@ -1385,7 +1385,7 @@ device_wifi_edit (NetObject *object) + return; + } + uuid = nm_connection_get_uuid (NM_CONNECTION (connection)); +- cmdline = g_strdup_printf ("nm-connection-editor --edit %s", uuid); ++ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit %s", uuid); + g_debug ("Launching '%s'\n", cmdline); + if (!g_spawn_command_line_async (cmdline, &error)) { + g_warning ("Failed to launch nm-connection-editor: %s", error->message); +diff --git a/panels/network/net-device.c b/panels/network/net-device.c +index d73b537b9..e2ee54294 100644 +--- a/panels/network/net-device.c ++++ b/panels/network/net-device.c +@@ -197,7 +197,7 @@ net_device_edit (NetObject *object) + + connection = net_device_get_find_connection (device); + uuid = nm_connection_get_uuid (connection); +- cmdline = g_strdup_printf ("nm-connection-editor --edit %s", uuid); ++ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit %s", uuid); + g_debug ("Launching '%s'\n", cmdline); + if (!g_spawn_command_line_async (cmdline, &error)) { + g_warning ("Failed to launch nm-connection-editor: %s", error->message); +diff --git a/panels/printers/pp-host.c b/panels/printers/pp-host.c +index f53ba217e..d24bcaeb9 100644 +--- a/panels/printers/pp-host.c ++++ b/panels/printers/pp-host.c +@@ -256,7 +256,7 @@ _pp_host_get_snmp_devices_thread (GTask *task, + devices = g_new0 (PpDevicesList, 1); + + argv = g_new0 (gchar *, 3); +- argv[0] = g_strdup ("/usr/lib/cups/backend/snmp"); ++ argv[0] = g_strdup ("@cups@/lib/cups/backend/snmp"); + argv[1] = g_strdup (priv->hostname); + + /* Use SNMP to get printer's informations */ +diff --git a/panels/region/cc-region-panel.c b/panels/region/cc-region-panel.c +index 35859526d..21486c917 100644 +--- a/panels/region/cc-region-panel.c ++++ b/panels/region/cc-region-panel.c +@@ -755,10 +755,10 @@ row_layout_cb (CcRegionPanel *self, + layout_variant = cc_input_source_get_layout_variant (source); + + if (layout_variant && layout_variant[0]) - commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", + commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"", - layout, variant); + layout, layout_variant); else - commandline = g_strdup_printf ("gkbd-keyboard-display -l %s", + commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s", layout); g_spawn_command_line_async (commandline, NULL); +diff --git a/panels/user-accounts/run-passwd.c b/panels/user-accounts/run-passwd.c +index 00239ce0f..617c98870 100644 +--- a/panels/user-accounts/run-passwd.c ++++ b/panels/user-accounts/run-passwd.c +@@ -150,7 +150,7 @@ spawn_passwd (PasswdHandler *passwd_handler, GError **error) + gchar **envp; + gint my_stdin, my_stdout, my_stderr; + +- argv[0] = "/usr/bin/passwd"; /* Is it safe to rely on a hard-coded path? */ ++ argv[0] = "/run/wrappers/bin/passwd"; /* Is it safe to rely on a hard-coded path? */ + argv[1] = NULL; + + envp = g_get_environ (); +diff --git a/tests/datetime/test-endianess.c b/tests/datetime/test-endianess.c +index 9cb92007a..84d2f0fa3 100644 --- a/tests/datetime/test-endianess.c +++ b/tests/datetime/test-endianess.c -@@ -26,7 +26,7 @@ +@@ -26,7 +26,7 @@ test_endianess (void) g_autoptr(GDir) dir = NULL; const char *name; diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch b/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch index 59191bddd9a..57eb4b3d44a 100644 --- a/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch +++ b/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch @@ -1,19 +1,15 @@ --- a/libgnome-desktop/gnome-desktop-thumbnail-script.c +++ b/libgnome-desktop/gnome-desktop-thumbnail-script.c -@@ -504,14 +504,10 @@ +@@ -536,9 +536,9 @@ add_bwrap (GPtrArray *array, g_return_val_if_fail (script->s_infile != NULL, FALSE); add_args (array, - "bwrap", - "--ro-bind", "/usr", "/usr", -- "--ro-bind", "/lib", "/lib", -- "--ro-bind", "/lib64", "/lib64", +- "--ro-bind", "/etc/ld.so.cache", "/etc/ld.so.cache", + "@bubblewrap_bin@", -+ "--ro-bind", "/nix/store", "/nix/store", - "--proc", "/proc", - "--dev", "/dev", -- "--symlink", "usr/bin", "/bin", -- "--symlink", "usr/sbin", "/sbin", - "--chdir", "/", - "--setenv", "GIO_USE_VFS", "local", - "--unshare-all", ++ "--ro-bind", "@storeDir@", "@storeDir@", ++ "--ro-bind", "/run/current-system", "/run/current-system", + NULL); + + /* These directories might be symlinks into /usr/... */ diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix index b98a6a2d676..9d798c2811b 100644 --- a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix @@ -1,40 +1,40 @@ -{ stdenv, fetchurl, substituteAll, pkgconfig, libxslt, which, libX11, gnome3, gtk3, glib -, gettext, libxml2, xkeyboard_config, isocodes, itstool, wayland -, libseccomp, bubblewrap, gobject-introspection, gtk-doc, docbook_xsl }: +{ stdenv, fetchurl, substituteAll, pkgconfig, libxslt, ninja, libX11, gnome3, gtk3, glib +, gettext, libxml2, xkeyboard_config, isocodes, meson, wayland +, libseccomp, systemd, bubblewrap, gobject-introspection, gtk-doc, docbook_xsl, gsettings-desktop-schemas }: stdenv.mkDerivation rec { - name = "gnome-desktop-${version}"; - version = "3.30.2"; + pname = "gnome-desktop"; + version = "3.32.2"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { - url = "mirror://gnome/sources/gnome-desktop/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0k6iccfj9naw42dl2mgljfvk12dmvg06plg86qd81nksrf9ycxal"; + url = "mirror://gnome/sources/gnome-desktop/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9"; }; - enableParallelBuilding = true; - nativeBuildInputs = [ - pkgconfig which itstool gettext libxslt libxml2 gobject-introspection + pkgconfig meson ninja gettext libxslt libxml2 gobject-introspection gtk-doc docbook_xsl ]; buildInputs = [ libX11 bubblewrap xkeyboard_config isocodes wayland - gtk3 glib libseccomp + gtk3 glib libseccomp systemd ]; - propagatedBuildInputs = [ gnome3.gsettings-desktop-schemas ]; + propagatedBuildInputs = [ gsettings-desktop-schemas ]; patches = [ (substituteAll { src = ./bubblewrap-paths.patch; bubblewrap_bin = "${bubblewrap}/bin/bwrap"; + inherit (builtins) storeDir; }) ]; - configureFlags = [ - "--enable-gtk-doc" + mesonFlags = [ + "-Dgtk_doc=true" + "-Ddesktop_docs=false" ]; passthru = { diff --git a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix index 1019a809d7f..98398311882 100644 --- a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, meson, ninja, pkgconfig, desktop-file-utils, appstream-glib, libxslt , libxml2, gettext, itstool, wrapGAppsHook, docbook_xsl, docbook_xml_dtd_43 -, gnome3, gtk, glib }: +, gnome3, gtk3, glib, gsettings-desktop-schemas }: stdenv.mkDerivation rec { - name = "gnome-dictionary-${version}"; + pname = "gnome-dictionary"; version = "3.26.1"; src = fetchurl { - url = "mirror://gnome/sources/gnome-dictionary/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + url = "mirror://gnome/sources/gnome-dictionary/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "16b8bc248dcf68987826d5e39234b1bb7fd24a2607fcdbf4258fde88f012f300"; }; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { meson ninja pkgconfig wrapGAppsHook libxml2 gettext itstool desktop-file-utils appstream-glib libxslt docbook_xsl docbook_xml_dtd_43 ]; - buildInputs = [ gtk glib gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme ]; + buildInputs = [ gtk3 glib gsettings-desktop-schemas gnome3.adwaita-icon-theme ]; passthru = { updateScript = gnome3.updateScript { diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix index 5d224623c3c..d6d9f927252 100644 --- a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix @@ -1,29 +1,26 @@ { stdenv, gettext, fetchurl, pkgconfig, udisks2, libsecret, libdvdread -, meson, ninja, gtk, glib, wrapGAppsHook, python3, libnotify -, itstool, gnome3, libxml2 +, meson, ninja, gtk3, glib, wrapGAppsHook, python3, libnotify +, itstool, gnome3, libxml2, gsettings-desktop-schemas , libcanberra-gtk3, libxslt, docbook_xsl, libpwquality }: stdenv.mkDerivation rec { - name = "gnome-disk-utility-${version}"; - version = "3.30.2"; + pname = "gnome-disk-utility"; + version = "3.32.1"; src = fetchurl { - url = "mirror://gnome/sources/gnome-disk-utility/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1365fabz3q7n3bl775z82m1nzg18birxxyd7l2ssbbkqrx3h7wgi"; - }; - - passthru = { - updateScript = gnome3.updateScript { packageName = "gnome-disk-utility"; attrPath = "gnome3.gnome-disk-utility"; }; + url = "mirror://gnome/sources/gnome-disk-utility/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg"; }; nativeBuildInputs = [ meson ninja pkgconfig gettext itstool libxslt docbook_xsl wrapGAppsHook python3 libxml2 ]; + buildInputs = [ - gtk glib libsecret libpwquality libnotify libdvdread libcanberra-gtk3 - udisks2 gnome3.defaultIconTheme - gnome3.gnome-settings-daemon gnome3.gsettings-desktop-schemas + gtk3 glib libsecret libpwquality libnotify libdvdread libcanberra-gtk3 + udisks2 gnome3.adwaita-icon-theme + gnome3.gnome-settings-daemon gsettings-desktop-schemas ]; postPatch = '' @@ -31,6 +28,13 @@ stdenv.mkDerivation rec { patchShebangs meson_post_install.py ''; + passthru = { + updateScript = gnome3.updateScript { + packageName = "gnome-disk-utility"; + attrPath = "gnome3.gnome-disk-utility"; + }; + }; + meta = with stdenv.lib; { homepage = https://en.wikipedia.org/wiki/GNOME_Disks; description = "A udisks graphical front-end"; diff --git a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix index 06a5b258c80..976829acd4c 100644 --- a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix @@ -1,28 +1,31 @@ { stdenv, meson, ninja, gettext, fetchurl -, pkgconfig, gtk3, glib, libxml2 -, wrapGAppsHook, gnome3 }: +, pkgconfig, gtk3, glib, libxml2, gnome-desktop, adwaita-icon-theme +, wrapGAppsHook, gnome3, harfbuzz }: stdenv.mkDerivation rec { - name = "gnome-font-viewer-${version}"; - version = "3.30.0"; + pname = "gnome-font-viewer"; + version = "3.32.0"; src = fetchurl { - url = "mirror://gnome/sources/gnome-font-viewer/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"; - }; - - passthru = { - updateScript = gnome3.updateScript { packageName = "gnome-font-viewer"; attrPath = "gnome3.gnome-font-viewer"; }; + url = "mirror://gnome/sources/gnome-font-viewer/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "10b150sa3971i5lfnk0jkkzlril97lz09sshwsbkabc8b7kv1qa3"; }; doCheck = true; nativeBuildInputs = [ meson ninja pkgconfig gettext wrapGAppsHook libxml2 ]; - buildInputs = [ gtk3 glib gnome3.gnome-desktop gnome3.defaultIconTheme ]; + buildInputs = [ gtk3 glib gnome-desktop adwaita-icon-theme harfbuzz ]; # Do not run meson-postinstall.sh preConfigure = "sed -i '2,$ d' meson-postinstall.sh"; + passthru = { + updateScript = gnome3.updateScript { + packageName = "gnome-font-viewer"; + attrPath = "gnome3.gnome-font-viewer"; + }; + }; + meta = with stdenv.lib; { description = "Program that can preview fonts and create thumbnails for fonts"; maintainers = gnome3.maintainers; diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix index a72efc61e2f..4148843d4ab 100644 --- a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix @@ -3,12 +3,12 @@ , docbook_xsl, docbook_xml_dtd_43, gnome3 }: stdenv.mkDerivation rec { - name = "gnome-keyring-${version}"; - version = "3.28.2"; + pname = "gnome-keyring"; + version = "3.31.91"; src = fetchurl { - url = "mirror://gnome/sources/gnome-keyring/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1"; + url = "mirror://gnome/sources/gnome-keyring/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1fjylqw4xp0rqsylq4gbxzw1sql2sy55h1mnz1pprrxb9py0mnd4"; }; outputs = [ "out" "dev" ]; @@ -46,6 +46,16 @@ stdenv.mkDerivation rec { make check ''; + # Use wrapped gnome-keyring-daemon with cap_ipc_lock=ep + postFixup = '' + files=($out/etc/xdg/autostart/* $out/share/dbus-1/services/*) + + for file in ''${files[*]}; do + substituteInPlace $file \ + --replace "$out/bin/gnome-keyring-daemon" "/run/wrappers/bin/gnome-keyring-daemon" + done + ''; + passthru = { updateScript = gnome3.updateScript { packageName = "gnome-keyring"; diff --git a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix deleted file mode 100644 index 4ceb0335c18..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, vala, glib, libxslt, gtk, wrapGAppsHook -, webkitgtk, json-glib, rest, libsecret, gtk-doc, gobject-introspection -, gettext, icu, glib-networking -, libsoup, docbook_xsl, docbook_xml_dtd_412, gnome3, gcr, kerberos -}: - -let - pname = "gnome-online-accounts"; - version = "3.30.1"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0havx26cfy0ln17jzmzbrrx35afknv2s9mdy34j0p7wmbqr8m5ky"; - }; - - outputs = [ "out" "man" "dev" "devdoc" ]; - - configureFlags = [ - "--enable-media-server" - "--enable-kerberos" - "--enable-lastfm" - "--enable-todoist" - "--enable-gtk-doc" - "--enable-documentation" - ]; - - enableParallelBuilding = true; - - nativeBuildInputs = [ - pkgconfig gobject-introspection vala gettext wrapGAppsHook - libxslt docbook_xsl docbook_xml_dtd_412 gtk-doc - ]; - buildInputs = [ - glib gtk webkitgtk json-glib rest libsecret glib-networking icu libsoup - gcr kerberos - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with stdenv.lib; { - platforms = platforms.linux; - maintainers = gnome3.maintainers; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix index 6deefaa3673..93da1f8abec 100644 --- a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix @@ -1,28 +1,34 @@ { stdenv, fetchurl, pkgconfig, glib, gnome3, libxml2 -, libsoup, json-glib, gmp, openssl, dleyna-server, wrapGAppsHook }: +, libgdata, grilo, libzapojit, grilo-plugins, gnome-online-accounts, libmediaart +, tracker, gfbgraph, librest, libsoup, json-glib, gmp, openssl, dleyna-server, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "gnome-online-miners-${version}"; + pname = "gnome-online-miners"; version = "3.30.0"; src = fetchurl { - url = "mirror://gnome/sources/gnome-online-miners/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + url = "mirror://gnome/sources/gnome-online-miners/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c"; }; - passthru = { - updateScript = gnome3.updateScript { packageName = "gnome-online-miners"; attrPath = "gnome3.gnome-online-miners"; }; - }; - nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; - buildInputs = [ glib gnome3.libgdata libxml2 libsoup gmp openssl - gnome3.grilo gnome3.libzapojit gnome3.grilo-plugins - gnome3.gnome-online-accounts gnome3.libmediaart - gnome3.tracker gnome3.gfbgraph json-glib gnome3.rest - dleyna-server ]; + buildInputs = [ + glib libgdata libxml2 libsoup gmp openssl + grilo libzapojit grilo-plugins + gnome-online-accounts libmediaart + tracker gfbgraph json-glib librest + dleyna-server + ]; enableParallelBuilding = true; + passthru = { + updateScript = gnome3.updateScript { + packageName = "gnome-online-miners"; + attrPath = "gnome3.gnome-online-miners"; + }; + }; + meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Projects/GnomeOnlineMiners; description = "A set of crawlers that go through your online content and index them locally in Tracker"; diff --git a/pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix index 6fab2d5b0b7..fd507acc009 100644 --- a/pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix @@ -1,28 +1,26 @@ { stdenv, fetchFromGitLab, meson, ninja, pkgconfig, python3, wrapGAppsHook -, glib, pipewire, systemd, libvncserver, libsecret, libnotify, gdk_pixbuf, gnome3 }: +, glib, pipewire, systemd, libvncserver, libsecret, libnotify, gdk-pixbuf, gnome3 }: stdenv.mkDerivation rec { - name = "gnome-remote-desktop-${version}"; - version = "0.1.6"; + pname = "gnome-remote-desktop"; + version = "0.1.7"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "jadahl"; repo = "gnome-remote-desktop"; rev = version; - sha256 = "1d49kxhi1bn8ssh6nybg7d6zajqwc653czbsms2d59dbhj8mn75f"; + sha256 = "0gmazc8ww0lyhx9iclhi982bkpjsnflrzv4qfm3q6hcy0il21fsc"; }; nativeBuildInputs = [ meson ninja pkgconfig python3 wrapGAppsHook ]; buildInputs = [ glib pipewire systemd libvncserver libsecret libnotify - gdk_pixbuf # For libnotify + gdk-pixbuf # For libnotify ]; postPatch = '' - substituteInPlace meson.build --replace pipewire-0.1 pipewire-0.2 - chmod +x meson_post_install.py # patchShebangs requires executable file patchShebangs meson_post_install.py ''; diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix index fc39ea81223..1d14481e778 100644 --- a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix @@ -1,16 +1,16 @@ { stdenv, gettext, libxml2, fetchurl, pkgconfig, libcanberra-gtk3 , gtk3, glib, meson, ninja, python3, wrapGAppsHook, appstream-glib, desktop-file-utils -, gnome3 }: +, gnome3, gsettings-desktop-schemas }: let pname = "gnome-screenshot"; - version = "3.30.0"; + version = "3.32.0"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "06dx3svxq6sar4913mrz5lzb7hmc66wck138vmyxj8x8iv1iw0w8"; + sha256 = "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b"; }; doCheck = true; @@ -22,8 +22,8 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja pkgconfig gettext appstream-glib libxml2 desktop-file-utils python3 wrapGAppsHook ]; buildInputs = [ - gtk3 glib libcanberra-gtk3 gnome3.defaultIconTheme - gnome3.gsettings-desktop-schemas + gtk3 glib libcanberra-gtk3 gnome3.adwaita-icon-theme + gsettings-desktop-schemas ]; passthru = { diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix index 2f44a4e168d..f13ad9f47aa 100644 --- a/pkgs/desktops/gnome-3/core/gnome-session/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix @@ -1,14 +1,14 @@ -{ fetchurl, stdenv, substituteAll, meson, ninja, pkgconfig, gnome3, glib, gtk, gsettings-desktop-schemas +{ fetchurl, stdenv, substituteAll, meson, ninja, pkgconfig, gnome3, glib, gtk3, gsettings-desktop-schemas , gnome-desktop, dbus, json-glib, libICE, xmlto, docbook_xsl, docbook_xml_dtd_412, python3 , libxslt, gettext, makeWrapper, systemd, xorg, epoxy, gnugrep, bash }: stdenv.mkDerivation rec { - name = "gnome-session-${version}"; - version = "3.30.1"; + pname = "gnome-session"; + version = "3.32.0"; src = fetchurl { - url = "mirror://gnome/sources/gnome-session/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0fbpq103md4g9gi67rxnwvha21629nxx7qazddy6q6494sbqbzpa"; + url = "mirror://gnome/sources/gnome-session/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v"; }; patches = [ @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - glib gtk libICE gnome-desktop json-glib xorg.xtrans gnome3.defaultIconTheme + glib gtk3 libICE gnome-desktop json-glib xorg.xtrans gnome3.adwaita-icon-theme gnome3.gnome-settings-daemon gsettings-desktop-schemas systemd epoxy ]; diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix index c76ba218c9a..b9f33ce73a8 100644 --- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix @@ -1,37 +1,112 @@ -{ fetchurl, substituteAll, stdenv, meson, ninja, pkgconfig, gnome3, perl, gettext, glib, libnotify, lcms2, libXtst -, libxkbfile, libpulseaudio, alsaLib, libcanberra-gtk3, upower, colord, libgweather, polkit -, geoclue2, librsvg, xf86_input_wacom, udev, libgudev, libwacom, libxslt, libxml2, networkmanager -, docbook_xsl, wrapGAppsHook, python3, ibus, xkeyboard_config, tzdata, nss }: +{ stdenv +, substituteAll +, fetchurl +, meson +, ninja +, pkgconfig +, gnome3 +, perl +, gettext +, gtk3 +, glib +, libnotify +, libgnomekbd +, lcms2 +, libpulseaudio +, mousetweaks +, alsaLib +, libcanberra-gtk3 +, upower +, colord +, libgweather +, polkit +, gsettings-desktop-schemas +, geoclue2 +, systemd +, libgudev +, libwacom +, libxslt +, libxml2 +, networkmanager +, gnome-desktop +, geocode-glib +, docbook_xsl +, wrapGAppsHook +, python3 +, tzdata +, nss +}: stdenv.mkDerivation rec { - name = "gnome-settings-daemon-${version}"; - version = "3.30.2"; + pname = "gnome-settings-daemon"; + version = "3.32.1"; src = fetchurl { - url = "mirror://gnome/sources/gnome-settings-daemon/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0c663csa3gnsr6wm0xfll6aani45snkdj7zjwjfzcwfh8w4a3z12"; + url = "mirror://gnome/sources/gnome-settings-daemon/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks"; }; patches = [ (substituteAll { src = ./fix-paths.patch; - inherit tzdata; + inherit tzdata mousetweaks; }) + ./global-backlight-helper.patch ]; - nativeBuildInputs = [ meson ninja pkgconfig perl gettext libxml2 libxslt docbook_xsl wrapGAppsHook python3 ]; + nativeBuildInputs = [ + meson + ninja + pkgconfig + perl + gettext + libxml2 + libxslt + docbook_xsl + wrapGAppsHook + python3 + ]; - buildInputs = with gnome3; [ - ibus gtk glib gsettings-desktop-schemas networkmanager - libnotify gnome-desktop lcms2 libXtst libxkbfile libpulseaudio alsaLib - libcanberra-gtk3 upower colord libgweather xkeyboard_config nss - polkit geocode-glib geoclue2 librsvg xf86_input_wacom udev libgudev libwacom + buildInputs = [ + gtk3 + glib + gsettings-desktop-schemas + networkmanager + libnotify + libgnomekbd # for org.gnome.libgnomekbd.keyboard schema + gnome-desktop + lcms2 + libpulseaudio + alsaLib + libcanberra-gtk3 + upower + colord + libgweather + nss + polkit + geocode-glib + geoclue2 + systemd + libgudev + libwacom ]; mesonFlags = [ "-Dudev_dir=${placeholder "out"}/lib/udev" ]; + NIX_CFLAGS_COMPILE = [ + # Default for release buildtype but passed manually because + # we're using plain + "-DG_DISABLE_CAST_CHECKS" + ]; + + # So the polkit policy can reference /run/current-system/sw/bin/gnome-settings-daemon/gsd-backlight-helper + postFixup = '' + mkdir -p $out/bin/gnome-settings-daemon + ln -s $out/libexec/gsd-backlight-helper $out/bin/gnome-settings-daemon/gsd-backlight-helper + ''; + postPatch = '' for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do chmod +x $f @@ -41,8 +116,8 @@ stdenv.mkDerivation rec { passthru = { updateScript = gnome3.updateScript { - packageName = "gnome-settings-daemon"; - attrPath = "gnome3.gnome-settings-daemon"; + packageName = pname; + attrPath = "gnome3.${pname}"; }; }; diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch index 2229302cab7..272656fae78 100644 --- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch +++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch @@ -13,3 +13,14 @@ typedef struct _TzDB TzDB; typedef struct _TzLocation TzLocation; +--- a/plugins/mouse/gsd-mouse-manager.c ++++ b/plugins/mouse/gsd-mouse-manager.c +@@ -118,7 +118,7 @@ set_mousetweaks_daemon (GsdMouseManager *manager, + gboolean run_daemon = dwell_click_enabled || secondary_click_enabled; + + if (run_daemon || manager->priv->mousetweaks_daemon_running) +- comm = g_strdup_printf ("mousetweaks %s", ++ comm = g_strdup_printf ("@mousetweaks@/bin/mousetweaks %s", + run_daemon ? "" : "-s"); + else + return; diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/global-backlight-helper.patch b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/global-backlight-helper.patch new file mode 100644 index 00000000000..8f3951af2da --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/global-backlight-helper.patch @@ -0,0 +1,26 @@ +diff --git a/plugins/power/gsd-backlight.c b/plugins/power/gsd-backlight.c +index d7d10fd2..5619d6ad 100644 +--- a/plugins/power/gsd-backlight.c ++++ b/plugins/power/gsd-backlight.c +@@ -358,7 +358,7 @@ gsd_backlight_run_set_helper (GsdBacklight *backlight, GTask *task) + proc = g_subprocess_new (G_SUBPROCESS_FLAGS_STDOUT_SILENCE, + &error, + "pkexec", +- LIBEXECDIR "/gsd-backlight-helper", ++ "/run/current-system/sw/bin/gnome-settings-daemon/gsd-backlight-helper", + g_udev_device_get_sysfs_path (backlight->udev_device), + data->value_str, NULL); + } else { +diff --git a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in +index f16300f8..79d6bd17 100644 +--- a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in ++++ b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in +@@ -25,7 +25,7 @@ + no + yes + +- @libexecdir@/gsd-backlight-helper ++ /run/current-system/sw/bin/gnome-settings-daemon/gsd-backlight-helper + + + diff --git a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix index ec6d1af015a..76121660012 100644 --- a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix @@ -2,12 +2,12 @@ , gnome3, gnome-menus, substituteAll }: stdenv.mkDerivation rec { - name = "gnome-shell-extensions-${version}"; - version = "3.30.1"; + pname = "gnome-shell-extensions"; + version = "3.32.1"; src = fetchurl { - url = "mirror://gnome/sources/gnome-shell-extensions/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1grxn4f5x754r172wmnf0h0xpy69afmj359zsj1rwgqlzw4i4c5p"; + url = "mirror://gnome/sources/gnome-shell-extensions/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2"; }; passthru = { @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { # Fixup adapted from export-zips.sh in the source. extensiondir=$out/share/gnome-shell/extensions - schemadir=$out/share/gsettings-schemas/${name}/glib-2.0/schemas/ + schemadir=$out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas/ glib-compile-schemas $schemadir diff --git a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/fix_gmenu.patch b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/fix_gmenu.patch index c384826de61..555664e8ae2 100644 --- a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/fix_gmenu.patch +++ b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/fix_gmenu.patch @@ -1,24 +1,11 @@ -From f72924a59d4a30daefccf84526bd854ebbe65ac8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= -Date: Tue, 3 Apr 2018 14:13:12 +0200 -Subject: [PATCH] Fix gmenu typelib path - ---- - extensions/apps-menu/extension.js | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js -index 5b38213..d706f64 100644 --- a/extensions/apps-menu/extension.js +++ b/extensions/apps-menu/extension.js -@@ -1,5 +1,7 @@ +@@ -1,6 +1,8 @@ /* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */ + /* exported init enable disable */ +imports.gi.GIRepository.Repository.prepend_search_path('@gmenu_path@'); + - const Atk = imports.gi.Atk; - const DND = imports.ui.dnd; - const GMenu = imports.gi.GMenu; --- -2.16.2 - + const { + Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St + } = imports.gi; diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix index 76e5bd13522..a1d8f2c599a 100644 --- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix @@ -1,41 +1,42 @@ { fetchurl, fetchpatch, substituteAll, stdenv, meson, ninja, pkgconfig, gnome3, json-glib, libcroco, gettext, libsecret -, python3Packages, libsoup, polkit, clutter, networkmanager, docbook_xsl , docbook_xsl_ns, at-spi2-core +, python3, libsoup, polkit, clutter, networkmanager, docbook_xsl , docbook_xsl_ns, at-spi2-core , libstartup_notification, telepathy-glib, telepathy-logger, libXtst, unzip, glibcLocales, shared-mime-info , libgweather, libcanberra-gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42, desktop-file-utils -, libpulseaudio, libical, gobject-introspection, gstreamer, wrapGAppsHook, libxslt, gcr -, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, libgnomekbd -, sassc, systemd, gst_all_1 }: +, libpulseaudio, libical, gobject-introspection, gstreamer, wrapGAppsHook, libxslt, gcr, caribou +, accountsservice, gdk-pixbuf, gdm, upower, ibus, networkmanagerapplet, libgnomekbd, gnome-desktop +, gsettings-desktop-schemas, gnome-keyring, glib, gjs, mutter, evolution-data-server, gtk3 +, sassc, systemd, gst_all_1, adwaita-icon-theme, gnome-bluetooth, gnome-clocks, gnome-settings-daemon }: # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup let - pythonEnv = python3Packages.python.withPackages ( ps: with ps; [ pygobject3 ] ); + pythonEnv = python3.withPackages ( ps: with ps; [ pygobject3 ] ); in stdenv.mkDerivation rec { - name = "gnome-shell-${version}"; - version = "3.30.2"; + pname = "gnome-shell"; + version = "3.32.2"; src = fetchurl { - url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0kacd4w9lc5finsvs170i7827qkxwd1ddj0g2giizwffpjdjqqr2"; + url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5"; }; LANG = "en_US.UTF-8"; nativeBuildInputs = [ meson ninja pkgconfig gettext docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 perl wrapGAppsHook glibcLocales - sassc desktop-file-utils libxslt.bin + sassc desktop-file-utils libxslt.bin python3 ]; - buildInputs = with gnome3; [ + buildInputs = [ systemd caribou gsettings-desktop-schemas gnome-keyring glib gcr json-glib accountsservice - libcroco libsecret libsoup polkit gdk_pixbuf librsvg + libcroco libsecret libsoup polkit gdk-pixbuf librsvg clutter networkmanager libstartup_notification telepathy-glib libXtst gjs mutter libpulseaudio evolution-data-server - libical gtk gstreamer gdm libcanberra-gtk3 geoclue2 - defaultIconTheme gnome3.gnome-bluetooth - gnome3.gnome-clocks # schemas needed - at-spi2-core upower ibus gnome-desktop telepathy-logger gnome3.gnome-settings-daemon + libical gtk3 gstreamer gdm libcanberra-gtk3 geoclue2 + adwaita-icon-theme gnome-bluetooth + gnome-clocks # schemas needed + at-spi2-core upower ibus gnome-desktop telepathy-logger gnome-settings-daemon gst_all_1.gst-plugins-good # recording gobject-introspection @@ -45,7 +46,7 @@ in stdenv.mkDerivation rec { propagatedUserEnvPkgs = [ # Needed to support on-screen keyboard used with touch screen devices # see https://github.com/NixOS/nixpkgs/issues/25968 - gnome3.caribou + caribou ]; patches = [ diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch index 32a0cc476da..3207af11088 100644 --- a/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch +++ b/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch @@ -11,12 +11,12 @@ null); --- a/js/ui/status/keyboard.js +++ b/js/ui/status/keyboard.js -@@ -1019,7 +1019,7 @@ +@@ -1059,7 +1059,7 @@ class InputSourceIndicator extends PanelMenu.Button { + let description = xkbLayout; if (xkbVariant.length > 0) description = description + '\t' + xkbVariant; - Util.spawn(['gkbd-keyboard-display', '-l', description]); + Util.spawn(['@libgnomekbd@/bin/gkbd-keyboard-display', '-l', description]); - }, - - _containerGetPreferredWidth: function(container, for_height, alloc) { + } + }); diff --git a/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/core/gnome-software/default.nix index 3c45842fdd4..12081bbae5b 100644 --- a/pkgs/desktops/gnome-3/core/gnome-software/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-software/default.nix @@ -1,14 +1,21 @@ { stdenv, fetchurl, substituteAll, pkgconfig, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree , glib, appstream-glib, libsoup, polkit, isocodes, gspell, libxslt, gobject-introspection, flatpak, fwupd +, gtk3, gsettings-desktop-schemas, gnome-desktop, libxmlb, gnome-online-accounts, hicolor-icon-theme , json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_43, gtk-doc, desktop-file-utils }: +let + + withFwupd = stdenv.isx86_64 || stdenv.isi686; + +in + stdenv.mkDerivation rec { - name = "gnome-software-${version}"; - version = "3.30.6"; + pname = "gnome-software"; + version = "3.32.4"; src = fetchurl { - url = "mirror://gnome/sources/gnome-software/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "00lh1ifgcs888i0774qdz2pzd5vnzcc5kvx20lcmgk37vvf0qqsl"; + url = "mirror://gnome/sources/gnome-software/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0g30wdrpypj23npvx85wqh1i4a8bbg00ainz7wmsvry21hcny4d4"; }; patches = [ @@ -21,18 +28,23 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja pkgconfig gettext wrapGAppsHook libxslt docbook_xml_dtd_42 docbook_xml_dtd_43 valgrind-light docbook_xsl gtk-doc desktop-file-utils gobject-introspection + hicolor-icon-theme # for setup-hook ]; buildInputs = [ - gnome3.gtk glib packagekit appstream-glib libsoup - gnome3.gsettings-desktop-schemas gnome3.gnome-desktop + gtk3 glib packagekit appstream-glib libsoup + gsettings-desktop-schemas gnome-desktop gspell json-glib libsecret ostree - polkit flatpak fwupd + polkit flatpak libxmlb gnome-online-accounts + ] ++ stdenv.lib.optionals withFwupd [ + fwupd ]; mesonFlags = [ "-Dubuntu_reviews=false" "-Dgudev=false" + ] ++ stdenv.lib.optionals (!withFwupd) [ + "-Dfwupd=false" ]; passthru = { diff --git a/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix index a1e3ece3db4..a9f8367a548 100644 --- a/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix @@ -1,14 +1,14 @@ { stdenv, gettext, fetchurl, pkgconfig, gtkmm3, libxml2, polkit , bash, gtk3, glib, wrapGAppsHook, meson, ninja, python3 -, itstool, gnome3, librsvg, gdk_pixbuf, libgtop, systemd }: +, gsettings-desktop-schemas, itstool, gnome3, librsvg, gdk-pixbuf, libgtop, systemd }: stdenv.mkDerivation rec { - name = "gnome-system-monitor-${version}"; - version = "3.30.0"; + pname = "gnome-system-monitor"; + version = "3.32.1"; src = fetchurl { - url = "mirror://gnome/sources/gnome-system-monitor/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0g0y565bjs6bdszrnxsz1f7hcm1x59i3mfvplysirh7nz3hpz888"; + url = "mirror://gnome/sources/gnome-system-monitor/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"; }; doCheck = true; @@ -18,8 +18,8 @@ stdenv.mkDerivation rec { polkit # for ITS file ]; buildInputs = [ - bash gtk3 glib libxml2 gtkmm3 libgtop gdk_pixbuf gnome3.defaultIconTheme librsvg - gnome3.gsettings-desktop-schemas systemd + bash gtk3 glib libxml2 gtkmm3 libgtop gdk-pixbuf gnome3.adwaita-icon-theme librsvg + gsettings-desktop-schemas systemd ]; postPatch = '' diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix index 4765edbcf7e..75d4b117e77 100644 --- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix @@ -1,18 +1,18 @@ { stdenv, fetchurl, pkgconfig, libxml2, gnome3, dconf, nautilus -, gtk, gsettings-desktop-schemas, vte, intltool, which, libuuid, vala -, desktop-file-utils, itstool, wrapGAppsHook }: +, gtk3, gsettings-desktop-schemas, vte, intltool, which, libuuid, vala +, desktop-file-utils, itstool, wrapGAppsHook, hicolor-icon-theme }: stdenv.mkDerivation rec { - name = "gnome-terminal-${version}"; - version = "3.30.2"; + pname = "gnome-terminal"; + version = "3.32.2"; src = fetchurl { - url = "mirror://gnome/sources/gnome-terminal/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0f2y76gs72sw5l5lkkkvxzsvvwm0sg83h7nl8lk5kz1v1rrc47vb"; + url = "mirror://gnome/sources/gnome-terminal/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km"; }; buildInputs = [ - gtk gsettings-desktop-schemas vte libuuid dconf + gtk3 gsettings-desktop-schemas vte libuuid dconf # For extension nautilus ]; @@ -20,6 +20,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig intltool itstool which libxml2 vala desktop-file-utils wrapGAppsHook + hicolor-icon-theme # for setup-hook ]; # Silly ./configure, it looks for dbus file from gnome-shell in the diff --git a/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix b/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix index b6c40b28ab1..5cd8f249481 100644 --- a/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, intltool, gtk3, gnome3, librsvg, pkgconfig, pango, atk, gtk2 -, gdk_pixbuf }: +, gdk-pixbuf }: let pname = "gnome-themes-extra"; @@ -19,7 +19,7 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig intltool ]; - buildInputs = [ gtk3 librsvg pango atk gtk2 gdk_pixbuf gnome3.defaultIconTheme ]; + buildInputs = [ gtk3 librsvg pango atk gtk2 gdk-pixbuf gnome3.adwaita-icon-theme ]; postFixup = '' gtk-update-icon-cache "$out"/share/icons/HighContrast diff --git a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix index 7062dbafce8..7915e71a73c 100644 --- a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, gnome3, itstool, libxml2, intltool }: stdenv.mkDerivation rec { - name = "gnome-user-docs-${version}"; - version = "3.30.2"; + pname = "gnome-user-docs"; + version = "3.32.3"; src = fetchurl { - url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1pgsrvd79rqxa183wsmzh422y2zsg7fl5hskgc0s87jsc8b57fkg"; + url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"; }; passthru = { diff --git a/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix index 6a5d2fde501..65f9fb0db80 100644 --- a/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix @@ -1,46 +1,68 @@ -{ stdenv, intltool, fetchurl, apacheHttpd, nautilus -, pkgconfig, gtk3, glib, libxml2, systemd -, wrapGAppsHook, itstool, libnotify, libtool, mod_dnssd -, gnome3, librsvg, gdk_pixbuf, file, libcanberra-gtk3 }: +{ stdenv +, gettext +, fetchurl +, apacheHttpd +, nautilus +, pkgconfig +, gtk3 +, glib +, libxml2 +, systemd +, wrapGAppsHook +, itstool +, libnotify +, mod_dnssd +, gnome3 +, libcanberra-gtk3 +}: stdenv.mkDerivation rec { - name = "gnome-user-share-${version}"; - version = "3.28.0"; + pname = "gnome-user-share"; + version = "3.32.0.1"; src = fetchurl { - url = "mirror://gnome/sources/gnome-user-share/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "04wjnrcdlmyszj582nsda32sgi44nwgrw2ksy11xp17nb09d7m09"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "16w6n0cjyzp8vln3zspvab8jhjprpvs88xc9x7bvigg0wry74945"; }; - passthru = { - updateScript = gnome3.updateScript { packageName = "gnome-user-share"; attrPath = "gnome3.gnome-user-share"; }; - }; - - doCheck = true; - - NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0"; - preConfigure = '' sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' \ -e 's,''${HTTP_MODULES_PATH},${apacheHttpd}/modules,' \ -i data/dav_user_2.4.conf ''; - configureFlags = [ "--with-httpd=${apacheHttpd.out}/bin/httpd" - "--with-modules-path=${apacheHttpd.dev}/modules" - "--with-systemduserunitdir=$(out)/etc/systemd/user" - "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ]; + configureFlags = [ + "--with-httpd=${apacheHttpd.out}/bin/httpd" + "--with-modules-path=${apacheHttpd.dev}/modules" + "--with-systemduserunitdir=${placeholder ''out''}/etc/systemd/user" + "--with-nautilusdir=${placeholder ''out''}/lib/nautilus/extensions-3.0" + ]; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk3 glib intltool itstool libxml2 libtool - wrapGAppsHook file gdk_pixbuf gnome3.defaultIconTheme librsvg - nautilus libnotify libcanberra-gtk3 systemd ]; + nativeBuildInputs = [ + pkgconfig + gettext + itstool + libxml2 + wrapGAppsHook + ]; - postInstall = '' - mkdir -p $out/share/gsettings-schemas/$name - mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name - glib-compile-schemas "$out/share/gsettings-schemas/$name/glib-2.0/schemas" - ''; + buildInputs = [ + gtk3 + glib + nautilus + libnotify + libcanberra-gtk3 + systemd + ]; + + doCheck = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; meta = with stdenv.lib; { homepage = https://help.gnome.org/users/gnome-user-share/3.8; diff --git a/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix deleted file mode 100644 index ab2ead7d344..00000000000 --- a/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, sqlite -, gnome3, libxml2, gupnp, gssdp, lua5, liboauth, gupnp-av -, gmime, json-glib, avahi, tracker, dleyna-server, itstool, totem-pl-parser }: - -let - pname = "grilo-plugins"; - version = "0.3.8"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0nync07gah3jkpb5ph5d3gwbygmabnih2m3hfz7lkvjl2l5pgpac"; - }; - - nativeBuildInputs = [ meson ninja pkgconfig gettext itstool ]; - buildInputs = [ - gnome3.grilo libxml2 gupnp gssdp gnome3.libgdata - lua5 liboauth gupnp-av sqlite gnome3.gnome-online-accounts - totem-pl-parser gnome3.rest gmime json-glib - avahi gnome3.libmediaart tracker dleyna-server - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - versionPolicy = "none"; - }; - }; - - meta = with stdenv.lib; { - homepage = https://wiki.gnome.org/Projects/Grilo; - description = "A collection of plugins for the Grilo framework"; - maintainers = gnome3.maintainers; - license = licenses.lgpl21; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/grilo/default.nix b/pkgs/desktops/gnome-3/core/grilo/default.nix deleted file mode 100644 index a2bee6ac41e..00000000000 --- a/pkgs/desktops/gnome-3/core/grilo/default.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, vala, glib, liboauth, gtk3 -, gtk-doc, docbook_xsl, docbook_xml_dtd_43 -, libxml2, gnome3, gobject-introspection, libsoup, totem-pl-parser }: - -let - pname = "grilo"; - version = "0.3.7"; # if you change minor, also change ./setup-hook.sh -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - outputs = [ "out" "dev" "man" "devdoc" ]; - outputBin = "dev"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1dz965l743r4bhj78wij9k1mb6635gnkb1lnk9j7gw9dd5qsyfza"; - }; - - patches = [ - # Fix meson build: https://gitlab.gnome.org/GNOME/grilo/merge_requests/34 - (fetchurl { - url = "https://gitlab.gnome.org/GNOME/grilo/commit/166612aeff09e5fc2fec1f62185c84cbdcf8f889.diff"; - sha256 = "07zamy927iaa7knrwq5yxz7ypl1i02pymkcdrg5l55alhdvb81pw"; - }) - ]; - - setupHook = ./setup-hook.sh; - - mesonFlags = [ - "-Dgtk_doc=true" - ]; - - nativeBuildInputs = [ - meson ninja pkgconfig gettext gobject-introspection vala - gtk-doc docbook_xsl docbook_xml_dtd_43 - ]; - buildInputs = [ glib liboauth gtk3 libxml2 libsoup totem-pl-parser ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - versionPolicy = "none"; - }; - }; - - meta = with stdenv.lib; { - homepage = https://wiki.gnome.org/Projects/Grilo; - description = "Framework that provides access to various sources of multimedia content, using a pluggable system"; - maintainers = gnome3.maintainers; - license = licenses.lgpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix deleted file mode 100644 index dad0c8850b2..00000000000 --- a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, intltool, glib, gobject-introspection - # just for passthru -, gnome3 }: - -stdenv.mkDerivation rec { - name = "gsettings-desktop-schemas-${version}"; - version = "3.28.1"; - - src = fetchurl { - url = "mirror://gnome/sources/gsettings-desktop-schemas/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0bshwm49cd01ighsxqlbqn10q0ch71ff99gcrx8pr2gyky2ad3pq"; - }; - - passthru = { - updateScript = gnome3.updateScript { packageName = "gsettings-desktop-schemas"; }; - }; - - preInstall = '' - mkdir -p $out/share/gsettings-schemas/${name}/glib-2.0/schemas - cat - > $out/share/gsettings-schemas/${name}/glib-2.0/schemas/remove-backgrounds.gschema.override <<- EOF - [org.gnome.desktop.background] - picture-uri=''' - - [org.gnome.desktop.screensaver] - picture-uri=''' - EOF - ''; - - buildInputs = [ glib gobject-introspection ]; - - nativeBuildInputs = [ pkgconfig intltool ]; - - meta = with stdenv.lib; { - maintainers = gnome3.maintainers; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/core/gucharmap/default.nix index a968bfd2b56..6c291c1874f 100644 --- a/pkgs/desktops/gnome-3/core/gucharmap/default.nix +++ b/pkgs/desktops/gnome-3/core/gucharmap/default.nix @@ -1,4 +1,4 @@ -{ stdenv, intltool, fetchFromGitLab, fetchpatch, pkgconfig, gtk3, defaultIconTheme +{ stdenv, intltool, fetchFromGitLab, pkgconfig, gtk3, adwaita-icon-theme , glib, desktop-file-utils, gtk-doc, autoconf, automake, libtool , wrapGAppsHook, gnome3, itstool, libxml2, yelp-tools , docbook_xsl, docbook_xml_dtd_412, gsettings-desktop-schemas @@ -7,17 +7,17 @@ let unicode-data = callPackage ./unicode-data.nix {}; in stdenv.mkDerivation rec { - name = "gucharmap-${version}"; - version = "11.0.3"; + pname = "gucharmap"; + version = "12.0.1"; outputs = [ "out" "lib" "dev" "devdoc" ]; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "GNOME"; - repo = "gucharmap"; + repo = pname; rev = version; - sha256 = "1a590nxy8jdf6zxh6jdsyvhxyaz94ixx3aa1pj7gicf1aqp26vnh"; + sha256 = "0si3ymyfzc5v7ly0dmcs3qgw2wp8cyasycq5hmcr8frl09lr6gkw"; }; nativeBuildInputs = [ @@ -26,7 +26,7 @@ in stdenv.mkDerivation rec { yelp-tools libxml2 desktop-file-utils gobject-introspection ]; - buildInputs = [ gtk3 glib gsettings-desktop-schemas defaultIconTheme ]; + buildInputs = [ gtk3 glib gsettings-desktop-schemas adwaita-icon-theme ]; configureFlags = [ "--with-unicode-data=${unicode-data}" @@ -45,7 +45,7 @@ in stdenv.mkDerivation rec { passthru = { updateScript = gnome3.updateScript { - packageName = "gucharmap"; + packageName = pname; }; }; diff --git a/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix b/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix index 6bf2fd39a2d..56104aff484 100644 --- a/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix +++ b/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix @@ -1,31 +1,31 @@ { fetchurl, stdenv, gnome3 }: stdenv.mkDerivation rec { - name = "unicode-data-${version}"; - version = "11.0.0"; + pname = "unicode-data"; + version = "12.0.0"; srcs = [ (fetchurl { url = "http://www.unicode.org/Public/${version}/ucd/Blocks.txt"; - sha256 = "0lnh9iazikpr548bd7nkaq9r3vfljfvz0rg2462prac8qxk7ni8b"; + sha256 = "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1"; }) (fetchurl { url = "http://www.unicode.org/Public/${version}/ucd/DerivedAge.txt"; - sha256 = "0rlqqd0b1sqbzvrj29dwdizx8lyvrbfirsnn8za9lb53x5fml4gb"; + sha256 = "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6"; }) (fetchurl { url = "http://www.unicode.org/Public/${version}/ucd/NamesList.txt"; - sha256 = "0yr2h0nfqhirfi3bxl33z6cc94qqshlpgi06c25xh9754irqsgv8"; + sha256 = "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61"; }) (fetchurl { url = "http://www.unicode.org/Public/${version}/ucd/Scripts.txt"; - sha256 = "1mbnvf97nwa3pvyzx9nd2wa94f8s0npg9740kic2p2ag7jmc1wz9"; + sha256 = "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx"; }) (fetchurl { url = "http://www.unicode.org/Public/${version}/ucd/UnicodeData.txt"; - sha256 = "16b0jzvvzarnlxdvs2izd5ia0ipbd87md143dc6lv6xpdqcs75s9"; + sha256 = "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap"; }) (fetchurl { url = "http://www.unicode.org/Public/${version}/ucd/Unihan.zip"; - sha256 = "0cy8gxb17ksi5h4ysypk4c09z61am1svjrvg97hm5m5ccjfrs1vj"; + sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"; }) ]; phases = "installPhase"; diff --git a/pkgs/desktops/gnome-3/core/mutter/3.28.nix b/pkgs/desktops/gnome-3/core/mutter/3.28.nix index e80212713aa..7e1f696c58d 100644 --- a/pkgs/desktops/gnome-3/core/mutter/3.28.nix +++ b/pkgs/desktops/gnome-3/core/mutter/3.28.nix @@ -1,17 +1,61 @@ -{ fetchurl, stdenv, fetchpatch, pkgconfig, gnome3, intltool, gobject-introspection, upower, cairo -, pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3 -, libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput -, pipewire, libgudev, libwacom, xwayland, autoreconfHook }: +{ fetchFromGitLab, stdenv, substituteAll, pkgconfig, gnome3, intltool, gobject-introspection, upower, cairo +, glib, gtk3, pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3, fetchpatch +, gsettings-desktop-schemas, gnome-desktop, wrapGAppsHook +, libtool, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput +, geocode-glib, libgudev, libwacom, xwayland, autoreconfHook }: stdenv.mkDerivation rec { - name = "mutter-${version}"; - version = "3.28.3"; + pname = "mutter"; + version = "3.28.4"; - src = fetchurl { - url = "mirror://gnome/sources/mutter/3.28/${name}.tar.xz"; - sha256 = "0vq3rmq20d6b1mi6sf67wkzqys6hw5j7n7fd4hndcp19d5i26149"; + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = pname; + rev = version; + sha256 = "0p8ky306dnm4alkncmsnd8r2awpsi37p0bzvkv313pgqw2hbwq9i"; }; + patches = [ + (substituteAll { + src = ./fix-paths-328.patch; + inherit zenity; + }) + + # https://bugzilla.redhat.com/show_bug.cgi?id=1700337 + # https://gitlab.gnome.org/GNOME/mutter/merge_requests/133 + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0070-clutter-Add-API-to-retrieve-the-physical-size-of-abs.patch"; + sha256 = "11xg0clrqwvssy2r6hv4iya8g87z2v5f47fimd2b4hha6ki3g1is"; + }) + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0071-backends-Add-MetaInputMapper.patch"; + sha256 = "1kcp42hg8sy1q21w5586gdgmi95nf36829kkfswbah61h6bkb518"; + }) + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0072-backends-Delegate-on-MetaInputMapper-for-unmapped-di.patch"; + sha256 = "0zf4yxhq5s3dnzmn15mx4yb978g27ij4vmq055my9p7xgh6h9ga8"; + }) + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0073-backends-Add-MetaInputMapper-method-to-lookup-device.patch"; + sha256 = "0dnb2hqx5in6x9ar6wnr1hy3bg2wdcl3wbdx4jn66c7bi7s1k5zd"; + }) + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0074-backends-Turn-builtin-touchscreen-on-off-together-wi.patch"; + sha256 = "17fvs7j5ws4sz6fkch93gjlik0nm4z426w4n348gyw5llh0r76pg"; + }) + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0075-backends-Update-to-new-output-setting-for-tablets-to.patch"; + sha256 = "141p3an83s042f67fw2fqmr79i5g634ndrbpd8cs47fd4wwiwpj5"; + }) + # https://gitlab.gnome.org/GNOME/mutter/merge_requests/670 + # Needed for gala redorder workspace + (fetchpatch { + url = "https://github.com/elementary/os-patches/commit/d636a44885c5be662997f8e19f7dcd26670b3219.patch"; + sha256 = "12pbxk6f39a09jxjam5a5hxl4whp3cifzpck2m7fpp0n98nc63qh"; + }) + ]; + configureFlags = [ "--with-x" "--disable-static" @@ -30,21 +74,16 @@ stdenv.mkDerivation rec { libXtst ]; - nativeBuildInputs = [ autoreconfHook pkgconfig intltool libtool makeWrapper ]; + nativeBuildInputs = [ autoreconfHook pkgconfig intltool libtool wrapGAppsHook ]; - buildInputs = with gnome3; [ - glib gobject-introspection gtk gsettings-desktop-schemas upower + buildInputs = [ + glib gobject-introspection gtk3 gsettings-desktop-schemas upower gnome-desktop cairo pango cogl clutter zenity libstartup_notification - gnome3.geocode-glib libinput libgudev libwacom + geocode-glib libinput libgudev libwacom libcanberra-gtk3 zenity xkeyboard_config libxkbfile - libxkbcommon pipewire + libxkbcommon ]; - preFixup = '' - wrapProgram "$out/bin/mutter" \ - --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" - ''; - enableParallelBuilding = true; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix index 9a1418cbe0a..61219ca4488 100644 --- a/pkgs/desktops/gnome-3/core/mutter/default.nix +++ b/pkgs/desktops/gnome-3/core/mutter/default.nix @@ -1,32 +1,28 @@ -{ fetchurl, stdenv, pkgconfig, gnome3, intltool, gobject-introspection, upower, cairo +{ fetchurl, substituteAll, stdenv, pkgconfig, gnome3, gettext, gobject-introspection, upower, cairo , pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3 -, libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput -, pipewire, libgudev, libwacom, xwayland, autoreconfHook }: +, ninja, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput +, gsettings-desktop-schemas, glib, gtk3, gnome-desktop +, geocode-glib, pipewire, libgudev, libwacom, xwayland, meson +, gnome-settings-daemon +, xorgserver +, python3 +, wrapGAppsHook +}: stdenv.mkDerivation rec { - name = "mutter-${version}"; - version = "3.30.2"; + pname = "mutter"; + version = "3.32.2"; + + outputs = [ "out" "dev" "man" ]; src = fetchurl { - url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0qr3w480p31nbiad49213rj9rk6p9fl82a68pzznpz36p30dq96z"; + url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva"; }; - passthru = { - updateScript = gnome3.updateScript { packageName = "mutter"; attrPath = "gnome3.mutter"; }; - }; - - configureFlags = [ - "--with-x" - "--disable-static" - "--enable-remote-desktop" - "--enable-shape" - "--enable-sm" - "--enable-startup-notification" - "--enable-xsync" - "--enable-verbose-mode" - "--with-libcanberra" - "--with-xwayland-path=${xwayland}/bin/Xwayland" + mesonFlags = [ + "-Dxwayland-path=${xwayland}/bin/Xwayland" + "-Dinstalled_tests=false" # TODO: enable these ]; propagatedBuildInputs = [ @@ -34,23 +30,50 @@ stdenv.mkDerivation rec { libXtst ]; - nativeBuildInputs = [ autoreconfHook pkgconfig intltool libtool makeWrapper ]; - - buildInputs = with gnome3; [ - glib gobject-introspection gtk gsettings-desktop-schemas upower - gnome-desktop cairo pango cogl clutter zenity libstartup_notification - gnome3.geocode-glib libinput libgudev libwacom - libcanberra-gtk3 zenity xkeyboard_config libxkbfile - libxkbcommon pipewire + nativeBuildInputs = [ + meson + pkgconfig + gettext + ninja + python3 + # for cvt command + xorgserver + wrapGAppsHook ]; - preFixup = '' - wrapProgram "$out/bin/mutter" \ - --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + buildInputs = [ + glib gobject-introspection gtk3 gsettings-desktop-schemas upower + gnome-desktop cairo pango cogl clutter zenity libstartup_notification + geocode-glib libinput libgudev libwacom + libcanberra-gtk3 zenity xkeyboard_config libxkbfile + libxkbcommon pipewire xwayland + gnome-settings-daemon + ]; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit zenity; + }) + ]; + + postPatch = '' + patchShebangs src/backends/native/gen-default-modes.py + ''; + + postInstall = '' + ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas" ''; enableParallelBuilding = true; + passthru = { + updateScript = gnome3.updateScript { + packageName = "mutter"; + attrPath = "gnome3.mutter"; + }; + }; + meta = with stdenv.lib; { platforms = platforms.linux; maintainers = gnome3.maintainers; diff --git a/pkgs/desktops/gnome-3/core/mutter/fix-paths-328.patch b/pkgs/desktops/gnome-3/core/mutter/fix-paths-328.patch new file mode 100644 index 00000000000..6c40624a55d --- /dev/null +++ b/pkgs/desktops/gnome-3/core/mutter/fix-paths-328.patch @@ -0,0 +1,13 @@ +diff --git a/src/core/util.c b/src/core/util.c +index 5b8de18c7..546352a95 100644 +--- a/src/core/util.c ++++ b/src/core/util.c +@@ -635,7 +635,7 @@ meta_show_dialog (const char *type, + + args = g_ptr_array_new (); + +- append_argument (args, "zenity"); ++ append_argument (args, "@zenity@/bin/zenity"); + append_argument (args, type); + + if (display) diff --git a/pkgs/desktops/gnome-3/core/mutter/fix-paths.patch b/pkgs/desktops/gnome-3/core/mutter/fix-paths.patch new file mode 100644 index 00000000000..6ac0a431f61 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/mutter/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/core/util.c b/src/core/util.c +index 57b73747d..f424cc81c 100644 +--- a/src/core/util.c ++++ b/src/core/util.c +@@ -636,7 +636,7 @@ meta_show_dialog (const char *type, + + args = g_ptr_array_new (); + +- append_argument (args, "zenity"); ++ append_argument (args, "@zenity@/bin/zenity"); + append_argument (args, type); + + if (display) diff --git a/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch b/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch index 051b7618612..37358c8432c 100644 --- a/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch +++ b/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch @@ -1,19 +1,15 @@ --- a/src/gnome-desktop/gnome-desktop-thumbnail-script.c +++ a/src/gnome-desktop/gnome-desktop-thumbnail-script.c -@@ -514,14 +514,10 @@ add_bwrap (GPtrArray *array, +@@ -536,9 +536,9 @@ add_bwrap (GPtrArray *array, g_return_val_if_fail (script->s_infile != NULL, FALSE); add_args (array, - "bwrap", - "--ro-bind", "/usr", "/usr", -- "--ro-bind", "/lib", "/lib", -- "--ro-bind", "/lib64", "/lib64", -+ "@bubblewrap_bin@", -+ "--ro-bind", "@storeDir@", "@storeDir@", - "--proc", "/proc", - "--dev", "/dev", -- "--symlink", "usr/bin", "/bin", -- "--symlink", "usr/sbin", "/sbin", - "--chdir", "/", - "--setenv", "GIO_USE_VFS", "local", - "--unshare-all", +- "--ro-bind", "/etc/ld.so.cache", "/etc/ld.so.cache", ++ "@bubblewrap_bin@", ++ "--ro-bind", "@storeDir@", "@storeDir@", ++ "--ro-bind", "/run/current-system", "/run/current-system", + NULL); + + /* These directories might be symlinks into /usr/... */ diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix index b581d8f0983..14551fb7d0c 100644 --- a/pkgs/desktops/gnome-3/core/nautilus/default.nix +++ b/pkgs/desktops/gnome-3/core/nautilus/default.nix @@ -1,19 +1,19 @@ { stdenv, fetchurl, meson, ninja, pkgconfig, gettext, libxml2 -, desktop-file-utils, python3, wrapGAppsHook , gtk, gnome3, gnome-autoar +, desktop-file-utils, python3, wrapGAppsHook , gtk3, gnome3, gnome-autoar , glib-networking, shared-mime-info, libnotify, libexif, libseccomp , exempi -, librsvg, tracker, tracker-miners, gexiv2, libselinux, gdk_pixbuf -, substituteAll, bubblewrap +, librsvg, tracker, tracker-miners, gexiv2, libselinux, gdk-pixbuf +, substituteAll, bubblewrap, gst_all_1, gsettings-desktop-schemas }: let pname = "nautilus"; - version = "3.30.5"; + version = "3.32.3"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "144r4py9b8w9ycsg6fggjg05kwvymh003qsb3h6apgpch5y3zgnv"; + sha256 = "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01"; }; nativeBuildInputs = [ @@ -22,9 +22,9 @@ in stdenv.mkDerivation rec { ]; buildInputs = [ - glib-networking shared-mime-info libexif gtk exempi libnotify libselinux - tracker tracker-miners gexiv2 libseccomp bubblewrap - gnome3.adwaita-icon-theme gnome3.gsettings-desktop-schemas + glib-networking shared-mime-info libexif gtk3 exempi libnotify libselinux + tracker tracker-miners gexiv2 libseccomp bubblewrap gst_all_1.gst-plugins-base + gnome3.adwaita-icon-theme gsettings-desktop-schemas ]; propagatedBuildInputs = [ gnome-autoar ]; @@ -32,7 +32,7 @@ in stdenv.mkDerivation rec { preFixup = '' gappsWrapperArgs+=( # Thumbnailers - --prefix XDG_DATA_DIRS : "${gdk_pixbuf}/share" + --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" --prefix XDG_DATA_DIRS : "${librsvg}/share" --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" ) diff --git a/pkgs/desktops/gnome-3/core/rygel/add-option-for-installation-sysconfdir.patch b/pkgs/desktops/gnome-3/core/rygel/add-option-for-installation-sysconfdir.patch new file mode 100644 index 00000000000..4259f93eb24 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/rygel/add-option-for-installation-sysconfdir.patch @@ -0,0 +1,38 @@ +diff --git a/meson.build b/meson.build +index 209d4187..58580980 100644 +--- a/meson.build ++++ b/meson.build +@@ -20,7 +20,11 @@ if not get_option('uninstalled') + rygel_datadir = join_paths(get_option('prefix'), get_option('datadir'), 'rygel') + rygel_libexecdir = join_paths(get_option('prefix'), get_option('libexecdir'), + 'rygel') +- rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir')) ++ if get_option('sysconfdir_install') != '' ++ rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir_install')) ++ else ++ rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir')) ++ endif + rygel_plugindir = join_paths(rygel_libdir, 'rygel-2.6', 'plugins') + rygel_enginedir = join_paths(rygel_libdir, 'rygel-2.6', 'engines') + rygel_presetdir = join_paths(rygel_datadir, 'rygel', 'presets') +@@ -55,7 +59,7 @@ conf.set_quoted('DATA_DIR', rygel_datadir) + conf.set_quoted('PLUGIN_DIR', rygel_plugindir) + conf.set_quoted('BIG_ICON_DIR', rygel_bigicondir) + conf.set_quoted('SMALL_ICON_DIR', rygel_smallicondir) +-conf.set_quoted('SYS_CONFIG_DIR', rygel_sysconfdir) ++conf.set_quoted('SYS_CONFIG_DIR', get_option('sysconfdir')) + conf.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir'))) + conf.set_quoted('MX_EXTRACT_PATH', join_paths(rygel_libexecdir, 'mx-extract')) + conf.set_quoted('DESKTOP_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'applications')) +diff --git a/meson_options.txt b/meson_options.txt +index f09cac58..ff11c548 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,6 +1,7 @@ + option('uninstalled', type: 'boolean', value: 'false', description: 'Run Rygel from build directory only') + option('api-docs', type: 'boolean', value: 'false', description: 'Build the API documentation') + option('systemd-user-units-dir', type : 'string', value : 'auto', description : 'Where to install the systemd user unit (use special values "auto" or "none", or pass a path') ++option('sysconfdir_install', type: 'string', value: '', description: 'sysconfdir to use during installation') + option('plugins', type : 'array', choices : ['external', 'gst-launch', 'lms', 'media-export', 'mpris', 'playbin', 'ruih', 'tracker']) + option('engines', type : 'array', choices : ['simple', 'gstreamer']) + option('examples', type : 'boolean', value : 'true') diff --git a/pkgs/desktops/gnome-3/core/rygel/default.nix b/pkgs/desktops/gnome-3/core/rygel/default.nix index 5d60500b363..c38e677a421 100644 --- a/pkgs/desktops/gnome-3/core/rygel/default.nix +++ b/pkgs/desktops/gnome-3/core/rygel/default.nix @@ -1,41 +1,93 @@ -{ stdenv, fetchurl, pkgconfig, vala, gettext, libxml2, gobject-introspection, gtk-doc, wrapGAppsHook, glib, gssdp, gupnp, gupnp-av, gupnp-dlna, gst_all_1, libgee, libsoup, gtk3, libmediaart, sqlite, systemd, tracker, shared-mime-info, gnome3 }: +{ stdenv +, fetchurl +, meson +, ninja +, pkgconfig +, vala +, gettext +, libxml2 +, gobject-introspection +, wrapGAppsHook +, python3 +, glib +, gssdp +, gupnp +, gupnp-av +, gupnp-dlna +, gst_all_1 +, libgee +, libsoup +, gtk3 +, libmediaart +, sqlite +, systemd +, tracker +, shared-mime-info +, gnome3 +}: -let +stdenv.mkDerivation rec { pname = "rygel"; - version = "0.36.2"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; + version = "0.38.1"; # TODO: split out lib - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ "out" "dev" ]; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0i12z6bzfzgcjidhxa2jsvpm4hqpab0s032z13jy2vbifrncfcnk"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1w8bi2rw91qyfny1zxhy32k4qn62hdjl2m38f75cp7wv6494d7w0"; }; nativeBuildInputs = [ - pkgconfig vala gettext libxml2 gobject-introspection gtk-doc wrapGAppsHook + meson + ninja + pkgconfig + vala + gettext + libxml2 + gobject-introspection + wrapGAppsHook + python3 ]; + buildInputs = [ - glib gssdp gupnp gupnp-av gupnp-dlna libgee libsoup gtk3 libmediaart sqlite systemd tracker shared-mime-info + glib + gssdp + gupnp + gupnp-av + gupnp-dlna + libgee + libsoup + gtk3 + libmediaart + sqlite + systemd + tracker + shared-mime-info ] ++ (with gst_all_1; [ - gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly ]); - configureFlags = [ - "--with-systemduserunitdir=$(out)/lib/systemd/user" - "--enable-apidocs" + mesonFlags = [ + "-Dsystemd-user-units-dir=${placeholder "out"}/lib/systemd/user" + "-Dapi-docs=false" "--sysconfdir=/etc" - ]; - - installFlags = [ - "sysconfdir=$(out)/etc" + "-Dsysconfdir_install=${placeholder "out"}/etc" ]; doCheck = true; - enableParallelBuilding = true; + patches = [ + ./add-option-for-installation-sysconfdir.patch + ]; + + postPatch = '' + patchShebangs data/xml/process-xml.py + ''; passthru = { updateScript = gnome3.updateScript { diff --git a/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/pkgs/desktops/gnome-3/core/simple-scan/default.nix index ef79f972ff0..de56b14d46f 100644 --- a/pkgs/desktops/gnome-3/core/simple-scan/default.nix +++ b/pkgs/desktops/gnome-3/core/simple-scan/default.nix @@ -1,19 +1,19 @@ { stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, python3, wrapGAppsHook -, cairo, gdk_pixbuf, colord, glib, gtk, gusb, packagekit, libwebp +, cairo, gdk-pixbuf, colord, glib, gtk3, gusb, packagekit, libwebp , libxml2, sane-backends, vala, gnome3, gobject-introspection }: stdenv.mkDerivation rec { - name = "simple-scan-${version}"; - version = "3.30.2"; + pname = "simple-scan"; + version = "3.32.2.1"; src = fetchurl { - url = "mirror://gnome/sources/simple-scan/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0dknvdjlnxrp9nxd3yr8wyjc4kv94nwglss8pr6rfvl4hnlly53i"; + url = "mirror://gnome/sources/simple-scan/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0xqb642bsd2hddsm4bd199vyq8jcipdlxm0br3mjlc5vjcxgkxyp"; }; buildInputs = [ - cairo gdk_pixbuf colord glib gnome3.defaultIconTheme gusb - gtk libwebp packagekit sane-backends vala + cairo gdk-pixbuf colord glib gnome3.adwaita-icon-theme gusb + gtk3 libwebp packagekit sane-backends vala ]; nativeBuildInputs = [ meson ninja gettext itstool pkgconfig python3 wrapGAppsHook libxml2 diff --git a/pkgs/desktops/gnome-3/core/sushi/default.nix b/pkgs/desktops/gnome-3/core/sushi/default.nix index 77c216e7376..86675f21f06 100644 --- a/pkgs/desktops/gnome-3/core/sushi/default.nix +++ b/pkgs/desktops/gnome-3/core/sushi/default.nix @@ -1,29 +1,27 @@ -{ stdenv, fetchurl, pkgconfig, file, intltool, gobject-introspection, glib -, clutter-gtk, clutter-gst, gnome3, aspell, hspell, gtksourceview, gjs +{ stdenv, fetchurl, pkgconfig, meson, gettext, gobject-introspection, glib +, clutter-gtk, clutter-gst, gnome3, gtksourceview, gjs , webkitgtk, libmusicbrainz5, icu, wrapGAppsHook, gst_all_1 -, gdk_pixbuf, librsvg, gtk3, harfbuzz }: +, gdk-pixbuf, librsvg, gtk3, harfbuzz, ninja }: stdenv.mkDerivation rec { - name = "sushi-${version}"; - version = "3.30.0"; + pname = "sushi"; + version = "3.32.1"; src = fetchurl { - url = "mirror://gnome/sources/sushi/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0zpaiw5r734fky3zq95a6szwn7srbkpixajqg2xvdivhhx4mbnnj"; + url = "mirror://gnome/sources/sushi/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"; }; - nativeBuildInputs = [ pkgconfig file intltool gobject-introspection wrapGAppsHook ]; + nativeBuildInputs = [ + pkgconfig meson ninja gettext gobject-introspection wrapGAppsHook + ]; buildInputs = [ glib gtk3 gnome3.evince icu harfbuzz - clutter-gtk clutter-gst gjs gtksourceview gdk_pixbuf + clutter-gtk clutter-gst gjs gtksourceview gdk-pixbuf librsvg libmusicbrainz5 webkitgtk gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good - # cannot find -laspell, -lhspell - aspell hspell ]; - enableParallelBuilding = true; - passthru = { updateScript = gnome3.updateScript { packageName = "sushi"; diff --git a/pkgs/desktops/gnome-3/core/totem/default.nix b/pkgs/desktops/gnome-3/core/totem/default.nix index 3565931e4df..a5388f2eae1 100644 --- a/pkgs/desktops/gnome-3/core/totem/default.nix +++ b/pkgs/desktops/gnome-3/core/totem/default.nix @@ -1,29 +1,28 @@ -{ stdenv, fetchurl, meson, ninja, intltool, gst_all_1 +{ stdenv, fetchurl, meson, ninja, gettext, gst_all_1 , clutter-gtk, clutter-gst, python3Packages, shared-mime-info , pkgconfig, gtk3, glib, gobject-introspection, totem-pl-parser -, wrapGAppsHook, itstool, libxml2, vala, gnome3 -, gdk_pixbuf, tracker, nautilus }: +, wrapGAppsHook, itstool, libxml2, vala, gnome3, grilo, grilo-plugins +, libpeas, adwaita-icon-theme, gnome-desktop, gsettings-desktop-schemas +, gdk-pixbuf, tracker, nautilus, xvfb_run }: stdenv.mkDerivation rec { - name = "totem-${version}"; - version = "3.30.0"; + pname = "totem"; + version = "3.32.1"; src = fetchurl { - url = "mirror://gnome/sources/totem/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0rahkybxbmxhlmrrgrzxny1xm7wycx7ib4blxp1i2l1q3i8s84b0"; + url = "mirror://gnome/sources/totem/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v"; }; doCheck = true; - NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0"; - - nativeBuildInputs = [ meson ninja vala pkgconfig intltool python3Packages.python itstool gobject-introspection wrapGAppsHook ]; + nativeBuildInputs = [ meson ninja vala pkgconfig gettext python3Packages.python itstool gobject-introspection wrapGAppsHook ]; buildInputs = [ - gtk3 glib gnome3.grilo clutter-gtk clutter-gst totem-pl-parser gnome3.grilo-plugins + gtk3 glib grilo clutter-gtk clutter-gst totem-pl-parser grilo-plugins 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 gnome3.libpeas shared-mime-info - gdk_pixbuf libxml2 gnome3.defaultIconTheme gnome3.gnome-desktop - gnome3.gsettings-desktop-schemas tracker nautilus + gst_all_1.gst-plugins-ugly gst_all_1.gst-libav libpeas shared-mime-info + gdk-pixbuf libxml2 adwaita-icon-theme gnome-desktop + gsettings-desktop-schemas tracker nautilus python3Packages.pygobject3 python3Packages.dbus-python # for plug-ins ]; @@ -40,6 +39,13 @@ stdenv.mkDerivation rec { "-Denable-vala=no" ]; + checkInputs = [ xvfb_run ]; + + checkPhase = '' + xvfb-run -s '-screen 0 800x600x24' \ + ninja test + ''; + wrapPrefixVariables = [ "PYTHONPATH" ]; passthru = { diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix deleted file mode 100644 index 7127ab71b1f..00000000000 --- a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix +++ /dev/null @@ -1,100 +0,0 @@ -{ stdenv, fetchurl, substituteAll, intltool, itstool, libxslt -, meson, ninja, pkgconfig, vala, wrapGAppsHook, bzip2, dbus, evolution-data-server -, exempi, flac, giflib, glib, gnome3, gst_all_1, icu, json-glib, libcue, libexif -, libgrss, libgsf, libiptcdata, libjpeg, libpng, libseccomp, libsoup, libtiff, libuuid -, libvorbis, libxml2, poppler, taglib, upower, totem-pl-parser }: - -let - pname = "tracker-miners"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - version = "2.1.5"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1kdq7fk9c80ngg65p31pjdk4za0fq7nfhblqsma9alvkam5kvzgm"; - }; - - nativeBuildInputs = [ - intltool - itstool - libxslt - meson - ninja - pkgconfig - vala - wrapGAppsHook - ]; - - # TODO: add libenca, libosinfo - buildInputs = [ - bzip2 - dbus - evolution-data-server - exempi - flac - giflib - glib - gnome3.gexiv2 - totem-pl-parser - gnome3.tracker - gst_all_1.gst-plugins-base - gst_all_1.gstreamer - icu - json-glib - libcue - libexif - libgrss - libgsf - libiptcdata - libjpeg - libpng - libseccomp - libsoup - libtiff - libuuid - libvorbis - libxml2 - poppler - taglib - upower - ]; - - mesonFlags = [ - # TODO: tests do not like our sandbox - "-Dfunctional_tests=false" - "-Ddbus_services=${placeholder "out"}/share/dbus-1/services" - ]; - - patches = [ - (substituteAll { - src = ./fix-paths.patch; - inherit (gnome3) tracker; - }) - # https://bugzilla.gnome.org/show_bug.cgi?id=795576 - (fetchurl { - url = https://bugzilla.gnome.org/attachment.cgi?id=371427; - sha256 = "187flswvzymjfxwfrrhizb1cvs780zm39aa3i2vwa5fbllr7kcpf"; - }) - ]; - - postInstall = '' - glib-compile-schemas "$out/share/glib-2.0/schemas" - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - versionPolicy = "none"; - }; - }; - - meta = with stdenv.lib; { - homepage = https://wiki.gnome.org/Projects/Tracker; - description = "Desktop-neutral user information store, search tool and indexer"; - maintainers = gnome3.maintainers; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch b/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch deleted file mode 100644 index 47ad114eb0b..00000000000 --- a/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- a/meson.build -+++ b/meson.build -@@ -25,15 +25,15 @@ - # - # This check acts as a guard to make sure we are being configured with the - # right prefix, among other things. -- tracker_store = find_program(join_paths(get_option('prefix'), get_option('libexecdir'), 'tracker-store')) -+ tracker_store = find_program(join_paths(tracker_miner.get_pkgconfig_variable('prefix'), 'libexec', 'tracker-store')) - tracker_store_path = tracker_store.path() - - # If we are building against an installed version of tracker core rather than - # having it as a subproject, these 'uninstalled' locations point to the actual - # installed locations. -- tracker_uninstalled_domain_rule = join_paths(get_option('prefix'), get_option('datadir'), 'tracker', 'domain-ontologies', 'default.rule') -- tracker_uninstalled_nepomuk_ontologies_dir = join_paths(get_option('prefix'), get_option('datadir'), 'tracker', 'ontologies', 'nepomuk') -- tracker_uninstalled_stop_words_dir = join_paths(get_option('prefix'), get_option('datadir'), 'tracker', 'stop-words', 'default.rule') -+ tracker_uninstalled_domain_rule = join_paths(tracker_miner.get_pkgconfig_variable('prefix'), 'share', 'tracker', 'domain-ontologies', 'default.rule') -+ tracker_uninstalled_nepomuk_ontologies_dir = join_paths(tracker_miner.get_pkgconfig_variable('prefix'), 'share', 'tracker', 'ontologies', 'nepomuk') -+ tracker_uninstalled_stop_words_dir = join_paths(tracker_miner.get_pkgconfig_variable('prefix'), 'share', 'tracker', 'stop-words', 'default.rule') - else - tracker_subproject = subproject('tracker', - default_options: [ ---- a/src/libtracker-miners-common/tracker-domain-ontology.c -+++ b/src/libtracker-miners-common/tracker-domain-ontology.c -@@ -323,7 +323,7 @@ - goto end; - } - } else { -- path = g_build_filename (SHAREDIR, "tracker", "domain-ontologies", -+ path = g_build_filename ("@tracker@", "share", "tracker", "domain-ontologies", - DEFAULT_RULE, NULL); - - if (!g_file_test (path, G_FILE_TEST_IS_REGULAR)) { -@@ -388,7 +388,7 @@ - if (!priv->ontology_location) { - gchar *ontology_path; - -- ontology_path = g_build_filename (SHAREDIR, "tracker", "ontologies", -+ ontology_path = g_build_filename ("@tracker@", "share", "tracker", "ontologies", - priv->ontology_name, NULL); - - if (!g_file_test (ontology_path, G_FILE_TEST_IS_DIR)) { diff --git a/pkgs/desktops/gnome-3/core/tracker/default.nix b/pkgs/desktops/gnome-3/core/tracker/default.nix deleted file mode 100644 index d744fc6c87c..00000000000 --- a/pkgs/desktops/gnome-3/core/tracker/default.nix +++ /dev/null @@ -1,78 +0,0 @@ -{ stdenv, fetchurl, fetchFromGitLab, intltool, meson, ninja, pkgconfig, gobject-introspection, python2 -, gtk-doc, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_43, glibcLocales -, libxml2, upower, glib, wrapGAppsHook, vala, sqlite, libxslt, libstemmer -, gnome3, icu, libuuid, networkmanager, libsoup, json-glib }: - -let - pname = "tracker"; - version = "2.1.6"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - outputs = [ "out" "dev" "devdoc" ]; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "143zapq50lggj3mpqg2y4rh1hgnkbn9vgvzpqxr7waiawsmx0awq"; - }; - - nativeBuildInputs = [ - meson ninja vala pkgconfig intltool libxslt wrapGAppsHook gobject-introspection - gtk-doc docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_43 glibcLocales - python2 # for data-generators - ]; - - buildInputs = [ - glib libxml2 sqlite upower icu networkmanager libsoup libuuid json-glib libstemmer - ]; - - LC_ALL = "en_US.UTF-8"; - - mesonFlags = [ - "-Ddbus_services=share/dbus-1/services" - "-Dsystemd_user_services=lib/systemd/user" - # TODO: figure out wrapping unit tests, some of them fail on missing gsettings-desktop-schemas - "-Dfunctional_tests=false" - ]; - - patches = [ - # Always generate tracker-sparql.h in time - (fetchurl { - url = https://gitlab.gnome.org/GNOME/tracker/commit/3cbfaa5b374e615098e60eb4430f108b642ebe76.diff; - sha256 = "0smavzvsglpghggrcl8sjflki13nh7pr0jl2yv6ymbf5hr1c4dws"; - }) - ]; - - postPatch = '' - patchShebangs utils/g-ir-merge/g-ir-merge - patchShebangs utils/data-generators/cc/generate - - # make .desktop Exec absolute - patch -p0 <c_signals[C_CHANGED]); - g_clear_object (&priv->settings); -+ g_settings_schema_unref (priv->schema); -+ g_settings_schema_source_unref (priv->schema_source); +@@ -1013,7 +1013,11 @@ } + else + { +- return g_settings_new (G_PASTE_SETTINGS_NAME); ++ // library used by introspection requires schemas but we cannot set XDG_DATA_DIRS for the library ++ GSettingsSchemaSource *schema_source = g_settings_schema_source_new_from_directory ("@gschemasCompiled@", NULL, FALSE, NULL); ++ g_autoptr (GSettingsSchema) schema = g_settings_schema_source_lookup (schema_source, G_PASTE_SETTINGS_NAME, FALSE); ++ g_settings_schema_source_unref (schema_source); ++ return g_settings_new_full (schema, NULL, NULL); + } + } - if (shell_settings) -@@ -1000,7 +1004,11 @@ - g_paste_settings_init (GPasteSettings *self) - { - GPasteSettingsPrivate *priv = g_paste_settings_get_instance_private (self); -- GSettings *settings = priv->settings = g_settings_new (G_PASTE_SETTINGS_NAME); -+ -+ // library used by introspection requires schemas but we cannot set XDG_DATA_DIRS for the library -+ GSettingsSchemaSource *schema_source = priv->schema_source = g_settings_schema_source_new_from_directory ("@gschemasCompiled@", NULL, FALSE, NULL); -+ priv->schema = g_settings_schema_source_lookup (schema_source, G_PASTE_SETTINGS_NAME, FALSE); -+ GSettings *settings = priv->settings = g_settings_new_full (priv->schema, NULL, NULL); - - priv->history_name = NULL; - priv->launch_ui = NULL; diff --git a/pkgs/desktops/gnome-3/misc/gtkhtml/default.nix b/pkgs/desktops/gnome-3/misc/gtkhtml/default.nix index 67f2552b434..a607a6eb6a0 100644 --- a/pkgs/desktops/gnome-3/misc/gtkhtml/default.nix +++ b/pkgs/desktops/gnome-3/misc/gtkhtml/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, gtk3, intltool -, gnome3, enchant, isocodes }: +, gnome3, enchant, isocodes, gsettings-desktop-schemas }: stdenv.mkDerivation rec { - name = "gtkhtml-${version}"; + pname = "gtkhtml"; version = "4.10.0"; src = fetchurl { - url = "mirror://gnome/sources/gtkhtml/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + url = "mirror://gnome/sources/gtkhtml/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "ca3b6424fb2c7ac5d9cb8fdafb69318fa2e825c9cf6ed17d1e38d9b29e5606c3"; }; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ gtk3 intltool gnome3.adwaita-icon-theme - gnome3.gsettings-desktop-schemas ]; + gsettings-desktop-schemas ]; propagatedBuildInputs = [ enchant isocodes ]; diff --git a/pkgs/desktops/gnome-3/misc/metacity/default.nix b/pkgs/desktops/gnome-3/misc/metacity/default.nix index 86e12b58536..8b1d2b05df1 100644 --- a/pkgs/desktops/gnome-3/misc/metacity/default.nix +++ b/pkgs/desktops/gnome-3/misc/metacity/default.nix @@ -4,7 +4,7 @@ , glib , gnome3 , gsettings-desktop-schemas -, gtk +, gtk3 , libcanberra-gtk3 , libgtop , libstartup_notification @@ -16,13 +16,13 @@ let pname = "metacity"; - version = "3.30.1"; + version = "3.32.0"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "12kr472gblx7jxh9rvnamy09bkg29ms2pgc0c3373piqmavi24qg"; + sha256 = "177dmb1smizfgkddk49n2kr90graj9r6xw5hg3aq0y2qqg6v4rcg"; }; patches = [ @@ -42,7 +42,7 @@ in stdenv.mkDerivation rec { buildInputs = [ glib gsettings-desktop-schemas - gtk + gtk3 libcanberra-gtk3 libgtop libstartup_notification diff --git a/pkgs/desktops/gnome-3/misc/nautilus-python/default.nix b/pkgs/desktops/gnome-3/misc/nautilus-python/default.nix index 4aec5ba4d84..4c2a551b1c7 100644 --- a/pkgs/desktops/gnome-3/misc/nautilus-python/default.nix +++ b/pkgs/desktops/gnome-3/misc/nautilus-python/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "nautilus-python"; - version = "1.2.2"; + version = "1.2.3"; outputs = [ "out" "dev" "doc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "04pib6fan6cq8x0fhf5gll2f5d2dh5pxrhj79qhi5l1yc7ys7kch"; + sha256 = "161050sx3sdxqcpjkjcpf6wl4kx0jydihga7mcvrj9c2f8ly0g07"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/gnome-3/misc/pidgin/default.nix b/pkgs/desktops/gnome-3/misc/pidgin/default.nix deleted file mode 100644 index c11fdfa6099..00000000000 --- a/pkgs/desktops/gnome-3/misc/pidgin/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv, fetchFromGitHub, glib }: - -stdenv.mkDerivation rec { - version = "1.0.1"; - basename = "pidgin-im-gnome-shell-extension"; - name = "${basename}-${version}"; - - src = fetchFromGitHub { - owner = "muffinmad"; - repo = "${basename}"; - rev = "v${version}"; - sha256 = "1567s2sfqig4jw0nrn134f5vkx0yq31q044grv3xk4vpl1f3z2lr"; - }; - - buildInputs = [ glib ]; - - configurePhase = ""; - buildPhase = ""; - installPhase = '' - share_dir="$prefix/share" - extensions_dir="$share_dir/gnome-shell/extensions/pidgin@muffinmad" - mkdir -p "$extensions_dir" - mv *.js metadata.json dbus.xml gnome-shell-extension-pidgin.pot "$extensions_dir" - - schemas_dir="$share_dir/gsettings-schemas/${name}/glib-2.0/schemas" - mkdir -p "$schemas_dir" - mv schemas/* "$schemas_dir" # fix Emacs syntax highlighting: */ - glib-compile-schemas "$schemas_dir" - - locale_dir="$share_dir/locale" - mkdir -p "$locale_dir" - mv locale/* $locale_dir # fix Emacs syntax highlighting: */ - ''; - - meta = with stdenv.lib; { - homepage = https://github.com/muffinmad/pidgin-im-gnome-shell-extension; - description = "Make Pidgin IM conversations appear in the Gnome Shell message tray"; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = with maintainers; [ ]; - }; -} diff --git a/pkgs/desktops/gnome-3/misc/pomodoro/default.nix b/pkgs/desktops/gnome-3/misc/pomodoro/default.nix index 0a9b9bcfe9b..fcbceab24ea 100644 --- a/pkgs/desktops/gnome-3/misc/pomodoro/default.nix +++ b/pkgs/desktops/gnome-3/misc/pomodoro/default.nix @@ -1,49 +1,73 @@ -{ stdenv, fetchFromGitHub, fetchpatch, autoconf-archive, appstream-glib, intltool, pkgconfig, libtool, wrapGAppsHook, - dbus-glib, libcanberra, gst_all_1, vala, gnome3, gtk3, libxml2, autoreconfHook, - glib, gobject-introspection, libpeas +{ stdenv +, fetchFromGitHub +, autoconf-archive +, appstream-glib +, pkgconfig +, wrapGAppsHook +, libcanberra +, gst_all_1 +, vala +, gtk3 +, gom +, sqlite +, libxml2 +, autoreconfHook +, glib +, gobject-introspection +, libpeas +, gnome-shell +, gsettings-desktop-schemas +, adwaita-icon-theme +, gettext }: stdenv.mkDerivation rec { - version = "0.13.4"; - name = "gnome-shell-pomodoro-${version}"; + pname = "gnome-shell-pomodoro"; + version = "0.15.1"; src = fetchFromGitHub { owner = "codito"; repo = "gnome-pomodoro"; - rev = "${version}"; - sha256 = "0fiql99nhj168wbfhvzrhfcm4c4569gikd2zaf10vzszdqjahrl1"; + rev = version; + sha256 = "0nmgd122gsfka0p50mila88iwrzckq2r36a3h20lswn5qkn321i1"; }; - patches = [ - # build with Vala ≥ 0.42 - (fetchpatch { - url = https://github.com/codito/gnome-pomodoro/commit/36778823ca5bd94b2aa948e5d8718f84d99d9af0.patch; - sha256 = "0a9x0p5wny3an9xawam9nhpffw5m4kgwj5jvv0g6c2lwlfzrx2rh"; - }) - ]; - nativeBuildInputs = [ - autoreconfHook vala autoconf-archive libtool intltool appstream-glib - wrapGAppsHook pkgconfig libxml2 + appstream-glib + autoconf-archive + autoreconfHook + gettext + gobject-introspection + libxml2 + pkgconfig + vala + wrapGAppsHook ]; buildInputs = [ - glib gobject-introspection libpeas - dbus-glib libcanberra gst_all_1.gstreamer - gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good - gnome3.gsettings-desktop-schemas - gnome3.gnome-shell gtk3 gnome3.defaultIconTheme + adwaita-icon-theme + glib + gnome-shell + gom + gsettings-desktop-schemas + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gstreamer + gtk3 + libcanberra + libpeas + sqlite ]; meta = with stdenv.lib; { - homepage = http://gnomepomodoro.org/; - description = "A time management utility for GNOME based on the pomodoro technique"; + homepage = https://gnomepomodoro.org/; + description = "Time management utility for GNOME based on the pomodoro technique"; longDescription = '' This GNOME utility helps to manage time according to Pomodoro Technique. It intends to improve productivity and focus by taking short breaks. ''; - maintainers = with maintainers; [ jgeerds ]; - license = licenses.gpl3; + maintainers = with maintainers; [ worldofpeace ]; + license = licenses.gpl3Plus; platforms = platforms.linux; }; } diff --git a/pkgs/desktops/gnome-3/update.nix b/pkgs/desktops/gnome-3/update.nix index 2ee72d46993..f42b6723950 100644 --- a/pkgs/desktops/gnome-3/update.nix +++ b/pkgs/desktops/gnome-3/update.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, writeScript, python3, common-updater-scripts, coreutils, gnugrep, gnused }: +{ stdenv, lib, writeScript, python3, common-updater-scripts }: { packageName, attrPath ? packageName, versionPolicy ? "odd-unstable" }: let @@ -9,7 +9,7 @@ let package_name="$1" attr_path="$2" version_policy="$3" - PATH=${lib.makeBinPath [ common-updater-scripts coreutils gnugrep gnused python ]} + PATH=${lib.makeBinPath [ common-updater-scripts python ]} latest_tag=$(python "${./find-latest-version.py}" "$package_name" "$version_policy" "stable") update-source-version "$attr_path" "$latest_tag" ''; diff --git a/pkgs/desktops/gnustep/back/fixup-tools.patch b/pkgs/desktops/gnustep/back/fixup-tools.patch deleted file mode 100644 index a47de5478e3..00000000000 --- a/pkgs/desktops/gnustep/back/fixup-tools.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -c gnustep-back-0.24.0/Tools/GNUmakefile.preamble gnustep-back-0.24.0.patched/Tools/GNUmakefile.preamble ---- gnustep-back-0.24.0/Tools/GNUmakefile.preamble 2013-07-04 22:44:28.000000000 +0600 -+++ gnustep-back-0.24.0.patched/Tools/GNUmakefile.preamble 2014-12-01 16:40:37.000000000 +0600 -@@ -52,6 +52,9 @@ - # Additional libraries when linking applications - #ADDITIONAL_GUI_LIBS += - -+# Additional libraries when linking tools -+gpbs_TOOL_LIBS += -lgnustep-gui -lgnustep-base $(SYSTEM_LIBS) -+ - # - # Flags dealing with installing and uninstalling - # - diff --git a/pkgs/desktops/gnustep/base/fixup-base-makefile-installdir.patch b/pkgs/desktops/gnustep/base/fixup-base-makefile-installdir.patch deleted file mode 100644 index 482c72a5190..00000000000 --- a/pkgs/desktops/gnustep/base/fixup-base-makefile-installdir.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- gnustep-base-1.24.7/Makefile.postamble 2011-07-15 19:53:45.000000000 +0600 -+++ gnustep-base-1.24.7.patched/Makefile.postamble 2014-11-29 22:25:07.000000000 +0600 -@@ -38,13 +38,13 @@ - # Things to do after compiling - # after-all:: - --$(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional: -- $(ECHO_CREATING)$(MKDIRS) $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional$(END_ECHO) -+$(DESTDIR_GNUSTEP_MAKEFILES)/Additional: -+ $(ECHO_CREATING)$(MKDIRS) $(DESTDIR_GNUSTEP_MAKEFILES)/Additional$(END_ECHO) - - # Things to do before installing --before-install:: $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional -+before-install:: $(DESTDIR_GNUSTEP_MAKEFILES)/Additional - $(ECHO_NOTHING)$(INSTALL_DATA) base.make \ -- $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO) -+ $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO) - - # Things to do after installing - # after-install:: -@@ -54,7 +54,7 @@ - - # Things to do after uninstalling - after-uninstall:: -- $(ECHO_NOTHING)rm -f $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO) -+ $(ECHO_NOTHING)rm -f $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO) - - # Things to do before cleaning - # before-clean:: diff --git a/pkgs/desktops/gnustep/default.nix b/pkgs/desktops/gnustep/default.nix index ac324bc89a8..4f7c13e8e4a 100644 --- a/pkgs/desktops/gnustep/default.nix +++ b/pkgs/desktops/gnustep/default.nix @@ -1,4 +1,4 @@ -{ pkgs, newScope }: +{ pkgs, newScope, llvmPackages_6 }: let callPackage = newScope self; @@ -10,7 +10,9 @@ let gorm = callPackage ./gorm {}; projectcenter = callPackage ./projectcenter {}; system_preferences = callPackage ./systempreferences {}; - libobjc = callPackage ./libobjc2 {}; + libobjc = callPackage ./libobjc2 { + stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv; + }; make = callPackage ./make {}; back = callPackage ./back {}; base = callPackage ./base { giflib = pkgs.giflib_4_1; }; diff --git a/pkgs/desktops/gnustep/gorm/default.nix b/pkgs/desktops/gnustep/gorm/default.nix index 9f1b0ef47fe..c977c61dd09 100644 --- a/pkgs/desktops/gnustep/gorm/default.nix +++ b/pkgs/desktops/gnustep/gorm/default.nix @@ -1,13 +1,13 @@ { fetchurl, base, back, gsmakeDerivation, gui }: let - version = "1.2.23"; + version = "1.2.24"; in gsmakeDerivation { name = "gorm-${version}"; src = fetchurl { url = "ftp://ftp.gnustep.org/pub/gnustep/dev-apps/gorm-${version}.tar.gz"; - sha256 = "18pf9vvzvdk8bg4lhjb96y1kdkmb9ahmvrqv2581vn45pjxmmlnb"; + sha256 = "1jw7vm5ia7ias1mm5if7vvvb66q50zwiqw0ksj5g14f11v8l61rf"; }; buildInputs = [ base back gui ]; diff --git a/pkgs/desktops/gnustep/gorm/fix-gs-makefiles.patch b/pkgs/desktops/gnustep/gorm/fix-gs-makefiles.patch deleted file mode 100644 index c4b3d1e1d81..00000000000 --- a/pkgs/desktops/gnustep/gorm/fix-gs-makefiles.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -ru gorm-1.2.20/GNUmakefile gorm-1.2.20.patched/GNUmakefile ---- gorm-1.2.20/GNUmakefile 2010-05-30 12:55:26.000000000 +0600 -+++ gorm-1.2.20.patched/GNUmakefile 2014-12-10 22:21:18.000000000 +0600 -@@ -24,6 +24,23 @@ - # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - # - -+ifeq ($(GNUSTEP_MAKEFILES),) -+ GNUSTEP_MAKEFILES := $(shell gnustep-config --variable=GNUSTEP_MAKEFILES 2>/dev/null) -+ ifeq ($(GNUSTEP_MAKEFILES),) -+ $(warning ) -+ $(warning Unable to obtain GNUSTEP_MAKEFILES setting from gnustep-config!) -+ $(warning Perhaps gnustep-make is not properly installed,) -+ $(warning so gnustep-config is not in your PATH.) -+ $(warning ) -+ $(warning Your PATH is currently $(PATH)) -+ $(warning ) -+ endif -+endif -+ -+ifeq ($(GNUSTEP_MAKEFILES),) -+ $(error You need to set GNUSTEP_MAKEFILES before compiling!) -+endif -+ - PACKAGE_NAME = gorm - export PACKAGE_NAME - include $(GNUSTEP_MAKEFILES)/common.make diff --git a/pkgs/desktops/gnustep/gui/fixup-gui-makefile-installdir.patch b/pkgs/desktops/gnustep/gui/fixup-gui-makefile-installdir.patch deleted file mode 100644 index 30c6f56c032..00000000000 --- a/pkgs/desktops/gnustep/gui/fixup-gui-makefile-installdir.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- gnustep-gui-0.24.0/GNUmakefile.postamble 2010-05-17 22:38:59.000000000 +0600 -+++ gnustep-gui-0.24.0.patched/GNUmakefile.postamble 2014-12-01 13:44:05.000000000 +0600 -@@ -40,20 +40,20 @@ - # The following rule is important mainly for packaging, because in that case - # you install into a fake system tree, and the directory is not there. - # --$(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional: -- $(MKDIRS) $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional -+$(DESTDIR_GNUSTEP_MAKEFILES)/Additional: -+ $(MKDIRS) $(DESTDIR_GNUSTEP_MAKEFILES)/Additional - - # Things to do before installing --before-install:: $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional -+before-install:: $(DESTDIR_GNUSTEP_MAKEFILES)/Additional - $(INSTALL_DATA) gui.make \ -- $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/gui.make -+ $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/gui.make - - # Things to do after installing - # after-install:: - - # Things to do before uninstalling - before-uninstall:: -- rm -f $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/gui.make -+ rm -f $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/gui.make - - # Things to do after uninstalling - # after-uninstall:: diff --git a/pkgs/desktops/gnustep/gui/fixup-gui-textconverters-preamble.patch b/pkgs/desktops/gnustep/gui/fixup-gui-textconverters-preamble.patch deleted file mode 100644 index 23ec2db0fbd..00000000000 --- a/pkgs/desktops/gnustep/gui/fixup-gui-textconverters-preamble.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gnustep-gui-0.24.0/TextConverters/RTF/GNUmakefile.preamble 2008-06-10 10:01:49.000000000 +0600 -+++ gnustep-gui-0.24.0.patched/TextConverters/RTF/GNUmakefile.preamble 2014-12-01 13:02:11.000000000 +0600 -@@ -49,7 +49,7 @@ - ADDITIONAL_INCLUDE_DIRS +=-I../../Headers/Additions -I../../Headers - - # Additional LDFLAGS to pass to the linker --#ADDITIONAL_LDFLAGS += -+ADDITIONAL_LDFLAGS += -lgnustep-gui - - # Additional library directories the linker should search - ADDITIONAL_LIB_DIRS += -L../../Source/$(GNUSTEP_OBJ_DIR) diff --git a/pkgs/desktops/gnustep/gui/fixup-gui-tools-preamble.patch b/pkgs/desktops/gnustep/gui/fixup-gui-tools-preamble.patch deleted file mode 100644 index e57ddec75ad..00000000000 --- a/pkgs/desktops/gnustep/gui/fixup-gui-tools-preamble.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- gnustep-gui-0.24.0/Tools/GNUmakefile.preamble 2006-02-22 12:43:48.000000000 +0600 -+++ gnustep-gui-0.24.0.patched/Tools/GNUmakefile.preamble 2014-12-01 12:52:41.000000000 +0600 -@@ -32,9 +32,11 @@ - ADDITIONAL_LIB_DIRS += -L../Source/$(GNUSTEP_OBJ_DIR) -L../Model/$(GNUSTEP_OBJ_DIR) - - # Additional libraries when linking tools -+make_services_TOOL_LIBS += -lgnustep-base - gpbs_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS) - set_show_service_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS) - gopen_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS) -+gclose_TOOL_LIBS += -lgnustep-base - gcloseall_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS) - GSspell_TOOL_LIBS += $(ADDITIONAL_DEPENDS) - diff --git a/pkgs/desktops/gnustep/libobjc2/default.nix b/pkgs/desktops/gnustep/libobjc2/default.nix index 3aba235b3a7..b058bd87989 100644 --- a/pkgs/desktops/gnustep/libobjc2/default.nix +++ b/pkgs/desktops/gnustep/libobjc2/default.nix @@ -1,20 +1,17 @@ { stdenv, lib, fetchFromGitHub, cmake }: -let - version = "1.8.1"; -in - stdenv.mkDerivation rec { - name = "libobjc2-${version}"; + pname = "libobjc2"; + version = "2.0"; src = fetchFromGitHub { owner = "gnustep"; repo = "libobjc2"; rev = "v${version}"; - sha256 = "12v9pjg97h56mb114cqd22q1pdwhmxrgdw5hal74ddlrhiq1nzvi"; + sha256 = "1b4h0a4pqr8j6300qr2wmi33r7ysvp705gs0ypx69hbmifln0mlf"; }; - buildInputs = [ cmake ]; + nativeBuildInputs = [ cmake ]; cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]; diff --git a/pkgs/desktops/gnustep/make/default.nix b/pkgs/desktops/gnustep/make/default.nix index 6ef87cece4e..5e7db35a727 100644 --- a/pkgs/desktops/gnustep/make/default.nix +++ b/pkgs/desktops/gnustep/make/default.nix @@ -5,7 +5,8 @@ let in stdenv.mkDerivation rec { - name = "gnustep-make-${version}"; + pname = "gnustep-make"; + inherit version; src = fetchurl { url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-make-${version}.tar.gz"; diff --git a/pkgs/desktops/gnustep/make/gs-makefiles-additional.patch b/pkgs/desktops/gnustep/make/gs-makefiles-additional.patch deleted file mode 100644 index 98e22f37ee7..00000000000 --- a/pkgs/desktops/gnustep/make/gs-makefiles-additional.patch +++ /dev/null @@ -1,145 +0,0 @@ -diff -ru gnustep-make-2.6.6/common.make gnustep-make-2.6.6.patched/common.make ---- gnustep-make-2.6.6/common.make 2013-03-04 17:21:55.000000000 +0600 -+++ gnustep-make-2.6.6.patched/common.make 2014-12-09 21:29:10.000000000 +0600 -@@ -135,7 +135,9 @@ - endif - # Then include makefiles with flags/config options installed by the - # libraries themselves ---include $(GNUSTEP_MAKEFILES)/Additional/*.make -+ifneq ($(NIX_GNUSTEP_MAKEFILES_ADDITIONAL),) -+-include $(NIX_GNUSTEP_MAKEFILES_ADDITIONAL) -+endif - - # - # Determine target specific settings -diff -ru gnustep-make-2.6.6/GNUmakefile.in gnustep-make-2.6.6.patched/GNUmakefile.in ---- gnustep-make-2.6.6/GNUmakefile.in 2013-09-20 12:13:15.000000000 +0600 -+++ gnustep-make-2.6.6.patched/GNUmakefile.in 2014-12-07 20:35:27.000000000 +0600 -@@ -173,7 +173,6 @@ - "$(makedir)/$(GNUSTEP_TARGET_CPU)" \ - "$(makedir)/$(GNUSTEP_TARGET_DIR)" \ - "$(makedir)/$(GNUSTEP_TARGET_LDIR)" \ -- "$(makedir)/Additional" \ - "$(makedir)/Auxiliary" \ - "$(makedir)/Master" \ - "$(makedir)/Instance" \ -@@ -314,7 +313,6 @@ - -rmdir "$(makedir)/Instance" - -rmdir "$(makedir)/Master" - -rmdir "$(makedir)/Auxiliary" -- -rmdir "$(makedir)/Additional" - -rmdir "$(makedir)/$(GNUSTEP_TARGET_LDIR)" - -rmdir "$(makedir)/$(GNUSTEP_TARGET_DIR)" - -rmdir "$(makedir)/$(GNUSTEP_TARGET_CPU)" -diff -ru gnustep-make-2.6.6/gnustep-config.in gnustep-make-2.6.6.patched/gnustep-config.in ---- gnustep-make-2.6.6/gnustep-config.in 2013-07-02 16:06:24.000000000 +0600 -+++ gnustep-make-2.6.6.patched/gnustep-config.in 2014-12-09 21:29:49.000000000 +0600 -@@ -66,6 +66,7 @@ - echo " --variable=OBJCXX" - echo " --variable=GNUMAKE" - echo " --variable=GNUSTEP_MAKEFILES" -+ echo " --variable=NIX_GNUSTEP_MAKEFILES_ADDITIONAL" - echo " --variable=GNUSTEP_USER_DEFAULTS_DIR" - echo " --variable=GNUSTEP_HOST" - echo " --variable=GNUSTEP_HOST_CPU" -@@ -153,6 +154,8 @@ - - export GNUSTEP_MAKEFILES - -+export NIX_GNUSTEP_MAKEFILES_ADDITIONAL -+ - # - # If all they want to know if GNUSTEP_MAKEFILES or anything that - # we can compute only using GNUSTEP_MAKEFILES, we can print it out -@@ -168,6 +171,8 @@ - exit 0;; - --variable=GNUSTEP_MAKEFILES) echo "$GNUSTEP_MAKEFILES" - exit 0;; -+ --variable=NIX_GNUSTEP_MAKEFILES_ADDITIONAL) echo "$NIX_GNUSTEP_MAKEFILES_ADDITIONAL" -+ exit 0;; - --variable=GNUMAKE) echo "@GNUMAKE@" - exit 0;; - --debug-flags) @GNUMAKE@ -s -f "$GNUSTEP_MAKEFILES/empty.make" print-gnustep-make-objc-flags quiet=yes debug=yes 2>/dev/null -diff -ru gnustep-make-2.6.6/GNUstep.csh.in gnustep-make-2.6.6.patched/GNUstep.csh.in ---- gnustep-make-2.6.6/GNUstep.csh.in 2011-05-03 13:40:10.000000000 +0600 -+++ gnustep-make-2.6.6.patched/GNUstep.csh.in 2014-12-09 20:14:05.000000000 +0600 -@@ -130,6 +130,10 @@ - setenv GNUSTEP_MAKEFILES "@GNUSTEP_MAKEFILES@" - endif - -+if ( ! ${?NIX_GNUSTEP_MAKEFILES_ADDITIONAL} ) then -+ setenv NIX_GNUSTEP_MAKEFILES_ADDITIONAL "@NIX_GNUSTEP_MAKEFILES_ADDITIONAL@" -+endif -+ - if ( "${GNUSTEP_MAKE_STRICT_V2_MODE}" == "yes" ) then - unsetenv GNUSTEP_USER_DIR - unsetenv GNUSTEP_USER_ROOT -diff -ru gnustep-make-2.6.6/GNUstep.sh.in gnustep-make-2.6.6.patched/GNUstep.sh.in ---- gnustep-make-2.6.6/GNUstep.sh.in 2012-02-21 20:21:38.000000000 +0600 -+++ gnustep-make-2.6.6.patched/GNUstep.sh.in 2014-12-09 20:14:19.000000000 +0600 -@@ -173,6 +173,10 @@ - fi - export GNUSTEP_MAKEFILES - -+if [ -z "$NIX_GNUSTEP_MAKEFILES_ADDITIONAL" ]; then -+ NIX_GNUSTEP_MAKEFILES_ADDITIONAL=@NIX_GNUSTEP_MAKEFILES_ADDITIONAL@ -+fi -+export NIX_GNUSTEP_MAKEFILES_ADDITIONAL - - if [ "$GNUSTEP_MAKE_STRICT_V2_MODE" = "yes" ]; then - # Make sure this is never set in gnustep-make v2 strict mode; it -diff -ru gnustep-make-2.6.6/GNUstep-strict-v2.conf.in gnustep-make-2.6.6.patched/GNUstep-strict-v2.conf.in ---- gnustep-make-2.6.6/GNUstep-strict-v2.conf.in 2008-01-15 20:35:36.000000000 +0600 -+++ gnustep-make-2.6.6.patched/GNUstep-strict-v2.conf.in 2014-12-07 22:04:56.000000000 +0600 -@@ -47,7 +47,6 @@ - # Traditionally, this is /usr/GNUstep/System/Library/Makefiles - GNUSTEP_MAKEFILES=@GNUSTEP_MAKEFILES@ - -- - # This is where the user home directories are. Only used to provide - # NSUserDirectory in gnustep-base. Never used anywhere else. - GNUSTEP_SYSTEM_USERS_DIR=@GNUSTEP_SYSTEM_USERS_DIR@ -diff -ru gnustep-make-2.6.6/library-combo.make gnustep-make-2.6.6.patched/library-combo.make ---- gnustep-make-2.6.6/library-combo.make 2012-02-21 19:53:02.000000000 +0600 -+++ gnustep-make-2.6.6.patched/library-combo.make 2014-12-09 20:15:05.000000000 +0600 -@@ -142,7 +142,7 @@ - # - # Third-party foundations not using make package - # Our own foundation will install a base.make file into --# $GNUSTEP_MAKEFILES/Additional/ to set the needed flags -+# $NIX_GNUSTEP_MAKEFILES_ADDITIONAL to set the needed flags - # - ifeq ($(FOUNDATION_LIB), nx) - # -framework Foundation is used both to find headers, and to link -@@ -166,7 +166,7 @@ - - # - # FIXME - Ask Helge to move this inside his libFoundation, and have --# it installed as a $(GNUSTEP_MAKEFILES)/Additional/libFoundation.make -+# it installed as a $(NIX_GNUSTEP_MAKEFILES_ADDITIONAL)/libFoundation.make - # - ifeq ($(FOUNDATION_LIB),fd) - -include $(GNUSTEP_MAKEFILES)/libFoundation.make -@@ -193,7 +193,7 @@ - GUI_LIBS = - # - # Third-party GUI libraries - our own sets its flags into --# $(GNUSTEP_MAKEFILES)/Additional/gui.make -+# $(NIX_GNUSTEP_MAKEFILES_ADDITIONAL)/gui.make - # - ifeq ($(GUI_LIB), nx) - GUI_DEFINE = -DNeXT_GUI_LIBRARY=1 -diff -ru gnustep-make-2.6.6/rules.make gnustep-make-2.6.6.patched/rules.make ---- gnustep-make-2.6.6/rules.make 2013-07-04 16:05:44.000000000 +0600 -+++ gnustep-make-2.6.6.patched/rules.make 2014-12-09 21:31:04.000000000 +0600 -@@ -667,7 +667,9 @@ - exit 1$(END_ECHO) - endif - --$(GNUSTEP_MAKEFILES)/Additional/*.make: ; -+ifneq ($(NIX_GNUSTEP_MAKEFILES_ADDITIONAL),) -+$(NIX_GNUSTEP_MAKEFILES_ADDITIONAL): ; -+endif - - $(GNUSTEP_MAKEFILES)/Master/*.make: ; - diff --git a/pkgs/desktops/gnustep/projectcenter/fixup-preamble.patch b/pkgs/desktops/gnustep/projectcenter/fixup-preamble.patch deleted file mode 100644 index 3fe19a6a58b..00000000000 --- a/pkgs/desktops/gnustep/projectcenter/fixup-preamble.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -c ProjectCenter-0.6.2/GNUmakefile.preamble ProjectCenter-0.6.2.patched/GNUmakefile.preamble ---- ProjectCenter-0.6.2/GNUmakefile.preamble 2010-08-08 03:56:04.000000000 +0600 -+++ artyom/ProjectCenter-0.6.2.patched/GNUmakefile.preamble 2014-12-01 20:08:31.000000000 +0600 -@@ -39,7 +39,7 @@ - ADDITIONAL_INCLUDE_DIRS += -I./ -I./Headers - - # Additional LDFLAGS to pass to the linker --ADDITIONAL_LDFLAGS += -+ADDITIONAL_LDFLAGS += -lgnustep-base -lgnustep-gui - - # Additional library directories the linker should search - ADDITIONAL_LIB_DIRS += -L./Framework/ProjectCenter.framework/$(GNUSTEP_TARGET_LDIR) - -Diff finished. Mon Dec 1 20:08:50 2014 diff --git a/pkgs/desktops/lumina/default.nix b/pkgs/desktops/lumina/default.nix index 00ebfd8a725..10e75eea38f 100644 --- a/pkgs/desktops/lumina/default.nix +++ b/pkgs/desktops/lumina/default.nix @@ -1,84 +1,26 @@ -{ stdenv, fetchFromGitHub, fluxbox, xscreensaver, desktop-file-utils, - numlockx, xorg, qtbase, qtsvg, qtmultimedia, qtx11extras, qmake, - qttools, poppler, wrapGAppsHook -}: +{ pkgs, libsForQt5 }: -stdenv.mkDerivation rec { - name = "lumina-${version}"; - version = "1.4.0-p1"; +let + packages = self: with self; { + + lumina = callPackage ./lumina { }; + lumina-calculator = callPackage ./lumina-calculator { }; + lumina-pdf = callPackage ./lumina-pdf { }; + + preRequisitePackages = [ + pkgs.fluxbox + pkgs.libsForQt5.kwindowsystem + pkgs.numlockx + pkgs.qt5.qtsvg + pkgs.xscreensaver + ]; + + corePackages = [ + lumina + lumina-calculator + lumina-pdf + ]; - src = fetchFromGitHub { - owner = "trueos"; - repo = "lumina"; - rev = "v${version}"; - sha256 = "0jin0a2s6pjbpw7w1bz67dgqp0xlpw1a7nh8zv0qwdf954zczanp"; }; - nativeBuildInputs = [ - qmake - qttools - wrapGAppsHook - ]; - - buildInputs = [ - xorg.libxcb - xorg.libXdamage - xorg.xcbutilwm - xorg.xcbutilimage - qtbase - qtsvg - qtmultimedia - qtx11extras - poppler - fluxbox - xscreensaver - desktop-file-utils - numlockx - ]; - - patches = [ - ./avoid-absolute-path-on-sessdir.patch - ./LuminaOS-NixOS.cpp.patch - ]; - - prePatch = '' - # Copy Gentoo setup as NixOS setup and then patch it - # TODO: write a complete NixOS setup? - cp -a src-qt5/core/libLumina/LuminaOS-Gentoo.cpp src-qt5/core/libLumina/LuminaOS-NixOS.cpp - ''; - - postPatch = '' - # Fix location of poppler-qt5.h - substituteInPlace src-qt5/desktop-utils/lumina-pdf/mainUI.h \ - --replace '#include ' '#include ' - - # Fix plugin dir - substituteInPlace src-qt5/core/lumina-theme-engine/lthemeengine.pri \ - --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix" - - # Fix location of fluxbox styles - substituteInPlace src-qt5/core-utils/lumina-config/pages/page_fluxbox_settings.cpp \ - --replace 'LOS::AppPrefix()+"share/fluxbox' "\"${fluxbox}/share/fluxbox" - ''; - - qmakeFlags = [ - "LINUX_DISTRO=NixOS" - "CONFIG+=WITH_I18N" - "LRELEASE=${stdenv.lib.getDev qttools}/bin/lrelease" - ]; - - enableParallelBuilding = true; - - meta = with stdenv.lib; { - description = "A lightweight, portable desktop environment"; - longDescription = '' - The Lumina Desktop Environment is a lightweight system interface - that is designed for use on any Unix-like operating system. It - is based on QT5. - ''; - homepage = https://lumina-desktop.org; - license = licenses.bsd3; - platforms = platforms.unix; - maintainers = [ maintainers.romildo ]; - }; -} +in pkgs.lib.makeScope libsForQt5.newScope packages diff --git a/pkgs/desktops/lumina/lumina-calculator/default.nix b/pkgs/desktops/lumina/lumina-calculator/default.nix new file mode 100644 index 00000000000..70e0f2e3511 --- /dev/null +++ b/pkgs/desktops/lumina/lumina-calculator/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, qmake, qtbase, qttools }: + +stdenv.mkDerivation rec { + pname = "lumina-calculator"; + version = "2019-04-27"; + + src = fetchFromGitHub { + owner = "lumina-desktop"; + repo = pname; + rev = "ccb792fc713aa7163fffd37fc20c83ffe9ca7523"; + sha256 = "0cdyz94znycsc3qxg5bmg51bwms7586d4ja1bsmj8cb9pd3lv980"; + }; + + sourceRoot = "source/src-qt5"; + + nativeBuildInputs = [ qmake qttools ]; + + buildInputs = [ qtbase ]; + + qmakeFlags = [ + "CONFIG+=WITH_I18N" + "LRELEASE=${stdenv.lib.getDev qttools}/bin/lrelease" + ]; + + meta = with stdenv.lib; { + description = "Scientific calculator for the Lumina Desktop"; + homepage = https://github.com/lumina-desktop/lumina-calculator; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/desktops/lumina/lumina-pdf/default.nix b/pkgs/desktops/lumina/lumina-pdf/default.nix new file mode 100644 index 00000000000..62d59d18cc5 --- /dev/null +++ b/pkgs/desktops/lumina/lumina-pdf/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, qmake, qtbase, qttools, poppler }: + +stdenv.mkDerivation rec { + pname = "lumina-pdf"; + version = "2019-04-27"; + + src = fetchFromGitHub { + owner = "lumina-desktop"; + repo = pname; + rev = "645ed591ef91c3607d3ab87dd86f7acfd08b05c9"; + sha256 = "0gl943jb9c9rcgb5wksx3946hwlifghfd27r97skm9is8ih6k0vn"; + }; + + sourceRoot = "source/src-qt5"; + + nativeBuildInputs = [ qmake qttools ]; + + buildInputs = [ qtbase poppler ]; + + postPatch = '' + sed -i '1i\#include \' Renderer-poppler.cpp + ''; + + qmakeFlags = [ + "CONFIG+=WITH_I18N" + "LRELEASE=${stdenv.lib.getDev qttools}/bin/lrelease" + ]; + + enableParallelBuilding = false; + + meta = with stdenv.lib; { + description = "PDF viewer for the Lumina Desktop"; + homepage = https://github.com/lumina-desktop/lumina-pdf; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch b/pkgs/desktops/lumina/lumina/LuminaOS-NixOS.cpp.patch similarity index 100% rename from pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch rename to pkgs/desktops/lumina/lumina/LuminaOS-NixOS.cpp.patch diff --git a/pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch b/pkgs/desktops/lumina/lumina/avoid-absolute-path-on-sessdir.patch similarity index 100% rename from pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch rename to pkgs/desktops/lumina/lumina/avoid-absolute-path-on-sessdir.patch diff --git a/pkgs/desktops/lumina/lumina/default.nix b/pkgs/desktops/lumina/lumina/default.nix new file mode 100644 index 00000000000..c758fc38a1b --- /dev/null +++ b/pkgs/desktops/lumina/lumina/default.nix @@ -0,0 +1,89 @@ +{ stdenv, + fetchFromGitHub, + desktop-file-utils, + fluxbox, + numlockx, + qmake, + qtbase, + qtmultimedia, + qtsvg, + qttools, + qtx11extras, + xorg, + xscreensaver, + wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "lumina"; + version = "1.5.0"; + + src = fetchFromGitHub { + owner = "lumina-desktop"; + repo = pname; + rev = "v${version}"; + sha256 = "0rj2gzifr98db7i82cg3hg7l5yfik810pjpawg6n54qbzq987z25"; + }; + + nativeBuildInputs = [ + qmake + qttools + wrapGAppsHook + ]; + + buildInputs = [ + xorg.libxcb + xorg.libXcursor + xorg.libXdamage + xorg.xcbutilwm + xorg.xcbutilimage + qtbase + qtsvg + qtmultimedia + qtx11extras + fluxbox + xscreensaver + desktop-file-utils + numlockx + ]; + + patches = [ + ./avoid-absolute-path-on-sessdir.patch + ./LuminaOS-NixOS.cpp.patch + ]; + + prePatch = '' + # Copy Gentoo setup as NixOS setup and then patch it + # TODO: write a complete NixOS setup? + cp -a src-qt5/core/libLumina/LuminaOS-Gentoo.cpp src-qt5/core/libLumina/LuminaOS-NixOS.cpp + ''; + + postPatch = '' + # Fix plugin dir + substituteInPlace src-qt5/core/lumina-theme-engine/lthemeengine.pri \ + --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix" + + # Fix location of fluxbox styles + substituteInPlace src-qt5/core-utils/lumina-config/pages/page_fluxbox_settings.cpp \ + --replace 'LOS::AppPrefix()+"share/fluxbox' "\"${fluxbox}/share/fluxbox" + ''; + + qmakeFlags = [ + "LINUX_DISTRO=NixOS" + "CONFIG+=WITH_I18N" + "LRELEASE=${stdenv.lib.getDev qttools}/bin/lrelease" + ]; + + meta = with stdenv.lib; { + description = "A lightweight, portable desktop environment"; + longDescription = '' + The Lumina Desktop Environment is a lightweight system interface + that is designed for use on any Unix-like operating system. It + is based on QT5. + ''; + homepage = https://lumina-desktop.org; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/desktops/lxde/core/lxmenu-data.nix b/pkgs/desktops/lxde/core/lxmenu-data.nix index 6e8644b19b0..550e98c9dcc 100644 --- a/pkgs/desktops/lxde/core/lxmenu-data.nix +++ b/pkgs/desktops/lxde/core/lxmenu-data.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, intltool }: stdenv.mkDerivation rec { - name = "lxmenu-data-${version}"; + pname = "lxmenu-data"; version = "0.1.5"; src = fetchurl { - url = "mirror://sourceforge/lxde/${name}.tar.xz"; + url = "mirror://sourceforge/lxde/${pname}-${version}.tar.xz"; sha256 = "9fe3218d2ef50b91190162f4f923d6524c364849f87bcda8b4ed8eb59b80bab8"; }; diff --git a/pkgs/desktops/lxde/core/lxpanel/default.nix b/pkgs/desktops/lxde/core/lxpanel/default.nix index af9570a2c73..a24a33c2e76 100644 --- a/pkgs/desktops/lxde/core/lxpanel/default.nix +++ b/pkgs/desktops/lxde/core/lxpanel/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, gettext, m4, intltool, libxmlxx, keybinder -, gtk2, libX11, libfm, libwnck, libXmu, libXpm, cairo, gdk_pixbuf +, gtk2, libX11, libfm, libwnck, libXmu, libXpm, cairo, gdk-pixbuf , menu-cache, lxmenu-data, wirelesstools , supportAlsa ? false, alsaLib }: @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig gettext m4 intltool libxmlxx ]; buildInputs = [ - keybinder gtk2 libX11 libfm libwnck libXmu libXpm cairo gdk_pixbuf + keybinder gtk2 libX11 libfm libwnck libXmu libXpm cairo gdk-pixbuf menu-cache lxmenu-data m4 wirelesstools ] ++ stdenv.lib.optional supportAlsa alsaLib; diff --git a/pkgs/desktops/lxde/core/lxrandr/default.nix b/pkgs/desktops/lxde/core/lxrandr/default.nix index 49a71987e75..0866fd104d2 100644 --- a/pkgs/desktops/lxde/core/lxrandr/default.nix +++ b/pkgs/desktops/lxde/core/lxrandr/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk2, libX11, xrandr, withGtk3 ? false, gtk3 }: stdenv.mkDerivation rec { - name = "lxrandr-0.3.1"; + name = "lxrandr-0.3.2"; src = fetchurl { url = "mirror://sourceforge/lxde/${name}.tar.xz"; - sha256 = "6d98338485a90d9e47f6d08184df77ca0d9715517f8a45a914e861750589184e"; + sha256 = "04n3vgh3ix12p8jfs4w0dyfq3anbjy33h7g53wbbqqc0f74xyplb"; }; configureFlags = stdenv.lib.optional withGtk3 "--enable-gtk3"; diff --git a/pkgs/desktops/lxde/core/lxtask/default.nix b/pkgs/desktops/lxde/core/lxtask/default.nix index ad4b89165fa..104ab20835f 100644 --- a/pkgs/desktops/lxde/core/lxtask/default.nix +++ b/pkgs/desktops/lxde/core/lxtask/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk3, libintl }: stdenv.mkDerivation rec { - name = "lxtask-${version}"; - version = "0.1.8"; + pname = "lxtask"; + version = "0.1.9"; src = fetchurl { - url = "mirror://sourceforge/lxde/${name}.tar.xz"; - sha256 = "0h7g1fdngv939z1d05nzs86dplww5a3bpm0isxd7p1bjby047d6z"; + url = "mirror://sourceforge/lxde/${pname}-${version}.tar.xz"; + sha256 = "0cv4hx5dg01hbyi5p10pl78n0a40xajpq4wx9c7886pkmpq8isj1"; }; nativeBuildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/desktops/lxqt/compton-conf/default.nix b/pkgs/desktops/lxqt/compton-conf/default.nix index 479491b35d8..e639996f7c6 100644 --- a/pkgs/desktops/lxqt/compton-conf/default.nix +++ b/pkgs/desktops/lxqt/compton-conf/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, lxqt, +{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, lxqt, libconfig }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "compton-conf"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1vxbh0vr7wknr7rbmdbmy5md1fdkw3zwlgpbv16cwdplbv9m97xi"; + sha256 = "0bx21r83ahmsqf7bm1h17pi4y9js1iqsv7nwnlq58rc0ddkkhcdb"; }; nativeBuildInputs = [ @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" \ ''; - meta = with stdenv.lib; { + meta = with lib; { description = "GUI configuration tool for compton X composite manager"; homepage = https://github.com/lxqt/compton-conf; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/default.nix b/pkgs/desktops/lxqt/default.nix index db21a72cb9b..6b03c2a6c9e 100644 --- a/pkgs/desktops/lxqt/default.nix +++ b/pkgs/desktops/lxqt/default.nix @@ -42,6 +42,7 @@ let qps = callPackage ./qps { }; screengrab = callPackage ./screengrab { }; qlipper = callPackage ./qlipper { }; + lxqt-archiver = callPackage ./lxqt-archiver { }; preRequisitePackages = [ pkgs.gvfs # virtual file systems support for PCManFM-QT @@ -89,6 +90,7 @@ let compton-conf obconf-qt lximage-qt + lxqt-archiver ### QtDesktop project qps diff --git a/pkgs/desktops/lxqt/libfm-qt/default.nix b/pkgs/desktops/lxqt/libfm-qt/default.nix index 70675e1408c..c214f0b3dcd 100644 --- a/pkgs/desktops/lxqt/libfm-qt/default.nix +++ b/pkgs/desktops/lxqt/libfm-qt/default.nix @@ -1,18 +1,18 @@ { - stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, + lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, pcre, libexif, xorg, libfm, menu-cache, qtx11extras, qttools }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "libfm-qt"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1siqqn4waglymfi7c7lrmlxkylddw8qz0qfwqxr1hnmx3dsj9c36"; + sha256 = "00rn5i16h659zyp1dx213nc3jz7rx9phiw71zf6nspxzxsb8w2sc"; }; nativeBuildInputs = [ @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { menu-cache ]; - meta = with stdenv.lib; { + meta = with lib; { description = "Core library of PCManFM-Qt (Qt binding for libfm)"; homepage = https://github.com/lxqt/libfm-qt; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/liblxqt/default.nix b/pkgs/desktops/lxqt/liblxqt/default.nix index 1b19275ece9..d94b1ac0d03 100644 --- a/pkgs/desktops/lxqt/liblxqt/default.nix +++ b/pkgs/desktops/lxqt/liblxqt/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, +{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, libqtxdg, polkit-qt, kwindowsystem, xorg }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "liblxqt"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1cpl6sd2fifpflahm8fvrrscrv03sinfm03m7yc1k59y6nsbwi36"; + sha256 = "0g2502lcws5j74p82qhfryz9n51cvi85hb50r5s227xhkv91q65k"; }; nativeBuildInputs = [ @@ -27,18 +27,11 @@ stdenv.mkDerivation rec { xorg.libXScrnSaver ]; - cmakeFlags = [ - "-DLXQT_ETC_XDG_DIR=/run/current-system/sw/etc/xdg" - ]; - postPatch = '' - sed -i 's|set(LXQT_SHARE_DIR .*)|set(LXQT_SHARE_DIR "/run/current-system/sw/share/lxqt")|' CMakeLists.txt sed -i "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" CMakeLists.txt - substituteInPlace CMakeLists.txt \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" ''; - meta = with stdenv.lib; { + meta = with lib; { description = "Core utility library for all LXQt components"; homepage = https://github.com/lxqt/liblxqt; license = licenses.lgpl21Plus; diff --git a/pkgs/desktops/lxqt/libqtxdg/default.nix b/pkgs/desktops/lxqt/libqtxdg/default.nix index 852c4bddec8..799e4286803 100644 --- a/pkgs/desktops/lxqt/libqtxdg/default.nix +++ b/pkgs/desktops/lxqt/libqtxdg/default.nix @@ -1,29 +1,29 @@ -{ stdenv, fetchFromGitHub, cmake, qtbase, qtsvg }: +{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, qtsvg, lxqt-build-tools }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "libqtxdg"; - version = "3.3.0"; + version = "3.3.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0qgqqgy15h0d1fwk4mnbv2hirz8njjjlng64bv33rc6wwrsaa50b"; + sha256 = "0y3s0hva64m64j9lqgnja1li8zhlywqzv8xwjg8pyd2nr9h918db"; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake lxqt-build-tools ]; buildInputs = [ qtbase qtsvg ]; preConfigure = '' cmakeFlagsArray+=( - "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=$out/$qtPluginPrefix" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - "-DCMAKE_INSTALL_LIBDIR=lib" + "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=$out/$qtPluginPrefix" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-DCMAKE_INSTALL_LIBDIR=lib" ) ''; - meta = with stdenv.lib; { + meta = with lib; { description = "Qt implementation of freedesktop.org xdg specs"; homepage = https://github.com/lxqt/libqtxdg; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/libsysstat/default.nix b/pkgs/desktops/lxqt/libsysstat/default.nix index 74fa1b03fa6..dc2ce54d6ae 100644 --- a/pkgs/desktops/lxqt/libsysstat/default.nix +++ b/pkgs/desktops/lxqt/libsysstat/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchFromGitHub, cmake, qtbase, lxqt-build-tools }: +{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, lxqt-build-tools }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "libsysstat"; version = "0.4.2"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ qtbase ]; - meta = with stdenv.lib; { + meta = with lib; { description = "Library used to query system info and statistics"; homepage = https://github.com/lxqt/libsysstat; license = licenses.lgpl21Plus; diff --git a/pkgs/desktops/lxqt/lximage-qt/default.nix b/pkgs/desktops/lxqt/lximage-qt/default.nix index a0a83ad3469..33e6a1f99e5 100644 --- a/pkgs/desktops/lxqt/lximage-qt/default.nix +++ b/pkgs/desktops/lxqt/lximage-qt/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, +{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, qtx11extras, qtsvg, xorg, lxqt-build-tools, libfm-qt, libexif }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lximage-qt"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0zx9903ym5a9zk4m9khr22fj5sy57mg2v8wnk177wjm11lhic5v8"; + sha256 = "175l2w5w6iag01v05jq90pxx0al24wpw3mgsbcgqhl4z6h860r32"; }; nativeBuildInputs = [ @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { libexif ]; - meta = with stdenv.lib; { + meta = with lib; { description = "The image viewer and screenshot tool for lxqt"; homepage = https://github.com/lxqt/lximage-qt; license = licenses.gpl2; diff --git a/pkgs/desktops/lxqt/lxqt-about/default.nix b/pkgs/desktops/lxqt/lxqt-about/default.nix index 013be8eea4f..595141daffc 100644 --- a/pkgs/desktops/lxqt/lxqt-about/default.nix +++ b/pkgs/desktops/lxqt/lxqt-about/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg }: +{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-about"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "14b13v1r5ncz4ycg25ac9ppafiifc37qws8kcw078if72rp9n121"; + sha256 = "0dj2rhbhnkzmv1iqqyq0bcp03imwnvxdr7rnpqnrs9kkjacm8zvr"; }; nativeBuildInputs = [ @@ -25,12 +25,7 @@ stdenv.mkDerivation rec { libqtxdg ]; - postPatch = '' - substituteInPlace CMakeLists.txt \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "Dialogue window providing information about LXQt and the system it's running on"; homepage = https://github.com/lxqt/lxqt-about; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-admin/default.nix b/pkgs/desktops/lxqt/lxqt-admin/default.nix index 528f9a390f9..a49bb120791 100644 --- a/pkgs/desktops/lxqt/lxqt-admin/default.nix +++ b/pkgs/desktops/lxqt/lxqt-admin/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, polkit-qt }: +{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, polkit-qt }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-admin"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0sdb514hgha5yvmbzi6nm1yx1rmbkh5fam09ybidjwpdwl2l4pxx"; + sha256 = "121qj46app2bqdr24g5sz2mdjfd9w86wpgkwap46s0zgxm4li44i"; }; nativeBuildInputs = [ @@ -29,14 +29,9 @@ stdenv.mkDerivation rec { postPatch = '' sed "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" \ -i lxqt-admin-user/CMakeLists.txt - - for f in lxqt-admin-{user,time}/CMakeLists.txt; do - substituteInPlace $f \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" - done ''; - meta = with stdenv.lib; { + meta = with lib; { description = "LXQt system administration tool"; homepage = https://github.com/lxqt/lxqt-admin; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-archiver/default.nix b/pkgs/desktops/lxqt/lxqt-archiver/default.nix new file mode 100644 index 00000000000..da90826116f --- /dev/null +++ b/pkgs/desktops/lxqt/lxqt-archiver/default.nix @@ -0,0 +1,39 @@ +{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, json-glib, libfm-qt, qtbase, qttools, qtx11extras }: + +mkDerivation rec { + pname = "lxqt-archiver"; + version = "0.0.96"; + + src = fetchFromGitHub { + owner = "lxqt"; + repo = pname; + rev = version; + sha256 = "1vc9pzxrhznp65gdkzj3fzzivfqy712mwcxp3r25ar59d54alfpj"; + }; + + nativeBuildInputs = [ + cmake + pkgconfig + lxqt-build-tools + ]; + + buildInputs = [ + json-glib + libfm-qt + qtbase + qttools + qtx11extras + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + hardeningDisable = [ "format" ]; + + meta = with lib; { + description = "Archive tool for the LXQt desktop environment"; + homepage = https://github.com/lxqt/lxqt-archiver/; + license = licenses.gpl2; + platforms = with platforms; unix; + maintainers = with maintainers; [ jchw ]; + }; +} diff --git a/pkgs/desktops/lxqt/lxqt-build-tools/LXQtConfigVars.cmake b/pkgs/desktops/lxqt/lxqt-build-tools/LXQtConfigVars.cmake new file mode 100644 index 00000000000..fd7ef927f8b --- /dev/null +++ b/pkgs/desktops/lxqt/lxqt-build-tools/LXQtConfigVars.cmake @@ -0,0 +1,7 @@ +add_definitions("-DLXQT_RELATIVE_SHARE_DIR=\"${LXQT_RELATIVE_SHARE_DIR}\"") +add_definitions("-DLXQT_SHARE_DIR=\"${LXQT_SHARE_DIR}\"") +add_definitions("-DLXQT_RELATIVE_SHARE_TRANSLATIONS_DIR=\"${LXQT_RELATIVE_TRANSLATIONS_DIR}\"") +add_definitions("-DLXQT_SHARE_TRANSLATIONS_DIR=\"${LXQT_TRANSLATIONS_DIR}\"") +add_definitions("-DLXQT_GRAPHICS_DIR=\"${LXQT_GRAPHICS_DIR}\"") +add_definitions("-DLXQT_ETC_XDG_DIR=\"${LXQT_ETC_XDG_DIR}\"") +add_definitions("-DLXQT_DATA_DIR=\"${LXQT_DATA_DIR}\"") diff --git a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix index f55fa579ff4..626c99fcf9c 100644 --- a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix +++ b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, glib }: +{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, glib }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-build-tools"; version = "0.6.0"; @@ -11,13 +11,20 @@ stdenv.mkDerivation rec { sha256 = "0i7m9s4g5rsw28vclc9nh0zcapx85cqfwxkx7rrw7wa12svy7pm2"; }; - nativeBuildInputs = [ cmake pkgconfig ]; + nativeBuildInputs = [ cmake pkgconfig setupHook ]; buildInputs = [ qtbase glib pcre ]; - preConfigure = ''cmakeFlags+=" -DLXQT_ETC_XDG_DIR=$out/etc/xdg"''; + setupHook = ./setup-hook.sh; - meta = with stdenv.lib; { + # We're dependent on this macro doing add_definitions in most places + # But we have the setup-hook to set the values. + postInstall = '' + rm $out/share/cmake/lxqt-build-tools/modules/LXQtConfigVars.cmake + cp ${./LXQtConfigVars.cmake} $out/share/cmake/lxqt-build-tools/modules/LXQtConfigVars.cmake + ''; + + meta = with lib; { description = "Various packaging tools and scripts for LXQt applications"; homepage = https://github.com/lxqt/lxqt-build-tools; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-build-tools/setup-hook.sh b/pkgs/desktops/lxqt/lxqt-build-tools/setup-hook.sh new file mode 100644 index 00000000000..e40765116e9 --- /dev/null +++ b/pkgs/desktops/lxqt/lxqt-build-tools/setup-hook.sh @@ -0,0 +1,15 @@ +LXQtCMakePostHook() { + cmakeFlagsArray+=( + -DLXQT_LIBRARY_NAME=lxqt + -DLXQT_SHARE_DIR=$out/share/lxqt + -DLXQT_TRANSLATIONS_DIR=$out/share/lxqt/translations + -DLXQT_GRAPHICS_DIR=$out/share/lxqt/graphics + -DLXQT_ETC_XDG_DIR=$out/etc/xdg + -DLXQT_DATA_DIR=$out/share + -DLXQT_RELATIVE_SHARE_DIR=lxqt + -DLXQT_RELATIVE_SHARE_TRANSLATIONS_DIR=lxqt/translations + ) + +} + +postHooks+=(LXQtCMakePostHook) diff --git a/pkgs/desktops/lxqt/lxqt-config/default.nix b/pkgs/desktops/lxqt/lxqt-config/default.nix index d2c583b53fa..d775a93fff4 100644 --- a/pkgs/desktops/lxqt/lxqt-config/default.nix +++ b/pkgs/desktops/lxqt/lxqt-config/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, +{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qtx11extras, qttools, qtsvg, kwindowsystem, libkscreen, liblxqt, libqtxdg, xorg }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-config"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1pp2pw43zh8kwi2cxk909wn6bw7kba95b6bv96l2gmzhdqpfw2a7"; + sha256 = "0x1k08587i2pakxlrj2n0l82r179sfywnzn2cphxiy89r5zpn7vi"; }; nativeBuildInputs = [ @@ -38,27 +38,10 @@ stdenv.mkDerivation rec { ]; postPatch = '' - substituteInPlace src/CMakeLists.txt \ - --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" - - for f in \ - lxqt-config-file-associations/CMakeLists.txt \ - lxqt-config-brightness/CMakeLists.txt \ - lxqt-config-appearance/CMakeLists.txt \ - lxqt-config-locale/CMakeLists.txt \ - lxqt-config-monitor/CMakeLists.txt \ - lxqt-config-input/CMakeLists.txt \ - liblxqt-config-cursor/CMakeLists.txt \ - src/CMakeLists.txt - do - substituteInPlace $f \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" - done - sed -i "/\''${XORG_LIBINPUT_INCLUDE_DIRS}/a ${xorg.xf86inputlibinput.dev}/include/xorg" lxqt-config-input/CMakeLists.txt ''; - meta = with stdenv.lib; { + meta = with lib; { description = "Tools to configure LXQt and the underlying operating system"; homepage = https://github.com/lxqt/lxqt-config; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix index 5382be304ae..d836ddeea38 100644 --- a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix +++ b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg }: +{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-globalkeys"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "14bfkh54mn3jyq8g9ipy3xmc3n9lmlqpvm26kpqig7567hbncv7n"; + sha256 = "0q7hfbs4dhsgyzch2msq2hsfzzfgbc611ki9x1x132n7zqk76pmp"; }; nativeBuildInputs = [ @@ -26,17 +26,7 @@ stdenv.mkDerivation rec { libqtxdg ]; - postPatch = '' - for dir in autostart xdg; do - substituteInPlace $dir/CMakeLists.txt \ - --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" - done - - substituteInPlace config/CMakeLists.txt \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "Daemon used to register global keyboard shortcuts"; homepage = https://github.com/lxqt/lxqt-globalkeys; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix index 53826f62bcc..81a6a423a21 100644 --- a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix +++ b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, qtx11extras }: +{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, qtx11extras }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-notificationd"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1nawcxy2qnrngcxvwjwmmh4fn7mhnfgy1g77rn90243jvy29wv5f"; + sha256 = "1ihaf2i361j2snyy6kg8ccpfnc8hppvacmxjqzb1lpyaf1ajd139"; }; nativeBuildInputs = [ @@ -16,16 +16,6 @@ stdenv.mkDerivation rec { lxqt-build-tools ]; - postPatch = '' - substituteInPlace autostart/CMakeLists.txt \ - --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" - - for f in {config,src}/CMakeLists.txt; do - substituteInPlace $f \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" - done - ''; - buildInputs = [ qtbase qttools @@ -36,7 +26,7 @@ stdenv.mkDerivation rec { qtx11extras ]; - meta = with stdenv.lib; { + meta = with lib; { description = "The LXQt notification daemon"; homepage = https://github.com/lxqt/lxqt-notificationd; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix index f880aed63f8..83048ed7d57 100644 --- a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix +++ b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg }: +{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-openssh-askpass"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "19xcc6i7jg35780r4dfg4vwfp9x4pz5sqzagxnpzspz61jaj5ibv"; + sha256 = "04jmvhhlhhspwzj4hfq7fnaa3h7h02z3rlq8p55hzlzkvshqqh1q"; }; nativeBuildInputs = [ @@ -26,12 +26,7 @@ stdenv.mkDerivation rec { libqtxdg ]; - postPatch = '' - substituteInPlace CMakeLists.txt \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "GUI to query passwords on behalf of SSH agents"; homepage = https://github.com/lxqt/lxqt-openssh-askpass; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-panel/default.nix b/pkgs/desktops/lxqt/lxqt-panel/default.nix index f691357f25f..4558d36e554 100644 --- a/pkgs/desktops/lxqt/lxqt-panel/default.nix +++ b/pkgs/desktops/lxqt/lxqt-panel/default.nix @@ -1,5 +1,5 @@ { - stdenv, fetchFromGitHub, + lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, libdbusmenu, kwindowsystem, solid, kguiaddons, liblxqt, libqtxdg, lxqt-globalkeys, libsysstat, @@ -7,15 +7,15 @@ lxmenu-data, pcre, libXdamage }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-panel"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0jr7ylf6d35m0ckn884arjk4armknnw8iyph00gcphn5bqycbn8l"; + sha256 = "1py3i7qgm6h2iwjwqfjml1rp06s7ls1d7z5i9iizsmfshdzkaq86"; }; nativeBuildInputs = [ @@ -49,21 +49,7 @@ stdenv.mkDerivation rec { libXdamage ]; - postPatch = '' - for dir in autostart menu; do - substituteInPlace $dir/CMakeLists.txt \ - --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" - done - substituteInPlace panel/CMakeLists.txt \ - --replace "DESTINATION \''${LXQT_ETC_XDG_DIR}" "DESTINATION etc/xdg" - - for f in cmake/BuildPlugin.cmake panel/CMakeLists.txt; do - substituteInPlace $f \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" - done - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "The LXQt desktop panel"; homepage = https://github.com/lxqt/lxqt-panel; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/pkgs/desktops/lxqt/lxqt-policykit/default.nix index 862e0c08ced..d501d83947e 100644 --- a/pkgs/desktops/lxqt/lxqt-policykit/default.nix +++ b/pkgs/desktops/lxqt/lxqt-policykit/default.nix @@ -1,18 +1,18 @@ { - stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, + lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, polkit-qt, kwindowsystem, liblxqt, libqtxdg, pcre }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-policykit"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "05k39819nsdyg2pp1vk6g2hdpxqp78h6bhb0hp5rclf9ap5fpvvc"; + sha256 = "0mh9jw09r0mk8xmgvmzk3yyfix0pzqya28rcx71fqjpbdv1sc44l"; }; nativeBuildInputs = [ @@ -33,15 +33,7 @@ stdenv.mkDerivation rec { pcre ]; - postPatch = '' - substituteInPlace autostart/CMakeLists.txt \ - --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" - - substituteInPlace CMakeLists.txt \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "The LXQt PolicyKit agent"; homepage = https://github.com/lxqt/lxqt-policykit; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix index 9ebff5d4de5..9f8c66d826c 100644 --- a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix +++ b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, solid, kidletime, liblxqt, libqtxdg }: +{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, solid, kidletime, liblxqt, libqtxdg }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-powermanagement"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "08xdnb54lji09izzzfip8fw0gp17qkx66jm6i04zby4whx4mqniv"; + sha256 = "1nhp4a28bpczhwz8b8da355zsxr1qwmkrm3bwllwp39liw947clx"; }; nativeBuildInputs = [ @@ -28,17 +28,7 @@ stdenv.mkDerivation rec { libqtxdg ]; - postPatch = '' - substituteInPlace autostart/CMakeLists.txt \ - --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" - - for f in {config,src}/CMakeLists.txt; do - substituteInPlace $f \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" - done - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "Power management module for LXQt"; homepage = https://github.com/lxqt/lxqt-powermanagement; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix index 82f393cf8d5..604fc570e1f 100644 --- a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix +++ b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix @@ -1,10 +1,10 @@ { - stdenv, fetchFromGitHub, + lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qtx11extras, qttools, qtsvg, libdbusmenu, libqtxdg, libfm-qt }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-qtplugin"; version = "0.14.0"; @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { --replace "DESTINATION \"\''${QT_PLUGINS_DIR}" "DESTINATION \"$qtPluginPrefix" ''; - meta = with stdenv.lib; { + meta = with lib; { description = "LXQt Qt platform integration plugin"; homepage = https://github.com/lxqt/lxqt-qtplugin; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-runner/default.nix b/pkgs/desktops/lxqt/lxqt-runner/default.nix index dc2d8c58caf..d737bd91c91 100644 --- a/pkgs/desktops/lxqt/lxqt-runner/default.nix +++ b/pkgs/desktops/lxqt/lxqt-runner/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, lxqt-globalkeys, qtx11extras, +{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, lxqt-globalkeys, qtx11extras, menu-cache, muparser, pcre }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-runner"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1qyacig9ksnjrhws8cpk6arlaxn7kl0z39l3c62ql3m89mibsm88"; + sha256 = "01a8ycpkzcbh85y4025pd3nbpnzxh98ll1xwz4ykz13yvm0l2n1w"; }; nativeBuildInputs = [ @@ -32,15 +32,7 @@ stdenv.mkDerivation rec { pcre ]; - postPatch = '' - substituteInPlace autostart/CMakeLists.txt \ - --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" - - substituteInPlace CMakeLists.txt \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "Tool used to launch programs quickly by typing their names"; homepage = https://github.com/lxqt/lxqt-runner; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-session/default.nix b/pkgs/desktops/lxqt/lxqt-session/default.nix index 5b4d7b606c7..fbf2c7ddde7 100644 --- a/pkgs/desktops/lxqt/lxqt-session/default.nix +++ b/pkgs/desktops/lxqt/lxqt-session/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg, xorg, xdg-user-dirs }: +{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg, xorg, xdg-user-dirs }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-session"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0nla1ki23p1bwzw5hbmh9l8yg3b0f55kflgnvyfakmvpivjbz3k6"; + sha256 = "0s6b0lblb795zz1p7sy677c1iznhmdzc4vw3jkc2agmsrhm7if7s"; }; nativeBuildInputs = [ @@ -30,19 +30,7 @@ stdenv.mkDerivation rec { xdg-user-dirs ]; - postPatch = '' - for dir in autostart config; do - substituteInPlace $dir/CMakeLists.txt \ - --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" - done - - for f in lxqt-{config-session,leave,session}/CMakeLists.txt; do - substituteInPlace $f \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" - done - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "An alternative session manager ported from the original razor-session"; homepage = https://github.com/lxqt/lxqt-session; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/pkgs/desktops/lxqt/lxqt-sudo/default.nix index 7e3ca84109f..91159398b8f 100644 --- a/pkgs/desktops/lxqt/lxqt-sudo/default.nix +++ b/pkgs/desktops/lxqt/lxqt-sudo/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg, sudo }: +{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg, sudo }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-sudo"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0l8fq06kfsrmvg2fr8lqdsxr6fwxmxsa9zwaa3fs9inzaylm0jkh"; + sha256 = "1my0wpic20493rdlabp9ghag1g3nhwafk2yklkgczlajmarakgpc"; }; nativeBuildInputs = [ @@ -27,12 +27,7 @@ stdenv.mkDerivation rec { sudo ]; - postPatch = '' - substituteInPlace CMakeLists.txt \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "GUI frontend for sudo/su"; homepage = https://github.com/lxqt/lxqt-sudo; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/lxqt-themes/default.nix b/pkgs/desktops/lxqt/lxqt-themes/default.nix index 02591b9eb86..9d8da87fd5d 100644 --- a/pkgs/desktops/lxqt/lxqt-themes/default.nix +++ b/pkgs/desktops/lxqt/lxqt-themes/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools }: +{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "lxqt-themes"; version = "0.14.0"; @@ -16,14 +16,7 @@ stdenv.mkDerivation rec { lxqt-build-tools ]; - postPatch = '' - substituteInPlace CMakeLists.txt \ - --replace "DESTINATION \"\''${LXQT_GRAPHICS_DIR}" "DESTINATION \"share/lxqt/graphics" - substituteInPlace themes/CMakeLists.txt \ - --replace "DESTINATION \"\''${LXQT_SHARE_DIR}" "DESTINATION \"share/lxqt" - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "Themes, graphics and icons for LXQt"; homepage = https://github.com/lxqt/lxqt-themes; license = licenses.lgpl21; diff --git a/pkgs/desktops/lxqt/obconf-qt/default.nix b/pkgs/desktops/lxqt/obconf-qt/default.nix index a0d0a973ad7..a5be8f41967 100644 --- a/pkgs/desktops/lxqt/obconf-qt/default.nix +++ b/pkgs/desktops/lxqt/obconf-qt/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, qttools, +{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, qttools, qtx11extras, xorg, lxqt-build-tools, openbox, hicolor-icon-theme }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "obconf-qt"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "00v5w8qr3vs0k91flij9lz7y1cpp2g8ivgnmmm43ymjfiz5j6l27"; + sha256 = "15dizs072ylmld1lxwgqkvybqy8ms8zki5586xm305jnlmrkb4lq"; }; nativeBuildInputs = [ @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { hicolor-icon-theme ]; - meta = with stdenv.lib; { + meta = with lib; { description = "The Qt port of obconf, the Openbox configuration tool"; homepage = https://github.com/lxqt/obconf-qt; license = licenses.gpl2; diff --git a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix index dcc3ead31bf..7b7d7290320 100644 --- a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix +++ b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt, libpulseaudio, +{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt, libpulseaudio, pcre, qtbase, qttools, qtx11extras }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "pavucontrol-qt"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1vyjm6phgbxglk65c889bd73b0p2ffb5bsc89dmb07qzllyrjb4h"; + sha256 = "124dk41v8l5pv7afi1h7fgbhm8zj605yfd8b769sn7id2bqj7bis"; }; nativeBuildInputs = [ @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { pcre ]; - meta = with stdenv.lib; { + meta = with lib; { description = "A Pulseaudio mixer in Qt (port of pavucontrol)"; homepage = https://github.com/lxqt/pavucontrol-qt; license = licenses.gpl2; diff --git a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix index aa7479b02f8..168b7f35ad2 100644 --- a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix +++ b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt, qtbase, qttools, +{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt, qtbase, qttools, qtx11extras, libfm-qt, menu-cache, lxmenu-data }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "pcmanfm-qt"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0hf4qyn12mpr6rrla9mf6ka5gb4y36amk7d14ayr7yka1r16p8lz"; + sha256 = "1zchxlbyiifing94mqwh45pp7z3ihldknqiaz0kanq1cnma1jj6k"; }; nativeBuildInputs = [ @@ -28,14 +28,7 @@ stdenv.mkDerivation rec { lxmenu-data ]; - postPatch = '' - for dir in autostart config; do - substituteInPlace $dir/CMakeLists.txt \ - --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" - done - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "File manager and desktop icon manager (Qt port of PCManFM and libfm)"; homepage = https://github.com/lxqt/pcmanfm-qt; license = licenses.gpl2; diff --git a/pkgs/desktops/lxqt/qlipper/default.nix b/pkgs/desktops/lxqt/qlipper/default.nix index f5bdcf064fd..df717debbae 100644 --- a/pkgs/desktops/lxqt/qlipper/default.nix +++ b/pkgs/desktops/lxqt/qlipper/default.nix @@ -1,7 +1,6 @@ -{ stdenv, fetchFromGitHub, cmake, qtbase, qttools }: +{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, qttools }: -stdenv.mkDerivation rec { - name = "${pname}-${version}"; +mkDerivation rec { pname = "qlipper"; version = "5.1.1"; @@ -16,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ qtbase qttools ]; - meta = with stdenv.lib; { + meta = with lib; { description = "Cross-platform clipboard history applet"; homepage = https://github.com/pvanek/qlipper; license = licenses.gpl2Plus; diff --git a/pkgs/desktops/lxqt/qps/default.nix b/pkgs/desktops/lxqt/qps/default.nix index d46b7e14e33..942c9257c25 100644 --- a/pkgs/desktops/lxqt/qps/default.nix +++ b/pkgs/desktops/lxqt/qps/default.nix @@ -1,22 +1,22 @@ -{ stdenv, fetchFromGitHub, cmake, qtbase, qtx11extras, qttools, +{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, qtx11extras, qttools, lxqt-build-tools }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "qps"; - version = "1.10.19"; + version = "1.10.20"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1vyi1vw4z5j2sp9yhhv91wl2sbg4fh0djqslg1ssc7fww2ka6dx3"; + sha256 = "1g8j4cjy5x33jzjkx6vwyl5qbf9i2z2w01ipgk7nrik5drf9crbf"; }; nativeBuildInputs = [ cmake lxqt-build-tools ]; buildInputs = [ qtbase qtx11extras qttools ]; - meta = with stdenv.lib; { + meta = with lib; { description = "The Qt process manager"; homepage = https://github.com/lxqt/qps; license = licenses.gpl2; diff --git a/pkgs/desktops/lxqt/qterminal/default.nix b/pkgs/desktops/lxqt/qterminal/default.nix index f9a2e5ff0a1..10f525eb9e6 100644 --- a/pkgs/desktops/lxqt/qterminal/default.nix +++ b/pkgs/desktops/lxqt/qterminal/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtermwidget, +{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtermwidget, qtbase, qttools, qtx11extras }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "qterminal"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "071qz248j9gcqzchnrz8xamm07g4r2xyrmnb0a2vjkjd63pk2r8f"; + sha256 = "0bq6lvns56caijdmjm05nsj9vg69v9x5vid24bfxasck6q8nw24w"; }; nativeBuildInputs = [ @@ -24,11 +24,11 @@ stdenv.mkDerivation rec { qtermwidget ]; - meta = with stdenv.lib; { + meta = with lib; { description = "A lightweight Qt-based terminal emulator"; homepage = https://github.com/lxqt/qterminal; license = licenses.gpl2; platforms = with platforms; unix; - maintainers = with maintainers; [ romildo ]; + maintainers = with maintainers; [ romildo globin ]; }; } diff --git a/pkgs/desktops/lxqt/qtermwidget/default.nix b/pkgs/desktops/lxqt/qtermwidget/default.nix index 9e0798ecb52..e61360f6a3b 100644 --- a/pkgs/desktops/lxqt/qtermwidget/default.nix +++ b/pkgs/desktops/lxqt/qtermwidget/default.nix @@ -1,21 +1,21 @@ -{ stdenv, fetchFromGitHub, cmake, qtbase, qttools, lxqt-build-tools }: +{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, qttools, lxqt-build-tools }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "qtermwidget"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0wv8fssbc2w7kkpq9ngsa8wyjraggdhsbz36gyxyv8fy5m78jq0n"; + sha256 = "1pz8dwb86jpga4vfyn5v9n2s6dx3zh74yfp1kjsmsmhf878zs6lv"; }; nativeBuildInputs = [ cmake lxqt-build-tools ]; - buildInputs = [ qtbase qttools]; + buildInputs = [ qtbase qttools ]; - meta = with stdenv.lib; { + meta = with lib; { description = "A terminal emulator widget for Qt 5"; homepage = https://github.com/lxqt/qtermwidget; license = licenses.gpl2; diff --git a/pkgs/desktops/lxqt/screengrab/default.nix b/pkgs/desktops/lxqt/screengrab/default.nix index cc7f113b7d1..bac68f7166c 100644 --- a/pkgs/desktops/lxqt/screengrab/default.nix +++ b/pkgs/desktops/lxqt/screengrab/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, libqtxdg, xorg, autoPatchelfHook }: +{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, libqtxdg, xorg, autoPatchelfHook }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "screengrab"; - version = "1.100"; + version = "1.101"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1iqrmf581x9ab6zzjxm2509gg6fkn7hwril4v0aki7n7dgxw1c4g"; + sha256 = "111gnkhp77qkch7xqr7k3h8zrg4871gapyd4vvlpaj0gjhirjg6h"; }; nativeBuildInputs = [ @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { xorg.libXdmcp ]; - meta = with stdenv.lib; { + meta = with lib; { description = "Crossplatform tool for fast making screenshots"; homepage = https://github.com/lxqt/screengrab; license = licenses.gpl2; diff --git a/pkgs/desktops/lxqt/update.sh b/pkgs/desktops/lxqt/update.sh index f3dfc4d5975..47d3dfb3d5f 100755 --- a/pkgs/desktops/lxqt/update.sh +++ b/pkgs/desktops/lxqt/update.sh @@ -7,7 +7,7 @@ cd "$(dirname "${BASH_SOURCE[0]}")" root=../../.. export NIXPKGS_ALLOW_UNFREE=1 -lxqt_version=0.14.0 +lxqt_version=0.14.1 lxqtrepo=https://downloads.lxqt.org/${lxqt_version}.html version() { diff --git a/pkgs/desktops/mate/atril/default.nix b/pkgs/desktops/mate/atril/default.nix index 57f721f49a2..15dea9b1018 100644 --- a/pkgs/desktops/mate/atril/default.nix +++ b/pkgs/desktops/mate/atril/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk3, glib, libxml2, libsecret, poppler, itstool, hicolor-icon-theme, mate, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "atril-${version}"; - version = "1.20.3"; + pname = "atril"; + version = "1.22.1"; src = fetchurl { - url = "https://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "00vrqyfk370fdhlfv3m6n0l6hnx30hrsrcg1xja03957cgvcvnvr"; + url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0i2wgsksgwhrmajj1lay3iym4dcyj8cdd813yh5mrfz4rkv49190"; }; nativeBuildInputs = [ @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { meta = { description = "A simple multi-page document viewer for the MATE desktop"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.unix; }; diff --git a/pkgs/desktops/mate/caja-dropbox/default.nix b/pkgs/desktops/mate/caja-dropbox/default.nix index f84fe2fef2e..597391eb135 100644 --- a/pkgs/desktops/mate/caja-dropbox/default.nix +++ b/pkgs/desktops/mate/caja-dropbox/default.nix @@ -1,31 +1,49 @@ -{ stdenv, fetchurl, pkgconfig, gtk3, mate, pythonPackages }: +{ stdenv, fetchurl, substituteAll +, pkgconfig, gobject-introspection, gdk-pixbuf +, gtk3, mate, python3, dropbox }: +let + dropboxd = "${dropbox}/bin/dropbox"; +in stdenv.mkDerivation rec { - name = "caja-dropbox-${version}"; - version = "1.20.0"; + pname = "caja-dropbox"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0xjqcfi5n6hsfyw77blplkn30as0slkfzngxid1n6z7jz5yjq7vj"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "18cnd3yw2ingvl38mhmfbl5k0kfg8pzcf2649j00i6v90cwiril5"; }; + patches = [ + (substituteAll { + src = ./fix-cli-paths.patch; + inherit dropboxd; + }) + ]; + + strictDeps = true; + nativeBuildInputs = [ pkgconfig + gobject-introspection + gdk-pixbuf + (python3.withPackages (ps: with ps; [ + docutils + pygobject3 + ])) ]; buildInputs = [ gtk3 mate.caja - pythonPackages.python - pythonPackages.pygtk - pythonPackages.docutils + python3 ]; configureFlags = [ "--with-caja-extension-dir=$$out/lib/caja/extensions-2.0" ]; meta = with stdenv.lib; { description = "Dropbox extension for Caja file manager"; - homepage = https://github.com/mate-desktop/caja-dropbox; + homepage = "https://github.com/mate-desktop/caja-dropbox"; license = with licenses; [ gpl3 cc-by-nd-30 ]; platforms = platforms.unix; maintainers = [ maintainers.romildo ]; diff --git a/pkgs/desktops/mate/caja-dropbox/fix-cli-paths.patch b/pkgs/desktops/mate/caja-dropbox/fix-cli-paths.patch new file mode 100644 index 00000000000..de591f493f6 --- /dev/null +++ b/pkgs/desktops/mate/caja-dropbox/fix-cli-paths.patch @@ -0,0 +1,11 @@ +--- a/caja-dropbox.in ++++ b/caja-dropbox.in +@@ -70,7 +70,7 @@ DOWNLOADING = "Downloading Dropbox... %d%%" + UNPACKING = "Unpacking Dropbox... %d%%" + + PARENT_DIR = os.path.expanduser("~") +-DROPBOXD_PATH = "%s/.dropbox-dist/dropboxd" % PARENT_DIR ++DROPBOXD_PATH = "@dropboxd@" + DESKTOP_FILE = "@DESKTOP_FILE_DIR@/caja-dropbox.desktop" + + enc = locale.getpreferredencoding() diff --git a/pkgs/desktops/mate/caja-extensions/default.nix b/pkgs/desktops/mate/caja-extensions/default.nix index 64ef0cb57f2..ba21cb00d35 100644 --- a/pkgs/desktops/mate/caja-extensions/default.nix +++ b/pkgs/desktops/mate/caja-extensions/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, gtk3, dbus-glib, gupnp, mate, imagemagick, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, gupnp, mate, imagemagick, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "caja-extensions-${version}"; - version = "1.20.2"; + pname = "caja-extensions"; + version = "1.22.0"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "14w1xd33ggn6wdzqvcmj8rqc68w4k094lai6mqrgmv1zljifydqz"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1h866jmdd3qpjzi7wjj11krwiaadnlf21844g1zqfb4jgrzj773p"; }; nativeBuildInputs = [ @@ -17,7 +17,6 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 - dbus-glib gupnp mate.caja mate.mate-desktop @@ -29,12 +28,12 @@ stdenv.mkDerivation rec { substituteInPlace $f --replace "/usr/bin/convert" "${imagemagick}/bin/convert" done ''; - + configureFlags = [ "--with-cajadir=$$out/lib/caja/extensions-2.0" ]; meta = with stdenv.lib; { description = "Set of extensions for Caja file manager"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = licenses.gpl2; platforms = platforms.unix; maintainers = [ maintainers.romildo ]; diff --git a/pkgs/desktops/mate/caja-with-extensions/default.nix b/pkgs/desktops/mate/caja-with-extensions/default.nix new file mode 100644 index 00000000000..35e3cd198f6 --- /dev/null +++ b/pkgs/desktops/mate/caja-with-extensions/default.nix @@ -0,0 +1,20 @@ +{ stdenv, lib, makeWrapper, caja-extensions, caja, extensions ? [ caja-extensions ] }: + +stdenv.mkDerivation { + pname = "${caja.pname}-with-extensions"; + version = caja.version; + + phases = [ "installPhase" ]; + + nativeBuildInputs = [ makeWrapper ]; + + inherit caja; + + installPhase = '' + mkdir -p $out/bin + makeWrapper $caja/bin/caja $out/bin/caja \ + --set CAJA_EXTENSION_DIRS ${lib.concatMapStringsSep ":" (x: "${x.outPath}/lib/caja/extensions-2.0") extensions} + ''; + + inherit (caja.meta); +} diff --git a/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix index 130d44d6a1a..667a73eb630 100644 --- a/pkgs/desktops/mate/caja/default.nix +++ b/pkgs/desktops/mate/caja/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk3, libnotify, libxml2, libexif, exempi, mate, hicolor-icon-theme, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "caja-${version}"; - version = "1.20.3"; + pname = "caja"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "1wlrhcvhqving3pphbz50xnbp7z57mlkf7m36lfh8mim62kfmmd0"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "10b7yjimblymp1fpsrl4jb2k7kbhla2izsj3njfmg2n6fv9fy9iv"; }; nativeBuildInputs = [ @@ -28,12 +28,12 @@ stdenv.mkDerivation rec { patches = [ ./caja-extension-dirs.patch ]; - + configureFlags = [ "--disable-update-mimedb" ]; - + meta = { description = "File manager for the MATE desktop"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = with stdenv.lib.licenses; [ gpl2 lgpl2 ]; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.romildo ]; diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix index 7441a8f73ae..3970b2b2921 100644 --- a/pkgs/desktops/mate/default.nix +++ b/pkgs/desktops/mate/default.nix @@ -1,17 +1,15 @@ -{ pkgs, newScope }: +{ newScope }: let callPackage = newScope self; self = rec { - getRelease = version: - pkgs.stdenv.lib.concatStringsSep "." (pkgs.stdenv.lib.take 2 (pkgs.stdenv.lib.splitString "." version)); - atril = callPackage ./atril { }; caja = callPackage ./caja { }; caja-dropbox = callPackage ./caja-dropbox { }; caja-extensions = callPackage ./caja-extensions { }; + caja-with-extensions = callPackage ./caja-with-extensions { }; engrampa = callPackage ./engrampa { }; eom = callPackage ./eom { }; libmatekbd = callPackage ./libmatekbd { }; @@ -75,7 +73,6 @@ let mate-applets mate-backgrounds mate-calc - mate-icon-theme-faenza mate-indicator-applet mate-media mate-netbook @@ -90,7 +87,7 @@ let mozo pluma ]; - + }; in self diff --git a/pkgs/desktops/mate/engrampa/default.nix b/pkgs/desktops/mate/engrampa/default.nix index 1989ac8e12c..675648363f5 100644 --- a/pkgs/desktops/mate/engrampa/default.nix +++ b/pkgs/desktops/mate/engrampa/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gnome3, mate, hicolor-icon-theme, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gtk3, mate, hicolor-icon-theme, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "engrampa-${version}"; - version = "1.20.2"; + pname = "engrampa"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0fj957dfagw6p7mq5545h9j2w3hv18yqnkpypnr719r4g13d3f2v"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "06z38vfs15f5crrrgvcsqfb557fhpq1mqkj5fd9wb0hvi77hasrk"; }; nativeBuildInputs = [ @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { buildInputs = [ libxml2 - gnome3.gtk + gtk3 mate.caja hicolor-icon-theme mate.mate-desktop @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { meta = { description = "Archive Manager for MATE"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.romildo ]; diff --git a/pkgs/desktops/mate/eom/default.nix b/pkgs/desktops/mate/eom/default.nix index 3b830f73c76..cc683ab2db2 100644 --- a/pkgs/desktops/mate/eom/default.nix +++ b/pkgs/desktops/mate/eom/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, itstool, dbus-glib, exempi, lcms2, libexif, libjpeg, librsvg, libxml2, shared-mime-info, gnome3, mate, hicolor-icon-theme, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, itstool, exempi, lcms2, libexif, libjpeg, librsvg, libxml2, libpeas, shared-mime-info, gtk3, mate, hicolor-icon-theme, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "eom-${version}"; - version = "1.20.2"; + pname = "eom"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0440sfbidizn860w5avgwld08qc2fslrm0nx2659651cf3r7rw05"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "03lpxqvyaqhz4wmi07nxcyn5q73ym3dzm41cdid53f2dp9lk1mv4"; }; nativeBuildInputs = [ @@ -17,7 +17,6 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - dbus-glib exempi lcms2 libexif @@ -25,15 +24,15 @@ stdenv.mkDerivation rec { librsvg libxml2 shared-mime-info - gnome3.gtk - gnome3.libpeas + gtk3 + libpeas mate.mate-desktop hicolor-icon-theme ]; meta = { description = "An image viewing and cataloging program for the MATE desktop"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.romildo ]; diff --git a/pkgs/desktops/mate/libmatekbd/default.nix b/pkgs/desktops/mate/libmatekbd/default.nix index 15b81a62886..d6709c375e6 100644 --- a/pkgs/desktops/mate/libmatekbd/default.nix +++ b/pkgs/desktops/mate/libmatekbd/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, gtk3, mate, libxklavier }: +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libxklavier }: stdenv.mkDerivation rec { - name = "libmatekbd-${version}"; - version = "1.20.2"; + pname = "libmatekbd"; + version = "1.22.0"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "1l1zbphs4snswf4bkrwkk6gsmb44bdhymcfgaaspzbrcmw3y7hr1"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1dsr7618c92mhwabwhgxqsfp7gnf9zrz2z790jc5g085dxhg13y8"; }; nativeBuildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/desktops/mate/libmatemixer/default.nix b/pkgs/desktops/mate/libmatemixer/default.nix index 8bf0d9bec18..17fee5d61cb 100644 --- a/pkgs/desktops/mate/libmatemixer/default.nix +++ b/pkgs/desktops/mate/libmatemixer/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, pkgconfig, intltool, glib, mate +{ config, stdenv, fetchurl, pkgconfig, intltool, glib , alsaSupport ? stdenv.isLinux, alsaLib -, pulseaudioSupport ? stdenv.config.pulseaudio or true, libpulseaudio +, pulseaudioSupport ? config.pulseaudio or true, libpulseaudio , ossSupport ? false }: stdenv.mkDerivation rec { - name = "libmatemixer-${version}"; - version = "1.20.1"; + pname = "libmatemixer"; + version = "1.22.0"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "00p67mi0flsbgn15qpwq60rzf917s5islbmhirbvz6npcvv0d493"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1v0gpr55gj4mj8hzxbhgzrmhaxvs2inxhsmirvjw39sc7iplvrh9"; }; nativeBuildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/desktops/mate/libmateweather/default.nix b/pkgs/desktops/mate/libmateweather/default.nix index 9805b8d91b5..e4976f71ae6 100644 --- a/pkgs/desktops/mate/libmateweather/default.nix +++ b/pkgs/desktops/mate/libmateweather/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libsoup, tzdata, mate }: +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libsoup, tzdata }: stdenv.mkDerivation rec { - name = "libmateweather-${version}"; - version = "1.20.2"; + pname = "libmateweather"; + version = "1.22.0"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "1ksp1xn13m94sjnnrx2dyv7hlbgjbnbahwdyaq35r2419b366hxv"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1ribgcwl4ncfbcf9bkcbxrgc7yzajdnxg12837psngymkqswlp6a"; }; nativeBuildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix index 975c80b1d0c..9899256018a 100644 --- a/pkgs/desktops/mate/marco/default.nix +++ b/pkgs/desktops/mate/marco/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, libcanberra-gtk3, libgtop, gnome2, gnome3, mate, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, libcanberra-gtk3, libgtop, libstartup_notification, gnome3, gtk3, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "marco-${version}"; - version = "1.20.3"; + pname = "marco"; + version = "1.22.2"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "192nlr4ylisxisk0ljabm8v0a5sapdncj4gbw39q2fpr938ifs32"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0sc7x14229yj22ka1vlzbaqndwcgh6idypjmm9rydkj4n968jwry"; }; nativeBuildInputs = [ @@ -20,11 +20,11 @@ stdenv.mkDerivation rec { libxml2 libcanberra-gtk3 libgtop - gnome2.startup_notification - gnome3.gtk + libstartup_notification + gtk3 gnome3.zenity ]; - + meta = with stdenv.lib; { description = "MATE default window manager"; homepage = https://github.com/mate-desktop/marco; diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix index f9f0689fa65..ec7ad2b4294 100644 --- a/pkgs/desktops/mate/mate-applets/default.nix +++ b/pkgs/desktops/mate/mate-applets/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, itstool, gnome3, libwnck3, libgtop, libxml2, libnotify, polkit, upower, wirelesstools, mate, hicolor-icon-theme, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, itstool, gnome3, glib, gtk3, gtksourceview3, libwnck3, libgtop, libxml2, libnotify, polkit, upower, wirelesstools, mate, hicolor-icon-theme, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-applets-${version}"; - version = "1.20.3"; + pname = "mate-applets"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0y5501wliipxf43p2q9917r3ird7azlrbcwnj2q2q2zy00hvvk5f"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "19sjm2180ir8a264rz8m528qaqjpl3q3cq095ab0sbkp2igksrfx"; }; nativeBuildInputs = [ @@ -17,8 +17,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gnome3.gtk - gnome3.gtksourceview + gtk3 + gtksourceview3 gnome3.gucharmap libwnck3 libgtop @@ -33,12 +33,12 @@ stdenv.mkDerivation rec { ]; configureFlags = [ "--enable-suid=no" ]; - - NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0"; + + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; meta = with stdenv.lib; { description = "Applets for use with the MATE panel"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = with licenses; [ gpl2Plus lgpl2Plus ]; platforms = platforms.linux; maintainers = [ maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mate-backgrounds/default.nix b/pkgs/desktops/mate/mate-backgrounds/default.nix index 79a322ccb0a..2667c25959e 100644 --- a/pkgs/desktops/mate/mate-backgrounds/default.nix +++ b/pkgs/desktops/mate/mate-backgrounds/default.nix @@ -1,19 +1,19 @@ -{ stdenv, fetchurl, intltool, mate }: +{ stdenv, fetchurl, intltool }: stdenv.mkDerivation rec { - name = "mate-backgrounds-${version}"; - version = "1.20.0"; + pname = "mate-backgrounds"; + version = "1.22.0"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0pcnjcw00y8hf2bwfrb5sbk2511cbg4fr8vgvgqswcwjp9y15cjp"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1j9ch04qi2q4mdcvb92w667ra9hpfdf2bfpi1dpw0nbph7r6qvj9"; }; nativeBuildInputs = [ intltool ]; meta = with stdenv.lib; { description = "Background images and data for MATE"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = licenses.gpl2; platforms = platforms.unix; maintainers = [ maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mate-calc/default.nix b/pkgs/desktops/mate/mate-calc/default.nix index d45563db8a1..64ede5101c7 100644 --- a/pkgs/desktops/mate/mate-calc/default.nix +++ b/pkgs/desktops/mate/mate-calc/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, mate, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-calc-${version}"; - version = "1.20.3"; + pname = "mate-calc"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0nv0q2c93rv36dhid7vf0w0rb6zdwyqaibfsmc7flj00qgsn3r5a"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0zin3w03zrkpb12rvay23bfk9fnjpybkr5mqzkpn9xfnqamhk8ld"; }; nativeBuildInputs = [ @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Calculator for the MATE desktop"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = [ licenses.gpl2Plus ]; platforms = platforms.linux; maintainers = [ maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mate-common/default.nix b/pkgs/desktops/mate/mate-common/default.nix index 63adb1849da..f85dd632bd1 100644 --- a/pkgs/desktops/mate/mate-common/default.nix +++ b/pkgs/desktops/mate/mate-common/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, mate }: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "mate-common-${version}"; - version = "1.20.0"; + pname = "mate-common"; + version = "1.22.0"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0h8s2qhc6f5flslx05cd3xxg243c67vv03spjiag14p8kqqrqvb1"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "11lwckndizawbq993ws8lqp59vsc873zri0m8s1i5zyc4qx9f69z"; }; meta = { description = "Common files for development of MATE packages"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = stdenv.lib.licenses.gpl3; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix index 8697a150881..a06c24b9c72 100644 --- a/pkgs/desktops/mate/mate-control-center/default.nix +++ b/pkgs/desktops/mate/mate-control-center/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, dbus-glib, libxklavier, libcanberra-gtk3, librsvg, libappindicator-gtk3, - desktop-file-utils, gnome3, mate, hicolor-icon-theme, wrapGAppsHook + desktop-file-utils, gnome3, gtk3, mate, hicolor-icon-theme, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-control-center-${version}"; - version = "1.20.4"; + pname = "mate-control-center"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "1rjxndikj0w516nlvyzcss31l9qjwkzvns7ygasnjbl02bgml9a4"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0w9w3wkxksbhzyd96y1x6yxb0q5lkp16y8i42564b6njvwqch5a0"; }; nativeBuildInputs = [ @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { libcanberra-gtk3 librsvg libappindicator-gtk3 - gnome3.gtk + gtk3 gnome3.dconf hicolor-icon-theme mate.mate-desktop @@ -37,8 +37,22 @@ stdenv.mkDerivation rec { mate.mate-settings-daemon ]; + patches = [ + # look up keyboard shortcuts in system data dirs + ./mate-control-center.keybindings-dir.patch + ]; + configureFlags = [ "--disable-update-mimedb" ]; + preFixup = '' + gappsWrapperArgs+=( + # WM keyboard shortcuts + --prefix XDG_DATA_DIRS : "${mate.marco}/share" + ) + ''; + + enableParallelBuilding = true; + meta = with stdenv.lib; { description = "Utilities to configure the MATE desktop"; homepage = https://github.com/mate-desktop/mate-control-center; diff --git a/pkgs/desktops/mate/mate-control-center/mate-control-center.keybindings-dir.patch b/pkgs/desktops/mate/mate-control-center/mate-control-center.keybindings-dir.patch new file mode 100644 index 00000000000..4a3036ae16e --- /dev/null +++ b/pkgs/desktops/mate/mate-control-center/mate-control-center.keybindings-dir.patch @@ -0,0 +1,106 @@ +From faeb322b01d3856f3cf163470cc38f4e88a8527c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= +Date: Sun, 28 Apr 2019 21:45:39 -0300 +Subject: [PATCH] Use system data dirs to locate key bindings + +--- + capplets/keybindings/Makefile.am | 3 +- + .../keybindings/mate-keybinding-properties.c | 58 ++++++++++++------- + 2 files changed, 39 insertions(+), 22 deletions(-) + +diff --git a/capplets/keybindings/Makefile.am b/capplets/keybindings/Makefile.am +index e5efb109..9501dd8f 100644 +--- a/capplets/keybindings/Makefile.am ++++ b/capplets/keybindings/Makefile.am +@@ -33,8 +33,7 @@ AM_CPPFLAGS = \ + $(MATECC_CAPPLETS_CFLAGS) \ + -DMATELOCALEDIR="\"$(datadir)/locale\"" \ + -DMATECC_DATA_DIR="\"$(pkgdatadir)\"" \ +- -DMATECC_UI_DIR="\"$(uidir)\"" \ +- -DMATECC_KEYBINDINGS_DIR="\"$(pkgdatadir)/keybindings\"" ++ -DMATECC_UI_DIR="\"$(uidir)\"" + CLEANFILES = \ + $(MATECC_CAPPLETS_CLEANFILES) \ + $(desktop_DATA) \ +diff --git a/capplets/keybindings/mate-keybinding-properties.c b/capplets/keybindings/mate-keybinding-properties.c +index 4f257333..cf1891d2 100644 +--- a/capplets/keybindings/mate-keybinding-properties.c ++++ b/capplets/keybindings/mate-keybinding-properties.c +@@ -1033,39 +1033,57 @@ static void + reload_key_entries (GtkBuilder *builder) + { + gchar **wm_keybindings; +- GDir *dir; +- const char *name; + GList *list, *l; ++ const gchar * const * data_dirs; ++ GHashTable *loaded_files; ++ guint i; + + wm_keybindings = wm_common_get_current_keybindings(); + + clear_old_model (builder); + +- dir = g_dir_open (MATECC_KEYBINDINGS_DIR, 0, NULL); +- if (!dir) +- return; +- +- list = NULL; +- for (name = g_dir_read_name (dir) ; name ; name = g_dir_read_name (dir)) ++ loaded_files = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); ++ data_dirs = g_get_system_data_dirs (); ++ for (i = 0; data_dirs[i] != NULL; i++) + { +- if (g_str_has_suffix (name, ".xml")) ++ g_autofree gchar *dir_path = NULL; ++ GDir *dir; ++ const gchar *name; ++ ++ dir_path = g_build_filename (data_dirs[i], "mate-control-center", "keybindings", NULL); ++ g_debug ("Keybinding dir: %s", dir_path); ++ ++ dir = g_dir_open (dir_path, 0, NULL); ++ if (!dir) ++ continue; ++ ++ for (name = g_dir_read_name (dir) ; name ; name = g_dir_read_name (dir)) + { +- list = g_list_insert_sorted (list, g_strdup (name), +- (GCompareFunc) g_ascii_strcasecmp); +- } +- } +- g_dir_close (dir); ++ if (g_str_has_suffix (name, ".xml") == FALSE) ++ continue; ++ ++ if (g_hash_table_lookup (loaded_files, name) != NULL) ++ { ++ g_debug ("Not loading %s, it was already loaded from another directory", name); ++ continue; ++ } + ++ g_hash_table_insert (loaded_files, g_strdup (name), g_strdup (dir_path)); ++ } ++ ++ g_dir_close (dir); ++ } ++ list = g_hash_table_get_keys (loaded_files); ++ list = g_list_sort(list, (GCompareFunc) g_str_equal); + for (l = list; l != NULL; l = l->next) + { +- gchar *path; +- +- path = g_build_filename (MATECC_KEYBINDINGS_DIR, l->data, NULL); +- append_keys_to_tree_from_file (builder, path, wm_keybindings); +- g_free (l->data); +- g_free (path); ++ g_autofree gchar *path = NULL; ++ path = g_build_filename (g_hash_table_lookup (loaded_files, l->data), l->data, NULL); ++ g_debug ("Keybinding file: %s", path); ++ append_keys_to_tree_from_file (builder, path, wm_keybindings); + } + g_list_free (list); ++ g_hash_table_destroy (loaded_files); + + /* Load custom shortcuts _after_ system-provided ones, + * since some of the custom shortcuts may also be listed diff --git a/pkgs/desktops/mate/mate-desktop/default.nix b/pkgs/desktops/mate/mate-desktop/default.nix index e6a43e6b457..58515a492b5 100644 --- a/pkgs/desktops/mate/mate-desktop/default.nix +++ b/pkgs/desktops/mate/mate-desktop/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, gnome3, mate, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, isocodes, gnome3, gtk3, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-desktop-${version}"; - version = "1.20.4"; + pname = "mate-desktop"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "073hn68f57ahif0znbx850x6ncsq50m7jg0sy1mllxjjqf3b1fxr"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1hr4r69855csqrcaqpbcyplsy4cwjfz7gabps2pzkh5132jycfr0"; }; nativeBuildInputs = [ @@ -17,12 +17,13 @@ stdenv.mkDerivation rec { buildInputs = [ gnome3.dconf - gnome3.gtk + gtk3 + isocodes ]; meta = with stdenv.lib; { description = "Library with common API for various MATE modules"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = licenses.gpl2; platforms = platforms.linux; maintainers = [ maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix index 03f8c62c448..7db01f59816 100644 --- a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix +++ b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoreconfHook, gtk3, mate, hicolor-icon-theme }: stdenv.mkDerivation rec { - name = "mate-icon-theme-faenza-${version}"; + pname = "mate-icon-theme-faenza"; version = "1.20.0"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "000vr9cnbl2qlysf2gyg1lsjirqdzmwrnh6d3hyrsfc0r2vh4wna"; }; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = { description = "Faenza icon theme from MATE"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mate-icon-theme/default.nix b/pkgs/desktops/mate/mate-icon-theme/default.nix index 9d813e715ff..9df0d0ce5a8 100644 --- a/pkgs/desktops/mate/mate-icon-theme/default.nix +++ b/pkgs/desktops/mate/mate-icon-theme/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, librsvg, hicolor-icon-theme, gtk3, mate }: +{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, librsvg, hicolor-icon-theme, gtk3 }: stdenv.mkDerivation rec { - name = "mate-icon-theme-${version}"; - version = "1.20.3"; + pname = "mate-icon-theme"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "10l58mjc2a69pm7srxvlav2b8b7nbzyvwjrlrk79a3gr6dd1mbk4"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1pn1xbmr4w4mi45nwk1qh18z9rlngmkhp9bw671yn4k6sii8fi3k"; }; nativeBuildInputs = [ pkgconfig intltool iconnamingutils ]; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = { description = "Icon themes from MATE"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = stdenv.lib.licenses.lgpl3; platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mate-indicator-applet/default.nix b/pkgs/desktops/mate/mate-indicator-applet/default.nix index c099d070221..e1a6e874d1d 100644 --- a/pkgs/desktops/mate/mate-indicator-applet/default.nix +++ b/pkgs/desktops/mate/mate-indicator-applet/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk3, libindicator-gtk3, mate, hicolor-icon-theme, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-indicator-applet-${version}"; - version = "1.20.1"; + pname = "mate-indicator-applet"; + version = "1.22.0"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0gxis834w8h33xmrx335jjad2xaqpkamirl0x4j7wsk4zs25jkyd"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0zad81qvcin4m329hfxhv4a5j8gf4gj8944mvjrdgdh71bzan2x1"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/mate/mate-media/default.nix b/pkgs/desktops/mate/mate-media/default.nix index 643f67cd1e9..93c765a9953 100644 --- a/pkgs/desktops/mate/mate-media/default.nix +++ b/pkgs/desktops/mate/mate-media/default.nix @@ -1,19 +1,20 @@ -{ stdenv, fetchurl, pkgconfig, intltool, libtool, libxml2, libcanberra-gtk3, gnome3, mate, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, libtool, libxml2, libcanberra-gtk3, gtk3, mate, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-media-${version}"; - version = "1.20.2"; + pname = "mate-media"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "06fka82smrphzj4dz9dw1566kmdscxvxl0rchj9qxg7aidy0rmnv"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "13g1n2ddgr1yxgl4fsqj3sgb9344b756kam9v3sq6vh0bxlr4yf2"; }; buildInputs = [ libxml2 libcanberra-gtk3 - gnome3.gtk + gtk3 mate.libmatemixer + mate.mate-panel mate.mate-desktop ]; @@ -26,7 +27,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Media tools for MATE"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = licenses.gpl3; platforms = platforms.unix; maintainers = [ maintainers.romildo maintainers.chpatrick ]; diff --git a/pkgs/desktops/mate/mate-menus/default.nix b/pkgs/desktops/mate/mate-menus/default.nix index 9a0db6107e1..e37a270f9dc 100644 --- a/pkgs/desktops/mate/mate-menus/default.nix +++ b/pkgs/desktops/mate/mate-menus/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, pkgconfig, intltool, glib, gobject-introspection, python, mate }: +{ stdenv, fetchurl, pkgconfig, intltool, glib, gobject-introspection, python3 }: stdenv.mkDerivation rec { - name = "mate-menus-${version}"; - version = "1.20.2"; + pname = "mate-menus"; + version = "1.22.0"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "18y4nka38dqqxycxpf7ig4vmrk4i05xqqjk4fxr1ghkj60xxyxz2"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1lkakbf2f1815c146z4xp5f0h4lim6jzr02681wbvzalc6k97v5c"; }; nativeBuildInputs = [ pkgconfig intltool gobject-introspection ]; - buildInputs = [ glib python ]; + buildInputs = [ glib python3 ]; makeFlags = [ "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/" diff --git a/pkgs/desktops/mate/mate-netbook/default.nix b/pkgs/desktops/mate/mate-netbook/default.nix index 35a7f1dae61..51d23e475ff 100644 --- a/pkgs/desktops/mate/mate-netbook/default.nix +++ b/pkgs/desktops/mate/mate-netbook/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk3, libwnck3, libfakekey, libXtst, mate, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-netbook-${version}"; - version = "1.20.1"; + pname = "mate-netbook"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "1ils0lav6j779kgz2py6zdalcfifpnp01clspbnkhb3v1ha1ncsq"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "00n162bskbvxhy4k2w14f9zwlsg3wgi43228ssx7sc2p95psmm64"; }; nativeBuildInputs = [ @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { Installing these utilities is recommended for netbooks and similar devices with low resolution displays. ''; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = with licenses; [ gpl3 lgpl2Plus ]; platforms = platforms.unix; maintainers = [ maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mate-notification-daemon/default.nix b/pkgs/desktops/mate/mate-notification-daemon/default.nix index e9f8b4b75b1..d53ae8efa35 100644 --- a/pkgs/desktops/mate/mate-notification-daemon/default.nix +++ b/pkgs/desktops/mate/mate-notification-daemon/default.nix @@ -1,13 +1,13 @@ -{ stdenv, fetchurl, pkgconfig, intltool, dbus-glib, libcanberra-gtk3, - libnotify, libwnck3, gnome3, mate, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, glib, libcanberra-gtk3, + libnotify, libwnck3, gtk3, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-notification-daemon-${version}"; - version = "1.20.2"; + pname = "mate-notification-daemon"; + version = "1.22.0"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0a60f67yjvlffrnviqgc64jz5l280f30h8br7wz2x415if5dmjyn"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "06z3xczhz5diy4kk7b8lrzljrnql6fz0n1jyy916cf8pnnanpg0j"; }; nativeBuildInputs = [ @@ -17,13 +17,14 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - dbus-glib libcanberra-gtk3 libnotify libwnck3 - gnome3.gtk + gtk3 ]; + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + meta = with stdenv.lib; { description = "Notification daemon for MATE"; homepage = https://github.com/mate-desktop/mate-notification-daemon; diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix index a7d34fc85a6..39d2c1812cb 100644 --- a/pkgs/desktops/mate/mate-panel/default.nix +++ b/pkgs/desktops/mate/mate-panel/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, dbus-glib, libwnck3, librsvg, libxml2, gnome3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, libwnck3, librsvg, libxml2, gnome3, gtk3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-panel-${version}"; - version = "1.20.4"; + pname = "mate-panel"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "02pdrwgl3plgv6l6nc45nsnmjppkxs4ybggwibd6mm777i9nb44d"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0pb9dpgsfjp6gsldg4ad2jz23xdvjfarmz4cjwkpakygkq5i6dma"; }; nativeBuildInputs = [ @@ -19,11 +19,10 @@ stdenv.mkDerivation rec { buildInputs = [ glib - dbus-glib libwnck3 librsvg libxml2 - gnome3.gtk + gtk3 gnome3.dconf mate.libmateweather mate.mate-desktop diff --git a/pkgs/desktops/mate/mate-polkit/default.nix b/pkgs/desktops/mate/mate-polkit/default.nix index 5f1dfaa5ba4..253472e3987 100644 --- a/pkgs/desktops/mate/mate-polkit/default.nix +++ b/pkgs/desktops/mate/mate-polkit/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, gtk3, gobject-introspection, libappindicator-gtk3, libindicator-gtk3, polkit, mate }: +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, gobject-introspection, libappindicator-gtk3, libindicator-gtk3, polkit }: stdenv.mkDerivation rec { - name = "mate-polkit-${version}"; - version = "1.20.2"; + pname = "mate-polkit"; + version = "1.22.0"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0zajisavrxiynmp4qg7zamvkpnhy9nra01czwn21h6hm2yakbayr"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "02r8n71xflhvw2hsf6g4svdahzyg3r4n6xamasyzqfhyn0mqmjy0"; }; nativeBuildInputs = [ @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Integrates polkit authentication for MATE desktop"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = [ licenses.gpl2Plus ]; platforms = platforms.unix; maintainers = [ maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mate-power-manager/default.nix b/pkgs/desktops/mate/mate-power-manager/default.nix index a9c162e5912..6ba6ac205ce 100644 --- a/pkgs/desktops/mate/mate-power-manager/default.nix +++ b/pkgs/desktops/mate/mate-power-manager/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, glib, itstool, libxml2, mate, libnotify, libcanberra-gtk3, dbus-glib, upower, gnome3, libtool, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, glib, itstool, libxml2, mate, libnotify, libcanberra-gtk3, dbus-glib, upower, gnome3, gtk3, libtool, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-power-manager-${version}"; - version = "1.20.3"; + pname = "mate-power-manager"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "17x47j5dkxxsq63bv2jwf3xgnddyy2dya4y14ryivq8q3jh5yhr5"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "06vs2w44l1s25j0mifkid02yncw0nvdxw8r4pp2jm18kxan4frms"; }; buildInputs = [ @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { itstool libxml2 libcanberra-gtk3 - gnome3.gtk + gtk3 gnome3.libgnome-keyring libnotify dbus-glib @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "The MATE Power Manager"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = licenses.gpl3; platforms = platforms.unix; maintainers = [ maintainers.romildo maintainers.chpatrick ]; diff --git a/pkgs/desktops/mate/mate-screensaver/default.nix b/pkgs/desktops/mate/mate-screensaver/default.nix index 089296a0b84..d1c1e481d70 100644 --- a/pkgs/desktops/mate/mate-screensaver/default.nix +++ b/pkgs/desktops/mate/mate-screensaver/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk3, dbus-glib, libXScrnSaver, libnotify, pam, systemd, mate, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-screensaver-${version}"; - version = "1.20.3"; + pname = "mate-screensaver"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0kmaj4psg7261h02dzarga6k5cb7n709d60xbfrhywnf5fb9787i"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0c4qq5szsbfrz8hgkmlby2k7f1qs8kgqf2shd63z0pc8p6f47vvc"; }; nativeBuildInputs = [ @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Screen saver and locker for the MATE desktop"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = with licenses; [ gpl2Plus lgpl2Plus ]; platforms = platforms.unix; maintainers = [ maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mate-sensors-applet/default.nix b/pkgs/desktops/mate/mate-sensors-applet/default.nix index 86cbd3a86d2..bd9ed9f6cbe 100644 --- a/pkgs/desktops/mate/mate-sensors-applet/default.nix +++ b/pkgs/desktops/mate/mate-sensors-applet/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, libxslt, libatasmart, libnotify, dbus-glib, lm_sensors, mate, hicolor-icon-theme, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, libxslt, libatasmart, libnotify, lm_sensors, mate, hicolor-icon-theme, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-sensors-applet-${version}"; - version = "1.20.3"; + pname = "mate-sensors-applet"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0s98qy3jkri9zh5xqffprqd00cqspaq9av0mcrcakjkl8wyfh2g6"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0rv19jxxviqqwk2wlhxlm98jsxa26scvs7ilp2i6plhn3ap2alq3"; }; nativeBuildInputs = [ @@ -23,7 +23,6 @@ stdenv.mkDerivation rec { libxslt libatasmart libnotify - dbus-glib lm_sensors mate.mate-panel hicolor-icon-theme diff --git a/pkgs/desktops/mate/mate-session-manager/default.nix b/pkgs/desktops/mate/mate-session-manager/default.nix index 31f447861fc..b7735ec77fe 100644 --- a/pkgs/desktops/mate/mate-session-manager/default.nix +++ b/pkgs/desktops/mate/mate-session-manager/default.nix @@ -4,12 +4,12 @@ }: stdenv.mkDerivation rec { - name = "mate-session-manager-${version}"; - version = "1.20.2"; + pname = "mate-session-manager"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "05qq07b568qf6zyy459wajhfpbx1wfrinw3hsbky7abdjfn529dy"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1ix8picxgc28m5zd0ww3zvzw6rz38wvzsrbqw28hghrfg926h6ig"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/mate/mate-settings-daemon/default.nix b/pkgs/desktops/mate/mate-settings-daemon/default.nix index 2be518bcc5e..5ee995402ec 100644 --- a/pkgs/desktops/mate/mate-settings-daemon/default.nix +++ b/pkgs/desktops/mate/mate-settings-daemon/default.nix @@ -1,14 +1,15 @@ -{ stdenv, fetchurl, pkgconfig, intltool, dbus-glib, libxklavier, libcanberra-gtk3, libnotify, nss, polkit, gnome3, mate, wrapGAppsHook -, pulseaudioSupport ? stdenv.config.pulseaudio or true, libpulseaudio -}: +{ stdenv, fetchurl, pkgconfig, intltool, glib, dbus-glib, libxklavier, + libcanberra-gtk3, libnotify, nss, polkit, gnome3, gtk3, mate, + pulseaudioSupport ? stdenv.config.pulseaudio or true, libpulseaudio, + wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-settings-daemon-${version}"; - version = "1.20.4"; + pname = "mate-settings-daemon"; + version = "1.22.0"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "10xlg2gb7fypnn5cnr14kbpjy5jdfz98ji615scz61zf5lljksxh"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0yr5v6b9hdk20j29smbw1k4fkyg82i5vlflmgly0vi5whgc74gym"; }; nativeBuildInputs = [ @@ -24,7 +25,7 @@ stdenv.mkDerivation rec { libnotify nss polkit - gnome3.gtk + gtk3 gnome3.dconf mate.mate-desktop mate.libmatekbd @@ -33,6 +34,8 @@ stdenv.mkDerivation rec { configureFlags = stdenv.lib.optional pulseaudioSupport "--enable-pulse"; + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + meta = with stdenv.lib; { description = "MATE settings daemon"; homepage = https://github.com/mate-desktop/mate-settings-daemon; diff --git a/pkgs/desktops/mate/mate-system-monitor/default.nix b/pkgs/desktops/mate/mate-system-monitor/default.nix index 5757f5eb9b4..6f5993cfc35 100644 --- a/pkgs/desktops/mate/mate-system-monitor/default.nix +++ b/pkgs/desktops/mate/mate-system-monitor/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtkmm3, libxml2, libgtop, libwnck3, librsvg, systemd, mate, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtkmm3, libxml2, libgtop, libwnck3, librsvg, systemd, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-system-monitor-${version}"; - version = "1.20.2"; + pname = "mate-system-monitor"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0f6sh23axzmcmyv0d837gbc0dixf1afh8951zrzp1y53rdgpa9qn"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0yh1sh5snd7ivchh6l9rbn1s7ia4j5ihhzhqkyjnhr8ln59dvcbm"; }; nativeBuildInputs = [ @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "System monitor for the MATE desktop"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = [ licenses.gpl2Plus ]; platforms = platforms.unix; maintainers = [ maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mate-terminal/default.nix b/pkgs/desktops/mate/mate-terminal/default.nix index 9b0018e8e2f..7ec9944aa0e 100644 --- a/pkgs/desktops/mate/mate-terminal/default.nix +++ b/pkgs/desktops/mate/mate-terminal/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, intltool, glib, itstool, libxml2, mate, gnome3, gtk3, vte, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-terminal-${version}"; - version = "1.20.2"; + pname = "mate-terminal"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0fqyi0az4ax1gyk5gymd7ssq2crdcd7slmqljc1b1pa283ql7p3q"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "08210ry5lrivsgzqpdaxrchhpj0n5s1q0x4pxmwdpnksjpcj11mn"; }; buildInputs = [ @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "The MATE Terminal Emulator"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = licenses.gpl3; platforms = platforms.unix; }; diff --git a/pkgs/desktops/mate/mate-themes/default.nix b/pkgs/desktops/mate/mate-themes/default.nix index 58feb32cfa8..9ed5515ea3e 100644 --- a/pkgs/desktops/mate/mate-themes/default.nix +++ b/pkgs/desktops/mate/mate-themes/default.nix @@ -1,18 +1,18 @@ { stdenv, fetchurl, pkgconfig, intltool, mate, gtk2, gtk3, - gtk_engines, gtk-engine-murrine, gdk_pixbuf, librsvg }: + gtk_engines, gtk-engine-murrine, gdk-pixbuf, librsvg }: stdenv.mkDerivation rec { - name = "mate-themes-${version}"; - version = "3.22.18"; + pname = "mate-themes"; + version = "3.22.20"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/themes/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0538bw8qismp16ymxbjk0ww7yjw1ch5v3f3d4vib3770xvgmmcfm"; + url = "http://pub.mate-desktop.org/releases/themes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0c3dhf8p9nc2maky4g9xr04iil9wwbdkmhpzynlc6lfg4ksqq2bx"; }; nativeBuildInputs = [ pkgconfig intltool gtk3 ]; - buildInputs = [ mate.mate-icon-theme gtk2 gtk_engines gdk_pixbuf librsvg ]; + buildInputs = [ mate.mate-icon-theme gtk2 gtk_engines gdk-pixbuf librsvg ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { meta = { description = "A set of themes from MATE"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = stdenv.lib.licenses.lgpl21; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mate-user-guide/default.nix b/pkgs/desktops/mate/mate-user-guide/default.nix index 5264c772a53..a9a0e171231 100644 --- a/pkgs/desktops/mate/mate-user-guide/default.nix +++ b/pkgs/desktops/mate/mate-user-guide/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, intltool, itstool, libxml2, yelp, mate }: +{ stdenv, fetchurl, intltool, itstool, libxml2, yelp }: stdenv.mkDerivation rec { - name = "mate-user-guide-${version}"; - version = "1.20.2"; + pname = "mate-user-guide"; + version = "1.22.2"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0cbi625xd7nsifvxbixsb29kj2zj14sn0sl61wkcvasz7whg7w6r"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "01kcszsjiriqp4hf1k4fhazi2yfqlkn415sfgx0jw0p821bzqf2h"; }; nativeBuildInputs = [ itstool intltool libxml2 ]; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "MATE User Guide"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = with licenses; [ gpl2Plus fdl12 ]; platforms = platforms.unix; maintainers = [ maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mate-user-share/default.nix b/pkgs/desktops/mate/mate-user-share/default.nix index 9baa3f24e03..999bee2e5d1 100644 --- a/pkgs/desktops/mate/mate-user-share/default.nix +++ b/pkgs/desktops/mate/mate-user-share/default.nix @@ -1,18 +1,19 @@ { stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, dbus-glib, libnotify, libxml2, libcanberra-gtk3, mod_dnssd, apacheHttpd, hicolor-icon-theme, mate, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-user-share-${version}"; - version = "1.20.1"; + pname = "mate-user-share"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0v5xilk978zl5443vlxf25z8z1g5sw9xl5sq76gvrmdlz2parfrn"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1krsar1pwa8720qz2dckcg0f6z9mvfk49djdxaz1afvi7blmqd6k"; }; nativeBuildInputs = [ pkgconfig intltool itstool + libxml2 wrapGAppsHook ]; @@ -21,7 +22,6 @@ stdenv.mkDerivation rec { dbus-glib libnotify libcanberra-gtk3 - libxml2 mate.caja hicolor-icon-theme # Should mod_dnssd and apacheHttpd be runtime dependencies? diff --git a/pkgs/desktops/mate/mate-utils/default.nix b/pkgs/desktops/mate/mate-utils/default.nix index 17ec165f755..7775173611e 100644 --- a/pkgs/desktops/mate/mate-utils/default.nix +++ b/pkgs/desktops/mate/mate-utils/default.nix @@ -1,18 +1,19 @@ -{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, libgtop, libcanberra-gtk3, mate, hicolor-icon-theme, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, libgtop, libcanberra-gtk3, inkscape, mate, hicolor-icon-theme, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "mate-utils-${version}"; - version = "1.20.2"; + pname = "mate-utils"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0w7hw192jzhad8jab8mjms4x6k2xijvb3rhlbxb6z5n5880xgfqf"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0768y6x33ljc9dxjlfmvplsn4lrxj5xhjddbyab9h6pqav8527rg"; }; nativeBuildInputs = [ pkgconfig intltool itstool + inkscape wrapGAppsHook ]; @@ -27,7 +28,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Utilities for the MATE desktop"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = with licenses; [ gpl2Plus lgpl2Plus ]; platforms = platforms.unix; maintainers = [ maintainers.romildo ]; diff --git a/pkgs/desktops/mate/mozo/default.nix b/pkgs/desktops/mate/mozo/default.nix index f2419f7f5e8..36f8fecb192 100644 --- a/pkgs/desktops/mate/mozo/default.nix +++ b/pkgs/desktops/mate/mozo/default.nix @@ -1,20 +1,20 @@ -{ stdenv, python, fetchurl, pkgconfig, intltool, mate, gtk3, glib, wrapGAppsHook, gobject-introspection }: +{ stdenv, python3, fetchurl, pkgconfig, intltool, mate, gtk3, glib, wrapGAppsHook, gobject-introspection }: -python.pkgs.buildPythonApplication rec { +python3.pkgs.buildPythonApplication rec { pname = "mozo"; - version = "1.20.2"; + version = "1.22.1"; format = "other"; doCheck = false; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${pname}-${version}.tar.xz"; - sha256 = "1q4hqhigimxav2a8xxyd53lq8q80szsphcv37y2jhm6g6wvdmvhd"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0yffp7p3b6ynpf7ck21klym7h09l35amnyahm71dxbv2kzj6hlqh"; }; nativeBuildInputs = [ pkgconfig intltool gobject-introspection wrapGAppsHook ]; - propagatedBuildInputs = [ mate.mate-menus python.pkgs.pygobject3 ]; + propagatedBuildInputs = [ mate.mate-menus python3.pkgs.pygobject3 ]; buildInputs = [ gtk3 glib ]; diff --git a/pkgs/desktops/mate/pluma/default.nix b/pkgs/desktops/mate/pluma/default.nix index abb1b8c28a1..cfbe33dd380 100644 --- a/pkgs/desktops/mate/pluma/default.nix +++ b/pkgs/desktops/mate/pluma/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, intltool, itstool, isocodes, enchant, libxml2, python, gnome3, mate, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, intltool, itstool, isocodes, enchant, libxml2, python3, gnome3, gtksourceview3, libpeas, mate, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "pluma-${version}"; - version = "1.20.4"; + pname = "pluma"; + version = "1.22.1"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "0qdbm5y6q8lbabd81mg3rnls5bdvbmfii82f6syqw1cw6381mzgz"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "14d5c5fg31d7br9h1y3gdcr53j4sxlgybf326jvdcw8mgy91k3dg"; }; nativeBuildInputs = [ @@ -20,16 +20,16 @@ stdenv.mkDerivation rec { buildInputs = [ enchant libxml2 - python - gnome3.gtksourceview - gnome3.libpeas - gnome3.defaultIconTheme + python3 + gtksourceview3 + libpeas + gnome3.adwaita-icon-theme mate.mate-desktop ]; meta = { description = "Powerful text editor for the MATE desktop"; - homepage = http://mate-desktop.org; + homepage = https://mate-desktop.org; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.romildo ]; diff --git a/pkgs/desktops/mate/python-caja/default.nix b/pkgs/desktops/mate/python-caja/default.nix index 0470086f865..42a8e328a16 100644 --- a/pkgs/desktops/mate/python-caja/default.nix +++ b/pkgs/desktops/mate/python-caja/default.nix @@ -1,25 +1,25 @@ -{ stdenv, fetchurl, pkgconfig, intltool, gtk3, mate, pythonPackages }: +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, mate, python3Packages }: stdenv.mkDerivation rec { - name = "python-caja-${version}"; - version = "1.20.2"; + pname = "python-caja"; + version = "1.22.0"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz"; - sha256 = "16r8mz1b44qgs19d14zadwzshzrdc5sdwgjp9f9av3fa6g09yd7b"; + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1zwdjvxci72j0181nlfq6912lw3aq8j3746brlp7wlzn22qp7b0k"; }; nativeBuildInputs = [ pkgconfig intltool - pythonPackages.wrapPython + python3Packages.wrapPython ]; buildInputs = [ gtk3 mate.caja - pythonPackages.python - pythonPackages.pygobject3 + python3Packages.python + python3Packages.pygobject3 ]; configureFlags = [ "--with-cajadir=$$out/lib/caja/extensions-2.0" ]; diff --git a/pkgs/desktops/mate/update.sh b/pkgs/desktops/mate/update.sh index 736bcbd34fc..fe294ae4985 100755 --- a/pkgs/desktops/mate/update.sh +++ b/pkgs/desktops/mate/update.sh @@ -7,7 +7,7 @@ cd "$(dirname "${BASH_SOURCE[0]}")" root=../../.. export NIXPKGS_ALLOW_UNFREE=1 -mate_version=1.20 +mate_version=1.22 theme_version=3.22 materepo=https://pub.mate-desktop.org/releases/${mate_version} themerepo=https://pub.mate-desktop.org/releases/themes/${theme_version} @@ -19,6 +19,7 @@ version() { update_package() { local p=$1 echo $p + echo "# $p" >> git-commits.txt local repo if [ "$p" = "mate-themes" ]; then @@ -30,7 +31,14 @@ update_package() { local p_version_old=$(version mate.$p) local p_versions=$(curl -sS ${repo}/ | sed -rne "s/.*\"$p-([0-9]+\\.[0-9]+\\.[0-9]+)\\.tar\\.xz.*/\\1/p") local p_version=$(echo $p_versions | sed -e 's/ /\n/g' | sort -t. -k 1,1n -k 2,2n -k 3,3n | tail -n1) - + + if [[ -z "$p_version" ]]; then + echo "unavailable $p" + echo "# $p not found" >> git-commits.txt + echo + return + fi + if [[ "$p_version" = "$p_version_old" ]]; then echo "nothing to do, $p $p_version is current" echo @@ -44,6 +52,8 @@ update_package() { local path=${prefetch[1]} echo "$p: $p_version_old -> $p_version" (cd "$root" && update-source-version mate.$p "$p_version" "$hash") + echo " git add pkgs/desktops/mate/$p" >> git-commits.txt + echo " git commit -m \"mate.$p: $p_version_old -> $p_version\"" >> git-commits.txt echo } diff --git a/pkgs/desktops/maxx/default.nix b/pkgs/desktops/maxx/default.nix index 6f515068418..aaf9986fbb2 100644 --- a/pkgs/desktops/maxx/default.nix +++ b/pkgs/desktops/maxx/default.nix @@ -1,43 +1,34 @@ -{ stdenv, fetchurl, makeWrapper, autoPatchelfHook -, libredirect, gcc-unwrapped, bash, gtk-engine-murrine, gtk_engines, librsvg +{ stdenv, fetchurl, makeWrapper, autoPatchelfHook, gnused +, gcc, bash, gtk-engine-murrine, gtk_engines, librsvg , libX11, libXext, libXi, libXau, libXrender, libXft, libXmu, libSM, libXcomposite, libXfixes, libXpm , libXinerama, libXdamage, libICE, libXtst, libXaw, fontconfig, pango, cairo, glib, libxml2, atk, gtk2 -, gdk_pixbuf, libGL, ncurses +, gdk-pixbuf, libGL, ncurses5 -, xclock, xsettingsd }: +, dmidecode, pciutils, usbutils +}: -let - version = "Indy-1.1.0"; - - runtime_deps = [ - xclock xsettingsd - ]; -in stdenv.mkDerivation { - name = "MaXX-${version}"; +stdenv.mkDerivation rec { + pname = "MaXX"; + version = "2.0.1"; + codename = "Indigo"; srcs = [ (fetchurl { - url = "http://maxxdesktop.arcadedaydream.com/Indy-Releases/Installers/MaXX-${version}-NO-ARCH.tar.gz"; - sha256 = "1d23j08wwrrn5cp7csv70pcz9jppcn0xb1894wkp0caaliy7g31y"; - }) - (fetchurl { - url = "http://maxxdesktop.arcadedaydream.com/Indy-Releases/Installers/MaXX-${version}-x86_64.tar.gz"; - sha256 = "156p2lra184wyvibrihisd7cr1ivqaygsf0zfm26a12gx23b7708"; + url = "http://maxxdesktop.arcadedaydream.com/${codename}-Releases/Installers/MaXX-${codename}-${version}-x86_64.tar.gz"; + sha256 = "17hd3j8773kmvvhyf657in6zmhnw4mbvyn4r6dfip5bdaz66pj01"; }) ]; - nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; + nativeBuildInputs = [ makeWrapper autoPatchelfHook gnused ]; buildInputs = [ stdenv.cc.cc libX11 libXext libXi libXau libXrender libXft libXmu libSM libXcomposite libXfixes libXpm libXinerama libXdamage libICE libXtst libXaw fontconfig pango cairo glib libxml2 atk gtk2 - gdk_pixbuf libGL ncurses + gdk-pixbuf libGL ncurses5 ]; buildPhase = '' - while IFS= read -r -d ''$'\0' i; do - substituteInPlace "$i" --replace /opt/MaXX $out/opt/MaXX - done < <(find "." -type f -exec grep -Iq /opt/MaXX {} \; -and -print0) + sed -i "s/\(LD_LIBRARY_PATH=.*\)$/\1:\$LD_LIBRARY_PATH/p" etc/system.desktopenv substituteInPlace bin/adminterm \ --replace /bin/bash ${bash}/bin/bash @@ -55,39 +46,31 @@ in stdenv.mkDerivation { wrapProgram $maxx/etc/skel/Xsession.dt \ --prefix GTK_PATH : "${gtk-engine-murrine}/lib/gtk-2.0:${gtk_engines}/lib/gtk-2.0" \ - --prefix GDK_PIXBUF_MODULE_FILE : "$(echo ${librsvg.out}/lib/gdk-pixbuf-2.0/*/loaders.cache)" \ - --prefix PATH : ${stdenv.lib.makeBinPath runtime_deps} + --prefix GDK_PIXBUF_MODULE_FILE : "$(echo ${librsvg.out}/lib/gdk-pixbuf-2.0/*/loaders.cache)" while IFS= read -r -d ''$'\0' i; do if isExecutable "$i"; then wrapProgram "$i" \ - --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ - --set NIX_REDIRECTS /opt/MaXX=$maxx \ - --prefix PATH : $maxx/sbin + --prefix PATH : ${gcc}/bin fi done < <(find "$maxx" -type f -print0) - cp ${gcc-unwrapped}/bin/cpp ${gcc-unwrapped}/libexec/gcc/*/*/cc1 $maxx/sbin - for i in $maxx/sbin/cpp $maxx/sbin/cc1 - do - wrapProgram "$i" \ - --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ - --set NIX_REDIRECTS /opt/MaXX=$maxx - done + wrapProgram $maxx/bin/hinv \ + --prefix PATH : ${stdenv.lib.makeBinPath [ dmidecode pciutils usbutils ]} ''; meta = with stdenv.lib; { description = "A replica of IRIX Interactive Desktop"; - homepage = http://www.maxxinteractive.com; + homepage = https://www.facebook.com/maxxdesktop/; license = { fullName = "The MaXX Interactive Desktop for Linux License Agreement"; - url = http://www.maxxinteractive.com/site/?page_id=97; + url = http://maxxdesktop.arcadedaydream.com/Indigo-Releases/docs/license.html; free = false; # redistribution is only allowed to *some* hardware, etc. }; maintainers = [ maintainers.gnidorah ]; platforms = ["x86_64-linux"]; longDescription = '' - A clone of IRIX Interactive Desktop made in agreement with SGI. + A clone of IRIX Interactive Desktop made in agreement with SGI. Provides simple and fast retro desktop environment. ''; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix index c8ade1c9c35..bcbe50e5de3 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix @@ -1,32 +1,44 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig -, meson, ninja, vala, desktop-file-utils, libxml2 -, gtk3, python3, granite, libgee, gobject-introspection -, elementary-icon-theme, appstream, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, desktop-file-utils +, libxml2 +, gtk3 +, python3 +, granite +, libgee +, elementary-icon-theme +, appstream +, wrapGAppsHook +}: stdenv.mkDerivation rec { - pname = "calculator"; - version = "1.5.1"; + pname = "elementary-calculator"; + version = "1.5.2"; - name = "elementary-${pname}-${version}"; + repoName = "calculator"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; - sha256 = "0vc27kjmfkly2jkqjiyzlybxyjqhwal3xrxca5b4abfgb379yswa"; + sha256 = "1vdgl89hdf9q1ya6as7310hlr0xls3w7js2gzsd9z8arb6037ccl"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; nativeBuildInputs = [ appstream desktop-file-utils - gobject-introspection libxml2 meson ninja diff --git a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix index 28983db7f91..b806c085f84 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix @@ -1,33 +1,51 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson -, ninja, vala, desktop-file-utils, gtk3, granite, libgee -, geoclue2, libchamplain, clutter, folks, geocode-glib, python3 -, libnotify, libical, evolution-data-server, appstream-glib -, elementary-icon-theme, gobject-introspection, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, desktop-file-utils +, gtk3 +, granite +, libgee +, geoclue2 +, libchamplain +, clutter +, folks +, geocode-glib +, python3 +, libnotify +, libical +, evolution-data-server +, appstream-glib +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { - pname = "calendar"; - version = "4.2.3"; + pname = "elementary-calendar"; + version = "5.0"; - name = "elementary-${pname}-${version}"; + repoName = "calendar"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; - sha256 = "100wy8lkp4nrxj57ywyx44ckm3k7n8h5l6av92hr5pyx8fxn9m48"; + sha256 = "0yiis5ig98gjw4s2qh8lppkdmv1cgi6qchxqncsjdki7yxyyni35"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; nativeBuildInputs = [ appstream-glib desktop-file-utils - gobject-introspection meson ninja pkgconfig diff --git a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix index 2e90a96411a..279e9eff87a 100644 --- a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix @@ -1,24 +1,43 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala -, desktop-file-utils, python3, gettext, libxml2, gtk3, granite, libgee, gst_all_1 -, libcanberra, clutter-gtk, clutter-gst, elementary-icon-theme, appstream, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, desktop-file-utils +, python3 +, gettext +, libxml2 +, gtk3 +, granite +, libgee +, gst_all_1 +, libcanberra +, clutter-gtk +, clutter-gst +, elementary-icon-theme +, appstream +, wrapGAppsHook +}: stdenv.mkDerivation rec { - pname = "camera"; - version = "1.0.3"; + pname = "elementary-camera"; + version = "1.0.4"; - name = "elementary-${pname}-${version}"; + repoName = "camera"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; - sha256 = "05rjymflhwbkw8yc57rgi9n7lrhf4dpvfvlifdnazyqn9iiaxc46"; + sha256 = "1p532f961cjdg7szmxw7hw3av9v342hv5rx7in3bbhlc7adxflyc"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/pkgs/desktops/pantheon/apps/elementary-code/default.nix index 0b16c56be3d..355f3ea8d0f 100644 --- a/pkgs/desktops/pantheon/apps/elementary-code/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-code/default.nix @@ -1,32 +1,53 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala, substituteAll -, python3, glibcLocales, desktop-file-utils, gtk3, granite, libgee, elementary-icon-theme -, appstream, libpeas, editorconfig-core-c, gtksourceview3, gtkspell3, libsoup -, vte, webkitgtk, zeitgeist, ctags, libgit2-glib, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, python3 +, desktop-file-utils +, gtk3 +, granite +, libgee +, elementary-icon-theme +, appstream +, libpeas +, editorconfig-core-c +, gtksourceview3 +, gtkspell3 +, libsoup +, vte +, webkitgtk +, zeitgeist +, ctags +, libgit2-glib +, wrapGAppsHook +}: stdenv.mkDerivation rec { - pname = "code"; - version = "3.0.2"; + pname = "elementary-code"; + version = "3.1.1"; - name = "elementary-${pname}-${version}"; + repoName = "code"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; - sha256 = "0zmm4a7galrs9phiplf6cygwq3rplghv7r8g47mi4nlndgxqyssg"; + sha256 = "0l469fi5vbcazwfhy320nr8wrzz96jbrqn4hag0kdm16wvf5x1yc"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; nativeBuildInputs = [ appstream desktop-file-utils - glibcLocales meson ninja pkgconfig @@ -37,8 +58,8 @@ stdenv.mkDerivation rec { buildInputs = [ ctags - elementary-icon-theme editorconfig-core-c + elementary-icon-theme granite gtk3 gtksourceview3 @@ -52,11 +73,8 @@ stdenv.mkDerivation rec { zeitgeist ]; - # See: https://github.com/elementary/code/pull/626 - LIBRARY_PATH = stdenv.lib.makeLibraryPath [ editorconfig-core-c ]; - # install script fails with UnicodeDecodeError because of printing a fancy elipsis character - LC_ALL = "en_US.UTF-8"; + LC_ALL = "C.UTF-8"; # ctags needed in path by outline plugin preFixup = '' diff --git a/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix index 3494474c49c..ae6583c4672 100644 --- a/pkgs/desktops/pantheon/apps/elementary-files/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-files/default.nix @@ -1,25 +1,49 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, gettext, vala -, python3, desktop-file-utils, libcanberra, gtk3, libgee, granite, libnotify -, libunity, pango, plank, bamf, sqlite, libdbusmenu-gtk3, zeitgeist, glib-networking -, elementary-icon-theme, gobject-introspection, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, gettext +, vala +, python3 +, desktop-file-utils +, libcanberra +, gtk3 +, libgee +, granite +, libnotify +, libunity +, pango +, plank +, bamf +, sqlite +, libdbusmenu-gtk3 +, zeitgeist +, glib-networking +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { - pname = "files"; - version = "4.1.5"; + pname = "elementary-files"; + version = "4.1.9"; - name = "elementary-${pname}-${version}"; + repoName = "files"; + + outputs = [ "out" "dev" ]; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; - sha256 = "0z0pisg7py2k6i31v18z5fgpj8x64m1s5clfq4vbbjrcjwx6dcx5"; + sha256 = "12p1li9a7kqdlgkq20svaly5kr661ww93qngaiic6zv1bdw2bpmv"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; @@ -27,7 +51,6 @@ stdenv.mkDerivation rec { desktop-file-utils gettext glib-networking - gobject-introspection meson ninja pkgconfig @@ -58,12 +81,8 @@ stdenv.mkDerivation rec { chmod +x meson/post_install.py patchShebangs meson/post_install.py - substituteInPlace filechooser-module/FileChooserDialog.vala --subst-var-by ELEMENTARY_FILES_GSETTINGS_PATH $out/share/gsettings-schemas/${name}/glib-2.0/schemas - ''; - - # xdg.mime will create this - postInstall = '' - rm $out/share/applications/mimeinfo.cache + substituteInPlace filechooser-module/FileChooserDialog.vala \ + --subst-var-by ELEMENTARY_FILES_GSETTINGS_PATH $out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/pantheon/apps/elementary-music/default.nix b/pkgs/desktops/pantheon/apps/elementary-music/default.nix index 8bca7b3b6b5..7d235551a80 100644 --- a/pkgs/desktops/pantheon/apps/elementary-music/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-music/default.nix @@ -1,27 +1,49 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson -, ninja, vala, desktop-file-utils, libxml2, gtk3, granite -, python3, libgee, clutter-gtk, json-glib, libgda, libgpod -, libnotify, libpeas, libsoup, zeitgeist, gst_all_1, taglib -, libdbusmenu, libsignon-glib, libaccounts-glib -, elementary-icon-theme, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, desktop-file-utils +, gtk3 +, granite +, python3 +, libgee +, clutter-gtk +, json-glib +, libgda +, libgpod +, libnotify +, libpeas +, libsoup +, zeitgeist +, gst_all_1 +, taglib +, libdbusmenu +, libsignon-glib +, libaccounts-glib +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { - pname = "music"; - version = "5.0.2"; + pname = "elementary-music"; + version = "5.0.4"; - name = "elementary-${pname}-${version}"; + repoName = "music"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; - sha256 = "06mpikzdm01r9j7g15b7fgi4lcnp8cc0wmj17dfli5nmncxghx89"; + sha256 = "02qjsf9xnfh043xbls9mll2r1wcdvclw60x8wysv12rhbm90gwvp"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; @@ -51,9 +73,9 @@ stdenv.mkDerivation rec { libgda libgee libgpod - libsignon-glib libnotify libpeas + libsignon-glib libsoup taglib zeitgeist diff --git a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix index 21d5b9f1db4..94b6a2fce8e 100644 --- a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix @@ -1,32 +1,59 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala, desktop-file-utils -, gtk3, glib, libaccounts-glib, libexif, libgee, geocode-glib, gexiv2,libgphoto2 -, granite, gst_all_1, libgudev, json-glib, libraw, librest, libsoup, sqlite, python3 -, scour, webkitgtk, libwebp, appstream, libunity, wrapGAppsHook, gobject-introspection, elementary-icon-theme }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, desktop-file-utils +, gtk3 +, libaccounts-glib +, libexif +, libgee +, geocode-glib +, gexiv2 +, libgphoto2 +, granite +, gst_all_1 +, libgudev +, json-glib +, libraw +, librest +, libsoup +, sqlite +, python3 +, scour +, webkitgtk +, libwebp +, appstream +, libunity +, wrapGAppsHook +, elementary-icon-theme +}: stdenv.mkDerivation rec { - pname = "photos"; - version = "2.6.2"; + pname = "elementary-photos"; + version = "2.6.4"; - name = "elementary-${pname}-${version}"; + repoName = "photos"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; - sha256 = "166a1jb85n67z6ffm5i0xzap407rv0r511lzh0gidkap1qy6pnmi"; + sha256 = "17r9658s0pqy6s45ysi3915sm8hpvmsp7cw2jahqvjc61r4qpdc1"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; nativeBuildInputs = [ appstream desktop-file-utils - gobject-introspection meson ninja pkgconfig @@ -53,10 +80,10 @@ stdenv.mkDerivation rec { libgphoto2 libgudev libraw + librest libsoup libunity libwebp - librest scour sqlite webkitgtk diff --git a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix index 192b6ff358f..4dd168f25f0 100644 --- a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix @@ -1,36 +1,42 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, callPackage -, ninja, vala, python3, desktop-file-utils, gtk3, granite, libgee -, libcanberra, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: - -let - - redacted-script = callPackage ./redacted-script.nix {}; - -in +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, python3 +, desktop-file-utils +, gtk3 +, granite +, libgee +, libcanberra +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { - pname = "screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93 - version = "1.6.1"; + pname = "elementary-screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93 + version = "1.6.2"; - name = "elementary-${pname}-${version}"; + repoName = "screenshot"; src = fetchFromGitHub { owner = "elementary"; - repo = "screenshot"; + repo = repoName; rev = version; - sha256 = "1vvj550md7vw7n057h8cy887a0nmsbwry67dxrxyz6bsvpk8sb6g"; + sha256 = "1z61j96jk9zjr3bn5hgsp25m4v8h1rqwxm0kg8c34bvl06f13v8q"; }; passthru = { updateScript = pantheon.updateScript { - repoName = "screenshot"; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; nativeBuildInputs = [ desktop-file-utils - gobject-introspection meson ninja pkgconfig @@ -52,11 +58,6 @@ stdenv.mkDerivation rec { patchShebangs meson/post_install.py ''; - postInstall = '' - mkdir -p $out/share/fonts/truetype - cp -rva ${redacted-script}/share/fonts/truetype/redacted-elementary $out/share/fonts/truetype - ''; - meta = with stdenv.lib; { description = "Screenshot tool designed for elementary OS"; homepage = https://github.com/elementary/screenshot; diff --git a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/redacted-script.nix b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/redacted-script.nix deleted file mode 100644 index db1d9d240c4..00000000000 --- a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/redacted-script.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ stdenv, fetchFromGitHub, pantheon }: - -stdenv.mkDerivation rec { - name = "elementary-redacted-script-${version}"; - version = "5.1.0"; - - src = fetchFromGitHub { - owner = "elementary"; - repo = "fonts"; - rev = version; - sha256 = "16x2w7w29k4jx2nwc5932h9rqvb216vxsziazisv2rpll74kn8b2"; - }; - - dontConfigure = true; - - installPhase = '' - mkdir -p $out/share/fonts/truetype/redacted-elementary - cp -a redacted/*.ttf $out/share/fonts/truetype/redacted-elementary - ''; - - meta = with stdenv.lib; { - description = "Redacted Script Font for elementary"; - homepage = https://github.com/elementary/fonts; - license = licenses.ofl; - maintainers = pantheon.maintainers; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix index 01fe35e4a8e..8bd335c6530 100644 --- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix @@ -1,31 +1,46 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3 -, vala, desktop-file-utils, gtk3, libxml2, granite, libnotify, vte, libgee -, elementary-icon-theme, appstream, gobject-introspection, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, python3 +, vala +, desktop-file-utils +, gtk3 +, libxml2 +, granite +, libnotify +, vte +, libgee +, elementary-icon-theme +, appstream +, wrapGAppsHook +}: stdenv.mkDerivation rec { - pname = "terminal"; - version = "5.3.3"; + pname = "elementary-terminal"; + version = "5.3.6"; - name = "elementary-${pname}-${version}"; + repoName = "terminal"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; - sha256 = "1rhqfq5dn913g551ribycid4k8add2lanxkkqpv6zzdgvah26ni8"; + sha256 = "0jp21sy8k3jq3ycvng9yy2hbhcvfgiknxxa8vcg3c06vqhadmnc3"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; nativeBuildInputs = [ appstream desktop-file-utils - gobject-introspection libxml2 meson ninja diff --git a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix index b123d4cbf5b..9132707db2b 100644 --- a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix @@ -1,30 +1,44 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala, python3 -, desktop-file-utils, gtk3, granite, libgee, clutter-gst, clutter-gtk, gst_all_1 -, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, python3 +, desktop-file-utils +, gtk3 +, granite +, libgee +, clutter-gst +, clutter-gtk +, gst_all_1 +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { - pname = "videos"; + pname = "elementary-videos"; version = "2.6.3"; - name = "elementary-${pname}-${version}"; + repoName = "videos"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; sha256 = "1ncm8kh6dcy83p8pmpilnk03b4dx3b1jm8w13izq2dkglfgdwvqx"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; nativeBuildInputs = [ desktop-file-utils - gobject-introspection meson ninja pkgconfig diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix index 2ee92520983..3b85b123fd0 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix @@ -1,5 +1,17 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig -, vala, libgee, granite, gtk3, switchboard, gobject-introspection }: +{ stdenv +, substituteAll +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +, onboard +}: stdenv.mkDerivation rec { pname = "switchboard-plug-a11y"; @@ -12,6 +24,13 @@ stdenv.mkDerivation rec { sha256 = "1wh46lrsliii5bbvfc4xnzgnii2v7sqxnbn43ylmyqppfv9mk1wd"; }; + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit onboard; + }) + ]; + passthru = { updateScript = pantheon.updateScript { repoName = pname; @@ -19,7 +38,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -33,7 +51,7 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard Universal Access Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/fix-paths.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/fix-paths.patch new file mode 100644 index 00000000000..4d69390f39d --- /dev/null +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/Panes/Typing.vala b/src/Panes/Typing.vala +index b4ae8b0..5b8fd7e 100644 +--- a/src/Panes/Typing.vala ++++ b/src/Panes/Typing.vala +@@ -83,7 +83,7 @@ public class Accessibility.Panes.Typing : Categories.Pane { + + onboard_settings_label.clicked.connect (() => { + try { +- var appinfo = AppInfo.create_from_commandline ("onboard-settings", null, AppInfoCreateFlags.NONE); ++ var appinfo = AppInfo.create_from_commandline ("@onboard@/bin/onboard-settings", null, AppInfoCreateFlags.NONE); + appinfo.launch (null, null); + } catch (Error e) { + warning ("%s\n", e.message); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix index bdba8328fe9..bd6df460c04 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix @@ -1,5 +1,17 @@ -{ stdenv, fetchFromGitHub, pantheon, substituteAll, meson, ninja, pkgconfig -, vala, libgee, granite, gtk3, switchboard, pciutils, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, substituteAll +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +, pciutils +}: stdenv.mkDerivation rec { pname = "switchboard-plug-about"; @@ -19,7 +31,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -41,7 +52,7 @@ stdenv.mkDerivation rec { ./remove-update-button.patch ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard About Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix index 0cdb732ca73..dca9cc662a2 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix @@ -1,5 +1,15 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig -, vala, libgee, granite, gtk3, switchboard, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +}: stdenv.mkDerivation rec { pname = "switchboard-plug-applications"; @@ -19,7 +29,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -33,7 +42,7 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard Applications Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix index 697c3ac592b..d1663ad48cd 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix @@ -1,15 +1,26 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala, libgee -, granite, gtk3, bluez, switchboard, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, bluez +, switchboard +}: stdenv.mkDerivation rec { pname = "switchboard-plug-bluetooth"; - version = "2.2.1"; + version = "2.2.2"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "13jm2idjsgqkvdz1dxgl2wwx7bsqahppf6cnpl0pmz167wahg5zp"; + sha256 = "0rp9wa0yilc3wgwnybc6cryxphja7imixn45zhj475a4nb3afd0q"; }; passthru = { @@ -19,7 +30,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -34,7 +44,7 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard Bluetooth Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix index 95a350372b9..fb7ea18e88b 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix @@ -1,5 +1,18 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, substituteAll, pkgconfig -, vala, libgee, granite, gtk3, libxml2, switchboard, tzdata, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, substituteAll +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, libxml2 +, switchboard +, tzdata +}: stdenv.mkDerivation rec { pname = "switchboard-plug-datetime"; @@ -19,7 +32,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection libxml2 meson ninja @@ -43,7 +55,7 @@ stdenv.mkDerivation rec { ./clock-format.patch ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard Date & Time Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix index 192f8a69ae9..c15abfd8cb8 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix @@ -1,15 +1,25 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig -, vala, libgee, granite, gtk3, switchboard, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +}: stdenv.mkDerivation rec { pname = "switchboard-plug-display"; - version = "2.1.6"; + version = "2.1.8"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0pw21bnc79shiynmg7h9bs1x1v011lh07ypn22j73yhmxp6wiypd"; + sha256 = "1xpgkvcv3bylpaj7c80727vr55vilkgjvnlbw7d5pr56v6mv7n9j"; }; passthru = { @@ -19,7 +29,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -33,7 +42,7 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard Displays Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix index f38f15e3c6d..ba753af7e20 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix @@ -1,15 +1,30 @@ -{ stdenv, fetchFromGitHub, pantheon, substituteAll, meson, ninja, pkgconfig, vala, libgee -, granite, gtk3, libxml2, libgnomekbd, libxklavier, xorg, switchboard, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, substituteAll +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, libxml2 +, libgnomekbd +, libxklavier +, xorg +, switchboard +}: stdenv.mkDerivation rec { pname = "switchboard-plug-keyboard"; - version = "2.3.4"; + version = "2.3.5"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1997hnhlcp2jmf3z70na42vl1b7i5vxhp7k5ga5sl68dv0g4126y"; + sha256 = "17iijb7imxw5zv7vkrbc1vsp87k900yqgyv7ycz1gw37xb4klsyp"; }; passthru = { @@ -19,7 +34,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection libxml2 meson ninja @@ -43,9 +57,7 @@ stdenv.mkDerivation rec { }) ]; - LIBRARY_PATH = stdenv.lib.makeLibraryPath [ libgnomekbd ]; - - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard Keyboard Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix index 6c4bdeb7fb7..00579c54525 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix @@ -1,17 +1,37 @@ -{ stdenv, fetchFromGitHub, pantheon, fetchpatch, meson, ninja -, pkgconfig, vala, libgee, granite, gtk3, switchboard, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +, elementary-settings-daemon +}: stdenv.mkDerivation rec { pname = "switchboard-plug-mouse-touchpad"; - version = "2.1.4"; + version = "2.2.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1zh5472ab01bckrc1py5bqqsal9i9pbgx6i8ap2d4yzhc8sirjrf"; + sha256 = "0mr25p7j5hl8zmvz5i3g30s4xbdhk6d22lw2akch3si40il9q5fv"; }; + patches = [ + ./hardcode-settings-daemon-gsettings.patch + ]; + + postPatch = '' + substituteInPlace src/Views/General.vala \ + --subst-var-by GSD_GSETTINGS ${elementary-settings-daemon}/share/gsettings-schemas/${elementary-settings-daemon.name}/glib-2.0/schemas + ''; + passthru = { updateScript = pantheon.updateScript { repoName = pname; @@ -19,7 +39,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -33,7 +52,7 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard Mouse & Touchpad Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch new file mode 100644 index 00000000000..b904fe15309 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch @@ -0,0 +1,63 @@ +diff --git a/src/Views/General.vala b/src/Views/General.vala +index 4b19b73..dfa3d4d 100644 +--- a/src/Views/General.vala ++++ b/src/Views/General.vala +@@ -138,32 +138,34 @@ public class MouseTouchpad.GeneralView : Gtk.Grid { + attach (pointer_speed_scale, 3, 8); + attach (pointer_speed_help, 1, 9, 3); + +- var xsettings_schema = SettingsSchemaSource.get_default ().lookup ("org.gnome.settings-daemon.plugins.xsettings", false); +- if (xsettings_schema != null) { +- var primary_paste_switch = new Gtk.Switch (); +- primary_paste_switch.halign = Gtk.Align.START; +- +- var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text")); +- primary_paste_help.margin_bottom = 18; +- primary_paste_help.wrap = true; +- primary_paste_help.xalign = 0; +- primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL); +- +- attach (new SettingLabel (_("Middle click paste:")), 0, 4); +- attach (primary_paste_switch, 1, 4); +- attach (primary_paste_help, 1, 5, 3); +- +- var xsettings = new GLib.Settings ("org.gnome.settings-daemon.plugins.xsettings"); +- primary_paste_switch.notify["active"].connect (() => on_primary_paste_switch_changed (primary_paste_switch, xsettings)); +- +- var current_value = xsettings.get_value ("overrides").lookup_value ("Gtk/EnablePrimaryPaste", VariantType.INT32); +- if (current_value != null) { +- primary_paste_switch.active = current_value.get_int32 () == 1; +- } ++ var primary_paste_switch = new Gtk.Switch (); ++ primary_paste_switch.halign = Gtk.Align.START; ++ ++ var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text")); ++ primary_paste_help.margin_bottom = 18; ++ primary_paste_help.wrap = true; ++ primary_paste_help.xalign = 0; ++ primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL); ++ ++ attach (new SettingLabel (_("Middle click paste:")), 0, 4); ++ attach (primary_paste_switch, 1, 4); ++ attach (primary_paste_help, 1, 5, 3); ++ ++ SettingsSchemaSource daemon_schema_source = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS@", null, true); ++ SettingsSchema xsettings_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.plugins.xsettings", false); ++ ++ var xsettings = new GLib.Settings.full (xsettings_schema, null, null); ++ primary_paste_switch.notify["active"].connect (() => on_primary_paste_switch_changed (primary_paste_switch, xsettings)); ++ ++ var current_value = xsettings.get_value ("overrides").lookup_value ("Gtk/EnablePrimaryPaste", VariantType.INT32); ++ if (current_value != null) { ++ primary_paste_switch.active = current_value.get_int32 () == 1; + } + +- var daemon_settings = new GLib.Settings ("org.gnome.settings-daemon.peripherals.mouse"); +- daemon_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT); ++ SettingsSchema daemon_mouse_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.peripherals.mouse", false); ++ ++ var daemon_mouse_settings = new GLib.Settings.full (daemon_mouse_schema, null, null); ++ daemon_mouse_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT); + + var a11y_mouse_settings = new GLib.Settings ("org.gnome.desktop.a11y.mouse"); + a11y_mouse_settings.bind ("secondary-click-enabled", hold_switch, "active", GLib.SettingsBindFlags.DEFAULT); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix index 3943cad48fd..09d6da4f246 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix @@ -1,5 +1,18 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, substituteAll, vala -, libgee, granite, gtk3, networkmanager, networkmanagerapplet, switchboard, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, substituteAll +, vala +, libgee +, granite +, gtk3 +, networkmanager +, networkmanagerapplet +, switchboard +}: stdenv.mkDerivation rec { pname = "switchboard-plug-network"; @@ -19,7 +32,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -43,7 +55,7 @@ stdenv.mkDerivation rec { ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard Networking Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix index 6bb5d285a34..e547f22fec1 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix @@ -1,5 +1,15 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig -, vala, libgee, granite, gtk3, switchboard, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +}: stdenv.mkDerivation rec { pname = "switchboard-plug-notifications"; @@ -19,7 +29,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -33,7 +42,7 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard Notifications Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix index 0417d33df7d..aa9cdfa0ddd 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix @@ -1,6 +1,21 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala -, libgee, granite, gtk3, libaccounts-glib, libsignon-glib, json-glib -, librest, webkitgtk, libsoup, switchboard, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, libaccounts-glib +, libsignon-glib +, json-glib +, librest +, webkitgtk +, libsoup +, switchboard +}: stdenv.mkDerivation rec { pname = "switchboard-plug-onlineaccounts"; @@ -20,7 +35,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix index e47dc4c4060..b9fad17c2f7 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala , libgee, granite, gexiv2, elementary-settings-daemon, gtk3, gnome-desktop -, gala, wingpanel, plank, switchboard, gettext, gobject-introspection, bamf }: +, gala, wingpanel, plank, switchboard, gettext, bamf, fetchpatch }: stdenv.mkDerivation rec { pname = "switchboard-plug-pantheon-shell"; - version = "2.8.0"; + version = "2.8.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0yy821hl26jfd9hyigqi7nmaf30iww0lhg9qzcwlfzsvvfwnxagi"; + sha256 = "1vrnzxqzl84k8gbrais4j1jyap10kvil4cr769jpr3q3bkbblwrw"; }; passthru = { @@ -21,7 +21,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gettext - gobject-introspection meson ninja pkgconfig @@ -43,15 +42,22 @@ stdenv.mkDerivation rec { patches = [ ./backgrounds.patch # Having https://github.com/elementary/switchboard-plug-pantheon-shell/issues/166 would make this patch uneeded ./hardcode-gsettings.patch + # Fixes https://github.com/elementary/switchboard-plug-pantheon-shell/issues/172 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-pantheon-shell/commit/e4f86df6a6be402db4c979a4b005573618b744d1.patch"; + sha256 = "0sa8611k6sqg96mnp2plmxd30w6zq76bfwszl8ankr9kwsgyc66y"; + }) ]; postPatch = '' - substituteInPlace src/Views/Appearance.vala --subst-var-by GALA_GSETTINGS_PATH ${gala}/share/gsettings-schemas/${gala.name}/glib-2.0/schemas - substituteInPlace src/Views/Appearance.vala --subst-var-by WINGPANEL_GSETTINGS_PATH ${wingpanel}/share/gsettings-schemas/${wingpanel.name}/glib-2.0/schemas + substituteInPlace src/Views/Appearance.vala \ + --subst-var-by GALA_GSETTINGS_PATH ${gala}/share/gsettings-schemas/${gala.name}/glib-2.0/schemas + substituteInPlace src/Views/Appearance.vala \ + --subst-var-by WINGPANEL_GSETTINGS_PATH ${wingpanel}/share/gsettings-schemas/${wingpanel.name}/glib-2.0/schemas ''; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard Desktop Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix index ab1fd98795a..461ddcd3764 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix @@ -1,6 +1,20 @@ -{ stdenv, fetchFromGitHub, pantheon, substituteAll, meson, ninja -, pkgconfig, vala, libgee, elementary-dpms-helper, elementary-settings-daemon -, makeWrapper, granite, gtk3, dbus, polkit, switchboard, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, substituteAll +, meson +, ninja +, pkgconfig +, vala +, libgee +, elementary-dpms-helper +, elementary-settings-daemon +, granite +, gtk3 +, dbus +, polkit +, switchboard +}: stdenv.mkDerivation rec { pname = "switchboard-plug-power"; @@ -20,7 +34,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -45,14 +58,16 @@ stdenv.mkDerivation rec { ]; postPatch = '' - substituteInPlace src/MainView.vala --subst-var-by DPMS_HELPER_GSETTINGS_PATH ${elementary-dpms-helper}/share/gsettings-schemas/${elementary-dpms-helper.name}/glib-2.0/schemas - substituteInPlace src/MainView.vala --subst-var-by GSD_GSETTINGS_PATH ${elementary-settings-daemon}/share/gsettings-schemas/${elementary-settings-daemon.name}/glib-2.0/schemas + substituteInPlace src/MainView.vala \ + --subst-var-by DPMS_HELPER_GSETTINGS_PATH ${elementary-dpms-helper}/share/gsettings-schemas/${elementary-dpms-helper.name}/glib-2.0/schemas + substituteInPlace src/MainView.vala \ + --subst-var-by GSD_GSETTINGS_PATH ${elementary-settings-daemon}/share/gsettings-schemas/${elementary-settings-daemon.name}/glib-2.0/schemas ''; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; - PKG_CONFIG_DBUS_1_SYSTEM_BUS_SERVICES_DIR = "share/dbus-1/system-services"; - PKG_CONFIG_DBUS_1_SYSCONFDIR = "etc"; - PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "share/polkit-1/actions"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; + PKG_CONFIG_DBUS_1_SYSTEM_BUS_SERVICES_DIR = "${placeholder ''out''}/share/dbus-1/system-services"; + PKG_CONFIG_DBUS_1_SYSCONFDIR = "${placeholder ''out''}/etc"; + PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder ''out''}/share/polkit-1/actions"; meta = with stdenv.lib; { description = "Switchboard Power Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix index bb9e576a4c4..5c303e04982 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix @@ -1,5 +1,16 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig -, vala, libgee, granite, gtk3, cups, switchboard, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, cups +, switchboard +}: stdenv.mkDerivation rec { pname = "switchboard-plug-printers"; @@ -19,7 +30,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -34,7 +44,7 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard Printers Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix index 4060e071789..19967c3bce0 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix @@ -1,16 +1,29 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, python3, ninja -, pkgconfig, vala, libgee, granite, gtk3, polkit, zeitgeist -, switchboard, lightlocker, pantheon-agent-geoclue2, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, python3 +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, polkit +, zeitgeist +, switchboard +, lightlocker +}: stdenv.mkDerivation rec { pname = "switchboard-plug-security-privacy"; - version = "2.2.0"; + version = "2.2.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0f1idh36hlgmdva5jn0xnj2b6gbic0asnj3b7j283gyziibm3pxa"; + sha256 = "0k2bq7l0m7qfpy1mkb3qvsinqd8n4lp0vwz3x64wlgfn2qipm1fn"; }; passthru = { @@ -20,7 +33,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -37,7 +49,7 @@ stdenv.mkDerivation rec { zeitgeist ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; patches = [ ./hardcode-gsettings.patch @@ -47,8 +59,10 @@ stdenv.mkDerivation rec { chmod +x meson/post_install.py patchShebangs meson/post_install.py - substituteInPlace src/Views/LockPanel.vala --subst-var-by LIGHTLOCKER_GSETTINGS_PATH ${lightlocker}/share/gsettings-schemas/${lightlocker.name}/glib-2.0/schemas - substituteInPlace src/Views/FirewallPanel.vala --subst-var-by SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH $out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas + substituteInPlace src/Views/LockPanel.vala \ + --subst-var-by LIGHTLOCKER_GSETTINGS_PATH ${lightlocker}/share/gsettings-schemas/${lightlocker.name}/glib-2.0/schemas + substituteInPlace src/Views/FirewallPanel.vala \ + --subst-var-by SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH $out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix index a2c047ffcb4..b4aafb27006 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix @@ -1,5 +1,15 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig -, vala, libgee, granite, gtk3, switchboard, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, switchboard +}: stdenv.mkDerivation rec { pname = "switchboard-plug-sharing"; @@ -19,7 +29,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -33,7 +42,7 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard Sharing Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix index e4d0db46923..ed3518c764f 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix @@ -1,16 +1,28 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig -, vala, libgee, granite, gtk3, pulseaudio, libcanberra, libcanberra-gtk3 -, switchboard, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, libgee +, granite +, gtk3 +, pulseaudio +, libcanberra +, libcanberra-gtk3 +, switchboard +}: stdenv.mkDerivation rec { pname = "switchboard-plug-sound"; - version = "2.1.3"; + version = "2.2.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0dvxmjziifffa2rm7h43ca5grhlcpih3rgik50mz808mqfxr4l1q"; + sha256 = "0frml591r82j7hf1zlccgv8pzk3w10x470f9nzvdgdjpz0r776k2"; }; passthru = { @@ -20,7 +32,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -37,7 +48,7 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; meta = with stdenv.lib; { description = "Switchboard Sound Plug"; diff --git a/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix index 310230c7aac..5c10cc0e9e4 100644 --- a/pkgs/desktops/pantheon/apps/switchboard/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard/default.nix @@ -1,6 +1,20 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, python3, ninja -, vala, gtk3, libgee, granite, gettext, clutter-gtk, libunity -, elementary-icon-theme, wrapGAppsHook, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, python3 +, ninja +, vala +, gtk3 +, libgee +, granite +, gettext +, clutter-gtk +, libunity +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "switchboard"; @@ -21,7 +35,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gettext - gobject-introspection meson ninja pkgconfig @@ -39,7 +52,9 @@ stdenv.mkDerivation rec { libunity ]; - patches = [ ./plugs-path-env.patch ]; + patches = [ + ./plugs-path-env.patch + ]; postPatch = '' chmod +x meson/post_install.py diff --git a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix index cae8e74f4ba..756ae86bb19 100644 --- a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix +++ b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix @@ -1,4 +1,9 @@ -{ stdenv, makeWrapper, symlinkJoin, switchboard, switchboardPlugs, plugs }: +{ makeWrapper +, symlinkJoin +, switchboard +, switchboardPlugs +, plugs +}: let selectedPlugs = if plugs == null then switchboardPlugs else plugs; diff --git a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix index 2f7e79f9f9b..fe9db999bb6 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix @@ -1,22 +1,27 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +}: stdenv.mkDerivation rec { - pname = "stylesheet"; - version = "5.2.1"; + pname = "elementary-gtk-theme"; + version = "5.2.5"; - name = "elementary-gtk-theme-${version}"; + repoName = "stylesheet"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; - sha256 = "03l8m87f7z25svxk0hhcqnn4qnnqvasr5qwzq3s87lx25gwjml29"; + sha256 = "0934rfdwkn4315mhayzba8a3b6i1xczp66gl6n45hh5c81gb2p65"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-gtk-theme"; + inherit repoName; + attrPath = pname; }; }; diff --git a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix index 23fb8445838..bdf42b1c1ef 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix @@ -1,34 +1,43 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, python3,ninja, hicolor-icon-theme, gtk3 }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, python3 +, ninja +, hicolor-icon-theme +, gtk3 +}: stdenv.mkDerivation rec { - pname = "icons"; - version = "5.0.3"; + pname = "elementary-icon-theme"; + version = "5.0.4"; - name = "elementary-icon-theme-${version}"; + repoName = "icons"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; - sha256 = "0wpv7yirf44bfqfmyshzfw9605j1idm7c9jqg68k3nmymmd6iqzf"; + sha256 = "0ha7biqvmkv68x1gi9bfcn5z0ld067pa5czx0pyf053pa86lg3hx"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-icon-theme"; + inherit repoName; + attrPath = pname; }; }; nativeBuildInputs = [ + gtk3 meson ninja python3 ]; - buildInputs = [ gtk3 ]; - - propagatedBuildInputs = [ hicolor-icon-theme ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; mesonFlags = [ "-Dvolume_icons=false" # Tries to install some icons to / diff --git a/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix b/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix new file mode 100644 index 00000000000..76bdcf643f8 --- /dev/null +++ b/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix @@ -0,0 +1,31 @@ +{ stdenv +, fetchFromGitHub +, pantheon +}: + +stdenv.mkDerivation rec { + pname = "elementary-redacted-script"; + version = "unstable-2016-06-03"; + + src = fetchFromGitHub { + owner = "png2378"; + repo = "redacted-elementary"; + rev = "346440ff9ce19465e6d5c3d6d67a8573f992c746"; + sha256 = "1jpd13sxkarclr0mlm66wzgpjh52ghzjzn4mywhyshyyskwn7jg1"; + }; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/share/fonts/truetype/redacted-elementary + cp -a truetype/*.ttf $out/share/fonts/truetype/redacted-elementary + ''; + + meta = with stdenv.lib; { + description = "Font for concealing text"; + homepage = https://github.com/png2378/redacted-elementary; + license = licenses.ofl; + maintainers = pantheon.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix index 430acfd9ac1..aff830fda56 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix @@ -1,22 +1,28 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +}: stdenv.mkDerivation rec { - pname = "sound-theme"; + pname = "elementary-sound-theme"; version = "1.0"; - name = "elementary-${pname}-${version}"; + repoName = "sound-theme"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; sha256 = "1dc583lq61c361arjl3s44d2k72c46bqvcqv1c3s69f2ndsnxjdz"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; diff --git a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix index 898d5f7b454..30145541750 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix @@ -1,26 +1,30 @@ -{ stdenv, fetchFromGitHub, pantheon }: +{ stdenv +, fetchFromGitHub +, pantheon +}: stdenv.mkDerivation rec { - pname = "wallpapers"; + pname = "elementary-wallpapers"; version = "5.3"; - name = "elementary-${pname}-${version}"; + repoName = "wallpapers"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; sha256 = "1i0zf9gzhwm8hgq5cp1xnxipqjvgzd9wfiicz612hgp6ivc0z0ag"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; dontBuild = true; + dontConfigure = true; installPhase = '' mkdir -p $out/share/backgrounds/elementary diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index a7b8a01eeb0..039d75beb4f 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -62,6 +62,8 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-gsettings-schemas = callPackage ./desktop/elementary-gsettings-schemas { }; + notes-up = pkgs.notes-up.override { withPantheon = true; }; + #### APPS elementary-calculator = callPackage ./apps/elementary-calculator { }; @@ -131,9 +133,7 @@ lib.makeScope pkgs.newScope (self: with self; { # We're using ubuntu and elementary's patchset due to reasons # explained here -> https://github.com/elementary/greeter/issues/92#issuecomment-376215614 # Take note of "I am holding off on "fixing" this bug for as long as possible." - elementary-settings-daemon = callPackage ./services/elementary-settings-daemon { - inherit (gnome3) libgweather; - }; + elementary-settings-daemon = callPackage ./services/elementary-settings-daemon { }; pantheon-agent-geoclue2 = callPackage ./services/pantheon-agent-geoclue2 { }; @@ -215,6 +215,8 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-icon-theme = callPackage ./artwork/elementary-icon-theme { }; + elementary-redacted-script = callPackage ./artwork/elementary-redacted-script { }; + elementary-sound-theme = callPackage ./artwork/elementary-sound-theme { }; elementary-wallpapers = callPackage ./artwork/elementary-wallpapers { }; diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch b/pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch index 438ed79d1bb..1b2dc835706 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch +++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch @@ -1,7 +1,7 @@ -diff --git a/debian/elementary-default-settings.gsettings-override b/debian/elementary-default-settings.gsettings-override -index 6452c30..899972d 100644 ---- a/debian/elementary-default-settings.gsettings-override -+++ b/debian/elementary-default-settings.gsettings-override +diff --git a/overrides/default-settings.gschema.override b/overrides/default-settings.gschema.override +index 1aef29c..08de164 100644 +--- a/overrides/default-settings.gschema.override ++++ b/overrides/default-settings.gschema.override @@ -1,5 +1,5 @@ [net.launchpad.plank.dock.settings] -dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem'] diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix index f133324a81e..a1a69ee303f 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix @@ -1,47 +1,41 @@ -{ stdenv, fetchFromGitHub, fetchpatch, pantheon }: +{ stdenv +, fetchFromGitHub +, pantheon +}: stdenv.mkDerivation rec { - pname = "default-settings"; - version = "5.0"; + pname = "elementary-default-settings"; + version = "5.1.0"; - name = "elementary-${pname}-${version}"; + repoName = "default-settings"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; - sha256 = "0gyv835qbr90001gda2pzngzzbbk5jf9grgfl25pqkm29s45rqq0"; + sha256 = "0l73py4rr56i4dalb2wh1c6qiwmcjkm0l1j75jp5agcnxldh5wym"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; patches = [ - # See: https://github.com/elementary/default-settings/pull/86 (didn't make 5.0 release) - (fetchpatch { - url = "https://github.com/elementary/default-settings/commit/05d0b2a4e98c28203521d599b40745b46be549fa.patch"; - sha256 = "1wk1qva3yzc28gljnkx9hb3pwhqnfrsb08wd76lsl3xnylg0wn2l"; - }) - # See: https://github.com/elementary/default-settings/pull/94 (didn't make 5.0 release) - (fetchpatch { - url = "https://github.com/elementary/default-settings/commit/a2ca00130c16e805179fb5abd7b624a873dff2da.patch"; - sha256 = "1jp1c5d8jfm0404zsylfk7h9vj81s409wgbzbsd2kxmz65icq16x"; - }) ./correct-override.patch ]; dontBuild = true; + dontConfigure = true; installPhase = '' mkdir -p $out/etc/gtk-3.0 cp -av settings.ini $out/etc/gtk-3.0 mkdir -p $out/share/glib-2.0/schemas - cp -av debian/elementary-default-settings.gsettings-override $out/share/glib-2.0/schemas/20-io.elementary.desktop.gschema.override + cp -av overrides/default-settings.gschema.override $out/share/glib-2.0/schemas/20-io.elementary.desktop.gschema.override mkdir $out/etc/wingpanel.d cp -avr ${./io.elementary.greeter.whitelist} $out/etc/wingpanel.d/io.elementary.greeter.whitelist diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix index 303aae6882b..8ef85b90a3b 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix @@ -1,32 +1,31 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, substituteAll, makeWrapper, meson +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, substituteAll, meson , ninja, vala, desktop-file-utils, gtk3, granite, libgee, elementary-settings-daemon -, gnome-desktop, mutter, gobject-introspection, elementary-icon-theme, wingpanel-with-indicators -, elementary-gtk-theme, nixos-artwork, elementary-default-settings, lightdm, numlockx +, gnome-desktop, mutter, elementary-icon-theme, wingpanel-with-indicators +, elementary-gtk-theme, nixos-artwork, lightdm, numlockx , clutter-gtk, libGL, dbus, wrapGAppsHook }: stdenv.mkDerivation rec { - pname = "greeter"; + pname = "elementary-greeter"; version = "3.3.1"; - name = "elementary-${pname}-${version}"; + repoName = "greeter"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; sha256 = "1vkq4z0hrmvzv4sh2qkxjajdxcycd1zj97a3pc8n4yb858pqfyzc"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; nativeBuildInputs = [ desktop-file-utils - gobject-introspection meson ninja pkgconfig @@ -52,13 +51,14 @@ stdenv.mkDerivation rec { patches = [ (substituteAll { src = ./gsd.patch; - elementary-settings-daemon = "${elementary-settings-daemon}/libexec"; + elementary_settings_daemon = "${elementary-settings-daemon}/libexec/"; }) (substituteAll { src = ./numlockx.patch; inherit numlockx; }) ./01-sysconfdir-install.patch + ./hardcode-theme.patch ]; mesonFlags = [ @@ -70,9 +70,6 @@ stdenv.mkDerivation rec { preFixup = '' gappsWrapperArgs+=( - # GTK+ reads default settings (such as icons and themes) from elementary's settings.ini here - --prefix XDG_CONFIG_DIRS : "${elementary-default-settings}/etc" - # dbus-launch needed in path --prefix PATH : "${dbus}/bin" diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/gsd.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/gsd.patch index 1770d54aee0..bcbf604c6a2 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/gsd.patch +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/gsd.patch @@ -7,7 +7,7 @@ index 2450c1a..a908d11 100644 conf_data.set('CONF_DIR', join_paths(get_option('sysconfdir'), 'lightdm')) conf_data.set('GETTEXT_PACKAGE', meson.project_name()) -conf_data.set('GSD_DIR', '/usr/lib/gnome-settings-daemon/') -+conf_data.set('GSD_DIR', '@elementary-settings-daemon@') ++conf_data.set('GSD_DIR', '@elementary_settings_daemon@') conf_data.set('VERSION', meson.project_version()) config_header = configure_file ( input: 'config.vala.in', diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-theme.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-theme.patch new file mode 100644 index 00000000000..e9263aab736 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-theme.patch @@ -0,0 +1,15 @@ +diff --git a/src/PantheonGreeter.vala b/src/PantheonGreeter.vala +index 11aa4c0..daf4a8a 100644 +--- a/src/PantheonGreeter.vala ++++ b/src/PantheonGreeter.vala +@@ -474,6 +474,10 @@ public static int main (string [] args) { + Gdk.CursorType.LEFT_PTR); + Gdk.get_default_root_window ().set_cursor (cursor); + ++ var settings = Gtk.Settings.get_default (); ++ settings.gtk_icon_theme_name = "elementary"; ++ settings.gtk_theme_name = "elementary"; ++ + var icon_theme = Gtk.IconTheme.get_default (); + icon_theme.add_resource_path ("/io/elementary/greeter/icons"); + diff --git a/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix b/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix index bd5688f941b..b273bbece96 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix @@ -1,4 +1,15 @@ -{ stdenv, runCommand, gnome3, elementary-default-settings, nixos-artwork, glib, gala, epiphany, elementary-settings-daemon, gtk3, plank +{ stdenv +, runCommand +, mutter +, elementary-default-settings +, nixos-artwork +, glib +, gala +, epiphany +, elementary-settings-daemon +, gtk3 +, plank +, gsettings-desktop-schemas , extraGSettingsOverrides ? "" , extraGSettingsOverridePackages ? [] }: @@ -6,10 +17,11 @@ let gsettingsOverridePackages = [ - gala - epiphany elementary-settings-daemon - gnome3.mutter + epiphany + gala + mutter + gsettings-desktop-schemas gtk3 plank ] ++ extraGSettingsOverridePackages; @@ -22,7 +34,7 @@ with stdenv.lib; runCommand "elementary-gsettings-desktop-schemas" {} '' mkdir -p $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas - cp -rf ${gnome3.gsettings-desktop-schemas}/share/gsettings-schemas/gsettings-desktop-schemas*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas + cp -rf ${gsettings-desktop-schemas}/share/gsettings-schemas/gsettings-desktop-schemas*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas ${concatMapStrings (pkg: "cp -rf ${pkg}/share/gsettings-schemas/*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas\n") gsettingsOverridePackages} @@ -32,9 +44,7 @@ runCommand "elementary-gsettings-desktop-schemas" {} cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF [org.gnome.desktop.background] - draw-background=true - picture-options='zoom' - picture-uri='${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png' + picture-uri='file://${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png' primary-color='#000000' ${extraGSettingsOverrides} diff --git a/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix b/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix index d8634b48570..0be2431d33d 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix @@ -1,22 +1,30 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala, gtk3 }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, pkgconfig +, vala +, gtk3 +}: stdenv.mkDerivation rec { - pname = "print"; + pname = "elementary-print-shim"; version = "0.1.3"; - name = "elementary-print-shim-${version}"; + repoName = "print"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; sha256 = "1w3cfap7j42x14mqpfqdm46hk5xc0v5kv8r6wxcnknr3sfxi8qlp"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}-shim"; + inherit repoName; + attrPath = pname; }; }; diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix index fddd4143616..df12fba645f 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix @@ -1,4 +1,19 @@ -{ stdenv, fetchFromGitHub, substituteAll, writeScript, pantheon, gnome-keyring, gnome-session, wingpanel, orca, at-spi2-core, elementary-default-settings, writeTextFile, writeShellScriptBin, elementary-settings-daemon }: +{ stdenv +, fetchFromGitHub +, substituteAll +, writeScript +, pantheon +, gnome-keyring +, gnome-session +, wingpanel +, orca +, onboard +, at-spi2-core +, elementary-default-settings +, writeShellScriptBin +, elementary-settings-daemon +, runtimeShell +}: let @@ -7,7 +22,7 @@ let # # - # Upstream relies on /etc/skel to initiate a new users home directory with planks dockitems. + # Upstream relies on /etc/skel to initiate a new users home directory with plank's dockitems. # # That is not possible within nixos, but we can achieve this easily with a simple script that copies # them. We then use a xdg autostart and initalize it during the "EarlyInitialization" phase of a gnome session @@ -15,7 +30,7 @@ let # dockitems-script = writeScript "dockitems-script" '' - #!${stdenv.shell} + #!${runtimeShell} elementary_default_settings="${elementary-default-settings}" dock_items="$elementary_default_settings/share/elementary/config/plank/dock1/launchers"/* @@ -44,35 +59,36 @@ let in stdenv.mkDerivation rec { - pname = "session-settings"; + pname = "elementary-session-settings"; version = "5.0.3"; - name = "elementary-${pname}-${version}"; + repoName = "session-settings"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; sha256 = "1vrjm7bklkfv0dyafm312v4hxzy6lb7p1ny4ijkn48kr719gc71k"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; dontBuild = true; + dontConfigure = true; installPhase = '' - mkdir -p $out/share - cp -avr applications $out/share/ + mkdir -p $out/share/applications + cp -av ${./pantheon-mimeapps.list} $out/share/applications/pantheon-mimeapps.list mkdir -p $out/etc/xdg/autostart - cp -av ${gnome-keyring}/etc/xdg/autostart/* $out/etc/xdg/autostart - cp -av ${orca}/etc/xdg/autostart/* $out/etc/xdg/autostart - cp -av ${at-spi2-core}/etc/xdg/autostart/* $out/etc/xdg/autostart + for package in ${gnome-keyring} ${orca} ${onboard} ${at-spi2-core}; do + cp -av $package/etc/xdg/autostart/* $out/etc/xdg/autostart + done cp "${dockitemAutostart}" $out/etc/xdg/autostart/default-elementary-dockitems.desktop diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list b/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list new file mode 100644 index 00000000000..3b5e3b0e77a --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list @@ -0,0 +1,168 @@ +[Default Applications] +application/ogg=io.elementary.music.desktop +application/oxps=org.gnome.Evince.desktop +application/pdf=org.gnome.Evince.desktop +application/postscript=org.gnome.Evince.desktop +application/vnd.ms-xpsdocument=org.gnome.Evince.desktop +application/vnd.rn-realmedia=io.elementary.videos.desktop +application/x-ar=org.gnome.FileRoller.desktop +application/x-arj=org.gnome.FileRoller.desktop +application/x-bzdvi=org.gnome.Evince.desktop +application/x-bzip-compressed-tar=org.gnome.FileRoller.desktop +application/x-bzip=org.gnome.FileRoller.desktop +application/x-bzpdf=org.gnome.Evince.desktop +application/x-bzpostscript=org.gnome.Evince.desktop +application/x-cbr=org.gnome.Evince.desktop +application/x-cbt=org.gnome.Evince.desktop +application/x-cbz=org.gnome.Evince.desktop +application/x-compress=org.gnome.FileRoller.desktop +application/x-compressed-tar=org.gnome.FileRoller.desktop +application/x-dvi=org.gnome.Evince.desktop +application/x-ear=org.gnome.FileRoller.desktop +application/x-extension-m4a=io.elementary.videos.desktop +application/x-extension-mp4=io.elementary.videos.desktop +application/x-flac=io.elementary.music.desktop +application/x-gtar=org.gnome.FileRoller.desktop +application/x-gzdvi=org.gnome.Evince.desktop +application/x-gzip=org.gnome.FileRoller.desktop +application/x-gzpdf=org.gnome.Evince.desktop +application/x-gzpostscript=org.gnome.Evince.desktop +application/x-lha=org.gnome.FileRoller.desktop +application/x-lhz=org.gnome.FileRoller.desktop +application/x-lzop=org.gnome.FileRoller.desktop +application/x-matroska=io.elementary.videos.desktop +application/x-ogg=io.elementary.music.desktop +application/x-perl=io.elementary.code.desktop +application/x-rar-compressed=org.gnome.FileRoller.desktop +application/x-rar=org.gnome.FileRoller.desktop +application/x-rpm=org.gnome.FileRoller.desktop +application/x-tar=org.gnome.FileRoller.desktop +application/x-war=org.gnome.FileRoller.desktop +application/x-xz-compressed-tar=org.gnome.FileRoller.desktop +application/x-xz=org.gnome.FileRoller.desktop +application/x-xzpdf=org.gnome.Evince.desktop +application/x-zip-compressed=org.gnome.FileRoller.desktop +application/x-zip=org.gnome.FileRoller.desktop +application/x-zoo=org.gnome.FileRoller.desktop +application/xhtml+xml=org.gnome.Epiphany.desktop +application/zip=org.gnome.FileRoller.desktop +audio/3gpp=io.elementary.music.desktop +audio/ac3=io.elementary.music.desktop +audio/AMR-WB=io.elementary.music.desktop +audio/AMR=io.elementary.music.desktop +audio/basic=io.elementary.music.desktop +audio/flac=io.elementary.music.desktop +audio/midi=io.elementary.music.desktop +audio/mp4=io.elementary.music.desktop +audio/mpeg=io.elementary.music.desktop +audio/mpegurl=io.elementary.music.desktop +audio/ogg=io.elementary.music.desktop +audio/prs.sid=io.elementary.music.desktop +audio/vnd.rn-realaudio=io.elementary.music.desktop +audio/x-ape=io.elementary.music.desktop +audio/x-flac=io.elementary.music.desktop +audio/x-gsm=io.elementary.music.desktop +audio/x-it=io.elementary.music.desktop +audio/x-m4a=io.elementary.music.desktop +audio/x-matroska=io.elementary.music.desktop +audio/x-mod=io.elementary.music.desktop +audio/x-mp3=io.elementary.music.desktop +audio/x-mpeg=io.elementary.music.desktop +audio/x-mpegurl=io.elementary.music.desktop +audio/x-ms-asf=io.elementary.music.desktop +audio/x-ms-asx=io.elementary.music.desktop +audio/x-ms-wax=io.elementary.music.desktop +audio/x-ms-wma=io.elementary.music.desktop +audio/x-musepack=io.elementary.music.desktop +audio/x-pn-aiff=io.elementary.music.desktop +audio/x-pn-au=io.elementary.music.desktop +audio/x-pn-realaudio-plugin=io.elementary.music.desktop +audio/x-pn-realaudio=io.elementary.music.desktop +audio/x-pn-wav=io.elementary.music.desktop +audio/x-pn-windows-acm=io.elementary.music.desktop +audio/x-real-audio=io.elementary.music.desktop +audio/x-realaudio=io.elementary.music.desktop +audio/x-sbc=io.elementary.music.desktop +audio/x-scpls=io.elementary.music.desktop +audio/x-speex=io.elementary.music.desktop +audio/x-tta=io.elementary.music.desktop +audio/x-vorbis+ogg=io.elementary.music.desktop +audio/x-vorbis=io.elementary.music.desktop +audio/x-wav=io.elementary.music.desktop +audio/x-wavpack=io.elementary.music.desktop +audio/x-xm=io.elementary.music.desktop +image/bmp=io.elementary.photos-viewer.desktop +image/gif=io.elementary.photos-viewer.desktop +image/jpeg=io.elementary.photos-viewer.desktop +image/jpg=io.elementary.photos-viewer.desktop +image/pjpeg=io.elementary.photos-viewer.desktop +image/png=io.elementary.photos-viewer.desktop +image/tiff=io.elementary.photos-viewer.desktop +image/vnd.djvu=org.gnome.Evince.desktop +image/vnd.rn-realpix=io.elementary.videos.desktop +image/webp=io.elementary.photos-viewer.desktop +image/x-bmp=io.elementary.photos-viewer.desktop +image/x-bzeps=org.gnome.Evince.desktop +image/x-eps=org.gnome.Evince.desktop +image/x-gzeps=org.gnome.Evince.desktop +image/x-png=io.elementary.photos-viewer.desktop +inode/directory=io.elementary.files.desktop +misc/ultravox=io.elementary.videos.desktop +multipart/x-zip=org.gnome.FileRoller.desktop +text/calendar=io.elementary.calendar.desktop +text/html=org.gnome.Epiphany.desktop +text/mathml=io.elementary.code.desktop +text/plain=io.elementary.code.desktop +text/x-chdr=io.elementary.code.desktop +text/x-csrc=io.elementary.code.desktop +text/x-dtd=io.elementary.code.desktop +text/x-java=io.elementary.code.desktop +text/x-python=io.elementary.code.desktop +text/x-sql=io.elementary.code.desktop +text/xml=io.elementary.code.desktop +video/3gpp=io.elementary.videos.desktop +video/dv=io.elementary.videos.desktop +video/fli=io.elementary.videos.desktop +video/flv=io.elementary.videos.desktop +video/mp2t=io.elementary.videos.desktop +video/mp4=io.elementary.videos.desktop +video/mp4v-es=io.elementary.videos.desktop +video/mpeg=io.elementary.videos.desktop +video/msvideo=io.elementary.videos.desktop +video/ogg=io.elementary.videos.desktop +video/quicktime=io.elementary.videos.desktop +video/vivo=io.elementary.videos.desktop +video/vnd.divx=io.elementary.videos.desktop +video/vnd.rn-realvideo=io.elementary.videos.desktop +video/vnd.vivo=io.elementary.videos.desktop +video/webm=io.elementary.videos.desktop +video/x-anim=io.elementary.videos.desktop +video/x-avi=io.elementary.videos.desktop +video/x-flc=io.elementary.videos.desktop +video/x-fli=io.elementary.videos.desktop +video/x-flic=io.elementary.videos.desktop +video/x-flv=io.elementary.videos.desktop +video/x-m4v=io.elementary.videos.desktop +video/x-matroska=io.elementary.videos.desktop +video/x-mpeg=io.elementary.videos.desktop +video/x-ms-asf=io.elementary.videos.desktop +video/x-ms-asx=io.elementary.videos.desktop +video/x-ms-wm=io.elementary.videos.desktop +video/x-ms-wmv=io.elementary.videos.desktop +video/x-ms-wmx=io.elementary.videos.desktop +video/x-ms-wvx=io.elementary.videos.desktop +video/x-msvideo=io.elementary.videos.desktop +video/x-nsv=io.elementary.videos.desktop +video/x-ogm+ogg=io.elementary.videos.desktop +video/x-theora+ogg=io.elementary.videos.desktop +video/x-totem-stream=io.elementary.videos.desktop +x-content/image-dcf=io.elementary.photos.desktop +x-content/image-picturecd=io.elementary.photos.desktop +x-content/video-dvd=io.elementary.videos.desktop +x-content/video-svcd=io.elementary.videos.desktop +x-content/video-vcd=io.elementary.videos.desktop +x-scheme-handler/http=org.gnome.Epiphany.desktop +x-scheme-handler/https=org.gnome.Epiphany.desktop +x-scheme-handler/mailto=org.gnome.Evolution.desktop +x-scheme-handler/trash=io.elementary.files.desktop + diff --git a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix index 6ceebf1980c..20b1ac7d353 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix @@ -1,29 +1,42 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala, libxml2, desktop-file-utils -, gtk3, glib, granite, libgee, elementary-icon-theme, gobject-introspection, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, libxml2 +, desktop-file-utils +, gtk3 +, glib +, granite +, libgee +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { - pname = "shortcut-overlay"; + pname = "elementary-shortcut-overlay"; version = "1.0.1"; - name = "elementary-${pname}-${version}"; + repoName = "shortcut-overlay"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; sha256 = "1ph4rx2l5fn0zh4fjfjlgbgskmzc0lvzqgcv7v4kr5m4rij1p4y4"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; nativeBuildInputs = [ desktop-file-utils - gobject-introspection libxml2 meson ninja diff --git a/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix b/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix index 4e19a65b58d..973040a8da6 100644 --- a/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix +++ b/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix @@ -1,11 +1,14 @@ -{ stdenv, substituteAll, fetchFromGitHub, file-roller, gnome-bluetooth }: +{ stdenv +, substituteAll +, fetchFromGitHub +, file-roller +, gnome-bluetooth +}: stdenv.mkDerivation rec { pname = "extra-elementary-contracts"; version = "2018-08-21"; - name = "${pname}-${version}"; - src = fetchFromGitHub { owner = "worldofpeace"; repo = pname; @@ -22,6 +25,7 @@ stdenv.mkDerivation rec { ]; dontBuild = true; + dontConfigure = true; installPhase = '' mkdir -p $out/share/contractor diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix index 97acc2c791b..b80e93279c8 100644 --- a/pkgs/desktops/pantheon/desktop/gala/default.nix +++ b/pkgs/desktops/pantheon/desktop/gala/default.nix @@ -1,17 +1,38 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, python3, ninja, vala -, desktop-file-utils, gettext, libxml2, gtk3, granite, libgee, bamf, libcanberra -, libcanberra-gtk3, gnome-desktop, mutter, clutter, plank, gobject-introspection -, elementary-icon-theme, elementary-settings-daemon, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, python3 +, ninja +, vala +, desktop-file-utils +, gettext +, libxml2 +, gtk3 +, granite +, libgee +, bamf +, libcanberra +, libcanberra-gtk3 +, gnome-desktop +, mutter +, clutter +, plank +, elementary-icon-theme +, elementary-settings-daemon +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "gala"; - version = "unstable-2018-12-16"; + version = "unstable-2019-07-21"; # Is tracking https://github.com/elementary/gala/commits/stable/juno src = fetchFromGitHub { owner = "elementary"; repo = pname; - rev = "7f1e392e03000df0bd47e7832bb3adab81f39ae5"; - sha256 = "1syqq0xfyg5nbnnmy0wp5d66k1bvq9qn27lvr37abxxqig9acpc8"; + rev = "50694796d4c8f0ca92517d5a628b0efdf748279c"; + sha256 = "17d0hd2145mrf8y5ws3xypdbwj72qv7hrrp6p6lm4k16xd96yznr"; }; passthru = { @@ -24,7 +45,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ desktop-file-utils gettext - gobject-introspection libxml2 meson ninja @@ -49,7 +69,9 @@ stdenv.mkDerivation rec { plank ]; - patches = [ ./plugins-dir.patch ]; + patches = [ + ./plugins-dir.patch + ]; postPatch = '' chmod +x build-aux/meson/post_install.py diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix index e4f7df107ba..9f40c0f9e58 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix @@ -1,42 +1,61 @@ -{ stdenv, fetchFromGitHub, pantheon, substituteAll, cmake, ninja -, pkgconfig, vala, granite, libgee, gettext, gtk3, appstream, gnome-menus -, json-glib, plank, bamf, switchboard, libunity, libsoup, wingpanel, libwnck3 -, zeitgeist, gobject-introspection, elementary-icon-theme, bc, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, substituteAll +, meson +, ninja +, python3 +, pkgconfig +, vala +, granite +, libgee +, gettext +, gtk3 +, appstream +, gnome-menus +, json-glib +, plank +, bamf +, switchboard +, libunity +, libsoup +, wingpanel +, zeitgeist +, bc +}: stdenv.mkDerivation rec { - pname = "applications-menu"; - version = "2.4.2"; + pname = "wingpanel-applications-menu"; + version = "2.4.3"; - name = "wingpanel-${pname}-${version}"; + repoName = "applications-menu"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; - sha256 = "0y7kh50ixvm4m56v18c70s05hhpfp683c4qi3sxy50p2368d772x"; + sha256 = "15mwfynaa57jii43x77iaz5gqjlylh5zxc70am8zgp8vhgzflvyd"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "wingpanel-${pname}"; + inherit repoName; + attrPath = pname; }; }; nativeBuildInputs = [ appstream - cmake - ninja gettext - gobject-introspection + meson + ninja pkgconfig + python3 vala - wrapGAppsHook ]; buildInputs = [ bamf - elementary-icon-theme gnome-menus granite gtk3 @@ -44,24 +63,31 @@ stdenv.mkDerivation rec { libgee libsoup libunity - libwnck3 plank switchboard wingpanel zeitgeist ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + mesonFlags = [ + "--sysconfdir=${placeholder ''out''}/etc" + ]; + + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder ''out''}/lib/switchboard"; patches = [ (substituteAll { src = ./bc.patch; exec = "${bc}/bin/bc"; }) - ./xdg.patch ]; + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + meta = with stdenv.lib; { description = "Lightweight and stylish app launcher for Pantheon"; homepage = https://github.com/elementary/applications-menu; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/xdg.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/xdg.patch deleted file mode 100644 index f17e2581e07..00000000000 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/xdg.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 928976a..7f0ea58 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -90,7 +90,7 @@ link_directories (${DEPS_LIBRARY_DIRS}) - - # Installation - install (TARGETS ${APPNAME} RUNTIME DESTINATION bin) --install (FILES ${applications_menu} DESTINATION /etc/xdg/menus) -+install (FILES ${applications_menu} DESTINATION etc/xdg/menus) - file (GLOB resources "${CMAKE_CURRENT_SOURCE_DIR}/data/*") - - # Settings schema diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix index 16f3ae2e28e..7e73adcd7e9 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix @@ -1,16 +1,30 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, python3 -, ninja, vala, gtk3, granite, libnotify, wingpanel, libgee, libxml2 -, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, python3 +, ninja +, vala +, gtk3 +, granite +, libnotify +, wingpanel +, libgee +, libxml2 +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "wingpanel-indicator-bluetooth"; - version = "2.1.2"; + version = "2.1.3"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1gx0xglp6b3znxl4d2vpzhfkxz5z8q04hh7z2mrihj1in155bn44"; + sha256 = "04ggakf7qp4q0kah5xksbwjn78wpdrp9kdgkj6ibzsb97ngn70g9"; }; passthru = { @@ -20,7 +34,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection libxml2 meson ninja @@ -39,7 +52,7 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel"; postPatch = '' chmod +x meson/post_install.py diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/calendar-exec.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/calendar-exec.patch deleted file mode 100644 index 2370fbcd3cb..00000000000 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/calendar-exec.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/Widgets/calendar/Calendar.vala b/src/Widgets/calendar/Calendar.vala -index 76443ca..d86bd44 100644 ---- a/src/Widgets/calendar/Calendar.vala -+++ b/src/Widgets/calendar/Calendar.vala -@@ -19,7 +19,7 @@ - - namespace DateTime.Widgets { - public class Calendar : Gtk.Box { -- private const string CALENDAR_EXEC = "/usr/bin/io.elementary.calendar"; -+ private const string CALENDAR_EXEC = "@elementary-calendar@"; - - ControlHeader heading; - CalendarView cal; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix index ee5cd511818..1ab3c579e14 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix @@ -1,7 +1,24 @@ -{ stdenv, fetchFromGitHub, fetchpatch, pantheon, pkgconfig, meson, python3 -, ninja, substituteAll, vala, gtk3, granite, wingpanel, evolution-data-server -, libical, libgee, libxml2, libsoup, gobject-introspection -, elementary-calendar, elementary-icon-theme, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, fetchpatch +, pantheon +, pkgconfig +, meson +, python3 +, ninja +, vala +, gtk3 +, granite +, wingpanel +, evolution-data-server +, libical +, libgee +, libxml2 +, libsoup +, elementary-calendar +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "wingpanel-indicator-datetime"; @@ -21,7 +38,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection libxml2 meson ninja @@ -43,24 +59,30 @@ stdenv.mkDerivation rec { ]; patches = [ - (substituteAll { - src = ./calendar-exec.patch; - elementary-calendar = "${elementary-calendar}/bin/io.elementary.calendar"; - }) # Use "clock-format" GSettings key that's been moved to granite (fetchpatch { url = "https://src.fedoraproject.org/rpms/wingpanel-indicator-datetime/raw/c8d515b76aa812c141212d5515621a6febd781a3/f/00-move-clock-format-settings-to-granite.patch"; sha256 = "1sq3aw9ckkm057rnrclnw9lyrxbpl37fyzfnbixi2q3ypr70n880"; }) + # See: https://github.com/elementary/wingpanel-indicator-datetime/pull/117 + (fetchpatch { + url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/4859e72a52d8dac5cad87b192fc912fb013b0ecd.patch"; + sha256 = "0jfhb5sax4sivdfx7il1rc1dvhy0yfv27qhvwbdy0hza9wf8q9k0"; + }) ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel"; postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py ''; + # launches elementary-calendar on selection + preFixup = '' + gappsWrapperArgs+=( --prefix PATH : "${elementary-calendar}/bin" ) + ''; + meta = with stdenv.lib; { description = "Date & Time Indicator for Wingpanel"; homepage = https://github.com/elementary/wingpanel-indicator-datetime; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix index e2faccedbb7..00a57cb9943 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix @@ -1,16 +1,31 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja -, substituteAll, vala, gtk3, granite, libxml2, wingpanel, libgee -, xorg, libgnomekbd, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, substituteAll +, vala +, gtk3 +, granite +, libxml2 +, wingpanel +, libgee +, xorg +, libgnomekbd +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "wingpanel-indicator-keyboard"; - version = "2.1.1"; + version = "2.1.2"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0x0bdd9svw4sffx8pa0pqlh6mrj3fqp4mgrb4n7ys26k2w20ngnb"; + sha256 = "0lrd474m6p8di73hqjilqnnl7qg72ky5narkgcvm4lk8dyi78mz0"; }; passthru = { @@ -20,7 +35,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja libxml2 @@ -45,7 +59,7 @@ stdenv.mkDerivation rec { }) ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel"; meta = with stdenv.lib; { description = "Keyboard Indicator for Wingpanel"; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix index 245e12d4591..d5ce97df509 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix @@ -1,6 +1,19 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala -, gtk3, granite, networkmanager, networkmanagerapplet, wingpanel -, libgee, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, gtk3 +, granite +, networkmanager +, networkmanagerapplet +, wingpanel +, libgee +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "wingpanel-indicator-network"; @@ -20,7 +33,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -38,7 +50,7 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel"; meta = with stdenv.lib; { description = "Network Indicator for Wingpanel"; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix index 53754c31d87..0eab02bf8c8 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix @@ -1,16 +1,28 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala -, gtk3, granite, wingpanel, libgee, libxml2, gobject-introspection -, elementary-icon-theme, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, gtk3 +, granite +, wingpanel +, libgee +, libxml2 +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "wingpanel-indicator-nightlight"; - version = "2.0.1"; + version = "2.0.2"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "17pa048asbkhzz5945hjp96dnghdl72nqp1zq0b999nawnfrb339"; + sha256 = "0kw83ws91688xg96k9034dnz15szx2kva9smh1nb7xmdbpzn3qph"; }; passthru = { @@ -20,7 +32,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection libxml2 meson ninja @@ -37,7 +48,7 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel"; meta = with stdenv.lib; { description = "Night Light Indicator for Wingpanel"; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix index aff7d9891ad..78c901a2306 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix @@ -1,5 +1,18 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala, gtk3, granite -, wingpanel, libgee, libwnck3, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, gtk3 +, granite +, wingpanel +, libgee +, libwnck3 +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "wingpanel-indicator-notifications"; @@ -19,7 +32,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -36,7 +48,7 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel"; meta = with stdenv.lib; { description = "Notifications Indicator for Wingpanel"; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix index d7627c51100..f63cca74a4d 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix @@ -1,6 +1,21 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, python3 -, ninja, vala, gtk3, granite, bamf, libgtop, udev, wingpanel -, libgee, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, python3 +, ninja +, vala +, gtk3 +, granite +, bamf +, libgtop +, udev +, wingpanel +, libgee +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "wingpanel-indicator-power"; @@ -20,7 +35,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -40,7 +54,7 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel"; postPatch = '' chmod +x meson/post_install.py diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix index b910f6a7180..b363cb5485a 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix @@ -1,16 +1,28 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson -, ninja, vala, gtk3, granite, wingpanel, accountsservice -, libgee, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, gtk3 +, granite +, wingpanel +, accountsservice +, libgee +, elementary-icon-theme +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "wingpanel-indicator-session"; - version = "2.2.2"; + version = "2.2.5"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "15ghhiabk74m7fm5pzr2qmdwpc330jczvvkwbf5pf7qczfyipjln"; + sha256 = "0lqh9g6qq09m744gncspm79lbwx1vjl1d6j2szwcq9f0jdm01pm5"; }; passthru = { @@ -20,7 +32,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig @@ -37,7 +48,7 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel"; meta = with stdenv.lib; { description = "Session Indicator for Wingpanel"; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix index 003e431bcf7..6d0e791d1e4 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix @@ -1,17 +1,32 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson -, python3, ninja, vala, gtk3, granite, wingpanel, libnotify -, pulseaudio, libcanberra-gtk3, libgee, libxml2, wrapGAppsHook -, gobject-introspection, elementary-icon-theme }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, python3 +, ninja +, vala +, gtk3 +, granite +, wingpanel +, libnotify +, pulseaudio +, libcanberra-gtk3 +, libgee +, libxml2 +, wrapGAppsHook +, elementary-icon-theme +}: stdenv.mkDerivation rec { pname = "wingpanel-indicator-sound"; - version = "2.1.2"; + version = "2.1.3"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0hxbr5dp8d1czq8ffw339r41c7srqb72vr48hxph8g091d3mcgcl"; + sha256 = "0lgjl969c7s31nszh6d4pr1vsxfdsizplsihvd8r02mm1mlxmsda"; }; passthru = { @@ -21,7 +36,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection libxml2 meson ninja @@ -42,7 +56,7 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder ''out''}/lib/wingpanel"; postPatch = '' chmod +x meson/post_install.py diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix index a5ca227bbc2..b98c205d491 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix @@ -1,16 +1,30 @@ -{ stdenv, fetchFromGitHub, pantheon, wrapGAppsHook, pkgconfig, meson, ninja -, vala, gala, gtk3, libgee, granite, gettext, glib-networking, mutter, json-glib -, python3, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, wrapGAppsHook +, pkgconfig +, meson +, ninja +, vala +, gala +, gtk3 +, libgee +, granite +, gettext +, mutter +, json-glib +, python3 +}: stdenv.mkDerivation rec { pname = "wingpanel"; - version = "2.2.2"; + version = "2.2.5"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1knkqh9q6yp7qf27zi6ki20fq4w0ia2hklvv84ivfmfa0irz0j6r"; + sha256 = "15pl3km8jfmlgrrb2fcabdd0rkc849arz6sc3vz6azzpln7gxbq7"; }; passthru = { @@ -21,8 +35,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gettext - glib-networking - gobject-introspection meson ninja pkgconfig @@ -40,7 +52,9 @@ stdenv.mkDerivation rec { mutter ]; - patches = [ ./indicators.patch ]; + patches = [ + ./indicators.patch + ]; postPatch = '' chmod +x meson/post_install.py diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix b/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix index cfae604d3a5..6b554d89caa 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix @@ -1,4 +1,11 @@ -{ lib, makeWrapper, symlinkJoin, wingpanel, wingpanelIndicators, switchboard-with-plugs, indicators ? null }: +{ lib +, makeWrapper +, symlinkJoin +, wingpanel +, wingpanelIndicators +, switchboard-with-plugs +, indicators ? null +}: let selectedIndicators = if indicators == null then wingpanelIndicators else indicators; diff --git a/pkgs/desktops/pantheon/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix index 66ba331ddcd..7fba9610db0 100644 --- a/pkgs/desktops/pantheon/granite/default.nix +++ b/pkgs/desktops/pantheon/granite/default.nix @@ -1,4 +1,20 @@ -{ stdenv, fetchFromGitHub, fetchpatch, python3, meson, ninja, vala, pkgconfig, gobject-introspection, libgee, pantheon, gtk3, glib, gettext, hicolor-icon-theme, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, fetchpatch +, python3 +, meson +, ninja +, vala +, pkgconfig +, libgee +, pantheon +, gtk3 +, glib +, gettext +, hicolor-icon-theme +, gobject-introspection +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "granite"; diff --git a/pkgs/desktops/pantheon/services/cerbere/default.nix b/pkgs/desktops/pantheon/services/cerbere/default.nix index 59983469c11..a8eaf766664 100644 --- a/pkgs/desktops/pantheon/services/cerbere/default.nix +++ b/pkgs/desktops/pantheon/services/cerbere/default.nix @@ -1,14 +1,25 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, python3, ninja, glib, libgee, vala, gobject-introspection, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, python3 +, ninja +, glib +, libgee +, vala +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "cerbere"; - version = "0.2.4"; + version = "2.5.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0f9jr6q5z6nir5b77f96wm9rx6r6s9i0sr1yrymg3n7jyjgrvdwp"; + sha256 = "12y6gg4vyc1rhdm2c7pr7bgmdrah7ddphyh25fgh3way8l9gh7vw"; }; passthru = { @@ -18,7 +29,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig diff --git a/pkgs/desktops/pantheon/services/contractor/default.nix b/pkgs/desktops/pantheon/services/contractor/default.nix index a979b134195..6401b96a2ea 100644 --- a/pkgs/desktops/pantheon/services/contractor/default.nix +++ b/pkgs/desktops/pantheon/services/contractor/default.nix @@ -1,4 +1,17 @@ -{ stdenv, fetchFromGitHub, pantheon, meson, python3, ninja, pkgconfig, vala, glib, libgee, dbus, glib-networking, gobject-introspection }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, python3 +, ninja +, pkgconfig +, vala +, glib +, libgee +, dbus +, glib-networking +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "contractor"; @@ -19,12 +32,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ dbus - gobject-introspection meson ninja pkgconfig python3 vala + wrapGAppsHook ]; buildInputs = [ @@ -33,7 +46,7 @@ stdenv.mkDerivation rec { libgee ]; - PKG_CONFIG_DBUS_1_SESSION_BUS_SERVICES_DIR = "share/dbus-1/services"; + PKG_CONFIG_DBUS_1_SESSION_BUS_SERVICES_DIR = "${placeholder ''out''}/share/dbus-1/services"; meta = with stdenv.lib; { description = "A desktop-wide extension service used by elementary OS"; diff --git a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix index e77948ccf29..6305c872b2f 100644 --- a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix @@ -1,29 +1,42 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, python3, ninja, vala -, desktop-file-utils, gtk3, granite, libgee, gcr, webkitgtk, gobject-introspection, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, python3 +, ninja +, vala +, desktop-file-utils +, gtk3 +, granite +, libgee +, gcr +, webkitgtk +, wrapGAppsHook +}: stdenv.mkDerivation rec { - pname = "capnet-assist"; + pname = "elementary-capnet-assist"; version = "2.2.3"; - name = "elementary-${pname}-${version}"; + repoName = "capnet-assist"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; sha256 = "15cnwimkmmsb4rwvgm8bizcsn1krsj6k3qc88izn79is75y6wwji"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; nativeBuildInputs = [ desktop-file-utils - gobject-introspection meson ninja pkgconfig @@ -41,7 +54,9 @@ stdenv.mkDerivation rec { ]; # Not useful here or in elementary - See: https://github.com/elementary/capnet-assist/issues/3 - patches = [ ./remove-capnet-test.patch ]; + patches = [ + ./remove-capnet-test.patch + ]; postPatch = '' chmod +x meson/post_install.py diff --git a/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix b/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix index 4dab02d5083..fb9d28eaf6b 100644 --- a/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix @@ -1,28 +1,37 @@ -{ stdenv, fetchFromGitHub, pantheon, makeWrapper, lib, meson, ninja, desktop-file-utils, glib, coreutils, elementary-settings-daemon, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, meson +, ninja +, desktop-file-utils +, glib +, coreutils +, elementary-settings-daemon +, wrapGAppsHook +}: stdenv.mkDerivation rec { - pname = "dpms-helper"; + pname = "elementary-dpms-helper"; version = "1.0"; - name = "elementary-${pname}-${version}"; + repoName = "dpms-helper"; src = fetchFromGitHub { owner = "elementary"; - repo = pname; + repo = repoName; rev = version; sha256 = "0svfp0qyb6nx4mjl3jx4aqmb4x24m25jpi75mdis3yfr3c1xz9nh"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; - attrPath = "elementary-${pname}"; + inherit repoName; + attrPath = pname; }; }; nativeBuildInputs = [ desktop-file-utils - makeWrapper meson ninja wrapGAppsHook diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix index 99ca20afe98..67a67dd4b3d 100644 --- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix @@ -1,20 +1,59 @@ -{ fetchurl, fetchgit, substituteAll, stdenv, meson, ninja, pkgconfig, gnome3, perl, gettext, glib, libnotify, lcms2, libXtst -, libxkbfile, libpulseaudio, alsaLib, libcanberra-gtk3, upower, colord, libgweather, polkit -, geoclue2, librsvg, xf86_input_wacom, udev, libgudev, libwacom, libxslt, libxml2, networkmanager -, docbook_xsl, wrapGAppsHook, python3, ibus, xkeyboard_config, tzdata, nss, pantheon, accountsservice }: +{ accountsservice +, alsaLib +, colord +, docbook_xsl +, fetchgit +, fetchurl +, geoclue2 +, geocode-glib +, gettext +, glib +, gnome3 +, gsettings-desktop-schemas +, gtk3 +, lcms2 +, libcanberra-gtk3 +, libgnomekbd +, libgudev +, libgweather +, libnotify +, libpulseaudio +, libwacom +, libxml2 +, libxslt +, meson +, mousetweaks +, networkmanager +, ninja +, nss +, pantheon +, perl +, pkgconfig +, polkit +, python3 +, stdenv +, substituteAll +, systemd +, tzdata +, upower +, libXtst +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "elementary-settings-daemon"; version = "3.30.2"; + repoName = "gnome-settings-daemon"; + src = fetchurl { - url = "mirror://gnome/sources/gnome-settings-daemon/${stdenv.lib.versions.majorMinor version}/gnome-settings-daemon-${version}.tar.xz"; + url = "mirror://gnome/sources/${repoName}/${stdenv.lib.versions.majorMinor version}/${repoName}-${version}.tar.xz"; sha256 = "0c663csa3gnsr6wm0xfll6aani45snkdj7zjwjfzcwfh8w4a3z12"; }; # Source for ubuntu's patchset src2 = fetchgit { - url = "https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-settings-daemon"; + url = "https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/${repoName}"; rev = "refs/tags/ubuntu/${version}-1ubuntu1"; sha256 = "02awkhw6jqm7yh812mw0nsdmsljfi8ksz8mvd2qpns5pcv002g2c"; }; @@ -26,8 +65,9 @@ stdenv.mkDerivation rec { patches = let patchPath = "${src2}/debian/patches"; in [ (substituteAll { src = ./fix-paths.patch; - inherit tzdata; + inherit tzdata mousetweaks; }) + ./global-backlight-helper.patch "${patchPath}/45_suppress-printer-may-not-be-connected-notification.patch" "${patchPath}/64_restore_terminal_keyboard_shortcut_schema.patch" "${patchPath}/correct_logout_action.patch" @@ -59,7 +99,12 @@ stdenv.mkDerivation rec { done # This breaks lightlocker https://github.com/elementary/session-settings/commit/b0e7a2867608c3a3916f9e4e21a68264a20e44f8 + # TODO: shouldn't be neeed for the 5.1 greeter (awaiting release) rm $out/etc/xdg/autostart/org.gnome.SettingsDaemon.ScreensaverProxy-pantheon.desktop + + # So the polkit policy can reference /run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper + mkdir -p $out/bin/elementary-settings-daemon + ln -s $out/libexec/gsd-backlight-helper $out/bin/elementary-settings-daemon/gsd-backlight-helper ''; nativeBuildInputs = [ @@ -75,40 +120,49 @@ stdenv.mkDerivation rec { wrapGAppsHook ]; - buildInputs = with gnome3; [ + buildInputs = [ accountsservice alsaLib colord geoclue2 geocode-glib glib - gnome-desktop + gnome3.gnome-desktop gsettings-desktop-schemas - gtk - ibus + gtk3 lcms2 libXtst libcanberra-gtk3 + libgnomekbd # for org.gnome.libgnomekbd.keyboard schema libgudev libgweather libnotify libpulseaudio - librsvg libwacom - libxkbfile networkmanager nss polkit - udev + systemd upower - xf86_input_wacom - xkeyboard_config ]; mesonFlags = [ "-Dudev_dir=${placeholder "out"}/lib/udev" ]; + NIX_CFLAGS_COMPILE = [ + # Default for release buildtype but passed manually because + # we're using plain + "-DG_DISABLE_CAST_CHECKS" + ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = repoName; + attrPath = "pantheon.${pname}"; + }; + }; + meta = with stdenv.lib; { license = licenses.gpl2Plus; maintainers = pantheon.maintainers; diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch b/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch index 2229302cab7..272656fae78 100644 --- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch +++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch @@ -13,3 +13,14 @@ typedef struct _TzDB TzDB; typedef struct _TzLocation TzLocation; +--- a/plugins/mouse/gsd-mouse-manager.c ++++ b/plugins/mouse/gsd-mouse-manager.c +@@ -118,7 +118,7 @@ set_mousetweaks_daemon (GsdMouseManager *manager, + gboolean run_daemon = dwell_click_enabled || secondary_click_enabled; + + if (run_daemon || manager->priv->mousetweaks_daemon_running) +- comm = g_strdup_printf ("mousetweaks %s", ++ comm = g_strdup_printf ("@mousetweaks@/bin/mousetweaks %s", + run_daemon ? "" : "-s"); + else + return; diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch b/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch new file mode 100644 index 00000000000..c073b23e6b9 --- /dev/null +++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch @@ -0,0 +1,26 @@ +diff --git a/plugins/power/gpm-common.c b/plugins/power/gpm-common.c +index e83f1549..15890053 100644 +--- a/plugins/power/gpm-common.c ++++ b/plugins/power/gpm-common.c +@@ -452,7 +452,7 @@ run_backlight_helper (enum BacklightHelperCommand command, + gchar *argv[5] = { 0 }; + + argv[0] = "pkexec"; +- argv[1] = LIBEXECDIR "/gsd-backlight-helper"; ++ argv[1] = "/run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper"; + argv[2] = helper_args[command]; + argv[3] = value; + +diff --git a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in +index f16300f8..f19bba3e 100644 +--- a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in ++++ b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in +@@ -25,7 +25,7 @@ + no + yes + +- @libexecdir@/gsd-backlight-helper ++ /run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper + + + diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix index 2487c4ba3af..8afbbbeed82 100644 --- a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix +++ b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix @@ -1,15 +1,27 @@ -{ stdenv, fetchFromGitHub, fetchpatch, pantheon, pkgconfig, meson, ninja, vala, glib -, gtk3, libgee, desktop-file-utils, geoclue2, gobject-introspection, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, glib +, gtk3 +, libgee +, desktop-file-utils +, geoclue2 +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "pantheon-agent-geoclue2"; - version = "1.0.1"; + version = "1.0.2"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0fww65dnbg9zn0gy1q2db39kjra50ykzw05pmn9iwxkijyxi8hm5"; + sha256 = "1hjnbbzsch09090b200b3i85x8fv95agfqd6nrlc9za3jqjhm2xs"; }; passthru = { @@ -20,7 +32,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ desktop-file-utils - gobject-introspection meson ninja pkgconfig diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix index 4fdaa4a8bf9..53a65ddb947 100644 --- a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix +++ b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix @@ -1,5 +1,15 @@ -{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja -, vala, gtk3, libgee, polkit, gobject-introspection, wrapGAppsHook }: +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, gtk3 +, libgee +, polkit +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "pantheon-agent-polkit"; @@ -19,7 +29,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection meson ninja pkgconfig diff --git a/pkgs/desktops/pantheon/update.nix b/pkgs/desktops/pantheon/update.nix index 48fd2f2bf85..7e9aacc0c2b 100644 --- a/pkgs/desktops/pantheon/update.nix +++ b/pkgs/desktops/pantheon/update.nix @@ -1,5 +1,21 @@ -{ stdenv, writeScript, runCommand, nix, bash, git, jq, nix-prefetch-scripts, coreutils, common-updater-scripts, gnugrep, gnused, curl }: -{ repoName, attrPath ? repoName, versionPolicy ? "release" }: +{ runCommand +, nix +, bash +, git +, jq +, nix-prefetch-scripts +, coreutils +, common-updater-scripts +, gnugrep +, gnused +, curl +}: + +{ repoName +, attrPath ? repoName +, versionPolicy ? "release" +}: + let script = ./update.sh; @@ -13,6 +29,8 @@ let chmod +x $out ''; - versionFlag = { "release" = "-r"; "master" = "-m"; }.${versionPolicy}; + throwFlag = throw "${versionPolicy} is not a valid versionPolicy - Options are either 'release' or 'master' (defaults to release)."; + + versionFlag = { "release" = "-r"; "master" = "-m"; }.${versionPolicy} or throwFlag; in [ updateScript versionFlag repoName attrPath ] diff --git a/pkgs/desktops/plasma-5/breeze-gtk.nix b/pkgs/desktops/plasma-5/breeze-gtk.nix index cc51c4b0471..1be3fe1c309 100644 --- a/pkgs/desktops/plasma-5/breeze-gtk.nix +++ b/pkgs/desktops/plasma-5/breeze-gtk.nix @@ -1,10 +1,10 @@ -{ mkDerivation, lib, extra-cmake-modules, gtk2, qtbase, }: +{ mkDerivation, lib, extra-cmake-modules, gtk2, qtbase, sassc, python3, breeze-qt5 }: let inherit (lib) getLib; in mkDerivation { name = "breeze-gtk"; - nativeBuildInputs = [ extra-cmake-modules ]; + nativeBuildInputs = [ extra-cmake-modules sassc python3 python3.pkgs.pycairo breeze-qt5 ]; buildInputs = [ qtbase ]; postPatch = '' sed -i cmake/FindGTKEngine.cmake \ diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix index 2c99713bcd4..07c6805c689 100644 --- a/pkgs/desktops/plasma-5/default.nix +++ b/pkgs/desktops/plasma-5/default.nix @@ -86,7 +86,7 @@ let lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12 ]; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ ttuegel ]; + maintainers = with lib.maintainers; [ ttuegel nyanloutre ]; homepage = http://www.kde.org; } // (args.meta or {}); in @@ -102,6 +102,7 @@ let breeze-qt5 = callPackage ./breeze-qt5.nix {}; breeze-grub = callPackage ./breeze-grub.nix {}; breeze-plymouth = callPackage ./breeze-plymouth {}; + discover = callPackage ./discover.nix {}; kactivitymanagerd = callPackage ./kactivitymanagerd.nix {}; kde-cli-tools = callPackage ./kde-cli-tools.nix {}; kde-gtk-config = callPackage ./kde-gtk-config { inherit gsettings-desktop-schemas; }; diff --git a/pkgs/desktops/plasma-5/discover.nix b/pkgs/desktops/plasma-5/discover.nix new file mode 100644 index 00000000000..a859285e078 --- /dev/null +++ b/pkgs/desktops/plasma-5/discover.nix @@ -0,0 +1,20 @@ +{ + mkDerivation, + extra-cmake-modules, gettext, kdoctools, python, + appstream-qt, discount, flatpak, fwupd, ostree, packagekit-qt, pcre, utillinux, + qtquickcontrols2, + karchive, kconfig, kcrash, kdbusaddons, kdeclarative, kio, kirigami2, kitemmodels, + knewstuff, kwindowsystem, kxmlgui, plasma-framework +}: + +mkDerivation { + name = "discover"; + nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ]; + buildInputs = [ + # discount is needed for libmarkdown + appstream-qt discount flatpak fwupd ostree packagekit-qt pcre utillinux + qtquickcontrols2 + karchive kconfig kcrash kdbusaddons kdeclarative kio kirigami2 kitemmodels knewstuff kwindowsystem kxmlgui + plasma-framework + ]; +} diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh index 814795499a9..4efd493a3dd 100644 --- a/pkgs/desktops/plasma-5/fetch.sh +++ b/pkgs/desktops/plasma-5/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( https://download.kde.org/stable/plasma/5.14.5/ -A '*.tar.xz' ) +WGET_ARGS=( https://download.kde.org/stable/plasma/5.16.4/ ) diff --git a/pkgs/desktops/plasma-5/ksysguard.nix b/pkgs/desktops/plasma-5/ksysguard.nix index 150b97be50d..01e740f74c4 100644 --- a/pkgs/desktops/plasma-5/ksysguard.nix +++ b/pkgs/desktops/plasma-5/ksysguard.nix @@ -3,7 +3,7 @@ extra-cmake-modules, kdoctools, lm_sensors, kconfig, kcoreaddons, kdelibs4support, ki18n, kiconthemes, kitemviews, - knewstuff, libksysguard, qtwebkit + knewstuff, libksysguard }: mkDerivation { @@ -11,6 +11,6 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ kconfig kcoreaddons kitemviews knewstuff kiconthemes libksysguard - kdelibs4support ki18n lm_sensors qtwebkit + kdelibs4support ki18n lm_sensors ]; } diff --git a/pkgs/desktops/plasma-5/kwallet-pam.nix b/pkgs/desktops/plasma-5/kwallet-pam.nix index 1cbfb87ea56..b4fd032cf1f 100644 --- a/pkgs/desktops/plasma-5/kwallet-pam.nix +++ b/pkgs/desktops/plasma-5/kwallet-pam.nix @@ -1,9 +1,9 @@ -{ mkDerivation, lib, extra-cmake-modules, pam, socat, libgcrypt, qtbase, }: +{ mkDerivation, lib, extra-cmake-modules, pam, socat, libgcrypt, qtbase, kwallet, }: mkDerivation { name = "kwallet-pam"; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ pam socat libgcrypt qtbase ]; + buildInputs = [ pam socat libgcrypt qtbase kwallet ]; postPatch = '' sed -i pam_kwallet_init -e "s|socat|${lib.getBin socat}/bin/socat|" ''; diff --git a/pkgs/desktops/plasma-5/kwin/xwayland.patch b/pkgs/desktops/plasma-5/kwin/xwayland.patch index 51f15c87d27..9d405b3bbb8 100644 --- a/pkgs/desktops/plasma-5/kwin/xwayland.patch +++ b/pkgs/desktops/plasma-5/kwin/xwayland.patch @@ -1,13 +1,13 @@ -Index: kwin-5.7.3/main_wayland.cpp +Index: kwin-5.15.5/xwl/xwayland.cpp =================================================================== ---- kwin-5.7.3.orig/main_wayland.cpp -+++ kwin-5.7.3/main_wayland.cpp -@@ -315,7 +315,7 @@ void ApplicationWayland::startXwaylandSe +--- kwin-5.15.5.orig/xwl/xwayland.cpp ++++ kwin-5.15.5/xwl/xwayland.cpp +@@ -143,7 +143,7 @@ void Xwayland::init() - m_xwaylandProcess = new Process(kwinApp()); + m_xwaylandProcess = new Process(this); m_xwaylandProcess->setProcessChannelMode(QProcess::ForwardedErrorChannel); - m_xwaylandProcess->setProgram(QStringLiteral("Xwayland")); + m_xwaylandProcess->setProgram(QLatin1String(NIXPKGS_XWAYLAND)); - QProcessEnvironment env = m_environment; + QProcessEnvironment env = m_app->processStartupEnvironment(); env.insert("WAYLAND_SOCKET", QByteArray::number(wlfd)); - m_xwaylandProcess->setProcessEnvironment(env); + env.insert("EGL_PLATFORM", QByteArrayLiteral("DRM")); diff --git a/pkgs/desktops/plasma-5/libksysguard/default.nix b/pkgs/desktops/plasma-5/libksysguard/default.nix index 0f9fe40d73c..96d113e11fb 100644 --- a/pkgs/desktops/plasma-5/libksysguard/default.nix +++ b/pkgs/desktops/plasma-5/libksysguard/default.nix @@ -2,7 +2,7 @@ mkDerivation, extra-cmake-modules, kauth, kcompletion, kconfig, kconfigwidgets, kcoreaddons, ki18n, kiconthemes, - kservice, kwidgetsaddons, kwindowsystem, plasma-framework, qtscript, qtwebkit, + kservice, kwidgetsaddons, kwindowsystem, plasma-framework, qtscript, qtwebengine, qtx11extras }: @@ -15,7 +15,7 @@ mkDerivation { buildInputs = [ kauth kconfig ki18n kiconthemes kwindowsystem kcompletion kconfigwidgets kcoreaddons kservice kwidgetsaddons plasma-framework qtscript qtx11extras - qtwebkit + qtwebengine ]; outputs = [ "bin" "dev" "out" ]; } diff --git a/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5/plasma-workspace/default.nix index 2866cddbea1..1403c9e4c8b 100644 --- a/pkgs/desktops/plasma-5/plasma-workspace/default.nix +++ b/pkgs/desktops/plasma-5/plasma-workspace/default.nix @@ -1,5 +1,5 @@ { - mkDerivation, lib, fetchpatch, + mkDerivation, lib, extra-cmake-modules, kdoctools, @@ -34,7 +34,8 @@ mkDerivation { qtgraphicaleffects qtquickcontrols qtquickcontrols2 qtscript qtwayland qtx11extras ]; - outputs = [ "bin" "dev" "out" ]; + propagatedUserEnvPkgs = [ qtgraphicaleffects ]; + outputs = [ "out" "dev" ]; cmakeFlags = [ "-DNIXPKGS_XMESSAGE=${getBin xmessage}/bin/xmessage" @@ -45,7 +46,7 @@ mkDerivation { "-DNIXPKGS_XPROP=${getBin xprop}/bin/xprop" "-DNIXPKGS_ID=${getBin coreutils}/bin/id" "-DNIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT=${getBin dbus}/bin/dbus-update-activation-environment" - "-DNIXPKGS_START_KDEINIT_WRAPPER=${getLib kinit}/lib/libexec/kf5/start_kdeinit_wrapper" + "-DNIXPKGS_START_KDEINIT_WRAPPER=${getLib kinit}/libexec/kf5/start_kdeinit_wrapper" "-DNIXPKGS_QDBUS=${getBin qttools}/bin/qdbus" "-DNIXPKGS_KWRAPPER5=${getBin kinit}/bin/kwrapper5" "-DNIXPKGS_KREADCONFIG5=${getBin kconfig}/bin/kreadconfig5" @@ -72,10 +73,6 @@ mkDerivation { preConfigure = '' NIX_CFLAGS_COMPILE+=" -DNIXPKGS_KDOSTARTUPCONFIG5=\"''${!outputBin}/bin/kdostartupconfig5\"" - cmakeFlags+=" -DNIXPKGS_STARTPLASMA=''${!outputBin}/lib/libexec/startplasma" - ''; - - postInstall = '' - moveToOutput lib/libexec/startplasma ''${!outputBin} + cmakeFlags+=" -DNIXPKGS_STARTPLASMA=''${!outputBin}/libexec/startplasma" ''; } diff --git a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch index dd5f7321f0e..5c27eee5010 100644 --- a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch +++ b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch @@ -1,21 +1,22 @@ diff --git a/sddm-theme/theme.conf.cmake b/sddm-theme/theme.conf.cmake -index 69d30705..52e91028 100644 +index 69d3070..52e9102 100644 --- a/sddm-theme/theme.conf.cmake +++ b/sddm-theme/theme.conf.cmake -@@ -1,4 +1,4 @@ +@@ -1,5 +1,5 @@ [General] type=image color=#1d99f3 --background=${CMAKE_INSTALL_PREFIX}/${WALLPAPER_INSTALL_DIR}/Next/contents/images/3200x2000.png -+background=${NIXPKGS_WALLPAPER_INSTALL_DIR}/Next/contents/images/3200x2000.png + fontSize=10 +-background=${CMAKE_INSTALL_PREFIX}/${WALLPAPER_INSTALL_DIR}/Next/contents/images/5120x2880.png ++background=${NIXPKGS_WALLPAPER_INSTALL_DIR}/Next/contents/images/5120x2880.png diff --git a/startkde/CMakeLists.txt b/startkde/CMakeLists.txt -index cb75aeca..247db953 100644 +index 6a1a212..f03fd34 100644 --- a/startkde/CMakeLists.txt +++ b/startkde/CMakeLists.txt -@@ -3,11 +3,6 @@ add_subdirectory(kstartupconfig) - add_subdirectory(ksyncdbusenv) +@@ -4,11 +4,6 @@ add_subdirectory(ksyncdbusenv) add_subdirectory(waitforname) - + add_subdirectory(kcheckrunning) + -#FIXME: reconsider, looks fishy -if(NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr") - set(EXPORT_XCURSOR_PATH "XCURSOR_PATH=${KDE_INSTALL_FULL_DATAROOTDIR}/icons:$XCURSOR_PATH\":~/.icons:/usr/share/icons:/usr/share/pixmaps:/usr/X11R6/lib/X11/icons\"; export XCURSOR_PATH") @@ -25,7 +26,7 @@ index cb75aeca..247db953 100644 configure_file(startplasmacompositor.cmake ${CMAKE_CURRENT_BINARY_DIR}/startplasmacompositor @ONLY) configure_file(startplasma.cmake ${CMAKE_CURRENT_BINARY_DIR}/startplasma @ONLY) diff --git a/startkde/kstartupconfig/kstartupconfig.cpp b/startkde/kstartupconfig/kstartupconfig.cpp -index 493218ea..d507aa55 100644 +index 493218e..d507aa5 100644 --- a/startkde/kstartupconfig/kstartupconfig.cpp +++ b/startkde/kstartupconfig/kstartupconfig.cpp @@ -147,5 +147,5 @@ int main() @@ -36,7 +37,7 @@ index 493218ea..d507aa55 100644 + return system( NIXPKGS_KDOSTARTUPCONFIG5 ); } diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake -index 714a9bf1..9733c612 100644 +index b68f0c6..a0ec214 100644 --- a/startkde/startkde.cmake +++ b/startkde/startkde.cmake @@ -1,22 +1,31 @@ @@ -45,7 +46,7 @@ index 714a9bf1..9733c612 100644 -# DEFAULT Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ ) +# NIXPKGS KDE STARTUP SCRIPT ( @PROJECT_VERSION@ ) # - + +if test "x$1" = x--failsafe; then + KDE_FAILSAFE=1 # General failsafe flag + KWIN_COMPOSE=N # Disable KWin's compositing @@ -56,7 +57,7 @@ index 714a9bf1..9733c612 100644 # When the X server dies we get a HUP signal from xinit. We must ignore it # because we still need to do some cleanup. trap 'echo GOT SIGHUP' HUP - + -# Check if a Plasma session already is running and whether it's possible to connect to X -kcheckrunning +# we have to unset this for Darwin since it will screw up KDE's dynamic-loading @@ -79,12 +80,12 @@ index 714a9bf1..9733c612 100644 + echo "\$DISPLAY is not set or cannot connect to the X server." + exit 1 fi - + # Boot sequence: -@@ -33,61 +42,133 @@ fi +@@ -33,62 +42,143 @@ fi # # * Then ksmserver is started which takes control of the rest of the startup sequence - + -if [ ${XDG_CONFIG_HOME} ]; then - configDir=$XDG_CONFIG_HOME; -else @@ -102,6 +103,15 @@ index 714a9bf1..9733c612 100644 +# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html +rm -fv $HOME/.cache/icon-cache.kcache + ++# xdg-desktop-settings generates this empty file but ++# it makes kbuildsyscoca5 fail silently. To fix this ++# remove that menu if it exists. ++rm -fv $HOME/.config/menus/applications-merged/xdg-desktop-menu-dummy.menu ++ ++# Remove the kbuildsyscoca5 cache. It will be regenerated immediately after. ++# This is necessary for kbuildsyscoca5 to recognize that software that has been removed. ++rm -fv $HOME/.cache/ksycoca* ++ +# Qt writes a weird ‘libraryPath’ line to +# ~/.config/Trolltech.conf that causes the KDE plugin +# paths of previous KDE invocations to be searched. @@ -113,7 +123,7 @@ index 714a9bf1..9733c612 100644 + @NIXPKGS_SED@ -e '/nix\\store\|nix\/store/ d' -i $XDG_CONFIG_HOME/Trolltech.conf fi sysConfigDirs=${XDG_CONFIG_DIRS:-/etc/xdg} - + -# We need to create config folder so we can write startupconfigkeys -mkdir -p $configDir +@NIXPKGS_KBUILDSYCOCA5@ @@ -167,7 +177,7 @@ index 714a9bf1..9733c612 100644 +cursorSize=0 +EOF +fi - + #This is basically setting defaults so we can use them with kstartupconfig5 -cat >$configDir/startupconfigkeys <"$XDG_CONFIG_HOME/startupconfigkeys" </plasma-workspace/env/*.sh -# (where correspond to the system and user's configuration -# directory. @@ -329,71 +340,29 @@ index 714a9bf1..9733c612 100644 - test -r "$file" && . "$file" || true - done -done -- --# Activate the kde font directories. --# --# There are 4 directories that may be used for supplying fonts for KDE. --# --# There are two system directories. These belong to the administrator. --# There are two user directories, where the user may add her own fonts. --# --# The 'override' versions are for fonts that should come first in the list, --# i.e. if you have a font in your 'override' directory, it will be used in --# preference to any other. --# --# The preference order looks like this: --# user override, system override, X, user, system --# --# Where X is the original font database that was set up before this script --# runs. -- --usr_odir=$HOME/.fonts/kde-override --usr_fdir=$HOME/.fonts -- --if test -n "$KDEDIRS"; then -- kdedirs_first=`echo "$KDEDIRS"|sed -e 's/:.*//'` -- sys_odir=$kdedirs_first/share/fonts/override -- sys_fdir=$kdedirs_first/share/fonts --else -- sys_odir=$KDEDIR/share/fonts/override -- sys_fdir=$KDEDIR/share/fonts --fi -- --# We run mkfontdir on the user's font dirs (if we have permission) to pick --# up any new fonts they may have installed. If mkfontdir fails, we still --# add the user's dirs to the font path, as they might simply have been made --# read-only by the administrator, for whatever reason. -- --test -d "$sys_odir" && xset +fp "$sys_odir" --test -d "$usr_odir" && (mkfontdir "$usr_odir" ; xset +fp "$usr_odir") --test -d "$usr_fdir" && (mkfontdir "$usr_fdir" ; xset fp+ "$usr_fdir") --test -d "$sys_fdir" && xset fp+ "$sys_fdir" -- --# Ask X11 to rebuild its font list. --xset fp rehash - # Set a left cursor instead of the standard X11 "X" cursor, since I've heard # from some users that they're confused and don't know what to do. This is # especially necessary on slow machines, where starting KDE takes one or two -@@ -257,44 +282,65 @@ export XDG_DATA_DIRS +@@ -221,44 +297,65 @@ export XDG_DATA_DIRS # KDE_FULL_SESSION=true export KDE_FULL_SESSION -xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true +@NIXPKGS_XPROP@ -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true - + KDE_SESSION_VERSION=5 export KDE_SESSION_VERSION -xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5 +@NIXPKGS_XPROP@ -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5 - + -KDE_SESSION_UID=`id -ru` +KDE_SESSION_UID=$(@NIXPKGS_ID@ -ru) export KDE_SESSION_UID - + XDG_CURRENT_DESKTOP=KDE export XDG_CURRENT_DESKTOP - + +# Enforce xcb QPA. Helps switching between Wayland and X sessions. +export QT_QPA_PLATFORM=xcb + @@ -436,7 +405,7 @@ index 714a9bf1..9733c612 100644 - xmessage -geometry 500x100 "Could not sync environment to dbus." exit 1 fi - + # We set LD_BIND_NOW to increase the efficiency of kdeinit. # kdeinit unsets this variable before loading applications. -LD_BIND_NOW=true @CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@/start_kdeinit_wrapper --kded +kcminit_startup @@ -448,13 +417,13 @@ index 714a9bf1..9733c612 100644 - xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation." exit 1 fi - + -qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit & +@NIXPKGS_QDBUS@ org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit & - + # finally, give the session control to the session manager # see kdebase/ksmserver for the description of the rest of the startup sequence -@@ -306,12 +352,16 @@ qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit & +@@ -270,12 +367,16 @@ qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit & # We only check for 255 which means that the ksmserver process could not be # started, any problems thereafter, e.g. ksmserver failing to initialize, # will remain undetected. @@ -474,13 +443,13 @@ index 714a9bf1..9733c612 100644 if test $? -eq 255; then # Startup error echo 'startkde: Could not start ksmserver. Check your installation.' 1>&2 -@@ -322,36 +372,36 @@ fi +@@ -286,36 +387,36 @@ fi #Anything after here is logout #It is not called after shutdown/restart - + -wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true` +wait_drkonqi=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true) - + -if test x"$wait_drkonqi"x = x"true"x ; then +if [ x"$wait_drkonqi"x = x"true"x ]; then # wait for remaining drkonqi instances with timeout (in seconds) @@ -503,18 +472,18 @@ index 714a9bf1..9733c612 100644 fi done fi - + echo 'startkde: Shutting down...' 1>&2 # just in case -test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null +if [ -n "$ksplash_pid" ]; then + kill "$ksplash_pid" 2>/dev/null +fi - + # Clean up -kdeinit5_shutdown +@NIXPKGS_KDEINIT5_SHUTDOWN@ - + unset KDE_FULL_SESSION -xprop -root -remove KDE_FULL_SESSION +@NIXPKGS_XPROP@ -root -remove KDE_FULL_SESSION @@ -522,10 +491,10 @@ index 714a9bf1..9733c612 100644 -xprop -root -remove KDE_SESSION_VERSION +@NIXPKGS_XPROP@ -root -remove KDE_SESSION_VERSION unset KDE_SESSION_UID - + echo 'startkde: Done.' 1>&2 diff --git a/startkde/startplasma.cmake b/startkde/startplasma.cmake -index de98541c..39c0b521 100644 +index 1fe41c5..11757df 100644 --- a/startkde/startplasma.cmake +++ b/startkde/startplasma.cmake @@ -1,6 +1,6 @@ @@ -534,12 +503,12 @@ index de98541c..39c0b521 100644 -# DEFAULT Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ ) +# NIXPKGS Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ ) # - + # Boot sequence: @@ -17,28 +17,26 @@ # # * Then ksmserver is started which takes control of the rest of the startup sequence - + -# We need to create config folder so we can write startupconfigkeys -if [ ${XDG_CONFIG_HOME} ]; then - configDir=$XDG_CONFIG_HOME; @@ -549,7 +518,7 @@ index de98541c..39c0b521 100644 +if [ -r "$XDG_CONFIG_HOME/startupconfig" ]; then + . "$XDG_CONFIG_HOME/startupconfig" fi - + -[ -r $configDir/startupconfig ] && . $configDir/startupconfig - -xrdb -quiet -merge -nocpp <&2 - + # export our session variables to the Xwayland server -xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true -xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5 +@NIXPKGS_XPROP@ -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true +@NIXPKGS_XPROP@ -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5 - + # At this point all environment variables are set, let's send it to the DBus session server to update the activation environment if which dbus-update-activation-environment >/dev/null 2>/dev/null ; then -@@ -131,16 +78,15 @@ fi - +@@ -90,16 +78,15 @@ fi + # We set LD_BIND_NOW to increase the efficiency of kdeinit. # kdeinit unsets this variable before loading applications. -LD_BIND_NOW=true @CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@/start_kdeinit_wrapper --kded +kcminit_startup @@ -661,21 +582,20 @@ index de98541c..39c0b521 100644 - xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation." exit 1 fi - + -qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit & +@NIXPKGS_QDBUS@ org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit & - + # finally, give the session control to the session manager # see kdebase/ksmserver for the description of the rest of the startup sequence -@@ -166,19 +112,19 @@ fi +@@ -125,19 +112,19 @@ fi #Anything after here is logout #It is not called after shutdown/restart - + -wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true` -- --if test x"$wait_drkonqi"x = x"true"x ; then +wait_drkonqi=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true) -+ + +-if test x"$wait_drkonqi"x = x"true"x ; then +if [ x"$wait_drkonqi"x = x"true"x ]; then # wait for remaining drkonqi instances with timeout (in seconds) - wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900` @@ -695,19 +615,19 @@ index de98541c..39c0b521 100644 done break fi -@@ -187,15 +133,17 @@ fi - +@@ -146,15 +133,17 @@ fi + echo 'startplasma: Shutting down...' 1>&2 # just in case -test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null +if [ -n "$ksplash_pid" ]; then + "$ksplash_pid" 2>/dev/null +fi - + # Clean up -kdeinit5_shutdown +@NIXPKGS_KDEINIT5_SHUTDOWN@ - + unset KDE_FULL_SESSION -xprop -root -remove KDE_FULL_SESSION +@NIXPKGS_XPROP@ -root -remove KDE_FULL_SESSION @@ -715,19 +635,19 @@ index de98541c..39c0b521 100644 -xprop -root -remove KDE_SESSION_VERSION +@NIXPKGS_XPROP@ -root -remove KDE_SESSION_VERSION unset KDE_SESSION_UID - + echo 'startplasma: Done.' 1>&2 diff --git a/startkde/startplasmacompositor.cmake b/startkde/startplasmacompositor.cmake -index dd9e304d..12132f9e 100644 +index dcb473a..0988740 100644 --- a/startkde/startplasmacompositor.cmake +++ b/startkde/startplasmacompositor.cmake -@@ -1,118 +1,165 @@ +@@ -1,118 +1,174 @@ #!/bin/sh # -# DEFAULT Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ ) +# NIXPKGS Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ ) # - + -# We need to create config folder so we can write startupconfigkeys -if [ ${XDG_CONFIG_HOME} ]; then - configDir=$XDG_CONFIG_HOME; @@ -749,6 +669,15 @@ index dd9e304d..12132f9e 100644 +# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html +rm -fv $HOME/.cache/icon-cache.kcache + ++# xdg-desktop-settings generates this empty file but ++# it makes kbuildsyscoca5 fail silently. To fix this ++# remove that menu if it exists. ++rm -fv $HOME/.config/menus/applications-merged/xdg-desktop-menu-dummy.menu ++ ++# Remove the kbuildsyscoca5 cache. It will be regenerated immediately after. ++# This is necessary for kbuildsyscoca5 to recognize that software that has been removed. ++rm -fv $HOME/.cache/ksycoca* ++ +# Qt writes a weird ‘libraryPath’ line to +# ~/.config/Trolltech.conf that causes the KDE plugin +# paths of previous KDE invocations to be searched. @@ -785,7 +714,7 @@ index dd9e304d..12132f9e 100644 +EOF fi sysConfigDirs=${XDG_CONFIG_DIRS:-/etc/xdg} - + -# We need to create config folder so we can write startupconfigkeys -mkdir -p $configDir +# Set the default GTK 3 theme @@ -814,7 +743,7 @@ index dd9e304d..12132f9e 100644 +cursorSize=0 +EOF +fi - + #This is basically setting defaults so we can use them with kstartupconfig5 -cat >$configDir/startupconfigkeys <"$XDG_CONFIG_HOME/startupconfigkeys" </dev/null 2>/dev/null; then @@ -975,10 +904,10 @@ index dd9e304d..12132f9e 100644 # Do not overwrite existing values. There is no point in setting only some # of them as then they would not match anymore. if [ -z "${XKB_DEFAULT_MODEL}" -a -z "${XKB_DEFAULT_LAYOUT}" -a \ -@@ -141,41 +188,10 @@ if qdbus --system org.freedesktop.locale1 >/dev/null 2>/dev/null; then +@@ -141,41 +197,10 @@ if qdbus --system org.freedesktop.locale1 >/dev/null 2>/dev/null; then fi fi - + -# Source scripts found in /plasma-workspace/env/*.sh -# (where correspond to the system and user's configuration -# directories, as identified by Qt's qtpaths, e.g. $HOME/.config @@ -1002,7 +931,7 @@ index dd9e304d..12132f9e 100644 -done - echo 'startplasmacompositor: Starting up...' 1>&2 - + -# Make sure that the KDE prefix is first in XDG_DATA_DIRS and that it's set at all. -# The spec allows XDG_DATA_DIRS to be not set, but X session startup scripts tend -# to set it to a list of paths *not* including the KDE prefix if it's not /usr or @@ -1018,17 +947,19 @@ index dd9e304d..12132f9e 100644 : # ok else echo 'startplasmacompositor: Could not start D-Bus. Can you call qdbus?' 1>&2 -@@ -212,26 +228,47 @@ export KDE_FULL_SESSION +@@ -212,7 +237,7 @@ export KDE_FULL_SESSION KDE_SESSION_VERSION=5 export KDE_SESSION_VERSION - + -KDE_SESSION_UID=`id -ru` +KDE_SESSION_UID=$(@NIXPKGS_ID@ -ru) export KDE_SESSION_UID - + XDG_CURRENT_DESKTOP=KDE - export XDG_CURRENT_DESKTOP - +@@ -221,20 +246,41 @@ export XDG_CURRENT_DESKTOP + XDG_SESSION_TYPE=wayland + export XDG_SESSION_TYPE + +# Source scripts found in /plasma-workspace/env/*.sh +# (where correspond to the system and user's configuration +# directories, as identified by Qt's qtpaths, e.g. $HOME/.config @@ -1071,9 +1002,11 @@ index dd9e304d..12132f9e 100644 + echo 'startplasmacompositor: Could not sync environment to dbus.' 1>&2 + exit 1 fi - + -@KWIN_WAYLAND_BIN_PATH@ --xwayland --libinput --exit-with-session=@CMAKE_INSTALL_FULL_LIBEXECDIR@/startplasma +@KWIN_WAYLAND_BIN_PATH@ --xwayland --libinput --exit-with-session=@NIXPKGS_STARTPLASMA@ - + echo 'startplasmacompositor: Shutting down...' 1>&2 - + +-- +2.19.2 diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix index 0842034f0d8..21dd5c36d78 100644 --- a/pkgs/desktops/plasma-5/srcs.nix +++ b/pkgs/desktops/plasma-5/srcs.nix @@ -3,363 +3,363 @@ { bluedevil = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/bluedevil-5.14.5.tar.xz"; - sha256 = "1khqw11apvcf5g5m9z111rvk4scxh3z3yhcpwqws1h0s5c5lr7z7"; - name = "bluedevil-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/bluedevil-5.16.4.tar.xz"; + sha256 = "36eaff3da49104fb4ca8de32c2cd42657af7cde94f54c95bacf5abd6c1d39521"; + name = "bluedevil-5.16.4.tar.xz"; }; }; breeze = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/breeze-5.14.5.tar.xz"; - sha256 = "15hphz2mm2m3j0a0hwj7m65rggyaxdxy08yqs73bg3yg67n6x3p7"; - name = "breeze-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/breeze-5.16.4.tar.xz"; + sha256 = "84fea0c31a41521983698ad2aed603b5e2c6e4f6e8723e2c64c66c37eb2a5395"; + name = "breeze-5.16.4.tar.xz"; }; }; breeze-grub = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/breeze-grub-5.14.5.tar.xz"; - sha256 = "0bkaaxfl1ds58qcdrxswaacir7wcc65a960lwdkmpdl16g9f4gix"; - name = "breeze-grub-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/breeze-grub-5.16.4.tar.xz"; + sha256 = "c36b2183fff7d559ae944881443e0caa03c63bcc81af9f6b21b722109d2e34db"; + name = "breeze-grub-5.16.4.tar.xz"; }; }; breeze-gtk = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/breeze-gtk-5.14.5.tar.xz"; - sha256 = "0bysq83xbqmhb4wld51zd6lllr66b8w7pinizc99k8z1yz5jdb0m"; - name = "breeze-gtk-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/breeze-gtk-5.16.4.tar.xz"; + sha256 = "8c954a8754bc75b2d8edff70a7b322c559da6e23dc75e1ed616ac926fbe186eb"; + name = "breeze-gtk-5.16.4.tar.xz"; }; }; breeze-plymouth = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/breeze-plymouth-5.14.5.tar.xz"; - sha256 = "1rbdpz9vlami7217v3dk8ljz0fgjz9zi1l0gwkhslayz5sybld96"; - name = "breeze-plymouth-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/breeze-plymouth-5.16.4.tar.xz"; + sha256 = "7556c8f6bff771f3439036f843309b45594c5e903fc11a3275cc2c38346dec9f"; + name = "breeze-plymouth-5.16.4.tar.xz"; }; }; discover = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/discover-5.14.5.tar.xz"; - sha256 = "0gxhl2cv5yz3jw8fp8g8idi1k5hlhnvwbnvvg0dgnlzz6jb1s8dd"; - name = "discover-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/discover-5.16.4.tar.xz"; + sha256 = "0e07a49d3ee93434452d69330b11653546a2104601ec08518be111ba7967f1b0"; + name = "discover-5.16.4.tar.xz"; }; }; drkonqi = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/drkonqi-5.14.5.tar.xz"; - sha256 = "0xgym368f9r21wjh9fpv16m90dcj87g9p5df850fnn2k5n8x38z8"; - name = "drkonqi-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/drkonqi-5.16.4.tar.xz"; + sha256 = "9d030a59a6d1d732241f8c54a54291ac60584d542ea0b891ca4b2bcb958bd51f"; + name = "drkonqi-5.16.4.tar.xz"; }; }; kactivitymanagerd = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kactivitymanagerd-5.14.5.tar.xz"; - sha256 = "0zms9npis0rklnbz93c69h4yg7dkrmfkzvzsfvkg90w37ap3vyl7"; - name = "kactivitymanagerd-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kactivitymanagerd-5.16.4.tar.xz"; + sha256 = "a287fc9624390c8493a35a5440e2161d1bb67252b6986231acb6268440bb4770"; + name = "kactivitymanagerd-5.16.4.tar.xz"; }; }; kde-cli-tools = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kde-cli-tools-5.14.5.tar.xz"; - sha256 = "01mrnjqla4q07cnb1p51nq2pvj9vaamic3dsyj3b7hqky9fna9ln"; - name = "kde-cli-tools-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kde-cli-tools-5.16.4.tar.xz"; + sha256 = "56c7c2566217704a9d613757767c3b8ee8d1bc4601b9414a44acb50aaaaedc0d"; + name = "kde-cli-tools-5.16.4.tar.xz"; }; }; kdecoration = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kdecoration-5.14.5.tar.xz"; - sha256 = "115pli0qpa8lx0jasg1886fcg7gb2kk8v6k8r8l8c820l97sq7in"; - name = "kdecoration-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kdecoration-5.16.4.tar.xz"; + sha256 = "aa77507dcf357243cca9002764f8c8d1c8404d7e5b7249ad0d0f900f0a47ace4"; + name = "kdecoration-5.16.4.tar.xz"; }; }; kde-gtk-config = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kde-gtk-config-5.14.5.tar.xz"; - sha256 = "12467wkjh2nmcf6r7n8qin1rryd39g0dg7gn43sdg6vdwpyl2kdm"; - name = "kde-gtk-config-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kde-gtk-config-5.16.4.tar.xz"; + sha256 = "c271b1caebac0837483af7ae11d2e4786a7770ff85753f1a3da4c8d28681111c"; + name = "kde-gtk-config-5.16.4.tar.xz"; }; }; kdeplasma-addons = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kdeplasma-addons-5.14.5.tar.xz"; - sha256 = "18sph3719d9pq2j5k7swiv9xbrpj659a3q66zvhz3dmh11y73f0m"; - name = "kdeplasma-addons-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kdeplasma-addons-5.16.4.tar.xz"; + sha256 = "4c0884dcb8413fa836d7e390b1c12fc71127c0e5e6fa278a338c253d1539f4a1"; + name = "kdeplasma-addons-5.16.4.tar.xz"; }; }; kgamma5 = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kgamma5-5.14.5.tar.xz"; - sha256 = "17smrdwyalknb3f6ckqs7kglfpqwajbiyd212wlsmqbva4by0fy0"; - name = "kgamma5-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kgamma5-5.16.4.tar.xz"; + sha256 = "18c01c6a9d73f2450da24ac7a52c00b9d355a1ba41bd346eb71fbe271de85f46"; + name = "kgamma5-5.16.4.tar.xz"; }; }; khotkeys = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/khotkeys-5.14.5.tar.xz"; - sha256 = "0572jpgbhacx4gy40m594rbnxy3zaq5w3lcrfd8i2750ljswcq24"; - name = "khotkeys-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/khotkeys-5.16.4.tar.xz"; + sha256 = "a8646ab20cd067a515d4a9318c814760be0030f27856f155edf11920caeddd0d"; + name = "khotkeys-5.16.4.tar.xz"; }; }; kinfocenter = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kinfocenter-5.14.5.tar.xz"; - sha256 = "1z1i9g923cbdni5gfa6dpv46z1p2v40rfcvhy7i9h5nf49aw2rnc"; - name = "kinfocenter-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kinfocenter-5.16.4.tar.xz"; + sha256 = "30e4df2d641c4faa385a718c772d893900eca99591ffee5787d6563fe5130426"; + name = "kinfocenter-5.16.4.tar.xz"; }; }; kmenuedit = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kmenuedit-5.14.5.tar.xz"; - sha256 = "1aa4a35s5h44fc88hmmfdpzy26zc47h9n448cd4vbm4bm411551d"; - name = "kmenuedit-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kmenuedit-5.16.4.tar.xz"; + sha256 = "f749ca062d9c7bfd2033c4016e8a3dcc9f849f83f941dd9a60fd5b0232d023a2"; + name = "kmenuedit-5.16.4.tar.xz"; }; }; kscreen = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kscreen-5.14.5.tar.xz"; - sha256 = "1nb1ysgcx49galbf16mxbawybfik92bpr9vbwgg5ycsdx1f9q8yi"; - name = "kscreen-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kscreen-5.16.4.tar.xz"; + sha256 = "40c29ad2236459a267eed3cad4a6fc64b5e3f12df8567fcf8869ba770c2e2328"; + name = "kscreen-5.16.4.tar.xz"; }; }; kscreenlocker = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kscreenlocker-5.14.5.tar.xz"; - sha256 = "16amr7pz0k6w5vkk1dwn2qi3s1mln0jypwmjazqq2lbwimn8k56m"; - name = "kscreenlocker-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kscreenlocker-5.16.4.tar.xz"; + sha256 = "92a858f1f4bd6f209f328ca6456dfadc6b542e2a1e3d04ecdcc70f70c1cc2f6f"; + name = "kscreenlocker-5.16.4.tar.xz"; }; }; ksshaskpass = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/ksshaskpass-5.14.5.tar.xz"; - sha256 = "0skr247k4ky7lpbdwlmkrnr3mj1pa6pxl96pyxwsw7za784qg6dj"; - name = "ksshaskpass-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/ksshaskpass-5.16.4.tar.xz"; + sha256 = "e3ff91e5c160b8e83b48215fca5d70f4baeef95b6c3b32e8cfc749183b0ec97c"; + name = "ksshaskpass-5.16.4.tar.xz"; }; }; ksysguard = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/ksysguard-5.14.5.tar.xz"; - sha256 = "0ybxh6ll080rkrrr4b5ydl06x8zi97702661cajvbv00lhq4vp8b"; - name = "ksysguard-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/ksysguard-5.16.4.tar.xz"; + sha256 = "10abf3bfa676275b6fded5e49979466a011e0552b9357c1b8923f01184c029d5"; + name = "ksysguard-5.16.4.tar.xz"; }; }; kwallet-pam = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kwallet-pam-5.14.5.tar.xz"; - sha256 = "1mkjjc88kqf5x313nifla9pzrgzqm4v92150dbs1f89bsn673pk8"; - name = "kwallet-pam-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kwallet-pam-5.16.4.tar.xz"; + sha256 = "7332dd9729c55f4b24260b3ec1266f72284f834eed66ce76badd4ac5af3dd429"; + name = "kwallet-pam-5.16.4.tar.xz"; }; }; kwayland-integration = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kwayland-integration-5.14.5.tar.xz"; - sha256 = "0rd0xhb53iixv9i8x0gh3rr1082lj7zdymsqdmi7sfgb66g8c03l"; - name = "kwayland-integration-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kwayland-integration-5.16.4.tar.xz"; + sha256 = "f15ae33af1d9ff999ec45d00752f202242f71fc022ae72b9522e5bf3a20edace"; + name = "kwayland-integration-5.16.4.tar.xz"; }; }; kwin = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kwin-5.14.5.tar.xz"; - sha256 = "0ifdlnzw3ydrbidzk256vks66d1rxyilhqi09csygx17jqk7szj4"; - name = "kwin-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kwin-5.16.4.tar.xz"; + sha256 = "71b96f1efef0b3f4974900373285a08d425a63628404fe9e89c27f61119383e6"; + name = "kwin-5.16.4.tar.xz"; }; }; kwrited = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/kwrited-5.14.5.tar.xz"; - sha256 = "0115qscr8a54h7h8w4xw4fjzp7qipyw3d3jswhii7axnzp6q6qnh"; - name = "kwrited-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/kwrited-5.16.4.tar.xz"; + sha256 = "c3011ee1c7a431b25797e12fa0b16e6d92277c8fe5dc1e656121a135ad156c0f"; + name = "kwrited-5.16.4.tar.xz"; }; }; libkscreen = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/libkscreen-5.14.5.tar.xz"; - sha256 = "1vyaml5ap9siw9idiny92li2bykd0nwjsmwmg0c7ad912j4g1s7y"; - name = "libkscreen-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/libkscreen-5.16.4.tar.xz"; + sha256 = "f20f33a2f32b3db39e94ca9d10e240591650357d03c1a2f8eb6c5faa4d1bf723"; + name = "libkscreen-5.16.4.tar.xz"; }; }; libksysguard = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/libksysguard-5.14.5.tar.xz"; - sha256 = "11nz0g7dqvpvgsv0a7sai445vgfsfi25plj7jb1i46n7zf8i8mya"; - name = "libksysguard-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/libksysguard-5.16.4.tar.xz"; + sha256 = "b9a8166bf808a54dd80eb8f760047c63989f1f10a9a7f649c8298c9a5031368f"; + name = "libksysguard-5.16.4.tar.xz"; }; }; milou = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/milou-5.14.5.tar.xz"; - sha256 = "1776441mhmwcvrzmdqg531md79azbkbhng51kyq6i9cvkhxyf583"; - name = "milou-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/milou-5.16.4.tar.xz"; + sha256 = "de9addbc504135839b1735742938d340cb191827606aa390f4b6ce1625c1ed89"; + name = "milou-5.16.4.tar.xz"; }; }; oxygen = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/oxygen-5.14.5.tar.xz"; - sha256 = "0h70k7af69zdky0g6napd1kdnvbxhnw3nrwr9jqv1fq5762xnkk8"; - name = "oxygen-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/oxygen-5.16.4.tar.xz"; + sha256 = "7ba8a18a0b44d2bf48c96679328f698a9bfd4d041724b960095fed67f228f2e1"; + name = "oxygen-5.16.4.tar.xz"; }; }; plasma-browser-integration = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/plasma-browser-integration-5.14.5.tar.xz"; - sha256 = "1260h5sh0gkbkhcj17ss0n0y48i1pxh3f4p5dcbgbz775g1dhi2s"; - name = "plasma-browser-integration-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/plasma-browser-integration-5.16.4.tar.xz"; + sha256 = "a097b90dd47cdd01f6b7207cb9439c7f6e0ce68555272172f8b3b8e2086199ef"; + name = "plasma-browser-integration-5.16.4.tar.xz"; }; }; plasma-desktop = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/plasma-desktop-5.14.5.tar.xz"; - sha256 = "0pr07p36jrpvkk4fp14fb4minnwj5gnmvdg9jf7bi8sjjz6jpnnl"; - name = "plasma-desktop-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/plasma-desktop-5.16.4.tar.xz"; + sha256 = "990e93eed2753053ac732ce5d1d45e7c9a52daa660b41b0d48955428e4834344"; + name = "plasma-desktop-5.16.4.tar.xz"; }; }; plasma-integration = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/plasma-integration-5.14.5.tar.xz"; - sha256 = "15nhrliri4cjx712f1rxbq2f87lj4wxsqgbhw9p02z12h3n9z3ds"; - name = "plasma-integration-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/plasma-integration-5.16.4.tar.xz"; + sha256 = "d4c5022ea91f9727cfebab821cb6b8e7b52671a6508cd7450e05bf51e248452d"; + name = "plasma-integration-5.16.4.tar.xz"; }; }; plasma-nm = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/plasma-nm-5.14.5.tar.xz"; - sha256 = "1hf98c9llcff0h2w4l45nw0vysxvnanf7hczhj93z4562qrafxm2"; - name = "plasma-nm-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/plasma-nm-5.16.4.tar.xz"; + sha256 = "2da834873d4fa471ad87ee8ce18a871dfb2acdf0bdc0b764789e8e26ebc2ca09"; + name = "plasma-nm-5.16.4.tar.xz"; }; }; plasma-pa = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/plasma-pa-5.14.5.tar.xz"; - sha256 = "0z74qg7m4y1ifzni1877hiil3rn6ad3x4fvgv4bib4jhg7ckaiqg"; - name = "plasma-pa-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/plasma-pa-5.16.4.tar.xz"; + sha256 = "9b166e11f7115576181c17f0ced51b9a7ec689334d4b15ebb55d4e6e7ff6cbd4"; + name = "plasma-pa-5.16.4.tar.xz"; }; }; plasma-sdk = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/plasma-sdk-5.14.5.tar.xz"; - sha256 = "0v90nk6yhrapdszh8sd3m0wffkjgnrhdy1sz1vl9s0ab5sdpmxr1"; - name = "plasma-sdk-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/plasma-sdk-5.16.4.tar.xz"; + sha256 = "ce8152ad6044e2cf430834bf97bb4542e69e168a4b7350e313d148a9bd3b9403"; + name = "plasma-sdk-5.16.4.tar.xz"; }; }; plasma-tests = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/plasma-tests-5.14.5.tar.xz"; - sha256 = "03h889xn6i067d1sdymn6fgj8xik3pa75lljl8kj3vl6bks24jyh"; - name = "plasma-tests-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/plasma-tests-5.16.4.tar.xz"; + sha256 = "9e0f8fcef080fc1b0ffae01f6b3caa17eccac27445e312243221fcace56d1097"; + name = "plasma-tests-5.16.4.tar.xz"; }; }; plasma-vault = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/plasma-vault-5.14.5.tar.xz"; - sha256 = "17r44n0mkcwc2fkjf397ks8xv82m59gvnawbj9713c5l31ln5mi3"; - name = "plasma-vault-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/plasma-vault-5.16.4.tar.xz"; + sha256 = "8d01b80079477fd7ea48a4cc3ff59728ae7dac3a5f6e552092dd5e67d72148f6"; + name = "plasma-vault-5.16.4.tar.xz"; }; }; plasma-workspace = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/plasma-workspace-5.14.5.tar.xz"; - sha256 = "14d3wnsm4bi1izx5qlpk0mnqmxwx18bqypa3wwmhn1535kfz8glh"; - name = "plasma-workspace-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/plasma-workspace-5.16.4.tar.xz"; + sha256 = "5cd9366ef3d0b68159d9dee2f14886d1f81d1ccf7aedceed1ae5cf8e32d243f1"; + name = "plasma-workspace-5.16.4.tar.xz"; }; }; plasma-workspace-wallpapers = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/plasma-workspace-wallpapers-5.14.5.tar.xz"; - sha256 = "17q0685i4267ihlrii3b8764ak458kzs0inqfcj9x25m338xz19q"; - name = "plasma-workspace-wallpapers-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/plasma-workspace-wallpapers-5.16.4.tar.xz"; + sha256 = "052f6d978b1230706821f67574a7d053fadfb25de65227ffc8389a8570ac6003"; + name = "plasma-workspace-wallpapers-5.16.4.tar.xz"; }; }; plymouth-kcm = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/plymouth-kcm-5.14.5.tar.xz"; - sha256 = "1cwmkprhc4496x4a38l2x7hnifnp4daw8g1gic0ik2sm0a6xn77k"; - name = "plymouth-kcm-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/plymouth-kcm-5.16.4.tar.xz"; + sha256 = "cf9d3e6f14d012617cc8a5c3381295449e68b1b13209436b561417232d21863f"; + name = "plymouth-kcm-5.16.4.tar.xz"; }; }; polkit-kde-agent = { - version = "1-5.14.5"; + version = "1-5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/polkit-kde-agent-1-5.14.5.tar.xz"; - sha256 = "1lzw4zq2ysnva5g1v85k9k6yck30wfgcy0sn1ncxy183vm36b2ag"; - name = "polkit-kde-agent-1-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/polkit-kde-agent-1-5.16.4.tar.xz"; + sha256 = "917b31f194fcf5d56d465bd4a3a1cc8d0a30e302be63b9048b1b85b6746b46a0"; + name = "polkit-kde-agent-1-5.16.4.tar.xz"; }; }; powerdevil = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/powerdevil-5.14.5.tar.xz"; - sha256 = "0rdrj6k7bb1cisz1g8akxxn68c8rj0zddim1afvcq1iqr727wqj5"; - name = "powerdevil-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/powerdevil-5.16.4.tar.xz"; + sha256 = "40885869890366f7ea92946ed0f8d251546fb14228eddd2ad128e3be8f88d2ed"; + name = "powerdevil-5.16.4.tar.xz"; }; }; sddm-kcm = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/sddm-kcm-5.14.5.tar.xz"; - sha256 = "0aix2grc2h2w8qxcbdwxhvq09ispblnisl017bvb19apkvs0w8m1"; - name = "sddm-kcm-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/sddm-kcm-5.16.4.tar.xz"; + sha256 = "340034c5475d751c19c96a75445fa50877fad1c4de3422bc02f4b95e8f14bd68"; + name = "sddm-kcm-5.16.4.tar.xz"; }; }; systemsettings = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/systemsettings-5.14.5.tar.xz"; - sha256 = "1q1ih74vkdhss64ayc3qmbrw4hhvfl3axlkhh63rky09qn83x9zw"; - name = "systemsettings-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/systemsettings-5.16.4.tar.xz"; + sha256 = "73b78c3c5177aa3ba0ffe970a83cb8bea1ba8ac54420a6c8379d6e86cabda31e"; + name = "systemsettings-5.16.4.tar.xz"; }; }; user-manager = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/user-manager-5.14.5.tar.xz"; - sha256 = "0aw2s029547rzx3xg9nib5w30d25978fpv7xyshxmp3z8rmzgcjv"; - name = "user-manager-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/user-manager-5.16.4.tar.xz"; + sha256 = "3dd29a6abf8c15014ed87a448b13190516e16d8dc3a67d56f05f62d1f2e1b745"; + name = "user-manager-5.16.4.tar.xz"; }; }; xdg-desktop-portal-kde = { - version = "5.14.5"; + version = "5.16.4"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.5/xdg-desktop-portal-kde-5.14.5.tar.xz"; - sha256 = "0h6hdk9fkf98jfjaza773k37369ayvwmwrgxn6al2pma6n07vddq"; - name = "xdg-desktop-portal-kde-5.14.5.tar.xz"; + url = "${mirror}/stable/plasma/5.16.4/xdg-desktop-portal-kde-5.16.4.tar.xz"; + sha256 = "3b8aa78451cfc97ef316f1632f6a255ccebbe383ec8389ffc74d44540fc05052"; + name = "xdg-desktop-portal-kde-5.16.4.tar.xz"; }; }; } diff --git a/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix b/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix index fc77e163e8f..1e04eb1e2b0 100644 --- a/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix +++ b/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix @@ -1,15 +1,15 @@ { mkDerivation, extra-cmake-modules, gettext, kdoctools, python, - kcoreaddons, knotifications, kwayland, kwidgetsaddons, - cups, pcre, pipewire + kcoreaddons, knotifications, kwayland, kwidgetsaddons, kwindowsystem, + cups, pcre, pipewire, kio }: mkDerivation { name = "xdg-desktop-portal-kde"; nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ]; buildInputs = [ - cups pcre pipewire - kcoreaddons knotifications kwayland kwidgetsaddons + cups pcre pipewire kio + kcoreaddons knotifications kwayland kwidgetsaddons kwindowsystem ]; } diff --git a/pkgs/desktops/surf-display/default.nix b/pkgs/desktops/surf-display/default.nix new file mode 100644 index 00000000000..f3554fe0b40 --- /dev/null +++ b/pkgs/desktops/surf-display/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchgit, makeWrapper +, surf, wmctrl, matchbox, xdotool, unclutter +, xorg, pulseaudio, xprintidle-ng }: + +stdenv.mkDerivation rec { + pname = "surf-display"; + version = "unstable-2019-04-15"; + + src = fetchgit { + url = "https://code.it-zukunft-schule.de/cgit/surf-display"; + rev = "972d6c4b7c4503dbb63fa6c92cdc24d1e32064a4"; + sha256 = "03c68gg4kfmkri1gn5b7m1g8vh9ciawhajb29c17kkc7mn388hjm"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + buildInputs = [ + surf + wmctrl + matchbox + pulseaudio + xprintidle-ng + xdotool + xorg.xmodmap + xorg.xkbutils + unclutter + ]; + + patches = [ ./pdf-makefile.patch ]; + + buildFlags = [ "man" ]; + + postFixup = '' + substituteInPlace $out/share/xsessions/surf-display.desktop \ + --replace surf-display $out/bin/surf-display + + substituteInPlace $out/bin/surf-display --replace /usr/share $out/share + + patchShebangs $out/bin/surf-display + wrapProgram $out/bin/surf-display \ + --prefix PATH ':' ${stdenv.lib.makeBinPath buildInputs} + ''; + + makeFlags = [ "PREFIX=${placeholder ''out''}" ]; + + meta = with stdenv.lib; { + description = "Kiosk browser session manager based on the surf browser"; + homepage = "https://code.it-zukunft-schule.de/cgit/surf-display/"; + maintainers = with maintainers; [ etu ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/surf-display/pdf-makefile.patch b/pkgs/desktops/surf-display/pdf-makefile.patch new file mode 100644 index 00000000000..9c2541052c0 --- /dev/null +++ b/pkgs/desktops/surf-display/pdf-makefile.patch @@ -0,0 +1,24 @@ +diff --git a/Makefile b/Makefile +index 1081d64..499160c 100644 +--- a/Makefile ++++ b/Makefile +@@ -13,19 +13,10 @@ man:: + gzip -9 -c -n data/surf-display.1 > data/surf-display.1.gz + + install: +- if [ ! -e data/surf-display.pdf.gz ]; then \ +- echo "Run 'make build' first, before running 'sudo make install'."; \ +- exit -1; \ +- fi +- + # script + mkdir -p $(DESTDIR)$(PREFIX)/bin/ + install -m 0755 bin/surf-display $(DESTDIR)$(PREFIX)/bin/ + +- # LaTeX Beamer PDF: Impressive HowTo +- mkdir -p $(DESTDIR)$(PREFIX)/share/doc/surf-display/ +- install -m 0644 data/*.pdf.gz $(DESTDIR)$(PREFIX)/share/doc/surf-display/ +- + # man page + mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1 + install -m 0644 data/*.1.gz $(DESTDIR)$(PREFIX)/share/man/man1/ diff --git a/pkgs/desktops/xfce/applications/gigolo.nix b/pkgs/desktops/xfce/applications/gigolo.nix index b29a50af365..d0fc55e77e8 100644 --- a/pkgs/desktops/xfce/applications/gigolo.nix +++ b/pkgs/desktops/xfce/applications/gigolo.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ python gettext intltool gtk gvfs]; meta = { - homepage = "http://goodies.xfce.org/projects/applications/${p_name}"; + homepage = "https://goodies.xfce.org/projects/applications/${p_name}"; description = "A frontend to easily manage connections to remote filesystems"; platforms = stdenv.lib.platforms.linux; }; diff --git a/pkgs/desktops/xfce/applications/mousepad.nix b/pkgs/desktops/xfce/applications/mousepad.nix index d66fa2049e6..2dca1fa29b0 100644 --- a/pkgs/desktops/xfce/applications/mousepad.nix +++ b/pkgs/desktops/xfce/applications/mousepad.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = http://www.xfce.org/; + homepage = https://www.xfce.org/; description = "A simple text editor for Xfce"; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/desktops/xfce/applications/orage.nix b/pkgs/desktops/xfce/applications/orage.nix index 72d8e682c86..19bd560cbae 100644 --- a/pkgs/desktops/xfce/applications/orage.nix +++ b/pkgs/desktops/xfce/applications/orage.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, intltool, gtk, libical, dbus-glib, tzdata -, libnotify, popt, xfce, hicolor-icon-theme }: +, libnotify, popt, xfce }: stdenv.mkDerivation rec { name = "${p_name}-${ver_maj}.${ver_min}"; @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { xfce.xfce4-panel ]; meta = { - homepage = http://www.xfce.org/projects/; + homepage = https://www.xfce.org/projects/; description = "A simple calendar application with reminders"; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/desktops/xfce/applications/parole.nix b/pkgs/desktops/xfce/applications/parole.nix index 3951c9deedc..ac0180c20fe 100644 --- a/pkgs/desktops/xfce/applications/parole.nix +++ b/pkgs/desktops/xfce/applications/parole.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "http://goodies.xfce.org/projects/applications/${p_name}"; + homepage = "https://goodies.xfce.org/projects/applications/${p_name}"; description = "Modern simple media player"; platforms = stdenv.lib.platforms.linux; }; diff --git a/pkgs/desktops/xfce/applications/ristretto.nix b/pkgs/desktops/xfce/applications/ristretto.nix index f849fbd20a7..3c0e8040c3b 100644 --- a/pkgs/desktops/xfce/applications/ristretto.nix +++ b/pkgs/desktops/xfce/applications/ristretto.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "http://goodies.xfce.org/projects/applications/${p_name}"; + homepage = "https://goodies.xfce.org/projects/applications/${p_name}"; description = "A fast and lightweight picture-viewer for the Xfce desktop environment"; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/desktops/xfce/applications/terminal.nix b/pkgs/desktops/xfce/applications/terminal.nix index 773a8274f34..31e851a469d 100644 --- a/pkgs/desktops/xfce/applications/terminal.nix +++ b/pkgs/desktops/xfce/applications/terminal.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ intltool exo gtk vte libxfce4util ncurses dbus-glib libxfce4ui ]; meta = { - homepage = http://www.xfce.org/projects/terminal; + homepage = https://www.xfce.org/projects/terminal; description = "A modern terminal emulator primarily for the Xfce desktop environment"; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/desktops/xfce/applications/xfce4-mixer.nix b/pkgs/desktops/xfce/applications/xfce4-mixer.nix index 93a7fad4918..e1646d93a61 100644 --- a/pkgs/desktops/xfce/applications/xfce4-mixer.nix +++ b/pkgs/desktops/xfce/applications/xfce4-mixer.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { passthru = { inherit gst_plugins; }; meta = { - homepage = http://www.xfce.org/projects/xfce4-mixer; # referenced but inactive + homepage = https://www.xfce.org/projects/xfce4-mixer; # referenced but inactive description = "A volume control application for the Xfce desktop environment"; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix index 8e5bffd9dd6..085cfd7b8f9 100644 --- a/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix +++ b/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { ]; meta = { - homepage = http://goodies.xfce.org/projects/applications/xfce4-screenshooter; + homepage = https://goodies.xfce.org/projects/applications/xfce4-screenshooter; description = "Xfce screenshooter"; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix index 2de4f34fcf6..96f71e004a8 100644 --- a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix +++ b/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ intltool gtk libwnck ]; meta = { - homepage = "http://goodies.xfce.org/projects/applications/${p_name}"; + homepage = "https://goodies.xfce.org/projects/applications/${p_name}"; description = "Easy to use task manager for Xfce"; platforms = stdenv.lib.platforms.linux; }; diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed.nix b/pkgs/desktops/xfce/applications/xfce4-volumed.nix index 8e4f952438f..dafb72582b3 100644 --- a/pkgs/desktops/xfce/applications/xfce4-volumed.nix +++ b/pkgs/desktops/xfce/applications/xfce4-volumed.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = http://www.xfce.org/projects/xfce4-volumed; # referenced but inactive + homepage = https://www.xfce.org/projects/xfce4-volumed; # referenced but inactive description = "A volume keys control daemon for the Xfce desktop environment"; license = licenses.gpl3; platforms = platforms.linux; diff --git a/pkgs/desktops/xfce/art/xfce4-icon-theme.nix b/pkgs/desktops/xfce/art/xfce4-icon-theme.nix index a0f2ed00d0e..6ac601c6685 100644 --- a/pkgs/desktops/xfce/art/xfce4-icon-theme.nix +++ b/pkgs/desktops/xfce/art/xfce4-icon-theme.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ intltool gtk2 ]; meta = { - homepage = http://www.xfce.org/; + homepage = https://www.xfce.org/; description = "Icons for Xfce"; platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.eelco ]; diff --git a/pkgs/desktops/xfce/art/xfwm4-themes.nix b/pkgs/desktops/xfce/art/xfwm4-themes.nix index 80cf7dd28c5..783fbb13c83 100644 --- a/pkgs/desktops/xfce/art/xfwm4-themes.nix +++ b/pkgs/desktops/xfce/art/xfwm4-themes.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { name = "${p_name}-${ver_maj}.${ver_min}"; meta = with stdenv.lib; { - homepage = http://www.xfce.org/; + homepage = https://www.xfce.org/; description = "Themes for Xfce"; license = licenses.gpl3; platforms = platforms.linux; diff --git a/pkgs/desktops/xfce/core/garcon.nix b/pkgs/desktops/xfce/core/garcon.nix index d9c918c0fdc..41d98f17516 100644 --- a/pkgs/desktops/xfce/core/garcon.nix +++ b/pkgs/desktops/xfce/core/garcon.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { buildInputs = [ intltool glib libxfce4util gtk libxfce4ui ]; meta = with stdenv.lib; { - homepage = http://www.xfce.org/; + homepage = https://www.xfce.org/; description = "Xfce menu support library"; license = licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix index 0d69d4d2f32..bb319e6fc6c 100644 --- a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix +++ b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { configureFlags = stdenv.lib.optional withGtk3 "--enable-gtk3"; meta = { - homepage = http://www.xfce.org/; + homepage = https://www.xfce.org/; description = "GTK+ theme engine for Xfce"; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/desktops/xfce/core/libxfce4ui.nix b/pkgs/desktops/xfce/core/libxfce4ui.nix index e8d5b4acd76..797b51de8e4 100644 --- a/pkgs/desktops/xfce/core/libxfce4ui.nix +++ b/pkgs/desktops/xfce/core/libxfce4ui.nix @@ -33,10 +33,9 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { - homepage = http://www.xfce.org/; + homepage = https://www.xfce.org/; description = "Basic GUI library for Xfce"; license = licenses.lgpl2Plus; platforms = platforms.linux; }; } - diff --git a/pkgs/desktops/xfce/core/libxfce4util.nix b/pkgs/desktops/xfce/core/libxfce4util.nix index 5a411bfbb5b..b68b7059f8d 100644 --- a/pkgs/desktops/xfce/core/libxfce4util.nix +++ b/pkgs/desktops/xfce/core/libxfce4util.nix @@ -18,10 +18,9 @@ stdenv.mkDerivation rec { buildInputs = [ glib intltool ]; meta = { - homepage = http://www.xfce.org/; + homepage = https://www.xfce.org/; description = "Basic utility non-GUI functions for Xfce"; license = "bsd"; platforms = stdenv.lib.platforms.linux; }; } - diff --git a/pkgs/desktops/xfce/core/libxfcegui4.nix b/pkgs/desktops/xfce/core/libxfcegui4.nix index 7fe76057c93..5c61c16cbcc 100644 --- a/pkgs/desktops/xfce/core/libxfcegui4.nix +++ b/pkgs/desktops/xfce/core/libxfcegui4.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { ]; meta = { - homepage = http://www.xfce.org/; + homepage = https://www.xfce.org/; description = "Basic GUI library for Xfce"; license = stdenv.lib.licenses.lgpl2Plus; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/desktops/xfce/core/thunar-volman.nix b/pkgs/desktops/xfce/core/thunar-volman.nix index 39214ca57b1..eda3aab070a 100644 --- a/pkgs/desktops/xfce/core/thunar-volman.nix +++ b/pkgs/desktops/xfce/core/thunar-volman.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { - homepage = http://goodies.xfce.org/projects/thunar-plugins/thunar-volman; + homepage = https://goodies.xfce.org/projects/thunar-plugins/thunar-volman; description = "Thunar extension for automatic management of removable drives and media"; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/desktops/xfce/core/tumbler.nix b/pkgs/desktops/xfce/core/tumbler.nix index 3e1d2be2b53..9087d3a0255 100644 --- a/pkgs/desktops/xfce/core/tumbler.nix +++ b/pkgs/desktops/xfce/core/tumbler.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, intltool, dbus-glib, gdk_pixbuf, curl, freetype +{ stdenv, fetchurl, pkgconfig, intltool, dbus-glib, gdk-pixbuf, curl, freetype , libgsf, poppler, bzip2 }: let p_name = "tumbler"; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - intltool dbus-glib gdk_pixbuf curl freetype + intltool dbus-glib gdk-pixbuf curl freetype poppler libgsf bzip2 ]; diff --git a/pkgs/desktops/xfce/core/xfce4-panel.nix b/pkgs/desktops/xfce/core/xfce4-panel.nix index d2d992d54a8..b8ecae7e4e6 100644 --- a/pkgs/desktops/xfce/core/xfce4-panel.nix +++ b/pkgs/desktops/xfce/core/xfce4-panel.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { - homepage = http://www.xfce.org/projects/xfce4-panel; + homepage = https://www.xfce.org/projects/xfce4-panel; description = "Xfce panel"; license = licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/pkgs/desktops/xfce/core/xfce4-power-manager.nix index ffcc67bf0e9..266f3064507 100644 --- a/pkgs/desktops/xfce/core/xfce4-power-manager.nix +++ b/pkgs/desktops/xfce/core/xfce4-power-manager.nix @@ -35,11 +35,10 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = http://goodies.xfce.org/projects/applications/xfce4-power-manager; + homepage = https://goodies.xfce.org/projects/applications/xfce4-power-manager; description = "A power manager for the Xfce Desktop Environment"; license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = [ maintainers.eelco ]; }; } - diff --git a/pkgs/desktops/xfce/core/xfce4-session.nix b/pkgs/desktops/xfce/core/xfce4-session.nix index 3f6237d6de1..b57dd252033 100644 --- a/pkgs/desktops/xfce/core/xfce4-session.nix +++ b/pkgs/desktops/xfce/core/xfce4-session.nix @@ -35,11 +35,10 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-xsession-prefix=$(out)" ]; meta = with stdenv.lib; { - homepage = http://www.xfce.org/projects/xfce4-session; + homepage = https://www.xfce.org/projects/xfce4-session; description = "Session manager for Xfce"; license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = [ maintainers.eelco ]; }; } - diff --git a/pkgs/desktops/xfce/core/xfce4-settings.nix b/pkgs/desktops/xfce/core/xfce4-settings.nix index 592b03e8954..584055c8ddf 100644 --- a/pkgs/desktops/xfce/core/xfce4-settings.nix +++ b/pkgs/desktops/xfce/core/xfce4-settings.nix @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { - homepage = http://www.xfce.org/projects/xfce4-settings; + homepage = https://www.xfce.org/projects/xfce4-settings; description = "Settings manager for Xfce"; license = licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/desktops/xfce/core/xfdesktop.nix b/pkgs/desktops/xfce/core/xfdesktop.nix index 48585b4004b..091dd03c0bc 100644 --- a/pkgs/desktops/xfce/core/xfdesktop.nix +++ b/pkgs/desktops/xfce/core/xfdesktop.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { - homepage = http://www.xfce.org/projects/xfdesktop; + homepage = https://www.xfce.org/projects/xfdesktop; description = "Xfce desktop manager"; license = licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/desktops/xfce/core/xfwm4.nix b/pkgs/desktops/xfce/core/xfwm4.nix index 313a2662f03..d26649ee6ce 100644 --- a/pkgs/desktops/xfce/core/xfwm4.nix +++ b/pkgs/desktops/xfce/core/xfwm4.nix @@ -22,11 +22,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { - homepage = http://www.xfce.org/projects/xfwm4; + homepage = https://www.xfce.org/projects/xfwm4; description = "Window manager for Xfce"; license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = [ maintainers.eelco ]; }; } - diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix index abf03d4277b..e5182a12d43 100644 --- a/pkgs/desktops/xfce/default.nix +++ b/pkgs/desktops/xfce/default.nix @@ -3,7 +3,7 @@ lib.makeScope pkgs.newScope (self: with self; { #### NixOS support - inherit (pkgs.gnome2) libglade libwnck vte gtksourceview; + inherit (pkgs.gnome2) libglade vte gtksourceview; inherit (pkgs.gnome3) dconf; inherit (pkgs.perlPackages) URI; diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix index d18c3b8ee25..2782decf6c4 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix @@ -1,14 +1,13 @@ -{ stdenv, fetchurl, pkgconfig, intltool, autoreconfHook, gnome2, +{ stdenv, fetchurl, pkgconfig, intltool, autoreconfHook, gnome2, gtkmm2, libgtop, libxfce4ui, libxfce4util, xfce4-panel, lm_sensors }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "xfce4-hardware-monitor-plugin"; version = "1.6.0"; src = fetchurl { - url = "https://git.xfce.org/panel-plugins/${pname}/snapshot/${name}.tar.bz2"; + url = "https://git.xfce.org/panel-plugins/${pname}/snapshot/${pname}-${version}.tar.bz2"; sha256 = "0xg5har11fk1wmdymydxlbk1z8aa39j8k0p4gzw2iqslv3n0zf7b"; }; @@ -19,7 +18,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gnome2.gtkmm2 + gtkmm2 gnome2.libgnomecanvas gnome2.libgnomecanvasmm libgtop diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/appmenu-gtk-module.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/appmenu-gtk-module.nix index 7134d29c9ff..f67ba7af8aa 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/appmenu-gtk-module.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/appmenu-gtk-module.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, cmake, vala, glib, gtk2, gtk3 }: stdenv.mkDerivation rec { - name = "vala-panel-appmenu-xfce-${version}"; + pname = "vala-panel-appmenu-xfce"; version = "0.6.94"; src = "${fetchFromGitHub { diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix index 694f6772282..144291da86d 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix @@ -3,7 +3,7 @@ xfce, libwnck3, libdbusmenu, gobject-introspection }: stdenv.mkDerivation rec { - name = "xfce4-vala-panel-appmenu-plugin-${version}"; + pname = "xfce4-vala-panel-appmenu-plugin"; version = "0.6.94"; src = fetchFromGitHub { diff --git a/pkgs/desktops/xfce4-13/default.nix b/pkgs/desktops/xfce4-13/default.nix deleted file mode 100644 index d3e46cf2365..00000000000 --- a/pkgs/desktops/xfce4-13/default.nix +++ /dev/null @@ -1,113 +0,0 @@ -{ lib, makeSetupHook, newScope, gnome3, gst_all_1 }: - -let - inherit (lib) makeScope; -in - -makeScope newScope (self: with self; { - mkXfceDerivation = callPackage ./mkXfceDerivation.nix { }; - - automakeAddFlags = makeSetupHook { } ./automakeAddFlags.sh; - - exo = callPackage ./exo { }; - - garcon = callPackage ./garcon { }; - - gigolo = callPackage ./gigolo { }; - - libxfce4util = callPackage ./libxfce4util { }; - - libxfce4ui = callPackage ./libxfce4ui { }; - - mousepad = callPackage ./mousepad { }; - - orage = callPackage ./orage { }; - - parole = callPackage ./parole { - inherit (gst_all_1) gst-plugins-bad gst-plugins-base gst-plugins-good; - gst-plugins-ugly = null; - }; - - ristretto = callPackage ./ristretto { }; - - thunar = callPackage ./thunar { }; - - thunar-volman = callPackage ./thunar-volman { }; - - tumbler = callPackage ./tumbler { }; - - xfburn = callPackage ./xfburn { }; - - xfconf = callPackage ./xfconf { }; - - xfdesktop = callPackage ./xfdesktop { }; - - xfce4-appfinder = callPackage ./xfce4-appfinder { }; - - xfce4-battery-plugin = callPackage ./xfce4-battery-plugin { }; - - xfce4-cpufreq-plugin = callPackage ./xfce4-cpufreq-plugin { }; - - xfce4-clipman-plugin = callPackage ./xfce4-clipman-plugin { }; - - xfce4-dev-tools = callPackage ./xfce4-dev-tools { - mkXfceDerivation = mkXfceDerivation.override { - xfce4-dev-tools = null; - }; - }; - - xfce4-dict = callPackage ./xfce4-dict { }; - - xfce4-mixer = callPackage ./xfce4-mixer { }; - - xfce4-netload-plugin = callPackage ./xfce4-netload-plugin { }; - - xfce4-notifyd = callPackage ./xfce4-notifyd { }; - - xfce4-panel = callPackage ./xfce4-panel { }; - - xfce4-power-manager = callPackage ./xfce4-power-manager { }; - - xfce4-pulseaudio-plugin = callPackage ./xfce4-pulseaudio-plugin { }; - - xfce4-screenshooter = callPackage ./xfce4-screenshooter { - inherit (gnome3) libsoup; - }; - - xfce4-session = callPackage ./xfce4-session { }; - xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc"; - - xfce4-settings = callPackage ./xfce4-settings { }; - - xfce4-taskmanager = callPackage ./xfce4-taskmanager { }; - - xfce4-terminal = callPackage ./xfce4-terminal { }; - - xfce4-volumed-pulse = callPackage ./xfce4-volumed-pulse { }; - - xfce4-whiskermenu-plugin = callPackage ./xfce4-whiskermenu-plugin { }; - - xfce4-xkb-plugin = callPackage ./xfce4-xkb-plugin { }; - - xfwm4 = callPackage ./xfwm4 { }; - - ## COMMON PARTS WITH XFCE 4.12 - - gtk-xfce-engine = callPackage ../xfce/core/gtk-xfce-engine.nix { withGtk3 = false; }; - - xfce4-icon-theme = callPackage ../xfce/art/xfce4-icon-theme.nix { }; - - xfwm4-themes = callPackage ../xfce/art/xfwm4-themes.nix { }; - - xfce4-embed-plugin = callPackage ../xfce/panel-plugins/xfce4-embed-plugin.nix { }; - - xfce4-hardware-monitor-plugin = callPackage ../xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix { }; - - ## THIRD PARTY PLIGINS - - xfce4-dockbarx-plugin = callPackage ../xfce/panel-plugins/xfce4-dockbarx-plugin.nix { }; - - xfce4-namebar-plugin = callPackage ../xfce/panel-plugins/xfce4-namebar-plugin.nix { }; - - xfce4-windowck-plugin = callPackage ../xfce/panel-plugins/xfce4-windowck-plugin.nix { }; -}) diff --git a/pkgs/desktops/xfce4-13/exo/default.nix b/pkgs/desktops/xfce4-13/exo/default.nix deleted file mode 100644 index 1096996ee6d..00000000000 --- a/pkgs/desktops/xfce4-13/exo/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ mkXfceDerivation, docbook_xsl, libxslt, perlPackages, gtk2, gtk3 -, libxfce4ui, libxfce4util }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "exo"; - version = "0.12.2"; - - sha256 = "1b4hl9yxvf8b8akqf2zngq3m93yqnqcmxqqds1dwzm9vm5sqydgh"; - - nativeBuildInputs = [ libxslt perlPackages.URI ]; - buildInputs = [ gtk2 gtk3 libxfce4ui libxfce4util ]; - - postPatch = '' - substituteInPlace docs/reference/Makefile.am \ - --replace http://docbook.sourceforge.net/release/xsl/current \ - ${docbook_xsl}/share/xml/docbook-xsl - ''; - - meta = { - description = "Application library for Xfce"; - }; -} diff --git a/pkgs/desktops/xfce4-13/exo/gtk3-only.patch b/pkgs/desktops/xfce4-13/exo/gtk3-only.patch deleted file mode 100644 index 74e6f812e3c..00000000000 --- a/pkgs/desktops/xfce4-13/exo/gtk3-only.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -urNZ a/configure.ac.in b/configure.ac.in ---- a/configure.ac.in 2017-11-20 02:57:40.476664918 +0000 -+++ b/configure.ac.in 2017-11-20 03:07:18.999128370 +0000 -@@ -165,11 +165,9 @@ - dnl *********************************** - XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.42.0]) - XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.42.0]) --XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.24.0]) - XDT_CHECK_PACKAGE([GTK3], [gtk+-3.0], [3.20.0]) - XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.42.0]) - XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.10.0]) --XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.12.0]) - XDT_CHECK_PACKAGE([LIBXFCE4UI2], [libxfce4ui-2], [4.12.0]) - XDT_CHECK_OPTIONAL_PACKAGE([GIO_UNIX], [gio-unix-2.0], [2.42.0], [gio-unix], [GIO-Unix features]) - -diff -urNZ a/exo/Makefile.am b/exo/Makefile.am ---- a/exo/Makefile.am 2017-11-20 02:57:34.444785202 +0000 -+++ b/exo/Makefile.am 2017-11-20 03:00:49.402897465 +0000 -@@ -117,7 +117,7 @@ - - libexo_2_includedir = $(includedir)/exo-2/exo - --lib_LTLIBRARIES += libexo-2.la -+lib_LTLIBRARIES = libexo-2.la - - libexo_2_include_HEADERS = \ - exo.h \ -Binary files a/.git/index and b/.git/index differ diff --git a/pkgs/desktops/xfce4-13/garcon/12700.patch b/pkgs/desktops/xfce4-13/garcon/12700.patch deleted file mode 100644 index fda36d69651..00000000000 --- a/pkgs/desktops/xfce4-13/garcon/12700.patch +++ /dev/null @@ -1,37 +0,0 @@ -From: Yegor Timoshenko -Date: Thu, 14 Dec 2017 21:13:02 +0000 -Subject: [PATCH] Decrement allocation counter on item unref (#12700) - -diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c -index 2017180..355e520 100644 ---- a/garcon/garcon-menu-item-pool.c -+++ b/garcon/garcon-menu-item-pool.c -@@ -191,7 +191,12 @@ garcon_menu_item_pool_filter_exclude (const gchar *desktop_id, - g_return_val_if_fail (GARCON_IS_MENU_ITEM (item), FALSE); - g_return_val_if_fail (node != NULL, FALSE); - -- return garcon_menu_node_tree_rule_matches (node, item); -+ gboolean matches = garcon_menu_node_tree_rule_matches (node, item); -+ -+ if (matches) -+ garcon_menu_item_increment_allocated (item); -+ -+ return matches; - } - - -diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c -index ca8cb63..b44acfe 100644 ---- a/garcon/garcon-menu-item.c -+++ b/garcon/garcon-menu-item.c -@@ -1908,6 +1908,8 @@ garcon_menu_item_unref (GarconMenuItem *item) - { - g_return_if_fail (GARCON_IS_MENU_ITEM (item)); - -+ garcon_menu_item_decrement_allocated (item); -+ - /* Decrement the reference counter */ - g_object_unref (G_OBJECT (item)); - } --- -2.15.1 diff --git a/pkgs/desktops/xfce4-13/garcon/13785.patch b/pkgs/desktops/xfce4-13/garcon/13785.patch deleted file mode 100644 index 1b723d21d60..00000000000 --- a/pkgs/desktops/xfce4-13/garcon/13785.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 4387496fe332a50945e7db76bc2196b419656fe3 Mon Sep 17 00:00:00 2001 -From: Stefan Berzl -Date: Mon, 21 Aug 2017 18:39:07 +0300 -Subject: [PATCH] fix: some menu icons are too big (Bug #13785) - -Some packages only provide icons in sizes much bigger than the standard -GTK menu size of 16px. - -The clipboard manager qlipper for example provides the following icon: -/usr/share/icons/hicolor/128x128/apps/qlipper.png - -In GTK 3.22.18 the function gtk_image_new_from_icon_name when given -GTK_ICON_SIZE_MENU as second argument still returns an image with 128x128. - -The patch I have supplied uses existing code to scale such an image. - -Signed-off-by: Eric Koegel ---- - garcon-gtk/garcon-gtk-menu.c | 33 +++++++++++++++++++-------------- - 1 file changed, 19 insertions(+), 14 deletions(-) - -diff --git a/garcon-gtk/garcon-gtk-menu.c b/garcon-gtk/garcon-gtk-menu.c -index 41990f2..f31a1ed 100644 ---- a/garcon-gtk/garcon-gtk-menu.c -+++ b/garcon-gtk/garcon-gtk-menu.c -@@ -650,7 +650,11 @@ garcon_gtk_menu_load_icon (const gchar *icon_name) - gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &w, &h); - size = MIN (w, h); - -- if (! gtk_icon_theme_has_icon (icon_theme, icon_name)) -+ if (gtk_icon_theme_has_icon (icon_theme, icon_name)) -+ { -+ pixbuf = gtk_icon_theme_load_icon (icon_theme, icon_name, size, 0, NULL);; -+ } -+ else - { - if (g_path_is_absolute (icon_name)) - { -@@ -684,22 +688,23 @@ garcon_gtk_menu_load_icon (const gchar *icon_name) - g_free (name); - } - } -+ } - -- /* Turn the pixbuf into a gtk_image */ -- if (G_LIKELY (pixbuf)) -- { -- /* scale the pixbuf down if it needs it */ -- GdkPixbuf *tmp = gdk_pixbuf_scale_simple (pixbuf, w, h, GDK_INTERP_BILINEAR); -- g_object_unref (pixbuf); -- pixbuf = tmp; -+ /* Turn the pixbuf into a gtk_image */ -+ if (G_LIKELY (pixbuf)) -+ { -+ /* scale the pixbuf down if it needs it */ -+ GdkPixbuf *pixbuf_scaled = gdk_pixbuf_scale_simple (pixbuf, w, h, GDK_INTERP_BILINEAR); -+ g_object_unref (G_OBJECT (pixbuf)); - -- image = gtk_image_new_from_pixbuf (pixbuf); -- g_object_unref (G_OBJECT (pixbuf)); -- } -+ image = gtk_image_new_from_pixbuf (pixbuf_scaled); -+ g_object_unref (G_OBJECT (pixbuf_scaled)); -+ } -+ else -+ { -+ /* display the placeholder at least */ -+ image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU); - } -- -- if (image == NULL) -- image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU); - - return image; - } diff --git a/pkgs/desktops/xfce4-13/garcon/default.nix b/pkgs/desktops/xfce4-13/garcon/default.nix deleted file mode 100644 index a88d64702a1..00000000000 --- a/pkgs/desktops/xfce4-13/garcon/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ mkXfceDerivation, gtk2 ? null, gtk3, libxfce4ui, libxfce4util }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "garcon"; - version = "0.6.1"; - - sha256 = "19k8bwn29x7hkg882pxv5xxmrbfagdqgkxg166pwz2k0prab6hl8"; - - patches = [ ./12700.patch ./13785.patch ]; - buildInputs = [ gtk2 gtk3 libxfce4ui libxfce4util ]; -} diff --git a/pkgs/desktops/xfce4-13/gigolo/default.nix b/pkgs/desktops/xfce4-13/gigolo/default.nix deleted file mode 100644 index 0d7b2210b12..00000000000 --- a/pkgs/desktops/xfce4-13/gigolo/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ mkXfceDerivation, gtk2, libX11 }: - -mkXfceDerivation rec { - category = "apps"; - pname = "gigolo"; - version = "0.4.2"; - - sha256 = "0qd2jkf3zsvfyd9jn8bfnljja1xfj3ph4wjh3fx10dcwcd791al1"; - - buildInputs = [ gtk2 libX11 ]; -} diff --git a/pkgs/desktops/xfce4-13/libxfce4ui/default.nix b/pkgs/desktops/xfce4-13/libxfce4ui/default.nix deleted file mode 100644 index f6997551262..00000000000 --- a/pkgs/desktops/xfce4-13/libxfce4ui/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ lib, mkXfceDerivation, gobject-introspection, gtk2, gtk3, libICE, libSM -, libstartup_notification ? null, libxfce4util, xfconf }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "libxfce4ui"; - version = "4.13.4"; - - sha256 = "0m9h3kvkk2nx8pxxmsg9sjnyp6ajwjrz9djjxxvranjsdw3ilydy"; - - buildInputs = [ gobject-introspection gtk2 gtk3 libstartup_notification xfconf ]; - propagatedBuildInputs = [ libxfce4util libICE libSM ]; - - meta = with lib; { - description = "Widgets library for Xfce"; - license = licenses.lgpl2Plus; - }; -} diff --git a/pkgs/desktops/xfce4-13/libxfce4util/default.nix b/pkgs/desktops/xfce4-13/libxfce4util/default.nix deleted file mode 100644 index 6a3b633cd09..00000000000 --- a/pkgs/desktops/xfce4-13/libxfce4util/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ lib, mkXfceDerivation, gobject-introspection }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "libxfce4util"; - version = "4.13.2"; - - sha256 = "0sb6pzhmh0qzfdhixj1ard56zi68318k86z3a1h3f2fhqy7gyf98"; - - buildInputs = [ gobject-introspection ]; - - meta = with lib; { - description = "Extension library for Xfce"; - license = licenses.lgpl2Plus; - }; -} diff --git a/pkgs/desktops/xfce4-13/mousepad/default.nix b/pkgs/desktops/xfce4-13/mousepad/default.nix deleted file mode 100644 index b5fd3a19d06..00000000000 --- a/pkgs/desktops/xfce4-13/mousepad/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ mkXfceDerivation, exo, wrapGAppsHook, dbus-glib, gtk3, gtksourceview3 }: - -mkXfceDerivation rec { - category = "apps"; - pname = "mousepad"; - version = "0.4.1"; - - sha256 = "0pr1w9n0qq2raxhy78982i9g17x0ya02q7vdrn0wb2bpk74hlki5"; - - nativeBuildInputs = [ exo wrapGAppsHook ]; - buildInputs = [ dbus-glib gtk3 gtksourceview3 ]; -} diff --git a/pkgs/desktops/xfce4-13/orage/default.nix b/pkgs/desktops/xfce4-13/orage/default.nix deleted file mode 100644 index 3c8395a4908..00000000000 --- a/pkgs/desktops/xfce4-13/orage/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, fetchpatch, mkXfceDerivation, dbus-glib, gtk2, libical, libnotify, tzdata -, popt, libxfce4ui ? null, xfce4-panel ? null, withPanelPlugin ? true }: - -assert withPanelPlugin -> libxfce4ui != null && xfce4-panel != null; - -let - inherit (lib) optionals; -in - -mkXfceDerivation rec { - category = "apps"; - pname = "orage"; - version = "4.12.1"; - - sha256 = "04z6y1vfaz1im1zq1zr7cf8pjibjhj9zkyanbp7vn30q520yxa0m"; - buildInputs = [ dbus-glib gtk2 libical libnotify popt ] - ++ optionals withPanelPlugin [ libxfce4ui xfce4-panel ]; - - postPatch = '' - substituteInPlace src/parameters.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" - substituteInPlace src/tz_zoneinfo_read.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" - substituteInPlace tz_convert/tz_convert.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" - ''; - - postConfigure = "rm -rf libical"; # ensure pkgs.libical is used instead of one included in the orage sources - - patches = [ - # Fix build with libical 3.0 - (fetchpatch { - name = "fix-libical3.patch"; - url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/libical3.patch?h=packages/orage&id=7b1b06c42dda034d538977b9f3550b28e370057f; - sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf"; - }) - ]; -} diff --git a/pkgs/desktops/xfce4-13/parole/default.nix b/pkgs/desktops/xfce4-13/parole/default.nix deleted file mode 100644 index e720791f1c4..00000000000 --- a/pkgs/desktops/xfce4-13/parole/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ mkXfceDerivation, makeWrapper, wrapGAppsHook, dbus, dbus-glib -, gst-plugins-bad ? null, gst-plugins-base, gst-plugins-good -, gst-plugins-ugly ? null, gtk3, libnotify, libxfce4ui, libxfce4util -, taglib ? null, xfconf }: - -# Doesn't seem to find H.264 codec even though built with gst-plugins-bad. - -mkXfceDerivation rec { - category = "apps"; - pname = "parole"; - version = "1.0.1"; - - sha256 = "0zq1imbjqmwfk3yrsha2s7lclzbh8xgggz0rbksa51siqk73swbb"; - - postPatch = '' - substituteInPlace src/plugins/mpris2/Makefile.am \ - --replace GST_BASE_CFLAGS GST_VIDEO_CFLAGS - ''; - - nativeBuildInputs = [ makeWrapper wrapGAppsHook ]; - - buildInputs = [ - dbus - dbus-glib - gst-plugins-bad - gst-plugins-base - gst-plugins-good - gst-plugins-ugly - gtk3 - libnotify - libxfce4ui - libxfce4util - taglib - xfconf - ]; -} diff --git a/pkgs/desktops/xfce4-13/ristretto/default.nix b/pkgs/desktops/xfce4-13/ristretto/default.nix deleted file mode 100644 index b4b0778e982..00000000000 --- a/pkgs/desktops/xfce4-13/ristretto/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ mkXfceDerivation, automakeAddFlags, exo, dbus-glib, gtk2, libexif -, libxfce4ui, libxfce4util, xfconf }: - -mkXfceDerivation rec { - category = "apps"; - pname = "ristretto"; - version = "0.8.3"; - - postPatch = '' - automakeAddFlags src/Makefile.am ristretto_CFLAGS DBUS_GLIB_CFLAGS - automakeAddFlags src/Makefile.am ristretto_LDADD DBUS_GLIB_LIBS - ''; - - nativeBuildInputs = [ automakeAddFlags exo ]; - buildInputs = [ dbus-glib gtk2 libexif libxfce4ui libxfce4util xfconf ]; - - sha256 = "02i61ddzpv0qjwahkksnzla57zdmkywyg1qrqs57z4bzj6l4nmkx"; -} diff --git a/pkgs/desktops/xfce4-13/thunar-volman/default.nix b/pkgs/desktops/xfce4-13/thunar-volman/default.nix deleted file mode 100644 index 0055d0d8217..00000000000 --- a/pkgs/desktops/xfce4-13/thunar-volman/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ mkXfceDerivation, exo, gtk3, libgudev, libxfce4ui, libxfce4util, xfconf }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "thunar-volman"; - version = "0.9.0"; - - buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ]; - - sha256 = "08aqbp3i0z6frj7z3laz9nj641iakrcr7vh2dxb057ky24gj61i7"; -} diff --git a/pkgs/desktops/xfce4-13/thunar/default.nix b/pkgs/desktops/xfce4-13/thunar/default.nix deleted file mode 100644 index dbeb80ac9bd..00000000000 --- a/pkgs/desktops/xfce4-13/thunar/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ mkXfceDerivation, docbook_xsl, exo, gdk_pixbuf, gtk3, libgudev ? null -, libnotify ? null, libX11, libxfce4ui, libxfce4util, libxslt, xfconf }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "thunar"; - version = "1.8.1"; - - sha256 = "00n5iinhg3xgzj2rcy7zl6g9449i59x2l09cnlkhyrjzghb4k5ha"; - - postPatch = '' - substituteInPlace docs/Makefile.am \ - --replace http://docbook.sourceforge.net/release/xsl/current \ - ${docbook_xsl}/share/xml/docbook-xsl - ''; - - nativeBuildInputs = [ libxslt ]; - - buildInputs = [ - exo - gdk_pixbuf - gtk3 - libgudev - libnotify - libX11 - libxfce4ui - libxfce4util - xfconf - ]; -} diff --git a/pkgs/desktops/xfce4-13/tumbler/default.nix b/pkgs/desktops/xfce4-13/tumbler/default.nix deleted file mode 100644 index 05a4f4ecde3..00000000000 --- a/pkgs/desktops/xfce4-13/tumbler/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ mkXfceDerivation, gdk_pixbuf ? null, ffmpegthumbnailer ? null, libgsf ? null -, poppler ? null }: - -# TODO: add libopenraw - -mkXfceDerivation rec { - category = "xfce"; - pname = "tumbler"; - version = "0.2.3"; - - sha256 = "1gb4dav6q9bn64c2ayi4896cr79lb8k63ja2sm3lwsjxgg1r4hw9"; - - buildInputs = [ gdk_pixbuf ffmpegthumbnailer libgsf poppler ]; -} diff --git a/pkgs/desktops/xfce4-13/xfburn/default.nix b/pkgs/desktops/xfce4-13/xfburn/default.nix deleted file mode 100644 index b8a61f6cf90..00000000000 --- a/pkgs/desktops/xfce4-13/xfburn/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ mkXfceDerivation, docbook_xsl, exo, gtk2, libburn, libisofs, libxfce4ui, libxslt }: - -mkXfceDerivation rec { - category = "apps"; - pname = "xfburn"; - version = "0.5.5"; - - postPatch = '' - substituteInPlace docs/Makefile.am \ - --replace http://docbook.sourceforge.net/release/xsl/current \ - ${docbook_xsl}/share/xml/docbook-xsl - ''; - - sha256 = "1lmv48vqrlap1a2ha72g16vqly18zvcwj8y3f3f00l10pmn52bkp"; - - nativeBuildInputs = [ libxslt ]; - buildInputs = [ exo gtk2 libburn libisofs libxfce4ui ]; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-appfinder/default.nix b/pkgs/desktops/xfce4-13/xfce4-appfinder/default.nix deleted file mode 100644 index 65941fee4c4..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-appfinder/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ mkXfceDerivation, exo, garcon, gtk3, libxfce4util, libxfce4ui, xfconf }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "xfce4-appfinder"; - version = "4.13.0"; - - sha256 = "13xsshzw04gx5rhalx4r0khjb0dbq26fv6n20biyiai1ykznyryy"; - - nativeBuildInputs = [ exo ]; - buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ]; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-battery-plugin/default.nix b/pkgs/desktops/xfce4-13/xfce4-battery-plugin/default.nix deleted file mode 100644 index b4b5ff7b714..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-battery-plugin/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: - -mkXfceDerivation rec { - category = "panel-plugins"; - pname = "xfce4-battery-plugin"; - version = "1.1.0"; - rev = version; - sha256 = "0mz0lj3wjrsj9n4wcqrvv08430g38nkjbdimxdy8316n6bqgngfn"; - - buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ]; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-clipman-plugin/default.nix b/pkgs/desktops/xfce4-13/xfce4-clipman-plugin/default.nix deleted file mode 100644 index 28f63a6769d..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-clipman-plugin/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ mkXfceDerivation, gtk3, libXtst, libxfce4ui, libxfce4util, xfce4-panel, xfconf, exo }: - -mkXfceDerivation rec { - category = "panel-plugins"; - pname = "xfce4-clipman-plugin"; - version = "1.4.2"; - rev = version; - sha256 = "1c2h1cs7pycf1rhpirmvb0l0dfvlacb7xgm31q9rxmhihnycd2na"; - - buildInputs = [ exo gtk3 libXtst libxfce4ui libxfce4util xfce4-panel xfconf ]; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-cpufreq-plugin/default.nix b/pkgs/desktops/xfce4-13/xfce4-cpufreq-plugin/default.nix deleted file mode 100644 index e17204c0cd5..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-cpufreq-plugin/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: - -mkXfceDerivation rec { - category = "panel-plugins"; - pname = "xfce4-cpufreq-plugin"; - version = "1.2.0"; - sha256 = "0zhs7b7py1njczmpnib4532fwpnd3vnpqfhss2r136cfgy72kp6g"; - - buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ]; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-dev-tools/default.nix b/pkgs/desktops/xfce4-13/xfce4-dev-tools/default.nix deleted file mode 100644 index 9dedb8674dc..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-dev-tools/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ mkXfceDerivation, autoreconfHook, autoconf, automake -, glib, gtk-doc, intltool, libtool }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "xfce4-dev-tools"; - version = "4.12.0"; - - sha256 = "0bbmlmw2dpm10q2wv3vy592i0vx7b5h1qnd35j0fdzxqb8x2hbw2"; - - nativeBuildInputs = [ autoreconfHook ]; - - propagatedBuildInputs = [ - autoconf - automake - glib - gtk-doc - intltool - libtool - ]; - - preAutoreconf = '' - substitute configure.ac.in configure.ac \ - --subst-var-by REVISION UNKNOWN - ''; - - setupHook = ./setup-hook.sh; - - meta = { - description = "Autoconf macros and scripts to augment app build systems"; - }; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-dict/default.nix b/pkgs/desktops/xfce4-13/xfce4-dict/default.nix deleted file mode 100644 index 1236b60175d..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-dict/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ mkXfceDerivation, automakeAddFlags, gtk3, libxfce4ui, libxfce4util, xfce4-panel }: - -mkXfceDerivation rec { - category = "apps"; - pname = "xfce4-dict"; - version = "0.8.1"; - - sha256 = "0kxirzqmpp7qlr8220i8kipz4bgzkam7h1lpx7yzld5xf7wdzvaf"; - - patches = [ ./configure-gio.patch ]; - - nativeBuildInputs = [ automakeAddFlags ]; - - postPatch = '' - automakeAddFlags lib/Makefile.am libdict_la_CFLAGS GIO_CFLAGS - ''; - - buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel ]; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-mixer/default.nix b/pkgs/desktops/xfce4-13/xfce4-mixer/default.nix deleted file mode 100644 index a4bc0a3eadd..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-mixer/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ mkXfceDerivation, automakeAddFlags, dbus-glib, gtk2, libxfce4ui, libxfce4util, xfce4-panel, xfconf, gst-plugins-base, libunique }: - -let - gst_plugins_minimal = gst-plugins-base.override { - minimalDeps = true; - }; -in -mkXfceDerivation rec { - category = "apps"; - pname = "xfce4-mixer"; - version = "4.11.0"; - - sha256 = "1kiz5ysn4rqkjfzz4dvbsfj64kqqayg7bqakcys3rw28g2q5qyys"; - - nativeBuildInputs = [ automakeAddFlags ]; - - postPatch = '' - automakeAddFlags panel-plugin/Makefile.am libmixer_la_CFLAGS DBUS_GLIB_CFLAGS - automakeAddFlags xfce4-mixer/Makefile.am xfce4_mixer_CFLAGS DBUS_GLIB_CFLAGS - ''; - - buildInputs = [ - dbus-glib - gst_plugins_minimal - gtk2 - libunique - libxfce4ui - libxfce4util - xfce4-panel - xfconf - ]; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-notifyd/default.nix b/pkgs/desktops/xfce4-13/xfce4-notifyd/default.nix deleted file mode 100644 index bac25878507..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-notifyd/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ mkXfceDerivation, dbus-glib, exo, gtk3, libnotify, libxfce4ui, libxfce4util -, xfce4-panel, xfconf }: - -mkXfceDerivation rec { - category = "apps"; - pname = "xfce4-notifyd"; - version = "0.4.2"; - - sha256 = "1zxwzigrhms74crasbqpnzidmq2mnyxpmc9pqr4p4qj14yw4sam9"; - - buildInputs = [ dbus-glib exo gtk3 libnotify libxfce4ui libxfce4util xfce4-panel xfconf ]; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-panel/default.nix b/pkgs/desktops/xfce4-13/xfce4-panel/default.nix deleted file mode 100644 index 27c8e1e58c7..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-panel/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ mkXfceDerivation, makeWrapper, tzdata, exo, garcon, gtk2, gtk3, gettext, glib-networking, libxfce4ui, libxfce4util, libwnck3, xfconf }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "xfce4-panel"; - version = "4.13.4"; - - sha256 = "13hnzh31d2b1331lnsbfaxg4fqhqa7hmdwkiqsl9hyr8pqimjb2g"; - - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ exo garcon gtk2 gtk3 libxfce4ui libxfce4util libwnck3 xfconf ]; - - patches = [ ../../xfce/core/xfce4-panel-datadir.patch ]; - patchFlags = "-p1"; - - postPatch = '' - for f in $(find . -name \*.sh); do - substituteInPlace $f --replace gettext ${gettext}/bin/gettext - done - substituteInPlace plugins/clock/clock.c \ - --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" \ - --replace "if (!g_file_test (filename, G_FILE_TEST_IS_SYMLINK))" "" - ''; - - configureFlags = [ "--enable-gtk3" ]; - - postInstall = '' - wrapProgram "$out/bin/xfce4-panel" \ - --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \ - --prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules" - ''; - - meta = { - description = "Xfce's panel"; - }; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-power-manager/default.nix b/pkgs/desktops/xfce4-13/xfce4-power-manager/default.nix deleted file mode 100644 index 5389af66882..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-power-manager/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ mkXfceDerivation, automakeAddFlags, exo, gtk3, libnotify -, libxfce4ui, libxfce4util, upower, xfconf }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "xfce4-power-manager"; - version = "1.6.1"; - - sha256 = "0b32m46v3dv1ln3xwlpqbnpflknm4gyfk2w6gn7xjx1k7igcjym3"; - - nativeBuildInputs = [ automakeAddFlags exo ]; - buildInputs = [ gtk3 libnotify libxfce4ui libxfce4util upower xfconf ]; - - postPatch = '' - substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0 - automakeAddFlags src/Makefile.am xfce4_power_manager_CFLAGS GIO_CFLAGS - automakeAddFlags settings/Makefile.am xfce4_power_manager_settings_CFLAGS GIO_CFLAGS - ''; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-screenshooter/default.nix b/pkgs/desktops/xfce4-13/xfce4-screenshooter/default.nix deleted file mode 100644 index 0dfad21d07b..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-screenshooter/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ mkXfceDerivation, exo, gtk3, libsoup, libxfce4ui, libxfce4util, xfce4-panel, wrapGAppsHook, glib-networking }: - -mkXfceDerivation rec { - category = "apps"; - pname = "xfce4-screenshooter"; - version = "1.9.2"; - - sha256 = "1zl16xcmgrb1s6rsrn37mpl5w522i1i9s7x167xf2d092x333yx2"; - - nativeBuildInputs = [ wrapGAppsHook ]; # fix "No GSettings schemas are installed on the system" - buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ]; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-session/default.nix b/pkgs/desktops/xfce4-13/xfce4-session/default.nix deleted file mode 100644 index ecf1f6ac505..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-session/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, dbus-glib, dbus, iceauth, gtk3, libwnck3, xorg }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "xfce4-session"; - version = "4.13.0"; - - sha256 = "0d6h1kgqq6g084jrxx4jxw98h5g0vwsxqrvk0bmapyxh2sbrg07y"; - - buildInputs = [ exo dbus-glib dbus gtk3 libxfce4ui libxfce4util libwnck3 xfconf polkit iceauth ]; - - configureFlags = [ "--with-xsession-prefix=$(out)" ]; - - NIX_CFLAGS_COMPILE = [ "-I${dbus-glib.dev}/include/dbus-1.0" - "-I${dbus.dev}/include/dbus-1.0" - "-I${dbus.lib}/lib/dbus-1.0/include" - ]; - - postPatch = '' - substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0 - substituteInPlace scripts/xflock4 --replace PATH=/bin:/usr/bin "PATH=\$PATH:$out/bin:${xorg.xset}/bin" - ''; - - meta = { - description = "Session manager for Xfce"; - }; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-settings/default.nix b/pkgs/desktops/xfce4-13/xfce4-settings/default.nix deleted file mode 100644 index 6eb917fd76f..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-settings/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ mkXfceDerivation, automakeAddFlags, exo, garcon, gtk3 -, libnotify ? null, libxfce4ui, libxfce4util, libxklavier ? null -, upower ? null, xfconf, xf86inputlibinput ? null }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "xfce4-settings"; - version = "4.13.4"; - - sha256 = "0qnnpvcs2hpfq3n4byjwq343p95i9xw96rq7ym4md4mahnk176dy"; - - postPatch = '' - automakeAddFlags xfce4-settings-editor/Makefile.am xfce4_settings_editor_CFLAGS DBUS_GLIB_CFLAGS - for f in $(find . -name \*.c); do - substituteInPlace $f --replace \"libinput-properties.h\" '' - done - ''; - - nativeBuildInputs = [ automakeAddFlags ]; - - buildInputs = [ - exo - garcon - gtk3 - libnotify - libxfce4ui - libxfce4util - libxklavier - upower - xfconf - xf86inputlibinput - ]; - - configureFlags = [ - "--enable-pluggable-dialogs" - "--enable-sound-settings" - ]; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-taskmanager/default.nix b/pkgs/desktops/xfce4-13/xfce4-taskmanager/default.nix deleted file mode 100644 index d9a5991598b..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-taskmanager/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ lib, mkXfceDerivation, exo, gtk2, gtk3 ? null, libwnck3 ? null, libXmu }: - -let - inherit (lib) enableFeature; -in - -mkXfceDerivation rec { - category = "apps"; - pname = "xfce4-taskmanager"; - version = "1.2.1"; - - sha256 = "1p0496r1fb5zqvn6c41kb6rjqwlqghqahgg6hkzw0gjy911im99w"; - - nativeBuildInputs = [ exo ]; - buildInputs = [ gtk2 gtk3 libwnck3 libXmu ]; - - configureFlags = [ (enableFeature (gtk3 != null) "gtk3") ]; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-terminal/default.nix b/pkgs/desktops/xfce4-13/xfce4-terminal/default.nix deleted file mode 100644 index 6bc88ee7661..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-terminal/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ mkXfceDerivation, gtk3, libxfce4ui, wrapGAppsHook, vte }: - -mkXfceDerivation rec { - category = "apps"; - pname = "xfce4-terminal"; - version = "0.8.7.4"; - - sha256 = "1s1dq560icg602jjb2ja58x7hxg4ikp3jrrf74v3qgi0ir950k2y"; - - buildInputs = [ gtk3 libxfce4ui vte ]; - nativeBuildInputs = [ wrapGAppsHook ]; - - meta = { - description = "A modern terminal emulator"; - }; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-volumed-pulse/default.nix b/pkgs/desktops/xfce4-13/xfce4-volumed-pulse/default.nix deleted file mode 100644 index 626451c70d6..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-volumed-pulse/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ lib, mkXfceDerivation, gtk3, libnotify ? null, libpulseaudio, keybinder3, xfconf }: - -mkXfceDerivation rec { - category = "apps"; - pname = "xfce4-volumed-pulse"; - version = "0.2.3"; - - sha256 = "1rsjng9qmq7vzrx5bfxq76h63y501cfl1mksrxkf1x39by9r628j"; - - buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ]; - - meta = with lib; { - license = licenses.gpl3Plus; - }; -} diff --git a/pkgs/desktops/xfce4-13/xfce4-whiskermenu-plugin/default.nix b/pkgs/desktops/xfce4-13/xfce4-whiskermenu-plugin/default.nix deleted file mode 100644 index 41a1ef82932..00000000000 --- a/pkgs/desktops/xfce4-13/xfce4-whiskermenu-plugin/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ mkXfceDerivation, dbus-glib, gtk3, cmake, exo, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: - -mkXfceDerivation rec { - category = "panel-plugins"; - pname = "xfce4-whiskermenu-plugin"; - version = "2.2.0"; - rev = "v${version}"; - sha256 = "1d35xxkdzw8pl3d5ps226mmrrjk0hqczsbvl5smh7l7jbwfambjm"; - - nativeBuildInputs = [ cmake ]; - - buildInputs = [ dbus-glib exo garcon gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ]; - - postInstall = '' - substituteInPlace $out/bin/xfce4-popup-whiskermenu \ - --replace $out/bin/xfce4-panel ${xfce4-panel.out}/bin/xfce4-panel - ''; -} diff --git a/pkgs/desktops/xfce4-13/xfconf/default.nix b/pkgs/desktops/xfce4-13/xfconf/default.nix deleted file mode 100644 index def60bcfe21..00000000000 --- a/pkgs/desktops/xfce4-13/xfconf/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ mkXfceDerivation, libxfce4util }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "xfconf"; - version = "4.13.5"; - - sha256 = "0xpnwb04yw5qdn0bj8b740a7rmiy316vhja5pp8p6sdiqm32yi8a"; - - buildInputs = [ libxfce4util ]; -} diff --git a/pkgs/desktops/xfce4-13/xfdesktop/default.nix b/pkgs/desktops/xfce4-13/xfdesktop/default.nix deleted file mode 100644 index 0209b791360..00000000000 --- a/pkgs/desktops/xfce4-13/xfdesktop/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ mkXfceDerivation, exo, gtk3, libxfce4ui, libxfce4util, libwnck3, xfconf }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "xfdesktop"; - version = "4.13.2"; - - sha256 = "0v6dlhraqh9v20qciyj03cbjmg3jb6gvmf0hqzavxqi2di3mv5fl"; - - buildInputs = [ - exo - gtk3 - libxfce4ui - libxfce4util - libwnck3 - xfconf - ]; - - meta = { - description = "Xfce's desktop manager"; - }; -} diff --git a/pkgs/desktops/xfce4-13/xfwm4/default.nix b/pkgs/desktops/xfce4-13/xfwm4/default.nix deleted file mode 100644 index 97d414d6693..00000000000 --- a/pkgs/desktops/xfce4-13/xfwm4/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ mkXfceDerivation, exo, dbus-glib, epoxy, gtk2, libXdamage -, libstartup_notification, libxfce4ui, libxfce4util, libwnck -, libXpresent, xfconf }: - -mkXfceDerivation rec { - category = "xfce"; - pname = "xfwm4"; - version = "4.13.0"; - - sha256 = "19ikyls4xawsbz07qdz60g5yl2jbvpb90sfy5zql7ghypd69cgn9"; - - nativeBuildInputs = [ exo ]; - - buildInputs = [ - dbus-glib - epoxy - gtk2 - libXdamage - libstartup_notification - libxfce4ui - libxfce4util - libwnck - libXpresent - xfconf - ]; -} diff --git a/pkgs/desktops/xfce4-13/automakeAddFlags.sh b/pkgs/desktops/xfce4-14/automakeAddFlags.sh similarity index 100% rename from pkgs/desktops/xfce4-13/automakeAddFlags.sh rename to pkgs/desktops/xfce4-14/automakeAddFlags.sh diff --git a/pkgs/desktops/xfce4-14/default.nix b/pkgs/desktops/xfce4-14/default.nix new file mode 100644 index 00000000000..294dfa92c79 --- /dev/null +++ b/pkgs/desktops/xfce4-14/default.nix @@ -0,0 +1,119 @@ +{ lib, makeSetupHook, newScope, gnome3, gst_all_1 }: + +let + inherit (lib) makeScope; +in + +makeScope newScope (self: with self; { + mkXfceDerivation = callPackage ./mkXfceDerivation.nix { }; + + automakeAddFlags = makeSetupHook { } ./automakeAddFlags.sh; + + exo = callPackage ./exo { }; + + garcon = callPackage ./garcon { }; + + gigolo = callPackage ./gigolo { }; + + libxfce4util = callPackage ./libxfce4util { }; + + libxfce4ui = callPackage ./libxfce4ui { }; + + mousepad = callPackage ./mousepad { }; + + orage = callPackage ./orage { }; + + parole = callPackage ./parole { + inherit (gst_all_1) gst-plugins-bad gst-plugins-base gst-plugins-good; + gst-plugins-ugly = null; + }; + + ristretto = callPackage ./ristretto { }; + + thunar = callPackage ./thunar { }; + + thunar-volman = callPackage ./thunar-volman { }; + + tumbler = callPackage ./tumbler { }; + + xfburn = callPackage ./xfburn { }; + + xfconf = callPackage ./xfconf { }; + + xfdesktop = callPackage ./xfdesktop { }; + + xfce4-appfinder = callPackage ./xfce4-appfinder { }; + + xfce4-battery-plugin = callPackage ./xfce4-battery-plugin { }; + + xfce4-cpufreq-plugin = callPackage ./xfce4-cpufreq-plugin { }; + + xfce4-clipman-plugin = callPackage ./xfce4-clipman-plugin { }; + + xfce4-dev-tools = callPackage ./xfce4-dev-tools { + mkXfceDerivation = mkXfceDerivation.override { + xfce4-dev-tools = null; + }; + }; + + xfce4-dict = callPackage ./xfce4-dict { }; + + xfce4-netload-plugin = callPackage ./xfce4-netload-plugin { }; + + xfce4-notifyd = callPackage ./xfce4-notifyd { }; + + xfce4-panel = callPackage ./xfce4-panel { }; + + xfce4-power-manager = callPackage ./xfce4-power-manager { }; + + xfce4-pulseaudio-plugin = callPackage ./xfce4-pulseaudio-plugin { }; + + xfce4-screenshooter = callPackage ./xfce4-screenshooter { + inherit (gnome3) libsoup; + }; + + xfce4-session = callPackage ./xfce4-session { }; + xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc"; + + xfce4-settings = callPackage ./xfce4-settings { }; + + xfce4-taskmanager = callPackage ./xfce4-taskmanager { }; + + xfce4-terminal = callPackage ./xfce4-terminal { }; + + xfdashboard = callPackage ./xfdashboard { }; + + xfce4-volumed-pulse = callPackage ./xfce4-volumed-pulse { }; + + xfce4-whiskermenu-plugin = callPackage ./xfce4-whiskermenu-plugin { }; + + xfce4-xkb-plugin = callPackage ./xfce4-xkb-plugin { }; + + xfwm4 = callPackage ./xfwm4 { }; + + ## COMMON PARTS WITH XFCE 4.12 + + gtk-xfce-engine = callPackage ../xfce/core/gtk-xfce-engine.nix { withGtk3 = false; }; + + xfce4-icon-theme = callPackage ../xfce/art/xfce4-icon-theme.nix { }; + + xfwm4-themes = callPackage ../xfce/art/xfwm4-themes.nix { }; + + xfce4-embed-plugin = callPackage ../xfce/panel-plugins/xfce4-embed-plugin.nix { }; + + xfce4-hardware-monitor-plugin = callPackage ../xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix { }; + + ## THIRD PARTY PLIGINS + + xfce4-dockbarx-plugin = callPackage ../xfce/panel-plugins/xfce4-dockbarx-plugin.nix { }; + + xfce4-namebar-plugin = callPackage ../xfce/panel-plugins/xfce4-namebar-plugin.nix { }; + + xfce4-windowck-plugin = callPackage ../xfce/panel-plugins/xfce4-windowck-plugin.nix { }; + + + ## ALIASES + + # added 2019-08-18 + xfce4-mixer = throw "deprecated 2019-08-18: obsoleted by xfce4-pulseaudio-plugin"; +}) diff --git a/pkgs/desktops/xfce4-14/exo/default.nix b/pkgs/desktops/xfce4-14/exo/default.nix new file mode 100644 index 00000000000..b0dcec78765 --- /dev/null +++ b/pkgs/desktops/xfce4-14/exo/default.nix @@ -0,0 +1,20 @@ +{ mkXfceDerivation, docbook_xsl, glib, libxslt, perlPackages, gtk3 +, libxfce4ui, libxfce4util }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "exo"; + version = "0.12.8"; + + sha256 = "013am7q4pwfncf4hk2a3hv7yx2vxgzb5xm8qsi9mxkj29xdhrvs5"; + + nativeBuildInputs = [ libxslt perlPackages.URI docbook_xsl ]; + buildInputs = [ gtk3 glib libxfce4ui libxfce4util ]; + + # Workaround https://bugzilla.xfce.org/show_bug.cgi?id=15825 + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + meta = { + description = "Application library for Xfce"; + }; +} diff --git a/pkgs/desktops/xfce4-14/garcon/default.nix b/pkgs/desktops/xfce4-14/garcon/default.nix new file mode 100644 index 00000000000..d4e7e2ffc80 --- /dev/null +++ b/pkgs/desktops/xfce4-14/garcon/default.nix @@ -0,0 +1,11 @@ +{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "garcon"; + version = "0.6.4"; + + sha256 = "0pamhp1wffiw638s66nws2mpzmwkhvhb6iwccfy8b0kyr57wipjv"; + + buildInputs = [ gtk3 libxfce4ui libxfce4util ]; +} diff --git a/pkgs/desktops/xfce4-14/gigolo/default.nix b/pkgs/desktops/xfce4-14/gigolo/default.nix new file mode 100644 index 00000000000..6939e8859ac --- /dev/null +++ b/pkgs/desktops/xfce4-14/gigolo/default.nix @@ -0,0 +1,12 @@ +{ mkXfceDerivation, exo, gtk3, gvfs, glib }: + +mkXfceDerivation rec { + category = "apps"; + pname = "gigolo"; + version = "0.5.0"; + + sha256 = "1lqsxb0d5i8p9vbzx8s4p3rga7va5h1q146xgmsa41j5v40wrlw6"; + + nativeBuildInputs = [ exo ]; + buildInputs = [ gtk3 glib gvfs ]; +} diff --git a/pkgs/desktops/xfce4-14/libxfce4ui/default.nix b/pkgs/desktops/xfce4-14/libxfce4ui/default.nix new file mode 100644 index 00000000000..2ea6d195d6f --- /dev/null +++ b/pkgs/desktops/xfce4-14/libxfce4ui/default.nix @@ -0,0 +1,23 @@ +{ lib, mkXfceDerivation, gobject-introspection, gtk2, gtk3, libICE, libSM +, libstartup_notification, libxfce4util, xfconf }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "libxfce4ui"; + version = "4.14.1"; + + sha256 = "0fnncf30s51qhgixn57z4d021pjjhzgsg2x69w4dy68vff2347qy"; + + nativeBuildInputs = [ gobject-introspection ]; + buildInputs = [ gtk2 gtk3 libstartup_notification xfconf ]; + propagatedBuildInputs = [ libxfce4util libICE libSM ]; + + configureFlags = [ + "--with-vendor-info='NixOS'" + ]; + + meta = with lib; { + description = "Widgets library for Xfce"; + license = licenses.lgpl2Plus; + }; +} diff --git a/pkgs/desktops/xfce4-14/libxfce4util/default.nix b/pkgs/desktops/xfce4-14/libxfce4util/default.nix new file mode 100644 index 00000000000..99fe59583aa --- /dev/null +++ b/pkgs/desktops/xfce4-14/libxfce4util/default.nix @@ -0,0 +1,16 @@ +{ lib, mkXfceDerivation, gobject-introspection }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "libxfce4util"; + version = "4.14.0"; + + sha256 = "0vq16bzmnykiikg4dhiaj0qbyj76nkdd54j6k6n568h3dc9ix6q4"; + + nativeBuildInputs = [ gobject-introspection ]; + + meta = with lib; { + description = "Extension library for Xfce"; + license = licenses.lgpl2Plus; + }; +} diff --git a/pkgs/desktops/xfce4-13/mkXfceDerivation.nix b/pkgs/desktops/xfce4-14/mkXfceDerivation.nix similarity index 92% rename from pkgs/desktops/xfce4-13/mkXfceDerivation.nix rename to pkgs/desktops/xfce4-14/mkXfceDerivation.nix index da7179c4646..cf4b5eb3cdc 100644 --- a/pkgs/desktops/xfce4-13/mkXfceDerivation.nix +++ b/pkgs/desktops/xfce4-14/mkXfceDerivation.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, pkgconfig, xfce4-dev-tools, hicolor-icon-theme }: +{ stdenv, fetchgit, pkgconfig, xfce4-dev-tools, hicolor-icon-theme, wrapGAppsHook }: { category, pname, version, rev ? "${pname}-${version}", sha256, ... } @ args: @@ -15,7 +15,7 @@ let template = rec { name = "${pname}-${version}"; - nativeBuildInputs = [ pkgconfig xfce4-dev-tools ]; + nativeBuildInputs = [ pkgconfig xfce4-dev-tools wrapGAppsHook ]; buildInputs = [ hicolor-icon-theme ]; configureFlags = [ "--enable-maintainer-mode" ]; diff --git a/pkgs/desktops/xfce4-14/mousepad/default.nix b/pkgs/desktops/xfce4-14/mousepad/default.nix new file mode 100644 index 00000000000..ca80fd8bf53 --- /dev/null +++ b/pkgs/desktops/xfce4-14/mousepad/default.nix @@ -0,0 +1,15 @@ +{ mkXfceDerivation, exo, glib, gtk3, gtksourceview3, xfconf }: + +mkXfceDerivation rec { + category = "apps"; + pname = "mousepad"; + version = "0.4.2"; + + sha256 = "0a35vaq4l0d8vzw7hqpvbgkr3wj1sqr2zvj7bc5z4ikz2cppqj7p"; + + nativeBuildInputs = [ exo ]; + buildInputs = [ glib gtk3 gtksourceview3 xfconf ]; + + # See https://github.com/NixOS/nixpkgs/issues/36468 + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; +} diff --git a/pkgs/desktops/xfce4-14/orage/default.nix b/pkgs/desktops/xfce4-14/orage/default.nix new file mode 100644 index 00000000000..8c453aa96a2 --- /dev/null +++ b/pkgs/desktops/xfce4-14/orage/default.nix @@ -0,0 +1,35 @@ +{ lib, fetchpatch, mkXfceDerivation, dbus-glib, gtk2, libical, libnotify, tzdata +, popt, libxfce4ui, xfce4-panel, withPanelPlugin ? true }: + +assert withPanelPlugin -> libxfce4ui != null && xfce4-panel != null; + +let + inherit (lib) optionals; +in + +mkXfceDerivation rec { + category = "apps"; + pname = "orage"; + version = "4.12.1"; + + sha256 = "04z6y1vfaz1im1zq1zr7cf8pjibjhj9zkyanbp7vn30q520yxa0m"; + buildInputs = [ dbus-glib gtk2 libical libnotify popt ] + ++ optionals withPanelPlugin [ libxfce4ui xfce4-panel ]; + + postPatch = '' + substituteInPlace src/parameters.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + substituteInPlace src/tz_zoneinfo_read.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + substituteInPlace tz_convert/tz_convert.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + ''; + + postConfigure = "rm -rf libical"; # ensure pkgs.libical is used instead of one included in the orage sources + + patches = [ + # Fix build with libical 3.0 + (fetchpatch { + name = "fix-libical3.patch"; + url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/libical3.patch?h=packages/orage&id=7b1b06c42dda034d538977b9f3550b28e370057f; + sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf"; + }) + ]; +} diff --git a/pkgs/desktops/xfce4-14/parole/default.nix b/pkgs/desktops/xfce4-14/parole/default.nix new file mode 100644 index 00000000000..578be8329b0 --- /dev/null +++ b/pkgs/desktops/xfce4-14/parole/default.nix @@ -0,0 +1,34 @@ +{ mkXfceDerivation, dbus, dbus-glib +, gst-plugins-bad, gst-plugins-base, gst-plugins-good +, gst-plugins-ugly, gtk3, libnotify, libxfce4ui, libxfce4util +, taglib, xfconf }: + +# Doesn't seem to find H.264 codec even though built with gst-plugins-bad. + +mkXfceDerivation rec { + category = "apps"; + pname = "parole"; + version = "1.0.4"; + + sha256 = "18j4bmny37crryh4pvxcjjvj99mln6ljq2vy69awxhvrjx9ljv13"; + + postPatch = '' + substituteInPlace src/plugins/mpris2/Makefile.am \ + --replace GST_BASE_CFLAGS GST_VIDEO_CFLAGS + ''; + + buildInputs = [ + dbus + dbus-glib + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gtk3 + libnotify + libxfce4ui + libxfce4util + taglib + xfconf + ]; +} diff --git a/pkgs/desktops/xfce4-14/ristretto/default.nix b/pkgs/desktops/xfce4-14/ristretto/default.nix new file mode 100644 index 00000000000..1c09d3a0c00 --- /dev/null +++ b/pkgs/desktops/xfce4-14/ristretto/default.nix @@ -0,0 +1,13 @@ +{ mkXfceDerivation, automakeAddFlags, exo, gtk3, glib, libexif +, libxfce4ui, libxfce4util, xfconf }: + +mkXfceDerivation rec { + category = "apps"; + pname = "ristretto"; + version = "0.10.0"; + + sha256 = "07h7wbq3xh2ac6q4kp2ai1incfn0zfxxngap7hzqx47a5xw2mrm8"; + + nativeBuildInputs = [ exo ]; + buildInputs = [ glib gtk3 libexif libxfce4ui libxfce4util xfconf ]; +} diff --git a/pkgs/desktops/xfce4-14/thunar-volman/default.nix b/pkgs/desktops/xfce4-14/thunar-volman/default.nix new file mode 100644 index 00000000000..1fa714c7ff1 --- /dev/null +++ b/pkgs/desktops/xfce4-14/thunar-volman/default.nix @@ -0,0 +1,11 @@ +{ mkXfceDerivation, exo, gtk3, libgudev, libxfce4ui, libxfce4util, xfconf }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "thunar-volman"; + version = "0.9.5"; + + buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ]; + + sha256 = "1qrlpn0q5g9psd41l6y80r3bvbg8jaic92m6r400zzwcvivf95z0"; +} diff --git a/pkgs/desktops/xfce4-14/thunar/default.nix b/pkgs/desktops/xfce4-14/thunar/default.nix new file mode 100644 index 00000000000..ed0be442023 --- /dev/null +++ b/pkgs/desktops/xfce4-14/thunar/default.nix @@ -0,0 +1,25 @@ +{ mkXfceDerivation, docbook_xsl, exo, gdk-pixbuf, gtk3, libgudev +, libnotify, libX11, libxfce4ui, libxfce4util, libxslt, xfconf, gobject-introspection, gvfs }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "thunar"; + version = "1.8.9"; + + sha256 = "01w60csbs2nq1bhb8n1bnmjmx48fm0va3qbnq84z0h2dxpr80b1w"; + + nativeBuildInputs = [ libxslt docbook_xsl gobject-introspection ]; + + buildInputs = [ + exo + gdk-pixbuf + gtk3 + libgudev + libnotify + libX11 + libxfce4ui + libxfce4util + xfconf + gvfs + ]; +} diff --git a/pkgs/desktops/xfce4-14/tumbler/default.nix b/pkgs/desktops/xfce4-14/tumbler/default.nix new file mode 100644 index 00000000000..81b00808336 --- /dev/null +++ b/pkgs/desktops/xfce4-14/tumbler/default.nix @@ -0,0 +1,30 @@ +{ mkXfceDerivation +, ffmpegthumbnailer +, gdk-pixbuf +, glib +, freetype +, libgsf +, poppler +, libjpeg +, gst_all_1 +}: + +# TODO: add libopenraw + +mkXfceDerivation rec { + category = "xfce"; + pname = "tumbler"; + version = "0.2.7"; + + sha256 = "14ql3fcxyz81qr9s0vcwh6j2ks5fl8jf9scwnkilv5jy0ii9l0ry"; + + buildInputs = [ + ffmpegthumbnailer + freetype + gdk-pixbuf + glib + gst_all_1.gst-plugins-base + libgsf + poppler # technically the glib binding + ]; +} diff --git a/pkgs/desktops/xfce4-14/xfburn/default.nix b/pkgs/desktops/xfce4-14/xfburn/default.nix new file mode 100644 index 00000000000..97d08636656 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfburn/default.nix @@ -0,0 +1,12 @@ +{ mkXfceDerivation, docbook_xsl, exo, gtk2, libburn, libisofs, libxfce4ui, libxslt }: + +mkXfceDerivation rec { + category = "apps"; + pname = "xfburn"; + version = "0.5.5"; + + sha256 = "1lmv48vqrlap1a2ha72g16vqly18zvcwj8y3f3f00l10pmn52bkp"; + + nativeBuildInputs = [ libxslt docbook_xsl ]; + buildInputs = [ exo gtk2 libburn libisofs libxfce4ui ]; +} diff --git a/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix b/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix new file mode 100644 index 00000000000..312e64cdbbe --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix @@ -0,0 +1,12 @@ +{ mkXfceDerivation, exo, garcon, gtk3, libxfce4util, libxfce4ui, xfconf }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "xfce4-appfinder"; + version = "4.14.0"; + + sha256 = "04h7jxfm3wkxnxfy8149dckay7i160vvk4p9lnq6xny22r4x20h8"; + + nativeBuildInputs = [ exo ]; + buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ]; +} diff --git a/pkgs/desktops/xfce4-14/xfce4-battery-plugin/default.nix b/pkgs/desktops/xfce4-14/xfce4-battery-plugin/default.nix new file mode 100644 index 00000000000..376551b09c0 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-battery-plugin/default.nix @@ -0,0 +1,11 @@ +{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation rec { + category = "panel-plugins"; + pname = "xfce4-battery-plugin"; + version = "1.1.2"; + rev = version; + sha256 = "0329miiclc8da6j0sz495p99hyrf9fjhvpmdl0556fphybz5agc0"; + + buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ]; +} diff --git a/pkgs/desktops/xfce4-14/xfce4-clipman-plugin/default.nix b/pkgs/desktops/xfce4-14/xfce4-clipman-plugin/default.nix new file mode 100644 index 00000000000..74628a325d4 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-clipman-plugin/default.nix @@ -0,0 +1,11 @@ +{ mkXfceDerivation, gtk3, libXtst, libxfce4ui, libxfce4util, xfce4-panel, xfconf, exo }: + +mkXfceDerivation rec { + category = "panel-plugins"; + pname = "xfce4-clipman-plugin"; + version = "1.4.3"; + rev = version; + sha256 = "1xk79xh1zk0x4r1z9m1dakp79pip0zh3naviybvl1dnpwwfc03gq"; + + buildInputs = [ exo gtk3 libXtst libxfce4ui libxfce4util xfce4-panel xfconf ]; +} diff --git a/pkgs/desktops/xfce4-14/xfce4-cpufreq-plugin/default.nix b/pkgs/desktops/xfce4-14/xfce4-cpufreq-plugin/default.nix new file mode 100644 index 00000000000..84cb7427699 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-cpufreq-plugin/default.nix @@ -0,0 +1,10 @@ +{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation rec { + category = "panel-plugins"; + pname = "xfce4-cpufreq-plugin"; + version = "1.2.1"; + sha256 = "1p7c4g3yfc19ksdckxpzq1q35jvplh5g55299cvv0afhdb5l8zhv"; + + buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ]; +} diff --git a/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix b/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix new file mode 100644 index 00000000000..b18f3fd45d6 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix @@ -0,0 +1,32 @@ +{ mkXfceDerivation, autoreconfHook, autoconf, automake +, glib, gtk-doc, intltool, libtool }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "xfce4-dev-tools"; + version = "4.14.0"; + + sha256 = "10hcj88784faqrk08xb538355cla26vdk9ckx158hqdqv38sb42f"; + + nativeBuildInputs = [ autoreconfHook ]; + + propagatedBuildInputs = [ + autoconf + automake + glib + gtk-doc + intltool + libtool + ]; + + preAutoreconf = '' + substitute configure.ac.in configure.ac \ + --subst-var-by REVISION UNKNOWN + ''; + + setupHook = ./setup-hook.sh; + + meta = { + description = "Autoconf macros and scripts to augment app build systems"; + }; +} diff --git a/pkgs/desktops/xfce4-13/xfce4-dev-tools/setup-hook.sh b/pkgs/desktops/xfce4-14/xfce4-dev-tools/setup-hook.sh similarity index 100% rename from pkgs/desktops/xfce4-13/xfce4-dev-tools/setup-hook.sh rename to pkgs/desktops/xfce4-14/xfce4-dev-tools/setup-hook.sh diff --git a/pkgs/desktops/xfce4-13/xfce4-dict/configure-gio.patch b/pkgs/desktops/xfce4-14/xfce4-dict/configure-gio.patch similarity index 100% rename from pkgs/desktops/xfce4-13/xfce4-dict/configure-gio.patch rename to pkgs/desktops/xfce4-14/xfce4-dict/configure-gio.patch diff --git a/pkgs/desktops/xfce4-14/xfce4-dict/default.nix b/pkgs/desktops/xfce4-14/xfce4-dict/default.nix new file mode 100644 index 00000000000..603863264ef --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-dict/default.nix @@ -0,0 +1,19 @@ +{ mkXfceDerivation, automakeAddFlags, gtk3, libxfce4ui, libxfce4util, xfce4-panel }: + +mkXfceDerivation rec { + category = "apps"; + pname = "xfce4-dict"; + version = "0.8.2"; + + sha256 = "1zbb0k0984ny7wy4gbk6ymkh87rbfakpim54yq4r3h5ymslx7iv7"; + + patches = [ ./configure-gio.patch ]; + + nativeBuildInputs = [ automakeAddFlags ]; + + postPatch = '' + automakeAddFlags lib/Makefile.am libdict_la_CFLAGS GIO_CFLAGS + ''; + + buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel ]; +} diff --git a/pkgs/desktops/xfce4-13/xfce4-netload-plugin/default.nix b/pkgs/desktops/xfce4-14/xfce4-netload-plugin/default.nix similarity index 100% rename from pkgs/desktops/xfce4-13/xfce4-netload-plugin/default.nix rename to pkgs/desktops/xfce4-14/xfce4-netload-plugin/default.nix diff --git a/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix b/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix new file mode 100644 index 00000000000..a99c3ecb984 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix @@ -0,0 +1,12 @@ +{ mkXfceDerivation, glib, exo, gtk3, libnotify, libxfce4ui, libxfce4util +, xfce4-panel, xfconf }: + +mkXfceDerivation rec { + category = "apps"; + pname = "xfce4-notifyd"; + version = "0.4.4"; + + sha256 = "1lmm9h3ych8dz9jpjkxg91f9ln14xs527nxjxsryks00kmqk4kai"; + + buildInputs = [ exo gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ]; +} diff --git a/pkgs/desktops/xfce4-14/xfce4-panel/default.nix b/pkgs/desktops/xfce4-14/xfce4-panel/default.nix new file mode 100644 index 00000000000..27acb3bee58 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-panel/default.nix @@ -0,0 +1,29 @@ +{ mkXfceDerivation, tzdata, exo, garcon, gtk2, gtk3, glib, gettext, glib-networking, libxfce4ui, libxfce4util, libwnck3, xfconf, gobject-introspection }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "xfce4-panel"; + version = "4.14.0"; + + sha256 = "1v3f2xjz9gwa8maqqvv9w2dh1cgy03v89a9ny7nrv0cjsxwwrr15"; + + nativeBuildInputs = [ gobject-introspection ]; + buildInputs = [ exo garcon gtk2 gtk3 glib glib-networking libxfce4ui libxfce4util libwnck3 xfconf ]; + + patches = [ ../../xfce/core/xfce4-panel-datadir.patch ]; + patchFlags = "-p1"; + + postPatch = '' + for f in $(find . -name \*.sh); do + substituteInPlace $f --replace gettext ${gettext}/bin/gettext + done + substituteInPlace plugins/clock/clock.c \ + --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + ''; + + configureFlags = [ "--enable-gtk3" ]; + + meta = { + description = "Xfce's panel"; + }; +} diff --git a/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix b/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix new file mode 100644 index 00000000000..115668334c3 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix @@ -0,0 +1,19 @@ +{ mkXfceDerivation, automakeAddFlags, exo, gtk3, libnotify +, libxfce4ui, libxfce4util, upower, xfconf }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "xfce4-power-manager"; + version = "1.6.5"; + + sha256 = "0zazm2cgkz5xj7rvy9gbh4kaay2anfcmawg4gj38pnq3a8zcwwd5"; + + nativeBuildInputs = [ automakeAddFlags exo ]; + buildInputs = [ gtk3 libnotify libxfce4ui libxfce4util upower xfconf ]; + + postPatch = '' + substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0 + automakeAddFlags src/Makefile.am xfce4_power_manager_CFLAGS GIO_CFLAGS + automakeAddFlags settings/Makefile.am xfce4_power_manager_settings_CFLAGS GIO_CFLAGS + ''; +} diff --git a/pkgs/desktops/xfce4-13/xfce4-pulseaudio-plugin/default.nix b/pkgs/desktops/xfce4-14/xfce4-pulseaudio-plugin/default.nix similarity index 100% rename from pkgs/desktops/xfce4-13/xfce4-pulseaudio-plugin/default.nix rename to pkgs/desktops/xfce4-14/xfce4-pulseaudio-plugin/default.nix diff --git a/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix b/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix new file mode 100644 index 00000000000..0f74a78e8f2 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix @@ -0,0 +1,11 @@ +{ mkXfceDerivation, exo, gtk3, libsoup, libxfce4ui, libxfce4util, xfce4-panel, glib-networking }: + +mkXfceDerivation rec { + category = "apps"; + pname = "xfce4-screenshooter"; + version = "1.9.5"; + + sha256 = "1h14sywvk9l06p3z1cpb79911j8w2wqbk03ldknjkia2rfymjk06"; + + buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ]; +} diff --git a/pkgs/desktops/xfce4-14/xfce4-session/default.nix b/pkgs/desktops/xfce4-14/xfce4-session/default.nix new file mode 100644 index 00000000000..070f40b52d5 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-session/default.nix @@ -0,0 +1,20 @@ +{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "xfce4-session"; + version = "4.14.0"; + + sha256 = "0v0xzkdr5rgv6219c1dy96cghgw8bqnb313jccxihfgddf363104"; + + buildInputs = [ exo gtk3 glib libxfce4ui libxfce4util libwnck3 xfconf polkit iceauth ]; + + configureFlags = [ "--with-xsession-prefix=${placeholder ''out''}" ]; + + # See https://github.com/NixOS/nixpkgs/issues/36468 + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + meta = { + description = "Session manager for Xfce"; + }; +} diff --git a/pkgs/desktops/xfce4-14/xfce4-settings/default.nix b/pkgs/desktops/xfce4-14/xfce4-settings/default.nix new file mode 100644 index 00000000000..21aaef5fd08 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-settings/default.nix @@ -0,0 +1,36 @@ +{ mkXfceDerivation, automakeAddFlags, exo, garcon, gtk3, glib +, libnotify, libxfce4ui, libxfce4util, libxklavier +, upower, xfconf, xf86inputlibinput }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "xfce4-settings"; + version = "4.14.0"; + + sha256 = "13gmxd4sfgd6wky7s03bar58w9vl4i6jv2wncd6iajww791y5akn"; + + postPatch = '' + for f in $(find . -name \*.c); do + substituteInPlace $f --replace \"libinput-properties.h\" '' + done + ''; + + buildInputs = [ + exo + garcon + glib + gtk3 + libnotify + libxfce4ui + libxfce4util + libxklavier + upower + xf86inputlibinput + xfconf + ]; + + configureFlags = [ + "--enable-pluggable-dialogs" + "--enable-sound-settings" + ]; +} diff --git a/pkgs/desktops/xfce4-14/xfce4-taskmanager/default.nix b/pkgs/desktops/xfce4-14/xfce4-taskmanager/default.nix new file mode 100644 index 00000000000..776b3797f76 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-taskmanager/default.nix @@ -0,0 +1,12 @@ +{ lib, mkXfceDerivation, exo, gtk3, libwnck3, libXmu }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-taskmanager"; + version = "1.2.2"; + + sha256 = "03js0pmhrybxa7hrp3gx4rm7j061ansv0bp2dwhnbrdpmzjysysc"; + + nativeBuildInputs = [ exo ]; + buildInputs = [ gtk3 libwnck3 libXmu ]; +} diff --git a/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix b/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix new file mode 100644 index 00000000000..e62332343ba --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix @@ -0,0 +1,15 @@ +{ mkXfceDerivation, gtk3, libxfce4ui, vte, xfconf }: + +mkXfceDerivation rec { + category = "apps"; + pname = "xfce4-terminal"; + version = "0.8.8"; + + sha256 = "0sg9vwyvhh7pjp83biv7gvf42423a7ly4dc7q2gn28kp6bds2qcp"; + + buildInputs = [ gtk3 libxfce4ui vte xfconf ]; + + meta = { + description = "A modern terminal emulator"; + }; +} diff --git a/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix b/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix new file mode 100644 index 00000000000..b1405910021 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix @@ -0,0 +1,15 @@ +{ lib, mkXfceDerivation, gtk3, libnotify, libpulseaudio, keybinder3, xfconf }: + +mkXfceDerivation rec { + category = "apps"; + pname = "xfce4-volumed-pulse"; + version = "0.2.3"; + + sha256 = "1rsjng9qmq7vzrx5bfxq76h63y501cfl1mksrxkf1x39by9r628j"; + + buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ]; + + meta = with lib; { + license = licenses.gpl3Plus; + }; +} diff --git a/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix b/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix new file mode 100644 index 00000000000..f943f2ab333 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix @@ -0,0 +1,18 @@ +{ mkXfceDerivation, gtk3, glib, cmake, exo, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation rec { + category = "panel-plugins"; + pname = "xfce4-whiskermenu-plugin"; + version = "2.3.3"; + rev = "v${version}"; + sha256 = "0agh0a5srsy6vi6r50ak9rb42r7vcnfv6nfvg4qbqi77yc44yqdb"; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ exo garcon gtk3 glib libxfce4ui libxfce4util xfce4-panel xfconf ]; + + postInstall = '' + substituteInPlace $out/bin/xfce4-popup-whiskermenu \ + --replace $out/bin/xfce4-panel ${xfce4-panel.out}/bin/xfce4-panel + ''; +} diff --git a/pkgs/desktops/xfce4-13/xfce4-xkb-plugin/default.nix b/pkgs/desktops/xfce4-14/xfce4-xkb-plugin/default.nix similarity index 100% rename from pkgs/desktops/xfce4-13/xfce4-xkb-plugin/default.nix rename to pkgs/desktops/xfce4-14/xfce4-xkb-plugin/default.nix diff --git a/pkgs/desktops/xfce4-14/xfconf/default.nix b/pkgs/desktops/xfce4-14/xfconf/default.nix new file mode 100644 index 00000000000..8e56e0f8b37 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfconf/default.nix @@ -0,0 +1,11 @@ +{ mkXfceDerivation, libxfce4util }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "xfconf"; + version = "4.14.1"; + + sha256 = "1mbqc1463xgn7gafbh2fyshshdxin33iwk96y4nw2gl48nhx4sgs"; + + buildInputs = [ libxfce4util ]; +} diff --git a/pkgs/desktops/xfce4-14/xfdashboard/default.nix b/pkgs/desktops/xfce4-14/xfdashboard/default.nix new file mode 100644 index 00000000000..a17c29f6723 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfdashboard/default.nix @@ -0,0 +1,44 @@ +{ mkXfceDerivation +, clutter +, libXcomposite +, libXinerama +, libXdamage +, libX11 +, libwnck3 +, libxfce4ui +, libxfce4util +, garcon +, xfconf +, gtk3 +, glib +, dbus-glib +}: + +mkXfceDerivation { + category = "apps"; + pname = "xfdashboard"; + version = "0.7.5"; + rev = "0.7.5"; + + sha256 = "0d0kg90h3li41bs75z3xldljsglkz220pba39c54qznnzb8v8a2i"; + + buildInputs = [ + clutter + dbus-glib + garcon + glib + gtk3 + libX11 + libXcomposite + libXdamage + libXinerama + libwnck3 + libxfce4ui + libxfce4util + xfconf + ]; + + meta = { + description = "Gnome shell like dashboard"; + }; +} diff --git a/pkgs/desktops/xfce4-14/xfdesktop/default.nix b/pkgs/desktops/xfce4-14/xfdesktop/default.nix new file mode 100644 index 00000000000..c4b7d738b32 --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfdesktop/default.nix @@ -0,0 +1,25 @@ +{ mkXfceDerivation, exo, gtk3, libxfce4ui, libxfce4util, libwnck3, xfconf, libnotify, garcon, thunar }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "xfdesktop"; + version = "4.14.1"; + + sha256 = "006w4xwmpwp34q2qkkixr3xz0vb0kny79pw64yj4304wsb5jr14g"; + + buildInputs = [ + exo + gtk3 + libxfce4ui + libxfce4util + libwnck3 + xfconf + libnotify + garcon + thunar + ]; + + meta = { + description = "Xfce's desktop manager"; + }; +} diff --git a/pkgs/desktops/xfce4-14/xfwm4/default.nix b/pkgs/desktops/xfce4-14/xfwm4/default.nix new file mode 100644 index 00000000000..b84487c09ae --- /dev/null +++ b/pkgs/desktops/xfce4-14/xfwm4/default.nix @@ -0,0 +1,26 @@ +{ mkXfceDerivation, exo, librsvg, dbus-glib, epoxy, gtk3, libXdamage +, libstartup_notification, libxfce4ui, libxfce4util, libwnck3 +, libXpresent, xfconf }: + +mkXfceDerivation rec { + category = "xfce"; + pname = "xfwm4"; + version = "4.14.0"; + + sha256 = "1z5aqij2d8n9wnha88b0qzkvss54jvqs8w1w5m3mzjl4c9mn9n8m"; + + nativeBuildInputs = [ exo librsvg ]; + + buildInputs = [ + dbus-glib + epoxy + gtk3 + libXdamage + libstartup_notification + libxfce4ui + libxfce4util + libwnck3 + libXpresent + xfconf + ]; +} diff --git a/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix index e43dacce625..fcdd2eb5181 100644 --- a/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix +++ b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ stdenv , makeWrapper , runCommand, wrapBintoolsWith, wrapCCWith , buildAndroidndk, androidndk, targetAndroidndkPkgs @@ -18,19 +18,28 @@ let "x86_64-unknown-linux-gnu" = { double = "linux-x86_64"; }; - "armv5tel-unknown-linux-androideabi" = { - arch = "arm"; - triple = "arm-linux-androideabi"; - gccVer = "4.8"; + "i686-unknown-linux-android" = { + triple = "i686-linux-android"; + arch = "x86"; + toolchain = "x86"; + gccVer = "4.9"; + }; + "x86_64-unknown-linux-android" = { + triple = "x86_64-linux-android"; + arch = "x86_64"; + toolchain = "x86_64"; + gccVer = "4.9"; }; "armv7a-unknown-linux-androideabi" = { arch = "arm"; triple = "arm-linux-androideabi"; + toolchain = "arm-linux-androideabi"; gccVer = "4.9"; }; "aarch64-unknown-linux-android" = { arch = "arm64"; triple = "aarch64-linux-android"; + toolchain = "aarch64-linux-android"; gccVer = "4.9"; }; }.${config} or @@ -38,77 +47,50 @@ let hostInfo = ndkInfoFun stdenv.hostPlatform; targetInfo = ndkInfoFun stdenv.targetPlatform; + + prefix = stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) (stdenv.targetPlatform.config + "-"); in rec { # Misc tools - binaries = let - ndkBinDir = - "${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/${targetInfo.triple}-${targetInfo.gccVer}/prebuilt/${hostInfo.double}/bin"; - ndkGCCLibDir = - "${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/${targetInfo.triple}-${targetInfo.gccVer}/prebuilt/${hostInfo.double}/lib/gcc/${targetInfo.triple}/4.9.x"; + binaries = runCommand "ndk-gcc-binutils" { + isClang = true; # clang based cc, but bintools ld + nativeBuildInputs = [ makeWrapper ]; + propgatedBuildInputs = [ androidndk ]; + } '' + mkdir -p $out/bin - in runCommand "ndk-gcc-binutils" { - isGNU = true; # for cc-wrapper - nativeBuildInputs = [ makeWrapper ]; - propgatedBuildInputs = [ androidndk ]; - } '' - mkdir -p $out/bin - for prog in ${ndkBinDir}/${targetInfo.triple}-*; do - prog_suffix=$(basename $prog | sed 's/${targetInfo.triple}-//') - cat > $out/bin/${stdenv.targetPlatform.config}-$prog_suffix <> $out/nix-support/libc-ldflags - ''; }; - gcc = wrapCCWith { + clang = wrapCCWith { cc = binaries; bintools = binutils; libc = targetAndroidndkPkgs.libraries; extraBuildCommands = '' echo "-D__ANDROID_API__=${stdenv.targetPlatform.sdkVer}" >> $out/nix-support/cc-cflags - '' - + lib.optionalString stdenv.targetPlatform.isAarch32 (let - p = stdenv.targetPlatform.platform.gcc or {} - // stdenv.targetPlatform.parsed.abi; - flags = lib.concatLists [ - (lib.optional (p ? arch) "-march=${p.arch}") - (lib.optional (p ? cpu) "-mcpu=${p.cpu}") - (lib.optional (p ? abi) "-mabi=${p.abi}") - (lib.optional (p ? fpu) "-mfpu=${p.fpu}") - (lib.optional (p ? float) "-mfloat=${p.float}") - (lib.optional (p ? float-abi) "-mfloat-abi=${p.float-abi}") - (lib.optional (p ? mode) "-mmode=${p.mode}") - ]; - in '' - sed -E -i \ - $out/bin/${stdenv.targetPlatform.config}-cc \ - $out/bin/${stdenv.targetPlatform.config}-c++ \ - $out/bin/${stdenv.targetPlatform.config}-gcc \ - $out/bin/${stdenv.targetPlatform.config}-g++ \ - -e '130i extraBefore+=(-Wl,--fix-cortex-a8)' \ - -e 's|^(extraBefore=)\(\)$|\1(${builtins.toString flags})|' - '') - # GCC 4.9 is the first relase with "-fstack-protector" - + lib.optionalString (lib.versionOlder targetInfo.gccVer "4.9") '' - sed -E \ - -i $out/nix-support/add-hardening.sh \ - -e 's|(-fstack-protector)-strong|\1|g' - ''; + echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags + echo "-resource-dir=$(echo ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${hostInfo.double}/lib*/clang/*)" >> $out/nix-support/cc-cflags + echo "--gcc-toolchain=${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/${targetInfo.toolchain}-${targetInfo.gccVer}/prebuilt/${hostInfo.double}" >> $out/nix-support/cc-cflags + ''; }; # Bionic lib C and other libraries. @@ -116,17 +98,11 @@ rec { # We use androidndk from the previous stage, else we waste time or get cycles # cross-compiling packages to wrap incorrectly wrap binaries we don't include # anyways. - libraries = - let - includePath = "${buildAndroidndk}/libexec/android-sdk/ndk-bundle/sysroot/usr/include"; - asmIncludePath = "${buildAndroidndk}/libexec/android-sdk/ndk-bundle/sysroot/usr/include/${targetInfo.triple}"; - libPath = "${buildAndroidndk}/libexec/android-sdk/ndk-bundle/platforms/android-${stdenv.hostPlatform.sdkVer}/arch-${hostInfo.arch}/usr/lib/"; - in - runCommand "bionic-prebuilt" {} '' - mkdir -p $out - cp -r ${includePath} $out/include - chmod +w $out/include - cp -r ${asmIncludePath}/* $out/include - ln -s ${libPath} $out/lib - ''; + libraries = runCommand "bionic-prebuilt" {} '' + mkdir -p $out + cp -r ${buildAndroidndk}/libexec/android-sdk/ndk-bundle/sysroot/usr/include $out/include + chmod +w $out/include + cp -r ${buildAndroidndk}/libexec/android-sdk/ndk-bundle/sysroot/usr/include/${targetInfo.triple}/* $out/include + ln -s ${buildAndroidndk}/libexec/android-sdk/ndk-bundle/platforms/android-${stdenv.hostPlatform.sdkVer}/arch-${hostInfo.arch}/usr/lib $out/lib + ''; } diff --git a/pkgs/development/androidndk-pkgs/default.nix b/pkgs/development/androidndk-pkgs/default.nix index 341cdf72028..e35444ed516 100644 --- a/pkgs/development/androidndk-pkgs/default.nix +++ b/pkgs/development/androidndk-pkgs/default.nix @@ -1,5 +1,4 @@ { androidenv, buildPackages, pkgs, targetPackages -, includeSources ? true, licenseAccepted ? false }: rec { @@ -21,7 +20,7 @@ rec { inherit (buildPackages) makeWrapper; inherit (pkgs) - lib stdenv + stdenv runCommand wrapBintoolsWith wrapCCWith; # buildPackages.foo rather than buildPackages.buildPackages.foo would work, # but for splicing messing up on infinite recursion for the variants we diff --git a/pkgs/development/arduino/arduino-core/default.nix b/pkgs/development/arduino/arduino-core/default.nix index 269df6a07cd..5d151e5fa21 100644 --- a/pkgs/development/arduino/arduino-core/default.nix +++ b/pkgs/development/arduino/arduino-core/default.nix @@ -2,8 +2,8 @@ , libusb, libusb1, unzip, zlib, ncurses, readline , withGui ? false, gtk2 ? null, withTeensyduino ? false /* Packages needed for Teensyduino */ -, upx, fontconfig, xorg, gcc, xdotool, xvfb_run -, atk, glib, pango, gdk_pixbuf, libpng12, expat, freetype +, upx, fontconfig, xorg, gcc +, atk, glib, pango, gdk-pixbuf, libpng12, expat, freetype, }: assert withGui -> gtk2 != null; @@ -36,7 +36,7 @@ let fontconfig freetype gcc.cc.lib - gdk_pixbuf + gdk-pixbuf glib gtk2 libpng12 @@ -68,19 +68,32 @@ stdenv.mkDerivation rec { sha256 = "0ww72qfk7fyvprz15lc80i1axfdacb5fij4h5j5pakrg76mng2c3"; }; + teensyduino_version = "145"; teensyduino_src = fetchurl { - url = "https://www.pjrc.com/teensy/td_140/TeensyduinoInstall.${teensy_architecture}"; + url = "https://www.pjrc.com/teensy/td_${teensyduino_version}/TeensyduinoInstall.${teensy_architecture}"; sha256 = lib.optionalString ("${teensy_architecture}" == "linux64") - "0127a1ak31252dbmr5niqa5mkvbm8dnz1cfcnmydzx9qn9rk00ir" + "0n8812znwdyvy7d1321p4r6j5pixg1sr31z5pfr7i0ikw0jxfrxb" + lib.optionalString ("${teensy_architecture}" == "linux32") - "01mxj5xsr7gka652c9rp4szy5mkcka8mljk044v4agk3sxvx3v3i" + "1p74rb8g4v6kd09a0af1yra8xjzy3iyv5w5b6h6ljfhb022v3l57" + lib.optionalString ("${teensy_architecture}" == "linuxarm") - "1dff3alhvk9x8qzy3n85qrg6rfmy6l9pj6fmrlzpli63lzykvv4i"; + "0jd9dvr8zx9hlyn6j979d66qdvzgv3dmx5x9yviqvrn1f3w4hfbf"; + }; + # Used because teensyduino requires jars be a specific size + arduino_dist_src = fetchurl { + url = "http://downloads.arduino.cc/arduino-${version}-${teensy_architecture}.tar.xz"; + sha256 = + lib.optionalString ("${teensy_architecture}" == "linux64") + "1f8s3by5lc6fazyaa9zc9kz3ar8zj8jabab1fy5jzh49fbd8bydx" + + lib.optionalString ("${teensy_architecture}" == "linux32") + "1r9ral9aq5vp02dwgagifk5h403l7knxdyi1w23rqpcbbpa423lw" + + lib.optionalString ("${teensy_architecture}" == "linuxarm") + "0sz18wns00kysmb2zv7a67dy9wpxiawq3ykfr07wjyg8h1fy3p6h"; }; + buildInputs = [ jdk ant libusb libusb1 unzip zlib ncurses5 readline - ] ++ stdenv.lib.optionals withTeensyduino [ upx xvfb_run xdotool ]; + ] ++ stdenv.lib.optionals withTeensyduino [ upx ]; downloadSrcList = builtins.attrValues externalDownloads; downloadDstList = builtins.attrNames externalDownloads; @@ -102,7 +115,7 @@ stdenv.mkDerivation rec { substituteInPlace build/build.xml --replace "get src" "get error" cd ./arduino-core && ant - cd ../build && ant + cd ../build && ant cd .. ''; @@ -116,8 +129,8 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/share/arduino - cp -r ./build/linux/work/* "$out/share/arduino/" #*/ - echo ${version} > $out/share/arduino/lib/version.txt + cp -r ./build/linux/work/* "$out/share/arduino/" + echo -n ${version} > $out/share/arduino/lib/version.txt ${stdenv.lib.optionalString withGui '' mkdir -p $out/bin @@ -135,6 +148,18 @@ stdenv.mkDerivation rec { ''} ${stdenv.lib.optionalString withTeensyduino '' + # Back up the original jars + mv $out/share/arduino/lib/arduino-core.jar $out/share/arduino/lib/arduino-core.jar.bak + mv $out/share/arduino/lib/pde.jar $out/share/arduino/lib/pde.jar.bak + # Extract jars from the arduino distributable package + mkdir arduino_dist + cd arduino_dist + tar xfJ ${arduino_dist_src} arduino-${version}/lib/arduino-core.jar arduino-${version}/lib/pde.jar + cd .. + # Replace the built jars with the official arduino jars + mv arduino_dist/arduino-${version}/lib/{arduino-core,pde}.jar $out/share/arduino/lib/ + # Delete the directory now that the jars are copied out + rm -r arduino_dist # Extract and patch the Teensyduino installer cp ${teensyduino_src} ./TeensyduinoInstall.${teensy_architecture} chmod +w ./TeensyduinoInstall.${teensy_architecture} @@ -143,39 +168,12 @@ stdenv.mkDerivation rec { --set-rpath "${teensy_libpath}" \ ./TeensyduinoInstall.${teensy_architecture} chmod +x ./TeensyduinoInstall.${teensy_architecture} - - # Run the GUI-only installer in a virtual X server - # Script thanks to AUR package. See: - # - echo "Running Teensyduino installer..." - # Trick the GUI into using HOME as the install directory. - export HOME=$out/share/arduino - # Run the installer in a virtual X server in memory. - xvfb-run -n 99 ./TeensyduinoInstall.${teensy_architecture} & - sleep 4 - echo "Waiting for Teensyduino to install (about 1 minute)..." - # Control the installer GUI with xdotool. - DISPLAY=:99 xdotool search --class "teensyduino" \ - windowfocus \ - key space sleep 1 \ - key Tab sleep 0.4 \ - key Tab sleep 0.4 \ - key Tab sleep 0.4 \ - key Tab sleep 0.4 \ - key space sleep 1 \ - key Tab sleep 0.4 \ - key Tab sleep 0.4 \ - key Tab sleep 0.4 \ - key Tab sleep 0.4 \ - key space sleep 1 \ - key Tab sleep 0.4 \ - key space sleep 35 \ - key space sleep 2 & - # Wait for xdotool to terminate and swallow the inevitable XIO error - wait $! || true - + ./TeensyduinoInstall.${teensy_architecture} --dir=$out/share/arduino # Check for successful installation [ -d $out/share/arduino/hardware/teensy ] || exit 1 + # After the install, copy the built jars back + mv $out/share/arduino/lib/arduino-core.jar.bak $out/share/arduino/lib/arduino-core.jar + mv $out/share/arduino/lib/pde.jar.bak $out/share/arduino/lib/pde.jar ''} ''; diff --git a/pkgs/development/arduino/arduino-core/downloads.nix b/pkgs/development/arduino/arduino-core/downloads.nix index e71c898dd55..12cc7a6e52c 100644 --- a/pkgs/development/arduino/arduino-core/downloads.nix +++ b/pkgs/development/arduino/arduino-core/downloads.nix @@ -132,7 +132,7 @@ }; "build/macosx/avrdude-6.3.0-arduino9-i386-apple-darwin11.tar.bz2" = fetchurl { url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-i386-apple-darwin11.tar.bz2"; - sha256 = "0rc4x8mcsva4v6j7ssfj8rdyg14l2pd9ivgdm39m5wnz8b06p85z11703f0r82aq3mmkiy7vwa4jfjhs9826qpp724hbng9dx74kk86r"; + sha256 = "0rc4x8mcsva4v6j7ssfj8rdyg14l2pd9ivgdm39m5wnz8b06p85z"; }; "build/macosx/appbundler/appbundler-1.0ea-arduino4.jar.zip" = fetchurl { url = "https://downloads.arduino.cc/appbundler-1.0ea-arduino4.jar.zip"; diff --git a/pkgs/development/arduino/arduino-mk/default.nix b/pkgs/development/arduino/arduino-mk/default.nix index 9cefd1dfe54..827c5137bf8 100644 --- a/pkgs/development/arduino/arduino-mk/default.nix +++ b/pkgs/development/arduino/arduino-mk/default.nix @@ -1,8 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { version = "1.6.0"; - name = "arduino-mk-${version}"; + pname = "arduino-mk"; src = fetchFromGitHub { owner = "sudar"; diff --git a/pkgs/development/arduino/platformio/chrootenv.nix b/pkgs/development/arduino/platformio/chrootenv.nix index 8f93a0b3772..182f8fbefab 100644 --- a/pkgs/development/arduino/platformio/chrootenv.nix +++ b/pkgs/development/arduino/platformio/chrootenv.nix @@ -13,7 +13,7 @@ let inherit version; sha256 = "678c98275431fad324275dec63791e4a17558b40e5a110e20a82866139a85a5a"; }; - patches = []; + postPatch = ""; }); platformio = self.callPackage ./core.nix { }; diff --git a/pkgs/development/arduino/platformio/core.nix b/pkgs/development/arduino/platformio/core.nix index a4d5b338242..0866311ad89 100644 --- a/pkgs/development/arduino/platformio/core.nix +++ b/pkgs/development/arduino/platformio/core.nix @@ -10,6 +10,8 @@ let "commands/test_ci.py::test_ci_boards" "commands/test_ci.py::test_ci_project_conf" "commands/test_ci.py::test_ci_lib_and_board" + "commands/test_ci.py::test_ci_build_dir" + "commands/test_ci.py::test_ci_keep_build_dir" "commands/test_init.py::test_init_enable_auto_uploading" "commands/test_init.py::test_init_custom_framework" "commands/test_init.py::test_init_incorrect_board" @@ -44,14 +46,14 @@ let in buildPythonApplication rec { pname = "platformio"; - version = "3.6.4"; + version = "3.6.6"; # pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964 src = fetchFromGitHub { owner = "platformio"; repo = "platformio-core"; rev = "v${version}"; - sha256 = "1c1y099xvpdh35n8fln642psa4xsaaqly2i2jgkvhrb9yl77x5aj"; + sha256 = "1qwd6684y2xagl375sv8fm6a535hcdqx296hknjlbvsgc1jc514a"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/beam-modules/build-mix.nix b/pkgs/development/beam-modules/build-mix.nix index 9e160acf2d4..d947acc3ea6 100644 --- a/pkgs/development/beam-modules/build-mix.nix +++ b/pkgs/development/beam-modules/build-mix.nix @@ -61,8 +61,9 @@ let export HEX_OFFLINE=1 export HEX_HOME=`pwd` export MIX_ENV=prod + export MIX_NO_DEPS=1 - MIX_ENV=prod mix compile ${debugInfoFlag} --no-deps-check + mix compile ${debugInfoFlag} --no-deps-check runHook postBuild '' diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix index a1eedaad6a0..eb9353a4a63 100644 --- a/pkgs/development/beam-modules/default.nix +++ b/pkgs/development/beam-modules/default.nix @@ -41,7 +41,12 @@ let buildMix = callPackage ./build-mix.nix {}; # BEAM-based languages. - elixir = elixir_1_7; + elixir = elixir_1_9; + + elixir_1_9 = lib.callElixir ../interpreters/elixir/1.9.nix { + inherit rebar erlang; + debugInfo = true; + }; elixir_1_8 = lib.callElixir ../interpreters/elixir/1.8.nix { inherit rebar erlang; @@ -63,11 +68,6 @@ let debugInfo = true; }; - elixir_1_4 = lib.callElixir ../interpreters/elixir/1.4.nix { - inherit rebar erlang; - debugInfo = true; - }; - # Remove old versions of elixir, when the supports fades out: # https://hexdocs.pm/elixir/compatibility-and-deprecations.html diff --git a/pkgs/development/beam-modules/fetch-rebar-deps.nix b/pkgs/development/beam-modules/fetch-rebar-deps.nix index a94d803f0d3..389e07beca6 100644 --- a/pkgs/development/beam-modules/fetch-rebar-deps.nix +++ b/pkgs/development/beam-modules/fetch-rebar-deps.nix @@ -1,4 +1,4 @@ -{ stdenv, rebar3, curl }: +{ stdenv, rebar3 }: { name, version, sha256, src , meta ? {} @@ -29,4 +29,5 @@ stdenv.mkDerivation ({ outputHash = sha256; impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars; + inherit meta; }) diff --git a/pkgs/development/beam-modules/hex/default.nix b/pkgs/development/beam-modules/hex/default.nix index 7e91153bed5..e8faa9c0a9c 100644 --- a/pkgs/development/beam-modules/hex/default.nix +++ b/pkgs/development/beam-modules/hex/default.nix @@ -8,13 +8,13 @@ let pkg = self: stdenv.mkDerivation rec { pname = "hex"; - version = "0.17.1"; + version = "0.20.1"; src = fetchFromGitHub { owner = "hexpm"; repo = "hex"; rev = "v${version}"; - sha256 = "1s4asar1mcavzj3w37jcz243ka0z5jm0r42yws3h4aagawxxg02z"; + sha256 = "0yxw7r31kk45b1nk48pajwwv9zl746kc9pwqfb73za8b1g8bgxd3"; }; setupHook = writeText "setupHook.sh" '' diff --git a/pkgs/development/beam-modules/mix-bootstrap b/pkgs/development/beam-modules/mix-bootstrap index 6c9a20c6de2..d7a912ee1ed 100755 --- a/pkgs/development/beam-modules/mix-bootstrap +++ b/pkgs/development/beam-modules/mix-bootstrap @@ -40,7 +40,7 @@ main(Args) -> -spec fixup_app_name(file:name()) -> string(). fixup_app_name(Path) -> BaseName = filename:basename(Path), - case string:tokens(BaseName, "-") of + case string:split(BaseName, "-") of [Name, _Version] -> Name; Name -> Name end. diff --git a/pkgs/development/beam-modules/rebar3-release.nix b/pkgs/development/beam-modules/rebar3-release.nix index 837d0ccf15c..1ec9f244d6c 100644 --- a/pkgs/development/beam-modules/rebar3-release.nix +++ b/pkgs/development/beam-modules/rebar3-release.nix @@ -1,5 +1,5 @@ -{ stdenv, writeText, erlang, rebar3, openssl, libyaml, - pc, lib }: +{ stdenv, writeText, erlang, rebar3, openssl, + lib }: { name, version , src @@ -18,8 +18,6 @@ with stdenv.lib; let - debugInfoFlag = lib.optionalString (enableDebugInfo || erlang.debugInfo) "debug-info"; - shell = drv: stdenv.mkDerivation { name = "interactive-shell-${drv.name}"; buildInputs = [ drv ]; diff --git a/pkgs/development/compilers/abcl/default.nix b/pkgs/development/compilers/abcl/default.nix index c48b36e5aba..accedf9a7af 100644 --- a/pkgs/development/compilers/abcl/default.nix +++ b/pkgs/development/compilers/abcl/default.nix @@ -1,6 +1,5 @@ {stdenv, fetchurl, ant, jre, jdk}: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "abcl"; version = "1.5.0"; # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev) diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix index 6e3fe6c4ebf..a837c6f1e85 100644 --- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix +++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix @@ -17,7 +17,7 @@ sourcePerArch: , cairo , alsaLib , atk -, gdk_pixbuf +, gdk-pixbuf , zlib , elfutils }: @@ -35,7 +35,7 @@ let libraries = [ stdenv.cc.libc glib libxml2 ffmpeg_2 libxslt libGL - xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk_pixbuf + xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk-pixbuf atk zlib elfutils ] ++ (stdenv.lib.optionals swingSupport [ xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt @@ -72,6 +72,10 @@ let result = stdenv.mkDerivation rec { # Remove some broken manpages. rm -rf $out/man/ja* + # Remove embedded freetype to avoid problems like + # https://github.com/NixOS/nixpkgs/issues/57733 + rm $out/lib/libfreetype.so + # for backward compatibility ln -s $out $out/jre diff --git a/pkgs/development/compilers/adoptopenjdk-bin/sources.json b/pkgs/development/compilers/adoptopenjdk-bin/sources.json index 0ed3d8c0049..03febb6aa35 100644 --- a/pkgs/development/compilers/adoptopenjdk-bin/sources.json +++ b/pkgs/development/compilers/adoptopenjdk-bin/sources.json @@ -5,27 +5,27 @@ "hotspot": { "aarch64": { "build": "7", - "sha256": "95b14e954f96185d02afda1a3ab146011076a4d97b457c9333556bd5d9263c41", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.2%2B7/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.2_7.tar.gz", - "version": "11.0.2" + "sha256": "894a846600ddb0df474350037a2fb43e3343dc3606809a20c65e750580d8f2b9", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.3_7.tar.gz", + "version": "11.0.3" }, "packageType": "jdk", "vmType": "hotspot", "x86_64": { - "build": "9", - "sha256": "d02089d834f7702ac1a9776d8d0d13ee174d0656cf036c6b68b9ffb71a6f610e", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.2%2B9/OpenJDK11U-jdk_x64_linux_hotspot_11.0.2_9.tar.gz", - "version": "11.0.2" + "build": "7", + "sha256": "23cded2b43261016f0f246c85c8948d4a9b7f2d44988f75dad69723a7a526094", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz", + "version": "11.0.3" } }, "openj9": { "packageType": "jdk", "vmType": "openj9", "x86_64": { - "build": "9", - "sha256": "02de51ebe86897081f7998dd2f256e33fb8b15c70cf26715020795326cc50511", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.2%2B9/OpenJDK11U-jdk_x64_linux_openj9_11.0.2_9_openj9-0.12.0.tar.gz", - "version": "11.0.2" + "build": "7", + "sha256": "7012edd56fc958070bc4747073de14ea08eb43081eb6ea19bdbf4763186e2d17", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7_openj9-0.14.0/OpenJDK11U-jdk_x64_linux_openj9_11.0.3_7_openj9-0.14.0.tar.gz", + "version": "11.0.3" } } }, @@ -33,27 +33,27 @@ "hotspot": { "aarch64": { "build": "7", - "sha256": "b101c86948742a5a580f94596654ef7d200f629cfc1ffdded10fb6a0cbe34c34", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.2%2B7/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.2_7.tar.gz", - "version": "11.0.2" + "sha256": "de31fab70640c6d5099de5fc8fa8b4d6b484a7352fa48a9fafbdc088ca708564", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.3_7.tar.gz", + "version": "11.0.3" }, "packageType": "jre", "vmType": "hotspot", "x86_64": { - "build": "9", - "sha256": "e762e4cd50cebd1c63dee2cf0d5737016e9e057520b67761df5ad2dc7bbc7d54", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.2%2B9/OpenJDK11U-jre_x64_linux_hotspot_11.0.2_9.tar.gz", - "version": "11.0.2" + "build": "7", + "sha256": "d2df8bc799b09c8375f79bf646747afac3d933bb1f65de71d6c78e7466ff8fe4", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jre_x64_linux_hotspot_11.0.3_7.tar.gz", + "version": "11.0.3" } }, "openj9": { "packageType": "jre", "vmType": "openj9", "x86_64": { - "build": "9", - "sha256": "9c6283485a9fa07c1dca882e6427d785c9f4a99d2e49e91ccefbc6147da27343", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.2%2B9/OpenJDK11U-jre_x64_linux_openj9_11.0.2_9_openj9-0.12.0.tar.gz", - "version": "11.0.2" + "build": "7", + "sha256": "14c660294832c7b2deb2845d96dce83df677e204b4f0f1fee0052764c4a56720", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7_openj9-0.14.0/OpenJDK11U-jre_x64_linux_openj9_11.0.3_7_openj9-0.14.0.tar.gz", + "version": "11.0.3" } } } @@ -64,20 +64,20 @@ "packageType": "jdk", "vmType": "hotspot", "x86_64": { - "build": "9", - "sha256": "fffd4ed283e5cd443760a8ec8af215c8ca4d33ec5050c24c1277ba64b5b5e81a", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.2%2B9/OpenJDK11U-jdk_x64_mac_hotspot_11.0.2_9.tar.gz", - "version": "11.0.2" + "build": "7", + "sha256": "5ca2a24f1827bd7c110db99854693bf418f51ee3093c31332db5cd605278faad", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_mac_hotspot_11.0.3_7.tar.gz", + "version": "11.0.3" } }, "openj9": { "packageType": "jdk", "vmType": "openj9", "x86_64": { - "build": "9", - "sha256": "0589fea4f9012299267dd3c533417a37540a3db61ae86f411bda67195b3636f4", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.2%2B9/OpenJDK11U-jdk_x64_mac_openj9_11.0.2_9_openj9-0.12.0.tar.gz", - "version": "11.0.2" + "build": "7", + "sha256": "01045a99ff23bda354f82c0fd3fa6e8222e4a5acce7494e82495f47b30bc5e18", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7_openj9-0.14.0/OpenJDK11U-jdk_x64_mac_openj9_11.0.3_7_openj9-0.14.0.tar.gz", + "version": "11.0.3" } } }, @@ -86,20 +86,20 @@ "packageType": "jre", "vmType": "hotspot", "x86_64": { - "build": "9", - "sha256": "7e70784f7833751b63cee9e197230877a4059b178a24858261f834ea39b29fd5", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.2%2B9/OpenJDK11U-jre_x64_mac_hotspot_11.0.2_9.tar.gz", - "version": "11.0.2" + "build": "7", + "sha256": "9523b97288ff5d50e404565d346ed8ea8f19dd155092951af88d4be6b8414776", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jre_x64_mac_hotspot_11.0.3_7.tar.gz", + "version": "11.0.3" } }, "openj9": { "packageType": "jre", "vmType": "openj9", "x86_64": { - "build": "9", - "sha256": "40d70bf570b2098b381b77ae62dfddfb8cf6fc500ed539d82b78405593a9c9e5", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.2%2B9/OpenJDK11U-jre_x64_mac_openj9_11.0.2_9_openj9-0.12.0.tar.gz", - "version": "11.0.2" + "build": "7", + "sha256": "150c4065a57ec368b692276e8e3320b183ee17b402b7db07e676dff5837f0c52", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7_openj9-0.14.0/OpenJDK11U-jre_x64_mac_openj9_11.0.3_7_openj9-0.14.0.tar.gz", + "version": "11.0.3" } } } diff --git a/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix b/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix new file mode 100644 index 00000000000..305e0f202bf --- /dev/null +++ b/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix @@ -0,0 +1,64 @@ +{ stdenv, fetchFromGitHub, cargo, rustc, autoreconfHook, jdk, glib, xulrunner, zip, pkgconfig, npapi_sdk, bash, bc }: + +stdenv.mkDerivation rec { + pname = "adoptopenjdk-icedtea-web"; + + version = "1.8.3"; + + src = fetchFromGitHub { + owner = "AdoptOpenJDK"; + repo = "IcedTea-Web"; + rev = "icedtea-web-${version}"; + sha256 = "0bm5k11i2vgb54ch1bawsmjbwnqnp04saadwm2f2mggmmdc6b1qq"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig bc ]; + buildInputs = [ cargo rustc glib xulrunner zip npapi_sdk ]; + + preConfigure = '' + configureFlagsArray+=("BIN_BASH=${bash}/bin/bash") + ''; + + patches = [ ./patches/0001-make-cargo-work-with-nix-build-on-linux.patch ]; + + doCheck = true; + preCheck = '' + # Needed for the below rust-launcher tests to pass + # dirs_paths_helper::tests::check_config_files_paths + # dirs_paths_helper::tests::check_legacy_config_files_paths + + mkdir -p $HOME/.icedtea + touch $HOME/.icedtea/deployment.properties + + mkdir -p $XDG_CONFIG_HOME/icedtea-web + touch $XDG_CONFIG_HOME/icedtea-web/deployment.properties + ''; + + HOME = "/build"; + XDG_CONFIG_HOME = "/build"; + + configureFlags = [ + "--with-itw-libs=DISTRIBUTION" + "--with-jdk-home=${jdk.home}" + "--disable-docs" + ]; + + mozillaPlugin = "/lib"; + + postInstall = '' + mkdir -p $out/share/applications + cp javaws.desktop itweb-settings.desktop policyeditor.desktop $out/share/applications + ''; + + meta = { + description = "Java web browser plugin and an implementation of Java Web Start"; + longDescription = '' + A Free Software web browser plugin running applets written in the Java + programming language and an implementation of Java Web Start, originally + based on the NetX project. + ''; + homepage = https://github.com/adoptopenjdk/icedtea-web; + maintainers = with stdenv.lib.maintainers; [ wizeman ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/compilers/adoptopenjdk-icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch b/pkgs/development/compilers/adoptopenjdk-icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch new file mode 100644 index 00000000000..85cad6cf467 --- /dev/null +++ b/pkgs/development/compilers/adoptopenjdk-icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch @@ -0,0 +1,46 @@ +Subject: [PATCH] make cargo work with nix-build on linux + +--- + .cargo/config | 2 ++ + rust-launcher/Cargo.lock | 4 ++++ + rust-launcher/Cargo.toml | 7 ++++--- + 3 files changed, 10 insertions(+), 3 deletions(-) + create mode 100644 .cargo/config + create mode 100644 rust-launcher/Cargo.lock + +diff --git a/.cargo/config b/.cargo/config +new file mode 100644 +index 0000000..03ec4a2 +--- /dev/null ++++ b/.cargo/config +@@ -0,0 +1,2 @@ ++[net] ++offline=true +diff --git a/rust-launcher/Cargo.lock b/rust-launcher/Cargo.lock +new file mode 100644 +index 0000000..6055cc0 +--- /dev/null ++++ b/rust-launcher/Cargo.lock +@@ -0,0 +1,4 @@ ++[[package]] ++name = "launcher" ++version = "1.8.0" ++ +diff --git a/rust-launcher/Cargo.toml b/rust-launcher/Cargo.toml +index 61ee308..5e6e91b 100644 +--- a/rust-launcher/Cargo.toml ++++ b/rust-launcher/Cargo.toml +@@ -3,6 +3,7 @@ name = "launcher" + version = "1.8.0" + authors = ["https://icedtea.classpath.org/wiki/IcedTea-Web"] + +-[dependencies] +-[target.'cfg(windows)'.dependencies] +-dunce = "0.1.1" ++[workspace] ++# We need this too or cargo will fail. Some files seem to be copied around and ++# cargo thinks we are in a workspace, so let's exclude everything. ++exclude = ["*"] +-- +2.19.2 + diff --git a/pkgs/development/compilers/aliceml/default.nix b/pkgs/development/compilers/aliceml/default.nix index 15c51af005f..08d0005c99e 100644 --- a/pkgs/development/compilers/aliceml/default.nix +++ b/pkgs/development/compilers/aliceml/default.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation { extended with rich support for concurrent, distributed, and constraint programming. ''; - homepage = http://www.ps.uni-saarland.de/alice/; + homepage = https://www.ps.uni-saarland.de/alice/; license = stdenv.lib.licenses.mit; maintainers = [ stdenv.lib.maintainers.doublec ]; broken = true; diff --git a/pkgs/development/compilers/apache-flex-sdk/default.nix b/pkgs/development/compilers/apache-flex-sdk/default.nix index e8759ec073b..ed6b2b2ff24 100644 --- a/pkgs/development/compilers/apache-flex-sdk/default.nix +++ b/pkgs/development/compilers/apache-flex-sdk/default.nix @@ -7,11 +7,11 @@ let sha256 = "0qw2bgls8qsmp80j8vpd4c7s0c8anlrk0ac8z42w89bajcdbwk2f"; }; in stdenv.mkDerivation rec { - name = "apache-flex-sdk-${version}"; + pname = "apache-flex-sdk"; version = "4.16.1"; src = fetchurl { - url = "https://www.apache.org/dist/flex/${version}/binaries/${name}-bin.tar.gz"; + url = "https://www.apache.org/dist/flex/${version}/binaries/${pname}-${version}-bin.tar.gz"; sha256 = "13iq16dqvgcpb0p35x66hzxsq5pkbr2lbwr766nnqiryinnagz8p"; }; diff --git a/pkgs/development/compilers/arachne-pnr/default.nix b/pkgs/development/compilers/arachne-pnr/default.nix index 345bd125025..3058e926c3f 100644 --- a/pkgs/development/compilers/arachne-pnr/default.nix +++ b/pkgs/development/compilers/arachne-pnr/default.nix @@ -3,11 +3,11 @@ with builtins; stdenv.mkDerivation rec { - name = "arachne-pnr-${version}"; - version = "2018.09.08"; + pname = "arachne-pnr"; + version = "2018.09.09"; src = fetchFromGitHub { - owner = "cseed"; + owner = "yosyshq"; repo = "arachne-pnr"; rev = "840bdfdeb38809f9f6af4d89dd7b22959b176fdd"; sha256 = "1dqvjvgvsridybishv4pnigw9gypxh7r7nrqp9z9qq92v7c5rxzl"; diff --git a/pkgs/development/compilers/as31/default.nix b/pkgs/development/compilers/as31/default.nix index 519992fd8c2..b70fde00e15 100644 --- a/pkgs/development/compilers/as31/default.nix +++ b/pkgs/development/compilers/as31/default.nix @@ -5,7 +5,8 @@ let version = "2.3.1"; in stdenv.mkDerivation { - name = "as31-${version}"; + pname = "as31"; + inherit version; src = fetchurl { name = "as31-${version}.tar.gz"; # Nix doesn't like the colons in the URL url = "http://wiki.erazor-zone.de/_media/wiki:projects:linux:as31:as31-${version}.tar.gz"; diff --git a/pkgs/development/compilers/asn1c/default.nix b/pkgs/development/compilers/asn1c/default.nix index ce754813dda..3cbb7577f34 100644 --- a/pkgs/development/compilers/asn1c/default.nix +++ b/pkgs/development/compilers/asn1c/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, perl }: stdenv.mkDerivation rec { - name = "asn1c-${version}"; + pname = "asn1c"; version = "0.9.28"; src = fetchurl { diff --git a/pkgs/development/compilers/aspectj/default.nix b/pkgs/development/compilers/aspectj/default.nix index f9e79226033..4b216761259 100644 --- a/pkgs/development/compilers/aspectj/default.nix +++ b/pkgs/development/compilers/aspectj/default.nix @@ -16,5 +16,6 @@ stdenv.mkDerivation rec { homepage = http://www.eclipse.org/aspectj/; description = "A seamless aspect-oriented extension to the Java programming language"; platforms = stdenv.lib.platforms.unix; + license = stdenv.lib.licenses.epl10; }; } diff --git a/pkgs/development/compilers/ats/default.nix b/pkgs/development/compilers/ats/default.nix index 002f34daa13..f086c36468d 100644 --- a/pkgs/development/compilers/ats/default.nix +++ b/pkgs/development/compilers/ats/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, gmp }: stdenv.mkDerivation rec { - name = "ats-${version}"; + pname = "ats"; version = "0.2.12"; src = fetchurl { diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix index df61ea2b791..a1e5927e349 100644 --- a/pkgs/development/compilers/ats2/default.nix +++ b/pkgs/development/compilers/ats2/default.nix @@ -26,7 +26,7 @@ let in stdenv.mkDerivation rec { - name = "ats2-${version}"; + pname = "ats2"; version = versionPkg; src = fetchurl { diff --git a/pkgs/development/compilers/avian/default.nix b/pkgs/development/compilers/avian/default.nix index 387ae906b88..34d1e64c484 100644 --- a/pkgs/development/compilers/avian/default.nix +++ b/pkgs/development/compilers/avian/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, zlib, jdk, CoreServices, Foundation }: stdenv.mkDerivation rec { - name = "avian-${version}"; + pname = "avian"; version = "1.2.0"; src = fetchFromGitHub { diff --git a/pkgs/development/compilers/bigloo/default.nix b/pkgs/development/compilers/bigloo/default.nix index bf2272a75c1..6e768e65091 100644 --- a/pkgs/development/compilers/bigloo/default.nix +++ b/pkgs/development/compilers/bigloo/default.nix @@ -1,7 +1,7 @@ { fetchurl, stdenv, gmp }: stdenv.mkDerivation rec { - name = "bigloo-${version}"; + pname = "bigloo"; version = "4.1a-2"; src = fetchurl { diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix index fc75fe92c73..c0e6c4b5004 100644 --- a/pkgs/development/compilers/binaryen/default.nix +++ b/pkgs/development/compilers/binaryen/default.nix @@ -1,12 +1,12 @@ -{ stdenv, cmake, fetchFromGitHub, emscriptenRev ? null }: +{ stdenv, cmake, python, fetchFromGitHub, emscriptenRev ? null }: let - defaultVersion = "45"; + defaultVersion = "89"; # Map from git revs to SHA256 hashes sha256s = { - "version_45" = "1wgzfzjjzkiaz0rf2lnwrcvlcsjvjhyvbyh58jxhqq43vi34zyjc"; - "1.37.36" = "1wgzfzjjzkiaz0rf2lnwrcvlcsjvjhyvbyh58jxhqq43vi34zyjc"; + "version_89" = "0rh1dq33ilq54szfgi1ajaiaj7rbylai02rhp9zm9vpwp0rw8mij"; + "1.38.28" = "172s7y5f38736ic8ri3mnbdqcrkadd40a26cxcfwbscc53phl11v"; }; in @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { rev = if emscriptenRev == null then "version_${version}" else emscriptenRev; - name = "binaryen-${version}"; + pname = "binaryen"; src = fetchFromGitHub { owner = "WebAssembly"; @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { inherit rev; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake python ]; meta = with stdenv.lib; { homepage = https://github.com/WebAssembly/binaryen; diff --git a/pkgs/development/compilers/bupc/default.nix b/pkgs/development/compilers/bupc/default.nix index f22549d06e6..ad10845e98c 100644 --- a/pkgs/development/compilers/bupc/default.nix +++ b/pkgs/development/compilers/bupc/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { parallelism is fixed at program startup time, typically with a single thread of execution per processor. ''; - homepage = http://upc.lbl.gov/; + homepage = https://upc.lbl.gov/; license = licenses.mit; platforms = with platforms; [ linux ]; maintainers = with maintainers; [ zimbatm ]; diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix index ae6af8dd4b4..6fac183125f 100644 --- a/pkgs/development/compilers/ccl/default.nix +++ b/pkgs/development/compilers/ccl/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, bootstrap_cmds, coreutils, glibc, m4 }: +{ stdenv, fetchurl, bootstrap_cmds, coreutils, glibc, m4, runtimeShell }: let options = rec { @@ -33,7 +33,7 @@ let in stdenv.mkDerivation rec { - name = "ccl-${version}"; + pname = "ccl"; version = "1.11.5"; src = fetchurl { @@ -76,7 +76,7 @@ stdenv.mkDerivation rec { cp -r . "$out/share/ccl-installation" mkdir -p "$out/bin" - echo -e '#!${stdenv.shell}\n'"$out/share/ccl-installation/${CCL_RUNTIME}"' "$@"\n' > "$out"/bin/"${CCL_RUNTIME}" + echo -e '#!${runtimeShell}\n'"$out/share/ccl-installation/${CCL_RUNTIME}"' "$@"\n' > "$out"/bin/"${CCL_RUNTIME}" chmod a+x "$out"/bin/"${CCL_RUNTIME}" ln -s "$out"/bin/"${CCL_RUNTIME}" "$out"/bin/ccl ''; diff --git a/pkgs/development/compilers/chez/default.nix b/pkgs/development/compilers/chez/default.nix index 5b02aed274f..1bac7eb9b95 100644 --- a/pkgs/development/compilers/chez/default.nix +++ b/pkgs/development/compilers/chez/default.nix @@ -1,18 +1,22 @@ -{ stdenv, fetchgit, coreutils, cctools, ncurses, libiconv, libX11 }: +{ stdenv, fetchFromGitHub +, coreutils, cctools +, ncurses, libiconv, libX11, libuuid +}: stdenv.mkDerivation rec { - name = "chez-scheme-${version}"; - version = "9.5.1"; + pname = "chez-scheme"; + version = "9.5.2"; - src = fetchgit { - url = "https://github.com/cisco/chezscheme.git"; - rev = "bc117fd4d567a6863689fec6814882a0f04e577a"; - sha256 = "1adzw7bgdz0p4xmccc6awdkb7bp6xba9mnlsh3r3zvblqfci8i70"; + src = fetchFromGitHub { + owner = "cisco"; + repo = "ChezScheme"; + rev = "refs/tags/v${version}"; + sha256 = "1gsjmsvsj31q5l9bjvm869y7bakrvl41yq94vyqdx8zwcr1bmpjf"; fetchSubmodules = true; }; nativeBuildInputs = [ coreutils ] ++ stdenv.lib.optional stdenv.isDarwin cctools; - buildInputs = [ ncurses libiconv libX11 ]; + buildInputs = [ ncurses libiconv libX11 libuuid ]; enableParallelBuilding = true; @@ -49,41 +53,22 @@ stdenv.mkDerivation rec { ** for. */ configurePhase = '' - ./configure --threads \ - --installprefix=$out --installman=$out/share/man \ - --workarea=work + ./configure --threads --installprefix=$out --installman=$out/share/man ''; /* - ** Install the kernel.o file, so we can compile C applications that - ** link directly to the Chez runtime (for booting their own files, or - ** embedding.) - ** - ** Ideally in the future this would be less of a hack and could be - ** done by Chez itself. Alternatively, there could just be a big - ** case statement matching to the different stdenv.hostPlatform.platform - ** values... + ** Clean up some of the examples from the build output. */ postInstall = '' - m="$(ls ./work/boot)" - if [ "x''${m[1]}" != "x" ]; then - >&2 echo "ERROR: more than one bootfile build found; this is a nixpkgs error" - exit 1 - fi - - kernel=./work/boot/$m/kernel.o - kerneldest=$out/lib/csv${version}/$m/ - - echo installing $kernel to $kerneldest - cp $kernel $kerneldest/kernel.o + rm -rf $out/lib/csv${version}/examples ''; meta = { - description = "A powerful and incredibly fast R6RS Scheme compiler"; - homepage = https://cisco.github.io/ChezScheme/; - license = stdenv.lib.licenses.asl20; - platforms = stdenv.lib.platforms.unix; + description = "A powerful and incredibly fast R6RS Scheme compiler"; + homepage = https://cisco.github.io/ChezScheme/; + license = stdenv.lib.licenses.asl20; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice ]; + platforms = stdenv.lib.platforms.unix; badPlatforms = [ "aarch64-linux" ]; - maintainers = with stdenv.lib.maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/development/compilers/chicken/4/chicken.nix b/pkgs/development/compilers/chicken/4/chicken.nix index ceeff56330b..34512fc8ef0 100644 --- a/pkgs/development/compilers/chicken/4/chicken.nix +++ b/pkgs/development/compilers/chicken/4/chicken.nix @@ -11,7 +11,8 @@ let lib = stdenv.lib; in stdenv.mkDerivation { - name = "chicken-${version}"; + pname = "chicken"; + inherit version; binaryVersion = 8; diff --git a/pkgs/development/compilers/chicken/5/chicken.nix b/pkgs/development/compilers/chicken/5/chicken.nix index ff0faf40839..5fefce12dbf 100644 --- a/pkgs/development/compilers/chicken/5/chicken.nix +++ b/pkgs/development/compilers/chicken/5/chicken.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, makeWrapper, bootstrap-chicken ? null }: let - version = "5.0.0"; + version = "5.1.0"; platform = with stdenv; if isDarwin then "macosx" else if isCygwin then "cygwin" @@ -11,19 +11,20 @@ let lib = stdenv.lib; in stdenv.mkDerivation { - name = "chicken-${version}"; + pname = "chicken"; + inherit version; - binaryVersion = 9; + binaryVersion = 11; src = fetchurl { url = "https://code.call-cc.org/releases/${version}/chicken-${version}.tar.gz"; - sha256 = "15b5yrzfa8aimzba79x7v6y282f898rxqxfxrr446sjx9jwlpfd8"; + sha256 = "0jsbp3kp0134f318j3wpd1n85gf8qzh034fn198gvazsv2l024aw"; }; setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh; - buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib"; - installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib"; + buildFlags = "PLATFORM=${platform} PREFIX=$(out)"; + installFlags = "PLATFORM=${platform} PREFIX=$(out)"; buildInputs = [ makeWrapper @@ -37,10 +38,6 @@ stdenv.mkDerivation { wrapProgram $f \ --prefix PATH : ${stdenv.cc}/bin done - - mv $out/var/lib/chicken $out/lib - rmdir $out/var/lib - rmdir $out/var ''; # TODO: Assert csi -R files -p '(pathname-file (repository-path))' == binaryVersion diff --git a/pkgs/development/compilers/chicken/5/eggs.nix b/pkgs/development/compilers/chicken/5/eggs.nix index 04f7551f32d..a8e3ee5976e 100644 --- a/pkgs/development/compilers/chicken/5/eggs.nix +++ b/pkgs/development/compilers/chicken/5/eggs.nix @@ -33,12 +33,12 @@ rec { }; srfi-1 = eggDerivation { - name = "srfi-1-0.5"; + name = "srfi-1-0.5.1"; src = fetchegg { name = "srfi-1"; - version = "0.5"; - sha256 = "0gh1h406xbxwm5gvc5znc93nxp9xjbhyqf7zzga08k5y6igxrlvk"; + version = "0.5.1"; + sha256 = "15x0ajdkw5gb3vgs8flzh5g0pzl3wmcpf11iimlm67mw6fxc8p7j"; }; buildInputs = [ @@ -47,12 +47,12 @@ rec { }; srfi-13 = eggDerivation { - name = "srfi-13-0.2"; + name = "srfi-13-0.2.1"; src = fetchegg { name = "srfi-13"; - version = "0.2"; - sha256 = "0jazbdnn9bjm7wwxqq7xzqxc9zfvaapq565rf1czj6ayl96yvk3n"; + version = "0.2.1"; + sha256 = "0204i7fhc4dy0l89lbi2lv9cjndrvwyrk68z3wy7x445jb4ky1gq"; }; buildInputs = [ @@ -61,12 +61,12 @@ rec { }; srfi-14 = eggDerivation { - name = "srfi-14-0.2"; + name = "srfi-14-0.2.1"; src = fetchegg { name = "srfi-14"; - version = "0.2"; - sha256 = "13nm4nn1d52nkvhjizy26z3s6q41x1ml4zm847xzf86x1zwvymni"; + version = "0.2.1"; + sha256 = "0gc33cx4xll9vsf7fm8jvn3gc0604kn3bbi6jfn6xscqp86kqb9p"; }; buildInputs = [ diff --git a/pkgs/development/compilers/chicken/5/setup-hook.sh b/pkgs/development/compilers/chicken/5/setup-hook.sh index 2447aeb0cea..f5ebaaf638e 100644 --- a/pkgs/development/compilers/chicken/5/setup-hook.sh +++ b/pkgs/development/compilers/chicken/5/setup-hook.sh @@ -1,5 +1,5 @@ addChickenRepositoryPath() { - addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_PATH "$1/lib/chicken/9/" + addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_PATH "$1/lib/chicken/11/" addToSearchPathWithCustomDelimiter : CHICKEN_INCLUDE_PATH "$1/share/" } diff --git a/pkgs/development/compilers/clasp/default.nix b/pkgs/development/compilers/clasp/default.nix index a1e29951ddb..664d8492113 100644 --- a/pkgs/development/compilers/clasp/default.nix +++ b/pkgs/development/compilers/clasp/default.nix @@ -56,7 +56,6 @@ let }; in stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "clasp"; version = "0.8.99.20181128"; diff --git a/pkgs/development/compilers/closure/default.nix b/pkgs/development/compilers/closure/default.nix index 5c4d276ab97..d9f2a588d8f 100644 --- a/pkgs/development/compilers/closure/default.nix +++ b/pkgs/development/compilers/closure/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, jre, makeWrapper }: stdenv.mkDerivation rec { - name = "closure-compiler-${version}"; - version = "20190121"; + pname = "closure-compiler"; + version = "20190215"; src = fetchurl { url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz"; - sha256 = "1jxxj3a1pbf7bbqs0rkqk28ii1r3w2va4iis8fffx8zfvbgncwyc"; + sha256 = "16rpl7x90ganpxlz6v9292cwx7dnkhklqx1nn161yj7ypf9bzd4k"; }; sourceRoot = "."; diff --git a/pkgs/development/compilers/cmdstan/default.nix b/pkgs/development/compilers/cmdstan/default.nix index 3d9fe3a59cf..dab724ea607 100644 --- a/pkgs/development/compilers/cmdstan/default.nix +++ b/pkgs/development/compilers/cmdstan/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python }: +{ stdenv, fetchurl, python, runtimeShell }: stdenv.mkDerivation rec { name = "cmdstan-2.17.1"; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { ln -s $out/opt/cmdstan/bin/stanc $out/bin/stanc ln -s $out/opt/cmdstan/bin/stansummary $out/bin/stansummary cat > $out/bin/stan <> $out/nix-support/setup-hook + '' + '' + runHook postInstall + ''; + + postInstall = '' + for b in nvvp nsight; do + wrapProgram "$out/bin/$b" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" + done ''; preFixup = '' @@ -134,10 +144,40 @@ let else rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64 fi - patchelf --set-rpath $rpath2 --force-rpath $i + patchelf --set-rpath "$rpath2" --force-rpath $i done < <(find $out $lib $doc -type f -print0) ''; + # Set RPATH so that libcuda and other libraries in + # /run/opengl-driver(-32)/lib can be found. See the explanation in + # addOpenGLRunpath. Don't try to figure out which libraries really need + # it, just patch all (but not the stubs libraries). Note that + # --force-rpath prevents changing RPATH (set above) to RUNPATH. + postFixup = '' + addOpenGLRunpath --force-rpath {$out,$lib}/lib/lib*.so + ''; + + # cuda-gdb doesn't run correctly when not using sandboxing, so + # temporarily disabling the install check. This should be set to true + # when we figure out how to get `cuda-gdb --version` to run correctly + # when not using sandboxing. + doInstallCheck = false; + postInstallCheck = let + in '' + # Smoke test binaries + pushd $out/bin + for f in *; do + case $f in + crt) continue;; + nvcc.profile) continue;; + nsight_ee_plugins_manage.sh) continue;; + uninstall_cuda_toolkit_6.5.pl) continue;; + computeprof|nvvp|nsight) continue;; # GUIs don't feature "--version" + *) echo "Executing '$f --version':"; ./$f --version;; + esac + done + popd + ''; passthru = { cc = gcc; majorVersion = @@ -199,6 +239,24 @@ in rec { version = "9.0.176.1"; url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run"; sha256 = "0308rmmychxfa4inb1ird9bpgfppgr9yrfg1qp0val5azqik91ln"; + runPatches = [ + (fetchurl { + url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/1/cuda_9.0.176.1_linux-run"; + sha256 = "1vbqg97pq9z9c8nqvckiwmq3ljm88m7gaizikzxbvz01izh67gx4"; + }) + (fetchurl { + url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/2/cuda_9.0.176.2_linux-run"; + sha256 = "1sz5dijbx9yf7drfipdxav5a5g6sxy4w6vi9xav0lb6m2xnmyd7c"; + }) + (fetchurl { + url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/3/cuda_9.0.176.3_linux-run"; + sha256 = "1jm83bxpscpjhzs5q3qijdgjm0r8qrdlgkj7y08fq8c0v8q2r7j2"; + }) + (fetchurl { + url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/4/cuda_9.0.176.4_linux-run"; + sha256 = "0pymg3mymsa2n48y0njz3spzlkm15lvjzw8fms1q83zslz4x0lwk"; + }) + ]; gcc = gcc6; }; diff --git a/pkgs/development/compilers/dale/default.nix b/pkgs/development/compilers/dale/default.nix index 8bae6e2363f..128c245d277 100644 --- a/pkgs/development/compilers/dale/default.nix +++ b/pkgs/development/compilers/dale/default.nix @@ -11,7 +11,8 @@ let version = "20170519"; in stdenv.mkDerivation { - name = "dale-${version}"; + pname = "dale"; + inherit version; src = fetchFromGitHub { owner = "tomhrr"; diff --git a/pkgs/development/compilers/dev86/default.nix b/pkgs/development/compilers/dev86/default.nix index 514075651e1..839ee821d00 100644 --- a/pkgs/development/compilers/dev86/default.nix +++ b/pkgs/development/compilers/dev86/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "dev86-${version}"; + pname = "dev86"; version = "0.16.21"; src = fetchurl { diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix index 3ab25c3a830..332ded31df6 100644 --- a/pkgs/development/compilers/dmd/default.nix +++ b/pkgs/development/compilers/dmd/default.nix @@ -1,199 +1,154 @@ -{ stdenv, fetchFromGitHub -, makeWrapper, unzip, which +{ stdenv, lib, fetchFromGitHub +, makeWrapper, unzip, which, writeTextFile , curl, tzdata, gdb, darwin, git -, callPackage, targetPackages, ldc -, version ? "2.084.0" -, dmdSha256 ? "1v61spdamncl8c1bzjc19b03p4jl0ih5zq9b7cqsy9ix7qaxmikf" -, druntimeSha256 ? "0vp414j6s11l9s54v81np49mv60ywmd7nnk41idkbwrq0nz4sfrq" -, phobosSha256 ? "1wp7z1x299b0w9ny1ah2wrfhrs05vc4bk51csgw9774l3dqcnv53" +, targetPackages, ldc +, version ? "2.085.1" +, dmdSha256 ? "0ccidfcawrcwdpfjwjiln5xwr4ffp8i2hwx52p8zn3xmc5yxm660" +, druntimeSha256 ? "109f2glsqrlshk06761xlw4r5v22mivp873cq9g5gcax3g00k617" +, phobosSha256 ? "0giispqqx8j8xg6c0hm7nx77bcahiwic8rvf12sws3sv5pizv8pr" }: let - dmdBuild = stdenv.mkDerivation rec { - name = "dmdBuild-${version}"; - inherit version; - - enableParallelBuilding = true; - - srcs = [ - (fetchFromGitHub { - owner = "dlang"; - repo = "dmd"; - rev = "v${version}"; - sha256 = dmdSha256; - name = "dmd"; - }) - (fetchFromGitHub { - owner = "dlang"; - repo = "druntime"; - rev = "v${version}"; - sha256 = druntimeSha256; - name = "druntime"; - }) - (fetchFromGitHub { - owner = "dlang"; - repo = "phobos"; - rev = "v${version}"; - sha256 = phobosSha256; - name = "phobos"; - }) - ]; - - sourceRoot = "."; - - # https://issues.dlang.org/show_bug.cgi?id=19553 - hardeningDisable = [ "fortify" ]; - - postUnpack = '' - patchShebangs . - ''; - - postPatch = '' - substituteInPlace dmd/test/compilable/extra-files/ddocYear.html \ - --replace "2018" "__YEAR__" - - substituteInPlace dmd/test/runnable/test16096.sh \ - --replace "{EXT}" "{EXE}" - ''; - - nativeBuildInputs = [ ldc makeWrapper unzip which gdb git ] - - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - Foundation - ]); - - buildInputs = [ curl tzdata ]; - - bits = builtins.toString stdenv.hostPlatform.parsed.cpu.bits; - osname = if stdenv.hostPlatform.isDarwin then - "osx" - else - stdenv.hostPlatform.parsed.kernel.name; - top = "$(echo $NIX_BUILD_TOP)"; - pathToDmd = "${top}/dmd/generated/${osname}/release/${bits}/dmd"; - - # Buid and install are based on http://wiki.dlang.org/Building_DMD - buildPhase = '' - cd dmd - make -j$NIX_BUILD_CORES -f posix.mak INSTALL_DIR=$out BUILD=release ENABLE_RELEASE=1 PIC=1 HOST_DMD=ldmd2 - cd ../druntime - make -j$NIX_BUILD_CORES -f posix.mak BUILD=release ENABLE_RELEASE=1 PIC=1 INSTALL_DIR=$out DMD=${pathToDmd} - cd ../phobos - echo ${tzdata}/share/zoneinfo/ > TZDatabaseDirFile - echo ${curl.out}/lib/libcurl.so > LibcurlPathFile - make -j$NIX_BUILD_CORES -f posix.mak BUILD=release ENABLE_RELEASE=1 PIC=1 INSTALL_DIR=$out DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$(pwd)" - cd .. - ''; - - # Disable tests on Darwin for now because of - # https://github.com/NixOS/nixpkgs/issues/41099 - doCheck = true; - - checkPhase = '' - cd dmd - make -j$NIX_BUILD_CORES -C test -f Makefile PIC=1 CC=$CXX DMD=${pathToDmd} BUILD=release SHARED=0 SHELL=$SHELL - cd ../druntime - make -j$NIX_BUILD_CORES -f posix.mak unittest PIC=1 DMD=${pathToDmd} BUILD=release - cd .. - ''; - - dontStrip = true; - - installPhase = '' - cd dmd - mkdir $out - mkdir $out/bin - cp ${pathToDmd} $out/bin - - mkdir -p $out/share/man/man1 - mkdir -p $out/share/man/man5 - cp -r docs/man/man1/* $out/share/man/man1/ - cp -r docs/man/man5/* $out/share/man/man5/ - - cd ../druntime - mkdir $out/include - mkdir $out/include/d2 - cp -r import/* $out/include/d2 - - cd ../phobos - mkdir $out/lib - cp generated/${osname}/release/${bits}/libphobos2.* $out/lib - - cp -r std $out/include/d2 - cp -r etc $out/include/d2 - - wrapProgram $out/bin/dmd \ - --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \ - --set-default CC "${targetPackages.stdenv.cc}/bin/cc" - - cd $out/bin - tee dmd.conf << EOF - [Environment] - DFLAGS=-I$out/include/d2 -L-L$out/lib ${stdenv.lib.optionalString (!targetPackages.stdenv.cc.isClang) "-L--export-dynamic"} -fPIC - EOF - ''; - - meta = with stdenv.lib; { - description = "Official reference compiler for the D language"; - homepage = http://dlang.org/; - # Everything is now Boost licensed, even the backend. - # https://github.com/dlang/dmd/pull/6680 - license = licenses.boost; - maintainers = with maintainers; [ ThomasMader ]; - platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; - }; + dmdConfFile = writeTextFile { + name = "dmd.conf"; + text = (lib.generators.toINI {} { + "Environment" = { + DFLAGS = ''-I@out@/include/dmd -L-L@out@/lib -fPIC ${stdenv.lib.optionalString (!targetPackages.stdenv.cc.isClang) "-L--export-dynamic"}''; + }; + }); }; - # Need to test Phobos in a fixed-output derivation, otherwise the - # network stuff in Phobos would fail if sandbox mode is enabled. - # - # Disable tests on Darwin for now because of - # https://github.com/NixOS/nixpkgs/issues/41099 - phobosUnittests = if !stdenv.hostPlatform.isDarwin then - stdenv.mkDerivation rec { - name = "phobosUnittests-${version}"; - version = dmdBuild.version; - - enableParallelBuilding = dmdBuild.enableParallelBuilding; - preferLocalBuild = true; - inputString = dmdBuild.outPath; - outputHashAlgo = "sha256"; - outputHash = builtins.hashString "sha256" inputString; - - srcs = dmdBuild.srcs; - - sourceRoot = "."; - - nativeBuildInputs = dmdBuild.nativeBuildInputs; - buildInputs = dmdBuild.buildInputs; - - buildPhase = '' - cd phobos - echo ${tzdata}/share/zoneinfo/ > TZDatabaseDirFile - echo ${curl.out}/lib/libcurl.so > LibcurlPathFile - make -j$NIX_BUILD_CORES -f posix.mak unittest BUILD=release ENABLE_RELEASE=1 PIC=1 DMD=${dmdBuild}/bin/dmd DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$(pwd)" - ''; - - installPhase = '' - echo -n $inputString > $out - ''; - } - else - ""; - in stdenv.mkDerivation rec { - inherit phobosUnittests; - name = "dmd-${version}"; - phases = "installPhase"; - buildInputs = dmdBuild.buildInputs; + pname = "dmd"; + inherit version; + + enableParallelBuilding = true; + + srcs = [ + (fetchFromGitHub { + owner = "dlang"; + repo = "dmd"; + rev = "v${version}"; + sha256 = dmdSha256; + name = "dmd"; + }) + (fetchFromGitHub { + owner = "dlang"; + repo = "druntime"; + rev = "v${version}"; + sha256 = druntimeSha256; + name = "druntime"; + }) + (fetchFromGitHub { + owner = "dlang"; + repo = "phobos"; + rev = "v${version}"; + sha256 = phobosSha256; + name = "phobos"; + }) + ]; + + patchFlags = [ "--directory=dmd" "-p1" ]; + + sourceRoot = "."; + + # https://issues.dlang.org/show_bug.cgi?id=19553 + hardeningDisable = [ "fortify" ]; + + postUnpack = '' + patchShebangs . + ''; + + postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace phobos/std/socket.d --replace "assert(ih.addrList[0] == 0x7F_00_00_01);" "" + '' + + + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace phobos/std/socket.d --replace "foreach (name; names)" "names = []; foreach (name; names)" + ''; + + nativeBuildInputs = [ ldc makeWrapper unzip which gdb git ] + + ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ + Foundation + ]); + + buildInputs = [ curl tzdata ]; + + bits = builtins.toString stdenv.hostPlatform.parsed.cpu.bits; + osname = if stdenv.hostPlatform.isDarwin then + "osx" + else + stdenv.hostPlatform.parsed.kernel.name; + top = "$(echo $NIX_BUILD_TOP)"; + pathToDmd = "${top}/dmd/generated/${osname}/release/${bits}/dmd"; + + # Buid and install are based on http://wiki.dlang.org/Building_DMD + buildPhase = '' + cd dmd + make -j$NIX_BUILD_CORES -f posix.mak INSTALL_DIR=$out BUILD=release ENABLE_RELEASE=1 PIC=1 HOST_DMD=ldmd2 + cd ../druntime + make -j$NIX_BUILD_CORES -f posix.mak BUILD=release ENABLE_RELEASE=1 PIC=1 INSTALL_DIR=$out DMD=${pathToDmd} + cd ../phobos + echo ${tzdata}/share/zoneinfo/ > TZDatabaseDirFile + echo ${curl.out}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > LibcurlPathFile + make -j$NIX_BUILD_CORES -f posix.mak BUILD=release ENABLE_RELEASE=1 PIC=1 INSTALL_DIR=$out DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$(pwd)" + cd .. + ''; + + doCheck = true; + + checkPhase = '' + cd dmd + make -j$NIX_BUILD_CORES -C test -f Makefile PIC=1 CC=$CXX DMD=${pathToDmd} BUILD=release SHELL=$SHELL + cd ../druntime + make -j$NIX_BUILD_CORES -f posix.mak unittest PIC=1 DMD=${pathToDmd} BUILD=release + cd ../phobos + make -j$NIX_BUILD_CORES -f posix.mak unittest BUILD=release ENABLE_RELEASE=1 PIC=1 DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$(pwd)" + cd .. + ''; installPhase = '' - mkdir $out - cp -r --symbolic-link ${dmdBuild}/* $out/ + cd dmd + mkdir $out + mkdir $out/bin + cp ${pathToDmd} $out/bin + + mkdir -p $out/share/man/man1 + mkdir -p $out/share/man/man5 + cp -r docs/man/man1/* $out/share/man/man1/ + cp -r docs/man/man5/* $out/share/man/man5/ + + cd ../druntime + mkdir $out/include + mkdir $out/include/dmd + cp -r import/* $out/include/dmd + + cd ../phobos + mkdir $out/lib + cp generated/${osname}/release/${bits}/libphobos2.* $out/lib + + cp -r std $out/include/dmd + cp -r etc $out/include/dmd + + wrapProgram $out/bin/dmd \ + --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \ + --set-default CC "${targetPackages.stdenv.cc}/bin/cc" + + substitute ${dmdConfFile} "$out/bin/dmd.conf" --subst-var out ''; - meta = dmdBuild.meta; + + meta = with stdenv.lib; { + description = "Official reference compiler for the D language"; + homepage = http://dlang.org/; + # Everything is now Boost licensed, even the backend. + # https://github.com/dlang/dmd/pull/6680 + license = licenses.boost; + maintainers = with maintainers; [ ThomasMader ]; + platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; + }; } diff --git a/pkgs/development/compilers/dotnet/sdk/default.nix b/pkgs/development/compilers/dotnet/sdk/default.nix index 4e8ab34b101..984ab39c91a 100644 --- a/pkgs/development/compilers/dotnet/sdk/default.nix +++ b/pkgs/development/compilers/dotnet/sdk/default.nix @@ -12,27 +12,23 @@ let rpath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libunwind libuuid icu openssl zlib curl ]; in stdenv.mkDerivation rec { - version = "2.2.103"; - netCoreVersion = "2.2.1"; - name = "dotnet-sdk-${version}"; + version = "2.2.401"; + netCoreVersion = "2.2.6"; + pname = "dotnet-sdk"; src = fetchurl { - url = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/dotnet-sdk-${version}-linux-x64.tar.gz"; + url = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-linux-x64.tar.gz"; # use sha512 from the download page - sha512 = "777AC6DCD0200BA447392E451A1779F0FBFA548BD620A7BBA3EEBDF35892236C3F10B19FF81D4F64B5BC134923CB47F9CC45EE6B004140E1249582249944DB69"; + sha512 = "05w3zk7bcd8sv3k4kplf20j906and2006g1fggq7y6kaxrlhdnpd6jhy6idm8v5bz48wfxga5b4yys9qx0fp3p8yl7wi67qljpzrq88"; }; - unpackPhase = '' - mkdir src - cd src - tar xvzf $src - ''; + sourceRoot = "."; buildPhase = '' runHook preBuild - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./dotnet + patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" ./dotnet patchelf --set-rpath "${rpath}" ./dotnet - find -type f -name "*.so" -exec patchelf --set-rpath "${rpath}" {} \; + find -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \; echo -n "dotnet-sdk version: " ./dotnet --version runHook postBuild diff --git a/pkgs/development/compilers/dtc/default.nix b/pkgs/development/compilers/dtc/default.nix index 9cc60003201..ea305cc5c84 100644 --- a/pkgs/development/compilers/dtc/default.nix +++ b/pkgs/development/compilers/dtc/default.nix @@ -1,25 +1,18 @@ -{ stdenv, fetchgit, fetchpatch, flex, bison, pkgconfig, python2, swig, which }: +{ stdenv, fetchgit, flex, bison, pkgconfig, python2, swig, which }: stdenv.mkDerivation rec { pname = "dtc"; - version = "1.4.7"; + version = "1.5.0"; src = fetchgit { url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git"; rev = "refs/tags/v${version}"; - sha256 = "0l787g1wmd4d6izsp91m5r2qms2h2jg2hhzllfi9qkbnplyz21wn"; + sha256 = "075gj8bbahfdb8dlif3d2dpzjrkyf3bwbcmx96zpwhlgs0da8jxh"; }; nativeBuildInputs = [ flex bison pkgconfig swig which ]; buildInputs = [ python2 ]; - patches = [ - # Fix setup.py - (fetchpatch { - url = "https://github.com/dezgeg/dtc/commit/d94a745148ba5c9198143ccc0f7d877fe498ab73.patch"; - sha256 = "0hpryx04j1swvmjisrfhvss08zzz4nxz9iv72lp4jdgg6vg0argl"; - }) - ]; postPatch = '' patchShebangs pylibfdt/ ''; diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix index 809fc6a4cf1..2a90902df1e 100644 --- a/pkgs/development/compilers/edk2/default.nix +++ b/pkgs/development/compilers/edk2/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchFromGitHub, fetchpatch, libuuid, python2, iasl }: +{ stdenv, fetchgit, fetchpatch, libuuid, python3, iasl, bc }: let - pythonEnv = python2.withPackages(ps: [ps.tkinter]); + pythonEnv = python3.withPackages (ps: [ps.tkinter]); targetArch = if stdenv.isi686 then "IA32" @@ -13,80 +13,67 @@ else throw "Unsupported architecture"; edk2 = stdenv.mkDerivation { - name = "edk2-2017-12-05"; + pname = "edk2"; + version = "201905"; - src = fetchFromGitHub { - owner = "tianocore"; - repo = "edk2"; - rev = "f71a70e7a4c93a6143d7bad8ab0220a947679697"; - sha256 = "0k48xfwxcgcim1bhkggc19hilvsxsf5axvvcpmld0ng1fcfg0cr6"; + # submodules + src = fetchgit { + url = "https://github.com/tianocore/edk2"; + rev = "edk2-stable${edk2.version}"; + sha256 = "0fk40h4nj4qg8shg0yd1zj4iyspslms5fx95ysi04akv90k5sqkn"; }; - patches = [ - (fetchpatch { - name = "short-circuit-the-transfer-of-an-empty-S3_CONTEXT.patch"; - url = "https://github.com/tianocore/edk2/commit/9e2a8e928995c3b1bb664b73fd59785055c6b5f6.diff"; - sha256 = "0x24npijhgpjpsn3n74wayf8qcbaj97vi4z2iyf4almavqq8qaz4"; - }) - ]; - buildInputs = [ libuuid pythonEnv ]; - makeFlags = "-C BaseTools"; + makeFlags = [ "-C BaseTools" ]; hardeningDisable = [ "format" "fortify" ]; installPhase = '' mkdir -vp $out mv -v BaseTools $out - mv -v EdkCompatibilityPkg $out mv -v edksetup.sh $out ''; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { description = "Intel EFI development kit"; homepage = https://sourceforge.net/projects/edk2/; - license = stdenv.lib.licenses.bsd2; - branch = "UDK2017"; - platforms = ["x86_64-linux" "i686-linux" "aarch64-linux"]; + license = licenses.bsd2; + platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; }; passthru = { - setup = projectDscPath: attrs: { - buildInputs = [ pythonEnv ] ++ - stdenv.lib.optionals (attrs ? buildInputs) attrs.buildInputs; + mkDerivation = projectDscPath: attrs: stdenv.mkDerivation ({ + inherit (edk2) src; - configurePhase = '' - mkdir -v Conf + buildInputs = [ bc pythonEnv ] ++ attrs.buildInputs or []; - cp ${edk2}/BaseTools/Conf/target.template Conf/target.txt - sed -i Conf/target.txt \ - -e 's|Nt32Pkg/Nt32Pkg.dsc|${projectDscPath}|' \ - -e 's|MYTOOLS|GCC49|' \ - -e 's|IA32|${targetArch}|' \ - -e 's|DEBUG|RELEASE|'\ - - cp ${edk2}/BaseTools/Conf/tools_def.template Conf/tools_def.txt - sed -i Conf/tools_def.txt \ - -e 's|DEFINE GCC48_IA32_PREFIX = /usr/bin/|DEFINE GCC48_IA32_PREFIX = ""|' \ - -e 's|DEFINE GCC48_X64_PREFIX = /usr/bin/|DEFINE GCC48_X64_PREFIX = ""|' \ - -e 's|DEFINE UNIX_IASL_BIN = /usr/bin/iasl|DEFINE UNIX_IASL_BIN = ${iasl}/bin/iasl|' - - export WORKSPACE="$PWD" - export EFI_SOURCE="$PWD/EdkCompatibilityPkg" + prePatch = '' + rm -rf BaseTools ln -sv ${edk2}/BaseTools BaseTools - ln -sv ${edk2}/EdkCompatibilityPkg EdkCompatibilityPkg - . ${edk2}/edksetup.sh BaseTools ''; - buildPhase = " - build - "; + configurePhase = '' + runHook preConfigure + export WORKSPACE="$PWD" + . ${edk2}/edksetup.sh BaseTools + runHook postConfigure + ''; - installPhase = "mv -v Build/*/* $out"; - } // (removeAttrs attrs [ "buildInputs" ] ); + buildPhase = '' + runHook preBuild + build -a ${targetArch} -b RELEASE -t GCC5 -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mv -v Build/*/* $out + runHook postInstall + ''; + } // removeAttrs attrs [ "buildInputs" ]); }; }; diff --git a/pkgs/development/compilers/eli/default.nix b/pkgs/development/compilers/eli/default.nix index 4635c6d0a4e..a22862c4292 100644 --- a/pkgs/development/compilers/eli/default.nix +++ b/pkgs/development/compilers/eli/default.nix @@ -28,11 +28,11 @@ let }; in stdenv.mkDerivation rec { - name = "eli-${version}"; + pname = "eli"; version = "4.8.1"; src = fetchurl { - url = "mirror://sourceforge/project/eli-project/Eli/Eli%20${version}/${name}.tar.bz2"; + url = "mirror://sourceforge/project/eli-project/Eli/Eli%20${version}/${pname}-${version}.tar.bz2"; sha256="1vran8583hbwrr5dciji4zkhz3f88w4mn8n9sdpr6zw0plpf1whj"; }; diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index bfaf24cd987..c8bef546b6d 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -1,14 +1,23 @@ -{ lib, stdenv, buildEnv +{ lib, stdenv, pkgs , haskell, nodejs -, fetchurl, fetchpatch, makeWrapper, git }: - +, fetchurl, fetchpatch, makeWrapper, writeScriptBin }: let fetchElmDeps = import ./fetchElmDeps.nix { inherit stdenv lib fetchurl; }; - hsPkgs = haskell.packages.ghc863.override { + + patchBinwrap = import ./packages/patch-binwrap.nix { inherit lib writeScriptBin stdenv; }; + + elmNodePackages = + import ./packages/node-composition.nix { + inherit nodejs pkgs; + inherit (stdenv.hostPlatform) system; + }; + + hsPkgs = haskell.packages.ghc864.override { overrides = self: super: with haskell.lib; - let elmPkgs = { + let elmPkgs = rec { elm = overrideCabal (self.callPackage ./packages/elm.nix { }) (drv: { # sadly with parallelism most of the time breaks compilation + # also compilation is slower with increasing number of cores anyway (Tested on Ryzen 7 and i7) enableParallelBuilding = false; preConfigure = self.fetchElmDeps { elmPackages = (import ./packages/elm-srcs.nix); @@ -30,12 +39,26 @@ let /* The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo: - `pacakge/nix/build.sh` + `package/nix/build.sh` */ elm-format = justStaticExecutables (doJailbreak (self.callPackage ./packages/elm-format.nix {})); + elmi-to-json = justStaticExecutables (self.callPackage ./packages/elmi-to-json.nix {}); + inherit fetchElmDeps; elmVersion = elmPkgs.elm.version; + + /* + Node/NPM based dependecies can be upgraded using script + `packages/generate-node-packages.sh`. + Packages which rely on `bin-wrap` will fail by default + and can be patched using `patchBinwrap` function defined in `packages/patch-binwrap.nix`. + */ + elm-test = patchBinwrap [elmi-to-json] elmNodePackages.elm-test; + elm-verify-examples = patchBinwrap [elmi-to-json] elmNodePackages.elm-verify-examples; + # elm-analyse@0.16.4 build is not working + elm-analyse = elmNodePackages."elm-analyse-0.16.3"; + inherit (elmNodePackages) elm-doc-preview elm-live elm-upgrade elm-xref; }; in elmPkgs // { inherit elmPkgs; diff --git a/pkgs/development/compilers/elm/packages/README.md b/pkgs/development/compilers/elm/packages/README.md new file mode 100644 index 00000000000..5b21736afc0 --- /dev/null +++ b/pkgs/development/compilers/elm/packages/README.md @@ -0,0 +1,25 @@ +# Elm packages + +Mixtures of useful Elm lang tooling containing both Haskell and Node.js based utilities. + +## Upgrades + +Haskell parts of the ecosystem are using [cabal2nix](https://github.com/NixOS/cabal2nix). +Please refer to [nix documentation](https://nixos.org/nixpkgs/manual/#how-to-create-nix-builds-for-your-own-private-haskell-packages) +and [cabal2nix readme](https://github.com/NixOS/cabal2nix#readme) for more information. Elm-format [update scripts](https://github.com/avh4/elm-format/tree/master/package/nix) +is part of its repository. + +Node dependencies are defined in [node-packages.json](node-packages.json). +[Node2nix](https://github.com/svanderburg/node2nix) is used for generating nix expression +from this file. Use [generate-node-packages.sh](generate-node-packages.sh) for updates of nix expressions. + +## Binwrap Patch + +Some node packages might use [binwrap](https://github.com/avh4/binwrap) typically for installing +[elmi-to-json](https://github.com/stoeffel/elmi-to-json). Binwrap is not compatible with nix. +To overcome issues with those packages apply [patch-binwrap.nix](patch-binwrap.nix) which essentially does 2 things. + +1. It replaces binwrap scripts with noop shell scripts +2. It uses nix for installing the binaries to expected location in `node_modules` + +Example usage be found in `elm/default.nix`. diff --git a/pkgs/development/compilers/elm/packages/elm-format.nix b/pkgs/development/compilers/elm/packages/elm-format.nix index d773736bba5..3660e42e363 100644 --- a/pkgs/development/compilers/elm/packages/elm-format.nix +++ b/pkgs/development/compilers/elm/packages/elm-format.nix @@ -1,24 +1,28 @@ { mkDerivation, fetchgit, ansi-terminal, ansi-wl-pprint, base, binary -, bytestring, Cabal, cmark, containers, directory, filepath, free -, HUnit, indents, json, mtl, optparse-applicative, parsec, process +, bytestring, cmark, containers, directory, filepath, free, HUnit +, indents, json, mtl, optparse-applicative, parsec, process , QuickCheck, quickcheck-io, split, stdenv, tasty, tasty-golden , tasty-hunit, tasty-quickcheck, text }: mkDerivation { pname = "elm-format"; - version = "0.8.1"; + version = "0.8.2"; src = fetchgit { - url = "http://github.com/avh4/elm-format"; - sha256 = "0p1dy1m6illsl7i04zsv5jqw7i4znv7pfpdfm53zy0k7mq0fk09j"; - rev = "89694e858664329e3cbdaeb71b15c4456fd739ff"; + url = "https://github.com/avh4/elm-format"; + sha256 = "0ly37fszrfviwqgrww57ikdcr7i8lcpczhqm8xqp5s7mrlpdxv7z"; + rev = "ab3627cce01e5556b3fe8c2b5e3d92b80bfc74af"; }; postPatch = '' - sed -i "s|desc <-.*||" ./Setup.hs - sed -i "s|gitDescribe = .*|gitDescribe = \\\\\"0.8.1\\\\\"\"|" ./Setup.hs + mkdir -p ./generated + cat < ./generated/Build_elm_format.hs + module Build_elm_format where + + gitDescribe :: String + gitDescribe = "0.8.2" + EOHS ''; - isLibrary = true; + isLibrary = false; isExecutable = true; - setupHaskellDepends = [ base Cabal directory filepath process ]; libraryHaskellDepends = [ ansi-terminal ansi-wl-pprint base binary bytestring containers directory filepath free indents json mtl optparse-applicative @@ -30,7 +34,7 @@ mkDerivation { split tasty tasty-golden tasty-hunit tasty-quickcheck text ]; doHaddock = false; - homepage = "http://elm-lang.org"; + homepage = "https://elm-lang.org"; description = "A source code formatter for Elm"; license = stdenv.lib.licenses.bsd3; } diff --git a/pkgs/development/compilers/elm/packages/elm.nix b/pkgs/development/compilers/elm/packages/elm.nix index 67e63ea2b8e..4edd9bebbc6 100644 --- a/pkgs/development/compilers/elm/packages/elm.nix +++ b/pkgs/development/compilers/elm/packages/elm.nix @@ -25,7 +25,7 @@ mkDerivation { snap-server template-haskell text time unordered-containers utf8-string vector zip-archive ]; - homepage = "http://elm-lang.org"; + homepage = "https://elm-lang.org"; description = "The `elm` command line interface"; license = stdenv.lib.licenses.bsd3; } diff --git a/pkgs/development/compilers/elm/packages/elmi-to-json.nix b/pkgs/development/compilers/elm/packages/elmi-to-json.nix new file mode 100644 index 00000000000..f6a0b9e2426 --- /dev/null +++ b/pkgs/development/compilers/elm/packages/elmi-to-json.nix @@ -0,0 +1,27 @@ +{ mkDerivation, aeson, async, base, binary, bytestring, containers +, directory, filepath, hpack, optparse-applicative, safe-exceptions +, stdenv, text, fetchgit +}: +mkDerivation { + pname = "elmi-to-json"; + version = "0.19.4"; + src = fetchgit { + url = "https://github.com/stoeffel/elmi-to-json.git"; + rev = "357ad96f05e4c68023b036f27f6f65c4377c7427"; + sha256 = "0vj9fdqgg2zd1nxpll6v02fk6bcyhx00xhp3s8sd7ycvirwsim9n"; + }; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson async base binary bytestring containers directory filepath + optparse-applicative safe-exceptions text + ]; + libraryToolDepends = [ hpack ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ base ]; + preConfigure = "hpack"; + homepage = "https://github.com/stoeffel/elmi-to-json#readme"; + description = "Translates elmi binary files to JSON representation"; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ turbomack ]; +} diff --git a/pkgs/development/compilers/elm/packages/generate-node-packages.sh b/pkgs/development/compilers/elm/packages/generate-node-packages.sh new file mode 100755 index 00000000000..1d24df549ea --- /dev/null +++ b/pkgs/development/compilers/elm/packages/generate-node-packages.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i bash -p nodePackages.node2nix + +set -eu -o pipefail + +rm -f node-env.nix +node2nix --nodejs-10 \ + -i node-packages.json \ + -o node-packages.nix \ + -c node-composition.nix \ + --no-copy-node-env -e ../../../node-packages/node-env.nix diff --git a/pkgs/development/compilers/elm/packages/node-composition.nix b/pkgs/development/compilers/elm/packages/node-composition.nix new file mode 100644 index 00000000000..1ffd758ac82 --- /dev/null +++ b/pkgs/development/compilers/elm/packages/node-composition.nix @@ -0,0 +1,17 @@ +# This file has been generated by node2nix 1.7.0. Do not edit! + +{pkgs ? import { + inherit system; + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}: + +let + nodeEnv = import ../../../node-packages/node-env.nix { + inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile; + inherit nodejs; + libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; + }; +in +import ./node-packages.nix { + inherit (pkgs) fetchurl fetchgit; + inherit nodeEnv; +} \ No newline at end of file diff --git a/pkgs/development/compilers/elm/packages/node-packages.json b/pkgs/development/compilers/elm/packages/node-packages.json new file mode 100644 index 00000000000..5ba7e49bfa6 --- /dev/null +++ b/pkgs/development/compilers/elm/packages/node-packages.json @@ -0,0 +1,9 @@ +[ + "elm-test", + "elm-verify-examples", + "elm-doc-preview", + "elm-upgrade", + { "elm-analyse": "0.16.3" }, + "elm-live", + "elm-xref" +] diff --git a/pkgs/development/compilers/elm/packages/node-packages.nix b/pkgs/development/compilers/elm/packages/node-packages.nix new file mode 100644 index 00000000000..7605c377057 --- /dev/null +++ b/pkgs/development/compilers/elm/packages/node-packages.nix @@ -0,0 +1,6225 @@ +# This file has been generated by node2nix 1.7.0. Do not edit! + +{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}: + +let + sources = { + "@cnakazawa/watch-1.0.3" = { + name = "_at_cnakazawa_slash_watch"; + packageName = "@cnakazawa/watch"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz"; + sha512 = "r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA=="; + }; + }; + "@sindresorhus/is-0.7.0" = { + name = "_at_sindresorhus_slash_is"; + packageName = "@sindresorhus/is"; + version = "0.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz"; + sha512 = "ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow=="; + }; + }; + "accepts-1.3.7" = { + name = "accepts"; + packageName = "accepts"; + version = "1.3.7"; + src = fetchurl { + url = "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz"; + sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA=="; + }; + }; + "ajv-6.10.2" = { + name = "ajv"; + packageName = "ajv"; + version = "6.10.2"; + src = fetchurl { + url = "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz"; + sha512 = "TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw=="; + }; + }; + "ansi-regex-2.1.1" = { + name = "ansi-regex"; + packageName = "ansi-regex"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"; + sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; + }; + }; + "ansi-regex-4.1.0" = { + name = "ansi-regex"; + packageName = "ansi-regex"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz"; + sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="; + }; + }; + "ansi-styles-2.2.1" = { + name = "ansi-styles"; + packageName = "ansi-styles"; + version = "2.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"; + sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; + }; + }; + "ansi-styles-3.2.1" = { + name = "ansi-styles"; + packageName = "ansi-styles"; + version = "3.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"; + sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="; + }; + }; + "anymatch-2.0.0" = { + name = "anymatch"; + packageName = "anymatch"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz"; + sha512 = "5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw=="; + }; + }; + "anymatch-3.0.3" = { + name = "anymatch"; + packageName = "anymatch"; + version = "3.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/anymatch/-/anymatch-3.0.3.tgz"; + sha512 = "c6IvoeBECQlMVuYUjSwimnhmztImpErfxJzWZhIQinIvQWoGOnB0dLIgifbPHQt5heS6mNlaZG16f06H3C8t1g=="; + }; + }; + "arr-diff-4.0.0" = { + name = "arr-diff"; + packageName = "arr-diff"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz"; + sha1 = "d6461074febfec71e7e15235761a329a5dc7c520"; + }; + }; + "arr-flatten-1.1.0" = { + name = "arr-flatten"; + packageName = "arr-flatten"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz"; + sha512 = "L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="; + }; + }; + "arr-union-3.1.0" = { + name = "arr-union"; + packageName = "arr-union"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz"; + sha1 = "e39b09aea9def866a8f206e288af63919bae39c4"; + }; + }; + "array-flatten-1.1.1" = { + name = "array-flatten"; + packageName = "array-flatten"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"; + sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2"; + }; + }; + "array-unique-0.3.2" = { + name = "array-unique"; + packageName = "array-unique"; + version = "0.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz"; + sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"; + }; + }; + "asn1-0.2.4" = { + name = "asn1"; + packageName = "asn1"; + version = "0.2.4"; + src = fetchurl { + url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz"; + sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg=="; + }; + }; + "assert-plus-1.0.0" = { + name = "assert-plus"; + packageName = "assert-plus"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"; + sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; + }; + }; + "assign-symbols-1.0.0" = { + name = "assign-symbols"; + packageName = "assign-symbols"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz"; + sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"; + }; + }; + "async-each-1.0.3" = { + name = "async-each"; + packageName = "async-each"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz"; + sha512 = "z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ=="; + }; + }; + "async-limiter-1.0.1" = { + name = "async-limiter"; + packageName = "async-limiter"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz"; + sha512 = "csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="; + }; + }; + "asynckit-0.4.0" = { + name = "asynckit"; + packageName = "asynckit"; + version = "0.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"; + sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"; + }; + }; + "atob-2.1.2" = { + name = "atob"; + packageName = "atob"; + version = "2.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz"; + sha512 = "Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="; + }; + }; + "aws-sign2-0.7.0" = { + name = "aws-sign2"; + packageName = "aws-sign2"; + version = "0.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz"; + sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"; + }; + }; + "aws4-1.8.0" = { + name = "aws4"; + packageName = "aws4"; + version = "1.8.0"; + src = fetchurl { + url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz"; + sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="; + }; + }; + "babel-runtime-6.18.0" = { + name = "babel-runtime"; + packageName = "babel-runtime"; + version = "6.18.0"; + src = fetchurl { + url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.18.0.tgz"; + sha1 = "0f4177ffd98492ef13b9f823e9994a02584c9078"; + }; + }; + "balanced-match-1.0.0" = { + name = "balanced-match"; + packageName = "balanced-match"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"; + sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767"; + }; + }; + "base-0.11.2" = { + name = "base"; + packageName = "base"; + version = "0.11.2"; + src = fetchurl { + url = "https://registry.npmjs.org/base/-/base-0.11.2.tgz"; + sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg=="; + }; + }; + "batch-0.6.1" = { + name = "batch"; + packageName = "batch"; + version = "0.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz"; + sha1 = "dc34314f4e679318093fc760272525f94bf25c16"; + }; + }; + "bcrypt-pbkdf-1.0.2" = { + name = "bcrypt-pbkdf"; + packageName = "bcrypt-pbkdf"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"; + sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"; + }; + }; + "binary-0.3.0" = { + name = "binary"; + packageName = "binary"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz"; + sha1 = "9f60553bc5ce8c3386f3b553cff47462adecaa79"; + }; + }; + "binary-extensions-1.13.1" = { + name = "binary-extensions"; + packageName = "binary-extensions"; + version = "1.13.1"; + src = fetchurl { + url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz"; + sha512 = "Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw=="; + }; + }; + "binary-extensions-2.0.0" = { + name = "binary-extensions"; + packageName = "binary-extensions"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz"; + sha512 = "Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow=="; + }; + }; + "bindings-1.5.0" = { + name = "bindings"; + packageName = "bindings"; + version = "1.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz"; + sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ=="; + }; + }; + "binwrap-0.2.2" = { + name = "binwrap"; + packageName = "binwrap"; + version = "0.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/binwrap/-/binwrap-0.2.2.tgz"; + sha512 = "Y+Wvypk3JhH5GPZAvlwJAWOVH/OsOhQMSj37vySuWHwQivoALplPxfBA8b973rFJI7OS+O+1YmmYXIiEXVMAcw=="; + }; + }; + "bluebird-3.5.5" = { + name = "bluebird"; + packageName = "bluebird"; + version = "3.5.5"; + src = fetchurl { + url = "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz"; + sha512 = "5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w=="; + }; + }; + "body-parser-1.18.2" = { + name = "body-parser"; + packageName = "body-parser"; + version = "1.18.2"; + src = fetchurl { + url = "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz"; + sha1 = "87678a19d84b47d859b83199bd59bce222b10454"; + }; + }; + "body-parser-1.19.0" = { + name = "body-parser"; + packageName = "body-parser"; + version = "1.19.0"; + src = fetchurl { + url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz"; + sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw=="; + }; + }; + "brace-expansion-1.1.11" = { + name = "brace-expansion"; + packageName = "brace-expansion"; + version = "1.1.11"; + src = fetchurl { + url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"; + sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="; + }; + }; + "braces-2.3.2" = { + name = "braces"; + packageName = "braces"; + version = "2.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz"; + sha512 = "aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w=="; + }; + }; + "braces-3.0.2" = { + name = "braces"; + packageName = "braces"; + version = "3.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz"; + sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A=="; + }; + }; + "bser-2.1.0" = { + name = "bser"; + packageName = "bser"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz"; + sha512 = "8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg=="; + }; + }; + "buffers-0.1.1" = { + name = "buffers"; + packageName = "buffers"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz"; + sha1 = "b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb"; + }; + }; + "bytes-3.0.0" = { + name = "bytes"; + packageName = "bytes"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz"; + sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048"; + }; + }; + "bytes-3.1.0" = { + name = "bytes"; + packageName = "bytes"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz"; + sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="; + }; + }; + "cache-base-1.0.1" = { + name = "cache-base"; + packageName = "cache-base"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz"; + sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ=="; + }; + }; + "cacheable-request-2.1.4" = { + name = "cacheable-request"; + packageName = "cacheable-request"; + version = "2.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz"; + sha1 = "0d808801b6342ad33c91df9d0b44dc09b91e5c3d"; + }; + }; + "camelcase-5.3.1" = { + name = "camelcase"; + packageName = "camelcase"; + version = "5.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"; + sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="; + }; + }; + "capture-exit-2.0.0" = { + name = "capture-exit"; + packageName = "capture-exit"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz"; + sha512 = "PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g=="; + }; + }; + "capture-stack-trace-1.0.1" = { + name = "capture-stack-trace"; + packageName = "capture-stack-trace"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz"; + sha512 = "mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw=="; + }; + }; + "caseless-0.12.0" = { + name = "caseless"; + packageName = "caseless"; + version = "0.12.0"; + src = fetchurl { + url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz"; + sha1 = "1b681c21ff84033c826543090689420d187151dc"; + }; + }; + "caw-2.0.1" = { + name = "caw"; + packageName = "caw"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz"; + sha512 = "Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA=="; + }; + }; + "chainsaw-0.1.0" = { + name = "chainsaw"; + packageName = "chainsaw"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz"; + sha1 = "5eab50b28afe58074d0d58291388828b5e5fbc98"; + }; + }; + "chalk-1.1.3" = { + name = "chalk"; + packageName = "chalk"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"; + sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; + }; + }; + "chalk-2.1.0" = { + name = "chalk"; + packageName = "chalk"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz"; + sha512 = "LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ=="; + }; + }; + "chalk-2.4.2" = { + name = "chalk"; + packageName = "chalk"; + version = "2.4.2"; + src = fetchurl { + url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"; + sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="; + }; + }; + "charenc-0.0.2" = { + name = "charenc"; + packageName = "charenc"; + version = "0.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz"; + sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"; + }; + }; + "chokidar-2.1.2" = { + name = "chokidar"; + packageName = "chokidar"; + version = "2.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/chokidar/-/chokidar-2.1.2.tgz"; + sha512 = "IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg=="; + }; + }; + "chokidar-3.0.0" = { + name = "chokidar"; + packageName = "chokidar"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/chokidar/-/chokidar-3.0.0.tgz"; + sha512 = "ebzWopcacB2J19Jsb5RPtMrzmjUZ5VAQnsL0Ztrix3lswozHbiDp+1Lg3AWSKHdwsps/W2vtshA/x3I827F78g=="; + }; + }; + "chownr-1.1.2" = { + name = "chownr"; + packageName = "chownr"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz"; + sha512 = "GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A=="; + }; + }; + "class-utils-0.3.6" = { + name = "class-utils"; + packageName = "class-utils"; + version = "0.3.6"; + src = fetchurl { + url = "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz"; + sha512 = "qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg=="; + }; + }; + "cli-color-1.2.0" = { + name = "cli-color"; + packageName = "cli-color"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cli-color/-/cli-color-1.2.0.tgz"; + sha1 = "3a5ae74fd76b6267af666e69e2afbbd01def34d1"; + }; + }; + "cliui-5.0.0" = { + name = "cliui"; + packageName = "cliui"; + version = "5.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz"; + sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA=="; + }; + }; + "clone-response-1.0.2" = { + name = "clone-response"; + packageName = "clone-response"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz"; + sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b"; + }; + }; + "collection-visit-1.0.0" = { + name = "collection-visit"; + packageName = "collection-visit"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz"; + sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0"; + }; + }; + "color-convert-1.9.3" = { + name = "color-convert"; + packageName = "color-convert"; + version = "1.9.3"; + src = fetchurl { + url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"; + sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="; + }; + }; + "color-name-1.1.3" = { + name = "color-name"; + packageName = "color-name"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"; + sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25"; + }; + }; + "combined-stream-1.0.8" = { + name = "combined-stream"; + packageName = "combined-stream"; + version = "1.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"; + sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="; + }; + }; + "commander-2.17.1" = { + name = "commander"; + packageName = "commander"; + version = "2.17.1"; + src = fetchurl { + url = "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz"; + sha512 = "wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="; + }; + }; + "commander-2.9.0" = { + name = "commander"; + packageName = "commander"; + version = "2.9.0"; + src = fetchurl { + url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz"; + sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4"; + }; + }; + "commander-3.0.0" = { + name = "commander"; + packageName = "commander"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/commander/-/commander-3.0.0.tgz"; + sha512 = "pl3QrGOBa9RZaslQiqnnKX2J068wcQw7j9AIaBQ9/JEp5RY6je4jKTImg0Bd+rpoONSe7GUFSgkxLeo17m3Pow=="; + }; + }; + "component-emitter-1.3.0" = { + name = "component-emitter"; + packageName = "component-emitter"; + version = "1.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz"; + sha512 = "Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="; + }; + }; + "concat-map-0.0.1" = { + name = "concat-map"; + packageName = "concat-map"; + version = "0.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"; + sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b"; + }; + }; + "concat-stream-1.5.2" = { + name = "concat-stream"; + packageName = "concat-stream"; + version = "1.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz"; + sha1 = "708978624d856af41a5a741defdd261da752c266"; + }; + }; + "config-chain-1.1.12" = { + name = "config-chain"; + packageName = "config-chain"; + version = "1.1.12"; + src = fetchurl { + url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz"; + sha512 = "a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA=="; + }; + }; + "connect-pushstate-1.1.0" = { + name = "connect-pushstate"; + packageName = "connect-pushstate"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/connect-pushstate/-/connect-pushstate-1.1.0.tgz"; + sha1 = "bcab224271c439604a0fb0f614c0a5f563e88e24"; + }; + }; + "content-disposition-0.5.2" = { + name = "content-disposition"; + packageName = "content-disposition"; + version = "0.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz"; + sha1 = "0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"; + }; + }; + "content-disposition-0.5.3" = { + name = "content-disposition"; + packageName = "content-disposition"; + version = "0.5.3"; + src = fetchurl { + url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz"; + sha512 = "ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g=="; + }; + }; + "content-type-1.0.4" = { + name = "content-type"; + packageName = "content-type"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz"; + sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="; + }; + }; + "cookie-0.3.1" = { + name = "cookie"; + packageName = "cookie"; + version = "0.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz"; + sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"; + }; + }; + "cookie-0.4.0" = { + name = "cookie"; + packageName = "cookie"; + version = "0.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz"; + sha512 = "+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="; + }; + }; + "cookie-signature-1.0.6" = { + name = "cookie-signature"; + packageName = "cookie-signature"; + version = "1.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"; + sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c"; + }; + }; + "copy-descriptor-0.1.1" = { + name = "copy-descriptor"; + packageName = "copy-descriptor"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz"; + sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d"; + }; + }; + "core-js-2.6.9" = { + name = "core-js"; + packageName = "core-js"; + version = "2.6.9"; + src = fetchurl { + url = "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz"; + sha512 = "HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A=="; + }; + }; + "core-js-3.2.1" = { + name = "core-js"; + packageName = "core-js"; + version = "3.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz"; + sha512 = "Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw=="; + }; + }; + "core-util-is-1.0.2" = { + name = "core-util-is"; + packageName = "core-util-is"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"; + sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; + }; + }; + "create-error-class-3.0.2" = { + name = "create-error-class"; + packageName = "create-error-class"; + version = "3.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz"; + sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6"; + }; + }; + "cross-spawn-4.0.0" = { + name = "cross-spawn"; + packageName = "cross-spawn"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.0.tgz"; + sha1 = "8254774ab4786b8c5b3cf4dfba66ce563932c252"; + }; + }; + "cross-spawn-5.0.1" = { + name = "cross-spawn"; + packageName = "cross-spawn"; + version = "5.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.0.1.tgz"; + sha1 = "a3bbb302db2297cbea3c04edf36941f4613aa399"; + }; + }; + "cross-spawn-6.0.5" = { + name = "cross-spawn"; + packageName = "cross-spawn"; + version = "6.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz"; + sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ=="; + }; + }; + "crypt-0.0.2" = { + name = "crypt"; + packageName = "crypt"; + version = "0.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz"; + sha1 = "88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"; + }; + }; + "d-1.0.1" = { + name = "d"; + packageName = "d"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/d/-/d-1.0.1.tgz"; + sha512 = "m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA=="; + }; + }; + "dashdash-1.14.1" = { + name = "dashdash"; + packageName = "dashdash"; + version = "1.14.1"; + src = fetchurl { + url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"; + sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; + }; + }; + "debug-2.6.9" = { + name = "debug"; + packageName = "debug"; + version = "2.6.9"; + src = fetchurl { + url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"; + sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="; + }; + }; + "debug-3.2.6" = { + name = "debug"; + packageName = "debug"; + version = "3.2.6"; + src = fetchurl { + url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz"; + sha512 = "mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ=="; + }; + }; + "decamelize-1.2.0" = { + name = "decamelize"; + packageName = "decamelize"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"; + sha1 = "f6534d15148269b20352e7bee26f501f9a191290"; + }; + }; + "decode-uri-component-0.2.0" = { + name = "decode-uri-component"; + packageName = "decode-uri-component"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz"; + sha1 = "eb3913333458775cb84cd1a1fae062106bb87545"; + }; + }; + "decompress-response-3.3.0" = { + name = "decompress-response"; + packageName = "decompress-response"; + version = "3.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz"; + sha1 = "80a4dd323748384bfa248083622aedec982adff3"; + }; + }; + "deep-extend-0.6.0" = { + name = "deep-extend"; + packageName = "deep-extend"; + version = "0.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz"; + sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="; + }; + }; + "default-gateway-2.7.2" = { + name = "default-gateway"; + packageName = "default-gateway"; + version = "2.7.2"; + src = fetchurl { + url = "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz"; + sha512 = "lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ=="; + }; + }; + "define-properties-1.1.3" = { + name = "define-properties"; + packageName = "define-properties"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz"; + sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ=="; + }; + }; + "define-property-0.2.5" = { + name = "define-property"; + packageName = "define-property"; + version = "0.2.5"; + src = fetchurl { + url = "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz"; + sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116"; + }; + }; + "define-property-1.0.0" = { + name = "define-property"; + packageName = "define-property"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz"; + sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"; + }; + }; + "define-property-2.0.2" = { + name = "define-property"; + packageName = "define-property"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz"; + sha512 = "jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ=="; + }; + }; + "delayed-stream-1.0.0" = { + name = "delayed-stream"; + packageName = "delayed-stream"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"; + sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; + }; + }; + "depd-1.1.1" = { + name = "depd"; + packageName = "depd"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz"; + sha1 = "5783b4e1c459f06fa5ca27f991f3d06e7a310359"; + }; + }; + "depd-1.1.2" = { + name = "depd"; + packageName = "depd"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"; + sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9"; + }; + }; + "destroy-1.0.4" = { + name = "destroy"; + packageName = "destroy"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"; + sha1 = "978857442c44749e4206613e37946205826abd80"; + }; + }; + "duplexer3-0.1.4" = { + name = "duplexer3"; + packageName = "duplexer3"; + version = "0.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz"; + sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"; + }; + }; + "ecc-jsbn-0.1.2" = { + name = "ecc-jsbn"; + packageName = "ecc-jsbn"; + version = "0.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"; + sha1 = "3a83a904e54353287874c564b7549386849a98c9"; + }; + }; + "ee-first-1.1.1" = { + name = "ee-first"; + packageName = "ee-first"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"; + sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d"; + }; + }; + "elm-serve-0.4.0" = { + name = "elm-serve"; + packageName = "elm-serve"; + version = "0.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/elm-serve/-/elm-serve-0.4.0.tgz"; + sha512 = "NYXzzaJT/zw8v7jzDWGXuvX3/soj+5NTLHxX0n/T6DICbmyDj8kO7rlI2wSKs9UTNjXhZ7quFQEKcgcf/SZksw=="; + }; + }; + "elm-test-0.19.0-rev6" = { + name = "elm-test"; + packageName = "elm-test"; + version = "0.19.0-rev6"; + src = fetchurl { + url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.0-rev6.tgz"; + sha512 = "Qdy9QusZF+eT0203XBiT1Y/UhFeUjcSuyyzf3iyp32dsYpAfcoDTWHjlBVjia1CyvFauESQ4pc81nKaq6snClg=="; + }; + }; + "elmi-to-json-0.19.1" = { + name = "elmi-to-json"; + packageName = "elmi-to-json"; + version = "0.19.1"; + src = fetchurl { + url = "https://registry.npmjs.org/elmi-to-json/-/elmi-to-json-0.19.1.tgz"; + sha512 = "O0Z3YsYU9OTb1hTDGORWxi69QjQFEIPfZVq/oc1D5lhL3swduHKY8vdKGuo+WlKVdTas99oNIsgL7yojWdYcsQ=="; + }; + }; + "emoji-regex-7.0.3" = { + name = "emoji-regex"; + packageName = "emoji-regex"; + version = "7.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz"; + sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="; + }; + }; + "encodeurl-1.0.2" = { + name = "encodeurl"; + packageName = "encodeurl"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"; + sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"; + }; + }; + "end-of-stream-1.4.1" = { + name = "end-of-stream"; + packageName = "end-of-stream"; + version = "1.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz"; + sha512 = "1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q=="; + }; + }; + "es-abstract-1.13.0" = { + name = "es-abstract"; + packageName = "es-abstract"; + version = "1.13.0"; + src = fetchurl { + url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz"; + sha512 = "vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg=="; + }; + }; + "es-to-primitive-1.2.0" = { + name = "es-to-primitive"; + packageName = "es-to-primitive"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz"; + sha512 = "qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg=="; + }; + }; + "es5-ext-0.10.50" = { + name = "es5-ext"; + packageName = "es5-ext"; + version = "0.10.50"; + src = fetchurl { + url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz"; + sha512 = "KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw=="; + }; + }; + "es6-iterator-2.0.3" = { + name = "es6-iterator"; + packageName = "es6-iterator"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz"; + sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7"; + }; + }; + "es6-promisify-6.0.2" = { + name = "es6-promisify"; + packageName = "es6-promisify"; + version = "6.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.0.2.tgz"; + sha512 = "eO6vFm0JvqGzjWIQA6QVKjxpmELfhWbDUWHm1rPfIbn55mhKPiAa5xpLmQWJrNa629ZIeQ8ZvMAi13kvrjK6Mg=="; + }; + }; + "es6-symbol-3.1.1" = { + name = "es6-symbol"; + packageName = "es6-symbol"; + version = "3.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz"; + sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"; + }; + }; + "es6-weak-map-2.0.3" = { + name = "es6-weak-map"; + packageName = "es6-weak-map"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz"; + sha512 = "p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA=="; + }; + }; + "escape-html-1.0.3" = { + name = "escape-html"; + packageName = "escape-html"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"; + sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988"; + }; + }; + "escape-string-regexp-1.0.5" = { + name = "escape-string-regexp"; + packageName = "escape-string-regexp"; + version = "1.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; + sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; + }; + }; + "etag-1.8.1" = { + name = "etag"; + packageName = "etag"; + version = "1.8.1"; + src = fetchurl { + url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"; + sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887"; + }; + }; + "event-emitter-0.3.5" = { + name = "event-emitter"; + packageName = "event-emitter"; + version = "0.3.5"; + src = fetchurl { + url = "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz"; + sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39"; + }; + }; + "eventemitter3-3.1.2" = { + name = "eventemitter3"; + packageName = "eventemitter3"; + version = "3.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz"; + sha512 = "tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q=="; + }; + }; + "exec-sh-0.3.2" = { + name = "exec-sh"; + packageName = "exec-sh"; + version = "0.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz"; + sha512 = "9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg=="; + }; + }; + "execa-0.10.0" = { + name = "execa"; + packageName = "execa"; + version = "0.10.0"; + src = fetchurl { + url = "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz"; + sha512 = "7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw=="; + }; + }; + "execa-1.0.0" = { + name = "execa"; + packageName = "execa"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz"; + sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA=="; + }; + }; + "expand-brackets-2.1.4" = { + name = "expand-brackets"; + packageName = "expand-brackets"; + version = "2.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz"; + sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622"; + }; + }; + "express-4.16.3" = { + name = "express"; + packageName = "express"; + version = "4.16.3"; + src = fetchurl { + url = "https://registry.npmjs.org/express/-/express-4.16.3.tgz"; + sha1 = "6af8a502350db3246ecc4becf6b5a34d22f7ed53"; + }; + }; + "express-4.17.1" = { + name = "express"; + packageName = "express"; + version = "4.17.1"; + src = fetchurl { + url = "https://registry.npmjs.org/express/-/express-4.17.1.tgz"; + sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g=="; + }; + }; + "express-ws-2.0.0" = { + name = "express-ws"; + packageName = "express-ws"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/express-ws/-/express-ws-2.0.0.tgz"; + sha1 = "96d13fa41c8de8fa5dcbfa2dacace6f594272888"; + }; + }; + "express-ws-4.0.0" = { + name = "express-ws"; + packageName = "express-ws"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/express-ws/-/express-ws-4.0.0.tgz"; + sha512 = "KEyUw8AwRET2iFjFsI1EJQrJ/fHeGiJtgpYgEWG3yDv4l/To/m3a2GaYfeGyB3lsWdvbesjF5XCMx+SVBgAAYw=="; + }; + }; + "extend-3.0.2" = { + name = "extend"; + packageName = "extend"; + version = "3.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"; + sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="; + }; + }; + "extend-shallow-2.0.1" = { + name = "extend-shallow"; + packageName = "extend-shallow"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz"; + sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f"; + }; + }; + "extend-shallow-3.0.2" = { + name = "extend-shallow"; + packageName = "extend-shallow"; + version = "3.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz"; + sha1 = "26a71aaf073b39fb2127172746131c2704028db8"; + }; + }; + "extglob-2.0.4" = { + name = "extglob"; + packageName = "extglob"; + version = "2.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz"; + sha512 = "Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw=="; + }; + }; + "extsprintf-1.3.0" = { + name = "extsprintf"; + packageName = "extsprintf"; + version = "1.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"; + sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05"; + }; + }; + "fast-deep-equal-2.0.1" = { + name = "fast-deep-equal"; + packageName = "fast-deep-equal"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz"; + sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"; + }; + }; + "fast-json-stable-stringify-2.0.0" = { + name = "fast-json-stable-stringify"; + packageName = "fast-json-stable-stringify"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz"; + sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2"; + }; + }; + "fb-watchman-2.0.0" = { + name = "fb-watchman"; + packageName = "fb-watchman"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz"; + sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58"; + }; + }; + "file-uri-to-path-1.0.0" = { + name = "file-uri-to-path"; + packageName = "file-uri-to-path"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz"; + sha512 = "0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="; + }; + }; + "fill-range-4.0.0" = { + name = "fill-range"; + packageName = "fill-range"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz"; + sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7"; + }; + }; + "fill-range-7.0.1" = { + name = "fill-range"; + packageName = "fill-range"; + version = "7.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz"; + sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ=="; + }; + }; + "finalhandler-1.1.1" = { + name = "finalhandler"; + packageName = "finalhandler"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz"; + sha512 = "Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg=="; + }; + }; + "finalhandler-1.1.2" = { + name = "finalhandler"; + packageName = "finalhandler"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz"; + sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA=="; + }; + }; + "find-0.2.7" = { + name = "find"; + packageName = "find"; + version = "0.2.7"; + src = fetchurl { + url = "https://registry.npmjs.org/find/-/find-0.2.7.tgz"; + sha1 = "7afbd00f8f08c5b622f97cda6f714173d547bb3f"; + }; + }; + "find-elm-dependencies-2.0.1" = { + name = "find-elm-dependencies"; + packageName = "find-elm-dependencies"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/find-elm-dependencies/-/find-elm-dependencies-2.0.1.tgz"; + sha512 = "KBxPjc7J1CLw90jVateMKvMYMROZRTR7/QT2I3MxT+7I6KuUQUMNUFuS/eQXQnMnyElGKQ1iyPbe7GnEuYnFXw=="; + }; + }; + "find-parent-dir-0.3.0" = { + name = "find-parent-dir"; + packageName = "find-parent-dir"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz"; + sha1 = "33c44b429ab2b2f0646299c5f9f718f376ff8d54"; + }; + }; + "find-up-3.0.0" = { + name = "find-up"; + packageName = "find-up"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz"; + sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="; + }; + }; + "firstline-1.2.0" = { + name = "firstline"; + packageName = "firstline"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/firstline/-/firstline-1.2.0.tgz"; + sha1 = "c9f4886e7f7fbf0afc12d71941dce06b192aea05"; + }; + }; + "firstline-1.2.1" = { + name = "firstline"; + packageName = "firstline"; + version = "1.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/firstline/-/firstline-1.2.1.tgz"; + sha1 = "b88673c42009f8821fac2926e99720acee924fae"; + }; + }; + "follow-redirects-1.8.1" = { + name = "follow-redirects"; + packageName = "follow-redirects"; + version = "1.8.1"; + src = fetchurl { + url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.8.1.tgz"; + sha512 = "micCIbldHioIegeKs41DoH0KS3AXfFzgS30qVkM6z/XOE/GJgvmsoc839NUqa1B9udYe9dQxgv7KFwng6+p/dw=="; + }; + }; + "for-in-1.0.2" = { + name = "for-in"; + packageName = "for-in"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz"; + sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80"; + }; + }; + "forever-agent-0.6.1" = { + name = "forever-agent"; + packageName = "forever-agent"; + version = "0.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"; + sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; + }; + }; + "form-data-2.3.3" = { + name = "form-data"; + packageName = "form-data"; + version = "2.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz"; + sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ=="; + }; + }; + "forwarded-0.1.2" = { + name = "forwarded"; + packageName = "forwarded"; + version = "0.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz"; + sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84"; + }; + }; + "fragment-cache-0.2.1" = { + name = "fragment-cache"; + packageName = "fragment-cache"; + version = "0.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz"; + sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19"; + }; + }; + "fresh-0.5.2" = { + name = "fresh"; + packageName = "fresh"; + version = "0.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"; + sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7"; + }; + }; + "from2-2.3.0" = { + name = "from2"; + packageName = "from2"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz"; + sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af"; + }; + }; + "fs-extra-0.30.0" = { + name = "fs-extra"; + packageName = "fs-extra"; + version = "0.30.0"; + src = fetchurl { + url = "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz"; + sha1 = "f233ffcc08d4da7d432daa449776989db1df93f0"; + }; + }; + "fs-extra-2.0.0" = { + name = "fs-extra"; + packageName = "fs-extra"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/fs-extra/-/fs-extra-2.0.0.tgz"; + sha1 = "337352bded4a0b714f3eb84de8cea765e9d37600"; + }; + }; + "fs-extra-5.0.0" = { + name = "fs-extra"; + packageName = "fs-extra"; + version = "5.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz"; + sha512 = "66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ=="; + }; + }; + "fs-extra-6.0.1" = { + name = "fs-extra"; + packageName = "fs-extra"; + version = "6.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz"; + sha512 = "GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA=="; + }; + }; + "fs-minipass-1.2.6" = { + name = "fs-minipass"; + packageName = "fs-minipass"; + version = "1.2.6"; + src = fetchurl { + url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.6.tgz"; + sha512 = "crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ=="; + }; + }; + "fs.realpath-1.0.0" = { + name = "fs.realpath"; + packageName = "fs.realpath"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"; + sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f"; + }; + }; + "fsevents-1.2.4" = { + name = "fsevents"; + packageName = "fsevents"; + version = "1.2.4"; + src = fetchurl { + url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz"; + sha512 = "z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg=="; + }; + }; + "fsevents-1.2.9" = { + name = "fsevents"; + packageName = "fsevents"; + version = "1.2.9"; + src = fetchurl { + url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz"; + sha512 = "oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw=="; + }; + }; + "fsevents-2.0.7" = { + name = "fsevents"; + packageName = "fsevents"; + version = "2.0.7"; + src = fetchurl { + url = "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz"; + sha512 = "a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ=="; + }; + }; + "function-bind-1.1.1" = { + name = "function-bind"; + packageName = "function-bind"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"; + sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="; + }; + }; + "get-caller-file-2.0.5" = { + name = "get-caller-file"; + packageName = "get-caller-file"; + version = "2.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"; + sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="; + }; + }; + "get-proxy-2.1.0" = { + name = "get-proxy"; + packageName = "get-proxy"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz"; + sha512 = "zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw=="; + }; + }; + "get-stream-3.0.0" = { + name = "get-stream"; + packageName = "get-stream"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz"; + sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14"; + }; + }; + "get-stream-4.1.0" = { + name = "get-stream"; + packageName = "get-stream"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz"; + sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w=="; + }; + }; + "get-value-2.0.6" = { + name = "get-value"; + packageName = "get-value"; + version = "2.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz"; + sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28"; + }; + }; + "getpass-0.1.7" = { + name = "getpass"; + packageName = "getpass"; + version = "0.1.7"; + src = fetchurl { + url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz"; + sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa"; + }; + }; + "glob-7.1.1" = { + name = "glob"; + packageName = "glob"; + version = "7.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz"; + sha1 = "805211df04faaf1c63a3600306cdf5ade50b2ec8"; + }; + }; + "glob-7.1.4" = { + name = "glob"; + packageName = "glob"; + version = "7.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz"; + sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A=="; + }; + }; + "glob-parent-3.1.0" = { + name = "glob-parent"; + packageName = "glob-parent"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz"; + sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae"; + }; + }; + "glob-parent-5.0.0" = { + name = "glob-parent"; + packageName = "glob-parent"; + version = "5.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz"; + sha512 = "Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg=="; + }; + }; + "got-6.7.1" = { + name = "got"; + packageName = "got"; + version = "6.7.1"; + src = fetchurl { + url = "https://registry.npmjs.org/got/-/got-6.7.1.tgz"; + sha1 = "240cd05785a9a18e561dc1b44b41c763ef1e8db0"; + }; + }; + "got-8.3.2" = { + name = "got"; + packageName = "got"; + version = "8.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/got/-/got-8.3.2.tgz"; + sha512 = "qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw=="; + }; + }; + "graceful-fs-4.2.2" = { + name = "graceful-fs"; + packageName = "graceful-fs"; + version = "4.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz"; + sha512 = "IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q=="; + }; + }; + "graceful-readlink-1.0.1" = { + name = "graceful-readlink"; + packageName = "graceful-readlink"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"; + sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725"; + }; + }; + "har-schema-2.0.0" = { + name = "har-schema"; + packageName = "har-schema"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz"; + sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92"; + }; + }; + "har-validator-5.1.3" = { + name = "har-validator"; + packageName = "har-validator"; + version = "5.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz"; + sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g=="; + }; + }; + "has-1.0.3" = { + name = "has"; + packageName = "has"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz"; + sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="; + }; + }; + "has-ansi-2.0.0" = { + name = "has-ansi"; + packageName = "has-ansi"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"; + sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; + }; + }; + "has-flag-2.0.0" = { + name = "has-flag"; + packageName = "has-flag"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz"; + sha1 = "e8207af1cc7b30d446cc70b734b5e8be18f88d51"; + }; + }; + "has-flag-3.0.0" = { + name = "has-flag"; + packageName = "has-flag"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"; + sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd"; + }; + }; + "has-symbol-support-x-1.4.2" = { + name = "has-symbol-support-x"; + packageName = "has-symbol-support-x"; + version = "1.4.2"; + src = fetchurl { + url = "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz"; + sha512 = "3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw=="; + }; + }; + "has-symbols-1.0.0" = { + name = "has-symbols"; + packageName = "has-symbols"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz"; + sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44"; + }; + }; + "has-to-string-tag-x-1.4.1" = { + name = "has-to-string-tag-x"; + packageName = "has-to-string-tag-x"; + version = "1.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz"; + sha512 = "vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw=="; + }; + }; + "has-value-0.3.1" = { + name = "has-value"; + packageName = "has-value"; + version = "0.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz"; + sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f"; + }; + }; + "has-value-1.0.0" = { + name = "has-value"; + packageName = "has-value"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz"; + sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177"; + }; + }; + "has-values-0.1.4" = { + name = "has-values"; + packageName = "has-values"; + version = "0.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz"; + sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771"; + }; + }; + "has-values-1.0.0" = { + name = "has-values"; + packageName = "has-values"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz"; + sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f"; + }; + }; + "http-cache-semantics-3.8.1" = { + name = "http-cache-semantics"; + packageName = "http-cache-semantics"; + version = "3.8.1"; + src = fetchurl { + url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz"; + sha512 = "5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w=="; + }; + }; + "http-errors-1.6.2" = { + name = "http-errors"; + packageName = "http-errors"; + version = "1.6.2"; + src = fetchurl { + url = "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz"; + sha1 = "0a002cc85707192a7e7946ceedc11155f60ec736"; + }; + }; + "http-errors-1.6.3" = { + name = "http-errors"; + packageName = "http-errors"; + version = "1.6.3"; + src = fetchurl { + url = "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"; + sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d"; + }; + }; + "http-errors-1.7.2" = { + name = "http-errors"; + packageName = "http-errors"; + version = "1.7.2"; + src = fetchurl { + url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz"; + sha512 = "uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg=="; + }; + }; + "http-proxy-1.17.0" = { + name = "http-proxy"; + packageName = "http-proxy"; + version = "1.17.0"; + src = fetchurl { + url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz"; + sha512 = "Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g=="; + }; + }; + "http-signature-1.2.0" = { + name = "http-signature"; + packageName = "http-signature"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz"; + sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1"; + }; + }; + "iconv-lite-0.4.19" = { + name = "iconv-lite"; + packageName = "iconv-lite"; + version = "0.4.19"; + src = fetchurl { + url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz"; + sha512 = "oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="; + }; + }; + "iconv-lite-0.4.24" = { + name = "iconv-lite"; + packageName = "iconv-lite"; + version = "0.4.24"; + src = fetchurl { + url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"; + sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="; + }; + }; + "inflight-1.0.6" = { + name = "inflight"; + packageName = "inflight"; + version = "1.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"; + sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9"; + }; + }; + "inherits-2.0.3" = { + name = "inherits"; + packageName = "inherits"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"; + sha1 = "633c2c83e3da42a502f52466022480f4208261de"; + }; + }; + "inherits-2.0.4" = { + name = "inherits"; + packageName = "inherits"; + version = "2.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"; + sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="; + }; + }; + "ini-1.3.5" = { + name = "ini"; + packageName = "ini"; + version = "1.3.5"; + src = fetchurl { + url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz"; + sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="; + }; + }; + "internal-ip-3.0.1" = { + name = "internal-ip"; + packageName = "internal-ip"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz"; + sha512 = "NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q=="; + }; + }; + "into-stream-3.1.0" = { + name = "into-stream"; + packageName = "into-stream"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz"; + sha1 = "96fb0a936c12babd6ff1752a17d05616abd094c6"; + }; + }; + "ip-regex-2.1.0" = { + name = "ip-regex"; + packageName = "ip-regex"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz"; + sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"; + }; + }; + "ipaddr.js-1.9.0" = { + name = "ipaddr.js"; + packageName = "ipaddr.js"; + version = "1.9.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz"; + sha512 = "M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA=="; + }; + }; + "ipaddr.js-1.9.1" = { + name = "ipaddr.js"; + packageName = "ipaddr.js"; + version = "1.9.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"; + sha512 = "0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="; + }; + }; + "is-accessor-descriptor-0.1.6" = { + name = "is-accessor-descriptor"; + packageName = "is-accessor-descriptor"; + version = "0.1.6"; + src = fetchurl { + url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"; + sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"; + }; + }; + "is-accessor-descriptor-1.0.0" = { + name = "is-accessor-descriptor"; + packageName = "is-accessor-descriptor"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"; + sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ=="; + }; + }; + "is-binary-path-1.0.1" = { + name = "is-binary-path"; + packageName = "is-binary-path"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz"; + sha1 = "75f16642b480f187a711c814161fd3a4a7655898"; + }; + }; + "is-binary-path-2.1.0" = { + name = "is-binary-path"; + packageName = "is-binary-path"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz"; + sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="; + }; + }; + "is-buffer-1.1.6" = { + name = "is-buffer"; + packageName = "is-buffer"; + version = "1.1.6"; + src = fetchurl { + url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"; + sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="; + }; + }; + "is-callable-1.1.4" = { + name = "is-callable"; + packageName = "is-callable"; + version = "1.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz"; + sha512 = "r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="; + }; + }; + "is-data-descriptor-0.1.4" = { + name = "is-data-descriptor"; + packageName = "is-data-descriptor"; + version = "0.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"; + sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56"; + }; + }; + "is-data-descriptor-1.0.0" = { + name = "is-data-descriptor"; + packageName = "is-data-descriptor"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"; + sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ=="; + }; + }; + "is-date-object-1.0.1" = { + name = "is-date-object"; + packageName = "is-date-object"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz"; + sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"; + }; + }; + "is-descriptor-0.1.6" = { + name = "is-descriptor"; + packageName = "is-descriptor"; + version = "0.1.6"; + src = fetchurl { + url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"; + sha512 = "avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg=="; + }; + }; + "is-descriptor-1.0.2" = { + name = "is-descriptor"; + packageName = "is-descriptor"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz"; + sha512 = "2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg=="; + }; + }; + "is-extendable-0.1.1" = { + name = "is-extendable"; + packageName = "is-extendable"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"; + sha1 = "62b110e289a471418e3ec36a617d472e301dfc89"; + }; + }; + "is-extendable-1.0.1" = { + name = "is-extendable"; + packageName = "is-extendable"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz"; + sha512 = "arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA=="; + }; + }; + "is-extglob-2.1.1" = { + name = "is-extglob"; + packageName = "is-extglob"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"; + sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2"; + }; + }; + "is-fullwidth-code-point-2.0.0" = { + name = "is-fullwidth-code-point"; + packageName = "is-fullwidth-code-point"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"; + sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f"; + }; + }; + "is-glob-3.1.0" = { + name = "is-glob"; + packageName = "is-glob"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz"; + sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a"; + }; + }; + "is-glob-4.0.1" = { + name = "is-glob"; + packageName = "is-glob"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz"; + sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg=="; + }; + }; + "is-number-3.0.0" = { + name = "is-number"; + packageName = "is-number"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz"; + sha1 = "24fd6201a4782cf50561c810276afc7d12d71195"; + }; + }; + "is-number-7.0.0" = { + name = "is-number"; + packageName = "is-number"; + version = "7.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"; + sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="; + }; + }; + "is-object-1.0.1" = { + name = "is-object"; + packageName = "is-object"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz"; + sha1 = "8952688c5ec2ffd6b03ecc85e769e02903083470"; + }; + }; + "is-plain-obj-1.1.0" = { + name = "is-plain-obj"; + packageName = "is-plain-obj"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz"; + sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e"; + }; + }; + "is-plain-object-2.0.4" = { + name = "is-plain-object"; + packageName = "is-plain-object"; + version = "2.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz"; + sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og=="; + }; + }; + "is-promise-2.1.0" = { + name = "is-promise"; + packageName = "is-promise"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz"; + sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"; + }; + }; + "is-redirect-1.0.0" = { + name = "is-redirect"; + packageName = "is-redirect"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz"; + sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"; + }; + }; + "is-regex-1.0.4" = { + name = "is-regex"; + packageName = "is-regex"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz"; + sha1 = "5517489b547091b0930e095654ced25ee97e9491"; + }; + }; + "is-retry-allowed-1.1.0" = { + name = "is-retry-allowed"; + packageName = "is-retry-allowed"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz"; + sha1 = "11a060568b67339444033d0125a61a20d564fb34"; + }; + }; + "is-stream-1.1.0" = { + name = "is-stream"; + packageName = "is-stream"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"; + sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"; + }; + }; + "is-symbol-1.0.2" = { + name = "is-symbol"; + packageName = "is-symbol"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz"; + sha512 = "HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw=="; + }; + }; + "is-typedarray-1.0.0" = { + name = "is-typedarray"; + packageName = "is-typedarray"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"; + sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; + }; + }; + "is-windows-1.0.2" = { + name = "is-windows"; + packageName = "is-windows"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz"; + sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="; + }; + }; + "is-wsl-1.1.0" = { + name = "is-wsl"; + packageName = "is-wsl"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz"; + sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d"; + }; + }; + "isarray-1.0.0" = { + name = "isarray"; + packageName = "isarray"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"; + sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; + }; + }; + "isexe-2.0.0" = { + name = "isexe"; + packageName = "isexe"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"; + sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10"; + }; + }; + "isobject-2.1.0" = { + name = "isobject"; + packageName = "isobject"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz"; + sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89"; + }; + }; + "isobject-3.0.1" = { + name = "isobject"; + packageName = "isobject"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"; + sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"; + }; + }; + "isstream-0.1.2" = { + name = "isstream"; + packageName = "isstream"; + version = "0.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"; + sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; + }; + }; + "isurl-1.0.0" = { + name = "isurl"; + packageName = "isurl"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz"; + sha512 = "1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w=="; + }; + }; + "jsbn-0.1.1" = { + name = "jsbn"; + packageName = "jsbn"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"; + sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"; + }; + }; + "json-buffer-3.0.0" = { + name = "json-buffer"; + packageName = "json-buffer"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz"; + sha1 = "5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"; + }; + }; + "json-schema-0.2.3" = { + name = "json-schema"; + packageName = "json-schema"; + version = "0.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz"; + sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; + }; + }; + "json-schema-traverse-0.4.1" = { + name = "json-schema-traverse"; + packageName = "json-schema-traverse"; + version = "0.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; + sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="; + }; + }; + "json-stringify-safe-5.0.1" = { + name = "json-stringify-safe"; + packageName = "json-stringify-safe"; + version = "5.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; + sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; + }; + }; + "jsonfile-2.4.0" = { + name = "jsonfile"; + packageName = "jsonfile"; + version = "2.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz"; + sha1 = "3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"; + }; + }; + "jsonfile-4.0.0" = { + name = "jsonfile"; + packageName = "jsonfile"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz"; + sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb"; + }; + }; + "jsprim-1.4.1" = { + name = "jsprim"; + packageName = "jsprim"; + version = "1.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz"; + sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"; + }; + }; + "keyv-3.0.0" = { + name = "keyv"; + packageName = "keyv"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz"; + sha512 = "eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA=="; + }; + }; + "kind-of-3.2.2" = { + name = "kind-of"; + packageName = "kind-of"; + version = "3.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"; + sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64"; + }; + }; + "kind-of-4.0.0" = { + name = "kind-of"; + packageName = "kind-of"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz"; + sha1 = "20813df3d712928b207378691a45066fae72dd57"; + }; + }; + "kind-of-5.1.0" = { + name = "kind-of"; + packageName = "kind-of"; + version = "5.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"; + sha512 = "NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="; + }; + }; + "kind-of-6.0.2" = { + name = "kind-of"; + packageName = "kind-of"; + version = "6.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz"; + sha512 = "s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="; + }; + }; + "klaw-1.3.1" = { + name = "klaw"; + packageName = "klaw"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz"; + sha1 = "4088433b46b3b1ba259d78785d8e96f73ba02439"; + }; + }; + "klaw-2.1.1" = { + name = "klaw"; + packageName = "klaw"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/klaw/-/klaw-2.1.1.tgz"; + sha1 = "42b76894701169cc910fd0d19ce677b5fb378af1"; + }; + }; + "latest-version-4.0.0" = { + name = "latest-version"; + packageName = "latest-version"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/latest-version/-/latest-version-4.0.0.tgz"; + sha512 = "b4Myk7aQiQJvgssw2O8yITjELdqKRX4JQJUF1IUplgLaA8unv7s+UsAOwH6Q0/a09czSvlxEm306it2LBXrCzg=="; + }; + }; + "locate-path-3.0.0" = { + name = "locate-path"; + packageName = "locate-path"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz"; + sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="; + }; + }; + "lodash-4.17.11" = { + name = "lodash"; + packageName = "lodash"; + version = "4.17.11"; + src = fetchurl { + url = "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz"; + sha512 = "cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="; + }; + }; + "lowercase-keys-1.0.0" = { + name = "lowercase-keys"; + packageName = "lowercase-keys"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz"; + sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"; + }; + }; + "lowercase-keys-1.0.1" = { + name = "lowercase-keys"; + packageName = "lowercase-keys"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz"; + sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="; + }; + }; + "lru-cache-4.1.5" = { + name = "lru-cache"; + packageName = "lru-cache"; + version = "4.1.5"; + src = fetchurl { + url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz"; + sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g=="; + }; + }; + "lru-queue-0.1.0" = { + name = "lru-queue"; + packageName = "lru-queue"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz"; + sha1 = "2738bd9f0d3cf4f84490c5736c48699ac632cda3"; + }; + }; + "makeerror-1.0.11" = { + name = "makeerror"; + packageName = "makeerror"; + version = "1.0.11"; + src = fetchurl { + url = "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz"; + sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c"; + }; + }; + "map-cache-0.2.2" = { + name = "map-cache"; + packageName = "map-cache"; + version = "0.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz"; + sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"; + }; + }; + "map-visit-1.0.0" = { + name = "map-visit"; + packageName = "map-visit"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz"; + sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"; + }; + }; + "md5-2.2.1" = { + name = "md5"; + packageName = "md5"; + version = "2.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz"; + sha1 = "53ab38d5fe3c8891ba465329ea23fac0540126f9"; + }; + }; + "media-typer-0.3.0" = { + name = "media-typer"; + packageName = "media-typer"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"; + sha1 = "8710d7af0aa626f8fffa1ce00168545263255748"; + }; + }; + "memoizee-0.4.14" = { + name = "memoizee"; + packageName = "memoizee"; + version = "0.4.14"; + src = fetchurl { + url = "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz"; + sha512 = "/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg=="; + }; + }; + "merge-descriptors-1.0.1" = { + name = "merge-descriptors"; + packageName = "merge-descriptors"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz"; + sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61"; + }; + }; + "methods-1.1.2" = { + name = "methods"; + packageName = "methods"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"; + sha1 = "5529a4d67654134edcc5266656835b0f851afcee"; + }; + }; + "micromatch-3.1.10" = { + name = "micromatch"; + packageName = "micromatch"; + version = "3.1.10"; + src = fetchurl { + url = "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz"; + sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg=="; + }; + }; + "mime-1.4.1" = { + name = "mime"; + packageName = "mime"; + version = "1.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz"; + sha512 = "KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="; + }; + }; + "mime-1.6.0" = { + name = "mime"; + packageName = "mime"; + version = "1.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"; + sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="; + }; + }; + "mime-db-1.40.0" = { + name = "mime-db"; + packageName = "mime-db"; + version = "1.40.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz"; + sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="; + }; + }; + "mime-types-2.1.24" = { + name = "mime-types"; + packageName = "mime-types"; + version = "2.1.24"; + src = fetchurl { + url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz"; + sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ=="; + }; + }; + "mimic-response-1.0.1" = { + name = "mimic-response"; + packageName = "mimic-response"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz"; + sha512 = "j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="; + }; + }; + "minimatch-3.0.4" = { + name = "minimatch"; + packageName = "minimatch"; + version = "3.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"; + sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="; + }; + }; + "minimist-0.0.8" = { + name = "minimist"; + packageName = "minimist"; + version = "0.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"; + sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; + }; + }; + "minimist-1.2.0" = { + name = "minimist"; + packageName = "minimist"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"; + sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284"; + }; + }; + "minipass-2.4.0" = { + name = "minipass"; + packageName = "minipass"; + version = "2.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/minipass/-/minipass-2.4.0.tgz"; + sha512 = "6PmOuSP4NnZXzs2z6rbwzLJu/c5gdzYg1mRI/WIYdx45iiX7T+a4esOzavD6V/KmBzAaopFSTZPZcUx73bqKWA=="; + }; + }; + "minizlib-1.2.1" = { + name = "minizlib"; + packageName = "minizlib"; + version = "1.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz"; + sha512 = "7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA=="; + }; + }; + "mixin-deep-1.3.2" = { + name = "mixin-deep"; + packageName = "mixin-deep"; + version = "1.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz"; + sha512 = "WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA=="; + }; + }; + "mkdirp-0.5.1" = { + name = "mkdirp"; + packageName = "mkdirp"; + version = "0.5.1"; + src = fetchurl { + url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"; + sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; + }; + }; + "ms-2.0.0" = { + name = "ms"; + packageName = "ms"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"; + sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8"; + }; + }; + "ms-2.1.1" = { + name = "ms"; + packageName = "ms"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz"; + sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="; + }; + }; + "ms-2.1.2" = { + name = "ms"; + packageName = "ms"; + version = "2.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"; + sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="; + }; + }; + "murmur-hash-js-1.0.0" = { + name = "murmur-hash-js"; + packageName = "murmur-hash-js"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/murmur-hash-js/-/murmur-hash-js-1.0.0.tgz"; + sha1 = "5041049269c96633c866386960b2f4289e75e5b0"; + }; + }; + "mustache-3.0.3" = { + name = "mustache"; + packageName = "mustache"; + version = "3.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/mustache/-/mustache-3.0.3.tgz"; + sha512 = "vM5FkMHamTYmVYeAujypihuPrJQDtaUIlKeeVb1AMJ73OZLtWiF7GprqrjxD0gJWT53W9JfqXxf97nXQjMQkqA=="; + }; + }; + "nan-2.14.0" = { + name = "nan"; + packageName = "nan"; + version = "2.14.0"; + src = fetchurl { + url = "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz"; + sha512 = "INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="; + }; + }; + "nanomatch-1.2.13" = { + name = "nanomatch"; + packageName = "nanomatch"; + version = "1.2.13"; + src = fetchurl { + url = "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz"; + sha512 = "fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA=="; + }; + }; + "negotiator-0.6.2" = { + name = "negotiator"; + packageName = "negotiator"; + version = "0.6.2"; + src = fetchurl { + url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz"; + sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="; + }; + }; + "next-tick-1.0.0" = { + name = "next-tick"; + packageName = "next-tick"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz"; + sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c"; + }; + }; + "nice-try-1.0.5" = { + name = "nice-try"; + packageName = "nice-try"; + version = "1.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz"; + sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="; + }; + }; + "node-elm-compiler-5.0.3" = { + name = "node-elm-compiler"; + packageName = "node-elm-compiler"; + version = "5.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/node-elm-compiler/-/node-elm-compiler-5.0.3.tgz"; + sha512 = "I3CWm/ExYYQ/a9bjB0OL9VsGa3Lmgbb8QOs4y2kEiB/DTkTqkcTaCr/lVyOYjRpgR25TsmOBATscsg6H6aC9Hg=="; + }; + }; + "node-int64-0.4.0" = { + name = "node-int64"; + packageName = "node-int64"; + version = "0.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz"; + sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b"; + }; + }; + "node-watch-0.5.5" = { + name = "node-watch"; + packageName = "node-watch"; + version = "0.5.5"; + src = fetchurl { + url = "https://registry.npmjs.org/node-watch/-/node-watch-0.5.5.tgz"; + sha512 = "z9xN2ibI6P0UylFadN7oMcIMsoTeCENC0rZyRM5MVK9AqzSPx+uGqKG6KMPeC/laOV4wOGZq/GH0PTstRNSqOA=="; + }; + }; + "normalize-path-2.1.1" = { + name = "normalize-path"; + packageName = "normalize-path"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"; + sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"; + }; + }; + "normalize-path-3.0.0" = { + name = "normalize-path"; + packageName = "normalize-path"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"; + sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="; + }; + }; + "normalize-url-2.0.1" = { + name = "normalize-url"; + packageName = "normalize-url"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz"; + sha512 = "D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw=="; + }; + }; + "npm-conf-1.1.3" = { + name = "npm-conf"; + packageName = "npm-conf"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz"; + sha512 = "Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw=="; + }; + }; + "npm-run-path-2.0.2" = { + name = "npm-run-path"; + packageName = "npm-run-path"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz"; + sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f"; + }; + }; + "npx-10.2.0" = { + name = "npx"; + packageName = "npx"; + version = "10.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/npx/-/npx-10.2.0.tgz"; + sha512 = "DqjFkzET0DeaXYXNJnirnvEovwk4lBa33ZQCw1jxMuas4yH9jdU8q2U8L3cLaB2UqzgmW2Ssqk8lcGiPRL8pRg=="; + }; + }; + "oauth-sign-0.9.0" = { + name = "oauth-sign"; + packageName = "oauth-sign"; + version = "0.9.0"; + src = fetchurl { + url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz"; + sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="; + }; + }; + "object-assign-4.1.1" = { + name = "object-assign"; + packageName = "object-assign"; + version = "4.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"; + sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863"; + }; + }; + "object-copy-0.1.0" = { + name = "object-copy"; + packageName = "object-copy"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz"; + sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c"; + }; + }; + "object-keys-1.1.1" = { + name = "object-keys"; + packageName = "object-keys"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"; + sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="; + }; + }; + "object-visit-1.0.1" = { + name = "object-visit"; + packageName = "object-visit"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz"; + sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb"; + }; + }; + "object.getownpropertydescriptors-2.0.3" = { + name = "object.getownpropertydescriptors"; + packageName = "object.getownpropertydescriptors"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz"; + sha1 = "8758c846f5b407adab0f236e0986f14b051caa16"; + }; + }; + "object.pick-1.3.0" = { + name = "object.pick"; + packageName = "object.pick"; + version = "1.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz"; + sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747"; + }; + }; + "on-finished-2.3.0" = { + name = "on-finished"; + packageName = "on-finished"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"; + sha1 = "20f1336481b083cd75337992a16971aa2d906947"; + }; + }; + "once-1.4.0" = { + name = "once"; + packageName = "once"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz"; + sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1"; + }; + }; + "opn-5.3.0" = { + name = "opn"; + packageName = "opn"; + version = "5.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz"; + sha512 = "bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g=="; + }; + }; + "opn-5.4.0" = { + name = "opn"; + packageName = "opn"; + version = "5.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz"; + sha512 = "YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw=="; + }; + }; + "opn-5.5.0" = { + name = "opn"; + packageName = "opn"; + version = "5.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz"; + sha512 = "PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA=="; + }; + }; + "options-0.0.6" = { + name = "options"; + packageName = "options"; + version = "0.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/options/-/options-0.0.6.tgz"; + sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f"; + }; + }; + "os-homedir-1.0.2" = { + name = "os-homedir"; + packageName = "os-homedir"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"; + sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3"; + }; + }; + "os-tmpdir-1.0.2" = { + name = "os-tmpdir"; + packageName = "os-tmpdir"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"; + sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274"; + }; + }; + "p-cancelable-0.4.1" = { + name = "p-cancelable"; + packageName = "p-cancelable"; + version = "0.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz"; + sha512 = "HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ=="; + }; + }; + "p-finally-1.0.0" = { + name = "p-finally"; + packageName = "p-finally"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz"; + sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae"; + }; + }; + "p-is-promise-1.1.0" = { + name = "p-is-promise"; + packageName = "p-is-promise"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz"; + sha1 = "9c9456989e9f6588017b0434d56097675c3da05e"; + }; + }; + "p-limit-2.2.1" = { + name = "p-limit"; + packageName = "p-limit"; + version = "2.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz"; + sha512 = "85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg=="; + }; + }; + "p-locate-3.0.0" = { + name = "p-locate"; + packageName = "p-locate"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz"; + sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="; + }; + }; + "p-timeout-2.0.1" = { + name = "p-timeout"; + packageName = "p-timeout"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz"; + sha512 = "88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA=="; + }; + }; + "p-try-2.2.0" = { + name = "p-try"; + packageName = "p-try"; + version = "2.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz"; + sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="; + }; + }; + "package-json-5.0.0" = { + name = "package-json"; + packageName = "package-json"; + version = "5.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/package-json/-/package-json-5.0.0.tgz"; + sha512 = "EeHQFFTlEmLrkIQoxbE9w0FuAWHoc1XpthDqnZ/i9keOt701cteyXwAxQFLpVqVjj3feh2TodkihjLaRUtIgLg=="; + }; + }; + "parseurl-1.3.3" = { + name = "parseurl"; + packageName = "parseurl"; + version = "1.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"; + sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="; + }; + }; + "pascalcase-0.1.1" = { + name = "pascalcase"; + packageName = "pascalcase"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz"; + sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14"; + }; + }; + "path-dirname-1.0.2" = { + name = "path-dirname"; + packageName = "path-dirname"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz"; + sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0"; + }; + }; + "path-exists-3.0.0" = { + name = "path-exists"; + packageName = "path-exists"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz"; + sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"; + }; + }; + "path-is-absolute-1.0.1" = { + name = "path-is-absolute"; + packageName = "path-is-absolute"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; + sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"; + }; + }; + "path-key-2.0.1" = { + name = "path-key"; + packageName = "path-key"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz"; + sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40"; + }; + }; + "path-to-regexp-0.1.7" = { + name = "path-to-regexp"; + packageName = "path-to-regexp"; + version = "0.1.7"; + src = fetchurl { + url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"; + sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c"; + }; + }; + "pem-1.13.2" = { + name = "pem"; + packageName = "pem"; + version = "1.13.2"; + src = fetchurl { + url = "https://registry.npmjs.org/pem/-/pem-1.13.2.tgz"; + sha512 = "MPJWuEb/r6AG+GpZi2JnfNtGAZDeL/8+ERKwXEWRuST5i+4lq/Uy36B352OWIUSPQGH+HR1HEDcIDi+8cKxXNg=="; + }; + }; + "performance-now-2.1.0" = { + name = "performance-now"; + packageName = "performance-now"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz"; + sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"; + }; + }; + "picomatch-2.0.7" = { + name = "picomatch"; + packageName = "picomatch"; + version = "2.0.7"; + src = fetchurl { + url = "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz"; + sha512 = "oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA=="; + }; + }; + "pify-3.0.0" = { + name = "pify"; + packageName = "pify"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz"; + sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"; + }; + }; + "posix-character-classes-0.1.1" = { + name = "posix-character-classes"; + packageName = "posix-character-classes"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz"; + sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"; + }; + }; + "prepend-http-1.0.4" = { + name = "prepend-http"; + packageName = "prepend-http"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz"; + sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"; + }; + }; + "prepend-http-2.0.0" = { + name = "prepend-http"; + packageName = "prepend-http"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz"; + sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897"; + }; + }; + "process-nextick-args-1.0.7" = { + name = "process-nextick-args"; + packageName = "process-nextick-args"; + version = "1.0.7"; + src = fetchurl { + url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"; + sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3"; + }; + }; + "process-nextick-args-2.0.1" = { + name = "process-nextick-args"; + packageName = "process-nextick-args"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"; + sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="; + }; + }; + "proto-list-1.2.4" = { + name = "proto-list"; + packageName = "proto-list"; + version = "1.2.4"; + src = fetchurl { + url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz"; + sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849"; + }; + }; + "proxy-addr-2.0.5" = { + name = "proxy-addr"; + packageName = "proxy-addr"; + version = "2.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz"; + sha512 = "t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ=="; + }; + }; + "pseudomap-1.0.2" = { + name = "pseudomap"; + packageName = "pseudomap"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz"; + sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3"; + }; + }; + "psl-1.3.0" = { + name = "psl"; + packageName = "psl"; + version = "1.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz"; + sha512 = "avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag=="; + }; + }; + "pump-3.0.0" = { + name = "pump"; + packageName = "pump"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz"; + sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww=="; + }; + }; + "punycode-1.4.1" = { + name = "punycode"; + packageName = "punycode"; + version = "1.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"; + sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"; + }; + }; + "punycode-2.1.1" = { + name = "punycode"; + packageName = "punycode"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"; + sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="; + }; + }; + "qs-6.5.1" = { + name = "qs"; + packageName = "qs"; + version = "6.5.1"; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz"; + sha512 = "eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="; + }; + }; + "qs-6.5.2" = { + name = "qs"; + packageName = "qs"; + version = "6.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz"; + sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="; + }; + }; + "qs-6.7.0" = { + name = "qs"; + packageName = "qs"; + version = "6.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz"; + sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="; + }; + }; + "query-string-5.1.1" = { + name = "query-string"; + packageName = "query-string"; + version = "5.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz"; + sha512 = "gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw=="; + }; + }; + "querystringify-2.1.1" = { + name = "querystringify"; + packageName = "querystringify"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz"; + sha512 = "w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA=="; + }; + }; + "range-parser-1.2.1" = { + name = "range-parser"; + packageName = "range-parser"; + version = "1.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"; + sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="; + }; + }; + "raw-body-2.3.2" = { + name = "raw-body"; + packageName = "raw-body"; + version = "2.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz"; + sha1 = "bcd60c77d3eb93cde0050295c3f379389bc88f89"; + }; + }; + "raw-body-2.4.0" = { + name = "raw-body"; + packageName = "raw-body"; + version = "2.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz"; + sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q=="; + }; + }; + "rc-1.2.8" = { + name = "rc"; + packageName = "rc"; + version = "1.2.8"; + src = fetchurl { + url = "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz"; + sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="; + }; + }; + "readable-stream-2.0.6" = { + name = "readable-stream"; + packageName = "readable-stream"; + version = "2.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"; + sha1 = "8f90341e68a53ccc928788dacfcd11b36eb9b78e"; + }; + }; + "readable-stream-2.3.6" = { + name = "readable-stream"; + packageName = "readable-stream"; + version = "2.3.6"; + src = fetchurl { + url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"; + sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="; + }; + }; + "readdirp-2.2.1" = { + name = "readdirp"; + packageName = "readdirp"; + version = "2.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz"; + sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ=="; + }; + }; + "readdirp-3.1.2" = { + name = "readdirp"; + packageName = "readdirp"; + version = "3.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/readdirp/-/readdirp-3.1.2.tgz"; + sha512 = "8rhl0xs2cxfVsqzreYCvs8EwBfn/DhVdqtoLmw19uI3SC5avYX9teCurlErfpPXGmYtMHReGaP2RsLnFvz/lnw=="; + }; + }; + "regenerator-runtime-0.9.6" = { + name = "regenerator-runtime"; + packageName = "regenerator-runtime"; + version = "0.9.6"; + src = fetchurl { + url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz"; + sha1 = "d33eb95d0d2001a4be39659707c51b0cb71ce029"; + }; + }; + "regex-not-1.0.2" = { + name = "regex-not"; + packageName = "regex-not"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz"; + sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A=="; + }; + }; + "registry-auth-token-3.4.0" = { + name = "registry-auth-token"; + packageName = "registry-auth-token"; + version = "3.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz"; + sha512 = "4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A=="; + }; + }; + "registry-url-3.1.0" = { + name = "registry-url"; + packageName = "registry-url"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz"; + sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942"; + }; + }; + "remove-trailing-separator-1.1.0" = { + name = "remove-trailing-separator"; + packageName = "remove-trailing-separator"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"; + sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef"; + }; + }; + "repeat-element-1.1.3" = { + name = "repeat-element"; + packageName = "repeat-element"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz"; + sha512 = "ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="; + }; + }; + "repeat-string-1.6.1" = { + name = "repeat-string"; + packageName = "repeat-string"; + version = "1.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"; + sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637"; + }; + }; + "request-2.88.0" = { + name = "request"; + packageName = "request"; + version = "2.88.0"; + src = fetchurl { + url = "https://registry.npmjs.org/request/-/request-2.88.0.tgz"; + sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg=="; + }; + }; + "request-promise-4.2.4" = { + name = "request-promise"; + packageName = "request-promise"; + version = "4.2.4"; + src = fetchurl { + url = "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz"; + sha512 = "8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg=="; + }; + }; + "request-promise-core-1.1.2" = { + name = "request-promise-core"; + packageName = "request-promise-core"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz"; + sha512 = "UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag=="; + }; + }; + "require-directory-2.1.1" = { + name = "require-directory"; + packageName = "require-directory"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"; + sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"; + }; + }; + "require-main-filename-2.0.0" = { + name = "require-main-filename"; + packageName = "require-main-filename"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz"; + sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="; + }; + }; + "requires-port-1.0.0" = { + name = "requires-port"; + packageName = "requires-port"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz"; + sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff"; + }; + }; + "resolve-url-0.2.1" = { + name = "resolve-url"; + packageName = "resolve-url"; + version = "0.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz"; + sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a"; + }; + }; + "responselike-1.0.2" = { + name = "responselike"; + packageName = "responselike"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz"; + sha1 = "918720ef3b631c5642be068f15ade5a46f4ba1e7"; + }; + }; + "ret-0.1.15" = { + name = "ret"; + packageName = "ret"; + version = "0.1.15"; + src = fetchurl { + url = "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz"; + sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="; + }; + }; + "rimraf-2.2.8" = { + name = "rimraf"; + packageName = "rimraf"; + version = "2.2.8"; + src = fetchurl { + url = "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz"; + sha1 = "e439be2aaee327321952730f99a8929e4fc50582"; + }; + }; + "rimraf-2.7.1" = { + name = "rimraf"; + packageName = "rimraf"; + version = "2.7.1"; + src = fetchurl { + url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz"; + sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w=="; + }; + }; + "rsvp-4.8.5" = { + name = "rsvp"; + packageName = "rsvp"; + version = "4.8.5"; + src = fetchurl { + url = "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz"; + sha512 = "nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA=="; + }; + }; + "safe-buffer-5.1.1" = { + name = "safe-buffer"; + packageName = "safe-buffer"; + version = "5.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"; + sha512 = "kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="; + }; + }; + "safe-buffer-5.1.2" = { + name = "safe-buffer"; + packageName = "safe-buffer"; + version = "5.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"; + sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="; + }; + }; + "safe-buffer-5.2.0" = { + name = "safe-buffer"; + packageName = "safe-buffer"; + version = "5.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz"; + sha512 = "fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="; + }; + }; + "safe-regex-1.1.0" = { + name = "safe-regex"; + packageName = "safe-regex"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz"; + sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e"; + }; + }; + "safename-1.0.2" = { + name = "safename"; + packageName = "safename"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/safename/-/safename-1.0.2.tgz"; + sha1 = "e659f8ea3ce2148880fbf56de78d8e061f229031"; + }; + }; + "safer-buffer-2.1.2" = { + name = "safer-buffer"; + packageName = "safer-buffer"; + version = "2.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"; + sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="; + }; + }; + "sane-4.1.0" = { + name = "sane"; + packageName = "sane"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz"; + sha512 = "hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA=="; + }; + }; + "semver-5.7.1" = { + name = "semver"; + packageName = "semver"; + version = "5.7.1"; + src = fetchurl { + url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"; + sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="; + }; + }; + "semver-regex-1.0.0" = { + name = "semver-regex"; + packageName = "semver-regex"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz"; + sha1 = "92a4969065f9c70c694753d55248fc68f8f652c9"; + }; + }; + "semver-sort-0.0.4" = { + name = "semver-sort"; + packageName = "semver-sort"; + version = "0.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/semver-sort/-/semver-sort-0.0.4.tgz"; + sha1 = "34fdbddc6a6b2b4161398c3c4dba56243bfeaa8b"; + }; + }; + "send-0.16.2" = { + name = "send"; + packageName = "send"; + version = "0.16.2"; + src = fetchurl { + url = "https://registry.npmjs.org/send/-/send-0.16.2.tgz"; + sha512 = "E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw=="; + }; + }; + "send-0.17.1" = { + name = "send"; + packageName = "send"; + version = "0.17.1"; + src = fetchurl { + url = "https://registry.npmjs.org/send/-/send-0.17.1.tgz"; + sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg=="; + }; + }; + "serve-index-1.9.1" = { + name = "serve-index"; + packageName = "serve-index"; + version = "1.9.1"; + src = fetchurl { + url = "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz"; + sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239"; + }; + }; + "serve-static-1.13.2" = { + name = "serve-static"; + packageName = "serve-static"; + version = "1.13.2"; + src = fetchurl { + url = "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz"; + sha512 = "p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw=="; + }; + }; + "serve-static-1.14.1" = { + name = "serve-static"; + packageName = "serve-static"; + version = "1.14.1"; + src = fetchurl { + url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz"; + sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg=="; + }; + }; + "set-blocking-2.0.0" = { + name = "set-blocking"; + packageName = "set-blocking"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"; + sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7"; + }; + }; + "set-value-2.0.1" = { + name = "set-value"; + packageName = "set-value"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz"; + sha512 = "JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw=="; + }; + }; + "setprototypeof-1.0.3" = { + name = "setprototypeof"; + packageName = "setprototypeof"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz"; + sha1 = "66567e37043eeb4f04d91bd658c0cbefb55b8e04"; + }; + }; + "setprototypeof-1.1.0" = { + name = "setprototypeof"; + packageName = "setprototypeof"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz"; + sha512 = "BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="; + }; + }; + "setprototypeof-1.1.1" = { + name = "setprototypeof"; + packageName = "setprototypeof"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz"; + sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="; + }; + }; + "shebang-command-1.2.0" = { + name = "shebang-command"; + packageName = "shebang-command"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz"; + sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea"; + }; + }; + "shebang-regex-1.0.0" = { + name = "shebang-regex"; + packageName = "shebang-regex"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz"; + sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3"; + }; + }; + "signal-exit-3.0.2" = { + name = "signal-exit"; + packageName = "signal-exit"; + version = "3.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"; + sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d"; + }; + }; + "snapdragon-0.8.2" = { + name = "snapdragon"; + packageName = "snapdragon"; + version = "0.8.2"; + src = fetchurl { + url = "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz"; + sha512 = "FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg=="; + }; + }; + "snapdragon-node-2.1.1" = { + name = "snapdragon-node"; + packageName = "snapdragon-node"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz"; + sha512 = "O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw=="; + }; + }; + "snapdragon-util-3.0.1" = { + name = "snapdragon-util"; + packageName = "snapdragon-util"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz"; + sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ=="; + }; + }; + "sort-keys-2.0.0" = { + name = "sort-keys"; + packageName = "sort-keys"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz"; + sha1 = "658535584861ec97d730d6cf41822e1f56684128"; + }; + }; + "source-map-0.5.7" = { + name = "source-map"; + packageName = "source-map"; + version = "0.5.7"; + src = fetchurl { + url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"; + sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"; + }; + }; + "source-map-resolve-0.5.2" = { + name = "source-map-resolve"; + packageName = "source-map-resolve"; + version = "0.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz"; + sha512 = "MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA=="; + }; + }; + "source-map-url-0.4.0" = { + name = "source-map-url"; + packageName = "source-map-url"; + version = "0.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz"; + sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3"; + }; + }; + "split-1.0.1" = { + name = "split"; + packageName = "split"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/split/-/split-1.0.1.tgz"; + sha512 = "mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg=="; + }; + }; + "split-string-3.1.0" = { + name = "split-string"; + packageName = "split-string"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz"; + sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw=="; + }; + }; + "sshpk-1.16.1" = { + name = "sshpk"; + packageName = "sshpk"; + version = "1.16.1"; + src = fetchurl { + url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz"; + sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg=="; + }; + }; + "static-extend-0.1.2" = { + name = "static-extend"; + packageName = "static-extend"; + version = "0.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz"; + sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6"; + }; + }; + "statuses-1.4.0" = { + name = "statuses"; + packageName = "statuses"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz"; + sha512 = "zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="; + }; + }; + "statuses-1.5.0" = { + name = "statuses"; + packageName = "statuses"; + version = "1.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"; + sha1 = "161c7dac177659fd9811f43771fa99381478628c"; + }; + }; + "stealthy-require-1.1.1" = { + name = "stealthy-require"; + packageName = "stealthy-require"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz"; + sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b"; + }; + }; + "strict-uri-encode-1.1.0" = { + name = "strict-uri-encode"; + packageName = "strict-uri-encode"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz"; + sha1 = "279b225df1d582b1f54e65addd4352e18faa0713"; + }; + }; + "string-width-3.1.0" = { + name = "string-width"; + packageName = "string-width"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz"; + sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w=="; + }; + }; + "string_decoder-0.10.31" = { + name = "string_decoder"; + packageName = "string_decoder"; + version = "0.10.31"; + src = fetchurl { + url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"; + sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94"; + }; + }; + "string_decoder-1.1.1" = { + name = "string_decoder"; + packageName = "string_decoder"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"; + sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="; + }; + }; + "strip-ansi-3.0.1" = { + name = "strip-ansi"; + packageName = "strip-ansi"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"; + sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; + }; + }; + "strip-ansi-5.2.0" = { + name = "strip-ansi"; + packageName = "strip-ansi"; + version = "5.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz"; + sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="; + }; + }; + "strip-eof-1.0.0" = { + name = "strip-eof"; + packageName = "strip-eof"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz"; + sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf"; + }; + }; + "strip-json-comments-2.0.1" = { + name = "strip-json-comments"; + packageName = "strip-json-comments"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"; + sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a"; + }; + }; + "sums-0.2.4" = { + name = "sums"; + packageName = "sums"; + version = "0.2.4"; + src = fetchurl { + url = "https://registry.npmjs.org/sums/-/sums-0.2.4.tgz"; + sha1 = "d78c14398297d604fe6588dc3b03deca7b91ba93"; + }; + }; + "supervisor-0.12.0" = { + name = "supervisor"; + packageName = "supervisor"; + version = "0.12.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supervisor/-/supervisor-0.12.0.tgz"; + sha1 = "de7e6337015b291851c10f3538c4a7f04917ecc1"; + }; + }; + "supports-color-2.0.0" = { + name = "supports-color"; + packageName = "supports-color"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"; + sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; + }; + }; + "supports-color-4.2.0" = { + name = "supports-color"; + packageName = "supports-color"; + version = "4.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz"; + sha512 = "Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg=="; + }; + }; + "supports-color-5.5.0" = { + name = "supports-color"; + packageName = "supports-color"; + version = "5.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"; + sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="; + }; + }; + "syncprompt-2.0.0" = { + name = "syncprompt"; + packageName = "syncprompt"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/syncprompt/-/syncprompt-2.0.0.tgz"; + sha512 = "tPYCsLGWTDRlET7cen2iAwbmO+lSwfIdKoLkUPC41t/54UhqbzpwXL4RhODu5fQnmZdQZlEFKeD0W/BysU5WEg=="; + }; + }; + "tar-4.4.10" = { + name = "tar"; + packageName = "tar"; + version = "4.4.10"; + src = fetchurl { + url = "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz"; + sha512 = "g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA=="; + }; + }; + "temp-0.8.3" = { + name = "temp"; + packageName = "temp"; + version = "0.8.3"; + src = fetchurl { + url = "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz"; + sha1 = "e0c6bc4d26b903124410e4fed81103014dfc1f59"; + }; + }; + "through-2.3.8" = { + name = "through"; + packageName = "through"; + version = "2.3.8"; + src = fetchurl { + url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz"; + sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"; + }; + }; + "through2-2.0.1" = { + name = "through2"; + packageName = "through2"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz"; + sha1 = "384e75314d49f32de12eebb8136b8eb6b5d59da9"; + }; + }; + "through2-2.0.5" = { + name = "through2"; + packageName = "through2"; + version = "2.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz"; + sha512 = "/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ=="; + }; + }; + "timed-out-4.0.1" = { + name = "timed-out"; + packageName = "timed-out"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz"; + sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f"; + }; + }; + "timers-ext-0.1.7" = { + name = "timers-ext"; + packageName = "timers-ext"; + version = "0.1.7"; + src = fetchurl { + url = "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz"; + sha512 = "b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ=="; + }; + }; + "tmp-0.0.31" = { + name = "tmp"; + packageName = "tmp"; + version = "0.0.31"; + src = fetchurl { + url = "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz"; + sha1 = "8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"; + }; + }; + "tmp-0.1.0" = { + name = "tmp"; + packageName = "tmp"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz"; + sha512 = "J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw=="; + }; + }; + "tmpl-1.0.4" = { + name = "tmpl"; + packageName = "tmpl"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz"; + sha1 = "23640dd7b42d00433911140820e5cf440e521dd1"; + }; + }; + "to-object-path-0.3.0" = { + name = "to-object-path"; + packageName = "to-object-path"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz"; + sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af"; + }; + }; + "to-regex-3.0.2" = { + name = "to-regex"; + packageName = "to-regex"; + version = "3.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz"; + sha512 = "FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw=="; + }; + }; + "to-regex-range-2.1.1" = { + name = "to-regex-range"; + packageName = "to-regex-range"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz"; + sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38"; + }; + }; + "to-regex-range-5.0.1" = { + name = "to-regex-range"; + packageName = "to-regex-range"; + version = "5.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"; + sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="; + }; + }; + "toidentifier-1.0.0" = { + name = "toidentifier"; + packageName = "toidentifier"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz"; + sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="; + }; + }; + "tough-cookie-2.4.3" = { + name = "tough-cookie"; + packageName = "tough-cookie"; + version = "2.4.3"; + src = fetchurl { + url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz"; + sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ=="; + }; + }; + "traverse-0.3.9" = { + name = "traverse"; + packageName = "traverse"; + version = "0.3.9"; + src = fetchurl { + url = "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz"; + sha1 = "717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9"; + }; + }; + "traverse-chain-0.1.0" = { + name = "traverse-chain"; + packageName = "traverse-chain"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/traverse-chain/-/traverse-chain-0.1.0.tgz"; + sha1 = "61dbc2d53b69ff6091a12a168fd7d433107e40f1"; + }; + }; + "tunnel-agent-0.6.0" = { + name = "tunnel-agent"; + packageName = "tunnel-agent"; + version = "0.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz"; + sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd"; + }; + }; + "tweetnacl-0.14.5" = { + name = "tweetnacl"; + packageName = "tweetnacl"; + version = "0.14.5"; + src = fetchurl { + url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"; + sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; + }; + }; + "type-1.0.3" = { + name = "type"; + packageName = "type"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/type/-/type-1.0.3.tgz"; + sha512 = "51IMtNfVcee8+9GJvj0spSuFcZHe9vSib6Xtgsny1Km9ugyz2mbS08I3rsUIRYgJohFRFU1160sgRodYz378Hg=="; + }; + }; + "type-is-1.6.18" = { + name = "type-is"; + packageName = "type-is"; + version = "1.6.18"; + src = fetchurl { + url = "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"; + sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="; + }; + }; + "typedarray-0.0.6" = { + name = "typedarray"; + packageName = "typedarray"; + version = "0.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"; + sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777"; + }; + }; + "ultron-1.0.2" = { + name = "ultron"; + packageName = "ultron"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz"; + sha1 = "ace116ab557cd197386a4e88f4685378c8b2e4fa"; + }; + }; + "ultron-1.1.1" = { + name = "ultron"; + packageName = "ultron"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz"; + sha512 = "UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og=="; + }; + }; + "union-value-1.0.1" = { + name = "union-value"; + packageName = "union-value"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz"; + sha512 = "tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg=="; + }; + }; + "universalify-0.1.2" = { + name = "universalify"; + packageName = "universalify"; + version = "0.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz"; + sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="; + }; + }; + "unpipe-1.0.0" = { + name = "unpipe"; + packageName = "unpipe"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"; + sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec"; + }; + }; + "unset-value-1.0.0" = { + name = "unset-value"; + packageName = "unset-value"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz"; + sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"; + }; + }; + "unzip-response-2.0.1" = { + name = "unzip-response"; + packageName = "unzip-response"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz"; + sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97"; + }; + }; + "unzip-stream-0.3.0" = { + name = "unzip-stream"; + packageName = "unzip-stream"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/unzip-stream/-/unzip-stream-0.3.0.tgz"; + sha512 = "NG1h/MdGIX3HzyqMjyj1laBCmlPYhcO4xEy7gEqqzGiSLw7XqDQCnY4nYSn5XSaH8mQ6TFkaujrO8d/PIZN85A=="; + }; + }; + "upath-1.1.2" = { + name = "upath"; + packageName = "upath"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz"; + sha512 = "kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q=="; + }; + }; + "uri-js-4.2.2" = { + name = "uri-js"; + packageName = "uri-js"; + version = "4.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz"; + sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ=="; + }; + }; + "urix-0.1.0" = { + name = "urix"; + packageName = "urix"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"; + sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72"; + }; + }; + "url-parse-1.4.3" = { + name = "url-parse"; + packageName = "url-parse"; + version = "1.4.3"; + src = fetchurl { + url = "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz"; + sha512 = "rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw=="; + }; + }; + "url-parse-lax-1.0.0" = { + name = "url-parse-lax"; + packageName = "url-parse-lax"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz"; + sha1 = "7af8f303645e9bd79a272e7a14ac68bc0609da73"; + }; + }; + "url-parse-lax-3.0.0" = { + name = "url-parse-lax"; + packageName = "url-parse-lax"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz"; + sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c"; + }; + }; + "url-to-options-1.0.1" = { + name = "url-to-options"; + packageName = "url-to-options"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz"; + sha1 = "1505a03a289a48cbd7a434efbaeec5055f5633a9"; + }; + }; + "use-3.1.1" = { + name = "use"; + packageName = "use"; + version = "3.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/use/-/use-3.1.1.tgz"; + sha512 = "cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="; + }; + }; + "util-deprecate-1.0.2" = { + name = "util-deprecate"; + packageName = "util-deprecate"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"; + sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; + }; + }; + "util.promisify-1.0.0" = { + name = "util.promisify"; + packageName = "util.promisify"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz"; + sha512 = "i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA=="; + }; + }; + "utils-merge-1.0.1" = { + name = "utils-merge"; + packageName = "utils-merge"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"; + sha1 = "9f95710f50a267947b2ccc124741c1028427e713"; + }; + }; + "uuid-3.3.3" = { + name = "uuid"; + packageName = "uuid"; + version = "3.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz"; + sha512 = "pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="; + }; + }; + "vary-1.1.2" = { + name = "vary"; + packageName = "vary"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"; + sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc"; + }; + }; + "verror-1.10.0" = { + name = "verror"; + packageName = "verror"; + version = "1.10.0"; + src = fetchurl { + url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"; + sha1 = "3a105ca17053af55d6e270c1f8288682e18da400"; + }; + }; + "walker-1.0.7" = { + name = "walker"; + packageName = "walker"; + version = "1.0.7"; + src = fetchurl { + url = "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz"; + sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb"; + }; + }; + "which-1.3.1" = { + name = "which"; + packageName = "which"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz"; + sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ=="; + }; + }; + "which-module-2.0.0" = { + name = "which-module"; + packageName = "which-module"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz"; + sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"; + }; + }; + "wrap-ansi-5.1.0" = { + name = "wrap-ansi"; + packageName = "wrap-ansi"; + version = "5.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz"; + sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q=="; + }; + }; + "wrappy-1.0.2" = { + name = "wrappy"; + packageName = "wrappy"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"; + sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; + }; + }; + "ws-1.1.5" = { + name = "ws"; + packageName = "ws"; + version = "1.1.5"; + src = fetchurl { + url = "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz"; + sha512 = "o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w=="; + }; + }; + "ws-3.3.1" = { + name = "ws"; + packageName = "ws"; + version = "3.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ws/-/ws-3.3.1.tgz"; + sha512 = "8A/uRMnQy8KCQsmep1m7Bk+z/+LIkeF7w+TDMLtX1iZm5Hq9HsUDmgFGaW1ACW5Cj0b2Qo7wCvRhYN2ErUVp/A=="; + }; + }; + "ws-5.2.0" = { + name = "ws"; + packageName = "ws"; + version = "5.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ws/-/ws-5.2.0.tgz"; + sha512 = "c18dMeW+PEQdDFzkhDsnBAlS4Z8KGStBQQUcQ5mf7Nf689jyGk0594L+i9RaQuf4gog6SvWLJorz2NfSaqxZ7w=="; + }; + }; + "ws-5.2.2" = { + name = "ws"; + packageName = "ws"; + version = "5.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz"; + sha512 = "jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA=="; + }; + }; + "ws-6.2.1" = { + name = "ws"; + packageName = "ws"; + version = "6.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz"; + sha512 = "GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA=="; + }; + }; + "xmlbuilder-8.2.2" = { + name = "xmlbuilder"; + packageName = "xmlbuilder"; + version = "8.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz"; + sha1 = "69248673410b4ba42e1a6136551d2922335aa773"; + }; + }; + "xtend-4.0.2" = { + name = "xtend"; + packageName = "xtend"; + version = "4.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"; + sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="; + }; + }; + "y18n-4.0.0" = { + name = "y18n"; + packageName = "y18n"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz"; + sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="; + }; + }; + "yallist-2.1.2" = { + name = "yallist"; + packageName = "yallist"; + version = "2.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz"; + sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52"; + }; + }; + "yallist-3.0.3" = { + name = "yallist"; + packageName = "yallist"; + version = "3.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz"; + sha512 = "S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A=="; + }; + }; + "yargs-13.3.0" = { + name = "yargs"; + packageName = "yargs"; + version = "13.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz"; + sha512 = "2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA=="; + }; + }; + "yargs-parser-13.1.1" = { + name = "yargs-parser"; + packageName = "yargs-parser"; + version = "13.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz"; + sha512 = "oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ=="; + }; + }; + "yn-2.0.0" = { + name = "yn"; + packageName = "yn"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz"; + sha1 = "e5adabc8acf408f6385fc76495684c88e6af689a"; + }; + }; + }; +in +{ + elm-test = nodeEnv.buildNodePackage { + name = "elm-test"; + packageName = "elm-test"; + version = "0.19.0-rev6"; + src = fetchurl { + url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.0-rev6.tgz"; + sha512 = "Qdy9QusZF+eT0203XBiT1Y/UhFeUjcSuyyzf3iyp32dsYpAfcoDTWHjlBVjia1CyvFauESQ4pc81nKaq6snClg=="; + }; + dependencies = [ + sources."ajv-6.10.2" + sources."ansi-styles-3.2.1" + (sources."anymatch-2.0.0" // { + dependencies = [ + sources."normalize-path-2.1.1" + ]; + }) + sources."arr-diff-4.0.0" + sources."arr-flatten-1.1.0" + sources."arr-union-3.1.0" + sources."array-unique-0.3.2" + sources."asn1-0.2.4" + sources."assert-plus-1.0.0" + sources."assign-symbols-1.0.0" + sources."async-each-1.0.3" + sources."asynckit-0.4.0" + sources."atob-2.1.2" + sources."aws-sign2-0.7.0" + sources."aws4-1.8.0" + sources."balanced-match-1.0.0" + (sources."base-0.11.2" // { + dependencies = [ + sources."define-property-1.0.0" + ]; + }) + sources."bcrypt-pbkdf-1.0.2" + sources."binary-0.3.0" + sources."binary-extensions-1.13.1" + sources."binwrap-0.2.2" + sources."bluebird-3.5.5" + sources."brace-expansion-1.1.11" + (sources."braces-2.3.2" // { + dependencies = [ + sources."extend-shallow-2.0.1" + sources."is-extendable-0.1.1" + ]; + }) + sources."buffers-0.1.1" + sources."cache-base-1.0.1" + sources."caseless-0.12.0" + sources."chainsaw-0.1.0" + sources."chalk-2.1.0" + (sources."chokidar-2.1.2" // { + dependencies = [ + sources."fsevents-1.2.9" + ]; + }) + sources."chownr-1.1.2" + (sources."class-utils-0.3.6" // { + dependencies = [ + sources."define-property-0.2.5" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + ]; + }) + sources."collection-visit-1.0.0" + sources."color-convert-1.9.3" + sources."color-name-1.1.3" + sources."combined-stream-1.0.8" + sources."component-emitter-1.3.0" + sources."concat-map-0.0.1" + sources."copy-descriptor-0.1.1" + sources."core-util-is-1.0.2" + sources."cross-spawn-4.0.0" + sources."dashdash-1.14.1" + sources."debug-2.6.9" + sources."decode-uri-component-0.2.0" + sources."define-property-2.0.2" + sources."delayed-stream-1.0.0" + sources."ecc-jsbn-0.1.2" + sources."elmi-to-json-0.19.1" + sources."escape-string-regexp-1.0.5" + (sources."expand-brackets-2.1.4" // { + dependencies = [ + sources."define-property-0.2.5" + sources."extend-shallow-2.0.1" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."is-extendable-0.1.1" + sources."kind-of-5.1.0" + ]; + }) + sources."extend-3.0.2" + sources."extend-shallow-3.0.2" + (sources."extglob-2.0.4" // { + dependencies = [ + sources."define-property-1.0.0" + sources."extend-shallow-2.0.1" + sources."is-extendable-0.1.1" + ]; + }) + sources."extsprintf-1.3.0" + sources."fast-deep-equal-2.0.1" + sources."fast-json-stable-stringify-2.0.0" + (sources."fill-range-4.0.0" // { + dependencies = [ + sources."extend-shallow-2.0.1" + sources."is-extendable-0.1.1" + ]; + }) + (sources."find-elm-dependencies-2.0.1" // { + dependencies = [ + sources."firstline-1.2.0" + ]; + }) + sources."find-parent-dir-0.3.0" + sources."firstline-1.2.1" + sources."for-in-1.0.2" + sources."forever-agent-0.6.1" + sources."form-data-2.3.3" + sources."fragment-cache-0.2.1" + sources."fs-extra-0.30.0" + sources."fs-minipass-1.2.6" + sources."fs.realpath-1.0.0" + sources."fsevents-1.2.4" + sources."get-value-2.0.6" + sources."getpass-0.1.7" + sources."glob-7.1.1" + (sources."glob-parent-3.1.0" // { + dependencies = [ + sources."is-glob-3.1.0" + ]; + }) + sources."graceful-fs-4.2.2" + sources."har-schema-2.0.0" + sources."har-validator-5.1.3" + sources."has-flag-2.0.0" + sources."has-value-1.0.0" + (sources."has-values-1.0.0" // { + dependencies = [ + sources."kind-of-4.0.0" + ]; + }) + sources."http-signature-1.2.0" + sources."inflight-1.0.6" + sources."inherits-2.0.4" + sources."is-accessor-descriptor-1.0.0" + sources."is-binary-path-1.0.1" + sources."is-buffer-1.1.6" + sources."is-data-descriptor-1.0.0" + sources."is-descriptor-1.0.2" + sources."is-extendable-1.0.1" + sources."is-extglob-2.1.1" + sources."is-glob-4.0.1" + (sources."is-number-3.0.0" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-plain-object-2.0.4" + sources."is-typedarray-1.0.0" + sources."is-windows-1.0.2" + sources."isarray-1.0.0" + sources."isexe-2.0.0" + sources."isobject-3.0.1" + sources."isstream-0.1.2" + sources."jsbn-0.1.1" + sources."json-schema-0.2.3" + sources."json-schema-traverse-0.4.1" + sources."json-stringify-safe-5.0.1" + sources."jsonfile-2.4.0" + sources."jsprim-1.4.1" + sources."kind-of-6.0.2" + sources."klaw-1.3.1" + sources."lodash-4.17.11" + sources."lru-cache-4.1.5" + sources."map-cache-0.2.2" + sources."map-visit-1.0.0" + sources."micromatch-3.1.10" + sources."mime-db-1.40.0" + sources."mime-types-2.1.24" + sources."minimatch-3.0.4" + sources."minimist-1.2.0" + (sources."minipass-2.4.0" // { + dependencies = [ + sources."yallist-3.0.3" + ]; + }) + sources."minizlib-1.2.1" + sources."mixin-deep-1.3.2" + (sources."mkdirp-0.5.1" // { + dependencies = [ + sources."minimist-0.0.8" + ]; + }) + sources."ms-2.0.0" + sources."murmur-hash-js-1.0.0" + sources."mustache-3.0.3" + sources."nan-2.14.0" + sources."nanomatch-1.2.13" + sources."node-elm-compiler-5.0.3" + sources."normalize-path-3.0.0" + sources."oauth-sign-0.9.0" + (sources."object-copy-0.1.0" // { + dependencies = [ + sources."define-property-0.2.5" + sources."is-accessor-descriptor-0.1.6" + sources."is-data-descriptor-0.1.4" + (sources."is-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-5.1.0" + ]; + }) + sources."kind-of-3.2.2" + ]; + }) + sources."object-visit-1.0.1" + sources."object.pick-1.3.0" + sources."once-1.4.0" + sources."os-tmpdir-1.0.2" + sources."pascalcase-0.1.1" + sources."path-dirname-1.0.2" + sources."path-is-absolute-1.0.1" + sources."performance-now-2.1.0" + sources."posix-character-classes-0.1.1" + sources."process-nextick-args-2.0.1" + sources."pseudomap-1.0.2" + sources."psl-1.3.0" + sources."punycode-2.1.1" + sources."qs-6.5.2" + sources."readable-stream-2.3.6" + sources."readdirp-2.2.1" + sources."regex-not-1.0.2" + sources."remove-trailing-separator-1.1.0" + sources."repeat-element-1.1.3" + sources."repeat-string-1.6.1" + sources."request-2.88.0" + sources."request-promise-4.2.4" + sources."request-promise-core-1.1.2" + sources."resolve-url-0.2.1" + sources."ret-0.1.15" + (sources."rimraf-2.7.1" // { + dependencies = [ + sources."glob-7.1.4" + ]; + }) + sources."safe-buffer-5.1.2" + sources."safe-regex-1.1.0" + sources."safer-buffer-2.1.2" + (sources."set-value-2.0.1" // { + dependencies = [ + sources."extend-shallow-2.0.1" + sources."is-extendable-0.1.1" + ]; + }) + (sources."snapdragon-0.8.2" // { + dependencies = [ + sources."define-property-0.2.5" + sources."extend-shallow-2.0.1" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."is-extendable-0.1.1" + sources."kind-of-5.1.0" + ]; + }) + (sources."snapdragon-node-2.1.1" // { + dependencies = [ + sources."define-property-1.0.0" + ]; + }) + (sources."snapdragon-util-3.0.1" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."source-map-0.5.7" + sources."source-map-resolve-0.5.2" + sources."source-map-url-0.4.0" + sources."split-1.0.1" + sources."split-string-3.1.0" + sources."sshpk-1.16.1" + (sources."static-extend-0.1.2" // { + dependencies = [ + sources."define-property-0.2.5" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + ]; + }) + sources."stealthy-require-1.1.1" + sources."string_decoder-1.1.1" + sources."supports-color-4.2.0" + (sources."tar-4.4.10" // { + dependencies = [ + sources."yallist-3.0.3" + ]; + }) + (sources."temp-0.8.3" // { + dependencies = [ + sources."rimraf-2.2.8" + ]; + }) + sources."through-2.3.8" + (sources."to-object-path-0.3.0" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."to-regex-3.0.2" + sources."to-regex-range-2.1.1" + (sources."tough-cookie-2.4.3" // { + dependencies = [ + sources."punycode-1.4.1" + ]; + }) + sources."traverse-0.3.9" + sources."tunnel-agent-0.6.0" + sources."tweetnacl-0.14.5" + (sources."union-value-1.0.1" // { + dependencies = [ + sources."is-extendable-0.1.1" + ]; + }) + (sources."unset-value-1.0.0" // { + dependencies = [ + (sources."has-value-0.3.1" // { + dependencies = [ + sources."isobject-2.1.0" + ]; + }) + sources."has-values-0.1.4" + ]; + }) + sources."unzip-stream-0.3.0" + sources."upath-1.1.2" + sources."uri-js-4.2.2" + sources."urix-0.1.0" + sources."use-3.1.1" + sources."util-deprecate-1.0.2" + sources."uuid-3.3.3" + sources."verror-1.10.0" + sources."which-1.3.1" + sources."wrappy-1.0.2" + sources."xmlbuilder-8.2.2" + sources."yallist-2.1.2" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "Run elm-test suites."; + homepage = "https://github.com/rtfeldman/node-test-runner#readme"; + license = "BSD-3-Clause"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + elm-verify-examples = nodeEnv.buildNodePackage { + name = "elm-verify-examples"; + packageName = "elm-verify-examples"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/elm-verify-examples/-/elm-verify-examples-4.0.1.tgz"; + sha512 = "YlkOLWIDnlgkKG8gnxQkKKJHkkx4MqyIXqjmYqvGPwatrPmLo46BJ2drOPHNIh43T7mh7c1K8vxrzV4seQtFUA=="; + }; + dependencies = [ + sources."ajv-6.10.2" + sources."ansi-regex-4.1.0" + sources."ansi-styles-3.2.1" + (sources."anymatch-2.0.0" // { + dependencies = [ + sources."normalize-path-2.1.1" + ]; + }) + sources."arr-diff-4.0.0" + sources."arr-flatten-1.1.0" + sources."arr-union-3.1.0" + sources."array-unique-0.3.2" + sources."asn1-0.2.4" + sources."assert-plus-1.0.0" + sources."assign-symbols-1.0.0" + sources."async-each-1.0.3" + sources."asynckit-0.4.0" + sources."atob-2.1.2" + sources."aws-sign2-0.7.0" + sources."aws4-1.8.0" + sources."balanced-match-1.0.0" + (sources."base-0.11.2" // { + dependencies = [ + sources."define-property-1.0.0" + ]; + }) + sources."bcrypt-pbkdf-1.0.2" + sources."binary-0.3.0" + sources."binary-extensions-1.13.1" + sources."binwrap-0.2.2" + sources."bluebird-3.5.5" + sources."brace-expansion-1.1.11" + (sources."braces-2.3.2" // { + dependencies = [ + sources."extend-shallow-2.0.1" + sources."is-extendable-0.1.1" + ]; + }) + sources."buffers-0.1.1" + sources."cache-base-1.0.1" + sources."camelcase-5.3.1" + sources."caseless-0.12.0" + sources."chainsaw-0.1.0" + sources."chalk-2.4.2" + (sources."chokidar-2.1.2" // { + dependencies = [ + sources."fsevents-1.2.9" + ]; + }) + sources."chownr-1.1.2" + (sources."class-utils-0.3.6" // { + dependencies = [ + sources."define-property-0.2.5" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + ]; + }) + sources."cliui-5.0.0" + sources."collection-visit-1.0.0" + sources."color-convert-1.9.3" + sources."color-name-1.1.3" + sources."combined-stream-1.0.8" + sources."component-emitter-1.3.0" + sources."concat-map-0.0.1" + sources."copy-descriptor-0.1.1" + sources."core-util-is-1.0.2" + sources."cross-spawn-4.0.0" + sources."dashdash-1.14.1" + sources."debug-2.6.9" + sources."decamelize-1.2.0" + sources."decode-uri-component-0.2.0" + sources."define-property-2.0.2" + sources."delayed-stream-1.0.0" + sources."ecc-jsbn-0.1.2" + (sources."elm-test-0.19.0-rev6" // { + dependencies = [ + sources."chalk-2.1.0" + sources."fs-extra-0.30.0" + sources."has-flag-2.0.0" + sources."supports-color-4.2.0" + ]; + }) + sources."elmi-to-json-0.19.1" + sources."emoji-regex-7.0.3" + sources."escape-string-regexp-1.0.5" + (sources."expand-brackets-2.1.4" // { + dependencies = [ + sources."define-property-0.2.5" + sources."extend-shallow-2.0.1" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."is-extendable-0.1.1" + sources."kind-of-5.1.0" + ]; + }) + sources."extend-3.0.2" + sources."extend-shallow-3.0.2" + (sources."extglob-2.0.4" // { + dependencies = [ + sources."define-property-1.0.0" + sources."extend-shallow-2.0.1" + sources."is-extendable-0.1.1" + ]; + }) + sources."extsprintf-1.3.0" + sources."fast-deep-equal-2.0.1" + sources."fast-json-stable-stringify-2.0.0" + (sources."fill-range-4.0.0" // { + dependencies = [ + sources."extend-shallow-2.0.1" + sources."is-extendable-0.1.1" + ]; + }) + (sources."find-elm-dependencies-2.0.1" // { + dependencies = [ + sources."firstline-1.2.0" + ]; + }) + sources."find-parent-dir-0.3.0" + sources."find-up-3.0.0" + sources."firstline-1.2.1" + sources."for-in-1.0.2" + sources."forever-agent-0.6.1" + sources."form-data-2.3.3" + sources."fragment-cache-0.2.1" + (sources."fs-extra-5.0.0" // { + dependencies = [ + sources."jsonfile-4.0.0" + ]; + }) + sources."fs-minipass-1.2.6" + sources."fs.realpath-1.0.0" + sources."fsevents-1.2.4" + sources."get-caller-file-2.0.5" + sources."get-value-2.0.6" + sources."getpass-0.1.7" + sources."glob-7.1.1" + (sources."glob-parent-3.1.0" // { + dependencies = [ + sources."is-glob-3.1.0" + ]; + }) + sources."graceful-fs-4.2.2" + sources."har-schema-2.0.0" + sources."har-validator-5.1.3" + sources."has-flag-3.0.0" + sources."has-value-1.0.0" + (sources."has-values-1.0.0" // { + dependencies = [ + sources."kind-of-4.0.0" + ]; + }) + sources."http-signature-1.2.0" + sources."inflight-1.0.6" + sources."inherits-2.0.4" + sources."is-accessor-descriptor-1.0.0" + sources."is-binary-path-1.0.1" + sources."is-buffer-1.1.6" + sources."is-data-descriptor-1.0.0" + sources."is-descriptor-1.0.2" + sources."is-extendable-1.0.1" + sources."is-extglob-2.1.1" + sources."is-fullwidth-code-point-2.0.0" + sources."is-glob-4.0.1" + (sources."is-number-3.0.0" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-plain-object-2.0.4" + sources."is-typedarray-1.0.0" + sources."is-windows-1.0.2" + sources."isarray-1.0.0" + sources."isexe-2.0.0" + sources."isobject-3.0.1" + sources."isstream-0.1.2" + sources."jsbn-0.1.1" + sources."json-schema-0.2.3" + sources."json-schema-traverse-0.4.1" + sources."json-stringify-safe-5.0.1" + sources."jsonfile-2.4.0" + sources."jsprim-1.4.1" + sources."kind-of-6.0.2" + sources."klaw-1.3.1" + sources."locate-path-3.0.0" + sources."lodash-4.17.11" + sources."lru-cache-4.1.5" + sources."map-cache-0.2.2" + sources."map-visit-1.0.0" + sources."micromatch-3.1.10" + sources."mime-db-1.40.0" + sources."mime-types-2.1.24" + sources."minimatch-3.0.4" + sources."minimist-1.2.0" + (sources."minipass-2.4.0" // { + dependencies = [ + sources."yallist-3.0.3" + ]; + }) + sources."minizlib-1.2.1" + sources."mixin-deep-1.3.2" + (sources."mkdirp-0.5.1" // { + dependencies = [ + sources."minimist-0.0.8" + ]; + }) + sources."ms-2.0.0" + sources."murmur-hash-js-1.0.0" + sources."mustache-3.0.3" + sources."nan-2.14.0" + sources."nanomatch-1.2.13" + sources."node-elm-compiler-5.0.3" + sources."normalize-path-3.0.0" + sources."oauth-sign-0.9.0" + (sources."object-copy-0.1.0" // { + dependencies = [ + sources."define-property-0.2.5" + sources."is-accessor-descriptor-0.1.6" + sources."is-data-descriptor-0.1.4" + (sources."is-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-5.1.0" + ]; + }) + sources."kind-of-3.2.2" + ]; + }) + sources."object-visit-1.0.1" + sources."object.pick-1.3.0" + sources."once-1.4.0" + sources."os-tmpdir-1.0.2" + sources."p-limit-2.2.1" + sources."p-locate-3.0.0" + sources."p-try-2.2.0" + sources."pascalcase-0.1.1" + sources."path-dirname-1.0.2" + sources."path-exists-3.0.0" + sources."path-is-absolute-1.0.1" + sources."performance-now-2.1.0" + sources."posix-character-classes-0.1.1" + sources."process-nextick-args-2.0.1" + sources."pseudomap-1.0.2" + sources."psl-1.3.0" + sources."punycode-2.1.1" + sources."qs-6.5.2" + sources."readable-stream-2.3.6" + sources."readdirp-2.2.1" + sources."regex-not-1.0.2" + sources."remove-trailing-separator-1.1.0" + sources."repeat-element-1.1.3" + sources."repeat-string-1.6.1" + sources."request-2.88.0" + sources."request-promise-4.2.4" + sources."request-promise-core-1.1.2" + sources."require-directory-2.1.1" + sources."require-main-filename-2.0.0" + sources."resolve-url-0.2.1" + sources."ret-0.1.15" + (sources."rimraf-2.7.1" // { + dependencies = [ + sources."glob-7.1.4" + ]; + }) + sources."safe-buffer-5.1.2" + sources."safe-regex-1.1.0" + sources."safer-buffer-2.1.2" + sources."set-blocking-2.0.0" + (sources."set-value-2.0.1" // { + dependencies = [ + sources."extend-shallow-2.0.1" + sources."is-extendable-0.1.1" + ]; + }) + (sources."snapdragon-0.8.2" // { + dependencies = [ + sources."define-property-0.2.5" + sources."extend-shallow-2.0.1" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."is-extendable-0.1.1" + sources."kind-of-5.1.0" + ]; + }) + (sources."snapdragon-node-2.1.1" // { + dependencies = [ + sources."define-property-1.0.0" + ]; + }) + (sources."snapdragon-util-3.0.1" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."source-map-0.5.7" + sources."source-map-resolve-0.5.2" + sources."source-map-url-0.4.0" + sources."split-1.0.1" + sources."split-string-3.1.0" + sources."sshpk-1.16.1" + (sources."static-extend-0.1.2" // { + dependencies = [ + sources."define-property-0.2.5" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + ]; + }) + sources."stealthy-require-1.1.1" + sources."string-width-3.1.0" + sources."string_decoder-1.1.1" + sources."strip-ansi-5.2.0" + sources."supports-color-5.5.0" + (sources."tar-4.4.10" // { + dependencies = [ + sources."yallist-3.0.3" + ]; + }) + (sources."temp-0.8.3" // { + dependencies = [ + sources."rimraf-2.2.8" + ]; + }) + sources."through-2.3.8" + (sources."to-object-path-0.3.0" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."to-regex-3.0.2" + sources."to-regex-range-2.1.1" + (sources."tough-cookie-2.4.3" // { + dependencies = [ + sources."punycode-1.4.1" + ]; + }) + sources."traverse-0.3.9" + sources."tunnel-agent-0.6.0" + sources."tweetnacl-0.14.5" + (sources."union-value-1.0.1" // { + dependencies = [ + sources."is-extendable-0.1.1" + ]; + }) + sources."universalify-0.1.2" + (sources."unset-value-1.0.0" // { + dependencies = [ + (sources."has-value-0.3.1" // { + dependencies = [ + sources."isobject-2.1.0" + ]; + }) + sources."has-values-0.1.4" + ]; + }) + sources."unzip-stream-0.3.0" + sources."upath-1.1.2" + sources."uri-js-4.2.2" + sources."urix-0.1.0" + sources."use-3.1.1" + sources."util-deprecate-1.0.2" + sources."uuid-3.3.3" + sources."verror-1.10.0" + sources."which-1.3.1" + sources."which-module-2.0.0" + sources."wrap-ansi-5.1.0" + sources."wrappy-1.0.2" + sources."xmlbuilder-8.2.2" + sources."y18n-4.0.0" + sources."yallist-2.1.2" + sources."yargs-13.3.0" + sources."yargs-parser-13.1.1" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "Verify examples in Elm doc-comments"; + license = "BSD-3-Clause"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + elm-doc-preview = nodeEnv.buildNodePackage { + name = "elm-doc-preview"; + packageName = "elm-doc-preview"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/elm-doc-preview/-/elm-doc-preview-3.0.1.tgz"; + sha512 = "NpAgEKNiYkQE932gMjFGC/BpcmUD9ohhrbSnGSoQBsC+VPRKCiGdmLJUiql/aPC2eXYIlWQJ5YJ5rFWI0iovbw=="; + }; + dependencies = [ + sources."@cnakazawa/watch-1.0.3" + sources."@sindresorhus/is-0.7.0" + sources."accepts-1.3.7" + sources."ansi-styles-3.2.1" + sources."anymatch-2.0.0" + sources."arr-diff-4.0.0" + sources."arr-flatten-1.1.0" + sources."arr-union-3.1.0" + sources."array-flatten-1.1.1" + sources."array-unique-0.3.2" + sources."assign-symbols-1.0.0" + sources."async-limiter-1.0.1" + sources."atob-2.1.2" + sources."balanced-match-1.0.0" + (sources."base-0.11.2" // { + dependencies = [ + sources."define-property-1.0.0" + ]; + }) + sources."batch-0.6.1" + sources."body-parser-1.19.0" + sources."brace-expansion-1.1.11" + (sources."braces-2.3.2" // { + dependencies = [ + sources."extend-shallow-2.0.1" + ]; + }) + sources."bser-2.1.0" + sources."bytes-3.1.0" + sources."cache-base-1.0.1" + (sources."cacheable-request-2.1.4" // { + dependencies = [ + sources."lowercase-keys-1.0.0" + ]; + }) + sources."capture-exit-2.0.0" + sources."chalk-2.4.2" + (sources."class-utils-0.3.6" // { + dependencies = [ + sources."define-property-0.2.5" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + ]; + }) + sources."clone-response-1.0.2" + sources."collection-visit-1.0.0" + sources."color-convert-1.9.3" + sources."color-name-1.1.3" + sources."commander-3.0.0" + sources."component-emitter-1.3.0" + sources."concat-map-0.0.1" + sources."content-disposition-0.5.3" + sources."content-type-1.0.4" + sources."cookie-0.4.0" + sources."cookie-signature-1.0.6" + sources."copy-descriptor-0.1.1" + sources."core-js-3.2.1" + sources."core-util-is-1.0.2" + sources."cross-spawn-6.0.5" + sources."debug-2.6.9" + sources."decode-uri-component-0.2.0" + sources."decompress-response-3.3.0" + sources."deep-extend-0.6.0" + sources."define-properties-1.1.3" + sources."define-property-2.0.2" + sources."depd-1.1.2" + sources."destroy-1.0.4" + sources."duplexer3-0.1.4" + sources."ee-first-1.1.1" + sources."encodeurl-1.0.2" + sources."end-of-stream-1.4.1" + sources."es-abstract-1.13.0" + sources."es-to-primitive-1.2.0" + sources."escape-html-1.0.3" + sources."escape-string-regexp-1.0.5" + sources."etag-1.8.1" + sources."exec-sh-0.3.2" + (sources."execa-1.0.0" // { + dependencies = [ + sources."get-stream-4.1.0" + ]; + }) + (sources."expand-brackets-2.1.4" // { + dependencies = [ + sources."define-property-0.2.5" + sources."extend-shallow-2.0.1" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + ]; + }) + sources."express-4.17.1" + (sources."express-ws-4.0.0" // { + dependencies = [ + sources."ws-5.2.2" + ]; + }) + (sources."extend-shallow-3.0.2" // { + dependencies = [ + sources."is-extendable-1.0.1" + ]; + }) + (sources."extglob-2.0.4" // { + dependencies = [ + sources."define-property-1.0.0" + sources."extend-shallow-2.0.1" + ]; + }) + sources."fb-watchman-2.0.0" + (sources."fill-range-4.0.0" // { + dependencies = [ + sources."extend-shallow-2.0.1" + ]; + }) + sources."finalhandler-1.1.2" + sources."for-in-1.0.2" + sources."forwarded-0.1.2" + sources."fragment-cache-0.2.1" + sources."fresh-0.5.2" + sources."from2-2.3.0" + sources."fs.realpath-1.0.0" + sources."function-bind-1.1.1" + sources."get-stream-3.0.0" + sources."get-value-2.0.6" + sources."glob-7.1.4" + sources."got-8.3.2" + sources."has-1.0.3" + sources."has-flag-3.0.0" + sources."has-symbol-support-x-1.4.2" + sources."has-symbols-1.0.0" + sources."has-to-string-tag-x-1.4.1" + sources."has-value-1.0.0" + (sources."has-values-1.0.0" // { + dependencies = [ + sources."kind-of-4.0.0" + ]; + }) + sources."http-cache-semantics-3.8.1" + sources."http-errors-1.7.2" + sources."iconv-lite-0.4.24" + sources."inflight-1.0.6" + sources."inherits-2.0.3" + sources."ini-1.3.5" + sources."into-stream-3.1.0" + sources."ipaddr.js-1.9.0" + sources."is-accessor-descriptor-1.0.0" + sources."is-buffer-1.1.6" + sources."is-callable-1.1.4" + sources."is-data-descriptor-1.0.0" + sources."is-date-object-1.0.1" + sources."is-descriptor-1.0.2" + sources."is-extendable-0.1.1" + (sources."is-number-3.0.0" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-object-1.0.1" + sources."is-plain-obj-1.1.0" + sources."is-plain-object-2.0.4" + sources."is-regex-1.0.4" + sources."is-retry-allowed-1.1.0" + sources."is-stream-1.1.0" + sources."is-symbol-1.0.2" + sources."is-windows-1.0.2" + sources."is-wsl-1.1.0" + sources."isarray-1.0.0" + sources."isexe-2.0.0" + sources."isobject-3.0.1" + sources."isurl-1.0.0" + sources."json-buffer-3.0.0" + sources."keyv-3.0.0" + sources."kind-of-6.0.2" + sources."latest-version-4.0.0" + sources."lowercase-keys-1.0.1" + sources."makeerror-1.0.11" + sources."map-cache-0.2.2" + sources."map-visit-1.0.0" + sources."media-typer-0.3.0" + sources."merge-descriptors-1.0.1" + sources."methods-1.1.2" + sources."micromatch-3.1.10" + sources."mime-1.6.0" + sources."mime-db-1.40.0" + sources."mime-types-2.1.24" + sources."mimic-response-1.0.1" + sources."minimatch-3.0.4" + sources."minimist-1.2.0" + (sources."mixin-deep-1.3.2" // { + dependencies = [ + sources."is-extendable-1.0.1" + ]; + }) + sources."ms-2.0.0" + sources."nanomatch-1.2.13" + sources."negotiator-0.6.2" + sources."nice-try-1.0.5" + sources."node-int64-0.4.0" + sources."normalize-path-2.1.1" + sources."normalize-url-2.0.1" + sources."npm-run-path-2.0.2" + sources."npx-10.2.0" + sources."object-assign-4.1.1" + (sources."object-copy-0.1.0" // { + dependencies = [ + sources."define-property-0.2.5" + sources."is-accessor-descriptor-0.1.6" + sources."is-data-descriptor-0.1.4" + (sources."is-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-5.1.0" + ]; + }) + sources."kind-of-3.2.2" + ]; + }) + sources."object-keys-1.1.1" + sources."object-visit-1.0.1" + sources."object.getownpropertydescriptors-2.0.3" + sources."object.pick-1.3.0" + sources."on-finished-2.3.0" + sources."once-1.4.0" + sources."opn-5.5.0" + sources."p-cancelable-0.4.1" + sources."p-finally-1.0.0" + sources."p-is-promise-1.1.0" + sources."p-timeout-2.0.1" + sources."package-json-5.0.0" + sources."parseurl-1.3.3" + sources."pascalcase-0.1.1" + sources."path-is-absolute-1.0.1" + sources."path-key-2.0.1" + sources."path-to-regexp-0.1.7" + sources."pify-3.0.0" + sources."posix-character-classes-0.1.1" + sources."prepend-http-2.0.0" + sources."process-nextick-args-2.0.1" + sources."proxy-addr-2.0.5" + sources."pump-3.0.0" + sources."qs-6.7.0" + sources."query-string-5.1.1" + sources."range-parser-1.2.1" + sources."raw-body-2.4.0" + sources."rc-1.2.8" + sources."readable-stream-2.3.6" + sources."regex-not-1.0.2" + sources."registry-auth-token-3.4.0" + sources."registry-url-3.1.0" + sources."remove-trailing-separator-1.1.0" + sources."repeat-element-1.1.3" + sources."repeat-string-1.6.1" + sources."resolve-url-0.2.1" + sources."responselike-1.0.2" + sources."ret-0.1.15" + sources."rimraf-2.7.1" + sources."rsvp-4.8.5" + sources."safe-buffer-5.1.2" + sources."safe-regex-1.1.0" + sources."safer-buffer-2.1.2" + sources."sane-4.1.0" + sources."semver-5.7.1" + (sources."send-0.17.1" // { + dependencies = [ + sources."ms-2.1.1" + ]; + }) + (sources."serve-index-1.9.1" // { + dependencies = [ + sources."http-errors-1.6.3" + sources."setprototypeof-1.1.0" + ]; + }) + sources."serve-static-1.14.1" + (sources."set-value-2.0.1" // { + dependencies = [ + sources."extend-shallow-2.0.1" + ]; + }) + sources."setprototypeof-1.1.1" + sources."shebang-command-1.2.0" + sources."shebang-regex-1.0.0" + sources."signal-exit-3.0.2" + (sources."snapdragon-0.8.2" // { + dependencies = [ + sources."define-property-0.2.5" + sources."extend-shallow-2.0.1" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + ]; + }) + (sources."snapdragon-node-2.1.1" // { + dependencies = [ + sources."define-property-1.0.0" + ]; + }) + (sources."snapdragon-util-3.0.1" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."sort-keys-2.0.0" + sources."source-map-0.5.7" + sources."source-map-resolve-0.5.2" + sources."source-map-url-0.4.0" + sources."split-string-3.1.0" + (sources."static-extend-0.1.2" // { + dependencies = [ + sources."define-property-0.2.5" + (sources."is-accessor-descriptor-0.1.6" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + (sources."is-data-descriptor-0.1.4" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + ]; + }) + sources."statuses-1.5.0" + sources."strict-uri-encode-1.1.0" + sources."string_decoder-1.1.1" + sources."strip-eof-1.0.0" + sources."strip-json-comments-2.0.1" + sources."supports-color-5.5.0" + sources."timed-out-4.0.1" + sources."tmp-0.1.0" + sources."tmpl-1.0.4" + (sources."to-object-path-0.3.0" // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + }) + sources."to-regex-3.0.2" + sources."to-regex-range-2.1.1" + sources."toidentifier-1.0.0" + sources."type-is-1.6.18" + sources."union-value-1.0.1" + sources."unpipe-1.0.0" + (sources."unset-value-1.0.0" // { + dependencies = [ + (sources."has-value-0.3.1" // { + dependencies = [ + sources."isobject-2.1.0" + ]; + }) + sources."has-values-0.1.4" + ]; + }) + sources."urix-0.1.0" + sources."url-parse-lax-3.0.0" + sources."url-to-options-1.0.1" + sources."use-3.1.1" + sources."util-deprecate-1.0.2" + sources."util.promisify-1.0.0" + sources."utils-merge-1.0.1" + sources."vary-1.1.2" + sources."walker-1.0.7" + sources."which-1.3.1" + sources."wrappy-1.0.2" + sources."ws-6.2.1" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "Elm offline documentation previewer with hot reloading."; + homepage = "https://github.com/dmy/elm-doc-preview#readme"; + license = "BSD-3-Clause"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + elm-upgrade = nodeEnv.buildNodePackage { + name = "elm-upgrade"; + packageName = "elm-upgrade"; + version = "0.19.6"; + src = fetchurl { + url = "https://registry.npmjs.org/elm-upgrade/-/elm-upgrade-0.19.6.tgz"; + sha512 = "i7+z/6uAqKxOUD58nwyAJJGUCNKG7/wTBY1qBanveFSaQuX5vrfhQNH/3NWIGCufGoW3QEyADGhaLhAxNPVs5Q=="; + }; + dependencies = [ + sources."balanced-match-1.0.0" + sources."bindings-1.5.0" + sources."brace-expansion-1.1.11" + sources."capture-stack-trace-1.0.1" + sources."caw-2.0.1" + sources."concat-map-0.0.1" + sources."config-chain-1.1.12" + sources."create-error-class-3.0.2" + sources."duplexer3-0.1.4" + sources."file-uri-to-path-1.0.0" + sources."fs-extra-0.30.0" + sources."fs.realpath-1.0.0" + sources."get-proxy-2.1.0" + sources."get-stream-3.0.0" + sources."glob-7.1.4" + sources."got-6.7.1" + sources."graceful-fs-4.2.2" + sources."has-symbol-support-x-1.4.2" + sources."has-to-string-tag-x-1.4.1" + sources."inflight-1.0.6" + sources."inherits-2.0.4" + sources."ini-1.3.5" + sources."is-object-1.0.1" + sources."is-redirect-1.0.0" + sources."is-retry-allowed-1.1.0" + sources."is-stream-1.1.0" + sources."isexe-2.0.0" + sources."isurl-1.0.0" + sources."jsonfile-2.4.0" + sources."klaw-1.3.1" + sources."lowercase-keys-1.0.1" + sources."minimatch-3.0.4" + sources."nan-2.14.0" + sources."npm-conf-1.1.3" + sources."once-1.4.0" + sources."path-is-absolute-1.0.1" + sources."pify-3.0.0" + sources."prepend-http-1.0.4" + sources."proto-list-1.2.4" + sources."rimraf-2.7.1" + sources."safe-buffer-5.2.0" + sources."safename-1.0.2" + sources."semver-5.7.1" + sources."syncprompt-2.0.0" + sources."timed-out-4.0.1" + sources."tunnel-agent-0.6.0" + sources."unzip-response-2.0.1" + sources."url-parse-lax-1.0.0" + sources."url-to-options-1.0.1" + sources."which-1.3.1" + sources."wrappy-1.0.2" + sources."yn-2.0.0" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "Upgrade Elm projects"; + homepage = "https://github.com/avh4/elm-upgrade#readme"; + license = "MIT"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + "elm-analyse-0.16.3" = nodeEnv.buildNodePackage { + name = "elm-analyse"; + packageName = "elm-analyse"; + version = "0.16.3"; + src = fetchurl { + url = "https://registry.npmjs.org/elm-analyse/-/elm-analyse-0.16.3.tgz"; + sha512 = "JFlGT0d6v3EPk1UnB5xb6VYWrKzwGD76wBwr2R0xwA3T6Rju7zEnzfs8LiBo+b3gSH5cmRDfnK9BLRFiosWEfQ=="; + }; + dependencies = [ + sources."accepts-1.3.7" + sources."ajv-6.10.2" + sources."array-flatten-1.1.1" + sources."asn1-0.2.4" + sources."assert-plus-1.0.0" + sources."async-limiter-1.0.1" + sources."asynckit-0.4.0" + sources."aws-sign2-0.7.0" + sources."aws4-1.8.0" + sources."babel-runtime-6.18.0" + sources."bcrypt-pbkdf-1.0.2" + sources."body-parser-1.18.2" + sources."bytes-3.0.0" + sources."caseless-0.12.0" + sources."combined-stream-1.0.8" + sources."concat-stream-1.5.2" + sources."content-disposition-0.5.2" + sources."content-type-1.0.4" + sources."cookie-0.3.1" + sources."cookie-signature-1.0.6" + sources."core-js-2.6.9" + sources."core-util-is-1.0.2" + sources."dashdash-1.14.1" + sources."debug-2.6.9" + sources."delayed-stream-1.0.0" + sources."depd-1.1.2" + sources."destroy-1.0.4" + sources."ecc-jsbn-0.1.2" + sources."ee-first-1.1.1" + sources."encodeurl-1.0.2" + sources."escape-html-1.0.3" + sources."etag-1.8.1" + sources."express-4.16.3" + (sources."express-ws-2.0.0" // { + dependencies = [ + sources."ws-1.1.5" + ]; + }) + sources."extend-3.0.2" + sources."extsprintf-1.3.0" + sources."fast-deep-equal-2.0.1" + sources."fast-json-stable-stringify-2.0.0" + sources."finalhandler-1.1.1" + sources."find-0.2.7" + sources."forever-agent-0.6.1" + sources."form-data-2.3.3" + sources."forwarded-0.1.2" + sources."fresh-0.5.2" + sources."fs-extra-2.0.0" + sources."getpass-0.1.7" + sources."graceful-fs-4.2.2" + sources."har-schema-2.0.0" + sources."har-validator-5.1.3" + sources."http-errors-1.6.3" + sources."http-signature-1.2.0" + sources."iconv-lite-0.4.19" + sources."inherits-2.0.3" + sources."ipaddr.js-1.9.0" + sources."is-stream-1.1.0" + sources."is-typedarray-1.0.0" + sources."is-wsl-1.1.0" + sources."isarray-1.0.0" + sources."isstream-0.1.2" + sources."jsbn-0.1.1" + sources."json-schema-0.2.3" + sources."json-schema-traverse-0.4.1" + sources."json-stringify-safe-5.0.1" + sources."jsonfile-2.4.0" + sources."jsprim-1.4.1" + sources."lodash-4.17.11" + sources."media-typer-0.3.0" + sources."merge-descriptors-1.0.1" + sources."methods-1.1.2" + sources."mime-1.4.1" + sources."mime-db-1.40.0" + sources."mime-types-2.1.24" + sources."minimist-1.2.0" + sources."ms-2.0.0" + sources."negotiator-0.6.2" + sources."node-watch-0.5.5" + sources."oauth-sign-0.9.0" + sources."on-finished-2.3.0" + sources."opn-5.4.0" + sources."options-0.0.6" + sources."os-homedir-1.0.2" + sources."os-tmpdir-1.0.2" + sources."parseurl-1.3.3" + sources."path-to-regexp-0.1.7" + sources."performance-now-2.1.0" + sources."process-nextick-args-1.0.7" + sources."proxy-addr-2.0.5" + sources."psl-1.3.0" + sources."punycode-2.1.1" + sources."qs-6.5.1" + sources."range-parser-1.2.1" + (sources."raw-body-2.3.2" // { + dependencies = [ + sources."depd-1.1.1" + sources."http-errors-1.6.2" + sources."setprototypeof-1.0.3" + ]; + }) + sources."readable-stream-2.0.6" + sources."regenerator-runtime-0.9.6" + (sources."request-2.88.0" // { + dependencies = [ + sources."qs-6.5.2" + sources."safe-buffer-5.2.0" + ]; + }) + sources."safe-buffer-5.1.1" + sources."safer-buffer-2.1.2" + sources."send-0.16.2" + sources."serve-static-1.13.2" + sources."setprototypeof-1.1.0" + sources."sshpk-1.16.1" + sources."statuses-1.4.0" + sources."string_decoder-0.10.31" + sources."sums-0.2.4" + sources."through2-2.0.1" + sources."tmp-0.0.31" + (sources."tough-cookie-2.4.3" // { + dependencies = [ + sources."punycode-1.4.1" + ]; + }) + sources."traverse-chain-0.1.0" + sources."tunnel-agent-0.6.0" + sources."tweetnacl-0.14.5" + sources."type-is-1.6.18" + sources."typedarray-0.0.6" + sources."ultron-1.0.2" + sources."unpipe-1.0.0" + sources."uri-js-4.2.2" + sources."util-deprecate-1.0.2" + sources."utils-merge-1.0.1" + sources."uuid-3.3.3" + sources."vary-1.1.2" + sources."verror-1.10.0" + (sources."ws-3.3.1" // { + dependencies = [ + sources."ultron-1.1.1" + ]; + }) + sources."xtend-4.0.2" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "A tool that allows you analyse your Elm code and identifies deficiencies and best practices."; + license = "MIT"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + elm-live = nodeEnv.buildNodePackage { + name = "elm-live"; + packageName = "elm-live"; + version = "3.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/elm-live/-/elm-live-3.4.1.tgz"; + sha512 = "7J4MCV0uyzfnGznSdVzz9o2vgHQwHSVKgEW/NG7dG7nsDWWxqPudQ/FkHYJFWjkylnRtBZUAtB27ZwnLIsgRUw=="; + }; + dependencies = [ + sources."ansi-regex-2.1.1" + sources."ansi-styles-2.2.1" + sources."anymatch-3.0.3" + sources."async-each-1.0.3" + sources."async-limiter-1.0.1" + sources."binary-extensions-2.0.0" + sources."braces-3.0.2" + sources."chalk-1.1.3" + sources."charenc-0.0.2" + sources."chokidar-3.0.0" + sources."cli-color-1.2.0" + sources."commander-2.17.1" + sources."connect-pushstate-1.1.0" + sources."cross-spawn-5.0.1" + sources."crypt-0.0.2" + sources."d-1.0.1" + sources."debug-2.6.9" + sources."default-gateway-2.7.2" + sources."depd-1.1.2" + sources."destroy-1.0.4" + sources."ee-first-1.1.1" + (sources."elm-serve-0.4.0" // { + dependencies = [ + sources."commander-2.9.0" + ]; + }) + sources."encodeurl-1.0.2" + sources."es5-ext-0.10.50" + sources."es6-iterator-2.0.3" + sources."es6-promisify-6.0.2" + sources."es6-symbol-3.1.1" + sources."es6-weak-map-2.0.3" + sources."escape-html-1.0.3" + sources."escape-string-regexp-1.0.5" + sources."etag-1.8.1" + sources."event-emitter-0.3.5" + sources."eventemitter3-3.1.2" + (sources."execa-0.10.0" // { + dependencies = [ + sources."cross-spawn-6.0.5" + ]; + }) + sources."fill-range-7.0.1" + sources."finalhandler-1.1.1" + (sources."follow-redirects-1.8.1" // { + dependencies = [ + sources."debug-3.2.6" + sources."ms-2.1.2" + ]; + }) + sources."fresh-0.5.2" + sources."fsevents-2.0.7" + sources."get-stream-3.0.0" + sources."glob-parent-5.0.0" + sources."graceful-readlink-1.0.1" + sources."has-ansi-2.0.0" + sources."http-errors-1.6.3" + sources."http-proxy-1.17.0" + sources."inherits-2.0.3" + sources."internal-ip-3.0.1" + sources."ip-regex-2.1.0" + sources."ipaddr.js-1.9.1" + sources."is-binary-path-2.1.0" + sources."is-buffer-1.1.6" + sources."is-extglob-2.1.1" + sources."is-glob-4.0.1" + sources."is-number-7.0.0" + sources."is-promise-2.1.0" + sources."is-stream-1.1.0" + sources."is-wsl-1.1.0" + sources."isexe-2.0.0" + sources."lru-cache-4.1.5" + sources."lru-queue-0.1.0" + sources."md5-2.2.1" + sources."memoizee-0.4.14" + sources."mime-1.4.1" + sources."minimist-1.2.0" + sources."ms-2.0.0" + sources."next-tick-1.0.0" + sources."nice-try-1.0.5" + sources."normalize-path-3.0.0" + sources."npm-run-path-2.0.2" + sources."on-finished-2.3.0" + sources."opn-5.3.0" + sources."os-tmpdir-1.0.2" + sources."p-finally-1.0.0" + sources."parseurl-1.3.3" + sources."path-key-2.0.1" + sources."pem-1.13.2" + sources."picomatch-2.0.7" + sources."pseudomap-1.0.2" + sources."querystringify-2.1.1" + sources."range-parser-1.2.1" + sources."readdirp-3.1.2" + sources."requires-port-1.0.0" + sources."semver-5.7.1" + sources."send-0.16.2" + sources."serve-static-1.13.2" + sources."setprototypeof-1.1.0" + sources."shebang-command-1.2.0" + sources."shebang-regex-1.0.0" + sources."signal-exit-3.0.2" + sources."statuses-1.4.0" + sources."strip-ansi-3.0.1" + sources."strip-eof-1.0.0" + sources."supervisor-0.12.0" + sources."supports-color-2.0.0" + sources."timers-ext-0.1.7" + sources."to-regex-range-5.0.1" + sources."type-1.0.3" + sources."unpipe-1.0.0" + sources."url-parse-1.4.3" + sources."which-1.3.1" + sources."ws-5.2.0" + sources."yallist-2.1.2" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "A flexible dev server for Elm. Live reload included!"; + homepage = "https://github.com/wking-io/elm-live#readme"; + license = "MIT"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; + elm-xref = nodeEnv.buildNodePackage { + name = "elm-xref"; + packageName = "elm-xref"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/elm-xref/-/elm-xref-4.0.0.tgz"; + sha512 = "9AjXLkznJBVLHHO+KErcgFMKeXe3tcudjj3PYIH6gWXG6W3PT+HF+t2zCflvgFPlhJO5H/wQCCo4rfCApltBzg=="; + }; + dependencies = [ + sources."bluebird-3.5.5" + sources."core-util-is-1.0.2" + sources."fs-extra-6.0.1" + sources."graceful-fs-4.2.2" + sources."inherits-2.0.4" + sources."isarray-1.0.0" + sources."jsonfile-4.0.0" + sources."klaw-2.1.1" + sources."minimist-1.2.0" + sources."process-nextick-args-2.0.1" + sources."readable-stream-2.3.6" + sources."safe-buffer-5.1.2" + sources."semver-5.7.1" + sources."semver-regex-1.0.0" + sources."semver-sort-0.0.4" + sources."string_decoder-1.1.1" + sources."through2-2.0.5" + sources."universalify-0.1.2" + sources."util-deprecate-1.0.2" + sources."xtend-4.0.2" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "Cross referencing tool for Elm - find usages and unused code"; + homepage = "https://github.com/zwilias/elm-xref#readme"; + license = "BSD-3-Clause"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; +} \ No newline at end of file diff --git a/pkgs/development/compilers/elm/packages/patch-binwrap.nix b/pkgs/development/compilers/elm/packages/patch-binwrap.nix new file mode 100644 index 00000000000..3a67954b78c --- /dev/null +++ b/pkgs/development/compilers/elm/packages/patch-binwrap.nix @@ -0,0 +1,30 @@ +{ writeScriptBin, stdenv, lib }: +let + # Patching binwrap by NoOp script + binwrap = writeScriptBin "binwrap" '' + #! ${stdenv.shell} + echo "binwrap called: Returning 0" + return 0 + ''; + binwrap-install = writeScriptBin "binwrap-install" '' + #! ${stdenv.shell} + echo "binwrap-install called: Doing nothing" + ''; +in +targets: +pkg: +pkg.override { + buildInputs = [ binwrap binwrap-install ]; + + # Manually install targets + # by symlinking binaries into `node_modules` + postInstall = let + binFile = module: lib.strings.removeSuffix ("-" + module.version) module.name; + in '' + ${lib.concatStrings (map (module: '' + echo "linking ${binFile module}" + ln -sf ${module}/bin/${binFile module} \ + node_modules/${binFile module}/bin/${binFile module} + '') targets)} + ''; +} diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix index e03039cb5e1..d0af770a2a4 100644 --- a/pkgs/development/compilers/emscripten/default.nix +++ b/pkgs/development/compilers/emscripten/default.nix @@ -12,9 +12,9 @@ stdenv.mkDerivation { name = "emscripten-${rev}"; src = fetchFromGitHub { - owner = "kripken"; + owner = "emscripten-core"; repo = "emscripten"; - sha256 = "02p0cp86vd1mydlpq544xbydggpnrq9dhbxx7h08j235frjm5cdc"; + sha256 = "1j3f0hpy05qskaiyv75l7wv4n0nzxhrh9b296zchx3f6f9h2rghq"; inherit rev; }; @@ -61,7 +61,7 @@ stdenv.mkDerivation { ''; meta = with stdenv.lib; { - homepage = https://github.com/kripken/emscripten; + homepage = https://github.com/emscripten-core/emscripten; description = "An LLVM-to-JavaScript Compiler"; platforms = platforms.all; maintainers = with maintainers; [ qknight matthewbauer ]; diff --git a/pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix b/pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix index 06acebd2ba4..91a42f53d28 100644 --- a/pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix +++ b/pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix @@ -8,16 +8,16 @@ stdenv.mkDerivation rec { name = "emscripten-fastcomp-${rev}"; src = fetchFromGitHub { - owner = "kripken"; + owner = "emscripten-core"; repo = "emscripten-fastcomp"; - sha256 = "04j698gmp686b5lricjakm5hyh2z2kh28m1ffkghmkyz4zkzmx98"; + sha256 = "0bd0l5k2fa4k0nax2cpxi003pqffqivx4z4m2j5xdha1a12sid8i"; inherit rev; }; srcFL = fetchFromGitHub { - owner = "kripken"; + owner = "emscripten-core"; repo = "emscripten-fastcomp-clang"; - sha256 = "1ici51mmpgg80xk3y8f376nbbfak6rz27qdy98l8lxkrymklp5g5"; + sha256 = "1iw2qplhp489qzw0rma73sab7asnm27g4m95sr36c6kq9cq6agri"; inherit rev; }; @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { }; meta = with stdenv.lib; { - homepage = https://github.com/kripken/emscripten-fastcomp; + homepage = https://github.com/emscripten-core/emscripten-fastcomp; description = "Emscripten LLVM"; platforms = platforms.all; maintainers = with maintainers; [ qknight matthewbauer ]; diff --git a/pkgs/development/compilers/eql/default.nix b/pkgs/development/compilers/eql/default.nix index 1128fbe64ec..cb960227beb 100644 --- a/pkgs/development/compilers/eql/default.nix +++ b/pkgs/development/compilers/eql/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = src.rev; - name = "eql-git-${version}"; + pname = "eql-git"; src = fetchgit { rev = "9097bf98446ee33c07bb155d800395775ce0d9b2"; url = "https://gitlab.com/eql/eql.git"; diff --git a/pkgs/development/compilers/factor-lang/default.nix b/pkgs/development/compilers/factor-lang/default.nix index 65fb8a9c82d..ef445faec92 100644 --- a/pkgs/development/compilers/factor-lang/default.nix +++ b/pkgs/development/compilers/factor-lang/default.nix @@ -1,13 +1,10 @@ -{ stdenv, fetchurl, glib, glibc, git, +{ stdenv, fetchurl, glib, git, rlwrap, curl, pkgconfig, perl, makeWrapper, tzdata, ncurses, - pango, cairo, gtk2, gdk_pixbuf, gtkglext, + pango, cairo, gtk2, gdk-pixbuf, gtkglext, mesa, xorg, openssl, unzip }: -let - inherit (stdenv.lib) optional; - -in stdenv.mkDerivation rec { - name = "factor-lang-${version}"; +stdenv.mkDerivation rec { + pname = "factor-lang"; version = "0.98"; rev = "7999e72aecc3c5bc4019d43dc4697f49678cc3b4"; @@ -23,7 +20,7 @@ in stdenv.mkDerivation rec { ]; buildInputs = with xorg; [ git rlwrap curl pkgconfig perl makeWrapper - libX11 pango cairo gtk2 gdk_pixbuf gtkglext + libX11 pango cairo gtk2 gdk-pixbuf gtkglext mesa libXmu libXt libICE libSM openssl unzip ]; buildPhase = '' @@ -51,7 +48,7 @@ in stdenv.mkDerivation rec { # will work only on the known libraries. There does not seem # to be a generic solution here. find $(echo ${stdenv.lib.makeLibraryPath (with xorg; [ - glib libX11 pango cairo gtk2 gdk_pixbuf gtkglext + glib libX11 pango cairo gtk2 gdk-pixbuf gtkglext mesa libXmu libXt libICE libSM ])} | sed -e 's#:# #g') -name \*.so.\* > $TMPDIR/so.lst (echo $(cat $TMPDIR/so.lst | wc -l) "libs found in cache \`/etc/ld.so.cache'"; @@ -72,7 +69,7 @@ in stdenv.mkDerivation rec { cp ./factor $out/bin wrapProgram $out/bin/factor --prefix LD_LIBRARY_PATH : \ "${stdenv.lib.makeLibraryPath (with xorg; [ glib - libX11 pango cairo gtk2 gdk_pixbuf gtkglext + libX11 pango cairo gtk2 gdk-pixbuf gtkglext mesa libXmu libXt libICE libSM openssl])}" sed -ie 's#/bin/.factor-wrapped#/lib/factor/factor#g' $out/bin/factor diff --git a/pkgs/development/compilers/fasm/bin.nix b/pkgs/development/compilers/fasm/bin.nix index 0c4a48656b7..44d784133f5 100644 --- a/pkgs/development/compilers/fasm/bin.nix +++ b/pkgs/development/compilers/fasm/bin.nix @@ -3,11 +3,11 @@ stdenvNoCC.mkDerivation rec { name = "fasm-bin-${version}"; - version = "1.73.08"; + version = "1.73.16"; src = fetchurl { url = "https://flatassembler.net/fasm-${version}.tgz"; - sha256 = "1l4my3fran06h5jiygswx4fsj53dvpfgg9ksfbdzsdg20r672997"; + sha256 = "1jaqm7w458ny37fsw3fln17kw31rcsk8kyadci45qcbw6jspmn7k"; }; installPhase = '' diff --git a/pkgs/development/compilers/fasm/default.nix b/pkgs/development/compilers/fasm/default.nix index 47b90469234..4b20c4051a8 100644 --- a/pkgs/development/compilers/fasm/default.nix +++ b/pkgs/development/compilers/fasm/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { inherit (fasm-bin) version src meta; - name = "fasm-${version}"; + pname = "fasm"; nativeBuildInputs = [ fasm-bin ]; diff --git a/pkgs/development/compilers/flux/default.nix b/pkgs/development/compilers/flux/default.nix new file mode 100644 index 00000000000..c599c9f8baf --- /dev/null +++ b/pkgs/development/compilers/flux/default.nix @@ -0,0 +1,21 @@ +{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig }: + +stdenv.mkDerivation rec { + pname = "flux"; + version = "2013-09-20"; + + src = fetchFromGitHub { + owner = "deniskropp"; + repo = pname; + rev = "e45758aa9384b9740ff021ea952399fd113eb0e9"; + sha256 = "11f3ypg0sdq5kj69zgz6kih1yrzgm48r16spyvzwvlswng147410"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + + meta = with lib; { + description = "An interface description language used by DirectFB"; + homepage = "https://github.com/deniskropp/flux"; + license = licenses.mit; + }; +} diff --git a/pkgs/development/compilers/fpc/default.nix b/pkgs/development/compilers/fpc/default.nix index b516019ffc9..a2b73f61c27 100644 --- a/pkgs/development/compilers/fpc/default.nix +++ b/pkgs/development/compilers/fpc/default.nix @@ -4,7 +4,7 @@ let startFPC = import ./binary.nix { inherit stdenv fetchurl; }; in stdenv.mkDerivation rec { version = "3.0.0"; - name = "fpc-${version}"; + pname = "fpc"; src = fetchurl { url = "mirror://sourceforge/freepascal/fpcbuild-${version}.tar.gz"; diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix index 74ca246deb0..1b3f4d168ee 100644 --- a/pkgs/development/compilers/fpc/lazarus.nix +++ b/pkgs/development/compilers/fpc/lazarus.nix @@ -1,9 +1,9 @@ { stdenv, fetchurl, makeWrapper -, fpc, gtk2, glib, pango, atk, gdk_pixbuf +, fpc, gtk2, glib, pango, atk, gdk-pixbuf , libXi, xorgproto, libX11, libXext }: stdenv.mkDerivation rec { - name = "lazarus-${version}"; + pname = "lazarus"; version = "1.8.4"; src = fetchurl { @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { buildInputs = [ fpc gtk2 glib libXi xorgproto libX11 libXext pango atk - stdenv.cc makeWrapper gdk_pixbuf + stdenv.cc makeWrapper gdk-pixbuf ]; makeFlags = [ diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix index 2de487cc9c8..bcb95d9ca90 100644 --- a/pkgs/development/compilers/fsharp/default.nix +++ b/pkgs/development/compilers/fsharp/default.nix @@ -3,7 +3,7 @@ { stdenv, fetchurl, mono, pkgconfig, dotnetbuildhelpers, autoconf, automake, which }: stdenv.mkDerivation rec { - name = "fsharp-${version}"; + pname = "fsharp"; version = "4.0.1.1"; src = fetchurl { diff --git a/pkgs/development/compilers/fsharp41/default.nix b/pkgs/development/compilers/fsharp41/default.nix index e0094c73098..e497deb2e87 100644 --- a/pkgs/development/compilers/fsharp41/default.nix +++ b/pkgs/development/compilers/fsharp41/default.nix @@ -1,14 +1,14 @@ # Temporaririly avoid dependency on dotnetbuildhelpers to avoid rebuilding many times while working on it -{ stdenv, fetchurl, pkgconfig, autoconf, automake, which, mono, dotnetbuildhelpers, dotnetPackages }: +{ stdenv, fetchurl, pkgconfig, autoconf, automake, which, mono, msbuild, dotnetbuildhelpers, dotnetPackages }: stdenv.mkDerivation rec { - name = "fsharp-${version}"; - version = "4.1.7"; + pname = "fsharp"; + version = "4.1.34"; src = fetchurl { url = "https://github.com/fsharp/fsharp/archive/${version}.tar.gz"; - sha256 = "0rfkrk4mzi4w54mfqilvng9ar5swhmnwhsyjc54rx3fd0np3jiyl"; + sha256 = "0cv6p5pin962vhbpsji40nkckkag5c96kq5qihvg60pc1z821p0i"; }; nativeBuildInputs = [ pkgconfig ]; @@ -17,12 +17,16 @@ stdenv.mkDerivation rec { automake which mono + msbuild dotnetbuildhelpers dotnetPackages.FsCheck262 dotnetPackages.FSharpCompilerTools - dotnetPackages.FSharpCore + dotnetPackages.FSharpCore302 + dotnetPackages.FSharpCore3125 + dotnetPackages.FSharpCore4001 + dotnetPackages.FSharpCore4117 dotnetPackages.FSharpData225 - dotnetPackages.FsLexYacc704 + dotnetPackages.FsLexYacc706 dotnetPackages.MicrosoftDiaSymReader dotnetPackages.MicrosoftDiaSymReaderPortablePdb dotnetPackages.NUnit350 @@ -31,6 +35,14 @@ stdenv.mkDerivation rec { dotnetPackages.SystemValueTuple ]; + # https://github.com/mono/mono/tree/fe0f311a848068ab2d17a9b9dd15326e5712d520/packaging/MacSDK/patches + # https://github.com/mono/mono/issues/7805 + patches = [ + ./fsharp-IsPathRooted-type-inference.patch + ./fsharp-string-switchName.patch + ./fsharp-path-overloads.patch + ]; + configurePhase = '' substituteInPlace ./autogen.sh --replace "/usr/bin/env sh" "${stdenv.shell}" ./autogen.sh --prefix $out @@ -47,24 +59,30 @@ stdenv.mkDerivation rec { mkdir packages ln -s ${dotnetPackages.FsCheck262}/lib/dotnet/FsCheck packages/FsCheck.2.6.2 - ln -s ${dotnetPackages.FSharpCompilerTools}/lib/dotnet/FSharp.Compiler.Tools packages/FSharp.Compiler.Tools.4.1.4 - ln -s ${dotnetPackages.FSharpCore}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.4.0.0.1 + ln -s ${dotnetPackages.FSharpCompilerTools}/lib/dotnet/FSharp.Compiler.Tools packages/FSharp.Compiler.Tools.4.1.27 + ln -s ${dotnetPackages.FSharpCore302}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.3.0.2 + ln -s ${dotnetPackages.FSharpCore3125}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.3.1.2.5 + ln -s ${dotnetPackages.FSharpCore4001}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.4.0.0.1 + ln -s ${dotnetPackages.FSharpCore4117}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.4.1.17 ln -s ${dotnetPackages.FSharpData225}/lib/dotnet/FSharp.Data/ packages/FSharp.Data.2.2.5 - ln -s ${dotnetPackages.FsLexYacc704}/lib/dotnet/FsLexYacc/ packages/FsLexYacc.7.0.4 + ln -s ${dotnetPackages.FsLexYacc706}/lib/dotnet/FsLexYacc/ packages/FsLexYacc.7.0.6 ln -s ${dotnetPackages.MicrosoftDiaSymReader}/lib/dotnet/Microsoft.DiaSymReader/ packages/Microsoft.DiaSymReader.1.1.0 ln -s ${dotnetPackages.MicrosoftDiaSymReaderPortablePdb}/lib/dotnet/Microsoft.DiaSymReader.PortablePdb/ packages/Microsoft.DiaSymReader.PortablePdb.1.2.0 ln -s ${dotnetPackages.NUnit350}/lib/dotnet/NUnit/ packages/NUnit.3.5.0 ln -s ${dotnetPackages.SystemCollectionsImmutable131}/lib/dotnet/System.Collections.Immutable/ packages/System.Collections.Immutable.1.3.1 ln -s ${dotnetPackages.SystemReflectionMetadata}/lib/dotnet/System.Reflection.Metadata/ packages/System.Reflection.Metadata.1.4.2 - ln -s ${dotnetPackages.SystemValueTuple}/lib/dotnet/System.ValueTuple/ packages/System.ValueTuple.4.3.0 + ln -s ${dotnetPackages.SystemValueTuple}/lib/dotnet/System.ValueTuple/ packages/System.ValueTuple.4.3.1 ''; - # Make sure the executables use the right mono binary, - # and set up some symlinks for backwards compatibility. + # Signing /home/jdanek/nix/nixpkgs/build/fss/fsharp-4.1.34/again/fsharp-4.1.34/Release/fsharp30/net40/bin/FSharp.Core.dll with Mono key + # ERROR: Unknown error during processing: System.UnauthorizedAccessException: Access to the path + # "Release/fsharp30/net40/bin/FSharp.Core.dll" is denied. + preInstall = '' + find Release/ -name FSharp.Core.dll -exec chmod u+w {} \; + ''; + + # Set up some symlinks for backwards compatibility. postInstall = '' - substituteInPlace $out/bin/fsharpc --replace " mono " " ${mono}/bin/mono " - substituteInPlace $out/bin/fsharpi --replace " mono " " ${mono}/bin/mono " - substituteInPlace $out/bin/fsharpiAnyCpu --replace " mono " " ${mono}/bin/mono " ln -s $out/bin/fsharpc $out/bin/fsc ln -s $out/bin/fsharpi $out/bin/fsi for dll in "$out/lib/mono/fsharp"/FSharp*.dll @@ -73,6 +91,26 @@ stdenv.mkDerivation rec { done ''; + doInstallCheck = true; + installCheckPhase = '' + echo 'printf "int = %i" (6 * 7);;' > script.fsx + $out/bin/fsi --exec script.fsx | grep "int = 42" + $out/bin/fsharpi --exec script.fsx | grep "int = 42" + $out/bin/fsharpiAnyCpu --exec script.fsx | grep "int = 42" + + cat > answer.fs <] +let main argv = + printfn "int = %i" (6 * 7) + 0 +EOF + + $out/bin/fsc answer.fs + ${mono}/bin/mono answer.exe | grep "int = 42" + ''; + # To fix this error when running: # The file "/nix/store/path/whatever.exe" is an not a valid CIL image dontStrip = true; diff --git a/pkgs/development/compilers/fsharp41/fsharp-IsPathRooted-type-inference.patch b/pkgs/development/compilers/fsharp41/fsharp-IsPathRooted-type-inference.patch new file mode 100644 index 00000000000..06dd3e82adc --- /dev/null +++ b/pkgs/development/compilers/fsharp41/fsharp-IsPathRooted-type-inference.patch @@ -0,0 +1,21 @@ +commit c37fce5b3019c7a150203fc3a484885591b194de +Author: Alexis Christoforides +Date: Sun Dec 2 00:10:24 2018 -0500 + + Help Path.IsPathRooted method overload selection. + + .NET Core, and Mono after merging https://github.com/mono/mono/pull/11342, introduce ambiguity with a new overload. + +diff --git a/src/scripts/scriptlib.fsx b/src/scripts/scriptlib.fsx +index cc797e305..699c7bb93 100644 +--- a/src/scripts/scriptlib.fsx ++++ b/src/scripts/scriptlib.fsx +@@ -92,7 +92,7 @@ module Scripting = + + module Process = + +- let processExePath baseDir exe = ++ let processExePath baseDir (exe:string) = + if Path.IsPathRooted(exe) then exe + else + match Path.GetDirectoryName(exe) with diff --git a/pkgs/development/compilers/fsharp41/fsharp-path-overloads.patch b/pkgs/development/compilers/fsharp41/fsharp-path-overloads.patch new file mode 100644 index 00000000000..f791317d080 --- /dev/null +++ b/pkgs/development/compilers/fsharp41/fsharp-path-overloads.patch @@ -0,0 +1,22 @@ +diff --git a/src/scripts/scriptlib.fsx b/src/scripts/scriptlib.fsx +index cc797e305..ae8a6d3cc 100644 +--- a/src/scripts/scriptlib.fsx ++++ b/src/scripts/scriptlib.fsx +@@ -59,12 +59,12 @@ module Scripting = + + let (++) a b = Path.Combine(a,b) + +- let getBasename a = Path.GetFileNameWithoutExtension a +- let getFullPath a = Path.GetFullPath a +- let getFilename a = Path.GetFileName a +- let getDirectoryName a = Path.GetDirectoryName a ++ let getBasename (path: string) = Path.GetFileNameWithoutExtension path ++ let getFullPath (path: string) = Path.GetFullPath path ++ let getFilename (path: string) = Path.GetFileName path ++ let getDirectoryName (path: string) = Path.GetDirectoryName path + +- let copyFile source dir = ++ let copyFile (source: string) dir = + let dest = + if not (Directory.Exists dir) then Directory.CreateDirectory dir |>ignore + let result = Path.Combine(dir, Path.GetFileName source) diff --git a/pkgs/development/compilers/fsharp41/fsharp-string-switchName.patch b/pkgs/development/compilers/fsharp41/fsharp-string-switchName.patch new file mode 100644 index 00000000000..4b36eaabcaf --- /dev/null +++ b/pkgs/development/compilers/fsharp41/fsharp-string-switchName.patch @@ -0,0 +1,13 @@ +diff --git a/src/scripts/scriptlib.fsx b/src/scripts/scriptlib.fsx +index cc797e305..5a7be7d2b 100644 +--- a/src/scripts/scriptlib.fsx ++++ b/src/scripts/scriptlib.fsx +@@ -36,7 +36,7 @@ module Scripting = + #if INTERACTIVE + let argv = Microsoft.FSharp.Compiler.Interactive.Settings.fsi.CommandLineArgs |> Seq.skip 1 |> Seq.toArray + +- let getCmdLineArgOptional switchName = ++ let getCmdLineArgOptional (switchName: string) = + argv |> Array.filter(fun t -> t.StartsWith(switchName)) |> Array.map(fun t -> t.Remove(0, switchName.Length).Trim()) |> Array.tryHead + + let getCmdLineArg switchName defaultValue = diff --git a/pkgs/development/compilers/fstar/default.nix b/pkgs/development/compilers/fstar/default.nix index 94836e84fd6..9306eec817f 100644 --- a/pkgs/development/compilers/fstar/default.nix +++ b/pkgs/development/compilers/fstar/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, z3, ocamlPackages, makeWrapper }: stdenv.mkDerivation rec { - name = "fstar-${version}"; + pname = "fstar"; version = "0.9.6.0"; src = fetchFromGitHub { diff --git a/pkgs/development/compilers/gambit/bootstrap.nix b/pkgs/development/compilers/gambit/bootstrap.nix index 65cd67f527d..eca2cba7775 100644 --- a/pkgs/development/compilers/gambit/bootstrap.nix +++ b/pkgs/development/compilers/gambit/bootstrap.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, autoconf, ... }: stdenv.mkDerivation rec { - name = "gambit-bootstrap-${version}"; + pname = "gambit-bootstrap"; version = "4.9.3"; src = fetchurl { diff --git a/pkgs/development/compilers/gambit/build.nix b/pkgs/development/compilers/gambit/build.nix index 65d16c48a61..7a3324d7560 100644 --- a/pkgs/development/compilers/gambit/build.nix +++ b/pkgs/development/compilers/gambit/build.nix @@ -1,7 +1,8 @@ { stdenv, git, openssl, autoconf, pkgs, makeStaticLibraries, version, src }: stdenv.mkDerivation rec { - name = "gambit-${version}"; + pname = "gambit"; + inherit version; inherit src; bootstrap = import ./bootstrap.nix ( pkgs ); diff --git a/pkgs/development/compilers/gambit/unstable.nix b/pkgs/development/compilers/gambit/unstable.nix index 5788f0df1da..d855b83f0af 100644 --- a/pkgs/development/compilers/gambit/unstable.nix +++ b/pkgs/development/compilers/gambit/unstable.nix @@ -1,13 +1,13 @@ { stdenv, callPackage, fetchFromGitHub }: callPackage ./build.nix { - version = "unstable-2019-02-05"; -# git-version = "4.9.3"; + version = "unstable-2019-07-21"; +# git-version = "4.9.3-109-g3b5f74fa"; src = fetchFromGitHub { owner = "feeley"; repo = "gambit"; - rev = "baf7de67f6d800821412fe83a8d9e9e09faeb490"; - sha256 = "0ygm5y8fvq6dbb8mwq52v8rc8pdnwm4qpmxlnx5m9hzzbm1kzxxv"; + rev = "3b5f74fae74b2159e3bf6923f29a18b31cc15dcc"; + sha256 = "07cb0d8754dqhxawkp5dp4y0bsa9kfald4dkj60j5yfnsp81y5mi"; }; inherit stdenv; } diff --git a/pkgs/development/compilers/gcc-arm-embedded/6/default.nix b/pkgs/development/compilers/gcc-arm-embedded/6/default.nix index 82edf0e33cf..940dec0338c 100644 --- a/pkgs/development/compilers/gcc-arm-embedded/6/default.nix +++ b/pkgs/development/compilers/gcc-arm-embedded/6/default.nix @@ -1,20 +1,21 @@ { stdenv, fetchurl, ncurses5, python27 }: stdenv.mkDerivation rec { - name = "gcc-arm-embedded-${version}"; + pname = "gcc-arm-embedded"; version = "6-2017-q2-update"; subdir = "6-2017q2"; - platformString = - if stdenv.isLinux then "linux" - else if stdenv.isDarwin then "mac" - else throw "unsupported platform"; - - urlString = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${platformString}.tar.bz2"; - src = - if stdenv.isLinux then fetchurl { url=urlString; sha256="1hvwi02mx34al525sngnl0cm7dkmzxfkb1brq9kvbv28wcplp3p6"; } - else if stdenv.isDarwin then fetchurl { url=urlString; sha256="0019ylpq4inq7p5gydpmc9m8ni72fz2csrjlqmgx1698998q0c3x"; } + if stdenv.isLinux then + fetchurl { + url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2"; + sha256="1hvwi02mx34al525sngnl0cm7dkmzxfkb1brq9kvbv28wcplp3p6"; + } + else if stdenv.isDarwin then + fetchurl { + url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-mac.tar.bz2"; + sha256="0019ylpq4inq7p5gydpmc9m8ni72fz2csrjlqmgx1698998q0c3x"; + } else throw "unsupported platform"; phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; diff --git a/pkgs/development/compilers/gcc-arm-embedded/7/default.nix b/pkgs/development/compilers/gcc-arm-embedded/7/default.nix index 39fc3c517f8..90f9d5957bb 100644 --- a/pkgs/development/compilers/gcc-arm-embedded/7/default.nix +++ b/pkgs/development/compilers/gcc-arm-embedded/7/default.nix @@ -3,13 +3,22 @@ with lib; stdenv.mkDerivation rec { - name = "gcc-arm-embedded-${version}"; + pname = "gcc-arm-embedded"; version = "7-2018-q2-update"; subdir = "7-2018q2"; - urlString = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2"; - - src = fetchurl { url=urlString; sha256="0sgysp3hfpgrkcbfiwkp0a7ymqs02khfbrjabm52b5z61sgi05xv"; }; + src = + if stdenv.isLinux then + fetchurl { + url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2"; + sha256="0sgysp3hfpgrkcbfiwkp0a7ymqs02khfbrjabm52b5z61sgi05xv"; + } + else if stdenv.isDarwin then + fetchurl { + url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-mac.tar.bz2"; + sha256="0nc7m0mpa39qyhfyydxkkyqm7spfc27xf6ygi2vd2aym4r9azi61"; + } + else throw "unsupported platform"; phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; diff --git a/pkgs/development/compilers/gcc-arm-embedded/8/default.nix b/pkgs/development/compilers/gcc-arm-embedded/8/default.nix index a26131cb053..b2815cc7184 100644 --- a/pkgs/development/compilers/gcc-arm-embedded/8/default.nix +++ b/pkgs/development/compilers/gcc-arm-embedded/8/default.nix @@ -3,13 +3,22 @@ with lib; stdenv.mkDerivation rec { - name = "gcc-arm-embedded-${version}"; - version = "8-2018-q4-major"; - subdir = "8-2018q4"; + pname = "gcc-arm-embedded"; + version = "8-2019-q3-update"; + subdir = "8-2019q3/RC1.1"; - urlString = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2"; - - src = fetchurl { url=urlString; sha256="fb31fbdfe08406ece43eef5df623c0b2deb8b53e405e2c878300f7a1f303ee52"; }; + src = + if stdenv.isLinux then + fetchurl { + url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2"; + sha256="b50b02b0a16e5aad8620e9d7c31110ef285c1dde28980b1a9448b764d77d8f92"; + } + else if stdenv.isDarwin then + fetchurl { + url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-mac.tar.bz2"; + sha256="fc235ce853bf3bceba46eff4b95764c5935ca07fc4998762ef5e5b7d05f37085"; + } + else throw "unsupported platform"; phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix index 350eed2fedd..b86b35525a6 100644 --- a/pkgs/development/compilers/gcc-arm-embedded/default.nix +++ b/pkgs/development/compilers/gcc-arm-embedded/default.nix @@ -14,7 +14,8 @@ let else "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update in stdenv.mkDerivation { - name = "gcc-arm-embedded-${version}"; + pname = "gcc-arm-embedded"; + inherit version; src = fetchurl { url = "https://launchpad.net/gcc-arm-embedded/${dirName_}/${subdirName_}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2"; diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index b36529ecb3c..8fba9be4901 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -83,7 +83,7 @@ let version = "4.8.5"; # Antlr (optional) allows the Java `gjdoc' tool to be built. We want a # binary distribution here to allow the whole chain to be bootstrapped. javaAntlr = fetchurl { - url = http://www.antlr.org/download/antlr-4.4-complete.jar; + url = https://www.antlr.org/download/antlr-4.4-complete.jar; sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz"; }; @@ -411,13 +411,14 @@ stdenv.mkDerivation ({ compiler used in the GNU system including the GNU/Linux variant. ''; - maintainers = with stdenv.lib.maintainers; [ peti ]; + maintainers = with stdenv.lib.maintainers; [ peti veprbl ]; platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.freebsd ++ stdenv.lib.platforms.illumos ++ stdenv.lib.platforms.darwin; + badPlatforms = [ "x86_64-darwin" ]; }; } diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index ee00a3aee1e..3ce5ea1f64c 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -88,7 +88,7 @@ let version = "4.9.4"; # Antlr (optional) allows the Java `gjdoc' tool to be built. We want a # binary distribution here to allow the whole chain to be bootstrapped. javaAntlr = fetchurl { - url = http://www.antlr.org/download/antlr-4.4-complete.jar; + url = https://www.antlr.org/download/antlr-4.4-complete.jar; sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz"; }; @@ -430,6 +430,7 @@ stdenv.mkDerivation ({ stdenv.lib.platforms.freebsd ++ stdenv.lib.platforms.illumos ++ stdenv.lib.platforms.darwin; + badPlatforms = [ "x86_64-darwin" ]; }; } diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index 15f95ef205e..e6115b10481 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -75,7 +75,7 @@ let version = "5.5.0"; # Antlr (optional) allows the Java `gjdoc' tool to be built. We want a # binary distribution here to allow the whole chain to be bootstrapped. javaAntlr = fetchurl { - url = http://www.antlr.org/download/antlr-4.4-complete.jar; + url = https://www.antlr.org/download/antlr-4.4-complete.jar; sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz"; }; @@ -435,6 +435,7 @@ stdenv.mkDerivation ({ stdenv.lib.platforms.freebsd ++ stdenv.lib.platforms.illumos ++ stdenv.lib.platforms.darwin; + badPlatforms = [ "x86_64-darwin" ]; }; } diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index 6fd1995354f..7644f4d3f62 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -72,7 +72,7 @@ let version = "6.5.0"; # Antlr (optional) allows the Java `gjdoc' tool to be built. We want a # binary distribution here to allow the whole chain to be bootstrapped. javaAntlr = fetchurl { - url = http://www.antlr.org/download/antlr-4.4-complete.jar; + url = https://www.antlr.org/download/antlr-4.4-complete.jar; sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz"; }; diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 956f357f84c..68c05d28978 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -48,6 +48,9 @@ let version = "7.4.0"; ./riscv-no-relax.patch ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch + ++ optionals targetPlatform.isNetBSD [ + ../libstdc++-netbsd-ctypes.patch + ] ++ optional noSysDirs ../no-sys-dirs.patch ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied url = "https://git.busybox.net/buildroot/plain/package/gcc/7.1.0/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02"; @@ -302,6 +305,7 @@ stdenv.mkDerivation ({ "--disable-gnu-indirect-function" ] ++ optional (targetPlatform.isAarch64) "--enable-fix-cortex-a53-843419" + ++ optional targetPlatform.isNetBSD "--disable-libcilkrts" ; targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index 66b98cc6d64..f5572c077f3 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -37,7 +37,7 @@ assert langGo -> langCC; with stdenv.lib; with builtins; -let version = "8.2.0"; +let version = "8.3.0"; inherit (stdenv) buildPlatform hostPlatform targetPlatform; @@ -132,7 +132,7 @@ stdenv.mkDerivation ({ src = fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz"; - sha256 = "10007smilswiiv2ymazr3b6x2i933c0ycxrr529zh4r6p823qv0r"; + sha256 = "0b3xv411xhlnjmin2979nxcbnidgvzqdf4nbhix99x60dkzavfk4"; }; inherit patches; @@ -322,6 +322,13 @@ stdenv.mkDerivation ({ LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib)); + EXTRA_TARGET_FLAGS = optionals + (targetPlatform != hostPlatform && libcCross != null) + ([ + "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}" + ] ++ optionals (! crossStageStatic) [ + "-B${libcCross.out}${libcCross.libdir or "/lib"}" + ]); EXTRA_TARGET_LDFLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix new file mode 100644 index 00000000000..506cfee7f49 --- /dev/null +++ b/pkgs/development/compilers/gcc/9/default.nix @@ -0,0 +1,384 @@ +{ stdenv, targetPackages, fetchurl, noSysDirs +, langC ? true, langCC ? true, langFortran ? false +, langObjC ? stdenv.targetPlatform.isDarwin +, langObjCpp ? stdenv.targetPlatform.isDarwin +, langGo ? false +, profiledCompiler ? false +, staticCompiler ? false +, enableShared ? true +, texinfo ? null +, perl ? null # optional, for texi2pod (then pod2man) +, gmp, mpfr, libmpc, gettext, which +, libelf # optional, for link-time optimizations (LTO) +, isl ? null # optional, for the Graphite optimization framework. +, zlib ? null +, enableMultilib ? false +, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins +, name ? "gcc" +, libcCross ? null +, crossStageStatic ? false +, # Strip kills static libs of other archs (hence no cross) + stripped ? stdenv.hostPlatform == stdenv.buildPlatform + && stdenv.targetPlatform == stdenv.hostPlatform +, gnused ? null +, cloog # unused; just for compat with gcc4, as we override the parameter on some places +, buildPackages +}: + +# LTO needs libelf and zlib. +assert libelf != null -> zlib != null; + +# Make sure we get GNU sed. +assert stdenv.hostPlatform.isDarwin -> gnused != null; + +# The go frontend is written in c++ +assert langGo -> langCC; + +with stdenv.lib; +with builtins; + +let version = "9.2.0"; + + inherit (stdenv) buildPlatform hostPlatform targetPlatform; + + patches = + optional (targetPlatform != hostPlatform) ../libstdc++-target.patch + ++ optional noSysDirs ../no-sys-dirs.patch + /* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied + url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02"; + sha256 = ""; # TODO: uncomment and check hash when available. + }) */ + ++ optional langFortran ../gfortran-driving.patch + ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch; + + /* Cross-gcc settings (build == host != target) */ + crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt"; + crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem"; + crossConfigureFlags = + # Ensure that -print-prog-name is able to find the correct programs. + [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" + "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++ + (if crossMingw && crossStageStatic then [ + "--with-headers=${libcCross}/include" + "--with-gcc" + "--with-gnu-as" + "--with-gnu-ld" + "--with-gnu-ld" + "--disable-shared" + "--disable-nls" + "--disable-debug" + "--enable-sjlj-exceptions" + "--enable-threads=win32" + "--disable-win32-registry" + "--disable-libmpx" # requires libc + ] else if crossStageStatic then [ + "--disable-libssp" + "--disable-nls" + "--without-headers" + "--disable-threads" + "--disable-libgomp" + "--disable-libquadmath" + "--disable-shared" + "--disable-libatomic" # requires libc + "--disable-decimal-float" # requires libc + "--disable-libmpx" # requires libc + ] else [ + (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot" + else "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}") + "--enable-__cxa_atexit" + "--enable-long-long" + ] ++ + (if crossMingw then [ + "--enable-threads=win32" + "--enable-sjlj-exceptions" + "--enable-hash-synchronization" + "--enable-libssp" + "--disable-nls" + "--with-dwarf2" + # To keep ABI compatibility with upstream mingw-w64 + "--enable-fully-dynamic-string" + ] else + optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [ + # libsanitizer requires netrom/netrom.h which is not + # available in uclibc. + "--disable-libsanitizer" + # In uclibc cases, libgomp needs an additional '-ldl' + # and as I don't know how to pass it, I disable libgomp. + "--disable-libgomp" + # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865 + "--disable-libmpx" + ] + ++ optional (targetPlatform.libc == "newlib") "--with-newlib" + ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc" + ++ [ + "--enable-threads=${if targetPlatform.isUnix then "posix" + else if targetPlatform.isWindows then "win32" + else "single"}" + "--enable-nls" + "--disable-decimal-float" # No final libdecnumber (it may work only in 386) + ])); + stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; + crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else ""; + + bootstrap = targetPlatform == hostPlatform; + +in + +stdenv.mkDerivation ({ + name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon; + + builder = ../builder.sh; + + src = fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz"; + sha256 = "01mj3yk7z49i49168hg2cg7qs4bsccrrnv7pjmbdlf8j2a7z0vpa"; + }; + + inherit patches; + + outputs = [ "out" "lib" "man" "info" ]; + setOutputFlags = false; + NIX_NO_SELF_RPATH = true; + + libc_dev = stdenv.cc.libc_dev; + + hardeningDisable = [ "format" "pie" ]; + + # This should kill all the stdinc frameworks that gcc and friends like to + # insert into default search paths. + prePatch = stdenv.lib.optionalString hostPlatform.isDarwin '' + substituteInPlace gcc/config/darwin-c.c \ + --replace 'if (stdinc)' 'if (0)' + + substituteInPlace libgcc/config/t-slibgcc-darwin \ + --replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name $lib/lib/\$(SHLIB_INSTALL_NAME)" + + substituteInPlace libgfortran/configure \ + --replace "-install_name \\\$rpath/\\\$soname" "-install_name $lib/lib/\\\$soname" + ''; + + postPatch = '' + configureScripts=$(find . -name configure) + for configureScript in $configureScripts; do + patchShebangs $configureScript + done + '' + ( + if targetPlatform != hostPlatform || stdenv.cc.libc != null then + # On NixOS, use the right path to the dynamic linker instead of + # `/lib/ld*.so'. + let + libc = if libcCross != null then libcCross else stdenv.cc.libc; + in + ( + '' echo "fixing the \`GLIBC_DYNAMIC_LINKER', \`UCLIBC_DYNAMIC_LINKER', and \`MUSL_DYNAMIC_LINKER' macros..." + for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h + do + grep -q _DYNAMIC_LINKER "$header" || continue + echo " fixing \`$header'..." + sed -i "$header" \ + -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g' \ + -e 's|define[[:blank:]]*MUSL_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define MUSL_DYNAMIC_LINKER\1 "${libc.out}\2"|g' + done + '' + + stdenv.lib.optionalString (targetPlatform.libc == "musl") + '' + sed -i gcc/config/linux.h -e '1i#undef LOCAL_INCLUDE_DIR' + '' + ) + else ""); + + inherit noSysDirs staticCompiler crossStageStatic + libcCross crossMingw; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ texinfo which gettext ] + ++ (optional (perl != null) perl); + + # For building runtime libs + depsBuildTarget = + if hostPlatform == buildPlatform then [ + targetPackages.stdenv.cc.bintools # newly-built gcc will be used + ] else assert targetPlatform == hostPlatform; [ # build != host == target + stdenv.cc + ]; + + buildInputs = [ + gmp mpfr libmpc libelf + targetPackages.stdenv.cc.bintools # For linking code at run-time + ] ++ (optional (isl != null) isl) + ++ (optional (zlib != null) zlib) + # The builder relies on GNU sed (for instance, Darwin's `sed' fails with + # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. + ++ (optional hostPlatform.isDarwin gnused) + ; + + NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl"; + + preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' + export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` + export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET" + export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET" + export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET" + ''; + + dontDisableStatic = true; + + # TODO(@Ericson2314): Always pass "--target" and always prefix. + configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; + + configureFlags = + # Basic dependencies + [ + "--with-gmp-include=${gmp.dev}/include" + "--with-gmp-lib=${gmp.out}/lib" + "--with-mpfr-include=${mpfr.dev}/include" + "--with-mpfr-lib=${mpfr.out}/lib" + "--with-mpc=${libmpc}" + ] ++ + optional (libelf != null) "--with-libelf=${libelf}" ++ + optional (!(crossMingw && crossStageStatic)) + "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++ + + # Basic configuration + [ + "--enable-lto" + "--disable-libstdcxx-pch" + "--without-included-gettext" + "--with-system-zlib" + "--enable-static" + "--enable-languages=${ + concatStrings (intersperse "," + ( optional langC "c" + ++ optional langCC "c++" + ++ optional langFortran "fortran" + ++ optional langGo "go" + ++ optional langObjC "objc" + ++ optional langObjCpp "obj-c++" + ++ optionals crossDarwin [ "objc" "obj-c++" ] + ) + ) + }" + ] ++ + + (if (enableMultilib || targetPlatform.isAvr) + then ["--enable-multilib" "--disable-libquadmath"] + else ["--disable-multilib"]) ++ + optional (!enableShared) "--disable-shared" ++ + (if enablePlugin + then ["--enable-plugin"] + else ["--disable-plugin"]) ++ + + # Optional features + optional (isl != null) "--with-isl=${isl}" ++ + + (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++ + optional (targetPlatform != hostPlatform) crossConfigureFlags ++ + optional (!bootstrap) "--disable-bootstrap" ++ + + # Platform-specific flags + optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++ + optionals hostPlatform.isSunOS [ + "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit" + # On Illumos/Solaris GNU as is preferred + "--with-gnu-as" "--without-gnu-ld" + ] + ++ optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [ + "--disable-libsanitizer" + "--disable-symvers" + "libat_cv_have_ifunc=no" + "--disable-gnu-indirect-function" + ] + ; + + targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; + + buildFlags = optional + (bootstrap && hostPlatform == buildPlatform) + (if profiledCompiler then "profiledbootstrap" else "bootstrap"); + + dontStrip = !stripped; + + installTargets = + if stripped + then "install-strip" + else "install"; + + # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210 + ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64"; + + # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the + # library headers and binaries, regarless of the language being compiled. + # + # Likewise, the LTO code doesn't find zlib. + # + # Cross-compiling, we need gcc not to read ./specs in order to build the g++ + # compiler (after the specs for the cross-gcc are created). Having + # LIBRARY_PATH= makes gcc read the specs from ., and the build breaks. + + CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([] + ++ optional (zlib != null) zlib + )); + + LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib)); + + EXTRA_TARGET_FLAGS = optionals + (targetPlatform != hostPlatform && libcCross != null) + ([ + "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}" + ] ++ optionals (! crossStageStatic) [ + "-B${libcCross.out}${libcCross.libdir or "/lib"}" + ]); + + EXTRA_TARGET_LDFLAGS = optionals + (targetPlatform != hostPlatform && libcCross != null) + ([ + "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}" + ] ++ (if crossStageStatic then [ + "-B${libcCross.out}${libcCross.libdir or "/lib"}" + ] else [ + "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}" + "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}" + ])); + + passthru = { + inherit langC langCC langObjC langObjCpp langFortran langGo version; + isGNU = true; + }; + + enableParallelBuilding = true; + inherit enableMultilib; + + inherit (stdenv) is64bit; + + meta = { + homepage = https://gcc.gnu.org/; + license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+ + description = "GNU Compiler Collection, version ${version}" + + (if stripped then "" else " (with debugging info)"); + + longDescription = '' + The GNU Compiler Collection includes compiler front ends for C, C++, + Objective-C, Fortran, OpenMP for C/C++/Fortran, and Ada, as well as + libraries for these languages (libstdc++, libgomp,...). + + GCC development is a part of the GNU Project, aiming to improve the + compiler used in the GNU system including the GNU/Linux variant. + ''; + + maintainers = with stdenv.lib.maintainers; [ synthetica ]; + + platforms = + stdenv.lib.platforms.linux ++ + stdenv.lib.platforms.freebsd ++ + stdenv.lib.platforms.illumos ++ + stdenv.lib.platforms.darwin; + }; +} + +// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) { + makeFlags = [ "all-gcc" "all-target-libgcc" ]; + installTargets = "install-gcc install-target-libgcc"; +} + +// optionalAttrs (enableMultilib) { dontMoveLib64 = true; } +) diff --git a/pkgs/development/compilers/gcc/common/platform-flags.nix b/pkgs/development/compilers/gcc/common/platform-flags.nix index ba6d5912fe8..f3cdce41193 100644 --- a/pkgs/development/compilers/gcc/common/platform-flags.nix +++ b/pkgs/development/compilers/gcc/common/platform-flags.nix @@ -4,7 +4,7 @@ let p = targetPlatform.platform.gcc or {} // targetPlatform.parsed.abi; in lib.concatLists [ - (lib.optional (p ? arch) "--with-arch=${p.arch}") + (lib.optional (!targetPlatform.isx86_64 && p ? arch) "--with-arch=${p.arch}") # --with-arch= is unknown flag on x86_64 (lib.optional (p ? cpu) "--with-cpu=${p.cpu}") (lib.optional (p ? abi) "--with-abi=${p.abi}") (lib.optional (p ? fpu) "--with-fpu=${p.fpu}") diff --git a/pkgs/development/compilers/gcc/libstdc++-netbsd-ctypes.patch b/pkgs/development/compilers/gcc/libstdc++-netbsd-ctypes.patch new file mode 100644 index 00000000000..28fff80b786 --- /dev/null +++ b/pkgs/development/compilers/gcc/libstdc++-netbsd-ctypes.patch @@ -0,0 +1,141 @@ +diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h +index ff3ec893974..21eccf9fde1 100644 +--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h ++++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h +@@ -38,40 +38,46 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + /// @brief Base class for ctype. + struct ctype_base + { +- // Non-standard typedefs. +- typedef const unsigned char* __to_type; + + // NB: Offsets into ctype::_M_table force a particular size + // on the mask type. Because of this, we don't use an enum. +- typedef unsigned char mask; + + #ifndef _CTYPE_U +- static const mask upper = _U; +- static const mask lower = _L; +- static const mask alpha = _U | _L; +- static const mask digit = _N; +- static const mask xdigit = _N | _X; +- static const mask space = _S; +- static const mask print = _P | _U | _L | _N | _B; +- static const mask graph = _P | _U | _L | _N; +- static const mask cntrl = _C; +- static const mask punct = _P; +- static const mask alnum = _U | _L | _N; ++ // Non-standard typedefs. ++ typedef const unsigned char* __to_type; ++ ++ typedef unsigned char mask; ++ ++ static const mask upper = _U; ++ static const mask lower = _L; ++ static const mask alpha = _U | _L; ++ static const mask digit = _N; ++ static const mask xdigit = _N | _X; ++ static const mask space = _S; ++ static const mask print = _P | _U | _L | _N | _B; ++ static const mask graph = _P | _U | _L | _N; ++ static const mask cntrl = _C; ++ static const mask punct = _P; ++ static const mask alnum = _U | _L | _N; + #else +- static const mask upper = _CTYPE_U; +- static const mask lower = _CTYPE_L; +- static const mask alpha = _CTYPE_U | _CTYPE_L; +- static const mask digit = _CTYPE_N; +- static const mask xdigit = _CTYPE_N | _CTYPE_X; +- static const mask space = _CTYPE_S; +- static const mask print = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N | _CTYPE_B; +- static const mask graph = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N; +- static const mask cntrl = _CTYPE_C; +- static const mask punct = _CTYPE_P; +- static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_N; ++ typedef const unsigned short* __to_type; ++ ++ typedef unsigned short mask; ++ ++ static const mask upper = _CTYPE_U; ++ static const mask lower = _CTYPE_L; ++ static const mask alpha = _CTYPE_A; ++ static const mask digit = _CTYPE_D; ++ static const mask xdigit = _CTYPE_X; ++ static const mask space = _CTYPE_S; ++ static const mask print = _CTYPE_R; ++ static const mask graph = _CTYPE_G; ++ static const mask cntrl = _CTYPE_C; ++ static const mask punct = _CTYPE_P; ++ static const mask alnum = _CTYPE_A | _CTYPE_D; + #endif + #if __cplusplus >= 201103L +- static const mask blank = space; ++ static const mask blank = space; + #endif + }; + +diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc b/libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc +index ed3b7cd0d6a..33358e8f5d8 100644 +--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc ++++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc +@@ -38,11 +38,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + // Information as gleaned from /usr/include/ctype.h + +- extern "C" const u_int8_t _C_ctype_[]; +- + const ctype_base::mask* + ctype::classic_table() throw() +- { return _C_ctype_ + 1; } ++ { return _C_ctype_tab_ + 1; } + + ctype::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) +@@ -69,14 +67,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + char + ctype::do_toupper(char __c) const +- { return ::toupper((int) __c); } ++ { return ::toupper((int)(unsigned char) __c); } + + const char* + ctype::do_toupper(char* __low, const char* __high) const + { + while (__low < __high) + { +- *__low = ::toupper((int) *__low); ++ *__low = ::toupper((int)(unsigned char) *__low); + ++__low; + } + return __high; +@@ -84,14 +82,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + char + ctype::do_tolower(char __c) const +- { return ::tolower((int) __c); } ++ { return ::tolower((int)(unsigned char) __c); } + + const char* + ctype::do_tolower(char* __low, const char* __high) const + { + while (__low < __high) + { +- *__low = ::tolower((int) *__low); ++ *__low = ::tolower((int)(unsigned char) *__low); + ++__low; + } + return __high; +diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h +index ace1120fba2..3234ce17c70 100644 +--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h ++++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h +@@ -48,7 +48,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + is(const char* __low, const char* __high, mask* __vec) const + { + while (__low < __high) +- *__vec++ = _M_table[*__low++]; ++ *__vec++ = _M_table[(unsigned char)*__low++]; + return __high; + } + diff --git a/pkgs/development/compilers/gcl/2.6.13-pre.nix b/pkgs/development/compilers/gcl/2.6.13-pre.nix index 16450cf24ab..1c3df80645a 100644 --- a/pkgs/development/compilers/gcl/2.6.13-pre.nix +++ b/pkgs/development/compilers/gcl/2.6.13-pre.nix @@ -8,7 +8,7 @@ assert stdenv.cc ? libc ; assert stdenv.cc.libc != null ; stdenv.mkDerivation rec { - name = "gcl-${version}"; + pname = "gcl"; version = "2.6.13pre50"; src = fetchgit { diff --git a/pkgs/development/compilers/gcl/default.nix b/pkgs/development/compilers/gcl/default.nix index 50d397d2cd4..e3c2d0e09de 100644 --- a/pkgs/development/compilers/gcl/default.nix +++ b/pkgs/development/compilers/gcl/default.nix @@ -8,12 +8,12 @@ assert stdenv.cc ? libc ; assert stdenv.cc.libc != null ; stdenv.mkDerivation rec { - name = "gcl-${version}"; + pname = "gcl"; version = "2.6.12"; src = fetchurl { sha256 = "1s4hs2qbjqmn9h88l4xvsifq5c3dlc5s74lyb61rdi5grhdlkf4f"; - url = "http://gnu.spinellicreations.com/gcl/${name}.tar.gz"; + url = "http://gnu.spinellicreations.com/gcl/${pname}-${version}.tar.gz"; }; patches = [(fetchurl { diff --git a/pkgs/development/compilers/gerbil/build.nix b/pkgs/development/compilers/gerbil/build.nix index b20d6f9c47e..9ef650c330f 100644 --- a/pkgs/development/compilers/gerbil/build.nix +++ b/pkgs/development/compilers/gerbil/build.nix @@ -7,7 +7,8 @@ # TODO: make static compilation work stdenv.mkDerivation rec { - name = "gerbil-${version}"; + pname = "gerbil"; + inherit version; inherit src; # Use makeStaticLibraries to enable creation of statically linked binaries diff --git a/pkgs/development/compilers/gerbil/unstable.nix b/pkgs/development/compilers/gerbil/unstable.nix index 6e60ea6fea4..a9618a7e066 100644 --- a/pkgs/development/compilers/gerbil/unstable.nix +++ b/pkgs/development/compilers/gerbil/unstable.nix @@ -1,14 +1,14 @@ { stdenv, callPackage, fetchFromGitHub, gambit-unstable }: callPackage ./build.nix { - version = "unstable-2019-02-09"; - git-version = "0.16-DEV-15-gafc20fc2"; + version = "unstable-2019-08-11"; + git-version = "0.16-DEV-132-gcb58f9a3"; gambit = gambit-unstable; src = fetchFromGitHub { owner = "vyzo"; repo = "gerbil"; - rev = "afc20fc21030e8445b46b8267cc4c52cfd662aad"; - sha256 = "02v16zya9zryjs4wallibp1kvnpba60aw15y4k7zhddc71qjfbhw"; + rev = "cb58f9a30630a6f3e85a55f2c1dcc654f517ffed"; + sha256 = "18jh64v1gi6z3pks9zf19f2wcjpv21cs270dnaq617kgwp53vysh"; }; inherit stdenv; } diff --git a/pkgs/development/compilers/gforth/default.nix b/pkgs/development/compilers/gforth/default.nix index 675522d54ea..e90e0dc3d98 100644 --- a/pkgs/development/compilers/gforth/default.nix +++ b/pkgs/development/compilers/gforth/default.nix @@ -4,7 +4,8 @@ let version = "0.7.3"; in stdenv.mkDerivation { - name = "gforth-${version}"; + pname = "gforth"; + inherit version; src = fetchurl { url = "https://ftp.gnu.org/gnu/gforth/gforth-${version}.tar.gz"; sha256 = "1c1bahc9ypmca8rv2dijiqbangm1d9av286904yw48ph7ciz4qig"; diff --git a/pkgs/development/compilers/ghc/8.2.2-binary.nix b/pkgs/development/compilers/ghc/8.2.2-binary.nix index 678245d3e43..9fe3a7d9dba 100644 --- a/pkgs/development/compilers/ghc/8.2.2-binary.nix +++ b/pkgs/development/compilers/ghc/8.2.2-binary.nix @@ -107,6 +107,15 @@ stdenv.mkDerivation rec { sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 + '' + + # We're kludging a glibc bindist into working with non-glibc... + # Here we patch up the use of `__strdup` (part of glibc binary ABI) + # to instead use `strdup` since musl doesn't provide __strdup + # (`__strdup` is defined to be an alias of `strdup` anyway[1]). + # [1] http://refspecs.linuxbase.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic/baselib---strdup-1.html + # Use objcopy magic to make the change: + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + find ./ghc-${version}/rts -name "libHSrts*.a" -exec ''${OBJCOPY:-objcopy} --redefine-sym __strdup=strdup {} \; ''; configurePlatforms = [ ]; @@ -114,6 +123,7 @@ stdenv.mkDerivation rec { let gcc-clang-wrapper = substituteAll { inherit (stdenv) shell; + isExecutable = true; src = ./gcc-clang-wrapper.sh; }; in diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix index 3e355dc302d..a034e4ec8dd 100644 --- a/pkgs/development/compilers/ghc/8.2.2.nix +++ b/pkgs/development/compilers/ghc/8.2.2.nix @@ -1,8 +1,9 @@ -{ stdenv, targetPackages +{ stdenv, pkgsBuildTarget, targetPackages # build-tools , bootPkgs , autoconf, autoreconfHook, automake, coreutils, fetchurl, fetchpatch, perl, python3, sphinx +, bash , runCommand , libiconv ? null, ncurses @@ -70,11 +71,9 @@ let ++ stdenv.lib.optional (!enableIntegerSimple) gmp ++ stdenv.lib.optional (platform.libc != "glibc") libiconv; - toolsForTarget = - if hostPlatform == buildPlatform then - [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm - else assert targetPlatform == hostPlatform; # build != host == target - [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm; + toolsForTarget = [ + pkgsBuildTarget.targetPackages.stdenv.cc + ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm; targetCC = builtins.head toolsForTarget; @@ -167,7 +166,7 @@ stdenv.mkDerivation (rec { export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 - export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}" + export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" @@ -220,7 +219,7 @@ stdenv.mkDerivation (rec { # For building runtime libs depsBuildTarget = toolsForTarget; - buildInputs = [ perl ] ++ (libDeps hostPlatform); + buildInputs = [ perl bash ] ++ (libDeps hostPlatform); propagatedBuildInputs = [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm; @@ -232,6 +231,10 @@ stdenv.mkDerivation (rec { # that in turn causes GHCi to abort stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; + # See #63511 - the only unstripped file is the debug rts which isn't meant to + # be stripped. + dontStrip = true; + checkTarget = "test"; doCheck = false; # fails with "testsuite/tests: No such file or directory. Stop." diff --git a/pkgs/development/compilers/ghc/8.4.4.nix b/pkgs/development/compilers/ghc/8.4.4.nix index 874580c87aa..52fb926cdc6 100644 --- a/pkgs/development/compilers/ghc/8.4.4.nix +++ b/pkgs/development/compilers/ghc/8.4.4.nix @@ -1,8 +1,9 @@ -{ stdenv, targetPackages +{ stdenv, pkgsBuildTarget, targetPackages # build-tools , bootPkgs , autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx +, bash , libiconv ? null, ncurses @@ -72,11 +73,9 @@ let ++ stdenv.lib.optional (!enableIntegerSimple) gmp ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; - toolsForTarget = - if hostPlatform == buildPlatform then - [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm - else assert targetPlatform == hostPlatform; # build != host == target - [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm; + toolsForTarget = [ + pkgsBuildTarget.targetPackages.stdenv.cc + ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm; targetCC = builtins.head toolsForTarget; @@ -127,7 +126,7 @@ stdenv.mkDerivation (rec { export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 - export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}" + export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" @@ -197,7 +196,7 @@ stdenv.mkDerivation (rec { # For building runtime libs depsBuildTarget = toolsForTarget; - buildInputs = [ perl ] ++ (libDeps hostPlatform); + buildInputs = [ perl bash ] ++ (libDeps hostPlatform); propagatedBuildInputs = [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm; @@ -209,6 +208,10 @@ stdenv.mkDerivation (rec { # that in turn causes GHCi to abort stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; + # See #63511 - the only unstripped file is the debug rts which isn't meant to + # be stripped. + dontStrip = true; + checkTarget = "test"; hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; diff --git a/pkgs/development/compilers/ghc/8.6.1.nix b/pkgs/development/compilers/ghc/8.6.1.nix deleted file mode 100644 index b54164ccc69..00000000000 --- a/pkgs/development/compilers/ghc/8.6.1.nix +++ /dev/null @@ -1,230 +0,0 @@ -{ stdenv, targetPackages - -# build-tools -, bootPkgs -, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx - -, libiconv ? null, ncurses - -, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform) -, # LLVM is conceptually a run-time-only depedendency, but for - # non-x86, we need LLVM to bootstrap later stages, so it becomes a - # build-time dependency too. - buildLlvmPackages, llvmPackages - -, # If enabled, GHC will be built with the GPL-free but slower integer-simple - # library instead of the faster but GPLed integer-gmp library. - enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp - -, # If enabled, use -fPIC when compiling static libs. - enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform - -, # Whether to build dynamic libs for the standard library (on the target - # platform). Static libs are always built. - enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt - -, # Whetherto build terminfo. - enableTerminfo ? !stdenv.targetPlatform.isWindows - -, # What flavour to build. An empty string indicates no - # specific flavour and falls back to ghc default values. - ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "perf-cross" -}: - -assert !enableIntegerSimple -> gmp != null; - -let - inherit (stdenv) buildPlatform hostPlatform targetPlatform; - - inherit (bootPkgs) ghc; - - # TODO(@Ericson2314) Make unconditional - targetPrefix = stdenv.lib.optionalString - (targetPlatform != hostPlatform) - "${targetPlatform.config}-"; - - buildMK = '' - BuildFlavour = ${ghcFlavour} - ifneq \"\$(BuildFlavour)\" \"\" - include mk/flavours/\$(BuildFlavour).mk - endif - DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} - INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"} - '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' - Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} - CrossCompilePrefix = ${targetPrefix} - HADDOCK_DOCS = NO - BUILD_SPHINX_HTML = NO - BUILD_SPHINX_PDF = NO - '' + stdenv.lib.optionalString enableRelocatedStaticLibs '' - GhcLibHcOpts += -fPIC - GhcRtsHcOpts += -fPIC - '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' - EXTRA_CC_OPTS += -std=gnu99 - ''; - - # Splicer will pull out correct variations - libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ] - ++ stdenv.lib.optional (!enableIntegerSimple) gmp - ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; - - toolsForTarget = - if hostPlatform == buildPlatform then - [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm - else assert targetPlatform == hostPlatform; # build != host == target - [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm; - - targetCC = builtins.head toolsForTarget; - -in -stdenv.mkDerivation (rec { - version = "8.6.1"; - name = "${targetPrefix}ghc-${version}"; - - src = fetchurl { - url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz"; - sha256 = "0dkh7idgrqr567fq94a0f5x3w0r4cm2ydn51nb5wfisw3rnw499c"; - }; - - enableParallelBuilding = true; - - outputs = [ "out" "doc" ]; - - patches = [(fetchpatch rec { # https://phabricator.haskell.org/D5123 - url = "http://tarballs.nixos.org/sha256/${sha256}"; - name = "D5123.diff"; - sha256 = "0nhqwdamf2y4gbwqxcgjxs0kqx23w9gv5kj0zv6450dq19rji82n"; - })]; - - postPatch = "patchShebangs ."; - - # GHC is a bit confused on its cross terminology. - preConfigure = '' - for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do - export "''${env#TARGET_}=''${!env}" - done - # GHC is a bit confused on its cross terminology, as these would normally be - # the *host* tools. - export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" - export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" - # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 - export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}" - export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" - export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" - export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" - export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" - export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" - export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" - - echo -n "${buildMK}" > mk/build.mk - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure - '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' - export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" - '' + stdenv.lib.optionalString stdenv.isDarwin '' - export NIX_LDFLAGS+=" -no_dtrace_dof" - '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' - sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets - '' + stdenv.lib.optionalString targetPlatform.isMusl '' - echo "patching llvm-targets for musl targets..." - echo "Cloning these existing '*-linux-gnu*' targets:" - grep linux-gnu llvm-targets | sed 's/^/ /' - echo "(go go gadget sed)" - sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets - echo "llvm-targets now contains these '*-linux-musl*' targets:" - grep linux-musl llvm-targets | sed 's/^/ /' - - echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" - # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) - for x in configure aclocal.m4; do - substituteInPlace $x \ - --replace '*-android*|*-gnueabi*)' \ - '*-android*|*-gnueabi*|*-musleabi*)' - done - ''; - - # TODO(@Ericson2314): Always pass "--target" and always prefix. - configurePlatforms = [ "build" "host" ] - ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; - # `--with` flags for libraries needed for RTS linker - configureFlags = [ - "--datadir=$doc/share/doc/ghc" - "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" - ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [ - "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" - ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ - "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" - ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ - "--enable-bootstrap-with-devel-snapshot" - ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [ - "CFLAGS=-fuse-ld=gold" - "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" - "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" - ] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [ - # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ - "--disable-large-address-space" - ]; - - # Make sure we never relax`$PATH` and hooks support for compatability. - strictDeps = true; - - # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself. - dontAddExtraLibs = true; - - nativeBuildInputs = [ - perl autoconf automake m4 python3 sphinx - ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour - ]; - - # For building runtime libs - depsBuildTarget = toolsForTarget; - - buildInputs = [ perl ] ++ (libDeps hostPlatform); - - propagatedBuildInputs = [ targetPackages.stdenv.cc ] - ++ stdenv.lib.optional useLLVM llvmPackages.llvm; - - depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform); - depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform); - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; - - checkTarget = "test"; - - hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; - - postInstall = '' - # Install the bash completion file. - install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc - - # Patch scripts to include "readelf" and "cat" in $PATH. - for i in "$out/bin/"*; do - test ! -h $i || continue - egrep --quiet '^#!' <(head -n 1 $i) || continue - sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i - done - ''; - - passthru = { - inherit bootPkgs targetPrefix; - - inherit llvmPackages; - inherit enableShared; - - # Our Cabal compiler name - haskellCompilerName = "ghc-8.6.1"; - }; - - meta = { - homepage = http://haskell.org/ghc; - description = "The Glasgow Haskell Compiler"; - maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; - inherit (ghc.meta) license platforms; - }; - -} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt { - dontStrip = true; - dontPatchELF = true; - noAuditTmpdir = true; -}) diff --git a/pkgs/development/compilers/ghc/8.6.2.nix b/pkgs/development/compilers/ghc/8.6.2.nix deleted file mode 100644 index 07d4420804d..00000000000 --- a/pkgs/development/compilers/ghc/8.6.2.nix +++ /dev/null @@ -1,230 +0,0 @@ -{ stdenv, targetPackages - -# build-tools -, bootPkgs -, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx - -, libiconv ? null, ncurses - -, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform) -, # LLVM is conceptually a run-time-only depedendency, but for - # non-x86, we need LLVM to bootstrap later stages, so it becomes a - # build-time dependency too. - buildLlvmPackages, llvmPackages - -, # If enabled, GHC will be built with the GPL-free but slower integer-simple - # library instead of the faster but GPLed integer-gmp library. - enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp - -, # If enabled, use -fPIC when compiling static libs. - enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform - -, # Whether to build dynamic libs for the standard library (on the target - # platform). Static libs are always built. - enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt - -, # Whetherto build terminfo. - enableTerminfo ? !stdenv.targetPlatform.isWindows - -, # What flavour to build. An empty string indicates no - # specific flavour and falls back to ghc default values. - ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "perf-cross" -}: - -assert !enableIntegerSimple -> gmp != null; - -let - inherit (stdenv) buildPlatform hostPlatform targetPlatform; - - inherit (bootPkgs) ghc; - - # TODO(@Ericson2314) Make unconditional - targetPrefix = stdenv.lib.optionalString - (targetPlatform != hostPlatform) - "${targetPlatform.config}-"; - - buildMK = '' - BuildFlavour = ${ghcFlavour} - ifneq \"\$(BuildFlavour)\" \"\" - include mk/flavours/\$(BuildFlavour).mk - endif - DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} - INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"} - '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' - Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} - CrossCompilePrefix = ${targetPrefix} - HADDOCK_DOCS = NO - BUILD_SPHINX_HTML = NO - BUILD_SPHINX_PDF = NO - '' + stdenv.lib.optionalString enableRelocatedStaticLibs '' - GhcLibHcOpts += -fPIC - GhcRtsHcOpts += -fPIC - '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' - EXTRA_CC_OPTS += -std=gnu99 - ''; - - # Splicer will pull out correct variations - libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ] - ++ stdenv.lib.optional (!enableIntegerSimple) gmp - ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; - - toolsForTarget = - if hostPlatform == buildPlatform then - [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm - else assert targetPlatform == hostPlatform; # build != host == target - [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm; - - targetCC = builtins.head toolsForTarget; - -in -stdenv.mkDerivation (rec { - version = "8.6.2"; - name = "${targetPrefix}ghc-${version}"; - - src = fetchurl { - url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz"; - sha256 = "1mbn3n2ynmpfpb7jfnhpzzli31qqxqyi8ws71blws3i846fq3ana"; - }; - - enableParallelBuilding = true; - - outputs = [ "out" "doc" ]; - - patches = [(fetchpatch rec { # https://phabricator.haskell.org/D5123 - url = "http://tarballs.nixos.org/sha256/${sha256}"; - name = "D5123.diff"; - sha256 = "0nhqwdamf2y4gbwqxcgjxs0kqx23w9gv5kj0zv6450dq19rji82n"; - })]; - - postPatch = "patchShebangs ."; - - # GHC is a bit confused on its cross terminology. - preConfigure = '' - for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do - export "''${env#TARGET_}=''${!env}" - done - # GHC is a bit confused on its cross terminology, as these would normally be - # the *host* tools. - export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" - export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" - # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 - export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}" - export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" - export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" - export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" - export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" - export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" - export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" - - echo -n "${buildMK}" > mk/build.mk - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure - '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' - export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" - '' + stdenv.lib.optionalString stdenv.isDarwin '' - export NIX_LDFLAGS+=" -no_dtrace_dof" - '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' - sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets - '' + stdenv.lib.optionalString targetPlatform.isMusl '' - echo "patching llvm-targets for musl targets..." - echo "Cloning these existing '*-linux-gnu*' targets:" - grep linux-gnu llvm-targets | sed 's/^/ /' - echo "(go go gadget sed)" - sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets - echo "llvm-targets now contains these '*-linux-musl*' targets:" - grep linux-musl llvm-targets | sed 's/^/ /' - - echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" - # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) - for x in configure aclocal.m4; do - substituteInPlace $x \ - --replace '*-android*|*-gnueabi*)' \ - '*-android*|*-gnueabi*|*-musleabi*)' - done - ''; - - # TODO(@Ericson2314): Always pass "--target" and always prefix. - configurePlatforms = [ "build" "host" ] - ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; - # `--with` flags for libraries needed for RTS linker - configureFlags = [ - "--datadir=$doc/share/doc/ghc" - "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" - ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [ - "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" - ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ - "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" - ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ - "--enable-bootstrap-with-devel-snapshot" - ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [ - "CFLAGS=-fuse-ld=gold" - "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" - "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" - ] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [ - # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ - "--disable-large-address-space" - ]; - - # Make sure we never relax`$PATH` and hooks support for compatability. - strictDeps = true; - - # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself. - dontAddExtraLibs = true; - - nativeBuildInputs = [ - perl autoconf automake m4 python3 sphinx - ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour - ]; - - # For building runtime libs - depsBuildTarget = toolsForTarget; - - buildInputs = [ perl ] ++ (libDeps hostPlatform); - - propagatedBuildInputs = [ targetPackages.stdenv.cc ] - ++ stdenv.lib.optional useLLVM llvmPackages.llvm; - - depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform); - depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform); - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; - - checkTarget = "test"; - - hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; - - postInstall = '' - # Install the bash completion file. - install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc - - # Patch scripts to include "readelf" and "cat" in $PATH. - for i in "$out/bin/"*; do - test ! -h $i || continue - egrep --quiet '^#!' <(head -n 1 $i) || continue - sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i - done - ''; - - passthru = { - inherit bootPkgs targetPrefix; - - inherit llvmPackages; - inherit enableShared; - - # Our Cabal compiler name - haskellCompilerName = "ghc-8.6.2"; - }; - - meta = { - homepage = http://haskell.org/ghc; - description = "The Glasgow Haskell Compiler"; - maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; - inherit (ghc.meta) license platforms; - }; - -} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt { - dontStrip = true; - dontPatchELF = true; - noAuditTmpdir = true; -}) diff --git a/pkgs/development/compilers/ghc/8.6.3-binary.nix b/pkgs/development/compilers/ghc/8.6.3-binary.nix index cde67183ef4..7e845da5b64 100644 --- a/pkgs/development/compilers/ghc/8.6.3-binary.nix +++ b/pkgs/development/compilers/ghc/8.6.3-binary.nix @@ -99,6 +99,15 @@ stdenv.mkDerivation rec { sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 + '' + + # We're kludging a glibc bindist into working with non-glibc... + # Here we patch up the use of `__strdup` (part of glibc binary ABI) + # to instead use `strdup` since musl doesn't provide __strdup + # (`__strdup` is defined to be an alias of `strdup` anyway[1]). + # [1] http://refspecs.linuxbase.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic/baselib---strdup-1.html + # Use objcopy magic to make the change: + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + find ./ghc-${version}/rts -name "libHSrts*.a" -exec ''${OBJCOPY:-objcopy} --redefine-sym __strdup=strdup {} \; ''; configurePlatforms = [ ]; diff --git a/pkgs/development/compilers/ghc/8.6.3.nix b/pkgs/development/compilers/ghc/8.6.3.nix deleted file mode 100644 index c57e4d96ae2..00000000000 --- a/pkgs/development/compilers/ghc/8.6.3.nix +++ /dev/null @@ -1,232 +0,0 @@ -{ stdenv, targetPackages - -# build-tools -, bootPkgs -, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx - -, libiconv ? null, ncurses - -, # GHC can be built with system libffi or a bundled one. - libffi ? null - -, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform) -, # LLVM is conceptually a run-time-only depedendency, but for - # non-x86, we need LLVM to bootstrap later stages, so it becomes a - # build-time dependency too. - buildLlvmPackages, llvmPackages - -, # If enabled, GHC will be built with the GPL-free but slower integer-simple - # library instead of the faster but GPLed integer-gmp library. - enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp - -, # If enabled, use -fPIC when compiling static libs. - enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform - -, # Whether to build dynamic libs for the standard library (on the target - # platform). Static libs are always built. - enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt - -, # Whetherto build terminfo. - enableTerminfo ? !stdenv.targetPlatform.isWindows - -, # What flavour to build. An empty string indicates no - # specific flavour and falls back to ghc default values. - ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "perf-cross" -}: - -assert !enableIntegerSimple -> gmp != null; - -let - inherit (stdenv) buildPlatform hostPlatform targetPlatform; - - inherit (bootPkgs) ghc; - - # TODO(@Ericson2314) Make unconditional - targetPrefix = stdenv.lib.optionalString - (targetPlatform != hostPlatform) - "${targetPlatform.config}-"; - - buildMK = '' - BuildFlavour = ${ghcFlavour} - ifneq \"\$(BuildFlavour)\" \"\" - include mk/flavours/\$(BuildFlavour).mk - endif - DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} - INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"} - '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' - Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} - CrossCompilePrefix = ${targetPrefix} - HADDOCK_DOCS = NO - BUILD_SPHINX_HTML = NO - BUILD_SPHINX_PDF = NO - '' + stdenv.lib.optionalString enableRelocatedStaticLibs '' - GhcLibHcOpts += -fPIC - GhcRtsHcOpts += -fPIC - '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' - EXTRA_CC_OPTS += -std=gnu99 - ''; - - # Splicer will pull out correct variations - libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ] - ++ [libffi] - ++ stdenv.lib.optional (!enableIntegerSimple) gmp - ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; - - toolsForTarget = - if hostPlatform == buildPlatform then - [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm - else assert targetPlatform == hostPlatform; # build != host == target - [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm; - - targetCC = builtins.head toolsForTarget; - -in -stdenv.mkDerivation (rec { - version = "8.6.3"; - name = "${targetPrefix}ghc-${version}"; - - src = fetchurl { - url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz"; - sha256 = "08vzq0dpg4a39bs61j6rq4z0n7jby5mc69h4m25xhd8rjyvkg7lz"; - }; - - enableParallelBuilding = true; - - outputs = [ "out" "doc" ]; - - patches = [(fetchpatch rec { # https://phabricator.haskell.org/D5123 - url = "http://tarballs.nixos.org/sha256/${sha256}"; - name = "D5123.diff"; - sha256 = "0nhqwdamf2y4gbwqxcgjxs0kqx23w9gv5kj0zv6450dq19rji82n"; - })]; - - postPatch = "patchShebangs ."; - - # GHC is a bit confused on its cross terminology. - preConfigure = '' - for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do - export "''${env#TARGET_}=''${!env}" - done - # GHC is a bit confused on its cross terminology, as these would normally be - # the *host* tools. - export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" - export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" - # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 - export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}" - export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" - export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" - export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" - export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" - export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" - export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" - - echo -n "${buildMK}" > mk/build.mk - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure - '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' - export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" - '' + stdenv.lib.optionalString stdenv.isDarwin '' - export NIX_LDFLAGS+=" -no_dtrace_dof" - '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' - sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets - '' + stdenv.lib.optionalString targetPlatform.isMusl '' - echo "patching llvm-targets for musl targets..." - echo "Cloning these existing '*-linux-gnu*' targets:" - grep linux-gnu llvm-targets | sed 's/^/ /' - echo "(go go gadget sed)" - sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets - echo "llvm-targets now contains these '*-linux-musl*' targets:" - grep linux-musl llvm-targets | sed 's/^/ /' - - echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" - # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) - for x in configure aclocal.m4; do - substituteInPlace $x \ - --replace '*-android*|*-gnueabi*)' \ - '*-android*|*-gnueabi*|*-musleabi*)' - done - ''; - - # TODO(@Ericson2314): Always pass "--target" and always prefix. - configurePlatforms = [ "build" "host" ] - ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; - # `--with` flags for libraries needed for RTS linker - configureFlags = [ - "--datadir=$doc/share/doc/ghc" - "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" - ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${libffi}/include" "--with-ffi-libraries=${libffi}/lib" - ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [ - "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" - ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ - "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" - ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ - "--enable-bootstrap-with-devel-snapshot" - ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [ - "CFLAGS=-fuse-ld=gold" - "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" - "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" - ] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [ - # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ - "--disable-large-address-space" - ]; - - # Make sure we never relax`$PATH` and hooks support for compatability. - strictDeps = true; - - nativeBuildInputs = [ - perl autoconf automake m4 python3 sphinx - ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour - ]; - - # For building runtime libs - depsBuildTarget = toolsForTarget; - - buildInputs = [ perl ] ++ (libDeps hostPlatform); - - propagatedBuildInputs = [ targetPackages.stdenv.cc ] - ++ stdenv.lib.optional useLLVM llvmPackages.llvm; - - depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform); - depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform); - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; - - checkTarget = "test"; - - hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; - - postInstall = '' - # Install the bash completion file. - install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc - - # Patch scripts to include "readelf" and "cat" in $PATH. - for i in "$out/bin/"*; do - test ! -h $i || continue - egrep --quiet '^#!' <(head -n 1 $i) || continue - sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i - done - ''; - - passthru = { - inherit bootPkgs targetPrefix; - - inherit llvmPackages; - inherit enableShared; - - # Our Cabal compiler name - haskellCompilerName = "ghc-8.6.3"; - }; - - meta = { - homepage = http://haskell.org/ghc; - description = "The Glasgow Haskell Compiler"; - maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; - inherit (ghc.meta) license platforms; - }; - -} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt { - dontStrip = true; - dontPatchELF = true; - noAuditTmpdir = true; -}) diff --git a/pkgs/development/compilers/ghc/8.6.4.nix b/pkgs/development/compilers/ghc/8.6.4.nix new file mode 100644 index 00000000000..1534e6d1d08 --- /dev/null +++ b/pkgs/development/compilers/ghc/8.6.4.nix @@ -0,0 +1,251 @@ +{ stdenv, pkgsBuildTarget, targetPackages + +# build-tools +, bootPkgs +, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx +, bash + +, libiconv ? null, ncurses + +, # GHC can be built with system libffi or a bundled one. + libffi ? null + +, useLLVM ? !stdenv.targetPlatform.isx86 +, # LLVM is conceptually a run-time-only depedendency, but for + # non-x86, we need LLVM to bootstrap later stages, so it becomes a + # build-time dependency too. + buildLlvmPackages, llvmPackages + +, # If enabled, GHC will be built with the GPL-free but slower integer-simple + # library instead of the faster but GPLed integer-gmp library. + enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp + +, # If enabled, use -fPIC when compiling static libs. + enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform + +, # Whether to build dynamic libs for the standard library (on the target + # platform). Static libs are always built. + enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt + +, # Whetherto build terminfo. + enableTerminfo ? !stdenv.targetPlatform.isWindows + +, # What flavour to build. An empty string indicates no + # specific flavour and falls back to ghc default values. + ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) + (if useLLVM then "perf-cross" else "perf-cross-ncg") + +, # Whether to disable the large address space allocator + # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ + disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64 +}: + +assert !enableIntegerSimple -> gmp != null; + +let + inherit (stdenv) buildPlatform hostPlatform targetPlatform; + + inherit (bootPkgs) ghc; + + # TODO(@Ericson2314) Make unconditional + targetPrefix = stdenv.lib.optionalString + (targetPlatform != hostPlatform) + "${targetPlatform.config}-"; + + buildMK = '' + BuildFlavour = ${ghcFlavour} + ifneq \"\$(BuildFlavour)\" \"\" + include mk/flavours/\$(BuildFlavour).mk + endif + DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} + INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"} + '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' + Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} + CrossCompilePrefix = ${targetPrefix} + HADDOCK_DOCS = NO + BUILD_SPHINX_HTML = NO + BUILD_SPHINX_PDF = NO + '' + stdenv.lib.optionalString enableRelocatedStaticLibs '' + GhcLibHcOpts += -fPIC + GhcRtsHcOpts += -fPIC + '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' + EXTRA_CC_OPTS += -std=gnu99 + ''; + + # Splicer will pull out correct variations + libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ] + ++ [libffi] + ++ stdenv.lib.optional (!enableIntegerSimple) gmp + ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; + + toolsForTarget = [ + pkgsBuildTarget.targetPackages.stdenv.cc + ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm; + + targetCC = builtins.head toolsForTarget; + +in +stdenv.mkDerivation (rec { + version = "8.6.4"; + name = "${targetPrefix}ghc-${version}"; + + src = fetchurl { + url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz"; + sha256 = "0fihs1sr0hpk67dn9cmrsav13kkcp9hz8ggdqcrs80rj8vj0fpav"; + }; + + enableParallelBuilding = true; + + outputs = [ "out" "doc" ]; + + patches = [ + (fetchpatch rec { # https://phabricator.haskell.org/D5123 + url = "http://tarballs.nixos.org/sha256/${sha256}"; + name = "D5123.diff"; + sha256 = "0nhqwdamf2y4gbwqxcgjxs0kqx23w9gv5kj0zv6450dq19rji82n"; + }) + (fetchpatch rec { # https://github.com/haskell/haddock/issues/900 + url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/983.diff"; + name = "loadpluginsinmodules.diff"; + sha256 = "0bvvv0zsfq2581zsir97zfkggc1kkircbbajc2fz3b169ycpbha1"; + extraPrefix = "utils/haddock/"; + stripLen = 1; + }) + ]; + + postPatch = "patchShebangs ."; + + # GHC is a bit confused on its cross terminology. + preConfigure = '' + for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do + export "''${env#TARGET_}=''${!env}" + done + # GHC is a bit confused on its cross terminology, as these would normally be + # the *host* tools. + export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" + export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" + # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 + export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}" + export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" + export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" + export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" + export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" + export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" + export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" + + echo -n "${buildMK}" > mk/build.mk + sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' + export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" + '' + stdenv.lib.optionalString stdenv.isDarwin '' + export NIX_LDFLAGS+=" -no_dtrace_dof" + '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' + sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets + '' + stdenv.lib.optionalString targetPlatform.isMusl '' + echo "patching llvm-targets for musl targets..." + echo "Cloning these existing '*-linux-gnu*' targets:" + grep linux-gnu llvm-targets | sed 's/^/ /' + echo "(go go gadget sed)" + sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets + echo "llvm-targets now contains these '*-linux-musl*' targets:" + grep linux-musl llvm-targets | sed 's/^/ /' + + echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" + # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) + for x in configure aclocal.m4; do + substituteInPlace $x \ + --replace '*-android*|*-gnueabi*)' \ + '*-android*|*-gnueabi*|*-musleabi*)' + done + ''; + + # TODO(@Ericson2314): Always pass "--target" and always prefix. + configurePlatforms = [ "build" "host" ] + ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; + # `--with` flags for libraries needed for RTS linker + configureFlags = [ + "--datadir=$doc/share/doc/ghc" + "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" + ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib" + ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [ + "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" + ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ + "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" + ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ + "--enable-bootstrap-with-devel-snapshot" + ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [ + "CFLAGS=-fuse-ld=gold" + "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" + "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" + ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [ + "--disable-large-address-space" + ]; + + # Make sure we never relax`$PATH` and hooks support for compatability. + strictDeps = true; + + # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself. + dontAddExtraLibs = true; + + nativeBuildInputs = [ + perl autoconf automake m4 python3 sphinx + ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour + ]; + + # For building runtime libs + depsBuildTarget = toolsForTarget; + + buildInputs = [ perl bash ] ++ (libDeps hostPlatform); + + propagatedBuildInputs = [ targetPackages.stdenv.cc ] + ++ stdenv.lib.optional useLLVM llvmPackages.llvm; + + depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform); + depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform); + + # required, because otherwise all symbols from HSffi.o are stripped, and + # that in turn causes GHCi to abort + stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; + + # See #63511 - the only unstripped file is the debug rts which isn't meant to + # be stripped. + dontStrip = true; + + checkTarget = "test"; + + hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; + + postInstall = '' + # Install the bash completion file. + install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc + + # Patch scripts to include "readelf" and "cat" in $PATH. + for i in "$out/bin/"*; do + test ! -h $i || continue + egrep --quiet '^#!' <(head -n 1 $i) || continue + sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i + done + ''; + + passthru = { + inherit bootPkgs targetPrefix; + + inherit llvmPackages; + inherit enableShared; + + # Our Cabal compiler name + haskellCompilerName = "ghc-8.6.4"; + }; + + meta = { + homepage = http://haskell.org/ghc; + description = "The Glasgow Haskell Compiler"; + maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; + inherit (ghc.meta) license platforms; + }; + +} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt { + dontStrip = true; + dontPatchELF = true; + noAuditTmpdir = true; +}) diff --git a/pkgs/development/compilers/ghc/8.6.5.nix b/pkgs/development/compilers/ghc/8.6.5.nix new file mode 100644 index 00000000000..c859a34729d --- /dev/null +++ b/pkgs/development/compilers/ghc/8.6.5.nix @@ -0,0 +1,251 @@ +{ stdenv, pkgsBuildTarget, targetPackages + +# build-tools +, bootPkgs +, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx +, bash + +, libiconv ? null, ncurses + +, # GHC can be built with system libffi or a bundled one. + libffi ? null + +, useLLVM ? !stdenv.targetPlatform.isx86 +, # LLVM is conceptually a run-time-only depedendency, but for + # non-x86, we need LLVM to bootstrap later stages, so it becomes a + # build-time dependency too. + buildLlvmPackages, llvmPackages + +, # If enabled, GHC will be built with the GPL-free but slower integer-simple + # library instead of the faster but GPLed integer-gmp library. + enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp + +, # If enabled, use -fPIC when compiling static libs. + enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform + +, # Whether to build dynamic libs for the standard library (on the target + # platform). Static libs are always built. + enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt + +, # Whetherto build terminfo. + enableTerminfo ? !stdenv.targetPlatform.isWindows + +, # What flavour to build. An empty string indicates no + # specific flavour and falls back to ghc default values. + ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) + (if useLLVM then "perf-cross" else "perf-cross-ncg") + +, # Whether to disable the large address space allocator + # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ + disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64 +}: + +assert !enableIntegerSimple -> gmp != null; + +let + inherit (stdenv) buildPlatform hostPlatform targetPlatform; + + inherit (bootPkgs) ghc; + + # TODO(@Ericson2314) Make unconditional + targetPrefix = stdenv.lib.optionalString + (targetPlatform != hostPlatform) + "${targetPlatform.config}-"; + + buildMK = '' + BuildFlavour = ${ghcFlavour} + ifneq \"\$(BuildFlavour)\" \"\" + include mk/flavours/\$(BuildFlavour).mk + endif + DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} + INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"} + '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' + Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} + CrossCompilePrefix = ${targetPrefix} + HADDOCK_DOCS = NO + BUILD_SPHINX_HTML = NO + BUILD_SPHINX_PDF = NO + '' + stdenv.lib.optionalString enableRelocatedStaticLibs '' + GhcLibHcOpts += -fPIC + GhcRtsHcOpts += -fPIC + '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' + EXTRA_CC_OPTS += -std=gnu99 + ''; + + # Splicer will pull out correct variations + libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ] + ++ [libffi] + ++ stdenv.lib.optional (!enableIntegerSimple) gmp + ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; + + toolsForTarget = [ + pkgsBuildTarget.targetPackages.stdenv.cc + ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm; + + targetCC = builtins.head toolsForTarget; + +in +stdenv.mkDerivation (rec { + version = "8.6.5"; + name = "${targetPrefix}ghc-${version}"; + + src = fetchurl { + url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz"; + sha256 = "0qg3zsmbk4rkwkc3jpas3zs74qaxmw4sp4v1mhsbj0a0dzls2jjd"; + }; + + enableParallelBuilding = true; + + outputs = [ "out" "doc" ]; + + patches = [ + (fetchpatch rec { # https://phabricator.haskell.org/D5123 + url = "http://tarballs.nixos.org/sha256/${sha256}"; + name = "D5123.diff"; + sha256 = "0nhqwdamf2y4gbwqxcgjxs0kqx23w9gv5kj0zv6450dq19rji82n"; + }) + (fetchpatch rec { # https://github.com/haskell/haddock/issues/900 + url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/983.diff"; + name = "loadpluginsinmodules.diff"; + sha256 = "0bvvv0zsfq2581zsir97zfkggc1kkircbbajc2fz3b169ycpbha1"; + extraPrefix = "utils/haddock/"; + stripLen = 1; + }) + ]; + + postPatch = "patchShebangs ."; + + # GHC is a bit confused on its cross terminology. + preConfigure = '' + for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do + export "''${env#TARGET_}=''${!env}" + done + # GHC is a bit confused on its cross terminology, as these would normally be + # the *host* tools. + export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" + export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" + # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 + export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}" + export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" + export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" + export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" + export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" + export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" + export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" + + echo -n "${buildMK}" > mk/build.mk + sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' + export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" + '' + stdenv.lib.optionalString stdenv.isDarwin '' + export NIX_LDFLAGS+=" -no_dtrace_dof" + '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' + sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets + '' + stdenv.lib.optionalString targetPlatform.isMusl '' + echo "patching llvm-targets for musl targets..." + echo "Cloning these existing '*-linux-gnu*' targets:" + grep linux-gnu llvm-targets | sed 's/^/ /' + echo "(go go gadget sed)" + sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets + echo "llvm-targets now contains these '*-linux-musl*' targets:" + grep linux-musl llvm-targets | sed 's/^/ /' + + echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" + # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) + for x in configure aclocal.m4; do + substituteInPlace $x \ + --replace '*-android*|*-gnueabi*)' \ + '*-android*|*-gnueabi*|*-musleabi*)' + done + ''; + + # TODO(@Ericson2314): Always pass "--target" and always prefix. + configurePlatforms = [ "build" "host" ] + ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; + # `--with` flags for libraries needed for RTS linker + configureFlags = [ + "--datadir=$doc/share/doc/ghc" + "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" + ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib" + ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [ + "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" + ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ + "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" + ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ + "--enable-bootstrap-with-devel-snapshot" + ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [ + "CFLAGS=-fuse-ld=gold" + "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" + "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" + ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [ + "--disable-large-address-space" + ]; + + # Make sure we never relax`$PATH` and hooks support for compatability. + strictDeps = true; + + # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself. + dontAddExtraLibs = true; + + nativeBuildInputs = [ + perl autoconf automake m4 python3 sphinx + ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour + ]; + + # For building runtime libs + depsBuildTarget = toolsForTarget; + + buildInputs = [ perl bash ] ++ (libDeps hostPlatform); + + propagatedBuildInputs = [ targetPackages.stdenv.cc ] + ++ stdenv.lib.optional useLLVM llvmPackages.llvm; + + depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform); + depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform); + + # required, because otherwise all symbols from HSffi.o are stripped, and + # that in turn causes GHCi to abort + stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; + + # See #63511 - the only unstripped file is the debug rts which isn't meant to + # be stripped. + dontStrip = true; + + checkTarget = "test"; + + hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; + + postInstall = '' + # Install the bash completion file. + install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc + + # Patch scripts to include "readelf" and "cat" in $PATH. + for i in "$out/bin/"*; do + test ! -h $i || continue + egrep --quiet '^#!' <(head -n 1 $i) || continue + sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i + done + ''; + + passthru = { + inherit bootPkgs targetPrefix; + + inherit llvmPackages; + inherit enableShared; + + # Our Cabal compiler name + haskellCompilerName = "ghc-${version}"; + }; + + meta = { + homepage = http://haskell.org/ghc; + description = "The Glasgow Haskell Compiler"; + maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; + inherit (ghc.meta) license platforms; + }; + +} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt { + dontStrip = true; + dontPatchELF = true; + noAuditTmpdir = true; +}) diff --git a/pkgs/development/compilers/ghc/8.8.1.nix b/pkgs/development/compilers/ghc/8.8.1.nix new file mode 100644 index 00000000000..95bbab3cb3e --- /dev/null +++ b/pkgs/development/compilers/ghc/8.8.1.nix @@ -0,0 +1,232 @@ +{ stdenv, pkgsBuildTarget, targetPackages + +# build-tools +, bootPkgs +, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx +, bash + +, libiconv ? null, ncurses + +, # GHC can be built with system libffi or a bundled one. + libffi ? null + +, useLLVM ? !stdenv.targetPlatform.isx86 +, # LLVM is conceptually a run-time-only depedendency, but for + # non-x86, we need LLVM to bootstrap later stages, so it becomes a + # build-time dependency too. + buildLlvmPackages, llvmPackages + +, # If enabled, GHC will be built with the GPL-free but slower integer-simple + # library instead of the faster but GPLed integer-gmp library. + enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp + +, # If enabled, use -fPIC when compiling static libs. + enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform + +, # Whether to build dynamic libs for the standard library (on the target + # platform). Static libs are always built. + enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt + +, # Whetherto build terminfo. + enableTerminfo ? !stdenv.targetPlatform.isWindows + +, # What flavour to build. An empty string indicates no + # specific flavour and falls back to ghc default values. + ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) + (if useLLVM then "perf-cross" else "perf-cross-ncg") + +, # Whether to disable the large address space allocator + # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ + disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64 +}: + +assert !enableIntegerSimple -> gmp != null; + +let + inherit (stdenv) buildPlatform hostPlatform targetPlatform; + + inherit (bootPkgs) ghc; + + # TODO(@Ericson2314) Make unconditional + targetPrefix = stdenv.lib.optionalString + (targetPlatform != hostPlatform) + "${targetPlatform.config}-"; + + buildMK = '' + BuildFlavour = ${ghcFlavour} + ifneq \"\$(BuildFlavour)\" \"\" + include mk/flavours/\$(BuildFlavour).mk + endif + DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} + INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"} + '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' + Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} + CrossCompilePrefix = ${targetPrefix} + HADDOCK_DOCS = NO + BUILD_SPHINX_HTML = NO + BUILD_SPHINX_PDF = NO + '' + stdenv.lib.optionalString enableRelocatedStaticLibs '' + GhcLibHcOpts += -fPIC + GhcRtsHcOpts += -fPIC + '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' + EXTRA_CC_OPTS += -std=gnu99 + ''; + + # Splicer will pull out correct variations + libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ] + ++ [libffi] + ++ stdenv.lib.optional (!enableIntegerSimple) gmp + ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; + + toolsForTarget = [ + pkgsBuildTarget.targetPackages.stdenv.cc + ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm; + + targetCC = builtins.head toolsForTarget; + +in +stdenv.mkDerivation (rec { + version = "8.8.1"; + name = "${targetPrefix}ghc-${version}"; + + src = fetchurl { + url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz"; + sha256 = "06kj4fhvijinjafiy4s873n60qly323rdlz9bmc79nhlp3cq72lh"; + }; + + enableParallelBuilding = true; + + outputs = [ "out" "doc" ]; + + postPatch = "patchShebangs ."; + + # GHC is a bit confused on its cross terminology. + preConfigure = '' + for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do + export "''${env#TARGET_}=''${!env}" + done + # GHC is a bit confused on its cross terminology, as these would normally be + # the *host* tools. + export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" + export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" + # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 + export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}" + export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" + export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" + export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" + export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" + export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" + export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" + + echo -n "${buildMK}" > mk/build.mk + sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' + export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" + '' + stdenv.lib.optionalString stdenv.isDarwin '' + export NIX_LDFLAGS+=" -no_dtrace_dof" + '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' + sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets + '' + stdenv.lib.optionalString targetPlatform.isMusl '' + echo "patching llvm-targets for musl targets..." + echo "Cloning these existing '*-linux-gnu*' targets:" + grep linux-gnu llvm-targets | sed 's/^/ /' + echo "(go go gadget sed)" + sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets + echo "llvm-targets now contains these '*-linux-musl*' targets:" + grep linux-musl llvm-targets | sed 's/^/ /' + + echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" + # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) + for x in configure aclocal.m4; do + substituteInPlace $x \ + --replace '*-android*|*-gnueabi*)' \ + '*-android*|*-gnueabi*|*-musleabi*)' + done + ''; + + # TODO(@Ericson2314): Always pass "--target" and always prefix. + configurePlatforms = [ "build" "host" ] + ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; + # `--with` flags for libraries needed for RTS linker + configureFlags = [ + "--datadir=$doc/share/doc/ghc" + "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" + ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib" + ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [ + "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" + ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ + "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" + ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ + "--enable-bootstrap-with-devel-snapshot" + ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [ + "CFLAGS=-fuse-ld=gold" + "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" + "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" + ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [ + "--disable-large-address-space" + ]; + + # Make sure we never relax`$PATH` and hooks support for compatability. + strictDeps = true; + + # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself. + dontAddExtraLibs = true; + + nativeBuildInputs = [ + perl autoconf automake m4 python3 sphinx + ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour + ]; + + # For building runtime libs + depsBuildTarget = toolsForTarget; + + buildInputs = [ perl bash ] ++ (libDeps hostPlatform); + + propagatedBuildInputs = [ targetPackages.stdenv.cc ] + ++ stdenv.lib.optional useLLVM llvmPackages.llvm; + + depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform); + depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform); + + # required, because otherwise all symbols from HSffi.o are stripped, and + # that in turn causes GHCi to abort + stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; + + checkTarget = "test"; + + hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; + + postInstall = '' + # Install the bash completion file. + install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc + + # Patch scripts to include "readelf" and "cat" in $PATH. + for i in "$out/bin/"*; do + test ! -h $i || continue + egrep --quiet '^#!' <(head -n 1 $i) || continue + sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i + done + ''; + + passthru = { + inherit bootPkgs targetPrefix; + + inherit llvmPackages; + inherit enableShared; + + # Our Cabal compiler name + haskellCompilerName = "ghc-${version}"; + }; + + meta = { + homepage = http://haskell.org/ghc; + description = "The Glasgow Haskell Compiler"; + maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; + inherit (ghc.meta) license platforms; + }; + +} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt { + dontStrip = true; + dontPatchELF = true; + noAuditTmpdir = true; +}) diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index 7e670743f7f..804edabba0c 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -1,12 +1,13 @@ -{ stdenv, targetPackages +{ stdenv, pkgsBuildTarget, targetPackages # build-tools , bootPkgs -, autoconf, automake, coreutils, fetchgit, fetchurl, fetchpatch, perl, python3, m4, sphinx +, autoconf, automake, coreutils, fetchgit, fetchpatch, perl, python3, m4, sphinx +, bash , libiconv ? null, ncurses -, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform) +, useLLVM ? !stdenv.targetPlatform.isx86 , # LLVM is conceptually a run-time-only depedendency, but for # non-x86, we need LLVM to bootstrap later stages, so it becomes a # build-time dependency too. @@ -26,10 +27,15 @@ , # Whetherto build terminfo. enableTerminfo ? !stdenv.targetPlatform.isWindows -, version ? "8.7.20190115" +, version ? "8.9.20190601" , # What flavour to build. An empty string indicates no # specific flavour and falls back to ghc default values. - ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "perf-cross" + ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) + (if useLLVM then "perf-cross" else "perf-cross-ncg") + +, # Whether to disable the large address space allocator + # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ + disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64 }: assert !enableIntegerSimple -> gmp != null; @@ -69,11 +75,9 @@ let ++ stdenv.lib.optional (!enableIntegerSimple) gmp ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; - toolsForTarget = - if hostPlatform == buildPlatform then - [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm - else assert targetPlatform == hostPlatform; # build != host == target - [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm; + toolsForTarget = [ + pkgsBuildTarget.targetPackages.stdenv.cc + ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm; targetCC = builtins.head toolsForTarget; @@ -85,14 +89,24 @@ stdenv.mkDerivation (rec { src = fetchgit { url = "https://gitlab.haskell.org/ghc/ghc.git/"; - rev = "c9756dbf1ee58b117ea5c4ded45dea88030efd65"; - sha256 = "0ja3ivyz4jrqkw6z1mdgsczxaqkjy5vw0nyyqlqr0bqxiw9p8834"; + rev = "9bc10993bb300d3712b0f13ec6e28621d75d4204"; + sha256 = "1s7vbinywx8ffj09nxr0h32nggjiqpssrvgmj7820k32w2yi7i8v"; }; enableParallelBuilding = true; outputs = [ "out" "doc" ]; + patches = [ + (fetchpatch rec { # https://github.com/haskell/haddock/issues/900 + url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/983.diff"; + name = "loadpluginsinmodules.diff"; + sha256 = "0bvvv0zsfq2581zsir97zfkggc1kkircbbajc2fz3b169ycpbha1"; + extraPrefix = "utils/haddock/"; + stripLen = 1; + }) + ]; + postPatch = "patchShebangs ."; # GHC is a bit confused on its cross terminology. @@ -105,7 +119,8 @@ stdenv.mkDerivation (rec { export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 - export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}" + # and more generally have a faster linker. + export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" @@ -159,8 +174,7 @@ stdenv.mkDerivation (rec { "CFLAGS=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" - ] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [ - # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ + ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [ "--disable-large-address-space" ]; @@ -175,7 +189,7 @@ stdenv.mkDerivation (rec { # For building runtime libs depsBuildTarget = toolsForTarget; - buildInputs = [ perl ] ++ (libDeps hostPlatform); + buildInputs = [ perl bash ] ++ (libDeps hostPlatform); propagatedBuildInputs = [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm; diff --git a/pkgs/development/compilers/ghcjs-ng/8.4/stage0.nix b/pkgs/development/compilers/ghcjs-ng/8.4/stage0.nix index bf4fd6d68a7..3b89db14497 100644 --- a/pkgs/development/compilers/ghcjs-ng/8.4/stage0.nix +++ b/pkgs/development/compilers/ghcjs-ng/8.4/stage0.nix @@ -107,7 +107,7 @@ base binary bytestring containers ghc-prim ghci-ghcjs template-haskell-ghcjs ]; - homepage = "http://github.com/ghcjs"; + homepage = "https://github.com/ghcjs"; license = stdenv.lib.licenses.mit; }) {}; diff --git a/pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix b/pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix index 8681aceacd7..53b6dd43134 100644 --- a/pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix +++ b/pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix @@ -1,6 +1,6 @@ { haskellLib }: -let inherit (haskellLib) dontCheck doJailbreak dontHaddock; +let inherit (haskellLib) doJailbreak dontHaddock; in self: super: { haddock-library-ghcjs = doJailbreak super.haddock-library-ghcjs; haddock-api-ghcjs = doJailbreak (dontHaddock super.haddock-api-ghcjs); diff --git a/pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix b/pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix index 4e5d656cb06..a89ab15c55f 100644 --- a/pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix +++ b/pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix @@ -107,7 +107,7 @@ base binary bytestring containers ghc-prim ghci-ghcjs template-haskell-ghcjs ]; - homepage = "http://github.com/ghcjs"; + homepage = "https://github.com/ghcjs"; license = stdenv.lib.licenses.mit; }) {}; diff --git a/pkgs/development/compilers/ghcjs-ng/common-overrides.nix b/pkgs/development/compilers/ghcjs-ng/common-overrides.nix index a88e2c48d03..52f3ad497ad 100644 --- a/pkgs/development/compilers/ghcjs-ng/common-overrides.nix +++ b/pkgs/development/compilers/ghcjs-ng/common-overrides.nix @@ -5,4 +5,5 @@ in self: super: { ghc-api-ghcjs = addBuildTools super.ghc-api-ghcjs [alex happy]; ghcjs = dontHaddock (appendConfigureFlag (doJailbreak super.ghcjs) "-fno-wrapper-install"); haddock-library-ghcjs = dontHaddock super.haddock-library-ghcjs; + system-fileio = doJailbreak super.system-fileio; } diff --git a/pkgs/development/compilers/ghcjs-ng/default.nix b/pkgs/development/compilers/ghcjs-ng/default.nix index 14a21078389..068d7b578df 100644 --- a/pkgs/development/compilers/ghcjs-ng/default.nix +++ b/pkgs/development/compilers/ghcjs-ng/default.nix @@ -105,4 +105,5 @@ in stdenv.mkDerivation { meta.platforms = passthru.bootPkgs.ghc.meta.platforms; meta.maintainers = [lib.maintainers.elvishjerricco]; + meta.hydraPlatforms = []; } diff --git a/pkgs/development/compilers/ghcjs-ng/ghcjs-base.nix b/pkgs/development/compilers/ghcjs-ng/ghcjs-base.nix index d03843aa336..7c10ce6572f 100644 --- a/pkgs/development/compilers/ghcjs-ng/ghcjs-base.nix +++ b/pkgs/development/compilers/ghcjs-ng/ghcjs-base.nix @@ -23,7 +23,7 @@ mkDerivation { primitive QuickCheck quickcheck-unicode random test-framework test-framework-hunit test-framework-quickcheck2 text ]; - homepage = "http://github.com/ghcjs/ghcjs-base"; + homepage = "https://github.com/ghcjs/ghcjs-base"; description = "base library for GHCJS"; license = stdenv.lib.licenses.mit; } diff --git a/pkgs/development/compilers/ghcjs/base.nix b/pkgs/development/compilers/ghcjs/base.nix index 93e6a47934f..e9c303b88b6 100644 --- a/pkgs/development/compilers/ghcjs/base.nix +++ b/pkgs/development/compilers/ghcjs/base.nix @@ -29,7 +29,7 @@ , lens , parallel, safe, shelly, split, stringsearch, syb , tar, terminfo -, vector, yaml, fetchgit, fetchFromGitHub +, vector, yaml , alex, happy, git, gnumake, autoconf, patch , automake, libtool , cryptohash diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix index 62c5a0de0a9..161e57b5479 100644 --- a/pkgs/development/compilers/glslang/default.nix +++ b/pkgs/development/compilers/glslang/default.nix @@ -1,35 +1,46 @@ -{ stdenv, fetchFromGitHub, fetchpatch, cmake, bison, spirv-tools, jq }: +{ stdenv, fetchFromGitHub +, bison +, cmake +, jq +, python3 +, spirv-headers +, spirv-tools +}: stdenv.mkDerivation rec { - name = "glslang-git-${version}"; - version = "2018-09-26"; + pname = "glslang"; + version = "7.11.3214"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "glslang"; - rev = "91ac4290bcf2cb930b4fb0981f09c00c0b6797e1"; - sha256 = "0q477pm0n495acnss16ddlf82a6i5l2dfmvc7r8yi0bgmgpzi4av"; + rev = version; + sha256 = "0dqjga0lcza006fhac26zp2plbq4gx8a6nsmrwkqlzji6lw1jins"; }; - buildInputs = [ cmake bison jq ] ++ spirv-tools.buildInputs; + # These get set at all-packages, keep onto them for child drvs + passthru = { + inherit spirv-tools spirv-headers; + }; + + nativeBuildInputs = [ cmake python3 bison jq ]; enableParallelBuilding = true; postPatch = '' cp --no-preserve=mode -r "${spirv-tools.src}" External/spirv-tools - ln -s "${spirv-tools.headers}" External/spirv-tools/external/spirv-headers + ln -s "${spirv-headers.src}" External/spirv-tools/external/spirv-headers ''; + # Ensure spirv-headers and spirv-tools match exactly to what is expected preConfigure = '' HEADERS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools/external/spirv-headers"))[0].commit') TOOLS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools"))[0].commit') - if [ "$HEADERS_COMMIT" != "${spirv-tools.headers.rev}" ] || [ "$TOOLS_COMMIT" != "${spirv-tools.src.rev}" ]; then + if [ "$HEADERS_COMMIT" != "${spirv-headers.src.rev}" ] || [ "$TOOLS_COMMIT" != "${spirv-tools.src.rev}" ]; then echo "ERROR: spirv-tools commits do not match expected versions: expected tools at $TOOLS_COMMIT, headers at $HEADERS_COMMIT"; exit 1; fi ''; - doCheck = false; # fails 3 out of 3 tests (ctest) - meta = with stdenv.lib; { inherit (src.meta) homepage; description = "Khronos reference front-end for GLSL and ESSL"; diff --git a/pkgs/development/compilers/gnu-cobol/default.nix b/pkgs/development/compilers/gnu-cobol/default.nix index ae27964ae8f..df5202cb1c2 100644 --- a/pkgs/development/compilers/gnu-cobol/default.nix +++ b/pkgs/development/compilers/gnu-cobol/default.nix @@ -6,7 +6,7 @@ let lib = stdenv.lib; in stdenv.mkDerivation rec { - name = "gnu-cobol-${version}"; + pname = "gnu-cobol"; inherit version; src = fetchurl { diff --git a/pkgs/development/compilers/gnu-smalltalk/default.nix b/pkgs/development/compilers/gnu-smalltalk/default.nix index 41c325c2b1a..1035091654a 100644 --- a/pkgs/development/compilers/gnu-smalltalk/default.nix +++ b/pkgs/development/compilers/gnu-smalltalk/default.nix @@ -18,7 +18,7 @@ let # The gnu-smalltalk project has a dependency to the libsigsegv library. in stdenv.mkDerivation rec { version = "3.2.5"; - name = "gnu-smalltalk-${version}"; + pname = "gnu-smalltalk"; src = fetchurl { url = "mirror://gnu/smalltalk/smalltalk-${version}.tar.xz"; diff --git a/pkgs/development/compilers/go-jsonnet/default.nix b/pkgs/development/compilers/go-jsonnet/default.nix new file mode 100644 index 00000000000..e051d41993c --- /dev/null +++ b/pkgs/development/compilers/go-jsonnet/default.nix @@ -0,0 +1,33 @@ +{ lib, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "go-jsonnet"; + version = "0.13.0"; + + goPackagePath = "github.com/google/go-jsonnet"; + + # regenerate deps.nix using following steps: + # + # go get -u github.com/google/go-jsonnet + # cd $GOPATH/src/github.com/google/go-jsonnet + # git checkout + # dep init + # dep2nix + goDeps = ./deps.nix; + + src = fetchFromGitHub { + rev = "v${version}"; + owner = "google"; + repo = "go-jsonnet"; + sha256 = "0x95sqhrw4pscxq0q8781wix0w881k9my5kn5nf6k0fg1d6qlgiy"; + fetchSubmodules = true; + }; + + meta = { + description = "An implementation of Jsonnet in pure Go"; + maintainers = with lib.maintainers; [ nshalman ]; + license = lib.licenses.asl20; + homepage = https://github.com/google/go-jsonnet; + platforms = lib.platforms.unix; + }; +} diff --git a/pkgs/development/compilers/go-jsonnet/deps.nix b/pkgs/development/compilers/go-jsonnet/deps.nix new file mode 100644 index 00000000000..1f413a16d81 --- /dev/null +++ b/pkgs/development/compilers/go-jsonnet/deps.nix @@ -0,0 +1,48 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "github.com/fatih/color"; + fetch = { + type = "git"; + url = "https://github.com/fatih/color"; + rev = "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4"; + sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv"; + }; + } + { + 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 = "1311e847b0cb909da63b5fecfb5370aa66236465"; + sha256 = "0rqfh1rj6f5wm8p2ky7inm8g10152p7w6n2cli17kf9gad797i8h"; + }; + } + { + goPackagePath = "github.com/sergi/go-diff"; + fetch = { + type = "git"; + url = "https://github.com/sergi/go-diff"; + rev = "1744e2970ca51c86172c8190fadad617561ed6e7"; + sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "4c4f7f33c9ed00de01c4c741d2177abfcfe19307"; + sha256 = "191001bxqyc3xfs46nnqmm7jdk0r73vk7a4zqngfl7zwjv9smwsq"; + }; + } +] \ No newline at end of file diff --git a/pkgs/development/compilers/go/1.10.nix b/pkgs/development/compilers/go/1.10.nix index 5dce1529a8b..3b924f58bfe 100644 --- a/pkgs/development/compilers/go/1.10.nix +++ b/pkgs/development/compilers/go/1.10.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, tzdata, iana-etc, go_bootstrap, runCommand, writeScriptBin -, perl, which, pkgconfig, patch, procps, pcre, cacert, llvm, Security, Foundation +, perl, which, pkgconfig, patch, procps, pcre, cacert, Security, Foundation , fetchpatch }: @@ -23,7 +23,7 @@ let in stdenv.mkDerivation rec { - name = "go-${version}"; + pname = "go"; version = "1.10.8"; src = fetchFromGitHub { @@ -131,11 +131,6 @@ stdenv.mkDerivation rec { }) ]; - postPatch = optionalString stdenv.isDarwin '' - echo "substitute hardcoded dsymutil with ${llvm}/bin/llvm-dsymutil" - substituteInPlace "src/cmd/link/internal/ld/lib.go" --replace dsymutil ${llvm}/bin/llvm-dsymutil - ''; - GOOS = if stdenv.isDarwin then "darwin" else "linux"; GOARCH = if stdenv.isDarwin then "amd64" else if stdenv.hostPlatform.system == "i686-linux" then "386" @@ -187,5 +182,6 @@ stdenv.mkDerivation rec { license = licenses.bsd3; maintainers = with maintainers; [ cstrahan orivej velovix mic92 ]; platforms = platforms.linux ++ platforms.darwin; + badPlatforms = [ "x86_64-darwin" ]; }; } diff --git a/pkgs/development/compilers/go/1.11.nix b/pkgs/development/compilers/go/1.11.nix index 1c9bc0a3009..a8787639053 100644 --- a/pkgs/development/compilers/go/1.11.nix +++ b/pkgs/development/compilers/go/1.11.nix @@ -1,7 +1,8 @@ -{ stdenv, fetchFromGitHub, tzdata, iana-etc, go_bootstrap, runCommand, writeScriptBin -, perl, which, pkgconfig, patch, procps, pcre, cacert, llvm, Security, Foundation -, mailcap -, buildPackages, targetPackages }: +{ stdenv, fetchurl, tzdata, iana-etc, runCommand +, perl, which, pkgconfig, patch, procps, pcre, cacert, Security, Foundation +, mailcap, runtimeShell +, buildPackages, pkgsTargetTarget +}: let @@ -28,14 +29,12 @@ let in stdenv.mkDerivation rec { - name = "go-${version}"; - version = "1.11.5"; + pname = "go"; + version = "1.11.13"; - src = fetchFromGitHub { - owner = "golang"; - repo = "go"; - rev = "go${version}"; - sha256 = "0d45057rc0bngq0nja847cagxji42qmlywr68f0dkg51im8nyr9y"; + src = fetchurl { + url = "https://dl.google.com/go/go${version}.src.tar.gz"; + sha256 = "0xj0pbviikdf8g0sfz5hwxf7hwz8b8g5akqnrvyclhgnsdghjcjh"; }; # perl is used for testing go vet @@ -55,7 +54,7 @@ stdenv.mkDerivation rec { # This source produces shell script at run time, # and thus it is not corrected by patchShebangs. substituteInPlace misc/cgo/testcarchive/carchive_test.go \ - --replace '#!/usr/bin/env bash' '#!${stdenv.shell}' + --replace '#!/usr/bin/env bash' '#!${runtimeShell}' # Patch the mimetype database location which is missing on NixOS. substituteInPlace src/mime/type_unix.go \ @@ -100,7 +99,7 @@ stdenv.mkDerivation rec { '' + optionalString stdenv.isLinux '' sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go '' + optionalString stdenv.isAarch32 '' - echo '#!${stdenv.shell}' > misc/cgo/testplugin/test.bash + echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash '' + optionalString stdenv.isDarwin '' substituteInPlace src/race.bash --replace \ "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true @@ -125,7 +124,7 @@ stdenv.mkDerivation rec { patches = [ ./remove-tools-1.11.patch - ./ssl-cert-file-1.9.patch + ./ssl-cert-file-1.12.1.patch ./remove-test-pie.patch ./creds-test.patch ./go-1.9-skip-flaky-19608.patch @@ -137,11 +136,6 @@ stdenv.mkDerivation rec { ./skip-test-extra-files-on-386.patch ]; - postPatch = optionalString stdenv.isDarwin '' - echo "substitute hardcoded dsymutil with ${llvm}/bin/llvm-dsymutil" - substituteInPlace "src/cmd/link/internal/ld/lib.go" --replace dsymutil ${llvm}/bin/llvm-dsymutil - ''; - GOOS = stdenv.targetPlatform.parsed.kernel.name; GOARCH = goarch stdenv.targetPlatform; # GOHOSTOS/GOHOSTARCH must match the building system, not the host system. @@ -152,16 +146,12 @@ stdenv.mkDerivation rec { # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those # to be different from CC/CXX - CC_FOR_TARGET = if (stdenv.hostPlatform != stdenv.targetPlatform) then - "${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}cc" - else if (stdenv.buildPlatform != stdenv.targetPlatform) then - "${stdenv.cc.targetPrefix}cc" + CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then + "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc" else null; - CXX_FOR_TARGET = if (stdenv.hostPlatform != stdenv.targetPlatform) then - "${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}c++" - else if (stdenv.buildPlatform != stdenv.targetPlatform) then - "${stdenv.cc.targetPrefix}c++" + CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then + "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}c++" else null; @@ -193,7 +183,7 @@ stdenv.mkDerivation rec { (cd src && ./make.bash) ''; - doCheck = stdenv.hostPlatform == stdenv.targetPlatform; + doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin; checkPhase = '' runHook preCheck @@ -236,7 +226,7 @@ stdenv.mkDerivation rec { homepage = http://golang.org/; description = "The Go Programming language"; license = licenses.bsd3; - maintainers = with maintainers; [ cstrahan orivej velovix mic92 ]; + maintainers = with maintainers; [ cstrahan orivej velovix mic92 rvolosatovs ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/development/compilers/go/1.12.nix b/pkgs/development/compilers/go/1.12.nix new file mode 100644 index 00000000000..dae4c173223 --- /dev/null +++ b/pkgs/development/compilers/go/1.12.nix @@ -0,0 +1,239 @@ +{ stdenv, fetchurl, tzdata, iana-etc, runCommand +, perl, which, pkgconfig, patch, procps, pcre, cacert, Security, Foundation +, mailcap, runtimeShell +, buildPackages, pkgsTargetTarget +}: + +let + + inherit (stdenv.lib) optionals optionalString; + + goBootstrap = runCommand "go-bootstrap" {} '' + mkdir $out + cp -rf ${buildPackages.go_bootstrap}/* $out/ + chmod -R u+w $out + find $out -name "*.c" -delete + cp -rf $out/bin/* $out/share/go/bin/ + ''; + + goarch = platform: { + "i686" = "386"; + "x86_64" = "amd64"; + "aarch64" = "arm64"; + "arm" = "arm"; + "armv5tel" = "arm"; + "armv6l" = "arm"; + "armv7l" = "arm"; + }.${platform.parsed.cpu.name} or (throw "Unsupported system"); + +in + +stdenv.mkDerivation rec { + pname = "go"; + version = "1.12.9"; + + src = fetchurl { + url = "https://dl.google.com/go/go${version}.src.tar.gz"; + sha256 = "1z32imbwmpkzgyh5c3vi7rbvzbq94xjk5qi2xm9sccj7kknmc3mb"; + }; + + # perl is used for testing go vet + nativeBuildInputs = [ perl which pkgconfig patch procps ]; + buildInputs = [ cacert pcre ] + ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ] + ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; + + + propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ]; + + hardeningDisable = [ "all" ]; + + prePatch = '' + patchShebangs ./ # replace /bin/bash + + # This source produces shell script at run time, + # and thus it is not corrected by patchShebangs. + substituteInPlace misc/cgo/testcarchive/carchive_test.go \ + --replace '#!/usr/bin/env bash' '#!${runtimeShell}' + + # Patch the mimetype database location which is missing on NixOS. + substituteInPlace src/mime/type_unix.go \ + --replace '/etc/mime.types' '${mailcap}/etc/mime.types' + + # Disabling the 'os/http/net' tests (they want files not available in + # chroot builds) + rm src/net/{listen,parse}_test.go + rm src/syscall/exec_linux_test.go + + # !!! substituteInPlace does not seems to be effective. + # The os test wants to read files in an existing path. Just don't let it be /usr/bin. + sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go + sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go + # Disable the unix socket test + sed -i '/TestShutdownUnix/areturn' src/net/net_test.go + # Disable the hostname test + sed -i '/TestHostname/areturn' src/os/os_test.go + # ParseInLocation fails the test + sed -i '/TestParseInSydney/areturn' src/time/format_test.go + # Remove the api check as it never worked + sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go + # Remove the coverage test as we have removed this utility + sed -i '/TestCoverageWithCgo/areturn' src/cmd/go/go_test.go + # Remove the timezone naming test + sed -i '/TestLoadFixed/areturn' src/time/time_test.go + # Remove disable setgid test + sed -i '/TestRespectSetgidDir/areturn' src/cmd/go/internal/work/build_test.go + # Remove cert tests that conflict with NixOS's cert resolution + sed -i '/TestEnvVars/areturn' src/crypto/x509/root_unix_test.go + # TestWritevError hangs sometimes + sed -i '/TestWritevError/areturn' src/net/writev_test.go + # TestVariousDeadlines fails sometimes + sed -i '/TestVariousDeadlines/areturn' src/net/timeout_test.go + + sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go + sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go + + # Disable cgo lookup tests not works, they depend on resolver + rm src/net/cgo_unix_test.go + + '' + optionalString stdenv.isLinux '' + sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go + '' + optionalString stdenv.isAarch32 '' + echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash + '' + optionalString stdenv.isDarwin '' + substituteInPlace src/race.bash --replace \ + "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true + sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go + sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go + sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go + + sed -i '/TestChdirAndGetwd/areturn' src/os/os_test.go + sed -i '/TestCredentialNoSetGroups/areturn' src/os/exec/exec_posix_test.go + sed -i '/TestRead0/areturn' src/os/os_test.go + sed -i '/TestSystemRoots/areturn' src/crypto/x509/root_darwin_test.go + + sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/areturn' src/cmd/go/go_test.go + sed -i '/TestBuildDashIInstallsDependencies/areturn' src/cmd/go/go_test.go + + sed -i '/TestDisasmExtld/areturn' src/cmd/objdump/objdump_test.go + + sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go + + # TestCurrent fails because Current is not implemented on Darwin + sed -i 's/TestCurrent/testCurrent/g' src/os/user/user_test.go + sed -i 's/TestLookup/testLookup/g' src/os/user/user_test.go + + touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd + ''; + + patches = [ + ./remove-tools-1.11.patch + ./ssl-cert-file-1.12.1.patch + ./remove-test-pie.patch + ./creds-test.patch + ./go-1.9-skip-flaky-19608.patch + ./go-1.9-skip-flaky-20072.patch + ./skip-external-network-tests.patch + ./skip-nohup-tests.patch + # breaks under load: https://github.com/golang/go/issues/25628 + ./skip-test-extra-files-on-386.patch + ]; + + postPatch = '' + find . -name '*.orig' -exec rm {} ';' + ''; + + GOOS = stdenv.targetPlatform.parsed.kernel.name; + GOARCH = goarch stdenv.targetPlatform; + # GOHOSTOS/GOHOSTARCH must match the building system, not the host system. + # Go will nevertheless build a for host system that we will copy over in + # the install phase. + GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name; + GOHOSTARCH = goarch stdenv.buildPlatform; + + # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those + # to be different from CC/CXX + CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then + "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc" + else + null; + CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then + "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}c++" + else + null; + + GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]); + GO386 = 387; # from Arch: don't assume sse2 on i686 + CGO_ENABLED = 1; + # Hopefully avoids test timeouts on Hydra + GO_TEST_TIMEOUT_SCALE = 3; + + # Indicate that we are running on build infrastructure + # Some tests assume things like home directories and users exists + GO_BUILDER_NAME = "nix"; + + GOROOT_BOOTSTRAP="${goBootstrap}/share/go"; + + postConfigure = '' + export GOCACHE=$TMPDIR/go-cache + # this is compiled into the binary + export GOROOT_FINAL=$out/share/go + + export PATH=$(pwd)/bin:$PATH + + # Independent from host/target, CC should produce code for the building system. + export CC=${buildPackages.stdenv.cc}/bin/cc + ulimit -a + ''; + + postBuild = '' + (cd src && ./make.bash) + ''; + + doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin; + + checkPhase = '' + runHook preCheck + (cd src && HOME=$TMPDIR GOCACHE=$TMPDIR/go-cache ./run.bash --no-rebuild) + runHook postCheck + ''; + + preInstall = '' + rm -r pkg/{bootstrap,obj} + # Contains the wrong perl shebang when cross compiling, + # since it is not used for anything we can deleted as well. + rm src/regexp/syntax/make_perl_groups.pl + '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then '' + mv bin/*_*/* bin + rmdir bin/*_* + ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) '' + rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH} + ''} + '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then '' + rm -rf bin/*_* + ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) '' + rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH} + ''} + '' else ""); + + installPhase = '' + runHook preInstall + mkdir -p $GOROOT_FINAL + cp -a bin pkg src lib misc api doc $GOROOT_FINAL + ln -s $GOROOT_FINAL/bin $out/bin + runHook postInstall + ''; + + setupHook = ./setup-hook.sh; + + disallowedReferences = [ goBootstrap ]; + + meta = with stdenv.lib; { + branch = "1.12"; + homepage = http://golang.org/; + description = "The Go Programming language"; + license = licenses.bsd3; + maintainers = with maintainers; [ cstrahan orivej velovix mic92 rvolosatovs ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix index 95312f9e1ea..97c243439e8 100644 --- a/pkgs/development/compilers/go/1.4.nix +++ b/pkgs/development/compilers/go/1.4.nix @@ -8,7 +8,7 @@ let in stdenv.mkDerivation rec { - name = "go-${version}"; + pname = "go"; version = "1.4-bootstrap-20161024"; revision = "79d85a4965ea7c46db483314c3981751909d7883"; diff --git a/pkgs/development/compilers/go/ssl-cert-file-1.12.1.patch b/pkgs/development/compilers/go/ssl-cert-file-1.12.1.patch new file mode 100644 index 00000000000..aa3116d76c1 --- /dev/null +++ b/pkgs/development/compilers/go/ssl-cert-file-1.12.1.patch @@ -0,0 +1,59 @@ +diff -Naur a/src/crypto/x509/root_cgo_darwin.go b/src/crypto/x509/root_cgo_darwin.go +--- a/src/crypto/x509/root_cgo_darwin.go 2019-03-15 11:33:55.920232337 -0700 ++++ b/src/crypto/x509/root_cgo_darwin.go 2019-03-15 11:34:53.323180897 -0700 +@@ -270,11 +270,20 @@ + import "C" + import ( + "errors" ++ "io/ioutil" ++ "os" + "unsafe" + ) + + func loadSystemRoots() (*CertPool, error) { + roots := NewCertPool() ++ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" { ++ data, err := ioutil.ReadFile(file) ++ if err == nil { ++ roots.AppendCertsFromPEM(data) ++ return roots, nil ++ } ++ } + + var data C.CFDataRef = 0 + var untrustedData C.CFDataRef = 0 +diff -Naur a/src/crypto/x509/root_darwin.go b/src/crypto/x509/root_darwin.go +--- a/src/crypto/x509/root_darwin.go 2019-03-15 11:33:55.920232337 -0700 ++++ b/src/crypto/x509/root_darwin.go 2019-03-15 11:36:21.205123541 -0700 +@@ -92,6 +92,14 @@ + verifyCh = make(chan rootCandidate) + ) + ++ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" { ++ data, err := ioutil.ReadFile(file) ++ if err == nil { ++ roots.AppendCertsFromPEM(data) ++ return roots, nil ++ } ++ } ++ + // Using 4 goroutines to pipe into verify-cert seems to be + // about the best we can do. The verify-cert binary seems to + // just RPC to another server with coarse locking anyway, so +diff -Naur a/src/crypto/x509/root_unix.go b/src/crypto/x509/root_unix.go +--- a/src/crypto/x509/root_unix.go 2019-03-15 11:33:55.920232337 -0700 ++++ b/src/crypto/x509/root_unix.go 2019-03-15 11:37:15.737326340 -0700 +@@ -38,6 +38,13 @@ + + func loadSystemRoots() (*CertPool, error) { + roots := NewCertPool() ++ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" { ++ data, err := ioutil.ReadFile(file) ++ if err == nil { ++ roots.AppendCertsFromPEM(data) ++ return roots, nil ++ } ++ } + + files := certFiles + if f := os.Getenv(certFileEnv); f != "" { diff --git a/pkgs/development/compilers/graalvm/001_mx.py.patch b/pkgs/development/compilers/graalvm/001_mx.py.patch new file mode 100644 index 00000000000..a87a030aa39 --- /dev/null +++ b/pkgs/development/compilers/graalvm/001_mx.py.patch @@ -0,0 +1,257 @@ +diff --git a/mx.py b/mx.py +index af7a9c2..08c0ea8 100755 +--- a/mx.py ++++ b/mx.py +@@ -4976,30 +4976,6 @@ class PackedResourceLibrary(ResourceLibrary): + + def get_path(self, resolve): + extract_path = _make_absolute(self.extract_path, self.suite.dir) +- download_path = super(PackedResourceLibrary, self).get_path(resolve) +- if resolve and self._check_extract_needed(extract_path, download_path): +- extract_path_tmp = tempfile.mkdtemp(suffix=basename(extract_path), dir=dirname(extract_path)) +- try: +- # extract archive +- Extractor.create(download_path).extract(extract_path_tmp) +- # ensure modification time is up to date +- os.utime(extract_path_tmp, None) +- logv("Moving temporary directory {} to {}".format(extract_path_tmp, extract_path)) +- try: +- # attempt atomic overwrite +- os.rename(extract_path_tmp, extract_path) +- except OSError: +- # clean destination & re-try for cases where atomic overwrite doesn't work +- rmtree(extract_path, ignore_errors=True) +- os.rename(extract_path_tmp, extract_path) +- except OSError as ose: +- # Rename failed. Race with other process? +- if self._check_extract_needed(extract_path, download_path): +- # ok something really went wrong +- abort("Extracting {} failed!".format(download_path), context=ose) +- finally: +- rmtree(extract_path_tmp, ignore_errors=True) +- + return extract_path + + def _check_download_needed(self): +@@ -5900,7 +5876,7 @@ class HgConfig(VC): + + def update_to_branch(self, vcdir, branch, abortOnError=True): + cmd = ['update', branch] +- self.hg_command(vcdir, cmd, abortOnError=abortOnError) ++ self.run(['hg', vcdir] + cmd) + + def add(self, vcdir, path, abortOnError=True): + return self.run(['hg', '-q', '-R', vcdir, 'add', path]) == 0 +@@ -5937,7 +5913,7 @@ class HgConfig(VC): + return None + + def parent_info(self, vcdir, abortOnError=True): +- out = self.hg_command(vcdir, ["log", "-r", ".", "--template", "{author}|||{date|hgdate}"], abortOnError=abortOnError) ++ out = _check_output_str(["hg", '-R', vcdir, "log", "-r", ".", "--template", "{author}|||{date|hgdate}"]) + author, date = out.split("|||") + ts, _ = date.split(" ") + return self._sanitize_parent_info({ +@@ -8301,46 +8277,8 @@ class SuiteImport: + version = import_dict.get("version") + suite_dir = None + version_from = import_dict.get("versionFrom") +- if version_from and version: +- abort("In import for '{}': 'version' and 'versionFrom' can not be both set".format(name), context=context) +- if version is None and version_from is None: +- if not (in_subdir and (importer.vc_dir != importer.dir or isinstance(importer, BinarySuite))): +- abort("In import for '{}': No version given and not a 'subdir' suite of the same repository".format(name), context=context) +- if importer.isSourceSuite(): +- suite_dir = join(importer.vc_dir, name) +- version = importer.version() +- if urls is None: +- if not in_subdir: +- if import_dict.get("subdir") is None and importer.vc_dir != importer.dir: +- warn("In import for '{}': No urls given but 'subdir' is not set, assuming 'subdir=True'".format(name), context) +- in_subdir = True +- else: +- abort("In import for '{}': No urls given and not a 'subdir' suite".format(name), context=context) +- return SuiteImport(name, version, None, None, dynamicImport=dynamicImport, in_subdir=in_subdir, version_from=version_from, suite_dir=suite_dir) +- # urls a list of alternatives defined as dicts +- if not isinstance(urls, list): +- abort('suite import urls must be a list', context=context) +- urlinfos = [] +- mainKind = None +- for urlinfo in urls: +- if isinstance(urlinfo, dict) and urlinfo.get('url') and urlinfo.get('kind'): +- kind = urlinfo.get('kind') +- if not VC.is_valid_kind(kind): +- abort('suite import kind ' + kind + ' illegal', context=context) +- else: +- abort('suite import url must be a dict with {"url", kind", attributes', context=context) +- vc = vc_system(kind) +- if kind != 'binary': +- assert not mainKind or mainKind == kind, "Only expecting one non-binary kind" +- mainKind = kind +- url = mx_urlrewrites.rewriteurl(urlinfo.get('url')) +- urlinfos.append(SuiteImportURLInfo(url, kind, vc)) +- vc_kind = None +- if mainKind: +- vc_kind = mainKind +- elif urlinfos: +- vc_kind = 'binary' +- return SuiteImport(name, version, urlinfos, vc_kind, dynamicImport=dynamicImport, in_subdir=in_subdir, version_from=version_from, suite_dir=suite_dir) ++ suite_dir = join(get_env('MX_GIT_CACHE_DIR'), name) ++ return SuiteImport(name, version, [], None, True, in_subdir=in_subdir, version_from=version_from, suite_dir=suite_dir) + + @staticmethod + def get_source_urls(source, kind=None): +@@ -8381,8 +8319,6 @@ class Suite(object): + :type dists: list[Distribution] + """ + def __init__(self, mxDir, primary, internal, importing_suite, load, vc, vc_dir, dynamicallyImported=False): +- if primary is True and vc_dir is None: +- abort("The primary suite must be in a vcs repository") + self.imported_by = [] if primary else [importing_suite] + self.mxDir = mxDir + self.dir = dirname(mxDir) +@@ -8410,7 +8346,7 @@ class Suite(object): + self._outputRoot = None + self._preloaded_suite_dict = None + self.vc = vc +- self.vc_dir = vc_dir ++ self.vc_dir = get_env('MX_GIT_CACHE_DIR') + self._preload_suite_dict() + self._init_imports() + if load: +@@ -9310,7 +9246,9 @@ def get_dynamic_imports(): + class SourceSuite(Suite): + """A source suite""" + def __init__(self, mxDir, primary=False, load=True, internal=False, importing_suite=None, dynamicallyImported=False): +- vc, vc_dir = VC.get_vc_root(dirname(mxDir), abortOnError=False) ++ vc, vc_dir_test = VC.get_vc_root(dirname(mxDir), abortOnError=False) ++ vc_dir = get_env('MX_GIT_CACHE_DIR') ++ warn("LOOKING FOR: " + mxDir) + Suite.__init__(self, mxDir, primary, internal, importing_suite, load, vc, vc_dir, dynamicallyImported=dynamicallyImported) + logvv("SourceSuite.__init__({}), got vc={}, vc_dir={}".format(mxDir, self.vc, self.vc_dir)) + self.projects = [] +@@ -9359,17 +9297,7 @@ class SourceSuite(Suite): + """ + Gets the release tag from VC or create a time based once if VC is unavailable + """ +- if snapshotSuffix not in self._releaseVersion: +- _version = self._get_early_suite_dict_property('version') +- if _version and self.getMxCompatibility().addVersionSuffixToExplicitVersion(): +- if not self.is_release(): +- _version = _version + '-' + snapshotSuffix +- if not _version: +- _version = self.vc.release_version_from_tags(self.vc_dir, self.name, snapshotSuffix=snapshotSuffix) +- if not _version: +- _version = 'unknown-{0}-{1}'.format(platform.node(), time.strftime('%Y-%m-%d_%H-%M-%S_%Z')) +- self._releaseVersion[snapshotSuffix] = _version +- return self._releaseVersion[snapshotSuffix] ++ return get_env('version') + + def scm_metadata(self, abortOnError=False): + scm = self.scm +@@ -12541,55 +12469,8 @@ def _attempt_download(url, path, jarEntryName=None): + return False + + def download(path, urls, verbose=False, abortOnError=True, verifyOnly=False): +- """ +- Attempts to downloads content for each URL in a list, stopping after the first successful download. +- If the content cannot be retrieved from any URL, the program is aborted, unless abortOnError=False. +- The downloaded content is written to the file indicated by `path`. +- """ +- if not verifyOnly: +- ensure_dirname_exists(path) +- assert not path.endswith(os.sep) +- +- # https://docs.oracle.com/javase/7/docs/api/java/net/JarURLConnection.html +- jarURLPattern = re.compile('jar:(.*)!/(.*)') +- verify_errors = {} +- for url in urls: +- if not verifyOnly or verbose: +- log('Downloading ' + url + ' to ' + path) +- m = jarURLPattern.match(url) +- jarEntryName = None +- if m: +- url = m.group(1) +- jarEntryName = m.group(2) +- +- if verifyOnly: +- try: +- conn = _urlopen(url, timeout=10) +- conn.close() +- return True +- except (IOError, socket.timeout) as e: +- _suggest_tlsv1_error(e) +- verify_errors[url] = e +- continue +- +- for i in range(4): +- if i != 0: +- time.sleep(1) +- warn('Retry {} to download from {}'.format(i, url)) +- res = _attempt_download(url, path, jarEntryName) +- if res is True: +- return True +- if res is False: +- break +- +- if abortOnError: +- msg = 'Could not download to ' + path + ' from any of the following URLs: ' + ', '.join(urls) +- if verifyOnly: +- for url, e in verify_errors.items(): +- msg += '\n ' + url + ': ' + str(e) +- abort(msg) +- else: +- return False ++ print("FAKE download(path={} urls={} verbose={} abortOnError={} verifyOnly={})".format(path, urls, verbose, abortOnError, verifyOnly)) ++ return True + + def update_file(path, content, showDiff=False): + """ +@@ -13393,6 +13274,7 @@ class Archiver(SafeFileCreation): + + def _add_zip(self, filename, archive_name, provenance): + self._add_provenance(archive_name, provenance) ++ os.utime(filename, (315532800, 315532800)) + self.zf.write(filename, archive_name) + + def _add_str_zip(self, data, archive_name, provenance): +@@ -18541,12 +18423,35 @@ def _find_suite_import(importing_suite, suite_import, fatalIfMissing=True, load= + Attempts to locate an existing suite in the local context + Returns the path to the mx.name dir if found else None + """ +- if mode == 'binary': +- # binary suites are always stored relative to the importing suite in mx-private directory +- return importing_suite._find_binary_suite_dir(suite_import.name) ++ warn("FAKE CLONE: " + str(suite_import)) ++ if (suite_import.name == "truffle"): ++ return join(get_env('TMP'), "source", "truffle", "mx.truffle") ++ if (suite_import.name == "graal-nodejs"): ++ return join(get_env('MX_GIT_CACHE_DIR'), "graaljs", "graal-nodejs", "mx.graal-nodejs") ++ if (suite_import.name == "truffleruby"): ++ return join(get_env('MX_GIT_CACHE_DIR'), "truffleruby", "mx.truffleruby") ++ if (suite_import.name == "graalpython"): ++ return join(get_env('MX_GIT_CACHE_DIR'), "graalpython", "mx.graalpython") ++ if (suite_import.name == "vm"): ++ return join(get_env('TMP'), "source", "vm", "mx.vm") ++ if (suite_import.name == "fastr"): ++ return join(get_env('MX_GIT_CACHE_DIR'), "fastr", "mx.fastr") ++ if (suite_import.name == "sdk"): ++ return join(get_env('TMP'), "source", "sdk", "mx.sdk") ++ if (suite_import.name == "graal-js"): ++ return join(get_env('MX_GIT_CACHE_DIR'), "graaljs", "graal-js", "mx.graal-js") ++ if (suite_import.name == "regex"): ++ return join(get_env('TMP'), "source", "regex", "mx.regex") ++ if (suite_import.name == "substratevm"): ++ return join(get_env('TMP'), "source", "substratevm", "mx.substratevm") ++ if (suite_import.name == "tools"): ++ return join(get_env('TMP'), "source", "tools", "mx.tools") ++ if (suite_import.name == "sulong"): ++ return join(get_env('TMP'), "source", "sulong", "mx.sulong") ++ if (suite_import.name == "compiler"): ++ return join(get_env('TMP'), "source", "compiler", "mx.compiler") + else: +- # use the SuiteModel to locate a local source copy of the suite +- return _suitemodel.find_suite_dir(suite_import) ++ return join(get_env('MX_GIT_CACHE_DIR'), suite_import.name) + + def _get_import_dir(url, mode): + """Return directory where the suite will be cloned to""" diff --git a/pkgs/development/compilers/graalvm/002_setjmp.c.patch b/pkgs/development/compilers/graalvm/002_setjmp.c.patch new file mode 100644 index 00000000000..38a29fd8fbf --- /dev/null +++ b/pkgs/development/compilers/graalvm/002_setjmp.c.patch @@ -0,0 +1,16 @@ +diff --git a/sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/src/setjmp.c b/sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/src/setjmp.c +index 16b869354d8..3691739d13b 100644 +--- a/sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/src/setjmp.c ++++ b/sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/src/setjmp.c +@@ -41,11 +41,3 @@ int sigsetjmp(sigjmp_buf env, int savesigs) { + WARN_UNSUPPORTED(sigsetjmp); + return 0; + } +- +-void longjmp(jmp_buf env, int val) { +- ERR_UNSUPPORTED(longjmp); +-} +- +-void siglongjmp(sigjmp_buf env, int val) { +- ERR_UNSUPPORTED(siglongjmp); +-} diff --git a/pkgs/development/compilers/graalvm/003_mx_truffle.py.patch b/pkgs/development/compilers/graalvm/003_mx_truffle.py.patch new file mode 100644 index 00000000000..bb9a0068712 --- /dev/null +++ b/pkgs/development/compilers/graalvm/003_mx_truffle.py.patch @@ -0,0 +1,12 @@ +diff --git a/truffle/mx.truffle/mx_truffle.py b/truffle/mx.truffle/mx_truffle.py +index 8889c5ad810..add211a45c5 100644 +--- a/truffle/mx.truffle/mx_truffle.py ++++ b/truffle/mx.truffle/mx_truffle.py +@@ -695,6 +695,7 @@ class LibffiBuildTask(mx.AbstractNativeBuildTask): + os.path.relpath(self.subject.delegate.dir, self.subject.suite.vc_dir)] + for patch in self.subject.patches: + mx.run(git_apply + [patch], cwd=self.subject.suite.vc_dir) ++ mx.run(['cp', os.path.join(os.getenv('TMP'), 'truffle.make'), os.path.join(self.subject.delegate.dir, 'Makefile')]) + + self.delegate.logBuild() + self.delegate.build() diff --git a/pkgs/development/compilers/graalvm/004_mx_jvmci.py.patch b/pkgs/development/compilers/graalvm/004_mx_jvmci.py.patch new file mode 100644 index 00000000000..0aa1bc9b88d --- /dev/null +++ b/pkgs/development/compilers/graalvm/004_mx_jvmci.py.patch @@ -0,0 +1,12 @@ +diff --git a/mx.jvmci/mx_jvmci.py b/mx.jvmci/mx_jvmci.py +index 491fc19ab9..b4ddc03abb 100644 +--- a/mx.jvmci/mx_jvmci.py ++++ b/mx.jvmci/mx_jvmci.py +@@ -192,6 +192,7 @@ class HotSpotVMJDKDeployedDist(JDKDeployedDist): + if m.name in _hs_deploy_map: + targetDir = join(jdkDir, _hs_deploy_map[m.name]) + mx.logv('Deploying {} from {} to {}'.format(m.name, dist.name, targetDir)) ++ subprocess.call(["chmod", "-R", "+rw", targetDir]) + tar.extract(m, targetDir) + + """ diff --git a/pkgs/development/compilers/graalvm/default.nix b/pkgs/development/compilers/graalvm/default.nix index f051b24065a..61e3b6c16ae 100644 --- a/pkgs/development/compilers/graalvm/default.nix +++ b/pkgs/development/compilers/graalvm/default.nix @@ -1,124 +1,227 @@ -{ stdenv, lib, fetchFromGitHub, fetchurl, fetchzip, mercurial, python27, zlib, makeWrapper, oraclejdk8 }: +{ stdenv, lib, fetchFromGitHub, fetchurl, fetchzip, fetchgit, mercurial, python27, setJavaClassPath, + zlib, makeWrapper, openjdk, unzip, git, clang, llvm, which, icu, ruby, bzip2, glibc + # gfortran, readline, bzip2, lzma, pcre, curl, ed, tree ## WIP: fastr deps +}: let - # pre-download some cache entries ('mx' will not be able to download under nixbld1) + version = "19.1.1"; + truffleMake = ./truffle.make; + makeMxGitCache = list: out: '' + mkdir ${out} + ${lib.concatMapStrings ({ url, name, rev, sha256 }: '' + mkdir -p ${out}/${name} + cp -rf ${fetchgit { inherit url rev sha256; }}/* ${out}/${name} + '' + ) list} + + # # GRAAL-NODEJS # # + chmod -R +rw ${out} + sed -i "s|#include \"../../../../mxbuild/trufflenode/coremodules/node_snapshots.h\"| \ + #include \"$NIX_BUILD_TOP/mxbuild/graal-nodejs/trufflenode/coremodules/node_snapshots.h\"|g" \ + ${out}/graaljs/graal-nodejs/deps/v8/src/graal/callbacks.cc + + # patch the shebang in python script runner + chmod -R +rw ${out}/graaljs/graal-nodejs/mx.graal-nodejs/python2 + patchShebangs ${out}/graaljs/graal-nodejs/mx.graal-nodejs/python2/python + + cd ${out} + hg init + hg add + hg commit -m 'dummy commit' + hg tag ${lib.escapeShellArg "vm${version}"} + hg checkout ${lib.escapeShellArg "vm${version}"} + ''; + + # pre-download some cache entries ('mx' will not be able to download under nixbld) makeMxCache = list: stdenv.mkDerivation { name = "mx-cache"; - buildCommand = '' + buildInputs = [ unzip ]; + buildCommand = with lib; '' mkdir $out - ${lib.concatMapStrings ({url, name, sha1}: '' - install -D ${fetchurl { inherit url sha1; }} $out/${name} - echo -n ${sha1} > $out/${name}.sha1 - '') list} + ${lib.concatMapStrings + ({url, name, sha1, isNinja ? false}: '' + install -D ${fetchurl { inherit url sha1; }} $out/${name} + echo -n ${sha1} > $out/${name}.sha1 + ${if isNinja then '' + export BASENAME=${removeSuffix ".zip" name} + mkdir "$out/$BASENAME.extracted" && + unzip "$out/${name}" -d "$out/$BASENAME.extracted" + + # Ninja is called later in the build process + if [ -f $out/$BASENAME.extracted/ninja ]; then + patchelf --set-interpreter \ + "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${stdenv.cc.cc.lib}/lib64" \ + $out/$BASENAME.extracted/ninja + fi + '' + else ""} + '') list} ''; }; jvmci8-mxcache = [ - rec { sha1 = "66215826a684eb6866d4c14a5a4f9c344f1d1eef"; name = "JACOCOCORE_${sha1}/jacococore.jar"; url = mirror://maven/org/jacoco/org.jacoco.core/0.7.9/org.jacoco.core-0.7.9.jar; } - rec { sha1 = "a365ee459836b2aa18028929923923d15f0c3af9"; name = "JACOCOCORE_${sha1}/jacococore.sources.jar"; url = mirror://maven/org/jacoco/org.jacoco.core/0.7.9/org.jacoco.core-0.7.9-sources.jar; } - rec { sha1 = "8a7f78fdf2a4e58762890d8e896a9298c2980c10"; name = "JACOCOREPORT_${sha1}/jacocoreport.jar"; url = mirror://maven/org/jacoco/org.jacoco.report/0.7.9/org.jacoco.report-0.7.9.jar; } - rec { sha1 = "e6703ef288523a8e63fa756d8adeaa70858d41b0"; name = "JACOCOREPORT_${sha1}/jacocoreport.sources.jar"; url = mirror://maven/org/jacoco/org.jacoco.report/0.7.9/org.jacoco.report-0.7.9-sources.jar; } + rec { sha1 = "53addc878614171ff0fcbc8f78aed12175c22cdb"; name = "JACOCOCORE_0.8.4_${sha1}/jacococore-0.8.4.jar"; url = mirror://maven/org/jacoco/org.jacoco.core/0.8.4/org.jacoco.core-0.8.4.jar; } + rec { sha1 = "9bd1fa334d941005bc9ab3ac92478a590f5b7d73"; name = "JACOCOCORE_0.8.4_${sha1}/jacococore-0.8.4.sources.jar"; url = mirror://maven/org/jacoco/org.jacoco.core/0.8.4/org.jacoco.core-0.8.4-sources.jar; } + rec { sha1 = "e5ca9511493b7e3bc2cabdb8ded92e855f3aac32"; name = "JACOCOREPORT_0.8.4_${sha1}/jacocoreport-0.8.4.jar"; url = mirror://maven/org/jacoco/org.jacoco.report/0.8.4/org.jacoco.report-0.8.4.jar; } + rec { sha1 = "eb61e479b35b467954f28a565c094c563b790e19"; name = "JACOCOREPORT_0.8.4_${sha1}/jacocoreport-0.8.4.sources.jar"; url = mirror://maven/org/jacoco/org.jacoco.report/0.8.4/org.jacoco.report-0.8.4-sources.jar; } + rec { sha1 = "869021a6d90cfb008b12e83fccbe42eca29e5355"; name = "JACOCOAGENT_0.8.4_${sha1}/jacocoagent-0.8.4.jar"; url = mirror://maven/org/jacoco/org.jacoco.agent/0.8.4/org.jacoco.agent-0.8.4-runtime.jar; } rec { sha1 = "306816fb57cf94f108a43c95731b08934dcae15c"; name = "JOPTSIMPLE_4_6_${sha1}/joptsimple-4-6.jar"; url = mirror://maven/net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar; } rec { sha1 = "9cd14a61d7aa7d554f251ef285a6f2c65caf7b65"; name = "JOPTSIMPLE_4_6_${sha1}/joptsimple-4-6.sources.jar"; url = mirror://maven/net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6-sources.jar; } - rec { sha1 = "b852fb028de645ad2852bbe998e084d253f450a5"; name = "JMH_GENERATOR_ANNPROCESS_1_18_${sha1}/jmh-generator-annprocess-1-18.jar"; url = mirror://maven/org/openjdk/jmh/jmh-generator-annprocess/1.18/jmh-generator-annprocess-1.18.jar; } - rec { sha1 = "d455b0dc6108b5e6f1fb4f6cf1c7b4cbedbecc97"; name = "JMH_GENERATOR_ANNPROCESS_1_18_${sha1}/jmh-generator-annprocess-1-18.sources.jar"; url = mirror://maven/org/openjdk/jmh/jmh-generator-annprocess/1.18/jmh-generator-annprocess-1.18-sources.jar; } - rec { sha1 = "7aac374614a8a76cad16b91f1a4419d31a7dcda3"; name = "JMH_GENERATOR_ANNPROCESS_1_21_${sha1}/jmh-generator-annprocess-1-21.jar"; url = mirror://maven/org/openjdk/jmh/jmh-generator-annprocess/1.21/jmh-generator-annprocess-1.21.jar; } - rec { sha1 = "fb48e2a97df95f8b9dced54a1a37749d2a64d2ae"; name = "JMH_GENERATOR_ANNPROCESS_1_21_${sha1}/jmh-generator-annprocess-1-21.sources.jar"; url = mirror://maven/org/openjdk/jmh/jmh-generator-annprocess/1.21/jmh-generator-annprocess-1.21-sources.jar; } - rec { sha1 = "702b8525fcf81454235e5e2fa2a35f15ffc0ec7e"; name = "ASM_DEBUG_ALL_${sha1}/asm-debug-all.jar"; url = mirror://maven/org/ow2/asm/asm-debug-all/5.0.4/asm-debug-all-5.0.4.jar; } + rec { sha1 = "fa29aa438674ff19d5e1386d2c3527a0267f291e"; name = "ASM_7.1_${sha1}/asm-7.1.jar"; url = mirror://maven/org/ow2/asm/asm/7.1/asm-7.1.jar; } + rec { sha1 = "9d170062d595240da35301362b079e5579c86f49"; name = "ASM_7.1_${sha1}/asm-7.1.sources.jar"; url = mirror://maven/org/ow2/asm/asm/7.1/asm-7.1-sources.jar; } + rec { sha1 = "a3662cf1c1d592893ffe08727f78db35392fa302"; name = "ASM_TREE_7.1_${sha1}/asm-tree-7.1.jar"; url = mirror://maven/org/ow2/asm/asm-tree/7.1/asm-tree-7.1.jar; } + rec { sha1 = "157238292b551de8680505fa2d19590d136e25b9"; name = "ASM_TREE_7.1_${sha1}/asm-tree-7.1.sources.jar"; url = mirror://maven/org/ow2/asm/asm-tree/7.1/asm-tree-7.1-sources.jar; } + rec { sha1 = "379e0250f7a4a42c66c5e94e14d4c4491b3c2ed3"; name = "ASM_ANALYSIS_7.1_${sha1}/asm-analysis-7.1.jar"; url = mirror://maven/org/ow2/asm/asm-analysis/7.1/asm-analysis-7.1.jar; } + rec { sha1 = "36789198124eb075f1a5efa18a0a7812fb16f47f"; name = "ASM_ANALYSIS_7.1_${sha1}/asm-analysis-7.1.sources.jar"; url = mirror://maven/org/ow2/asm/asm-analysis/7.1/asm-analysis-7.1-sources.jar; } + rec { sha1 = "431dc677cf5c56660c1c9004870de1ed1ea7ce6c"; name = "ASM_COMMONS_7.1_${sha1}/asm-commons-7.1.jar"; url = mirror://maven/org/ow2/asm/asm-commons/7.1/asm-commons-7.1.jar; } + rec { sha1 = "a62ff3ae6e37affda7c6fb7d63b89194c6d006ee"; name = "ASM_COMMONS_7.1_${sha1}/asm-commons-7.1.sources.jar"; url = mirror://maven/org/ow2/asm/asm-commons/7.1/asm-commons-7.1-sources.jar; } rec { sha1 = "ec2544ab27e110d2d431bdad7d538ed509b21e62"; name = "COMMONS_MATH3_3_2_${sha1}/commons-math3-3-2.jar"; url = mirror://maven/org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar; } rec { sha1 = "cd098e055bf192a60c81d81893893e6e31a6482f"; name = "COMMONS_MATH3_3_2_${sha1}/commons-math3-3-2.sources.jar"; url = mirror://maven/org/apache/commons/commons-math3/3.2/commons-math3-3.2-sources.jar; } - rec { sha1 = "0174aa0077e9db596e53d7f9ec37556d9392d5a6"; name = "JMH_1_18_${sha1}/jmh-1-18.jar"; url = mirror://maven/org/openjdk/jmh/jmh-core/1.18/jmh-core-1.18.jar; } - rec { sha1 = "7ff1e1aafea436b6aa8b29a8b8f1c2d66be26f5b"; name = "JMH_1_18_${sha1}/jmh-1-18.sources.jar"; url = mirror://maven/org/openjdk/jmh/jmh-core/1.18/jmh-core-1.18-sources.jar; } rec { sha1 = "442447101f63074c61063858033fbfde8a076873"; name = "JMH_1_21_${sha1}/jmh-1-21.jar"; url = mirror://maven/org/openjdk/jmh/jmh-core/1.21/jmh-core-1.21.jar; } rec { sha1 = "a6fe84788bf8cf762b0e561bf48774c2ea74e370"; name = "JMH_1_21_${sha1}/jmh-1-21.sources.jar"; url = mirror://maven/org/openjdk/jmh/jmh-core/1.21/jmh-core-1.21-sources.jar; } + rec { sha1 = "7aac374614a8a76cad16b91f1a4419d31a7dcda3"; name = "JMH_GENERATOR_ANNPROCESS_1_21_${sha1}/jmh-generator-annprocess-1-21.jar"; url = mirror://maven/org/openjdk/jmh/jmh-generator-annprocess/1.21/jmh-generator-annprocess-1.21.jar; } + rec { sha1 = "fb48e2a97df95f8b9dced54a1a37749d2a64d2ae"; name = "JMH_GENERATOR_ANNPROCESS_1_21_${sha1}/jmh-generator-annprocess-1-21.sources.jar"; url = mirror://maven/org/openjdk/jmh/jmh-generator-annprocess/1.21/jmh-generator-annprocess-1.21-sources.jar; } rec { sha1 = "2973d150c0dc1fefe998f834810d68f278ea58ec"; name = "JUNIT_${sha1}/junit.jar"; url = mirror://maven/junit/junit/4.12/junit-4.12.jar; } rec { sha1 = "a6c32b40bf3d76eca54e3c601e5d1470c86fcdfa"; name = "JUNIT_${sha1}/junit.sources.jar"; url = mirror://maven/junit/junit/4.12/junit-4.12-sources.jar; } rec { sha1 = "42a25dc3219429f0e5d060061f71acb49bf010a0"; name = "HAMCREST_${sha1}/hamcrest.jar"; url = mirror://maven/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar; } rec { sha1 = "1dc37250fbc78e23a65a67fbbaf71d2e9cbc3c0b"; name = "HAMCREST_${sha1}/hamcrest.sources.jar"; url = mirror://maven/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar; } - rec { sha1 = "0d031013db9a80d6c88330c42c983fbfa7053193"; name = "jvmci/intel-hsdis-amd64-linux-${sha1}.so"; url = "https://lafo.ssw.uni-linz.ac.at/pub/hsdis/intel/hsdis-amd64-linux-${sha1}.so"; } + rec { sha1 = "0d031013db9a80d6c88330c42c983fbfa7053193"; name = "hsdis_${sha1}/hsdis.so"; url = "https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/hsdis/intel/hsdis-amd64-linux-${sha1}.so"; } ]; graal-mxcache = jvmci8-mxcache ++ [ + rec { sha1 = "a990b2dba1c706f5c43c56fedfe70bad9a695852"; name = "LLVM_WRAPPER_${sha1}/llvm-wrapper.jar"; url = mirror://maven/org/bytedeco/javacpp-presets/llvm/6.0.1-1.4.2/llvm-6.0.1-1.4.2.jar; } + rec { sha1 = "decbd95d46092fa9afaf2523b5b23d07ad7ad6bc"; name = "LLVM_WRAPPER_${sha1}/llvm-wrapper.sources.jar"; url = mirror://maven/org/bytedeco/javacpp-presets/llvm/6.0.1-1.4.2/llvm-6.0.1-1.4.2-sources.jar; } + rec { sha1 = "344483aefa15147c121a8fb6fb35a2406768cc5c"; name = "LLVM_PLATFORM_SPECIFIC_${sha1}/llvm-platform-specific.jar"; url = mirror://maven/org/bytedeco/javacpp-presets/llvm/6.0.1-1.4.2/llvm-6.0.1-1.4.2-linux-x86_64.jar; } + rec { sha1 = "503402aa0cf80fd95ede043c0011152c2b4556fd"; name = "LLVM_PLATFORM_${sha1}/llvm-platform.jar"; url = mirror://maven/org/bytedeco/javacpp-presets/llvm-platform/6.0.1-1.4.2/llvm-platform-6.0.1-1.4.2.jar; } + rec { sha1 = "cfa6a0259d98bff5aa8d41ba11b4d1dad648fbaa"; name = "JAVACPP_${sha1}/javacpp.jar"; url = mirror://maven/org/bytedeco/javacpp/1.4.2/javacpp-1.4.2.jar; } + rec { sha1 = "fdb2d2c17f6b91cdd5421554396da8905f0dfed2"; name = "JAVACPP_${sha1}/javacpp.sources.jar"; url = mirror://maven/org/bytedeco/javacpp/1.4.2/javacpp-1.4.2-sources.jar; } + rec { sha1 = "702ca2d0ae93841c5ab75e4d119b29780ec0b7d9"; name = "NINJA_SYNTAX_${sha1}/ninja-syntax.tar.gz"; url = "https://pypi.org/packages/source/n/ninja_syntax/ninja_syntax-1.7.2.tar.gz"; } + rec { sha1 = "987234c4ce45505c21302e097c24efef4873325c"; name = "NINJA_${sha1}/ninja.zip"; url = "https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip"; + isNinja = true; } rec { sha1 = "f2cfb09cee12469ff64f0d698b13de19903bb4f7"; name = "NanoHTTPD-WebSocket_${sha1}/nanohttpd-websocket.jar"; url = mirror://maven/org/nanohttpd/nanohttpd-websocket/2.3.1/nanohttpd-websocket-2.3.1.jar; } rec { sha1 = "a8d54d1ca554a77f377eff6bf9e16ca8383c8f6c"; name = "NanoHTTPD_${sha1}/nanohttpd.jar"; url = mirror://maven/org/nanohttpd/nanohttpd/2.3.1/nanohttpd-2.3.1.jar; } - rec { sha1 = "30b13b7efc55b7feea667691509cf59902375001"; name = "ANTLR4_${sha1}/antlr4.jar"; url = mirror://maven/org/antlr/antlr4-runtime/4.7/antlr4-runtime-4.7.jar; } - rec { sha1 = "fdedd5f2522122102f0b3db85fe7aa563a009926"; name = "JLINE_${sha1}/jline.jar"; url = mirror://maven/jline/jline/2.14.5/jline-2.14.5.jar; } + rec { sha1 = "946f8aa9daa917dd81a8b818111bec7e288f821a"; name = "ANTLR4_${sha1}/antlr4.jar"; url = mirror://maven/org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar; } + rec { sha1 = "c3aeac59c022bdc497c8c48ed86fa50450e4896a"; name = "JLINE_${sha1}/jline.jar"; url = mirror://maven/jline/jline/2.14.6/jline-2.14.6.jar; } rec { sha1 = "d0bdc21c5e6404726b102998e44c66a738897905"; name = "JAVA_ALLOCATION_INSTRUMENTER_${sha1}/java-allocation-instrumenter.jar"; url = mirror://maven/com/google/code/java-allocation-instrumenter/java-allocation-instrumenter/3.1.0/java-allocation-instrumenter-3.1.0.jar; } - rec { sha1 = "0da08b8cce7bbf903602a25a3a163ae252435795"; name = "ASM5_${sha1}/asm5.jar"; url = mirror://maven/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar; } + rec { sha1 = "0da08b8cce7bbf903602a25a3a163ae252435795"; name = "ASM5_${sha1}/asm5.jar"; url = mirror://maven/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar; } rec { sha1 = "396ce0c07ba2b481f25a70195c7c94922f0d1b0b"; name = "ASM_TREE5_${sha1}/asm-tree5.jar"; url = mirror://maven/org/ow2/asm/asm-tree/5.0.4/asm-tree-5.0.4.jar; } - rec { sha1 = "280c265b789e041c02e5c97815793dfc283fb1e6"; name = "LIBFFI_${sha1}/libffi.tar.gz"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/libffi-3.2.1.tar.gz; } + rec { sha1 = "280c265b789e041c02e5c97815793dfc283fb1e6"; name = "LIBFFI_SOURCES_${sha1}/libffi-sources.tar.gz"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/libffi-3.2.1.tar.gz; } rec { sha1 = "8819cea8bfe22c9c63f55465e296b3855ea41786"; name = "TruffleJSON_${sha1}/trufflejson.jar"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/trufflejson-20180130.jar; } rec { sha1 = "9712a8124c40298015f04a74f61b3d81a51513af"; name = "CHECKSTYLE_8.8_${sha1}/checkstyle-8.8.jar"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/checkstyle-8.8-all.jar; } - rec { sha1 = "a828a4f32caf9ac0b74f2548f87310959558c526"; name = "VISUALVM_COMMON_${sha1}/visualvm-common.tar.gz"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/visualvm-612.tar.gz; } - rec { sha1 = "7ac829f0c9a37f5cc39afd2265588a365480720d"; name = "VISUALVM_PLATFORM_SPECIFIC_${sha1}/visualvm-platform-specific.tar.gz"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/visualvm-612-linux-amd64.tar.gz; } + rec { sha1 = "158ba6f2b346469b5f8083d1700c3f55b8b9082c"; name = "VISUALVM_COMMON_${sha1}/visualvm-common.tar.gz"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/visualvm/visualvm-19_0_0-11.tar.gz; } + rec { sha1 = "eb5ffa476ed2f6fac0ecd4bb2ae32741f9646932"; name = "VISUALVM_PLATFORM_SPECIFIC_${sha1}/visualvm-platform-specific.tar.gz"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/visualvm/visualvm-19_0_0-11-linux-amd64.tar.gz; } rec { sha1 = "e6e60889b7211a80b21052a249bd7e0f88f79fee"; name = "Java-WebSocket_${sha1}/java-websocket.jar"; url = mirror://maven/org/java-websocket/Java-WebSocket/1.3.9/Java-WebSocket-1.3.9.jar; } + rec { sha1 = "7a4d00d5ec5febd252a6182e8b6e87a0a9821f81"; name = "ICU4J_${sha1}/icu4j.jar"; url = mirror://maven/com/ibm/icu/icu4j/62.1/icu4j-62.1.jar; } + # This duplication of asm with underscore and minus is totally weird + rec { sha1 = "c01b6798f81b0fc2c5faa70cbe468c275d4b50c7"; name = "ASM-6.2.1_${sha1}/asm-6.2.1.jar"; url = mirror://maven/org/ow2/asm/asm/6.2.1/asm-6.2.1.jar; } + rec { sha1 = "cee28077ac7a63d3de0b205ec314d83944ff6267"; name = "ASM-6.2.1_${sha1}/asm-6.2.1.sources.jar"; url = mirror://maven/org/ow2/asm/asm/6.2.1/asm-6.2.1-sources.jar; } + rec { sha1 = "332b022092ecec53cdb6272dc436884b2d940615"; name = "ASM_TREE-6.2.1_${sha1}/asm-tree-6.2.1.jar"; url = mirror://maven/org/ow2/asm/asm-tree/6.2.1/asm-tree-6.2.1.jar; } + rec { sha1 = "072bd64989090e4ed58e4657e3d4481d96f643af"; name = "ASM_TREE-6.2.1_${sha1}/asm-tree-6.2.1.sources.jar"; url = mirror://maven/org/ow2/asm/asm-tree/6.2.1/asm-tree-6.2.1-sources.jar; } + rec { sha1 = "e8b876c5ccf226cae2f44ed2c436ad3407d0ec1d"; name = "ASM_ANALYSIS-6.2.1_${sha1}/asm-analysis-6.2.1.jar"; url = mirror://maven/org/ow2/asm/asm-analysis/6.2.1/asm-analysis-6.2.1.jar; } + rec { sha1 = "b0b249bd185677648692e7c57b488b6d7c2a6653"; name = "ASM_ANALYSIS-6.2.1_${sha1}/asm-analysis-6.2.1.sources.jar"; url = mirror://maven/org/ow2/asm/asm-analysis/6.2.1/asm-analysis-6.2.1-sources.jar; } + rec { sha1 = "eaf31376d741a3e2017248a4c759209fe25c77d3"; name = "ASM_COMMONS-6.2.1_${sha1}/asm-commons-6.2.1.jar"; url = mirror://maven/org/ow2/asm/asm-commons/6.2.1/asm-commons-6.2.1.jar; } + rec { sha1 = "667fa0f9d370e7848b0e3d173942855a91fd1daf"; name = "ASM_COMMONS-6.2.1_${sha1}/asm-commons-6.2.1.sources.jar"; url = mirror://maven/org/ow2/asm/asm-commons/6.2.1/asm-commons-6.2.1-sources.jar; } + # From here on the deps are new + rec { sha1 = "400d664d7c92a659d988c00cb65150d1b30cf339"; name = "ASM_UTIL-6.2.1_${sha1}/asm-util-6.2.1.jar"; url = mirror://maven/org/ow2/asm/asm-util/6.2.1/asm-util-6.2.1.jar; } + rec { sha1 = "c9f7246bf93bb0dc7fe9e7c9eca531a8fb98d252"; name = "ASM_UTIL-6.2.1_${sha1}/asm-util-6.2.1.sources.jar"; url = mirror://maven/org/ow2/asm/asm-util/6.2.1/asm-util-6.2.1-sources.jar; } + rec { sha1 = "4b52bd03014f6d080ef0528865c1ee50621e35c6"; name = "NETBEANS_PROFILER_${sha1}/netbeans-profiler.jar"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/truffle/js/org-netbeans-lib-profiler-8.2-201609300101.jar; } + rec { sha1 = "b5840706cc8ce639fcafeab1bc61da2d8aa37afd"; name = "NASHORN_INTERNAL_TESTS_${sha1}/nashorn-internal-tests.jar"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/truffle/js/nashorn-internal-tests-700f5e3f5ff2.jar; } + rec { sha1 = "9577018f9ce3636a2e1cb0a0c7fe915e5098ded5"; name = "JACKSON_ANNOTATIONS_${sha1}/jackson-annotations.jar"; url = mirror://maven/com/fasterxml/jackson/core/jackson-annotations/2.8.6/jackson-annotations-2.8.6.jar; } + rec { sha1 = "2ef7b1cc34de149600f5e75bc2d5bf40de894e60"; name = "JACKSON_CORE_${sha1}/jackson-core.jar"; url = mirror://maven/com/fasterxml/jackson/core/jackson-core/2.8.6/jackson-core-2.8.6.jar; } + rec { sha1 = "c43de61f74ecc61322ef8f402837ba65b0aa2bf4"; name = "JACKSON_DATABIND_${sha1}/jackson-databind.jar"; url = mirror://maven/com/fasterxml/jackson/core/jackson-databind/2.8.6/jackson-databind-2.8.6.jar; } + rec { sha1 = "2838952e91baa37ac73ed817451268a193ba440a"; name = "JCODINGS_${sha1}/jcodings.jar"; url = mirror://maven/org/jruby/jcodings/jcodings/1.0.40/jcodings-1.0.40.jar; } + rec { sha1 = "0ed89e096c83d540acac00d6ee3ea935b4c905ff"; name = "JCODINGS_${sha1}/jcodings.sources.jar"; url = mirror://maven/org/jruby/jcodings/jcodings/1.0.40/jcodings-1.0.40-sources.jar; } + rec { sha1 = "5dbb09787a9b8780737b71fbf942235ef59051b9"; name = "JONI_${sha1}/joni.jar"; url = mirror://maven/org/jruby/joni/joni/2.1.25/joni-2.1.25.jar; } + rec { sha1 = "505a09064f6e2209616f38724f6d97d8d889aa92"; name = "JONI_${sha1}/joni.sources.jar"; url = mirror://maven/org/jruby/joni/joni/2.1.25/joni-2.1.25-sources.jar; } + rec { sha1 = "c4f7d054303948eb6a4066194253886c8af07128"; name = "XZ-1.8_${sha1}/xz-1.8.jar"; url = mirror://maven/org/tukaani/xz/1.8/xz-1.8.jar; } + rec { sha1 = "9314d3d372b05546a33791fbc8dd579c92ebd16b"; name = "GNUR_${sha1}/gnur.tar.gz"; url = http://cran.rstudio.com/src/base/R-3/R-3.5.1.tar.gz; } + rec { sha1 = "90aa8308da72ae610207d8f6ca27736921be692a"; name = "ANTLR4_COMPLETE_${sha1}/antlr4-complete.jar"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/antlr-4.7.1-complete.jar; } ]; + graal-mxcachegit = [ + { sha256 = "05z2830ng71bhgsxc0zyc74l1bz7hg54la8j1r99993fhhch4y36"; name = "graaljs"; url = "https://github.com/graalvm/graaljs.git"; rev = "vm-${version}"; } + { sha256 = "0ai5x4n1c2lcfkfpp29zn1bcmp3khc5hvssyw1qr1l2zy79fxwjp"; name = "truffleruby"; url = "https://github.com/oracle/truffleruby.git"; rev = "vm-${version}"; } + { sha256 = "010079qsl6dff3yca8vlzcahq9z1ppyr758shjkm1f7izwphjv7p"; name = "fastr"; url = "https://github.com/oracle/fastr.git"; rev = "vm-${version}"; } + { sha256 = "0hcqbasqs0yb7p1sal63qbxqxh942gh5vzl95pfdlflmc2g82v4q"; name = "graalpython"; url = "https://github.com/graalvm/graalpython.git"; rev = "vm-${version}"; } + ]; + + ninja-syntax = python27.pkgs.buildPythonPackage rec { + version = "1.7.2"; + pname = "ninja_syntax"; + doCheck = false; + src = python27.pkgs.fetchPypi { + inherit pname version; + sha256 = "07zg30m0khx55fv2gxxn7pqd549z0vk3x592mrdlk9l8krxwjb9l"; + }; + }; + findbugs = fetchzip { name = "findbugs-3.0.0"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/findbugs-3.0.0.zip; sha256 = "0sf5f9h1s6fmhfigjy81i109j1ani5kzdr4njlpq0mnkkh9fpr7m"; }; + python27withPackages = python27.withPackages (ps: [ ninja-syntax ]); + in rec { mx = stdenv.mkDerivation rec { - version = "5.192.0"; + version = "5.223.0"; pname = "mx"; src = fetchFromGitHub { owner = "graalvm"; repo = "mx"; rev = version; - sha256 = "04gdf1gzlc8a6li8lcnrs2j9zicj11fs1vqqf7cmhb4pm2h72hml"; + sha256 = "0q51dnm6n1472p93dxr4jh8d7cv09a70pq89cdgxwh42vapykrn9"; }; nativeBuildInputs = [ makeWrapper ]; + prePatch = '' + cp mx.py bak_mx.py + ''; + patches = [ ./001_mx.py.patch ]; + postPatch = '' + mv mx.py internal_mx.py + mv bak_mx.py mx.py + ''; buildPhase = '' substituteInPlace mx --replace /bin/pwd pwd - # forbid network access while simulate success for passing obligatory "VerifyLibraryURL" - substituteInPlace mx.py --replace \ - 'def download(path, urls, verbose=False, abortOnError=True, verifyOnly=False):' \ - 'def download(path, urls, verbose=False, abortOnError=True, verifyOnly=False): - print("FAKE download(path={} urls={} verbose={} abortOnError={} verifyOnly={})".format(path, urls, verbose, abortOnError, verifyOnly)) - return True' - # avoid crash with 'ValueError: ZIP does not support timestamps before 1980' - substituteInPlace mx.py --replace \ - 'zipfile.ZipInfo(arcname, time.localtime(os.path.getmtime(join(root, f)))[:6])' \ + substituteInPlace internal_mx.py --replace \ + 'zipfile.ZipInfo(arcname, time.localtime(getmtime(join(root, f)))[:6])' \ 'zipfile.ZipInfo(arcname, time.strptime ("1 Jan 1980", "%d %b %Y" )[:6])' ''; installPhase = '' mkdir -p $out/bin cp -dpR * $out/bin wrapProgram $out/bin/mx \ - --prefix PATH : ${lib.makeBinPath [ python27 mercurial ]} \ + --prefix PATH : ${lib.makeBinPath [ python27withPackages mercurial ]} \ + --set FINDBUGS_HOME ${findbugs} + makeWrapper ${python27}/bin/python $out/bin/mx-internal \ + --add-flags "$out/bin/internal_mx.py" \ + --prefix PATH : ${lib.makeBinPath [ python27withPackages mercurial ]} \ --set FINDBUGS_HOME ${findbugs} ''; meta = with stdenv.lib; { homepage = https://github.com/graalvm/mx; description = "Command-line tool used for the development of Graal projects"; - license = licenses.unfree; + license = licenses.gpl2; platforms = python27.meta.platforms; }; }; - # copy of pkgs.oraclejvm8 with JVMCI interface (TODO: it should work with pkgs.openjdk8 too) jvmci8 = stdenv.mkDerivation rec { - version = "0.49"; - name = let - n = "jvmci${/*"8u191"*/ lib.removePrefix "oraclejdk-" oraclejdk8.name}-${version}"; - in if (lib.stringLength n) == (lib.stringLength oraclejdk8.name) then - n - else - throw "length of string `${n}' must be equal to the length of `${oraclejdk8.name}'"; + version = "19.2-b01"; + pname = "jvmci"; src = fetchFromGitHub { owner = "graalvm"; repo = "graal-jvmci-8"; rev = "jvmci-${version}"; - sha256 = "1zgin0w1qa7wmfhcisx470fhnmddfxxp5nyyix31yaa7dznql82k"; + sha256 = "0maipj871vaxvap4576m0pzblzqxfjjzmwap3ndd84ny8d6vbqaa"; }; - buildInputs = [ mx mercurial ]; + buildInputs = [ mx mercurial openjdk ]; postUnpack = '' # a fake mercurial dir to prevent mx crash and supply the version to mx ( cd $sourceRoot @@ -129,46 +232,71 @@ in rec { hg checkout ${lib.escapeShellArg src.rev} ) ''; + patches = [ ./004_mx_jvmci.py.patch ]; + postPatch ='' + # The hotspot version name regex fix + substituteInPlace mx.jvmci/mx_jvmci.py \ + --replace "\\d+.\\d+-b\\d+" "\\d+.\\d+-bga" + substituteInPlace src/share/vm/jvmci/jvmciCompilerToVM.cpp \ + --replace 'method->name_and_sig_as_C_string(), method->native_function(), entry' \ + 'method->name_and_sig_as_C_string(), p2i(method->native_function()), p2i(entry)' || exit -1 + ''; hardeningDisable = [ "fortify" ]; NIX_CFLAGS_COMPILE = [ "-Wno-error=format-overflow" # newly detected by gcc7 "-Wno-error=nonnull" ]; buildPhase = '' - cp -dpR ${oraclejdk8} writable-copy-of-jdk - chmod +w -R writable-copy-of-jdk - export MX_ALT_OUTPUT_ROOT=$NIX_BUILD_TOP/mxbuild export MX_CACHE_DIR=${makeMxCache jvmci8-mxcache} - mx --java-home $(pwd)/writable-copy-of-jdk build + + mx-internal --primary-suite . --vm=server -v build -DFULL_DEBUG_SYMBOLS=0 + mx-internal --primary-suite . --vm=server -v vm -version + mx-internal --primary-suite . --vm=server -v unittest ''; installPhase = '' - mv jdk1.8.0_*/linux-amd64/product $out - find $out -type f -exec sed -i "s#${oraclejdk8}#$out#g" {} \; - - install -v -m0555 -D $MX_CACHE_DIR/jvmci/*hsdis*.so $out/jre/lib/amd64/hsdis-amd64.so + mkdir -p $out + mv openjdk1.8.0_*/linux-amd64/product/* $out + install -v -m0555 -D $MX_CACHE_DIR/hsdis*/hsdis.so $out/jre/lib/amd64/hsdis-amd64.so ''; - dontFixup = true; # do not nuke path of ffmpeg etc - dontStrip = true; # why? see in oraclejdk derivation - inherit (oraclejdk8) meta; + # copy-paste openjdk's preFixup + preFixup = '' + # Propagate the setJavaClassPath setup hook from the JRE so that + # any package that depends on the JRE has $CLASSPATH set up + # properly. + mkdir -p $out/nix-support + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs + + # Set JAVA_HOME automatically. + mkdir -p $out/nix-support + cat < $out/nix-support/setup-hook + if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi + EOF + ''; + postFixup = openjdk.postFixup or null; + dontStrip = true; # stripped javac crashes with "segmentaion fault" + inherit (openjdk) meta; }; graalvm8 = stdenv.mkDerivation rec { - version = "1.0.0-rc8"; - name = let - n = "graal-${version}"; - in if (lib.stringLength n) == (lib.stringLength jvmci8.name) then - n - else - throw "length of string `${n}' must be equal to the length of `${jvmci8.name}'"; + inherit version; + pname = "graal"; src = fetchFromGitHub { owner = "oracle"; repo = "graal"; rev = "vm-${version}"; - sha256 = "1fada4awrr8bhw294xdiq4bagvgrlcr44mw6338gaal0ky3vkm0p"; + sha256 = "0abx6adk91yzaf1md4qbidxykpqcgphh6j4hj01ry57s4if0j66f"; }; - buildInputs = [ mx zlib mercurial jvmci8 ]; + patches = [ ./002_setjmp.c.patch ./003_mx_truffle.py.patch ]; + buildInputs = [ mx zlib mercurial jvmci8 git clang llvm + python27withPackages which icu ruby bzip2 + # gfortran readline bzip2 lzma pcre.dev curl ed ## WIP: fastr dependencies + ]; postUnpack = '' + cp ${stdenv.cc.cc}/include/c++/${stdenv.cc.cc.version}/stdlib.h \ + $sourceRoot/sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/include + cp ${truffleMake} $TMP && mv *truffle.make truffle.make + rm $sourceRoot/truffle/src/libffi/patches/others/0001-Add-mx-bootstrap-Makefile.patch # a fake mercurial dir to prevent mx crash and supply the version to mx ( cd $sourceRoot hg init @@ -188,60 +316,62 @@ in rec { 'command.add(Platform.includedIn(Platform.WINDOWS.class) ? "CL" : "${stdenv.cc}/bin/gcc");' substituteInPlace substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/CCLinkerInvocation.java \ --replace 'protected String compilerCommand = "cc";' 'protected String compilerCommand = "${stdenv.cc}/bin/cc";' + # prevent cyclical imports caused by identical names + substituteInPlace sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/include/stdlib.h \ + --replace '# include ' '# include "${stdenv.cc.cc}/include/c++/${stdenv.cc.cc.version}/cstdlib"' + # dragonegg can't seem to compile on nix, so let's not require it + substituteInPlace sulong/mx.sulong/suite.py \ + --replace '"requireDragonegg" : True,' '"requireDragonegg" : False,' + substituteInPlace truffle/mx.truffle/mx_truffle.py \ + --replace 'os.path.relpath(self.subject.delegate.dir, self.subject.suite.vc_dir)' \ + 'self.subject.delegate.dir' + + # Patch the native-image template, as it will be run during build + chmod +x vm/mx.vm/launcher_template.sh && patchShebangs vm/mx.vm + # Prevent random errors from too low maxRuntimecompilemethods + substituteInPlace truffle/mx.truffle/macro-truffle.properties \ + --replace '-H:MaxRuntimeCompileMethods=1400' \ + '-H:MaxRuntimeCompileMethods=28000' ''; + buildPhase = '' # make a copy of jvmci8 - cp -dpR ${jvmci8} $out - chmod +w -R $out - find $out -type f -exec sed -i "s#${jvmci8}#$out#g" {} \; + mkdir $NIX_BUILD_TOP/jvmci8 + cp -dpR ${jvmci8}/* $NIX_BUILD_TOP/jvmci8 + chmod +w -R $NIX_BUILD_TOP/jvmci8 export MX_ALT_OUTPUT_ROOT=$NIX_BUILD_TOP/mxbuild export MX_CACHE_DIR=${makeMxCache graal-mxcache} + export MX_GIT_CACHE='refcache' + export MX_GIT_CACHE_DIR=$NIX_BUILD_TOP/mxgitcache + export JVMCI_VERSION_CHECK='ignore' + export JAVA_HOME=$NIX_BUILD_TOP/jvmci8 + # export FASTR_RELEASE=true ## WIP + ${makeMxGitCache graal-mxcachegit "$MX_GIT_CACHE_DIR"} + cd $NIX_BUILD_TOP/source - ( cd substratevm - - mkdir -p clibraries - mx --java-home $out build - - # bootstrap native-image (that was removed from mx build in https://github.com/oracle/graal/commit/140d7a7edf54ec5872a8ff45869cd1ae499efde4) - mx --java-home $out native-image -cp $MX_ALT_OUTPUT_ROOT/substratevm/dists/jdk1.8/svm-driver.jar com.oracle.svm.driver.NativeImage - ) - ( cd tools - mx --java-home $out build + ( cd vm + mx-internal -v --dynamicimports /substratevm,/tools,sulong,/graal-nodejs,graalpython build ) ''; + installPhase = '' - # add graal files modelling after directory structure of "graalvm-ce" binary distribution - mkdir -p $out/jre/tools/{profiler,chromeinspector,truffle/builder} $out/jre/lib/{graal,include,truffle/include} - cp -vpLR substratevm/svmbuild/native-image-root/lib/* $out/jre/lib/ || true # ignore "same file" error when dereferencing symlinks - cp -vp $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/bin/* $out/jre/lib/amd64/ - cp -vp $MX_ALT_OUTPUT_ROOT/compiler/dists/jdk1.8/graal-*processor*.jar $out/jre/lib/graal/ - cp -vp $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/include/* $out/jre/lib/include/ - cp -vp $MX_ALT_OUTPUT_ROOT/compiler/dists/jdk1.8/graal-management.jar $out/jre/lib/jvmci/ - cp -vdpR $out/jre/lib/svm/clibraries $out/jre/lib/svm/builder/ - cp -vpR $MX_ALT_OUTPUT_ROOT/truffle/dists/jdk1.8/* $out/jre/lib/truffle/ - cp -vp $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/include/* $out/jre/lib/truffle/include/ - cp -vpLR substratevm/svmbuild/native-image-root/tools/* $out/jre/tools/ - cp -vpR $MX_ALT_OUTPUT_ROOT/tools/dists/chromeinspector* $out/jre/tools/chromeinspector/ - cp -vpR $MX_ALT_OUTPUT_ROOT/tools/dists/truffle-profiler* $out/jre/tools/profiler/ - cp -vpR $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/* $out/jre/tools/truffle/ - cp -vp $MX_ALT_OUTPUT_ROOT/truffle/dists/jdk1.8/truffle-nfi.jar $out/jre/tools/truffle/builder/ - - echo "name=GraalVM ${version}" > $out/jre/lib/amd64/server/vm.properties - echo -n "graal" > $out/jre/lib/jvmci/compiler-name - echo -n "../truffle/truffle-api.jar:../truffle/truffle-nfi.jar" > $out/jre/lib/jvmci/parentClassLoader.classpath - - install -v -m0555 -D substratevm/com.oracle.svm.driver.nativeimage $out/jre/lib/svm/bin/native-image - ln -s ../lib/svm/bin/native-image $out/jre/bin/native-image - ln -s ../jre/bin/native-image $out/bin/native-image + mkdir -p $out + rm -rf $MX_ALT_OUTPUT_ROOT/vm/linux-amd64/GRAALVM_*STAGE1* + cp -rf $MX_ALT_OUTPUT_ROOT/vm/linux-amd64/GRAALVM*/graalvm-unknown-${version}/* $out # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html substituteInPlace $out/jre/lib/security/java.security \ --replace file:/dev/random file:/dev/./urandom \ --replace NativePRNGBlocking SHA1PRNG + # copy static and dynamic libraries needed for static compilation + cp -rf ${glibc}/lib/* $out/jre/lib/svm/clibraries/linux-amd64/ + cp ${glibc.static}/lib/* $out/jre/lib/svm/clibraries/linux-amd64/ + cp ${zlib.static}/lib/libz.a $out/jre/lib/svm/clibraries/linux-amd64/libz.a ''; - dontFixup = true; # do not nuke path of ffmpeg etc - dontStrip = true; # why? see in oraclejdk derivation + + inherit (jvmci8) preFixup; + dontStrip = true; # stripped javac crashes with "segmentaion fault" doInstallCheck = true; installCheckPhase = '' echo ${lib.escapeShellArg '' @@ -261,16 +391,22 @@ in rec { $out/bin/native-image --no-server HelloWorld ./helloworld ./helloworld | fgrep 'Hello World' + + # Ahead-Of-Time compilation with --static + $out/bin/native-image --no-server --static HelloWorld + ./helloworld + ./helloworld | fgrep 'Hello World' ''; + enableParallelBuilding = true; passthru.home = graalvm8; meta = with stdenv.lib; { homepage = https://github.com/oracle/graal; description = "High-Performance Polyglot VM"; - license = licenses.unfree; - maintainers = with maintainers; [ volth ]; - platforms = [ "x86_64-linux" ]; + license = licenses.gpl2; + maintainers = with maintainers; [ volth hlolli ]; + platforms = [ "x86_64-linux" /*"aarch64-linux" "x86_64-darwin"*/ ]; }; }; } diff --git a/pkgs/development/compilers/graalvm/enterprise-edition.nix b/pkgs/development/compilers/graalvm/enterprise-edition.nix new file mode 100644 index 00000000000..84cb38aa8d1 --- /dev/null +++ b/pkgs/development/compilers/graalvm/enterprise-edition.nix @@ -0,0 +1,133 @@ +{ stdenv, requireFile, perl, unzip, glibc, zlib, gdk-pixbuf, xorg, glib, fontconfig, freetype, cairo, pango, gtk3, gtk2, ffmpeg, libGL, atk, alsaLib, libav_0_8, setJavaClassPath }: + +let + graalvm8-ee = stdenv.mkDerivation rec { + pname = "graalvm8-ee"; + version = "19.2.0"; + srcs = [ + (requireFile { + name = "graalvm-ee-linux-amd64-${version}.tar.gz"; + sha256 = "1j56lyids48zyjhxk8xl4niy8hk6qzi1aj7c55yfh62id8v6cpbw"; + url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html"; + }) + (requireFile { + name = "native-image-installable-svm-svmee-linux-amd64-${version}.jar"; + sha256 = "07c25l27msxccqrbz4bknz0sxsl0z2k8990cdfkbrgxvhxspfnnm"; + url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html"; + }) + (requireFile { + name = "python-installable-svm-svmee-linux-amd64-${version}.jar"; + sha256 = "1c7kpz56w9p418li97ymixdwywscr85vhn7jkzxq71bj7ia7pxwz"; + url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html"; + }) + (requireFile { + name = "ruby-installable-svm-svmee-linux-amd64-${version}.jar"; + sha256 = "13jfm5qpxqxz7f5n9yyvqrv1vwigifrjwk3hssp23maski2ssys1"; + url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html"; + }) + ]; + nativeBuildInputs = [ unzip perl ]; + unpackPhase = '' + unpack_jar() { + jar=$1 + unzip $jar -d $out + perl -ne 'use File::Path qw(make_path); + use File::Basename qw(dirname); + if (/^(.+) = (.+)$/) { + make_path dirname("$ENV{out}/$1"); + system "ln -s $2 $ENV{out}/$1"; + }' $out/META-INF/symlinks + perl -ne 'if (/^(.+) = ([r-])([w-])([x-])([r-])([w-])([x-])([r-])([w-])([x-])$/) { + my $mode = ($2 eq 'r' ? 0400 : 0) + ($3 eq 'w' ? 0200 : 0) + ($4 eq 'x' ? 0100 : 0) + + ($5 eq 'r' ? 0040 : 0) + ($6 eq 'w' ? 0020 : 0) + ($7 eq 'x' ? 0010 : 0) + + ($8 eq 'r' ? 0004 : 0) + ($9 eq 'w' ? 0002 : 0) + ($10 eq 'x' ? 0001 : 0); + chmod $mode, "$ENV{out}/$1"; + }' $out/META-INF/permissions + rm -rf $out/META-INF + } + + mkdir -p $out + arr=($srcs) + tar xf ''${arr[0]} -C $out --strip-components=1 + unpack_jar ''${arr[1]} + unpack_jar ''${arr[2]} + unpack_jar ''${arr[3]} + ''; + + installPhase = '' + # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html + substituteInPlace $out/jre/lib/security/java.security \ + --replace file:/dev/random file:/dev/./urandom \ + --replace NativePRNGBlocking SHA1PRNG + + # provide libraries needed for static compilation + for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do + ln -s $f $out/jre/lib/svm/clibraries/linux-amd64/$(basename $f) + done + ''; + + dontStrip = true; + + preFixup = '' + # Set JAVA_HOME automatically. + mkdir -p $out/nix-support + cat < $out/nix-support/setup-hook + if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi + EOF + ''; + + postFixup = '' + rpath="$out/jre/lib/amd64/jli:$out/jre/lib/amd64/server:$out/jre/lib/amd64:${ + stdenv.lib.strings.makeLibraryPath [ glibc xorg.libXxf86vm xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXrender + glib zlib alsaLib fontconfig freetype pango gtk3 gtk2 cairo gdk-pixbuf atk ffmpeg libGL ]}" + + for f in $(find $out -type f -perm -0100); do + patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f" || true + patchelf --set-rpath "$rpath" "$f" || true + done + + for f in $(find $out -type f -perm -0100); do + if ldd "$f" | fgrep 'not found'; then echo "in file $f"; fi + done + ''; + + propagatedBuildInputs = [ setJavaClassPath zlib ]; # $out/bin/native-image needs zlib to build native executables + + doInstallCheck = true; + installCheckPhase = '' + echo ${stdenv.lib.escapeShellArg '' + public class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello World"); + } + } + ''} > HelloWorld.java + $out/bin/javac HelloWorld.java + + # run on JVM with Graal Compiler + $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld + $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World' + + # Ahead-Of-Time compilation + $out/bin/native-image --no-server HelloWorld + ./helloworld + ./helloworld | fgrep 'Hello World' + + # Ahead-Of-Time compilation with --static + $out/bin/native-image --no-server --static HelloWorld + ./helloworld + ./helloworld | fgrep 'Hello World' + ''; + + passthru.home = graalvm8-ee; + + meta = with stdenv.lib; { + homepage = https://www.graalvm.org/; + description = "High-Performance Polyglot VM"; + license = licenses.unfree; + maintainers = with maintainers; [ volth hlolli ]; + platforms = [ "x86_64-linux" ]; + }; + }; +in + graalvm8-ee diff --git a/pkgs/development/compilers/graalvm/truffle.make b/pkgs/development/compilers/graalvm/truffle.make new file mode 100644 index 00000000000..da887c14240 --- /dev/null +++ b/pkgs/development/compilers/graalvm/truffle.make @@ -0,0 +1,14 @@ +# This Makefile is used by mx to bootstrap libffi build. + +# `make MX_VERBOSE=y` will report all lines executed. The actual value doesn't +# matter as long as it's not empty. +QUIETLY$(MX_VERBOSE) = @ + +.PHONY: default + +default: + $(QUIETLY) echo CONFIGURE libffi + $(QUIETLY) mkdir ../$(OUTPUT) + $(QUIETLY) cd ../$(OUTPUT) && ../$(SOURCES)/configure $(CONFIGURE_ARGS) > ../libffi.configure.log + $(QUIETLY) echo MAKE libffi + $(QUIETLY) $(MAKE) -C ../$(OUTPUT) > ../libffi.build.log diff --git a/pkgs/development/compilers/halide/default.nix b/pkgs/development/compilers/halide/default.nix index 1d3b13937fc..683f8d7ace0 100644 --- a/pkgs/development/compilers/halide/default.nix +++ b/pkgs/development/compilers/halide/default.nix @@ -1,5 +1,5 @@ { llvmPackages, lib, fetchFromGitHub, cmake -, libpng, libjpeg, mesa_noglu, eigen, openblas +, libpng, libjpeg, mesa, eigen, openblas }: let @@ -37,7 +37,7 @@ in llvmPackages.stdenv.mkDerivation { # Note: only openblas and not atlas part of this Nix expression # see pkgs/development/libraries/science/math/liblapack/3.5.0.nix # to get a hint howto setup atlas instead of openblas - buildInputs = [ llvmPackages.llvm libpng libjpeg mesa_noglu eigen openblas ]; + buildInputs = [ llvmPackages.llvm libpng libjpeg mesa eigen openblas ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix index 0a974fccc88..7e11c75e07d 100644 --- a/pkgs/development/compilers/haxe/default.nix +++ b/pkgs/development/compilers/haxe/default.nix @@ -3,7 +3,8 @@ let generic = { version, sha256, prePatch }: stdenv.mkDerivation rec { - name = "haxe-${version}"; + pname = "haxe"; + inherit version; buildInputs = [ocaml zlib pcre neko camlp4]; diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix index 010dacd0c71..24e88f9ee2e 100644 --- a/pkgs/development/compilers/hhvm/default.nix +++ b/pkgs/development/compilers/hhvm/default.nix @@ -7,7 +7,7 @@ }: stdenv.mkDerivation rec { - name = "hhvm-${version}"; + pname = "hhvm"; version = "3.23.2"; # use git version since we need submodules diff --git a/pkgs/development/compilers/iasl/default.nix b/pkgs/development/compilers/iasl/default.nix index 2b589125604..b1b31aecae1 100644 --- a/pkgs/development/compilers/iasl/default.nix +++ b/pkgs/development/compilers/iasl/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, bison, flex}: stdenv.mkDerivation rec { - name = "iasl-${version}"; + pname = "iasl"; version = "20181213"; src = fetchurl { diff --git a/pkgs/development/compilers/icedtea-web/default.nix b/pkgs/development/compilers/icedtea-web/default.nix deleted file mode 100644 index 9390cbde637..00000000000 --- a/pkgs/development/compilers/icedtea-web/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ stdenv, fetchurl, jdk, gtk2, xulrunner, zip, pkgconfig, perl, npapi_sdk, bash, bc }: - -stdenv.mkDerivation rec { - name = "icedtea-web-${version}"; - - version = "1.7.1"; - - src = fetchurl { - url = "http://icedtea.wildebeest.org/download/source/${name}.tar.gz"; - sha256 = "1b9z0i9b1dsc2qpfdzbn2fi4vi3idrhm7ig45g1ny40ymvxcwwn9"; - }; - - nativeBuildInputs = [ pkgconfig bc perl ]; - buildInputs = [ gtk2 xulrunner zip npapi_sdk ]; - - preConfigure = '' - #patchShebangs javac.in - configureFlagsArray+=("BIN_BASH=${bash}/bin/bash") - ''; - - configureFlags = [ - "--with-jdk-home=${jdk.home}" - "--disable-docs" - ]; - - mozillaPlugin = "/lib"; - - meta = { - description = "Java web browser plugin and an implementation of Java Web Start"; - longDescription = '' - A Free Software web browser plugin running applets written in the Java - programming language and an implementation of Java Web Start, originally - based on the NetX project. - ''; - homepage = http://icedtea.classpath.org/wiki/IcedTea-Web; - maintainers = with stdenv.lib.maintainers; [ wizeman ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/compilers/inform7/default.nix b/pkgs/development/compilers/inform7/default.nix index a6955c03051..2a6551aad18 100644 --- a/pkgs/development/compilers/inform7/default.nix +++ b/pkgs/development/compilers/inform7/default.nix @@ -2,7 +2,8 @@ let version = "6M62"; in stdenv.mkDerivation { - name = "inform7-${version}"; + pname = "inform7"; + inherit version; buildInputs = [ perl coreutils gnutar gzip ]; src = fetchzip { url = "http://inform7.com/download/content/6M62/I7_6M62_Linux_all.tar.gz"; diff --git a/pkgs/development/compilers/intercal/default.nix b/pkgs/development/compilers/intercal/default.nix index f601dc254a4..6640c4aa89a 100644 --- a/pkgs/development/compilers/intercal/default.nix +++ b/pkgs/development/compilers/intercal/default.nix @@ -6,11 +6,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "intercal-${version}"; + pname = "intercal"; version = "0.30"; src = fetchurl { - url = "http://catb.org/esr/intercal/${name}.tar.gz"; + url = "http://catb.org/esr/intercal/${pname}-${version}.tar.gz"; sha256 = "058ppvvgz9r5603ia9jkknbrciypgg4hjbczrv9v1d9w3ak652xk"; }; diff --git a/pkgs/development/compilers/ispc/default.nix b/pkgs/development/compilers/ispc/default.nix index 2657ee6633b..f240deda0bf 100644 --- a/pkgs/development/compilers/ispc/default.nix +++ b/pkgs/development/compilers/ispc/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchFromGitHub, fetchpatch, which, m4, python, bison, flex, llvmPackages, +{stdenv, fetchFromGitHub, which, m4, python, bison, flex, llvmPackages, testedTargets ? ["sse2" "host"] # the default test target is sse4, but that is not supported by all Hydra agents }: @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { inherit testedTargets; - name = "ispc-${version}"; + pname = "ispc"; src = fetchFromGitHub { owner = "ispc"; diff --git a/pkgs/development/compilers/javacard-devkit/default.nix b/pkgs/development/compilers/javacard-devkit/default.nix index b088e07c49e..f49d3d6e210 100644 --- a/pkgs/development/compilers/javacard-devkit/default.nix +++ b/pkgs/development/compilers/javacard-devkit/default.nix @@ -3,7 +3,6 @@ }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "javacard-devkit"; version = "2.2.2"; uscoreVersion = builtins.replaceStrings ["."] ["_"] version; @@ -62,7 +61,7 @@ stdenv.mkDerivation rec { converter -applet [AppletAID] [MyApplet] [myPackage] [PackageAID] [Version] For more details, please refer to the documentation by Oracle ''; - homepage = http://www.oracle.com/technetwork/java/embedded/javacard/overview/index.html; + homepage = https://www.oracle.com/technetwork/java/embedded/javacard/overview/index.html; license = stdenv.lib.licenses.unfree; maintainers = [ stdenv.lib.maintainers.ekleog ]; platforms = [ "i686-linux" "x86_64-linux" ]; diff --git a/pkgs/development/compilers/jetbrains-jdk/default.nix b/pkgs/development/compilers/jetbrains-jdk/default.nix index 876e474bed9..1349b7f0ddd 100644 --- a/pkgs/development/compilers/jetbrains-jdk/default.nix +++ b/pkgs/development/compilers/jetbrains-jdk/default.nix @@ -1,19 +1,18 @@ { stdenv, lib, fetchurl, file, glib, libxml2, libav_0_8, ffmpeg, libxslt , libGL , xorg, alsaLib, fontconfig, freetype, pango, gtk2, cairo -, gdk_pixbuf, atk }: +, gdk-pixbuf, atk, zlib }: # TODO: Investigate building from source instead of patching binaries. # TODO: Binary patching for not just x86_64-linux but also x86_64-darwin i686-linux let drv = stdenv.mkDerivation rec { pname = "jetbrainsjdk"; - version = "152b1248.6"; - name = pname + "-" + version; + version = "164"; src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { - url = "https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbsdk8u${version}_linux_x64.tar.gz"; - sha256 = "12l81g8zhaymh4rzyfl9nyzmpkgzc7wrphm3j4plxx129yn9i7d7"; + url = "https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbrsdk-11_0_2-linux-x64-b${version}.tar.gz"; + sha256 = "121yzgvkfx7lq0k9s8wjnhz09a564br5y7zlkxgh191sbm2i7zdi"; } else throw "unsupported system: ${stdenv.hostPlatform.system}"; @@ -29,16 +28,7 @@ let drv = stdenv.mkDerivation rec { jrePath=$out/jre ''; - postFixup = let - arch = "amd64"; - rSubPaths = [ - "lib/${arch}/jli" - "lib/${arch}/server" - "lib/${arch}/xawt" - "lib/${arch}" - ]; - in '' - rpath+="''${rpath:+:}${stdenv.lib.concatStringsSep ":" (map (a: "$jrePath/${a}") rSubPaths)}" + postFixup = '' find $out -type f -perm -0100 \ -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "$rpath" {} \; @@ -47,10 +37,11 @@ let drv = stdenv.mkDerivation rec { rpath = lib.makeLibraryPath ([ stdenv.cc.cc stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg libxslt libGL - alsaLib fontconfig freetype pango gtk2 cairo gdk_pixbuf atk + alsaLib fontconfig freetype pango gtk2 cairo gdk-pixbuf atk zlib + (placeholder "out") ] ++ (with xorg; [ libX11 libXext libXtst libXi libXp libXt libXrender libXxf86vm - ])); + ])) + ":${placeholder "out"}/lib/jli"; passthru.home = drv; diff --git a/pkgs/development/compilers/jsonnet/default.nix b/pkgs/development/compilers/jsonnet/default.nix index 6104ffc7aaa..460ff405b94 100644 --- a/pkgs/development/compilers/jsonnet/default.nix +++ b/pkgs/development/compilers/jsonnet/default.nix @@ -1,26 +1,28 @@ { stdenv, lib, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "jsonnet-${version}"; - version = "0.12.1"; + pname = "jsonnet"; + version = "0.13.0"; src = fetchFromGitHub { rev = "v${version}"; owner = "google"; repo = "jsonnet"; - sha256 = "13a0sf1k8ivxhc28w0d0axzr0sj3jccl9sjq6l0dkyzrnmbxzmkb"; + sha256 = "1fibr1kysbxcf8jp2a4xvs3n7i8d9k2430agxzc9mdyqrh79zlxk"; }; enableParallelBuilding = true; makeFlags = [ "jsonnet" + "jsonnetfmt" "libjsonnet.so" ]; installPhase = '' mkdir -p $out/bin $out/lib $out/include cp jsonnet $out/bin/ + cp jsonnetfmt $out/bin/ cp libjsonnet*.so $out/lib/ cp -a include/*.h $out/include/ ''; diff --git a/pkgs/development/compilers/julia/0002-use-system-suitesparse.patch b/pkgs/development/compilers/julia/0002-use-system-suitesparse.patch deleted file mode 100644 index 17f49ad5ca9..00000000000 --- a/pkgs/development/compilers/julia/0002-use-system-suitesparse.patch +++ /dev/null @@ -1,25 +0,0 @@ -From e2b0ed6664fe4adfd0f9ce8fa14732d47b30ab5c Mon Sep 17 00:00:00 2001 -From: Thomas Tuegel -Date: Sat, 10 Oct 2015 16:18:53 -0500 -Subject: [PATCH 2/3] use system suitesparse - ---- - base/sparse/cholmod.jl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/base/sparse/cholmod.jl b/base/sparse/cholmod.jl -index ec7e980..f834cc1 100644 ---- a/base/sparse/cholmod.jl -+++ b/base/sparse/cholmod.jl -@@ -151,7 +151,7 @@ function __init__() - - # Register gc tracked allocator if CHOLMOD is new enough - if current_version >= v"3.0.0" -- cnfg = cglobal((:SuiteSparse_config, :libsuitesparseconfig), Ptr{Void}) -+ cnfg = cglobal((:SuiteSparse_config, :libsuitesparse), Ptr{Void}) - unsafe_store!(cnfg, cglobal(:jl_malloc, Ptr{Void}), 1) - unsafe_store!(cnfg, cglobal(:jl_calloc, Ptr{Void}), 2) - unsafe_store!(cnfg, cglobal(:jl_realloc, Ptr{Void}), 3) --- -2.5.2 - diff --git a/pkgs/development/compilers/julia/1.0.nix b/pkgs/development/compilers/julia/1.0.nix index a679eda3306..3cd9daee141 100644 --- a/pkgs/development/compilers/julia/1.0.nix +++ b/pkgs/development/compilers/julia/1.0.nix @@ -1,8 +1,8 @@ import ./shared.nix { majorVersion = "1"; minorVersion = "0"; - maintenanceVersion = "3"; - src_sha256 = "0666chsc19wx02k5m1yilf6wbc9bw27ay8p1d00jkh8m0jkrpf7l"; + maintenanceVersion = "4"; + src_sha256 = "1dfx68wbrrzpbh74rla7i2g3r5z6wa1pxq3ahyfm5m27vfyjbkhg"; libuvVersion = "ed3700c849289ed01fe04273a7bf865340b2bd7e"; libuvSha256 = "137w666zsjw1p0ma3lf94d75hr1q45sgkfmbizkyji2qm57cnxjs"; diff --git a/pkgs/development/compilers/julia/1.1.nix b/pkgs/development/compilers/julia/1.1.nix index a868f949d27..5be34b4c4b4 100644 --- a/pkgs/development/compilers/julia/1.1.nix +++ b/pkgs/development/compilers/julia/1.1.nix @@ -1,8 +1,8 @@ import ./shared.nix { majorVersion = "1"; minorVersion = "1"; - maintenanceVersion = "0"; - src_sha256 = "08fyck4qcdv9nnrdqh1wb7lb8pkkikh67xx5lc872sjl9w3p0sak"; + maintenanceVersion = "1"; + src_sha256 = "1yqjd0n42xf9hzxpvc9vysyjj98p42by216jkdqakdy7dkjcmnhq"; libuvVersion = "2348256acf5759a544e5ca7935f638d2bc091d60"; libuvSha256 = "1363f4vqayfcv5zqg07qmzjff56yhad74k16c22ian45lram8mv8"; diff --git a/pkgs/development/compilers/julia/allow_nix_mtime.patch b/pkgs/development/compilers/julia/allow_nix_mtime.patch new file mode 100644 index 00000000000..e4a164cfa1a --- /dev/null +++ b/pkgs/development/compilers/julia/allow_nix_mtime.patch @@ -0,0 +1,25 @@ +From f79775378a9eeec5b99f18cc95735b12d172aba3 Mon Sep 17 00:00:00 2001 +From: Tom McLaughlin +Date: Wed, 12 Dec 2018 13:01:32 -0800 +Subject: [PATCH] Patch to make work better with nix + +--- + base/loading.jl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/base/loading.jl b/base/loading.jl +index 51201b98b6..b40c0690f6 100644 +--- a/base/loading.jl ++++ b/base/loading.jl +@@ -1384,7 +1384,7 @@ function stale_cachefile(modpath::String, cachefile::String) + # Issue #13606: compensate for Docker images rounding mtimes + # Issue #20837: compensate for GlusterFS truncating mtimes to microseconds + ftime = mtime(f) +- if ftime != ftime_req && ftime != floor(ftime_req) && ftime != trunc(ftime_req, digits=6) ++ if ftime != ftime_req && ftime != floor(ftime_req) && ftime != trunc(ftime_req, digits=6) && ftime != 1.0 + @debug "Rejecting stale cache file $cachefile (mtime $ftime_req) because file $f (mtime $ftime) has changed" + return true + end +-- +2.17.1 + diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix deleted file mode 100644 index 4c0b1359bd8..00000000000 --- a/pkgs/development/compilers/julia/default.nix +++ /dev/null @@ -1,201 +0,0 @@ -{ stdenv, fetchurl, fetchzip -# build tools -, gfortran, m4, makeWrapper, patchelf, perl, which, python2 -# libjulia dependencies -, libunwind, readline, utf8proc, zlib -, llvm -# standard library dependencies -, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2 -# linear algebra -, openblas, arpack, suitesparse -# Darwin frameworks -, CoreServices, ApplicationServices -}: - -with stdenv.lib; - -# All dependencies must use the same OpenBLAS. -let - arpack_ = arpack; - suitesparse_ = suitesparse; -in -let - arpack = arpack_.override { inherit openblas; }; - suitesparse = suitesparse_.override { inherit openblas; }; -in - -let - dsfmtVersion = "2.2.3"; - dsfmt = fetchurl { - url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmtVersion}.tar.gz"; - sha256 = "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42"; - }; - - libuvVersion = "d8ab1c6a33e77bf155facb54215dd8798e13825d"; - libuv = fetchurl { - url = "https://api.github.com/repos/JuliaLang/libuv/tarball/${libuvVersion}"; - sha256 = "0q5ahc9dzca2yc6cjbhpfi9nwc4yhhjbgxgsychksn13d24gv7ba"; - }; - - rmathVersion = "0.1"; - rmath-julia = fetchurl { - url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}"; - sha256 = "1qyps217175qhid46l8f5i1v8i82slgp23ia63x2hzxwfmx8617p"; - }; - - virtualenvVersion = "15.0.0"; - virtualenv = fetchurl { - url = "mirror://pypi/v/virtualenv/virtualenv-${virtualenvVersion}.tar.gz"; - sha256 = "06fw4liazpx5vf3am45q2pdiwrv0id7ckv7n6zmpml29x6vkzmkh"; - }; - - majorVersion = "0"; - minorVersion = "6"; - maintenanceVersion = "4"; - version = "${majorVersion}.${minorVersion}.${maintenanceVersion}"; -in - -stdenv.mkDerivation rec { - pname = "julia"; - inherit version; - name = "${pname}-${version}"; - - src = fetchzip { - url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz"; - sha256 = "09axkkj914al7lzvcvhb33hz5wp083lk18llsvrn622fqhmyqabl"; - }; - prePatch = '' - mkdir deps/srccache - cp "${dsfmt}" "./deps/srccache/dsfmt-${dsfmtVersion}.tar.gz" - cp "${rmath-julia}" "./deps/srccache/Rmath-julia-${rmathVersion}.tar.gz" - cp "${libuv}" "./deps/srccache/libuv-${libuvVersion}.tar.gz" - cp "${virtualenv}" "./deps/srccache/virtualenv-${virtualenvVersion}.tar.gz" - ''; - - patches = [ - ./0001.1-use-system-utf8proc.patch - ./0002-use-system-suitesparse.patch - ]; - - postPatch = '' - patchShebangs . contrib - for i in backtrace replutil cmdlineargs compile; do - mv test/$i.jl{,.off} - touch test/$i.jl - done - - sed -e 's/Invalid Content-Type:/invalid Content-Type:/g' -i test/libgit2.jl - sed -e 's/Failed to resolve /failed to resolve /g' -i test/libgit2.jl - ''; - - buildInputs = [ - arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr - pcre2.dev openblas openlibm openspecfun readline suitesparse utf8proc - zlib llvm - ] - ++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices] - ; - - nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]; - - makeFlags = - let - arch = head (splitString "-" stdenv.hostPlatform.system); - march = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}" - or (throw "unsupported architecture: ${arch}"); - # Julia requires Pentium 4 (SSE2) or better - cpuTarget = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}" - or (throw "unsupported architecture: ${arch}"); - in [ - "ARCH=${arch}" - "MARCH=${march}" - "JULIA_CPU_TARGET=${cpuTarget}" - "PREFIX=$(out)" - "prefix=$(out)" - "SHELL=${stdenv.shell}" - - "USE_SYSTEM_BLAS=1" - "USE_BLAS64=${if openblas.blas64 then "1" else "0"}" - "LIBBLAS=-lopenblas" - "LIBBLASNAME=libopenblas" - - "USE_SYSTEM_LAPACK=1" - "LIBLAPACK=-lopenblas" - "LIBLAPACKNAME=libopenblas" - - "USE_SYSTEM_SUITESPARSE=1" - "SUITESPARSE_LIB=-lsuitesparse" - "SUITESPARSE_INC=-I${suitesparse}/include" - - "USE_SYSTEM_ARPACK=1" - "USE_SYSTEM_FFTW=1" - "USE_SYSTEM_GMP=1" - "USE_SYSTEM_LIBGIT2=1" - "USE_SYSTEM_LIBUNWIND=1" - - "USE_SYSTEM_LLVM=1" - "LLVM_VER=3.9.1" - - "USE_SYSTEM_MPFR=1" - "USE_SYSTEM_OPENLIBM=1" - "USE_SYSTEM_OPENSPECFUN=1" - "USE_SYSTEM_PATCHELF=1" - "USE_SYSTEM_PCRE=1" - "PCRE_CONFIG=${pcre2.dev}/bin/pcre2-config" - "PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h" - "USE_SYSTEM_READLINE=1" - "USE_SYSTEM_UTF8PROC=1" - "USE_SYSTEM_ZLIB=1" - ]; - - NIX_CFLAGS_COMPILE = [ "-fPIC" ]; - - LD_LIBRARY_PATH = makeLibraryPath [ - arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm - openspecfun pcre2 suitesparse llvm - ]; - - dontStrip = true; - dontPatchELF = true; - - enableParallelBuilding = true; - - doCheck = !stdenv.isDarwin; - checkTarget = "testall"; - # Julia's tests require read/write access to $HOME - preCheck = '' - export HOME="$NIX_BUILD_TOP" - ''; - - preBuild = '' - sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile - sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} - ''; - - postInstall = '' - # Symlink shared libraries from LD_LIBRARY_PATH into lib/julia, - # as using a wrapper with LD_LIBRARY_PATH causes segmentation - # faults when program returns an error: - # $ julia -e 'throw(Error())' - find $(echo $LD_LIBRARY_PATH | sed 's|:| |g') -maxdepth 1 -name '*.${if stdenv.isDarwin then "dylib" else "so"}*' | while read lib; do - if [[ ! -e $out/lib/julia/$(basename $lib) ]]; then - ln -sv $lib $out/lib/julia/$(basename $lib) - fi - done - ''; - - passthru = { - inherit majorVersion minorVersion maintenanceVersion; - site = "share/julia/site/v${majorVersion}.${minorVersion}"; - }; - - meta = { - description = "High-level performance-oriented dynamical language for technical computing"; - homepage = https://julialang.org/; - license = stdenv.lib.licenses.mit; - maintainers = with stdenv.lib.maintainers; [ raskin ]; - platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; - broken = stdenv.isi686; - }; -} diff --git a/pkgs/development/compilers/julia/shared.nix b/pkgs/development/compilers/julia/shared.nix index ee08703e4c7..c0414c6259f 100644 --- a/pkgs/development/compilers/julia/shared.nix +++ b/pkgs/development/compilers/julia/shared.nix @@ -9,7 +9,7 @@ { stdenv, fetchurl, fetchzip # build tools , gfortran, m4, makeWrapper, patchelf, perl, which, python2 -, llvm, cmake +, cmake # libjulia dependencies , libunwind, readline, utf8proc, zlib # standard library dependencies @@ -77,10 +77,9 @@ in stdenv.mkDerivation rec { pname = "julia"; inherit version; - name = "${pname}-${version}"; src = fetchzip { - url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz"; + url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz"; sha256 = src_sha256; }; prePatch = '' @@ -97,6 +96,12 @@ stdenv.mkDerivation rec { patches = [ ./0001.1-use-system-utf8proc.patch + + # Julia recompiles a precompiled file if the mtime stored *in* the + # .ji file differs from the mtime of the .ji file. This + # doesn't work in Nix because Nix changes the mtime of files in + # the Nix store to 1. So patch Julia to accept mtimes of 1. + ./allow_nix_mtime.patch ]; postPatch = '' @@ -124,7 +129,7 @@ stdenv.mkDerivation rec { makeFlags = let arch = head (splitString "-" stdenv.system); - march = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}" + march = { "x86_64" = stdenv.hostPlatform.platform.gcc.arch or "x86-64"; "i686" = "pentium4"; }."${arch}" or (throw "unsupported architecture: ${arch}"); # Julia requires Pentium 4 (SSE2) or better cpuTarget = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}" @@ -167,16 +172,11 @@ stdenv.mkDerivation rec { "USE_SYSTEM_ZLIB=1" ]; - NIX_CFLAGS_COMPILE = [ "-fPIC" ]; - LD_LIBRARY_PATH = makeLibraryPath [ arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm openspecfun pcre2 ]; - dontStrip = true; - dontPatchELF = true; - enableParallelBuilding = true; doCheck = !stdenv.isDarwin; diff --git a/pkgs/development/compilers/jwasm/default.nix b/pkgs/development/compilers/jwasm/default.nix index 9800b33e7a9..b2db09e1c18 100644 --- a/pkgs/development/compilers/jwasm/default.nix +++ b/pkgs/development/compilers/jwasm/default.nix @@ -3,7 +3,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "jwasm-${version}"; + pname = "jwasm"; version = "git-2017-11-22"; src = fetchFromGitHub { diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix index c2d834aa127..754ab020d51 100644 --- a/pkgs/development/compilers/kotlin/default.nix +++ b/pkgs/development/compilers/kotlin/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, makeWrapper, jre, unzip }: let - version = "1.3.20"; + version = "1.3.41"; in stdenv.mkDerivation rec { inherit version; - name = "kotlin-${version}"; + pname = "kotlin"; src = fetchurl { url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip"; - sha256 = "1w7k09sxlvyy53p4mxnl4qsnsyivpabhsmradbybfgf50nsmyl1d"; + sha256 = "0ch1fynqjfsb7jklw3pa6fygrgnl8nz4x4v0id06wq4md23bcjn4"; }; propagatedBuildInputs = [ jre ] ; @@ -37,7 +37,7 @@ in stdenv.mkDerivation rec { It is developed by a team at JetBrains although it is an OSS language and has external contributors. ''; - homepage = http://kotlinlang.org/; + homepage = https://kotlinlang.org/; license = stdenv.lib.licenses.asl20; maintainers = with stdenv.lib.maintainers; [ nequissimus ]; diff --git a/pkgs/development/compilers/ldc/default.nix b/pkgs/development/compilers/ldc/default.nix index 80ccb0dbbd3..787a9352e22 100644 --- a/pkgs/development/compilers/ldc/default.nix +++ b/pkgs/development/compilers/ldc/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl, cmake, llvm, curl, tzdata +{ stdenv, fetchurl, cmake, ninja, llvm_5, llvm_8, curl, tzdata , python, libconfig, lit, gdb, unzip, darwin, bash , callPackage, makeWrapper, targetPackages , bootstrapVersion ? false -, version ? "1.12.0" -, ldcSha256 ? "1fdma1w8j37wkr0pqdar11slkk36qymamxnk6d9k8ybhjmxaaawm" +, version ? "1.16.0" +, ldcSha256 ? "00kk6pijn1ay2kkrp6b5ismawxr10azwij89k1rkszavqq6rsva2" }: let @@ -18,208 +18,174 @@ let else ""; - ldcBuild = stdenv.mkDerivation rec { - name = "ldcBuild-${version}"; - - enableParallelBuilding = true; - - src = fetchurl { - url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz"; - sha256 = ldcSha256; - }; - - postUnpack = '' - patchShebangs . - '' - - + stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isDarwin) '' - # http://forum.dlang.org/thread/xtbbqthxutdoyhnxjhxl@forum.dlang.org - rm -r ldc-${version}-src/tests/dynamiccompile - - # https://github.com/NixOS/nixpkgs/issues/34817 - rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall - - # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818 - rm -r ldc-${version}-src/tests/debuginfo/classtypes_gdb.d - rm -r ldc-${version}-src/tests/debuginfo/nested_gdb.d - - rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/test16096.sh - rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/ldc_output_filenames.sh - rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/crlf.sh - rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/issue15574.sh - rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/test6461.sh - '' - - + stdenv.lib.optionalString (!bootstrapVersion) '' - echo ${tzdata}/share/zoneinfo/ > ldc-${version}-src/TZDatabaseDirFile - - # Remove cppa test for now because it doesn't work. - rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/cppa.d - rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/extra-files/cppb.cpp - ''; - - datetimePath = if bootstrapVersion then - "phobos/std/datetime.d" - else - "phobos/std/datetime/timezone.d"; - - postPatch = '' - # https://issues.dlang.org/show_bug.cgi?id=15391 - substituteInPlace runtime/phobos/std/net/curl.d \ - --replace libcurl.so ${curl.out}/lib/libcurl.so - - substituteInPlace tests/d2/dmd-testsuite/Makefile \ - --replace "SHELL=/bin/bash" "SHELL=${bash}/bin/bash" - '' - - + stdenv.lib.optionalString (bootstrapVersion && stdenv.hostPlatform.isDarwin) '' - # Was not able to compile on darwin due to "__inline_isnanl" - # being undefined. - substituteInPlace dmd2/root/port.c --replace __inline_isnanl __inline_isnan - ''; - - nativeBuildInputs = [ cmake makeWrapper llvm bootstrapLdc python lit gdb unzip ] - - ++ stdenv.lib.optional (bootstrapVersion) [ - libconfig - ] - - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - Foundation - ]); - - - buildInputs = [ curl tzdata ]; - - #"-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc" - # Xcode 9.0.1 fixes that bug according to ldc release notes - #"-DRT_ARCHIVE_WITH_LDC=OFF" - #"-DD_FLAGS=TZ_DATABASE_DIR=${tzdata}/share/zoneinfo/" - #"-DCMAKE_BUILD_TYPE=Release" - #"-DCMAKE_SKIP_RPATH=ON" - - #-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc - # - cmakeFlagsString = stdenv.lib.optionalString (!bootstrapVersion) '' - "-DD_FLAGS=-d-version=TZDatabaseDir;-J$PWD" - ''; - - preConfigure = stdenv.lib.optionalString (!bootstrapVersion) '' - cmakeFlagsArray=( - ${cmakeFlagsString} - ) - ''; - - postConfigure = '' - export DMD=$PWD/bin/ldmd2 - ''; - - makeFlags = [ "DMD=$DMD" ]; - - doCheck = !bootstrapVersion; - - checkPhase = '' - # Build and run LDC D unittests. - ctest --output-on-failure -R "ldc2-unittest" - # Run LIT testsuite. - ctest -V -R "lit-tests" - # Run DMD testsuite. - DMD_TESTSUITE_MAKE_ARGS=-j$NIX_BUILD_CORES ctest -V -R "dmd-testsuite" - ''; - - postInstall = '' - wrapProgram $out/bin/ldc2 \ - --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \ - --set-default CC "${targetPackages.stdenv.cc}/bin/cc" - ''; - - meta = with stdenv.lib; { - description = "The LLVM-based D compiler"; - homepage = https://github.com/ldc-developers/ldc; - # from https://github.com/ldc-developers/ldc/blob/master/LICENSE - license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ]; - maintainers = with maintainers; [ ThomasMader ]; - platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; - }; - }; - - # Need to test Phobos in a fixed-output derivation, otherwise the - # network stuff in Phobos would fail if sandbox mode is enabled. - # - # Disable tests on Darwin for now because of - # https://github.com/NixOS/nixpkgs/issues/41099 - # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818 - ldcUnittests = if (!bootstrapVersion && !stdenv.hostPlatform.isDarwin) then - stdenv.mkDerivation rec { - name = "ldcUnittests-${version}"; - - enableParallelBuilding = ldcBuild.enableParallelBuilding; - preferLocalBuild = true; - inputString = ldcBuild.outPath; - outputHashAlgo = "sha256"; - outputHash = builtins.hashString "sha256" inputString; - - src = ldcBuild.src; - - postUnpack = ldcBuild.postUnpack; - - postPatch = ldcBuild.postPatch; - - nativeBuildInputs = ldcBuild.nativeBuildInputs - - ++ [ - ldcBuild - ]; - - buildInputs = ldcBuild.buildInputs; - - preConfigure = '' - cmakeFlagsArray=( - ${ldcBuild.cmakeFlagsString} - "-DD_COMPILER=${ldcBuild.out}/bin/ldmd2" - ) - ''; - - postConfigure = ldcBuild.postConfigure; - - makeFlags = ldcBuild.makeFlags; - - buildCmd = if bootstrapVersion then - "ctest -V -R \"build-druntime-ldc-unittest|build-phobos2-ldc-unittest\"" - else - "make -j$NIX_BUILD_CORES DMD=${ldcBuild.out}/bin/ldc2 phobos2-test-runner phobos2-test-runner-debug"; - - testCmd = if bootstrapVersion then - "ctest -j$NIX_BUILD_CORES --output-on-failure -E \"dmd-testsuite|lit-tests|ldc2-unittest|llvm-ir-testsuite\"" - else - "ctest -j$NIX_BUILD_CORES --output-on-failure -E \"dmd-testsuite|lit-tests|ldc2-unittest\""; - - buildPhase = '' - ${buildCmd} - ln -s ${ldcBuild.out}/bin/ldmd2 $PWD/bin/ldmd2 - ${testCmd} - ''; - - installPhase = '' - echo -n $inputString > $out - ''; - } - else - ""; - in stdenv.mkDerivation rec { - inherit ldcUnittests; - name = "ldc-${version}"; - phases = "installPhase"; - buildInputs = ldcBuild.buildInputs; + pname = "ldc"; + inherit version; - installPhase = '' - mkdir $out - cp -r --symbolic-link ${ldcBuild}/* $out/ + enableParallelBuilding = true; + + src = fetchurl { + url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz"; + sha256 = ldcSha256; + }; + + # https://issues.dlang.org/show_bug.cgi?id=19553 + hardeningDisable = [ "fortify" ]; + + postUnpack = '' + patchShebangs . + '' + + + stdenv.lib.optionalString (!bootstrapVersion) '' + rm ldc-${version}-src/tests/d2/dmd-testsuite/fail_compilation/mixin_gc.d + rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/xtest46_gc.d + rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/testptrref_gc.d + '' + + + stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isDarwin) '' + # https://github.com/NixOS/nixpkgs/issues/34817 + rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall + '' + + + stdenv.lib.optionalString (!bootstrapVersion) '' + echo ${tzdata}/share/zoneinfo/ > ldc-${version}-src/TZDatabaseDirFile + + echo ${curl.out}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > ldc-${version}-src/LibcurlPathFile ''; - meta = ldcBuild.meta; + postPatch = '' + # Setting SHELL=$SHELL when dmd testsuite is run doesn't work on Linux somehow + substituteInPlace tests/d2/dmd-testsuite/Makefile --replace "SHELL=/bin/bash" "SHELL=${bash}/bin/bash" + '' + + + stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isLinux) '' + substituteInPlace runtime/phobos/std/socket.d --replace "assert(ih.addrList[0] == 0x7F_00_00_01);" "" + '' + + + stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isDarwin) '' + substituteInPlace runtime/phobos/std/socket.d --replace "foreach (name; names)" "names = []; foreach (name; names)" + '' + + + stdenv.lib.optionalString (bootstrapVersion && stdenv.hostPlatform.isDarwin) '' + # Was not able to compile on darwin due to "__inline_isnanl" + # being undefined. + # TODO Remove with version > 0.17.6 + substituteInPlace dmd2/root/port.c --replace __inline_isnanl __inline_isnan + ''; + + nativeBuildInputs = [ cmake ninja makeWrapper unzip ] + + ++ stdenv.lib.optional (!bootstrapVersion) [ + bootstrapLdc python lit + ] + + ++ stdenv.lib.optional (!bootstrapVersion && stdenv.hostPlatform.isDarwin) [ + # https://github.com/NixOS/nixpkgs/issues/57120 + # https://github.com/NixOS/nixpkgs/pull/59197#issuecomment-481972515 + llvm_5 + ] + + ++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin) [ + llvm_8 + ] + + ++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin) [ + # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818 + gdb + ] + + ++ stdenv.lib.optional (bootstrapVersion) [ + libconfig llvm_5 + ] + + ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ + Foundation + ]); + + + buildInputs = [ curl tzdata ]; + + cmakeFlagsString = stdenv.lib.optionalString (!bootstrapVersion) '' + "-DD_FLAGS=-d-version=TZDatabaseDir;-d-version=LibcurlPath;-J$PWD" + "-DCMAKE_BUILD_TYPE=Release" + ''; + + preConfigure = stdenv.lib.optionalString (!bootstrapVersion) '' + cmakeFlagsArray=( + ${cmakeFlagsString} + ) + ''; + + postConfigure = '' + export DMD=$PWD/bin/ldmd2 + ''; + + makeFlags = [ "DMD=$DMD" ]; + + fixNames = if stdenv.hostPlatform.isDarwin then '' + fixDarwinDylibNames() { + local flags=() + + for fn in "$@"; do + flags+=(-change "$(basename "$fn")" "$fn") + done + + for fn in "$@"; do + if [ -L "$fn" ]; then continue; fi + echo "$fn: fixing dylib" + install_name_tool -id "$fn" "''${flags[@]}" "$fn" + done + } + + fixDarwinDylibNames $(find "$(pwd)/lib" -name "*.dylib") + export DYLD_LIBRARY_PATH=$(pwd)/lib + '' + else + ""; + + # https://github.com/ldc-developers/ldc/issues/2497#issuecomment-459633746 + additionalExceptions = if stdenv.hostPlatform.isDarwin then + "|druntime-test-shared" + else + ""; + + doCheck = !bootstrapVersion; + + checkPhase = stdenv.lib.optionalString doCheck '' + # Build default lib test runners + ninja -j$NIX_BUILD_CORES all-test-runners + + ${fixNames} + + # Run dmd testsuite + export DMD_TESTSUITE_MAKE_ARGS="-j$NIX_BUILD_CORES DMD=$DMD CC=$CXX" + ctest -V -R "dmd-testsuite" + + # Build and run LDC D unittests. + ctest --output-on-failure -R "ldc2-unittest" + + # Run LIT testsuite. + ctest -V -R "lit-tests" + + # Run default lib unittests + ctest -j$NIX_BUILD_CORES --output-on-failure -E "ldc2-unittest|lit-tests|dmd-testsuite${additionalExceptions}" + ''; + + postInstall = '' + wrapProgram $out/bin/ldc2 \ + --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \ + --set-default CC "${targetPackages.stdenv.cc}/bin/cc" + ''; + + meta = with stdenv.lib; { + description = "The LLVM-based D compiler"; + homepage = https://github.com/ldc-developers/ldc; + # from https://github.com/ldc-developers/ldc/blob/master/LICENSE + license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ]; + maintainers = with maintainers; [ ThomasMader ]; + platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; + }; } diff --git a/pkgs/development/compilers/llvm/3.5/clang.nix b/pkgs/development/compilers/llvm/3.5/clang.nix index 7e0163577ba..9a602c62777 100644 --- a/pkgs/development/compilers/llvm/3.5/clang.nix +++ b/pkgs/development/compilers/llvm/3.5/clang.nix @@ -2,10 +2,13 @@ let gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; in stdenv.mkDerivation { - name = "clang-${version}"; + pname = "clang"; + inherit version; + + src = fetch "cfe" "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg"; unpackPhase = '' - unpackFile ${fetch "cfe" "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg"} + unpackFile $src mv cfe-${version}.src clang sourceRoot=$PWD/clang unpackFile ${clang-tools-extra_src} diff --git a/pkgs/development/compilers/llvm/3.5/dragonegg.nix b/pkgs/development/compilers/llvm/3.5/dragonegg.nix index d54ffd96382..e327fa79c6f 100644 --- a/pkgs/development/compilers/llvm/3.5/dragonegg.nix +++ b/pkgs/development/compilers/llvm/3.5/dragonegg.nix @@ -1,7 +1,8 @@ {stdenv, fetch, llvm, gmp, mpfr, libmpc, ncurses, zlib, version}: stdenv.mkDerivation rec { - name = "dragonegg-${version}"; + pname = "dragonegg"; + inherit version; src = fetch "dragonegg" "1va4wv2b1dj0dpzsksnpnd0jic52q7pqj79w3m9jwdb58h7104dw"; @@ -11,9 +12,9 @@ stdenv.mkDerivation rec { buildInputs = [ llvm gmp mpfr libmpc ncurses zlib ]; installPhase = '' - mkdir -p $out/lib $out/share/doc/${name} + mkdir -p $out/lib $out/share/doc/${pname}-${version} cp -d dragonegg.so $out/lib - cp README COPYING $out/share/doc/${name} + cp README COPYING $out/share/doc/${pname}-${version} ''; meta = { diff --git a/pkgs/development/compilers/llvm/3.5/libc++/default.nix b/pkgs/development/compilers/llvm/3.5/libc++/default.nix index 6edd5e9798c..4f766e5f9a5 100644 --- a/pkgs/development/compilers/llvm/3.5/libc++/default.nix +++ b/pkgs/development/compilers/llvm/3.5/libc++/default.nix @@ -3,7 +3,8 @@ let version = "3.5.2"; in stdenv.mkDerivation rec { - name = "libc++-${version}"; + pname = "libc++"; + inherit version; src = fetchurl { url = "http://llvm.org/releases/${version}/libcxx-${version}.src.tar.xz"; diff --git a/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix b/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix index 268f2702a23..d295ddbf8a4 100644 --- a/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix +++ b/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix @@ -8,7 +8,8 @@ let sha256 = "10idgcbs4pcx6mjsbq1vjm8hzqqdk2p7k86cw9f473jmfyfwgf5j"; }; in stdenv.mkDerivation { - name = "libc++abi-${version}"; + pname = "libc++abi"; + inherit version; src = fetchurl { url = "http://llvm.org/releases/${version}/libcxxabi-${version}.src.tar.xz"; diff --git a/pkgs/development/compilers/llvm/3.5/lld.nix b/pkgs/development/compilers/llvm/3.5/lld.nix index 4a398bd96a0..8fe4dd6f1d5 100644 --- a/pkgs/development/compilers/llvm/3.5/lld.nix +++ b/pkgs/development/compilers/llvm/3.5/lld.nix @@ -1,7 +1,8 @@ { stdenv, fetch, cmake, llvm, ncurses, zlib, python, version }: stdenv.mkDerivation { - name = "lld-${version}"; + pname = "lld"; + inherit version; src = fetch "lld" "1hpqawg1sc8mdqxqaxqmlzbrn69w1pkj8rxhjgqgmwra6c0xky89"; diff --git a/pkgs/development/compilers/llvm/3.5/lldb.nix b/pkgs/development/compilers/llvm/3.5/lldb.nix index a5161333b28..b4823e9d8c2 100644 --- a/pkgs/development/compilers/llvm/3.5/lldb.nix +++ b/pkgs/development/compilers/llvm/3.5/lldb.nix @@ -13,7 +13,8 @@ }: stdenv.mkDerivation { - name = "lldb-${version}"; + pname = "lldb"; + inherit version; src = fetch "lldb" "0ffi9jn4k3yd0hvxs1v4n710x8siq21lb49v3351d7j5qinrpgi7"; diff --git a/pkgs/development/compilers/llvm/3.5/llvm.nix b/pkgs/development/compilers/llvm/3.5/llvm.nix index 2645469767a..95632a45999 100644 --- a/pkgs/development/compilers/llvm/3.5/llvm.nix +++ b/pkgs/development/compilers/llvm/3.5/llvm.nix @@ -17,13 +17,14 @@ , enableSharedLibraries ? !stdenv.isDarwin }: -let +stdenv.mkDerivation rec { + pname = "llvm"; + inherit version; + src = fetch "llvm" "0xf5q17kkxsrm2gsi93h4pwlv663kji73r2g4asb97klsmb626a4"; -in stdenv.mkDerivation rec { - name = "llvm-${version}"; unpackPhase = '' - unpackFile ${src} + unpackFile $src mv llvm-${version}.src llvm sourceRoot=$PWD/llvm unpackFile ${compiler-rt_src} @@ -85,8 +86,6 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; - passthru.src = src; - meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = http://llvm.org/; diff --git a/pkgs/development/compilers/llvm/3.5/polly.nix b/pkgs/development/compilers/llvm/3.5/polly.nix index bacf4d30556..06bc7490c7b 100644 --- a/pkgs/development/compilers/llvm/3.5/polly.nix +++ b/pkgs/development/compilers/llvm/3.5/polly.nix @@ -1,7 +1,8 @@ { stdenv, fetch, cmake, isl, python, gmp, llvm, version }: stdenv.mkDerivation { - name = "polly-${version}"; + pname = "polly"; + inherit version; src = fetch "polly" "1s6v54czmgq626an4yk2k34lrzkwmz1bjrbiafh7j23yc2w4nalx"; diff --git a/pkgs/development/compilers/llvm/3.7/clang/default.nix b/pkgs/development/compilers/llvm/3.7/clang/default.nix deleted file mode 100644 index 4ccd00af684..00000000000 --- a/pkgs/development/compilers/llvm/3.7/clang/default.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src }: - -let - gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; - self = stdenv.mkDerivation { - name = "clang-${version}"; - - unpackPhase = '' - unpackFile ${fetch "cfe" "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn"} - mv cfe-${version}.src clang - sourceRoot=$PWD/clang - unpackFile ${clang-tools-extra_src} - mv clang-tools-extra-* $sourceRoot/tools/extra - ''; - - buildInputs = [ cmake libxml2 llvm ]; - - cmakeFlags = [ - "-DCMAKE_CXX_FLAGS=-std=c++11" - ] ++ - # Maybe with compiler-rt this won't be needed? - (stdenv.lib.optional stdenv.isLinux "-DGCC_INSTALL_PREFIX=${gcc}") ++ - (stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include"); - - patches = [ ./purity.patch ]; - - postPatch = '' - sed -i -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/Tools.cpp - sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp - ''; - - # Clang expects to find LLVMgold in its own prefix - # Clang expects to find sanitizer libraries in its own prefix - postInstall = '' - if [ -e ${llvm}/lib/LLVMgold.so ]; then - ln -sv ${llvm}/lib/LLVMgold.so $out/lib - fi - - ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ - ln -sv $out/bin/clang $out/bin/cpp - ''; - - enableParallelBuilding = true; - - passthru = { - lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both - isClang = true; - inherit llvm; - } // stdenv.lib.optionalAttrs stdenv.isLinux { - inherit gcc; - }; - - meta = { - description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; - homepage = http://llvm.org/; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; - }; - }; -in self diff --git a/pkgs/development/compilers/llvm/3.7/clang/purity.patch b/pkgs/development/compilers/llvm/3.7/clang/purity.patch deleted file mode 100644 index ee73b26eb5c..00000000000 --- a/pkgs/development/compilers/llvm/3.7/clang/purity.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/lib/Driver/Tools.cpp 2015-07-31 00:47:41.000000000 +0200 -+++ b/lib/Driver/Tools.cpp 2015-09-11 21:30:50.057895565 +0200 -@@ -8150,15 +8150,6 @@ - CmdArgs.push_back("-shared"); - } - -- if (Arch == llvm::Triple::arm || Arch == llvm::Triple::armeb || -- Arch == llvm::Triple::thumb || Arch == llvm::Triple::thumbeb || -- (!Args.hasArg(options::OPT_static) && -- !Args.hasArg(options::OPT_shared))) { -- CmdArgs.push_back("-dynamic-linker"); -- CmdArgs.push_back(Args.MakeArgString( -- D.DyldPrefix + getLinuxDynamicLinker(Args, ToolChain))); -- } -- - CmdArgs.push_back("-o"); - CmdArgs.push_back(Output.getFilename()); diff --git a/pkgs/development/compilers/llvm/3.7/default.nix b/pkgs/development/compilers/llvm/3.7/default.nix deleted file mode 100644 index 3c557711449..00000000000 --- a/pkgs/development/compilers/llvm/3.7/default.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ newScope, stdenv, libstdcxxHook, isl, fetchurl -, overrideCC, wrapCCWith -, buildLlvmTools # tools, but from the previous stage, for cross -, targetLlvmLibraries # libraries, but from the next stage, for cross -}: - -let - version = "3.7.1"; - - fetch = fetch_v version; - fetch_v = ver: name: sha256: fetchurl { - url = "https://releases.llvm.org/${ver}/${name}-${ver}.src.tar.xz"; - inherit sha256; - }; - - compiler-rt_src = fetch "compiler-rt" "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx"; - clang-tools-extra_src = fetch "clang-tools-extra" "0sxw2l3q5msbrwxv1ck72arggdw6n5ysi929gi69ikniranfv4aa"; - - tools = stdenv.lib.makeExtensible (tools: let - callPackage = newScope (tools // { inherit stdenv isl version fetch; }); - in { - llvm = callPackage ./llvm.nix { - inherit compiler-rt_src; - inherit (targetLlvmLibraries) libcxxabi; - }; - - clang-unwrapped = callPackage ./clang { - inherit clang-tools-extra_src; - }; - - clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang; - - libstdcxxClang = wrapCCWith { - cc = tools.clang-unwrapped; - extraPackages = [ libstdcxxHook ]; - }; - - libcxxClang = wrapCCWith { - cc = tools.clang-unwrapped; - extraPackages = [ targetLlvmLibraries.libcxx targetLlvmLibraries.libcxxabi ]; - }; - - lldb = callPackage ./lldb.nix {}; - }); - - libraries = stdenv.lib.makeExtensible (libraries: let - callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv isl version fetch; }); - in { - - stdenv = overrideCC stdenv buildLlvmTools.clang; - - libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - - libcxx = callPackage ./libc++ {}; - - libcxxabi = callPackage ./libc++abi.nix {}; - }); - -in { inherit tools libraries; } // libraries // tools diff --git a/pkgs/development/compilers/llvm/3.7/libc++/darwin.patch b/pkgs/development/compilers/llvm/3.7/libc++/darwin.patch deleted file mode 100644 index bf83f169cfc..00000000000 --- a/pkgs/development/compilers/llvm/3.7/libc++/darwin.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -ru -x '*~' libcxx-3.4.2.src-orig/lib/CMakeLists.txt libcxx-3.4.2.src/lib/CMakeLists.txt ---- libcxx-3.4.2.src-orig/lib/CMakeLists.txt 2013-11-15 18:18:57.000000000 +0100 -+++ libcxx-3.4.2.src/lib/CMakeLists.txt 2014-09-24 14:04:01.000000000 +0200 -@@ -56,7 +56,7 @@ - "-compatibility_version 1" - "-current_version ${LIBCXX_VERSION}" - "-install_name /usr/lib/libc++.1.dylib" -- "-Wl,-reexport_library,/usr/lib/libc++abi.dylib" -+ "-Wl,-reexport_library,${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib" - "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp" - "/usr/lib/libSystem.B.dylib") - else() -@@ -64,14 +64,14 @@ - list(FIND ${CMAKE_OSX_ARCHITECTURES} "armv7" OSX_HAS_ARMV7) - if (OSX_HAS_ARMV7) - set(OSX_RE_EXPORT_LINE -- "${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib" -+ "${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib" - "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++sjlj-abi.exp") - else() - set(OSX_RE_EXPORT_LINE -- "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib") -+ "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib") - endif() - else() -- set (OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp") -+ set (OSX_RE_EXPORT_LINE "${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp") - endif() - - list(APPEND link_flags diff --git a/pkgs/development/compilers/llvm/3.7/libc++/default.nix b/pkgs/development/compilers/llvm/3.7/libc++/default.nix deleted file mode 100644 index 462e35a483f..00000000000 --- a/pkgs/development/compilers/llvm/3.7/libc++/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ lib, stdenv, fetch, cmake, libcxxabi, fixDarwinDylibNames, version }: - -stdenv.mkDerivation rec { - name = "libc++-${version}"; - - src = fetch "libcxx" "0i7iyzk024krda5spfpfi8jksh83yp3bxqkal0xp76ffi11bszrm"; - - postUnpack = '' - unpackFile ${libcxxabi.src} - ''; - - preConfigure = '' - # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package - cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$NIX_BUILD_TOP/libcxxabi-${version}.src/include") - ''; - - patches = [ - ./darwin.patch - ./r242056.patch - # glibc 2.26 fix - ./xlocale-glibc-2.26.patch - ]; - - buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; - - cmakeFlags = [ - "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib" - "-DLIBCXX_LIBCPPABI_VERSION=2" - "-DLIBCXX_CXX_ABI=libcxxabi" - ]; - - enableParallelBuilding = true; - - linkCxxAbi = stdenv.isLinux; - - setupHooks = [ - ../../../../../build-support/setup-hooks/role.bash - ./setup-hook.sh - ]; - - meta = { - homepage = http://libcxx.llvm.org/; - description = "A new implementation of the C++ standard library, targeting C++11"; - license = with stdenv.lib.licenses; [ ncsa mit ]; - platforms = stdenv.lib.platforms.unix; - }; -} diff --git a/pkgs/development/compilers/llvm/3.7/libc++/r242056.patch b/pkgs/development/compilers/llvm/3.7/libc++/r242056.patch deleted file mode 100644 index 96245e76653..00000000000 --- a/pkgs/development/compilers/llvm/3.7/libc++/r242056.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/include/string 2015/07/13 20:04:56 242056 -+++ b/include/string 2015/07/18 20:40:46 242623 -@@ -1936,7 +1936,12 @@ - template - inline _LIBCPP_INLINE_VISIBILITY - basic_string<_CharT, _Traits, _Allocator>::basic_string(const allocator_type& __a) -- : __r_(__a) -+#if _LIBCPP_STD_VER <= 14 -+ _NOEXCEPT_(is_nothrow_copy_constructible::value) -+#else -+ _NOEXCEPT -+#endif -+: __r_(__a) - { - #if _LIBCPP_DEBUG_LEVEL >= 2 - __get_db()->__insert_c(this); diff --git a/pkgs/development/compilers/llvm/3.7/libc++/xlocale-glibc-2.26.patch b/pkgs/development/compilers/llvm/3.7/libc++/xlocale-glibc-2.26.patch deleted file mode 100644 index 5ee8f6b8230..00000000000 --- a/pkgs/development/compilers/llvm/3.7/libc++/xlocale-glibc-2.26.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/include/__locale b/include/__locale -index 1989558..1e42905 100644 ---- a/include/__locale -+++ b/include/__locale -@@ -34,10 +34,10 @@ - # include - #elif defined(_NEWLIB_VERSION) - # include --#elif (defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) \ -+#elif (defined(__APPLE__) || defined(__FreeBSD__) \ - || defined(__EMSCRIPTEN__) || defined(__IBMCPP__)) - # include --#endif // __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__ -+#endif // __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__ - - #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) - #pragma GCC system_header diff --git a/pkgs/development/compilers/llvm/3.7/libc++abi.nix b/pkgs/development/compilers/llvm/3.7/libc++abi.nix deleted file mode 100644 index 2c79d7b3b1b..00000000000 --- a/pkgs/development/compilers/llvm/3.7/libc++abi.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ stdenv, cmake, fetch, fetchpatch, libcxx, libunwind, llvm, version }: - -let - # Newer LLVMs (3.8 onwards) have changed how some basic C++ stuff works, which breaks builds of this older version - llvm38-and-above = fetchpatch { - url = "https://trac.macports.org/raw-attachment/ticket/50304/0005-string-Fix-exception-declaration.patch"; - sha256 = "1lm38n7s0l5dbl7kp4i49pvzxz1mcvlr2vgsnj47agnwhhm63jvr"; - }; -in stdenv.mkDerivation { - name = "libc++abi-${version}"; - - src = fetch "libcxxabi" "0ambfcmr2nh88hx000xb7yjm9lsqjjz49w5mlf6dlxzmj3nslzx4"; - - nativeBuildInputs = [ cmake ]; - buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; - - postUnpack = '' - unpackFile ${libcxx.src} - unpackFile ${llvm.src} - export NIX_CFLAGS_COMPILE+=" -I$PWD/include" - export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_INCLUDES=$PWD/$(ls -d libcxx-*)/include" - '' + stdenv.lib.optionalString stdenv.isDarwin '' - export TRIPLE=x86_64-apple-darwin - ''; - - # I can't use patches directly because this is actually a patch for libc++'s source, which we manually extract - # into the libc++abi build environment above. - prePatch = ''( - cd ../libcxx-* - patch -p1 < ${llvm38-and-above} - )''; - - installPhase = if stdenv.isDarwin - then '' - for file in lib/*.dylib; do - # this should be done in CMake, but having trouble figuring out - # the magic combination of necessary CMake variables - # if you fancy a try, take a look at - # http://www.cmake.org/Wiki/CMake_RPATH_handling - install_name_tool -id $out/$file $file - done - make install - install -d 755 $out/include - install -m 644 ../include/*.h $out/include - '' - else '' - install -d -m 755 $out/include $out/lib - install -m 644 lib/libc++abi.so.1.0 $out/lib - install -m 644 ../include/cxxabi.h $out/include - ln -s libc++abi.so.1.0 $out/lib/libc++abi.so - ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 - ''; - - meta = { - homepage = http://libcxxabi.llvm.org/; - description = "A new implementation of low level support for a standard C++ library"; - license = with stdenv.lib.licenses; [ ncsa mit ]; - maintainers = with stdenv.lib.maintainers; [ vlstill ]; - platforms = stdenv.lib.platforms.unix; - }; -} diff --git a/pkgs/development/compilers/llvm/3.7/lldb.nix b/pkgs/development/compilers/llvm/3.7/lldb.nix deleted file mode 100644 index 294410f9986..00000000000 --- a/pkgs/development/compilers/llvm/3.7/lldb.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ stdenv -, fetch -, cmake -, zlib -, ncurses -, swig -, which -, libedit -, llvm -, clang-unwrapped -, python2 -, version -}: - -stdenv.mkDerivation { - name = "lldb-${version}"; - - src = fetch "lldb" "008fdbyza13ym3v0xpans4z4azw4y16hcbgrrnc4rx2mxwaw62ws"; - - patchPhase = '' - sed -i 's|/usr/bin/env||' \ - scripts/Python/finish-swig-Python-LLDB.sh \ - scripts/Python/build-swig-Python.sh - ''; - - buildInputs = [ cmake python2 which swig ncurses zlib libedit ]; - - preConfigure = '' - export CXXFLAGS="-pthread" - export LDFLAGS="-ldl" - ''; - - cmakeFlags = [ - "-DLLDB_PATH_TO_LLVM_BUILD=${llvm}" - "-DLLDB_PATH_TO_CLANG_BUILD=${clang-unwrapped}" - "-DPYTHON_VERSION_MAJOR=2" - "-DPYTHON_VERSION_MINOR=7" - "-DLLDB_DISABLE_LIBEDIT=1" # https://llvm.org/bugs/show_bug.cgi?id=28898 - ]; - - enableParallelBuilding = true; - - meta = { - description = "A next-generation high-performance debugger"; - homepage = http://llvm.org/; - license = stdenv.lib.licenses.ncsa; - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/development/compilers/llvm/3.7/llvm.nix b/pkgs/development/compilers/llvm/3.7/llvm.nix deleted file mode 100644 index a6fd18f94d6..00000000000 --- a/pkgs/development/compilers/llvm/3.7/llvm.nix +++ /dev/null @@ -1,105 +0,0 @@ -{ stdenv -, fetch -, fetchpatch -, perl -, groff -, cmake -, python2 -, libffi -, libbfd -, libxml2 -, ncurses -, version -, zlib -, compiler-rt_src -, libcxxabi -, debugVersion ? false -, enableSharedLibraries ? !stdenv.isDarwin -}: - -let - src = fetch "llvm" "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy"; -in stdenv.mkDerivation rec { - name = "llvm-${version}"; - - unpackPhase = '' - unpackFile ${src} - mv llvm-${version}.src llvm - sourceRoot=$PWD/llvm - unpackFile ${compiler-rt_src} - mv compiler-rt-* $sourceRoot/projects/compiler-rt - ''; - - buildInputs = [ perl groff cmake libxml2 python2 libffi ] - ++ stdenv.lib.optional stdenv.isDarwin libcxxabi; - - propagatedBuildInputs = [ ncurses zlib ]; - - # The goal here is to disable LLVM bindings (currently go and ocaml) regardless - # of whether the impure CMake search sheananigans find the compilers in global - # paths. This mostly exists because sandbox builds don't work very well on Darwin - # and sometimes you get weird behavior if CMake finds go in your system path. - # This would be far prettier if there were a CMake option to just disable bindings - # but from what I can tell, there isn't such a thing. The file in question only - # contains `if(WIN32)` conditions to check whether to disable bindings, so making - # those always succeed has the net effect of disabling all bindings. - prePatch = '' - substituteInPlace cmake/config-ix.cmake --replace "if(WIN32)" "if(1)" - '' - + stdenv.lib.optionalString (stdenv ? glibc) '' - ( - cd projects/compiler-rt - patch -p1 < ${ - fetchpatch { - name = "sigaltstack.patch"; # for glibc-2.26 - url = https://github.com/llvm-mirror/compiler-rt/commit/8a5e425a68d.diff; - sha256 = "0h4y5vl74qaa7dl54b1fcyqalvlpd8zban2d1jxfkxpzyi7m8ifi"; - } - } - ) - ''; - - # hacky fix: created binaries need to be run before installation - preBuild = '' - mkdir -p $out/ - ln -sv $PWD/lib $out - ''; - - patches = stdenv.lib.optionals (!stdenv.isDarwin) [ - # llvm-config --libfiles returns (non-existing) static libs - ../fix-llvm-config.patch - ]; - - cmakeFlags = with stdenv; [ - "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}" - "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc - "-DLLVM_BUILD_TESTS=ON" - "-DLLVM_ENABLE_FFI=ON" - "-DLLVM_ENABLE_RTTI=ON" - ] ++ stdenv.lib.optional enableSharedLibraries - "-DBUILD_SHARED_LIBS=ON" - ++ stdenv.lib.optional (!isDarwin) - "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" - ++ stdenv.lib.optionals ( isDarwin) [ - "-DLLVM_ENABLE_LIBCXX=ON" - "-DCAN_TARGET_i386=false" - ]; - - NIX_LDFLAGS = "-lpthread"; # no idea what's the problem - - postBuild = '' - rm -fR $out - ''; - - enableParallelBuilding = true; - - passthru.src = src; - - meta = { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = http://llvm.org/; - license = stdenv.lib.licenses.ncsa; - maintainers = with stdenv.lib.maintainers; [ lovek323 raskin ]; - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/development/compilers/llvm/3.8/clang/default.nix b/pkgs/development/compilers/llvm/3.8/clang/default.nix index cc25a41b040..0276393d840 100644 --- a/pkgs/development/compilers/llvm/3.8/clang/default.nix +++ b/pkgs/development/compilers/llvm/3.8/clang/default.nix @@ -3,10 +3,13 @@ let gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; self = stdenv.mkDerivation { - name = "clang-${version}"; + pname = "clang"; + inherit version; + + src = fetch "cfe" "1prc72xmkgx8wrzmrr337776676nhsp1qd3mw2bvb22bzdnq7lsc"; unpackPhase = '' - unpackFile ${fetch "cfe" "1prc72xmkgx8wrzmrr337776676nhsp1qd3mw2bvb22bzdnq7lsc"} + unpackFile $src mv cfe-${version}.src clang sourceRoot=$PWD/clang unpackFile ${clang-tools-extra_src} diff --git a/pkgs/development/compilers/llvm/3.8/libc++/default.nix b/pkgs/development/compilers/llvm/3.8/libc++/default.nix index 5a0410302f2..b66284152d4 100644 --- a/pkgs/development/compilers/llvm/3.8/libc++/default.nix +++ b/pkgs/development/compilers/llvm/3.8/libc++/default.nix @@ -1,7 +1,8 @@ { lib, stdenv, fetch, cmake, libcxxabi, fixDarwinDylibNames, version }: stdenv.mkDerivation rec { - name = "libc++-${version}"; + pname = "libc++"; + inherit version; src = fetch "libcxx" "1k7f9qk5bgwa02ksh6yr9hccwcbhmcdzl1fpbdw6s2c89iwg7mvp"; diff --git a/pkgs/development/compilers/llvm/3.8/libc++abi.nix b/pkgs/development/compilers/llvm/3.8/libc++abi.nix index 8b25681c2db..80b069fff75 100644 --- a/pkgs/development/compilers/llvm/3.8/libc++abi.nix +++ b/pkgs/development/compilers/llvm/3.8/libc++abi.nix @@ -1,7 +1,8 @@ { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: stdenv.mkDerivation { - name = "libc++abi-${version}"; + pname = "libc++abi"; + inherit version; src = fetch "libcxxabi" "1qfs2iis1i0ppv11jndc98cvd7s25pj46pq2sfyldmzswdxmzdg1"; diff --git a/pkgs/development/compilers/llvm/3.8/lldb.nix b/pkgs/development/compilers/llvm/3.8/lldb.nix index d27786464c0..985cd666385 100644 --- a/pkgs/development/compilers/llvm/3.8/lldb.nix +++ b/pkgs/development/compilers/llvm/3.8/lldb.nix @@ -13,7 +13,8 @@ }: stdenv.mkDerivation { - name = "lldb-${version}"; + pname = "lldb"; + inherit version; src = fetch "lldb" "18z8vhfgh4m57hl66i83cp4d4mv3i86z2hjhbp5rvqs7d88li49l"; diff --git a/pkgs/development/compilers/llvm/3.8/llvm.nix b/pkgs/development/compilers/llvm/3.8/llvm.nix index ca6723172d7..5fe681185b2 100644 --- a/pkgs/development/compilers/llvm/3.8/llvm.nix +++ b/pkgs/development/compilers/llvm/3.8/llvm.nix @@ -16,13 +16,14 @@ , enableSharedLibraries ? true }: -let +stdenv.mkDerivation rec { + pname = "llvm"; + inherit version; + src = fetch "llvm" "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf"; -in stdenv.mkDerivation rec { - name = "llvm-${version}"; unpackPhase = '' - unpackFile ${src} + unpackFile $src mv llvm-${version}.src llvm sourceRoot=$PWD/llvm unpackFile ${compiler-rt_src} @@ -79,8 +80,8 @@ in stdenv.mkDerivation rec { "-DLLVM_ENABLE_RTTI=ON" "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" - "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}" - "-DTARGET_TRIPLE=${stdenv.targetPlatform.config}" + "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" + "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}" ] ++ stdenv.lib.optional enableSharedLibraries [ "-DLLVM_LINK_LLVM_DYLIB=ON" ] ++ stdenv.lib.optional (!isDarwin) @@ -105,8 +106,6 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; - passthru.src = src; - meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = http://llvm.org/; diff --git a/pkgs/development/compilers/llvm/3.9/clang/default.nix b/pkgs/development/compilers/llvm/3.9/clang/default.nix index f597c559dba..3d09277ad4c 100644 --- a/pkgs/development/compilers/llvm/3.9/clang/default.nix +++ b/pkgs/development/compilers/llvm/3.9/clang/default.nix @@ -3,10 +3,13 @@ let gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; self = stdenv.mkDerivation { - name = "clang-${version}"; + pname = "clang"; + inherit version; + + src = fetch "cfe" "0qsyyb40iwifhhlx9a3drf8z6ni6zwyk3bvh0kx2gs6yjsxwxi76"; unpackPhase = '' - unpackFile ${fetch "cfe" "0qsyyb40iwifhhlx9a3drf8z6ni6zwyk3bvh0kx2gs6yjsxwxi76"} + unpackFile $src mv cfe-${version}.src clang sourceRoot=$PWD/clang unpackFile ${clang-tools-extra_src} diff --git a/pkgs/development/compilers/llvm/3.9/libc++/default.nix b/pkgs/development/compilers/llvm/3.9/libc++/default.nix index bd2cc19d2e0..af65fd6388e 100644 --- a/pkgs/development/compilers/llvm/3.9/libc++/default.nix +++ b/pkgs/development/compilers/llvm/3.9/libc++/default.nix @@ -1,7 +1,8 @@ { lib, stdenv, fetch, cmake, libcxxabi, fixDarwinDylibNames, version }: stdenv.mkDerivation rec { - name = "libc++-${version}"; + pname = "libc++"; + inherit version; src = fetch "libcxx" "0qbl3afl2p2h87p977lsqr5kykl6cgjpkzczs0g6a3pn53j1bri5"; diff --git a/pkgs/development/compilers/llvm/3.9/libc++abi.nix b/pkgs/development/compilers/llvm/3.9/libc++abi.nix index dffb207a32b..f799199d449 100644 --- a/pkgs/development/compilers/llvm/3.9/libc++abi.nix +++ b/pkgs/development/compilers/llvm/3.9/libc++abi.nix @@ -1,7 +1,8 @@ { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: stdenv.mkDerivation { - name = "libc++abi-${version}"; + pname = "libc++abi"; + inherit version; src = fetch "libcxxabi" "1qi9q06zanqm8awzq83810avmvi52air6gr9zfip8mbg5viqn3cj"; diff --git a/pkgs/development/compilers/llvm/3.9/lldb.nix b/pkgs/development/compilers/llvm/3.9/lldb.nix index 52f27de8cdb..1a7c9aeead8 100644 --- a/pkgs/development/compilers/llvm/3.9/lldb.nix +++ b/pkgs/development/compilers/llvm/3.9/lldb.nix @@ -13,7 +13,8 @@ }: stdenv.mkDerivation { - name = "lldb-${version}"; + pname = "lldb"; + inherit version; src = fetch "lldb" "1z30ljmcpp261bjng1i5k3bb9jkrs1cr97z04qs4s3zql6r12cvy"; diff --git a/pkgs/development/compilers/llvm/3.9/llvm.nix b/pkgs/development/compilers/llvm/3.9/llvm.nix index 678ec759425..4dde3be277a 100644 --- a/pkgs/development/compilers/llvm/3.9/llvm.nix +++ b/pkgs/development/compilers/llvm/3.9/llvm.nix @@ -20,16 +20,20 @@ assert (stdenv.hostPlatform != stdenv.buildPlatform) -> !enableSharedLibraries; let + # Used when creating a versioned symlinks of libLLVM.dylib + versionSuffixes = with stdenv.lib; + let parts = splitString "." version; in + imap (i: _: concatStringsSep "." (take i parts)) parts; +in + +stdenv.mkDerivation { + pname = "llvm"; + inherit version; + src = fetch "llvm" "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z"; - # Used when creating a version-suffixed symlink of libLLVM.dylib - shortVersion = with stdenv.lib; - concatStringsSep "." (take 2 (splitString "." version)); -in stdenv.mkDerivation rec { - name = "llvm-${version}"; - unpackPhase = '' - unpackFile ${src} + unpackFile $src mv llvm-${version}.src llvm sourceRoot=$PWD/llvm unpackFile ${compiler-rt_src} @@ -120,8 +124,8 @@ in stdenv.mkDerivation rec { "-DCOMPILER_RT_INCLUDE_TESTS=OFF" # FIXME: requires clang source code "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" - "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}" - "-DTARGET_TRIPLE=${stdenv.targetPlatform.config}" + "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" + "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}" ] ++ stdenv.lib.optional enableSharedLibraries [ "-DLLVM_LINK_LLVM_DYLIB=ON" ] ++ stdenv.lib.optional (!isDarwin) @@ -153,14 +157,13 @@ in stdenv.mkDerivation rec { + stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) '' substituteInPlace "$out/lib/cmake/llvm/LLVMExports-release.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${version}.dylib + ${stdenv.lib.concatMapStringsSep "\n" (v: '' + ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib + '') versionSuffixes} ''; enableParallelBuilding = true; - passthru.src = src; - meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = http://llvm.org/; diff --git a/pkgs/development/compilers/llvm/4/clang/default.nix b/pkgs/development/compilers/llvm/4/clang/default.nix index c6538282f23..f50da39a624 100644 --- a/pkgs/development/compilers/llvm/4/clang/default.nix +++ b/pkgs/development/compilers/llvm/4/clang/default.nix @@ -8,8 +8,10 @@ let self = stdenv.mkDerivation ({ name = "clang-${version}"; + src = fetch "cfe" "16vnv3msnvx33dydd17k2cq0icndi1a06bg5vcxkrhjjb1rqlwv1"; + unpackPhase = '' - unpackFile ${fetch "cfe" "16vnv3msnvx33dydd17k2cq0icndi1a06bg5vcxkrhjjb1rqlwv1"} + unpackFile $src mv cfe-${version}* clang sourceRoot=$PWD/clang unpackFile ${clang-tools-extra_src} diff --git a/pkgs/development/compilers/llvm/4/libc++/default.nix b/pkgs/development/compilers/llvm/4/libc++/default.nix index 6344304b84b..74e9b8719d1 100644 --- a/pkgs/development/compilers/llvm/4/libc++/default.nix +++ b/pkgs/development/compilers/llvm/4/libc++/default.nix @@ -1,7 +1,8 @@ { lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }: stdenv.mkDerivation rec { - name = "libc++-${version}"; + pname = "libc++"; + inherit version; src = fetch "libcxx" "0k6cmjcxnp2pyl8xwy1wkyyckkmdrjddim94yf1gzjbjy9qi22jj"; @@ -44,11 +45,6 @@ stdenv.mkDerivation rec { linkCxxAbi = stdenv.isLinux; - postInstall = '' - mv $out/lib/libc++.a $out/lib/libc++_static.a - cp ${./libc++.a} $out/lib/libc++.a - ''; - setupHooks = [ ../../../../../build-support/setup-hooks/role.bash ./setup-hook.sh diff --git a/pkgs/development/compilers/llvm/4/libc++/libc++.a b/pkgs/development/compilers/llvm/4/libc++/libc++.a deleted file mode 100644 index f676948115e..00000000000 --- a/pkgs/development/compilers/llvm/4/libc++/libc++.a +++ /dev/null @@ -1 +0,0 @@ -INPUT(-lc++_static -lc++abi) diff --git a/pkgs/development/compilers/llvm/4/libc++abi.nix b/pkgs/development/compilers/llvm/4/libc++abi.nix index 735c5e9e743..8e36c5ad53a 100644 --- a/pkgs/development/compilers/llvm/4/libc++abi.nix +++ b/pkgs/development/compilers/llvm/4/libc++abi.nix @@ -1,7 +1,8 @@ { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: stdenv.mkDerivation { - name = "libc++abi-${version}"; + pname = "libc++abi"; + inherit version; src = fetch "libcxxabi" "0cqvzallxh0nwiijsf6i4d5ds9m5ijfzywg7376ncv50i64if24g"; diff --git a/pkgs/development/compilers/llvm/4/lld.nix b/pkgs/development/compilers/llvm/4/lld.nix index 21b0c1c3601..3ab56677d72 100644 --- a/pkgs/development/compilers/llvm/4/lld.nix +++ b/pkgs/development/compilers/llvm/4/lld.nix @@ -6,7 +6,8 @@ }: stdenv.mkDerivation { - name = "lld-${version}"; + pname = "lld"; + inherit version; src = fetch "lld" "1v9nkpr158j4yd4zmi6rpnfxkp78r1fapr8wji9s6v176gji1kk3"; @@ -27,5 +28,6 @@ stdenv.mkDerivation { homepage = http://lld.llvm.org/; license = stdenv.lib.licenses.ncsa; platforms = stdenv.lib.platforms.all; + badPlatforms = [ "x86_64-darwin" ]; }; } diff --git a/pkgs/development/compilers/llvm/4/lldb.nix b/pkgs/development/compilers/llvm/4/lldb.nix index 0be8a4d4186..8adf11abddd 100644 --- a/pkgs/development/compilers/llvm/4/lldb.nix +++ b/pkgs/development/compilers/llvm/4/lldb.nix @@ -15,7 +15,8 @@ }: stdenv.mkDerivation { - name = "lldb-${version}"; + pname = "lldb"; + inherit version; src = fetch "lldb" "0yy43a27zx3r51b6gkv3v2mdiqcq3mf0ngki47ya0i30v3gx4cl4"; @@ -32,7 +33,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix index aac9c4275ad..ea70382d2ac 100644 --- a/pkgs/development/compilers/llvm/4/llvm.nix +++ b/pkgs/development/compilers/llvm/4/llvm.nix @@ -17,16 +17,19 @@ }: let - src = fetch "llvm" "0l9bf7kdwhlj0kq1hawpyxhna1062z3h7qcz2y8nfl9dz2qksy6s"; + # Used when creating a versioned symlinks of libLLVM.dylib + versionSuffixes = with stdenv.lib; + let parts = splitString "." release_version; in + imap (i: _: concatStringsSep "." (take i parts)) parts; +in - # Used when creating a version-suffixed symlink of libLLVM.dylib - shortVersion = with stdenv.lib; - concatStringsSep "." (take 2 (splitString "." release_version)); -in stdenv.mkDerivation (rec { +stdenv.mkDerivation (rec { name = "llvm-${version}"; + src = fetch "llvm" "0l9bf7kdwhlj0kq1hawpyxhna1062z3h7qcz2y8nfl9dz2qksy6s"; + unpackPhase = '' - unpackFile ${src} + unpackFile $src mv llvm-${version}* llvm sourceRoot=$PWD/llvm unpackFile ${compiler-rt_src} @@ -100,8 +103,8 @@ in stdenv.mkDerivation (rec { "-DCOMPILER_RT_INCLUDE_TESTS=OFF" # FIXME: requires clang source code "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" - "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}" - "-DTARGET_TRIPLE=${stdenv.targetPlatform.config}" + "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" + "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}" ] ++ stdenv.lib.optional enableSharedLibraries "-DLLVM_LINK_LLVM_DYLIB=ON" @@ -136,8 +139,9 @@ in stdenv.mkDerivation (rec { + stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) '' substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib + ${stdenv.lib.concatMapStringsSep "\n" (v: '' + ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib + '') versionSuffixes} ''; doCheck = stdenv.isLinux && (!stdenv.isi686); @@ -146,8 +150,6 @@ in stdenv.mkDerivation (rec { enableParallelBuilding = true; - passthru.src = src; - meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = http://llvm.org/; diff --git a/pkgs/development/compilers/llvm/4/openmp.nix b/pkgs/development/compilers/llvm/4/openmp.nix index a8a6b3dfea8..a69fe286ecc 100644 --- a/pkgs/development/compilers/llvm/4/openmp.nix +++ b/pkgs/development/compilers/llvm/4/openmp.nix @@ -7,7 +7,8 @@ }: stdenv.mkDerivation { - name = "openmp-${version}"; + pname = "openmp"; + inherit version; src = fetch "openmp" "195dykamd39yhi5az7nqj3ksqhb3wq30l93jnfkxl0061qbknsgc"; diff --git a/pkgs/development/compilers/llvm/5/clang/default.nix b/pkgs/development/compilers/llvm/5/clang/default.nix index 5fd0271f026..7a3b151f835 100644 --- a/pkgs/development/compilers/llvm/5/clang/default.nix +++ b/pkgs/development/compilers/llvm/5/clang/default.nix @@ -8,8 +8,10 @@ let self = stdenv.mkDerivation ({ name = "clang-${version}"; + src = fetch "cfe" "0018520c4qxf5hgjdqgpz2dgl3faf4gsz87fdlb8zdmx99rfk77s"; + unpackPhase = '' - unpackFile ${fetch "cfe" "0018520c4qxf5hgjdqgpz2dgl3faf4gsz87fdlb8zdmx99rfk77s"} + unpackFile $src mv cfe-${version}* clang sourceRoot=$PWD/clang unpackFile ${clang-tools-extra_src} diff --git a/pkgs/development/compilers/llvm/5/compiler-rt.nix b/pkgs/development/compilers/llvm/5/compiler-rt.nix index 19833e4d3d4..9660be4df11 100644 --- a/pkgs/development/compilers/llvm/5/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/5/compiler-rt.nix @@ -1,7 +1,7 @@ { stdenv, version, fetch, cmake, python, llvm, libcxxabi }: with stdenv.lib; stdenv.mkDerivation rec { - name = "compiler-rt-${version}"; + pname = "compiler-rt"; inherit version; src = fetch "compiler-rt" "0ipd4jdxpczgr2w6lzrabymz6dhzj69ywmyybjjc1q397zgrvziy"; diff --git a/pkgs/development/compilers/llvm/5/libc++/default.nix b/pkgs/development/compilers/llvm/5/libc++/default.nix index 6dc81e10163..e3015ae8448 100644 --- a/pkgs/development/compilers/llvm/5/libc++/default.nix +++ b/pkgs/development/compilers/llvm/5/libc++/default.nix @@ -1,7 +1,8 @@ { lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }: stdenv.mkDerivation rec { - name = "libc++-${version}"; + pname = "libc++"; + inherit version; src = fetch "libcxx" "1672aaf95fgy4xsfra8pw24f6r93zwzpan1033hkcm8p2glqipvf"; @@ -38,11 +39,6 @@ stdenv.mkDerivation rec { linkCxxAbi = stdenv.isLinux; - postInstall = '' - mv $out/lib/libc++.a $out/lib/libc++_static.a - cp ${./libc++.a} $out/lib/libc++.a - ''; - setupHooks = [ ../../../../../build-support/setup-hooks/role.bash ./setup-hook.sh diff --git a/pkgs/development/compilers/llvm/5/libc++/libc++.a b/pkgs/development/compilers/llvm/5/libc++/libc++.a deleted file mode 100644 index f676948115e..00000000000 --- a/pkgs/development/compilers/llvm/5/libc++/libc++.a +++ /dev/null @@ -1 +0,0 @@ -INPUT(-lc++_static -lc++abi) diff --git a/pkgs/development/compilers/llvm/5/libc++abi.nix b/pkgs/development/compilers/llvm/5/libc++abi.nix index 227ecbeda19..1b891af09ed 100644 --- a/pkgs/development/compilers/llvm/5/libc++abi.nix +++ b/pkgs/development/compilers/llvm/5/libc++abi.nix @@ -1,7 +1,8 @@ { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: stdenv.mkDerivation { - name = "libc++abi-${version}"; + pname = "libc++abi"; + inherit version; src = fetch "libcxxabi" "12lp799rskr4fc2xr64qn4jfkjnfd8b1aymvsxyn4k9ar7r9pgqv"; diff --git a/pkgs/development/compilers/llvm/5/lld.nix b/pkgs/development/compilers/llvm/5/lld.nix index 9a47435cf14..bfee91d91bf 100644 --- a/pkgs/development/compilers/llvm/5/lld.nix +++ b/pkgs/development/compilers/llvm/5/lld.nix @@ -6,7 +6,8 @@ }: stdenv.mkDerivation { - name = "lld-${version}"; + pname = "lld"; + inherit version; src = fetch "lld" "1ah75rjly6747jk1zbwca3z0svr9b09ylgxd4x9ns721xir6sia6"; @@ -27,5 +28,6 @@ stdenv.mkDerivation { homepage = http://lld.llvm.org/; license = stdenv.lib.licenses.ncsa; platforms = stdenv.lib.platforms.all; + badPlatforms = [ "x86_64-darwin" ]; }; } diff --git a/pkgs/development/compilers/llvm/5/lldb.nix b/pkgs/development/compilers/llvm/5/lldb.nix index 7be9a7e47b7..cce44c7e50f 100644 --- a/pkgs/development/compilers/llvm/5/lldb.nix +++ b/pkgs/development/compilers/llvm/5/lldb.nix @@ -15,7 +15,8 @@ }: stdenv.mkDerivation { - name = "lldb-${version}"; + pname = "lldb"; + inherit version; src = fetch "lldb" "05j2a63yzln43852nng8a7y47spzlyr1cvdmgmbxgd29c8r0bfkq"; @@ -31,7 +32,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/compilers/llvm/5/llvm.nix b/pkgs/development/compilers/llvm/5/llvm.nix index 9e181a1202b..23b7bf4e246 100644 --- a/pkgs/development/compilers/llvm/5/llvm.nix +++ b/pkgs/development/compilers/llvm/5/llvm.nix @@ -9,23 +9,25 @@ , version , release_version , zlib -, libcxxabi , debugVersion ? false , enableManpages ? false , enableSharedLibraries ? !enableManpages }: let - src = fetch "llvm" "0g1bbj2n6xv4p1n6hh17vj3vpvg56wacipc81dgwga9mg2lys8nm"; + # Used when creating a versioned symlinks of libLLVM.dylib + versionSuffixes = with stdenv.lib; + let parts = splitString "." release_version; in + imap (i: _: concatStringsSep "." (take i parts)) parts; +in - # Used when creating a version-suffixed symlink of libLLVM.dylib - shortVersion = with stdenv.lib; - concatStringsSep "." (take 2 (splitString "." release_version)); -in stdenv.mkDerivation (rec { +stdenv.mkDerivation (rec { name = "llvm-${version}"; + src = fetch "llvm" "0g1bbj2n6xv4p1n6hh17vj3vpvg56wacipc81dgwga9mg2lys8nm"; + unpackPhase = '' - unpackFile ${src} + unpackFile $src mv llvm-${version}* llvm sourceRoot=$PWD/llvm ''; @@ -119,8 +121,9 @@ in stdenv.mkDerivation (rec { substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" \ --replace "\''${_IMPORT_PREFIX}/lib/libLTO.dylib" "$lib/lib/libLTO.dylib" - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib + ${stdenv.lib.concatMapStringsSep "\n" (v: '' + ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib + '') versionSuffixes} ''; doCheck = stdenv.isLinux && (!stdenv.isi686); @@ -129,8 +132,7 @@ in stdenv.mkDerivation (rec { enableParallelBuilding = true; - passthru.src = src; - + requiredSystemFeatures = [ "big-parallel" ]; meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = http://llvm.org/; diff --git a/pkgs/development/compilers/llvm/5/openmp.nix b/pkgs/development/compilers/llvm/5/openmp.nix index 901015bf2ff..559377bcc1b 100644 --- a/pkgs/development/compilers/llvm/5/openmp.nix +++ b/pkgs/development/compilers/llvm/5/openmp.nix @@ -7,7 +7,8 @@ }: stdenv.mkDerivation { - name = "openmp-${version}"; + pname = "openmp"; + inherit version; src = fetch "openmp" "0p2n52676wlq6y9q99n5pivq6pvvda1p994r69fxj206ahn59jir"; diff --git a/pkgs/development/compilers/llvm/6/clang/default.nix b/pkgs/development/compilers/llvm/6/clang/default.nix index 84056749678..ff9064f455e 100644 --- a/pkgs/development/compilers/llvm/6/clang/default.nix +++ b/pkgs/development/compilers/llvm/6/clang/default.nix @@ -8,8 +8,10 @@ let self = stdenv.mkDerivation ({ name = "clang-${version}"; + src = fetch "cfe" "0rxn4rh7rrnsqbdgp4gzc8ishbkryhpl1kd3mpnxzpxxhla3y93w"; + unpackPhase = '' - unpackFile ${fetch "cfe" "0rxn4rh7rrnsqbdgp4gzc8ishbkryhpl1kd3mpnxzpxxhla3y93w"} + unpackFile $src mv cfe-${version}* clang sourceRoot=$PWD/clang unpackFile ${clang-tools-extra_src} diff --git a/pkgs/development/compilers/llvm/6/compiler-rt.nix b/pkgs/development/compilers/llvm/6/compiler-rt.nix index be18a315f12..da2a5cfb58a 100644 --- a/pkgs/development/compilers/llvm/6/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/6/compiler-rt.nix @@ -1,7 +1,7 @@ { stdenv, version, fetch, cmake, python, llvm, libcxxabi }: with stdenv.lib; stdenv.mkDerivation rec { - name = "compiler-rt-${version}"; + pname = "compiler-rt"; inherit version; src = fetch "compiler-rt" "1fcr3jn24yr8lh36nc0c4ikli4744i2q9m1ik67p1jymwwaixkgl"; diff --git a/pkgs/development/compilers/llvm/6/libc++/default.nix b/pkgs/development/compilers/llvm/6/libc++/default.nix index b90b6b7b58c..906baa4ae64 100644 --- a/pkgs/development/compilers/llvm/6/libc++/default.nix +++ b/pkgs/development/compilers/llvm/6/libc++/default.nix @@ -1,7 +1,8 @@ { lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }: stdenv.mkDerivation rec { - name = "libc++-${version}"; + pname = "libc++"; + inherit version; src = fetch "libcxx" "0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n"; @@ -38,11 +39,6 @@ stdenv.mkDerivation rec { linkCxxAbi = stdenv.isLinux; - postInstall = '' - mv $out/lib/libc++.a $out/lib/libc++_static.a - cp ${./libc++.a} $out/lib/libc++.a - ''; - setupHooks = [ ../../../../../build-support/setup-hooks/role.bash ./setup-hook.sh diff --git a/pkgs/development/compilers/llvm/6/libc++/libc++.a b/pkgs/development/compilers/llvm/6/libc++/libc++.a deleted file mode 100644 index f676948115e..00000000000 --- a/pkgs/development/compilers/llvm/6/libc++/libc++.a +++ /dev/null @@ -1 +0,0 @@ -INPUT(-lc++_static -lc++abi) diff --git a/pkgs/development/compilers/llvm/6/libc++abi.nix b/pkgs/development/compilers/llvm/6/libc++abi.nix index df9c784a10f..ac1f4f653e6 100644 --- a/pkgs/development/compilers/llvm/6/libc++abi.nix +++ b/pkgs/development/compilers/llvm/6/libc++abi.nix @@ -1,7 +1,8 @@ { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: stdenv.mkDerivation { - name = "libc++abi-${version}"; + pname = "libc++abi"; + inherit version; src = fetch "libcxxabi" "0prqvdj317qrc8nddaq1hh2ag9algkd9wbkj3y4mr5588k12x7r0"; diff --git a/pkgs/development/compilers/llvm/6/lld.nix b/pkgs/development/compilers/llvm/6/lld.nix index 1e68276945e..58b9b8060fa 100644 --- a/pkgs/development/compilers/llvm/6/lld.nix +++ b/pkgs/development/compilers/llvm/6/lld.nix @@ -7,7 +7,8 @@ }: stdenv.mkDerivation { - name = "lld-${version}"; + pname = "lld"; + inherit version; src = fetch "lld" "04afcfq2h7ysyqxxhyhb7ig4p0vdw7mi63kh8mffl74j0rc781p7"; diff --git a/pkgs/development/compilers/llvm/6/lldb.nix b/pkgs/development/compilers/llvm/6/lldb.nix index d33de248835..d3db8082c96 100644 --- a/pkgs/development/compilers/llvm/6/lldb.nix +++ b/pkgs/development/compilers/llvm/6/lldb.nix @@ -15,7 +15,8 @@ }: stdenv.mkDerivation { - name = "lldb-${version}"; + pname = "lldb"; + inherit version; src = fetch "lldb" "05178zkyh84x32n91md6wm22lkzzrrfwa5cpmgzn0yrg3y2771bb"; @@ -31,7 +32,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/compilers/llvm/6/llvm.nix b/pkgs/development/compilers/llvm/6/llvm.nix index f16f3f72137..e104d051fed 100644 --- a/pkgs/development/compilers/llvm/6/llvm.nix +++ b/pkgs/development/compilers/llvm/6/llvm.nix @@ -14,25 +14,24 @@ , debugVersion ? false , enableManpages ? false , enableSharedLibraries ? true -# Mesa requires AMDGPU target -# BPF is used by bcc -, enableTargets ? [ stdenv.hostPlatform stdenv.targetPlatform "AMDGPU" "BPF" ] }: let inherit (stdenv.lib) optional optionals optionalString; - src = fetch "llvm" "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn"; + # Used when creating a versioned symlinks of libLLVM.dylib + versionSuffixes = with stdenv.lib; + let parts = splitString "." release_version; in + imap (i: _: concatStringsSep "." (take i parts)) parts; +in - # Used when creating a version-suffixed symlink of libLLVM.dylib - shortVersion = with stdenv.lib; - concatStringsSep "." (take 2 (splitString "." release_version)); - -in stdenv.mkDerivation (rec { +stdenv.mkDerivation (rec { name = "llvm-${version}"; + src = fetch "llvm" "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn"; + unpackPhase = '' - unpackFile ${src} + unpackFile $src mv llvm-${version}* llvm sourceRoot=$PWD/llvm ''; @@ -94,7 +93,7 @@ in stdenv.mkDerivation (rec { "-DLLVM_ENABLE_FFI=ON" "-DLLVM_ENABLE_RTTI=ON" "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" - "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}" + "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" "-DLLVM_ENABLE_DUMP=ON" ] ++ optionals enableSharedLibraries [ @@ -136,8 +135,9 @@ in stdenv.mkDerivation (rec { + optionalString (stdenv.isDarwin && enableSharedLibraries) '' substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib + ${stdenv.lib.concatMapStringsSep "\n" (v: '' + ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib + '') versionSuffixes} ''; doCheck = stdenv.isLinux && (!stdenv.isi686); @@ -146,8 +146,6 @@ in stdenv.mkDerivation (rec { enableParallelBuilding = true; - passthru.src = src; - meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = http://llvm.org/; diff --git a/pkgs/development/compilers/llvm/6/openmp.nix b/pkgs/development/compilers/llvm/6/openmp.nix index 908a5f1218f..447904b9ad5 100644 --- a/pkgs/development/compilers/llvm/6/openmp.nix +++ b/pkgs/development/compilers/llvm/6/openmp.nix @@ -7,7 +7,8 @@ }: stdenv.mkDerivation { - name = "openmp-${version}"; + pname = "openmp"; + inherit version; src = fetch "openmp" "0nhwfba9c351r16zgyjyfwdayr98nairky3c2f0b2lc360mwmbv6"; diff --git a/pkgs/development/compilers/llvm/7/bintools.nix b/pkgs/development/compilers/llvm/7/bintools.nix new file mode 100644 index 00000000000..72a2a733193 --- /dev/null +++ b/pkgs/development/compilers/llvm/7/bintools.nix @@ -0,0 +1,19 @@ +{ runCommand, stdenv, llvm, lld, version }: + +let + prefix = + if stdenv.hostPlatform != stdenv.targetPlatform + then "${stdenv.targetPlatform.config}-" + else ""; +in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } '' + mkdir -p $out/bin + for prog in ${lld}/bin/*; do + ln -s $prog $out/bin/${prefix}$(basename $prog) + done + for prog in ${llvm}/bin/*; do + ln -s $prog $out/bin/${prefix}$(echo $(basename $prog) | sed -e "s|llvm-||") + ln -sf $prog $out/bin/${prefix}$(basename $prog) + done + rm -f $out/bin/${prefix}cat + ln -s ${lld}/bin/lld $out/bin/${prefix}ld +'' diff --git a/pkgs/development/compilers/llvm/7/clang/default.nix b/pkgs/development/compilers/llvm/7/clang/default.nix index bc6767e8766..e49c8387f7e 100644 --- a/pkgs/development/compilers/llvm/7/clang/default.nix +++ b/pkgs/development/compilers/llvm/7/clang/default.nix @@ -1,15 +1,17 @@ { stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python , fixDarwinDylibNames , enableManpages ? false +, enablePolly ? false # TODO: get this info from llvm (passthru?) }: let - gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; self = stdenv.mkDerivation ({ name = "clang-${version}"; + src = fetch "cfe" "0vc4i87qwxnw9lci4ayws9spakg0z6w5w670snj9f8g5m9rc8zg9"; + unpackPhase = '' - unpackFile ${fetch "cfe" "067lwggnbg0w1dfrps790r5l6k8n5zwhlsw7zb6zvmfpwpfn4nx4"} + unpackFile $src mv cfe-${version}* clang sourceRoot=$PWD/clang unpackFile ${clang-tools-extra_src} @@ -30,6 +32,9 @@ let "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" + ] ++ stdenv.lib.optionals enablePolly [ + "-DWITH_POLLY=ON" + "-DLINK_POLLY_INTO_TOOLS=ON" ]; patches = [ ./purity.patch ]; @@ -77,8 +82,8 @@ let passthru = { isClang = true; inherit llvm; - } // stdenv.lib.optionalAttrs stdenv.targetPlatform.isLinux { - inherit gcc; + } // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) { + gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; }; meta = { diff --git a/pkgs/development/compilers/llvm/7/compiler-rt-clock_gettime.patch b/pkgs/development/compilers/llvm/7/compiler-rt-clock_gettime.patch deleted file mode 100644 index f9323ed95c0..00000000000 --- a/pkgs/development/compilers/llvm/7/compiler-rt-clock_gettime.patch +++ /dev/null @@ -1,74 +0,0 @@ -commit f00c7bccf7955b7dfbb4859fd9019e9eb3349f2d -Author: Tobias Mayer -Date: Wed Feb 13 12:44:17 2019 +0100 - - Provide clock_gettime for xray on macos < 10.12 - -diff --git a/lib/xray/xray_basic_logging.cc b/lib/xray/xray_basic_logging.cc -index a46c151af..38aea6932 100644 ---- a/lib/xray/xray_basic_logging.cc -+++ b/lib/xray/xray_basic_logging.cc -@@ -36,6 +36,29 @@ - #include "xray_tsc.h" - #include "xray_utils.h" - -+#if __MACH__ -+#include -+#include -+enum clockid_t { -+ CLOCK_MONOTONIC = REALTIME_CLOCK, -+ CLOCK_REALTIME = REALTIME_CLOCK -+}; -+ -+int clock_gettime(clockid_t clock_id, struct timespec *ts) { -+ if (ts != NULL) { -+ clock_serv_t cclock; -+ mach_timespec_t mts; -+ host_get_clock_service(mach_host_self(), clock_id, &cclock); -+ clock_get_time(cclock, &mts); -+ mach_port_deallocate(mach_task_self(), cclock); -+ ts->tv_sec = mts.tv_sec; -+ ts->tv_nsec = mts.tv_nsec; -+ return 0; -+ } -+ return -1; -+} -+#endif -+ - namespace __xray { - - SpinMutex LogMutex; -diff --git a/lib/xray/xray_fdr_logging.cc b/lib/xray/xray_fdr_logging.cc -index 4b308b27f..1d044c8fd 100644 ---- a/lib/xray/xray_fdr_logging.cc -+++ b/lib/xray/xray_fdr_logging.cc -@@ -38,6 +38,29 @@ - #include "xray_tsc.h" - #include "xray_utils.h" - -+#if __MACH__ -+#include -+#include -+enum clockid_t { -+ CLOCK_MONOTONIC = REALTIME_CLOCK, -+ CLOCK_REALTIME = REALTIME_CLOCK -+}; -+ -+int clock_gettime(clockid_t clock_id, struct timespec *ts) { -+ if (ts != NULL) { -+ clock_serv_t cclock; -+ mach_timespec_t mts; -+ host_get_clock_service(mach_host_self(), clock_id, &cclock); -+ clock_get_time(cclock, &mts); -+ mach_port_deallocate(mach_task_self(), cclock); -+ ts->tv_sec = mts.tv_sec; -+ ts->tv_nsec = mts.tv_nsec; -+ return 0; -+ } -+ return -1; -+} -+#endif -+ - namespace __xray { - - atomic_sint32_t LoggingStatus = {XRayLogInitStatus::XRAY_LOG_UNINITIALIZED}; diff --git a/pkgs/development/compilers/llvm/7/compiler-rt.nix b/pkgs/development/compilers/llvm/7/compiler-rt.nix index dff9cb9c49c..e9cc6dfc1db 100644 --- a/pkgs/development/compilers/llvm/7/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/7/compiler-rt.nix @@ -1,22 +1,33 @@ { stdenv, version, fetch, cmake, python, llvm, libcxxabi }: stdenv.mkDerivation rec { - name = "compiler-rt-${version}"; + pname = "compiler-rt"; inherit version; - src = fetch "compiler-rt" "065ybd8fsc4h2hikbdyricj6pyv4r7r7kpcikhb2y5zf370xybkq"; + src = fetch "compiler-rt" "1n48p8gjarihkws0i2bay5w9bdwyxyxxbpwyng7ba58jb30dlyq5"; nativeBuildInputs = [ cmake python llvm ]; buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; - configureFlags = [ + cmakeFlags = [ "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" + "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" + "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" + ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-DCMAKE_C_FLAGS=-nodefaultlibs" + "-DCMAKE_CXX_COMPILER_WORKS=ON" + "-DCOMPILER_RT_BUILD_BUILTINS=ON" + "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" + "-DCOMPILER_RT_BUILD_XRAY=OFF" + "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" + "-DCOMPILER_RT_BUILD_PROFILE=OFF" + "-DCOMPILER_RT_BAREMETAL_BUILD=ON" ]; outputs = [ "out" "dev" ]; patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory - ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch - ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin ./compiler-rt-clock_gettime.patch; + ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./crtbegin-and-end.patch + ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch; # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra @@ -26,11 +37,23 @@ stdenv.mkDerivation rec { postPatch = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' + '' + stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + substituteInPlace lib/builtins/int_util.c \ + --replace "#include " "" + substituteInPlace lib/builtins/clear_cache.c \ + --replace "#include " "" + substituteInPlace lib/builtins/cpu_model.c \ + --replace "#include " "" ''; # Hack around weird upsream RPATH bug postInstall = stdenv.lib.optionalString stdenv.isDarwin '' ln -s "$out/lib"/*/* "$out/lib" + '' + stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o + ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o + ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o + ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o ''; enableParallelBuilding = true; diff --git a/pkgs/development/compilers/llvm/7/crtbegin-and-end.patch b/pkgs/development/compilers/llvm/7/crtbegin-and-end.patch new file mode 100644 index 00000000000..e63be181f95 --- /dev/null +++ b/pkgs/development/compilers/llvm/7/crtbegin-and-end.patch @@ -0,0 +1,595 @@ +Get crtbegin and crtend without compiler GCC! PR is at https://reviews.llvm.org/D28791 + +Index: compiler-rt/CMakeLists.txt +=================================================================== +--- compiler-rt/CMakeLists.txt ++++ compiler-rt/CMakeLists.txt +@@ -29,6 +29,8 @@ + + option(COMPILER_RT_BUILD_BUILTINS "Build builtins" ON) + mark_as_advanced(COMPILER_RT_BUILD_BUILTINS) ++option(COMPILER_RT_BUILD_CRT "Build crtbegin.o/crtend.o" ON) ++mark_as_advanced(COMPILER_RT_BUILD_CRT) + option(COMPILER_RT_BUILD_SANITIZERS "Build sanitizers" ON) + mark_as_advanced(COMPILER_RT_BUILD_SANITIZERS) + option(COMPILER_RT_BUILD_XRAY "Build xray" ON) +Index: compiler-rt/cmake/Modules/AddCompilerRT.cmake +=================================================================== +--- compiler-rt/cmake/Modules/AddCompilerRT.cmake ++++ compiler-rt/cmake/Modules/AddCompilerRT.cmake +@@ -132,7 +132,7 @@ + # Adds static or shared runtime for a list of architectures and operating + # systems and puts it in the proper directory in the build and install trees. + # add_compiler_rt_runtime( +-# {STATIC|SHARED} ++# {OBJECT|STATIC|SHARED} + # ARCHS + # OS + # SOURCES +@@ -144,8 +144,8 @@ + # PARENT_TARGET + # ADDITIONAL_HEADERS
) + function(add_compiler_rt_runtime name type) +- if(NOT type MATCHES "^(STATIC|SHARED)$") +- message(FATAL_ERROR "type argument must be STATIC or SHARED") ++ if(NOT type MATCHES "^(OBJECT|STATIC|SHARED)$") ++ message(FATAL_ERROR "type argument must be OBJECT, STATIC or SHARED") + return() + endif() + cmake_parse_arguments(LIB +@@ -204,7 +204,10 @@ + message(FATAL_ERROR "Architecture ${arch} can't be targeted") + return() + endif() +- if(type STREQUAL "STATIC") ++ if(type STREQUAL "OBJECT") ++ set(libname "${name}-${arch}") ++ set(output_name_${libname} ${libname}${COMPILER_RT_OS_SUFFIX}) ++ elseif(type STREQUAL "STATIC") + set(libname "${name}-${arch}") + set_output_name(output_name_${libname} ${name} ${arch}) + else() +@@ -270,12 +273,34 @@ + set(COMPONENT_OPTION COMPONENT ${libname}) + endif() + +- add_library(${libname} ${type} ${sources_${libname}}) +- set_target_compile_flags(${libname} ${extra_cflags_${libname}}) +- set_target_link_flags(${libname} ${extra_link_flags_${libname}}) +- set_property(TARGET ${libname} APPEND PROPERTY +- COMPILE_DEFINITIONS ${LIB_DEFS}) +- set_target_output_directories(${libname} ${output_dir_${libname}}) ++ if(type STREQUAL "OBJECT") ++ string(TOUPPER ${CMAKE_BUILD_TYPE} config) ++ get_property(cflags SOURCE ${sources_${libname}} PROPERTY COMPILE_FLAGS) ++ separate_arguments(cflags) ++ add_custom_command( ++ OUTPUT ${output_dir_${libname}}/${libname}.o ++ COMMAND ${CMAKE_C_COMPILER} ${sources_${libname}} ${cflags} ${extra_cflags_${libname}} -c -o ${output_dir_${libname}}/${libname}.o ++ DEPENDS ${sources_${libname}} ++ COMMENT "Building C object ${libname}.o") ++ add_custom_target(${libname} DEPENDS ${output_dir_${libname}}/${libname}.o) ++ install(FILES ${output_dir_${libname}}/${libname}.o ++ DESTINATION ${install_dir_${libname}} ++ ${COMPONENT_OPTION}) ++ else() ++ add_library(${libname} ${type} ${sources_${libname}}) ++ set_target_compile_flags(${libname} ${extra_cflags_${libname}}) ++ set_target_link_flags(${libname} ${extra_link_flags_${libname}}) ++ set_property(TARGET ${libname} APPEND PROPERTY ++ COMPILE_DEFINITIONS ${LIB_DEFS}) ++ set_target_output_directories(${libname} ${output_dir_${libname}}) ++ install(TARGETS ${libname} ++ ARCHIVE DESTINATION ${install_dir_${libname}} ++ ${COMPONENT_OPTION} ++ LIBRARY DESTINATION ${install_dir_${libname}} ++ ${COMPONENT_OPTION} ++ RUNTIME DESTINATION ${install_dir_${libname}} ++ ${COMPONENT_OPTION}) ++ endif() + set_target_properties(${libname} PROPERTIES + OUTPUT_NAME ${output_name_${libname}}) + set_target_properties(${libname} PROPERTIES FOLDER "Compiler-RT Runtime") +@@ -299,13 +324,6 @@ + ) + endif() + endif() +- install(TARGETS ${libname} +- ARCHIVE DESTINATION ${install_dir_${libname}} +- ${COMPONENT_OPTION} +- LIBRARY DESTINATION ${install_dir_${libname}} +- ${COMPONENT_OPTION} +- RUNTIME DESTINATION ${install_dir_${libname}} +- ${COMPONENT_OPTION}) + + # We only want to generate per-library install targets if you aren't using + # an IDE because the extra targets get cluttered in IDEs. +Index: compiler-rt/cmake/config-ix.cmake +=================================================================== +--- compiler-rt/cmake/config-ix.cmake ++++ compiler-rt/cmake/config-ix.cmake +@@ -227,6 +227,7 @@ + ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${S390X}) + set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} + ${MIPS32} ${MIPS64} ${PPC64} ${S390X}) ++set(ALL_CRT_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}) + set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64}) + set(ALL_FUZZER_SUPPORTED_ARCH ${X86_64} ${ARM64}) + +@@ -474,6 +475,7 @@ + SANITIZER_COMMON_SUPPORTED_ARCH) + + else() ++ filter_available_targets(CRT_SUPPORTED_ARCH ${ALL_CRT_SUPPORTED_ARCH}) + # Architectures supported by compiler-rt libraries. + filter_available_targets(SANITIZER_COMMON_SUPPORTED_ARCH + ${ALL_SANITIZER_COMMON_SUPPORTED_ARCH}) +@@ -563,6 +565,12 @@ + + # TODO: Add builtins support. + ++if (CRT_SUPPORTED_ARCH AND OS_NAME MATCHES "Linux") ++ set(COMPILER_RT_HAS_CRT TRUE) ++else() ++ set(COMPILER_RT_HAS_CRT FALSE) ++endif() ++ + if (COMPILER_RT_HAS_SANITIZER_COMMON AND DFSAN_SUPPORTED_ARCH AND + OS_NAME MATCHES "Linux") + set(COMPILER_RT_HAS_DFSAN TRUE) +Index: compiler-rt/lib/CMakeLists.txt +=================================================================== +--- compiler-rt/lib/CMakeLists.txt ++++ compiler-rt/lib/CMakeLists.txt +@@ -17,6 +17,10 @@ + add_subdirectory(builtins) + endif() + ++if(COMPILER_RT_BUILD_CRT) ++ add_subdirectory(crt) ++endif() ++ + function(compiler_rt_build_runtime runtime) + string(TOUPPER ${runtime} runtime_uppercase) + if(COMPILER_RT_HAS_${runtime_uppercase}) +Index: compiler-rt/lib/crt/CMakeLists.txt +=================================================================== +--- /dev/null ++++ compiler-rt/lib/crt/CMakeLists.txt +@@ -0,0 +1,102 @@ ++add_compiler_rt_component(crt) ++ ++function(check_cxx_section_exists section output) ++ cmake_parse_arguments(ARG "" "" "SOURCE;FLAGS" ${ARGN}) ++ if(NOT ARG_SOURCE) ++ set(ARG_SOURCE "int main() { return 0; }\n") ++ endif() ++ ++ string(RANDOM TARGET_NAME) ++ set(TARGET_NAME "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cmTC_${TARGET_NAME}.dir") ++ file(MAKE_DIRECTORY ${TARGET_NAME}) ++ ++ file(WRITE "${TARGET_NAME}/CheckSectionExists.c" "${ARG_SOURCE}\n") ++ ++ string(REGEX MATCHALL "<[A-Za-z0-9_]*>" substitutions ++ ${CMAKE_C_COMPILE_OBJECT}) ++ ++ set(try_compile_flags "${ARG_FLAGS}") ++ if(CMAKE_C_COMPILER_ID MATCHES Clang AND CMAKE_C_COMPILER_TARGET) ++ list(APPEND try_compile_flags "-target ${CMAKE_C_COMPILER_TARGET}") ++ endif() ++ ++ string(REPLACE ";" " " extra_flags "${try_compile_flags}") ++ ++ set(test_compile_command "${CMAKE_C_COMPILE_OBJECT}") ++ foreach(substitution ${substitutions}) ++ if(substitution STREQUAL "") ++ string(REPLACE "" ++ "${CMAKE_C_COMPILER}" test_compile_command ${test_compile_command}) ++ elseif(substitution STREQUAL "") ++ string(REPLACE "" "${TARGET_NAME}/CheckSectionExists.o" ++ test_compile_command ${test_compile_command}) ++ elseif(substitution STREQUAL "") ++ string(REPLACE "" "${TARGET_NAME}/CheckSectionExists.c" ++ test_compile_command ${test_compile_command}) ++ elseif(substitution STREQUAL "") ++ string(REPLACE "" "${CMAKE_C_FLAGS} ${extra_flags}" ++ test_compile_command ${test_compile_command}) ++ else() ++ string(REPLACE "${substitution}" "" test_compile_command ++ ${test_compile_command}) ++ endif() ++ endforeach() ++ ++ string(REPLACE " " ";" test_compile_command "${test_compile_command}") ++ ++ execute_process( ++ COMMAND ${test_compile_command} ++ RESULT_VARIABLE TEST_RESULT ++ OUTPUT_VARIABLE TEST_OUTPUT ++ ERROR_VARIABLE TEST_ERROR ++ ) ++ ++ execute_process( ++ COMMAND ${CMAKE_OBJDUMP} -h "${TARGET_NAME}/CheckSectionExists.o" ++ RESULT_VARIABLE CHECK_RESULT ++ OUTPUT_VARIABLE CHECK_OUTPUT ++ ERROR_VARIABLE CHECK_ERROR ++ ) ++ string(FIND "${CHECK_OUTPUT}" "${section}" SECTION_FOUND) ++ ++ if(NOT SECTION_FOUND EQUAL -1) ++ set(${output} TRUE PARENT_SCOPE) ++ else() ++ set(${output} FALSE PARENT_SCOPE) ++ endif() ++ ++ file(REMOVE_RECURSE ${TARGET_NAME}) ++endfunction() ++ ++check_cxx_section_exists(".init_array" COMPILER_RT_HAS_INITFINI_ARRAY ++ SOURCE "__attribute__((constructor)) void f() {}\nint main() { return 0; }\n") ++ ++append_list_if(COMPILER_RT_HAS_INITFINI_ARRAY -DCRT_HAS_INITFINI_ARRAY CRT_CFLAGS) ++append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC CRT_CFLAGS) ++ ++foreach(arch ${CRT_SUPPORTED_ARCH}) ++ add_compiler_rt_runtime(clang_rt.crtbegin ++ OBJECT ++ ARCHS ${arch} ++ SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtbegin.c ++ CFLAGS ${CRT_CFLAGS} ++ PARENT_TARGET crt) ++ add_compiler_rt_runtime(clang_rt.crtbegin_shared ++ OBJECT ++ ARCHS ${arch} ++ SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtbegin.c ++ CFLAGS ${CRT_CFLAGS} -DCRT_SHARED ++ PARENT_TARGET crt) ++ add_compiler_rt_runtime(clang_rt.crtend ++ OBJECT ++ ARCHS ${arch} ++ SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtend.c ++ CFLAGS ${CRT_CFLAGS} ++ PARENT_TARGET crt) ++ add_compiler_rt_runtime(clang_rt.crtend_shared ++ OBJECT ++ ARCHS ${arch} ++ SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtend.c ++ CFLAGS ${CRT_CFLAGS} -DCRT_SHARED ++ PARENT_TARGET crt) ++endforeach() +Index: compiler-rt/lib/crt/crtbegin.c +=================================================================== +--- /dev/null ++++ compiler-rt/lib/crt/crtbegin.c +@@ -0,0 +1,108 @@ ++/* ===-- crtbegin.c - Start of constructors and destructors ----------------=== ++ * ++ * The LLVM Compiler Infrastructure ++ * ++ * This file is dual licensed under the MIT and the University of Illinois Open ++ * Source Licenses. See LICENSE.TXT for details. ++ * ++ * ===----------------------------------------------------------------------=== ++ */ ++ ++#include ++ ++__attribute__((visibility("hidden"))) ++#ifdef CRT_SHARED ++void *__dso_handle = &__dso_handle; ++#else ++void *__dso_handle = (void *)0; ++#endif ++ ++static long __EH_FRAME_LIST__[] ++ __attribute__((section(".eh_frame"), aligned(sizeof(void *)))) = {}; ++ ++extern void __register_frame_info(const void *, void *) __attribute__((weak)); ++extern void *__deregister_frame_info(const void *) __attribute__((weak)); ++ ++#ifndef CRT_HAS_INITFINI_ARRAY ++typedef void (*fp)(void); ++ ++static fp __CTOR_LIST__[] ++ __attribute__((section(".ctors"), aligned(sizeof(fp)), used)) = {(fp)-1}; ++extern fp __CTOR_LIST_END__[]; ++#endif ++ ++#ifdef CRT_SHARED ++extern void __cxa_finalize(void *) __attribute__((weak)); ++#endif ++ ++static void __attribute__((used)) __do_init() { ++ static _Bool __initialized; ++ if (__builtin_expect(__initialized, 0)) ++ return; ++ __initialized = 1; ++ ++ static struct { void *p[8]; } __object; ++ if (__register_frame_info) ++ __register_frame_info(__EH_FRAME_LIST__, &__object); ++ ++#ifndef CRT_HAS_INITFINI_ARRAY ++ const size_t n = __CTOR_LIST_END__ - __CTOR_LIST__ - 1; ++ for (size_t i = n; i >= 1; i--) __CTOR_LIST__[i](); ++#endif ++} ++ ++#ifdef CRT_HAS_INITFINI_ARRAY ++__attribute__((section(".init_array"), ++ used)) static void (*__init)(void) = __do_init; ++#else // CRT_HAS_INITFINI_ARRAY ++#if defined(__i386__) || defined(__x86_64__) ++asm(".pushsection .init,\"ax\",@progbits\n\t" ++ "call " __USER_LABEL_PREFIX__ "__do_init\n\t" ++ ".popsection"); ++#elif defined(__arm__) ++asm(".pushsection .init,\"ax\",%progbits\n\t" ++ "bl " __USER_LABEL_PREFIX__ "__do_init\n\t" ++ ".popsection"); ++#endif // CRT_HAS_INITFINI_ARRAY ++#endif ++ ++#ifndef CRT_HAS_INITFINI_ARRAY ++static fp __DTOR_LIST__[] ++ __attribute__((section(".dtors"), aligned(sizeof(fp)), used)) = {(fp)-1}; ++extern fp __DTOR_LIST_END__[]; ++#endif ++ ++static void __attribute__((used)) __do_fini() { ++ static _Bool __finalized; ++ if (__builtin_expect(__finalized, 0)) ++ return; ++ __finalized = 1; ++ ++#ifdef CRT_SHARED ++ if (__cxa_finalize) ++ __cxa_finalize(__dso_handle); ++#endif ++ ++#ifndef CRT_HAS_INITFINI_ARRAY ++ if (__deregister_frame_info) ++ __deregister_frame_info(__EH_FRAME_LIST__); ++ ++ const size_t n = __DTOR_LIST_END__ - __DTOR_LIST__ - 1; ++ for (size_t i = 1; i < n; i++) __DTOR_LIST__[i](); ++#endif ++} ++ ++#ifdef CRT_HAS_INITFINI_ARRAY ++__attribute__((section(".fini_array"), ++ used)) static void (*__fini)(void) = __do_fini; ++#else // CRT_HAS_INITFINI_ARRAY ++#if defined(__i386__) || defined(__x86_64__) ++asm(".pushsection .fini,\"ax\",@progbits\n\t" ++ "call " __USER_LABEL_PREFIX__ "__do_fini\n\t" ++ ".popsection"); ++#elif defined(__arm__) ++asm(".pushsection .fini,\"ax\",%progbits\n\t" ++ "bl " __USER_LABEL_PREFIX__ "__do_fini\n\t" ++ ".popsection"); ++#endif ++#endif // CRT_HAS_INIT_FINI_ARRAY +Index: compiler-rt/lib/crt/crtend.c +=================================================================== +--- /dev/null ++++ compiler-rt/lib/crt/crtend.c +@@ -0,0 +1,24 @@ ++/* ===-- crtend.c - End of constructors and destructors --------------------=== ++ * ++ * The LLVM Compiler Infrastructure ++ * ++ * This file is dual licensed under the MIT and the University of Illinois Open ++ * Source Licenses. See LICENSE.TXT for details. ++ * ++ * ===----------------------------------------------------------------------=== ++ */ ++ ++#include ++ ++// Put 4-byte zero which is the length field in FDE at the end as a terminator. ++const int32_t __EH_FRAME_LIST_END__[] ++ __attribute__((section(".eh_frame"), aligned(sizeof(int32_t)), ++ visibility("hidden"), used)) = {0}; ++ ++#ifndef CRT_HAS_INITFINI_ARRAY ++typedef void (*fp)(void); ++fp __CTOR_LIST_END__[] ++ __attribute__((section(".ctors"), visibility("hidden"), used)) = {0}; ++fp __DTOR_LIST_END__[] ++ __attribute__((section(".dtors"), visibility("hidden"), used)) = {0}; ++#endif +Index: compiler-rt/test/CMakeLists.txt +=================================================================== +--- compiler-rt/test/CMakeLists.txt ++++ compiler-rt/test/CMakeLists.txt +@@ -73,6 +73,9 @@ + if(COMPILER_RT_BUILD_XRAY) + compiler_rt_test_runtime(xray) + endif() ++ if(COMPILER_RT_HAS_CRT) ++ add_subdirectory(crt) ++ endif() + # ShadowCallStack does not yet provide a runtime with compiler-rt, the tests + # include their own minimal runtime + add_subdirectory(shadowcallstack) +Index: compiler-rt/test/crt/CMakeLists.txt +=================================================================== +--- /dev/null ++++ compiler-rt/test/crt/CMakeLists.txt +@@ -0,0 +1,31 @@ ++set(CRT_LIT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) ++ ++set(CRT_TESTSUITES) ++ ++set(CRT_TEST_DEPS "") ++ ++if(NOT COMPILER_RT_STANDALONE_BUILD AND COMPILER_RT_BUILD_CRT AND ++ COMPILER_RT_HAS_CRT) ++ list(APPEND CRT_TEST_DEPS crt) ++endif() ++ ++set(CRT_TEST_ARCH ${CRT_SUPPORTED_ARCH}) ++if (COMPILER_RT_BUILD_CRT AND COMPILER_RT_HAS_CRT) ++ foreach(arch ${CRT_TEST_ARCH}) ++ set(CRT_TEST_TARGET_ARCH ${arch}) ++ string(TOLOWER "-${arch}-${OS_NAME}" CRT_TEST_CONFIG_SUFFIX) ++ get_test_cc_for_arch(${arch} CRT_TEST_TARGET_CC CRT_TEST_TARGET_CFLAGS) ++ string(TOUPPER ${arch} ARCH_UPPER_CASE) ++ set(CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME}Config) ++ ++ configure_lit_site_cfg( ++ ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in ++ ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg) ++ list(APPEND CRT_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}) ++ endforeach() ++endif() ++ ++add_lit_testsuite(check-crt "Running the CRT tests" ++ ${CRT_TESTSUITES} ++ DEPENDS ${CRT_TEST_DEPS}) ++set_target_properties(check-crt PROPERTIES FOLDER "Compiler-RT Misc") +Index: compiler-rt/test/crt/dso_handle.cpp +=================================================================== +--- /dev/null ++++ compiler-rt/test/crt/dso_handle.cpp +@@ -0,0 +1,33 @@ ++// RUN: %clangxx -g -DCRT_SHARED -c %s -fPIC -o %tshared.o ++// RUN: %clangxx -g -c %s -fPIC -o %t.o ++// RUN: %clangxx -g -shared -o %t.so -nostdlib %crti %shared_crtbegin %tshared.o %libstdcxx -lc -lm -lgcc_s %shared_crtend %crtn ++// RUN: %clangxx -g -o %t -nostdlib %crt1 %crti %crtbegin %t.o %libstdcxx -lc -lm %libgcc %t.so %crtend %crtn ++// RUN: %run %t 2>&1 | FileCheck %s ++ ++#include ++ ++// CHECK: 1 ++// CHECK-NEXT: ~A() ++ ++#ifdef CRT_SHARED ++bool G; ++void C() { ++ printf("%d\n", G); ++} ++ ++struct A { ++ A() { G = true; } ++ ~A() { ++ printf("~A()\n"); ++ } ++}; ++ ++A a; ++#else ++void C(); ++ ++int main() { ++ C(); ++ return 0; ++} ++#endif +Index: compiler-rt/test/crt/lit.cfg +=================================================================== +--- /dev/null ++++ compiler-rt/test/crt/lit.cfg +@@ -0,0 +1,80 @@ ++# -*- Python -*- ++ ++import os ++import subprocess ++ ++# Setup config name. ++config.name = 'CRT' + config.name_suffix ++ ++# Setup source root. ++config.test_source_root = os.path.dirname(__file__) ++ ++ ++def get_library_path(file): ++ cmd = subprocess.Popen([config.clang.strip(), ++ config.target_cflags.strip(), ++ '-print-file-name=%s' % file], ++ stdout=subprocess.PIPE, ++ env=config.environment) ++ if not cmd.stdout: ++ lit_config.fatal("Couldn't find the library path for '%s'" % file) ++ dir = cmd.stdout.read().strip() ++ if sys.platform in ['win32'] and execute_external: ++ # Don't pass dosish path separator to msys bash.exe. ++ dir = dir.replace('\\', '/') ++ # Ensure the result is an ascii string, across Python2.5+ - Python3. ++ return str(dir.decode('ascii')) ++ ++ ++def get_libgcc_file_name(): ++ cmd = subprocess.Popen([config.clang.strip(), ++ config.target_cflags.strip(), ++ '-print-libgcc-file-name'], ++ stdout=subprocess.PIPE, ++ env=config.environment) ++ if not cmd.stdout: ++ lit_config.fatal("Couldn't find the library path for '%s'" % file) ++ dir = cmd.stdout.read().strip() ++ if sys.platform in ['win32'] and execute_external: ++ # Don't pass dosish path separator to msys bash.exe. ++ dir = dir.replace('\\', '/') ++ # Ensure the result is an ascii string, across Python2.5+ - Python3. ++ return str(dir.decode('ascii')) ++ ++ ++def build_invocation(compile_flags): ++ return ' ' + ' '.join([config.clang] + compile_flags) + ' ' ++ ++ ++# Setup substitutions. ++config.substitutions.append( ++ ('%clang ', build_invocation([config.target_cflags]))) ++config.substitutions.append( ++ ('%clangxx ', ++ build_invocation(config.cxx_mode_flags + [config.target_cflags]))) ++ ++base_lib = os.path.join( ++ config.compiler_rt_libdir, "clang_rt.%%s-%s.o" % config.target_arch) ++config.substitutions.append(('%crtbegin', base_lib % "crtbegin")) ++config.substitutions.append(('%shared_crtbegin', base_lib % "crtbegin_shared")) ++config.substitutions.append(('%crtend', base_lib % "crtend")) ++config.substitutions.append(('%shared_crtend', base_lib % "crtend_shared")) ++ ++config.substitutions.append( ++ ('%crt1', get_library_path('crt1.o'))) ++config.substitutions.append( ++ ('%crti', get_library_path('crti.o'))) ++config.substitutions.append( ++ ('%crtn', get_library_path('crtn.o'))) ++ ++config.substitutions.append( ++ ('%libgcc', get_libgcc_file_name())) ++ ++config.substitutions.append( ++ ('%libstdcxx', '-l' + config.sanitizer_cxx_lib.lstrip('lib'))) ++ ++# Default test suffixes. ++config.suffixes = ['.c', '.cc', '.cpp'] ++ ++if config.host_os not in ['Linux']: ++ config.unsupported = True +Index: compiler-rt/test/crt/lit.site.cfg.in +=================================================================== +--- /dev/null ++++ compiler-rt/test/crt/lit.site.cfg.in +@@ -0,0 +1,14 @@ ++@LIT_SITE_CFG_IN_HEADER@ ++ ++# Tool-specific config options. ++config.name_suffix = "@CRT_TEST_CONFIG_SUFFIX@" ++config.crt_lit_source_dir = "@CRT_LIT_SOURCE_DIR@" ++config.target_cflags = "@CRT_TEST_TARGET_CFLAGS@" ++config.target_arch = "@CRT_TEST_TARGET_ARCH@" ++config.sanitizer_cxx_lib = "@SANITIZER_TEST_CXX_LIBNAME@" ++ ++# Load common config for all compiler-rt lit tests ++lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured") ++ ++# Load tool-specific config that would do the real work. ++lit_config.load_config(config, "@CRT_LIT_SOURCE_DIR@/lit.cfg") diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix index 3f1192d9626..7f99cc9ae2c 100644 --- a/pkgs/development/compilers/llvm/7/default.nix +++ b/pkgs/development/compilers/llvm/7/default.nix @@ -1,11 +1,11 @@ { lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook -, libxml2, python, isl, fetchurl, overrideCC, wrapCCWith +, libxml2, python, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross }: let - release_version = "7.0.1"; + release_version = "7.1.0"; version = release_version; # differentiating these is important for rc's fetch = name: sha256: fetchurl { @@ -13,7 +13,7 @@ let inherit sha256; }; - clang-tools-extra_src = fetch "clang-tools-extra" "1v9vc7id1761qm7mywlknsp810232iwyz8rd4y5km4h7pg9cg4sc"; + clang-tools-extra_src = fetch "clang-tools-extra" "0lb4kdh7j2fhfz8kd6iv5df7m3pikiryk1vvwsf87spc90n09q0w"; tools = stdenv.lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python isl release_version version fetch; }); @@ -23,16 +23,22 @@ let ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString stdenv.targetPlatform.isLinux '' + '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc) '' echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags ''; in { llvm = callPackage ./llvm.nix { }; + llvm-polly = callPackage ./llvm.nix { enablePolly = true; }; clang-unwrapped = callPackage ./clang { inherit clang-tools-extra_src; }; + clang-polly-unwrapped = callPackage ./clang { + inherit clang-tools-extra_src; + llvm = tools.llvm-polly; + enablePolly = true; + }; llvm-manpages = lowPrio (tools.llvm.override { enableManpages = true; @@ -71,13 +77,63 @@ let lld = callPackage ./lld.nix {}; lldb = callPackage ./lldb.nix {}; + + bintools = callPackage ./bintools.nix {}; + + lldClang = wrapCCWith rec { + cc = tools.clang-unwrapped; + bintools = wrapBintoolsWith { + inherit (tools) bintools; + }; + extraPackages = [ + # targetLlvmLibraries.libcxx + # targetLlvmLibraries.libcxxabi + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = '' + echo "-target ${stdenv.targetPlatform.config} -rtlib=compiler-rt" >> $out/nix-support/cc-cflags + '' + mkExtraBuildCommands cc; + }; + + lldClangNoLibc = wrapCCWith rec { + cc = tools.clang-unwrapped; + bintools = wrapBintoolsWith { + inherit (tools) bintools; + libc = null; + }; + extraPackages = [ + # targetLlvmLibraries.libcxx + # targetLlvmLibraries.libcxxabi + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = '' + echo "-target ${stdenv.targetPlatform.config} -rtlib=compiler-rt" >> $out/nix-support/cc-cflags + '' + mkExtraBuildCommands cc; + }; + + lldClangNoCompilerRt = wrapCCWith rec { + cc = tools.clang-unwrapped; + bintools = wrapBintoolsWith { + inherit (tools) bintools; + libc = null; + }; + extraPackages = [ ]; + extraBuildCommands = '' + echo "-nostartfiles -target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags + ''; + }; + }); libraries = stdenv.lib.makeExtensible (libraries: let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python isl release_version version fetch; }); in { - compiler-rt = callPackage ./compiler-rt.nix {}; + compiler-rt = callPackage ./compiler-rt.nix { + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt + else stdenv; + }; stdenv = overrideCC stdenv buildLlvmTools.clang; diff --git a/pkgs/development/compilers/llvm/7/libc++/default.nix b/pkgs/development/compilers/llvm/7/libc++/default.nix index 8a13f3eb590..fc9e3714db0 100644 --- a/pkgs/development/compilers/llvm/7/libc++/default.nix +++ b/pkgs/development/compilers/llvm/7/libc++/default.nix @@ -1,9 +1,10 @@ { lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }: stdenv.mkDerivation rec { - name = "libc++-${version}"; + pname = "libc++"; + inherit version; - src = fetch "libcxx" "1wdrxg365ig0kngx52pd0n820sncp24blb0zpalc579iidhh4002"; + src = fetch "libcxx" "0kmhcapm2cjwalyiqasj9dmqbw59mcwdl8fgl951wg7ax84b8hj4"; postUnpack = '' unpackFile ${libcxxabi.src} @@ -36,11 +37,6 @@ stdenv.mkDerivation rec { linkCxxAbi = stdenv.isLinux; - postInstall = '' - mv $out/lib/libc++.a $out/lib/libc++_static.a - cp ${./libc++.a} $out/lib/libc++.a - ''; - setupHooks = [ ../../../../../build-support/setup-hooks/role.bash ./setup-hook.sh diff --git a/pkgs/development/compilers/llvm/7/libc++/libc++.a b/pkgs/development/compilers/llvm/7/libc++/libc++.a deleted file mode 100644 index f676948115e..00000000000 --- a/pkgs/development/compilers/llvm/7/libc++/libc++.a +++ /dev/null @@ -1 +0,0 @@ -INPUT(-lc++_static -lc++abi) diff --git a/pkgs/development/compilers/llvm/7/libc++abi.nix b/pkgs/development/compilers/llvm/7/libc++abi.nix index b65b75b3688..b5e6e0e7048 100644 --- a/pkgs/development/compilers/llvm/7/libc++abi.nix +++ b/pkgs/development/compilers/llvm/7/libc++abi.nix @@ -1,9 +1,10 @@ { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: stdenv.mkDerivation { - name = "libc++abi-${version}"; + pname = "libc++abi"; + inherit version; - src = fetch "libcxxabi" "1n6yx0949l9bprh75dffchahn8wplkm79ffk4f2ap9vw2lx90s41"; + src = fetch "libcxxabi" "1zcqxsdjhawgz1cvpk07y3jl6fg9p3ay4nl69zsirqb2ghgyhhb2"; nativeBuildInputs = [ cmake ]; buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; diff --git a/pkgs/development/compilers/llvm/7/lld.nix b/pkgs/development/compilers/llvm/7/lld.nix index 33085eb3c80..823e9640cf4 100644 --- a/pkgs/development/compilers/llvm/7/lld.nix +++ b/pkgs/development/compilers/llvm/7/lld.nix @@ -7,9 +7,10 @@ }: stdenv.mkDerivation { - name = "lld-${version}"; + pname = "lld"; + inherit version; - src = fetch "lld" "0ca0qygrk87lhjk6cpv1wbmdfnficqqjsda3k7b013idvnralsc8"; + src = fetch "lld" "0rsqb7zcnij5r5ipfhr129j7skr5n9pyr388kjpqwh091952f3x1"; nativeBuildInputs = [ cmake ]; buildInputs = [ llvm libxml2 ]; diff --git a/pkgs/development/compilers/llvm/7/lldb.nix b/pkgs/development/compilers/llvm/7/lldb.nix index 14cc0514fe6..44687ead4d1 100644 --- a/pkgs/development/compilers/llvm/7/lldb.nix +++ b/pkgs/development/compilers/llvm/7/lldb.nix @@ -9,15 +9,22 @@ , libxml2 , llvm , clang-unwrapped +, perl , python , version , darwin }: stdenv.mkDerivation { - name = "lldb-${version}"; + pname = "lldb"; + inherit version; + + src = fetch "lldb" "0klsscg1sczc4nw2l53xggi969k361cng2sjjrfp3bv4g5x14s4v"; + + nativeBuildInputs = [ cmake perl python which swig ]; + buildInputs = [ ncurses zlib libedit libxml2 llvm ] + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; - src = fetch "lldb" "10k9lyk3i72j9hca523r9pz79qp7d8q7jqnjy0i3saj1bgknpd3n"; postPatch = '' # Fix up various paths that assume llvm and clang are installed in the same place @@ -27,18 +34,23 @@ stdenv.mkDerivation { cmake/modules/LLDBStandalone.cmake sed -i 's,"$.LLVM_LIBRARY_DIR.",${llvm}/lib ${clang-unwrapped}/lib,' \ cmake/modules/LLDBStandalone.cmake + sed -i -e 's,message(SEND_ERROR "Cannot find debugserver on system."),,' \ + -e 's,string(STRIP ''${XCODE_DEV_DIR} XCODE_DEV_DIR),,' \ + tools/debugserver/source/CMakeLists.txt + + # Fix /usr/bin references for sandboxed builds. + patchShebangs scripts ''; - nativeBuildInputs = [ cmake python which swig ]; - buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ]; + cmakeFlags = [ + "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic + "-DSKIP_DEBUGSERVER=ON" + ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; - cmakeFlags = [ - "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic - ]; + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-I${libxml2.dev}/include/libxml2"; enableParallelBuilding = true; diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix index 5bb629931fd..a9caa88141a 100644 --- a/pkgs/development/compilers/llvm/7/llvm.nix +++ b/pkgs/development/compilers/llvm/7/llvm.nix @@ -15,25 +15,33 @@ , debugVersion ? false , enableManpages ? false , enableSharedLibraries ? true -, enablePFM ? !stdenv.isDarwin +, enablePFM ? !(stdenv.isDarwin + || stdenv.isAarch64 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 + ) +, enablePolly ? false }: let inherit (stdenv.lib) optional optionals optionalString; - src = fetch "llvm" "16s196wqzdw4pmri15hadzqgdi926zln3an2viwyq0kini6zr3d3"; - - # Used when creating a version-suffixed symlink of libLLVM.dylib - shortVersion = with stdenv.lib; - concatStringsSep "." (take 1 (splitString "." release_version)); + # Used when creating a versioned symlinks of libLLVM.dylib + versionSuffixes = with stdenv.lib; + let parts = splitString "." release_version; in + imap (i: _: concatStringsSep "." (take i parts)) parts; in stdenv.mkDerivation (rec { name = "llvm-${version}"; + src = fetch "llvm" "0r1p5didv4rkgxyvbkyz671xddg6i3dxvbpsi1xxipkla0l9pk0v"; + polly_src = fetch "polly" "16qkns4ab4x0azrvhy4j7cncbyb2rrbdrqj87zphvqxm5pvm8m1h"; + unpackPhase = '' - unpackFile ${src} + unpackFile $src mv llvm-${version}* llvm sourceRoot=$PWD/llvm + '' + optionalString enablePolly '' + unpackFile $polly_src + mv polly-* $sourceRoot/tools/polly ''; outputs = [ "out" "python" ] @@ -48,12 +56,6 @@ in stdenv.mkDerivation (rec { propagatedBuildInputs = [ ncurses zlib ]; patches = [ - # https://bugs.llvm.org/show_bug.cgi?id=39427 - # https://github.com/NixOS/nixpkgs/issues/54370 - (fetchpatch { - url = "https://github.com/llvm-mirror/llvm/commit/57567def148f387153a8149fb590bd39b1b006a1.patch"; - sha256 = "1w1xg5pxpc6cals1nf5j5k4p6qi8lcrpvn0paxc86m415i79xmcg"; - }) # backport, fix building rust crates with lto (fetchpatch { url = "https://github.com/llvm-mirror/llvm/commit/da1fb72bb305d6bc1f3899d541414146934bf80f.patch"; @@ -84,6 +86,14 @@ in stdenv.mkDerivation (rec { substituteInPlace unittests/Support/CMakeLists.txt \ --replace "add_subdirectory(DynamicLibrary)" "" rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp + '' + optionalString stdenv.hostPlatform.isAarch32 '' + # skip failing X86 test cases on armv7l + rm test/DebugInfo/X86/debug_addr.ll + rm test/tools/llvm-dwarfdump/X86/debug_addr.s + rm test/tools/llvm-dwarfdump/X86/debug_addr_address_size_mismatch.s + rm test/tools/llvm-dwarfdump/X86/debug_addr_dwarf4.s + rm test/tools/llvm-dwarfdump/X86/debug_addr_unsupported_version.s + rm test/tools/llvm-dwarfdump/X86/debug_addr_version_mismatch.s '' + '' patchShebangs test/BugPoint/compile-custom.ll.py ''; @@ -101,7 +111,7 @@ in stdenv.mkDerivation (rec { "-DLLVM_ENABLE_FFI=ON" "-DLLVM_ENABLE_RTTI=ON" "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" - "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}" + "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" "-DLLVM_ENABLE_DUMP=ON" ] ++ optionals enableSharedLibraries [ @@ -143,8 +153,9 @@ in stdenv.mkDerivation (rec { + optionalString (stdenv.isDarwin && enableSharedLibraries) '' substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib + ${stdenv.lib.concatMapStringsSep "\n" (v: '' + ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib + '') versionSuffixes} ''; doCheck = stdenv.isLinux && (!stdenv.isx86_32); @@ -153,8 +164,6 @@ in stdenv.mkDerivation (rec { enableParallelBuilding = true; - passthru.src = src; - meta = { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = http://llvm.org/; diff --git a/pkgs/development/compilers/llvm/7/openmp.nix b/pkgs/development/compilers/llvm/7/openmp.nix index fb856eaa51f..7adc2aa588e 100644 --- a/pkgs/development/compilers/llvm/7/openmp.nix +++ b/pkgs/development/compilers/llvm/7/openmp.nix @@ -7,9 +7,10 @@ }: stdenv.mkDerivation { - name = "openmp-${version}"; + pname = "openmp"; + inherit version; - src = fetch "openmp" "030dkg5cypd7j9hq0mcqb5gs31lxwmzfq52j81l7v9ldcy5bf5mz"; + src = fetch "openmp" "1dg53wzsci2kra8lh1y0chh60h2l8h1by93br5spzvzlxshkmrqy"; nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; diff --git a/pkgs/development/compilers/llvm/8/bintools.nix b/pkgs/development/compilers/llvm/8/bintools.nix new file mode 100644 index 00000000000..72a2a733193 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/bintools.nix @@ -0,0 +1,19 @@ +{ runCommand, stdenv, llvm, lld, version }: + +let + prefix = + if stdenv.hostPlatform != stdenv.targetPlatform + then "${stdenv.targetPlatform.config}-" + else ""; +in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } '' + mkdir -p $out/bin + for prog in ${lld}/bin/*; do + ln -s $prog $out/bin/${prefix}$(basename $prog) + done + for prog in ${llvm}/bin/*; do + ln -s $prog $out/bin/${prefix}$(echo $(basename $prog) | sed -e "s|llvm-||") + ln -sf $prog $out/bin/${prefix}$(basename $prog) + done + rm -f $out/bin/${prefix}cat + ln -s ${lld}/bin/lld $out/bin/${prefix}ld +'' diff --git a/pkgs/development/compilers/llvm/8/clang/clang-xpc.patch b/pkgs/development/compilers/llvm/8/clang/clang-xpc.patch new file mode 100644 index 00000000000..eb57d345822 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/clang/clang-xpc.patch @@ -0,0 +1,41 @@ +From 61c9b97d7b81cc2c013b423bf1763a92b14fcae3 Mon Sep 17 00:00:00 2001 +From: Jan Korous +Date: Tue, 26 Mar 2019 03:48:25 +0000 +Subject: [PATCH] [clangd][xpc][cmake] Respect explicit value of + CLANGD_BUILD_XPC + +We shouldn't prevent user from disabling XPC framework build on Darwin. +However, by keeping it on by default our CI systems also test +it by default on macOS. + +Based on user request: +http://lists.llvm.org/pipermail/cfe-dev/2019-March/061778.html + +Differential Revision: https://reviews.llvm.org/D59808 + +git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@356974 91177308-0d34-0410-b5e6-96231b3b80d8 +--- + CMakeLists.txt | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 66ebeaeeaa..514b17fb3c 100644 +--- a/tools/extra/CMakeLists.txt ++++ b/tools/extra/CMakeLists.txt +@@ -1,6 +1,13 @@ +-option(CLANGD_BUILD_XPC "Build XPC Support For Clangd." OFF) +-if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") +- set(CLANGD_BUILD_XPC ON CACHE BOOL "" FORCE) ++if (NOT DEFINED CLANGD_BUILD_XPC) ++ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") ++ set(CLANGD_BUILD_XPC_DEFAULT ON) ++ else () ++ set(CLANGD_BUILD_XPC_DEFAULT OFF) ++ endif () ++ ++ set(CLANGD_BUILD_XPC ${CLANGD_BUILD_XPC_DEFAULT} CACHE BOOL "Build XPC Support For Clangd." FORCE) ++ ++ unset(CLANGD_BUILD_XPC_DEFAULT) + endif () + + add_subdirectory(clang-apply-replacements) \ No newline at end of file diff --git a/pkgs/development/compilers/llvm/8/clang/compiler-rt-baremetal.patch b/pkgs/development/compilers/llvm/8/clang/compiler-rt-baremetal.patch new file mode 100644 index 00000000000..a4a0f21b0fc --- /dev/null +++ b/pkgs/development/compilers/llvm/8/clang/compiler-rt-baremetal.patch @@ -0,0 +1,53 @@ +Index: lib/Driver/ToolChains/BareMetal.cpp +=================================================================== +--- a/lib/Driver/ToolChains/BareMetal.cpp ++++ b/lib/Driver/ToolChains/BareMetal.cpp +@@ -157,7 +157,7 @@ + void BareMetal::AddLinkRuntimeLib(const ArgList &Args, + ArgStringList &CmdArgs) const { + CmdArgs.push_back(Args.MakeArgString("-lclang_rt.builtins-" + +- getTriple().getArchName() + ".a")); ++ getTriple().getArchName())); + } + + void baremetal::Linker::ConstructJob(Compilation &C, const JobAction &JA, +Index: test/Driver/baremetal.cpp +=================================================================== +--- a/test/Driver/baremetal.cpp ++++ b/test/Driver/baremetal.cpp +@@ -13,7 +13,7 @@ + // CHECK-V6M-C-NEXT: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" + // CHECK-V6M-C-SAME: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}baremetal" + // CHECK-V6M-C-SAME: "-T" "semihosted.lds" "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for" +-// CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a" ++// CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m" + // CHECK-V6M-C-SAME: "-o" "{{.*}}.o" + + // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +@@ -35,7 +35,7 @@ + // CHECK-V6M-DEFAULTCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" + // CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" + // CHECK-V6M-DEFAULTCXX-SAME: "-lc++" "-lc++abi" "-lunwind" +-// CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a" ++// CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m" + // CHECK-V6M-DEFAULTCXX-SAME: "-o" "{{.*}}.o" + + // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +@@ -48,7 +48,7 @@ + // CHECK-V6M-LIBCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" + // CHECK-V6M-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" + // CHECK-V6M-LIBCXX-SAME: "-lc++" "-lc++abi" "-lunwind" +-// CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a" ++// CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m" + // CHECK-V6M-LIBCXX-SAME: "-o" "{{.*}}.o" + + // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +@@ -61,7 +61,7 @@ + // CHECK-V6M-LIBSTDCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic" + // CHECK-V6M-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal" + // CHECK-V6M-LIBSTDCXX-SAME: "-lstdc++" "-lsupc++" "-lunwind" +-// CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a" ++// CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m" + // CHECK-V6M-LIBSTDCXX-SAME: "-o" "{{.*}}.o" + + // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \ diff --git a/pkgs/development/compilers/llvm/8/clang/default.nix b/pkgs/development/compilers/llvm/8/clang/default.nix new file mode 100644 index 00000000000..6911089250e --- /dev/null +++ b/pkgs/development/compilers/llvm/8/clang/default.nix @@ -0,0 +1,126 @@ +{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python +, fixDarwinDylibNames +, enableManpages ? false +, enablePolly ? false # TODO: get this info from llvm (passthru?) +}: + +let + self = stdenv.mkDerivation ({ + name = "clang-${version}"; + + src = fetch "cfe" "0ihnbdl058gvl2wdy45p5am55bq8ifx8m9mhcsgj9ax8yxlzvvvh"; + + unpackPhase = '' + unpackFile $src + mv cfe-${version}* clang + sourceRoot=$PWD/clang + unpackFile ${clang-tools-extra_src} + mv clang-tools-extra-* $sourceRoot/tools/extra + ''; + + nativeBuildInputs = [ cmake python ] + ++ stdenv.lib.optional enableManpages python.pkgs.sphinx; + + buildInputs = [ libxml2 llvm ] + ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; + + cmakeFlags = [ + "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DCLANGD_BUILD_XPC=OFF" + ] ++ stdenv.lib.optionals enableManpages [ + "-DCLANG_INCLUDE_DOCS=ON" + "-DLLVM_ENABLE_SPHINX=ON" + "-DSPHINX_OUTPUT_MAN=ON" + "-DSPHINX_OUTPUT_HTML=OFF" + "-DSPHINX_WARNINGS_AS_ERRORS=OFF" + ] ++ stdenv.lib.optionals enablePolly [ + "-DWITH_POLLY=ON" + "-DLINK_POLLY_INTO_TOOLS=ON" + ]; + + patches = [ + ./purity.patch + ./clang-xpc.patch + # Backport for -static-pie, which the latter touches, and which is nice in + # its own right. + ./static-pie.patch + # Backport for the `--unwindlib=[libgcc|compiler-rt]` flag, which is + # needed for our bootstrapping to not interfere with C. + ./unwindlib.patch + # https://reviews.llvm.org/D51899 + ./compiler-rt-baremetal.patch + ]; + + postPatch = '' + sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \ + -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \ + lib/Driver/ToolChains/*.cpp + + # Patch for standalone doc building + sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt + '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp + '' + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace tools/extra/clangd/CMakeLists.txt \ + --replace "NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB" FALSE + ''; + + outputs = [ "out" "lib" "python" ]; + + # Clang expects to find LLVMgold in its own prefix + postInstall = '' + if [ -e ${llvm}/lib/LLVMgold.so ]; then + ln -sv ${llvm}/lib/LLVMgold.so $out/lib + fi + + ln -sv $out/bin/clang $out/bin/cpp + + # Move libclang to 'lib' output + moveToOutput "lib/libclang.*" "$lib" + substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \ + --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." + + mkdir -p $python/bin $python/share/clang/ + mv $out/bin/{git-clang-format,scan-view} $python/bin + if [ -e $out/bin/set-xcode-analyzer ]; then + mv $out/bin/set-xcode-analyzer $python/bin + fi + mv $out/share/clang/*.py $python/share/clang + rm $out/bin/c-index-test + ''; + + enableParallelBuilding = true; + + passthru = { + isClang = true; + inherit llvm; + } // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) { + gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; + }; + + meta = { + description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.ncsa; + platforms = stdenv.lib.platforms.all; + }; + } // stdenv.lib.optionalAttrs enableManpages { + name = "clang-manpages-${version}"; + + buildPhase = '' + make docs-clang-man + ''; + + installPhase = '' + mkdir -p $out/share/man/man1 + # Manually install clang manpage + cp docs/man/*.1 $out/share/man/man1/ + ''; + + outputs = [ "out" ]; + + doCheck = false; + + meta.description = "man page for Clang ${version}"; + }); +in self diff --git a/pkgs/development/compilers/llvm/8/clang/purity.patch b/pkgs/development/compilers/llvm/8/clang/purity.patch new file mode 100644 index 00000000000..b30d0d0b5d5 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/clang/purity.patch @@ -0,0 +1,30 @@ +From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001 +From: Will Dietz +Date: Thu, 18 May 2017 11:56:12 -0500 +Subject: [PATCH] "purity" patch for 5.0 + +--- + lib/Driver/ToolChains/Gnu.cpp | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp +index fe3c0191bb..c6a482bece 100644 +--- a/lib/Driver/ToolChains/Gnu.cpp ++++ b/lib/Driver/ToolChains/Gnu.cpp +@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, + if (!Args.hasArg(options::OPT_static)) { + if (Args.hasArg(options::OPT_rdynamic)) + CmdArgs.push_back("-export-dynamic"); +- +- if (!Args.hasArg(options::OPT_shared)) { +- const std::string Loader = +- D.DyldPrefix + ToolChain.getDynamicLinker(Args); +- CmdArgs.push_back("-dynamic-linker"); +- CmdArgs.push_back(Args.MakeArgString(Loader)); +- } + } + + CmdArgs.push_back("-o"); +-- +2.11.0 + diff --git a/pkgs/development/compilers/llvm/8/clang/static-pie.patch b/pkgs/development/compilers/llvm/8/clang/static-pie.patch new file mode 100644 index 00000000000..d1f86a16232 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/clang/static-pie.patch @@ -0,0 +1,157 @@ +commit 7a9842bc92921e79b84630045276861be90b2d47 +Author: Siva Chandra +Date: Wed Feb 20 19:07:04 2019 +0000 + + [Clang Driver] Add support for "-static-pie" argument to the Clang driver. + + Summary: This change mimics GCC's support for the "-static-pie" argument. + + Subscribers: cfe-commits + + Tags: #clang + + Differential Revision: https://reviews.llvm.org/D58307 + + git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@354502 91177308-0d34-0410-b5e6-96231b3b80d8 + (cherry picked from commit 7d6cd7825e6883f8650e32b07f3750824c2cef62) + +diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td +index d02d9744d7..75a21e66c7 100644 +--- a/include/clang/Driver/Options.td ++++ b/include/clang/Driver/Options.td +@@ -2502,6 +2502,7 @@ def pthread : Flag<["-"], "pthread">, Flags<[CC1Option]>, + def no_pthread : Flag<["-"], "no-pthread">, Flags<[CC1Option]>; + def p : Flag<["-"], "p">; + def pie : Flag<["-"], "pie">; ++def static_pie : Flag<["-"], "static-pie">; + def read__only__relocs : Separate<["-"], "read_only_relocs">; + def remap : Flag<["-"], "remap">; + def rewrite_objc : Flag<["-"], "rewrite-objc">, Flags<[DriverOption,CC1Option]>, +diff --git a/lib/Driver/ToolChains/CommonArgs.cpp b/lib/Driver/ToolChains/CommonArgs.cpp +index d7e316befa..85ffc1618d 100644 +--- a/lib/Driver/ToolChains/CommonArgs.cpp ++++ b/lib/Driver/ToolChains/CommonArgs.cpp +@@ -1138,19 +1138,22 @@ static void AddLibgcc(const llvm::Triple &Triple, const Driver &D, + bool isCygMing = Triple.isOSCygMing(); + bool IsIAMCU = Triple.isOSIAMCU(); + bool StaticLibgcc = Args.hasArg(options::OPT_static_libgcc) || +- Args.hasArg(options::OPT_static); ++ Args.hasArg(options::OPT_static) || ++ Args.hasArg(options::OPT_static_pie); + + bool SharedLibgcc = Args.hasArg(options::OPT_shared_libgcc); + bool UnspecifiedLibgcc = !StaticLibgcc && !SharedLibgcc; + + // Gcc adds libgcc arguments in various ways: + // +- // gcc : -lgcc --as-needed -lgcc_s --no-as-needed +- // g++ : -lgcc_s -lgcc +- // gcc shared: -lgcc_s -lgcc +- // g++ shared: -lgcc_s -lgcc +- // gcc static: -lgcc -lgcc_eh +- // g++ static: -lgcc -lgcc_eh ++ // gcc : -lgcc --as-needed -lgcc_s --no-as-needed ++ // g++ : -lgcc_s -lgcc ++ // gcc shared: -lgcc_s -lgcc ++ // g++ shared: -lgcc_s -lgcc ++ // gcc static: -lgcc -lgcc_eh ++ // g++ static: -lgcc -lgcc_eh ++ // gcc static-pie: -lgcc -lgcc_eh ++ // g++ static-pie: -lgcc -lgcc_eh + // + // Also, certain targets need additional adjustments. + +diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp +index 69dba8fec8..0faa0bb473 100644 +--- a/lib/Driver/ToolChains/Gnu.cpp ++++ b/lib/Driver/ToolChains/Gnu.cpp +@@ -334,6 +334,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, + const bool isAndroid = ToolChain.getTriple().isAndroid(); + const bool IsIAMCU = ToolChain.getTriple().isOSIAMCU(); + const bool IsPIE = getPIE(Args, ToolChain); ++ const bool IsStaticPIE = Args.hasArg(options::OPT_static_pie); + const bool HasCRTBeginEndFiles = + ToolChain.getTriple().hasEnvironment() || + (ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies); +@@ -354,6 +355,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, + if (IsPIE) + CmdArgs.push_back("-pie"); + ++ if (IsStaticPIE) { ++ CmdArgs.push_back("-static"); ++ CmdArgs.push_back("-pie"); ++ CmdArgs.push_back("--no-dynamic-linker"); ++ } ++ + if (Args.hasArg(options::OPT_rdynamic)) + CmdArgs.push_back("-export-dynamic"); + +@@ -415,6 +422,8 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, + crt1 = "gcrt1.o"; + else if (IsPIE) + crt1 = "Scrt1.o"; ++ else if (IsStaticPIE) ++ crt1 = "rcrt1.o"; + else + crt1 = "crt1.o"; + } +@@ -432,7 +441,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, + crtbegin = isAndroid ? "crtbegin_static.o" : "crtbeginT.o"; + else if (Args.hasArg(options::OPT_shared)) + crtbegin = isAndroid ? "crtbegin_so.o" : "crtbeginS.o"; +- else if (IsPIE) ++ else if (IsPIE || IsStaticPIE) + crtbegin = isAndroid ? "crtbegin_dynamic.o" : "crtbeginS.o"; + else + crtbegin = isAndroid ? "crtbegin_dynamic.o" : "crtbegin.o"; +@@ -483,7 +492,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, + + if (!Args.hasArg(options::OPT_nostdlib)) { + if (!Args.hasArg(options::OPT_nodefaultlibs)) { +- if (Args.hasArg(options::OPT_static)) ++ if (Args.hasArg(options::OPT_static) || IsStaticPIE) + CmdArgs.push_back("--start-group"); + + if (NeedsSanitizerDeps) +@@ -518,7 +527,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, + if (IsIAMCU) + CmdArgs.push_back("-lgloss"); + +- if (Args.hasArg(options::OPT_static)) ++ if (Args.hasArg(options::OPT_static) || IsStaticPIE) + CmdArgs.push_back("--end-group"); + else + AddRunTimeLibs(ToolChain, D, CmdArgs, Args); +@@ -535,7 +544,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, + const char *crtend; + if (Args.hasArg(options::OPT_shared)) + crtend = isAndroid ? "crtend_so.o" : "crtendS.o"; +- else if (IsPIE) ++ else if (IsPIE || IsStaticPIE) + crtend = isAndroid ? "crtend_android.o" : "crtendS.o"; + else + crtend = isAndroid ? "crtend_android.o" : "crtend.o"; +diff --git a/test/Driver/linux-ld.c b/test/Driver/linux-ld.c +index 3ab81be490..800f782523 100644 +--- a/test/Driver/linux-ld.c ++++ b/test/Driver/linux-ld.c +@@ -176,6 +176,19 @@ + // CHECK-CLANG-NO-LIBGCC-STATIC: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" + // CHECK-CLANG-NO-LIBGCC-STATIC: "--start-group" "-lgcc" "-lgcc_eh" "-lc" "--end-group" + // ++// RUN: %clang -static-pie -no-canonical-prefixes %s -### -o %t.o 2>&1 \ ++// RUN: --target=x86_64-unknown-linux -rtlib=platform \ ++// RUN: --gcc-toolchain="" \ ++// RUN: --sysroot=%S/Inputs/basic_linux_tree \ ++// RUN: | FileCheck --check-prefix=CHECK-CLANG-LD-STATIC-PIE %s ++// CHECK-CLANG-LD-STATIC-PIE: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" ++// CHECK-CLANG-LD-STATIC-PIE: "-static" ++// CHECK-CLANG-LD-STATIC-PIE: "-pie" ++// CHECK-CLANG-LD-STATIC-PIE: "--no-dynamic-linker" ++// CHECK-CLANG-LD-STATIC-PIE: "-m" "elf_x86_64" ++// CHECK-CLANG-LD-STATIC-PIE: "{{.*}}rcrt1.o" ++// CHECK-CLANG-LD-STATIC-PIE: "--start-group" "-lgcc" "-lgcc_eh" "-lc" "--end-group" ++// + // RUN: %clang -dynamic -no-canonical-prefixes %s -### -o %t.o 2>&1 \ + // RUN: --target=x86_64-unknown-linux -rtlib=platform \ + // RUN: --gcc-toolchain="" \ diff --git a/pkgs/development/compilers/llvm/8/clang/unwindlib.patch b/pkgs/development/compilers/llvm/8/clang/unwindlib.patch new file mode 100644 index 00000000000..6958fce60ce --- /dev/null +++ b/pkgs/development/compilers/llvm/8/clang/unwindlib.patch @@ -0,0 +1,372 @@ +commit cd5603a4767277a29d3e67a9c3f2a5d2129cd973 +Author: Sterling Augustine +Date: Tue Mar 19 20:01:59 2019 +0000 + + Add --unwindlib=[libgcc|compiler-rt] to parallel --rtlib= [take 2] + + "clang++ hello.cc --rtlib=compiler-rt" + + now can works without specifying additional unwind or exception + handling libraries. + + This reworked version of the feature no longer modifies today's default + unwind library for compiler-rt: which is nothing. Rather, a user + can specify -DCLANG_DEFAULT_UNWINDLIB=libunwind when configuring + the compiler. + + This should address the issues from the previous version. + + Update tests for new --unwindlib semantics. + + Differential Revision: https://reviews.llvm.org/D59109 + + git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@356508 91177308-0d34-0410-b5e6-96231b3b80d8 + (cherry picked from commit 344aa82a52f2fae527f58284567ae305a314f7a8) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c2016a45ca..edeb2b66a1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -261,6 +261,24 @@ if (NOT(CLANG_DEFAULT_RTLIB STREQUAL "" OR + "Default runtime library to use (\"libgcc\" or \"compiler-rt\", empty for platform default)" FORCE) + endif() + ++set(CLANG_DEFAULT_UNWINDLIB "" CACHE STRING ++ "Default unwind library to use (\"none\" \"libgcc\" or \"libunwind\", empty to match runtime library.)") ++if (CLANG_DEFAULT_UNWINDLIB STREQUAL "") ++ if (CLANG_DEFAULT_RTLIB STREQUAL "libgcc") ++ set (CLANG_DEFAULT_UNWINDLIB "libgcc" CACHE STRING "" FORCE) ++ elseif (CLANG_DEFAULT_RTLIBS STREQUAL "libunwind") ++ set (CLANG_DEFAULT_UNWINDLIB "none" CACHE STRING "" FORCE) ++ endif() ++endif() ++ ++if (NOT(CLANG_DEFAULT_UNWINDLIB STREQUAL "none" OR ++ CLANG_DEFAULT_UNWINDLIB STREQUAL "libgcc" OR ++ CLANG_DEFAULT_UNWINDLIB STREQUAL "libunwind")) ++ message(WARNING "Resetting default unwindlib to use platform default") ++ set(CLANG_DEFAULT_UNWINDLIB "" CACHE STRING ++ "Default unwind library to use (\"none\" \"libgcc\" or \"libunwind\", empty for none)" FORCE) ++endif() ++ + set(CLANG_DEFAULT_OBJCOPY "objcopy" CACHE STRING + "Default objcopy executable to use.") + +diff --git a/include/clang/Basic/DiagnosticDriverKinds.td b/include/clang/Basic/DiagnosticDriverKinds.td +index 5475e28ed7..15971210e4 100644 +--- a/include/clang/Basic/DiagnosticDriverKinds.td ++++ b/include/clang/Basic/DiagnosticDriverKinds.td +@@ -52,6 +52,10 @@ def err_drv_invalid_rtlib_name : Error< + "invalid runtime library name in argument '%0'">; + def err_drv_unsupported_rtlib_for_platform : Error< + "unsupported runtime library '%0' for platform '%1'">; ++def err_drv_invalid_unwindlib_name : Error< ++ "invalid unwind library name in argument '%0'">; ++def err_drv_incompatible_unwindlib : Error< ++ "--rtlib=libgcc requires --unwindlib=libgcc">; + def err_drv_invalid_stdlib_name : Error< + "invalid library name in argument '%0'">; + def err_drv_invalid_output_with_multiple_archs : Error< +diff --git a/include/clang/Config/config.h.cmake b/include/clang/Config/config.h.cmake +index 1d624450b9..2d4cb747e8 100644 +--- a/include/clang/Config/config.h.cmake ++++ b/include/clang/Config/config.h.cmake +@@ -23,6 +23,9 @@ + /* Default runtime library to use. */ + #define CLANG_DEFAULT_RTLIB "${CLANG_DEFAULT_RTLIB}" + ++/* Default unwind library to use. */ ++#define CLANG_DEFAULT_UNWINDLIB "${CLANG_DEFAULT_UNWINDLIB}" ++ + /* Default objcopy to use */ + #define CLANG_DEFAULT_OBJCOPY "${CLANG_DEFAULT_OBJCOPY}" + +diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td +index 75a21e66c7..4da0e54965 100644 +--- a/include/clang/Driver/Options.td ++++ b/include/clang/Driver/Options.td +@@ -2570,6 +2570,8 @@ def std_EQ : Joined<["-", "--"], "std=">, Flags<[CC1Option]>, + }]>; + def stdlib_EQ : Joined<["-", "--"], "stdlib=">, Flags<[CC1Option]>, + HelpText<"C++ standard library to use">, Values<"libc++,libstdc++,platform">; ++def unwindlib_EQ : Joined<["-", "--"], "unwindlib=">, Flags<[CC1Option]>, ++ HelpText<"Unwind library to use">, Values<"libgcc,unwindlib,platform">; + def sub__library : JoinedOrSeparate<["-"], "sub_library">; + def sub__umbrella : JoinedOrSeparate<["-"], "sub_umbrella">; + def system_header_prefix : Joined<["--"], "system-header-prefix=">, +diff --git a/include/clang/Driver/ToolChain.h b/include/clang/Driver/ToolChain.h +index d5f75b8271..4bedf760eb 100644 +--- a/include/clang/Driver/ToolChain.h ++++ b/include/clang/Driver/ToolChain.h +@@ -100,6 +100,12 @@ public: + RLT_Libgcc + }; + ++ enum UnwindLibType { ++ UNW_None, ++ UNW_CompilerRT, ++ UNW_Libgcc ++ }; ++ + enum RTTIMode { + RM_Enabled, + RM_Disabled, +@@ -368,6 +374,10 @@ public: + return ToolChain::CST_Libstdcxx; + } + ++ virtual UnwindLibType GetDefaultUnwindLibType() const { ++ return ToolChain::UNW_None; ++ } ++ + virtual std::string getCompilerRTPath() const; + + virtual std::string getCompilerRT(const llvm::opt::ArgList &Args, +@@ -512,6 +522,10 @@ public: + // given compilation arguments. + virtual CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const; + ++ // GetUnwindLibType - Determine the unwind library type to use with the ++ // given compilation arguments. ++ virtual UnwindLibType GetUnwindLibType(const llvm::opt::ArgList &Args) const; ++ + /// AddClangCXXStdlibIncludeArgs - Add the clang -cc1 level arguments to set + /// the include paths to use for the given C++ standard library type. + virtual void +diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp +index 88a627eab6..d82423f4a8 100644 +--- a/lib/Driver/ToolChain.cpp ++++ b/lib/Driver/ToolChain.cpp +@@ -680,6 +680,33 @@ ToolChain::RuntimeLibType ToolChain::GetRuntimeLibType( + return GetDefaultRuntimeLibType(); + } + ++ToolChain::UnwindLibType ToolChain::GetUnwindLibType( ++ const ArgList &Args) const { ++ const Arg *A = Args.getLastArg(options::OPT_unwindlib_EQ); ++ StringRef LibName = A ? A->getValue() : CLANG_DEFAULT_UNWINDLIB; ++ ++ if (LibName == "none") ++ return ToolChain::UNW_None; ++ else if (LibName == "platform" || LibName == "") { ++ ToolChain::RuntimeLibType RtLibType = GetRuntimeLibType(Args); ++ if (RtLibType == ToolChain::RLT_CompilerRT) ++ return ToolChain::UNW_None; ++ else if (RtLibType == ToolChain::RLT_Libgcc) ++ return ToolChain::UNW_Libgcc; ++ } else if (LibName == "libunwind") { ++ if (GetRuntimeLibType(Args) == RLT_Libgcc) ++ getDriver().Diag(diag::err_drv_incompatible_unwindlib); ++ return ToolChain::UNW_CompilerRT; ++ } else if (LibName == "libgcc") ++ return ToolChain::UNW_Libgcc; ++ ++ if (A) ++ getDriver().Diag(diag::err_drv_invalid_unwindlib_name) ++ << A->getAsString(Args); ++ ++ return GetDefaultUnwindLibType(); ++} ++ + ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{ + const Arg *A = Args.getLastArg(options::OPT_stdlib_EQ); + StringRef LibName = A ? A->getValue() : CLANG_DEFAULT_CXX_STDLIB; +diff --git a/lib/Driver/ToolChains/CommonArgs.cpp b/lib/Driver/ToolChains/CommonArgs.cpp +index 85ffc1618d..9fd29726a4 100644 +--- a/lib/Driver/ToolChains/CommonArgs.cpp ++++ b/lib/Driver/ToolChains/CommonArgs.cpp +@@ -1132,47 +1132,80 @@ bool tools::isObjCAutoRefCount(const ArgList &Args) { + return Args.hasFlag(options::OPT_fobjc_arc, options::OPT_fno_objc_arc, false); + } + +-static void AddLibgcc(const llvm::Triple &Triple, const Driver &D, +- ArgStringList &CmdArgs, const ArgList &Args) { +- bool isAndroid = Triple.isAndroid(); +- bool isCygMing = Triple.isOSCygMing(); +- bool IsIAMCU = Triple.isOSIAMCU(); +- bool StaticLibgcc = Args.hasArg(options::OPT_static_libgcc) || +- Args.hasArg(options::OPT_static) || +- Args.hasArg(options::OPT_static_pie); +- +- bool SharedLibgcc = Args.hasArg(options::OPT_shared_libgcc); +- bool UnspecifiedLibgcc = !StaticLibgcc && !SharedLibgcc; +- +- // Gcc adds libgcc arguments in various ways: +- // +- // gcc : -lgcc --as-needed -lgcc_s --no-as-needed +- // g++ : -lgcc_s -lgcc +- // gcc shared: -lgcc_s -lgcc +- // g++ shared: -lgcc_s -lgcc +- // gcc static: -lgcc -lgcc_eh +- // g++ static: -lgcc -lgcc_eh +- // gcc static-pie: -lgcc -lgcc_eh +- // g++ static-pie: -lgcc -lgcc_eh +- // +- // Also, certain targets need additional adjustments. ++enum class LibGccType { UnspecifiedLibGcc, StaticLibGcc, SharedLibGcc }; ++ ++static LibGccType getLibGccType(const ArgList &Args) { ++ bool Static = Args.hasArg(options::OPT_static_libgcc) || ++ Args.hasArg(options::OPT_static) || ++ Args.hasArg(options::OPT_static_pie); ++ ++ bool Shared = Args.hasArg(options::OPT_shared_libgcc); ++ if (Shared) ++ return LibGccType::SharedLibGcc; ++ if (Static) ++ return LibGccType::StaticLibGcc; ++ return LibGccType::UnspecifiedLibGcc; ++} + +- bool LibGccFirst = (D.CCCIsCC() && UnspecifiedLibgcc) || StaticLibgcc; +- if (LibGccFirst) +- CmdArgs.push_back("-lgcc"); ++// Gcc adds libgcc arguments in various ways: ++// ++// gcc : -lgcc --as-needed -lgcc_s --no-as-needed ++// g++ : -lgcc_s -lgcc ++// gcc shared: -lgcc_s -lgcc ++// g++ shared: -lgcc_s -lgcc ++// gcc static: -lgcc -lgcc_eh ++// g++ static: -lgcc -lgcc_eh ++// gcc static-pie: -lgcc -lgcc_eh ++// g++ static-pie: -lgcc -lgcc_eh ++// ++// Also, certain targets need additional adjustments. ++ ++static void AddUnwindLibrary(const ToolChain &TC, const Driver &D, ++ ArgStringList &CmdArgs, const ArgList &Args) { ++ ToolChain::UnwindLibType UNW = TC.GetUnwindLibType(Args); ++ // Targets that don't use unwind libraries. ++ if (TC.getTriple().isAndroid() || TC.getTriple().isOSIAMCU() || ++ TC.getTriple().isOSBinFormatWasm() || ++ UNW == ToolChain::UNW_None) ++ return; + +- bool AsNeeded = D.CCCIsCC() && UnspecifiedLibgcc && !isAndroid && !isCygMing; ++ LibGccType LGT = getLibGccType(Args); ++ bool AsNeeded = D.CCCIsCC() && LGT == LibGccType::UnspecifiedLibGcc && ++ !TC.getTriple().isAndroid() && !TC.getTriple().isOSCygMing(); + if (AsNeeded) + CmdArgs.push_back("--as-needed"); + +- if ((UnspecifiedLibgcc || SharedLibgcc) && !isAndroid) +- CmdArgs.push_back("-lgcc_s"); +- +- else if (StaticLibgcc && !isAndroid && !IsIAMCU) +- CmdArgs.push_back("-lgcc_eh"); ++ switch (UNW) { ++ case ToolChain::UNW_None: ++ return; ++ case ToolChain::UNW_Libgcc: { ++ LibGccType LGT = getLibGccType(Args); ++ if (LGT == LibGccType::UnspecifiedLibGcc || LGT == LibGccType::SharedLibGcc) ++ CmdArgs.push_back("-lgcc_s"); ++ else if (LGT == LibGccType::StaticLibGcc) ++ CmdArgs.push_back("-lgcc_eh"); ++ break; ++ } ++ case ToolChain::UNW_CompilerRT: ++ CmdArgs.push_back("-lunwind"); ++ break; ++ } + + if (AsNeeded) + CmdArgs.push_back("--no-as-needed"); ++} ++ ++static void AddLibgcc(const ToolChain &TC, const Driver &D, ++ ArgStringList &CmdArgs, const ArgList &Args) { ++ bool isAndroid = TC.getTriple().isAndroid(); ++ ++ LibGccType LGT = getLibGccType(Args); ++ bool LibGccFirst = (D.CCCIsCC() && LGT == LibGccType::UnspecifiedLibGcc) || ++ LGT == LibGccType::StaticLibGcc; ++ if (LibGccFirst) ++ CmdArgs.push_back("-lgcc"); ++ ++ AddUnwindLibrary(TC, D, CmdArgs, Args); + + if (!LibGccFirst) + CmdArgs.push_back("-lgcc"); +@@ -1182,7 +1215,7 @@ static void AddLibgcc(const llvm::Triple &Triple, const Driver &D, + // + // NOTE: This fixes a link error on Android MIPS as well. The non-static + // libgcc for MIPS relies on _Unwind_Find_FDE and dl_iterate_phdr from libdl. +- if (isAndroid && !StaticLibgcc) ++ if (isAndroid && getLibGccType(Args) != LibGccType::StaticLibGcc) + CmdArgs.push_back("-ldl"); + } + +@@ -1194,6 +1227,7 @@ void tools::AddRunTimeLibs(const ToolChain &TC, const Driver &D, + switch (RLT) { + case ToolChain::RLT_CompilerRT: + CmdArgs.push_back(TC.getCompilerRTArgString(Args, "builtins")); ++ AddUnwindLibrary(TC, D, CmdArgs, Args); + break; + case ToolChain::RLT_Libgcc: + // Make sure libgcc is not used under MSVC environment by default +@@ -1205,7 +1239,7 @@ void tools::AddRunTimeLibs(const ToolChain &TC, const Driver &D, + << Args.getLastArg(options::OPT_rtlib_EQ)->getValue() << "MSVC"; + } + } else +- AddLibgcc(TC.getTriple(), D, CmdArgs, Args); ++ AddLibgcc(TC, D, CmdArgs, Args); + break; + } + } +diff --git a/test/Driver/compiler-rt-unwind.c b/test/Driver/compiler-rt-unwind.c +new file mode 100644 +index 0000000000..00024dfa7e +--- /dev/null ++++ b/test/Driver/compiler-rt-unwind.c +@@ -0,0 +1,49 @@ ++// General tests that the driver handles combinations of --rtlib=XXX and ++// --unwindlib=XXX properly. ++// ++// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ ++// RUN: --target=x86_64-unknown-linux \ ++// RUN: --gcc-toolchain="" \ ++// RUN: | FileCheck --check-prefix=RTLIB-EMPTY %s ++// RTLIB-EMPTY: "{{.*}}lgcc" ++// RTLIB-EMPTY: "{{.*}}-lgcc_s" ++// ++// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ ++// RUN: --target=x86_64-unknown-linux -rtlib=libgcc \ ++// RUN: --gcc-toolchain="" \ ++// RUN: | FileCheck --check-prefix=RTLIB-GCC %s ++// RTLIB-GCC: "{{.*}}lgcc" ++// RTLIB-GCC: "{{.*}}lgcc_s" ++// ++// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ ++// RUN: --target=x86_64-unknown-linux -rtlib=libgcc --unwindlib=libunwind \ ++// RUN: --gcc-toolchain="" \ ++// RUN: | FileCheck --check-prefix=RTLIB-GCC-UNWINDLIB-COMPILER-RT %s ++// RTLIB-GCC-UNWINDLIB-COMPILER-RT: "{{.*}}lgcc" ++// RTLIB-GCC-UNWINDLIB-COMPILER-RT: "{{.*}}lunwind" ++// ++// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ ++// RUN: --target=x86_64-unknown-linux -rtlib=compiler-rt \ ++// RUN: --gcc-toolchain="" \ ++// RUN: | FileCheck --check-prefix=RTLIB-COMPILER-RT %s ++// RTLIB-COMPILER-RT: "{{.*}}libclang_rt.builtins-x86_64.a" ++// ++// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ ++// RUN: --target=x86_64-unknown-linux -rtlib=compiler-rt --unwindlib=libgcc \ ++// RUN: --gcc-toolchain="" \ ++// RUN: | FileCheck --check-prefix=RTLIB-COMPILER-RT-UNWINDLIB-GCC %s ++// RTLIB-COMPILER-RT-UNWINDLIB-GCC: "{{.*}}libclang_rt.builtins-x86_64.a" ++// RTLIB-COMPILER-RT-UNWINDLIB-GCC: "{{.*}}lgcc_s" ++// ++// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ ++// RUN: --target=x86_64-unknown-linux -rtlib=compiler-rt --unwindlib=libgcc \ ++// RUN: -static --gcc-toolchain="" \ ++// RUN: | FileCheck --check-prefix=RTLIB-COMPILER-RT-UNWINDLIB-GCC-STATIC %s ++// RTLIB-COMPILER-RT-UNWINDLIB-GCC-STATIC: "{{.*}}libclang_rt.builtins-x86_64.a" ++// RTLIB-COMPILER-RT-UNWINDLIB-GCC-STATIC: "{{.*}}lgcc_eh" ++// ++// RUN: not %clang -no-canonical-prefixes %s -o %t.o 2> %t.err \ ++// RUN: --target=x86_64-unknown-linux -rtlib=libgcc --unwindlib=libunwind \ ++// RUN: --gcc-toolchain="" \ ++// RUN: FileCheck --input-file=%t.err --check-prefix=RTLIB-GCC-UNWINDLIB-COMPILER_RT %s ++// RTLIB-GCC-UNWINDLIB-COMPILER_RT: "{{[.|\\\n]*}}--rtlib=libgcc requires --unwindlib=libgcc" diff --git a/pkgs/development/compilers/llvm/8/compiler-rt-codesign.patch b/pkgs/development/compilers/llvm/8/compiler-rt-codesign.patch new file mode 100644 index 00000000000..3cc12b94b20 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/compiler-rt-codesign.patch @@ -0,0 +1,33 @@ +From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001 +From: Will Dietz +Date: Tue, 19 Sep 2017 13:13:06 -0500 +Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that + needs it + +--- + cmake/Modules/AddCompilerRT.cmake | 8 ------ + test/asan/CMakeLists.txt | 52 --------------------------------------- + test/tsan/CMakeLists.txt | 47 ----------------------------------- + 3 files changed, 107 deletions(-) + +diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake +index bc5fb9ff7..b64eb4246 100644 +--- a/cmake/Modules/AddCompilerRT.cmake ++++ b/cmake/Modules/AddCompilerRT.cmake +@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type) + set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "") + set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib") + endif() +- if(APPLE) +- # Ad-hoc sign the dylibs +- add_custom_command(TARGET ${libname} +- POST_BUILD +- COMMAND codesign --sign - $ +- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR} +- ) +- endif() + endif() + install(TARGETS ${libname} + ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR} +2.14.1 + diff --git a/pkgs/development/compilers/llvm/8/compiler-rt.nix b/pkgs/development/compilers/llvm/8/compiler-rt.nix new file mode 100644 index 00000000000..1f216178b55 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/compiler-rt.nix @@ -0,0 +1,70 @@ +{ stdenv, version, fetch, cmake, python, llvm, libcxxabi }: +stdenv.mkDerivation rec { + pname = "compiler-rt"; + inherit version; + src = fetch "compiler-rt" "0dqqf8f930l8gag4d9qjgn1n0pj0nbv2anviqqhdi1rkhas8z0hi"; + + nativeBuildInputs = [ cmake python llvm ]; + buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; + + cmakeFlags = [ + "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" + "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" + "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" + ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-DCMAKE_C_FLAGS=-nodefaultlibs" + "-DCMAKE_CXX_COMPILER_WORKS=ON" + "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" + "-DCOMPILER_RT_BUILD_XRAY=OFF" + "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" + "-DCOMPILER_RT_BUILD_PROFILE=OFF" + "-DCOMPILER_RT_BAREMETAL_BUILD=ON" + #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program + "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" + "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" + ] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [ + "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" + "-DCOMPILER_RT_BUILD_XRAY=OFF" + "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" + "-DCOMPILER_RT_BUILD_PROFILE=OFF" + ] ++ stdenv.lib.optionals (stdenv.hostPlatform.parsed.kernel.name == "none") [ + "-DCOMPILER_RT_BAREMETAL_BUILD=ON" + "-DCOMPILER_RT_OS_DIR=baremetal" + ]; + + outputs = [ "out" "dev" ]; + + patches = [ + ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ]# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./crtbegin-and-end.patch; + + # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks + # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra + # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd + # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by + # a flag and turn the flag off during the stdenv build. + postPatch = stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace cmake/config-ix.cmake \ + --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' + '' + stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + substituteInPlace lib/builtins/int_util.c \ + --replace "#include " "" + substituteInPlace lib/builtins/clear_cache.c \ + --replace "#include " "" + substituteInPlace lib/builtins/cpu_model.c \ + --replace "#include " "" + ''; + + # Hack around weird upsream RPATH bug + postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' + ln -s "$out/lib"/*/* "$out/lib" + '' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) '' + ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o + ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o + ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o + ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o + ''; + + enableParallelBuilding = true; +} diff --git a/pkgs/development/compilers/llvm/8/crtbegin-and-end.patch b/pkgs/development/compilers/llvm/8/crtbegin-and-end.patch new file mode 100644 index 00000000000..e63be181f95 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/crtbegin-and-end.patch @@ -0,0 +1,595 @@ +Get crtbegin and crtend without compiler GCC! PR is at https://reviews.llvm.org/D28791 + +Index: compiler-rt/CMakeLists.txt +=================================================================== +--- compiler-rt/CMakeLists.txt ++++ compiler-rt/CMakeLists.txt +@@ -29,6 +29,8 @@ + + option(COMPILER_RT_BUILD_BUILTINS "Build builtins" ON) + mark_as_advanced(COMPILER_RT_BUILD_BUILTINS) ++option(COMPILER_RT_BUILD_CRT "Build crtbegin.o/crtend.o" ON) ++mark_as_advanced(COMPILER_RT_BUILD_CRT) + option(COMPILER_RT_BUILD_SANITIZERS "Build sanitizers" ON) + mark_as_advanced(COMPILER_RT_BUILD_SANITIZERS) + option(COMPILER_RT_BUILD_XRAY "Build xray" ON) +Index: compiler-rt/cmake/Modules/AddCompilerRT.cmake +=================================================================== +--- compiler-rt/cmake/Modules/AddCompilerRT.cmake ++++ compiler-rt/cmake/Modules/AddCompilerRT.cmake +@@ -132,7 +132,7 @@ + # Adds static or shared runtime for a list of architectures and operating + # systems and puts it in the proper directory in the build and install trees. + # add_compiler_rt_runtime( +-# {STATIC|SHARED} ++# {OBJECT|STATIC|SHARED} + # ARCHS + # OS + # SOURCES +@@ -144,8 +144,8 @@ + # PARENT_TARGET + # ADDITIONAL_HEADERS
) + function(add_compiler_rt_runtime name type) +- if(NOT type MATCHES "^(STATIC|SHARED)$") +- message(FATAL_ERROR "type argument must be STATIC or SHARED") ++ if(NOT type MATCHES "^(OBJECT|STATIC|SHARED)$") ++ message(FATAL_ERROR "type argument must be OBJECT, STATIC or SHARED") + return() + endif() + cmake_parse_arguments(LIB +@@ -204,7 +204,10 @@ + message(FATAL_ERROR "Architecture ${arch} can't be targeted") + return() + endif() +- if(type STREQUAL "STATIC") ++ if(type STREQUAL "OBJECT") ++ set(libname "${name}-${arch}") ++ set(output_name_${libname} ${libname}${COMPILER_RT_OS_SUFFIX}) ++ elseif(type STREQUAL "STATIC") + set(libname "${name}-${arch}") + set_output_name(output_name_${libname} ${name} ${arch}) + else() +@@ -270,12 +273,34 @@ + set(COMPONENT_OPTION COMPONENT ${libname}) + endif() + +- add_library(${libname} ${type} ${sources_${libname}}) +- set_target_compile_flags(${libname} ${extra_cflags_${libname}}) +- set_target_link_flags(${libname} ${extra_link_flags_${libname}}) +- set_property(TARGET ${libname} APPEND PROPERTY +- COMPILE_DEFINITIONS ${LIB_DEFS}) +- set_target_output_directories(${libname} ${output_dir_${libname}}) ++ if(type STREQUAL "OBJECT") ++ string(TOUPPER ${CMAKE_BUILD_TYPE} config) ++ get_property(cflags SOURCE ${sources_${libname}} PROPERTY COMPILE_FLAGS) ++ separate_arguments(cflags) ++ add_custom_command( ++ OUTPUT ${output_dir_${libname}}/${libname}.o ++ COMMAND ${CMAKE_C_COMPILER} ${sources_${libname}} ${cflags} ${extra_cflags_${libname}} -c -o ${output_dir_${libname}}/${libname}.o ++ DEPENDS ${sources_${libname}} ++ COMMENT "Building C object ${libname}.o") ++ add_custom_target(${libname} DEPENDS ${output_dir_${libname}}/${libname}.o) ++ install(FILES ${output_dir_${libname}}/${libname}.o ++ DESTINATION ${install_dir_${libname}} ++ ${COMPONENT_OPTION}) ++ else() ++ add_library(${libname} ${type} ${sources_${libname}}) ++ set_target_compile_flags(${libname} ${extra_cflags_${libname}}) ++ set_target_link_flags(${libname} ${extra_link_flags_${libname}}) ++ set_property(TARGET ${libname} APPEND PROPERTY ++ COMPILE_DEFINITIONS ${LIB_DEFS}) ++ set_target_output_directories(${libname} ${output_dir_${libname}}) ++ install(TARGETS ${libname} ++ ARCHIVE DESTINATION ${install_dir_${libname}} ++ ${COMPONENT_OPTION} ++ LIBRARY DESTINATION ${install_dir_${libname}} ++ ${COMPONENT_OPTION} ++ RUNTIME DESTINATION ${install_dir_${libname}} ++ ${COMPONENT_OPTION}) ++ endif() + set_target_properties(${libname} PROPERTIES + OUTPUT_NAME ${output_name_${libname}}) + set_target_properties(${libname} PROPERTIES FOLDER "Compiler-RT Runtime") +@@ -299,13 +324,6 @@ + ) + endif() + endif() +- install(TARGETS ${libname} +- ARCHIVE DESTINATION ${install_dir_${libname}} +- ${COMPONENT_OPTION} +- LIBRARY DESTINATION ${install_dir_${libname}} +- ${COMPONENT_OPTION} +- RUNTIME DESTINATION ${install_dir_${libname}} +- ${COMPONENT_OPTION}) + + # We only want to generate per-library install targets if you aren't using + # an IDE because the extra targets get cluttered in IDEs. +Index: compiler-rt/cmake/config-ix.cmake +=================================================================== +--- compiler-rt/cmake/config-ix.cmake ++++ compiler-rt/cmake/config-ix.cmake +@@ -227,6 +227,7 @@ + ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${S390X}) + set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} + ${MIPS32} ${MIPS64} ${PPC64} ${S390X}) ++set(ALL_CRT_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}) + set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64}) + set(ALL_FUZZER_SUPPORTED_ARCH ${X86_64} ${ARM64}) + +@@ -474,6 +475,7 @@ + SANITIZER_COMMON_SUPPORTED_ARCH) + + else() ++ filter_available_targets(CRT_SUPPORTED_ARCH ${ALL_CRT_SUPPORTED_ARCH}) + # Architectures supported by compiler-rt libraries. + filter_available_targets(SANITIZER_COMMON_SUPPORTED_ARCH + ${ALL_SANITIZER_COMMON_SUPPORTED_ARCH}) +@@ -563,6 +565,12 @@ + + # TODO: Add builtins support. + ++if (CRT_SUPPORTED_ARCH AND OS_NAME MATCHES "Linux") ++ set(COMPILER_RT_HAS_CRT TRUE) ++else() ++ set(COMPILER_RT_HAS_CRT FALSE) ++endif() ++ + if (COMPILER_RT_HAS_SANITIZER_COMMON AND DFSAN_SUPPORTED_ARCH AND + OS_NAME MATCHES "Linux") + set(COMPILER_RT_HAS_DFSAN TRUE) +Index: compiler-rt/lib/CMakeLists.txt +=================================================================== +--- compiler-rt/lib/CMakeLists.txt ++++ compiler-rt/lib/CMakeLists.txt +@@ -17,6 +17,10 @@ + add_subdirectory(builtins) + endif() + ++if(COMPILER_RT_BUILD_CRT) ++ add_subdirectory(crt) ++endif() ++ + function(compiler_rt_build_runtime runtime) + string(TOUPPER ${runtime} runtime_uppercase) + if(COMPILER_RT_HAS_${runtime_uppercase}) +Index: compiler-rt/lib/crt/CMakeLists.txt +=================================================================== +--- /dev/null ++++ compiler-rt/lib/crt/CMakeLists.txt +@@ -0,0 +1,102 @@ ++add_compiler_rt_component(crt) ++ ++function(check_cxx_section_exists section output) ++ cmake_parse_arguments(ARG "" "" "SOURCE;FLAGS" ${ARGN}) ++ if(NOT ARG_SOURCE) ++ set(ARG_SOURCE "int main() { return 0; }\n") ++ endif() ++ ++ string(RANDOM TARGET_NAME) ++ set(TARGET_NAME "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cmTC_${TARGET_NAME}.dir") ++ file(MAKE_DIRECTORY ${TARGET_NAME}) ++ ++ file(WRITE "${TARGET_NAME}/CheckSectionExists.c" "${ARG_SOURCE}\n") ++ ++ string(REGEX MATCHALL "<[A-Za-z0-9_]*>" substitutions ++ ${CMAKE_C_COMPILE_OBJECT}) ++ ++ set(try_compile_flags "${ARG_FLAGS}") ++ if(CMAKE_C_COMPILER_ID MATCHES Clang AND CMAKE_C_COMPILER_TARGET) ++ list(APPEND try_compile_flags "-target ${CMAKE_C_COMPILER_TARGET}") ++ endif() ++ ++ string(REPLACE ";" " " extra_flags "${try_compile_flags}") ++ ++ set(test_compile_command "${CMAKE_C_COMPILE_OBJECT}") ++ foreach(substitution ${substitutions}) ++ if(substitution STREQUAL "") ++ string(REPLACE "" ++ "${CMAKE_C_COMPILER}" test_compile_command ${test_compile_command}) ++ elseif(substitution STREQUAL "") ++ string(REPLACE "" "${TARGET_NAME}/CheckSectionExists.o" ++ test_compile_command ${test_compile_command}) ++ elseif(substitution STREQUAL "") ++ string(REPLACE "" "${TARGET_NAME}/CheckSectionExists.c" ++ test_compile_command ${test_compile_command}) ++ elseif(substitution STREQUAL "") ++ string(REPLACE "" "${CMAKE_C_FLAGS} ${extra_flags}" ++ test_compile_command ${test_compile_command}) ++ else() ++ string(REPLACE "${substitution}" "" test_compile_command ++ ${test_compile_command}) ++ endif() ++ endforeach() ++ ++ string(REPLACE " " ";" test_compile_command "${test_compile_command}") ++ ++ execute_process( ++ COMMAND ${test_compile_command} ++ RESULT_VARIABLE TEST_RESULT ++ OUTPUT_VARIABLE TEST_OUTPUT ++ ERROR_VARIABLE TEST_ERROR ++ ) ++ ++ execute_process( ++ COMMAND ${CMAKE_OBJDUMP} -h "${TARGET_NAME}/CheckSectionExists.o" ++ RESULT_VARIABLE CHECK_RESULT ++ OUTPUT_VARIABLE CHECK_OUTPUT ++ ERROR_VARIABLE CHECK_ERROR ++ ) ++ string(FIND "${CHECK_OUTPUT}" "${section}" SECTION_FOUND) ++ ++ if(NOT SECTION_FOUND EQUAL -1) ++ set(${output} TRUE PARENT_SCOPE) ++ else() ++ set(${output} FALSE PARENT_SCOPE) ++ endif() ++ ++ file(REMOVE_RECURSE ${TARGET_NAME}) ++endfunction() ++ ++check_cxx_section_exists(".init_array" COMPILER_RT_HAS_INITFINI_ARRAY ++ SOURCE "__attribute__((constructor)) void f() {}\nint main() { return 0; }\n") ++ ++append_list_if(COMPILER_RT_HAS_INITFINI_ARRAY -DCRT_HAS_INITFINI_ARRAY CRT_CFLAGS) ++append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC CRT_CFLAGS) ++ ++foreach(arch ${CRT_SUPPORTED_ARCH}) ++ add_compiler_rt_runtime(clang_rt.crtbegin ++ OBJECT ++ ARCHS ${arch} ++ SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtbegin.c ++ CFLAGS ${CRT_CFLAGS} ++ PARENT_TARGET crt) ++ add_compiler_rt_runtime(clang_rt.crtbegin_shared ++ OBJECT ++ ARCHS ${arch} ++ SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtbegin.c ++ CFLAGS ${CRT_CFLAGS} -DCRT_SHARED ++ PARENT_TARGET crt) ++ add_compiler_rt_runtime(clang_rt.crtend ++ OBJECT ++ ARCHS ${arch} ++ SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtend.c ++ CFLAGS ${CRT_CFLAGS} ++ PARENT_TARGET crt) ++ add_compiler_rt_runtime(clang_rt.crtend_shared ++ OBJECT ++ ARCHS ${arch} ++ SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtend.c ++ CFLAGS ${CRT_CFLAGS} -DCRT_SHARED ++ PARENT_TARGET crt) ++endforeach() +Index: compiler-rt/lib/crt/crtbegin.c +=================================================================== +--- /dev/null ++++ compiler-rt/lib/crt/crtbegin.c +@@ -0,0 +1,108 @@ ++/* ===-- crtbegin.c - Start of constructors and destructors ----------------=== ++ * ++ * The LLVM Compiler Infrastructure ++ * ++ * This file is dual licensed under the MIT and the University of Illinois Open ++ * Source Licenses. See LICENSE.TXT for details. ++ * ++ * ===----------------------------------------------------------------------=== ++ */ ++ ++#include ++ ++__attribute__((visibility("hidden"))) ++#ifdef CRT_SHARED ++void *__dso_handle = &__dso_handle; ++#else ++void *__dso_handle = (void *)0; ++#endif ++ ++static long __EH_FRAME_LIST__[] ++ __attribute__((section(".eh_frame"), aligned(sizeof(void *)))) = {}; ++ ++extern void __register_frame_info(const void *, void *) __attribute__((weak)); ++extern void *__deregister_frame_info(const void *) __attribute__((weak)); ++ ++#ifndef CRT_HAS_INITFINI_ARRAY ++typedef void (*fp)(void); ++ ++static fp __CTOR_LIST__[] ++ __attribute__((section(".ctors"), aligned(sizeof(fp)), used)) = {(fp)-1}; ++extern fp __CTOR_LIST_END__[]; ++#endif ++ ++#ifdef CRT_SHARED ++extern void __cxa_finalize(void *) __attribute__((weak)); ++#endif ++ ++static void __attribute__((used)) __do_init() { ++ static _Bool __initialized; ++ if (__builtin_expect(__initialized, 0)) ++ return; ++ __initialized = 1; ++ ++ static struct { void *p[8]; } __object; ++ if (__register_frame_info) ++ __register_frame_info(__EH_FRAME_LIST__, &__object); ++ ++#ifndef CRT_HAS_INITFINI_ARRAY ++ const size_t n = __CTOR_LIST_END__ - __CTOR_LIST__ - 1; ++ for (size_t i = n; i >= 1; i--) __CTOR_LIST__[i](); ++#endif ++} ++ ++#ifdef CRT_HAS_INITFINI_ARRAY ++__attribute__((section(".init_array"), ++ used)) static void (*__init)(void) = __do_init; ++#else // CRT_HAS_INITFINI_ARRAY ++#if defined(__i386__) || defined(__x86_64__) ++asm(".pushsection .init,\"ax\",@progbits\n\t" ++ "call " __USER_LABEL_PREFIX__ "__do_init\n\t" ++ ".popsection"); ++#elif defined(__arm__) ++asm(".pushsection .init,\"ax\",%progbits\n\t" ++ "bl " __USER_LABEL_PREFIX__ "__do_init\n\t" ++ ".popsection"); ++#endif // CRT_HAS_INITFINI_ARRAY ++#endif ++ ++#ifndef CRT_HAS_INITFINI_ARRAY ++static fp __DTOR_LIST__[] ++ __attribute__((section(".dtors"), aligned(sizeof(fp)), used)) = {(fp)-1}; ++extern fp __DTOR_LIST_END__[]; ++#endif ++ ++static void __attribute__((used)) __do_fini() { ++ static _Bool __finalized; ++ if (__builtin_expect(__finalized, 0)) ++ return; ++ __finalized = 1; ++ ++#ifdef CRT_SHARED ++ if (__cxa_finalize) ++ __cxa_finalize(__dso_handle); ++#endif ++ ++#ifndef CRT_HAS_INITFINI_ARRAY ++ if (__deregister_frame_info) ++ __deregister_frame_info(__EH_FRAME_LIST__); ++ ++ const size_t n = __DTOR_LIST_END__ - __DTOR_LIST__ - 1; ++ for (size_t i = 1; i < n; i++) __DTOR_LIST__[i](); ++#endif ++} ++ ++#ifdef CRT_HAS_INITFINI_ARRAY ++__attribute__((section(".fini_array"), ++ used)) static void (*__fini)(void) = __do_fini; ++#else // CRT_HAS_INITFINI_ARRAY ++#if defined(__i386__) || defined(__x86_64__) ++asm(".pushsection .fini,\"ax\",@progbits\n\t" ++ "call " __USER_LABEL_PREFIX__ "__do_fini\n\t" ++ ".popsection"); ++#elif defined(__arm__) ++asm(".pushsection .fini,\"ax\",%progbits\n\t" ++ "bl " __USER_LABEL_PREFIX__ "__do_fini\n\t" ++ ".popsection"); ++#endif ++#endif // CRT_HAS_INIT_FINI_ARRAY +Index: compiler-rt/lib/crt/crtend.c +=================================================================== +--- /dev/null ++++ compiler-rt/lib/crt/crtend.c +@@ -0,0 +1,24 @@ ++/* ===-- crtend.c - End of constructors and destructors --------------------=== ++ * ++ * The LLVM Compiler Infrastructure ++ * ++ * This file is dual licensed under the MIT and the University of Illinois Open ++ * Source Licenses. See LICENSE.TXT for details. ++ * ++ * ===----------------------------------------------------------------------=== ++ */ ++ ++#include ++ ++// Put 4-byte zero which is the length field in FDE at the end as a terminator. ++const int32_t __EH_FRAME_LIST_END__[] ++ __attribute__((section(".eh_frame"), aligned(sizeof(int32_t)), ++ visibility("hidden"), used)) = {0}; ++ ++#ifndef CRT_HAS_INITFINI_ARRAY ++typedef void (*fp)(void); ++fp __CTOR_LIST_END__[] ++ __attribute__((section(".ctors"), visibility("hidden"), used)) = {0}; ++fp __DTOR_LIST_END__[] ++ __attribute__((section(".dtors"), visibility("hidden"), used)) = {0}; ++#endif +Index: compiler-rt/test/CMakeLists.txt +=================================================================== +--- compiler-rt/test/CMakeLists.txt ++++ compiler-rt/test/CMakeLists.txt +@@ -73,6 +73,9 @@ + if(COMPILER_RT_BUILD_XRAY) + compiler_rt_test_runtime(xray) + endif() ++ if(COMPILER_RT_HAS_CRT) ++ add_subdirectory(crt) ++ endif() + # ShadowCallStack does not yet provide a runtime with compiler-rt, the tests + # include their own minimal runtime + add_subdirectory(shadowcallstack) +Index: compiler-rt/test/crt/CMakeLists.txt +=================================================================== +--- /dev/null ++++ compiler-rt/test/crt/CMakeLists.txt +@@ -0,0 +1,31 @@ ++set(CRT_LIT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) ++ ++set(CRT_TESTSUITES) ++ ++set(CRT_TEST_DEPS "") ++ ++if(NOT COMPILER_RT_STANDALONE_BUILD AND COMPILER_RT_BUILD_CRT AND ++ COMPILER_RT_HAS_CRT) ++ list(APPEND CRT_TEST_DEPS crt) ++endif() ++ ++set(CRT_TEST_ARCH ${CRT_SUPPORTED_ARCH}) ++if (COMPILER_RT_BUILD_CRT AND COMPILER_RT_HAS_CRT) ++ foreach(arch ${CRT_TEST_ARCH}) ++ set(CRT_TEST_TARGET_ARCH ${arch}) ++ string(TOLOWER "-${arch}-${OS_NAME}" CRT_TEST_CONFIG_SUFFIX) ++ get_test_cc_for_arch(${arch} CRT_TEST_TARGET_CC CRT_TEST_TARGET_CFLAGS) ++ string(TOUPPER ${arch} ARCH_UPPER_CASE) ++ set(CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME}Config) ++ ++ configure_lit_site_cfg( ++ ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in ++ ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg) ++ list(APPEND CRT_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}) ++ endforeach() ++endif() ++ ++add_lit_testsuite(check-crt "Running the CRT tests" ++ ${CRT_TESTSUITES} ++ DEPENDS ${CRT_TEST_DEPS}) ++set_target_properties(check-crt PROPERTIES FOLDER "Compiler-RT Misc") +Index: compiler-rt/test/crt/dso_handle.cpp +=================================================================== +--- /dev/null ++++ compiler-rt/test/crt/dso_handle.cpp +@@ -0,0 +1,33 @@ ++// RUN: %clangxx -g -DCRT_SHARED -c %s -fPIC -o %tshared.o ++// RUN: %clangxx -g -c %s -fPIC -o %t.o ++// RUN: %clangxx -g -shared -o %t.so -nostdlib %crti %shared_crtbegin %tshared.o %libstdcxx -lc -lm -lgcc_s %shared_crtend %crtn ++// RUN: %clangxx -g -o %t -nostdlib %crt1 %crti %crtbegin %t.o %libstdcxx -lc -lm %libgcc %t.so %crtend %crtn ++// RUN: %run %t 2>&1 | FileCheck %s ++ ++#include ++ ++// CHECK: 1 ++// CHECK-NEXT: ~A() ++ ++#ifdef CRT_SHARED ++bool G; ++void C() { ++ printf("%d\n", G); ++} ++ ++struct A { ++ A() { G = true; } ++ ~A() { ++ printf("~A()\n"); ++ } ++}; ++ ++A a; ++#else ++void C(); ++ ++int main() { ++ C(); ++ return 0; ++} ++#endif +Index: compiler-rt/test/crt/lit.cfg +=================================================================== +--- /dev/null ++++ compiler-rt/test/crt/lit.cfg +@@ -0,0 +1,80 @@ ++# -*- Python -*- ++ ++import os ++import subprocess ++ ++# Setup config name. ++config.name = 'CRT' + config.name_suffix ++ ++# Setup source root. ++config.test_source_root = os.path.dirname(__file__) ++ ++ ++def get_library_path(file): ++ cmd = subprocess.Popen([config.clang.strip(), ++ config.target_cflags.strip(), ++ '-print-file-name=%s' % file], ++ stdout=subprocess.PIPE, ++ env=config.environment) ++ if not cmd.stdout: ++ lit_config.fatal("Couldn't find the library path for '%s'" % file) ++ dir = cmd.stdout.read().strip() ++ if sys.platform in ['win32'] and execute_external: ++ # Don't pass dosish path separator to msys bash.exe. ++ dir = dir.replace('\\', '/') ++ # Ensure the result is an ascii string, across Python2.5+ - Python3. ++ return str(dir.decode('ascii')) ++ ++ ++def get_libgcc_file_name(): ++ cmd = subprocess.Popen([config.clang.strip(), ++ config.target_cflags.strip(), ++ '-print-libgcc-file-name'], ++ stdout=subprocess.PIPE, ++ env=config.environment) ++ if not cmd.stdout: ++ lit_config.fatal("Couldn't find the library path for '%s'" % file) ++ dir = cmd.stdout.read().strip() ++ if sys.platform in ['win32'] and execute_external: ++ # Don't pass dosish path separator to msys bash.exe. ++ dir = dir.replace('\\', '/') ++ # Ensure the result is an ascii string, across Python2.5+ - Python3. ++ return str(dir.decode('ascii')) ++ ++ ++def build_invocation(compile_flags): ++ return ' ' + ' '.join([config.clang] + compile_flags) + ' ' ++ ++ ++# Setup substitutions. ++config.substitutions.append( ++ ('%clang ', build_invocation([config.target_cflags]))) ++config.substitutions.append( ++ ('%clangxx ', ++ build_invocation(config.cxx_mode_flags + [config.target_cflags]))) ++ ++base_lib = os.path.join( ++ config.compiler_rt_libdir, "clang_rt.%%s-%s.o" % config.target_arch) ++config.substitutions.append(('%crtbegin', base_lib % "crtbegin")) ++config.substitutions.append(('%shared_crtbegin', base_lib % "crtbegin_shared")) ++config.substitutions.append(('%crtend', base_lib % "crtend")) ++config.substitutions.append(('%shared_crtend', base_lib % "crtend_shared")) ++ ++config.substitutions.append( ++ ('%crt1', get_library_path('crt1.o'))) ++config.substitutions.append( ++ ('%crti', get_library_path('crti.o'))) ++config.substitutions.append( ++ ('%crtn', get_library_path('crtn.o'))) ++ ++config.substitutions.append( ++ ('%libgcc', get_libgcc_file_name())) ++ ++config.substitutions.append( ++ ('%libstdcxx', '-l' + config.sanitizer_cxx_lib.lstrip('lib'))) ++ ++# Default test suffixes. ++config.suffixes = ['.c', '.cc', '.cpp'] ++ ++if config.host_os not in ['Linux']: ++ config.unsupported = True +Index: compiler-rt/test/crt/lit.site.cfg.in +=================================================================== +--- /dev/null ++++ compiler-rt/test/crt/lit.site.cfg.in +@@ -0,0 +1,14 @@ ++@LIT_SITE_CFG_IN_HEADER@ ++ ++# Tool-specific config options. ++config.name_suffix = "@CRT_TEST_CONFIG_SUFFIX@" ++config.crt_lit_source_dir = "@CRT_LIT_SOURCE_DIR@" ++config.target_cflags = "@CRT_TEST_TARGET_CFLAGS@" ++config.target_arch = "@CRT_TEST_TARGET_ARCH@" ++config.sanitizer_cxx_lib = "@SANITIZER_TEST_CXX_LIBNAME@" ++ ++# Load common config for all compiler-rt lit tests ++lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured") ++ ++# Load tool-specific config that would do the real work. ++lit_config.load_config(config, "@CRT_LIT_SOURCE_DIR@/lit.cfg") diff --git a/pkgs/development/compilers/llvm/8/default.nix b/pkgs/development/compilers/llvm/8/default.nix new file mode 100644 index 00000000000..f864e24acfe --- /dev/null +++ b/pkgs/development/compilers/llvm/8/default.nix @@ -0,0 +1,197 @@ +{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook +, libxml2, python, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith +, buildLlvmTools # tools, but from the previous stage, for cross +, targetLlvmLibraries # libraries, but from the next stage, for cross +}: + +let + release_version = "8.0.1"; + version = release_version; # differentiating these is important for rc's + + fetch = name: sha256: fetchurl { + url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz"; + inherit sha256; + }; + + clang-tools-extra_src = fetch "clang-tools-extra" "1qf3097bc5ia8p6cpmbx985rjr3yaah5s8fc0nv7pw742yv7jw8q"; + + tools = stdenv.lib.makeExtensible (tools: let + callPackage = newScope (tools // { inherit stdenv cmake libxml2 python isl release_version version fetch; }); + mkExtraBuildCommands = cc: '' + rsrc="$out/resource-root" + mkdir "$rsrc" + ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" + ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" + echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags + '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) '' + echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags + ''; + in { + + llvm = callPackage ./llvm.nix { }; + llvm-polly = callPackage ./llvm.nix { enablePolly = true; }; + + clang-unwrapped = callPackage ./clang { + inherit clang-tools-extra_src; + }; + clang-polly-unwrapped = callPackage ./clang { + inherit clang-tools-extra_src; + llvm = tools.llvm-polly; + enablePolly = true; + }; + + llvm-manpages = lowPrio (tools.llvm.override { + enableManpages = true; + python = pkgs.python; # don't use python-boot + }); + + clang-manpages = lowPrio (tools.clang-unwrapped.override { + enableManpages = true; + python = pkgs.python; # don't use python-boot + }); + + libclang = tools.clang-unwrapped.lib; + + clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang; + + libstdcxxClang = wrapCCWith rec { + cc = tools.clang-unwrapped; + extraPackages = [ + libstdcxxHook + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = mkExtraBuildCommands cc; + }; + + libcxxClang = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = targetLlvmLibraries.libcxx; + extraPackages = [ + targetLlvmLibraries.libcxx + targetLlvmLibraries.libcxxabi + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = mkExtraBuildCommands cc; + }; + + lld = callPackage ./lld.nix {}; + + lldb = callPackage ./lldb.nix {}; + + # Below, is the LLVM bootstrapping logic. It handles building a + # fully LLVM toolchain from scratch. No GCC toolchain should be + # pulled in. As a consequence, it is very quick to build different + # targets provided by LLVM and we can also build for what GCC + # doesn’t support like LLVM. Probably we should move to some other + # file. + + bintools = callPackage ./bintools.nix {}; + + lldClang = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = targetLlvmLibraries.libcxx; + bintools = wrapBintoolsWith { + inherit (tools) bintools; + }; + extraPackages = [ + targetLlvmLibraries.libcxx + targetLlvmLibraries.libcxxabi + targetLlvmLibraries.compiler-rt + ] ++ stdenv.lib.optionals (!stdenv.targetPlatform.isWasm) [ + targetLlvmLibraries.libunwind + ]; + extraBuildCommands = '' + echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags + echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags + echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags + '' + stdenv.lib.optionalString (!stdenv.targetPlatform.isWasm) '' + echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags + '' + stdenv.lib.optionalString stdenv.targetPlatform.isWasm '' + echo "-fno-exceptions" >> $out/nix-support/cc-cflags + '' + mkExtraBuildCommands cc; + }; + + lldClangNoLibcxx = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = wrapBintoolsWith { + inherit (tools) bintools; + }; + extraPackages = [ + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = '' + echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags + echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags + echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags + echo "-nostdlib++" >> $out/nix-support/cc-cflags + '' + mkExtraBuildCommands cc; + }; + + lldClangNoLibc = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = wrapBintoolsWith { + inherit (tools) bintools; + libc = null; + }; + extraPackages = [ + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = '' + echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags + echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags + echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags + '' + mkExtraBuildCommands cc; + }; + + lldClangNoCompilerRt = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = wrapBintoolsWith { + inherit (tools) bintools; + libc = null; + }; + extraPackages = [ ]; + extraBuildCommands = '' + echo "-nostartfiles" >> $out/nix-support/cc-cflags + echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags + ''; + }; + + }); + + libraries = stdenv.lib.makeExtensible (libraries: let + callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python isl release_version version fetch; }); + in { + + compiler-rt = callPackage ./compiler-rt.nix ({} // + (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt; + })); + + stdenv = overrideCC stdenv buildLlvmTools.clang; + + libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; + + libcxx = callPackage ./libc++ ({} // + (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; + })); + + libcxxabi = callPackage ./libc++abi.nix ({} // + (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; + libunwind = libraries.libunwind; + })); + + openmp = callPackage ./openmp.nix {}; + + libunwind = callPackage ./libunwind.nix ({} // + (stdenv.lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { + stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; + })); + + }); + +in { inherit tools libraries; } // libraries // tools diff --git a/pkgs/development/compilers/llvm/8/libc++/default.nix b/pkgs/development/compilers/llvm/8/libc++/default.nix new file mode 100644 index 00000000000..e0bc9e816f5 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/libc++/default.nix @@ -0,0 +1,59 @@ +{ lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version +, enableShared ? true }: + +stdenv.mkDerivation rec { + pname = "libc++"; + inherit version; + + src = fetch "libcxx" "0y4vc9z36c1zlq15cnibdzxnc1xi5glbc6klnm8a41q3db4541kz"; + + postUnpack = '' + unpackFile ${libcxxabi.src} + export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" + ''; + + patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch; + + prePatch = '' + substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" + ''; + + preConfigure = '' + # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package + cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR") + '' + lib.optionalString stdenv.hostPlatform.isMusl '' + patchShebangs utils/cat_files.py + ''; + nativeBuildInputs = [ cmake ] + ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python; + + buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; + + cmakeFlags = [ + "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib" + "-DLIBCXX_LIBCPPABI_VERSION=2" + "-DLIBCXX_CXX_ABI=libcxxabi" + ] ++ stdenv.lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1" + ++ stdenv.lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON" + ++ stdenv.lib.optional stdenv.hostPlatform.isWasm [ + "-DLIBCXX_ENABLE_THREADS=OFF" + "-DLIBCXX_ENABLE_FILESYSTEM=OFF" + "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" + ] ++ stdenv.lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; + + enableParallelBuilding = true; + + linkCxxAbi = stdenv.isLinux; + + setupHooks = [ + ../../../../../build-support/setup-hooks/role.bash + ./setup-hook.sh + ]; + + meta = { + homepage = http://libcxx.llvm.org/; + description = "A new implementation of the C++ standard library, targeting C++11"; + license = with stdenv.lib.licenses; [ ncsa mit ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/3.7/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/8/libc++/setup-hook.sh similarity index 100% rename from pkgs/development/compilers/llvm/3.7/libc++/setup-hook.sh rename to pkgs/development/compilers/llvm/8/libc++/setup-hook.sh diff --git a/pkgs/development/compilers/llvm/8/libc++abi.nix b/pkgs/development/compilers/llvm/8/libc++abi.nix new file mode 100644 index 00000000000..58a1241d823 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/libc++abi.nix @@ -0,0 +1,67 @@ +{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version +, enableShared ? true }: + +stdenv.mkDerivation { + pname = "libc++abi"; + inherit version; + + src = fetch "libcxxabi" "1vznz8n1z1h8af0ga451m98lc2hjnv4fyzl71napsvjhvk4g6nxp"; + + nativeBuildInputs = [ cmake ]; + buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; + + cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [ + "-DLLVM_ENABLE_LIBCXX=ON" + "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" + ] ++ stdenv.lib.optionals stdenv.hostPlatform.isWasm [ + "-DLIBCXXABI_ENABLE_THREADS=OFF" + "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" + ] ++ stdenv.lib.optionals (!enableShared) [ + "-DLIBCXXABI_ENABLE_SHARED=OFF" + ]; + + patches = [ ./libcxxabi-no-threads.patch ]; + + postUnpack = '' + unpackFile ${libcxx.src} + unpackFile ${llvm.src} + cmakeFlags+=" -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)" + '' + stdenv.lib.optionalString stdenv.isDarwin '' + export TRIPLE=x86_64-apple-darwin + '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} + '' + stdenv.lib.optionalString stdenv.hostPlatform.isWasm '' + patch -p1 -d $(ls -d llvm-*) -i ${./libcxxabi-wasm.patch} + ''; + + installPhase = if stdenv.isDarwin + then '' + for file in lib/*.dylib; do + # this should be done in CMake, but having trouble figuring out + # the magic combination of necessary CMake variables + # if you fancy a try, take a look at + # http://www.cmake.org/Wiki/CMake_RPATH_handling + install_name_tool -id $out/$file $file + done + make install + install -d 755 $out/include + install -m 644 ../include/*.h $out/include + '' + else '' + install -d -m 755 $out/include $out/lib + install -m 644 lib/libc++abi.a $out/lib + install -m 644 ../include/cxxabi.h $out/include + '' + stdenv.lib.optionalString enableShared '' + install -m 644 lib/libc++abi.so.1.0 $out/lib + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 + ''; + + meta = { + homepage = http://libcxxabi.llvm.org/; + description = "A new implementation of low level support for a standard C++ library"; + license = with stdenv.lib.licenses; [ ncsa mit ]; + maintainers = with stdenv.lib.maintainers; [ vlstill ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/8/libcxxabi-no-threads.patch b/pkgs/development/compilers/llvm/8/libcxxabi-no-threads.patch new file mode 100644 index 00000000000..787f3e16500 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/libcxxabi-no-threads.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4138acf..41b4763 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -362,6 +362,7 @@ if (NOT LIBCXXABI_ENABLE_THREADS) + " is also set to ON.") + endif() + add_definitions(-D_LIBCXXABI_HAS_NO_THREADS) ++ add_definitions(-D_LIBCPP_HAS_NO_THREADS) + endif() + + if (LIBCXXABI_HAS_EXTERNAL_THREAD_API) diff --git a/pkgs/development/compilers/llvm/8/libcxxabi-wasm.patch b/pkgs/development/compilers/llvm/8/libcxxabi-wasm.patch new file mode 100644 index 00000000000..4ebfe46aa81 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/libcxxabi-wasm.patch @@ -0,0 +1,16 @@ +diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake +index 15497d405e0..33f7f18193a 100644 +--- a/cmake/modules/HandleLLVMOptions.cmake ++++ b/cmake/modules/HandleLLVMOptions.cmake +@@ -127,7 +127,10 @@ else(WIN32) + set(LLVM_HAVE_LINK_VERSION_SCRIPT 1) + endif() + else(FUCHSIA OR UNIX) +- MESSAGE(SEND_ERROR "Unable to determine platform") ++ if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi") ++ else() ++ MESSAGE(SEND_ERROR "Unable to determine platform") ++ endif() + endif(FUCHSIA OR UNIX) + endif(WIN32) + diff --git a/pkgs/development/compilers/llvm/8/libunwind.nix b/pkgs/development/compilers/llvm/8/libunwind.nix new file mode 100644 index 00000000000..646cd3c3ca4 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/libunwind.nix @@ -0,0 +1,25 @@ +{ stdenv, version, fetch, cmake, fetchpatch, enableShared ? true }: + +stdenv.mkDerivation { + pname = "libunwind"; + inherit version; + + src = fetch "libunwind" "0vhgcgzsb33l83qaikrkj87ypqb48mi607rccczccwiiv8ficw0q"; + + nativeBuildInputs = [ cmake ]; + + patches = [ + (fetchpatch { + url = "https://github.com/llvm-mirror/libunwind/commit/34a45c630d4c79af403661d267db42fbe7de1178.patch"; + sha256 = "0n0pv6jvcky8pn3srhrf9x5kbnd0d2kia9xlx2g590f5q0bgwfhv"; + }) + (fetchpatch { + url = "https://github.com/llvm-mirror/libunwind/commit/e050272d2eb57eb4e56a37b429a61df2ebb8aa3e.patch"; + sha256 = "1sxyx5xnax8k713jjcxgq3jq3cpnxygs2rcdf5vfja0f2k9jzldl"; + }) + ]; + + enableParallelBuilding = true; + + cmakeFlags = stdenv.lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; +} diff --git a/pkgs/development/compilers/llvm/8/lld.nix b/pkgs/development/compilers/llvm/8/lld.nix new file mode 100644 index 00000000000..fc52d691d03 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/lld.nix @@ -0,0 +1,33 @@ +{ stdenv +, fetch +, cmake +, libxml2 +, llvm +, version +}: + +stdenv.mkDerivation { + pname = "lld"; + inherit version; + + src = fetch "lld" "121xhxrlvwy3k5nf6p1wv31whxlb635ssfkci8z93mwv4ja1xflz"; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ llvm libxml2 ]; + + outputs = [ "out" "dev" ]; + + enableParallelBuilding = true; + + postInstall = '' + moveToOutput include "$dev" + moveToOutput lib "$dev" + ''; + + meta = { + description = "The LLVM Linker"; + homepage = http://lld.llvm.org/; + license = stdenv.lib.licenses.ncsa; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/8/lldb.nix b/pkgs/development/compilers/llvm/8/lldb.nix new file mode 100644 index 00000000000..254933c82a0 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/lldb.nix @@ -0,0 +1,61 @@ +{ stdenv +, fetch +, cmake +, zlib +, ncurses +, swig +, which +, libedit +, libxml2 +, llvm +, clang-unwrapped +, python +, version +, darwin +}: + +stdenv.mkDerivation { + pname = "lldb"; + inherit version; + + src = fetch "lldb" "1mriw4adrwm6kzabrjr7yqmdiylxd6glf6samd80dp8idnm9p9z8"; + + postPatch = '' + # Fix up various paths that assume llvm and clang are installed in the same place + sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \ + cmake/modules/LLDBStandalone.cmake + sed -i 's,".*tools/clang/include","${clang-unwrapped}/include",' \ + cmake/modules/LLDBStandalone.cmake + sed -i 's,"$.LLVM_LIBRARY_DIR.",${llvm}/lib ${clang-unwrapped}/lib,' \ + cmake/modules/LLDBStandalone.cmake + ''; + + nativeBuildInputs = [ cmake python which swig ]; + buildInputs = [ ncurses zlib libedit libxml2 llvm ] + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; + + CXXFLAGS = "-fno-rtti"; + hardeningDisable = [ "format" ]; + + cmakeFlags = [ + "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic + ]; + + enableParallelBuilding = true; + + postInstall = '' + mkdir -p $out/share/man/man1 + cp ../docs/lldb.1 $out/share/man/man1/ + + install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json + mkdir $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin + ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin + ''; + + meta = with stdenv.lib; { + description = "A next-generation high-performance debugger"; + homepage = http://llvm.org/; + license = licenses.ncsa; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/8/llvm-outputs.patch b/pkgs/development/compilers/llvm/8/llvm-outputs.patch new file mode 100644 index 00000000000..40096fa3497 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/llvm-outputs.patch @@ -0,0 +1,26 @@ +diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp +index 94d426b..37f7794 100644 +--- a/tools/llvm-config/llvm-config.cpp ++++ b/tools/llvm-config/llvm-config.cpp +@@ -333,6 +333,21 @@ int main(int argc, char **argv) { + ActiveIncludeOption = "-I" + ActiveIncludeDir; + } + ++ /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared ++ if (!IsInDevelopmentTree) { ++ bool WantShared = true; ++ for (int i = 1; i < argc; ++i) { ++ StringRef Arg = argv[i]; ++ if (Arg == "--link-shared") ++ WantShared = true; ++ else if (Arg == "--link-static") ++ WantShared = false; // the last one wins ++ } ++ ++ if (WantShared) ++ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX; ++ } ++ + /// We only use `shared library` mode in cases where the static library form + /// of the components provided are not available; note however that this is + /// skipped if we're run from within the build dir. However, once installed, diff --git a/pkgs/development/compilers/llvm/8/llvm.nix b/pkgs/development/compilers/llvm/8/llvm.nix new file mode 100644 index 00000000000..6799a3f935f --- /dev/null +++ b/pkgs/development/compilers/llvm/8/llvm.nix @@ -0,0 +1,173 @@ +{ stdenv +, fetch +, cmake +, python +, libffi +, libbfd +, libpfm +, libxml2 +, ncurses +, version +, release_version +, zlib +, buildPackages +, debugVersion ? false +, enableManpages ? false +, enableSharedLibraries ? true +, enablePFM ? !(stdenv.isDarwin + || stdenv.isAarch64 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 +) +, enablePolly ? false +}: + +let + inherit (stdenv.lib) optional optionals optionalString; + + # Used when creating a version-suffixed symlink of libLLVM.dylib + shortVersion = with stdenv.lib; + concatStringsSep "." (take 1 (splitString "." release_version)); + +in stdenv.mkDerivation (rec { + name = "llvm-${version}"; + + src = fetch "llvm" "1rvm5gqp5v8hfn17kqws3zhk94w4kxndal12bqa0y57p09nply24"; + polly_src = fetch "polly" "1lfjdz3ilj5xmjxvicd8f5ykybks67ry2pdb777352r3mzlgg8g8"; + + unpackPhase = '' + unpackFile $src + mv llvm-${version}* llvm + sourceRoot=$PWD/llvm + '' + optionalString enablePolly '' + unpackFile $polly_src + mv polly-* $sourceRoot/tools/polly + ''; + + outputs = [ "out" "python" ] + ++ optional enableSharedLibraries "lib"; + + nativeBuildInputs = [ cmake python ] + ++ optionals enableManpages [ python.pkgs.sphinx python.pkgs.recommonmark ]; + + buildInputs = [ libxml2 libffi ] + ++ optional enablePFM libpfm; # exegesis + + propagatedBuildInputs = [ ncurses zlib ]; + + postPatch = optionalString stdenv.isDarwin '' + substituteInPlace cmake/modules/AddLLVM.cmake \ + --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \ + --replace 'set(_install_rpath "@loader_path/../lib" ''${extra_libdir})' "" + '' + # Patch llvm-config to return correct library path based on --link-{shared,static}. + + optionalString (enableSharedLibraries) '' + substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib + patch -p1 < ./llvm-outputs.patch + '' + '' + # FileSystem permissions tests fail with various special bits + substituteInPlace unittests/Support/CMakeLists.txt \ + --replace "Path.cpp" "" + rm unittests/Support/Path.cpp + '' + optionalString stdenv.hostPlatform.isMusl '' + patch -p1 -i ${../TLI-musl.patch} + substituteInPlace unittests/Support/CMakeLists.txt \ + --replace "add_subdirectory(DynamicLibrary)" "" + rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp + # valgrind unhappy with musl or glibc, but fails w/musl only + rm test/CodeGen/AArch64/wineh4.mir + '' + '' + patchShebangs test/BugPoint/compile-custom.ll.py + ''; + + # hacky fix: created binaries need to be run before installation + preBuild = '' + mkdir -p $out/ + ln -sv $PWD/lib $out + ''; + + cmakeFlags = with stdenv; [ + "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}" + "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc + "-DLLVM_BUILD_TESTS=ON" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_ENABLE_RTTI=ON" + "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" + "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" + "-DLLVM_ENABLE_DUMP=ON" + ] ++ optionals enableSharedLibraries [ + "-DLLVM_LINK_LLVM_DYLIB=ON" + ] ++ optionals enableManpages [ + "-DLLVM_BUILD_DOCS=ON" + "-DLLVM_ENABLE_SPHINX=ON" + "-DSPHINX_OUTPUT_MAN=ON" + "-DSPHINX_OUTPUT_HTML=OFF" + "-DSPHINX_WARNINGS_AS_ERRORS=OFF" + ] ++ optionals (!isDarwin) [ + "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" + ] ++ optionals (isDarwin) [ + "-DLLVM_ENABLE_LIBCXX=ON" + "-DCAN_TARGET_i386=false" + ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-DCMAKE_CROSSCOMPILING=True" + "-DLLVM_TABLEGEN=${buildPackages.llvm_7}/bin/llvm-tblgen" + ]; + + postBuild = '' + rm -fR $out + ''; + + preCheck = '' + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib + ''; + + postInstall = '' + mkdir -p $python/share + mv $out/share/opt-viewer $python/share/opt-viewer + '' + + optionalString enableSharedLibraries '' + moveToOutput "lib/libLLVM-*" "$lib" + moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib" + substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ + --replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-" + '' + + optionalString (stdenv.isDarwin && enableSharedLibraries) '' + substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ + --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" + ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib + ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib + ''; + + doCheck = stdenv.isLinux && (!stdenv.isx86_32); + + checkTarget = "check-all"; + + enableParallelBuilding = true; + + meta = { + description = "Collection of modular and reusable compiler and toolchain technologies"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.ncsa; + maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ]; + platforms = stdenv.lib.platforms.all; + }; +} // stdenv.lib.optionalAttrs enableManpages { + name = "llvm-manpages-${version}"; + + buildPhase = '' + make docs-llvm-man + ''; + + propagatedBuildInputs = []; + + installPhase = '' + make -C docs install + ''; + + postPatch = null; + postInstall = null; + + outputs = [ "out" ]; + + doCheck = false; + + meta.description = "man pages for LLVM ${version}"; +}) diff --git a/pkgs/development/compilers/llvm/8/openmp.nix b/pkgs/development/compilers/llvm/8/openmp.nix new file mode 100644 index 00000000000..166e7f68eb3 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/openmp.nix @@ -0,0 +1,26 @@ +{ stdenv +, fetch +, cmake +, llvm +, perl +, version +}: + +stdenv.mkDerivation { + pname = "openmp"; + inherit version; + + src = fetch "openmp" "0b3jlxhqbpyd1nqkpxjfggm5d9va5qpyf7d4i5y7n4a1mlydv19y"; + + nativeBuildInputs = [ cmake perl ]; + buildInputs = [ llvm ]; + + enableParallelBuilding = true; + + meta = { + description = "Components required to build an executable OpenMP program"; + homepage = http://openmp.llvm.org/; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/8/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/8/sanitizers-nongnu.patch new file mode 100644 index 00000000000..1f2ac97818e --- /dev/null +++ b/pkgs/development/compilers/llvm/8/sanitizers-nongnu.patch @@ -0,0 +1,412 @@ +From f7a253f8f85d0f49df6b73996737a3e84ac64236 Mon Sep 17 00:00:00 2001 +From: Will Dietz +Date: Mon, 24 Sep 2018 11:17:25 -0500 +Subject: [PATCH] Ported to 7.0, taken from gentoo-musl project. + +------ +Ported to compiler-rt-sanitizers-5.0.0. Taken from + +https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch +Signed-off-by: Jory A. Pratt + +Taken from gentoo-musl project, with a few additional minor fixes. +--- + lib/asan/asan_linux.cc | 4 +- + lib/interception/interception_linux.cc | 2 +- + lib/interception/interception_linux.h | 2 +- + lib/msan/msan_linux.cc | 2 +- + lib/sanitizer_common/sanitizer_allocator.cc | 2 +- + .../sanitizer_common_interceptors_ioctl.inc | 4 +- + .../sanitizer_common_syscalls.inc | 2 +- + lib/sanitizer_common/sanitizer_linux.cc | 8 +++- + .../sanitizer_linux_libcdep.cc | 10 ++--- + lib/sanitizer_common/sanitizer_platform.h | 6 +++ + .../sanitizer_platform_interceptors.h | 4 +- + .../sanitizer_platform_limits_posix.cc | 37 +++++++++++-------- + lib/tsan/rtl/tsan_platform_linux.cc | 2 +- + 13 files changed, 51 insertions(+), 34 deletions(-) + +diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc +index 625f32d40..73cf77aca 100644 +--- a/lib/asan/asan_linux.cc ++++ b/lib/asan/asan_linux.cc +@@ -46,7 +46,7 @@ + #include + #endif + +-#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS ++#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU + #include + extern "C" void* _DYNAMIC; + #elif SANITIZER_NETBSD +@@ -139,7 +139,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) { + UNIMPLEMENTED(); + } + +-#if SANITIZER_ANDROID ++#if SANITIZER_ANDROID || SANITIZER_NONGNU + // FIXME: should we do anything for Android? + void AsanCheckDynamicRTPrereqs() {} + void AsanCheckIncompatibleRT() {} +diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc +index 26bfcd8f6..529b234f7 100644 +--- a/lib/interception/interception_linux.cc ++++ b/lib/interception/interception_linux.cc +@@ -43,7 +43,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr, + } + + // Android and Solaris do not have dlvsym +-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD ++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD && !SANITIZER_NONGNU + void *GetFuncAddrVer(const char *func_name, const char *ver) { + return dlvsym(RTLD_NEXT, func_name, ver); + } +diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h +index 942c25609..24a4d5080 100644 +--- a/lib/interception/interception_linux.h ++++ b/lib/interception/interception_linux.h +@@ -36,7 +36,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver); + (::__interception::uptr) & WRAP(func)) + + // Android, Solaris and OpenBSD do not have dlvsym +-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD ++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD && !SANITIZER_NONGNU + #define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \ + (::__interception::real_##func = (func##_f)( \ + unsigned long)::__interception::GetFuncAddrVer(#func, symver)) +diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc +index 385a650c4..6e30a8ce9 100644 +--- a/lib/msan/msan_linux.cc ++++ b/lib/msan/msan_linux.cc +@@ -13,7 +13,7 @@ + //===----------------------------------------------------------------------===// + + #include "sanitizer_common/sanitizer_platform.h" +-#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD ++#if SANITIZER_FREEBSD || (SANITIZER_LINUX && !SANITIZER_NONGNU) || SANITIZER_NETBSD + + #include "msan.h" + #include "msan_report.h" +diff --git a/lib/sanitizer_common/sanitizer_allocator.cc b/lib/sanitizer_common/sanitizer_allocator.cc +index 6bfd5e5ee..048f6154f 100644 +--- a/lib/sanitizer_common/sanitizer_allocator.cc ++++ b/lib/sanitizer_common/sanitizer_allocator.cc +@@ -27,7 +27,7 @@ const char *SecondaryAllocatorName = "LargeMmapAllocator"; + + // ThreadSanitizer for Go uses libc malloc/free. + #if SANITIZER_GO || defined(SANITIZER_USE_MALLOC) +-# if SANITIZER_LINUX && !SANITIZER_ANDROID ++# if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + extern "C" void *__libc_malloc(uptr size); + # if !SANITIZER_GO + extern "C" void *__libc_memalign(uptr alignment, uptr size); +diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +index 2d633c173..b6eb23116 100644 +--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc ++++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +@@ -104,7 +104,7 @@ static void ioctl_table_fill() { + _(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz); + #endif + +-#if SANITIZER_LINUX ++#if SANITIZER_LINUX && !SANITIZER_NONGNU + // Conflicting request ids. + // _(CDROMAUDIOBUFSIZ, NONE, 0); + // _(SNDCTL_TMR_CONTINUE, NONE, 0); +@@ -365,7 +365,7 @@ static void ioctl_table_fill() { + _(VT_WAITACTIVE, NONE, 0); + #endif + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE + _(CYGETDEFTHRESH, WRITE, sizeof(int)); + _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); +diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc +index 469c8eb7e..24f87867d 100644 +--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc ++++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc +@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) { + } + } + +-#if !SANITIZER_ANDROID ++#if !SANITIZER_ANDROID && !SANITIZER_NONGNU + PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim, + void *old_rlim) { + if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz); +diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc +index 96d6c1eff..9e2b7fb9d 100644 +--- a/lib/sanitizer_common/sanitizer_linux.cc ++++ b/lib/sanitizer_common/sanitizer_linux.cc +@@ -541,13 +541,13 @@ const char *GetEnv(const char *name) { + #endif + } + +-#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_OPENBSD ++#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_NONGNU + extern "C" { + SANITIZER_WEAK_ATTRIBUTE extern void *__libc_stack_end; + } + #endif + +-#if !SANITIZER_GO && !SANITIZER_FREEBSD && !SANITIZER_NETBSD && \ ++#if (!SANITIZER_GO || SANITIZER_NONGNU) && !SANITIZER_FREEBSD && !SANITIZER_NETBSD && \ + !SANITIZER_OPENBSD + static void ReadNullSepFileToArray(const char *path, char ***arr, + int arr_size) { +@@ -590,6 +590,10 @@ static void GetArgsAndEnv(char ***argv, char ***envp) { + #elif SANITIZER_NETBSD + *argv = __ps_strings->ps_argvstr; + *envp = __ps_strings->ps_envstr; ++#elif SANITIZER_NONGNU ++ static const int kMaxArgv = 2000, kMaxEnvp = 2000; ++ ReadNullSepFileToArray("/proc/self/cmdline", argv, kMaxArgv); ++ ReadNullSepFileToArray("/proc/self/environ", envp, kMaxEnvp); + #else // SANITIZER_FREEBSD + #if !SANITIZER_GO + if (&__libc_stack_end) { +diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc +index 4962ff832..438f94dbe 100644 +--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc ++++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc +@@ -179,7 +179,7 @@ __attribute__((unused)) static bool GetLibcVersion(int *major, int *minor, + } + + #if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && \ +- !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_SOLARIS ++ !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_SOLARIS && !SANITIZER_NONGNU + static uptr g_tls_size; + + #ifdef __i386__ +@@ -261,7 +261,7 @@ void InitTlsSize() { } + #if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) || \ + defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) || \ + defined(__arm__)) && \ +- SANITIZER_LINUX && !SANITIZER_ANDROID ++ SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + // sizeof(struct pthread) from glibc. + static atomic_uintptr_t thread_descriptor_size; + +@@ -426,7 +426,7 @@ int GetSizeFromHdr(struct dl_phdr_info *info, size_t size, void *data) { + + #if !SANITIZER_GO + static void GetTls(uptr *addr, uptr *size) { +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + # if defined(__x86_64__) || defined(__i386__) || defined(__s390__) + *addr = ThreadSelf(); + *size = GetTlsSize(); +@@ -470,7 +470,7 @@ static void GetTls(uptr *addr, uptr *size) { + #elif SANITIZER_OPENBSD + *addr = 0; + *size = 0; +-#elif SANITIZER_ANDROID ++#elif SANITIZER_ANDROID || SANITIZER_NONGNU + *addr = 0; + *size = 0; + #elif SANITIZER_SOLARIS +@@ -486,7 +486,7 @@ static void GetTls(uptr *addr, uptr *size) { + #if !SANITIZER_GO + uptr GetTlsSize() { + #if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NETBSD || \ +- SANITIZER_OPENBSD || SANITIZER_SOLARIS ++ SANITIZER_OPENBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU + uptr addr, size; + GetTls(&addr, &size); + return size; +diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h +index d81e25580..e10680ac8 100644 +--- a/lib/sanitizer_common/sanitizer_platform.h ++++ b/lib/sanitizer_common/sanitizer_platform.h +@@ -208,6 +208,12 @@ + # define SANITIZER_SOLARIS32 0 + #endif + ++#if defined(__linux__) && !defined(__GLIBC__) ++# define SANITIZER_NONGNU 1 ++#else ++# define SANITIZER_NONGNU 0 ++#endif ++ + #if defined(__myriad2__) + # define SANITIZER_MYRIAD2 1 + #else +diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h +index f95539a73..6c53b3415 100644 +--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h ++++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h +@@ -39,7 +39,7 @@ + # include "sanitizer_platform_limits_solaris.h" + #endif + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + # define SI_LINUX_NOT_ANDROID 1 + #else + # define SI_LINUX_NOT_ANDROID 0 +@@ -322,7 +322,7 @@ + #define SANITIZER_INTERCEPT_ETHER_R (SI_FREEBSD || SI_LINUX_NOT_ANDROID) + #define SANITIZER_INTERCEPT_SHMCTL \ + (SI_NETBSD || SI_OPENBSD || SI_SOLARIS || \ +- ((SI_FREEBSD || SI_LINUX_NOT_ANDROID) && \ ++ ((SI_FREEBSD || SI_LINUX_NOT_ANDROID || SANITIZER_NONGNU) && \ + SANITIZER_WORDSIZE == 64)) // NOLINT + #define SANITIZER_INTERCEPT_RANDOM_R SI_LINUX_NOT_ANDROID + #define SANITIZER_INTERCEPT_PTHREAD_ATTR_GET SI_POSIX +diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +index 54da635d7..2f6ff69c3 100644 +--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -14,6 +14,9 @@ + + #include "sanitizer_platform.h" + ++// Workaround musl <--> linux conflicting definition of 'struct sysinfo' ++#define _LINUX_SYSINFO_H ++ + #if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC + // Tests in this file assume that off_t-dependent data structures match the + // libc ABI. For example, struct dirent here is what readdir() function (as +@@ -138,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t; + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + #include +-#include ++# if !SANITIZER_NONGNU ++# include ++# endif + #include +-#include +-#include +-#include +-#include ++#include ++#include ++#include ++#include + #if HAVE_RPC_XDR_H + # include + #elif HAVE_TIRPC_RPC_XDR_H +@@ -251,7 +256,7 @@ namespace __sanitizer { + unsigned struct_itimerspec_sz = sizeof(struct itimerspec); + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + // Use pre-computed size of struct ustat to avoid which + // has been removed from glibc 2.28. + #if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \ +@@ -322,7 +327,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr)); + unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + #endif + +-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID ++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU + int glob_nomatch = GLOB_NOMATCH; + int glob_altdirfunc = GLOB_ALTDIRFUNC; + #endif +@@ -416,7 +421,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + unsigned struct_termios_sz = sizeof(struct termios); + unsigned struct_winsize_sz = sizeof(struct winsize); + +-#if SANITIZER_LINUX ++#if SANITIZER_LINUX && !SANITIZER_NONGNU + unsigned struct_arpreq_sz = sizeof(struct arpreq); + unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf); + unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession); +@@ -466,7 +471,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + unsigned struct_vt_mode_sz = sizeof(struct vt_mode); + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); + unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); + #if EV_VERSION > (0x010000) +@@ -834,7 +839,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE; + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH; + unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT; + unsigned IOCTL_CYGETMON = CYGETMON; +@@ -989,7 +994,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr); + CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum); + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + +-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID ++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU + CHECK_TYPE_SIZE(glob_t); + CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc); + CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv); +@@ -1023,6 +1028,7 @@ CHECK_TYPE_SIZE(iovec); + CHECK_SIZE_AND_OFFSET(iovec, iov_base); + CHECK_SIZE_AND_OFFSET(iovec, iov_len); + ++#if !SANITIZER_NONGNU + CHECK_TYPE_SIZE(msghdr); + CHECK_SIZE_AND_OFFSET(msghdr, msg_name); + CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen); +@@ -1036,6 +1042,7 @@ CHECK_TYPE_SIZE(cmsghdr); + CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len); + CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level); + CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type); ++#endif + + #ifndef __GLIBC_PREREQ + #define __GLIBC_PREREQ(x, y) 0 +@@ -1145,7 +1152,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno); + + CHECK_TYPE_SIZE(ether_addr); + +-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID ++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU + CHECK_TYPE_SIZE(ipc_perm); + # if SANITIZER_FREEBSD + CHECK_SIZE_AND_OFFSET(ipc_perm, key); +@@ -1206,7 +1213,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr); + CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data); + #endif + +-#if SANITIZER_LINUX ++#if SANITIZER_LINUX && !SANITIZER_NONGNU + COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo)); + #endif + +@@ -1256,7 +1263,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE); + COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE); + #endif + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE)); + CHECK_SIZE_AND_OFFSET(FILE, _flags); + CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr); +@@ -1275,7 +1282,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain); + CHECK_SIZE_AND_OFFSET(FILE, _fileno); + #endif + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk)); + CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit); + CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev); +diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc +index de989b780..51a97b554 100644 +--- a/lib/tsan/rtl/tsan_platform_linux.cc ++++ b/lib/tsan/rtl/tsan_platform_linux.cc +@@ -294,7 +294,7 @@ void InitializePlatform() { + // This is required to properly "close" the fds, because we do not see internal + // closes within glibc. The code is a pure hack. + int ExtractResolvFDs(void *state, int *fds, int nfd) { +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU + int cnt = 0; + struct __res_state *statp = (struct __res_state*)state; + for (int i = 0; i < MAXNS && cnt < nfd; i++) { +-- +2.19.0 + diff --git a/pkgs/development/compilers/manticore/default.nix b/pkgs/development/compilers/manticore/default.nix index efbf8561b7f..1c0bdf47987 100644 --- a/pkgs/development/compilers/manticore/default.nix +++ b/pkgs/development/compilers/manticore/default.nix @@ -3,7 +3,7 @@ let rev= "47273c463fc3c5d0a0ae655cf75a4700bdb020b4"; in stdenv.mkDerivation rec { - name = "manticore-${version}"; + pname = "manticore"; version = "2018.09.29"; src = fetchFromGitHub { diff --git a/pkgs/development/compilers/matter-compiler/Gemfile.lock b/pkgs/development/compilers/matter-compiler/Gemfile.lock index 2eefe96ec63..ab1833b3cfe 100644 --- a/pkgs/development/compilers/matter-compiler/Gemfile.lock +++ b/pkgs/development/compilers/matter-compiler/Gemfile.lock @@ -10,4 +10,4 @@ DEPENDENCIES matter_compiler BUNDLED WITH - 1.10.6 + 1.17.2 diff --git a/pkgs/development/compilers/matter-compiler/default.nix b/pkgs/development/compilers/matter-compiler/default.nix index 63e5b50c3d4..f415fa8c012 100644 --- a/pkgs/development/compilers/matter-compiler/default.nix +++ b/pkgs/development/compilers/matter-compiler/default.nix @@ -1,11 +1,11 @@ +{ lib, bundlerApp, bundlerUpdateScript }: -{ lib, bundlerEnv, ruby }: - -bundlerEnv { - name = "matter_compiler-0.5.1"; - - inherit ruby; +bundlerApp { + pname = "matter_compiler"; gemdir = ./.; + exes = [ "matter_compiler" ]; + + passthru.updateScript = bundlerUpdateScript "matter-compiler"; meta = with lib; { description = '' @@ -14,7 +14,7 @@ bundlerEnv { ''; homepage = https://github.com/apiaryio/matter_compiler/; license = licenses.mit; - maintainers = with maintainers; [ rvlander ]; + maintainers = with maintainers; [ rvlander manveru nicknovitski ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/compilers/matter-compiler/gemset.nix b/pkgs/development/compilers/matter-compiler/gemset.nix index 9ac7ae8d20e..014fc226607 100644 --- a/pkgs/development/compilers/matter-compiler/gemset.nix +++ b/pkgs/development/compilers/matter-compiler/gemset.nix @@ -1,9 +1,12 @@ { - "matter_compiler" = { - version = "0.5.1"; + matter_compiler = { + groups = ["default"]; + platforms = []; source = { - type = "gem"; + remotes = ["https://rubygems.org"]; sha256 = "16501zdiqxk34v2d0nlbwrcrjm6g57hrsmsw0crwssn29v5zbykf"; + type = "gem"; }; + version = "0.5.1"; }; } \ No newline at end of file diff --git a/pkgs/development/compilers/mercury/default.nix b/pkgs/development/compilers/mercury/default.nix index 048dd598a48..0327e0dc215 100644 --- a/pkgs/development/compilers/mercury/default.nix +++ b/pkgs/development/compilers/mercury/default.nix @@ -2,7 +2,7 @@ , readline }: stdenv.mkDerivation rec { - name = "mercury-${version}"; + pname = "mercury"; version = "14.01.1"; src = fetchurl { @@ -56,7 +56,7 @@ stdenv.mkDerivation rec { ''; homepage = "http://mercurylang.org"; license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; maintainers = [ ]; }; } diff --git a/pkgs/development/compilers/microscheme/default.nix b/pkgs/development/compilers/microscheme/default.nix index f15a7624327..a18202b9f88 100644 --- a/pkgs/development/compilers/microscheme/default.nix +++ b/pkgs/development/compilers/microscheme/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchzip, vim, makeWrapper }: stdenv.mkDerivation rec { - name = "microscheme-${version}"; + pname = "microscheme"; version = "0.9.3"; src = fetchzip { - name = "${name}-src"; + name = "${pname}-${version}-src"; url = "https://github.com/ryansuchocki/microscheme/archive/v${version}.tar.gz"; sha256 = "1r3ng4pw1s9yy1h5rafra1rq19d3vmb5pzbpcz1913wz22qdd976"; }; diff --git a/pkgs/development/compilers/mint/default.nix b/pkgs/development/compilers/mint/default.nix index de7e3bd6a07..5f72bd3649b 100644 --- a/pkgs/development/compilers/mint/default.nix +++ b/pkgs/development/compilers/mint/default.nix @@ -1,64 +1,27 @@ -# Updating the dependencies for this package: -# -# wget https://raw.githubusercontent.com/mint-lang/mint/0.3.1/shard.lock -# nix-shell -p crystal libyaml --run 'crystal run crystal2nix.cr' -# -{stdenv, lib, fetchFromGitHub, crystal, zlib, openssl, duktape, which, libyaml }: -let - crystalPackages = lib.mapAttrs (name: src: - stdenv.mkDerivation { - name = lib.replaceStrings ["/"] ["-"] name; - src = fetchFromGitHub src; - phases = "installPhase"; - installPhase = ''cp -r $src $out''; - passthru = { libName = name; }; - } - ) (import ./shards.nix); - - crystalLib = stdenv.mkDerivation { - name = "crystal-lib"; - src = lib.attrValues crystalPackages; - libNames = lib.mapAttrsToList (k: v: [k v]) crystalPackages; - phases = "buildPhase"; - buildPhase = '' - mkdir -p $out - linkup () { - while [ "$#" -gt 0 ]; do - ln -s $2 $out/$1 - shift; shift - done - } - linkup $libNames - ''; - }; -in -stdenv.mkDerivation rec { - version = "0.3.1"; - name = "mint-${version}"; +{ lib, fetchFromGitHub, crystal, zlib, openssl_1_0_2, duktape, which, libyaml }: +crystal.buildCrystalPackage rec { + version = "0.5.0"; + pname = "mint"; src = fetchFromGitHub { owner = "mint-lang"; repo = "mint"; rev = version; - sha256 = "1f49ax045zdjj0ypc2j4ms9gx80rl63qcsfzm3r0k0lcavfp57zr"; + sha256 = "0vxbx38c390rd2ysvbwgh89v2232sh5rbsp3nk9wzb70jybpslvl"; }; - nativeBuildInputs = [ which crystal zlib openssl duktape libyaml ]; + buildInputs = [ openssl_1_0_2 ]; - buildPhase = '' - mkdir -p $out/bin tmp - cd tmp - ln -s ${crystalLib} lib - cp -r $src/* . - crystal build src/mint.cr -o $out/bin/mint --verbose --progress --release --no-debug - ''; - - installPhase = ''true''; + # Update with + # nix-shell -p crystal2nix --run crystal2nix + # with mint's shard.lock file in the current directory + shardsFile = ./shards.nix; + crystalBinaries.mint.src = "src/mint.cr"; meta = { description = "A refreshing language for the front-end web"; homepage = https://mint-lang.com/; - license = stdenv.lib.licenses.bsd3; - maintainers = with stdenv.lib.maintainers; [ manveru ]; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ manveru ]; platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/development/compilers/mint/shards.nix b/pkgs/development/compilers/mint/shards.nix index fbf85ef8042..dc6866e3af3 100644 --- a/pkgs/development/compilers/mint/shards.nix +++ b/pkgs/development/compilers/mint/shards.nix @@ -8,8 +8,8 @@ ameba = { owner = "veelenga"; repo = "ameba"; - rev = "v0.8.0"; - sha256 = "0i9vc5xy05kzxgjid2rnvc7ksvxm9gba25qqi6939q2m1s07qjka"; + rev = "v0.9.1"; + sha256 = "05q2ki9dpg23pllalv5p27f1m287kiicp97ziz0z7vv0vg1r8smj"; }; baked_file_system = { owner = "schovi"; @@ -23,23 +23,23 @@ rev = "51962dc36f9bbb1b926d557f7cb8993a6c73cc63"; sha256 = "1nwnsxm8srfw8jg0yfi2v19x6j3dadx62hq0xpxra40qcqz9dbnp"; }; - duktape = { - owner = "jessedoyle"; - repo = "duktape.cr"; - rev = "v0.14.1"; - sha256 = "0fkay3qspzych050xl8xjkrphmxpzaj0dcf9jl22xwz8cx1l89f1"; + dotenv = { + owner = "gdotdesign"; + repo = "cr-dotenv"; + rev = "v0.2.0"; + sha256 = "0zi2y1j2546xjhdzn7icmry0cjv82cx2cqmpgx5ml37c2pnb7kp7"; }; exception_page = { owner = "crystal-loot"; repo = "exception_page"; - rev = "v0.1.1"; - sha256 = "0pimjm64p21cjhp0jhcgdmbgisx7amk8hhbkcprkbr44bj6rv9ay"; + rev = "v0.1.2"; + sha256 = "0j5ishhyriq9p339yaawrmawl9wgmp1paniq30a8d6a0568h3avq"; }; kemal = { owner = "kemalcr"; repo = "kemal"; - rev = "v0.24.0"; - sha256 = "0sg7gy1lbhid9y9wh77m9sd00jygk92njm4mpb7w1fq8bjnm738k"; + rev = "v0.25.1"; + sha256 = "1334i905xj6vlmp8acyybwwlaxsgmf90b59da7brzpnf28wci782"; }; kilt = { owner = "jeromegn"; @@ -50,8 +50,8 @@ radix = { owner = "luislavena"; repo = "radix"; - rev = "v0.3.8"; - sha256 = "1kn2xxj8a8j6f6g1dr0s9mkrj1xqnpzw9wnbq24mbv8ach9a1hva"; + rev = "v0.3.9"; + sha256 = "19pksfr7ddc31hvikb433jg0zav1ar93k6zmsgaf3vsrjnvia3ix"; }; string_inflection = { owner = "mosop"; diff --git a/pkgs/development/compilers/mkcl/default.nix b/pkgs/development/compilers/mkcl/default.nix index 8ec249ed360..405846343cf 100644 --- a/pkgs/development/compilers/mkcl/default.nix +++ b/pkgs/development/compilers/mkcl/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, makeWrapper, gmp, gcc }: with stdenv.lib; stdenv.mkDerivation rec { - name = "mkcl-${version}"; - version = "1.1.10.2017-11-14"; + pname = "mkcl"; + version = "1.1.11"; src = fetchFromGitHub { owner = "jcbeaudoin"; repo = "mkcl"; - rev = "d3f5afe945907153db2be5a17a419966f83d7653"; - sha256 = "1jfmnh96b5dy1874a9y843vihd14ya4by46rb4h5izldp6x3j3kl"; + rev = "v${version}"; + sha256 = "0i2bfkda20lfypis6i4m7srfz6miyf66d8knp693d6sms73m2l26"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/compilers/mlton/20130715.nix b/pkgs/development/compilers/mlton/20130715.nix index f495be8a93e..207ed8f29bc 100644 --- a/pkgs/development/compilers/mlton/20130715.nix +++ b/pkgs/development/compilers/mlton/20130715.nix @@ -9,32 +9,33 @@ let in stdenv.mkDerivation rec { - name = "mlton-${version}"; + pname = "mlton"; + inherit version; binSrc = if stdenv.hostPlatform.system == "i686-linux" then (fetchurl { - url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.x86-linux.tgz"; + url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}-1.x86-linux.tgz"; sha256 = "1kxjjmnw4xk2d9hpvz43w9dvyhb3025k4zvjx785c33nrwkrdn4j"; }) else if stdenv.hostPlatform.system == "x86_64-linux" then (fetchurl { - url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.amd64-linux.tgz"; + url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}-1.amd64-linux.tgz"; sha256 = "0fyhwxb4nmpirjbjcvk9f6w67gmn2gkz7xcgz0xbfih9kc015ygn"; }) else if stdenv.hostPlatform.system == "x86_64-darwin" then (fetchurl { - url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.amd64-darwin.gmp-macports.tgz"; + url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}-1.amd64-darwin.gmp-macports.tgz"; sha256 = "044wnh9hhg6if886xy805683k0as347xd37r0r1yi4x7qlxzzgx9"; }) else throw "Architecture not supported"; codeSrc = fetchurl { - url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}.src.tgz"; + url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}.src.tgz"; sha256 = "0v1x2hrh9hiqkvnbq11kf34v4i5a2x0ffxbzqaa8skyl26nmfn11"; }; srcs = [ binSrc codeSrc ]; - sourceRoot = name; + sourceRoot = "${pname}-${version}"; buildInputs = [ gmp ]; nativeBuildInputs = stdenv.lib.optional stdenv.isLinux patchelf; diff --git a/pkgs/development/compilers/mlton/20180207-binary.nix b/pkgs/development/compilers/mlton/20180207-binary.nix index 0589733cb3c..2b4998f91c9 100644 --- a/pkgs/development/compilers/mlton/20180207-binary.nix +++ b/pkgs/development/compilers/mlton/20180207-binary.nix @@ -3,15 +3,15 @@ let dynamic-linker = stdenv.cc.bintools.dynamicLinker; in stdenv.mkDerivation rec { - name = "mlton-${version}"; + pname = "mlton"; version = "20180207"; src = if stdenv.hostPlatform.system == "x86_64-linux" then (fetchurl { - url = "https://github.com/MLton/mlton/releases/download/on-${version}-release/${name}-1.amd64-linux.tgz"; + url = "https://github.com/MLton/mlton/releases/download/on-${version}-release/${pname}-${version}-1.amd64-linux.tgz"; sha256 = "0f4q575yfm5dpg4a2wsnqn4l2zrar96p6rlsk0dw10ggyfwvsjlf"; }) else if stdenv.hostPlatform.system == "x86_64-darwin" then (fetchurl { - url = "https://github.com/MLton/mlton/releases/download/on-${version}-release/${name}-1.amd64-darwin.gmp-static.tgz"; + url = "https://github.com/MLton/mlton/releases/download/on-${version}-release/${pname}-${version}-1.amd64-darwin.gmp-static.tgz"; sha256 = "1cw7yhw48qp12q0adwf8srpjzrgkp84kmlkqw3pz8vkxz4p9hbdv"; }) else diff --git a/pkgs/development/compilers/mlton/from-git-source.nix b/pkgs/development/compilers/mlton/from-git-source.nix index 3a3538a7ea4..2585b599caf 100644 --- a/pkgs/development/compilers/mlton/from-git-source.nix +++ b/pkgs/development/compilers/mlton/from-git-source.nix @@ -9,7 +9,8 @@ }: stdenv.mkDerivation { - name = "mlton-${version}"; + pname = "mlton"; + inherit version; src = fetchgit { inherit url rev sha256; diff --git a/pkgs/development/compilers/mono/5.nix b/pkgs/development/compilers/mono/5.nix index 2b987b08364..0db13308a5a 100644 --- a/pkgs/development/compilers/mono/5.nix +++ b/pkgs/development/compilers/mono/5.nix @@ -2,7 +2,7 @@ callPackage ./generic.nix (rec { inherit Foundation libobjc; - version = "5.16.0.220"; - sha256 = "1qwdmxssplfdb5rq86f1j8lskvr9dfk5c8hqz9ic09ml69r8c87l"; - enableParallelBuilding = false; + version = "5.20.1.27"; + sha256 = "15rpwxw642ad1na93k5nj7d2lb24f21kncr924gxr00178a9x0jy"; + enableParallelBuilding = true; }) diff --git a/pkgs/development/compilers/mono/6.nix b/pkgs/development/compilers/mono/6.nix new file mode 100644 index 00000000000..ec91d7e979c --- /dev/null +++ b/pkgs/development/compilers/mono/6.nix @@ -0,0 +1,9 @@ +{ callPackage, Foundation, libobjc }: + +callPackage ./generic.nix (rec { + inherit Foundation libobjc; + version = "6.0.0.313"; + srcArchiveSuffix = "tar.xz"; + sha256 = "0l0cd6q5xh1vdm6zr78rkfqdsmrgzanjgpxvgig0pyd3glfyjim9"; + enableParallelBuilding = true; +}) diff --git a/pkgs/development/compilers/mono/generic.nix b/pkgs/development/compilers/mono/generic.nix index 400b040ae85..9a2f01b9f3d 100644 --- a/pkgs/development/compilers/mono/generic.nix +++ b/pkgs/development/compilers/mono/generic.nix @@ -1,14 +1,18 @@ -{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? false, cacert, Foundation, libobjc, python, version, sha256, autoconf, libtool, automake, cmake, which, enableParallelBuilding ? true }: +{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? false, cacert, Foundation, libobjc, python, version, sha256, autoconf, libtool, automake, cmake, which +, enableParallelBuilding ? true +, srcArchiveSuffix ? "tar.bz2" +}: let llvm = callPackage ./llvm.nix { }; in stdenv.mkDerivation rec { - name = "mono-${version}"; + pname = "mono"; + inherit version; src = fetchurl { inherit sha256; - url = "https://download.mono-project.com/sources/mono/${name}.tar.bz2"; + url = "https://download.mono-project.com/sources/mono/${pname}-${version}.${srcArchiveSuffix}"; }; buildInputs = @@ -58,7 +62,7 @@ stdenv.mkDerivation rec { # Fix mono DLLMap so it can find libX11 to run winforms apps # libgdiplus is correctly handled by the --with-libgdiplus configure flag # Other items in the DLLMap may need to be pointed to their store locations, I don't think this is exhaustive - # http://www.mono-project.com/Config_DllMap + # https://www.mono-project.com/Config_DllMap postBuild = '' find . -name 'config' -type f | xargs \ sed -i -e "s@libX11.so.6@${libX11.out}/lib/libX11.so.6@g" @@ -80,7 +84,7 @@ stdenv.mkDerivation rec { inherit enableParallelBuilding; meta = with stdenv.lib; { - homepage = http://mono-project.com/; + homepage = https://mono-project.com/; description = "Cross platform, open source .NET development framework"; platforms = with platforms; darwin ++ linux; maintainers = with maintainers; [ thoughtpolice obadz vrthra ]; diff --git a/pkgs/development/compilers/mono/llvm.nix b/pkgs/development/compilers/mono/llvm.nix index 616ec420d2d..193e45bf55e 100644 --- a/pkgs/development/compilers/mono/llvm.nix +++ b/pkgs/development/compilers/mono/llvm.nix @@ -14,7 +14,7 @@ }: stdenv.mkDerivation rec { - name = "llvm-${version}"; + pname = "llvm"; version = "3.6-mono-2017-02-15"; src = fetchFromGitHub { diff --git a/pkgs/development/compilers/mosml/default.nix b/pkgs/development/compilers/mosml/default.nix index 5ea3f63ccd1..19324593a30 100644 --- a/pkgs/development/compilers/mosml/default.nix +++ b/pkgs/development/compilers/mosml/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, gmp, perl }: stdenv.mkDerivation rec { - name = "mosml-${version}"; + pname = "mosml"; version = "2.10.1"; buildInputs = [ gmp perl ]; - makeFlags = "PREFIX=$(out)"; + makeFlags = [ "PREFIX=$(out)" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "CC=cc" ]; src = fetchurl { url = "https://github.com/kfl/mosml/archive/ver-${version}.tar.gz"; @@ -21,9 +21,9 @@ stdenv.mkDerivation rec { Moscow ML is a light-weight implementation of Standard ML (SML), a strict functional language used in teaching and research. ''; - homepage = http://mosml.org/; + homepage = https://mosml.org/; license = licenses.gpl2; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = with maintainers; [ vaibhavsagar ]; }; } diff --git a/pkgs/development/compilers/mozart/binary.nix b/pkgs/development/compilers/mozart/binary.nix index ef6cd1160b3..2067184a5b0 100644 --- a/pkgs/development/compilers/mozart/binary.nix +++ b/pkgs/development/compilers/mozart/binary.nix @@ -16,7 +16,8 @@ let in stdenv.mkDerivation { - name = "mozart-binary-${version}"; + pname = "mozart-binary"; + inherit version; preferLocalBuild = true; diff --git a/pkgs/development/compilers/mruby/0001-Disables-IO-isatty-test-for-sandboxed-builds.patch b/pkgs/development/compilers/mruby/0001-Disables-IO-isatty-test-for-sandboxed-builds.patch deleted file mode 100644 index 779391fc62a..00000000000 --- a/pkgs/development/compilers/mruby/0001-Disables-IO-isatty-test-for-sandboxed-builds.patch +++ /dev/null @@ -1,36 +0,0 @@ -From f3db284516105fd30b5513a5528104574a7b8545 Mon Sep 17 00:00:00 2001 -From: Samuel Dionne-Riel -Date: Thu, 9 Aug 2018 19:07:45 -0400 -Subject: [PATCH] Disables `IO#isatty` test for sandboxed builds. - ---- - mrbgems/mruby-io/test/io.rb | 13 ------------- - 1 file changed, 13 deletions(-) - -diff --git a/mrbgems/mruby-io/test/io.rb b/mrbgems/mruby-io/test/io.rb -index e06b1499..e8a54736 100644 ---- a/mrbgems/mruby-io/test/io.rb -+++ b/mrbgems/mruby-io/test/io.rb -@@ -342,19 +342,6 @@ assert('IO#_read_buf') do - io.closed? - end - --assert('IO#isatty') do -- skip "isatty is not supported on this platform" if MRubyIOTestUtil.win? -- f1 = File.open("/dev/tty") -- f2 = File.open($mrbtest_io_rfname) -- -- assert_true f1.isatty -- assert_false f2.isatty -- -- f1.close -- f2.close -- true --end -- - assert('IO#pos=, IO#seek') do - fd = IO.sysopen $mrbtest_io_rfname - io = IO.new fd --- -2.16.4 - diff --git a/pkgs/development/compilers/mruby/default.nix b/pkgs/development/compilers/mruby/default.nix index cfc1f00a803..03f3d56fd93 100644 --- a/pkgs/development/compilers/mruby/default.nix +++ b/pkgs/development/compilers/mruby/default.nix @@ -1,20 +1,16 @@ { stdenv, ruby, bison, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "mruby-${version}"; - version = "2.0.0"; + pname = "mruby"; + version = "2.0.1"; src = fetchFromGitHub { owner = "mruby"; repo = "mruby"; rev = version; - sha256 = "1r6w1asjshff43ymdwa6xmrkggza99mi2kw88k7ic6ag2j81hcj5"; + sha256 = "1zm2d5kj9fnfx8ifj8ysrrr838ipwmvz35byzjhprakrg64911p9"; }; - patches = [ - ./0001-Disables-IO-isatty-test-for-sandboxed-builds.patch - ]; - nativeBuildInputs = [ ruby bison ]; # Necessary so it uses `gcc` instead of `ld` for linking. diff --git a/pkgs/development/compilers/nasm/default.nix b/pkgs/development/compilers/nasm/default.nix index 8709c718649..8d92bc4eba2 100644 --- a/pkgs/development/compilers/nasm/default.nix +++ b/pkgs/development/compilers/nasm/default.nix @@ -1,15 +1,18 @@ -{ stdenv, fetchurl, perl }: +{ stdenv, fetchFromRepoOrCz, autoreconfHook, perl, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl }: stdenv.mkDerivation rec { - name = "nasm-${version}"; + pname = "nasm"; version = "2.14.02"; - src = fetchurl { - url = "https://www.nasm.us/pub/nasm/releasebuilds/${version}/${name}.tar.bz2"; - sha256 = "1g409sr1kj7v1089s9kv0i4azvddkcwcypnbakfryyi71b3jdz9l"; + src = fetchFromRepoOrCz { + repo = "nasm"; + rev = "${pname}-${version}"; + sha256 = "15z6ybnzlsrqs2964h6czqhpmr7vc3ln4y4h0z9vrznk4mqcwbsa"; }; - nativeBuildInputs = [ perl ]; + nativeBuildInputs = [ autoreconfHook perl asciidoc xmlto docbook_xml_dtd_45 docbook_xsl ]; + + postBuild = "make manpages"; doCheck = true; diff --git a/pkgs/development/compilers/neko/default.nix b/pkgs/development/compilers/neko/default.nix index e2aa5736c7a..74ccaac388f 100644 --- a/pkgs/development/compilers/neko/default.nix +++ b/pkgs/development/compilers/neko/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "neko-${version}"; + pname = "neko"; version = "2.2.0"; src = fetchurl { diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix index 156657d61d6..894ef8c45fa 100644 --- a/pkgs/development/compilers/nextpnr/default.nix +++ b/pkgs/development/compilers/nextpnr/default.nix @@ -1,52 +1,47 @@ -{ stdenv, fetchFromGitHub, cmake, makeWrapper -, boost, python3 +{ stdenv, fetchFromGitHub, cmake +, boost, python3, eigen , icestorm, trellis +, llvmPackages -# TODO(thoughtpolice) Currently the GUI build seems broken at runtime on my -# laptop (and over a remote X server on my server...), so mark it broken for -# now, with intent to fix later. -, enableGui ? false +, enableGui ? true +, wrapQtAppsHook , qtbase }: let boostPython = boost.override { python = python3; enablePython = true; }; - - # This is a massive hack. For now, Trellis doesn't really support - # installation through an already-built package; you have to build it once to - # get the tools, then reuse the build directory to build nextpnr -- the - # 'install' phase doesn't install everything it needs. This will be fixed in - # the future but for now we can do this horrific thing. - trellisRoot = trellis.overrideAttrs (_: { - installPhase = '' - mkdir -p $out - cp *.so .. - cd ../../.. && cp -R trellis database $out/ - ''; - }); in -stdenv.mkDerivation rec { - name = "nextpnr-${version}"; - version = "2019.01.08"; +with stdenv; mkDerivation rec { + pname = "nextpnr"; + version = "2019.08.31"; src = fetchFromGitHub { owner = "yosyshq"; repo = "nextpnr"; - rev = "c1d15c749c2aa105ee7b38ebe1b60a27e3743e8c"; - sha256 = "082ac03s6164s7dwz1l9phshl8m1lizn45jykabrhks5jcccchbh"; + rev = "c0b7379e8672b6263152d5e340e62f22179fdc8b"; + sha256 = "174n962xiwyzy53cn192h9rq95h951k3xy6bs43p5ya592ai5mjh"; }; - nativeBuildInputs = [ cmake makeWrapper ]; + nativeBuildInputs + = [ cmake ] + ++ (lib.optional enableGui wrapQtAppsHook); buildInputs - = [ boostPython python3 ] - ++ (stdenv.lib.optional enableGui qtbase); + = [ boostPython python3 eigen ] + ++ (lib.optional enableGui qtbase) + ++ (lib.optional stdenv.cc.isClang llvmPackages.openmp); enableParallelBuilding = true; cmakeFlags = [ "-DARCH=generic;ice40;ecp5" "-DICEBOX_ROOT=${icestorm}/share/icebox" - "-DTRELLIS_ROOT=${trellisRoot}/trellis" - ] ++ (stdenv.lib.optional (!enableGui) "-DBUILD_GUI=OFF"); + "-DTRELLIS_ROOT=${trellis}/share/trellis" + "-DPYTRELLIS_LIBDIR=${trellis}/lib/trellis" + "-DUSE_OPENMP=ON" + # warning: high RAM usage + "-DSERIALIZE_CHIPDB=OFF" + # use PyPy for icestorm if enabled + "-DPYTHON_EXECUTABLE=${icestorm.pythonInterp}" + ] ++ (lib.optional (!enableGui) "-DBUILD_GUI=OFF"); # Fix the version number. This is a bit stupid (and fragile) in practice # but works ok. We should probably make this overrideable upstream. @@ -55,20 +50,18 @@ stdenv.mkDerivation rec { --replace 'git log -1 --format=%h' 'echo ${substring 0 11 src.rev}' ''; - postInstall = stdenv.lib.optionalString enableGui '' - for x in generic ice40 ecp5; do - wrapProgram $out/bin/nextpnr-$x \ - --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-${qtbase.qtCompatVersion}/plugins - done + + postFixup = lib.optionalString enableGui '' + wrapQtApp $out/bin/nextpnr-generic + wrapQtApp $out/bin/nextpnr-ice40 + wrapQtApp $out/bin/nextpnr-ecp5 ''; - meta = with stdenv.lib; { + meta = with lib; { description = "Place and route tool for FPGAs"; homepage = https://github.com/yosyshq/nextpnr; license = licenses.isc; platforms = platforms.linux; - maintainers = with maintainers; [ thoughtpolice ]; - - broken = enableGui; + maintainers = with maintainers; [ thoughtpolice emily ]; }; } diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix index ae36041b33e..4228c368e56 100644 --- a/pkgs/development/compilers/nim/default.nix +++ b/pkgs/development/compilers/nim/default.nix @@ -1,14 +1,15 @@ # based on https://github.com/nim-lang/Nim/blob/v0.18.0/.travis.yml -{ stdenv, lib, fetchurl, makeWrapper, nodejs-slim-10_x, openssl, pcre, readline, boehmgc, sfml, tzdata, coreutils }: +{ stdenv, lib, fetchurl, makeWrapper, nodejs-slim-11_x, openssl, pcre, readline, + boehmgc, sfml, tzdata, coreutils, sqlite }: stdenv.mkDerivation rec { - name = "nim-${version}"; - version = "0.19.0"; + pname = "nim"; + version = "0.20.2"; src = fetchurl { - url = "https://nim-lang.org/download/${name}.tar.xz"; - sha256 = "0biwvw1gividp5lkf0daq1wp9v6ms4xy6dkf5zj0sn9w4m3n76d1"; + url = "https://nim-lang.org/download/${pname}-${version}.tar.xz"; + sha256 = "0pibil10x0c181kw705phlwk8bn8dy5ghqd9h9fm6i9afrz5ryp1"; }; doCheck = !stdenv.isDarwin; @@ -20,6 +21,7 @@ stdenv.mkDerivation rec { "-lpcre" "-lreadline" "-lgc" + "-lsqlite3" ]; # 1. nodejs is only needed for tests @@ -27,19 +29,21 @@ stdenv.mkDerivation rec { # used for bootstrapping, but koch insists on moving the nim compiler around # as part of building it, so it cannot be read-only + checkInputs = [ + nodejs-slim-11_x tzdata coreutils + ]; + nativeBuildInputs = [ - makeWrapper nodejs-slim-10_x tzdata coreutils + makeWrapper ]; buildInputs = [ - openssl pcre readline boehmgc sfml + openssl pcre readline boehmgc sfml sqlite ]; - phases = [ "unpackPhase" "patchPhase" "buildPhase" "installPhase" "checkPhase" ]; - buildPhase = '' - # use $CC to trigger the linker since calling ld in build.sh causes an error - LD=$CC + runHook preBuild + # build.sh wants to write to $HOME/.cache HOME=$TMPDIR sh build.sh @@ -48,41 +52,60 @@ stdenv.mkDerivation rec { -d:useGnuReadline \ ${lib.optionals (stdenv.isDarwin || stdenv.isLinux) "-d:nativeStacktrace"} ./koch tools -d:release + + runHook postBuild + ''; + + prePatch = + let disableTest = ''sed -i '1i discard \"\"\"\n disabled: true\n\"\"\"\n\n' ''; + disableStdLibTest = ''sed -i -e '/^when isMainModule/,/^END$/{s/^/#/}' ''; + disableCompile = ''sed -i -e 's/^/#/' ''; + in '' + substituteInPlace ./tests/osproc/tworkingdir.nim --replace "/usr/bin" "${coreutils}/bin" + substituteInPlace ./tests/stdlib/ttimes.nim --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + + # reported upstream: https://github.com/nim-lang/Nim/issues/11435 + ${disableTest} ./tests/misc/tstrace.nim + + # runs out of memory on a machine with 8GB RAM + ${disableTest} ./tests/system/t7894.nim + + # requires network access (not available in the build container) + ${disableTest} ./tests/stdlib/thttpclient.nim + '' + lib.optionalString stdenv.isAarch64 '' + # supposedly broken on aarch64 + ${disableStdLibTest} ./lib/pure/stats.nim + + # reported upstream: https://github.com/nim-lang/Nim/issues/11463 + ${disableCompile} ./lib/nimhcr.nim + ${disableTest} ./tests/dll/nimhcr_unit.nim + ${disableTest} ./tests/dll/nimhcr_integration.nim + ''; + + checkPhase = '' + runHook preCheck + + ./koch tests --nim:bin/nim all + + runHook postCheck ''; installPhase = '' + runHook preInstall + install -Dt $out/bin bin/* koch ./koch install $out mv $out/nim/bin/* $out/bin/ && rmdir $out/nim/bin mv $out/nim/* $out/ && rmdir $out/nim wrapProgram $out/bin/nim \ --suffix PATH : ${lib.makeBinPath [ stdenv.cc ]} - ''; - patchPhase = - let disableTest = ''sed -i '1i discard \"\"\"\n disabled: true\n\"\"\"\n\n' ''; - disableStdLibTest = ''sed -i -e '/^when isMainModule/,/^END$/{s/^/#/}' ''; - disableCompile = ''sed -i -e 's/^/#/' ''; - in '' - substituteInPlace ./tests/async/tioselectors.nim --replace "/bin/sleep" "sleep" - substituteInPlace ./tests/osproc/tworkingdir.nim --replace "/usr/bin" "${coreutils}/bin" - substituteInPlace ./tests/stdlib/ttimes.nim --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" - - # disable tests requiring network access (not available in the build container) - ${disableTest} ./tests/stdlib/thttpclient.nim - '' + lib.optionalString stdenv.isAarch64 '' - # disable test supposedly broken on aarch64 - ${disableStdLibTest} ./lib/pure/stats.nim - ''; - - checkPhase = '' - PATH=$PATH:$out/bin - ./koch tests + runHook postInstall ''; meta = with stdenv.lib; { description = "Statically typed, imperative programming language"; - homepage = https://nim-lang.org/; + homepage = "https://nim-lang.org/"; license = licenses.mit; maintainers = with maintainers; [ ehmry peterhoeg ]; platforms = with platforms; linux ++ darwin; # arbitrary diff --git a/pkgs/development/compilers/nvidia-cg-toolkit/default.nix b/pkgs/development/compilers/nvidia-cg-toolkit/default.nix index b6e2aea7eca..fa49bf9dd73 100644 --- a/pkgs/development/compilers/nvidia-cg-toolkit/default.nix +++ b/pkgs/development/compilers/nvidia-cg-toolkit/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { date = "April2012"; - name = "nvidia-cg-toolkit-${version}"; + pname = "nvidia-cg-toolkit"; src = if stdenv.hostPlatform.system == "x86_64-linux" then @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = http://developer.nvidia.com/cg-toolkit; + homepage = https://developer.nvidia.com/cg-toolkit; license = lib.licenses.unfreeRedistributable; }; } diff --git a/pkgs/development/compilers/obliv-c/default.nix b/pkgs/development/compilers/obliv-c/default.nix index 0d171a474a2..8fd6f33740e 100644 --- a/pkgs/development/compilers/obliv-c/default.nix +++ b/pkgs/development/compilers/obliv-c/default.nix @@ -1,6 +1,6 @@ { stdenv, libgcrypt, fetchFromGitHub, ocamlPackages, perl }: stdenv.mkDerivation rec { - name = "obliv-c-${version}"; + pname = "obliv-c"; version = "0.0pre20180624"; buildInputs = [ perl ] ++ (with ocamlPackages; [ ocaml findlib ocamlbuild ]); diff --git a/pkgs/development/compilers/ocaml/3.08.0.nix b/pkgs/development/compilers/ocaml/3.08.0.nix index 4337de702e1..cd621c131ff 100644 --- a/pkgs/development/compilers/ocaml/3.08.0.nix +++ b/pkgs/development/compilers/ocaml/3.08.0.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, xlibsWrapper }: stdenv.mkDerivation rec { - name = "ocaml-${version}"; + pname = "ocaml"; version = "3.08.0"; builder = ./builder.sh; src = fetchurl { - url = "http://tarballs.nixos.org/${name}.tar.gz"; + url = "http://tarballs.nixos.org/${pname}-${version}.tar.gz"; sha256 = "135g5waj7djzrj0dbc8z1llasfs2iv5asq41jifhldxb4l2b97mx"; }; configureScript = ./configure-3.08.0; diff --git a/pkgs/development/compilers/ocaml/3.10.0.nix b/pkgs/development/compilers/ocaml/3.10.0.nix index 99a65dec150..556aefd3704 100644 --- a/pkgs/development/compilers/ocaml/3.10.0.nix +++ b/pkgs/development/compilers/ocaml/3.10.0.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation (rec { - name = "ocaml-${version}"; + pname = "ocaml"; version = "3.10.0"; src = fetchurl { - url = "https://caml.inria.fr/pub/distrib/ocaml-3.10/${name}.tar.bz2"; + url = "https://caml.inria.fr/pub/distrib/ocaml-3.10/${pname}-${version}.tar.bz2"; sha256 = "1ihmx1civ78s7k2hfc05z1s9vbyx2qw7fg8lnbxnfd6zxkk8878d"; }; diff --git a/pkgs/development/compilers/ocaml/3.11.2.nix b/pkgs/development/compilers/ocaml/3.11.2.nix index e65510c172e..4be41490534 100644 --- a/pkgs/development/compilers/ocaml/3.11.2.nix +++ b/pkgs/development/compilers/ocaml/3.11.2.nix @@ -8,11 +8,11 @@ in stdenv.mkDerivation rec { - name = "ocaml-${version}"; + pname = "ocaml"; version = "3.11.2"; src = fetchurl { - url = "https://caml.inria.fr/pub/distrib/ocaml-3.11/${name}.tar.bz2"; + url = "https://caml.inria.fr/pub/distrib/ocaml-3.11/${pname}-${version}.tar.bz2"; sha256 = "86f3387a0d7e7c8be2a3c53af083a5a726e333686208d5ea0dd6bb5ac3f58143"; }; diff --git a/pkgs/development/compilers/ocaml/3.12.1.nix b/pkgs/development/compilers/ocaml/3.12.1.nix index 8636f670059..edb3acdbdb1 100644 --- a/pkgs/development/compilers/ocaml/3.12.1.nix +++ b/pkgs/development/compilers/ocaml/3.12.1.nix @@ -8,11 +8,11 @@ in stdenv.mkDerivation rec { - name = "ocaml-${version}"; + pname = "ocaml"; version = "3.12.1"; src = fetchurl { - url = "https://caml.inria.fr/pub/distrib/ocaml-3.12/${name}.tar.bz2"; + url = "https://caml.inria.fr/pub/distrib/ocaml-3.12/${pname}-${version}.tar.bz2"; sha256 = "13cmhkh7s6srnlvhg3s9qzh3a5dbk2m9qr35jzq922sylwymdkzd"; }; diff --git a/pkgs/development/compilers/ocaml/4.00.1.nix b/pkgs/development/compilers/ocaml/4.00.1.nix index 0a30ef1352c..2669e8224bf 100644 --- a/pkgs/development/compilers/ocaml/4.00.1.nix +++ b/pkgs/development/compilers/ocaml/4.00.1.nix @@ -7,11 +7,11 @@ let in stdenv.mkDerivation rec { - name = "ocaml-${version}"; + pname = "ocaml"; version = "4.00.1"; src = fetchurl { - url = "https://caml.inria.fr/pub/distrib/ocaml-4.00/${name}.tar.bz2"; + url = "https://caml.inria.fr/pub/distrib/ocaml-4.00/${pname}-${version}.tar.bz2"; sha256 = "33c3f4acff51685f5bfd7c260f066645e767d4e865877bf1613c176a77799951"; }; diff --git a/pkgs/development/compilers/ocaml/4.08.nix b/pkgs/development/compilers/ocaml/4.08.nix index c6d0a114974..11c22e636ef 100644 --- a/pkgs/development/compilers/ocaml/4.08.nix +++ b/pkgs/development/compilers/ocaml/4.08.nix @@ -1,8 +1,8 @@ import ./generic.nix { major_version = "4"; minor_version = "08"; - patch_version = "0+beta1"; - sha256 = "1jgvp4pyhrg27wqpsx88kacw3ymjiz44nms9lzbh5s8pp05z5f5f"; + patch_version = "1"; + sha256 = "18sycl3zmgb8ghpxymriy5d72gvw7m5ra65v51hcrmzzac21hkyd"; # If the executable is stripped it does not work dontStrip = true; diff --git a/pkgs/development/compilers/ocaml/ber-metaocaml.nix b/pkgs/development/compilers/ocaml/ber-metaocaml.nix index a933151de12..fb507b9836a 100644 --- a/pkgs/development/compilers/ocaml/ber-metaocaml.nix +++ b/pkgs/development/compilers/ocaml/ber-metaocaml.nix @@ -14,7 +14,7 @@ let in stdenv.mkDerivation rec { - name = "ber-metaocaml-${version}"; + pname = "ber-metaocaml"; version = metaocamlPatch; src = fetchurl { @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { postConfigure = '' tar -xvzf $metaocaml - cd ${name} + cd ${pname}-${version} make patch cd .. ''; @@ -57,7 +57,7 @@ stdenv.mkDerivation rec { make installopt mkdir -p $out/include ln -sv $out/lib/ocaml/caml $out/include/caml - cd ${name} + cd ${pname}-${version} make all ''; @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { ''; checkPhase = '' - cd ${name} + cd ${pname}-${version} make test make test-compile make test-native diff --git a/pkgs/development/compilers/ocaml/metaocaml-3.09.nix b/pkgs/development/compilers/ocaml/metaocaml-3.09.nix index e9adbeff490..881748c36ea 100644 --- a/pkgs/development/compilers/ocaml/metaocaml-3.09.nix +++ b/pkgs/development/compilers/ocaml/metaocaml-3.09.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation (rec { - name = "metaocaml-${version}"; + pname = "metaocaml"; version = "3.09-alpha-30"; src = fetchurl { diff --git a/pkgs/development/compilers/opa/default.nix b/pkgs/development/compilers/opa/default.nix index 06ed7c51e9a..da1df6f30bb 100644 --- a/pkgs/development/compilers/opa/default.nix +++ b/pkgs/development/compilers/opa/default.nix @@ -7,7 +7,6 @@ stdenv.mkDerivation rec { pname = "opa"; version = "4310"; - name = "${pname}-${version}"; src = fetchFromGitHub { owner = "MLstate"; diff --git a/pkgs/development/compilers/openjdk/11.nix b/pkgs/development/compilers/openjdk/11.nix index a389f0f5ca1..7ccbfb6351d 100644 --- a/pkgs/development/compilers/openjdk/11.nix +++ b/pkgs/development/compilers/openjdk/11.nix @@ -1,9 +1,10 @@ { stdenv, lib, fetchurl, bash, cpio, autoconf, pkgconfig, file, which, unzip, zip, cups, freetype -, alsaLib, bootjdk, perl, liberation_ttf, fontconfig, zlib, lndir +, alsaLib, bootjdk, perl, fontconfig, zlib, lndir , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama, libXcursor, libXrandr , libjpeg, giflib , setJavaClassPath , minimal ? false +, enableJavaFX ? true, openjfx , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf }: @@ -18,16 +19,16 @@ let else "amd64"; major = "11"; - update = ".0.1"; - build = "13"; - repover = "jdk-${major}${update}+${build}"; + update = ".0.3"; + build = "ga"; + repover = "jdk-${major}${update}-${build}"; openjdk = stdenv.mkDerivation { - name = "openjdk-${major}${update}-b${build}"; + name = "openjdk-${major}${update}-${build}"; src = fetchurl { url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/${repover}.tar.gz"; - sha256 = "1ri3fv67rvs9xxhc3ynklbprhxbdsgpwafbw6wqj950xy5crgysm"; + sha256 = "1v6pam38iidlhz46046h17hf5kki6n3kl302awjcyxzk7bmkvb8x"; }; nativeBuildInputs = [ pkgconfig ]; @@ -43,6 +44,7 @@ let ./fix-java-home-jdk10.patch ./read-truststore-from-env-jdk10.patch ./currency-date-range-jdk10.patch + ./increase-javadoc-heap.patch ] ++ lib.optionals (!minimal && enableGnome2) [ ./swing-use-gtk-jdk10.patch ]; @@ -68,6 +70,7 @@ let '' + lib.optionalString (architecture == "amd64") " \"--with-jvm-features=zgc\"" + lib.optionalString minimal " \"--enable-headless-only\"" + + lib.optionalString (!minimal && enableJavaFX) " \"--with-import-modules=${openjfx}\"" + ");" # https://bugzilla.redhat.com/show_bug.cgi?id=1306558 # https://github.com/JetBrains/jdk8u/commit/eaa5e0711a43d64874111254d74893fa299d5716 diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index a3a0a9d5934..952c5d1bf6a 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -21,44 +21,44 @@ let else throw "openjdk requires i686-linux or x86_64 linux"; - update = "202"; + update = "212"; build = "ga"; baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u"; repover = "jdk8u${update}-${build}"; jdk8 = fetchurl { url = "${baseurl}/archive/${repover}.tar.gz"; - sha256 = "0asx7qkhmrlfmhrljck5gb3yp4v0aa8k35y4xfcph41x0m0mvrdb"; + sha256 = "00rl33h4cl4b4p3hcid765h38x2jdkb14ylh8k1zhnd0ka76crgg"; }; langtools = fetchurl { url = "${baseurl}/langtools/archive/${repover}.tar.gz"; - sha256 = "07q6l3slmi5fgwjnsk6bd8miv8glmw15w5f6yyvp8nlp2d54l33n"; + sha256 = "0va6g2dccf1ph6mpwxswbks5axp7zz258cl89qq9r8jn4ni04agw"; }; hotspot = fetchurl { url = "${baseurl}/hotspot/archive/${repover}.tar.gz"; - sha256 = "01k4pwhn3nmkzdhdj1v58dgir4iwsj9mm2ml1541z31s53g037cq"; + sha256 = "0sgr9df10hs49pjld6c6kr374v4zwd9s52pc3drz68zrlk71ja4s"; }; corba = fetchurl { url = "${baseurl}/corba/archive/${repover}.tar.gz"; - sha256 = "0v39kl2iiyh74p3cp6bjhshkwxpgbffza9abzjgp7cpdfhcc73p0"; + sha256 = "1hq0sr4k4k4iv815kg72i9lvd7n7mn5pmw96ckk9p1rnyagn9z03"; }; jdk = fetchurl { url = "${baseurl}/jdk/archive/${repover}.tar.gz"; - sha256 = "0z1cy6aq09j25jyryj47rms15h5175p2h23fg5pv035zapf8nb1b"; + sha256 = "1fc59jrbfq8l067mggzy5dnrvni7lwaqd7hahs4nqv87kyrfg545"; }; jaxws = fetchurl { url = "${baseurl}/jaxws/archive/${repover}.tar.gz"; - sha256 = "0y0mk4sra9d29kgx842m5y4bz9gczc9ypkajv6m5igjv7sizzsv7"; + sha256 = "1ka2fvyxdmpfhk814s314gx53yvdr19vpsqygx283v9nbq90l1yg"; }; jaxp = fetchurl { url = "${baseurl}/jaxp/archive/${repover}.tar.gz"; - sha256 = "07ssrjhffkdncxxhsbid21hlg51y7js3x7sb4g474vmmi3qj6vmb"; + sha256 = "15vlgs5v2ax8sqwh7bg50fnlrwlpnkp0myzrvpqs1mcza8pyasp8"; }; nashorn = fetchurl { url = "${baseurl}/nashorn/archive/${repover}.tar.gz"; - sha256 = "0r0b8ra0ibzbdpxz6nv6i2zrzh2j5sxgprpnl6gf4d9h0i29ickj"; + sha256 = "1jzn0yi0v6lda5y8ib07g1p6zymnbcx9yy6iz8niggpm7205y93h"; }; openjdk8 = stdenv.mkDerivation { - name = "openjdk-8u${update}b${build}"; + name = "openjdk-8u${update}-${build}"; srcs = [ jdk8 langtools hotspot corba jdk jaxws jaxp nashorn ]; sourceRoot = "."; @@ -95,6 +95,9 @@ let ./swing-use-gtk-jdk8.patch ]; + # Hotspot cares about the host(!) version otherwise + DISABLE_HOTSPOT_OS_VERSION_CHECK = "ok"; + preConfigure = '' chmod +x configure substituteInPlace configure --replace /bin/bash "${bash}/bin/bash" diff --git a/pkgs/development/compilers/openjdk/darwin/default.nix b/pkgs/development/compilers/openjdk/darwin/default.nix index 54239e58002..b4e19c32e26 100644 --- a/pkgs/development/compilers/openjdk/darwin/default.nix +++ b/pkgs/development/compilers/openjdk/darwin/default.nix @@ -1,18 +1,28 @@ { stdenv, fetchurl, unzip, setJavaClassPath, freetype }: let - jdk = stdenv.mkDerivation { - name = "openjdk-7u60b30"; + jce-policies = fetchurl { + # Ugh, unversioned URLs... I hope this doesn't change often enough to cause pain before we move to a Darwin source build of OpenJDK! + url = "http://cdn.azul.com/zcek/bin/ZuluJCEPolicies.zip"; + sha256 = "0nk7m0lgcbsvldq2wbfni2pzq8h818523z912i7v8hdcij5s48c0"; + }; + + jdk = stdenv.mkDerivation rec { + name = "zulu12.1.3-ca-jdk12"; - # From https://github.com/alexkasko/openjdk-unofficial-builds src = fetchurl { - url = https://bitbucket.org/alexkasko/openjdk-unofficial-builds/downloads/openjdk-1.7.0-u60-unofficial-macosx-x86_64-bundle.zip; - sha256 = "af510a4d566712d82c17054bb39f91d98c69a85586e244c6123669a0bd4b7401"; + url = "https://cdn.azul.com/zulu/bin/${name}-macosx_x64.tar.gz"; + sha256 = "05q3v4vwjd7xhqr21bzlip5x4xhq5rpdshfpb8i86n4zvn7l0mxy"; + curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/"; }; buildInputs = [ unzip freetype ]; installPhase = '' - mv */Contents/Home $out + mkdir -p $out + mv * $out + + unzip ${jce-policies} + mv -f ZuluJCEPolicies/*.jar $out/lib/security/ # jni.h expects jni_md.h to be in the header search path. ln -s $out/include/darwin/*_md.h $out/include/ @@ -24,13 +34,13 @@ let ''; preFixup = '' - # Propagate the setJavaClassPath setup hook from the JRE so that - # any package that depends on the JRE has $CLASSPATH set up + # Propagate the setJavaClassPath setup hook from the JDK so that + # any package that depends on the JDK has $CLASSPATH set up # properly. mkdir -p $out/nix-support printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs - install_name_tool -change /usr/X11/lib/libfreetype.6.dylib ${freetype}/lib/libfreetype.6.dylib $out/jre/lib/libfontmanager.dylib + install_name_tool -change /usr/X11/lib/libfreetype.6.dylib ${freetype}/lib/libfreetype.6.dylib $out/lib/libfontmanager.dylib # Set JAVA_HOME automatically. cat <> $out/nix-support/setup-hook @@ -39,7 +49,6 @@ let ''; passthru = { - jre = jdk; home = jdk; }; diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix new file mode 100644 index 00000000000..65c85d055cb --- /dev/null +++ b/pkgs/development/compilers/openjdk/default.nix @@ -0,0 +1,171 @@ +{ stdenv, lib, fetchurl, bash, cpio, autoconf, pkgconfig, file, which, unzip, zip, cups, freetype +, alsaLib, bootjdk, perl, liberation_ttf, fontconfig, zlib, lndir +, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama, libXcursor, libXrandr +, libjpeg, giflib +, setJavaClassPath +, minimal ? false +, enableJavaFX ? true, openjfx +, enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf +}: + +let + + /** + * The JDK libraries are in directories that depend on the CPU. + */ + architecture = + if stdenv.hostPlatform.system == "i686-linux" then + "i386" + else "amd64"; + + major = "12"; + update = ".0.2"; + build = "ga"; + repover = "jdk-${major}${update}-${build}"; + + openjdk = stdenv.mkDerivation { + name = "openjdk-${major}${update}-${build}"; + + src = fetchurl { + url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/${repover}.tar.gz"; + sha256 = "1ndlxmikyy298z7lqpr1bd0zxq7yx6xidj8y3c8mw9m9fy64h9c7"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ + autoconf cpio file which unzip zip perl bootjdk zlib cups freetype alsaLib + libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst + libXi libXinerama libXcursor libXrandr lndir fontconfig + ] ++ lib.optionals (!minimal && enableGnome2) [ + gtk3 gnome_vfs GConf glib + ]; + + patches = [ + ./fix-java-home-jdk10.patch + ./read-truststore-from-env-jdk10.patch + ./currency-date-range-jdk10.patch + ./increase-javadoc-heap.patch + # -Wformat etc. are stricter in newer gccs, per + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79677 + # so grab the work-around from + # https://src.fedoraproject.org/rpms/java-openjdk/pull-request/24 + (fetchurl { + url = https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch; + sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r"; + }) + ] ++ lib.optionals (!minimal && enableGnome2) [ + ./swing-use-gtk-jdk10.patch + ]; + + preConfigure = '' + chmod +x configure + substituteInPlace configure --replace /bin/bash "${bash}/bin/bash" + + configureFlagsArray=( + "--with-boot-jdk=${bootjdk.home}" + "--enable-unlimited-crypto" + "--with-zlib=system" + "--with-giflib=system" + "--with-stdc++lib=dynamic" + + # glibc 2.24 deprecated readdir_r so we need this + # See https://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg49006.html + "--with-extra-cflags=-Wno-error=deprecated-declarations -Wno-error=unused-result" + '' + + lib.optionalString (architecture == "amd64") " \"--with-jvm-features=zgc\"" + + lib.optionalString minimal " \"--enable-headless-only\"" + + lib.optionalString (!minimal && enableJavaFX) " \"--with-import-modules=${openjfx}\"" + + ");" + # https://bugzilla.redhat.com/show_bug.cgi?id=1306558 + # https://github.com/JetBrains/jdk8u/commit/eaa5e0711a43d64874111254d74893fa299d5716 + + stdenv.lib.optionalString stdenv.cc.isGNU '' + NIX_CFLAGS_COMPILE+=" -fno-lifetime-dse -fno-delete-null-pointer-checks -std=gnu++98 -Wno-error" + ''; + + NIX_LDFLAGS= lib.optionals (!minimal) [ + "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic" + ] ++ lib.optionals (!minimal && enableGnome2) [ + "-lgtk-3" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2" + ]; + + buildFlags = [ "all" ]; + + installPhase = '' + mkdir -p $out/lib/openjdk $out/share + + cp -av build/*/images/jdk/* $out/lib/openjdk + + # Remove some broken manpages. + rm -rf $out/lib/openjdk/man/ja* + + # Mirror some stuff in top-level. + mkdir $out/include $out/share/man + ln -s $out/lib/openjdk/include/* $out/include/ + ln -s $out/lib/openjdk/man/* $out/share/man/ + + # jni.h expects jni_md.h to be in the header search path. + ln -s $out/include/linux/*_md.h $out/include/ + + # Remove crap from the installation. + rm -rf $out/lib/openjdk/demo + ${lib.optionalString minimal '' + rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so + ''} + + ln -s $out/lib/openjdk/bin $out/bin + ''; + + preFixup = '' + # Propagate the setJavaClassPath setup hook so that any package + # that depends on the JDK has $CLASSPATH set up properly. + mkdir -p $out/nix-support + #TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040 + echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs + + # Set JAVA_HOME automatically. + mkdir -p $out/nix-support + cat < $out/nix-support/setup-hook + if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/openjdk; fi + EOF + ''; + + postFixup = '' + # Build the set of output library directories to rpath against + LIBDIRS="" + for output in $outputs; do + LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort | uniq | tr '\n' ':'):$LIBDIRS" + done + + # Add the local library paths to remove dependencies on the bootstrap + for output in $outputs; do + OUTPUTDIR=$(eval echo \$$output) + BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*) + echo "$BINLIBS" | while read i; do + patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true + patchelf --shrink-rpath "$i" || true + done + done + + # Test to make sure that we don't depend on the bootstrap + for output in $outputs; do + if grep -q -r '${bootjdk}' $(eval echo \$$output); then + echo "Extraneous references to ${bootjdk} detected" + exit 1 + fi + done + ''; + + meta = with stdenv.lib; { + homepage = http://openjdk.java.net/; + license = licenses.gpl2; + description = "The open-source Java Development Kit"; + maintainers = with maintainers; [ edwtjo ]; + platforms = ["i686-linux" "x86_64-linux"]; + }; + + passthru = { + inherit architecture; + home = "${openjdk}/lib/openjdk"; + }; + }; +in openjdk diff --git a/pkgs/development/compilers/openjdk/increase-javadoc-heap.patch b/pkgs/development/compilers/openjdk/increase-javadoc-heap.patch new file mode 100644 index 00000000000..6a1b253f913 --- /dev/null +++ b/pkgs/development/compilers/openjdk/increase-javadoc-heap.patch @@ -0,0 +1,12 @@ +--- a/make/Docs.gmk 2019-07-24 13:07:37.013405090 -0400 ++++ b/make/Docs.gmk 2019-07-24 13:07:28.406550535 -0400 +@@ -274,7 +274,7 @@ + $1_INDIRECT_EXPORTS := $$(call FindTransitiveIndirectDepsForModules, $$($1_MODULES)) + $1_ALL_MODULES := $$(sort $$($1_MODULES) $$($1_INDIRECT_EXPORTS)) + +- $1_JAVA_ARGS := -Dextlink.spec.version=$$(VERSION_SPECIFICATION) ++ $1_JAVA_ARGS := -Dextlink.spec.version=$$(VERSION_SPECIFICATION) -Xmx1G + + ifeq ($$(ENABLE_FULL_DOCS), true) + # Tell the ModuleGraph taglet to generate html links to soon-to-be-created + diff --git a/pkgs/development/compilers/openjdk/openjfx/11.nix b/pkgs/development/compilers/openjdk/openjfx/11.nix new file mode 100644 index 00000000000..223feb1e2a1 --- /dev/null +++ b/pkgs/development/compilers/openjdk/openjfx/11.nix @@ -0,0 +1,110 @@ +{ stdenv, fetchurl, writeText, openjdk, bootjdk, gradleGen, pkgconfig, perl, cmake, gperf +, gtk2, gtk3, libXtst, libXxf86vm, glib, alsaLib, ffmpeg, python, ruby }: + +let + major = "11"; + update = ".0.3"; + build = "1"; + repover = "${major}${update}+${build}"; + gradle_ = (gradleGen.override { + java = bootjdk; + }).gradle_4_10; + + makePackage = args: stdenv.mkDerivation ({ + version = "${major}${update}-${repover}"; + + src = fetchurl { + url = "http://hg.openjdk.java.net/openjfx/${major}/rt/archive/${repover}.tar.gz"; + sha256 = "1h7qsylr7rnwnbimqjyn3whszp9kv4h3gpicsrb3mradxc9yv194"; + }; + + buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsaLib ffmpeg ]; + nativeBuildInputs = [ gradle_ perl pkgconfig cmake gperf python ruby ]; + + dontUseCmakeConfigure = true; + + config = writeText "gradle.properties" ('' + CONF = Release + JDK_HOME = ${bootjdk}/lib/openjdk + '' + args.gradleProperties or ""); + + buildPhase = '' + runHook preBuild + + export GRADLE_USER_HOME=$(mktemp -d) + ln -s $config gradle.properties + export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE" + gradle --no-daemon $gradleFlags sdk + + runHook postBuild + ''; + } // args); + + # Fake build to pre-download deps into fixed-output derivation. + # We run nearly full build because I see no other way to download everything that's needed. + # Anyone who knows a better way? + deps = makePackage { + pname = "openjfx-deps"; + + # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar) + installPhase = '' + find $GRADLE_USER_HOME -type f -regex '.*/modules.*\.\(jar\|pom\)' \ + | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \ + | sh + rm -rf $out/tmp + ''; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = + # Downloaded AWT jars differ by platform. + if stdenv.system == "x86_64-linux" then "0d4msxswdav1xsfkpr0qd3xgqkcbxzf47v1zdy5jmg5w4bs6a78a" + else if stdenv.system == "i686-linux" then "0mjlyf6jvbis7nrm5d394sjv4hjw6k3753hr1nwdxk8skwc3ry08" + else throw "Unsupported platform"; + }; + +in makePackage { + pname = "openjfx-modular-sdk"; + + gradleProperties = '' + COMPILE_MEDIA = true + COMPILE_WEBKIT = true + ''; + + preBuild = '' + swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)" + substituteInPlace build.gradle \ + --replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' \ + --replace 'name: SWT_FILE_NAME' "files('$swtJar')" + ''; + + installPhase = '' + cp -r build/modular-sdk $out + ''; + + stripDebugList = [ "." ]; + + postFixup = '' + # Remove references to bootstrap. + find "$out" -name \*.so | while read lib; do + new_refs="$(patchelf --print-rpath "$lib" | sed -E 's,:?${bootjdk}[^:]*,,')" + patchelf --set-rpath "$new_refs" "$lib" + done + + # Test to make sure that we don't depend on the bootstrap + if grep -q -r '${bootjdk}' "$out"; then + echo "Extraneous references to ${bootjdk} detected" >&2 + exit 1 + fi + ''; + + passthru.deps = deps; + + meta = with stdenv.lib; { + homepage = http://openjdk.java.net/projects/openjfx/; + license = openjdk.meta.license; + description = "The next-generation Java client toolkit."; + maintainers = with maintainers; [ abbradar ]; + platforms = openjdk.meta.platforms; + }; +} diff --git a/pkgs/development/compilers/openjdk/openjfx/12.nix b/pkgs/development/compilers/openjdk/openjfx/12.nix new file mode 100644 index 00000000000..266dd7f334e --- /dev/null +++ b/pkgs/development/compilers/openjdk/openjfx/12.nix @@ -0,0 +1,110 @@ +{ stdenv, fetchurl, writeText, openjdk, bootjdk, gradleGen, pkgconfig, perl, cmake, gperf +, gtk2, gtk3, libXtst, libXxf86vm, glib, alsaLib, ffmpeg, python, ruby }: + +let + major = "12"; + update = ""; + build = "14"; + repover = "${major}${update}+${build}"; + gradle_ = (gradleGen.override { + java = bootjdk; + }).gradle_4_10; + + makePackage = args: stdenv.mkDerivation ({ + version = "${major}${update}-${repover}"; + + src = fetchurl { + url = "http://hg.openjdk.java.net/openjfx/${major}-dev/rt/archive/${repover}.tar.gz"; + sha256 = "16jjfjkrg57wsj9mmm52i2kl3byz3ba1f9f8wwc8zwqm4cpjzliz"; + }; + + buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsaLib ffmpeg ]; + nativeBuildInputs = [ gradle_ perl pkgconfig cmake gperf python ruby ]; + + dontUseCmakeConfigure = true; + + config = writeText "gradle.properties" ('' + CONF = Release + JDK_HOME = ${bootjdk}/lib/openjdk + '' + args.gradleProperties or ""); + + buildPhase = '' + runHook preBuild + + export GRADLE_USER_HOME=$(mktemp -d) + ln -s $config gradle.properties + export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE" + gradle --no-daemon $gradleFlags sdk + + runHook postBuild + ''; + } // args); + + # Fake build to pre-download deps into fixed-output derivation. + # We run nearly full build because I see no other way to download everything that's needed. + # Anyone who knows a better way? + deps = makePackage { + pname = "openjfx-deps"; + + # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar) + installPhase = '' + find $GRADLE_USER_HOME -type f -regex '.*/modules.*\.\(jar\|pom\)' \ + | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \ + | sh + rm -rf $out/tmp + ''; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = + # Downloaded AWT jars differ by platform. + if stdenv.system == "x86_64-linux" then "1z5qar5l28ja4pkf5l5m48xbv3x1yrnilsv9lpf2j3vkdk9h1nci" + else if stdenv.system == "i686-linux" then "0rbygvjc7w197fi5nxldqdrm6mpiyd3n45042g3gd4s5qk08spjd" + else throw "Unsupported platform"; + }; + +in makePackage { + pname = "openjfx-modular-sdk"; + + gradleProperties = '' + COMPILE_MEDIA = true + COMPILE_WEBKIT = true + ''; + + preBuild = '' + swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)" + substituteInPlace build.gradle \ + --replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' \ + --replace 'name: SWT_FILE_NAME' "files('$swtJar')" + ''; + + installPhase = '' + cp -r build/modular-sdk $out + ''; + + stripDebugList = [ "." ]; + + postFixup = '' + # Remove references to bootstrap. + find "$out" -name \*.so | while read lib; do + new_refs="$(patchelf --print-rpath "$lib" | sed -E 's,:?${bootjdk}[^:]*,,')" + patchelf --set-rpath "$new_refs" "$lib" + done + + # Test to make sure that we don't depend on the bootstrap + if grep -q -r '${bootjdk}' "$out"; then + echo "Extraneous references to ${bootjdk} detected" >&2 + exit 1 + fi + ''; + + passthru.deps = deps; + + meta = with stdenv.lib; { + homepage = http://openjdk.java.net/projects/openjfx/; + license = openjdk.meta.license; + description = "The next-generation Java client toolkit."; + maintainers = with maintainers; [ abbradar ]; + platforms = openjdk.meta.platforms; + }; +} diff --git a/pkgs/development/compilers/openspin/default.nix b/pkgs/development/compilers/openspin/default.nix index 71bda3e03d9..31e3800a6c9 100644 --- a/pkgs/development/compilers/openspin/default.nix +++ b/pkgs/development/compilers/openspin/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchurl, fetchFromGitHub }: +{ stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "openspin-${version}"; + pname = "openspin"; version = "unstable-2018-10-02"; src = fetchFromGitHub { diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix index 8342c9fd335..e80d81dc5a0 100644 --- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix +++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix @@ -32,7 +32,7 @@ , cairo , alsaLib , atk -, gdk_pixbuf +, gdk-pixbuf , setJavaClassPath }: @@ -89,8 +89,9 @@ let result = stdenv.mkDerivation rec { armv7l-linux = "linux-arm32-vfp-hflt"; aarch64-linux = "linux-arm64-vfp-hflt"; }.${stdenv.hostPlatform.system}; + javadlPlatformName = "linux-i586"; in fetchurl { - url = "http://download.oracle.com/otn-pub/java/jdk/${productVersion}u${patchVersion}-b${buildVersion}/${releaseToken}/jdk-${productVersion}u${patchVersion}-${platformName}.tar.gz"; + url = "http://javadl.oracle.com/webapps/download/GetFile/1.${productVersion}.0_${patchVersion}-b${buildVersion}/${releaseToken}/${javadlPlatformName}/jdk-${productVersion}u${patchVersion}-${platformName}.tar.gz"; curlOpts = "-b oraclelicense=a"; sha256 = sha256.${stdenv.hostPlatform.system}; }; @@ -182,7 +183,7 @@ let result = stdenv.mkDerivation rec { * libXt is only needed on amd64 */ libraries = - [stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk_pixbuf atk] ++ + [stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk-pixbuf atk] ++ (if swingSupport then [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt xorg.libXrender stdenv.cc.cc] else []); rpath = stdenv.lib.strings.makeLibraryPath libraries; diff --git a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix index 81f4ef3c7db..d9ee5010f7c 100644 --- a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix @@ -2,13 +2,13 @@ # jce download url: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; import ./jdk-linux-base.nix { productVersion = "8"; - patchVersion = "201"; - buildVersion = "09"; - sha256.i686-linux = "1f9n93zmkggchaxkchp4bqasvxznn96zjci34f52h7v392jkzqac"; - sha256.x86_64-linux = "0w730v2q0iaxf2lprabwmy7129byrs0hhdbwas575p1xmk00qw6b"; - sha256.armv7l-linux = "0y6bvq93lsf21v6ca536dpfhkk5ljsj7c6di0qzkban37bivj0si"; - sha256.aarch64-linux = "1bybysgg9llqzllsmdszmmb73v5az2l1shxn6lxwv3wwiazpf47q"; - releaseToken = "42970487e3af4f5aa5bca3f542482c60"; + patchVersion = "211"; + buildVersion = "12"; + sha256.i686-linux = "0mdrljs0rw9s4pvaa3sn791nqgdrp8749z3qn80y7hhad74kvsnp"; + sha256.x86_64-linux = "13b6qk4sn8jdhxa22na9d2aazm4yjh6yxrlxr189gxy3619y9dy0"; + sha256.armv7l-linux = "1ij1x925k7lyp5f98gy8r0xfr41qhczf2rb74plwwmrccc1k00p5"; + sha256.aarch64-linux = "041r615qj9qy34a9gxm8968qlmf060ba2as5w97v86mbik4rca05"; + releaseToken = "478a62b7d4e34b78b671c754eaaf38ab"; jceName = "jce_policy-8.zip"; sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk"; } diff --git a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix index 0263bdde8d2..9fab02ab536 100644 --- a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix @@ -2,13 +2,13 @@ # jce download url: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; import ./jdk-linux-base.nix { productVersion = "8"; - patchVersion = "202"; - buildVersion = "09"; - sha256.i686-linux = "19np392dwdqdq39lmm10607w2h042lrm5953fnsfh1bb9jli1pgj"; - sha256.x86_64-linux = "1q4l8pymjvsvxfwaw0rdcnhryh1la2bvg5f4d4my41ka390k4p4s"; - sha256.armv7l-linux = "06aljl7dqmmhmp7xswgvkcgh9mam71wnqydg9yb3hkcc443cm581"; - sha256.aarch64-linux = "12v9ndv7a2c9zqq6ai2vsgwad0lzmf4c6jxy4p9miapmhjzx5vii"; - releaseToken = "42970487e3af4f5aa5bca3f542482c60"; + patchVersion = "212"; + buildVersion = "10"; + sha256.i686-linux = "03dj9q0bi3ib731f4zl9hylkrgw417h6qlg2wi7nw71b0fqhijn1"; + sha256.x86_64-linux = "1yzddxzfh6h14bpzis1abp52x4jjljg8a3zyqz483q6qm05caq1i"; + sha256.armv7l-linux = "0x333alkqdx8mmiirair7g5iiwif5v9ka4j3qr0f42ilvmk8csnx"; + sha256.aarch64-linux = "0vcbdvcsl8rm47i07s93jmrrs5laibf937d8vacjqqgh9bbhsr2c"; + releaseToken = "59066701cf1a433da9770636fbc4c9aa"; jceName = "jce_policy-8.zip"; sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk"; } diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix index 1a81a5ec20a..4540a301610 100644 --- a/pkgs/development/compilers/orc/default.nix +++ b/pkgs/development/compilers/orc/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "orc-0.4.28"; + name = "orc-0.4.29"; src = fetchurl { url = "https://gstreamer.freedesktop.org/src/orc/${name}.tar.xz"; - sha256 = "bfcd7c6563b05672386c4eedfc4c0d4a0a12b4b4775b74ec6deb88fc2bcd83ce"; + sha256 = "1cisbbn69p9c8vikn0nin14q0zscby5m8cyvzxyw2pjb2kwh32ag"; }; outputs = [ "out" "dev" ]; @@ -15,8 +15,9 @@ stdenv.mkDerivation rec { sed "/^toolsdir=/ctoolsdir=$dev/bin" -i "$dev"/lib/pkgconfig/orc*.pc ''; - # https://bugzilla.gnome.org/show_bug.cgi?id=728129#c15 - doCheck = stdenv.hostPlatform.system != "i686-linux"; # not sure about cross-compiling + # i686 https://gitlab.freedesktop.org/gstreamer/orc/issues/18 + # armv7l https://gitlab.freedesktop.org/gstreamer/orc/issues/9 + doCheck = (!stdenv.hostPlatform.isi686 && !stdenv.hostPlatform.isAarch32); meta = with stdenv.lib; { description = "The Oil Runtime Compiler"; diff --git a/pkgs/development/compilers/osl/default.nix b/pkgs/development/compilers/osl/default.nix index ddfd5d0a3fd..e4d3398476e 100644 --- a/pkgs/development/compilers/osl/default.nix +++ b/pkgs/development/compilers/osl/default.nix @@ -8,13 +8,13 @@ in clangStdenv.mkDerivation rec { # In theory this could use GCC + Clang rather than just Clang, # but https://github.com/NixOS/nixpkgs/issues/29877 stops this name = "openshadinglanguage-${version}"; - version = "1.10.2"; + version = "1.10.6"; src = fetchFromGitHub { owner = "imageworks"; repo = "OpenShadingLanguage"; - rev = "Release-1.10.2"; - sha256 = "1549hav5nd67a3cmhbalyaqhs39dh7w0nilf91pypnadrl1g03k7"; + rev = "Release-1.10.6"; + sha256 = "1g8g853iq56knlvn1hdsck78by3843vyly9wji5ip41r6i2s0zla"; }; cmakeFlags = [ "-DUSE_BOOST_WAVE=ON" "-DENABLERTTI=ON" ]; diff --git a/pkgs/development/compilers/owl-lisp/default.nix b/pkgs/development/compilers/owl-lisp/default.nix index ccd149bbb40..80ea9eb4c0b 100644 --- a/pkgs/development/compilers/owl-lisp/default.nix +++ b/pkgs/development/compilers/owl-lisp/default.nix @@ -1,33 +1,31 @@ -{ stdenv, fetchFromGitHub, coreutils, which }: +{ stdenv, fetchFromGitLab, coreutils, which }: stdenv.mkDerivation rec { - name = "owl-lisp-${version}"; - version = "0.1.16"; + pname = "owl-lisp"; + version = "0.1.19"; - src = fetchFromGitHub { - owner = "aoh"; - repo = "owl-lisp"; + src = fetchFromGitLab { + owner = "owl-lisp"; + repo = "owl"; rev = "v${version}"; - sha256 = "1qp6p48bmlyn83rqi6k3d098dg4cribavg5rd4x17z37i181vxvj"; + sha256 = "1bgjd2gkr5risfcc401rlr5fc82gwm4r2gpp9gzkg9h64acivkjx"; }; nativeBuildInputs = [ which ]; prePatch = '' - substituteInPlace Makefile --replace /usr $out - - for f in tests/run tests/exec.sh ; do - substituteInPlace $f --replace /bin/echo ${coreutils}/bin/echo - done + substituteInPlace Makefile \ + --replace /usr $out ''; # tests are run as part of the compilation process doCheck = false; meta = with stdenv.lib; { - description = "A functional lisp"; - homepage = https://github.com/aoh/owl-lisp; + description = "A functional Scheme for world domination"; + homepage = "https://gitlab.com/owl-lisp/owl"; license = licenses.mit; maintainers = with maintainers; [ peterhoeg ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix index ef53280b679..a118e7ab73b 100644 --- a/pkgs/development/compilers/pakcs/default.nix +++ b/pkgs/development/compilers/pakcs/default.nix @@ -4,13 +4,13 @@ , curl, git, unzip, gnutar, coreutils, sqlite }: let - name = "pakcs-2.0.2"; + name = "pakcs-2.1.1"; # Don't switch to development release without a reason, because its # source updates without version bump. Prefer current release instead. src = fetchurl { url = "https://www.informatik.uni-kiel.de/~pakcs/download/${name}-src.tar.gz"; - sha256 = "1hm80gvpsifbsfi13i0iiv7f2b72ymw98bbrm6a8hjsbnfw55jvg"; + sha256 = "112v9ynqfbbm4x770mcfrai9v5bh7c3zn7jka80pv6v4y65r778c"; }; curry-frontend = (haskellPackages.override { diff --git a/pkgs/development/compilers/pforth/default.nix b/pkgs/development/compilers/pforth/default.nix new file mode 100644 index 00000000000..7885582ad12 --- /dev/null +++ b/pkgs/development/compilers/pforth/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + version = "28"; + pname = "pforth"; + src = fetchFromGitHub { + owner = "philburk"; + repo = "pforth"; + rev = "9190005e32c6151b76ac707b30eeb4d5d9dd1d36"; + sha256 = "0k3pmcgybsnwrxy75piyb2420r8d4ij190606js32j99062glr3x"; + }; + + makeFlags = [ "SRCDIR=." ]; + makefile = "build/unix/Makefile"; + + installPhase = '' + install -Dm755 pforth_standalone $out/bin/pforth + ''; + + + meta = { + description = "Portable ANSI style Forth written in ANSI C"; + homepage = http://www.softsynth.com/pforth/; + license = stdenv.lib.licenses.publicDomain; + platforms = stdenv.lib.platforms.unix; + maintainers = with stdenv.lib.maintainers; [ yrashk ]; + }; +} diff --git a/pkgs/development/compilers/polyml/5.6.nix b/pkgs/development/compilers/polyml/5.6.nix index 7f22f4de624..370c08f001a 100644 --- a/pkgs/development/compilers/polyml/5.6.nix +++ b/pkgs/development/compilers/polyml/5.6.nix @@ -5,7 +5,8 @@ let in stdenv.mkDerivation { - name = "polyml-${version}"; + pname = "polyml"; + inherit version; prePatch = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace configure.ac --replace stdc++ c++ diff --git a/pkgs/development/compilers/polyml/5.7.nix b/pkgs/development/compilers/polyml/5.7.nix new file mode 100644 index 00000000000..eef972a2cc3 --- /dev/null +++ b/pkgs/development/compilers/polyml/5.7.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, gmp, libffi }: + +stdenv.mkDerivation rec { + pname = "polyml"; + version = "5.7.1"; + + prePatch = stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace configure.ac --replace stdc++ c++ + ''; + + buildInputs = [ libffi gmp ]; + + nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin autoreconfHook; + + configureFlags = [ + "--enable-shared" + "--with-system-libffi" + "--with-gmp" + ]; + + src = fetchFromGitHub { + owner = "polyml"; + repo = "polyml"; + rev = "v${version}"; + sha256 = "0j0wv3ijfrjkfngy7dswm4k1dchk3jak9chl5735dl8yrl8mq755"; + }; + + meta = with stdenv.lib; { + description = "Standard ML compiler and interpreter"; + longDescription = '' + Poly/ML is a full implementation of Standard ML. + ''; + homepage = https://www.polyml.org/; + license = licenses.lgpl21; + platforms = with platforms; (linux ++ darwin); + maintainers = with maintainers; [ z77z yurrriq ]; + }; +} diff --git a/pkgs/development/compilers/polyml/default.nix b/pkgs/development/compilers/polyml/default.nix index b7feed84c37..5ab13d5f761 100644 --- a/pkgs/development/compilers/polyml/default.nix +++ b/pkgs/development/compilers/polyml/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchFromGitHub, autoreconfHook, gmp, libffi }: stdenv.mkDerivation rec { - name = "polyml-${version}"; - version = "5.7.1"; + pname = "polyml"; + version = "5.8"; prePatch = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace configure.ac --replace stdc++ c++ @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { owner = "polyml"; repo = "polyml"; rev = "v${version}"; - sha256 = "0j0wv3ijfrjkfngy7dswm4k1dchk3jak9chl5735dl8yrl8mq755"; + sha256 = "1s7q77bivppxa4vd7gxjj5dbh66qnirfxnkzh1ql69rfx1c057n3"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix index fbb4db72bd4..85641c351d4 100644 --- a/pkgs/development/compilers/ponyc/default.nix +++ b/pkgs/development/compilers/ponyc/default.nix @@ -2,14 +2,14 @@ cc ? stdenv.cc, lto ? !stdenv.isDarwin }: stdenv.mkDerivation ( rec { - name = "ponyc-${version}"; - version = "0.26.0"; + pname = "ponyc"; + version = "0.30.0"; src = fetchFromGitHub { owner = "ponylang"; - repo = "ponyc"; + repo = pname; rev = version; - sha256 = "1k1ysqk7j8kpysndps2ic9hprvp0z0d32d6jvqlapjrfccghy7dh"; + sha256 = "1gs9x4rw4mfv499j3k1brm8gbz7pjl8dyr7v68pa2f563cbzwaq9"; }; buildInputs = [ llvm makeWrapper which ]; @@ -25,25 +25,19 @@ stdenv.mkDerivation ( rec { substituteInPlace packages/process/_test.pony \ --replace '=/bin' "${coreutils}/bin" - - # Fix llvm-ar check for darwin - substituteInPlace Makefile \ - --replace "llvm-ar-3.8" "llvm-ar" + # Disabling the stdlib tests + substituteInPlace Makefile-ponyc \ + --replace 'test-ci: all check-version test-core test-stdlib-debug test-stdlib' 'test-ci: all check-version test-core' # Remove impure system refs substituteInPlace src/libponyc/pkg/package.c \ - --replace "/usr/local/lib" "" - substituteInPlace src/libponyc/pkg/package.c \ + --replace "/usr/local/lib" "" \ --replace "/opt/local/lib" "" for file in `grep -irl '/usr/local/opt/libressl/lib' ./*`; do substituteInPlace $file --replace '/usr/local/opt/libressl/lib' "${stdenv.lib.getLib libressl}/lib" done - # Fix ponypath issue - substituteInPlace Makefile \ - --replace "PONYPATH=." "PONYPATH=.:\$(PONYPATH)" - export LLVM_CONFIG=${llvm}/bin/llvm-config '' + stdenv.lib.optionalString ((!stdenv.isDarwin) && (!cc.isClang) && lto) '' export LTO_PLUGIN=`find ${cc.cc}/ -name liblto_plugin.so` @@ -73,9 +67,7 @@ stdenv.mkDerivation ( rec { wrapProgram $out/bin/ponyc \ --prefix PATH ":" "${stdenv.cc}/bin" \ --set-default CC "$CC" \ - --prefix PONYPATH : "$out/lib" \ - --prefix PONYPATH : "${stdenv.lib.getLib pcre2}/lib" \ - --prefix PONYPATH : "${stdenv.lib.getLib libressl}/lib" + --prefix PONYPATH : "${stdenv.lib.makeLibraryPath [ pcre2 libressl (placeholder "out") ]}" ''; # Stripping breaks linking for ponyc diff --git a/pkgs/development/compilers/ponyc/pony-stable.nix b/pkgs/development/compilers/ponyc/pony-stable.nix index 6dfb099242d..6719293af2a 100644 --- a/pkgs/development/compilers/ponyc/pony-stable.nix +++ b/pkgs/development/compilers/ponyc/pony-stable.nix @@ -1,21 +1,19 @@ {stdenv, fetchFromGitHub, ponyc }: stdenv.mkDerivation rec { - name = "pony-stable-${version}"; - version = "0.1.6"; + pname = "pony-stable"; + version = "0.2.1"; src = fetchFromGitHub { owner = "ponylang"; repo = "pony-stable"; rev = version; - sha256 = "02lqba75psnxcxj2y8lm1fy1hmwa088nvxjghhpnlkqbwz7wa2sw"; + sha256 = "1wiinw35bp3zpq9kx61x2zvid7ln00jrw052ah8801s0d9dbwrdr"; }; buildInputs = [ ponyc ]; - installPhase = '' - make prefix=$out install - ''; + installFlags = [ "prefix=${placeholder "out"}" "install" ]; meta = { description = "A simple dependency manager for the Pony language."; diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix new file mode 100644 index 00000000000..d25cd9fee77 --- /dev/null +++ b/pkgs/development/compilers/purescript/purescript/default.nix @@ -0,0 +1,65 @@ +{ stdenv, pkgs, fetchurl, zlib, gmp, ncurses5, lib }: + +# from justinwoo/easy-purescript-nix +# https://github.com/justinwoo/easy-purescript-nix/blob/d383972c82620a712ead4033db14110497bc2c9c/purs.nix + +let + dynamic-linker = stdenv.cc.bintools.dynamicLinker; + + patchelf = libPath : + if stdenv.isDarwin + then "" + else + '' + chmod u+w $PURS + patchelf --interpreter ${dynamic-linker} --set-rpath ${libPath} $PURS + chmod u-w $PURS + ''; + +in stdenv.mkDerivation rec { + pname = "purescript"; + version = "0.13.0"; + + src = + if stdenv.isDarwin + then + fetchurl { + url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz"; + sha256 = "0xpisy38gj6fgyyzm6fdl0v819dhjmil4634xxangvhvs7jf5il0"; + } + else + fetchurl { + url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz"; + sha256 = "06g5q69yv6c3alq9vr8zjqqzamlii7xf6vj9j52akjq5lww214ba"; + }; + + + buildInputs = [ zlib + gmp + ncurses5 ]; + libPath = lib.makeLibraryPath buildInputs; + dontStrip = true; + + installPhase = '' + mkdir -p $out/bin + PURS="$out/bin/purs" + + install -D -m555 -T purs $PURS + ${patchelf libPath} + + mkdir -p $out/etc/bash_completion.d/ + $PURS --bash-completion-script $PURS > $out/etc/bash_completion.d/purs-completion.bash + ''; + + passthru.tests = { + minimal-module = pkgs.callPackage ./test-minimal-module {}; + }; + + meta = with stdenv.lib; { + description = "A strongly-typed functional programming language that compiles to JavaScript"; + homepage = http://www.purescript.org/; + license = licenses.bsd3; + maintainers = [ maintainers.justinwoo ]; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; + }; +} diff --git a/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.js b/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.js new file mode 100644 index 00000000000..a3547e206b7 --- /dev/null +++ b/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.js @@ -0,0 +1,8 @@ +"use strict" + +exports.log = function (s) { + return function () { + console.log(s); + return {}; + }; +}; diff --git a/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.purs b/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.purs new file mode 100644 index 00000000000..8bf5a23f346 --- /dev/null +++ b/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.purs @@ -0,0 +1,9 @@ +module Main where + +foreign import data Effect :: Type -> Type +data Unit = Unit + +foreign import log :: String -> Effect Unit + +main :: Effect Unit +main = log "hello world" diff --git a/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix b/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix new file mode 100644 index 00000000000..5f01298960c --- /dev/null +++ b/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix @@ -0,0 +1,11 @@ +{ runCommand, purescript, nodejs }: + +runCommand "purescript-test-minimal-module" {} '' + ${purescript}/bin/purs compile -o ./output ${./.}/Main.purs + + echo 'require("./output/Main/index.js").main()' > node.js + + ${nodejs}/bin/node node.js | grep "hello world" || echo "did not output hello world" + + touch $out +'' diff --git a/pkgs/development/compilers/qbe/default.nix b/pkgs/development/compilers/qbe/default.nix new file mode 100644 index 00000000000..8926fced482 --- /dev/null +++ b/pkgs/development/compilers/qbe/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchgit }: + +stdenv.mkDerivation { + pname = "qbe"; + version = "unstable-2019-07-11"; + + src = fetchgit { + url = "git://c9x.me/qbe.git"; + rev = "7bf08ff50729037c8820b26d085905175b5593c8"; + sha256 = "0w1yack5ky6x6lbw8vn6swsy8s90n6ny0jpkw0866ja677z7qz34"; + }; + + makeFlags = [ "PREFIX=$(out)" ]; + meta = with stdenv.lib; { + homepage = "https://c9x.me/compile/"; + description = "A small compiler backend written in C"; + maintainers = with maintainers; [ fgaz ]; + license = licenses.mit; + platforms = platforms.all; + }; +} + diff --git a/pkgs/development/compilers/reason/default.nix b/pkgs/development/compilers/reason/default.nix index 1b84b934852..5ade7fd6fba 100644 --- a/pkgs/development/compilers/reason/default.nix +++ b/pkgs/development/compilers/reason/default.nix @@ -1,23 +1,24 @@ { stdenv, makeWrapper, fetchFromGitHub, ocaml, findlib, dune -, menhir, merlin_extend, ppx_tools_versioned, utop +, menhir, merlin-extend, ppx_tools_versioned, utop, cppo +, ocaml_lwt }: stdenv.mkDerivation rec { name = "ocaml${ocaml.version}-reason-${version}"; - version = "3.3.7"; + version = "3.5.0"; src = fetchFromGitHub { owner = "facebook"; repo = "reason"; - rev = "4d20e5b535c29c5ef1283e65958b32996e449e5a"; - sha256 = "0f3pb61wg58g8f3wcnp1h4gpmnwmp7bq0cnqdfwldmh9cs0dqyfk"; + rev = "ea207004e021efef5a92ecd011d9d5b9b16bbded"; + sha256 = "0cdjy7sw15rlk63prrwy8lavqrz8fqwsgwr19ihvj99x332r98kk"; }; nativeBuildInputs = [ makeWrapper ]; - propagatedBuildInputs = [ menhir merlin_extend ppx_tools_versioned ]; + propagatedBuildInputs = [ menhir merlin-extend ppx_tools_versioned ]; - buildInputs = [ ocaml findlib dune utop menhir ]; + buildInputs = [ ocaml findlib dune cppo utop menhir ]; buildFlags = [ "build" ]; # do not "make tests" before reason lib is installed @@ -26,6 +27,7 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/rtop \ --prefix PATH : "${utop}/bin" \ + --set CAML_LD_LIBRARY_PATH ${ocaml_lwt}/lib/ocaml/${ocaml.version}/site-lib:$CAML_LD_LIBRARY_PATH \ --set OCAMLPATH $out/lib/ocaml/${ocaml.version}/site-lib:$OCAMLPATH ''; diff --git a/pkgs/development/compilers/rgbds/default.nix b/pkgs/development/compilers/rgbds/default.nix index f883500eeb9..3856ced250e 100644 --- a/pkgs/development/compilers/rgbds/default.nix +++ b/pkgs/development/compilers/rgbds/default.nix @@ -1,21 +1,35 @@ -{stdenv, fetchFromGitHub, yacc}: +{stdenv, fetchFromGitHub, bison, flex, pkg-config, libpng}: + +# TODO: byacc is the recommended parser generator but due to https://github.com/rednex/rgbds/issues/333 +# it does not work for the moment. We should switch back to byacc as soon as the fix is integrated +# in a published version. stdenv.mkDerivation rec { - name = "rgbds-${version}"; - version = "0.2.4"; + pname = "rgbds"; + version = "0.3.8"; src = fetchFromGitHub { - owner = "bentley"; + owner = "rednex"; repo = "rgbds"; rev = "v${version}"; - sha256 = "0dwq0p9g1lci8sm12a2rfk0g33z2vr75x78zdf1g84djwbz8ipc6"; + sha256 = "0db37z886026svhj6qnc3wk56sndbnz1vi41gn2k3bl6ppbnjlpk"; }; - nativeBuildInputs = [ yacc ]; + nativeBuildInputs = [ bison flex pkg-config libpng ]; installFlags = "PREFIX=\${out}"; meta = with stdenv.lib; { - homepage = https://www.anjbe.name/rgbds/; - description = "An assembler/linker package that produces Game Boy programs"; - license = licenses.free; + homepage = https://rednex.github.io/rgbds/; + description = "A free assembler/linker package for the Game Boy and Game Boy Color"; + license = licenses.mit; + longDescription = + ''RGBDS (Rednex Game Boy Development System) is a free assembler/linker package for the Game Boy and Game Boy Color. It consists of: + + - rgbasm (assembler) + - rgblink (linker) + - rgbfix (checksum/header fixer) + - rgbgfx (PNG‐to‐Game Boy graphics converter) + + This is a fork of the original RGBDS which aims to make the programs more like other UNIX tools. + ''; maintainers = with maintainers; [ matthewbauer ]; platforms = platforms.all; }; diff --git a/pkgs/development/compilers/rust/binary.nix b/pkgs/development/compilers/rust/binary.nix new file mode 100644 index 00000000000..acccc749686 --- /dev/null +++ b/pkgs/development/compilers/rust/binary.nix @@ -0,0 +1,102 @@ +{ stdenv, makeWrapper, bash, curl, darwin +, version +, src +, platform +, versionType +}: + +let + inherit (stdenv.lib) optionalString; + inherit (darwin.apple_sdk.frameworks) Security; + + bootstrapping = versionType == "bootstrap"; + + installComponents + = "rustc,rust-std-${platform}" + + (optionalString bootstrapping ",cargo") + ; +in + +rec { + rustc = stdenv.mkDerivation rec { + name = "rustc-${versionType}-${version}"; + + inherit version; + inherit src; + + meta = with stdenv.lib; { + homepage = http://www.rust-lang.org/; + description = "A safe, concurrent, practical language"; + maintainers = with maintainers; [ qknight ]; + license = [ licenses.mit licenses.asl20 ]; + }; + + buildInputs = [ bash ] + ++ stdenv.lib.optional stdenv.isDarwin Security; + + postPatch = '' + patchShebangs . + ''; + + installPhase = '' + ./install.sh --prefix=$out \ + --components=${installComponents} + + ${optionalString (stdenv.isLinux && bootstrapping) '' + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + "$out/bin/rustc" + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + "$out/bin/rustdoc" + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + "$out/bin/cargo" + ''} + + # Do NOT, I repeat, DO NOT use `wrapProgram` on $out/bin/rustc + # (or similar) here. It causes strange effects where rustc loads + # the wrong libraries in a bootstrap-build causing failures that + # are very hard to track down. For details, see + # https://github.com/rust-lang/rust/issues/34722#issuecomment-232164943 + ''; + + setupHooks = ./setup-hook.sh; + }; + + cargo = stdenv.mkDerivation rec { + name = "cargo-${versionType}-${version}"; + + inherit version; + inherit src; + + meta = with stdenv.lib; { + homepage = http://www.rust-lang.org/; + description = "A safe, concurrent, practical language"; + maintainers = with maintainers; [ qknight ]; + license = [ licenses.mit licenses.asl20 ]; + }; + + buildInputs = [ makeWrapper bash ] + ++ stdenv.lib.optional stdenv.isDarwin Security; + + postPatch = '' + patchShebangs . + ''; + + installPhase = '' + patchShebangs ./install.sh + ./install.sh --prefix=$out \ + --components=cargo + + ${optionalString (stdenv.isLinux && bootstrapping) '' + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + "$out/bin/cargo" + ''} + + wrapProgram "$out/bin/cargo" \ + --suffix PATH : "${rustc}/bin" + ''; + }; +} diff --git a/pkgs/development/compilers/rust/binaryBuild.nix b/pkgs/development/compilers/rust/binaryBuild.nix deleted file mode 100644 index 77dba7f9e62..00000000000 --- a/pkgs/development/compilers/rust/binaryBuild.nix +++ /dev/null @@ -1,115 +0,0 @@ -{ stdenv, makeWrapper, bash, curl, darwin -, version -, src -, platform -, versionType -}: - -let - inherit (stdenv.lib) optionalString; - inherit (darwin.apple_sdk.frameworks) Security; - - bootstrapping = versionType == "bootstrap"; - - installComponents - = "rustc,rust-std-${platform}" - + (optionalString bootstrapping ",cargo") - ; -in - -rec { - rustc = stdenv.mkDerivation rec { - name = "rustc-${versionType}-${version}"; - - inherit version; - inherit src; - - meta = with stdenv.lib; { - homepage = http://www.rust-lang.org/; - description = "A safe, concurrent, practical language"; - maintainers = with maintainers; [ qknight ]; - license = [ licenses.mit licenses.asl20 ]; - }; - - buildInputs = [ bash ] ++ stdenv.lib.optional stdenv.isDarwin Security; - - postPatch = '' - patchShebangs . - ''; - - installPhase = '' - ./install.sh --prefix=$out \ - --components=${installComponents} - - ${optionalString (stdenv.isLinux && bootstrapping) '' - patchelf \ - --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - "$out/bin/rustc" - patchelf \ - --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - "$out/bin/rustdoc" - patchelf \ - --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - "$out/bin/cargo" - ''} - - ${optionalString (stdenv.isDarwin && bootstrapping) '' - install_name_tool -change /usr/lib/libresolv.9.dylib '${darwin.libresolv}/lib/libresolv.9.dylib' "$out/bin/rustc" - install_name_tool -change /usr/lib/libresolv.9.dylib '${darwin.libresolv}/lib/libresolv.9.dylib' "$out/bin/rustdoc" - install_name_tool -change /usr/lib/libiconv.2.dylib '${darwin.libiconv}/lib/libiconv.2.dylib' "$out/bin/cargo" - install_name_tool -change /usr/lib/libresolv.9.dylib '${darwin.libresolv}/lib/libresolv.9.dylib' "$out/bin/cargo" - install_name_tool -change /usr/lib/libcurl.4.dylib '${stdenv.lib.getLib curl}/lib/libcurl.4.dylib' "$out/bin/cargo" - for f in $out/lib/lib*.dylib; do - install_name_tool -change /usr/lib/libresolv.9.dylib '${darwin.libresolv}/lib/libresolv.9.dylib' "$f" - done - ''} - - # Do NOT, I repeat, DO NOT use `wrapProgram` on $out/bin/rustc - # (or similar) here. It causes strange effects where rustc loads - # the wrong libraries in a bootstrap-build causing failures that - # are very hard to track down. For details, see - # https://github.com/rust-lang/rust/issues/34722#issuecomment-232164943 - ''; - }; - - cargo = stdenv.mkDerivation rec { - name = "cargo-${versionType}-${version}"; - - inherit version; - inherit src; - - meta = with stdenv.lib; { - homepage = http://www.rust-lang.org/; - description = "A safe, concurrent, practical language"; - maintainers = with maintainers; [ qknight ]; - license = [ licenses.mit licenses.asl20 ]; - }; - - buildInputs = [ makeWrapper bash ] ++ stdenv.lib.optional stdenv.isDarwin Security; - - postPatch = '' - patchShebangs . - ''; - - installPhase = '' - patchShebangs ./install.sh - ./install.sh --prefix=$out \ - --components=cargo - - ${optionalString (stdenv.isLinux && bootstrapping) '' - patchelf \ - --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - "$out/bin/cargo" - ''} - - ${optionalString (stdenv.isDarwin && bootstrapping) '' - install_name_tool -change /usr/lib/libiconv.2.dylib '${darwin.libiconv}/lib/libiconv.2.dylib' "$out/bin/cargo" - install_name_tool -change /usr/lib/libresolv.9.dylib '${darwin.libresolv}/lib/libresolv.9.dylib' "$out/bin/cargo" - install_name_tool -change /usr/lib/libcurl.4.dylib '${stdenv.lib.getLib curl}/lib/libcurl.4.dylib' "$out/bin/cargo" - ''} - - wrapProgram "$out/bin/cargo" \ - --suffix PATH : "${rustc}/bin" - ''; - }; -} diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix index ddef4adf0a0..5cf48715dae 100644 --- a/pkgs/development/compilers/rust/bootstrap.nix +++ b/pkgs/development/compilers/rust/bootstrap.nix @@ -3,16 +3,16 @@ let # Note: the version MUST be one version prior to the version we're # building - version = "1.31.1"; + version = "1.36.0"; - # fetch hashes by running `print-hashes.sh 1.31.1` + # fetch hashes by running `print-hashes.sh 1.36.0` hashes = { - i686-unknown-linux-gnu = "1e77e5e8c745320faad9ce6f319a77b4a2e75d972eb68a195acd081ad910ab6d"; - x86_64-unknown-linux-gnu = "a64685535d0c457f49a8712a096a5c21564cd66fd2f7da739487f028192ebe3c"; - armv7-unknown-linux-gnueabihf = "11c717b781a7af5bdc829894139f8f45d4c12a061f7f9e39481f21426a04eb21"; - aarch64-unknown-linux-gnu = "29a7c6eb536fefd0ca459e48dfaea006aa8bff8a87aa82a9b7d483487033632a"; - i686-apple-darwin = "46566dc25fcbd8badc9950b8c9f9b0faeca065b5a09cd96258e4f4b10d686aed"; - x86_64-apple-darwin = "8398b1b303bdf0e7605d08b87070a514a4f588797c6fb3593718cb9cec233ad6"; + i686-unknown-linux-gnu = "9f95c3e96622a792858c8a1c9274fa63e6992370493b27c1ac7299a3bec5156d"; + x86_64-unknown-linux-gnu = "15e592ec52f14a0586dcebc87a957e472c4544e07359314f6354e2b8bd284c55"; + armv7-unknown-linux-gnueabihf = "798181a728017068f9eddfa665771805d97846cd87bddcd67e0fe27c8d082ceb"; + aarch64-unknown-linux-gnu = "db78c24d93756f9fe232f081dbc4a46d38f8eec98353a9e78b9b164f9628042d"; + i686-apple-darwin = "3dbc34fdea8bc030badf9c8b2572c09fd3f5369b59ac099fc521064b390b9e60"; + x86_64-apple-darwin = "91f151ec7e24f5b0645948d439fc25172ec4012f0584dd16c3fb1acb709aa325"; }; platform = @@ -35,7 +35,7 @@ let sha256 = hashes."${platform}"; }; -in callPackage ./binaryBuild.nix +in callPackage ./binary.nix { inherit version src platform; versionType = "bootstrap"; } diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix index a7e2a40597b..e000edad49b 100644 --- a/pkgs/development/compilers/rust/cargo.nix +++ b/pkgs/development/compilers/rust/cargo.nix @@ -1,13 +1,11 @@ { stdenv, file, curl, pkgconfig, python, openssl, cmake, zlib , makeWrapper, libiconv, cacert, rustPlatform, rustc, libgit2 , CoreFoundation, Security -, version -, patches ? [] -, src }: +}: rustPlatform.buildRustPackage rec { - name = "cargo-${version}"; - inherit version src patches; + name = "cargo-${rustc.version}"; + inherit (rustc) version src; # the rust source tarball already has all the dependencies vendored, no need to fetch them again cargoVendorDir = "vendor"; @@ -19,21 +17,14 @@ rustPlatform.buildRustPackage rec { # changes hash of vendor directory otherwise dontUpdateAutotoolsGnuConfigScripts = true; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ cacert file curl python openssl cmake zlib makeWrapper libgit2 ] + nativeBuildInputs = [ pkgconfig cmake makeWrapper ]; + buildInputs = [ cacert file curl python openssl zlib libgit2 ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security libiconv ]; - LIBGIT2_SYS_USE_PKG_CONFIG=1; + LIBGIT2_SYS_USE_PKG_CONFIG = 1; # fixes: the cargo feature `edition` requires a nightly version of Cargo, but this is the `stable` channel - RUSTC_BOOTSTRAP=1; - - # FIXME: Use impure version of CoreFoundation because of missing symbols. - # CFURLSetResourcePropertyForKey is defined in the headers but there's no - # corresponding implementation in the sources from opensource.apple.com. - preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' - export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE" - ''; + RUSTC_BOOTSTRAP = 1; postInstall = '' # NOTE: We override the `http.cainfo` option usually specified in diff --git a/pkgs/development/compilers/rust/clippy.nix b/pkgs/development/compilers/rust/clippy.nix new file mode 100644 index 00000000000..2b8fcbe0ba4 --- /dev/null +++ b/pkgs/development/compilers/rust/clippy.nix @@ -0,0 +1,35 @@ +{ stdenv, lib, rustPlatform, rustc, Security, patchelf }: +rustPlatform.buildRustPackage rec { + name = "clippy-${rustc.version}"; + inherit (rustc) version src; + + # the rust source tarball already has all the dependencies vendored, no need to fetch them again + cargoVendorDir = "vendor"; + preBuild = "pushd src/tools/clippy"; + postBuild = "popd"; + + # changes hash of vendor directory otherwise + dontUpdateAutotoolsGnuConfigScripts = true; + + buildInputs = [ rustc ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security ]; + + # fixes: error: the option `Z` is only accepted on the nightly compiler + RUSTC_BOOTSTRAP = 1; + + # Without disabling the test the build fails with: + # error: failed to run custom build command for `rustc_llvm v0.0.0 + # (/private/tmp/nix-build-clippy-1.36.0.drv-0/rustc-1.36.0-src/src/librustc_llvm) + doCheck = false; + + preFixup = stdenv.lib.optionalString stdenv.isDarwin '' + install_name_tool -add_rpath "${rustc}/lib" $out/bin/clippy-driver + ''; + + meta = with stdenv.lib; { + homepage = https://rust-lang.github.io/rust-clippy/; + description = "A bunch of lints to catch common mistakes and improve your Rust code"; + maintainers = with maintainers; [ basvandijk ]; + license = with licenses; [ mit asl20 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index 9640cd9b577..a39cd785cf7 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -1,47 +1,72 @@ -{ stdenv, callPackage, recurseIntoAttrs, makeRustPlatform, llvm, fetchurl +{ stdenv, lib +, buildPackages +, newScope, callPackage , CoreFoundation, Security -, targets ? [] -, targetToolchains ? [] -, targetPatches ? [] -}: +, llvmPackages_5 +, pkgsBuildTarget, pkgsBuildBuild +}: rec { + makeRustPlatform = { rustc, cargo, ... }: { + rust = { + inherit rustc cargo; + }; -let - rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {})); - version = "1.32.0"; - cargoVersion = "1.32.0"; - src = fetchurl { - url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; - sha256 = "0ji2l9xv53y27xy72qagggvq47gayr5lcv2jwvmfirx029vlqnac"; - }; -in rec { - rustc = callPackage ./rustc.nix { - inherit stdenv llvm targets targetPatches targetToolchains rustPlatform version src; + buildRustPackage = callPackage ../../../build-support/rust { + inherit rustc cargo; - patches = [ - ./patches/net-tcp-disable-tests.patch + fetchcargo = buildPackages.callPackage ../../../build-support/rust/fetchcargo.nix { + inherit cargo; + }; + }; - # Re-evaluate if this we need to disable this one - #./patches/stdsimd-disable-doctest.patch - ]; - - withBundledLLVM = false; - - configureFlags = [ "--release-channel=stable" ]; - - # 1. Upstream is not running tests on aarch64: - # see https://github.com/rust-lang/rust/issues/49807#issuecomment-380860567 - # So we do the same. - # 2. Tests run out of memory for i686 - #doCheck = !stdenv.isAarch64 && !stdenv.isi686; - - # Disabled for now; see https://github.com/NixOS/nixpkgs/pull/42348#issuecomment-402115598. - doCheck = false; + rustcSrc = callPackage ./rust-src.nix { + inherit rustc; + }; }; - cargo = callPackage ./cargo.nix rec { - version = cargoVersion; - inherit src stdenv CoreFoundation Security; - inherit rustc; # the rustc that will be wrapped by cargo - inherit rustPlatform; # used to build cargo + # This just contains tools for now. But it would conceivably contain + # libraries too, say if we picked some default/recommended versions from + # `cratesIO` to build by Hydra and/or try to prefer/bias in Cargo.lock for + # all vendored Carnix-generated nix. + # + # In the end game, rustc, the rust standard library (`core`, `std`, etc.), + # and cargo would themselves be built with `buildRustCreate` like + # everything else. Tools and `build.rs` and procedural macro dependencies + # would be taken from `buildRustPackages` (and `bootstrapRustPackages` for + # anything provided prebuilt or their build-time dependencies to break + # cycles / purify builds). In this way, nixpkgs would be in control of all + # bootstrapping. + packages = { + prebuilt = callPackage ./bootstrap.nix {}; + stable = lib.makeScope newScope (self: let + # Like `buildRustPackages`, but may also contain prebuilt binaries to + # break cycle. Just like `bootstrapTools` for nixpkgs as a whole, + # nothing in the final package set should refer to this. + bootstrapRustPackages = self.buildRustPackages.overrideScope' (_: _: + lib.optionalAttrs (stdenv.buildPlatform == stdenv.hostPlatform) + buildPackages.rust.packages.prebuilt); + bootRustPlatform = makeRustPlatform bootstrapRustPackages; + in { + # Packages suitable for build-time, e.g. `build.rs`-type stuff. + buildRustPackages = buildPackages.rust.packages.stable; + # Analogous to stdenv + rustPlatform = makeRustPlatform self.buildRustPackages; + rustc = self.callPackage ./rustc.nix ({ + # Use boot package set to break cycle + rustPlatform = bootRustPlatform; + } // lib.optionalAttrs (stdenv.cc.isClang && stdenv.hostPlatform == stdenv.buildPlatform) { + stdenv = llvmPackages_5.stdenv; + pkgsBuildBuild = pkgsBuildBuild // { targetPackages.stdenv = llvmPackages_5.stdenv; }; + pkgsBuildHost = pkgsBuildBuild // { targetPackages.stdenv = llvmPackages_5.stdenv; }; + pkgsBuildTarget = pkgsBuildTarget // { targetPackages.stdenv = llvmPackages_5.stdenv; }; + }); + rustfmt = self.callPackage ./rustfmt.nix { inherit Security; }; + cargo = self.callPackage ./cargo.nix { + # Use boot package set to break cycle + rustPlatform = bootRustPlatform; + inherit CoreFoundation Security; + }; + clippy = self.callPackage ./clippy.nix { inherit Security; }; + rls = self.callPackage ./rls { inherit CoreFoundation Security; }; + }); }; } diff --git a/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch b/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch index 10713b6b7aa..583a6027f83 100644 --- a/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch +++ b/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch @@ -1,8 +1,7 @@ -diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs -index 0f60b5b3e..9b08415e7 100644 ---- a/src/libstd/net/tcp.rs -+++ b/src/libstd/net/tcp.rs -@@ -962,6 +962,7 @@ mod tests { +diff -ru rustc-1.36.0-src-orig/src/libstd/net/tcp.rs rustc-1.36.0-src/src/libstd/net/tcp.rs +--- rustc-1.36.0-src-orig/src/libstd/net/tcp.rs 2019-07-03 10:00:00.000000000 +0200 ++++ rustc-1.36.0-src/src/libstd/net/tcp.rs 2019-07-07 11:33:35.378130207 +0200 +@@ -973,6 +973,7 @@ } } @@ -10,7 +9,7 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn listen_localhost() { let socket_addr = next_test_ip4(); -@@ -1020,6 +1021,7 @@ mod tests { +@@ -1031,6 +1032,7 @@ }) } @@ -18,7 +17,7 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn read_eof() { each_ip(&mut |addr| { -@@ -1039,6 +1041,7 @@ mod tests { +@@ -1050,6 +1052,7 @@ }) } @@ -26,7 +25,7 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn write_close() { each_ip(&mut |addr| { -@@ -1065,6 +1068,7 @@ mod tests { +@@ -1076,6 +1079,7 @@ }) } @@ -34,7 +33,7 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn multiple_connect_serial() { each_ip(&mut |addr| { -@@ -1087,6 +1091,7 @@ mod tests { +@@ -1098,6 +1102,7 @@ }) } @@ -42,7 +41,7 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn multiple_connect_interleaved_greedy_schedule() { const MAX: usize = 10; -@@ -1123,6 +1128,7 @@ mod tests { +@@ -1134,6 +1139,7 @@ } #[test] @@ -50,7 +49,7 @@ index 0f60b5b3e..9b08415e7 100644 fn multiple_connect_interleaved_lazy_schedule() { const MAX: usize = 10; each_ip(&mut |addr| { -@@ -1401,6 +1407,7 @@ mod tests { +@@ -1467,6 +1473,7 @@ } #[test] @@ -58,47 +57,36 @@ index 0f60b5b3e..9b08415e7 100644 fn clone_while_reading() { each_ip(&mut |addr| { let accept = t!(TcpListener::bind(&addr)); -@@ -1421,7 +1422,10 @@ mod tests { +@@ -1597,7 +1604,7 @@ - // FIXME: re-enabled bitrig/openbsd tests once their socket timeout code + // FIXME: re-enabled openbsd tests once their socket timeout code // no longer has rounding errors. -- #[cfg_attr(any(target_os = "bitrig", target_os = "netbsd", target_os = "openbsd"), ignore)] -+ #[cfg_attr(any(target_os = "bitrig", -+ target_os = "netbsd", -+ target_os = "openbsd", -+ target_os = "macos"), ignore)] +- #[cfg_attr(any(target_os = "netbsd", target_os = "openbsd"), ignore)] ++ #[cfg_attr(any(target_os = "netbsd", target_os = "openbsd", target_os = "macos"), ignore)] + #[cfg_attr(target_env = "sgx", ignore)] // FIXME: https://github.com/fortanix/rust-sgx/issues/31 #[test] fn timeouts() { - let addr = next_test_ip4(); -@@ -1596,6 +1603,7 @@ mod tests { +@@ -1643,6 +1650,7 @@ drop(listener); } + #[cfg_attr(target_os = "macos", ignore)] #[test] + #[cfg_attr(target_env = "sgx", ignore)] // FIXME: https://github.com/fortanix/rust-sgx/issues/31 + fn test_read_with_timeout() { +@@ -1687,6 +1695,7 @@ + drop(listener); + } + ++ #[cfg_attr(target_os = "macos", ignore)] + #[test] + #[cfg_attr(target_env = "sgx", ignore)] fn nodelay() { - let addr = next_test_ip4(); -@@ -1610,6 +1618,7 @@ mod tests { - assert_eq!(false, t!(stream.nodelay())); +@@ -1719,6 +1728,7 @@ + assert_eq!(ttl, t!(stream.ttl())); } + #[cfg_attr(target_os = "macos", ignore)] #[test] - fn ttl() { - let ttl = 100; -@@ -1647,6 +1656,7 @@ mod tests { - } - } - -+ #[cfg_attr(target_os = "macos", ignore)] - #[test] - fn peek() { - each_ip(&mut |addr| { -@@ -1679,6 +1689,7 @@ mod tests { - } - - #[test] -+ #[cfg_attr(any(target_os = "linux", target_os = "macos"), ignore)] - fn connect_timeout_unroutable() { - // this IP is unroutable, so connections should always time out, - // provided the network is reachable to begin with. + #[cfg_attr(target_env = "sgx", ignore)] + fn set_nonblocking() { diff --git a/pkgs/development/compilers/rust/rls/default.nix b/pkgs/development/compilers/rust/rls/default.nix new file mode 100644 index 00000000000..470611242e0 --- /dev/null +++ b/pkgs/development/compilers/rust/rls/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, rustPlatform +, openssh, openssl, pkgconfig, cmake, zlib, curl, libiconv +, CoreFoundation, Security }: + +rustPlatform.buildRustPackage rec { + pname = "rls"; + inherit (rustPlatform.rust.rustc) src version; + + # changes hash of vendor directory otherwise + dontUpdateAutotoolsGnuConfigScripts = true; + + cargoVendorDir = "vendor"; + preBuild = '' + pushd src/tools/rls + # client tests are flaky + rm tests/client.rs + ''; + + # a nightly compiler is required unless we use this cheat code. + RUSTC_BOOTSTRAP=1; + + # rls-rustc links to rustc_private crates + CARGO_BUILD_RUSTFLAGS = if stdenv.isDarwin then "-C rpath" else null; + + nativeBuildInputs = [ pkgconfig cmake ]; + buildInputs = [ openssh openssl curl zlib libiconv ] + ++ (stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security ]); + + doCheck = true; + + preInstall = "popd"; + + doInstallCheck = true; + installCheckPhase = '' + $out/bin/rls --version + ''; + + meta = with stdenv.lib; { + description = "Rust Language Server - provides information about Rust programs to IDEs and other tools"; + homepage = https://github.com/rust-lang/rls/; + license = with licenses; [ asl20 /* or */ mit ]; + maintainers = with maintainers; [ symphorien ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 1f43832716b..daf7af1babd 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -1,33 +1,38 @@ -{ stdenv, targetPackages, removeReferencesTo -, fetchurl, fetchgit, fetchzip, file, python2, tzdata, ps -, llvm, ncurses, darwin, rustPlatform, git, cmake, curl +{ stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget +, fetchurl, file, python2, tzdata, ps +, llvmPackages_7, darwin, git, cmake, rustPlatform , which, libffi, gdb -, version , withBundledLLVM ? false -, src -, configureFlags ? [] -, patches -, targets -, targetPatches -, targetToolchains -, doCheck ? true -, broken ? false }: let inherit (stdenv.lib) optional optionalString; inherit (darwin.apple_sdk.frameworks) Security; - llvmShared = llvm.override { enableSharedLibraries = true; }; + llvmPackages = llvmPackages_7; - target = builtins.replaceStrings [" "] [","] (builtins.toString targets); + llvmSharedForBuild = pkgsBuildBuild.llvmPackages.llvm.override { enableSharedLibraries = true; }; + llvmSharedForHost = pkgsBuildHost.llvmPackages.llvm.override { enableSharedLibraries = true; }; + llvmSharedForTarget = pkgsBuildTarget.llvmPackages.llvm.override { enableSharedLibraries = true; }; + + # For use at runtime + llvmShared = llvmPackages.llvm.override { enableSharedLibraries = true; }; in -stdenv.mkDerivation { - name = "rustc-${version}"; - inherit version; +stdenv.mkDerivation rec { + pname = "rustc"; + version = "1.37.0"; - inherit src; + src = fetchurl { + url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; + sha256 = "1hrqprybhkhs6d9b5pjskfnc5z9v2l2gync7nb39qjb5s0h703hj"; + }; + + # Provide the compiler-rt sources needed for profiling. + preConfigure = '' + mkdir src/llvm-project/compiler-rt + tar xf ${llvmPackages.compiler-rt.src} -C src/llvm-project/compiler-rt --strip-components=1 + ''; __darwinAllowLocalNetworking = true; @@ -38,46 +43,85 @@ stdenv.mkDerivation { # .rlib files in "lib/". # # See https://github.com/NixOS/nixpkgs/pull/34227 - stripDebugList = if stdenv.isDarwin then [ "bin" ] else null; + # + # Running `strip -S` when cross compiling can harm the cross rlibs. + # See: https://github.com/NixOS/nixpkgs/pull/56540#issuecomment-471624656 + stripDebugList = [ "bin" ]; NIX_LDFLAGS = # when linking stage1 libstd: cc: undefined reference to `__cxa_begin_catch' optional (stdenv.isLinux && !withBundledLLVM) "--push-state --as-needed -lstdc++ --pop-state" ++ optional (stdenv.isDarwin && !withBundledLLVM) "-lc++" - ++ optional stdenv.isDarwin "-rpath ${llvmShared}/lib"; - - # Enable nightly features in stable compiles (used for - # bootstrapping, see https://github.com/rust-lang/rust/pull/37265). - # This loosens the hard restrictions on bootstrapping-compiler - # versions. - RUSTC_BOOTSTRAP = "1"; + ++ optional stdenv.isDarwin "-rpath ${llvmSharedForHost}/lib"; # Increase codegen units to introduce parallelism within the compiler. RUSTFLAGS = "-Ccodegen-units=10"; # We need rust to build rust. If we don't provide it, configure will try to download it. # Reference: https://github.com/rust-lang/rust/blob/master/src/bootstrap/configure.py - configureFlags = configureFlags - ++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" - "--enable-vendor" - "--default-linker=${targetPackages.stdenv.cc}/bin/cc" ] - ++ optional (!withBundledLLVM) [ "--enable-llvm-link-shared" "--llvm-root=${llvmShared}" ] - ++ optional (targets != []) "--target=${target}"; + configureFlags = let + setBuild = "--set=target.${stdenv.buildPlatform.config}"; + setHost = "--set=target.${stdenv.hostPlatform.config}"; + setTarget = "--set=target.${stdenv.targetPlatform.config}"; + ccForBuild = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}cc"; + cxxForBuild = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}c++"; + ccForHost = "${pkgsBuildHost.targetPackages.stdenv.cc}/bin/${pkgsBuildHost.targetPackages.stdenv.cc.targetPrefix}cc"; + cxxForHost = "${pkgsBuildHost.targetPackages.stdenv.cc}/bin/${pkgsBuildHost.targetPackages.stdenv.cc.targetPrefix}c++"; + ccForTarget = "${pkgsBuildTarget.targetPackages.stdenv.cc}/bin/${pkgsBuildTarget.targetPackages.stdenv.cc.targetPrefix}cc"; + cxxForTarget = "${pkgsBuildTarget.targetPackages.stdenv.cc}/bin/${pkgsBuildTarget.targetPackages.stdenv.cc.targetPrefix}c++"; + in [ + "--release-channel=stable" + "--set=build.rustc=${rustPlatform.rust.rustc}/bin/rustc" + "--set=build.cargo=${rustPlatform.rust.cargo}/bin/cargo" + "--enable-rpath" + "--enable-vendor" + "--build=${stdenv.buildPlatform.config}" + "--host=${stdenv.hostPlatform.config}" + "--target=${stdenv.targetPlatform.config}" + + "${setBuild}.cc=${ccForBuild}" + "${setHost}.cc=${ccForHost}" + "${setTarget}.cc=${ccForTarget}" + + "${setBuild}.linker=${ccForBuild}" + "${setHost}.linker=${ccForHost}" + "${setTarget}.linker=${ccForTarget}" + + "${setBuild}.cxx=${cxxForBuild}" + "${setHost}.cxx=${cxxForHost}" + "${setTarget}.cxx=${cxxForTarget}" + ] ++ optional (!withBundledLLVM) [ + "--enable-llvm-link-shared" + "${setBuild}.llvm-config=${llvmSharedForBuild}/bin/llvm-config" + "${setHost}.llvm-config=${llvmSharedForHost}/bin/llvm-config" + "${setTarget}.llvm-config=${llvmSharedForTarget}/bin/llvm-config" + ] ++ optional stdenv.isLinux [ + "--enable-profiler" # build libprofiler_builtins + ]; # The bootstrap.py will generated a Makefile that then executes the build. # The BOOTSTRAP_ARGS used by this Makefile must include all flags to pass # to the bootstrap builder. postConfigure = '' - substituteInPlace Makefile --replace 'BOOTSTRAP_ARGS :=' 'BOOTSTRAP_ARGS := --jobs $(NIX_BUILD_CORES)' + substituteInPlace Makefile \ + --replace 'BOOTSTRAP_ARGS :=' 'BOOTSTRAP_ARGS := --jobs $(NIX_BUILD_CORES)' ''; - patches = patches ++ targetPatches; + patches = [ + ./patches/net-tcp-disable-tests.patch + + # Re-evaluate if this we need to disable this one + #./patches/stdsimd-disable-doctest.patch + + # Fails on hydra - not locally; the exact reason is unknown. + # Comments in the test suggest that some non-reproducible environment + # variables such $RANDOM can make it fail. + # ./patches/disable-test-inherit-env.patch + ]; # the rust build system complains that nix alters the checksums dontFixLibtool = true; - passthru.target = target; - postPatch = '' patchShebangs src/etc @@ -115,20 +159,18 @@ stdenv.mkDerivation { rm -v src/test/ui/run-pass/threads-sendsync/sync-send-in-std.rs || true # FIXME: ??? ''; - # rustc unfortunately need cmake for compiling llvm-rt but doesn't + # rustc unfortunately needs cmake to compile llvm-rt but doesn't # use it for the normal build. This disables cmake in Nix. dontUseCmakeConfigure = true; # ps is needed for one of the test cases - nativeBuildInputs = - [ file python2 ps rustPlatform.rust.rustc git cmake - which libffi removeReferencesTo - ] - # Only needed for the debuginfo tests + nativeBuildInputs = [ + file python2 ps rustPlatform.rust.rustc git cmake + which libffi removeReferencesTo + ] # Only needed for the debuginfo tests ++ optional (!stdenv.isDarwin) gdb; - buildInputs = targetToolchains - ++ optional stdenv.isDarwin Security + buildInputs = optional stdenv.isDarwin Security ++ optional (!withBundledLLVM) llvmShared; outputs = [ "out" "man" "doc" ]; @@ -148,7 +190,14 @@ stdenv.mkDerivation { sed -i '28s/home_dir().is_some()/true/' ./src/test/run-pass/env-home-dir.rs ''; - inherit doCheck; + # 1. Upstream is not running tests on aarch64: + # see https://github.com/rust-lang/rust/issues/49807#issuecomment-380860567 + # So we do the same. + # 2. Tests run out of memory for i686 + #doCheck = !stdenv.isAarch64 && !stdenv.isi686; + + # Disabled for now; see https://github.com/NixOS/nixpkgs/pull/42348#issuecomment-402115598. + doCheck = false; # remove references to llvm-config in lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so # and thus a transitive dependency on ncurses @@ -162,6 +211,8 @@ stdenv.mkDerivation { # https://github.com/rust-lang/rust/issues/30181 # enableParallelBuilding = false; + setupHooks = ./setup-hook.sh; + requiredSystemFeatures = [ "big-parallel" ]; meta = with stdenv.lib; { @@ -170,6 +221,5 @@ stdenv.mkDerivation { maintainers = with maintainers; [ madjar cstrahan wizeman globin havvy ]; license = [ licenses.mit licenses.asl20 ]; platforms = platforms.linux ++ platforms.darwin; - broken = broken; }; } diff --git a/pkgs/development/compilers/rust/rustfmt.nix b/pkgs/development/compilers/rust/rustfmt.nix new file mode 100644 index 00000000000..537bdaf445c --- /dev/null +++ b/pkgs/development/compilers/rust/rustfmt.nix @@ -0,0 +1,33 @@ +{ stdenv, rustPlatform, Security }: + +rustPlatform.buildRustPackage rec { + name = "rustfmt-${version}"; + inherit (rustPlatform.rust.rustc) version src; + + # the rust source tarball already has all the dependencies vendored, no need to fetch them again + cargoVendorDir = "vendor"; + preBuild = "pushd src/tools/rustfmt"; + preInstall = "popd"; + + # changes hash of vendor directory otherwise + dontUpdateAutotoolsGnuConfigScripts = true; + + buildInputs = stdenv.lib.optional stdenv.isDarwin Security; + + # As of 1.0.0 and rustc 1.30 rustfmt requires a nightly compiler + RUSTC_BOOTSTRAP = 1; + + # we run tests in debug mode so tests look for a debug build of + # rustfmt. Anyway this adds nearly no compilation time. + preCheck = '' + cargo build + ''; + + meta = with stdenv.lib; { + description = "A tool for formatting Rust code according to style guidelines"; + homepage = https://github.com/rust-lang-nursery/rustfmt; + license = with licenses; [ mit asl20 ]; + maintainers = with maintainers; [ globin basvandijk ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/compilers/rust/setup-hook.sh b/pkgs/development/compilers/rust/setup-hook.sh new file mode 100644 index 00000000000..7078ec7060b --- /dev/null +++ b/pkgs/development/compilers/rust/setup-hook.sh @@ -0,0 +1,4 @@ +# Fix 'failed to open: /homeless-shelter/.cargo/.package-cache' in rust 1.36. +if [[ -z $IN_NIX_SHELL && -z $CARGO_HOME ]]; then + export CARGO_HOME=$TMPDIR +fi diff --git a/pkgs/development/compilers/sagittarius-scheme/default.nix b/pkgs/development/compilers/sagittarius-scheme/default.nix new file mode 100644 index 00000000000..4b1358b7247 --- /dev/null +++ b/pkgs/development/compilers/sagittarius-scheme/default.nix @@ -0,0 +1,58 @@ +{ stdenv +, fetchurl +, cmake +, pkgconfig +, libffi +, boehmgc +, openssl +, zlib +, odbcSupport ? true +, libiodbc +}: + +let platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH" + else if (stdenv.isLinux or stdenv.isBSD) then "LD_LIBRARY_PATH" + else throw "unsupported platform"; +in +stdenv.mkDerivation rec { + pname = "sagittarius-scheme"; + version = "0.9.6"; + src = fetchurl { + url = "https://bitbucket.org/ktakashi/${pname}/downloads/sagittarius-${version}.tar.gz"; + sha256 = "03nvvvfd4gdlvq244zpnikxxajp6w8jj3ymw4bcq83x7zilb2imr"; + }; + preBuild = '' + # since we lack rpath during build, need to explicitly add build path + # to LD_LIBRARY_PATH so we can load libsagittarius.so as required to + # build extensions + export ${platformLdLibraryPath}="$(pwd)/build" + ''; + nativeBuildInputs = [ pkgconfig cmake ]; + + buildInputs = [ libffi boehmgc openssl zlib ] ++ stdenv.lib.optional odbcSupport libiodbc; + + meta = with stdenv.lib; { + description = "An R6RS/R7RS Scheme system"; + longDescription = '' + Sagittarius Scheme is a free Scheme implementation supporting + R6RS/R7RS specification. + + Features: + + - Builtin CLOS. + - Common Lisp like reader macro. + - Cryptographic libraries. + - Customisable cipher and hash algorithm. + - Custom codec mechanism. + - CL like keyword lambda syntax (taken from Gauche). + - Constant definition form. (define-constant form). + - Builtin regular expression + - mostly works O(n) + - Replaceable reader + ''; + homepage = "https://bitbucket.org/ktakashi/sagittarius-scheme"; + license = licenses.bsd2; + platforms = platforms.all; + maintainers = with maintainers; [ abbe ]; + }; +} diff --git a/pkgs/development/compilers/sbcl/bootstrap.nix b/pkgs/development/compilers/sbcl/bootstrap.nix index ee662d39e45..0d2a10b6a99 100644 --- a/pkgs/development/compilers/sbcl/bootstrap.nix +++ b/pkgs/development/compilers/sbcl/bootstrap.nix @@ -3,9 +3,9 @@ let options = rec { x86_64-darwin = rec { - version = "1.1.8"; + version = "1.2.11"; system = "x86-64-darwin"; - sha256 = "006pr88053wclvbjfjdypnbiw8wymbzdzi7a6kbkpdfn4zf5943j"; + sha256 = "0lh4gpvi8hl6g6b9321g5pwh8sk3218i7h4lx7p3vd9z0cf3lz85"; }; x86_64-linux = rec { version = "1.3.16"; @@ -43,7 +43,7 @@ let in assert builtins.hasAttr stdenv.hostPlatform.system options; stdenv.mkDerivation rec { - name = "sbcl-bootstrap-${version}"; + pname = "sbcl-bootstrap"; version = cfg.version; src = fetchurl { diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index 80ca6ade845..e5b36ad7890 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -9,12 +9,12 @@ }: stdenv.mkDerivation rec { - name = "sbcl-${version}"; - version = "1.4.16"; + pname = "sbcl"; + version = "1.5.3"; src = fetchurl { - url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2"; - sha256 = "1myg4wkxnbfn5nz38xy62r1jhjy07x3h0b04vg858n41chdsv4wd"; + url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${pname}-${version}-source.tar.bz2"; + sha256 = "0334cfnvjy0ccq9p05mxrgawhww8wb73rp318qcsf9yj8h8r19yj"; }; buildInputs = [texinfo]; diff --git a/pkgs/development/compilers/scala/2.12.nix b/pkgs/development/compilers/scala/2.12.nix new file mode 100644 index 00000000000..0e4207dccac --- /dev/null +++ b/pkgs/development/compilers/scala/2.12.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }: + +stdenv.mkDerivation rec { + name = "scala-2.12.9"; + + src = fetchurl { + url = "https://www.scala-lang.org/files/archive/${name}.tgz"; + sha256 = "0wpnxrhnhhscfk0k8yxk86akpvxbr5w1i8jb2igj2q4vax7h97sy"; + }; + + propagatedBuildInputs = [ jre ] ; + buildInputs = [ makeWrapper ] ; + + installPhase = '' + mkdir -p $out + rm "bin/"*.bat + mv * $out + + # put docs in correct subdirectory + mkdir -p $out/share/doc + mv $out/doc $out/share/doc/scala + + for p in $(ls $out/bin/) ; do + wrapProgram $out/bin/$p \ + --prefix PATH ":" ${coreutils}/bin \ + --prefix PATH ":" ${gnugrep}/bin \ + --prefix PATH ":" ${jre}/bin \ + --set JAVA_HOME ${jre} + done + ''; + + meta = { + description = "General purpose programming language"; + longDescription = '' + Scala is a general purpose programming language designed to express + common programming patterns in a concise, elegant, and type-safe way. + It smoothly integrates features of object-oriented and functional + languages, enabling Java and other programmers to be more productive. + Code sizes are typically reduced by a factor of two to three when + compared to an equivalent Java application. + ''; + homepage = https://www.scala-lang.org/; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/scala/2.13.nix b/pkgs/development/compilers/scala/2.13.nix new file mode 100644 index 00000000000..ab27d93a7cf --- /dev/null +++ b/pkgs/development/compilers/scala/2.13.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }: + +stdenv.mkDerivation rec { + name = "scala-2.13.0"; + + src = fetchurl { + url = "https://www.scala-lang.org/files/archive/${name}.tgz"; + sha256 = "12g0a9i0xxqxxcvmimm5w2wgmrdhq80p8bsp52d6yldz4lrnbm7p"; + }; + + propagatedBuildInputs = [ jre ] ; + buildInputs = [ makeWrapper ] ; + + installPhase = '' + mkdir -p $out + rm "bin/"*.bat + mv * $out + + # put docs in correct subdirectory + mkdir -p $out/share/doc + mv $out/doc $out/share/doc/scala + + for p in $(ls $out/bin/) ; do + wrapProgram $out/bin/$p \ + --prefix PATH ":" ${coreutils}/bin \ + --prefix PATH ":" ${gnugrep}/bin \ + --prefix PATH ":" ${jre}/bin \ + --set JAVA_HOME ${jre} + done + ''; + + meta = { + description = "General purpose programming language"; + longDescription = '' + Scala is a general purpose programming language designed to express + common programming patterns in a concise, elegant, and type-safe way. + It smoothly integrates features of object-oriented and functional + languages, enabling Java and other programmers to be more productive. + Code sizes are typically reduced by a factor of two to three when + compared to an equivalent Java application. + ''; + homepage = https://www.scala-lang.org/; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix deleted file mode 100644 index ce863ef9c91..00000000000 --- a/pkgs/development/compilers/scala/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }: - -stdenv.mkDerivation rec { - name = "scala-2.12.8"; - - src = fetchurl { - url = "https://www.scala-lang.org/files/archive/${name}.tgz"; - sha256 = "18w0vdbsp0q5rxglgalwlgkggld926bqi1fxc598rn4gh46a03j4"; - }; - - propagatedBuildInputs = [ jre ] ; - buildInputs = [ makeWrapper ] ; - - installPhase = '' - mkdir -p $out - rm "bin/"*.bat - mv * $out - - # put docs in correct subdirectory - mkdir -p $out/share/doc - mv $out/doc $out/share/doc/scala - - for p in $(ls $out/bin/) ; do - wrapProgram $out/bin/$p \ - --prefix PATH ":" ${coreutils}/bin \ - --prefix PATH ":" ${gnugrep}/bin \ - --prefix PATH ":" ${jre}/bin \ - --set JAVA_HOME ${jre} - done - ''; - - meta = { - description = "General purpose programming language"; - longDescription = '' - Scala is a general purpose programming language designed to express - common programming patterns in a concise, elegant, and type-safe way. - It smoothly integrates features of object-oriented and functional - languages, enabling Java and other programmers to be more productive. - Code sizes are typically reduced by a factor of two to three when - compared to an equivalent Java application. - ''; - homepage = https://www.scala-lang.org/; - license = stdenv.lib.licenses.bsd3; - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/development/compilers/scala/dotty-bare.nix b/pkgs/development/compilers/scala/dotty-bare.nix index 5f1d384a328..5a01e295e49 100644 --- a/pkgs/development/compilers/scala/dotty-bare.nix +++ b/pkgs/development/compilers/scala/dotty-bare.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, makeWrapper, jre, ncurses }: stdenv.mkDerivation rec { - version = "0.10.0-RC1"; - name = "dotty-bare-${version}"; + version = "0.14.0-RC1"; + pname = "dotty-bare"; src = fetchurl { url = "https://github.com/lampepfl/dotty/releases/download/${version}/dotty-${version}.tar.gz"; - sha256 = "0s9vh0d6xx99gl0ji0dgmbq36f79c0iwfbrfqwmaclqm9yq5m54k"; + sha256 = "0nrgsyhqjlpvnjqgb18pryr8q7knq3dq25jhp98s4wh76nssm1zr"; }; propagatedBuildInputs = [ jre ncurses.dev ] ; diff --git a/pkgs/development/compilers/scala/dotty.nix b/pkgs/development/compilers/scala/dotty.nix index a999bd422e6..7bc7fa3d4c2 100644 --- a/pkgs/development/compilers/scala/dotty.nix +++ b/pkgs/development/compilers/scala/dotty.nix @@ -9,7 +9,7 @@ in stdenv.mkDerivation { name = "dotty-${dotty-bare.version}"; - unpackPhase = ":"; + dontUnpack = true; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/development/compilers/sdcc/default.nix b/pkgs/development/compilers/sdcc/default.nix index f7429933453..cdac400b1af 100644 --- a/pkgs/development/compilers/sdcc/default.nix +++ b/pkgs/development/compilers/sdcc/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, autoconf, bison, boost, flex, texinfo, gputils ? null +{ stdenv, fetchurl, autoconf, bison, boost, flex, texinfo, zlib, gputils ? null , excludePorts ? [] }: with stdenv.lib; @@ -9,15 +9,15 @@ let in stdenv.mkDerivation rec { - name = "sdcc-${version}"; - version = "3.7.0"; + pname = "sdcc"; + version = "3.9.0"; src = fetchurl { url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2"; - sha256 = "13llvx0j3v5qa7qd4fh7nix4j3alpd3ccprxvx163c4q8q4lfkc5"; + sha256 = "0dn0cy6whcrvbfh9x467jdi8dmzjrvixz2bz63pgxwzpz9rsxv4l"; }; - buildInputs = [ autoconf bison boost flex gputils texinfo ]; + buildInputs = [ autoconf bison boost flex gputils texinfo zlib ]; configureFlags = map (f: "--disable-${f}-port") excludedPorts; @@ -34,6 +34,6 @@ stdenv.mkDerivation rec { homepage = http://sdcc.sourceforge.net/; license = with licenses; if (gputils == null) then gpl2 else unfreeRedistributable; maintainers = with maintainers; [ bjornfor yorickvp ]; - platforms = platforms.linux; + platforms = platforms.all; }; } diff --git a/pkgs/development/compilers/seexpr/default.nix b/pkgs/development/compilers/seexpr/default.nix index a6abe6791d7..efcaf56110d 100644 --- a/pkgs/development/compilers/seexpr/default.nix +++ b/pkgs/development/compilers/seexpr/default.nix @@ -3,7 +3,7 @@ bison, flex, libGLU, pythonPackages }: stdenv.mkDerivation rec { - name = "seexpr-${version}"; + pname = "seexpr"; version = "2.11"; src = fetchFromGitHub { owner = "wdas"; diff --git a/pkgs/development/compilers/serpent/default.nix b/pkgs/development/compilers/serpent/default.nix index e9c6b706e5a..c9b4f9639d0 100644 --- a/pkgs/development/compilers/serpent/default.nix +++ b/pkgs/development/compilers/serpent/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, ... }: stdenv.mkDerivation rec { - name = "serpent-${version}"; + pname = "serpent"; # I can't find any version numbers, so we're just using the date # of the last commit. diff --git a/pkgs/development/compilers/shaderc/default.nix b/pkgs/development/compilers/shaderc/default.nix index 7ce7f9cefe5..82cccc3befc 100644 --- a/pkgs/development/compilers/shaderc/default.nix +++ b/pkgs/development/compilers/shaderc/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, python }: +{ stdenv, fetchFromGitHub, cmake, python3 }: # Like many google projects, shaderc doesn't gracefully support separately compiled dependencies, so we can't easily use # the versions of glslang and spirv-tools used by vulkan-loader. Exact revisions are taken from # https://github.com/google/shaderc/blob/known-good/known_good.json @@ -8,24 +8,24 @@ let glslang = fetchFromGitHub { owner = "KhronosGroup"; repo = "glslang"; - rev = "712cd6618df2c77e126d68042ad7a81a69ee4a6f"; - sha256 = "0wncdj6q1hn40lc7cnz97mx5qjvb8p13mhxilnncgcmf0crsvblz"; + rev = "d3692c701b1265955221aa0d6ebc656bc4442b2a"; + sha256 = "11cvwbzlpr4zrcmmyd9h0kbfhmhr6r696ydmn0yp1jrixby4bmji"; }; spirv-tools = fetchFromGitHub { owner = "KhronosGroup"; repo = "SPIRV-Tools"; - rev = "df5bd2d05ac1fd3ec3024439f885ec21cc949b22"; - sha256 = "0l8ds4nn2qcfi8535ai8891i3547x35hscs2jxwwq6qjgw1sgkax"; + rev = "08cc49ec59c3ff4d6bd4bb4f2097ede35e802158"; + sha256 = "1xhgcppx02fp3nr7654mr3qrgy1fxlxdyl87jhmn3k9jf24gmmmz"; }; spirv-headers = fetchFromGitHub { owner = "KhronosGroup"; repo = "SPIRV-Headers"; - rev = "79b6681aadcb53c27d1052e5f8a0e82a981dbf2f"; - sha256 = "0flng2rdmc4ndq3j71h6wk1ibcjvhjrg2rzd6rv445vcsf0jh2pj"; + rev = "8b911bd2ba37677037b38c9bd286c7c05701bcda"; + sha256 = "0qdnj34bkagszyvci6ifpqd7iqvybhmqzvc9lvqnls44qg90aqh2"; }; in stdenv.mkDerivation rec { - name = "shaderc-${version}"; - version = "2018.0"; + pname = "shaderc"; + version = "2019.0"; outputs = [ "out" "lib" "bin" "dev" "static" ]; @@ -33,7 +33,7 @@ in stdenv.mkDerivation rec { owner = "google"; repo = "shaderc"; rev = "v${version}"; - sha256 = "0qigmj0riw43pgjn5f6kpvk72fajssz1lc2aiqib5qvmj9rqq3hl"; + sha256 = "1l5mmyxhzsbp0a6y2d86i8jmf46c6bjgjkdgkr5l8hmhflmm7gi2"; }; patchPhase = '' @@ -42,16 +42,12 @@ in stdenv.mkDerivation rec { ln -s ${spirv-headers} third_party/spirv-tools/external/spirv-headers ''; - nativeBuildInputs = [ cmake python ]; + nativeBuildInputs = [ cmake python3 ]; postInstall = '' moveToOutput "lib/*.a" $static ''; - preConfigure = ''cmakeFlags="$cmakeFlags -DCMAKE_INSTALL_BINDIR=$bin/bin"''; - - enableParallelBuilding = true; - cmakeFlags = [ "-DSHADERC_SKIP_TESTS=ON" ]; meta = with stdenv.lib; { diff --git a/pkgs/development/compilers/smlnj/bootstrap.nix b/pkgs/development/compilers/smlnj/bootstrap.nix index 2fe1f1f3f5a..e2103fb718f 100644 --- a/pkgs/development/compilers/smlnj/bootstrap.nix +++ b/pkgs/development/compilers/smlnj/bootstrap.nix @@ -1,19 +1,19 @@ -{ stdenv, fetchurl, cpio, rsync, makeWrapper }: +{ stdenv, fetchurl, cpio, rsync, xar, makeWrapper }: stdenv.mkDerivation rec { - name = "smlnj-bootstrap-${version}"; + pname = "smlnj-bootstrap"; - version = "110.84"; + version = "110.91"; src = fetchurl { url = "http://smlnj.cs.uchicago.edu/dist/working/${version}/smlnj-x86-${version}.pkg"; - sha256 = "17fpnlxcfwx2ysg6y9c5wwx6s3jca981nb0pawfcg6xg9wcapyfz"; + sha256 = "12jn50h5jz0ac1vzld2mb94p1dyc8h0mk0hip2wj5xqk1dbzwxl4"; }; buildInputs = [ cpio rsync makeWrapper ]; unpackPhase = '' - /usr/bin/xar -xf $src + ${xar}/bin/xar -xf $src cd smlnj.pkg ''; diff --git a/pkgs/development/compilers/smlnj/default.nix b/pkgs/development/compilers/smlnj/default.nix index a2a03328b6d..89912ac9ad6 100644 --- a/pkgs/development/compilers/smlnj/default.nix +++ b/pkgs/development/compilers/smlnj/default.nix @@ -1,50 +1,43 @@ -{ stdenv, fetchurl, darwin }: +{ stdenv, fetchurl }: let - version = "110.84"; + version = "110.91"; baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}"; sources = map fetchurl [ - { url = "${baseurl}/config.tgz"; sha256 = "0cpqrvixqwf64fa94wzwf59p0lnnmwxgkwm3qwhf28l2fv5d640q"; } - { url = "${baseurl}/cm.tgz"; sha256 = "0qq6kdi8xqi3w1rsmi4rgjdbjr9m4crizb1ma5xg51x8h42ccmbh"; } - { url = "${baseurl}/compiler.tgz"; sha256 = "11zfdwr7a10ylzvap2j0c1py11zi500hfnmhd5lvy9spwzray8vd"; } - { url = "${baseurl}/runtime.tgz"; sha256 = "0v2dv0hh0gxnzzxz8vzqn5avxh7mynaj4g9kkbv4gcnxxaylpksz"; } - { url = "${baseurl}/system.tgz"; sha256 = "0612a6qls202l6wbckcd6dklh7nb75fk4c4qmbs9h2h0j3kisszl"; } - { url = "${baseurl}/MLRISC.tgz"; sha256 = "0wnhvy677p2f7pxlk8mmk3gi605nawy1zzn2cf4619wg04v54g6s"; } - { url = "${baseurl}/smlnj-lib.tgz"; sha256 = "1pg9y0lcp18fc91y45yb2lysnrzml00xdhcilkc1cx17am394mik"; } - { url = "${baseurl}/old-basis.tgz"; sha256 = "14zdkzfri4a7mj7zck2c43aqkg0y7kppp2nkbihg069g4ifgw5fg"; } - { url = "${baseurl}/ckit.tgz"; sha256 = "0dlccmnchs38www0a3ibrjxipf8xi03d7pgriynjqdyjjgik89by"; } - { url = "${baseurl}/nlffi.tgz"; sha256 = "0c9z2fq8d7ln4flzc5pkfym9rkjhjymjm60v1avh1c337lmai5lb"; } - { url = "${baseurl}/cml.tgz"; sha256 = "16jn5fn8khxnjj0kwjzavx2ms3kv16zy35wamh8k51nv8v3i0qam"; } - { url = "${baseurl}/eXene.tgz"; sha256 = "1701l155aiprzxh5p5whb9qbg368cqq0bzdwkwsxgrrllfhwdq9z"; } - { url = "${baseurl}/ml-lpt.tgz"; sha256 = "19dk9yqq6f5ayqlf7p95aakc4swj6x1j8m0ka2slzzb9g93f2q1g"; } - { url = "${baseurl}/ml-lex.tgz"; sha256 = "0w20w17rd67n6zgxzwq89k9ywc78l3ydxcax0pniwzv6m5d08znc"; } - { url = "${baseurl}/ml-yacc.tgz"; sha256 = "1fdxhy4f2dgs19p20vg7yysi9gxp6hc1ggs97k4zq448y2ssxsyg"; } - { url = "${baseurl}/ml-burg.tgz"; sha256 = "066r0zy5rc60y8kzh2c06hy1b217lh6qffvxlwz8w1w86yqkgsk2"; } - { url = "${baseurl}/pgraph.tgz"; sha256 = "1jy1g9xiv14jj9svb5wgbdm520qbdhamfmxlf31xnh552gg18bxa"; } - { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "0nkawi2mdmsw24a1pkwp2brixrvxyqgxzsylp7w7ak35p20l5igc"; } - { url = "${baseurl}/heap2asm.tgz"; sha256 = "159y8c8xnim7p4pyynjirqhwi73lkrq0fksk8wnpcdh5clmwacrx"; } - { url = "${baseurl}/smlnj-c.tgz"; sha256 = "1sgfdnvkqa6wmwg027wg8lvg7zxq36p83bkymy8qkjdlxhxm2nhl"; } - { url = "${baseurl}/doc.tgz"; sha256 = "083h5h937gkhfq3xk982vmng903c83d98yh5fps53f62wib99mhf"; } - { url = "${baseurl}/boot.x86-unix.tgz"; sha256 = "10nf79jzmv64ag8c11fxd9ggw21a9kdn9shqkiz1kni3lq63p7m2"; } - { url = "${baseurl}/asdl.tgz"; sha256 = "13jvdgv63h4s8p9q563hyisbz464y88y2flvwyxvi1n11lh15rwb"; } + { url = "${baseurl}/config.tgz"; sha256 = "00vbg2kpwgkf272m697p5hd35pawficbrifchn7dnd519wpdx436"; } + { url = "${baseurl}/cm.tgz"; sha256 = "0wxb0s2fwh7lbb3z2pfvmvhk5v0gm75kchkv7gg9f895ahyvm6yd"; } + { url = "${baseurl}/compiler.tgz"; sha256 = "0iq06ycivy562i59vvbma9zi575zw1djhdfkcy0bn7m9kfzzbgkh"; } + { url = "${baseurl}/runtime.tgz"; sha256 = "0km8p4vmy3m38xv0rl8d3mh2nlk2mvx010npm34gs374bmmzc7z9"; } + { url = "${baseurl}/system.tgz"; sha256 = "16d5vs1rn7ly6jxjm08222cj0sry73pr57xpc9d6k286b1v0910b"; } + { url = "${baseurl}/MLRISC.tgz"; sha256 = "1c9sw8zm90ykas5nwbhk2wic7sxkjrylb610x37v46m5ips1wlma"; } + { url = "${baseurl}/smlnj-lib.tgz"; sha256 = "09ka20ym7ahrpj4r6vc5phflc8y57dj09qvwk8ambfwb2p2274sw"; } + { url = "${baseurl}/old-basis.tgz"; sha256 = "1bhq9fv6p8diz489h9571g0xrsi8yx7h6gh9410255klxjrw964h"; } + { url = "${baseurl}/ckit.tgz"; sha256 = "1lq9ljai0shc6hszx5v6bqmkz16a3f295mfg7q622apzgzark3vd"; } + { url = "${baseurl}/nlffi.tgz"; sha256 = "1xjmlwiclgckj73z5hz3hnqlavp3ax9sfvgc0rvj3xpy3i3n6axj"; } + { url = "${baseurl}/cml.tgz"; sha256 = "1sjzipxnvr9dgcg16bllfk3b46ac9f8h353nh1ccykwwq4whi9bf"; } + { url = "${baseurl}/eXene.tgz"; sha256 = "04clbchrlqx5v35gkbydbfnpl720i4nqijkshiwn0v592n4xfdf4"; } + { url = "${baseurl}/ml-lpt.tgz"; sha256 = "0max073nzwv7vx13caj7zmlhslvxlgg8rj52278g7f6fqcrwp5cf"; } + { url = "${baseurl}/ml-lex.tgz"; sha256 = "0x2mbg45l71049sgvvkl6bnqc5svz70vh1m1rbf3xk41z5bapcgr"; } + { url = "${baseurl}/ml-yacc.tgz"; sha256 = "0a1pbwpw1y6d1xn9yjarqpmybrxqwp5snp28by36745h1jvb1p1b"; } + { url = "${baseurl}/ml-burg.tgz"; sha256 = "119mq5jrbkn9vf9fgb0wyz483hf26al9hwb91xpmlmfx5qqnfzik"; } + { url = "${baseurl}/pgraph.tgz"; sha256 = "1s7jmh3q88rz29bk02y3gzdqrgvk484j5ji8bn7s6fc78m50nqp8"; } + { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "1gzf1pbmw2cn5w6f5qfdm3d6n6069n1nnzz6z4v7mr07x54c6mdv"; } + { url = "${baseurl}/heap2asm.tgz"; sha256 = "09cgj568a9x017awysjdx35mlp5zkdmc2fs67fvnm5ifl7ivfs8j"; } + { url = "${baseurl}/smlnj-c.tgz"; sha256 = "1g4xhcxychs9q25x7a5lvqfamq52c5ljlx84bc5cazvpkhixyg04"; } + { url = "${baseurl}/doc.tgz"; sha256 = "1l0x91dscizk2pyj1lw595r84h1h0shxh0x5hva891717a1hfa51"; } + { url = "${baseurl}/boot.x86-unix.tgz"; sha256 = "0f6x4nfhrgm1z4dx862df2yaffdh1sd6zx2lyb2vph5mhp7x9n58"; } + { url = "${baseurl}/asdl.tgz"; sha256 = "1pi3m21jllyd2h0zpz4bajskfv58g6pjhpprqiwgmikn6w1pryp8"; } ]; in stdenv.mkDerivation { - name = "smlnj-${version}"; + pname = "smlnj"; + inherit version; inherit sources; patchPhase = '' sed -i '/PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl - '' + stdenv.lib.optionalString stdenv.isDarwin (with darwin; '' - sed -i '/^[[:space:]]*\*x86-darwin\*)$/,/^[[:space:]]*\*) ;;/ c\ -\ \*x86-darwin\*)\ -\ INCLFILE=${stdenv.lib.getDev apple_sdk.sdk}/include/unistd.h\ -\ ;;\ -\ \*) ;; -' base/runtime/config/gen-posix-names.sh - sed -i 's|^AS =\([[:space:]]*\)/usr/bin/as|AS =\1as|' base/runtime/objs/mk.x86-darwin - ''); + ''; unpackPhase = '' for s in $sources; do @@ -74,7 +67,7 @@ in stdenv.mkDerivation { description = "Standard ML of New Jersey, a compiler"; homepage = http://smlnj.org; license = licenses.bsd3; - platforms = [ "i686-linux" ] ++ platforms.darwin; + platforms = [ "i686-linux" ]; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/development/compilers/solc/default.nix b/pkgs/development/compilers/solc/default.nix index b7a2f602cc6..b0fdc886378 100644 --- a/pkgs/development/compilers/solc/default.nix +++ b/pkgs/development/compilers/solc/default.nix @@ -1,46 +1,78 @@ -{ stdenv, fetchzip, fetchFromGitHub, boost, cmake, z3 }: +{ stdenv, fetchzip, boost, cmake, ncurses, python2 +, z3Support ? true, z3 ? null, cvc4Support ? true, cvc4 ? null +, cln ? null, gmp ? null +}: + +assert z3Support -> z3 != null && stdenv.lib.versionAtLeast z3.version "4.6.0"; +assert cvc4Support -> cvc4 != null && cln != null && gmp != null; let - version = "0.5.3"; - rev = "10d17f245839f208ec5085309022a32cd2502f55"; - sha256 = "1jq41pd3nj534cricy1nq6wgk4wlwg239387n785aswpwd705jbb"; jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.8.4.tar.gz; jsoncpp = fetchzip { url = jsoncppURL; sha256 = "1z0gj7a6jypkijmpknis04qybs1hkd04d1arr3gy89lnxmp6qzlm"; }; + buildSharedLibs = stdenv.hostPlatform.isLinux; in -stdenv.mkDerivation { - name = "solc-${version}"; +stdenv.mkDerivation rec { - src = fetchFromGitHub { - owner = "ethereum"; - repo = "solidity"; - inherit rev sha256; + pname = "solc"; + version = "0.5.11"; + + # upstream suggests avoid using archive generated by github + src = fetchzip { + url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz"; + sha256 = "0679s5pqbfy7fgpb4f3ppgj8iafxb64g046v8vhp29mf3dsdcnyl"; }; - patches = [ - ./patches/shared-libs-install.patch - ]; + patches = stdenv.lib.optionals buildSharedLibs [ ./patches/shared-libs-install.patch ]; postPatch = '' - touch prerelease.txt - echo >commit_hash.txt "${rev}" substituteInPlace cmake/jsoncpp.cmake \ --replace "${jsoncppURL}" ${jsoncpp} ''; cmakeFlags = [ "-DBoost_USE_STATIC_LIBS=OFF" + ] ++ stdenv.lib.optionals buildSharedLibs [ "-DBUILD_SHARED_LIBS=ON" + ] ++ stdenv.lib.optionals (!z3Support) [ + "-DUSE_Z3=OFF" + ] ++ stdenv.lib.optionals (!cvc4Support) [ + "-DUSE_CVC4=OFF" ]; - doCheck = stdenv.hostPlatform.isLinux && stdenv.hostPlatform == stdenv.buildPlatform; - checkPhase = "LD_LIBRARY_PATH=./libsolc:./libsolidity:./libevmasm:./libdevcore:./libyul:./liblangutil:$LD_LIBRARY_PATH " + - "./test/soltest -p -- --no-ipc --no-smt --testpath ../test"; - nativeBuildInputs = [ cmake ]; - buildInputs = [ boost z3 ]; + buildInputs = [ boost ] + ++ stdenv.lib.optionals z3Support [ z3 ] + ++ stdenv.lib.optionals cvc4Support [ cvc4 cln gmp ]; + checkInputs = [ ncurses python2 ]; + + # Test fails on darwin for unclear reason + doCheck = stdenv.hostPlatform.isLinux; + + checkPhase = '' + while IFS= read -r -d ''' dir + do + LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/$dir + export LD_LIBRARY_PATH + done < <(find . -type d -print0) + + pushd .. + # IPC tests need aleth avaliable, so we disable it + sed -i "s/IPC_ENABLED=true/IPC_ENABLED=false\nIPC_FLAGS=\"--no-ipc\"/" ./scripts/tests.sh + for i in ./scripts/*.sh; do + patchShebangs "$i" + done + for i in ./scripts/*.py; do + patchShebangs "$i" + done + for i in ./test/*.sh; do + patchShebangs "$i" + done + TERM=xterm ./scripts/tests.sh + popd + ''; outputs = [ "out" "dev" ]; @@ -49,7 +81,7 @@ stdenv.mkDerivation { homepage = https://github.com/ethereum/solidity; license = licenses.gpl3; platforms = with platforms; linux ++ darwin; - maintainers = with maintainers; [ dbrock akru lionello ]; + maintainers = with maintainers; [ dbrock akru lionello sifmelcara ]; inherit version; }; } diff --git a/pkgs/development/compilers/solc/patches/shared-libs-install.patch b/pkgs/development/compilers/solc/patches/shared-libs-install.patch index e106c9bbb74..382d49599c7 100644 --- a/pkgs/development/compilers/solc/patches/shared-libs-install.patch +++ b/pkgs/development/compilers/solc/patches/shared-libs-install.patch @@ -49,8 +49,8 @@ index 0bdec4b4..e876177e 100644 +++ b/libsolidity/CMakeLists.txt @@ -29,6 +29,7 @@ endif() - add_library(solidity ${sources} ${headers}) - target_link_libraries(solidity PUBLIC yul evmasm langutil devcore ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY}) + add_library(solidity ${sources} ${z3_SRCS} ${cvc4_SRCS}) + target_link_libraries(solidity PUBLIC yul evmasm langutil devcore Boost::boost Boost::filesystem Boost::system) +install(TARGETS solidity LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) if (${Z3_FOUND}) diff --git a/pkgs/development/compilers/souffle/default.nix b/pkgs/development/compilers/souffle/default.nix index 0523e099e49..a39a6c4a2e4 100644 --- a/pkgs/development/compilers/souffle/default.nix +++ b/pkgs/development/compilers/souffle/default.nix @@ -1,40 +1,53 @@ { stdenv, fetchFromGitHub -, boost, bison, flex, openjdk, doxygen -, perl, graphviz, ncurses, zlib, sqlite -, autoreconfHook }: +, perl, ncurses, zlib, sqlite, libffi +, autoreconfHook, mcpp, bison, flex, doxygen, graphviz +, makeWrapper +}: + +let + toolsPath = stdenv.lib.makeBinPath [ mcpp ]; +in stdenv.mkDerivation rec { - version = "1.2.0"; - name = "souffle-${version}"; + pname = "souffle"; + version = "1.6.1"; src = fetchFromGitHub { owner = "souffle-lang"; repo = "souffle"; rev = version; - sha256 = "1g8yvm40h102mab8lacpl1cwgqsw1js0s1yn4l84l9fjdvlh2ygd"; + sha256 = "004c5iicjnlzn1yz1k7a28s4xdqx00016rr870drdq2z30mxfgz8"; }; - nativeBuildInputs = [ autoreconfHook bison flex ]; + nativeBuildInputs = [ autoreconfHook bison flex mcpp doxygen graphviz makeWrapper perl ]; + buildInputs = [ ncurses zlib sqlite libffi ]; - buildInputs = [ - boost openjdk ncurses zlib sqlite doxygen perl graphviz - ]; + # these propagated inputs are needed for the compiled Souffle mode to work, + # since generated compiler code uses them. TODO: maybe write a g++ wrapper + # that adds these so we can keep the propagated inputs clean? + propagatedBuildInputs = [ ncurses zlib sqlite libffi ]; + # see 565a8e73e80a1bedbb6cc037209c39d631fc393f and parent commits upstream for + # Wno-error fixes patchPhase = '' + substituteInPlace ./src/Makefile.am \ + --replace '-Werror' '-Werror -Wno-error=deprecated -Wno-error=other' + substituteInPlace configure.ac \ - --replace "m4_esyscmd([git describe --tags --abbrev=0 --always | tr -d '\n'])" "${version}" + --replace "m4_esyscmd([git describe --tags --always | tr -d '\n'])" "${version}" ''; - # Without this, we get an obscure error about not being able to find a library version - # without saying what library it's looking for. Turns out it's searching global paths - # for boost and failing there, so we tell it what's what here. - configureFlags = [ "--with-boost-libdir=${boost}/lib" ]; + postInstall = '' + wrapProgram "$out/bin/souffle" --prefix PATH : "${toolsPath}" + ''; + + outputs = [ "out" ]; meta = with stdenv.lib; { description = "A translator of declarative Datalog programs into the C++ language"; homepage = "http://souffle-lang.github.io/"; platforms = platforms.unix; - maintainers = with maintainers; [ copumpkin wchresta ]; + maintainers = with maintainers; [ thoughtpolice copumpkin wchresta ]; license = licenses.upl; }; } diff --git a/pkgs/development/compilers/souper/cmake-fix.patch b/pkgs/development/compilers/souper/cmake-fix.patch deleted file mode 100644 index 5ef289f53e9..00000000000 --- a/pkgs/development/compilers/souper/cmake-fix.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- souper-1be75fe6a96993b57dcba038798fe6d1c7d113eb-src/CMakeLists.txt.orig 2017-01-20 13:55:14.783632588 -0600 -+++ souper-1be75fe6a96993b57dcba038798fe6d1c7d113eb-src/CMakeLists.txt 2017-01-20 13:55:20.505728456 -0600 -@@ -33,7 +33,10 @@ - OUTPUT_VARIABLE LLVM_SYSTEM_LIBS - OUTPUT_STRIP_TRAILING_WHITESPACE - ) --set(LLVM_LIBS "${LLVM_LIBS} ${LLVM_SYSTEM_LIBS}") -+ -+if (LLVM_SYSTEM_LIBS) -+ set(LLVM_LIBS "${LLVM_LIBS} ${LLVM_SYSTEM_LIBS}") -+endif() - - execute_process( - COMMAND ${LLVM_CONFIG_EXECUTABLE} --ldflags diff --git a/pkgs/development/compilers/souper/default.nix b/pkgs/development/compilers/souper/default.nix deleted file mode 100644 index 2203dc980b1..00000000000 --- a/pkgs/development/compilers/souper/default.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake, makeWrapper -, llvmPackages_4, hiredis, z3, gtest -}: - -let - klee = fetchFromGitHub { - owner = "rsas"; - repo = "klee"; - rev = "57cd3d43056b029d9da3c6b3c666c4153554c04f"; - sha256 = "197wb7nbirlfpx2jr3afpjjhcj7slc4dxxi02j3kmazz9kcqaygz"; - }; -in stdenv.mkDerivation rec { - name = "souper-unstable-${version}"; - version = "2017-03-23"; - - src = fetchFromGitHub { - owner = "google"; - repo = "souper"; - rev = "cf2911d2eb1e7c8ab465df5a722fa5cdac06e6fc"; - sha256 = "1kg08a1af4di729pn1pip2lzqzlvjign6av95214f5rr3cq2q0cl"; - }; - - nativeBuildInputs = [ - cmake - makeWrapper - ]; - - buildInputs = [ - llvmPackages_4.llvm - llvmPackages_4.clang-unwrapped - hiredis - gtest - ]; - - patches = [ ./cmake-fix.patch ]; - - enableParallelBuilding = true; - - preConfigure = '' - mkdir -pv third_party - cp -R "${klee}" third_party/klee - ''; - - installPhase = '' - mkdir -pv $out/bin - cp -v ./souper $out/bin/ - cp -v ./clang-souper $out/bin/ - wrapProgram "$out/bin/souper" \ - --add-flags "-z3-path=\"${z3}/bin/z3\"" - ''; - - meta = with stdenv.lib; { - description = "A superoptimizer for LLVM IR"; - homepage = "https://github.com/google/souper"; - license = licenses.asl20; - maintainers = with maintainers; [ taktoa ]; - platforms = with platforms; linux; - }; -} diff --git a/pkgs/development/compilers/squeak/default.nix b/pkgs/development/compilers/squeak/default.nix index 25ea47978fc..c8379fe9090 100644 --- a/pkgs/development/compilers/squeak/default.nix +++ b/pkgs/development/compilers/squeak/default.nix @@ -2,7 +2,7 @@ , libpthreadstubs, pango, pkgconfig, libpulseaudio, which }: stdenv.mkDerivation rec { - name = "squeak-${version}"; + pname = "squeak"; version = "4.10.2.2614"; src = fetchurl { diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix index 3ddffd58505..9245e59553f 100644 --- a/pkgs/development/compilers/swi-prolog/default.nix +++ b/pkgs/development/compilers/swi-prolog/default.nix @@ -1,22 +1,31 @@ -{ stdenv, fetchurl, jdk, gmp, readline, openssl, libjpeg, unixODBC, zlib -, libXinerama, libarchive, db, pcre, libedit, libossp_uuid, libXft, libXpm +{ stdenv, fetchgit, jdk, gmp, readline, openssl, unixODBC, zlib +, libarchive, db, pcre, libedit, libossp_uuid, libXpm , libSM, libXt, freetype, pkgconfig, fontconfig, makeWrapper ? stdenv.isDarwin +, git, cacert, cmake, libyaml +, extraLibraries ? [ jdk unixODBC libXpm libSM libXt freetype fontconfig ] +, extraPacks ? [] }: let - version = "7.6.4"; + version = "8.1.4"; + packInstall = swiplPath: pack: + ''${swiplPath}/bin/swipl -g "pack_install(${pack}, [package_directory(\"${swiplPath}/lib/swipl/pack\"), silent(true), interactive(false)])." -t "halt." + ''; in stdenv.mkDerivation { - name = "swi-prolog-${version}"; + pname = "swi-prolog"; + inherit version; - src = fetchurl { - url = "http://www.swi-prolog.org/download/stable/src/swipl-${version}.tar.gz"; - sha256 = "14bq4sqs61maqpnmgy6687jjj0shwc27cpfsqbf056nrssmplg9d"; + src = fetchgit { + url = "https://github.com/SWI-Prolog/swipl-devel"; + rev = "V${version}"; + sha256 = "0qxa6f5dypwczxajlf0l736adbjb17cbak3qsh5g04hpv2bxm6dh"; }; - buildInputs = [ jdk gmp readline openssl libjpeg unixODBC libXinerama - libarchive db pcre libedit libossp_uuid libXft libXpm libSM libXt - zlib freetype pkgconfig fontconfig ] + buildInputs = [ cacert git cmake gmp readline openssl + libarchive libyaml db pcre libedit libossp_uuid + zlib pkgconfig ] + ++ extraLibraries ++ stdenv.lib.optional stdenv.isDarwin makeWrapper; hardeningDisable = [ "format" ]; @@ -27,7 +36,20 @@ stdenv.mkDerivation { "--enable-shared" ]; - buildFlags = "world"; + installPhase = '' + mkdir -p $out + mkdir build + cd build + ${cmake}/bin/cmake -DCMAKE_INSTALL_PREFIX=$out .. + cd ../ + make + make install + make clean + mkdir -p $out/lib/swipl/pack + '' + + builtins.concatStringsSep "\n" + ( builtins.map (packInstall "$out") extraPacks + ); # For macOS: still not fixed in upstream: "abort trap 6" when called # through symlink, so wrap binary. @@ -47,6 +69,6 @@ stdenv.mkDerivation { license = "LGPL"; platforms = stdenv.lib.platforms.unix; - maintainers = [ stdenv.lib.maintainers.peti stdenv.lib.maintainers.meditans ]; + maintainers = [ stdenv.lib.maintainers.meditans ]; }; } diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix index 468c04b5c96..f21b2ae3cb8 100644 --- a/pkgs/development/compilers/swift/default.nix +++ b/pkgs/development/compilers/swift/default.nix @@ -1,5 +1,4 @@ { stdenv -, targetPackages , cmake , coreutils , glibc @@ -34,7 +33,7 @@ }: let - v_base = "4.2.2"; + v_base = "5.0.2"; version = "${v_base}-RELEASE"; version_friendly = "${v_base}"; @@ -52,48 +51,48 @@ let # For more inforation, see: https://github.com/apple/swift/pull/3594#issuecomment-234169759 clang = fetch { repo = "swift-clang"; - sha256 = "0l6w4xzpl3w2nax9a0b885nfzhfj38p2g99158nb5bzfd4s0man7"; + sha256 = "046p7f4044ls8hhgklsz32md5jvxkaaim1d75n0fmnwap6di3n1q"; }; llvm = fetch { repo = "swift-llvm"; - sha256 = "1664zwxbq0a1cmxr9n5a0vw6vdk6ygr7rpglpdsfc7ki857vpsyv"; + sha256 = "1bnscqsiljiclij60f44h2fyx5c84pzry0lz1jbwknphwmqd6f84"; }; compilerrt = fetch { repo = "swift-compiler-rt"; - sha256 = "19s6qxn4i0kxpf39xjp2i7zg427iinbmaxqkbb1p91g616y367sf"; + sha256 = "0bba54xa7z0wj6k7a24q74gc4yajc6s64g1m894i3yd6swdk7f6r"; }; cmark = fetch { repo = "swift-cmark"; - sha256 = "1nmxp0fj749sgar682c5nsj7zxxigqwg973baxj2r656a7ybh325"; + sha256 = "079smm79hbwr06bvghd2sb86b8gpkprnzlyj9kh95jy38xhlhdnj"; }; lldb = fetch { repo = "swift-lldb"; - sha256 = "00kz0xhj1p6ckyandj2gs1yfl29kxv84x9pfph00r8crbkd2jz7b"; + sha256 = "01yrhc1ggv89qii03fdjdvb2aq9v4hd1wk83n8ygrwwc75p44qmi"; }; llbuild = fetch { repo = "swift-llbuild"; - sha256 = "1mkkhydshhxr28igbldzr0hhqvb6ql43cpf3ba5vglfkbcz6wh6q"; + sha256 = "0ipwryzpqxpk3rzkxilfahlkz06k39j91q2lv7fprf0slqknrdms"; }; pm = fetch { repo = "swift-package-manager"; - sha256 = "1aqvmgq9g5zs4k2qnkvw3h3mar66d690hqq6g2dmrapsyb321j9l"; + sha256 = "1mnywlm7i2mbp16q0rskskvnbx1ap8lchwr8q3gx0xs3b2fs6chh"; }; xctest = fetch { repo = "swift-corelibs-xctest"; - sha256 = "1n4w7bfgy73vjzbvbphlwayy0dw73bbrayrpkqq8lbidg0x9lam8"; + sha256 = "1vpljkxhfk3yd07ry0xsv3qwbn62pwd2mdn9cw22jhbhvqinc13z"; }; foundation = fetch { repo = "swift-corelibs-foundation"; - sha256 = "1ki9vc723r13zgm6bcmif43aypavb2hz299gbhp93qkndz8hqkx5"; + sha256 = "1wys4xh7f6c7yjf210x41n2krmyi2qj1wpxbv0p48d230va1azj1"; }; libdispatch = fetch { repo = "swift-corelibs-libdispatch"; - sha256 = "0fibrx54nbaawhsgd7cbr356ji9qvf8y8ahd5bdx28fpj6q0cnwc"; + sha256 = "0chnb0d4xjyn9wnc8bgimd5ji5igfyq891flgnqpfwr4y26496c1"; fetchSubmodules = true; }; swift = fetch { repo = "swift"; - sha256 = "1hwi6hi9ss1kj1s65v5q8v8d872c0914qfy1018xijd029lwq694"; + sha256 = "0fsq1y8dz4ssn90akvzj36cqyblalb09bjzy4ikqn67mb5x99wpb"; }; }; @@ -120,6 +119,9 @@ let builder = '' # gcc-6.4.0/include/c++/6.4.0/cstdlib:75:15: fatal error: 'stdlib.h' file not found NIX_CFLAGS_COMPILE="$( echo ${clang.default_cxx_stdlib_compile} ) $NIX_CFLAGS_COMPILE" + # During the Swift build, a full local LLVM build is performed and the resulting clang is invoked. + # This compiler is not using the Nix wrappers, so it needs some help to find things. + export NIX_LDFLAGS_BEFORE="-rpath ${clang.cc.gcc.lib}/lib -L${clang.cc.gcc.lib}/lib $NIX_LDFLAGS_BEFORE" $SWIFT_SOURCE_ROOT/swift/utils/build-script \ --preset=buildbot_linux \ @@ -132,23 +134,25 @@ in stdenv.mkDerivation rec { name = "swift-${version_friendly}"; - buildInputs = devInputs ++ [ + nativeBuildInputs = [ autoconf automake bash - clang cmake coreutils + findutils + gnumake libtool + makeWrapper ninja perl pkgconfig python rsync which - findutils - makeWrapper - gnumake + ]; + buildInputs = devInputs ++ [ + clang ]; # TODO: Revisit what's propagated and how @@ -212,13 +216,12 @@ stdenv.mkDerivation rec { substituteInPlace swift/stdlib/public/Platform/CMakeLists.txt \ --replace '/usr/include' "${stdenv.cc.libc.dev}/include" - substituteInPlace swift-corelibs-libdispatch/src/CMakeLists.txt \ - --replace '/usr/include' "${stdenv.cc.libc.dev}/include" substituteInPlace swift/utils/build-script-impl \ --replace '/usr/include/c++' "${clang.cc.gcc}/include/c++" patch -p1 -d swift -i ${./patches/glibc-arch-headers.patch} patch -p1 -d swift -i ${./patches/0001-build-presets-linux-don-t-require-using-Ninja.patch} patch -p1 -d swift -i ${./patches/0002-build-presets-linux-allow-custom-install-prefix.patch} + patch -p1 -d swift -i ${./patches/0003-build-presets-linux-don-t-build-extra-libs.patch} patch -p1 -d swift -i ${./patches/0004-build-presets-linux-plumb-extra-cmake-options.patch} sed -i swift/utils/build-presets.ini \ @@ -227,10 +230,12 @@ stdenv.mkDerivation rec { -e 's/^validation-test$/# \0/' \ -e 's/^long-test$/# \0/' \ -e 's/^stress-test$/# \0/' \ - -e 's/^test-optimized$/# \0/' + -e 's/^test-optimized$/# \0/' \ + \ + -e 's/^swift-install-components=autolink.*$/\0;editor-integration/' - # https://bugs.swift.org/browse/SR-5779 - sed -i -e 's|"-latomic"|"-Wl,-rpath,${clang.cc.gcc.lib}/lib" "-L${clang.cc.gcc.lib}/lib" "-latomic"|' swift/cmake/modules/AddSwift.cmake + # https://bugs.swift.org/browse/SR-10559 + patch -p1 -d swift-corelibs-libdispatch -i ${./patches/libdispatch-fortify-fix.patch} substituteInPlace clang/lib/Driver/ToolChains/Linux.cpp \ --replace 'SysRoot + "/usr/lib' '"${glibc}/lib" "' @@ -241,18 +246,23 @@ stdenv.mkDerivation rec { sed -i 's,curses,ncurses,' llbuild/*/*/CMakeLists.txt PREFIX=''${out/#\/} - substituteInPlace swift-corelibs-foundation/build.py \ - --replace usr/lib "$PREFIX/lib" substituteInPlace swift-corelibs-xctest/build_script.py \ --replace usr "$PREFIX" - substituteInPlace swiftpm/Utilities/bootstrap \ - --replace \"usr\" \"$PREFIX\" \ - --replace usr/lib "$PREFIX/lib" ''; + buildPhase = builder; + doCheck = false; - buildPhase = builder; + checkInputs = [ file ]; + + # TODO: investigate the non-working tests + checkPhase = '' + checkTarget=check-swift-all + ninjaFlags='-C buildbot_linux/swift-${stdenv.hostPlatform.parsed.kernel.name}-${stdenv.hostPlatform.parsed.cpu.name}' + + ninjaCheckPhase + ''; installPhase = '' mkdir -p $out @@ -262,13 +272,10 @@ stdenv.mkDerivation rec { tar xf $INSTALLABLE_PACKAGE -C $out --strip-components=3 $PREFIX find $out -type d -empty -delete - # TODO: Use wrappers to get these on the PATH for swift tools, instead - ln -s ${clang}/bin/* $out/bin/ - ln -s ${targetPackages.stdenv.cc.bintools.bintools_bin}/bin/ar $out/bin/ar - wrapProgram $out/bin/swift \ --suffix C_INCLUDE_PATH : $out/lib/swift/clang/include \ - --suffix CPLUS_INCLUDE_PATH : $out/lib/swift/clang/include + --suffix CPLUS_INCLUDE_PATH : $out/lib/swift/clang/include \ + --suffix LIBRARY_PATH : $icu/lib ''; # Hack to avoid TMPDIR in RPATHs. diff --git a/pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch b/pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch index f2b30e5dcdb..79482ac10e6 100644 --- a/pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch +++ b/pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch @@ -11,8 +11,8 @@ diff --git a/utils/build-presets.ini b/utils/build-presets.ini index 7ee57ad2df..e6b0af3581 100644 --- a/utils/build-presets.ini +++ b/utils/build-presets.ini -@@ -717,7 +717,7 @@ swiftpm - xctest +@@ -721,7 +721,7 @@ swiftpm + dash-dash -build-ninja diff --git a/pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch b/pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch index 612b33cdb48..5c1927acb7f 100644 --- a/pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch +++ b/pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch @@ -9,17 +9,17 @@ Subject: [PATCH 2/4] build-presets: (linux) allow custom install prefix diff --git a/utils/build-presets.ini b/utils/build-presets.ini index e6b0af3581..1095cbaab7 100644 ---- a/utils/build-presets.ini -+++ b/utils/build-presets.ini -@@ -723,7 +723,7 @@ install-lldb - install-llbuild +--- a/utils/build-presets.ini 2019-04-11 14:51:40.060259462 +0200 ++++ b/utils/build-presets.ini 2019-04-11 15:16:17.471137969 +0200 +@@ -728,7 +728,7 @@ install-swiftpm install-xctest + install-libicu -install-prefix=/usr +install-prefix=%(install_prefix)s - swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;swift-remote-mirror;sdk-overlay;license;sourcekit-inproc - build-swift-static-stdlib - build-swift-static-sdk-overlay + swift-install-components=autolink-driver;compiler;clang-resource-dir-symlink;stdlib;swift-remote-mirror;sdk-overlay;license;sourcekit-inproc + llvm-install-components=llvm-cov;llvm-profdata;IndexStore;clang;clang-headers;compiler-rt + install-libcxx -- 2.12.2 diff --git a/pkgs/development/compilers/swift/patches/0003-build-presets-linux-don-t-build-extra-libs.patch b/pkgs/development/compilers/swift/patches/0003-build-presets-linux-don-t-build-extra-libs.patch new file mode 100644 index 00000000000..5d766bc2590 --- /dev/null +++ b/pkgs/development/compilers/swift/patches/0003-build-presets-linux-don-t-build-extra-libs.patch @@ -0,0 +1,23 @@ +--- a/utils/build-presets.ini 2019-04-11 15:19:57.845178834 +0200 ++++ b/utils/build-presets.ini 2019-04-11 15:27:42.041297057 +0200 +@@ -716,8 +716,6 @@ + llbuild + swiftpm + xctest +-libicu +-libcxx + + dash-dash + +@@ -727,11 +725,9 @@ + install-llbuild + install-swiftpm + install-xctest +-install-libicu + install-prefix=%(install_prefix)s + swift-install-components=autolink-driver;compiler;clang-resource-dir-symlink;stdlib;swift-remote-mirror;sdk-overlay;license;sourcekit-inproc + llvm-install-components=llvm-cov;llvm-profdata;IndexStore;clang;clang-headers;compiler-rt +-install-libcxx + build-swift-static-stdlib + build-swift-static-sdk-overlay + build-swift-stdlib-unittest-extra diff --git a/pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch b/pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch index e84c7eb2a08..1d0a6a9577a 100644 --- a/pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch +++ b/pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch @@ -11,7 +11,7 @@ diff --git a/utils/build-presets.ini b/utils/build-presets.ini index 1739e91dc2..0608fed9c1 100644 --- a/utils/build-presets.ini +++ b/utils/build-presets.ini -@@ -740,6 +740,8 @@ install-destdir=%(install_destdir)s +@@ -743,6 +743,8 @@ install-destdir=%(install_destdir)s # Path to the .tar.gz package we would create. installable-package=%(installable_package)s diff --git a/pkgs/development/compilers/swift/patches/glibc-arch-headers.patch b/pkgs/development/compilers/swift/patches/glibc-arch-headers.patch index 650e1a2429d..df906f9c84c 100644 --- a/pkgs/development/compilers/swift/patches/glibc-arch-headers.patch +++ b/pkgs/development/compilers/swift/patches/glibc-arch-headers.patch @@ -1,13 +1,13 @@ The Nix glibc headers do not use include/x86_64-linux-gnu subdirectories. ---- swift/stdlib/public/Platform/CMakeLists.txt 2018-09-30 17:51:51.581766303 +0200 -+++ swift/stdlib/public/Platform/CMakeLists.txt 2018-09-30 18:40:04.118956708 +0200 -@@ -65,7 +65,7 @@ +--- swift/stdlib/public/Platform/CMakeLists.txt 2019-04-09 20:14:44.493801403 +0200 ++++ swift/stdlib/public/Platform/CMakeLists.txt 2019-04-09 20:14:44.577800593 +0200 +@@ -68,7 +68,7 @@ endif() set(GLIBC_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_INCLUDE_PATH}") - set(GLIBC_ARCH_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_ARCH_INCLUDE_PATH}") + set(GLIBC_ARCH_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_INCLUDE_PATH}") - if(NOT "${SWIFT_SDK_${sdk}_ARCH_${arch}_PATH}" STREQUAL "/") + if(NOT "${SWIFT_SDK_${sdk}_ARCH_${arch}_PATH}" STREQUAL "/" AND NOT "${sdk}" STREQUAL "ANDROID") set(GLIBC_INCLUDE_PATH "${SWIFT_SDK_${sdk}_ARCH_${arch}_PATH}${GLIBC_INCLUDE_PATH}") diff --git a/pkgs/development/compilers/swift/patches/libdispatch-fortify-fix.patch b/pkgs/development/compilers/swift/patches/libdispatch-fortify-fix.patch new file mode 100644 index 00000000000..d23a308d68f --- /dev/null +++ b/pkgs/development/compilers/swift/patches/libdispatch-fortify-fix.patch @@ -0,0 +1,13 @@ +Nix compiles with _FORTIFY_SOURCE enabled. Fix error due to -Werror and an unused return value warning. + +--- swift-corelibs-libdispatch/src/internal.h 2019-04-26 09:33:38.287289099 +0200 ++++ swift-corelibs-libdispatch/src/internal.h 2019-04-26 15:31:10.485334128 +0200 +@@ -1053,7 +1053,7 @@ + #else + #define _dispatch_client_assert_fail(fmt, ...) do { \ + char *_msg = NULL; \ +- asprintf(&_msg, "%s" fmt, DISPATCH_ASSERTION_FAILED_MESSAGE, \ ++ (void)asprintf(&_msg, "%s" fmt, DISPATCH_ASSERTION_FAILED_MESSAGE, \ + ##__VA_ARGS__); \ + _dispatch_assert_crash(_msg); \ + free(_msg); \ diff --git a/pkgs/development/compilers/swift/patches/llvm-include-dirs.patch b/pkgs/development/compilers/swift/patches/llvm-include-dirs.patch index 9523943c480..789c0be7e7a 100644 --- a/pkgs/development/compilers/swift/patches/llvm-include-dirs.patch +++ b/pkgs/development/compilers/swift/patches/llvm-include-dirs.patch @@ -2,7 +2,7 @@ Only use the Nix include dirs when no sysroot is configured. --- clang/lib/Driver/ToolChains/Linux.cpp 2018-10-05 18:01:15.731109551 +0200 +++ clang/lib/Driver/ToolChains/Linux.cpp 2018-10-05 18:00:27.959509924 +0200 -@@ -565,7 +565,7 @@ +@@ -641,7 +641,7 @@ // Check for configure-time C include directories. StringRef CIncludeDirs(C_INCLUDE_DIRS); diff --git a/pkgs/development/compilers/swift/purity.patch b/pkgs/development/compilers/swift/purity.patch index d10e407260a..832decdc41f 100644 --- a/pkgs/development/compilers/swift/purity.patch +++ b/pkgs/development/compilers/swift/purity.patch @@ -11,7 +11,7 @@ diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp index fe3c0191bb..c6a482bece 100644 --- a/lib/Driver/ToolChains/Gnu.cpp +++ b/lib/Driver/ToolChains/Gnu.cpp -@@ -398,13 +398,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, +@@ -380,13 +380,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, if (!Args.hasArg(options::OPT_static)) { if (Args.hasArg(options::OPT_rdynamic)) CmdArgs.push_back("-export-dynamic"); diff --git a/pkgs/development/compilers/terra/default.nix b/pkgs/development/compilers/terra/default.nix index 80d04080aac..dea6df1b7aa 100644 --- a/pkgs/development/compilers/terra/default.nix +++ b/pkgs/development/compilers/terra/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchFromGitHub, fetchurl, llvmPackages, ncurses, lua }: let - luajitArchive = "LuaJIT-2.0.4.tar.gz"; + luajitArchive = "LuaJIT-2.0.5.tar.gz"; luajitSrc = fetchurl { url = "http://luajit.org/download/${luajitArchive}"; - sha256 = "0zc0y7p6nx1c0pp4nhgbdgjljpfxsb5kgwp4ysz22l1p2bms83v2"; + sha256 = "0yg9q4q6v028bgh85317ykc9whgxgysp76qzaqgq55y6jy11yjw7"; }; in stdenv.mkDerivation rec { - name = "terra-git-${version}"; - version = "2016-06-09"; + pname = "terra-git"; + version = "1.0.0-beta1"; src = fetchFromGitHub { owner = "zdevito"; repo = "terra"; - rev = "22696f178be8597af555a296db804dba820638ba"; - sha256 = "1c2i9ih331304bh31c5gh94fx0qa49rsn70pvczvdfhi8pmcms6g"; + rev = "release-${version}"; + sha256 = "1blv3mbmlwb6fxkck6487ck4qq67cbwq6s1zlp86hy2wckgf8q2c"; }; outputs = [ "bin" "dev" "out" "static" ]; @@ -37,26 +37,20 @@ stdenv.mkDerivation rec { ''; installPhase = '' - mkdir -pv $out/lib - cp -v release/lib/terra.so $out/lib - - mkdir -pv $bin/bin - cp -v release/bin/terra $bin/bin - - mkdir -pv $static/lib - cp -v release/lib/libterra.a $static/lib + install -Dm755 -t $bin/bin release/bin/terra + install -Dm755 -t $out/lib release/lib/terra${stdenv.hostPlatform.extensions.sharedLibrary} + install -Dm644 -t $static/lib release/lib/libterra.a mkdir -pv $dev/include cp -rv release/include/terra $dev/include - '' - ; + ''; buildInputs = with llvmPackages; [ lua llvm clang-unwrapped ncurses ]; meta = with stdenv.lib; { - inherit (src.meta) homepage; description = "A low-level counterpart to Lua"; - platforms = [ "x86_64-linux" ]; + homepage = http://terralang.org/; + platforms = platforms.x86_64; maintainers = with maintainers; [ jb55 ]; license = licenses.mit; }; diff --git a/pkgs/development/compilers/teyjus/default.nix b/pkgs/development/compilers/teyjus/default.nix index 04efe1a9134..41cc9b38606 100644 --- a/pkgs/development/compilers/teyjus/default.nix +++ b/pkgs/development/compilers/teyjus/default.nix @@ -5,7 +5,8 @@ let in stdenv.mkDerivation { - name = "teyjus-${version}"; + pname = "teyjus"; + inherit version; src = fetchurl { url = "https://github.com/teyjus/teyjus/archive/v${version}.tar.gz"; diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix index a5c3db65857..338ba931249 100644 --- a/pkgs/development/compilers/tinycc/default.nix +++ b/pkgs/development/compilers/tinycc/default.nix @@ -2,7 +2,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "tcc-${version}"; + pname = "tcc"; version = "0.9.27"; src = fetchFromRepoOrCz { diff --git a/pkgs/development/compilers/unison/default.nix b/pkgs/development/compilers/unison/default.nix new file mode 100644 index 00000000000..3bdf234f915 --- /dev/null +++ b/pkgs/development/compilers/unison/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, autoPatchelfHook +, ncurses5, zlib, gmp +}: + +stdenv.mkDerivation rec { + pname = "unison-code-manager"; + milestone_id = "M1c"; + version = "1.0.${milestone_id}-alpha"; + + src = if (stdenv.isDarwin) then + fetchurl { + url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-osx.tar.gz"; + sha256 = "03q02r7qc7ybqz16kmpk2d8l9vx28kaj9x59mlxzi8a4mr0j3vzb"; + } + else + fetchurl { + url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-linux64.tar.gz"; + sha256 = "1iwynqnp1i39pyq9wc01x7y22y1qa0rrjlx40jjdgnj23y1r6jk4"; + }; + + # The tarball is just the prebuilt binary, in the archive root. + sourceRoot = "."; + dontBuild = true; + dontConfigure = true; + + nativeBuildInputs = stdenv.lib.optional (!stdenv.isDarwin) autoPatchelfHook; + buildInputs = stdenv.lib.optionals (!stdenv.isDarwin) [ ncurses5 zlib gmp ]; + + installPhase = '' + mkdir -p $out/bin + mv ucm $out/bin + ''; + + meta = with stdenv.lib; { + description = "Modern, statically-typed purely functional language"; + homepage = http://unisonweb.org/posts/; + license = licenses.free; + maintainers = [ maintainers.virusdave ]; + platforms = [ "x86_64-darwin" "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix index d81ddd9b58f..01d4972a55d 100644 --- a/pkgs/development/compilers/urweb/default.nix +++ b/pkgs/development/compilers/urweb/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchurl, file, openssl, mlton -, mysql, postgresql, sqlite, gcc +, mysql, postgresql, sqlite, gcc, icu }: stdenv.mkDerivation rec { - name = "urweb-${version}"; - version = "20180616"; + pname = "urweb"; + version = "20190217"; src = fetchurl { - url = "https://github.com/urweb/urweb/releases/download/${version}/${name}.tar.gz"; - sha256 = "04iy2ky78q6w0d2xyfz2a1k26g2yrwsh1hw1bgs5ia9v3ih965r1"; + url = "https://github.com/urweb/urweb/releases/download/${version}/${pname}-${version}.tar.gz"; + sha256 = "1cl0x0sy7w1lazszc8q06q3wx0x0rczxh27vimrsw54s6s9y096s"; }; - buildInputs = [ openssl mlton mysql.connector-c postgresql sqlite ]; + buildInputs = [ openssl mlton mysql.connector-c postgresql sqlite icu ]; prePatch = '' sed -e 's@/usr/bin/file@${file}/bin/file@g' -i configure diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index d94437b6a16..15ed7f8bd29 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -1,17 +1,15 @@ -{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, flex, bison, libxslt, autoconf, automake, autoreconfHook +{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, flex, bison, libxslt, autoconf, autoreconfHook , graphviz, glib, libiconv, libintl, libtool, expat, substituteAll }: let generic = lib.makeOverridable ({ - major, minor, sha256, + version, sha256, extraNativeBuildInputs ? [], extraBuildInputs ? [], withGraphviz ? false }: let - atLeast = lib.versionAtLeast "${major}.${minor}"; - # Patches from the openembedded-core project to build vala without graphviz # support. We need to apply an additional patch to allow building when the # header file isn't available at all, but that patch (./gvc-compat.patch) @@ -30,28 +28,36 @@ let }; # NOTE: the openembedded-core project doesn't have a patch for 0.40.12 - # or 0.42.4 just yet; we've fixed the single merge conflict in the - # patches below and checked them in here. + # We've fixed the single merge conflict in the following patch. # 0.40.12: https://github.com/openembedded/openembedded-core/raw/8553c52f174af4c8c433c543f806f5ed5c1ec48c/meta/recipes-devtools/vala/vala/disable-graphviz.patch - # 0.42.4: https://github.com/openembedded/openembedded-core/raw/dfbbff39cfd413510abbd60930232a9c6b35d765/meta/recipes-devtools/vala/vala/disable-graphviz.patch "0.40" = ./disable-graphviz-0.40.12.patch; - "0.42" = ./disable-graphviz-0.42.4.patch; - }.${major} or (throw "no graphviz patch for this version of vala"); + "0.42" = fp { + commit = "f2b4f9ec6f44dced7f88df849cca68961419eeb8"; + sha256 = "112qhdzix0d7lfpfcam1cxprzmfzpwypb1226m5ma1vq9qy0sn7g"; + }; - disableGraphviz = atLeast "0.38" && !withGraphviz; + # NOTE: the openembedded-core project doesn't have a patch for 0.44.1 + # We've reverted the addition of the "--disable-valadoc" option + # and then applied the following patch. + # 0.42.4: https://github.com/openembedded/openembedded-core/raw/f2b4f9ec6f44dced7f88df849cca68961419eeb8/meta/recipes-devtools/vala/vala/disable-graphviz.patch + "0.44" = ./disable-graphviz-0.44.3.patch; + + }.${lib.versions.majorMinor version} or (throw "no graphviz patch for this version of vala"); + + disableGraphviz = lib.versionAtLeast version "0.38" && !withGraphviz; in stdenv.mkDerivation rec { - name = "vala-${version}"; - version = "${major}.${minor}"; + pname = "vala"; + inherit version; setupHook = substituteAll { src = ./setup-hook.sh; - apiVersion = major; + apiVersion = lib.versions.majorMinor version; }; src = fetchurl { - url = "mirror://gnome/sources/vala/${major}/${name}.tar.xz"; + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; inherit sha256; }; @@ -70,53 +76,62 @@ let nativeBuildInputs = [ pkgconfig flex bison libxslt - ] ++ lib.optional (stdenv.isDarwin && (atLeast "0.38")) expat + ] ++ lib.optional (stdenv.isDarwin && (lib.versionAtLeast version "0.38")) expat ++ lib.optional disableGraphviz autoreconfHook # if we changed our ./configure script, need to reconfigure ++ extraNativeBuildInputs; buildInputs = [ glib libiconv libintl - ] ++ lib.optional (atLeast "0.38" && withGraphviz) graphviz + ] ++ lib.optional (lib.versionAtLeast version "0.38" && withGraphviz) graphviz ++ extraBuildInputs; enableParallelBuilding = true; doCheck = false; # fails, requires dbus daemon + # Wait for PR #59372 + #passthru = { + # updateScript = gnome3.updateScript { + # attrPath = "${pname}_${lib.versions.major version}_${lib.versions.minor version}"; + # packageName = pname; + # }; + #}; + meta = with stdenv.lib; { description = "Compiler for GObject type system"; homepage = https://wiki.gnome.org/Projects/Vala; license = licenses.lgpl21Plus; platforms = platforms.unix; - maintainers = with maintainers; [ antono jtojnar lethalman peterhoeg ]; + maintainers = with maintainers; [ antono jtojnar lethalman peterhoeg worldofpeace ]; }; }); in rec { vala_0_36 = generic { - major = "0.36"; - minor = "17"; - sha256 = "1f6qg40zd6jzhbwr3dy4fb66k4qs1xlk2whdyqh64zxxjw0k9pv7"; + version = "0.36.19"; + sha256 = "05si2f4zjvq0q3wqfh1wxdq20jy1xqxq2skqh8vfh2jyp355lwar"; }; vala_0_38 = generic { - major = "0.38"; - minor = "10"; + version = "0.38.10"; sha256 = "1rdwwqs973qv225v8b5izcgwvqn56jxgr4pa3wxxbliar3aww5sw"; extraNativeBuildInputs = [ autoconf ] ++ lib.optional stdenv.isDarwin libtool; }; vala_0_40 = generic { - major = "0.40"; - minor = "12"; - sha256 = "1nhk45w5iwg97q3cfybn0i4qz5w9qvk423ndpg6mq6cnna076snx"; + version = "0.40.16"; + sha256 = "0vv25fmr9jqiqf080vak1x4raa4w3cz3n5ysjglqsq9qfx304i7b"; }; vala_0_42 = generic { - major = "0.42"; - minor = "4"; - sha256 = "07jgkx812y7wq4cswwfsf1f4k3lq9hcjra45682bdi8a11nr0a5m"; + version = "0.42.7"; + sha256 = "029ksbsdpl581wzy570kj4kkw8b4bizgh494c051zsvkwck55p83"; }; - vala = vala_0_42; + vala_0_44 = generic { + version = "0.44.6"; + sha256 = "0fkrrpnisgq3y816piyr7hm2b94jaj7ki9y974galq3lmxb1g7xb"; + }; + + vala = vala_0_44; } diff --git a/pkgs/development/compilers/vala/disable-graphviz-0.42.4.patch b/pkgs/development/compilers/vala/disable-graphviz-0.42.4.patch deleted file mode 100644 index 77e7d6272af..00000000000 --- a/pkgs/development/compilers/vala/disable-graphviz-0.42.4.patch +++ /dev/null @@ -1,208 +0,0 @@ -diff --git i/configure.ac w/configure.ac -index 730c72d7b..af8198637 100644 ---- i/configure.ac -+++ w/configure.ac -@@ -119,34 +119,38 @@ PKG_CHECK_MODULES(GMODULE, gmodule-2.0 >= $GLIB_REQUIRED) - AC_SUBST(GMODULE_CFLAGS) - AC_SUBST(GMODULE_LIBS) - --PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED) --AC_MSG_CHECKING([for CGRAPH]) --cgraph_tmp_LIBADD="$LIBADD" --cgraph_tmp_CFLAGS="$CFLAGS" --LIBADD="$LIBADD $LIBGVC_LIBS" --CFLAGS="$CFLAGS $LIBGVC_CFLAGS" --AC_RUN_IFELSE( -- [AC_LANG_SOURCE([ -- #include -- -- int main(void) { -- #ifdef WITH_CGRAPH -- return 0; -- #else -- return -1; -- #endif -- } -- ])], [ -- AC_MSG_RESULT([yes]) -- VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH" -- have_cgraph=yes -- ], [ -- AC_MSG_RESULT([no]) -- have_cgraph=no -- ] --) --LIBADD="$cgraph_tmp_LIBADD" --CFLAGS="$cgraph_tmp_CFLAGS" -+AC_ARG_ENABLE(graphviz, AS_HELP_STRING([--disable-graphviz], [Disable graphviz usage for valadoc]), enable_graphviz=$enableval, enable_graphviz=yes) -+if test x$enable_graphviz = xyes; then -+ PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED) -+ AC_MSG_CHECKING([for CGRAPH]) -+ VALAFLAGS="$VALAFLAGS -D HAVE_GRAPHVIZ" -+ cgraph_tmp_LIBADD="$LIBADD" -+ cgraph_tmp_CFLAGS="$CFLAGS" -+ LIBADD="$LIBADD $LIBGVC_LIBS" -+ CFLAGS="$CFLAGS $LIBGVC_CFLAGS" -+ AC_RUN_IFELSE( -+ [AC_LANG_SOURCE([ -+ #include -+ int main(void) { -+ #ifdef WITH_CGRAPH -+ return 0; -+ #else -+ return -1; -+ #endif -+ } -+ ])], [ -+ AC_MSG_RESULT([yes]) -+ VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH" -+ have_cgraph=yes -+ ], [ -+ AC_MSG_RESULT([no]) -+ have_cgraph=no -+ ] -+ ) -+ LIBADD="$cgraph_tmp_LIBADD" -+ CFLAGS="$cgraph_tmp_CFLAGS" -+fi -+AM_CONDITIONAL(ENABLE_GRAPHVIZ, test x$enable_graphviz = xyes) - AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes") - - AC_PATH_PROG([XSLTPROC], [xsltproc], :) -diff --git i/libvaladoc/Makefile.am w/libvaladoc/Makefile.am -index f3f790e76..3c5dc4c80 100644 ---- i/libvaladoc/Makefile.am -+++ w/libvaladoc/Makefile.am -@@ -128,10 +128,6 @@ libvaladoc_la_VALASOURCES = \ - content/tablerow.vala \ - content/taglet.vala \ - content/text.vala \ -- charts/chart.vala \ -- charts/chartfactory.vala \ -- charts/hierarchychart.vala \ -- charts/simplechartfactory.vala \ - parser/manyrule.vala \ - parser/oneofrule.vala \ - parser/optionalrule.vala \ -@@ -158,13 +154,24 @@ libvaladoc_la_VALASOURCES = \ - highlighter/codetoken.vala \ - highlighter/highlighter.vala \ - html/basicdoclet.vala \ -- html/htmlchartfactory.vala \ - html/linkhelper.vala \ - html/cssclassresolver.vala \ - html/htmlmarkupwriter.vala \ - html/htmlrenderer.vala \ - $(NULL) - -+if ENABLE_GRAPHVIZ -+libvaladoc_la_VALASOURCES += \ -+ charts/chart.vala \ -+ charts/chartfactory.vala \ -+ charts/hierarchychart.vala \ -+ charts/simplechartfactory.vala \ -+ html/htmlchartfactory.vala \ -+ $(NULL) -+ -+LIBGVC_PKG = --vapidir $(top_srcdir)/vapi --pkg libgvc -+endif -+ - libvaladoc@PACKAGE_SUFFIX@_la_SOURCES = \ - libvaladoc.vala.stamp \ - $(libvaladoc_la_VALASOURCES:.vala=.c) \ -@@ -184,11 +191,11 @@ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES) - --library valadoc \ - --vapi valadoc@PACKAGE_SUFFIX@.vapi \ - --vapidir $(top_srcdir)/vapi --pkg gmodule-2.0 \ -- --vapidir $(top_srcdir)/vapi --pkg libgvc \ - --vapidir $(top_srcdir)/gee --pkg gee \ - --vapidir $(top_srcdir)/vala --pkg vala \ - --vapidir $(top_srcdir)/ccode --pkg ccode \ - --vapidir $(top_srcdir)/codegen --pkg codegen \ -+ $(LIBGVC_PKG) \ - --pkg config \ - $(filter %.vala %.c,$^) - touch $@ -@@ -217,6 +224,9 @@ nodist_pkgconfig_DATA = valadoc@PACKAGE_SUFFIX@.pc - - valadoc@PACKAGE_SUFFIX@.pc: valadoc.pc - cp $< $@ -+if !ENABLE_GRAPHVIZ -+ sed -i "s/libgvc //g" $@ -+endif - - vapidir = $(datadir)/vala/vapi - dist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.vapi -@@ -224,6 +234,9 @@ nodist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.deps - - valadoc@PACKAGE_SUFFIX@.deps: valadoc.deps - cp $< $@ -+if !ENABLE_GRAPHVIZ -+ sed -i "s/libgvc//g" $@ -+endif - - EXTRA_DIST = \ - $(libvaladoc_la_VALASOURCES) \ -diff --git i/libvaladoc/html/basicdoclet.vala w/libvaladoc/html/basicdoclet.vala -index 192e488cd..ec0960222 100644 ---- i/libvaladoc/html/basicdoclet.vala -+++ w/libvaladoc/html/basicdoclet.vala -@@ -46,7 +46,11 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { - protected HtmlRenderer _renderer; - protected Html.MarkupWriter writer; - protected Html.CssClassResolver cssresolver; -+#if HAVE_GRAPHVIZ - protected Charts.Factory image_factory; -+#else -+ protected void* image_factory; -+#endif - protected ErrorReporter reporter; - protected string package_list_link = "../index.html"; - -@@ -120,7 +124,9 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { - this.linker = new LinkHelper (); - - _renderer = new HtmlRenderer (settings, this.linker, this.cssresolver); -+#if HAVE_GRAPHVIZ - this.image_factory = new SimpleChartFactory (settings, linker); -+#endif - } - - -@@ -1026,6 +1032,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { - } - - protected void write_image_block (Api.Node element) { -+#if HAVE_GRAPHVIZ - if (element is Class || element is Interface || element is Struct) { - unowned string format = (settings.use_svg_images ? "svg" : "png"); - var chart = new Charts.Hierarchy (image_factory, element); -@@ -1045,6 +1052,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { - this.get_img_path_html (element, format)}); - writer.add_usemap (chart); - } -+#endif - } - - public void write_namespace_content (Namespace node, Api.Node? parent) { -diff --git i/libvaladoc/html/htmlmarkupwriter.vala w/libvaladoc/html/htmlmarkupwriter.vala -index 5aa4afdea..e79b0b8f5 100644 ---- i/libvaladoc/html/htmlmarkupwriter.vala -+++ w/libvaladoc/html/htmlmarkupwriter.vala -@@ -51,12 +51,16 @@ public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter { - } - } - -+#if HAVE_GRAPHVIZ - public unowned MarkupWriter add_usemap (Charts.Chart chart) { - string? buf = (string?) chart.write_buffer ("cmapx"); - if (buf != null) { - raw_text ("\n"); - raw_text ((!) buf); - } -+#else -+ public unowned MarkupWriter add_usemap (void* chart) { -+#endif - - return this; - } diff --git a/pkgs/development/compilers/vala/disable-graphviz-0.44.3.patch b/pkgs/development/compilers/vala/disable-graphviz-0.44.3.patch new file mode 100644 index 00000000000..fc971c26492 --- /dev/null +++ b/pkgs/development/compilers/vala/disable-graphviz-0.44.3.patch @@ -0,0 +1,261 @@ +diff --git a/Makefile.am b/Makefile.am +index f70234759..b3d6c3833 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -13,19 +13,9 @@ SUBDIRS = \ + doc \ + gobject-introspection \ + vapigen \ +- $(NULL) +- +-if ENABLE_VALADOC +-SUBDIRS += \ + libvaladoc \ + valadoc \ + $(NULL) +-endif +- +-DISTCHECK_CONFIGURE_FLAGS = \ +- --enable-valadoc \ +- --enable-unversioned \ +- $(NULL) + + if ENABLE_UNVERSIONED + aclocaldir = $(datadir)/aclocal +diff --git a/configure.ac b/configure.ac +index 504db13aa..622397747 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -157,10 +157,11 @@ AC_SUBST(GMODULE_CFLAGS) + AC_SUBST(GMODULE_LIBS) + + AC_ARG_WITH(cgraph, AS_HELP_STRING([--with-cgraph], [Required flag for cross-compilation to define capability of graphviz]), [], with_cgraph=check) +-AC_ARG_ENABLE(valadoc, AS_HELP_STRING([--disable-valadoc], [Disable valadoc]), enable_valadoc=$enableval, enable_valadoc=yes) +-if test x$enable_valadoc = xyes; then ++AC_ARG_ENABLE(graphviz, AS_HELP_STRING([--disable-graphviz], [Disable graphviz usage for valadoc]), enable_graphviz=$enableval, enable_graphviz=yes) ++if test x$enable_graphviz = xyes; then + PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED) + AC_MSG_CHECKING([for CGRAPH]) ++ VALAFLAGS="$VALAFLAGS -D HAVE_GRAPHVIZ" + cgraph_tmp_LIBADD="$LIBADD" + cgraph_tmp_CFLAGS="$CFLAGS" + LIBADD="$LIBADD $LIBGVC_LIBS" +@@ -198,8 +199,8 @@ if test x$enable_valadoc = xyes; then + LIBADD="$cgraph_tmp_LIBADD" + CFLAGS="$cgraph_tmp_CFLAGS" + fi ++AM_CONDITIONAL(ENABLE_GRAPHVIZ, test x$enable_graphviz = xyes) + AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes") +-AM_CONDITIONAL(ENABLE_VALADOC, test x$enable_valadoc = xyes) + + AC_PATH_PROG([XSLTPROC], [xsltproc], :) + AM_CONDITIONAL(HAVE_XSLTPROC, test "$XSLTPROC" != :) +diff --git a/doc/Makefile.am b/doc/Makefile.am +index d2684a0e0..b343c7c10 100644 +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -6,16 +6,11 @@ SUBDIRS = \ + + dist_man_MANS = \ + valac.1 \ ++ valadoc.1 \ + vala-gen-introspect.1 \ + vapigen.1 \ + $(NULL) + +-if ENABLE_VALADOC +-dist_man_MANS += \ +- valadoc.1 \ +- $(NULL) +-endif +- + EXTRA_DIST = \ + valac.h2m \ + valadoc.h2m \ +@@ -24,11 +19,7 @@ EXTRA_DIST = \ + $(NULL) + + if HAVE_HELP2MAN +-if ENABLE_VALADOC + manpages: valac.1 valadoc.1 vala-gen-introspect.1 vapigen.1 +-else +-manpages: valac.1 vala-gen-introspect.1 vapigen.1 +-endif + @rm $^ + $(MAKE) $(AM_MAKEFLAGS) $^ + +@@ -37,13 +28,11 @@ valac.1: + --include $(srcdir)/valac.h2m \ + --libtool --no-info \ + --output=$@ +-if ENABLE_VALADOC + valadoc.1: + $(HELP2MAN) $(top_builddir)/valadoc/valadoc \ + --include $(srcdir)/valadoc.h2m \ + --libtool --no-info \ + --output=$@ +-endif + vala-gen-introspect.1: + $(HELP2MAN) $(top_builddir)/gobject-introspection/gen-introspect \ + --include $(srcdir)/vala-gen-introspect.h2m \ +@@ -60,15 +49,12 @@ endif + if ENABLE_UNVERSIONED + install-data-hook: + cd $(DESTDIR)$(man1dir) && $(LN_S) -f valac@PACKAGE_SUFFIX@.1 valac.1 +-if ENABLE_VALADOC + cd $(DESTDIR)$(man1dir) && $(LN_S) -f valadoc@PACKAGE_SUFFIX@.1 valadoc.1 +-endif + cd $(DESTDIR)$(man1dir) && $(LN_S) -f vala-gen-introspect@PACKAGE_SUFFIX@.1 vala-gen-introspect.1 + cd $(DESTDIR)$(man1dir) && $(LN_S) -f vapigen@PACKAGE_SUFFIX@.1 vapigen.1 + endif + + +-if ENABLE_VALADOC + COMMON_VALADOCFLAGS = \ + --force \ + --verbose \ +@@ -150,7 +136,6 @@ internal-apis/valadoc: $(valadoc_VALASOURCES) internal-apis/codegen + @touch $@ + + internal-api-docs: internal-apis/gee internal-apis/vala internal-apis/ccode internal-apis/codegen internal-apis/valadoc +-endif + + clean-local: + rm -rf $(builddir)/internal-apis +diff --git a/libvaladoc/Makefile.am b/libvaladoc/Makefile.am +index 7456fb836..107338e91 100644 +--- a/libvaladoc/Makefile.am ++++ b/libvaladoc/Makefile.am +@@ -119,10 +119,6 @@ libvaladoc_la_VALASOURCES = \ + content/tablerow.vala \ + content/taglet.vala \ + content/text.vala \ +- charts/chart.vala \ +- charts/chartfactory.vala \ +- charts/hierarchychart.vala \ +- charts/simplechartfactory.vala \ + parser/manyrule.vala \ + parser/oneofrule.vala \ + parser/optionalrule.vala \ +@@ -149,13 +145,24 @@ libvaladoc_la_VALASOURCES = \ + highlighter/codetoken.vala \ + highlighter/highlighter.vala \ + html/basicdoclet.vala \ +- html/htmlchartfactory.vala \ + html/linkhelper.vala \ + html/cssclassresolver.vala \ + html/htmlmarkupwriter.vala \ + html/htmlrenderer.vala \ + $(NULL) + ++if ENABLE_GRAPHVIZ ++libvaladoc_la_VALASOURCES += \ ++ charts/chart.vala \ ++ charts/chartfactory.vala \ ++ charts/hierarchychart.vala \ ++ charts/simplechartfactory.vala \ ++ html/htmlchartfactory.vala \ ++ $(NULL) ++ ++LIBGVC_PKG = --vapidir $(top_srcdir)/vapi --pkg libgvc ++endif ++ + libvaladoc@PACKAGE_SUFFIX@_la_SOURCES = \ + libvaladoc.vala.stamp \ + $(libvaladoc_la_VALASOURCES:.vala=.c) \ +@@ -175,11 +182,11 @@ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES) + --library valadoc \ + --vapi valadoc@PACKAGE_SUFFIX@.vapi \ + --vapidir $(top_srcdir)/vapi --pkg gmodule-2.0 \ +- --vapidir $(top_srcdir)/vapi --pkg libgvc \ + --vapidir $(top_srcdir)/gee --pkg gee \ + --vapidir $(top_srcdir)/vala --pkg vala \ + --vapidir $(top_srcdir)/ccode --pkg ccode \ + --vapidir $(top_srcdir)/codegen --pkg codegen \ ++ $(LIBGVC_PKG) \ + --pkg config \ + $(filter %.vala %.c,$^) + touch $@ +@@ -207,6 +214,9 @@ nodist_pkgconfig_DATA = valadoc@PACKAGE_SUFFIX@.pc + + valadoc@PACKAGE_SUFFIX@.pc: valadoc.pc + cp $< $@ ++if !ENABLE_GRAPHVIZ ++ sed -i "s/libgvc //g" $@ ++endif + + vapidir = $(datadir)/vala/vapi + dist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.vapi +@@ -214,6 +224,9 @@ nodist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.deps + + valadoc@PACKAGE_SUFFIX@.deps: valadoc.deps + cp $< $@ ++if !ENABLE_GRAPHVIZ ++ sed -i "s/libgvc//g" $@ ++endif + + EXTRA_DIST = \ + $(libvaladoc_la_VALASOURCES) \ +diff --git a/libvaladoc/html/basicdoclet.vala b/libvaladoc/html/basicdoclet.vala +index 46578c28f..f6ce7097c 100644 +--- a/libvaladoc/html/basicdoclet.vala ++++ b/libvaladoc/html/basicdoclet.vala +@@ -46,7 +46,11 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { + protected HtmlRenderer _renderer; + protected Html.MarkupWriter writer; + protected Html.CssClassResolver cssresolver; ++#if HAVE_GRAPHVIZ + protected Charts.Factory image_factory; ++#else ++ protected void* image_factory; ++#endif + protected ErrorReporter reporter; + protected string package_list_link = "../index.html"; + +@@ -120,7 +124,9 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { + this.linker = new LinkHelper (); + + _renderer = new HtmlRenderer (settings, this.linker, this.cssresolver); ++#if HAVE_GRAPHVIZ + this.image_factory = new SimpleChartFactory (settings, linker); ++#endif + } + + +@@ -1025,6 +1031,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { + } + + protected void write_image_block (Api.Node element) { ++#if HAVE_GRAPHVIZ + if (element is Class || element is Interface || element is Struct) { + unowned string format = (settings.use_svg_images ? "svg" : "png"); + var chart = new Charts.Hierarchy (image_factory, element); +@@ -1044,6 +1051,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { + this.get_img_path_html (element, format)}); + writer.add_usemap (chart); + } ++#endif + } + + public void write_namespace_content (Namespace node, Api.Node? parent) { +diff --git a/libvaladoc/html/htmlmarkupwriter.vala b/libvaladoc/html/htmlmarkupwriter.vala +index 5aa4afdea..e79b0b8f5 100644 +--- a/libvaladoc/html/htmlmarkupwriter.vala ++++ b/libvaladoc/html/htmlmarkupwriter.vala +@@ -51,12 +51,16 @@ public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter { + } + } + ++#if HAVE_GRAPHVIZ + public unowned MarkupWriter add_usemap (Charts.Chart chart) { + string? buf = (string?) chart.write_buffer ("cmapx"); + if (buf != null) { + raw_text ("\n"); + raw_text ((!) buf); + } ++#else ++ public unowned MarkupWriter add_usemap (void* chart) { ++#endif + + return this; + } diff --git a/pkgs/development/compilers/vlang/default.nix b/pkgs/development/compilers/vlang/default.nix new file mode 100644 index 00000000000..ad01fb4be29 --- /dev/null +++ b/pkgs/development/compilers/vlang/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchFromGitHub, glfw, freetype, openssl }: + +stdenv.mkDerivation rec { + pname = "vlang"; + version = "0.1.18"; + + src = fetchFromGitHub { + owner = "vlang"; + repo = "v"; + rev = "${version}"; + sha256 = "0js92v2r1h4vaaha3z1spgi7qynlmr9vls41gxp284w4yhnjzv15"; + }; + + # V compiler source translated to C for bootstrap. + vc = fetchFromGitHub { + owner = "vlang"; + repo = "vc"; + rev = "${version}"; + sha256 = "0qx1drs1hr94w7vaaq5w8mkq7j1d3biffnmxkyz63yv8573k03bj"; + }; + + enableParallelBuilding = true; + buildInputs = [ glfw freetype openssl ]; + + buildPhase = '' + runHook preBuild + cc -std=gnu11 $CFLAGS -w -o v $vc/v.c -lm $LDFLAGS + ./v -prod -o v compiler + make thirdparty + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/{bin,lib/vlang,share/vlang} + cp -r examples $out/share/vlang + cp -r {vlib,thirdparty} $out/lib/vlang + cp v $out/lib/vlang + ln -s $out/lib/vlang/v $out/bin/v + runHook postInstall + ''; + + meta = with stdenv.lib; { + homepage = "https://vlang.io/"; + description = "Simple, fast, safe, compiled language for developing maintainable software"; + license = licenses.mit; + maintainers = with maintainers; [ chiiruno ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/compilers/wcc/default.nix b/pkgs/development/compilers/wcc/default.nix index 8cb1e8e5f2c..3196592da48 100644 --- a/pkgs/development/compilers/wcc/default.nix +++ b/pkgs/development/compilers/wcc/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, capstone, libbfd, libelf, libiberty, readline }: stdenv.mkDerivation rec { - name = "wcc-unstable-${version}"; + pname = "wcc-unstable"; version = "2018-04-05"; src = fetchFromGitHub { diff --git a/pkgs/development/compilers/wla-dx/default.nix b/pkgs/development/compilers/wla-dx/default.nix index 78df2583140..5f83845a12a 100644 --- a/pkgs/development/compilers/wla-dx/default.nix +++ b/pkgs/development/compilers/wla-dx/default.nix @@ -1,18 +1,16 @@ {stdenv, fetchFromGitHub, cmake}: stdenv.mkDerivation rec { - version = "2017-06-05"; - name = "wla-dx-git-${version}"; + pname = "wla-dx"; + version = "9.8"; src = fetchFromGitHub { owner = "vhelin"; repo = "wla-dx"; - rev = "ae6843f9711cbc2fa6dd8c200877b40bd2bcad7f"; - sha256 = "09c2kz12ld97ad41j6r8r65jknllrak1x8r43fgr26x7hdlxz5c6"; + rev = "v${version}-fix"; + sha256 = "1dsxhy19nif983lr20vxl099giwzgmzqyh7ass705hkphmwagcv6"; }; - hardeningDisable = [ "format" ]; - installPhase = '' mkdir -p $out/bin install binaries/* $out/bin diff --git a/pkgs/development/compilers/x11basic/default.nix b/pkgs/development/compilers/x11basic/default.nix index a26bc41c594..3d955c4394b 100644 --- a/pkgs/development/compilers/x11basic/default.nix +++ b/pkgs/development/compilers/x11basic/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub +{ stdenv, fetchFromGitHub , automake, autoconf, readline , libX11, bluez, SDL2 }: @@ -6,7 +6,6 @@ stdenv.mkDerivation rec { pname = "X11basic"; version = "1.26"; - name = pname + "-" + version; src = fetchFromGitHub { owner = "kollokollo"; diff --git a/pkgs/development/compilers/yap/default.nix b/pkgs/development/compilers/yap/default.nix index 3ad0bc25787..1cc96455be7 100644 --- a/pkgs/development/compilers/yap/default.nix +++ b/pkgs/development/compilers/yap/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { version = "6.3.3"; - name = "yap-${version}"; + pname = "yap"; src = fetchurl { - url = "https://www.dcc.fc.up.pt/~vsc/Yap/${name}.tar.gz"; + url = "https://www.dcc.fc.up.pt/~vsc/Yap/${pname}-${version}.tar.gz"; sha256 = "0y7sjwimadqsvgx9daz28c9mxcx9n1znxklih9xg16k6n54v9qxf"; }; diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix index 1afeae73f2f..1535c7a7de6 100644 --- a/pkgs/development/compilers/yosys/default.nix +++ b/pkgs/development/compilers/yosys/default.nix @@ -1,21 +1,21 @@ { stdenv, fetchFromGitHub , pkgconfig, bison, flex , tcl, readline, libffi, python3 -, protobuf +, protobuf, zlib }: with builtins; stdenv.mkDerivation rec { - name = "yosys-${version}"; - version = "2019.01.08"; + pname = "yosys"; + version = "2019.09.01"; srcs = [ (fetchFromGitHub { owner = "yosyshq"; repo = "yosys"; - rev = "2a2e0a4722ded7628b71f436b94a06aebd57bb62"; - sha256 = "19wzh7yssk90s58l2f89m0q5bjjrjpkhvikf5zc0563wccvl712c"; + rev = "4aa505d1b254b3fbb66af2d95b396a8f077da9d0"; + sha256 = "16rhwmn1z2ppaq3wycgq713krq48s80a6h57vgzjzj17hgncg7hs"; name = "yosys"; }) @@ -25,8 +25,8 @@ stdenv.mkDerivation rec { (fetchFromGitHub { owner = "berkeley-abc"; repo = "abc"; - rev = "2ddc57d8760d94e86699be39a628178cff8154f8"; - sha256 = "0da7nnnnl9cq2r7s301xgdc8nlr6hqmqpvd9zn4b58m125sp0scl"; + rev = "5776ad07e7247993976bffed4802a5737c456782"; + sha256 = "1la4idmssg44rp6hd63sd5vybvs3vr14yzvwcg03ls37p39cslnl"; name = "yosys-abc"; }) ]; @@ -34,16 +34,20 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ tcl readline libffi python3 bison flex protobuf ]; + buildInputs = [ tcl readline libffi python3 bison flex protobuf zlib ]; makeFlags = [ "ENABLE_PROTOBUF=1" ]; patchPhase = '' substituteInPlace ../yosys-abc/Makefile \ - --replace 'CC := gcc' "" + --replace 'CC := gcc' "" \ + --replace 'CXX := g++' "" substituteInPlace ./Makefile \ --replace 'CXX = clang' "" \ - --replace 'ABCMKARGS = CC="$(CXX)"' 'ABCMKARGS =' \ + --replace 'LD = clang++' 'LD = $(CXX)' \ + --replace 'CXX = gcc' "" \ + --replace 'LD = gcc' 'LD = $(CXX)' \ + --replace 'ABCMKARGS = CC="$(CXX)" CXX="$(CXX)"' 'ABCMKARGS =' \ --replace 'echo UNKNOWN' 'echo ${substring 0 10 (elemAt srcs 0).rev}' ''; @@ -71,7 +75,7 @@ stdenv.mkDerivation rec { ''; homepage = http://www.clifford.at/yosys/; license = stdenv.lib.licenses.isc; - maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice ]; - platforms = stdenv.lib.platforms.unix; + maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice emily ]; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/development/compilers/z88dk/default.nix b/pkgs/development/compilers/z88dk/default.nix index 1590075dc2a..19056ec2b6f 100644 --- a/pkgs/development/compilers/z88dk/default.nix +++ b/pkgs/development/compilers/z88dk/default.nix @@ -1,37 +1,46 @@ -{ fetchFromGitHub, fetchpatch, stdenv, makeWrapper, unzip, libxml2, m4, uthash }: +{ fetchFromGitHub, stdenv, makeWrapper, unzip, libxml2, m4, uthash, which }: stdenv.mkDerivation rec { - name = "z88dk-${version}"; - version = "20180217"; - rev = "49a7c6032b2675af742f5b0b3aa5bd5260bdd814"; - short_rev = "${builtins.substring 0 7 rev}"; + pname = "z88dk"; + version = "unstable-2019-05-09"; src = fetchFromGitHub { owner = "z88dk"; repo = "z88dk"; - inherit rev; - sha256 = "00vbklh6lkq1gyd08ig2vcg6c1mghvlwfx3vq3wldf34hcs3k4pp"; + rev = "826d68632c3a7c17df88dd2ec54571a6041da69c"; + sha256 = "104qgb01sdb97mkcxnq1cdlqi5qvjm4rd9bg5r42pdfz81ss49xj"; + fetchSubmodules = true; }; - # https://github.com/z88dk/z88dk/pull/612 - patches = [(fetchpatch { - url = "https://github.com/Mic92/z88dk/commit/5b4ca132fa1f31c9ac48cf2220358715739ca0b2.patch"; - sha256 = "1p2l31j68p7jzykhkhd9iagn2lr08hdclk3cl9l32p1q6ghdipfv"; - })]; - postPatch = '' # we dont rely on build.sh : export PATH="$PWD/bin:$PATH" # needed to have zcc in testsuite export ZCCCFG=$PWD/lib/config/ + # we don't want to build zsdcc since it required network (svn) + # we test in checkPhase + substituteInPlace Makefile \ + --replace 'testsuite bin/z88dk-lib$(EXESUFFIX)' 'bin/z88dk-lib$(EXESUFFIX)'\ + --replace 'ALL_EXT = bin/zsdcc$(EXESUFFIX)' 'ALL_EXT =' ''; + checkPhase = '' + make testsuite + ''; + #failed on Issue_1105_function_pointer_calls + doCheck = stdenv.hostPlatform.system != "aarch64-linux"; + + #_FORTIFY_SOURCE requires compiling with optimization (-O) + NIX_CFLAGS_COMPILE = "-O"; + + short_rev = "${builtins.substring 0 7 src.rev}"; makeFlags = [ - "prefix=$(out)" "git_rev=${short_rev}" "version=${version}" + "prefix=$(out)" "git_count=0" ]; - nativeBuildInputs = [ makeWrapper unzip ]; + + nativeBuildInputs = [ which makeWrapper unzip ]; buildInputs = [ libxml2 m4 uthash ]; preInstall = '' @@ -41,10 +50,10 @@ stdenv.mkDerivation rec { installTargets = "libs install"; meta = with stdenv.lib; { - homepage = https://www.z88dk.org; + homepage = "https://www.z88dk.org"; description = "z80 Development Kit"; license = licenses.clArtistic; maintainers = [ maintainers.genesis ]; - platforms = [ "x86_64-linux" ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/compilers/zig/default.nix b/pkgs/development/compilers/zig/default.nix index fd95635616f..35ad09320de 100644 --- a/pkgs/development/compilers/zig/default.nix +++ b/pkgs/development/compilers/zig/default.nix @@ -1,23 +1,19 @@ { stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2, zlib }: stdenv.mkDerivation rec { - version = "0.3.0"; - name = "zig-${version}"; + version = "0.4.0"; + pname = "zig"; src = fetchFromGitHub { owner = "ziglang"; - repo = "zig"; - rev = "${version}"; - sha256 = "089ywagxjjh7gxv8h8yg7jpmryzjf7n4m5irhdkhp2966d03kyxm"; + repo = pname; + rev = version; + sha256 = "1cq6cc5pvybz9kn3y0j5gskkjq88hkmmcsva54mfzpcc65l3pv6p"; }; nativeBuildInputs = [ cmake ]; buildInputs = [ llvmPackages.clang-unwrapped llvmPackages.llvm libxml2 zlib ]; - cmakeFlags = [ - "-DCMAKE_BUILD_TYPE=Release" - ]; - meta = with stdenv.lib; { description = "Programming languaged designed for robustness, optimality, and clarity"; homepage = https://ziglang.org/; diff --git a/pkgs/development/compilers/zulu/8.nix b/pkgs/development/compilers/zulu/8.nix index fb1798ab819..f0e0693d12c 100644 --- a/pkgs/development/compilers/zulu/8.nix +++ b/pkgs/development/compilers/zulu/8.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchurl, unzip, makeWrapper, setJavaClassPath , zulu, glib, libxml2, libav_0_8, ffmpeg, libxslt, libGL, alsaLib -, fontconfig, freetype, gnome2, cairo, gdk_pixbuf, atk, xorg +, fontconfig, freetype, gnome2, cairo, gdk-pixbuf, atk, xorg , swingSupport ? true }: let @@ -17,7 +17,7 @@ let libraries = [ stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype gnome2.pango - gnome2.gtk cairo gdk_pixbuf atk + gnome2.gtk cairo gdk-pixbuf atk ] ++ (lib.optionals swingSupport (with xorg; [ xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt xorg.libXrender stdenv.cc.cc @@ -26,7 +26,7 @@ let in stdenv.mkDerivation rec { inherit version openjdk platform hash extension; - name = "zulu-${version}"; + pname = "zulu"; src = fetchurl { url = "https://cdn.azul.com/zulu/bin/zulu${version}-jdk${openjdk}-${platform}_x64.${extension}"; diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix index 908aa29e178..d4c4c1f0ac3 100644 --- a/pkgs/development/compilers/zulu/default.nix +++ b/pkgs/development/compilers/zulu/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchurl, unzip, makeWrapper, setJavaClassPath , zulu, glib, libxml2, libav_0_8, ffmpeg, libxslt, libGL, alsaLib -, fontconfig, freetype, gnome2, cairo, gdk_pixbuf, atk, xorg, zlib +, fontconfig, freetype, gnome2, cairo, gdk-pixbuf, atk, xorg, zlib , swingSupport ? true }: let @@ -17,7 +17,7 @@ let libraries = [ stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype gnome2.pango - gnome2.gtk cairo gdk_pixbuf atk zlib + gnome2.gtk cairo gdk-pixbuf atk zlib ] ++ (lib.optionals swingSupport (with xorg; [ xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt xorg.libXrender stdenv.cc.cc @@ -26,7 +26,7 @@ let in stdenv.mkDerivation rec { inherit version openjdk platform hash extension; - name = "zulu-${version}"; + pname = "zulu"; src = fetchurl { url = "https://cdn.azul.com/zulu/bin/zulu${version}-jdk${openjdk}-${platform}_x64.${extension}"; diff --git a/pkgs/development/coq-modules/Cheerios/default.nix b/pkgs/development/coq-modules/Cheerios/default.nix index 2429ccf3cf6..d58f6510219 100644 --- a/pkgs/development/coq-modules/Cheerios/default.nix +++ b/pkgs/development/coq-modules/Cheerios/default.nix @@ -27,6 +27,6 @@ stdenv.mkDerivation rec { installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; passthru = { - compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6"; + compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ]; }; } diff --git a/pkgs/development/coq-modules/InfSeqExt/default.nix b/pkgs/development/coq-modules/InfSeqExt/default.nix index 6b908f5a09a..4fe86c3fae1 100644 --- a/pkgs/development/coq-modules/InfSeqExt/default.nix +++ b/pkgs/development/coq-modules/InfSeqExt/default.nix @@ -26,6 +26,6 @@ stdenv.mkDerivation rec { installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; passthru = { - compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.5"; + compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" ]; }; } diff --git a/pkgs/development/coq-modules/QuickChick/default.nix b/pkgs/development/coq-modules/QuickChick/default.nix index 96954eb43ac..874b99f2beb 100644 --- a/pkgs/development/coq-modules/QuickChick/default.nix +++ b/pkgs/development/coq-modules/QuickChick/default.nix @@ -14,23 +14,23 @@ let params = sha256 = "0fri4nih40vfb0fbr82dsi631ydkw48xszinq43lyinpknf54y17"; }; - "8.7" = { - version = "20171212"; - rev = "195e550a1cf0810497734356437a1720ebb6d744"; - sha256 = "0zm23y89z0h4iamy74qk9qi2pz2cj3ga6ygav0w79n0qyqwhxcq1"; - }; "8.8" = rec { - preConfigure = "substituteInPlace Makefile --replace quickChickTool.byte quickChickTool.native"; - version = "1.0.2"; + version = "20190311"; + rev = "22af9e9a223d0038f05638654422e637e863b355"; + sha256 = "00rnr19lg6lg0haq1sy4ld38p7imzand6fc52fvfq27gblxkp2aq"; + }; + + "8.9" = rec { + version = "1.1.0"; rev = "v${version}"; - sha256 = "1mcbsp07ra3gdcmir36pf27ig3xv8nagyfp7w5pwqi4gj9w81ffn"; - buildInputs = with coq.ocamlPackages; [ ocamlbuild num ]; - propagatedBuildInputs = [ coq-ext-lib simple-io ]; + sha256 = "1c34v1k37rk7v0xk2czv5n79mbjxjrm6nh3llg2mpfmdsqi68wf3"; }; }; param = params."${coq.coq-version}"; in +let recent = stdenv.lib.versionAtLeast coq.coq-version "8.8"; in + stdenv.mkDerivation rec { name = "coq${coq.coq-version}-QuickChick-${param.version}"; @@ -41,16 +41,19 @@ stdenv.mkDerivation rec { inherit (param) rev sha256; }; + preConfigure = stdenv.lib.optionalString recent + "substituteInPlace Makefile --replace quickChickTool.byte quickChickTool.native"; + buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ ocaml camlp5 findlib ]) - ++ (param.buildInputs or []) + ++ stdenv.lib.optionals recent + (with coq.ocamlPackages; [ ocamlbuild num ]) ; - propagatedBuildInputs = [ ssreflect ] ++ (param.propagatedBuildInputs or []); + propagatedBuildInputs = [ ssreflect ] + ++ stdenv.lib.optionals recent [ coq-ext-lib simple-io ]; enableParallelBuilding = false; - preConfigure = param.preConfigure or null; - installPhase = '' make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install ''; diff --git a/pkgs/development/coq-modules/StructTact/default.nix b/pkgs/development/coq-modules/StructTact/default.nix index 55d59b93140..e33b9427223 100644 --- a/pkgs/development/coq-modules/StructTact/default.nix +++ b/pkgs/development/coq-modules/StructTact/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, coq, mathcomp }: +{ stdenv, fetchFromGitHub, coq }: let param = { diff --git a/pkgs/development/coq-modules/Verdi/default.nix b/pkgs/development/coq-modules/Verdi/default.nix index 8eaa2bdfae7..00d088a4a92 100644 --- a/pkgs/development/coq-modules/Verdi/default.nix +++ b/pkgs/development/coq-modules/Verdi/default.nix @@ -1,7 +1,12 @@ { stdenv, fetchFromGitHub, coq, Cheerios, InfSeqExt, ssreflect }: let param = + if stdenv.lib.versionAtLeast coq.coq-version "8.7" then { + version = "20190202"; + rev = "bc193be9ea8485add7646a0f72e2aa76a9c7e01f"; + sha256 = "1adkwxnmc9qfah2bya0hpd2vzkmk1y212z4n7fcmvr1a85ykgd7z"; + } else { version = "20181102"; rev = "25b79cf1be5527ab8dc1b8314fcee93e76a2e564"; sha256 = "1vw47c37k5vaa8vbr6ryqy8riagngwcrfmb3rai37yi9xhdqg55z"; @@ -27,6 +32,6 @@ stdenv.mkDerivation rec { installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; passthru = { - compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6"; + compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ]; }; } diff --git a/pkgs/development/coq-modules/bignums/default.nix b/pkgs/development/coq-modules/bignums/default.nix index 0d5a892e2e9..a074b27ff65 100644 --- a/pkgs/development/coq-modules/bignums/default.nix +++ b/pkgs/development/coq-modules/bignums/default.nix @@ -1,25 +1,29 @@ { stdenv, fetchFromGitHub, coq }: -let params = - let v_8_8_0 = { - rev = "V8.8.0"; - sha256 = "1ymxyrvjygscxkfj3qkq66skl3vdjhb670rzvsvgmwrjkrakjnfg"; +let params = { + "8.6" = { + rev = "v8.6.0"; + sha256 = "0553pcsy21cyhmns6k9qggzb67az8kl31d0lwlnz08bsqswigzrj"; + }; + "8.7" = { + rev = "V8.7.0"; + sha256 = "11c4sdmpd3l6jjl4v6k213z9fhrmmm1xnly3zmzam1wrrdif4ghl"; + }; + "8.8" = { + rev = "V8.8.0"; + sha256 = "1ymxyrvjygscxkfj3qkq66skl3vdjhb670rzvsvgmwrjkrakjnfg"; + }; + "8.9" = { + rev = "V8.9.0"; + sha256 = "03qz1w2xb2j5p06liz5yyafl0fl9vprcqm6j0iwi7rxwghl00p01"; + }; + "8.10" = { + rev = "V8.10+beta1"; + sha256 = "1slw227idwjw9a21vj3s6kal22mrmvvlpg8r7xk590ml99bn6404"; + }; }; - in - { - "8.6" = { - rev = "v8.6.0"; - sha256 = "0553pcsy21cyhmns6k9qggzb67az8kl31d0lwlnz08bsqswigzrj"; - }; - "8.7" = { - rev = "V8.7.0"; - sha256 = "11c4sdmpd3l6jjl4v6k213z9fhrmmm1xnly3zmzam1wrrdif4ghl"; - }; - "8.8" = v_8_8_0; - "8.9" = v_8_8_0; - }; - param = params."${coq.coq-version}" -; in + param = params."${coq.coq-version}"; +in stdenv.mkDerivation rec { diff --git a/pkgs/development/coq-modules/category-theory/default.nix b/pkgs/development/coq-modules/category-theory/default.nix index 59f2295e215..3dfa95154d3 100644 --- a/pkgs/development/coq-modules/category-theory/default.nix +++ b/pkgs/development/coq-modules/category-theory/default.nix @@ -8,15 +8,16 @@ let rev = "3b9ba7b26a64d49a55e8b6ccea570a7f32c11ead"; sha256 = "0f2nr8dgn1ab7hr7jrdmr1zla9g9h8216q4yf4wnff9qkln8sbbs"; }; - v20181016 = { - version = "20181016"; - rev = "8049479c5aee00ed0b92e5edc7c8996aebf48208"; - sha256 = "14f9rlwh8vgmcl6njykvsiwxx0jn623375afixk26mzpy12zdcph"; + v20190414 = { + version = "20190414"; + rev = "706fdb4065cc2302d92ac2bce62cb59713253119"; + sha256 = "16lg4xs2wzbdbsn148xiacgl4wq4xwfqjnjkdhfr3w0qh1s81hay"; }; in { "8.6" = v20180709; "8.7" = v20180709; - "8.8" = v20181016; + "8.8" = v20190414; + "8.9" = v20190414; }; param = params."${coq.coq-version}"; in diff --git a/pkgs/development/coq-modules/contribs/default.nix b/pkgs/development/coq-modules/contribs/default.nix index a1ecdd610a3..faf7db09ff9 100644 --- a/pkgs/development/coq-modules/contribs/default.nix +++ b/pkgs/development/coq-modules/contribs/default.nix @@ -14,7 +14,9 @@ let mkContrib = repo: revs: param: buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib coq ]; - installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; + installFlags = + stdenv.lib.optional (stdenv.lib.versionAtLeast coq.coq-version "8.9") "-f Makefile.coq" + ++ [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; passthru = { compatibleCoqVersions = v: builtins.elem v revs; @@ -196,7 +198,7 @@ let mkContrib = repo: revs: param: sha256 = "1ddwzg12pbzpnz3njin4zhpph92kscrbsn3bzds26yj8fp76zc33"; }; - containers = mkContrib "containers" [ "8.6" "8.7" "8.8" ] { + containers = mkContrib "containers" [ "8.6" "8.7" "8.8" "8.9" ] { "8.6" = { version = "8.6.0"; rev = "fa1fec7"; @@ -212,6 +214,11 @@ let mkContrib = repo: revs: param: rev = "52b86bed1671321b25fe4d7495558f9f221b12aa"; sha256 = "0hbnrwdgryr52170cfrlbiymr88jsyxilnpr343vnprqq3zk1xz0"; }; + "8.9" = { + version = "20190222"; + rev = "aa33052c1edfc5a65885942a67c2773b5d96f8cc"; + sha256 = "0mjgfdr9bzsch0dlk4vq1frkaig14dqh46r54cv0l15flxapg0iw"; + }; }."${coq.coq-version}"; continuations = mkContrib "continuations" [ ] { @@ -1024,10 +1031,10 @@ let mkContrib = repo: revs: param: sha256 = "0iwkpmc22nwasrk4g7ki4s5y05zjs7kmqk3j98giwp2wiavhgapn"; }; - zorns-lemma = mkContrib "zorns-lemma" [ "8.5" "8.6" "8.7" ] { - version = "v8.6.0"; - rev = "5eba80109d6f4f688ac8dc2b6d505d6681801737"; - sha256 = "19qvsk0s3hs31nmy4fk7qzw4clyj0gka3f526xjij54b8a9fz34f"; + zorns-lemma = mkContrib "zorns-lemma" [ "8.6" "8.7" "8.8" "8.9" ] { + version = "v8.9.0"; + rev = "6ac9bb914f6017cdd9a544ff4b0bef73fd33b44c"; + sha256 = "1vdsl5gxpadkjjjw314s4fawzlssdmp4qkwrjz5qdmyl2dcpil4p"; }; zsearch-trees = mkContrib "zsearch-trees" [ "8.6" "8.7" ] { diff --git a/pkgs/development/coq-modules/coq-elpi/default.nix b/pkgs/development/coq-modules/coq-elpi/default.nix new file mode 100644 index 00000000000..04fc428b409 --- /dev/null +++ b/pkgs/development/coq-modules/coq-elpi/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, which, coq }: + +let params = { + "8.10" = { + version = "master"; + rev = "bc7134deba1aacc7ecd2f5d1032bdf05b125c568"; + sha256 = "188avk9irwjsbs5ya4ka01mpk3vw4397kv2rmsncqrrrsa1pdddk"; + }; +}; + param = params."${coq.coq-version}"; +in + +stdenv.mkDerivation rec { + name = "coq${coq.coq-version}-elpi-${param.version}"; + + src = fetchFromGitHub { + owner = "LPCIC"; + repo = "coq-elpi"; + inherit (param) rev sha256; + }; + + nativeBuildInputs = [ which ]; + buildInputs = [ coq coq.ocaml ] ++ (with coq.ocamlPackages; [ findlib elpi ]); + + installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; + + meta = { + description = "Coq plugin embedding ELPI."; + maintainers = [ stdenv.lib.maintainers.cohencyril ]; + license = stdenv.lib.licenses.lgpl21; + inherit (coq.meta) platforms; + inherit (src.meta) homepage; + }; + + passthru = { + compatibleCoqVersions = stdenv.lib.flip builtins.hasAttr params; + }; +} diff --git a/pkgs/development/coq-modules/coq-ext-lib/default.nix b/pkgs/development/coq-modules/coq-ext-lib/default.nix index 28a7c1ec1f6..cade2bd352e 100644 --- a/pkgs/development/coq-modules/coq-ext-lib/default.nix +++ b/pkgs/development/coq-modules/coq-ext-lib/default.nix @@ -6,7 +6,7 @@ let params = "8.6" = { version = "0.9.5"; sha256 = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg"; }; "8.7" = { version = "0.9.7"; sha256 = "00v4bm4glv1hy08c8xsm467az6d1ashrznn8p2bmbmmp52lfg7ag"; }; "8.8" = { version = "0.9.8"; sha256 = "0z1ix855kdjl7zw5ca664h5njd1x8mmvf5wi37fck4dj9dgamwlz"; }; - "8.9" = { version = "0.10.0"; sha256 = "1kxi5bmjwi5zqlqgkyzhhxwgcih7wf60cyw9398k2qjkmi186r4a"; }; + "8.9" = { version = "0.10.1"; sha256 = "0r1vspad8fb8bry3zliiz4hfj4w1iib1l2gm115a94m6zbiksd95"; }; }; param = params."${coq.coq-version}"; in diff --git a/pkgs/development/coq-modules/coqhammer/default.nix b/pkgs/development/coq-modules/coqhammer/default.nix new file mode 100644 index 00000000000..28c651f9b16 --- /dev/null +++ b/pkgs/development/coq-modules/coqhammer/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchFromGitHub, coq }: + +let + params = { + "8.8" = { + sha256 = "0ms086wp4jmrzyglb8wymchzyflflk01nsfsk4r6qv8rrx81nx9h"; + }; + "8.9" = { + sha256 = "0hmqwsry8ldg4g4hhwg4b84dgzibpdrg1wwsajhlyqfx3fb3n3b5"; + }; + }; + param = params."${coq.coq-version}"; +in + +stdenv.mkDerivation rec { + version = "1.1"; + name = "coq${coq.coq-version}-coqhammer-${version}"; + + src = fetchFromGitHub { + owner = "lukaszcz"; + repo = "coqhammer"; + rev = "v${version}-coq${coq.coq-version}"; + inherit (param) sha256; + }; + + postPatch = '' + substituteInPlace Makefile.coq.local --replace \ + '$(if $(COQBIN),$(COQBIN),`coqc -where | xargs dirname | xargs dirname`/bin/)' \ + '$(out)/bin/' + substituteInPlace Makefile.coq.local --replace 'g++' 'c++' --replace 'gcc' 'cc' + ''; + + buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ + ocaml findlib camlp5 + ]); + + preInstall = '' + mkdir -p $out/bin + ''; + + installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; + + meta = { + homepage = "http://cl-informatik.uibk.ac.at/cek/coqhammer/"; + description = "Automation for Dependent Type Theory"; + license = stdenv.lib.licenses.lgpl21; + inherit (coq.meta) platforms; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + }; + + passthru = { + compatibleCoqVersions = v: builtins.hasAttr v params; + }; + +} diff --git a/pkgs/development/coq-modules/coqprime/default.nix b/pkgs/development/coq-modules/coqprime/default.nix index 191812b3f2e..c67342f1a2f 100644 --- a/pkgs/development/coq-modules/coqprime/default.nix +++ b/pkgs/development/coq-modules/coqprime/default.nix @@ -13,6 +13,7 @@ let params = }; "8.8" = v_8_8; "8.9" = v_8_8; + "8.10" = v_8_8; }; param = params."${coq.coq-version}" ; in diff --git a/pkgs/development/coq-modules/coquelicot/default.nix b/pkgs/development/coq-modules/coquelicot/default.nix index e316a8b792d..3b916b5e40b 100644 --- a/pkgs/development/coq-modules/coquelicot/default.nix +++ b/pkgs/development/coq-modules/coquelicot/default.nix @@ -1,10 +1,23 @@ { stdenv, fetchurl, which, coq, ssreflect }: -stdenv.mkDerivation { - name = "coq${coq.coq-version}-coquelicot-3.0.2"; - src = fetchurl { - url = "https://gforge.inria.fr/frs/download.php/file/37523/coquelicot-3.0.2.tar.gz"; +let param = + if stdenv.lib.versionAtLeast coq.coq-version "8.8" + then { + version = "3.0.3"; + uid = "38105"; + sha256 = "0y52lqx1jphv6fwf0d702vzprxmfmxggnh1hy3fznxyl4isfpg4j"; + } else { + version = "3.0.2"; + uid = "37523"; sha256 = "1biia7nfqf7vaqq5gmykl4rwjyvrcwss6r2jdf0in5pvp2rnrj2w"; + } +; in + +stdenv.mkDerivation { + name = "coq${coq.coq-version}-coquelicot-${param.version}"; + src = fetchurl { + url = "https://gforge.inria.fr/frs/download.php/file/${param.uid}/coquelicot-${param.version}.tar.gz"; + inherit (param) sha256; }; nativeBuildInputs = [ which ]; @@ -24,7 +37,7 @@ stdenv.mkDerivation { }; passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" ]; + compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" "8.10" ]; }; } diff --git a/pkgs/development/coq-modules/corn/default.nix b/pkgs/development/coq-modules/corn/default.nix index dc0f0873d07..e5fa11c5cad 100644 --- a/pkgs/development/coq-modules/corn/default.nix +++ b/pkgs/development/coq-modules/corn/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { }; passthru = { - compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6"; + compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ]; }; } diff --git a/pkgs/development/coq-modules/equations/default.nix b/pkgs/development/coq-modules/equations/default.nix index 86e5687321b..5446b540fac 100644 --- a/pkgs/development/coq-modules/equations/default.nix +++ b/pkgs/development/coq-modules/equations/default.nix @@ -15,15 +15,21 @@ let }; "8.8" = { - version = "1.0"; - rev = "v1.0-8.8"; - sha256 = "0dd7zd5j2sv5cw3mfwg33ss2vcj634q3qykakc41sv7f3rfgqfnn"; + version = "1.2"; + rev = "v1.2-8.8"; + sha256 = "06452fyzalz7zcjjp73qb7d6xvmqb6skljkivf8pfm55fsc8s7kx"; }; "8.9" = { - version = "1.2beta"; - rev = "v1.2-beta-8.9"; - sha256 = "1sj7vyarmvp1w5kvbhgpgap1yd0yrj4n1jrla0wv70k0jrq5hhpz"; + version = "1.2"; + rev = "v1.2-8.9"; + sha256 = "1q3wvicr43bgy7xn1diwh4j43mnrhprrc2xd22qlbz9cl6bhf8bj"; + }; + + "8.10" = { + version = "1.2"; + rev = "v1.2-8.10"; + sha256 = "1v5kx0xzxzsbs5r4w08rm1lrmjjggnd3ap0sd1my88ds17jzyasd"; }; }; param = params."${coq.coq-version}"; diff --git a/pkgs/development/coq-modules/flocq/default.nix b/pkgs/development/coq-modules/flocq/default.nix index 09fbd580845..d9ad7d6e3be 100644 --- a/pkgs/development/coq-modules/flocq/default.nix +++ b/pkgs/development/coq-modules/flocq/default.nix @@ -1,14 +1,12 @@ -{ stdenv, bash, which, autoconf, automake, fetchurl, coq }: +{ stdenv, bash, which, autoconf, automake, fetchzip, coq }: let params = if stdenv.lib.versionAtLeast coq.coq-version "8.7" then { - version = "3.1.0"; - uid = "37901"; - sha256 = "02szrgz9m0ac51la1lqpiv6i2g0zbgx9gz5rp0q1g00ajldyna5c"; + version = "3.2.0"; + sha256 = "15bi36x7zj0glsb3s2gwqd4wswhfzh36rbp7imbyff53a7nna95l"; } else { version = "2.6.1"; - uid = "37454"; - sha256 = "06msp1fwpqv6p98a3i1nnkj7ch9rcq3rm916yxq8dxf51lkghrin"; + sha256 = "1y4czkfrd8p37vwv198nns4hz1brfv71na17pxsidwpxy7qnyfw1"; } ; in @@ -17,8 +15,8 @@ stdenv.mkDerivation rec { name = "coq${coq.coq-version}-flocq-${version}"; inherit (params) version; - src = fetchurl { - url = "https://gforge.inria.fr/frs/download.php/file/${params.uid}/flocq-${version}.tar.gz"; + src = fetchzip { + url = "https://gitlab.inria.fr/flocq/flocq/-/archive/flocq-${version}.tar.gz"; inherit (params) sha256; }; @@ -46,6 +44,6 @@ stdenv.mkDerivation rec { }; passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" ]; + compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" "8.10" ]; }; } diff --git a/pkgs/development/coq-modules/gappalib/default.nix b/pkgs/development/coq-modules/gappalib/default.nix new file mode 100644 index 00000000000..c610039eeec --- /dev/null +++ b/pkgs/development/coq-modules/gappalib/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, which, coq, flocq }: + +stdenv.mkDerivation { + name = "coq${coq.coq-version}-gappalib-1.4.1"; + src = fetchurl { + url = https://gforge.inria.fr/frs/download.php/file/37917/gappalib-coq-1.4.1.tar.gz; + sha256 = "0d3f23a871haglg8hq1jgxz3y5nryiwy12b5xfnfjn279jfqqjw4"; + }; + + nativeBuildInputs = [ which ]; + buildInputs = [ coq coq.ocamlPackages.ocaml ]; + propagatedBuildInputs = [ flocq ]; + + configurePhase = "./configure --libdir=$out/lib/coq/${coq.coq-version}/user-contrib/Gappa"; + buildPhase = "./remake"; + installPhase = "./remake install"; + + meta = { + description = "Coq support library for Gappa"; + license = stdenv.lib.licenses.lgpl21; + homepage = http://gappa.gforge.inria.fr/; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (coq.meta) platforms; + }; + + passthru = { + compatibleCoqVersions = stdenv.lib.flip builtins.elem [ "8.7" "8.8" "8.9" ]; + }; + +} diff --git a/pkgs/development/coq-modules/interval/default.nix b/pkgs/development/coq-modules/interval/default.nix index 0b97358d863..73a0a07f704 100644 --- a/pkgs/development/coq-modules/interval/default.nix +++ b/pkgs/development/coq-modules/interval/default.nix @@ -3,9 +3,9 @@ let params = if stdenv.lib.versionAtLeast coq.coq-version "8.7" then { - version = "3.4.0"; - uid = "37524"; - sha256 = "023j9sd64brqvjdidqkn5m8d7a93zd9r86ggh573z9nkjm2m7vvg"; + version = "3.4.1"; + uid = "38104"; + sha256 = "1zklv2w34k866fpwmw8q692mid5n6s75d2mmhhigrzpx5l3d4z6y"; } else { version = "3.3.0"; uid = "37077"; @@ -23,7 +23,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ which ]; buildInputs = [ coq ]; - propagatedBuildInputs = [ bignums coquelicot flocq mathcomp ]; + propagatedBuildInputs = [ bignums coquelicot flocq ]; configurePhase = "./configure --libdir=$out/lib/coq/${coq.coq-version}/user-contrib/Interval"; buildPhase = "./remake"; @@ -38,7 +38,7 @@ stdenv.mkDerivation { }; passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" ]; + compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" "8.10" ]; }; diff --git a/pkgs/development/coq-modules/ltac2/default.nix b/pkgs/development/coq-modules/ltac2/default.nix new file mode 100644 index 00000000000..30917fcb78f --- /dev/null +++ b/pkgs/development/coq-modules/ltac2/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub, which, coq }: + +let params = { + "8.7" = { + version = "0.1"; + rev = "v0.1-8.7"; + sha256 = "0l6wiwi4cvd0i324fb29i9mdh0ijlxzggw4mrjjy695l2qdnlgg0"; + }; + "8.8" = { + version = "0.1"; + rev = "0.1"; + sha256 = "1zz26cyv99whj7rrpgnhhm9dfqnpmrx5pqizn8ihf8jkq8d4drz7"; + }; + "8.9" = { + version = "0.1"; + rev = "a69551a49543b22a7d4e6a2484356b56bd05068e"; + sha256 = "0xby1kb26r9gcvk5511wqj05fqm9paynwfxlfqkmwkgnfmzk0x73"; + }; +}; + param = params."${coq.coq-version}"; +in + +stdenv.mkDerivation rec { + inherit (param) version; + name = "coq${coq.coq-version}-ltac2-${version}"; + + src = fetchFromGitHub { + owner = "coq"; + repo = "ltac2"; + inherit (param) rev sha256; + }; + + nativeBuildInputs = [ which ]; + buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 ]); + + installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; + + meta = { + description = "A robust and expressive tactic language for Coq"; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + license = stdenv.lib.licenses.lgpl21; + inherit (coq.meta) platforms; + inherit (src.meta) homepage; + }; + + passthru = { + compatibleCoqVersions = stdenv.lib.flip builtins.hasAttr params; + }; +} diff --git a/pkgs/development/coq-modules/math-classes/default.nix b/pkgs/development/coq-modules/math-classes/default.nix index 364366ced49..82802b8f30e 100644 --- a/pkgs/development/coq-modules/math-classes/default.nix +++ b/pkgs/development/coq-modules/math-classes/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "coq${coq.coq-version}-math-classes-${version}"; - version = "8.8.1"; + version = "8.9.1"; src = fetchFromGitHub { owner = "coq-community"; repo = "math-classes"; rev = version; - sha256 = "05vlrrwnlfhd7l3xwn4zwpnkwvziw84zpd9775c6ffb83z48ri1r"; + sha256 = "1lw89js07m1wcaycpnyd85sf0snil2rrsfmry9lna2x66ah1mzn5"; }; buildInputs = [ coq bignums ]; @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { }; passthru = { - compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6"; + compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" "8.10" ]; }; } diff --git a/pkgs/development/coq-modules/mathcomp-analysis/default.nix b/pkgs/development/coq-modules/mathcomp-analysis/default.nix deleted file mode 100644 index 8ff9cc5b830..00000000000 --- a/pkgs/development/coq-modules/mathcomp-analysis/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchFromGitHub, coq, mathcomp-bigenough, mathcomp-finmap }: - -stdenv.mkDerivation rec { - version = "0.1.0"; - name = "coq${coq.coq-version}-mathcomp-analysis-${version}"; - - src = fetchFromGitHub { - owner = "math-comp"; - repo = "analysis"; - rev = version; - sha256 = "0hwkr2wzy710pcyh274fcarzdx8sv8myp16pv0vq5978nmih46al"; - }; - - buildInputs = [ coq ]; - propagatedBuildInputs = [ mathcomp-bigenough mathcomp-finmap ]; - - installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; - - meta = { - description = "Analysis library compatible with Mathematical Components"; - inherit (src.meta) homepage; - inherit (coq.meta) platforms; - license = stdenv.lib.licenses.cecill-c; - maintainers = [ stdenv.lib.maintainers.vbgl ]; - }; - - passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.8" "8.9" ]; - }; -} diff --git a/pkgs/development/coq-modules/mathcomp-bigenough/default.nix b/pkgs/development/coq-modules/mathcomp-bigenough/default.nix deleted file mode 100644 index e1f58edc9cb..00000000000 --- a/pkgs/development/coq-modules/mathcomp-bigenough/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, fetchFromGitHub, coq, mathcomp }: - -stdenv.mkDerivation rec { - version = "1.0.0"; - name = "coq${coq.coq-version}-mathcomp-bigenough-${version}"; - - src = fetchFromGitHub { - owner = "math-comp"; - repo = "bigenough"; - rev = version; - sha256 = "10g0gp3hk7wri7lijkrqna263346wwf6a3hbd4qr9gn8hmsx70wg"; - }; - - buildInputs = [ coq ]; - propagatedBuildInputs = [ mathcomp ]; - - installFlags = "-f Makefile.coq COQLIB=$(out)/lib/coq/${coq.coq-version}/"; - - meta = { - description = "A small library to do epsilon - N reasonning"; - inherit (src.meta) homepage; - inherit (mathcomp.meta) platforms license; - maintainers = [ stdenv.lib.maintainers.vbgl ]; - }; - - passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" ]; - }; -} diff --git a/pkgs/development/coq-modules/mathcomp-finmap/default.nix b/pkgs/development/coq-modules/mathcomp-finmap/default.nix deleted file mode 100644 index 18584d28c68..00000000000 --- a/pkgs/development/coq-modules/mathcomp-finmap/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, fetchFromGitHub, coq, mathcomp }: - -stdenv.mkDerivation rec { - version = "1.1.0"; - name = "coq${coq.coq-version}-mathcomp-finmap-${version}"; - - src = fetchFromGitHub { - owner = "math-comp"; - repo = "finmap"; - rev = version; - sha256 = "05df59v3na8jhpsfp7hq3niam6asgcaipg2wngnzxzqnl86srp2a"; - }; - - buildInputs = [ coq ]; - propagatedBuildInputs = [ mathcomp ]; - - installFlags = "-f Makefile.coq COQLIB=$(out)/lib/coq/${coq.coq-version}/"; - - meta = { - description = "A finset and finmap library"; - inherit (src.meta) homepage; - inherit (mathcomp.meta) platforms license; - maintainers = [ stdenv.lib.maintainers.vbgl ]; - }; - - passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ]; - }; -} diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix index 1e5b6b7bf66..d573eca809a 100644 --- a/pkgs/development/coq-modules/mathcomp/default.nix +++ b/pkgs/development/coq-modules/mathcomp/default.nix @@ -1,65 +1,168 @@ -{ stdenv, fetchFromGitHub, coq, ncurses, which -, graphviz, withDoc ? false +{ stdenv, fetchFromGitHub, ncurses, which, graphviz, coq, + recurseIntoAttrs, withDoc ? false }: - -let param = - - if stdenv.lib.versionAtLeast coq.coq-version "8.6" then - { - version = "1.7.0"; - sha256 = "0wnhj9nqpx2bw6n1l4i8jgrw3pjajvckvj3lr4vzjb3my2lbxdd1"; - } - else if stdenv.lib.versionAtLeast coq.coq-version "8.5" then - { - version = "1.6.1"; - sha256 = "1ilw6vm4dlsdv9cd7kmf0vfrh2kkzr45wrqr8m37miy0byzr4p9i"; - } - else throw "No version of math-comp is available for Coq ${coq.coq-version}"; - -in - -stdenv.mkDerivation rec { - name = "coq${coq.coq-version}-mathcomp-${version}"; - - # used in ssreflect - inherit (param) version; - - src = fetchFromGitHub { - owner = "math-comp"; - repo = "math-comp"; - rev = "mathcomp-${param.version}"; - inherit (param) sha256; +with builtins // stdenv.lib; +let + #################################### + # CONFIGURATION (please edit this) # + #################################### + # sha256 of released mathcomp versions + mathcomp-sha256 = { + "1.9.0" = "0lid9zaazdi3d38l8042lczb02pw5m9wq0yysiilx891hgq2p81r"; + "1.8.0" = "07l40is389ih8bi525gpqs3qp4yb2kl11r9c8ynk1ifpjzpnabwp"; + "1.7.0" = "0wnhj9nqpx2bw6n1l4i8jgrw3pjajvckvj3lr4vzjb3my2lbxdd1"; + "1.6.1" = "1ilw6vm4dlsdv9cd7kmf0vfrh2kkzr45wrqr8m37miy0byzr4p9i"; }; - - nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ]; - buildInputs = [ coq ncurses which ] ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 ]); - - enableParallelBuilding = true; - - buildFlags = stdenv.lib.optionalString withDoc "doc"; - - COQBIN = "${coq}/bin/"; - - preBuild = '' - patchShebangs etc/utils/ssrcoqdep || true - cd mathcomp - ''; - - installPhase = '' - make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install - '' + stdenv.lib.optionalString withDoc '' - make -f Makefile.coq install-doc DOCDIR=$out/share/coq/${coq.coq-version}/ - ''; - - meta = with stdenv.lib; { - homepage = http://ssr.msr-inria.inria.fr/; - license = licenses.cecill-b; - maintainers = [ maintainers.vbgl maintainers.jwiegley ]; - platforms = coq.meta.platforms; + # versions of coq compatible with released mathcomp versions + mathcomp-coq-versions = { + "1.9.0" = flip elem ["8.7" "8.8" "8.9" "8.10"]; + "1.8.0" = flip elem ["8.7" "8.8" "8.9"]; + "1.7.0" = flip elem ["8.6" "8.7" "8.8" "8.9"]; + "1.6.1" = flip elem ["8.5"]; }; + # computes the default version of mathcomp given a version of Coq + max-mathcomp-version = last (naturalSort (attrNames mathcomp-coq-versions)); + # mathcomp prefered version by decreasing order + # (the first version in the list will be tried first) + mathcomp-version-preference = [ "1.8.0" "1.9.0" "1.7.0" "1.6.1" ]; - passthru = { - compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.5"; - }; + ############################################################## + # COMPUTED using the configuration above (edit with caution) # + ############################################################## + default-mathcomp-version = let v = head ( + filter (mc: mathcomp-coq-versions."${mc}" coq.coq-version) + mathcomp-version-preference ++ ["0.0.0"]); + in if v == "0.0.0" then max-mathcomp-version else v; -} + # list of core mathcomp packages sorted by dependency order + mathcomp-packages = + [ "ssreflect" "fingroup" "algebra" "solvable" "field" "character" "all" ]; + # compute the dependencies of the core package pkg + # (assuming the total ordering above, rewrite if necessary) + mathcomp-deps = pkg: if pkg == "single" then [] else + (split (x: x == pkg) mathcomp-packages).left; + + # generic split function (TODO: move to lib?) + split = pred: l: + let loop = v: l: if l == [] then {left = v; right = [];} + else let hd = builtins.head l; tl = builtins.tail l; in + if pred hd then {left = v; right = tl;} else loop (v ++ [hd]) tl; + in loop [] l; + + # exported, documented at the end. + mathcompGen = mkMathcompGenFrom (_: {}) mathcomp-packages; + + # exported, documented at the end. + mathcompGenSingle = mkMathcompGen (_: {}) "single"; + + # mkMathcompGen: internal mathcomp package generator + # returns {error = ...} if impossible to generate + # returns {${mathcomp-pkg} = } otherwise + mkMathcompGenFrom = o: l: mcv: fold (pkg: pkgs: pkgs // mkMathcompGen o pkg mcv) {} l; + mkMathcompGen = overrides: mathcomp-pkg: mathcomp-version: + let + coq-version-check = mathcomp-coq-versions.${mathcomp-version} or (_: false); + pkgpath = {single = "mathcomp";}.${mathcomp-pkg} or "mathcomp/${mathcomp-pkg}"; + pkgname = {single = "mathcomp";}.${mathcomp-pkg} or "mathcomp-${mathcomp-pkg}"; + pkgallMake = '' + echo "all.v" > Make + echo "-I ." >> Make + echo "-R . mathcomp.all" >> Make + ''; + is-released = builtins.isString mathcomp-version; + custom-version = if is-released then mathcomp-version else "custom"; + + # the base set of attributes for mathcomp + attrs = rec { + name = "coq${coq.coq-version}-${pkgname}-${custom-version}"; + + # used in ssreflect + version = custom-version; + + src = if is-released then fetchFromGitHub { + owner = "math-comp"; + repo = "math-comp"; + rev = "mathcomp-${mathcomp-version}"; + sha256 = mathcomp-sha256.${mathcomp-version}; + } else mathcomp-version; + + nativeBuildInputs = optionals withDoc [ graphviz ]; + buildInputs = [ ncurses which ] ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 ]); + propagatedBuildInputs = [ coq ] ++ + attrValues (mkMathcompGenFrom overrides (mathcomp-deps mathcomp-pkg) mathcomp-version); + enableParallelBuilding = true; + + buildFlags = optionalString withDoc "doc"; + + COQBIN = "${coq}/bin/"; + + preBuild = '' + patchShebangs etc/utils/ssrcoqdep || true + cd ${pkgpath} + '' + optionalString (mathcomp-pkg == "all") pkgallMake; + + installPhase = '' + make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install + '' + optionalString withDoc '' + make -f Makefile.coq install-doc DOCDIR=$out/share/coq/${coq.coq-version}/ + ''; + + meta = with stdenv.lib; { + homepage = http://ssr.msr-inria.inria.fr/; + license = licenses.cecill-b; + maintainers = [ maintainers.vbgl maintainers.jwiegley ]; + platforms = coq.meta.platforms; + }; + + passthru = { + compatibleCoqVersions = coq-version-check; + currentOverrides = overrides; + overrideMathcomp = moreOverrides: + (mkMathcompGen (old: let new = overrides old; in new // moreOverrides new) + mathcomp-pkg mathcomp-version).${mathcomp-pkg}; + mathcompGen = moreOverrides: + (mkMathcompGenFrom (old: let new = overrides old; in new // moreOverrides new) + mathcomp-packages mathcomp-version); + }; + }; + in + {"${mathcomp-pkg}" = stdenv.mkDerivation (attrs // overrides attrs);}; + +getAttrOr = a: n: a."${n}" or (throw a.error); + +mathcompCorePkgs_1_7 = mathcompGen "1.7.0"; +mathcompCorePkgs_1_8 = mathcompGen "1.8.0"; +mathcompCorePkgs_1_9 = mathcompGen "1.9.0"; +mathcompCorePkgs = recurseIntoAttrs + (mapDerivationAttrset dontDistribute (mathcompGen default-mathcomp-version)); + +in rec { +# mathcompGenSingle: given a version of mathcomp +# generates an attribute set {single = ;} with the single mathcomp derivation +inherit mathcompGenSingle; +mathcomp_1_7_single = getAttrOr (mathcompGenSingle "1.7.0") "single"; +mathcomp_1_8_single = getAttrOr (mathcompGenSingle "1.8.0") "single"; +mathcomp_1_9_single = getAttrOr (mathcompGenSingle "1.9.0") "single"; +mathcomp_single = dontDistribute + (getAttrOr (mathcompGenSingle default-mathcomp-version) "single"); + +# mathcompGen: given a version of mathcomp +# generates an attribute set {ssreflect = ; ... character = ; all = ;}. +# each of these have a special attribute overrideMathcomp which +# must be used instead of overrideAttrs in order to also fix the dependencies +inherit mathcompGen mathcompCorePkgs + mathcompCorePkgs_1_7 mathcompCorePkgs_1_8 mathcompCorePkgs_1_9; + + +mathcomp = getAttrOr mathcompCorePkgs "all"; +mathcomp_1_7 = getAttrOr mathcompCorePkgs_1_7 "all"; +mathcomp_1_8 = getAttrOr mathcompCorePkgs_1_8 "all"; +mathcomp_1_9 = getAttrOr mathcompCorePkgs_1_9 "all"; + +ssreflect = getAttrOr mathcompCorePkgs "ssreflect"; + +} // +(mapAttrs' (n: pkg: {name = "mathcomp-${n}"; value = pkg;}) mathcompCorePkgs) // +(mapAttrs' (n: pkg: {name = "mathcomp-${n}_1_7"; value = pkg;}) mathcompCorePkgs_1_7) // +(mapAttrs' (n: pkg: {name = "mathcomp-${n}_1_8"; value = pkg;}) mathcompCorePkgs_1_8) // +(mapAttrs' (n: pkg: {name = "mathcomp-${n}_1_9"; value = pkg;}) mathcompCorePkgs_1_9) diff --git a/pkgs/development/coq-modules/mathcomp/extra.nix b/pkgs/development/coq-modules/mathcomp/extra.nix new file mode 100644 index 00000000000..0d9557623c3 --- /dev/null +++ b/pkgs/development/coq-modules/mathcomp/extra.nix @@ -0,0 +1,202 @@ +{ stdenv, fetchFromGitHub, coq, ssreflect, coqPackages, + recurseIntoAttrs }: +with builtins // stdenv.lib; +let current-ssreflect = ssreflect; in +let +# configuring packages +param = { + finmap = { + version-sha256 = { + "1.2.1" = "0jryb5dq8js3imbmwrxignlk5zh8gwfb1wr4b1s7jbwz410vp7zf"; + "1.2.0" = "0b6wrdr0d7rcnv86s37zm80540jl2wmiyf39ih7mw3dlwli2cyj4"; + "1.1.0" = "05df59v3na8jhpsfp7hq3niam6asgcaipg2wngnzxzqnl86srp2a"; + "1.0.0" = "0sah7k9qm8sw17cgd02f0x84hki8vj8kdz7h15i7rmz08rj0whpa"; + }; + description = "A finset and finmap library"; + }; + bigenough = { + version-sha256 = {"1.0.0" = "10g0gp3hk7wri7lijkrqna263346wwf6a3hbd4qr9gn8hmsx70wg";}; + description = "A small library to do epsilon - N reasonning"; + }; + multinomials = { + version-sha256 = { + "1.3" = "0l3vi5n094nx3qmy66hsv867fnqm196r8v605kpk24gl0aa57wh4"; + "1.2" = "1mh1w339dslgv4f810xr1b8v2w7rpx6fgk9pz96q0fyq49fw2xcq"; + "1.1" = "1q8alsm89wkc0lhcvxlyn0pd8rbl2nnxg81zyrabpz610qqjqc3s"; + "1.0" = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m"; + }; + description = "A Coq/SSReflect Library for Monoidal Rings and Multinomials"; + }; + analysis = { + version-sha256 = { + "0.2.2" = "1d5dwg9di2ppdzfg21zr0a691zigb5kz0lcw263jpyli1nrq7cvk"; + "0.2.0" = "1186xjxgns4ns1szyi931964bjm0mp126qzlv10mkqqgfw07nhrd"; + "0.1.0" = "0hwkr2wzy710pcyh274fcarzdx8sv8myp16pv0vq5978nmih46al"; + }; + compatibleCoqVersions = flip elem ["8.8" "8.9"]; + description = "Analysis library compatible with Mathematical Components"; + license = stdenv.lib.licenses.cecill-c; + }; + real-closed = { + version-sha256 = { + "1.0.3" = "1xbzkzqgw5p42dx1liy6wy8lzdk39zwd6j14fwvv5735k660z7yb"; + "1.0.2" = "0097pafwlmzd0gyfs31bxpi1ih04i72nxhn99r93aj20mn7mcsgl"; + "1.0.1" = "0j81gkjbza5vg89v4n9z598mfdbql416963rj4b8fzm7dp2r4rxg"; + }; + description = "Mathematical Components Library on real closed fields"; + }; + coqeal = { + version-sha256 = { + "1.0.0" = "1had6f1n85lmh9x31avbmgl3m0rsiw9f8ma95qzk5b57fjg5k1ii"; + }; + description = "CoqEAL - The Coq Effective Algebra Library"; + owner = "CoqEAL"; + compatibleCoqVersions = flip elem ["8.7" "8.8" "8.9"]; + license = stdenv.lib.licenses.mit; + }; +}; +versions = { + "1.9.0" = { + finmap.version = "1.2.1"; + bigenough.version = "1.0.0"; + analysis = { + version = "0.2.2"; + core-deps = with coqPackages; [ mathcomp-field_1_9 ]; + extra-deps = with coqPackages; [ mathcomp_1_9-finmap mathcomp_1_9-bigenough ]; + }; + multinomials = { + version = "1.3"; + core-deps = with coqPackages; [ mathcomp-algebra_1_9 ]; + extra-deps = with coqPackages; [ mathcomp_1_9-finmap mathcomp_1_9-bigenough ]; + }; + real-closed = { + version = "1.0.3"; + core-deps = with coqPackages; [ mathcomp-field_1_9 ]; + extra-deps = with coqPackages; [ mathcomp_1_9-bigenough ]; + }; + }; + "1.8.0" = { + finmap.version = "1.2.1"; + bigenough.version = "1.0.0"; + analysis = { + version = "0.2.2"; + core-deps = with coqPackages; [ mathcomp-field_1_8 ]; + extra-deps = with coqPackages; [ mathcomp_1_8-finmap mathcomp_1_8-bigenough ]; + }; + multinomials = { + version = "1.3"; + core-deps = with coqPackages; [ mathcomp-algebra_1_8 ]; + extra-deps = with coqPackages; [ mathcomp_1_8-finmap mathcomp_1_8-bigenough ]; + }; + real-closed = { + version = "1.0.3"; + core-deps = with coqPackages; [ mathcomp-field_1_8 ]; + extra-deps = with coqPackages; [ mathcomp_1_8-bigenough ]; + }; + coqeal = { + version = "1.0.0"; + core-deps = with coqPackages; [ mathcomp-algebra_1_8 ]; + extra-deps = with coqPackages; [ bignums paramcoq mathcomp_1_8-multinomials ]; + }; + }; + "1.7.0" = { + finmap.version = "1.1.0"; + bigenough.version = "1.0.0"; + analysis = { + version = "0.1.0"; + core-deps = with coqPackages; [ mathcomp-field_1_7 ]; + extra-deps = with coqPackages; [ mathcomp_1_7-finmap mathcomp_1_7-bigenough ]; + }; + multinomials = { + version = "1.1"; + core-deps = with coqPackages; [ mathcomp-algebra_1_7 ]; + extra-deps = with coqPackages; [ mathcomp_1_7-finmap_1_0 mathcomp_1_7-bigenough ]; + }; + real-closed = { + version = "1.0.1"; + core-deps = with coqPackages; [ mathcomp-field_1_7 ]; + extra-deps = with coqPackages; [ mathcomp_1_7-bigenough ]; + }; + }; +}; + +# generic package generator +packageGen = { + # optional arguments + src ? "", + owner ? "math-comp", + extra-deps ? [], + ssreflect ? current-ssreflect, + core-deps ? null, + compatibleCoqVersions ? null, + license ? ssreflect.meta.license, + # mandatory + package, version ? "broken", version-sha256, description + }: + let + theCompatibleCoqVersions = if compatibleCoqVersions == null + then ssreflect.compatibleCoqVersions + else compatibleCoqVersions; + mc-core-deps = if builtins.isNull core-deps then [ssreflect] else core-deps; + in + { "${package}" = let from = src; in + + stdenv.mkDerivation rec { + inherit version; + name = "coq${coq.coq-version}-mathcomp${ssreflect.version}-${package}-${version}"; + + src = if from == "" then fetchFromGitHub { + owner = owner; + repo = package; + rev = version; + sha256 = version-sha256."${version}"; + } else from; + + propagatedBuildInputs = [ coq ] ++ mc-core-deps ++ extra-deps; + + installFlags = "-f Makefile.coq COQLIB=$(out)/lib/coq/${coq.coq-version}/"; + + meta = { + inherit description; + inherit license; + inherit (src.meta) homepage; + inherit (ssreflect.meta) platforms; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + broken = (version == "broken"); + }; + + passthru = { + inherit version-sha256; + compatibleCoqVersions = if meta.broken then _: false + else theCompatibleCoqVersions; + }; + }; + }; + +current-versions = versions."${current-ssreflect.version}" or {}; + +select = x: mapAttrs (n: pkg: {package = n;} // pkg) (recursiveUpdate param x); + +for-version = v: suffix: (mapAttrs' (n: pkg: + {name = "mathcomp_${suffix}-${n}"; + value = (packageGen ({ + ssreflect = coqPackages."mathcomp-ssreflect_${suffix}"; + } // pkg))."${n}";}) + (select versions."${v}")); + +all = (for-version "1.7.0" "1_7") // + (for-version "1.8.0" "1_8") // + (for-version "1.9.0" "1_9") // + (recurseIntoAttrs (mapDerivationAttrset dontDistribute ( + mapAttrs' (n: pkg: {name = "mathcomp-${n}"; value = (packageGen pkg)."${n}";}) + (select current-versions)))); +in +{ +mathcompExtraGen = packageGen; +mathcomp_1_7-finmap_1_0 = + (packageGen (select {finmap = {version = "1.0.0"; + ssreflect = coqPackages.mathcomp-ssreflect_1_7;}; + }).finmap).finmap; +multinomials = all.mathcomp-multinomials; +coqeal = all.mathcomp-coqeal; +} // all diff --git a/pkgs/development/coq-modules/multinomials/default.nix b/pkgs/development/coq-modules/multinomials/default.nix deleted file mode 100644 index aa22c96256f..00000000000 --- a/pkgs/development/coq-modules/multinomials/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ stdenv, fetchFromGitHub, coq, mathcomp }: - -stdenv.mkDerivation rec { - name = "coq${coq.coq-version}-multinomials-${version}"; - version = "1.0"; - src = fetchFromGitHub { - owner = "math-comp"; - repo = "multinomials"; - rev = version; - sha256 = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m"; - }; - - buildInputs = [ coq ]; - propagatedBuildInputs = [ mathcomp ]; - - installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; - - meta = { - description = "A Coq/SSReflect Library for Monoidal Rings and Multinomials"; - inherit (src.meta) homepage; - license = stdenv.lib.licenses.cecill-b; - inherit (coq.meta) platforms; - }; - - passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ]; - }; -} diff --git a/pkgs/development/coq-modules/simple-io/default.nix b/pkgs/development/coq-modules/simple-io/default.nix index b945e7c9a86..e74b158d33a 100644 --- a/pkgs/development/coq-modules/simple-io/default.nix +++ b/pkgs/development/coq-modules/simple-io/default.nix @@ -1,18 +1,20 @@ -{ stdenv, fetchFromGitHub, coq }: +{ stdenv, fetchFromGitHub, coq, coq-ext-lib }: stdenv.mkDerivation rec { - version = "0.2"; + version = "1.2.0"; name = "coq${coq.coq-version}-simple-io-${version}"; src = fetchFromGitHub { owner = "Lysxia"; repo = "coq-simple-io"; rev = version; - sha256 = "1sbcf57gn134risiicpbxsf4kbzdq7klfn4vn8525kahlr82l65f"; + sha256 = "1im1vwp7l7ha8swnhgbih0qjg187n8yx14i003nf6yy7p0ryxc9m"; }; buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ ocaml ocamlbuild ]); - doCheck = !stdenv.lib.versionAtLeast coq.coq-version "8.9"; + propagatedBuildInputs = [ coq-ext-lib ]; + + doCheck = true; checkTarget = "test"; installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; @@ -26,7 +28,7 @@ stdenv.mkDerivation rec { }; passthru = { - compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6"; + compatibleCoqVersions = v: builtins.elem v [ "8.7" "8.8" "8.9" ]; }; } diff --git a/pkgs/development/coq-modules/ssreflect/default.nix b/pkgs/development/coq-modules/ssreflect/default.nix index 1fcb7e2da8a..01df38375ef 100644 --- a/pkgs/development/coq-modules/ssreflect/default.nix +++ b/pkgs/development/coq-modules/ssreflect/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, coq, ncurses, which +{ stdenv, coq, ncurses, which , graphviz, mathcomp, withDoc ? false }: diff --git a/pkgs/development/coq-modules/tlc/default.nix b/pkgs/development/coq-modules/tlc/default.nix index 5a236f59129..fb966f762bc 100644 --- a/pkgs/development/coq-modules/tlc/default.nix +++ b/pkgs/development/coq-modules/tlc/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, coq }: stdenv.mkDerivation rec { - version = "20180316"; + version = "20181116"; name = "coq${coq.coq-version}-tlc-${version}"; src = fetchurl { url = "http://tlc.gforge.inria.fr/releases/tlc-${version}.tar.gz"; - sha256 = "0y8h0x9dfn9dm60j1jkxr9i8lbfqd3ff626wrc9v49qxhi50szqq"; + sha256 = "0iv6f6zmrv2lhq3xq57ipmw856ahsql754776ymv5wjm88ld63nm"; }; buildInputs = [ coq ]; diff --git a/pkgs/development/dotnet-modules/patches/newtonsoft-json.references.patch b/pkgs/development/dotnet-modules/patches/newtonsoft-json.references.patch deleted file mode 100644 index ed9b7adbef2..00000000000 --- a/pkgs/development/dotnet-modules/patches/newtonsoft-json.references.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- Newtonsoft.Json-6.0.8/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.csproj.old 2015-01-11 06:46:39.000000000 +0000 -+++ Newtonsoft.Json-6.0.8/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.csproj 2015-05-25 21:29:40.546808622 +0100 -@@ -52,6 +52,8 @@ - - - -+ -+ - - - diff --git a/pkgs/development/em-modules/generic/default.nix b/pkgs/development/em-modules/generic/default.nix index f03e6e42739..d1e7ac882d7 100644 --- a/pkgs/development/em-modules/generic/default.nix +++ b/pkgs/development/em-modules/generic/default.nix @@ -7,10 +7,11 @@ , meta ? {}, ... } @ args: pkgs.stdenv.mkDerivation ( - args // + args // { - name = "emscripten-${args.name}"; + pname = "emscripten-${args.pname or (builtins.parseDrvName args.name).name}"; + version = args.version or (builtins.parseDrvName args.name).version; buildInputs = [ emscripten python ] ++ buildInputs; nativeBuildInputs = [ emscripten python ] ++ nativeBuildInputs; diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix index eb45f446dc9..55fda78b03e 100644 --- a/pkgs/development/go-modules/generic/default.nix +++ b/pkgs/development/go-modules/generic/default.nix @@ -1,11 +1,17 @@ -{ go, govers, lib, fetchgit, fetchhg, fetchbzr, rsync -, removeReferencesTo, fetchFromGitHub, stdenv }: +{ go, cacert, git, lib, removeReferencesTo, stdenv }: -{ buildInputs ? [] +{ name ? "${args'.pname}-${args'.version}" +, src +, buildInputs ? [] , nativeBuildInputs ? [] , passthru ? {} -, preFixup ? "" -, shellHook ? "" +, patches ? [] + +# A function to override the go-modules derivation +, overrideModAttrs ? (_oldAttrs : {}) + +# modSha256 is the sha256 of the vendored dependencies +, modSha256 # We want parallel builds by default , enableParallelBuilding ? true @@ -13,121 +19,97 @@ # Disabled flag , disabled ? false -# Go import path of the package -, goPackagePath - -# Go package aliases -, goPackageAliases ? [ ] - -# Extra sources to include in the gopath -, extraSrcs ? [ ] - -# Extra gopaths containing src subfolder -# with sources to include in the gopath -, extraSrcPaths ? [ ] - -# go2nix dependency file -, goDeps ? null - -, dontRenameImports ? false - # Do not enable this without good reason # IE: programs coupled with the compiler , allowGoReference ? false -, meta ? {}, ... } @ args': +, meta ? {} +, ... }@args': with builtins; let - args = lib.filterAttrs (name: _: name != "extraSrcs") args'; + args = removeAttrs args' [ "overrideModAttrs" "modSha256" "disabled" ]; removeReferences = [ ] ++ lib.optional (!allowGoReference) go; removeExpr = refs: ''remove-references-to ${lib.concatMapStrings (ref: " -t ${ref}") refs}''; - dep2src = goDep: - { - inherit (goDep) goPackagePath; - src = if goDep.fetch.type == "git" then - fetchgit { - inherit (goDep.fetch) url rev sha256; - } - else if goDep.fetch.type == "hg" then - fetchhg { - inherit (goDep.fetch) url rev sha256; - } - else if goDep.fetch.type == "bzr" then - fetchbzr { - inherit (goDep.fetch) url rev sha256; - } - else if goDep.fetch.type == "FromGitHub" then - fetchFromGitHub { - inherit (goDep.fetch) owner repo rev sha256; - } - else abort "Unrecognized package fetch type: ${goDep.fetch.type}"; - }; + go-modules = go.stdenv.mkDerivation (let modArgs = { + name = "${name}-go-modules"; - importGodeps = { depsFile }: - map dep2src (import depsFile); - - goPath = if goDeps != null then importGodeps { depsFile = goDeps; } ++ extraSrcs - else extraSrcs; - package = go.stdenv.mkDerivation ( - (builtins.removeAttrs args [ "goPackageAliases" "disabled" ]) // { - - nativeBuildInputs = [ removeReferencesTo go ] - ++ (lib.optional (!dontRenameImports) govers) ++ nativeBuildInputs; - buildInputs = buildInputs; + nativeBuildInputs = [ go git cacert ]; + inherit (args) src; inherit (go) GOOS GOARCH; - configurePhase = args.configurePhase or '' + patches = args.patches or []; + + GO111MODULE = "on"; + + impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [ + "GIT_PROXY_COMMAND" "SOCKS_SERVER" + ]; + + configurePhase = args.modConfigurePhase or '' runHook preConfigure - # Extract the source - cd "$NIX_BUILD_TOP" - mkdir -p "go/src/$(dirname "$goPackagePath")" - mv "$sourceRoot" "go/src/$goPackagePath" - - '' + lib.flip lib.concatMapStrings goPath ({ src, goPackagePath }: '' - mkdir goPath - (cd goPath; unpackFile "${src}") - mkdir -p "go/src/$(dirname "${goPackagePath}")" - chmod -R u+w goPath/* - mv goPath/* "go/src/${goPackagePath}" - rmdir goPath - - '') + (lib.optionalString (extraSrcPaths != []) '' - ${rsync}/bin/rsync -a ${lib.concatMapStringsSep " " (p: "${p}/src") extraSrcPaths} go - - '') + '' - export GOPATH=$NIX_BUILD_TOP/go:$GOPATH export GOCACHE=$TMPDIR/go-cache + export GOPATH="$TMPDIR/go" + mkdir -p "''${GOPATH}/pkg/mod/cache/download" runHook postConfigure ''; - renameImports = args.renameImports or ( - let - inputsWithAliases = lib.filter (x: x ? goPackageAliases) - (buildInputs ++ (args.propagatedBuildInputs or [ ])); - rename = to: from: "echo Renaming '${from}' to '${to}'; govers -d -m ${from} ${to}"; - renames = p: lib.concatMapStringsSep "\n" (rename p.goPackagePath) p.goPackageAliases; - in lib.concatMapStringsSep "\n" renames inputsWithAliases); + buildPhase = args.modBuildPhase or '' + runHook preBuild + + go mod download + + runHook postBuild + ''; + + installPhase = args.modInstallPhase or '' + runHook preInstall + + cp -r "''${GOPATH}/pkg/mod/cache/download" $out + + runHook postInstall + ''; + + dontFixup = true; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = modSha256; + }; in modArgs // overrideModAttrs modArgs); + + package = go.stdenv.mkDerivation (args // { + nativeBuildInputs = [ removeReferencesTo go ] ++ nativeBuildInputs; + + inherit (go) GOOS GOARCH; + + GO111MODULE = "on"; + + configurePhase = args.configurePhase or '' + runHook preConfigure + + export GOCACHE=$TMPDIR/go-cache + export GOPATH="$TMPDIR/go" + export GOPROXY=file://${go-modules} + + runHook postConfigure + ''; buildPhase = args.buildPhase or '' runHook preBuild - runHook renameImports - buildGoDir() { local d; local cmd; cmd="$1" d="$2" . $TMPDIR/buildFlagsArray - echo "$d" | grep -q "\(/_\|examples\|Godeps\)" && return 0 + echo "$d" | grep -q "\(/_\|examples\|Godeps\|testdata\)" && return 0 [ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && return 0 local OUT if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" -v -p $NIX_BUILD_CORES $d 2>&1)"; then @@ -146,11 +128,9 @@ let local type; type="$1" if [ -n "$subPackages" ]; then - echo "$subPackages" | sed "s,\(^\| \),\1$goPackagePath/,g" + echo "$subPackages" | sed "s,\(^\| \),\1./,g" else - pushd "$NIX_BUILD_TOP/go/src" >/dev/null - find "$goPackagePath" -type f -name \*$type.go -exec dirname {} \; | grep -v "/vendor/" | sort | uniq - popd >/dev/null + find . -type f -name \*$type.go -exec dirname {} \; | grep -v "/vendor/" | sort --unique fi } @@ -167,12 +147,13 @@ let export NIX_BUILD_CORES=1 fi for pkg in $(getGoDirs ""); do + echo "Building subPackage $pkg" buildGoDir install "$pkg" done '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' # normalize cross-compiled builds w.r.t. native builds ( - dir=$NIX_BUILD_TOP/go/bin/${go.GOOS}_${go.GOARCH} + dir=$GOPATH/bin/${go.GOOS}_${go.GOARCH} if [[ -n "$(shopt -s nullglob; echo $dir/*)" ]]; then mv $dir/* $dir/.. fi @@ -198,47 +179,28 @@ let installPhase = args.installPhase or '' runHook preInstall - mkdir -p $bin - dir="$NIX_BUILD_TOP/go/bin" - [ -e "$dir" ] && cp -r $dir $bin + mkdir -p $out + dir="$GOPATH/bin" + [ -e "$dir" ] && cp -r $dir $out runHook postInstall ''; - preFixup = preFixup + '' - find $bin/bin -type f -exec ${removeExpr removeReferences} '{}' + || true + preFixup = (args.preFixup or "") + '' + find $out/bin -type f -exec ${removeExpr removeReferences} '{}' + || true ''; - shellHook = '' - d=$(mktemp -d "--suffix=-$name") - '' + toString (map (dep: '' - mkdir -p "$d/src/$(dirname "${dep.goPackagePath}")" - ln -s "${dep.src}" "$d/src/${dep.goPackagePath}" - '' - ) goPath) + '' - export GOPATH=${lib.concatStringsSep ":" ( ["$d"] ++ ["$GOPATH"] ++ ["$PWD"] ++ extraSrcPaths)} - '' + shellHook; + disallowedReferences = lib.optional (!allowGoReference) go; - disallowedReferences = lib.optional (!allowGoReference) go - ++ lib.optional (!dontRenameImports) govers; - - passthru = passthru // - { inherit go; } // - lib.optionalAttrs (goPackageAliases != []) { inherit goPackageAliases; }; - - enableParallelBuilding = enableParallelBuilding; - - # I prefer to call this dev but propagatedBuildInputs expects $out to exist - outputs = args.outputs or [ "bin" "out" ]; + passthru = passthru // { inherit go go-modules; }; meta = { # Add default meta information - homepage = "https://${goPackagePath}"; platforms = go.meta.platforms or lib.platforms.all; } // meta // { # add an extra maintainer to every package maintainers = (meta.maintainers or []) ++ - [ lib.maintainers.ehmry lib.maintainers.lethalman ]; + [ lib.maintainers.kalbasit ]; }; }); in if disabled then diff --git a/pkgs/development/go-packages/generic/default.nix b/pkgs/development/go-packages/generic/default.nix new file mode 100644 index 00000000000..b3386aaf24b --- /dev/null +++ b/pkgs/development/go-packages/generic/default.nix @@ -0,0 +1,250 @@ +{ go, govers, lib, fetchgit, fetchhg, fetchbzr, rsync +, removeReferencesTo, fetchFromGitHub, stdenv }: + +{ buildInputs ? [] +, nativeBuildInputs ? [] +, passthru ? {} +, preFixup ? "" +, shellHook ? "" + +# We want parallel builds by default +, enableParallelBuilding ? true + +# Disabled flag +, disabled ? false + +# Go import path of the package +, goPackagePath + +# Go package aliases +, goPackageAliases ? [ ] + +# Extra sources to include in the gopath +, extraSrcs ? [ ] + +# Extra gopaths containing src subfolder +# with sources to include in the gopath +, extraSrcPaths ? [ ] + +# go2nix dependency file +, goDeps ? null + +, dontRenameImports ? false + +# Do not enable this without good reason +# IE: programs coupled with the compiler +, allowGoReference ? false + +, meta ? {}, ... } @ args: + + +with builtins; + +let + removeReferences = [ ] ++ lib.optional (!allowGoReference) go; + + removeExpr = refs: ''remove-references-to ${lib.concatMapStrings (ref: " -t ${ref}") refs}''; + + dep2src = goDep: + { + inherit (goDep) goPackagePath; + src = if goDep.fetch.type == "git" then + fetchgit { + inherit (goDep.fetch) url rev sha256; + } + else if goDep.fetch.type == "hg" then + fetchhg { + inherit (goDep.fetch) url rev sha256; + } + else if goDep.fetch.type == "bzr" then + fetchbzr { + inherit (goDep.fetch) url rev sha256; + } + else if goDep.fetch.type == "FromGitHub" then + fetchFromGitHub { + inherit (goDep.fetch) owner repo rev sha256; + } + else abort "Unrecognized package fetch type: ${goDep.fetch.type}"; + }; + + importGodeps = { depsFile }: + map dep2src (import depsFile); + + goPath = if goDeps != null then importGodeps { depsFile = goDeps; } ++ extraSrcs + else extraSrcs; + package = stdenv.mkDerivation ( + (builtins.removeAttrs args [ "goPackageAliases" "disabled" "extraSrcs"]) // { + + nativeBuildInputs = [ removeReferencesTo go ] + ++ (lib.optional (!dontRenameImports) govers) ++ nativeBuildInputs; + buildInputs = buildInputs; + + inherit (go) GOOS GOARCH GO386 CGO_ENABLED; + + GOHOSTARCH = go.GOHOSTARCH or null; + GOHOSTOS = go.GOHOSTOS or null; + + GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]); + + configurePhase = args.configurePhase or '' + runHook preConfigure + + # Extract the source + cd "$NIX_BUILD_TOP" + mkdir -p "go/src/$(dirname "$goPackagePath")" + mv "$sourceRoot" "go/src/$goPackagePath" + + '' + lib.flip lib.concatMapStrings goPath ({ src, goPackagePath }: '' + mkdir goPath + (cd goPath; unpackFile "${src}") + mkdir -p "go/src/$(dirname "${goPackagePath}")" + chmod -R u+w goPath/* + mv goPath/* "go/src/${goPackagePath}" + rmdir goPath + + '') + (lib.optionalString (extraSrcPaths != []) '' + ${rsync}/bin/rsync -a ${lib.concatMapStringsSep " " (p: "${p}/src") extraSrcPaths} go + + '') + '' + export GOPATH=$NIX_BUILD_TOP/go:$GOPATH + export GOCACHE=$TMPDIR/go-cache + + runHook postConfigure + ''; + + renameImports = args.renameImports or ( + let + inputsWithAliases = lib.filter (x: x ? goPackageAliases) + (buildInputs ++ (args.propagatedBuildInputs or [ ])); + rename = to: from: "echo Renaming '${from}' to '${to}'; govers -d -m ${from} ${to}"; + renames = p: lib.concatMapStringsSep "\n" (rename p.goPackagePath) p.goPackageAliases; + in lib.concatMapStringsSep "\n" renames inputsWithAliases); + + buildPhase = args.buildPhase or '' + runHook preBuild + + runHook renameImports + + buildGoDir() { + local d; local cmd; + cmd="$1" + d="$2" + . $TMPDIR/buildFlagsArray + echo "$d" | grep -q "\(/_\|examples\|Godeps\)" && return 0 + [ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && return 0 + local OUT + if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" -v -p $NIX_BUILD_CORES $d 2>&1)"; then + if ! echo "$OUT" | grep -qE '(no( buildable| non-test)?|build constraints exclude all) Go (source )?files'; then + echo "$OUT" >&2 + return 1 + fi + fi + if [ -n "$OUT" ]; then + echo "$OUT" >&2 + fi + return 0 + } + + getGoDirs() { + local type; + type="$1" + if [ -n "$subPackages" ]; then + echo "$subPackages" | sed "s,\(^\| \),\1$goPackagePath/,g" + else + pushd "$NIX_BUILD_TOP/go/src" >/dev/null + find "$goPackagePath" -type f -name \*$type.go -exec dirname {} \; | grep -v "/vendor/" | sort | uniq + popd >/dev/null + fi + } + + if (( "''${NIX_DEBUG:-0}" >= 1 )); then + buildFlagsArray+=(-x) + fi + + if [ ''${#buildFlagsArray[@]} -ne 0 ]; then + declare -p buildFlagsArray > $TMPDIR/buildFlagsArray + else + touch $TMPDIR/buildFlagsArray + fi + if [ -z "$enableParallelBuilding" ]; then + export NIX_BUILD_CORES=1 + fi + for pkg in $(getGoDirs ""); do + buildGoDir install "$pkg" + done + '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + # normalize cross-compiled builds w.r.t. native builds + ( + dir=$NIX_BUILD_TOP/go/bin/${go.GOOS}_${go.GOARCH} + if [[ -n "$(shopt -s nullglob; echo $dir/*)" ]]; then + mv $dir/* $dir/.. + fi + if [[ -d $dir ]]; then + rmdir $dir + fi + ) + '' + '' + runHook postBuild + ''; + + doCheck = args.doCheck or false; + checkPhase = args.checkPhase or '' + runHook preCheck + + for pkg in $(getGoDirs test); do + buildGoDir test "$pkg" + done + + runHook postCheck + ''; + + installPhase = args.installPhase or '' + runHook preInstall + + mkdir -p $bin + dir="$NIX_BUILD_TOP/go/bin" + [ -e "$dir" ] && cp -r $dir $bin + + runHook postInstall + ''; + + preFixup = preFixup + '' + find $bin/bin -type f -exec ${removeExpr removeReferences} '{}' + || true + ''; + + shellHook = '' + d=$(mktemp -d "--suffix=-$name") + '' + toString (map (dep: '' + mkdir -p "$d/src/$(dirname "${dep.goPackagePath}")" + ln -s "${dep.src}" "$d/src/${dep.goPackagePath}" + '' + ) goPath) + '' + export GOPATH=${lib.concatStringsSep ":" ( ["$d"] ++ ["$GOPATH"] ++ ["$PWD"] ++ extraSrcPaths)} + '' + shellHook; + + disallowedReferences = lib.optional (!allowGoReference) go + ++ lib.optional (!dontRenameImports) govers; + + passthru = passthru // + { inherit go; } // + lib.optionalAttrs (goPackageAliases != []) { inherit goPackageAliases; }; + + enableParallelBuilding = enableParallelBuilding; + + # I prefer to call this dev but propagatedBuildInputs expects $out to exist + outputs = args.outputs or [ "bin" "out" ]; + + meta = { + # Add default meta information + homepage = "https://${goPackagePath}"; + platforms = go.meta.platforms or lib.platforms.all; + } // meta // { + # add an extra maintainer to every package + maintainers = (meta.maintainers or []) ++ + [ lib.maintainers.ehmry lib.maintainers.lethalman ]; + }; + }); +in if disabled then + throw "${package.name} not supported for go ${go.meta.branch}" +else + package diff --git a/pkgs/development/go-packages/tools/setup-hook.sh b/pkgs/development/go-packages/tools/setup-hook.sh new file mode 100644 index 00000000000..e354e50c35a --- /dev/null +++ b/pkgs/development/go-packages/tools/setup-hook.sh @@ -0,0 +1 @@ +export GOTOOLDIR=@bin@/bin diff --git a/pkgs/development/guile-modules/guile-cairo/default.nix b/pkgs/development/guile-modules/guile-cairo/default.nix index 4bd49b06796..8377dad690f 100644 --- a/pkgs/development/guile-modules/guile-cairo/default.nix +++ b/pkgs/development/guile-modules/guile-cairo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, guile, guile-lib, cairo, expat }: stdenv.mkDerivation rec { - name = "guile-cairo-${version}"; + pname = "guile-cairo"; version = "1.10.0"; src = fetchurl { - url = "mirror://savannah/guile-cairo/${name}.tar.gz"; + url = "mirror://savannah/guile-cairo/${pname}-${version}.tar.gz"; sha256 = "0p6xrhf2k6n5dybn88050za7h90gnd7534n62l53vsca187pwgdf"; }; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { buildInputs = [ guile cairo expat ]; enableParallelBuilding = true; - doCheck = true; + doCheck = false; # Cannot find unit-test module from guile-lib checkInputs = [ guile-lib ]; meta = with stdenv.lib; { diff --git a/pkgs/development/guile-modules/guile-gnome/default.nix b/pkgs/development/guile-modules/guile-gnome/default.nix index 26fffac0a13..80ce29799a8 100644 --- a/pkgs/development/guile-modules/guile-gnome/default.nix +++ b/pkgs/development/guile-modules/guile-gnome/default.nix @@ -5,12 +5,11 @@ }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "guile-gnome-platform"; version = "2.16.4"; src = fetchurl { - url = "mirror://gnu/guile-gnome/${pname}/${name}.tar.gz"; + url = "mirror://gnu/guile-gnome/${pname}/${pname}-${version}.tar.gz"; sha256 = "adabd48ed5993d8528fd604e0aa0d96ad81a61d06da6cdd68323572ad6c216c3"; }; diff --git a/pkgs/development/guile-modules/guile-lib/default.nix b/pkgs/development/guile-modules/guile-lib/default.nix index c3aa8400791..cea464ad5d2 100644 --- a/pkgs/development/guile-modules/guile-lib/default.nix +++ b/pkgs/development/guile-modules/guile-lib/default.nix @@ -4,23 +4,18 @@ assert stdenv ? cc && stdenv.cc.isGNU; let name = "guile-lib-${version}"; - version = "0.2.2"; + version = "0.2.6.1"; in stdenv.mkDerivation { inherit name; src = fetchurl { url = "mirror://savannah/guile-lib/${name}.tar.gz"; - sha256 = "1f9n2b5b5r75lzjinyk6zp6g20g60msa0jpfrk5hhg4j8cy0ih4b"; + sha256 = "0aizxdif5dpch9cvs8zz5g8ds5s4xhfnwza2il5ji7fv2h7ks7bd"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ guile texinfo ]; - # One test doesn't seem to be compatible with guile_2_2. - patchPhase = '' - sed -i -e '/sxml.ssax.scm/d' unit-tests/Makefile* - ''; - doCheck = true; preCheck = '' diff --git a/pkgs/development/guile-modules/guile-reader/default.nix b/pkgs/development/guile-modules/guile-reader/default.nix index 35bcd7bfc2f..6ffcc153ec4 100644 --- a/pkgs/development/guile-modules/guile-reader/default.nix +++ b/pkgs/development/guile-modules/guile-reader/default.nix @@ -4,11 +4,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "guile-reader-${version}"; + pname = "guile-reader"; version = "0.6.2"; src = fetchurl { - url = "http://download.savannah.nongnu.org/releases/guile-reader/${name}.tar.gz"; + url = "http://download.savannah.nongnu.org/releases/guile-reader/${pname}-${version}.tar.gz"; sha256 = "0592s2s8ampqmqwilc4fvcild6rb9gy79di6vxv5kcdmv23abkgx"; }; diff --git a/pkgs/development/guile-modules/guile-sdl/default.nix b/pkgs/development/guile-modules/guile-sdl/default.nix index a606b3ecf28..41bfb2ef62a 100644 --- a/pkgs/development/guile-modules/guile-sdl/default.nix +++ b/pkgs/development/guile-modules/guile-sdl/default.nix @@ -3,12 +3,11 @@ }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "guile-sdl"; version = "0.5.2"; src = fetchurl { - url = "mirror://gnu/${pname}/${name}.tar.xz"; + url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz"; sha256 = "0cjgs012a9922hn6xqwj66w6qmfs3nycnm56hyykx5n3g5p7ag01"; }; diff --git a/pkgs/development/guile-modules/guile-sdl2/default.nix b/pkgs/development/guile-modules/guile-sdl2/default.nix index e4a548ae376..be885d990ec 100644 --- a/pkgs/development/guile-modules/guile-sdl2/default.nix +++ b/pkgs/development/guile-modules/guile-sdl2/default.nix @@ -5,13 +5,13 @@ let name = "${pname}-${version}"; pname = "guile-sdl2"; - version = "0.3.1"; + version = "0.4.0"; in stdenv.mkDerivation { inherit name; src = fetchurl { url = "https://files.dthompson.us/${pname}/${name}.tar.gz"; - sha256 = "0bw7x2lx90k4banc5k7yfkn3as93y25gr1xdr225ll7lmij21k64"; + sha256 = "0zcxwgyadwpbhq6h5mv2569c3kalgra26zc186y9fqiyyzmh1v9s"; }; nativeBuildInputs = [ libtool pkgconfig ]; diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 41d050531a3..f0e53b97266 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -32,33 +32,20 @@ self: super: { # compiled on Linux. We provide the name to avoid evaluation errors. unbuildable = throw "package depends on meta package 'unbuildable'"; - # Use the latest version of the Cabal library. - cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_2_4_1_0; }); - # The test suite depends on old versions of tasty and QuickCheck. hackage-security = dontCheck super.hackage-security; - # Link statically to avoid runtime dependency on GHC. - jailbreak-cabal = disableSharedExecutables super.jailbreak-cabal; - # enable using a local hoogle with extra packagages in the database # nix-shell -p "haskellPackages.hoogleLocal { packages = with haskellPackages; [ mtl lens ]; }" # $ hoogle server hoogleLocal = { packages ? [] }: self.callPackage ./hoogle.nix { inherit packages; }; - # Break infinite recursions. - attoparsec-varword = super.attoparsec-varword.override { bytestring-builder-varword = dontCheck self.bytestring-builder-varword; }; - clock = dontCheck super.clock; - Dust-crypto = dontCheck super.Dust-crypto; - hasql-postgres = dontCheck super.hasql-postgres; - hspec-core = super.hspec-core.override { silently = dontCheck self.silently; temporary = dontCheck self.temporary; }; - hspec-expectations = dontCheck super.hspec-expectations; - HTTP = dontCheck super.HTTP; - http-streams = dontCheck super.http-streams; - nanospec = dontCheck super.nanospec; - options = dontCheck super.options; + # Needs older QuickCheck version + attoparsec-varword = dontCheck super.attoparsec-varword; + + # Tests are failing + # https://github.com/bos/statistics/issues/123 statistics = dontCheck super.statistics; - vector-builder = dontCheck super.vector-builder; # These packages (and their reverse deps) cannot be built with profiling enabled. ghc-heap-view = disableLibraryProfiling super.ghc-heap-view; @@ -67,16 +54,13 @@ self: super: { # This test keeps being aborted because it runs too quietly for too long Lazy-Pbkdf2 = if pkgs.stdenv.isi686 then dontCheck super.Lazy-Pbkdf2 else super.Lazy-Pbkdf2; - # Use the default version of mysql to build this package (which is actually mariadb). - # test phase requires networking - mysql = dontCheck (super.mysql.override { mysql = pkgs.mysql.connector-c; }); - # check requires mysql server mysql-simple = dontCheck super.mysql-simple; mysql-haskell = dontCheck super.mysql-haskell; - # Link the proper version. - zeromq4-haskell = super.zeromq4-haskell.override { zeromq = pkgs.zeromq4; }; + # Tests failing, fixed once 0.8.0 is in stackage + # https://gitlab.com/twittner/zeromq-haskell/issues/63 + zeromq4-haskell = dontCheck super.zeromq4-haskell; # The Hackage tarball is purposefully broken, because it's not intended to be, like, useful. # https://git-annex.branchable.com/bugs/bash_completion_file_is_missing_in_the_6.20160527_tarball_on_hackage/ @@ -85,7 +69,7 @@ self: super: { name = "git-annex-${super.git-annex.version}-src"; url = "git://git-annex.branchable.com/"; rev = "refs/tags/" + super.git-annex.version; - sha256 = "06385r9rlncrrmzdfl8q600bw6plbvkmkwgl3llg595xrm711a97"; + sha256 = "1795sad0jr2da2pn28nbqsvpld6zw8gf9yscywixkbabf7ls66fn"; }; }).override { dbus = if pkgs.stdenv.isLinux then self.dbus else null; @@ -105,7 +89,7 @@ self: super: { # https://github.com/froozen/kademlia/issues/2 kademlia = dontCheck super.kademlia; - # Test suite doesn't terminate + # Tests require older tasty hzk = dontCheck super.hzk; # Tests require a Kafka broker running locally @@ -143,6 +127,7 @@ self: super: { feldspar-signal = dontHaddock super.feldspar-signal; # https://github.com/markus-git/feldspar-signal/issues/1 hoodle-core = dontHaddock super.hoodle-core; hsc3-db = dontHaddock super.hsc3-db; + classy-prelude-yesod = dontHaddock super.classy-prelude-yesod; # https://github.com/haskell/haddock/issues/979 # https://github.com/techtangents/ablist/issues/1 ABList = dontCheck super.ABList; @@ -161,33 +146,29 @@ self: super: { else super.halive; # Hakyll's tests are broken on Darwin (3 failures); and they require util-linux - hakyll = if pkgs.stdenv.isDarwin + hakyll = appendPatch + (if pkgs.stdenv.isDarwin then dontCheck (overrideCabal super.hakyll (drv: { testToolDepends = []; })) - # https://github.com/jaspervdj/hakyll/issues/491 - else dontCheck super.hakyll; + else super.hakyll) + (pkgs.fetchpatch { + url = https://github.com/jaspervdj/hakyll/commit/25a4460b75b3c9f3ce339b3311b084d92994f5f1.patch; + sha256 = "sha256-F59WHt52LOKGsGoaD3LAIZFEMe9s9WHfGxQgSh9Q8uQ="; + }); double-conversion = if !pkgs.stdenv.isDarwin then super.double-conversion else addExtraLibrary super.double-conversion pkgs.libcxx; - inline-c-cpp = if !pkgs.stdenv.isDarwin - then super.inline-c-cpp - else - let drv = addExtraLibrary (overrideCabal super.inline-c-cpp (drv: { - postPatch = '' - substituteInPlace inline-c-cpp.cabal --replace stdc++ c++ - ''; - })) pkgs.libcxx; - in # https://github.com/fpco/inline-c/issues/75 - dontCheck drv; + inline-c-cpp = overrideCabal super.inline-c-cpp (drv: { + postPatch = (drv.postPatch or "") + '' + substituteInPlace inline-c-cpp.cabal --replace "-optc-std=c++11" "" + ''; + }); inline-java = addBuildDepend super.inline-java pkgs.jdk; - # https://github.com/mvoidex/hsdev/issues/11 - hsdev = dontHaddock super.hsdev; - # Upstream notified by e-mail. permutation = dontCheck super.permutation; @@ -235,15 +216,19 @@ self: super: { # base bound digit = doJailbreak super.digit; + # Needs older version of QuickCheck. + these_0_7_6 = doJailbreak super.these_0_7_6; + # dontCheck: Can be removed once https://github.com/haskell-nix/hnix/commit/471712f is in (5.2 probably) # This is due to GenList having been removed from generic-random in 1.2.0.0 # doJailbreak: Can be removed once https://github.com/haskell-nix/hnix/pull/329 is in (5.2 probably) # This is due to hnix currently having an upper bound of <0.5 on deriving-compat, works just fine with our current version 0.5.1 though + # Does not support recent versions of "these". + # https://github.com/haskell-nix/hnix/issues/514 hnix = generateOptparseApplicativeCompletion "hnix" ( - dontCheck (doJailbreak (overrideCabal super.hnix (old: { - testHaskellDepends = old.testHaskellDepends or [] ++ [ pkgs.nix ]; - })))); + dontCheck (doJailbreak (super.hnix.override { these = self.these_0_7_6; })) + ); # Fails for non-obvious reasons while attempting to use doctest. search = dontCheck super.search; @@ -370,6 +355,7 @@ self: super: { pwstore-cli = dontCheck super.pwstore-cli; quantities = dontCheck super.quantities; redis-io = dontCheck super.redis-io; + reflex = dontCheck super.reflex; # test suite uses hlint, which has different haskell-src-exts version rethinkdb = dontCheck super.rethinkdb; Rlang-QQ = dontCheck super.Rlang-QQ; safecopy = dontCheck super.safecopy; @@ -398,6 +384,7 @@ self: super: { xsd = dontCheck super.xsd; snap-core = dontCheck super.snap-core; sourcemap = dontCheck super.sourcemap; + zip-archive = dontCheck super.zip-archive; # https://github.com/jgm/zip-archive/issues/57 # These test suites run for ages, even on a fast machine. This is nuts. Random123 = dontCheck super.Random123; @@ -725,15 +712,9 @@ self: super: { ''; }); - # A simple MonadFail patch would do too, but not doing the tests is easier - megaparsec_6_5_0 = dontCheck super.megaparsec_6_5_0; - # The standard libraries are compiled separately idris = generateOptparseApplicativeCompletion "idris" ( - doJailbreak (dontCheck (super.idris.override { - # Needed for versions <= 1.3.1 https://github.com/idris-lang/Idris-dev/pull/4610 - megaparsec = self.megaparsec_6_5_0; - })) + doJailbreak (dontCheck super.idris) ); # https://github.com/bos/math-functions/issues/25 @@ -763,7 +744,7 @@ self: super: { }; in overrideCabal super.servant (old: { postInstall = old.postInstall or "" + '' - ln -s ${docs} $doc/share/doc/servant + ln -s ${docs} ''${!outputDoc}/share/doc/servant ''; }); @@ -870,8 +851,17 @@ self: super: { # https://github.com/takano-akio/filelock/issues/5 filelock = dontCheck super.filelock; - # cryptol-2.5.0 doesn't want happy 1.19.6+. - cryptol = super.cryptol.override { happy = self.happy_1_19_5; }; + # Wrap the generated binaries to include their run-time dependencies in + # $PATH. Also, cryptol needs a version of sbl that's newer than what we have + # in LTS-13.x. + cryptol = overrideCabal super.cryptol (drv: { + buildTools = drv.buildTools or [] ++ [ pkgs.makeWrapper ]; + postInstall = drv.postInstall or "" + '' + for b in $out/bin/cryptol $out/bin/cryptol-html; do + wrapProgram $b --prefix 'PATH' ':' "${pkgs.lib.getBin pkgs.z3}/bin" + done + ''; + }); # Tests try to invoke external process and process == 1.4 grakn = dontCheck (doJailbreak super.grakn); @@ -953,17 +943,13 @@ self: super: { # Tries to read a file it is not allowed to in the test suite load-env = dontCheck super.load-env; - # hledger needs a newer megaparsec version than we have in LTS 12.x. - hledger-lib = super.hledger-lib.overrideScope (self: super: { - # cassava-megaparsec = self.cassava-megaparsec_2_0_0; - # hspec-megaparsec = self.hspec-megaparsec_2_0_0; - # megaparsec = self.megaparsec_7_0_4; - }); - # Copy hledger man pages from data directory into the proper place. This code # should be moved into the cabal2nix generator. hledger = overrideCabal super.hledger (drv: { postInstall = '' + # Don't install files that don't belong into this package to avoid + # conflicts when hledger and hledger-ui end up in the same profile. + rm embeddedfiles/hledger-{api,ui,web}.* for i in $(seq 1 9); do for j in embeddedfiles/*.$i; do mkdir -p $out/share/man/man$i @@ -974,7 +960,7 @@ self: super: { cp -v embeddedfiles/*.info* $out/share/info/ ''; }); - hledger-ui = (overrideCabal super.hledger-ui (drv: { + hledger-ui = overrideCabal super.hledger-ui (drv: { postInstall = '' for i in $(seq 1 9); do for j in *.$i; do @@ -985,11 +971,6 @@ self: super: { mkdir -p $out/share/info cp -v *.info* $out/share/info/ ''; - })).overrideScope (self: super: { - # cassava-megaparsec = self.cassava-megaparsec_2_0_0; - # config-ini = self.config-ini_0_2_4_0; - # hspec-megaparsec = self.hspec-megaparsec_2_0_0; - # megaparsec = self.megaparsec_7_0_4; }); hledger-web = overrideCabal super.hledger-web (drv: { postInstall = '' @@ -1024,6 +1005,7 @@ self: super: { # https://github.com/haskell-hvr/resolv/issues/1 resolv = dontCheck super.resolv; + resolv_0_1_1_2 = dontCheck super.resolv_0_1_1_2; # spdx 0.2.2.0 needs older tasty # was fixed in spdx master (4288df6e4b7840eb94d825dcd446b42fef25ef56) @@ -1034,6 +1016,11 @@ self: super: { testSystemDepends = (drv.testSystemDepends or []) ++ [pkgs.which]; preCheck = ''export PATH="$PWD/dist/build/alex:$PATH"''; }); + arbtt = overrideCabal super.arbtt (drv: { + preCheck = '' + for n in $PWD/dist/build/*; do PATH+=":$n"; done + ''; + }); # This package refers to the wrong library (itself in fact!) vulkan = super.vulkan.override { vulkan = pkgs.vulkan-loader; }; @@ -1070,9 +1057,11 @@ self: super: { dontCheck super.dhall ); + # Missing test files in source distribution, fixed once 1.4.0 is bumped + # https://github.com/dhall-lang/dhall-haskell/pull/997 dhall-json = generateOptparseApplicativeCompletions ["dhall-to-json" "dhall-to-yaml"] ( - super.dhall-json + dontCheck super.dhall-json ); dhall-nix = @@ -1084,16 +1073,33 @@ self: super: { cborg = doJailbreak super.cborg; serialise = doJailbreak (dontCheck super.serialise); + # https://github.com/haskell-hvr/netrc/pull/2#issuecomment-469526558 + netrc = doJailbreak super.netrc; + # https://github.com/phadej/tree-diff/issues/19 tree-diff = doJailbreak super.tree-diff; # https://github.com/haskell-hvr/hgettext/issues/14 hgettext = doJailbreak super.hgettext; + # haddock-api-2.22.0: Break out of “QuickCheck ==2.11.*, hspec >=2.4.4 && <2.6” + haddock-api = dontHaddock (doJailbreak (super.haddock-api)); + # The test suite is broken. Break out of "base-compat >=0.9.3 && <0.10, hspec >=2.4.4 && <2.5". haddock-library = doJailbreak (dontCheck super.haddock-library); # haddock-library_1_6_0 = doJailbreak (dontCheck super.haddock-library_1_6_0); + # haskell-names-0.9.4: Break out of “tasty >=0.12 && <1.2” + haskell-names = doJailbreak super.haskell-names; + + # hdocs-0.5.3.1: Break out of “haddock-api ==2.21.*” + # cannot use doJailbreak due to https://github.com/peti/jailbreak-cabal/issues/7 + hdocs = overrideCabal super.hdocs (drv: { + postPatch = '' + sed -i 's#haddock-api == 2\.21\.\*,#haddock-api == 2.22.*,#' hdocs.cabal + ''; + }); + # Break out of tasty >=0.10 && <1.2. aeson-compat = doJailbreak super.aeson-compat; @@ -1102,7 +1108,8 @@ self: super: { # Generate shell completion. cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix; - stack = generateOptparseApplicativeCompletion "stack" super.stack; + stack = generateOptparseApplicativeCompletion "stack" (super.stack.overrideScope (self: super: { + })); # musl fixes # dontCheck: use of non-standard strptime "%s" which musl doesn't support; only used in test @@ -1158,10 +1165,6 @@ self: super: { # https://github.com/kcsongor/generic-lens/pull/65 generic-lens = dontCheck super.generic-lens; - xmonad-extras = doJailbreak super.xmonad-extras; - - arbtt = doJailbreak super.arbtt; - # https://github.com/danfran/cabal-macosx/issues/13 cabal-macosx = dontCheck super.cabal-macosx; @@ -1175,38 +1178,25 @@ self: super: { # }); libnix = dontCheck super.libnix; - # https://github.com/jmillikin/chell/issues/1 - chell = super.chell.override { patience = self.patience_0_1_1; }; - # The test suite tries to mess with ALSA, which doesn't work in the build sandbox. xmobar = dontCheck super.xmobar; # https://github.com/mgajda/json-autotype/issues/25 json-autotype = dontCheck super.json-autotype; - # The LTS-12.x version doesn't suffice to build hlint, hoogle, etc. - hlint = super.hlint.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_21_0; }); - hoogle = super.hoogle.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_21_0; }); - # Jailbreak tasty < 1.2: https://github.com/phadej/tdigest/issues/30 tdigest = doJailbreak super.tdigest; # until tdigest > 0.2.1 these = doJailbreak super.these; # until these >= 0.7.6 - insert-ordered-containers = appendPatch super.insert-ordered-containers ./patches/insert-ordered-containers-fix-test.patch; uri-bytestring = appendPatch super.uri-bytestring (pkgs.fetchpatch { url = "https://github.com/Soostone/uri-bytestring/commit/e5c5602a97160a6a6304a24947e33e47c9155460.patch"; sha256 = "1qwy8bj6vywhp0075dza8j90zrzsm3144qz3c703s9c4n6pg3gw4"; }); - # These patches contain fixes for 8.6 that should be safe for - # earlier versions, but we need the relaxed version bounds in GHC - # 8.4 builds. beam needs to release a round of updates that relax - # bounds and include the 8.6 fixes: - # https://github.com/tathougies/beam/issues/315 - beam-core = appendPatch super.beam-core ./patches/beam-core-fix-ghc-8.6.x-build.patch; - beam-migrate = appendPatch super.beam-migrate ./patches/beam-migrate-fix-ghc-8.6.x-build.patch; - beam-postgres = appendPatch super.beam-postgres ./patches/beam-postgres-fix-ghc-8.6.x-build.patch; - beam-sqlite = appendPatch super.beam-sqlite ./patches/beam-sqlite-fix-ghc-8.6.x-build.patch; + # Requires pg_ctl command during tests + beam-postgres = overrideCabal super.beam-postgres (drv: { + testToolDepends = (drv.testToolDepends or []) ++ [pkgs.postgresql]; + }); # https://github.com/sighingnow/computations/pull/1 primesieve = appendPatch super.primesieve (pkgs.fetchpatch { @@ -1223,12 +1213,79 @@ self: super: { })]; }); - # Use latest pandoc despite what LTS says. - # Test suite fails in both 2.5 and 2.6: https://github.com/jgm/pandoc/issues/5309. - pandoc = doDistribute (dontCheck super.pandoc_2_6); - pandoc-citeproc = self.pandoc-citeproc_0_16_1; + # Remove unecessary constraint: + # https://github.com/agrafix/superbuffer/pull/2 + superbuffer = overrideCabal super.superbuffer (drv: { + postPatch = '' + sed -i 's#QuickCheck < 2.10#QuickCheck < 2.13#' superbuffer.cabal + ''; + }); - # https://github.com/qfpl/tasty-hedgehog/issues/24 - tasty-hedgehog = dontCheck super.tasty-hedgehog; + # test suite failure: https://github.com/jgm/pandoc/issues/5582 + pandoc = dontCheck super.pandoc; + + # The latest release version is ancient. You really need this tool from git. + haskell-ci = generateOptparseApplicativeCompletion "haskell-ci" + (addBuildDepend (overrideSrc (dontCheck super.haskell-ci) { + version = "20190814-git"; + src = pkgs.fetchFromGitHub { + owner = "haskell-CI"; + repo = "haskell-ci"; + rev = "70918d80b6fd43aca7e4d00ba0d2ea116b666556"; + sha256 = "0bzp959qy74zmqq75f60rcixpjbvvyrb5a8zp2nyql3nm9vxzy5k"; + }; + }) (with self; [temporary lattices Cabal_3_0_0_0])); + + # Fix build with attr-2.4.48 (see #53716) + xattr = appendPatch super.xattr ./patches/xattr-fix-build.patch; + + # Break out of pandoc >=2.0 && <2.7 (https://github.com/pbrisbin/yesod-markdown/pull/65) + yesod-markdown = doJailbreak super.yesod-markdown; + + # These packages needs network 3.x, which is not in LTS-13.x. + network-bsd_2_8_1_0 = super.network-bsd_2_8_1_0.override { network = self.network_3_0_1_1; }; + lambdabot-core = super.lambdabot-core.overrideScope (self: super: { network = self.network_3_0_1_1; hslogger = self.hslogger_1_3_0_0; }); + lambdabot-reference-plugins = super.lambdabot-reference-plugins.overrideScope (self: super: { network = self.network_3_0_1_1; hslogger = self.hslogger_1_3_0_0; }); + lambdabot-haskell-plugins = super.lambdabot-haskell-plugins.overrideScope (self: super: { network = self.network_3_0_1_1; }); + + # Some tests depend on a postgresql instance + # Haddock failure: https://github.com/haskell/haddock/issues/979 + esqueleto = dontHaddock (dontCheck super.esqueleto); + + # Requires API keys to run tests + algolia = dontCheck super.algolia; + + # antiope-s3's latest stackage version has a hspec < 2.6 requirement, but + # hspec which isn't in stackage is already past that + antiope-s3 = doJailbreak super.antiope-s3; + + # Has tasty < 1.2 requirement, but works just fine with 1.2 + temporary-resourcet = doJailbreak super.temporary-resourcet; + + # Requires dhall >= 1.23.0 + ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_25_0; }; + dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_25_0; }; + + # Test suite doesn't work with current QuickCheck + # https://github.com/pruvisto/heap/issues/11 + heap = dontCheck super.heap; + + # https://github.com/hslua/tasty-lua/issues/1 + tasty-lua = dontCheck super.tasty-lua; + + # Test suite won't link for no apparent reason. + constraints-deriving = dontCheck super.constraints-deriving; + + # need newer version of ghc-libparser + hlint = super.hlint.override { ghc-lib-parser = self.ghc-lib-parser_8_8_0_20190723; }; + + # https://github.com/sol/hpack/issues/366 + hpack = dontCheck super.hpack; + + # QuickCheck >=2.3 && <2.13, hspec >=2.1 && <2.7 + graphviz = dontCheck super.graphviz; + + # https://github.com/elliottt/hsopenid/issues/15 + openid = markBroken super.openid; } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix index c2fbb4d6126..76aabb91561 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix @@ -20,6 +20,7 @@ self: super: { ghc-boot = null; ghc-boot-th = null; ghc-compact = null; + ghc-heap = null; ghc-prim = null; ghci = null; haskeline = null; @@ -38,14 +39,9 @@ self: super: { # These are now core libraries in GHC 8.4.x. mtl = self.mtl_2_2_2; - parsec = self.parsec_3_1_13_0; + parsec = self.parsec_3_1_14_0; stm = self.stm_2_5_0_0; - text = self.text_1_2_3_1; - - # Make sure we can still build Cabal 1.x. - Cabal_1_24_2_0 = overrideCabal super.Cabal_1_24_2_0 (drv: { - prePatch = "sed -i -e 's/process.*< 1.5,/process,/g' Cabal.cabal"; - }); + text = self.text_1_2_4_0; # Build with the latest Cabal version, which works best albeit not perfectly. jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_2_2_0_1; }; @@ -89,10 +85,10 @@ self: super: { cabal2nix = super.cabal2nix.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; }); cabal2spec = super.cabal2spec.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; }); distribution-nixpkgs = super.distribution-nixpkgs.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; }); - hackage-db_2_0_1 = super.hackage-db_2_0_1.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; }); stack = super.stack.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; }); - # GHC 8.2 doesn't have semigroups included by default + # Older GHC versions need these additional dependencies. ListLike = addBuildDepend super.ListLike self.semigroups; + base-compat-batteries = addBuildDepend super.base-compat-batteries self.contravariant; } diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix index 2a72eced2ba..0919292d44a 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix @@ -20,6 +20,7 @@ self: super: { ghc-boot = null; ghc-boot-th = null; ghc-compact = null; + ghc-heap = null; ghc-prim = null; ghci = null; haskeline = null; @@ -39,6 +40,13 @@ self: super: { unix = null; xhtml = null; + # Needs Cabal 3.0.x. + cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_0_0_0; }); + + # Restricts aeson to <1.4 + # https://github.com/purescript/purescript/pull/3537 + purescript = doJailbreak super.purescript; + # https://github.com/jcristovao/enclosed-exceptions/issues/12 enclosed-exceptions = dontCheck super.enclosed-exceptions; @@ -63,15 +71,15 @@ self: super: { # more verbose but friendlier for Hydra. stack = (doJailbreak super.stack).override { Cabal = self.Cabal_2_4_1_0; - hpack = self.hpack_0_31_1.override { Cabal = self.Cabal_2_4_1_0; }; - yaml = self.yaml_0_11_0_0; + hpack = self.hpack.override { Cabal = self.Cabal_2_4_1_0; }; hackage-security = self.hackage-security.override { Cabal = self.Cabal_2_4_1_0; }; }; - hpack_0_31_1 = super.hpack_0_31_1.override { - yaml = self.yaml_0_11_0_0; - }; - # cabal2nix doesn't list this because of a conditional on the GHC version. + # Older GHC versions need these additional dependencies. aeson = addBuildDepend super.aeson self.contravariant; + base-compat-batteries = addBuildDepend super.base-compat-batteries self.contravariant; + + # Newer versions don't compile. + resolv = self.resolv_0_1_1_2; } diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix index abfbe69568a..4addc834040 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix @@ -4,8 +4,8 @@ with haskellLib; self: super: { - # This compiler version needs llvm 5.x. - llvmPackages = pkgs.llvmPackages_5; + # This compiler version needs llvm 6.x. + llvmPackages = pkgs.llvmPackages_6; # Disable GHC 8.6.x core libraries. array = null; @@ -41,11 +41,13 @@ self: super: { unix = null; xhtml = null; + # Needs Cabal 3.0.x. + cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_0_0_0; }); + # https://github.com/tibbe/unordered-containers/issues/214 unordered-containers = dontCheck super.unordered-containers; # Test suite does not compile. - cereal = dontCheck super.cereal; data-clist = doJailbreak super.data-clist; # won't cope with QuickCheck 2.12.x dates = doJailbreak super.dates; # base >=4.9 && <4.12 Diff = dontCheck super.Diff; @@ -54,7 +56,6 @@ self: super: { hpc-coveralls = doJailbreak super.hpc-coveralls; # https://github.com/guillaume-nargeot/hpc-coveralls/issues/82 http-api-data = doJailbreak super.http-api-data; persistent-sqlite = dontCheck super.persistent-sqlite; - psqueues = dontCheck super.psqueues; # won't cope with QuickCheck 2.12.x system-fileio = dontCheck super.system-fileio; # avoid dependency on broken "patience" unicode-transforms = dontCheck super.unicode-transforms; wl-pprint-extras = doJailbreak super.wl-pprint-extras; # containers >=0.4 && <0.6 is too tight; https://github.com/ekmett/wl-pprint-extras/issues/17 @@ -69,4 +70,28 @@ self: super: { # Break out of "yaml >=0.10.4.0 && <0.11": https://github.com/commercialhaskell/stack/issues/4485 stack = doJailbreak super.stack; + # Needs a recent version from the "develop" branch of the upstream git + # repository to compile with ghc 8.6.4. + liquid-fixpoint = assert super.liquid-fixpoint.version == "0.7.0.7"; overrideSrc super.liquid-fixpoint { + src = pkgs.fetchFromGitHub { + owner = "ucsd-progsys"; + repo = "liquid-fixpoint"; + rev = "42c027ab9ae47907c588a2f1f9c05a5e0aa881e9"; + sha256 = "17qmzq1vx7h04yd38drr6sh6hys3q2rz62qh3pna9kbxlcnikkqf"; + }; + version = "0.8.0.2-pre-release"; + }; + liquidhaskell = assert super.liquidhaskell.version == "0.8.2.4"; overrideSrc super.liquidhaskell { + src = pkgs.fetchFromGitHub { + owner = "ucsd-progsys"; + repo = "liquidhaskell"; + rev = "46f11e8faef006e70d39572d08419283b1280b88"; + sha256 = "10z5r6g5acd43bsak762kwhy33ff262zmhs0wga545nbg29q1fyp"; + }; + version = "0.8.6.0-pre-release"; + }; + + # Newer versions don't compile. + resolv = self.resolv_0_1_1_2; + } diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix new file mode 100644 index 00000000000..2209f570732 --- /dev/null +++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix @@ -0,0 +1,162 @@ +{ pkgs, haskellLib }: + +with haskellLib; + +self: super: { + + # This compiler version needs llvm 7.x. + llvmPackages = pkgs.llvmPackages_7; + + # Disable GHC 8.8.x core libraries. + array = null; + base = null; + binary = null; + bytestring = null; + Cabal = null; + containers = null; + deepseq = null; + directory = null; + filepath = null; + ghc-boot = null; + ghc-boot-th = null; + ghc-compact = null; + ghc-heap = null; + ghc-prim = null; + ghci = null; + haskeline = null; + hpc = null; + integer-gmp = null; + libiserv = null; + mtl = null; + parsec = null; + pretty = null; + process = null; + rts = null; + stm = null; + template-haskell = null; + terminfo = null; + text = null; + time = null; + transformers = null; + unix = null; + xhtml = null; + + # Ignore overly restrictive upper version bounds. + async = doJailbreak super.async; + cabal-install = doJailbreak super.cabal-install; + ChasingBottoms = doJailbreak super.ChasingBottoms; + cryptohash-sha256 = doJailbreak super.cryptohash-sha256; + Diff = dontCheck super.Diff; + doctest = doJailbreak super.doctest; + hashable = doJailbreak super.hashable; + hashable-time = doJailbreak super.hashable-time; + hledger-lib = doJailbreak super.hledger-lib; # base >=4.8 && <4.13, easytest >=0.2.1 && <0.3 + integer-logarithms = doJailbreak super.integer-logarithms; + lucid = doJailbreak super.lucid; + parallel = doJailbreak super.parallel; + quickcheck-instances = doJailbreak super.quickcheck-instances; + setlocale = doJailbreak super.setlocale; + split = doJailbreak super.split; + tasty-expected-failure = doJailbreak super.tasty-expected-failure; + test-framework = doJailbreak super.test-framework; + th-lift = self.th-lift_0_8_0_1; + + # These packages don't work and need patching and/or an update. + primitive = overrideSrc (doJailbreak super.primitive) { + version = "20180530-git"; + src = pkgs.fetchFromGitHub { + owner = "haskell"; + repo = "primitive"; + rev = "97964182881aa0419546e0bb188b2d17e4468324"; + sha256 = "1p1pinca33vd10iy7hl20c1fc99vharcgcai6z3ngqbq50k2pd3q"; + }; + }; + tar = overrideCabal (appendPatch super.tar (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/tar-0.5.1.0.patch"; + sha256 = "1inbfpamfdpi3yfac59j5xpaq5fvh5g1ca8hlbpic1bizd3s03i0"; + })) (drv: { + configureFlags = ["-f-old-time"]; + editedCabalFile = null; + preConfigure = '' + cp -v ${pkgs.fetchurl {url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/tar-0.5.1.0.cabal"; sha256 = "1lydbwsmccf2av0g61j07bx7r5mzbcfgwvmh0qwg3a91857x264x";}} tar.cabal + sed -i -e 's/time < 1.9/time < 2/' tar.cabal + ''; + }); + dlist = appendPatch (doJailbreak super.dlist) (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/dlist-0.8.0.6.patch"; + sha256 = "0lkhibfxfk6mi796mrjgmbb50hbyjgc7xdinci64dahj8325jlpc"; + }); + vector-th-unbox = appendPatch super.vector-th-unbox (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/vector-th-unbox-0.2.1.6.patch"; + sha256 = "0169yf9ms1g5mmkc5l6hpffzm34zdrqdng4df02nbdmfgba45h19"; + }); + cabal-doctest = appendPatch (doJailbreak super.cabal-doctest) (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/cabal-doctest-1.0.6.patch"; + sha256 = "0735mkxhv557pgnfvdjakkw9r85l5gy28grdwg929m26ghbf9s8j"; + }); + regex-base = overrideCabal (appendPatch super.regex-base (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-base-0.93.2.patch"; + sha256 = "01d1plrdx6hcspwn2h6y9pyi5366qk926vb5cl5qcl6x4m23l6y1"; + })) (drv: { + preConfigure = "sed -i -e 's/base >=4 && < 4.13,/base,/' regex-base.cabal"; + }); + regex-posix = appendPatch super.regex-posix (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-posix-0.95.2.patch"; + sha256 = "006yli58jpqp786zm1xlncjsilc38iv3a09r4pv94l587sdzasd2"; + }); + th-abstraction = appendPatch (doJailbreak super.th-abstraction) (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/th-abstraction-0.2.11.0.patch"; + sha256 = "0czqfszfblz6bvsybcd1z5jijj79f9czqq6dn992wp2gibsbrgj3"; + }); + zlib = appendPatch super.zlib (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/zlib-0.6.2.patch"; + sha256 = "13fy730z9ihyc9kw3qkh642mi0bdbd7bz01dksj1zz845pr9jjif"; + }); + haskell-src-exts = appendPatch super.haskell-src-exts_1_21_0 (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/haskell-src-exts-1.21.0.patch"; + sha256 = "0alb28hcsp774c9s73dgrajcb44vgv1xqfg2n5a9y2bpyngqscs3"; + }); + optparse-applicative = appendPatch (doJailbreak super.optparse-applicative) (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/optparse-applicative-0.14.3.0.patch"; + sha256 = "068sjj98jqiq3h8h03mg4w2pa11q8lxkx2i4lmxivq77xyhlwq3y"; + }); + hackage-security = appendPatch (doJailbreak super.hackage-security) (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/hackage-security-0.5.3.0.patch"; + sha256 = "0l8x0pbsn18fj5ak5q0g5rva4xw1s9yc4d86a1pfyaz467b9i5a4"; + }); + happy = appendPatch super.happy (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/happy-1.19.9.patch"; + sha256 = "1zmcb7dgcwivq2mddcy1f20djw2kds1m7ahwsa4xpbbwnijc6zjx"; + }); + hedgehog = appendPatch super.hedgehog (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/hedgehog-0.6.1.patch"; + sha256 = "04xwznd3lfgracfz68ls6vfm19rhq8fb74r6ii0grpv6cx4rr21i"; + }); + easytest = self.easytest_0_3; + regex-tdfa = appendPatch super.regex-tdfa (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-tdfa-1.2.3.1.patch"; + sha256 = "1lhas4s2ms666prb475gaw2bqw1v4y8cxi66sy20j727sx7ppjs7"; + }); + unordered-containers = self.unordered-containers_0_2_10_0; + attoparsec = appendPatch super.attoparsec (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/attoparsec-0.13.2.2.patch"; + sha256 = "13i1p5g0xzxnv966nlyb77mfmxvg9jzbym1d36h1ajn045yf4igl"; + }); + aeson = appendPatch (dontCheck super.aeson) (pkgs.fetchpatch { # the test suite breaks the compiler + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/aeson-1.4.3.0.patch"; + sha256 = "1z6wmsmc682qs3y768r0zx493dxardwbsp0wdc4dsx83c0m5x66f"; + }); + cassava = appendPatch super.cassava (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/cassava-0.5.1.0.patch"; + sha256 = "11scwwjp94si90vb8v5yr291g9qwv5l223z8y0g0lc63932bp63g"; + }); + shakespeare = appendPatch super.shakespeare (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/shakespeare-2.0.20.patch"; + sha256 = "1dgx41ylahj4wk8r422aik0d7qdpawdga4gqz905nvlnhqjla58y"; + }); + lens = appendPatch (doJailbreak super.lens) (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/lens-4.17.1.patch"; + sha256 = "0w89ipi6dfkx5vlw4a64hh6fd0bm9hg33mwpghliyyxik5jmilv1"; + }); + +} diff --git a/pkgs/development/haskell-modules/configuration-ghc-head.nix b/pkgs/development/haskell-modules/configuration-ghc-head.nix index 2118be37534..09755e4cc94 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-head.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-head.nix @@ -52,7 +52,6 @@ self: super: { unordered-containers = dontCheck super.unordered-containers; # Test suite does not compile. - cereal = dontCheck super.cereal; data-clist = doJailbreak super.data-clist; # won't cope with QuickCheck 2.12.x dates = doJailbreak super.dates; # base >=4.9 && <4.12 Diff = dontCheck super.Diff; @@ -60,7 +59,6 @@ self: super: { hpc-coveralls = doJailbreak super.hpc-coveralls; # https://github.com/guillaume-nargeot/hpc-coveralls/issues/82 http-api-data = doJailbreak super.http-api-data; persistent-sqlite = dontCheck super.persistent-sqlite; - psqueues = dontCheck super.psqueues; # won't cope with QuickCheck 2.12.x system-fileio = dontCheck super.system-fileio; # avoid dependency on broken "patience" unicode-transforms = dontCheck super.unicode-transforms; wl-pprint-extras = doJailbreak super.wl-pprint-extras; # containers >=0.4 && <0.6 is too tight; https://github.com/ekmett/wl-pprint-extras/issues/17 diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml index 7071f345037..0a269acbdb6 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml @@ -1,6 +1,6 @@ # pkgs/development/haskell-modules/configuration-hackage2nix.yaml -compiler: ghc-8.6.3 +compiler: ghc-8.6.5 core-packages: - array-0.5.3.0 @@ -12,13 +12,13 @@ core-packages: - deepseq-1.4.4.0 - directory-1.3.3.0 - filepath-1.4.2.1 - - ghc-8.6.3 - - ghc-boot-8.6.3 - - ghc-boot-th-8.6.3 + - ghc-8.6.5 + - ghc-boot-8.6.5 + - ghc-boot-th-8.6.5 - ghc-compact-0.1.0.0 - - ghc-heap-8.6.3 + - ghc-heap-8.6.5 - ghc-prim-0.5.3 - - ghci-8.6.3 + - ghci-8.6.5 - haskeline-0.7.4.3 - hpc-0.6.0.3 - integer-gmp-1.0.2.0 @@ -26,14 +26,14 @@ core-packages: - mtl-2.2.2 - parsec-3.1.13.0 - pretty-1.1.3.6 - - process-1.6.3.0 + - process-1.6.5.0 - rts-1.0 - stm-2.5.0.0 - template-haskell-2.14.0.0 - terminfo-0.4.1.2 - text-1.2.3.1 - time-1.8.0.2 - - transformers-0.5.5.0 + - transformers-0.5.6.2 - unix-2.7.2.2 - xhtml-3000.2.2.1 @@ -43,10 +43,7 @@ core-packages: - ghcjs-base-0 default-package-overrides: - # Newer versions don't work in LTS-12.x - - alsa-mixer < 0.3 - - cassava-megaparsec < 2 - # LTS Haskell 13.7 + # LTS Haskell 14.3 - abstract-deque ==0.3 - abstract-deque-tests ==0.3 - abstract-par ==0.3.3 @@ -54,32 +51,31 @@ default-package-overrides: - ace ==0.6 - action-permutations ==0.0.0.1 - active ==0.2.0.13 - - ad ==4.3.5 + - ad ==4.3.6 - adjunctions ==4.4 - adler32 ==0.1.2.0 - advent-of-code-api ==0.1.2.3 - - aern2-mp ==0.1.3.1 - - aeson ==1.4.2.0 + - aeson ==1.4.4.0 - aeson-attoparsec ==0.0.0 - aeson-better-errors ==0.9.1.0 - - aeson-casing ==0.1.0.5 + - aeson-casing ==0.2.0.0 - aeson-compat ==0.3.9 - - aeson-diff ==1.1.0.5 - - aeson-extra ==0.4.1.1 + - aeson-diff ==1.1.0.7 + - aeson-extra ==0.4.1.2 - aeson-generic-compat ==0.0.1.3 - aeson-iproute ==0.2 - aeson-picker ==0.1.0.4 - aeson-pretty ==0.8.7 - aeson-qq ==0.8.2 - - aeson-typescript ==0.1.1.0 - aeson-utils ==0.3.0.2 - aeson-yak ==0.1.1.3 - al ==0.1.4.2 - - alarmclock ==0.6.0.2 - - alerts ==0.1.0.0 + - alarmclock ==0.7.0.2 + - alerts ==0.1.2.0 - alex ==3.2.4 - - alg ==0.2.9.0 - - algebraic-graphs ==0.3 + - alg ==0.2.10.0 + - algebraic-graphs ==0.4 + - Allure ==0.9.5.0 - almost-fix ==0.0.2 - alsa-core ==0.5.0.1 - alsa-mixer ==0.3.0 @@ -87,139 +83,43 @@ default-package-overrides: - alsa-seq ==0.6.0.7 - alternative-vector ==0.0.0 - alternators ==1.0.0.0 - - ALUT ==2.4.0.2 - - amazonka ==1.6.1 - - amazonka-apigateway ==1.6.1 - - amazonka-application-autoscaling ==1.6.1 - - amazonka-appstream ==1.6.1 - - amazonka-athena ==1.6.1 - - amazonka-autoscaling ==1.6.1 - - amazonka-budgets ==1.6.1 - - amazonka-certificatemanager ==1.6.1 - - amazonka-cloudformation ==1.6.1 - - amazonka-cloudfront ==1.6.1 - - amazonka-cloudhsm ==1.6.1 - - amazonka-cloudsearch ==1.6.1 - - amazonka-cloudsearch-domains ==1.6.1 - - amazonka-cloudtrail ==1.6.1 - - amazonka-cloudwatch ==1.6.1 - - amazonka-cloudwatch-events ==1.6.1 - - amazonka-cloudwatch-logs ==1.6.1 - - amazonka-codebuild ==1.6.1 - - amazonka-codecommit ==1.6.1 - - amazonka-codedeploy ==1.6.1 - - amazonka-codepipeline ==1.6.1 - - amazonka-cognito-identity ==1.6.1 - - amazonka-cognito-idp ==1.6.1 - - amazonka-cognito-sync ==1.6.1 - - amazonka-config ==1.6.1 - - amazonka-core ==1.6.1 - - amazonka-datapipeline ==1.6.1 - - amazonka-devicefarm ==1.6.1 - - amazonka-directconnect ==1.6.1 - - amazonka-discovery ==1.6.1 - - amazonka-dms ==1.6.1 - - amazonka-ds ==1.6.1 - - amazonka-dynamodb ==1.6.1 - - amazonka-dynamodb-streams ==1.6.1 - - amazonka-ec2 ==1.6.1 - - amazonka-ecr ==1.6.1 - - amazonka-ecs ==1.6.1 - - amazonka-efs ==1.6.1 - - amazonka-elasticache ==1.6.1 - - amazonka-elasticbeanstalk ==1.6.1 - - amazonka-elasticsearch ==1.6.1 - - amazonka-elastictranscoder ==1.6.1 - - amazonka-elb ==1.6.1 - - amazonka-elbv2 ==1.6.1 - - amazonka-emr ==1.6.1 - - amazonka-gamelift ==1.6.1 - - amazonka-glacier ==1.6.1 - - amazonka-health ==1.6.1 - - amazonka-iam ==1.6.1 - - amazonka-importexport ==1.6.1 - - amazonka-inspector ==1.6.1 - - amazonka-iot ==1.6.1 - - amazonka-iot-dataplane ==1.6.1 - - amazonka-kinesis ==1.6.1 - - amazonka-kinesis-analytics ==1.6.1 - - amazonka-kinesis-firehose ==1.6.1 - - amazonka-kms ==1.6.1 - - amazonka-lambda ==1.6.1 - - amazonka-lightsail ==1.6.1 - - amazonka-marketplace-analytics ==1.6.1 - - amazonka-marketplace-metering ==1.6.1 - - amazonka-ml ==1.6.1 - - amazonka-opsworks ==1.6.1 - - amazonka-opsworks-cm ==1.6.1 - - amazonka-pinpoint ==1.6.1 - - amazonka-polly ==1.6.1 - - amazonka-rds ==1.6.1 - - amazonka-redshift ==1.6.1 - - amazonka-rekognition ==1.6.1 - - amazonka-route53 ==1.6.1 - - amazonka-route53-domains ==1.6.1 - - amazonka-s3 ==1.6.1 - - amazonka-sdb ==1.6.1 - - amazonka-servicecatalog ==1.6.1 - - amazonka-ses ==1.6.1 - - amazonka-shield ==1.6.1 - - amazonka-sms ==1.6.1 - - amazonka-snowball ==1.6.1 - - amazonka-sns ==1.6.1 - - amazonka-sqs ==1.6.1 - - amazonka-ssm ==1.6.1 - - amazonka-stepfunctions ==1.6.1 - - amazonka-storagegateway ==1.6.1 - - amazonka-sts ==1.6.1 - - amazonka-support ==1.6.1 - - amazonka-swf ==1.6.1 - - amazonka-test ==1.6.1 - - amazonka-waf ==1.6.1 - - amazonka-workspaces ==1.6.1 - - amazonka-xray ==1.6.1 - - amqp ==0.18.1 + - ALUT ==2.4.0.3 + - amqp ==0.18.3 - annotated-wl-pprint ==0.7.0 - - ansi-terminal ==0.8.2 - - ansi-wl-pprint ==0.6.8.2 - - antiope-athena ==6.2.0 - - antiope-core ==6.2.0 - - antiope-dynamodb ==6.2.0 - - antiope-messages ==6.2.0 - - antiope-s3 ==6.2.0 - - antiope-sns ==6.2.0 - - antiope-sqs ==6.2.0 + - ansi-terminal ==0.9.1 + - ansi-wl-pprint ==0.6.9 - ANum ==0.2.0.2 - aos-signature ==0.1.1 - - apecs ==0.7.1 - - apecs-gloss ==0.2.0 - - apecs-physics ==0.3.1 + - apecs ==0.8.1 + - apecs-gloss ==0.2.3 + - apecs-physics ==0.4.2 - api-field-json-th ==0.1.0.2 - - appar ==0.1.7 + - appar ==0.1.8 - appendmap ==0.1.5 - apply-refact ==0.6.0.0 - apportionment ==0.0.0.3 - approximate ==0.3.1 - app-settings ==0.2.0.12 - arbor-lru-cache ==0.1.1.0 - - arithmoi ==0.8.0.0 + - arithmoi ==0.9.0.0 - array-memoize ==0.6.0 - arrow-extras ==0.1.0.1 - - asciidiagram ==1.3.3.2 + - asciidiagram ==1.3.3.3 - ascii-progress ==0.3.3.0 - - asif ==3.2.0 + - asif ==6.0.1 - asn1-encoding ==0.9.5 - asn1-parse ==0.9.4 - - asn1-types ==0.3.2 + - asn1-types ==0.3.3 - assert-failure ==0.1.2.2 + - assoc ==1 - astro ==0.4.2.1 - - async ==2.2.1 + - async ==2.2.2 - async-extra ==0.2.0.0 - async-refresh ==0.3.0.0 - async-refresh-tokens ==0.4.0.0 - async-timer ==0.2.0.0 - atom-basic ==0.2.5 - - atomic-primops ==0.8.2 + - atomic-primops ==0.8.3 - atomic-write ==0.2.0.6 - attoparsec ==0.13.2.2 - attoparsec-base64 ==0.0.0 @@ -230,57 +130,66 @@ default-package-overrides: - attoparsec-path ==0.0.0.1 - attoparsec-uri ==0.0.7 - audacity ==0.0.2 + - aur ==6.2.0.1 - authenticate ==1.3.4 - authenticate-oauth ==1.6 - auto ==0.4.3.1 - - autoexporter ==1.1.13 - - auto-update ==0.1.4 + - autoexporter ==1.1.14 + - auto-update ==0.1.6 - avers ==0.0.17.1 - avers-api ==0.1.0 - avers-server ==0.1.0.1 - - avro ==0.4.2.0 + - avro ==0.4.5.2 - avwx ==0.3.0.2 - - axel ==0.0.9 - - backprop ==0.2.6.1 - - bank-holidays-england ==0.1.0.8 - - barbies ==1.1.0.0 + - aws-cloudfront-signed-cookies ==0.2.0.1 + - aws-lambda-haskell-runtime ==2.0.1 + - backprop ==0.2.6.3 + - bank-holidays-england ==0.2.0.2 + - barbies ==1.1.3.0 - barrier ==0.1.1 - base16-bytestring ==0.1.1.6 - base32string ==0.9.1 - base58string ==0.10.0 - base64-bytestring ==1.0.0.2 - - base64-bytestring-type ==1 + - base64-bytestring-type ==1.0.1 - base64-string ==0.2 - base-compat ==0.10.5 - base-compat-batteries ==0.10.5 - - basement ==0.0.10 + - basement ==0.0.11 - base-noprelude ==4.12.0.0 - - base-orphans ==0.8 + - base-orphans ==0.8.1 - base-prelude ==1.3 - base-unicode-symbols ==0.2.3 - basic-prelude ==0.7.0 - bazel-runfiles ==0.7.0.1 - bbdb ==0.8 - bcrypt ==0.0.11 + - beam-core ==0.8.0.0 + - beam-migrate ==0.4.0.1 + - beam-mysql ==0.2.0.0 + - beam-postgres ==0.4.0.0 + - beam-sqlite ==0.4.0.0 - bench ==1.0.12 - benchpress ==0.2.2.12 + - bench-show ==0.3.0 - bencode ==0.6.0.0 + - bencoding ==0.4.5.1 - between ==0.11.0.0 - bibtex ==0.1.0.6 - - bifunctors ==5.5.3 - - bimap ==0.3.3 + - bifunctors ==5.5.4 + - bimap ==0.4.0 - bimap-server ==0.1.0.1 - binary-bits ==0.5 - binary-conduit ==1.3.1 - binary-ext ==2.0.4 - binary-ieee754 ==0.1.0.0 - binary-list ==1.1.1.2 - - binary-orphans ==0.1.8.0 + - binary-orphans ==1.0.1 - binary-parser ==0.5.5 - - binary-parsers ==0.2.3.0 + - binary-parsers ==0.2.4.0 - binary-search ==1.0.0.3 - binary-shared ==0.8.3 - - binary-tagged ==0.1.5.1 + - binary-tagged ==0.2 - bindings-DSL ==1.0.25 - bindings-GLFW ==3.2.1.1 - bindings-libzip ==1.0.1 @@ -291,47 +200,54 @@ default-package-overrides: - bitcoin-script ==0.11.1 - bitcoin-tx ==0.13.1 - bitcoin-types ==0.9.2 - - bits ==0.5.1 + - bits ==0.5.2 - bitset-word8 ==0.1.1.1 - bits-extra ==0.0.1.3 - - bit-stream ==0.1.0.2 + - bitvec ==1.0.0.1 - bitx-bitcoin ==0.12.0.0 - - blake2 ==0.2.0 + - blake2 ==0.3.0 + - blas-carray ==0.1.0.1 + - blas-comfort-array ==0.0.0.2 - blas-ffi ==0.1 - blas-hs ==0.1.1.0 - blaze-bootstrap ==0.1.0.1 - blaze-builder ==0.4.1.0 - - blaze-colonnade ==1.2.2 + - blaze-colonnade ==1.2.2.1 - blaze-html ==0.9.1.1 - blaze-markup ==0.8.2.2 - blaze-svg ==0.3.6.1 - blaze-textual ==0.2.1.0 - bmp ==1.2.6.3 - - bno055-haskell ==0.1.0 + - board-games ==0.3 - boltzmann-samplers ==0.1.1.0 - Boolean ==0.2.4 - boolean-like ==0.1.1.0 - boolean-normal-forms ==0.0.1 - boolsimplifier ==0.1.8 + - boots ==0.0.100 - bordacount ==0.1.0.0 - - boring ==0.1 + - boring ==0.1.2 - both ==0.1.1.0 - bound ==2.0.1 - BoundedChan ==1.0.3.0 + - bounded-queue ==1.0.0 - boundingboxes ==0.2.3 - bower-json ==1.0.0.1 - boxes ==0.1.5 + - brick ==0.47.1 + - brittany ==0.12.0.0 - bsb-http-chunked ==0.0.0.4 - - bson ==0.3.2.7 + - bson ==0.3.2.8 - bson-lens ==0.1.1 - btrfs ==0.2.0.0 - buffer-builder ==0.2.4.7 - buffer-pipe ==0.0 - bugsnag-haskell ==0.0.3.0 - bulletproofs ==0.4.0 + - butcher ==1.3.2.3 - butter ==0.1.0.6 - bv ==0.5 - - bv-little ==0.1.2 + - bv-little ==1.1.0 - byteable ==0.1.1 - bytedump ==1.0 - byteorder ==1.0.4 @@ -340,20 +256,21 @@ default-package-overrides: - bytestring-builder ==0.10.8.2.0 - bytestring-conversion ==0.3.1 - bytestring-lexing ==0.5.0.2 - - bytestring-strict-builder ==0.4.5.1 - - bytestring-tree-builder ==0.2.7.2 + - bytestring-strict-builder ==0.4.5.3 + - bytestring-to-vector ==0.3.0.1 + - bytestring-tree-builder ==0.2.7.3 - bzlib ==0.5.0.5 - - bzlib-conduit ==0.3.0.1 + - bzlib-conduit ==0.3.0.2 - c2hs ==0.28.6 - Cabal ==2.4.1.0 - cabal2spec ==2.2.2.1 - cabal-doctest ==1.0.6 - - cabal-rpm ==0.12.6 - - cache ==0.1.1.1 - - cachix-api ==0.1.0.3 + - cabal-file-th ==0.2.6 + - cache ==0.1.1.2 - cacophony ==0.10.1 - calendar-recycling ==0.0.0.1 - call-stack ==0.1.0 + - ca-province-codes ==1.0.0.0 - carray ==0.1.6.8 - cased ==0.1.0.0 - case-insensitive ==1.2.0.11 @@ -364,30 +281,36 @@ default-package-overrides: - cassava-megaparsec ==2.0.0 - cassava-records ==0.1.0.4 - cast ==0.1.0.2 - - category ==0.2.2.0 - - cayley-client ==0.4.8 - - cborg ==0.2.1.0 + - caster ==0.0.3.0 + - category ==0.2.4.1 + - cayley-client ==0.4.9 + - cborg ==0.2.2.0 - cborg-json ==0.2.1.0 - - cereal ==0.5.8.0 + - cereal ==0.5.8.1 - cereal-conduit ==0.8.0 - cereal-text ==0.1.0.2 - cereal-time ==0.1.0.0 - cereal-vector ==0.2.0.1 - cfenv ==0.1.0.0 - - cgi ==3001.3.0.3 + - cgi ==3001.4.0.0 - chan ==0.0.4.1 - ChannelT ==0.0.0.7 - charset ==0.3.7.1 - charsetdetect-ae ==1.1.0.4 + - Chart ==1.9.1 + - Chart-diagrams ==1.9.2 - chaselev-deque ==0.5.0.5 - cheapskate ==0.1.1.1 - cheapskate-highlight ==0.1.0.0 - cheapskate-lucid ==0.1.0.0 - check-email ==1.0.2 - - checkers ==0.4.11 + - checkers ==0.5.0 - checksum ==0.0 + - chimera ==0.2.0.0 - choice ==0.2.2 - chronologique ==0.3.1.1 + - chronos ==1.0.7 + - chronos-bench ==0.2.0.2 - chunked-data ==0.3.1 - cipher-aes ==0.2.11 - cipher-aes128 ==0.7.0.4 @@ -404,13 +327,14 @@ default-package-overrides: - clay ==0.13.1 - clientsession ==0.9.1.2 - Clipboard ==2.3.2.0 - - clock ==0.7.2 + - clock ==0.8 - clock-extras ==0.1.0.2 + - closed ==0.2.0.1 - clr-host ==0.2.1.0 - clr-marshal ==0.2.0.0 - clumpiness ==0.17.0.2 - - cmark ==0.5.6 - - cmark-gfm ==0.1.6 + - cmark ==0.6 + - cmark-gfm ==0.2.0 - cmdargs ==0.10.20 - codec ==0.2.1 - codec-beam ==0.2.0 @@ -418,16 +342,19 @@ default-package-overrides: - code-page ==0.2 - codo-notation ==0.5.2 - coercible-utils ==0.0.0 - - co-log ==0.2.0 - - co-log-core ==0.1.1 - - colonnade ==1.2.0.1 + - co-log ==0.3.0.0 + - co-log-core ==0.2.0.0 + - colonnade ==1.2.0.2 - colorful-monoids ==0.2.1.2 - colorize-haskell ==1.0.1 - - colour ==2.3.4 + - colour ==2.3.5 + - columnar ==1.0.0.0 - combinatorial ==0.1.0.1 + - comfort-array ==0.4 - comfort-graph ==0.0.3.1 - commutative ==0.0.2 - - comonad ==5.0.4 + - comonad ==5.0.5 + - compact ==0.1.0.1 - compactmap ==0.1.4.2.1 - compensated ==0.7.2 - compiler-warnings ==0.1.0 @@ -436,32 +363,32 @@ default-package-overrides: - composition ==1.0.2.1 - composition-extra ==2.0.0 - concise ==0.1.0.1 - - concurrency ==1.6.2.0 + - concurrency ==1.7.0.0 - concurrent-extra ==0.7.0.12 - - concurrent-output ==1.10.9 + - concurrent-output ==1.10.10 - concurrent-split ==0.0.1.1 - concurrent-supply ==0.1.8 - cond ==0.4.1.1 - - conduit ==1.3.1 - - conduit-algorithms ==0.0.9.0 + - conduit ==1.3.1.1 + - conduit-algorithms ==0.0.10.1 - conduit-combinators ==1.3.0 - conduit-concurrent-map ==0.1.1 - - conduit-connection ==0.1.0.4 - - conduit-extra ==1.3.0 + - conduit-extra ==1.3.4 - conduit-iconv ==0.1.1.3 - conduit-parse ==0.2.1.0 - conduit-throttle ==0.3.1.0 - conduit-zstd ==0.0.1.1 - - confcrypt ==0.1.0.4 - - configuration-tools ==0.4.0 + - config-ini ==0.2.4.0 + - configuration-tools ==0.4.1 - configurator ==0.3.0.0 - configurator-export ==0.1.0.1 - - connection ==0.2.8 + - configurator-pg ==0.1.0.3 + - connection ==0.3.0 - connection-pool ==0.2.2 - console-style ==0.0.2.1 - constraint ==0.1.3.0 - constraints ==0.10.1 - - contravariant ==1.5 + - contravariant ==1.5.2 - contravariant-extras ==0.3.4 - control-bool ==0.2.1 - control-dsl ==0.2.1.3 @@ -469,6 +396,9 @@ default-package-overrides: - control-monad-omega ==0.3.1 - convertible ==1.1.1.0 - cookie ==0.4.4 + - core-data ==0.2.0.0 + - core-program ==0.2.0.0 + - core-text ==0.2.0.0 - countable ==1.0 - country ==0.1.6 - courier ==0.1.1.5 @@ -478,11 +408,12 @@ default-package-overrides: - cpu ==0.1.2 - cpuinfo ==0.1.0.1 - cql ==4.0.1 - - cql-io ==1.0.1.1 + - cql-io ==1.1.1 - crackNum ==2.3 + - crc32c ==0.0.0 - credential-store ==0.1.2 - - criterion ==1.5.3.0 - - criterion-measurement ==0.1.1.0 + - criterion ==1.5.5.0 + - criterion-measurement ==0.1.2.0 - cron ==0.6.1 - crypto-api ==0.13.3 - crypto-api-tests ==0.3 @@ -500,6 +431,8 @@ default-package-overrides: - cryptonite ==0.25 - cryptonite-conduit ==0.2.2 - cryptonite-openssl ==0.7 + - crypto-numbers ==0.2.7 + - crypto-pubkey ==0.2.8 - crypto-pubkey-openssh ==0.2.7 - crypto-pubkey-types ==0.4.3 - crypto-random ==0.0.9 @@ -510,11 +443,11 @@ default-package-overrides: - css-text ==0.1.3.0 - csv ==0.1.2 - ctrie ==0.2 - - cubicbezier ==0.6.0.5 + - cubicbezier ==0.6.0.6 - cubicspline ==0.1.2 - cublas ==0.5.0.0 - cuckoo-filter ==0.2.0.2 - - cuda ==0.10.0.0 + - cuda ==0.10.1.0 - cue-sheet ==2.0.1 - cufft ==0.9.0.1 - curl ==1.3.8 @@ -522,7 +455,8 @@ default-package-overrides: - currency ==0.2.0.0 - cusparse ==0.2.0.0 - cutter ==0.0 - - czipwith ==1.0.1.1 + - cyclotomic ==1.0 + - czipwith ==1.0.1.2 - data-accessor ==0.2.2.8 - data-accessor-mtl ==0.2.0.4 - data-accessor-template ==0.2.1.16 @@ -530,6 +464,7 @@ default-package-overrides: - data-binary-ieee754 ==0.4.4 - data-bword ==0.1.0.1 - data-checked ==0.3 + - data-clist ==0.1.2.3 - data-default ==0.7.1.1 - data-default-class ==0.1.2.0 - data-default-instances-containers ==0.0.1 @@ -537,7 +472,7 @@ default-package-overrides: - data-default-instances-old-locale ==0.0.1 - data-diverse ==4.6.0.0 - data-diverse-lens ==4.3.0.0 - - datadog ==0.2.3.0 + - datadog ==0.2.4.0 - data-dword ==0.3.1.2 - data-endian ==0.1.1 - data-fix ==0.2.0 @@ -552,39 +487,41 @@ default-package-overrides: - data-ref ==0.0.2 - data-reify ==0.6.1 - data-serializer ==0.3.4 + - datasets ==0.4.0 - data-textual ==0.3.0.2 - data-tree-print ==0.1.0.2 - dataurl ==0.1.0.0 - DAV ==1.3.3 - dbcleaner ==0.1.3 - - DBFunctor ==0.1.1.0 - - dbus ==1.2.3 + - DBFunctor ==0.1.1.1 + - dbus ==1.2.7 - debian-build ==0.10.1.2 - debug ==0.1.1 - debug-trace-var ==0.2.0 - - decidable ==0.1.4.0 + - dec ==0.0.3 + - decidable ==0.1.5.0 - Decimal ==0.5.1 - declarative ==0.5.2 - deepseq-generics ==0.2.0.0 - - deferred-folds ==0.9.10 - - dejafu ==1.11.0.5 + - deferred-folds ==0.9.10.1 + - dejafu ==2.1.0.0 - dense-linear-algebra ==0.1.0.0 - dependent-map ==0.2.4.0 - dependent-sum ==0.4 - dependent-sum-template ==0.0.0.6 - - deque ==0.2.7 + - deque ==0.4.2.3 - deriveJsonNoPrefix ==0.1.0.1 - - deriving-compat ==0.5.4 + - deriving-compat ==0.5.6 - derulo ==1.0.5 - detour-via-sci ==1.0.0 - - dhall ==1.19.1 - - dhall-bash ==1.0.18 - - dhall-json ==1.2.6 - - dhall-text ==1.0.15 + - dhall ==1.24.0 + - dhall-bash ==1.0.21 + - dhall-json ==1.3.0 - diagrams ==1.4 - diagrams-contrib ==1.4.3 - diagrams-core ==1.4.1.1 - diagrams-lib ==1.4.2.3 + - diagrams-postscript ==1.4.1 - diagrams-rasterific ==1.4.1.1 - diagrams-solve ==0.1.1 - diagrams-svg ==1.4.2 @@ -593,33 +530,37 @@ default-package-overrides: - Diff ==0.3.4 - digest ==0.0.1.2 - digits ==0.3.1 + - dimensional ==1.3 - di-monad ==1.3 - directory-tree ==0.12.1 - - direct-sqlite ==2.3.23 + - direct-sqlite ==2.3.24 - discount ==0.1.1 - disk-free-space ==0.1.0.1 - - distributed-closure ==0.4.1 + - distributed-closure ==0.4.1.1 - distribution-opensuse ==1.1.1 - distributive ==0.6 - - dlist ==0.8.0.5 + - dl-fedora ==0.5 + - dlist ==0.8.0.7 - dlist-instances ==0.1.1.1 - dlist-nonempty ==0.1.1 - - dns ==3.0.4 + - dns ==4.0.0 - dockerfile ==0.2.0 - docopt ==0.7.0.5 - doctemplates ==0.2.2.1 - - doctest ==0.16.0.1 + - doctest ==0.16.1 - doctest-discover ==0.2.0.0 - - doctest-driver-gen ==0.3.0.0 + - doctest-driver-gen ==0.3.0.1 + - doldol ==0.4.1.2 - do-list ==1.0.1 - dom-parser ==3.1.0 - - dotenv ==0.8.0.0 + - do-notation ==0.1.0.2 + - dotenv ==0.8.0.2 - dotgen ==0.4.2 - dotnet-timespan ==0.0.1.0 - double-conversion ==2.0.2.0 - - download ==0.3.2.6 + - download ==0.3.2.7 - drinkery ==0.4 - - dsp ==0.2.4.1 + - dsp ==0.2.5 - dual-tree ==0.2.2 - dublincore-xml-conduit ==0.1.0.2 - dunai ==0.5.1 @@ -628,34 +569,44 @@ default-package-overrides: - dvorak ==0.1.0.0 - dynamic-state ==0.3.1 - dyre ==0.8.12 - - Earley ==0.13.0.0 + - eap ==0.9.0.2 + - Earley ==0.13.0.1 - easy-file ==0.2.2 - easytest ==0.2.1 - Ebnf2ps ==1.0.15 - echo ==0.1.3 + - ecstasy ==0.2.1.0 - ed25519 ==0.0.5.0 - edit-distance ==0.2.2.1 - edit-distance-vector ==1.0.0.4 - editor-open ==0.6.0.0 - - either ==5.0.1 - - either-both ==0.1.0.0 + - either ==5.0.1.1 + - either-both ==0.1.1.1 + - ekg ==0.4.0.15 - ekg-core ==0.1.1.6 + - ekg-json ==0.1.0.6 - ekg-statsd ==0.2.4.0 - elerea ==2.9.0 - - elf ==0.29 - - eliminators ==0.5 - - elm2nix ==0.1.0 + - elf ==0.30 + - eliminators ==0.5.1 + - elm2nix ==0.1.1 + - elm-bridge ==0.5.2 - elm-core-sources ==1.0.0 - elm-export ==0.6.0.1 + - elm-street ==0.0.1 - emacs-module ==0.1.1 - - email-validate ==2.3.2.10 + - email-validate ==2.3.2.11 - emd ==0.1.4.0 - enclosed-exceptions ==1.0.3 + - ENIG ==0.0.1.0 - entropy ==0.4.1.4 - - enumset ==0.0.4.1 + - enummapset ==0.6.0.2 + - enumset ==0.0.5 - enum-subset-generate ==0.1.0.0 + - enum-text ==0.5.1.0 + - enum-text-rio ==1.2.0.0 - envelope ==0.2.2.0 - - envy ==1.5.1.0 + - envy ==2.0.0.0 - epub-metadata ==4.5 - eq ==4.2 - equal-files ==0.0.5.3 @@ -663,7 +614,8 @@ default-package-overrides: - errors ==2.3.0 - errors-ext ==0.4.2 - error-util ==0.0.1.2 - - ersatz ==0.4.4 + - ersatz ==0.4.7 + - esqueleto ==3.0.0 - etc ==0.4.1.0 - eventful-core ==0.2.0 - eventful-memory ==0.2.0 @@ -671,86 +623,93 @@ default-package-overrides: - eventful-sqlite ==0.2.0 - eventful-test-helpers ==0.2.0 - event-list ==0.1.2 - - eventstore ==1.2.1 + - eventstore ==1.3.0 - every ==0.0.1 - - exact-combinatorics ==0.2.0.8 + - exact-combinatorics ==0.2.0.9 - exact-pi ==0.5.0.1 - exceptional ==0.3.0.0 - exception-mtl ==0.4.0.1 - - exceptions ==0.10.0 + - exceptions ==0.10.2 - exception-transformers ==0.4.0.7 - executable-hash ==0.2.0.4 - executable-path ==0.0.3.1 - exit-codes ==1.0.0 - exomizer ==1.0.0 - expiring-cache-map ==0.0.6.1 - - explicit-exception ==0.1.9.2 + - explicit-exception ==0.1.10 - exp-pairs ==0.2.0.0 - extensible-exceptions ==0.1.1.4 - - extra ==1.6.14 + - extra ==1.6.18 - extractable-singleton ==0.0.1 - extrapolate ==0.3.3 - fail ==4.9.0.0 + - failable ==1.2.2.0 + - fakedata ==0.2.2 - farmhash ==0.1.0.5 + - fast-builder ==0.1.1.0 - fast-digits ==0.2.1.0 - - fast-logger ==2.4.13 + - fast-logger ==2.4.16 - fast-math ==1.0.2 - - fb ==1.2.1 + - fb ==2.0.0 - fclabels ==2.0.3.3 - feature-flags ==0.1.0.1 - - fedora-dists ==1.0.0.2 - - fedora-haskell-tools ==0.6 - - feed ==1.0.1.0 + - fedora-dists ==1.0.1 + - feed ==1.2.0.0 - FenwickTree ==0.1.2.1 - fft ==0.1.8.6 - fgl ==5.7.0.1 + - fib ==0.1 - filecache ==0.4.1 - file-embed ==0.0.11 - file-embed-lzma ==0 - - filelock ==0.1.1.2 + - filelock ==0.1.1.3 - filemanip ==0.3.6.3 - file-modules ==0.1.2.4 + - filepattern ==0.1.1 - fileplow ==0.1.0.0 - filter-logger ==0.6.0.0 - - filtrable ==0.1.1.0 - - fin ==0.0.1 + - filtrable ==0.1.2.0 + - fin ==0.1 - FindBin ==0.0.5 - fingertree ==0.1.4.2 - finite-typelits ==0.1.4.2 - - first-class-families ==0.3.0.1 + - first-class-families ==0.5.0.0 - first-class-patterns ==0.3.2.4 - fitspec ==0.4.7 - - fixed ==0.2.1.1 + - fixed ==0.3 - fixed-length ==0.2.1 - fixed-vector ==1.2.0.0 - fixed-vector-hetero ==0.5.0.0 - - flac ==0.1.2 + - flac ==0.2.0 - flac-picture ==0.1.2 + - flags-applicative ==0.1.0.1 - flat-mcmc ==1.5.0 - flay ==0.4 - flexible-defaults ==0.0.2 - FloatingHex ==0.4 - floatshow ==0.2.4 - - flow ==1.0.17 - - fmlist ==0.9.2 - - fmt ==0.6.1.1 + - flow ==1.0.18 + - fmlist ==0.9.3 + - fmt ==0.6.1.2 + - fmt-for-rio ==1.0.0.0 - fn ==0.3.0.2 - - focus ==1.0.1.2 - - focuslist ==0.1.0.1 + - focus ==1.0.1.3 + - focuslist ==0.1.0.2 - foldable1 ==0.1.0.0 - fold-debounce ==0.2.0.8 - fold-debounce-conduit ==0.2.0.3 - foldl ==1.4.5 - folds ==0.7.4 + - follow-file ==0.0.3 - FontyFruity ==0.5.3.4 - force-layout ==0.4.0.6 - foreign-store ==0.2 - forkable-monad ==0.2.0.3 - - forma ==1.1.1 + - forma ==1.1.2 - format-numbers ==0.1.0.0 - formatting ==6.3.7 - - foundation ==0.0.23 - - free ==5.1 + - foundation ==0.0.24 + - free ==5.1.1 - freenect ==1.2.1 - freer-simple ==1.2.1.0 - freetype2 ==0.1.2 @@ -761,155 +720,167 @@ default-package-overrides: - frontmatter ==0.1.0.2 - fsnotify ==0.3.0.1 - fsnotify-conduit ==0.1.1.1 - - ftp-client ==0.5.1.1 - - ftp-client-conduit ==0.5.0.4 - funcmp ==1.9 + - function-builder ==0.3.0.1 - functor-classes-compat ==1 - - fused-effects ==0.1.2.1 + - functor-combinators ==0.1.1.1 + - fused-effects ==0.5.0.0 - fuzzcheck ==0.1.1 - fuzzy-dates ==0.1.1.1 - - fuzzyset ==0.1.0.8 + - fuzzyset ==0.1.1 + - galois-field ==0.3.0 - gauge ==0.2.4 - - gc ==0.0.2 + - gc ==0.0.3 - gd ==3000.7.3 - gdp ==0.0.0.2 - general-games ==1.1.1 - generic-arbitrary ==0.1.0 - - generic-data ==0.3.0.0 - - generic-deriving ==1.12.3 + - generic-data ==0.7.0.0 + - generic-data-surgery ==0.2.0.0 + - generic-deriving ==1.12.4 - generic-lens ==1.1.0.0 - GenericPretty ==1.2.2 - generic-random ==1.2.0.0 - - generics-eot ==0.4 - - generics-mrsop ==1.2.2 + - generics-eot ==0.4.0.1 + - generics-mrsop ==2.1.0 - generics-sop ==0.4.0.1 - - generics-sop-lens ==0.1.2.1 - - genvalidity ==0.7.0.0 - - genvalidity-aeson ==0.2.0.2 - - genvalidity-bytestring ==0.3.0.1 - - genvalidity-containers ==0.5.1.1 - - genvalidity-hspec ==0.6.2.2 - - genvalidity-hspec-aeson ==0.3.0.1 + - generics-sop-lens ==0.2 + - genvalidity ==0.8.0.0 + - genvalidity-aeson ==0.3.0.0 + - genvalidity-bytestring ==0.5.0.0 + - genvalidity-containers ==0.6.0.0 + - genvalidity-hspec ==0.7.0.0 + - genvalidity-hspec-aeson ==0.3.1.0 - genvalidity-hspec-binary ==0.2.0.3 - genvalidity-hspec-cereal ==0.2.0.3 - - genvalidity-hspec-hashable ==0.2.0.3 + - genvalidity-hspec-hashable ==0.2.0.4 - genvalidity-hspec-optics ==0.1.1.1 - genvalidity-path ==0.3.0.2 - - genvalidity-property ==0.3.0.0 + - genvalidity-property ==0.4.0.0 - genvalidity-scientific ==0.2.1.0 - - genvalidity-text ==0.5.1.0 + - genvalidity-text ==0.6.0.0 - genvalidity-time ==0.2.1.1 - - genvalidity-unordered-containers ==0.2.0.4 + - genvalidity-unordered-containers ==0.3.0.0 - genvalidity-uuid ==0.1.0.2 - - genvalidity-vector ==0.2.0.3 - - geojson ==3.0.4 + - genvalidity-vector ==0.3.0.0 + - geojson ==4.0.1 - getopt-generics ==0.13.0.3 + - ghc-compact ==0.1.0.0 - ghc-core ==0.5.6 - - ghc-exactprint ==0.5.8.2 - - ghcid ==0.7.1 - - ghci-hexcalc ==0.1.0.1 + - ghc-exactprint ==0.6.1 + - ghcid ==0.7.5 + - ghci-hexcalc ==0.1.1.0 - ghcjs-codemirror ==0.0.0.2 - - ghc-paths ==0.1.0.9 + - ghc-lib ==8.8.0.20190424 + - ghc-lib-parser ==8.8.0.20190424 + - ghc-parser ==0.2.0.3 + - ghc-paths ==0.1.0.12 - ghc-prof ==1.4.1.5 - - ghc-syntax-highlighter ==0.0.3.0 + - ghc-syntax-highlighter ==0.0.4.0 - ghc-tcplugins-extra ==0.3 - ghc-typelits-extra ==0.3 - ghc-typelits-knownnat ==0.6 - ghc-typelits-natnormalise ==0.6.2 - ghost-buster ==0.1.1.0 - - gi-atk ==2.0.15 - - gi-cairo ==1.0.17 - - gi-gdk ==3.0.16 - - gi-gdkpixbuf ==2.0.18 - - gi-gio ==2.0.18 - - gi-glib ==2.0.17 - - gi-gobject ==2.0.16 - - gi-gtk ==3.0.27 - - gi-gtk-hs ==0.3.6.3 - - gi-gtksource ==3.0.16 - - gi-javascriptcore ==4.0.16 + - gi-atk ==2.0.21 + - gi-cairo ==1.0.23 + - gi-gdk ==3.0.22 + - gi-gdkpixbuf ==2.0.23 + - gi-gio ==2.0.25 + - gi-glib ==2.0.23 + - gi-gobject ==2.0.22 + - gi-gtk ==3.0.32 + - gi-gtk-hs ==0.3.8.0 + - gi-gtksource ==3.0.22 + - gi-javascriptcore ==4.0.21 + - ginger ==0.9.1.0 - gingersnap ==0.3.1.0 - - gi-pango ==1.0.16 - - giphy-api ==0.6.0.1 + - gi-pango ==1.0.22 - githash ==0.1.3.1 - github-release ==1.2.4 - github-types ==0.2.1 - github-webhooks ==0.10.1 - gitrev ==1.3.1 - - gi-vte ==2.91.19 - - gl ==0.8.0 - - glabrous ==1.0.1 + - gi-vte ==2.91.25 + - gl ==0.9 + - glabrous ==2.0.0 - glaze ==0.3.0.1 - glazier ==1.0.0.0 - GLFW-b ==3.2.1.0 - - Glob ==0.9.3 + - Glob ==0.10.0 - gloss ==1.13.0.1 - gloss-algorithms ==1.13.0.1 - gloss-examples ==1.13.0.2 - gloss-raster ==1.13.0.2 - - gloss-rendering ==1.13.0.2 + - gloss-rendering ==1.13.1.1 - GLURaw ==2.0.0.4 - - GLUT ==2.7.0.14 - - gnuplot ==0.5.5.3 - - goggles ==0.3.2 + - GLUT ==2.7.0.15 + - gnuplot ==0.5.6 - google-isbn ==1.0.3 - google-oauth2-jwt ==0.3.1 - gpolyline ==0.1.0.1 - graph-core ==0.3.0.0 + - graphite ==0.10.0.1 - graphs ==0.7.1 + - graphviz ==2999.20.0.3 - graph-wrapper ==0.2.6.0 - gravatar ==0.8.0 - graylog ==0.1.0.1 - greskell ==0.2.3.0 - - greskell-core ==0.1.2.4 + - greskell-core ==0.1.2.6 - greskell-websocket ==0.1.1.2 - groom ==0.1.2.1 - groundhog ==0.10.0 + - groundhog-inspector ==0.10.0 - groundhog-mysql ==0.10 - groundhog-postgresql ==0.10 - groundhog-sqlite ==0.10.0 + - groundhog-th ==0.10.2 + - group-by-date ==0.1.0.3 + - grouped-list ==0.2.2.1 - groups ==0.4.1.0 - guarded-allocation ==0.0.1 - gym-http-api ==0.1.0.1 - - h2c ==1.0.0 + - H ==0.9.0.1 - hackage-db ==2.0.1 - hackage-security ==0.5.3.0 - haddock-library ==1.7.0 - - hailgun ==0.4.1.8 + - hadolint ==1.17.1 - half ==0.3 - hamilton ==0.1.0.3 - hamtsolo ==1.0.3 - HandsomeSoup ==0.4.2 - - hapistrano ==0.3.9.2 - - happy ==1.19.9 - - hasbolt ==0.1.3.2 + - hapistrano ==0.3.9.3 + - happy ==1.19.11 + - hasbolt ==0.1.3.4 - hashable ==1.2.7.0 - hashable-time ==0.2.0.2 - hashids ==1.0.2.4 - hashmap ==1.3.3 - - hashtables ==1.2.3.1 + - hashtables ==1.2.3.4 - haskeline ==0.7.5.0 - - haskell-gi ==0.21.5 - - haskell-gi-base ==0.21.5 + - haskell-gi ==0.23.0 + - haskell-gi-base ==0.23.0 - haskell-gi-overloading ==1.0 - haskell-lexer ==1.0.2 - - haskell-lsp ==0.8.0.1 - - haskell-lsp-types ==0.8.0.1 - - haskell-names ==0.9.4 - - HaskellNet ==0.5.1 + - haskell-lsp ==0.15.0.0 + - haskell-lsp-types ==0.15.0.0 + - haskell-names ==0.9.6 - haskell-spacegoo ==0.2.0.1 - haskell-src ==1.0.3.0 - - haskell-src-exts ==1.20.3 - - haskell-src-exts-util ==0.2.4 - - haskell-src-meta ==0.8.0.3 - - haskey-btree ==0.3.0.0 - - haskoin-core ==0.8.4 - - hasql ==1.3.0.3 - - hasql-optparse-applicative ==0.3.0.3 - - hasql-pool ==0.5.0.1 - - hasql-transaction ==0.7 + - haskell-src-exts ==1.21.0 + - haskell-src-exts-util ==0.2.5 + - haskell-src-meta ==0.8.2 + - haskey-btree ==0.3.0.1 + - haskintex ==0.8.0.0 + - haskoin-core ==0.9.0 + - hasql ==1.4 + - hasql-optparse-applicative ==0.3.0.5 + - hasql-pool ==0.5.1 + - hasql-transaction ==0.7.2 - hasty-hamiltonian ==1.3.2 - - haxl ==2.0.1.1 + - HaTeX ==3.21.0.0 + - haxl ==2.1.2.0 - hbeanstalk ==0.2.4 - HCodecs ==0.5.1 - hdaemonize ==0.5.5 @@ -918,11 +889,12 @@ default-package-overrides: - HDBC-session ==0.1.2.0 - heap ==1.0.4 - heaps ==0.3.6.1 - - hebrew-time ==0.1.1 - - hedgehog ==0.6.1 + - hebrew-time ==0.1.2 + - hedgehog ==1.0 - hedgehog-corpus ==0.1.0 - - hedis ==0.10.10 - - hedn ==0.2.0.0 + - hedgehog-fn ==1.0 + - hedis ==0.12.7 + - hedn ==0.2.0.1 - here ==1.2.13 - heredoc ==0.2.0.0 - heterocephalus ==1.0.5.3 @@ -933,27 +905,30 @@ default-package-overrides: - hexstring ==0.11.1 - hformat ==0.3.3.1 - hfsevents ==0.1.6 - - hgmp ==0.1.1 - hidapi ==0.1.5 - hidden-char ==0.1.0.2 + - hi-file-parser ==0.1.0.0 - higher-leveldb ==0.5.0.2 - highlighting-kate ==0.6.4 - hinfo ==0.0.3.0 - hinotify ==0.4 - - hint ==0.9.0 + - hint ==0.9.0.1 - hjsmin ==0.2.0.2 + - hkgr ==0.2.2 - hlibgit2 ==0.18.0.16 - hlibsass ==0.1.8.0 - - hmatrix ==0.19.0.0 - - hmatrix-backprop ==0.1.2.5 + - hmatrix ==0.20.0.0 + - hmatrix-backprop ==0.1.3.0 - hmatrix-gsl ==0.19.0.1 - - hmatrix-gsl-stats ==0.4.1.7 + - hmatrix-gsl-stats ==0.4.1.8 - hmatrix-morpheus ==0.1.1.2 - - hmatrix-vector-sized ==0.1.1.2 + - hmatrix-vector-sized ==0.1.2.0 + - hmm-lapack ==0.4 - hmpfr ==0.4.4 - - hoauth2 ==1.8.4 + - hoauth2 ==1.8.9 - Hoed ==0.5.1 - - hOpenPGP ==2.7.4.1 + - hOpenPGP ==2.8 + - hopenpgp-tools ==0.21.3 - hopfli ==0.2.2.1 - hosc ==0.17 - hostname ==1.0 @@ -961,49 +936,52 @@ default-package-overrides: - hourglass ==0.2.12 - hourglass-orphans ==0.1.0.0 - hp2pretty ==0.9 - - hpack ==0.31.1 - - hpack-dhall ==0.5.1 + - hpack ==0.31.2 + - hpack-dhall ==0.5.2 + - hquantlib-time ==0.0.4.1 - hreader ==1.1.0 - hreader-lens ==0.1.3.0 - - hruby ==0.3.6 + - hruby ==0.3.8 - hsass ==0.8.0 - hs-bibutils ==6.7.0.0 + - hsc2hs ==0.68.4 - hschema ==0.0.1.1 - hschema-aeson ==0.0.1.1 - hschema-prettyprinter ==0.0.1.1 - hschema-quickcheck ==0.0.1.1 - hscolour ==1.24.4 - hsdev ==0.3.2.3 - - hsdns ==1.7.1 + - hsdns ==1.8 - hsebaysdk ==0.4.0.0 - - hsemail ==2 + - hsemail ==2.2.0 - HSet ==0.0.1 - hset ==2.2.0 - hsexif ==0.6.1.6 - - hs-functors ==0.1.3.0 + - hs-functors ==0.1.4.0 - hs-GeoIP ==0.3 - hsini ==0.5.1.2 - hsinstall ==2.2 - HSlippyMap ==3.0.1 - hslogger ==1.2.12 - - hslua ==1.0.2 + - hslua ==1.0.3.2 - hslua-aeson ==1.0.0 - - hslua-module-text ==0.2.0 + - hslua-module-system ==0.2.1 + - hslua-module-text ==0.2.1 - HsOpenSSL ==0.11.4.16 - HsOpenSSL-x509-system ==0.1.0.3 - hsp ==0.10.0 - - hspec ==2.6.1 + - hspec ==2.7.1 - hspec-attoparsec ==0.1.0.2 - hspec-checkers ==0.1.0.2 - hspec-contrib ==0.5.1 - - hspec-core ==2.6.1 - - hspec-discover ==2.6.1 + - hspec-core ==2.7.1 + - hspec-discover ==2.7.1 - hspec-expectations ==0.8.2 - hspec-expectations-lifted ==0.10.0 - hspec-expectations-pretty-diff ==0.7.2.4 - hspec-golden-aeson ==0.7.0.0 - hspec-leancheck ==0.0.3 - - hspec-megaparsec ==2.0.0 + - hspec-megaparsec ==2.0.1 - hspec-meta ==2.6.0 - hspec-need-env ==0.1.0.3 - hspec-pg-transact ==0.1.0.2 @@ -1011,63 +989,71 @@ default-package-overrides: - hspec-wai ==0.9.2 - hspec-wai-json ==0.9.2 - hs-php-session ==0.0.9.3 + - hsshellscript ==3.4.5 - hstatsd ==0.1 - HStringTemplate ==0.8.7 - - HSvm ==0.1.0.3.22 - - HsYAML ==0.1.1.3 + - HSvm ==0.1.1.3.22 + - HsYAML ==0.1.2.0 - hsyslog ==5.0.2 - htaglib ==1.2.0 - HTF ==0.13.2.5 - html ==1.0.1.2 - html-conduit ==1.3.2 - html-email-validate ==0.2.0.0 - - html-entities ==1.1.4.2 + - html-entities ==1.1.4.3 - html-entity-map ==0.1.0.0 - htoml ==1.0.0.3 - - HTTP ==4000.3.12 - - http2 ==1.6.4 - - http-api-data ==0.4 - - http-client ==0.5.14 + - http2 ==1.6.5 + - HTTP ==4000.3.14 + - http-api-data ==0.4.1 + - http-client ==0.6.4 - http-client-tls ==0.3.5.3 - http-common ==0.8.2.0 - - http-conduit ==2.3.5 + - http-conduit ==2.3.7.1 - http-date ==0.0.8 - - httpd-shed ==0.4.0.3 + - http-directory ==0.1.5 + - http-download ==0.1.0.0 + - httpd-shed ==0.4.1.1 - http-link-header ==1.0.3.1 - - http-media ==0.7.1.3 + - http-media ==0.8.0.0 - http-reverse-proxy ==0.6.0 - http-streams ==0.8.6.1 - - http-types ==0.12.2 - - human-readable-duration ==0.2.1.3 + - http-types ==0.12.3 + - human-readable-duration ==0.2.1.4 - HUnit ==1.6.0.0 - HUnit-approx ==1.1.1.1 - - hunit-dejafu ==1.2.1.0 + - hunit-dejafu ==2.0.0.1 - hvect ==0.4.0.0 - - hvega ==0.1.0.3 - - hw-balancedparens ==0.2.0.2 - - hw-bits ==0.7.0.5 + - hvega ==0.3.0.1 + - hw-balancedparens ==0.2.0.4 + - hw-bits ==0.7.0.6 - hw-conduit ==0.2.0.5 - hw-conduit-merges ==0.2.0.0 - - hw-diagnostics ==0.0.0.5 + - hw-diagnostics ==0.0.0.7 + - hw-dsv ==0.3.5 - hweblib ==0.6.3 - - hw-eliasfano ==0.1.0.1 - - hw-excess ==0.2.0.2 + - hw-eliasfano ==0.1.1.0 + - hw-excess ==0.2.2.0 + - hw-fingertree ==0.1.1.0 - hw-fingertree-strict ==0.1.1.1 - - hw-hspec-hedgehog ==0.1.0.4 + - hw-hedgehog ==0.1.0.3 + - hw-hspec-hedgehog ==0.1.0.7 - hw-int ==0.0.0.3 - - hw-ip ==2.0.1.0 - - hw-json ==0.9.0.1 - - hw-mquery ==0.1.0.3 - - hw-packed-vector ==0.0.0.1 - - hw-parser ==0.1.0.0 - - hw-prim ==0.6.2.22 - - hw-rankselect ==0.12.0.4 + - hw-ip ==2.3.4.1 + - hw-json ==1.0.0.2 + - hw-json-simd ==0.1.0.2 + - hw-mquery ==0.2.0.1 + - hw-packed-vector ==0.0.0.3 + - hw-parser ==0.1.0.1 + - hw-prim ==0.6.2.31 + - hw-rankselect ==0.13.0.0 - hw-rankselect-base ==0.3.2.1 + - hw-simd ==0.1.1.4 - hw-streams ==0.0.0.10 - hw-string-parse ==0.0.0.4 - hw-succinct ==0.1.0.1 - - hxt ==9.3.1.16 - - hxt-charproperties ==9.2.0.1 + - hxt ==9.3.1.18 + - hxt-charproperties ==9.4.0.0 - hxt-css ==0.1.0.3 - hxt-curl ==9.1.1.1 - hxt-expat ==9.1.1 @@ -1076,48 +1062,56 @@ default-package-overrides: - hxt-tagsoup ==9.1.4 - hxt-unicode ==9.0.2.4 - hybrid-vectors ==0.2.2 + - hyper ==0.1.0.3 - hyperloglog ==0.4.2 - - hyphenation ==0.7.1 + - hyphenation ==0.8 - hyraxAbif ==0.2.3.15 - iconv ==0.4.1.3 - identicon ==0.2.2 - ieee754 ==0.8.0 - if ==0.1.0.0 - iff ==0.0.6 + - ihaskell ==0.10.0.0 - ihs ==0.1.0.3 - ilist ==0.3.1.0 - imagesize-conduit ==1.1 - Imlib ==0.1.2 - immortal ==0.3 - include-file ==0.1.0.4 - - incremental-parser ==0.3.2.1 + - incremental-parser ==0.3.2.2 - indentation-core ==0.0.0.2 - indentation-parsec ==0.0.0.2 - indents ==0.5.0.0 + - indexed ==0.1.3 - indexed-list-literals ==0.2.1.2 - infer-license ==0.2.0 - inflections ==0.4.0.4 - - influxdb ==1.6.1.2 - - ini ==0.3.6 + - influxdb ==1.7.1 + - ini ==0.4.1 + - inj ==1.0 - inline-c ==0.7.0.1 - - inline-c-cpp ==0.3.0.1 + - inline-c-cpp ==0.3.0.2 + - inline-r ==0.10.2 - inliterate ==0.1.0 - - insert-ordered-containers ==0.2.1.0 - - inspection-testing ==0.4.1.1 + - insert-ordered-containers ==0.2.2 + - inspection-testing ==0.4.2.1 - instance-control ==0.1.2.0 - - integer-logarithms ==1.0.2.2 + - int-cast ==0.2.0.0 + - integer-logarithms ==1.0.3 - integration ==0.2.1 - intern ==0.9.2 - interpolate ==0.2.0 - interpolatedstring-perl6 ==1.0.1 - - interpolation ==0.1.0.3 - - interpolator ==0.1.1 - - IntervalMap ==0.6.1.0 + - interpolatedstring-qq2 ==0.1.0.0 + - interpolation ==0.1.1.1 + - interpolator ==1.0.0 + - IntervalMap ==0.6.1.1 - intervals ==0.8.1 - intro ==0.5.2.1 - intset-imperative ==0.1.0.0 - - invariant ==0.5.1 + - invariant ==0.5.3 - invertible ==0.2.0.5 + - invertible-grammar ==0.1.2 - io-choice ==0.0.7 - io-machine ==0.2.0.0 - io-manager ==0.1.0.2 @@ -1126,14 +1120,15 @@ default-package-overrides: - io-storage ==0.3 - io-streams ==1.5.1.0 - io-streams-haproxy ==1.0.1.0 - - ip ==1.4.1 + - ip ==1.5.1 - ip6addr ==1.0.0 - iproute ==1.7.7 - IPv6Addr ==1.1.2 - - ipython-kernel ==0.9.1.0 + - ipynb ==0.1 + - ipython-kernel ==0.10.0.0 - irc ==0.6.1.0 - - irc-client ==1.1.0.5 - - irc-conduit ==0.3.0.1 + - irc-client ==1.1.1.0 + - irc-conduit ==0.3.0.3 - irc-ctcp ==0.1.3.0 - islink ==0.1.0.0 - iso3166-country-codes ==0.20140203.8 @@ -1143,114 +1138,129 @@ default-package-overrides: - ixset-typed ==0.4.0.1 - ix-shapable ==0.1.0 - jack ==0.7.1.4 - - jose ==0.8.0.0 + - jose ==0.8.1.0 - jose-jwt ==0.8.0 + - js-dgtable ==0.5.2 - js-flot ==0.8.3 - js-jquery ==3.3.1 - json ==0.9.3 - json-alt ==1.0.0 - json-feed ==1.0.6 + - jsonpath ==0.1.0.1 - json-rpc ==1.0.0 - json-rpc-client ==0.2.5.0 - json-rpc-generic ==0.2.1.5 - json-rpc-server ==0.2.6.0 - - JuicyPixels ==3.3.3 - - JuicyPixels-extra ==0.4.0 + - JuicyPixels ==3.3.3.1 + - JuicyPixels-extra ==0.4.1 - JuicyPixels-scale-dct ==0.1.2 - justified-containers ==0.3.0.0 + - jwt ==0.10.0 - kan-extensions ==5.2 - - kanji ==3.4.0 - - katip ==0.7.0.0 + - kanji ==3.4.0.2 + - katip ==0.8.3.0 - kawhi ==0.3.0 - kazura-queue ==0.1.0.4 - kdt ==0.2.4 - keycode ==0.2.2 - - keys ==3.12.1 - - kind-apply ==0.3.0.0 + - keys ==3.12.2 + - kind-apply ==0.3.1.0 - kind-generics ==0.3.0.0 - - kind-generics-th ==0.1.0.0 - - kleene ==0 + - kind-generics-th ==0.1.1.0 + - kleene ==0.1 - kmeans ==0.1.3 - koofr-client ==1.0.0.3 - kraken ==0.1.0 - l10n ==0.1.0.1 - labels ==0.3.3 - - lackey ==1.0.8 - - lame ==0.1.1 + - lackey ==1.0.9 + - LambdaHack ==0.9.5.0 + - lame ==0.2.0 - language-c ==0.8.2 - language-c-quote ==0.12.2 - - language-docker ==8.0.0 + - language-docker ==8.0.2 - language-ecmascript ==0.19 - language-haskell-extract ==0.2.4 - language-java ==0.2.9 - - language-javascript ==0.6.0.11 - - language-puppet ==1.4.2 + - language-javascript ==0.6.0.13 + - language-puppet ==1.4.5 + - lapack ==0.3.1 + - lapack-carray ==0.0.3 + - lapack-comfort-array ==0.0.0.1 - lapack-ffi ==0.0.2 - - lapack-ffi-tools ==0.1.2 + - lapack-ffi-tools ==0.1.2.1 - largeword ==1.2.5 - latex ==0.1.0.4 - - lattices ==1.7.1.1 + - lattices ==2.0.1 - lawful ==0.1.0.0 + - lazy-csv ==0.5.1 - lazyio ==0.1.0.4 - lca ==0.3.1 - - leancheck ==0.8.0 + - leancheck ==0.9.1 - leancheck-instances ==0.0.3 - leapseconds-announced ==2017.1.0.1 - - lens ==4.17 + - learn-physics ==0.6.4 + - lens ==4.17.1 - lens-action ==0.2.3 - lens-aeson ==1.0.2 - lens-datetime ==0.3 - lens-family ==1.2.3 - lens-family-core ==1.2.3 - lens-family-th ==0.5.0.2 - - lens-labels ==0.3.0.1 - lens-misc ==0.0.2.0 + - lens-process ==0.3.0.0 - lens-properties ==4.11.1 - lens-regex ==0.1.1 + - lens-regex-pcre ==0.3.1.0 - lens-simple ==0.1.0.9 - lens-typelevel ==0.1.1.0 - - lenz ==0.3.0.0 + - lenz ==0.3.1.0 - leveldb-haskell ==0.6.5 - libffi ==0.1 - libgit ==0.3.1 - libgraph ==1.14 - libmpd ==0.9.0.9 - - libraft ==0.1.1.0 - - libyaml ==0.1.0.0 + - liboath-hs ==0.0.1.1 + - libraft ==0.5.0.0 + - libyaml ==0.1.1.0 - LibZip ==1.0.1 - - lifted-async ==0.10.0.3 + - lifted-async ==0.10.0.4 - lifted-base ==0.2.3.12 - lift-generics ==0.1.2 - line ==4.0.1 - - linear ==1.20.8 + - linear ==1.20.9 + - linear-circuit ==0.1.0.2 - linux-file-extents ==0.2.0.0 - linux-namespaces ==0.1.3.0 - List ==0.6.2 - - ListLike ==4.6 + - ListLike ==4.6.2 - listsafe ==0.1.0.1 - list-t ==1.0.3.1 - ListTree ==0.2.3 - - llvm-hs-pure ==7.0.0 + - list-witnesses ==0.1.1.1 + - llvm-hs ==8.0.0 + - llvm-hs-pure ==8.0.0 - lmdb ==0.2.5 - - load-env ==0.2.0.2 + - load-env ==0.2.1.0 - loc ==0.1.3.4 - locators ==0.2.4.4 - loch-th ==0.2.2 - lockfree-queue ==0.2.3.1 - - log-base ==0.7.4.0 + - log-base ==0.8.0.0 - log-domain ==0.12 - logfloat ==0.13.3.3 - logger-thread ==0.1.0.2 - - logging-effect ==1.3.3 + - logging-effect ==1.3.4 - logging-facade ==0.3.0 - logging-facade-syslog ==1 - - logict ==0.6.0.2 - - long-double ==0.1 + - logict ==0.7.0.2 - loop ==0.3.0 + - loopbreaker ==0.1.1.0 + - lrucache ==1.2.0.1 - lrucaching ==0.3.3 - - lsp-test ==0.5.0.2 + - lsp-test ==0.6.1.0 - lucid ==2.9.11 - - lucid-extras ==0.1.0.1 + - lucid-extras ==0.2.2 - lxd-client-config ==0.1.0.1 - lzma ==0.0.0.3 - lzma-conduit ==1.2.1 @@ -1258,74 +1268,77 @@ default-package-overrides: - machines-binary ==0.3.0.3 - machines-directory ==0.2.1.0 - machines-io ==0.2.0.13 + - magico ==0.0.2.1 - mainland-pretty ==0.7 - - main-tester ==0.2.0.0 + - main-tester ==0.2.0.1 - makefile ==1.1.0.0 - managed ==1.0.6 - - mapquest-api ==0.3.1 - markdown ==0.1.17.4 - markdown-unlit ==0.5.0 - markov-chain ==0.0.3.4 - - massiv ==0.2.7.0 - - massiv-io ==0.1.5.0 + - massiv ==0.4.0.0 + - massiv-io ==0.1.6.0 + - massiv-test ==0.1.0 - mathexpr ==0.3.0.0 - math-functions ==0.3.1.0 - - matrices ==0.4.5 + - matplotlib ==0.7.4 + - matrices ==0.5.0 - matrix ==0.3.6.1 - matrix-market-attoparsec ==0.1.0.8 - matrix-static ==0.2 - maximal-cliques ==0.1.1 - mbox ==0.3.4 - - mbox-utility ==0.0.1 - mbtiles ==0.6.0.0 - - mbug ==1.3.2 - mcmc-types ==1.0.3 - median-stream ==0.7.0.0 - - megaparsec ==7.0.4 - - mega-sdist ==0.3.3.2 + - megaparsec ==7.0.5 + - megaparsec-tests ==7.0.5 + - mega-sdist ==0.4.0.1 - memory ==0.14.18 - MemoTrie ==0.6.9 - - menshen ==0.0.1 + - menshen ==0.0.3 - mercury-api ==0.1.0.2 - merkle-tree ==0.1.1 - mersenne-random-pure64 ==0.2.2.0 + - messagepack ==0.5.4 - metrics ==0.4.1.1 - mfsolve ==0.3.2.0 - - microbench ==0.1 - microformats2-parser ==1.0.1.9 - microlens ==0.4.10 - - microlens-aeson ==2.3.0.1 + - microlens-aeson ==2.3.0.4 - microlens-contra ==0.1.0.2 - microlens-ghc ==0.4.10 - microlens-mtl ==0.1.11.1 - microlens-platform ==0.3.11 + - microlens-process ==0.2.0.0 - microlens-th ==0.4.2.3 - microspec ==0.2.1.3 - microstache ==1.0.1.1 - midair ==0.2.0.1 - midi ==0.2.2.2 + - midi-music-box ==0.0.1.1 - mighty-metropolis ==1.2.0 - - mime-mail ==0.4.14 + - mime-mail ==0.5.0 - mime-mail-ses ==0.4.1 - mime-types ==0.1.0.9 - minimorph ==0.2.1.0 - - minio-hs ==1.2.0 + - minio-hs ==1.5.0 - miniutter ==0.5.0.0 - mintty ==0.1.2 - - miso ==0.21.2.0 + - miso ==1.2.0.0 - missing-foreign ==0.1.1 - MissingH ==1.4.1.0 - - mixed-types-num ==0.3.1.5 - - mixpanel-client ==0.1.1 + - mixed-types-num ==0.4.0.1 - mltool ==0.2.0.1 - mmap ==0.5.9 - - mmark ==0.0.6.1 + - mmark ==0.0.7.1 - mmark-cli ==0.0.5.0 - - mmark-ext ==0.2.1.1 - - mmorph ==1.1.2 + - mmark-ext ==0.2.1.2 + - mmorph ==1.1.3 + - mmtf ==0.1.3.1 - mnist-idx ==0.1.2.8 - mockery ==0.3.5 - - modern-uri ==0.3.0.1 + - modern-uri ==0.3.1.0 - modular ==0.1.0.8 - monad-control ==1.0.2.3 - monad-control-aligned ==0.0.1.1 @@ -1335,10 +1348,11 @@ default-package-overrides: - monad-journal ==0.8.1 - monad-logger ==0.3.30 - monad-logger-json ==0.1.0.0 - - monad-logger-prefix ==0.1.10 + - monad-logger-prefix ==0.1.11 - monad-logger-syslog ==0.1.4.0 - monad-loops ==0.4.3 - monad-memo ==0.5.1 + - monad-metrics ==0.2.1.4 - monad-par ==0.3.4.8 - monad-parallel ==0.7.2.3 - monad-par-extras ==0.3.3 @@ -1352,27 +1366,33 @@ default-package-overrides: - monad-time ==0.3.1.0 - monad-unlift ==0.2.0 - monad-unlift-ref ==0.2.1 - - mongoDB ==2.4.0.0 + - mongoDB ==2.5.0.0 - monoidal-containers ==0.4.0.0 - monoid-extras ==0.5 - monoid-subclasses ==0.4.6.1 - monoid-transformer ==0.0.4 - - mono-traversable ==1.0.11.0 + - mono-traversable ==1.0.12.0 - mono-traversable-instances ==0.1.0.0 + - mono-traversable-keys ==0.1.0 + - more-containers ==0.2.1.2 - mountpoints ==1.0.2 + - mpi-hs ==0.5.1.2 + - msgpack ==1.0.1.0 + - msgpack-aeson ==0.1.0.0 - mtl ==2.2.2 - - mtl-compat ==0.2.1.3 + - mtl-compat ==0.2.2 - mtl-prelude ==2.0.3.1 - multiarg ==0.30.0.10 - multimap ==1.2.1 - multipart ==0.1.3 - multiset ==0.3.4.1 + - multistate ==0.8.0.2 - murmur3 ==1.0.3 - murmur-hash ==0.1.0.9 - MusicBrainz ==0.4.1 - mustache ==2.3.0 - mutable-containers ==0.3.4 - - mwc-probability ==2.0.4 + - mwc-probability ==2.1.0 - mwc-probability-transition ==0.4 - mwc-random ==0.14.0.0 - mysql ==0.1.7 @@ -1381,7 +1401,7 @@ default-package-overrides: - mysql-simple ==0.4.5 - n2o ==0.11.1 - nagios-check ==0.3.2 - - named ==0.2.0.0 + - named ==0.3.0.0 - names-th ==0.3.0.0 - nano-erl ==0.1.0.1 - nanospec ==0.2.2 @@ -1391,29 +1411,32 @@ default-package-overrides: - natural-transformation ==0.4 - ndjson-conduit ==0.1.0.5 - neat-interpolation ==0.3.2.4 + - netlib-carray ==0.1 + - netlib-comfort-array ==0.0.0.1 - netlib-ffi ==0.1.1 - - netpbm ==1.0.2 + - netpbm ==1.0.3 + - netrc ==0.2.0.0 - nettle ==0.3.0 - netwire ==5.0.3 - netwire-input ==0.0.7 - netwire-input-glfw ==0.0.10 - - network ==2.8.0.0 + - network ==2.8.0.1 - network-anonymous-i2p ==0.10.0 - - network-anonymous-tor ==0.11.0 - network-attoparsec ==0.12.2 - - network-byte-order ==0.0.0.0 + - network-bsd ==2.8.0.0 + - network-byte-order ==0.1.1.0 - network-conduit-tls ==1.3.2 - network-house ==0.1.0.2 - network-info ==0.2.0.10 - network-ip ==0.3.0.2 - - network-messagepack-rpc ==0.1.1.0 - - network-multicast ==0.2.0 - - network-simple ==0.4.3 - - network-simple-tls ==0.3.1 - - network-transport ==0.5.2 + - network-messagepack-rpc ==0.1.1.1 + - network-multicast ==0.3.2 + - network-simple ==0.4.5 + - network-simple-tls ==0.3.2 + - network-transport ==0.5.4 - network-transport-composed ==0.2.1 - network-uri ==2.6.1.0 - - newtype ==0.2 + - newtype ==0.2.1.0 - newtype-generics ==0.5.3 - nicify-lib ==1.0.1 - NineP ==0.0.2.1 @@ -1421,26 +1444,32 @@ default-package-overrides: - NoHoed ==0.1.1 - nonce ==1.0.7 - nondeterminism ==1.4 - - non-empty ==0.3.1 - - nonempty-containers ==0.1.1.0 + - non-empty ==0.3.2 + - nonempty-containers ==0.3.1.0 - nonemptymap ==0.0.6.0 - non-empty-sequence ==0.2.0.2 - non-negative ==0.1.2 + - not-gloss ==0.7.7.0 + - no-value ==1.0.0.0 - nowdoc ==0.1.1.0 - nqe ==0.6.1 - - nsis ==0.3.2 + - nsis ==0.3.3 - numbers ==3000.2.0.2 - numeric-extras ==0.1 - numeric-prelude ==0.4.3.1 + - numhask ==0.3.0.0 - NumInstances ==1.4 - numtype-dk ==0.5.0.2 - nuxeo ==0.3.2 + - nvim-hs ==2.1.0.2 + - nvim-hs-contrib ==2.0.0.0 - nvvm ==0.9.0.0 - oauthenticated ==0.2.1.0 - ObjectName ==1.1.0.1 - oblivious-transfer ==0.1.0 - odbc ==0.2.2 - oeis ==0.3.9 + - oeis2 ==1.0.2 - ofx ==0.4.2.0 - old-locale ==1.0.0.7 - old-time ==1.1.0.3 @@ -1450,51 +1479,60 @@ default-package-overrides: - OneTuple ==0.2.2 - Only ==0.1 - oo-prototypes ==0.1.0.0 - - opaleye ==0.6.7003.1 - - OpenAL ==1.7.0.4 + - opaleye ==0.6.7004.0 + - OpenAL ==1.7.0.5 - open-browser ==0.2.1.0 - openexr-write ==0.1.0.2 - - OpenGL ==3.0.2.2 - - OpenGLRaw ==3.3.2.0 - - openpgp-asciiarmor ==0.1.1 + - OpenGL ==3.0.3.0 + - OpenGLRaw ==3.3.3.0 + - openpgp-asciiarmor ==0.1.2 - opensource ==0.1.1.0 - openssl-streams ==1.2.2.0 - open-witness ==0.4.0.1 - operational ==0.2.3.5 - operational-class ==0.3.0.0 - - opml-conduit ==0.6.0.4 - optional-args ==1.0.2 - options ==1.2.1.1 - optparse-applicative ==0.14.3.0 + - optparse-enum ==1.0.0.0 - optparse-generic ==1.3.0 - - optparse-simple ==0.1.1.1 + - optparse-simple ==0.1.1.2 - optparse-text ==0.1.1.0 + - ordered-containers ==0.2.2 + - oset ==0.4.0.1 - overhang ==1.0.0 - - packcheck ==0.4.1 + - packcheck ==0.4.2 - pager ==0.1.1.0 - pagination ==0.2.1 - - pairing ==0.1.4 - - pandoc ==2.5 - - pandoc-citeproc ==0.15.0.1 - - pandoc-pyplot ==1.0.3.0 - - pandoc-types ==1.17.5.4 + - pairing ==0.4.1 + - palette ==0.3.0.2 + - pandoc ==2.7.3 + - pandoc-citeproc ==0.16.2 + - pandoc-csv2table ==1.0.7 + - pandoc-markdown-ghci-filter ==0.1.0.0 + - pandoc-pyplot ==2.1.5.1 + - pandoc-types ==1.17.6 + - pantry ==0.1.1.1 - parallel ==3.2.2.0 - parallel-io ==0.3.3 - paripari ==0.6.0.0 - parseargs ==0.2.0.9 - - parsec ==3.1.13.0 + - parsec ==3.1.14.0 - parsec-class ==1.0.0.0 - parsec-numbers ==0.1.0 - parsec-numeric ==0.1.0.0 - ParsecTools ==0.0.2.0 - - parser-combinators ==1.0.1 - - parsers ==0.12.9 + - parser-combinators ==1.1.0 + - parser-combinators-tests ==1.1.0 + - parsers ==0.12.10 - partial-handler ==1.0.3 - partial-isomorphisms ==0.2.2.1 - - partial-semigroup ==0.5.0.0 + - partial-semigroup ==0.5.1.1 + - password ==0.1.0.0 + - password-instances ==0.3.0.0 - path ==0.6.1 - path-extra ==0.2.0 - - path-io ==1.4.1 + - path-io ==1.4.2 - path-pieces ==0.2.1 - path-text-utf8 ==0.0.1.2 - pathtype ==0.8.1 @@ -1502,7 +1540,7 @@ default-package-overrides: - pattern-arrows ==0.0.2 - pcf-font ==0.2.2.0 - pcf-font-embed ==0.1.2.0 - - pcg-random ==0.1.3.5 + - pcg-random ==0.1.3.6 - pcre-heavy ==1.0.0.2 - pcre-light ==0.4.0.4 - pcre-utils ==0.1.8.1.1 @@ -1510,23 +1548,31 @@ default-package-overrides: - peano ==0.1.0.1 - pedersen-commitment ==0.2.0 - pem ==0.2.4 + - pencil ==1.0.1 - percent-format ==0.0.1 + - peregrin ==0.3.0 - perfect-hash-generator ==0.2.0.6 - - persist ==0.1.1.1 + - persist ==0.1.1.3 - persistable-record ==0.6.0.4 - persistable-types-HDBC-pg ==0.0.3.5 - - persistent ==2.9.1 + - persistent ==2.9.2 - persistent-iproute ==0.2.3 - persistent-mysql ==2.9.0 - persistent-mysql-haskell ==0.5.2 - - persistent-postgresql ==2.9.0 - - persistent-sqlite ==2.9.2 - - persistent-template ==2.5.4 - - pgp-wordlist ==0.1.0.2 + - persistent-pagination ==0.1.1.0 + - persistent-postgresql ==2.9.1 + - persistent-qq ==2.9.1 + - persistent-sqlite ==2.9.3 + - persistent-template ==2.6.0 + - persistent-typed-db ==0.0.1.1 + - pg-harness-client ==0.6.0 + - pg-harness-server ==0.6.2 + - pgp-wordlist ==0.1.0.3 - pg-transact ==0.1.0.1 - phantom-state ==0.2.1.2 - pid1 ==0.1.2.0 - - pipes ==4.3.9 + - pinboard ==0.10.1.4 + - pipes ==4.3.11 - pipes-aeson ==0.4.1.8 - pipes-attoparsec ==0.5.1.5 - pipes-binary ==0.4.2 @@ -1543,50 +1589,61 @@ default-package-overrides: - pipes-network ==0.6.5 - pipes-network-tls ==0.3 - pipes-parse ==3.0.8 + - pipes-random ==1.0.0.5 - pipes-safe ==2.3.1 - pipes-wai ==3.2.0 - pkcs10 ==0.2.0.0 - placeholders ==0.1 + - planb-token-introspection ==0.1.4.0 - plotlyhs ==0.2.1 - pointed ==5.0.1 - pointedlist ==0.6.1 - pointless-fun ==1.1.0.6 - poll ==0.0.0.1 + - poly ==0.3.1.0 - poly-arity ==0.1.0 - polynomials-bernstein ==1.1.2 - polyparse ==1.12.1 + - polysemy ==1.0.0.0 + - polysemy-plugin ==0.2.2.0 + - polysemy-zoo ==0.5.0.1 - pooled-io ==0.0.2.2 - - port-utils ==0.2.0.0 + - port-utils ==0.2.1.0 - posix-paths ==0.2.1.6 - - postgresql-binary ==0.12.1.2 + - possibly ==1.0.0.0 + - postgresql-binary ==0.12.1.3 - postgresql-libpq ==0.9.4.2 + - postgresql-orm ==0.5.1 - postgresql-schema ==0.1.14 - - postgresql-simple ==0.6 + - postgresql-simple ==0.6.2 - postgresql-simple-migration ==0.1.14.0 - postgresql-simple-queue ==1.0.1 - postgresql-simple-url ==0.2.1.0 - postgresql-transactional ==1.1.1 + - postgresql-typed ==0.6.0.1 - post-mess-age ==0.2.1.0 - pptable ==0.3.0.0 - pqueue ==1.4.1.2 - prefix-units ==0.2.0 - - prelude-compat ==0.0.0.1 + - prelude-compat ==0.0.0.2 - prelude-safeenum ==0.1.1.2 - present ==4.1.0 - prettyclass ==1.0.0.0 - pretty-class ==1.0.1.1 - pretty-hex ==1.0 - - prettyprinter ==1.2.1 + - prettyprinter ==1.2.1.1 - prettyprinter-ansi-terminal ==1.1.1.2 - prettyprinter-compat-annotated-wl-pprint ==1 - prettyprinter-compat-ansi-wl-pprint ==1.0.1 - prettyprinter-compat-wl-pprint ==1.0.0.1 + - prettyprinter-convert-ansi-wl-pprint ==1.1 - pretty-show ==1.9.5 - pretty-simple ==2.2.0.1 - - pretty-sop ==0.2.0.2 - - pretty-types ==0.2.3.1 + - pretty-sop ==0.2.0.3 + - pretty-types ==0.3.0.1 - primes ==0.2.1.0 - primitive ==0.6.4.0 + - primitive-extras ==0.7.1.1 - prim-uniq ==0.1.0.1 - probability ==0.2.5.2 - process-extras ==0.7.4 @@ -1599,84 +1656,94 @@ default-package-overrides: - prometheus-client ==1.0.0 - promises ==0.3 - prompt ==0.1.1.2 + - prospect ==0.1.0.0 - protobuf ==0.2.1.2 - protobuf-simple ==0.1.1.0 - protocol-buffers ==2.4.12 - protocol-buffers-descriptor ==2.4.12 - protocol-radius ==0.0.1.1 - - protocol-radius-test ==0.0.1.0 - - proto-lens ==0.4.0.1 - - proto-lens-arbitrary ==0.1.2.6 - - proto-lens-combinators ==0.4.0.1 + - protocol-radius-test ==0.1.0.0 + - proto-lens ==0.5.1.0 + - proto-lens-arbitrary ==0.1.2.7 - proto-lens-optparse ==0.1.1.5 - - proto-lens-protobuf-types ==0.4.0.1 - - proto-lens-protoc ==0.4.0.2 - - proto-lens-runtime ==0.4.0.2 + - proto-lens-protobuf-types ==0.5.0.0 + - proto-lens-protoc ==0.5.0.0 + - proto-lens-runtime ==0.5.0.0 - proto-lens-setup ==0.4.0.2 - protolude ==0.2.3 - - proxied ==0.3 + - proxied ==0.3.1 - psql-helpers ==0.1.0.0 - - psqueues ==0.2.7.1 + - psqueues ==0.2.7.2 - pureMD5 ==2.1.3 - purescript-bridge ==0.13.0.0 - pure-zlib ==0.6.4 - pushbullet-types ==0.4.1.0 - - pusher-http-haskell ==1.5.1.7 + - pusher-http-haskell ==1.5.1.9 - qchas ==1.1.0.1 - qm-interpolated-string ==0.3.0.0 - - qnap-decrypt ==0.3.4 - - quadratic-irrational ==0.0.6 + - qnap-decrypt ==0.3.5 + - qrcode-core ==0.9.1 + - qrcode-juicypixels ==0.8.0 + - quadratic-irrational ==0.1.0 - QuasiText ==0.1.2.6 - quickbench ==1.0 - - QuickCheck ==2.12.6.1 + - QuickCheck ==2.13.2 - quickcheck-arbitrary-adt ==0.3.1.0 - quickcheck-assertions ==0.3.0 - - quickcheck-instances ==0.3.19 + - quickcheck-classes ==0.6.1.0 + - quickcheck-instances ==0.3.22 - quickcheck-io ==0.2.0 - - quickcheck-simple ==0.1.0.4 + - quickcheck-simple ==0.1.1.1 - quickcheck-special ==0.1.0.6 - - quickcheck-state-machine ==0.4.3 + - quickcheck-state-machine ==0.6.0 - quickcheck-text ==0.1.2.1 + - quickcheck-transformer ==0.3.1 - quickcheck-unicode ==1.0.1.0 + - radius ==0.6.0.3 - rainbow ==0.30.0.2 - rainbox ==0.20.0.0 - ramus ==0.1.2 - rando ==0.0.0.4 - random ==1.1 - - random-bytestring ==0.1.3.1 + - random-bytestring ==0.1.3.2 - random-fu ==0.2.7.0 - random-shuffle ==0.0.4 - random-source ==0.3.0.6 - random-tree ==0.6.0.5 - range ==0.2.1.1 - - range-set-list ==0.1.3 + - Ranged-sets ==0.4.0 + - range-set-list ==0.1.3.1 - rank1dynamic ==0.4.0 - - rank2classes ==1.2.1 - - Rasterific ==0.7.4.2 + - rank2classes ==1.3 + - Rasterific ==0.7.4.4 - rasterific-svg ==0.3.3.2 - ratel ==1.0.8 - - ratel-wai ==1.0.5 - - rattletrap ==6.0.2 + - ratel-wai ==1.1.0 + - rattle ==0.1 + - rattletrap ==9.0.1 - rawfilepath ==0.2.4 - rawstring-qm ==0.2.3.0 - raw-strings-qq ==1.1 - - rcu ==0.2.3 + - rcu ==0.2.4 + - rdf ==0.1.0.3 - re2 ==0.3 - readable ==0.3.1 - read-editor ==0.1.0.2 - read-env-var ==1.0.0.0 - - rebase ==1.3 - - record-dot-preprocessor ==0.1.5 - - records-sop ==0.1.0.2 - - recursion-schemes ==5.1.1 + - reanimate ==0.1.5.0 + - reanimate-svg ==0.9.0.0 + - rebase ==1.3.1.1 + - record-dot-preprocessor ==0.2 + - record-hasfield ==1.0 + - records-sop ==0.1.0.3 + - recursion-schemes ==5.1.3 - reducers ==3.12.3 - refact ==0.3.0.2 - references ==0.3.3.1 - - refined ==0.3.0.0 - reflection ==2.1.4 - RefSerialize ==0.4.0 - regex ==1.0.2.0 - - regex-applicative ==0.3.3 + - regex-applicative ==0.3.3.1 - regex-applicative-text ==0.1.0.1 - regex-base ==0.93.2 - regex-compat ==0.95.1 @@ -1685,44 +1752,49 @@ default-package-overrides: - regex-pcre-builtin ==0.94.4.8.8.35 - regex-pcre-text ==0.94.0.1 - regex-posix ==0.95.2 - - regex-tdfa ==1.2.3.1 + - regex-tdfa ==1.2.3.2 - regex-tdfa-text ==1.0.0.3 - regex-with-pcre ==1.0.2.0 - - registry ==0.1.2.6 + - registry ==0.1.7.0 - reinterpret-cast ==0.1.0 - relapse ==1.0.0.0 - - relational-query ==0.12.1.0 - - relational-query-HDBC ==0.7.1.1 + - relational-query ==0.12.2.2 + - relational-query-HDBC ==0.7.2.0 - relational-record ==0.2.2.0 - - relational-schemas ==0.1.6.2 - - relude ==0.4.0 + - relational-schemas ==0.1.7.0 + - relude ==0.5.0 - renderable ==0.2.0.1 - repa ==3.4.1.4 - repa-algorithms ==3.4.1.3 - repa-io ==3.4.1.1 - - repline ==0.2.0.0 - - req ==1.2.1 + - repline ==0.2.1.0 + - req ==2.1.0 - req-conduit ==1.0.0 - - req-url-extra ==0.1.0.0 - - rerebase ==1.3 + - require ==0.4.2 + - rerebase ==1.3.1.1 + - resistor-cube ==0.0.1.2 - resource-pool ==0.2.3.2 - resourcet ==1.2.2 - result ==0.2.6.0 - rethinkdb-client-driver ==0.0.25 - - retry ==0.7.7.0 + - retry ==0.8.0.1 - rev-state ==0.1.2 - rfc1751 ==0.1.2 - rfc5051 ==0.1.0.4 - - rio ==0.1.8.0 + - rg ==1.4.0.0 + - rhine ==0.5.1.0 + - rhine-gloss ==0.5.1.0 + - rigel-viz ==0.2.0.0 + - rio ==0.1.11.0 - rio-orphans ==0.1.1.0 - - rng-utils ==0.3.0 + - rio-prettyprint ==0.1.0.0 - roc-id ==0.1.0.0 - rocksdb-haskell ==1.0.1 - rocksdb-query ==0.2.0 - roles ==0.2.0.0 + - rope-utf16-splay ==0.3.1.0 - rosezipper ==0.2 - rot13 ==0.2.0.1 - - rounded ==0.1.0.1 - rpmbuild-order ==0.2.1 - RSA ==2.3.1 - runmemo ==1.0.0.1 @@ -1734,8 +1806,12 @@ default-package-overrides: - safe-exceptions-checked ==0.1.0 - safe-foldable ==0.1.0.0 - safeio ==0.0.5.0 + - safe-json ==0.1.0 + - safe-money ==0.9 - SafeSemaphore ==0.10.1 - - salak ==0.1.8 + - salak ==0.3.5.1 + - salak-toml ==0.3.5.1 + - salak-yaml ==0.3.5.1 - saltine ==0.1.0.2 - salve ==1.0.6 - sample-frame ==0.0.3 @@ -1743,121 +1819,138 @@ default-package-overrides: - sampling ==0.3.3 - sandman ==0.2.0.1 - say ==0.1.0.1 - - sbp ==2.4.7 - - sbv ==7.13 - - scalpel ==0.5.1 - - scalpel-core ==0.5.1 + - sbp ==2.6.3 + - sbv ==8.3 + - scalpel ==0.6.0 + - scalpel-core ==0.6.0 - scanf ==0.1.0.0 - scanner ==0.3 + - scheduler ==1.4.2 - scientific ==0.3.6.2 - - scotty ==0.11.3 + - scotty ==0.11.4 - scrypt ==0.5.0 - - sdl2 ==2.4.1.0 + - sdl2 ==2.5.0.0 - sdl2-gfx ==0.2 - sdl2-image ==2.0.0 - sdl2-mixer ==1.1.0 - sdl2-ttf ==2.1.0 - secp256k1-haskell ==0.1.4 - securemem ==0.1.10 - - selda ==0.3.4.0 - - selda-postgresql ==0.1.7.3 - - selda-sqlite ==0.1.6.1 + - selda ==0.4.0.0 + - selda-json ==0.1.0.0 + - selda-postgresql ==0.1.8.0 + - selda-sqlite ==0.1.7.0 + - selective ==0.3 + - semialign ==1 - semigroupoid-extras ==5 - semigroupoids ==5.3.2 - semigroups ==0.18.5 - - semirings ==0.2.1.1 + - semirings ==0.4.2 - semiring-simple ==1.0.0.1 - - semver ==0.3.3.1 - - sendfile ==0.7.10 + - semver ==0.3.4 + - sendfile ==0.7.11.1 - seqalign ==0.2.0.4 - serf ==0.1.1.0 - serialise ==0.2.1.0 - - servant ==0.15 + - servant ==0.16.2 - servant-auth ==0.3.2.0 - - servant-auth-client ==0.3.3.0 + - servant-auth-client ==0.4.0.0 - servant-auth-docs ==0.2.10.0 - - servant-auth-server ==0.4.3.0 + - servant-auth-server ==0.4.4.0 - servant-auth-swagger ==0.2.10.0 - - servant-blaze ==0.8 + - servant-auth-wordpress ==1.0.0.1 + - servant-blaze ==0.9 - servant-cassava ==0.10 - - servant-checked-exceptions ==2.0.0.0 - - servant-checked-exceptions-core ==2.0.0.0 - - servant-client ==0.15 - - servant-client-core ==0.15 + - servant-checked-exceptions ==2.2.0.0 + - servant-checked-exceptions-core ==2.2.0.0 + - servant-cli ==0.1.0.1 + - servant-client ==0.16 + - servant-client-core ==0.16 + - servant-conduit ==0.15 - servant-docs ==0.11.3 - - servant-elm ==0.5.0.0 - - servant-exceptions ==0.1.1 + - servant-elm ==0.6.0.2 - servant-foreign ==0.15 + - servant-http-streams ==0.16 - servant-js ==0.9.4 - servant-JuicyPixels ==0.3.0.4 - - servant-kotlin ==0.1.1.6 - - servant-lucid ==0.8.1 + - servant-kotlin ==0.1.1.8 + - servant-lucid ==0.9 + - servant-machines ==0.15 - servant-mock ==0.8.5 - - servant-pandoc ==0.5.0.0 - - servant-rawm ==0.3.0.0 + - servant-multipart ==0.11.4 + - servant-pipes ==0.15 - servant-ruby ==0.9.0.0 - - servant-server ==0.15 + - servant-server ==0.16.2 - servant-static-th ==0.2.2.0 - - servant-streaming ==0.3.0.0 - - servant-swagger ==1.1.7 - - servant-swagger-ui ==0.3.2.3.19.3 - - servant-swagger-ui-core ==0.3.2 - - servant-swagger-ui-redoc ==0.3.2.1.22.2 + - servant-swagger ==1.1.7.1 + - servant-swagger-ui ==0.3.4.3.22.2 + - servant-swagger-ui-core ==0.3.3 + - servant-swagger-ui-redoc ==0.3.3.1.22.2 - servant-tracing ==0.1.0.2 - - servant-websockets ==1.1.0 + - servant-xml ==1.0.1.4 - servant-yaml ==0.1.0.1 - - serverless-haskell ==0.8.5 - serversession ==1.0.1 - serversession-frontend-wai ==1.0 - servius ==1.2.3.0 - ses-html ==0.4.0.0 + - set-cover ==0.0.9 - setenv ==0.1.1.3 - setlocale ==1.0.0.8 + - sexp-grammar ==2.0.2 + - sexpr-parser ==0.1.1.2 - SHA ==1.6.4.4 - shake-language-c ==0.12.0 - shakespeare ==2.0.20 - shared-memory ==0.2.0.0 - shell-conduit ==4.7.0 - shell-escape ==0.2.0 + - shellmet ==0.0.2.0 - shelltestrunner ==1.9 - - shelly ==1.8.0 + - shelly ==1.8.1 - shikensu ==0.3.11 - shortcut-links ==0.4.2.1 - should-not-typecheck ==2.1.0 - show-combinators ==0.1.1.0 - - show-prettyprint ==0.2.2 + - shower ==0.2.0.1 + - show-prettyprint ==0.3.0.1 - siggy-chardust ==1.0.0 - signal ==0.1.0.4 - - silently ==1.2.5 - - simple-cmd ==0.1.2 - - simple-log ==0.9.11 + - silently ==1.2.5.1 + - simple ==0.11.3 + - simple-cabal ==0.0.0.1 + - simple-cmd ==0.2.0.1 + - simple-cmd-args ==0.1.2 + - simple-log ==0.9.12 - simple-reflect ==0.3.3 - simple-sendfile ==0.2.28 - - simple-vec3 ==0.4.0.10 + - simple-session ==0.10.1.1 + - simple-templates ==0.9.0.0 + - simple-vec3 ==0.6 + - simplistic-generics ==0.1.0.0 - since ==0.0.0 - - singleton-bool ==0.1.4 + - singleton-bool ==0.1.5 - singleton-nats ==0.4.2 - singletons ==2.5.1 - siphash ==1.0.3 - size-based ==0.1.2.0 - sized-grid ==0.1.1.6 - skein ==1.0.9.4 - - skews ==0.1.0.1 + - skews ==0.1.0.2 - skip-var ==0.1.1.0 - - skylighting ==0.7.6 - - skylighting-core ==0.7.6 - - slack-web ==0.2.0.10 + - skylighting ==0.8.2 + - skylighting-core ==0.8.2 + - slack-web ==0.2.0.11 - smallcheck ==1.1.5 + - smallcheck-series ==0.6.1 - smoothie ==0.4.2.9 - - smtp-mail ==0.1.4.6 - snap-blaze ==0.2.1.5 - snap-core ==1.0.4.0 - - snap-server ==1.1.0.0 + - snap-server ==1.1.1.1 - snowflake ==0.1.1.1 - soap ==0.2.3.6 - soap-tls ==0.1.1.4 - socket-activation ==0.1.0.2 - - socks ==0.5.6 + - socks ==0.6.0 - sop-core ==0.4.0.0 - sort ==1.0.0.0 - sorted-list ==0.2.1.0 @@ -1865,6 +1958,8 @@ default-package-overrides: - sox ==0.2.3.1 - soxlib ==0.0.3.1 - sparse-linear-algebra ==0.3.1 + - sparse-tensor ==0.2.1 + - spatial-math ==0.5.0.1 - special-values ==0.1.0.0 - speculate ==0.3.5 - speedy-slice ==0.3.0 @@ -1872,108 +1967,116 @@ default-package-overrides: - Spintax ==0.3.3 - splice ==0.6.1.1 - split ==0.2.3.3 - - splitmix ==0.0.1 + - splitmix ==0.0.3 - spoon ==0.3.1 - spreadsheet ==0.1.3.8 - sqlite-simple ==0.4.16.0 - sqlite-simple-errors ==0.6.1.0 - - sql-words ==0.1.6.2 + - sql-words ==0.1.6.3 - srcloc ==0.5.1.2 - stache ==2.0.1 - - stack2nix ==0.2.2 - starter ==0.3.0 - state-codes ==0.1.3 - stateref ==0.3 - statestack ==0.2.0.5 - - StateVar ==1.1.1.1 + - StateVar ==1.2 - static-text ==0.2.0.4 - statistics ==0.15.0.0 - stb-image-redux ==0.2.1.2 - step-function ==0.2 - - stm ==2.5.0.0 - stm-chans ==3.0.0.4 - stm-conduit ==4.0.1 - stm-delay ==0.1.1.1 - stm-extras ==0.1.0.3 - stm-split ==0.0.2.1 - - stopwatch ==0.1.0.5 + - stopwatch ==0.1.0.6 - storable-complex ==0.2.3.0 - storable-record ==0.0.4 - storable-tuple ==0.0.3.3 - storablevector ==0.2.13 - - store ==0.5.0.1 + - store ==0.5.1.2 - store-core ==0.4.4 - Strafunski-StrategyLib ==5.0.1.0 - - stratosphere ==0.29.1 + - stratosphere ==0.40.0 - streaming ==0.2.2.0 - - streaming-attoparsec ==1.0.0 + - streaming-attoparsec ==1.0.0.1 - streaming-bytestring ==0.1.6 - - streaming-commons ==0.2.1.0 + - streaming-cassava ==0.1.0.1 + - streaming-commons ==0.2.1.1 - streaming-wai ==0.1.1 - - streamly ==0.5.2 + - streamly ==0.6.1 - streamproc ==1.6.2 - streams ==3.3 - strict ==0.3.2 - strict-base-types ==0.6.1 - strict-concurrency ==0.2.4.3 + - strict-list ==0.1.4 - stringbuilder ==0.5.1 - string-class ==0.1.7.0 - string-combinators ==0.6.0.5 - string-conv ==0.1.2 - string-conversions ==0.4.0.1 + - string-interpolate ==0.1.0.1 - string-qq ==0.0.2 - stringsearch ==0.3.6.6 - - string-transform ==1.1.0 + - string-transform ==1.1.1 + - stripe-concepts ==1.0.1.0 + - stripe-scotty ==1.0.0.0 + - stripe-signature ==1.0.0.1 + - stripe-wreq ==1.0.0.0 - strive ==5.0.8 - - structs ==0.1.1 - - stylish-haskell ==0.9.2.1 - - summoner ==1.2.0 + - structs ==0.1.2 + - structured-cli ==2.5.1.0 + - summoner ==1.3.0.1 - sum-type-boilerplate ==0.1.1 - sundown ==0.6 - superbuffer ==0.3.1.1 + - sv ==1.3.1 - sv-cassava ==0.3 - - sv-core ==0.3.1 + - sv-core ==0.4.1 - svg-builder ==0.1.1 - SVGFonts ==1.7.0.1 - - svg-tree ==0.6.2.3 + - svg-tree ==0.6.2.4 - swagger ==0.3.0 - - swagger2 ==2.3.1.1 + - swagger2 ==2.4 - swish ==0.10.0.1 - - syb ==0.7 + - syb ==0.7.1 - symbol ==0.2.4 - symengine ==0.1.2.0 - sysinfo ==0.1.1 - system-argv0 ==0.1.1 - - systemd ==1.1.2 + - systemd ==1.2.0 - system-fileio ==0.3.16.4 - system-filepath ==0.4.14 - tabular ==0.2.2.7 - tagchup ==0.4.1.1 - tagged ==0.8.6 - tagged-binary ==0.2.0.1 - - tagged-identity ==0.1.2 + - tagged-identity ==0.1.3 - tagged-transformer ==0.8.1 - tagshare ==0.0 - - tagsoup ==0.14.7 + - tagsoup ==0.14.8 - tagstream-conduit ==0.5.5.3 - tao ==1.0.0 - tao-example ==1.0.0 - tar ==0.5.1.0 - tar-conduit ==0.3.2 - tardis ==0.4.1.0 - - tasty ==1.2 - - tasty-ant-xml ==1.1.5 - - tasty-dejafu ==1.2.1.0 + - tasty ==1.2.3 + - tasty-ant-xml ==1.1.6 + - tasty-dejafu ==2.0.0.1 - tasty-discover ==4.2.1 - tasty-expected-failure ==0.11.1.1 - tasty-golden ==2.3.2 + - tasty-hedgehog ==1.0.0.1 - tasty-hspec ==1.1.5.1 - - tasty-hunit ==0.10.0.1 + - tasty-hunit ==0.10.0.2 - tasty-kat ==0.0.3 - tasty-leancheck ==0.0.1 + - tasty-lua ==0.2.0.1 - tasty-program ==1.0.5 - - tasty-quickcheck ==0.10 - - tasty-silver ==3.1.12 + - tasty-quickcheck ==0.10.1 + - tasty-silver ==3.1.13 - tasty-smallcheck ==0.8.1 - tasty-th ==0.1.7 - TCache ==0.12.1 @@ -1981,14 +2084,14 @@ default-package-overrides: - tcp-streams ==1.0.1.1 - tcp-streams-openssl ==1.0.1.0 - tdigest ==0.2.1 - - telegram-bot-simple ==0.2.0 - template-toolkit ==0.1.1.0 - temporary ==1.3 - temporary-rc ==1.2.0.3 - temporary-resourcet ==0.1.0.1 - tensorflow-test ==0.1.0.0 - - tensors ==0.1.2 - - termbox ==0.1.0 + - tensors ==0.1.4 + - termbox ==0.2.0 + - terminal-progress-bar ==0.4.1 - terminal-size ==0.3.2.1 - test-framework ==0.8.2.0 - test-framework-hunit ==0.3.0.2 @@ -1998,10 +2101,9 @@ default-package-overrides: - test-framework-th ==0.2.4 - testing-feat ==1.1.0.0 - testing-type-modifiers ==0.1.0.1 - - texmath ==0.11.2 - - text ==1.2.3.1 + - texmath ==0.11.2.2 - text-binary ==0.2.1.1 - - text-builder ==0.6.5 + - text-builder ==0.6.5.1 - text-conversions ==0.3.0 - text-format ==0.3.2 - text-icu ==0.7.0.1 @@ -2011,104 +2113,127 @@ default-package-overrides: - text-manipulate ==0.2.0.1 - text-metrics ==0.3.0 - text-postgresql ==0.0.3.1 - - text-printer ==0.5 + - text-printer ==0.5.0.1 - text-region ==0.3.1.0 - - text-short ==0.1.2 - - text-show ==3.7.5 + - text-short ==0.1.3 + - text-show ==3.8.2 + - text-show-instances ==3.8.1 + - text-zipper ==0.10.1 - tfp ==1.0.1.1 - tf-random ==0.5 - - th-abstraction ==0.2.10.0 + - th-abstraction ==0.3.1.0 - th-data-compat ==0.0.2.7 - th-desugar ==1.9 - - these ==0.7.6 + - these ==1.0.1 - th-expand-syns ==0.4.4.0 - th-extras ==0.0.0.4 - - th-lift ==0.7.11 - - th-lift-instances ==0.1.12 - - th-orphans ==0.13.6 + - th-lift ==0.8.0.1 + - th-lift-instances ==0.1.14 + - th-nowq ==0.1.0.3 + - th-orphans ==0.13.7 - th-printf ==0.6.0 - thread-hierarchy ==0.3.0.1 - thread-local-storage ==0.2 - threads ==0.5.1.6 - threepenny-gui ==0.8.3.0 - th-reify-compat ==0.0.1.5 - - th-reify-many ==0.1.8 + - th-reify-many ==0.1.9 - throttle-io-stream ==0.2.0.1 - throwable-exceptions ==0.1.0.9 - th-strict-compat ==0.1.0.1 - - th-utilities ==0.2.1.0 + - th-test-utils ==1.0.0 + - th-utilities ==0.2.3.0 - thyme ==0.3.5.5 - tile ==0.3.0.0 - - time-compat ==0.1.0.3 + - time-compat ==1.9.2.2 - timeit ==2.0 - timelens ==0.2.0.2 - time-lens ==0.4.0.2 - time-locale-compat ==0.1.1.5 - time-locale-vietnamese ==1.0.0.0 - - time-parsers ==0.1.2.0 + - time-manager ==0.0.0 + - time-parsers ==0.1.2.1 - time-qq ==0.0.1.0 - timerep ==2.0.0.2 - - timer-wheel ==0.1.0 + - timer-wheel ==0.2.0.1 - timezone-olson ==0.1.9 - timezone-series ==0.1.9 - - tinylog ==0.14.1 + - tintin ==1.10.0 + - tinylog ==0.15.0 - titlecase ==1.0.1 - tldr ==0.4.0.1 - tls ==1.4.1 - tls-debug ==0.4.5 - - tls-session-manager ==0.0.0.2 + - tls-session-manager ==0.0.3 - tmapchan ==0.0.3 - tmapmvar ==0.0.4 - - tmp-postgres ==0.1.1.1 + - tmp-postgres ==0.2.0.0 - token-bucket ==0.1.0.1 - - tomland ==0.5.0 + - tomland ==1.1.0.1 + - tonalude ==0.1.1.0 + - tonaparser ==0.1.0.0 + - tonatona ==0.1.0.1 + - tonatona-logger ==0.2.0.0 + - tonatona-persistent-postgresql ==0.1.0.1 + - tonatona-persistent-sqlite ==0.1.0.1 + - tonatona-servant ==0.1.0.2 + - torsor ==0.1 - tostring ==0.2.1.1 - TotalMap ==0.1.0.0 + - tracing ==0.0.4.0 - transaction ==0.1.1.3 - transformers-base ==0.4.5.2 - transformers-bifunctors ==0.1 - - transformers-compat ==0.6.2 + - transformers-compat ==0.6.5 - transformers-fix ==1.0 - - transformers-lift ==0.2.0.1 - traverse-with-class ==1.0.0.0 - - tree-diff ==0.0.2 + - tree-diff ==0.1 - tree-fun ==0.8.1.0 - trifecta ==2 - - triplesec ==0.2.2.0 + - triplesec ==0.2.2.1 + - trivial-constraint ==0.6.0.0 + - true-name ==0.1.0.3 - tsv2csv ==0.1.0.2 + - ttl-hashtables ==1.3.1.0 - ttrie ==0.1.2.1 - tuple ==0.3.0.2 - tuples-homogenous-h98 ==0.1.1.0 - tuple-sop ==0.3.1.0 - tuple-th ==0.2.5 - - turtle ==1.5.13 - - typed-process ==0.2.4.0 + - turtle ==1.5.14 + - TypeCompose ==0.9.14 + - typed-process ==0.2.6.0 + - type-errors ==0.2.0.0 + - type-errors-pretty ==0.0.0.0 - type-fun ==0.1.1 - type-hint ==0.1 - type-level-integers ==0.0.1 - type-level-kv-list ==1.1.0 - type-level-numbers ==0.1.1.1 - - typelits-witnesses ==0.3.0.3 + - typelits-witnesses ==0.4.0.0 + - type-map ==0.1.6.0 - typenums ==0.1.2.1 - type-of-html ==1.5.0.0 - type-of-html-static ==0.1.0.2 - - type-operators ==0.1.0.4 - - typerep-map ==0.3.1 - - type-spec ==0.3.0.1 + - type-operators ==0.2.0.0 + - typerep-map ==0.3.2 + - type-spec ==0.4.0.0 - tz ==0.1.3.2 - - tzdata ==0.1.20181026.0 + - tzdata ==0.1.20190325.0 - ua-parser ==0.7.5.1 - ucam-webauth ==0.1.0.0 - ucam-webauth-types ==0.1.0.0 - uglymemo ==0.1.0.1 + - unagi-chan ==0.4.1.2 - unbounded-delays ==0.1.1.0 - unbound-generics ==0.4.0 - unboxed-ref ==0.4.0.0 + - unboxing-vector ==0.1.1.0 - uncertain ==0.3.1.0 - unconstrained ==0.1.0.2 - unicode ==0.0.1.1 - unicode-show ==0.1.0.3 - - unicode-transforms ==0.3.5 + - unicode-transforms ==0.3.6 - unification-fd ==0.10.0.1 - union ==0.1.2 - union-find ==0.2 @@ -2116,19 +2241,26 @@ default-package-overrides: - uniprot-kb ==0.1.2.0 - uniq-deep ==1.1.1 - unique ==0 + - unique-logic ==0.4 + - unique-logic-tf ==0.5.1 - unit-constraint ==0.0.0 - - universe-base ==1.0.2.1 - - universe-instances-base ==1.0 - - universe-instances-trans ==1.0.0.1 - - universe-reverse-instances ==1.0 + - universe ==1.1 + - universe-base ==1.1.1 + - universe-dependent-sum ==1.1.0.1 + - universe-instances-base ==1.1 + - universe-instances-extended ==1.1 + - universe-instances-trans ==1.1 + - universe-reverse-instances ==1.1 - universum ==1.5.0 - unix-bytestring ==0.3.7.3 - - unix-compat ==0.5.1 - - unix-time ==0.4.5 - - unliftio ==0.2.10 + - unix-compat ==0.5.2 + - unix-time ==0.4.7 + - unliftio ==0.2.12 - unliftio-core ==0.1.2.0 + - unliftio-pool ==0.2.1.0 + - unliftio-streams ==0.1.1.0 - unlit ==0.4.0.0 - - unordered-containers ==0.2.9.0 + - unordered-containers ==0.2.10.0 - unordered-intmap ==0.1.1 - unsafe ==0.0 - uri-bytestring ==0.3.2.1 @@ -2142,14 +2274,14 @@ default-package-overrides: - users-test ==0.5.0.1 - utf8-light ==0.4.2 - utf8-string ==1.0.1.1 - - util ==0.1.11.0 + - util ==0.1.13.0 - utility-ht ==0.0.14 - uuid ==1.3.13 - uuid-types ==1.0.3 - - validation ==1 - - validity ==0.9.0.0 + - validation ==1.1 + - validity ==0.9.0.1 - validity-aeson ==0.2.0.2 - - validity-bytestring ==0.4.0.0 + - validity-bytestring ==0.4.1.0 - validity-containers ==0.3.1.0 - validity-path ==0.3.0.2 - validity-scientific ==0.2.0.2 @@ -2159,9 +2291,9 @@ default-package-overrides: - validity-uuid ==0.1.0.2 - validity-vector ==0.2.0.2 - valor ==0.1.0.0 - - vault ==0.3.1.2 - - vec ==0.1 - - vector ==0.12.0.2 + - vault ==0.3.1.3 + - vec ==0.1.1.1 + - vector ==0.12.0.3 - vector-algorithms ==0.8.0.1 - vector-binary-instances ==0.2.5.1 - vector-buffer ==0.4.1 @@ -2169,33 +2301,35 @@ default-package-overrides: - vector-bytes-instances ==0.1.1 - vector-instances ==3.4 - vector-mmap ==0.0.3 - - vector-sized ==1.2.0.0 - - vector-space ==0.15 + - vector-sized ==1.2.0.1 + - vector-space ==0.16 - vector-split ==1.0.0.2 - vector-th-unbox ==0.2.1.6 - - verbosity ==0.2.3.0 - - versions ==3.5.0 + - verbosity ==0.3.0.0 + - versions ==3.5.1 - ViennaRNAParser ==1.3.3 - - vinyl ==0.10.0.1 + - viewprof ==0.0.0.28 + - vinyl ==0.11.0 - vivid ==0.4.2.3 - vivid-osc ==0.5.0.0 - vivid-supercollider ==0.4.1.2 - - void ==0.7.2 + - void ==0.7.3 - vty ==5.25.1 - - wai ==3.2.2 - - wai-app-static ==3.1.6.2 - - wai-cli ==0.1.1 + - wai ==3.2.2.1 + - wai-app-static ==3.1.6.3 + - wai-cli ==0.2.1 - wai-conduit ==3.0.0.4 - - wai-cors ==0.2.6 + - wai-cors ==0.2.7 + - wai-enforce-https ==0.0.1 - wai-eventsource ==3.0.0 - - wai-extra ==3.0.25 + - wai-extra ==3.0.28 - wai-handler-launch ==3.0.2.4 - - wai-logger ==2.3.4 + - wai-logger ==2.3.5 - wai-middleware-auth ==0.1.2.1 - wai-middleware-caching ==0.1.0.2 - wai-middleware-crowd ==0.1.4.2 - wai-middleware-static ==0.8.2 - - wai-middleware-throttle ==0.3.0.0 + - wai-middleware-throttle ==0.3.0.1 - wai-middleware-travisci ==0.1.0 - wai-predicates ==0.10.0 - wai-session ==0.3.3 @@ -2203,13 +2337,13 @@ default-package-overrides: - wai-slack-middleware ==0.2.0 - wai-transformers ==0.1.0 - wai-websockets ==3.0.1.2 - - warp ==3.2.26 - - warp-tls ==3.2.4.3 - - warp-tls-uid ==0.2.0.5 - - wave ==0.1.5 + - warp ==3.2.28 + - warp-tls ==3.2.7 + - warp-tls-uid ==0.2.0.6 + - wave ==0.2.0 - wcwidth ==0.0.2 - - web3 ==0.8.3.1 - - webdriver ==0.8.5 + - web3 ==0.8.3.2 + - webdriver ==0.9.0.1 - webex-teams-api ==0.2.0.0 - webex-teams-conduit ==0.2.0.0 - webex-teams-pipes ==0.2.0.0 @@ -2218,17 +2352,18 @@ default-package-overrides: - web-routes-wai ==0.24.3.1 - webrtc-vad ==0.1.0.3 - websockets ==0.12.5.3 - - websockets-snap ==0.10.3.0 - - weigh ==0.0.13 + - websockets-snap ==0.10.3.1 + - weigh ==0.0.14 - wide-word ==0.1.0.8 - - wikicfp-scraper ==0.1.0.9 - - wild-bind ==0.1.2.3 - - wild-bind-x11 ==0.2.0.6 + - wikicfp-scraper ==0.1.0.11 + - wild-bind ==0.1.2.4 + - wild-bind-x11 ==0.2.0.7 + - Win32 ==2.6.1.0 - Win32-notify ==0.3.0.3 - windns ==0.1.0.1 - - winery ==0.3.1 + - winery ==1.1.2 - wire-streams ==0.1.1.0 - - witherable ==0.3 + - witherable ==0.3.2 - with-location ==0.1.0 - witness ==0.4 - wizards ==1.0.3 @@ -2237,18 +2372,17 @@ default-package-overrides: - wl-pprint-text ==1.2.0.0 - word24 ==2.0.1 - word8 ==0.1.3 + - wordpress-auth ==1.0.0.0 - word-trie ==0.3.0 - - world-peace ==0.1.0.0 + - word-wrap ==0.4.1 + - world-peace ==1.0.1.0 - wrap ==0.0.0 - - wreq ==0.5.3.1 - - writer-cps-exceptions ==0.1.0.0 - - writer-cps-full ==0.1.0.0 - - writer-cps-lens ==0.1.0.1 - - writer-cps-morph ==0.1.0.2 - - writer-cps-mtl ==0.1.1.5 - - writer-cps-transformers ==0.1.1.4 + - wreq ==0.5.3.2 + - writer-cps-exceptions ==0.1.0.1 + - writer-cps-mtl ==0.1.1.6 + - writer-cps-transformers ==0.5.6.1 - ws ==0.0.5 - - wuss ==1.1.12 + - wuss ==1.1.14 - X11 ==1.9 - X11-xft ==0.3.1 - x11-xim ==0.0.9.0 @@ -2258,16 +2392,16 @@ default-package-overrides: - x509-validation ==1.6.11 - Xauth ==0.1 - xdg-basedir ==0.2.2 + - xdg-userdirs ==0.1.0.2 - xeno ==0.3.5.1 - xenstore ==0.1.1 - - xhtml ==3000.2.2.1 - - xls ==0.1.1 + - xls ==0.1.2 - xlsx ==0.7.2 - xlsx-tabular ==0.2.2.1 - xml ==1.3.14 - xml-basic ==0.1.3.1 - - xmlbf ==0.4.1 - - xmlbf-xeno ==0.1.1 + - xmlbf ==0.6 + - xmlbf-xeno ==0.2 - xml-conduit ==1.8.0.1 - xml-conduit-parse ==0.3.1.2 - xml-conduit-writer ==0.1.1.2 @@ -2286,55 +2420,52 @@ default-package-overrides: - xmonad-extras ==0.15.1 - xss-sanitize ==0.3.6 - xxhash-ffi ==0.2.0.0 - - yam ==0.5.11 - - yam-datasource ==0.5.11 - - yaml ==0.11.0.0 + - yaml ==0.11.1.1 - yeshql ==4.1.0.1 - yeshql-core ==4.1.0.2 - yeshql-hdbc ==4.1.0.2 - yesod ==1.6.0 - - yesod-alerts ==0.1.2.0 - - yesod-auth ==1.6.5 - - yesod-auth-hashdb ==1.7.1 - - yesod-auth-oauth2 ==0.6.1.0 + - yesod-alerts ==0.1.3.0 + - yesod-auth ==1.6.7 + - yesod-auth-hashdb ==1.7.1.1 + - yesod-auth-oauth2 ==0.6.1.1 - yesod-bin ==1.6.0.3 - - yesod-core ==1.6.11 - - yesod-csp ==0.2.4.0 + - yesod-core ==1.6.15 + - yesod-csp ==0.2.5.0 - yesod-eventsource ==1.6.0 - yesod-fb ==0.5.0 - - yesod-form ==1.6.4 - - yesod-form-bootstrap4 ==2.1.0 + - yesod-form ==1.6.6 + - yesod-form-bootstrap4 ==2.1.2 - yesod-gitrepo ==0.3.0 - - yesod-gitrev ==0.2.0.0 - - yesod-markdown ==0.12.6.1 + - yesod-gitrev ==0.2.1 - yesod-newsfeed ==1.6.1.0 - - yesod-paginator ==1.1.0.1 - - yesod-persistent ==1.6.0.1 + - yesod-paginator ==1.1.0.2 + - yesod-persistent ==1.6.0.2 - yesod-recaptcha2 ==0.3.0 - yesod-sitemap ==1.6.0 - yesod-static ==1.6.0.1 - - yesod-test ==1.6.6 + - yesod-test ==1.6.6.2 - yesod-text-markdown ==0.1.10 - - yesod-websockets ==0.3.0.1 + - yesod-websockets ==0.3.0.2 - yes-precure5-command ==5.5.3 - yi-language ==0.18.0 - yi-rope ==0.11 - yjtools ==0.9.18 - yoga ==0.0.0.5 - youtube ==0.2.1.1 - - zero ==0.1.4 - - zeromq4-haskell ==0.7.0 + - zero ==0.1.5 + - zeromq4-haskell ==0.8.0 - zeromq4-patterns ==0.3.1.0 - zim-parser ==0.2.1.0 - zip ==1.2.0 - - zip-archive ==0.4 - - zippers ==0.2.5 + - zip-archive ==0.4.1 + - zippers ==0.3 - zip-stream ==0.2.0.1 - zlib ==0.6.2 - zlib-bindings ==0.1.1.5 - zlib-lens ==0.1.2.1 - zot ==0.0.3 - - zstd ==0.1.0.0 + - zstd ==0.1.1.2 - ztail ==1.2.0.2 extra-packages: @@ -2346,6 +2477,7 @@ extra-packages: - binary > 0.8 && < 0.9 # keep a 8.x major release around for older compilers - blank-canvas < 0.6.3 # more recent versions depend on base-compat-batteries == 0.10.* but we're on base-compat-0.9.* - Cabal == 2.2.* # required for jailbreak-cabal etc. + - Cabal == 2.4.* # required for cabal-install etc. - colour < 2.3.4 # newer versions don't support GHC 7.10.x - conduit >=1.1 && <1.3 # pre-lts-11.x versions neeed by git-annex 6.20180227 - conduit-extra >=1.1 && <1.3 # pre-lts-11.x versions neeed by git-annex 6.20180227 @@ -2354,6 +2486,7 @@ extra-packages: - dbus <1 # for xmonad-0.26 - deepseq == 1.3.0.1 # required to build Cabal with GHC 6.12.3 - generic-deriving == 1.10.5.* # new versions don't compile with GHC 7.10.x + - ghc-lib-parser == 8.8.0.20190723 # required by hlint-2.2.2 - gloss < 1.9.3 # new versions don't compile with GHC 7.8.x - haddock < 2.17 # required on GHC 7.10.x - haddock == 2.17.* # required on GHC 8.0.x @@ -2373,23 +2506,26 @@ extra-packages: - inline-c-cpp < 0.2 # required on GHC 8.0.x - lens-labels == 0.1.* # required for proto-lens-descriptors - mainland-pretty == 0.6.2.* # required for tensorflow-opgen-0.1.0.0 - - megaparsec < 7.0 # required for idris <= 1.3.1: https://github.com/idris-lang/Idris-dev/pull/4610 - mtl < 2.2 # newer versions require transformers > 0.4.x, which we cannot provide in GHC 7.8.x - mtl-prelude < 2 # required for to build postgrest on mtl 2.1.x platforms - network == 2.6.3.1 # newer versions don't compile with GHC 7.4.x and below + - network == 3.0.* # required by network-bsd, HTTP, and many others (2019-04-30) - parallel == 3.2.0.3 # newer versions don't work with GHC 6.12.3 + - patience ^>= 0.1 # required by chell-0.4.x - persistent >=2.5 && <2.8 # pre-lts-11.x versions neeed by git-annex 6.20180227 - persistent-sqlite < 2.7 # pre-lts-11.x versions neeed by git-annex 6.20180227 - primitive == 0.5.1.* # required to build alex with GHC 6.12.3 - proto-lens == 0.2.* # required for tensorflow-proto-0.1.x on GHC 8.2.x - - proto-lens-protoc == 0.2.* # required for tensorflow-proto-0.1.x on GHC 8.2.x - proto-lens-protobuf-types == 0.2.* # required for tensorflow-proto-0.1.x on GHC 8.2.x + - proto-lens-protoc == 0.2.* # required for tensorflow-proto-0.1.x on GHC 8.2.x - QuickCheck < 2 # required by test-framework-quickcheck and its users + - resolv == 0.1.1.2 # required to build cabal-install-3.0.0.0 with pre ghc-8.8.x - resourcet ==1.1.* # pre-lts-11.x versions neeed by git-annex 6.20180227 - seqid < 0.2 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x - seqid-streams < 0.2 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x - split < 0.2 # newer versions don't work with GHC 6.12.3 - tar < 0.4.2.0 # later versions don't work with GHC < 7.6.x + - these == 0.7.6 # required by hnix 0.6.1 - transformers == 0.4.3.* # the latest version isn't supported by mtl yet - vector < 0.10.10 # newer versions don't work with GHC 6.12.3 - xml-conduit ^>= 1.7 # pre-lts-11.x versions neeed by git-annex 6.20180227 @@ -2399,7 +2535,6 @@ extra-packages: - yesod-persistent < 1.5 # pre-lts-11.x versions neeed by git-annex 6.20180227 - yesod-static ^>= 1.5 # pre-lts-11.x versions neeed by git-annex 6.20180227 - yesod-test ^>= 1.5 # pre-lts-11.x versions neeed by git-annex 6.20180227 - - patience ^>= 0.1 # required by chell-0.4.x package-maintainers: peti: @@ -2410,6 +2545,7 @@ package-maintainers: - funcmp - git-annex - hackage-db + - haskell-ci - hledger - hledger-interest - hledger-ui @@ -2420,9 +2556,9 @@ package-maintainers: - hsyslog - jailbreak-cabal - json-autotype - - lambdabot-core - - lambdabot-irc-plugins - language-nix + - liquid-fixpoint + - liquidhaskell - logging-facade-syslog - nix-paths - pandoc @@ -2452,8 +2588,7 @@ package-maintainers: abbradar: - Agda -dont-distribute-packages: - # hard restrictions that really belong into meta.platforms +unsupported-platforms: alsa-mixer: [ x86_64-darwin ] alsa-pcm: [ x86_64-darwin ] alsa-seq: [ x86_64-darwin ] @@ -2467,8 +2602,8 @@ dont-distribute-packages: freenect: [ x86_64-darwin ] FTGL: [ x86_64-darwin ] gi-ostree: [ x86_64-darwin ] + gtk-mac-integration: [ i686-linux, x86_64-linux ] hcwiid: [ x86_64-darwin ] - hfsevents: [ x86_64-darwin ] HFuse: [ x86_64-darwin ] hommage-ds: [ i686-linux, x86_64-linux, x86_64-darwin ] lio-fs: [ x86_64-darwin ] @@ -2486,7822 +2621,7831 @@ dont-distribute-packages: Win32-dhcp-server: [ i686-linux, x86_64-linux, x86_64-darwin ] Win32-errors: [ i686-linux, x86_64-linux, x86_64-darwin ] Win32-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - Win32: [ i686-linux, x86_64-linux, x86_64-darwin ] Win32-junction-point: [ i686-linux, x86_64-linux, x86_64-darwin ] Win32-notify: [ i686-linux, x86_64-linux, x86_64-darwin ] Win32-security: [ i686-linux, x86_64-linux, x86_64-darwin ] - Win32-services: [ i686-linux, x86_64-linux, x86_64-darwin ] Win32-services-wrapper: [ i686-linux, x86_64-linux, x86_64-darwin ] + Win32-services: [ i686-linux, x86_64-linux, x86_64-darwin ] + Win32: [ i686-linux, x86_64-linux, x86_64-darwin ] xattr: [ x86_64-darwin ] XInput: [ i686-linux, x86_64-linux, x86_64-darwin ] xmobar: [ x86_64-darwin ] +dont-distribute-packages: # Depends on shine, which is a ghcjs project. - shine-varying: [ i686-linux, x86_64-linux, x86_64-darwin ] + - shine-varying # these packages depend on software with an unfree license - accelerate-bignum: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-blas: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-cublas: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-cuda: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-cufft: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-fft: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-fourier-benchmark: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-llvm-ptx: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-yices: [ i686-linux, x86_64-linux, x86_64-darwin ] - boolector: [ i686-linux, x86_64-linux, x86_64-darwin ] - ccelerate-cuda: [ i686-linux, x86_64-linux, x86_64-darwin ] - cplex-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - cublas: [ i686-linux, x86_64-linux, x86_64-darwin ] - cufft: [ i686-linux, x86_64-linux, x86_64-darwin ] - cusolver: [ i686-linux, x86_64-linux, x86_64-darwin ] - cusparse: [ i686-linux, x86_64-linux, x86_64-darwin ] - gloss-raster-accelerate: [ i686-linux, x86_64-linux, x86_64-darwin ] - libnvvm: [ i686-linux, x86_64-linux, x86_64-darwin ] - matlab: [ i686-linux, x86_64-linux, x86_64-darwin ] - nvvm: [ i686-linux, x86_64-linux, x86_64-darwin ] - Obsidian: [ i686-linux, x86_64-linux, x86_64-darwin ] - odpic-raw: [ i686-linux, x86_64-linux, x86_64-darwin ] - patch-image: [ i686-linux, x86_64-linux, x86_64-darwin ] - yices-easy: [ i686-linux, x86_64-linux, x86_64-darwin ] - yices-painless: [ i686-linux, x86_64-linux, x86_64-darwin ] + - accelerate-bignum + - accelerate-blas + - accelerate-cublas + - accelerate-cuda + - accelerate-cufft + - accelerate-examples + - accelerate-fft + - accelerate-fourier-benchmark + - accelerate-llvm-ptx + - bindings-yices + - boolector + - ccelerate-cuda + - cplex-hs + - cublas + - cufft + - cusolver + - cusparse + - gloss-raster-accelerate + - libnvvm + - matlab + - nvvm + - Obsidian + - odpic-raw + - patch-image + - yices-easy + - yices-painless - # these packages don't evaluate because they have broken dependencies - comark: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-reflex: [ i686-linux, x86_64-linux, x86_64-darwin ] - dialog: [ i686-linux, x86_64-linux, x86_64-darwin ] - fltkhs-demos: [ i686-linux, x86_64-linux, x86_64-darwin ] - fltkhs-fluid-demos: [ i686-linux, x86_64-linux, x86_64-darwin ] - fltkhs-hello-world: [ i686-linux, x86_64-linux, x86_64-darwin ] - fltkhs-themes: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghcjs-dom-hello: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghcjs-dom-webkit: [ i686-linux, x86_64-linux, x86_64-darwin ] - gi-javascriptcore: [ i686-linux, x86_64-linux, x86_64-darwin ] - gi-webkit2: [ i686-linux, x86_64-linux, x86_64-darwin ] - gi-webkit2webextension: [ i686-linux, x86_64-linux, x86_64-darwin ] - gi-webkit: [ i686-linux, x86_64-linux, x86_64-darwin ] - gsmenu: [ i686-linux, x86_64-linux, x86_64-darwin ] - haste-gapi: [ i686-linux, x86_64-linux, x86_64-darwin ] - haste-perch: [ i686-linux, x86_64-linux, x86_64-darwin ] - hbro: [ i686-linux, x86_64-linux, x86_64-darwin ] - hplayground: [ i686-linux, x86_64-linux, x86_64-darwin ] - imprevu-happstack: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsaddle-webkit2gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsaddle-webkitgtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsc: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdacat: [ i686-linux, x86_64-linux, x86_64-darwin ] - leksah: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-all: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-browser: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-reader: [ i686-linux, x86_64-linux, x86_64-darwin ] - markup-preview: [ i686-linux, x86_64-linux, x86_64-darwin ] - nomyx-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - nomyx-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - nomyx-language: [ i686-linux, x86_64-linux, x86_64-darwin ] - nomyx-library: [ i686-linux, x86_64-linux, x86_64-darwin ] - nomyx-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - passman-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - passman-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflex-dom-colonnade: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflex-dom-contrib: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflex-dom-fragment-shader-canvas: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflex-dom-helpers: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflex-dom: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflex-jsx: [ i686-linux, x86_64-linux, x86_64-darwin ] - sneathlane-haste: [ i686-linux, x86_64-linux, x86_64-darwin ] - spike: [ i686-linux, x86_64-linux, x86_64-darwin ] - tianbar: [ i686-linux, x86_64-linux, x86_64-darwin ] - trasa-reflex: [ i686-linux, x86_64-linux, x86_64-darwin ] - treersec: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-brotli: [ i686-linux, x86_64-linux, x86_64-darwin ] - web-browser-in-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - webkit: [ i686-linux, x86_64-linux, x86_64-darwin ] - webkitgtk3-javascriptcore: [ i686-linux, x86_64-linux, x86_64-darwin ] - webkitgtk3: [ i686-linux, x86_64-linux, x86_64-darwin ] - websnap: [ i686-linux, x86_64-linux, x86_64-darwin ] - XML: [ i686-linux, x86_64-linux, x86_64-darwin ] + # these packages don't evaluate because they have broken (system) dependencies + - comark + - diagrams-reflex + - dialog + - fltkhs-demos + - fltkhs-fluid-demos + - fltkhs-hello-world + - fltkhs-themes + - ghcjs-dom-hello + - ghcjs-dom-webkit + - gi-javascriptcore + - gi-webkit2 + - gi-webkit2webextension + - gi-webkit + - gsmenu + - haste-gapi + - haste-perch + - hbro + - hplayground + - imprevu-happstack + - jsaddle-webkit2gtk + - jsaddle-webkitgtk + - jsc + - lambdacat + - leksah + - manatee-all + - manatee-browser + - manatee-reader + - markup-preview + - nomyx-api + - nomyx-core + - nomyx-language + - nomyx-library + - nomyx-server + - passman-cli + - passman-core + - reflex-dom-colonnade + - reflex-dom-contrib + - reflex-dom-fragment-shader-canvas + - reflex-dom-helpers + - reflex-dom + - reflex-jsx + - sneathlane-haste + - spike + - tianbar + - trasa-reflex + - treersec + - wai-middleware-brotli + - web-browser-in-haskell + - webkit + - webkitgtk3-javascriptcore + - webkitgtk3 + - websnap + - XML - # soft restrictions because of build errors - 3dmodels: [ i686-linux, x86_64-linux, x86_64-darwin ] - 4Blocks: [ i686-linux, x86_64-linux, x86_64-darwin ] - a50: [ i686-linux, x86_64-linux, x86_64-darwin ] - AAI: [ i686-linux, x86_64-linux, x86_64-darwin ] - abcBridge: [ i686-linux, x86_64-linux, x86_64-darwin ] - abcnotation: [ i686-linux, x86_64-linux, x86_64-darwin ] - abeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - abnf: [ i686-linux, x86_64-linux, x86_64-darwin ] - AbortT-monadstf: [ i686-linux, x86_64-linux, x86_64-darwin ] - AbortT-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ] - AbortT-transformers: [ i686-linux, x86_64-linux, x86_64-darwin ] - abstract-par-accelerate: [ i686-linux, x86_64-linux, x86_64-darwin ] - abt: [ i686-linux, x86_64-linux, x86_64-darwin ] - AC-BuildPlatform: [ i686-linux, x86_64-linux, x86_64-darwin ] - AC-EasyRaster-GTK: [ i686-linux, x86_64-linux, x86_64-darwin ] - AC-HalfInteger: [ i686-linux, x86_64-linux, x86_64-darwin ] - ac-machine-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - ac-machine: [ i686-linux, x86_64-linux, x86_64-darwin ] - AC-MiniTest: [ i686-linux, x86_64-linux, x86_64-darwin ] - AC-Terminal: [ i686-linux, x86_64-linux, x86_64-darwin ] - AC-VanillaArray: [ i686-linux, x86_64-linux, x86_64-darwin ] - AC-Vector-Fancy: [ i686-linux, x86_64-linux, x86_64-darwin ] - AC-Vector: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-arithmetic: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-fftw: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-fourier: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-llvm-native: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-llvm: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-random: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-typelits: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate-utility: [ i686-linux, x86_64-linux, x86_64-darwin ] - accelerate: [ i686-linux, x86_64-linux, x86_64-darwin ] - accentuateus: [ i686-linux, x86_64-linux, x86_64-darwin ] - access-time: [ i686-linux, x86_64-linux, x86_64-darwin ] - access-token-provider: [ i686-linux, x86_64-linux, x86_64-darwin ] - acid-state-dist: [ i686-linux, x86_64-linux, x86_64-darwin ] - acid-state-tls: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-all-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-comonad: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-flipping-tables: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-hq9plus: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-inator: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-kitchen-sink: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-left-pad: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-miscorder: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-mutable-package: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-now: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-numbersystem: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-operators: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-php: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-schoenfinkel: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-strfry: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-stringly-typed: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-zalgo: [ i686-linux, x86_64-linux, x86_64-darwin ] - acme-zero: [ i686-linux, x86_64-linux, x86_64-darwin ] - ACME: [ i686-linux, x86_64-linux, x86_64-darwin ] - ActionKid: [ i686-linux, x86_64-linux, x86_64-darwin ] - activehs-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - activehs: [ i686-linux, x86_64-linux, x86_64-darwin ] - activitypub: [ i686-linux, x86_64-linux, x86_64-darwin ] - activitystreams-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - actor: [ i686-linux, x86_64-linux, x86_64-darwin ] - Adaptive-Blaisorblade: [ i686-linux, x86_64-linux, x86_64-darwin ] - adaptive-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] - adaptive-tuple: [ i686-linux, x86_64-linux, x86_64-darwin ] - Adaptive: [ i686-linux, x86_64-linux, x86_64-darwin ] - adb: [ i686-linux, x86_64-linux, x86_64-darwin ] - adhoc-network: [ i686-linux, x86_64-linux, x86_64-darwin ] - adict: [ i686-linux, x86_64-linux, x86_64-darwin ] - adobe-swatch-exchange: [ i686-linux, x86_64-linux, x86_64-darwin ] - adp-multi-monadiccp: [ i686-linux, x86_64-linux, x86_64-darwin ] - adp-multi: [ i686-linux, x86_64-linux, x86_64-darwin ] - ADPfusion: [ i686-linux, x86_64-linux, x86_64-darwin ] - ADPfusionForest: [ i686-linux, x86_64-linux, x86_64-darwin ] - ADPfusionSet: [ i686-linux, x86_64-linux, x86_64-darwin ] - Advgame: [ i686-linux, x86_64-linux, x86_64-darwin ] - AERN-Basics: [ i686-linux, x86_64-linux, x86_64-darwin ] - AERN-Net: [ i686-linux, x86_64-linux, x86_64-darwin ] - AERN-Real-Double: [ i686-linux, x86_64-linux, x86_64-darwin ] - AERN-Real-Interval: [ i686-linux, x86_64-linux, x86_64-darwin ] - AERN-Real: [ i686-linux, x86_64-linux, x86_64-darwin ] - AERN-RnToRm-Plot: [ i686-linux, x86_64-linux, x86_64-darwin ] - AERN-RnToRm: [ i686-linux, x86_64-linux, x86_64-darwin ] - aern2-mp: [ i686-linux, x86_64-linux, x86_64-darwin ] - aern2-real: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-applicative: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-decode: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-diff-generic: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-flowtyped: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-injector: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-native: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-options: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-prefix: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-schema: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-smart: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-t: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-tiled: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-typescript: [ i686-linux, x86_64-linux, x86_64-darwin ] - aeson-value-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - affection: [ i686-linux, x86_64-linux, x86_64-darwin ] - affine-invariant-ensemble-mcmc: [ i686-linux, x86_64-linux, x86_64-darwin ] - afv: [ i686-linux, x86_64-linux, x86_64-darwin ] - ag-pictgen: [ i686-linux, x86_64-linux, x86_64-darwin ] - Agata: [ i686-linux, x86_64-linux, x86_64-darwin ] - agda-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - agda-snippets-hakyll: [ i686-linux, x86_64-linux, x86_64-darwin ] - agda-snippets: [ i686-linux, x86_64-linux, x86_64-darwin ] - agentx: [ i686-linux, x86_64-linux, x86_64-darwin ] - AGI: [ i686-linux, x86_64-linux, x86_64-darwin ] - AhoCorasick: [ i686-linux, x86_64-linux, x86_64-darwin ] - aig: [ i686-linux, x86_64-linux, x86_64-darwin ] - aip: [ i686-linux, x86_64-linux, x86_64-darwin ] - air-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - airbrake: [ i686-linux, x86_64-linux, x86_64-darwin ] - airship: [ i686-linux, x86_64-linux, x86_64-darwin ] - airtable-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - aivika-distributed: [ i686-linux, x86_64-linux, x86_64-darwin ] - aivika-experiment-cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - aivika-experiment-chart: [ i686-linux, x86_64-linux, x86_64-darwin ] - aivika-experiment-diagrams: [ i686-linux, x86_64-linux, x86_64-darwin ] - ajhc: [ i686-linux, x86_64-linux, x86_64-darwin ] - AlanDeniseEricLauren: [ i686-linux, x86_64-linux, x86_64-darwin ] - alerta: [ i686-linux, x86_64-linux, x86_64-darwin ] - alex-meta: [ i686-linux, x86_64-linux, x86_64-darwin ] - alex-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - alfred: [ i686-linux, x86_64-linux, x86_64-darwin ] - alga: [ i686-linux, x86_64-linux, x86_64-darwin ] - algebra-sql: [ i686-linux, x86_64-linux, x86_64-darwin ] - algebra: [ i686-linux, x86_64-linux, x86_64-darwin ] - algebraic-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - algebraic: [ i686-linux, x86_64-linux, x86_64-darwin ] - algo-s: [ i686-linux, x86_64-linux, x86_64-darwin ] - algolia: [ i686-linux, x86_64-linux, x86_64-darwin ] - AlgoRhythm: [ i686-linux, x86_64-linux, x86_64-darwin ] - AlgorithmW: [ i686-linux, x86_64-linux, x86_64-darwin ] - align-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - AlignmentAlgorithms: [ i686-linux, x86_64-linux, x86_64-darwin ] - alms: [ i686-linux, x86_64-linux, x86_64-darwin ] - alpha: [ i686-linux, x86_64-linux, x86_64-darwin ] - alphachar: [ i686-linux, x86_64-linux, x86_64-darwin ] - alsa-gui: [ i686-linux, x86_64-linux, x86_64-darwin ] - alsa-midi: [ i686-linux, x86_64-linux, x86_64-darwin ] - alsa-pcm-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - alsa-seq-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - alsa: [ i686-linux, x86_64-linux, x86_64-darwin ] - altcomposition: [ i686-linux, x86_64-linux, x86_64-darwin ] - alternative-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - alternative-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - alto: [ i686-linux, x86_64-linux, x86_64-darwin ] - alure: [ i686-linux, x86_64-linux, x86_64-darwin ] - amazon-emailer-client-snap: [ i686-linux, x86_64-linux, x86_64-darwin ] - amazon-emailer: [ i686-linux, x86_64-linux, x86_64-darwin ] - amazon-products: [ i686-linux, x86_64-linux, x86_64-darwin ] - amazonka-s3-streaming: [ i686-linux, x86_64-linux, x86_64-darwin ] - amby: [ i686-linux, x86_64-linux, x86_64-darwin ] - AMI: [ i686-linux, x86_64-linux, x86_64-darwin ] - ampersand: [ i686-linux, x86_64-linux, x86_64-darwin ] - amqp-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - analyze-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - analyze: [ i686-linux, x86_64-linux, x86_64-darwin ] - anansi-pandoc: [ i686-linux, x86_64-linux, x86_64-darwin ] - anatomy: [ i686-linux, x86_64-linux, x86_64-darwin ] - android-activity: [ i686-linux, x86_64-linux, x86_64-darwin ] - android-lint-summary: [ i686-linux, x86_64-linux, x86_64-darwin ] - android: [ i686-linux, x86_64-linux, x86_64-darwin ] - AndroidViewHierarchyImporter: [ i686-linux, x86_64-linux, x86_64-darwin ] - angel: [ i686-linux, x86_64-linux, x86_64-darwin ] - angle: [ i686-linux, x86_64-linux, x86_64-darwin ] - Animas: [ i686-linux, x86_64-linux, x86_64-darwin ] - animascii: [ i686-linux, x86_64-linux, x86_64-darwin ] - animate-example: [ i686-linux, x86_64-linux, x86_64-darwin ] - animate-frames: [ i686-linux, x86_64-linux, x86_64-darwin ] - animate-preview: [ i686-linux, x86_64-linux, x86_64-darwin ] - animate-sdl2: [ i686-linux, x86_64-linux, x86_64-darwin ] - animate: [ i686-linux, x86_64-linux, x86_64-darwin ] - annah: [ i686-linux, x86_64-linux, x86_64-darwin ] - Annotations: [ i686-linux, x86_64-linux, x86_64-darwin ] - anonymous-sums-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - anonymous-sums: [ i686-linux, x86_64-linux, x86_64-darwin ] - ansi-terminal-game: [ i686-linux, x86_64-linux, x86_64-darwin ] - ansigraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - antagonist: [ i686-linux, x86_64-linux, x86_64-darwin ] - antfarm: [ i686-linux, x86_64-linux, x86_64-darwin ] - anticiv: [ i686-linux, x86_64-linux, x86_64-darwin ] - antigate: [ i686-linux, x86_64-linux, x86_64-darwin ] - antimirov: [ i686-linux, x86_64-linux, x86_64-darwin ] - antiope-contract: [ i686-linux, x86_64-linux, x86_64-darwin ] - antiope-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - antiope-dynamodb: [ i686-linux, x86_64-linux, x86_64-darwin ] - antiope-messages: [ i686-linux, x86_64-linux, x86_64-darwin ] - antiope-s3: [ i686-linux, x86_64-linux, x86_64-darwin ] - antiope-sns: [ i686-linux, x86_64-linux, x86_64-darwin ] - antiope-sqs: [ i686-linux, x86_64-linux, x86_64-darwin ] - antisplice: [ i686-linux, x86_64-linux, x86_64-darwin ] - antlr-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - antlrc: [ i686-linux, x86_64-linux, x86_64-darwin ] - anydbm: [ i686-linux, x86_64-linux, x86_64-darwin ] - aosd: [ i686-linux, x86_64-linux, x86_64-darwin ] - apart: [ i686-linux, x86_64-linux, x86_64-darwin ] - apelsin: [ i686-linux, x86_64-linux, x86_64-darwin ] - api-builder: [ i686-linux, x86_64-linux, x86_64-darwin ] - api-tools: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-authenticate: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-clientsession: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-cookie: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-eventsource: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-helics: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-http-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-logger: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-memcached: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-mongoDB: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-persistent: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-purescript: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-redis: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-session: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary-websockets: [ i686-linux, x86_64-linux, x86_64-darwin ] - apiary: [ i686-linux, x86_64-linux, x86_64-darwin ] - apis: [ i686-linux, x86_64-linux, x86_64-darwin ] - apns-http2: [ i686-linux, x86_64-linux, x86_64-darwin ] - apotiki: [ i686-linux, x86_64-linux, x86_64-darwin ] - app-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - appc: [ i686-linux, x86_64-linux, x86_64-darwin ] - ApplePush: [ i686-linux, x86_64-linux, x86_64-darwin ] - AppleScript: [ i686-linux, x86_64-linux, x86_64-darwin ] - applicative-fail: [ i686-linux, x86_64-linux, x86_64-darwin ] - applicative-parsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - applicative-quoters: [ i686-linux, x86_64-linux, x86_64-darwin ] - applicative-splice: [ i686-linux, x86_64-linux, x86_64-darwin ] - ApproxFun-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - arb-fft: [ i686-linux, x86_64-linux, x86_64-darwin ] - arbb-vm: [ i686-linux, x86_64-linux, x86_64-darwin ] - arbor-datadog: [ i686-linux, x86_64-linux, x86_64-darwin ] - arbor-lru-cache: [ i686-linux, x86_64-linux, x86_64-darwin ] - arbor-monad-counter: [ i686-linux, x86_64-linux, x86_64-darwin ] - arbor-monad-metric-datadog: [ i686-linux, x86_64-linux, x86_64-darwin ] - arbor-monad-metric: [ i686-linux, x86_64-linux, x86_64-darwin ] - arbor-postgres: [ i686-linux, x86_64-linux, x86_64-darwin ] - arbtt: [ i686-linux, x86_64-linux, x86_64-darwin ] - archiver: [ i686-linux, x86_64-linux, x86_64-darwin ] - archlinux-web: [ i686-linux, x86_64-linux, x86_64-darwin ] - archlinux: [ i686-linux, x86_64-linux, x86_64-darwin ] - archnews: [ i686-linux, x86_64-linux, x86_64-darwin ] - arena: [ i686-linux, x86_64-linux, x86_64-darwin ] - arff: [ i686-linux, x86_64-linux, x86_64-darwin ] - arghwxhaskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - argon2: [ i686-linux, x86_64-linux, x86_64-darwin ] - argon: [ i686-linux, x86_64-linux, x86_64-darwin ] - argparser: [ i686-linux, x86_64-linux, x86_64-darwin ] - arguedit: [ i686-linux, x86_64-linux, x86_64-darwin ] - ariadne: [ i686-linux, x86_64-linux, x86_64-darwin ] - arion: [ i686-linux, x86_64-linux, x86_64-darwin ] - arith-encode: [ i686-linux, x86_64-linux, x86_64-darwin ] - arithmoi: [ i686-linux, x86_64-linux, x86_64-darwin ] - armada: [ i686-linux, x86_64-linux, x86_64-darwin ] - armor: [ i686-linux, x86_64-linux, x86_64-darwin ] - arpa: [ i686-linux, x86_64-linux, x86_64-darwin ] - arpack: [ i686-linux, x86_64-linux, x86_64-darwin ] - array-forth: [ i686-linux, x86_64-linux, x86_64-darwin ] - array-primops: [ i686-linux, x86_64-linux, x86_64-darwin ] - ArrayRef: [ i686-linux, x86_64-linux, x86_64-darwin ] - arrow-improve: [ i686-linux, x86_64-linux, x86_64-darwin ] - arrow-list: [ i686-linux, x86_64-linux, x86_64-darwin ] - arrowapply-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - arrowp-qq: [ i686-linux, x86_64-linux, x86_64-darwin ] - arrowp: [ i686-linux, x86_64-linux, x86_64-darwin ] - ArrowVHDL: [ i686-linux, x86_64-linux, x86_64-darwin ] - artery: [ i686-linux, x86_64-linux, x86_64-darwin ] - artifact: [ i686-linux, x86_64-linux, x86_64-darwin ] - ascii-flatten: [ i686-linux, x86_64-linux, x86_64-darwin ] - ascii-table: [ i686-linux, x86_64-linux, x86_64-darwin ] - ascii-vector-avc: [ i686-linux, x86_64-linux, x86_64-darwin ] - ascii85-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - asic: [ i686-linux, x86_64-linux, x86_64-darwin ] - asif: [ i686-linux, x86_64-linux, x86_64-darwin ] - asil: [ i686-linux, x86_64-linux, x86_64-darwin ] - asn1-codec: [ i686-linux, x86_64-linux, x86_64-darwin ] - asn: [ i686-linux, x86_64-linux, x86_64-darwin ] - AspectAG: [ i686-linux, x86_64-linux, x86_64-darwin ] - assert: [ i686-linux, x86_64-linux, x86_64-darwin ] - assertions: [ i686-linux, x86_64-linux, x86_64-darwin ] - asset-map: [ i686-linux, x86_64-linux, x86_64-darwin ] - assimp: [ i686-linux, x86_64-linux, x86_64-darwin ] - ast-monad-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - ast-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - astrds: [ i686-linux, x86_64-linux, x86_64-darwin ] - astview: [ i686-linux, x86_64-linux, x86_64-darwin ] - async-combinators: [ i686-linux, x86_64-linux, x86_64-darwin ] - async-dejafu: [ i686-linux, x86_64-linux, x86_64-darwin ] - async-manager: [ i686-linux, x86_64-linux, x86_64-darwin ] - async-pool: [ i686-linux, x86_64-linux, x86_64-darwin ] - async-timer: [ i686-linux, x86_64-linux, x86_64-darwin ] - asynchronous-exceptions: [ i686-linux, x86_64-linux, x86_64-darwin ] - aterm-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - aterm: [ i686-linux, x86_64-linux, x86_64-darwin ] - atlassian-connect-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - atmos-dimensional-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - atmos-dimensional: [ i686-linux, x86_64-linux, x86_64-darwin ] - atmos: [ i686-linux, x86_64-linux, x86_64-darwin ] - atndapi: [ i686-linux, x86_64-linux, x86_64-darwin ] - atom-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - atom-msp430: [ i686-linux, x86_64-linux, x86_64-darwin ] - atomic-modify: [ i686-linux, x86_64-linux, x86_64-darwin ] - atomic-primops-foreign: [ i686-linux, x86_64-linux, x86_64-darwin ] - atomic-primops-vector: [ i686-linux, x86_64-linux, x86_64-darwin ] - atomo: [ i686-linux, x86_64-linux, x86_64-darwin ] - ats-format: [ i686-linux, x86_64-linux, x86_64-darwin ] - ats-setup: [ i686-linux, x86_64-linux, x86_64-darwin ] - ats-storable: [ i686-linux, x86_64-linux, x86_64-darwin ] - attic-schedule: [ i686-linux, x86_64-linux, x86_64-darwin ] - AttoBencode: [ i686-linux, x86_64-linux, x86_64-darwin ] - AttoJson: [ i686-linux, x86_64-linux, x86_64-darwin ] - attoparsec-data: [ i686-linux, x86_64-linux, x86_64-darwin ] - attoparsec-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - attoparsec-ip: [ i686-linux, x86_64-linux, x86_64-darwin ] - attoparsec-iteratee: [ i686-linux, x86_64-linux, x86_64-darwin ] - attoparsec-text-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - attoparsec-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - attoparsec-time: [ i686-linux, x86_64-linux, x86_64-darwin ] - attoparsec-trans: [ i686-linux, x86_64-linux, x86_64-darwin ] - attoparsec-uri: [ i686-linux, x86_64-linux, x86_64-darwin ] - attoparsec-varword: [ i686-linux, x86_64-linux, x86_64-darwin ] - attosplit: [ i686-linux, x86_64-linux, x86_64-darwin ] - Attrac: [ i686-linux, x86_64-linux, x86_64-darwin ] - atuin: [ i686-linux, x86_64-linux, x86_64-darwin ] - audiovisual: [ i686-linux, x86_64-linux, x86_64-darwin ] - augeas: [ i686-linux, x86_64-linux, x86_64-darwin ] - augur: [ i686-linux, x86_64-linux, x86_64-darwin ] - aur-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - aur: [ i686-linux, x86_64-linux, x86_64-darwin ] - aura: [ i686-linux, x86_64-linux, x86_64-darwin ] - Aurochs: [ i686-linux, x86_64-linux, x86_64-darwin ] - authenticate-ldap: [ i686-linux, x86_64-linux, x86_64-darwin ] - authoring: [ i686-linux, x86_64-linux, x86_64-darwin ] - AutoForms: [ i686-linux, x86_64-linux, x86_64-darwin ] - autom: [ i686-linux, x86_64-linux, x86_64-darwin ] - automata: [ i686-linux, x86_64-linux, x86_64-darwin ] - autonix-deps-kf5: [ i686-linux, x86_64-linux, x86_64-darwin ] - autonix-deps: [ i686-linux, x86_64-linux, x86_64-darwin ] - avatar-generator: [ i686-linux, x86_64-linux, x86_64-darwin ] - avers-api-docs: [ i686-linux, x86_64-linux, x86_64-darwin ] - avers-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - avers-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - avers: [ i686-linux, x86_64-linux, x86_64-darwin ] - avl-static: [ i686-linux, x86_64-linux, x86_64-darwin ] - AvlTree: [ i686-linux, x86_64-linux, x86_64-darwin ] - avr-shake: [ i686-linux, x86_64-linux, x86_64-darwin ] - awesome-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - awesomium-glut: [ i686-linux, x86_64-linux, x86_64-darwin ] - awesomium-raw: [ i686-linux, x86_64-linux, x86_64-darwin ] - awesomium: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-configuration-tools: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-dynamodb-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-dynamodb-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-ec2-knownhosts: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-ec2: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-elastic-transcoder: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-general: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-kinesis-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-kinesis-reshard: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-kinesis: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-lambda: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-mfa-credentials: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-performance-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-route53: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-sdk-text-converter: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-sdk-xml-unordered: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-sdk: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-sign4: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - aws-sns: [ i686-linux, x86_64-linux, x86_64-darwin ] - axiom: [ i686-linux, x86_64-linux, x86_64-darwin ] - azubi: [ i686-linux, x86_64-linux, x86_64-darwin ] - azure-service-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - azure-servicebus: [ i686-linux, x86_64-linux, x86_64-darwin ] - azurify: [ i686-linux, x86_64-linux, x86_64-darwin ] - b9: [ i686-linux, x86_64-linux, x86_64-darwin ] - babylon: [ i686-linux, x86_64-linux, x86_64-darwin ] - backdropper: [ i686-linux, x86_64-linux, x86_64-darwin ] - backtracking-exceptions: [ i686-linux, x86_64-linux, x86_64-darwin ] - backward-state: [ i686-linux, x86_64-linux, x86_64-darwin ] - bag: [ i686-linux, x86_64-linux, x86_64-darwin ] - Baggins: [ i686-linux, x86_64-linux, x86_64-darwin ] - bake: [ i686-linux, x86_64-linux, x86_64-darwin ] - ballast: [ i686-linux, x86_64-linux, x86_64-darwin ] - bamboo-launcher: [ i686-linux, x86_64-linux, x86_64-darwin ] - bamboo-plugin-highlight: [ i686-linux, x86_64-linux, x86_64-darwin ] - bamboo-plugin-photo: [ i686-linux, x86_64-linux, x86_64-darwin ] - bamboo-theme-blueprint: [ i686-linux, x86_64-linux, x86_64-darwin ] - bamboo-theme-mini-html5: [ i686-linux, x86_64-linux, x86_64-darwin ] - bamboo: [ i686-linux, x86_64-linux, x86_64-darwin ] - bamse: [ i686-linux, x86_64-linux, x86_64-darwin ] - bamstats: [ i686-linux, x86_64-linux, x86_64-darwin ] - Bang: [ i686-linux, x86_64-linux, x86_64-darwin ] - bank-holiday-usa: [ i686-linux, x86_64-linux, x86_64-darwin ] - banwords: [ i686-linux, x86_64-linux, x86_64-darwin ] - barchart: [ i686-linux, x86_64-linux, x86_64-darwin ] - barcodes-code128: [ i686-linux, x86_64-linux, x86_64-darwin ] - barecheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - Barracuda: [ i686-linux, x86_64-linux, x86_64-darwin ] - barrie: [ i686-linux, x86_64-linux, x86_64-darwin ] - barrier-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - barrier: [ i686-linux, x86_64-linux, x86_64-darwin ] - base-compat-migrate: [ i686-linux, x86_64-linux, x86_64-darwin ] - base-feature-macros: [ i686-linux, x86_64-linux, x86_64-darwin ] - base-generics: [ i686-linux, x86_64-linux, x86_64-darwin ] - base-io-access: [ i686-linux, x86_64-linux, x86_64-darwin ] - base64-bytestring-type: [ i686-linux, x86_64-linux, x86_64-darwin ] - base64-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - baserock-schema: [ i686-linux, x86_64-linux, x86_64-darwin ] - BASIC: [ i686-linux, x86_64-linux, x86_64-darwin ] - baskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - batch: [ i686-linux, x86_64-linux, x86_64-darwin ] - batchd: [ i686-linux, x86_64-linux, x86_64-darwin ] - battlenet-yesod: [ i686-linux, x86_64-linux, x86_64-darwin ] - battlenet: [ i686-linux, x86_64-linux, x86_64-darwin ] - battleplace-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - battleship-combinatorics: [ i686-linux, x86_64-linux, x86_64-darwin ] - battleships: [ i686-linux, x86_64-linux, x86_64-darwin ] - bayes-stack: [ i686-linux, x86_64-linux, x86_64-darwin ] - BCMtools: [ i686-linux, x86_64-linux, x86_64-darwin ] - bdcs-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - bdcs: [ i686-linux, x86_64-linux, x86_64-darwin ] - beam-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - beam-migrate: [ i686-linux, x86_64-linux, x86_64-darwin ] - beam-newtype-field: [ i686-linux, x86_64-linux, x86_64-darwin ] - beam-postgres: [ i686-linux, x86_64-linux, x86_64-darwin ] - beam-sqlite: [ i686-linux, x86_64-linux, x86_64-darwin ] - beam-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - beam: [ i686-linux, x86_64-linux, x86_64-darwin ] - beamable: [ i686-linux, x86_64-linux, x86_64-darwin ] - beautifHOL: [ i686-linux, x86_64-linux, x86_64-darwin ] - beeminder-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - Befunge93: [ i686-linux, x86_64-linux, x86_64-darwin ] - bein: [ i686-linux, x86_64-linux, x86_64-darwin ] - belka: [ i686-linux, x86_64-linux, x86_64-darwin ] - bench-graph: [ i686-linux, x86_64-linux, x86_64-darwin ] - bench-show: [ i686-linux, x86_64-linux, x86_64-darwin ] - BenchmarkHistory: [ i686-linux, x86_64-linux, x86_64-darwin ] - bencodex: [ i686-linux, x86_64-linux, x86_64-darwin ] - berkeleydb: [ i686-linux, x86_64-linux, x86_64-darwin ] - BerkeleyDBXML: [ i686-linux, x86_64-linux, x86_64-darwin ] - BerlekampAlgorithm: [ i686-linux, x86_64-linux, x86_64-darwin ] - berp: [ i686-linux, x86_64-linux, x86_64-darwin ] - besout: [ i686-linux, x86_64-linux, x86_64-darwin ] - bet: [ i686-linux, x86_64-linux, x86_64-darwin ] - betacode: [ i686-linux, x86_64-linux, x86_64-darwin ] - betris: [ i686-linux, x86_64-linux, x86_64-darwin ] - bff: [ i686-linux, x86_64-linux, x86_64-darwin ] - bgmax: [ i686-linux, x86_64-linux, x86_64-darwin ] - bgzf: [ i686-linux, x86_64-linux, x86_64-darwin ] - bhoogle: [ i686-linux, x86_64-linux, x86_64-darwin ] - bibdb: [ i686-linux, x86_64-linux, x86_64-darwin ] - bidirectionalization-combined: [ i686-linux, x86_64-linux, x86_64-darwin ] - bidispec-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - bidispec: [ i686-linux, x86_64-linux, x86_64-darwin ] - bifunctor: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiGUL: [ i686-linux, x86_64-linux, x86_64-darwin ] - billboard-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - billeksah-forms: [ i686-linux, x86_64-linux, x86_64-darwin ] - billeksah-main: [ i686-linux, x86_64-linux, x86_64-darwin ] - billeksah-pane: [ i686-linux, x86_64-linux, x86_64-darwin ] - billeksah-services: [ i686-linux, x86_64-linux, x86_64-darwin ] - binary-communicator: [ i686-linux, x86_64-linux, x86_64-darwin ] - binary-derive: [ i686-linux, x86_64-linux, x86_64-darwin ] - binary-ext: [ i686-linux, x86_64-linux, x86_64-darwin ] - binary-file: [ i686-linux, x86_64-linux, x86_64-darwin ] - binary-indexed-tree: [ i686-linux, x86_64-linux, x86_64-darwin ] - binary-orphans: [ i686-linux, x86_64-linux, x86_64-darwin ] - binary-protocol-zmq: [ i686-linux, x86_64-linux, x86_64-darwin ] - binary-protocol: [ i686-linux, x86_64-linux, x86_64-darwin ] - binary-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - binary-strict: [ i686-linux, x86_64-linux, x86_64-darwin ] - binary-tagged: [ i686-linux, x86_64-linux, x86_64-darwin ] - binary-typed: [ i686-linux, x86_64-linux, x86_64-darwin ] - bind-marshal: [ i686-linux, x86_64-linux, x86_64-darwin ] - binding-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - binding-wx: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-apr-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-apr: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-bfd: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-cctools: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-common: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-dc1394: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-eskit: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-EsounD: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-fann: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-fluidsynth: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-friso: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-gsl: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-gts: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-hamlib: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-hdf5: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-K8055: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-libftdi: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-libg15: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-librrd: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-libstemmer: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-libv4l2: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-monetdb-mapi: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-mpdecimal: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-portaudio: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-sc3: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-sipc: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindings-wlc: [ i686-linux, x86_64-linux, x86_64-darwin ] - bindynamic: [ i686-linux, x86_64-linux, x86_64-darwin ] - binembed-example: [ i686-linux, x86_64-linux, x86_64-darwin ] - binembed: [ i686-linux, x86_64-linux, x86_64-darwin ] - bins: [ i686-linux, x86_64-linux, x86_64-darwin ] - bio-sequence: [ i686-linux, x86_64-linux, x86_64-darwin ] - bio: [ i686-linux, x86_64-linux, x86_64-darwin ] - bioace: [ i686-linux, x86_64-linux, x86_64-darwin ] - bioalign: [ i686-linux, x86_64-linux, x86_64-darwin ] - Biobase: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiobaseBlast: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiobaseDotP: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiobaseEnsembl: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiobaseFR3D: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiobaseHTTP: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiobaseHTTPTools: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiobaseInfernal: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiobaseMAF: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiobaseNewick: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiobaseTrainingData: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiobaseTurner: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiobaseVienna: [ i686-linux, x86_64-linux, x86_64-darwin ] - BiobaseXNA: [ i686-linux, x86_64-linux, x86_64-darwin ] - biocore: [ i686-linux, x86_64-linux, x86_64-darwin ] - biofasta: [ i686-linux, x86_64-linux, x86_64-darwin ] - biofastq: [ i686-linux, x86_64-linux, x86_64-darwin ] - biohazard: [ i686-linux, x86_64-linux, x86_64-darwin ] - BioHMM: [ i686-linux, x86_64-linux, x86_64-darwin ] - bioinformatics-toolkit: [ i686-linux, x86_64-linux, x86_64-darwin ] - biophd: [ i686-linux, x86_64-linux, x86_64-darwin ] - biopsl: [ i686-linux, x86_64-linux, x86_64-darwin ] - biosff: [ i686-linux, x86_64-linux, x86_64-darwin ] - biostockholm: [ i686-linux, x86_64-linux, x86_64-darwin ] - birch-beer: [ i686-linux, x86_64-linux, x86_64-darwin ] - bird: [ i686-linux, x86_64-linux, x86_64-darwin ] - BirdPP: [ i686-linux, x86_64-linux, x86_64-darwin ] - bisect-binary: [ i686-linux, x86_64-linux, x86_64-darwin ] - bit-array: [ i686-linux, x86_64-linux, x86_64-darwin ] - bit-stream: [ i686-linux, x86_64-linux, x86_64-darwin ] - bitcoin-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - bitcoin-rpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - bitly-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - Bitly: [ i686-linux, x86_64-linux, x86_64-darwin ] - bitmaps: [ i686-linux, x86_64-linux, x86_64-darwin ] - bits-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - bitset: [ i686-linux, x86_64-linux, x86_64-darwin ] - bitspeak: [ i686-linux, x86_64-linux, x86_64-darwin ] - bitstream: [ i686-linux, x86_64-linux, x86_64-darwin ] - BitStringRandomMonad: [ i686-linux, x86_64-linux, x86_64-darwin ] - bittorrent: [ i686-linux, x86_64-linux, x86_64-darwin ] - bitvec: [ i686-linux, x86_64-linux, x86_64-darwin ] - bizzlelude-js: [ i686-linux, x86_64-linux, x86_64-darwin ] - bizzlelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - bkr: [ i686-linux, x86_64-linux, x86_64-darwin ] - bla: [ i686-linux, x86_64-linux, x86_64-darwin ] - blakesum-demo: [ i686-linux, x86_64-linux, x86_64-darwin ] - blakesum: [ i686-linux, x86_64-linux, x86_64-darwin ] - blank-canvas: [ i686-linux, x86_64-linux, x86_64-darwin ] - blas-carray: [ i686-linux, x86_64-linux, x86_64-darwin ] - blas-comfort-array: [ i686-linux, x86_64-linux, x86_64-darwin ] - blas-ffi: [ i686-linux, x86_64-linux, x86_64-darwin ] - blas-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - blas: [ i686-linux, x86_64-linux, x86_64-darwin ] - BlastHTTP: [ i686-linux, x86_64-linux, x86_64-darwin ] - blastxml: [ i686-linux, x86_64-linux, x86_64-darwin ] - blatex: [ i686-linux, x86_64-linux, x86_64-darwin ] - blaze-builder-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - blaze-html-contrib: [ i686-linux, x86_64-linux, x86_64-darwin ] - blaze-html-hexpat: [ i686-linux, x86_64-linux, x86_64-darwin ] - blaze-html-truncate: [ i686-linux, x86_64-linux, x86_64-darwin ] - blaze-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - blaze-textual-native: [ i686-linux, x86_64-linux, x86_64-darwin ] - blazeT: [ i686-linux, x86_64-linux, x86_64-darwin ] - ble: [ i686-linux, x86_64-linux, x86_64-darwin ] - blink1: [ i686-linux, x86_64-linux, x86_64-darwin ] - blip: [ i686-linux, x86_64-linux, x86_64-darwin ] - bliplib: [ i686-linux, x86_64-linux, x86_64-darwin ] - Blobs: [ i686-linux, x86_64-linux, x86_64-darwin ] - blockchain: [ i686-linux, x86_64-linux, x86_64-darwin ] - blockhash: [ i686-linux, x86_64-linux, x86_64-darwin ] - Blogdown: [ i686-linux, x86_64-linux, x86_64-darwin ] - blogination: [ i686-linux, x86_64-linux, x86_64-darwin ] - BlogLiterately-diagrams: [ i686-linux, x86_64-linux, x86_64-darwin ] - BlogLiterately: [ i686-linux, x86_64-linux, x86_64-darwin ] - bloodhound-amazonka-auth: [ i686-linux, x86_64-linux, x86_64-darwin ] - bloodhound: [ i686-linux, x86_64-linux, x86_64-darwin ] - bloomfilter-redis: [ i686-linux, x86_64-linux, x86_64-darwin ] - blosum: [ i686-linux, x86_64-linux, x86_64-darwin ] - blubber-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - blubber: [ i686-linux, x86_64-linux, x86_64-darwin ] - Blueprint: [ i686-linux, x86_64-linux, x86_64-darwin ] - bluetile: [ i686-linux, x86_64-linux, x86_64-darwin ] - bluetileutils: [ i686-linux, x86_64-linux, x86_64-darwin ] - blunk-hask-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - blunt: [ i686-linux, x86_64-linux, x86_64-darwin ] - BNFC-meta: [ i686-linux, x86_64-linux, x86_64-darwin ] - bno055-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - bogre-banana: [ i686-linux, x86_64-linux, x86_64-darwin ] - bolt: [ i686-linux, x86_64-linux, x86_64-darwin ] - boltzmann-brain: [ i686-linux, x86_64-linux, x86_64-darwin ] - bond-haskell-compiler: [ i686-linux, x86_64-linux, x86_64-darwin ] - bond-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - bond: [ i686-linux, x86_64-linux, x86_64-darwin ] - bookkeeper-permissions: [ i686-linux, x86_64-linux, x86_64-darwin ] - bookkeeper: [ i686-linux, x86_64-linux, x86_64-darwin ] - Bookshelf: [ i686-linux, x86_64-linux, x86_64-darwin ] - boolexpr: [ i686-linux, x86_64-linux, x86_64-darwin ] - boombox: [ i686-linux, x86_64-linux, x86_64-darwin ] - boomslang: [ i686-linux, x86_64-linux, x86_64-darwin ] - borel: [ i686-linux, x86_64-linux, x86_64-darwin ] - boring-window-switcher: [ i686-linux, x86_64-linux, x86_64-darwin ] - boring: [ i686-linux, x86_64-linux, x86_64-darwin ] - bot: [ i686-linux, x86_64-linux, x86_64-darwin ] - bound-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - bounded-array: [ i686-linux, x86_64-linux, x86_64-darwin ] - bowntz: [ i686-linux, x86_64-linux, x86_64-darwin ] - braid: [ i686-linux, x86_64-linux, x86_64-darwin ] - brain-bleep: [ i686-linux, x86_64-linux, x86_64-darwin ] - Bravo: [ i686-linux, x86_64-linux, x86_64-darwin ] - breakout: [ i686-linux, x86_64-linux, x86_64-darwin ] - breve: [ i686-linux, x86_64-linux, x86_64-darwin ] - brians-brain: [ i686-linux, x86_64-linux, x86_64-darwin ] - brick-dropdownmenu: [ i686-linux, x86_64-linux, x86_64-darwin ] - bricks-internal-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - bricks-internal: [ i686-linux, x86_64-linux, x86_64-darwin ] - bricks-parsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - bricks-rendering: [ i686-linux, x86_64-linux, x86_64-darwin ] - bricks-syntax: [ i686-linux, x86_64-linux, x86_64-darwin ] - bricks: [ i686-linux, x86_64-linux, x86_64-darwin ] - brillig: [ i686-linux, x86_64-linux, x86_64-darwin ] - brittany: [ i686-linux, x86_64-linux, x86_64-darwin ] - broadcast-chan-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - broadcast-chan-pipes: [ i686-linux, x86_64-linux, x86_64-darwin ] - broadcast-chan-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - broadcast-chan: [ i686-linux, x86_64-linux, x86_64-darwin ] - broccoli: [ i686-linux, x86_64-linux, x86_64-darwin ] - broker-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - bronyradiogermany-streaming: [ i686-linux, x86_64-linux, x86_64-darwin ] - browscap: [ i686-linux, x86_64-linux, x86_64-darwin ] - bson-generic: [ i686-linux, x86_64-linux, x86_64-darwin ] - bson-generics: [ i686-linux, x86_64-linux, x86_64-darwin ] - btree-concurrent: [ i686-linux, x86_64-linux, x86_64-darwin ] - buchhaltung: [ i686-linux, x86_64-linux, x86_64-darwin ] - buffer-builder-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - buffer: [ i686-linux, x86_64-linux, x86_64-darwin ] - BufferedSocket: [ i686-linux, x86_64-linux, x86_64-darwin ] - buffon: [ i686-linux, x86_64-linux, x86_64-darwin ] - bugzilla: [ i686-linux, x86_64-linux, x86_64-darwin ] - build: [ i686-linux, x86_64-linux, x86_64-darwin ] - buildable: [ i686-linux, x86_64-linux, x86_64-darwin ] - buildbox-tools: [ i686-linux, x86_64-linux, x86_64-darwin ] - buildwrapper: [ i686-linux, x86_64-linux, x86_64-darwin ] - bullet: [ i686-linux, x86_64-linux, x86_64-darwin ] - bulletproofs: [ i686-linux, x86_64-linux, x86_64-darwin ] - bumper: [ i686-linux, x86_64-linux, x86_64-darwin ] - bunz: [ i686-linux, x86_64-linux, x86_64-darwin ] - burnt-explorer: [ i686-linux, x86_64-linux, x86_64-darwin ] - burst-detection: [ i686-linux, x86_64-linux, x86_64-darwin ] - bus-pirate: [ i686-linux, x86_64-linux, x86_64-darwin ] - buster-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - buster-network: [ i686-linux, x86_64-linux, x86_64-darwin ] - buster: [ i686-linux, x86_64-linux, x86_64-darwin ] - Buster: [ i686-linux, x86_64-linux, x86_64-darwin ] - butcher: [ i686-linux, x86_64-linux, x86_64-darwin ] - butter: [ i686-linux, x86_64-linux, x86_64-darwin ] - butterflies: [ i686-linux, x86_64-linux, x86_64-darwin ] - bv-sized: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytable: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestring-arbitrary: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestring-builder-varword: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestring-class: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestring-csv: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestring-handle: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestring-plain: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestring-read: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestring-rematch: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestring-show: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestring-time: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestring-trie: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestring-typenats: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestringparser: [ i686-linux, x86_64-linux, x86_64-darwin ] - bytestringreadp: [ i686-linux, x86_64-linux, x86_64-darwin ] - c-dsl: [ i686-linux, x86_64-linux, x86_64-darwin ] - c-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - c0check: [ i686-linux, x86_64-linux, x86_64-darwin ] - c0parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - c2ats: [ i686-linux, x86_64-linux, x86_64-darwin ] - c2hsc: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-audit: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-cargs: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-constraints: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-db: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-debian: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-dependency-licenses: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-dev: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-dir: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-file-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-ghc-dynflags: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-ghci: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-graphdeps: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-helper: [ i686-linux, x86_64-linux, x86_64-darwin ] - Cabal-ide-backend: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-info: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-install-bundle: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-install-ghc72: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-install-ghc74: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-meta: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-mon: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-nirvana: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-progdeps: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-query: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-setup: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-sort: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-src: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-toolkit: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal-upload: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal2arch: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal2doap: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal2ebuild: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabal2ghci: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabalgraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabalish: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabalmdvrpm: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabalQuery: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabalrpmdeps: [ i686-linux, x86_64-linux, x86_64-darwin ] - CabalSearch: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabalvchk: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabin: [ i686-linux, x86_64-linux, x86_64-darwin ] - cabocha: [ i686-linux, x86_64-linux, x86_64-darwin ] - cachix-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - cachix: [ i686-linux, x86_64-linux, x86_64-darwin ] - caffegraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - cairo-appbase: [ i686-linux, x86_64-linux, x86_64-darwin ] - cairo-canvas: [ i686-linux, x86_64-linux, x86_64-darwin ] - cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - cake3: [ i686-linux, x86_64-linux, x86_64-darwin ] - cake: [ i686-linux, x86_64-linux, x86_64-darwin ] - cakyrespa: [ i686-linux, x86_64-linux, x86_64-darwin ] - cal-layout: [ i686-linux, x86_64-linux, x86_64-darwin ] - cal3d-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - cal3d-opengl: [ i686-linux, x86_64-linux, x86_64-darwin ] - cal3d: [ i686-linux, x86_64-linux, x86_64-darwin ] - calc: [ i686-linux, x86_64-linux, x86_64-darwin ] - calculator: [ i686-linux, x86_64-linux, x86_64-darwin ] - caldims: [ i686-linux, x86_64-linux, x86_64-darwin ] - caledon: [ i686-linux, x86_64-linux, x86_64-darwin ] - call-haskell-from-anything: [ i686-linux, x86_64-linux, x86_64-darwin ] - call: [ i686-linux, x86_64-linux, x86_64-darwin ] - camfort: [ i686-linux, x86_64-linux, x86_64-darwin ] - campfire: [ i686-linux, x86_64-linux, x86_64-darwin ] - canon: [ i686-linux, x86_64-linux, x86_64-darwin ] - canonical-filepath: [ i686-linux, x86_64-linux, x86_64-darwin ] - canonical-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - canteven-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - canteven-listen-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - canteven-log: [ i686-linux, x86_64-linux, x86_64-darwin ] - canteven-parsedate: [ i686-linux, x86_64-linux, x86_64-darwin ] - cantor-pairing: [ i686-linux, x86_64-linux, x86_64-darwin ] - cantor: [ i686-linux, x86_64-linux, x86_64-darwin ] - cao: [ i686-linux, x86_64-linux, x86_64-darwin ] - cap: [ i686-linux, x86_64-linux, x86_64-darwin ] - Capabilities: [ i686-linux, x86_64-linux, x86_64-darwin ] - capability: [ i686-linux, x86_64-linux, x86_64-darwin ] - capataz: [ i686-linux, x86_64-linux, x86_64-darwin ] - capnp: [ i686-linux, x86_64-linux, x86_64-darwin ] - capped-list: [ i686-linux, x86_64-linux, x86_64-darwin ] - capri: [ i686-linux, x86_64-linux, x86_64-darwin ] - car-pool: [ i686-linux, x86_64-linux, x86_64-darwin ] - carbonara: [ i686-linux, x86_64-linux, x86_64-darwin ] - carboncopy: [ i686-linux, x86_64-linux, x86_64-darwin ] - carettah: [ i686-linux, x86_64-linux, x86_64-darwin ] - CarneadesDSL: [ i686-linux, x86_64-linux, x86_64-darwin ] - CarneadesIntoDung: [ i686-linux, x86_64-linux, x86_64-darwin ] - carte: [ i686-linux, x86_64-linux, x86_64-darwin ] - cartel: [ i686-linux, x86_64-linux, x86_64-darwin ] - Cartesian: [ i686-linux, x86_64-linux, x86_64-darwin ] - casa-abbreviations-and-acronyms: [ i686-linux, x86_64-linux, x86_64-darwin ] - casadi-bindings-control: [ i686-linux, x86_64-linux, x86_64-darwin ] - casadi-bindings-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - casadi-bindings-internal: [ i686-linux, x86_64-linux, x86_64-darwin ] - casadi-bindings-ipopt-interface: [ i686-linux, x86_64-linux, x86_64-darwin ] - casadi-bindings-snopt-interface: [ i686-linux, x86_64-linux, x86_64-darwin ] - casadi-bindings: [ i686-linux, x86_64-linux, x86_64-darwin ] - Cascade: [ i686-linux, x86_64-linux, x86_64-darwin ] - cascading: [ i686-linux, x86_64-linux, x86_64-darwin ] - cash: [ i686-linux, x86_64-linux, x86_64-darwin ] - cassandra-cql: [ i686-linux, x86_64-linux, x86_64-darwin ] - cassava-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - Cassava: [ i686-linux, x86_64-linux, x86_64-darwin ] - cassette: [ i686-linux, x86_64-linux, x86_64-darwin ] - cassy: [ i686-linux, x86_64-linux, x86_64-darwin ] - castle: [ i686-linux, x86_64-linux, x86_64-darwin ] - casui: [ i686-linux, x86_64-linux, x86_64-darwin ] - catamorphism: [ i686-linux, x86_64-linux, x86_64-darwin ] - Catana: [ i686-linux, x86_64-linux, x86_64-darwin ] - catch-fd: [ i686-linux, x86_64-linux, x86_64-darwin ] - categorical-algebra: [ i686-linux, x86_64-linux, x86_64-darwin ] - category-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - category-traced: [ i686-linux, x86_64-linux, x86_64-darwin ] - category: [ i686-linux, x86_64-linux, x86_64-darwin ] - catnplus: [ i686-linux, x86_64-linux, x86_64-darwin ] - cautious-gen: [ i686-linux, x86_64-linux, x86_64-darwin ] - cayley-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - CBOR: [ i686-linux, x86_64-linux, x86_64-darwin ] - CC-delcont-alt: [ i686-linux, x86_64-linux, x86_64-darwin ] - CC-delcont-cxe: [ i686-linux, x86_64-linux, x86_64-darwin ] - CC-delcont-exc: [ i686-linux, x86_64-linux, x86_64-darwin ] - CC-delcont-ref-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - CC-delcont-ref: [ i686-linux, x86_64-linux, x86_64-darwin ] - CCA: [ i686-linux, x86_64-linux, x86_64-darwin ] - cci: [ i686-linux, x86_64-linux, x86_64-darwin ] - ccnx: [ i686-linux, x86_64-linux, x86_64-darwin ] - cctools-workqueue: [ i686-linux, x86_64-linux, x86_64-darwin ] - cedict: [ i686-linux, x86_64-linux, x86_64-darwin ] - cef3-raw: [ i686-linux, x86_64-linux, x86_64-darwin ] - cef3-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - cef: [ i686-linux, x86_64-linux, x86_64-darwin ] - ceilometer-common: [ i686-linux, x86_64-linux, x86_64-darwin ] - cellrenderer-cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - celtchar: [ i686-linux, x86_64-linux, x86_64-darwin ] - cerberus: [ i686-linux, x86_64-linux, x86_64-darwin ] - cereal-derive: [ i686-linux, x86_64-linux, x86_64-darwin ] - cereal-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - cereal-ieee754: [ i686-linux, x86_64-linux, x86_64-darwin ] - cereal-io-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - cereal-plus: [ i686-linux, x86_64-linux, x86_64-darwin ] - cereal-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - certificate: [ i686-linux, x86_64-linux, x86_64-darwin ] - cf: [ i686-linux, x86_64-linux, x86_64-darwin ] - cfipu: [ i686-linux, x86_64-linux, x86_64-darwin ] - cflp: [ i686-linux, x86_64-linux, x86_64-darwin ] - cfopu: [ i686-linux, x86_64-linux, x86_64-darwin ] - cg: [ i686-linux, x86_64-linux, x86_64-darwin ] - cgen: [ i686-linux, x86_64-linux, x86_64-darwin ] - cgi-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - cgrep: [ i686-linux, x86_64-linux, x86_64-darwin ] - chalkboard-viewer: [ i686-linux, x86_64-linux, x86_64-darwin ] - chalkboard: [ i686-linux, x86_64-linux, x86_64-darwin ] - charade: [ i686-linux, x86_64-linux, x86_64-darwin ] - Chart-cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - Chart-diagrams: [ i686-linux, x86_64-linux, x86_64-darwin ] - Chart-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - chart-histogram: [ i686-linux, x86_64-linux, x86_64-darwin ] - Chart-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - chart-unit: [ i686-linux, x86_64-linux, x86_64-darwin ] - Chart: [ i686-linux, x86_64-linux, x86_64-darwin ] - chatter: [ i686-linux, x86_64-linux, x86_64-darwin ] - chatty-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - chatwork: [ i686-linux, x86_64-linux, x86_64-darwin ] - cheapskate-terminal: [ i686-linux, x86_64-linux, x86_64-darwin ] - check-pvp: [ i686-linux, x86_64-linux, x86_64-darwin ] - checked: [ i686-linux, x86_64-linux, x86_64-darwin ] - Checked: [ i686-linux, x86_64-linux, x86_64-darwin ] - checkmate: [ i686-linux, x86_64-linux, x86_64-darwin ] - chell-hunit: [ i686-linux, x86_64-linux, x86_64-darwin ] - chell-quickcheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - chell: [ i686-linux, x86_64-linux, x86_64-darwin ] - chevalier-common: [ i686-linux, x86_64-linux, x86_64-darwin ] - chiasma: [ i686-linux, x86_64-linux, x86_64-darwin ] - chitauri: [ i686-linux, x86_64-linux, x86_64-darwin ] - Chitra: [ i686-linux, x86_64-linux, x86_64-darwin ] - choose-exe: [ i686-linux, x86_64-linux, x86_64-darwin ] - choose: [ i686-linux, x86_64-linux, x86_64-darwin ] - chorale-geo: [ i686-linux, x86_64-linux, x86_64-darwin ] - chorale: [ i686-linux, x86_64-linux, x86_64-darwin ] - chp-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ] - chp-plus: [ i686-linux, x86_64-linux, x86_64-darwin ] - chp-spec: [ i686-linux, x86_64-linux, x86_64-darwin ] - chp-transformers: [ i686-linux, x86_64-linux, x86_64-darwin ] - chp: [ i686-linux, x86_64-linux, x86_64-darwin ] - chr-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - chr-lang: [ i686-linux, x86_64-linux, x86_64-darwin ] - chr-parse: [ i686-linux, x86_64-linux, x86_64-darwin ] - ChristmasTree: [ i686-linux, x86_64-linux, x86_64-darwin ] - chromatin: [ i686-linux, x86_64-linux, x86_64-darwin ] - chronograph: [ i686-linux, x86_64-linux, x86_64-darwin ] - chu2: [ i686-linux, x86_64-linux, x86_64-darwin ] - chunks: [ i686-linux, x86_64-linux, x86_64-darwin ] - chunky: [ i686-linux, x86_64-linux, x86_64-darwin ] - cielo: [ i686-linux, x86_64-linux, x86_64-darwin ] - cil: [ i686-linux, x86_64-linux, x86_64-darwin ] - cinvoke: [ i686-linux, x86_64-linux, x86_64-darwin ] - cio: [ i686-linux, x86_64-linux, x86_64-darwin ] - circlehs: [ i686-linux, x86_64-linux, x86_64-darwin ] - citation-resolve: [ i686-linux, x86_64-linux, x86_64-darwin ] - citeproc-hs-pandoc-filter: [ i686-linux, x86_64-linux, x86_64-darwin ] - citeproc-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - cj-token: [ i686-linux, x86_64-linux, x86_64-darwin ] - cjk: [ i686-linux, x86_64-linux, x86_64-darwin ] - clac: [ i686-linux, x86_64-linux, x86_64-darwin ] - clafer: [ i686-linux, x86_64-linux, x86_64-darwin ] - claferIG: [ i686-linux, x86_64-linux, x86_64-darwin ] - claferwiki: [ i686-linux, x86_64-linux, x86_64-darwin ] - clang-compilation-database: [ i686-linux, x86_64-linux, x86_64-darwin ] - clang-pure: [ i686-linux, x86_64-linux, x86_64-darwin ] - clanki: [ i686-linux, x86_64-linux, x86_64-darwin ] - clarifai: [ i686-linux, x86_64-linux, x86_64-darwin ] - CLASE: [ i686-linux, x86_64-linux, x86_64-darwin ] - clash-ghc: [ i686-linux, x86_64-linux, x86_64-darwin ] - clash-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - clash-multisignal: [ i686-linux, x86_64-linux, x86_64-darwin ] - clash-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - Clash-Royale-Hack-Cheats: [ i686-linux, x86_64-linux, x86_64-darwin ] - clash-systemverilog: [ i686-linux, x86_64-linux, x86_64-darwin ] - clash-verilog: [ i686-linux, x86_64-linux, x86_64-darwin ] - clash-vhdl: [ i686-linux, x86_64-linux, x86_64-darwin ] - clash: [ i686-linux, x86_64-linux, x86_64-darwin ] - classify-frog: [ i686-linux, x86_64-linux, x86_64-darwin ] - ClassLaws: [ i686-linux, x86_64-linux, x86_64-darwin ] - classy-miso: [ i686-linux, x86_64-linux, x86_64-darwin ] - classy-parallel: [ i686-linux, x86_64-linux, x86_64-darwin ] - classy-prelude-yesod: [ i686-linux, x86_64-linux, x86_64-darwin ] - ClassyPrelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - clay: [ i686-linux, x86_64-linux, x86_64-darwin ] - clckwrks-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - clckwrks-dot-com: [ i686-linux, x86_64-linux, x86_64-darwin ] - clckwrks-plugin-bugs: [ i686-linux, x86_64-linux, x86_64-darwin ] - clckwrks-plugin-ircbot: [ i686-linux, x86_64-linux, x86_64-darwin ] - clckwrks-plugin-mailinglist: [ i686-linux, x86_64-linux, x86_64-darwin ] - clckwrks-plugin-media: [ i686-linux, x86_64-linux, x86_64-darwin ] - clckwrks-plugin-page: [ i686-linux, x86_64-linux, x86_64-darwin ] - clckwrks-theme-bootstrap: [ i686-linux, x86_64-linux, x86_64-darwin ] - clckwrks-theme-clckwrks: [ i686-linux, x86_64-linux, x86_64-darwin ] - clckwrks-theme-geo-bootstrap: [ i686-linux, x86_64-linux, x86_64-darwin ] - clckwrks: [ i686-linux, x86_64-linux, x86_64-darwin ] - clean-unions: [ i686-linux, x86_64-linux, x86_64-darwin ] - Clean: [ i686-linux, x86_64-linux, x86_64-darwin ] - cless: [ i686-linux, x86_64-linux, x86_64-darwin ] - clevercss: [ i686-linux, x86_64-linux, x86_64-darwin ] - clexer: [ i686-linux, x86_64-linux, x86_64-darwin ] - cli-builder: [ i686-linux, x86_64-linux, x86_64-darwin ] - CLI: [ i686-linux, x86_64-linux, x86_64-darwin ] - cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - clif: [ i686-linux, x86_64-linux, x86_64-darwin ] - clifford: [ i686-linux, x86_64-linux, x86_64-darwin ] - clifm: [ i686-linux, x86_64-linux, x86_64-darwin ] - clingo: [ i686-linux, x86_64-linux, x86_64-darwin ] - clippard: [ i686-linux, x86_64-linux, x86_64-darwin ] - clipper: [ i686-linux, x86_64-linux, x86_64-darwin ] - clippings: [ i686-linux, x86_64-linux, x86_64-darwin ] - clit: [ i686-linux, x86_64-linux, x86_64-darwin ] - clocked: [ i686-linux, x86_64-linux, x86_64-darwin ] - clogparse: [ i686-linux, x86_64-linux, x86_64-darwin ] - clone-all: [ i686-linux, x86_64-linux, x86_64-darwin ] - closure: [ i686-linux, x86_64-linux, x86_64-darwin ] - cloud-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - cloud-seeder: [ i686-linux, x86_64-linux, x86_64-darwin ] - cloudfront-signer: [ i686-linux, x86_64-linux, x86_64-darwin ] - clr-inline: [ i686-linux, x86_64-linux, x86_64-darwin ] - clua: [ i686-linux, x86_64-linux, x86_64-darwin ] - cluss: [ i686-linux, x86_64-linux, x86_64-darwin ] - ClustalParser: [ i686-linux, x86_64-linux, x86_64-darwin ] - clustering: [ i686-linux, x86_64-linux, x86_64-darwin ] - clustertools: [ i686-linux, x86_64-linux, x86_64-darwin ] - clutterhs: [ i686-linux, x86_64-linux, x86_64-darwin ] - cmark-sections: [ i686-linux, x86_64-linux, x86_64-darwin ] - cmath: [ i686-linux, x86_64-linux, x86_64-darwin ] - cmathml3: [ i686-linux, x86_64-linux, x86_64-darwin ] - CMCompare: [ i686-linux, x86_64-linux, x86_64-darwin ] - cmd-item: [ i686-linux, x86_64-linux, x86_64-darwin ] - cmdargs-browser: [ i686-linux, x86_64-linux, x86_64-darwin ] - cmdlib: [ i686-linux, x86_64-linux, x86_64-darwin ] - cmdtheline: [ i686-linux, x86_64-linux, x86_64-darwin ] - cmonad: [ i686-linux, x86_64-linux, x86_64-darwin ] - cmph: [ i686-linux, x86_64-linux, x86_64-darwin ] - CMQ: [ i686-linux, x86_64-linux, x86_64-darwin ] - cmv: [ i686-linux, x86_64-linux, x86_64-darwin ] - cnc-spec-compiler: [ i686-linux, x86_64-linux, x86_64-darwin ] - co-log-sys: [ i686-linux, x86_64-linux, x86_64-darwin ] - Coadjute: [ i686-linux, x86_64-linux, x86_64-darwin ] - coalpit: [ i686-linux, x86_64-linux, x86_64-darwin ] - code-builder: [ i686-linux, x86_64-linux, x86_64-darwin ] - codec-beam: [ i686-linux, x86_64-linux, x86_64-darwin ] - codec-libevent: [ i686-linux, x86_64-linux, x86_64-darwin ] - codec-rpm: [ i686-linux, x86_64-linux, x86_64-darwin ] - codecov-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - codemonitor: [ i686-linux, x86_64-linux, x86_64-darwin ] - codepad: [ i686-linux, x86_64-linux, x86_64-darwin ] - codeworld-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - codex: [ i686-linux, x86_64-linux, x86_64-darwin ] - coin: [ i686-linux, x86_64-linux, x86_64-darwin ] - coinbase-exchange: [ i686-linux, x86_64-linux, x86_64-darwin ] - coincident-root-loci: [ i686-linux, x86_64-linux, x86_64-darwin ] - colada: [ i686-linux, x86_64-linux, x86_64-darwin ] - colchis: [ i686-linux, x86_64-linux, x86_64-darwin ] - collada-output: [ i686-linux, x86_64-linux, x86_64-darwin ] - collada-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - collapse-duplication: [ i686-linux, x86_64-linux, x86_64-darwin ] - collapse-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - collections-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - collections-base-instances: [ i686-linux, x86_64-linux, x86_64-darwin ] - collections: [ i686-linux, x86_64-linux, x86_64-darwin ] - color-counter: [ i686-linux, x86_64-linux, x86_64-darwin ] - colorless-http-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - colorless-scotty: [ i686-linux, x86_64-linux, x86_64-darwin ] - colorless: [ i686-linux, x86_64-linux, x86_64-darwin ] - colour-accelerate: [ i686-linux, x86_64-linux, x86_64-darwin ] - colour-space: [ i686-linux, x86_64-linux, x86_64-darwin ] - coltrane: [ i686-linux, x86_64-linux, x86_64-darwin ] - columbia: [ i686-linux, x86_64-linux, x86_64-darwin ] - com: [ i686-linux, x86_64-linux, x86_64-darwin ] - comark-syntax: [ i686-linux, x86_64-linux, x86_64-darwin ] - combinat-diagrams: [ i686-linux, x86_64-linux, x86_64-darwin ] - combinat: [ i686-linux, x86_64-linux, x86_64-darwin ] - combinator-interactive: [ i686-linux, x86_64-linux, x86_64-darwin ] - combinatorial-problems: [ i686-linux, x86_64-linux, x86_64-darwin ] - Combinatorrent: [ i686-linux, x86_64-linux, x86_64-darwin ] - combobuffer: [ i686-linux, x86_64-linux, x86_64-darwin ] - comic: [ i686-linux, x86_64-linux, x86_64-darwin ] - Command: [ i686-linux, x86_64-linux, x86_64-darwin ] - commander: [ i686-linux, x86_64-linux, x86_64-darwin ] - Commando: [ i686-linux, x86_64-linux, x86_64-darwin ] - commodities: [ i686-linux, x86_64-linux, x86_64-darwin ] - commsec-keyexchange: [ i686-linux, x86_64-linux, x86_64-darwin ] - commsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - comonad-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - ComonadSheet: [ i686-linux, x86_64-linux, x86_64-darwin ] - compact-map: [ i686-linux, x86_64-linux, x86_64-darwin ] - compact-mutable: [ i686-linux, x86_64-linux, x86_64-darwin ] - compact-socket: [ i686-linux, x86_64-linux, x86_64-darwin ] - compact-string-fix: [ i686-linux, x86_64-linux, x86_64-darwin ] - compact-string: [ i686-linux, x86_64-linux, x86_64-darwin ] - Compactable: [ i686-linux, x86_64-linux, x86_64-darwin ] - compactable: [ i686-linux, x86_64-linux, x86_64-darwin ] - compdata-dags: [ i686-linux, x86_64-linux, x86_64-darwin ] - competition: [ i686-linux, x86_64-linux, x86_64-darwin ] - compilation: [ i686-linux, x86_64-linux, x86_64-darwin ] - complexity: [ i686-linux, x86_64-linux, x86_64-darwin ] - componentm-devel: [ i686-linux, x86_64-linux, x86_64-darwin ] - componentm: [ i686-linux, x86_64-linux, x86_64-darwin ] - compose-trans: [ i686-linux, x86_64-linux, x86_64-darwin ] - composite-aeson-refined: [ i686-linux, x86_64-linux, x86_64-darwin ] - composite-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - composite-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - composite-ekg: [ i686-linux, x86_64-linux, x86_64-darwin ] - composite-opaleye: [ i686-linux, x86_64-linux, x86_64-darwin ] - composite-swagger: [ i686-linux, x86_64-linux, x86_64-darwin ] - composition-tree: [ i686-linux, x86_64-linux, x86_64-darwin ] - compound-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - compressed: [ i686-linux, x86_64-linux, x86_64-darwin ] - compstrat: [ i686-linux, x86_64-linux, x86_64-darwin ] - comptrans: [ i686-linux, x86_64-linux, x86_64-darwin ] - computational-algebra: [ i686-linux, x86_64-linux, x86_64-darwin ] - computations: [ i686-linux, x86_64-linux, x86_64-darwin ] - concraft-hr: [ i686-linux, x86_64-linux, x86_64-darwin ] - concraft-pl: [ i686-linux, x86_64-linux, x86_64-darwin ] - concraft: [ i686-linux, x86_64-linux, x86_64-darwin ] - concrete-haskell-autogen: [ i686-linux, x86_64-linux, x86_64-darwin ] - concrete-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - concrete-relaxng-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - concrete-typerep: [ i686-linux, x86_64-linux, x86_64-darwin ] - concurrency-benchmarks: [ i686-linux, x86_64-linux, x86_64-darwin ] - concurrent-buffer: [ i686-linux, x86_64-linux, x86_64-darwin ] - Concurrent-Cache: [ i686-linux, x86_64-linux, x86_64-darwin ] - concurrent-machines: [ i686-linux, x86_64-linux, x86_64-darwin ] - concurrent-state: [ i686-linux, x86_64-linux, x86_64-darwin ] - concurrent-utilities: [ i686-linux, x86_64-linux, x86_64-darwin ] - Concurrential: [ i686-linux, x86_64-linux, x86_64-darwin ] - ConcurrentUtils: [ i686-linux, x86_64-linux, x86_64-darwin ] - Condor: [ i686-linux, x86_64-linux, x86_64-darwin ] - condor: [ i686-linux, x86_64-linux, x86_64-darwin ] - condorcet: [ i686-linux, x86_64-linux, x86_64-darwin ] - conductive-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - conductive-hsc3: [ i686-linux, x86_64-linux, x86_64-darwin ] - conductive-song: [ i686-linux, x86_64-linux, x86_64-darwin ] - conduit-algorithms: [ i686-linux, x86_64-linux, x86_64-darwin ] - conduit-audio-lame: [ i686-linux, x86_64-linux, x86_64-darwin ] - conduit-audio-samplerate: [ i686-linux, x86_64-linux, x86_64-darwin ] - conduit-find: [ i686-linux, x86_64-linux, x86_64-darwin ] - conduit-merge: [ i686-linux, x86_64-linux, x86_64-darwin ] - conduit-network-stream: [ i686-linux, x86_64-linux, x86_64-darwin ] - conduit-resumablesink: [ i686-linux, x86_64-linux, x86_64-darwin ] - conduit-throttle: [ i686-linux, x86_64-linux, x86_64-darwin ] - conduit-tokenize-attoparsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - conduit-zstd: [ i686-linux, x86_64-linux, x86_64-darwin ] - conf: [ i686-linux, x86_64-linux, x86_64-darwin ] - conffmt: [ i686-linux, x86_64-linux, x86_64-darwin ] - confide: [ i686-linux, x86_64-linux, x86_64-darwin ] - config-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - config-select: [ i686-linux, x86_64-linux, x86_64-darwin ] - ConfigFileTH: [ i686-linux, x86_64-linux, x86_64-darwin ] - Configger: [ i686-linux, x86_64-linux, x86_64-darwin ] - configifier: [ i686-linux, x86_64-linux, x86_64-darwin ] - Configurable: [ i686-linux, x86_64-linux, x86_64-darwin ] - configuration: [ i686-linux, x86_64-linux, x86_64-darwin ] - configurator-ng: [ i686-linux, x86_64-linux, x86_64-darwin ] - congruence-relation: [ i686-linux, x86_64-linux, x86_64-darwin ] - conjure: [ i686-linux, x86_64-linux, x86_64-darwin ] - conkin: [ i686-linux, x86_64-linux, x86_64-darwin ] - conlogger: [ i686-linux, x86_64-linux, x86_64-darwin ] - connection-string: [ i686-linux, x86_64-linux, x86_64-darwin ] - Conscript: [ i686-linux, x86_64-linux, x86_64-darwin ] - consistent: [ i686-linux, x86_64-linux, x86_64-darwin ] - console-program: [ i686-linux, x86_64-linux, x86_64-darwin ] - const-math-ghc-plugin: [ i686-linux, x86_64-linux, x86_64-darwin ] - constrained-category: [ i686-linux, x86_64-linux, x86_64-darwin ] - constrained-dynamic: [ i686-linux, x86_64-linux, x86_64-darwin ] - constrained-monads: [ i686-linux, x86_64-linux, x86_64-darwin ] - constraint-manip: [ i686-linux, x86_64-linux, x86_64-darwin ] - constraint-reflection: [ i686-linux, x86_64-linux, x86_64-darwin ] - constraint: [ i686-linux, x86_64-linux, x86_64-darwin ] - ConstraintKinds: [ i686-linux, x86_64-linux, x86_64-darwin ] - constraints-emerge: [ i686-linux, x86_64-linux, x86_64-darwin ] - constraints-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - constructible: [ i686-linux, x86_64-linux, x86_64-darwin ] - constructive-algebra: [ i686-linux, x86_64-linux, x86_64-darwin ] - consul-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - Consumer: [ i686-linux, x86_64-linux, x86_64-darwin ] - consumers: [ i686-linux, x86_64-linux, x86_64-darwin ] - containers-benchmark: [ i686-linux, x86_64-linux, x86_64-darwin ] - containers-unicode-symbols: [ i686-linux, x86_64-linux, x86_64-darwin ] - ContArrow: [ i686-linux, x86_64-linux, x86_64-darwin ] - content-store: [ i686-linux, x86_64-linux, x86_64-darwin ] - context-free-grammar: [ i686-linux, x86_64-linux, x86_64-darwin ] - context-stack: [ i686-linux, x86_64-linux, x86_64-darwin ] - ContextAlgebra: [ i686-linux, x86_64-linux, x86_64-darwin ] - contiguous-fft: [ i686-linux, x86_64-linux, x86_64-darwin ] - continue: [ i686-linux, x86_64-linux, x86_64-darwin ] - continuum-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - continuum: [ i686-linux, x86_64-linux, x86_64-darwin ] - Contract: [ i686-linux, x86_64-linux, x86_64-darwin ] - control-event: [ i686-linux, x86_64-linux, x86_64-darwin ] - control-iso: [ i686-linux, x86_64-linux, x86_64-darwin ] - control-monad-attempt: [ i686-linux, x86_64-linux, x86_64-darwin ] - control-monad-exception-monadsfd: [ i686-linux, x86_64-linux, x86_64-darwin ] - control-monad-exception-monadstf: [ i686-linux, x86_64-linux, x86_64-darwin ] - control-monad-exception-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ] - control-monad-exception: [ i686-linux, x86_64-linux, x86_64-darwin ] - control-monad-failure-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ] - control-monad-failure: [ i686-linux, x86_64-linux, x86_64-darwin ] - Control-Monad-MultiPass: [ i686-linux, x86_64-linux, x86_64-darwin ] - Control-Monad-ST2: [ i686-linux, x86_64-linux, x86_64-darwin ] - contstuff-monads-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - contstuff-transformers: [ i686-linux, x86_64-linux, x86_64-darwin ] - convert-annotation: [ i686-linux, x86_64-linux, x86_64-darwin ] - convertible-ascii: [ i686-linux, x86_64-linux, x86_64-darwin ] - convertible-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - copilot-c99: [ i686-linux, x86_64-linux, x86_64-darwin ] - copilot-cbmc: [ i686-linux, x86_64-linux, x86_64-darwin ] - copilot-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - copilot-language: [ i686-linux, x86_64-linux, x86_64-darwin ] - copilot-libraries: [ i686-linux, x86_64-linux, x86_64-darwin ] - copilot-sbv: [ i686-linux, x86_64-linux, x86_64-darwin ] - copilot-theorem: [ i686-linux, x86_64-linux, x86_64-darwin ] - copilot: [ i686-linux, x86_64-linux, x86_64-darwin ] - copr: [ i686-linux, x86_64-linux, x86_64-darwin ] - COrdering: [ i686-linux, x86_64-linux, x86_64-darwin ] - core-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - core: [ i686-linux, x86_64-linux, x86_64-darwin ] - corebot-bliki: [ i686-linux, x86_64-linux, x86_64-darwin ] - CoreDump: [ i686-linux, x86_64-linux, x86_64-darwin ] - CoreErlang: [ i686-linux, x86_64-linux, x86_64-darwin ] - CoreFoundation: [ i686-linux, x86_64-linux, x86_64-darwin ] - coroutine-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - coroutine-iteratee: [ i686-linux, x86_64-linux, x86_64-darwin ] - coroutine-object: [ i686-linux, x86_64-linux, x86_64-darwin ] - Coroutine: [ i686-linux, x86_64-linux, x86_64-darwin ] - couch-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - couch-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - couchdb-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - couchdb-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - CouchDB: [ i686-linux, x86_64-linux, x86_64-darwin ] - countable-inflections: [ i686-linux, x86_64-linux, x86_64-darwin ] - counter: [ i686-linux, x86_64-linux, x86_64-darwin ] - courier: [ i686-linux, x86_64-linux, x86_64-darwin ] - court: [ i686-linux, x86_64-linux, x86_64-darwin ] - coverage: [ i686-linux, x86_64-linux, x86_64-darwin ] - cparsing: [ i686-linux, x86_64-linux, x86_64-darwin ] - CPBrainfuck: [ i686-linux, x86_64-linux, x86_64-darwin ] - cpio-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - cplusplus-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - cprng-aes-effect: [ i686-linux, x86_64-linux, x86_64-darwin ] - cpuperf: [ i686-linux, x86_64-linux, x86_64-darwin ] - cpython: [ i686-linux, x86_64-linux, x86_64-darwin ] - cql-io-tinylog: [ i686-linux, x86_64-linux, x86_64-darwin ] - cql-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - cqrs-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - cqrs-example: [ i686-linux, x86_64-linux, x86_64-darwin ] - cqrs-memory: [ i686-linux, x86_64-linux, x86_64-darwin ] - cqrs-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - cqrs-sqlite3: [ i686-linux, x86_64-linux, x86_64-darwin ] - cqrs-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - cqrs-testkit: [ i686-linux, x86_64-linux, x86_64-darwin ] - cr: [ i686-linux, x86_64-linux, x86_64-darwin ] - crack: [ i686-linux, x86_64-linux, x86_64-darwin ] - Craft3e: [ i686-linux, x86_64-linux, x86_64-darwin ] - craft: [ i686-linux, x86_64-linux, x86_64-darwin ] - craftwerk-cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - craftwerk-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - craftwerk: [ i686-linux, x86_64-linux, x86_64-darwin ] - crawlchain: [ i686-linux, x86_64-linux, x86_64-darwin ] - craze: [ i686-linux, x86_64-linux, x86_64-darwin ] - crc16: [ i686-linux, x86_64-linux, x86_64-darwin ] - crc: [ i686-linux, x86_64-linux, x86_64-darwin ] - crdt: [ i686-linux, x86_64-linux, x86_64-darwin ] - creatur: [ i686-linux, x86_64-linux, x86_64-darwin ] - credential-store: [ i686-linux, x86_64-linux, x86_64-darwin ] - crf-chain1-constrained: [ i686-linux, x86_64-linux, x86_64-darwin ] - crf-chain1: [ i686-linux, x86_64-linux, x86_64-darwin ] - crf-chain2-generic: [ i686-linux, x86_64-linux, x86_64-darwin ] - crf-chain2-tiers: [ i686-linux, x86_64-linux, x86_64-darwin ] - critbit: [ i686-linux, x86_64-linux, x86_64-darwin ] - criterion-plus: [ i686-linux, x86_64-linux, x86_64-darwin ] - criterion-to-html: [ i686-linux, x86_64-linux, x86_64-darwin ] - criu-rpc-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - criu-rpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - crjdt-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - crocodile: [ i686-linux, x86_64-linux, x86_64-darwin ] - cron-compat: [ i686-linux, x86_64-linux, x86_64-darwin ] - cron: [ i686-linux, x86_64-linux, x86_64-darwin ] - cruncher-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - crunghc: [ i686-linux, x86_64-linux, x86_64-darwin ] - crypto-cipher-benchmarks: [ i686-linux, x86_64-linux, x86_64-darwin ] - crypto-classical: [ i686-linux, x86_64-linux, x86_64-darwin ] - crypto-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - crypto-multihash: [ i686-linux, x86_64-linux, x86_64-darwin ] - crypto-random-effect: [ i686-linux, x86_64-linux, x86_64-darwin ] - crypto-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - cryptocompare: [ i686-linux, x86_64-linux, x86_64-darwin ] - cryptoconditions: [ i686-linux, x86_64-linux, x86_64-darwin ] - cryptol: [ i686-linux, x86_64-linux, x86_64-darwin ] - cryptsy-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - crystalfontz: [ i686-linux, x86_64-linux, x86_64-darwin ] - cse-ghc-plugin: [ i686-linux, x86_64-linux, x86_64-darwin ] - csg: [ i686-linux, x86_64-linux, x86_64-darwin ] - csound-catalog: [ i686-linux, x86_64-linux, x86_64-darwin ] - CSPM-cspm: [ i686-linux, x86_64-linux, x86_64-darwin ] - CSPM-FiringRules: [ i686-linux, x86_64-linux, x86_64-darwin ] - CSPM-Frontend: [ i686-linux, x86_64-linux, x86_64-darwin ] - CSPM-Interpreter: [ i686-linux, x86_64-linux, x86_64-darwin ] - CSPM-ToProlog: [ i686-linux, x86_64-linux, x86_64-darwin ] - cspmchecker: [ i686-linux, x86_64-linux, x86_64-darwin ] - cspretty: [ i686-linux, x86_64-linux, x86_64-darwin ] - css: [ i686-linux, x86_64-linux, x86_64-darwin ] - csv-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - csv-nptools: [ i686-linux, x86_64-linux, x86_64-darwin ] - ctemplate: [ i686-linux, x86_64-linux, x86_64-darwin ] - ctkl: [ i686-linux, x86_64-linux, x86_64-darwin ] - ctpl: [ i686-linux, x86_64-linux, x86_64-darwin ] - cube: [ i686-linux, x86_64-linux, x86_64-darwin ] - cuboid: [ i686-linux, x86_64-linux, x86_64-darwin ] - cudd: [ i686-linux, x86_64-linux, x86_64-darwin ] - curl-runnings: [ i686-linux, x86_64-linux, x86_64-darwin ] - currency-convert: [ i686-linux, x86_64-linux, x86_64-darwin ] - curry-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - curry-frontend: [ i686-linux, x86_64-linux, x86_64-darwin ] - CurryDB: [ i686-linux, x86_64-linux, x86_64-darwin ] - cursedcsv: [ i686-linux, x86_64-linux, x86_64-darwin ] - cursor-gen: [ i686-linux, x86_64-linux, x86_64-darwin ] - curve25519: [ i686-linux, x86_64-linux, x86_64-darwin ] - curves: [ i686-linux, x86_64-linux, x86_64-darwin ] - custom-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - CV: [ i686-linux, x86_64-linux, x86_64-darwin ] - cyclotomic: [ i686-linux, x86_64-linux, x86_64-darwin ] - cypher: [ i686-linux, x86_64-linux, x86_64-darwin ] - d-bus: [ i686-linux, x86_64-linux, x86_64-darwin ] - d3js: [ i686-linux, x86_64-linux, x86_64-darwin ] - DAG-Tournament: [ i686-linux, x86_64-linux, x86_64-darwin ] - dag: [ i686-linux, x86_64-linux, x86_64-darwin ] - Dangerous: [ i686-linux, x86_64-linux, x86_64-darwin ] - dao: [ i686-linux, x86_64-linux, x86_64-darwin ] - Dao: [ i686-linux, x86_64-linux, x86_64-darwin ] - dapi: [ i686-linux, x86_64-linux, x86_64-darwin ] - darcs-benchmark: [ i686-linux, x86_64-linux, x86_64-darwin ] - darcs-beta: [ i686-linux, x86_64-linux, x86_64-darwin ] - darcs-buildpackage: [ i686-linux, x86_64-linux, x86_64-darwin ] - darcs-cabalized: [ i686-linux, x86_64-linux, x86_64-darwin ] - darcs-fastconvert: [ i686-linux, x86_64-linux, x86_64-darwin ] - darcs-graph: [ i686-linux, x86_64-linux, x86_64-darwin ] - darcs-monitor: [ i686-linux, x86_64-linux, x86_64-darwin ] - darcs2dot: [ i686-linux, x86_64-linux, x86_64-darwin ] - darcsden: [ i686-linux, x86_64-linux, x86_64-darwin ] - DarcsHelpers: [ i686-linux, x86_64-linux, x86_64-darwin ] - darcswatch: [ i686-linux, x86_64-linux, x86_64-darwin ] - darkplaces-demo: [ i686-linux, x86_64-linux, x86_64-darwin ] - darkplaces-rcon-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - darkplaces-rcon: [ i686-linux, x86_64-linux, x86_64-darwin ] - darkplaces-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - dash-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-accessor-monads-fd: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-accessor-monads-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-basic: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-category: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-check: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-concurrent-queue: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-construction: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-cycle: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-dispersal: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-easy: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-embed: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-emoticons: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-filepath: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-fin-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-fin: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-flagset: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-forest: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-interval: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-ivar: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-kiln: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-layer: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-lens-fd: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-lens-ixset: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-lens-template: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-map-multikey: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-named: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-nat: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-object-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-object-yaml: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-object: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-pprint: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-quotientref: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-r-tree: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-reify-cse: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-repr: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-result: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-rev: [ i686-linux, x86_64-linux, x86_64-darwin ] - Data-Rope: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-rope: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-rtuple: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-size: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-spacepart: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-standards: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-store: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-stringmap: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-structure-inferrer: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-type: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - data-variant: [ i686-linux, x86_64-linux, x86_64-darwin ] - database-study: [ i686-linux, x86_64-linux, x86_64-darwin ] - datadog: [ i686-linux, x86_64-linux, x86_64-darwin ] - datafix: [ i686-linux, x86_64-linux, x86_64-darwin ] - dataflow: [ i686-linux, x86_64-linux, x86_64-darwin ] - datalog: [ i686-linux, x86_64-linux, x86_64-darwin ] - DataTreeView: [ i686-linux, x86_64-linux, x86_64-darwin ] - date-conversions: [ i686-linux, x86_64-linux, x86_64-darwin ] - dates: [ i686-linux, x86_64-linux, x86_64-darwin ] - datetime-sb: [ i686-linux, x86_64-linux, x86_64-darwin ] - datetime: [ i686-linux, x86_64-linux, x86_64-darwin ] - dawdle: [ i686-linux, x86_64-linux, x86_64-darwin ] - dawg-ord: [ i686-linux, x86_64-linux, x86_64-darwin ] - dawg: [ i686-linux, x86_64-linux, x86_64-darwin ] - dbcleaner: [ i686-linux, x86_64-linux, x86_64-darwin ] - DBFunctor: [ i686-linux, x86_64-linux, x86_64-darwin ] - dbjava: [ i686-linux, x86_64-linux, x86_64-darwin ] - DBlimited: [ i686-linux, x86_64-linux, x86_64-darwin ] - dbm: [ i686-linux, x86_64-linux, x86_64-darwin ] - dbmigrations-mysql: [ i686-linux, x86_64-linux, x86_64-darwin ] - dbmigrations-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - dbmigrations-sqlite: [ i686-linux, x86_64-linux, x86_64-darwin ] - dbus-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - dbus-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - dbus-qq: [ i686-linux, x86_64-linux, x86_64-darwin ] - DBus: [ i686-linux, x86_64-linux, x86_64-darwin ] - dclabel-eci11: [ i686-linux, x86_64-linux, x86_64-darwin ] - dclabel: [ i686-linux, x86_64-linux, x86_64-darwin ] - dcpu16: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddate: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-build: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-code: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-core-babel: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-core-eval: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-core-flow: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-core-llvm: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-core-salt: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-core-simpl: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-core-tetra: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-driver: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-interface: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-source-tetra: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-tools: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddc-war: [ i686-linux, x86_64-linux, x86_64-darwin ] - ddci-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - dde: [ i686-linux, x86_64-linux, x86_64-darwin ] - dead-code-detection: [ i686-linux, x86_64-linux, x86_64-darwin ] - dead-simple-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - Deadpan-DDP: [ i686-linux, x86_64-linux, x86_64-darwin ] - debian: [ i686-linux, x86_64-linux, x86_64-darwin ] - debug-me: [ i686-linux, x86_64-linux, x86_64-darwin ] - debug-trace-var: [ i686-linux, x86_64-linux, x86_64-darwin ] - debug-tracy: [ i686-linux, x86_64-linux, x86_64-darwin ] - debug: [ i686-linux, x86_64-linux, x86_64-darwin ] - decepticons: [ i686-linux, x86_64-linux, x86_64-darwin ] - decimal-arithmetic: [ i686-linux, x86_64-linux, x86_64-darwin ] - decimal-literals: [ i686-linux, x86_64-linux, x86_64-darwin ] - DecisionTree: [ i686-linux, x86_64-linux, x86_64-darwin ] - declarative: [ i686-linux, x86_64-linux, x86_64-darwin ] - decoder-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - dedukti: [ i686-linux, x86_64-linux, x86_64-darwin ] - deepcontrol: [ i686-linux, x86_64-linux, x86_64-darwin ] - deeplearning-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - deepseq-bounded: [ i686-linux, x86_64-linux, x86_64-darwin ] - deepseq-magic: [ i686-linux, x86_64-linux, x86_64-darwin ] - deepseq-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - deepzoom: [ i686-linux, x86_64-linux, x86_64-darwin ] - defargs: [ i686-linux, x86_64-linux, x86_64-darwin ] - DefendTheKing: [ i686-linux, x86_64-linux, x86_64-darwin ] - deka-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - deka: [ i686-linux, x86_64-linux, x86_64-darwin ] - delaunay: [ i686-linux, x86_64-linux, x86_64-darwin ] - delay: [ i686-linux, x86_64-linux, x86_64-darwin ] - delicious: [ i686-linux, x86_64-linux, x86_64-darwin ] - delimited-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - delimiter-separated: [ i686-linux, x86_64-linux, x86_64-darwin ] - delta-h: [ i686-linux, x86_64-linux, x86_64-darwin ] - Delta-Lambda: [ i686-linux, x86_64-linux, x86_64-darwin ] - delta: [ i686-linux, x86_64-linux, x86_64-darwin ] - delude: [ i686-linux, x86_64-linux, x86_64-darwin ] - demarcate: [ i686-linux, x86_64-linux, x86_64-darwin ] - denominate: [ i686-linux, x86_64-linux, x86_64-darwin ] - dense-int-set: [ i686-linux, x86_64-linux, x86_64-darwin ] - dependent-monoidal-map: [ i686-linux, x86_64-linux, x86_64-darwin ] - dependent-state: [ i686-linux, x86_64-linux, x86_64-darwin ] - dependent-sum-aeson-orphans: [ i686-linux, x86_64-linux, x86_64-darwin ] - depends: [ i686-linux, x86_64-linux, x86_64-darwin ] - dephd: [ i686-linux, x86_64-linux, x86_64-darwin ] - deptrack-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - deptrack-devops: [ i686-linux, x86_64-linux, x86_64-darwin ] - deptrack-dot: [ i686-linux, x86_64-linux, x86_64-darwin ] - derangement: [ i686-linux, x86_64-linux, x86_64-darwin ] - derivation-trees: [ i686-linux, x86_64-linux, x86_64-darwin ] - derive-enumerable: [ i686-linux, x86_64-linux, x86_64-darwin ] - derive-gadt: [ i686-linux, x86_64-linux, x86_64-darwin ] - derive-IG: [ i686-linux, x86_64-linux, x86_64-darwin ] - derive-monoid: [ i686-linux, x86_64-linux, x86_64-darwin ] - derive-topdown: [ i686-linux, x86_64-linux, x86_64-darwin ] - derive-trie: [ i686-linux, x86_64-linux, x86_64-darwin ] - derive: [ i686-linux, x86_64-linux, x86_64-darwin ] - derp-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - descript-lang: [ i686-linux, x86_64-linux, x86_64-darwin ] - deterministic-game-engine: [ i686-linux, x86_64-linux, x86_64-darwin ] - detour-via-uom: [ i686-linux, x86_64-linux, x86_64-darwin ] - deunicode: [ i686-linux, x86_64-linux, x86_64-darwin ] - devil: [ i686-linux, x86_64-linux, x86_64-darwin ] - dewdrop: [ i686-linux, x86_64-linux, x86_64-darwin ] - df1: [ i686-linux, x86_64-linux, x86_64-darwin ] - dfinity-radix-tree: [ i686-linux, x86_64-linux, x86_64-darwin ] - Dflow: [ i686-linux, x86_64-linux, x86_64-darwin ] - dfsbuild: [ i686-linux, x86_64-linux, x86_64-darwin ] - dgim: [ i686-linux, x86_64-linux, x86_64-darwin ] - dgs: [ i686-linux, x86_64-linux, x86_64-darwin ] - dhall-check: [ i686-linux, x86_64-linux, x86_64-darwin ] - dhall-nix: [ i686-linux, x86_64-linux, x86_64-darwin ] - dhall-to-cabal: [ i686-linux, x86_64-linux, x86_64-darwin ] - dhcp-lease-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - di-df1: [ i686-linux, x86_64-linux, x86_64-darwin ] - di-handle: [ i686-linux, x86_64-linux, x86_64-darwin ] - di: [ i686-linux, x86_64-linux, x86_64-darwin ] - dia-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - dia-functions: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-boolean: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-builder: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-canvas: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-contrib: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-graphviz: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-haddock: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-hsqml: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-html5: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-pandoc: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-pdf: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-postscript: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-qrcode: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-tikz: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams-wx: [ i686-linux, x86_64-linux, x86_64-darwin ] - diagrams: [ i686-linux, x86_64-linux, x86_64-darwin ] - dib: [ i686-linux, x86_64-linux, x86_64-darwin ] - dice-entropy-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - dice2tex: [ i686-linux, x86_64-linux, x86_64-darwin ] - dicom: [ i686-linux, x86_64-linux, x86_64-darwin ] - dictionaries: [ i686-linux, x86_64-linux, x86_64-darwin ] - dictparser: [ i686-linux, x86_64-linux, x86_64-darwin ] - diet: [ i686-linux, x86_64-linux, x86_64-darwin ] - diffcabal: [ i686-linux, x86_64-linux, x86_64-darwin ] - difference-monoid: [ i686-linux, x86_64-linux, x86_64-darwin ] - DifferenceLogic: [ i686-linux, x86_64-linux, x86_64-darwin ] - differential: [ i686-linux, x86_64-linux, x86_64-darwin ] - DifferentialEvolution: [ i686-linux, x86_64-linux, x86_64-darwin ] - difftodo: [ i686-linux, x86_64-linux, x86_64-darwin ] - digestive-bootstrap: [ i686-linux, x86_64-linux, x86_64-darwin ] - digestive-foundation-lucid: [ i686-linux, x86_64-linux, x86_64-darwin ] - digestive-functors-heist: [ i686-linux, x86_64-linux, x86_64-darwin ] - digestive-functors-hsp: [ i686-linux, x86_64-linux, x86_64-darwin ] - digestive-functors-scotty: [ i686-linux, x86_64-linux, x86_64-darwin ] - digitalocean-kzs: [ i686-linux, x86_64-linux, x86_64-darwin ] - DigitalOcean: [ i686-linux, x86_64-linux, x86_64-darwin ] - dimensional-codata: [ i686-linux, x86_64-linux, x86_64-darwin ] - dimensional-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - dimensional: [ i686-linux, x86_64-linux, x86_64-darwin ] - DimensionalHash: [ i686-linux, x86_64-linux, x86_64-darwin ] - dingo-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - dingo-example: [ i686-linux, x86_64-linux, x86_64-darwin ] - dingo-widgets: [ i686-linux, x86_64-linux, x86_64-darwin ] - diophantine: [ i686-linux, x86_64-linux, x86_64-darwin ] - diplomacy-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - diplomacy: [ i686-linux, x86_64-linux, x86_64-darwin ] - direct-binary-files: [ i686-linux, x86_64-linux, x86_64-darwin ] - direct-fastcgi: [ i686-linux, x86_64-linux, x86_64-darwin ] - direct-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - direct-plugins: [ i686-linux, x86_64-linux, x86_64-darwin ] - direct-rocksdb: [ i686-linux, x86_64-linux, x86_64-darwin ] - directed-cubical: [ i686-linux, x86_64-linux, x86_64-darwin ] - dirfiles: [ i686-linux, x86_64-linux, x86_64-darwin ] - discogs-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - discord-gateway: [ i686-linux, x86_64-linux, x86_64-darwin ] - discord-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - discord-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - discord-rest: [ i686-linux, x86_64-linux, x86_64-darwin ] - discord-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - discordian-calendar: [ i686-linux, x86_64-linux, x86_64-darwin ] - DiscussionSupportSystem: [ i686-linux, x86_64-linux, x86_64-darwin ] - Dish: [ i686-linux, x86_64-linux, x86_64-darwin ] - disjoint-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] - disjoint-set-stateful: [ i686-linux, x86_64-linux, x86_64-darwin ] - disjoint-set: [ i686-linux, x86_64-linux, x86_64-darwin ] - diskhash: [ i686-linux, x86_64-linux, x86_64-darwin ] - disposable: [ i686-linux, x86_64-linux, x86_64-darwin ] - dist-upload: [ i686-linux, x86_64-linux, x86_64-darwin ] - Dist: [ i686-linux, x86_64-linux, x86_64-darwin ] - distance: [ i686-linux, x86_64-linux, x86_64-darwin ] - DisTract: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-closure: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-fork-aws-lambda: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-fork: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-async: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-azure: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-client-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-ekg: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-execution: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-fsm: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-lifted: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-monad-control: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-p2p: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-platform: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-registry: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-simplelocalnet: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-supervisor: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-systest: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-task: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process-zookeeper: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-process: [ i686-linux, x86_64-linux, x86_64-darwin ] - distributed-static: [ i686-linux, x86_64-linux, x86_64-darwin ] - distribution-plot: [ i686-linux, x86_64-linux, x86_64-darwin ] - distribution: [ i686-linux, x86_64-linux, x86_64-darwin ] - diversity: [ i686-linux, x86_64-linux, x86_64-darwin ] - dixi: [ i686-linux, x86_64-linux, x86_64-darwin ] - djembe: [ i686-linux, x86_64-linux, x86_64-darwin ] - djinn-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - dmenu-pkill: [ i686-linux, x86_64-linux, x86_64-darwin ] - dmenu-pmount: [ i686-linux, x86_64-linux, x86_64-darwin ] - dmenu-search: [ i686-linux, x86_64-linux, x86_64-darwin ] - dmenu: [ i686-linux, x86_64-linux, x86_64-darwin ] - DMuCheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - DnaProteinAlignment: [ i686-linux, x86_64-linux, x86_64-darwin ] - dnscache: [ i686-linux, x86_64-linux, x86_64-darwin ] - dnsrbl: [ i686-linux, x86_64-linux, x86_64-darwin ] - dnssd: [ i686-linux, x86_64-linux, x86_64-darwin ] - doc-review: [ i686-linux, x86_64-linux, x86_64-darwin ] - doccheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - docidx: [ i686-linux, x86_64-linux, x86_64-darwin ] - docker-build-cacher: [ i686-linux, x86_64-linux, x86_64-darwin ] - docker: [ i686-linux, x86_64-linux, x86_64-darwin ] - dockercook: [ i686-linux, x86_64-linux, x86_64-darwin ] - doctest-discover-configurator: [ i686-linux, x86_64-linux, x86_64-darwin ] - doctest-driver-gen: [ i686-linux, x86_64-linux, x86_64-darwin ] - doctest-prop: [ i686-linux, x86_64-linux, x86_64-darwin ] - DocTest: [ i686-linux, x86_64-linux, x86_64-darwin ] - docusign-base-minimal: [ i686-linux, x86_64-linux, x86_64-darwin ] - docusign-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - docusign-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - docusign-example: [ i686-linux, x86_64-linux, x86_64-darwin ] - docvim: [ i686-linux, x86_64-linux, x86_64-darwin ] - doi: [ i686-linux, x86_64-linux, x86_64-darwin ] - dom-lt: [ i686-linux, x86_64-linux, x86_64-darwin ] - DOM: [ i686-linux, x86_64-linux, x86_64-darwin ] - domain-auth: [ i686-linux, x86_64-linux, x86_64-darwin ] - domplate: [ i686-linux, x86_64-linux, x86_64-darwin ] - dot-linker: [ i686-linux, x86_64-linux, x86_64-darwin ] - dot: [ i686-linux, x86_64-linux, x86_64-darwin ] - dotenv: [ i686-linux, x86_64-linux, x86_64-darwin ] - dotfs: [ i686-linux, x86_64-linux, x86_64-darwin ] - doublify-toolkit: [ i686-linux, x86_64-linux, x86_64-darwin ] - download-media-content: [ i686-linux, x86_64-linux, x86_64-darwin ] - dozenal: [ i686-linux, x86_64-linux, x86_64-darwin ] - dozens: [ i686-linux, x86_64-linux, x86_64-darwin ] - DP: [ i686-linux, x86_64-linux, x86_64-darwin ] - dph-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - dph-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - dph-lifted-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - dph-lifted-copy: [ i686-linux, x86_64-linux, x86_64-darwin ] - dph-lifted-vseg: [ i686-linux, x86_64-linux, x86_64-darwin ] - dph-prim-interface: [ i686-linux, x86_64-linux, x86_64-darwin ] - dph-prim-par: [ i686-linux, x86_64-linux, x86_64-darwin ] - dph-prim-seq: [ i686-linux, x86_64-linux, x86_64-darwin ] - dpkg: [ i686-linux, x86_64-linux, x86_64-darwin ] - DPM: [ i686-linux, x86_64-linux, x86_64-darwin ] - dpor: [ i686-linux, x86_64-linux, x86_64-darwin ] - dragen: [ i686-linux, x86_64-linux, x86_64-darwin ] - drawille: [ i686-linux, x86_64-linux, x86_64-darwin ] - drClickOn: [ i686-linux, x86_64-linux, x86_64-darwin ] - dresdner-verkehrsbetriebe: [ i686-linux, x86_64-linux, x86_64-darwin ] - DrHylo: [ i686-linux, x86_64-linux, x86_64-darwin ] - DrIFT-cabalized: [ i686-linux, x86_64-linux, x86_64-darwin ] - DrIFT: [ i686-linux, x86_64-linux, x86_64-darwin ] - drifter-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - drifter-sqlite: [ i686-linux, x86_64-linux, x86_64-darwin ] - drifter: [ i686-linux, x86_64-linux, x86_64-darwin ] - drmaa: [ i686-linux, x86_64-linux, x86_64-darwin ] - dropbox-sdk: [ i686-linux, x86_64-linux, x86_64-darwin ] - dropsolve: [ i686-linux, x86_64-linux, x86_64-darwin ] - ds-kanren: [ i686-linux, x86_64-linux, x86_64-darwin ] - DSA: [ i686-linux, x86_64-linux, x86_64-darwin ] - dsh-sql: [ i686-linux, x86_64-linux, x86_64-darwin ] - DSH: [ i686-linux, x86_64-linux, x86_64-darwin ] - dsmc-tools: [ i686-linux, x86_64-linux, x86_64-darwin ] - dsmc: [ i686-linux, x86_64-linux, x86_64-darwin ] - dson-parsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - dson: [ i686-linux, x86_64-linux, x86_64-darwin ] - DSTM: [ i686-linux, x86_64-linux, x86_64-darwin ] - dstring: [ i686-linux, x86_64-linux, x86_64-darwin ] - dtab: [ i686-linux, x86_64-linux, x86_64-darwin ] - DTC: [ i686-linux, x86_64-linux, x86_64-darwin ] - dtd-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - dtd: [ i686-linux, x86_64-linux, x86_64-darwin ] - dtw: [ i686-linux, x86_64-linux, x86_64-darwin ] - dual-game: [ i686-linux, x86_64-linux, x86_64-darwin ] - dual: [ i686-linux, x86_64-linux, x86_64-darwin ] - dublincore-xml-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - dumb-cas: [ i686-linux, x86_64-linux, x86_64-darwin ] - Dung: [ i686-linux, x86_64-linux, x86_64-darwin ] - duplo: [ i686-linux, x86_64-linux, x86_64-darwin ] - Dust-crypto: [ i686-linux, x86_64-linux, x86_64-darwin ] - Dust-tools-pcap: [ i686-linux, x86_64-linux, x86_64-darwin ] - Dust-tools: [ i686-linux, x86_64-linux, x86_64-darwin ] - Dust: [ i686-linux, x86_64-linux, x86_64-darwin ] - dvda: [ i686-linux, x86_64-linux, x86_64-darwin ] - dvdread: [ i686-linux, x86_64-linux, x86_64-darwin ] - dvi-processing: [ i686-linux, x86_64-linux, x86_64-darwin ] - dwarfadt: [ i686-linux, x86_64-linux, x86_64-darwin ] - dyckword: [ i686-linux, x86_64-linux, x86_64-darwin ] - dynamic-cabal: [ i686-linux, x86_64-linux, x86_64-darwin ] - dynamic-graph: [ i686-linux, x86_64-linux, x86_64-darwin ] - dynamic-object: [ i686-linux, x86_64-linux, x86_64-darwin ] - dynamic-plot: [ i686-linux, x86_64-linux, x86_64-darwin ] - dynamic-pp: [ i686-linux, x86_64-linux, x86_64-darwin ] - DynamicTimeWarp: [ i686-linux, x86_64-linux, x86_64-darwin ] - dynamodb-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - dynobud: [ i686-linux, x86_64-linux, x86_64-darwin ] - DysFRP-Cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - DysFRP-Craftwerk: [ i686-linux, x86_64-linux, x86_64-darwin ] - DysFRP: [ i686-linux, x86_64-linux, x86_64-darwin ] - dywapitchtrack: [ i686-linux, x86_64-linux, x86_64-darwin ] - dzen-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - earclipper: [ i686-linux, x86_64-linux, x86_64-darwin ] - Earley: [ i686-linux, x86_64-linux, x86_64-darwin ] - ease: [ i686-linux, x86_64-linux, x86_64-darwin ] - easy-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - easyjson: [ i686-linux, x86_64-linux, x86_64-darwin ] - easyplot: [ i686-linux, x86_64-linux, x86_64-darwin ] - easytensor-vulkan: [ i686-linux, x86_64-linux, x86_64-darwin ] - easytensor: [ i686-linux, x86_64-linux, x86_64-darwin ] - ebeats: [ i686-linux, x86_64-linux, x86_64-darwin ] - ebnf-bff: [ i686-linux, x86_64-linux, x86_64-darwin ] - eccrypto: [ i686-linux, x86_64-linux, x86_64-darwin ] - ecma262: [ i686-linux, x86_64-linux, x86_64-darwin ] - ecu: [ i686-linux, x86_64-linux, x86_64-darwin ] - eddie: [ i686-linux, x86_64-linux, x86_64-darwin ] - edenmodules: [ i686-linux, x86_64-linux, x86_64-darwin ] - edenskel: [ i686-linux, x86_64-linux, x86_64-darwin ] - edentv: [ i686-linux, x86_64-linux, x86_64-darwin ] - edge: [ i686-linux, x86_64-linux, x86_64-darwin ] - edges: [ i686-linux, x86_64-linux, x86_64-darwin ] - edit-lenses: [ i686-linux, x86_64-linux, x86_64-darwin ] - edit: [ i686-linux, x86_64-linux, x86_64-darwin ] - editable: [ i686-linux, x86_64-linux, x86_64-darwin ] - editline: [ i686-linux, x86_64-linux, x86_64-darwin ] - EditTimeReport: [ i686-linux, x86_64-linux, x86_64-darwin ] - effect-handlers: [ i686-linux, x86_64-linux, x86_64-darwin ] - effects-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - effects: [ i686-linux, x86_64-linux, x86_64-darwin ] - effin: [ i686-linux, x86_64-linux, x86_64-darwin ] - egison-quote: [ i686-linux, x86_64-linux, x86_64-darwin ] - egison-tutorial: [ i686-linux, x86_64-linux, x86_64-darwin ] - ehaskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - ehs: [ i686-linux, x86_64-linux, x86_64-darwin ] - eibd-client-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - eigen: [ i686-linux, x86_64-linux, x86_64-darwin ] - Eight-Ball-Pool-Hack-Cheats: [ i686-linux, x86_64-linux, x86_64-darwin ] - either-list-functions: [ i686-linux, x86_64-linux, x86_64-darwin ] - EitherT: [ i686-linux, x86_64-linux, x86_64-darwin ] - ekg-bosun: [ i686-linux, x86_64-linux, x86_64-darwin ] - ekg-elastic: [ i686-linux, x86_64-linux, x86_64-darwin ] - ekg-elasticsearch: [ i686-linux, x86_64-linux, x86_64-darwin ] - ekg-influxdb: [ i686-linux, x86_64-linux, x86_64-darwin ] - ekg-log: [ i686-linux, x86_64-linux, x86_64-darwin ] - ekg-prometheus-adapter: [ i686-linux, x86_64-linux, x86_64-darwin ] - ekg-push: [ i686-linux, x86_64-linux, x86_64-darwin ] - ekg-rrd: [ i686-linux, x86_64-linux, x86_64-darwin ] - elevator: [ i686-linux, x86_64-linux, x86_64-darwin ] - elision: [ i686-linux, x86_64-linux, x86_64-darwin ] - elm-websocket: [ i686-linux, x86_64-linux, x86_64-darwin ] - elsa: [ i686-linux, x86_64-linux, x86_64-darwin ] - emacs-keys: [ i686-linux, x86_64-linux, x86_64-darwin ] - email-header: [ i686-linux, x86_64-linux, x86_64-darwin ] - email-postmark: [ i686-linux, x86_64-linux, x86_64-darwin ] - email-validator: [ i686-linux, x86_64-linux, x86_64-darwin ] - email: [ i686-linux, x86_64-linux, x86_64-darwin ] - emailparse: [ i686-linux, x86_64-linux, x86_64-darwin ] - embeddock-example: [ i686-linux, x86_64-linux, x86_64-darwin ] - embeddock: [ i686-linux, x86_64-linux, x86_64-darwin ] - embroidery: [ i686-linux, x86_64-linux, x86_64-darwin ] - emd: [ i686-linux, x86_64-linux, x86_64-darwin ] - emgm: [ i686-linux, x86_64-linux, x86_64-darwin ] - Emping: [ i686-linux, x86_64-linux, x86_64-darwin ] - empty-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - Empty: [ i686-linux, x86_64-linux, x86_64-darwin ] - encoding-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - encoding: [ i686-linux, x86_64-linux, x86_64-darwin ] - engine-io-growler: [ i686-linux, x86_64-linux, x86_64-darwin ] - engine-io-snap: [ i686-linux, x86_64-linux, x86_64-darwin ] - engine-io-wai: [ i686-linux, x86_64-linux, x86_64-darwin ] - engine-io-yesod: [ i686-linux, x86_64-linux, x86_64-darwin ] - entangle: [ i686-linux, x86_64-linux, x86_64-darwin ] - EntrezHTTP: [ i686-linux, x86_64-linux, x86_64-darwin ] - entwine: [ i686-linux, x86_64-linux, x86_64-darwin ] - EnumContainers: [ i686-linux, x86_64-linux, x86_64-darwin ] - enumerate-function: [ i686-linux, x86_64-linux, x86_64-darwin ] - enumerate: [ i686-linux, x86_64-linux, x86_64-darwin ] - enumeration: [ i686-linux, x86_64-linux, x86_64-darwin ] - enumerator-fd: [ i686-linux, x86_64-linux, x86_64-darwin ] - enumerator-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - enumfun: [ i686-linux, x86_64-linux, x86_64-darwin ] - EnumMap: [ i686-linux, x86_64-linux, x86_64-darwin ] - enummapmap: [ i686-linux, x86_64-linux, x86_64-darwin ] - enummapset-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - enummapset: [ i686-linux, x86_64-linux, x86_64-darwin ] - env-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - envstatus: [ i686-linux, x86_64-linux, x86_64-darwin ] - epanet-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - epass: [ i686-linux, x86_64-linux, x86_64-darwin ] - epic: [ i686-linux, x86_64-linux, x86_64-darwin ] - epoll: [ i686-linux, x86_64-linux, x86_64-darwin ] - eprocess: [ i686-linux, x86_64-linux, x86_64-darwin ] - epubname: [ i686-linux, x86_64-linux, x86_64-darwin ] - Eq: [ i686-linux, x86_64-linux, x86_64-darwin ] - EqualitySolver: [ i686-linux, x86_64-linux, x86_64-darwin ] - equeue: [ i686-linux, x86_64-linux, x86_64-darwin ] - equivalence: [ i686-linux, x86_64-linux, x86_64-darwin ] - erd: [ i686-linux, x86_64-linux, x86_64-darwin ] - erf-native: [ i686-linux, x86_64-linux, x86_64-darwin ] - eros-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - eros-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - eros: [ i686-linux, x86_64-linux, x86_64-darwin ] - error-context: [ i686-linux, x86_64-linux, x86_64-darwin ] - error-continuations: [ i686-linux, x86_64-linux, x86_64-darwin ] - error-list: [ i686-linux, x86_64-linux, x86_64-darwin ] - error-loc: [ i686-linux, x86_64-linux, x86_64-darwin ] - error-message: [ i686-linux, x86_64-linux, x86_64-darwin ] - errors-ext: [ i686-linux, x86_64-linux, x86_64-darwin ] - ersaconcat: [ i686-linux, x86_64-linux, x86_64-darwin ] - ersatz-toysat: [ i686-linux, x86_64-linux, x86_64-darwin ] - ersatz: [ i686-linux, x86_64-linux, x86_64-darwin ] - ert: [ i686-linux, x86_64-linux, x86_64-darwin ] - escape-artist: [ i686-linux, x86_64-linux, x86_64-darwin ] - escoger: [ i686-linux, x86_64-linux, x86_64-darwin ] - esotericbot: [ i686-linux, x86_64-linux, x86_64-darwin ] - EsounD: [ i686-linux, x86_64-linux, x86_64-darwin ] - espial: [ i686-linux, x86_64-linux, x86_64-darwin ] - esqueleto: [ i686-linux, x86_64-linux, x86_64-darwin ] - ess: [ i686-linux, x86_64-linux, x86_64-darwin ] - estimators: [ i686-linux, x86_64-linux, x86_64-darwin ] - EstProgress: [ i686-linux, x86_64-linux, x86_64-darwin ] - estreps: [ i686-linux, x86_64-linux, x86_64-darwin ] - Etage-Graph: [ i686-linux, x86_64-linux, x86_64-darwin ] - Etage: [ i686-linux, x86_64-linux, x86_64-darwin ] - EtaMOO: [ i686-linux, x86_64-linux, x86_64-darwin ] - Eternal10Seconds: [ i686-linux, x86_64-linux, x86_64-darwin ] - eternal: [ i686-linux, x86_64-linux, x86_64-darwin ] - eternity-timestamped: [ i686-linux, x86_64-linux, x86_64-darwin ] - eternity: [ i686-linux, x86_64-linux, x86_64-darwin ] - Etherbunny: [ i686-linux, x86_64-linux, x86_64-darwin ] - ethereum-analyzer-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - ethereum-analyzer-webui: [ i686-linux, x86_64-linux, x86_64-darwin ] - ethereum-analyzer: [ i686-linux, x86_64-linux, x86_64-darwin ] - ethereum-client-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - ethereum-merkle-patricia-db: [ i686-linux, x86_64-linux, x86_64-darwin ] - eths-rlp: [ i686-linux, x86_64-linux, x86_64-darwin ] - euler-tour-tree: [ i686-linux, x86_64-linux, x86_64-darwin ] - euphoria: [ i686-linux, x86_64-linux, x86_64-darwin ] - eurofxref: [ i686-linux, x86_64-linux, x86_64-darwin ] - Euterpea: [ i686-linux, x86_64-linux, x86_64-darwin ] - eve-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - eve: [ i686-linux, x86_64-linux, x86_64-darwin ] - event-driven: [ i686-linux, x86_64-linux, x86_64-darwin ] - event-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - event: [ i686-linux, x86_64-linux, x86_64-darwin ] - eventful-dynamodb: [ i686-linux, x86_64-linux, x86_64-darwin ] - eventful-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - eventloop: [ i686-linux, x86_64-linux, x86_64-darwin ] - EventSocket: [ i686-linux, x86_64-linux, x86_64-darwin ] - eventsource-geteventstore-store: [ i686-linux, x86_64-linux, x86_64-darwin ] - eventstore: [ i686-linux, x86_64-linux, x86_64-darwin ] - every-bit-counts: [ i686-linux, x86_64-linux, x86_64-darwin ] - ewe: [ i686-linux, x86_64-linux, x86_64-darwin ] - exact-cover: [ i686-linux, x86_64-linux, x86_64-darwin ] - exact-pi: [ i686-linux, x86_64-linux, x86_64-darwin ] - exact-real-positional: [ i686-linux, x86_64-linux, x86_64-darwin ] - exact-real: [ i686-linux, x86_64-linux, x86_64-darwin ] - except-exceptions: [ i686-linux, x86_64-linux, x86_64-darwin ] - exception-hierarchy: [ i686-linux, x86_64-linux, x86_64-darwin ] - exception-monads-fd: [ i686-linux, x86_64-linux, x86_64-darwin ] - exchangerates: [ i686-linux, x86_64-linux, x86_64-darwin ] - execs: [ i686-linux, x86_64-linux, x86_64-darwin ] - executor: [ i686-linux, x86_64-linux, x86_64-darwin ] - exference: [ i686-linux, x86_64-linux, x86_64-darwin ] - exherbo-cabal: [ i686-linux, x86_64-linux, x86_64-darwin ] - exif: [ i686-linux, x86_64-linux, x86_64-darwin ] - exinst-deepseq: [ i686-linux, x86_64-linux, x86_64-darwin ] - exinst-hashable: [ i686-linux, x86_64-linux, x86_64-darwin ] - exists: [ i686-linux, x86_64-linux, x86_64-darwin ] - exitcode: [ i686-linux, x86_64-linux, x86_64-darwin ] - expand: [ i686-linux, x86_64-linux, x86_64-darwin ] - expat-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - expiring-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] - explain: [ i686-linux, x86_64-linux, x86_64-darwin ] - explicit-constraint-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - explicit-determinant: [ i686-linux, x86_64-linux, x86_64-darwin ] - explicit-iomodes-bytestring: [ i686-linux, x86_64-linux, x86_64-darwin ] - explicit-iomodes-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - explicit-iomodes: [ i686-linux, x86_64-linux, x86_64-darwin ] - explicit-sharing: [ i686-linux, x86_64-linux, x86_64-darwin ] - explore: [ i686-linux, x86_64-linux, x86_64-darwin ] - exposed-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] - expressions-z3: [ i686-linux, x86_64-linux, x86_64-darwin ] - expressions: [ i686-linux, x86_64-linux, x86_64-darwin ] - extcore: [ i686-linux, x86_64-linux, x86_64-darwin ] - extemp: [ i686-linux, x86_64-linux, x86_64-darwin ] - extended-categories: [ i686-linux, x86_64-linux, x86_64-darwin ] - extensible-data: [ i686-linux, x86_64-linux, x86_64-darwin ] - extensible-effects-concurrent: [ i686-linux, x86_64-linux, x86_64-darwin ] - Extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - extract-dependencies: [ i686-linux, x86_64-linux, x86_64-darwin ] - extractelf: [ i686-linux, x86_64-linux, x86_64-darwin ] - ez-couch: [ i686-linux, x86_64-linux, x86_64-darwin ] - f-ree-hack-cheats-free-v-bucks-generator: [ i686-linux, x86_64-linux, x86_64-darwin ] - Facebook-Password-Hacker-Online-Latest-Version: [ i686-linux, x86_64-linux, x86_64-darwin ] - faceted: [ i686-linux, x86_64-linux, x86_64-darwin ] - Facts: [ i686-linux, x86_64-linux, x86_64-darwin ] - factual-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - fadno-braids: [ i686-linux, x86_64-linux, x86_64-darwin ] - fadno-xml: [ i686-linux, x86_64-linux, x86_64-darwin ] - fadno: [ i686-linux, x86_64-linux, x86_64-darwin ] - failable-list: [ i686-linux, x86_64-linux, x86_64-darwin ] - failure-detector: [ i686-linux, x86_64-linux, x86_64-darwin ] - FailureT: [ i686-linux, x86_64-linux, x86_64-darwin ] - fake-type: [ i686-linux, x86_64-linux, x86_64-darwin ] - fake: [ i686-linux, x86_64-linux, x86_64-darwin ] - faktory: [ i686-linux, x86_64-linux, x86_64-darwin ] - falling-turnip: [ i686-linux, x86_64-linux, x86_64-darwin ] - fallingblocks: [ i686-linux, x86_64-linux, x86_64-darwin ] - family-tree: [ i686-linux, x86_64-linux, x86_64-darwin ] - fast-arithmetic: [ i686-linux, x86_64-linux, x86_64-darwin ] - fast-combinatorics: [ i686-linux, x86_64-linux, x86_64-darwin ] - fast-downward: [ i686-linux, x86_64-linux, x86_64-darwin ] - fast-nats: [ i686-linux, x86_64-linux, x86_64-darwin ] - fasta: [ i686-linux, x86_64-linux, x86_64-darwin ] - fastbayes: [ i686-linux, x86_64-linux, x86_64-darwin ] - fastedit: [ i686-linux, x86_64-linux, x86_64-darwin ] - fastirc: [ i686-linux, x86_64-linux, x86_64-darwin ] - fastly: [ i686-linux, x86_64-linux, x86_64-darwin ] - fastparser: [ i686-linux, x86_64-linux, x86_64-darwin ] - FastPush: [ i686-linux, x86_64-linux, x86_64-darwin ] - FastxPipe: [ i686-linux, x86_64-linux, x86_64-darwin ] - fathead-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - fault-tree: [ i686-linux, x86_64-linux, x86_64-darwin ] - fay-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - fay-builder: [ i686-linux, x86_64-linux, x86_64-darwin ] - fay-dom: [ i686-linux, x86_64-linux, x86_64-darwin ] - fay-geoposition: [ i686-linux, x86_64-linux, x86_64-darwin ] - fay-hsx: [ i686-linux, x86_64-linux, x86_64-darwin ] - fay-jquery: [ i686-linux, x86_64-linux, x86_64-darwin ] - fay-ref: [ i686-linux, x86_64-linux, x86_64-darwin ] - fay-simplejson: [ i686-linux, x86_64-linux, x86_64-darwin ] - fay-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - fay-uri: [ i686-linux, x86_64-linux, x86_64-darwin ] - fay-websockets: [ i686-linux, x86_64-linux, x86_64-darwin ] - fay: [ i686-linux, x86_64-linux, x86_64-darwin ] - fb-persistent: [ i686-linux, x86_64-linux, x86_64-darwin ] - fbmessenger-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - fca: [ i686-linux, x86_64-linux, x86_64-darwin ] - fcache: [ i686-linux, x86_64-linux, x86_64-darwin ] - fcd: [ i686-linux, x86_64-linux, x86_64-darwin ] - fcg: [ i686-linux, x86_64-linux, x86_64-darwin ] - fckeditor: [ i686-linux, x86_64-linux, x86_64-darwin ] - fclabels-monadlib: [ i686-linux, x86_64-linux, x86_64-darwin ] - FComp: [ i686-linux, x86_64-linux, x86_64-darwin ] - fdo-trash: [ i686-linux, x86_64-linux, x86_64-darwin ] - feature-flipper-postgres: [ i686-linux, x86_64-linux, x86_64-darwin ] - feature-flipper: [ i686-linux, x86_64-linux, x86_64-darwin ] - fedora-packages: [ i686-linux, x86_64-linux, x86_64-darwin ] - feed-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - feed-collect: [ i686-linux, x86_64-linux, x86_64-darwin ] - feed-crawl: [ i686-linux, x86_64-linux, x86_64-darwin ] - feed-gipeda: [ i686-linux, x86_64-linux, x86_64-darwin ] - feed-translator: [ i686-linux, x86_64-linux, x86_64-darwin ] - feed2lj: [ i686-linux, x86_64-linux, x86_64-darwin ] - feed2twitter: [ i686-linux, x86_64-linux, x86_64-darwin ] - feldspar-compiler: [ i686-linux, x86_64-linux, x86_64-darwin ] - feldspar-language: [ i686-linux, x86_64-linux, x86_64-darwin ] - fenfire: [ i686-linux, x86_64-linux, x86_64-darwin ] - FermatsLastMargin: [ i686-linux, x86_64-linux, x86_64-darwin ] - fernet: [ i686-linux, x86_64-linux, x86_64-darwin ] - FerryCore: [ i686-linux, x86_64-linux, x86_64-darwin ] - festung: [ i686-linux, x86_64-linux, x86_64-darwin ] - Feval: [ i686-linux, x86_64-linux, x86_64-darwin ] - ffeed: [ i686-linux, x86_64-linux, x86_64-darwin ] - ffmpeg-light: [ i686-linux, x86_64-linux, x86_64-darwin ] - ffmpeg-tutorials: [ i686-linux, x86_64-linux, x86_64-darwin ] - fgl-extras-decompositions: [ i686-linux, x86_64-linux, x86_64-darwin ] - fibon: [ i686-linux, x86_64-linux, x86_64-darwin ] - ficketed: [ i686-linux, x86_64-linux, x86_64-darwin ] - fields: [ i686-linux, x86_64-linux, x86_64-darwin ] - FieldTrip: [ i686-linux, x86_64-linux, x86_64-darwin ] - fieldwise: [ i686-linux, x86_64-linux, x86_64-darwin ] - fig: [ i686-linux, x86_64-linux, x86_64-darwin ] - file-collection: [ i686-linux, x86_64-linux, x86_64-darwin ] - file-command-qq: [ i686-linux, x86_64-linux, x86_64-darwin ] - file-location: [ i686-linux, x86_64-linux, x86_64-darwin ] - filediff: [ i686-linux, x86_64-linux, x86_64-darwin ] - FileManip: [ i686-linux, x86_64-linux, x86_64-darwin ] - FileManipCompat: [ i686-linux, x86_64-linux, x86_64-darwin ] - fileneglect: [ i686-linux, x86_64-linux, x86_64-darwin ] - filepath-io-access: [ i686-linux, x86_64-linux, x86_64-darwin ] - FilePather: [ i686-linux, x86_64-linux, x86_64-darwin ] - filepather: [ i686-linux, x86_64-linux, x86_64-darwin ] - Files: [ i686-linux, x86_64-linux, x86_64-darwin ] - filesystem-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - filesystem-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - filesystem-trees: [ i686-linux, x86_64-linux, x86_64-darwin ] - FileSystem: [ i686-linux, x86_64-linux, x86_64-darwin ] - fillit: [ i686-linux, x86_64-linux, x86_64-darwin ] - filter-logger: [ i686-linux, x86_64-linux, x86_64-darwin ] - fin: [ i686-linux, x86_64-linux, x86_64-darwin ] - final-pretty-printer: [ i686-linux, x86_64-linux, x86_64-darwin ] - Finance-Quote-Yahoo: [ i686-linux, x86_64-linux, x86_64-darwin ] - Finance-Treasury: [ i686-linux, x86_64-linux, x86_64-darwin ] - find-clumpiness: [ i686-linux, x86_64-linux, x86_64-darwin ] - find-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - find-source-files: [ i686-linux, x86_64-linux, x86_64-darwin ] - fingertree-psqueue: [ i686-linux, x86_64-linux, x86_64-darwin ] - fingertree-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - FiniteMap: [ i686-linux, x86_64-linux, x86_64-darwin ] - firefly-example: [ i686-linux, x86_64-linux, x86_64-darwin ] - first-and-last: [ i686-linux, x86_64-linux, x86_64-darwin ] - firstify: [ i686-linux, x86_64-linux, x86_64-darwin ] - FirstOrderTheory: [ i686-linux, x86_64-linux, x86_64-darwin ] - fit: [ i686-linux, x86_64-linux, x86_64-darwin ] - fitsio: [ i686-linux, x86_64-linux, x86_64-darwin ] - fix-parser-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - fix-symbols-gitit: [ i686-linux, x86_64-linux, x86_64-darwin ] - fixed-point-vector-space: [ i686-linux, x86_64-linux, x86_64-darwin ] - fixed-point-vector: [ i686-linux, x86_64-linux, x86_64-darwin ] - fixed-point: [ i686-linux, x86_64-linux, x86_64-darwin ] - fixed-precision: [ i686-linux, x86_64-linux, x86_64-darwin ] - fixed-storable-array: [ i686-linux, x86_64-linux, x86_64-darwin ] - fixed-vector-binary: [ i686-linux, x86_64-linux, x86_64-darwin ] - fixed-vector-cborg: [ i686-linux, x86_64-linux, x86_64-darwin ] - fixed-vector-cereal: [ i686-linux, x86_64-linux, x86_64-darwin ] - fixed-width: [ i686-linux, x86_64-linux, x86_64-darwin ] - fixer: [ i686-linux, x86_64-linux, x86_64-darwin ] - fixfile: [ i686-linux, x86_64-linux, x86_64-darwin ] - fixhs: [ i686-linux, x86_64-linux, x86_64-darwin ] - fixie: [ i686-linux, x86_64-linux, x86_64-darwin ] - fizzbuzz-as-a-service: [ i686-linux, x86_64-linux, x86_64-darwin ] - fizzbuzz: [ i686-linux, x86_64-linux, x86_64-darwin ] - flac-picture: [ i686-linux, x86_64-linux, x86_64-darwin ] - flac: [ i686-linux, x86_64-linux, x86_64-darwin ] - flamethrower: [ i686-linux, x86_64-linux, x86_64-darwin ] - flamingra: [ i686-linux, x86_64-linux, x86_64-darwin ] - flat-maybe: [ i686-linux, x86_64-linux, x86_64-darwin ] - flexible-time: [ i686-linux, x86_64-linux, x86_64-darwin ] - flexiwrap-smallcheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - flexiwrap: [ i686-linux, x86_64-linux, x86_64-darwin ] - flickr: [ i686-linux, x86_64-linux, x86_64-darwin ] - Flippi: [ i686-linux, x86_64-linux, x86_64-darwin ] - flite: [ i686-linux, x86_64-linux, x86_64-darwin ] - float-binstring: [ i686-linux, x86_64-linux, x86_64-darwin ] - floating-bits: [ i686-linux, x86_64-linux, x86_64-darwin ] - flow-er: [ i686-linux, x86_64-linux, x86_64-darwin ] - flow2dot: [ i686-linux, x86_64-linux, x86_64-darwin ] - flowdock-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - flowdock-rest: [ i686-linux, x86_64-linux, x86_64-darwin ] - flowdock: [ i686-linux, x86_64-linux, x86_64-darwin ] - flower: [ i686-linux, x86_64-linux, x86_64-darwin ] - flowlocks-framework: [ i686-linux, x86_64-linux, x86_64-darwin ] - flowsim: [ i686-linux, x86_64-linux, x86_64-darwin ] - fltkhs-fluid-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - fluent-logger: [ i686-linux, x86_64-linux, x86_64-darwin ] - fluffy-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - fluidsynth: [ i686-linux, x86_64-linux, x86_64-darwin ] - flux-monoid: [ i686-linux, x86_64-linux, x86_64-darwin ] - FM-SBLEX: [ i686-linux, x86_64-linux, x86_64-darwin ] - fmark: [ i686-linux, x86_64-linux, x86_64-darwin ] - FModExRaw: [ i686-linux, x86_64-linux, x86_64-darwin ] - fn-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - focuslist: [ i686-linux, x86_64-linux, x86_64-darwin ] - foldl-incremental: [ i686-linux, x86_64-linux, x86_64-darwin ] - foldl-statistics: [ i686-linux, x86_64-linux, x86_64-darwin ] - folds-common: [ i686-linux, x86_64-linux, x86_64-darwin ] - follow: [ i686-linux, x86_64-linux, x86_64-darwin ] - follower: [ i686-linux, x86_64-linux, x86_64-darwin ] - foma: [ i686-linux, x86_64-linux, x86_64-darwin ] - font-opengl-basic4x6: [ i686-linux, x86_64-linux, x86_64-darwin ] - foo: [ i686-linux, x86_64-linux, x86_64-darwin ] - for-free: [ i686-linux, x86_64-linux, x86_64-darwin ] - forbidden-fruit: [ i686-linux, x86_64-linux, x86_64-darwin ] - fordo: [ i686-linux, x86_64-linux, x86_64-darwin ] - forecast-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - foreign-var: [ i686-linux, x86_64-linux, x86_64-darwin ] - forest-fire: [ i686-linux, x86_64-linux, x86_64-darwin ] - Forestry: [ i686-linux, x86_64-linux, x86_64-darwin ] - forger: [ i686-linux, x86_64-linux, x86_64-darwin ] - ForkableT: [ i686-linux, x86_64-linux, x86_64-darwin ] - formal: [ i686-linux, x86_64-linux, x86_64-darwin ] - FormalGrammars: [ i686-linux, x86_64-linux, x86_64-darwin ] - format-status: [ i686-linux, x86_64-linux, x86_64-darwin ] - format: [ i686-linux, x86_64-linux, x86_64-darwin ] - formattable: [ i686-linux, x86_64-linux, x86_64-darwin ] - forml: [ i686-linux, x86_64-linux, x86_64-darwin ] - formlets-hsp: [ i686-linux, x86_64-linux, x86_64-darwin ] - formlets: [ i686-linux, x86_64-linux, x86_64-darwin ] - formura: [ i686-linux, x86_64-linux, x86_64-darwin ] - forsyde-deep: [ i686-linux, x86_64-linux, x86_64-darwin ] - ForSyDe: [ i686-linux, x86_64-linux, x86_64-darwin ] - forth-hll: [ i686-linux, x86_64-linux, x86_64-darwin ] - Fortnite-Hack-Cheats-Free-V-Bucks-Generator: [ i686-linux, x86_64-linux, x86_64-darwin ] - fortran-src: [ i686-linux, x86_64-linux, x86_64-darwin ] - fortytwo: [ i686-linux, x86_64-linux, x86_64-darwin ] - foscam-directory: [ i686-linux, x86_64-linux, x86_64-darwin ] - foscam-filename: [ i686-linux, x86_64-linux, x86_64-darwin ] - foscam-sort: [ i686-linux, x86_64-linux, x86_64-darwin ] - Foster: [ i686-linux, x86_64-linux, x86_64-darwin ] - fpco-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - fpnla-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - FPretty: [ i686-linux, x86_64-linux, x86_64-darwin ] - fptest: [ i686-linux, x86_64-linux, x86_64-darwin ] - Fractaler: [ i686-linux, x86_64-linux, x86_64-darwin ] - fractals: [ i686-linux, x86_64-linux, x86_64-darwin ] - frag: [ i686-linux, x86_64-linux, x86_64-darwin ] - Frames-beam: [ i686-linux, x86_64-linux, x86_64-darwin ] - Frames-dsv: [ i686-linux, x86_64-linux, x86_64-darwin ] - franchise: [ i686-linux, x86_64-linux, x86_64-darwin ] - Frank: [ i686-linux, x86_64-linux, x86_64-darwin ] - fraxl: [ i686-linux, x86_64-linux, x86_64-darwin ] - freddy: [ i686-linux, x86_64-linux, x86_64-darwin ] - free-category: [ i686-linux, x86_64-linux, x86_64-darwin ] - free-concurrent: [ i686-linux, x86_64-linux, x86_64-darwin ] - free-game: [ i686-linux, x86_64-linux, x86_64-darwin ] - free-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - free-operational: [ i686-linux, x86_64-linux, x86_64-darwin ] - free-theorems-counterexamples: [ i686-linux, x86_64-linux, x86_64-darwin ] - free-theorems-seq-webui: [ i686-linux, x86_64-linux, x86_64-darwin ] - free-theorems-seq: [ i686-linux, x86_64-linux, x86_64-darwin ] - free-theorems-webui: [ i686-linux, x86_64-linux, x86_64-darwin ] - free-theorems: [ i686-linux, x86_64-linux, x86_64-darwin ] - free-v-bucks-generator-no-survey: [ i686-linux, x86_64-linux, x86_64-darwin ] - free-v-bucks-generator-ps4-no-survey: [ i686-linux, x86_64-linux, x86_64-darwin ] - free-vector-spaces: [ i686-linux, x86_64-linux, x86_64-darwin ] - freekick2: [ i686-linux, x86_64-linux, x86_64-darwin ] - freelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - freer-converse: [ i686-linux, x86_64-linux, x86_64-darwin ] - freer-effects: [ i686-linux, x86_64-linux, x86_64-darwin ] - freer-simple-catching: [ i686-linux, x86_64-linux, x86_64-darwin ] - freer-simple-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - freer-simple-profiling: [ i686-linux, x86_64-linux, x86_64-darwin ] - freer-simple-random: [ i686-linux, x86_64-linux, x86_64-darwin ] - freer-simple-time: [ i686-linux, x86_64-linux, x86_64-darwin ] - freesect: [ i686-linux, x86_64-linux, x86_64-darwin ] - freesound: [ i686-linux, x86_64-linux, x86_64-darwin ] - freetype-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - FreeTypeGL: [ i686-linux, x86_64-linux, x86_64-darwin ] - freq: [ i686-linux, x86_64-linux, x86_64-darwin ] - fresh: [ i686-linux, x86_64-linux, x86_64-darwin ] - friday-devil: [ i686-linux, x86_64-linux, x86_64-darwin ] - friday-juicypixels: [ i686-linux, x86_64-linux, x86_64-darwin ] - friday-scale-dct: [ i686-linux, x86_64-linux, x86_64-darwin ] - friday: [ i686-linux, x86_64-linux, x86_64-darwin ] - friendly: [ i686-linux, x86_64-linux, x86_64-darwin ] - frown: [ i686-linux, x86_64-linux, x86_64-darwin ] - frp-arduino: [ i686-linux, x86_64-linux, x86_64-darwin ] - frpnow-gloss: [ i686-linux, x86_64-linux, x86_64-darwin ] - frpnow-gtk3: [ i686-linux, x86_64-linux, x86_64-darwin ] - frpnow-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - frpnow-vty: [ i686-linux, x86_64-linux, x86_64-darwin ] - frpnow: [ i686-linux, x86_64-linux, x86_64-darwin ] - fs-events: [ i686-linux, x86_64-linux, x86_64-darwin ] - fsh-csv: [ i686-linux, x86_64-linux, x86_64-darwin ] - fsmActions: [ i686-linux, x86_64-linux, x86_64-darwin ] - fsutils: [ i686-linux, x86_64-linux, x86_64-darwin ] - fswait: [ i686-linux, x86_64-linux, x86_64-darwin ] - ftdi: [ i686-linux, x86_64-linux, x86_64-darwin ] - FTGL-bytestring: [ i686-linux, x86_64-linux, x86_64-darwin ] - ftp-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - FTPLine: [ i686-linux, x86_64-linux, x86_64-darwin ] - ftree: [ i686-linux, x86_64-linux, x86_64-darwin ] - ftshell: [ i686-linux, x86_64-linux, x86_64-darwin ] - full-sessions: [ i686-linux, x86_64-linux, x86_64-darwin ] - full-text-search: [ i686-linux, x86_64-linux, x86_64-darwin ] - fullstop: [ i686-linux, x86_64-linux, x86_64-darwin ] - funbot-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - funbot-git-hook: [ i686-linux, x86_64-linux, x86_64-darwin ] - funbot: [ i686-linux, x86_64-linux, x86_64-darwin ] - funcons-lambda-cbv-mp: [ i686-linux, x86_64-linux, x86_64-darwin ] - funcons-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - funcons-tools: [ i686-linux, x86_64-linux, x86_64-darwin ] - funcons-values: [ i686-linux, x86_64-linux, x86_64-darwin ] - function-combine: [ i686-linux, x86_64-linux, x86_64-darwin ] - function-instances-algebra: [ i686-linux, x86_64-linux, x86_64-darwin ] - functional-arrow: [ i686-linux, x86_64-linux, x86_64-darwin ] - functor: [ i686-linux, x86_64-linux, x86_64-darwin ] - functorm: [ i686-linux, x86_64-linux, x86_64-darwin ] - funflow-nix: [ i686-linux, x86_64-linux, x86_64-darwin ] - funflow: [ i686-linux, x86_64-linux, x86_64-darwin ] - FunGEn: [ i686-linux, x86_64-linux, x86_64-darwin ] - Fungi: [ i686-linux, x86_64-linux, x86_64-darwin ] - funion: [ i686-linux, x86_64-linux, x86_64-darwin ] - funpat: [ i686-linux, x86_64-linux, x86_64-darwin ] - funsat: [ i686-linux, x86_64-linux, x86_64-darwin ] - fusion: [ i686-linux, x86_64-linux, x86_64-darwin ] - futhark: [ i686-linux, x86_64-linux, x86_64-darwin ] - futun: [ i686-linux, x86_64-linux, x86_64-darwin ] - future: [ i686-linux, x86_64-linux, x86_64-darwin ] - fuzzy-timings: [ i686-linux, x86_64-linux, x86_64-darwin ] - fwgl-glfw: [ i686-linux, x86_64-linux, x86_64-darwin ] - fwgl-javascript: [ i686-linux, x86_64-linux, x86_64-darwin ] - fwgl: [ i686-linux, x86_64-linux, x86_64-darwin ] - g-npm: [ i686-linux, x86_64-linux, x86_64-darwin ] - g4ip: [ i686-linux, x86_64-linux, x86_64-darwin ] - gact: [ i686-linux, x86_64-linux, x86_64-darwin ] - game-probability: [ i686-linux, x86_64-linux, x86_64-darwin ] - gameclock: [ i686-linux, x86_64-linux, x86_64-darwin ] - Gamgine: [ i686-linux, x86_64-linux, x86_64-darwin ] - Ganymede: [ i686-linux, x86_64-linux, x86_64-darwin ] - garepinoh: [ i686-linux, x86_64-linux, x86_64-darwin ] - gargoyle-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - gargoyle: [ i686-linux, x86_64-linux, x86_64-darwin ] - gas: [ i686-linux, x86_64-linux, x86_64-darwin ] - gbu: [ i686-linux, x86_64-linux, x86_64-darwin ] - gc-monitoring-wai: [ i686-linux, x86_64-linux, x86_64-darwin ] - gcodehs: [ i686-linux, x86_64-linux, x86_64-darwin ] - gconf: [ i686-linux, x86_64-linux, x86_64-darwin ] - gdax: [ i686-linux, x86_64-linux, x86_64-darwin ] - gdiff-ig: [ i686-linux, x86_64-linux, x86_64-darwin ] - gdiff-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - GeBoP: [ i686-linux, x86_64-linux, x86_64-darwin ] - gedcom: [ i686-linux, x86_64-linux, x86_64-darwin ] - geek-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - geek: [ i686-linux, x86_64-linux, x86_64-darwin ] - gegl: [ i686-linux, x86_64-linux, x86_64-darwin ] - gelatin-freetype2: [ i686-linux, x86_64-linux, x86_64-darwin ] - gelatin-fruity: [ i686-linux, x86_64-linux, x86_64-darwin ] - gelatin-gl: [ i686-linux, x86_64-linux, x86_64-darwin ] - gelatin-sdl2: [ i686-linux, x86_64-linux, x86_64-darwin ] - gelatin-shaders: [ i686-linux, x86_64-linux, x86_64-darwin ] - gelatin: [ i686-linux, x86_64-linux, x86_64-darwin ] - gemstone: [ i686-linux, x86_64-linux, x86_64-darwin ] - gen-imports: [ i686-linux, x86_64-linux, x86_64-darwin ] - gen-passwd: [ i686-linux, x86_64-linux, x86_64-darwin ] - Genbank: [ i686-linux, x86_64-linux, x86_64-darwin ] - gencheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - gender: [ i686-linux, x86_64-linux, x86_64-darwin ] - genders: [ i686-linux, x86_64-linux, x86_64-darwin ] - Gene-CluEDO: [ i686-linux, x86_64-linux, x86_64-darwin ] - general-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - GeneralTicTacToe: [ i686-linux, x86_64-linux, x86_64-darwin ] - generators: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-accessors: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-binary: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-church: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-enum: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-lens-labels: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-lucid-scaffold: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-maybe: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-pretty: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-storable: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-tree: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-xml: [ i686-linux, x86_64-linux, x86_64-darwin ] - generic-xmlpickler: [ i686-linux, x86_64-linux, x86_64-darwin ] - genericserialize: [ i686-linux, x86_64-linux, x86_64-darwin ] - genesis-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - genesis: [ i686-linux, x86_64-linux, x86_64-darwin ] - genetics: [ i686-linux, x86_64-linux, x86_64-darwin ] - geni-gui: [ i686-linux, x86_64-linux, x86_64-darwin ] - geni-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - GenI: [ i686-linux, x86_64-linux, x86_64-darwin ] - geniconvert: [ i686-linux, x86_64-linux, x86_64-darwin ] - geniplate: [ i686-linux, x86_64-linux, x86_64-darwin ] - geniserver: [ i686-linux, x86_64-linux, x86_64-darwin ] - genprog: [ i686-linux, x86_64-linux, x86_64-darwin ] - GenSmsPdu: [ i686-linux, x86_64-linux, x86_64-darwin ] - gentlemark: [ i686-linux, x86_64-linux, x86_64-darwin ] - GenussFold: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-bytestring: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-hspec-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-hspec-binary: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-hspec-cereal: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-hspec-hashable: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-hspec-optics: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-hspec: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-path: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-scientific: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-time: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-unordered-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-uuid: [ i686-linux, x86_64-linux, x86_64-darwin ] - genvalidity-vector: [ i686-linux, x86_64-linux, x86_64-darwin ] - geo-resolver: [ i686-linux, x86_64-linux, x86_64-darwin ] - GeocoderOpenCage: [ i686-linux, x86_64-linux, x86_64-darwin ] - geodetic-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - geodetic: [ i686-linux, x86_64-linux, x86_64-darwin ] - geodetics: [ i686-linux, x86_64-linux, x86_64-darwin ] - geojson-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - geolite-csv: [ i686-linux, x86_64-linux, x86_64-darwin ] - geom2d: [ i686-linux, x86_64-linux, x86_64-darwin ] - GeomPredicates-SSE: [ i686-linux, x86_64-linux, x86_64-darwin ] - geos: [ i686-linux, x86_64-linux, x86_64-darwin ] - Get: [ i686-linux, x86_64-linux, x86_64-darwin ] - getemx: [ i686-linux, x86_64-linux, x86_64-darwin ] - getflag: [ i686-linux, x86_64-linux, x86_64-darwin ] - GGg: [ i686-linux, x86_64-linux, x86_64-darwin ] - ggtsTC: [ i686-linux, x86_64-linux, x86_64-darwin ] - gh-labeler: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-core-smallstep: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-datasize: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-dump-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-dump-tree: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-dump-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-dup: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-events-analyze: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-events-parallel: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-generic-instances: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-heap-view: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-imported-from: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-instances: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-man-completion: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-mod: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-parmake: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-pkg-autofix: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-pkg-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-proofs: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-session: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-srcspan-plugin: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-syb-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-syb: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-time-alloc-prof: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-trace-events: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-typelits-presburger: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-usage: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghc-vis: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghci-diagrams: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghci-haskeline: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghci-history-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghci-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghci-ng: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghcjs-base-stub: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghcjs-dom-jsaddle: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghcjs-dom-jsffi: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghcjs-dom: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghcjs-fetch: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghcjs-hplay: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghcjs-promise: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghcjs-xhr: [ i686-linux, x86_64-linux, x86_64-darwin ] - ghclive: [ i686-linux, x86_64-linux, x86_64-darwin ] - ght: [ i686-linux, x86_64-linux, x86_64-darwin ] - gi-gstpbutils: [ i686-linux, x86_64-linux, x86_64-darwin ] - gi-gsttag: [ i686-linux, x86_64-linux, x86_64-darwin ] - gi-gtkosxapplication: [ i686-linux, x86_64-linux, x86_64-darwin ] - gi-notify: [ i686-linux, x86_64-linux, x86_64-darwin ] - gi-poppler: [ i686-linux, x86_64-linux, x86_64-darwin ] - gi-wnck: [ i686-linux, x86_64-linux, x86_64-darwin ] - giak: [ i686-linux, x86_64-linux, x86_64-darwin ] - Gifcurry: [ i686-linux, x86_64-linux, x86_64-darwin ] - ginsu: [ i686-linux, x86_64-linux, x86_64-darwin ] - gio: [ i686-linux, x86_64-linux, x86_64-darwin ] - gipeda: [ i686-linux, x86_64-linux, x86_64-darwin ] - giphy-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - GiST: [ i686-linux, x86_64-linux, x86_64-darwin ] - gist: [ i686-linux, x86_64-linux, x86_64-darwin ] - git-checklist: [ i686-linux, x86_64-linux, x86_64-darwin ] - git-config: [ i686-linux, x86_64-linux, x86_64-darwin ] - git-date: [ i686-linux, x86_64-linux, x86_64-darwin ] - git-fmt: [ i686-linux, x86_64-linux, x86_64-darwin ] - git-gpush: [ i686-linux, x86_64-linux, x86_64-darwin ] - git-jump: [ i686-linux, x86_64-linux, x86_64-darwin ] - git-monitor: [ i686-linux, x86_64-linux, x86_64-darwin ] - git-object: [ i686-linux, x86_64-linux, x86_64-darwin ] - git-repair: [ i686-linux, x86_64-linux, x86_64-darwin ] - git-sanity: [ i686-linux, x86_64-linux, x86_64-darwin ] - git-vogue: [ i686-linux, x86_64-linux, x86_64-darwin ] - git: [ i686-linux, x86_64-linux, x86_64-darwin ] - gitdo: [ i686-linux, x86_64-linux, x86_64-darwin ] - github-backup: [ i686-linux, x86_64-linux, x86_64-darwin ] - github-data: [ i686-linux, x86_64-linux, x86_64-darwin ] - github-tools: [ i686-linux, x86_64-linux, x86_64-darwin ] - github-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - github-webhook-handler-snap: [ i686-linux, x86_64-linux, x86_64-darwin ] - github-webhook-handler: [ i686-linux, x86_64-linux, x86_64-darwin ] - github: [ i686-linux, x86_64-linux, x86_64-darwin ] - gitignore: [ i686-linux, x86_64-linux, x86_64-darwin ] - gitit: [ i686-linux, x86_64-linux, x86_64-darwin ] - gitlab-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - gitlib-cross: [ i686-linux, x86_64-linux, x86_64-darwin ] - gitlib-libgit2: [ i686-linux, x86_64-linux, x86_64-darwin ] - gitlib-s3: [ i686-linux, x86_64-linux, x86_64-darwin ] - gitlib-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - gitlib-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - gitson: [ i686-linux, x86_64-linux, x86_64-darwin ] - gitter: [ i686-linux, x86_64-linux, x86_64-darwin ] - givegif: [ i686-linux, x86_64-linux, x86_64-darwin ] - glade: [ i686-linux, x86_64-linux, x86_64-darwin ] - gladexml-accessor: [ i686-linux, x86_64-linux, x86_64-darwin ] - glapp: [ i686-linux, x86_64-linux, x86_64-darwin ] - glazier-pipes: [ i686-linux, x86_64-linux, x86_64-darwin ] - glazier-react-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - glazier-react-widget: [ i686-linux, x86_64-linux, x86_64-darwin ] - glazier-react: [ i686-linux, x86_64-linux, x86_64-darwin ] - GLFW-b-demo: [ i686-linux, x86_64-linux, x86_64-darwin ] - GLFW-OGL: [ i686-linux, x86_64-linux, x86_64-darwin ] - gli: [ i686-linux, x86_64-linux, x86_64-darwin ] - glib: [ i686-linux, x86_64-linux, x86_64-darwin ] - glicko: [ i686-linux, x86_64-linux, x86_64-darwin ] - glider-nlp: [ i686-linux, x86_64-linux, x86_64-darwin ] - GLMatrix: [ i686-linux, x86_64-linux, x86_64-darwin ] - glob-posix: [ i686-linux, x86_64-linux, x86_64-darwin ] - global-config: [ i686-linux, x86_64-linux, x86_64-darwin ] - global-variables: [ i686-linux, x86_64-linux, x86_64-darwin ] - global: [ i686-linux, x86_64-linux, x86_64-darwin ] - glome-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - GlomeTrace: [ i686-linux, x86_64-linux, x86_64-darwin ] - GlomeView: [ i686-linux, x86_64-linux, x86_64-darwin ] - gloss-accelerate: [ i686-linux, x86_64-linux, x86_64-darwin ] - gloss-banana: [ i686-linux, x86_64-linux, x86_64-darwin ] - gloss-devil: [ i686-linux, x86_64-linux, x86_64-darwin ] - gloss-export: [ i686-linux, x86_64-linux, x86_64-darwin ] - gloss-game: [ i686-linux, x86_64-linux, x86_64-darwin ] - gloss-sodium: [ i686-linux, x86_64-linux, x86_64-darwin ] - glpk-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - glue-common: [ i686-linux, x86_64-linux, x86_64-darwin ] - glue-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - glue-ekg: [ i686-linux, x86_64-linux, x86_64-darwin ] - glue-example: [ i686-linux, x86_64-linux, x86_64-darwin ] - glue: [ i686-linux, x86_64-linux, x86_64-darwin ] - gmap: [ i686-linux, x86_64-linux, x86_64-darwin ] - gmndl: [ i686-linux, x86_64-linux, x86_64-darwin ] - gnome-desktop: [ i686-linux, x86_64-linux, x86_64-darwin ] - gnomevfs: [ i686-linux, x86_64-linux, x86_64-darwin ] - gnss-converters: [ i686-linux, x86_64-linux, x86_64-darwin ] - gnuidn: [ i686-linux, x86_64-linux, x86_64-darwin ] - goal-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - goal-geometry: [ i686-linux, x86_64-linux, x86_64-darwin ] - goal-probability: [ i686-linux, x86_64-linux, x86_64-darwin ] - goal-simulation: [ i686-linux, x86_64-linux, x86_64-darwin ] - goatee-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - goatee: [ i686-linux, x86_64-linux, x86_64-darwin ] - gochan: [ i686-linux, x86_64-linux, x86_64-darwin ] - gofer-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - gooey: [ i686-linux, x86_64-linux, x86_64-darwin ] - google-cloud: [ i686-linux, x86_64-linux, x86_64-darwin ] - google-drive: [ i686-linux, x86_64-linux, x86_64-darwin ] - google-html5-slide: [ i686-linux, x86_64-linux, x86_64-darwin ] - google-mail-filters: [ i686-linux, x86_64-linux, x86_64-darwin ] - google-maps-geocoding: [ i686-linux, x86_64-linux, x86_64-darwin ] - google-oauth2-easy: [ i686-linux, x86_64-linux, x86_64-darwin ] - google-oauth2: [ i686-linux, x86_64-linux, x86_64-darwin ] - google-search: [ i686-linux, x86_64-linux, x86_64-darwin ] - google-server-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - google-static-maps: [ i686-linux, x86_64-linux, x86_64-darwin ] - google-translate: [ i686-linux, x86_64-linux, x86_64-darwin ] - GoogleCodeJam: [ i686-linux, x86_64-linux, x86_64-darwin ] - GoogleDirections: [ i686-linux, x86_64-linux, x86_64-darwin ] - googleplus: [ i686-linux, x86_64-linux, x86_64-darwin ] - googlepolyline: [ i686-linux, x86_64-linux, x86_64-darwin ] - GoogleSB: [ i686-linux, x86_64-linux, x86_64-darwin ] - GoogleTranslate: [ i686-linux, x86_64-linux, x86_64-darwin ] - gopher-proxy: [ i686-linux, x86_64-linux, x86_64-darwin ] - gopherbot: [ i686-linux, x86_64-linux, x86_64-darwin ] - gore-and-ash-actor: [ i686-linux, x86_64-linux, x86_64-darwin ] - gore-and-ash-async: [ i686-linux, x86_64-linux, x86_64-darwin ] - gore-and-ash-demo: [ i686-linux, x86_64-linux, x86_64-darwin ] - gore-and-ash-glfw: [ i686-linux, x86_64-linux, x86_64-darwin ] - gore-and-ash-lambdacube: [ i686-linux, x86_64-linux, x86_64-darwin ] - gore-and-ash-logging: [ i686-linux, x86_64-linux, x86_64-darwin ] - gore-and-ash-network: [ i686-linux, x86_64-linux, x86_64-darwin ] - gore-and-ash-sdl: [ i686-linux, x86_64-linux, x86_64-darwin ] - gore-and-ash-sync: [ i686-linux, x86_64-linux, x86_64-darwin ] - gore-and-ash: [ i686-linux, x86_64-linux, x86_64-darwin ] - GotoT-transformers: [ i686-linux, x86_64-linux, x86_64-darwin ] - gotta-go-fast: [ i686-linux, x86_64-linux, x86_64-darwin ] - gpah: [ i686-linux, x86_64-linux, x86_64-darwin ] - GPipe-Collada: [ i686-linux, x86_64-linux, x86_64-darwin ] - GPipe-Examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - GPipe-GLFW: [ i686-linux, x86_64-linux, x86_64-darwin ] - GPipe-TextureLoad: [ i686-linux, x86_64-linux, x86_64-darwin ] - GPipe: [ i686-linux, x86_64-linux, x86_64-darwin ] - gps2htmlReport: [ i686-linux, x86_64-linux, x86_64-darwin ] - gps: [ i686-linux, x86_64-linux, x86_64-darwin ] - gpx-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - GPX: [ i686-linux, x86_64-linux, x86_64-darwin ] - graceful: [ i686-linux, x86_64-linux, x86_64-darwin ] - graflog: [ i686-linux, x86_64-linux, x86_64-darwin ] - Grafos: [ i686-linux, x86_64-linux, x86_64-darwin ] - grakn: [ i686-linux, x86_64-linux, x86_64-darwin ] - grammar-combinators: [ i686-linux, x86_64-linux, x86_64-darwin ] - GrammarProducts: [ i686-linux, x86_64-linux, x86_64-darwin ] - grammatical-parsers: [ i686-linux, x86_64-linux, x86_64-darwin ] - grapefruit-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - grapefruit-frp: [ i686-linux, x86_64-linux, x86_64-darwin ] - grapefruit-records: [ i686-linux, x86_64-linux, x86_64-darwin ] - grapefruit-ui-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - grapefruit-ui: [ i686-linux, x86_64-linux, x86_64-darwin ] - graph-matchings: [ i686-linux, x86_64-linux, x86_64-darwin ] - graph-rewriting-cl: [ i686-linux, x86_64-linux, x86_64-darwin ] - graph-rewriting-gl: [ i686-linux, x86_64-linux, x86_64-darwin ] - graph-rewriting-lambdascope: [ i686-linux, x86_64-linux, x86_64-darwin ] - graph-rewriting-layout: [ i686-linux, x86_64-linux, x86_64-darwin ] - graph-rewriting-ski: [ i686-linux, x86_64-linux, x86_64-darwin ] - graph-rewriting-strategies: [ i686-linux, x86_64-linux, x86_64-darwin ] - graph-rewriting-trs: [ i686-linux, x86_64-linux, x86_64-darwin ] - graph-rewriting-ww: [ i686-linux, x86_64-linux, x86_64-darwin ] - graph-rewriting: [ i686-linux, x86_64-linux, x86_64-darwin ] - graph-serialize: [ i686-linux, x86_64-linux, x86_64-darwin ] - graph-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - graph-visit: [ i686-linux, x86_64-linux, x86_64-darwin ] - Graph500: [ i686-linux, x86_64-linux, x86_64-darwin ] - graphbuilder: [ i686-linux, x86_64-linux, x86_64-darwin ] - graphene: [ i686-linux, x86_64-linux, x86_64-darwin ] - GraphHammer-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - GraphHammer: [ i686-linux, x86_64-linux, x86_64-darwin ] - graphics-drawingcombinators: [ i686-linux, x86_64-linux, x86_64-darwin ] - graphics-formats-collada: [ i686-linux, x86_64-linux, x86_64-darwin ] - graphicsFormats: [ i686-linux, x86_64-linux, x86_64-darwin ] - graphicstools: [ i686-linux, x86_64-linux, x86_64-darwin ] - graphql-w-persistent: [ i686-linux, x86_64-linux, x86_64-darwin ] - graphtype: [ i686-linux, x86_64-linux, x86_64-darwin ] - graql: [ i686-linux, x86_64-linux, x86_64-darwin ] - grasp: [ i686-linux, x86_64-linux, x86_64-darwin ] - gray-code: [ i686-linux, x86_64-linux, x86_64-darwin ] - greencard-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - greencard: [ i686-linux, x86_64-linux, x86_64-darwin ] - greenclip: [ i686-linux, x86_64-linux, x86_64-darwin ] - greg-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - gremlin-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - Grempa: [ i686-linux, x86_64-linux, x86_64-darwin ] - grenade: [ i686-linux, x86_64-linux, x86_64-darwin ] - gridbounds: [ i686-linux, x86_64-linux, x86_64-darwin ] - gridland: [ i686-linux, x86_64-linux, x86_64-darwin ] - grids: [ i686-linux, x86_64-linux, x86_64-darwin ] - grm: [ i686-linux, x86_64-linux, x86_64-darwin ] - groot: [ i686-linux, x86_64-linux, x86_64-darwin ] - gross: [ i686-linux, x86_64-linux, x86_64-darwin ] - GroteTrap: [ i686-linux, x86_64-linux, x86_64-darwin ] - groundhog-converters: [ i686-linux, x86_64-linux, x86_64-darwin ] - group-with: [ i686-linux, x86_64-linux, x86_64-darwin ] - grouped-list: [ i686-linux, x86_64-linux, x86_64-darwin ] - growler: [ i686-linux, x86_64-linux, x86_64-darwin ] - GrowlNotify: [ i686-linux, x86_64-linux, x86_64-darwin ] - grpc-etcd-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - gruff-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - gruff: [ i686-linux, x86_64-linux, x86_64-darwin ] - gsc-weighting: [ i686-linux, x86_64-linux, x86_64-darwin ] - gscholar-rss: [ i686-linux, x86_64-linux, x86_64-darwin ] - gsl-random-fu: [ i686-linux, x86_64-linux, x86_64-darwin ] - gsl-random: [ i686-linux, x86_64-linux, x86_64-darwin ] - gstorable: [ i686-linux, x86_64-linux, x86_64-darwin ] - gstreamer: [ i686-linux, x86_64-linux, x86_64-darwin ] - GTALib: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtfs: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk-helpers: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk-jsinput: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk-largeTreeStore: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk-mac-integration: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk-serialized-event: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk-simple-list-view: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk-sni-tray: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk-toggle-button-list: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk-toy: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk-traymanager: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk2hs-buildtools: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk2hs-hello: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk2hs-rpn: [ i686-linux, x86_64-linux, x86_64-darwin ] - Gtk2hsGenerics: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk3-mac-integration: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk3: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtkglext: [ i686-linux, x86_64-linux, x86_64-darwin ] - GtkGLTV: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtkimageview: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtkrsync: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtksourceview2: [ i686-linux, x86_64-linux, x86_64-darwin ] - gtksourceview3: [ i686-linux, x86_64-linux, x86_64-darwin ] - GtkTV: [ i686-linux, x86_64-linux, x86_64-darwin ] - guarded-rewriting: [ i686-linux, x86_64-linux, x86_64-darwin ] - guess-combinator: [ i686-linux, x86_64-linux, x86_64-darwin ] - guid: [ i686-linux, x86_64-linux, x86_64-darwin ] - GuiHaskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - GuiTV: [ i686-linux, x86_64-linux, x86_64-darwin ] - gulcii: [ i686-linux, x86_64-linux, x86_64-darwin ] - gyah-bin: [ i686-linux, x86_64-linux, x86_64-darwin ] - gym-http-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - h-booru: [ i686-linux, x86_64-linux, x86_64-darwin ] - h-gpgme: [ i686-linux, x86_64-linux, x86_64-darwin ] - h-reversi: [ i686-linux, x86_64-linux, x86_64-darwin ] - h2048: [ i686-linux, x86_64-linux, x86_64-darwin ] - h2c: [ i686-linux, x86_64-linux, x86_64-darwin ] - H: [ i686-linux, x86_64-linux, x86_64-darwin ] - haar: [ i686-linux, x86_64-linux, x86_64-darwin ] - habit: [ i686-linux, x86_64-linux, x86_64-darwin ] - hablog: [ i686-linux, x86_64-linux, x86_64-darwin ] - HABQT: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hach: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-contrib-press: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-contrib: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-frontend-happstack: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-handler-cgi: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-handler-epoll: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-handler-evhttp: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-handler-fastcgi: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-handler-happstack: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-handler-hyena: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-handler-kibro: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-handler-simpleserver: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-middleware-cleanpath: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-middleware-clientsession: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack-middleware-jsonp: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack2-handler-happstack-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack2-handler-mongrel2-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack2-handler-snap-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - hack2-handler-warp: [ i686-linux, x86_64-linux, x86_64-darwin ] - hackage-diff: [ i686-linux, x86_64-linux, x86_64-darwin ] - hackage-mirror: [ i686-linux, x86_64-linux, x86_64-darwin ] - hackage-processing: [ i686-linux, x86_64-linux, x86_64-darwin ] - hackage-proxy: [ i686-linux, x86_64-linux, x86_64-darwin ] - hackage-repo-tool: [ i686-linux, x86_64-linux, x86_64-darwin ] - hackage-security-HTTP: [ i686-linux, x86_64-linux, x86_64-darwin ] - hackage-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - hackage2hwn: [ i686-linux, x86_64-linux, x86_64-darwin ] - hackage2twitter: [ i686-linux, x86_64-linux, x86_64-darwin ] - hackager: [ i686-linux, x86_64-linux, x86_64-darwin ] - hackernews: [ i686-linux, x86_64-linux, x86_64-darwin ] - HackMail: [ i686-linux, x86_64-linux, x86_64-darwin ] - hackmanager: [ i686-linux, x86_64-linux, x86_64-darwin ] - hackport: [ i686-linux, x86_64-linux, x86_64-darwin ] - hactor: [ i686-linux, x86_64-linux, x86_64-darwin ] - hactors: [ i686-linux, x86_64-linux, x86_64-darwin ] - haddock-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - haddock-leksah: [ i686-linux, x86_64-linux, x86_64-darwin ] - haddock-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - haddock: [ i686-linux, x86_64-linux, x86_64-darwin ] - haddocset: [ i686-linux, x86_64-linux, x86_64-darwin ] - hadolint: [ i686-linux, x86_64-linux, x86_64-darwin ] - hadoop-formats: [ i686-linux, x86_64-linux, x86_64-darwin ] - hadoop-rpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - hadoop-tools: [ i686-linux, x86_64-linux, x86_64-darwin ] - haggis: [ i686-linux, x86_64-linux, x86_64-darwin ] - Haggressive: [ i686-linux, x86_64-linux, x86_64-darwin ] - hahp: [ i686-linux, x86_64-linux, x86_64-darwin ] - haiji: [ i686-linux, x86_64-linux, x86_64-darwin ] - hail: [ i686-linux, x86_64-linux, x86_64-darwin ] - hailgun-send: [ i686-linux, x86_64-linux, x86_64-darwin ] - hairy: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakaru: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakismet: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakka: [ i686-linux, x86_64-linux, x86_64-darwin ] - hako: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-agda: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-blaze-templates: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-contrib-csv: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-contrib-elm: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-contrib-hyphenation: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-contrib-links: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-contrib: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-convert: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-dhall: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-dir-list: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-favicon: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-filestore: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-images: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-ogmarkup: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-R: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-sass: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-series: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-shakespeare: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll-shortcode: [ i686-linux, x86_64-linux, x86_64-darwin ] - hakyll: [ i686-linux, x86_64-linux, x86_64-darwin ] - hal: [ i686-linux, x86_64-linux, x86_64-darwin ] - halberd: [ i686-linux, x86_64-linux, x86_64-darwin ] - halfs: [ i686-linux, x86_64-linux, x86_64-darwin ] - halipeto: [ i686-linux, x86_64-linux, x86_64-darwin ] - halive: [ i686-linux, x86_64-linux, x86_64-darwin ] - hall-symbols: [ i686-linux, x86_64-linux, x86_64-darwin ] - halma-gui: [ i686-linux, x86_64-linux, x86_64-darwin ] - halma-telegram-bot: [ i686-linux, x86_64-linux, x86_64-darwin ] - halves: [ i686-linux, x86_64-linux, x86_64-darwin ] - HaMinitel: [ i686-linux, x86_64-linux, x86_64-darwin ] - hampp: [ i686-linux, x86_64-linux, x86_64-darwin ] - hamsql: [ i686-linux, x86_64-linux, x86_64-darwin ] - hamtmap: [ i686-linux, x86_64-linux, x86_64-darwin ] - hamusic: [ i686-linux, x86_64-linux, x86_64-darwin ] - handa-gdata: [ i686-linux, x86_64-linux, x86_64-darwin ] - handle-like: [ i686-linux, x86_64-linux, x86_64-darwin ] - handsy: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hangman: [ i686-linux, x86_64-linux, x86_64-darwin ] - hannahci: [ i686-linux, x86_64-linux, x86_64-darwin ] - hans-pcap: [ i686-linux, x86_64-linux, x86_64-darwin ] - hans: [ i686-linux, x86_64-linux, x86_64-darwin ] - haphviz: [ i686-linux, x86_64-linux, x86_64-darwin ] - hapistrano: [ i686-linux, x86_64-linux, x86_64-darwin ] - happindicator3: [ i686-linux, x86_64-linux, x86_64-darwin ] - happindicator: [ i686-linux, x86_64-linux, x86_64-darwin ] - happlets-lib-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - happlets: [ i686-linux, x86_64-linux, x86_64-darwin ] - happraise: [ i686-linux, x86_64-linux, x86_64-darwin ] - HAppS-Data: [ i686-linux, x86_64-linux, x86_64-darwin ] - happs-hsp-template: [ i686-linux, x86_64-linux, x86_64-darwin ] - happs-hsp: [ i686-linux, x86_64-linux, x86_64-darwin ] - HAppS-IxSet: [ i686-linux, x86_64-linux, x86_64-darwin ] - HAppS-Server: [ i686-linux, x86_64-linux, x86_64-darwin ] - HAppS-State: [ i686-linux, x86_64-linux, x86_64-darwin ] - happs-tutorial: [ i686-linux, x86_64-linux, x86_64-darwin ] - HAppS-Util: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-auth: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-authenticate: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-clientsession: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-contrib: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-data: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-dlg: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-facebook: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-fay-ajax: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-fay: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-hamlet: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-heist: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-helpers: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-hstringtemplate: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-ixset: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-jmacro: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-lite: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-monad-peel: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-plugins: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-server-tls-cryptonite: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-state: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack-yui: [ i686-linux, x86_64-linux, x86_64-darwin ] - happstack: [ i686-linux, x86_64-linux, x86_64-darwin ] - happy-meta: [ i686-linux, x86_64-linux, x86_64-darwin ] - happybara-webkit-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - happybara-webkit: [ i686-linux, x86_64-linux, x86_64-darwin ] - happybara: [ i686-linux, x86_64-linux, x86_64-darwin ] - HappyTree: [ i686-linux, x86_64-linux, x86_64-darwin ] - hapstone: [ i686-linux, x86_64-linux, x86_64-darwin ] - HaPy: [ i686-linux, x86_64-linux, x86_64-darwin ] - haquery: [ i686-linux, x86_64-linux, x86_64-darwin ] - haquil: [ i686-linux, x86_64-linux, x86_64-darwin ] - harchive: [ i686-linux, x86_64-linux, x86_64-darwin ] - hArduino: [ i686-linux, x86_64-linux, x86_64-darwin ] - hardware-edsl: [ i686-linux, x86_64-linux, x86_64-darwin ] - HaRe: [ i686-linux, x86_64-linux, x86_64-darwin ] - hark: [ i686-linux, x86_64-linux, x86_64-darwin ] - harmony: [ i686-linux, x86_64-linux, x86_64-darwin ] - HarmTrace: [ i686-linux, x86_64-linux, x86_64-darwin ] - haroonga-httpd: [ i686-linux, x86_64-linux, x86_64-darwin ] - haroonga: [ i686-linux, x86_64-linux, x86_64-darwin ] - harpy: [ i686-linux, x86_64-linux, x86_64-darwin ] - harvest-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - has-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - has: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasbolt-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - HasCacBDD: [ i686-linux, x86_64-linux, x86_64-darwin ] - hascas: [ i686-linux, x86_64-linux, x86_64-darwin ] - Haschoo: [ i686-linux, x86_64-linux, x86_64-darwin ] - HasGP: [ i686-linux, x86_64-linux, x86_64-darwin ] - hash: [ i686-linux, x86_64-linux, x86_64-darwin ] - hashable-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - hashable-generics: [ i686-linux, x86_64-linux, x86_64-darwin ] - hashable-orphans: [ i686-linux, x86_64-linux, x86_64-darwin ] - hashabler: [ i686-linux, x86_64-linux, x86_64-darwin ] - hashed-storage: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hashell: [ i686-linux, x86_64-linux, x86_64-darwin ] - hashflare: [ i686-linux, x86_64-linux, x86_64-darwin ] - hashring: [ i686-linux, x86_64-linux, x86_64-darwin ] - hashtables-plus: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasim: [ i686-linux, x86_64-linux, x86_64-darwin ] - hask-home: [ i686-linux, x86_64-linux, x86_64-darwin ] - hask: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskarrow: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskbot-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskdeep: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskeem: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskeline-class: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelisp: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-abci: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-aliyun: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-awk: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-bitmex-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-bitmex-rest: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-brainfuck: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-ci: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-cnc: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-coffee: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-compression: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-conll: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-course-preludes: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-dap: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-disque: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-docs: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-eigen-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-formatter: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-ftp: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-generate: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-gettext: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-go-checkers: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-holes-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-in-space: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-kubernetes: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-lsp-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-ml: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-mpfr: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-names: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-neo4j-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-openflow: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-overridez: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-packages: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-pdf-presenter: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-platform-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-player: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-plot: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-postal: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-read-editor: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-reflect: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-rules: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-src-exts-observe: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-src-exts-prisms: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-src-exts-qq: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-src-exts-sc: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-src-meta-mwotton: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-stack-trace-plugin: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-token-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-ast-fromghc: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-ast-gen: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-ast-trf: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-ast: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-backend-ghc: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-builtin-refactorings: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-daemon: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-debug: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-demo: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-experimental-refactorings: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-prettyprint: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-refactor: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tools-rewrite: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tor: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-type-exts: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-typescript: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-tyrant: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell-xmpp: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell2010: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell98: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskell98libraries: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-connect-hdbc-catchio-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-connect-hdbc-catchio-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-connect-hdbc-catchio-transformers: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-connect-hdbc-lifted: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-connect-hdbc: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-dynamic: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-flat: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-hdbc-mysql: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-hdbc-odbc: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-hdbc-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-hdbc-sqlite3: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-hdbc: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-hsql-mysql: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-hsql-odbc: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-hsql-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-hsql-sqlite3: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-hsql: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb-wx: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelldb: [ i686-linux, x86_64-linux, x86_64-darwin ] - HaskellLM: [ i686-linux, x86_64-linux, x86_64-darwin ] - HaskellNN: [ i686-linux, x86_64-linux, x86_64-darwin ] - Haskelloids: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskellscrabble: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskellscript: [ i686-linux, x86_64-linux, x86_64-darwin ] - HaskellTorrent: [ i686-linux, x86_64-linux, x86_64-darwin ] - HaskellTutorials: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskelzinc: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskey-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskey: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskgame: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskheap: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskhol-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskintex: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskmon: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskoin-bitcoind: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskoin-crypto: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskoin-node: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskoin-protocol: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskoin-script: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskoin-store: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskoin-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskoin-wallet: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskoin: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskoon-httpspec: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskoon-salvia: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskoon: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskore-realtime: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskore-supercollider: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskore-synthesizer: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskore: [ i686-linux, x86_64-linux, x86_64-darwin ] - HaskRel: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasktorch-ffi-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasktorch-ffi-thc: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasktorch-indef: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasktorch-signatures-partial: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasktorch-signatures-support: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasktorch-signatures: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasktorch-zoo: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasktorch: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskus-binary: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskus-system-build: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskus-utils-data: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskus-utils-variant: [ i686-linux, x86_64-linux, x86_64-darwin ] - haskus-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - haslo: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasloGUI: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasparql-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasql-backend: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasql-class: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasql-cursor-query: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasql-generic: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasql-migration: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasql-optparse-applicative: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasql-pool: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasql-postgres-options: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasql-postgres: [ i686-linux, x86_64-linux, x86_64-darwin ] - hasql-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - hastache-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - hastache: [ i686-linux, x86_64-linux, x86_64-darwin ] - haste-app: [ i686-linux, x86_64-linux, x86_64-darwin ] - haste-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - haste-markup: [ i686-linux, x86_64-linux, x86_64-darwin ] - haste-prim: [ i686-linux, x86_64-linux, x86_64-darwin ] - haste: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hate: [ i686-linux, x86_64-linux, x86_64-darwin ] - hatex-guide: [ i686-linux, x86_64-linux, x86_64-darwin ] - HaTeX-meta: [ i686-linux, x86_64-linux, x86_64-darwin ] - HaTeX-qq: [ i686-linux, x86_64-linux, x86_64-darwin ] - hats: [ i686-linux, x86_64-linux, x86_64-darwin ] - hatt: [ i686-linux, x86_64-linux, x86_64-darwin ] - haven: [ i686-linux, x86_64-linux, x86_64-darwin ] - haverer: [ i686-linux, x86_64-linux, x86_64-darwin ] - HaVSA: [ i686-linux, x86_64-linux, x86_64-darwin ] - hawitter: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hawk: [ i686-linux, x86_64-linux, x86_64-darwin ] - hax: [ i686-linux, x86_64-linux, x86_64-darwin ] - haxl-amazonka: [ i686-linux, x86_64-linux, x86_64-darwin ] - haxl-facebook: [ i686-linux, x86_64-linux, x86_64-darwin ] - haxparse: [ i686-linux, x86_64-linux, x86_64-darwin ] - haxr-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - haxr: [ i686-linux, x86_64-linux, x86_64-darwin ] - haxy: [ i686-linux, x86_64-linux, x86_64-darwin ] - hayland: [ i686-linux, x86_64-linux, x86_64-darwin ] - hayoo-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hayoo: [ i686-linux, x86_64-linux, x86_64-darwin ] - hback: [ i686-linux, x86_64-linux, x86_64-darwin ] - hbayes: [ i686-linux, x86_64-linux, x86_64-darwin ] - hbb: [ i686-linux, x86_64-linux, x86_64-darwin ] - hBDD-CMUBDD: [ i686-linux, x86_64-linux, x86_64-darwin ] - hBDD-CUDD: [ i686-linux, x86_64-linux, x86_64-darwin ] - hbeat: [ i686-linux, x86_64-linux, x86_64-darwin ] - hbf: [ i686-linux, x86_64-linux, x86_64-darwin ] - hblas: [ i686-linux, x86_64-linux, x86_64-darwin ] - hblock: [ i686-linux, x86_64-linux, x86_64-darwin ] - hburg: [ i686-linux, x86_64-linux, x86_64-darwin ] - HCard: [ i686-linux, x86_64-linux, x86_64-darwin ] - hcc: [ i686-linux, x86_64-linux, x86_64-darwin ] - hcg-minus-cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - hcg-minus: [ i686-linux, x86_64-linux, x86_64-darwin ] - hcheat: [ i686-linux, x86_64-linux, x86_64-darwin ] - hchesslib: [ i686-linux, x86_64-linux, x86_64-darwin ] - hcltest: [ i686-linux, x86_64-linux, x86_64-darwin ] - hcoap: [ i686-linux, x86_64-linux, x86_64-darwin ] - hcom: [ i686-linux, x86_64-linux, x86_64-darwin ] - hcoord: [ i686-linux, x86_64-linux, x86_64-darwin ] - hcron: [ i686-linux, x86_64-linux, x86_64-darwin ] - hCsound: [ i686-linux, x86_64-linux, x86_64-darwin ] - hcube: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdaemonize-buildfix: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdbc-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - HDBC-mysql: [ i686-linux, x86_64-linux, x86_64-darwin ] - HDBC-postgresql-hstore: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdbc-postgresql-hstore: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdbi-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdbi-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdbi-sqlite: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdbi-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdbi: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdevtools: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdf: [ i686-linux, x86_64-linux, x86_64-darwin ] - hDFA: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdigest: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdirect: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdis86: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdiscount: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdm: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdo: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdocs: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdph-closure: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdph: [ i686-linux, x86_64-linux, x86_64-darwin ] - hdr-histogram: [ i686-linux, x86_64-linux, x86_64-darwin ] - HDRUtils: [ i686-linux, x86_64-linux, x86_64-darwin ] - headergen: [ i686-linux, x86_64-linux, x86_64-darwin ] - heap: [ i686-linux, x86_64-linux, x86_64-darwin ] - heartbeat-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - heatitup-complete: [ i686-linux, x86_64-linux, x86_64-darwin ] - heatitup: [ i686-linux, x86_64-linux, x86_64-darwin ] - hecc: [ i686-linux, x86_64-linux, x86_64-darwin ] - heckle: [ i686-linux, x86_64-linux, x86_64-darwin ] - hedgehog-checkers-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - hedgehog-checkers: [ i686-linux, x86_64-linux, x86_64-darwin ] - hedgehog-gen-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hedi: [ i686-linux, x86_64-linux, x86_64-darwin ] - hedis-config: [ i686-linux, x86_64-linux, x86_64-darwin ] - hedis-pile: [ i686-linux, x86_64-linux, x86_64-darwin ] - hedis-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - hedis-tags: [ i686-linux, x86_64-linux, x86_64-darwin ] - hein: [ i686-linux, x86_64-linux, x86_64-darwin ] - heist-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - heist-async: [ i686-linux, x86_64-linux, x86_64-darwin ] - heist: [ i686-linux, x86_64-linux, x86_64-darwin ] - helics-wai: [ i686-linux, x86_64-linux, x86_64-darwin ] - helics: [ i686-linux, x86_64-linux, x86_64-darwin ] - helisp: [ i686-linux, x86_64-linux, x86_64-darwin ] - helium: [ i686-linux, x86_64-linux, x86_64-darwin ] - helix: [ i686-linux, x86_64-linux, x86_64-darwin ] - hell: [ i686-linux, x86_64-linux, x86_64-darwin ] - hellage: [ i686-linux, x86_64-linux, x86_64-darwin ] - hellnet: [ i686-linux, x86_64-linux, x86_64-darwin ] - helm: [ i686-linux, x86_64-linux, x86_64-darwin ] - help-esb: [ i686-linux, x86_64-linux, x86_64-darwin ] - hemkay: [ i686-linux, x86_64-linux, x86_64-darwin ] - hemokit: [ i686-linux, x86_64-linux, x86_64-darwin ] - hen: [ i686-linux, x86_64-linux, x86_64-darwin ] - henet: [ i686-linux, x86_64-linux, x86_64-darwin ] - hepevt: [ i686-linux, x86_64-linux, x86_64-darwin ] - her-lexer-parsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - her-lexer: [ i686-linux, x86_64-linux, x86_64-darwin ] - HERA: [ i686-linux, x86_64-linux, x86_64-darwin ] - herbalizer: [ i686-linux, x86_64-linux, x86_64-darwin ] - HerbiePlugin: [ i686-linux, x86_64-linux, x86_64-darwin ] - heredocs: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hermes: [ i686-linux, x86_64-linux, x86_64-darwin ] - hermit-syb: [ i686-linux, x86_64-linux, x86_64-darwin ] - hermit: [ i686-linux, x86_64-linux, x86_64-darwin ] - herms: [ i686-linux, x86_64-linux, x86_64-darwin ] - herringbone-embed: [ i686-linux, x86_64-linux, x86_64-darwin ] - herringbone-wai: [ i686-linux, x86_64-linux, x86_64-darwin ] - herringbone: [ i686-linux, x86_64-linux, x86_64-darwin ] - hesh: [ i686-linux, x86_64-linux, x86_64-darwin ] - hesql: [ i686-linux, x86_64-linux, x86_64-darwin ] - hetero-dict: [ i686-linux, x86_64-linux, x86_64-darwin ] - heterogeneous-list-literals: [ i686-linux, x86_64-linux, x86_64-darwin ] - heterolist: [ i686-linux, x86_64-linux, x86_64-darwin ] - hetris: [ i686-linux, x86_64-linux, x86_64-darwin ] - heukarya: [ i686-linux, x86_64-linux, x86_64-darwin ] - hevm: [ i686-linux, x86_64-linux, x86_64-darwin ] - hevolisa-dph: [ i686-linux, x86_64-linux, x86_64-darwin ] - hevolisa: [ i686-linux, x86_64-linux, x86_64-darwin ] - hexchat: [ i686-linux, x86_64-linux, x86_64-darwin ] - hexif: [ i686-linux, x86_64-linux, x86_64-darwin ] - hexmino: [ i686-linux, x86_64-linux, x86_64-darwin ] - hexml-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - hexpat-iteratee: [ i686-linux, x86_64-linux, x86_64-darwin ] - hexpat-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - hexpat-pickle-generic: [ i686-linux, x86_64-linux, x86_64-darwin ] - hexpr: [ i686-linux, x86_64-linux, x86_64-darwin ] - hexpress: [ i686-linux, x86_64-linux, x86_64-darwin ] - hexquote: [ i686-linux, x86_64-linux, x86_64-darwin ] - hext: [ i686-linux, x86_64-linux, x86_64-darwin ] - heyefi: [ i686-linux, x86_64-linux, x86_64-darwin ] - heyting-algebras: [ i686-linux, x86_64-linux, x86_64-darwin ] - hF2: [ i686-linux, x86_64-linux, x86_64-darwin ] - hfann: [ i686-linux, x86_64-linux, x86_64-darwin ] - hfd: [ i686-linux, x86_64-linux, x86_64-darwin ] - hfiar: [ i686-linux, x86_64-linux, x86_64-darwin ] - HFitUI: [ i686-linux, x86_64-linux, x86_64-darwin ] - hfmt: [ i686-linux, x86_64-linux, x86_64-darwin ] - hfoil: [ i686-linux, x86_64-linux, x86_64-darwin ] - hfov: [ i686-linux, x86_64-linux, x86_64-darwin ] - hfractal: [ i686-linux, x86_64-linux, x86_64-darwin ] - HFrequencyQueue: [ i686-linux, x86_64-linux, x86_64-darwin ] - hfusion: [ i686-linux, x86_64-linux, x86_64-darwin ] - hg-buildpackage: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgalib: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgdbmi: [ i686-linux, x86_64-linux, x86_64-darwin ] - HGE2D: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgearman: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgen: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgeometric: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgeometry: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgeos: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgettext: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgis: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgithub: [ i686-linux, x86_64-linux, x86_64-darwin ] - HGL: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgom: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgopher: [ i686-linux, x86_64-linux, x86_64-darwin ] - HGraphStorage: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgrep: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgrev: [ i686-linux, x86_64-linux, x86_64-darwin ] - hgrib: [ i686-linux, x86_64-linux, x86_64-darwin ] - hharp: [ i686-linux, x86_64-linux, x86_64-darwin ] - HHDL: [ i686-linux, x86_64-linux, x86_64-darwin ] - hi3status: [ i686-linux, x86_64-linux, x86_64-darwin ] - hiccup: [ i686-linux, x86_64-linux, x86_64-darwin ] - hichi: [ i686-linux, x86_64-linux, x86_64-darwin ] - hid-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - hieraclus: [ i686-linux, x86_64-linux, x86_64-darwin ] - hierarchical-clustering-diagrams: [ i686-linux, x86_64-linux, x86_64-darwin ] - hierarchical-clustering: [ i686-linux, x86_64-linux, x86_64-darwin ] - hierarchical-exceptions: [ i686-linux, x86_64-linux, x86_64-darwin ] - hierarchical-spectral-clustering: [ i686-linux, x86_64-linux, x86_64-darwin ] - hierarchy: [ i686-linux, x86_64-linux, x86_64-darwin ] - hiernotify: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hieroglyph: [ i686-linux, x86_64-linux, x86_64-darwin ] - HiggsSet: [ i686-linux, x86_64-linux, x86_64-darwin ] - higherorder: [ i686-linux, x86_64-linux, x86_64-darwin ] - highjson-swagger: [ i686-linux, x86_64-linux, x86_64-darwin ] - highjson-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - highjson: [ i686-linux, x86_64-linux, x86_64-darwin ] - highlight-versions: [ i686-linux, x86_64-linux, x86_64-darwin ] - highWaterMark: [ i686-linux, x86_64-linux, x86_64-darwin ] - himg: [ i686-linux, x86_64-linux, x86_64-darwin ] - himpy: [ i686-linux, x86_64-linux, x86_64-darwin ] - hindley-milner: [ i686-linux, x86_64-linux, x86_64-darwin ] - hinduce-classifier-decisiontree: [ i686-linux, x86_64-linux, x86_64-darwin ] - hinduce-classifier: [ i686-linux, x86_64-linux, x86_64-darwin ] - hinduce-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - hinquire: [ i686-linux, x86_64-linux, x86_64-darwin ] - hinstaller: [ i686-linux, x86_64-linux, x86_64-darwin ] - hint-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - hinter: [ i686-linux, x86_64-linux, x86_64-darwin ] - hinterface: [ i686-linux, x86_64-linux, x86_64-darwin ] - hinvaders: [ i686-linux, x86_64-linux, x86_64-darwin ] - hinze-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - hip: [ i686-linux, x86_64-linux, x86_64-darwin ] - hipbot: [ i686-linux, x86_64-linux, x86_64-darwin ] - hipchat-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - hipe: [ i686-linux, x86_64-linux, x86_64-darwin ] - hircules: [ i686-linux, x86_64-linux, x86_64-darwin ] - hirt: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hish: [ i686-linux, x86_64-linux, x86_64-darwin ] - hissmetrics: [ i686-linux, x86_64-linux, x86_64-darwin ] - hist-pl-dawg: [ i686-linux, x86_64-linux, x86_64-darwin ] - hist-pl-fusion: [ i686-linux, x86_64-linux, x86_64-darwin ] - hist-pl-lexicon: [ i686-linux, x86_64-linux, x86_64-darwin ] - hist-pl-lmf: [ i686-linux, x86_64-linux, x86_64-darwin ] - hist-pl-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - hist-pl: [ i686-linux, x86_64-linux, x86_64-darwin ] - historian: [ i686-linux, x86_64-linux, x86_64-darwin ] - hit-graph: [ i686-linux, x86_64-linux, x86_64-darwin ] - hit: [ i686-linux, x86_64-linux, x86_64-darwin ] - HJavaScript: [ i686-linux, x86_64-linux, x86_64-darwin ] - hjcase: [ i686-linux, x86_64-linux, x86_64-darwin ] - hjs: [ i686-linux, x86_64-linux, x86_64-darwin ] - HJScript: [ i686-linux, x86_64-linux, x86_64-darwin ] - hjson-query: [ i686-linux, x86_64-linux, x86_64-darwin ] - hjsonpointer: [ i686-linux, x86_64-linux, x86_64-darwin ] - hjsonschema: [ i686-linux, x86_64-linux, x86_64-darwin ] - HJVM: [ i686-linux, x86_64-linux, x86_64-darwin ] - hlatex: [ i686-linux, x86_64-linux, x86_64-darwin ] - hlbfgsb: [ i686-linux, x86_64-linux, x86_64-darwin ] - hlcm: [ i686-linux, x86_64-linux, x86_64-darwin ] - hleap: [ i686-linux, x86_64-linux, x86_64-darwin ] - HLearn-algebra: [ i686-linux, x86_64-linux, x86_64-darwin ] - HLearn-approximation: [ i686-linux, x86_64-linux, x86_64-darwin ] - HLearn-classification: [ i686-linux, x86_64-linux, x86_64-darwin ] - HLearn-datastructures: [ i686-linux, x86_64-linux, x86_64-darwin ] - HLearn-distributions: [ i686-linux, x86_64-linux, x86_64-darwin ] - hledger-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - hledger-chart: [ i686-linux, x86_64-linux, x86_64-darwin ] - hledger-irr: [ i686-linux, x86_64-linux, x86_64-darwin ] - hledger-vty: [ i686-linux, x86_64-linux, x86_64-darwin ] - hlibBladeRF: [ i686-linux, x86_64-linux, x86_64-darwin ] - hlibev: [ i686-linux, x86_64-linux, x86_64-darwin ] - hlibfam: [ i686-linux, x86_64-linux, x86_64-darwin ] - HList: [ i686-linux, x86_64-linux, x86_64-darwin ] - HListPP: [ i686-linux, x86_64-linux, x86_64-darwin ] - hlogger: [ i686-linux, x86_64-linux, x86_64-darwin ] - HLogger: [ i686-linux, x86_64-linux, x86_64-darwin ] - hlongurl: [ i686-linux, x86_64-linux, x86_64-darwin ] - hlrdb-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - hlrdb: [ i686-linux, x86_64-linux, x86_64-darwin ] - hls: [ i686-linux, x86_64-linux, x86_64-darwin ] - hlwm: [ i686-linux, x86_64-linux, x86_64-darwin ] - hly: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmark: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmarkup: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmatrix-backprop: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmatrix-banded: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmatrix-mmap: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmatrix-morpheus: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmatrix-nipals: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmatrix-sparse: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmatrix-static: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmatrix-sundials: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmatrix-syntax: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmatrix-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmeap-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmeap: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmenu: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmk: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmm-hmatrix: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmm-lapack: [ i686-linux, x86_64-linux, x86_64-darwin ] - HMM: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmm: [ i686-linux, x86_64-linux, x86_64-darwin ] - hMollom: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmp3: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hmpf: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmt-diagrams: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmt: [ i686-linux, x86_64-linux, x86_64-darwin ] - hmumps: [ i686-linux, x86_64-linux, x86_64-darwin ] - hnetcdf: [ i686-linux, x86_64-linux, x86_64-darwin ] - hnix: [ i686-linux, x86_64-linux, x86_64-darwin ] - HNM: [ i686-linux, x86_64-linux, x86_64-darwin ] - hnormalise: [ i686-linux, x86_64-linux, x86_64-darwin ] - ho-rewriting: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoauth2: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoauth: [ i686-linux, x86_64-linux, x86_64-darwin ] - hob: [ i686-linux, x86_64-linux, x86_64-darwin ] - hobbes: [ i686-linux, x86_64-linux, x86_64-darwin ] - hobbits: [ i686-linux, x86_64-linux, x86_64-darwin ] - hocilib: [ i686-linux, x86_64-linux, x86_64-darwin ] - hocker: [ i686-linux, x86_64-linux, x86_64-darwin ] - hodatime: [ i686-linux, x86_64-linux, x86_64-darwin ] - HODE: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hoed: [ i686-linux, x86_64-linux, x86_64-darwin ] - hog: [ i686-linux, x86_64-linux, x86_64-darwin ] - hogg: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoggl: [ i686-linux, x86_64-linux, x86_64-darwin ] - hogre-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - hogre: [ i686-linux, x86_64-linux, x86_64-darwin ] - hois: [ i686-linux, x86_64-linux, x86_64-darwin ] - hol: [ i686-linux, x86_64-linux, x86_64-darwin ] - hold-em: [ i686-linux, x86_64-linux, x86_64-darwin ] - hole: [ i686-linux, x86_64-linux, x86_64-darwin ] - Holumbus-Searchengine: [ i686-linux, x86_64-linux, x86_64-darwin ] - holy-project: [ i686-linux, x86_64-linux, x86_64-darwin ] - homeomorphic: [ i686-linux, x86_64-linux, x86_64-darwin ] - hommage: [ i686-linux, x86_64-linux, x86_64-darwin ] - homoiconic: [ i686-linux, x86_64-linux, x86_64-darwin ] - homplexity: [ i686-linux, x86_64-linux, x86_64-darwin ] - HongoDB: [ i686-linux, x86_64-linux, x86_64-darwin ] - honi: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoobuddy: [ i686-linux, x86_64-linux, x86_64-darwin ] - hood-off: [ i686-linux, x86_64-linux, x86_64-darwin ] - hood2: [ i686-linux, x86_64-linux, x86_64-darwin ] - hood: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoodie: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoodle-builder: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoodle-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoodle-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoodle-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoodle-publish: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoodle-render: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoodle-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoodle: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoogle-index: [ i686-linux, x86_64-linux, x86_64-darwin ] - hooks-dir: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoopl: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoovie: [ i686-linux, x86_64-linux, x86_64-darwin ] - hopencc: [ i686-linux, x86_64-linux, x86_64-darwin ] - hopencl: [ i686-linux, x86_64-linux, x86_64-darwin ] - hopfield: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoppy-docs: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoppy-generator: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoppy-runtime: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoppy-std: [ i686-linux, x86_64-linux, x86_64-darwin ] - hops: [ i686-linux, x86_64-linux, x86_64-darwin ] - hoq: [ i686-linux, x86_64-linux, x86_64-darwin ] - hora: [ i686-linux, x86_64-linux, x86_64-darwin ] - horizon: [ i686-linux, x86_64-linux, x86_64-darwin ] - horname: [ i686-linux, x86_64-linux, x86_64-darwin ] - hosc-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - hosts-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - hothasktags: [ i686-linux, x86_64-linux, x86_64-darwin ] - hotswap: [ i686-linux, x86_64-linux, x86_64-darwin ] - hourglass-fuzzy-parsing: [ i686-linux, x86_64-linux, x86_64-darwin ] - houseman: [ i686-linux, x86_64-linux, x86_64-darwin ] - hp2any-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - hp2any-graph: [ i686-linux, x86_64-linux, x86_64-darwin ] - hp2any-manager: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpack-convert: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpaco-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpaco: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpage: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpapi: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpaste: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpasteit: [ i686-linux, x86_64-linux, x86_64-darwin ] - HPath: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpc-coveralls: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpc-tracer: [ i686-linux, x86_64-linux, x86_64-darwin ] - hPDB-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - hPDB: [ i686-linux, x86_64-linux, x86_64-darwin ] - HPDF: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpdft: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpg: [ i686-linux, x86_64-linux, x86_64-darwin ] - HPi: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpio: [ i686-linux, x86_64-linux, x86_64-darwin ] - hplaylist: [ i686-linux, x86_64-linux, x86_64-darwin ] - HPlot: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpodder: [ i686-linux, x86_64-linux, x86_64-darwin ] - HPong: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpqtypes-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpqtypes: [ i686-linux, x86_64-linux, x86_64-darwin ] - hprotoc-fork: [ i686-linux, x86_64-linux, x86_64-darwin ] - hps-cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - hps-kmeans: [ i686-linux, x86_64-linux, x86_64-darwin ] - hps: [ i686-linux, x86_64-linux, x86_64-darwin ] - hPushover: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpygments: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpylos: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpyrg: [ i686-linux, x86_64-linux, x86_64-darwin ] - hpython: [ i686-linux, x86_64-linux, x86_64-darwin ] - hquantlib: [ i686-linux, x86_64-linux, x86_64-darwin ] - hR: [ i686-linux, x86_64-linux, x86_64-darwin ] - hranker: [ i686-linux, x86_64-linux, x86_64-darwin ] - HRay: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hricket: [ i686-linux, x86_64-linux, x86_64-darwin ] - hricket: [ i686-linux, x86_64-linux, x86_64-darwin ] - hriemann: [ i686-linux, x86_64-linux, x86_64-darwin ] - HROOT-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - HROOT-graf: [ i686-linux, x86_64-linux, x86_64-darwin ] - HROOT-hist: [ i686-linux, x86_64-linux, x86_64-darwin ] - HROOT-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - HROOT-math: [ i686-linux, x86_64-linux, x86_64-darwin ] - HROOT-tree: [ i686-linux, x86_64-linux, x86_64-darwin ] - HROOT: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-blake2: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-carbon-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-cdb: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-conllu: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-di: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-dotnet: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-excelx: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-ffmpeg: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-fltk: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-gchart: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-gen-iface: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-gizapp: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-java: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-json-rpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-logo: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-mesos: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-nombre-generator: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-pgms: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-pkg-config: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-pkpass: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-re: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-rs-notify: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-scrape: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-server-starter: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-snowtify: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-twitter: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-twitterarchiver: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-vcard: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs-watchman: [ i686-linux, x86_64-linux, x86_64-darwin ] - hs2bf: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hs2lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsaml2: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsay: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsbackup: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsbc: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsbencher-codespeed: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsbencher-fusion: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsbencher: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-auditor: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-data: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-db: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-dot: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-forth: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-graphs: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-lang: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-lisp: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-plot: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-process: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-rec: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-rw: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-sf-hsndfile: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-sf: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-unsafe: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsc3-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - hscaffold: [ i686-linux, x86_64-linux, x86_64-darwin ] - hscamwire: [ i686-linux, x86_64-linux, x86_64-darwin ] - hscassandra: [ i686-linux, x86_64-linux, x86_64-darwin ] - hscd: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsclock: [ i686-linux, x86_64-linux, x86_64-darwin ] - hscope: [ i686-linux, x86_64-linux, x86_64-darwin ] - hScraper: [ i686-linux, x86_64-linux, x86_64-darwin ] - hscuid: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsdev: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsdif: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsdip: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsdns-cache: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hsed: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsenv: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsfacter: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsfcsh: [ i686-linux, x86_64-linux, x86_64-darwin ] - HSFFIG: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsfilt: [ i686-linux, x86_64-linux, x86_64-darwin ] - HSGEP: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsgnutls-yj: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsgnutls: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsgsom: [ i686-linux, x86_64-linux, x86_64-darwin ] - HsHaruPDF: [ i686-linux, x86_64-linux, x86_64-darwin ] - HSHHelpers: [ i686-linux, x86_64-linux, x86_64-darwin ] - HsHTSLib: [ i686-linux, x86_64-linux, x86_64-darwin ] - HsHyperEstraier: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsI2C: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsignal: [ i686-linux, x86_64-linux, x86_64-darwin ] - hSimpleDB: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsimport: [ i686-linux, x86_64-linux, x86_64-darwin ] - HsJudy: [ i686-linux, x86_64-linux, x86_64-darwin ] - hskeleton: [ i686-linux, x86_64-linux, x86_64-darwin ] - hslackbuilder: [ i686-linux, x86_64-linux, x86_64-darwin ] - hslibsvm: [ i686-linux, x86_64-linux, x86_64-darwin ] - hslinks: [ i686-linux, x86_64-linux, x86_64-darwin ] - hslogger-reader: [ i686-linux, x86_64-linux, x86_64-darwin ] - hslogstash: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsluv-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsmagick: [ i686-linux, x86_64-linux, x86_64-darwin ] - HSmarty: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsmodetweaks: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hsmtlib: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsmtpclient: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsnock: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsns: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsnsq: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsntp: [ i686-linux, x86_64-linux, x86_64-darwin ] - HSoM: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsoptions: [ i686-linux, x86_64-linux, x86_64-darwin ] - HSoundFile: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsoz: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsp-cgi: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsparql: [ i686-linux, x86_64-linux, x86_64-darwin ] - HsParrot: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspear: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspec-expectations-match: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspec-expectations-pretty: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspec-experimental: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspec-hedgehog: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspec-jenkins: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspec-monad-control: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspec-pg-transact: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspec-setup: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspec-shouldbe: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspec-snap: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspec-structured-formatter: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspec-webdriver: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspec2: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspecVariant: [ i686-linux, x86_64-linux, x86_64-darwin ] - HsPerl5: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspkcs11: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspread: [ i686-linux, x86_64-linux, x86_64-darwin ] - hspresent: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsprocess: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsql-mysql: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsql-odbc: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsql-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsql-sqlite3: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsql: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsqml-datamodel-vinyl: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsqml-datamodel: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsqml-demo-manic: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsqml-demo-morris: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsqml-demo-notes: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsqml-demo-samples: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsqml-morris: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsqml: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsreadability: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsseccomp: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsSqlite3: [ i686-linux, x86_64-linux, x86_64-darwin ] - hssqlppp-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - hssqlppp: [ i686-linux, x86_64-linux, x86_64-darwin ] - HsSVN: [ i686-linux, x86_64-linux, x86_64-darwin ] - hstatistics: [ i686-linux, x86_64-linux, x86_64-darwin ] - hstats: [ i686-linux, x86_64-linux, x86_64-darwin ] - hstest: [ i686-linux, x86_64-linux, x86_64-darwin ] - hstidy: [ i686-linux, x86_64-linux, x86_64-darwin ] - hstorchat: [ i686-linux, x86_64-linux, x86_64-darwin ] - hstox: [ i686-linux, x86_64-linux, x86_64-darwin ] - hstradeking: [ i686-linux, x86_64-linux, x86_64-darwin ] - HStringTemplateHelpers: [ i686-linux, x86_64-linux, x86_64-darwin ] - hstyle: [ i686-linux, x86_64-linux, x86_64-darwin ] - hstzaar: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsubconvert: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsudoku: [ i686-linux, x86_64-linux, x86_64-darwin ] - hswip: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsx-jmacro: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsx-xhtml: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsx: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsXenCtrl: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsyscall: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsyslog-tcp: [ i686-linux, x86_64-linux, x86_64-darwin ] - hsyslog-udp: [ i686-linux, x86_64-linux, x86_64-darwin ] - hszephyr: [ i686-linux, x86_64-linux, x86_64-darwin ] - HTab: [ i686-linux, x86_64-linux, x86_64-darwin ] - hTalos: [ i686-linux, x86_64-linux, x86_64-darwin ] - htar: [ i686-linux, x86_64-linux, x86_64-darwin ] - hTensor: [ i686-linux, x86_64-linux, x86_64-darwin ] - htestu: [ i686-linux, x86_64-linux, x86_64-darwin ] - HTicTacToe: [ i686-linux, x86_64-linux, x86_64-darwin ] - htiled: [ i686-linux, x86_64-linux, x86_64-darwin ] - htlset: [ i686-linux, x86_64-linux, x86_64-darwin ] - html-charset: [ i686-linux, x86_64-linux, x86_64-darwin ] - html-entities: [ i686-linux, x86_64-linux, x86_64-darwin ] - html-kure: [ i686-linux, x86_64-linux, x86_64-darwin ] - html-rules: [ i686-linux, x86_64-linux, x86_64-darwin ] - html-tokenizer: [ i686-linux, x86_64-linux, x86_64-darwin ] - hts: [ i686-linux, x86_64-linux, x86_64-darwin ] - htsn-import: [ i686-linux, x86_64-linux, x86_64-darwin ] - htsn: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-attoparsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-client-auth: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-client-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-client-request-modifiers: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-client-session: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-client-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-conduit-browser: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-dispatch: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-grammar: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-io-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-kinder: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-pony-serve-wai: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-proxy: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-querystring: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-response-decoder: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-shed: [ i686-linux, x86_64-linux, x86_64-darwin ] - http-wget: [ i686-linux, x86_64-linux, x86_64-darwin ] - http2-client-grpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - https-everywhere-rules-raw: [ i686-linux, x86_64-linux, x86_64-darwin ] - https-everywhere-rules: [ i686-linux, x86_64-linux, x86_64-darwin ] - httpspec: [ i686-linux, x86_64-linux, x86_64-darwin ] - htune: [ i686-linux, x86_64-linux, x86_64-darwin ] - htvm: [ i686-linux, x86_64-linux, x86_64-darwin ] - htzaar: [ i686-linux, x86_64-linux, x86_64-darwin ] - hubigraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - huck: [ i686-linux, x86_64-linux, x86_64-darwin ] - HueAPI: [ i686-linux, x86_64-linux, x86_64-darwin ] - huff: [ i686-linux, x86_64-linux, x86_64-darwin ] - huffman: [ i686-linux, x86_64-linux, x86_64-darwin ] - hugs2yc: [ i686-linux, x86_64-linux, x86_64-darwin ] - hulk: [ i686-linux, x86_64-linux, x86_64-darwin ] - HulkImport: [ i686-linux, x86_64-linux, x86_64-darwin ] - human-parse: [ i686-linux, x86_64-linux, x86_64-darwin ] - human-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - hums: [ i686-linux, x86_64-linux, x86_64-darwin ] - HUnit-Diff: [ i686-linux, x86_64-linux, x86_64-darwin ] - hunit-gui: [ i686-linux, x86_64-linux, x86_64-darwin ] - hunit-rematch: [ i686-linux, x86_64-linux, x86_64-darwin ] - hunp: [ i686-linux, x86_64-linux, x86_64-darwin ] - hunspell-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - hunt-searchengine: [ i686-linux, x86_64-linux, x86_64-darwin ] - hunt-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - hup: [ i686-linux, x86_64-linux, x86_64-darwin ] - hurdle: [ i686-linux, x86_64-linux, x86_64-darwin ] - hurriyet: [ i686-linux, x86_64-linux, x86_64-darwin ] - husk-scheme-libs: [ i686-linux, x86_64-linux, x86_64-darwin ] - husk-scheme: [ i686-linux, x86_64-linux, x86_64-darwin ] - husky: [ i686-linux, x86_64-linux, x86_64-darwin ] - hutton: [ i686-linux, x86_64-linux, x86_64-darwin ] - huttons-razor: [ i686-linux, x86_64-linux, x86_64-darwin ] - huzzy: [ i686-linux, x86_64-linux, x86_64-darwin ] - hVOIDP: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-balancedparens: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-bits: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-dsv: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-dump: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-eliasfano: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-excess: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-ip: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-json-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-json-simd: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-packed-vector: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-prim: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-rankselect-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-rankselect: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-simd: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-succinct: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-vector: [ i686-linux, x86_64-linux, x86_64-darwin ] - hw-xml: [ i686-linux, x86_64-linux, x86_64-darwin ] - hwall-auth-iitk: [ i686-linux, x86_64-linux, x86_64-darwin ] - hweblib: [ i686-linux, x86_64-linux, x86_64-darwin ] - hwhile: [ i686-linux, x86_64-linux, x86_64-darwin ] - hworker-ses: [ i686-linux, x86_64-linux, x86_64-darwin ] - hworker: [ i686-linux, x86_64-linux, x86_64-darwin ] - hwormhole: [ i686-linux, x86_64-linux, x86_64-darwin ] - hws: [ i686-linux, x86_64-linux, x86_64-darwin ] - hwsl2-bytevector: [ i686-linux, x86_64-linux, x86_64-darwin ] - hwsl2-reducers: [ i686-linux, x86_64-linux, x86_64-darwin ] - hwsl2: [ i686-linux, x86_64-linux, x86_64-darwin ] - hXmixer: [ i686-linux, x86_64-linux, x86_64-darwin ] - HXMPP: [ i686-linux, x86_64-linux, x86_64-darwin ] - hxmppc: [ i686-linux, x86_64-linux, x86_64-darwin ] - hxournal: [ i686-linux, x86_64-linux, x86_64-darwin ] - HXQ: [ i686-linux, x86_64-linux, x86_64-darwin ] - hxt-pickle-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - hxthelper: [ i686-linux, x86_64-linux, x86_64-darwin ] - hxweb: [ i686-linux, x86_64-linux, x86_64-darwin ] - hyahtzee: [ i686-linux, x86_64-linux, x86_64-darwin ] - hyakko: [ i686-linux, x86_64-linux, x86_64-darwin ] - hybrid: [ i686-linux, x86_64-linux, x86_64-darwin ] - hydra-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - hydra-print: [ i686-linux, x86_64-linux, x86_64-darwin ] - hydrogen-cli-args: [ i686-linux, x86_64-linux, x86_64-darwin ] - hydrogen-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - hydrogen-data: [ i686-linux, x86_64-linux, x86_64-darwin ] - hydrogen-multimap: [ i686-linux, x86_64-linux, x86_64-darwin ] - hydrogen-parsing: [ i686-linux, x86_64-linux, x86_64-darwin ] - hydrogen-prelude-parsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - hydrogen-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - hydrogen-syntax: [ i686-linux, x86_64-linux, x86_64-darwin ] - hydrogen-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - hydrogen: [ i686-linux, x86_64-linux, x86_64-darwin ] - Hydrogen: [ i686-linux, x86_64-linux, x86_64-darwin ] - hyena: [ i686-linux, x86_64-linux, x86_64-darwin ] - hylide: [ i686-linux, x86_64-linux, x86_64-darwin ] - hylolib: [ i686-linux, x86_64-linux, x86_64-darwin ] - hylotab: [ i686-linux, x86_64-linux, x86_64-darwin ] - hyloutils: [ i686-linux, x86_64-linux, x86_64-darwin ] - hyper-haskell-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - hyperdrive: [ i686-linux, x86_64-linux, x86_64-darwin ] - hyperfunctions: [ i686-linux, x86_64-linux, x86_64-darwin ] - hyperion: [ i686-linux, x86_64-linux, x86_64-darwin ] - hyperloglogplus: [ i686-linux, x86_64-linux, x86_64-darwin ] - hyperpublic: [ i686-linux, x86_64-linux, x86_64-darwin ] - hypher: [ i686-linux, x86_64-linux, x86_64-darwin ] - hzulip: [ i686-linux, x86_64-linux, x86_64-darwin ] - i18n: [ i686-linux, x86_64-linux, x86_64-darwin ] - iap-verifier: [ i686-linux, x86_64-linux, x86_64-darwin ] - ib-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - iban: [ i686-linux, x86_64-linux, x86_64-darwin ] - ical: [ i686-linux, x86_64-linux, x86_64-darwin ] - iCalendar: [ i686-linux, x86_64-linux, x86_64-darwin ] - IcoGrid: [ i686-linux, x86_64-linux, x86_64-darwin ] - iconv-typed: [ i686-linux, x86_64-linux, x86_64-darwin ] - ide-backend-common: [ i686-linux, x86_64-linux, x86_64-darwin ] - ide-backend-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - ide-backend: [ i686-linux, x86_64-linux, x86_64-darwin ] - ideas-math: [ i686-linux, x86_64-linux, x86_64-darwin ] - ideas: [ i686-linux, x86_64-linux, x86_64-darwin ] - idempotent: [ i686-linux, x86_64-linux, x86_64-darwin ] - identifiers: [ i686-linux, x86_64-linux, x86_64-darwin ] - idiii: [ i686-linux, x86_64-linux, x86_64-darwin ] - idna2008: [ i686-linux, x86_64-linux, x86_64-darwin ] - idris: [ i686-linux, x86_64-linux, x86_64-darwin ] - IDynamic: [ i686-linux, x86_64-linux, x86_64-darwin ] - ieee-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - ifcxt: [ i686-linux, x86_64-linux, x86_64-darwin ] - IFS: [ i686-linux, x86_64-linux, x86_64-darwin ] - ig: [ i686-linux, x86_64-linux, x86_64-darwin ] - ige-mac-integration: [ i686-linux, x86_64-linux, x86_64-darwin ] - ige: [ i686-linux, x86_64-linux, x86_64-darwin ] - ignore: [ i686-linux, x86_64-linux, x86_64-darwin ] - igraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - igrf: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-basic: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-blaze: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-charts: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-diagrams: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-display: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-gnuplot: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-hatex: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-hvega: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-inline-r: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-juicypixels: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-magic: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-parsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-plot: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-rlangqq: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell-widgets: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihaskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - ihttp: [ i686-linux, x86_64-linux, x86_64-darwin ] - illuminate: [ i686-linux, x86_64-linux, x86_64-darwin ] - imagepaste: [ i686-linux, x86_64-linux, x86_64-darwin ] - imap: [ i686-linux, x86_64-linux, x86_64-darwin ] - imapget: [ i686-linux, x86_64-linux, x86_64-darwin ] - imbib: [ i686-linux, x86_64-linux, x86_64-darwin ] - imgurder: [ i686-linux, x86_64-linux, x86_64-darwin ] - imj-animation: [ i686-linux, x86_64-linux, x86_64-darwin ] - imj-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - imj-game-hamazed: [ i686-linux, x86_64-linux, x86_64-darwin ] - imj-measure-stdout: [ i686-linux, x86_64-linux, x86_64-darwin ] - imj-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - imm: [ i686-linux, x86_64-linux, x86_64-darwin ] - imparse: [ i686-linux, x86_64-linux, x86_64-darwin ] - imperative-edsl-vhdl: [ i686-linux, x86_64-linux, x86_64-darwin ] - imperative-edsl: [ i686-linux, x86_64-linux, x86_64-darwin ] - ImperativeHaskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - implicit-logging: [ i686-linux, x86_64-linux, x86_64-darwin ] - implicit-params: [ i686-linux, x86_64-linux, x86_64-darwin ] - importify: [ i686-linux, x86_64-linux, x86_64-darwin ] - imports: [ i686-linux, x86_64-linux, x86_64-darwin ] - improve: [ i686-linux, x86_64-linux, x86_64-darwin ] - impure-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] - INblobs: [ i686-linux, x86_64-linux, x86_64-darwin ] - inch: [ i686-linux, x86_64-linux, x86_64-darwin ] - inchworm: [ i686-linux, x86_64-linux, x86_64-darwin ] - include-file: [ i686-linux, x86_64-linux, x86_64-darwin ] - incremental-computing: [ i686-linux, x86_64-linux, x86_64-darwin ] - incremental-maps: [ i686-linux, x86_64-linux, x86_64-darwin ] - increments: [ i686-linux, x86_64-linux, x86_64-darwin ] - indents: [ i686-linux, x86_64-linux, x86_64-darwin ] - indexation: [ i686-linux, x86_64-linux, x86_64-darwin ] - IndexedList: [ i686-linux, x86_64-linux, x86_64-darwin ] - indextype: [ i686-linux, x86_64-linux, x86_64-darwin ] - indian-language-font-converter: [ i686-linux, x86_64-linux, x86_64-darwin ] - indices: [ i686-linux, x86_64-linux, x86_64-darwin ] - indieweb-algorithms: [ i686-linux, x86_64-linux, x86_64-darwin ] - inf-interval: [ i686-linux, x86_64-linux, x86_64-darwin ] - infer-upstream: [ i686-linux, x86_64-linux, x86_64-darwin ] - infernu: [ i686-linux, x86_64-linux, x86_64-darwin ] - infinity: [ i686-linux, x86_64-linux, x86_64-darwin ] - infix: [ i686-linux, x86_64-linux, x86_64-darwin ] - InfixApplicative: [ i686-linux, x86_64-linux, x86_64-darwin ] - inflist: [ i686-linux, x86_64-linux, x86_64-darwin ] - informative: [ i686-linux, x86_64-linux, x86_64-darwin ] - inilist: [ i686-linux, x86_64-linux, x86_64-darwin ] - inject-function: [ i686-linux, x86_64-linux, x86_64-darwin ] - inline-java: [ i686-linux, x86_64-linux, x86_64-darwin ] - inline-r: [ i686-linux, x86_64-linux, x86_64-darwin ] - insert-ordered-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] - inserts: [ i686-linux, x86_64-linux, x86_64-darwin ] - inspector-wrecker: [ i686-linux, x86_64-linux, x86_64-darwin ] - instant-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - instant-bytes: [ i686-linux, x86_64-linux, x86_64-darwin ] - instant-deepseq: [ i686-linux, x86_64-linux, x86_64-darwin ] - instant-generics: [ i686-linux, x86_64-linux, x86_64-darwin ] - instant-hashable: [ i686-linux, x86_64-linux, x86_64-darwin ] - instant-zipper: [ i686-linux, x86_64-linux, x86_64-darwin ] - instapaper-sender: [ i686-linux, x86_64-linux, x86_64-darwin ] - instinct: [ i686-linux, x86_64-linux, x86_64-darwin ] - int-multimap: [ i686-linux, x86_64-linux, x86_64-darwin ] - integer-pure: [ i686-linux, x86_64-linux, x86_64-darwin ] - integreat: [ i686-linux, x86_64-linux, x86_64-darwin ] - intel-aes: [ i686-linux, x86_64-linux, x86_64-darwin ] - internetmarke: [ i686-linux, x86_64-linux, x86_64-darwin ] - intero: [ i686-linux, x86_64-linux, x86_64-darwin ] - interpol: [ i686-linux, x86_64-linux, x86_64-darwin ] - interpolatedstring-qq-mwotton: [ i686-linux, x86_64-linux, x86_64-darwin ] - interpolatedstring-qq: [ i686-linux, x86_64-linux, x86_64-darwin ] - interruptible: [ i686-linux, x86_64-linux, x86_64-darwin ] - interval: [ i686-linux, x86_64-linux, x86_64-darwin ] - intricacy: [ i686-linux, x86_64-linux, x86_64-darwin ] - intro-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - introduction-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - introduction: [ i686-linux, x86_64-linux, x86_64-darwin ] - intset: [ i686-linux, x86_64-linux, x86_64-darwin ] - invertible-grammar: [ i686-linux, x86_64-linux, x86_64-darwin ] - invertible-hlist: [ i686-linux, x86_64-linux, x86_64-darwin ] - io-capture: [ i686-linux, x86_64-linux, x86_64-darwin ] - io-reactive: [ i686-linux, x86_64-linux, x86_64-darwin ] - ion: [ i686-linux, x86_64-linux, x86_64-darwin ] - IOR: [ i686-linux, x86_64-linux, x86_64-darwin ] - IORefCAS: [ i686-linux, x86_64-linux, x86_64-darwin ] - iostring: [ i686-linux, x86_64-linux, x86_64-darwin ] - iothread: [ i686-linux, x86_64-linux, x86_64-darwin ] - iotransaction: [ i686-linux, x86_64-linux, x86_64-darwin ] - ip2location: [ i686-linux, x86_64-linux, x86_64-darwin ] - ip2proxy: [ i686-linux, x86_64-linux, x86_64-darwin ] - ip: [ i686-linux, x86_64-linux, x86_64-darwin ] - ipatch: [ i686-linux, x86_64-linux, x86_64-darwin ] - ipc: [ i686-linux, x86_64-linux, x86_64-darwin ] - ipopt-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - iptables-helpers: [ i686-linux, x86_64-linux, x86_64-darwin ] - iptadmin: [ i686-linux, x86_64-linux, x86_64-darwin ] - IPv6DB: [ i686-linux, x86_64-linux, x86_64-darwin ] - ipython-kernel: [ i686-linux, x86_64-linux, x86_64-darwin ] - irc-dcc: [ i686-linux, x86_64-linux, x86_64-darwin ] - irc-fun-bot: [ i686-linux, x86_64-linux, x86_64-darwin ] - irc-fun-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - irc-fun-color: [ i686-linux, x86_64-linux, x86_64-darwin ] - irc-fun-messages: [ i686-linux, x86_64-linux, x86_64-darwin ] - irc-fun-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - Irc: [ i686-linux, x86_64-linux, x86_64-darwin ] - ircbot: [ i686-linux, x86_64-linux, x86_64-darwin ] - iri: [ i686-linux, x86_64-linux, x86_64-darwin ] - iridium: [ i686-linux, x86_64-linux, x86_64-darwin ] - iron-mq: [ i686-linux, x86_64-linux, x86_64-darwin ] - ironforge: [ i686-linux, x86_64-linux, x86_64-darwin ] - irt: [ i686-linux, x86_64-linux, x86_64-darwin ] - isdicom: [ i686-linux, x86_64-linux, x86_64-darwin ] - isevaluated: [ i686-linux, x86_64-linux, x86_64-darwin ] - isiz: [ i686-linux, x86_64-linux, x86_64-darwin ] - ismtp: [ i686-linux, x86_64-linux, x86_64-darwin ] - IsNull: [ i686-linux, x86_64-linux, x86_64-darwin ] - iso8601-duration: [ i686-linux, x86_64-linux, x86_64-darwin ] - isobmff-builder: [ i686-linux, x86_64-linux, x86_64-darwin ] - isohunt: [ i686-linux, x86_64-linux, x86_64-darwin ] - isotope: [ i686-linux, x86_64-linux, x86_64-darwin ] - itcli: [ i686-linux, x86_64-linux, x86_64-darwin ] - itemfield: [ i686-linux, x86_64-linux, x86_64-darwin ] - iter-stats: [ i686-linux, x86_64-linux, x86_64-darwin ] - iteratee-compress: [ i686-linux, x86_64-linux, x86_64-darwin ] - iteratee-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ] - iteratee-parsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - iteratee-stm: [ i686-linux, x86_64-linux, x86_64-darwin ] - iteratee: [ i686-linux, x86_64-linux, x86_64-darwin ] - iterio-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - iterIO: [ i686-linux, x86_64-linux, x86_64-darwin ] - ivor: [ i686-linux, x86_64-linux, x86_64-darwin ] - ivory-backend-c: [ i686-linux, x86_64-linux, x86_64-darwin ] - ivory-bitdata: [ i686-linux, x86_64-linux, x86_64-darwin ] - ivory-eval: [ i686-linux, x86_64-linux, x86_64-darwin ] - ivory-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - ivory-hw: [ i686-linux, x86_64-linux, x86_64-darwin ] - ivory-opts: [ i686-linux, x86_64-linux, x86_64-darwin ] - ivory-quickcheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - ivory-serialize: [ i686-linux, x86_64-linux, x86_64-darwin ] - ivory-stdlib: [ i686-linux, x86_64-linux, x86_64-darwin ] - ivory: [ i686-linux, x86_64-linux, x86_64-darwin ] - ivy-web: [ i686-linux, x86_64-linux, x86_64-darwin ] - ixdopp: [ i686-linux, x86_64-linux, x86_64-darwin ] - ixmonad: [ i686-linux, x86_64-linux, x86_64-darwin ] - ixshader: [ i686-linux, x86_64-linux, x86_64-darwin ] - iyql: [ i686-linux, x86_64-linux, x86_64-darwin ] - j2hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - jack-bindings: [ i686-linux, x86_64-linux, x86_64-darwin ] - JackMiniMix: [ i686-linux, x86_64-linux, x86_64-darwin ] - jackminimix: [ i686-linux, x86_64-linux, x86_64-darwin ] - jacobi-roots: [ i686-linux, x86_64-linux, x86_64-darwin ] - jaeger-flamegraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - jail: [ i686-linux, x86_64-linux, x86_64-darwin ] - jalaali: [ i686-linux, x86_64-linux, x86_64-darwin ] - jalla: [ i686-linux, x86_64-linux, x86_64-darwin ] - jammittools: [ i686-linux, x86_64-linux, x86_64-darwin ] - jarfind: [ i686-linux, x86_64-linux, x86_64-darwin ] - jarify: [ i686-linux, x86_64-linux, x86_64-darwin ] - jason: [ i686-linux, x86_64-linux, x86_64-darwin ] - java-bridge-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - java-bridge: [ i686-linux, x86_64-linux, x86_64-darwin ] - java-character: [ i686-linux, x86_64-linux, x86_64-darwin ] - java-reflect: [ i686-linux, x86_64-linux, x86_64-darwin ] - javascript-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - Javasf: [ i686-linux, x86_64-linux, x86_64-darwin ] - javasf: [ i686-linux, x86_64-linux, x86_64-darwin ] - javav: [ i686-linux, x86_64-linux, x86_64-darwin ] - Javav: [ i686-linux, x86_64-linux, x86_64-darwin ] - jbi: [ i686-linux, x86_64-linux, x86_64-darwin ] - jcdecaux-vls: [ i686-linux, x86_64-linux, x86_64-darwin ] - Jdh: [ i686-linux, x86_64-linux, x86_64-darwin ] - jdi: [ i686-linux, x86_64-linux, x86_64-darwin ] - jenga: [ i686-linux, x86_64-linux, x86_64-darwin ] - jenkinsPlugins2nix: [ i686-linux, x86_64-linux, x86_64-darwin ] - jespresso: [ i686-linux, x86_64-linux, x86_64-darwin ] - jinquantities: [ i686-linux, x86_64-linux, x86_64-darwin ] - jmacro-rpc-happstack: [ i686-linux, x86_64-linux, x86_64-darwin ] - jmacro-rpc-snap: [ i686-linux, x86_64-linux, x86_64-darwin ] - jmacro-rpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - jmacro: [ i686-linux, x86_64-linux, x86_64-darwin ] - jml-web-service: [ i686-linux, x86_64-linux, x86_64-darwin ] - jmonkey: [ i686-linux, x86_64-linux, x86_64-darwin ] - jni: [ i686-linux, x86_64-linux, x86_64-darwin ] - jobqueue: [ i686-linux, x86_64-linux, x86_64-darwin ] - join-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - join: [ i686-linux, x86_64-linux, x86_64-darwin ] - joinlist: [ i686-linux, x86_64-linux, x86_64-darwin ] - jonathanscard: [ i686-linux, x86_64-linux, x86_64-darwin ] - jpeg: [ i686-linux, x86_64-linux, x86_64-darwin ] - js-good-parts: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsaddle-clib: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsaddle-dom: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsaddle-hello: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsaddle-warp: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsaddle-wkwebview: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsaddle: [ i686-linux, x86_64-linux, x86_64-darwin ] - JsContracts: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsmw: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-ast-json-encoder: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-ast-quickcheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-b: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-builder: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-bytes-builder: [ i686-linux, x86_64-linux, x86_64-darwin ] - JSON-Combinator-Examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - JSON-Combinator: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-fu: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-incremental-decoder: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-litobj: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-pointer-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-pointer-hasql: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-pointer: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-python: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-schema: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-togo: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-tools: [ i686-linux, x86_64-linux, x86_64-darwin ] - json-tracer: [ i686-linux, x86_64-linux, x86_64-darwin ] - json2-hdbc: [ i686-linux, x86_64-linux, x86_64-darwin ] - json2: [ i686-linux, x86_64-linux, x86_64-darwin ] - JSONb: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsonextfilter: [ i686-linux, x86_64-linux, x86_64-darwin ] - JsonGrammar: [ i686-linux, x86_64-linux, x86_64-darwin ] - JSONParser: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsonresume: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsonrpc-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsons-to-schema: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsonschema-gen: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsonsql: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsontsv: [ i686-linux, x86_64-linux, x86_64-darwin ] - jsonxlsx: [ i686-linux, x86_64-linux, x86_64-darwin ] - jspath: [ i686-linux, x86_64-linux, x86_64-darwin ] - juandelacosa: [ i686-linux, x86_64-linux, x86_64-darwin ] - judge: [ i686-linux, x86_64-linux, x86_64-darwin ] - judy: [ i686-linux, x86_64-linux, x86_64-darwin ] - juicy-gcode: [ i686-linux, x86_64-linux, x86_64-darwin ] - JuicyPixels-canvas: [ i686-linux, x86_64-linux, x86_64-darwin ] - JunkDB-driver-gdbm: [ i686-linux, x86_64-linux, x86_64-darwin ] - JunkDB-driver-hashtables: [ i686-linux, x86_64-linux, x86_64-darwin ] - JunkDB: [ i686-linux, x86_64-linux, x86_64-darwin ] - JuPyTer-notebook: [ i686-linux, x86_64-linux, x86_64-darwin ] - jupyter: [ i686-linux, x86_64-linux, x86_64-darwin ] - JustParse: [ i686-linux, x86_64-linux, x86_64-darwin ] - jvm-batching: [ i686-linux, x86_64-linux, x86_64-darwin ] - jvm-binary: [ i686-linux, x86_64-linux, x86_64-darwin ] - jvm-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - jvm-streaming: [ i686-linux, x86_64-linux, x86_64-darwin ] - jvm: [ i686-linux, x86_64-linux, x86_64-darwin ] - JYU-Utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - kademlia: [ i686-linux, x86_64-linux, x86_64-darwin ] - kafka-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - kafka-device-glut: [ i686-linux, x86_64-linux, x86_64-darwin ] - kafka-device-joystick: [ i686-linux, x86_64-linux, x86_64-darwin ] - kafka-device-leap: [ i686-linux, x86_64-linux, x86_64-darwin ] - kafka-device-spacenav: [ i686-linux, x86_64-linux, x86_64-darwin ] - kafka-device-vrpn: [ i686-linux, x86_64-linux, x86_64-darwin ] - kafka-device: [ i686-linux, x86_64-linux, x86_64-darwin ] - kaleidoscope: [ i686-linux, x86_64-linux, x86_64-darwin ] - Kalman: [ i686-linux, x86_64-linux, x86_64-darwin ] - kalman: [ i686-linux, x86_64-linux, x86_64-darwin ] - kangaroo: [ i686-linux, x86_64-linux, x86_64-darwin ] - kanji: [ i686-linux, x86_64-linux, x86_64-darwin ] - kansas-comet: [ i686-linux, x86_64-linux, x86_64-darwin ] - kansas-lava-cores: [ i686-linux, x86_64-linux, x86_64-darwin ] - kansas-lava-papilio: [ i686-linux, x86_64-linux, x86_64-darwin ] - kansas-lava-shake: [ i686-linux, x86_64-linux, x86_64-darwin ] - kansas-lava: [ i686-linux, x86_64-linux, x86_64-darwin ] - karakuri: [ i686-linux, x86_64-linux, x86_64-darwin ] - karps: [ i686-linux, x86_64-linux, x86_64-darwin ] - katip-elasticsearch: [ i686-linux, x86_64-linux, x86_64-darwin ] - katip-rollbar: [ i686-linux, x86_64-linux, x86_64-darwin ] - katip-scalyr-scribe: [ i686-linux, x86_64-linux, x86_64-darwin ] - katip-syslog: [ i686-linux, x86_64-linux, x86_64-darwin ] - katt: [ i686-linux, x86_64-linux, x86_64-darwin ] - kawaii: [ i686-linux, x86_64-linux, x86_64-darwin ] - kazura-queue: [ i686-linux, x86_64-linux, x86_64-darwin ] - kd-tree: [ i686-linux, x86_64-linux, x86_64-darwin ] - kdesrc-build-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - kdt: [ i686-linux, x86_64-linux, x86_64-darwin ] - keccak: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-i18n: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-mvc-environment-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-mvc-model-lightmodel: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-mvc-model-protectedmodel: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-mvc-solutions-config: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-mvc-solutions-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-mvc-view-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-reactive-fs: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-reactive-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-reactive-network: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-reactive-polling: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-reactive-wx: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-reactive-yampa: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-reactivelenses: [ i686-linux, x86_64-linux, x86_64-darwin ] - keera-hails-reactivevalues: [ i686-linux, x86_64-linux, x86_64-darwin ] - Ketchup: [ i686-linux, x86_64-linux, x86_64-darwin ] - keter: [ i686-linux, x86_64-linux, x86_64-darwin ] - kevin: [ i686-linux, x86_64-linux, x86_64-darwin ] - keyed: [ i686-linux, x86_64-linux, x86_64-darwin ] - keyring: [ i686-linux, x86_64-linux, x86_64-darwin ] - keysafe: [ i686-linux, x86_64-linux, x86_64-darwin ] - keystore: [ i686-linux, x86_64-linux, x86_64-darwin ] - keyvaluehash: [ i686-linux, x86_64-linux, x86_64-darwin ] - keyword-args: [ i686-linux, x86_64-linux, x86_64-darwin ] - khph: [ i686-linux, x86_64-linux, x86_64-darwin ] - kicad-data: [ i686-linux, x86_64-linux, x86_64-darwin ] - kickass-torrents-dump-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - kickchan: [ i686-linux, x86_64-linux, x86_64-darwin ] - kif-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - kit: [ i686-linux, x86_64-linux, x86_64-darwin ] - kleene: [ i686-linux, x86_64-linux, x86_64-darwin ] - kmeans-par: [ i686-linux, x86_64-linux, x86_64-darwin ] - kmeans-vector: [ i686-linux, x86_64-linux, x86_64-darwin ] - kmp-dfa: [ i686-linux, x86_64-linux, x86_64-darwin ] - knead-arithmetic: [ i686-linux, x86_64-linux, x86_64-darwin ] - knead: [ i686-linux, x86_64-linux, x86_64-darwin ] - knots: [ i686-linux, x86_64-linux, x86_64-darwin ] - koellner-phonetic: [ i686-linux, x86_64-linux, x86_64-darwin ] - korfu: [ i686-linux, x86_64-linux, x86_64-darwin ] - kqueue: [ i686-linux, x86_64-linux, x86_64-darwin ] - krapsh: [ i686-linux, x86_64-linux, x86_64-darwin ] - Kriens: [ i686-linux, x86_64-linux, x86_64-darwin ] - krpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - KSP: [ i686-linux, x86_64-linux, x86_64-darwin ] - ktx: [ i686-linux, x86_64-linux, x86_64-darwin ] - kure-your-boilerplate: [ i686-linux, x86_64-linux, x86_64-darwin ] - kure: [ i686-linux, x86_64-linux, x86_64-darwin ] - KyotoCabinet: [ i686-linux, x86_64-linux, x86_64-darwin ] - l-bfgs-b: [ i686-linux, x86_64-linux, x86_64-darwin ] - L-seed: [ i686-linux, x86_64-linux, x86_64-darwin ] - labeled-graph: [ i686-linux, x86_64-linux, x86_64-darwin ] - laborantin-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - labsat: [ i686-linux, x86_64-linux, x86_64-darwin ] - labyrinth-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - labyrinth: [ i686-linux, x86_64-linux, x86_64-darwin ] - lagrangian: [ i686-linux, x86_64-linux, x86_64-darwin ] - laika: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambda-bridge: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambda-calculator: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambda-canvas: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambda-devs: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambda-options: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambda-toolbox: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambda2js: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdaBase: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdabot-haskell-plugins: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdabot-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdabot-zulip: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdabot: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdacms-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdacms-media: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdacube-bullet: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdacube-compiler: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdacube-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdacube-edsl: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdacube-engine: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdacube-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdacube-gl: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdacube-ir: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdacube-samples: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdacube: [ i686-linux, x86_64-linux, x86_64-darwin ] - LambdaDesigner: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdaFeed: [ i686-linux, x86_64-linux, x86_64-darwin ] - LambdaHack: [ i686-linux, x86_64-linux, x86_64-darwin ] - LambdaINet: [ i686-linux, x86_64-linux, x86_64-darwin ] - Lambdajudge: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdaLit: [ i686-linux, x86_64-linux, x86_64-darwin ] - LambdaNet: [ i686-linux, x86_64-linux, x86_64-darwin ] - LambdaPrettyQuote: [ i686-linux, x86_64-linux, x86_64-darwin ] - LambdaShell: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdatex: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdatwit: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdaya-bus: [ i686-linux, x86_64-linux, x86_64-darwin ] - lambdiff: [ i686-linux, x86_64-linux, x86_64-darwin ] - lame-tester: [ i686-linux, x86_64-linux, x86_64-darwin ] - lame: [ i686-linux, x86_64-linux, x86_64-darwin ] - lang: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-bash: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-boogie: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-c-comments: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-c-inline: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-conf: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-css: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-dart: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-dockerfile: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-dot: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-ecmascript-analysis: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-eiffel: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-elm: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-gcl: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-go: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-guess: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-hcl: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-java-classfile: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-kort: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-lua-qq: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-lua2: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-lua: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-mixal: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-ninja: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-oberon: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-objc: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-ocaml: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-openscad: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-pig: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-puppet: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-python-colour: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-python-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-python: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-qux: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-sh: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-spelling: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-sqlite: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-thrift: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-typescript: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-vhdl: [ i686-linux, x86_64-linux, x86_64-darwin ] - language-webidl: [ i686-linux, x86_64-linux, x86_64-darwin ] - lapack: [ i686-linux, x86_64-linux, x86_64-darwin ] - Lastik: [ i686-linux, x86_64-linux, x86_64-darwin ] - lat: [ i686-linux, x86_64-linux, x86_64-darwin ] - latest-npm-version: [ i686-linux, x86_64-linux, x86_64-darwin ] - latex-formulae-hakyll: [ i686-linux, x86_64-linux, x86_64-darwin ] - latex-formulae-image: [ i686-linux, x86_64-linux, x86_64-darwin ] - latex-formulae-pandoc: [ i686-linux, x86_64-linux, x86_64-darwin ] - latex-function-tables: [ i686-linux, x86_64-linux, x86_64-darwin ] - LATS: [ i686-linux, x86_64-linux, x86_64-darwin ] - lattices: [ i686-linux, x86_64-linux, x86_64-darwin ] - launchpad-control: [ i686-linux, x86_64-linux, x86_64-darwin ] - lawless-concurrent-machines: [ i686-linux, x86_64-linux, x86_64-darwin ] - layers-game: [ i686-linux, x86_64-linux, x86_64-darwin ] - layers: [ i686-linux, x86_64-linux, x86_64-darwin ] - layout-bootstrap: [ i686-linux, x86_64-linux, x86_64-darwin ] - layout-rules: [ i686-linux, x86_64-linux, x86_64-darwin ] - layout: [ i686-linux, x86_64-linux, x86_64-darwin ] - layouting: [ i686-linux, x86_64-linux, x86_64-darwin ] - lazy-hash-cache: [ i686-linux, x86_64-linux, x86_64-darwin ] - lazy-hash: [ i686-linux, x86_64-linux, x86_64-darwin ] - lazy-io-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - lazyarray: [ i686-linux, x86_64-linux, x86_64-darwin ] - lazyset: [ i686-linux, x86_64-linux, x86_64-darwin ] - lazysplines: [ i686-linux, x86_64-linux, x86_64-darwin ] - LazyVault: [ i686-linux, x86_64-linux, x86_64-darwin ] - ld-intervals: [ i686-linux, x86_64-linux, x86_64-darwin ] - lda: [ i686-linux, x86_64-linux, x86_64-darwin ] - ldap-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - ldapply: [ i686-linux, x86_64-linux, x86_64-darwin ] - ldif: [ i686-linux, x86_64-linux, x86_64-darwin ] - leaf: [ i686-linux, x86_64-linux, x86_64-darwin ] - leaky: [ i686-linux, x86_64-linux, x86_64-darwin ] - leapseconds: [ i686-linux, x86_64-linux, x86_64-darwin ] - learn-physics-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - learn-physics: [ i686-linux, x86_64-linux, x86_64-darwin ] - learn: [ i686-linux, x86_64-linux, x86_64-darwin ] - Learning: [ i686-linux, x86_64-linux, x86_64-darwin ] - leetify: [ i686-linux, x86_64-linux, x86_64-darwin ] - legion-discovery-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - legion-discovery: [ i686-linux, x86_64-linux, x86_64-darwin ] - legion-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - legion: [ i686-linux, x86_64-linux, x86_64-darwin ] - leksah-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - lendingclub: [ i686-linux, x86_64-linux, x86_64-darwin ] - lens-accelerate: [ i686-linux, x86_64-linux, x86_64-darwin ] - lens-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - lens-text-encoding: [ i686-linux, x86_64-linux, x86_64-darwin ] - lens-time: [ i686-linux, x86_64-linux, x86_64-darwin ] - lens-tutorial: [ i686-linux, x86_64-linux, x86_64-darwin ] - lensref: [ i686-linux, x86_64-linux, x86_64-darwin ] - lentil: [ i686-linux, x86_64-linux, x86_64-darwin ] - level-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - Level0: [ i686-linux, x86_64-linux, x86_64-darwin ] - levmar-chart: [ i686-linux, x86_64-linux, x86_64-darwin ] - levmar: [ i686-linux, x86_64-linux, x86_64-darwin ] - lfst: [ i686-linux, x86_64-linux, x86_64-darwin ] - lgtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - lha: [ i686-linux, x86_64-linux, x86_64-darwin ] - lhae: [ i686-linux, x86_64-linux, x86_64-darwin ] - lhc: [ i686-linux, x86_64-linux, x86_64-darwin ] - lhe: [ i686-linux, x86_64-linux, x86_64-darwin ] - lhs2TeX-hl: [ i686-linux, x86_64-linux, x86_64-darwin ] - lhslatex: [ i686-linux, x86_64-linux, x86_64-darwin ] - LibClang: [ i686-linux, x86_64-linux, x86_64-darwin ] - libconfig: [ i686-linux, x86_64-linux, x86_64-darwin ] - libcspm: [ i686-linux, x86_64-linux, x86_64-darwin ] - libexpect: [ i686-linux, x86_64-linux, x86_64-darwin ] - libGenI: [ i686-linux, x86_64-linux, x86_64-darwin ] - libhbb: [ i686-linux, x86_64-linux, x86_64-darwin ] - libinfluxdb: [ i686-linux, x86_64-linux, x86_64-darwin ] - libjenkins: [ i686-linux, x86_64-linux, x86_64-darwin ] - liblastfm: [ i686-linux, x86_64-linux, x86_64-darwin ] - liblawless: [ i686-linux, x86_64-linux, x86_64-darwin ] - liblinear-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - libltdl: [ i686-linux, x86_64-linux, x86_64-darwin ] - libmolude: [ i686-linux, x86_64-linux, x86_64-darwin ] - libnotify: [ i686-linux, x86_64-linux, x86_64-darwin ] - liboath-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - liboleg: [ i686-linux, x86_64-linux, x86_64-darwin ] - libpafe: [ i686-linux, x86_64-linux, x86_64-darwin ] - libpq: [ i686-linux, x86_64-linux, x86_64-darwin ] - librandomorg: [ i686-linux, x86_64-linux, x86_64-darwin ] - librato: [ i686-linux, x86_64-linux, x86_64-darwin ] - libravatar: [ i686-linux, x86_64-linux, x86_64-darwin ] - libsystemd-daemon: [ i686-linux, x86_64-linux, x86_64-darwin ] - libsystemd-journal: [ i686-linux, x86_64-linux, x86_64-darwin ] - libtagc: [ i686-linux, x86_64-linux, x86_64-darwin ] - libxls: [ i686-linux, x86_64-linux, x86_64-darwin ] - libxml-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - libxslt: [ i686-linux, x86_64-linux, x86_64-darwin ] - licensor: [ i686-linux, x86_64-linux, x86_64-darwin ] - life-sync: [ i686-linux, x86_64-linux, x86_64-darwin ] - lifted-base-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - lifted-protolude: [ i686-linux, x86_64-linux, x86_64-darwin ] - lifter: [ i686-linux, x86_64-linux, x86_64-darwin ] - ligature: [ i686-linux, x86_64-linux, x86_64-darwin ] - lightning-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - lighttpd-conf-qq: [ i686-linux, x86_64-linux, x86_64-darwin ] - lighttpd-conf: [ i686-linux, x86_64-linux, x86_64-darwin ] - lilypond: [ i686-linux, x86_64-linux, x86_64-darwin ] - Limit: [ i686-linux, x86_64-linux, x86_64-darwin ] - limp-cbc: [ i686-linux, x86_64-linux, x86_64-darwin ] - linda: [ i686-linux, x86_64-linux, x86_64-darwin ] - linden: [ i686-linux, x86_64-linux, x86_64-darwin ] - line: [ i686-linux, x86_64-linux, x86_64-darwin ] - linear-accelerate: [ i686-linux, x86_64-linux, x86_64-darwin ] - linear-algebra-cblas: [ i686-linux, x86_64-linux, x86_64-darwin ] - linear-circuit: [ i686-linux, x86_64-linux, x86_64-darwin ] - linear-code: [ i686-linux, x86_64-linux, x86_64-darwin ] - linear-maps: [ i686-linux, x86_64-linux, x86_64-darwin ] - linear-opengl: [ i686-linux, x86_64-linux, x86_64-darwin ] - linear-vect: [ i686-linux, x86_64-linux, x86_64-darwin ] - linearmap-category: [ i686-linux, x86_64-linux, x86_64-darwin ] - linearscan-hoopl: [ i686-linux, x86_64-linux, x86_64-darwin ] - linearscan: [ i686-linux, x86_64-linux, x86_64-darwin ] - LinearSplit: [ i686-linux, x86_64-linux, x86_64-darwin ] - lines-of-action: [ i686-linux, x86_64-linux, x86_64-darwin ] - link-relations: [ i686-linux, x86_64-linux, x86_64-darwin ] - LinkChecker: [ i686-linux, x86_64-linux, x86_64-darwin ] - linkchk: [ i686-linux, x86_64-linux, x86_64-darwin ] - linkcore: [ i686-linux, x86_64-linux, x86_64-darwin ] - linked-list-with-iterator: [ i686-linux, x86_64-linux, x86_64-darwin ] - linkedhashmap: [ i686-linux, x86_64-linux, x86_64-darwin ] - linklater: [ i686-linux, x86_64-linux, x86_64-darwin ] - linode-v4: [ i686-linux, x86_64-linux, x86_64-darwin ] - linux-blkid: [ i686-linux, x86_64-linux, x86_64-darwin ] - linux-cgroup: [ i686-linux, x86_64-linux, x86_64-darwin ] - linux-inotify: [ i686-linux, x86_64-linux, x86_64-darwin ] - linux-kmod: [ i686-linux, x86_64-linux, x86_64-darwin ] - linux-perf: [ i686-linux, x86_64-linux, x86_64-darwin ] - linux-ptrace: [ i686-linux, x86_64-linux, x86_64-darwin ] - linx-gateway: [ i686-linux, x86_64-linux, x86_64-darwin ] - lio-eci11: [ i686-linux, x86_64-linux, x86_64-darwin ] - lio-fs: [ i686-linux, x86_64-linux, x86_64-darwin ] - lio-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - lio: [ i686-linux, x86_64-linux, x86_64-darwin ] - lipsum-gen: [ i686-linux, x86_64-linux, x86_64-darwin ] - liquid-fixpoint: [ i686-linux, x86_64-linux, x86_64-darwin ] - liquid: [ i686-linux, x86_64-linux, x86_64-darwin ] - liquidhaskell-cabal-demo: [ i686-linux, x86_64-linux, x86_64-darwin ] - liquidhaskell-cabal: [ i686-linux, x86_64-linux, x86_64-darwin ] - liquidhaskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - list-fusion-probe: [ i686-linux, x86_64-linux, x86_64-darwin ] - list-mux: [ i686-linux, x86_64-linux, x86_64-darwin ] - list-prompt: [ i686-linux, x86_64-linux, x86_64-darwin ] - list-remote-forwards: [ i686-linux, x86_64-linux, x86_64-darwin ] - list-t-attoparsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - list-t-html-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - list-t-http-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - list-t-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - list-zipper: [ i686-linux, x86_64-linux, x86_64-darwin ] - listenbrainz-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - listlike-instances: [ i686-linux, x86_64-linux, x86_64-darwin ] - ListT: [ i686-linux, x86_64-linux, x86_64-darwin ] - lit: [ i686-linux, x86_64-linux, x86_64-darwin ] - literals: [ i686-linux, x86_64-linux, x86_64-darwin ] - live-sequencer: [ i686-linux, x86_64-linux, x86_64-darwin ] - ll-picosat: [ i686-linux, x86_64-linux, x86_64-darwin ] - llsd: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-analysis: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-base-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-base-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-data-interop: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-ffi: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-general-pure: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-general-quote: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-general: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-hs-pretty: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-ht: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-pkg-config: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-pretty-bc-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-pretty: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm-tools: [ i686-linux, x86_64-linux, x86_64-darwin ] - llvm: [ i686-linux, x86_64-linux, x86_64-darwin ] - lmonad-yesod: [ i686-linux, x86_64-linux, x86_64-darwin ] - lmonad: [ i686-linux, x86_64-linux, x86_64-darwin ] - load-balancing: [ i686-linux, x86_64-linux, x86_64-darwin ] - load-font: [ i686-linux, x86_64-linux, x86_64-darwin ] - local-search: [ i686-linux, x86_64-linux, x86_64-darwin ] - localize: [ i686-linux, x86_64-linux, x86_64-darwin ] - located-monad-logger: [ i686-linux, x86_64-linux, x86_64-darwin ] - located: [ i686-linux, x86_64-linux, x86_64-darwin ] - loch: [ i686-linux, x86_64-linux, x86_64-darwin ] - locked-poll: [ i686-linux, x86_64-linux, x86_64-darwin ] - log-effect-syslog: [ i686-linux, x86_64-linux, x86_64-darwin ] - log-effect: [ i686-linux, x86_64-linux, x86_64-darwin ] - log-elasticsearch: [ i686-linux, x86_64-linux, x86_64-darwin ] - log-postgres: [ i686-linux, x86_64-linux, x86_64-darwin ] - log-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - log-warper: [ i686-linux, x86_64-linux, x86_64-darwin ] - log2json: [ i686-linux, x86_64-linux, x86_64-darwin ] - log: [ i686-linux, x86_64-linux, x86_64-darwin ] - logentries: [ i686-linux, x86_64-linux, x86_64-darwin ] - logger: [ i686-linux, x86_64-linux, x86_64-darwin ] - logging-effect-extra-file: [ i686-linux, x86_64-linux, x86_64-darwin ] - logging-effect-extra-handler: [ i686-linux, x86_64-linux, x86_64-darwin ] - logging-effect-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - logging-facade-journald: [ i686-linux, x86_64-linux, x86_64-darwin ] - logic-classes: [ i686-linux, x86_64-linux, x86_64-darwin ] - logic-TPTP: [ i686-linux, x86_64-linux, x86_64-darwin ] - Logic: [ i686-linux, x86_64-linux, x86_64-darwin ] - LogicGrowsOnTrees-MPI: [ i686-linux, x86_64-linux, x86_64-darwin ] - LogicGrowsOnTrees-network: [ i686-linux, x86_64-linux, x86_64-darwin ] - LogicGrowsOnTrees-processes: [ i686-linux, x86_64-linux, x86_64-darwin ] - LogicGrowsOnTrees: [ i686-linux, x86_64-linux, x86_64-darwin ] - logplex-parse: [ i686-linux, x86_64-linux, x86_64-darwin ] - lojban: [ i686-linux, x86_64-linux, x86_64-darwin ] - lojbanParser: [ i686-linux, x86_64-linux, x86_64-darwin ] - lojbanXiragan: [ i686-linux, x86_64-linux, x86_64-darwin ] - lojysamban: [ i686-linux, x86_64-linux, x86_64-darwin ] - lol-apps: [ i686-linux, x86_64-linux, x86_64-darwin ] - lol-benches: [ i686-linux, x86_64-linux, x86_64-darwin ] - lol-calculus: [ i686-linux, x86_64-linux, x86_64-darwin ] - lol-cpp: [ i686-linux, x86_64-linux, x86_64-darwin ] - lol-repa: [ i686-linux, x86_64-linux, x86_64-darwin ] - lol-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - lol-typing: [ i686-linux, x86_64-linux, x86_64-darwin ] - lol: [ i686-linux, x86_64-linux, x86_64-darwin ] - loli: [ i686-linux, x86_64-linux, x86_64-darwin ] - longboi: [ i686-linux, x86_64-linux, x86_64-darwin ] - lookup-tables: [ i686-linux, x86_64-linux, x86_64-darwin ] - loop-effin: [ i686-linux, x86_64-linux, x86_64-darwin ] - loop-while: [ i686-linux, x86_64-linux, x86_64-darwin ] - loops: [ i686-linux, x86_64-linux, x86_64-darwin ] - loopy: [ i686-linux, x86_64-linux, x86_64-darwin ] - lord: [ i686-linux, x86_64-linux, x86_64-darwin ] - lorem: [ i686-linux, x86_64-linux, x86_64-darwin ] - loris: [ i686-linux, x86_64-linux, x86_64-darwin ] - loshadka: [ i686-linux, x86_64-linux, x86_64-darwin ] - lostcities: [ i686-linux, x86_64-linux, x86_64-darwin ] - loup: [ i686-linux, x86_64-linux, x86_64-darwin ] - lowgl: [ i686-linux, x86_64-linux, x86_64-darwin ] - lp-diagrams-svg: [ i686-linux, x86_64-linux, x86_64-darwin ] - lp-diagrams: [ i686-linux, x86_64-linux, x86_64-darwin ] - ls-usb: [ i686-linux, x86_64-linux, x86_64-darwin ] - lscabal: [ i686-linux, x86_64-linux, x86_64-darwin ] - LslPlus: [ i686-linux, x86_64-linux, x86_64-darwin ] - lsp-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - lsystem: [ i686-linux, x86_64-linux, x86_64-darwin ] - ltk: [ i686-linux, x86_64-linux, x86_64-darwin ] - lua-bc: [ i686-linux, x86_64-linux, x86_64-darwin ] - luachunk: [ i686-linux, x86_64-linux, x86_64-darwin ] - luautils: [ i686-linux, x86_64-linux, x86_64-darwin ] - lucid-svg: [ i686-linux, x86_64-linux, x86_64-darwin ] - lucienne: [ i686-linux, x86_64-linux, x86_64-darwin ] - Lucu: [ i686-linux, x86_64-linux, x86_64-darwin ] - lui: [ i686-linux, x86_64-linux, x86_64-darwin ] - luis-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - luka: [ i686-linux, x86_64-linux, x86_64-darwin ] - luminance-samples: [ i686-linux, x86_64-linux, x86_64-darwin ] - luminance: [ i686-linux, x86_64-linux, x86_64-darwin ] - lushtags: [ i686-linux, x86_64-linux, x86_64-darwin ] - luthor: [ i686-linux, x86_64-linux, x86_64-darwin ] - lvish: [ i686-linux, x86_64-linux, x86_64-darwin ] - lvmlib: [ i686-linux, x86_64-linux, x86_64-darwin ] - lxc: [ i686-linux, x86_64-linux, x86_64-darwin ] - lxd-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - lye: [ i686-linux, x86_64-linux, x86_64-darwin ] - Lykah: [ i686-linux, x86_64-linux, x86_64-darwin ] - lz4-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - lzma-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - lzma-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - maam: [ i686-linux, x86_64-linux, x86_64-darwin ] - macbeth-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - machinecell: [ i686-linux, x86_64-linux, x86_64-darwin ] - machines-amazonka: [ i686-linux, x86_64-linux, x86_64-darwin ] - machines-process: [ i686-linux, x86_64-linux, x86_64-darwin ] - machines-zlib: [ i686-linux, x86_64-linux, x86_64-darwin ] - maclight: [ i686-linux, x86_64-linux, x86_64-darwin ] - macos-corelibs: [ i686-linux, x86_64-linux, x86_64-darwin ] - macosx-make-standalone: [ i686-linux, x86_64-linux, x86_64-darwin ] - madlang: [ i686-linux, x86_64-linux, x86_64-darwin ] - mage: [ i686-linux, x86_64-linux, x86_64-darwin ] - magic-wormhole: [ i686-linux, x86_64-linux, x86_64-darwin ] - magicbane: [ i686-linux, x86_64-linux, x86_64-darwin ] - MagicHaskeller: [ i686-linux, x86_64-linux, x86_64-darwin ] - magico: [ i686-linux, x86_64-linux, x86_64-darwin ] - magma: [ i686-linux, x86_64-linux, x86_64-darwin ] - mahoro: [ i686-linux, x86_64-linux, x86_64-darwin ] - maid: [ i686-linux, x86_64-linux, x86_64-darwin ] - mailbox-count: [ i686-linux, x86_64-linux, x86_64-darwin ] - mailchimp-subscribe: [ i686-linux, x86_64-linux, x86_64-darwin ] - mailchimp: [ i686-linux, x86_64-linux, x86_64-darwin ] - MailchimpSimple: [ i686-linux, x86_64-linux, x86_64-darwin ] - mailgun: [ i686-linux, x86_64-linux, x86_64-darwin ] - majordomo: [ i686-linux, x86_64-linux, x86_64-darwin ] - majority: [ i686-linux, x86_64-linux, x86_64-darwin ] - make-hard-links: [ i686-linux, x86_64-linux, x86_64-darwin ] - make-monofoldable-foldable: [ i686-linux, x86_64-linux, x86_64-darwin ] - make-package: [ i686-linux, x86_64-linux, x86_64-darwin ] - makedo: [ i686-linux, x86_64-linux, x86_64-darwin ] - makefile: [ i686-linux, x86_64-linux, x86_64-darwin ] - mallard: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-anything: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-curl: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-editor: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-filemanager: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-imageviewer: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-ircclient: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-mplayer: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-pdfviewer: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-processmanager: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-template: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-terminal: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee-welcome: [ i686-linux, x86_64-linux, x86_64-darwin ] - manatee: [ i686-linux, x86_64-linux, x86_64-darwin ] - mandrill: [ i686-linux, x86_64-linux, x86_64-darwin ] - mandulia: [ i686-linux, x86_64-linux, x86_64-darwin ] - mangopay: [ i686-linux, x86_64-linux, x86_64-darwin ] - manifold-random: [ i686-linux, x86_64-linux, x86_64-darwin ] - manifolds-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - manifolds: [ i686-linux, x86_64-linux, x86_64-darwin ] - map-exts: [ i686-linux, x86_64-linux, x86_64-darwin ] - map-syntax: [ i686-linux, x86_64-linux, x86_64-darwin ] - Mapping: [ i686-linux, x86_64-linux, x86_64-darwin ] - mappy: [ i686-linux, x86_64-linux, x86_64-darwin ] - marionetta: [ i686-linux, x86_64-linux, x86_64-darwin ] - markdown-kate: [ i686-linux, x86_64-linux, x86_64-darwin ] - markdown-pap: [ i686-linux, x86_64-linux, x86_64-darwin ] - markdown2svg: [ i686-linux, x86_64-linux, x86_64-darwin ] - marked-pretty: [ i686-linux, x86_64-linux, x86_64-darwin ] - markov-processes: [ i686-linux, x86_64-linux, x86_64-darwin ] - markup: [ i686-linux, x86_64-linux, x86_64-darwin ] - marmalade-upload: [ i686-linux, x86_64-linux, x86_64-darwin ] - marquise: [ i686-linux, x86_64-linux, x86_64-darwin ] - mars: [ i686-linux, x86_64-linux, x86_64-darwin ] - marvin-interpolate: [ i686-linux, x86_64-linux, x86_64-darwin ] - marvin: [ i686-linux, x86_64-linux, x86_64-darwin ] - marxup: [ i686-linux, x86_64-linux, x86_64-darwin ] - masakazu-bot: [ i686-linux, x86_64-linux, x86_64-darwin ] - MASMGen: [ i686-linux, x86_64-linux, x86_64-darwin ] - master-plan: [ i686-linux, x86_64-linux, x86_64-darwin ] - matchers: [ i686-linux, x86_64-linux, x86_64-darwin ] - mathblog: [ i686-linux, x86_64-linux, x86_64-darwin ] - mathflow: [ i686-linux, x86_64-linux, x86_64-darwin ] - mathlink: [ i686-linux, x86_64-linux, x86_64-darwin ] - matplotlib: [ i686-linux, x86_64-linux, x86_64-darwin ] - matrix-as-xyz: [ i686-linux, x86_64-linux, x86_64-darwin ] - matsuri: [ i686-linux, x86_64-linux, x86_64-darwin ] - matterhorn: [ i686-linux, x86_64-linux, x86_64-darwin ] - maude: [ i686-linux, x86_64-linux, x86_64-darwin ] - maxent-learner-hw-gui: [ i686-linux, x86_64-linux, x86_64-darwin ] - maxent-learner-hw: [ i686-linux, x86_64-linux, x86_64-darwin ] - maxent: [ i686-linux, x86_64-linux, x86_64-darwin ] - maxsharing: [ i686-linux, x86_64-linux, x86_64-darwin ] - maybench: [ i686-linux, x86_64-linux, x86_64-darwin ] - MaybeT-monads-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - MaybeT-transformers: [ i686-linux, x86_64-linux, x86_64-darwin ] - MaybeT: [ i686-linux, x86_64-linux, x86_64-darwin ] - MazesOfMonad: [ i686-linux, x86_64-linux, x86_64-darwin ] - MBot: [ i686-linux, x86_64-linux, x86_64-darwin ] - mbox-tools: [ i686-linux, x86_64-linux, x86_64-darwin ] - MC-Fold-DP: [ i686-linux, x86_64-linux, x86_64-darwin ] - mcl: [ i686-linux, x86_64-linux, x86_64-darwin ] - mcm: [ i686-linux, x86_64-linux, x86_64-darwin ] - mcmaster-gloss-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - mcmc-samplers: [ i686-linux, x86_64-linux, x86_64-darwin ] - mcmc-synthesis: [ i686-linux, x86_64-linux, x86_64-darwin ] - mcpi: [ i686-linux, x86_64-linux, x86_64-darwin ] - mdapi: [ i686-linux, x86_64-linux, x86_64-darwin ] - mdcat: [ i686-linux, x86_64-linux, x86_64-darwin ] - mDNSResponder-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - mdp: [ i686-linux, x86_64-linux, x86_64-darwin ] - mealstrom: [ i686-linux, x86_64-linux, x86_64-darwin ] - MeanShift: [ i686-linux, x86_64-linux, x86_64-darwin ] - Measure: [ i686-linux, x86_64-linux, x86_64-darwin ] - mecab: [ i686-linux, x86_64-linux, x86_64-darwin ] - mech: [ i686-linux, x86_64-linux, x86_64-darwin ] - Mecha: [ i686-linux, x86_64-linux, x86_64-darwin ] - Mechs: [ i686-linux, x86_64-linux, x86_64-darwin ] - mechs: [ i686-linux, x86_64-linux, x86_64-darwin ] - med-module: [ i686-linux, x86_64-linux, x86_64-darwin ] - mediabus-fdk-aac: [ i686-linux, x86_64-linux, x86_64-darwin ] - mediabus-rtp: [ i686-linux, x86_64-linux, x86_64-darwin ] - mediabus: [ i686-linux, x86_64-linux, x86_64-darwin ] - median-stream: [ i686-linux, x86_64-linux, x86_64-darwin ] - mediawiki2latex: [ i686-linux, x86_64-linux, x86_64-darwin ] - mediawiki: [ i686-linux, x86_64-linux, x86_64-darwin ] - medium-sdk-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - mellon-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - mellon-gpio: [ i686-linux, x86_64-linux, x86_64-darwin ] - mellon-web: [ i686-linux, x86_64-linux, x86_64-darwin ] - melody: [ i686-linux, x86_64-linux, x86_64-darwin ] - memcache-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - memcache-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - memcached-binary: [ i686-linux, x86_64-linux, x86_64-darwin ] - meminfo: [ i686-linux, x86_64-linux, x86_64-darwin ] - memis: [ i686-linux, x86_64-linux, x86_64-darwin ] - memo-ptr: [ i686-linux, x86_64-linux, x86_64-darwin ] - memoization-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - memorable-bits: [ i686-linux, x86_64-linux, x86_64-darwin ] - memorypool: [ i686-linux, x86_64-linux, x86_64-darwin ] - menoh: [ i686-linux, x86_64-linux, x86_64-darwin ] - mercury-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - merkle-patricia-db: [ i686-linux, x86_64-linux, x86_64-darwin ] - messagepack-rpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - messagepack: [ i686-linux, x86_64-linux, x86_64-darwin ] - messente: [ i686-linux, x86_64-linux, x86_64-darwin ] - meta-misc: [ i686-linux, x86_64-linux, x86_64-darwin ] - meta-par-accelerate: [ i686-linux, x86_64-linux, x86_64-darwin ] - meta-par: [ i686-linux, x86_64-linux, x86_64-darwin ] - metadata: [ i686-linux, x86_64-linux, x86_64-darwin ] - MetaHDBC: [ i686-linux, x86_64-linux, x86_64-darwin ] - MetaObject: [ i686-linux, x86_64-linux, x86_64-darwin ] - metaplug: [ i686-linux, x86_64-linux, x86_64-darwin ] - metar-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - metar: [ i686-linux, x86_64-linux, x86_64-darwin ] - metric: [ i686-linux, x86_64-linux, x86_64-darwin ] - Metrics: [ i686-linux, x86_64-linux, x86_64-darwin ] - metricsd-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - metronome: [ i686-linux, x86_64-linux, x86_64-darwin ] - mezzo: [ i686-linux, x86_64-linux, x86_64-darwin ] - mezzolens: [ i686-linux, x86_64-linux, x86_64-darwin ] - MFlow: [ i686-linux, x86_64-linux, x86_64-darwin ] - mgeneric: [ i686-linux, x86_64-linux, x86_64-darwin ] - Mhailist: [ i686-linux, x86_64-linux, x86_64-darwin ] - MHask: [ i686-linux, x86_64-linux, x86_64-darwin ] - mi: [ i686-linux, x86_64-linux, x86_64-darwin ] - Michelangelo: [ i686-linux, x86_64-linux, x86_64-darwin ] - miconix-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - micro-recursion-schemes: [ i686-linux, x86_64-linux, x86_64-darwin ] - microaeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - microformats2-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - microformats2-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - microgroove: [ i686-linux, x86_64-linux, x86_64-darwin ] - microlens-each: [ i686-linux, x86_64-linux, x86_64-darwin ] - micrologger: [ i686-linux, x86_64-linux, x86_64-darwin ] - microsoft-translator: [ i686-linux, x86_64-linux, x86_64-darwin ] - MicrosoftTranslator: [ i686-linux, x86_64-linux, x86_64-darwin ] - mida: [ i686-linux, x86_64-linux, x86_64-darwin ] - midi-music-box: [ i686-linux, x86_64-linux, x86_64-darwin ] - midi-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - midimory: [ i686-linux, x86_64-linux, x86_64-darwin ] - midisurface: [ i686-linux, x86_64-linux, x86_64-darwin ] - mighttpd: [ i686-linux, x86_64-linux, x86_64-darwin ] - mighty-metropolis: [ i686-linux, x86_64-linux, x86_64-darwin ] - mikmod: [ i686-linux, x86_64-linux, x86_64-darwin ] - mikrokosmos: [ i686-linux, x86_64-linux, x86_64-darwin ] - miku: [ i686-linux, x86_64-linux, x86_64-darwin ] - milena: [ i686-linux, x86_64-linux, x86_64-darwin ] - mime-directory: [ i686-linux, x86_64-linux, x86_64-darwin ] - minecraft-data: [ i686-linux, x86_64-linux, x86_64-darwin ] - minesweeper: [ i686-linux, x86_64-linux, x86_64-darwin ] - miniforth: [ i686-linux, x86_64-linux, x86_64-darwin ] - minilens: [ i686-linux, x86_64-linux, x86_64-darwin ] - minimung: [ i686-linux, x86_64-linux, x86_64-darwin ] - minio-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - minions: [ i686-linux, x86_64-linux, x86_64-darwin ] - minioperational: [ i686-linux, x86_64-linux, x86_64-darwin ] - miniplex: [ i686-linux, x86_64-linux, x86_64-darwin ] - minirotate: [ i686-linux, x86_64-linux, x86_64-darwin ] - ministg: [ i686-linux, x86_64-linux, x86_64-darwin ] - minst-idx: [ i686-linux, x86_64-linux, x86_64-darwin ] - mios: [ i686-linux, x86_64-linux, x86_64-darwin ] - mirror-tweet: [ i686-linux, x86_64-linux, x86_64-darwin ] - miss-porcelain: [ i686-linux, x86_64-linux, x86_64-darwin ] - miss: [ i686-linux, x86_64-linux, x86_64-darwin ] - missing-py2: [ i686-linux, x86_64-linux, x86_64-darwin ] - MissingK: [ i686-linux, x86_64-linux, x86_64-darwin ] - MissingPy: [ i686-linux, x86_64-linux, x86_64-darwin ] - mixed-strategies: [ i686-linux, x86_64-linux, x86_64-darwin ] - mixpanel-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - mkbndl: [ i686-linux, x86_64-linux, x86_64-darwin ] - mkcabal: [ i686-linux, x86_64-linux, x86_64-darwin ] - ml-w: [ i686-linux, x86_64-linux, x86_64-darwin ] - mlist: [ i686-linux, x86_64-linux, x86_64-darwin ] - mltool: [ i686-linux, x86_64-linux, x86_64-darwin ] - mmtf: [ i686-linux, x86_64-linux, x86_64-darwin ] - mmtl-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - mmtl: [ i686-linux, x86_64-linux, x86_64-darwin ] - moan: [ i686-linux, x86_64-linux, x86_64-darwin ] - Mobile-Legends-Hack-Cheats: [ i686-linux, x86_64-linux, x86_64-darwin ] - model: [ i686-linux, x86_64-linux, x86_64-darwin ] - modelicaparser: [ i686-linux, x86_64-linux, x86_64-darwin ] - modify-fasta: [ i686-linux, x86_64-linux, x86_64-darwin ] - modsplit: [ i686-linux, x86_64-linux, x86_64-darwin ] - modular-arithmetic: [ i686-linux, x86_64-linux, x86_64-darwin ] - modular-prelude-classy: [ i686-linux, x86_64-linux, x86_64-darwin ] - modular-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - modular: [ i686-linux, x86_64-linux, x86_64-darwin ] - modularity: [ i686-linux, x86_64-linux, x86_64-darwin ] - module-management: [ i686-linux, x86_64-linux, x86_64-darwin ] - modulespection: [ i686-linux, x86_64-linux, x86_64-darwin ] - modulo: [ i686-linux, x86_64-linux, x86_64-darwin ] - Moe: [ i686-linux, x86_64-linux, x86_64-darwin ] - moe: [ i686-linux, x86_64-linux, x86_64-darwin ] - MoeDict: [ i686-linux, x86_64-linux, x86_64-darwin ] - mohws: [ i686-linux, x86_64-linux, x86_64-darwin ] - mole: [ i686-linux, x86_64-linux, x86_64-darwin ] - mollie-api-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-atom-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-atom: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-codec: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-dijkstra: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-exception: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-fork: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-interleave: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-levels: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-lgbt: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-lrs: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-memo: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-mersenne-random: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-mock: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-open: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-parallel-progressbar: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-ran: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-recorder: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-resumption: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-state: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-statevar: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-ste: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-stlike-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-stlike-stm: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-supply: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-timing: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-tx: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-unify: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-var: [ i686-linux, x86_64-linux, x86_64-darwin ] - monad-wrap: [ i686-linux, x86_64-linux, x86_64-darwin ] - monadacme: [ i686-linux, x86_64-linux, x86_64-darwin ] - MonadCatchIO-mtl-foreign: [ i686-linux, x86_64-linux, x86_64-darwin ] - MonadCatchIO-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ] - MonadCatchIO-transformers-foreign: [ i686-linux, x86_64-linux, x86_64-darwin ] - MonadCatchIO-transformers: [ i686-linux, x86_64-linux, x86_64-darwin ] - MonadCompose: [ i686-linux, x86_64-linux, x86_64-darwin ] - monadiccp-gecode: [ i686-linux, x86_64-linux, x86_64-darwin ] - monadiccp: [ i686-linux, x86_64-linux, x86_64-darwin ] - Monadius: [ i686-linux, x86_64-linux, x86_64-darwin ] - MonadLab: [ i686-linux, x86_64-linux, x86_64-darwin ] - monadLib-compose: [ i686-linux, x86_64-linux, x86_64-darwin ] - monadloc-pp: [ i686-linux, x86_64-linux, x86_64-darwin ] - monadlog: [ i686-linux, x86_64-linux, x86_64-darwin ] - monadplus: [ i686-linux, x86_64-linux, x86_64-darwin ] - monads-fd: [ i686-linux, x86_64-linux, x86_64-darwin ] - MonadStack: [ i686-linux, x86_64-linux, x86_64-darwin ] - monarch: [ i686-linux, x86_64-linux, x86_64-darwin ] - Monaris: [ i686-linux, x86_64-linux, x86_64-darwin ] - Monatron-IO: [ i686-linux, x86_64-linux, x86_64-darwin ] - Monatron: [ i686-linux, x86_64-linux, x86_64-darwin ] - mondo: [ i686-linux, x86_64-linux, x86_64-darwin ] - monetdb-mapi: [ i686-linux, x86_64-linux, x86_64-darwin ] - money: [ i686-linux, x86_64-linux, x86_64-darwin ] - mongodb-queue: [ i686-linux, x86_64-linux, x86_64-darwin ] - mongrel2-handler: [ i686-linux, x86_64-linux, x86_64-darwin ] - monitor: [ i686-linux, x86_64-linux, x86_64-darwin ] - monky: [ i686-linux, x86_64-linux, x86_64-darwin ] - mono-foldable: [ i686-linux, x86_64-linux, x86_64-darwin ] - Monocle: [ i686-linux, x86_64-linux, x86_64-darwin ] - monoid-absorbing: [ i686-linux, x86_64-linux, x86_64-darwin ] - monoid-owns: [ i686-linux, x86_64-linux, x86_64-darwin ] - monoid-statistics: [ i686-linux, x86_64-linux, x86_64-darwin ] - monoidplus: [ i686-linux, x86_64-linux, x86_64-darwin ] - monoids: [ i686-linux, x86_64-linux, x86_64-darwin ] - monopati: [ i686-linux, x86_64-linux, x86_64-darwin ] - monte-carlo: [ i686-linux, x86_64-linux, x86_64-darwin ] - monzo: [ i686-linux, x86_64-linux, x86_64-darwin ] - moo: [ i686-linux, x86_64-linux, x86_64-darwin ] - moonshine: [ i686-linux, x86_64-linux, x86_64-darwin ] - more-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] - morfette: [ i686-linux, x86_64-linux, x86_64-darwin ] - morfeusz: [ i686-linux, x86_64-linux, x86_64-darwin ] - morph: [ i686-linux, x86_64-linux, x86_64-darwin ] - morphisms-functors-inventory: [ i686-linux, x86_64-linux, x86_64-darwin ] - morphisms-functors: [ i686-linux, x86_64-linux, x86_64-darwin ] - morphisms-objects: [ i686-linux, x86_64-linux, x86_64-darwin ] - morte: [ i686-linux, x86_64-linux, x86_64-darwin ] - mosaico-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - moto-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - moto: [ i686-linux, x86_64-linux, x86_64-darwin ] - mount: [ i686-linux, x86_64-linux, x86_64-darwin ] - movie-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - mp: [ i686-linux, x86_64-linux, x86_64-darwin ] - mpdmate: [ i686-linux, x86_64-linux, x86_64-darwin ] - mpi-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - mpppc: [ i686-linux, x86_64-linux, x86_64-darwin ] - mpretty: [ i686-linux, x86_64-linux, x86_64-darwin ] - mpris: [ i686-linux, x86_64-linux, x86_64-darwin ] - mprover: [ i686-linux, x86_64-linux, x86_64-darwin ] - mps: [ i686-linux, x86_64-linux, x86_64-darwin ] - mpvguihs: [ i686-linux, x86_64-linux, x86_64-darwin ] - mqtt-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - mqtt: [ i686-linux, x86_64-linux, x86_64-darwin ] - mrifk: [ i686-linux, x86_64-linux, x86_64-darwin ] - mrm: [ i686-linux, x86_64-linux, x86_64-darwin ] - ms: [ i686-linux, x86_64-linux, x86_64-darwin ] - msgpack-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - msgpack-idl: [ i686-linux, x86_64-linux, x86_64-darwin ] - msgpack-rpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - msgpack: [ i686-linux, x86_64-linux, x86_64-darwin ] - msh: [ i686-linux, x86_64-linux, x86_64-darwin ] - msi-kb-backlit: [ i686-linux, x86_64-linux, x86_64-darwin ] - MSQueue: [ i686-linux, x86_64-linux, x86_64-darwin ] - MTGBuilder: [ i686-linux, x86_64-linux, x86_64-darwin ] - mtgoxapi: [ i686-linux, x86_64-linux, x86_64-darwin ] - mtl-evil-instances: [ i686-linux, x86_64-linux, x86_64-darwin ] - mtl-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - mtl-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - mtlx: [ i686-linux, x86_64-linux, x86_64-darwin ] - mtp: [ i686-linux, x86_64-linux, x86_64-darwin ] - MuCheck-Hspec: [ i686-linux, x86_64-linux, x86_64-darwin ] - MuCheck-HUnit: [ i686-linux, x86_64-linux, x86_64-darwin ] - MuCheck-QuickCheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - MuCheck-SmallCheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - MuCheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - mud: [ i686-linux, x86_64-linux, x86_64-darwin ] - mulang: [ i686-linux, x86_64-linux, x86_64-darwin ] - multext-east-msd: [ i686-linux, x86_64-linux, x86_64-darwin ] - multi-cabal: [ i686-linux, x86_64-linux, x86_64-darwin ] - multi-instance: [ i686-linux, x86_64-linux, x86_64-darwin ] - multiaddr: [ i686-linux, x86_64-linux, x86_64-darwin ] - multiarg: [ i686-linux, x86_64-linux, x86_64-darwin ] - multifile: [ i686-linux, x86_64-linux, x86_64-darwin ] - multifocal: [ i686-linux, x86_64-linux, x86_64-darwin ] - multihash: [ i686-linux, x86_64-linux, x86_64-darwin ] - multilinear-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - multilinear: [ i686-linux, x86_64-linux, x86_64-darwin ] - multipass: [ i686-linux, x86_64-linux, x86_64-darwin ] - multipath: [ i686-linux, x86_64-linux, x86_64-darwin ] - multiplate-simplified: [ i686-linux, x86_64-linux, x86_64-darwin ] - multirec-alt-deriver: [ i686-linux, x86_64-linux, x86_64-darwin ] - multirec-binary: [ i686-linux, x86_64-linux, x86_64-darwin ] - multiset-comb: [ i686-linux, x86_64-linux, x86_64-darwin ] - multisetrewrite: [ i686-linux, x86_64-linux, x86_64-darwin ] - multistate: [ i686-linux, x86_64-linux, x86_64-darwin ] - multivariant: [ i686-linux, x86_64-linux, x86_64-darwin ] - Munkres-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - muon: [ i686-linux, x86_64-linux, x86_64-darwin ] - murder: [ i686-linux, x86_64-linux, x86_64-darwin ] - murmur: [ i686-linux, x86_64-linux, x86_64-darwin ] - murmurhash3: [ i686-linux, x86_64-linux, x86_64-darwin ] - mushu: [ i686-linux, x86_64-linux, x86_64-darwin ] - music-graphics: [ i686-linux, x86_64-linux, x86_64-darwin ] - music-parts: [ i686-linux, x86_64-linux, x86_64-darwin ] - music-pitch: [ i686-linux, x86_64-linux, x86_64-darwin ] - music-preludes: [ i686-linux, x86_64-linux, x86_64-darwin ] - music-score: [ i686-linux, x86_64-linux, x86_64-darwin ] - music-sibelius: [ i686-linux, x86_64-linux, x86_64-darwin ] - music-suite: [ i686-linux, x86_64-linux, x86_64-darwin ] - music-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - musicbrainz-email: [ i686-linux, x86_64-linux, x86_64-darwin ] - musicxml2: [ i686-linux, x86_64-linux, x86_64-darwin ] - musicxml: [ i686-linux, x86_64-linux, x86_64-darwin ] - mustache-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - mutable-iter: [ i686-linux, x86_64-linux, x86_64-darwin ] - MutationOrder: [ i686-linux, x86_64-linux, x86_64-darwin ] - mute-unmute: [ i686-linux, x86_64-linux, x86_64-darwin ] - mvar-lock: [ i686-linux, x86_64-linux, x86_64-darwin ] - mvc-updates: [ i686-linux, x86_64-linux, x86_64-darwin ] - mvc: [ i686-linux, x86_64-linux, x86_64-darwin ] - mvclient: [ i686-linux, x86_64-linux, x86_64-darwin ] - mwc-random-accelerate: [ i686-linux, x86_64-linux, x86_64-darwin ] - mxnet-dataiter: [ i686-linux, x86_64-linux, x86_64-darwin ] - mxnet-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - mxnet-nn: [ i686-linux, x86_64-linux, x86_64-darwin ] - mxnet-nnvm: [ i686-linux, x86_64-linux, x86_64-darwin ] - mxnet: [ i686-linux, x86_64-linux, x86_64-darwin ] - my-package-testing: [ i686-linux, x86_64-linux, x86_64-darwin ] - my-test-docs: [ i686-linux, x86_64-linux, x86_64-darwin ] - myanimelist-export: [ i686-linux, x86_64-linux, x86_64-darwin ] - myo: [ i686-linux, x86_64-linux, x86_64-darwin ] - MyPrimes: [ i686-linux, x86_64-linux, x86_64-darwin ] - mysnapsession-example: [ i686-linux, x86_64-linux, x86_64-darwin ] - mysnapsession: [ i686-linux, x86_64-linux, x86_64-darwin ] - mysql-effect: [ i686-linux, x86_64-linux, x86_64-darwin ] - mysql-haskell-openssl: [ i686-linux, x86_64-linux, x86_64-darwin ] - mysql-simple-quasi: [ i686-linux, x86_64-linux, x86_64-darwin ] - mysql-simple-typed: [ i686-linux, x86_64-linux, x86_64-darwin ] - mystem: [ i686-linux, x86_64-linux, x86_64-darwin ] - myTestlll: [ i686-linux, x86_64-linux, x86_64-darwin ] - mywatch: [ i686-linux, x86_64-linux, x86_64-darwin ] - mzv: [ i686-linux, x86_64-linux, x86_64-darwin ] - n-ary-functor: [ i686-linux, x86_64-linux, x86_64-darwin ] - n-tuple: [ i686-linux, x86_64-linux, x86_64-darwin ] - nagios-plugin-ekg: [ i686-linux, x86_64-linux, x86_64-darwin ] - nakadi-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - named-lock: [ i686-linux, x86_64-linux, x86_64-darwin ] - namelist: [ i686-linux, x86_64-linux, x86_64-darwin ] - namespace: [ i686-linux, x86_64-linux, x86_64-darwin ] - nano-hmac: [ i686-linux, x86_64-linux, x86_64-darwin ] - nano-md5: [ i686-linux, x86_64-linux, x86_64-darwin ] - nanocurses: [ i686-linux, x86_64-linux, x86_64-darwin ] - nanomsg-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - nanomsg: [ i686-linux, x86_64-linux, x86_64-darwin ] - nanoparsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - NanoProlog: [ i686-linux, x86_64-linux, x86_64-darwin ] - nanovg-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - nanovg: [ i686-linux, x86_64-linux, x86_64-darwin ] - nanq: [ i686-linux, x86_64-linux, x86_64-darwin ] - naqsha: [ i686-linux, x86_64-linux, x86_64-darwin ] - narc: [ i686-linux, x86_64-linux, x86_64-darwin ] - nat-sized-numbers: [ i686-linux, x86_64-linux, x86_64-darwin ] - nationstates: [ i686-linux, x86_64-linux, x86_64-darwin ] - natural-number: [ i686-linux, x86_64-linux, x86_64-darwin ] - natural: [ i686-linux, x86_64-linux, x86_64-darwin ] - naver-translate: [ i686-linux, x86_64-linux, x86_64-darwin ] - nc-indicators: [ i686-linux, x86_64-linux, x86_64-darwin ] - NearContextAlgebra: [ i686-linux, x86_64-linux, x86_64-darwin ] - neat: [ i686-linux, x86_64-linux, x86_64-darwin ] - needle: [ i686-linux, x86_64-linux, x86_64-darwin ] - neet: [ i686-linux, x86_64-linux, x86_64-darwin ] - nehe-tuts: [ i686-linux, x86_64-linux, x86_64-darwin ] - neither: [ i686-linux, x86_64-linux, x86_64-darwin ] - neko-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - neko-obfs: [ i686-linux, x86_64-linux, x86_64-darwin ] - Neks: [ i686-linux, x86_64-linux, x86_64-darwin ] - nemesis-titan: [ i686-linux, x86_64-linux, x86_64-darwin ] - nerf: [ i686-linux, x86_64-linux, x86_64-darwin ] - nero-wai: [ i686-linux, x86_64-linux, x86_64-darwin ] - nero-warp: [ i686-linux, x86_64-linux, x86_64-darwin ] - nero: [ i686-linux, x86_64-linux, x86_64-darwin ] - nest: [ i686-linux, x86_64-linux, x86_64-darwin ] - nested-routes: [ i686-linux, x86_64-linux, x86_64-darwin ] - nested-sequence: [ i686-linux, x86_64-linux, x86_64-darwin ] - NestedFunctor: [ i686-linux, x86_64-linux, x86_64-darwin ] - nestedmap: [ i686-linux, x86_64-linux, x86_64-darwin ] - net-spider: [ i686-linux, x86_64-linux, x86_64-darwin ] - netclock: [ i686-linux, x86_64-linux, x86_64-darwin ] - netcore: [ i686-linux, x86_64-linux, x86_64-darwin ] - netease-fm: [ i686-linux, x86_64-linux, x86_64-darwin ] - netlines: [ i686-linux, x86_64-linux, x86_64-darwin ] - netrc: [ i686-linux, x86_64-linux, x86_64-darwin ] - netrium: [ i686-linux, x86_64-linux, x86_64-darwin ] - NetSNMP: [ i686-linux, x86_64-linux, x86_64-darwin ] - netspec: [ i686-linux, x86_64-linux, x86_64-darwin ] - netstring-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - nettle-frp: [ i686-linux, x86_64-linux, x86_64-darwin ] - nettle-netkit: [ i686-linux, x86_64-linux, x86_64-darwin ] - nettle-openflow: [ i686-linux, x86_64-linux, x86_64-darwin ] - netwire-input-javascript: [ i686-linux, x86_64-linux, x86_64-darwin ] - netwire-vinylglfw-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-address: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-anonymous-i2p: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-api-support: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-bsd: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-builder: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-bytestring: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-connection: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-hans: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-interfacerequest: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-messagepack-rpc-websocket: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-minihttp: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-msgpack-rpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-netpacket: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-protocol-xmpp: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-rpca: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-service: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-simple-sockaddr: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-stream: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-topic-models: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-transport-amqp: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-transport-inmemory: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-transport-tcp: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-transport-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-transport-zeromq: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-voicetext: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-wai-router: [ i686-linux, x86_64-linux, x86_64-darwin ] - network-websocket: [ i686-linux, x86_64-linux, x86_64-darwin ] - networked-game: [ i686-linux, x86_64-linux, x86_64-darwin ] - neural-network-blashs: [ i686-linux, x86_64-linux, x86_64-darwin ] - neural-network-hmatrix: [ i686-linux, x86_64-linux, x86_64-darwin ] - neural: [ i686-linux, x86_64-linux, x86_64-darwin ] - newports: [ i686-linux, x86_64-linux, x86_64-darwin ] - newt: [ i686-linux, x86_64-linux, x86_64-darwin ] - newtype-deriving: [ i686-linux, x86_64-linux, x86_64-darwin ] - newtype-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - next-ref: [ i686-linux, x86_64-linux, x86_64-darwin ] - nextstep-plist: [ i686-linux, x86_64-linux, x86_64-darwin ] - nfc: [ i686-linux, x86_64-linux, x86_64-darwin ] - ngrams-loader: [ i686-linux, x86_64-linux, x86_64-darwin ] - NGrams: [ i686-linux, x86_64-linux, x86_64-darwin ] - niagra: [ i686-linux, x86_64-linux, x86_64-darwin ] - nibblestring: [ i686-linux, x86_64-linux, x86_64-darwin ] - nice-html: [ i686-linux, x86_64-linux, x86_64-darwin ] - nicovideo-translator: [ i686-linux, x86_64-linux, x86_64-darwin ] - nikepub: [ i686-linux, x86_64-linux, x86_64-darwin ] - nimber: [ i686-linux, x86_64-linux, x86_64-darwin ] - Ninjas: [ i686-linux, x86_64-linux, x86_64-darwin ] - nirum: [ i686-linux, x86_64-linux, x86_64-darwin ] - nitro: [ i686-linux, x86_64-linux, x86_64-darwin ] - nix-eval: [ i686-linux, x86_64-linux, x86_64-darwin ] - nixfromnpm: [ i686-linux, x86_64-linux, x86_64-darwin ] - nixpkgs-update: [ i686-linux, x86_64-linux, x86_64-darwin ] - nkjp: [ i686-linux, x86_64-linux, x86_64-darwin ] - nlp-scores-scripts: [ i686-linux, x86_64-linux, x86_64-darwin ] - nlp-scores: [ i686-linux, x86_64-linux, x86_64-darwin ] - nm: [ i686-linux, x86_64-linux, x86_64-darwin ] - NMap: [ i686-linux, x86_64-linux, x86_64-darwin ] - nntp: [ i686-linux, x86_64-linux, x86_64-darwin ] - no-role-annots: [ i686-linux, x86_64-linux, x86_64-darwin ] - noether: [ i686-linux, x86_64-linux, x86_64-darwin ] - nofib-analyse: [ i686-linux, x86_64-linux, x86_64-darwin ] - nofib-analyze: [ i686-linux, x86_64-linux, x86_64-darwin ] - noise: [ i686-linux, x86_64-linux, x86_64-darwin ] - Nomyx-Core: [ i686-linux, x86_64-linux, x86_64-darwin ] - Nomyx-Language: [ i686-linux, x86_64-linux, x86_64-darwin ] - Nomyx-Rules: [ i686-linux, x86_64-linux, x86_64-darwin ] - Nomyx-Web: [ i686-linux, x86_64-linux, x86_64-darwin ] - Nomyx: [ i686-linux, x86_64-linux, x86_64-darwin ] - non-empty-zipper: [ i686-linux, x86_64-linux, x86_64-darwin ] - nonempty-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] - NonEmpty: [ i686-linux, x86_64-linux, x86_64-darwin ] - NonEmptyList: [ i686-linux, x86_64-linux, x86_64-darwin ] - nonlinear-optimization-ad: [ i686-linux, x86_64-linux, x86_64-darwin ] - nonlinear-optimization: [ i686-linux, x86_64-linux, x86_64-darwin ] - normalization-insensitive: [ i686-linux, x86_64-linux, x86_64-darwin ] - NoSlow: [ i686-linux, x86_64-linux, x86_64-darwin ] - not-gloss-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - notcpp: [ i686-linux, x86_64-linux, x86_64-darwin ] - notmuch-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - notmuch-web: [ i686-linux, x86_64-linux, x86_64-darwin ] - NoTrace: [ i686-linux, x86_64-linux, x86_64-darwin ] - np-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - np-linear: [ i686-linux, x86_64-linux, x86_64-darwin ] - nptools: [ i686-linux, x86_64-linux, x86_64-darwin ] - ntrip-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - NTRU: [ i686-linux, x86_64-linux, x86_64-darwin ] - null-canvas: [ i686-linux, x86_64-linux, x86_64-darwin ] - nullary: [ i686-linux, x86_64-linux, x86_64-darwin ] - nullpipe: [ i686-linux, x86_64-linux, x86_64-darwin ] - numbered-semigroups: [ i686-linux, x86_64-linux, x86_64-darwin ] - NumberSieves: [ i686-linux, x86_64-linux, x86_64-darwin ] - NumberTheory: [ i686-linux, x86_64-linux, x86_64-darwin ] - numerals-base: [ i686-linux, x86_64-linux, x86_64-darwin ] - numerals: [ i686-linux, x86_64-linux, x86_64-darwin ] - numeric-ode: [ i686-linux, x86_64-linux, x86_64-darwin ] - numeric-qq: [ i686-linux, x86_64-linux, x86_64-darwin ] - numeric-ranges: [ i686-linux, x86_64-linux, x86_64-darwin ] - numerical: [ i686-linux, x86_64-linux, x86_64-darwin ] - numhask-array: [ i686-linux, x86_64-linux, x86_64-darwin ] - numhask-histogram: [ i686-linux, x86_64-linux, x86_64-darwin ] - numhask-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - numhask-range: [ i686-linux, x86_64-linux, x86_64-darwin ] - numhask-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - numhask: [ i686-linux, x86_64-linux, x86_64-darwin ] - Nussinov78: [ i686-linux, x86_64-linux, x86_64-darwin ] - Nutri: [ i686-linux, x86_64-linux, x86_64-darwin ] - nvim-hs-contrib: [ i686-linux, x86_64-linux, x86_64-darwin ] - nvim-hs-ghcid: [ i686-linux, x86_64-linux, x86_64-darwin ] - nvim-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - NXT: [ i686-linux, x86_64-linux, x86_64-darwin ] - NXTDSL: [ i686-linux, x86_64-linux, x86_64-darwin ] - nylas: [ i686-linux, x86_64-linux, x86_64-darwin ] - nymphaea: [ i686-linux, x86_64-linux, x86_64-darwin ] - o-clock: [ i686-linux, x86_64-linux, x86_64-darwin ] - oanda-rest-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - oasis-xrd: [ i686-linux, x86_64-linux, x86_64-darwin ] - oauth2-jwt-bearer: [ i686-linux, x86_64-linux, x86_64-darwin ] - oauthenticated: [ i686-linux, x86_64-linux, x86_64-darwin ] - obd: [ i686-linux, x86_64-linux, x86_64-darwin ] - obdd: [ i686-linux, x86_64-linux, x86_64-darwin ] - oberon0: [ i686-linux, x86_64-linux, x86_64-darwin ] - obj: [ i686-linux, x86_64-linux, x86_64-darwin ] - Object: [ i686-linux, x86_64-linux, x86_64-darwin ] - objectid: [ i686-linux, x86_64-linux, x86_64-darwin ] - ObjectIO: [ i686-linux, x86_64-linux, x86_64-darwin ] - objective: [ i686-linux, x86_64-linux, x86_64-darwin ] - ocaml-export: [ i686-linux, x86_64-linux, x86_64-darwin ] - octane: [ i686-linux, x86_64-linux, x86_64-darwin ] - octohat: [ i686-linux, x86_64-linux, x86_64-darwin ] - octopus: [ i686-linux, x86_64-linux, x86_64-darwin ] - Octree: [ i686-linux, x86_64-linux, x86_64-darwin ] - oculus: [ i686-linux, x86_64-linux, x86_64-darwin ] - odbc: [ i686-linux, x86_64-linux, x86_64-darwin ] - OddWord: [ i686-linux, x86_64-linux, x86_64-darwin ] - oden-go-packages: [ i686-linux, x86_64-linux, x86_64-darwin ] - oeis2: [ i686-linux, x86_64-linux, x86_64-darwin ] - off-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - OGL: [ i686-linux, x86_64-linux, x86_64-darwin ] - ogmarkup: [ i686-linux, x86_64-linux, x86_64-darwin ] - ohloh-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - oi: [ i686-linux, x86_64-linux, x86_64-darwin ] - oidc-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - ois-input-manager: [ i686-linux, x86_64-linux, x86_64-darwin ] - olwrapper: [ i686-linux, x86_64-linux, x86_64-darwin ] - om-elm: [ i686-linux, x86_64-linux, x86_64-darwin ] - omaketex: [ i686-linux, x86_64-linux, x86_64-darwin ] - ombra: [ i686-linux, x86_64-linux, x86_64-darwin ] - Omega: [ i686-linux, x86_64-linux, x86_64-darwin ] - omega: [ i686-linux, x86_64-linux, x86_64-darwin ] - omnifmt: [ i686-linux, x86_64-linux, x86_64-darwin ] - on-a-horse: [ i686-linux, x86_64-linux, x86_64-darwin ] - onama: [ i686-linux, x86_64-linux, x86_64-darwin ] - oneormore: [ i686-linux, x86_64-linux, x86_64-darwin ] - online: [ i686-linux, x86_64-linux, x86_64-darwin ] - onpartitions: [ i686-linux, x86_64-linux, x86_64-darwin ] - OnRmt: [ i686-linux, x86_64-linux, x86_64-darwin ] - onu-course: [ i686-linux, x86_64-linux, x86_64-darwin ] - opaleye-classy: [ i686-linux, x86_64-linux, x86_64-darwin ] - opaleye-sqlite: [ i686-linux, x86_64-linux, x86_64-darwin ] - opaleye-trans: [ i686-linux, x86_64-linux, x86_64-darwin ] - open-haddock: [ i686-linux, x86_64-linux, x86_64-darwin ] - open-pandoc: [ i686-linux, x86_64-linux, x86_64-darwin ] - open-signals: [ i686-linux, x86_64-linux, x86_64-darwin ] - open-typerep: [ i686-linux, x86_64-linux, x86_64-darwin ] - OpenAFP-Utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - OpenAFP: [ i686-linux, x86_64-linux, x86_64-darwin ] - openapi-petstore: [ i686-linux, x86_64-linux, x86_64-darwin ] - opench-meteo: [ i686-linux, x86_64-linux, x86_64-darwin ] - OpenCL: [ i686-linux, x86_64-linux, x86_64-darwin ] - OpenCLRaw: [ i686-linux, x86_64-linux, x86_64-darwin ] - OpenCLWrappers: [ i686-linux, x86_64-linux, x86_64-darwin ] - opencv-raw: [ i686-linux, x86_64-linux, x86_64-darwin ] - opendatatable: [ i686-linux, x86_64-linux, x86_64-darwin ] - OpenGLCheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - opengles: [ i686-linux, x86_64-linux, x86_64-darwin ] - OpenSCAD: [ i686-linux, x86_64-linux, x86_64-darwin ] - opensoundcontrol-ht: [ i686-linux, x86_64-linux, x86_64-darwin ] - openssh-github-keys: [ i686-linux, x86_64-linux, x86_64-darwin ] - opentheory-char: [ i686-linux, x86_64-linux, x86_64-darwin ] - opentok: [ i686-linux, x86_64-linux, x86_64-darwin ] - opentype: [ i686-linux, x86_64-linux, x86_64-darwin ] - OpenVG: [ i686-linux, x86_64-linux, x86_64-darwin ] - OpenVGRaw: [ i686-linux, x86_64-linux, x86_64-darwin ] - openweathermap: [ i686-linux, x86_64-linux, x86_64-darwin ] - Operads: [ i686-linux, x86_64-linux, x86_64-darwin ] - operational-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - opml-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - optima: [ i686-linux, x86_64-linux, x86_64-darwin ] - optimal-blocks: [ i686-linux, x86_64-linux, x86_64-darwin ] - optimization: [ i686-linux, x86_64-linux, x86_64-darwin ] - optimusprime: [ i686-linux, x86_64-linux, x86_64-darwin ] - optional: [ i686-linux, x86_64-linux, x86_64-darwin ] - options-time: [ i686-linux, x86_64-linux, x86_64-darwin ] - optparse-applicative-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - orc: [ i686-linux, x86_64-linux, x86_64-darwin ] - orchestrate: [ i686-linux, x86_64-linux, x86_64-darwin ] - OrchestrateDB: [ i686-linux, x86_64-linux, x86_64-darwin ] - orchid-demo: [ i686-linux, x86_64-linux, x86_64-darwin ] - orchid: [ i686-linux, x86_64-linux, x86_64-darwin ] - order-maintenance: [ i686-linux, x86_64-linux, x86_64-darwin ] - order-statistics: [ i686-linux, x86_64-linux, x86_64-darwin ] - orders: [ i686-linux, x86_64-linux, x86_64-darwin ] - Ordinary: [ i686-linux, x86_64-linux, x86_64-darwin ] - ordrea: [ i686-linux, x86_64-linux, x86_64-darwin ] - organize-imports: [ i686-linux, x86_64-linux, x86_64-darwin ] - orgmode-parse: [ i686-linux, x86_64-linux, x86_64-darwin ] - orgmode: [ i686-linux, x86_64-linux, x86_64-darwin ] - orgstat: [ i686-linux, x86_64-linux, x86_64-darwin ] - origami: [ i686-linux, x86_64-linux, x86_64-darwin ] - orizentic: [ i686-linux, x86_64-linux, x86_64-darwin ] - OrPatterns: [ i686-linux, x86_64-linux, x86_64-darwin ] - osc: [ i686-linux, x86_64-linux, x86_64-darwin ] - oscpacking: [ i686-linux, x86_64-linux, x86_64-darwin ] - osdkeys: [ i686-linux, x86_64-linux, x86_64-darwin ] - Oslo-Vectize: [ i686-linux, x86_64-linux, x86_64-darwin ] - osm-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - osm-download: [ i686-linux, x86_64-linux, x86_64-darwin ] - OSM: [ i686-linux, x86_64-linux, x86_64-darwin ] - oso2pdf: [ i686-linux, x86_64-linux, x86_64-darwin ] - ot: [ i686-linux, x86_64-linux, x86_64-darwin ] - otp-authenticator: [ i686-linux, x86_64-linux, x86_64-darwin ] - OTP: [ i686-linux, x86_64-linux, x86_64-darwin ] - ottparse-pretty: [ i686-linux, x86_64-linux, x86_64-darwin ] - overloaded-records: [ i686-linux, x86_64-linux, x86_64-darwin ] - overture: [ i686-linux, x86_64-linux, x86_64-darwin ] - pack: [ i686-linux, x86_64-linux, x86_64-darwin ] - package-description-remote: [ i686-linux, x86_64-linux, x86_64-darwin ] - package-o-tron: [ i686-linux, x86_64-linux, x86_64-darwin ] - package-vt: [ i686-linux, x86_64-linux, x86_64-darwin ] - packdeps: [ i686-linux, x86_64-linux, x86_64-darwin ] - packed-dawg: [ i686-linux, x86_64-linux, x86_64-darwin ] - packed-multikey-map: [ i686-linux, x86_64-linux, x86_64-darwin ] - packedstring: [ i686-linux, x86_64-linux, x86_64-darwin ] - packman: [ i686-linux, x86_64-linux, x86_64-darwin ] - packunused: [ i686-linux, x86_64-linux, x86_64-darwin ] - pacman-memcache: [ i686-linux, x86_64-linux, x86_64-darwin ] - padKONTROL: [ i686-linux, x86_64-linux, x86_64-darwin ] - pads-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - pagarme: [ i686-linux, x86_64-linux, x86_64-darwin ] - PageIO: [ i686-linux, x86_64-linux, x86_64-darwin ] - pagure-hook-receiver: [ i686-linux, x86_64-linux, x86_64-darwin ] - Paillier: [ i686-linux, x86_64-linux, x86_64-darwin ] - palette: [ i686-linux, x86_64-linux, x86_64-darwin ] - pam: [ i686-linux, x86_64-linux, x86_64-darwin ] - panda: [ i686-linux, x86_64-linux, x86_64-darwin ] - pandoc-citeproc: [ i686-linux, x86_64-linux, x86_64-darwin ] - pandoc-crossref: [ i686-linux, x86_64-linux, x86_64-darwin ] - pandoc-csv2table: [ i686-linux, x86_64-linux, x86_64-darwin ] - pandoc-filter-graphviz: [ i686-linux, x86_64-linux, x86_64-darwin ] - pandoc-include-code: [ i686-linux, x86_64-linux, x86_64-darwin ] - pandoc-include: [ i686-linux, x86_64-linux, x86_64-darwin ] - pandoc-japanese-filters: [ i686-linux, x86_64-linux, x86_64-darwin ] - pandoc-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - pandoc-plantuml-diagrams: [ i686-linux, x86_64-linux, x86_64-darwin ] - pandoc-sidenote: [ i686-linux, x86_64-linux, x86_64-darwin ] - pandoc-stylefrommeta: [ i686-linux, x86_64-linux, x86_64-darwin ] - pandoc-unlit: [ i686-linux, x86_64-linux, x86_64-darwin ] - PandocAgda: [ i686-linux, x86_64-linux, x86_64-darwin ] - pang-a-lambda: [ i686-linux, x86_64-linux, x86_64-darwin ] - pango: [ i686-linux, x86_64-linux, x86_64-darwin ] - pangraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - panpipe: [ i686-linux, x86_64-linux, x86_64-darwin ] - pansite: [ i686-linux, x86_64-linux, x86_64-darwin ] - papa-export: [ i686-linux, x86_64-linux, x86_64-darwin ] - papa-implement: [ i686-linux, x86_64-linux, x86_64-darwin ] - papa-include: [ i686-linux, x86_64-linux, x86_64-darwin ] - papa-prelude-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - papa-prelude-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - papa-prelude-semigroupoids: [ i686-linux, x86_64-linux, x86_64-darwin ] - papa-prelude-semigroups: [ i686-linux, x86_64-linux, x86_64-darwin ] - papa-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - paphragen: [ i686-linux, x86_64-linux, x86_64-darwin ] - papillon: [ i686-linux, x86_64-linux, x86_64-darwin ] - pappy: [ i686-linux, x86_64-linux, x86_64-darwin ] - paprika: [ i686-linux, x86_64-linux, x86_64-darwin ] - paragon: [ i686-linux, x86_64-linux, x86_64-darwin ] - Paraiso: [ i686-linux, x86_64-linux, x86_64-darwin ] - Parallel-Arrows-Eden: [ i686-linux, x86_64-linux, x86_64-darwin ] - parallel-tasks: [ i686-linux, x86_64-linux, x86_64-darwin ] - parameterized-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - parameterized: [ i686-linux, x86_64-linux, x86_64-darwin ] - paramtree: [ i686-linux, x86_64-linux, x86_64-darwin ] - paranoia: [ i686-linux, x86_64-linux, x86_64-darwin ] - parco-attoparsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - parco-parsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - parco: [ i686-linux, x86_64-linux, x86_64-darwin ] - parconc-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - pareto: [ i686-linux, x86_64-linux, x86_64-darwin ] - Parry: [ i686-linux, x86_64-linux, x86_64-darwin ] - parse-help: [ i686-linux, x86_64-linux, x86_64-darwin ] - parsec-free: [ i686-linux, x86_64-linux, x86_64-darwin ] - parsec-parsers: [ i686-linux, x86_64-linux, x86_64-darwin ] - parsec-pratt: [ i686-linux, x86_64-linux, x86_64-darwin ] - parseerror-eq: [ i686-linux, x86_64-linux, x86_64-darwin ] - parsely: [ i686-linux, x86_64-linux, x86_64-darwin ] - parser-helper: [ i686-linux, x86_64-linux, x86_64-darwin ] - parser241: [ i686-linux, x86_64-linux, x86_64-darwin ] - parsergen: [ i686-linux, x86_64-linux, x86_64-darwin ] - parsestar: [ i686-linux, x86_64-linux, x86_64-darwin ] - parsix: [ i686-linux, x86_64-linux, x86_64-darwin ] - partage: [ i686-linux, x86_64-linux, x86_64-darwin ] - partial-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - partial-order: [ i686-linux, x86_64-linux, x86_64-darwin ] - partly: [ i686-linux, x86_64-linux, x86_64-darwin ] - passage: [ i686-linux, x86_64-linux, x86_64-darwin ] - PasswordGenerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - passwords: [ i686-linux, x86_64-linux, x86_64-darwin ] - pasta: [ i686-linux, x86_64-linux, x86_64-darwin ] - pastis: [ i686-linux, x86_64-linux, x86_64-darwin ] - pasty: [ i686-linux, x86_64-linux, x86_64-darwin ] - patat: [ i686-linux, x86_64-linux, x86_64-darwin ] - patches-vector: [ i686-linux, x86_64-linux, x86_64-darwin ] - Pathfinder: [ i686-linux, x86_64-linux, x86_64-darwin ] - pathfindingcore: [ i686-linux, x86_64-linux, x86_64-darwin ] - PathTree: [ i686-linux, x86_64-linux, x86_64-darwin ] - patronscraper: [ i686-linux, x86_64-linux, x86_64-darwin ] - patterns: [ i686-linux, x86_64-linux, x86_64-darwin ] - paypal-adaptive-hoops: [ i686-linux, x86_64-linux, x86_64-darwin ] - paypal-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - paypal-rest-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - pb-next: [ i686-linux, x86_64-linux, x86_64-darwin ] - pb: [ i686-linux, x86_64-linux, x86_64-darwin ] - pbc4hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - PBKDF2: [ i686-linux, x86_64-linux, x86_64-darwin ] - pcap-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - pcd-loader: [ i686-linux, x86_64-linux, x86_64-darwin ] - pcf: [ i686-linux, x86_64-linux, x86_64-darwin ] - PCLT-DB: [ i686-linux, x86_64-linux, x86_64-darwin ] - PCLT: [ i686-linux, x86_64-linux, x86_64-darwin ] - pcre-light-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - pdf-slave-template: [ i686-linux, x86_64-linux, x86_64-darwin ] - pdf-slave: [ i686-linux, x86_64-linux, x86_64-darwin ] - pdf-toolbox-content: [ i686-linux, x86_64-linux, x86_64-darwin ] - pdf-toolbox-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - pdf-toolbox-document: [ i686-linux, x86_64-linux, x86_64-darwin ] - pdf-toolbox-viewer: [ i686-linux, x86_64-linux, x86_64-darwin ] - pdfname: [ i686-linux, x86_64-linux, x86_64-darwin ] - pdfsplit: [ i686-linux, x86_64-linux, x86_64-darwin ] - pdynload: [ i686-linux, x86_64-linux, x86_64-darwin ] - peakachu: [ i686-linux, x86_64-linux, x86_64-darwin ] - PeanoWitnesses: [ i686-linux, x86_64-linux, x86_64-darwin ] - pec: [ i686-linux, x86_64-linux, x86_64-darwin ] - pedestrian-dag: [ i686-linux, x86_64-linux, x86_64-darwin ] - peg: [ i686-linux, x86_64-linux, x86_64-darwin ] - peggy: [ i686-linux, x86_64-linux, x86_64-darwin ] - pell: [ i686-linux, x86_64-linux, x86_64-darwin ] - pencil: [ i686-linux, x86_64-linux, x86_64-darwin ] - penny-bin: [ i686-linux, x86_64-linux, x86_64-darwin ] - penny-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - penny: [ i686-linux, x86_64-linux, x86_64-darwin ] - penrose: [ i686-linux, x86_64-linux, x86_64-darwin ] - peparser: [ i686-linux, x86_64-linux, x86_64-darwin ] - perceptron: [ i686-linux, x86_64-linux, x86_64-darwin ] - peregrin: [ i686-linux, x86_64-linux, x86_64-darwin ] - perf-analysis: [ i686-linux, x86_64-linux, x86_64-darwin ] - perf: [ i686-linux, x86_64-linux, x86_64-darwin ] - PerfectHash: [ i686-linux, x86_64-linux, x86_64-darwin ] - perfecthash: [ i686-linux, x86_64-linux, x86_64-darwin ] - perhaps: [ i686-linux, x86_64-linux, x86_64-darwin ] - periodic: [ i686-linux, x86_64-linux, x86_64-darwin ] - perm: [ i686-linux, x86_64-linux, x86_64-darwin ] - permutations: [ i686-linux, x86_64-linux, x86_64-darwin ] - permute: [ i686-linux, x86_64-linux, x86_64-darwin ] - PermuteEffects: [ i686-linux, x86_64-linux, x86_64-darwin ] - persist2er: [ i686-linux, x86_64-linux, x86_64-darwin ] - Persistence: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-audit: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-cereal: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-database-url: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-equivalence: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-hssqlppp: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-map: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-migration: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-mongoDB: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-odbc: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-protobuf: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-ratelimit: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-refs: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-relational-record: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-template-classy: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-vector: [ i686-linux, x86_64-linux, x86_64-darwin ] - persistent-zookeeper: [ i686-linux, x86_64-linux, x86_64-darwin ] - persona-idp: [ i686-linux, x86_64-linux, x86_64-darwin ] - persona: [ i686-linux, x86_64-linux, x86_64-darwin ] - pesca: [ i686-linux, x86_64-linux, x86_64-darwin ] - peyotls-codec: [ i686-linux, x86_64-linux, x86_64-darwin ] - peyotls: [ i686-linux, x86_64-linux, x86_64-darwin ] - pez: [ i686-linux, x86_64-linux, x86_64-darwin ] - pg-harness-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - pg-harness: [ i686-linux, x86_64-linux, x86_64-darwin ] - pg-recorder: [ i686-linux, x86_64-linux, x86_64-darwin ] - pg-store: [ i686-linux, x86_64-linux, x86_64-darwin ] - pg-transact: [ i686-linux, x86_64-linux, x86_64-darwin ] - pgdl: [ i686-linux, x86_64-linux, x86_64-darwin ] - pgsql-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - pgstream: [ i686-linux, x86_64-linux, x86_64-darwin ] - phasechange: [ i686-linux, x86_64-linux, x86_64-darwin ] - phoityne: [ i686-linux, x86_64-linux, x86_64-darwin ] - phone-numbers: [ i686-linux, x86_64-linux, x86_64-darwin ] - phone-push: [ i686-linux, x86_64-linux, x86_64-darwin ] - phooey: [ i686-linux, x86_64-linux, x86_64-darwin ] - photoname: [ i686-linux, x86_64-linux, x86_64-darwin ] - phraskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - Phsu: [ i686-linux, x86_64-linux, x86_64-darwin ] - phybin: [ i686-linux, x86_64-linux, x86_64-darwin ] - pi-calculus: [ i686-linux, x86_64-linux, x86_64-darwin ] - pi-forall: [ i686-linux, x86_64-linux, x86_64-darwin ] - pi-hoole: [ i686-linux, x86_64-linux, x86_64-darwin ] - pia-forward: [ i686-linux, x86_64-linux, x86_64-darwin ] - pianola: [ i686-linux, x86_64-linux, x86_64-darwin ] - picedit: [ i686-linux, x86_64-linux, x86_64-darwin ] - picologic: [ i686-linux, x86_64-linux, x86_64-darwin ] - picoparsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - picosat: [ i686-linux, x86_64-linux, x86_64-darwin ] - pictikz: [ i686-linux, x86_64-linux, x86_64-darwin ] - pidfile: [ i686-linux, x86_64-linux, x86_64-darwin ] - pier-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - pier: [ i686-linux, x86_64-linux, x86_64-darwin ] - piet: [ i686-linux, x86_64-linux, x86_64-darwin ] - pig: [ i686-linux, x86_64-linux, x86_64-darwin ] - pinch: [ i686-linux, x86_64-linux, x86_64-darwin ] - pinchot: [ i686-linux, x86_64-linux, x86_64-darwin ] - ping: [ i686-linux, x86_64-linux, x86_64-darwin ] - pinpon: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipe-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - Pipe: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-async: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-attoparsec-streaming: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-bgzf: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-cacophony: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-cereal-plus: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-cereal: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-courier: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-errors: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-files: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-fluid: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-illumina: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-key-value-csv: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-p2p-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-p2p: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-protolude: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-random: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-rt: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-s3: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-shell: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-sqlite-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-transduce: [ i686-linux, x86_64-linux, x86_64-darwin ] - pipes-zeromq4: [ i686-linux, x86_64-linux, x86_64-darwin ] - pisigma: [ i686-linux, x86_64-linux, x86_64-darwin ] - Piso: [ i686-linux, x86_64-linux, x86_64-darwin ] - pit: [ i686-linux, x86_64-linux, x86_64-darwin ] - pitchtrack: [ i686-linux, x86_64-linux, x86_64-darwin ] - pivotal-tracker: [ i686-linux, x86_64-linux, x86_64-darwin ] - pixelated-avatar-generator: [ i686-linux, x86_64-linux, x86_64-darwin ] - pkcs10: [ i686-linux, x86_64-linux, x86_64-darwin ] - pkcs7: [ i686-linux, x86_64-linux, x86_64-darwin ] - pkggraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - plailude: [ i686-linux, x86_64-linux, x86_64-darwin ] - plan-applicative: [ i686-linux, x86_64-linux, x86_64-darwin ] - plan-b: [ i686-linux, x86_64-linux, x86_64-darwin ] - planar-graph: [ i686-linux, x86_64-linux, x86_64-darwin ] - planb-token-introspection: [ i686-linux, x86_64-linux, x86_64-darwin ] - planet-mitchell-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - planet-mitchell: [ i686-linux, x86_64-linux, x86_64-darwin ] - plankton: [ i686-linux, x86_64-linux, x86_64-darwin ] - plat: [ i686-linux, x86_64-linux, x86_64-darwin ] - platinum-parsing: [ i686-linux, x86_64-linux, x86_64-darwin ] - PlayingCards: [ i686-linux, x86_64-linux, x86_64-darwin ] - plist-buddy: [ i686-linux, x86_64-linux, x86_64-darwin ] - plocketed: [ i686-linux, x86_64-linux, x86_64-darwin ] - plot-gtk-ui: [ i686-linux, x86_64-linux, x86_64-darwin ] - plot-gtk3: [ i686-linux, x86_64-linux, x86_64-darwin ] - plot-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - Plot-ho-matic: [ i686-linux, x86_64-linux, x86_64-darwin ] - plot-lab: [ i686-linux, x86_64-linux, x86_64-darwin ] - plot-light-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - plot: [ i686-linux, x86_64-linux, x86_64-darwin ] - plots: [ i686-linux, x86_64-linux, x86_64-darwin ] - PlslTools: [ i686-linux, x86_64-linux, x86_64-darwin ] - plugins-auto: [ i686-linux, x86_64-linux, x86_64-darwin ] - plugins-multistage: [ i686-linux, x86_64-linux, x86_64-darwin ] - plugins: [ i686-linux, x86_64-linux, x86_64-darwin ] - plur: [ i686-linux, x86_64-linux, x86_64-darwin ] - plural: [ i686-linux, x86_64-linux, x86_64-darwin ] - png-file: [ i686-linux, x86_64-linux, x86_64-darwin ] - pngload-fixed: [ i686-linux, x86_64-linux, x86_64-darwin ] - pngload: [ i686-linux, x86_64-linux, x86_64-darwin ] - pocket-dns: [ i686-linux, x86_64-linux, x86_64-darwin ] - pocket: [ i686-linux, x86_64-linux, x86_64-darwin ] - point-octree: [ i686-linux, x86_64-linux, x86_64-darwin ] - pointfree-fancy: [ i686-linux, x86_64-linux, x86_64-darwin ] - pointful: [ i686-linux, x86_64-linux, x86_64-darwin ] - pointless-lenses: [ i686-linux, x86_64-linux, x86_64-darwin ] - pointless-rewrite: [ i686-linux, x86_64-linux, x86_64-darwin ] - pokemon-go-protobuf-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - poker-eval: [ i686-linux, x86_64-linux, x86_64-darwin ] - pokitdok: [ i686-linux, x86_64-linux, x86_64-darwin ] - polar-configfile: [ i686-linux, x86_64-linux, x86_64-darwin ] - polar-shader: [ i686-linux, x86_64-linux, x86_64-darwin ] - polh-lexicon: [ i686-linux, x86_64-linux, x86_64-darwin ] - polimorf: [ i686-linux, x86_64-linux, x86_64-darwin ] - Pollutocracy: [ i686-linux, x86_64-linux, x86_64-darwin ] - poly-control: [ i686-linux, x86_64-linux, x86_64-darwin ] - polydata-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - polydata: [ i686-linux, x86_64-linux, x86_64-darwin ] - polynomial: [ i686-linux, x86_64-linux, x86_64-darwin ] - polyseq: [ i686-linux, x86_64-linux, x86_64-darwin ] - polysoup: [ i686-linux, x86_64-linux, x86_64-darwin ] - polytypeable-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - polytypeable: [ i686-linux, x86_64-linux, x86_64-darwin ] - pomaps: [ i686-linux, x86_64-linux, x86_64-darwin ] - pomodoro: [ i686-linux, x86_64-linux, x86_64-darwin ] - pomohoro: [ i686-linux, x86_64-linux, x86_64-darwin ] - ponder: [ i686-linux, x86_64-linux, x86_64-darwin ] - pong-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - pontarius-xmpp: [ i686-linux, x86_64-linux, x86_64-darwin ] - pool-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - pool: [ i686-linux, x86_64-linux, x86_64-darwin ] - popenhs: [ i686-linux, x86_64-linux, x86_64-darwin ] - poppler: [ i686-linux, x86_64-linux, x86_64-darwin ] - portager: [ i686-linux, x86_64-linux, x86_64-darwin ] - porte: [ i686-linux, x86_64-linux, x86_64-darwin ] - porter: [ i686-linux, x86_64-linux, x86_64-darwin ] - PortFusion: [ i686-linux, x86_64-linux, x86_64-darwin ] - ports: [ i686-linux, x86_64-linux, x86_64-darwin ] - posix-acl: [ i686-linux, x86_64-linux, x86_64-darwin ] - posix-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - posix-pty: [ i686-linux, x86_64-linux, x86_64-darwin ] - posix-realtime: [ i686-linux, x86_64-linux, x86_64-darwin ] - posix-waitpid: [ i686-linux, x86_64-linux, x86_64-darwin ] - postcodes: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgres-embedded: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgres-tmp: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgres-websockets: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgresql-copy-escape: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgresql-lo-stream: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgresql-named: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgresql-orm: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgresql-query: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgresql-simple-bind: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgresql-simple-opts: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgresql-simple-queue: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgresql-simple-sop: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgresql-simple-typed: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgresql-simple-url: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgresql-typed-lifted: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgresql-typed: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgrest-ws: [ i686-linux, x86_64-linux, x86_64-darwin ] - postgrest: [ i686-linux, x86_64-linux, x86_64-darwin ] - postie: [ i686-linux, x86_64-linux, x86_64-darwin ] - postmark-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - postmark: [ i686-linux, x86_64-linux, x86_64-darwin ] - potato-tool: [ i686-linux, x86_64-linux, x86_64-darwin ] - potoki-cereal: [ i686-linux, x86_64-linux, x86_64-darwin ] - potoki-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - potoki-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - potoki-hasql: [ i686-linux, x86_64-linux, x86_64-darwin ] - potoki-zlib: [ i686-linux, x86_64-linux, x86_64-darwin ] - potoki: [ i686-linux, x86_64-linux, x86_64-darwin ] - powerpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - powerqueue-distributed: [ i686-linux, x86_64-linux, x86_64-darwin ] - powerqueue-levelmem: [ i686-linux, x86_64-linux, x86_64-darwin ] - powerqueue-sqs: [ i686-linux, x86_64-linux, x86_64-darwin ] - powerqueue: [ i686-linux, x86_64-linux, x86_64-darwin ] - PPrinter: [ i686-linux, x86_64-linux, x86_64-darwin ] - pqc: [ i686-linux, x86_64-linux, x86_64-darwin ] - pqueue-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ] - practice-room: [ i686-linux, x86_64-linux, x86_64-darwin ] - praglude: [ i686-linux, x86_64-linux, x86_64-darwin ] - pragmatic-show: [ i686-linux, x86_64-linux, x86_64-darwin ] - precursor: [ i686-linux, x86_64-linux, x86_64-darwin ] - pred-trie: [ i686-linux, x86_64-linux, x86_64-darwin ] - predicate-class: [ i686-linux, x86_64-linux, x86_64-darwin ] - prednote-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - prednote: [ i686-linux, x86_64-linux, x86_64-darwin ] - prefork: [ i686-linux, x86_64-linux, x86_64-darwin ] - preliminaries: [ i686-linux, x86_64-linux, x86_64-darwin ] - prelude-generalize: [ i686-linux, x86_64-linux, x86_64-darwin ] - prelude-plus: [ i686-linux, x86_64-linux, x86_64-darwin ] - preprocess-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - preprocessor: [ i686-linux, x86_64-linux, x86_64-darwin ] - presburger: [ i686-linux, x86_64-linux, x86_64-darwin ] - press: [ i686-linux, x86_64-linux, x86_64-darwin ] - presto-hdbc: [ i686-linux, x86_64-linux, x86_64-darwin ] - pretty-ncols: [ i686-linux, x86_64-linux, x86_64-darwin ] - pretty-relative-time: [ i686-linux, x86_64-linux, x86_64-darwin ] - prettyprinter-vty: [ i686-linux, x86_64-linux, x86_64-darwin ] - preview: [ i686-linux, x86_64-linux, x86_64-darwin ] - prim-array: [ i686-linux, x86_64-linux, x86_64-darwin ] - prim-instances: [ i686-linux, x86_64-linux, x86_64-darwin ] - primes-type: [ i686-linux, x86_64-linux, x86_64-darwin ] - primesieve: [ i686-linux, x86_64-linux, x86_64-darwin ] - primitive-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] - primitive-indexed: [ i686-linux, x86_64-linux, x86_64-darwin ] - primitive-maybe: [ i686-linux, x86_64-linux, x86_64-darwin ] - primitive-simd: [ i686-linux, x86_64-linux, x86_64-darwin ] - PrimitiveArray-Pretty: [ i686-linux, x86_64-linux, x86_64-darwin ] - primula-board: [ i686-linux, x86_64-linux, x86_64-darwin ] - primula-bot: [ i686-linux, x86_64-linux, x86_64-darwin ] - pringletons: [ i686-linux, x86_64-linux, x86_64-darwin ] - print-debugger: [ i686-linux, x86_64-linux, x86_64-darwin ] - printcess: [ i686-linux, x86_64-linux, x86_64-darwin ] - Printf-TH: [ i686-linux, x86_64-linux, x86_64-darwin ] - priority-queue: [ i686-linux, x86_64-linux, x86_64-darwin ] - priority-sync: [ i686-linux, x86_64-linux, x86_64-darwin ] - PriorityChansConverger: [ i686-linux, x86_64-linux, x86_64-darwin ] - ProbabilityMonads: [ i686-linux, x86_64-linux, x86_64-darwin ] - proc: [ i686-linux, x86_64-linux, x86_64-darwin ] - process-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - process-iterio: [ i686-linux, x86_64-linux, x86_64-darwin ] - process-leksah: [ i686-linux, x86_64-linux, x86_64-darwin ] - process-listlike: [ i686-linux, x86_64-linux, x86_64-darwin ] - process-progress: [ i686-linux, x86_64-linux, x86_64-darwin ] - process-qq: [ i686-linux, x86_64-linux, x86_64-darwin ] - process-streaming: [ i686-linux, x86_64-linux, x86_64-darwin ] - processing: [ i686-linux, x86_64-linux, x86_64-darwin ] - procrastinating-variable: [ i686-linux, x86_64-linux, x86_64-darwin ] - procstat: [ i686-linux, x86_64-linux, x86_64-darwin ] - producer: [ i686-linux, x86_64-linux, x86_64-darwin ] - product: [ i686-linux, x86_64-linux, x86_64-darwin ] - prof2dot: [ i686-linux, x86_64-linux, x86_64-darwin ] - prof2pretty: [ i686-linux, x86_64-linux, x86_64-darwin ] - profiteur: [ i686-linux, x86_64-linux, x86_64-darwin ] - progress-meter: [ i686-linux, x86_64-linux, x86_64-darwin ] - progress: [ i686-linux, x86_64-linux, x86_64-darwin ] - progressbar: [ i686-linux, x86_64-linux, x86_64-darwin ] - progression: [ i686-linux, x86_64-linux, x86_64-darwin ] - progressive: [ i686-linux, x86_64-linux, x86_64-darwin ] - proj4-hs-bindings: [ i686-linux, x86_64-linux, x86_64-darwin ] - project-m36: [ i686-linux, x86_64-linux, x86_64-darwin ] - projectile: [ i686-linux, x86_64-linux, x86_64-darwin ] - prolog-graph-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - prolog-graph: [ i686-linux, x86_64-linux, x86_64-darwin ] - prolog: [ i686-linux, x86_64-linux, x86_64-darwin ] - prometheus-effect: [ i686-linux, x86_64-linux, x86_64-darwin ] - prometheus: [ i686-linux, x86_64-linux, x86_64-darwin ] - promise: [ i686-linux, x86_64-linux, x86_64-darwin ] - pronounce: [ i686-linux, x86_64-linux, x86_64-darwin ] - proof-combinators: [ i686-linux, x86_64-linux, x86_64-darwin ] - propane: [ i686-linux, x86_64-linux, x86_64-darwin ] - propellor: [ i686-linux, x86_64-linux, x86_64-darwin ] - Proper: [ i686-linux, x86_64-linux, x86_64-darwin ] - properties: [ i686-linux, x86_64-linux, x86_64-darwin ] - property-list: [ i686-linux, x86_64-linux, x86_64-darwin ] - proplang: [ i686-linux, x86_64-linux, x86_64-darwin ] - prosper: [ i686-linux, x86_64-linux, x86_64-darwin ] - proteome: [ i686-linux, x86_64-linux, x86_64-darwin ] - proto-lens-combinators: [ i686-linux, x86_64-linux, x86_64-darwin ] - proto-lens-descriptors: [ i686-linux, x86_64-linux, x86_64-darwin ] - protobuf-native: [ i686-linux, x86_64-linux, x86_64-darwin ] - protocol-buffers-descriptor-fork: [ i686-linux, x86_64-linux, x86_64-darwin ] - protocol-buffers-fork: [ i686-linux, x86_64-linux, x86_64-darwin ] - protolude-lifted: [ i686-linux, x86_64-linux, x86_64-darwin ] - proton-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - prototype: [ i686-linux, x86_64-linux, x86_64-darwin ] - prove-everywhere-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - proxy-kindness: [ i686-linux, x86_64-linux, x86_64-darwin ] - proxy-mapping: [ i686-linux, x86_64-linux, x86_64-darwin ] - psc-ide: [ i686-linux, x86_64-linux, x86_64-darwin ] - pseudo-trie: [ i686-linux, x86_64-linux, x86_64-darwin ] - PSQueue: [ i686-linux, x86_64-linux, x86_64-darwin ] - pthread: [ i686-linux, x86_64-linux, x86_64-darwin ] - PTQ: [ i686-linux, x86_64-linux, x86_64-darwin ] - ptr: [ i686-linux, x86_64-linux, x86_64-darwin ] - publicsuffix: [ i686-linux, x86_64-linux, x86_64-darwin ] - publicsuffixlistcreate: [ i686-linux, x86_64-linux, x86_64-darwin ] - pubnub: [ i686-linux, x86_64-linux, x86_64-darwin ] - pubsub: [ i686-linux, x86_64-linux, x86_64-darwin ] - puffytools: [ i686-linux, x86_64-linux, x86_64-darwin ] - pugixml: [ i686-linux, x86_64-linux, x86_64-darwin ] - pugs-compat: [ i686-linux, x86_64-linux, x86_64-darwin ] - pugs-DrIFT: [ i686-linux, x86_64-linux, x86_64-darwin ] - pugs-hsregex: [ i686-linux, x86_64-linux, x86_64-darwin ] - Pugs: [ i686-linux, x86_64-linux, x86_64-darwin ] - PUH-Project: [ i686-linux, x86_64-linux, x86_64-darwin ] - punkt: [ i686-linux, x86_64-linux, x86_64-darwin ] - Pup-Events-Demo: [ i686-linux, x86_64-linux, x86_64-darwin ] - puppetresources: [ i686-linux, x86_64-linux, x86_64-darwin ] - pure-cdb: [ i686-linux, x86_64-linux, x86_64-darwin ] - pure-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - pure-priority-queue-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - pure-priority-queue: [ i686-linux, x86_64-linux, x86_64-darwin ] - purescript-iso: [ i686-linux, x86_64-linux, x86_64-darwin ] - purescript-tsd-gen: [ i686-linux, x86_64-linux, x86_64-darwin ] - purescript: [ i686-linux, x86_64-linux, x86_64-darwin ] - push-notify-ccs: [ i686-linux, x86_64-linux, x86_64-darwin ] - push-notify-general: [ i686-linux, x86_64-linux, x86_64-darwin ] - push-notify: [ i686-linux, x86_64-linux, x86_64-darwin ] - pusher-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - pusher-ws: [ i686-linux, x86_64-linux, x86_64-darwin ] - pushme: [ i686-linux, x86_64-linux, x86_64-darwin ] - putlenses: [ i686-linux, x86_64-linux, x86_64-darwin ] - puzzle-draw-cmdline: [ i686-linux, x86_64-linux, x86_64-darwin ] - puzzle-draw: [ i686-linux, x86_64-linux, x86_64-darwin ] - pvd: [ i686-linux, x86_64-linux, x86_64-darwin ] - PyF: [ i686-linux, x86_64-linux, x86_64-darwin ] - pyffi: [ i686-linux, x86_64-linux, x86_64-darwin ] - pyfi: [ i686-linux, x86_64-linux, x86_64-darwin ] - python-pickle: [ i686-linux, x86_64-linux, x86_64-darwin ] - q4c12-twofinger: [ i686-linux, x86_64-linux, x86_64-darwin ] - qc-oi-testgenerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - qd-vec: [ i686-linux, x86_64-linux, x86_64-darwin ] - qd: [ i686-linux, x86_64-linux, x86_64-darwin ] - qed: [ i686-linux, x86_64-linux, x86_64-darwin ] - qhull-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - qif: [ i686-linux, x86_64-linux, x86_64-darwin ] - QIO: [ i686-linux, x86_64-linux, x86_64-darwin ] - QLearn: [ i686-linux, x86_64-linux, x86_64-darwin ] - qr-imager: [ i686-linux, x86_64-linux, x86_64-darwin ] - qr-repa: [ i686-linux, x86_64-linux, x86_64-darwin ] - qtah-cpp-qt5: [ i686-linux, x86_64-linux, x86_64-darwin ] - qtah-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - qtah-generator: [ i686-linux, x86_64-linux, x86_64-darwin ] - qtah-qt5: [ i686-linux, x86_64-linux, x86_64-darwin ] - QuadEdge: [ i686-linux, x86_64-linux, x86_64-darwin ] - quadratic-irrational: [ i686-linux, x86_64-linux, x86_64-darwin ] - QuadTree: [ i686-linux, x86_64-linux, x86_64-darwin ] - quantfin: [ i686-linux, x86_64-linux, x86_64-darwin ] - quantum-arrow: [ i686-linux, x86_64-linux, x86_64-darwin ] - quantum-random: [ i686-linux, x86_64-linux, x86_64-darwin ] - qudb: [ i686-linux, x86_64-linux, x86_64-darwin ] - Quelea: [ i686-linux, x86_64-linux, x86_64-darwin ] - quenya-verb: [ i686-linux, x86_64-linux, x86_64-darwin ] - queryparser-demo: [ i686-linux, x86_64-linux, x86_64-darwin ] - queryparser-hive: [ i686-linux, x86_64-linux, x86_64-darwin ] - queryparser-presto: [ i686-linux, x86_64-linux, x86_64-darwin ] - queryparser-vertica: [ i686-linux, x86_64-linux, x86_64-darwin ] - queryparser: [ i686-linux, x86_64-linux, x86_64-darwin ] - questioner: [ i686-linux, x86_64-linux, x86_64-darwin ] - queuelike: [ i686-linux, x86_64-linux, x86_64-darwin ] - quick-schema: [ i686-linux, x86_64-linux, x86_64-darwin ] - QuickAnnotate: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickbooks: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickcheck-arbitrary-template: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickcheck-classes: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickcheck-poly: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickcheck-property-comb: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickcheck-property-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickcheck-regex: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickcheck-relaxng: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickcheck-rematch: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickcheck-report: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickcheck-state-machine-distributed: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickcheck-state-machine: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickcheck-string-random: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickcheck-webdriver: [ i686-linux, x86_64-linux, x86_64-darwin ] - QuickCheckVariant: [ i686-linux, x86_64-linux, x86_64-darwin ] - QuickPlot: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickpull: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickset: [ i686-linux, x86_64-linux, x86_64-darwin ] - Quickson: [ i686-linux, x86_64-linux, x86_64-darwin ] - quicktest: [ i686-linux, x86_64-linux, x86_64-darwin ] - quickwebapp: [ i686-linux, x86_64-linux, x86_64-darwin ] - quipper-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - quipper-rendering: [ i686-linux, x86_64-linux, x86_64-darwin ] - quipper: [ i686-linux, x86_64-linux, x86_64-darwin ] - quiver-binary: [ i686-linux, x86_64-linux, x86_64-darwin ] - quiver-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - quiver-groups: [ i686-linux, x86_64-linux, x86_64-darwin ] - quiver-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - quiver-instances: [ i686-linux, x86_64-linux, x86_64-darwin ] - quiver-interleave: [ i686-linux, x86_64-linux, x86_64-darwin ] - quiver-sort: [ i686-linux, x86_64-linux, x86_64-darwin ] - quoridor-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - qux: [ i686-linux, x86_64-linux, x86_64-darwin ] - R-pandoc: [ i686-linux, x86_64-linux, x86_64-darwin ] - raaz: [ i686-linux, x86_64-linux, x86_64-darwin ] - rad: [ i686-linux, x86_64-linux, x86_64-darwin ] - radian: [ i686-linux, x86_64-linux, x86_64-darwin ] - radium-formula-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - radium: [ i686-linux, x86_64-linux, x86_64-darwin ] - radix: [ i686-linux, x86_64-linux, x86_64-darwin ] - rados-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - raft: [ i686-linux, x86_64-linux, x86_64-darwin ] - rail-compiler-editor: [ i686-linux, x86_64-linux, x86_64-darwin ] - rails-session: [ i686-linux, x86_64-linux, x86_64-darwin ] - rainbow-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - raketka: [ i686-linux, x86_64-linux, x86_64-darwin ] - rakhana: [ i686-linux, x86_64-linux, x86_64-darwin ] - rakuten: [ i686-linux, x86_64-linux, x86_64-darwin ] - rallod: [ i686-linux, x86_64-linux, x86_64-darwin ] - raml: [ i686-linux, x86_64-linux, x86_64-darwin ] - rand-vars: [ i686-linux, x86_64-linux, x86_64-darwin ] - randfile: [ i686-linux, x86_64-linux, x86_64-darwin ] - rando: [ i686-linux, x86_64-linux, x86_64-darwin ] - random-access-list: [ i686-linux, x86_64-linux, x86_64-darwin ] - random-derive: [ i686-linux, x86_64-linux, x86_64-darwin ] - random-eff: [ i686-linux, x86_64-linux, x86_64-darwin ] - random-effin: [ i686-linux, x86_64-linux, x86_64-darwin ] - random-fu-multivariate: [ i686-linux, x86_64-linux, x86_64-darwin ] - random-hypergeometric: [ i686-linux, x86_64-linux, x86_64-darwin ] - random-stream: [ i686-linux, x86_64-linux, x86_64-darwin ] - RandomDotOrg: [ i686-linux, x86_64-linux, x86_64-darwin ] - range-set-list: [ i686-linux, x86_64-linux, x86_64-darwin ] - range-space: [ i686-linux, x86_64-linux, x86_64-darwin ] - Range: [ i686-linux, x86_64-linux, x86_64-darwin ] - Ranged-sets: [ i686-linux, x86_64-linux, x86_64-darwin ] - rangemin: [ i686-linux, x86_64-linux, x86_64-darwin ] - rank1dynamic: [ i686-linux, x86_64-linux, x86_64-darwin ] - rank2classes: [ i686-linux, x86_64-linux, x86_64-darwin ] - Ranka: [ i686-linux, x86_64-linux, x86_64-darwin ] - rapid-term: [ i686-linux, x86_64-linux, x86_64-darwin ] - rapid: [ i686-linux, x86_64-linux, x86_64-darwin ] - rasa-example-config: [ i686-linux, x86_64-linux, x86_64-darwin ] - rasa-ext-bufs: [ i686-linux, x86_64-linux, x86_64-darwin ] - rasa-ext-cmd: [ i686-linux, x86_64-linux, x86_64-darwin ] - rasa-ext-cursors: [ i686-linux, x86_64-linux, x86_64-darwin ] - rasa-ext-files: [ i686-linux, x86_64-linux, x86_64-darwin ] - rasa-ext-logger: [ i686-linux, x86_64-linux, x86_64-darwin ] - rasa-ext-slate: [ i686-linux, x86_64-linux, x86_64-darwin ] - rasa-ext-status-bar: [ i686-linux, x86_64-linux, x86_64-darwin ] - rasa-ext-style: [ i686-linux, x86_64-linux, x86_64-darwin ] - rasa-ext-views: [ i686-linux, x86_64-linux, x86_64-darwin ] - rasa-ext-vim: [ i686-linux, x86_64-linux, x86_64-darwin ] - rasa: [ i686-linux, x86_64-linux, x86_64-darwin ] - rascal: [ i686-linux, x86_64-linux, x86_64-darwin ] - Rasenschach: [ i686-linux, x86_64-linux, x86_64-darwin ] - rattletrap: [ i686-linux, x86_64-linux, x86_64-darwin ] - raven-haskell-scotty: [ i686-linux, x86_64-linux, x86_64-darwin ] - raw-feldspar: [ i686-linux, x86_64-linux, x86_64-darwin ] - rawr: [ i686-linux, x86_64-linux, x86_64-darwin ] - raz: [ i686-linux, x86_64-linux, x86_64-darwin ] - razom-text-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - rbr: [ i686-linux, x86_64-linux, x86_64-darwin ] - rc: [ i686-linux, x86_64-linux, x86_64-darwin ] - rcu: [ i686-linux, x86_64-linux, x86_64-darwin ] - rdf4h: [ i686-linux, x86_64-linux, x86_64-darwin ] - rdf: [ i686-linux, x86_64-linux, x86_64-darwin ] - rdioh: [ i686-linux, x86_64-linux, x86_64-darwin ] - react-flux-servant: [ i686-linux, x86_64-linux, x86_64-darwin ] - react-flux: [ i686-linux, x86_64-linux, x86_64-darwin ] - react-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - react-tutorial-haskell-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - reaction-logic: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-bacon: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-balsa: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-banana-automation: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-banana-bunch: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-banana-gi-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-banana-sdl2: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-banana-sdl: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-banana-threepenny: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-banana-wx: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-banana: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-fieldtrip: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-glut: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-jack: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-midyim: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactive-thread: [ i686-linux, x86_64-linux, x86_64-darwin ] - reactor: [ i686-linux, x86_64-linux, x86_64-darwin ] - read-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - readline-statevar: [ i686-linux, x86_64-linux, x86_64-darwin ] - readme-lhs: [ i686-linux, x86_64-linux, x86_64-darwin ] - readpyc: [ i686-linux, x86_64-linux, x86_64-darwin ] - readshp: [ i686-linux, x86_64-linux, x86_64-darwin ] - really-simple-xml-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - reasonable-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - record-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - record-encode: [ i686-linux, x86_64-linux, x86_64-darwin ] - record-gl: [ i686-linux, x86_64-linux, x86_64-darwin ] - record-preprocessor: [ i686-linux, x86_64-linux, x86_64-darwin ] - record-syntax: [ i686-linux, x86_64-linux, x86_64-darwin ] - record: [ i686-linux, x86_64-linux, x86_64-darwin ] - records-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - records: [ i686-linux, x86_64-linux, x86_64-darwin ] - recursive-line-count: [ i686-linux, x86_64-linux, x86_64-darwin ] - recursors: [ i686-linux, x86_64-linux, x86_64-darwin ] - reddit: [ i686-linux, x86_64-linux, x86_64-darwin ] - redis-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - redis: [ i686-linux, x86_64-linux, x86_64-darwin ] - redland: [ i686-linux, x86_64-linux, x86_64-darwin ] - Redmine: [ i686-linux, x86_64-linux, x86_64-darwin ] - reduce-equations: [ i686-linux, x86_64-linux, x86_64-darwin ] - reedsolomon: [ i686-linux, x86_64-linux, x86_64-darwin ] - reenact: [ i686-linux, x86_64-linux, x86_64-darwin ] - ref-fd: [ i686-linux, x86_64-linux, x86_64-darwin ] - ref-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ] - ref-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - ref: [ i686-linux, x86_64-linux, x86_64-darwin ] - Ref: [ i686-linux, x86_64-linux, x86_64-darwin ] - refcount: [ i686-linux, x86_64-linux, x86_64-darwin ] - Referees: [ i686-linux, x86_64-linux, x86_64-darwin ] - refh: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflection-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflex-animation: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflex-gloss-scene: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflex-gloss: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflex-orphans: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflex-sdl2: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflex-transformers: [ i686-linux, x86_64-linux, x86_64-darwin ] - reflex: [ i686-linux, x86_64-linux, x86_64-darwin ] - reformat: [ i686-linux, x86_64-linux, x86_64-darwin ] - refresht: [ i686-linux, x86_64-linux, x86_64-darwin ] - refurb: [ i686-linux, x86_64-linux, x86_64-darwin ] - regex-deriv: [ i686-linux, x86_64-linux, x86_64-darwin ] - regex-dfa: [ i686-linux, x86_64-linux, x86_64-darwin ] - regex-generator: [ i686-linux, x86_64-linux, x86_64-darwin ] - regex-parsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - regex-pderiv: [ i686-linux, x86_64-linux, x86_64-darwin ] - regex-tdfa-pipes: [ i686-linux, x86_64-linux, x86_64-darwin ] - regex-tdfa-quasiquoter: [ i686-linux, x86_64-linux, x86_64-darwin ] - regex-tdfa-rc: [ i686-linux, x86_64-linux, x86_64-darwin ] - regex-tdfa-utf8: [ i686-linux, x86_64-linux, x86_64-darwin ] - regex-tre: [ i686-linux, x86_64-linux, x86_64-darwin ] - regex-type: [ i686-linux, x86_64-linux, x86_64-darwin ] - regex-xmlschema: [ i686-linux, x86_64-linux, x86_64-darwin ] - regexp-tries: [ i686-linux, x86_64-linux, x86_64-darwin ] - regexpr-symbolic: [ i686-linux, x86_64-linux, x86_64-darwin ] - regexqq: [ i686-linux, x86_64-linux, x86_64-darwin ] - regional-pointers: [ i686-linux, x86_64-linux, x86_64-darwin ] - regions-monadsfd: [ i686-linux, x86_64-linux, x86_64-darwin ] - regions-monadstf: [ i686-linux, x86_64-linux, x86_64-darwin ] - regions-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ] - regions: [ i686-linux, x86_64-linux, x86_64-darwin ] - register-machine-typelevel: [ i686-linux, x86_64-linux, x86_64-darwin ] - regress: [ i686-linux, x86_64-linux, x86_64-darwin ] - regular-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - regular-web: [ i686-linux, x86_64-linux, x86_64-darwin ] - regular-xmlpickler: [ i686-linux, x86_64-linux, x86_64-darwin ] - regular: [ i686-linux, x86_64-linux, x86_64-darwin ] - reheat: [ i686-linux, x86_64-linux, x86_64-darwin ] - rei: [ i686-linux, x86_64-linux, x86_64-darwin ] - reified-records: [ i686-linux, x86_64-linux, x86_64-darwin ] - reify: [ i686-linux, x86_64-linux, x86_64-darwin ] - relacion: [ i686-linux, x86_64-linux, x86_64-darwin ] - relapse: [ i686-linux, x86_64-linux, x86_64-darwin ] - relation: [ i686-linux, x86_64-linux, x86_64-darwin ] - relational-postgresql8: [ i686-linux, x86_64-linux, x86_64-darwin ] - relative-date: [ i686-linux, x86_64-linux, x86_64-darwin ] - reload: [ i686-linux, x86_64-linux, x86_64-darwin ] - remark: [ i686-linux, x86_64-linux, x86_64-darwin ] - remarks: [ i686-linux, x86_64-linux, x86_64-darwin ] - remote-debugger: [ i686-linux, x86_64-linux, x86_64-darwin ] - remote-json-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - remote-json-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - remote-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - remote-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - remote: [ i686-linux, x86_64-linux, x86_64-darwin ] - remotion: [ i686-linux, x86_64-linux, x86_64-darwin ] - repa-array: [ i686-linux, x86_64-linux, x86_64-darwin ] - repa-bytestring: [ i686-linux, x86_64-linux, x86_64-darwin ] - repa-convert: [ i686-linux, x86_64-linux, x86_64-darwin ] - repa-devil: [ i686-linux, x86_64-linux, x86_64-darwin ] - repa-eval: [ i686-linux, x86_64-linux, x86_64-darwin ] - repa-flow: [ i686-linux, x86_64-linux, x86_64-darwin ] - repa-linear-algebra: [ i686-linux, x86_64-linux, x86_64-darwin ] - repa-plugin: [ i686-linux, x86_64-linux, x86_64-darwin ] - repa-scalar: [ i686-linux, x86_64-linux, x86_64-darwin ] - repa-series: [ i686-linux, x86_64-linux, x86_64-darwin ] - repa-stream: [ i686-linux, x86_64-linux, x86_64-darwin ] - repa-v4l2: [ i686-linux, x86_64-linux, x86_64-darwin ] - repl: [ i686-linux, x86_64-linux, x86_64-darwin ] - RepLib: [ i686-linux, x86_64-linux, x86_64-darwin ] - replicant: [ i686-linux, x86_64-linux, x86_64-darwin ] - ReplicateEffects: [ i686-linux, x86_64-linux, x86_64-darwin ] - repo-based-blog: [ i686-linux, x86_64-linux, x86_64-darwin ] - repr: [ i686-linux, x86_64-linux, x86_64-darwin ] - representable-functors: [ i686-linux, x86_64-linux, x86_64-darwin ] - representable-tries: [ i686-linux, x86_64-linux, x86_64-darwin ] - reprinter: [ i686-linux, x86_64-linux, x86_64-darwin ] - reproject: [ i686-linux, x86_64-linux, x86_64-darwin ] - req-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - reqcatcher: [ i686-linux, x86_64-linux, x86_64-darwin ] - request-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - require: [ i686-linux, x86_64-linux, x86_64-darwin ] - reserve: [ i686-linux, x86_64-linux, x86_64-darwin ] - reservoir: [ i686-linux, x86_64-linux, x86_64-darwin ] - resistor-cube: [ i686-linux, x86_64-linux, x86_64-darwin ] - resolve-trivial-conflicts: [ i686-linux, x86_64-linux, x86_64-darwin ] - resolve: [ i686-linux, x86_64-linux, x86_64-darwin ] - resource-effect: [ i686-linux, x86_64-linux, x86_64-darwin ] - resource-embed: [ i686-linux, x86_64-linux, x86_64-darwin ] - resource-pool-catchio: [ i686-linux, x86_64-linux, x86_64-darwin ] - resource-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - respond: [ i686-linux, x86_64-linux, x86_64-darwin ] - rest-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - rest-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - rest-example: [ i686-linux, x86_64-linux, x86_64-darwin ] - rest-gen: [ i686-linux, x86_64-linux, x86_64-darwin ] - rest-happstack: [ i686-linux, x86_64-linux, x86_64-darwin ] - rest-snap: [ i686-linux, x86_64-linux, x86_64-darwin ] - rest-stringmap: [ i686-linux, x86_64-linux, x86_64-darwin ] - rest-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - rest-wai: [ i686-linux, x86_64-linux, x86_64-darwin ] - restful-snap: [ i686-linux, x86_64-linux, x86_64-darwin ] - restricted-workers: [ i686-linux, x86_64-linux, x86_64-darwin ] - restyle: [ i686-linux, x86_64-linux, x86_64-darwin ] - rethinkdb-client-driver: [ i686-linux, x86_64-linux, x86_64-darwin ] - rethinkdb-model: [ i686-linux, x86_64-linux, x86_64-darwin ] - rethinkdb-wereHamster: [ i686-linux, x86_64-linux, x86_64-darwin ] - rethinkdb: [ i686-linux, x86_64-linux, x86_64-darwin ] - retryer: [ i686-linux, x86_64-linux, x86_64-darwin ] - reverse-geocoding: [ i686-linux, x86_64-linux, x86_64-darwin ] - reversi: [ i686-linux, x86_64-linux, x86_64-darwin ] - ReviewBoard: [ i686-linux, x86_64-linux, x86_64-darwin ] - rewrite: [ i686-linux, x86_64-linux, x86_64-darwin ] - rewriting: [ i686-linux, x86_64-linux, x86_64-darwin ] - rezoom: [ i686-linux, x86_64-linux, x86_64-darwin ] - rfc-env: [ i686-linux, x86_64-linux, x86_64-darwin ] - rfc-http-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - rfc-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - rfc-psql: [ i686-linux, x86_64-linux, x86_64-darwin ] - rfc-redis: [ i686-linux, x86_64-linux, x86_64-darwin ] - rfc-servant: [ i686-linux, x86_64-linux, x86_64-darwin ] - rfc: [ i686-linux, x86_64-linux, x86_64-darwin ] - rhine-gloss: [ i686-linux, x86_64-linux, x86_64-darwin ] - rhine: [ i686-linux, x86_64-linux, x86_64-darwin ] - rhythm-game-tutorial: [ i686-linux, x86_64-linux, x86_64-darwin ] - ribosome: [ i686-linux, x86_64-linux, x86_64-darwin ] - RichConditional: [ i686-linux, x86_64-linux, x86_64-darwin ] - ridley-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - ridley: [ i686-linux, x86_64-linux, x86_64-darwin ] - riemann: [ i686-linux, x86_64-linux, x86_64-darwin ] - riff: [ i686-linux, x86_64-linux, x86_64-darwin ] - ring-buffer: [ i686-linux, x86_64-linux, x86_64-darwin ] - riot: [ i686-linux, x86_64-linux, x86_64-darwin ] - risc386: [ i686-linux, x86_64-linux, x86_64-darwin ] - riscv-isa: [ i686-linux, x86_64-linux, x86_64-darwin ] - rivers: [ i686-linux, x86_64-linux, x86_64-darwin ] - rivet-migration: [ i686-linux, x86_64-linux, x86_64-darwin ] - rivet-simple-deploy: [ i686-linux, x86_64-linux, x86_64-darwin ] - rivet: [ i686-linux, x86_64-linux, x86_64-darwin ] - RJson: [ i686-linux, x86_64-linux, x86_64-darwin ] - rl-satton: [ i686-linux, x86_64-linux, x86_64-darwin ] - Rlang-QQ: [ i686-linux, x86_64-linux, x86_64-darwin ] - rlglue: [ i686-linux, x86_64-linux, x86_64-darwin ] - rlwe-challenges: [ i686-linux, x86_64-linux, x86_64-darwin ] - rmonad: [ i686-linux, x86_64-linux, x86_64-darwin ] - RMP: [ i686-linux, x86_64-linux, x86_64-darwin ] - RNAdesign: [ i686-linux, x86_64-linux, x86_64-darwin ] - RNAdraw: [ i686-linux, x86_64-linux, x86_64-darwin ] - RNAFold: [ i686-linux, x86_64-linux, x86_64-darwin ] - RNAFoldProgs: [ i686-linux, x86_64-linux, x86_64-darwin ] - RNAlien: [ i686-linux, x86_64-linux, x86_64-darwin ] - RNAwolf: [ i686-linux, x86_64-linux, x86_64-darwin ] - rncryptor: [ i686-linux, x86_64-linux, x86_64-darwin ] - rob: [ i686-linux, x86_64-linux, x86_64-darwin ] - robin: [ i686-linux, x86_64-linux, x86_64-darwin ] - robots-txt: [ i686-linux, x86_64-linux, x86_64-darwin ] - roc-cluster-demo: [ i686-linux, x86_64-linux, x86_64-darwin ] - roc-cluster: [ i686-linux, x86_64-linux, x86_64-darwin ] - roku-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - rollbar-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - roller: [ i686-linux, x86_64-linux, x86_64-darwin ] - RollingDirectory: [ i686-linux, x86_64-linux, x86_64-darwin ] - ron: [ i686-linux, x86_64-linux, x86_64-darwin ] - rope: [ i686-linux, x86_64-linux, x86_64-darwin ] - rose-trees: [ i686-linux, x86_64-linux, x86_64-darwin ] - rose-trie: [ i686-linux, x86_64-linux, x86_64-darwin ] - roshask: [ i686-linux, x86_64-linux, x86_64-darwin ] - rosmsg-bin: [ i686-linux, x86_64-linux, x86_64-darwin ] - rosmsg: [ i686-linux, x86_64-linux, x86_64-darwin ] - rosso: [ i686-linux, x86_64-linux, x86_64-darwin ] - rounded: [ i686-linux, x86_64-linux, x86_64-darwin ] - rounding: [ i686-linux, x86_64-linux, x86_64-darwin ] - roundtrip-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - roundtrip-string: [ i686-linux, x86_64-linux, x86_64-darwin ] - roundtrip-xml: [ i686-linux, x86_64-linux, x86_64-darwin ] - roundtrip: [ i686-linux, x86_64-linux, x86_64-darwin ] - route-planning: [ i686-linux, x86_64-linux, x86_64-darwin ] - rowrecord: [ i686-linux, x86_64-linux, x86_64-darwin ] - rpc-framework: [ i686-linux, x86_64-linux, x86_64-darwin ] - rpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - rpf: [ i686-linux, x86_64-linux, x86_64-darwin ] - rpm: [ i686-linux, x86_64-linux, x86_64-darwin ] - rsagl-frp: [ i686-linux, x86_64-linux, x86_64-darwin ] - rsagl-math: [ i686-linux, x86_64-linux, x86_64-darwin ] - rsagl: [ i686-linux, x86_64-linux, x86_64-darwin ] - rspp: [ i686-linux, x86_64-linux, x86_64-darwin ] - rss-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - rss2irc: [ i686-linux, x86_64-linux, x86_64-darwin ] - rtnetlink: [ i686-linux, x86_64-linux, x86_64-darwin ] - rtorrent-rpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - rts-loader: [ i686-linux, x86_64-linux, x86_64-darwin ] - ruby-marshal: [ i686-linux, x86_64-linux, x86_64-darwin ] - ruby-qq: [ i686-linux, x86_64-linux, x86_64-darwin ] - ruin: [ i686-linux, x86_64-linux, x86_64-darwin ] - ruler-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - ruler: [ i686-linux, x86_64-linux, x86_64-darwin ] - rungekutta: [ i686-linux, x86_64-linux, x86_64-darwin ] - runmany: [ i686-linux, x86_64-linux, x86_64-darwin ] - runtime-arbitrary: [ i686-linux, x86_64-linux, x86_64-darwin ] - rws: [ i686-linux, x86_64-linux, x86_64-darwin ] - RxHaskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - s-expression: [ i686-linux, x86_64-linux, x86_64-darwin ] - SableCC2Hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-access: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-buffer-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-failure-cme: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-freeze: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-globals: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-lazy-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-length: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-money-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-money-cereal: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-money-serialise: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-money-store: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-money-xmlbf: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-money: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-plugins: [ i686-linux, x86_64-linux, x86_64-darwin ] - safe-printf: [ i686-linux, x86_64-linux, x86_64-darwin ] - safecopy-store: [ i686-linux, x86_64-linux, x86_64-darwin ] - safeint: [ i686-linux, x86_64-linux, x86_64-darwin ] - safepath: [ i686-linux, x86_64-linux, x86_64-darwin ] - safer-file-handles-bytestring: [ i686-linux, x86_64-linux, x86_64-darwin ] - safer-file-handles-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - safer-file-handles: [ i686-linux, x86_64-linux, x86_64-darwin ] - saferoute: [ i686-linux, x86_64-linux, x86_64-darwin ] - sai-shape-syb: [ i686-linux, x86_64-linux, x86_64-darwin ] - sajson: [ i686-linux, x86_64-linux, x86_64-darwin ] - Salsa: [ i686-linux, x86_64-linux, x86_64-darwin ] - saltine-quickcheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - salvia-demo: [ i686-linux, x86_64-linux, x86_64-darwin ] - salvia-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - salvia-protocol: [ i686-linux, x86_64-linux, x86_64-darwin ] - salvia-sessions: [ i686-linux, x86_64-linux, x86_64-darwin ] - salvia-websocket: [ i686-linux, x86_64-linux, x86_64-darwin ] - salvia: [ i686-linux, x86_64-linux, x86_64-darwin ] - samtools-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - samtools-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - samtools-iteratee: [ i686-linux, x86_64-linux, x86_64-darwin ] - samtools: [ i686-linux, x86_64-linux, x86_64-darwin ] - sandlib: [ i686-linux, x86_64-linux, x86_64-darwin ] - sarasvati: [ i686-linux, x86_64-linux, x86_64-darwin ] - sarsi: [ i686-linux, x86_64-linux, x86_64-darwin ] - sasl: [ i686-linux, x86_64-linux, x86_64-darwin ] - sat-micro-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - sat: [ i686-linux, x86_64-linux, x86_64-darwin ] - satchmo-backends: [ i686-linux, x86_64-linux, x86_64-darwin ] - satchmo-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - satchmo-funsat: [ i686-linux, x86_64-linux, x86_64-darwin ] - satchmo-minisat: [ i686-linux, x86_64-linux, x86_64-darwin ] - satchmo-toysat: [ i686-linux, x86_64-linux, x86_64-darwin ] - satchmo: [ i686-linux, x86_64-linux, x86_64-darwin ] - savage: [ i686-linux, x86_64-linux, x86_64-darwin ] - sax: [ i686-linux, x86_64-linux, x86_64-darwin ] - SBench: [ i686-linux, x86_64-linux, x86_64-darwin ] - sbvPlugin: [ i686-linux, x86_64-linux, x86_64-darwin ] - sc3-rdu: [ i686-linux, x86_64-linux, x86_64-darwin ] - scalable-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - scaleimage: [ i686-linux, x86_64-linux, x86_64-darwin ] - SCalendar: [ i686-linux, x86_64-linux, x86_64-darwin ] - scalendar: [ i686-linux, x86_64-linux, x86_64-darwin ] - scalp-webhooks: [ i686-linux, x86_64-linux, x86_64-darwin ] - scan-vector-machine: [ i686-linux, x86_64-linux, x86_64-darwin ] - scat: [ i686-linux, x86_64-linux, x86_64-darwin ] - scc: [ i686-linux, x86_64-linux, x86_64-darwin ] - scenegraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - schedevr: [ i686-linux, x86_64-linux, x86_64-darwin ] - schedule-planner: [ i686-linux, x86_64-linux, x86_64-darwin ] - schedyield: [ i686-linux, x86_64-linux, x86_64-darwin ] - schematic: [ i686-linux, x86_64-linux, x86_64-darwin ] - scholdoc-citeproc: [ i686-linux, x86_64-linux, x86_64-darwin ] - scholdoc-texmath: [ i686-linux, x86_64-linux, x86_64-darwin ] - scholdoc-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - scholdoc: [ i686-linux, x86_64-linux, x86_64-darwin ] - science-constants-dimensional: [ i686-linux, x86_64-linux, x86_64-darwin ] - scion-browser: [ i686-linux, x86_64-linux, x86_64-darwin ] - scion: [ i686-linux, x86_64-linux, x86_64-darwin ] - scons2dot: [ i686-linux, x86_64-linux, x86_64-darwin ] - scope-cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - scope: [ i686-linux, x86_64-linux, x86_64-darwin ] - scottish: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty-binding-play: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty-blaze: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty-cookie: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty-fay: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty-format: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty-hastache: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty-params-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty-path-normalizer: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty-resource: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty-rest: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty-session: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty-tls: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty-view: [ i686-linux, x86_64-linux, x86_64-darwin ] - scotty: [ i686-linux, x86_64-linux, x86_64-darwin ] - scp-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - scrabble-bot: [ i686-linux, x86_64-linux, x86_64-darwin ] - scrape-changes: [ i686-linux, x86_64-linux, x86_64-darwin ] - ScratchFs: [ i686-linux, x86_64-linux, x86_64-darwin ] - script-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - SCRIPTWriter: [ i686-linux, x86_64-linux, x86_64-darwin ] - scrobble: [ i686-linux, x86_64-linux, x86_64-darwin ] - Scurry: [ i686-linux, x86_64-linux, x86_64-darwin ] - scythe: [ i686-linux, x86_64-linux, x86_64-darwin ] - scyther-proof: [ i686-linux, x86_64-linux, x86_64-darwin ] - sde-solver: [ i686-linux, x86_64-linux, x86_64-darwin ] - sdl2-cairo-image: [ i686-linux, x86_64-linux, x86_64-darwin ] - sdl2-cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - sdl2-compositor: [ i686-linux, x86_64-linux, x86_64-darwin ] - sdr: [ i686-linux, x86_64-linux, x86_64-darwin ] - seakale-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - seakale-tests: [ i686-linux, x86_64-linux, x86_64-darwin ] - seakale: [ i686-linux, x86_64-linux, x86_64-darwin ] - search-algorithms: [ i686-linux, x86_64-linux, x86_64-darwin ] - sec: [ i686-linux, x86_64-linux, x86_64-darwin ] - secdh: [ i686-linux, x86_64-linux, x86_64-darwin ] - seclib: [ i686-linux, x86_64-linux, x86_64-darwin ] - second-transfer: [ i686-linux, x86_64-linux, x86_64-darwin ] - secp256k1: [ i686-linux, x86_64-linux, x86_64-darwin ] - secret-santa: [ i686-linux, x86_64-linux, x86_64-darwin ] - secret-sharing: [ i686-linux, x86_64-linux, x86_64-darwin ] - secrm: [ i686-linux, x86_64-linux, x86_64-darwin ] - sednaDBXML: [ i686-linux, x86_64-linux, x86_64-darwin ] - selectors: [ i686-linux, x86_64-linux, x86_64-darwin ] - SelectSequencesFromMSA: [ i686-linux, x86_64-linux, x86_64-darwin ] - selenium-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - selenium: [ i686-linux, x86_64-linux, x86_64-darwin ] - self-extract: [ i686-linux, x86_64-linux, x86_64-darwin ] - selinux: [ i686-linux, x86_64-linux, x86_64-darwin ] - Semantique: [ i686-linux, x86_64-linux, x86_64-darwin ] - semdoc: [ i686-linux, x86_64-linux, x86_64-darwin ] - semi-iso: [ i686-linux, x86_64-linux, x86_64-darwin ] - semibounded-lattices: [ i686-linux, x86_64-linux, x86_64-darwin ] - Semigroup: [ i686-linux, x86_64-linux, x86_64-darwin ] - semigroupoids-syntax: [ i686-linux, x86_64-linux, x86_64-darwin ] - semigroups-actions: [ i686-linux, x86_64-linux, x86_64-darwin ] - semilattices: [ i686-linux, x86_64-linux, x86_64-darwin ] - semiring-num: [ i686-linux, x86_64-linux, x86_64-darwin ] - semiring: [ i686-linux, x86_64-linux, x86_64-darwin ] - semver-range: [ i686-linux, x86_64-linux, x86_64-darwin ] - sendgrid-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - sendgrid-v3: [ i686-linux, x86_64-linux, x86_64-darwin ] - sensei: [ i686-linux, x86_64-linux, x86_64-darwin ] - sensenet: [ i686-linux, x86_64-linux, x86_64-darwin ] - sentence-jp: [ i686-linux, x86_64-linux, x86_64-darwin ] - sentry: [ i686-linux, x86_64-linux, x86_64-darwin ] - seqaid: [ i686-linux, x86_64-linux, x86_64-darwin ] - SeqAlign: [ i686-linux, x86_64-linux, x86_64-darwin ] - seqid-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - seqid: [ i686-linux, x86_64-linux, x86_64-darwin ] - seqloc-datafiles: [ i686-linux, x86_64-linux, x86_64-darwin ] - seqloc: [ i686-linux, x86_64-linux, x86_64-darwin ] - sequent-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - sequor: [ i686-linux, x86_64-linux, x86_64-darwin ] - serialize-instances: [ i686-linux, x86_64-linux, x86_64-darwin ] - serokell-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - serpentine: [ i686-linux, x86_64-linux, x86_64-darwin ] - serv-wai: [ i686-linux, x86_64-linux, x86_64-darwin ] - serv: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-aeson-specs: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-auth-cookie: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-auth-docs: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-auth-hmac: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-auth-swagger: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-auth-token-acid: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-auth-token-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-auth-token-leveldb: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-auth-token-persistent: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-auth-token-rocksdb: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-auth-token: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-checked-exceptions-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-checked-exceptions: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-client-namedargs: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-csharp: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-db-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-db: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-dhall: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-docs: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-ekg: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-generate: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-generic: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-github-webhook: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-github: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-haxl-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-hmac-auth: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-http2-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-iCalendar: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-jquery: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-machines: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-matrix-param: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-multipart: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-namedargs: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-nix: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-pandoc: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-pipes: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-pool: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-proto-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-purescript: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-pushbullet-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-py: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-quickcheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-rawm: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-router: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-scotty: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-server-namedargs: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-smsc-ru: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-snap: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-streaming-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-streaming-docs: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-streaming-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-subscriber: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-swagger-ui-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-swagger-ui-jensoleg: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-swagger-ui-redoc: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-swagger-ui: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-swagger: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-xml: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-zeppelin-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-zeppelin-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-zeppelin-swagger: [ i686-linux, x86_64-linux, x86_64-darwin ] - servant-zeppelin: [ i686-linux, x86_64-linux, x86_64-darwin ] - server-generic: [ i686-linux, x86_64-linux, x86_64-darwin ] - serverless-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - serversession-frontend-snap: [ i686-linux, x86_64-linux, x86_64-darwin ] - serversession-frontend-yesod: [ i686-linux, x86_64-linux, x86_64-darwin ] - services: [ i686-linux, x86_64-linux, x86_64-darwin ] - ses-html-snaplet: [ i686-linux, x86_64-linux, x86_64-darwin ] - SessionLogger: [ i686-linux, x86_64-linux, x86_64-darwin ] - sessions: [ i686-linux, x86_64-linux, x86_64-darwin ] - sessiontypes-distributed: [ i686-linux, x86_64-linux, x86_64-darwin ] - sessiontypes: [ i686-linux, x86_64-linux, x86_64-darwin ] - set-cover: [ i686-linux, x86_64-linux, x86_64-darwin ] - set-of: [ i686-linux, x86_64-linux, x86_64-darwin ] - set-with: [ i686-linux, x86_64-linux, x86_64-darwin ] - setdown: [ i686-linux, x86_64-linux, x86_64-darwin ] - setgame: [ i686-linux, x86_64-linux, x86_64-darwin ] - setoid: [ i686-linux, x86_64-linux, x86_64-darwin ] - sets: [ i686-linux, x86_64-linux, x86_64-darwin ] - setters: [ i686-linux, x86_64-linux, x86_64-darwin ] - sexp-grammar: [ i686-linux, x86_64-linux, x86_64-darwin ] - sexp: [ i686-linux, x86_64-linux, x86_64-darwin ] - sext: [ i686-linux, x86_64-linux, x86_64-darwin ] - SFML-control: [ i686-linux, x86_64-linux, x86_64-darwin ] - SFML: [ i686-linux, x86_64-linux, x86_64-darwin ] - sfmt: [ i686-linux, x86_64-linux, x86_64-darwin ] - sfnt2woff: [ i686-linux, x86_64-linux, x86_64-darwin ] - SFont: [ i686-linux, x86_64-linux, x86_64-darwin ] - SG: [ i686-linux, x86_64-linux, x86_64-darwin ] - sgd: [ i686-linux, x86_64-linux, x86_64-darwin ] - SGdemo: [ i686-linux, x86_64-linux, x86_64-darwin ] - sgf: [ i686-linux, x86_64-linux, x86_64-darwin ] - SGplus: [ i686-linux, x86_64-linux, x86_64-darwin ] - sgrep: [ i686-linux, x86_64-linux, x86_64-darwin ] - sh2md: [ i686-linux, x86_64-linux, x86_64-darwin ] - sha-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - shade: [ i686-linux, x86_64-linux, x86_64-darwin ] - shadower: [ i686-linux, x86_64-linux, x86_64-darwin ] - shake-cabal-build: [ i686-linux, x86_64-linux, x86_64-darwin ] - shake-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - shake-minify: [ i686-linux, x86_64-linux, x86_64-darwin ] - shake-pack: [ i686-linux, x86_64-linux, x86_64-darwin ] - shake-path: [ i686-linux, x86_64-linux, x86_64-darwin ] - shake-persist: [ i686-linux, x86_64-linux, x86_64-darwin ] - shaker: [ i686-linux, x86_64-linux, x86_64-darwin ] - shakespeare-babel: [ i686-linux, x86_64-linux, x86_64-darwin ] - shakespeare-sass: [ i686-linux, x86_64-linux, x86_64-darwin ] - shapely-data: [ i686-linux, x86_64-linux, x86_64-darwin ] - shared-buffer: [ i686-linux, x86_64-linux, x86_64-darwin ] - shared-fields: [ i686-linux, x86_64-linux, x86_64-darwin ] - she: [ i686-linux, x86_64-linux, x86_64-darwin ] - shelduck: [ i686-linux, x86_64-linux, x86_64-darwin ] - shell-pipe: [ i686-linux, x86_64-linux, x86_64-darwin ] - Shellac-compatline: [ i686-linux, x86_64-linux, x86_64-darwin ] - Shellac-editline: [ i686-linux, x86_64-linux, x86_64-darwin ] - Shellac-haskeline: [ i686-linux, x86_64-linux, x86_64-darwin ] - Shellac-readline: [ i686-linux, x86_64-linux, x86_64-darwin ] - Shellac: [ i686-linux, x86_64-linux, x86_64-darwin ] - shellish: [ i686-linux, x86_64-linux, x86_64-darwin ] - shellmate-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - shellmate: [ i686-linux, x86_64-linux, x86_64-darwin ] - shellwords: [ i686-linux, x86_64-linux, x86_64-darwin ] - shh: [ i686-linux, x86_64-linux, x86_64-darwin ] - shimmer: [ i686-linux, x86_64-linux, x86_64-darwin ] - shivers-cfg: [ i686-linux, x86_64-linux, x86_64-darwin ] - shoap: [ i686-linux, x86_64-linux, x86_64-darwin ] - shopify: [ i686-linux, x86_64-linux, x86_64-darwin ] - shorten-strings: [ i686-linux, x86_64-linux, x86_64-darwin ] - ShortestPathProblems: [ i686-linux, x86_64-linux, x86_64-darwin ] - showdown: [ i686-linux, x86_64-linux, x86_64-darwin ] - shpider: [ i686-linux, x86_64-linux, x86_64-darwin ] - shuffle: [ i686-linux, x86_64-linux, x86_64-darwin ] - si-clock: [ i686-linux, x86_64-linux, x86_64-darwin ] - sibe: [ i686-linux, x86_64-linux, x86_64-darwin ] - sifflet-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - sifflet: [ i686-linux, x86_64-linux, x86_64-darwin ] - sigma-ij: [ i686-linux, x86_64-linux, x86_64-darwin ] - sign: [ i686-linux, x86_64-linux, x86_64-darwin ] - signals: [ i686-linux, x86_64-linux, x86_64-darwin ] - signed-multiset: [ i686-linux, x86_64-linux, x86_64-darwin ] - silvi: [ i686-linux, x86_64-linux, x86_64-darwin ] - simd: [ i686-linux, x86_64-linux, x86_64-darwin ] - simgi: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-actors: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-affine-space: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-atom: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-bluetooth: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-c-value: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-config: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-css: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-download: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-eval: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-firewire: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-genetic-algorithm: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-index: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-log-syslog: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-logging: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-money: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-neural-networks: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-nix: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-pascal: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-pipe: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-postgresql-orm: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-rope: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-session: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-tabular: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-tar: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-templates: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-ui: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-vec3: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple-zipper: [ i686-linux, x86_64-linux, x86_64-darwin ] - simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - simpleargs: [ i686-linux, x86_64-linux, x86_64-darwin ] - simpleconfig: [ i686-linux, x86_64-linux, x86_64-darwin ] - SimpleGL: [ i686-linux, x86_64-linux, x86_64-darwin ] - simpleirc-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - simpleirc: [ i686-linux, x86_64-linux, x86_64-darwin ] - SimpleLog: [ i686-linux, x86_64-linux, x86_64-darwin ] - simplenote: [ i686-linux, x86_64-linux, x86_64-darwin ] - simpleprelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - SimpleServer: [ i686-linux, x86_64-linux, x86_64-darwin ] - simplest-sqlite: [ i686-linux, x86_64-linux, x86_64-darwin ] - simseq: [ i686-linux, x86_64-linux, x86_64-darwin ] - singleton-dict: [ i686-linux, x86_64-linux, x86_64-darwin ] - singleton-typelits: [ i686-linux, x86_64-linux, x86_64-darwin ] - singnal: [ i686-linux, x86_64-linux, x86_64-darwin ] - sink: [ i686-linux, x86_64-linux, x86_64-darwin ] - siphon: [ i686-linux, x86_64-linux, x86_64-darwin ] - siren-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - sirkel: [ i686-linux, x86_64-linux, x86_64-darwin ] - sitepipe: [ i686-linux, x86_64-linux, x86_64-darwin ] - sixfiguregroup: [ i686-linux, x86_64-linux, x86_64-darwin ] - sized-grid: [ i686-linux, x86_64-linux, x86_64-darwin ] - sized-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - sized-vector: [ i686-linux, x86_64-linux, x86_64-darwin ] - sized: [ i686-linux, x86_64-linux, x86_64-darwin ] - sizes: [ i686-linux, x86_64-linux, x86_64-darwin ] - sjsp: [ i686-linux, x86_64-linux, x86_64-darwin ] - skeletal-set: [ i686-linux, x86_64-linux, x86_64-darwin ] - skeleton: [ i686-linux, x86_64-linux, x86_64-darwin ] - skeletons: [ i686-linux, x86_64-linux, x86_64-darwin ] - skell: [ i686-linux, x86_64-linux, x86_64-darwin ] - skemmtun: [ i686-linux, x86_64-linux, x86_64-darwin ] - skews: [ i686-linux, x86_64-linux, x86_64-darwin ] - skulk: [ i686-linux, x86_64-linux, x86_64-darwin ] - skylark-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - skype4hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - slack-web: [ i686-linux, x86_64-linux, x86_64-darwin ] - slack: [ i686-linux, x86_64-linux, x86_64-darwin ] - slick: [ i686-linux, x86_64-linux, x86_64-darwin ] - slidemews: [ i686-linux, x86_64-linux, x86_64-darwin ] - Slides: [ i686-linux, x86_64-linux, x86_64-darwin ] - slim: [ i686-linux, x86_64-linux, x86_64-darwin ] - sloane: [ i686-linux, x86_64-linux, x86_64-darwin ] - slope-field: [ i686-linux, x86_64-linux, x86_64-darwin ] - slot-lambda: [ i686-linux, x86_64-linux, x86_64-darwin ] - sloth: [ i686-linux, x86_64-linux, x86_64-darwin ] - slug: [ i686-linux, x86_64-linux, x86_64-darwin ] - smallarray: [ i686-linux, x86_64-linux, x86_64-darwin ] - smallcaps: [ i686-linux, x86_64-linux, x86_64-darwin ] - smallcheck-laws: [ i686-linux, x86_64-linux, x86_64-darwin ] - smallcheck-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - smallcheck-series: [ i686-linux, x86_64-linux, x86_64-darwin ] - smallpt-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - smallstring: [ i686-linux, x86_64-linux, x86_64-darwin ] - smartcheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - smartconstructor: [ i686-linux, x86_64-linux, x86_64-darwin ] - smartGroup: [ i686-linux, x86_64-linux, x86_64-darwin ] - smartword: [ i686-linux, x86_64-linux, x86_64-darwin ] - smcdel: [ i686-linux, x86_64-linux, x86_64-darwin ] - sme: [ i686-linux, x86_64-linux, x86_64-darwin ] - smerdyakov: [ i686-linux, x86_64-linux, x86_64-darwin ] - smiles: [ i686-linux, x86_64-linux, x86_64-darwin ] - Smooth: [ i686-linux, x86_64-linux, x86_64-darwin ] - smsaero: [ i686-linux, x86_64-linux, x86_64-darwin ] - smt-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - smtlib2-debug: [ i686-linux, x86_64-linux, x86_64-darwin ] - smtlib2-pipe: [ i686-linux, x86_64-linux, x86_64-darwin ] - smtlib2-quickcheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - SmtLib: [ i686-linux, x86_64-linux, x86_64-darwin ] - smtp-mail-ng: [ i686-linux, x86_64-linux, x86_64-darwin ] - SMTPClient: [ i686-linux, x86_64-linux, x86_64-darwin ] - smtps-gmail: [ i686-linux, x86_64-linux, x86_64-darwin ] - smuggler: [ i686-linux, x86_64-linux, x86_64-darwin ] - snake-game: [ i686-linux, x86_64-linux, x86_64-darwin ] - snake: [ i686-linux, x86_64-linux, x86_64-darwin ] - snap-auth-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - snap-blaze-clay: [ i686-linux, x86_64-linux, x86_64-darwin ] - snap-configuration-utilities: [ i686-linux, x86_64-linux, x86_64-darwin ] - snap-error-collector: [ i686-linux, x86_64-linux, x86_64-darwin ] - snap-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - snap-language: [ i686-linux, x86_64-linux, x86_64-darwin ] - snap-routes: [ i686-linux, x86_64-linux, x86_64-darwin ] - snap-stream: [ i686-linux, x86_64-linux, x86_64-darwin ] - snap-templates: [ i686-linux, x86_64-linux, x86_64-darwin ] - snap-testing: [ i686-linux, x86_64-linux, x86_64-darwin ] - snap-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - snap-web-routes: [ i686-linux, x86_64-linux, x86_64-darwin ] - snap: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-acid-state: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-actionlog: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-amqp: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-auth-acid: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-coffee: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-css-min: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-customauth: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-environments: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-fay: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-ghcjs: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-hasql: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-haxl: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-hdbc: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-hslogger: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-i18n: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-influxdb: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-mandrill: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-mongodb-minimalistic: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-mongoDB: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-mysql-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-oauth: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-persistent: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-postgresql-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-postmark: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-purescript: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-recaptcha: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-redis: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-redson: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-rest: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-riak: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-sass: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-scoped-session: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-sedna: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-ses-html: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-sqlite-simple-jwt-auth: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-sqlite-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-stripe: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-tasks: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-typed-sessions: [ i686-linux, x86_64-linux, x86_64-darwin ] - snaplet-wordpress: [ i686-linux, x86_64-linux, x86_64-darwin ] - snappy-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - snappy-iteratee: [ i686-linux, x86_64-linux, x86_64-darwin ] - sndfile-enumerators: [ i686-linux, x86_64-linux, x86_64-darwin ] - sneakyterm: [ i686-linux, x86_64-linux, x86_64-darwin ] - SNet: [ i686-linux, x86_64-linux, x86_64-darwin ] - snipcheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - snm: [ i686-linux, x86_64-linux, x86_64-darwin ] - snmp: [ i686-linux, x86_64-linux, x86_64-darwin ] - snorkels: [ i686-linux, x86_64-linux, x86_64-darwin ] - snow-white: [ i686-linux, x86_64-linux, x86_64-darwin ] - snowflake-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - snowflake-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - snowtify: [ i686-linux, x86_64-linux, x86_64-darwin ] - Snusmumrik: [ i686-linux, x86_64-linux, x86_64-darwin ] - soap-openssl: [ i686-linux, x86_64-linux, x86_64-darwin ] - SoccerFun: [ i686-linux, x86_64-linux, x86_64-darwin ] - SoccerFunGL: [ i686-linux, x86_64-linux, x86_64-darwin ] - socket-sctp: [ i686-linux, x86_64-linux, x86_64-darwin ] - socket-unix: [ i686-linux, x86_64-linux, x86_64-darwin ] - socketed: [ i686-linux, x86_64-linux, x86_64-darwin ] - socketio: [ i686-linux, x86_64-linux, x86_64-darwin ] - sockets: [ i686-linux, x86_64-linux, x86_64-darwin ] - socketson: [ i686-linux, x86_64-linux, x86_64-darwin ] - sodium: [ i686-linux, x86_64-linux, x86_64-darwin ] - soegtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - softfloat-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - solga-swagger: [ i686-linux, x86_64-linux, x86_64-darwin ] - solga: [ i686-linux, x86_64-linux, x86_64-darwin ] - solr: [ i686-linux, x86_64-linux, x86_64-darwin ] - sonic-visualiser: [ i686-linux, x86_64-linux, x86_64-darwin ] - Sonnex: [ i686-linux, x86_64-linux, x86_64-darwin ] - SoOSiM: [ i686-linux, x86_64-linux, x86_64-darwin ] - sorted: [ i686-linux, x86_64-linux, x86_64-darwin ] - sorting: [ i686-linux, x86_64-linux, x86_64-darwin ] - sorty: [ i686-linux, x86_64-linux, x86_64-darwin ] - sound-collage: [ i686-linux, x86_64-linux, x86_64-darwin ] - source-code-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - SourceGraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - sousit: [ i686-linux, x86_64-linux, x86_64-darwin ] - soyuz: [ i686-linux, x86_64-linux, x86_64-darwin ] - SpaceInvaders: [ i686-linux, x86_64-linux, x86_64-darwin ] - spacepart: [ i686-linux, x86_64-linux, x86_64-darwin ] - SpacePrivateers: [ i686-linux, x86_64-linux, x86_64-darwin ] - spake2: [ i686-linux, x86_64-linux, x86_64-darwin ] - spanout: [ i686-linux, x86_64-linux, x86_64-darwin ] - sparkle: [ i686-linux, x86_64-linux, x86_64-darwin ] - sparrow: [ i686-linux, x86_64-linux, x86_64-darwin ] - sparse-lin-alg: [ i686-linux, x86_64-linux, x86_64-darwin ] - sparse: [ i686-linux, x86_64-linux, x86_64-darwin ] - sparsebit: [ i686-linux, x86_64-linux, x86_64-darwin ] - sparsecheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - sparser: [ i686-linux, x86_64-linux, x86_64-darwin ] - spata: [ i686-linux, x86_64-linux, x86_64-darwin ] - spatial-rotations: [ i686-linux, x86_64-linux, x86_64-darwin ] - special-functors: [ i686-linux, x86_64-linux, x86_64-darwin ] - special-keys: [ i686-linux, x86_64-linux, x86_64-darwin ] - specialize-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - species: [ i686-linux, x86_64-linux, x86_64-darwin ] - spectral-clustering: [ i686-linux, x86_64-linux, x86_64-darwin ] - speculation-transformers: [ i686-linux, x86_64-linux, x86_64-darwin ] - speculation: [ i686-linux, x86_64-linux, x86_64-darwin ] - speechmatics: [ i686-linux, x86_64-linux, x86_64-darwin ] - speedy-slice: [ i686-linux, x86_64-linux, x86_64-darwin ] - spelling-suggest: [ i686-linux, x86_64-linux, x86_64-darwin ] - sphero: [ i686-linux, x86_64-linux, x86_64-darwin ] - sphinx-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - sphinxesc: [ i686-linux, x86_64-linux, x86_64-darwin ] - spice: [ i686-linux, x86_64-linux, x86_64-darwin ] - SpinCounter: [ i686-linux, x86_64-linux, x86_64-darwin ] - spir-v: [ i686-linux, x86_64-linux, x86_64-darwin ] - splay: [ i686-linux, x86_64-linux, x86_64-darwin ] - splaytree: [ i686-linux, x86_64-linux, x86_64-darwin ] - spline3: [ i686-linux, x86_64-linux, x86_64-darwin ] - splines: [ i686-linux, x86_64-linux, x86_64-darwin ] - splitter: [ i686-linux, x86_64-linux, x86_64-darwin ] - splot: [ i686-linux, x86_64-linux, x86_64-darwin ] - Spock-api-ghcjs: [ i686-linux, x86_64-linux, x86_64-darwin ] - Spock-api-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - Spock-auth: [ i686-linux, x86_64-linux, x86_64-darwin ] - Spock-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - Spock-digestive: [ i686-linux, x86_64-linux, x86_64-darwin ] - Spock-lucid: [ i686-linux, x86_64-linux, x86_64-darwin ] - Spock-worker: [ i686-linux, x86_64-linux, x86_64-darwin ] - Spock: [ i686-linux, x86_64-linux, x86_64-darwin ] - spoonutil: [ i686-linux, x86_64-linux, x86_64-darwin ] - spoty: [ i686-linux, x86_64-linux, x86_64-darwin ] - Sprig: [ i686-linux, x86_64-linux, x86_64-darwin ] - sprinkles: [ i686-linux, x86_64-linux, x86_64-darwin ] - spritz: [ i686-linux, x86_64-linux, x86_64-darwin ] - sproxy-web: [ i686-linux, x86_64-linux, x86_64-darwin ] - spsa: [ i686-linux, x86_64-linux, x86_64-darwin ] - spy: [ i686-linux, x86_64-linux, x86_64-darwin ] - sql-simple-mysql: [ i686-linux, x86_64-linux, x86_64-darwin ] - sql-simple-pool: [ i686-linux, x86_64-linux, x86_64-darwin ] - sql-simple-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - sql-simple-sqlite: [ i686-linux, x86_64-linux, x86_64-darwin ] - sql-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - sqlcipher: [ i686-linux, x86_64-linux, x86_64-darwin ] - sqlite-simple-typed: [ i686-linux, x86_64-linux, x86_64-darwin ] - sqlite: [ i686-linux, x86_64-linux, x86_64-darwin ] - sqlvalue-list: [ i686-linux, x86_64-linux, x86_64-darwin ] - sqsd-local: [ i686-linux, x86_64-linux, x86_64-darwin ] - squeal-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - srcinst: [ i686-linux, x86_64-linux, x86_64-darwin ] - sscan: [ i686-linux, x86_64-linux, x86_64-darwin ] - sscgi: [ i686-linux, x86_64-linux, x86_64-darwin ] - ssh-tunnel: [ i686-linux, x86_64-linux, x86_64-darwin ] - ssh: [ i686-linux, x86_64-linux, x86_64-darwin ] - sshd-lint: [ i686-linux, x86_64-linux, x86_64-darwin ] - sssp: [ i686-linux, x86_64-linux, x86_64-darwin ] - sstable: [ i686-linux, x86_64-linux, x86_64-darwin ] - SSTG: [ i686-linux, x86_64-linux, x86_64-darwin ] - stable-heap: [ i686-linux, x86_64-linux, x86_64-darwin ] - stable-maps: [ i686-linux, x86_64-linux, x86_64-darwin ] - stable-marriage: [ i686-linux, x86_64-linux, x86_64-darwin ] - stable-memo: [ i686-linux, x86_64-linux, x86_64-darwin ] - stable-tree: [ i686-linux, x86_64-linux, x86_64-darwin ] - stack-bump: [ i686-linux, x86_64-linux, x86_64-darwin ] - stack-hpc-coveralls: [ i686-linux, x86_64-linux, x86_64-darwin ] - stack-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - stack-network: [ i686-linux, x86_64-linux, x86_64-darwin ] - stack-prism: [ i686-linux, x86_64-linux, x86_64-darwin ] - stack-run-auto: [ i686-linux, x86_64-linux, x86_64-darwin ] - stack-run: [ i686-linux, x86_64-linux, x86_64-darwin ] - stack-type: [ i686-linux, x86_64-linux, x86_64-darwin ] - stack2cabal: [ i686-linux, x86_64-linux, x86_64-darwin ] - stackage-build-plan: [ i686-linux, x86_64-linux, x86_64-darwin ] - stackage-cabal: [ i686-linux, x86_64-linux, x86_64-darwin ] - stackage-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - stackage-curator: [ i686-linux, x86_64-linux, x86_64-darwin ] - stackage-metadata: [ i686-linux, x86_64-linux, x86_64-darwin ] - stackage-sandbox: [ i686-linux, x86_64-linux, x86_64-darwin ] - stackage-setup: [ i686-linux, x86_64-linux, x86_64-darwin ] - stackage-to-hackage: [ i686-linux, x86_64-linux, x86_64-darwin ] - stackage-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - stackage-upload: [ i686-linux, x86_64-linux, x86_64-darwin ] - stackage2nix: [ i686-linux, x86_64-linux, x86_64-darwin ] - stackage: [ i686-linux, x86_64-linux, x86_64-darwin ] - standalone-derive-topdown: [ i686-linux, x86_64-linux, x86_64-darwin ] - standalone-haddock: [ i686-linux, x86_64-linux, x86_64-darwin ] - starling: [ i686-linux, x86_64-linux, x86_64-darwin ] - stash: [ i686-linux, x86_64-linux, x86_64-darwin ] - Stasis: [ i686-linux, x86_64-linux, x86_64-darwin ] - state-bag: [ i686-linux, x86_64-linux, x86_64-darwin ] - state-plus: [ i686-linux, x86_64-linux, x86_64-darwin ] - state-record: [ i686-linux, x86_64-linux, x86_64-darwin ] - state: [ i686-linux, x86_64-linux, x86_64-darwin ] - stateful-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ] - stateWriter: [ i686-linux, x86_64-linux, x86_64-darwin ] - static-canvas: [ i686-linux, x86_64-linux, x86_64-darwin ] - static-closure: [ i686-linux, x86_64-linux, x86_64-darwin ] - static-tensor: [ i686-linux, x86_64-linux, x86_64-darwin ] - static-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - statistics-dirichlet: [ i686-linux, x86_64-linux, x86_64-darwin ] - statistics-fusion: [ i686-linux, x86_64-linux, x86_64-darwin ] - statistics-hypergeometric-genvar: [ i686-linux, x86_64-linux, x86_64-darwin ] - stats: [ i686-linux, x86_64-linux, x86_64-darwin ] - statsd-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - statsd: [ i686-linux, x86_64-linux, x86_64-darwin ] - statsdi: [ i686-linux, x86_64-linux, x86_64-darwin ] - status-notifier-item: [ i686-linux, x86_64-linux, x86_64-darwin ] - staversion: [ i686-linux, x86_64-linux, x86_64-darwin ] - stb-image-redux: [ i686-linux, x86_64-linux, x86_64-darwin ] - stb-truetype: [ i686-linux, x86_64-linux, x86_64-darwin ] - stdata: [ i686-linux, x86_64-linux, x86_64-darwin ] - stdf: [ i686-linux, x86_64-linux, x86_64-darwin ] - steambrowser: [ i686-linux, x86_64-linux, x86_64-darwin ] - stego-uuid: [ i686-linux, x86_64-linux, x86_64-darwin ] - stemmer-german: [ i686-linux, x86_64-linux, x86_64-darwin ] - stemmer: [ i686-linux, x86_64-linux, x86_64-darwin ] - stepwise: [ i686-linux, x86_64-linux, x86_64-darwin ] - stgi: [ i686-linux, x86_64-linux, x86_64-darwin ] - STL: [ i686-linux, x86_64-linux, x86_64-darwin ] - stm-chunked-queues: [ i686-linux, x86_64-linux, x86_64-darwin ] - stm-firehose: [ i686-linux, x86_64-linux, x86_64-darwin ] - stm-io-hooks: [ i686-linux, x86_64-linux, x86_64-darwin ] - stm-lifted: [ i686-linux, x86_64-linux, x86_64-darwin ] - stm-promise: [ i686-linux, x86_64-linux, x86_64-darwin ] - stm-stats: [ i686-linux, x86_64-linux, x86_64-darwin ] - stm-supply: [ i686-linux, x86_64-linux, x86_64-darwin ] - stmcontrol: [ i686-linux, x86_64-linux, x86_64-darwin ] - stochastic: [ i686-linux, x86_64-linux, x86_64-darwin ] - StockholmAlignment: [ i686-linux, x86_64-linux, x86_64-darwin ] - Stomp: [ i686-linux, x86_64-linux, x86_64-darwin ] - storable-static-array: [ i686-linux, x86_64-linux, x86_64-darwin ] - storable: [ i686-linux, x86_64-linux, x86_64-darwin ] - storablevector-streamfusion: [ i686-linux, x86_64-linux, x86_64-darwin ] - stp: [ i686-linux, x86_64-linux, x86_64-darwin ] - str: [ i686-linux, x86_64-linux, x86_64-darwin ] - Strafunski-ATermLib: [ i686-linux, x86_64-linux, x86_64-darwin ] - Strafunski-Sdf2Haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - StrappedTemplates: [ i686-linux, x86_64-linux, x86_64-darwin ] - stratum-tool: [ i686-linux, x86_64-linux, x86_64-darwin ] - stratux-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - stratux-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - stratux-websockets: [ i686-linux, x86_64-linux, x86_64-darwin ] - stratux: [ i686-linux, x86_64-linux, x86_64-darwin ] - stream-fusion: [ i686-linux, x86_64-linux, x86_64-darwin ] - stream-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - stream: [ i686-linux, x86_64-linux, x86_64-darwin ] - streamdeck: [ i686-linux, x86_64-linux, x86_64-darwin ] - streamed: [ i686-linux, x86_64-linux, x86_64-darwin ] - streaming-benchmarks: [ i686-linux, x86_64-linux, x86_64-darwin ] - streaming-cassava: [ i686-linux, x86_64-linux, x86_64-darwin ] - streaming-concurrency: [ i686-linux, x86_64-linux, x86_64-darwin ] - streaming-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - streaming-fft: [ i686-linux, x86_64-linux, x86_64-darwin ] - streaming-osm: [ i686-linux, x86_64-linux, x86_64-darwin ] - streaming-pcap: [ i686-linux, x86_64-linux, x86_64-darwin ] - streaming-png: [ i686-linux, x86_64-linux, x86_64-darwin ] - streaming-postgresql-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - streaming-process: [ i686-linux, x86_64-linux, x86_64-darwin ] - streaming-sort: [ i686-linux, x86_64-linux, x86_64-darwin ] - streaming-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - strelka: [ i686-linux, x86_64-linux, x86_64-darwin ] - strict-data: [ i686-linux, x86_64-linux, x86_64-darwin ] - StrictBench: [ i686-linux, x86_64-linux, x86_64-darwin ] - StrictCheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - strictly: [ i686-linux, x86_64-linux, x86_64-darwin ] - string-isos: [ i686-linux, x86_64-linux, x86_64-darwin ] - string-random: [ i686-linux, x86_64-linux, x86_64-darwin ] - string-typelits: [ i686-linux, x86_64-linux, x86_64-darwin ] - stringlike: [ i686-linux, x86_64-linux, x86_64-darwin ] - stringtable-atom: [ i686-linux, x86_64-linux, x86_64-darwin ] - stripe-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - stripe-http-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - stripe-scotty: [ i686-linux, x86_64-linux, x86_64-darwin ] - stripe: [ i686-linux, x86_64-linux, x86_64-darwin ] - structural-induction: [ i686-linux, x86_64-linux, x86_64-darwin ] - structural-traversal: [ i686-linux, x86_64-linux, x86_64-darwin ] - structured-mongoDB: [ i686-linux, x86_64-linux, x86_64-darwin ] - structures: [ i686-linux, x86_64-linux, x86_64-darwin ] - stt: [ i686-linux, x86_64-linux, x86_64-darwin ] - stunts: [ i686-linux, x86_64-linux, x86_64-darwin ] - stutter: [ i686-linux, x86_64-linux, x86_64-darwin ] - stylized: [ i686-linux, x86_64-linux, x86_64-darwin ] - sub-state: [ i686-linux, x86_64-linux, x86_64-darwin ] - subhask: [ i686-linux, x86_64-linux, x86_64-darwin ] - subleq-toolchain: [ i686-linux, x86_64-linux, x86_64-darwin ] - submark: [ i686-linux, x86_64-linux, x86_64-darwin ] - subsample: [ i686-linux, x86_64-linux, x86_64-darwin ] - substring-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - subwordgraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - successors: [ i686-linux, x86_64-linux, x86_64-darwin ] - suffix-array: [ i686-linux, x86_64-linux, x86_64-darwin ] - suffixarray: [ i686-linux, x86_64-linux, x86_64-darwin ] - SuffixStructures: [ i686-linux, x86_64-linux, x86_64-darwin ] - suitable: [ i686-linux, x86_64-linux, x86_64-darwin ] - summoner: [ i686-linux, x86_64-linux, x86_64-darwin ] - sump: [ i686-linux, x86_64-linux, x86_64-darwin ] - sunlight: [ i686-linux, x86_64-linux, x86_64-darwin ] - sunroof-compiler: [ i686-linux, x86_64-linux, x86_64-darwin ] - sunroof-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - sunroof-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - super-user-spark: [ i686-linux, x86_64-linux, x86_64-darwin ] - superbubbles: [ i686-linux, x86_64-linux, x86_64-darwin ] - superbuffer: [ i686-linux, x86_64-linux, x86_64-darwin ] - supercollider-ht: [ i686-linux, x86_64-linux, x86_64-darwin ] - supercollider-midi: [ i686-linux, x86_64-linux, x86_64-darwin ] - superconstraints: [ i686-linux, x86_64-linux, x86_64-darwin ] - superevent: [ i686-linux, x86_64-linux, x86_64-darwin ] - supermonad: [ i686-linux, x86_64-linux, x86_64-darwin ] - supero: [ i686-linux, x86_64-linux, x86_64-darwin ] - supervisor: [ i686-linux, x86_64-linux, x86_64-darwin ] - supplemented: [ i686-linux, x86_64-linux, x86_64-darwin ] - surjective: [ i686-linux, x86_64-linux, x86_64-darwin ] - sv-svfactor: [ i686-linux, x86_64-linux, x86_64-darwin ] - sv: [ i686-linux, x86_64-linux, x86_64-darwin ] - SVD2HS: [ i686-linux, x86_64-linux, x86_64-darwin ] - svfactor: [ i686-linux, x86_64-linux, x86_64-darwin ] - svg-builder-fork: [ i686-linux, x86_64-linux, x86_64-darwin ] - SVG2Q: [ i686-linux, x86_64-linux, x86_64-darwin ] - svg2q: [ i686-linux, x86_64-linux, x86_64-darwin ] - svgcairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - svgutils: [ i686-linux, x86_64-linux, x86_64-darwin ] - svm-light-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - svm-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - svndump: [ i686-linux, x86_64-linux, x86_64-darwin ] - swagger-petstore: [ i686-linux, x86_64-linux, x86_64-darwin ] - swagger-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - swagger2: [ i686-linux, x86_64-linux, x86_64-darwin ] - swapper: [ i686-linux, x86_64-linux, x86_64-darwin ] - swearjure: [ i686-linux, x86_64-linux, x86_64-darwin ] - swf: [ i686-linux, x86_64-linux, x86_64-darwin ] - swift-lda: [ i686-linux, x86_64-linux, x86_64-darwin ] - syb-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - syb-with-class-instances-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - SybWidget: [ i686-linux, x86_64-linux, x86_64-darwin ] - syfco: [ i686-linux, x86_64-linux, x86_64-darwin ] - sylvia: [ i686-linux, x86_64-linux, x86_64-darwin ] - sym-plot: [ i686-linux, x86_64-linux, x86_64-darwin ] - sym: [ i686-linux, x86_64-linux, x86_64-darwin ] - symantic-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - symantic-grammar: [ i686-linux, x86_64-linux, x86_64-darwin ] - symantic-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - symantic: [ i686-linux, x86_64-linux, x86_64-darwin ] - symengine-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - symengine: [ i686-linux, x86_64-linux, x86_64-darwin ] - symmetric-properties: [ i686-linux, x86_64-linux, x86_64-darwin ] - sync-mht: [ i686-linux, x86_64-linux, x86_64-darwin ] - sync: [ i686-linux, x86_64-linux, x86_64-darwin ] - syncthing-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - syntactic: [ i686-linux, x86_64-linux, x86_64-darwin ] - syntax-attoparsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - syntax-example-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - syntax-example: [ i686-linux, x86_64-linux, x86_64-darwin ] - syntax-pretty: [ i686-linux, x86_64-linux, x86_64-darwin ] - syntax-printer: [ i686-linux, x86_64-linux, x86_64-darwin ] - syntax-trees-fork-bairyn: [ i686-linux, x86_64-linux, x86_64-darwin ] - syntax-trees: [ i686-linux, x86_64-linux, x86_64-darwin ] - syntax: [ i686-linux, x86_64-linux, x86_64-darwin ] - SyntaxMacros: [ i686-linux, x86_64-linux, x86_64-darwin ] - syntaxnet-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - synthesizer-llvm: [ i686-linux, x86_64-linux, x86_64-darwin ] - synthesizer: [ i686-linux, x86_64-linux, x86_64-darwin ] - sys-process: [ i686-linux, x86_64-linux, x86_64-darwin ] - Sysmon: [ i686-linux, x86_64-linux, x86_64-darwin ] - system-canonicalpath: [ i686-linux, x86_64-linux, x86_64-darwin ] - system-command: [ i686-linux, x86_64-linux, x86_64-darwin ] - system-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - system-lifted: [ i686-linux, x86_64-linux, x86_64-darwin ] - system-linux-proc: [ i686-linux, x86_64-linux, x86_64-darwin ] - system-random-effect: [ i686-linux, x86_64-linux, x86_64-darwin ] - systemstats: [ i686-linux, x86_64-linux, x86_64-darwin ] - t-regex: [ i686-linux, x86_64-linux, x86_64-darwin ] - t3-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - t3-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - ta: [ i686-linux, x86_64-linux, x86_64-darwin ] - table-layout: [ i686-linux, x86_64-linux, x86_64-darwin ] - table-tennis: [ i686-linux, x86_64-linux, x86_64-darwin ] - table: [ i686-linux, x86_64-linux, x86_64-darwin ] - tableaux: [ i686-linux, x86_64-linux, x86_64-darwin ] - Tables: [ i686-linux, x86_64-linux, x86_64-darwin ] - tables: [ i686-linux, x86_64-linux, x86_64-darwin ] - tablestorage: [ i686-linux, x86_64-linux, x86_64-darwin ] - Tablify: [ i686-linux, x86_64-linux, x86_64-darwin ] - tabloid: [ i686-linux, x86_64-linux, x86_64-darwin ] - tabs: [ i686-linux, x86_64-linux, x86_64-darwin ] - taffybar: [ i686-linux, x86_64-linux, x86_64-darwin ] - tag-bits: [ i686-linux, x86_64-linux, x86_64-darwin ] - tag-stream: [ i686-linux, x86_64-linux, x86_64-darwin ] - tagged-exception-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - tagged-list: [ i686-linux, x86_64-linux, x86_64-darwin ] - tagged-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - tagged-timers: [ i686-linux, x86_64-linux, x86_64-darwin ] - taglib-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - tagsoup-ht: [ i686-linux, x86_64-linux, x86_64-darwin ] - tagsoup-megaparsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - tagsoup-parsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - tagsoup-selection: [ i686-linux, x86_64-linux, x86_64-darwin ] - tai64: [ i686-linux, x86_64-linux, x86_64-darwin ] - tai: [ i686-linux, x86_64-linux, x86_64-darwin ] - takahashi: [ i686-linux, x86_64-linux, x86_64-darwin ] - takusen-oracle: [ i686-linux, x86_64-linux, x86_64-darwin ] - Takusen: [ i686-linux, x86_64-linux, x86_64-darwin ] - tal: [ i686-linux, x86_64-linux, x86_64-darwin ] - tamarin-prover-term: [ i686-linux, x86_64-linux, x86_64-darwin ] - tamarin-prover-theory: [ i686-linux, x86_64-linux, x86_64-darwin ] - tamarin-prover-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - tamarin-prover: [ i686-linux, x86_64-linux, x86_64-darwin ] - tamper: [ i686-linux, x86_64-linux, x86_64-darwin ] - Tape: [ i686-linux, x86_64-linux, x86_64-darwin ] - target: [ i686-linux, x86_64-linux, x86_64-darwin ] - task-distribution: [ i686-linux, x86_64-linux, x86_64-darwin ] - task: [ i686-linux, x86_64-linux, x86_64-darwin ] - tasty-auto: [ i686-linux, x86_64-linux, x86_64-darwin ] - tasty-fail-fast: [ i686-linux, x86_64-linux, x86_64-darwin ] - tasty-groundhog-converters: [ i686-linux, x86_64-linux, x86_64-darwin ] - tasty-hedgehog-coverage: [ i686-linux, x86_64-linux, x86_64-darwin ] - tasty-integrate: [ i686-linux, x86_64-linux, x86_64-darwin ] - tasty-jenkins-xml: [ i686-linux, x86_64-linux, x86_64-darwin ] - tasty-laws: [ i686-linux, x86_64-linux, x86_64-darwin ] - tasty-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - tasty-stats: [ i686-linux, x86_64-linux, x86_64-darwin ] - tasty-tap: [ i686-linux, x86_64-linux, x86_64-darwin ] - tasty-travis: [ i686-linux, x86_64-linux, x86_64-darwin ] - TaxonomyTools: [ i686-linux, x86_64-linux, x86_64-darwin ] - TBC: [ i686-linux, x86_64-linux, x86_64-darwin ] - TBit: [ i686-linux, x86_64-linux, x86_64-darwin ] - tbox: [ i686-linux, x86_64-linux, x86_64-darwin ] - tcache-AWS: [ i686-linux, x86_64-linux, x86_64-darwin ] - tccli: [ i686-linux, x86_64-linux, x86_64-darwin ] - tcod-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - tcp-streams-openssl: [ i686-linux, x86_64-linux, x86_64-darwin ] - tcp: [ i686-linux, x86_64-linux, x86_64-darwin ] - tdd-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - tdigest-Chart: [ i686-linux, x86_64-linux, x86_64-darwin ] - tdigest: [ i686-linux, x86_64-linux, x86_64-darwin ] - TeaHS: [ i686-linux, x86_64-linux, x86_64-darwin ] - teams: [ i686-linux, x86_64-linux, x86_64-darwin ] - teardown: [ i686-linux, x86_64-linux, x86_64-darwin ] - teeth: [ i686-linux, x86_64-linux, x86_64-darwin ] - telegram-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - telegram-bot-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - telegram-bot: [ i686-linux, x86_64-linux, x86_64-darwin ] - telegram: [ i686-linux, x86_64-linux, x86_64-darwin ] - teleport: [ i686-linux, x86_64-linux, x86_64-darwin ] - teleshell: [ i686-linux, x86_64-linux, x86_64-darwin ] - tellbot: [ i686-linux, x86_64-linux, x86_64-darwin ] - template-default: [ i686-linux, x86_64-linux, x86_64-darwin ] - template-haskell-compat-v0208: [ i686-linux, x86_64-linux, x86_64-darwin ] - template-haskell-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - template-hsml: [ i686-linux, x86_64-linux, x86_64-darwin ] - template-yj: [ i686-linux, x86_64-linux, x86_64-darwin ] - templateify: [ i686-linux, x86_64-linux, x86_64-darwin ] - templatepg: [ i686-linux, x86_64-linux, x86_64-darwin ] - tempodb: [ i686-linux, x86_64-linux, x86_64-darwin ] - temporal-csound: [ i686-linux, x86_64-linux, x86_64-darwin ] - temporary-resourcet: [ i686-linux, x86_64-linux, x86_64-darwin ] - tempus: [ i686-linux, x86_64-linux, x86_64-darwin ] - tensor: [ i686-linux, x86_64-linux, x86_64-darwin ] - tensorflow-core-ops: [ i686-linux, x86_64-linux, x86_64-darwin ] - tensorflow-logging: [ i686-linux, x86_64-linux, x86_64-darwin ] - tensorflow-opgen: [ i686-linux, x86_64-linux, x86_64-darwin ] - tensorflow-ops: [ i686-linux, x86_64-linux, x86_64-darwin ] - tensorflow-proto: [ i686-linux, x86_64-linux, x86_64-darwin ] - tensorflow: [ i686-linux, x86_64-linux, x86_64-darwin ] - termbox-banana: [ i686-linux, x86_64-linux, x86_64-darwin ] - termbox-bindings: [ i686-linux, x86_64-linux, x86_64-darwin ] - termcolor: [ i686-linux, x86_64-linux, x86_64-darwin ] - terminal-punch: [ i686-linux, x86_64-linux, x86_64-darwin ] - terminal-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - termination-combinators: [ i686-linux, x86_64-linux, x86_64-darwin ] - termonad: [ i686-linux, x86_64-linux, x86_64-darwin ] - termplot: [ i686-linux, x86_64-linux, x86_64-darwin ] - terntup: [ i686-linux, x86_64-linux, x86_64-darwin ] - terrahs: [ i686-linux, x86_64-linux, x86_64-darwin ] - tersmu: [ i686-linux, x86_64-linux, x86_64-darwin ] - test-fixture: [ i686-linux, x86_64-linux, x86_64-darwin ] - test-framework-doctest: [ i686-linux, x86_64-linux, x86_64-darwin ] - test-framework-quickcheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - test-framework-sandbox: [ i686-linux, x86_64-linux, x86_64-darwin ] - test-framework-skip: [ i686-linux, x86_64-linux, x86_64-darwin ] - test-framework-testing-feat: [ i686-linux, x86_64-linux, x86_64-darwin ] - test-pkg: [ i686-linux, x86_64-linux, x86_64-darwin ] - test-sandbox-compose: [ i686-linux, x86_64-linux, x86_64-darwin ] - test-sandbox-hunit: [ i686-linux, x86_64-linux, x86_64-darwin ] - test-shouldbe: [ i686-linux, x86_64-linux, x86_64-darwin ] - test-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - testbench: [ i686-linux, x86_64-linux, x86_64-darwin ] - testCom: [ i686-linux, x86_64-linux, x86_64-darwin ] - TestExplode: [ i686-linux, x86_64-linux, x86_64-darwin ] - testloop: [ i686-linux, x86_64-linux, x86_64-darwin ] - testpack: [ i686-linux, x86_64-linux, x86_64-darwin ] - testpattern: [ i686-linux, x86_64-linux, x86_64-darwin ] - testrunner: [ i686-linux, x86_64-linux, x86_64-darwin ] - TeX-my-math: [ i686-linux, x86_64-linux, x86_64-darwin ] - tex2txt: [ i686-linux, x86_64-linux, x86_64-darwin ] - texbuilder: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-all: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-and-plots: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-generic-pretty: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-icu-normalized: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-locale-encoding: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-markup: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-normal: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-plus: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-position: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-register-machine: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-time: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-utf8: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-xml-qq: [ i686-linux, x86_64-linux, x86_64-darwin ] - text-zipper-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - textmatetags: [ i686-linux, x86_64-linux, x86_64-darwin ] - textocat-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - textual: [ i686-linux, x86_64-linux, x86_64-darwin ] - tfp-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - tftp: [ i686-linux, x86_64-linux, x86_64-darwin ] - tga: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-alpha: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-build: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-context: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-dict-discovery: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-fold: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-format: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-instance-reification: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-instances: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-kinds-fork: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-nowq: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-sccs: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-to-exp: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-traced: [ i686-linux, x86_64-linux, x86_64-darwin ] - th-typegraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - thank-you-stars: [ i686-linux, x86_64-linux, x86_64-darwin ] - themoviedb: [ i686-linux, x86_64-linux, x86_64-darwin ] - thentos-cookie-session: [ i686-linux, x86_64-linux, x86_64-darwin ] - Theora: [ i686-linux, x86_64-linux, x86_64-darwin ] - theoremquest-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - theoremquest: [ i686-linux, x86_64-linux, x86_64-darwin ] - these-skinny: [ i686-linux, x86_64-linux, x86_64-darwin ] - these: [ i686-linux, x86_64-linux, x86_64-darwin ] - thih: [ i686-linux, x86_64-linux, x86_64-darwin ] - thimk: [ i686-linux, x86_64-linux, x86_64-darwin ] - Thingie: [ i686-linux, x86_64-linux, x86_64-darwin ] - thorn: [ i686-linux, x86_64-linux, x86_64-darwin ] - threadmanager: [ i686-linux, x86_64-linux, x86_64-darwin ] - threads-supervisor: [ i686-linux, x86_64-linux, x86_64-darwin ] - threadscope: [ i686-linux, x86_64-linux, x86_64-darwin ] - threepenny-gui-contextmenu: [ i686-linux, x86_64-linux, x86_64-darwin ] - threepenny-gui-flexbox: [ i686-linux, x86_64-linux, x86_64-darwin ] - thrift: [ i686-linux, x86_64-linux, x86_64-darwin ] - throttled-io-loop: [ i686-linux, x86_64-linux, x86_64-darwin ] - through-text: [ i686-linux, x86_64-linux, x86_64-darwin ] - thumbnail-plus: [ i686-linux, x86_64-linux, x86_64-darwin ] - tic-tac-toe: [ i686-linux, x86_64-linux, x86_64-darwin ] - tickle: [ i686-linux, x86_64-linux, x86_64-darwin ] - tictactoe3d: [ i686-linux, x86_64-linux, x86_64-darwin ] - TicTacToe: [ i686-linux, x86_64-linux, x86_64-darwin ] - tidal-midi: [ i686-linux, x86_64-linux, x86_64-darwin ] - tidal-serial: [ i686-linux, x86_64-linux, x86_64-darwin ] - tidal-vis: [ i686-linux, x86_64-linux, x86_64-darwin ] - tie-knot: [ i686-linux, x86_64-linux, x86_64-darwin ] - tiempo: [ i686-linux, x86_64-linux, x86_64-darwin ] - tiger: [ i686-linux, x86_64-linux, x86_64-darwin ] - tightrope: [ i686-linux, x86_64-linux, x86_64-darwin ] - tighttp: [ i686-linux, x86_64-linux, x86_64-darwin ] - timberc: [ i686-linux, x86_64-linux, x86_64-darwin ] - time-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - time-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - time-io-access: [ i686-linux, x86_64-linux, x86_64-darwin ] - time-machine: [ i686-linux, x86_64-linux, x86_64-darwin ] - time-parsers: [ i686-linux, x86_64-linux, x86_64-darwin ] - time-quote: [ i686-linux, x86_64-linux, x86_64-darwin ] - time-recurrence: [ i686-linux, x86_64-linux, x86_64-darwin ] - time-series-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - time-series: [ i686-linux, x86_64-linux, x86_64-darwin ] - time-w3c: [ i686-linux, x86_64-linux, x86_64-darwin ] - time-warp: [ i686-linux, x86_64-linux, x86_64-darwin ] - timecalc: [ i686-linux, x86_64-linux, x86_64-darwin ] - timemap: [ i686-linux, x86_64-linux, x86_64-darwin ] - timeout-with-results: [ i686-linux, x86_64-linux, x86_64-darwin ] - timeout: [ i686-linux, x86_64-linux, x86_64-darwin ] - timeparsers: [ i686-linux, x86_64-linux, x86_64-darwin ] - TimePiece: [ i686-linux, x86_64-linux, x86_64-darwin ] - timeplot: [ i686-linux, x86_64-linux, x86_64-darwin ] - timeprint: [ i686-linux, x86_64-linux, x86_64-darwin ] - timers-tick: [ i686-linux, x86_64-linux, x86_64-darwin ] - timeseries: [ i686-linux, x86_64-linux, x86_64-darwin ] - timespan: [ i686-linux, x86_64-linux, x86_64-darwin ] - timezone-unix: [ i686-linux, x86_64-linux, x86_64-darwin ] - tintin: [ i686-linux, x86_64-linux, x86_64-darwin ] - tiny-scheduler: [ i686-linux, x86_64-linux, x86_64-darwin ] - TinyLaunchbury: [ i686-linux, x86_64-linux, x86_64-darwin ] - tinyMesh: [ i686-linux, x86_64-linux, x86_64-darwin ] - tinytemplate: [ i686-linux, x86_64-linux, x86_64-darwin ] - TinyURL: [ i686-linux, x86_64-linux, x86_64-darwin ] - tinyXml: [ i686-linux, x86_64-linux, x86_64-darwin ] - tip-haskell-frontend: [ i686-linux, x86_64-linux, x86_64-darwin ] - tip-lib: [ i686-linux, x86_64-linux, x86_64-darwin ] - titan: [ i686-linux, x86_64-linux, x86_64-darwin ] - Titim: [ i686-linux, x86_64-linux, x86_64-darwin ] - tkhs: [ i686-linux, x86_64-linux, x86_64-darwin ] - tkyprof: [ i686-linux, x86_64-linux, x86_64-darwin ] - tls-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - tn: [ i686-linux, x86_64-linux, x86_64-darwin ] - to-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - to-string-class: [ i686-linux, x86_64-linux, x86_64-darwin ] - to-string-instances: [ i686-linux, x86_64-linux, x86_64-darwin ] - toboggan: [ i686-linux, x86_64-linux, x86_64-darwin ] - todo: [ i686-linux, x86_64-linux, x86_64-darwin ] - todos: [ i686-linux, x86_64-linux, x86_64-darwin ] - tofromxml: [ i686-linux, x86_64-linux, x86_64-darwin ] - toilet: [ i686-linux, x86_64-linux, x86_64-darwin ] - tokenify: [ i686-linux, x86_64-linux, x86_64-darwin ] - tokenizer-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - tokstyle: [ i686-linux, x86_64-linux, x86_64-darwin ] - toktok: [ i686-linux, x86_64-linux, x86_64-darwin ] - tokyocabinet-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - tokyotyrant-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - tomato-rubato-openal: [ i686-linux, x86_64-linux, x86_64-darwin ] - toml: [ i686-linux, x86_64-linux, x86_64-darwin ] - tomland: [ i686-linux, x86_64-linux, x86_64-darwin ] - tonatona-google-server-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - too-many-cells: [ i686-linux, x86_64-linux, x86_64-darwin ] - toodles: [ i686-linux, x86_64-linux, x86_64-darwin ] - Top: [ i686-linux, x86_64-linux, x86_64-darwin ] - top: [ i686-linux, x86_64-linux, x86_64-darwin ] - topkata: [ i686-linux, x86_64-linux, x86_64-darwin ] - torch: [ i686-linux, x86_64-linux, x86_64-darwin ] - TORCS: [ i686-linux, x86_64-linux, x86_64-darwin ] - total-map: [ i686-linux, x86_64-linux, x86_64-darwin ] - touched: [ i686-linux, x86_64-linux, x86_64-darwin ] - Tournament: [ i686-linux, x86_64-linux, x86_64-darwin ] - toxcore: [ i686-linux, x86_64-linux, x86_64-darwin ] - toxiproxy-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - toysolver: [ i686-linux, x86_64-linux, x86_64-darwin ] - tpar: [ i686-linux, x86_64-linux, x86_64-darwin ] - tpb: [ i686-linux, x86_64-linux, x86_64-darwin ] - tpdb: [ i686-linux, x86_64-linux, x86_64-darwin ] - trace-call: [ i686-linux, x86_64-linux, x86_64-darwin ] - trace-function-call: [ i686-linux, x86_64-linux, x86_64-darwin ] - trace: [ i686-linux, x86_64-linux, x86_64-darwin ] - traced: [ i686-linux, x86_64-linux, x86_64-darwin ] - tracetree: [ i686-linux, x86_64-linux, x86_64-darwin ] - tracker: [ i686-linux, x86_64-linux, x86_64-darwin ] - trackit: [ i686-linux, x86_64-linux, x86_64-darwin ] - traction: [ i686-linux, x86_64-linux, x86_64-darwin ] - tracy: [ i686-linux, x86_64-linux, x86_64-darwin ] - traildb: [ i686-linux, x86_64-linux, x86_64-darwin ] - trajectory: [ i686-linux, x86_64-linux, x86_64-darwin ] - transactional-events: [ i686-linux, x86_64-linux, x86_64-darwin ] - transf: [ i686-linux, x86_64-linux, x86_64-darwin ] - transfer-db: [ i686-linux, x86_64-linux, x86_64-darwin ] - transformations: [ i686-linux, x86_64-linux, x86_64-darwin ] - TransformeR: [ i686-linux, x86_64-linux, x86_64-darwin ] - transformers-compose: [ i686-linux, x86_64-linux, x86_64-darwin ] - transformers-convert: [ i686-linux, x86_64-linux, x86_64-darwin ] - transformers-runnable: [ i686-linux, x86_64-linux, x86_64-darwin ] - TransformersStepByStep: [ i686-linux, x86_64-linux, x86_64-darwin ] - transient-universe-tls: [ i686-linux, x86_64-linux, x86_64-darwin ] - transient-universe: [ i686-linux, x86_64-linux, x86_64-darwin ] - transient: [ i686-linux, x86_64-linux, x86_64-darwin ] - translatable-intset: [ i686-linux, x86_64-linux, x86_64-darwin ] - translate-cli: [ i686-linux, x86_64-linux, x86_64-darwin ] - translate: [ i686-linux, x86_64-linux, x86_64-darwin ] - trasa-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - trasa-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - trasa: [ i686-linux, x86_64-linux, x86_64-darwin ] - travis-meta-yaml: [ i686-linux, x86_64-linux, x86_64-darwin ] - travis: [ i686-linux, x86_64-linux, x86_64-darwin ] - trawl: [ i686-linux, x86_64-linux, x86_64-darwin ] - traypoweroff: [ i686-linux, x86_64-linux, x86_64-darwin ] - tree-traversals: [ i686-linux, x86_64-linux, x86_64-darwin ] - TreeCounter: [ i686-linux, x86_64-linux, x86_64-darwin ] - treemap-html-tools: [ i686-linux, x86_64-linux, x86_64-darwin ] - treemap-html: [ i686-linux, x86_64-linux, x86_64-darwin ] - TreeStructures: [ i686-linux, x86_64-linux, x86_64-darwin ] - Treiber: [ i686-linux, x86_64-linux, x86_64-darwin ] - tremulous-query: [ i686-linux, x86_64-linux, x86_64-darwin ] - TrendGraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - trhsx: [ i686-linux, x86_64-linux, x86_64-darwin ] - triangulation: [ i686-linux, x86_64-linux, x86_64-darwin ] - trie-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - TrieMap: [ i686-linux, x86_64-linux, x86_64-darwin ] - tries: [ i686-linux, x86_64-linux, x86_64-darwin ] - trigger: [ i686-linux, x86_64-linux, x86_64-darwin ] - trimpolya: [ i686-linux, x86_64-linux, x86_64-darwin ] - triplesec: [ i686-linux, x86_64-linux, x86_64-darwin ] - tripLL: [ i686-linux, x86_64-linux, x86_64-darwin ] - trivia: [ i686-linux, x86_64-linux, x86_64-darwin ] - tropical: [ i686-linux, x86_64-linux, x86_64-darwin ] - trurl: [ i686-linux, x86_64-linux, x86_64-darwin ] - tsession-happstack: [ i686-linux, x86_64-linux, x86_64-darwin ] - tsession: [ i686-linux, x86_64-linux, x86_64-darwin ] - tskiplist: [ i686-linux, x86_64-linux, x86_64-darwin ] - tsp-viz: [ i686-linux, x86_64-linux, x86_64-darwin ] - tsparse: [ i686-linux, x86_64-linux, x86_64-darwin ] - tsuntsun: [ i686-linux, x86_64-linux, x86_64-darwin ] - tsvsql: [ i686-linux, x86_64-linux, x86_64-darwin ] - ttask: [ i686-linux, x86_64-linux, x86_64-darwin ] - ttn-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - tttool: [ i686-linux, x86_64-linux, x86_64-darwin ] - tuntap: [ i686-linux, x86_64-linux, x86_64-darwin ] - tup-functor: [ i686-linux, x86_64-linux, x86_64-darwin ] - tuple-gen: [ i686-linux, x86_64-linux, x86_64-darwin ] - tuple-lenses: [ i686-linux, x86_64-linux, x86_64-darwin ] - tuple-morph: [ i686-linux, x86_64-linux, x86_64-darwin ] - tuple-ops: [ i686-linux, x86_64-linux, x86_64-darwin ] - tupleinstances: [ i686-linux, x86_64-linux, x86_64-darwin ] - turing-machines: [ i686-linux, x86_64-linux, x86_64-darwin ] - turingMachine: [ i686-linux, x86_64-linux, x86_64-darwin ] - turtle-options: [ i686-linux, x86_64-linux, x86_64-darwin ] - tweak: [ i686-linux, x86_64-linux, x86_64-darwin ] - twee: [ i686-linux, x86_64-linux, x86_64-darwin ] - tweet-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - twentefp-eventloop-graphics: [ i686-linux, x86_64-linux, x86_64-darwin ] - twentefp-eventloop-trees: [ i686-linux, x86_64-linux, x86_64-darwin ] - twentefp-graphs: [ i686-linux, x86_64-linux, x86_64-darwin ] - twentefp-rosetree: [ i686-linux, x86_64-linux, x86_64-darwin ] - twentefp-trees: [ i686-linux, x86_64-linux, x86_64-darwin ] - twentefp-websockets: [ i686-linux, x86_64-linux, x86_64-darwin ] - twentyseven: [ i686-linux, x86_64-linux, x86_64-darwin ] - twfy-api-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - twhs: [ i686-linux, x86_64-linux, x86_64-darwin ] - twidge: [ i686-linux, x86_64-linux, x86_64-darwin ] - twilight-stm: [ i686-linux, x86_64-linux, x86_64-darwin ] - twilio: [ i686-linux, x86_64-linux, x86_64-darwin ] - twill: [ i686-linux, x86_64-linux, x86_64-darwin ] - twine: [ i686-linux, x86_64-linux, x86_64-darwin ] - twitter-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - twitter-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - twitter-feed: [ i686-linux, x86_64-linux, x86_64-darwin ] - twitter-types-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - twitter-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - twitter: [ i686-linux, x86_64-linux, x86_64-darwin ] - tx: [ i686-linux, x86_64-linux, x86_64-darwin ] - txt: [ i686-linux, x86_64-linux, x86_64-darwin ] - txtblk: [ i686-linux, x86_64-linux, x86_64-darwin ] - TYB: [ i686-linux, x86_64-linux, x86_64-darwin ] - tyfam-witnesses: [ i686-linux, x86_64-linux, x86_64-darwin ] - typalyze: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-assertions: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-cache: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-cereal: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-combinators-quote: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-combinators-singletons: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-combinators: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-digits: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-eq: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-indexed-queues: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-int: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-interpreter: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-level-bst: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-level-natural-number-induction: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-level-natural-number-operations: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-list: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-natural: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-ord-spine-cereal: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-ord: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-settheory: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-spine: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-structure: [ i686-linux, x86_64-linux, x86_64-darwin ] - type-sub-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - typeable-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - TypeClass: [ i686-linux, x86_64-linux, x86_64-darwin ] - typed-admin: [ i686-linux, x86_64-linux, x86_64-darwin ] - typed-spreadsheet: [ i686-linux, x86_64-linux, x86_64-darwin ] - typed-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - typed-wire: [ i686-linux, x86_64-linux, x86_64-darwin ] - typedflow: [ i686-linux, x86_64-linux, x86_64-darwin ] - typedquery: [ i686-linux, x86_64-linux, x86_64-darwin ] - typehash: [ i686-linux, x86_64-linux, x86_64-darwin ] - TypeIlluminator: [ i686-linux, x86_64-linux, x86_64-darwin ] - typelevel-tensor: [ i686-linux, x86_64-linux, x86_64-darwin ] - TypeNat: [ i686-linux, x86_64-linux, x86_64-darwin ] - typeparams: [ i686-linux, x86_64-linux, x86_64-darwin ] - types-compat: [ i686-linux, x86_64-linux, x86_64-darwin ] - typesafe-precure: [ i686-linux, x86_64-linux, x86_64-darwin ] - typescript-docs: [ i686-linux, x86_64-linux, x86_64-darwin ] - typograffiti: [ i686-linux, x86_64-linux, x86_64-darwin ] - typography-geometry: [ i686-linux, x86_64-linux, x86_64-darwin ] - tyro: [ i686-linux, x86_64-linux, x86_64-darwin ] - u2f: [ i686-linux, x86_64-linux, x86_64-darwin ] - uber: [ i686-linux, x86_64-linux, x86_64-darwin ] - uberlast: [ i686-linux, x86_64-linux, x86_64-darwin ] - uconv: [ i686-linux, x86_64-linux, x86_64-darwin ] - udev: [ i686-linux, x86_64-linux, x86_64-darwin ] - udp-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - uhc-light: [ i686-linux, x86_64-linux, x86_64-darwin ] - uhc-util: [ i686-linux, x86_64-linux, x86_64-darwin ] - uhexdump: [ i686-linux, x86_64-linux, x86_64-darwin ] - ui-command: [ i686-linux, x86_64-linux, x86_64-darwin ] - UMM: [ i686-linux, x86_64-linux, x86_64-darwin ] - unagi-bloomfilter: [ i686-linux, x86_64-linux, x86_64-darwin ] - unagi-streams: [ i686-linux, x86_64-linux, x86_64-darwin ] - unamb-custom: [ i686-linux, x86_64-linux, x86_64-darwin ] - unbound: [ i686-linux, x86_64-linux, x86_64-darwin ] - unbounded-delays-units: [ i686-linux, x86_64-linux, x86_64-darwin ] - unboxed-containers: [ i686-linux, x86_64-linux, x86_64-darwin ] - unbreak: [ i686-linux, x86_64-linux, x86_64-darwin ] - uni-graphs: [ i686-linux, x86_64-linux, x86_64-darwin ] - uni-uDrawGraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - unicode-normalization: [ i686-linux, x86_64-linux, x86_64-darwin ] - unicode-show: [ i686-linux, x86_64-linux, x86_64-darwin ] - unicode-symbols: [ i686-linux, x86_64-linux, x86_64-darwin ] - uniform-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - union-map: [ i686-linux, x86_64-linux, x86_64-darwin ] - unique-logic-tf: [ i686-linux, x86_64-linux, x86_64-darwin ] - Unique: [ i686-linux, x86_64-linux, x86_64-darwin ] - uniqueid: [ i686-linux, x86_64-linux, x86_64-darwin ] - uniquely-represented-sets: [ i686-linux, x86_64-linux, x86_64-darwin ] - units-attoparsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - units-defs: [ i686-linux, x86_64-linux, x86_64-darwin ] - units: [ i686-linux, x86_64-linux, x86_64-darwin ] - unittyped: [ i686-linux, x86_64-linux, x86_64-darwin ] - unity-testresult-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - unitym-yesod: [ i686-linux, x86_64-linux, x86_64-darwin ] - universe-instances-extended: [ i686-linux, x86_64-linux, x86_64-darwin ] - universe-th: [ i686-linux, x86_64-linux, x86_64-darwin ] - universe: [ i686-linux, x86_64-linux, x86_64-darwin ] - universum: [ i686-linux, x86_64-linux, x86_64-darwin ] - unix-fcntl: [ i686-linux, x86_64-linux, x86_64-darwin ] - unix-handle: [ i686-linux, x86_64-linux, x86_64-darwin ] - unix-process-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - unm-hip: [ i686-linux, x86_64-linux, x86_64-darwin ] - unordered-containers-rematch: [ i686-linux, x86_64-linux, x86_64-darwin ] - unordered-graphs: [ i686-linux, x86_64-linux, x86_64-darwin ] - unordered-intmap: [ i686-linux, x86_64-linux, x86_64-darwin ] - unpack-funcs: [ i686-linux, x86_64-linux, x86_64-darwin ] - unpacked-either: [ i686-linux, x86_64-linux, x86_64-darwin ] - unpacked-maybe-numeric: [ i686-linux, x86_64-linux, x86_64-darwin ] - unpacked-maybe: [ i686-linux, x86_64-linux, x86_64-darwin ] - unpacked-these: [ i686-linux, x86_64-linux, x86_64-darwin ] - unpacked-validation: [ i686-linux, x86_64-linux, x86_64-darwin ] - unroll-ghc-plugin: [ i686-linux, x86_64-linux, x86_64-darwin ] - unsafely: [ i686-linux, x86_64-linux, x86_64-darwin ] - unscramble: [ i686-linux, x86_64-linux, x86_64-darwin ] - unsequential: [ i686-linux, x86_64-linux, x86_64-darwin ] - unused: [ i686-linux, x86_64-linux, x86_64-darwin ] - uom-plugin: [ i686-linux, x86_64-linux, x86_64-darwin ] - up: [ i686-linux, x86_64-linux, x86_64-darwin ] - update-nix-fetchgit: [ i686-linux, x86_64-linux, x86_64-darwin ] - Updater: [ i686-linux, x86_64-linux, x86_64-darwin ] - uploadcare: [ i686-linux, x86_64-linux, x86_64-darwin ] - upskirt: [ i686-linux, x86_64-linux, x86_64-darwin ] - ureader: [ i686-linux, x86_64-linux, x86_64-darwin ] - urembed: [ i686-linux, x86_64-linux, x86_64-darwin ] - uri-bytestring-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - uri-bytestring: [ i686-linux, x86_64-linux, x86_64-darwin ] - uri-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - uri-enumerator-file: [ i686-linux, x86_64-linux, x86_64-darwin ] - uri-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - uri-parse: [ i686-linux, x86_64-linux, x86_64-darwin ] - uri-template: [ i686-linux, x86_64-linux, x86_64-darwin ] - uri: [ i686-linux, x86_64-linux, x86_64-darwin ] - url-decoders: [ i686-linux, x86_64-linux, x86_64-darwin ] - url-generic: [ i686-linux, x86_64-linux, x86_64-darwin ] - URLb: [ i686-linux, x86_64-linux, x86_64-darwin ] - urlcheck: [ i686-linux, x86_64-linux, x86_64-darwin ] - urldecode: [ i686-linux, x86_64-linux, x86_64-darwin ] - urldisp-happstack: [ i686-linux, x86_64-linux, x86_64-darwin ] - UrlDisp: [ i686-linux, x86_64-linux, x86_64-darwin ] - urlencoded: [ i686-linux, x86_64-linux, x86_64-darwin ] - urlpath: [ i686-linux, x86_64-linux, x86_64-darwin ] - URLT: [ i686-linux, x86_64-linux, x86_64-darwin ] - urn-random: [ i686-linux, x86_64-linux, x86_64-darwin ] - urn: [ i686-linux, x86_64-linux, x86_64-darwin ] - urxml: [ i686-linux, x86_64-linux, x86_64-darwin ] - usb-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - usb-hid: [ i686-linux, x86_64-linux, x86_64-darwin ] - usb-id-database: [ i686-linux, x86_64-linux, x86_64-darwin ] - usb-iteratee: [ i686-linux, x86_64-linux, x86_64-darwin ] - usb-safe: [ i686-linux, x86_64-linux, x86_64-darwin ] - users-mysql-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - users-persistent: [ i686-linux, x86_64-linux, x86_64-darwin ] - utc: [ i686-linux, x86_64-linux, x86_64-darwin ] - utf8-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ] - utf8-validator: [ i686-linux, x86_64-linux, x86_64-darwin ] - UTFTConverter: [ i686-linux, x86_64-linux, x86_64-darwin ] - util-exception: [ i686-linux, x86_64-linux, x86_64-darwin ] - util-primitive-control: [ i686-linux, x86_64-linux, x86_64-darwin ] - util-primitive: [ i686-linux, x86_64-linux, x86_64-darwin ] - uu-cco-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - uu-cco-hut-parsing: [ i686-linux, x86_64-linux, x86_64-darwin ] - uu-cco-uu-parsinglib: [ i686-linux, x86_64-linux, x86_64-darwin ] - uu-cco: [ i686-linux, x86_64-linux, x86_64-darwin ] - uuagc-bootstrap: [ i686-linux, x86_64-linux, x86_64-darwin ] - uuagc-cabal: [ i686-linux, x86_64-linux, x86_64-darwin ] - uuagc-diagrams: [ i686-linux, x86_64-linux, x86_64-darwin ] - uuagc: [ i686-linux, x86_64-linux, x86_64-darwin ] - uuid-aeson: [ i686-linux, x86_64-linux, x86_64-darwin ] - uulib: [ i686-linux, x86_64-linux, x86_64-darwin ] - uvector-algorithms: [ i686-linux, x86_64-linux, x86_64-darwin ] - uvector: [ i686-linux, x86_64-linux, x86_64-darwin ] - uxadt: [ i686-linux, x86_64-linux, x86_64-darwin ] - v4l2-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - v4l2: [ i686-linux, x86_64-linux, x86_64-darwin ] - vabal: [ i686-linux, x86_64-linux, x86_64-darwin ] - vacuum-cairo: [ i686-linux, x86_64-linux, x86_64-darwin ] - vacuum-graphviz: [ i686-linux, x86_64-linux, x86_64-darwin ] - vacuum-opengl: [ i686-linux, x86_64-linux, x86_64-darwin ] - vacuum-ubigraph: [ i686-linux, x86_64-linux, x86_64-darwin ] - vacuum: [ i686-linux, x86_64-linux, x86_64-darwin ] - vado: [ i686-linux, x86_64-linux, x86_64-darwin ] - valid-names: [ i686-linux, x86_64-linux, x86_64-darwin ] - validate-input: [ i686-linux, x86_64-linux, x86_64-darwin ] - validated-literals: [ i686-linux, x86_64-linux, x86_64-darwin ] - validated-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - Validation: [ i686-linux, x86_64-linux, x86_64-darwin ] - validations: [ i686-linux, x86_64-linux, x86_64-darwin ] - validity-path: [ i686-linux, x86_64-linux, x86_64-darwin ] - vampire: [ i686-linux, x86_64-linux, x86_64-darwin ] - var: [ i686-linux, x86_64-linux, x86_64-darwin ] - varan: [ i686-linux, x86_64-linux, x86_64-darwin ] - variable-precision: [ i686-linux, x86_64-linux, x86_64-darwin ] - variables: [ i686-linux, x86_64-linux, x86_64-darwin ] - variation: [ i686-linux, x86_64-linux, x86_64-darwin ] - vault-tool-server: [ i686-linux, x86_64-linux, x86_64-darwin ] - vault-tool: [ i686-linux, x86_64-linux, x86_64-darwin ] - vault-trans: [ i686-linux, x86_64-linux, x86_64-darwin ] - vaultaire-common: [ i686-linux, x86_64-linux, x86_64-darwin ] - vaultenv: [ i686-linux, x86_64-linux, x86_64-darwin ] - vaultenv: [ i686-linux, x86_64-linux, x86_64-darwin ] - vcard: [ i686-linux, x86_64-linux, x86_64-darwin ] - vcatt: [ i686-linux, x86_64-linux, x86_64-darwin ] - vcf: [ i686-linux, x86_64-linux, x86_64-darwin ] - vcsgui: [ i686-linux, x86_64-linux, x86_64-darwin ] - vcswrapper: [ i686-linux, x86_64-linux, x86_64-darwin ] - Vec-Boolean: [ i686-linux, x86_64-linux, x86_64-darwin ] - Vec-OpenGLRaw: [ i686-linux, x86_64-linux, x86_64-darwin ] - Vec-Transform: [ i686-linux, x86_64-linux, x86_64-darwin ] - vec: [ i686-linux, x86_64-linux, x86_64-darwin ] - vect-floating-accelerate: [ i686-linux, x86_64-linux, x86_64-darwin ] - vect-floating: [ i686-linux, x86_64-linux, x86_64-darwin ] - vect-opengl: [ i686-linux, x86_64-linux, x86_64-darwin ] - vector-bytestring: [ i686-linux, x86_64-linux, x86_64-darwin ] - vector-clock: [ i686-linux, x86_64-linux, x86_64-darwin ] - vector-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - vector-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - vector-functorlazy: [ i686-linux, x86_64-linux, x86_64-darwin ] - vector-heterogenous: [ i686-linux, x86_64-linux, x86_64-darwin ] - vector-instances-collections: [ i686-linux, x86_64-linux, x86_64-darwin ] - vector-random: [ i686-linux, x86_64-linux, x86_64-darwin ] - vector-read-instances: [ i686-linux, x86_64-linux, x86_64-darwin ] - vector-space-opengl: [ i686-linux, x86_64-linux, x86_64-darwin ] - vector-space-points: [ i686-linux, x86_64-linux, x86_64-darwin ] - vector-static: [ i686-linux, x86_64-linux, x86_64-darwin ] - vectortiles: [ i686-linux, x86_64-linux, x86_64-darwin ] - Verba: [ i686-linux, x86_64-linux, x86_64-darwin ] - verbalexpressions: [ i686-linux, x86_64-linux, x86_64-darwin ] - verdict-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - verdict: [ i686-linux, x86_64-linux, x86_64-darwin ] - verifiable-expressions: [ i686-linux, x86_64-linux, x86_64-darwin ] - verify: [ i686-linux, x86_64-linux, x86_64-darwin ] - verilog: [ i686-linux, x86_64-linux, x86_64-darwin ] - versioning-servant: [ i686-linux, x86_64-linux, x86_64-darwin ] - versioning: [ i686-linux, x86_64-linux, x86_64-darwin ] - vfr-waypoints: [ i686-linux, x86_64-linux, x86_64-darwin ] - vgrep: [ i686-linux, x86_64-linux, x86_64-darwin ] - vhd: [ i686-linux, x86_64-linux, x86_64-darwin ] - vhdl: [ i686-linux, x86_64-linux, x86_64-darwin ] - vicinity: [ i686-linux, x86_64-linux, x86_64-darwin ] - ViennaRNA-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - viewprof: [ i686-linux, x86_64-linux, x86_64-darwin ] - views: [ i686-linux, x86_64-linux, x86_64-darwin ] - vigilance: [ i686-linux, x86_64-linux, x86_64-darwin ] - Villefort: [ i686-linux, x86_64-linux, x86_64-darwin ] - vimeta: [ i686-linux, x86_64-linux, x86_64-darwin ] - vimus: [ i686-linux, x86_64-linux, x86_64-darwin ] - vintage-basic: [ i686-linux, x86_64-linux, x86_64-darwin ] - vinyl-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - vinyl-operational: [ i686-linux, x86_64-linux, x86_64-darwin ] - vinyl-plus: [ i686-linux, x86_64-linux, x86_64-darwin ] - vinyl-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - vinyl-vectors: [ i686-linux, x86_64-linux, x86_64-darwin ] - virthualenv: [ i686-linux, x86_64-linux, x86_64-darwin ] - visibility: [ i686-linux, x86_64-linux, x86_64-darwin ] - vision: [ i686-linux, x86_64-linux, x86_64-darwin ] - visual-graphrewrite: [ i686-linux, x86_64-linux, x86_64-darwin ] - visual-prof: [ i686-linux, x86_64-linux, x86_64-darwin ] - visualize-cbn: [ i686-linux, x86_64-linux, x86_64-darwin ] - vivid-supercollider: [ i686-linux, x86_64-linux, x86_64-darwin ] - vivid: [ i686-linux, x86_64-linux, x86_64-darwin ] - vk-aws-route53: [ i686-linux, x86_64-linux, x86_64-darwin ] - VKHS: [ i686-linux, x86_64-linux, x86_64-darwin ] - voicebase: [ i686-linux, x86_64-linux, x86_64-darwin ] - vorbiscomment: [ i686-linux, x86_64-linux, x86_64-darwin ] - vowpal-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - voyeur: [ i686-linux, x86_64-linux, x86_64-darwin ] - vpq: [ i686-linux, x86_64-linux, x86_64-darwin ] - vrpn: [ i686-linux, x86_64-linux, x86_64-darwin ] - vte: [ i686-linux, x86_64-linux, x86_64-darwin ] - vtegtk3: [ i686-linux, x86_64-linux, x86_64-darwin ] - vty-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - vty-menu: [ i686-linux, x86_64-linux, x86_64-darwin ] - vty-ui-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - vty-ui: [ i686-linux, x86_64-linux, x86_64-darwin ] - vulkan-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - vulkan: [ i686-linux, x86_64-linux, x86_64-darwin ] - waargonaut: [ i686-linux, x86_64-linux, x86_64-darwin ] - wacom-daemon: [ i686-linux, x86_64-linux, x86_64-darwin ] - waddle: [ i686-linux, x86_64-linux, x86_64-darwin ] - wahsp: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-devel: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-git-http: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-graceful: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-handler-devel: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-handler-scgi: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-handler-snap: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-handler-webkit: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-hmac-auth: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-lite: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-logger-buffered: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-logger-prefork: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-make-assets: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-auth: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-cache-redis: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-cache: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-catch: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-consul: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-content-type: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-delegate: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-etag: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-headers: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-hmac-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-metrics: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-preprocessor: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-rollbar: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-route: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-middleware-static-caching: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-request-spec: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-responsible: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-router: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-routes: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-routing: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-secure-cookies: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-session-alt: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-session-mysql: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-session-postgresql: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-static-cache: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-thrift: [ i686-linux, x86_64-linux, x86_64-darwin ] - wai-throttler: [ i686-linux, x86_64-linux, x86_64-darwin ] - waitfree: [ i686-linux, x86_64-linux, x86_64-darwin ] - waitra: [ i686-linux, x86_64-linux, x86_64-darwin ] - waldo: [ i686-linux, x86_64-linux, x86_64-darwin ] - wallpaper: [ i686-linux, x86_64-linux, x86_64-darwin ] - warp-dynamic: [ i686-linux, x86_64-linux, x86_64-darwin ] - warp-static: [ i686-linux, x86_64-linux, x86_64-darwin ] - WashNGo: [ i686-linux, x86_64-linux, x86_64-darwin ] - wasm: [ i686-linux, x86_64-linux, x86_64-darwin ] - watcher: [ i686-linux, x86_64-linux, x86_64-darwin ] - watchit: [ i686-linux, x86_64-linux, x86_64-darwin ] - wavefront-obj: [ i686-linux, x86_64-linux, x86_64-darwin ] - WaveFront: [ i686-linux, x86_64-linux, x86_64-darwin ] - wavesurfer: [ i686-linux, x86_64-linux, x86_64-darwin ] - wavy: [ i686-linux, x86_64-linux, x86_64-darwin ] - weak-bag: [ i686-linux, x86_64-linux, x86_64-darwin ] - weather-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - web-css: [ i686-linux, x86_64-linux, x86_64-darwin ] - web-encodings: [ i686-linux, x86_64-linux, x86_64-darwin ] - web-fpco: [ i686-linux, x86_64-linux, x86_64-darwin ] - web-inv-route: [ i686-linux, x86_64-linux, x86_64-darwin ] - web-mongrel2: [ i686-linux, x86_64-linux, x86_64-darwin ] - web-output: [ i686-linux, x86_64-linux, x86_64-darwin ] - web-page: [ i686-linux, x86_64-linux, x86_64-darwin ] - web-push: [ i686-linux, x86_64-linux, x86_64-darwin ] - web-routes-quasi: [ i686-linux, x86_64-linux, x86_64-darwin ] - web-routes-regular: [ i686-linux, x86_64-linux, x86_64-darwin ] - web-routes-transformers: [ i686-linux, x86_64-linux, x86_64-darwin ] - web-routing: [ i686-linux, x86_64-linux, x86_64-darwin ] - web3: [ i686-linux, x86_64-linux, x86_64-darwin ] - webapi: [ i686-linux, x86_64-linux, x86_64-darwin ] - webapp: [ i686-linux, x86_64-linux, x86_64-darwin ] - WebBits-Html: [ i686-linux, x86_64-linux, x86_64-darwin ] - WebBits-multiplate: [ i686-linux, x86_64-linux, x86_64-darwin ] - WebBits: [ i686-linux, x86_64-linux, x86_64-darwin ] - webcloud: [ i686-linux, x86_64-linux, x86_64-darwin ] - WebCont: [ i686-linux, x86_64-linux, x86_64-darwin ] - webcrank-dispatch: [ i686-linux, x86_64-linux, x86_64-darwin ] - webcrank-wai: [ i686-linux, x86_64-linux, x86_64-darwin ] - webcrank: [ i686-linux, x86_64-linux, x86_64-darwin ] - webdriver-snoy: [ i686-linux, x86_64-linux, x86_64-darwin ] - webdriver-w3c: [ i686-linux, x86_64-linux, x86_64-darwin ] - WeberLogic: [ i686-linux, x86_64-linux, x86_64-darwin ] - webfinger-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - webify: [ i686-linux, x86_64-linux, x86_64-darwin ] - webkit-javascriptcore: [ i686-linux, x86_64-linux, x86_64-darwin ] - webkit2gtk3-javascriptcore: [ i686-linux, x86_64-linux, x86_64-darwin ] - webpage: [ i686-linux, x86_64-linux, x86_64-darwin ] - Webrexp: [ i686-linux, x86_64-linux, x86_64-darwin ] - webserver: [ i686-linux, x86_64-linux, x86_64-darwin ] - websockets-rpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - webwire: [ i686-linux, x86_64-linux, x86_64-darwin ] - weighted-regexp: [ i686-linux, x86_64-linux, x86_64-darwin ] - weighted: [ i686-linux, x86_64-linux, x86_64-darwin ] - welshy: [ i686-linux, x86_64-linux, x86_64-darwin ] - werewolf-slack: [ i686-linux, x86_64-linux, x86_64-darwin ] - werewolf: [ i686-linux, x86_64-linux, x86_64-darwin ] - wheb-mongo: [ i686-linux, x86_64-linux, x86_64-darwin ] - wheb-redis: [ i686-linux, x86_64-linux, x86_64-darwin ] - wheb-strapped: [ i686-linux, x86_64-linux, x86_64-darwin ] - Wheb: [ i686-linux, x86_64-linux, x86_64-darwin ] - while-lang-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - whim: [ i686-linux, x86_64-linux, x86_64-darwin ] - whiskers: [ i686-linux, x86_64-linux, x86_64-darwin ] - whitespace: [ i686-linux, x86_64-linux, x86_64-darwin ] - why3: [ i686-linux, x86_64-linux, x86_64-darwin ] - WikimediaParser: [ i686-linux, x86_64-linux, x86_64-darwin ] - wikipedia4epub: [ i686-linux, x86_64-linux, x86_64-darwin ] - wild-bind-indicator: [ i686-linux, x86_64-linux, x86_64-darwin ] - wild-bind-task-x11: [ i686-linux, x86_64-linux, x86_64-darwin ] - windns: [ i686-linux, x86_64-linux, x86_64-darwin ] - windowslive: [ i686-linux, x86_64-linux, x86_64-darwin ] - winerror: [ i686-linux, x86_64-linux, x86_64-darwin ] - winio: [ i686-linux, x86_64-linux, x86_64-darwin ] - Wired: [ i686-linux, x86_64-linux, x86_64-darwin ] - wires: [ i686-linux, x86_64-linux, x86_64-darwin ] - wiring: [ i686-linux, x86_64-linux, x86_64-darwin ] - withdependencies: [ i686-linux, x86_64-linux, x86_64-darwin ] - wkt: [ i686-linux, x86_64-linux, x86_64-darwin ] - wl-pprint-ansiterm: [ i686-linux, x86_64-linux, x86_64-darwin ] - wl-pprint-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - wl-pprint-terminfo: [ i686-linux, x86_64-linux, x86_64-darwin ] - WL500gPControl: [ i686-linux, x86_64-linux, x86_64-darwin ] - WL500gPLib: [ i686-linux, x86_64-linux, x86_64-darwin ] - wlc-hs: [ i686-linux, x86_64-linux, x86_64-darwin ] - WMSigner: [ i686-linux, x86_64-linux, x86_64-darwin ] - wobsurv: [ i686-linux, x86_64-linux, x86_64-darwin ] - woffex: [ i686-linux, x86_64-linux, x86_64-darwin ] - wolf: [ i686-linux, x86_64-linux, x86_64-darwin ] - word2vec-model: [ i686-linux, x86_64-linux, x86_64-darwin ] - WordAlignment: [ i686-linux, x86_64-linux, x86_64-darwin ] - wordchoice: [ i686-linux, x86_64-linux, x86_64-darwin ] - WordNet-ghc74: [ i686-linux, x86_64-linux, x86_64-darwin ] - WordNet: [ i686-linux, x86_64-linux, x86_64-darwin ] - wordpass: [ i686-linux, x86_64-linux, x86_64-darwin ] - wordsearch: [ i686-linux, x86_64-linux, x86_64-darwin ] - work-time: [ i686-linux, x86_64-linux, x86_64-darwin ] - workdays: [ i686-linux, x86_64-linux, x86_64-darwin ] - workflow-extra: [ i686-linux, x86_64-linux, x86_64-darwin ] - workflow-osx: [ i686-linux, x86_64-linux, x86_64-darwin ] - workflow-pure: [ i686-linux, x86_64-linux, x86_64-darwin ] - workflow-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - workflow-windows: [ i686-linux, x86_64-linux, x86_64-darwin ] - Workflow: [ i686-linux, x86_64-linux, x86_64-darwin ] - wp-archivebot: [ i686-linux, x86_64-linux, x86_64-darwin ] - wraxml: [ i686-linux, x86_64-linux, x86_64-darwin ] - wrecker-ui: [ i686-linux, x86_64-linux, x86_64-darwin ] - wrecker: [ i686-linux, x86_64-linux, x86_64-darwin ] - wreq-sb: [ i686-linux, x86_64-linux, x86_64-darwin ] - wright: [ i686-linux, x86_64-linux, x86_64-darwin ] - ws: [ i686-linux, x86_64-linux, x86_64-darwin ] - wsdl: [ i686-linux, x86_64-linux, x86_64-darwin ] - wsedit: [ i686-linux, x86_64-linux, x86_64-darwin ] - wss-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - wtk-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - wtk: [ i686-linux, x86_64-linux, x86_64-darwin ] - wumpus-basic: [ i686-linux, x86_64-linux, x86_64-darwin ] - wumpus-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - wumpus-drawing: [ i686-linux, x86_64-linux, x86_64-darwin ] - wumpus-microprint: [ i686-linux, x86_64-linux, x86_64-darwin ] - wumpus-tree: [ i686-linux, x86_64-linux, x86_64-darwin ] - WURFL: [ i686-linux, x86_64-linux, x86_64-darwin ] - wxAsteroids: [ i686-linux, x86_64-linux, x86_64-darwin ] - WXDiffCtrl: [ i686-linux, x86_64-linux, x86_64-darwin ] - wxdirect: [ i686-linux, x86_64-linux, x86_64-darwin ] - wxFruit: [ i686-linux, x86_64-linux, x86_64-darwin ] - WxGeneric: [ i686-linux, x86_64-linux, x86_64-darwin ] - wxhnotepad: [ i686-linux, x86_64-linux, x86_64-darwin ] - wxSimpleCanvas: [ i686-linux, x86_64-linux, x86_64-darwin ] - wxturtle: [ i686-linux, x86_64-linux, x86_64-darwin ] - wyvern: [ i686-linux, x86_64-linux, x86_64-darwin ] - x-dsp: [ i686-linux, x86_64-linux, x86_64-darwin ] - X11-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - X11-rm: [ i686-linux, x86_64-linux, x86_64-darwin ] - X11-xdamage: [ i686-linux, x86_64-linux, x86_64-darwin ] - X11-xfixes: [ i686-linux, x86_64-linux, x86_64-darwin ] - x86-64bit: [ i686-linux, x86_64-linux, x86_64-darwin ] - xattr: [ i686-linux, x86_64-linux, x86_64-darwin ] - xcb-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - xchat-plugin: [ i686-linux, x86_64-linux, x86_64-darwin ] - xcp: [ i686-linux, x86_64-linux, x86_64-darwin ] - xdcc: [ i686-linux, x86_64-linux, x86_64-darwin ] - xdot: [ i686-linux, x86_64-linux, x86_64-darwin ] - Xec: [ i686-linux, x86_64-linux, x86_64-darwin ] - xfconf: [ i686-linux, x86_64-linux, x86_64-darwin ] - xformat: [ i686-linux, x86_64-linux, x86_64-darwin ] - xhaskell-library: [ i686-linux, x86_64-linux, x86_64-darwin ] - xhb-atom-cache: [ i686-linux, x86_64-linux, x86_64-darwin ] - xhb-ewmh: [ i686-linux, x86_64-linux, x86_64-darwin ] - xhb: [ i686-linux, x86_64-linux, x86_64-darwin ] - xilinx-lava: [ i686-linux, x86_64-linux, x86_64-darwin ] - xine: [ i686-linux, x86_64-linux, x86_64-darwin ] - xing-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - xkbcommon: [ i686-linux, x86_64-linux, x86_64-darwin ] - xkcd: [ i686-linux, x86_64-linux, x86_64-darwin ] - xleb: [ i686-linux, x86_64-linux, x86_64-darwin ] - xlsior: [ i686-linux, x86_64-linux, x86_64-darwin ] - xlsx-templater: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-catalog: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-conduit-decode: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-enumerator-combinators: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-html-conduit-lens: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-monad: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-parsec: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-pipe: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-prettify: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-push: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-query-xml-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-query-xml-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-query: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-tydom-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml-tydom-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml2json: [ i686-linux, x86_64-linux, x86_64-darwin ] - xml2x: [ i686-linux, x86_64-linux, x86_64-darwin ] - xmlbf-xeno: [ i686-linux, x86_64-linux, x86_64-darwin ] - xmlbf-xmlhtml: [ i686-linux, x86_64-linux, x86_64-darwin ] - XmlHtmlWriter: [ i686-linux, x86_64-linux, x86_64-darwin ] - XMLParser: [ i686-linux, x86_64-linux, x86_64-darwin ] - xmltv: [ i686-linux, x86_64-linux, x86_64-darwin ] - xmms2-client-glib: [ i686-linux, x86_64-linux, x86_64-darwin ] - xmms2-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - XMMS: [ i686-linux, x86_64-linux, x86_64-darwin ] - xmonad-bluetilebranch: [ i686-linux, x86_64-linux, x86_64-darwin ] - xmonad-contrib-bluetilebranch: [ i686-linux, x86_64-linux, x86_64-darwin ] - xmonad-contrib-gpl: [ i686-linux, x86_64-linux, x86_64-darwin ] - xmonad-eval: [ i686-linux, x86_64-linux, x86_64-darwin ] - xmonad-screenshot: [ i686-linux, x86_64-linux, x86_64-darwin ] - xmonad-vanessa: [ i686-linux, x86_64-linux, x86_64-darwin ] - xmonad-windownames: [ i686-linux, x86_64-linux, x86_64-darwin ] - xmpipe: [ i686-linux, x86_64-linux, x86_64-darwin ] - XMPP: [ i686-linux, x86_64-linux, x86_64-darwin ] - Xorshift128Plus: [ i686-linux, x86_64-linux, x86_64-darwin ] - xournal-builder: [ i686-linux, x86_64-linux, x86_64-darwin ] - xournal-convert: [ i686-linux, x86_64-linux, x86_64-darwin ] - xournal-parser: [ i686-linux, x86_64-linux, x86_64-darwin ] - xournal-render: [ i686-linux, x86_64-linux, x86_64-darwin ] - xournal-types: [ i686-linux, x86_64-linux, x86_64-darwin ] - xsact: [ i686-linux, x86_64-linux, x86_64-darwin ] - XSaiga: [ i686-linux, x86_64-linux, x86_64-darwin ] - xsd: [ i686-linux, x86_64-linux, x86_64-darwin ] - xslt: [ i686-linux, x86_64-linux, x86_64-darwin ] - xtc: [ i686-linux, x86_64-linux, x86_64-darwin ] - xxhash: [ i686-linux, x86_64-linux, x86_64-darwin ] - y0l0bot: [ i686-linux, x86_64-linux, x86_64-darwin ] - yabi-muno: [ i686-linux, x86_64-linux, x86_64-darwin ] - Yablog: [ i686-linux, x86_64-linux, x86_64-darwin ] - yackage: [ i686-linux, x86_64-linux, x86_64-darwin ] - YACPong: [ i686-linux, x86_64-linux, x86_64-darwin ] - yahoo-finance-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - yahoo-finance-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - yahoo-web-search: [ i686-linux, x86_64-linux, x86_64-darwin ] - yajl-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ] - yajl: [ i686-linux, x86_64-linux, x86_64-darwin ] - yak: [ i686-linux, x86_64-linux, x86_64-darwin ] - yam-datasource: [ i686-linux, x86_64-linux, x86_64-darwin ] - yam-job: [ i686-linux, x86_64-linux, x86_64-darwin ] - yam-servant: [ i686-linux, x86_64-linux, x86_64-darwin ] - yam-transaction-odbc: [ i686-linux, x86_64-linux, x86_64-darwin ] - yam-web: [ i686-linux, x86_64-linux, x86_64-darwin ] - yam: [ i686-linux, x86_64-linux, x86_64-darwin ] - yaml-pretty-extras: [ i686-linux, x86_64-linux, x86_64-darwin ] - yaml-rpc-scotty: [ i686-linux, x86_64-linux, x86_64-darwin ] - yaml-rpc-snap: [ i686-linux, x86_64-linux, x86_64-darwin ] - yaml-rpc: [ i686-linux, x86_64-linux, x86_64-darwin ] - yaml2owl: [ i686-linux, x86_64-linux, x86_64-darwin ] - yampa-canvas: [ i686-linux, x86_64-linux, x86_64-darwin ] - yampa-glfw: [ i686-linux, x86_64-linux, x86_64-darwin ] - yampa-gloss: [ i686-linux, x86_64-linux, x86_64-darwin ] - yampa-glut: [ i686-linux, x86_64-linux, x86_64-darwin ] - yampa-sdl2: [ i686-linux, x86_64-linux, x86_64-darwin ] - yampa-test: [ i686-linux, x86_64-linux, x86_64-darwin ] - yampa2048: [ i686-linux, x86_64-linux, x86_64-darwin ] - Yampa: [ i686-linux, x86_64-linux, x86_64-darwin ] - YampaSynth: [ i686-linux, x86_64-linux, x86_64-darwin ] - yandex-translate: [ i686-linux, x86_64-linux, x86_64-darwin ] - yaop: [ i686-linux, x86_64-linux, x86_64-darwin ] - yap: [ i686-linux, x86_64-linux, x86_64-darwin ] - yarn-lock: [ i686-linux, x86_64-linux, x86_64-darwin ] - yarr-image-io: [ i686-linux, x86_64-linux, x86_64-darwin ] - yarr: [ i686-linux, x86_64-linux, x86_64-darwin ] - yate: [ i686-linux, x86_64-linux, x86_64-darwin ] - yavie: [ i686-linux, x86_64-linux, x86_64-darwin ] - yaya-unsafe: [ i686-linux, x86_64-linux, x86_64-darwin ] - yaya: [ i686-linux, x86_64-linux, x86_64-darwin ] - ycextra: [ i686-linux, x86_64-linux, x86_64-darwin ] - yeller: [ i686-linux, x86_64-linux, x86_64-darwin ] - yeshql-postgresql-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-angular-ui: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-angular: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-articles: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-account-fork: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-account: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-basic: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-bcrypt: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-bcryptdb: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-deskcom: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-fb: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-hmac-keccak: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-kerberos: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-ldap-mediocre: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-ldap-native: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-ldap: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-nopassword: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-oauth2: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-pam: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-smbclient: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-auth-zendesk: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-bootstrap: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-colonnade: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-comments: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-content-pdf: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-continuations: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-crud-persist: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-crud: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-datatables: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-dsl: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-examples: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-fast-devel: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-fay: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-form-richtext: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-goodies: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-ip: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-job-queue: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-links: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-lucid: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-mangopay: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-markdown: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-media-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-paginate: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-pagination: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-paypal-rest: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-platform: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-pnotify: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-pure: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-purescript: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-raml-bin: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-raml-docs: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-raml-mock: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-raml: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-recaptcha: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-routes-flow: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-routes-typescript: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-routes: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-rst: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-s3: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-sass: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-session-redis: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-static-angular: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-test-json: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-tls: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-vend: [ i686-linux, x86_64-linux, x86_64-darwin ] - yesod-worker: [ i686-linux, x86_64-linux, x86_64-darwin ] - YFrob: [ i686-linux, x86_64-linux, x86_64-darwin ] - yggdrasil: [ i686-linux, x86_64-linux, x86_64-darwin ] - yhccore: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-contrib: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-dynamic-configuration: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-frontend-pango: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-frontend-vty: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-fuzzy-open: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-ireader: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-keymap-cua: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-keymap-emacs: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-keymap-vim: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-misc-modes: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-mode-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-mode-javascript: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-monokai: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-snippet: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-solarized: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi-spolsky: [ i686-linux, x86_64-linux, x86_64-darwin ] - yi: [ i686-linux, x86_64-linux, x86_64-darwin ] - yices: [ i686-linux, x86_64-linux, x86_64-darwin ] - yjftp-libs: [ i686-linux, x86_64-linux, x86_64-darwin ] - yjftp: [ i686-linux, x86_64-linux, x86_64-darwin ] - yoda: [ i686-linux, x86_64-linux, x86_64-darwin ] - Yogurt-Standalone: [ i686-linux, x86_64-linux, x86_64-darwin ] - Yogurt: [ i686-linux, x86_64-linux, x86_64-darwin ] - yoko: [ i686-linux, x86_64-linux, x86_64-darwin ] - york-lava: [ i686-linux, x86_64-linux, x86_64-darwin ] - yql: [ i686-linux, x86_64-linux, x86_64-darwin ] - yst: [ i686-linux, x86_64-linux, x86_64-darwin ] - yu-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - yu-launch: [ i686-linux, x86_64-linux, x86_64-darwin ] - yu-tool: [ i686-linux, x86_64-linux, x86_64-darwin ] - yuuko: [ i686-linux, x86_64-linux, x86_64-darwin ] - yx: [ i686-linux, x86_64-linux, x86_64-darwin ] - yxdb-utils: [ i686-linux, x86_64-linux, x86_64-darwin ] - z3-encoding: [ i686-linux, x86_64-linux, x86_64-darwin ] - z85: [ i686-linux, x86_64-linux, x86_64-darwin ] - zabt: [ i686-linux, x86_64-linux, x86_64-darwin ] - zampolit: [ i686-linux, x86_64-linux, x86_64-darwin ] - zasni-gerna: [ i686-linux, x86_64-linux, x86_64-darwin ] - ZEBEDDE: [ i686-linux, x86_64-linux, x86_64-darwin ] - zendesk-api: [ i686-linux, x86_64-linux, x86_64-darwin ] - zeno: [ i686-linux, x86_64-linux, x86_64-darwin ] - zephyr: [ i686-linux, x86_64-linux, x86_64-darwin ] - zeromq-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - zeromq3-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - zeromq3-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - zeromq4-clone-pattern: [ i686-linux, x86_64-linux, x86_64-darwin ] - zeromq4-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - zeromq4-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ] - zeromq4-patterns: [ i686-linux, x86_64-linux, x86_64-darwin ] - zeromq4-simple: [ i686-linux, x86_64-linux, x86_64-darwin ] - zeroth: [ i686-linux, x86_64-linux, x86_64-darwin ] - ZFS: [ i686-linux, x86_64-linux, x86_64-darwin ] - zifter-cabal: [ i686-linux, x86_64-linux, x86_64-darwin ] - zifter-git: [ i686-linux, x86_64-linux, x86_64-darwin ] - zifter-google-java-format: [ i686-linux, x86_64-linux, x86_64-darwin ] - zifter-hindent: [ i686-linux, x86_64-linux, x86_64-darwin ] - zifter-hlint: [ i686-linux, x86_64-linux, x86_64-darwin ] - zifter-stack: [ i686-linux, x86_64-linux, x86_64-darwin ] - zifter: [ i686-linux, x86_64-linux, x86_64-darwin ] - zigbee-znet25: [ i686-linux, x86_64-linux, x86_64-darwin ] - zip-conduit: [ i686-linux, x86_64-linux, x86_64-darwin ] - zipedit: [ i686-linux, x86_64-linux, x86_64-darwin ] - zipkin: [ i686-linux, x86_64-linux, x86_64-darwin ] - ziptastic-client: [ i686-linux, x86_64-linux, x86_64-darwin ] - ziptastic-core: [ i686-linux, x86_64-linux, x86_64-darwin ] - zlib-enum: [ i686-linux, x86_64-linux, x86_64-darwin ] - zm: [ i686-linux, x86_64-linux, x86_64-darwin ] - ZMachine: [ i686-linux, x86_64-linux, x86_64-darwin ] - zmcat: [ i686-linux, x86_64-linux, x86_64-darwin ] - zmidi-score: [ i686-linux, x86_64-linux, x86_64-darwin ] - zoneinfo: [ i686-linux, x86_64-linux, x86_64-darwin ] - zoom-cache-pcm: [ i686-linux, x86_64-linux, x86_64-darwin ] - zoom-cache-sndfile: [ i686-linux, x86_64-linux, x86_64-darwin ] - zoom-cache: [ i686-linux, x86_64-linux, x86_64-darwin ] - zoom-refs: [ i686-linux, x86_64-linux, x86_64-darwin ] - zoom: [ i686-linux, x86_64-linux, x86_64-darwin ] - zre: [ i686-linux, x86_64-linux, x86_64-darwin ] - zsh-battery: [ i686-linux, x86_64-linux, x86_64-darwin ] - zstd: [ i686-linux, x86_64-linux, x86_64-darwin ] - zsyntax: [ i686-linux, x86_64-linux, x86_64-darwin ] - ztar: [ i686-linux, x86_64-linux, x86_64-darwin ] - zuramaru: [ i686-linux, x86_64-linux, x86_64-darwin ] - Zwaluw: [ i686-linux, x86_64-linux, x86_64-darwin ] - zxcvbn-c: [ i686-linux, x86_64-linux, x86_64-darwin ] +broken-packages: + # These packages don't compile or depend on packages that don't compile. + - 3dmodels + - 4Blocks + - a50 + - AAI + - abcBridge + - abcnotation + - abeson + - abnf + - AbortT-monadstf + - AbortT-mtl + - AbortT-transformers + - abstract-par-accelerate + - abt + - AC-BuildPlatform + - AC-EasyRaster-GTK + - AC-HalfInteger + - ac-machine + - ac-machine-conduit + - AC-MiniTest + - AC-Terminal + - AC-VanillaArray + - AC-Vector + - AC-Vector-Fancy + - accelerate-arithmetic + - accelerate-fftw + - accelerate-fourier + - accelerate-llvm-native + - accelerate-random + - accelerate-typelits + - accelerate-utility + - accentuateus + - access-time + - access-token-provider + - acid-state-dist + - acid-state-tls + - ACME + - acme-all-monad + - acme-comonad + - acme-flipping-tables + - acme-hq9plus + - acme-http + - acme-inator + - acme-kitchen-sink + - acme-left-pad + - acme-miscorder + - acme-mutable-package + - acme-now + - acme-numbersystem + - acme-operators + - acme-php + - acme-schoenfinkel + - acme-strfry + - acme-stringly-typed + - acme-zalgo + - acme-zero + - ActionKid + - activehs + - activehs-base + - activitypub + - activitystreams-aeson + - actor + - Adaptive + - Adaptive-Blaisorblade + - adaptive-containers + - adaptive-tuple + - adb + - adhoc-network + - adict + - adobe-swatch-exchange + - adp-multi + - adp-multi-monadiccp + - ADPfusion + - ADPfusionForest + - ADPfusionSet + - adtrees + - Advgame + - AERN-Basics + - AERN-Net + - AERN-Real + - AERN-Real-Double + - AERN-Real-Interval + - AERN-RnToRm + - AERN-RnToRm-Plot + - aern2-mp + - aern2-real + - aeson-applicative + - aeson-decode + - aeson-diff-generic + - aeson-flowtyped + - aeson-injector + - aeson-native + - aeson-prefix + - aeson-schema + - aeson-smart + - aeson-streams + - aeson-t + - aeson-tiled + - aeson-typescript + - affection + - affine-invariant-ensemble-mcmc + - afv + - ag-pictgen + - Agata + - agda-server + - agda-snippets + - agda-snippets-hakyll + - agentx + - AGI + - AhoCorasick + - aig + - aip + - air-th + - airbrake + - airship + - airtable-api + - aivika-distributed + - ajhc + - AlanDeniseEricLauren + - alerta + - alex-meta + - alex-prelude + - alfred + - alga + - algebra + - algebra-sql + - algebraic + - algebraic-graphs + - algebraic-prelude + - algo-s + - AlgoRhythm + - AlgorithmW + - align-text + - AlignmentAlgorithms + - Allure + - alms + - alpha + - alphachar + - alsa + - alsa-gui + - alsa-midi + - alsa-pcm-tests + - alsa-seq-tests + - altcomposition + - alternative-extra + - alternative-io + - alto + - alure + - amazon-emailer + - amazon-emailer-client-snap + - amazon-products + - amazonka + - amazonka-alexa-business + - amazonka-apigateway + - amazonka-application-autoscaling + - amazonka-appstream + - amazonka-appsync + - amazonka-athena + - amazonka-autoscaling + - amazonka-autoscaling-plans + - amazonka-batch + - amazonka-budgets + - amazonka-certificatemanager + - amazonka-certificatemanager-pca + - amazonka-cloud9 + - amazonka-clouddirectory + - amazonka-cloudformation + - amazonka-cloudfront + - amazonka-cloudhsm + - amazonka-cloudhsmv2 + - amazonka-cloudsearch + - amazonka-cloudsearch-domains + - amazonka-cloudtrail + - amazonka-cloudwatch + - amazonka-cloudwatch-events + - amazonka-cloudwatch-logs + - amazonka-codebuild + - amazonka-codecommit + - amazonka-codedeploy + - amazonka-codepipeline + - amazonka-codestar + - amazonka-cognito-identity + - amazonka-cognito-idp + - amazonka-cognito-sync + - amazonka-comprehend + - amazonka-config + - amazonka-connect + - amazonka-core + - amazonka-cost-explorer + - amazonka-cur + - amazonka-datapipeline + - amazonka-devicefarm + - amazonka-directconnect + - amazonka-discovery + - amazonka-dms + - amazonka-ds + - amazonka-dynamodb + - amazonka-dynamodb-dax + - amazonka-dynamodb-streams + - amazonka-ec2 + - amazonka-ecr + - amazonka-ecs + - amazonka-efs + - amazonka-elasticache + - amazonka-elasticbeanstalk + - amazonka-elasticsearch + - amazonka-elastictranscoder + - amazonka-elb + - amazonka-elbv2 + - amazonka-emr + - amazonka-fms + - amazonka-gamelift + - amazonka-glacier + - amazonka-glue + - amazonka-greengrass + - amazonka-guardduty + - amazonka-health + - amazonka-iam + - amazonka-importexport + - amazonka-inspector + - amazonka-iot + - amazonka-iot-analytics + - amazonka-iot-dataplane + - amazonka-iot-jobs-dataplane + - amazonka-kinesis + - amazonka-kinesis-analytics + - amazonka-kinesis-firehose + - amazonka-kinesis-video + - amazonka-kinesis-video-archived-media + - amazonka-kinesis-video-media + - amazonka-kms + - amazonka-lambda + - amazonka-lex-models + - amazonka-lex-runtime + - amazonka-lightsail + - amazonka-marketplace-analytics + - amazonka-marketplace-entitlement + - amazonka-marketplace-metering + - amazonka-mechanicalturk + - amazonka-mediaconvert + - amazonka-medialive + - amazonka-mediapackage + - amazonka-mediastore + - amazonka-mediastore-dataplane + - amazonka-migrationhub + - amazonka-ml + - amazonka-mobile + - amazonka-mq + - amazonka-opsworks + - amazonka-opsworks-cm + - amazonka-organizations + - amazonka-pinpoint + - amazonka-polly + - amazonka-pricing + - amazonka-rds + - amazonka-redshift + - amazonka-rekognition + - amazonka-resourcegroups + - amazonka-resourcegroupstagging + - amazonka-route53 + - amazonka-route53-autonaming + - amazonka-route53-domains + - amazonka-s3 + - amazonka-s3-streaming + - amazonka-sagemaker + - amazonka-sagemaker-runtime + - amazonka-sdb + - amazonka-secretsmanager + - amazonka-serverlessrepo + - amazonka-servicecatalog + - amazonka-ses + - amazonka-shield + - amazonka-sms + - amazonka-snowball + - amazonka-sns + - amazonka-sqs + - amazonka-ssm + - amazonka-stepfunctions + - amazonka-storagegateway + - amazonka-sts + - amazonka-support + - amazonka-swf + - amazonka-test + - amazonka-transcribe + - amazonka-translate + - amazonka-waf + - amazonka-waf-regional + - amazonka-workdocs + - amazonka-workmail + - amazonka-workspaces + - amazonka-xray + - amby + - AMI + - ampersand + - amqp-conduit + - analyze + - analyze-client + - anansi-pandoc + - anatomy + - android + - android-activity + - android-lint-summary + - AndroidViewHierarchyImporter + - angel + - angle + - Animas + - animascii + - animate + - animate-example + - animate-frames + - animate-preview + - animate-sdl2 + - annah + - Annotations + - anonymous-sums + - anonymous-sums-tests + - ansi-terminal-game + - ansigraph + - antagonist + - antfarm + - anticiv + - antigate + - antimirov + - antiope-athena + - antiope-contract + - antiope-core + - antiope-dynamodb + - antiope-messages + - antiope-optparse-applicative + - antiope-s3 + - antiope-sns + - antiope-sqs + - antiope-swf + - antisplice + - antlr-haskell + - antlrc + - anydbm + - aosd + - apart + - apecs-stm + - apelsin + - api-builder + - api-tools + - api-yoti + - apiary + - apiary-authenticate + - apiary-clientsession + - apiary-cookie + - apiary-eventsource + - apiary-helics + - apiary-http-client + - apiary-logger + - apiary-memcached + - apiary-mongoDB + - apiary-persistent + - apiary-purescript + - apiary-redis + - apiary-session + - apiary-websockets + - apis + - apns-http2 + - apotiki + - app-lens + - appc + - ApplePush + - AppleScript + - applicative-fail + - applicative-parsec + - applicative-quoters + - applicative-splice + - approveapi + - ApproxFun-hs + - arb-fft + - arbb-vm + - arbor-monad-logger + - arbor-monad-metric + - arbor-monad-metric-datadog + - arbor-postgres + - archiver + - archlinux + - archlinux-web + - archnews + - arena + - arff + - arghwxhaskell + - argon + - argon2 + - argparser + - arguedit + - ariadne + - arion + - arith-encode + - armada + - armor + - arpa + - arpack + - array-forth + - array-primops + - arraylist + - ArrayRef + - arrow-improve + - arrow-list + - arrowapply-utils + - arrowp + - arrowp-qq + - ArrowVHDL + - artery + - artifact + - asap + - ascii-flatten + - ascii-string + - ascii-vector-avc + - ascii85-conduit + - asic + - asif + - asil + - asn + - asn1-codec + - assert + - assertions + - asset-map + - assimp + - ast-monad + - ast-monad-json + - astrds + - astview + - async-combinators + - async-dejafu + - async-manager + - async-timer + - asynchronous-exceptions + - aterm + - aterm-utils + - atlassian-connect-core + - atmos-dimensional-tf + - atndapi + - atom-conduit + - atom-msp430 + - atomic-modify + - atomic-primops-foreign + - atomic-primops-vector + - atomo + - ats-format + - ats-setup + - ats-storable + - attic-schedule + - AttoBencode + - AttoJson + - attoparsec-data + - attoparsec-enumerator + - attoparsec-ip + - attoparsec-iteratee + - attoparsec-text + - attoparsec-text-enumerator + - attoparsec-time + - attoparsec-trans + - attoparsec-uri + - attosplit + - Attrac + - atuin + - audiovisual + - augeas + - augur + - aur + - aur-api + - aura + - Aurochs + - authenticate-ldap + - authoring + - AutoForms + - autom + - automata + - autonix-deps + - autonix-deps-kf5 + - avatar-generator + - avers + - avers-api + - avers-api-docs + - avers-server + - avl-static + - AvlTree + - avr-shake + - awesome-prelude + - awesomium + - awesomium-glut + - awesomium-raw + - aws-configuration-tools + - aws-dynamodb-conduit + - aws-dynamodb-streams + - aws-easy + - aws-ec2 + - aws-ec2-knownhosts + - aws-elastic-transcoder + - aws-general + - aws-kinesis + - aws-kinesis-client + - aws-kinesis-reshard + - aws-lambda + - aws-lambda-runtime + - aws-mfa-credentials + - aws-performance-tests + - aws-route53 + - aws-sdk + - aws-sdk-text-converter + - aws-sdk-xml-unordered + - aws-ses-easy + - aws-sign4 + - aws-simple + - aws-sns + - axel + - axiom + - azubi + - azure-service-api + - azure-servicebus + - azurify + - b9 + - babylon + - backblaze-b2-hs + - backdropper + - backprop + - backstop + - backtracking-exceptions + - backward-state + - bag + - Baggins + - bake + - ballast + - bamboo + - bamboo-launcher + - bamboo-plugin-highlight + - bamboo-plugin-photo + - bamboo-theme-blueprint + - bamboo-theme-mini-html5 + - bamse + - bamstats + - Bang + - bank-holiday-usa + - banwords + - barbly + - barchart + - barcodes-code128 + - barecheck + - Barracuda + - barrie + - barrier + - barrier-monad + - base-compat-migrate + - base-feature-macros + - base-generics + - base-io-access + - base64-conduit + - baserock-schema + - BASIC + - baskell + - batch + - batchd + - battlenet + - battlenet-yesod + - battleship-combinatorics + - battleships + - bayes-stack + - bbi + - BCMtools + - bdcs + - bdcs-api + - beam + - beam-newtype-field + - beam-postgres + - beam-th + - beamable + - beautifHOL + - beeminder-api + - Befunge93 + - bein + - belka + - BenchmarkHistory + - bencodex + - berkeleydb + - BerkeleyDBXML + - BerlekampAlgorithm + - berp + - besout + - bet + - betacode + - bff + - bgzf + - bhoogle + - bibdb + - bidirectionalization-combined + - bidispec + - bidispec-extras + - BiGUL + - billboard-parser + - billeksah-forms + - billeksah-main + - billeksah-pane + - billeksah-services + - binary-communicator + - binary-derive + - binary-ext + - binary-file + - binary-indexed-tree + - binary-protocol + - binary-protocol-zmq + - binary-streams + - binary-strict + - binary-typed + - bind-marshal + - binding-gtk + - binding-wx + - bindings-apr + - bindings-apr-util + - bindings-bfd + - bindings-cctools + - bindings-common + - bindings-dc1394 + - bindings-eskit + - bindings-EsounD + - bindings-fann + - bindings-fluidsynth + - bindings-friso + - bindings-gsl + - bindings-gts + - bindings-hamlib + - bindings-hdf5 + - bindings-K8055 + - bindings-libftdi + - bindings-libg15 + - bindings-librrd + - bindings-libstemmer + - bindings-libv4l2 + - bindings-monetdb-mapi + - bindings-mpdecimal + - bindings-portaudio + - bindings-sc3 + - bindings-sipc + - bindings-wlc + - bindynamic + - binembed + - binembed-example + - bio + - bio-sequence + - bioace + - bioalign + - Biobase + - BiobaseBlast + - BiobaseDotP + - BiobaseEnsembl + - BiobaseFR3D + - BiobaseHTTP + - BiobaseHTTPTools + - BiobaseInfernal + - BiobaseMAF + - BiobaseNewick + - BiobaseTrainingData + - BiobaseTurner + - BiobaseVienna + - biocore + - biofasta + - biofastq + - biohazard + - bioinformatics-toolkit + - biophd + - biopsl + - biosff + - biostockholm + - birch-beer + - bird + - BirdPP + - bisc + - bisect-binary + - bit-array + - bit-stream + - bitcoin-hs + - bitcoin-rpc + - Bitly + - bitly-cli + - bitmaps + - bits-conduit + - bitset + - bitspeak + - bitstream + - BitStringRandomMonad + - bittorrent + - bitwise + - bizzlelude + - bizzlelude-js + - bkr + - bla + - blacktip + - blake2 + - blakesum + - blakesum-demo + - blas + - blas-carray + - blas-comfort-array + - blas-ffi + - blas-hs + - BlastHTTP + - blastxml + - blatex + - blaze-builder-enumerator + - blaze-html-contrib + - blaze-html-hexpat + - blaze-html-truncate + - blaze-json + - blaze-textual-native + - blazeT + - ble + - blink1 + - blip + - bliplib + - Blobs + - blockchain + - blockhash + - Blogdown + - blogination + - BlogLiterately + - BlogLiterately-diagrams + - bloodhound + - bloodhound-amazonka-auth + - bloomfilter-redis + - blosum + - blubber + - blubber-server + - Blueprint + - bluetile + - bluetileutils + - blunk-hask-tests + - blunt + - BNFC-meta + - bno055-haskell + - bogre-banana + - bolt + - boltzmann-brain + - bond + - bond-haskell + - bond-haskell-compiler + - bookkeeper + - bookkeeper-permissions + - Bookshelf + - boolean-normal-forms + - boolexpr + - boombox + - boomslang + - boots-app + - boots-cloud + - boots-web + - borel + - boring-window-switcher + - bot + - bounded-array + - bowntz + - box + - braid + - brain-bleep + - Bravo + - breakout + - breve + - brians-brain + - brick-dropdownmenu + - bricks + - bricks-internal + - bricks-internal-test + - bricks-parsec + - bricks-rendering + - bricks-syntax + - brillig + - broadcast-chan-conduit + - broadcast-chan-pipes + - broadcast-chan-tests + - broccoli + - brok + - broker-haskell + - bronyradiogermany-streaming + - brotli + - brotli-conduit + - brotli-streams + - browscap + - bson-generic + - bson-generics + - btree-concurrent + - buchhaltung + - buffer + - buffer-builder-aeson + - BufferedSocket + - buffon + - bugzilla + - build + - buildable + - buildbox-tools + - buildwrapper + - bullet + - bulletproofs + - bulmex + - bumper + - bunz + - burnt-explorer + - burst-detection + - bus-pirate + - Buster + - buster + - buster-gtk + - buster-network + - butter + - butterflies + - bv-sized + - bytable + - byteslice + - bytesmith + - bytestring-builder-varword + - bytestring-class + - bytestring-csv + - bytestring-handle + - bytestring-plain + - bytestring-read + - bytestring-rematch + - bytestring-show + - bytestring-time + - bytestring-typenats + - bytestringparser + - bytestringreadp + - c-dsl + - c-io + - c0check + - c0parser + - c2ats + - c2hsc + - cabal-audit + - cabal-bundle-clib + - cabal-cache + - cabal-cargs + - cabal-constraints + - cabal-db + - cabal-debian + - cabal-dependency-licenses + - cabal-dev + - cabal-dir + - cabal-fmt + - cabal-ghc-dynflags + - cabal-ghci + - cabal-graphdeps + - Cabal-ide-backend + - cabal-info + - cabal-install-bundle + - cabal-install-ghc72 + - cabal-install-ghc74 + - cabal-meta + - cabal-mon + - cabal-nirvana + - cabal-progdeps + - cabal-query + - cabal-rpm + - cabal-setup + - cabal-sort + - cabal-src + - cabal-test + - cabal-test-quickcheck + - cabal-toolkit + - cabal-upload + - cabal2arch + - cabal2doap + - cabal2ebuild + - cabal2ghci + - cabalgraph + - cabalish + - cabalmdvrpm + - cabalQuery + - cabalrpmdeps + - CabalSearch + - cabalvchk + - cabin + - cabocha + - cached + - cachix + - cachix-api + - cacophony + - caffegraph + - cairo-core + - cake + - cake3 + - cakyrespa + - cal-layout + - cal3d + - cal3d-examples + - cal3d-opengl + - calc + - calculator + - caldims + - caledon + - call + - call-haskell-from-anything + - camfort + - campfire + - canonical-filepath + - canonical-json + - canteven-http + - canteven-listen-http + - canteven-log + - canteven-parsedate + - cantor + - cantor-pairing + - cao + - cap + - Capabilities + - capnp + - capped-list + - capri + - car-pool + - carbonara + - carboncopy + - carettah + - CarneadesDSL + - CarneadesIntoDung + - carte + - cartel + - Cartesian + - casa-abbreviations-and-acronyms + - casadi-bindings + - casadi-bindings-control + - casadi-bindings-core + - casadi-bindings-internal + - casadi-bindings-ipopt-interface + - casadi-bindings-snopt-interface + - Cascade + - cascading + - cash + - cassandra-cql + - Cassava + - cassava-conduit + - cassette + - cassy + - caster + - castle + - casui + - catamorphism + - Catana + - catch-fd + - categorical-algebra + - category-extras + - category-traced + - catnplus + - cautious-gen + - cayley-client + - CBOR + - CC-delcont-alt + - CC-delcont-cxe + - CC-delcont-exc + - CC-delcont-ref + - CC-delcont-ref-tf + - CCA + - cci + - ccnx + - cctools-workqueue + - cedict + - cef + - cef3-raw + - cef3-simple + - ceilometer-common + - cellrenderer-cairo + - celtchar + - cerberus + - cereal-derive + - cereal-enumerator + - cereal-ieee754 + - cereal-io-streams + - cereal-plus + - cereal-streams + - certificate + - cf + - cfipu + - cflp + - cfopu + - cg + - cgen + - cgi-utils + - cgrep + - chalkboard + - chalkboard-viewer + - charade + - chart-histogram + - Chart-simple + - chart-unit + - chatter + - chatty-text + - chatwork + - cheapskate-terminal + - check-pvp + - Checked + - checked + - checkmate + - chell + - chell-hunit + - chell-quickcheck + - chessIO + - chevalier-common + - chiasma + - chiphunk + - chitauri + - Chitra + - choose + - choose-exe + - chorale + - chorale-geo + - chp + - chp-mtl + - chp-plus + - chp-spec + - chp-transformers + - chr-core + - chr-lang + - chr-parse + - ChristmasTree + - chromatin + - chronograph + - chu2 + - chunks + - chunky + - cielo + - cil + - cinvoke + - cio + - ciphersaber2 + - circlehs + - citation-resolve + - citeproc-hs + - citeproc-hs-pandoc-filter + - cj-token + - cjk + - clac + - clafer + - claferIG + - claferwiki + - clang-compilation-database + - clang-pure + - clanki + - clarifai + - CLASE + - clash + - clash-ghc + - clash-lib + - clash-multisignal + - clash-prelude + - Clash-Royale-Hack-Cheats + - clash-systemverilog + - clash-verilog + - clash-vhdl + - classify-frog + - ClassLaws + - classy-miso + - classy-parallel + - ClassyPrelude + - clay + - clckwrks + - clckwrks-cli + - clckwrks-dot-com + - clckwrks-plugin-bugs + - clckwrks-plugin-ircbot + - clckwrks-plugin-mailinglist + - clckwrks-plugin-media + - clckwrks-plugin-page + - clckwrks-theme-bootstrap + - clckwrks-theme-clckwrks + - clckwrks-theme-geo-bootstrap + - Clean + - clean-unions + - cless + - clevercss + - clexer + - CLI + - cli-builder + - clif + - clifford + - clifm + - clingo + - clippard + - clipper + - clippings + - clit + - clocked + - clogparse + - clone-all + - closure + - cloud-haskell + - cloud-seeder + - cloudfront-signer + - clr-inline + - clua + - cluss + - ClustalParser + - clustering + - clustertools + - clutterhs + - cmark-highlight + - cmark-patterns + - cmark-sections + - cmath + - cmathml3 + - CMCompare + - cmd-item + - cmdargs-browser + - cmdlib + - cmdtheline + - cmonad + - cmph + - cmt + - cmv + - cnc-spec-compiler + - co-log + - co-log-polysemy + - co-log-sys + - Coadjute + - coalpit + - code-builder + - codec-beam + - codec-libevent + - codec-rpm + - codecov-haskell + - codemonitor + - codepad + - codeworld-api + - codex + - coin + - coinbase-exchange + - coincident-root-loci + - colada + - colchis + - collada-output + - collada-types + - collapse-duplication + - collapse-util + - collection-json + - collections + - collections-api + - collections-base-instances + - color-counter + - colorless + - colorless-http-client + - colorless-scotty + - colour-space + - coltrane + - columbia + - com + - comark-syntax + - combinat + - combinat-diagrams + - combinator-interactive + - combinatorial-problems + - Combinatorrent + - combobuffer + - Command + - commander + - Commando + - commodities + - commsec + - commsec-keyexchange + - comonad-extras + - ComonadSheet + - compact-map + - compact-mutable + - compact-socket + - compact-string + - compact-string-fix + - Compactable + - compdata-dags + - competition + - compilation + - complexity + - compose-trans + - composite-aeson + - composite-aeson-refined + - composite-base + - composite-ekg + - composite-opaleye + - composite-swagger + - composition-tree + - compound-types + - compressed + - compstrat + - comptrans + - computational-algebra + - computations + - concraft + - concraft-hr + - concraft-pl + - concrete-haskell + - concrete-haskell-autogen + - concrete-relaxng-parser + - concrete-typerep + - concurrent-buffer + - Concurrent-Cache + - concurrent-dns-cache + - concurrent-machines + - concurrent-state + - Concurrential + - ConcurrentUtils + - Condor + - condor + - condorcet + - conductive-base + - conductive-hsc3 + - conductive-song + - conduit-audio-lame + - conduit-audio-samplerate + - conduit-find + - conduit-network-stream + - conduit-resumablesink + - conduit-throttle + - conduit-tokenize-attoparsec + - conf + - confcrypt + - conffmt + - confide + - config-parser + - config-select + - ConfigFileTH + - Configger + - configifier + - Configurable + - configuration + - configurator-ng + - congruence-relation + - conjure + - conkin + - conlogger + - connection-string + - Conscript + - consistent + - const-math-ghc-plugin + - constrained-categories + - constrained-category + - constrained-dynamic + - constrained-monads + - constraint-manip + - ConstraintKinds + - constraints-emerge + - constructive-algebra + - consul-haskell + - Consumer + - consumers + - containers-benchmark + - containers-unicode-symbols + - ContArrow + - content-store + - context-free-grammar + - context-stack + - ContextAlgebra + - contiguous + - contiguous-checked + - contiguous-fft + - continue + - continuum + - continuum-client + - Contract + - control-monad-attempt + - control-monad-exception + - control-monad-exception-monadsfd + - control-monad-exception-monadstf + - control-monad-exception-mtl + - control-monad-failure + - control-monad-failure-mtl + - Control-Monad-MultiPass + - Control-Monad-ST2 + - contstuff-monads-tf + - contstuff-transformers + - convert-annotation + - convertible-ascii + - convertible-text + - copilot + - copilot-cbmc + - copilot-language + - copilot-libraries + - copilot-sbv + - copilot-theorem + - copr + - COrdering + - core + - core-haskell + - corebot-bliki + - CoreDump + - CoreErlang + - CoreFoundation + - Coroutine + - coroutine-enumerator + - coroutine-iteratee + - coroutine-object + - couch-hs + - couch-simple + - CouchDB + - couchdb-conduit + - couchdb-enumerator + - countable-inflections + - counter + - courier + - court + - coverage + - coya + - cparsing + - CPBrainfuck + - cpio-conduit + - cplusplus-th + - cprng-aes-effect + - cpuperf + - cpython + - cql-io + - cql-io-tinylog + - cqrs-core + - cqrs-example + - cqrs-memory + - cqrs-postgresql + - cqrs-sqlite3 + - cqrs-test + - cqrs-testkit + - cr + - crack + - craft + - Craft3e + - craftwerk + - craftwerk-cairo + - craftwerk-gtk + - crawlchain + - craze + - crc + - crc16 + - creatur + - credential-store + - crf-chain1 + - crf-chain1-constrained + - crf-chain2-generic + - crf-chain2-tiers + - critbit + - criterion-compare + - criterion-plus + - criterion-to-html + - criu-rpc + - criu-rpc-types + - crjdt-haskell + - crocodile + - cron + - cron-compat + - cruncher-types + - crunghc + - crypto-cipher-benchmarks + - crypto-classical + - crypto-conduit + - crypto-multihash + - crypto-random-effect + - crypto-simple + - cryptocompare + - cryptoconditions + - cryptol + - cryptsy-api + - crystalfontz + - csa + - cse-ghc-plugin + - csg + - CSPM-cspm + - CSPM-FiringRules + - CSPM-Frontend + - CSPM-Interpreter + - CSPM-ToProlog + - cspmchecker + - cspretty + - css + - csv-enumerator + - csv-nptools + - ctemplate + - ctkl + - ctpl + - cube + - cuboid + - cudd + - currency-convert + - curry-frontend + - CurryDB + - cursedcsv + - curve25519 + - curves + - custom-prelude + - CV + - cypher + - d-bus + - d3js + - dag + - DAG-Tournament + - Dangerous + - Dao + - dao + - dapi + - darcs-benchmark + - darcs-beta + - darcs-buildpackage + - darcs-cabalized + - darcs-fastconvert + - darcs-graph + - darcs-monitor + - darcs2dot + - darcsden + - DarcsHelpers + - darcswatch + - darkplaces-demo + - darkplaces-rcon + - darkplaces-rcon-util + - darkplaces-text + - dash-haskell + - data-accessor-monads-fd + - data-accessor-monads-tf + - data-base + - data-basic + - data-category + - data-check + - data-concurrent-queue + - data-construction + - data-cycle + - data-dispersal + - data-easy + - data-emoticons + - data-filepath + - data-fin + - data-fin-simple + - data-flagset + - data-interval + - data-ivar + - data-kiln + - data-layer + - data-lens + - data-lens-fd + - data-lens-ixset + - data-lens-template + - data-map-multikey + - data-named + - data-nat + - data-object + - data-object-json + - data-object-yaml + - data-pprint + - data-quotientref + - data-r-tree + - data-reify-cse + - data-repr + - data-result + - data-rev + - Data-Rope + - data-rope + - data-rtuple + - data-size + - data-spacepart + - data-standards + - data-store + - data-structure-inferrer + - data-type + - data-util + - data-variant + - database-id-groundhog + - database-study + - datadog + - datadog-tracing + - datafix + - dataflow + - DataIndex + - datalog + - datasets + - DataTreeView + - datetime + - datetime-sb + - dawdle + - dawg + - dawg-ord + - dbcleaner + - DBFunctor + - dbjava + - DBlimited + - dbm + - dbmigrations-mysql + - dbmigrations-postgresql + - dbmigrations-sqlite + - DBus + - dbus-client + - dbus-core + - dbus-qq + - dclabel + - dclabel-eci11 + - dcpu16 + - ddate + - ddc-base + - ddc-build + - ddc-code + - ddc-core + - ddc-core-babel + - ddc-core-eval + - ddc-core-flow + - ddc-core-llvm + - ddc-core-salt + - ddc-core-simpl + - ddc-core-tetra + - ddc-driver + - ddc-interface + - ddc-source-tetra + - ddc-tools + - ddc-war + - ddci-core + - dde + - dead-code-detection + - dead-simple-json + - Deadpan-DDP + - debian + - debug + - debug-me + - debug-trace-var + - decepticons + - decimal-arithmetic + - DecisionTree + - declarative + - decoder-conduit + - dedukti + - deepcontrol + - deeplearning-hs + - deepseq-bounded + - deepseq-magic + - deepseq-th + - deepzoom + - defargs + - DefendTheKing + - deka + - deka-tests + - delaunay + - delicious + - delimited-text + - delimiter-separated + - delta + - delta-h + - Delta-Lambda + - delude + - demarcate + - denominate + - dense-int-set + - dependent-monoidal-map + - dependent-state + - dependent-sum-aeson-orphans + - depends + - dephd + - deptrack-core + - deptrack-devops + - deptrack-dot + - dequeue + - derangement + - derivation-trees + - derive + - derive-enumerable + - derive-gadt + - derive-IG + - derive-monoid + - derive-topdown + - derive-trie + - derp-lib + - descript-lang + - deterministic-game-engine + - detour-via-sci + - detour-via-uom + - deunicode + - devil + - dewdrop + - dfinity-radix-tree + - Dflow + - dfsbuild + - dgim + - dgs + - dhall-check + - dhall-lsp-server + - dhall-nix + - dhall-to-cabal + - dhcp-lease-parser + - dhrun + - dia-base + - dia-functions + - diagrams-boolean + - diagrams-builder + - diagrams-canvas + - diagrams-graphviz + - diagrams-gtk + - diagrams-haddock + - diagrams-hsqml + - diagrams-html5 + - diagrams-pandoc + - diagrams-pdf + - diagrams-qrcode + - diagrams-tikz + - diagrams-wx + - dib + - dice-entropy-conduit + - dice2tex + - dicom + - dictionaries + - dictparser + - diet + - diffcabal + - difference-monoid + - DifferenceLogic + - differential + - DifferentialEvolution + - difftodo + - digestive-bootstrap + - digestive-foundation-lucid + - digestive-functors-happstack + - digestive-functors-heist + - digestive-functors-hsp + - digit + - DigitalOcean + - digitalocean-kzs + - digraph + - dimensional-tf + - DimensionalHash + - dingo-core + - dingo-example + - dingo-widgets + - diophantine + - diplomacy + - diplomacy-server + - direct-binary-files + - direct-fastcgi + - direct-http + - direct-plugins + - direct-rocksdb + - directed-cubical + - dirfiles + - dirtree + - discogs-haskell + - discord-gateway + - discord-haskell + - discord-hs + - discord-rest + - discord-types + - discordian-calendar + - DiscussionSupportSystem + - Dish + - disjoint-containers + - disjoint-set + - disjoint-set-stateful + - diskhash + - disposable + - dist-upload + - distance + - DisTract + - distributed-fork-aws-lambda + - distributed-process + - distributed-process-async + - distributed-process-azure + - distributed-process-client-server + - distributed-process-ekg + - distributed-process-execution + - distributed-process-extras + - distributed-process-fsm + - distributed-process-lifted + - distributed-process-monad-control + - distributed-process-p2p + - distributed-process-platform + - distributed-process-registry + - distributed-process-simplelocalnet + - distributed-process-supervisor + - distributed-process-systest + - distributed-process-task + - distributed-process-tests + - distributed-process-zookeeper + - distributed-static + - distribution + - distribution-plot + - diversity + - dixi + - djembe + - djinn-th + - dl-fedora + - dmcc + - dmenu + - dmenu-pkill + - dmenu-pmount + - dmenu-search + - DMuCheck + - DnaProteinAlignment + - dnscache + - dnsrbl + - dnssd + - doc-review + - doccheck + - docidx + - docker + - docker-build-cacher + - dockercook + - DocTest + - doctest-discover-configurator + - doctest-driver-gen + - doctest-prop + - docusign-example + - docvim + - doi + - DOM + - dom-lt + - domain-auth + - domplate + - dot-linker + - dot2graphml + - dotenv + - dotfs + - doublify-toolkit + - dovin + - download-media-content + - dozenal + - dozens + - DP + - dph-base + - dph-examples + - dph-lifted-base + - dph-lifted-copy + - dph-lifted-vseg + - dph-prim-interface + - dph-prim-par + - dph-prim-seq + - dpkg + - DPM + - dpor + - dragen + - drawille + - drClickOn + - dresdner-verkehrsbetriebe + - DrHylo + - DrIFT + - DrIFT-cabalized + - drifter-postgresql + - drmaa + - drone + - dropbox-sdk + - dropsolve + - ds-kanren + - DSA + - DSH + - dsh-sql + - dsmc + - dsmc-tools + - dson-parsec + - DSTM + - dstring + - dtab + - DTC + - dtd + - dtd-text + - dtw + - dual + - Dung + - duplo + - Dust + - Dust-crypto + - Dust-tools + - Dust-tools-pcap + - dvault + - dvda + - dvdread + - dvi-processing + - dwarfadt + - dyckword + - dynamic-cabal + - dynamic-object + - dynamic-plot + - dynamic-pp + - DynamicTimeWarp + - dynamodb-simple + - dynobud + - DysFRP + - DysFRP-Cairo + - DysFRP-Craftwerk + - dywapitchtrack + - dzen-utils + - earclipper + - ease + - easy-api + - easyjson + - easyplot + - ebeats + - ebnf-bff + - ec2-unikernel + - ecma262 + - ecu + - eddie + - edenmodules + - edenskel + - edentv + - edge + - edges + - edit + - edit-lenses + - editable + - editline + - EditTimeReport + - effect-handlers + - effect-stack + - effin + - egison + - egison-quote + - egison-tutorial + - ehaskell + - ehs + - eibd-client-simple + - eigen + - Eight-Ball-Pool-Hack-Cheats + - either-list-functions + - EitherT + - ekg-cloudwatch + - ekg-elastic + - ekg-elasticsearch + - ekg-influxdb + - ekg-log + - ekg-prometheus-adapter + - ekg-push + - ekg-rrd + - elevator + - elision + - elm-websocket + - elsa + - emacs-keys + - email + - email-header + - email-postmark + - emailparse + - embeddock + - embeddock-example + - embroidery + - emgm + - Emping + - Empty + - empty-monad + - enchant + - encoding + - encoding-io + - engine-io-growler + - engine-io-snap + - engine-io-yesod + - entangle + - EntrezHTTP + - entwine + - EnumContainers + - enumerate + - enumerate-function + - enumeration + - enumerator + - enumerator-fd + - enumerator-tf + - enumfun + - EnumMap + - enummapmap + - enummapset-th + - env-parser + - envstatus + - epanet-haskell + - epass + - epic + - epoll + - eprocess + - epubname + - Eq + - EqualitySolver + - erd + - erf-native + - eros + - eros-client + - eros-http + - error-codes + - error-context + - error-continuations + - error-list + - error-loc + - error-message + - errors-ext + - ersaconcat + - ersatz + - ersatz-toysat + - ert + - escape-artist + - escoger + - esotericbot + - EsounD + - espial + - ess + - estimators + - EstProgress + - estreps + - Etage + - Etage-Graph + - EtaMOO + - eternal + - Eternal10Seconds + - eternity + - eternity-timestamped + - ether + - Etherbunny + - ethereum-analyzer + - ethereum-analyzer-cli + - ethereum-analyzer-webui + - ethereum-client-haskell + - ethereum-merkle-patricia-db + - eths-rlp + - euler-tour-tree + - euphoria + - eurofxref + - Euterpea + - eve + - eve-cli + - event + - event-driven + - event-monad + - eventful-dynamodb + - eventful-postgresql + - eventlog2html + - EventSocket + - eventsource-geteventstore-store + - eventsource-store-specs + - eventsource-stub-store + - eventstore + - every-bit-counts + - exact-cover + - exact-real + - exact-real-positional + - except-exceptions + - exception-monads-fd + - exchangerates + - execs + - executor + - exference + - exherbo-cabal + - exif + - exinst-deepseq + - exinst-hashable + - exists + - exitcode + - expand + - expat-enumerator + - expiring-containers + - explain + - explicit-constraint-lens + - explicit-determinant + - explicit-iomodes + - explicit-iomodes-bytestring + - explicit-iomodes-text + - explicit-sharing + - explore + - exposed-containers + - expressions-z3 + - extcore + - extemp + - extended-categories + - extensible-data + - extensible-effects-concurrent + - Extra + - extract-dependencies + - extractelf + - extralife + - ez-couch + - ez3 + - f-ree-hack-cheats-free-v-bucks-generator + - Facebook-Password-Hacker-Online-Latest-Version + - faceted + - Facts + - factual-api + - fadno + - fadno-braids + - fadno-xml + - failable-list + - failure-detector + - FailureT + - fake-type + - faktory + - falling-turnip + - fallingblocks + - family-tree + - fast-arithmetic + - fast-combinatorics + - fast-nats + - fasta + - fastbayes + - fastedit + - fastirc + - fastly + - FastPush + - FastxPipe + - fathead-util + - fault-tree + - fay + - fay-base + - fay-builder + - fay-dom + - fay-geoposition + - fay-hsx + - fay-jquery + - fay-ref + - fay-simplejson + - fay-text + - fay-uri + - fay-websockets + - fb-persistent + - fbmessenger-api + - fca + - fcache + - fcd + - fcg + - fckeditor + - fclabels-monadlib + - FComp + - fdo-trash + - feature-flipper + - feature-flipper-postgres + - fedora-haskell-tools + - fedora-img-dl + - fedora-packages + - feed-cli + - feed-collect + - feed-crawl + - feed-gipeda + - feed-translator + - feed2lj + - feed2twitter + - feldspar-compiler + - feldspar-language + - fenfire + - FermatsLastMargin + - fernet + - FerryCore + - festung + - Feval + - ffeed + - ffmpeg-light + - ffmpeg-tutorials + - ffunctor + - fgl-extras-decompositions + - fibon + - ficketed + - fields + - FieldTrip + - fieldwise + - fig + - file-collection + - file-command-qq + - file-location + - filediff + - FileManip + - FileManipCompat + - fileneglect + - filepath-io-access + - FilePather + - filepather + - Files + - FileSystem + - filesystem-conduit + - filesystem-enumerator + - filesystem-trees + - fillit + - Fin + - final-pretty-printer + - Finance-Quote-Yahoo + - Finance-Treasury + - find-clumpiness + - find-conduit + - find-source-files + - findhttp + - fingertree-psqueue + - fingertree-tf + - FiniteMap + - firefly-example + - first-and-last + - firstify + - FirstOrderTheory + - fit + - fits-parse + - fitsio + - fix-parser-simple + - fix-symbols-gitit + - fixed-point + - fixed-point-vector + - fixed-point-vector-space + - fixed-precision + - fixed-storable-array + - fixed-timestep + - fixed-vector-binary + - fixed-vector-cborg + - fixed-vector-cereal + - fixed-width + - fixer + - fixfile + - fixhs + - fixie + - fizzbuzz + - fizzbuzz-as-a-service + - flac + - flac-picture + - flamethrower + - flamingra + - flat-maybe + - flexible-time + - flexiwrap + - flexiwrap-smallcheck + - flickr + - flight-kml + - Flippi + - flite + - float-binstring + - floating-bits + - floskell + - flow-er + - flow2dot + - flowdock + - flowdock-api + - flowdock-rest + - flower + - flowlocks-framework + - flowsim + - fltkhs-fluid-examples + - fluent-logger + - fluidsynth + - flux-monoid + - FM-SBLEX + - fmark + - FModExRaw + - fn-extra + - foldl-incremental + - foldl-statistics + - folds-common + - follow + - follower + - foma + - font-opengl-basic4x6 + - foo + - for-free + - forbidden-fruit + - fordo + - forecast-io + - foreign-var + - forest-fire + - Forestry + - forger + - ForkableT + - formal + - FormalGrammars + - format + - format-status + - formattable + - forml + - formlets + - formlets-hsp + - formura + - ForSyDe + - forsyde-deep + - forth-hll + - Fortnite-Hack-Cheats-Free-V-Bucks-Generator + - fortran-src + - fortytwo + - foscam-directory + - foscam-filename + - foscam-sort + - Foster + - fpco-api + - fpnla-examples + - FPretty + - fptest + - Fractaler + - fractals + - frag + - Frames + - Frames-beam + - Frames-dsv + - Frames-map-reduce + - franchise + - Frank + - freddy + - free-concurrent + - free-game + - free-http + - free-operational + - free-theorems + - free-theorems-counterexamples + - free-theorems-seq + - free-theorems-seq-webui + - free-theorems-webui + - free-v-bucks-generator-no-survey + - free-v-bucks-generator-ps4-no-survey + - free-vector-spaces + - freekick2 + - freelude + - freer-converse + - freer-effects + - freer-simple-catching + - freer-simple-http + - freer-simple-profiling + - freer-simple-random + - freer-simple-time + - freesect + - freesound + - freetype-simple + - FreeTypeGL + - freq + - fresh + - friday-devil + - friday-scale-dct + - front + - frown + - frp-arduino + - frpnow + - frpnow-gloss + - frpnow-gtk + - frpnow-gtk3 + - frpnow-vty + - fs-events + - fsh-csv + - fsmActions + - fsutils + - fswait + - ft-generator + - ftdi + - FTGL-bytestring + - ftp-client + - ftp-client-conduit + - ftp-conduit + - FTPLine + - ftshell + - full-sessions + - fullstop + - funbot + - funbot-client + - funbot-git-hook + - funcons-lambda-cbv-mp + - function-combine + - function-instances-algebra + - functional-arrow + - functor + - functor-combinators + - functor-products + - functorm + - funflow + - funflow-nix + - FunGEn + - Fungi + - funion + - funnyprint + - funpat + - funsat + - fusion + - futun + - future + - fuzzy-timings + - fwgl + - fwgl-glfw + - fwgl-javascript + - g-npm + - g2 + - g2q + - g4ip + - gact + - game-probability + - gameclock + - gamgee + - Gamgine + - gamma + - Ganymede + - garepinoh + - gargoyle + - gargoyle-postgresql + - gas + - gbu + - gc-monitoring-wai + - gcodehs + - gdax + - gdiff-ig + - gdiff-th + - GeBoP + - gedcom + - geek + - geek-server + - gegl + - gelatin + - gelatin-freetype2 + - gelatin-fruity + - gelatin-gl + - gelatin-sdl2 + - gelatin-shaders + - gemstone + - gen-imports + - gen-passwd + - Genbank + - gencheck + - gender + - genders + - Gene-CluEDO + - general-prelude + - GeneralTicTacToe + - generators + - generic-accessors + - generic-binary + - generic-church + - generic-enum + - generic-lens-labels + - generic-lucid-scaffold + - generic-maybe + - generic-pretty + - generic-storable + - generic-tree + - generic-xml + - generic-xmlpickler + - genericserialize + - genesis + - genesis-test + - genetics + - GenI + - geni-gui + - geni-util + - geniconvert + - geniplate + - geniserver + - genprog + - GenSmsPdu + - gentlemark + - GenussFold + - geo-resolver + - GeocoderOpenCage + - geodetic + - geodetic-types + - geojson + - geojson-types + - geolite-csv + - geom2d + - GeomPredicates-SSE + - geos + - Get + - getemx + - getflag + - GGg + - ggtsTC + - ghc-core-smallstep + - ghc-datasize + - ghc-dump-tree + - ghc-dup + - ghc-events-analyze + - ghc-events-parallel + - ghc-generic-instances + - ghc-imported-from + - ghc-instances + - ghc-man-completion + - ghc-mod + - ghc-parmake + - ghc-pkg-autofix + - ghc-pkg-lib + - ghc-proofs + - ghc-session + - ghc-simple + - ghc-srcspan-plugin + - ghc-syb + - ghc-syb-utils + - ghc-time-alloc-prof + - ghc-trace-events + - ghc-typelits-presburger + - ghc-usage + - ghc-vis + - ghci-diagrams + - ghci-haskeline + - ghci-history-parser + - ghci-lib + - ghci-ng + - ghcjs-base-stub + - ghcjs-dom-jsffi + - ghcjs-fetch + - ghcjs-hplay + - ghcjs-promise + - ghcjs-xhr + - ghclive + - ghcprofview + - ght + - gi-cairo-again + - gi-graphene + - gi-gsk + - gi-gstpbutils + - gi-gsttag + - gi-gtk-declarative + - gi-gtk-declarative-app-simple + - gi-gtkosxapplication + - gi-handy + - gi-notify + - gi-poppler + - gi-wnck + - giak + - Gifcurry + - ginsu + - gipeda + - giphy-api + - GiST + - gist + - git-checklist + - git-config + - git-date + - git-fmt + - git-gpush + - git-jump + - git-object + - git-remote-ipfs + - git-repair + - git-sanity + - gitdo + - github-backup + - github-data + - github-tools + - github-utils + - github-webhook-handler + - github-webhook-handler-snap + - gitignore + - gitit + - gitlab-api + - gitlib-cross + - gitlib-s3 + - gitlib-utils + - gitson + - givegif + - glade + - gladexml-accessor + - glapp + - glazier-pipes + - glazier-react + - glazier-react-examples + - glazier-react-widget + - GLFW-b-demo + - GLFW-OGL + - gli + - glicko + - glider-nlp + - GLMatrix + - glob-posix + - global + - global-config + - global-variables + - glome-hs + - GlomeTrace + - GlomeView + - gloss-banana + - gloss-devil + - gloss-export + - gloss-game + - gloss-sodium + - glpk-hs + - glue + - gmap + - gmndl + - gnome-desktop + - gnomevfs + - gnss-converters + - gnuidn + - goal-core + - goal-geometry + - goal-probability + - goal-simulation + - goatee + - goatee-gtk + - gochan + - gofer-prelude + - gooey + - google-cloud + - google-drive + - google-html5-slide + - google-mail-filters + - google-maps-geocoding + - google-oauth2 + - google-oauth2-easy + - google-search + - google-static-maps + - google-translate + - GoogleCodeJam + - GoogleDirections + - googleplus + - googlepolyline + - GoogleSB + - GoogleTranslate + - gopherbot + - gore-and-ash + - gore-and-ash-actor + - gore-and-ash-async + - gore-and-ash-demo + - gore-and-ash-glfw + - gore-and-ash-lambdacube + - gore-and-ash-logging + - gore-and-ash-network + - gore-and-ash-sdl + - gore-and-ash-sync + - GotoT-transformers + - gotta-go-fast + - gpah + - GPipe + - GPipe-Collada + - GPipe-Examples + - GPipe-GLFW + - GPipe-TextureLoad + - gps + - gps2htmlReport + - GPX + - gpx-conduit + - grab + - grab-form + - graceful + - graflog + - Grafos + - grakn + - grammar-combinators + - GrammarProducts + - grammatical-parsers + - grapefruit-examples + - grapefruit-frp + - grapefruit-records + - grapefruit-ui + - grapefruit-ui-gtk + - graph-matchings + - graph-rewriting + - graph-rewriting-cl + - graph-rewriting-gl + - graph-rewriting-lambdascope + - graph-rewriting-layout + - graph-rewriting-ski + - graph-rewriting-strategies + - graph-rewriting-trs + - graph-rewriting-ww + - graph-serialize + - graph-utils + - graph-visit + - Graph500 + - graphbuilder + - graphene + - GraphHammer + - GraphHammer-examples + - graphics-drawingcombinators + - graphics-formats-collada + - graphicsFormats + - graphicstools + - graphite + - graphql + - graphql-api + - graphtype + - graql + - grasp + - gray-code + - greencard + - greencard-lib + - greg-client + - gremlin-haskell + - Grempa + - grenade + - grid-proto + - gridbounds + - gridland + - grm + - groot + - gross + - GroteTrap + - groundhog-converters + - group-with + - growler + - GrowlNotify + - grpc-api-etcd + - grpc-etcd-client + - gruff + - gruff-examples + - gsc-weighting + - gscholar-rss + - gsl-random + - gsl-random-fu + - gstorable + - GTALib + - gtfs + - gtk-serialized-event + - gtk-toy + - gtk2hs-hello + - gtk2hs-rpn + - Gtk2hsGenerics + - gtk3-mac-integration + - gtkglext + - GtkGLTV + - gtkimageview + - gtkrsync + - gtksourceview2 + - gtksourceview3 + - guarded-rewriting + - guess-combinator + - guid + - GuiHaskell + - GuiTV + - gulcii + - gyah-bin + - h-booru + - h-gpgme + - h-reversi + - h2048 + - h2c + - haar + - habit + - HABQT + - Hach + - hack-contrib + - hack-contrib-press + - hack-frontend-happstack + - hack-handler-cgi + - hack-handler-epoll + - hack-handler-evhttp + - hack-handler-fastcgi + - hack-handler-happstack + - hack-handler-hyena + - hack-handler-kibro + - hack-handler-simpleserver + - hack-middleware-cleanpath + - hack-middleware-clientsession + - hack-middleware-jsonp + - hack2-handler-happstack-server + - hack2-handler-mongrel2-http + - hack2-handler-snap-server + - hack2-handler-warp + - hackage-diff + - hackage-mirror + - hackage-processing + - hackage-proxy + - hackage-repo-tool + - hackage-security-HTTP + - hackage-server + - hackage2hwn + - hackage2twitter + - hackager + - hackernews + - HackMail + - hackmanager + - hactor + - hactors + - haddock-leksah + - haddock-test + - haddocset + - hadolint + - hadoop-formats + - hadoop-rpc + - hadoop-tools + - haggis + - Haggressive + - hahp + - haiji + - hail + - hailgun + - hailgun-send + - hailgun-simple + - hairy + - hakaru + - hakismet + - hakka + - hako + - hakyll-agda + - hakyll-blaze-templates + - hakyll-contrib + - hakyll-contrib-csv + - hakyll-contrib-elm + - hakyll-contrib-hyphenation + - hakyll-contrib-links + - hakyll-convert + - hakyll-dhall + - hakyll-dir-list + - hakyll-favicon + - hakyll-filestore + - hakyll-images + - hakyll-ogmarkup + - hakyll-R + - hakyll-sass + - hakyll-series + - hakyll-shakespeare + - hakyll-shortcode + - hakyll-shortcut-links + - halberd + - halfs + - halipeto + - halive + - hall-symbols + - halma-gui + - halma-telegram-bot + - halves + - HaMinitel + - hampp + - hamsql + - hamtmap + - hamusic + - handa-gdata + - handle-like + - handsy + - Hangman + - hannahci + - hans + - hans-pcap + - haphviz + - hapistrano + - happindicator + - happindicator3 + - happlets + - happlets-lib-gtk + - happraise + - HAppS-Data + - happs-hsp + - happs-hsp-template + - HAppS-IxSet + - HAppS-Server + - HAppS-State + - happs-tutorial + - HAppS-Util + - happstack + - happstack-auth + - happstack-authenticate + - happstack-clientsession + - happstack-contrib + - happstack-data + - happstack-dlg + - happstack-facebook + - happstack-fastcgi + - happstack-fay + - happstack-fay-ajax + - happstack-foundation + - happstack-hamlet + - happstack-heist + - happstack-helpers + - happstack-hsp + - happstack-hstringtemplate + - happstack-ixset + - happstack-jmacro + - happstack-lite + - happstack-monad-peel + - happstack-plugins + - happstack-server + - happstack-server-tls + - happstack-server-tls-cryptonite + - happstack-state + - happstack-static-routing + - happstack-util + - happstack-yui + - happy-meta + - happybara + - happybara-webkit + - happybara-webkit-server + - HappyTree + - hapstone + - HaPy + - haquery + - haquil + - harchive + - hArduino + - hardware-edsl + - HaRe + - harg + - hark + - harmony + - HarmTrace + - haroonga + - haroonga-httpd + - harpy + - harvest-api + - has-th + - HasCacBDD + - hascas + - Haschoo + - HasGP + - hash + - hash-store + - hashable-extras + - hashable-generics + - hashabler + - hashed-storage + - Hashell + - hashflare + - hashring + - hashtables-plus + - hasim + - hask + - hask-home + - haskarrow + - haskbot-core + - haskdeep + - haskeem + - haskeline-class + - haskelisp + - haskell-abci + - haskell-aliyun + - haskell-awk + - haskell-bitmex-client + - haskell-bitmex-rest + - haskell-brainfuck + - haskell-cnc + - haskell-coffee + - haskell-compression + - haskell-course-preludes + - haskell-disque + - haskell-eigen-util + - haskell-formatter + - haskell-ftp + - haskell-generate + - haskell-go-checkers + - haskell-holes-th + - haskell-import-graph + - haskell-in-space + - haskell-kubernetes + - haskell-lsp-client + - haskell-ml + - haskell-mpfr + - haskell-neo4j-client + - haskell-openflow + - haskell-overridez + - haskell-packages + - haskell-pdf-presenter + - haskell-platform-test + - haskell-player + - haskell-plot + - haskell-postal + - haskell-read-editor + - haskell-reflect + - haskell-rules + - haskell-src-exts-observe + - haskell-src-exts-prisms + - haskell-src-exts-qq + - haskell-src-exts-sc + - haskell-src-meta-mwotton + - haskell-stack-trace-plugin + - haskell-token-utils + - haskell-tools-ast-fromghc + - haskell-tools-ast-gen + - haskell-tools-ast-trf + - haskell-tools-builtin-refactorings + - haskell-tools-cli + - haskell-tools-daemon + - haskell-tools-debug + - haskell-tools-demo + - haskell-tools-experimental-refactorings + - haskell-tools-refactor + - haskell-tools-rewrite + - haskell-tor + - haskell-type-exts + - haskell-typescript + - haskell-tyrant + - haskell-xmpp + - haskell2010 + - haskell98 + - haskell98libraries + - haskelldb + - haskelldb-connect-hdbc + - haskelldb-connect-hdbc-catchio-mtl + - haskelldb-connect-hdbc-catchio-tf + - haskelldb-connect-hdbc-catchio-transformers + - haskelldb-connect-hdbc-lifted + - haskelldb-dynamic + - haskelldb-flat + - haskelldb-hdbc + - haskelldb-hdbc-mysql + - haskelldb-hdbc-odbc + - haskelldb-hdbc-postgresql + - haskelldb-hdbc-sqlite3 + - haskelldb-hsql + - haskelldb-hsql-mysql + - haskelldb-hsql-odbc + - haskelldb-hsql-postgresql + - haskelldb-hsql-sqlite3 + - haskelldb-th + - haskelldb-wx + - HaskellLM + - HaskellNet + - HaskellNet-SSL + - HaskellNN + - Haskelloids + - haskellscrabble + - haskellscript + - HaskellTorrent + - HaskellTutorials + - haskelzinc + - haskey + - haskey-mtl + - haskgame + - haskheap + - haskhol-core + - haskmon + - haskoin + - haskoin-bitcoind + - haskoin-crypto + - haskoin-node + - haskoin-protocol + - haskoin-script + - haskoin-store + - haskoin-util + - haskoin-wallet + - haskoon + - haskoon-httpspec + - haskoon-salvia + - haskore + - haskore-realtime + - haskore-supercollider + - haskore-synthesizer + - HaskRel + - hasktorch + - hasktorch-ffi-th + - hasktorch-ffi-thc + - hasktorch-indef + - hasktorch-signatures + - hasktorch-signatures-partial + - hasktorch-signatures-support + - hasktorch-zoo + - haskus-binary + - haskus-system-build + - haskus-utils + - haskus-utils-compat + - haskus-utils-variant + - haskus-web + - haslo + - hasloGUI + - hasparql-client + - hasql-backend + - hasql-class + - hasql-cursor-query + - hasql-dynamic-statements + - hasql-generic + - hasql-implicits + - hasql-migration + - hasql-optparse-applicative + - hasql-pool + - hasql-postgres + - hasql-postgres-options + - hasql-simple + - hastache + - hastache-aeson + - haste + - haste-app + - haste-lib + - haste-markup + - haste-prim + - Hate + - hatex-guide + - HaTeX-meta + - HaTeX-qq + - hats + - hatt + - haverer + - HaVSA + - hawitter + - Hawk + - hax + - haxl-amazonka + - haxl-facebook + - haxparse + - haxr + - haxr-th + - haxy + - hayland + - Hayoo + - hayoo-cli + - hback + - hbayes + - hbb + - hBDD-CMUBDD + - hBDD-CUDD + - hbeat + - hbf + - hblas + - hblock + - hburg + - HCard + - hcc + - hcg-minus + - hcg-minus-cairo + - hcheat + - hcheckers + - hchesslib + - hcltest + - hcoap + - hcom + - hcoord + - hcron + - hCsound + - hcube + - hdaemonize-buildfix + - hdbc-aeson + - HDBC-mysql + - HDBC-postgresql-hstore + - hdbc-postgresql-hstore + - hdbi + - hdbi-conduit + - hdbi-postgresql + - hdbi-sqlite + - hdbi-tests + - hdf + - hDFA + - hdigest + - hdirect + - hdis86 + - hdiscount + - hdm + - hdo + - hdph + - hdph-closure + - hdr-histogram + - HDRUtils + - headergen + - heartbeat-streams + - heatitup + - heatitup-complete + - heavy-logger-amazon + - hecc + - heckle + - hedgehog-checkers + - hedgehog-checkers-lens + - hedgehog-classes + - hedgehog-gen-json + - hedgehog-generic + - Hedi + - hedis-config + - hedis-pile + - hedis-simple + - hedis-tags + - hein + - heist + - heist-aeson + - heist-async + - helics + - helics-wai + - helisp + - helium + - helix + - hell + - hellage + - hellnet + - help-esb + - hemkay + - hemokit + - hen + - henet + - hepevt + - her-lexer + - her-lexer-parsec + - HERA + - herbalizer + - HerbiePlugin + - heredocs + - Hermes + - hermit + - hermit-syb + - herms + - herringbone + - herringbone-embed + - herringbone-wai + - hesh + - hesql + - hetero-dict + - heterogeneous-list-literals + - heterolist + - hetris + - heukarya + - hevm + - hevolisa + - hevolisa-dph + - HExcel + - hexchat + - hexif + - hexmino + - hexml-lens + - hexpat-iteratee + - hexpat-pickle-generic + - hexpr + - hexpress + - hexquote + - hext + - heyefi + - heyting-algebras + - hF2 + - hfann + - hfd + - hfiar + - HFitUI + - hfmt + - hfoil + - hfov + - hfractal + - HFrequencyQueue + - hfusion + - hg-buildpackage + - hgalib + - hgdbmi + - HGE2D + - hgearman + - hgen + - hgeometric + - hgeometry + - hgeos + - hgettext + - hgis + - hgithub + - HGL + - hgmp + - hgom + - hgopher + - HGraphStorage + - hgrep + - hgrev + - hgrib + - hharp + - HHDL + - hi3status + - hiccup + - hichi + - hid-examples + - hieraclus + - hierarchical-clustering + - hierarchical-clustering-diagrams + - hierarchical-exceptions + - hierarchical-spectral-clustering + - hierarchy + - hiernotify + - Hieroglyph + - higgledy + - HiggsSet + - higherorder + - highjson + - highjson-swagger + - highjson-th + - highlight-versions + - highWaterMark + - himg + - himpy + - hindley-milner + - hinduce-classifier + - hinduce-classifier-decisiontree + - hinduce-examples + - hinquire + - hinstaller + - hint-server + - hinter + - hinterface + - hinvaders + - hinze-streams + - hipbot + - hipchat-hs + - hipe + - hircules + - hirt + - Hish + - hissmetrics + - hist-pl + - hist-pl-dawg + - hist-pl-fusion + - hist-pl-lexicon + - hist-pl-lmf + - hist-pl-types + - historian + - hit-graph + - hit-on + - HJavaScript + - hjcase + - hjs + - HJScript + - hjson-query + - hjsonpointer + - hjsonschema + - hjugement-cli + - HJVM + - hlatex + - hlbfgsb + - hlcm + - HLearn-algebra + - HLearn-approximation + - HLearn-classification + - HLearn-datastructures + - HLearn-distributions + - hledger-api + - hledger-chart + - hledger-flow + - hledger-irr + - hledger-vty + - hlibBladeRF + - hlibev + - hlibfam + - HList + - HListPP + - hlivy + - HLogger + - hlogger + - hlongurl + - hls + - hlwm + - hly + - hmark + - hmarkup + - hmatrix-backprop + - hmatrix-banded + - hmatrix-mmap + - hmatrix-morpheus + - hmatrix-nipals + - hmatrix-sparse + - hmatrix-static + - hmatrix-sundials + - hmatrix-svdlibc + - hmatrix-syntax + - hmatrix-tests + - hmeap + - hmeap-utils + - hmenu + - hmep + - hmk + - HMM + - hmm + - hmm-hmatrix + - hmm-lapack + - hMollom + - hmp3 + - Hmpf + - hmt-diagrams + - hmumps + - hnetcdf + - hnix + - hnix-store-remote + - HNM + - hnormalise + - ho-rewriting + - hoauth + - hob + - hobbes + - hobbits + - hocilib + - hocker + - hodatime + - HODE + - Hoed + - hog + - hogg + - hoggl + - hogre + - hogre-examples + - hois + - hol + - hold-em + - hole + - Holumbus-Searchengine + - holy-project + - homeomorphic + - hommage + - homoiconic + - homplexity + - HongoDB + - honi + - hoobuddy + - hood + - hood-off + - hood2 + - hoodie + - hoodle + - hoodle-builder + - hoodle-core + - hoodle-extra + - hoodle-parser + - hoodle-publish + - hoodle-render + - hoodle-types + - hoogle-index + - hooks-dir + - hoopl + - hoovie + - hopencc + - hopencl + - hopenpgp-tools + - hopfield + - hoppy-docs + - hoppy-generator + - hoppy-runtime + - hoppy-std + - hops + - hoq + - horizon + - horname + - hosc-json + - hosts-server + - hothasktags + - hotswap + - hourglass-fuzzy-parsing + - houseman + - hp2any-core + - hp2any-graph + - hp2any-manager + - hpack-convert + - hpack-dhall + - hpaco + - hpaco-lib + - hpage + - hpapi + - hpaste + - hpasteit + - HPath + - hpc-tracer + - hPDB + - hPDB-examples + - HPDF + - hpdft + - hpg + - HPi + - hpio + - hplaylist + - HPlot + - hpodder + - HPong + - hpqtypes + - hpqtypes-extras + - hprotoc + - hprotoc-fork + - hprox + - hps + - hps-cairo + - hps-kmeans + - hPushover + - hpygments + - hpylos + - hpyrg + - hpython + - hquantlib + - hR + - hranker + - HRay + - Hricket + - hricket + - hriemann + - HROOT + - HROOT-core + - HROOT-graf + - HROOT-hist + - HROOT-io + - HROOT-math + - HROOT-tree + - hs-blake2 + - hs-brotli + - hs-carbon-examples + - hs-cdb + - hs-conllu + - hs-di + - hs-dotnet + - hs-excelx + - hs-ffmpeg + - hs-fltk + - hs-gchart + - hs-gen-iface + - hs-gizapp + - hs-java + - hs-json-rpc + - hs-logo + - hs-mesos + - hs-nombre-generator + - hs-pgms + - hs-pkg-config + - hs-pkpass + - hs-re + - hs-rs-notify + - hs-scrape + - hs-snowtify + - hs-twitter + - hs-twitterarchiver + - hs-vcard + - hs-watchman + - hs2bf + - Hs2lib + - hsaml2 + - hsay + - hsbackup + - hsbc + - hsbencher + - hsbencher-codespeed + - hsbencher-fusion + - hsc2hs + - hsc3-auditor + - hsc3-cairo + - hsc3-data + - hsc3-db + - hsc3-dot + - hsc3-forth + - hsc3-graphs + - hsc3-lang + - hsc3-lisp + - hsc3-plot + - hsc3-process + - hsc3-rec + - hsc3-rw + - hsc3-server + - hsc3-sf + - hsc3-sf-hsndfile + - hsc3-unsafe + - hsc3-utils + - hscaffold + - hscamwire + - hscassandra + - hscd + - hsclock + - hscope + - hScraper + - hscuid + - hsdev + - hsdif + - hsdip + - hsdns-cache + - Hsed + - hsenv + - hsfacter + - hsfcsh + - HSFFIG + - hsfilt + - HSGEP + - hsgnutls + - hsgnutls-yj + - hsgsom + - HsHaruPDF + - HSHHelpers + - HsHTSLib + - HsHyperEstraier + - hsI2C + - hsignal + - hSimpleDB + - hsimport + - HsJudy + - hskeleton + - hslackbuilder + - hslibsvm + - hslinks + - hslogger-reader + - hslogstash + - hsluv-haskell + - hsmagick + - HSmarty + - hsmodetweaks + - Hsmtlib + - hsmtpclient + - hsnock + - hsns + - hsnsq + - hsntp + - HSoM + - hsoptions + - HSoundFile + - hsoz + - hsp-cgi + - hsparql + - HsParrot + - hspear + - hspec-expectations-match + - hspec-expectations-pretty + - hspec-experimental + - hspec-hedgehog + - hspec-jenkins + - hspec-monad-control + - hspec-pg-transact + - hspec-setup + - hspec-shouldbe + - hspec-snap + - hspec-structured-formatter + - hspec-webdriver + - hspec2 + - hspecVariant + - HsPerl5 + - hspkcs11 + - hspread + - hspresent + - hsprocess + - hsql + - hsql-mysql + - hsql-odbc + - hsql-postgresql + - hsql-sqlite3 + - hsqml + - hsqml-datamodel + - hsqml-datamodel-vinyl + - hsqml-demo-manic + - hsqml-demo-morris + - hsqml-demo-notes + - hsqml-demo-samples + - hsqml-morris + - hsreadability + - hsseccomp + - hsSqlite3 + - HsSVN + - hstatistics + - hstats + - hstest + - hstidy + - hstorchat + - hstox + - hstradeking + - HStringTemplateHelpers + - hstyle + - hstzaar + - hsubconvert + - hsudoku + - hswip + - hsx + - hsx-jmacro + - hsx-xhtml + - hsx2hs + - hsXenCtrl + - HsYAML-aeson + - hsyscall + - hsyslog-tcp + - hsyslog-udp + - hszephyr + - HTab + - hTalos + - htar + - hTensor + - htestu + - HTicTacToe + - htiled + - htlset + - html-charset + - html-kure + - html-rules + - html-tokenizer + - htoml + - htoml-megaparsec + - hts + - htsn + - htsn-import + - http-attoparsec + - http-client-auth + - http-client-lens + - http-client-request-modifiers + - http-client-restricted + - http-client-session + - http-client-streams + - http-conduit-browser + - http-directory + - http-dispatch + - http-enumerator + - http-grammar + - http-kinder + - http-monad + - http-pony-serve-wai + - http-proxy + - http-querystring + - http-response-decoder + - http-shed + - http-streams + - http-wget + - http2-client-grpc + - https-everywhere-rules + - https-everywhere-rules-raw + - httpspec + - htune + - htvm + - htzaar + - hubigraph + - huck + - HueAPI + - huff + - huffman + - hugs2yc + - hulk + - HulkImport + - human-parse + - human-text + - hums + - HUnit-Diff + - hunit-gui + - hunit-rematch + - hunp + - hunspell-hs + - hunt-searchengine + - hunt-server + - hurdle + - hurriyet + - husk-scheme + - husk-scheme-libs + - husky + - hutton + - huttons-razor + - huzzy + - hVOIDP + - hw-balancedparens + - hw-bits + - hw-ci-assist + - hw-dsv + - hw-dump + - hw-eliasfano + - hw-excess + - hw-ip + - hw-json + - hw-json-lens + - hw-json-simple-cursor + - hw-json-standard-cursor + - hw-packed-vector + - hw-rankselect + - hw-rankselect-base + - hw-simd + - hw-streams + - hw-succinct + - hw-uri + - hw-xml + - hwall-auth-iitk + - hweblib + - hwhile + - hworker + - hworker-ses + - hwormhole + - hws + - hwsl2 + - hwsl2-bytevector + - hwsl2-reducers + - HXMPP + - hxmppc + - hxournal + - HXQ + - hxt-pickle-utils + - hxthelper + - hxweb + - hyahtzee + - hyakko + - hybrid + - hydra-hs + - hydra-print + - Hydrogen + - hydrogen + - hydrogen-cli + - hydrogen-cli-args + - hydrogen-data + - hydrogen-multimap + - hydrogen-parsing + - hydrogen-prelude + - hydrogen-prelude-parsec + - hydrogen-syntax + - hydrogen-util + - hyena + - hylide + - hylolib + - hylotab + - hyloutils + - hyper-haskell-server + - hyperdrive + - hyperfunctions + - hyperion + - hyperloglogplus + - hyperpublic + - hypher + - hzulip + - i18n + - i3blocks-hs-contrib + - i3ipc + - iap-verifier + - ib-api + - iban + - ical + - iCalendar + - IcoGrid + - iconv-typed + - ide-backend + - ide-backend-common + - ide-backend-server + - ideas + - ideas-math + - idempotent + - identifiers + - idiii + - idna2008 + - IDynamic + - ieee-utils + - iexcloud + - ifcxt + - IFS + - ig + - ige + - ige-mac-integration + - ignore + - igraph + - igrf + - ihaskell + - ihaskell-aeson + - ihaskell-basic + - ihaskell-blaze + - ihaskell-charts + - ihaskell-diagrams + - ihaskell-display + - ihaskell-gnuplot + - ihaskell-graphviz + - ihaskell-hatex + - ihaskell-hvega + - ihaskell-inline-r + - ihaskell-juicypixels + - ihaskell-magic + - ihaskell-parsec + - ihaskell-plot + - ihaskell-rlangqq + - ihaskell-widgets + - ihttp + - illuminate + - imagepaste + - imap + - imapget + - imbib + - imgurder + - imj-animation + - imj-base + - imj-game-hamazed + - imj-measure-stdout + - imj-prelude + - imm + - imparse + - imperative-edsl + - imperative-edsl-vhdl + - ImperativeHaskell + - impl + - implicit-logging + - implicit-params + - importify + - imports + - improve + - impure-containers + - INblobs + - inch + - inchworm + - incremental-computing + - incremental-maps + - increments + - indents + - indexation + - IndexedList + - indextype + - indices + - indieweb-algorithms + - inf-interval + - infer-upstream + - infernu + - infinity + - infix + - InfixApplicative + - inflist + - informative + - ini-qq + - inilist + - inject-function + - inline-java + - inserts + - inspector-wrecker + - instana-haskell-trace-sdk + - instant-aeson + - instant-bytes + - instant-deepseq + - instant-generics + - instant-hashable + - instant-zipper + - instapaper-sender + - instinct + - int-multimap + - integer-pure + - integreat + - intel-aes + - internetmarke + - intero + - interpol + - interpolatedstring-qq + - interpolatedstring-qq-mwotton + - interruptible + - interval + - intro-prelude + - introduction + - introduction-test + - intset + - invertible-hlist + - io-capture + - io-reactive + - ion + - IOR + - IORefCAS + - iostring + - iothread + - iotransaction + - ip + - ip2location + - ip2proxy + - ipatch + - ipc + - ipld-cid + - ipopt-hs + - iptables-helpers + - iptadmin + - IPv6DB + - Irc + - irc-dcc + - irc-fun-bot + - irc-fun-client + - irc-fun-color + - irc-fun-messages + - irc-fun-types + - ircbot + - iri + - iridium + - iron-mq + - ironforge + - irt + - isdicom + - isevaluated + - ismtp + - IsNull + - iso8601-duration + - isobmff-builder + - isohunt + - isotope + - itcli + - itemfield + - iter-stats + - iteratee + - iteratee-compress + - iteratee-mtl + - iteratee-parsec + - iteratee-stm + - iterIO + - iterio-server + - ivor + - ivory + - ivory-backend-c + - ivory-bitdata + - ivory-eval + - ivory-examples + - ivory-hw + - ivory-opts + - ivory-quickcheck + - ivory-serialize + - ivory-stdlib + - ivy-web + - ixdopp + - ixmonad + - ixshader + - iyql + - j2hs + - jack-bindings + - JackMiniMix + - jackminimix + - jacobi-roots + - jaeger-flamegraph + - jail + - jalaali + - jalla + - jarfind + - jarify + - jason + - java-bridge + - java-bridge-extras + - java-character + - java-reflect + - javascript-extras + - Javasf + - javasf + - Javav + - javav + - jbi + - jcdecaux-vls + - Jdh + - jdi + - jenga + - jenkinsPlugins2nix + - jespresso + - jinquantities + - jmacro + - jmacro-rpc + - jmacro-rpc-happstack + - jmacro-rpc-snap + - jml-web-service + - jmonkey + - jni + - jobqueue + - join + - join-api + - joinlist + - jonathanscard + - jpeg + - js-good-parts + - jsaddle-hello + - jsaddle-warp + - jsaddle-wkwebview + - JsContracts + - jsmw + - json-api-lib + - json-ast-json-encoder + - json-ast-quickcheck + - json-b + - json-builder + - json-bytes-builder + - JSON-Combinator + - JSON-Combinator-Examples + - json-enumerator + - json-extra + - json-fu + - json-incremental-decoder + - json-litobj + - json-pointer-hasql + - json-python + - json-schema + - json-togo + - json-tools + - json-tracer + - json2 + - json2-hdbc + - JSONb + - jsonextfilter + - JsonGrammar + - jsonresume + - jsonrpc-conduit + - jsons-to-schema + - jsonschema-gen + - jsonsql + - jsontsv + - jsonxlsx + - jspath + - judge + - judy + - juicy-gcode + - JuicyPixels-blp + - JuicyPixels-canvas + - JunkDB + - JunkDB-driver-gdbm + - JunkDB-driver-hashtables + - jupyter + - JuPyTer-notebook + - JustParse + - jvm + - jvm-batching + - jvm-binary + - jvm-parser + - jvm-streaming + - JYU-Utils + - kademlia + - kafka-client + - kaleidoscope + - Kalman + - kalman + - kangaroo + - kansas-lava + - kansas-lava-cores + - kansas-lava-papilio + - kansas-lava-shake + - karakuri + - karps + - katip-elasticsearch + - katip-kafka + - katip-rollbar + - katip-scalyr-scribe + - katip-syslog + - katt + - katydid + - kawaii + - kawhi + - kd-tree + - kdesrc-build-extra + - keccak + - keera-hails-i18n + - keera-hails-mvc-environment-gtk + - keera-hails-mvc-model-lightmodel + - keera-hails-mvc-model-protectedmodel + - keera-hails-mvc-solutions-gtk + - keera-hails-reactive-fs + - keera-hails-reactive-gtk + - keera-hails-reactive-network + - keera-hails-reactive-polling + - keera-hails-reactive-wx + - keera-hails-reactive-yampa + - keera-hails-reactivelenses + - keera-hails-reactivevalues + - kerry + - Ketchup + - keter + - kevin + - keycloak-hs + - keyed + - keyring + - keysafe + - keystore + - keyvaluehash + - keyword-args + - khph + - kicad-data + - kickass-torrents-dump-parser + - kickchan + - kif-parser + - kit + - kmeans-par + - kmeans-vector + - kmp-dfa + - knead + - knead-arithmetic + - knit-haskell + - knots + - koellner-phonetic + - kontra-config + - korfu + - kqueue + - krapsh + - Kriens + - krpc + - ks-test + - KSP + - ktx + - kubernetes-client + - kubernetes-client-core + - kure + - kure-your-boilerplate + - kurita + - KyotoCabinet + - l-bfgs-b + - L-seed + - labeled-graph + - laborantin-hs + - labsat + - labyrinth + - labyrinth-server + - lagrangian + - laika + - lambda-bridge + - lambda-calculator + - lambda-canvas + - lambda-devs + - lambda-options + - lambda-toolbox + - lambda2js + - lambdaBase + - lambdabot + - lambdabot-core + - lambdabot-haskell-plugins + - lambdabot-irc-plugins + - lambdabot-misc-plugins + - lambdabot-novelty-plugins + - lambdabot-reference-plugins + - lambdabot-social-plugins + - lambdabot-utils + - lambdabot-zulip + - lambdacms-core + - lambdacms-media + - lambdacube + - lambdacube-bullet + - lambdacube-compiler + - lambdacube-core + - lambdacube-edsl + - lambdacube-engine + - lambdacube-examples + - lambdacube-gl + - lambdacube-ir + - lambdacube-samples + - LambdaDesigner + - lambdaFeed + - LambdaHack + - LambdaINet + - Lambdajudge + - lambdaLit + - LambdaNet + - LambdaPrettyQuote + - LambdaShell + - lambdatex + - lambdatwit + - lambdaya-bus + - lambdiff + - lame + - lame-tester + - lang + - language-bash + - language-boogie + - language-c-comments + - language-c-inline + - language-conf + - language-csharp + - language-css + - language-dart + - language-dockerfile + - language-dot + - language-ecmascript-analysis + - language-eiffel + - language-elm + - language-gcl + - language-go + - language-guess + - language-hcl + - language-java-classfile + - language-kort + - language-lua + - language-lua-qq + - language-lua2 + - language-mixal + - language-ninja + - language-oberon + - language-objc + - language-ocaml + - language-openscad + - language-pig + - language-python + - language-python-colour + - language-python-test + - language-qux + - language-sh + - language-spelling + - language-sqlite + - language-thrift + - language-typescript + - language-vhdl + - language-webidl + - lapack + - Lastik + - lat + - latest-npm-version + - latex-formulae-hakyll + - latex-formulae-image + - latex-formulae-pandoc + - LATS + - launchpad-control + - lawless-concurrent-machines + - layers + - layers-game + - layout + - layout-bootstrap + - layout-rules + - layouting + - lazy-hash + - lazy-hash-cache + - lazy-io-streams + - lazyarray + - lazyboy + - lazyset + - LazyVault + - ld-intervals + - lda + - ldapply + - ldif + - leaf + - leaky + - lean + - leanpub-wreq + - leapseconds + - learn + - learn-physics-examples + - Learning + - leetify + - legion + - legion-discovery + - legion-discovery-client + - legion-extra + - leksah-server + - lendingclub + - lens-filesystem + - lens-prelude + - lens-text-encoding + - lens-time + - lens-toml-parser + - lens-tutorial + - lensref + - level-monad + - Level0 + - levmar + - levmar-chart + - lfst + - lgtk + - lha + - lhae + - lhc + - lhe + - lhs2TeX-hl + - lhslatex + - LibClang + - libconfig + - libcspm + - libexpect + - libGenI + - libhbb + - libinfluxdb + - libjenkins + - liblastfm + - liblawless + - liblinear-enumerator + - libltdl + - libmolude + - liboath-hs + - liboleg + - libpafe + - libpq + - libraft + - librandomorg + - librato + - libsystemd-daemon + - libtagc + - libxls + - libxml-enumerator + - libxslt + - licensor + - life-sync + - lifted-base-tf + - lifted-protolude + - lifter + - ligature + - lightning-haskell + - lighttpd-conf + - lighttpd-conf-qq + - lilypond + - Limit + - limp-cbc + - linda + - linden + - line-bot-sdk + - linear-algebra-cblas + - linear-circuit + - linear-code + - linear-maps + - linear-opengl + - linear-socket + - linear-vect + - linearEqSolver + - linearmap-category + - linearscan + - linearscan-hoopl + - LinearSplit + - lines-of-action + - LinkChecker + - linkchk + - linkcore + - linked-list-with-iterator + - linkedhashmap + - linode + - linode-v4 + - linux-blkid + - linux-cgroup + - linux-inotify + - linux-kmod + - linux-perf + - linux-ptrace + - linx-gateway + - lio + - lio-eci11 + - lio-fs + - lio-simple + - lipsum-gen + - liquid + - list-fusion-probe + - list-mux + - list-prompt + - list-remote-forwards + - list-t-attoparsec + - list-t-html-parser + - list-t-http-client + - list-t-text + - list-witnesses + - list-zipper + - listenbrainz-client + - listlike-instances + - ListT + - liszt + - lit + - literals + - live-sequencer + - ll-picosat + - llsd + - llvm + - llvm-analysis + - llvm-base + - llvm-base-types + - llvm-base-util + - llvm-data-interop + - llvm-extra + - llvm-ffi + - llvm-general + - llvm-general-pure + - llvm-general-quote + - llvm-hs-pretty + - llvm-ht + - llvm-pkg-config + - llvm-pretty + - llvm-pretty-bc-parser + - llvm-tf + - llvm-tools + - lmonad + - lmonad-yesod + - load-balancing + - load-font + - local-search + - located + - located-monad-logger + - loch + - locked-poll + - log + - log-elasticsearch + - log-postgres + - log-utils + - log-warper + - log2json + - logentries + - logger + - logging-effect-extra + - logging-effect-extra-file + - logging-effect-extra-handler + - Logic + - logic-classes + - logic-TPTP + - LogicGrowsOnTrees + - LogicGrowsOnTrees-MPI + - LogicGrowsOnTrees-network + - LogicGrowsOnTrees-processes + - logplex-parse + - lojban + - lojbanParser + - lojbanXiragan + - lojysamban + - lol + - lol-apps + - lol-benches + - lol-calculus + - lol-cpp + - lol-repa + - lol-tests + - lol-typing + - loli + - longboi + - lookup-tables + - loop-effin + - loop-while + - loops + - loopy + - lord + - lorem + - loris + - loshadka + - lostcities + - loup + - lowgl + - lp-diagrams + - lp-diagrams-svg + - ls-usb + - lscabal + - LslPlus + - lsp-test + - lsystem + - ltext + - ltk + - lua-bc + - luachunk + - luautils + - lucienne + - Lucu + - lui + - luis-client + - luka + - luminance + - luminance-samples + - lushtags + - luthor + - lvish + - lvmlib + - lxc + - lxd-client + - lye + - Lykah + - lz4-conduit + - lzma-enumerator + - lzma-streams + - maam + - macbeth-lib + - machinecell + - machines-amazonka + - machines-process + - machines-zlib + - mackerel-client + - maclight + - macos-corelibs + - macosx-make-standalone + - madlang + - mage + - magic-wormhole + - magicbane + - MagicHaskeller + - magico + - magma + - mahoro + - maid + - mail-pool + - mailbox-count + - mailchimp + - mailchimp-subscribe + - MailchimpSimple + - mailgun + - majordomo + - majority + - make-hard-links + - make-monofoldable-foldable + - make-package + - makedo + - makefile + - mallard + - manatee + - manatee-anything + - manatee-core + - manatee-curl + - manatee-editor + - manatee-filemanager + - manatee-imageviewer + - manatee-ircclient + - manatee-mplayer + - manatee-pdfviewer + - manatee-processmanager + - manatee-template + - manatee-terminal + - manatee-welcome + - mandrill + - mandulia + - mangopay + - manifold-random + - manifolds + - map-exts + - map-reduce-folds + - map-syntax + - mapalgebra + - Mapping + - mappy + - marionetta + - markdown-kate + - markdown-pap + - markdown2svg + - marked-pretty + - markov-chain-usage-model + - markov-processes + - markov-realization + - markup + - marmalade-upload + - marquise + - mars + - marvin + - marvin-interpolate + - marxup + - masakazu-bot + - MASMGen + - massiv + - massiv-io + - massiv-test + - master-plan + - matchable-th + - matchers + - math-grads + - mathblog + - mathflow + - mathgenealogy + - mathlink + - matplotlib + - matrix-as-xyz + - matsuri + - matterhorn + - maude + - maxent + - maxent-learner-hw + - maxent-learner-hw-gui + - maxsharing + - maybench + - MaybeT + - MaybeT-monads-tf + - MaybeT-transformers + - MazesOfMonad + - MBot + - mbox-tools + - mbug + - MC-Fold-DP + - mcl + - mcm + - mcmaster-gloss-examples + - mcmc-samplers + - mcmc-synthesis + - mcpi + - mdapi + - mdcat + - mDNSResponder-client + - mdp + - mealstrom + - MeanShift + - Measure + - mecab + - mech + - Mecha + - Mechs + - mechs + - med-module + - mediabus + - mediabus-fdk-aac + - mediabus-rtp + - mediawiki + - mediawiki2latex + - medium-sdk-haskell + - mega-sdist + - mellon-core + - mellon-gpio + - mellon-web + - melody + - memcache-conduit + - memcache-haskell + - memcached-binary + - meminfo + - memis + - memo-ptr + - memoization-utils + - memorypool + - menoh + - merkle-patricia-db + - messagepack-rpc + - messente + - meta-misc + - meta-par + - meta-par-accelerate + - metadata + - MetaHDBC + - MetaObject + - metaplug + - metar + - metar-http + - metric + - Metrics + - metricsd-client + - metronome + - mezzo + - mezzolens + - MFlow + - mgeneric + - Mhailist + - MHask + - mi + - Michelangelo + - miconix-test + - micro-recursion-schemes + - microaeson + - microformats2-types + - microgroove + - microlens-each + - micrologger + - microsoft-translator + - MicrosoftTranslator + - mida + - midi-simple + - midi-utils + - midimory + - midisurface + - mighttpd + - mighttpd2 + - mighty-metropolis + - mikmod + - mikrokosmos + - miku + - mime-directory + - min-max-pqueue + - minecraft-data + - minesweeper + - miniforth + - minilens + - minilight + - minimung + - minio-hs + - minions + - minioperational + - miniplex + - minirotate + - ministg + - minst-idx + - mios + - mirror-tweet + - miso-action-logger + - miso-examples + - miss + - miss-porcelain + - missing-py2 + - MissingPy + - mixed-strategies + - mixpanel-client + - mkbndl + - mkcabal + - ml-w + - mlist + - mltool + - mmtf + - mmtl + - mmtl-base + - moan + - Mobile-Legends-Hack-Cheats + - modelicaparser + - modify-fasta + - modsplit + - modular-prelude + - modular-prelude-classy + - modularity + - module-management + - modulespection + - modulo + - Moe + - moe + - MoeDict + - mohws + - mole + - mollie-api-haskell + - monad-atom + - monad-atom-simple + - monad-codec + - monad-dijkstra + - monad-exception + - monad-fork + - monad-http + - monad-interleave + - monad-levels + - monad-lgbt + - monad-lrs + - monad-mersenne-random + - monad-mock + - monad-open + - monad-parallel-progressbar + - monad-ran + - monad-recorder + - monad-resumption + - monad-state + - monad-statevar + - monad-ste + - monad-stlike-io + - monad-stlike-stm + - monad-supply + - monad-timing + - monad-tx + - monad-unify + - monad-var + - monad-wrap + - MonadCatchIO-mtl + - MonadCatchIO-mtl-foreign + - MonadCatchIO-transformers + - MonadCatchIO-transformers-foreign + - MonadCompose + - monadiccp + - monadiccp-gecode + - Monadius + - MonadLab + - monadLib-compose + - monadloc-pp + - monadlog + - monadplus + - monads-fd + - MonadStack + - monarch + - Monaris + - Monatron + - Monatron-IO + - mondo + - monetdb-mapi + - money + - mongodb-queue + - mongrel2-handler + - monitor + - monky + - mono-foldable + - Monocle + - monoid-absorbing + - monoid-owns + - monoid-statistics + - monoidplus + - monoids + - monopati + - monte-carlo + - monzo + - moo + - moonshine + - morfette + - morfeusz + - morley + - morley-prelude + - morph + - morphisms-functors + - morphisms-functors-inventory + - morphisms-objects + - morte + - mosaico-lib + - mount + - movie-monad + - mp + - mpdmate + - mpi-hs + - mpppc + - mpretty + - mpris + - mprover + - mps + - mptcp-pm + - mpvguihs + - mqtt + - mqtt-hs + - mrifk + - mrm + - ms + - msgpack + - msgpack-aeson + - msgpack-idl + - msgpack-rpc + - msh + - msi-kb-backlit + - MSQueue + - MTGBuilder + - mtgoxapi + - mtl-evil-instances + - mtl-extras + - mtl-tf + - mtlx + - mtp + - MuCheck + - MuCheck-Hspec + - MuCheck-HUnit + - MuCheck-QuickCheck + - MuCheck-SmallCheck + - mud + - mulang + - multext-east-msd + - multi-cabal + - multiaddr + - multiarg + - multibase + - multifocal + - multihash + - multihash-serialise + - multilinear + - multilinear-io + - multipass + - multipath + - multiplate-simplified + - multirec-alt-deriver + - multirec-binary + - multisetrewrite + - multivariant + - Munkres-simple + - muon + - murder + - murmur + - murmurhash3 + - mushu + - music-graphics + - music-parts + - music-pitch + - music-preludes + - music-score + - music-sibelius + - music-suite + - music-util + - musicbrainz-email + - musicxml + - musicxml2 + - mustache-haskell + - mutable-iter + - MutationOrder + - mute-unmute + - mvar-lock + - mvc + - mvc-updates + - mvclient + - mxnet + - mxnet-dataiter + - mxnet-examples + - mxnet-nn + - mxnet-nnvm + - my-package-testing + - my-test-docs + - myanimelist-export + - myo + - MyPrimes + - mysnapsession + - mysnapsession-example + - mysql-effect + - mysql-haskell-openssl + - mysql-simple-quasi + - mysql-simple-typed + - mystem + - myTestlll + - mzv + - n-tuple + - nagios-plugin-ekg + - nakadi-client + - named-lock + - namelist + - nano-hmac + - nano-md5 + - nanocurses + - nanomsg + - nanomsg-haskell + - nanoparsec + - NanoProlog + - nanovg + - nanovg-simple + - nanq + - NaperianNetCDF + - narc + - nat-sized-numbers + - nationstates + - nats-queue + - natural + - natural-number + - naver-translate + - NearContextAlgebra + - neat + - needle + - neet + - nehe-tuts + - neither + - neko-lib + - neko-obfs + - Neks + - nemesis-titan + - nerf + - nero + - nero-wai + - nero-warp + - nest + - nested-routes + - nested-sequence + - NestedFunctor + - nestedmap + - net-mqtt + - net-spider + - net-spider-cli + - net-spider-pangraph + - net-spider-rpl + - netclock + - netcore + - netease-fm + - netlines + - netrium + - NetSNMP + - netspec + - netstring-enumerator + - nettle-frp + - nettle-netkit + - nettle-openflow + - netwire-input-javascript + - netwire-vinylglfw-examples + - network-address + - network-anonymous-i2p + - network-anonymous-tor + - network-api-support + - network-arbitrary + - network-builder + - network-bytestring + - network-connection + - network-enumerator + - network-hans + - network-interfacerequest + - network-messagepack-rpc-websocket + - network-minihttp + - network-msgpack-rpc + - network-netpacket + - network-protocol-xmpp + - network-rpca + - network-run + - network-server + - network-service + - network-simple-sockaddr + - network-stream + - network-topic-models + - network-transport-amqp + - network-transport-inmemory + - network-transport-tcp + - network-transport-tests + - network-uri-json + - network-voicetext + - network-wai-router + - network-websocket + - networked-game + - neural + - neural-network-blashs + - neural-network-hmatrix + - newhope + - newports + - newsletter + - newsletter-mailgun + - newt + - newtype-deriving + - newtype-th + - next-ref + - nextstep-plist + - nfc + - NGrams + - ngrams-loader + - niagra + - nibblestring + - nice-html + - nicovideo-translator + - nikepub + - Ninjas + - nirum + - nitro + - niv + - nixfromnpm + - nkjp + - nlp-scores + - nlp-scores-scripts + - nm + - NMap + - nn + - nntp + - no-role-annots + - noether + - nofib-analyse + - nofib-analyze + - noise + - Nomyx + - Nomyx-Core + - Nomyx-Language + - Nomyx-Rules + - Nomyx-Web + - non-empty-zipper + - NonEmpty + - nonempty-lift + - NonEmptyList + - normalization-insensitive + - NoSlow + - not-gloss-examples + - notcpp + - notmuch-haskell + - notmuch-web + - now-haskell + - np-linear + - nptools + - ntha + - ntrip-client + - NTRU + - null-canvas + - nullary + - nullpipe + - numbered-semigroups + - NumberSieves + - NumberTheory + - numerals + - numerals-base + - numeric-ode + - numeric-qq + - numeric-ranges + - numerical + - numhask-array + - numhask-hedgehog + - numhask-histogram + - numhask-prelude + - numhask-range + - numhask-test + - Nussinov78 + - Nutri + - NXT + - NXTDSL + - nylas + - nymphaea + - o-clock + - oanda-rest-api + - oasis-xrd + - oauth2-jwt-bearer + - oauthenticated + - obd + - obdd + - oberon0 + - obj + - Object + - objectid + - ObjectIO + - objective + - oblivious-transfer + - ocaml-export + - octane + - octohat + - octopus + - Octree + - oculus + - odbc + - OddWord + - oden-go-packages + - oeis2 + - off-simple + - OGL + - ogmarkup + - ohloh-hs + - oi + - oidc-client + - ois-input-manager + - olwrapper + - omaketex + - ombra + - Omega + - omega + - omnifmt + - on-a-horse + - onama + - oneormore + - online + - onpartitions + - OnRmt + - onu-course + - opaleye-classy + - opaleye-sqlite + - opaleye-trans + - open-haddock + - open-pandoc + - open-signals + - open-typerep + - OpenAFP + - OpenAFP-Utils + - openapi-petstore + - OpenCL + - OpenCLRaw + - OpenCLWrappers + - opencv-raw + - opendatatable + - OpenGLCheck + - opengles + - OpenSCAD + - opensoundcontrol-ht + - openssh-github-keys + - openssh-protocol + - opentheory-char + - opentok + - opentype + - OpenVG + - OpenVGRaw + - openweathermap + - Operads + - operational-extra + - opml-conduit + - opn + - optima + - optimal-blocks + - optimization + - optimusprime + - optional + - options-time + - optparse-applicative-simple + - orc + - orchestrate + - OrchestrateDB + - orchid + - orchid-demo + - order-maintenance + - order-statistics + - orders + - Ordinary + - ordrea + - organize-imports + - orgmode + - orgstat + - origami + - orizentic + - OrPatterns + - osc + - oscpacking + - Oslo-Vectize + - OSM + - osm-conduit + - osm-download + - oso2pdf + - ot + - OTP + - otp-authenticator + - overloaded-records + - overture + - pack + - package-description-remote + - package-o-tron + - package-vt + - packdeps + - packed-dawg + - packed-multikey-map + - packedstring + - packer-messagepack + - packman + - packunused + - pacman-memcache + - padKONTROL + - pads-haskell + - pagarme + - PageIO + - pagure-hook-receiver + - Paillier + - pairing + - pam + - panda + - pandoc-emphasize-code + - pandoc-include + - pandoc-include-code + - pandoc-japanese-filters + - pandoc-lens + - pandoc-markdown-ghci-filter + - pandoc-plantuml-diagrams + - pandoc-pyplot + - pandoc-unlit + - PandocAgda + - pang-a-lambda + - pangraph + - panpipe + - pantry-tmp + - papa-export + - papa-implement + - papa-include + - papa-prelude + - papa-prelude-core + - papa-prelude-lens + - papa-prelude-semigroupoids + - papa-prelude-semigroups + - paphragen + - papillon + - pappy + - paprika + - paragon + - Paraiso + - Parallel-Arrows-Eden + - parallel-tasks + - parameterized + - parameterized-utils + - paranoia + - parco + - parco-attoparsec + - parco-parsec + - parconc-examples + - pareto + - Parry + - parse-help + - parseargs + - parsec-free + - parsec-parsers + - parsec-pratt + - parseerror-eq + - parsely + - parser-combinators-tests + - parser-helper + - parser241 + - parsergen + - parsestar + - partage + - partial-lens + - partial-order + - partly + - passage + - PasswordGenerator + - passwords + - pasta + - pastis + - pasty + - patat + - patches-vector + - Pathfinder + - pathfindingcore + - PathTree + - patronscraper + - patterns + - paypal-adaptive-hoops + - paypal-api + - paypal-rest-client + - pb + - pb-next + - pbc4hs + - PBKDF2 + - pcap-enumerator + - pcd-loader + - pcf + - PCLT + - PCLT-DB + - pcre-light-extra + - pdf-slave + - pdf-slave-template + - pdf-toolbox-content + - pdf-toolbox-core + - pdf-toolbox-document + - pdf-toolbox-viewer + - pdfname + - pdfsplit + - pdynload + - peakachu + - PeanoWitnesses + - pec + - pedestrian-dag + - peg + - peggy + - pell + - penny + - penny-bin + - penny-lib + - penrose + - peparser + - perceptron + - peregrin + - perf + - perf-analysis + - perfect-vector-shuffle + - PerfectHash + - perfecthash + - perhaps + - periodic + - perm + - permutations + - permute + - PermuteEffects + - persist2er + - Persistence + - persistent-audit + - persistent-cereal + - persistent-database-url + - persistent-documentation + - persistent-equivalence + - persistent-hssqlppp + - persistent-map + - persistent-migration + - persistent-mongoDB + - persistent-odbc + - persistent-protobuf + - persistent-ratelimit + - persistent-refs + - persistent-template-classy + - persistent-test + - persistent-vector + - persistent-zookeeper + - persona + - persona-idp + - pesca + - peyotls + - peyotls-codec + - pez + - pg-harness + - pg-recorder + - pg-store + - pg-transact + - pgdl + - pgsql-simple + - pgstream + - phasechange + - phoityne + - phone-numbers + - phone-push + - phooey + - photoname + - phraskell + - Phsu + - phybin + - pi-calculus + - pi-forall + - pi-hoole + - pia-forward + - pianola + - picedit + - picologic + - picoparsec + - picosat + - pictikz + - pier + - pier-core + - piet + - pig + - pinboard-notes-backup + - pinchot + - ping + - pinpon + - Pipe + - pipe-enumerator + - piped + - pipes-async + - pipes-attoparsec-streaming + - pipes-bgzf + - pipes-brotli + - pipes-cacophony + - pipes-cereal + - pipes-cereal-plus + - pipes-conduit + - pipes-core + - pipes-courier + - pipes-errors + - pipes-extra + - pipes-files + - pipes-illumina + - pipes-io + - pipes-key-value-csv + - pipes-p2p + - pipes-p2p-examples + - pipes-protolude + - pipes-rt + - pipes-s3 + - pipes-shell + - pipes-sqlite-simple + - pipes-text + - pipes-transduce + - pipes-zeromq4 + - pisigma + - Piso + - pit + - pitchtrack + - pivotal-tracker + - pixelated-avatar-generator + - pkcs10 + - pkcs7 + - pkggraph + - pkgtreediff + - plailude + - plan-applicative + - plan-b + - planar-graph + - planet-mitchell + - planet-mitchell-test + - plankton + - plat + - platinum-parsing + - PlayingCards + - plist-buddy + - plocketed + - plot + - plot-gtk + - plot-gtk-ui + - plot-gtk3 + - Plot-ho-matic + - plot-lab + - plot-light-examples + - PlslTools + - plugins + - plugins-auto + - plugins-multistage + - plur + - plural + - png-file + - pngload + - pngload-fixed + - pocket + - pocket-dns + - point-octree + - pointfree-fancy + - pointless-lenses + - pointless-rewrite + - pokemon-go-protobuf-types + - poker-eval + - pokitdok + - polar-configfile + - polar-shader + - polh-lexicon + - polimorf + - Pollutocracy + - poly-control + - polydata + - polydata-core + - polynomial + - polysemy-plugin + - polysemy-RandomFu + - polysemy-zoo + - polyseq + - polysoup + - polytypeable + - polytypeable-utils + - pomaps + - pomodoro + - pomohoro + - ponder + - pong-server + - pool + - pool-conduit + - popenhs + - poppler + - portager + - porte + - PortFusion + - ports + - posix-acl + - posix-api + - posix-realtime + - posix-waitpid + - postcodes + - postgres-embedded + - postgres-tmp + - postgres-websockets + - postgresql-copy-escape + - postgresql-named + - postgresql-query + - postgresql-simple-bind + - postgresql-simple-named + - postgresql-simple-queue + - postgresql-simple-sop + - postgresql-simple-typed + - postgresql-simple-url + - postgresql-typed + - postgresql-typed-lifted + - postgrest + - postgrest-ws + - postie + - postmark + - postmark-streams + - potato-tool + - potoki + - potoki-cereal + - potoki-conduit + - potoki-core + - potoki-hasql + - potoki-zlib + - powerpc + - powerqueue + - powerqueue-distributed + - powerqueue-levelmem + - powerqueue-sqs + - PPrinter + - pqc + - pqueue-mtl + - practice-room + - praglude + - pragmatic-show + - precursor + - pred-trie + - predicate-class + - prednote + - prednote-test + - prefork + - preliminaries + - prelude-generalize + - prelude-plus + - preprocess-haskell + - preprocessor + - presburger + - press + - presto-hdbc + - pretty-ncols + - pretty-relative-time + - prettyprinter-vty + - preview + - prim-array + - primes-type + - primitive-atomic + - primitive-checked + - primitive-containers + - primitive-indexed + - primitive-simd + - primitive-sort + - primitive-unlifted + - primula-board + - primula-bot + - pringletons + - print-debugger + - printcess + - Printf-TH + - priority-queue + - PriorityChansConverger + - ProbabilityMonads + - probable + - proc + - process-conduit + - process-iterio + - process-leksah + - process-listlike + - process-progress + - process-qq + - process-streaming + - processing + - procrastinating-variable + - procstat + - producer + - prof2dot + - prof2pretty + - progress + - progress-meter + - progressbar + - progression + - progressive + - proj4-hs-bindings + - project-m36 + - projectile + - prolog-graph + - prolog-graph-lib + - prometheus + - prometheus-effect + - promise + - pronounce + - proof-combinators + - propane + - Proper + - properties + - property-list + - proplang + - prosper + - proteome + - proto-lens-combinators + - proto-lens-descriptors + - proto3-suite + - protobuf-native + - protocol-buffers-descriptor-fork + - protocol-buffers-fork + - protolude-lifted + - proton-haskell + - prototype + - prove-everywhere-server + - proxy-kindness + - proxy-mapping + - psc-ide + - pseudo-trie + - PTQ + - ptr + - publicsuffixlistcreate + - publish + - pubnub + - pubsub + - puffytools + - pugixml + - Pugs + - pugs-compat + - pugs-DrIFT + - pugs-hsregex + - PUH-Project + - punkt + - Pup-Events-Demo + - puppetresources + - pure-cdb + - pure-io + - pure-priority-queue + - pure-priority-queue-tests + - purescript + - purescript-iso + - purescript-tsd-gen + - push-notify + - push-notify-apn + - push-notify-ccs + - push-notify-general + - pusher-haskell + - pusher-ws + - pushme + - putlenses + - puzzle-draw + - puzzle-draw-cmdline + - pvd + - PyF + - pyffi + - pyfi + - python-pickle + - q4c12-twofinger + - qc-oi-testgenerator + - qd + - qd-vec + - qed + - qhull-simple + - qif + - QIO + - QLearn + - qr-imager + - qr-repa + - qtah-cpp-qt5 + - qtah-examples + - qtah-generator + - qtah-qt5 + - QuadEdge + - QuadTree + - quantfin + - quantum-arrow + - quantum-random + - qudb + - Quelea + - quenya-verb + - queryparser + - queryparser-demo + - queryparser-hive + - queryparser-presto + - queryparser-vertica + - questioner + - queuelike + - quick-schema + - QuickAnnotate + - quickbooks + - quickcheck-combinators + - quickcheck-poly + - quickcheck-property-comb + - quickcheck-property-monad + - quickcheck-regex + - quickcheck-relaxng + - quickcheck-rematch + - quickcheck-report + - quickcheck-state-machine + - quickcheck-state-machine-distributed + - quickcheck-string-random + - quickcheck-webdriver + - QuickCheckVariant + - QuickPlot + - quickpull + - quickset + - Quickson + - quicktest + - quickwebapp + - quipper + - quipper-core + - quipper-rendering + - quiver-binary + - quiver-enumerator + - quiver-groups + - quiver-http + - quiver-instances + - quiver-interleave + - quiver-sort + - quoridor-hs + - qux + - R-pandoc + - rad + - radium + - radium-formula-parser + - radix + - radixtree + - rados-haskell + - raft + - rail-compiler-editor + - rails-session + - rainbow-tests + - raketka + - rakhana + - rakuten + - ralist + - rallod + - raml + - rand-vars + - randfile + - rando + - random-access-list + - random-derive + - random-eff + - random-effin + - random-hypergeometric + - random-stream + - RandomDotOrg + - Range + - range-space + - rangemin + - rank1dynamic + - rank2classes + - Ranka + - rapid-term + - rasa + - rasa-example-config + - rasa-ext-bufs + - rasa-ext-cmd + - rasa-ext-cursors + - rasa-ext-files + - rasa-ext-logger + - rasa-ext-slate + - rasa-ext-status-bar + - rasa-ext-style + - rasa-ext-views + - rasa-ext-vim + - rascal + - Rasenschach + - rattle + - rattletrap + - raven-haskell-scotty + - raw-feldspar + - rawr + - raz + - razom-text-util + - rbr + - rc + - rdf4h + - rdioh + - react-flux + - react-flux-servant + - react-haskell + - react-tutorial-haskell-server + - reaction-logic + - reactive-bacon + - reactive-banana-automation + - reactive-banana-gi-gtk + - reactive-banana-sdl + - reactive-banana-sdl2 + - reactive-banana-threepenny + - reactive-banana-wx + - reactive-fieldtrip + - reactive-glut + - reactive-thread + - reactor + - read-io + - readline-statevar + - readpyc + - readshp + - really-simple-xml-parser + - reasonable-lens + - record + - record-aeson + - record-encode + - record-gl + - record-preprocessor + - record-syntax + - records + - records-th + - recursors + - reddit + - redis + - redis-simple + - redland + - Redmine + - reduce-equations + - reedsolomon + - reenact + - Ref + - ref + - ref-fd + - ref-mtl + - refcount + - Referees + - refh + - refined + - reflection-extras + - reflex + - reflex-animation + - reflex-backend-wai + - reflex-basic-host + - reflex-dom-svg + - reflex-gloss + - reflex-gloss-scene + - reflex-orphans + - reflex-sdl2 + - reflex-transformers + - reflex-vty + - reform-happstack + - reform-hsp + - reformat + - refresht + - refurb + - regex-deriv + - regex-dfa + - regex-generator + - regex-parsec + - regex-pderiv + - regex-tdfa-pipes + - regex-tdfa-quasiquoter + - regex-tdfa-rc + - regex-tdfa-utf8 + - regex-tre + - regex-type + - regex-xmlschema + - regexp-tries + - regexpr-symbolic + - regexqq + - regional-pointers + - regions + - regions-monadsfd + - regions-monadstf + - regions-mtl + - register-machine-typelevel + - registry + - registry-hedgehog + - regress + - regular + - regular-extras + - regular-web + - regular-xmlpickler + - reheat + - rei + - reified-records + - reify + - relacion + - relapse + - relation + - relational-postgresql8 + - relative-date + - reload + - remark + - remarks + - remote + - remote-debugger + - remote-json + - remote-json-client + - remote-json-server + - remote-monad + - remotion + - repa-array + - repa-bytestring + - repa-convert + - repa-devil + - repa-eval + - repa-flow + - repa-linear-algebra + - repa-plugin + - repa-series + - repa-stream + - repa-v4l2 + - repl + - RepLib + - replica + - replicant + - ReplicateEffects + - repo-based-blog + - repr + - representable-functors + - representable-tries + - reprinter + - reproject + - req-conduit + - req-oauth2 + - req-url-extra + - reqcatcher + - request-monad + - require + - reserve + - reservoir + - resin + - resistor-cube + - resolve + - resolve-trivial-conflicts + - resource-effect + - resource-embed + - resource-pool-catchio + - resource-simple + - respond + - rest-client + - rest-core + - rest-example + - rest-gen + - rest-happstack + - rest-snap + - rest-stringmap + - rest-types + - rest-wai + - restful-snap + - restricted-workers + - restyle + - rethinkdb + - rethinkdb-client-driver + - rethinkdb-model + - rethinkdb-wereHamster + - retryer + - reverse-geocoding + - reversi + - ReviewBoard + - rewrite + - rewrite-inspector + - rewriting + - rezoom + - rfc + - rfc-env + - rfc-http-client + - rfc-prelude + - rfc-psql + - rfc-redis + - rfc-servant + - rg + - rhythm-game-tutorial + - rib + - RichConditional + - ridley + - ridley-extras + - riemann + - riff + - ring-buffer + - ring-buffers + - riot + - risc386 + - riscv-isa + - rivers + - rivet + - rivet-migration + - rivet-simple-deploy + - RJson + - rl-satton + - Rlang-QQ + - rlglue + - RLP + - rlwe-challenges + - rmonad + - RMP + - RNAdesign + - RNAdraw + - RNAFold + - RNAFoldProgs + - RNAlien + - RNAwolf + - rng-utils + - rob + - robin + - robots-txt + - roc-cluster + - roc-cluster-demo + - roku-api + - rollbar-hs + - roller + - RollingDirectory + - rope + - rose-trees + - rose-trie + - roshask + - rosmsg + - rosmsg-bin + - rosso + - rounded + - rounding + - roundtrip + - roundtrip-aeson + - roundtrip-string + - roundtrip-xml + - route-planning + - rowrecord + - rpc + - rpc-framework + - rpf + - rpm + - rsagl + - rsagl-frp + - rsagl-math + - rspp + - rss-conduit + - rss2irc + - rtorrent-rpc + - rts-loader + - ruby-marshal + - ruby-qq + - ruin + - ruler + - ruler-core + - run-st + - rungekutta + - runmany + - runtime-arbitrary + - rws + - RxHaskell + - s-expression + - SableCC2Hs + - safe-access + - safe-buffer-monad + - safe-failure-cme + - safe-freeze + - safe-globals + - safe-json + - safe-lazy-io + - safe-length + - safe-money-store + - safe-plugins + - safe-printf + - safecopy-store + - safeint + - safepath + - safer-file-handles + - safer-file-handles-bytestring + - safer-file-handles-text + - saferoute + - sai-shape-syb + - sajson + - salak-toml + - Salsa + - saltine-quickcheck + - salvia + - salvia-demo + - salvia-extras + - salvia-protocol + - salvia-sessions + - salvia-websocket + - samtools + - samtools-conduit + - samtools-enumerator + - samtools-iteratee + - sandlib + - sarasvati + - sarsi + - sasl + - sat + - sat-micro-hs + - satchmo + - satchmo-backends + - satchmo-examples + - satchmo-funsat + - satchmo-minisat + - satchmo-toysat + - savage + - sax + - SBench + - sbv + - sbvPlugin + - sc2-lowlevel + - sc2-proto + - sc3-rdu + - scalable-server + - scaleimage + - SCalendar + - scalendar + - scalp-webhooks + - scan-metadata + - scan-vector-machine + - scc + - scenegraph + - schedevr + - schedule-planner + - schedyield + - schematic + - scholdoc + - scholdoc-citeproc + - scholdoc-texmath + - scholdoc-types + - scidb-hquery + - science-constants-dimensional + - SciFlow + - SciFlow-drmaa + - scion + - scion-browser + - scons2dot + - scope + - scope-cairo + - scottish + - scotty-binding-play + - scotty-blaze + - scotty-fay + - scotty-form + - scotty-format + - scotty-hastache + - scotty-resource + - scotty-rest + - scotty-session + - scotty-view + - scp-streams + - scrabble-bot + - scrapbook + - scrape-changes + - ScratchFs + - script-monad + - SCRIPTWriter + - scrobble + - Scurry + - scythe + - scyther-proof + - sde-solver + - sdl2-cairo-image + - sdl2-compositor + - sdl2-fps + - sdr + - seakale + - seakale-postgresql + - seakale-tests + - search-algorithms + - sec + - secdh + - seclib + - second-transfer + - secp256k1 + - secret-santa + - secret-sharing + - secrm + - sednaDBXML + - selectors + - SelectSequencesFromMSA + - selenium + - selenium-server + - selinux + - Semantique + - semdoc + - semi-iso + - semibounded-lattices + - Semigroup + - semigroupoids-syntax + - semigroups-actions + - semilattices + - semiring + - semiring-num + - sendgrid-haskell + - sendgrid-v3 + - sensei + - sensenet + - sentence-jp + - sentry + - seqaid + - SeqAlign + - seqid + - seqid-streams + - seqloc + - seqloc-datafiles + - sequence-formats + - sequent-core + - sequor + - serialize-instances + - serokell-util + - serpentine + - serv + - serv-wai + - servant-aeson-specs + - servant-auth-cookie + - servant-auth-hmac + - servant-auth-token + - servant-auth-token-acid + - servant-auth-token-api + - servant-auth-token-leveldb + - servant-auth-token-persistent + - servant-auth-token-rocksdb + - servant-checked-exceptions + - servant-cli + - servant-client-namedargs + - servant-csharp + - servant-db + - servant-db-postgresql + - servant-dhall + - servant-examples + - servant-exceptions + - servant-generate + - servant-generic + - servant-github + - servant-haxl-client + - servant-hmac-auth + - servant-http-streams + - servant-http2-client + - servant-iCalendar + - servant-jquery + - servant-matrix-param + - servant-namedargs + - servant-nix + - servant-pandoc + - servant-pool + - servant-postgresql + - servant-proto-lens + - servant-purescript + - servant-pushbullet-client + - servant-py + - servant-quickcheck + - servant-rawm + - servant-reason + - servant-reflex + - servant-router + - servant-scotty + - servant-server-namedargs + - servant-smsc-ru + - servant-snap + - servant-static-th + - servant-streaming + - servant-streaming-client + - servant-streaming-docs + - servant-streaming-server + - servant-subscriber + - servant-swagger-tags + - servant-waargonaut + - servant-websockets + - servant-xml + - servant-zeppelin + - servant-zeppelin-client + - servant-zeppelin-server + - servant-zeppelin-swagger + - server-generic + - serverless-haskell + - serversession-backend-redis + - serversession-frontend-snap + - serversession-frontend-yesod + - services + - ses-html + - ses-html-snaplet + - SessionLogger + - sessions + - sessiontypes + - sessiontypes-distributed + - set-with + - setdown + - setgame + - setoid + - sets + - setters + - sexp + - sext + - SFML + - SFML-control + - sfmt + - sfnt2woff + - SFont + - SG + - sgd + - SGdemo + - sgf + - SGplus + - sgrep + - sh2md + - sha-streams + - shade + - shadower + - shake-cabal-build + - shake-extras + - shake-minify + - shake-pack + - shake-path + - shake-persist + - shaker + - shakespeare-babel + - shakespeare-sass + - shapely-data + - shared-buffer + - shared-fields + - she + - shelduck + - shell-pipe + - Shellac + - Shellac-compatline + - Shellac-editline + - Shellac-haskeline + - Shellac-readline + - shellish + - shellmate + - shellmate-extras + - shh + - shh-extras + - shivers-cfg + - shoap + - shopify + - shorten-strings + - ShortestPathProblems + - showdown + - shpider + - shuffle + - si-clock + - sibe + - sifflet + - sifflet-lib + - siggy-chardust + - sigma-ij + - sign + - signals + - signed-multiset + - silvi + - simd + - simgi + - simple-actors + - simple-affine-space + - simple-atom + - simple-bluetooth + - simple-c-value + - simple-conduit + - simple-config + - simple-css + - simple-download + - simple-eval + - simple-firewire + - simple-genetic-algorithm + - simple-index + - simple-log-syslog + - simple-logging + - simple-money + - simple-neural-networks + - simple-nix + - simple-pascal + - simple-pipe + - simple-rope + - simple-src-utils + - simple-tabular + - simple-tar + - simple-vec3 + - simple-zipper + - simpleargs + - simpleconfig + - SimpleGL + - simpleirc + - simpleirc-lens + - SimpleLog + - simplenote + - simpleprelude + - SimpleServer + - simseq + - singleton-dict + - singleton-typelits + - singnal + - sink + - siphon + - siren-json + - sirkel + - sitepipe + - sixfiguregroup + - sized + - sized-grid + - sized-types + - sized-vector + - sizes + - sjsp + - skeletal-set + - skeleton + - skeletons + - skell + - skemmtun + - skews + - skulk + - skylark-client + - skype4hs + - slack + - slate + - slave-thread + - slidemews + - Slides + - slim + - sloane + - slot-lambda + - sloth + - slug + - small-bytearray-builder + - smallarray + - smallcheck-laws + - smallcheck-lens + - smallpt-hs + - smallstring + - smartcheck + - smartconstructor + - smartGroup + - smartword + - smcdel + - sme + - smerdyakov + - smiles + - smith-cli + - smith-client + - Smooth + - smsaero + - smt-lib + - SmtLib + - smtlib2-debug + - smtlib2-pipe + - smtlib2-quickcheck + - smtp-mail-ng + - SMTPClient + - smtps-gmail + - smuggler + - snake + - snake-game + - snap + - snap-accept + - snap-auth-cli + - snap-blaze-clay + - snap-configuration-utilities + - snap-error-collector + - snap-extras + - snap-routes + - snap-stream + - snap-testing + - snap-utils + - snap-web-routes + - snaplet-acid-state + - snaplet-actionlog + - snaplet-amqp + - snaplet-auth-acid + - snaplet-coffee + - snaplet-css-min + - snaplet-customauth + - snaplet-environments + - snaplet-fay + - snaplet-ghcjs + - snaplet-hasql + - snaplet-haxl + - snaplet-hdbc + - snaplet-hslogger + - snaplet-i18n + - snaplet-influxdb + - snaplet-mandrill + - snaplet-mongoDB + - snaplet-mongodb-minimalistic + - snaplet-mysql-simple + - snaplet-oauth + - snaplet-persistent + - snaplet-postgresql-simple + - snaplet-postmark + - snaplet-purescript + - snaplet-recaptcha + - snaplet-redis + - snaplet-redson + - snaplet-rest + - snaplet-riak + - snaplet-sass + - snaplet-scoped-session + - snaplet-sedna + - snaplet-ses-html + - snaplet-sqlite-simple + - snaplet-sqlite-simple-jwt-auth + - snaplet-stripe + - snaplet-tasks + - snaplet-typed-sessions + - snaplet-wordpress + - snappy-conduit + - snappy-iteratee + - sndfile-enumerators + - sneakyterm + - SNet + - snm + - snmp + - snorkels + - snow-white + - snowflake-core + - snowflake-server + - snowtify + - Snusmumrik + - soap-openssl + - SoccerFun + - SoccerFunGL + - socket-sctp + - socket-unix + - socketed + - socketio + - sockets + - socketson + - sodium + - soegtk + - softfloat-hs + - solga + - solga-swagger + - solr + - sonic-visualiser + - Sonnex + - SoOSiM + - sorted + - sorting + - sorty + - sound-collage + - sounddelay + - soundgen + - source-code-server + - SourceGraph + - sousit + - soyuz + - SpaceInvaders + - spacepart + - SpacePrivateers + - spake2 + - spanout + - sparkle + - sparrow + - sparse + - sparse-lin-alg + - sparse-tensor + - sparsebit + - sparsecheck + - sparser + - spata + - special-functors + - special-keys + - specialize-th + - spectral-clustering + - speculation + - speculation-transformers + - speechmatics + - speedy-slice + - spelling-suggest + - sphero + - sphinx-cli + - sphinxesc + - spice + - SpinCounter + - spir-v + - spiros + - splay + - splaytree + - splines + - split-morphism + - splitter + - splot + - Spock + - Spock-api-ghcjs + - Spock-api-server + - Spock-auth + - Spock-core + - Spock-digestive + - Spock-lucid + - Spock-worker + - spoonutil + - spoty + - Sprig + - sprinkles + - spritz + - spsa + - spy + - sql-simple + - sql-simple-mysql + - sql-simple-pool + - sql-simple-postgresql + - sql-simple-sqlite + - sqlcipher + - sqlite + - sqlite-simple-typed + - sqlvalue-list + - sqsd-local + - squeal-postgresql + - srcinst + - sscan + - sscgi + - ssh + - ssh-tunnel + - sshd-lint + - sssp + - sstable + - SSTG + - stable-heap + - stable-maps + - stable-marriage + - stable-memo + - stable-tree + - stack-bump + - stack-hpc-coveralls + - stack-lib + - stack-network + - stack-prism + - stack-run + - stack-run-auto + - stack-type + - stack2cabal + - stack2nix + - stackage + - stackage-build-plan + - stackage-cabal + - stackage-cli + - stackage-curator + - stackage-metadata + - stackage-query + - stackage-sandbox + - stackage-setup + - stackage-to-hackage + - stackage-types + - stackage-upload + - stackage2nix + - stacked-dag + - standalone-derive-topdown + - starling + - stash + - Stasis + - state + - state-bag + - state-plus + - state-record + - stateful-mtl + - stateWriter + - static-canvas + - static-closure + - static-tensor + - static-text + - statistics-dirichlet + - statistics-fusion + - statistics-hypergeometric-genvar + - stats + - statsd + - statsd-client + - statsdi + - stb-image-redux + - stc-lang + - stdata + - stdf + - stdio + - steambrowser + - stego-uuid + - stemmer + - stemmer-german + - stepwise + - stern-brocot + - stgi + - stm-chunked-queues + - stm-containers + - stm-firehose + - stm-hamt + - stm-io-hooks + - stm-promise + - stm-stats + - stm-supply + - stmcontrol + - stochastic + - Stomp + - storable + - storable-static-array + - storablevector-streamfusion + - stp + - str + - Strafunski-ATermLib + - Strafunski-Sdf2Haskell + - StrappedTemplates + - stratum-tool + - stratux + - stratux-demo + - stratux-websockets + - stream + - stream-fusion + - stream-monad + - streamdeck + - streamed + - streaming-brotli + - streaming-cassava + - streaming-conduit + - streaming-fft + - streaming-png + - streaming-postgresql-simple + - streaming-process + - streaming-sort + - strelka + - strict-data + - StrictBench + - StrictCheck + - strictly + - string-isos + - string-typelits + - stringlike + - stringtable-atom + - stripe + - stripe-haskell + - stripe-http-client + - stripe-http-streams + - stripe-tests + - structural-induction + - structural-traversal + - structured-mongoDB + - structures + - stt + - stunts + - stylist + - stylized + - suavemente + - sub-state + - subhask + - subleq-toolchain + - submark + - subsample + - subwordgraph + - successors + - suffix-array + - suffixarray + - SuffixStructures + - suitable + - summoner + - summoner-tui + - sump + - sunlight + - sunroof-compiler + - sunroof-examples + - sunroof-server + - super-user-spark + - superbubbles + - superbuffer + - supercollider-ht + - supercollider-midi + - superconstraints + - superevent + - supermonad + - supero + - supervisor + - supervisors + - supplemented + - surjective + - sv + - sv-svfactor + - SVD2HS + - svfactor + - svg-builder-fork + - SVG2Q + - svg2q + - svgutils + - svm-simple + - svndump + - swagger-petstore + - swagger-test + - swapper + - swearjure + - swf + - swift-lda + - syb-extras + - syb-with-class-instances-text + - SybWidget + - syfco + - sylvia + - sym + - sym-plot + - symantic-http-test + - symantic-xml + - symengine + - symengine-hs + - sync + - sync-mht + - syncthing-hs + - syntactic + - syntax + - syntax-attoparsec + - syntax-example + - syntax-example-json + - syntax-pretty + - syntax-printer + - syntax-trees + - syntax-trees-fork-bairyn + - SyntaxMacros + - syntaxnet-haskell + - synthesizer + - synthesizer-llvm + - sys-process + - Sysmon + - system-canonicalpath + - system-command + - system-extra + - system-lifted + - system-linux-proc + - system-random-effect + - systemstats + - t-regex + - t3-client + - t3-server + - ta + - table + - table-layout + - table-tennis + - tableaux + - Tables + - tables + - tablestorage + - Tablify + - tabloid + - tabs + - tag-bits + - tag-stream + - tagged-exception-core + - tagged-list + - tagged-th + - tagged-timers + - taglib-api + - tagsoup-ht + - tagsoup-megaparsec + - tagsoup-navigate + - tagsoup-parsec + - tagsoup-selection + - tai64 + - takahashi + - Takusen + - takusen-oracle + - tal + - tamarin-prover + - tamarin-prover-term + - tamarin-prover-theory + - tamarin-prover-utils + - tamper + - Tape + - target + - tart + - task + - task-distribution + - taskell + - tasty-auto + - tasty-fail-fast + - tasty-groundhog-converters + - tasty-hedgehog-coverage + - tasty-integrate + - tasty-jenkins-xml + - tasty-laws + - tasty-lens + - tasty-stats + - tasty-tap + - Taxonomy + - TaxonomyTools + - TBC + - TBit + - tbox + - tcache-AWS + - tccli + - tcod-haskell + - tcp + - tcp-streams-openssl + - tdd-util + - tds + - TeaHS + - teams + - teeth + - telegram + - telegram-api + - telegram-bot + - telegram-bot-simple + - teleport + - teleshell + - tellbot + - template-default + - template-haskell-util + - template-hsml + - template-yj + - templateify + - templatepg + - tempodb + - temporal-csound + - tempus + - tensor + - tensorflow + - tensorflow-core-ops + - tensorflow-logging + - tensorflow-opgen + - tensorflow-ops + - tensorflow-proto + - termbox-bindings + - terminal-punch + - terminal-text + - termination-combinators + - termplot + - terntup + - terrahs + - tersmu + - test-fixture + - test-framework-doctest + - test-framework-quickcheck + - test-framework-sandbox + - test-framework-skip + - test-framework-testing-feat + - test-lib + - test-pkg + - test-sandbox-compose + - test-sandbox-hunit + - test-shouldbe + - test-simple + - testbench + - testCom + - TestExplode + - testloop + - testpack + - testpattern + - testrunner + - TeX-my-math + - tex2txt + - texbuilder + - text-all + - text-and-plots + - text-containers + - text-generic-pretty + - text-icu-normalized + - text-lens + - text-locale-encoding + - text-markup + - text-normal + - text-plus + - text-position + - text-register-machine + - text-replace + - text-time + - text-utf8 + - text-xml-qq + - text-zipper-monad + - text1 + - textmatetags + - textocat-api + - textual + - tfp-th + - tftp + - tga + - th-alpha + - th-build + - th-context + - th-dict-discovery + - th-fold + - th-format + - th-instance-reification + - th-instances + - th-kinds-fork + - th-sccs + - th-to-exp + - th-traced + - th-typegraph + - thank-you-stars + - theatre + - thentos-cookie-session + - Theora + - theoremquest + - theoremquest-client + - these-skinny + - thih + - thimk + - Thingie + - thorn + - threadmanager + - threadscope + - threepenny-gui-contextmenu + - threepenny-gui-flexbox + - thrift + - throttled-io-loop + - through-text + - throwable-exceptions + - thumbnail-plus + - tic-tac-toe + - tickle + - TicTacToe + - tictactoe3d + - tidal-midi + - tidal-serial + - tidal-vis + - tie-knot + - tiempo + - tiger + - tightrope + - tighttp + - timberc + - time-extras + - time-http + - time-io-access + - time-machine + - time-quote + - time-recurrence + - time-series + - time-series-lib + - time-w3c + - time-warp + - timecalc + - timemap + - timeout + - timeout-with-results + - timeparsers + - TimePiece + - timeplot + - timeprint + - timers-tick + - timeseries + - timespan + - timeutils + - timezone-unix + - tintin + - tiny-scheduler + - TinyLaunchbury + - tinyMesh + - tinytemplate + - TinyURL + - tinyXml + - tip-haskell-frontend + - tip-lib + - titan + - Titim + - tkhs + - tkyprof + - tls-extra + - tmp-postgres + - tn + - to-haskell + - to-string-class + - to-string-instances + - toboggan + - todos + - tofromxml + - toilet + - tokenify + - tokstyle + - toktok + - tokyocabinet-haskell + - tokyotyrant-haskell + - tomato-rubato-openal + - toml + - tomlcheck + - too-many-cells + - toodles + - Top + - top + - topkata + - torch + - TORCS + - total-map + - touched + - Tournament + - toxcore + - toxiproxy-haskell + - toysolver + - tpar + - tpb + - trace + - trace-call + - trace-function-call + - traced + - tracetree + - tracing + - tracker + - traction + - tracy + - traildb + - trajectory + - transactional-events + - transf + - transfer-db + - transformations + - TransformeR + - transformers-compose + - transformers-convert + - transformers-lift + - transformers-runnable + - TransformersStepByStep + - transient + - transient-universe + - transient-universe-tls + - translatable-intset + - translate + - translate-cli + - trasa + - trasa-client + - trasa-extra + - trasa-form + - trasa-server + - trasa-th + - travis + - travis-meta-yaml + - trawl + - traypoweroff + - tree-sitter + - tree-sitter-go + - tree-sitter-haskell + - tree-sitter-java + - tree-sitter-json + - tree-sitter-php + - tree-sitter-python + - tree-sitter-ruby + - tree-sitter-tsx + - tree-sitter-typescript + - tree-traversals + - TreeCounter + - treemap-html + - treemap-html-tools + - TreeStructures + - Treiber + - tremulous-query + - TrendGraph + - trhsx + - triangulation + - trie-simple + - TrieMap + - tries + - trigger + - trim + - trimpolya + - tripLL + - trivia + - tropical + - truelevel + - trurl + - tsession + - tsession-happstack + - tskiplist + - tsp-viz + - tsparse + - tsuntsun + - tsvsql + - tsweb + - ttask + - ttn-client + - tttool + - tuntap + - tup-functor + - tuple-gen + - tuple-lenses + - tuple-morph + - tuple-ops + - tupleinstances + - turing-machines + - turingMachine + - turtle-options + - tweak + - twee + - tweet-hs + - twentefp-eventloop-graphics + - twentefp-graphs + - twentefp-rosetree + - twentefp-trees + - twentefp-websockets + - twentyseven + - twfy-api-client + - twhs + - twidge + - twilight-stm + - twilio + - twill + - twine + - twitter + - twitter-conduit + - twitter-enumerator + - twitter-feed + - twitter-types + - twitter-types-lens + - tx + - txt + - txtblk + - TYB + - tyfam-witnesses + - typalyze + - type-assertions + - type-cache + - type-cereal + - type-combinators + - type-combinators-quote + - type-combinators-singletons + - type-digits + - type-eq + - type-indexed-queues + - type-int + - type-interpreter + - type-level-bst + - type-level-natural-number-induction + - type-level-natural-number-operations + - type-list + - type-natural + - type-ord + - type-ord-spine-cereal + - type-prelude + - type-settheory + - type-spine + - type-structure + - type-sub-th + - typeable-th + - TypeClass + - typed-spreadsheet + - typed-streams + - typed-wire + - typedflow + - typedquery + - typehash + - TypeIlluminator + - typelevel-tensor + - TypeNat + - typeparams + - typerep-map + - types-compat + - typesafe-precure + - typescript-docs + - typograffiti + - typography-geometry + - tyro + - u2f + - uber + - uberlast + - uconv + - udev + - udp-conduit + - uhc-light + - uhc-util + - uhexdump + - ui-command + - UMM + - unagi-bloomfilter + - unagi-streams + - unamb-custom + - unbound + - unbounded-delays-units + - unboxed-containers + - unbreak + - unfoldable + - unfoldable-restricted + - uni-graphs + - uni-uDrawGraph + - unicode-normalization + - unicode-show + - unicode-symbols + - uniform-io + - union + - union-map + - Unique + - uniqueid + - uniquely-represented-sets + - units-attoparsec + - unittyped + - unity-testresult-parser + - unitym-yesod + - universe-th + - universum + - unix-fcntl + - unix-handle + - unix-process-conduit + - unjson + - unm-hip + - unordered-containers-rematch + - unordered-graphs + - unordered-intmap + - unpack-funcs + - unpacked-either + - unpacked-maybe + - unpacked-maybe-numeric + - unpacked-these + - unpacked-validation + - unroll-ghc-plugin + - unsafely + - unscramble + - unsequential + - unused + - uom-plugin + - up + - update-nix-fetchgit + - Updater + - uploadcare + - upskirt + - ureader + - urembed + - uri + - uri-conduit + - uri-enumerator + - uri-enumerator-file + - uri-parse + - uri-template + - url-decoders + - url-generic + - URLb + - urlcheck + - urldecode + - UrlDisp + - urldisp-happstack + - urlpath + - URLT + - urn + - urn-random + - urxml + - usb-enumerator + - usb-hid + - usb-id-database + - usb-iteratee + - usb-safe + - userid + - users-mysql-haskell + - users-persistent + - utc + - utf8-prelude + - utf8-validator + - UTFTConverter + - util-exception + - util-primitive + - util-primitive-control + - util-universe + - uu-cco + - uu-cco-examples + - uu-cco-hut-parsing + - uu-cco-uu-parsinglib + - uuagc-bootstrap + - uuagc-diagrams + - uuid-aeson + - uuid-orphans + - uvector + - uvector-algorithms + - uxadt + - v4l2 + - v4l2-examples + - vabal + - vacuum + - vacuum-cairo + - vacuum-graphviz + - vacuum-opengl + - vacuum-ubigraph + - valid-names + - validate-input + - validated-types + - Validation + - validations + - validationt + - vampire + - var + - varan + - variable-precision + - variables + - variation + - vault-tool-server + - vault-trans + - vaultaire-common + - vcard + - vcatt + - vcf + - vcsgui + - vcswrapper + - Vec-Boolean + - Vec-OpenGLRaw + - Vec-Transform + - vect-floating + - vect-floating-accelerate + - vect-opengl + - vector-bytestring + - vector-clock + - vector-conduit + - vector-endian + - vector-functorlazy + - vector-heterogenous + - vector-instances-collections + - vector-random + - vector-read-instances + - vector-space-map + - vector-space-opengl + - vector-static + - vectortiles + - Verba + - verbalexpressions + - verdict + - verdict-json + - verifiable-expressions + - verify + - verilog + - versioning + - versioning-servant + - vflow-types + - vfr-waypoints + - vgrep + - vhd + - vhdl + - vicinity + - ViennaRNA-extras + - views + - vigilance + - Villefort + - vimus + - vintage-basic + - vinyl + - vinyl-generics + - vinyl-gl + - vinyl-json + - vinyl-named-sugar + - vinyl-operational + - vinyl-plus + - vinyl-utils + - vinyl-vectors + - virthualenv + - visibility + - vision + - visual-graphrewrite + - visual-prof + - visualize-cbn + - vivid + - vivid-supercollider + - vk-aws-route53 + - VKHS + - voicebase + - vorbiscomment + - vowpal-utils + - voyeur + - vpq + - vte + - vtegtk3 + - vty-examples + - vty-menu + - vty-ui + - vty-ui-extras + - vulkan + - waargonaut + - wacom-daemon + - waddle + - wahsp + - wai-app-file-cgi + - wai-devel + - wai-git-http + - wai-graceful + - wai-handler-devel + - wai-handler-scgi + - wai-handler-snap + - wai-handler-webkit + - wai-hmac-auth + - wai-lens + - wai-lite + - wai-logger-buffered + - wai-logger-prefork + - wai-make-assets + - wai-middleware-cache + - wai-middleware-cache-redis + - wai-middleware-catch + - wai-middleware-consul + - wai-middleware-content-type + - wai-middleware-delegate + - wai-middleware-etag + - wai-middleware-headers + - wai-middleware-hmac-client + - wai-middleware-preprocessor + - wai-middleware-rollbar + - wai-middleware-route + - wai-middleware-static-caching + - wai-request-spec + - wai-responsible + - wai-router + - wai-routes + - wai-routing + - wai-secure-cookies + - wai-session-alt + - wai-session-mysql + - wai-session-postgresql + - wai-static-cache + - wai-thrift + - wai-throttler + - waitfree + - waitra + - waldo + - wallpaper + - warp-dynamic + - warp-grpc + - warp-static + - WashNGo + - wasm + - watcher + - watchit + - WAVE + - WaveFront + - wavefront-obj + - wavesurfer + - wavy + - weak-bag + - weather-api + - web-css + - web-encodings + - web-fpco + - web-inv-route + - web-mongrel2 + - web-output + - web-page + - web-push + - web-routes-happstack + - web-routes-quasi + - web-routes-regular + - web-routes-th + - web-routes-transformers + - web-routing + - web3 + - webapi + - webapp + - WebBits + - WebBits-Html + - WebBits-multiplate + - webby + - webcloud + - WebCont + - webcrank + - webcrank-dispatch + - webcrank-wai + - webdriver-angular + - webdriver-snoy + - webdriver-w3c + - WeberLogic + - webfinger-client + - webify + - webkit-javascriptcore + - Webrexp + - webserver + - webshow + - websockets-rpc + - websockets-simple + - webwire + - weighted + - weighted-regexp + - welshy + - werewolf + - werewolf-slack + - Wheb + - wheb-mongo + - wheb-redis + - wheb-strapped + - while-lang-parser + - whim + - whiskers + - whitespace + - why3 + - wide-word + - WikimediaParser + - wikipedia4epub + - wild-bind-indicator + - wild-bind-task-x11 + - windns + - windowslive + - winerror + - winio + - Wired + - wires + - wiring + - wkt + - wkt-geom + - wl-pprint-ansiterm + - wl-pprint-terminfo + - WL500gPControl + - WL500gPLib + - wlc-hs + - WMSigner + - wobsurv + - woffex + - wolf + - word + - word2vec-model + - WordAlignment + - wordify + - WordNet + - WordNet-ghc74 + - wordpass + - wordsearch + - work-time + - workdays + - Workflow + - workflow-extra + - workflow-osx + - workflow-pure + - workflow-types + - workflow-windows + - wp-archivebot + - wraxml + - wrecker + - wrecker-ui + - wreq-sb + - wright + - writer-cps-full + - writer-cps-lens + - writer-cps-monads-tf + - writer-cps-morph + - ws + - wsdl + - wsedit + - wss-client + - wtk + - wtk-gtk + - wumpus-basic + - wumpus-core + - wumpus-drawing + - wumpus-microprint + - wumpus-tree + - WURFL + - wxAsteroids + - WXDiffCtrl + - wxdirect + - wxFruit + - WxGeneric + - wxhnotepad + - wxSimpleCanvas + - wxturtle + - wyvern + - x-dsp + - X11-extras + - X11-rm + - X11-xdamage + - X11-xfixes + - x86-64bit + - xchat-plugin + - xcp + - xdcc + - xdot + - Xec + - xfconf + - xformat + - xhaskell-library + - xhb + - xhb-atom-cache + - xhb-ewmh + - xilinx-lava + - xine + - xing-api + - xkbcommon + - xkcd + - xleb + - xlsior + - xlsx + - xlsx-tabular + - xlsx-templater + - xml-catalog + - xml-conduit-decode + - xml-conduit-stylist + - xml-enumerator + - xml-enumerator-combinators + - xml-html-conduit-lens + - xml-monad + - xml-parsec + - xml-pipe + - xml-prettify + - xml-push + - xml-query + - xml-query-xml-conduit + - xml-query-xml-types + - xml-tydom-conduit + - xml-tydom-core + - xml2json + - xml2x + - xmlbf-xeno + - XmlHtmlWriter + - xmltv + - XMMS + - xmms2-client + - xmms2-client-glib + - xmonad-bluetilebranch + - xmonad-contrib-bluetilebranch + - xmonad-contrib-gpl + - xmonad-eval + - xmonad-vanessa + - xmonad-windownames + - xmpipe + - XMPP + - Xorshift128Plus + - xournal-builder + - xournal-convert + - xournal-parser + - xournal-render + - xournal-types + - xsact + - XSaiga + - xsd + - xslt + - xtc + - xxhash + - y0l0bot + - yabi-muno + - Yablog + - yackage + - YACPong + - yahoo-finance-api + - yahoo-finance-conduit + - yahoo-web-search + - yajl + - yajl-enumerator + - yam-job + - yam-servant + - yam-transaction-odbc + - yam-web + - yaml-pretty-extras + - yaml-rpc + - yaml-rpc-scotty + - yaml-rpc-snap + - yaml2owl + - Yampa + - yampa-canvas + - yampa-glfw + - yampa-gloss + - yampa-glut + - yampa-sdl2 + - yampa-test + - yampa2048 + - YampaSynth + - yandex-translate + - yaop + - yap + - yarn-lock + - yarr + - yarr-image-io + - yate + - yavie + - yaya + - yaya-hedgehog + - yaya-unsafe + - ycextra + - yeller + - yeshql-postgresql-simple + - yesod-angular + - yesod-angular-ui + - yesod-articles + - yesod-auth-account + - yesod-auth-account-fork + - yesod-auth-basic + - yesod-auth-bcrypt + - yesod-auth-bcryptdb + - yesod-auth-deskcom + - yesod-auth-fb + - yesod-auth-hmac-keccak + - yesod-auth-kerberos + - yesod-auth-ldap + - yesod-auth-ldap-mediocre + - yesod-auth-ldap-native + - yesod-auth-nopassword + - yesod-auth-pam + - yesod-auth-smbclient + - yesod-auth-zendesk + - yesod-bootstrap + - yesod-comments + - yesod-content-pdf + - yesod-continuations + - yesod-crud + - yesod-crud-persist + - yesod-datatables + - yesod-dsl + - yesod-examples + - yesod-fast-devel + - yesod-fay + - yesod-form-richtext + - yesod-gitrev + - yesod-goodies + - yesod-ip + - yesod-job-queue + - yesod-links + - yesod-lucid + - yesod-mangopay + - yesod-paginate + - yesod-pagination + - yesod-paypal-rest + - yesod-platform + - yesod-pnotify + - yesod-pure + - yesod-purescript + - yesod-raml + - yesod-raml-bin + - yesod-raml-docs + - yesod-raml-mock + - yesod-recaptcha + - yesod-routes + - yesod-routes-flow + - yesod-routes-typescript + - yesod-rst + - yesod-s3 + - yesod-sass + - yesod-session-redis + - yesod-static-angular + - yesod-static-remote + - yesod-test-json + - yesod-tls + - yesod-vend + - yesod-worker + - yet-another-logger + - YFrob + - yggdrasil + - yhccore + - yi + - yi-contrib + - yi-core + - yi-dynamic-configuration + - yi-emacs-colours + - yi-frontend-pango + - yi-frontend-vty + - yi-fuzzy-open + - yi-ireader + - yi-keymap-cua + - yi-keymap-emacs + - yi-keymap-vim + - yi-language + - yi-misc-modes + - yi-mode-haskell + - yi-mode-javascript + - yi-monokai + - yi-snippet + - yi-solarized + - yi-spolsky + - yices + - yjftp + - yjftp-libs + - yoda + - Yogurt + - Yogurt-Standalone + - yoko + - york-lava + - yql + - yst + - yu-core + - yu-launch + - yu-tool + - yuuko + - yx + - yxdb-utils + - z3 + - z3-encoding + - z85 + - zabt + - zampolit + - zasni-gerna + - ZEBEDDE + - zendesk-api + - zenhack-prelude + - zeno + - zephyr + - zeromq-haskell + - zeromq3-conduit + - zeromq3-haskell + - zeromq4-clone-pattern + - zeromq4-conduit + - zeromq4-patterns + - zeroth + - ZFS + - zifter + - zifter-cabal + - zifter-git + - zifter-google-java-format + - zifter-hindent + - zifter-hlint + - zifter-stack + - zigbee-znet25 + - zip-conduit + - zipedit + - zipkin + - ziptastic-client + - ziptastic-core + - zlib-enum + - zm + - ZMachine + - zmcat + - zmidi-score + - zoneinfo + - zoom + - zoom-cache + - zoom-cache-pcm + - zoom-cache-sndfile + - zoom-refs + - Zora + - zre + - zsh-battery + - zsyntax + - zuramaru + - Zwaluw diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 0502e700313..29483b56a7d 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -94,6 +94,9 @@ self: super: builtins.intersectAttrs super { # Won't find it's header files without help. sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL"; + cachix = enableSeparateBinOutput super.cachix; + ghcid = enableSeparateBinOutput super.ghcid; + hzk = overrideCabal super.hzk (drv: { preConfigure = "sed -i -e /include-dirs/d hzk.cabal"; configureFlags = "--extra-include-dirs=${pkgs.zookeeper_mt}/include/zookeeper"; @@ -128,17 +131,18 @@ self: super: builtins.intersectAttrs super { # Prevents needing to add `security_tool` as a run-time dependency for # everything using x509-system to give access to the `security` executable. - x509-system = if pkgs.stdenv.hostPlatform.isDarwin && !pkgs.stdenv.cc.nativeLibc - then let inherit (pkgs.darwin) security_tool; - in pkgs.lib.overrideDerivation (addBuildDepend super.x509-system security_tool) (drv: { - # darwin.security_tool is broken in Mojave (#45042) + x509-system = + if pkgs.stdenv.hostPlatform.isDarwin && !pkgs.stdenv.cc.nativeLibc + then + # darwin.security_tool is broken in Mojave (#45042) - # We will use the system provided security for now. - # Beware this WILL break in sandboxes! + # We will use the system provided security for now. + # Beware this WILL break in sandboxes! - # TODO(matthewbauer): If someone really needs this to work in sandboxes, - # I think we can add a propagatedImpureHost dep here, but I’m hoping to - # get a proper fix available soonish. + # TODO(matthewbauer): If someone really needs this to work in sandboxes, + # I think we can add a propagatedImpureHost dep here, but I’m hoping to + # get a proper fix available soonish. + overrideCabal super.x509-system (drv: { postPatch = (drv.postPatch or "") + '' substituteInPlace System/X509/MacOS.hs --replace security /usr/bin/security ''; @@ -276,9 +280,7 @@ self: super: builtins.intersectAttrs super { let dontCheckDarwin = if pkgs.stdenv.isDarwin then dontCheck else pkgs.lib.id; - in dontCheckDarwin (super.llvm-hs.override { - llvm-config = pkgs.llvm_6; - }); + in dontCheckDarwin (super.llvm-hs.override { llvm-config = pkgs.llvm_8; }); # Needs help finding LLVM. spaceprobe = addBuildTool super.spaceprobe self.llvmPackages.llvm; @@ -286,7 +288,7 @@ self: super: builtins.intersectAttrs super { # Tries to run GUI in tests leksah = dontCheck (overrideCabal super.leksah (drv: { executableSystemDepends = (drv.executableSystemDepends or []) ++ (with pkgs; [ - gnome3.defaultIconTheme # Fix error: Icon 'window-close' not present in theme ... + gnome3.adwaita-icon-theme # Fix error: Icon 'window-close' not present in theme ... wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system gtk3 # Fix error: GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed ]); @@ -487,6 +489,13 @@ self: super: builtins.intersectAttrs super { # https://github.com/plow-technologies/servant-streaming/issues/12 servant-streaming-server = dontCheck super.servant-streaming-server; + # https://github.com/haskell-servant/servant/pull/1128 + servant-client-core = if (pkgs.lib.getVersion super.servant-client-core) == "0.15" then + appendPatch super.servant-client-core ./patches/servant-client-core-streamBody.patch + else + super.servant-client-core; + + # tests run executable, relying on PATH # without this, tests fail with "Couldn't launch intero process" intero = overrideCabal super.intero (drv: { @@ -495,6 +504,12 @@ self: super: builtins.intersectAttrs super { ''; }); + # Break infinite recursion cycle between QuickCheck and splitmix. + splitmix = dontCheck super.splitmix; + + # Break infinite recursion cycle between tasty and clock. + clock = dontCheck super.clock; + # loc and loc-test depend on each other for testing. Break that infinite cycle: loc-test = super.loc-test.override { loc = dontCheck self.loc; }; @@ -516,10 +531,6 @@ self: super: builtins.intersectAttrs super { librarySystemDepends = drv.librarySystemDepends or [] ++ [ pkgs.cyrus_sasl.dev ]; })); - # Doctests hang only when compiling with nix. - # https://github.com/cdepillabout/termonad/issues/15 - termonad = dontCheck super.termonad; - # Expects z3 to be on path so we replace it with a hard sbv = overrideCabal super.sbv (drv: { postPatch = '' @@ -533,10 +544,7 @@ self: super: builtins.intersectAttrs super { let path = stdenv.lib.makeBinPath [ gcc ]; in overrideCabal (addBuildTool super.futhark makeWrapper) (_drv: { postInstall = '' - wrapProgram $out/bin/futhark-c \ - --prefix PATH : "${path}" - - wrapProgram $out/bin/futhark-opencl \ + wrapProgram $out/bin/futhark \ --prefix PATH : "${path}" \ --set NIX_CC_WRAPPER_x86_64_unknown_linux_gnu_TARGET_HOST 1 \ --set NIX_CFLAGS_COMPILE "-I${opencl-headers}/include" \ @@ -566,4 +574,18 @@ self: super: builtins.intersectAttrs super { # Avoid infitite recursion with tonatona. tonaparser = dontCheck super.tonaparser; + # Needs internet to run tests + HTTP = dontCheck super.HTTP; + + # Break infinite recursions. + Dust-crypto = dontCheck super.Dust-crypto; + nanospec = dontCheck super.nanospec; + options = dontCheck super.options; + snap-server = dontCheck super.snap-server; + + # Tests require internet + dhall_1_25_0 = dontCheck super.dhall_1_25_0; + http-download = dontCheck super.http-download; + pantry = dontCheck super.pantry; + } diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 2724ff5d622..87d3b5ae496 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -19,6 +19,7 @@ in , buildTools ? [], libraryToolDepends ? [], executableToolDepends ? [], testToolDepends ? [], benchmarkToolDepends ? [] , configureFlags ? [] , buildFlags ? [] +, haddockFlags ? [] , description ? "" , doCheck ? !isCross && stdenv.lib.versionOlder "7.4" ghc.version , doBenchmark ? false @@ -72,6 +73,7 @@ in , coreSetup ? false # Use only core packages to build Setup.hs. , useCpphs ? false , hardeningDisable ? stdenv.lib.optional (ghc.isHaLVM or false) "all" +, enableSeparateBinOutput ? false , enableSeparateDataOutput ? false , enableSeparateDocOutput ? doHaddock , # Don't fail at configure time if there are multiple versions of the @@ -79,6 +81,10 @@ in # built. Will delay failures, if any, to compile time. allowInconsistentDependencies ? false , maxBuildCores ? 4 # GHC usually suffers beyond -j4. https://ghc.haskell.org/trac/ghc/ticket/9221 +, # If set to true, this builds a pre-linked .o file for this Haskell library. + # This can make it slightly faster to load this library into GHCi, but takes + # extra disk space and compile time. + enableLibraryForGhci ? false } @ args: assert editedCabalFile != null -> revision != null; @@ -90,7 +96,7 @@ assert stdenv.hostPlatform.isWindows -> enableStaticLibraries == false; let inherit (stdenv.lib) optional optionals optionalString versionOlder versionAtLeast - concatStringsSep enableFeature optionalAttrs toUpper; + concatStringsSep enableFeature optionalAttrs; isGhcjs = ghc.isGhcjs or false; isHaLVM = ghc.isHaLVM or false; @@ -110,7 +116,9 @@ let # the target dir for haddock documentation docdir = docoutput: docoutput + "/share/doc/" + pname + "-" + version; - newCabalFileUrl = "http://hackage.haskell.org/package/${pname}-${version}/revision/${revision}.cabal"; + binDir = if enableSeparateBinOutput then "$bin/bin" else "$out/bin"; + + newCabalFileUrl = "mirror://hackage/${pname}-${version}/revision/${revision}.cabal"; newCabalFile = fetchurl { url = newCabalFileUrl; sha256 = editedCabalFile; @@ -142,7 +150,10 @@ let buildFlagsString = optionalString (buildFlags != []) (" " + concatStringsSep " " buildFlags); defaultConfigureFlags = [ - "--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$abi/\\$libname" + "--verbose" + "--prefix=$out" + "--libdir=\\$prefix/lib/\\$compiler" + "--libsubdir=\\$abi/\\$libname" (optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}") (optionalString enableSeparateDocOutput "--docdir=${docdir "$doc"}") "--with-gcc=$CC" # Clang won't work without that extra information. @@ -162,7 +173,7 @@ let (optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature doCheck "tests")) (enableFeature doBenchmark "benchmarks") "--enable-library-vanilla" # TODO: Should this be configurable? - "--enable-library-for-ghci" # TODO: Should this be configurable? + (enableFeature enableLibraryForGhci "library-for-ghci") ] ++ optionals (enableDeadCodeElimination && (stdenv.lib.versionOlder "8.0.1" ghc.version)) [ "--ghc-option=-split-sections" ] ++ optionals dontStrip [ @@ -172,7 +183,8 @@ let "--ghcjs" ] ++ optionals isCross ([ "--configure-option=--host=${stdenv.hostPlatform.config}" - ] ++ crossCabalFlags); + ] ++ crossCabalFlags + ) ++ optionals enableSeparateBinOutput ["--bindir=${binDir}"]; setupCompileFlags = [ (optionalString (!coreSetup) "-${nativePackageDbFlag}=$setupPackageConfDir") @@ -211,7 +223,16 @@ let nativeGhcCommand = "${nativeGhc.targetPrefix}ghc"; buildPkgDb = ghcName: packageConfDir: '' - if [ -d "$p/lib/${ghcName}/package.conf.d" ]; then + # If this dependency has a package database, then copy the contents of it, + # unless it is one of our GHCs. These can appear in our dependencies when + # we are doing native builds, and they have package databases in them, but + # we do not want to copy them over. + # + # We don't need to, since those packages will be provided by the GHC when + # we compile with it, and doing so can result in having multiple copies of + # e.g. Cabal in the database with the same name and version, which is + # ambiguous. + if [ -d "$p/lib/${ghcName}/package.conf.d" ] && [ "$p" != "${ghc}" ] && [ "$p" != "${nativeGhc}" ]; then cp -f "$p/lib/${ghcName}/package.conf.d/"*.conf ${packageConfDir}/ continue fi @@ -223,7 +244,10 @@ assert allPkgconfigDepends != [] -> pkgconfig != null; stdenv.mkDerivation ({ name = "${pname}-${version}"; - outputs = [ "out" ] ++ (optional enableSeparateDataOutput "data") ++ (optional enableSeparateDocOutput "doc"); + outputs = [ "out" ] + ++ (optional enableSeparateDataOutput "data") + ++ (optional enableSeparateDocOutput "doc") + ++ (optional enableSeparateBinOutput "bin"); setOutputFlags = false; pos = builtins.unsafeGetAttrPos "pname" args; @@ -372,7 +396,8 @@ stdenv.mkDerivation ({ ${optionalString (doHaddock && isLibrary) '' ${setupCommand} haddock --html \ ${optionalString doHoogle "--hoogle"} \ - ${optionalString (isLibrary && hyperlinkSource) "--hyperlink-source"} + ${optionalString (isLibrary && hyperlinkSource) "--hyperlink-source"} \ + ${stdenv.lib.concatStringsSep " " haddockFlags} ''} runHook postHaddock ''; @@ -403,7 +428,7 @@ stdenv.mkDerivation ({ find $packageConfDir -maxdepth 0 -empty -delete; ''} ${optionalString isGhcjs '' - for exeDir in "$out/bin/"*.jsexe; do + for exeDir in "${binDir}/"*.jsexe; do exe="''${exeDir%.jsexe}" printWords '#!${nodejs}/bin/node' > "$exe" echo >> "$exe" @@ -413,7 +438,7 @@ stdenv.mkDerivation ({ ''} ${optionalString doCoverage "mkdir -p $out/share && cp -r dist/hpc $out/share"} ${optionalString (enableSharedExecutables && isExecutable && !isGhcjs && stdenv.isDarwin && stdenv.lib.versionOlder ghc.version "7.10") '' - for exe in "$out/bin/"* ; do + for exe in "${binDir}/"* ; do install_name_tool -add_rpath "$out/lib/ghc-${ghc.version}/${pname}-${version}" "$exe" done ''} diff --git a/pkgs/development/haskell-modules/generic-stack-builder.nix b/pkgs/development/haskell-modules/generic-stack-builder.nix index 184d45eda44..96774f71730 100644 --- a/pkgs/development/haskell-modules/generic-stack-builder.nix +++ b/pkgs/development/haskell-modules/generic-stack-builder.nix @@ -2,6 +2,7 @@ , cacert, stack, makeSetupHook, lib }@depArgs: { buildInputs ? [] +, nativeBuildInputs ? [] , extraArgs ? [] , LD_LIBRARY_PATH ? [] , ghc ? depArgs.ghc @@ -22,7 +23,8 @@ in stdenv.mkDerivation (args // { buildInputs = buildInputs ++ lib.optional (stdenv.hostPlatform.libc == "glibc") glibcLocales; - nativeBuildInputs = [ ghc pkgconfig stack stackHook ]; + nativeBuildInputs = nativeBuildInputs + ++ [ ghc pkgconfig stack stackHook ]; STACK_PLATFORM_VARIANT = "nix"; STACK_IN_NIX_SHELL = 1; diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index f7a8e6c0182..eaa0f799f92 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -29,6 +29,7 @@ self: { description = "3D model parsers"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "4Blocks" = callPackage @@ -45,6 +46,7 @@ self: { description = "A tetris-like game (works with GHC 6.8.3 and Gtk2hs 0.9.13)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AAI" = callPackage @@ -57,6 +59,7 @@ self: { description = "Abstract Application Interface"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ABList" = callPackage @@ -108,6 +111,7 @@ self: { description = "Detect which OS you're running on"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AC-Colour" = callPackage @@ -131,6 +135,7 @@ self: { description = "GTK+ pixel plotting"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AC-HalfInteger" = callPackage @@ -145,6 +150,7 @@ self: { description = "Efficient half-integer type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AC-MiniTest" = callPackage @@ -159,6 +165,7 @@ self: { description = "A simple test framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AC-PPM" = callPackage @@ -195,6 +202,7 @@ self: { description = "Trivial wrapper over ansi-terminal"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AC-VanillaArray" = callPackage @@ -207,6 +215,7 @@ self: { description = "Immutable arrays with plain integer indicies"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AC-Vector" = callPackage @@ -221,6 +230,7 @@ self: { description = "Efficient geometric vectors and transformations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AC-Vector-Fancy" = callPackage @@ -233,6 +243,7 @@ self: { description = "Fancy type-system stuff for AC-Vector"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ACME" = callPackage @@ -249,6 +260,7 @@ self: { description = "Essential features"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ADPfusion" = callPackage @@ -275,6 +287,7 @@ self: { description = "Efficient, high-level dynamic programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ADPfusionForest" = callPackage @@ -302,6 +315,7 @@ self: { description = "Dynamic programming on tree and forest structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ADPfusionSet" = callPackage @@ -327,6 +341,7 @@ self: { description = "Dynamic programming for Set data structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AERN-Basics" = callPackage @@ -347,6 +362,7 @@ self: { description = "foundational type classes for approximating exact real numbers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AERN-Net" = callPackage @@ -363,6 +379,7 @@ self: { description = "Compositional lazy dataflow networks for exact real number computation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AERN-Real" = callPackage @@ -380,6 +397,7 @@ self: { description = "arbitrary precision real interval arithmetic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AERN-Real-Double" = callPackage @@ -404,6 +422,7 @@ self: { description = "arbitrary precision real interval arithmetic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AERN-Real-Interval" = callPackage @@ -421,6 +440,7 @@ self: { description = "arbitrary precision real interval arithmetic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AERN-RnToRm" = callPackage @@ -438,6 +458,7 @@ self: { description = "polynomial function enclosures (PFEs) approximating exact real functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AERN-RnToRm-Plot" = callPackage @@ -456,6 +477,7 @@ self: { description = "GL plotting of polynomial function enclosures (PFEs)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AES" = callPackage @@ -498,14 +520,15 @@ self: { description = "A library for writing AGI scripts for Asterisk"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ALUT" = callPackage ({ mkDerivation, base, freealut, OpenAL, StateVar, transformers }: mkDerivation { pname = "ALUT"; - version = "2.4.0.2"; - sha256 = "11sb715z6rkmwf9n7l9q32g81qiv2ld8a9z42dfxiwgmh2ilsdmq"; + version = "2.4.0.3"; + sha256 = "04nrh7vribs4jvg99hj3fmshzcw6kkf45r842iys19ln3l51p2bi"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base OpenAL StateVar transformers ]; @@ -528,6 +551,7 @@ self: { description = "Low-level bindings for Asterisk Manager Interface (AMI)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ANum" = callPackage @@ -577,7 +601,7 @@ self: { libraryHaskellDepends = [ base regex-compat Win32 ]; description = "A binding to a part of the ANSI escape code for the console"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {}; "AbortT-monadstf" = callPackage @@ -590,6 +614,7 @@ self: { description = "Monads-tf instances for the AbortT monad transformer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AbortT-mtl" = callPackage @@ -602,6 +627,7 @@ self: { description = "mtl instances for the AbortT monad transformer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AbortT-transformers" = callPackage @@ -610,8 +636,8 @@ self: { }: mkDerivation { pname = "AbortT-transformers"; - version = "1.0.1.2"; - sha256 = "1skqp7zmh7vzrfhfnc6mn125xmqz2p0c8pmaccxynga9623dmsb2"; + version = "1.0.1.3"; + sha256 = "14bv2bmd6fi1kf0id3ah7gfabbqzbpahws6zy11ji6h3j29pwk8y"; libraryHaskellDepends = [ base transformers ]; testHaskellDepends = [ base HUnit QuickCheck test-framework test-framework-hunit @@ -620,6 +646,7 @@ self: { description = "A monad and monadic transformer providing \"abort\" functionality"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ActionKid" = callPackage @@ -644,6 +671,7 @@ self: { description = "An easy-to-use video game framework for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Adaptive" = callPackage @@ -660,6 +688,7 @@ self: { description = "Library for incremental computing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Adaptive-Blaisorblade" = callPackage @@ -675,6 +704,7 @@ self: { description = "Library for incremental computing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Advgame" = callPackage @@ -689,6 +719,7 @@ self: { description = "Lisperati's adventure game in Lisp translated to Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AesonBson" = callPackage @@ -723,32 +754,33 @@ self: { description = "Generator-generator for QuickCheck"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Agda" = callPackage - ({ mkDerivation, alex, array, async, base, binary, blaze-html - , boxes, bytestring, Cabal, containers, data-hash, deepseq - , directory, EdisonCore, edit-distance, emacs, equivalence - , filemanip, filepath, geniplate-mirror, gitrev, happy, hashable + ({ mkDerivation, aeson, alex, array, async, base, binary + , blaze-html, boxes, bytestring, Cabal, containers, data-hash + , deepseq, directory, EdisonCore, edit-distance, emacs, equivalence + , exceptions, filepath, geniplate-mirror, gitrev, happy, hashable , hashtables, haskeline, ieee754, mtl, murmur-hash, pretty, process - , regex-tdfa, stm, strict, template-haskell, text, time + , regex-tdfa, split, stm, strict, template-haskell, text, time , transformers, unordered-containers, uri-encode, zlib }: mkDerivation { pname = "Agda"; - version = "2.5.4.2"; - sha256 = "07wvawpfjhx3gw2w53v27ncv1bl0kkx08wkm6wzxldbslkcasign"; + version = "2.6.0.1"; + sha256 = "1s600ry1qwizr3ynyj05rvlx7jdcw9a1viyc0ycjamm5sjf8mf3v"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; - setupHaskellDepends = [ base Cabal filemanip filepath process ]; + setupHaskellDepends = [ base Cabal directory filepath process ]; libraryHaskellDepends = [ - array async base binary blaze-html boxes bytestring containers - data-hash deepseq directory EdisonCore edit-distance equivalence - filepath geniplate-mirror gitrev hashable hashtables haskeline - ieee754 mtl murmur-hash pretty process regex-tdfa stm strict - template-haskell text time transformers unordered-containers - uri-encode zlib + aeson array async base binary blaze-html boxes bytestring + containers data-hash deepseq directory EdisonCore edit-distance + equivalence exceptions filepath geniplate-mirror gitrev hashable + hashtables haskeline ieee754 mtl murmur-hash pretty process + regex-tdfa split stm strict template-haskell text time transformers + unordered-containers uri-encode zlib ]; libraryToolDepends = [ alex happy ]; executableHaskellDepends = [ base directory filepath process ]; @@ -796,6 +828,7 @@ self: { description = "Aho-Corasick string matching algorithm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AlanDeniseEricLauren" = callPackage @@ -818,6 +851,7 @@ self: { description = "Find the minimal subset/submap satisfying some property"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AlgoRhythm" = callPackage @@ -847,6 +881,7 @@ self: { description = "Algorithmic music composition"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AlgorithmW" = callPackage @@ -861,6 +896,7 @@ self: { description = "Example implementation of Algorithm W for Hindley-Milner type inference"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AlignmentAlgorithms" = callPackage @@ -878,31 +914,36 @@ self: { description = "Collection of alignment algorithms"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Allure" = callPackage - ({ mkDerivation, async, base, containers, enummapset, filepath - , LambdaHack, optparse-applicative, random, template-haskell, text - , transformers, zlib + ({ mkDerivation, async, base, enummapset, filepath, ghc-compact + , LambdaHack, optparse-applicative, primitive, random + , template-haskell, text, transformers }: mkDerivation { pname = "Allure"; - version = "0.8.3.0"; - sha256 = "1yzqiidc8qbjlpgs2d3jkikzggyd7ajq7i7l1dgwqv6sh4r030vb"; - isLibrary = false; + version = "0.9.5.0"; + sha256 = "0cl1r3rcbkj8q290l3q5xva7lkh444s49xz8bm8sbgrk0q3zx041"; + isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; + libraryHaskellDepends = [ + async base enummapset filepath ghc-compact LambdaHack + optparse-applicative primitive random template-haskell text + transformers + ]; executableHaskellDepends = [ - async base containers enummapset filepath LambdaHack - optparse-applicative random template-haskell text transformers zlib + async base filepath LambdaHack optparse-applicative ]; testHaskellDepends = [ - base containers enummapset filepath LambdaHack optparse-applicative - random template-haskell text transformers zlib + async base filepath LambdaHack optparse-applicative ]; - description = "Near-future Sci-Fi roguelike and tactical squad game"; - license = "unknown"; + description = "Near-future Sci-Fi roguelike and tactical squad combat game"; + license = stdenv.lib.licenses.agpl3Plus; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AndroidViewHierarchyImporter" = callPackage @@ -923,6 +964,7 @@ self: { description = "Android view hierarchy importer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Animas" = callPackage @@ -935,6 +977,7 @@ self: { description = "Updated version of Yampa: a library for programming hybrid systems"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Annotations" = callPackage @@ -948,6 +991,7 @@ self: { description = "Constructing, analyzing and destructing annotated trees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Ansi2Html" = callPackage @@ -980,6 +1024,7 @@ self: { description = "Library for Apple Push Notification Service"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AppleScript" = callPackage @@ -992,6 +1037,7 @@ self: { description = "Call AppleScript from Haskell, and then call back into Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ApproxFun-hs" = callPackage @@ -1004,6 +1050,7 @@ self: { description = "Function approximation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ArrayRef" = callPackage @@ -1016,6 +1063,7 @@ self: { description = "Unboxed references, dynamic arrays and more"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ArrowVHDL" = callPackage @@ -1028,22 +1076,25 @@ self: { description = "A library to generate Netlist code from Arrow descriptions"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AspectAG" = callPackage - ({ mkDerivation, base, containers, HList, mtl, template-haskell }: + ({ mkDerivation, base, containers, ghc-prim, mtl, tagged + , template-haskell, th-strict-compat + }: mkDerivation { pname = "AspectAG"; - version = "0.3.6.1"; - sha256 = "01pglvf38v5ii2w03kdlgngxbb3ih0j5bsilv5qwc9vrh2iwirhf"; - revision = "1"; - editedCabalFile = "0w0098491vypmvhpy23bzs2vdbym4qfllxymysc1j4gjx8q81dnm"; + version = "0.5.0.0"; + sha256 = "039k40swscsg21b4k4a3q95migvkflcp7sgx2a8gpzanrkx3ckz2"; + revision = "2"; + editedCabalFile = "1afrgn3hhkfrb3khfnbj7x9p4dh8j682zjhp5lc7s7syr8zp8pxy"; libraryHaskellDepends = [ - base containers HList mtl template-haskell + base containers ghc-prim mtl tagged template-haskell + th-strict-compat ]; - description = "Attribute Grammars in the form of an EDSL"; - license = "LGPL"; - hydraPlatforms = stdenv.lib.platforms.none; + description = "Strongly typed Attribute Grammars implemented using type-level programming"; + license = stdenv.lib.licenses.gpl3; }) {}; "AttoBencode" = callPackage @@ -1065,6 +1116,7 @@ self: { description = "Fast Bencode encoding and parsing library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AttoJson" = callPackage @@ -1082,6 +1134,7 @@ self: { description = "Simple lightweight JSON parser, generator & manipulator based on ByteString"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Attrac" = callPackage @@ -1098,6 +1151,7 @@ self: { description = "Visualisation of Strange Attractors in 3-Dimensions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Aurochs" = callPackage @@ -1112,6 +1166,7 @@ self: { description = "Yet another parser generator for C/C++"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AutoForms" = callPackage @@ -1128,6 +1183,7 @@ self: { description = "GUI library based upon generic programming (SYB3)"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "AvlTree" = callPackage @@ -1140,6 +1196,7 @@ self: { description = "Balanced binary trees using the AVL algorithm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BASIC" = callPackage @@ -1152,6 +1209,7 @@ self: { description = "Embedded BASIC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BCMtools" = callPackage @@ -1179,27 +1237,29 @@ self: { description = "Big Contact Map Tools"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BNFC" = callPackage ({ mkDerivation, alex, array, base, containers, deepseq, directory , doctest, filepath, happy, hspec, HUnit, mtl, pretty, process - , QuickCheck, temporary + , QuickCheck, semigroups, temporary, time }: mkDerivation { pname = "BNFC"; - version = "2.8.2"; - sha256 = "1n4zgm6gls6lpasn8y5hy0m75qkkbk6mj18g2yhjrw8514a5860h"; + version = "2.8.3"; + sha256 = "00w8g0kn4sgjyiq4hykkz8k0kl5b5861v7d9g2021vca78gif6wl"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ array base ]; executableHaskellDepends = [ array base containers deepseq directory filepath mtl pretty process + semigroups time ]; executableToolDepends = [ alex happy ]; testHaskellDepends = [ array base containers deepseq directory doctest filepath hspec - HUnit mtl pretty process QuickCheck temporary + HUnit mtl pretty process QuickCheck semigroups temporary time ]; description = "A compiler front-end generator"; license = stdenv.lib.licenses.gpl2; @@ -1220,6 +1280,7 @@ self: { description = "Deriving Parsers and Quasi-Quoters from BNF Grammars"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Baggins" = callPackage @@ -1234,6 +1295,7 @@ self: { description = "Tools for self-assembly"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Bang" = callPackage @@ -1250,6 +1312,7 @@ self: { description = "A Drum Machine DSL for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Barracuda" = callPackage @@ -1279,6 +1342,7 @@ self: { description = "An ad-hoc P2P chat program"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Befunge93" = callPackage @@ -1293,6 +1357,7 @@ self: { description = "An interpreter for the Befunge-93 Programming Language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BenchmarkHistory" = callPackage @@ -1311,6 +1376,7 @@ self: { description = "Benchmark functions with history"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BerkeleyDB" = callPackage @@ -1338,6 +1404,7 @@ self: { description = "Berkeley DB XML binding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) db; inherit (pkgs) dbxml; inherit (pkgs) xercesc; inherit (pkgs) xqilla;}; @@ -1351,6 +1418,7 @@ self: { description = "Factorization of polynomials over finite field"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BiGUL" = callPackage @@ -1366,6 +1434,7 @@ self: { description = "The Bidirectional Generic Update Language"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BigPixel" = callPackage @@ -1407,7 +1476,6 @@ self: { ]; description = "Libary for Hidden Markov Models in HMMER3 format"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "Biobase" = callPackage @@ -1430,22 +1498,26 @@ self: { description = "Base library for bioinformatics"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BiobaseBlast" = callPackage - ({ mkDerivation, aeson, attoparsec, base, binary, BiobaseTypes - , BiobaseXNA, bytestring, cereal, containers, deepseq, directory - , filepath, PrimitiveArray, split, tasty, tasty-quickcheck - , tasty-silver, tasty-th, text, vector, vector-th-unbox + ({ mkDerivation, aeson, attoparsec, base, binary, BiobaseENA + , BiobaseTypes, BiobaseXNA, bytestring, cereal, containers, deepseq + , directory, file-embed, filepath, lens, log-domain, mtl + , PrimitiveArray, SciBaseTypes, split, tasty, tasty-quickcheck + , tasty-silver, tasty-th, text, unordered-containers, vector + , vector-th-unbox }: mkDerivation { pname = "BiobaseBlast"; - version = "0.2.1.0"; - sha256 = "1vrdnb8mjl6r02b37w3r25pf6kxn97w7zya148qpnlfgc2ffa23a"; + version = "0.3.1.0"; + sha256 = "153bxf221jga58ibxgd660465klbqj49qr3rk6ni77v7sb4qgrg0"; libraryHaskellDepends = [ - aeson attoparsec base binary BiobaseTypes BiobaseXNA bytestring - cereal containers deepseq directory PrimitiveArray vector - vector-th-unbox + aeson attoparsec base binary BiobaseENA BiobaseTypes BiobaseXNA + bytestring cereal containers deepseq directory file-embed lens + log-domain mtl PrimitiveArray SciBaseTypes text + unordered-containers vector vector-th-unbox ]; testHaskellDepends = [ base bytestring containers filepath split tasty tasty-quickcheck @@ -1454,6 +1526,7 @@ self: { description = "BLAST-related tools"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BiobaseDotP" = callPackage @@ -1466,6 +1539,29 @@ self: { description = "Vienna / DotBracket / ExtSS parsers"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "BiobaseENA" = callPackage + ({ mkDerivation, base, BiobaseTypes, bytestring, containers + , directory, file-embed, lens, megaparsec, mtl, QuickCheck, tasty + , tasty-quickcheck, tasty-th, text, vector, vector-th-unbox + }: + mkDerivation { + pname = "BiobaseENA"; + version = "0.0.0.1"; + sha256 = "0wkfaxrv4s34amjjl02q0si5nvs18f74z9dxp5r024fd42g3fdka"; + libraryHaskellDepends = [ + base BiobaseTypes bytestring containers directory file-embed lens + megaparsec mtl text vector vector-th-unbox + ]; + testHaskellDepends = [ + base BiobaseTypes bytestring containers directory file-embed lens + megaparsec mtl QuickCheck tasty tasty-quickcheck tasty-th text + vector vector-th-unbox + ]; + description = "European Nucleotide Archive data"; + license = stdenv.lib.licenses.bsd3; }) {}; "BiobaseEnsembl" = callPackage @@ -1484,6 +1580,7 @@ self: { description = "Ensembl related datastructures and functions"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BiobaseFR3D" = callPackage @@ -1500,29 +1597,31 @@ self: { description = "Importer for FR3D resources"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BiobaseFasta" = callPackage - ({ mkDerivation, base, BiobaseTypes, bytestring, deepseq, filepath + ({ mkDerivation, base, BiobaseTypes, bytestring, DPutils, filepath , lens, QuickCheck, resourcet, streaming, streaming-bytestring - , tasty, tasty-golden, tasty-hunit, tasty-quickcheck, tasty-silver - , tasty-th, text + , string-conversions, tasty, tasty-golden, tasty-hunit + , tasty-quickcheck, tasty-silver, tasty-th, text }: mkDerivation { pname = "BiobaseFasta"; - version = "0.2.0.0"; - sha256 = "1ilsq8wjvmz1pw00rfk78f1si7s4ld3gbbp6w8nfq051hgg5ydsh"; + version = "0.3.0.1"; + sha256 = "11vwvqln5jv4k97miyjgqs3yckm8fhyclclhfxq473i4g22amjyh"; libraryHaskellDepends = [ - base BiobaseTypes bytestring deepseq lens resourcet streaming - streaming-bytestring + base BiobaseTypes bytestring DPutils lens resourcet streaming + streaming-bytestring string-conversions ]; testHaskellDepends = [ - base bytestring filepath QuickCheck resourcet streaming - streaming-bytestring tasty tasty-golden tasty-hunit - tasty-quickcheck tasty-silver tasty-th text + base BiobaseTypes bytestring DPutils filepath lens QuickCheck + resourcet streaming streaming-bytestring string-conversions tasty + tasty-golden tasty-hunit tasty-quickcheck tasty-silver tasty-th + text ]; description = "streaming FASTA parser"; - license = stdenv.lib.licenses.gpl3; + license = stdenv.lib.licenses.bsd3; }) {}; "BiobaseHTTP" = callPackage @@ -1541,6 +1640,7 @@ self: { description = "Libary to interface with the Bioinformatics HTTP services - Entrez Ensembl"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BiobaseHTTPTools" = callPackage @@ -1551,6 +1651,8 @@ self: { pname = "BiobaseHTTPTools"; version = "1.0.0"; sha256 = "1sbwhil0d0118nwx7wsryk6j8a7rysdxqksphvyrlxfdm7pd3l1z"; + revision = "1"; + editedCabalFile = "1aibwdw1bh0gl4czff4n8jkf79ma3isqwqgnjh186xn1rbnibvmw"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -1560,6 +1662,7 @@ self: { description = "Tools to query Bioinformatics HTTP services e.g. Entrez, Ensembl."; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BiobaseInfernal" = callPackage @@ -1599,6 +1702,7 @@ self: { description = "Infernal data structures and tools"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BiobaseMAF" = callPackage @@ -1611,6 +1715,7 @@ self: { description = "Multiple Alignment Format"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BiobaseNewick" = callPackage @@ -1639,6 +1744,7 @@ self: { description = "Newick file format parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BiobaseTrainingData" = callPackage @@ -1659,6 +1765,7 @@ self: { description = "RNA folding training data"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BiobaseTurner" = callPackage @@ -1677,6 +1784,7 @@ self: { description = "Import Turner RNA parameters"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BiobaseTypes" = callPackage @@ -1684,23 +1792,28 @@ self: { , bytestring, cereal, cereal-text, cereal-vector, containers , data-default, deepseq, ForestStructures, hashable, intern, lens , mtl, primitive, PrimitiveArray, QuickCheck, SciBaseTypes - , string-conversions, tasty, tasty-quickcheck, tasty-th, text - , text-binary, utf8-string, vector, vector-binary-instances + , streaming, string-conversions, tasty, tasty-quickcheck, tasty-th + , text, text-binary, utf8-string, vector, vector-binary-instances , vector-th-unbox }: mkDerivation { pname = "BiobaseTypes"; - version = "0.1.4.0"; - sha256 = "1ih3l72i9ahgxb261y43gncdrha3jpzkpavvhbsyqv6vi7pgcj4r"; + version = "0.2.0.1"; + sha256 = "1ygyq169dcz1bswppljkskvqamvvs61n8fwyyplyf4348i1v938i"; libraryHaskellDepends = [ aeson attoparsec base bimaps binary bytestring cereal cereal-text cereal-vector containers data-default deepseq ForestStructures hashable intern lens mtl primitive PrimitiveArray QuickCheck - SciBaseTypes string-conversions text text-binary utf8-string vector - vector-binary-instances vector-th-unbox + SciBaseTypes streaming string-conversions text text-binary + utf8-string vector vector-binary-instances vector-th-unbox ]; testHaskellDepends = [ - base bytestring lens QuickCheck tasty tasty-quickcheck tasty-th + aeson attoparsec base bimaps binary bytestring cereal cereal-text + cereal-vector containers data-default deepseq ForestStructures + hashable intern lens mtl primitive PrimitiveArray QuickCheck + SciBaseTypes streaming string-conversions tasty tasty-quickcheck + tasty-th text text-binary utf8-string vector + vector-binary-instances vector-th-unbox ]; description = "Collection of types for bioinformatics"; license = stdenv.lib.licenses.bsd3; @@ -1720,37 +1833,48 @@ self: { description = "Import Vienna energy parameters"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BiobaseXNA" = callPackage ({ mkDerivation, aeson, attoparsec, base, bimaps, binary - , BiobaseTypes, bytes, bytestring, cereal, cereal-vector, cmdargs - , containers, csv, deepseq, file-embed, ForestStructures, hashable - , lens, mtl, primitive, PrimitiveArray, QuickCheck, split, tasty - , tasty-quickcheck, tasty-th, text, tuple, vector - , vector-binary-instances, vector-th-unbox + , BiobaseENA, BiobaseTypes, bytes, bytestring, cereal + , cereal-vector, cmdargs, containers, csv, data-default, deepseq + , file-embed, ForestStructures, hashable, lens, mtl, primitive + , PrimitiveArray, QuickCheck, split, tasty, tasty-quickcheck + , tasty-th, text, tuple, vector, vector-binary-instances + , vector-th-unbox }: mkDerivation { pname = "BiobaseXNA"; - version = "0.10.0.0"; - sha256 = "0ah8qzr3wv4x1khh970isbrdn2fabsa7f9v92wif7ls798hw5abz"; + version = "0.11.0.0"; + sha256 = "1yrq14mv5bbw6drlpk2cf6incdg2wqw3i0zgdd0vpfmxbwr3wjl4"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - aeson attoparsec base bimaps binary BiobaseTypes bytes bytestring - cereal cereal-vector containers csv deepseq file-embed - ForestStructures hashable lens mtl primitive PrimitiveArray - QuickCheck split text tuple vector vector-binary-instances - vector-th-unbox + aeson attoparsec base bimaps binary BiobaseENA BiobaseTypes bytes + bytestring cereal cereal-vector containers csv data-default deepseq + file-embed ForestStructures hashable lens mtl primitive + PrimitiveArray QuickCheck split text tuple vector + vector-binary-instances vector-th-unbox + ]; + executableHaskellDepends = [ + aeson attoparsec base bimaps binary BiobaseENA BiobaseTypes bytes + bytestring cereal cereal-vector cmdargs containers csv data-default + deepseq file-embed ForestStructures hashable lens mtl primitive + PrimitiveArray QuickCheck split text tuple vector + vector-binary-instances vector-th-unbox ]; - executableHaskellDepends = [ base cmdargs ]; testHaskellDepends = [ - base QuickCheck tasty tasty-quickcheck tasty-th vector + aeson attoparsec base bimaps binary BiobaseENA BiobaseTypes bytes + bytestring cereal cereal-vector containers csv data-default deepseq + file-embed ForestStructures hashable lens mtl primitive + PrimitiveArray QuickCheck split tasty tasty-quickcheck tasty-th + text tuple vector vector-binary-instances vector-th-unbox ]; description = "Efficient RNA/DNA/Protein Primary/Secondary Structure"; - license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; + license = stdenv.lib.licenses.bsd3; }) {}; "BirdPP" = callPackage @@ -1765,6 +1889,7 @@ self: { description = "A preprocessor for Bird-style Literate Haskell comments with Haddock markup"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BitStringRandomMonad" = callPackage @@ -1785,6 +1910,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BitSyntax" = callPackage @@ -1810,24 +1936,26 @@ self: { description = "A library to access bit.ly URL shortener."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BlastHTTP" = callPackage - ({ mkDerivation, base, BiobaseBlast, biocore, biofasta, blastxml - , bytestring, conduit, either-unwrap, HTTP, http-conduit, hxt, mtl - , network, transformers + ({ mkDerivation, base, BiobaseBlast, BiobaseFasta, bytestring + , conduit, either-unwrap, HTTP, http-conduit, hxt, mtl, network + , transformers, zip-archive }: mkDerivation { pname = "BlastHTTP"; - version = "1.3.0"; - sha256 = "1hlb6mmhcb7ijpd3xbsq2piw817k9pk09w4lgq1cgfgs1r6f3vdh"; + version = "1.4.0"; + sha256 = "0gvgwjsqrbk42vmbsh47d8fiwbwhdbsk5mlqj99pfmqi8fddwdm3"; libraryHaskellDepends = [ - base BiobaseBlast biocore biofasta blastxml bytestring conduit - either-unwrap HTTP http-conduit hxt mtl network transformers + base BiobaseBlast BiobaseFasta bytestring conduit either-unwrap + HTTP http-conduit hxt mtl network transformers zip-archive ]; description = "Libary to interface with the NCBI blast REST interface"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Blobs" = callPackage @@ -1850,6 +1978,7 @@ self: { description = "Diagram editor"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BlogLiterately" = callPackage @@ -1861,8 +1990,8 @@ self: { }: mkDerivation { pname = "BlogLiterately"; - version = "0.8.6.2"; - sha256 = "0prk58bxmy0va5i1blc02w8szspavnj4jz6dv9pjg7z64cs863jy"; + version = "0.8.6.3"; + sha256 = "02a4mjz9lbx19plkanmdlm730dwphkdi79a5b5hcnrbilcy8k71n"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -1875,27 +2004,30 @@ self: { description = "A tool for posting Haskelly articles to blogs"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BlogLiterately-diagrams" = callPackage ({ mkDerivation, base, BlogLiterately, containers, diagrams-builder , diagrams-lib, diagrams-rasterific, directory, filepath - , JuicyPixels, pandoc, safe + , JuicyPixels, pandoc, safe, split }: mkDerivation { pname = "BlogLiterately-diagrams"; - version = "0.2.0.6"; - sha256 = "1ps9k7x0s7w0pbf8v7fphm1nyfh5dbxjm3zc1bfjxry4ciqljfyq"; + version = "0.2.1"; + sha256 = "0ki56kc51p1b9zkvs91adgj140pchnbdwfmhsvb4qzzf9sz90kjb"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base BlogLiterately containers diagrams-builder diagrams-lib diagrams-rasterific directory filepath JuicyPixels pandoc safe + split ]; executableHaskellDepends = [ base BlogLiterately ]; description = "Include images in blog posts with inline diagrams code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Blogdown" = callPackage @@ -1925,6 +2057,7 @@ self: { description = "A markdown-like markup language designed for blog posts"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BluePrintCSS" = callPackage @@ -1948,6 +2081,7 @@ self: { description = "Preview of a new build system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Bookshelf" = callPackage @@ -1969,6 +2103,7 @@ self: { description = "A simple document organizer with some wiki functionality"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Boolean" = callPackage @@ -2008,6 +2143,7 @@ self: { description = "Static text template generation library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "BufferedSocket" = callPackage @@ -2020,6 +2156,7 @@ self: { description = "A socker wrapper that makes the IO of sockets much cleaner"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Buster" = callPackage @@ -2045,6 +2182,7 @@ self: { description = "Hits a set of urls periodically to bust caches"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CBOR" = callPackage @@ -2066,6 +2204,7 @@ self: { description = "Encode/Decode values to/from CBOR"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CC-delcont" = callPackage @@ -2096,6 +2235,7 @@ self: { description = "Three new monad transformers for multi-prompt delimited control"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CC-delcont-cxe" = callPackage @@ -2108,6 +2248,7 @@ self: { description = "A monad transformers for multi-prompt delimited control"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CC-delcont-exc" = callPackage @@ -2120,6 +2261,7 @@ self: { description = "A monad transformers for multi-prompt delimited control"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CC-delcont-ref" = callPackage @@ -2132,6 +2274,7 @@ self: { description = "A monad transformers for multi-prompt delimited control using refercence cells"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CC-delcont-ref-tf" = callPackage @@ -2144,6 +2287,7 @@ self: { description = "A monad transformers for multi-prompt delimited control using refercence cells"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CCA" = callPackage @@ -2162,6 +2306,7 @@ self: { description = "preprocessor and library for Causal Commutative Arrows (CCA)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CHXHtml" = callPackage @@ -2192,6 +2337,7 @@ self: { description = "Cursor Library for A Structured Editor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CLI" = callPackage @@ -2205,6 +2351,7 @@ self: { description = "CLI tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CMCompare" = callPackage @@ -2224,6 +2371,7 @@ self: { description = "Infernal covariance model comparison"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CMQ" = callPackage @@ -2240,7 +2388,6 @@ self: { ]; description = "cwmwl udp message queue"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "COrdering" = callPackage @@ -2253,6 +2400,7 @@ self: { description = "An algebraic data type similar to Prelude Ordering"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CPBrainfuck" = callPackage @@ -2268,6 +2416,7 @@ self: { description = "A simple Brainfuck interpretter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CPL" = callPackage @@ -2311,6 +2460,7 @@ self: { description = "Firing rules semantic of CSPM"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CSPM-Frontend" = callPackage @@ -2329,6 +2479,7 @@ self: { description = "A CSP-M parser compatible with FDR-2.91"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CSPM-Interpreter" = callPackage @@ -2346,6 +2497,7 @@ self: { description = "An interpreter for CSPM"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CSPM-ToProlog" = callPackage @@ -2360,6 +2512,7 @@ self: { description = "some modules specific for the ProB tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CSPM-cspm" = callPackage @@ -2386,6 +2539,7 @@ self: { description = "cspm command line tool for analyzing CSPM specifications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CTRex" = callPackage @@ -2431,6 +2585,7 @@ self: { description = "OpenCV based machine vision library"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {opencv_calib3d = null; opencv_contrib = null; opencv_core = null; opencv_features2d = null; opencv_flann = null; opencv_gpu = null; opencv_highgui = null; opencv_imgproc = null; @@ -2478,8 +2633,8 @@ self: { pname = "Cabal"; version = "2.4.1.0"; sha256 = "151mrrd9sskghvlwmj32da5gafwqj6sv9xz9fmp84b7vm4nr0skk"; - revision = "1"; - editedCabalFile = "1dvs2i0kfk8rji9wbrv7y0iydbif9jzg4c7rmaa6lxg8hp7mij2n"; + revision = "2"; + editedCabalFile = "04kg5xh8yabmp1ymk32gw2r66l76338rsglq8i4j2913bhq23vwa"; setupHaskellDepends = [ mtl parsec ]; libraryHaskellDepends = [ array base binary bytestring containers deepseq directory filepath @@ -2497,6 +2652,35 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "Cabal_3_0_0_0" = callPackage + ({ mkDerivation, array, base, base-compat, base-orphans, binary + , bytestring, containers, deepseq, Diff, directory, filepath + , integer-logarithms, mtl, optparse-applicative, parsec, pretty + , process, QuickCheck, stm, tagged, tar, tasty, tasty-golden + , tasty-hunit, tasty-quickcheck, temporary, text, time + , transformers, tree-diff, unix + }: + mkDerivation { + pname = "Cabal"; + version = "3.0.0.0"; + sha256 = "11yjd0cmqngi1yr7v0dr55n59rq78kk6121sr44abha0swkfqhsi"; + setupHaskellDepends = [ mtl parsec ]; + libraryHaskellDepends = [ + array base binary bytestring containers deepseq directory filepath + mtl parsec pretty process text time transformers unix + ]; + testHaskellDepends = [ + array base base-compat base-orphans binary bytestring containers + deepseq Diff directory filepath integer-logarithms + optparse-applicative pretty process QuickCheck stm tagged tar tasty + tasty-golden tasty-hunit tasty-quickcheck temporary text tree-diff + ]; + doCheck = false; + description = "A framework for packaging Haskell software"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "Cabal-ide-backend" = callPackage ({ mkDerivation, array, base, binary, bytestring, Cabal, containers , deepseq, directory, extensible-exceptions, filepath, HUnit @@ -2520,6 +2704,7 @@ self: { description = "A framework for packaging Haskell software"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CabalSearch" = callPackage @@ -2538,6 +2723,7 @@ self: { description = "Search cabal packages by name"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Capabilities" = callPackage @@ -2550,6 +2736,7 @@ self: { description = "Separate and contain effects of IO monad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Cardinality" = callPackage @@ -2573,6 +2760,7 @@ self: { description = "An implementation and DSL for the Carneades argumentation model"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CarneadesIntoDung" = callPackage @@ -2590,6 +2778,7 @@ self: { description = "A translation from the Carneades argumentation model into Dung's AFs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Cartesian" = callPackage @@ -2602,6 +2791,7 @@ self: { description = "Coordinate systems"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Cascade" = callPackage @@ -2614,6 +2804,7 @@ self: { description = "Playing with reified categorical composition"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Cassava" = callPackage @@ -2641,6 +2832,7 @@ self: { description = "A CSV parsing and encoding library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Catana" = callPackage @@ -2653,6 +2845,7 @@ self: { description = "A monad for complex manipulation of a stream"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ChannelT" = callPackage @@ -2672,15 +2865,14 @@ self: { }: mkDerivation { pname = "Chart"; - version = "1.9"; - sha256 = "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"; + version = "1.9.1"; + sha256 = "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"; libraryHaskellDepends = [ array base colour data-default-class lens mtl old-locale operational time vector ]; description = "A library for generating 2D Charts and Plots"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "Chart-cairo" = callPackage @@ -2689,15 +2881,14 @@ self: { }: mkDerivation { pname = "Chart-cairo"; - version = "1.9"; - sha256 = "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"; + version = "1.9.1"; + sha256 = "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"; libraryHaskellDepends = [ array base cairo Chart colour data-default-class lens mtl old-locale operational time ]; description = "Cairo backend for Charts"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "Chart-diagrams" = callPackage @@ -2708,8 +2899,8 @@ self: { }: mkDerivation { pname = "Chart-diagrams"; - version = "1.9"; - sha256 = "1n1fa6198yp5iv7xy0fdxfj794kkll0w7kn2zdq7g52rfx6nkall"; + version = "1.9.2"; + sha256 = "0am51ck84apijwwvpkwhnpmsr4047svzdi7g5nbf5yprsb8vzd4n"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base blaze-markup bytestring Chart colour containers @@ -2719,7 +2910,6 @@ self: { ]; description = "Diagrams backend for Charts"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "Chart-gtk" = callPackage @@ -2728,15 +2918,14 @@ self: { }: mkDerivation { pname = "Chart-gtk"; - version = "1.9"; - sha256 = "1p8nf50q031xa1mhv4w3zbyv61i2jyhvd8bq7dqkcqhgknxxpkv0"; + version = "1.9.1"; + sha256 = "1lhl7ayyydg5z5zwpr3k4313565p4za3z2f3ngd4hpicp7zbmhx0"; libraryHaskellDepends = [ array base cairo Chart Chart-cairo colour data-default-class gtk mtl old-locale time ]; description = "Utility functions for using the chart library with GTK"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "Chart-simple" = callPackage @@ -2754,6 +2943,7 @@ self: { description = "A wrapper for the chart library to assist with basic plots (Deprecated - use the Easy module instead)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ChasingBottoms" = callPackage @@ -2762,8 +2952,8 @@ self: { }: mkDerivation { pname = "ChasingBottoms"; - version = "1.3.1.5"; - sha256 = "0hfk2cb9da5fvr96x8lzij93yl3rvax2id9a8gihd5j5aq4kxx30"; + version = "1.3.1.6"; + sha256 = "17lw2mdzrn2f4w0byfdkyd7h7pcnjzv3n3giapcjg6bza5xjqfbd"; libraryHaskellDepends = [ base containers mtl QuickCheck random syb ]; @@ -2798,6 +2988,7 @@ self: { description = "Inbuilt checking for ultra reliable computing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Chitra" = callPackage @@ -2812,6 +3003,7 @@ self: { description = "A platform independent mechanism to render graphics using vnc"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ChristmasTree" = callPackage @@ -2828,6 +3020,7 @@ self: { description = "Alternative approach of 'read' that composes grammars instead of parsers"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CirruParser" = callPackage @@ -2862,6 +3055,7 @@ self: { description = "spam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ClassLaws" = callPackage @@ -2874,6 +3068,7 @@ self: { description = "Stating and checking laws for type class methods"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ClassyPrelude" = callPackage @@ -2886,6 +3081,7 @@ self: { description = "Prelude replacement using classes instead of concrete types where reasonable"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Clean" = callPackage @@ -2898,6 +3094,7 @@ self: { description = "A light, clean and powerful utility library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Clipboard" = callPackage @@ -2928,6 +3125,7 @@ self: { description = "Libary for parsing Clustal tools output"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Coadjute" = callPackage @@ -2946,6 +3144,7 @@ self: { description = "A generic build tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Codec-Compression-LZF" = callPackage @@ -2995,6 +3194,7 @@ self: { description = "A concurrent bittorrent client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Command" = callPackage @@ -3007,6 +3207,7 @@ self: { description = "A replacement for System.Exit and System.Process"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Commando" = callPackage @@ -3030,6 +3231,7 @@ self: { description = "Watch some files; Rerun a command"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ComonadSheet" = callPackage @@ -3048,6 +3250,7 @@ self: { description = "A library for expressing spreadsheet-like computations as the fixed-points of comonads"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Compactable" = callPackage @@ -3060,6 +3263,7 @@ self: { description = "A generalization for containers that can be stripped of Nothing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Concurrent-Cache" = callPackage @@ -3072,6 +3276,7 @@ self: { description = "A Cached variable for IO functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ConcurrentUtils" = callPackage @@ -3090,6 +3295,7 @@ self: { description = "Concurrent utilities"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Concurrential" = callPackage @@ -3102,6 +3308,7 @@ self: { description = "Mix concurrent and sequential computation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Condor" = callPackage @@ -3124,6 +3331,7 @@ self: { description = "Information retrieval library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ConfigFile" = callPackage @@ -3151,6 +3359,7 @@ self: { description = "Template haskell for reading ConfigFiles"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Configger" = callPackage @@ -3163,6 +3372,7 @@ self: { description = "Parse config files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Configurable" = callPackage @@ -3175,6 +3385,7 @@ self: { description = "Declare types as Configurable then specialize them all in one place"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ConsStream" = callPackage @@ -3200,6 +3411,7 @@ self: { description = "Restart a command on STDIN activity"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ConstraintKinds" = callPackage @@ -3212,6 +3424,7 @@ self: { description = "Repackages standard type classes with the ConstraintKinds extension"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Consumer" = callPackage @@ -3224,6 +3437,7 @@ self: { description = "A monad and monad transformer for consuming streams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ContArrow" = callPackage @@ -3236,6 +3450,7 @@ self: { description = "Control.Arrow.Transformer.Cont"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ContextAlgebra" = callPackage @@ -3254,6 +3469,7 @@ self: { description = "Implementation of the context algebra"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Contract" = callPackage @@ -3266,6 +3482,7 @@ self: { description = "Practical typed lazy contracts"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Control-Engine" = callPackage @@ -3298,6 +3515,7 @@ self: { description = "A Library for Writing Multi-Pass Algorithms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Control-Monad-ST2" = callPackage @@ -3316,6 +3534,7 @@ self: { description = "A variation on the ST monad with two type parameters"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CoreDump" = callPackage @@ -3328,6 +3547,7 @@ self: { description = "A GHC plugin for printing GHC's internal Core data structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CoreErlang" = callPackage @@ -3340,6 +3560,7 @@ self: { description = "Manipulating Core Erlang source code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CoreFoundation" = callPackage @@ -3359,6 +3580,7 @@ self: { description = "Bindings to Mac OSX's CoreFoundation framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Coroutine" = callPackage @@ -3371,6 +3593,7 @@ self: { description = "Type-safe coroutines using lightweight session types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "CouchDB" = callPackage @@ -3392,6 +3615,7 @@ self: { description = "CouchDB interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Craft3e" = callPackage @@ -3409,6 +3633,7 @@ self: { description = "Code for Haskell: the Craft of Functional Programming, 3rd ed"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Crypto" = callPackage @@ -3464,6 +3689,7 @@ self: { description = "CurryDB: In-memory Key/Value Database"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DAG-Tournament" = callPackage @@ -3482,6 +3708,7 @@ self: { description = "Real-Time Game Tournament Evaluator"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DAV" = callPackage @@ -3514,34 +3741,6 @@ self: { }) {}; "DBFunctor" = callPackage - ({ mkDerivation, base, bytestring, cassava, cereal, containers - , deepseq, either, MissingH, text, time, transformers - , unordered-containers, vector - }: - mkDerivation { - pname = "DBFunctor"; - version = "0.1.1.0"; - sha256 = "1hjjnjs8nlqrqfiv5qxn60avl1avpgsxx8aq5hihrr6f6yj61s4a"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - base bytestring cassava cereal containers deepseq either MissingH - text time transformers unordered-containers vector - ]; - executableHaskellDepends = [ - base bytestring cassava cereal containers deepseq either MissingH - text time transformers unordered-containers vector - ]; - testHaskellDepends = [ - base bytestring cassava cereal containers deepseq either MissingH - text time transformers unordered-containers vector - ]; - description = "DBFunctor - Functional Data Management => ETL/ELT Data Processing in Haskell"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "DBFunctor_0_1_1_1" = callPackage ({ mkDerivation, base, bytestring, cassava, cereal, containers , deepseq, either, MissingH, text, time, transformers , unordered-containers, vector @@ -3567,6 +3766,7 @@ self: { description = "DBFunctor - Functional Data Management => ETL/ELT Data Processing in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DBlimited" = callPackage @@ -3581,6 +3781,7 @@ self: { description = "A command-line SQL interface for flat files (tdf,csv,etc.)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DBus" = callPackage @@ -3593,6 +3794,7 @@ self: { description = "D-Bus bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DCFL" = callPackage @@ -3618,6 +3820,7 @@ self: { description = "Distributed Mutation Analysis framework for MuCheck"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DOH" = callPackage @@ -3655,6 +3858,7 @@ self: { description = "DOM Level 2 bindings for the WebBits package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DP" = callPackage @@ -3671,6 +3875,7 @@ self: { description = "Pragmatic framework for dynamic programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DPM" = callPackage @@ -3695,32 +3900,41 @@ self: { description = "Darcs Patch Manager"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DPutils" = callPackage ({ mkDerivation, attoparsec, base, bytestring, containers , criterion, kan-extensions, lens, mtl, parallel, pipes - , pipes-bytestring, pipes-parse, QuickCheck, streaming - , streaming-bytestring, stringsearch, tasty, tasty-quickcheck - , tasty-th, timeit, transformers, vector + , pipes-bytestring, pipes-parse, primitive, QuickCheck, smallcheck + , streaming, streaming-bytestring, stringsearch, tasty + , tasty-quickcheck, tasty-smallcheck, tasty-th, timeit + , transformers, vector }: mkDerivation { pname = "DPutils"; - version = "0.0.2.0"; - sha256 = "0axavxxg0n1dsdby8306yrinjhbfrvy5a27kkwiw75xvjprk4w5w"; + version = "0.1.0.0"; + sha256 = "153g1rr13jjwqkvfj85nwjhaa0zq8khn24n3dib80nyk0scd4w62"; libraryHaskellDepends = [ - attoparsec base bytestring containers kan-extensions parallel pipes - QuickCheck streaming streaming-bytestring stringsearch transformers + attoparsec base bytestring containers criterion kan-extensions lens + mtl parallel pipes pipes-bytestring pipes-parse primitive + QuickCheck smallcheck streaming streaming-bytestring stringsearch + tasty tasty-quickcheck tasty-smallcheck tasty-th transformers vector ]; testHaskellDepends = [ - base bytestring containers lens mtl pipes pipes-bytestring - pipes-parse QuickCheck streaming streaming-bytestring tasty - tasty-quickcheck tasty-th vector + attoparsec base bytestring containers criterion kan-extensions lens + mtl parallel pipes pipes-bytestring pipes-parse primitive + QuickCheck smallcheck streaming streaming-bytestring stringsearch + tasty tasty-quickcheck tasty-smallcheck tasty-th transformers + vector ]; benchmarkHaskellDepends = [ - base bytestring criterion streaming streaming-bytestring timeit - vector + attoparsec base bytestring containers criterion kan-extensions lens + mtl parallel pipes pipes-bytestring pipes-parse primitive + QuickCheck smallcheck streaming streaming-bytestring stringsearch + tasty tasty-quickcheck tasty-smallcheck tasty-th timeit + transformers vector ]; description = "utilities for DP"; license = stdenv.lib.licenses.bsd3; @@ -3772,6 +3986,7 @@ self: { description = "Implementation of DSA, based on the description of FIPS 186-4"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DSH" = callPackage @@ -3801,6 +4016,7 @@ self: { description = "Database Supported Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DSTM" = callPackage @@ -3823,6 +4039,7 @@ self: { description = "A framework for using STM within distributed systems"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DTC" = callPackage @@ -3835,6 +4052,7 @@ self: { description = "Data To Class transformation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Dangerous" = callPackage @@ -3847,6 +4065,7 @@ self: { description = "Monads for operations that can exit early and produce warnings"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Dao" = callPackage @@ -3878,6 +4097,7 @@ self: { description = "Dao is meta programming language with its own built-in interpreted language, designed with artificial intelligence applications in mind"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DarcsHelpers" = callPackage @@ -3890,6 +4110,7 @@ self: { description = "Code used by Patch-Shack that seemed sensible to open for reusability"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Data-Angle" = callPackage @@ -3928,6 +4149,7 @@ self: { description = "Ropes, an alternative to (Byte)Strings"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DataIndex" = callPackage @@ -3944,6 +4166,8 @@ self: { benchmarkHaskellDepends = [ base criterion ]; description = "A package for adding index column to data files"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DataTreeView" = callPackage @@ -3962,6 +4186,20 @@ self: { description = "A GTK widget for displaying arbitrary Data.Data.Data instances"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "DataVersion" = callPackage + ({ mkDerivation, base, generic-lens, hspec, microlens, QuickCheck + }: + mkDerivation { + pname = "DataVersion"; + version = "0.1.0.0"; + sha256 = "13cw7rzp510spn5ncxdqyzz66d9dnyq7s650zmpmjx2cg456zw9x"; + libraryHaskellDepends = [ base generic-lens microlens ]; + testHaskellDepends = [ base hspec QuickCheck ]; + description = "Type safe data migrations"; + license = stdenv.lib.licenses.mit; }) {}; "Deadpan-DDP" = callPackage @@ -3991,6 +4229,7 @@ self: { description = "Write clients for Meteor's DDP Protocol"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DebugTraceHelpers" = callPackage @@ -4031,6 +4270,7 @@ self: { description = "A very simple implementation of decision trees for discrete attributes"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DeepArrow" = callPackage @@ -4079,6 +4319,7 @@ self: { description = "A simple RTS game"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Delta-Lambda" = callPackage @@ -4102,6 +4343,7 @@ self: { description = "A demonstration interpreter for type system delta-lambda (of N.G. De-bruijn)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DescriptiveKeys" = callPackage @@ -4131,6 +4373,7 @@ self: { description = "Processing Real-time event streams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Diff" = callPackage @@ -4162,6 +4405,7 @@ self: { description = "A theory solver for conjunctions of literals in difference logic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DifferentialEvolution" = callPackage @@ -4178,6 +4422,7 @@ self: { description = "Global optimization using Differential Evolution"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Digit" = callPackage @@ -4213,6 +4458,7 @@ self: { description = "A client library for the DigitalOcean API"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DimensionalHash" = callPackage @@ -4225,6 +4471,7 @@ self: { description = "An n-dimensional hash using Morton numbers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DirectSound" = callPackage @@ -4237,7 +4484,7 @@ self: { librarySystemDepends = [ dsound ]; description = "Partial binding to the Microsoft DirectSound API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {dsound = null;}; "DisTract" = callPackage @@ -4259,6 +4506,7 @@ self: { description = "Distributed Bug Tracking System"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DiscussionSupportSystem" = callPackage @@ -4276,6 +4524,7 @@ self: { description = "Discussion support system"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Dish" = callPackage @@ -4291,19 +4540,19 @@ self: { description = "Hash modules (currently Murmur3)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Dist" = callPackage ({ mkDerivation, base, containers, MonadRandom }: mkDerivation { pname = "Dist"; - version = "0.4.1.0"; - sha256 = "1fmln09jai679lwpxngx8dn0yr2g5dsccvjhacl69s3hy76czd0b"; + version = "0.5.0"; + sha256 = "1x4yg2hhccx7mpa1fch609ibcqz2b1vmg5fiik4qimq5yw9j7g99"; libraryHaskellDepends = [ base containers MonadRandom ]; testHaskellDepends = [ base containers MonadRandom ]; description = "A Haskell library for probability distributions"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "DistanceTransform" = callPackage @@ -4358,6 +4607,7 @@ self: { description = "Frameshift-aware alignment of protein sequences with DNA sequences"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DocTest" = callPackage @@ -4376,6 +4626,7 @@ self: { description = "Test interactive Haskell examples"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Docs" = callPackage @@ -4406,6 +4657,7 @@ self: { description = "A tool for deriving hylomorphisms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DrIFT" = callPackage @@ -4424,6 +4676,7 @@ self: { description = "Program to derive type class instances"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DrIFT-cabalized" = callPackage @@ -4439,6 +4692,7 @@ self: { description = "Program to derive type class instances"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Dung" = callPackage @@ -4453,6 +4707,7 @@ self: { description = "An implementation of the Dung argumentation frameworks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Dust" = callPackage @@ -4479,6 +4734,7 @@ self: { description = "Polymorphic protocol engine"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Dust-crypto" = callPackage @@ -4506,6 +4762,7 @@ self: { description = "Cryptographic operations"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) openssl;}; "Dust-tools" = callPackage @@ -4531,6 +4788,7 @@ self: { description = "Network filtering exploration tools"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Dust-tools-pcap" = callPackage @@ -4553,6 +4811,7 @@ self: { description = "Network filtering exploration tools that rely on pcap"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DynamicTimeWarp" = callPackage @@ -4571,6 +4830,7 @@ self: { description = "Dynamic time warping of sequences"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DysFRP" = callPackage @@ -4585,6 +4845,7 @@ self: { description = "dysFunctional Reactive Programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DysFRP-Cairo" = callPackage @@ -4597,6 +4858,7 @@ self: { description = "dysFunctional Reactive Programming on Cairo"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "DysFRP-Craftwerk" = callPackage @@ -4614,6 +4876,7 @@ self: { description = "dysFunctional Reactive Programming on Craftwerk"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "EEConfig" = callPackage @@ -4627,14 +4890,33 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "ENIG" = callPackage + ({ mkDerivation, base, HUnit, QuickCheck, test-framework + , test-framework-hunit, test-framework-quickcheck2 + , test-framework-th, text, unicode-transforms, vector + }: + mkDerivation { + pname = "ENIG"; + version = "0.0.1.0"; + sha256 = "1zv6dybsnj3kssiyyg69lxyj5wvi5qjx0xp7skg362xzqmi97ch3"; + libraryHaskellDepends = [ base text unicode-transforms vector ]; + testHaskellDepends = [ + base HUnit QuickCheck test-framework test-framework-hunit + test-framework-quickcheck2 test-framework-th text + unicode-transforms + ]; + description = "Auto Korean conjugator/adjustor/adopter/converter"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "Earley" = callPackage ({ mkDerivation, base, criterion, deepseq, ListLike, parsec , QuickCheck, tasty, tasty-hunit, tasty-quickcheck }: mkDerivation { pname = "Earley"; - version = "0.13.0.0"; - sha256 = "0pyj9c5d6xvz4mdpg0nfrl0100rh34442ix73l6ys4pnsadyql0g"; + version = "0.13.0.1"; + sha256 = "169qjicjj09wg879vp86ali4rrqpw0ikazvdi3i1qi6pl3yvqq0y"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base ListLike ]; @@ -4646,7 +4928,6 @@ self: { ]; description = "Parsing all context-free grammars using Earley's algorithm"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "Ebnf2ps" = callPackage @@ -4710,6 +4991,7 @@ self: { description = "Query language and report generator for edit logs"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Eight-Ball-Pool-Hack-Cheats" = callPackage @@ -4733,6 +5015,7 @@ self: { description = "spam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "EitherT" = callPackage @@ -4751,6 +5034,7 @@ self: { description = "EitherT monad transformer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Elm" = callPackage @@ -4807,6 +5091,7 @@ self: { description = "derives heuristic rules from nominal data"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Empty" = callPackage @@ -4819,6 +5104,7 @@ self: { description = "A type class for empty containers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Encode" = callPackage @@ -4850,6 +5136,7 @@ self: { description = "Libary to interface with the NCBI Entrez REST service"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Enum" = callPackage @@ -4873,6 +5160,7 @@ self: { description = "Simple Enum-class-based int containers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "EnumMap" = callPackage @@ -4885,6 +5173,7 @@ self: { description = "More general IntMap replacement"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Eq" = callPackage @@ -4904,6 +5193,7 @@ self: { description = "Render math formula in ASCII, and perform some simplifications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "EqualitySolver" = callPackage @@ -4918,6 +5208,7 @@ self: { description = "A theory solver for conjunctions of literals in the theory of uninterpreted functions with equality"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "EsounD" = callPackage @@ -4938,6 +5229,7 @@ self: { description = "Type-safe bindings to EsounD (ESD; Enlightened Sound Daemon)"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "EstProgress" = callPackage @@ -4950,6 +5242,7 @@ self: { description = "Methods for estimating the progress of functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "EtaMOO" = callPackage @@ -4975,6 +5268,7 @@ self: { description = "A new implementation of the LambdaMOO server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) pcre;}; "Etage" = callPackage @@ -4991,6 +5285,7 @@ self: { description = "A general data-flow framework"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Etage-Graph" = callPackage @@ -5010,6 +5305,7 @@ self: { description = "Data-flow based graph algorithms"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Eternal10Seconds" = callPackage @@ -5025,6 +5321,7 @@ self: { description = "A 2-D shooting game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Etherbunny" = callPackage @@ -5047,6 +5344,7 @@ self: { description = "A network analysis toolkit for Haskell"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libpcap;}; "EuroIT" = callPackage @@ -5066,10 +5364,8 @@ self: { }: mkDerivation { pname = "Euterpea"; - version = "2.0.6"; - sha256 = "0smaa34s0yz90q4qx104glyx8s93k6vn6r60m6aq9infm7rkffxw"; - revision = "1"; - editedCabalFile = "1yrr18wv22ri1v8mij4lazl5lpri7sf8bxbz7igsbs8dngmycn9r"; + version = "2.0.7"; + sha256 = "0kxdilxzg0dgz1684csbyfv4cifh9d92ac6pwp6dnrcwwpwskiw8"; libraryHaskellDepends = [ array arrows base bytestring containers deepseq ghc-prim HCodecs heap PortMidi random stm @@ -5077,6 +5373,7 @@ self: { description = "Library for computer music research and education"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "EventSocket" = callPackage @@ -5093,6 +5390,7 @@ self: { description = "Interfaces with FreeSwitch Event Socket"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Extra" = callPackage @@ -5113,6 +5411,7 @@ self: { description = "A grab bag of modules"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FAI" = callPackage @@ -5151,6 +5450,7 @@ self: { description = "Compose music"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FM-SBLEX" = callPackage @@ -5165,6 +5465,7 @@ self: { description = "A set of computational morphology tools for Swedish diachronic lexicons"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FModExRaw" = callPackage @@ -5178,6 +5479,7 @@ self: { description = "The Haskell FModEx raw API"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {fmodex64 = null;}; "FPretty" = callPackage @@ -5192,6 +5494,7 @@ self: { description = "Efficient simple pretty printing combinators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FTGL" = callPackage @@ -5204,7 +5507,7 @@ self: { librarySystemDepends = [ ftgl ]; description = "Portable TrueType font rendering for OpenGL using the Freetype2 library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) ftgl;}; "FTGL-bytestring" = callPackage @@ -5222,6 +5525,7 @@ self: { description = "Portable TrueType font rendering for OpenGL using the Freetype2 library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) ftgl;}; "FTPLine" = callPackage @@ -5241,6 +5545,7 @@ self: { description = "A command-line FTP client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Facebook-Password-Hacker-Online-Latest-Version" = callPackage @@ -5266,6 +5571,7 @@ self: { description = "spam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Facts" = callPackage @@ -5282,6 +5588,7 @@ self: { description = "A collection of facts about the real world"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FailureT" = callPackage @@ -5294,6 +5601,7 @@ self: { description = "Failure Monad Transformer"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FastPush" = callPackage @@ -5306,6 +5614,7 @@ self: { description = "A monad and monad transformer for pushing things onto a stack very fast"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FastxPipe" = callPackage @@ -5323,6 +5632,7 @@ self: { description = "Fasta and Fastq streaming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FenwickTree" = callPackage @@ -5356,6 +5666,7 @@ self: { description = "Annotate ps and pdf documents"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FerryCore" = callPackage @@ -5373,6 +5684,7 @@ self: { description = "Ferry Core Components"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Feval" = callPackage @@ -5387,6 +5699,7 @@ self: { description = "Evaluation using F-Algebras"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FieldTrip" = callPackage @@ -5404,6 +5717,7 @@ self: { description = "Functional 3D"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FileManip" = callPackage @@ -5420,6 +5734,7 @@ self: { description = "Expressive file and directory manipulation for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FileManipCompat" = callPackage @@ -5436,6 +5751,7 @@ self: { description = "Expressive file and directory manipulation for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FilePather" = callPackage @@ -5453,6 +5769,7 @@ self: { description = "Functions on System.FilePath"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FileSystem" = callPackage @@ -5469,6 +5786,7 @@ self: { description = "File system data structure and monad transformer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Files" = callPackage @@ -5486,6 +5804,7 @@ self: { description = "File content extraction/rearrangement"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Fin" = callPackage @@ -5501,6 +5820,8 @@ self: { ]; description = "Finite totally-ordered sets"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Finance-Quote-Yahoo" = callPackage @@ -5517,6 +5838,7 @@ self: { description = "Obtain quote data from finance.yahoo.com"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Finance-Treasury" = callPackage @@ -5534,6 +5856,7 @@ self: { description = "Obtain Treasury yield curve data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FindBin" = callPackage @@ -5557,6 +5880,7 @@ self: { description = "A finite map implementation, derived from the paper: Efficient sets: a balancing act, S. Adams, Journal of functional programming 3(4) Oct 1993, pp553-562"; license = stdenv.lib.licenses.bsdOriginal; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FirstOrderTheory" = callPackage @@ -5569,6 +5893,7 @@ self: { description = "Grammar and typeclass for first order theories"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FixedPoint-simple" = callPackage @@ -5599,6 +5924,7 @@ self: { description = "Wiki"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FloatingHex" = callPackage @@ -5673,6 +5999,7 @@ self: { description = "ForSyDe's Haskell-embedded Domain Specific Language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ForestStructures" = callPackage @@ -5721,6 +6048,7 @@ self: { description = "Comparison of trees and forests"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ForkableT" = callPackage @@ -5733,6 +6061,7 @@ self: { description = "Forkable monad transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FormalGrammars" = callPackage @@ -5763,6 +6092,7 @@ self: { description = "(Context-free) grammars in formal language theory"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Fortnite-Hack-Cheats-Free-V-Bucks-Generator" = callPackage @@ -5786,6 +6116,7 @@ self: { description = "spam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Foster" = callPackage @@ -5807,6 +6138,7 @@ self: { description = "Utilities to generate and solve puzzles"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FpMLv53" = callPackage @@ -5854,6 +6186,7 @@ self: { ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Frames" = callPackage @@ -5885,6 +6218,8 @@ self: { benchmarkHaskellDepends = [ base criterion pipes transformers ]; description = "Data frames For working with tabular data files"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Frames-beam" = callPackage @@ -5909,6 +6244,7 @@ self: { description = "A library for accessing Postgres tables as in-memory data structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Frames-dsv" = callPackage @@ -5927,6 +6263,28 @@ self: { description = "Alternative CSV parser for the Frames package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "Frames-map-reduce" = callPackage + ({ mkDerivation, base, containers, foldl, Frames, hashable + , map-reduce-folds, newtype, profunctors, random, text, vinyl + }: + mkDerivation { + pname = "Frames-map-reduce"; + version = "0.1.0.1"; + sha256 = "1m3ifx867hn4zhrj9xlars44w3sv1sp6ja38kb6f3lnhr86nf8g2"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base containers foldl Frames hashable map-reduce-folds newtype + profunctors vinyl + ]; + executableHaskellDepends = [ base foldl Frames random text vinyl ]; + description = "Frames wrapper for map-reduce-folds and some extra folds helpers"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Frank" = callPackage @@ -5941,6 +6299,7 @@ self: { description = "An experimental programming language with typed algebraic effects"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FreeTypeGL" = callPackage @@ -5956,6 +6315,7 @@ self: { description = "Loadable texture fonts for OpenGL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "FunGEn" = callPackage @@ -5972,6 +6332,7 @@ self: { description = "A lightweight, cross-platform, OpenGL/GLUT-based game engine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Fungi" = callPackage @@ -5992,6 +6353,7 @@ self: { description = "Funge-98 interpreter written in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GA" = callPackage @@ -6017,6 +6379,7 @@ self: { description = "GGg cipher"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GHood" = callPackage @@ -6056,6 +6419,7 @@ self: { description = "A binding for GLFW (OGL)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXrandr;}; "GLFW-b" = callPackage @@ -6093,6 +6457,7 @@ self: { description = "GLFW-b demo"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GLFW-task" = callPackage @@ -6158,6 +6523,7 @@ self: { description = "Utilities for working with OpenGL matrices"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GLURaw" = callPackage @@ -6178,8 +6544,8 @@ self: { }: mkDerivation { pname = "GLUT"; - version = "2.7.0.14"; - sha256 = "01i162fly4q1751fp60lgkzlb8kr0qqbvmxj74zc6skb19qggy2w"; + version = "2.7.0.15"; + sha256 = "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -6222,6 +6588,7 @@ self: { description = "Parse GPX files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GPipe" = callPackage @@ -6230,8 +6597,8 @@ self: { }: mkDerivation { pname = "GPipe"; - version = "2.2.3"; - sha256 = "19bn3471h6p7a34l3ydgyvqn118f4wb6l3djldlx0cvrga6wmfkp"; + version = "2.2.4"; + sha256 = "0l3s3j41fwwcjdc0nymzqmdsd7wlvaqyn1lg7n1wdx65wy4iz6j0"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base Boolean containers exception-transformers gl hashtables linear @@ -6240,6 +6607,7 @@ self: { description = "Typesafe functional GPU graphics programming"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GPipe-Collada" = callPackage @@ -6254,6 +6622,7 @@ self: { description = "Load GPipe meshes from Collada files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GPipe-Examples" = callPackage @@ -6272,19 +6641,21 @@ self: { description = "Examples for the GPipes package"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GPipe-GLFW" = callPackage ({ mkDerivation, async, base, containers, GLFW-b, GPipe, stm }: mkDerivation { pname = "GPipe-GLFW"; - version = "1.4.1.1"; - sha256 = "1sr4dxc9bkfijaxvs7s94x5yfg14pb1r49fycwmzqkcycgz87n8q"; + version = "1.4.1.2"; + sha256 = "0i63pxz6bvzixjgi1hbipxhrg7nykd37zii555qhss2m7x4pydak"; enableSeparateDataOutput = true; libraryHaskellDepends = [ async base containers GLFW-b GPipe stm ]; description = "GLFW OpenGL context creation for GPipe"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GPipe-TextureLoad" = callPackage @@ -6297,6 +6668,7 @@ self: { description = "Load GPipe textures from filesystem"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GTALib" = callPackage @@ -6316,6 +6688,7 @@ self: { description = "A library for GTA programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Gamgine" = callPackage @@ -6340,6 +6713,7 @@ self: { description = "Some kind of game library or set of utilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Ganymede" = callPackage @@ -6358,6 +6732,7 @@ self: { description = "An Io interpreter in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GaussQuadIntegration" = callPackage @@ -6386,6 +6761,7 @@ self: { description = "Several games"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GenI" = callPackage @@ -6420,6 +6796,7 @@ self: { description = "A natural language generator (specifically, an FB-LTAG surface realiser)"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GenSmsPdu" = callPackage @@ -6434,6 +6811,7 @@ self: { description = "Automatic SMS message generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Genbank" = callPackage @@ -6453,6 +6831,7 @@ self: { description = "Libary for processing the NCBI genbank format"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Gene-CluEDO" = callPackage @@ -6479,6 +6858,7 @@ self: { description = "Hox gene clustering"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GeneralTicTacToe" = callPackage @@ -6493,6 +6873,7 @@ self: { description = "A general TicTacToe game implementation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GenericPretty" = callPackage @@ -6532,6 +6913,7 @@ self: { description = "MCFGs for Genus-1 RNA Pseudoknots"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GeoIp" = callPackage @@ -6557,6 +6939,7 @@ self: { description = "Geocoder and Reverse Geocoding Service Wrapper"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Geodetic" = callPackage @@ -6591,6 +6974,7 @@ self: { description = "Geometric predicates (Intel SSE)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Get" = callPackage @@ -6604,6 +6988,7 @@ self: { description = "get stuff out of stuff"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GiST" = callPackage @@ -6616,6 +7001,7 @@ self: { description = "A Haskell implementation of a Generalized Search Tree (GiST)"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Gifcurry" = callPackage @@ -6642,6 +7028,7 @@ self: { description = "GIF creation utility"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GiveYouAHead" = callPackage @@ -6656,28 +7043,6 @@ self: { }) {}; "Glob" = callPackage - ({ mkDerivation, base, containers, directory, dlist, filepath - , HUnit, QuickCheck, test-framework, test-framework-hunit - , test-framework-quickcheck2, transformers, transformers-compat - }: - mkDerivation { - pname = "Glob"; - version = "0.9.3"; - sha256 = "1s69lk3ic6zlkikhvb78ly9wl3g70a1h1m6ndhsca01pp8z8axrs"; - libraryHaskellDepends = [ - base containers directory dlist filepath transformers - transformers-compat - ]; - testHaskellDepends = [ - base containers directory dlist filepath HUnit QuickCheck - test-framework test-framework-hunit test-framework-quickcheck2 - transformers transformers-compat - ]; - description = "Globbing library"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "Glob_0_10_0" = callPackage ({ mkDerivation, base, containers, directory, dlist, filepath , HUnit, QuickCheck, test-framework, test-framework-hunit , test-framework-quickcheck2, transformers, transformers-compat @@ -6686,6 +7051,8 @@ self: { pname = "Glob"; version = "0.10.0"; sha256 = "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"; + revision = "1"; + editedCabalFile = "0zfd4wimwgnmgqkz9g9jqj2dq2r50wdcqmcz6v7is1zrpwhszk5v"; libraryHaskellDepends = [ base containers directory dlist filepath transformers transformers-compat @@ -6697,7 +7064,6 @@ self: { ]; description = "Globbing library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "GlomeTrace" = callPackage @@ -6710,6 +7076,7 @@ self: { description = "Ray Tracing Library"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GlomeVec" = callPackage @@ -6740,6 +7107,7 @@ self: { description = "SDL Frontend for Glome ray tracer"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GoogleChart" = callPackage @@ -6767,6 +7135,7 @@ self: { description = "A monad for flexible parsing of Google Code Jam input files with automatic parallelization"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GoogleDirections" = callPackage @@ -6783,6 +7152,7 @@ self: { description = "Haskell Interface to Google Directions API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GoogleSB" = callPackage @@ -6799,6 +7169,7 @@ self: { description = "Interface to Google Safe Browsing API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GoogleSuggest" = callPackage @@ -6827,6 +7198,7 @@ self: { description = "Interface to Google Translate API"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GotoT-transformers" = callPackage @@ -6839,6 +7211,7 @@ self: { description = "A monad and monadic transformer providing \"goto\" functionality"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Grafos" = callPackage @@ -6851,6 +7224,7 @@ self: { description = "Grafos Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GrammarProducts" = callPackage @@ -6873,6 +7247,7 @@ self: { description = "Grammar products and higher-dimensional grammars"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Graph500" = callPackage @@ -6892,6 +7267,7 @@ self: { description = "Graph500 benchmark-related definitions and data set generator"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GraphHammer" = callPackage @@ -6907,6 +7283,7 @@ self: { description = "GraphHammer Haskell graph analyses framework inspired by STINGER"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GraphHammer-examples" = callPackage @@ -6925,6 +7302,7 @@ self: { description = "Test harness for TriangleCount analysis"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GraphSCC" = callPackage @@ -6969,6 +7347,7 @@ self: { description = "Embedded grammar DSL and LALR parser generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GroteTrap" = callPackage @@ -6987,6 +7366,7 @@ self: { description = "Parser and selection library for expression languages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Grow" = callPackage @@ -7030,6 +7410,7 @@ self: { description = "Notification utility for Growl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Gtk2hsGenerics" = callPackage @@ -7046,6 +7427,7 @@ self: { description = "Convenience functions to extend Gtk2hs"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GtkGLTV" = callPackage @@ -7062,6 +7444,7 @@ self: { description = "OpenGL support for Gtk-based GUIs for Tangible Values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GtkTV" = callPackage @@ -7075,7 +7458,6 @@ self: { ]; description = "Gtk-based GUIs for Tangible Values"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "GuiHaskell" = callPackage @@ -7095,6 +7477,7 @@ self: { description = "A graphical REPL and development environment for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "GuiTV" = callPackage @@ -7107,6 +7490,7 @@ self: { description = "GUIs for Tangible Values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "H" = callPackage @@ -7117,6 +7501,8 @@ self: { pname = "H"; version = "0.9.0.1"; sha256 = "0d3isp467pq5l1c95j0q6s2isywz8xamgrm9rs16i7xczkz4vh2z"; + revision = "1"; + editedCabalFile = "07pddiap3jzcnc09v442wq30j46nmkdibilzcv69hz5imcnmhz0h"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -7125,7 +7511,6 @@ self: { ]; description = "The Haskell/R mixed programming environment"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "HABQT" = callPackage @@ -7151,6 +7536,7 @@ self: { description = "Hierarchical adaptive Bayesian quantum tomography for quantum bits"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HARM" = callPackage @@ -7183,6 +7569,7 @@ self: { description = "HAppS data manipulation libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HAppS-IxSet" = callPackage @@ -7199,6 +7586,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HAppS-Server" = callPackage @@ -7220,6 +7608,7 @@ self: { description = "Web related tools and services"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HAppS-State" = callPackage @@ -7240,6 +7629,7 @@ self: { description = "Event-based distributed state"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HAppS-Util" = callPackage @@ -7257,6 +7647,7 @@ self: { description = "Web framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HAppSHelpers" = callPackage @@ -7305,6 +7696,7 @@ self: { description = "A library for implementing a Deck of Cards"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HCodecs" = callPackage @@ -7357,6 +7749,7 @@ self: { description = "MySQL driver for HDBC"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {mysqlclient = null; inherit (pkgs) openssl; inherit (pkgs) zlib;}; @@ -7366,8 +7759,8 @@ self: { }: mkDerivation { pname = "HDBC-odbc"; - version = "2.5.0.1"; - sha256 = "16fywv2jzh0cxfmcxikydp47wk8czz279y89r8qx4wz8ffahl04n"; + version = "2.6.0.0"; + sha256 = "0nmma7z7r9rgibiwi3m7zkx90val4qqvljidlyiw6ysw20s3gbs3"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -7407,6 +7800,7 @@ self: { description = "Manipulate data in PostgreSQL \"hstore\" columns"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HDBC-session" = callPackage @@ -7448,6 +7842,7 @@ self: { description = "Utilities for reading, manipulating, and writing HDR images"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) pfstools;}; "HERA" = callPackage @@ -7460,8 +7855,27 @@ self: { librarySystemDepends = [ mpfr ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) mpfr;}; + "HExcel" = callPackage + ({ mkDerivation, base, microlens, microlens-th, time, transformers + , xlsxwriter, zlib + }: + mkDerivation { + pname = "HExcel"; + version = "0.1.0.0"; + sha256 = "1g761qaqijwsnwinhbk44m967myz7iz8qfz60vhh9fljv89afifg"; + libraryHaskellDepends = [ + base microlens microlens-th time transformers + ]; + librarySystemDepends = [ xlsxwriter zlib ]; + description = "Create Excel files with Haskell"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {xlsxwriter = null; inherit (pkgs) zlib;}; + "HFitUI" = callPackage ({ mkDerivation, base, blaze-html, blaze-markup, MissingH, mtl , process, random, shakespeare, template-haskell, text, uuid @@ -7482,6 +7896,7 @@ self: { description = "The library for generating a graphical interface on the web"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HFrequencyQueue" = callPackage @@ -7494,6 +7909,7 @@ self: { description = "A Queue with a random (weighted) pick function"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HFuse" = callPackage @@ -7511,7 +7927,7 @@ self: { ''; description = "HFuse is a binding for the Linux FUSE library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) fuse;}; "HGE2D" = callPackage @@ -7529,6 +7945,7 @@ self: { description = "2D game engine written in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HGL" = callPackage @@ -7541,6 +7958,7 @@ self: { description = "A simple graphics library based on X11 or Win32"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HGamer3D" = callPackage @@ -7889,6 +8307,7 @@ self: { description = "Graph database stored on disk"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HHDL" = callPackage @@ -7901,6 +8320,7 @@ self: { description = "Hardware Description Language embedded in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HJScript" = callPackage @@ -7913,6 +8333,7 @@ self: { description = "HJScript is a Haskell EDSL for writing JavaScript programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HJVM" = callPackage @@ -7936,6 +8357,7 @@ self: { description = "A library to create a Java Virtual Machine and manipulate Java objects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) jdk;}; "HJavaScript" = callPackage @@ -7950,6 +8372,7 @@ self: { description = "HJavaScript is an abstract syntax for a typed subset of JavaScript"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HLearn-algebra" = callPackage @@ -7970,6 +8393,7 @@ self: { description = "Algebraic foundation for homomorphic learning"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HLearn-approximation" = callPackage @@ -7989,6 +8413,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HLearn-classification" = callPackage @@ -8012,6 +8437,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HLearn-datastructures" = callPackage @@ -8028,6 +8454,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HLearn-distributions" = callPackage @@ -8052,6 +8479,7 @@ self: { description = "Distributions for use with the HLearn library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HList" = callPackage @@ -8064,6 +8492,8 @@ self: { pname = "HList"; version = "0.5.0.0"; sha256 = "16qf076p66caf3cabajbz0lgqzffqzcg0jr6lb4af18kpnpq4zqb"; + revision = "1"; + editedCabalFile = "0hxc725laxdz2gy18bf0rwzaxsqvl8a54v7r1ghy19q1ipp0nykx"; enableSeparateDataOutput = true; libraryHaskellDepends = [ array base base-orphans ghc-prim mtl profunctors semigroups tagged @@ -8076,6 +8506,7 @@ self: { description = "Heterogeneous lists"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HListPP" = callPackage @@ -8092,6 +8523,7 @@ self: { description = "A preprocessor for HList labelable labels"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HLogger" = callPackage @@ -8107,6 +8539,7 @@ self: { description = "Simple, concurrent and easy-to-use logging library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HMM" = callPackage @@ -8118,6 +8551,7 @@ self: { description = "A hidden markov model library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HMap" = callPackage @@ -8174,6 +8608,7 @@ self: { description = "Happy Network Manager"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HNumeric" = callPackage @@ -8205,6 +8640,7 @@ self: { description = "Binding to libODE"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) ode;}; "HOpenCV" = callPackage @@ -8231,6 +8667,8 @@ self: { pname = "HPDF"; version = "1.4.10"; sha256 = "1m072rc03yx5y4djmvj87kn6n23d9378v3ipl8lj3vzfjgfzsayy"; + revision = "1"; + editedCabalFile = "1djn0a9rk3qrbz31bxj115r65p28fi3wzcrkrnjvzibl3450pq30"; libraryHaskellDepends = [ array base base64-bytestring binary bytestring containers errors mtl random vector zlib @@ -8239,6 +8677,7 @@ self: { description = "Generation of PDF documents"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HPath" = callPackage @@ -8262,6 +8701,7 @@ self: { description = "Extract Haskell declarations by name"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HPhone" = callPackage @@ -8292,6 +8732,7 @@ self: { description = "GPIO, I2C and SPI functions for the Raspberry Pi"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {bcm2835 = null;}; "HPlot" = callPackage @@ -8310,6 +8751,7 @@ self: { description = "A minimal monadic PLplot interface for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {plplotd-gnome2 = null;}; "HPong" = callPackage @@ -8329,6 +8771,7 @@ self: { description = "A simple OpenGL Pong game based on GLFW"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HROOT" = callPackage @@ -8347,6 +8790,7 @@ self: { description = "Haskell binding to the ROOT data analysis framework"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HROOT-core" = callPackage @@ -8361,6 +8805,7 @@ self: { description = "Haskell binding to ROOT Core modules"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HROOT-graf" = callPackage @@ -8377,6 +8822,7 @@ self: { description = "Haskell binding to ROOT Graf modules"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HROOT-hist" = callPackage @@ -8393,6 +8839,7 @@ self: { description = "Haskell binding to ROOT Hist modules"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HROOT-io" = callPackage @@ -8409,6 +8856,7 @@ self: { description = "Haskell binding to ROOT IO modules"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HROOT-math" = callPackage @@ -8425,6 +8873,7 @@ self: { description = "Haskell binding to ROOT Math modules"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HROOT-tree" = callPackage @@ -8441,6 +8890,7 @@ self: { description = "Haskell binding to ROOT Tree modules"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HRay" = callPackage @@ -8456,6 +8906,7 @@ self: { description = "Haskell raytracer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HSFFIG" = callPackage @@ -8477,6 +8928,7 @@ self: { description = "Generate FFI import declarations from C include files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HSGEP" = callPackage @@ -8496,6 +8948,7 @@ self: { description = "Gene Expression Programming evolutionary algorithm in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HSH" = callPackage @@ -8533,6 +8986,7 @@ self: { description = "Convenience functions that use HSH, instances for HSH"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HSet" = callPackage @@ -8574,6 +9028,7 @@ self: { description = "Small template engine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HSoM" = callPackage @@ -8591,6 +9046,7 @@ self: { description = "Library for computer music education"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HSoundFile" = callPackage @@ -8607,6 +9063,7 @@ self: { description = "Audio file reading/writing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HStringTemplate" = callPackage @@ -8642,14 +9099,15 @@ self: { description = "Convenience functions and instances for HStringTemplate"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HSvm" = callPackage ({ mkDerivation, base, containers }: mkDerivation { pname = "HSvm"; - version = "0.1.0.3.22"; - sha256 = "015b1l2grjx79rvn17nmjnzdc5zh30v30f21svr7a9kn7ic8mb4d"; + version = "0.1.1.3.22"; + sha256 = "0vij1xp3gm7s0d5hqlpl6jm949gpimaxz8cr3njaa4kkgpw8yd4g"; libraryHaskellDepends = [ base containers ]; description = "Haskell Bindings for libsvm"; license = stdenv.lib.licenses.bsd3; @@ -8667,6 +9125,8 @@ self: { pname = "HTF"; version = "0.13.2.5"; sha256 = "1kmf95y4vijdiih27xa35acl02dsxqnd9qa56z1waki5qqiz6nin"; + revision = "1"; + editedCabalFile = "0l18mp06jjwpjbnvj548naas1xhnc46c8l0pbgzi3bm6siq5hhv6"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -8675,9 +9135,11 @@ self: { pretty process QuickCheck random regex-compat text time unix vector xmlgen ]; + libraryToolDepends = [ cpphs ]; executableHaskellDepends = [ array base cpphs directory HUnit mtl old-time random text ]; + executableToolDepends = [ cpphs ]; testHaskellDepends = [ aeson aeson-pretty base bytestring directory filepath HUnit mtl process random regex-compat template-haskell temporary text @@ -8688,24 +9150,20 @@ self: { }) {}; "HTTP" = callPackage - ({ mkDerivation, array, base, bytestring, case-insensitive, conduit - , conduit-extra, deepseq, http-types, httpd-shed, HUnit, mtl - , network, network-uri, parsec, pureMD5, split, test-framework - , test-framework-hunit, time, wai, warp + ({ mkDerivation, array, base, bytestring, deepseq, httpd-shed + , HUnit, mtl, network, network-uri, parsec, pureMD5, split + , test-framework, test-framework-hunit, time }: mkDerivation { pname = "HTTP"; - version = "4000.3.12"; - sha256 = "140r6qy1ay25piv0z3hih11zhigyi08nkwc32097j43pjff6mzx3"; - revision = "2"; - editedCabalFile = "1gw6xzp1n4gsqwnbfr29ds8v4wpk78b2bha8i108dqav97viwm8c"; + version = "4000.3.14"; + sha256 = "0yv8mbjicpl7l2017c4dhm49117lblgwpy1llv368wci1vrxf0m6"; libraryHaskellDepends = [ array base bytestring mtl network network-uri parsec time ]; testHaskellDepends = [ - base bytestring case-insensitive conduit conduit-extra deepseq - http-types httpd-shed HUnit mtl network network-uri pureMD5 split - test-framework test-framework-hunit wai warp + base bytestring deepseq httpd-shed HUnit mtl network network-uri + pureMD5 split test-framework test-framework-hunit ]; description = "A library for client-side HTTP"; license = stdenv.lib.licenses.bsd3; @@ -8725,21 +9183,22 @@ self: { "HTab" = callPackage ({ mkDerivation, base, cmdargs, containers, deepseq, hylolib, mtl - , strict + , random, strict }: mkDerivation { pname = "HTab"; - version = "1.6.3"; - sha256 = "0c0igscng6gqhabmvvgappsbzbhkpybcx7vr8yd72pqh988ml4zv"; + version = "1.7.2"; + sha256 = "1xn2ljw97j625l5q7a9chqscdbi4cj29zg1yy4jz4mcivzwbjqii"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; executableHaskellDepends = [ - base cmdargs containers deepseq hylolib mtl strict + base cmdargs containers deepseq hylolib mtl random strict ]; description = "Tableau based theorem prover for hybrid logics"; - license = "GPL"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HTicTacToe" = callPackage @@ -8758,6 +9217,7 @@ self: { description = "An SDL tic-tac-toe game"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HUnit" = callPackage @@ -8782,6 +9242,7 @@ self: { description = "Assertions for HUnit with difference reporting"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HUnit-Plus" = callPackage @@ -8842,6 +9303,7 @@ self: { description = "A (prototyped) easy to use XMPP library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HXQ" = callPackage @@ -8860,6 +9322,7 @@ self: { description = "A Compiler from XQuery to Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaLeX" = callPackage @@ -8886,6 +9349,7 @@ self: { description = "An Haskell library to drive the french Minitel through a serial port"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaPy" = callPackage @@ -8898,6 +9362,7 @@ self: { description = "Haskell bindings for Python"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaRe" = callPackage @@ -8933,20 +9398,21 @@ self: { description = "the Haskell Refactorer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaTeX" = callPackage ({ mkDerivation, base, bytestring, containers, hashable, matrix - , parsec, QuickCheck, tasty, tasty-quickcheck, text, transformers - , wl-pprint-extras + , parsec, prettyprinter, QuickCheck, tasty, tasty-quickcheck, text + , transformers }: mkDerivation { pname = "HaTeX"; - version = "3.20.0.0"; - sha256 = "0rfrmv14kcgsanpsa6wzl445jmirwbd4l3if1kl1j81mqil5z58l"; + version = "3.21.0.0"; + sha256 = "0vavvs83r63sgzz4vyb617xady51ncli4ra9zwjhks8avzw3l1z1"; libraryHaskellDepends = [ - base bytestring containers hashable matrix parsec QuickCheck text - transformers wl-pprint-extras + base bytestring containers hashable matrix parsec prettyprinter + QuickCheck text transformers ]; testHaskellDepends = [ base parsec QuickCheck tasty tasty-quickcheck text @@ -8972,6 +9438,7 @@ self: { description = "This package is deprecated. From version 3, HaTeX does not need this anymore."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaTeX-qq" = callPackage @@ -8988,6 +9455,7 @@ self: { description = "Quasiquoters for HaTeX"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaVSA" = callPackage @@ -9008,6 +9476,7 @@ self: { description = "An implementation of the Version Space Algebra learning framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaXml" = callPackage @@ -9018,6 +9487,8 @@ self: { pname = "HaXml"; version = "1.25.5"; sha256 = "0d8jbiv53r3ndg76r3937idqdg34nhmb99vj087i73hjnv21mifb"; + revision = "1"; + editedCabalFile = "1xnni9hdvi87incm1pcx0b7jv410maww99acdfkx1cwhlb6k91ag"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -9043,6 +9514,7 @@ self: { description = "Simple chat"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HackMail" = callPackage @@ -9064,6 +9536,7 @@ self: { description = "A Procmail Replacement as Haskell EDSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Haggressive" = callPackage @@ -9082,6 +9555,7 @@ self: { description = "Aggression analysis for Tweets on Twitter"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HandlerSocketClient" = callPackage @@ -9128,6 +9602,7 @@ self: { description = "The classic game of Hangman"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HappyTree" = callPackage @@ -9146,6 +9621,7 @@ self: { description = "Type Safe and End to End Decision Tree"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HarmTrace" = callPackage @@ -9170,6 +9646,7 @@ self: { description = "Harmony Analysis and Retrieval of Music"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HarmTrace-Base" = callPackage @@ -9211,8 +9688,8 @@ self: { }: mkDerivation { pname = "HasCacBDD"; - version = "0.1.0.1"; - sha256 = "0mvhhwgz2k46d2adrrs5bhc4x2yx3zr5fwi2nnxzrjhm1ki9b8zb"; + version = "0.1.0.2"; + sha256 = "1yilx2pl0j4bw3c83kzc1y9wmg67r88gpahbwykff1jjr2xnrsp0"; setupHaskellDepends = [ base Cabal directory ]; libraryHaskellDepends = [ base process QuickCheck ]; librarySystemDepends = [ CacBDD ]; @@ -9220,6 +9697,7 @@ self: { description = "Haskell bindings for CacBDD"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {CacBDD = null;}; "HasGP" = callPackage @@ -9237,6 +9715,7 @@ self: { description = "A Haskell library for inference using Gaussian processes"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Haschoo" = callPackage @@ -9256,6 +9735,7 @@ self: { description = "Minimalist R5RS Scheme interpreter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Hashell" = callPackage @@ -9275,6 +9755,7 @@ self: { description = "Simple shell written in Haskell"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaskRel" = callPackage @@ -9292,6 +9773,7 @@ self: { description = "HaskRel, Haskell as a DBMS with support for the relational algebra"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaskellForMaths" = callPackage @@ -9315,6 +9797,7 @@ self: { description = "Pure Haskell implementation of the Levenberg-Marquardt algorithm"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaskellNN" = callPackage @@ -9327,6 +9810,7 @@ self: { description = "High Performance Neural Network in Haskell"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaskellNet" = callPackage @@ -9337,12 +9821,16 @@ self: { pname = "HaskellNet"; version = "0.5.1"; sha256 = "0f581izyh6bdk85i0g07xdp3fdzdfdfjiqpnl89r17vgswdd6i9j"; + revision = "1"; + editedCabalFile = "12p3v58jhr54yzsmqgza3rbrp19w2iq5m43g568hcx20n7zwzwjk"; libraryHaskellDepends = [ array base base64-string bytestring cryptohash mime-mail mtl network old-time pretty text ]; description = "Client support for POP3, SMTP, and IMAP"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaskellNet-SSL" = callPackage @@ -9359,6 +9847,8 @@ self: { ]; description = "Helpers to connect to SSL/TLS mail servers with HaskellNet"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaskellTorrent" = callPackage @@ -9383,6 +9873,7 @@ self: { description = "A concurrent bittorrent client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HaskellTutorials" = callPackage @@ -9397,6 +9888,7 @@ self: { description = "Haskell Tutorials by Evgeny Ukhanov"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Haskelloids" = callPackage @@ -9415,6 +9907,7 @@ self: { description = "A reproduction of the Atari 1979 classic \"Asteroids\""; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Hastodon" = callPackage @@ -9457,6 +9950,7 @@ self: { description = "A small 2D game framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Hawk" = callPackage @@ -9479,6 +9973,7 @@ self: { description = "Haskell Web Application Kit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Hayoo" = callPackage @@ -9506,6 +10001,7 @@ self: { description = "The Hayoo! search engine for Haskell API search on hackage"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Hclip" = callPackage @@ -9539,6 +10035,7 @@ self: { description = "Line oriented editor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HerbiePlugin" = callPackage @@ -9558,6 +10055,7 @@ self: { description = "automatically improve your code's numeric stability"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Hermes" = callPackage @@ -9577,6 +10075,7 @@ self: { description = "Message-based middleware layer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Hieroglyph" = callPackage @@ -9595,6 +10094,7 @@ self: { description = "Purely functional 2D graphics for visualization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HiggsSet" = callPackage @@ -9612,6 +10112,7 @@ self: { description = "A multi-index set with advanced query capabilites"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Hipmunk" = callPackage @@ -9676,6 +10177,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Histogram" = callPackage @@ -9704,6 +10206,7 @@ self: { description = "An MPD client designed for a Home Theatre PC"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Hoed" = callPackage @@ -9729,6 +10232,7 @@ self: { description = "Lightweight algorithmic debugging"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HoleyMonoid" = callPackage @@ -9803,6 +10307,7 @@ self: { description = "A search and indexing engine"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Holumbus-Storage" = callPackage @@ -9854,6 +10359,7 @@ self: { description = "A Simple Key Value Store"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HostAndPort" = callPackage @@ -9881,6 +10387,7 @@ self: { description = "A Cricket scoring application"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Hs2lib" = callPackage @@ -9909,6 +10416,7 @@ self: { description = "A Library and Preprocessor that makes it easier to create shared libs from Haskell programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HsASA" = callPackage @@ -9923,25 +10431,25 @@ self: { }) {}; "HsHTSLib" = callPackage - ({ mkDerivation, base, bytestring, bytestring-lexing, conduit - , containers, inline-c, mtl, tasty, tasty-golden, tasty-hunit - , template-haskell, vector, zlib + ({ mkDerivation, base, bytestring, bytestring-lexing, c2hs, conduit + , containers, tasty, tasty-golden, tasty-hunit, vector, zlib }: mkDerivation { pname = "HsHTSLib"; - version = "1.3.2.4"; - sha256 = "07zgbmk7511n0r7z7zdiryqxrxp000pq5wjdlhnr2ljahz53qnsq"; + version = "1.9.2"; + sha256 = "077j64jpq64bw9bjy0n2qmar6dc768lrn62cpkwl0cl5sygpd005"; libraryHaskellDepends = [ - base bytestring bytestring-lexing conduit containers inline-c mtl - template-haskell + base bytestring bytestring-lexing conduit containers ]; librarySystemDepends = [ zlib ]; + libraryToolDepends = [ c2hs ]; testHaskellDepends = [ - base bytestring conduit mtl tasty tasty-golden tasty-hunit vector + base bytestring conduit tasty tasty-golden tasty-hunit vector ]; - description = "High level bindings to htslib"; + description = "Bindings to htslib"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) zlib;}; "HsHaruPDF" = callPackage @@ -9954,6 +10462,7 @@ self: { description = "Haskell binding to libharu (http://libharu.sourceforge.net/)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HsHyperEstraier" = callPackage @@ -9971,6 +10480,7 @@ self: { description = "HyperEstraier binding for Haskell"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {hyperestraier = null; qdbm = null;}; "HsJudy" = callPackage @@ -9985,6 +10495,7 @@ self: { description = "Judy bindings, and some nice APIs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {Judy = null;}; "HsOpenSSL" = callPackage @@ -9993,8 +10504,8 @@ self: { pname = "HsOpenSSL"; version = "0.11.4.16"; sha256 = "1jbbrhbvl3y1l0g1wv5h7l59bj7w8ajl8bfpxfwjypgmqlrlks19"; - revision = "1"; - editedCabalFile = "0hc113g6jp7ci5gxx2chhp1h64nzx47c4ahwisyqgs3f6prm6dqr"; + revision = "2"; + editedCabalFile = "1cg28q793cg4w8c574yzzfxcn1r8595vs77mlrkw68j8hzgs6lj3"; setupHaskellDepends = [ base Cabal ]; libraryHaskellDepends = [ base bytestring network time ]; librarySystemDepends = [ openssl ]; @@ -10027,6 +10538,7 @@ self: { description = "Haskell integration with Parrot virtual machine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HsPerl5" = callPackage @@ -10039,6 +10551,7 @@ self: { description = "Haskell interface to embedded Perl 5 interpreter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HsSVN" = callPackage @@ -10051,6 +10564,7 @@ self: { description = "Partial Subversion (SVN) binding for Haskell"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HsSyck" = callPackage @@ -10082,8 +10596,8 @@ self: { ({ mkDerivation, base, bytestring, containers, mtl, parsec, text }: mkDerivation { pname = "HsYAML"; - version = "0.1.1.3"; - sha256 = "0awkwmdbdis5cbazrshiskds02kri51i19jbmgmrqbnqqhk3rl2x"; + version = "0.1.2.0"; + sha256 = "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -10100,11 +10614,15 @@ self: { pname = "HsYAML-aeson"; version = "0.1.0.0"; sha256 = "1hf1gwa89ghd4aaim6g8dx9wppp6d1y0w1xiddm1r8lpfidca1nw"; + revision = "1"; + editedCabalFile = "1kf35mnvc2syly35c2ffl8xxcw4h6lxv9kqirzj2in1ms19df41y"; libraryHaskellDepends = [ aeson base bytestring HsYAML mtl text vector ]; description = "JSON to YAML Adapter"; license = stdenv.lib.licenses.gpl2Plus; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Hsed" = callPackage @@ -10129,6 +10647,7 @@ self: { description = "Stream Editor in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Hsmtlib" = callPackage @@ -10147,6 +10666,7 @@ self: { description = "Haskell library for easy interaction with SMT-LIB 2 compliant solvers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HueAPI" = callPackage @@ -10163,6 +10683,7 @@ self: { description = "API for controlling Philips Hue lights"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "HulkImport" = callPackage @@ -10181,6 +10702,7 @@ self: { description = "Easily bulk import CSV data to SQL Server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Hungarian-Munkres" = callPackage @@ -10219,6 +10741,21 @@ self: { description = "The library for generating a WebGL scene for the web"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "I1M" = callPackage + ({ mkDerivation, array, base, QuickCheck, tasty, tasty-hunit + , tasty-quickcheck + }: + mkDerivation { + pname = "I1M"; + version = "0.0.2"; + sha256 = "0f9pl46m05izxhychf7j8pd9rfx8bqw13735xvq602iyszng8pa4"; + libraryHaskellDepends = [ array base QuickCheck ]; + testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ]; + description = "Code for the Haskell course taught at the University of Seville"; + license = stdenv.lib.licenses.gpl2; }) {}; "IDynamic" = callPackage @@ -10231,6 +10768,7 @@ self: { description = "Indexable, serializable form of Data.Dynamic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "IFS" = callPackage @@ -10247,6 +10785,7 @@ self: { description = "Iterated Function System generation for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "INblobs" = callPackage @@ -10267,6 +10806,7 @@ self: { description = "Editor and interpreter for Interaction Nets"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "IOR" = callPackage @@ -10280,6 +10820,7 @@ self: { description = "Region based resource management for the IO monad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "IORefCAS" = callPackage @@ -10299,6 +10840,7 @@ self: { description = "Atomic compare and swap for IORefs and STRefs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "IOSpec" = callPackage @@ -10357,6 +10899,7 @@ self: { description = "A RESTful microService for IPv6-related data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "IcoGrid" = callPackage @@ -10369,6 +10912,7 @@ self: { description = "Library for generating grids of hexagons and pentagons mapped to a sphere"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "IfElse" = callPackage @@ -10403,6 +10947,7 @@ self: { description = "A library for writing Imperative style haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "IndentParser" = callPackage @@ -10426,6 +10971,7 @@ self: { description = "Length- and element-indexed lists sitting somewhere between homogeneous and fully heterogeneous"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "InfixApplicative" = callPackage @@ -10438,6 +10984,7 @@ self: { description = "liftA2 for infix operators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "IntGraph" = callPackage @@ -10484,8 +11031,8 @@ self: { }: mkDerivation { pname = "IntervalMap"; - version = "0.6.1.0"; - sha256 = "0g47mf4m0vwbibk8hi9k78xwbgdaa4zvypgbpzcvj20hw2wpcdhk"; + version = "0.6.1.1"; + sha256 = "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"; libraryHaskellDepends = [ base containers deepseq ]; testHaskellDepends = [ base Cabal containers deepseq QuickCheck ]; benchmarkHaskellDepends = [ @@ -10511,6 +11058,7 @@ self: { description = "DSL for IRC bots"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "IrrHaskell" = callPackage @@ -10543,6 +11091,7 @@ self: { description = "A typeclass to determine if a given value is null"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JSON-Combinator" = callPackage @@ -10561,6 +11110,7 @@ self: { description = "A combinator library on top of a generalised JSON type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JSON-Combinator-Examples" = callPackage @@ -10575,18 +11125,18 @@ self: { description = "Example uses of the JSON-Combinator library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JSONParser" = callPackage ({ mkDerivation, base, parsec }: mkDerivation { pname = "JSONParser"; - version = "0.1.0.3"; - sha256 = "0nznnp9mr36npdzy8avbxbpm07mzm8mz4na1hfyv24g9iqmp31f8"; + version = "0.1.0.4"; + sha256 = "1xda2dy2mizpvxvn3gyhx7aql7pi26zvw044r3bm14xr5qj11q26"; libraryHaskellDepends = [ base parsec ]; description = "Parse JSON"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "JSONb" = callPackage @@ -10608,6 +11158,7 @@ self: { description = "JSON parser that uses byte strings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JYU-Utils" = callPackage @@ -10628,6 +11179,7 @@ self: { description = "Some utility functions for JYU projects"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JackMiniMix" = callPackage @@ -10640,6 +11192,7 @@ self: { description = "control JackMiniMix"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Javasf" = callPackage @@ -10657,6 +11210,7 @@ self: { description = "A utility to print the SourceFile attribute of one or more Java class files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Javav" = callPackage @@ -10671,6 +11225,19 @@ self: { description = "A utility to print the target version of Java class files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "Jazzkell" = callPackage + ({ mkDerivation, base, Euterpea, random }: + mkDerivation { + pname = "Jazzkell"; + version = "0.0.1"; + sha256 = "11sqcvdi1msnxn6fp590sy272lv2dp6qlzfard6sp1xnwqxx85nh"; + libraryHaskellDepends = [ base Euterpea random ]; + description = "Library for modeling jazz improvisation"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "Jdh" = callPackage @@ -10683,6 +11250,7 @@ self: { description = "A Json implementation for Haskell, with JavaScript Values and Encoding/Decoding"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JsContracts" = callPackage @@ -10706,6 +11274,7 @@ self: { description = "Design-by-contract for JavaScript"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JsonGrammar" = callPackage @@ -10728,6 +11297,7 @@ self: { description = "Combinators for bidirectional JSON parsing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JuPyTer-notebook" = callPackage @@ -10745,6 +11315,7 @@ self: { description = "JuPyTer notebook parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JuicyPixels" = callPackage @@ -10753,10 +11324,8 @@ self: { }: mkDerivation { pname = "JuicyPixels"; - version = "3.3.3"; - sha256 = "1i5k81nfgibbmf5f70iicbh8rqbng61r926wcf9hwy2aa2vba11c"; - revision = "1"; - editedCabalFile = "1q8xyxn1a4ldaa1grmr7dywdbf4vqjw65v52h6z7ssz12hgjx0gq"; + version = "3.3.3.1"; + sha256 = "1zwp78zk4ybaqg57njhww67x3bb75h1i3rdliz40q4p4050gn6mf"; libraryHaskellDepends = [ base binary bytestring containers deepseq mtl primitive transformers vector zlib @@ -10786,6 +11355,8 @@ self: { ]; description = "BLP format decoder/encoder over JuicyPixels library"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JuicyPixels-canvas" = callPackage @@ -10798,6 +11369,7 @@ self: { description = "Functions for drawing lines, squares and so on pixel by pixel"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JuicyPixels-extra" = callPackage @@ -10806,8 +11378,8 @@ self: { }: mkDerivation { pname = "JuicyPixels-extra"; - version = "0.4.0"; - sha256 = "19lc2s80ww1pw2dy2vidrl14lhdvs3ji855l893p7p0sa23gkgqc"; + version = "0.4.1"; + sha256 = "0k2bz2xn15qg400xl6xs52j2abcc3js42rd9p9sy4dwlkcdmblbj"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base JuicyPixels ]; testHaskellDepends = [ base hspec JuicyPixels ]; @@ -10890,6 +11462,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JunkDB-driver-gdbm" = callPackage @@ -10905,6 +11478,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JunkDB-driver-hashtables" = callPackage @@ -10920,6 +11494,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "JustParse" = callPackage @@ -10932,6 +11507,7 @@ self: { description = "A simple and comprehensive Haskell parsing library"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "KMP" = callPackage @@ -10956,6 +11532,7 @@ self: { description = "A library with the kerbal space program universe and demo code"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Kalman" = callPackage @@ -10968,6 +11545,7 @@ self: { description = "A slightly extended Kalman filter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "KdTree" = callPackage @@ -10996,6 +11574,7 @@ self: { description = "A super small web framework for those who don't like big and fancy codebases"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "KiCS" = callPackage @@ -11095,6 +11674,7 @@ self: { description = "Category for Continuation Passing Style"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Kulitta" = callPackage @@ -11126,6 +11706,7 @@ self: { description = "Kyoto Cabinet DB bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) kyotocabinet;}; "L-seed" = callPackage @@ -11144,6 +11725,7 @@ self: { description = "Plant growing programming game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "LATS" = callPackage @@ -11161,6 +11743,7 @@ self: { description = "Linear Algebra on Typed Spaces"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) openblasCompat;}; "LC3" = callPackage @@ -11198,8 +11781,8 @@ self: { ({ mkDerivation, base, containers }: mkDerivation { pname = "LParse"; - version = "0.3.0.0"; - sha256 = "0nl76ycq608p2wm61pqn64wmq5aqmnwc9p8k4mvx8zwqw06jqlmm"; + version = "0.3.1.0"; + sha256 = "1fw5s0688d5x2i2qarac2r96pj13b2fhla0212fzwlsgpbmg7g8z"; libraryHaskellDepends = [ base containers ]; testHaskellDepends = [ base ]; description = "A continuation-based parser library"; @@ -11276,47 +11859,39 @@ self: { description = "A type-safe EDSL for TouchDesigner written in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "LambdaHack" = callPackage ({ mkDerivation, assert-failure, async, base, base-compat, binary , bytestring, containers, deepseq, directory, enummapset, filepath - , ghc-prim, hashable, hsini, keys, miniutter, optparse-applicative - , pretty-show, random, sdl2, sdl2-ttf, stm, template-haskell, text - , time, transformers, unordered-containers, vector - , vector-binary-instances, zlib + , ghc-compact, ghc-prim, hashable, hsini, keys, miniutter + , optparse-applicative, pretty-show, primitive, random, sdl2 + , sdl2-ttf, stm, template-haskell, text, time, transformers + , unordered-containers, vector, vector-binary-instances, zlib }: mkDerivation { pname = "LambdaHack"; - version = "0.8.3.0"; - sha256 = "0v07c8v7l8yg111fysl735scsbsl9l6q3vzigy7rv05sjfl276ss"; + version = "0.9.5.0"; + sha256 = "1y5345cmwl40p0risziyqlxfa8jv1rm9x6ivv85xhznrsmr0406h"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ assert-failure async base base-compat binary bytestring containers - deepseq directory enummapset filepath ghc-prim hashable hsini keys - miniutter optparse-applicative pretty-show random sdl2 sdl2-ttf stm - text time transformers unordered-containers vector - vector-binary-instances zlib + deepseq directory enummapset filepath ghc-compact ghc-prim hashable + hsini keys miniutter optparse-applicative pretty-show primitive + random sdl2 sdl2-ttf stm template-haskell text time transformers + unordered-containers vector vector-binary-instances zlib ]; executableHaskellDepends = [ - assert-failure async base base-compat binary bytestring containers - deepseq directory enummapset filepath ghc-prim hashable hsini keys - miniutter optparse-applicative pretty-show random stm - template-haskell text time transformers unordered-containers vector - vector-binary-instances zlib - ]; - testHaskellDepends = [ - assert-failure async base base-compat binary bytestring containers - deepseq directory enummapset filepath ghc-prim hashable hsini keys - miniutter optparse-applicative pretty-show random stm - template-haskell text time transformers unordered-containers vector - vector-binary-instances zlib + async base filepath optparse-applicative ]; + testHaskellDepends = [ async base filepath optparse-applicative ]; description = "A game engine library for tactical squad ASCII roguelike dungeon crawlers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "LambdaINet" = callPackage @@ -11337,6 +11912,7 @@ self: { description = "Graphical Interaction Net Evaluator for Optimal Evaluation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "LambdaNet" = callPackage @@ -11353,6 +11929,7 @@ self: { description = "A configurable and extensible neural network library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "LambdaPrettyQuote" = callPackage @@ -11378,6 +11955,7 @@ self: { description = "Quasiquoter, and Arbitrary helpers for the lambda calculus"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "LambdaShell" = callPackage @@ -11396,6 +11974,7 @@ self: { description = "Simple shell for evaluating lambda expressions"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Lambdajudge" = callPackage @@ -11409,6 +11988,7 @@ self: { description = "A library to easily host Haskell based programming competitions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Lambdaya" = callPackage @@ -11454,6 +12034,7 @@ self: { description = "A library for compiling programs in a variety of languages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Lattices" = callPackage @@ -11504,6 +12085,7 @@ self: { description = "A simple sandboxing tool for Haskell packages"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Learning" = callPackage @@ -11520,6 +12102,7 @@ self: { description = "The most frequently used machine learning tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Level0" = callPackage @@ -11534,6 +12117,7 @@ self: { description = "A Snake II clone written using SDL"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "LibClang" = callPackage @@ -11555,6 +12139,7 @@ self: { description = "Haskell bindings for libclang (a C++ parsing library)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (self.llvmPackages) clang; inherit (pkgs) ncurses;}; "LibZip" = callPackage @@ -11586,6 +12171,7 @@ self: { description = "Wrapper for data that can be unbounded"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "LinearSplit" = callPackage @@ -11601,6 +12187,7 @@ self: { description = "Partition the sequence of items to the subsequences in the order given"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "LinguisticsTypes" = callPackage @@ -11646,6 +12233,7 @@ self: { description = "Check a bunch of local html files for broken links"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "List" = callPackage @@ -11668,10 +12256,8 @@ self: { }: mkDerivation { pname = "ListLike"; - version = "4.6"; - sha256 = "16jsj979mzjrgmpa20pls9ganym3wsps49paks1sb1gmlmwyrkf1"; - revision = "2"; - editedCabalFile = "1mca2r4gjznqdh4kck5cjkn53isgkhvkf3ri09qsn7nsssvgki0g"; + version = "4.6.2"; + sha256 = "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"; libraryHaskellDepends = [ array base bytestring containers deepseq dlist fmlist text utf8-string vector @@ -11680,7 +12266,7 @@ self: { array base bytestring containers dlist fmlist HUnit QuickCheck random text utf8-string vector ]; - description = "Generic support for list-like structures"; + description = "Generalized support for list-like structures"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -11699,6 +12285,7 @@ self: { description = "List transformer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ListTree" = callPackage @@ -11747,6 +12334,7 @@ self: { description = "Logic"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "LogicGrowsOnTrees" = callPackage @@ -11784,6 +12372,7 @@ self: { description = "a parallel implementation of logic programming using distributed tree exploration"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "LogicGrowsOnTrees-MPI" = callPackage @@ -11806,6 +12395,7 @@ self: { description = "an adapter for LogicGrowsOnTrees that uses MPI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) openmpi;}; "LogicGrowsOnTrees-network" = callPackage @@ -11832,6 +12422,7 @@ self: { description = "an adapter for LogicGrowsOnTrees that uses multiple processes running in a network"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "LogicGrowsOnTrees-processes" = callPackage @@ -11859,6 +12450,7 @@ self: { description = "an adapter for LogicGrowsOnTrees that uses multiple processes for parallelism"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "LslPlus" = callPackage @@ -11880,6 +12472,7 @@ self: { description = "An execution and testing framework for the Linden Scripting Language (LSL)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Lucu" = callPackage @@ -11901,6 +12494,7 @@ self: { description = "HTTP Daemonic Library"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Lykah" = callPackage @@ -11930,6 +12524,7 @@ self: { description = "A static website and blog generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MASMGen" = callPackage @@ -11943,6 +12538,7 @@ self: { description = "Generate MASM code from haskell"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MBot" = callPackage @@ -11955,6 +12551,7 @@ self: { description = "Haskell interface for controlling the mBot educational robot"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MC-Fold-DP" = callPackage @@ -11974,6 +12571,7 @@ self: { description = "Folding algorithm based on nucleotide cyclic motifs"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MFlow" = callPackage @@ -12000,6 +12598,7 @@ self: { description = "stateful, RESTful web framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MHask" = callPackage @@ -12012,6 +12611,7 @@ self: { description = "The category of monads"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MSQueue" = callPackage @@ -12024,6 +12624,7 @@ self: { description = "Michael-Scott queue"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MTGBuilder" = callPackage @@ -12038,6 +12639,7 @@ self: { description = "Builds decks out of a meta"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MagicHaskeller" = callPackage @@ -12068,6 +12670,7 @@ self: { description = "Automatic inductive functional programmer by systematic search"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MailchimpSimple" = callPackage @@ -12087,27 +12690,24 @@ self: { description = "Haskell library to interact with Mailchimp JSON API Version 3.0"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Map" = callPackage - ({ mkDerivation, base, containers, either-both, filtrable, map + ({ mkDerivation, base, containers, either-both, filtrable , smallcheck, tasty, tasty-smallcheck, util }: mkDerivation { pname = "Map"; - version = "0.0.0.0"; - sha256 = "1w79zzlzh3ivrqznvcrg5kgaizzs838y7hd52nvxn5v7lax5y3wz"; + version = "0.1.1.0"; + sha256 = "0x5sy115f5yx580g8pl8jkjwzd0ih2n4fbvh5f5ch2i749l4dyq1"; libraryHaskellDepends = [ base containers either-both filtrable util ]; - testHaskellDepends = [ - base map smallcheck tasty tasty-smallcheck - ]; + testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ]; description = "Class of key-value maps"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - broken = true; - }) {map = null;}; + }) {}; "Mapping" = callPackage ({ mkDerivation, base }: @@ -12119,6 +12719,7 @@ self: { description = "Mapping"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MaybeT" = callPackage @@ -12133,6 +12734,7 @@ self: { description = "MaybeT monad transformer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MaybeT-monads-tf" = callPackage @@ -12145,6 +12747,7 @@ self: { description = "MaybeT monad transformer compatible with monads-tf (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MaybeT-transformers" = callPackage @@ -12157,6 +12760,7 @@ self: { description = "MaybeT monad transformer using transformers instead of mtl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MazesOfMonad" = callPackage @@ -12177,6 +12781,7 @@ self: { description = "Console-based Role Playing Game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MeanShift" = callPackage @@ -12189,6 +12794,7 @@ self: { description = "Mean shift algorithm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Measure" = callPackage @@ -12201,6 +12807,7 @@ self: { description = "A library for units of measurement"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Mecha" = callPackage @@ -12213,6 +12820,7 @@ self: { description = "mecha are the most complex composite machines known to humanity, lets build them well!"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Mechs" = callPackage @@ -12225,6 +12833,7 @@ self: { description = "mecha are the most complex composite machines known to humanity, lets build them well!"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MemoTrie" = callPackage @@ -12254,6 +12863,7 @@ self: { description = "Statically checked database access"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MetaObject" = callPackage @@ -12266,6 +12876,7 @@ self: { description = "A meta-object system for Haskell based on Perl 6"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Metrics" = callPackage @@ -12278,6 +12889,7 @@ self: { description = "Evaluation metrics commonly used in supervised machine learning"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Mhailist" = callPackage @@ -12297,6 +12909,7 @@ self: { description = "Haskell mailing list manager"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Michelangelo" = callPackage @@ -12314,6 +12927,7 @@ self: { description = "OpenGL for dummies"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MicrosoftTranslator" = callPackage @@ -12331,6 +12945,7 @@ self: { description = "Interface for Microsoft Translator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MiniAgda" = callPackage @@ -12339,8 +12954,10 @@ self: { }: mkDerivation { pname = "MiniAgda"; - version = "0.2018.11.6"; - sha256 = "0zv8n80qmdykj40nqbrxb29grmy4kzjfhjxbyy3d7ylb64rq514n"; + version = "0.2019.3.29"; + sha256 = "1lix2p2ly6pjag1gkqfjfdm1jnq5rd9hqgr940jbkgyna75hk9a9"; + revision = "1"; + editedCabalFile = "1hiz5g69n1fwknwq7lhq01kzn4cm53zd6l62r747pdc30xm04rqr"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -12353,32 +12970,6 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; - "MissingH_1_4_0_1" = callPackage - ({ mkDerivation, array, base, containers, directory - , errorcall-eq-instance, filepath, hslogger, HUnit, mtl, network - , old-locale, old-time, parsec, process, QuickCheck, random - , regex-compat, testpack, time, unix - }: - mkDerivation { - pname = "MissingH"; - version = "1.4.0.1"; - sha256 = "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"; - revision = "2"; - editedCabalFile = "0dqrzacp2qr5bm9p8jipnadknizn9zr5gyk5fvgf9av36yl4p2rb"; - libraryHaskellDepends = [ - array base containers directory filepath hslogger HUnit mtl network - old-locale old-time parsec process random regex-compat time unix - ]; - testHaskellDepends = [ - array base containers directory errorcall-eq-instance filepath - hslogger HUnit mtl network old-locale old-time parsec process - QuickCheck random regex-compat testpack time unix - ]; - description = "Large utility library"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "MissingH" = callPackage ({ mkDerivation, array, base, containers, directory , errorcall-eq-instance, filepath, hslogger, HUnit, mtl, network @@ -12389,6 +12980,8 @@ self: { pname = "MissingH"; version = "1.4.1.0"; sha256 = "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"; + revision = "2"; + editedCabalFile = "1k7d8cgvpmln4imcrfpj4c02n3c5l1gkd5hs4hnar9ln0qh61cfx"; libraryHaskellDepends = [ array base containers directory filepath hslogger HUnit mtl network old-locale old-time parsec process random regex-compat time unix @@ -12402,6 +12995,29 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "MissingH_1_4_2_1" = callPackage + ({ mkDerivation, array, base, containers, directory + , errorcall-eq-instance, filepath, hslogger, HUnit, mtl, network + , old-locale, old-time, parsec, process, random, regex-compat, time + , unix + }: + mkDerivation { + pname = "MissingH"; + version = "1.4.2.1"; + sha256 = "1m9qdgs2ma1svjcagv7qd31xcvym2mnzx001qwchdh46q9y288k1"; + libraryHaskellDepends = [ + array base containers directory filepath hslogger mtl network + old-locale old-time parsec process random regex-compat time unix + ]; + testHaskellDepends = [ + base containers directory errorcall-eq-instance filepath HUnit + old-time parsec regex-compat time unix + ]; + description = "Large utility library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "MissingK" = callPackage ({ mkDerivation, base, glib, template-haskell }: mkDerivation { @@ -12411,7 +13027,6 @@ self: { libraryHaskellDepends = [ base glib template-haskell ]; description = "Useful types and definitions missing from other libraries"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "MissingM" = callPackage @@ -12441,6 +13056,7 @@ self: { description = "Haskell interface to Python"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Mobile-Legends-Hack-Cheats" = callPackage @@ -12464,6 +13080,7 @@ self: { description = "spam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Modulo" = callPackage @@ -12490,6 +13107,7 @@ self: { description = "A FRP library based on signal functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MoeDict" = callPackage @@ -12506,6 +13124,7 @@ self: { description = "Utilities working with MoeDict.tw JSON dataset"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MonadCatchIO-mtl" = callPackage @@ -12522,6 +13141,7 @@ self: { description = "Monad-transformer version of the Control.Exception module"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MonadCatchIO-mtl-foreign" = callPackage @@ -12534,6 +13154,7 @@ self: { description = "Polymorphic combinators for working with foreign functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MonadCatchIO-transformers" = callPackage @@ -12550,6 +13171,7 @@ self: { description = "Monad-transformer compatible version of the Control.Exception module"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MonadCatchIO-transformers-foreign" = callPackage @@ -12566,6 +13188,7 @@ self: { description = "Polymorphic combinators for working with foreign functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MonadCompose" = callPackage @@ -12578,6 +13201,7 @@ self: { description = "Methods for composing monads"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MonadLab" = callPackage @@ -12595,6 +13219,7 @@ self: { description = "Automatically generate layered monads"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MonadPrompt" = callPackage @@ -12616,6 +13241,8 @@ self: { pname = "MonadRandom"; version = "0.5.1.1"; sha256 = "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"; + revision = "3"; + editedCabalFile = "0fiblwmwk48d1g9j99qrcg1ak904csgfb86y80d1nl2vr782cq6w"; libraryHaskellDepends = [ base mtl primitive random transformers transformers-compat ]; @@ -12644,6 +13271,7 @@ self: { description = "Generalizing lift to monad stacks"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Monadius" = callPackage @@ -12659,6 +13287,22 @@ self: { description = "2-D arcade scroller"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "Monadoro" = callPackage + ({ mkDerivation, ansi-terminal, base, doctest, time }: + mkDerivation { + pname = "Monadoro"; + version = "0.2.1.5"; + sha256 = "1k4f7ks0cbyqz2g6y5kdzrlbx2j3xz7mrvj79k2m3lbhs4hcik6l"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ ansi-terminal base time ]; + executableHaskellDepends = [ ansi-terminal base time ]; + testHaskellDepends = [ ansi-terminal base doctest time ]; + description = "A minimalistic CLI Pomodoro timer"; + license = stdenv.lib.licenses.mit; }) {}; "Monaris" = callPackage @@ -12678,6 +13322,7 @@ self: { description = "A simple tetris clone"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Monatron" = callPackage @@ -12690,6 +13335,7 @@ self: { description = "Monad transformer library with uniform liftings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Monatron-IO" = callPackage @@ -12702,6 +13348,7 @@ self: { description = "MonadIO instances for the Monatron transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Monocle" = callPackage @@ -12714,6 +13361,7 @@ self: { description = "Symbolic computations in strict monoidal categories with LaTeX output"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MorseCode" = callPackage @@ -12746,6 +13394,7 @@ self: { description = "Automated Mutation Testing"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MuCheck-HUnit" = callPackage @@ -12761,6 +13410,7 @@ self: { description = "Automated Mutation Testing for HUnit tests"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MuCheck-Hspec" = callPackage @@ -12776,6 +13426,7 @@ self: { description = "Automated Mutation Testing for Hspec tests"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MuCheck-QuickCheck" = callPackage @@ -12791,6 +13442,7 @@ self: { description = "Automated Mutation Testing for QuickCheck tests"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MuCheck-SmallCheck" = callPackage @@ -12806,6 +13458,7 @@ self: { description = "Automated Mutation Testing for SmallCheck tests"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Munkres" = callPackage @@ -12829,6 +13482,7 @@ self: { description = "Simple and typesafe layer over the Munkres package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MusicBrainz" = callPackage @@ -12896,6 +13550,7 @@ self: { description = "Most likely order of mutation events in RNA"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "MyPrimes" = callPackage @@ -12912,6 +13567,7 @@ self: { description = "Generate all primes"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "NGrams" = callPackage @@ -12926,6 +13582,7 @@ self: { description = "Simple application for calculating n-grams using Google"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "NMap" = callPackage @@ -12938,6 +13595,7 @@ self: { description = "A transparent nested Map structure"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "NTRU" = callPackage @@ -12955,6 +13613,7 @@ self: { description = "NTRU Cryptography"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "NXT" = callPackage @@ -12980,6 +13639,7 @@ self: { description = "A Haskell interface to Lego Mindstorms NXT"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {bluetooth = null;}; "NXTDSL" = callPackage @@ -12999,6 +13659,7 @@ self: { description = "Generate NXC Code from DSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "NameGenerator" = callPackage @@ -13027,20 +13688,37 @@ self: { description = "Very small interpreter for a Prolog-like language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Naperian" = callPackage ({ mkDerivation, base, containers, ghc-prim, vector }: mkDerivation { pname = "Naperian"; - version = "0.1.0.1"; - sha256 = "0h8kijw9y0p7bpy6qr1334xzbkcici3jrnk16w0cm4mxykrqjhwc"; + version = "0.1.1.0"; + sha256 = "1i9hc1pdp9mg9x1xd4wrv06cbhjxw0yhyk2xhsm8jz6rgksa22j7"; libraryHaskellDepends = [ base containers ghc-prim vector ]; description = "Naperian Functors for APL-like programming"; license = "unknown"; hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "NaperianNetCDF" = callPackage + ({ mkDerivation, base, hnetcdf, Naperian, split, vector }: + mkDerivation { + pname = "NaperianNetCDF"; + version = "0.1.0.1"; + sha256 = "0hyx9lg9hs124h9a666ym6cpnd3amdcl3v727shzc5v3hzwbvqgj"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base hnetcdf Naperian vector ]; + executableHaskellDepends = [ base hnetcdf Naperian split ]; + description = "Instances of NcStore for hypercuboids"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "NaturalLanguageAlphabets" = callPackage ({ mkDerivation, aeson, attoparsec, base, binary, cereal , containers, criterion, deepseq, file-embed, hashtables @@ -13096,6 +13774,7 @@ self: { description = "Context Algebra of near"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Neks" = callPackage @@ -13119,6 +13798,7 @@ self: { description = "Simple networked key/value store"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "NestedFunctor" = callPackage @@ -13131,6 +13811,7 @@ self: { description = "Nested composition of functors with a type index tracking nesting"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "NestedSampling" = callPackage @@ -13156,6 +13837,7 @@ self: { description = "Bindings for net-snmp's C API for clients"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) net_snmp;}; "Network-NineP" = callPackage @@ -13221,6 +13903,7 @@ self: { description = "Ninja game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "NoHoed" = callPackage @@ -13252,19 +13935,19 @@ self: { description = "Microbenchmarks for various array libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "NoTrace" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "NoTrace"; - version = "0.3.0.3"; - sha256 = "0cdva0d5xp0fw4jfwmhaz8m4pm1d00wazg32hcqjli4blc9s1hvf"; + version = "0.3.0.4"; + sha256 = "0nb7cqqd7p62gnmcp1hhjv113faihwps6m8xds5ng6zi7jdzz6n1"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base ]; description = "Remove all the functions come from Debug.Trace after debugging"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "Noise" = callPackage @@ -13296,6 +13979,7 @@ self: { description = "A Nomic game in haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Nomyx-Core" = callPackage @@ -13323,6 +14007,7 @@ self: { description = "A Nomic game in haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Nomyx-Language" = callPackage @@ -13343,6 +14028,7 @@ self: { description = "Language to express rules for Nomic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Nomyx-Rules" = callPackage @@ -13361,6 +14047,7 @@ self: { description = "Language to express rules for Nomic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Nomyx-Web" = callPackage @@ -13386,6 +14073,7 @@ self: { description = "Web gui for Nomyx"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "NonEmpty" = callPackage @@ -13398,6 +14086,7 @@ self: { description = "Library providing a non-empty list datatype, and total functions operating on it"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "NonEmptyList" = callPackage @@ -13415,6 +14104,7 @@ self: { description = "A list with a length of at least one"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "NumInstances" = callPackage @@ -13449,6 +14139,7 @@ self: { description = "Number Theoretic Sieves: primes, factorization, and Euler's Totient"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "NumberTheory" = callPackage @@ -13462,6 +14153,7 @@ self: { description = "A library for number theoretic computations, written in Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Numbers" = callPackage @@ -13491,6 +14183,7 @@ self: { description = "Nussinov78 using the ADPfusion library"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Nutri" = callPackage @@ -13503,6 +14196,7 @@ self: { description = "A little library to calculate nutrition values of food items"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OGL" = callPackage @@ -13515,6 +14209,7 @@ self: { description = "A context aware binding for the OpenGL graphics system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ONC-RPC" = callPackage @@ -13555,6 +14250,7 @@ self: { description = "Parse OpenStreetMap files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OTP" = callPackage @@ -13575,6 +14271,7 @@ self: { description = "HMAC-Based and Time-Based One-Time Passwords (HOTP & TOTP)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Object" = callPackage @@ -13587,6 +14284,7 @@ self: { description = "Object oriented programming for haskell using multiparameter typeclasses"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ObjectIO" = callPackage @@ -13603,6 +14301,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {comctl32 = null; comdlg32 = null; gdi32 = null; kernel32 = null; ole32 = null; shell32 = null; user32 = null; winmm = null; winspool = null;}; @@ -13652,6 +14351,7 @@ self: { description = "Simple unbalanced Octree for storing data about 3D points"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OddWord" = callPackage @@ -13666,6 +14366,7 @@ self: { description = "Provides a wrapper for deriving word types with fewer bits"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Omega" = callPackage @@ -13679,6 +14380,7 @@ self: { description = "Integer sets and relations using Presburger arithmetic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OnRmt" = callPackage @@ -13716,6 +14418,7 @@ self: { description = "Text UI library for performing parallel remote SSH operations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OneTuple" = callPackage @@ -13724,8 +14427,8 @@ self: { pname = "OneTuple"; version = "0.2.2"; sha256 = "1p14cvjk3rgfc0xxcn7ffaajd2ii1ljnlayil2yyzgdwhlj70bnq"; - revision = "1"; - editedCabalFile = "07jd23glblzmnlw7sn565sk9gm7vj9h459j46bkbcrrxnp0n0myq"; + revision = "2"; + editedCabalFile = "1ii7hpmxi794xywx89agnvinxgral1rfn5hfnanr4zw26nczhcv3"; libraryHaskellDepends = [ base ]; description = "Singleton Tuple"; license = stdenv.lib.licenses.bsd3; @@ -13759,6 +14462,7 @@ self: { description = "IBM AFP document format parser and generator"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OpenAFP-Utils" = callPackage @@ -13780,6 +14484,7 @@ self: { description = "Assorted utilities to work with AFP data streams"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OpenAL" = callPackage @@ -13788,8 +14493,8 @@ self: { }: mkDerivation { pname = "OpenAL"; - version = "1.7.0.4"; - sha256 = "067in6qb2i0xwy6bnkxfhzbn7gq88cf03p8421al6y23zv2gd29r"; + version = "1.7.0.5"; + sha256 = "167qgbls1439wbckva281cf61bclkca0krbbi4451l7qjinm8fil"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -13813,6 +14518,7 @@ self: { description = "Haskell high-level wrapper for OpenCL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {OpenCL = null;}; "OpenCLRaw" = callPackage @@ -13825,6 +14531,7 @@ self: { description = "The OpenCL Standard for heterogenous data-parallel computing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OpenCLWrappers" = callPackage @@ -13837,6 +14544,7 @@ self: { description = "The OpenCL Standard for heterogenous data-parallel computing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OpenGL" = callPackage @@ -13845,8 +14553,10 @@ self: { }: mkDerivation { pname = "OpenGL"; - version = "3.0.2.2"; - sha256 = "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"; + version = "3.0.3.0"; + sha256 = "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"; + revision = "1"; + editedCabalFile = "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741"; libraryHaskellDepends = [ base bytestring containers GLURaw ObjectName OpenGLRaw StateVar text transformers @@ -13867,6 +14577,7 @@ self: { description = "Quickcheck instances for various data structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OpenGLRaw" = callPackage @@ -13875,8 +14586,8 @@ self: { }: mkDerivation { pname = "OpenGLRaw"; - version = "3.3.2.0"; - sha256 = "1qy41qpqmksvgy7j73b46ksvm00mh6amgy9n9wkal4czkaj26kpj"; + version = "3.3.3.0"; + sha256 = "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"; libraryHaskellDepends = [ base bytestring containers fixed half text transformers ]; @@ -13915,6 +14626,7 @@ self: { description = "ADT wrapper and renderer for OpenSCAD models"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OpenVG" = callPackage @@ -13927,6 +14639,7 @@ self: { description = "OpenVG (ShivaVG-0.2.1) binding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OpenVGRaw" = callPackage @@ -13939,6 +14652,7 @@ self: { description = "Raw binding to OpenVG (ShivaVG-0.2.1 implementation)."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Operads" = callPackage @@ -13951,6 +14665,7 @@ self: { description = "Groebner basis computation for Operads"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OptDir" = callPackage @@ -13979,6 +14694,7 @@ self: { description = "A quasiquoter for or-patterns"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OrchestrateDB" = callPackage @@ -13999,6 +14715,7 @@ self: { description = "Unofficial Haskell Client Library for the Orchestrate.io API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "OrderedBits" = callPackage @@ -14007,15 +14724,15 @@ self: { }: mkDerivation { pname = "OrderedBits"; - version = "0.0.1.2"; - sha256 = "1xax6wldwqlgidpbp35wzskxaqj0k2c5y248qmafl8jqvbg5z18l"; + version = "0.0.2.0"; + sha256 = "1kfb7z5xbzgn1aj8kpij4ry5i4v3v5h55pp3g6qzvgayn25xqc05"; libraryHaskellDepends = [ base bits primitive vector vector-algorithms ]; testHaskellDepends = [ base QuickCheck tasty tasty-quickcheck tasty-th vector ]; - benchmarkHaskellDepends = [ base criterion vector ]; + benchmarkHaskellDepends = [ base criterion ]; description = "Efficient ordered (by popcount) enumeration of bits"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -14045,6 +14762,7 @@ self: { description = "A Programming Language in Construction"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Oslo-Vectize" = callPackage @@ -14061,6 +14779,7 @@ self: { description = "spam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PArrows" = callPackage @@ -14086,6 +14805,7 @@ self: { description = "Make password-based security schemes more secure"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PCLT" = callPackage @@ -14100,6 +14820,7 @@ self: { description = "Extension to Show: templating, catalogizing, languages, parameters, etc"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PCLT-DB" = callPackage @@ -14117,6 +14838,7 @@ self: { description = "An addon to PCLT package: enchance PCLT catalog with PostgreSQL powers"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PDBtools" = callPackage @@ -14142,6 +14864,7 @@ self: { description = "A generic derivable Haskell pretty printer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PSQueue" = callPackage @@ -14153,7 +14876,6 @@ self: { libraryHaskellDepends = [ base ]; description = "Priority Search Queue"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "PTQ" = callPackage @@ -14172,6 +14894,7 @@ self: { description = "An implementation of Montague's PTQ"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PUH-Project" = callPackage @@ -14192,6 +14915,7 @@ self: { description = "This is a package which includes Assignments, Email, User and Reviews modules for Programming in Haskell course"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PageIO" = callPackage @@ -14219,6 +14943,7 @@ self: { description = "Page-oriented extraction and composition library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Paillier" = callPackage @@ -14238,6 +14963,7 @@ self: { description = "a simple Paillier cryptosystem"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PandocAgda" = callPackage @@ -14259,6 +14985,7 @@ self: { description = "Pandoc support for literate Agda"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Paraiso" = callPackage @@ -14284,6 +15011,7 @@ self: { description = "a code generator for partial differential equations solvers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Parallel-Arrows-BaseSpec" = callPackage @@ -14334,6 +15062,7 @@ self: { description = "Eden based backend for @Parallel-Arrows-Definition@"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Parallel-Arrows-Multicore" = callPackage @@ -14390,6 +15119,7 @@ self: { description = "A proven synchronization server for high performance computing"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ParsecTools" = callPackage @@ -14435,6 +15165,7 @@ self: { description = "Simple library for generating passwords"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PastePipe" = callPackage @@ -14466,6 +15197,7 @@ self: { description = "A tree used to merge and maintain paths"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Pathfinder" = callPackage @@ -14479,6 +15211,7 @@ self: { description = "Relational optimiser and code generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libxml2;}; "Peano" = callPackage @@ -14502,6 +15235,7 @@ self: { description = "GADT type witnesses for Peano-style natural numbers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PerfectHash" = callPackage @@ -14519,6 +15253,7 @@ self: { description = "A perfect hashing library for mapping bytestrings to values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {cmph = null;}; "PermuteEffects" = callPackage @@ -14531,6 +15266,7 @@ self: { description = "Permutations of effectful computations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Persistence" = callPackage @@ -14539,14 +15275,18 @@ self: { }: mkDerivation { pname = "Persistence"; - version = "1.1.4.2"; - sha256 = "0lvzzcmsmpmsj63ysf3ad6a2v14cf61daz767fxkcf7b7cl50cjp"; + version = "2.0.3"; + sha256 = "19zzggnzdfdvvp0svixpdrnxpjn5h4wgpi01vkjydczq4630aiaa"; libraryHaskellDepends = [ base containers maximal-cliques parallel vector ]; - description = "Quickly detect clusters and holes in data"; + testHaskellDepends = [ + base containers maximal-cliques parallel vector + ]; + description = "A versatile library for topological data analysis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Phsu" = callPackage @@ -14572,6 +15312,7 @@ self: { description = "Personal Happstack Server Utils"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Pipe" = callPackage @@ -14584,6 +15325,7 @@ self: { description = "Process piping library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Piso" = callPackage @@ -14596,6 +15338,7 @@ self: { description = "Partial isomorphisms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PlayHangmanGame" = callPackage @@ -14630,6 +15373,7 @@ self: { description = "Playing cards api"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Plot-ho-matic" = callPackage @@ -14652,6 +15396,7 @@ self: { description = "Real-time line plotter for generic data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PlslTools" = callPackage @@ -14672,6 +15417,7 @@ self: { description = "So far just a lint like program for PL/SQL. Diff and refactoring tools are planned"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Plural" = callPackage @@ -14697,6 +15443,7 @@ self: { description = "An imaginary world"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PortFusion" = callPackage @@ -14711,6 +15458,7 @@ self: { description = "high-performance distributed reverse / forward proxy & tunneling for TCP"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PortMidi" = callPackage @@ -14725,7 +15473,7 @@ self: { librarySystemDepends = [ alsaLib ]; description = "A binding for PortMedia/PortMidi"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) alsaLib;}; "PostgreSQL" = callPackage @@ -14760,16 +15508,19 @@ self: { }: mkDerivation { pname = "PrimitiveArray"; - version = "0.9.0.0"; - sha256 = "0zhv17cjdppli5q66j1yabbgx3ad172w4jj4zhn0va2wsc9fs5vi"; + version = "0.9.1.1"; + sha256 = "0q6i5754ysay2c4xs7m6hz69l35qd7irzxinmga431nvmbnqa21y"; libraryHaskellDepends = [ - aeson base binary bits cereal cereal-vector deepseq DPutils - hashable lens log-domain mtl OrderedBits primitive QuickCheck - smallcheck text vector vector-binary-instances vector-th-unbox + aeson base binary bits cereal cereal-vector containers deepseq + DPutils hashable lens log-domain mtl OrderedBits primitive + QuickCheck smallcheck tasty tasty-quickcheck tasty-smallcheck + tasty-th text vector vector-binary-instances vector-th-unbox ]; testHaskellDepends = [ - base containers QuickCheck smallcheck tasty tasty-quickcheck - tasty-smallcheck tasty-th + aeson base binary bits cereal cereal-vector containers deepseq + DPutils hashable lens log-domain mtl OrderedBits primitive + QuickCheck smallcheck tasty tasty-quickcheck tasty-smallcheck + tasty-th text vector vector-binary-instances vector-th-unbox ]; description = "Efficient multidimensional arrays"; license = stdenv.lib.licenses.bsd3; @@ -14795,7 +15546,6 @@ self: { ]; description = "Pretty-printing for primitive arrays"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "Printf-TH" = callPackage @@ -14807,6 +15557,7 @@ self: { libraryHaskellDepends = [ base haskell98 pretty template-haskell ]; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PriorityChansConverger" = callPackage @@ -14819,6 +15570,7 @@ self: { description = "Read single output from an array of inputs - channels with priorities"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ProbabilityMonads" = callPackage @@ -14831,6 +15583,7 @@ self: { description = "Probability distribution monads"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "PropLogic" = callPackage @@ -14860,6 +15613,7 @@ self: { description = "An implementation of propositional logic in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ProxN" = callPackage @@ -14896,6 +15650,7 @@ self: { description = "A Perl 6 Implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Pup-Events" = callPackage @@ -14949,6 +15704,7 @@ self: { description = "A networked event handling framework for hooking into other programs"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Pup-Events-PQueue" = callPackage @@ -14978,26 +15734,28 @@ self: { }) {}; "PyF" = callPackage - ({ mkDerivation, base, containers, deepseq, directory, filepath - , hashable, haskell-src-exts, haskell-src-meta, hspec, HUnit - , megaparsec, process, python3, template-haskell, temporary, text + ({ mkDerivation, base, bytestring, containers, deepseq, directory + , filepath, hashable, haskell-src-exts, haskell-src-meta, hspec + , HUnit, megaparsec, process, python3, template-haskell, temporary + , text }: mkDerivation { pname = "PyF"; - version = "0.7.1.0"; - sha256 = "1zgf37q6jcvda28vfmbhlr1jvcgpq2ma4n67i2id02bmc86nk4x1"; + version = "0.8.0.1"; + sha256 = "1bv57hi26nmrhcdr4hki62ycd0k5p0i0jdwcdcxi7vmhjavnyq08"; libraryHaskellDepends = [ base containers haskell-src-exts haskell-src-meta megaparsec template-haskell text ]; testHaskellDepends = [ - base deepseq directory filepath hashable hspec HUnit process - template-haskell temporary text + base bytestring deepseq directory filepath hashable hspec HUnit + process template-haskell temporary text ]; testToolDepends = [ python3 ]; description = "Quasiquotations for a python like interpolated string formater"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) python3;}; "QIO" = callPackage @@ -15010,6 +15768,7 @@ self: { description = "The Quantum IO Monad is a library for defining quantum computations in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "QLearn" = callPackage @@ -15022,6 +15781,7 @@ self: { description = "A library for fast, easy-to-use Q-learning"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "QuadEdge" = callPackage @@ -15034,6 +15794,7 @@ self: { description = "QuadEdge structure for representing triangulations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "QuadTree" = callPackage @@ -15047,6 +15808,7 @@ self: { description = "QuadTree library for Haskell, with lens support"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "QuasiText" = callPackage @@ -15083,6 +15845,7 @@ self: { description = "Programming with Eventual Consistency over Cassandra"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "QuickAnnotate" = callPackage @@ -15098,6 +15861,7 @@ self: { description = "Annotation Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "QuickCheck_1_2_0_1" = callPackage @@ -15115,17 +15879,15 @@ self: { }) {}; "QuickCheck" = callPackage - ({ mkDerivation, base, containers, deepseq, erf, process, random - , template-haskell, tf-random, transformers + ({ mkDerivation, base, containers, deepseq, process, random + , splitmix, template-haskell, transformers }: mkDerivation { pname = "QuickCheck"; - version = "2.12.6.1"; - sha256 = "0w51zbbvh46g3wllqfmx251xzbnddy94ixgm6rf8gd95qvssfahb"; - revision = "1"; - editedCabalFile = "0w5gygp6pmyjzjjx5irfflcbx586zfnqidq669ssqqfsadf944xv"; + version = "2.13.2"; + sha256 = "0426j43af8v3qmdjjqxivazsvr3a2brac8yw09vpgpjkb2m0nmkv"; libraryHaskellDepends = [ - base containers deepseq erf random template-haskell tf-random + base containers deepseq random splitmix template-haskell transformers ]; testHaskellDepends = [ base deepseq process ]; @@ -15148,8 +15910,8 @@ self: { ({ mkDerivation, base, containers, QuickCheck }: mkDerivation { pname = "QuickCheck-safe"; - version = "0.1.0.5"; - sha256 = "0l8wp2np4mlbybzwcz8g4r9d8c65yljnvizs3g1rvig4b65j283l"; + version = "0.1.0.6"; + sha256 = "1f868s6iq66m4m305xrx3mfw46zvzaahkvz6xjlqzk0cragai1kp"; libraryHaskellDepends = [ base containers QuickCheck ]; description = "Safe reimplementation of QuickCheck's core"; license = stdenv.lib.licenses.mit; @@ -15166,6 +15928,7 @@ self: { description = "Generator of \"valid\" and \"invalid\" data in a type class"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "QuickPlot" = callPackage @@ -15190,6 +15953,7 @@ self: { description = "Quick and easy data visualization with Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Quickson" = callPackage @@ -15205,6 +15969,7 @@ self: { description = "Quick JSON extractions with Aeson"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "R-pandoc" = callPackage @@ -15224,6 +15989,7 @@ self: { description = "A pandoc filter to express R plots inside markdown"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RANSAC" = callPackage @@ -15300,6 +16066,7 @@ self: { description = "A reflective JSON serializer/parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RLP" = callPackage @@ -15312,6 +16079,8 @@ self: { testHaskellDepends = [ base binary bytestring hspec ]; description = "RLP serialization as defined in Ethereum Yellow Paper"; license = stdenv.lib.licenses.lgpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RMP" = callPackage @@ -15333,6 +16102,7 @@ self: { description = "Binding to code that controls a Segway RMP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {canlib = null; ftd2xx = null;}; "RNAFold" = callPackage @@ -15356,6 +16126,7 @@ self: { description = "RNA secondary structure prediction"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RNAFoldProgs" = callPackage @@ -15376,6 +16147,7 @@ self: { description = "RNA secondary structure folding"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RNAdesign" = callPackage @@ -15402,6 +16174,7 @@ self: { description = "Multi-target RNA sequence design"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RNAdraw" = callPackage @@ -15422,39 +16195,41 @@ self: { description = "Draw RNA secondary structures"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RNAlien" = callPackage - ({ mkDerivation, aeson, base, biocore, biofasta, BlastHTTP - , blastxml, bytestring, cassava, ClustalParser, cmdargs, containers - , directory, edit-distance, either-unwrap, EntrezHTTP, filepath - , hierarchical-clustering, HTTP, http-conduit, http-types, hxt - , matrix, network, parsec, process, pureMD5, random, split - , Taxonomy, text, text-metrics, time, transformers, vector - , ViennaRNAParser + ({ mkDerivation, aeson, base, BiobaseBlast, BiobaseFasta + , BiobaseHTTP, BiobaseTypes, BlastHTTP, bytestring, cassava + , ClustalParser, cmdargs, containers, directory, edit-distance + , either-unwrap, filepath, hierarchical-clustering, HTTP + , http-conduit, http-types, hxt, matrix, network, parsec, process + , pureMD5, random, split, Taxonomy, text, text-metrics, time + , transformers, vector, ViennaRNAParser }: mkDerivation { pname = "RNAlien"; - version = "1.3.7"; - sha256 = "19a8hb92jvklnfw38xpzdxvh7d9jyrak2nhmxrl9bkgfha4jfm6y"; + version = "1.6.0"; + sha256 = "0pp9rim4k1gbc2dscqygi90c2721xc6q1fl2sqkfpafz30m022pq"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base biocore biofasta BlastHTTP blastxml bytestring cassava - ClustalParser cmdargs containers directory edit-distance - either-unwrap EntrezHTTP filepath hierarchical-clustering HTTP - http-conduit http-types hxt matrix network parsec process pureMD5 - random Taxonomy text text-metrics transformers vector - ViennaRNAParser + aeson base BiobaseBlast BiobaseFasta BiobaseHTTP BiobaseTypes + BlastHTTP bytestring cassava ClustalParser cmdargs containers + directory edit-distance either-unwrap filepath + hierarchical-clustering HTTP http-conduit http-types hxt matrix + network parsec process pureMD5 random Taxonomy text text-metrics + transformers vector ViennaRNAParser ]; executableHaskellDepends = [ - base biocore biofasta bytestring cassava cmdargs containers - directory either-unwrap filepath process random split text time - vector ViennaRNAParser + base BiobaseFasta BiobaseTypes bytestring cassava cmdargs + containers directory either-unwrap filepath process random split + text time vector ViennaRNAParser ]; description = "Unsupervized construction of RNA family models"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RNAwolf" = callPackage @@ -15476,6 +16251,7 @@ self: { description = "RNA folding with non-canonical basepairs and base-triplets"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RSA" = callPackage @@ -15499,16 +16275,37 @@ self: { }) {}; "RSolve" = callPackage - ({ mkDerivation, base, containers }: + ({ mkDerivation, base, containers, lens, mtl }: mkDerivation { pname = "RSolve"; - version = "0.1.0.1"; - sha256 = "1qqcn87hmya2cl8d4b312y4j4s099czsw5qgqcwh1gc261ppkxvm"; - libraryHaskellDepends = [ base containers ]; - description = "A general solver for equations"; + version = "2.0.0.0"; + sha256 = "0rcbdxn9n2fimqxmprcfgq5c48y69wfjy5ny3acr5ln8ppcinmq8"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base containers lens mtl ]; + executableHaskellDepends = [ base containers lens mtl ]; + testHaskellDepends = [ base containers lens mtl ]; license = stdenv.lib.licenses.mit; }) {}; + "RabbitMQ" = callPackage + ({ mkDerivation, array, base, binary, bytestring, clock, containers + , HsOpenSSL, io-streams, monad-control, network, network-uri + , openssl-streams, split, stm, text, vector + }: + mkDerivation { + pname = "RabbitMQ"; + version = "0.1.0.0"; + sha256 = "14rxwsxxqhj91alcnvvp6949ig0ifnls9x2mgnd1jmknqz7pwvrs"; + libraryHaskellDepends = [ + array base binary bytestring clock containers HsOpenSSL io-streams + monad-control network network-uri openssl-streams split stm text + vector + ]; + description = "AMQP 0-9-1 client library for RabbitMQ servers"; + license = "BSD-3-Clause AND GPL-3.0-or-later"; + }) {}; + "Raincat" = callPackage ({ mkDerivation, base, containers, extensible-exceptions, GLUT, mtl , OpenGL, random, sdl2, sdl2-image, sdl2-mixer, time @@ -15526,7 +16323,7 @@ self: { ]; description = "A puzzle game written in Haskell with a cat in lead role"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {}; "Random123" = callPackage @@ -15558,6 +16355,7 @@ self: { description = "Interface to random.org"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Randometer" = callPackage @@ -15583,20 +16381,21 @@ self: { description = "Data structure for managing ranges"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Ranged-sets" = callPackage ({ mkDerivation, base, HUnit, QuickCheck }: mkDerivation { pname = "Ranged-sets"; - version = "0.3.0"; - sha256 = "1am0lsd3yiyn7ayk9k4ff7zdj67m0pxjl10cxi5f9hgjj4y9380l"; - revision = "1"; - editedCabalFile = "0xv8ph5vfwfcvk5hbkcxbsf9vwhpikxzkz7zsr7c5ky2bw707gfv"; + version = "0.4.0"; + sha256 = "1skd2a6yw7dd5vq8x81kwh28gi8sgyzg9qqqyadxmgpvy11sh9ab"; + revision = "2"; + editedCabalFile = "1dl69wa509yn2jvl0d4c5c036swq22i6nd73kqn0bp7vhbj4rfq4"; libraryHaskellDepends = [ base HUnit QuickCheck ]; + testHaskellDepends = [ base HUnit QuickCheck ]; description = "Ranged sets for Haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "Ranka" = callPackage @@ -15614,6 +16413,7 @@ self: { description = "HTTP to XMPP omegle chats gate"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Rasenschach" = callPackage @@ -15635,6 +16435,7 @@ self: { description = "Soccer simulation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Rasterific" = callPackage @@ -15644,8 +16445,8 @@ self: { }: mkDerivation { pname = "Rasterific"; - version = "0.7.4.2"; - sha256 = "1sg63cvcb64gbrxkn5pgs1nvvb1c9qfya7xxwn5daqpjgan426w1"; + version = "0.7.4.4"; + sha256 = "1s8d0yyh2xz8kb9476nr11jzxvgq0y9sgspgzhh9shf44fbz4gs0"; libraryHaskellDepends = [ base bytestring containers dlist FontyFruity free JuicyPixels mtl primitive transformers vector vector-algorithms @@ -15691,6 +16492,7 @@ self: { description = "Library to access Redmine's REST services"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Ref" = callPackage @@ -15703,6 +16505,7 @@ self: { description = "Generic Mutable Ref Abstraction Layer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RefSerialize" = callPackage @@ -15739,6 +16542,7 @@ self: { description = "A utility for computing distributions of material to review among reviewers"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RepLib" = callPackage @@ -15755,6 +16559,7 @@ self: { description = "Generic programming library with representation types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ReplicateEffects" = callPackage @@ -15767,6 +16572,7 @@ self: { description = "Composable replication schemes of applicative functors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ReviewBoard" = callPackage @@ -15786,6 +16592,7 @@ self: { description = "Haskell bindings to ReviewBoard"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RichConditional" = callPackage @@ -15798,6 +16605,7 @@ self: { description = "Tiny library to replace classic if/else"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Rlang-QQ" = callPackage @@ -15822,6 +16630,7 @@ self: { description = "quasiquoter for inline-R code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RollingDirectory" = callPackage @@ -15847,6 +16656,7 @@ self: { description = "Limits the size of a directory's contents"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "RoyalMonad" = callPackage @@ -15880,6 +16690,25 @@ self: { description = "Reactive Extensions for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "S3" = callPackage + ({ mkDerivation, base, base-encoding, bytestring, cryptohash-md5 + , cryptohash-sha1, cryptohash-sha256, deepseq, hashable + , http-io-streams, io-streams, Prelude, text, text-short, time, X + }: + mkDerivation { + pname = "S3"; + version = "0.1.0.0"; + sha256 = "0z59h36qnb1vvshqik3f1ai3a3frnmzzxdcmkbbh3x6flnih7r0a"; + libraryHaskellDepends = [ + base base-encoding bytestring cryptohash-md5 cryptohash-sha1 + cryptohash-sha256 deepseq hashable http-io-streams io-streams + Prelude text text-short time X + ]; + description = "Library for accessing S3 compatible storage services"; + license = stdenv.lib.licenses.gpl3Plus; }) {}; "SBench" = callPackage @@ -15898,6 +16727,7 @@ self: { description = "A benchmark suite for runtime and heap measurements over a series of inputs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SCRIPTWriter" = callPackage @@ -15918,6 +16748,7 @@ self: { description = "ESCRIPT: a human friendly language for programming Bitcoin scripts"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SCalendar" = callPackage @@ -15935,6 +16766,7 @@ self: { description = "This is a library for handling calendars and resource availability based on the \"top-nodes algorithm\" and set operations"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SDL" = callPackage @@ -16051,6 +16883,7 @@ self: { description = "SFML bindings"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {csfml-audio = null; csfml-graphics = null; csfml-network = null; csfml-system = null; csfml-window = null; sfml-audio = null; sfml-graphics = null; sfml-network = null; @@ -16066,6 +16899,7 @@ self: { description = "Higher level library on top of SFML"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SFont" = callPackage @@ -16078,6 +16912,7 @@ self: { description = "SFont SDL Bitmap Fonts"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SG" = callPackage @@ -16090,6 +16925,7 @@ self: { description = "Small geometry library for dealing with vectors and collision detection"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SGdemo" = callPackage @@ -16104,6 +16940,7 @@ self: { description = "An example of using the SG and OpenGL libraries"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SGplus" = callPackage @@ -16116,6 +16953,7 @@ self: { description = "(updated) Small geometry library for dealing with vectors and collision detection"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SHA" = callPackage @@ -16165,6 +17003,7 @@ self: { description = "A simple SMTP client library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SNet" = callPackage @@ -16182,6 +17021,7 @@ self: { description = "Declarative coördination language for streaming networks"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SQLDeps" = callPackage @@ -16213,18 +17053,18 @@ self: { description = "STG Symbolic Execution"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "STL" = callPackage ({ mkDerivation, attoparsec, base, bytestring, cereal, text }: mkDerivation { pname = "STL"; - version = "0.3.0.4"; - sha256 = "0nms0gbyjzgb6ldhqgzfbpn150dv0ig40df1fgkqmhl0mbg4r2r9"; + version = "0.3.0.6"; + sha256 = "18bz9qxsl7lq3j18ilczi175j3djwlpckzj5a65l4dj7d1sw1c35"; libraryHaskellDepends = [ attoparsec base bytestring cereal text ]; description = "STL 3D geometry format parsing and pretty-printing"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "STLinkUSB" = callPackage @@ -16270,15 +17110,17 @@ self: { }) {}; "STMonadTrans" = callPackage - ({ mkDerivation, array, base, Cabal, mtl }: + ({ mkDerivation, array, base, mtl, tasty, tasty-hunit + , tasty-quickcheck, transformers + }: mkDerivation { pname = "STMonadTrans"; - version = "0.4.3"; - sha256 = "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"; - revision = "1"; - editedCabalFile = "09kqrv9a4yhsdpix49h9qjw0j2fhxrgkjnfrnyxg1nspmqrvl50m"; + version = "0.4.4"; + sha256 = "00vih8xi5jf4jc4h6i9jwxb29w40gx8lakcg3fc1900b0r02ms0s"; libraryHaskellDepends = [ array base mtl ]; - testHaskellDepends = [ array base Cabal mtl ]; + testHaskellDepends = [ + base tasty tasty-hunit tasty-quickcheck transformers + ]; description = "A monad transformer version of the ST monad"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -16297,6 +17139,7 @@ self: { description = "translate a SVD of a Microcontroller to Haskell tables"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SVG2Q" = callPackage @@ -16315,6 +17158,7 @@ self: { description = "Code generation tool for Quartz code from a SVG"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SVGFonts" = callPackage @@ -16382,6 +17226,7 @@ self: { description = "Generate a parser (in Haskell) with the SableCC parser generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Safe" = callPackage @@ -16420,6 +17265,7 @@ self: { description = "A .NET Bridge for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) glib; inherit (pkgs) mono;}; "Saturnin" = callPackage @@ -16447,46 +17293,72 @@ self: { "SciBaseTypes" = callPackage ({ mkDerivation, aeson, base, binary, cereal, deepseq, hashable - , lens, log-domain, mtl, QuickCheck, tasty, tasty-quickcheck - , tasty-th, vector, vector-th-unbox + , lens, log-domain, mtl, QuickCheck, semirings, tasty + , tasty-quickcheck, tasty-th, vector, vector-th-unbox }: mkDerivation { pname = "SciBaseTypes"; - version = "0.0.0.1"; - sha256 = "14xzlyca61jhfak1vjll5k2ac2hq55hfvbmqbpk8ls56amlyal5j"; + version = "0.1.0.0"; + sha256 = "1c0cgzxhamgswn1zhrarbx5vrmzl160nk8dadzi6mphwd2rv6lfr"; libraryHaskellDepends = [ aeson base binary cereal deepseq hashable lens log-domain mtl - vector vector-th-unbox + semirings vector vector-th-unbox ]; testHaskellDepends = [ - base QuickCheck tasty tasty-quickcheck tasty-th + aeson base binary cereal deepseq hashable lens log-domain mtl + QuickCheck semirings tasty tasty-quickcheck tasty-th vector + vector-th-unbox + ]; + benchmarkHaskellDepends = [ + aeson base binary cereal deepseq hashable lens log-domain mtl + semirings vector vector-th-unbox ]; - benchmarkHaskellDepends = [ base ]; description = "Base types and classes for statistics, sciences and humanities"; license = stdenv.lib.licenses.bsd3; }) {}; "SciFlow" = callPackage - ({ mkDerivation, aeson, base, bytestring, cereal, cereal-text - , containers, data-default-class, directory, exceptions - , executable-path, fgl, graphviz, lens, lifted-async, mtl, network - , optparse-applicative, rainbow, split, sqlite-simple - , template-haskell, temporary, text, th-lift, th-lift-instances - , time, transformers, yaml + ({ mkDerivation, base, binary, bytestring, constraints + , cryptohash-sha256, distributed-process + , distributed-process-monad-control, exceptions, hashable + , lifted-async, memory, monad-control, mtl, network-transport + , network-transport-tcp, rainbow, sqlite-simple, stm + , template-haskell, text, th-lift-instances, time + , unordered-containers }: mkDerivation { pname = "SciFlow"; - version = "0.6.2"; - sha256 = "1d5qw79809v7q2dvyz7h857lhdbahcj8915pz0bz95nmknbjc50f"; + version = "0.7.0"; + sha256 = "1fm94yr872dg21j6pc0rxs5qvq7i72yn4338bhn73d1sv95c29ir"; libraryHaskellDepends = [ - aeson base bytestring cereal cereal-text containers - data-default-class directory exceptions executable-path fgl - graphviz lens lifted-async mtl network optparse-applicative rainbow - split sqlite-simple template-haskell temporary text th-lift - th-lift-instances time transformers yaml + base binary bytestring constraints cryptohash-sha256 + distributed-process distributed-process-monad-control exceptions + hashable lifted-async memory monad-control mtl network-transport + network-transport-tcp rainbow sqlite-simple stm template-haskell + text th-lift-instances time unordered-containers ]; description = "Scientific workflow management system"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "SciFlow-drmaa" = callPackage + ({ mkDerivation, base, distributed-process, drmaa, hostname + , network-transport-tcp, random, SciFlow, stm, unordered-containers + }: + mkDerivation { + pname = "SciFlow-drmaa"; + version = "0.1.0"; + sha256 = "08lgdm7nlqapz54ixaf7z319laqiknk3vhhhljbch093vb0925bv"; + libraryHaskellDepends = [ + base distributed-process drmaa hostname network-transport-tcp + random SciFlow stm unordered-containers + ]; + description = "Scientific workflow management system"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ScratchFs" = callPackage @@ -16506,6 +17378,7 @@ self: { description = "Size limited temp filesystem based on fuse"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Scurry" = callPackage @@ -16525,6 +17398,7 @@ self: { description = "A cross platform P2P VPN application built using Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SecureHash-SHA3" = callPackage @@ -16576,6 +17450,7 @@ self: { description = "Selects a representative subset of sequences from multiple sequence alignment"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Semantique" = callPackage @@ -16595,6 +17470,7 @@ self: { description = "Command-line tool for maintaining the Semantique database"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Semigroup" = callPackage @@ -16607,6 +17483,7 @@ self: { description = "A semigroup"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SeqAlign" = callPackage @@ -16619,6 +17496,7 @@ self: { description = "Sequence Alignment"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SessionLogger" = callPackage @@ -16635,30 +17513,32 @@ self: { description = "Easy Loggingframework"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ShellCheck" = callPackage - ({ mkDerivation, aeson, base, bytestring, Cabal, containers - , directory, mtl, parsec, process, QuickCheck, regex-tdfa + ({ mkDerivation, aeson, array, base, bytestring, Cabal, containers + , deepseq, Diff, directory, filepath, mtl, parsec, process + , QuickCheck, regex-tdfa }: mkDerivation { pname = "ShellCheck"; - version = "0.6.0"; - sha256 = "1xkxrn1j5qvh2pxm0cnjpqqqsvwr7xy8pk31cwbh8r879nrrzrzn"; + version = "0.7.0"; + sha256 = "1vx895cp5k5h0680xfwj74lk97m9y627n965x6srds0gfnbkzy9s"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal process ]; libraryHaskellDepends = [ - aeson base bytestring containers directory mtl parsec process - QuickCheck regex-tdfa + aeson array base bytestring containers deepseq Diff directory + filepath mtl parsec process QuickCheck regex-tdfa ]; executableHaskellDepends = [ - aeson base bytestring containers directory mtl parsec QuickCheck - regex-tdfa + aeson array base bytestring containers deepseq Diff directory + filepath mtl parsec QuickCheck regex-tdfa ]; testHaskellDepends = [ - aeson base bytestring containers directory mtl parsec QuickCheck - regex-tdfa + aeson array base bytestring containers deepseq Diff directory + filepath mtl parsec QuickCheck regex-tdfa ]; description = "Shell script analysis tool"; license = stdenv.lib.licenses.gpl3; @@ -16676,6 +17556,7 @@ self: { description = "A framework for creating shell envinronments"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Shellac-compatline" = callPackage @@ -16690,6 +17571,7 @@ self: { description = "\"compatline\" backend module for Shellac"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Shellac-editline" = callPackage @@ -16704,6 +17586,7 @@ self: { description = "Editline backend module for Shellac"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Shellac-haskeline" = callPackage @@ -16716,6 +17599,7 @@ self: { description = "Haskeline backend module for Shellac"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Shellac-readline" = callPackage @@ -16730,6 +17614,7 @@ self: { description = "Readline backend module for Shellac"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ShortestPathProblems" = callPackage @@ -16751,6 +17636,7 @@ self: { description = "grammars for TSP and SHP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ShowF" = callPackage @@ -16825,6 +17711,7 @@ self: { description = "A Simple Graphics Library from the SimpleH framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SimpleH" = callPackage @@ -16862,6 +17749,7 @@ self: { description = "Simple, configurable logging"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SimpleServer" = callPackage @@ -16883,6 +17771,7 @@ self: { description = "A simple static file server, for when apache is overkill"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SimpleTableGenerator" = callPackage @@ -16945,6 +17834,7 @@ self: { description = "Generate slides from Haskell code"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Smooth" = callPackage @@ -16961,6 +17851,7 @@ self: { description = "A tiny, lazy SMT solver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SmtLib" = callPackage @@ -16973,6 +17864,7 @@ self: { description = "Library for parsing SMTLIB2"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Snusmumrik" = callPackage @@ -16996,6 +17888,7 @@ self: { description = "E-library directory based on FUSE virtual file system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) zip;}; "SoOSiM" = callPackage @@ -17013,6 +17906,7 @@ self: { description = "Abstract full system simulator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SoccerFun" = callPackage @@ -17033,6 +17927,7 @@ self: { description = "Football simulation framework for teaching functional programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SoccerFunGL" = callPackage @@ -17053,6 +17948,7 @@ self: { description = "OpenGL UI for the SoccerFun framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Sonnex" = callPackage @@ -17066,6 +17962,7 @@ self: { description = "Sonnex is an alternative to Soundex for french language"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SourceGraph" = callPackage @@ -17085,6 +17982,7 @@ self: { description = "Static code analysis using graph-theoretic techniques"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Southpaw" = callPackage @@ -17118,6 +18016,7 @@ self: { description = "Video game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SpacePrivateers" = callPackage @@ -17140,6 +18039,7 @@ self: { description = "Simple space pirate roguelike"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SpinCounter" = callPackage @@ -17152,6 +18052,7 @@ self: { description = "Lock free Spin Counter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Spintax" = callPackage @@ -17178,6 +18079,8 @@ self: { pname = "Spock"; version = "0.13.0.0"; sha256 = "1l0sff6xq99hvcmr2fnsr2x6lbzcpynyjl7n21ycv0l9xgfs6wwa"; + revision = "1"; + editedCabalFile = "1glpfh1w9zahfwi4nc7kbxd429ni9xwvx3cd880mi3zdixlz4ghn"; libraryHaskellDepends = [ base base64-bytestring bytestring containers cryptonite focus hashable http-types hvect list-t monad-control mtl reroute @@ -17191,6 +18094,7 @@ self: { description = "Another Haskell web framework for rapid development"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Spock-api" = callPackage @@ -17218,6 +18122,7 @@ self: { description = "Another Haskell web framework for rapid development"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Spock-api-server" = callPackage @@ -17230,6 +18135,7 @@ self: { description = "Another Haskell web framework for rapid development"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Spock-auth" = callPackage @@ -17242,6 +18148,7 @@ self: { description = "Provides authentification helpers for Spock"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Spock-core" = callPackage @@ -17271,6 +18178,7 @@ self: { description = "Another Haskell web framework for rapid development"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Spock-digestive" = callPackage @@ -17288,6 +18196,7 @@ self: { description = "Digestive functors support for Spock"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Spock-lucid" = callPackage @@ -17300,6 +18209,7 @@ self: { description = "Lucid support for Spock"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Spock-worker" = callPackage @@ -17318,6 +18228,7 @@ self: { description = "Background workers for Spock"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SpreadsheetML" = callPackage @@ -17341,6 +18252,7 @@ self: { description = "Binding to Sprig"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Stack" = callPackage @@ -17369,14 +18281,15 @@ self: { description = "A simple MVCC like library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "StateVar" = callPackage ({ mkDerivation, base, stm, transformers }: mkDerivation { pname = "StateVar"; - version = "1.1.1.1"; - sha256 = "08r2iw0gdmfs4f6wraaq19vfmkjdbics3dbhw39y7mdjd98kcr7b"; + version = "1.2"; + sha256 = "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"; libraryHaskellDepends = [ base stm transformers ]; description = "State variables"; license = stdenv.lib.licenses.bsd3; @@ -17419,7 +18332,6 @@ self: { ]; description = "Libary for Stockholm aligmnent format"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "Stomp" = callPackage @@ -17436,6 +18348,7 @@ self: { description = "Client library for Stomp brokers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Strafunski-ATermLib" = callPackage @@ -17448,6 +18361,7 @@ self: { description = "An abstract data type designed for the exchange of tree-like data structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Strafunski-Sdf2Haskell" = callPackage @@ -17468,6 +18382,7 @@ self: { description = "Converts SDF to Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Strafunski-StrategyLib" = callPackage @@ -17499,6 +18414,7 @@ self: { description = "General purpose templates in haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "StrategyLib" = callPackage @@ -17534,6 +18450,7 @@ self: { description = "Benchmarking code through strict evaluation"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "StrictCheck" = callPackage @@ -17553,6 +18470,7 @@ self: { description = "Keep Your Laziness In Check"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "StringUtils" = callPackage @@ -17591,6 +18509,7 @@ self: { description = "Suffix array construction"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SybWidget" = callPackage @@ -17607,6 +18526,7 @@ self: { description = "Library which aids constructing generic (SYB3-based) widgets"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "SyntaxMacros" = callPackage @@ -17624,6 +18544,7 @@ self: { description = "Syntax Macros in the form of an EDSL"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Sysmon" = callPackage @@ -17645,6 +18566,7 @@ self: { description = "Sybase 15 sysmon reports processor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TBC" = callPackage @@ -17666,6 +18588,7 @@ self: { description = "Testing By Convention"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TBit" = callPackage @@ -17683,6 +18606,7 @@ self: { description = "Utilities for condensed matter physics tight binding calculations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TCache" = callPackage @@ -17732,6 +18656,7 @@ self: { description = "Bindings to the TORCS vehicle simulator"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TTTAS" = callPackage @@ -17770,6 +18695,7 @@ self: { description = "Template Your Boilerplate - a Template Haskell version of SYB"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TableAlgebra" = callPackage @@ -17799,6 +18725,7 @@ self: { description = "A client for Quill databases"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Tablify" = callPackage @@ -17813,6 +18740,7 @@ self: { description = "Tool to render CSV into tables of various formats"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Tahin" = callPackage @@ -17857,6 +18785,7 @@ self: { description = "Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Tape" = callPackage @@ -17869,6 +18798,25 @@ self: { description = "Bidirectionally infinite streams, akin to the tape of a Turing machine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "TaskMonad" = callPackage + ({ mkDerivation, base, containers, mtl, process, random, unix, X11 + , X11-xft, xmonad, xmonad-contrib + }: + mkDerivation { + pname = "TaskMonad"; + version = "1.0.1"; + sha256 = "1kvhb0863kfbi63q0j9jzi3yr97r8zd5vhh5cqgpkra4rjb4qx1r"; + revision = "1"; + editedCabalFile = "1gsnl1sbnjh4j51mfniq6x2k9k6054frzxrdkqycmp0cpwhaijwi"; + libraryHaskellDepends = [ + base containers mtl process random unix X11 X11-xft xmonad + xmonad-contrib + ]; + description = "A collection of tools which can be used to access taskwarrior from xmonad"; + license = stdenv.lib.licenses.bsd3; }) {}; "Taxonomy" = callPackage @@ -17884,6 +18832,8 @@ self: { ]; description = "Libary for parsing, processing and vizualization of taxonomy data"; license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TaxonomyTools" = callPackage @@ -17904,6 +18854,7 @@ self: { description = "Tool for parsing, processing, comparing and visualizing taxonomy data"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TeX-my-math" = callPackage @@ -17913,12 +18864,17 @@ self: { }: mkDerivation { pname = "TeX-my-math"; - version = "0.201.1.1"; - sha256 = "064ram3i1a59ypd8i3wnp7x9vbkc8zawby52676y4pfkqvddnhnm"; + version = "0.201.2.0"; + sha256 = "1dg06lqh2x9smq6hbcn2gyh2qll9z7v4gbd1ipvf2isdwxc201vk"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ base decimal-literals dumb-cas hashable haskell-src-meta HaTeX template-haskell text unordered-containers vector-space void ]; + executableHaskellDepends = [ + base directory filepath HaTeX process text + ]; testHaskellDepends = [ base directory dumb-cas filepath haskell-src-meta HaTeX process template-haskell text @@ -17926,6 +18882,7 @@ self: { description = "Render general Haskell math to LaTeX. Or: math typesetting with high signal-to-noise–ratio."; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TeaHS" = callPackage @@ -17942,6 +18899,7 @@ self: { description = "TeaHS Game Creation Library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Tensor" = callPackage @@ -17986,6 +18944,7 @@ self: { description = "Generates testcases from program-snippets"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Theora" = callPackage @@ -17998,6 +18957,7 @@ self: { librarySystemDepends = [ ogg theora ]; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {ogg = null; theora = null;}; "Thingie" = callPackage @@ -18010,6 +18970,7 @@ self: { description = "Purely functional 2D drawing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ThreadObjects" = callPackage @@ -18068,6 +19029,7 @@ self: { description = "A sub-project (exercise) for a functional programming course"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TigerHash" = callPackage @@ -18103,6 +19065,7 @@ self: { description = "A simple tile-based digital clock screen saver"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TinyLaunchbury" = callPackage @@ -18115,6 +19078,7 @@ self: { description = "Simple implementation of call-by-need using Launchbury's semantics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TinyURL" = callPackage @@ -18127,6 +19091,7 @@ self: { description = "Use TinyURL to compress URLs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Titim" = callPackage @@ -18141,6 +19106,7 @@ self: { description = "Game for Lounge Marmelade"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Top" = callPackage @@ -18156,6 +19122,7 @@ self: { description = "Constraint solving framework employed by the Helium Compiler"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TotalMap" = callPackage @@ -18193,6 +19160,7 @@ self: { description = "Tournament related algorithms"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TraceUtils" = callPackage @@ -18222,6 +19190,7 @@ self: { description = "eDSL in R for Safe Variable Transformarion"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TransformersStepByStep" = callPackage @@ -18236,6 +19205,7 @@ self: { description = "Tutorial on monad transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Transhare" = callPackage @@ -18259,6 +19229,7 @@ self: { description = "Wait-free Tree Counter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TreeStructures" = callPackage @@ -18271,6 +19242,7 @@ self: { description = "A collection of heaps and search trees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TreeT" = callPackage @@ -18294,6 +19266,7 @@ self: { description = "Lock free Treiber stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TrendGraph" = callPackage @@ -18311,6 +19284,7 @@ self: { description = "A simple trend Graph script"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TrieMap" = callPackage @@ -18329,6 +19303,7 @@ self: { description = "Automatic type inference of generalized tries with Template Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Twofish" = callPackage @@ -18368,6 +19343,7 @@ self: { description = "Typing speed game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TypeCompose" = callPackage @@ -18395,6 +19371,7 @@ self: { description = "TypeIlluminator is a prototype tool exploring debugging of type errors/"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TypeNat" = callPackage @@ -18407,6 +19384,7 @@ self: { description = "Some Nat-indexed types for GHC"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "TypingTester" = callPackage @@ -18453,6 +19431,7 @@ self: { description = "A small command-line accounting tool"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "URLT" = callPackage @@ -18471,6 +19450,7 @@ self: { description = "Library for maintaining correctness of URLs within an application"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "URLb" = callPackage @@ -18483,6 +19463,7 @@ self: { description = "DEPRECATED A simple, liberal URL parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "UTFTConverter" = callPackage @@ -18507,6 +19488,7 @@ self: { description = "Processing popular picture formats into .c or .raw format in RGB565"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Unique" = callPackage @@ -18528,6 +19510,7 @@ self: { description = "It provides the functionality like unix \"uniq\" utility"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Unixutils" = callPackage @@ -18567,6 +19550,7 @@ self: { description = "Monadic FRP library based on stm"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "UrlDisp" = callPackage @@ -18579,6 +19563,7 @@ self: { description = "Url dispatcher. Helps to retain friendly URLs in web applications."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Useful" = callPackage @@ -18632,6 +19617,7 @@ self: { description = "Provides access to Vkontakte social network via public API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Validation" = callPackage @@ -18646,6 +19632,7 @@ self: { description = "A data-type like Either but with an accumulating Applicative"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Vec" = callPackage @@ -18669,6 +19656,7 @@ self: { description = "Provides Boolean instances for the Vec package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Vec-OpenGLRaw" = callPackage @@ -18681,6 +19669,7 @@ self: { description = "Instances and functions to interoperate Vec and OpenGL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Vec-Transform" = callPackage @@ -18693,6 +19682,7 @@ self: { description = "This package is obsolete"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "VecN" = callPackage @@ -18719,6 +19709,7 @@ self: { description = "A solver for the WordBrain game"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ViennaRNA-bindings" = callPackage @@ -18763,6 +19754,7 @@ self: { description = "ViennaRNA v2 extensions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ViennaRNAParser" = callPackage @@ -18782,25 +19774,26 @@ self: { }) {}; "Villefort" = callPackage - ({ mkDerivation, base, bytestring, concurrent-extra, convertible - , directory, filepath, HDBC, HDBC-sqlite3, hspec, MissingH, mtl - , process, QuickCheck, random, scotty, split, strict, text, time - , transformers, unbounded-delays, unix, uri-encode, webdriver + ({ mkDerivation, aeson, base, bytestring, concurrent-extra + , convertible, directory, filepath, HDBC, HDBC-sqlite3, hspec + , MissingH, mtl, process, QuickCheck, random, scotty, split, strict + , text, time, transformers, unbounded-delays, unix, uri-encode + , webdriver }: mkDerivation { pname = "Villefort"; - version = "0.1.2.17"; - sha256 = "17ga54kclbcr6vpiy6q5yws9535j9sg6isqggx05kz3hsa7nllbz"; + version = "0.1.2.19"; + sha256 = "1n6371yvlb39dzi4apcb4am2cyqpm26c2d258idyii4v7s5j0rq0"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - base bytestring convertible directory filepath HDBC HDBC-sqlite3 - MissingH mtl process random scotty split strict text time - transformers unix uri-encode + aeson base bytestring convertible directory filepath HDBC + HDBC-sqlite3 MissingH mtl process random scotty split strict text + time transformers unix uri-encode ]; executableHaskellDepends = [ - base HDBC HDBC-sqlite3 mtl random scotty split text time + base HDBC HDBC-sqlite3 random scotty split text time ]; testHaskellDepends = [ base concurrent-extra HDBC HDBC-sqlite3 hspec mtl QuickCheck @@ -18809,6 +19802,7 @@ self: { description = "Villefort is a task manager and time tracker"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Vulkan" = callPackage @@ -18836,6 +19830,8 @@ self: { ]; description = "WAVE audio file IO library"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WL500gPControl" = callPackage @@ -18853,6 +19849,7 @@ self: { description = "A simple command line tools to control the Asus WL500gP router"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WL500gPLib" = callPackage @@ -18868,6 +19865,7 @@ self: { description = "A simple library to access to the WL 500gP router from the Haskell code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WMSigner" = callPackage @@ -18888,6 +19886,7 @@ self: { description = "WebMoney authentication module"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WURFL" = callPackage @@ -18900,6 +19899,7 @@ self: { description = "Convert the WURFL file into a Parsec parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WXDiffCtrl" = callPackage @@ -18913,6 +19913,7 @@ self: { description = "WXDiffCtrl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WashNGo" = callPackage @@ -18932,6 +19933,7 @@ self: { description = "WASH is a family of EDSLs for programming Web applications in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WaveFront" = callPackage @@ -18949,6 +19951,7 @@ self: { description = "Parsers and utilities for the OBJ WaveFront 3D model format"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Weather" = callPackage @@ -18976,6 +19979,7 @@ self: { description = "JavaScript analysis tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WebBits-Html" = callPackage @@ -18992,6 +19996,7 @@ self: { description = "JavaScript analysis tools"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WebBits-multiplate" = callPackage @@ -19009,6 +20014,7 @@ self: { description = "A Multiplate instance for JavaScript"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WebCont" = callPackage @@ -19028,6 +20034,7 @@ self: { description = "Continuation based web programming for Happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WeberLogic" = callPackage @@ -19043,6 +20050,7 @@ self: { description = "Logic interpreter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Webrexp" = callPackage @@ -19070,6 +20078,7 @@ self: { description = "Regexp-like engine to scrap web data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Wheb" = callPackage @@ -19095,6 +20104,7 @@ self: { description = "The frictionless WAI Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WikimediaParser" = callPackage @@ -19107,9 +20117,23 @@ self: { description = "A parser for wikimedia style article markup"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Win32" = callPackage + ({ mkDerivation }: + mkDerivation { + pname = "Win32"; + version = "2.6.1.0"; + sha256 = "1qwwznnnqnr6zqvjzwr35bkvzrvjf7v90j4qkhinzs8p0yx4b97b"; + revision = "1"; + editedCabalFile = "1ia6dk2fvxg3gzqdmcypdka6fcnnrza23hq1rhslj53jy3qzs3kn"; + description = "A binding to part of the Win32 library"; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.none; + }) {}; + + "Win32_2_8_3_0" = callPackage ({ mkDerivation }: mkDerivation { pname = "Win32"; @@ -19129,7 +20153,7 @@ self: { libraryHaskellDepends = [ base Win32 ]; description = "Binding to the Win32 console API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {}; "Win32-dhcp-server" = callPackage @@ -19141,7 +20165,7 @@ self: { libraryHaskellDepends = [ base text Win32 Win32-errors ]; description = "Win32 DHCP Server Management API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {}; "Win32-errors" = callPackage @@ -19150,13 +20174,13 @@ self: { }: mkDerivation { pname = "Win32-errors"; - version = "0.2.2.3"; - sha256 = "1glcaykk6ylmmsqxw4jfhrdnw5dg4syxc4v77q13wxsbzzrz3yn6"; + version = "0.2.2.4"; + sha256 = "1iziwz05s1rvq3xhidkciwyb39fbyn6bqqzn6g2m12pi0xjfzgc2"; libraryHaskellDepends = [ base template-haskell text Win32 ]; testHaskellDepends = [ base hspec QuickCheck Win32 ]; description = "Alternative error handling for Win32 foreign calls"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {}; "Win32-extras" = callPackage @@ -19171,7 +20195,7 @@ self: { librarySystemDepends = [ imm32 msimg32 ]; description = "Provides missing Win32 API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {imm32 = null; msimg32 = null;}; "Win32-junction-point" = callPackage @@ -19183,7 +20207,7 @@ self: { libraryHaskellDepends = [ base text Win32 Win32-errors ]; description = "Support for manipulating NTFS junction points"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {}; "Win32-notify" = callPackage @@ -19197,7 +20221,7 @@ self: { libraryHaskellDepends = [ base containers directory Win32 ]; description = "A binding to part of the Win32 library for file notification"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {}; "Win32-security" = callPackage @@ -19211,20 +20235,20 @@ self: { libraryHaskellDepends = [ base text Win32 Win32-errors ]; description = "Haskell bindings to a security-related functions of the Windows API"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {}; "Win32-services" = callPackage ({ mkDerivation, Advapi32, base, Win32, Win32-errors }: mkDerivation { pname = "Win32-services"; - version = "0.4"; - sha256 = "1zxi8m98n5pgpx7z20f4g40w4njqllw7gfnlfxwgw3iismxiyyp8"; + version = "0.4.0.1"; + sha256 = "1skf8w3d1n61847bjpvll3bql65mrc6vg03q84bg21mlh77mx1s3"; libraryHaskellDepends = [ base Win32 Win32-errors ]; librarySystemDepends = [ Advapi32 ]; description = "Windows service applications"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {Advapi32 = null;}; "Win32-services-wrapper" = callPackage @@ -19240,7 +20264,7 @@ self: { ]; description = "Wrapper code for making a Win32 service"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {}; "Win32-shortcut" = callPackage @@ -19273,6 +20297,7 @@ self: { description = "Wire-aware hardware description"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WordAlignment" = callPackage @@ -19313,6 +20338,7 @@ self: { description = "Bigram word pair alignments"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WordNet" = callPackage @@ -19327,6 +20353,7 @@ self: { description = "Haskell interface to the WordNet database"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WordNet-ghc74" = callPackage @@ -19341,6 +20368,7 @@ self: { description = "Haskell interface to the WordNet database"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Wordlint" = callPackage @@ -19376,6 +20404,7 @@ self: { description = "Workflow patterns over a monad for thread state logging & recovery"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "WxGeneric" = callPackage @@ -19391,6 +20420,20 @@ self: { description = "Generic (SYB3) construction of wxHaskell widgets"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "X" = callPackage + ({ mkDerivation, base, bytestring, deepseq, text, text-short }: + mkDerivation { + pname = "X"; + version = "0.3.0.0"; + sha256 = "0grjiznl8j44mq3m0jkhm9z7wcr4cywrnfmk92nk3g6ddhcyakkc"; + libraryHaskellDepends = [ + base bytestring deepseq text text-short + ]; + description = "A light-weight XML library"; + license = "BSD-3-Clause AND GPL-3.0-or-later"; }) {}; "X11" = callPackage @@ -19424,6 +20467,7 @@ self: { description = "Missing bindings to the X11 graphics library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs.xorg) libX11;}; "X11-rm" = callPackage @@ -19436,6 +20480,7 @@ self: { description = "A binding to the resource management functions missing from X11"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "X11-xdamage" = callPackage @@ -19449,6 +20494,7 @@ self: { description = "A binding to the Xdamage X11 extension library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {Xdamage = null;}; "X11-xfixes" = callPackage @@ -19462,6 +20508,7 @@ self: { description = "A binding to the Xfixes X11 extension library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {Xfixes = null;}; "X11-xft" = callPackage @@ -19508,7 +20555,7 @@ self: { librarySystemDepends = [ xinput ]; description = "Bindings for the DirectX XInput library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {inherit (pkgs.xorg) xinput;}; "XML" = callPackage @@ -19533,12 +20580,11 @@ self: { ({ mkDerivation, base, parsec }: mkDerivation { pname = "XMLParser"; - version = "0.1.0.6"; - sha256 = "0ybdwdxv9pfr20dr40xn6s3mjqqvk1fy4rwl1siams2dlx233k6j"; + version = "0.1.0.8"; + sha256 = "1vdgbmf27ghvyjzkcymsz9fgv9lcss41n5hiyqc58nzg0w18r0ik"; libraryHaskellDepends = [ base parsec ]; description = "A library to parse xml"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "XMMS" = callPackage @@ -19553,6 +20599,7 @@ self: { description = "XMMS2 client library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {xmmsclient = null; xmmsclient-glib = null;}; "XMPP" = callPackage @@ -19570,6 +20617,7 @@ self: { description = "XMPP library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "XSaiga" = callPackage @@ -19593,6 +20641,7 @@ self: { description = "An implementation of a polynomial-time top-down parser suitable for NLP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Xauth" = callPackage @@ -19624,6 +20673,7 @@ self: { description = "Gtk command launcher with identicon"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "XmlHtmlWriter" = callPackage @@ -19636,6 +20686,7 @@ self: { description = "A library for writing XML and HTML"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Xorshift128Plus" = callPackage @@ -19648,6 +20699,7 @@ self: { description = "Pure haskell implementation of xorshift128plus random number generator"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "YACPong" = callPackage @@ -19669,6 +20721,7 @@ self: { description = "Yet Another Pong Clone using SDL"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "YFrob" = callPackage @@ -19681,6 +20734,7 @@ self: { description = "Yampa-based library for programming robots"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Yablog" = callPackage @@ -19716,6 +20770,7 @@ self: { description = "A simple blog engine powered by Yesod"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "YamlReference" = callPackage @@ -19760,6 +20815,7 @@ self: { description = "Elegant Functional Reactive Programming Language for Hybrid Systems"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Yampa-core" = callPackage @@ -19792,6 +20848,7 @@ self: { description = "Software synthesizer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Yocto" = callPackage @@ -19820,6 +20877,7 @@ self: { description = "A MUD client library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Yogurt-Standalone" = callPackage @@ -19840,6 +20898,7 @@ self: { description = "A functional MUD client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) readline;}; "ZEBEDDE" = callPackage @@ -19854,6 +20913,7 @@ self: { description = "Polymer growth simulation method"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ZFS" = callPackage @@ -19870,6 +20930,7 @@ self: { description = "Oleg's Zipper FS"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ZMachine" = callPackage @@ -19885,6 +20946,7 @@ self: { description = "A Z-machine interpreter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ZipFold" = callPackage @@ -19924,6 +20986,8 @@ self: { testHaskellDepends = [ base containers random tasty tasty-hunit ]; description = "Graphing library wrapper + assorted useful functions"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "Zwaluw" = callPackage @@ -19936,6 +21000,7 @@ self: { description = "Combinators for bidirectional URL routing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "a50" = callPackage @@ -19955,6 +21020,7 @@ self: { description = "Compare genome assemblies"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "abacate" = callPackage @@ -20009,6 +21075,7 @@ self: { description = "Bindings for ABC, A System for Sequential Synthesis and Verification"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {abc = null;}; "abcnotation" = callPackage @@ -20023,6 +21090,7 @@ self: { description = "Haskell representation and parser for ABC notation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "abeson" = callPackage @@ -20043,6 +21111,7 @@ self: { description = "interconversion between aeson and bson"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "abnf" = callPackage @@ -20063,6 +21132,7 @@ self: { description = "Parse ABNF and generate parsers for the specified document"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "abstract-deque" = callPackage @@ -20119,6 +21189,7 @@ self: { description = "Provides the class ParAccelerate, nothing more"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "abt" = callPackage @@ -20135,6 +21206,7 @@ self: { description = "Abstract binding trees for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ac-machine" = callPackage @@ -20149,6 +21221,7 @@ self: { description = "Aho-Corasick string matching algorithm in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ac-machine-conduit" = callPackage @@ -20161,6 +21234,7 @@ self: { description = "Drive Aho-Corasick machines in Conduit pipelines"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "accelerate" = callPackage @@ -20187,7 +21261,6 @@ self: { testHaskellDepends = [ base doctest ]; description = "An embedded language for accelerated array processing"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "accelerate-arithmetic" = callPackage @@ -20207,6 +21280,7 @@ self: { description = "Linear algebra and interpolation using the Accelerate framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "accelerate-bignum" = callPackage @@ -20220,6 +21294,8 @@ self: { pname = "accelerate-bignum"; version = "0.2.0.0"; sha256 = "0xhnd39fb17kb7q5z9z8svn8zlv6j1wxrbkv3vij4f1q2hkqkl0p"; + revision = "1"; + editedCabalFile = "0lfsmhky8shyy9xhm0j2as91vrmqqrrn9r0fsv2ljc4xjklg723r"; libraryHaskellDepends = [ accelerate accelerate-llvm accelerate-llvm-native accelerate-llvm-ptx base ghc-prim llvm-hs-pure template-haskell @@ -20246,8 +21322,8 @@ self: { }: mkDerivation { pname = "accelerate-blas"; - version = "0.2.0.0"; - sha256 = "0y77wsdw0i7b5bzlfrrn9q4d8q95r8z71g8qy77n24db1pwmjqy9"; + version = "0.2.0.1"; + sha256 = "00869y2zrh43sl0rap8bbgnzqdvrrxpc2qhzz0zdfasr3440py6k"; libraryHaskellDepends = [ accelerate accelerate-llvm accelerate-llvm-native accelerate-llvm-ptx base blas-hs bytestring containers cublas cuda @@ -20342,18 +21418,18 @@ self: { ({ mkDerivation, accelerate, accelerate-fft, accelerate-io , accelerate-llvm-native, accelerate-llvm-ptx, ansi-wl-pprint, base , binary, bmp, bytestring, bytestring-lexing, cereal - , colour-accelerate, containers, criterion, directory, fclabels - , filepath, gloss, gloss-accelerate, gloss-raster-accelerate - , gloss-rendering, HUnit, lens-accelerate, linear - , linear-accelerate, matrix-market-attoparsec, mwc-random + , colour-accelerate, containers, criterion, criterion-measurement + , directory, fclabels, filepath, gloss, gloss-accelerate + , gloss-raster-accelerate, gloss-rendering, HUnit, lens-accelerate + , linear, linear-accelerate, matrix-market-attoparsec, mwc-random , normaldistribution, QuickCheck, random, repa, repa-io, scientific , test-framework, test-framework-hunit, test-framework-quickcheck2 , vector, vector-algorithms }: mkDerivation { pname = "accelerate-examples"; - version = "1.2.0.0"; - sha256 = "1gb4m1ri461f78x913ipxh14ybwl9wzbv81w8943whiwrmb3p5pc"; + version = "1.2.0.1"; + sha256 = "0hzk6zas03yhh8xjjrh772knhbvisl0r6q10y4mcq552bcfd8yvj"; configureFlags = [ "-f-opencl" ]; isLibrary = true; isExecutable = true; @@ -20366,10 +21442,10 @@ self: { executableHaskellDepends = [ accelerate accelerate-fft accelerate-io base binary bmp bytestring bytestring-lexing cereal colour-accelerate containers criterion - directory fclabels filepath gloss gloss-accelerate - gloss-raster-accelerate gloss-rendering lens-accelerate - linear-accelerate matrix-market-attoparsec mwc-random - normaldistribution random repa repa-io scientific vector + criterion-measurement directory fclabels filepath gloss + gloss-accelerate gloss-raster-accelerate gloss-rendering + lens-accelerate linear-accelerate matrix-market-attoparsec + mwc-random normaldistribution random repa repa-io scientific vector vector-algorithms ]; description = "Examples using the Accelerate library"; @@ -20388,6 +21464,8 @@ self: { pname = "accelerate-fft"; version = "1.2.0.0"; sha256 = "19p9d59vdd3nq97xjprlb6fz2ajlk6gl37cdyvrm9inag4nnk6lp"; + revision = "2"; + editedCabalFile = "096vhbwbkyvjx8znjqnb3lz43kzqq0x7kcfv1gmmbjjrcmwaj2y5"; libraryHaskellDepends = [ accelerate accelerate-llvm accelerate-llvm-native accelerate-llvm-ptx base bytestring carray containers cuda cufft @@ -20416,6 +21494,7 @@ self: { description = "Accelerate frontend to the FFTW library (Fourier transform)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "accelerate-fourier" = callPackage @@ -20442,6 +21521,7 @@ self: { description = "Fast Fourier transform and convolution using the Accelerate framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "accelerate-fourier-benchmark" = callPackage @@ -20481,7 +21561,6 @@ self: { ]; description = "Read and write Accelerate arrays in various formats"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "accelerate-llvm" = callPackage @@ -20493,8 +21572,8 @@ self: { }: mkDerivation { pname = "accelerate-llvm"; - version = "1.2.0.0"; - sha256 = "110zfxqi0lkhg7pk42qvd87qn442r6z264zj7q46jf8ia60l2cdq"; + version = "1.2.0.1"; + sha256 = "1cv5s7fgkdd3m95vy2rrq2kvzyzxx6vwgsc5nqcmfdp00z8znjhk"; libraryHaskellDepends = [ abstract-deque accelerate base bytestring chaselev-deque containers data-default-class deepseq directory dlist exceptions filepath @@ -20503,29 +21582,30 @@ self: { ]; description = "Accelerate backend component generating LLVM IR"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "accelerate-llvm-native" = callPackage ({ mkDerivation, accelerate, accelerate-llvm, base, bytestring , c2hs, Cabal, cereal, containers, directory, dlist, filepath, ghc - , ghc-prim, hashable, libffi, llvm-hs, llvm-hs-pure, mtl - , template-haskell, time, unique, unix, vector + , ghc-prim, hashable, libffi, llvm-hs, llvm-hs-pure, lockfree-queue + , mtl, template-haskell, time, unique, unix, vector }: mkDerivation { pname = "accelerate-llvm-native"; - version = "1.2.0.0"; - sha256 = "089j8ic6ns6656a55byiilrj9jvs535jvx4f2m8x1qhgz9q968vb"; + version = "1.2.0.1"; + sha256 = "0sml5rj3dnxlv14i4xbs1sadnprjga1iws7fl7sxkyjzxqc04vrj"; libraryHaskellDepends = [ accelerate accelerate-llvm base bytestring Cabal cereal containers directory dlist filepath ghc ghc-prim hashable libffi llvm-hs - llvm-hs-pure mtl template-haskell time unique unix vector + llvm-hs-pure lockfree-queue mtl template-haskell time unique unix + vector ]; libraryToolDepends = [ c2hs ]; testHaskellDepends = [ accelerate base ]; description = "Accelerate backend for multicore CPUs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "accelerate-llvm-ptx" = callPackage @@ -20536,10 +21616,8 @@ self: { }: mkDerivation { pname = "accelerate-llvm-ptx"; - version = "1.2.0.0"; - sha256 = "1rh0kq10mwn4zd8f5sp19pah2hmmcansaqqssz79183znzfiviz5"; - revision = "1"; - editedCabalFile = "1fcgs1wcknqnj7wr907ixwlrzwgfnl1bmyr5j4d58bm2xrspid7m"; + version = "1.2.0.1"; + sha256 = "0c9hl19v4si0lnah4l63kqhpxz16zy0wi3cg28gz00mxzgqilivs"; libraryHaskellDepends = [ accelerate accelerate-llvm base bytestring containers cuda deepseq directory dlist file-embed filepath hashable llvm-hs llvm-hs-pure @@ -20561,6 +21639,7 @@ self: { description = "Generate Accelerate arrays filled with high quality pseudorandom numbers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "accelerate-typelits" = callPackage @@ -20584,6 +21663,7 @@ self: { description = "a typesafe way encode accelerate matrices and vectors"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "accelerate-utility" = callPackage @@ -20596,6 +21676,7 @@ self: { description = "Utility functions for the Accelerate framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "accentuateus" = callPackage @@ -20608,6 +21689,7 @@ self: { description = "A Haskell implementation of the Accentuate.us API."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "access-time" = callPackage @@ -20620,6 +21702,7 @@ self: { description = "Cross-platform support for retrieving file access times"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "access-token-provider" = callPackage @@ -20647,6 +21730,7 @@ self: { description = "Provides Access Token for Services"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "accuerr" = callPackage @@ -20729,6 +21813,7 @@ self: { description = "A replication backend for acid-state"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acid-state-tls" = callPackage @@ -20745,6 +21830,7 @@ self: { description = "Add TLS support for Data.Acid.Remote"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acl2" = callPackage @@ -20768,6 +21854,7 @@ self: { description = "A monad which is powerful enough to interpret any action"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-box" = callPackage @@ -20844,6 +21931,7 @@ self: { description = "A more efficient dualization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-cuteboy" = callPackage @@ -20906,6 +21994,7 @@ self: { description = "Stop execution with rage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-functors" = callPackage @@ -20940,6 +22029,7 @@ self: { description = "An embedded DSL for the HQ9+ programming language"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-http" = callPackage @@ -20958,6 +22048,7 @@ self: { description = "fastest Haskell PONG server in the world"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-inator" = callPackage @@ -20973,6 +22064,7 @@ self: { description = "Evil inventions in the Tri-State area"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-io" = callPackage @@ -21008,6 +22100,7 @@ self: { description = "A place for dumping that does-not-feel-right code while you improve it"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-left-pad" = callPackage @@ -21020,6 +22113,7 @@ self: { description = "free your haskell from the tyranny of npm!"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-lolcat" = callPackage @@ -21076,6 +22170,7 @@ self: { description = "Miscellaneous newtypes for orderings of discutable use"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-missiles" = callPackage @@ -21102,6 +22197,7 @@ self: { description = "A mutable package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-now" = callPackage @@ -21114,6 +22210,7 @@ self: { description = "An interface to the philosophical and metaphysical \"now\""; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-numbersystem" = callPackage @@ -21126,6 +22223,7 @@ self: { description = "Define the less than and add and subtract for nats"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-omitted" = callPackage @@ -21161,6 +22259,7 @@ self: { description = "Operators of base, all in one place!"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-php" = callPackage @@ -21173,6 +22272,7 @@ self: { description = "The flexibility of Haskell and the safety of PHP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-pointful-numbers" = callPackage @@ -21225,6 +22325,7 @@ self: { description = "Proper names for curry and uncurry"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-smuggler" = callPackage @@ -21249,6 +22350,7 @@ self: { description = "A binding to the glibc strfry function"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-stringly-typed" = callPackage @@ -21263,6 +22365,7 @@ self: { description = "Stringly Typed Programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-strtok" = callPackage @@ -21276,6 +22379,19 @@ self: { license = stdenv.lib.licenses.publicDomain; }) {}; + "acme-this" = callPackage + ({ mkDerivation, base, template-haskell }: + mkDerivation { + pname = "acme-this"; + version = "0.1.0.0"; + sha256 = "16zmjrf849m066mnj7rlc10jcddy31ck83mg0b7pmn4cvp95q8k5"; + revision = "1"; + editedCabalFile = "1xizmz9yyhxkkaynlk9x0l1nv5maz0shk3d1ipaphc9c6q4b1mjq"; + libraryHaskellDepends = [ base template-haskell ]; + description = "import This"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "acme-timemachine" = callPackage ({ mkDerivation, base, ghc-prim, mtl, transformers }: mkDerivation { @@ -21306,10 +22422,13 @@ self: { pname = "acme-zalgo"; version = "0.1.2.1"; sha256 = "1yd3xrdkxf3hgapi4w5vg79nxmw8y5rnyki5pqi00mca9wjspdhz"; + revision = "1"; + editedCabalFile = "1bwpaqqvp8mwpw7966xjn8zhi0rs9iqpwkhkzjxw8c885h45n1za"; libraryHaskellDepends = [ array base random ]; description = "A somewhat flexible Zalgo̐ te̳͜x̥̖̉̓͞t̍̌̔ ̀̃t̴̢̞̜͓̝r̶̬̆̂̒͟á̧̡͎͔̯̰̕n̹̾̓ͬͦ̍͘ṡ̢͓͉ͮ͆l̠̖̹̗̳̖̽̌ͤ͞a͚̭͙̹̲ͭͩt͈͐o̢̭͇͍̟͐ͬ̾ͪ͜r͇.̸̅ͭ̐̀̊ͨ͛"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "acme-zero" = callPackage @@ -21322,6 +22441,30 @@ self: { description = "The absorbing element of package dependencies"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "acousticbrainz-client" = callPackage + ({ mkDerivation, aeson, base-compat-batteries, base-noprelude + , bytestring, exceptions, filepath, microlens-aeson + , microlens-platform, pretty-simple, relude, scientific + , streaming-bytestring, streaming-utils, tasty, tasty-golden, text + }: + mkDerivation { + pname = "acousticbrainz-client"; + version = "0.1.0.0"; + sha256 = "03bzfxv1d7bgsp6bm15h2a8h573id4nyb7xd4y52gbkzyblbz58c"; + libraryHaskellDepends = [ + aeson base-compat-batteries base-noprelude bytestring exceptions + microlens-aeson microlens-platform relude scientific + streaming-bytestring streaming-utils text + ]; + testHaskellDepends = [ + aeson base-compat-batteries base-noprelude filepath pretty-simple + relude tasty tasty-golden text + ]; + description = "AcousticBrainz API client"; + license = stdenv.lib.licenses.cc0; }) {}; "acquire" = callPackage @@ -21356,8 +22499,8 @@ self: { pname = "active"; version = "0.2.0.13"; sha256 = "1yw029rh0gb63bhwwjynbv173mny14is4cyjkrlvzvxwb0fi96jx"; - revision = "7"; - editedCabalFile = "0z4l6j1q3y5zq4941bsb6ypkhfg3pyvb5gcmasymh2nj9g952xkd"; + revision = "8"; + editedCabalFile = "1j771jblfaygc3qf8iaw9b87yrqxhkq79mdi9zyhvlr2vcac362s"; libraryHaskellDepends = [ base lens linear semigroupoids semigroups vector ]; @@ -21395,6 +22538,7 @@ self: { description = "Haskell code presentation tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "activehs-base" = callPackage @@ -21409,6 +22553,7 @@ self: { description = "Basic definitions for activehs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "activitypub" = callPackage @@ -21421,6 +22566,7 @@ self: { description = "ActivityPub Haskell Library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "activitystreams-aeson" = callPackage @@ -21435,6 +22581,7 @@ self: { description = "An interface to the ActivityStreams specification"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "actor" = callPackage @@ -21448,6 +22595,7 @@ self: { description = "Actors with multi-headed receive clauses"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ad" = callPackage @@ -21457,10 +22605,8 @@ self: { }: mkDerivation { pname = "ad"; - version = "4.3.5"; - sha256 = "0q4dvi02k21jq8xf0ywgmcs5mph4hpx5s3y3pj839y0g3x5paplw"; - revision = "5"; - editedCabalFile = "0yzyfqhsafzaqzj8wmjrj5ghm6jwbxya3wxc9sjl59j9q20jc4nq"; + version = "4.3.6"; + sha256 = "0fgpv3lm20k1vwlychs7a76hn96cvpbczkdcbg9mr9f1nivg7035"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ array base comonad containers data-reify erf free nats reflection @@ -21482,6 +22628,7 @@ self: { description = "Self optimizing container types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "adaptive-tuple" = callPackage @@ -21494,6 +22641,7 @@ self: { description = "Self-optimizing tuple types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "adb" = callPackage @@ -21509,6 +22657,7 @@ self: { description = "Android Debug Bridge (ADB) protocol"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "adblock2privoxy" = callPackage @@ -21518,8 +22667,8 @@ self: { }: mkDerivation { pname = "adblock2privoxy"; - version = "2.0.0"; - sha256 = "0wd6zavym2afw7ba2h6i5snwp5gyq64q81gwwlw7y0kslv3xkaw9"; + version = "2.0.1"; + sha256 = "048l78mf3ccb7l0p1zg1wsvqmvpsaqwgik29xm333y7fjlcm0kq6"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -21561,6 +22710,7 @@ self: { description = "Ad-hoc P2P network protocol"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "adict" = callPackage @@ -21583,6 +22733,7 @@ self: { description = "Approximate dictionary searching"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "adjunctions" = callPackage @@ -21640,6 +22791,7 @@ self: { description = "parse Adobe Swatch Exchange files and (optionally) output .css files with the colors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "adp-multi" = callPackage @@ -21661,6 +22813,7 @@ self: { description = "ADP for multiple context-free languages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "adp-multi-monadiccp" = callPackage @@ -21681,6 +22834,20 @@ self: { description = "Subword construction in adp-multi using monadiccp"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "adtrees" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "adtrees"; + version = "0.1.0.0"; + sha256 = "0cp14n2l3scbsp7f6s4r19ngn2ympns03pm6s07hdkpavvgli1zg"; + libraryHaskellDepends = [ base ]; + description = "Modelling, rendering and quantitative analysis on attack defense trees"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "advent-of-code-api" = callPackage @@ -21708,8 +22875,8 @@ self: { }: mkDerivation { pname = "aern2-mp"; - version = "0.1.3.1"; - sha256 = "1gyicxsdqzdbhs9bss5cfjqx859iksr7z1ilsfm9077jdf2032vm"; + version = "0.1.4"; + sha256 = "1q4ygvpxndvj0lsxb7aqw754nkxj1r2037f263g79vpjczkzzfwf"; libraryHaskellDepends = [ base convertible hspec integer-logarithms lens mixed-types-num QuickCheck regex-tdfa rounded template-haskell @@ -21718,6 +22885,7 @@ self: { description = "Multi-precision ball (interval) arithmetic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aern2-real" = callPackage @@ -21727,8 +22895,8 @@ self: { }: mkDerivation { pname = "aern2-real"; - version = "0.1.1.0"; - sha256 = "1sq2s20vwhm0avdzqg2vb5ck6rj7aw16kcfkdyhda0dl6s2l5q15"; + version = "0.1.2"; + sha256 = "1br2glj89xcm3iyb32yi1xwgzkva9mmvl9gih38kgg4ldidflvn8"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -21742,6 +22910,7 @@ self: { description = "Exact real numbers via Cauchy sequences and MPFR"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson_0_7_0_6" = callPackage @@ -21774,32 +22943,31 @@ self: { "aeson" = callPackage ({ mkDerivation, attoparsec, base, base-compat, base-orphans - , base16-bytestring, bytestring, containers, deepseq, directory - , dlist, filepath, generic-deriving, ghc-prim, hashable + , base16-bytestring, bytestring, containers, deepseq, Diff + , directory, dlist, filepath, generic-deriving, ghc-prim, hashable , hashable-time, integer-logarithms, primitive, QuickCheck - , quickcheck-instances, scientific, tagged, tasty, tasty-hunit - , tasty-quickcheck, template-haskell, text, th-abstraction, time - , time-locale-compat, unordered-containers, uuid-types, vector + , quickcheck-instances, scientific, tagged, tasty, tasty-golden + , tasty-hunit, tasty-quickcheck, template-haskell, text + , th-abstraction, time, time-compat, unordered-containers + , uuid-types, vector }: mkDerivation { pname = "aeson"; - version = "1.4.2.0"; - sha256 = "1l4b675nxddim3v30kd7zr3vmrs7i1m81rh8h9bfbm9k9a0p3kkm"; - revision = "1"; - editedCabalFile = "067y82gq86740j2zj4y6v7z9b5860ncg2g9lfnrpsnb9jqm7arl1"; + version = "1.4.4.0"; + sha256 = "0bjdgr6wjq6cci5hxb63i18yrg66p892n6xj23rih7k5rbd7rihp"; libraryHaskellDepends = [ attoparsec base base-compat bytestring containers deepseq dlist ghc-prim hashable primitive scientific tagged template-haskell text - th-abstraction time time-locale-compat unordered-containers - uuid-types vector + th-abstraction time time-compat unordered-containers uuid-types + vector ]; testHaskellDepends = [ attoparsec base base-compat base-orphans base16-bytestring - bytestring containers directory dlist filepath generic-deriving - ghc-prim hashable hashable-time integer-logarithms QuickCheck - quickcheck-instances scientific tagged tasty tasty-hunit - tasty-quickcheck template-haskell text time time-locale-compat - unordered-containers uuid-types vector + bytestring containers Diff directory dlist filepath + generic-deriving ghc-prim hashable hashable-time integer-logarithms + QuickCheck quickcheck-instances scientific tagged tasty + tasty-golden tasty-hunit tasty-quickcheck template-haskell text + time time-compat unordered-containers uuid-types vector ]; description = "Fast JSON parsing and encoding"; license = stdenv.lib.licenses.bsd3; @@ -21815,6 +22983,7 @@ self: { description = "make To/From JSOn instances from an applicative description"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson-attoparsec" = callPackage @@ -21869,8 +23038,8 @@ self: { }: mkDerivation { pname = "aeson-casing"; - version = "0.1.0.5"; - sha256 = "0xq587sqn68gnx1np035wl5j1341v19h26d7b1c06bw2qqymdv6g"; + version = "0.2.0.0"; + sha256 = "0cwjy46ac7vzdvkw6cm5xcbcljf2a4lcvc2xbsh8iwd3fdb0f8rp"; libraryHaskellDepends = [ aeson base ]; testHaskellDepends = [ aeson base tasty tasty-hunit tasty-quickcheck tasty-th @@ -21901,6 +23070,8 @@ self: { pname = "aeson-compat"; version = "0.3.9"; sha256 = "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"; + revision = "1"; + editedCabalFile = "0m154kalrzqbnp41306i6md3ncvw02myb730bz8bv6ah59jq1qy6"; libraryHaskellDepends = [ aeson attoparsec attoparsec-iso8601 base base-compat bytestring containers exceptions hashable scientific tagged text time @@ -21933,6 +23104,7 @@ self: { description = "Easy functions for converting from Aeson.Value"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson-diff" = callPackage @@ -21943,10 +23115,8 @@ self: { }: mkDerivation { pname = "aeson-diff"; - version = "1.1.0.5"; - sha256 = "1kzvqzbl6pp5g49dp4qqc7cbisnkpqz0i18b6nmdb7f1nrhdvnb1"; - revision = "1"; - editedCabalFile = "0a29nph4a1ny365nhsxlm73mk6zgaam4sfx6knzqjy8dxp1gkj48"; + version = "1.1.0.7"; + sha256 = "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -21982,36 +23152,35 @@ self: { description = "Apply a json-patch to any haskell datatype"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson-extra" = callPackage - ({ mkDerivation, aeson, aeson-compat, attoparsec + ({ mkDerivation, aeson, aeson-compat, align, attoparsec , attoparsec-iso8601, base, base-compat-batteries, bytestring , containers, deepseq, exceptions, hashable, parsec - , quickcheck-instances, recursion-schemes, scientific, tasty - , tasty-hunit, tasty-quickcheck, template-haskell, text, these - , time, time-parsers, unordered-containers, vector + , quickcheck-instances, recursion-schemes, scientific, semialign + , tasty, tasty-hunit, tasty-quickcheck, template-haskell, text + , these, time, time-parsers, unordered-containers, vector }: mkDerivation { pname = "aeson-extra"; - version = "0.4.1.1"; - sha256 = "1y7xss382hdxrv4jzprsm3b7ij7wiw8jgjg9wp49dx6bfvcnb2nl"; - revision = "3"; - editedCabalFile = "0b9ccv529msmqay0gw2xcxm67n08hmv6s45ivyd8vq0rig4wz407"; + version = "0.4.1.2"; + sha256 = "1i6bm91d332117fx829imaxz6y59a0vqa7fjsr293sp8xyhlkkax"; + revision = "1"; + editedCabalFile = "0zvqb36r3dsh1dsrw3cbzqiia416qjby0gpskx5xz6nnab0l8mg4"; libraryHaskellDepends = [ aeson aeson-compat attoparsec attoparsec-iso8601 base base-compat-batteries bytestring containers deepseq exceptions - hashable parsec recursion-schemes scientific template-haskell text - these time unordered-containers vector + hashable parsec recursion-schemes scientific semialign + template-haskell text these time unordered-containers vector ]; testHaskellDepends = [ - base containers quickcheck-instances tasty tasty-hunit - tasty-quickcheck these time time-parsers unordered-containers - vector + align base containers quickcheck-instances tasty tasty-hunit + tasty-quickcheck time time-parsers unordered-containers vector ]; description = "Extra goodies for aeson"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "aeson-filthy" = callPackage @@ -22080,23 +23249,29 @@ self: { description = "Create Flow type definitions from Haskell data types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson-gadt-th" = callPackage - ({ mkDerivation, aeson, base, dependent-sum, markdown-unlit + ({ mkDerivation, aeson, aeson-qq, base, containers, dependent-map + , dependent-sum, dependent-sum-template, hspec, HUnit , template-haskell, transformers }: mkDerivation { pname = "aeson-gadt-th"; - version = "0.1.2.1"; - sha256 = "0i5ld955dw6i5sf1j4cby6xfqf29r9gy1r6lh4901m6xcgh812jv"; + version = "0.2.1.1"; + sha256 = "18lkf75pw8lp03bj4b8vknj7ysvbhpix6zkzd86qaq0z3yh6s6jv"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base dependent-sum template-haskell transformers + aeson base containers dependent-sum template-haskell transformers + ]; + executableHaskellDepends = [ + aeson base dependent-map dependent-sum dependent-sum-template + ]; + testHaskellDepends = [ + aeson aeson-qq base dependent-sum hspec HUnit ]; - executableHaskellDepends = [ aeson base dependent-sum ]; - executableToolDepends = [ markdown-unlit ]; description = "Derivation of Aeson instances for GADTs"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -22133,6 +23308,7 @@ self: { description = "Injecting fields into aeson values"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson-iproute" = callPackage @@ -22197,6 +23373,7 @@ self: { description = "Fast JSON parsing and encoding (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson-options" = callPackage @@ -22210,7 +23387,6 @@ self: { libraryHaskellDepends = [ aeson base ]; description = "Options to derive FromJSON/ToJSON instances"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "aeson-parsec-picky" = callPackage @@ -22255,6 +23431,7 @@ self: { description = "Hiearchical prefixing for aeson"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson-pretty_0_7_2" = callPackage @@ -22327,8 +23504,8 @@ self: { }: mkDerivation { pname = "aeson-quick"; - version = "0.1.2.1"; - sha256 = "135mnzh56za992p8083yr3yx96q7zh5h50l7y8c5jm7qla32n2b4"; + version = "0.1.3"; + sha256 = "07xkiakl2zhknpj6sxjicyrcq4lishnyv645mq3fg9lls463fhm1"; libraryHaskellDepends = [ aeson attoparsec base deepseq text unordered-containers vector ]; @@ -22368,6 +23545,7 @@ self: { description = "Haskell JSON schema validator and parser generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson-serialize" = callPackage @@ -22397,6 +23575,7 @@ self: { description = "Smart derivation of Aeson instances"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson-streams" = callPackage @@ -22413,6 +23592,7 @@ self: { description = "An HTTP client library for JSON-based APIs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson-t" = callPackage @@ -22433,6 +23613,7 @@ self: { description = "Transform JSON"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson-tiled" = callPackage @@ -22453,6 +23634,7 @@ self: { description = "Aeson instances for the Tiled map editor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson-toolkit" = callPackage @@ -22474,8 +23656,8 @@ self: { }: mkDerivation { pname = "aeson-typescript"; - version = "0.1.1.0"; - sha256 = "0sx4gavp0pvnxlxwix1di34vm2bfi5d02mzgzs402grqhh1v38vp"; + version = "0.2.0.0"; + sha256 = "15w28x2b8h402fic5agq96g51ssryvd7q3zs22n5mz9aa43qlphw"; libraryHaskellDepends = [ aeson base containers interpolate mtl template-haskell text th-abstraction unordered-containers @@ -22488,6 +23670,7 @@ self: { description = "Generate TypeScript definition files from your ADTs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aeson-utils" = callPackage @@ -22521,7 +23704,6 @@ self: { ]; description = "API for parsing \"aeson\" JSON tree into Haskell types"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "aeson-yak" = callPackage @@ -22553,6 +23735,7 @@ self: { description = "A simple Game Engine using SDL"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "affine" = callPackage @@ -22580,6 +23763,7 @@ self: { description = "General-purpose sampling"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "affinely-extended" = callPackage @@ -22630,6 +23814,7 @@ self: { description = "Infinite state model checking of iterative C programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ag-pictgen" = callPackage @@ -22644,6 +23829,7 @@ self: { description = "Attribute Grammar picture generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "agda-server" = callPackage @@ -22665,6 +23851,7 @@ self: { description = "Http server for Agda (prototype)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "agda-snippets" = callPackage @@ -22686,6 +23873,7 @@ self: { description = "Render just the Agda snippets of a literate Agda file to HTML"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "agda-snippets-hakyll" = callPackage @@ -22703,6 +23891,7 @@ self: { description = "Literate Agda support using agda-snippets, for Hakyll pages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "agentx" = callPackage @@ -22725,6 +23914,7 @@ self: { description = "AgentX protocol for write SNMP subagents"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "agum" = callPackage @@ -22756,6 +23946,7 @@ self: { description = "And-inverter graphs in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aip" = callPackage @@ -22768,8 +23959,8 @@ self: { }: mkDerivation { pname = "aip"; - version = "0.1.1"; - sha256 = "05pv8m5wjzpj5wxsad6rzka9fcch5aakd73697ndaiwasqajvx3d"; + version = "0.1.3"; + sha256 = "10gc9k74ag5i7qbir1jarpap919b010k9zgqadj15cg1hb138k18"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -22785,6 +23976,7 @@ self: { description = "Aeronautical Information Package (AIP)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "air" = callPackage @@ -22840,6 +24032,7 @@ self: { description = "air"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "airbrake" = callPackage @@ -22860,6 +24053,7 @@ self: { description = "An Airbrake notifier for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "airship" = callPackage @@ -22867,20 +24061,20 @@ self: { , bytestring, bytestring-trie, case-insensitive, containers , cryptohash, directory, either, filepath, http-date, http-media , http-types, lifted-base, microlens, mime-types, mmorph - , monad-control, mtl, network, old-locale, random, tasty - , tasty-hunit, tasty-quickcheck, text, time, transformers + , monad-control, mtl, network, old-locale, random, semigroups + , tasty, tasty-hunit, tasty-quickcheck, text, time, transformers , transformers-base, unix, unordered-containers, wai, wai-extra }: mkDerivation { pname = "airship"; - version = "0.9.3"; - sha256 = "0nildnm2f8n87sy6lrzkfxjypf72vy3d8yknl9qcnzv6kmyq6m72"; + version = "0.9.4"; + sha256 = "03wawmbd1dcf9bmv9046q93gn6isdlpcyvzb7bp0awqmzaymyw4z"; libraryHaskellDepends = [ attoparsec base base64-bytestring blaze-builder bytestring bytestring-trie case-insensitive containers cryptohash directory either filepath http-date http-media http-types lifted-base microlens mime-types mmorph monad-control mtl network old-locale - random text time transformers transformers-base unix + random semigroups text time transformers transformers-base unix unordered-containers wai wai-extra ]; testHaskellDepends = [ @@ -22890,6 +24084,7 @@ self: { description = "A Webmachine-inspired HTTP library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "airtable-api" = callPackage @@ -22908,6 +24103,7 @@ self: { description = "Requesting and introspecting Tables within an Airtable project"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aivika" = callPackage @@ -22957,6 +24153,7 @@ self: { description = "Parallel distributed discrete event simulation module for the Aivika library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aivika-experiment" = callPackage @@ -22989,7 +24186,6 @@ self: { ]; description = "Cairo-based charting backend for the Aivika simulation library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "aivika-experiment-chart" = callPackage @@ -23007,7 +24203,6 @@ self: { ]; description = "Simulation experiments with charting for the Aivika library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "aivika-experiment-diagrams" = callPackage @@ -23024,7 +24219,6 @@ self: { ]; description = "Diagrams-based charting backend for the Aivika simulation library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "aivika-gpss" = callPackage @@ -23117,6 +24311,7 @@ self: { description = "Haskell compiler that produce binary through C language"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "al" = callPackage @@ -23138,8 +24333,8 @@ self: { }: mkDerivation { pname = "alarmclock"; - version = "0.6.0.2"; - sha256 = "1zhq3sx6x54v7cjzmjvcs7pzqyql3x4vk3b5n4x7xhgxs54xdasc"; + version = "0.7.0.2"; + sha256 = "0sp9h8vy8i4pvyadnb1ibpxpfxjikdr9ds3y9y8321cmkprlbs87"; libraryHaskellDepends = [ async base clock stm time unbounded-delays ]; @@ -23183,14 +24378,15 @@ self: { description = "Bindings to the alerta REST API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "alerts" = callPackage ({ mkDerivation, base, blaze-html, text }: mkDerivation { pname = "alerts"; - version = "0.1.0.0"; - sha256 = "0s6af3267qfg18zsy0fb43hfwf3dym2zpr864n05xwgzmg9qwhaj"; + version = "0.1.2.0"; + sha256 = "14fyckdwwhp786z2gg6m92xmz0rbvqwalj0bylqagi9n295ni74f"; libraryHaskellDepends = [ base blaze-html text ]; description = "Alert messages for web applications"; license = stdenv.lib.licenses.bsd3; @@ -23230,6 +24426,7 @@ self: { description = "Quasi-quoter for Alex lexers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "alex-prelude" = callPackage @@ -23242,6 +24439,7 @@ self: { description = "Collection of useful functions for writing console applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "alex-tools" = callPackage @@ -23274,14 +24472,15 @@ self: { description = "utility library for Alfred version 2"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "alg" = callPackage ({ mkDerivation, base, util }: mkDerivation { pname = "alg"; - version = "0.2.9.0"; - sha256 = "0w5lxmz52nskh8ms3nliya78v1pb77f7nyn19klqf8yskaalywlq"; + version = "0.2.10.0"; + sha256 = "1zpr3knnj37fwi6h7mlxdlm88iy47srx1nkhgkix3f81ig9hlzd9"; libraryHaskellDepends = [ base util ]; description = "Algebraic structures"; license = stdenv.lib.licenses.bsd3; @@ -23297,6 +24496,8 @@ self: { pname = "alga"; version = "0.2.2"; sha256 = "1wi0x4750c525zaqk8hzin4n1k38219nmgynv85rdsxik5qm141y"; + revision = "1"; + editedCabalFile = "1g1cxg4rxcm53pwlc0wh47s4w8h4lp5dsvnacrc1f5pmjhx3740y"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -23316,6 +24517,7 @@ self: { description = "Algorithmic automation for various DAWs"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "algebra" = callPackage @@ -23335,6 +24537,7 @@ self: { description = "Constructive abstract algebra"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "algebra-dag" = callPackage @@ -23377,6 +24580,7 @@ self: { description = "Relational Algebra and SQL Code Generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "algebraic" = callPackage @@ -23389,6 +24593,7 @@ self: { description = "General linear algebra structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "algebraic-classes" = callPackage @@ -23408,8 +24613,8 @@ self: { }: mkDerivation { pname = "algebraic-graphs"; - version = "0.3"; - sha256 = "1q4xlyg3xjm7q2x11s4lbffywp096y3s3b72b8amfdyi27har4hl"; + version = "0.4"; + sha256 = "1dyk8qgaahrvcp4gsl9c6s3hwmwys4xvznwnh0y1x8bqc4md61f9"; libraryHaskellDepends = [ array base base-compat containers deepseq mtl ]; @@ -23419,6 +24624,8 @@ self: { ]; description = "A library for algebraic graph construction and transformation"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "algebraic-prelude" = callPackage @@ -23435,6 +24642,7 @@ self: { description = "Algebraically structured Prelude"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "algo-s" = callPackage @@ -23461,6 +24669,7 @@ self: { description = "An implementation of Knuth's algorithm S"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "algolia" = callPackage @@ -23486,7 +24695,6 @@ self: { testToolDepends = [ tasty-discover ]; description = "A client implementing the Algolia search API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "align" = callPackage @@ -23512,6 +24720,7 @@ self: { description = "A simple unix filter to align text on specified substrings"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aligned-foreignptr" = callPackage @@ -23529,10 +24738,8 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "alist"; - version = "0.1.0.5"; - sha256 = "19771h6vxzxn0zj0r59qgc6lclks3ysxli21dziavmr784z2dbgn"; - revision = "1"; - editedCabalFile = "1lc1x072g6vkfifh11cfpw95wb0ly9ifs8xg3y1yrpqv4fyl8y0b"; + version = "0.1.2.7"; + sha256 = "0ydq2sxyfgij0rf54i3ajj4hdqjawhcdsgi822yrkq86xjvsxc4w"; libraryHaskellDepends = [ base ]; description = "lists with O(1) append"; license = stdenv.lib.licenses.bsd3; @@ -23603,6 +24810,7 @@ self: { description = "a practical affine language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "alpha" = callPackage @@ -23624,6 +24832,7 @@ self: { description = "A compiler for the Alpha language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "alphachar" = callPackage @@ -23645,6 +24854,7 @@ self: { description = "A character between a-z"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "alpino-tools" = callPackage @@ -23685,6 +24895,7 @@ self: { description = "Binding to the ALSA Library API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) alsaLib;}; "alsa-core" = callPackage @@ -23706,8 +24917,8 @@ self: { }: mkDerivation { pname = "alsa-gui"; - version = "0.1"; - sha256 = "0zcyjckdjhsj614iib3dzj9dfp8xj847jfqf4q1sk9311gscbzns"; + version = "0.1.0.1"; + sha256 = "17a34k0c6s1cisbnh02akyry7fmxigzn3d2ml9j0v56340r86059"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -23716,6 +24927,7 @@ self: { description = "Some simple interactive programs for sending MIDI control messages via ALSA"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "alsa-midi" = callPackage @@ -23737,6 +24949,7 @@ self: { description = "Bindings for the ALSA sequencer API (MIDI stuff)"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) alsaLib;}; "alsa-mixer" = callPackage @@ -23750,7 +24963,7 @@ self: { libraryToolDepends = [ c2hs ]; description = "Bindings to the ALSA simple mixer API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) alsaLib;}; "alsa-pcm" = callPackage @@ -23770,7 +24983,7 @@ self: { libraryPkgconfigDepends = [ alsaLib ]; description = "Binding to the ALSA Library API (PCM audio)"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) alsaLib;}; "alsa-pcm-tests" = callPackage @@ -23785,6 +24998,7 @@ self: { description = "Tests for the ALSA audio signal library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "alsa-seq" = callPackage @@ -23805,7 +25019,7 @@ self: { libraryPkgconfigDepends = [ alsaLib ]; description = "Binding to the ALSA Library API (MIDI sequencer)"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) alsaLib;}; "alsa-seq-tests" = callPackage @@ -23820,6 +25034,7 @@ self: { description = "Tests for the ALSA sequencer library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "altcomposition" = callPackage @@ -23832,6 +25047,7 @@ self: { description = "Alternative combinators for unorthodox function composition"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "alternative-extra" = callPackage @@ -23844,6 +25060,7 @@ self: { description = "Extra utilities for alternatives"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "alternative-io" = callPackage @@ -23862,6 +25079,7 @@ self: { description = "IO as Alternative instance (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "alternative-vector" = callPackage @@ -23925,6 +25143,7 @@ self: { description = "Implement a menu experience fit for web users"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "alure" = callPackage @@ -23938,6 +25157,7 @@ self: { description = "A Haskell binding for ALURE"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) alure;}; "amazon-emailer" = callPackage @@ -23958,6 +25178,7 @@ self: { description = "A queue daemon for Amazon's SES with a PostgreSQL table as a queue"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazon-emailer-client-snap" = callPackage @@ -23973,6 +25194,7 @@ self: { description = "Client library for amazon-emailer daemon"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazon-products" = callPackage @@ -23999,6 +25221,7 @@ self: { description = "Connector for Amazon Products API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka" = callPackage @@ -24021,6 +25244,8 @@ self: { testHaskellDepends = [ base tasty tasty-hunit ]; description = "Comprehensive Amazon Web Services SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-alexa-business" = callPackage @@ -24038,6 +25263,8 @@ self: { ]; description = "Amazon Alexa For Business SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-apigateway" = callPackage @@ -24055,6 +25282,8 @@ self: { ]; description = "Amazon API Gateway SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-application-autoscaling" = callPackage @@ -24072,6 +25301,8 @@ self: { ]; description = "Amazon Application Auto Scaling SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-appstream" = callPackage @@ -24089,6 +25320,8 @@ self: { ]; description = "Amazon AppStream SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-appsync" = callPackage @@ -24106,6 +25339,8 @@ self: { ]; description = "Amazon AppSync SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-athena" = callPackage @@ -24123,6 +25358,8 @@ self: { ]; description = "Amazon Athena SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-autoscaling" = callPackage @@ -24140,6 +25377,8 @@ self: { ]; description = "Amazon Auto Scaling SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-autoscaling-plans" = callPackage @@ -24157,6 +25396,8 @@ self: { ]; description = "Amazon Auto Scaling Plans SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-batch" = callPackage @@ -24174,6 +25415,8 @@ self: { ]; description = "Amazon Batch SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-budgets" = callPackage @@ -24191,6 +25434,8 @@ self: { ]; description = "Amazon Budgets SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-certificatemanager" = callPackage @@ -24208,6 +25453,8 @@ self: { ]; description = "Amazon Certificate Manager SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-certificatemanager-pca" = callPackage @@ -24225,6 +25472,8 @@ self: { ]; description = "Amazon Certificate Manager Private Certificate Authority SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cloud9" = callPackage @@ -24242,6 +25491,8 @@ self: { ]; description = "Amazon Cloud9 SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-clouddirectory" = callPackage @@ -24259,6 +25510,8 @@ self: { ]; description = "Amazon CloudDirectory SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cloudformation" = callPackage @@ -24276,6 +25529,8 @@ self: { ]; description = "Amazon CloudFormation SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cloudfront" = callPackage @@ -24293,6 +25548,8 @@ self: { ]; description = "Amazon CloudFront SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cloudhsm" = callPackage @@ -24310,6 +25567,8 @@ self: { ]; description = "Amazon CloudHSM SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cloudhsmv2" = callPackage @@ -24327,6 +25586,8 @@ self: { ]; description = "Amazon CloudHSM V2 SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cloudsearch" = callPackage @@ -24344,6 +25605,8 @@ self: { ]; description = "Amazon CloudSearch SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cloudsearch-domains" = callPackage @@ -24361,6 +25624,8 @@ self: { ]; description = "Amazon CloudSearch Domain SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cloudtrail" = callPackage @@ -24378,6 +25643,8 @@ self: { ]; description = "Amazon CloudTrail SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cloudwatch" = callPackage @@ -24395,6 +25662,8 @@ self: { ]; description = "Amazon CloudWatch SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cloudwatch-events" = callPackage @@ -24412,6 +25681,8 @@ self: { ]; description = "Amazon CloudWatch Events SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cloudwatch-logs" = callPackage @@ -24429,6 +25700,8 @@ self: { ]; description = "Amazon CloudWatch Logs SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-codebuild" = callPackage @@ -24446,6 +25719,8 @@ self: { ]; description = "Amazon CodeBuild SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-codecommit" = callPackage @@ -24463,6 +25738,8 @@ self: { ]; description = "Amazon CodeCommit SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-codedeploy" = callPackage @@ -24480,6 +25757,8 @@ self: { ]; description = "Amazon CodeDeploy SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-codepipeline" = callPackage @@ -24497,6 +25776,8 @@ self: { ]; description = "Amazon CodePipeline SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-codestar" = callPackage @@ -24514,6 +25795,8 @@ self: { ]; description = "Amazon CodeStar SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cognito-identity" = callPackage @@ -24531,6 +25814,8 @@ self: { ]; description = "Amazon Cognito Identity SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cognito-idp" = callPackage @@ -24548,6 +25833,8 @@ self: { ]; description = "Amazon Cognito Identity Provider SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cognito-sync" = callPackage @@ -24565,6 +25852,8 @@ self: { ]; description = "Amazon Cognito Sync SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-comprehend" = callPackage @@ -24582,6 +25871,8 @@ self: { ]; description = "Amazon Comprehend SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-config" = callPackage @@ -24599,6 +25890,8 @@ self: { ]; description = "Amazon Config SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-connect" = callPackage @@ -24616,6 +25909,8 @@ self: { ]; description = "Amazon Connect Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-core" = callPackage @@ -24646,6 +25941,8 @@ self: { ]; description = "Core data types and functionality for Amazonka libraries"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cost-explorer" = callPackage @@ -24663,6 +25960,8 @@ self: { ]; description = "Amazon Cost Explorer Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-cur" = callPackage @@ -24680,6 +25979,8 @@ self: { ]; description = "Amazon Cost and Usage Report Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-datapipeline" = callPackage @@ -24697,6 +25998,8 @@ self: { ]; description = "Amazon Data Pipeline SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-devicefarm" = callPackage @@ -24714,6 +26017,8 @@ self: { ]; description = "Amazon Device Farm SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-directconnect" = callPackage @@ -24731,6 +26036,8 @@ self: { ]; description = "Amazon Direct Connect SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-discovery" = callPackage @@ -24748,6 +26055,8 @@ self: { ]; description = "Amazon Application Discovery Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-dms" = callPackage @@ -24765,6 +26074,8 @@ self: { ]; description = "Amazon Database Migration Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-ds" = callPackage @@ -24782,6 +26093,8 @@ self: { ]; description = "Amazon Directory Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-dynamodb" = callPackage @@ -24799,6 +26112,8 @@ self: { ]; description = "Amazon DynamoDB SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-dynamodb-dax" = callPackage @@ -24816,6 +26131,8 @@ self: { ]; description = "Amazon DynamoDB Accelerator (DAX) SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-dynamodb-streams" = callPackage @@ -24833,6 +26150,8 @@ self: { ]; description = "Amazon DynamoDB Streams SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-ec2" = callPackage @@ -24850,6 +26169,8 @@ self: { ]; description = "Amazon Elastic Compute Cloud SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-ecr" = callPackage @@ -24867,6 +26188,8 @@ self: { ]; description = "Amazon EC2 Container Registry SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-ecs" = callPackage @@ -24884,6 +26207,8 @@ self: { ]; description = "Amazon EC2 Container Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-efs" = callPackage @@ -24901,6 +26226,8 @@ self: { ]; description = "Amazon Elastic File System SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-elasticache" = callPackage @@ -24918,6 +26245,8 @@ self: { ]; description = "Amazon ElastiCache SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-elasticbeanstalk" = callPackage @@ -24935,6 +26264,8 @@ self: { ]; description = "Amazon Elastic Beanstalk SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-elasticsearch" = callPackage @@ -24952,6 +26283,8 @@ self: { ]; description = "Amazon Elasticsearch Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-elastictranscoder" = callPackage @@ -24969,6 +26302,8 @@ self: { ]; description = "Amazon Elastic Transcoder SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-elb" = callPackage @@ -24986,6 +26321,8 @@ self: { ]; description = "Amazon Elastic Load Balancing SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-elbv2" = callPackage @@ -25003,6 +26340,8 @@ self: { ]; description = "Amazon Elastic Load Balancing SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-emr" = callPackage @@ -25020,6 +26359,8 @@ self: { ]; description = "Amazon Elastic MapReduce SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-fms" = callPackage @@ -25037,6 +26378,8 @@ self: { ]; description = "Amazon Firewall Management Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-gamelift" = callPackage @@ -25054,6 +26397,8 @@ self: { ]; description = "Amazon GameLift SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-glacier" = callPackage @@ -25071,6 +26416,8 @@ self: { ]; description = "Amazon Glacier SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-glue" = callPackage @@ -25088,6 +26435,8 @@ self: { ]; description = "Amazon Glue SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-greengrass" = callPackage @@ -25105,6 +26454,8 @@ self: { ]; description = "Amazon Greengrass SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-guardduty" = callPackage @@ -25122,6 +26473,8 @@ self: { ]; description = "Amazon GuardDuty SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-health" = callPackage @@ -25139,6 +26492,8 @@ self: { ]; description = "Amazon Health APIs and Notifications SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-iam" = callPackage @@ -25156,6 +26511,8 @@ self: { ]; description = "Amazon Identity and Access Management SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-iam-policy" = callPackage @@ -25194,6 +26551,8 @@ self: { ]; description = "Amazon Import/Export SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-inspector" = callPackage @@ -25211,6 +26570,8 @@ self: { ]; description = "Amazon Inspector SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-iot" = callPackage @@ -25228,6 +26589,8 @@ self: { ]; description = "Amazon IoT SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-iot-analytics" = callPackage @@ -25245,6 +26608,8 @@ self: { ]; description = "Amazon IoT Analytics SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-iot-dataplane" = callPackage @@ -25262,6 +26627,8 @@ self: { ]; description = "Amazon IoT Data Plane SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-iot-jobs-dataplane" = callPackage @@ -25279,6 +26646,8 @@ self: { ]; description = "Amazon IoT Jobs Data Plane SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-kinesis" = callPackage @@ -25296,6 +26665,8 @@ self: { ]; description = "Amazon Kinesis SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-kinesis-analytics" = callPackage @@ -25313,6 +26684,8 @@ self: { ]; description = "Amazon Kinesis Analytics SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-kinesis-firehose" = callPackage @@ -25330,6 +26703,8 @@ self: { ]; description = "Amazon Kinesis Firehose SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-kinesis-video" = callPackage @@ -25347,6 +26722,8 @@ self: { ]; description = "Amazon Kinesis Video Streams SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-kinesis-video-archived-media" = callPackage @@ -25364,6 +26741,8 @@ self: { ]; description = "Amazon Kinesis Video Streams Archived Media SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-kinesis-video-media" = callPackage @@ -25381,6 +26760,8 @@ self: { ]; description = "Amazon Kinesis Video Streams Media SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-kms" = callPackage @@ -25398,6 +26779,8 @@ self: { ]; description = "Amazon Key Management Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-lambda" = callPackage @@ -25415,6 +26798,8 @@ self: { ]; description = "Amazon Lambda SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-lex-models" = callPackage @@ -25432,6 +26817,8 @@ self: { ]; description = "Amazon Lex Model Building Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-lex-runtime" = callPackage @@ -25449,6 +26836,8 @@ self: { ]; description = "Amazon Lex Runtime Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-lightsail" = callPackage @@ -25466,6 +26855,8 @@ self: { ]; description = "Amazon Lightsail SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-marketplace-analytics" = callPackage @@ -25483,6 +26874,8 @@ self: { ]; description = "Amazon Marketplace Commerce Analytics SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-marketplace-entitlement" = callPackage @@ -25500,6 +26893,8 @@ self: { ]; description = "Amazon Marketplace Entitlement Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-marketplace-metering" = callPackage @@ -25517,6 +26912,8 @@ self: { ]; description = "Amazon Marketplace Metering SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-mechanicalturk" = callPackage @@ -25534,6 +26931,8 @@ self: { ]; description = "Amazon Mechanical Turk SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-mediaconvert" = callPackage @@ -25551,6 +26950,8 @@ self: { ]; description = "Amazon Elemental MediaConvert SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-medialive" = callPackage @@ -25568,6 +26969,8 @@ self: { ]; description = "Amazon Elemental MediaLive SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-mediapackage" = callPackage @@ -25585,6 +26988,8 @@ self: { ]; description = "Amazon Elemental MediaPackage SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-mediastore" = callPackage @@ -25602,6 +27007,8 @@ self: { ]; description = "Amazon Elemental MediaStore SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-mediastore-dataplane" = callPackage @@ -25619,6 +27026,8 @@ self: { ]; description = "Amazon Elemental MediaStore Data Plane SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-migrationhub" = callPackage @@ -25636,6 +27045,8 @@ self: { ]; description = "Amazon Migration Hub SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-ml" = callPackage @@ -25653,6 +27064,8 @@ self: { ]; description = "Amazon Machine Learning SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-mobile" = callPackage @@ -25670,6 +27083,8 @@ self: { ]; description = "Amazon Mobile SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-mq" = callPackage @@ -25687,6 +27102,8 @@ self: { ]; description = "Amazon MQ SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-opsworks" = callPackage @@ -25704,6 +27121,8 @@ self: { ]; description = "Amazon OpsWorks SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-opsworks-cm" = callPackage @@ -25721,6 +27140,8 @@ self: { ]; description = "Amazon OpsWorks for Chef Automate SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-organizations" = callPackage @@ -25738,6 +27159,8 @@ self: { ]; description = "Amazon Organizations SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-pinpoint" = callPackage @@ -25755,6 +27178,8 @@ self: { ]; description = "Amazon Pinpoint SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-polly" = callPackage @@ -25772,6 +27197,8 @@ self: { ]; description = "Amazon Polly SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-pricing" = callPackage @@ -25789,6 +27216,8 @@ self: { ]; description = "Amazon Price List Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-rds" = callPackage @@ -25806,6 +27235,8 @@ self: { ]; description = "Amazon Relational Database Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-redshift" = callPackage @@ -25823,6 +27254,8 @@ self: { ]; description = "Amazon Redshift SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-rekognition" = callPackage @@ -25840,6 +27273,8 @@ self: { ]; description = "Amazon Rekognition SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-resourcegroups" = callPackage @@ -25857,6 +27292,8 @@ self: { ]; description = "Amazon Resource Groups SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-resourcegroupstagging" = callPackage @@ -25874,6 +27311,8 @@ self: { ]; description = "Amazon Resource Groups Tagging API SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-route53" = callPackage @@ -25891,6 +27330,8 @@ self: { ]; description = "Amazon Route 53 SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-route53-autonaming" = callPackage @@ -25908,6 +27349,8 @@ self: { ]; description = "Amazon Route 53 Auto Naming SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-route53-domains" = callPackage @@ -25925,6 +27368,8 @@ self: { ]; description = "Amazon Route 53 Domains SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-s3" = callPackage @@ -25942,27 +27387,29 @@ self: { ]; description = "Amazon Simple Storage Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-s3-streaming" = callPackage - ({ mkDerivation, amazonka, amazonka-core, amazonka-s3, base - , bytestring, conduit, deepseq, dlist, exceptions, http-client - , lens, lifted-async, mmap, mmorph, mtl, resourcet + ({ mkDerivation, amazonka, amazonka-core, amazonka-s3, async, base + , bytestring, conduit, dlist, exceptions, http-client, lens, mmorph + , mtl }: mkDerivation { pname = "amazonka-s3-streaming"; - version = "0.2.0.5"; - sha256 = "1j9jp409gjq7gnwx163i7qpk4ih3rff7z2icsfmzakiarwmg2ff2"; + version = "1.0.0.2"; + sha256 = "1k7l49h3zdqw3va70mr4rrmsyjpbzgbnr3bhj7yl24np77r6cs99"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - amazonka amazonka-core amazonka-s3 base bytestring conduit deepseq - dlist exceptions http-client lens lifted-async mmap mmorph mtl - resourcet + amazonka amazonka-core amazonka-s3 async base bytestring conduit + dlist exceptions http-client lens mmorph mtl ]; description = "Provides conduits to upload data to S3 using the Multipart API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-sagemaker" = callPackage @@ -25980,6 +27427,8 @@ self: { ]; description = "Amazon SageMaker Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-sagemaker-runtime" = callPackage @@ -25997,6 +27446,8 @@ self: { ]; description = "Amazon SageMaker Runtime SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-sdb" = callPackage @@ -26014,6 +27465,8 @@ self: { ]; description = "Amazon SimpleDB SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-secretsmanager" = callPackage @@ -26031,6 +27484,8 @@ self: { ]; description = "Amazon Secrets Manager SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-serverlessrepo" = callPackage @@ -26048,6 +27503,8 @@ self: { ]; description = "Amazon ServerlessApplicationRepository SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-servicecatalog" = callPackage @@ -26065,6 +27522,8 @@ self: { ]; description = "Amazon Service Catalog SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-ses" = callPackage @@ -26082,6 +27541,8 @@ self: { ]; description = "Amazon Simple Email Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-shield" = callPackage @@ -26099,6 +27560,8 @@ self: { ]; description = "Amazon Shield SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-sms" = callPackage @@ -26116,6 +27579,8 @@ self: { ]; description = "Amazon Server Migration Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-snowball" = callPackage @@ -26133,6 +27598,8 @@ self: { ]; description = "Amazon Import/Export Snowball SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-sns" = callPackage @@ -26150,6 +27617,8 @@ self: { ]; description = "Amazon Simple Notification Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-sqs" = callPackage @@ -26167,6 +27636,8 @@ self: { ]; description = "Amazon Simple Queue Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-ssm" = callPackage @@ -26184,6 +27655,8 @@ self: { ]; description = "Amazon Simple Systems Manager (SSM) SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-stepfunctions" = callPackage @@ -26201,6 +27674,8 @@ self: { ]; description = "Amazon Step Functions SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-storagegateway" = callPackage @@ -26218,6 +27693,8 @@ self: { ]; description = "Amazon Storage Gateway SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-sts" = callPackage @@ -26235,6 +27712,8 @@ self: { ]; description = "Amazon Security Token Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-support" = callPackage @@ -26252,6 +27731,8 @@ self: { ]; description = "Amazon Support SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-swf" = callPackage @@ -26269,6 +27750,8 @@ self: { ]; description = "Amazon Simple Workflow Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-test" = callPackage @@ -26290,6 +27773,8 @@ self: { ]; description = "Common functionality for Amazonka library test-suites"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-transcribe" = callPackage @@ -26307,6 +27792,8 @@ self: { ]; description = "Amazon Transcribe Service SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-translate" = callPackage @@ -26324,6 +27811,8 @@ self: { ]; description = "Amazon Translate SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-waf" = callPackage @@ -26341,6 +27830,8 @@ self: { ]; description = "Amazon WAF SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-waf-regional" = callPackage @@ -26358,6 +27849,8 @@ self: { ]; description = "Amazon WAF Regional SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-workdocs" = callPackage @@ -26375,6 +27868,8 @@ self: { ]; description = "Amazon WorkDocs SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-workmail" = callPackage @@ -26392,6 +27887,8 @@ self: { ]; description = "Amazon WorkMail SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-workspaces" = callPackage @@ -26409,6 +27906,8 @@ self: { ]; description = "Amazon WorkSpaces SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amazonka-xray" = callPackage @@ -26426,6 +27925,8 @@ self: { ]; description = "Amazon X-Ray SDK"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amby" = callPackage @@ -26452,6 +27953,7 @@ self: { description = "Statistical data visualization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ampersand" = callPackage @@ -26483,6 +27985,7 @@ self: { description = "Toolsuite for automated design of business processes"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amqp" = callPackage @@ -26493,8 +27996,8 @@ self: { }: mkDerivation { pname = "amqp"; - version = "0.18.1"; - sha256 = "0j728d7q013gcqv0m6vpm401hnpbmzzb3i6br8kpxybdjzmy4y26"; + version = "0.18.3"; + sha256 = "1cyzazl3hz5yd2i220b4g8xs0fm47xqlwyvgarxbnn5gnrm8ys21"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -26531,6 +28034,7 @@ self: { description = "Conduit bindings for AMQP (see amqp package)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "amqp-utils" = callPackage @@ -26540,8 +28044,8 @@ self: { }: mkDerivation { pname = "amqp-utils"; - version = "0.3.4.0"; - sha256 = "1p02nf9i8v17f9nyx76306zdq4qlvqf6j86i88kfnjkpb8hfxl84"; + version = "0.3.6.0"; + sha256 = "0jv89pnap0ja39cmc2hri3npyz3sihc5xzdwargvrkavf4x1ij80"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -26554,26 +28058,31 @@ self: { "amqp-worker" = callPackage ({ mkDerivation, aeson, amqp, base, bytestring, data-default - , exceptions, monad-control, monad-loops, mtl, resource-pool, split - , tasty, tasty-hunit, text, transformers-base + , exceptions, monad-control, monad-loops, mtl, resource-pool + , server, split, text, transformers-base }: mkDerivation { pname = "amqp-worker"; - version = "0.2.5"; - sha256 = "0crbrmxwv1dwd84l41p2zmx5ap5wwr0n5a9cznz87x3cc6qncylq"; + version = "0.3.2"; + sha256 = "0w6nz5crrvr8wb0ylszl3ckxc17pll03swr30zvpqaz855pqriw3"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson amqp base bytestring data-default exceptions monad-control monad-loops mtl resource-pool split text transformers-base ]; - executableHaskellDepends = [ aeson base exceptions text ]; - testHaskellDepends = [ - aeson amqp base bytestring tasty tasty-hunit text + executableHaskellDepends = [ + aeson amqp base bytestring data-default exceptions monad-control + monad-loops mtl resource-pool split text transformers-base + ]; + testHaskellDepends = [ + aeson amqp base bytestring data-default exceptions monad-control + monad-loops mtl resource-pool server split text transformers-base ]; - description = "High level functions for working with message queues"; license = stdenv.lib.licenses.bsd3; - }) {}; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {server = null;}; "amrun" = callPackage ({ mkDerivation, base, deepseq, parsec }: @@ -26609,6 +28118,7 @@ self: { description = "making data science easy and safe with data frames"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "analyze-client" = callPackage @@ -26626,6 +28136,7 @@ self: { description = "Client for analyze service"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "anansi" = callPackage @@ -26679,6 +28190,7 @@ self: { description = "Looms which use Pandoc to parse and produce a variety of formats"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "anatomy" = callPackage @@ -26706,6 +28218,7 @@ self: { description = "Anatomy: Atomo documentation system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "android" = callPackage @@ -26718,6 +28231,7 @@ self: { description = "Android methods exposed to Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "android-activity" = callPackage @@ -26730,6 +28244,7 @@ self: { description = "Turn regular Haskell programs into Android Activities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "android-lint-summary" = callPackage @@ -26757,6 +28272,7 @@ self: { description = "A pretty printer for Android Lint errors"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "angel" = callPackage @@ -26785,6 +28301,7 @@ self: { description = "Process management and supervision daemon"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "angle" = callPackage @@ -26814,6 +28331,7 @@ self: { description = "A small, general-purpose programming language"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "animalcase" = callPackage @@ -26847,6 +28365,7 @@ self: { description = "text-file based ASCII animator"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "animate" = callPackage @@ -26864,6 +28383,7 @@ self: { description = "Animation for sprites"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "animate-example" = callPackage @@ -26883,6 +28403,7 @@ self: { description = "Animation for sprites"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "animate-frames" = callPackage @@ -26905,6 +28426,7 @@ self: { description = "Convert sprite frames to animate files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "animate-preview" = callPackage @@ -26931,6 +28453,7 @@ self: { description = "Preview tool for sprite animation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "animate-sdl2" = callPackage @@ -26943,6 +28466,7 @@ self: { description = "sdl2 + animate auxiliary library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "anki-tools" = callPackage @@ -26987,6 +28511,7 @@ self: { description = "Medium-level language that desugars to Morte"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "annihilator" = callPackage @@ -27000,6 +28525,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "annotated-fix" = callPackage + ({ mkDerivation, base, recursion-schemes }: + mkDerivation { + pname = "annotated-fix"; + version = "0.1.0.0"; + sha256 = "1lhyllmi8j9r5mdr5pngw1s1xzs1cwv2hh2ym8kkdrxvrq93dk2i"; + libraryHaskellDepends = [ base recursion-schemes ]; + description = "A fixpoint of a functor that can be annotated"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "annotated-wl-pprint" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -27023,6 +28559,7 @@ self: { description = "Anonymous sum types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "anonymous-sums-tests" = callPackage @@ -27035,6 +28572,7 @@ self: { description = "QuickCheck functions to accompany the anonymous-sums package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ansi-escape-codes" = callPackage @@ -27072,8 +28610,8 @@ self: { ({ mkDerivation, base, colour }: mkDerivation { pname = "ansi-terminal"; - version = "0.8.2"; - sha256 = "147ss9wz03ww6ypbv6yh5vi1wfrfcaqm8r6nxh50vnp7254359wh"; + version = "0.9.1"; + sha256 = "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base colour ]; @@ -27081,48 +28619,37 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "ansi-terminal_0_9" = callPackage - ({ mkDerivation, base, colour }: - mkDerivation { - pname = "ansi-terminal"; - version = "0.9"; - sha256 = "00xcq21rp0y8248pwik9rlrfb2m8c27aasla37zdg741yb0c4mfp"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base colour ]; - description = "Simple ANSI terminal support, with Windows compatibility"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "ansi-terminal-game" = callPackage ({ mkDerivation, ansi-terminal, array, base, bytestring, cereal - , clock, hspec, linebreak, split, terminal-size, timers-tick + , clock, exceptions, hspec, linebreak, mintty, mtl, QuickCheck + , split, terminal-size, timers-tick }: mkDerivation { pname = "ansi-terminal-game"; - version = "0.2.1.0"; - sha256 = "0a227gs7a0hz705lgq97mx4sdlbwqflns0zls7qsr9yr6ljc4836"; + version = "0.4.0.0"; + sha256 = "1mjc62z7d6gzvwnwg2gsgf42hlv1l2xqpjy9v83my4s945p422lg"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - ansi-terminal array base bytestring cereal clock linebreak split - terminal-size timers-tick + ansi-terminal array base bytestring cereal clock exceptions + linebreak mintty mtl QuickCheck split terminal-size timers-tick + ]; + testHaskellDepends = [ + ansi-terminal array base bytestring cereal clock exceptions hspec + linebreak mtl QuickCheck split terminal-size timers-tick ]; - testHaskellDepends = [ array base hspec linebreak ]; description = "sdl-like functions for terminal applications, based on ansi-terminal"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ansi-wl-pprint" = callPackage ({ mkDerivation, ansi-terminal, base }: mkDerivation { pname = "ansi-wl-pprint"; - version = "0.6.8.2"; - sha256 = "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"; - revision = "1"; - editedCabalFile = "00b704rygy4ap540jj3ry7cgiqwwi5zx9nhj7c3905m6n6v3in88"; + version = "0.6.9"; + sha256 = "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ ansi-terminal base ]; @@ -27143,6 +28670,7 @@ self: { description = "Terminal-based graphing via ANSI and Unicode"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antagonist" = callPackage @@ -27154,6 +28682,8 @@ self: { pname = "antagonist"; version = "0.1.0.30"; sha256 = "1bgsal1030ydg05pn5xd8gdnpm68pmd135n52dqh5cwhjmhzc0g6"; + revision = "1"; + editedCabalFile = "0hm0flgi9h1y84pspr2921skwybrs490yazbs8pz8wi0bhvfg1bc"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -27167,6 +28697,7 @@ self: { description = "A web interface to Antisplice dungeons"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antfarm" = callPackage @@ -27190,6 +28721,7 @@ self: { description = "Referring expressions for definitions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "anticiv" = callPackage @@ -27201,6 +28733,8 @@ self: { pname = "anticiv"; version = "0.1.0.5"; sha256 = "0sxxa2kylgagbnlf7msrgfq98jaf26lvlas6afypnr15aavvlfzh"; + revision = "1"; + editedCabalFile = "0r2dllym065wi443g2i20sarqmr12dm0z6q515djzq33kdkjddyc"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -27214,6 +28748,7 @@ self: { description = "This is an IRC bot for Mafia and Resistance"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antigate" = callPackage @@ -27232,6 +28767,7 @@ self: { description = "Interface for antigate.com captcha recognition API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antimirov" = callPackage @@ -27247,6 +28783,7 @@ self: { description = "Define the language containment (=subtyping) relation on regulare expressions"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antiope-athena" = callPackage @@ -27255,27 +28792,8 @@ self: { }: mkDerivation { pname = "antiope-athena"; - version = "6.2.0"; - sha256 = "0kd31s399rddcjj8ayvki85j66xlkb7gh0jgfwxmxcxp3x4gs0xi"; - libraryHaskellDepends = [ - amazonka amazonka-athena amazonka-core base lens resourcet text - unliftio-core - ]; - testHaskellDepends = [ - amazonka amazonka-athena amazonka-core base lens resourcet text - unliftio-core - ]; - license = stdenv.lib.licenses.mit; - }) {}; - - "antiope-athena_6_3_0" = callPackage - ({ mkDerivation, amazonka, amazonka-athena, amazonka-core, base - , lens, resourcet, text, unliftio-core - }: - mkDerivation { - pname = "antiope-athena"; - version = "6.3.0"; - sha256 = "0yzvzhwl92k1v50w1jzlz2zq5rp7n6x1j51fpqrqq97vj7vqzfsq"; + version = "7.3.0"; + sha256 = "1ixrpfc1yrvzigv5mid12s9yill5x0yvr5xfzwl9plm9jpzjjvv9"; libraryHaskellDepends = [ amazonka amazonka-athena amazonka-core base lens resourcet text unliftio-core @@ -27284,294 +28802,217 @@ self: { amazonka amazonka-athena amazonka-core base lens resourcet text unliftio-core ]; + description = "Please see the README on Github at "; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antiope-contract" = callPackage ({ mkDerivation, aeson, antiope-s3, avro, base, bytestring, text }: mkDerivation { pname = "antiope-contract"; - version = "6.3.0"; - sha256 = "1d9z3vm7ab6fn0b1v0795v36x36j7lczjgkn2krx7zxq7srzf77l"; + version = "7.3.0"; + sha256 = "0alg9nfwgyrvwxi8syrarqhf8din9dayvvll2078zl82r1x8hmgb"; libraryHaskellDepends = [ aeson antiope-s3 avro base bytestring text ]; + description = "Please see the README on Github at "; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antiope-core" = callPackage - ({ mkDerivation, amazonka, amazonka-core, base, bytestring - , exceptions, generic-lens, http-client, http-types, lens - , monad-logger, mtl, resourcet, text, transformers, unliftio-core + ({ mkDerivation, aeson, aeson-lens, amazonka, amazonka-core, base + , bytestring, exceptions, generic-lens, hedgehog, hspec + , http-client, http-types, hw-hspec-hedgehog, lens, mtl, resourcet + , scientific, text, transformers, unliftio-core }: mkDerivation { pname = "antiope-core"; - version = "6.2.0"; - sha256 = "0g3bhh8vdnkd5h9savhjc053jbb4k7b7chbzcjjqd4kj95v8jmr3"; + version = "7.3.0"; + sha256 = "0x2lz5ljxdd2d0fv3srn6v6az1dacb83n16fshnm27z9vgnzvfjc"; libraryHaskellDepends = [ - amazonka amazonka-core base bytestring exceptions generic-lens - http-client http-types lens monad-logger mtl resourcet text + aeson amazonka amazonka-core base bytestring exceptions + generic-lens http-client http-types lens mtl resourcet text transformers unliftio-core ]; testHaskellDepends = [ - amazonka amazonka-core base bytestring exceptions generic-lens - http-client http-types lens monad-logger mtl resourcet text - transformers unliftio-core - ]; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "antiope-core_6_3_0" = callPackage - ({ mkDerivation, amazonka, amazonka-core, base, bytestring - , exceptions, generic-lens, http-client, http-types, lens - , monad-logger, mtl, resourcet, text, transformers, unliftio-core - }: - mkDerivation { - pname = "antiope-core"; - version = "6.3.0"; - sha256 = "001qkmiild396pg9hnw776djygjm692k1w9bmckn6l9ahiz8yah0"; - libraryHaskellDepends = [ - amazonka amazonka-core base bytestring exceptions generic-lens - http-client http-types lens monad-logger mtl resourcet text - transformers unliftio-core - ]; - testHaskellDepends = [ - amazonka amazonka-core base bytestring exceptions generic-lens - http-client http-types lens monad-logger mtl resourcet text - transformers unliftio-core + aeson aeson-lens amazonka amazonka-core base bytestring exceptions + generic-lens hedgehog hspec http-client http-types + hw-hspec-hedgehog lens mtl resourcet scientific text transformers + unliftio-core ]; + description = "Please see the README on Github at "; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antiope-dynamodb" = callPackage - ({ mkDerivation, amazonka, amazonka-core, amazonka-dynamodb + ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-dynamodb , antiope-core, base, generic-lens, lens, text, unliftio-core , unordered-containers }: mkDerivation { pname = "antiope-dynamodb"; - version = "6.2.0"; - sha256 = "1kv6ihb6829fbgzz489sg0zyz02rp9p8wk90w4x3sjsynf8djrjj"; + version = "7.3.0"; + sha256 = "04izlg44mz7xv529q2m6j47hcxfca1zrk1fl11rcixdfi3iwfmvf"; libraryHaskellDepends = [ - amazonka amazonka-core amazonka-dynamodb antiope-core base - generic-lens lens text unliftio-core unordered-containers - ]; - testHaskellDepends = [ - amazonka amazonka-core amazonka-dynamodb antiope-core base - generic-lens lens text unliftio-core unordered-containers - ]; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "antiope-dynamodb_6_3_0" = callPackage - ({ mkDerivation, amazonka, amazonka-core, amazonka-dynamodb - , antiope-core, base, generic-lens, lens, text, unliftio-core - , unordered-containers - }: - mkDerivation { - pname = "antiope-dynamodb"; - version = "6.3.0"; - sha256 = "0912726sm6g2ssrzni3ldiavb506wa51ib07n4gm8vapzhnwxxlb"; - libraryHaskellDepends = [ - amazonka amazonka-core amazonka-dynamodb antiope-core base + aeson amazonka amazonka-core amazonka-dynamodb antiope-core base generic-lens lens text unliftio-core unordered-containers ]; testHaskellDepends = [ amazonka amazonka-core amazonka-dynamodb antiope-core base generic-lens lens text unliftio-core unordered-containers ]; + description = "Please see the README on Github at "; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antiope-messages" = callPackage - ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3 - , amazonka-sqs, antiope-s3, base, generic-lens, lens, lens-aeson - , monad-loops, network-uri, text, unliftio-core + ({ mkDerivation, aeson, amazonka, amazonka-core, base, bytestring + , generic-lens, hedgehog, hspec, hw-hspec-hedgehog, lens + , lens-aeson, monad-loops, network-uri, scientific, text + , unliftio-core }: mkDerivation { pname = "antiope-messages"; - version = "6.2.0"; - sha256 = "11zkyfv06fsqxznr36hh563yz401y3wg2a5hc6x6ydza4xdnrzdz"; + version = "7.3.0"; + sha256 = "13mm39hbwmlhg1qv61nv0rs6kvw784k2ynrfd9yi1zlr5zycgwlm"; libraryHaskellDepends = [ - aeson amazonka amazonka-core amazonka-s3 amazonka-sqs antiope-s3 - base generic-lens lens lens-aeson monad-loops network-uri text - unliftio-core + aeson amazonka amazonka-core base bytestring generic-lens lens + lens-aeson monad-loops network-uri text unliftio-core ]; testHaskellDepends = [ - aeson amazonka amazonka-core amazonka-s3 amazonka-sqs antiope-s3 - base generic-lens lens lens-aeson monad-loops network-uri text - unliftio-core + aeson amazonka amazonka-core base bytestring generic-lens hedgehog + hspec hw-hspec-hedgehog lens lens-aeson monad-loops network-uri + scientific text unliftio-core ]; + description = "Please see the README on Github at "; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "antiope-messages_6_3_0" = callPackage - ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3 - , amazonka-sqs, antiope-s3, base, generic-lens, lens, lens-aeson - , monad-loops, network-uri, text, unliftio-core + "antiope-optparse-applicative" = callPackage + ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3, base + , hedgehog, hspec, hw-hspec-hedgehog, optparse-applicative, text }: mkDerivation { - pname = "antiope-messages"; - version = "6.3.0"; - sha256 = "0yg38mayxzm7awgn0jczyh3vkyvhm3nmi47vry7knws916xrpr4x"; + pname = "antiope-optparse-applicative"; + version = "7.3.0"; + sha256 = "1qgd4mb99vpjswxca6l10ghg3d63vlqj3wc87afdcddfwa50f1zr"; libraryHaskellDepends = [ - aeson amazonka amazonka-core amazonka-s3 amazonka-sqs antiope-s3 - base generic-lens lens lens-aeson monad-loops network-uri text - unliftio-core + amazonka amazonka-core amazonka-s3 base optparse-applicative text ]; testHaskellDepends = [ - aeson amazonka amazonka-core amazonka-s3 amazonka-sqs antiope-s3 - base generic-lens lens lens-aeson monad-loops network-uri text - unliftio-core + aeson amazonka amazonka-core amazonka-s3 base hedgehog hspec + hw-hspec-hedgehog ]; + description = "Please see the README on Github at "; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antiope-s3" = callPackage - ({ mkDerivation, amazonka, amazonka-core, amazonka-s3, antiope-core - , attoparsec, base, bytestring, conduit, conduit-extra, exceptions - , generic-lens, hedgehog, hspec, http-types, hw-hspec-hedgehog - , lens, monad-logger, mtl, network-uri, resourcet, text - , unliftio-core + ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3 + , antiope-core, antiope-messages, attoparsec, base, bytestring + , conduit, conduit-extra, exceptions, generic-lens, hedgehog, hspec + , http-types, hw-hspec-hedgehog, lens, mtl, network-uri, resourcet + , text, time, unliftio-core }: mkDerivation { pname = "antiope-s3"; - version = "6.2.0"; - sha256 = "1gb9ypj5gp6qkzncg44sja35pw2s6qg7msjrlcvhdfbcjs6pxrqj"; + version = "7.3.0"; + sha256 = "03qkvaz95qfqrildz92qhrnrny4i00p2l89j5p7miwxbdfzy7ga9"; libraryHaskellDepends = [ - amazonka amazonka-core amazonka-s3 antiope-core attoparsec base - bytestring conduit conduit-extra exceptions generic-lens http-types - lens monad-logger mtl network-uri resourcet text unliftio-core + aeson amazonka amazonka-core amazonka-s3 antiope-core + antiope-messages attoparsec base bytestring conduit conduit-extra + exceptions generic-lens http-types lens mtl network-uri resourcet + text time unliftio-core ]; testHaskellDepends = [ - amazonka amazonka-core amazonka-s3 antiope-core attoparsec base - bytestring conduit conduit-extra exceptions generic-lens hedgehog - hspec http-types hw-hspec-hedgehog lens monad-logger mtl - network-uri resourcet text unliftio-core - ]; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "antiope-s3_6_3_0" = callPackage - ({ mkDerivation, amazonka, amazonka-core, amazonka-s3, antiope-core - , attoparsec, base, bytestring, conduit, conduit-extra, exceptions - , generic-lens, hedgehog, hspec, http-types, hw-hspec-hedgehog - , lens, monad-logger, mtl, network-uri, resourcet, text - , unliftio-core - }: - mkDerivation { - pname = "antiope-s3"; - version = "6.3.0"; - sha256 = "00szjn9vbb6xndzs0wpq2hw9a529ldy5y0pckfm3xkd6ap5ifx41"; - libraryHaskellDepends = [ - amazonka amazonka-core amazonka-s3 antiope-core attoparsec base - bytestring conduit conduit-extra exceptions generic-lens http-types - lens monad-logger mtl network-uri resourcet text unliftio-core - ]; - testHaskellDepends = [ - amazonka amazonka-core amazonka-s3 antiope-core attoparsec base - bytestring conduit conduit-extra exceptions generic-lens hedgehog - hspec http-types hw-hspec-hedgehog lens monad-logger mtl - network-uri resourcet text unliftio-core + aeson amazonka amazonka-core amazonka-s3 antiope-core attoparsec + base bytestring conduit conduit-extra exceptions generic-lens + hedgehog hspec http-types hw-hspec-hedgehog lens mtl network-uri + resourcet text time unliftio-core ]; + description = "Please see the README on Github at "; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antiope-sns" = callPackage ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-sns, base - , generic-lens, lens, text, unliftio-core + , bytestring, generic-lens, hedgehog, hspec, hw-hspec-hedgehog + , lens, text, time, unliftio-core }: mkDerivation { pname = "antiope-sns"; - version = "6.2.0"; - sha256 = "0npm9q3vf2njiqwyswxc6xh5psjls0skz29mz22y59sk25m5fmkv"; + version = "7.3.0"; + sha256 = "066ryids04k0sixn9yf0h70jfj55z2g2xkrpqhxnr54sk2jr4njy"; libraryHaskellDepends = [ - aeson amazonka amazonka-core amazonka-sns base generic-lens lens - text unliftio-core + aeson amazonka amazonka-core amazonka-sns base bytestring + generic-lens lens text time unliftio-core ]; testHaskellDepends = [ - aeson amazonka amazonka-core amazonka-sns base generic-lens lens - text unliftio-core - ]; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "antiope-sns_6_3_0" = callPackage - ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-sns, base - , generic-lens, lens, text, unliftio-core - }: - mkDerivation { - pname = "antiope-sns"; - version = "6.3.0"; - sha256 = "0fr51vp8ihlv7pnlrl73knd8wwck1rsw5v4yzm2b8299m7gqd86v"; - libraryHaskellDepends = [ - aeson amazonka amazonka-core amazonka-sns base generic-lens lens - text unliftio-core - ]; - testHaskellDepends = [ - aeson amazonka amazonka-core amazonka-sns base generic-lens lens - text unliftio-core + aeson amazonka amazonka-core amazonka-sns base bytestring + generic-lens hedgehog hspec hw-hspec-hedgehog lens text time + unliftio-core ]; + description = "Please see the README on Github at "; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antiope-sqs" = callPackage - ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3 - , amazonka-sqs, antiope-messages, antiope-s3, base, generic-lens - , lens, lens-aeson, monad-loops, network-uri, text, unliftio-core + ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-sqs, base + , bytestring, conduit, generic-lens, hedgehog, hspec + , hw-hspec-hedgehog, lens, lens-aeson, monad-loops, mtl + , network-uri, split, text, time, unliftio-core + , unordered-containers }: mkDerivation { pname = "antiope-sqs"; - version = "6.2.0"; - sha256 = "0v33diw8cwvfb9b4k24whbyl4apjq67rh36ndn5qr6627kp3b825"; + version = "7.3.0"; + sha256 = "1nhs4v0h0hqjv6ncfy1wpsdsxkbbb0gz45rhf8swm8h2zfv9rqxl"; libraryHaskellDepends = [ - aeson amazonka amazonka-core amazonka-s3 amazonka-sqs - antiope-messages antiope-s3 base generic-lens lens lens-aeson - monad-loops network-uri text unliftio-core + aeson amazonka amazonka-core amazonka-sqs base bytestring conduit + generic-lens lens lens-aeson monad-loops mtl network-uri split text + unliftio-core unordered-containers ]; testHaskellDepends = [ - aeson amazonka amazonka-core amazonka-s3 amazonka-sqs - antiope-messages antiope-s3 base generic-lens lens lens-aeson - monad-loops network-uri text unliftio-core + aeson amazonka amazonka-core amazonka-sqs base bytestring conduit + generic-lens hedgehog hspec hw-hspec-hedgehog lens lens-aeson + monad-loops mtl network-uri text time unliftio-core ]; + description = "Please see the README on Github at "; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "antiope-sqs_6_3_0" = callPackage - ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3 - , amazonka-sqs, antiope-messages, antiope-s3, base, conduit - , generic-lens, lens, lens-aeson, monad-loops, mtl, network-uri - , text, unliftio-core + "antiope-swf" = callPackage + ({ mkDerivation, amazonka-swf, base, hedgehog, hspec + , hw-hspec-hedgehog, lens, text }: mkDerivation { - pname = "antiope-sqs"; - version = "6.3.0"; - sha256 = "0a1kkzy9nldhwgh8xvnp4lqv49gpm6q9prnv2bgwlp00izy2r5s1"; - libraryHaskellDepends = [ - aeson amazonka amazonka-core amazonka-s3 amazonka-sqs - antiope-messages antiope-s3 base conduit generic-lens lens - lens-aeson monad-loops mtl network-uri text unliftio-core - ]; - testHaskellDepends = [ - aeson amazonka amazonka-core amazonka-s3 amazonka-sqs - antiope-messages antiope-s3 base conduit generic-lens lens - lens-aeson monad-loops mtl network-uri text unliftio-core - ]; + pname = "antiope-swf"; + version = "7.3.0"; + sha256 = "1jqhq0ifdv8dqsnqsyb814nqq987fvng04gg8sbz5cjds7nm1c0m"; + libraryHaskellDepends = [ amazonka-swf base lens text ]; + testHaskellDepends = [ base hedgehog hspec hw-hspec-hedgehog ]; + description = "Please see the README on Github at "; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antiprimes" = callPackage @@ -27612,6 +29053,7 @@ self: { description = "An engine for text-based dungeons"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antlr-haskell" = callPackage @@ -27637,6 +29079,7 @@ self: { description = "A Haskell implementation of the ANTLR top-down parser generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "antlrc" = callPackage @@ -27658,6 +29101,7 @@ self: { description = "Haskell binding to the ANTLR parser generator C runtime library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {antlr3c = null;}; "anydbm" = callPackage @@ -27674,6 +29118,7 @@ self: { description = "Interface for DBM-like database systems"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aos-signature" = callPackage @@ -27715,6 +29160,7 @@ self: { description = "Bindings to libaosd, a library for Cairo-based on-screen displays"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libaosd;}; "ap-reflect" = callPackage @@ -27776,26 +29222,23 @@ self: { description = "Get all your structure and rip it apart"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apecs" = callPackage - ({ mkDerivation, base, containers, criterion, linear, mtl + ({ mkDerivation, array, base, containers, criterion, linear, mtl , QuickCheck, template-haskell, vector }: mkDerivation { pname = "apecs"; - version = "0.7.1"; - sha256 = "0cvjqv6zbjzvp01ikfx5lkwb7fbq25555rbvfriwhsfjqanw5pj7"; - revision = "1"; - editedCabalFile = "14v5704fhysxpip0s7bfsg073kfbal3b0335s9nb14nwwak7bsyn"; + version = "0.8.1"; + sha256 = "10m3lbfg97psnk3z2ml1q9g2ymwa2fnsknrh6ggp9k5c7mskslv0"; libraryHaskellDepends = [ - base containers mtl template-haskell vector - ]; - testHaskellDepends = [ - base containers criterion linear QuickCheck vector + array base containers mtl template-haskell vector ]; + testHaskellDepends = [ base containers linear QuickCheck vector ]; benchmarkHaskellDepends = [ base criterion linear ]; - description = "Fast ECS framework for game programming"; + description = "Fast Entity-Component-System library for game programming"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -27805,8 +29248,8 @@ self: { }: mkDerivation { pname = "apecs-gloss"; - version = "0.2.0"; - sha256 = "0qkdjanbrnwhxzr168xwrnhcd1hwsymlb1nvsb1mrklzj93amfvh"; + version = "0.2.3"; + sha256 = "0f2cvjlsf00w69a6m52pwcp9srk441qfzbpdvdwh8pm2vl6nax69"; libraryHaskellDepends = [ apecs apecs-physics base containers gloss linear ]; @@ -27820,8 +29263,8 @@ self: { }: mkDerivation { pname = "apecs-physics"; - version = "0.3.1"; - sha256 = "0ij8wv9vrard7nfh8hhzrs9j7w5jlw3353w396alwnbb40hvk7gj"; + version = "0.4.2"; + sha256 = "0jqylv937c4y4jygqyb127n9lvvmss52pz7rcwq7x3qc3k5mwgnh"; setupHaskellDepends = [ base Cabal ]; libraryHaskellDepends = [ apecs base containers inline-c linear template-haskell vector @@ -27830,6 +29273,23 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "apecs-physics_0_4_3" = callPackage + ({ mkDerivation, apecs, base, Cabal, containers, inline-c, linear + , template-haskell, vector + }: + mkDerivation { + pname = "apecs-physics"; + version = "0.4.3"; + sha256 = "1d1dq50r5hqq3551abn82i35qaq62gsk04h6vzwhi01jrfkjxyxr"; + setupHaskellDepends = [ base Cabal ]; + libraryHaskellDepends = [ + apecs base containers inline-c linear template-haskell vector + ]; + description = "2D physics for apecs"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "apecs-physics-gloss" = callPackage ({ mkDerivation, apecs, apecs-physics, base, gloss }: mkDerivation { @@ -27847,14 +29307,16 @@ self: { }: mkDerivation { pname = "apecs-stm"; - version = "0.1.1"; - sha256 = "0d0l48fynsk84y2ifb004dpr39s2hdcwrgfp1ds3qff6784sh66b"; + version = "0.1.2"; + sha256 = "0wq20ibki20xccp7gvajzfmp90m9vr0sdx55m3ni91j76bsswqg8"; libraryHaskellDepends = [ apecs base containers list-t stm stm-containers template-haskell vector ]; description = "STM stores for apecs"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apelsin" = callPackage @@ -27877,30 +29339,30 @@ self: { description = "Server and community browser for the game Tremulous"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "api-builder" = callPackage ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal , containers, hspec, HTTP, http-client, http-client-tls, http-types - , text, tls, transformers + , QuickCheck, text, tls, transformers }: mkDerivation { pname = "api-builder"; - version = "0.15.0.0"; - sha256 = "1bjqg484z9si3pyfwpvcakm0y71gca80bh6j1njc0qnjf2ddd3ad"; - revision = "1"; - editedCabalFile = "0sw6vdnzlqyv9n7gdhy1ibh7vrzfflc1cy2q558a4i23gn74k74s"; + version = "0.16.0.0"; + sha256 = "1va2h0sbmx15a29ffmnqqidwzj1kk6dbcgdlcx2lpfk3cwwnpj8m"; libraryHaskellDepends = [ aeson base bifunctors bytestring HTTP http-client http-client-tls http-types text tls transformers ]; testHaskellDepends = [ - aeson base bytestring Cabal containers hspec http-client text - transformers + aeson base bytestring Cabal containers hspec http-client QuickCheck + text transformers ]; description = "Library for easily building REST API wrappers in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "api-field-json-th" = callPackage @@ -27919,6 +29381,30 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "api-monobank" = callPackage + ({ mkDerivation, aeson, base, bytestring, hs-coindesk-api + , http-client, http-client-tls, http-conduit, servant + , servant-client, stm, text, time + }: + mkDerivation { + pname = "api-monobank"; + version = "0.1.3.0"; + sha256 = "0ajp0wv3nkv2db9bx68mq67ag46s2b26p80fx9ypw8nqhnkddg0g"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base bytestring http-client http-client-tls http-conduit + servant servant-client text time + ]; + executableHaskellDepends = [ + aeson base bytestring http-client http-conduit stm text time + ]; + testHaskellDepends = [ base bytestring hs-coindesk-api ]; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {hs-coindesk-api = null;}; + "api-opentheory-unicode" = callPackage ({ mkDerivation, base, bytestring, directory, opentheory-unicode }: mkDerivation { @@ -27967,6 +29453,29 @@ self: { description = "DSL for generating API boilerplate and docs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "api-yoti" = callPackage + ({ mkDerivation, aeson, base, base64-bytestring, bytestring + , containers, crypto-pubkey-openssh, crypto-pubkey-types + , crypto-simple, cryptonite, directory, hashable, memory, mtl, pem + , text, time, transformers, wreq + }: + mkDerivation { + pname = "api-yoti"; + version = "0.1.0.0"; + sha256 = "1c2jb9qzfzkcbcxabc7xvqc6npdm23dglpd9zqic7wafm7jdmf0s"; + libraryHaskellDepends = [ + aeson base base64-bytestring bytestring containers + crypto-pubkey-openssh crypto-pubkey-types crypto-simple cryptonite + directory hashable memory mtl pem text time transformers wreq + ]; + testHaskellDepends = [ base bytestring text ]; + description = "Api bindings for Yoti services"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary" = callPackage @@ -28000,6 +29509,7 @@ self: { description = "Simple and type safe web framework that generate web API documentation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-authenticate" = callPackage @@ -28020,6 +29530,7 @@ self: { description = "authenticate support for apiary web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-clientsession" = callPackage @@ -28038,6 +29549,7 @@ self: { description = "clientsession support for apiary web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-cookie" = callPackage @@ -28054,6 +29566,7 @@ self: { description = "Cookie support for apiary web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-eventsource" = callPackage @@ -28066,6 +29579,7 @@ self: { description = "eventsource support for apiary web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-helics" = callPackage @@ -28086,6 +29600,7 @@ self: { description = "helics support for apiary web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-http-client" = callPackage @@ -28103,6 +29618,7 @@ self: { description = "A http client for Apiary"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-logger" = callPackage @@ -28121,6 +29637,7 @@ self: { description = "fast-logger support for apiary web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-memcached" = callPackage @@ -28140,6 +29657,7 @@ self: { description = "memcached client for apiary web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-mongoDB" = callPackage @@ -28158,6 +29676,7 @@ self: { description = "mongoDB support for apiary web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-persistent" = callPackage @@ -28176,6 +29695,7 @@ self: { description = "persistent support for apiary web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-purescript" = callPackage @@ -28196,6 +29716,7 @@ self: { description = "purescript compiler for apiary web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-redis" = callPackage @@ -28208,6 +29729,7 @@ self: { description = "redis support for apiary web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-session" = callPackage @@ -28220,6 +29742,7 @@ self: { description = "session support for apiary web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apiary-websockets" = callPackage @@ -28232,6 +29755,7 @@ self: { description = "websockets support for apiary web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apioiaf-client" = callPackage @@ -28265,6 +29789,7 @@ self: { description = "A Template Haskell library for generating type safe API calls"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apns-http2" = callPackage @@ -28294,6 +29819,7 @@ self: { description = "Apple Push Notification service HTTP/2 integration"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apotiki" = callPackage @@ -28324,6 +29850,7 @@ self: { description = "a faster debian repository"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "app-lens" = callPackage @@ -28339,6 +29866,7 @@ self: { description = "applicative (functional) bidirectional programming beyond composition chains"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "app-settings" = callPackage @@ -28363,8 +29891,8 @@ self: { ({ mkDerivation, base, bytestring }: mkDerivation { pname = "appar"; - version = "0.1.7"; - sha256 = "07zjgx7xpjgkjqvga0wv542cyrjzh1mszlczg82nbmij2cflzppn"; + version = "0.1.8"; + sha256 = "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"; libraryHaskellDepends = [ base bytestring ]; description = "A simple applicative parser"; license = stdenv.lib.licenses.bsd3; @@ -28394,6 +29922,7 @@ self: { description = "app container types and tools"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "appendmap" = callPackage @@ -28436,6 +29965,7 @@ self: { description = "Applicative functor and monad which collects all your fails"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "applicative-numbers" = callPackage @@ -28464,6 +29994,7 @@ self: { description = "An applicative parser combinator library"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "applicative-quoters" = callPackage @@ -28478,6 +30009,7 @@ self: { description = "Quasiquoters for idiom brackets and an applicative do-notation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "applicative-splice" = callPackage @@ -28494,6 +30026,7 @@ self: { description = "Write applicative programs in direct style (generalizes idiom brackets)"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "apply-refact_0_3_0_1" = callPackage @@ -28570,6 +30103,35 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "approveapi" = callPackage + ({ mkDerivation, aeson, base, base64-bytestring, bytestring + , case-insensitive, containers, deepseq, exceptions, hspec + , http-api-data, http-client, http-client-tls, http-media + , http-types, iso8601-time, katip, microlens, mtl, network + , QuickCheck, random, safe-exceptions, semigroups, text, time + , transformers, unordered-containers, vector + }: + mkDerivation { + pname = "approveapi"; + version = "0.1.3.0"; + sha256 = "1ylqv8vgz1nzndgms1rjn2fcqjymlx80xfyil0si2h0jxwxbwfr5"; + libraryHaskellDepends = [ + aeson base base64-bytestring bytestring case-insensitive containers + deepseq exceptions http-api-data http-client http-client-tls + http-media http-types iso8601-time katip microlens mtl network + random safe-exceptions text time transformers unordered-containers + vector + ]; + testHaskellDepends = [ + aeson base bytestring containers hspec iso8601-time mtl QuickCheck + semigroups text time transformers unordered-containers vector + ]; + description = "ApproveAPI Haskell Client"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "approx-rand-test" = callPackage ({ mkDerivation, base, Chart, Chart-diagrams, colour, conduit , containers, data-default, data-default-class, filepath, HUnit @@ -28670,6 +30232,7 @@ self: { description = "Pure Haskell arbitrary length FFT library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arbb-vm" = callPackage @@ -28687,22 +30250,23 @@ self: { description = "FFI binding to the Intel Array Building Blocks (ArBB) virtual machine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {arbb_dev = null;}; "arbor-datadog" = callPackage ({ mkDerivation, aeson, auto-update, base, buffer-builder , bytestring, Cabal, dlist, generic-lens, hspec, lens, mtl, network - , random, resourcet, text, time, transformers, unordered-containers - , vector + , optparse-applicative, random, resourcet, text, time, transformers + , unordered-containers, vector }: mkDerivation { pname = "arbor-datadog"; - version = "0.0.0.1"; - sha256 = "0lc3c2jnn2kmfyg7xgsnkgzkfir1ycn6qyq1z44501g360wrq0cv"; + version = "0.1.0.0"; + sha256 = "1w7bg8vj10mplfq39klhivj8hfb2cbgw9vhj1h64gm9v2xw25wlq"; libraryHaskellDepends = [ aeson auto-update base buffer-builder bytestring dlist generic-lens - lens mtl network random resourcet text time transformers - unordered-containers vector + lens mtl network optparse-applicative random resourcet text time + transformers unordered-containers vector ]; testHaskellDepends = [ base Cabal generic-lens hspec lens network resourcet time @@ -28710,7 +30274,6 @@ self: { ]; description = "Datadog client for Haskell"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "arbor-lru-cache" = callPackage @@ -28727,7 +30290,6 @@ self: { stm ]; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "arbor-monad-counter" = callPackage @@ -28746,7 +30308,27 @@ self: { mtl resourcet stm transformers ]; license = stdenv.lib.licenses.mit; + }) {}; + + "arbor-monad-logger" = callPackage + ({ mkDerivation, base, bytestring, fast-logger, hedgehog, hspec + , hw-hspec-hedgehog, monad-logger, mtl, optparse-applicative, text + }: + mkDerivation { + pname = "arbor-monad-logger"; + version = "0.1.1.1"; + sha256 = "13lgpr2j2vq2d4mbxl72h86iw5n028m5q0n2hbiz4hgk2yn2f2hs"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring fast-logger monad-logger optparse-applicative text + ]; + executableHaskellDepends = [ base mtl ]; + testHaskellDepends = [ base hedgehog hspec hw-hspec-hedgehog ]; + description = "Simple logging library"; + license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arbor-monad-metric" = callPackage @@ -28756,8 +30338,8 @@ self: { }: mkDerivation { pname = "arbor-monad-metric"; - version = "1.1.1"; - sha256 = "1ypacqjd7hf5s7r4w432v9yndxxb40w9kwhxhlqzc4wim798vj3h"; + version = "1.2.0"; + sha256 = "0mn6pc5h1rwd3w2cw393skm62yxii21j5f7q9rlpdw7np9xgwfcf"; libraryHaskellDepends = [ base containers generic-lens lens mtl resourcet stm text transformers @@ -28770,6 +30352,7 @@ self: { description = "Core metric library for publishing metrics"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arbor-monad-metric-datadog" = callPackage @@ -28780,8 +30363,8 @@ self: { }: mkDerivation { pname = "arbor-monad-metric-datadog"; - version = "1.0.0"; - sha256 = "07hqghjrl25ky0rn4mnwia5b90zhf88w6zkqyscs527c0c6dkybc"; + version = "1.1.0"; + sha256 = "1ly7vn630vm256jg1b6h39vzd7zv658h7j4vfv4jkdrrcl3jmbr0"; libraryHaskellDepends = [ arbor-datadog arbor-monad-metric base bytestring containers generic-lens lens mtl network resourcet stm text transformers @@ -28795,6 +30378,7 @@ self: { description = "Metric library backend for datadog"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arbor-postgres" = callPackage @@ -28803,8 +30387,8 @@ self: { }: mkDerivation { pname = "arbor-postgres"; - version = "0.0.3"; - sha256 = "18rqy2zyaf5cawn8dkn3xmjh19zzqgwj6mkk415x5a4p53dya46b"; + version = "0.0.4"; + sha256 = "0z3n2w9a57sl24i7h4yz8204drwkgr54pr2yrjam4xs3dyx6irf4"; libraryHaskellDepends = [ base bytestring generic-lens lens network-uri optparse-applicative postgresql-simple text @@ -28812,6 +30396,7 @@ self: { description = "Convenience types and functions for postgresql-simple"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arbtt" = callPackage @@ -28824,8 +30409,8 @@ self: { }: mkDerivation { pname = "arbtt"; - version = "0.10.1"; - sha256 = "09n6v32yz612ag4acjd4jwnmv0ljarxi3b7v2mp4bj18c2gx1wbq"; + version = "0.10.2"; + sha256 = "02izfga7nv2saq4d1xwigq41hhbc02830sjppqsqw6vcb8082vs1"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -28841,7 +30426,6 @@ self: { ]; description = "Automatic Rule-Based Time Tracker"; license = stdenv.lib.licenses.gpl2; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "arcgrid" = callPackage @@ -28896,6 +30480,34 @@ self: { broken = true; }) {debian-mirror = null; help = null;}; + "archive-sig" = callPackage + ({ mkDerivation, base, bytestring, composition-prelude + , dir-traverse + }: + mkDerivation { + pname = "archive-sig"; + version = "0.2.0.1"; + sha256 = "1x7kpyxfhn4i9c9wrxwda53qyj4jgw9vd3wfrzxvdfj5wdrdn79d"; + libraryHaskellDepends = [ + base bytestring composition-prelude dir-traverse + ]; + description = "Backpack signature for archive libraries"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "archive-tar" = callPackage + ({ mkDerivation, base, bytestring, composition-prelude, tar }: + mkDerivation { + pname = "archive-tar"; + version = "0.2.0.0"; + sha256 = "0svbxr9734ysskilv5kvhfd7s436spn149pb5bcsq3hjz1zq5xq7"; + libraryHaskellDepends = [ + base bytestring composition-prelude tar + ]; + description = "Common interface using the tar package"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "archiver" = callPackage ({ mkDerivation, base, bytestring, containers, curl, HTTP, network , process, random @@ -28913,6 +30525,7 @@ self: { description = "Archive supplied URLs in WebCite & Internet Archive"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "archlinux" = callPackage @@ -28929,6 +30542,7 @@ self: { description = "Support for working with Arch Linux packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "archlinux-web" = callPackage @@ -28955,6 +30569,7 @@ self: { description = "Website maintenance for Arch Linux packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "archnews" = callPackage @@ -28971,6 +30586,7 @@ self: { description = "Convert Arch Linux package updates in RSS to pretty markdown"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arena" = callPackage @@ -28997,6 +30613,7 @@ self: { description = "A journaled data store"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arff" = callPackage @@ -29014,6 +30631,7 @@ self: { description = "Generate Attribute-Relation File Format (ARFF) files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arghwxhaskell" = callPackage @@ -29028,6 +30646,7 @@ self: { description = "An interpreter for the Argh! programming language in wxHaskell"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "argon" = callPackage @@ -29055,6 +30674,7 @@ self: { description = "Measure your code's complexity"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "argon2" = callPackage @@ -29074,6 +30694,7 @@ self: { description = "Memory-hard password hash and proof-of-work function"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "argparser" = callPackage @@ -29087,6 +30708,7 @@ self: { description = "Command line parsing framework for console applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arguedit" = callPackage @@ -29105,6 +30727,7 @@ self: { description = "A computer assisted argumentation transcription and editing software"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ariadne" = callPackage @@ -29133,6 +30756,7 @@ self: { description = "Go-to-definition for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arion" = callPackage @@ -29157,6 +30781,7 @@ self: { description = "Watcher and runner for Hspec"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arith-encode" = callPackage @@ -29178,6 +30803,7 @@ self: { description = "A practical arithmetic encoding (aka Godel numbering) library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arithmatic" = callPackage @@ -29198,8 +30824,8 @@ self: { }: mkDerivation { pname = "arithmetic"; - version = "1.2"; - sha256 = "0yipdx61ky9db46fy2cbal4qc9y94arkcj4z1dj28bx7j7fnmvzk"; + version = "1.4"; + sha256 = "1qydk2sxrm0xfv23b354lfilyl2cnc0gc0842rz3672j3xwzrrfa"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -29221,30 +30847,31 @@ self: { "arithmoi" = callPackage ({ mkDerivation, array, base, containers, deepseq, exact-pi, gauge , ghc-prim, integer-gmp, integer-logarithms, QuickCheck, random - , smallcheck, tasty, tasty-hunit, tasty-quickcheck + , semirings, smallcheck, tasty, tasty-hunit, tasty-quickcheck , tasty-smallcheck, transformers, vector }: mkDerivation { pname = "arithmoi"; - version = "0.8.0.0"; - sha256 = "17nk0n89fb0qh6w8535ll45mq4msir32w6fhqzpzhlpbily3mlw2"; - revision = "2"; - editedCabalFile = "1jv5ch28pjiq3a83hyvknzfwmsbwgqs6g9618z79ss3385k0cwl9"; + version = "0.9.0.0"; + sha256 = "0c1s93kf44ghhnvzhmnld4visx59pwvadfiww9smqisgjl6mpsa3"; configureFlags = [ "-f-llvm" ]; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ array base containers deepseq exact-pi ghc-prim integer-gmp - integer-logarithms random transformers vector + integer-logarithms random semirings transformers vector ]; testHaskellDepends = [ - base containers exact-pi integer-gmp QuickCheck smallcheck tasty - tasty-hunit tasty-quickcheck tasty-smallcheck transformers vector + base containers exact-pi integer-gmp QuickCheck semirings + smallcheck tasty tasty-hunit tasty-quickcheck tasty-smallcheck + transformers vector ]; benchmarkHaskellDepends = [ - base containers deepseq gauge integer-logarithms random vector + array base containers deepseq gauge integer-logarithms random + vector ]; description = "Efficient basic number-theoretic functions"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "arity-generic-liftA" = callPackage @@ -29273,6 +30900,7 @@ self: { description = "Space-based real time strategy game"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "armor" = callPackage @@ -29294,6 +30922,7 @@ self: { description = "Prevent serialization backwards compatibility problems using golden tests"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arpa" = callPackage @@ -29309,6 +30938,7 @@ self: { description = "Library for reading ARPA n-gram models"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arpack" = callPackage @@ -29333,6 +30963,7 @@ self: { description = "Solve large scale eigenvalue problems"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) arpack;}; "array_0_5_3_0" = callPackage @@ -29347,6 +30978,23 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "array-chunks" = callPackage + ({ mkDerivation, base, primitive, QuickCheck, quickcheck-classes + , tasty, tasty-hunit, tasty-quickcheck + }: + mkDerivation { + pname = "array-chunks"; + version = "0.1.0.0"; + sha256 = "15x8l8m953ws3253zvxg4q0q0qqcc34wawijnzmq87y39g9ghlag"; + libraryHaskellDepends = [ base primitive ]; + testHaskellDepends = [ + base primitive QuickCheck quickcheck-classes tasty tasty-hunit + tasty-quickcheck + ]; + description = "Lists of chunks"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "array-forth" = callPackage ({ mkDerivation, array, base, HUnit, mcmc-synthesis , modular-arithmetic, MonadRandom, OddWord, QuickCheck, split @@ -29371,6 +31019,7 @@ self: { description = "A simple interpreter for arrayForth, the language used on GreenArrays chips"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "array-memoize" = callPackage @@ -29400,6 +31049,7 @@ self: { description = "Extra foreign primops for primitive arrays"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "array-utils" = callPackage @@ -29428,6 +31078,8 @@ self: { ]; description = "Memory-efficient ArrayList implementation"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arrow-extras" = callPackage @@ -29454,6 +31106,7 @@ self: { description = "Improved arrows"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arrow-list" = callPackage @@ -29466,6 +31119,7 @@ self: { description = "List arrows for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arrowapply-utils" = callPackage @@ -29478,6 +31132,7 @@ self: { description = "Utilities for working with ArrowApply instances more naturally"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arrowp" = callPackage @@ -29492,6 +31147,7 @@ self: { description = "preprocessor translating arrow notation into Haskell 98"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arrowp-qq" = callPackage @@ -29513,6 +31169,7 @@ self: { description = "A preprocessor and quasiquoter for translating arrow notation"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arrows" = callPackage @@ -29538,6 +31195,7 @@ self: { description = "A simple, arrow-based reactive programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "artifact" = callPackage @@ -29552,6 +31210,7 @@ self: { description = "Basic types and instances for Valve's Artifact Card-set API"; license = stdenv.lib.licenses.agpl3Plus; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "arx" = callPackage @@ -29590,6 +31249,24 @@ self: { license = "LGPL"; }) {}; + "asap" = callPackage + ({ mkDerivation, base, bytestring, hedgehog, jwt, lens, mtl + , semigroups, text, time, uuid + }: + mkDerivation { + pname = "asap"; + version = "0.0.4"; + sha256 = "08yfangqxmdh2w39fqnicn16jnb1x9f263f99253khx3sv4q7qrf"; + libraryHaskellDepends = [ + base bytestring jwt lens mtl semigroups text time uuid + ]; + testHaskellDepends = [ base hedgehog jwt mtl text time ]; + description = "Atlassian Service Authentication Protocol"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "ascetic" = callPackage ({ mkDerivation, base, MissingH }: mkDerivation { @@ -29658,6 +31335,7 @@ self: { description = "Flattens European non-ASCII characaters into ASCII"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ascii-progress" = callPackage @@ -29688,8 +31366,8 @@ self: { }: mkDerivation { pname = "ascii-string"; - version = "1.0.1.3"; - sha256 = "1m11ms0x5di5qbckh2n7vnqqh94wv9p6zzynglg4ngijqhn4qjls"; + version = "1.0.1.4"; + sha256 = "1hzqckcbinhmsg8866y9gaghz4jvdhy7h5na9q0ylapx6kq71plf"; libraryHaskellDepends = [ base bytestring cereal deepseq deferred-folds foldl hashable primitive primitive-extras @@ -29700,6 +31378,8 @@ self: { ]; description = "Compact representation of ASCII strings"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ascii-table" = callPackage @@ -29708,15 +31388,14 @@ self: { }: mkDerivation { pname = "ascii-table"; - version = "0.3.0.1"; - sha256 = "01m7rdvjrn0mrqc100d81ji17f1h8lyqyyp5ydv2xzns8cmrcdzp"; + version = "0.3.0.2"; + sha256 = "04v2dlza1i6xsacm35qc3p5mpv1pny2dij4nz5wwv7p3pybbhvmd"; libraryHaskellDepends = [ aeson base containers dlist hashable text unordered-containers vector wl-pprint-extras ]; description = "ASCII table"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ascii-vector-avc" = callPackage @@ -29740,6 +31419,7 @@ self: { description = "Process Ascii Vectors for Advantest 93k"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ascii85-conduit" = callPackage @@ -29753,6 +31433,7 @@ self: { description = "Conduit for encoding ByteString into Ascii85"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "asciichart" = callPackage @@ -29772,17 +31453,17 @@ self: { "asciidiagram" = callPackage ({ mkDerivation, base, bytestring, containers, directory, filepath , FontyFruity, JuicyPixels, lens, linear, mtl, optparse-applicative - , rasterific-svg, svg-tree, text, vector + , pandoc-types, rasterific-svg, svg-tree, text, vector }: mkDerivation { pname = "asciidiagram"; - version = "1.3.3.2"; - sha256 = "0kbf4jswdyvd0x4yk00ss4yjqla852rd64081lkf1xn7yi0k8d1b"; + version = "1.3.3.3"; + sha256 = "09k1kdaa0xi2fx9vfdlv2w2nxx5x1vnlkz7gp8s998a325w1x7q1"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base bytestring containers FontyFruity JuicyPixels lens linear mtl - rasterific-svg svg-tree text vector + pandoc-types rasterific-svg svg-tree text vector ]; executableHaskellDepends = [ base bytestring directory filepath FontyFruity JuicyPixels @@ -29804,81 +31485,47 @@ self: { description = "Action Script Instrumentation Compiler"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "asif" = callPackage - ({ mkDerivation, attoparsec, base, binary, bytestring, conduit - , conduit-combinators, conduit-extra, containers, cpu, directory - , either, exceptions, generic-lens, hedgehog, hspec, hw-bits - , hw-hspec-hedgehog, hw-ip, iproute, lens, network, old-locale - , optparse-applicative, resourcet, temporary-resourcet, text, thyme - , vector - }: - mkDerivation { - pname = "asif"; - version = "3.2.0"; - sha256 = "0ryg35rl7i89r28l0hpchgmrgmhxwgzxz7jhnwhqfwk5mql08hq0"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - attoparsec base binary bytestring conduit conduit-combinators - conduit-extra containers cpu either exceptions generic-lens hw-bits - hw-ip iproute lens network old-locale resourcet temporary-resourcet - text thyme vector - ]; - executableHaskellDepends = [ - attoparsec base binary bytestring conduit conduit-combinators - conduit-extra containers cpu directory either exceptions - generic-lens hw-bits hw-ip iproute lens network old-locale - optparse-applicative resourcet temporary-resourcet text thyme - vector - ]; - testHaskellDepends = [ - attoparsec base binary bytestring conduit conduit-combinators - conduit-extra containers cpu either exceptions generic-lens - hedgehog hspec hw-bits hw-hspec-hedgehog hw-ip iproute lens network - old-locale resourcet temporary-resourcet text thyme vector - ]; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "asif_4_0_0" = callPackage ({ mkDerivation, attoparsec, base, binary, bytestring, conduit , conduit-combinators, conduit-extra, containers, cpu, directory , either, exceptions, foldl, generic-lens, hedgehog, hspec, hw-bits - , hw-hspec-hedgehog, hw-ip, iproute, lens, network, old-locale + , hw-hspec-hedgehog, hw-ip, lens, network, old-locale , optparse-applicative, profunctors, resourcet, temporary-resourcet , text, thyme, transformers, vector }: mkDerivation { pname = "asif"; - version = "4.0.0"; - sha256 = "1xf5x7jm01w30l2cwb3m9sv5qimnc2n6a6dhrykq81ajcf5ix0p6"; + version = "6.0.1"; + sha256 = "1lbz2i0ijr23vsc3b064khz3kzj1jwikwxcmjlnzkqvgnbr70grw"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ attoparsec base binary bytestring conduit conduit-combinators conduit-extra containers cpu either exceptions foldl generic-lens - hw-bits hw-ip iproute lens network old-locale profunctors resourcet + hw-bits hw-ip lens network old-locale profunctors resourcet temporary-resourcet text thyme transformers vector ]; executableHaskellDepends = [ attoparsec base binary bytestring conduit conduit-combinators conduit-extra containers cpu directory either exceptions foldl - generic-lens hw-bits hw-ip iproute lens network old-locale + generic-lens hw-bits hw-ip lens network old-locale optparse-applicative profunctors resourcet temporary-resourcet text thyme transformers vector ]; testHaskellDepends = [ attoparsec base binary bytestring conduit conduit-combinators conduit-extra containers cpu either exceptions foldl generic-lens - hedgehog hspec hw-bits hw-hspec-hedgehog hw-ip iproute lens network + hedgehog hspec hw-bits hw-hspec-hedgehog hw-ip lens network old-locale profunctors resourcet temporary-resourcet text thyme transformers vector ]; + description = "Library for creating and querying segmented feeds"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "asil" = callPackage @@ -29898,6 +31545,7 @@ self: { description = "Action Script Instrumentation Library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "asn" = callPackage @@ -29913,6 +31561,7 @@ self: { description = "asn type and encoding/decoding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "asn1-codec" = callPackage @@ -29938,6 +31587,7 @@ self: { description = "Encode and decode ASN.1"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "asn1-data" = callPackage @@ -29990,8 +31640,8 @@ self: { ({ mkDerivation, base, bytestring, hourglass, memory }: mkDerivation { pname = "asn1-types"; - version = "0.3.2"; - sha256 = "05vjchyqiy9n275cygffhn0ma7fz7jx52j0dcdm9qm8h9bziymqc"; + version = "0.3.3"; + sha256 = "162lacdl9jr42pdhaj9hxqlba6hjxm6g866anna74q6v3cvw5ssp"; libraryHaskellDepends = [ base bytestring hourglass memory ]; description = "ASN.1 types"; license = stdenv.lib.licenses.bsd3; @@ -30056,6 +31706,7 @@ self: { description = "Helpers for Control.Exception.assert"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "assert-failure" = callPackage @@ -30084,6 +31735,7 @@ self: { description = "A simple testing framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "asset-bundle" = callPackage @@ -30113,6 +31765,7 @@ self: { description = "Asset map support for the JavaScript broccoli-asset-rev library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "assimp" = callPackage @@ -30127,6 +31780,7 @@ self: { description = "The Assimp asset import library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) assimp;}; "assoc" = callPackage @@ -30178,6 +31832,7 @@ self: { description = "A library for constructing AST by using do-notation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ast-monad-json" = callPackage @@ -30193,6 +31848,19 @@ self: { description = "A library for writing JSON"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "ast-path" = callPackage + ({ mkDerivation, base, tasty, tasty-hunit }: + mkDerivation { + pname = "ast-path"; + version = "0.2.0"; + sha256 = "1pal5zw12f2vv7la2ijb6wgh4s3pafy4krsakgz9pcvbx96x1yxg"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base tasty tasty-hunit ]; + description = "vocabulary representation for predicting program properties"; + license = stdenv.lib.licenses.bsd3; }) {}; "astar" = callPackage @@ -30226,6 +31894,7 @@ self: { description = "an incomplete 2d space game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "astro" = callPackage @@ -30264,6 +31933,7 @@ self: { description = "A GTK-based abstract syntax tree viewer for custom languages and parsers"; license = stdenv.lib.licenses.bsdOriginal; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "astview-utils" = callPackage @@ -30283,10 +31953,8 @@ self: { }: mkDerivation { pname = "async"; - version = "2.2.1"; - sha256 = "09whscli1q5z7lzyq9rfk0bq1ydplh6pjmc6qv0x668k5818c2wg"; - revision = "1"; - editedCabalFile = "0lg8c3iixm7vjjq2nydkqswj78i4iyx2k83hgs12z829yj196y31"; + version = "2.2.2"; + sha256 = "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base hashable stm ]; @@ -30328,6 +31996,7 @@ self: { description = "Async combinators"; license = stdenv.lib.licenses.mpl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "async-dejafu" = callPackage @@ -30345,6 +32014,7 @@ self: { description = "Run MonadConc operations asynchronously and wait for their results"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "async-extra" = callPackage @@ -30398,6 +32068,7 @@ self: { description = "A thread manager for async"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "async-pool" = callPackage @@ -30408,8 +32079,8 @@ self: { pname = "async-pool"; version = "0.9.0.2"; sha256 = "1wg78y80zd7qyizyis073dmmvq4s67ni1pkaq31jl5klr49rs5g0"; - revision = "1"; - editedCabalFile = "0w3l3lbnfdm9ihp7pfda4sf1y1cqpc6g6q6wjzafdi088l3lklkn"; + revision = "2"; + editedCabalFile = "1nqqjsgc44fpnsf3v37n0c866s733inssljw7wmd0fdqlxhmijis"; libraryHaskellDepends = [ async base containers fgl monad-control stm transformers transformers-base @@ -30420,7 +32091,6 @@ self: { ]; description = "A modified version of async that supports worker groups and many-to-many task dependencies"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "async-refresh" = callPackage @@ -30484,6 +32154,7 @@ self: { description = "Provides API for timer based execution of IO actions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "asynchronous-exceptions" = callPackage @@ -30496,6 +32167,7 @@ self: { description = "Distinguish between synchronous and asynchronous exceptions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aterm" = callPackage @@ -30508,6 +32180,7 @@ self: { description = "serialisation for Haskell values with sharing support"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aterm-utils" = callPackage @@ -30523,6 +32196,7 @@ self: { description = "Utility functions for working with aterms as generated by Minitermite"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "atl" = callPackage @@ -30546,8 +32220,8 @@ self: { }: mkDerivation { pname = "atlassian-connect-core"; - version = "0.8.0.0"; - sha256 = "1gja0q9bxr86wd4cwi6w4iv5bimb37jk7gy5bzc727fp2k75ja42"; + version = "0.8.0.1"; + sha256 = "1h2702rkygjjjni9qfxhmnk49g2182s0js5dx8j0hvdpkg9w4q0l"; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson atlassian-connect-descriptor base base64-bytestring @@ -30560,6 +32234,7 @@ self: { description = "Atlassian Connect snaplet for the Snap Framework and helper code"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) zlib;}; "atlassian-connect-descriptor" = callPackage @@ -30569,8 +32244,8 @@ self: { }: mkDerivation { pname = "atlassian-connect-descriptor"; - version = "0.4.7.0"; - sha256 = "0n9a0bkf525gw1fcik6gmaarf5l7zmn29whiyrcp3dv7afqdfhwa"; + version = "0.4.9.0"; + sha256 = "1wgfgdimfp2fnd630s8288dciip26ysl7p0lmvm321migm22idq9"; libraryHaskellDepends = [ aeson base cases network network-uri text time-units unordered-containers @@ -30597,7 +32272,6 @@ self: { ]; description = "1976 US Standard Atmosphere Model"; license = stdenv.lib.licenses.publicDomain; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "atmos-dimensional" = callPackage @@ -30609,7 +32283,6 @@ self: { libraryHaskellDepends = [ atmos base dimensional ]; description = "dimensional wrapper on atmos package"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "atmos-dimensional-tf" = callPackage @@ -30622,6 +32295,7 @@ self: { description = "dimensional-tf wrapper on atmos package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "atndapi" = callPackage @@ -30647,6 +32321,7 @@ self: { description = "An interface of ATND API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "atom" = callPackage @@ -30676,30 +32351,32 @@ self: { }) {}; "atom-conduit" = callPackage - ({ mkDerivation, base, blaze-builder, conduit, data-default - , filepath, lens-simple, parsers, pretty-simple - , quickcheck-instances, refined, resourcet, safe-exceptions, tasty - , tasty-golden, tasty-hunit, tasty-quickcheck, text, time, timerep + ({ mkDerivation, base-noprelude, blaze-builder, conduit + , data-default, filepath, generic-random, lens-simple, parsers + , pretty-simple, prettyprinter, QuickCheck, quickcheck-instances + , refined, relude, resourcet, safe-exceptions, tasty, tasty-golden + , tasty-hunit, tasty-quickcheck, text, time, timerep , uri-bytestring, xml-conduit, xml-types }: mkDerivation { pname = "atom-conduit"; - version = "0.6.0.0"; - sha256 = "1j88cnilxmybjc981a4z4hgsdq94gv386hc1zlbrm8zklq2rpgx2"; + version = "0.7.0.0"; + sha256 = "1xl2p06s26zm65sn9a13bzcq30d5vggnq32s8f51ss86b4h431q2"; libraryHaskellDepends = [ - base blaze-builder conduit lens-simple parsers refined - safe-exceptions text time timerep uri-bytestring xml-conduit - xml-types + base-noprelude blaze-builder conduit lens-simple parsers + prettyprinter refined relude safe-exceptions text time timerep + uri-bytestring xml-conduit xml-types ]; testHaskellDepends = [ - base blaze-builder conduit data-default filepath lens-simple - parsers pretty-simple quickcheck-instances refined resourcet - safe-exceptions tasty tasty-golden tasty-hunit tasty-quickcheck + base-noprelude conduit data-default filepath generic-random + lens-simple pretty-simple QuickCheck quickcheck-instances refined + relude resourcet tasty tasty-golden tasty-hunit tasty-quickcheck text time uri-bytestring xml-conduit xml-types ]; description = "Streaming parser/renderer for the Atom 1.0 standard (RFC 4287)."; - license = stdenv.lib.licenses.publicDomain; + license = stdenv.lib.licenses.cc0; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "atom-msp430" = callPackage @@ -30712,6 +32389,7 @@ self: { description = "Convenience functions for using Atom with the MSP430 microcontroller family"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "atomic-file-ops" = callPackage @@ -30739,16 +32417,15 @@ self: { description = "A typeclass for mutable references that have an atomic modify operation"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "atomic-primops" = callPackage ({ mkDerivation, base, ghc-prim, primitive }: mkDerivation { pname = "atomic-primops"; - version = "0.8.2"; - sha256 = "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"; - revision = "1"; - editedCabalFile = "0gdcd84x2s4jiry0was74rzv9l53an1q6ad8jiaj37fr4fim0wcc"; + version = "0.8.3"; + sha256 = "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"; libraryHaskellDepends = [ base ghc-prim primitive ]; description = "A safe approach to CAS and other atomic ops in Haskell"; license = stdenv.lib.licenses.bsd3; @@ -30771,6 +32448,7 @@ self: { description = "An atomic counter implemented using the FFI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "atomic-primops-vector" = callPackage @@ -30784,6 +32462,7 @@ self: { description = "Atomic operations on Data.Vector types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "atomic-write" = callPackage @@ -30828,6 +32507,7 @@ self: { description = "A highly dynamic, extremely simple, very fun programming language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "atp-haskell" = callPackage @@ -30878,6 +32558,7 @@ self: { description = "A source-code formatter for ATS"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ats-pkg" = callPackage @@ -30890,8 +32571,8 @@ self: { }: mkDerivation { pname = "ats-pkg"; - version = "3.2.4.6"; - sha256 = "0cfh04fpn912cmz0pi71avhx6y6i3l5bzrcwwzxkas134yc22wng"; + version = "3.2.5.18"; + sha256 = "16v3308zap5jhpd9xsvjdgp28330iscaikdl76jqf5jhb175pxzr"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -30929,6 +32610,7 @@ self: { description = "ATS scripts for Cabal builds"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ats-storable" = callPackage @@ -30947,6 +32629,7 @@ self: { description = "Marshal ATS types into Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {storable = null;}; "attempt" = callPackage @@ -30978,6 +32661,7 @@ self: { description = "A script I use to run \"attic\" for my backups"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "atto-lisp" = callPackage @@ -31036,8 +32720,8 @@ self: { pname = "attoparsec"; version = "0.13.2.2"; sha256 = "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx"; - revision = "2"; - editedCabalFile = "1j06na26rsahrbkzrs71nl7ym8fk390pnvh577wlxs4ik6hsn2va"; + revision = "4"; + editedCabalFile = "1vz6jz7cwd80sryabpa99hccamgccjf2l7907wjblbs7dy66a8cb"; libraryHaskellDepends = [ array base bytestring containers deepseq scientific text transformers @@ -31114,19 +32798,20 @@ self: { "attoparsec-data" = callPackage ({ mkDerivation, attoparsec, attoparsec-time, base, base-prelude - , bytestring, scientific, text, time + , bytestring, scientific, text, time, uuid }: mkDerivation { pname = "attoparsec-data"; - version = "1.0.3"; - sha256 = "02bkrbdipd0940aq34dx4156z538jbfxpgdk3pkbb6vjdcghcw9g"; + version = "1.0.4.1"; + sha256 = "01avy1bbiam401mm6196h0a1m5wrki4a3xrdss6hr6x986l6w2yc"; libraryHaskellDepends = [ attoparsec attoparsec-time base base-prelude bytestring scientific - text time + text time uuid ]; description = "Parsers for the standard Haskell data types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "attoparsec-enumerator" = callPackage @@ -31141,6 +32826,7 @@ self: { description = "Pass input from an enumerator to an Attoparsec parser"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "attoparsec-expr" = callPackage @@ -31169,6 +32855,7 @@ self: { description = "Parse IP data types with attoparsec"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "attoparsec-iso8601" = callPackage @@ -31196,6 +32883,7 @@ self: { description = "An adapter to convert attoparsec Parsers into blazing-fast Iteratees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "attoparsec-parsec" = callPackage @@ -31241,6 +32929,7 @@ self: { description = "(deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "attoparsec-text-enumerator" = callPackage @@ -31253,6 +32942,7 @@ self: { description = "(deprecated)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "attoparsec-time" = callPackage @@ -31274,6 +32964,7 @@ self: { description = "Attoparsec parsers of time"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "attoparsec-trans" = callPackage @@ -31286,6 +32977,7 @@ self: { description = "Interleaved effects for attoparsec parsers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "attoparsec-uri" = callPackage @@ -31308,6 +33000,7 @@ self: { description = "URI parser / printer using attoparsec"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "attoparsec-varword" = callPackage @@ -31325,7 +33018,6 @@ self: { ]; description = "Variable-length integer decoding for Attoparsec"; license = stdenv.lib.licenses.lgpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "attosplit" = callPackage @@ -31338,6 +33030,7 @@ self: { description = "Split a lazy bytestring at boundaries defined by an attoparsec parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "atuin" = callPackage @@ -31355,6 +33048,7 @@ self: { description = "Embedded Turtle language compiler in Haskell, with Epic output"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "audacity" = callPackage @@ -31397,6 +33091,7 @@ self: { description = "A battery-included audiovisual framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "augeas" = callPackage @@ -31417,6 +33112,7 @@ self: { description = "A Haskell FFI wrapper for the Augeas API"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) augeas;}; "augur" = callPackage @@ -31436,18 +33132,19 @@ self: { description = "Renaming media collections in a breeze"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aur" = callPackage - ({ mkDerivation, aeson, base, errors, http-client, http-client-tls - , servant, servant-client, tasty, tasty-hunit, text + ({ mkDerivation, aeson, base, http-client, http-client-tls, servant + , servant-client, tasty, tasty-hunit, text }: mkDerivation { pname = "aur"; - version = "6.1.0"; - sha256 = "1wgff9vbp8sxqa0hyd6ifkld6yly20qijm15dfk72wpcsia86jx6"; + version = "6.2.0.1"; + sha256 = "00h5v3b4is5jc11x85cjzq25lsqrlhidibsyn847bl0cpn9292d2"; libraryHaskellDepends = [ - aeson base errors http-client servant servant-client text + aeson base http-client servant servant-client text ]; testHaskellDepends = [ base http-client http-client-tls tasty tasty-hunit @@ -31455,6 +33152,7 @@ self: { description = "Access metadata from the Arch Linux User Repository"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aur-api" = callPackage @@ -31472,6 +33170,7 @@ self: { description = "ArchLinux AUR json v5 API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aura" = callPackage @@ -31519,6 +33218,7 @@ self: { description = "A secure package manager for Arch Linux and the AUR, written in Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "authenticate" = callPackage @@ -31564,6 +33264,7 @@ self: { description = "LDAP authentication for Haskell web applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "authenticate-oauth" = callPackage @@ -31614,6 +33315,7 @@ self: { description = "A library for writing papers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "auto" = callPackage @@ -31634,12 +33336,13 @@ self: { }) {}; "auto-update" = callPackage - ({ mkDerivation, base }: + ({ mkDerivation, base, exceptions, hspec, HUnit, retry }: mkDerivation { pname = "auto-update"; - version = "0.1.4"; - sha256 = "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"; + version = "0.1.6"; + sha256 = "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"; libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base exceptions hspec HUnit retry ]; description = "Efficiently run periodic, on-demand actions"; license = stdenv.lib.licenses.mit; }) {}; @@ -31648,8 +33351,8 @@ self: { ({ mkDerivation, base, Cabal, directory, filepath }: mkDerivation { pname = "autoexporter"; - version = "1.1.13"; - sha256 = "05mgvif7wiq0vplk92kp8qn4a5wfma1gwdihqlz5lspmczszpdkv"; + version = "1.1.14"; + sha256 = "0ijykr8qg7ijadlkn0gx3n06n14ihar8dvaddmmaab2awpmaa3l8"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base Cabal directory filepath ]; @@ -31672,6 +33375,7 @@ self: { description = "Generates and displays patterns from next nearest neighbors cellular automata"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "automata" = callPackage @@ -31697,6 +33401,7 @@ self: { description = "automata"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "automitive-cse" = callPackage @@ -31756,6 +33461,7 @@ self: { description = "Library for Nix expression dependency generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "autonix-deps-kf5" = callPackage @@ -31780,6 +33486,7 @@ self: { description = "Generate dependencies for KDE 5 Nix expressions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "autoproc" = callPackage @@ -31822,6 +33529,7 @@ self: { description = "A simple random avatar icon generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "average" = callPackage @@ -31848,8 +33556,8 @@ self: { pname = "avers"; version = "0.0.17.1"; sha256 = "1x96fvx0z7z75c39qcggw70qvqnw7kzjf0qqxb3jwg3b0fmdhi8v"; - revision = "29"; - editedCabalFile = "07vc32yn5d954higzxg3c94l3wzgc38b7y2xq8c5rkxwqz8xf97s"; + revision = "31"; + editedCabalFile = "03nzgni96r6yfmn196iya6akrzh46njqzd2873aj341ynfaqjyy1"; libraryHaskellDepends = [ aeson attoparsec base bytestring clock containers cryptonite filepath inflections memory MonadRandom mtl network network-uri @@ -31869,6 +33577,7 @@ self: { description = "Server-side implementation of the Avers storage model"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "avers-api" = callPackage @@ -31886,6 +33595,7 @@ self: { description = "Types describing the core and extended Avers APIs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "avers-api-docs" = callPackage @@ -31905,6 +33615,7 @@ self: { description = "Swagger documentation for the Avers API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "avers-server" = callPackage @@ -31926,6 +33637,7 @@ self: { description = "Server implementation of the Avers API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aviation-cessna172-diagrams" = callPackage @@ -31970,6 +33682,7 @@ self: { description = "A compile-time balanced AVL tree"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "avr-shake" = callPackage @@ -31982,31 +33695,39 @@ self: { description = "AVR Crosspack actions for shake build systems"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "avro" = callPackage ({ mkDerivation, aeson, array, base, base16-bytestring, bifunctors - , binary, bytestring, containers, data-binary-ieee754, directory - , extra, fail, hashable, hspec, lens, lens-aeson, mtl, pure-zlib - , QuickCheck, scientific, semigroups, tagged, template-haskell - , text, tf-random, transformers, unordered-containers, vector + , binary, bytestring, containers, data-binary-ieee754, deepseq + , directory, extra, fail, gauge, hashable, hspec, hspec-discover + , lens, lens-aeson, mtl, pure-zlib, QuickCheck, random + , raw-strings-qq, scientific, semigroups, tagged, template-haskell + , text, tf-random, transformers, unordered-containers, vector, zlib }: mkDerivation { pname = "avro"; - version = "0.4.2.0"; - sha256 = "1hail3k27xsb4p4964429wv9s3hwvziwmn02hhy928mh5my1r8lp"; + version = "0.4.5.2"; + sha256 = "0cy2r8jrnyxwsxpd6mah4g56xh8n93f6gd613a4bwg8kqvykrpgq"; libraryHaskellDepends = [ aeson array base base16-bytestring bifunctors binary bytestring - containers data-binary-ieee754 fail hashable mtl pure-zlib - scientific semigroups tagged template-haskell text tf-random - unordered-containers vector + containers data-binary-ieee754 deepseq fail hashable mtl scientific + semigroups tagged template-haskell text tf-random + unordered-containers vector zlib ]; testHaskellDepends = [ aeson array base base16-bytestring bifunctors binary bytestring containers directory extra fail hashable hspec lens lens-aeson mtl - pure-zlib QuickCheck scientific semigroups tagged template-haskell + pure-zlib QuickCheck raw-strings-qq scientific semigroups tagged text tf-random transformers unordered-containers vector ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + aeson base bytestring containers gauge hashable mtl random + raw-strings-qq template-haskell text transformers + unordered-containers vector + ]; description = "Avro serialization support for Haskell"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -32040,6 +33761,7 @@ self: { description = "A prelude which I can be happy with. Based on base-prelude."; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "awesomium" = callPackage @@ -32056,6 +33778,7 @@ self: { description = "High-level Awesomium bindings"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "awesomium-glut" = callPackage @@ -32068,6 +33791,7 @@ self: { description = "Utilities for using Awesomium with GLUT"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "awesomium-raw" = callPackage @@ -32082,6 +33806,7 @@ self: { description = "Low-level Awesomium bindings"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {awesomium = null;}; "aws_0_18" = callPackage @@ -32137,8 +33862,8 @@ self: { }: mkDerivation { pname = "aws"; - version = "0.21"; - sha256 = "0g6sp8wgirinp0kaa73s283mjws6wbihg38jklbj9dx6sxdmdja9"; + version = "0.21.1"; + sha256 = "047zfpc3bzdxgh6adfi1xls3j300vhyzcykzf9wyasxksw4xnrxl"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -32168,8 +33893,8 @@ self: { }: mkDerivation { pname = "aws-cloudfront-signed-cookies"; - version = "0.2.0.0"; - sha256 = "0cbhlxrdx09050pblca1p8f0f7n51p4nifp1xk48203ap435dnpj"; + version = "0.2.0.1"; + sha256 = "1yk40n6gjs72pyi6yjwhqj0dngqc4b74rpg0ji61852nbb0snl28"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -32217,6 +33942,7 @@ self: { description = "Configuration types, parsers & renderers for AWS services"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-dynamodb-conduit" = callPackage @@ -32235,6 +33961,7 @@ self: { description = "Conduit-based interface for AWS DynamoDB"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-dynamodb-streams" = callPackage @@ -32258,6 +33985,7 @@ self: { description = "Haskell bindings for Amazon DynamoDB Streams"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-easy" = callPackage @@ -32281,6 +34009,8 @@ self: { ]; description = "Helper function and types for working with amazonka"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-ec2" = callPackage @@ -32311,6 +34041,7 @@ self: { description = "AWS EC2/VPC, ELB and CloudWatch client library for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-ec2-knownhosts" = callPackage @@ -32334,6 +34065,7 @@ self: { description = "Capture and manage AWS EC2 known_host pubkeys"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-elastic-transcoder" = callPackage @@ -32357,6 +34089,7 @@ self: { description = "Haskell suite for the Elastic Transcoder service"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-general" = callPackage @@ -32383,6 +34116,7 @@ self: { description = "Bindings for Amazon Web Services (AWS) General Reference"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-kinesis" = callPackage @@ -32409,6 +34143,7 @@ self: { description = "Bindings for Amazon Kinesis"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-kinesis-client" = callPackage @@ -32444,6 +34179,7 @@ self: { description = "A producer & consumer client library for AWS Kinesis"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-kinesis-reshard" = callPackage @@ -32473,6 +34209,7 @@ self: { description = "Reshard AWS Kinesis streams in response to Cloud Watch metrics"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-lambda" = callPackage @@ -32493,26 +34230,23 @@ self: { description = "Haskell bindings for AWS Lambda"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-lambda-haskell-runtime" = callPackage - ({ mkDerivation, aeson, base, bytestring, case-insensitive, conduit - , directory, filepath, hspec, microlens-platform, mtl - , optparse-generic, process, template-haskell, text, uuid, wreq + ({ mkDerivation, aeson, base, bytestring, hspec, http-client + , http-types, path, path-io, safe-exceptions-checked + , template-haskell, text }: mkDerivation { pname = "aws-lambda-haskell-runtime"; - version = "1.0.9"; - sha256 = "0cx59jmqzjz1ff1mng63pf008mxmfffpv9nlcmrisjliginjh2v3"; - isLibrary = true; - isExecutable = true; + version = "2.0.1"; + sha256 = "0q8x5zqxql403wm9ndii42lac8737i0qhd7p7nsy3i2sswfr5gry"; libraryHaskellDepends = [ - aeson base bytestring case-insensitive conduit directory filepath - microlens-platform mtl optparse-generic process template-haskell - text uuid wreq + aeson base bytestring http-client http-types path path-io + safe-exceptions-checked template-haskell text ]; - executableHaskellDepends = [ base mtl ]; - testHaskellDepends = [ base hspec mtl ]; + testHaskellDepends = [ base hspec ]; description = "Haskell runtime for AWS Lambda"; license = stdenv.lib.licenses.asl20; }) {}; @@ -32537,6 +34271,8 @@ self: { executableHaskellDepends = [ aeson base lens lens-aeson text ]; description = "Haskell on AWS Lambda Runtime API"; license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-mfa-credentials" = callPackage @@ -32559,6 +34295,7 @@ self: { description = "Keep your AWS credentials file up to date with MFA-carrying credentials"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-performance-tests" = callPackage @@ -32585,6 +34322,7 @@ self: { description = "Performance Tests for the Haskell bindings for Amazon Web Services (AWS)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-route53" = callPackage @@ -32603,6 +34341,7 @@ self: { description = "Amazon Route53 DNS service plugin for the aws package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-sdk" = callPackage @@ -32632,6 +34371,7 @@ self: { description = "AWS SDK for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-sdk-text-converter" = callPackage @@ -32654,6 +34394,7 @@ self: { description = "The text converter for aws-sdk"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-sdk-xml-unordered" = callPackage @@ -32675,6 +34416,7 @@ self: { description = "The xml parser for aws-sdk package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-ses-easy" = callPackage @@ -32694,6 +34436,8 @@ self: { benchmarkHaskellDepends = [ base criterion ]; description = "Wrapper over Amazonka's SES"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-sign4" = callPackage @@ -32718,6 +34462,7 @@ self: { description = "Amazon Web Services (AWS) Signature v4 HTTP request signer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-simple" = callPackage @@ -32736,6 +34481,7 @@ self: { description = "Dead simple bindings to commonly used AWS Services"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "aws-sns" = callPackage @@ -32760,6 +34506,7 @@ self: { description = "Bindings for AWS SNS Version 2013-03-31"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "axel" = callPackage @@ -32794,6 +34541,8 @@ self: { testToolDepends = [ tasty-discover ]; description = "The Axel programming language"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "axiom" = callPackage @@ -32811,6 +34560,7 @@ self: { description = "Web EDSL for running in browsers and server nodes using transient"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "axiomatic-classes" = callPackage @@ -32851,6 +34601,7 @@ self: { description = "A simple DevOps tool which will never \"reach\" enterprice level"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "azure-acs" = callPackage @@ -32905,6 +34656,7 @@ self: { description = "Haskell bindings for the Microsoft Azure Service Management API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "azure-servicebus" = callPackage @@ -32923,6 +34675,7 @@ self: { description = "Haskell wrapper over Microsoft Azure ServiceBus REST API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "azurify" = callPackage @@ -32953,6 +34706,7 @@ self: { description = "A simple library for accessing Azure blob storage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "b-tree" = callPackage @@ -32965,6 +34719,8 @@ self: { pname = "b-tree"; version = "0.1.4"; sha256 = "17hcv85020dm5h3449bfa763bcbl723h17chah4418dby2ql5lxg"; + revision = "1"; + editedCabalFile = "106vsqgv7545p0rky073sd7viidbg4zy3fzlb39r9irbl3p3giih"; libraryHaskellDepends = [ base binary bytestring containers directory errors exceptions filepath lens mmap mtl pipes pipes-interleave transformers vector @@ -32981,34 +34737,39 @@ self: { "b9" = callPackage ({ mkDerivation, aeson, async, base, base64-bytestring, bifunctors , binary, boxes, bytestring, conduit, conduit-extra, ConfigFile - , directory, filepath, free, hashable, hspec, hspec-expectations - , lens, mtl, optparse-applicative, parallel, parsec, pretty - , pretty-show, process, QuickCheck, random, shake, syb, template - , text, time, transformers, unordered-containers, vector, yaml + , directory, exceptions, extensible-effects, filepath, free + , hashable, hspec, hspec-expectations, lens, monad-control, mtl + , optparse-applicative, parallel, parsec, pretty, pretty-show + , process, QuickCheck, random, shake, syb, tagged, template, text + , time, transformers, unordered-containers, vector, yaml }: mkDerivation { pname = "b9"; - version = "0.5.61"; - sha256 = "0yr29ynxiwc2qr000c5h1w3k373qvbr5p8z451r3q24i4c6rcrid"; + version = "0.5.68.3"; + sha256 = "1373ymh25ybaszfb0d6vs11zh9hw41a0x1gw9wxi18f5hk5jmbsk"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson async base base64-bytestring bifunctors binary boxes - bytestring conduit conduit-extra ConfigFile directory filepath free - hashable lens mtl parallel parsec pretty pretty-show process - QuickCheck random shake syb template text time transformers - unordered-containers vector yaml + bytestring conduit conduit-extra ConfigFile directory exceptions + extensible-effects filepath free hashable lens monad-control mtl + parallel parsec pretty pretty-show process QuickCheck random shake + syb tagged template text time transformers unordered-containers + vector yaml ]; executableHaskellDepends = [ - base bytestring directory lens optparse-applicative + base bytestring directory extensible-effects lens + optparse-applicative text ]; testHaskellDepends = [ - aeson base bytestring hspec hspec-expectations QuickCheck text - unordered-containers vector yaml + aeson base binary bytestring directory extensible-effects hspec + hspec-expectations lens QuickCheck text unordered-containers vector + yaml ]; description = "A tool and library for building virtual machine images"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "babl" = callPackage @@ -33039,6 +34800,41 @@ self: { description = "An implementation of a simple 2-player board game"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "backblaze-b2-hs" = callPackage + ({ mkDerivation, aeson, base, base64-bytestring, bytestring + , case-insensitive, conduit, containers, cryptonite, formatting + , http-client, http-types, protolude, req, req-conduit, scientific + , tasty, tasty-hunit, text, time, unliftio, unliftio-core + }: + mkDerivation { + pname = "backblaze-b2-hs"; + version = "0.1.0.0"; + sha256 = "18xpjz3w9yw79732xiz8278gbd1v9vg534l0h9azg0wwhd8vbh7j"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base base64-bytestring bytestring case-insensitive conduit + containers cryptonite formatting http-client http-types protolude + req req-conduit scientific text time unliftio unliftio-core + ]; + executableHaskellDepends = [ + aeson base base64-bytestring bytestring case-insensitive conduit + containers cryptonite formatting http-client http-types protolude + req req-conduit scientific text time unliftio unliftio-core + ]; + testHaskellDepends = [ + aeson base base64-bytestring bytestring case-insensitive conduit + containers cryptonite formatting http-client http-types protolude + req req-conduit scientific tasty tasty-hunit text time unliftio + unliftio-core + ]; + description = "A client library to access Backblaze B2 cloud storage in Haskell"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "backdropper" = callPackage @@ -33057,6 +34853,7 @@ self: { description = "Rotates backdrops for X11 displays using Imagemagic"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "backprop" = callPackage @@ -33066,8 +34863,8 @@ self: { }: mkDerivation { pname = "backprop"; - version = "0.2.6.1"; - sha256 = "1rn72fawix00byz7kyvn65g0h16mh8msiw6lx9l3xi1927hn28nj"; + version = "0.2.6.3"; + sha256 = "0zk3k20c100iwqcvg1xw2vdysn01w4h9jypz08xs849n1a3bp7di"; libraryHaskellDepends = [ base containers deepseq microlens primitive reflection transformers vector vinyl @@ -33078,6 +34875,33 @@ self: { ]; description = "Heterogeneous automatic differentation"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "backstop" = callPackage + ({ mkDerivation, base, directory, filepath, HUnit, mtl, process + , QuickCheck, unix + }: + mkDerivation { + pname = "backstop"; + version = "1.3.0.352"; + sha256 = "1790n52amkvwlm92rh6i6rxfxbw2n2cfam2sf0cx4yf160jxvyj3"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base directory filepath mtl process unix + ]; + executableHaskellDepends = [ + base directory filepath mtl process unix + ]; + testHaskellDepends = [ + base filepath HUnit process QuickCheck unix + ]; + description = "Backstop a target directory by source directories"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "backtracking-exceptions" = callPackage @@ -33095,6 +34919,7 @@ self: { description = "A monad transformer for backtracking exceptions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "backward-state" = callPackage @@ -33107,6 +34932,7 @@ self: { description = "A state monad that runs the state in reverse through the computation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bacteria" = callPackage @@ -33133,6 +34959,7 @@ self: { description = "A simple stable bag"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bake" = callPackage @@ -33167,6 +34994,7 @@ self: { description = "Continuous integration system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ballast" = callPackage @@ -33191,6 +35019,7 @@ self: { description = "Shipwire API client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bamboo" = callPackage @@ -33212,6 +35041,7 @@ self: { description = "A blog engine on Hack"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bamboo-launcher" = callPackage @@ -33233,6 +35063,7 @@ self: { description = "bamboo-launcher"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bamboo-plugin-highlight" = callPackage @@ -33251,6 +35082,7 @@ self: { description = "A highlight middleware"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bamboo-plugin-photo" = callPackage @@ -33270,6 +35102,7 @@ self: { description = "A photo album middleware"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bamboo-theme-blueprint" = callPackage @@ -33289,6 +35122,7 @@ self: { description = "bamboo blueprint theme"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bamboo-theme-mini-html5" = callPackage @@ -33312,6 +35146,7 @@ self: { description = "bamboo mini html5 theme"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bamse" = callPackage @@ -33330,6 +35165,7 @@ self: { description = "A Windows Installer (MSI) generator framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bamstats" = callPackage @@ -33344,6 +35180,7 @@ self: { description = "A program to extract various information from BAM alignmnet files"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bank-holiday-usa" = callPackage @@ -33357,14 +35194,15 @@ self: { description = "A library for determining US bank holidays"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bank-holidays-england" = callPackage ({ mkDerivation, base, containers, hspec, QuickCheck, time }: mkDerivation { pname = "bank-holidays-england"; - version = "0.1.0.8"; - sha256 = "0ak7m4xaymbh3cyhddj45p0pcazf79lnp63wvh4kh2f4fwh4f69j"; + version = "0.2.0.2"; + sha256 = "1r82plqk1danqby90snmp4zjzdkwryvhbzj1c67b0h0k9w42v781"; libraryHaskellDepends = [ base containers time ]; testHaskellDepends = [ base containers hspec QuickCheck time ]; description = "Calculation of bank holidays in England and Wales"; @@ -33389,6 +35227,7 @@ self: { description = "Generalized word blacklister"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "barbies" = callPackage @@ -33397,8 +35236,8 @@ self: { }: mkDerivation { pname = "barbies"; - version = "1.1.0.0"; - sha256 = "02lnq2f5n75r214lrhkhdl3a85lzn3am197df4a0mp6pvw07z1cs"; + version = "1.1.3.0"; + sha256 = "0fb7d0fr46zm8y00nipq8vvq5fvhsx41jj52zvz27f690azpj961"; libraryHaskellDepends = [ base bifunctors ]; testHaskellDepends = [ base QuickCheck tasty tasty-hunit tasty-quickcheck @@ -33407,6 +35246,26 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "barbly" = callPackage + ({ mkDerivation, aeson, async, attoparsec, base, bytestring, mtl + , optparse-applicative, shh, text + }: + mkDerivation { + pname = "barbly"; + version = "0.1.0.0"; + sha256 = "1mmbvgw5g2jb8qv7vd00iym9xyb07jx03wi6x1ldqvzfn2vcc22l"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + aeson async attoparsec base bytestring mtl optparse-applicative shh + text + ]; + description = "Create status bar menus for macOS from executables"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "barchart" = callPackage ({ mkDerivation, base, cmdargs, csv, diagrams, filepath }: mkDerivation { @@ -33420,6 +35279,7 @@ self: { description = "Creating Bar Charts in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "barcodes-code128" = callPackage @@ -33432,6 +35292,7 @@ self: { description = "Generate Code 128 barcodes as PDFs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "barecheck" = callPackage @@ -33444,6 +35305,7 @@ self: { description = "QuickCheck implementations for common types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "barley" = callPackage @@ -33477,6 +35339,7 @@ self: { description = "Declarative Gtk GUI library"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "barrier" = callPackage @@ -33502,6 +35365,7 @@ self: { description = "Shields.io style badge generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "barrier-monad" = callPackage @@ -33514,6 +35378,7 @@ self: { description = "Implementation of barrier monad, can use custom front/back type"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "base_4_12_0_0" = callPackage @@ -33550,6 +35415,8 @@ self: { pname = "base-compat-batteries"; version = "0.10.5"; sha256 = "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"; + revision = "1"; + editedCabalFile = "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp"; libraryHaskellDepends = [ base base-compat ]; testHaskellDepends = [ base hspec QuickCheck ]; testToolDepends = [ hspec-discover ]; @@ -33570,6 +35437,7 @@ self: { description = "Helps migrating projects to base-compat(-batteries)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "base-encoding" = callPackage @@ -33600,6 +35468,7 @@ self: { description = "Semantic CPP feature macros for base"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "base-generics" = callPackage @@ -33612,6 +35481,7 @@ self: { description = "This library provides some instances for extra GHC.Generic typeclass such as Int8, Word16 and some unboxed types as well."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "base-io-access" = callPackage @@ -33624,6 +35494,7 @@ self: { description = "The IO functions included in base delimited into small, composable classes"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "base-noprelude" = callPackage @@ -33638,13 +35509,26 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "base-noprelude_4_13_0_0" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "base-noprelude"; + version = "4.13.0.0"; + sha256 = "1ld1phm7jpyvm33dj568gy28inbiklrj00yvb83v5y7rn01w32kp"; + libraryHaskellDepends = [ base ]; + doHaddock = false; + description = "\"base\" package sans \"Prelude\" module"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "base-orphans" = callPackage ({ mkDerivation, base, ghc-prim, hspec, hspec-discover, QuickCheck }: mkDerivation { pname = "base-orphans"; - version = "0.8"; - sha256 = "05s8s9zbnvcwnnd8z23jbdcjpd1h07c8fgaw0g9jl8mlpxbcdvmc"; + version = "0.8.1"; + sha256 = "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"; libraryHaskellDepends = [ base ghc-prim ]; testHaskellDepends = [ base hspec QuickCheck ]; testToolDepends = [ hspec-discover ]; @@ -33674,6 +35558,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "base-unicode-symbols_0_2_4_2" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "base-unicode-symbols"; + version = "0.2.4.2"; + sha256 = "0qkhp4ybmx4nbqqkrmw3hkm47bv61i2wpi20qb09wvk10g2dcr23"; + libraryHaskellDepends = [ base ]; + description = "Unicode alternatives for common functions and operators"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "base16-bytestring" = callPackage ({ mkDerivation, base, bytestring, ghc-prim }: mkDerivation { @@ -33700,6 +35596,28 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "base32-z-bytestring" = callPackage + ({ mkDerivation, base, bytestring, cpu, criterion, hedgehog, tasty + , tasty-fail-fast, tasty-hedgehog, tasty-hspec, z-base32-bytestring + }: + mkDerivation { + pname = "base32-z-bytestring"; + version = "1.0.0.0"; + sha256 = "1r0235a2qqnavsm7jl807m555yd2k2vi2kfacw878v83zdr5qyix"; + libraryHaskellDepends = [ base bytestring cpu ]; + testHaskellDepends = [ + base bytestring hedgehog tasty tasty-fail-fast tasty-hedgehog + tasty-hspec z-base32-bytestring + ]; + benchmarkHaskellDepends = [ + base bytestring criterion z-base32-bytestring + ]; + description = "Fast z-base32 and z-base32hex codec for ByteStrings"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {z-base32-bytestring = null;}; + "base32string" = callPackage ({ mkDerivation, aeson, base, binary, bytestring, hspec, text }: mkDerivation { @@ -33787,25 +35705,25 @@ self: { "base64-bytestring-type" = callPackage ({ mkDerivation, aeson, base, base-compat, base64-bytestring - , binary, bytestring, cereal, deepseq, hashable, QuickCheck, tasty - , tasty-quickcheck, text + , binary, bytestring, cereal, deepseq, hashable, http-api-data + , QuickCheck, serialise, tasty, tasty-quickcheck, text }: mkDerivation { pname = "base64-bytestring-type"; - version = "1"; - sha256 = "0h74c0qhf4n0pamrl29ha5hgf940bay0dhl8rifaw4l03z8rn0bl"; - revision = "4"; - editedCabalFile = "0yfhy4a9n67l9w3amqrzzy79q47yyj6qbv5i5lqym5z7ygwmlzn6"; + version = "1.0.1"; + sha256 = "03kq4rjj6by02rf3hg815jfdqpdk0xygm5f46r2pn8mb99yd01zn"; + revision = "1"; + editedCabalFile = "13yjasdw3dh33rv1jhx5hjdvpp7cnxymrk836jk1mnpjw32606c9"; libraryHaskellDepends = [ aeson base base-compat base64-bytestring binary bytestring cereal - deepseq hashable QuickCheck text + deepseq hashable http-api-data QuickCheck serialise text ]; testHaskellDepends = [ - aeson base binary bytestring cereal tasty tasty-quickcheck + aeson base binary bytestring cereal http-api-data serialise tasty + tasty-quickcheck ]; description = "A newtype around ByteString, for base64 encoding"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "base64-conduit" = callPackage @@ -33826,6 +35744,7 @@ self: { description = "Base64-encode and decode streams of bytes. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "base64-string" = callPackage @@ -33865,10 +35784,8 @@ self: { ({ mkDerivation, base, ghc-prim }: mkDerivation { pname = "basement"; - version = "0.0.10"; - sha256 = "01gmqkwd8cizlsn24wb1ld358k40kbaw84579y0h5nl7f41iniz3"; - revision = "1"; - editedCabalFile = "1n5wv093zx760rrd5vs5symj61fnr8pcbpzs0sbpl6n82qys3c8i"; + version = "0.0.11"; + sha256 = "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"; libraryHaskellDepends = [ base ghc-prim ]; description = "Foundation scrap box of array & string"; license = stdenv.lib.licenses.bsd3; @@ -33911,6 +35828,7 @@ self: { description = "Baserock Definitions Schema"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "basex-client" = callPackage @@ -33997,10 +35915,8 @@ self: { ({ mkDerivation, base, deepseq, generics-sop, QuickCheck, text }: mkDerivation { pname = "basic-sop"; - version = "0.2.0.2"; - sha256 = "0cd5zlv3w3r99ck5cz43kppand0n9vx26g4d4fqqcmvjxk8zwhy7"; - revision = "1"; - editedCabalFile = "0rvhcbywgpidnq1vg79a9scq6hraqdyv67j63vyidm0q20ml5mpv"; + version = "0.2.0.3"; + sha256 = "1aa3iwfbhqczmnnribz79nns5ppc397pwv4hx277jbfdxx0m8ks8"; libraryHaskellDepends = [ base deepseq generics-sop QuickCheck text ]; @@ -34023,6 +35939,7 @@ self: { description = "An interpreter for a small functional language"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "batch" = callPackage @@ -34041,6 +35958,7 @@ self: { description = "Simplify queuing up data and processing it in batch"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "batch-rename" = callPackage @@ -34086,6 +36004,7 @@ self: { description = "Batch processing toolset for Linux / Unix"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "battlenet" = callPackage @@ -34100,6 +36019,7 @@ self: { description = "API client for Battle.Net"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "battlenet-yesod" = callPackage @@ -34114,6 +36034,7 @@ self: { description = "Yesod integration for the battlenet package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "battleplace" = callPackage @@ -34143,7 +36064,6 @@ self: { ]; description = "Public API definitions of BattlePlace.io service"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "battleship-combinatorics" = callPackage @@ -34168,6 +36088,7 @@ self: { description = "Compute number of possible arrangements in the battleship game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "battleships" = callPackage @@ -34201,6 +36122,7 @@ self: { description = "A web-based implementation of battleships including an AI opponent"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bayes-stack" = callPackage @@ -34221,6 +36143,24 @@ self: { description = "Framework for inferring generative probabilistic models with Gibbs sampling"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "bazel-coverage-report-renderer" = callPackage + ({ mkDerivation, base, cmdargs, directory, filepath, hxt, hxt-xpath + , listsafe, MissingH + }: + mkDerivation { + pname = "bazel-coverage-report-renderer"; + version = "0.1.0"; + sha256 = "19bin8hym1zqd85v7kbkk4jbpqs19yn4588q8x903i8m7863p83v"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base cmdargs directory filepath hxt hxt-xpath listsafe MissingH + ]; + description = "HTML Coverage Reports for Rules_Haskell"; + license = stdenv.lib.licenses.asl20; }) {}; "bazel-runfiles" = callPackage @@ -34250,18 +36190,44 @@ self: { }) {}; "bbi" = callPackage - ({ mkDerivation, base, bytestring, cereal, conduit, containers, mtl - , zlib + ({ mkDerivation, base, bioinformatics-toolkit, bytestring, cereal + , conduit, containers, mtl, random, tasty, tasty-golden + , tasty-hunit, vector, zlib }: mkDerivation { pname = "bbi"; - version = "0.1.0"; - sha256 = "0y18lc7h5sljzvcbfa69n22p0l12a1rjymp4x24wlz25jbq9bm2g"; + version = "0.1.1"; + sha256 = "1m9rhng6kpqzsgmyr5ilq7brvx9jpkvqgqaixbdlx79ijxkw7dz3"; libraryHaskellDepends = [ base bytestring cereal conduit containers mtl zlib ]; + testHaskellDepends = [ + base bioinformatics-toolkit bytestring conduit mtl random tasty + tasty-golden tasty-hunit vector + ]; description = "Tools for reading Big Binary Indexed files, e.g., bigBed, bigWig"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "bcp47" = callPackage + ({ mkDerivation, aeson, base, containers, country, doctest + , generic-arbitrary, hspec, iso639, megaparsec, QuickCheck, text + }: + mkDerivation { + pname = "bcp47"; + version = "0.1.0.0"; + sha256 = "1cy2wdp97mvyg1fvkmi6vzd8vd9v8645nd5cfzgp4whhy0v5y7rj"; + libraryHaskellDepends = [ + aeson base containers country generic-arbitrary iso639 megaparsec + QuickCheck text + ]; + testHaskellDepends = [ + aeson base containers country doctest hspec iso639 QuickCheck text + ]; + description = "Language tags as specified by BCP 47"; + license = stdenv.lib.licenses.mit; }) {}; "bcrypt" = callPackage @@ -34321,6 +36287,7 @@ self: { description = "Tools for managing a content store of software packages"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) ostree;}; "bdcs-api" = callPackage @@ -34358,7 +36325,8 @@ self: { description = "BDCS API Server"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs.gnome3) libgit2-glib;}; + broken = true; + }) {inherit (pkgs) libgit2-glib;}; "bdd" = callPackage ({ mkDerivation, base, directory, HUnit, mtl, process @@ -34421,48 +36389,65 @@ self: { description = "A type-safe SQL mapper for Haskell that doesn't use Template Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "beam-core" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, dlist, free - , ghc-prim, hashable, microlens, mtl, network-uri, tagged, tasty - , tasty-hunit, text, time, vector-sized + , ghc-prim, hashable, microlens, mtl, network-uri, scientific + , tagged, tasty, tasty-hunit, text, time, vector, vector-sized }: mkDerivation { pname = "beam-core"; - version = "0.7.2.3"; - sha256 = "1pas3hjj8x4yzwwqazydnvv59rjmddy70g6iip6fgm7sg4114rkh"; + version = "0.8.0.0"; + sha256 = "1l71xvmny0nf6fdhsffvfj764h4d97icgc291kfqz25n511b74r8"; libraryHaskellDepends = [ aeson base bytestring containers dlist free ghc-prim hashable - microlens mtl network-uri tagged text time vector-sized + microlens mtl network-uri scientific tagged text time vector + vector-sized ]; testHaskellDepends = [ base bytestring tasty tasty-hunit text time ]; description = "Type-safe, feature-complete SQL query and manipulation interface for Haskell"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "beam-migrate" = callPackage ({ mkDerivation, aeson, base, beam-core, bytestring, containers , deepseq, dependent-map, dependent-sum, free, ghc-prim, hashable - , haskell-src-exts, mtl, parallel, pqueue, pretty, scientific, text - , time, unordered-containers, uuid-types, vector + , haskell-src-exts, microlens, mtl, parallel, pqueue, pretty + , scientific, text, time, unordered-containers, uuid-types, vector }: mkDerivation { pname = "beam-migrate"; - version = "0.3.2.2"; - sha256 = "15vkxj93c3zhraj94v8n9sgkjlm6idawbzxqqgcx05yhy0dyh0c9"; + version = "0.4.0.1"; + sha256 = "12c5yibargwrw9z806bik7rly9njq0qa60gsqlh8pbzaaji5fknf"; libraryHaskellDepends = [ aeson base beam-core bytestring containers deepseq dependent-map - dependent-sum free ghc-prim hashable haskell-src-exts mtl parallel - pqueue pretty scientific text time unordered-containers uuid-types - vector + dependent-sum free ghc-prim hashable haskell-src-exts microlens mtl + parallel pqueue pretty scientific text time unordered-containers + uuid-types vector ]; description = "SQL DDL support and migrations support library for Beam"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "beam-mysql" = callPackage + ({ mkDerivation, aeson, attoparsec, base, beam-core, bytestring + , case-insensitive, free, hashable, mtl, mysql, network-uri + , scientific, text, time + }: + mkDerivation { + pname = "beam-mysql"; + version = "0.2.0.0"; + sha256 = "14h0cfzzfbdh18impfvlz3ba3ycig5g7adv17h2ag1x6yyx5h259"; + libraryHaskellDepends = [ + aeson attoparsec base beam-core bytestring case-insensitive free + hashable mtl mysql network-uri scientific text time + ]; + description = "Connection layer between beam and MySQL/MariaDB"; + license = stdenv.lib.licenses.mit; }) {}; "beam-newtype-field" = callPackage @@ -34479,28 +36464,35 @@ self: { description = "A newtype for wrapping newtypes into beam schemas"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "beam-postgres" = callPackage - ({ mkDerivation, aeson, base, beam-core, beam-migrate, bytestring - , case-insensitive, conduit, free, hashable, haskell-src-exts - , lifted-base, monad-control, mtl, network-uri, postgresql-libpq - , postgresql-simple, scientific, tagged, text, time - , unordered-containers, uuid-types, vector + ({ mkDerivation, aeson, attoparsec, base, beam-core, beam-migrate + , bytestring, case-insensitive, conduit, directory, filepath, free + , hashable, haskell-src-exts, hedgehog, lifted-base, monad-control + , mtl, network-uri, postgresql-libpq, postgresql-simple, process + , scientific, tagged, tasty, tasty-hunit, temporary, text, time + , unordered-containers, uuid, uuid-types, vector }: mkDerivation { pname = "beam-postgres"; - version = "0.3.2.3"; - sha256 = "17aplr20rclah3wk7b978zgn55fp61s8x7a5qf449nvfs97cs00b"; + version = "0.4.0.0"; + sha256 = "0dxnp6zsyy30vrlv15iw4qwyzwawg468zqqsjnzk9h3g9k9xzj3v"; libraryHaskellDepends = [ - aeson base beam-core beam-migrate bytestring case-insensitive - conduit free hashable haskell-src-exts lifted-base monad-control - mtl network-uri postgresql-libpq postgresql-simple scientific - tagged text time unordered-containers uuid-types vector + aeson attoparsec base beam-core beam-migrate bytestring + case-insensitive conduit free hashable haskell-src-exts lifted-base + monad-control mtl network-uri postgresql-libpq postgresql-simple + scientific tagged text time unordered-containers uuid-types vector + ]; + testHaskellDepends = [ + base beam-core beam-migrate bytestring directory filepath hedgehog + postgresql-simple process tasty tasty-hunit temporary text uuid ]; description = "Connection layer between beam and postgres"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "beam-sqlite" = callPackage @@ -34510,15 +36502,14 @@ self: { }: mkDerivation { pname = "beam-sqlite"; - version = "0.3.2.4"; - sha256 = "14s1s7i9l95nbz4nis3fc4zh8cln6vj2p4y5bk235l088i4z6qfj"; + version = "0.4.0.0"; + sha256 = "09va580nv05xavcrqw9drh86xgqgzl98bvh707xjn1d6wh3miizw"; libraryHaskellDepends = [ aeson attoparsec base beam-core beam-migrate bytestring dlist free hashable mtl network-uri scientific sqlite-simple text time unix ]; description = "Beam driver for SQLite"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "beam-th" = callPackage @@ -34541,6 +36532,7 @@ self: { description = "Template Haskell utilities for beam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "beamable" = callPackage @@ -34566,6 +36558,7 @@ self: { description = "Generic serializer/deserializer with compact representation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bearriver" = callPackage @@ -34593,6 +36586,7 @@ self: { description = "A pretty-printer for higher-order logic"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bed-and-breakfast" = callPackage @@ -34633,6 +36627,7 @@ self: { description = "Bindings to the beeminder.com JSON API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bein" = callPackage @@ -34657,6 +36652,7 @@ self: { description = "Bein is a provenance and workflow management system for bioinformatics"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "belka" = callPackage @@ -34686,6 +36682,7 @@ self: { description = "HTTP client DSL"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bench" = callPackage @@ -34696,6 +36693,8 @@ self: { pname = "bench"; version = "1.0.12"; sha256 = "1sy97qpv6paar2d5syppk6lc06wjx6qyz5aidsmh30jq853nydx6"; + revision = "1"; + editedCabalFile = "0sk6vkjwk7g1diwah67ifj7s69qvwi52ngaijkfx5prn0vz24ldn"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -34719,26 +36718,32 @@ self: { testHaskellDepends = [ base split text ]; description = "Plot and compare benchmarks"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "bench-show" = callPackage ({ mkDerivation, ansi-wl-pprint, base, Chart, Chart-diagrams, csv - , directory, filepath, mwc-random, split, statistics, text + , directory, filepath, mwc-random, optparse-applicative + , optparse-simple, semigroups, split, statistics, text , transformers, vector }: mkDerivation { pname = "bench-show"; - version = "0.2.2"; - sha256 = "12fi59j9a98n4q6gjvjsf0hjc2rsy33b7kzjiqxy5wzh8isciaa4"; + version = "0.3.0"; + sha256 = "0c690w96iyj6idikcwl75ci5sqvfh4fdd8mvb4z24x3xb24kirh5"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ ansi-wl-pprint base Chart Chart-diagrams csv directory filepath mwc-random split statistics transformers vector ]; + executableHaskellDepends = [ + ansi-wl-pprint base Chart Chart-diagrams csv directory filepath + mwc-random optparse-applicative optparse-simple semigroups split + statistics transformers vector + ]; testHaskellDepends = [ base split text ]; description = "Show, plot and compare benchmark results"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "benchmark-function" = callPackage @@ -34801,6 +36806,7 @@ self: { description = "Bencodex reader/writer for Haskell"; license = stdenv.lib.licenses.gpl3Plus; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bencoding" = callPackage @@ -34850,6 +36856,7 @@ self: { description = "Pretty BerkeleyDB v4 binding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) db;}; "berp" = callPackage @@ -34876,6 +36883,7 @@ self: { description = "An implementation of Python 3"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bert" = callPackage @@ -34910,6 +36918,7 @@ self: { description = "Extended GCD of polynomials over F_p[x]"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bet" = callPackage @@ -34937,6 +36946,7 @@ self: { description = "Betfair API bindings. Bet on sports on betting exchanges."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "betacode" = callPackage @@ -34954,29 +36964,29 @@ self: { description = "A codec for beta code (http://en.wikipedia.org/wiki/Beta_Code)."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "betris" = callPackage - ({ mkDerivation, base, containers, lens, linear + ({ mkDerivation, ansi-terminal, base, containers, lens, linear , optparse-applicative, random, stm, time-units, vty }: mkDerivation { pname = "betris"; - version = "0.1.1.1"; - sha256 = "0ggmy2rwwsgq54j29b2a5dkafalww0nrzz89j08wf3gsg90g9p9i"; + version = "0.2.0.0"; + sha256 = "0d8qiiabcca7l57lkmmz5pn11y0jbksv08bzisfab588sbxd9vqr"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base containers lens linear optparse-applicative random stm - time-units vty + ansi-terminal base containers lens linear optparse-applicative + random stm time-units vty ]; executableHaskellDepends = [ - base containers lens linear optparse-applicative random stm - time-units vty + ansi-terminal base containers lens linear optparse-applicative + random stm time-units vty ]; description = "A horizontal version of tetris for braille users"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "between" = callPackage @@ -35017,6 +37027,7 @@ self: { description = "Bidirectionalization for Free! (POPL'09)"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bff-mono" = callPackage @@ -35030,16 +37041,35 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "bglib" = callPackage + ({ mkDerivation, async, base, binary, bytestring, monad-loops, mtl + , optparse-applicative, serialport, stm + }: + mkDerivation { + pname = "bglib"; + version = "2.0.0.0"; + sha256 = "1h9ql3xz5yciwk2hd1mljql0avrqv66fswdl8bll0xpga7jnpvr8"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base binary bytestring monad-loops mtl serialport stm + ]; + executableHaskellDepends = [ + async base bytestring mtl optparse-applicative serialport stm + ]; + description = "Implementation of the BGAPI serial protocol"; + license = stdenv.lib.licenses.mit; + }) {}; + "bgmax" = callPackage ({ mkDerivation, attoparsec, base, bytestring, time }: mkDerivation { pname = "bgmax"; - version = "0.2.0.3"; - sha256 = "15w8ib36spnlsvr41rb4n6dp6nh6ksyb07lzwlcf1a4ajfx23ns6"; + version = "0.2.0.4"; + sha256 = "0cgxdq5dfs9dvj5ly9sd52pf75yslrnds45hg9nwv5zrfld90rdv"; libraryHaskellDepends = [ attoparsec base bytestring time ]; description = "Parse BgMax-files"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "bgzf" = callPackage @@ -35056,6 +37086,7 @@ self: { description = "Blocked GZip"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bhoogle" = callPackage @@ -35078,6 +37109,7 @@ self: { description = "Simple terminal GUI for local hoogle"; license = "(BSD-3-Clause OR Apache-2.0)"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bibdb" = callPackage @@ -35101,6 +37133,7 @@ self: { description = "A database based bibliography manager for BibTeX"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bibtex" = callPackage @@ -35134,6 +37167,7 @@ self: { description = "Prototype Implementation of Combining Syntactic and Semantic Bidirectionalization (ICFP'10)"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bidispec" = callPackage @@ -35146,6 +37180,7 @@ self: { description = "Specification of generators and parsers"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bidispec-extras" = callPackage @@ -35158,6 +37193,7 @@ self: { description = "Extra helper functions for bidirectional specifications"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bifunctor" = callPackage @@ -35169,21 +37205,22 @@ self: { libraryHaskellDepends = [ base category ]; description = "Bifunctors"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "bifunctors" = callPackage ({ mkDerivation, base, base-orphans, comonad, containers, hspec - , hspec-discover, QuickCheck, semigroups, tagged, template-haskell + , hspec-discover, QuickCheck, tagged, template-haskell , th-abstraction, transformers, transformers-compat }: mkDerivation { pname = "bifunctors"; - version = "5.5.3"; - sha256 = "1jn9rxg643xnlhrknmjz88nblcpsr45xwjkwwnn5nxpasa7m4d6l"; + version = "5.5.4"; + sha256 = "134vn71wd194175k2fcdvd0ak2bdmdbk6ql5lls4byff7zs2rmi9"; + revision = "1"; + editedCabalFile = "05qh2xh2j3w5f1q94wfgfp06z9c4fyrgm4cncy6y2lbb1ficsh3j"; libraryHaskellDepends = [ - base base-orphans comonad containers semigroups tagged - template-haskell th-abstraction transformers + base base-orphans comonad containers tagged template-haskell + th-abstraction transformers ]; testHaskellDepends = [ base hspec QuickCheck template-haskell transformers @@ -35194,6 +37231,29 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "bifunctors_5_5_5" = callPackage + ({ mkDerivation, base, base-orphans, comonad, containers, hspec + , hspec-discover, QuickCheck, tagged, template-haskell + , th-abstraction, transformers, transformers-compat + }: + mkDerivation { + pname = "bifunctors"; + version = "5.5.5"; + sha256 = "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"; + libraryHaskellDepends = [ + base base-orphans comonad containers tagged template-haskell + th-abstraction transformers + ]; + testHaskellDepends = [ + base hspec QuickCheck template-haskell transformers + transformers-compat + ]; + testToolDepends = [ hspec-discover ]; + description = "Bifunctors"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "bighugethesaurus" = callPackage ({ mkDerivation, base, HTTP, split }: mkDerivation { @@ -35226,6 +37286,7 @@ self: { description = "A parser for the Billboard chord dataset"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "billeksah-forms" = callPackage @@ -35244,6 +37305,7 @@ self: { description = "Leksah library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "billeksah-main" = callPackage @@ -35263,6 +37325,7 @@ self: { description = "Leksah plugin base"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "billeksah-main-static" = callPackage @@ -35304,6 +37367,7 @@ self: { description = "Leksah library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "billeksah-services" = callPackage @@ -35320,19 +37384,22 @@ self: { description = "Leksah library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bimap" = callPackage - ({ mkDerivation, base, containers, exceptions, QuickCheck + ({ mkDerivation, base, containers, deepseq, exceptions, QuickCheck , template-haskell }: mkDerivation { pname = "bimap"; - version = "0.3.3"; - sha256 = "1lca7bdw4bh8xj88g0h05dq43dis9ah858r2pbnkxgdwqxar70kk"; - libraryHaskellDepends = [ base containers exceptions ]; + version = "0.4.0"; + sha256 = "1794iykd7rhj29y0w4vyjyn6wnw28hi8sxzvm1j5ivdzmf39d8yi"; + revision = "1"; + editedCabalFile = "111wyqh17a6pkjhyaz8n1891m69hwr2gybqcpacw4xdmarxmi7f5"; + libraryHaskellDepends = [ base containers deepseq exceptions ]; testHaskellDepends = [ - base containers exceptions QuickCheck template-haskell + base containers deepseq exceptions QuickCheck template-haskell ]; description = "Bidirectional mapping between two key types"; license = stdenv.lib.licenses.bsd3; @@ -35389,8 +37456,8 @@ self: { pname = "binary"; version = "0.7.6.1"; sha256 = "0rqhz349w72h1bi79lga5x1d95g59h15srlahxbhfrmy2pycm1cg"; - revision = "1"; - editedCabalFile = "0lq4zn0wzfh7pwc163l2fain297njpd82jgjwkylbza3qs0nfx9m"; + revision = "2"; + editedCabalFile = "0kk10dhawx3lravnlxi2f3n430k0qz3i5p8mpmi0bi6j72ihlddw"; libraryHaskellDepends = [ array base bytestring containers ]; testHaskellDepends = [ array base bytestring Cabal containers directory filepath HUnit @@ -35405,20 +37472,22 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; - "binary_0_8_6_0" = callPackage - ({ mkDerivation, array, attoparsec, base, bytestring, Cabal, cereal - , containers, criterion, deepseq, directory, filepath - , generic-deriving, HUnit, mtl, QuickCheck, random, test-framework - , test-framework-quickcheck2, unordered-containers, zlib + "binary_0_8_7_0" = callPackage + ({ mkDerivation, array, attoparsec, base, base-orphans, bytestring + , Cabal, cereal, containers, criterion, deepseq, directory + , filepath, generic-deriving, HUnit, mtl, QuickCheck, random + , test-framework, test-framework-quickcheck2, unordered-containers + , zlib }: mkDerivation { pname = "binary"; - version = "0.8.6.0"; - sha256 = "0pz1va9bmj4daw8gi8r6d1rrnqsd4bislky6d8pjwwbyrgrw9s8y"; + version = "0.8.7.0"; + sha256 = "1r29yg94imhrbzjsv8ghf3217rhlas7945cp9i3dxzskzviyz78x"; libraryHaskellDepends = [ array base bytestring containers ]; testHaskellDepends = [ - array base bytestring Cabal containers directory filepath HUnit - QuickCheck random test-framework test-framework-quickcheck2 + array base base-orphans bytestring Cabal containers directory + filepath HUnit QuickCheck random test-framework + test-framework-quickcheck2 ]; benchmarkHaskellDepends = [ array attoparsec base bytestring cereal containers criterion @@ -35457,6 +37526,7 @@ self: { description = "Flexible way to ease transmission of binary data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "binary-conduit" = callPackage @@ -35488,6 +37558,7 @@ self: { description = "Automatic deriving of Binary using GHC.Generics"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "binary-enum" = callPackage @@ -35525,6 +37596,7 @@ self: { description = "An alternate with strong-typed errors for `Data.Binary.Get` monad from `binary` package."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "binary-file" = callPackage @@ -35541,6 +37613,7 @@ self: { description = "read/write binary file"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "binary-generic" = callPackage @@ -35579,6 +37652,34 @@ self: { description = "Binary Indexed Trees (a.k.a. Fenwick Trees)."; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "binary-instances" = callPackage + ({ mkDerivation, aeson, base, binary, binary-orphans + , case-insensitive, hashable, QuickCheck, quickcheck-instances + , scientific, tagged, tasty, tasty-quickcheck, text, text-binary + , time-compat, unordered-containers, vector + , vector-binary-instances + }: + mkDerivation { + pname = "binary-instances"; + version = "1"; + sha256 = "07y9582vsw94ks8whkd3dcmf4wdwlq8riyk2shmxxprkq0gsv3z0"; + revision = "1"; + editedCabalFile = "141hhr872rg0g2pvz1mbxamz9cijik9jilr1y0wdx5r71x0m1vyd"; + libraryHaskellDepends = [ + aeson base binary binary-orphans case-insensitive hashable + scientific tagged text text-binary time-compat unordered-containers + vector vector-binary-instances + ]; + testHaskellDepends = [ + aeson base binary case-insensitive hashable QuickCheck + quickcheck-instances scientific tagged tasty tasty-quickcheck text + time-compat unordered-containers vector + ]; + description = "Orphan instances for binary"; + license = stdenv.lib.licenses.bsd3; }) {}; "binary-list" = callPackage @@ -35611,30 +37712,22 @@ self: { }) {}; "binary-orphans" = callPackage - ({ mkDerivation, aeson, base, binary, case-insensitive, hashable - , QuickCheck, quickcheck-instances, scientific, tagged, tasty - , tasty-quickcheck, text, text-binary, time, unordered-containers - , vector, vector-binary-instances + ({ mkDerivation, base, binary, QuickCheck, quickcheck-instances + , tagged, tasty, tasty-quickcheck, transformers }: mkDerivation { pname = "binary-orphans"; - version = "0.1.8.0"; - sha256 = "1k6067wn9zki7xvbslvxx8cq1wrmz3kjb3q3x8mxycc9v765fxgi"; - revision = "5"; - editedCabalFile = "1dny1jvwwcyrbzhqvymmn6n7ib48bpy0nasbrcrdrpzjypkmg500"; - libraryHaskellDepends = [ - aeson base binary case-insensitive hashable scientific tagged text - text-binary time unordered-containers vector - vector-binary-instances - ]; + version = "1.0.1"; + sha256 = "0gbmn5rpvyxhw5bxjmxwld6918lslv03b2f6hshssaw1il5x86j3"; + revision = "1"; + editedCabalFile = "0sww1904gn3sxvj94ac8l1g50v0j3fgpfiynbpvg0yhqsbfazi3n"; + libraryHaskellDepends = [ base binary transformers ]; testHaskellDepends = [ - aeson base binary case-insensitive hashable QuickCheck - quickcheck-instances scientific tagged tasty tasty-quickcheck text - time unordered-containers vector + base binary QuickCheck quickcheck-instances tagged tasty + tasty-quickcheck ]; - description = "Orphan instances for binary"; + description = "Compatibility package for binary; provides instances"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "binary-parser" = callPackage @@ -35667,10 +37760,8 @@ self: { }: mkDerivation { pname = "binary-parsers"; - version = "0.2.3.0"; - sha256 = "0yi13cf36w5ilh1cyd7rvyagibbbgbjdym7gp6zgq3lm7d4raqdw"; - revision = "1"; - editedCabalFile = "09ag18yr1m26fl3w7ab1d5q5j201ygbw7qsbsy41bwd6iq87rq15"; + version = "0.2.4.0"; + sha256 = "1jmr9djkp9ndysly8g1najzy38xhjpflri5jkwlyfnd2vk9x74yi"; libraryHaskellDepends = [ base binary bytestring bytestring-lexing scientific ]; @@ -35699,6 +37790,7 @@ self: { description = "Monad to ease implementing a binary network protocol"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "binary-protocol-zmq" = callPackage @@ -35715,6 +37807,7 @@ self: { description = "Monad to ease implementing a binary network protocol over ZeroMQ"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "binary-search" = callPackage @@ -35804,6 +37897,7 @@ self: { description = "data serialization/deserialization io-streams library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "binary-strict" = callPackage @@ -35818,40 +37912,40 @@ self: { description = "Binary deserialisation using strict ByteStrings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "binary-tagged" = callPackage ({ mkDerivation, aeson, array, base, base16-bytestring, bifunctors - , binary, binary-orphans, bytestring, containers, criterion - , deepseq, generics-sop, hashable, nats, quickcheck-instances - , scientific, semigroups, SHA, tagged, tasty, tasty-quickcheck - , text, time, unordered-containers, vector + , binary, binary-instances, bytestring, containers, criterion + , cryptohash-sha1, deepseq, generics-sop, hashable, nats + , quickcheck-instances, scientific, semigroups, SHA, tagged, tasty + , tasty-hunit, tasty-quickcheck, text, time, unordered-containers + , vector }: mkDerivation { pname = "binary-tagged"; - version = "0.1.5.1"; - sha256 = "196msm7v0r41d7gx8aghl0c1gvir60sf0w9sfpcz2dq9akzqzjvh"; - revision = "1"; - editedCabalFile = "1z612d3wbrlywcx96lc52svi9b2s6nskdnwnwm3d5mylcqaqckcx"; + version = "0.2"; + sha256 = "1pgb2p0kdh9vkmgn509c2v3h9dnhl9vyq2gyisfqvn27g2422c0j"; libraryHaskellDepends = [ aeson array base base16-bytestring binary bytestring containers - generics-sop hashable scientific SHA tagged text time + cryptohash-sha1 generics-sop hashable scientific tagged text time unordered-containers vector ]; testHaskellDepends = [ - aeson array base base16-bytestring bifunctors binary binary-orphans - bytestring containers generics-sop hashable quickcheck-instances - scientific SHA tagged tasty tasty-quickcheck text time - unordered-containers vector + aeson array base base16-bytestring bifunctors binary + binary-instances bytestring containers generics-sop hashable + quickcheck-instances scientific tagged tasty tasty-hunit + tasty-quickcheck text time unordered-containers vector ]; benchmarkHaskellDepends = [ - aeson array base base16-bytestring binary binary-orphans bytestring - containers criterion deepseq generics-sop hashable nats scientific - semigroups SHA tagged text time unordered-containers vector + aeson array base base16-bytestring binary binary-instances + bytestring containers criterion deepseq generics-sop hashable nats + scientific semigroups SHA tagged text time unordered-containers + vector ]; description = "Tagged binary serialisation"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "binary-tree" = callPackage @@ -35892,6 +37986,18 @@ self: { description = "Type-safe binary serialization"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "binary-varint" = callPackage + ({ mkDerivation, base, binary }: + mkDerivation { + pname = "binary-varint"; + version = "0.1.0.0"; + sha256 = "1i183ab4bbq3yarijnb2pwgbi9k1w1nc0fs6ph8d8xnysj6ws8l8"; + libraryHaskellDepends = [ base binary ]; + description = "VarInt encoding/decoding via Data.Binary"; + license = stdenv.lib.licenses.bsd3; }) {}; "binarydefer" = callPackage @@ -35921,6 +38027,7 @@ self: { description = "Data marshaling library that uses type level equations to optimize buffering"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "binding-core" = callPackage @@ -35929,8 +38036,8 @@ self: { pname = "binding-core"; version = "0.2.2"; sha256 = "0qr7nr9cksy2cx2h8g2d485797hvv67197c654va0xwadkj5iviz"; - revision = "1"; - editedCabalFile = "1ijm34wxyxpx38yw42kl5yrb8i3gv1z7dvxhb98jz6pqxgqcvshs"; + revision = "2"; + editedCabalFile = "1cl8k9d0kkhxhdska3mk2c7w4xnyz7z0pd8xyynls0jx0qya0irl"; libraryHaskellDepends = [ base stm ]; testHaskellDepends = [ base HTF HUnit QuickCheck random ]; description = "Data Binding"; @@ -35943,13 +38050,14 @@ self: { pname = "binding-gtk"; version = "0.2.1"; sha256 = "0l68n13w1khfqkc791l9mcnk3cb0565a9ysfn7b3hh5cjx8zi7vr"; - revision = "1"; - editedCabalFile = "1dcccb26m1ih3mbkhf72rmz9ywva7llxjvg9s6fpssjxpms5fhwy"; + revision = "2"; + editedCabalFile = "1rcipk9zk7w0q0x9sxsdy53bak9izj0bix6jykzhsxywidcriwcy"; libraryHaskellDepends = [ base binding-core gtk mtl ]; testHaskellDepends = [ base binding-core directory gtk ]; description = "Data Binding in Gtk2Hs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "binding-wx" = callPackage @@ -35958,13 +38066,14 @@ self: { pname = "binding-wx"; version = "0.2.1"; sha256 = "07nbb6a0fmyhmx2dakkw4msxnv273hfcw3swdk3aczpfqlxd1r4i"; - revision = "1"; - editedCabalFile = "1cpgwbzix794by0mvh3lrqv1pakh7i56hap3xhs7z2xccqc461q3"; + revision = "2"; + editedCabalFile = "18jckk1pf0bds9s3bw6bklp3nam4bxxs5nlkswar297byfpzghk1"; libraryHaskellDepends = [ base binding-core stm wx wxcore ]; testHaskellDepends = [ base binding-core directory wx ]; description = "Data Binding in WxHaskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bindings" = callPackage @@ -36000,6 +38109,7 @@ self: { description = "Low level bindings to EsounD (ESD; Enlightened Sound Daemon)"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {esound = null;}; "bindings-GLFW" = callPackage @@ -36039,6 +38149,7 @@ self: { description = "Bindings to Velleman K8055 dll"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {K8055D = null;}; "bindings-apr" = callPackage @@ -36052,6 +38163,7 @@ self: { description = "Low level bindings to Apache Portable Runtime (APR)"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) apr;}; "bindings-apr-util" = callPackage @@ -36065,6 +38177,7 @@ self: { description = "Low level bindings to Apache Portable Runtime Utility (APR Utility)"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {apr-util = null;}; "bindings-audiofile" = callPackage @@ -36093,6 +38206,7 @@ self: { description = "Bindings for libbfd, a library of the GNU `binutils'"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {bfd = null; opcodes = null;}; "bindings-cctools" = callPackage @@ -36106,6 +38220,7 @@ self: { description = "Bindings to the CCTools WorkQueue C library"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {dttools = null;}; "bindings-codec2" = callPackage @@ -36137,6 +38252,7 @@ self: { description = "This package is obsolete. Look for bindings-DSL instead."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bindings-dc1394" = callPackage @@ -36151,6 +38267,7 @@ self: { description = "Library for using firewire (iidc-1394) cameras"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {dc1394 = null;}; "bindings-directfb" = callPackage @@ -36163,7 +38280,7 @@ self: { libraryPkgconfigDepends = [ directfb ]; description = "Low level bindings to DirectFB"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) directfb;}; "bindings-eskit" = callPackage @@ -36178,6 +38295,7 @@ self: { description = "Bindings to ESKit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {eskit = null;}; "bindings-fann" = callPackage @@ -36191,6 +38309,7 @@ self: { description = "Low level bindings to FANN neural network library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {fann = null;}; "bindings-fluidsynth" = callPackage @@ -36204,6 +38323,7 @@ self: { description = "Haskell FFI bindings for fluidsynth software synthesizer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) fluidsynth;}; "bindings-friso" = callPackage @@ -36217,6 +38337,7 @@ self: { description = "Low level bindings for friso"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {friso = null;}; "bindings-glib" = callPackage @@ -36266,6 +38387,7 @@ self: { description = "Low level bindings to GNU GSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) gsl;}; "bindings-gts" = callPackage @@ -36279,6 +38401,7 @@ self: { description = "Low level bindings supporting GTS, the GNU Triangulated Surface Library"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) gts;}; "bindings-hamlib" = callPackage @@ -36297,18 +38420,20 @@ self: { description = "Hamlib bindings for Haskell"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) hamlib;}; "bindings-hdf5" = callPackage ({ mkDerivation, base, bindings-DSL }: mkDerivation { pname = "bindings-hdf5"; - version = "0.1"; - sha256 = "0x6p1mwwnpcd5bd6iy4di11n7b45c4zp9d6l957mmhsyg24h2n79"; + version = "0.1.2"; + sha256 = "1d94irqliswjqx65k147mj8i9j34xhfn5lyk5xa7ycf3m5b1g95z"; libraryHaskellDepends = [ base bindings-DSL ]; description = "Project bindings-* raw interface to HDF5 library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bindings-levmar" = callPackage @@ -36359,6 +38484,7 @@ self: { description = "Low level bindings to libftdi"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libftdi; inherit (pkgs) libusb;}; "bindings-libg15" = callPackage @@ -36372,6 +38498,7 @@ self: { description = "Bindings to libg15"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {g15 = null;}; "bindings-librrd" = callPackage @@ -36385,6 +38512,7 @@ self: { description = "Low level bindings to RRDtool"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {librrd = null;}; "bindings-libstemmer" = callPackage @@ -36402,6 +38530,7 @@ self: { description = "Binding for libstemmer with low level binding"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {stemmer = null;}; "bindings-libusb" = callPackage @@ -36427,6 +38556,7 @@ self: { description = "bindings to libv4l2 for Linux"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {v4l2 = null;}; "bindings-libzip" = callPackage @@ -36487,6 +38617,7 @@ self: { description = "Low-level bindings for the MonetDB API (mapi)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {monetdb-mapi = null;}; "bindings-mpdecimal" = callPackage @@ -36499,6 +38630,7 @@ self: { description = "bindings to mpdecimal library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bindings-nettle" = callPackage @@ -36540,6 +38672,7 @@ self: { description = "Low-level bindings to portaudio library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) portaudio;}; "bindings-posix" = callPackage @@ -36620,6 +38753,7 @@ self: { description = "Low-level bindings to the SuperCollider synthesis engine library"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {scsynth = null;}; "bindings-sipc" = callPackage @@ -36636,6 +38770,7 @@ self: { description = "Low level bindings to SIPC"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {sipc = null;}; "bindings-sophia" = callPackage @@ -36695,7 +38830,8 @@ self: { description = "Bindings against the wlc library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs) wlc;}; + broken = true; + }) {wlc = null;}; "bindings-yices" = callPackage ({ mkDerivation, base, gmp, yices }: @@ -36716,10 +38852,13 @@ self: { pname = "bindynamic"; version = "1.0.0.1"; sha256 = "1dp52xagwgzmm77f1cm8mvwjy7xnckbkf1inxskq0c7xcch4wbfb"; + revision = "1"; + editedCabalFile = "0mq2h1j1xd52irb35y9j0znxzpk661w3dl4d5a011sln4jd3f663"; libraryHaskellDepends = [ base binary bytestring rank1dynamic ]; description = "A variation of Data.Dynamic.Dynamic with a Binary instance"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "binembed" = callPackage @@ -36739,6 +38878,7 @@ self: { description = "Embed data into object files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "binembed-example" = callPackage @@ -36756,6 +38896,7 @@ self: { description = "Example project using binembed to embed data in object files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bini" = callPackage @@ -36787,7 +38928,6 @@ self: { ]; description = "Aggregate continuous values into discrete bins"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "bio" = callPackage @@ -36809,6 +38949,7 @@ self: { description = "A bioinformatics library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bio-sequence" = callPackage @@ -36826,6 +38967,7 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bioace" = callPackage @@ -36840,6 +38982,7 @@ self: { description = "Library for reading ace assembly files"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bioalign" = callPackage @@ -36852,6 +38995,7 @@ self: { description = "Data structures and helper functions for calculating alignments"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "biocore" = callPackage @@ -36866,6 +39010,7 @@ self: { description = "A bioinformatics library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "biofasta" = callPackage @@ -36878,6 +39023,7 @@ self: { description = "Library for reading fasta sequence files"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "biofastq" = callPackage @@ -36890,53 +39036,55 @@ self: { description = "A library for reading FASTQ files"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "biohazard" = callPackage - ({ mkDerivation, async, attoparsec, base, base-prelude, bytestring - , containers, exceptions, hashable, primitive, stm, text - , transformers, unix, unordered-containers, vector - , vector-algorithms, vector-th-unbox, zlib + ({ mkDerivation, attoparsec, base, base-prelude, bytestring + , containers, directory, exceptions, hashable, primitive, stm + , streaming, text, transformers, unix, unordered-containers, vector + , vector-algorithms, zlib }: mkDerivation { pname = "biohazard"; - version = "1.1.1"; - sha256 = "1b9jba89l4jsyzxn3s40qp0njq4b5hdgvbs07vsrrbnlwlvshb7a"; + version = "2.0"; + sha256 = "0aq884bl3p4sr0lldwhmgqdhvmr6mxmcvnghli472jrrnijgbrxh"; libraryHaskellDepends = [ - async attoparsec base base-prelude bytestring containers exceptions - hashable primitive stm text transformers unix unordered-containers - vector vector-algorithms vector-th-unbox zlib + attoparsec base base-prelude bytestring containers directory + exceptions hashable primitive stm streaming text transformers unix + unordered-containers vector vector-algorithms zlib ]; description = "bioinformatics support library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bioinformatics-toolkit" = callPackage - ({ mkDerivation, aeson, aeson-pretty, base, bytestring + ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring , bytestring-lexing, case-insensitive, clustering, conduit - , conduit-combinators, containers, criterion, data-default-class - , data-ordlist, double-conversion, hexpat, HsHTSLib, http-conduit - , IntervalMap, lens, math-functions, matrices, mtl, parallel - , primitive, random, split, statistics, tasty, tasty-golden - , tasty-hunit, text, transformers, unordered-containers, vector - , vector-algorithms, word8 + , conduit-combinators, conduit-extra, containers, criterion + , data-default-class, data-ordlist, double-conversion, hexpat + , HsHTSLib, http-conduit, IntervalMap, lens, math-functions + , matrices, mtl, parallel, primitive, random, split, statistics + , tasty, tasty-golden, tasty-hunit, text, transformers + , unordered-containers, vector, vector-algorithms, word8 }: mkDerivation { pname = "bioinformatics-toolkit"; - version = "0.5.1"; - sha256 = "1lpcbzapinfbd7s4hz2yj3nwp1hm4fy514hqnqil4ijndyknlk3n"; + version = "0.8.0"; + sha256 = "0mkcxqnszkr9r8w2rqb79501wxfpgd2g17rn2lrjcqllmxdvkgwk"; enableSeparateDataOutput = true; libraryHaskellDepends = [ - aeson aeson-pretty base bytestring bytestring-lexing - case-insensitive clustering conduit containers data-default-class - data-ordlist double-conversion hexpat HsHTSLib http-conduit - IntervalMap lens math-functions matrices mtl parallel primitive - split statistics text transformers unordered-containers vector - vector-algorithms word8 + aeson aeson-pretty attoparsec base bytestring bytestring-lexing + case-insensitive clustering conduit conduit-extra containers + data-default-class data-ordlist double-conversion hexpat HsHTSLib + http-conduit IntervalMap lens math-functions matrices mtl parallel + primitive split statistics text transformers unordered-containers + vector vector-algorithms word8 ]; testHaskellDepends = [ - base bytestring conduit conduit-combinators data-default-class + base bytestring conduit conduit-combinators data-default-class lens matrices mtl random tasty tasty-golden tasty-hunit unordered-containers vector ]; @@ -36947,6 +39095,7 @@ self: { description = "A collection of bioinformatics tools"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "biophd" = callPackage @@ -36963,6 +39112,7 @@ self: { description = "Library for reading phd sequence files"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "biopsl" = callPackage @@ -36980,6 +39130,7 @@ self: { description = "Library and executables for working with PSL files"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "biosff" = callPackage @@ -36997,6 +39148,7 @@ self: { description = "Library and executables for working with SFF files"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "biostockholm" = callPackage @@ -37020,6 +39172,7 @@ self: { description = "Parsing and rendering of Stockholm files (used by Pfam, Rfam and Infernal)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "birch-beer" = callPackage @@ -37034,8 +39187,8 @@ self: { }: mkDerivation { pname = "birch-beer"; - version = "0.1.0.1"; - sha256 = "1xnv6zg9rc8klsjvaqf524pvplhizydjdrfybxnfjsi4d3kp612g"; + version = "0.1.4.5"; + sha256 = "1yyb897yg2ipvz6jsc6np1jwlckyi41jq94dwxlpyj2sigawzvwh"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -37048,13 +39201,14 @@ self: { text-show typed-spreadsheet vector ]; executableHaskellDepends = [ - aeson base cassava colour diagrams diagrams-cairo diagrams-lib - hierarchical-spectral-clustering lens optparse-generic - sparse-linear-algebra text text-show vector + aeson base bytestring cassava colour containers diagrams + diagrams-cairo diagrams-lib hierarchical-spectral-clustering lens + optparse-generic sparse-linear-algebra text text-show vector ]; description = "Plot a colorful tree"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bird" = callPackage @@ -37076,23 +39230,26 @@ self: { description = "A simple, sinatra-inspired web framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bisc" = callPackage - ({ mkDerivation, base, directory, filepath, selda, selda-sqlite - , text, xdg-basedir + ({ mkDerivation, base, configurator, directory, filepath, mtl + , selda, selda-sqlite, text }: mkDerivation { pname = "bisc"; - version = "0.1.0.0"; - sha256 = "16gjnqjp1rhsi59nxhx24zxwabzk75wiz97163pd657j02a5mwl0"; + version = "0.2.3.0"; + sha256 = "0x03smkfx0qnsxznlp1591gi938f15w057hywfp9497mhvkr7mxg"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ - base directory filepath selda selda-sqlite text xdg-basedir + base configurator directory filepath mtl selda selda-sqlite text ]; description = "A small tool that clears qutebrowser cookies"; license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bisect-binary" = callPackage @@ -37114,6 +39271,7 @@ self: { description = "Determine relevant parts of binary data"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bishbosh" = callPackage @@ -37124,8 +39282,8 @@ self: { }: mkDerivation { pname = "bishbosh"; - version = "0.0.0.3"; - sha256 = "0kwscgfwpyn5ppwg8kfvxbmm6gmg1cvf9d7dhmbi6qydxaj0n11v"; + version = "0.0.0.4"; + sha256 = "0d9mn2jn1iv9x41c1yskfkx9d7papwn863gc1wffcb6aw8wg4mrz"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -37157,6 +39315,7 @@ self: { description = "A bit array (aka bitset, bitmap, bit vector) API for numeric types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bit-protocol" = callPackage @@ -37197,6 +39356,7 @@ self: { description = "Lazy, infinite, compact stream of Bool with O(1) indexing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bit-vector" = callPackage @@ -37316,6 +39476,7 @@ self: { description = "Partial implementation of the Bitcoin protocol (as of 2013)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bitcoin-payment-channel" = callPackage @@ -37382,6 +39543,7 @@ self: { description = "Library to communicate with the Satoshi Bitcoin daemon"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bitcoin-script" = callPackage @@ -37454,6 +39616,7 @@ self: { description = "A command line tool to access bit.ly URL shortener."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bitmap" = callPackage @@ -37493,6 +39656,7 @@ self: { description = "Bitmap library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bits" = callPackage @@ -37501,10 +39665,8 @@ self: { }: mkDerivation { pname = "bits"; - version = "0.5.1"; - sha256 = "14ww8zcyis6kfli28bb9i5dmmj7k1j1dlzpwnfrkzd8kp5xmazk5"; - revision = "5"; - editedCabalFile = "012qycmsfz5l6y82d3zgjmp1k3pgvhlpjdk6rwlpc1wlfbpdqiaw"; + version = "0.5.2"; + sha256 = "1q5grjma421qiwjkwvnsakd4hxnf02bavfinky2skfhqvg63hkav"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base bytes mtl transformers ]; testHaskellDepends = [ base doctest ]; @@ -37573,6 +39735,7 @@ self: { description = "Bitstream support for Conduit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bits-extra" = callPackage @@ -37628,6 +39791,7 @@ self: { description = "A space-efficient set data structure"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) gmp;}; "bitset-word8" = callPackage @@ -37669,7 +39833,8 @@ self: { description = "Proof-of-concept tool for writing using binary choices"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; - }) {gtk2 = pkgs.gnome2.gtk; inherit (pkgs.gnome2) pango;}; + broken = true; + }) {inherit (pkgs) gtk2; inherit (pkgs) pango;}; "bitstream" = callPackage ({ mkDerivation, base, base-unicode-symbols, bytestring, QuickCheck @@ -37688,6 +39853,7 @@ self: { description = "Fast, packed, strict and lazy bit streams with stream fusion"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bitstring" = callPackage @@ -37732,6 +39898,7 @@ self: { description = "Bittorrent protocol implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bittrex" = callPackage @@ -37755,22 +39922,24 @@ self: { }) {}; "bitvec" = callPackage - ({ mkDerivation, base, HUnit, primitive, QuickCheck - , quickcheck-classes, test-framework, test-framework-hunit - , test-framework-quickcheck2, vector + ({ mkDerivation, base, containers, gauge, ghc-prim, primitive + , quickcheck-classes, random, tasty, tasty-hunit, tasty-quickcheck + , vector }: mkDerivation { pname = "bitvec"; - version = "0.2.0.0"; - sha256 = "024g2177c7br7spqqk6y61b3b7svyl9ghikx0rfydm0sl2dd9rii"; - libraryHaskellDepends = [ base primitive vector ]; + version = "1.0.0.1"; + sha256 = "1b3cf8f3a2xx4m80699p63id26dj61d7lgz38n5kv0vskq1zfcsp"; + revision = "1"; + editedCabalFile = "0q8hc4i62l43kpg8q3nqqzz03cdcv36ins2741sw3956sj92xfh4"; + libraryHaskellDepends = [ base ghc-prim primitive vector ]; testHaskellDepends = [ - base HUnit primitive QuickCheck quickcheck-classes test-framework - test-framework-hunit test-framework-quickcheck2 vector + base primitive quickcheck-classes tasty tasty-hunit + tasty-quickcheck vector ]; - description = "Unboxed bit vectors"; - license = stdenv.lib.licenses.publicDomain; - hydraPlatforms = stdenv.lib.platforms.none; + benchmarkHaskellDepends = [ base containers gauge random vector ]; + description = "Space-efficient bit vectors"; + license = stdenv.lib.licenses.bsd3; }) {}; "bitwise" = callPackage @@ -37779,13 +39948,15 @@ self: { pname = "bitwise"; version = "1.0.0.1"; sha256 = "03xyzdkyb99gvm9g5chl07rqbnm7qrxba7wgmrfmal0rkwm0ibkn"; - revision = "1"; - editedCabalFile = "1h6dbjmznd3pvz7j5f8xwaaxxhx57fxszli2k430wcn65bc9y0zs"; + revision = "2"; + editedCabalFile = "1mnh3629kgfivjwbbqwrkcyvg6iah5pncc5jzgq3ka5cq0kg09gz"; libraryHaskellDepends = [ array base bytestring ]; testHaskellDepends = [ base QuickCheck ]; benchmarkHaskellDepends = [ array base bytestring criterion ]; description = "fast multi-dimensional unboxed bit packed Bool arrays"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bitx-bitcoin" = callPackage @@ -37825,6 +39996,7 @@ self: { description = "A lousy Prelude replacement by a lousy dude"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bizzlelude-js" = callPackage @@ -37837,6 +40009,7 @@ self: { description = "A lousy Prelude replacement by a lousy dude"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bk-tree" = callPackage @@ -37872,6 +40045,7 @@ self: { description = "Backup utility for backing up to cloud storage services (S3 only right now)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bktrees" = callPackage @@ -37898,6 +40072,7 @@ self: { description = "a stupid cron"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "black-jewel" = callPackage @@ -37939,27 +40114,11 @@ self: { ]; description = "Decentralized, k-ordered unique ID generator"; license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blake2" = callPackage - ({ mkDerivation, base, base16-bytestring, bytestring, criterion - , hlint, QuickCheck, tasty, tasty-quickcheck - }: - mkDerivation { - pname = "blake2"; - version = "0.2.0"; - sha256 = "1z1c70l2lmaj7d4wffsikf2w61i5ypjxnlwxddd8zsf6ypii1n87"; - libraryHaskellDepends = [ base bytestring ]; - testHaskellDepends = [ - base base16-bytestring bytestring hlint QuickCheck tasty - tasty-quickcheck - ]; - benchmarkHaskellDepends = [ base bytestring criterion ]; - description = "A library providing BLAKE2"; - license = stdenv.lib.licenses.publicDomain; - }) {}; - - "blake2_0_3_0" = callPackage ({ mkDerivation, base, base16-bytestring, bytestring, criterion , hlint, QuickCheck, tasty, tasty-quickcheck }: @@ -37976,6 +40135,7 @@ self: { description = "A library providing BLAKE2"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blakesum" = callPackage @@ -37988,6 +40148,7 @@ self: { description = "The BLAKE SHA-3 candidate hashes, in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blakesum-demo" = callPackage @@ -38006,6 +40167,7 @@ self: { description = "The BLAKE SHA-3 candidate hashes, in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blank-canvas_0_6_2" = callPackage @@ -38019,8 +40181,8 @@ self: { pname = "blank-canvas"; version = "0.6.2"; sha256 = "1qhdvxia8wlnv0ss9dsrxdfw3qsf376ypnpsijz7vxkj9dmzyq84"; - revision = "4"; - editedCabalFile = "03l1k5b58b9p8ajm2aiq5xfryj45zipzv04mxc2qnl5xk9jz0iqw"; + revision = "5"; + editedCabalFile = "1csa2lsr4jv9x3867l1nbd1brnvw10q9qla027r19csscx5pg726"; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson base base-compat base64-bytestring bytestring colour @@ -38039,20 +40201,18 @@ self: { "blank-canvas" = callPackage ({ mkDerivation, aeson, base, base-compat-batteries , base64-bytestring, bytestring, colour, containers - , data-default-class, directory, http-types, kansas-comet + , data-default-class, directory, fail, http-types, kansas-comet , mime-types, process, scotty, semigroups, shake, stm, text , text-show, time, transformers, unix, vector, wai, wai-extra, warp }: mkDerivation { pname = "blank-canvas"; - version = "0.6.3"; - sha256 = "1d10ngvsgi2hz6xick59rkq1wzfbsgckply2jmg6gz9mf3zj97bk"; - revision = "2"; - editedCabalFile = "0sybv2swx9gwpkjh704xfmilm9jhdb66jqc296agpzp85s2s75zz"; + version = "0.7"; + sha256 = "11blkr9yhag4l8lyg5gyi2wzcnapkgihkh01mp9lm28f3bb1v1z7"; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson base base-compat-batteries base64-bytestring bytestring - colour containers data-default-class http-types kansas-comet + colour containers data-default-class fail http-types kansas-comet mime-types scotty semigroups stm text text-show transformers vector wai wai-extra warp ]; @@ -38062,7 +40222,6 @@ self: { ]; description = "HTML5 Canvas Graphics Library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "blas" = callPackage @@ -38075,6 +40234,7 @@ self: { description = "Bindings to the BLAS library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blas-carray" = callPackage @@ -38092,6 +40252,7 @@ self: { description = "Auto-generated interface to Fortran BLAS via CArrays"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blas-comfort-array" = callPackage @@ -38100,8 +40261,8 @@ self: { }: mkDerivation { pname = "blas-comfort-array"; - version = "0.0.0.1"; - sha256 = "1m6kq46sz4chjfc5kh1vqvdfzvn0c46iq93hv9d5rrc9adhma7gb"; + version = "0.0.0.2"; + sha256 = "1n9w905ppb08w0d8xbxvgipr9fv1iapwq3ybvk0dbj009w341kd1"; libraryHaskellDepends = [ base blas-ffi comfort-array netlib-comfort-array netlib-ffi storable-complex transformers @@ -38109,6 +40270,7 @@ self: { description = "Auto-generated interface to Fortran BLAS via comfort-array"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blas-ffi" = callPackage @@ -38124,6 +40286,7 @@ self: { description = "Auto-generated interface to Fortran BLAS"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) blas;}; "blas-hs" = callPackage @@ -38138,6 +40301,7 @@ self: { description = "Low-level Haskell bindings to Blas"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) blas;}; "blastxml" = callPackage @@ -38152,6 +40316,7 @@ self: { description = "Library for reading Blast XML output"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blatex" = callPackage @@ -38170,6 +40335,7 @@ self: { description = "Blog in LaTeX"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blaze" = callPackage @@ -38241,21 +40407,22 @@ self: { description = "Enumeratees for the incremental conversion of builders to bytestrings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blaze-colonnade" = callPackage ({ mkDerivation, base, blaze-html, blaze-markup, colonnade, doctest - , text + , profunctors, text }: mkDerivation { pname = "blaze-colonnade"; - version = "1.2.2"; - sha256 = "0k51iqfr2dvc445q6jzvf4mb3q3x4z0vvf9p8fhd4npazwb72bqz"; + version = "1.2.2.1"; + sha256 = "1wh0q72qv2s6a42i13lqb94i0b5bgmqwqw7d5xy89dc76j0ncd2d"; libraryHaskellDepends = [ - base blaze-html blaze-markup colonnade text + base blaze-html blaze-markup colonnade profunctors text ]; testHaskellDepends = [ base colonnade doctest ]; - description = "Helper functions for using blaze-html with colonnade"; + description = "blaze-html backend for colonnade"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -38309,6 +40476,7 @@ self: { description = "Some contributions to add handy things to blaze html"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blaze-html-hexpat" = callPackage @@ -38321,6 +40489,7 @@ self: { description = "A hexpat backend for blaze-html"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blaze-html-truncate" = callPackage @@ -38337,6 +40506,7 @@ self: { description = "A truncator for blaze-html"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blaze-json" = callPackage @@ -38359,6 +40529,7 @@ self: { description = "tiny library for encoding json"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blaze-markup" = callPackage @@ -38440,6 +40611,7 @@ self: { description = "Fast rendering of common datatypes (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blazeMarker" = callPackage @@ -38469,6 +40641,7 @@ self: { description = "A true monad (transformer) version of the blaze-markup and blaze-html libraries"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ble" = callPackage @@ -38501,6 +40674,7 @@ self: { description = "Bluetooth Low Energy (BLE) peripherals"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blink1" = callPackage @@ -38520,6 +40694,7 @@ self: { description = "Control library for blink(1) LED from ThingM"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blip" = callPackage @@ -38539,6 +40714,7 @@ self: { description = "Python to bytecode compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bliplib" = callPackage @@ -38555,6 +40731,7 @@ self: { description = "Support code for Blip"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blockchain" = callPackage @@ -38579,6 +40756,7 @@ self: { description = "Generic blockchain implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blockhash" = callPackage @@ -38601,6 +40779,7 @@ self: { description = "Blockhash perceptual image hash algorithm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blocking-transactions" = callPackage @@ -38634,6 +40813,7 @@ self: { description = "Very simple static blog software"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bloodhound" = callPackage @@ -38663,6 +40843,7 @@ self: { description = "Elasticsearch client library for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bloodhound-amazonka-auth" = callPackage @@ -38686,6 +40867,7 @@ self: { description = "Adds convenient Amazon ElasticSearch Service authentication to Bloodhound"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bloomfilter" = callPackage @@ -38712,8 +40894,8 @@ self: { }: mkDerivation { pname = "bloomfilter-redis"; - version = "0.1.0.3"; - sha256 = "0wqsynfc1ps8gxfvggp1f6q6kd2wp4blvasv7yn5ld20iw0qawid"; + version = "0.1.0.4"; + sha256 = "0kl166hfdnq1j2ghra4n2fi4zvi1wj1md43rmx3jcmyhj7q4s2f0"; libraryHaskellDepends = [ arithmoi base binary bytestring hashable hedis ]; @@ -38725,6 +40907,7 @@ self: { description = "Distributed bloom filters on Redis (using the Hedis client)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blosum" = callPackage @@ -38747,6 +40930,7 @@ self: { description = "BLOSUM generator"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bloxorz" = callPackage @@ -38779,6 +40963,7 @@ self: { description = "The blubber client; connects to the blubber server"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blubber-server" = callPackage @@ -38801,6 +40986,7 @@ self: { description = "The blubber server, serves blubber clients"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bluemix-sdk" = callPackage @@ -38839,7 +41025,8 @@ self: { description = "full-featured tiling for the GNOME desktop environment"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; - }) {gtk2 = pkgs.gnome2.gtk;}; + broken = true; + }) {inherit (pkgs) gtk2;}; "bluetileutils" = callPackage ({ mkDerivation, base, gtk }: @@ -38853,6 +41040,7 @@ self: { description = "Utilities for Bluetile"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blunk-hask-tests" = callPackage @@ -38869,6 +41057,7 @@ self: { description = "spam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "blunt" = callPackage @@ -38891,6 +41080,7 @@ self: { description = "Convert between pointfree and pointful expressions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bmp" = callPackage @@ -38916,30 +41106,35 @@ self: { description = "Library for communication with the Bosch BNO055 orientation sensor"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "board-games" = callPackage - ({ mkDerivation, array, base, cgi, containers, html, httpd-shed - , network-uri, non-empty, QuickCheck, random, transformers - , utility-ht + ({ mkDerivation, array, base, cgi, containers, criterion + , enummapset, html, httpd-shed, network-uri, non-empty, parallel + , QuickCheck, random, transformers, utility-ht }: mkDerivation { pname = "board-games"; - version = "0.2"; - sha256 = "1plgnwlpx0bw0wjwd0dxbh616vy37frclwir692x1fr2lq85y98c"; + version = "0.3"; + sha256 = "1ylwibyl0j1v0bdrpfnjhdm431npagavxzgi2l5sp0scgpkcyyx7"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - array base cgi containers html non-empty random transformers - utility-ht + array base cgi containers enummapset html non-empty QuickCheck + random transformers utility-ht ]; executableHaskellDepends = [ array base cgi containers html httpd-shed network-uri non-empty random transformers utility-ht ]; testHaskellDepends = [ - array base containers non-empty QuickCheck random transformers - utility-ht + array base containers enummapset non-empty QuickCheck random + transformers utility-ht + ]; + benchmarkHaskellDepends = [ + base containers criterion enummapset non-empty parallel QuickCheck + random transformers utility-ht ]; description = "Three games for inclusion in a web server"; license = "GPL"; @@ -38981,6 +41176,7 @@ self: { executableHaskellDepends = [ base hogre hois random ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bolt" = callPackage @@ -39005,6 +41201,7 @@ self: { description = "Bolt driver for Neo4j"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "boltzmann-brain" = callPackage @@ -39030,6 +41227,7 @@ self: { description = "Boltzmann sampler compiler for combinatorial systems"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "boltzmann-samplers" = callPackage @@ -39078,6 +41276,7 @@ self: { description = "Bond schema compiler and code generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bond-haskell" = callPackage @@ -39107,6 +41306,7 @@ self: { description = "Runtime support for BOND serialization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bond-haskell-compiler" = callPackage @@ -39129,6 +41329,7 @@ self: { description = "Bond code generator for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bookkeeper" = callPackage @@ -39157,6 +41358,7 @@ self: { description = "Anonymous records and overloaded labels"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bookkeeper-permissions" = callPackage @@ -39169,6 +41371,7 @@ self: { description = "Permissions for bookkeeper records"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bookkeeping" = callPackage @@ -39267,6 +41470,8 @@ self: { ]; description = "Boolean normal form: NNF, DNF & CNF"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "boolector" = callPackage @@ -39299,6 +41504,7 @@ self: { description = "Boolean expressions with various representations and search queries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bools" = callPackage @@ -39357,6 +41563,7 @@ self: { description = "Chronokinetic stream sources and incremental consumers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "boomerang" = callPackage @@ -39390,6 +41597,7 @@ self: { description = "Boomshine clone"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "boop" = callPackage @@ -39404,6 +41612,95 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "boots" = callPackage + ({ mkDerivation, base, exceptions, hspec, mtl }: + mkDerivation { + pname = "boots"; + version = "0.0.100"; + sha256 = "0q685h5z561lgjg2kqnkls35wpys9kx4zhghqqq3dyvl2i4dwmcz"; + libraryHaskellDepends = [ base exceptions mtl ]; + testHaskellDepends = [ base exceptions hspec mtl ]; + description = "IoC Monad in Haskell"; + license = stdenv.lib.licenses.mit; + }) {}; + + "boots_0_2" = callPackage + ({ mkDerivation, base, exceptions, hspec, mtl }: + mkDerivation { + pname = "boots"; + version = "0.2"; + sha256 = "0v7p2pfs4kcczc4wpswb0rgl2ak9xijq7ha9c6lagyb1av17sx9r"; + libraryHaskellDepends = [ base exceptions mtl ]; + testHaskellDepends = [ base exceptions hspec mtl ]; + description = "IoC Monad in Haskell"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "boots-app" = callPackage + ({ mkDerivation, base, boots, data-default, exceptions, fast-logger + , menshen, microlens, mtl, salak, salak-yaml, splitmix, text, time + , unliftio-core, unordered-containers + }: + mkDerivation { + pname = "boots-app"; + version = "0.2"; + sha256 = "0rnlb9fzaxcx4lvacqklv1kr2ygzgssgz1xzcfmbgkqpzp08nxqx"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base boots data-default exceptions fast-logger menshen microlens + mtl salak salak-yaml splitmix text unliftio-core + unordered-containers + ]; + executableHaskellDepends = [ base time ]; + description = "Factory for quickly building an application"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "boots-cloud" = callPackage + ({ mkDerivation, aeson, base, boots, boots-app, boots-web + , bytestring, http-client, salak, servant, servant-client, text + , unordered-containers + }: + mkDerivation { + pname = "boots-cloud"; + version = "0.2"; + sha256 = "0wfbzf753h3bgfdw0gfh4cwi40qv2ghyyznfahwxkh9aabrwckqp"; + libraryHaskellDepends = [ + aeson base boots boots-app boots-web bytestring http-client salak + servant servant-client text unordered-containers + ]; + description = "Factory for quickly building a microservice"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "boots-web" = callPackage + ({ mkDerivation, aeson, base, boots, boots-app, bytestring + , containers, ekg-core, http-types, microlens, monad-logger, salak + , servant-server, servant-swagger, swagger2, text, time + , unordered-containers, vault, wai, warp + }: + mkDerivation { + pname = "boots-web"; + version = "0.2"; + sha256 = "00f55k7gc4dirzxmgngw9vpcl0w8fgklsyscy5h584pbhd84x4mj"; + libraryHaskellDepends = [ + aeson base boots boots-app bytestring containers ekg-core + http-types microlens monad-logger salak servant-server + servant-swagger swagger2 text time unordered-containers vault wai + warp + ]; + description = "Factory for quickly building a web application"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "bootstrap-types" = callPackage ({ mkDerivation, base, text }: mkDerivation { @@ -39457,26 +41754,26 @@ self: { description = "Metering System for OpenStack metrics provided by Vaultaire"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "boring" = callPackage - ({ mkDerivation, adjunctions, base, base-compat, constraints, fin - , generics-sop, streams, tagged, transformers, transformers-compat - , vec + ({ mkDerivation, adjunctions, base, base-compat, constraints, dec + , fin, generics-sop, singleton-bool, streams, tagged, transformers + , transformers-compat, vec }: mkDerivation { pname = "boring"; - version = "0.1"; - sha256 = "0r263cc8bdwsaw33x96fgd8npsma9a2ffv6mfz9z72d7qclhimkk"; - revision = "2"; - editedCabalFile = "1jxaby4cagbhii194x9x0j75ms1v5bm14sx7d19zz3844mh9qyci"; + version = "0.1.2"; + sha256 = "0978dq53rpb7clz1ydjm6x38nrx0vkp3safqcbjp2kq6jlaz29jr"; + revision = "1"; + editedCabalFile = "010k2mw8q3iby78ak56xamp6pzdwijn92r64r76hblw32k1i80c0"; libraryHaskellDepends = [ - adjunctions base base-compat constraints fin generics-sop streams - tagged transformers transformers-compat vec + adjunctions base base-compat constraints dec fin generics-sop + singleton-bool streams tagged transformers transformers-compat vec ]; description = "Boring and Absurd types"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "boring-game" = callPackage @@ -39507,6 +41804,7 @@ self: { description = "A boring window switcher"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bot" = callPackage @@ -39519,6 +41817,7 @@ self: { description = "bots for functional reactive programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "both" = callPackage @@ -39527,6 +41826,8 @@ self: { pname = "both"; version = "0.1.1.0"; sha256 = "13hf6j8qfaqw446ifyx0y60j9kvlvm0yj3r4h910bcszfjvyhkkg"; + revision = "1"; + editedCabalFile = "0fi2lvxcdnj9bi683kl840xpyj12wxwxvqbi86a6qp4r8bq8442n"; libraryHaskellDepends = [ base semigroups zero ]; description = "Like Maybe, but with a different Monoid instance"; license = stdenv.lib.licenses.mit; @@ -39555,8 +41856,8 @@ self: { pname = "bound"; version = "2.0.1"; sha256 = "0xmvkwambzmji1czxipl9cms5l3v98765b9spmb3wn5n6dpj0ji9"; - revision = "6"; - editedCabalFile = "18fqzxy3f8r09jwcsfzjlrpvnlz711jq5gcjp4dal1pvsbbw6i09"; + revision = "7"; + editedCabalFile = "0amr5rpq8andqq3z2dsh8hn67g3x7ykcmqq899vbkxwnpvg60h5r"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base bifunctors binary bytes cereal comonad deepseq hashable mmorph @@ -39577,10 +41878,10 @@ self: { }: mkDerivation { pname = "bound-extras"; - version = "0"; - sha256 = "0j010sbdm0bc9dq4lsyw1vb2x0j6gcjxp7ywjn8izdh6yqr2r3qq"; + version = "0.0.1"; + sha256 = "0f49yqz5s5h4f3m3i7kpm2fqnd42nl4dbl24lvm6z3nb8qrx6ynq"; revision = "1"; - editedCabalFile = "0qcxcpn8hdmkg3mqz80i0j9jrym2pk11k5hyjhqbmrqlhf3fr7qw"; + editedCabalFile = "1gyhbcnb1q1f8fdlmsmjn19xp4nvi2vb6ns0h8h2dvvpz9x3wgab"; libraryHaskellDepends = [ base bound deepseq hashable transformers ]; @@ -39590,7 +41891,6 @@ self: { ]; description = "ScopeH and ScopeT extras for bound"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "bound-gen" = callPackage @@ -39614,6 +41914,19 @@ self: { description = "Arrays with a value for every index"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "bounded-queue" = callPackage + ({ mkDerivation, base, containers, deepseq, tasty, tasty-hunit }: + mkDerivation { + pname = "bounded-queue"; + version = "1.0.0"; + sha256 = "18jlkdzfkw0v6ifz8fzqkzagc3g97kg13ng8yldq869casnmcw5d"; + libraryHaskellDepends = [ base containers deepseq ]; + testHaskellDepends = [ base tasty tasty-hunit ]; + description = "A strict, immutable, thread-safe, single-ended, bounded queue"; + license = stdenv.lib.licenses.bsd3; }) {}; "bounded-tchan" = callPackage @@ -39662,8 +41975,8 @@ self: { ({ mkDerivation, base, containers, GLUT, hosc, hsc3, random }: mkDerivation { pname = "bowntz"; - version = "1"; - sha256 = "0b5fv59v7c896g56ixyhip8cnbfw2p2qvdmgj2dg97jvgjkxwpfn"; + version = "2"; + sha256 = "0i8fi5xq04s9mzyy1vdshmlyybzhim0sr9nyxxfdbvcaai796i5z"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -39672,6 +41985,44 @@ self: { description = "audio-visual pseudo-physical simulation of colliding circles"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "box" = callPackage + ({ mkDerivation, async, attoparsec, base, concurrency + , contravariant, data-default, dejafu, doctest, exceptions, flow + , foldl, generic-lens, lens, mmorph, pipes, profunctors, protolude + , random, stm, streaming, text, time, transformers + , transformers-base + }: + mkDerivation { + pname = "box"; + version = "0.0.1.2"; + sha256 = "11g3ig1n1myfgcfvp6gkn5lyr2gdzj4zpginwmjac1c599xiyf8i"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + async attoparsec base concurrency contravariant data-default dejafu + exceptions flow foldl generic-lens lens mmorph pipes profunctors + protolude random stm streaming text time transformers + transformers-base + ]; + executableHaskellDepends = [ + async attoparsec base concurrency contravariant data-default dejafu + exceptions flow foldl generic-lens lens mmorph pipes profunctors + protolude random stm streaming text time transformers + transformers-base + ]; + testHaskellDepends = [ + async attoparsec base concurrency contravariant data-default dejafu + doctest exceptions flow foldl generic-lens lens mmorph pipes + profunctors protolude random stm streaming text time transformers + transformers-base + ]; + description = "boxes"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "box-tuples" = callPackage @@ -39729,20 +42080,22 @@ self: { description = "Types and functions to work with braids and Khovanov homology"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "brain-bleep" = callPackage ({ mkDerivation, array, base, containers, parsec }: mkDerivation { pname = "brain-bleep"; - version = "0.1.0.1"; - sha256 = "18d9nfr9pykj5xb50m1gc024nw5h8i75facw2a1wz325jyzncg84"; + version = "0.1.0.2"; + sha256 = "08rb1b7m5lpgiwdy1gl3dkc2ymc6l8ifssj4q2rqp46b27nbwsgz"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ array base containers parsec ]; description = "primitive imperative language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "brainfuck" = callPackage @@ -39826,6 +42179,7 @@ self: { description = "A simple Breakout game implementation"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "breve" = callPackage @@ -39836,8 +42190,8 @@ self: { }: mkDerivation { pname = "breve"; - version = "0.4.4.0"; - sha256 = "1pkjiwxm8lkrjnyya14f6kmmyv9w5lx7328wdyf1w1871daw208p"; + version = "0.4.5.1"; + sha256 = "1db93l3lb09rsb6yh3pkbfpyh736a9ki0q1x8s8rcp4dsy79b3va"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -39848,8 +42202,9 @@ self: { xdg-basedir ]; description = "a url shortener"; - license = stdenv.lib.licenses.mit; + license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "brians-brain" = callPackage @@ -39864,6 +42219,7 @@ self: { description = "A Haskell implementation of the Brian's Brain cellular automaton"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "brick" = callPackage @@ -39874,8 +42230,8 @@ self: { }: mkDerivation { pname = "brick"; - version = "0.46"; - sha256 = "1alfv1z0adp74d7vcqp92c73y8rkhv96s3lj4dqjxkqk044zgd9p"; + version = "0.47.1"; + sha256 = "0s0frxr6spgxzzvnym8rf40wj261clv7yfy2fxgm8iyjrr0ki49h"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -39908,6 +42264,7 @@ self: { description = "A drop-down menu widget for brick"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "brick-filetree" = callPackage @@ -39968,6 +42325,7 @@ self: { description = "Bricks is a lazy functional language based on Nix"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bricks-internal" = callPackage @@ -39987,6 +42345,7 @@ self: { description = "..."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bricks-internal-test" = callPackage @@ -40003,6 +42362,7 @@ self: { description = "..."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bricks-parsec" = callPackage @@ -40024,6 +42384,7 @@ self: { description = "..."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bricks-rendering" = callPackage @@ -40045,6 +42406,7 @@ self: { description = "..."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bricks-syntax" = callPackage @@ -40066,6 +42428,7 @@ self: { description = "..."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "brillig" = callPackage @@ -40087,6 +42450,7 @@ self: { description = "Simple part of speech tagger"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "brittany" = callPackage @@ -40099,10 +42463,8 @@ self: { }: mkDerivation { pname = "brittany"; - version = "0.11.0.0"; - sha256 = "1fgcim4q5y7csk8c038rm97w6b8bgynmi6h1dwyr2hsmzw9hxa26"; - revision = "2"; - editedCabalFile = "1f20w6zzbygnpa7f6xbaqxx34l62r53ikywg2snn0zkfizf3lcgx"; + version = "0.12.0.0"; + sha256 = "058ffj00x374iaz75zzd9l0ab4crdsq2zjrq1r8lvcpp63fmsa7h"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -40128,7 +42490,6 @@ self: { ]; description = "Haskell source code formatter"; license = stdenv.lib.licenses.agpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "broadcast-chan" = callPackage @@ -40137,15 +42498,14 @@ self: { }: mkDerivation { pname = "broadcast-chan"; - version = "0.2.0.1"; - sha256 = "0kbs3yz53x7117fykapy70qlmaxkj9zr5r4n9wf126n4g0i6gcpf"; - revision = "2"; - editedCabalFile = "1vvs1m5n6lflmp8hdxksxa4ibllfx609y791wg21lvyz5m208hp9"; + version = "0.2.0.2"; + sha256 = "12ax37y9i3cs8wifz01lpq0awm9c235l5xkybf13ywvyk5svb0jv"; + revision = "1"; + editedCabalFile = "1sgifhdf9l8zkc0dddnkfy8f1bkry061vm67iich489fi8nlhfjn"; libraryHaskellDepends = [ base unliftio-core ]; benchmarkHaskellDepends = [ async base criterion deepseq stm ]; description = "Closable, fair, single-wakeup channel type that avoids 0 reader space leaks"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "broadcast-chan-conduit" = callPackage @@ -40154,8 +42514,8 @@ self: { }: mkDerivation { pname = "broadcast-chan-conduit"; - version = "0.2.0.1"; - sha256 = "0q3kikryj38macxnwmlk6xijcmvxys0acryj419n7749n7bpc59s"; + version = "0.2.0.2"; + sha256 = "1xnf1ibgnzi4xbmfgrkkfg3pkig7v8vv0xpfhhcdmnybwm2yhlli"; libraryHaskellDepends = [ base broadcast-chan conduit resourcet transformers unliftio-core ]; @@ -40165,6 +42525,7 @@ self: { description = "Conduit-based parallel streaming code for broadcast-chan"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "broadcast-chan-pipes" = callPackage @@ -40173,8 +42534,8 @@ self: { }: mkDerivation { pname = "broadcast-chan-pipes"; - version = "0.2.0.1"; - sha256 = "0m2g14rlqladhwfvphmnpsddlbc5bhsjdsb4a9r475vkib30gdp2"; + version = "0.2.0.2"; + sha256 = "1brr0vjrsd53qji8pmns003m3k1s28hvr2w8875hv2fznmm8x1g7"; libraryHaskellDepends = [ base broadcast-chan pipes pipes-safe ]; testHaskellDepends = [ base broadcast-chan-tests containers foldl pipes pipes-safe @@ -40182,6 +42543,7 @@ self: { description = "Pipes-based parallel streaming code for broadcast-chan"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "broadcast-chan-tests" = callPackage @@ -40192,8 +42554,10 @@ self: { }: mkDerivation { pname = "broadcast-chan-tests"; - version = "0.2.0.1"; - sha256 = "1l3zqc693jmvxmb5lln6fmwn01rjpwhvlllkrn3v6hs2bwibrp5n"; + version = "0.2.0.2"; + sha256 = "1m7m06pd9vfvz0rfnylpr6pjvizxv31qizri3a400rkz3zanhkym"; + revision = "2"; + editedCabalFile = "0mfld36ppfyhx2w9a99gxa8qxnik0mnznl7bvqhbbaf1ayinhx91"; libraryHaskellDepends = [ async base broadcast-chan clock containers optparse-applicative paramtree stm tagged tasty tasty-golden tasty-hunit tasty-travis @@ -40205,6 +42569,7 @@ self: { description = "Helpers for generating tests for broadcast-chan"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "broccoli" = callPackage @@ -40217,6 +42582,7 @@ self: { description = "Small library for interactive functional programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "brok" = callPackage @@ -40242,6 +42608,8 @@ self: { testToolDepends = [ tasty-discover ]; description = "Finds broken links in text files"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "broker-haskell" = callPackage @@ -40256,6 +42624,7 @@ self: { description = "Haskell bindings to Broker, Bro's messaging library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {broker = null;}; "bronyradiogermany-common" = callPackage @@ -40266,6 +42635,8 @@ self: { pname = "bronyradiogermany-common"; version = "1.0.0.1"; sha256 = "1hwqif1jnwjhkb22j7rsc7fznvd7373gbfsl46196bb6489bbcvy"; + revision = "1"; + editedCabalFile = "158y92fki5kk8pk7z5whc70qbw0w17v0j0zn486hym3bq6qif74k"; libraryHaskellDepends = [ aeson base bytestring network-uri text time tz uuid-types ]; @@ -40282,6 +42653,8 @@ self: { pname = "bronyradiogermany-streaming"; version = "1.0.0.1"; sha256 = "1a2yz2cbjpcywis7fy5l1w3pipirh6rjfcgs1mdyhgza12qnbx09"; + revision = "1"; + editedCabalFile = "0zhgpm0yxr9ablrc4b99wpwpj1qv2a8bq8mpz525ni17jix3iqc8"; libraryHaskellDepends = [ aeson base bronyradiogermany-common bytestring case-insensitive http-types mtl streaming streaming-bytestring streaming-utils text @@ -40290,6 +42663,69 @@ self: { description = "Streaming interface for the BronyRadioGermany API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "brotli" = callPackage + ({ mkDerivation, base, bytestring, HUnit, libbrotlidec + , libbrotlienc, QuickCheck, tasty, tasty-hunit, tasty-quickcheck + , transformers + }: + mkDerivation { + pname = "brotli"; + version = "0.0.0.0"; + sha256 = "1l9qiw5cl0k1rcnqnj9pb7vgj1b06wckkk5i73nqr15ixgcjmr9j"; + libraryHaskellDepends = [ base bytestring transformers ]; + libraryPkgconfigDepends = [ libbrotlidec libbrotlienc ]; + testHaskellDepends = [ + base bytestring HUnit QuickCheck tasty tasty-hunit tasty-quickcheck + ]; + description = "Brotli (RFC7932) compression and decompression"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {libbrotlidec = null; libbrotlienc = null;}; + + "brotli-conduit" = callPackage + ({ mkDerivation, base, brotli, bytestring, conduit, HUnit + , QuickCheck, resourcet, test-framework, test-framework-hunit + , test-framework-quickcheck2, transformers + }: + mkDerivation { + pname = "brotli-conduit"; + version = "0.0.0.0"; + sha256 = "00hl8g4aw4klzvq8gbgx3ff5iq5diz7lxk9ssn7q8icdpl8w5fbf"; + libraryHaskellDepends = [ + base brotli bytestring conduit resourcet transformers + ]; + testHaskellDepends = [ + base bytestring conduit HUnit QuickCheck resourcet test-framework + test-framework-hunit test-framework-quickcheck2 + ]; + description = "Conduit interface for Brotli (RFC7932) compression"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "brotli-streams" = callPackage + ({ mkDerivation, base, brotli, bytestring, HUnit, io-streams + , QuickCheck, test-framework, test-framework-hunit + , test-framework-quickcheck2 + }: + mkDerivation { + pname = "brotli-streams"; + version = "0.0.0.0"; + sha256 = "14jc1nhm50razsl99d95amdf4njf75dnzx8vqkihgrgp7qisyz3z"; + libraryHaskellDepends = [ base brotli bytestring io-streams ]; + testHaskellDepends = [ + base bytestring HUnit io-streams QuickCheck test-framework + test-framework-hunit test-framework-quickcheck2 + ]; + description = "IO-Streams interface for Brotli (RFC7932) compression"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "browscap" = callPackage @@ -40307,6 +42743,7 @@ self: { description = "A reader and interface for the Browser Capabilities Project data files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bsb-http-chunked" = callPackage @@ -40318,6 +42755,8 @@ self: { pname = "bsb-http-chunked"; version = "0.0.0.4"; sha256 = "0z0f18yc6zlwh29c6175ivfcin325lvi4irpvv0n3cmq7vi0k0ql"; + revision = "1"; + editedCabalFile = "07k9422yaw7rz66awmc20ni17xw2bd1pn48ja79c66d5va89f6wz"; libraryHaskellDepends = [ base bytestring ]; testHaskellDepends = [ attoparsec base blaze-builder bytestring doctest hedgehog tasty @@ -40342,23 +42781,21 @@ self: { }) {}; "bson" = callPackage - ({ mkDerivation, base, binary, bytestring, cryptohash + ({ mkDerivation, base, binary, bytestring, cryptohash-md5 , data-binary-ieee754, mtl, network, QuickCheck, test-framework , test-framework-quickcheck2, text, time }: mkDerivation { pname = "bson"; - version = "0.3.2.7"; - sha256 = "0avzr3aa3mbr9hcjwd0nr0pnpiym7s35qw7nghz51mrzb76rsci7"; - revision = "1"; - editedCabalFile = "1y6gy4rq2wb123p1qc35p0hnk8dqh2hnlys2c97znwcjjsd5p203"; + version = "0.3.2.8"; + sha256 = "1xqxjs0vhlrvnclkxn8y5dr4liaja4flqizphk1000km2kvvw748"; libraryHaskellDepends = [ - base binary bytestring cryptohash data-binary-ieee754 mtl network - text time + base binary bytestring cryptohash-md5 data-binary-ieee754 mtl + network text time ]; testHaskellDepends = [ - base binary bytestring cryptohash data-binary-ieee754 mtl network - QuickCheck test-framework test-framework-quickcheck2 text time + base bytestring QuickCheck test-framework + test-framework-quickcheck2 text time ]; description = "BSON documents are JSON-like objects with a standard binary encoding"; license = stdenv.lib.licenses.asl20; @@ -40374,6 +42811,7 @@ self: { description = "Generic functionality for BSON"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bson-generics" = callPackage @@ -40386,6 +42824,7 @@ self: { description = "Generics functionality for BSON"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bson-lens" = callPackage @@ -40486,6 +42925,7 @@ self: { description = "A backend agnostic, concurrent BTree"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "btrfs" = callPackage @@ -40538,6 +42978,7 @@ self: { description = "Automates most of your plain text accounting data entry in ledger format"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "buffer" = callPackage @@ -40549,8 +42990,8 @@ self: { pname = "buffer"; version = "0.5.3"; sha256 = "0bf9y6rb3q26rk6qd7a2mjlb1gd1gp2k080ywhp5g48l474h6p26"; - revision = "1"; - editedCabalFile = "19v3zis3fqirsacacqnn7ypgvddgi6i8dj8bkbap2ln2mmqkvlh0"; + revision = "2"; + editedCabalFile = "0lg7sy7c059a29gmyihlwck6d98vq5kqfkw4bjixnvc2r9znfcv7"; libraryHaskellDepends = [ base base-prelude bug bytestring ]; testHaskellDepends = [ bug quickcheck-instances rerebase tasty tasty-hunit @@ -40560,6 +43001,7 @@ self: { description = "Simple mutable low-level buffer for IO"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "buffer-builder" = callPackage @@ -40613,6 +43055,7 @@ self: { description = "Serialize Aeson values with Data.BufferBuilder"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "buffer-pipe" = callPackage @@ -40643,6 +43086,7 @@ self: { description = "An implementation of Buffon machines"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "buffon-machines" = callPackage @@ -40713,6 +43157,7 @@ self: { description = "A Haskell interface to the Bugzilla native REST API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "build" = callPackage @@ -40731,6 +43176,7 @@ self: { description = "Build systems a la carte"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "buildable" = callPackage @@ -40743,6 +43189,7 @@ self: { description = "Typeclass for builders of linear data structures"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "buildbox" = callPackage @@ -40773,6 +43220,7 @@ self: { description = "Tools for working with buildbox benchmark result files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "buildwrapper" = callPackage @@ -40811,6 +43259,7 @@ self: { description = "A library and an executable that provide an easy API for a Haskell IDE"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bullet" = callPackage @@ -40825,6 +43274,7 @@ self: { description = "A wrapper for the Bullet physics engine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) bullet;}; "bulletproofs" = callPackage @@ -40853,6 +43303,57 @@ self: { ]; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "bulletproofs_1_0_1" = callPackage + ({ mkDerivation, arithmoi, base, containers, criterion, cryptonite + , galois-field, memory, MonadRandom, protolude, QuickCheck + , random-shuffle, tasty, tasty-discover, tasty-hunit + , tasty-quickcheck, text + }: + mkDerivation { + pname = "bulletproofs"; + version = "1.0.1"; + sha256 = "1c23dppl851a1ga9x8axkl27bswb0hlwql0mfabsd9ydclmipzf0"; + libraryHaskellDepends = [ + arithmoi base containers cryptonite galois-field memory MonadRandom + protolude QuickCheck random-shuffle text + ]; + testHaskellDepends = [ + arithmoi base containers cryptonite galois-field memory MonadRandom + protolude QuickCheck random-shuffle tasty tasty-discover + tasty-hunit tasty-quickcheck text + ]; + testToolDepends = [ tasty-discover ]; + benchmarkHaskellDepends = [ + arithmoi base containers criterion cryptonite galois-field memory + MonadRandom protolude QuickCheck random-shuffle tasty tasty-hunit + tasty-quickcheck text + ]; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "bulmex" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, jsaddle + , jsaddle-dom, lens, network-uri, reflex, reflex-dom-core + , reflex-dom-helpers, text, time, witherable + }: + mkDerivation { + pname = "bulmex"; + version = "2.0.0"; + sha256 = "0nzgzg17av87i1777rjakiyamcgkszfcw3ch150536vkp1jaqlm5"; + libraryHaskellDepends = [ + aeson base bytestring containers jsaddle jsaddle-dom lens + network-uri reflex reflex-dom-core reflex-dom-helpers text time + witherable + ]; + description = "Reflex infused with bulma (css)"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bumper" = callPackage @@ -40873,14 +43374,15 @@ self: { description = "Automatically bump package versions, also transitively"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bunz" = callPackage ({ mkDerivation, base, cmdargs, doctest, hspec, text, unix }: mkDerivation { pname = "bunz"; - version = "0.0.7"; - sha256 = "124vas0i5hdx7wmcdmydxal6c3iqy89fypparf9hzpkbb7gwrpwz"; + version = "0.0.9"; + sha256 = "0q5520pdq52fhx4yd6lhxr77c00njmy0wqbmb0gi1p4ahqs5wrgs"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base text ]; @@ -40889,6 +43391,7 @@ self: { description = "CLI tool to beautify JSON string"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "burnt-explorer" = callPackage @@ -40907,6 +43410,7 @@ self: { description = "List OP_RETURN cryptocurrency transaction outputs"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "burst-detection" = callPackage @@ -40921,6 +43425,7 @@ self: { description = "Burst detection algorithms"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bus-pirate" = callPackage @@ -40938,6 +43443,7 @@ self: { description = "Haskell interface to the Bus Pirate binary interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "buster" = callPackage @@ -40955,6 +43461,7 @@ self: { description = "Almost but not quite entirely unlike FRP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "buster-gtk" = callPackage @@ -40972,6 +43479,7 @@ self: { description = "Almost but not quite entirely unlike FRP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "buster-network" = callPackage @@ -40989,6 +43497,7 @@ self: { description = "Almost but not quite entirely unlike FRP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bustle" = callPackage @@ -40999,8 +43508,8 @@ self: { }: mkDerivation { pname = "bustle"; - version = "0.7.4"; - sha256 = "1ivisgd7w7hi0yvfnm689grq0mfn03k2rmj5sn570qcpa4xfm2kw"; + version = "0.7.5"; + sha256 = "0r0ng67b2q9ww0adv1fdrpmgmdyjqv6ksd9g6kkn9cjwnaascq3p"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -41028,8 +43537,8 @@ self: { }: mkDerivation { pname = "butcher"; - version = "1.3.2.1"; - sha256 = "16jwhj3lrghn11igc5ci484r4xc1ii6hz6ysj39njds547dmznda"; + version = "1.3.2.3"; + sha256 = "0lpicayq9k59m2ydz989xsypr653xwhp6mmhlp7nmjzk6jwpq5q5"; libraryHaskellDepends = [ base bifunctors containers deque extra free microlens microlens-th mtl multistate pretty transformers unsafe void @@ -41040,7 +43549,6 @@ self: { ]; description = "Chops a command or program invocation into digestable pieces"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "butter" = callPackage @@ -41063,6 +43571,7 @@ self: { description = "Monad Transformer for Asyncronous Message Passing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "butterflies" = callPackage @@ -41073,6 +43582,8 @@ self: { pname = "butterflies"; version = "0.3.0.2"; sha256 = "0syykvrgq6i0zxy1pn934j1r9glv4yypva1mfkn0vc0nikh9fm31"; + revision = "1"; + editedCabalFile = "1xxdc352fp11b8mhhr3rwj5kffkglvbry2smwwfj1f10wr749zn9"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -41083,6 +43594,7 @@ self: { description = "butterfly tilings"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bv" = callPackage @@ -41110,28 +43622,6 @@ self: { }) {}; "bv-little" = callPackage - ({ mkDerivation, base, criterion, deepseq, hashable, integer-gmp - , mono-traversable, primitive, QuickCheck, tasty, tasty-hunit - , tasty-quickcheck - }: - mkDerivation { - pname = "bv-little"; - version = "0.1.2"; - sha256 = "0xscq4qjwisqiykdhiirxc58gsrmabvxmxwxw80f2m6ia103k3cc"; - libraryHaskellDepends = [ - base deepseq hashable integer-gmp mono-traversable primitive - QuickCheck - ]; - testHaskellDepends = [ - base deepseq hashable mono-traversable QuickCheck tasty tasty-hunit - tasty-quickcheck - ]; - benchmarkHaskellDepends = [ base criterion deepseq hashable ]; - description = "Efficient little-endian bit vector library"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "bv-little_1_0_0" = callPackage ({ mkDerivation, base, criterion, deepseq, hashable, integer-gmp , keys, mono-traversable, mono-traversable-keys, primitive , QuickCheck, smallcheck, tasty, tasty-hunit, tasty-quickcheck @@ -41139,8 +43629,8 @@ self: { }: mkDerivation { pname = "bv-little"; - version = "1.0.0"; - sha256 = "0hdzwcdm3cdiqyjkl5k9hg61za51w61j5168c17nfs1yyhh0fdms"; + version = "1.1.0"; + sha256 = "1cpmwmd6gig0gggbr197cjpp0ykaj30jniqq3r5lsv644wizkg6r"; libraryHaskellDepends = [ base deepseq hashable integer-gmp keys mono-traversable mono-traversable-keys primitive QuickCheck text-show @@ -41156,27 +43646,27 @@ self: { ]; description = "Efficient little-endian bit vector library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "bv-sized" = callPackage ({ mkDerivation, base, containers, lens, mtl, parameterized-utils - , prettyclass, QuickCheck, random + , pretty, QuickCheck, random }: mkDerivation { pname = "bv-sized"; - version = "0.5.0"; - sha256 = "08q4hg2kil8ahqpz0pmyxxnij3n3xhlfp5dr3ri3imgc1b2sn1m6"; + version = "0.7.0"; + sha256 = "04fiqpd5kcq7lyas40axqn6mcngr1yymi1aiqgzip519qmdg73vl"; libraryHaskellDepends = [ - base containers lens mtl parameterized-utils prettyclass QuickCheck + base containers lens mtl parameterized-utils pretty QuickCheck random ]; testHaskellDepends = [ - base lens parameterized-utils prettyclass QuickCheck random + base lens parameterized-utils pretty QuickCheck random ]; description = "a BitVector datatype that is parameterized by the vector width"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "byline" = callPackage @@ -41185,8 +43675,8 @@ self: { }: mkDerivation { pname = "byline"; - version = "0.3.2.0"; - sha256 = "100s2f4w0lgnsjgjazck7hnbk3k9ibg1i4rdcyza9jphp67vjgar"; + version = "0.3.2.1"; + sha256 = "196c75i7cz7yww3d5pi5p51wd5bf3a8v8nsb2vkiv25ndwrsb20w"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -41207,6 +43697,19 @@ self: { description = "data from/to ByteString"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "byte-order" = callPackage + ({ mkDerivation, base, primitive, primitive-unaligned }: + mkDerivation { + pname = "byte-order"; + version = "0.1.1.0"; + sha256 = "09j6gkvg1nv05dga46cyxsgnf5ksqbnnsz9nf36xg0vw6c352w7s"; + libraryHaskellDepends = [ base primitive primitive-unaligned ]; + testHaskellDepends = [ base primitive ]; + description = "Portable big-endian and little-endian conversions"; + license = stdenv.lib.licenses.bsd3; }) {}; "byteable" = callPackage @@ -41267,6 +43770,8 @@ self: { pname = "bytes"; version = "0.15.5"; sha256 = "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"; + revision = "1"; + editedCabalFile = "0k05cszpxmdwgnbxhmlmmvsxkwlanvz8dn0p3f6bzs8qlv3kbhm7"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base binary bytestring cereal containers hashable mtl scientific @@ -41278,6 +43783,28 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "bytes_0_16" = callPackage + ({ mkDerivation, base, binary, binary-orphans, bytestring, Cabal + , cabal-doctest, cereal, containers, directory, doctest, filepath + , hashable, mtl, scientific, text, time, transformers + , transformers-compat, unordered-containers, void + }: + mkDerivation { + pname = "bytes"; + version = "0.16"; + sha256 = "1m8nkviq4ckqi9v1w1fxzicdzmvb3wfxcmqmppjrrmkwawn4c6i9"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + base binary binary-orphans bytestring cereal containers hashable + mtl scientific text time transformers transformers-compat + unordered-containers void + ]; + testHaskellDepends = [ base directory doctest filepath ]; + description = "Sharing code for serialization between binary and cereal"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "byteset" = callPackage ({ mkDerivation, base, binary }: mkDerivation { @@ -41291,15 +43818,42 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "bytestring_0_10_8_2" = callPackage + "byteslice" = callPackage + ({ mkDerivation, base, primitive, primitive-addr, run-st }: + mkDerivation { + pname = "byteslice"; + version = "0.1.2.0"; + sha256 = "0bivb6gn3kfzi2rxvrf3klsgzj6p864vcxr2hnrdkr16qp1x8ysv"; + libraryHaskellDepends = [ base primitive primitive-addr run-st ]; + description = "Slicing managed and unmanaged memory"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "bytesmith" = callPackage + ({ mkDerivation, base, byteslice, primitive }: + mkDerivation { + pname = "bytesmith"; + version = "0.1.0.0"; + sha256 = "1jj2shy510r83r8nahf6lwjhwp73kbmla6mly4fzjza81syrwrm4"; + libraryHaskellDepends = [ base byteslice primitive ]; + testHaskellDepends = [ base byteslice primitive ]; + description = "Nonresumable byte parser"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "bytestring_0_10_10_0" = callPackage ({ mkDerivation, base, byteorder, deepseq, directory, dlist , ghc-prim, HUnit, integer-gmp, mtl, QuickCheck, random , test-framework, test-framework-hunit, test-framework-quickcheck2 }: mkDerivation { pname = "bytestring"; - version = "0.10.8.2"; - sha256 = "0fjc5ybxx67l0kh27l6vq4saf88hp1wnssj5ka90ii588y76cvys"; + version = "0.10.10.0"; + sha256 = "1h94lyyn4fpklm25dsazj9za08m0vz9irafpza90h9j5wx4qpndq"; libraryHaskellDepends = [ base deepseq ghc-prim integer-gmp ]; testHaskellDepends = [ base byteorder deepseq directory dlist ghc-prim HUnit mtl @@ -41317,8 +43871,8 @@ self: { }: mkDerivation { pname = "bytestring-arbitrary"; - version = "0.1.2"; - sha256 = "0ifa4913qbq5zqzx7c11hzyggqxyk5sfj4id0rsp7m10r53fdvgz"; + version = "0.1.3"; + sha256 = "0xgdrd5jzy3ihpjmxpga6xj5p90fnfqj4509q5vvgy5x9l3jigrv"; libraryHaskellDepends = [ base bytestring cryptohash QuickCheck ]; testHaskellDepends = [ base bytestring cryptohash QuickCheck ]; benchmarkHaskellDepends = [ @@ -41326,7 +43880,6 @@ self: { ]; description = "Arbitrary instances for ByteStrings"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "bytestring-builder" = callPackage @@ -41356,6 +43909,7 @@ self: { description = "Variable-length integer encoding"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bytestring-class" = callPackage @@ -41370,6 +43924,7 @@ self: { description = "Classes for automatic conversion to and from strict and lazy bytestrings. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bytestring-conversion" = callPackage @@ -41406,6 +43961,7 @@ self: { description = "Parse CSV formatted data efficiently"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bytestring-delta" = callPackage @@ -41487,6 +44043,7 @@ self: { description = "ByteString-backed Handles"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bytestring-lexing" = callPackage @@ -41538,6 +44095,7 @@ self: { description = "Plain byte strings ('ForeignPtr'-less 'ByteString's)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bytestring-progress" = callPackage @@ -41576,6 +44134,7 @@ self: { description = "fast ByteString to number converting library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bytestring-rematch" = callPackage @@ -41590,6 +44149,7 @@ self: { description = "Rematch support for ByteString"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bytestring-short" = callPackage @@ -41620,6 +44180,7 @@ self: { description = "Efficient conversion of values into readable byte strings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bytestring-strict-builder" = callPackage @@ -41629,10 +44190,10 @@ self: { }: mkDerivation { pname = "bytestring-strict-builder"; - version = "0.4.5.1"; - sha256 = "17n6ll8k26312fgxbhws1yrswvy5dbsgyf57qksnj0akdssysy8q"; + version = "0.4.5.3"; + sha256 = "0p4yhi2x8k2jn6xxq15r38m10h4dkxkryzqzgnw4sq47270p5k5d"; revision = "1"; - editedCabalFile = "1snn8qb17maa76zji75i4yfz9x8ci16xp6zwg6kgwb33lf06imnd"; + editedCabalFile = "0i3gnzb2dlhxyjx5zbbgycf9l285amwj98s6drvq2hih21z4d3h6"; libraryHaskellDepends = [ base base-prelude bytestring semigroups ]; @@ -41645,6 +44206,17 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "bytestring-substring" = callPackage + ({ mkDerivation, base, bytestring, pipes, primitive }: + mkDerivation { + pname = "bytestring-substring"; + version = "0.1"; + sha256 = "1vn1r8m0ldydnrazyckkn4lpv3g5ns37j91a5649jnrprjpy08dn"; + libraryHaskellDepends = [ base bytestring pipes primitive ]; + description = "break bytestrings up into substrings"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "bytestring-time" = callPackage ({ mkDerivation, attoparsec, base, bytestring, Cabal, hspec , QuickCheck, text, time @@ -41660,6 +44232,7 @@ self: { description = "Library for Time parsing from ByteString"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bytestring-to-vector" = callPackage @@ -41683,8 +44256,8 @@ self: { }: mkDerivation { pname = "bytestring-tree-builder"; - version = "0.2.7.2"; - sha256 = "03h2nmhyrr63gw4xmflsrmwf80gvayhs32wnpg3k9aqfjzpz4bd1"; + version = "0.2.7.3"; + sha256 = "0v78jwzmpipw4iyr0i9klxhcfxf98vljxz3had1xklslhzsabk16"; libraryHaskellDepends = [ base base-prelude bytestring semigroups text ]; @@ -41703,14 +44276,11 @@ self: { ({ mkDerivation, base, binary, bytestring }: mkDerivation { pname = "bytestring-trie"; - version = "0.2.4.1"; - sha256 = "0qqklrvdcprchnl4bxr6w7zf6k5gncincl3kysm34gd04sszxr1g"; - revision = "1"; - editedCabalFile = "0f56pb1k1va7bs9rpn0b8hclxhn5pcjln857k50myhyzrwz8qg7r"; + version = "0.2.5.0"; + sha256 = "1jpynpyarikxhlc4ifdswvkj0ph9fd5d0vcxhjv0lrv0zwqvv488"; libraryHaskellDepends = [ base binary bytestring ]; description = "An efficient finite map from (byte)strings to values"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "bytestring-typenats" = callPackage @@ -41730,6 +44300,7 @@ self: { description = "Bytestrings with typenat lengths"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bytestringparser" = callPackage @@ -41742,6 +44313,7 @@ self: { description = "Combinator parsing with Data.ByteString.Lazy"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "bytestringparser-temporary" = callPackage @@ -41765,6 +44337,7 @@ self: { description = "A ReadP style parser library for ByteString"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "byteunits" = callPackage @@ -41797,8 +44370,8 @@ self: { }: mkDerivation { pname = "bzlib-conduit"; - version = "0.3.0.1"; - sha256 = "0fd2hnr782s7qgipazg2yxwia9qqhkvm9bcm90773c3zkxa13n23"; + version = "0.3.0.2"; + sha256 = "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base bindings-DSL bytestring conduit data-default-class mtl @@ -41827,6 +44400,7 @@ self: { description = "A higher level DSL on top of language-c"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "c-io" = callPackage @@ -41839,6 +44413,7 @@ self: { description = "C IO"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "c-mosquitto" = callPackage @@ -41896,6 +44471,7 @@ self: { description = "Simple C0 Syntax Check"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "c0parser" = callPackage @@ -41908,6 +44484,7 @@ self: { description = "Simple C0 Parser"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "c10k" = callPackage @@ -41942,6 +44519,7 @@ self: { description = "Translate C code into ATS"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "c2hs" = callPackage @@ -42004,6 +44582,7 @@ self: { description = "Convert C API header files to .hsc and .hsc.helper.c files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ca" = callPackage @@ -42084,6 +44663,7 @@ self: { description = "Check how up-to-date your .cabal dependencies are."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-bounds" = callPackage @@ -42124,6 +44704,45 @@ self: { ]; description = "Bundling C/C++ projects in Cabal package made easy"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "cabal-cache" = callPackage + ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3 + , antiope-core, antiope-optparse-applicative, antiope-s3, base + , bytestring, conduit-extra, containers, cryptonite, deepseq + , directory, exceptions, filepath, generic-lens, hedgehog, hspec + , hspec-discover, http-client, http-types, hw-hedgehog + , hw-hspec-hedgehog, lens, mtl, optparse-applicative, process + , raw-strings-qq, relation, resourcet, selective, stm, stringsearch + , tar, temporary, text, time, topograph, unliftio, zlib + }: + mkDerivation { + pname = "cabal-cache"; + version = "1.0.1.1"; + sha256 = "1yb3wvjqqmkm4aysfyx4zf1z88453ywfc4czb4zvghfdgd95d0rx"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson amazonka amazonka-core amazonka-s3 antiope-core + antiope-optparse-applicative antiope-s3 base bytestring + conduit-extra containers cryptonite deepseq directory exceptions + filepath generic-lens http-client http-types lens mtl + optparse-applicative process relation resourcet selective stm + stringsearch tar temporary text time topograph unliftio zlib + ]; + executableHaskellDepends = [ base optparse-applicative ]; + testHaskellDepends = [ + aeson antiope-core antiope-s3 base bytestring containers filepath + generic-lens hedgehog hspec http-types hw-hedgehog + hw-hspec-hedgehog lens raw-strings-qq relation text + ]; + testToolDepends = [ hspec-discover ]; + description = "CI Assistant for Haskell projects"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-cargs" = callPackage @@ -42147,6 +44766,7 @@ self: { description = "A command line program for extracting compiler arguments from a cabal file"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-constraints" = callPackage @@ -42161,6 +44781,7 @@ self: { description = "Repeatable builds for cabalized Haskell projects"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-db" = callPackage @@ -42181,35 +44802,33 @@ self: { description = "query tools for the local cabal database"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-debian" = callPackage ({ mkDerivation, ansi-wl-pprint, base, bifunctors, Cabal , containers, data-default, debian, deepseq, Diff, directory - , exceptions, filepath, hsemail, HUnit, lens, memoize, mtl - , network-uri, newtype-generics, optparse-applicative, parsec - , pretty, process, pureMD5, regex-tdfa, set-extra, syb, text, unix - , Unixutils, utf8-string + , exceptions, filepath, hsemail, HUnit, lens, mtl, network-uri + , newtype-generics, optparse-applicative, parsec, pretty, process + , pureMD5, regex-tdfa, syb, text, unix, unliftio, utf8-string }: mkDerivation { pname = "cabal-debian"; - version = "4.38.5"; - sha256 = "0pqislgc38q57jf252aha7x71pbdw5nxinx3gcm4s7311m25fw1f"; + version = "5.0"; + sha256 = "1brbn45zg8ki54xl429qlzhzn30mgy7i1sidq1imd54c0rnai46v"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ ansi-wl-pprint base bifunctors Cabal containers data-default debian - deepseq Diff directory exceptions filepath hsemail HUnit lens - memoize mtl network-uri newtype-generics optparse-applicative - parsec pretty process pureMD5 regex-tdfa set-extra syb text unix - Unixutils utf8-string - ]; - executableHaskellDepends = [ - base Cabal debian lens mtl pretty Unixutils + deepseq Diff directory exceptions filepath hsemail HUnit lens mtl + network-uri newtype-generics optparse-applicative parsec pretty + process pureMD5 regex-tdfa syb text unix unliftio utf8-string ]; + executableHaskellDepends = [ base Cabal debian lens mtl pretty ]; description = "Create a Debianization for a Cabal package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-dependency-licenses" = callPackage @@ -42226,6 +44845,7 @@ self: { description = "Compose a list of a project's transitive dependencies with their licenses"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-dev" = callPackage @@ -42249,6 +44869,7 @@ self: { description = "Manage sandboxed Haskell build environments"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-dir" = callPackage @@ -42263,6 +44884,7 @@ self: { description = "show dist dir of 'cabal copy/install'"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-doctest" = callPackage @@ -42278,6 +44900,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "cabal-doctest_1_0_7" = callPackage + ({ mkDerivation, base, Cabal, directory, filepath }: + mkDerivation { + pname = "cabal-doctest"; + version = "1.0.7"; + sha256 = "1v5dlwsxd9kdll07x5apnf76j2g2pqfp138pacc64j6agrgyv00h"; + libraryHaskellDepends = [ base Cabal directory filepath ]; + description = "A Setup.hs helper for doctests running"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "cabal-file-th" = callPackage ({ mkDerivation, base, Cabal, directory, pretty, template-haskell }: @@ -42291,7 +44925,34 @@ self: { testHaskellDepends = [ base Cabal ]; description = "Template Haskell expressions for reading fields from a project's cabal file"; license = stdenv.lib.licenses.bsd3; + }) {}; + + "cabal-fmt" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, directory + , filepath, mtl, optparse-applicative, parsec, pretty, process + , tasty, tasty-golden + }: + mkDerivation { + pname = "cabal-fmt"; + version = "0.1.1"; + sha256 = "07hx1s7l5zmh7vs2zmmm56msz2m7wnzn919mvnpypvrsswmmnnd9"; + isLibrary = false; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring Cabal containers directory filepath mtl parsec + pretty + ]; + executableHaskellDepends = [ + base bytestring directory filepath optparse-applicative + ]; + testHaskellDepends = [ + base bytestring Cabal filepath process tasty tasty-golden + ]; + doHaddock = false; + description = "Format .cabal files"; + license = "GPL-3.0-or-later AND BSD-3-Clause"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-ghc-dynflags" = callPackage @@ -42304,6 +44965,7 @@ self: { description = "Conveniently configure GHC's dynamic flags for use with Cabal projects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-ghci" = callPackage @@ -42321,6 +44983,7 @@ self: { description = "Set up ghci with options taken from a .cabal file"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-graphdeps" = callPackage @@ -42339,6 +45002,7 @@ self: { description = "Generate graphs of install-time Cabal dependencies"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-helper" = callPackage @@ -42349,8 +45013,8 @@ self: { }: mkDerivation { pname = "cabal-helper"; - version = "0.8.1.2"; - sha256 = "1pxyba12m9kyzfm4nn8qfd19fqwnq6kjy1967wic2xaz151x6nil"; + version = "0.8.2.0"; + sha256 = "1j3h28w9sva1kj410irysl4lbwbar0nbddb9w5gv6jn82ca2dl93"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal ]; @@ -42373,7 +45037,6 @@ self: { doCheck = false; description = "Simple interface to some of Cabal's configuration state, mainly used by ghc-mod"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "cabal-info" = callPackage @@ -42395,6 +45058,7 @@ self: { description = "Read information from cabal files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-install" = callPackage @@ -42402,15 +45066,12 @@ self: { , bytestring, Cabal, containers, cryptohash-sha256, deepseq , directory, echo, edit-distance, filepath, hackage-security , hashable, HTTP, mtl, network, network-uri, parsec, pretty - , process, random, resolv, stm, tar, text, time, unix, zip-archive - , zlib + , process, random, resolv, stm, tar, text, time, unix, zlib }: mkDerivation { pname = "cabal-install"; - version = "2.4.1.0"; - sha256 = "1b91rcs00wr5mf55c6xl8hrxmymlq72w71qm5r0q4j869asv5g39"; - revision = "1"; - editedCabalFile = "0bm11hd3s07s1vsxdbkn5bgm5fz5bh1xdg91yz1fzr9d3b3ypa8p"; + version = "3.0.0.0"; + sha256 = "1wda29ifkn50376jidj6ihfk60a64y0bsd7lh3yw15py7a2sfcm4"; isLibrary = false; isExecutable = true; setupHaskellDepends = [ base Cabal filepath process ]; @@ -42418,8 +45079,7 @@ self: { array async base base16-bytestring binary bytestring Cabal containers cryptohash-sha256 deepseq directory echo edit-distance filepath hackage-security hashable HTTP mtl network network-uri - parsec pretty process random resolv stm tar text time unix - zip-archive zlib + parsec pretty process random resolv stm tar text time unix zlib ]; doCheck = false; postInstall = '' @@ -42449,6 +45109,7 @@ self: { description = "The (bundled) command-line interface for Cabal and Hackage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) zlib;}; "cabal-install-ghc72" = callPackage @@ -42469,6 +45130,7 @@ self: { description = "Temporary version of cabal-install for ghc-7.2"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-install-ghc74" = callPackage @@ -42489,6 +45151,7 @@ self: { description = "Temporary version of cabal-install for ghc-7.4"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-lenses" = callPackage @@ -42555,6 +45218,7 @@ self: { description = "build multiple packages at once"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-mon" = callPackage @@ -42573,6 +45237,7 @@ self: { description = "A monitor for cabal builds"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-nirvana" = callPackage @@ -42591,6 +45256,7 @@ self: { description = "Avoid Cabal dependency hell by constraining to known good versions. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-plan" = callPackage @@ -42633,6 +45299,7 @@ self: { description = "Show dependencies of program being built in current directory"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-query" = callPackage @@ -42650,6 +45317,7 @@ self: { description = "Helpers for quering .cabal files or hackageDB's 00-index.tar"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-rpm" = callPackage @@ -42659,8 +45327,10 @@ self: { }: mkDerivation { pname = "cabal-rpm"; - version = "0.12.6"; - sha256 = "1k602v7v87w6xcd9a5m8n5grnjbkyn79rdi9azl7djna0rs129ns"; + version = "0.13.3"; + sha256 = "04d5m74i0r6livhkhmccrwhshpa2aizyb77i2qcqhxradw0lkvl4"; + revision = "1"; + editedCabalFile = "1ngw9afzplbz4q707nak9zcjmk9fdynw0jvis4lgjq02y4i14hj6"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -42669,6 +45339,8 @@ self: { ]; description = "RPM packaging tool for Haskell Cabal-based packages"; license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-scripts" = callPackage @@ -42696,6 +45368,7 @@ self: { description = "The user interface for building and installing Cabal packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-sign" = callPackage @@ -42733,6 +45406,7 @@ self: { description = "Topologically sort cabal packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-src" = callPackage @@ -42755,6 +45429,7 @@ self: { description = "Alternative install procedure to avoid the diamond dependency issue"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-test" = callPackage @@ -42771,6 +45446,7 @@ self: { description = "Automated test tool for cabal projects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-test-bin" = callPackage @@ -42810,6 +45486,8 @@ self: { libraryHaskellDepends = [ base Cabal QuickCheck ]; description = "QuickCheck for Cabal"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-toolkit" = callPackage @@ -42826,6 +45504,7 @@ self: { description = "Helper functions for writing custom Setup.hs scripts."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal-uninstall" = callPackage @@ -42853,6 +45532,7 @@ self: { description = "Command-line tool for uploading packages to Hackage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal2arch" = callPackage @@ -42873,6 +45553,7 @@ self: { description = "Create Arch Linux packages from Cabal packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal2doap" = callPackage @@ -42889,6 +45570,7 @@ self: { description = "Cabal to Description-of-a-Project (DOAP)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal2ebuild" = callPackage @@ -42904,6 +45586,7 @@ self: { description = "make gentoo's .ebuild file from .cabal file"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal2ghci" = callPackage @@ -42923,6 +45606,7 @@ self: { description = "A tool to generate .ghci file from .cabal"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabal2nix" = callPackage @@ -42934,8 +45618,8 @@ self: { }: mkDerivation { pname = "cabal2nix"; - version = "2.14.1"; - sha256 = "1bkhh5s3x6as4pz70p2rgwkrb121k5ic7j5dhmlh0rwvhrr9g1z2"; + version = "2.14.4"; + sha256 = "0pxqdwxqc5siqrp7mqvz6g380wx4xn3y3mph8vjywvycvpqg2gqh"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -42999,6 +45683,7 @@ self: { description = "A simple tool to query cabal files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabalg" = callPackage @@ -43024,6 +45709,8 @@ self: { pname = "cabalgraph"; version = "0.1"; sha256 = "1kgw1n22zh1ap6dfzhmh18d0wkr6ppd9b20r77f7q6m371hhbkvy"; + revision = "1"; + editedCabalFile = "01vkf16s9kplp61sbf4w6zfdd48wg65d1m31m5jqk28361c76sh7"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -43032,6 +45719,7 @@ self: { description = "Generate pretty graphs of module trees from cabal files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabalish" = callPackage @@ -43051,6 +45739,7 @@ self: { description = "Provides access to the cabal file data for shell scripts"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabalmdvrpm" = callPackage @@ -43066,6 +45755,7 @@ self: { description = "Create mandriva rpm from cabal package"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabalrpmdeps" = callPackage @@ -43081,6 +45771,7 @@ self: { description = "Autogenerate rpm dependencies from cabal files"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabalvchk" = callPackage @@ -43095,6 +45786,7 @@ self: { description = "Verify installed package version against user-specified constraints"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabin" = callPackage @@ -43114,6 +45806,7 @@ self: { description = "Cabal binary sandboxes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cabocha" = callPackage @@ -43127,6 +45820,7 @@ self: { testHaskellDepends = [ base text-format ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {cabocha = null;}; "cache" = callPackage @@ -43135,8 +45829,8 @@ self: { }: mkDerivation { pname = "cache"; - version = "0.1.1.1"; - sha256 = "04azn2g1rndfpf6zl3sachzz471hhxykxh4clrz0vl5da8frja8h"; + version = "0.1.1.2"; + sha256 = "0b0jggcbnrs0pppn60kaggxkwmg0ri7b1i4j5613abgw8bj258s8"; libraryHaskellDepends = [ base clock hashable stm transformers unordered-containers ]; @@ -43145,6 +45839,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "cached" = callPackage + ({ mkDerivation, base, containers, directory, doctest, filepath + , protolude, QuickCheck, quickcheck-assertions, shake, text + }: + mkDerivation { + pname = "cached"; + version = "0.1.0.0"; + sha256 = "19x5pwcdkhmk32w9ccb2ixc73k2hhqki61yi39lahda5k86jisdv"; + libraryHaskellDepends = [ base containers protolude shake text ]; + testHaskellDepends = [ + base containers directory doctest filepath protolude QuickCheck + quickcheck-assertions shake text + ]; + description = "Cache values to disk"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "cached-io" = callPackage ({ mkDerivation, base, stm, time, transformers }: mkDerivation { @@ -43176,74 +45889,78 @@ self: { "cachix" = callPackage ({ mkDerivation, async, base, base16-bytestring, base64-bytestring - , bifunctors, bytestring, cachix-api, conduit, conduit-extra - , cookie, cryptonite, data-default, dhall, directory, ed25519 - , filepath, fsnotify, here, hspec, hspec-discover, http-client - , http-client-tls, http-conduit, http-types, lzma-conduit - , megaparsec, memory, mmorph, optparse-applicative, process - , protolude, resourcet, retry, safe-exceptions, servant - , servant-auth, servant-auth-client, servant-client - , servant-client-core, servant-streaming-client, streaming, text - , unix, uri-bytestring, versions + , bytestring, cachix-api, conduit, conduit-extra, cookie + , cryptonite, dhall, directory, ed25519, filepath, fsnotify, here + , hspec, hspec-discover, http-client, http-client-tls, http-conduit + , http-types, lzma-conduit, megaparsec, memory, mmorph, netrc + , optparse-applicative, process, protolude, resourcet, retry + , safe-exceptions, servant, servant-auth, servant-auth-client + , servant-client, servant-client-core, servant-conduit, temporary + , text, unix, uri-bytestring, versions }: mkDerivation { pname = "cachix"; - version = "0.1.3"; - sha256 = "0vhgkdrrj8wmnzqsjwyrhflwprnizjibgjwcwn5771mjv38amyx0"; + version = "0.2.1"; + sha256 = "1yz0qfpp8d2n4h9k9cy394zgqg24vvb9ahzxdsvabjwbpmg9sijv"; isLibrary = true; isExecutable = true; + enableSeparateDataOutput = true; libraryHaskellDepends = [ - async base base16-bytestring base64-bytestring bifunctors - bytestring cachix-api conduit conduit-extra cookie cryptonite - data-default dhall directory ed25519 filepath fsnotify here - http-client http-client-tls http-conduit http-types lzma-conduit - megaparsec memory mmorph optparse-applicative process protolude - resourcet retry safe-exceptions servant servant-auth - servant-auth-client servant-client servant-client-core - servant-streaming-client streaming text unix uri-bytestring - versions + async base base16-bytestring base64-bytestring bytestring + cachix-api conduit conduit-extra cookie cryptonite dhall directory + ed25519 filepath fsnotify here http-client http-client-tls + http-conduit http-types lzma-conduit megaparsec memory mmorph netrc + optparse-applicative process protolude resourcet retry + safe-exceptions servant servant-auth servant-auth-client + servant-client servant-client-core servant-conduit text unix + uri-bytestring versions ]; executableHaskellDepends = [ base cachix-api ]; executableToolDepends = [ hspec-discover ]; - testHaskellDepends = [ base cachix-api here hspec protolude ]; + testHaskellDepends = [ + base cachix-api directory here hspec protolude temporary + ]; description = "Command line client for Nix binary cache hosting https://cachix.org"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cachix-api" = callPackage - ({ mkDerivation, aeson, amazonka, base, base16-bytestring - , bytestring, conduit, cookie, cryptonite, hspec, hspec-discover - , http-api-data, http-media, lens, memory, protolude, servant - , servant-auth, servant-auth-server, servant-auth-swagger - , servant-streaming, servant-swagger, servant-swagger-ui-core - , string-conv, swagger2, text, transformers + ({ mkDerivation, aeson, base, base16-bytestring, bytestring + , conduit, cookie, cryptonite, deepseq, exceptions, hspec + , hspec-discover, http-api-data, http-media, lens, memory + , protolude, resourcet, servant, servant-auth, servant-auth-server + , servant-auth-swagger, servant-client, servant-swagger + , servant-swagger-ui-core, string-conv, swagger2, text + , transformers }: mkDerivation { pname = "cachix-api"; - version = "0.1.0.3"; - sha256 = "00j5m3pqnlwwvbj4669lpng6awsn5xzz67c6qq5dmc5q7ii2vzdf"; + version = "0.2.1"; + sha256 = "1ja724ji12whjhyw135yi2fq323a65h4bj37r43b5d9ir1c04g67"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson amazonka base base16-bytestring bytestring conduit cookie - cryptonite http-api-data http-media lens memory servant - servant-auth servant-auth-server servant-auth-swagger - servant-streaming servant-swagger servant-swagger-ui-core - string-conv swagger2 text transformers + aeson base base16-bytestring bytestring conduit cookie cryptonite + deepseq exceptions http-api-data http-media lens memory resourcet + servant servant-auth servant-auth-server servant-auth-swagger + servant-client servant-swagger string-conv swagger2 text + transformers ]; executableHaskellDepends = [ aeson base ]; testHaskellDepends = [ - aeson amazonka base base16-bytestring bytestring conduit cookie - cryptonite hspec http-api-data http-media lens memory protolude - servant servant-auth servant-auth-server servant-auth-swagger - servant-streaming servant-swagger servant-swagger-ui-core - string-conv swagger2 text transformers + aeson base base16-bytestring bytestring conduit cookie cryptonite + hspec http-api-data http-media lens memory protolude servant + servant-auth servant-auth-server servant-auth-swagger + servant-swagger servant-swagger-ui-core string-conv swagger2 text + transformers ]; testToolDepends = [ hspec-discover ]; description = "Servant HTTP API specification for https://cachix.org"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cacophony" = callPackage @@ -43271,6 +45988,8 @@ self: { ]; description = "A library implementing the Noise protocol"; license = stdenv.lib.licenses.publicDomain; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "caf" = callPackage @@ -43312,6 +46031,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cairo" = callPackage @@ -43332,7 +46052,6 @@ self: { libraryPkgconfigDepends = [ cairo ]; description = "Binding to the Cairo library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) cairo;}; "cairo-appbase" = callPackage @@ -43347,7 +46066,6 @@ self: { executableHaskellDepends = [ base cairo glib gtk ]; description = "A template for building new GUI applications using GTK and Cairo"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "cairo-canvas" = callPackage @@ -43361,7 +46079,6 @@ self: { libraryHaskellDepends = [ base cairo linear mtl random time ]; description = "Simpler drawing API for Cairo"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "cairo-core" = callPackage @@ -43371,8 +46088,8 @@ self: { }: mkDerivation { pname = "cairo-core"; - version = "1.16.6"; - sha256 = "1rm3n46qlilnwxddnlz6gd3gglp7068h2fi90wm6xm6s9gpff2p8"; + version = "1.16.7"; + sha256 = "1v3zdhvhn5iv2i7k2pmwd6jfdb7h1zsa8px7xjlhar5n0p131vzr"; setupHaskellDepends = [ base bytestring Cabal directory filepath haskell-src-exts http-client http-client-tls hxt hxt-xpath @@ -43382,6 +46099,8 @@ self: { libraryToolDepends = [ c2hs ]; description = "Cairo Haskell binding (partial)"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) cairo;}; "cake" = callPackage @@ -43405,6 +46124,7 @@ self: { description = "A build-system library and driver"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cake3" = callPackage @@ -43435,6 +46155,7 @@ self: { description = "Third cake the Makefile EDSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cakyrespa" = callPackage @@ -43453,6 +46174,7 @@ self: { description = "run turtle like LOGO with lojban"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cal-layout" = callPackage @@ -43468,6 +46190,7 @@ self: { description = "Calendar Layout Algorithm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cal3d" = callPackage @@ -43481,6 +46204,7 @@ self: { description = "Haskell binding to the Cal3D animation library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {cal3d = null;}; "cal3d-examples" = callPackage @@ -43496,6 +46220,7 @@ self: { description = "Examples for the Cal3d animation library"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cal3d-opengl" = callPackage @@ -43508,6 +46233,7 @@ self: { description = "OpenGL rendering for the Cal3D animation library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "calc" = callPackage @@ -43522,6 +46248,7 @@ self: { description = "A small compiler for arithmetic expressions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "calculator" = callPackage @@ -43544,6 +46271,7 @@ self: { description = "A calculator repl, with variables, functions & Mathematica like dynamic plots"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "caldims" = callPackage @@ -43565,6 +46293,7 @@ self: { description = "Calculation tool and library supporting units"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "caledon" = callPackage @@ -43583,6 +46312,7 @@ self: { description = "a logic programming language based on the calculus of constructions"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "calendar-recycling" = callPackage @@ -43624,6 +46354,7 @@ self: { description = "The call game engine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "call-haskell-from-anything" = callPackage @@ -43643,6 +46374,7 @@ self: { description = "Call Haskell functions from other languages via serialization and dynamic libraries"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "call-stack" = callPackage @@ -43657,39 +46389,58 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "call-stack_0_2_0" = callPackage + ({ mkDerivation, base, nanospec }: + mkDerivation { + pname = "call-stack"; + version = "0.2.0"; + sha256 = "1iz0wkbcqchyji72c4j4zb72vfsfdp2ys8pf9mqqsxaq774r7ilm"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base nanospec ]; + description = "Use GHC call-stacks in a backward compatible way"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "camfort" = callPackage ({ mkDerivation, alex, array, base, binary, bytestring, containers , directory, fgl, filepath, flint, fortran-src, GenericPretty - , ghc-prim, happy, hmatrix, hspec, lattices, lens, matrix, mmorph - , mtl, optparse-applicative, partial-order, QuickCheck, sbv - , silently, singletons, syb, syz, template-haskell, temporary, text - , time, transformers, uniplate, vector, verifiable-expressions - , vinyl + , ghc-prim, happy, hmatrix, hspec, hspec-discover, lattices, lens + , matrix, mmorph, mtl, optparse-applicative, parallel, pretty + , QuickCheck, sbv, silently, singletons, strict, syb, syz + , template-haskell, temporary, text, time, transformers, uniplate + , vector, verifiable-expressions, vinyl, writer-cps-morph + , writer-cps-mtl, writer-cps-transformers }: mkDerivation { pname = "camfort"; - version = "0.905"; - sha256 = "14wp9xkssingashbys07i536xnmrgh891260drc0f88d0mwjc935"; + version = "0.906"; + sha256 = "164zrga458nmlyxaaa9wa0x1vamrlf1w1jisnwp87khkw8622nyi"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ array base binary bytestring containers directory fgl filepath fortran-src GenericPretty ghc-prim hmatrix lattices lens matrix - mmorph mtl partial-order sbv singletons syb syz template-haskell - text transformers uniplate vector verifiable-expressions vinyl + mmorph mtl parallel pretty sbv singletons strict syb syz + template-haskell text transformers uniplate vector + verifiable-expressions vinyl writer-cps-morph writer-cps-mtl + writer-cps-transformers ]; librarySystemDepends = [ flint ]; libraryToolDepends = [ alex happy ]; - executableHaskellDepends = [ base directory optparse-applicative ]; + executableHaskellDepends = [ + base directory fortran-src optparse-applicative + ]; testHaskellDepends = [ array base binary bytestring containers directory fgl filepath - fortran-src hmatrix hspec lattices lens mtl partial-order - QuickCheck sbv silently temporary text time uniplate - verifiable-expressions + fortran-src hmatrix hspec lattices lens mtl QuickCheck sbv silently + temporary text time uniplate verifiable-expressions ]; + testToolDepends = [ hspec-discover ]; description = "CamFort - Cambridge Fortran infrastructure"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) flint;}; "camh" = callPackage @@ -43723,20 +46474,30 @@ self: { description = "Haskell implementation of the Campfire API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "can-i-haz" = callPackage + ({ mkDerivation, base, deepseq, hspec, should-not-typecheck }: + mkDerivation { + pname = "can-i-haz"; + version = "0.1.0.1"; + sha256 = "1nay2hrvf8cxazsy5ha3affwxayirznjf0zlir0n7vbyl5w92im0"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base deepseq hspec should-not-typecheck ]; + description = "Generic implementation of the Has pattern"; + license = stdenv.lib.licenses.bsd3; }) {}; "canon" = callPackage - ({ mkDerivation, arithmoi, array, base, containers, polynomial }: + ({ mkDerivation, arithmoi, array, base, containers, random }: mkDerivation { pname = "canon"; - version = "0.1.0.4"; - sha256 = "0hy28s1rgzsqcbs600ppj74ls1xvm39fdjjba4p3f1cfw7g5ai1f"; - libraryHaskellDepends = [ - arithmoi array base containers polynomial - ]; - description = "Massive Number Arithmetic"; + version = "0.1.1.2"; + sha256 = "181c09kh76104b23hf52b049cc6clww1y9kffw1f0hnkxhds9n84"; + libraryHaskellDepends = [ arithmoi array base containers random ]; + description = "Arithmetic for Psychedelically Large Numbers"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "canonical-filepath" = callPackage @@ -43749,27 +46510,30 @@ self: { description = "Abstract data type for canonical file paths"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "canonical-json" = callPackage - ({ mkDerivation, aeson, base, bytestring, containers, parsec - , pretty, QuickCheck, tasty, tasty-quickcheck, unordered-containers - , vector + ({ mkDerivation, aeson, base, bytestring, containers, criterion + , deepseq, parsec, pretty, QuickCheck, tasty, tasty-quickcheck + , unordered-containers, vector }: mkDerivation { pname = "canonical-json"; - version = "0.5.0.1"; - sha256 = "1r52f69afsnl6kmn0h2rl6wp21jjain4kz6123a1haacfm2f2hwj"; + version = "0.6.0.0"; + sha256 = "0lb847hvgkn49g6rvmavk14brvvpiy6q5fswk3cm9rc53hbq02zz"; libraryHaskellDepends = [ - base bytestring containers parsec pretty + base bytestring containers deepseq parsec pretty ]; testHaskellDepends = [ - aeson base bytestring QuickCheck tasty tasty-quickcheck + aeson base bytestring containers QuickCheck tasty tasty-quickcheck unordered-containers vector ]; + benchmarkHaskellDepends = [ base bytestring containers criterion ]; description = "Canonical JSON for signing and hashing JSON values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "canteven-config" = callPackage @@ -43801,6 +46565,7 @@ self: { description = "Utilities for HTTP programming"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "canteven-listen-http" = callPackage @@ -43813,6 +46578,7 @@ self: { description = "data types to describe HTTP services"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "canteven-log" = callPackage @@ -43831,6 +46597,7 @@ self: { description = "A canteven way of setting up logging for your program"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "canteven-parsedate" = callPackage @@ -43847,6 +46614,7 @@ self: { description = "Date / time parsing utilities that try to guess the date / time format"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "canteven-template" = callPackage @@ -43886,6 +46654,7 @@ self: { description = "Application for analysis of java source code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cantor-pairing" = callPackage @@ -43904,6 +46673,7 @@ self: { description = "Convert data to and from a natural number representation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cao" = callPackage @@ -43926,6 +46696,7 @@ self: { description = "CAO Compiler"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cap" = callPackage @@ -43941,6 +46712,7 @@ self: { description = "Interprets and debug the cap language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "capability" = callPackage @@ -43951,8 +46723,8 @@ self: { }: mkDerivation { pname = "capability"; - version = "0.1.0.0"; - sha256 = "1aif560z65hmq0pyf6b30nj73685r85vgq440pmzgfhidbn4lf51"; + version = "0.2.0.0"; + sha256 = "0jssnbqrhkkfkjzya8qprk89r8vqzzy45sm9bwhw2rwx8mrbn40q"; libraryHaskellDepends = [ base dlist exceptions generic-lens lens monad-control monad-unlift mtl mutable-containers primitive safe-exceptions streaming @@ -43964,7 +46736,6 @@ self: { ]; description = "Extensional capabilities and deriving combinators"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "capataz" = callPackage @@ -43974,8 +46745,8 @@ self: { }: mkDerivation { pname = "capataz"; - version = "0.2.0.0"; - sha256 = "0b026vbp9xkwfis5xr1z4svi5z5b4dpj5c3w28133fr4rl6cdpx4"; + version = "0.2.1.0"; + sha256 = "14mda2yvg0phpfhkacm5whh4hqcvyw14xiilx28ghc4rkf7al0fi"; libraryHaskellDepends = [ async base bytestring pretty-show prettyprinter rio teardown time uuid @@ -43986,7 +46757,6 @@ self: { ]; description = "OTP-like supervision trees in Haskell"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "capnp" = callPackage @@ -44026,6 +46796,7 @@ self: { description = "Cap'n Proto for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "capped-list" = callPackage @@ -44038,6 +46809,7 @@ self: { description = "A list-like type for lazy sequences, with a user-defined termination value"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "capri" = callPackage @@ -44054,6 +46826,7 @@ self: { description = "A simple wrapper over cabal-install to operate in project-private mode"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "car-pool" = callPackage @@ -44077,6 +46850,7 @@ self: { description = "Simple web-server for organizing car-pooling for an event"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "caramia" = callPackage @@ -44116,6 +46890,7 @@ self: { description = "some spaghetti code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "carboncopy" = callPackage @@ -44134,6 +46909,7 @@ self: { description = "Drop emails from threads being watched into special CC folder"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "carettah" = callPackage @@ -44155,6 +46931,7 @@ self: { description = "A presentation tool written with Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "carray" = callPackage @@ -44191,6 +46968,7 @@ self: { description = "Carte: A commandline pastebin server"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cartel" = callPackage @@ -44220,6 +46998,7 @@ self: { description = "Specify Cabal files in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "casa-abbreviations-and-acronyms" = callPackage @@ -44242,6 +47021,7 @@ self: { description = "CASA Abbreviations and Acronyms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "casadi-bindings" = callPackage @@ -44267,6 +47047,7 @@ self: { description = "mid-level bindings to CasADi"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {casadi = null;}; "casadi-bindings-control" = callPackage @@ -44284,6 +47065,7 @@ self: { description = "low level bindings to casadi-control"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {casadi_control = null;}; "casadi-bindings-core" = callPackage @@ -44301,6 +47083,7 @@ self: { description = "autogenerated low level bindings to casadi"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {casadi = null;}; "casadi-bindings-internal" = callPackage @@ -44314,6 +47097,7 @@ self: { description = "low level bindings to CasADi"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {casadi = null;}; "casadi-bindings-ipopt-interface" = callPackage @@ -44331,6 +47115,7 @@ self: { description = "low level bindings to casadi-ipopt_interface"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {casadi_ipopt_interface = null;}; "casadi-bindings-snopt-interface" = callPackage @@ -44348,6 +47133,7 @@ self: { description = "low level bindings to casadi-snopt_interface"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {casadi_snopt_interface = null;}; "cascading" = callPackage @@ -44365,6 +47151,7 @@ self: { description = "DSL for HTML CSS (Cascading Style Sheets)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "case-conversion" = callPackage @@ -44399,6 +47186,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "case-insensitive_1_2_1_0" = callPackage + ({ mkDerivation, base, bytestring, criterion, deepseq, hashable + , HUnit, test-framework, test-framework-hunit, text + }: + mkDerivation { + pname = "case-insensitive"; + version = "1.2.1.0"; + sha256 = "01p40hfjyldfds5jg6vlvvn3ihs4ki63xn6fh8yzngaz1izc2v99"; + libraryHaskellDepends = [ base bytestring deepseq hashable text ]; + testHaskellDepends = [ + base bytestring HUnit test-framework test-framework-hunit text + ]; + benchmarkHaskellDepends = [ base bytestring criterion deepseq ]; + description = "Case insensitive string comparison"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "case-insensitive-match" = callPackage ({ mkDerivation, base, bytestring, case-insensitive, criterion, mtl , QuickCheck, random-strings, tagsoup, text @@ -44476,6 +47281,7 @@ self: { description = "the Computer Algebra SHell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "casing" = callPackage @@ -44491,21 +47297,15 @@ self: { }) {}; "casr-logbook" = callPackage - ({ mkDerivation, base, containers, digit, directory, doctest - , filepath, lens, lucid, QuickCheck, template-haskell, text, time + ({ mkDerivation, base, containers, digit, lens, lucid, text, time }: mkDerivation { pname = "casr-logbook"; - version = "0.3.0"; - sha256 = "1hbrvwpr5crrnqwsi9i2pcw89rpy5fy3dg40al1318lmxp6miznh"; - revision = "1"; - editedCabalFile = "03llwc37nhb4syw8a7wsp8n1135x57q9xacakfzw2rm5gby7hywm"; + version = "0.5.4"; + sha256 = "06r160c9cjqmiqldpdd9h4dx5g9gj6cmrajprwbcabcar6ckdsci"; libraryHaskellDepends = [ base containers digit lens lucid text time ]; - testHaskellDepends = [ - base directory doctest filepath QuickCheck template-haskell - ]; description = "CASR 61.345 Pilot Personal Logbook"; license = "unknown"; hydraPlatforms = stdenv.lib.platforms.none; @@ -44687,6 +47487,7 @@ self: { description = "Haskell client for Cassandra's CQL protocol"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cassandra-thrift" = callPackage @@ -44712,8 +47513,8 @@ self: { pname = "cassava"; version = "0.5.1.0"; sha256 = "0xs2c5lpy0g5lsmp2cx0dm5lnxij7cgry6xd5gsn3bfdlap8lb3n"; - revision = "1"; - editedCabalFile = "1brz20js95synh0yw942ihy4y9y6nk4xnsqcjqi9580y24zcigkl"; + revision = "2"; + editedCabalFile = "13mbhan3agzf8ki8hcac1xf50h9nbzx2b47zjqrch2050v6xa351"; configureFlags = [ "-f-bytestring--lt-0_10_4" ]; libraryHaskellDepends = [ array attoparsec base bytestring containers deepseq hashable Only @@ -44746,6 +47547,8 @@ self: { benchmarkHaskellDepends = [ base criterion ]; description = "Conduit interface for cassava package"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cassava-embed" = callPackage @@ -44812,8 +47615,8 @@ self: { }: mkDerivation { pname = "cassava-streams"; - version = "0.3.0.3"; - sha256 = "01s0h2mi9b4h3jy405jvz2an8w6fdvg370mizfk910anx7wsa3ix"; + version = "0.3.0.4"; + sha256 = "17g3qrinzfpmbcqyjrnwaycplmys0p93hb6841cp5rr1pjramb55"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -44825,7 +47628,6 @@ self: { ]; description = "io-streams interface for the cassava CSV library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "cassette" = callPackage @@ -44838,6 +47640,7 @@ self: { description = "A combinator library for simultaneously defining parsers and pretty printers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cassy" = callPackage @@ -44866,6 +47669,7 @@ self: { description = "A high level driver for the Cassandra datastore"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cast" = callPackage @@ -44879,6 +47683,30 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "caster" = callPackage + ({ mkDerivation, base, bytestring, directory, fast-builder, mtl + , QuickCheck, quickcheck-instances, stm, tasty, tasty-discover + , tasty-hunit, tasty-quickcheck, text, unix-time + }: + mkDerivation { + pname = "caster"; + version = "0.0.3.0"; + sha256 = "0wmczsiv7cf1yx82yd8da90fab5y8p3mgazfhssv6jd19iaxrakj"; + libraryHaskellDepends = [ + base bytestring fast-builder stm text unix-time + ]; + testHaskellDepends = [ + base bytestring directory fast-builder mtl QuickCheck + quickcheck-instances stm tasty tasty-discover tasty-hunit + tasty-quickcheck text + ]; + testToolDepends = [ tasty-discover ]; + description = "Multicast, thread-safe, and fast logger"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "castle" = callPackage ({ mkDerivation, base, containers, optparse-applicative, shelly , system-fileio, system-filepath, text @@ -44896,6 +47724,7 @@ self: { description = "A tool to manage shared cabal-install sandboxes"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "casui" = callPackage @@ -44911,6 +47740,7 @@ self: { description = "Equation Manipulator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "catamorphism" = callPackage @@ -44924,6 +47754,7 @@ self: { description = "Exposes a Template Haskell function for generating catamorphisms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "catch-fd" = callPackage @@ -44936,6 +47767,7 @@ self: { description = "MonadThrow and MonadCatch, using functional dependencies"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "categorical-algebra" = callPackage @@ -44948,6 +47780,7 @@ self: { description = "Categorical Monoids and Semirings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "categories" = callPackage @@ -44965,12 +47798,11 @@ self: { ({ mkDerivation, alg, base, transformers }: mkDerivation { pname = "category"; - version = "0.2.2.0"; - sha256 = "1a01i1jxvgwcvmg3n4zpsp1f9pfaj3h6kzv3as0l3dyrky7ma8r3"; + version = "0.2.4.1"; + sha256 = "0gliy1frgpgyzq3vkin315ylpklfc6dvg0vd93hz8f9m3js6dm48"; libraryHaskellDepends = [ alg base transformers ]; description = "Categorical types and classes"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "category-extras" = callPackage @@ -44999,6 +47831,7 @@ self: { description = "A meta-package documenting various packages inspired by category theory"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "category-printf" = callPackage @@ -45022,6 +47855,7 @@ self: { description = "Traced monoidal categories"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "catnplus" = callPackage @@ -45042,6 +47876,7 @@ self: { description = "Simple tool to display text files with line numbers and paging"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cautious" = callPackage @@ -45088,6 +47923,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cayene-lpp" = callPackage @@ -45107,26 +47943,6 @@ self: { }) {}; "cayley-client" = callPackage - ({ mkDerivation, aeson, attoparsec, base, binary, bytestring - , exceptions, hspec, http-client, http-conduit, lens, lens-aeson - , mtl, text, transformers, unordered-containers, vector - }: - mkDerivation { - pname = "cayley-client"; - version = "0.4.8"; - sha256 = "09hrq1k8s8w7rawyn78hjagirs3yrkp79nn7p5w1l8amp27k5cdi"; - libraryHaskellDepends = [ - aeson attoparsec base binary bytestring exceptions http-client - http-conduit lens lens-aeson mtl text transformers - unordered-containers vector - ]; - testHaskellDepends = [ aeson base hspec unordered-containers ]; - description = "A Haskell client for the Cayley graph database"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "cayley-client_0_4_9" = callPackage ({ mkDerivation, aeson, attoparsec, base, binary, bytestring , exceptions, hspec, http-client, http-conduit, lens, lens-aeson , mtl, text, transformers, unordered-containers, vector @@ -45144,6 +47960,7 @@ self: { description = "A Haskell client for the Cayley graph database"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cayley-dickson" = callPackage @@ -45201,25 +48018,26 @@ self: { }) {}; "cborg" = callPackage - ({ mkDerivation, aeson, array, base, base16-bytestring - , base64-bytestring, bytestring, containers, deepseq, fail - , ghc-prim, half, integer-gmp, primitive, QuickCheck, scientific - , tasty, tasty-hunit, tasty-quickcheck, text, vector + ({ mkDerivation, aeson, array, base, base-orphans + , base16-bytestring, base64-bytestring, bytestring, containers + , deepseq, fail, ghc-prim, half, integer-gmp, primitive, QuickCheck + , random, scientific, tasty, tasty-hunit, tasty-quickcheck, text + , vector }: mkDerivation { pname = "cborg"; - version = "0.2.1.0"; - sha256 = "10vlv5mwg9625rmir7mi0zj5ygs3j3vlhm2h8lilkbj5frgp764i"; + version = "0.2.2.0"; + sha256 = "1rdnvy0w17s70ikmbyrnwax5rvqh19l95sh8i7ipgxi23z1r0bp1"; libraryHaskellDepends = [ array base bytestring containers deepseq ghc-prim half integer-gmp primitive text ]; testHaskellDepends = [ - aeson array base base16-bytestring base64-bytestring bytestring - deepseq fail half QuickCheck scientific tasty tasty-hunit - tasty-quickcheck text vector + aeson array base base-orphans base16-bytestring base64-bytestring + bytestring deepseq fail half QuickCheck random scientific tasty + tasty-hunit tasty-quickcheck text vector ]; - description = "Concise Binary Object Representation"; + description = "Concise Binary Object Representation (CBOR)"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -45271,6 +48089,7 @@ self: { description = "Bindings for the CCI networking library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {cci = null;}; "ccnx" = callPackage @@ -45283,6 +48102,7 @@ self: { description = "A Haskell implementation of the CCNx network protocol"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cctools-workqueue" = callPackage @@ -45300,6 +48120,7 @@ self: { description = "High-level interface to CCTools' WorkQueue library"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {dttools = null;}; "cdeps" = callPackage @@ -45338,6 +48159,7 @@ self: { description = "Convenient Chinese phrase & character lookup"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cef" = callPackage @@ -45353,6 +48175,7 @@ self: { description = "CEF log format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cef3-raw" = callPackage @@ -45367,7 +48190,8 @@ self: { description = "Raw CEF3 bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; - }) {cef = null; gtk2 = pkgs.gnome2.gtk;}; + broken = true; + }) {cef = null; inherit (pkgs) gtk2;}; "cef3-simple" = callPackage ({ mkDerivation, base, cef3-raw }: @@ -45379,6 +48203,7 @@ self: { description = "Simple wrapper around cef3-raw"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ceilometer-common" = callPackage @@ -45403,6 +48228,7 @@ self: { description = "Common Haskell types and encoding for OpenStack Ceilometer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cellrenderer-cairo" = callPackage @@ -45417,7 +48243,8 @@ self: { description = "Cairo-based CellRenderer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; - }) {gtk2 = pkgs.gnome2.gtk;}; + broken = true; + }) {inherit (pkgs) gtk2;}; "celtchar" = callPackage ({ mkDerivation, base, bytestring, directory, file-embed, filepath @@ -45442,6 +48269,7 @@ self: { description = "A tool to build a novel"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cerberus" = callPackage @@ -45470,6 +48298,7 @@ self: { description = "Protect and control API access with cerberus"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cereal" = callPackage @@ -45478,8 +48307,8 @@ self: { }: mkDerivation { pname = "cereal"; - version = "0.5.8.0"; - sha256 = "10j205g4w311ypk24ds2nmv1816s8645788s6a1vrfippa56dlrp"; + version = "0.5.8.1"; + sha256 = "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"; libraryHaskellDepends = [ array base bytestring containers ghc-prim ]; @@ -45532,6 +48361,7 @@ self: { description = "Automatic deriving of Serialize using GHC.Generics"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cereal-enumerator" = callPackage @@ -45544,6 +48374,7 @@ self: { description = "Deserialize things with cereal and enumerator"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cereal-ieee754" = callPackage @@ -45556,6 +48387,7 @@ self: { description = "Floating point support for the 'cereal' serialization library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cereal-io-streams" = callPackage @@ -45579,6 +48411,7 @@ self: { description = "io-streams support for the cereal binary serialization library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cereal-plus" = callPackage @@ -45603,6 +48436,7 @@ self: { description = "An extended serialization library on top of \"cereal\""; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cereal-streams" = callPackage @@ -45626,6 +48460,7 @@ self: { description = "Use cereal to encode/decode io-streams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cereal-text" = callPackage @@ -45707,6 +48542,7 @@ self: { description = "Certificates and Key Reader/Writer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cf" = callPackage @@ -45725,6 +48561,7 @@ self: { description = "Exact real arithmetic using continued fractions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cfenv" = callPackage @@ -45759,6 +48596,7 @@ self: { description = "cfipu processor for toy brainfuck-like language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cflp" = callPackage @@ -45778,6 +48616,7 @@ self: { description = "Constraint Functional-Logic Programming in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cfopu" = callPackage @@ -45796,6 +48635,7 @@ self: { description = "cfopu processor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cg" = callPackage @@ -45817,6 +48657,7 @@ self: { description = "Parser for categorial grammars"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cgen" = callPackage @@ -45837,27 +48678,10 @@ self: { description = "generates Haskell bindings and C wrappers for C++ libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cgi" = callPackage - ({ mkDerivation, base, bytestring, containers, exceptions, mtl - , multipart, network, network-uri, parsec, time, xhtml - }: - mkDerivation { - pname = "cgi"; - version = "3001.3.0.3"; - sha256 = "1rml686pvjhpd51vj6g79c6132m8kx6kxikk7g246imps3bl90gb"; - revision = "3"; - editedCabalFile = "06gyp3mxx9jkkbz9sbn389wjsz33s231vk53pbsm37a1z9ply14a"; - libraryHaskellDepends = [ - base bytestring containers exceptions mtl multipart network - network-uri parsec time xhtml - ]; - description = "A library for writing CGI programs"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "cgi_3001_4_0_0" = callPackage ({ mkDerivation, base, bytestring, containers, exceptions, mtl , multipart, network-uri, parsec, time, xhtml }: @@ -45875,7 +48699,6 @@ self: { ]; description = "A library for writing CGI programs"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "cgi-undecidable" = callPackage @@ -45901,6 +48724,7 @@ self: { description = "Simple modular utilities for CGI/FastCGI (sessions, etc.)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cgrep" = callPackage @@ -45927,6 +48751,7 @@ self: { description = "Command line tool"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chain-codes" = callPackage @@ -45969,6 +48794,7 @@ self: { description = "Combinators for building and processing 2D images"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chalkboard-viewer" = callPackage @@ -45981,6 +48807,7 @@ self: { description = "OpenGL based viewer for chalkboard rendered images"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chalmers-lava2000" = callPackage @@ -46108,6 +48935,7 @@ self: { description = "Rapid prototyping websites with Snap and Heist"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "charset" = callPackage @@ -46149,6 +48977,25 @@ self: { license = "LGPL"; }) {}; + "chart-cli" = callPackage + ({ mkDerivation, attoparsec, base, Chart, Chart-cairo, colour + , data-default-class, dates, filepath, hashable, lens + , optparse-applicative, text, time + }: + mkDerivation { + pname = "chart-cli"; + version = "0.1.0.0"; + sha256 = "0z90jzhw0k1z20gn227r0jcpnfj6ajr9y54y5g7phb6cy1ff2iv3"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + attoparsec base Chart Chart-cairo colour data-default-class dates + filepath hashable lens optparse-applicative text time + ]; + description = "Command-line utility to draw charts from input data easily"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "chart-histogram" = callPackage ({ mkDerivation, base, Chart }: mkDerivation { @@ -46159,6 +49006,7 @@ self: { description = "Easily render histograms with Chart"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chart-unit" = callPackage @@ -46184,6 +49032,7 @@ self: { description = "Native haskell charts"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chaselev-deque" = callPackage @@ -46241,6 +49090,7 @@ self: { description = "A library of simple NLP algorithms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chatty" = callPackage @@ -46252,6 +49102,8 @@ self: { pname = "chatty"; version = "0.7.0.1"; sha256 = "0d7cfp3vvrmn7b6lc83j5pi7a90sk1rc1y48zb78f8plipp7ngb6"; + revision = "1"; + editedCabalFile = "1vh058qw0wphwn0l1lchhxms96p9bhsjna4j7lyvczmc9ba2mgdp"; libraryHaskellDepends = [ ansi-terminal base chatty-utils directory mtl process random setenv template-haskell text time transformers unix @@ -46266,10 +49118,13 @@ self: { pname = "chatty-text"; version = "0.6.2.1"; sha256 = "00f3h0vw0mxrcqjfwas9ddx9hhcvfzvy0p43xqq29ibwdcgms3w2"; + revision = "1"; + editedCabalFile = "11vpzarrbk0jlsnamrnf4xp3gzkgwrbs6x5mr9m5rr4lrw1f9q0v"; libraryHaskellDepends = [ base chatty transformers ]; description = "Provides some classes and types for dealing with text, using the fundaments of Chatty"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chatty-utils" = callPackage @@ -46278,6 +49133,8 @@ self: { pname = "chatty-utils"; version = "0.7.3.4"; sha256 = "1dp1k641sryzp7zh5l3f8v4dajc71ly8l9fyv1c45cf0s81cxhys"; + revision = "1"; + editedCabalFile = "0b1bvxkp1yhw3ws12mkdys5dnml03phzj03sqkrk1289jm5nlfn9"; libraryHaskellDepends = [ base mtl text transformers ]; description = "Some utilities every serious chatty-based application may need"; license = stdenv.lib.licenses.agpl3; @@ -46310,6 +49167,7 @@ self: { description = "The ChatWork API in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cheapskate" = callPackage @@ -46388,6 +49246,7 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "check-email" = callPackage @@ -46404,21 +49263,23 @@ self: { "check-pvp" = callPackage ({ mkDerivation, base, Cabal, containers, explicit-exception - , filepath, haskell-src-exts, non-empty, transformers, utility-ht + , filepath, haskell-packages, haskell-src-exts, hse-cpp, non-empty + , tagged, transformers, utility-ht }: mkDerivation { pname = "check-pvp"; - version = "0.0.1"; - sha256 = "18xhm11xwvy9cz149ddm3lj4gxb514jglwhdr50mkrdd4rw8w59f"; + version = "0.0.3"; + sha256 = "1x7bzl7fb5h1d69ggqcg3dk0dnw75h4namjqhjh4izxf02zvic7m"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ - base Cabal containers explicit-exception filepath haskell-src-exts - non-empty transformers utility-ht + base Cabal containers explicit-exception filepath haskell-packages + haskell-src-exts hse-cpp non-empty tagged transformers utility-ht ]; description = "Check whether module and package imports conform to the PVP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "checked" = callPackage @@ -46433,14 +49294,15 @@ self: { description = "Bounds-checking integer types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "checkers" = callPackage ({ mkDerivation, array, base, QuickCheck, random, semigroupoids }: mkDerivation { pname = "checkers"; - version = "0.4.11"; - sha256 = "0f1dhiymdihrnpz9h9p4mi8iica07qv3wm47acvdkhxrc4sjsq6h"; + version = "0.5.0"; + sha256 = "1kbn71blf67jfncv4gia8ygyzh4bngq36vapq2vqrqrzhap3mqi7"; libraryHaskellDepends = [ array base QuickCheck random semigroupoids ]; @@ -46477,6 +49339,7 @@ self: { description = "Generate checklists relevant to a given patch"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "checksum" = callPackage @@ -46505,6 +49368,7 @@ self: { description = "A simple and intuitive library for automated testing"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chell-hunit" = callPackage @@ -46517,6 +49381,7 @@ self: { description = "HUnit support for the Chell testing library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chell-quickcheck" = callPackage @@ -46529,6 +49394,43 @@ self: { description = "QuickCheck support for the Chell testing library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "chessIO" = callPackage + ({ mkDerivation, attoparsec, base, binary, bytestring, containers + , directory, extra, file-embed, haskeline, megaparsec, MonadRandom + , mtl, o-clock, optparse-applicative, parallel, parser-combinators + , prettyprinter, process, random, stm, text, time + , unordered-containers, vector + }: + mkDerivation { + pname = "chessIO"; + version = "0.3.1.1"; + sha256 = "05jwz1nq5wiqdpnwn31wyc4gpryh9b4qzil4rkgx7vhavck2w1ap"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + attoparsec base binary bytestring containers file-embed megaparsec + MonadRandom o-clock parser-combinators prettyprinter process random + stm text unordered-containers vector + ]; + executableHaskellDepends = [ + attoparsec base binary bytestring containers extra file-embed + haskeline megaparsec MonadRandom mtl o-clock optparse-applicative + parser-combinators prettyprinter process random stm text time + unordered-containers vector + ]; + testHaskellDepends = [ + attoparsec base binary bytestring containers directory file-embed + megaparsec MonadRandom o-clock parallel parser-combinators + prettyprinter process random stm text time unordered-containers + vector + ]; + description = "Basic chess library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chesshs" = callPackage @@ -46560,6 +49462,7 @@ self: { description = "Query interface for Chevalier"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chiasma" = callPackage @@ -46585,6 +49488,7 @@ self: { description = "tmux api"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chimera" = callPackage @@ -46595,6 +49499,8 @@ self: { pname = "chimera"; version = "0.2.0.0"; sha256 = "1hrnvyp8d7qc1c3xl4mzfsycb554yn3b49yy8jjyvaqazmvrb4zi"; + revision = "1"; + editedCabalFile = "029hpcs3x1sv3jsq10bygm4246b4gy83yxg3s4r98f37055dyzyd"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base ghc-prim vector ]; @@ -46623,6 +49529,8 @@ self: { libraryToolDepends = [ c2hs ]; description = "Haskell bindings for Chipmunk2D physics engine"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chitauri" = callPackage @@ -46643,6 +49551,7 @@ self: { description = "Helper for the Major System"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "choice" = callPackage @@ -46666,6 +49575,7 @@ self: { description = "Choose random elements from a stream"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "choose-exe" = callPackage @@ -46683,6 +49593,7 @@ self: { description = "Command-line program to choose random element from a stream"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chorale" = callPackage @@ -46701,6 +49612,7 @@ self: { description = "A module containing basic functions that the prelude does not offer"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chorale-geo" = callPackage @@ -46719,6 +49631,7 @@ self: { description = "A module containing basic geo functions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chp" = callPackage @@ -46735,6 +49648,7 @@ self: { description = "An implementation of concurrency ideas from Communicating Sequential Processes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chp-mtl" = callPackage @@ -46747,6 +49661,7 @@ self: { description = "MTL class instances for the CHP library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chp-plus" = callPackage @@ -46764,6 +49679,7 @@ self: { description = "A set of high-level concurrency utilities built on Communicating Haskell Processes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chp-spec" = callPackage @@ -46780,6 +49696,7 @@ self: { description = "A mirror implementation of chp that generates a specification of the program"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chp-transformers" = callPackage @@ -46792,6 +49709,7 @@ self: { description = "Transformers instances for the CHP library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chr-core" = callPackage @@ -46809,6 +49727,7 @@ self: { description = "Constraint Handling Rules"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chr-data" = callPackage @@ -46847,6 +49766,7 @@ self: { description = "AST + surface language around chr"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chr-parse" = callPackage @@ -46861,6 +49781,7 @@ self: { description = "Parsing for chr library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chr-pretty" = callPackage @@ -46910,6 +49831,7 @@ self: { description = "neovim package manager"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chronograph" = callPackage @@ -46924,6 +49846,7 @@ self: { description = "measure timings of data evaluation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chronologique" = callPackage @@ -46944,32 +49867,51 @@ self: { "chronos" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring, clock - , criterion, deepseq, hashable, HUnit, old-locale, primitive - , QuickCheck, semigroups, test-framework, test-framework-hunit - , test-framework-quickcheck2, text, thyme, time, torsor, vector + , criterion, deepseq, doctest, hashable, HUnit, old-locale + , primitive, QuickCheck, semigroups, test-framework + , test-framework-hunit, test-framework-quickcheck2, text, thyme + , time, torsor, vector }: mkDerivation { pname = "chronos"; - version = "1.0.4"; - sha256 = "1v9v237473d3fg45sqhx1ksmgvy7p144jdw0a4bvlma01fbzk09h"; - revision = "1"; - editedCabalFile = "0796ic47hmzard8bmgnj0kww32afp8lppx3l5c85nafk7dasykyn"; + version = "1.0.7"; + sha256 = "0yqk43ax20sk3rpxd5s857ivbgigvd5qdq4axawzmqr2na6jlikx"; libraryHaskellDepends = [ aeson attoparsec base bytestring clock hashable primitive semigroups text torsor vector ]; testHaskellDepends = [ - attoparsec base bytestring HUnit QuickCheck test-framework - test-framework-hunit test-framework-quickcheck2 text + attoparsec base bytestring doctest HUnit QuickCheck test-framework + test-framework-hunit test-framework-quickcheck2 text torsor ]; benchmarkHaskellDepends = [ attoparsec base bytestring criterion deepseq old-locale QuickCheck - thyme time vector + text thyme time vector ]; description = "A performant time library"; license = stdenv.lib.licenses.bsd3; }) {}; + "chronos-bench" = callPackage + ({ mkDerivation, ansi-terminal, base, bytestring, chronos + , containers, deepseq, optparse-applicative, process, terminal-size + }: + mkDerivation { + pname = "chronos-bench"; + version = "0.2.0.2"; + sha256 = "1h2v4nzgpr4ivn1xw0n6mlphnzjzz3b1iym6sfxd1nkk56q8060v"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + ansi-terminal base bytestring chronos containers deepseq + optparse-applicative process terminal-size + ]; + executableHaskellDepends = [ base optparse-applicative ]; + benchmarkHaskellDepends = [ base ]; + description = "Benchmarking tool with focus on comparing results"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "chu2" = callPackage ({ mkDerivation, base, bytestring, data-default, hack2 , hack2-handler-snap-server, utf8-string @@ -46986,6 +49928,7 @@ self: { description = "FFI for Chu2 Agda Web Server Interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chuchu" = callPackage @@ -47031,6 +49974,7 @@ self: { description = "Simple template library with static safety"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "chunky" = callPackage @@ -47047,6 +49991,7 @@ self: { description = "Human-readable storage of text/binary objects"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "church" = callPackage @@ -47117,6 +50062,7 @@ self: { description = "Cielo API v3 Bindings for Haskell"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cil" = callPackage @@ -47129,6 +50075,7 @@ self: { description = "An interface to CIL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cinvoke" = callPackage @@ -47142,6 +50089,7 @@ self: { description = "A binding to cinvoke"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {cinvoke = null;}; "cio" = callPackage @@ -47154,6 +50102,7 @@ self: { description = "A monad for concurrent IO on a thread pool"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cipher-aes" = callPackage @@ -47325,6 +50274,8 @@ self: { executableHaskellDepends = [ array base bytestring parseargs ]; description = "Implementation of CipherSaber2 RC4 cryptography"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "circ" = callPackage @@ -47367,6 +50318,35 @@ self: { description = "The CircleCI REST API for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "circuit-breaker" = callPackage + ({ mkDerivation, base, mtl, QuickCheck, quickcheck-instances + , random, tasty, tasty-hunit, tasty-quickcheck, text, time + , transformers, unliftio, unliftio-core, unordered-containers + }: + mkDerivation { + pname = "circuit-breaker"; + version = "0.1.0.0"; + sha256 = "1yg6d0676z94070rwqzf13bpg1qzqyh5wk38yqcp7w1aib304mw7"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base mtl random text time transformers unliftio unliftio-core + unordered-containers + ]; + executableHaskellDepends = [ + base mtl random text time transformers unliftio unliftio-core + unordered-containers + ]; + testHaskellDepends = [ + base mtl QuickCheck quickcheck-instances random tasty tasty-hunit + tasty-quickcheck text time transformers unliftio unliftio-core + unordered-containers + ]; + description = "An implementation of the \"circuit breaker\" pattern to disable repeated calls to a failing system"; + license = stdenv.lib.licenses.bsd3; }) {}; "cirru-parser" = callPackage @@ -47430,6 +50410,7 @@ self: { description = "convert document IDs such as DOI, ISBN, arXiv ID to bibliographic reference"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "citeproc-hs" = callPackage @@ -47450,6 +50431,7 @@ self: { description = "A Citation Style Language implementation in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "citeproc-hs-pandoc-filter" = callPackage @@ -47470,6 +50452,7 @@ self: { description = "A Pandoc filter for processing bibliographic references with citeproc-hs"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cityhash" = callPackage @@ -47510,6 +50493,7 @@ self: { description = "A new Haskeleton package"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cjk" = callPackage @@ -47528,6 +50512,7 @@ self: { description = "Data about Chinese, Japanese and Korean characters and languages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cl3" = callPackage @@ -47582,6 +50567,7 @@ self: { description = "Simple CLI RPN calculator"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clafer" = callPackage @@ -47617,6 +50603,7 @@ self: { description = "Compiles Clafer models to other formats: Alloy, JavaScript, JSON, HTML, Dot"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "claferIG" = callPackage @@ -47650,6 +50637,7 @@ self: { description = "claferIG is an interactive tool that generates instances of Clafer models"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "claferwiki" = callPackage @@ -47670,6 +50658,7 @@ self: { description = "A wiki-based IDE for literate modeling with Clafer"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clang-compilation-database" = callPackage @@ -47683,6 +50672,7 @@ self: { description = "JSON Compilation Database Format encoding and decoding"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clang-pure" = callPackage @@ -47692,8 +50682,8 @@ self: { }: mkDerivation { pname = "clang-pure"; - version = "0.2.0.3"; - sha256 = "1x7mw4qw5mfkv6nhqaxp9pgry7xdsb3x24fvkpb7c2iigv1yyk8n"; + version = "0.2.0.5"; + sha256 = "0s84q6qdym02xvva3iq559kmhwzb08slip69h4cvvc6a7lqmaj37"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal inline-c process ]; @@ -47706,6 +50696,7 @@ self: { description = "Pure C++ code analysis with libclang"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (self.llvmPackages) clang;}; "clanki" = callPackage @@ -47722,6 +50713,7 @@ self: { description = "Command-line spaced-repetition software"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clarifai" = callPackage @@ -47740,6 +50732,7 @@ self: { description = "API Client for the Clarifai API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clash" = callPackage @@ -47760,6 +50753,7 @@ self: { description = "CAES Language for Synchronous Hardware (CLaSH)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clash-ghc" = callPackage @@ -47791,6 +50785,7 @@ self: { description = "CAES Language for Synchronous Hardware"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clash-lib" = callPackage @@ -47817,6 +50812,7 @@ self: { description = "CAES Language for Synchronous Hardware - As a Library"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clash-multisignal" = callPackage @@ -47832,6 +50828,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clash-prelude" = callPackage @@ -47858,6 +50855,7 @@ self: { description = "CAES Language for Synchronous Hardware - Prelude library"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clash-prelude-quickcheck" = callPackage @@ -47889,6 +50887,7 @@ self: { description = "CAES Language for Synchronous Hardware - SystemVerilog backend"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clash-verilog" = callPackage @@ -47907,6 +50906,7 @@ self: { description = "CAES Language for Synchronous Hardware - Verilog backend"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clash-vhdl" = callPackage @@ -47925,6 +50925,7 @@ self: { description = "CAES Language for Synchronous Hardware - VHDL backend"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "classify" = callPackage @@ -47939,34 +50940,36 @@ self: { }) {}; "classify-frog" = callPackage - ({ mkDerivation, array, audacity, base, bifunctors, Cabal, carray + ({ mkDerivation, array, audacity, base, bifunctors, carray , comfort-array, concurrent-split, containers, deepseq , explicit-exception, fft, filemanip, gnuplot, hmm-lapack, lapack , lazy-csv, llvm-extra, llvm-tf, non-empty, numeric-prelude , optparse-applicative, parallel, pathtype, pooled-io, semigroups - , soxlib, storable-record, storablevector, storablevector-carray - , synthesizer-core, synthesizer-llvm, tagchup, text, time - , transformers, utility-ht, xml-basic + , shell-utility, soxlib, storable-record, storablevector + , storablevector-carray, synthesizer-core, synthesizer-llvm + , tagchup, text, time, transformers, utility-ht, xml-basic }: mkDerivation { pname = "classify-frog"; - version = "0.2.4.1"; - sha256 = "1jw61n54g65s9chqmp58ikngzmrabg8s90ghsqvm2hjg8hbx4h7p"; + version = "0.2.4.3"; + sha256 = "0pba3a2vj9s5x8mm878q8vl0a57vrm2c4s79n0vc2pggbkb6dybc"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; executableHaskellDepends = [ - array audacity base bifunctors Cabal carray comfort-array + array audacity base bifunctors carray comfort-array concurrent-split containers deepseq explicit-exception fft filemanip gnuplot hmm-lapack lapack lazy-csv llvm-extra llvm-tf non-empty numeric-prelude optparse-applicative parallel pathtype - pooled-io semigroups soxlib storable-record storablevector - storablevector-carray synthesizer-core synthesizer-llvm tagchup - text time transformers utility-ht xml-basic + pooled-io semigroups shell-utility soxlib storable-record + storablevector storablevector-carray synthesizer-core + synthesizer-llvm tagchup text time transformers utility-ht + xml-basic ]; description = "Classify sounds produced by Xenopus laevis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "classy-influxdb-simple" = callPackage @@ -48004,6 +51007,7 @@ self: { description = "Typeclass based support for Miso, the Tasty Web Framework for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "classy-parallel" = callPackage @@ -48020,6 +51024,7 @@ self: { description = "Fork of the monad-parallel package using monad-control"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "classy-prelude" = callPackage @@ -48083,7 +51088,6 @@ self: { ]; description = "Provide a classy prelude including common Yesod functionality"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "classyplate" = callPackage @@ -48112,6 +51116,7 @@ self: { description = "CSS preprocessor as embedded Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clckwrks" = callPackage @@ -48128,8 +51133,8 @@ self: { }: mkDerivation { pname = "clckwrks"; - version = "0.24.0.10"; - sha256 = "1jzbwfiyf0zigxf15c31ibmva7pxqdbkkp3l65s6gkcnq71isz6k"; + version = "0.25.2"; + sha256 = "087k0n6ri0pg5wmjnw3gkjaz5d627519vby9kmiagck7id7f89q9"; enableSeparateDataOutput = true; setupHaskellDepends = [ base Cabal ]; libraryHaskellDepends = [ @@ -48148,24 +51153,31 @@ self: { description = "A secure, reliable content management system (CMS) and blogging platform"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) openssl;}; "clckwrks-cli" = callPackage - ({ mkDerivation, acid-state, base, clckwrks, haskeline, mtl - , network, parsec + ({ mkDerivation, acid-state, base, clckwrks, containers, filepath + , haskeline, mtl, network, parsec }: mkDerivation { pname = "clckwrks-cli"; - version = "0.2.17.2"; - sha256 = "0anrbigkx4y4fz8bsm1vgypf4s0ypapqh0kjyrcnyrpvn3ar5d45"; - isLibrary = false; + version = "0.3.0"; + sha256 = "0ardhl27n3al945s88dmygnw42ki5sn23s59rkhbs4pdyp9yawhs"; + isLibrary = true; isExecutable = true; + libraryHaskellDepends = [ + acid-state base clckwrks containers filepath haskeline mtl network + parsec + ]; executableHaskellDepends = [ - acid-state base clckwrks haskeline mtl network parsec + acid-state base clckwrks containers filepath haskeline mtl network + parsec ]; description = "a command-line interface for adminstrating some aspects of clckwrks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clckwrks-dot-com" = callPackage @@ -48188,6 +51200,7 @@ self: { description = "clckwrks.com"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clckwrks-plugin-bugs" = callPackage @@ -48214,6 +51227,7 @@ self: { description = "bug tracking plugin for clckwrks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clckwrks-plugin-ircbot" = callPackage @@ -48225,8 +51239,8 @@ self: { }: mkDerivation { pname = "clckwrks-plugin-ircbot"; - version = "0.6.17.3"; - sha256 = "1fk6jyjvkqs11khj8mriqbj56kz19ayhha3kq79cnhjm8c7184cb"; + version = "0.6.17.5"; + sha256 = "069dvpw4g61da7v9n9ygs3lsw4c68qph4iqy6c5l9kcrkww9s3pv"; enableSeparateDataOutput = true; libraryHaskellDepends = [ acid-state attoparsec base blaze-html bytestring clckwrks @@ -48238,6 +51252,7 @@ self: { description = "ircbot plugin for clckwrks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clckwrks-plugin-mailinglist" = callPackage @@ -48263,6 +51278,7 @@ self: { description = "mailing list plugin for clckwrks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clckwrks-plugin-media" = callPackage @@ -48274,8 +51290,8 @@ self: { }: mkDerivation { pname = "clckwrks-plugin-media"; - version = "0.6.16.5"; - sha256 = "1k20i500f28pb55618zv80hg94ip4g6vkbn6szp468m4f2z01j9r"; + version = "0.6.16.6"; + sha256 = "05gmr0y5ygsybmdp1k2xcfhbn7wix9mrwvwsv4x0has9l8xc92q1"; enableSeparateDataOutput = true; libraryHaskellDepends = [ acid-state attoparsec base blaze-html cereal clckwrks containers @@ -48287,6 +51303,7 @@ self: { description = "media plugin for clckwrks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clckwrks-plugin-page" = callPackage @@ -48300,8 +51317,8 @@ self: { }: mkDerivation { pname = "clckwrks-plugin-page"; - version = "0.4.3.15"; - sha256 = "0ks0dr5arc1kvyk1qhin153v77wi0p0hrpnp563g85scgdyl82bw"; + version = "0.4.3.18"; + sha256 = "0fgz0rxzkbavzqci4kcav1pljkhdy1mgmf3mldbxp8f88pr5lm42"; setupHaskellDepends = [ base Cabal ]; libraryHaskellDepends = [ acid-state aeson attoparsec base clckwrks containers directory @@ -48315,6 +51332,7 @@ self: { description = "support for CMS/Blogging in clckwrks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clckwrks-theme-bootstrap" = callPackage @@ -48334,6 +51352,7 @@ self: { description = "simple bootstrap based template for clckwrks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clckwrks-theme-clckwrks" = callPackage @@ -48352,6 +51371,7 @@ self: { description = "simple bootstrap based template for clckwrks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clckwrks-theme-geo-bootstrap" = callPackage @@ -48365,6 +51385,7 @@ self: { description = "geo bootstrap based template for clckwrks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cld2" = callPackage @@ -48405,6 +51426,7 @@ self: { description = "Open unions without need for Typeable"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cless" = callPackage @@ -48424,6 +51446,7 @@ self: { description = "Colorized LESS"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clevercss" = callPackage @@ -48439,6 +51462,7 @@ self: { description = "A CSS preprocessor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clexer" = callPackage @@ -48451,6 +51475,7 @@ self: { description = "Lexes C++ code into simple tokens"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cli" = callPackage @@ -48467,7 +51492,6 @@ self: { executableHaskellDepends = [ base basement foundation ]; description = "CLI"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "cli-builder" = callPackage @@ -48485,6 +51509,7 @@ self: { description = "Simple project template from stack"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cli-setup" = callPackage @@ -48492,8 +51517,8 @@ self: { }: mkDerivation { pname = "cli-setup"; - version = "0.2.0.6"; - sha256 = "10w251gvlyqvzg2ffs2mdfkd6lla8v0zkaibpnbaz5iy1cajr65z"; + version = "0.2.0.7"; + sha256 = "1fp1m48rpgnq3db4nvcnry3h46m7k07g8blivv0mb62w8fdm9smq"; libraryHaskellDepends = [ base bytestring directory file-embed process ]; @@ -48561,6 +51586,7 @@ self: { description = "A Clifford algebra number type for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clifford" = callPackage @@ -48594,6 +51620,7 @@ self: { description = "A Clifford algebra library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clifm" = callPackage @@ -48614,6 +51641,7 @@ self: { description = "Command Line Interface File Manager"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clingo" = callPackage @@ -48634,6 +51662,7 @@ self: { description = "Haskell bindings to the Clingo ASP solver"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) clingo;}; "clippard" = callPackage @@ -48646,6 +51675,7 @@ self: { description = "A simple Haskell library for copying text to the clipboard in a cross-platform way"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clipper" = callPackage @@ -48658,6 +51688,7 @@ self: { description = "Haskell API to clipper (2d polygon union/intersection/xor/clipping API)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clippings" = callPackage @@ -48684,6 +51715,19 @@ self: { description = "A parser/generator for Kindle-format clipping files (`My Clippings.txt`),"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "clisparkline" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "clisparkline"; + version = "0.1.0.0"; + sha256 = "1ldsjx6y74cspxy5c143zdww7pxa50pn59s4v2dd1iky1x2yrygc"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base ]; + description = "Tiny library to pretty print sparklines onto the CLI"; + license = stdenv.lib.licenses.mit; }) {}; "clist" = callPackage @@ -48719,6 +51763,7 @@ self: { description = "Post tweets from stdin"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cloben" = callPackage @@ -48739,13 +51784,14 @@ self: { }) {}; "clock" = callPackage - ({ mkDerivation, base, tasty, tasty-quickcheck }: + ({ mkDerivation, base, criterion, tasty, tasty-quickcheck }: mkDerivation { pname = "clock"; - version = "0.7.2"; - sha256 = "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"; + version = "0.8"; + sha256 = "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base tasty tasty-quickcheck ]; + benchmarkHaskellDepends = [ base criterion ]; description = "High-resolution clock functions: monotonic, realtime, cputime"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -48777,6 +51823,7 @@ self: { description = "timer functionality to clock IO commands"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {QtCore = null;}; "clogparse" = callPackage @@ -48794,6 +51841,7 @@ self: { description = "Parse IRC logs such as the #haskell logs on tunes.org"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clone-all" = callPackage @@ -48814,6 +51862,7 @@ self: { description = "Clone all github repositories from a given user"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "closed" = callPackage @@ -48845,6 +51894,7 @@ self: { description = "Depth- and breadth-first set closures"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cloud-haskell" = callPackage @@ -48869,6 +51919,7 @@ self: { description = "The Cloud Haskell Application Platform"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cloud-seeder" = callPackage @@ -48898,6 +51949,7 @@ self: { description = "A tool for interacting with AWS CloudFormation"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cloudfront-signer" = callPackage @@ -48915,6 +51967,7 @@ self: { description = "CloudFront URL signer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cloudi" = callPackage @@ -49016,6 +52069,7 @@ self: { description = "Quasiquoters for inline C# and F#"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clr-marshal" = callPackage @@ -49085,6 +52139,7 @@ self: { description = "C to Lua data wrapper generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clumpiness" = callPackage @@ -49108,6 +52163,7 @@ self: { description = "simple alternative to type classes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clustering" = callPackage @@ -49134,6 +52190,7 @@ self: { description = "High performance clustering algorithms"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clustertools" = callPackage @@ -49153,6 +52210,7 @@ self: { description = "Tools for manipulating sequence clusters"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "clutterhs" = callPackage @@ -49171,7 +52229,8 @@ self: { description = "Bindings to the Clutter animation library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs) clutter; inherit (pkgs.gnome2) pango;}; + broken = true; + }) {inherit (pkgs) clutter; inherit (pkgs) pango;}; "cmaes" = callPackage ({ mkDerivation, base, doctest, doctest-prop, mtl, process, random @@ -49191,14 +52250,31 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "cmake-syntax" = callPackage + ({ mkDerivation, base, bytestring, hspec, raw-strings-qq, trifecta + }: + mkDerivation { + pname = "cmake-syntax"; + version = "0.1.0.0"; + sha256 = "1d4pdnf4yb630iiw2iviidhzddfx15z2w6gamf92bdl17886i4jr"; + libraryHaskellDepends = [ + base bytestring raw-strings-qq trifecta + ]; + testHaskellDepends = [ + base bytestring hspec raw-strings-qq trifecta + ]; + description = "Parser for the CMake syntax (CMakeLists.txt and .cmake files)"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "cmark" = callPackage ({ mkDerivation, base, blaze-html, bytestring, cheapskate , criterion, discount, HUnit, markdown, sundown, text }: mkDerivation { pname = "cmark"; - version = "0.5.6"; - sha256 = "1c1j3a8b9qx5zk9myqm3gap8ymz7fipwrdmyfsq9wkkdr9x4np45"; + version = "0.6"; + sha256 = "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"; libraryHaskellDepends = [ base bytestring text ]; testHaskellDepends = [ base HUnit text ]; benchmarkHaskellDepends = [ @@ -49214,8 +52290,8 @@ self: { }: mkDerivation { pname = "cmark-gfm"; - version = "0.1.6"; - sha256 = "0s39djd1j0rq63g4sy0cnras14m263anr56nvijcbcy9zg41dyf8"; + version = "0.2.0"; + sha256 = "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"; libraryHaskellDepends = [ base bytestring text ]; testHaskellDepends = [ base HUnit text ]; benchmarkHaskellDepends = [ @@ -49239,6 +52315,8 @@ self: { ]; description = "Code highlighting for cmark"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cmark-lucid" = callPackage @@ -49263,6 +52341,8 @@ self: { libraryHaskellDepends = [ base cmark ]; description = "Pattern synonyms for cmark"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cmark-sections" = callPackage @@ -49282,6 +52362,7 @@ self: { description = "Represent cmark-parsed Markdown as a tree of sections"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cmath" = callPackage @@ -49294,6 +52375,7 @@ self: { description = "A binding to the standard C math library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cmathml3" = callPackage @@ -49314,6 +52396,7 @@ self: { description = "Data model, parser, serialiser and transformations for Content MathML 3"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cmd-item" = callPackage @@ -49331,6 +52414,7 @@ self: { description = "Library to compose and reuse command line fragments"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cmdargs" = callPackage @@ -49368,6 +52452,7 @@ self: { description = "Helper to enter cmdargs command lines using a web browser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cmdlib" = callPackage @@ -49382,6 +52467,7 @@ self: { description = "a library for command line parsing & online help"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cmdtheline" = callPackage @@ -49404,6 +52490,7 @@ self: { description = "Declarative command-line option parsing and documentation library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cml" = callPackage @@ -49427,6 +52514,7 @@ self: { description = "A library for C-like programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cmph" = callPackage @@ -49446,8 +52534,50 @@ self: { description = "low level interface to CMPH"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {cmph = null;}; + "cmptype" = callPackage + ({ mkDerivation, base, ghc, magic-tyfams, should-not-typecheck }: + mkDerivation { + pname = "cmptype"; + version = "0.2.0.0"; + sha256 = "0pkflrrwrwks7qjw3rpqnrk1k3p1dw4dq75cqzq12m356m3a2fpc"; + libraryHaskellDepends = [ base ghc magic-tyfams ]; + testHaskellDepends = [ + base ghc magic-tyfams should-not-typecheck + ]; + description = "Compare types of any kinds"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "cmt" = callPackage + ({ mkDerivation, attoparsec, base, classy-prelude, containers + , directory, file-embed, filepath, process, tasty, tasty-discover + , tasty-expected-failure, tasty-hunit, terminal-size, text + }: + mkDerivation { + pname = "cmt"; + version = "0.5.0.0"; + sha256 = "0wnnqzcqxk976q0zy35gi9l46w2fdjvqnx2nxijmfsxj3f221ggx"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + attoparsec base classy-prelude containers directory filepath + process terminal-size text + ]; + executableHaskellDepends = [ base classy-prelude ]; + testHaskellDepends = [ + base classy-prelude file-embed tasty tasty-discover + tasty-expected-failure tasty-hunit + ]; + testToolDepends = [ tasty-discover ]; + description = "Write consistent git commit messages"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "cmu" = callPackage ({ mkDerivation, array, base, containers }: mkDerivation { @@ -49489,6 +52619,7 @@ self: { description = "Detailed visualization of CMs, HMMs and their comparisions"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cnc-spec-compiler" = callPackage @@ -49511,6 +52642,7 @@ self: { description = "Compiler/Translator for CnC Specification Files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cndict" = callPackage @@ -49525,36 +52657,63 @@ self: { }) {}; "co-log" = callPackage - ({ mkDerivation, ansi-terminal, base, bytestring, co-log-core - , containers, contravariant, directory, filepath, markdown-unlit - , mtl, stm, text, time, transformers, typerep-map + ({ mkDerivation, ansi-terminal, base, bytestring, chronos + , co-log-core, containers, contravariant, directory, filepath + , hedgehog, markdown-unlit, mtl, stm, text, transformers + , typerep-map }: mkDerivation { pname = "co-log"; - version = "0.2.0"; - sha256 = "1xd83srrm659nf2s2xrm3zjg6zhrmhvj6s6mwx4axrgvnxf2lbjr"; + version = "0.3.0.0"; + sha256 = "0rrxgc3qs10lj94d0v42fd6979znvmzxd7dmffp2lxpzmnymnsha"; + revision = "2"; + editedCabalFile = "12h6rgqgqd1wcm2ahl6b3wglsgq4ynjacrz9m0wkyry3k0jwzd8f"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - ansi-terminal base bytestring co-log-core containers contravariant - directory filepath mtl stm text time transformers typerep-map + ansi-terminal base bytestring chronos co-log-core containers + contravariant directory filepath mtl stm text transformers + typerep-map + ]; + executableHaskellDepends = [ + base co-log-core mtl text typerep-map ]; - executableHaskellDepends = [ base text typerep-map ]; executableToolDepends = [ markdown-unlit ]; + testHaskellDepends = [ base co-log-core hedgehog ]; + description = "Composable Contravariant Comonadic Logging Library"; + license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "co-log-core" = callPackage + ({ mkDerivation, base, doctest, Glob }: + mkDerivation { + pname = "co-log-core"; + version = "0.2.0.0"; + sha256 = "0q0vhk100qm6dfdfnbgg1mr07d1lzwbfkpkm0ivinfhaz2vnsr2j"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base doctest Glob ]; description = "Composable Contravariant Comonadic Logging Library"; license = stdenv.lib.licenses.mpl20; }) {}; - "co-log-core" = callPackage - ({ mkDerivation, base, doctest }: + "co-log-polysemy" = callPackage + ({ mkDerivation, base, co-log-core, polysemy }: mkDerivation { - pname = "co-log-core"; - version = "0.1.1"; - sha256 = "00qkkycxm4dmqpacbhi50kk9dyhd96b0d6csxs75pm4xy337205w"; - libraryHaskellDepends = [ base ]; - testHaskellDepends = [ base doctest ]; + pname = "co-log-polysemy"; + version = "0.0.0.0"; + sha256 = "02kv0r3ijv410lv9wz40mw4vgv4fmhgrxwppz4l0p50wyra5vq04"; + revision = "1"; + editedCabalFile = "1ig0giws954lsrhkw4frwmh01fsghvhpkwpj975n5fxrnzy46xy5"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base co-log-core polysemy ]; + executableHaskellDepends = [ base co-log-core polysemy ]; description = "Composable Contravariant Comonadic Logging Library"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "co-log-sys" = callPackage @@ -49576,6 +52735,7 @@ self: { description = "Syslog implementation on top of 'co-log-core'"; license = stdenv.lib.licenses.mpl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "coalpit" = callPackage @@ -49584,8 +52744,8 @@ self: { }: mkDerivation { pname = "coalpit"; - version = "0.1.1.0"; - sha256 = "0adays54vg3pyrc3hsdmir0cj7h4r4vvm3a4zakia82gd8bz99iq"; + version = "0.1.1.1"; + sha256 = "0fv5xr71yldqwsm5n69akdc7jm1v9xhskjq5sjq7y72ghblcs6jl"; libraryHaskellDepends = [ base megaparsec network-uri scientific time ]; @@ -49595,6 +52755,7 @@ self: { description = "Command-line options and DSV parsing and printing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "code-builder" = callPackage @@ -49607,6 +52768,7 @@ self: { description = "Simple system for generating code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "code-page" = callPackage @@ -49656,6 +52818,7 @@ self: { description = "Erlang VM byte code assembler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "codec-libevent" = callPackage @@ -49679,6 +52842,7 @@ self: { description = "Cross-platform structure serialisation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "codec-mbox" = callPackage @@ -49714,6 +52878,7 @@ self: { description = "A library for manipulating RPM files"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "codecov-haskell" = callPackage @@ -49738,6 +52903,7 @@ self: { description = "Codecov.io support for Haskell."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "codemonitor" = callPackage @@ -49757,6 +52923,7 @@ self: { description = "Tool that automatically runs arbitrary commands when files change on disk"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "codepad" = callPackage @@ -49771,6 +52938,7 @@ self: { description = "Submit and retrieve paste output from CodePad.org."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "codeworld-api" = callPackage @@ -49780,8 +52948,8 @@ self: { }: mkDerivation { pname = "codeworld-api"; - version = "0.2.5"; - sha256 = "0gc1c0hc2sssiksii927kcg5rhalrw1fv3sr4zf4xvzj3nrd0k3m"; + version = "0.3.1"; + sha256 = "13kggrhm7hvkh3c9pilzgsb7yhkdbyxzj6jmfxqf4lskws17h0bg"; libraryHaskellDepends = [ base blank-canvas cereal cereal-text containers ghc-prim hashable mtl random random-shuffle text time @@ -49789,6 +52957,7 @@ self: { description = "Graphics library for CodeWorld"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "codex" = callPackage @@ -49817,6 +52986,7 @@ self: { description = "A ctags file generator for cabal project dependencies"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "codo-notation" = callPackage @@ -49834,6 +53004,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "coerce-role" = callPackage + ({ mkDerivation, base, unliftio }: + mkDerivation { + pname = "coerce-role"; + version = "0.1.0.0"; + sha256 = "1qllw5wrpk328n2kjxbry3w85fwwkrdxd3cgl3z160ij200mxcyp"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base unliftio ]; + description = "Having trouble deriving instances because of type roles? Solve it here!"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "coerce-util" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -49858,6 +53040,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "coercion-extras" = callPackage + ({ mkDerivation, base, containers }: + mkDerivation { + pname = "coercion-extras"; + version = "0.1.0.0"; + sha256 = "051gh93yncgclmi5i16rm07wg7v0zqz7s1q40h50vny39glsgwc7"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base containers ]; + description = "Extra utilities for manipulating nominal and representational coercions"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "cofunctor" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -49918,6 +53112,7 @@ self: { description = "Simple account manager"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "coinbase-exchange" = callPackage @@ -49957,6 +53152,7 @@ self: { description = "Connector library for the coinbase exchange"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "coincident-root-loci" = callPackage @@ -49976,6 +53172,7 @@ self: { description = "Equivariant CSM classes of coincident root loci"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "colada" = callPackage @@ -50000,6 +53197,7 @@ self: { description = "Colada implements incremental word class class induction using online LDA"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "colchis" = callPackage @@ -50018,6 +53216,7 @@ self: { description = "Rudimentary JSON-RPC 2.0 client over raw TCP."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cold-widow" = callPackage @@ -50051,6 +53250,7 @@ self: { description = "Generate animated 3d objects in COLLADA"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "collada-types" = callPackage @@ -50067,6 +53267,7 @@ self: { description = "Data exchange between graphic applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "collapse-duplication" = callPackage @@ -50090,6 +53291,7 @@ self: { description = "Collapse the duplication output into clones and return their frequencies"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "collapse-util" = callPackage @@ -50104,6 +53306,7 @@ self: { description = "utility for collapsing adjacent writes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "collection-json" = callPackage @@ -50113,8 +53316,8 @@ self: { }: mkDerivation { pname = "collection-json"; - version = "1.3.1.0"; - sha256 = "0wlpv47jj5q2kiwm1daaw4p4s9vh3xfs4rpb78y2a1qw6r6nw9vw"; + version = "1.3.1.3"; + sha256 = "098in13gkrv4lrdn67b010c5wsl0zqwzcyfd504039wdcm6pazng"; libraryHaskellDepends = [ aeson base network-uri network-uri-json text ]; @@ -50126,6 +53329,8 @@ self: { testToolDepends = [ hspec-discover ]; description = "Collection+JSON—Hypermedia Type Tools"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "collections" = callPackage @@ -50140,6 +53345,7 @@ self: { description = "Useful standard collections types and related functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "collections-api" = callPackage @@ -50154,6 +53360,7 @@ self: { description = "API for collection data structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "collections-base-instances" = callPackage @@ -50170,6 +53377,7 @@ self: { description = "Useful standard collections types and related functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "colock" = callPackage @@ -50184,17 +53392,22 @@ self: { }) {}; "colonnade" = callPackage - ({ mkDerivation, base, bytestring, contravariant, doctest - , profunctors, text, vector + ({ mkDerivation, ansi-wl-pprint, base, bytestring, contravariant + , doctest, fast-logger, profunctors, QuickCheck, semigroupoids + , semigroups, text, vector }: mkDerivation { pname = "colonnade"; - version = "1.2.0.1"; - sha256 = "12ryrg42qgg1hnflz757fik1lrg51l9bg4145bb678y9c1ixisrj"; + version = "1.2.0.2"; + sha256 = "1asjx71gp26a15v7g3p8bfddb5nnzky6672c35xx35hq73mhykr4"; + revision = "1"; + editedCabalFile = "1aq72ri6labv8vsf6s3h8mkry4kiig9659lgdmrqr8ngyp7jwp69"; libraryHaskellDepends = [ - base bytestring contravariant profunctors text vector + base bytestring contravariant profunctors semigroups text vector + ]; + testHaskellDepends = [ + ansi-wl-pprint base doctest fast-logger QuickCheck semigroupoids ]; - testHaskellDepends = [ base doctest ]; description = "Generic types and functions for columnar encoding and decoding"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -50222,6 +53435,7 @@ self: { description = "Count colors in images"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "colorful-monoids" = callPackage @@ -50271,6 +53485,7 @@ self: { description = "Colorless | The Programmatic IDL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "colorless-http-client" = callPackage @@ -50288,6 +53503,7 @@ self: { description = "Http Client addon for Colorless"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "colorless-scotty" = callPackage @@ -50302,6 +53518,7 @@ self: { description = "Scotty server add-on for Colorless"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "colors" = callPackage @@ -50323,6 +53540,8 @@ self: { pname = "colour"; version = "2.3.3"; sha256 = "1qmn1778xzg07jg9nx4k1spdz2llivpblf6wwrps1qpqjhsac5cd"; + revision = "1"; + editedCabalFile = "0r0pgrsbk4a3fp9pig7q1d8wrc6cd411gb58qiq3wd5dqw0lbmjk"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base ]; description = "A model for human colour/color perception"; @@ -50336,8 +53555,8 @@ self: { }: mkDerivation { pname = "colour"; - version = "2.3.4"; - sha256 = "1sy51nz096sv91nxqk6yk7b92b5a40axv9183xakvki2nc09yhqg"; + version = "2.3.5"; + sha256 = "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base ]; testHaskellDepends = [ @@ -50358,7 +53577,6 @@ self: { libraryHaskellDepends = [ accelerate base ]; description = "Working with colours in Accelerate"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "colour-space" = callPackage @@ -50369,8 +53587,8 @@ self: { pname = "colour-space"; version = "0.1.4.0"; sha256 = "0sr341chqhngm7ihyy3ym3w345sk101gznw80iksjwxjg3iiqxmq"; - revision = "1"; - editedCabalFile = "1n9n76g9zjp1i02f964dlfy65m978m8whbcivd063pf1acp9njax"; + revision = "2"; + editedCabalFile = "0qldxm84rk344h4wgk3bqsxfhkmvj8psm0sqgfnjh34a4fy5hjzg"; libraryHaskellDepends = [ base colour constrained-categories JuicyPixels linear linearmap-category manifolds semigroups vector-space @@ -50378,6 +53596,7 @@ self: { description = "Instances of the manifold-classes for colour types"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "coltrane" = callPackage @@ -50395,6 +53614,7 @@ self: { description = "A jazzy, minimal web framework for Haskell, inspired by Sinatra"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "columbia" = callPackage @@ -50416,6 +53636,24 @@ self: { description = "Enhanced serialization using seeking"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "columnar" = callPackage + ({ mkDerivation, base, bytestring, cassava, containers, enum-text + , fmt, lens, possibly, rio, template-haskell, text, time + , unordered-containers, vector + }: + mkDerivation { + pname = "columnar"; + version = "1.0.0.0"; + sha256 = "0qf5fbd9cwc22npww4qsjaj7rxdy2r3rjm19w23a9shqvgc2l6av"; + libraryHaskellDepends = [ + base bytestring cassava containers enum-text fmt lens possibly rio + template-haskell text time unordered-containers vector + ]; + description = "A CSV toolkit based on cassava and enum-text"; + license = stdenv.lib.licenses.bsd3; }) {}; "com" = callPackage @@ -50428,6 +53666,7 @@ self: { description = "Haskell COM support library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "comark" = callPackage @@ -50507,6 +53746,7 @@ self: { description = "Definitions of AST that represents a Commonmark (markdown) document"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "combinat" = callPackage @@ -50531,6 +53771,7 @@ self: { description = "Generate and manipulate various combinatorial objects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "combinat-compat" = callPackage @@ -50567,6 +53808,7 @@ self: { description = "Graphical representations for various combinatorial objects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "combinator-interactive" = callPackage @@ -50589,6 +53831,7 @@ self: { description = "SKI Combinator interpreter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "combinatorial" = callPackage @@ -50623,6 +53866,7 @@ self: { description = "A number of data structures to represent and allow the manipulation of standard combinatorial problems, used as test problems in computer science"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "combinatorics" = callPackage @@ -50650,22 +53894,27 @@ self: { description = "Various buffer implementations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "comfort-array" = callPackage - ({ mkDerivation, base, containers, deepseq, guarded-allocation - , non-empty, primitive, QuickCheck, storable-record, transformers + ({ mkDerivation, base, ChasingBottoms, containers, deepseq + , guarded-allocation, non-empty, prelude-compat, primitive + , QuickCheck, semigroups, storable-record, tagged, transformers , utility-ht }: mkDerivation { pname = "comfort-array"; - version = "0.3.1"; - sha256 = "1lbfx35v8qzi2wacqg47v6hw4kx2rxs5xml8mwb1fyqqxbzbv7n7"; + version = "0.4"; + sha256 = "0jvksvvslvg5wiqin5pd0q0q8a7snhfjh26a98mdakk8dziw1p1m"; libraryHaskellDepends = [ - base containers deepseq guarded-allocation non-empty primitive - QuickCheck storable-record transformers utility-ht + base containers deepseq guarded-allocation non-empty prelude-compat + primitive QuickCheck semigroups storable-record tagged transformers + utility-ht + ]; + testHaskellDepends = [ + base ChasingBottoms containers QuickCheck tagged ]; - testHaskellDepends = [ base containers QuickCheck ]; description = "Arrays where the index type is a function of the shape type"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -50689,15 +53938,19 @@ self: { }) {}; "comic" = callPackage - ({ mkDerivation, aeson, base, text }: + ({ mkDerivation, aeson, base, deepseq, hashable, hashable-orphans + , lens, sorted-list, text, time, uuid + }: mkDerivation { pname = "comic"; - version = "0"; - sha256 = "00y23pd6pp4siggs0wkf102phi961dyfffbj5wjsvmhlg2nv5hg3"; - libraryHaskellDepends = [ aeson base text ]; + version = "0.0.1"; + sha256 = "1hr2dwj9d3wlwdalcr51jjvlk8lg92lhds25vxvjszpxf6nch20k"; + libraryHaskellDepends = [ + aeson base deepseq hashable hashable-orphans lens sorted-list text + time uuid + ]; description = "A format for describing comics"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "comma" = callPackage @@ -50752,6 +54005,7 @@ self: { description = "pattern matching against string based commands"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "commodities" = callPackage @@ -50776,6 +54030,7 @@ self: { description = "Library for working with commoditized amounts and price histories"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "commsec" = callPackage @@ -50792,6 +54047,7 @@ self: { description = "Provide communications security using symmetric ephemeral keys"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "commsec-keyexchange" = callPackage @@ -50811,6 +54067,7 @@ self: { description = "Key agreement for commsec"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "commutative" = callPackage @@ -50832,17 +54089,16 @@ self: { "comonad" = callPackage ({ mkDerivation, base, Cabal, cabal-doctest, containers - , contravariant, distributive, doctest, semigroups, tagged - , transformers, transformers-compat + , distributive, doctest, tagged, transformers, transformers-compat }: mkDerivation { pname = "comonad"; - version = "5.0.4"; - sha256 = "09g870c4flp4k3fgbibsd0mmfjani1qcpbcl685v8x89kxzrva3q"; + version = "5.0.5"; + sha256 = "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ - base containers contravariant distributive semigroups tagged - transformers transformers-compat + base containers distributive tagged transformers + transformers-compat ]; testHaskellDepends = [ base doctest ]; description = "Comonads"; @@ -50866,6 +54122,7 @@ self: { description = "Exotic comonad transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "comonad-random" = callPackage @@ -50943,6 +54200,7 @@ self: { description = "Compact Data.Map implementation using Data.Binary"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "compact-mutable" = callPackage @@ -50963,6 +54221,20 @@ self: { description = "Mutable arrays living on the compact heap"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "compact-mutable-vector" = callPackage + ({ mkDerivation, base, compact, ghc-prim, hspec, primitive, vector + }: + mkDerivation { + pname = "compact-mutable-vector"; + version = "0.0.0.1"; + sha256 = "1plz7rwn66r3b03hn60gsh8w5wk8hgzj0g3hdnc36f2rrav4n7mj"; + libraryHaskellDepends = [ base compact ghc-prim primitive vector ]; + testHaskellDepends = [ base compact hspec ]; + description = "Mutable vector with different GC characteristics"; + license = stdenv.lib.licenses.bsd3; }) {}; "compact-socket" = callPackage @@ -50980,6 +54252,7 @@ self: { description = "Socket functions for compact normal form"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "compact-string" = callPackage @@ -50994,6 +54267,7 @@ self: { description = "Fast, packed and strict strings with Unicode support, based on bytestrings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "compact-string-fix" = callPackage @@ -51008,6 +54282,7 @@ self: { description = "Same as compact-string except with a small fix so it builds on ghc-6.12"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "compactable" = callPackage @@ -51019,7 +54294,6 @@ self: { libraryHaskellDepends = [ base containers transformers vector ]; description = "A typeclass for structures which can be catMaybed, filtered, and partitioned"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "compactmap" = callPackage @@ -51107,6 +54381,7 @@ self: { description = "Compositional Data Types on DAGs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "compdata-fixplate" = callPackage @@ -51176,6 +54451,7 @@ self: { description = "Helpers and runners for code competitions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "compilation" = callPackage @@ -51188,6 +54464,7 @@ self: { description = "Haskell functionality for quickly assembling simple compilers"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "compiler-warnings" = callPackage @@ -51212,8 +54489,8 @@ self: { pname = "complex-generic"; version = "0.1.1.1"; sha256 = "03wb599difj0qm1dpzgxdymq3bql69qmkdk5fspcyc19nnd5qlqz"; - revision = "3"; - editedCabalFile = "0vm0i25bib0bzlw7fw209pqn3963y5hx0vkri049q4v7y0qld8k9"; + revision = "4"; + editedCabalFile = "00v0mr5fc090wph3s9ks3ppf81nqbkd0yfa347fkn3zrq3daqr8f"; libraryHaskellDepends = [ base template-haskell ]; description = "complex numbers with non-mandatory RealFloat"; license = stdenv.lib.licenses.bsd3; @@ -51245,6 +54522,7 @@ self: { description = "Empirical algorithmic complexity"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "componentm" = callPackage @@ -51265,7 +54543,6 @@ self: { ]; description = "Monad for allocation and cleanup of application resources"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "componentm-devel" = callPackage @@ -51279,7 +54556,6 @@ self: { ]; description = "Easy REPL driven development using ComponentM"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "composable-associations" = callPackage @@ -51335,6 +54611,7 @@ self: { description = "Composable monad transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "composite-aeson" = callPackage @@ -51363,6 +54640,7 @@ self: { description = "JSON for Vinyl/Frames records"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "composite-aeson-refined" = callPackage @@ -51379,6 +54657,7 @@ self: { description = "composite-aeson support for Refined from the refined package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "composite-base" = callPackage @@ -51402,6 +54681,7 @@ self: { description = "Shared utilities for composite-* packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "composite-ekg" = callPackage @@ -51417,6 +54697,7 @@ self: { description = "EKG Metrics for Vinyl/Frames records"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "composite-opaleye" = callPackage @@ -51440,6 +54721,7 @@ self: { description = "Opaleye SQL for Frames records"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "composite-swagger" = callPackage @@ -51462,6 +54744,7 @@ self: { description = "Swagger for Vinyl/Frames records"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "composition" = callPackage @@ -51489,8 +54772,8 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "composition-prelude"; - version = "2.0.2.1"; - sha256 = "0vxgy13k0ca3bi7rh9wc1pdrlpdjbm6va95djmmysdw8a9yyp9wi"; + version = "2.0.5.0"; + sha256 = "1iiqv3wkkqijdg9nxmc8c539wflc5yhp9b9d0g5nfkg01s376c98"; libraryHaskellDepends = [ base ]; description = "Higher-order function combinators"; license = stdenv.lib.licenses.bsd3; @@ -51507,6 +54790,7 @@ self: { description = "Composition trees for arbitrary monoids"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "compositional-data" = callPackage @@ -51539,6 +54823,19 @@ self: { description = "Sum and Product types and such"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "comprehensions-ghc" = callPackage + ({ mkDerivation, base, base-unicode-symbols, ghc, syb, util }: + mkDerivation { + pname = "comprehensions-ghc"; + version = "0.1.0.1"; + sha256 = "04s83q9mvsdnxy9glc15n1nbqk6imbdzi40skvvhasjppgb9ysbm"; + libraryHaskellDepends = [ base base-unicode-symbols ghc syb util ]; + testHaskellDepends = [ base ]; + description = "Plugin to generalize comprehensions"; + license = stdenv.lib.licenses.bsd3; }) {}; "compressed" = callPackage @@ -51559,6 +54856,7 @@ self: { description = "Compressed containers and reducers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "compression" = callPackage @@ -51587,6 +54885,7 @@ self: { description = "Strategy combinators for compositional data types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "comptrans" = callPackage @@ -51605,6 +54904,7 @@ self: { description = "Automatically converting ASTs into compositional data types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "computational-algebra" = callPackage @@ -51657,6 +54957,7 @@ self: { description = "Well-kinded computational algebra library, currently supporting Groebner basis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "computational-geometry" = callPackage @@ -51685,6 +54986,7 @@ self: { description = "Advanced notions of computation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "concatenative" = callPackage @@ -51763,6 +55065,7 @@ self: { description = "Morphological disambiguation based on constrained CRFs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "concraft-hr" = callPackage @@ -51785,6 +55088,7 @@ self: { description = "Part-of-speech tagger for Croatian"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "concraft-pl" = callPackage @@ -51814,6 +55118,7 @@ self: { description = "Morphological tagger for Polish"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "concrete-haskell" = callPackage @@ -51858,6 +55163,7 @@ self: { description = "Library for the Concrete data format"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "concrete-haskell-autogen" = callPackage @@ -51875,6 +55181,7 @@ self: { description = "Automatically generated Thrift definitions for the Concrete data format"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "concrete-relaxng-parser" = callPackage @@ -51895,6 +55202,7 @@ self: { description = "A parser driven by a standard RELAX NG schema with concrete syntax extensions"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "concrete-typerep" = callPackage @@ -51915,6 +55223,7 @@ self: { description = "Binary and Hashable instances for TypeRep"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "concur-core" = callPackage @@ -51938,8 +55247,8 @@ self: { }: mkDerivation { pname = "concurrency"; - version = "1.6.2.0"; - sha256 = "004h1wxdgqpxpk9vcvds759pn5qdp873b4bidakffxgh35nkxr68"; + version = "1.7.0.0"; + sha256 = "16zg4c2x2ym7crvrimzp8jr3mw6qlbdzkfmv1h6smjp3bn8qxf06"; libraryHaskellDepends = [ array atomic-primops base exceptions monad-control mtl stm transformers @@ -51968,7 +55277,6 @@ self: { ]; description = "Benchmarks to compare concurrency APIs"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "concurrent-barrier" = callPackage @@ -52011,6 +55319,7 @@ self: { description = "Concurrent expanding buffer"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "concurrent-dns-cache" = callPackage @@ -52020,8 +55329,8 @@ self: { }: mkDerivation { pname = "concurrent-dns-cache"; - version = "0.1.2"; - sha256 = "1hczxqvlnp5nxcx3mdpv9cm7mv66823jhyw9pibfklpy94syiz5a"; + version = "0.1.3"; + sha256 = "1qq8zj39sw1jl44v3midxv0xnmn5p5v6k4j8a2s5cgkjimdwwbz3"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -52035,6 +55344,8 @@ self: { testHaskellDepends = [ async base dns hspec ]; description = "Concurrent DNS cache"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "concurrent-extra" = callPackage @@ -52074,6 +55385,7 @@ self: { description = "Concurrent networked stream transducers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "concurrent-output" = callPackage @@ -52082,8 +55394,8 @@ self: { }: mkDerivation { pname = "concurrent-output"; - version = "1.10.9"; - sha256 = "0mwf155w89nbbkjln7hhbn8k3f8p0ylcvgrg31cm7ijpx4499i4c"; + version = "1.10.10"; + sha256 = "1wnjxnwbc3l853kiiijagzjyb6fmhz3lmkwls24plbximl1qrr22"; libraryHaskellDepends = [ ansi-terminal async base directory exceptions process stm terminal-size text transformers unix @@ -52148,6 +55460,7 @@ self: { description = "MTL-like library using TVars"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "concurrent-supply" = callPackage @@ -52173,7 +55486,6 @@ self: { libraryHaskellDepends = [ base ]; description = "More utilities and broad-used datastructures for concurrency"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "concurrentoutput" = callPackage @@ -52218,6 +55530,7 @@ self: { description = "Information retrieval library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "condorcet" = callPackage @@ -52230,6 +55543,7 @@ self: { description = "Library for Condorcet voting"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "conductive-base" = callPackage @@ -52242,6 +55556,7 @@ self: { description = "a library for live coding and real-time musical applications"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "conductive-clock" = callPackage @@ -52270,6 +55585,7 @@ self: { description = "a library with examples of using Conductive with hsc3"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "conductive-song" = callPackage @@ -52282,6 +55598,7 @@ self: { description = "a library of functions which are useful for composing music"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "conduit_1_2_13_1" = callPackage @@ -52320,8 +55637,8 @@ self: { }: mkDerivation { pname = "conduit"; - version = "1.3.1"; - sha256 = "1mi0ad2ha51lyx1sw15zkzbh2bvv1q7jcfrxd4xc91d7mmk9n4mf"; + version = "1.3.1.1"; + sha256 = "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"; libraryHaskellDepends = [ base bytestring directory exceptions filepath mono-traversable mtl primitive resourcet text transformers unix unliftio-core vector @@ -52349,8 +55666,8 @@ self: { }: mkDerivation { pname = "conduit-algorithms"; - version = "0.0.9.0"; - sha256 = "1d2d9ak3mn77lklxr80xw9xpay31f71h5hd66mgrixk48bfr9p8i"; + version = "0.0.10.1"; + sha256 = "0lil9krb1gj4lckyfqlf9jmdb21n3wrf00kiiwcv1qc277p39z6y"; libraryHaskellDepends = [ async base bytestring bzlib-conduit conduit conduit-combinators conduit-extra conduit-zstd containers deepseq exceptions @@ -52372,7 +55689,6 @@ self: { ]; description = "Conduit-based algorithms"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "conduit-audio" = callPackage @@ -52406,6 +55722,7 @@ self: { description = "conduit-audio interface to the LAME MP3 library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {mp3lame = null;}; "conduit-audio-samplerate" = callPackage @@ -52426,6 +55743,7 @@ self: { description = "conduit-audio interface to the libsamplerate resampling library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {samplerate = null;}; "conduit-audio-sndfile" = callPackage @@ -52481,8 +55799,8 @@ self: { }: mkDerivation { pname = "conduit-connection"; - version = "0.1.0.4"; - sha256 = "1z11r3rf6hmz5b00w4xymp6x0s00acyvbyw6n99wd3b9ycbl2y2y"; + version = "0.1.0.5"; + sha256 = "0mvsvxfps6pnlanl5zx7cz6qxpn907qgx5bcl18vb9vhn8frh0m6"; libraryHaskellDepends = [ base bytestring conduit connection resourcet transformers ]; @@ -52505,8 +55823,8 @@ self: { pname = "conduit-extra"; version = "1.2.3.2"; sha256 = "1xihl8zrd6jyfnlmsrqshwwqc8176whs5im4jvxvk9038wl6cnqx"; - revision = "2"; - editedCabalFile = "0x77alx5h3v07ra0l0l5b36rx5qb3vg2f5k711yvin1q40vwvhqg"; + revision = "3"; + editedCabalFile = "0m68hvcmg4wwn12wcczqx1i60i8g2nv95c05abnl8ymq0377c7wi"; libraryHaskellDepends = [ async attoparsec base blaze-builder bytestring conduit directory exceptions filepath monad-control network primitive process @@ -52536,8 +55854,8 @@ self: { }: mkDerivation { pname = "conduit-extra"; - version = "1.3.0"; - sha256 = "1bi2b6kdzy5f9glq46jzsk02has95jkxqz0cchpbmnakzhjwjh9c"; + version = "1.3.4"; + sha256 = "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"; libraryHaskellDepends = [ async attoparsec base bytestring conduit directory filepath network primitive process resourcet stm streaming-commons text transformers @@ -52545,8 +55863,8 @@ self: { ]; testHaskellDepends = [ async attoparsec base bytestring bytestring-builder conduit - directory exceptions hspec process QuickCheck resourcet stm - streaming-commons text transformers transformers-base + directory exceptions filepath hspec process QuickCheck resourcet + stm streaming-commons text transformers transformers-base ]; benchmarkHaskellDepends = [ base bytestring bytestring-builder conduit gauge transformers @@ -52588,6 +55906,7 @@ self: { description = "A file-finding conduit that allows user control over traversals"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "conduit-iconv" = callPackage @@ -52614,12 +55933,11 @@ self: { ({ mkDerivation, base, conduit, mtl }: mkDerivation { pname = "conduit-merge"; - version = "0.1.2.0"; - sha256 = "07nfq13cqn8mwnkdkrn96mpw479ynfb261w1mx2w6yacmwq2ycsd"; + version = "0.1.3.0"; + sha256 = "0ys65vs5wb412bimmsmkmf14krk2339n9rswynnwy3rdb74bsswf"; libraryHaskellDepends = [ base conduit mtl ]; description = "Merge multiple sorted conduits"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "conduit-network-stream" = callPackage @@ -52636,6 +55954,7 @@ self: { description = "A base layer for network protocols using Conduits"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "conduit-parse" = callPackage @@ -52675,6 +55994,7 @@ self: { description = "Allows conduit to resume sinks to feed multiple sources into it"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "conduit-throttle" = callPackage @@ -52699,6 +56019,7 @@ self: { description = "Throttle Conduit Producers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "conduit-tokenize-attoparsec" = callPackage @@ -52719,6 +56040,57 @@ self: { description = "Conduits for tokenizing streams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "conduit-vfs" = callPackage + ({ mkDerivation, base, bytestring, classy-prelude, conduit + , conduit-extra, directory, exceptions, extra, filepath + , monad-loops, mono-traversable, mtl, resourcet, text, transformers + , unix, unliftio, unordered-containers + }: + mkDerivation { + pname = "conduit-vfs"; + version = "0.1.0.3"; + sha256 = "1nsq4s0cxag6drynkfl79q0lirh37r3l59nzhkdyjlak4bzq5g1f"; + libraryHaskellDepends = [ + base bytestring classy-prelude conduit conduit-extra directory + exceptions extra filepath monad-loops mono-traversable mtl + resourcet text transformers unix unliftio unordered-containers + ]; + testHaskellDepends = [ + base bytestring classy-prelude conduit conduit-extra directory + exceptions extra filepath monad-loops mono-traversable mtl + resourcet text transformers unix unliftio unordered-containers + ]; + description = "Virtual file system for Conduit; disk, pure, and in-memory impls"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "conduit-vfs-zip" = callPackage + ({ mkDerivation, base, bytestring, classy-prelude, conduit + , conduit-extra, conduit-vfs, directory, exceptions, extra + , filepath, monad-loops, mono-traversable, mtl, resourcet, text + , transformers, unix, unliftio, unordered-containers, zip-archive + }: + mkDerivation { + pname = "conduit-vfs-zip"; + version = "0.1.0.1"; + sha256 = "07c2r03if3bminakcf4z7k990c8nf94w3q41csrzd4zy3qk0acr5"; + libraryHaskellDepends = [ + base bytestring classy-prelude conduit conduit-extra conduit-vfs + directory exceptions extra filepath monad-loops mono-traversable + mtl resourcet text transformers unix unliftio unordered-containers + zip-archive + ]; + testHaskellDepends = [ + base bytestring classy-prelude conduit conduit-extra conduit-vfs + directory exceptions extra filepath monad-loops mono-traversable + mtl resourcet text transformers unix unliftio unordered-containers + zip-archive + ]; + description = "Zip archive interface for the Conduit Virtual File System"; + license = stdenv.lib.licenses.bsd3; }) {}; "conduit-zstd" = callPackage @@ -52737,7 +56109,6 @@ self: { ]; description = "Conduit-based ZStd Compression"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "conf" = callPackage @@ -52755,6 +56126,7 @@ self: { description = "Parser for Haskell-based configuration files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "conf-json" = callPackage @@ -52782,43 +56154,8 @@ self: { }: mkDerivation { pname = "confcrypt"; - version = "0.1.0.4"; - sha256 = "1c25xjpnw802pqfjksx5fxjq9ynwfjkkmyad169bvfasry98cdbb"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - amazonka amazonka-kms base base64-bytestring bytestring conduit - containers crypto-pubkey-openssh crypto-pubkey-types cryptonite - deepseq lens megaparsec mtl optparse-applicative parser-combinators - text transformers - ]; - executableHaskellDepends = [ - amazonka amazonka-kms base base64-bytestring bytestring conduit - containers crypto-pubkey-openssh crypto-pubkey-types cryptonite - deepseq lens megaparsec mtl optparse-applicative parser-combinators - text transformers - ]; - testHaskellDepends = [ - amazonka amazonka-kms base base64-bytestring bytestring conduit - containers crypto-pubkey-openssh crypto-pubkey-types cryptonite - deepseq HUnit lens megaparsec memory mtl optparse-applicative - parser-combinators QuickCheck tasty tasty-hunit tasty-quickcheck - text transformers - ]; - license = stdenv.lib.licenses.mit; - }) {}; - - "confcrypt_0_2_0_0" = callPackage - ({ mkDerivation, amazonka, amazonka-kms, base, base64-bytestring - , bytestring, conduit, containers, crypto-pubkey-openssh - , crypto-pubkey-types, cryptonite, deepseq, HUnit, lens, megaparsec - , memory, mtl, optparse-applicative, parser-combinators, QuickCheck - , tasty, tasty-hunit, tasty-quickcheck, text, transformers - }: - mkDerivation { - pname = "confcrypt"; - version = "0.2.0.0"; - sha256 = "0gg1p06lmv7rs143am5kak6n7777f1ccf36xlscxwsyza5j1gi57"; + version = "0.2.3.3"; + sha256 = "18z0p9bd2ca43a64k3idsywm2f1vv6qh03l8isgnahjh7j96ngih"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -52842,6 +56179,25 @@ self: { ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "conferer" = callPackage + ({ mkDerivation, base, bytestring, containers, directory, hspec + , text + }: + mkDerivation { + pname = "conferer"; + version = "0.1.0.0"; + sha256 = "0y62yj2cm7q9qwxl3jfdq16rza2mrjg60lchx4s0gbwiw959a83n"; + libraryHaskellDepends = [ + base bytestring containers directory text + ]; + testHaskellDepends = [ + base bytestring containers directory hspec text + ]; + description = "Configuration management library"; + license = stdenv.lib.licenses.bsd3; }) {}; "confetti" = callPackage @@ -52881,6 +56237,7 @@ self: { description = "A .conf file formatter"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "confide" = callPackage @@ -52896,6 +56253,7 @@ self: { description = "derive typeclass instances for decoding types from HOCON conf"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "config-ini" = callPackage @@ -52948,6 +56306,7 @@ self: { description = "Parse config files using parsec and generate parse errors on unhandled keys"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "config-schema" = callPackage @@ -52956,10 +56315,8 @@ self: { }: mkDerivation { pname = "config-schema"; - version = "0.5.0.1"; - sha256 = "18zdq0w65cs2zy8p0pvb0jfqffcyxq9km1c2h5fvky8c689lp0gp"; - revision = "3"; - editedCabalFile = "102mwr18aas924hlxsyyx5pi8skkb2misic1h95f6khpz7wcy3vy"; + version = "1.1.0.0"; + sha256 = "1nr1jyrgvvm1zlzvlfpz35zb5iydn1mpk89kljp0h1cvkl35mjkl"; libraryHaskellDepends = [ base config-value containers free kan-extensions pretty semigroupoids text transformers @@ -52983,6 +56340,7 @@ self: { description = "A small program for swapping out dot files"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "config-value" = callPackage @@ -53039,6 +56397,7 @@ self: { description = "parser for config files, shell variables, command line args"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "configuration" = callPackage @@ -53051,6 +56410,7 @@ self: { description = "Simple data type for application configuration"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "configuration-tools" = callPackage @@ -53059,14 +56419,14 @@ self: { , case-insensitive, connection, data-default, deepseq, directory , dlist, enclosed-exceptions, filepath, http-client , http-client-tls, http-types, monad-control, mtl, network-uri - , optparse-applicative, process, profunctors, semigroups, text, tls - , transformers, unordered-containers, wai, warp, warp-tls, x509 - , x509-system, x509-validation, yaml + , optparse-applicative, process, profunctors, semigroupoids + , semigroups, text, tls, transformers, unordered-containers, wai + , warp, warp-tls, x509, x509-system, x509-validation, yaml }: mkDerivation { pname = "configuration-tools"; - version = "0.4.0"; - sha256 = "0bsxvbdhcgrhz9dm32bs5fb7ywdjb68xii74wdli4s0axs4q5dpx"; + version = "0.4.1"; + sha256 = "1c6yk6516v4ld8rmhwg4s4f3s6k40gx3dsqfrl2y9lcx3477nlj8"; setupHaskellDepends = [ base bytestring Cabal directory filepath process ]; @@ -53075,9 +56435,9 @@ self: { base64-bytestring bytestring Cabal case-insensitive connection data-default deepseq directory dlist enclosed-exceptions filepath http-client http-client-tls http-types monad-control mtl - network-uri optparse-applicative process profunctors semigroups - text tls transformers unordered-containers x509 x509-system - x509-validation yaml + network-uri optparse-applicative process profunctors semigroupoids + semigroups text tls transformers unordered-containers x509 + x509-system x509-validation yaml ]; testHaskellDepends = [ base base-unicode-symbols bytestring Cabal enclosed-exceptions @@ -53149,6 +56509,27 @@ self: { description = "The next generation of configuration management"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "configurator-pg" = callPackage + ({ mkDerivation, attoparsec, base, bytestring, containers, filepath + , HUnit, protolude, scientific, test-framework + , test-framework-hunit, text + }: + mkDerivation { + pname = "configurator-pg"; + version = "0.1.0.3"; + sha256 = "0fc77ihnablff8v0kgr88pcc3rn41ca14bvfxr21jx807fn8g63p"; + libraryHaskellDepends = [ + attoparsec base containers protolude scientific text + ]; + testHaskellDepends = [ + base bytestring filepath HUnit protolude test-framework + test-framework-hunit text + ]; + description = "Reduced parser for configurator-ng config files"; + license = stdenv.lib.licenses.bsd3; }) {}; "confsolve" = callPackage @@ -53179,6 +56560,7 @@ self: { description = "Decidable congruence relations for Haskell: up to you whether this is a joke"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "conjugateGradient" = callPackage @@ -53211,6 +56593,7 @@ self: { description = "A BitTorrent client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "conkin" = callPackage @@ -53229,6 +56612,7 @@ self: { description = "Tools for functors from Hask^k to Hask"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "conlogger" = callPackage @@ -53244,21 +56628,22 @@ self: { description = "A logger for a concurrent program"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "connection" = callPackage - ({ mkDerivation, base, byteable, bytestring, containers + ({ mkDerivation, base, basement, bytestring, containers , data-default-class, network, socks, tls, x509, x509-store , x509-system, x509-validation }: mkDerivation { pname = "connection"; - version = "0.2.8"; - sha256 = "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"; + version = "0.3.0"; + sha256 = "1f53bysp8zr8c8dhivrq2k9qmlwnk84d4c1s31sd62ws9yddcw34"; revision = "1"; - editedCabalFile = "15qdwqqjv60w14m319a58yjmhzr39dydsnk6r26ydkwxwh23rk73"; + editedCabalFile = "0cm421anscv6h4nvhkaqvi5s3lwkc0f34p6z8lzap4wyc4gv578k"; libraryHaskellDepends = [ - base byteable bytestring containers data-default-class network + base basement bytestring containers data-default-class network socks tls x509 x509-store x509-system x509-validation ]; description = "Simple and easy network connections API"; @@ -53297,6 +56682,7 @@ self: { description = "A library for parsing connection strings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "consistent" = callPackage @@ -53315,6 +56701,7 @@ self: { description = "Eventually consistent STM transactions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "console-program" = callPackage @@ -53324,15 +56711,14 @@ self: { }: mkDerivation { pname = "console-program"; - version = "0.4.2.2"; - sha256 = "1zr6c9wdlx16v559zzjah84v0psphyzyq5d837ncshkxmssri8ja"; + version = "0.4.2.3"; + sha256 = "165ay133dxr0midy8yhsnsw5pf1lqh6pg4x63gjip945hfjl0lwq"; libraryHaskellDepends = [ ansi-terminal ansi-wl-pprint base containers directory haskeline parsec parsec-extra split transformers unix utility-ht ]; description = "Interpret the command line and a config file as commands and options"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "console-prompt" = callPackage @@ -53368,6 +56754,7 @@ self: { description = "Compiler plugin for constant math elimination"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "constaparser" = callPackage @@ -53382,14 +56769,22 @@ self: { }) {}; "constrained-categories" = callPackage - ({ mkDerivation, base, semigroups, tagged, void }: + ({ mkDerivation, base, contravariant, semigroups, tagged + , trivial-constraint, void + }: mkDerivation { pname = "constrained-categories"; - version = "0.3.1.1"; - sha256 = "00h8pw0pqj7lmngwzmz27lmvglpidgxhhxrdf275s49cdnkf8cvk"; - libraryHaskellDepends = [ base semigroups tagged void ]; + version = "0.4.0.0"; + sha256 = "1wq4ivkgxbwxxrfk5lwn2psbbiaq87dr8zf1z9b9yhw2hi75lsgw"; + revision = "1"; + editedCabalFile = "0f96xmq5j03f9ks9cjlgbc5wq0azdbrbj2lh3kr3ybz658dli3j7"; + libraryHaskellDepends = [ + base contravariant semigroups tagged trivial-constraint void + ]; description = "Constrained clones of the category-theory type classes, using ConstraintKinds"; license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "constrained-category" = callPackage @@ -53408,6 +56803,7 @@ self: { description = "Constrained Categories"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "constrained-dynamic" = callPackage @@ -53421,6 +56817,7 @@ self: { description = "Dynamic typing with retained constraints"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "constrained-monads" = callPackage @@ -53445,6 +56842,7 @@ self: { description = "Typeclasses and instances for monads with constraints"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "constrained-normal" = callPackage @@ -53469,7 +56867,6 @@ self: { libraryHaskellDepends = [ base category unconstrained ]; description = "Reified constraints"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "constraint-classes" = callPackage @@ -53493,6 +56890,7 @@ self: { description = "Some conviencience type functions for manipulating constraints"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "constraint-reflection" = callPackage @@ -53504,7 +56902,6 @@ self: { libraryHaskellDepends = [ base category constraint reflection ]; description = "Constraint reflection"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "constraints" = callPackage @@ -53516,6 +56913,8 @@ self: { pname = "constraints"; version = "0.10.1"; sha256 = "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"; + revision = "1"; + editedCabalFile = "1i2rd805mjz5q7s98ryy1m91zd4b9hx92gw1rwr6kpibqqw9smcb"; libraryHaskellDepends = [ base binary deepseq ghc-prim hashable mtl semigroups transformers transformers-compat @@ -53526,6 +56925,45 @@ self: { license = stdenv.lib.licenses.bsd2; }) {}; + "constraints_0_11_1" = callPackage + ({ mkDerivation, base, binary, deepseq, ghc-prim, hashable, hspec + , hspec-discover, mtl, semigroups, transformers + , transformers-compat + }: + mkDerivation { + pname = "constraints"; + version = "0.11.1"; + sha256 = "15768bcd8z70wq0b2igvz8mrl62bqaqad6cpdp9p4awyylba37y6"; + libraryHaskellDepends = [ + base binary deepseq ghc-prim hashable mtl semigroups transformers + transformers-compat + ]; + testHaskellDepends = [ base hspec ]; + testToolDepends = [ hspec-discover ]; + description = "Constraint manipulation"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "constraints-deriving" = callPackage + ({ mkDerivation, base, bytestring, Cabal, filepath, ghc, ghc-paths + , path, path-io + }: + mkDerivation { + pname = "constraints-deriving"; + version = "1.1.0.0"; + sha256 = "15rspwn8i2rwmqsxb505087ars0i10licwj4adsgm89ajhgrqvp9"; + isLibrary = true; + isExecutable = true; + setupHaskellDepends = [ base Cabal ]; + libraryHaskellDepends = [ base ghc ]; + testHaskellDepends = [ + base bytestring filepath ghc ghc-paths path path-io + ]; + description = "Manipulating constraints and deriving class instances programmatically"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "constraints-emerge" = callPackage ({ mkDerivation, base, constraints, containers, ghc, hashable , hspec, transformers @@ -53541,24 +56979,21 @@ self: { description = "Defer instance lookups until runtime"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "constraints-extras" = callPackage - ({ mkDerivation, aeson, base, constraints, markdown-unlit - , template-haskell - }: + ({ mkDerivation, aeson, base, constraints, template-haskell }: mkDerivation { pname = "constraints-extras"; - version = "0.2.3.3"; - sha256 = "1399jah0lh127z56wv0h2c94s26fanw58x0x8imakjlj2dlg8km1"; + version = "0.3.0.1"; + sha256 = "0majx5yrddpyvymfl84dqwrqf4bf91jskgaki4ia0h8vhzqfcivx"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base constraints template-haskell ]; executableHaskellDepends = [ aeson base constraints ]; - executableToolDepends = [ markdown-unlit ]; description = "Utility package for constraints"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "constrictor" = callPackage @@ -53583,7 +57018,6 @@ self: { ]; description = "Exact computation with constructible real numbers"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "constructive-algebra" = callPackage @@ -53596,6 +57030,7 @@ self: { description = "A library of constructive algebra"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "consul-haskell" = callPackage @@ -53622,6 +57057,7 @@ self: { description = "A consul client for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "consumers" = callPackage @@ -53632,8 +57068,8 @@ self: { }: mkDerivation { pname = "consumers"; - version = "2.1.2.0"; - sha256 = "1fgnb4q5bbad6rmknclvwv79s593r054x7iafrhj3czrfzg94dfx"; + version = "2.2.0.1"; + sha256 = "14gs07nl759qfnmi44pyhj24xqmd2xl3ikwhl8s5zykavdpjaimx"; libraryHaskellDepends = [ base containers exceptions extra hpqtypes lifted-base lifted-threads log-base monad-control monad-time mtl stm time @@ -53647,6 +57083,7 @@ self: { description = "Concurrent PostgreSQL data consumers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "container" = callPackage @@ -53698,24 +57135,13 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; - "containers_0_6_0_1" = callPackage - ({ mkDerivation, array, base, ChasingBottoms, criterion, deepseq - , ghc-prim, HUnit, QuickCheck, random, test-framework - , test-framework-hunit, test-framework-quickcheck2, transformers - }: + "containers_0_6_2_1" = callPackage + ({ mkDerivation, array, base, deepseq }: mkDerivation { pname = "containers"; - version = "0.6.0.1"; - sha256 = "0smc1g58l968jxcjxhxcd4qpfm4zk7zr6r4q6wf6ay75av9rf4d7"; - libraryHaskellDepends = [ array base deepseq ghc-prim ]; - testHaskellDepends = [ - array base ChasingBottoms deepseq ghc-prim HUnit QuickCheck - test-framework test-framework-hunit test-framework-quickcheck2 - transformers - ]; - benchmarkHaskellDepends = [ - base criterion deepseq ghc-prim random transformers - ]; + version = "0.6.2.1"; + sha256 = "05h0sc70xy4jm0hvzv0pnqy1sbi61f73whawk46jwcjzyfa5f30k"; + libraryHaskellDepends = [ array base deepseq ]; description = "Assorted concrete container types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; @@ -53737,6 +57163,7 @@ self: { description = "Extensive benchmark suite for containers package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "containers-deepseq" = callPackage @@ -53760,6 +57187,7 @@ self: { description = "Unicode alternatives for common functions and operators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "containers-verified" = callPackage @@ -53796,6 +57224,7 @@ self: { description = "Store and retrieve data from an on-disk store"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "context-free-grammar" = callPackage @@ -53820,6 +57249,7 @@ self: { description = "Basic algorithms on context-free grammars"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "context-stack" = callPackage @@ -53834,17 +57264,32 @@ self: { description = "An abstraction of a stack and stack-based monadic context"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "contiguous" = callPackage - ({ mkDerivation, base, deepseq, primitive }: + ({ mkDerivation, base, deepseq, primitive, primitive-unlifted + , QuickCheck, quickcheck-classes, quickcheck-instances, random + , random-shuffle, vector, weigh + }: mkDerivation { pname = "contiguous"; - version = "0.3.2.0"; - sha256 = "0mgsha615rzaki7cn6w78ihrni3s9hza23srmxy9rpvybvh6xql7"; - libraryHaskellDepends = [ base deepseq primitive ]; + version = "0.5"; + sha256 = "0nz3ssh0zc8rs67mk8fmc8plvbjac6mlxdmzk9fw8sj2vx2ssisq"; + libraryHaskellDepends = [ + base deepseq primitive primitive-unlifted + ]; + testHaskellDepends = [ + base primitive QuickCheck quickcheck-classes quickcheck-instances + vector + ]; + benchmarkHaskellDepends = [ + base primitive random random-shuffle weigh + ]; description = "Unified interface for primitive arrays"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "contiguous-checked" = callPackage @@ -53856,6 +57301,8 @@ self: { libraryHaskellDepends = [ base contiguous primitive ]; description = "contiguous with bounds checks"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "contiguous-fft" = callPackage @@ -53868,6 +57315,7 @@ self: { description = "dft of contiguous memory structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "continue" = callPackage @@ -53885,6 +57333,7 @@ self: { description = "Monads with suspension and arbitrary-spot reentry"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "continued-fraction" = callPackage @@ -53932,6 +57381,7 @@ self: { ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "continuum-client" = callPackage @@ -53947,14 +57397,15 @@ self: { ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "contravariant" = callPackage ({ mkDerivation, base, StateVar, transformers }: mkDerivation { pname = "contravariant"; - version = "1.5"; - sha256 = "1hn31wl0jai2jrwc6cz19aflbv9xbyl3m5ab57zzysddjav6gw3f"; + version = "1.5.2"; + sha256 = "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"; libraryHaskellDepends = [ base StateVar transformers ]; description = "Contravariant functors"; license = stdenv.lib.licenses.bsd3; @@ -54036,12 +57487,12 @@ self: { ({ mkDerivation, base, containers, stm, time }: mkDerivation { pname = "control-event"; - version = "1.2.1.1"; - sha256 = "0hwsidsxnzi4b3aphn3f7lsf1z508ql6cnhfq6zbqfsvcynm7565"; + version = "1.3"; + sha256 = "1a48h7nna7padcffdfyaavhfl43lqfhvib5ddsxbqm7y99nylni6"; libraryHaskellDepends = [ base containers stm time ]; + testHaskellDepends = [ base containers stm time ]; description = "Event scheduling system"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "control-iso" = callPackage @@ -54057,7 +57508,6 @@ self: { ]; description = "A typeclass for type isomorphisms"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "control-monad-attempt" = callPackage @@ -54070,6 +57520,7 @@ self: { description = "Monad transformer for attempt. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "control-monad-exception" = callPackage @@ -54087,6 +57538,7 @@ self: { description = "Explicitly typed, checked exceptions with stack traces"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "control-monad-exception-monadsfd" = callPackage @@ -54103,6 +57555,7 @@ self: { description = "Monads-fd instances for the EMT exceptions monad transformer"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "control-monad-exception-monadstf" = callPackage @@ -54119,6 +57572,7 @@ self: { description = "Monads-tf instances for the EMT exceptions monad transformer"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "control-monad-exception-mtl" = callPackage @@ -54132,6 +57586,7 @@ self: { description = "MTL instances for the EMT exceptions monad transformer"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "control-monad-failure" = callPackage @@ -54144,6 +57599,7 @@ self: { description = "A class for monads which can fail with an error. (deprecated)"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "control-monad-failure-mtl" = callPackage @@ -54156,6 +57612,7 @@ self: { description = "A class for monads which can fail with an error for mtl 1 (deprecated)"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "control-monad-free_0_5_3" = callPackage @@ -54198,6 +57655,8 @@ self: { pname = "control-monad-omega"; version = "0.3.1"; sha256 = "11hirysr76i01qj8rm22xjcrv2qwxgwjlrqqyd1dsnnvypn9hfrq"; + revision = "1"; + editedCabalFile = "029v5j0mnlzzn6my7jgw26gdm5fbs2h7y395zk1q7r5bfar00q58"; libraryHaskellDepends = [ base ]; description = "A breadth-first list monad"; license = stdenv.lib.licenses.publicDomain; @@ -54246,6 +57705,7 @@ self: { description = "ContStuff instances for monads-tf transformers (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "contstuff-transformers" = callPackage @@ -54258,6 +57718,7 @@ self: { description = "Deprecated interface between contstuff 0.7.0 and the transformers package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "converge" = callPackage @@ -54360,6 +57821,7 @@ self: { description = "Convert the annotation of a gene to another in a delimited file using a variety of different databases"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "convertible" = callPackage @@ -54394,6 +57856,7 @@ self: { description = "convertible instances for ascii"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "convertible-text" = callPackage @@ -54415,6 +57878,7 @@ self: { description = "Typeclasses and instances for converting between types (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cookbook" = callPackage @@ -54474,50 +57938,39 @@ self: { }) {}; "copilot" = callPackage - ({ mkDerivation, base, copilot-c99, copilot-cbmc, copilot-core - , copilot-language, copilot-libraries, copilot-sbv, copilot-theorem - , directory, random + ({ mkDerivation, base, copilot-c99, copilot-core, copilot-language + , copilot-libraries, copilot-theorem, directory, filepath + , optparse-applicative }: mkDerivation { pname = "copilot"; - version = "2.2.1"; - sha256 = "04bfrxvz04jcc1favl21xb4qbj3gd0par0xg1f11r5s73ldnghb9"; - isLibrary = true; - isExecutable = true; + version = "3.0.1"; + sha256 = "0sfvrk8ik6zaim6xlkvlnz3rnrqbiqvq7i6yxjiba74qx5w8yv4m"; libraryHaskellDepends = [ - base copilot-c99 copilot-cbmc copilot-core copilot-language - copilot-libraries copilot-sbv copilot-theorem - ]; - executableHaskellDepends = [ - base copilot-c99 copilot-cbmc copilot-core copilot-language - copilot-libraries copilot-sbv copilot-theorem directory random + base copilot-c99 copilot-core copilot-language copilot-libraries + copilot-theorem directory filepath optparse-applicative ]; description = "A stream DSL for writing embedded C programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "copilot-c99" = callPackage - ({ mkDerivation, atom, base, bytestring, containers, copilot-core - , csv, directory, pretty, process, QuickCheck, random, text, vector + ({ mkDerivation, base, containers, copilot-core, directory + , filepath, language-c99, language-c99-simple, language-c99-util + , mtl, pretty }: mkDerivation { pname = "copilot-c99"; - version = "2.2.1"; - sha256 = "1wyw1jiicx39x7iscy9rld7pnfpan8xfp8lphn7b658hipw0v4aq"; - isLibrary = true; - isExecutable = true; + version = "3.0.2"; + sha256 = "02987kxwsrxcjicgfnj55prabiv12y5d1s82nr34kk3scrlixl1y"; libraryHaskellDepends = [ - atom base bytestring containers copilot-core csv directory pretty - process QuickCheck random text vector - ]; - executableHaskellDepends = [ - atom base bytestring containers copilot-core csv directory pretty - process QuickCheck random text vector + base containers copilot-core directory filepath language-c99 + language-c99-simple language-c99-util mtl pretty ]; description = "A compiler for Copilot targeting C99"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "copilot-cbmc" = callPackage @@ -54535,22 +57988,20 @@ self: { description = "Copilot interface to a C model-checker"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "copilot-core" = callPackage - ({ mkDerivation, base, containers, dlist, mtl, pretty, pretty-ncols - , random - }: + ({ mkDerivation, base, containers, dlist, mtl, pretty, random }: mkDerivation { pname = "copilot-core"; - version = "2.2.1"; - sha256 = "1mzxb24chxfrkpr4487dxkwbnhaysyxsrv4y38ma76nq141xr105"; + version = "3.0.1"; + sha256 = "0gq55db39fsg3kim83s86nw58f9wbg59nlrhi4ic70864iv55zs8"; libraryHaskellDepends = [ - base containers dlist mtl pretty pretty-ncols random + base containers dlist mtl pretty random ]; description = "An intermediate representation for Copilot"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "copilot-language" = callPackage @@ -54559,8 +58010,8 @@ self: { }: mkDerivation { pname = "copilot-language"; - version = "2.2.1"; - sha256 = "1pv54iwzcyvw46xq6am2l23sw223n8b9fqc910dkf2kjr6y6q6v8"; + version = "3.0.1"; + sha256 = "1vx656vdjvdbsd3zv5cpb9xjvj85ylfqbbk8iibkbdgbq6sm11f6"; libraryHaskellDepends = [ array base containers copilot-core copilot-theorem data-reify ghc-prim mtl @@ -54568,22 +58019,24 @@ self: { description = "A Haskell-embedded DSL for monitoring hard real-time distributed systems"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "copilot-libraries" = callPackage - ({ mkDerivation, array, base, containers, copilot-language, mtl - , parsec + ({ mkDerivation, array, base, containers, copilot-language + , data-reify, mtl, parsec }: mkDerivation { pname = "copilot-libraries"; - version = "2.2.1"; - sha256 = "0ashnay40kkbysnbz8ay0r7ljzwkx07m4z960kfjnh3y6s5qk6ww"; + version = "3.0"; + sha256 = "0xrv37m770qnc722iv5x67kjic11q2sd1bcx2b0gr93p54frbjs4"; libraryHaskellDepends = [ - array base containers copilot-language mtl parsec + array base containers copilot-language data-reify mtl parsec ]; description = "Libraries for the Copilot language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "copilot-sbv" = callPackage @@ -54600,24 +58053,26 @@ self: { description = "A compiler for CoPilot targeting SBV"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "copilot-theorem" = callPackage ({ mkDerivation, ansi-terminal, base, bimap, containers , copilot-core, data-default, directory, mtl, parsec, pretty - , process, random, smtlib2, transformers, xml + , process, random, transformers, xml }: mkDerivation { pname = "copilot-theorem"; - version = "2.2.1"; - sha256 = "1qw46k26f6cisyjmjn0d9g7sjkx67vpydiqm7l9f1hib4dygcznx"; + version = "3.0"; + sha256 = "1h8gjlfhl473d6h8zafmqv3dzdhmgpyp8bsvysfzb7s2ga5hwnrq"; libraryHaskellDepends = [ ansi-terminal base bimap containers copilot-core data-default - directory mtl parsec pretty process random smtlib2 transformers xml + directory mtl parsec pretty process random transformers xml ]; description = "k-induction for Copilot"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "copr" = callPackage @@ -54638,6 +58093,7 @@ self: { description = "Haskell interface to the Fedora Copr system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "core" = callPackage @@ -54650,6 +58106,7 @@ self: { description = "External core parser and pretty printer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "core-compiler" = callPackage @@ -54671,6 +58128,24 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "core-data" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, core-text + , hashable, prettyprinter, prettyprinter-ansi-terminal, scientific + , text, unordered-containers, vector + }: + mkDerivation { + pname = "core-data"; + version = "0.2.0.0"; + sha256 = "1lzvs99qqw8nvgqqz080zdsxl5vdxdmnffxl8s26c7p41izycp5n"; + libraryHaskellDepends = [ + aeson base bytestring containers core-text hashable prettyprinter + prettyprinter-ansi-terminal scientific text unordered-containers + vector + ]; + description = "Convenience wrappers around common data structures and encodings"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "core-haskell" = callPackage ({ mkDerivation, base, haskeline, haskell-src-exts, hint }: mkDerivation { @@ -54685,6 +58160,45 @@ self: { description = "A subset of Haskell using in UCC for teaching purpose"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "core-program" = callPackage + ({ mkDerivation, async, base, bytestring, chronologique, core-data + , core-text, directory, exceptions, hashable, hourglass, mtl + , prettyprinter, prettyprinter-ansi-terminal, safe-exceptions, stm + , template-haskell, terminal-size, text, text-short, transformers + , unix + }: + mkDerivation { + pname = "core-program"; + version = "0.2.0.0"; + sha256 = "13907wk5p8yc31wf7s3w6an8g2b5j8pp0k196l5fh90c5dadizys"; + libraryHaskellDepends = [ + async base bytestring chronologique core-data core-text directory + exceptions hashable hourglass mtl prettyprinter + prettyprinter-ansi-terminal safe-exceptions stm template-haskell + terminal-size text text-short transformers unix + ]; + description = "Opinionated Haskell Interoperability"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "core-text" = callPackage + ({ mkDerivation, base, bytestring, deepseq, fingertree, hashable + , prettyprinter, prettyprinter-ansi-terminal, template-haskell + , text, text-short + }: + mkDerivation { + pname = "core-text"; + version = "0.2.0.0"; + sha256 = "1rkbz43vnjv8vv68xh98qcp59lmahw4sdpfnhvgrh92wj0namifk"; + libraryHaskellDepends = [ + base bytestring deepseq fingertree hashable prettyprinter + prettyprinter-ansi-terminal template-haskell text text-short + ]; + description = "A text type based on a finger tree over UTF-8 fragments"; + license = stdenv.lib.licenses.bsd3; }) {}; "corebot-bliki" = callPackage @@ -54712,6 +58226,7 @@ self: { description = "A bliki written using yesod. Uses pandoc to process files stored in git."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "corecursive-main" = callPackage @@ -54751,6 +58266,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {inherit (pkgs) rocksdb;}; + "cornea" = callPackage + ({ mkDerivation, base, HTF, lens, mtl, template-haskell + , th-abstraction, transformers + }: + mkDerivation { + pname = "cornea"; + version = "0.2.2.0"; + sha256 = "0b33599clz9cxlqhci8xlizhqzslw7k0mv60g04vf8b5pj3q2zyk"; + libraryHaskellDepends = [ + base lens mtl template-haskell th-abstraction transformers + ]; + testHaskellDepends = [ + base HTF lens mtl template-haskell th-abstraction transformers + ]; + description = "classy optical monadic state"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "coroutine-enumerator" = callPackage ({ mkDerivation, base, enumerator, monad-coroutine }: mkDerivation { @@ -54761,6 +58295,7 @@ self: { description = "Bridge between the monad-coroutine and enumerator packages"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "coroutine-iteratee" = callPackage @@ -54773,6 +58308,7 @@ self: { description = "Bridge between the monad-coroutine and iteratee packages"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "coroutine-object" = callPackage @@ -54785,6 +58321,7 @@ self: { description = "Object-oriented programming realization using coroutine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "couch-hs" = callPackage @@ -54804,6 +58341,7 @@ self: { description = "A CouchDB view server for Haskell"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "couch-simple" = callPackage @@ -54831,6 +58369,7 @@ self: { description = "A modern, lightweight, complete client for CouchDB"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) couchdb;}; "couchdb-conduit" = callPackage @@ -54861,6 +58400,7 @@ self: { description = "Couch DB client library using http-conduit and aeson"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "couchdb-enumerator" = callPackage @@ -54889,6 +58429,7 @@ self: { description = "Couch DB client library using http-enumerator and aeson"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "count" = callPackage @@ -54933,6 +58474,7 @@ self: { description = "Countable Text Inflections"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "counter" = callPackage @@ -54945,6 +58487,7 @@ self: { description = "An object frequency counter"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "country" = callPackage @@ -54956,8 +58499,8 @@ self: { pname = "country"; version = "0.1.6"; sha256 = "0a4r2jnp15xy18s6xpd4p10cgq3hd8qqzhy5lakmzymivwq6xcq9"; - revision = "1"; - editedCabalFile = "04a2s0zlm4garihnm3xl9avf88vjnbvpsyb2ckk3z7ydjq0y3938"; + revision = "3"; + editedCabalFile = "034cd94hiwgci0qhkdkkqmx2igmf1wxmd4b70g6sdlk1kklcn7x1"; libraryHaskellDepends = [ aeson attoparsec base bytestring deepseq ghc-prim hashable primitive scientific text unordered-containers @@ -55006,6 +58549,7 @@ self: { description = "A message-passing library for simplifying network applications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "court" = callPackage @@ -55026,6 +58570,7 @@ self: { description = "Simple and flexible CI system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "coverage" = callPackage @@ -55039,6 +58584,22 @@ self: { description = "Exhaustivity Checking Library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "coya" = callPackage + ({ mkDerivation, base, groups, primitive, refined, semirings }: + mkDerivation { + pname = "coya"; + version = "0.1"; + sha256 = "1s5si8w7s16l6s89gnhzmpyr555njb0gws7xipp017m7130pwgx3"; + libraryHaskellDepends = [ + base groups primitive refined semirings + ]; + description = "Coya monoids"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cparsing" = callPackage @@ -55056,6 +58617,7 @@ self: { description = "A simple C++ parser with preprocessor features. C++ refactorings included."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cpio-conduit" = callPackage @@ -55076,27 +58638,31 @@ self: { description = "Conduit-based CPIO"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cpkg" = callPackage ({ mkDerivation, base, binary, bytestring, bzlib - , composition-prelude, containers, cpphs, dhall, directory - , filemanip, filepath, hashable, hspec, hspec-megaparsec - , http-client, http-client-tls, lzma, megaparsec, microlens, mtl - , network-uri, optparse-applicative, prettyprinter, process - , recursion, tar, temporary, text, zip-archive, zlib + , composition-prelude, containers, cpphs, dhall, dir-traverse + , directory, filemanip, filepath, hashable, hspec, hspec-megaparsec + , http-client, http-client-tls, libarchive, lzma, megaparsec + , microlens, mtl, network-uri, optparse-applicative, prettyprinter + , process, recursion, tar, temporary, text, zip-archive, zlib }: mkDerivation { pname = "cpkg"; - version = "0.1.0.0"; - sha256 = "1hfnmxcwlm6jnh0q1mm0bzi2xirqanz9ygijp3rzngv51m69n35q"; + version = "0.2.3.1"; + sha256 = "0nw1h6zgx3dizx92nwzdf9ny8bzyfa2n28lpv34xvw38fz9yq16w"; + revision = "2"; + editedCabalFile = "15bn9c0zvr8xdhq4hgnq3hhqwvv8pc5a7bdvw58psn7dwhcac6nh"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base binary bytestring bzlib composition-prelude containers dhall - directory filemanip filepath hashable http-client http-client-tls - lzma megaparsec microlens mtl network-uri prettyprinter process - recursion tar temporary text zip-archive zlib + dir-traverse directory filemanip filepath hashable http-client + http-client-tls libarchive lzma megaparsec microlens mtl + network-uri prettyprinter process recursion tar temporary text + zip-archive zlib ]; libraryToolDepends = [ cpphs ]; executableHaskellDepends = [ @@ -55140,6 +58706,7 @@ self: { description = "C++ Foreign Import Generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cppfilt" = callPackage @@ -55210,18 +58777,19 @@ self: { description = "Run random effect using cprng-aes, a crypto pseudo number generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cpsa" = callPackage - ({ mkDerivation, base, containers, parallel }: + ({ mkDerivation, base, containers, directory, parallel }: mkDerivation { pname = "cpsa"; - version = "3.6.1"; - sha256 = "04hvb1z483gh7mb5q1mvsiym8jg29512wnrfdssl8y9c90qhk2sp"; + version = "3.6.3"; + sha256 = "121lrj9zhlcs4r2xghxw8cah705s5k9jkcl9g3mj5ixzki3b2bdm"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; - executableHaskellDepends = [ base containers parallel ]; + executableHaskellDepends = [ base containers directory parallel ]; description = "Symbolic cryptographic protocol analyzer"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -55276,6 +58844,7 @@ self: { description = "Modify the cpu frequency on OpenBSD systems"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cpython" = callPackage @@ -55290,6 +58859,7 @@ self: { description = "Bindings for libpython"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {python34 = null;}; "cql" = callPackage @@ -55315,34 +58885,6 @@ self: { }) {}; "cql-io" = callPackage - ({ mkDerivation, async, auto-update, base, bytestring, containers - , cql, cryptohash, data-default-class, Decimal, exceptions - , hashable, HsOpenSSL, iproute, lens, monad-control, mtl - , mwc-random, network, raw-strings-qq, retry, semigroups, stm - , tasty, tasty-hunit, text, time, tinylog, transformers - , transformers-base, unordered-containers, uuid, vector - }: - mkDerivation { - pname = "cql-io"; - version = "1.0.1.1"; - sha256 = "1kdv00fv21s8vbb3dfgzlgsrr0xxl4p2h655ga3q5cg47by564xc"; - libraryHaskellDepends = [ - async auto-update base bytestring containers cql cryptohash - data-default-class exceptions hashable HsOpenSSL iproute lens - monad-control mtl mwc-random network retry semigroups stm text time - tinylog transformers transformers-base unordered-containers uuid - vector - ]; - testHaskellDepends = [ - base containers cql Decimal iproute mtl raw-strings-qq tasty - tasty-hunit text time tinylog uuid - ]; - description = "Cassandra CQL client"; - license = stdenv.lib.licenses.mpl20; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "cql-io_1_1_0" = callPackage ({ mkDerivation, async, auto-update, base, bytestring, containers , cql, cryptonite, data-default-class, Decimal, exceptions , hashable, HsOpenSSL, iproute, lens, mtl, mwc-random, network @@ -55352,8 +58894,8 @@ self: { }: mkDerivation { pname = "cql-io"; - version = "1.1.0"; - sha256 = "1pqqq31f9xcpn5rykkgrakgl17dm1nnskh1m88fxaynzjj485pkw"; + version = "1.1.1"; + sha256 = "1zg199ifkqh1ba335vqp0jlm4sn5ybjxap4qymb54bylhwj0vzcp"; libraryHaskellDepends = [ async auto-update base bytestring containers cql cryptonite data-default-class exceptions hashable HsOpenSSL iproute lens mtl @@ -55368,6 +58910,7 @@ self: { description = "Cassandra CQL client"; license = stdenv.lib.licenses.mpl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cql-io-tinylog" = callPackage @@ -55380,6 +58923,7 @@ self: { description = "Tinylog integration for cql-io"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cqrs" = callPackage @@ -55409,6 +58953,7 @@ self: { description = "Command-Query Responsibility Segregation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cqrs-example" = callPackage @@ -55431,6 +58976,7 @@ self: { description = "Example for cqrs package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cqrs-memory" = callPackage @@ -55448,6 +58994,7 @@ self: { description = "Memory backend for the cqrs package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cqrs-postgresql" = callPackage @@ -55472,6 +59019,7 @@ self: { description = "PostgreSQL backend for the cqrs package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cqrs-sqlite3" = callPackage @@ -55493,6 +59041,7 @@ self: { description = "SQLite3 backend for the cqrs package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cqrs-test" = callPackage @@ -55510,6 +59059,7 @@ self: { description = "Command-Query Responsibility Segregation Test Support"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cqrs-testkit" = callPackage @@ -55528,6 +59078,7 @@ self: { description = "Command-Query Responsibility Segregation Test Support"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cqrs-types" = callPackage @@ -55559,6 +59110,7 @@ self: { description = "Code review tool"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crack" = callPackage @@ -55572,6 +59124,7 @@ self: { description = "A haskell binding to cracklib"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {crack = null;}; "crackNum" = callPackage @@ -55618,6 +59171,7 @@ self: { description = "A UNIX configuration management library in Haskell"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "craftwerk" = callPackage @@ -55632,6 +59186,7 @@ self: { description = "2D graphics library with integrated TikZ output"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "craftwerk-cairo" = callPackage @@ -55644,6 +59199,7 @@ self: { description = "Cairo backend for Craftwerk"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "craftwerk-gtk" = callPackage @@ -55662,6 +59218,7 @@ self: { description = "Gtk UI for Craftwerk"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crawlchain" = callPackage @@ -55683,6 +59240,7 @@ self: { description = "Simulation user crawl paths"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "craze" = callPackage @@ -55716,6 +59274,7 @@ self: { description = "HTTP Racing Library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crc" = callPackage @@ -55734,6 +59293,7 @@ self: { description = "Implements various Cyclic Redundancy Checks (CRC)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crc16" = callPackage @@ -55746,6 +59306,7 @@ self: { description = "Calculate the crc16-ccitt"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crc16-table" = callPackage @@ -55759,21 +59320,37 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "crc32c" = callPackage + ({ mkDerivation, base, bytestring, c2hs, hspec, hspec-core + , QuickCheck + }: + mkDerivation { + pname = "crc32c"; + version = "0.0.0"; + sha256 = "1y008mi1livbm6rpc4rj4nnrkwqqm7xk92sdf14r5iqwj8nnh209"; + libraryHaskellDepends = [ base bytestring ]; + libraryToolDepends = [ c2hs ]; + testHaskellDepends = [ + base bytestring hspec hspec-core QuickCheck + ]; + description = "Haskell bindings for crc32c"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "crdt" = callPackage ({ mkDerivation, base, binary, bytestring, containers, Diff , hashable, mtl, network-info, safe, stm, time, vector }: mkDerivation { pname = "crdt"; - version = "10.3"; - sha256 = "0hjk66ygs9kr6mxzqnxgbbh9ww2f2xdshk7gq35jlrvhc3csfqsp"; + version = "10.4"; + sha256 = "182lnbci8vdp7mc6mihap00ffv59xdnjhbbbx5pwjjhxwpavfvv6"; libraryHaskellDepends = [ base binary bytestring containers Diff hashable mtl network-info safe stm time vector ]; description = "Conflict-free replicated data types"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "creatur" = callPackage @@ -55800,6 +59377,7 @@ self: { description = "Framework for artificial life experiments"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "credential-store" = callPackage @@ -55820,6 +59398,7 @@ self: { description = "Library to access secure credential storage providers"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "credentials" = callPackage @@ -55886,6 +59465,7 @@ self: { description = "First-order, linear-chain conditional random fields"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crf-chain1-constrained" = callPackage @@ -55906,6 +59486,7 @@ self: { description = "First-order, constrained, linear-chain conditional random fields"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crf-chain2-generic" = callPackage @@ -55924,6 +59505,7 @@ self: { description = "Second-order, generic, constrained, linear conditional random fields"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crf-chain2-tiers" = callPackage @@ -55943,6 +59525,7 @@ self: { description = "Second-order, tiered, constrained, linear conditional random fields"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "critbit" = callPackage @@ -55972,6 +59555,7 @@ self: { description = "Crit-bit maps and sets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "criterion" = callPackage @@ -55985,8 +59569,8 @@ self: { }: mkDerivation { pname = "criterion"; - version = "1.5.3.0"; - sha256 = "17q4dj9sl9dp2gyknycc9kdp5y6ak4vlmbfqp1w0fwfy76aaj0mn"; + version = "1.5.5.0"; + sha256 = "1a5i9ghy4hr3355ml4b0rc3b94fa2ijfflh398ncn9sw1ivmx8pa"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -56009,40 +59593,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "criterion_1_5_4_0" = callPackage - ({ mkDerivation, aeson, ansi-wl-pprint, base, base-compat - , base-compat-batteries, binary, bytestring, cassava, code-page - , containers, criterion-measurement, deepseq, directory, exceptions - , filepath, Glob, HUnit, js-flot, js-jquery, microstache, mtl - , mwc-random, optparse-applicative, parsec, QuickCheck, statistics - , tasty, tasty-hunit, tasty-quickcheck, text, time, transformers - , transformers-compat, vector, vector-algorithms + "criterion-compare" = callPackage + ({ mkDerivation, base, bytestring, cassava, Chart, Chart-diagrams + , clay, colour, containers, data-default, filepath, lens, lucid + , optparse-applicative, text, vector }: mkDerivation { - pname = "criterion"; - version = "1.5.4.0"; - sha256 = "1yh4dk4hi6d3jz2jmn8jc9i6jqb02w63g2rq3aagi16qfyanlqbg"; - isLibrary = true; + pname = "criterion-compare"; + version = "0.1.0.0"; + sha256 = "034cm3hap9x6cwp44hrd03b09mifcm076a9pn3lgql5ardx91yl7"; + isLibrary = false; isExecutable = true; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - aeson ansi-wl-pprint base base-compat-batteries binary bytestring - cassava code-page containers criterion-measurement deepseq - directory exceptions filepath Glob js-flot js-jquery microstache - mtl mwc-random optparse-applicative parsec statistics text time - transformers transformers-compat vector vector-algorithms - ]; executableHaskellDepends = [ - base base-compat-batteries optparse-applicative + base bytestring cassava Chart Chart-diagrams clay colour containers + data-default filepath lens lucid optparse-applicative text vector ]; - testHaskellDepends = [ - aeson base base-compat base-compat-batteries bytestring deepseq - directory HUnit QuickCheck statistics tasty tasty-hunit - tasty-quickcheck vector - ]; - description = "Robust, reliable performance measurement and analysis"; + description = "A simple tool for visualising differences in Criterion benchmark results"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "criterion-measurement" = callPackage @@ -56051,8 +59620,8 @@ self: { }: mkDerivation { pname = "criterion-measurement"; - version = "0.1.1.0"; - sha256 = "0mmbhajphlg32gqxr1lf0w12jkw0qrpjabvx92zpv4ka71lpgy7m"; + version = "0.1.2.0"; + sha256 = "03p71mfnnfjx9dnf0yhrhdcr30zc2nwn5f8lql48cabccpd3793l"; libraryHaskellDepends = [ aeson base base-compat binary containers deepseq vector ]; @@ -56086,6 +59655,7 @@ self: { description = "Enhancement of the \"criterion\" benchmarking library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "criterion-to-html" = callPackage @@ -56105,6 +59675,7 @@ self: { description = "Convert criterion output to HTML reports"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "criu-rpc" = callPackage @@ -56122,6 +59693,7 @@ self: { description = "CRIU RPC client"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "criu-rpc-types" = callPackage @@ -56136,6 +59708,7 @@ self: { description = "Criu RPC protocol buffer types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) protobuf;}; "crjdt-haskell" = callPackage @@ -56152,6 +59725,7 @@ self: { description = "A Conflict-Free Replicated JSON Datatype for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crockford" = callPackage @@ -56182,6 +59756,7 @@ self: { description = "An offline renderer supporting ray tracing and photon mapping"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cron" = callPackage @@ -56206,6 +59781,7 @@ self: { description = "Cron datatypes and Attoparsec parser"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cron-compat" = callPackage @@ -56228,6 +59804,7 @@ self: { description = "Cron datatypes and Attoparsec parser"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cruncher-types" = callPackage @@ -56241,6 +59818,7 @@ self: { description = "Request and Response types for Eval.so's API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crunghc" = callPackage @@ -56260,6 +59838,7 @@ self: { description = "A runghc replacement with transparent caching"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crypt-sha512" = callPackage @@ -56334,6 +59913,7 @@ self: { description = "Generic cryptography cipher benchmarks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crypto-cipher-tests" = callPackage @@ -56387,6 +59967,7 @@ self: { description = "An educational tool for studying classical cryptography schemes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crypto-conduit" = callPackage @@ -56409,6 +59990,7 @@ self: { description = "Conduit interface for cryptographic operations (from crypto-api)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crypto-enigma" = callPackage @@ -56449,6 +60031,7 @@ self: { description = "Multihash library on top of cryptonite crypto library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crypto-numbers" = callPackage @@ -56575,6 +60158,7 @@ self: { description = "A random effect using crypto-random"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crypto-rng" = callPackage @@ -56606,6 +60190,7 @@ self: { description = "A simple high level encryption interface based on cryptonite"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crypto-totp" = callPackage @@ -56656,6 +60241,7 @@ self: { description = "Haskell wrapper for the cryptocompare API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cryptoconditions" = callPackage @@ -56680,6 +60266,7 @@ self: { description = "Interledger Crypto-Conditions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cryptohash" = callPackage @@ -56783,8 +60370,8 @@ self: { pname = "cryptohash-sha256"; version = "0.11.101.0"; sha256 = "1p85vajcgw9hmq8zsz9krzx0vxh7aggwbg5w9ws8w97avcsn8xaj"; - revision = "2"; - editedCabalFile = "0m5h68xm60wrjv88gg6cn1q5qki5674mxl4d6sn3vxpbcj9b5417"; + revision = "3"; + editedCabalFile = "1arhz4y792kx439s2zv9x291gvvl2zxcfx9sq0nxsjlz7c3hpyp1"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base bytestring ]; @@ -56826,8 +60413,8 @@ self: { pname = "cryptoids"; version = "0.5.1.0"; sha256 = "0ai7hg4r944hck9vq2ffwwjsxp3mjfvxwhfr8b8765n1bh86i466"; - revision = "3"; - editedCabalFile = "0pjdc90i3qyzxc289kjvn90hnn5xjjzjpgnb24iwqj6ik9asi86g"; + revision = "4"; + editedCabalFile = "017fm7rcls5z2sjx4117h9bcc0szh2vs89gj2d8510vajq70yvwq"; libraryHaskellDepends = [ base binary bytestring cryptoids-class cryptoids-types cryptonite directory exceptions filepath memory @@ -56857,8 +60444,8 @@ self: { pname = "cryptoids-types"; version = "1.0.0"; sha256 = "0dhv92hdydhhgwgdihl3wpiyxl10szrgfnb68ygn07xxhmmfc3hf"; - revision = "1"; - editedCabalFile = "0fy6fxzaimgi0nrplzdgi0s26cjz2nrv7y5gdnk0z6k3jd1x5qgb"; + revision = "2"; + editedCabalFile = "0nszxjdf9zd7dh4ar2vbnjs8a5awbqh2m3p0pvsypgiflcrlp9wn"; libraryHaskellDepends = [ aeson base binary deepseq hashable http-api-data path-pieces ]; @@ -56868,26 +60455,24 @@ self: { "cryptol" = callPackage ({ mkDerivation, alex, ansi-terminal, array, base, base-compat - , blaze-html, bytestring, containers, criterion, deepseq, directory - , filepath, gitrev, GraphSCC, happy, haskeline, heredoc - , monad-control, monadLib, mtl, panic, pretty, process, random, sbv - , simple-smt, strict, text, tf-random, time, transformers - , transformers-base + , blaze-html, bytestring, containers, criterion, cryptohash-sha1 + , deepseq, directory, filepath, gitrev, GraphSCC, happy, haskeline + , heredoc, monad-control, monadLib, mtl, panic, pretty, process + , random, sbv, simple-smt, strict, text, tf-random, time + , transformers, transformers-base }: mkDerivation { pname = "cryptol"; - version = "2.6.0"; - sha256 = "0hlgff177s8lhv3s90cmqc3x2xr60g3vxvc7p1mhzb354zxbp2jz"; - revision = "1"; - editedCabalFile = "1smkc0gxbj1vl626iiy56aarx6rcnjzqprqzh443222samrrzr25"; + version = "2.7.0"; + sha256 = "14yk7qs7laxy5ranx9m911k1lxc4vh4pp83ywmsg1kf0cdfvmij6"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - array base base-compat bytestring containers deepseq directory - filepath gitrev GraphSCC heredoc monad-control monadLib mtl panic - pretty process random sbv simple-smt strict text tf-random time - transformers-base + array base base-compat bytestring containers cryptohash-sha1 + deepseq directory filepath gitrev GraphSCC heredoc monad-control + monadLib mtl panic pretty process random sbv simple-smt strict text + tf-random time transformers-base ]; libraryToolDepends = [ alex happy ]; executableHaskellDepends = [ @@ -56900,6 +60485,7 @@ self: { description = "Cryptol: The Language of Cryptography"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cryptonite" = callPackage @@ -56924,6 +60510,29 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "cryptonite_0_26" = callPackage + ({ mkDerivation, base, basement, bytestring, deepseq, gauge + , ghc-prim, integer-gmp, memory, random, tasty, tasty-hunit + , tasty-kat, tasty-quickcheck + }: + mkDerivation { + pname = "cryptonite"; + version = "0.26"; + sha256 = "1pdf0zzbfr0cdzls6bab6f6kpx08wa8c2qc1zfqzv5ajapgr0wy4"; + libraryHaskellDepends = [ + base basement bytestring deepseq ghc-prim integer-gmp memory + ]; + testHaskellDepends = [ + base bytestring memory tasty tasty-hunit tasty-kat tasty-quickcheck + ]; + benchmarkHaskellDepends = [ + base bytestring deepseq gauge memory random + ]; + description = "Cryptography Primitives sink"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "cryptonite-conduit" = callPackage ({ mkDerivation, base, bytestring, conduit, conduit-combinators , conduit-extra, cryptonite, exceptions, memory, resourcet, tasty @@ -56970,15 +60579,15 @@ self: { "cryptostore" = callPackage ({ mkDerivation, asn1-encoding, asn1-types, base, basement , bytestring, cryptonite, hourglass, memory, pem, tasty - , tasty-hunit, tasty-quickcheck, x509 + , tasty-hunit, tasty-quickcheck, x509, x509-validation }: mkDerivation { pname = "cryptostore"; - version = "0.1.0.0"; - sha256 = "1pq53k0dx0akwp1rkgadyb256w0lds8iq7yn2xb217nyjyghyrqz"; + version = "0.2.0.0"; + sha256 = "1j7pk42mivwlcrjyrjdkldidhsv3k5myqq0ld8sksgkbkn1k1z7w"; libraryHaskellDepends = [ asn1-encoding asn1-types base basement bytestring cryptonite - hourglass memory pem x509 + hourglass memory pem x509 x509-validation ]; testHaskellDepends = [ asn1-types base bytestring cryptonite hourglass memory pem tasty @@ -57006,6 +60615,7 @@ self: { description = "Bindings for Cryptsy cryptocurrency exchange API"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "crystalfontz" = callPackage @@ -57018,6 +60628,7 @@ self: { description = "Control Crystalfontz LCD displays"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "csa" = callPackage @@ -57034,6 +60645,8 @@ self: { ]; description = "Connection-set algebra (CSA) library"; license = "GPL"; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cse-ghc-plugin" = callPackage @@ -57046,6 +60659,7 @@ self: { description = "Compiler plugin for common subexpression elimination"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "csg" = callPackage @@ -57078,6 +60692,7 @@ self: { description = "Analytical CSG (Constructive Solid Geometry) library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "csound-catalog" = callPackage @@ -57086,14 +60701,13 @@ self: { }: mkDerivation { pname = "csound-catalog"; - version = "0.7.2"; - sha256 = "0c16h2m8zkpyjbclvqpd8kq46ciw6qwc94d6v2d66c3g0ixx53vx"; + version = "0.7.3"; + sha256 = "18xn06drza3pwyhidlkr478hvn8ss93f3f30wmfrh79ngabip4kp"; libraryHaskellDepends = [ base csound-expression csound-sampler sharc-timbre transformers ]; description = "a gallery of Csound instruments"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "csound-expression" = callPackage @@ -57206,6 +60820,7 @@ self: { description = "A command line type checker for CSPM files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cspretty" = callPackage @@ -57218,6 +60833,7 @@ self: { description = "AST and pretty printer for CSPm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "css" = callPackage @@ -57230,6 +60846,7 @@ self: { description = "Minimal monadic CSS DSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "css-syntax" = callPackage @@ -57318,6 +60935,7 @@ self: { description = "A flexible, fast, enumerator-based CSV parser library for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "csv-nptools" = callPackage @@ -57336,6 +60954,7 @@ self: { description = "A collection of CSV tools"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "csv-table" = callPackage @@ -57381,6 +61000,7 @@ self: { description = "Binding to the Google ctemplate library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {ctemplate = null;}; "ctkl" = callPackage @@ -57393,6 +61013,7 @@ self: { description = "packaging of Manuel Chakravarty's CTK Light for Hackage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ctpl" = callPackage @@ -57401,6 +61022,8 @@ self: { pname = "ctpl"; version = "0.1.0.4"; sha256 = "03vcy5qb4wg1wpqcpnr33nwfmyfq3fk01ga3vawh6alppingbvi9"; + revision = "1"; + editedCabalFile = "02wisimqzgjbpaw95fvmwqq97bh3zix710k672gcdbkqsx9x06kn"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ array base chatty-text chatty-utils ]; @@ -57408,6 +61031,7 @@ self: { description = "A programming language for text modification"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ctrie" = callPackage @@ -57449,6 +61073,7 @@ self: { description = "Cubic DSL for 3D printing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cubical" = callPackage @@ -57470,26 +61095,6 @@ self: { }) {}; "cubicbezier" = callPackage - ({ mkDerivation, base, containers, fast-math, integration, matrices - , microlens, microlens-mtl, microlens-th, mtl, parsec, tasty - , tasty-hunit, vector, vector-space - }: - mkDerivation { - pname = "cubicbezier"; - version = "0.6.0.5"; - sha256 = "0n17nr20skrds3b9gzy0v86jgnqz8zbds796n9cl0z6rh9bq5jf5"; - revision = "1"; - editedCabalFile = "0dii4z0cl1ylvay1n5z90d6rbvnk9k30q81i6izhgxbgdawwhh33"; - libraryHaskellDepends = [ - base containers fast-math integration matrices microlens - microlens-mtl microlens-th mtl vector vector-space - ]; - testHaskellDepends = [ base parsec tasty tasty-hunit ]; - description = "Efficient manipulating of 2D cubic bezier curves"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "cubicbezier_0_6_0_6" = callPackage ({ mkDerivation, base, containers, fast-math, integration, matrices , microlens, microlens-mtl, microlens-th, mtl, parsec, tasty , tasty-hunit, vector, vector-space @@ -57505,7 +61110,6 @@ self: { testHaskellDepends = [ base parsec tasty tasty-hunit ]; description = "Efficient manipulating of 2D cubic bezier curves"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "cubicspline" = callPackage @@ -57549,6 +61153,28 @@ self: { description = "3D Yampa/GLUT Puzzle Game"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "cuckoo" = callPackage + ({ mkDerivation, base, bytestring, criterion, cryptonite, doctest + , hashable, memory, primitive, QuickCheck, random, stopwatch + , vector + }: + mkDerivation { + pname = "cuckoo"; + version = "0.2.0.1"; + sha256 = "1q070hzrsm0f1lfxnsk4jmmb9pay98522k2lqncvzg09fm2a687j"; + libraryHaskellDepends = [ base memory primitive random vector ]; + testHaskellDepends = [ + base bytestring cryptonite doctest hashable memory stopwatch + ]; + benchmarkHaskellDepends = [ + base bytestring criterion memory QuickCheck stopwatch + ]; + doHaddock = false; + description = "Haskell Implementation of Cuckoo Filters"; + license = stdenv.lib.licenses.bsd3; }) {}; "cuckoo-filter" = callPackage @@ -57583,8 +61209,10 @@ self: { }: mkDerivation { pname = "cuda"; - version = "0.10.0.0"; - sha256 = "17l482fnackx4081mxax0dx0bsaqbbg4rxy4zmi5iv5q6f6v37x7"; + version = "0.10.1.0"; + sha256 = "10lyyc652ic3m4r5agszpv2r99y9fnsdwahb5pd4qiga770v45vp"; + revision = "1"; + editedCabalFile = "0y08nr4p6rad1393l0373s4ivq2zvgm8xv0axh5bi6n95j2khkqz"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal directory filepath ]; @@ -57609,6 +61237,7 @@ self: { description = "Bindings to the CUDD binary decision diagrams library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {cudd = null;}; "cue-sheet" = callPackage @@ -57677,22 +61306,37 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "curl-cookiejar" = callPackage + ({ mkDerivation, attoparsec, base, bytestring, conduit + , conduit-extra, http-client, time + }: + mkDerivation { + pname = "curl-cookiejar"; + version = "0.1.0.0"; + sha256 = "0fflf6p1qnr7h4dhpv8d1pm1whfphz1dva2yk6s2wk8dv6wbbdfj"; + libraryHaskellDepends = [ + attoparsec base bytestring conduit conduit-extra http-client time + ]; + description = "Parsing and pretty-printing of cURL/wget cookie jars"; + license = stdenv.lib.licenses.mit; + }) {}; + "curl-runnings" = callPackage ({ mkDerivation, aeson, base, bytestring, case-insensitive, cmdargs - , directory, hspec, hspec-expectations, http-conduit, http-types - , megaparsec, pretty-simple, regex-posix, tar, text + , connection, directory, hspec, hspec-expectations, http-client-tls + , http-conduit, megaparsec, pretty-simple, regex-posix, tar, text , unordered-containers, vector, yaml, zlib }: mkDerivation { pname = "curl-runnings"; - version = "0.9.2"; - sha256 = "1xslp7zg6l3adljac6iga9c421cf0hab9zi4dyjbkws76imh1d0b"; + version = "0.11.0"; + sha256 = "18vbb0k9gfi528za6wdw4m8997ks5s6vlwz4c9rjziq5ab0xdcfr"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base bytestring case-insensitive directory hspec - hspec-expectations http-conduit http-types megaparsec pretty-simple - regex-posix text unordered-containers vector yaml + aeson base bytestring case-insensitive connection directory hspec + hspec-expectations http-client-tls http-conduit megaparsec + pretty-simple regex-posix text unordered-containers vector yaml ]; executableHaskellDepends = [ aeson base bytestring cmdargs directory http-conduit tar text zlib @@ -57700,7 +61344,6 @@ self: { testHaskellDepends = [ base directory hspec hspec-expectations ]; description = "A framework for declaratively writing curl based API tests"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "curlhs" = callPackage @@ -57775,6 +61418,7 @@ self: { description = "Typesafe currency conversion"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "current-locale" = callPackage @@ -57814,7 +61458,6 @@ self: { testHaskellDepends = [ base Cabal filepath mtl ]; description = "Functions for manipulating Curry programs"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "curry-frontend" = callPackage @@ -57841,6 +61484,7 @@ self: { description = "Compile the functional logic language Curry to several intermediate formats"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "curryer" = callPackage @@ -57892,6 +61536,7 @@ self: { description = "Terminal tool for viewing tabular data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cursor" = callPackage @@ -57900,8 +61545,8 @@ self: { }: mkDerivation { pname = "cursor"; - version = "0.0.0.1"; - sha256 = "0iq83v3yp7rj1fn82qkwakxi180nri50irzf8p8bzi558c6b3bmr"; + version = "0.1.0.1"; + sha256 = "1ipwk9lnazhkzy4fxdc4y0hqa1vdlgda43jdjnp9j00q5fgrhldz"; libraryHaskellDepends = [ base containers microlens text validity validity-containers validity-text @@ -57910,6 +61555,16 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "cursor-brick" = callPackage + ({ mkDerivation, base, brick, cursor, text }: + mkDerivation { + pname = "cursor-brick"; + version = "0.1.0.0"; + sha256 = "018i8yrdcj69qf00vz1sx7is5cx1a7vn5b8kr9b226n7vxlr3nzd"; + libraryHaskellDepends = [ base brick cursor text ]; + license = stdenv.lib.licenses.mit; + }) {}; + "cursor-gen" = callPackage ({ mkDerivation, base, containers, cursor, genvalidity , genvalidity-containers, genvalidity-hspec @@ -57918,8 +61573,8 @@ self: { }: mkDerivation { pname = "cursor-gen"; - version = "0.0.0.0"; - sha256 = "10jxxy3dx2gsddmq4l95ddim4cj85l7l76lamhgqlhx6zw4j7d52"; + version = "0.1.0.0"; + sha256 = "1f9s1da9vf8sr27aidk3rgvkn594pv94w4gqqyi6ikl5dx8yzqxn"; libraryHaskellDepends = [ base containers cursor genvalidity genvalidity-containers genvalidity-text QuickCheck text @@ -57930,7 +61585,6 @@ self: { ]; description = "Generators for Purely Functional Cursors"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "curve25519" = callPackage @@ -57950,6 +61604,7 @@ self: { description = "Fast implementations of the curve25519 elliptic curve primitives"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "curves" = callPackage @@ -57967,6 +61622,7 @@ self: { description = "Library for drawing curve based images"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cusolver" = callPackage @@ -58013,6 +61669,7 @@ self: { description = "An enhanced prelude, serving as a foundation for my projects"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "cutter" = callPackage @@ -58069,8 +61726,8 @@ self: { }: mkDerivation { pname = "cyclotomic"; - version = "0.5.1"; - sha256 = "1zazdzsiv42p244f0js2fj81l6wkv0s46rfcl9hyabzcq6x9h87p"; + version = "1.0"; + sha256 = "15mp9wi83anv1vxc6649agak4zn4fqyh2vik5f983269h4xsv12j"; libraryHaskellDepends = [ arithmoi base containers ]; testHaskellDepends = [ base HUnit QuickCheck test-framework test-framework-hunit @@ -58078,7 +61735,6 @@ self: { ]; description = "A subfield of the complex numbers for exact calculation"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "cypher" = callPackage @@ -58099,14 +61755,15 @@ self: { description = "Haskell bindings for the neo4j \"cypher\" query language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "czipwith" = callPackage ({ mkDerivation, base, template-haskell, transformers }: mkDerivation { pname = "czipwith"; - version = "1.0.1.1"; - sha256 = "0hs296mwx62alp9fkpkhw9jsjqlygagvb911nx22b0pgyiwqa52a"; + version = "1.0.1.2"; + sha256 = "17zf2blgjp47dahjcprkpymg9kb1ll6386pkr109gjr78f261gs1"; libraryHaskellDepends = [ base template-haskell ]; testHaskellDepends = [ base transformers ]; description = "CZipWith class and deriving via TH"; @@ -58142,6 +61799,7 @@ self: { description = "Permissively licensed D-Bus client library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "d10" = callPackage @@ -58173,7 +61831,7 @@ self: { executableHaskellDepends = [ base c-storable-deriving vect Win32 ]; description = "A raw binding for the directX 11"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {D3DCompiler = null; d3d11 = null; d3dx11 = null; d3dxof = null; dxgi = null; dxguid = null;}; @@ -58187,6 +61845,7 @@ self: { description = "Declarative visualization on a web browser with DSL approach"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "daemonize-doublefork" = callPackage @@ -58244,6 +61903,7 @@ self: { description = "Compile-time, type-safe directed acyclic graphs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "damnpacket" = callPackage @@ -58315,6 +61975,7 @@ self: { description = "Dao is meta programming language with its own built-in interpreted language, designed with artificial intelligence applications in mind"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dapi" = callPackage @@ -58334,6 +61995,7 @@ self: { description = "Prints a series of dates"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "darcs" = callPackage @@ -58402,6 +62064,7 @@ self: { description = "Comparative benchmark suite for darcs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "darcs-beta" = callPackage @@ -58434,6 +62097,7 @@ self: { description = "a distributed, interactive, smart revision control system"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) curl;}; "darcs-buildpackage" = callPackage @@ -58453,6 +62117,7 @@ self: { description = "Tools to help manage Debian packages with Darcs"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "darcs-cabalized" = callPackage @@ -58475,6 +62140,7 @@ self: { description = "David's Advanced Version Control System"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) curl; inherit (pkgs) ncurses; inherit (pkgs) zlib;}; @@ -58496,6 +62162,7 @@ self: { description = "Import/export git fast-import streams to/from darcs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "darcs-graph" = callPackage @@ -58515,6 +62182,7 @@ self: { description = "Generate graphs of darcs repository activity"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "darcs-monitor" = callPackage @@ -58533,6 +62201,7 @@ self: { description = "Darcs repository monitor (sends email)"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "darcs-scripts" = callPackage @@ -58564,6 +62233,7 @@ self: { description = "Outputs dependencies of darcs patches in dot format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "darcsden" = callPackage @@ -58592,6 +62262,7 @@ self: { description = "Darcs repository UI and hosting/collaboration app (hub.darcs.net branch)."; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "darcswatch" = callPackage @@ -58615,6 +62286,7 @@ self: { description = "Track application of Darcs patches"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "darkplaces-demo" = callPackage @@ -58643,6 +62315,7 @@ self: { description = "Utility and parser for DarkPlaces demo files"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "darkplaces-rcon" = callPackage @@ -58660,6 +62333,7 @@ self: { description = "Darkplaces rcon client library"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "darkplaces-rcon-util" = callPackage @@ -58690,6 +62364,7 @@ self: { description = "Darplaces rcon utility"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "darkplaces-text" = callPackage @@ -58708,6 +62383,7 @@ self: { description = "Parser for darkplaces colorful text"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dash-haskell" = callPackage @@ -58729,6 +62405,7 @@ self: { description = "Convert package Haddock to Dash docsets (IDE docs)"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-accessor" = callPackage @@ -58742,6 +62419,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "data-accessor_0_2_3" = callPackage + ({ mkDerivation, array, base, containers, transformers }: + mkDerivation { + pname = "data-accessor"; + version = "0.2.3"; + sha256 = "0f1yvvzr24qgrx6k2g101s7vp012802iw6kli903n28nig93yn0x"; + libraryHaskellDepends = [ array base containers transformers ]; + description = "Utilities for accessing and manipulating fields of records"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "data-accessor-monadLib" = callPackage ({ mkDerivation, base, data-accessor, monadLib }: mkDerivation { @@ -58766,6 +62455,7 @@ self: { description = "Use Accessor to access state in monads-fd State monad class"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-accessor-monads-tf" = callPackage @@ -58780,6 +62470,7 @@ self: { description = "Use Accessor to access state in monads-tf State monad type family"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-accessor-mtl" = callPackage @@ -58839,6 +62530,7 @@ self: { description = "Utilities for accessing and comparing types based on so called bases - representations with limited polymorphism"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-basic" = callPackage @@ -58863,6 +62555,7 @@ self: { description = "A database library with a focus on ease of use, type safety and useful error messages"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-binary-ieee754" = callPackage @@ -58910,6 +62603,7 @@ self: { description = "Category theory"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-cell" = callPackage @@ -58934,6 +62628,7 @@ self: { description = "Library for checking and normalization of data (e.g. from web forms)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-checked" = callPackage @@ -58951,13 +62646,35 @@ self: { ({ mkDerivation, base, deepseq, QuickCheck }: mkDerivation { pname = "data-clist"; - version = "0.1.2.2"; - sha256 = "1aibiml1vs983lbxq18zcn9h11k3zjrxpsx4rxssqdjwni1kg9yi"; + version = "0.1.2.3"; + sha256 = "1mwfhnmvi3vicyjzl33m6pcipi2v887zazyqxygq258ndd010s9m"; libraryHaskellDepends = [ base deepseq QuickCheck ]; description = "Simple functional ring type"; license = stdenv.lib.licenses.bsd3; }) {}; + "data-combinator-gen" = callPackage + ({ mkDerivation, base, template-haskell }: + mkDerivation { + pname = "data-combinator-gen"; + version = "0.1.0.4"; + sha256 = "0f1qw5rk9x3yd7nfhkwmpig7a6dc46yzl78fi8aaxpwqbsazpkjy"; + libraryHaskellDepends = [ base template-haskell ]; + description = "Generate a special combinator from any data type"; + license = stdenv.lib.licenses.mit; + }) {}; + + "data-compat" = callPackage + ({ mkDerivation, base, constraints }: + mkDerivation { + pname = "data-compat"; + version = "0.1.0.0"; + sha256 = "0j9gx0sg2bwqigw9w3kg286bm6imqa35jkgkzagdjg9mfkgy6kwy"; + libraryHaskellDepends = [ base constraints ]; + description = "Define Backwards Compatibility Schemes for Arbitrary Data"; + license = stdenv.lib.licenses.mit; + }) {}; + "data-concurrent-queue" = callPackage ({ mkDerivation, base, stm }: mkDerivation { @@ -58968,6 +62685,7 @@ self: { description = "A Library for directional queues"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-construction" = callPackage @@ -58980,6 +62698,7 @@ self: { description = "Data construction abstractions including Constructor, Destructor, Maker, Destroyer, Producer and Consumer"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-constructors" = callPackage @@ -59010,6 +62729,7 @@ self: { description = "a cyclic doubly linked list"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-default" = callPackage @@ -59229,6 +62949,7 @@ self: { description = "Space-efficient and privacy-preserving data dispersal algorithms"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-diverse" = callPackage @@ -59297,6 +63018,7 @@ self: { description = "Consistent set of utility functions for Maybe, Either, List and Monoids"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-elf" = callPackage @@ -59320,6 +63042,8 @@ self: { pname = "data-embed"; version = "0.1.0.0"; sha256 = "1pppd4w0sfb71i7ppqcp71rqx36b30g1dj468d2hb6fvnnhm830q"; + revision = "2"; + editedCabalFile = "0c51kfsyl7nzizx6awx8m0m4z2rjz8zn8ivl4869fgqdjkrmw8my"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -59332,7 +63056,6 @@ self: { ]; description = "Embed files and other binary blobs inside executables without Template Haskell"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "data-emoticons" = callPackage @@ -59345,6 +63068,7 @@ self: { description = "Combinator emoticons: data-aviary in the flavor of emoticons"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-endian" = callPackage @@ -59397,6 +63121,7 @@ self: { description = "A type safe file path data structure"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-files-gen" = callPackage @@ -59444,6 +63169,7 @@ self: { description = "Finite totally ordered sets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-fin-simple" = callPackage @@ -59457,6 +63183,7 @@ self: { description = "Simple integral finite set"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-fix" = callPackage @@ -59502,6 +63229,7 @@ self: { description = "An efficient data type for sets of flags"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-foldapp" = callPackage @@ -59521,11 +63249,12 @@ self: { pname = "data-forest"; version = "0.1.0.7"; sha256 = "1q41cwinvv0ys260f1f7005403pvz1gbwn0d6cnwh8b7rlgp8f4j"; + revision = "1"; + editedCabalFile = "1kwvjmbchz6nv770x81q7f8i3blfzzifhjqww702c8zbnnafzgar"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base doctest ]; description = "A simple multi-way tree data structure"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "data-fresh" = callPackage @@ -59610,8 +63339,8 @@ self: { pname = "data-interval"; version = "1.3.0"; sha256 = "1i00cci7lzvkxqd1l8dacn7i0mrnccbs23mdciz6nrhlvlgsfiy9"; - revision = "2"; - editedCabalFile = "16frb3rlkca5z30lwhw8vpwi4g1y42scvg8v41lvih90jq82pg2s"; + revision = "3"; + editedCabalFile = "0jfqgijikf11lqsvbj0rc2b9n2ym7gn4mhk5xpsginp0vy3bgpbp"; libraryHaskellDepends = [ base containers deepseq extended-reals hashable lattices ]; @@ -59622,6 +63351,7 @@ self: { description = "Interval datatype, interval arithmetic and interval-based containers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-inttrie" = callPackage @@ -59645,6 +63375,7 @@ self: { description = "Write-once variables with concurrency support"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-json-token" = callPackage @@ -59676,6 +63407,7 @@ self: { description = "Sculpt mutable recursive data with reference equality; bake it using a data kiln into an immutable lazy structure"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-layer" = callPackage @@ -59688,6 +63420,7 @@ self: { description = "Data layering utilities. Layer is a data-type which wrapps other one, but keeping additional information. If you want to access content of simple newtype object, use Lens.Wrapper instead."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-layout" = callPackage @@ -59715,6 +63448,7 @@ self: { description = "Used to be Haskell 98 Lenses"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-lens-fd" = callPackage @@ -59729,6 +63463,7 @@ self: { description = "Lenses"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-lens-ixset" = callPackage @@ -59742,6 +63477,7 @@ self: { description = "A Lens for IxSet"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-lens-light" = callPackage @@ -59765,6 +63501,7 @@ self: { description = "Utilities for Data.Lens"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-list-sequences" = callPackage @@ -59799,6 +63536,7 @@ self: { description = "Data.Map with multiple, unique keys"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-memocombinators" = callPackage @@ -59865,6 +63603,7 @@ self: { description = "Data types for named entities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-nat" = callPackage @@ -59877,6 +63616,7 @@ self: { description = "data Nat = Zero | Succ Nat"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-object" = callPackage @@ -59889,6 +63629,7 @@ self: { description = "Represent hierachichal structures, called objects in JSON. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-object-json" = callPackage @@ -59906,6 +63647,7 @@ self: { description = "Serialize JSON data to/from Haskell using the data-object library. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-object-yaml" = callPackage @@ -59925,6 +63667,7 @@ self: { description = "Serialize data to and from Yaml files (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-or" = callPackage @@ -59972,6 +63715,7 @@ self: { description = "Prettyprint and compare Data values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-quotientref" = callPackage @@ -59984,6 +63728,7 @@ self: { description = "Reference cells that need two independent indices to be accessed"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-r-tree" = callPackage @@ -60003,6 +63748,7 @@ self: { description = "R-Tree is a spatial data structure similar to Quadtrees or B-Trees"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-ref" = callPackage @@ -60041,6 +63787,7 @@ self: { description = "Common Sub-Expression Elimination for graphs generated by Data.Reify."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-repr" = callPackage @@ -60053,6 +63800,7 @@ self: { description = "Alternative to Show data printing utility"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-result" = callPackage @@ -60065,6 +63813,7 @@ self: { description = "Data types for returning results distinguishable by types"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-rev" = callPackage @@ -60077,6 +63826,7 @@ self: { description = "A typeclass for reversing order of contents"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-rope" = callPackage @@ -60089,6 +63839,7 @@ self: { description = "Ropes, an alternative to (Byte)Strings"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-rtuple" = callPackage @@ -60101,6 +63852,7 @@ self: { description = "Recursive tuple data structure. It is very usefull when implementing some lo-level operations, allowing to traverse different elements using Haskell's type classes."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-serializer" = callPackage @@ -60133,6 +63885,7 @@ self: { description = "Profiling of data structures"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-spacepart" = callPackage @@ -60145,6 +63898,7 @@ self: { description = "Deprecated. Now called \"spacepart\". Space partitioning data structures."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-standards" = callPackage @@ -60157,6 +63911,7 @@ self: { description = "A collection of standards representable by simple data types"; license = stdenv.lib.licenses.mpl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-stm32" = callPackage @@ -60210,6 +63965,7 @@ self: { description = "Type safe, in-memory dictionary with multidimensional keys"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-stringmap" = callPackage @@ -60228,7 +63984,6 @@ self: { ]; description = "An efficient implementation of maps from strings to arbitrary values"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "data-structure-inferrer" = callPackage @@ -60250,6 +64005,7 @@ self: { description = "Program that infers the fastest data structure available for your program"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-sword" = callPackage @@ -60357,6 +64113,7 @@ self: { description = "Basic type wrangling types and classes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-util" = callPackage @@ -60369,6 +64126,7 @@ self: { description = "utilities for handle data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "data-variant" = callPackage @@ -60381,6 +64139,35 @@ self: { description = "A variant data type, useful for modeling dynamically-typed programming languages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "database-id-class" = callPackage + ({ mkDerivation, aeson, base }: + mkDerivation { + pname = "database-id-class"; + version = "0.1.0.1"; + sha256 = "0zm053ll1vwd5gdwq4p3zpl9f010q894nk3djaad3ry4y2mirsc4"; + libraryHaskellDepends = [ aeson base ]; + description = "Class for types with a database id"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "database-id-groundhog" = callPackage + ({ mkDerivation, aeson, base, database-id-class, groundhog + , template-haskell + }: + mkDerivation { + pname = "database-id-groundhog"; + version = "0.1.0.1"; + sha256 = "16q90lzxjbisfdvcl4lbjlfmn02xnscsxkv9hm35xw9z8q19zlsx"; + libraryHaskellDepends = [ + aeson base database-id-class groundhog template-haskell + ]; + description = "HasId/Groundhog interop"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "database-migrate" = callPackage @@ -60410,6 +64197,7 @@ self: { description = "Demonstrate how a database can be implemented the functional way"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "datadog" = callPackage @@ -60421,8 +64209,8 @@ self: { }: mkDerivation { pname = "datadog"; - version = "0.2.3.0"; - sha256 = "0d0rbi269hc0bq4asww69pfw4gf0z3p9ji3iw1h129h4qyhyvdcv"; + version = "0.2.4.0"; + sha256 = "063avwbrrv6g1icw6fl7yv04izlmh6wcpngxdzzjz1qqmirb8qn4"; libraryHaskellDepends = [ aeson auto-update base buffer-builder bytestring containers dlist http-client http-client-tls http-types lens lifted-base @@ -60438,34 +64226,44 @@ self: { description = "Datadog client for Haskell. Supports both the HTTP API and StatsD."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "datadog-tracing" = callPackage - ({ mkDerivation, aeson, base, bytestring, containers - , generic-random, hspec-golden-aeson, prettyprinter, QuickCheck - , quickcheck-text, refined, servant, servant-client, servant-server - , tasty, tasty-discover, tasty-hspec, text, time, warp + ({ mkDerivation, aeson, base, bytestring, containers, data-default + , ffunctor, generic-random, hspec-golden-aeson, http-media + , jaeger-flamegraph, msgpack, mtl, prettyprinter, QuickCheck + , quickcheck-text, refined, scientific, servant, servant-client + , servant-server, tasty, tasty-discover, tasty-hspec, text, time + , unordered-containers, vector, wai-extra, warp }: mkDerivation { pname = "datadog-tracing"; - version = "1.0.1"; - sha256 = "007cpk9iwxy4jgj6fr1yih090dxgbj9d6jpc6kf3610p0a14nlzq"; + version = "1.5.1"; + sha256 = "1jjgavp9winbl2gyix61y30myvzhvzb500l2zwcb087cqzy7z6nb"; + revision = "2"; + editedCabalFile = "1mb0g3lddphaki1q946dpayhjdma9g0xcx55wdmksbhkjrbm0rgb"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base bytestring containers generic-random prettyprinter - QuickCheck quickcheck-text refined servant servant-client text time + aeson base bytestring containers ffunctor generic-random http-media + jaeger-flamegraph msgpack mtl prettyprinter QuickCheck + quickcheck-text refined scientific servant servant-client text time + unordered-containers vector ]; executableHaskellDepends = [ - aeson base bytestring containers servant servant-server text warp + aeson base bytestring containers data-default jaeger-flamegraph mtl + servant servant-server text wai-extra warp ]; testHaskellDepends = [ - aeson base bytestring containers hspec-golden-aeson servant tasty - tasty-hspec text + aeson base bytestring containers hspec-golden-aeson + jaeger-flamegraph mtl servant tasty tasty-hspec text ]; testToolDepends = [ tasty-discover ]; description = "Datadog tracing client and mock agent"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dataenc" = callPackage @@ -60507,6 +64305,7 @@ self: { description = "Fixing data-flow problems"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dataflow" = callPackage @@ -60531,6 +64330,7 @@ self: { description = "Generate Graphviz documents from a Haskell representation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "datalog" = callPackage @@ -60559,6 +64359,7 @@ self: { description = "An implementation of datalog in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "datapacker" = callPackage @@ -60627,6 +64428,8 @@ self: { ]; description = "Classical data sets for statistics and machine learning"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dataurl" = callPackage @@ -60668,23 +64471,22 @@ self: { testHaskellDepends = [ base dates hspec QuickCheck time ]; description = "Date conversions"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "dates" = callPackage - ({ mkDerivation, base, base-unicode-symbols, parsec, syb, time }: + ({ mkDerivation, base, base-unicode-symbols, hspec, parsec, syb + , time + }: mkDerivation { pname = "dates"; - version = "0.2.2.2"; - sha256 = "1vsjd3wwvg90yvj7g9921dz1b4j48h539jxapix319wkp0krk5cl"; - revision = "1"; - editedCabalFile = "1rm3s52hnrq1dgbslvilc7543k6z6fv109rn4ixwfi1wqfs1id8w"; + version = "0.2.3.0"; + sha256 = "1l9df5815gb8lxgl1kmsn4q58qrjqii5b957z5gn4hk5cjnr456k"; libraryHaskellDepends = [ base base-unicode-symbols parsec syb time ]; + testHaskellDepends = [ base hspec ]; description = "Small library for parsing different dates formats"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "datetime" = callPackage @@ -60704,6 +64506,7 @@ self: { description = "Utilities to make Data.Time.* easier to use"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "datetime-sb" = callPackage @@ -60723,6 +64526,7 @@ self: { description = "Utilities to make Data.Time.* easier to use."; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dawdle" = callPackage @@ -60738,6 +64542,7 @@ self: { description = "Generates DDL suggestions based on a CSV file"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dawg" = callPackage @@ -60754,6 +64559,7 @@ self: { description = "Directed acyclic word graphs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dawg-ord" = callPackage @@ -60775,6 +64581,7 @@ self: { description = "Directed acyclic word graphs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dbcleaner" = callPackage @@ -60788,6 +64595,7 @@ self: { description = "Clean database tables automatically around hspec tests"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dbf" = callPackage @@ -60822,6 +64630,7 @@ self: { description = "Decompiler Bytecode Java"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dbm" = callPackage @@ -60841,6 +64650,7 @@ self: { description = "A *simple* database migration tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dbmigrations" = callPackage @@ -60889,6 +64699,7 @@ self: { description = "The dbmigrations tool built for MySQL databases"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dbmigrations-postgresql" = callPackage @@ -60908,6 +64719,7 @@ self: { description = "The dbmigrations tool built for PostgreSQL databases"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dbmigrations-sqlite" = callPackage @@ -60923,6 +64735,7 @@ self: { description = "The dbmigrations tool built for SQLite databases"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dbus_0_10_15" = callPackage @@ -60963,8 +64776,8 @@ self: { }: mkDerivation { pname = "dbus"; - version = "1.2.3"; - sha256 = "04x0scjl9kyhh2wl02slfa7ykd2lmxbx6x7bp7wv8x4pwgd849zc"; + version = "1.2.7"; + sha256 = "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"; libraryHaskellDepends = [ base bytestring cereal conduit containers deepseq exceptions filepath lens network parsec random split template-haskell text @@ -60981,7 +64794,7 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; - "dbus_1_2_4" = callPackage + "dbus_1_2_8" = callPackage ({ mkDerivation, base, bytestring, cereal, conduit, containers , criterion, deepseq, directory, exceptions, extra, filepath, lens , network, parsec, process, QuickCheck, random, resourcet, split @@ -60990,8 +64803,8 @@ self: { }: mkDerivation { pname = "dbus"; - version = "1.2.4"; - sha256 = "1lzpvl4lfl84j56cdyn64gxm6zkgbjaczc41g235fikyx83vci88"; + version = "1.2.8"; + sha256 = "1jk43ngc9z6wq5idhnzmvjy3psdvivzcpva62x83c6fnb10vg25f"; libraryHaskellDepends = [ base bytestring cereal conduit containers deepseq exceptions filepath lens network parsec random split template-haskell text @@ -61023,6 +64836,7 @@ self: { description = "Monadic and object-oriented interfaces to DBus"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dbus-core" = callPackage @@ -61041,6 +64855,7 @@ self: { description = "Low-level D-Bus protocol implementation"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dbus-hslogger" = callPackage @@ -61074,6 +64889,7 @@ self: { description = "Quasi-quoter for DBus functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dbus-th" = callPackage @@ -61132,6 +64948,7 @@ self: { description = "This packge is deprecated. See the the \"LIO.DCLabel\" in the \"lio\" package."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dclabel-eci11" = callPackage @@ -61144,6 +64961,7 @@ self: { description = "The Disjunction Category Label Format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dcpu16" = callPackage @@ -61164,6 +64982,7 @@ self: { description = "DCPU-16 Emulator & Assembler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddate" = callPackage @@ -61176,6 +64995,7 @@ self: { description = "Discordian Date Types for Haskell"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-base" = callPackage @@ -61192,6 +65012,7 @@ self: { description = "Disciplined Disciple Compiler common utilities"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-build" = callPackage @@ -61212,6 +65033,7 @@ self: { description = "Disciplined Disciple Compiler build framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-code" = callPackage @@ -61225,6 +65047,7 @@ self: { description = "Disciplined Disciple Compiler base libraries"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-core" = callPackage @@ -61242,6 +65065,7 @@ self: { description = "Disciplined Disciple Compiler core language and type checker"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-core-babel" = callPackage @@ -61256,6 +65080,7 @@ self: { description = "Disciplined Disciple Compiler PHP code generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-core-eval" = callPackage @@ -61272,6 +65097,7 @@ self: { description = "Disciplined Disciple Compiler semantic evaluator for the core language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-core-flow" = callPackage @@ -61290,6 +65116,7 @@ self: { description = "Disciplined Disciple Compiler data flow compiler"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-core-llvm" = callPackage @@ -61307,6 +65134,7 @@ self: { description = "Disciplined Disciple Compiler LLVM code generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-core-salt" = callPackage @@ -61323,6 +65151,7 @@ self: { description = "Disciplined Disciple Compiler C code generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-core-simpl" = callPackage @@ -61339,6 +65168,7 @@ self: { description = "Disciplined Disciple Compiler code transformations"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-core-tetra" = callPackage @@ -61356,6 +65186,7 @@ self: { description = "Disciplined Disciple Compiler intermediate language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-driver" = callPackage @@ -61376,6 +65207,7 @@ self: { description = "Disciplined Disciple Compiler top-level driver"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-interface" = callPackage @@ -61388,6 +65220,7 @@ self: { description = "Disciplined Disciple Compiler user interface support"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-source-tetra" = callPackage @@ -61405,6 +65238,7 @@ self: { description = "Disciplined Disciple Compiler source language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-tools" = callPackage @@ -61428,6 +65262,7 @@ self: { description = "Disciplined Disciple Compiler command line tools"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddc-war" = callPackage @@ -61446,6 +65281,7 @@ self: { description = "Disciplined Disciple Compiler test driver and buildbot"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ddci-core" = callPackage @@ -61465,6 +65301,7 @@ self: { description = "Disciple Core language interactive interpreter"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dde" = callPackage @@ -61492,6 +65329,7 @@ self: { description = "Delay differential equations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dead-code-detection" = callPackage @@ -61518,6 +65356,7 @@ self: { description = "detect dead code in haskell projects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dead-simple-json" = callPackage @@ -61534,38 +65373,38 @@ self: { description = "Dead simple JSON parser, with some Template Haskell sugar"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "debian" = callPackage ({ mkDerivation, base, bytestring, bzlib, Cabal, containers - , directory, either, exceptions, filepath, HaXml, hostname, HUnit - , lens, ListLike, mtl, network-uri, old-locale, parsec, pretty - , process, process-extras, pureMD5, QuickCheck, regex-compat - , regex-tdfa, SHA, syb, template-haskell, text, th-lift, th-orphans - , time, unix, Unixutils, utf8-string, zlib + , directory, either, exceptions, filepath, hostname, HUnit, lens + , ListLike, mtl, network-uri, old-locale, parsec, pretty, process + , process-extras, pureMD5, QuickCheck, regex-compat, regex-tdfa + , SHA, syb, template-haskell, temporary, text, th-lift, th-orphans + , time, unix, utf8-string, zlib }: mkDerivation { pname = "debian"; - version = "3.95"; - sha256 = "1qbg1kya1a8ysmbls44hcwqlv7kr9cnlpnxwqv4pixamraqhqx1i"; + version = "4.0.0"; + sha256 = "1gshvsgbgghskl4csngffdpnf49z27yhap86bwqnkp4asbh553h6"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base bytestring bzlib Cabal containers directory either exceptions - filepath HaXml hostname HUnit lens ListLike mtl network-uri - old-locale parsec pretty process process-extras pureMD5 QuickCheck - regex-compat regex-tdfa SHA syb template-haskell text th-lift - th-orphans time unix Unixutils utf8-string zlib - ]; - executableHaskellDepends = [ - base directory filepath HaXml pretty process unix + filepath hostname HUnit lens ListLike mtl network-uri old-locale + parsec pretty process process-extras pureMD5 QuickCheck + regex-compat regex-tdfa SHA syb template-haskell temporary text + th-lift th-orphans time unix utf8-string zlib ]; + executableHaskellDepends = [ base directory filepath process ]; testHaskellDepends = [ base Cabal HUnit parsec pretty regex-tdfa text ]; description = "Modules for working with the Debian package system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "debian-binary" = callPackage @@ -61627,6 +65466,7 @@ self: { description = "Simple trace-based debugger"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "debug-diff" = callPackage @@ -61640,6 +65480,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "debug-dump" = callPackage + ({ mkDerivation, base, bytestring, directory, random, text }: + mkDerivation { + pname = "debug-dump"; + version = "0.1.1.0"; + sha256 = "0il889gy8fdi1yxm7f1nmj4s5gxqyq35jm8p5fax6yhj6lmyciwl"; + libraryHaskellDepends = [ base bytestring directory random text ]; + description = "File-based debug output"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "debug-me" = callPackage ({ mkDerivation, aeson, async, base, bytestring, Cabal, cereal , containers, cryptonite, directory, filepath, graphviz @@ -61667,6 +65518,7 @@ self: { description = "secure remote debugging"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "debug-pp" = callPackage @@ -61709,6 +65561,7 @@ self: { description = "You do not have to write variable names twice in Debug.Trace"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "debug-tracy" = callPackage @@ -61723,7 +65576,6 @@ self: { executableHaskellDepends = [ base ]; description = "More useful trace functions for investigating bugs"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "deburr" = callPackage @@ -61738,6 +65590,17 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "dec" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "dec"; + version = "0.0.3"; + sha256 = "1y8bvlm2371dq2v0jv1srki98nbhbz091wh0g2x58wz78h971f6r"; + libraryHaskellDepends = [ base ]; + description = "Decidable propositions"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "decepticons" = callPackage ({ mkDerivation, base, comonad-transformers }: mkDerivation { @@ -61748,19 +65611,36 @@ self: { description = "The categorical dual of transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "decidable" = callPackage ({ mkDerivation, base, singletons }: mkDerivation { pname = "decidable"; - version = "0.1.4.0"; - sha256 = "07cw2jhvii3prsbczxpmq7g492wc89yxp77ivs01gp3bl7m25cky"; + version = "0.1.5.0"; + sha256 = "1rsgwmvbx4mip26pihhmv6rssn23q8la22qxqj73i60863fkkwbj"; libraryHaskellDepends = [ base singletons ]; description = "Combinators for manipulating dependently-typed predicates"; license = stdenv.lib.licenses.bsd3; }) {}; + "decidable_0_2_1_0" = callPackage + ({ mkDerivation, base, functor-products, microlens, singletons + , vinyl + }: + mkDerivation { + pname = "decidable"; + version = "0.2.1.0"; + sha256 = "1l307j4n9xagarbqqa48c729fs63qlzy5sqzgfyzfqwnas8yrqhx"; + libraryHaskellDepends = [ + base functor-products microlens singletons vinyl + ]; + description = "Combinators for manipulating dependently-typed predicates"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "decimal-arithmetic" = callPackage ({ mkDerivation, base, binary, binary-bits, deepseq, doctest, hspec , mtl, QuickCheck @@ -61774,21 +65654,21 @@ self: { description = "An implementation of the General Decimal Arithmetic Specification"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "decimal-literals" = callPackage ({ mkDerivation, base, tasty, tasty-hunit }: mkDerivation { pname = "decimal-literals"; - version = "0.1.0.0"; - sha256 = "0zsykb1ydihcd6x7v5xx1i0v5wn6a48g7ndzi68iwhivmj0qxyi7"; - revision = "3"; - editedCabalFile = "0v53iwn2f5fhjhzf8zgzxrc1inp1bb0qjsghf1jlcp98az7avsjb"; + version = "0.1.0.1"; + sha256 = "0lbpnc4c266fbqjzzrnig648zzsqfaphlxqwyly9xd15qggzasb0"; + revision = "1"; + editedCabalFile = "0giz73yb179xvww1s92dbl4mhvcxlv25f0zrjwc9lsvx9h2aivg0"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base tasty tasty-hunit ]; description = "Preprocessing decimal literals more or less as they are (instead of via fractions)"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "declarative" = callPackage @@ -61809,6 +65689,7 @@ self: { description = "DIY Markov Chains"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "decode-utf8" = callPackage @@ -61837,6 +65718,7 @@ self: { description = "Conduit for decoding ByteStrings using Data.Binary.Get"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dedukti" = callPackage @@ -61860,6 +65742,7 @@ self: { description = "A type-checker for the λΠ-modulo calculus"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "deepcontrol" = callPackage @@ -61877,6 +65760,7 @@ self: { description = "A library that provides deep-level programming style and(or) notation on Applicative and Monad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "deeplearning-hs" = callPackage @@ -61905,6 +65789,7 @@ self: { description = "Deep Learning in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "deepseq_1_3_0_1" = callPackage @@ -61927,6 +65812,8 @@ self: { pname = "deepseq"; version = "1.4.4.0"; sha256 = "09kfpmgl679l74b6dadia11pvhya9ik4wrd8x76cgkxk7gwcbkrc"; + revision = "1"; + editedCabalFile = "0mbby1hig605jyiyy4m2y2nnjjf5i2adzc6x269hbz4pxscjp43n"; libraryHaskellDepends = [ array base ]; testHaskellDepends = [ array base ghc-prim HUnit test-framework test-framework-hunit @@ -61958,6 +65845,7 @@ self: { description = "Bounded deepseq, including support for generic deriving"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "deepseq-generics" = callPackage @@ -61988,6 +65876,7 @@ self: { description = "Deep evaluation of data structures without NFData"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "deepseq-th" = callPackage @@ -62001,6 +65890,7 @@ self: { description = "Template Haskell based deriver for optimised NFData instances"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "deepzoom" = callPackage @@ -62013,6 +65903,7 @@ self: { description = "A DeepZoom image slicer. Only known to work on 32bit Linux"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "defargs" = callPackage @@ -62025,6 +65916,7 @@ self: { description = "default arguments in haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "deferred-folds" = callPackage @@ -62035,8 +65927,8 @@ self: { }: mkDerivation { pname = "deferred-folds"; - version = "0.9.10"; - sha256 = "0rvb7cv45xs087jrm4dmv9ajyx5kfs8n01cclc7msfg90fcs60fx"; + version = "0.9.10.1"; + sha256 = "15lwcc7i7wmi1gkkmak677qw0fnz4a4ldnv842xaimfi64753shv"; libraryHaskellDepends = [ base bytestring containers foldl hashable primitive transformers unordered-containers vector @@ -62188,8 +66080,8 @@ self: { }: mkDerivation { pname = "dejafu"; - version = "1.11.0.5"; - sha256 = "18pcjk60r1q798qba285g20fh8v5q2qphgpx3r0a0yy7p1qnjwv2"; + version = "2.1.0.0"; + sha256 = "19jvcfkwavmvf08dwsch3izk9qzw8ldrghpvjgv2vh5dxr7wr9xq"; libraryHaskellDepends = [ base concurrency containers contravariant deepseq exceptions leancheck profunctors random transformers @@ -62198,23 +66090,6 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "dejafu_2_0_0_0" = callPackage - ({ mkDerivation, base, concurrency, containers, contravariant - , deepseq, exceptions, leancheck, profunctors, random, transformers - }: - mkDerivation { - pname = "dejafu"; - version = "2.0.0.0"; - sha256 = "1chl50yb0sydpvn1irfyc6vi6mcggjjk9vcip2mp973zf9a0i0v6"; - libraryHaskellDepends = [ - base concurrency containers contravariant deepseq exceptions - leancheck profunctors random transformers - ]; - description = "A library for unit-testing concurrent programs"; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "deka" = callPackage ({ mkDerivation, base, bytestring, mpdec, parsec, transformers }: mkDerivation { @@ -62226,6 +66101,7 @@ self: { description = "Decimal floating point arithmetic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {mpdec = null;}; "deka-tests" = callPackage @@ -62247,6 +66123,7 @@ self: { description = "Tests for deka, decimal floating point arithmetic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "delaunay" = callPackage @@ -62264,6 +66141,7 @@ self: { description = "Build a Delaunay triangulation of a set of points"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "delay" = callPackage @@ -62280,7 +66158,6 @@ self: { testHaskellDepends = [ async base dimensional exceptions time ]; description = "More useful and humain delaying functions"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "delicious" = callPackage @@ -62296,6 +66173,7 @@ self: { description = "Accessing the del.icio.us APIs from Haskell (v2)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "delimited-text" = callPackage @@ -62312,6 +66190,7 @@ self: { description = "Parse character delimited textual data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "delimiter-separated" = callPackage @@ -62325,6 +66204,7 @@ self: { description = "Library for dealing with tab and/or comma (or other) separated files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "delta" = callPackage @@ -62349,6 +66229,7 @@ self: { description = "A library for detecting file changes"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "delta-h" = callPackage @@ -62371,6 +66252,7 @@ self: { description = "Online entropy-based model of lexical category acquisition"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "delude" = callPackage @@ -62383,6 +66265,7 @@ self: { description = "Generalized the Prelude more functionally"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "demarcate" = callPackage @@ -62396,6 +66279,7 @@ self: { description = "Demarcating transformed monad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "denominate" = callPackage @@ -62411,6 +66295,7 @@ self: { description = "Functions supporting bulk file and directory name normalization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dense" = callPackage @@ -62457,6 +66342,7 @@ self: { description = "Dense int-set"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dense-linear-algebra" = callPackage @@ -62506,6 +66392,22 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "dependent-map_0_3" = callPackage + ({ mkDerivation, base, constraints-extras, containers + , dependent-sum + }: + mkDerivation { + pname = "dependent-map"; + version = "0.3"; + sha256 = "1azy6yrnd0adga4z2mlp9knbp55xhlj4v9c3rb2lr1sd2l8cgf80"; + libraryHaskellDepends = [ + base constraints-extras containers dependent-sum + ]; + description = "Dependent finite maps (partial dependent products)"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "dependent-monoidal-map" = callPackage ({ mkDerivation, aeson, base, constraints, constraints-extras , dependent-map, dependent-sum, dependent-sum-aeson-orphans @@ -62521,6 +66423,7 @@ self: { description = "Data.Dependent.Map variant that appends conflicting entries when merging maps instead of discarding one side of the conflict."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dependent-state" = callPackage @@ -62533,6 +66436,7 @@ self: { description = "Control structure similar to Control.Monad.State, allowing multiple nested states, distinguishable by provided phantom types."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dependent-sum" = callPackage @@ -62546,20 +66450,34 @@ self: { license = stdenv.lib.licenses.publicDomain; }) {}; + "dependent-sum_0_6_2_0" = callPackage + ({ mkDerivation, base, constraints-extras }: + mkDerivation { + pname = "dependent-sum"; + version = "0.6.2.0"; + sha256 = "17xj5mfrqbhf614z25l2km5grhrxh1rfhb8h8g677sv2xgxrv82d"; + libraryHaskellDepends = [ base constraints-extras ]; + description = "Dependent sum type"; + license = stdenv.lib.licenses.publicDomain; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "dependent-sum-aeson-orphans" = callPackage ({ mkDerivation, aeson, base, constraints, constraints-extras , dependent-map, dependent-sum }: mkDerivation { pname = "dependent-sum-aeson-orphans"; - version = "0.2.0.0"; - sha256 = "0cb3yhrqn2mwa3spfz6sky9bh9kh92kl4959187d6kqvvhqqmafj"; + version = "0.2.1.0"; + sha256 = "04flfszrn4ah9vrm6hyp2pk0sbldcjp0jjibdny7lxdmv0fskzj5"; libraryHaskellDepends = [ aeson base constraints constraints-extras dependent-map dependent-sum ]; + description = "JSON instances for DSum, DMap, and Some"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dependent-sum-template" = callPackage @@ -62577,6 +66495,23 @@ self: { license = stdenv.lib.licenses.publicDomain; }) {}; + "dependent-sum-template_0_1_0_0" = callPackage + ({ mkDerivation, base, constraints-extras, dependent-sum + , template-haskell, th-extras + }: + mkDerivation { + pname = "dependent-sum-template"; + version = "0.1.0.0"; + sha256 = "07z95f27jpdb8y01f904z0fi6kjllsbcm2zg0k1v9y8c6rwavw0f"; + libraryHaskellDepends = [ + base dependent-sum template-haskell th-extras + ]; + testHaskellDepends = [ base constraints-extras dependent-sum ]; + description = "Template Haskell code to generate instances of classes in dependent-sum package"; + license = stdenv.lib.licenses.publicDomain; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "depends" = callPackage ({ mkDerivation, base, containers, directory, filepath, hspec , process, QuickCheck, transformers, yaml-config @@ -62597,6 +66532,7 @@ self: { description = "A simple configuration management tool for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dephd" = callPackage @@ -62616,6 +66552,7 @@ self: { description = "Analyze quality of nucleotide sequences"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "deptrack-core" = callPackage @@ -62628,6 +66565,7 @@ self: { description = "DepTrack Core types and model"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "deptrack-devops" = callPackage @@ -62647,6 +66585,7 @@ self: { description = "DepTrack applied to DevOps"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "deptrack-dot" = callPackage @@ -62660,22 +66599,23 @@ self: { description = "Facilitate Graphviz representations of DepTrack dependencies"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "deque" = callPackage - ({ mkDerivation, base, QuickCheck, quickcheck-instances, rerebase - , tasty, tasty-hunit, tasty-quickcheck + ({ mkDerivation, base, mtl, QuickCheck, quickcheck-instances + , rerebase, strict-list, tasty, tasty-hunit, tasty-quickcheck }: mkDerivation { pname = "deque"; - version = "0.2.7"; - sha256 = "1wshylwnajw3hhqnnb72rlb05m91br57gf32770xi2h4r0h30lcr"; - libraryHaskellDepends = [ base ]; + version = "0.4.2.3"; + sha256 = "18j4pqqn65nh4wp3fkw4bd10x1gxnv5zfkzan02fqvdg1ljk9sq0"; + libraryHaskellDepends = [ base mtl strict-list ]; testHaskellDepends = [ QuickCheck quickcheck-instances rerebase tasty tasty-hunit tasty-quickcheck ]; - description = "Double-ended queue"; + description = "Double-ended queues"; license = stdenv.lib.licenses.mit; }) {}; @@ -62691,6 +66631,8 @@ self: { testHaskellDepends = [ base Cabal cabal-test-quickcheck ]; description = "A typeclass and an implementation for double-ended queues"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "derangement" = callPackage @@ -62703,6 +66645,7 @@ self: { description = "Find derangements of lists"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "derivation-trees" = callPackage @@ -62717,6 +66660,7 @@ self: { description = "Typeset Derivation Trees via MetaPost"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "derive" = callPackage @@ -62738,6 +66682,7 @@ self: { description = "A program and library to derive instances for data types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "derive-IG" = callPackage @@ -62750,6 +66695,7 @@ self: { description = "Macro to derive instances for Instant-Generics using Template Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "derive-enumerable" = callPackage @@ -62762,6 +66708,7 @@ self: { description = "Generic instances for enumerating complex data types"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "derive-gadt" = callPackage @@ -62784,6 +66731,7 @@ self: { description = "Instance deriving for (a subset of) GADTs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "derive-monoid" = callPackage @@ -62800,6 +66748,7 @@ self: { description = "derive Semigroup/Monoid/IsList"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "derive-storable" = callPackage @@ -62854,6 +66803,7 @@ self: { description = "Help Haskellers derive class instances for composited data types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "derive-trie" = callPackage @@ -62866,6 +66816,7 @@ self: { description = "Automatic derivation of Trie implementations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "deriveJsonNoPrefix" = callPackage @@ -62892,8 +66843,8 @@ self: { }: mkDerivation { pname = "deriving-compat"; - version = "0.5.4"; - sha256 = "0kd76zvaj84391k9847q3zdvw5hlkdw3qwncysfbsvsh4g9glqwr"; + version = "0.5.6"; + sha256 = "1rsjq3s2m69x2h880r087qbiwp3173pwv2yihlb8aw7dmjybydmf"; libraryHaskellDepends = [ base containers ghc-boot-th ghc-prim template-haskell th-abstraction transformers transformers-compat @@ -62907,6 +66858,30 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "deriving-compat_0_5_7" = callPackage + ({ mkDerivation, base, base-compat, base-orphans, containers + , ghc-boot-th, ghc-prim, hspec, hspec-discover, QuickCheck, tagged + , template-haskell, th-abstraction, transformers + , transformers-compat + }: + mkDerivation { + pname = "deriving-compat"; + version = "0.5.7"; + sha256 = "0bp4f0is84cv139s35669dv23mcp6lhp2wall72yvkk12lp2l2mg"; + libraryHaskellDepends = [ + base containers ghc-boot-th ghc-prim template-haskell + th-abstraction transformers transformers-compat + ]; + testHaskellDepends = [ + base base-compat base-orphans hspec QuickCheck tagged + template-haskell transformers transformers-compat + ]; + testToolDepends = [ hspec-discover ]; + description = "Backports of GHC deriving extensions"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "derp" = callPackage ({ mkDerivation, base, containers }: mkDerivation { @@ -62928,6 +66903,7 @@ self: { description = "combinators based on parsing with derivatives (derp) package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "derulo" = callPackage @@ -62945,6 +66921,18 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "describe" = callPackage + ({ mkDerivation, base, bytestring, cereal, QuickCheck }: + mkDerivation { + pname = "describe"; + version = "0.1.0.0"; + sha256 = "0bbi6jih3d2fbsqhvmac8970jczwsq0zq61nlvrvr7nzgl2v07fl"; + libraryHaskellDepends = [ base bytestring cereal ]; + testHaskellDepends = [ base bytestring cereal QuickCheck ]; + description = "Combinators for describing binary data structures"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "descrilo" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -62989,6 +66977,7 @@ self: { description = "Library, interpreter, and CLI for Descript programming language"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "descriptive" = callPackage @@ -63052,6 +67041,7 @@ self: { description = "Simple deterministic game engine"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "detour-via-sci" = callPackage @@ -63074,6 +67064,8 @@ self: { ]; description = "JSON and CSV encoding for rationals as decimal point numbers"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "detour-via-uom" = callPackage @@ -63096,6 +67088,7 @@ self: { description = "JSON and CSV encoding for quantities"; license = stdenv.lib.licenses.mpl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "detrospector" = callPackage @@ -63128,6 +67121,7 @@ self: { description = "Get rid of unicode (utf-8) symbols in Haskell sources"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "devil" = callPackage @@ -63147,6 +67141,7 @@ self: { description = "A small tool to make it easier to update program managed by Angel"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dewdrop" = callPackage @@ -63161,6 +67156,7 @@ self: { description = "Find gadgets for return-oriented programming on x86"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "df1" = callPackage @@ -63169,8 +67165,8 @@ self: { }: mkDerivation { pname = "df1"; - version = "0.3"; - sha256 = "1qiy2xxri3vdqhy78ccan7phrlfdkb2ndvrj8grlhbzycmai64i3"; + version = "0.3.1"; + sha256 = "0a1fpi9r6nivjxlknfyfkwdgnq5m6qmf68z46m3xjvy0md40caij"; libraryHaskellDepends = [ attoparsec base bytestring containers text time ]; @@ -63180,46 +67176,44 @@ self: { ]; description = "Type, render and parse the df1 hierarchical structured log format"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "dfinity-radix-tree" = callPackage - ({ mkDerivation, aeson, base, base16-bytestring, blake2 - , bloomfilter, BoundedChan, bytestring, cmdargs, concurrent-extra - , conduit, containers, criterion, data-default-class, deepseq - , directory, dlist, filepath, ghc-prim, hashtables, lens-simple - , leveldb-haskell, lmdb-simple, lrucaching, mtl, QuickCheck - , reducers, resourcet, semigroups, serialise, stm, tasty - , tasty-hunit, tasty-quickcheck, temporary, text, transformers - , unordered-containers + ({ mkDerivation, aeson, base, base16-bytestring, BoundedChan + , bytestring, clock, concurrent-extra, conduit, containers + , cryptonite, data-default-class, deepseq, directory, dlist + , filepath, hashtables, lens-simple, leveldb, leveldb-haskell + , lrucaching, memory, mtl, QuickCheck, reducers, resourcet + , serialise, tasty, tasty-hunit, tasty-quickcheck, temporary, text + , transformers, unordered-containers }: mkDerivation { pname = "dfinity-radix-tree"; - version = "0.5.2"; - sha256 = "16w7na8sh5fvwrps0wa3m80yzrdg7znx8jgw2i64glvjjs7d5c61"; + version = "0.6.3"; + sha256 = "0rr02k5wycd7qy9p2pqhck7hqnr85aps4cl5wdfw32jcjvk325mj"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base base16-bytestring blake2 bloomfilter BoundedChan bytestring - concurrent-extra conduit containers data-default-class deepseq - directory dlist ghc-prim hashtables lens-simple leveldb-haskell - lmdb-simple lrucaching mtl reducers resourcet semigroups serialise - stm temporary transformers + base base16-bytestring BoundedChan bytestring concurrent-extra + conduit containers cryptonite data-default-class deepseq directory + dlist hashtables lens-simple leveldb-haskell lrucaching memory mtl + reducers resourcet serialise temporary transformers ]; + librarySystemDepends = [ leveldb ]; executableHaskellDepends = [ - base blake2 bytestring cmdargs criterion data-default-class - leveldb-haskell lmdb-simple resourcet temporary + base base16-bytestring bytestring containers ]; testHaskellDepends = [ - aeson base base16-bytestring blake2 BoundedChan bytestring - concurrent-extra conduit containers filepath leveldb-haskell mtl - QuickCheck resourcet tasty tasty-hunit tasty-quickcheck temporary - text transformers unordered-containers + aeson base base16-bytestring BoundedChan bytestring clock + concurrent-extra conduit containers cryptonite filepath + leveldb-haskell memory mtl QuickCheck resourcet tasty tasty-hunit + tasty-quickcheck temporary text transformers unordered-containers ]; description = "A generic data integrity layer"; - license = stdenv.lib.licenses.gpl3; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; - }) {}; + broken = true; + }) {inherit (pkgs) leveldb;}; "dfrac" = callPackage ({ mkDerivation, base, scientific }: @@ -63250,6 +67244,7 @@ self: { description = "Build Debian From Scratch CD/DVD images"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dgim" = callPackage @@ -63263,6 +67258,7 @@ self: { description = "Implementation of DGIM algorithm"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dgs" = callPackage @@ -63275,67 +67271,28 @@ self: { description = "Haskell front-end for DGS' bot interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dhall" = callPackage - ({ mkDerivation, ansi-terminal, base, bytestring, case-insensitive - , cborg, containers, contravariant, criterion, cryptonite, deepseq - , Diff, directory, doctest, dotgen, exceptions, filepath, haskeline - , http-client, http-client-tls, http-types, lens-family-core - , megaparsec, memory, mockery, mtl, optparse-applicative, parsers - , prettyprinter, prettyprinter-ansi-terminal, QuickCheck - , quickcheck-instances, repline, scientific, serialise, tasty - , tasty-hunit, tasty-quickcheck, template-haskell, text - , transformers, unordered-containers, uri-encode, vector - }: - mkDerivation { - pname = "dhall"; - version = "1.19.1"; - sha256 = "14fjfwsirf8l7wirv590ix01liyd0xbhqy4h7pjblyy62m22mlzq"; - revision = "1"; - editedCabalFile = "193h4dmlz1asfr1ldy0saa9spgp64xh60xh3yywzn9lz0hxzbfpg"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - ansi-terminal base bytestring case-insensitive cborg containers - contravariant cryptonite Diff directory dotgen exceptions filepath - haskeline http-client http-client-tls http-types lens-family-core - megaparsec memory mtl optparse-applicative parsers prettyprinter - prettyprinter-ansi-terminal repline scientific serialise - template-haskell text transformers unordered-containers uri-encode - vector - ]; - executableHaskellDepends = [ base ]; - testHaskellDepends = [ - base containers deepseq directory doctest filepath mockery - prettyprinter QuickCheck quickcheck-instances serialise tasty - tasty-hunit tasty-quickcheck text transformers vector - ]; - benchmarkHaskellDepends = [ - base bytestring containers criterion directory serialise text - ]; - description = "A configuration language guaranteed to terminate"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "dhall_1_20_1" = callPackage ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base , bytestring, case-insensitive, cborg, cborg-json, containers , contravariant, criterion, cryptonite, deepseq, Diff, directory - , doctest, dotgen, exceptions, filepath, haskeline, http-client - , http-client-tls, http-types, lens-family-core, megaparsec, memory - , mockery, mtl, optparse-applicative, parsers, prettyprinter - , prettyprinter-ansi-terminal, QuickCheck, quickcheck-instances - , repline, scientific, serialise, tasty, tasty-hunit - , tasty-quickcheck, template-haskell, text, transformers - , unordered-containers, uri-encode, vector + , doctest, dotgen, exceptions, filepath, foldl, haskeline + , http-client, http-client-tls, http-types, lens-family-core + , megaparsec, memory, mockery, mtl, optparse-applicative, parsers + , prettyprinter, prettyprinter-ansi-terminal, profunctors + , QuickCheck, quickcheck-instances, repline, scientific, serialise + , tasty, tasty-hunit, tasty-quickcheck, template-haskell, text + , transformers, transformers-compat, turtle, unordered-containers + , uri-encode, vector }: mkDerivation { pname = "dhall"; - version = "1.20.1"; - sha256 = "1p5whphy666q0h22yq3jb4aipb5bkqp45bp86m7dp12ljksfhxz0"; + version = "1.24.0"; + sha256 = "1n04jk45qjl00wx7gxzp36j7d1m1ca7h7y4qlp8gxhykpkr6zzv7"; revision = "2"; - editedCabalFile = "0629z8lc97rapfcqcgvxwp9x4x3xqpzrly8m0nsn0dds7400jxrk"; + editedCabalFile = "10ki70113z1kgq35xaib7qwrpzjl93hq4qxm0qb62d3pvaf4wp15"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -63344,21 +67301,66 @@ self: { dotgen exceptions filepath haskeline http-client http-client-tls http-types lens-family-core megaparsec memory mtl optparse-applicative parsers prettyprinter - prettyprinter-ansi-terminal repline scientific serialise - template-haskell text transformers unordered-containers uri-encode - vector + prettyprinter-ansi-terminal profunctors repline scientific + serialise template-haskell text transformers transformers-compat + unordered-containers uri-encode vector ]; executableHaskellDepends = [ base ]; testHaskellDepends = [ - base containers deepseq directory doctest filepath mockery - prettyprinter QuickCheck quickcheck-instances serialise tasty - tasty-hunit tasty-quickcheck text transformers vector + base bytestring cborg containers deepseq directory doctest filepath + foldl megaparsec mockery prettyprinter QuickCheck + quickcheck-instances serialise tasty tasty-hunit tasty-quickcheck + text transformers turtle vector ]; benchmarkHaskellDepends = [ base bytestring containers criterion directory serialise text ]; description = "A configuration language guaranteed to terminate"; license = stdenv.lib.licenses.bsd3; + }) {}; + + "dhall_1_25_0" = callPackage + ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base + , bytestring, case-insensitive, cborg, cborg-json, containers + , contravariant, cryptonite, deepseq, Diff, directory, doctest + , dotgen, either, exceptions, filepath, foldl, gauge, haskeline + , http-client, http-client-tls, http-types, lens-family-core + , megaparsec, memory, mockery, mtl, optparse-applicative, parsers + , prettyprinter, prettyprinter-ansi-terminal, profunctors + , QuickCheck, quickcheck-instances, repline, scientific, semigroups + , serialise, spoon, tasty, tasty-hunit, tasty-quickcheck + , template-haskell, text, th-lift-instances, transformers + , transformers-compat, turtle, unordered-containers, uri-encode + , vector + }: + mkDerivation { + pname = "dhall"; + version = "1.25.0"; + sha256 = "0d8qx4fawvxykig628jfgqpa660mzzicysa7g3mda6zni9j4yq0h"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson aeson-pretty ansi-terminal base bytestring case-insensitive + cborg cborg-json containers contravariant cryptonite deepseq Diff + directory dotgen either exceptions filepath haskeline http-client + http-client-tls http-types lens-family-core megaparsec memory mtl + optparse-applicative parsers prettyprinter + prettyprinter-ansi-terminal profunctors repline scientific + serialise template-haskell text th-lift-instances transformers + transformers-compat unordered-containers uri-encode vector + ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ + base bytestring cborg containers deepseq directory doctest filepath + foldl lens-family-core megaparsec mockery prettyprinter QuickCheck + quickcheck-instances semigroups serialise spoon tasty tasty-hunit + tasty-quickcheck text transformers turtle vector + ]; + benchmarkHaskellDepends = [ + base bytestring containers directory gauge serialise text + ]; + description = "A configuration language guaranteed to terminate"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; }) {}; @@ -63368,8 +67370,8 @@ self: { }: mkDerivation { pname = "dhall-bash"; - version = "1.0.18"; - sha256 = "036ccz1kwhavl03q5lh14dxic8gjqb5cw14aws6a53gpk6p4vvff"; + version = "1.0.21"; + sha256 = "06rv0wrs1ym6szy78wg3nyfwaqm279vy6m7zny9s90lnpa6dc098"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -63383,6 +67385,28 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "dhall-bash_1_0_22" = callPackage + ({ mkDerivation, base, bytestring, containers, dhall + , neat-interpolation, optparse-generic, shell-escape, text + }: + mkDerivation { + pname = "dhall-bash"; + version = "1.0.22"; + sha256 = "1qxcf3f8a390znwkbhcirlgqpgg0ssc3bnwdml7wkv8k0qwqq57j"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring containers dhall neat-interpolation shell-escape + text + ]; + executableHaskellDepends = [ + base bytestring dhall optparse-generic text + ]; + description = "Compile Dhall to Bash"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "dhall-check" = callPackage ({ mkDerivation, base, containers, dhall, directory, filepath , fsnotify, text, trifecta @@ -63399,35 +67423,69 @@ self: { description = "Check all dhall files in a project"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dhall-json" = callPackage - ({ mkDerivation, aeson, aeson-pretty, base, bytestring, dhall - , optparse-applicative, tasty, tasty-hunit, text - , unordered-containers, vector, yaml + ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers + , dhall, exceptions, lens, libyaml, optparse-applicative + , scientific, tasty, tasty-hunit, text, unordered-containers + , vector, yaml }: mkDerivation { pname = "dhall-json"; - version = "1.2.6"; - sha256 = "0f18kn15v8pzkdayj2hql28fbba9i75msbi41yscik40lw2sg2cr"; + version = "1.3.0"; + sha256 = "176i30shaklranbhmb4m4zqn13cn9hd6lqiqdjv9qmckkapbkjpi"; revision = "1"; - editedCabalFile = "1x6dgsqcgd8mvqwqq53aj8xgnfin6c66wn8vc7ikxiy0gilp686x"; + editedCabalFile = "101xfp3zg9i7qyibknjpcdhha8sc024xmylphiwb509h3fjy3yks"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base dhall optparse-applicative text unordered-containers + aeson aeson-pretty base bytestring containers dhall exceptions lens + libyaml optparse-applicative scientific text unordered-containers + vector yaml ]; executableHaskellDepends = [ - aeson aeson-pretty base bytestring dhall optparse-applicative text - vector yaml + aeson aeson-pretty base bytestring dhall exceptions + optparse-applicative text ]; testHaskellDepends = [ aeson base bytestring dhall tasty tasty-hunit text ]; - description = "Compile Dhall to JSON or YAML"; + description = "Convert between Dhall and JSON or YAML"; license = stdenv.lib.licenses.bsd3; }) {}; + "dhall-json_1_4_0" = callPackage + ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base + , bytestring, containers, dhall, exceptions, libyaml + , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal + , scientific, tasty, tasty-hunit, text, unordered-containers + , vector, yaml + }: + mkDerivation { + pname = "dhall-json"; + version = "1.4.0"; + sha256 = "0kxb71m1rf6y7z3wx4yx5ks0p5vhnlpgchsih3mfn9ygppc2z0ri"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson aeson-pretty base bytestring containers dhall exceptions + libyaml optparse-applicative scientific text unordered-containers + vector yaml + ]; + executableHaskellDepends = [ + aeson aeson-pretty ansi-terminal base bytestring dhall exceptions + optparse-applicative prettyprinter prettyprinter-ansi-terminal text + ]; + testHaskellDepends = [ + aeson base bytestring dhall tasty tasty-hunit text + ]; + description = "Convert between Dhall and JSON or YAML"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "dhall-lex" = callPackage ({ mkDerivation, alex, array, base, bytestring, criterion, deepseq , hspec, hspec-dirstream, scientific @@ -63447,20 +67505,51 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "dhall-nix" = callPackage - ({ mkDerivation, base, containers, data-fix, dhall, hnix - , insert-ordered-containers, neat-interpolation, optparse-generic - , text + "dhall-lsp-server" = callPackage + ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers + , cryptonite, data-default, dhall, dhall-json, directory, doctest + , dotgen, filepath, haskell-lsp, hslogger, lens, lens-family-core + , megaparsec, mtl, network-uri, optparse-applicative, prettyprinter + , sorted-list, stm, text, transformers, unordered-containers + , uri-encode, yi-rope }: mkDerivation { - pname = "dhall-nix"; - version = "1.1.6"; - sha256 = "0pchanzgcag6z7fywqm09xj29n0pfxd2ya2ky64aapykq038jxbs"; + pname = "dhall-lsp-server"; + version = "1.0.0"; + sha256 = "1i4bx8qiy1hbs6bm50fixj1ipkd9rm6y6z3bci8ngh1rhy5v51x1"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base containers data-fix dhall hnix insert-ordered-containers - neat-interpolation text + aeson aeson-pretty base bytestring containers cryptonite + data-default dhall dhall-json dotgen filepath haskell-lsp hslogger + lens lens-family-core megaparsec mtl network-uri + optparse-applicative prettyprinter sorted-list stm text + transformers unordered-containers uri-encode yi-rope + ]; + executableHaskellDepends = [ + aeson base containers data-default dhall filepath haskell-lsp + hslogger lens lens-family-core megaparsec mtl optparse-applicative + prettyprinter sorted-list stm text transformers + unordered-containers yi-rope + ]; + testHaskellDepends = [ base directory doctest filepath ]; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "dhall-nix" = callPackage + ({ mkDerivation, base, containers, data-fix, dhall, hnix + , neat-interpolation, optparse-generic, text + }: + mkDerivation { + pname = "dhall-nix"; + version = "1.1.7"; + sha256 = "0axg7qq8rfy5qsffiw57lll40mw7bxgk67g7lgdb5vbri69xj3is"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base containers data-fix dhall hnix neat-interpolation text ]; executableHaskellDepends = [ base dhall hnix optparse-generic text @@ -63468,14 +67557,17 @@ self: { description = "Dhall to Nix compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dhall-text" = callPackage ({ mkDerivation, base, dhall, optparse-applicative, text }: mkDerivation { pname = "dhall-text"; - version = "1.0.15"; - sha256 = "1cijr733xbls3lc5av1hki0za194rxrzd24ryxf1n9kdpc6dv8mg"; + version = "1.0.18"; + sha256 = "1nwvj67glqyn5yd62ni16wqppv8d3hy7d9aw87p35zkch1vr8vsd"; + revision = "1"; + editedCabalFile = "1dynw76kmca5l43jqrmgmzbdd7hqixiyfpb4pcx4dzr6ghar49s7"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -63487,22 +67579,22 @@ self: { "dhall-to-cabal" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, contravariant - , dhall, Diff, directory, filepath, hashable, microlens - , optparse-applicative, prettyprinter, tasty, tasty-golden - , tasty-hunit, text, transformers, vector + , dhall, Diff, directory, filepath, microlens, optparse-applicative + , prettyprinter, tasty, tasty-golden, tasty-hunit, text + , transformers, vector }: mkDerivation { pname = "dhall-to-cabal"; - version = "1.3.2.0"; - sha256 = "1cy7pqqfrmli3a8p24j0dgksfwhj08kjpbp31bdibnr8ix204jjc"; + version = "1.3.4.0"; + sha256 = "1z69nx98wgrjhgra0rw6lvsgnjzmqpixjwd673nvs79jg98yafm7"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base bytestring Cabal containers contravariant dhall filepath - hashable text transformers vector + microlens text transformers vector ]; executableHaskellDepends = [ - base bytestring Cabal dhall directory filepath microlens + base bytestring Cabal containers dhall directory filepath microlens optparse-applicative prettyprinter text transformers ]; testHaskellDepends = [ @@ -63512,6 +67604,7 @@ self: { description = "Compile Dhall expressions to Cabal files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dhcp-lease-parser" = callPackage @@ -63531,6 +67624,42 @@ self: { description = "Parse a DHCP lease file"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "dhrun" = callPackage + ({ mkDerivation, aeson, ansi-terminal, base, bytestring, conduit + , conduit-extra, containers, dhall, directory, editor-open + , filepath, generic-random, Glob, hspec, mtl, optparse-applicative + , process, protolude, quickcheck-text, tasty, tasty-golden + , tasty-hspec, tasty-hunit, tasty-quickcheck, text, time, unix + , unliftio, unliftio-core, yaml + }: + mkDerivation { + pname = "dhrun"; + version = "1.0.1"; + sha256 = "1gyg5221g1qsq2h62lcdwi4g7amis26692hh3fdi824bjylz8pal"; + isLibrary = false; + isExecutable = true; + libraryHaskellDepends = [ + ansi-terminal base bytestring conduit conduit-extra containers + dhall directory mtl process protolude text time unix unliftio-core + yaml + ]; + executableHaskellDepends = [ + base bytestring dhall directory editor-open filepath + optparse-applicative protolude + ]; + testHaskellDepends = [ + aeson base bytestring dhall filepath generic-random Glob hspec mtl + protolude quickcheck-text tasty tasty-golden tasty-hspec + tasty-hunit tasty-quickcheck text unliftio yaml + ]; + doHaddock = false; + description = "Dhall/YAML configurable concurrent integration test executor"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "di" = callPackage @@ -63546,7 +67675,6 @@ self: { ]; description = "Typeful hierarchical structured logging using di, mtl and df1"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "di-core" = callPackage @@ -63585,21 +67713,19 @@ self: { ]; description = "Write logs in the df1 format using the di logging framework"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "di-handle" = callPackage ({ mkDerivation, base, bytestring, di-core, exceptions, unix }: mkDerivation { pname = "di-handle"; - version = "1.0"; - sha256 = "1v4jn1dvvfa6nbqx34hhjg47lbjafkmdps8aalq3n5sah99iy26d"; + version = "1.0.1"; + sha256 = "070gxs75f3wvvalw81y3af5dm76hnv89rwlh6j5dks9m8mm9pgqq"; libraryHaskellDepends = [ base bytestring di-core exceptions unix ]; description = "IO support for file handles in di-core"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "di-monad" = callPackage @@ -63629,6 +67755,7 @@ self: { description = "An EDSL for teaching Haskell with diagrams - data types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dia-functions" = callPackage @@ -63647,6 +67774,7 @@ self: { description = "An EDSL for teaching Haskell with diagrams - functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diagrams" = callPackage @@ -63663,7 +67791,6 @@ self: { doHaddock = false; description = "Embedded domain-specific language for declarative vector graphics"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "diagrams-boolean" = callPackage @@ -63678,6 +67805,7 @@ self: { description = "deprecated, part of diagrams-contrib since 1.4"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diagrams-braille" = callPackage @@ -63732,6 +67860,7 @@ self: { description = "hint-based build service for the diagrams graphics EDSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diagrams-cairo" = callPackage @@ -63754,7 +67883,6 @@ self: { ]; description = "Cairo backend for diagrams drawing EDSL"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "diagrams-canvas" = callPackage @@ -63774,6 +67902,7 @@ self: { description = "HTML5 canvas backend for diagrams drawing EDSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diagrams-contrib" = callPackage @@ -63788,8 +67917,8 @@ self: { pname = "diagrams-contrib"; version = "1.4.3"; sha256 = "01r081rvxkb9i56iqi28zw4054nm62pf9f1szd9i0avmnxxsiyv5"; - revision = "2"; - editedCabalFile = "0xpw4myq4n6k5lxdll1wg76m3gfymwb746x6qd48qfy3z22nrymw"; + revision = "3"; + editedCabalFile = "0mm1mmagx6q8g6dxk1cagqka38z6393ihp0lvf6095prlvidasqs"; libraryHaskellDepends = [ base circle-packing colour containers cubicbezier data-default data-default-class diagrams-core diagrams-lib diagrams-solve @@ -63802,7 +67931,6 @@ self: { ]; description = "Collection of user contributions to diagrams EDSL"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "diagrams-core" = callPackage @@ -63838,6 +67966,7 @@ self: { description = "Graph layout and drawing with GrahpViz and diagrams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diagrams-gtk" = callPackage @@ -63854,6 +67983,7 @@ self: { description = "Backend for rendering diagrams directly to GTK windows"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diagrams-haddock" = callPackage @@ -63885,6 +68015,7 @@ self: { description = "Preprocessor for embedding diagrams in Haddock documentation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diagrams-hsqml" = callPackage @@ -63902,6 +68033,7 @@ self: { description = "HsQML (Qt5) backend for Diagrams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diagrams-html5" = callPackage @@ -63921,6 +68053,7 @@ self: { description = "HTML5 canvas backend for diagrams drawing EDSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diagrams-lib" = callPackage @@ -63978,6 +68111,7 @@ self: { description = "A Pandoc filter to express diagrams inline using the Haskell EDSL _Diagrams_"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diagrams-pdf" = callPackage @@ -63996,6 +68130,7 @@ self: { description = "PDF backend for diagrams drawing EDSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diagrams-pgf" = callPackage @@ -64034,7 +68169,6 @@ self: { ]; description = "Postscript backend for diagrams drawing EDSL"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "diagrams-qrcode" = callPackage @@ -64050,6 +68184,7 @@ self: { description = "Draw QR codes to SVG, PNG, PDF or PS files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diagrams-rasterific" = callPackage @@ -64157,6 +68292,7 @@ self: { description = "TikZ backend for diagrams drawing EDSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diagrams-wx" = callPackage @@ -64175,6 +68311,7 @@ self: { description = "Backend for rendering diagrams in wxWidgets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dialog" = callPackage @@ -64215,6 +68352,7 @@ self: { description = "A simple, forward build system"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dice" = callPackage @@ -64247,6 +68385,7 @@ self: { description = "Cryptographically secure n-sided dice via rejection sampling"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dice2tex" = callPackage @@ -64261,6 +68400,7 @@ self: { description = "Convert a Diceware wordlist into a printer-ready LaTeX file"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dicom" = callPackage @@ -64275,6 +68415,7 @@ self: { description = "A library for reading and writing DICOM files in the Explicit VR Little Endian transfer syntax"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dictionaries" = callPackage @@ -64304,6 +68445,7 @@ self: { description = "Tools to handle StarDict dictionaries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dictionary-sharing" = callPackage @@ -64333,6 +68475,7 @@ self: { description = "Parsec parsers for the DICT format produced by dictfmt -t"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diet" = callPackage @@ -64351,6 +68494,7 @@ self: { description = "Discrete Interval Encoding Trees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diff" = callPackage @@ -64435,6 +68579,7 @@ self: { description = "Diff two .cabal files syntactically"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diffdump" = callPackage @@ -64474,6 +68619,7 @@ self: { ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "differential" = callPackage @@ -64484,8 +68630,8 @@ self: { }: mkDerivation { pname = "differential"; - version = "0.1.1.0"; - sha256 = "0h6w082zq4f4p7j61bdi3jzpb42wwgh1d3067jywlnx2qwa0ijhp"; + version = "0.1.2.0"; + sha256 = "1mw70yrxi72q55h5xvyds7qp5az7j1qc3xix6ahck17dv5w8fpyl"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -64500,6 +68646,7 @@ self: { description = "Finds out whether an entity comes from different distributions (statuses)"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diffmap" = callPackage @@ -64539,6 +68686,7 @@ self: { description = "Generate todo lists from source code"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "digamma" = callPackage @@ -64592,6 +68740,7 @@ self: { description = "Speed up form designing using digestive functors and bootstrap"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "digestive-foundation-lucid" = callPackage @@ -64609,6 +68758,7 @@ self: { description = "Speed up form designing using digestive functors and foundation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "digestive-functors" = callPackage @@ -64620,6 +68770,8 @@ self: { pname = "digestive-functors"; version = "0.8.4.0"; sha256 = "17l70z0bn5aahjaydg3qcwyip6jk0q4vkar5abhrhls59j5hk6z0"; + revision = "2"; + editedCabalFile = "1a8z8fmjvwab222ayc04xd3wxqagfq6nwf68ynljcbwdbbjyjb7b"; libraryHaskellDepends = [ base bytestring containers mtl old-locale semigroups text time ]; @@ -64681,6 +68833,8 @@ self: { ]; description = "Happstack backend for the digestive-functors library"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "digestive-functors-heist" = callPackage @@ -64698,6 +68852,7 @@ self: { description = "Heist frontend for the digestive-functors library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "digestive-functors-hsp" = callPackage @@ -64711,6 +68866,7 @@ self: { description = "HSP support for digestive-functors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "digestive-functors-lucid" = callPackage @@ -64740,7 +68896,6 @@ self: { ]; description = "Scotty backend for the digestive-functors library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "digestive-functors-snap" = callPackage @@ -64766,10 +68921,8 @@ self: { }: mkDerivation { pname = "digit"; - version = "0.7"; - sha256 = "0451nlmf2ggg1dy82qkdxqlg4lgnsvkrxl3qrcjr5dzmi2ghk3ql"; - revision = "2"; - editedCabalFile = "0335fzcbrf4hciz9gdkk41y9jkd5vm5vbz99v9ick76q48h2bs6p"; + version = "0.8"; + sha256 = "0m3m9c2452b0x7ccglkz7mr3ivi7r98qa44zwfnf7a55d6xckfa9"; libraryHaskellDepends = [ base lens parsers scientific semigroupoids semigroups template-haskell @@ -64780,6 +68933,8 @@ self: { ]; description = "A data-type representing digits 0-9 and other combinations"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "digitalocean-kzs" = callPackage @@ -64798,6 +68953,7 @@ self: { description = "digitalocean api for haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "digits" = callPackage @@ -64812,6 +68968,26 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "digraph" = callPackage + ({ mkDerivation, base, containers, deepseq, fgl, hashable, massiv + , mwc-random, QuickCheck, streaming, transformers + , unordered-containers + }: + mkDerivation { + pname = "digraph"; + version = "0.1.0.2"; + sha256 = "1kkvihqg3rhhsqz25yq7np211813kf3xqqi27lpdf1kdmq8vvf80"; + libraryHaskellDepends = [ + base containers deepseq hashable massiv mwc-random streaming + transformers unordered-containers + ]; + testHaskellDepends = [ base fgl hashable massiv QuickCheck ]; + description = "Directed Graphs"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "dihaa" = callPackage ({ mkDerivation, base, FontyFruity, JuicyPixels, Rasterific, vector }: @@ -64838,8 +69014,8 @@ self: { pname = "dimensional"; version = "1.3"; sha256 = "0i4k7m134w3pczj8qllc59djdhisj92z78qrzap9v0f4rx8jb8r9"; - revision = "1"; - editedCabalFile = "1p6bn0xcxapm9r9b692l6kkijw0r41p1naiyx523pi5r0njs33k1"; + revision = "2"; + editedCabalFile = "10xkgwjb9kqa95jck3b9wa3sz6vcb2lkygfmcqqz6hz6j65l79r8"; libraryHaskellDepends = [ base deepseq exact-pi ieee754 numtype-dk semigroups vector ]; @@ -64850,7 +69026,6 @@ self: { benchmarkHaskellDepends = [ base criterion deepseq ]; description = "Statically checked physical dimensions, using Type Families and Data Kinds"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "dimensional-codata" = callPackage @@ -64862,7 +69037,6 @@ self: { libraryHaskellDepends = [ base dimensional numtype-dk ]; description = "CODATA Recommended Physical Constants with Dimensional Types"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "dimensional-tf" = callPackage @@ -64875,16 +69049,20 @@ self: { description = "Statically checked physical dimensions, implemented using type families"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dimensions" = callPackage - ({ mkDerivation, base, Cabal, QuickCheck }: + ({ mkDerivation, base, Cabal, constraints-deriving, ghc, QuickCheck + }: mkDerivation { pname = "dimensions"; - version = "1.0.1.1"; - sha256 = "18f0b82vgzwk8yf0d8h10ni18jq2x34rgb1lsprlb1xxpw0dskda"; - libraryHaskellDepends = [ base ]; - testHaskellDepends = [ base Cabal QuickCheck ]; + version = "2.0.0.0"; + sha256 = "1k0j8lcshscs5cd18i6qqiwb7sjy55mcfha5kl5f4x9nxrnn6xa8"; + libraryHaskellDepends = [ base constraints-deriving ghc ]; + testHaskellDepends = [ + base Cabal constraints-deriving QuickCheck + ]; description = "Safe type-level dimensionality for multidimensional data"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -64911,6 +69089,7 @@ self: { description = "Dingo is a Rich Internet Application platform based on the Warp web server"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dingo-example" = callPackage @@ -64931,6 +69110,7 @@ self: { description = "Dingo Example"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dingo-widgets" = callPackage @@ -64950,6 +69130,27 @@ self: { description = "Dingo Widgets"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "dino" = callPackage + ({ mkDerivation, ansi-wl-pprint, base, containers, errors + , exceptions, hashable, monad-loops, mtl, tasty, tasty-quickcheck + , tasty-th, text, transformers, tree-view, unordered-containers + }: + mkDerivation { + pname = "dino"; + version = "0.1.1"; + sha256 = "05n0zsl9wvwilnmh28s89cda8a72qfbnhwkbbnw9yihpbamx59z9"; + libraryHaskellDepends = [ + ansi-wl-pprint base containers errors exceptions hashable + monad-loops mtl text transformers tree-view unordered-containers + ]; + testHaskellDepends = [ + base tasty tasty-quickcheck tasty-th text unordered-containers + ]; + description = "A convenient tagless EDSL"; + license = stdenv.lib.licenses.bsd3; }) {}; "diophantine" = callPackage @@ -64963,6 +69164,7 @@ self: { description = "A quadratic diophantine equation solving library"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diplomacy" = callPackage @@ -64979,6 +69181,7 @@ self: { description = "Diplomacy board game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "diplomacy-server" = callPackage @@ -65003,6 +69206,23 @@ self: { description = "Play Diplomacy over HTTP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "dir-traverse" = callPackage + ({ mkDerivation, base, criterion, directory, dirstream, pipes + , pipes-safe, system-filepath + }: + mkDerivation { + pname = "dir-traverse"; + version = "0.2.1.0"; + sha256 = "08xzl64clnx3mfx5bw82kpksagyl4bajkaxmbl1dpnmdc4jz35ks"; + libraryHaskellDepends = [ base directory ]; + benchmarkHaskellDepends = [ + base criterion directory dirstream pipes pipes-safe system-filepath + ]; + description = "Simple directory traversal library"; + license = stdenv.lib.licenses.bsd3; }) {}; "direct-binary-files" = callPackage @@ -65015,6 +69235,7 @@ self: { description = "Serialization and deserialization monads for streams and ByteStrings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "direct-daemonize" = callPackage @@ -65042,6 +69263,7 @@ self: { description = "Native implementation of the FastCGI protocol"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "direct-http" = callPackage @@ -65061,6 +69283,7 @@ self: { description = "Native webserver that acts as a library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "direct-murmur-hash" = callPackage @@ -65084,6 +69307,7 @@ self: { description = "Lightweight replacement for Plugins, specific to GHC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "direct-rocksdb" = callPackage @@ -65104,25 +69328,10 @@ self: { description = "Bindings to RocksDB"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "direct-sqlite" = callPackage - ({ mkDerivation, base, base16-bytestring, bytestring, directory - , HUnit, semigroups, temporary, text - }: - mkDerivation { - pname = "direct-sqlite"; - version = "2.3.23"; - sha256 = "0ywkah9gmjnx0zdlvinc2i898jsbdrw4ba315zkpijaaldp6znqz"; - libraryHaskellDepends = [ base bytestring semigroups text ]; - testHaskellDepends = [ - base base16-bytestring bytestring directory HUnit temporary text - ]; - description = "Low-level binding to SQLite3. Includes UTF8 and BLOB support."; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "direct-sqlite_2_3_24" = callPackage ({ mkDerivation, base, base16-bytestring, bytestring, directory , HUnit, semigroups, temporary, text }: @@ -65130,13 +69339,14 @@ self: { pname = "direct-sqlite"; version = "2.3.24"; sha256 = "0xd6wcmshzadwqjgd9ddcfi76p0v2c18h49spl076h285kp3plj1"; + revision = "1"; + editedCabalFile = "0cfl7h43q2qib1qq8sipgcxcm3i9d6cp1diwmxv8n7ygx7awz6w6"; libraryHaskellDepends = [ base bytestring semigroups text ]; testHaskellDepends = [ base base16-bytestring bytestring directory HUnit temporary text ]; description = "Low-level binding to SQLite3. Includes UTF8 and BLOB support."; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "directed-cubical" = callPackage @@ -65154,14 +69364,15 @@ self: { description = "Finite directed cubical complexes and associated algorithms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "directory_1_3_3_2" = callPackage + "directory_1_3_4_0" = callPackage ({ mkDerivation, base, filepath, time, unix }: mkDerivation { pname = "directory"; - version = "1.3.3.2"; - sha256 = "0nr0lwpi20slgqc22br9ldrs57573irqbck8am0pz0gz3yvmqis3"; + version = "1.3.4.0"; + sha256 = "19akp75rb3zwjfxcjamj05br865rd54y1gbyyfrb3a9506zcpsfm"; libraryHaskellDepends = [ base filepath time unix ]; testHaskellDepends = [ base filepath time unix ]; description = "Platform-agnostic library for filesystem operations"; @@ -65219,6 +69430,19 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "direm" = callPackage + ({ mkDerivation, base, directory }: + mkDerivation { + pname = "direm"; + version = "0.1.0.0"; + sha256 = "048503bgikwffvqa00yxawr1lmqy523i9zvs05dyim6v927m1fmx"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ base directory ]; + description = "Deletes a directory and retains its contents in the parent directory"; + license = stdenv.lib.licenses.gpl3; + }) {}; + "dirfiles" = callPackage ({ mkDerivation, aeson, base, containers, hblock, safecopy, text , time, unordered-containers @@ -65233,6 +69457,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dirstream" = callPackage @@ -65252,6 +69477,28 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "dirtree" = callPackage + ({ mkDerivation, base, containers, deepseq, directory, filepath + , hspec, hspec-discover, hspec-expectations-pretty-diff, lens + }: + mkDerivation { + pname = "dirtree"; + version = "0.0.1"; + sha256 = "0i7prw2bzf5yjk42y1zvpjph8s5a73x1rj3dgba4mzdx3qpcs1gj"; + libraryHaskellDepends = [ + base containers deepseq directory filepath lens + ]; + testHaskellDepends = [ + base containers deepseq directory filepath hspec hspec-discover + hspec-expectations-pretty-diff lens + ]; + testToolDepends = [ hspec-discover ]; + description = "A small library for working with directories"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "disassembler" = callPackage ({ mkDerivation, array, base, containers, mtl, parsec }: mkDerivation { @@ -65285,6 +69532,18 @@ self: { description = "Client for Discogs REST API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "discokitty" = callPackage + ({ mkDerivation, base, containers }: + mkDerivation { + pname = "discokitty"; + version = "0.1.0"; + sha256 = "0axz9k5j9yfk58icnycr93b6d5fqylgqlxi8v7w5sv1n28hrpvvj"; + libraryHaskellDepends = [ base containers ]; + description = "DisCoCat implementation"; + license = stdenv.lib.licenses.gpl3; }) {}; "discord-gateway" = callPackage @@ -65303,27 +69562,32 @@ self: { description = "An API wrapper for Discord in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "discord-haskell" = callPackage ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring - , containers, data-default, http-client, iso8601-time, JuicyPixels - , MonadRandom, req, safe-exceptions, text, time + , containers, data-default, emoji, http-client, iso8601-time + , JuicyPixels, MonadRandom, req, safe-exceptions, text, time , unordered-containers, vector, websockets, wuss }: mkDerivation { pname = "discord-haskell"; - version = "0.8.0"; - sha256 = "10lmn9wkrzzslwbxgw9l25hyxldprz1ig87glg681aibssh0p54m"; + version = "1.0.0"; + sha256 = "1z0d46gd7rgwbh05ws6hcp4rikach0yg1fim6ni0ww4g0mksj8j3"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ aeson async base base64-bytestring bytestring containers - data-default http-client iso8601-time JuicyPixels MonadRandom req - safe-exceptions text time unordered-containers vector websockets - wuss + data-default emoji http-client iso8601-time JuicyPixels MonadRandom + req safe-exceptions text time unordered-containers vector + websockets wuss ]; + executableHaskellDepends = [ base text ]; description = "Write bots for Discord in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "discord-hs" = callPackage @@ -65341,6 +69605,7 @@ self: { description = "An API wrapper for Discord in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "discord-rest" = callPackage @@ -65361,6 +69626,7 @@ self: { description = "An API wrapper for Discord in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "discord-types" = callPackage @@ -65380,6 +69646,7 @@ self: { description = "Type information for discord-hs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "discordian-calendar" = callPackage @@ -65392,6 +69659,7 @@ self: { description = "library for handling Discordian calendar dates"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "discount" = callPackage @@ -65447,19 +69715,17 @@ self: { "discrimination" = callPackage ({ mkDerivation, array, base, containers, contravariant, criterion - , deepseq, ghc-prim, hashable, primitive, profunctors, promises - , semigroups, transformers, transformers-compat + , deepseq, ghc-prim, hashable, integer-gmp, primitive, profunctors + , promises, semigroups, transformers, transformers-compat , unordered-containers, vector, void }: mkDerivation { pname = "discrimination"; - version = "0.3"; - sha256 = "18scvjb4vj1y9mwhanr8h73bs80h1d23m2vrixm48riyg22v5m6n"; - revision = "1"; - editedCabalFile = "1p39vcdmv9k9wxlkh49w1dr1isvn2hvhjjbs95qwljpxca74i23g"; + version = "0.4"; + sha256 = "085lhsvyp4d135p9yhgyl2s92f4cjdsghk1nsp8mjjddh6hxl20a"; libraryHaskellDepends = [ array base containers contravariant deepseq ghc-prim hashable - primitive profunctors promises semigroups transformers + integer-gmp primitive profunctors promises semigroups transformers transformers-compat vector void ]; benchmarkHaskellDepends = [ @@ -65471,21 +69737,24 @@ self: { }) {}; "disjoint-containers" = callPackage - ({ mkDerivation, aeson, base, containers, doctest, QuickCheck - , quickcheck-classes, semigroups, transformers + ({ mkDerivation, aeson, base, containers, doctest, enum-types + , QuickCheck, quickcheck-classes, quickcheck-enum-instances + , semigroups, tasty, tasty-quickcheck, transformers }: mkDerivation { pname = "disjoint-containers"; - version = "0.2.3"; - sha256 = "0a6y1m0jq3lxj5vwgn4j4ij8xgkrkxb4nr7n3ba98sv8iaf1q8gw"; + version = "0.2.4"; + sha256 = "0x64x327842da1a3bhbkrc88za300f3c2wd9fyci3qqm0mv7fdjk"; libraryHaskellDepends = [ aeson base containers transformers ]; testHaskellDepends = [ - aeson base containers doctest QuickCheck quickcheck-classes - semigroups + aeson base containers doctest enum-types QuickCheck + quickcheck-classes quickcheck-enum-instances semigroups tasty + tasty-quickcheck ]; description = "Disjoint containers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "disjoint-set" = callPackage @@ -65503,6 +69772,7 @@ self: { description = "Persistent disjoint-sets, a.k.a union-find."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "disjoint-set-stateful" = callPackage @@ -65516,6 +69786,7 @@ self: { description = "Monadic disjoint set"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "disjoint-sets-st" = callPackage @@ -65559,6 +69830,7 @@ self: { description = "Disk-based hash table"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "display" = callPackage @@ -65593,6 +69865,7 @@ self: { description = "Allows storing different resource-releasing actions together"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dist-upload" = callPackage @@ -65608,6 +69881,7 @@ self: { description = "Generate/Upload cabal package to Hackage"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distance" = callPackage @@ -65622,6 +69896,7 @@ self: { description = "Useful distance datatype and functions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distance-of-time" = callPackage @@ -65642,8 +69917,8 @@ self: { }: mkDerivation { pname = "distributed-closure"; - version = "0.4.1"; - sha256 = "1rkw5r5r3jlrkckjkqv290qx890a8sipx1c7n2syk1f6bshgwkny"; + version = "0.4.1.1"; + sha256 = "0w3n13a0rdi6cw5h3sivrfnr96qizd2hk0gma7b9c7hdh0sxw89r"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -65653,7 +69928,6 @@ self: { testHaskellDepends = [ base binary hspec QuickCheck ]; description = "Serializable closures for distributed programming"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "distributed-fork" = callPackage @@ -65672,7 +69946,6 @@ self: { testHaskellDepends = [ base tasty tasty-hunit unix ]; description = "Like 'forkIO', but uses remote machines instead of local threads"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "distributed-fork-aws-lambda" = callPackage @@ -65700,6 +69973,7 @@ self: { description = "AWS Lambda backend for distributed-fork"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process" = callPackage @@ -65725,6 +69999,7 @@ self: { description = "Cloud Haskell: Erlang-style concurrency in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-async" = callPackage @@ -65753,6 +70028,7 @@ self: { description = "Cloud Haskell Async API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-azure" = callPackage @@ -65776,6 +70052,7 @@ self: { description = "Microsoft Azure backend for Cloud Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-client-server" = callPackage @@ -65806,6 +70083,7 @@ self: { description = "The Cloud Haskell Application Platform"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-ekg" = callPackage @@ -65822,6 +70100,7 @@ self: { description = "Collect node stats for EKG"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-execution" = callPackage @@ -65858,6 +70137,7 @@ self: { description = "Execution Framework for The Cloud Haskell Application Platform"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-extras" = callPackage @@ -65889,6 +70169,7 @@ self: { description = "Cloud Haskell Extras"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-fsm" = callPackage @@ -65922,6 +70203,7 @@ self: { description = "The Cloud Haskell implementation of Erlang/OTP gen_statem"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-lifted" = callPackage @@ -65948,6 +70230,7 @@ self: { description = "monad-control style typeclass and transformer instances for Process monad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-monad-control" = callPackage @@ -65965,6 +70248,7 @@ self: { description = "Orphan instances for MonadBase and MonadBaseControl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-p2p" = callPackage @@ -65986,6 +70270,7 @@ self: { description = "Peer-to-peer node discovery for Cloud Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-platform" = callPackage @@ -66017,6 +70302,7 @@ self: { description = "The Cloud Haskell Application Platform"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-registry" = callPackage @@ -66050,6 +70336,7 @@ self: { description = "Cloud Haskell Extended Process Registry"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-simplelocalnet" = callPackage @@ -66073,6 +70360,7 @@ self: { description = "Simple zero-configuration backend for Cloud Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-supervisor" = callPackage @@ -66105,6 +70393,7 @@ self: { description = "Supervisors for The Cloud Haskell Application Platform"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-systest" = callPackage @@ -66125,6 +70414,7 @@ self: { description = "Cloud Haskell Test Support"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-task" = callPackage @@ -66162,6 +70452,7 @@ self: { description = "Task Framework for The Cloud Haskell Application Platform"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-tests" = callPackage @@ -66186,6 +70477,7 @@ self: { description = "Tests and test support tools for distributed-process"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-process-zookeeper" = callPackage @@ -66215,6 +70507,7 @@ self: { description = "A Zookeeper back-end for Cloud Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributed-static" = callPackage @@ -66223,14 +70516,15 @@ self: { }: mkDerivation { pname = "distributed-static"; - version = "0.3.8"; - sha256 = "1hpzsjwmmaj3cj4i54mg6g9dkk6vgwda66y8j14pjqmn49bzcjwm"; + version = "0.3.9"; + sha256 = "1nch2k8dnlf6is2p4skh8vd0qbkgai4r6msfn6r5cr0cqaarb6pf"; libraryHaskellDepends = [ base binary bytestring containers deepseq rank1dynamic ]; description = "Compositional, type-safe, polymorphic static values and closures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distribution" = callPackage @@ -66245,6 +70539,7 @@ self: { description = "Finite discrete probability distributions"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distribution-nixpkgs" = callPackage @@ -66253,8 +70548,8 @@ self: { }: mkDerivation { pname = "distribution-nixpkgs"; - version = "1.1.1"; - sha256 = "1694crd3l9cyc0c5xvqmx62154519g2cnpzc5qmlypwrk258bssm"; + version = "1.2"; + sha256 = "0123plf001136q5gd9brq6vhpnx7db6gixx5sagp5l8jd2qpb244"; libraryHaskellDepends = [ aeson base bytestring Cabal containers deepseq language-nix lens pretty process split @@ -66301,6 +70596,7 @@ self: { description = "Easily plot distributions from the distribution package.."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "distributive" = callPackage @@ -66319,6 +70615,30 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "ditto" = callPackage + ({ mkDerivation, base, containers, mtl, semigroups, text, torsor }: + mkDerivation { + pname = "ditto"; + version = "0.4"; + sha256 = "0qnkv0r5dm73qlrsgwxwzm7f9gbknwcy1dzbjs6vlcmx8hyqh2gp"; + libraryHaskellDepends = [ + base containers mtl semigroups text torsor + ]; + description = "ditto is a type-safe HTML form generation and validation library"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "ditto-lucid" = callPackage + ({ mkDerivation, base, ditto, lucid, path-pieces, text }: + mkDerivation { + pname = "ditto-lucid"; + version = "0.4"; + sha256 = "1if543wf7div8ww90ifdh75i2w99lhbfh8pfnzmd1yaw2j1m35ff"; + libraryHaskellDepends = [ base ditto lucid path-pieces text ]; + description = "Add support for using lucid with Ditto"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "diversity" = callPackage ({ mkDerivation, base, containers, data-ordlist, fasta , math-functions, MonadRandom, optparse-applicative, parsec, pipes @@ -66340,6 +70660,7 @@ self: { description = "Quantify the diversity of a population"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dixi" = callPackage @@ -66378,6 +70699,7 @@ self: { description = "A wiki implemented with a firm theoretical foundation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "djembe" = callPackage @@ -66394,6 +70716,7 @@ self: { description = "Hit drums with haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "djinn" = callPackage @@ -66451,14 +70774,37 @@ self: { description = "Generate executable Haskell code from a type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "dl-fedora" = callPackage + ({ mkDerivation, base, bytestring, directory, filepath + , http-directory, http-types, optparse-applicative, regex-posix + , simple-cmd, simple-cmd-args, text, unix, xdg-userdirs + }: + mkDerivation { + pname = "dl-fedora"; + version = "0.5"; + sha256 = "1zfdf2s8cq171ik3iwq0zcha60i3czpjiy9bqa5wxczbwp0jpaxa"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base bytestring directory filepath http-directory http-types + optparse-applicative regex-posix simple-cmd simple-cmd-args text + unix xdg-userdirs + ]; + description = "Fedora image download tool"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dlist" = callPackage ({ mkDerivation, base, Cabal, deepseq, QuickCheck }: mkDerivation { pname = "dlist"; - version = "0.8.0.5"; - sha256 = "0hqvjld86vna9m0za4g37nv2gml2s8q01208igp4l3dl76l8ma4q"; + version = "0.8.0.7"; + sha256 = "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"; libraryHaskellDepends = [ base deepseq ]; testHaskellDepends = [ base Cabal QuickCheck ]; description = "Difference lists"; @@ -66485,8 +70831,8 @@ self: { pname = "dlist-nonempty"; version = "0.1.1"; sha256 = "0csbspdy43pzvasb5mhs5pz2f49ws78pi253cx7pp84wjx6ads20"; - revision = "4"; - editedCabalFile = "10kkj4sf1bn87z6744p9gn6mkciqri2d3l9vmg9ylpi8g7priil2"; + revision = "5"; + editedCabalFile = "01x05d62y8f3kippxawra3fdr7jdms3zcgd7c4n8wf39np9wy556"; libraryHaskellDepends = [ base base-compat deepseq dlist semigroupoids ]; @@ -66540,6 +70886,8 @@ self: { ]; description = "AVAYA DMCC API bindings and WebSockets server for AVAYA"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dmenu" = callPackage @@ -66556,6 +70904,7 @@ self: { description = "Complete bindings to the dmenu and dmenu2 command line tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dmenu-pkill" = callPackage @@ -66574,6 +70923,7 @@ self: { description = "dmenu script for killing applications. Sortable by process id or CPU/MEM usage."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dmenu-pmount" = callPackage @@ -66592,6 +70942,7 @@ self: { description = "Mounting and unmounting linux devices as user with dmenu and pmount"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dmenu-search" = callPackage @@ -66610,24 +70961,24 @@ self: { description = "dmenu script for searching the web with customizable search engines"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dns" = callPackage - ({ mkDerivation, async, attoparsec, auto-update, base - , base64-bytestring, binary, bytestring, containers, cryptonite - , doctest, hspec, iproute, mtl, network, psqueues, QuickCheck, safe - , time, word8 + ({ mkDerivation, array, async, attoparsec, auto-update, base + , base16-bytestring, base64-bytestring, bytestring, Cabal + , cabal-doctest, containers, cryptonite, doctest, hourglass, hspec + , iproute, mtl, network, psqueues, QuickCheck, word8 }: mkDerivation { pname = "dns"; - version = "3.0.4"; - sha256 = "1aa4zb9zkk244rndimrq8maxj9qrmz3rb13v9n8jblmp6ssk6d3v"; - revision = "1"; - editedCabalFile = "15jafrm919w4p23m7kpmyc1yvzpy88jcccycc00dza69d119zjdr"; + version = "4.0.0"; + sha256 = "0gq0y8pw4x8fja0f3hhwpbxh4rg2i8nzfnp2rxh2py49qfhg38mj"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ - async attoparsec auto-update base base64-bytestring binary - bytestring containers cryptonite iproute mtl network psqueues safe - time + array async attoparsec auto-update base base16-bytestring + base64-bytestring bytestring containers cryptonite hourglass + iproute mtl network psqueues ]; testHaskellDepends = [ base bytestring doctest hspec iproute network QuickCheck word8 @@ -66654,6 +71005,7 @@ self: { description = "Caching DNS resolver library and mass DNS resolver utility"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dnsrbl" = callPackage @@ -66667,6 +71019,7 @@ self: { description = "Asynchronous DNS RBL lookup"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dnssd" = callPackage @@ -66680,6 +71033,7 @@ self: { description = "DNS service discovery bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {dns_sd = null;}; "do-list" = callPackage @@ -66747,6 +71101,7 @@ self: { description = "Document review Web application, like http://book.realworldhaskell.org/"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "doccheck" = callPackage @@ -66766,6 +71121,7 @@ self: { description = "Checks Haddock comments for pitfalls and version changes"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "docidx" = callPackage @@ -66785,6 +71141,7 @@ self: { description = "Generate an HTML index of installed Haskell packages and their documentation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "docker" = callPackage @@ -66800,8 +71157,8 @@ self: { }: mkDerivation { pname = "docker"; - version = "0.6.0.0"; - sha256 = "0i90nkj1fc4swr6nral2y6raa6mmdz8x40sg47ww42dw18q00fjd"; + version = "0.6.0.2"; + sha256 = "00xs5khq74rlc4yqlln7fdhxagzbl526mnd762ivkyikn5ip3p9r"; libraryHaskellDepends = [ aeson base blaze-builder bytestring conduit conduit-combinators conduit-extra containers data-default-class directory exceptions @@ -66819,6 +71176,7 @@ self: { description = "An API client for docker written in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "docker-build-cacher" = callPackage @@ -66842,6 +71200,7 @@ self: { description = "Builds a docker image and caches all of its intermediate stages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dockercook" = callPackage @@ -66876,6 +71235,7 @@ self: { description = "A build tool for multiple docker image layers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dockerfile" = callPackage @@ -66890,6 +71250,24 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "doclayout" = callPackage + ({ mkDerivation, base, criterion, mtl, safe, tasty, tasty-golden + , tasty-hunit, text + }: + mkDerivation { + pname = "doclayout"; + version = "0.1"; + sha256 = "1dmjj3z15vr5czy5gkwzs5zvz23ap1qpya3qlqfs5phslpbsada3"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ base mtl safe text ]; + testHaskellDepends = [ + base mtl tasty tasty-golden tasty-hunit text + ]; + benchmarkHaskellDepends = [ base criterion mtl text ]; + description = "A prettyprinting library for laying out text documents"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "docopt" = callPackage ({ mkDerivation, aeson, ansi-terminal, base, bytestring, containers , HUnit, parsec, split, template-haskell, text, th-lift @@ -66942,16 +71320,42 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "doctemplates_0_5" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, criterion + , doclayout, filepath, Glob, mtl, parsec, safe, scientific, tasty + , tasty-golden, tasty-hunit, temporary, text, unordered-containers + , vector + }: + mkDerivation { + pname = "doctemplates"; + version = "0.5"; + sha256 = "0xdma2j1bim31mvkqc6362rbmv193fyznd3y4ipdgd113zkj7hy6"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson base containers doclayout filepath mtl parsec safe scientific + text unordered-containers vector + ]; + testHaskellDepends = [ + aeson base bytestring filepath Glob tasty tasty-golden tasty-hunit + temporary text + ]; + benchmarkHaskellDepends = [ + aeson base containers criterion filepath mtl text + ]; + description = "Pandoc-style document templates"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "doctest" = callPackage ({ mkDerivation, base, base-compat, code-page, deepseq, directory , filepath, ghc, ghc-paths, hspec, HUnit, mockery, process , QuickCheck, setenv, silently, stringbuilder, syb, transformers - , with-location }: mkDerivation { pname = "doctest"; - version = "0.16.0.1"; - sha256 = "106pc4rs4cfym7754gzdgy36dm9aidwmnqpjm9k7yq1hfd4pallv"; + version = "0.16.1"; + sha256 = "1xnm1sbm9lpfxw5yav8qpqr85aap94k9df6n5kx70bp6h69qnrrq"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -66965,12 +71369,41 @@ self: { testHaskellDepends = [ base base-compat code-page deepseq directory filepath ghc ghc-paths hspec HUnit mockery process QuickCheck setenv silently - stringbuilder syb transformers with-location + stringbuilder syb transformers ]; description = "Test interactive Haskell examples"; license = stdenv.lib.licenses.mit; }) {}; + "doctest_0_16_2" = callPackage + ({ mkDerivation, base, base-compat, code-page, deepseq, directory + , filepath, ghc, ghc-paths, hspec, HUnit, mockery, process + , QuickCheck, setenv, silently, stringbuilder, syb, transformers + }: + mkDerivation { + pname = "doctest"; + version = "0.16.2"; + sha256 = "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base base-compat code-page deepseq directory filepath ghc ghc-paths + process syb transformers + ]; + executableHaskellDepends = [ + base base-compat code-page deepseq directory filepath ghc ghc-paths + process syb transformers + ]; + testHaskellDepends = [ + base base-compat code-page deepseq directory filepath ghc ghc-paths + hspec HUnit mockery process QuickCheck setenv silently + stringbuilder syb transformers + ]; + description = "Test interactive Haskell examples"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "doctest-discover" = callPackage ({ mkDerivation, aeson, base, bytestring, directory, doctest , filepath @@ -67016,25 +71449,10 @@ self: { description = "Easy way to run doctests via cabal (no aeson dependency, uses configurator instead)"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "doctest-driver-gen" = callPackage - ({ mkDerivation, base, doctest }: - mkDerivation { - pname = "doctest-driver-gen"; - version = "0.3.0.0"; - sha256 = "13m5f15076grwln29pnpqrq9h45cy46pagpk1qw3vzspp7k4ahk1"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base ]; - executableHaskellDepends = [ base ]; - testHaskellDepends = [ base doctest ]; - description = "Generate driver file for doctest's cabal integration"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "doctest-driver-gen_0_3_0_1" = callPackage ({ mkDerivation, base, doctest }: mkDerivation { pname = "doctest-driver-gen"; @@ -67048,6 +71466,7 @@ self: { description = "Generate driver file for doctest's cabal integration"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "doctest-prop" = callPackage @@ -67061,6 +71480,7 @@ self: { description = "Allow QuickCheck-style property testing within doctest"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "docusign-base" = callPackage @@ -67077,7 +71497,6 @@ self: { ]; description = "Low-level bindings to the DocuSign API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "docusign-base-minimal" = callPackage @@ -67094,26 +71513,25 @@ self: { ]; description = "Low-level bindings to the DocuSign API (only what is necessary for docusign-client)"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "docusign-client" = callPackage ({ mkDerivation, aeson, base, base64-bytestring, bytestring , data-default, docusign-base-minimal, exceptions, http-client - , http-client-tls, http-types, servant-client, text, uuid + , http-client-tls, http-types, servant-client, servant-client-core + , text, uuid }: mkDerivation { pname = "docusign-client"; - version = "0.0.2"; - sha256 = "14dpb1wdi6372b129hi85ksj2klxdvwnq758742akrrhaaz3lisx"; + version = "0.0.3"; + sha256 = "0gaqcxdl40fhpik6n8fgs717gri1g90xkhmxii5535513lp67id2"; libraryHaskellDepends = [ aeson base base64-bytestring bytestring data-default docusign-base-minimal exceptions http-client http-client-tls - http-types servant-client text uuid + http-types servant-client servant-client-core text uuid ]; description = "Client bindings for the DocuSign API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "docusign-example" = callPackage @@ -67133,6 +71551,7 @@ self: { description = "DocuSign examples"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "docvim" = callPackage @@ -67160,6 +71579,7 @@ self: { description = "Documentation generator for Vim plug-ins"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "doi" = callPackage @@ -67189,6 +71609,27 @@ self: { description = "Automatic Bibtex and fulltext of scientific articles"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "doldol" = callPackage + ({ mkDerivation, base, HUnit, QuickCheck, test-framework + , test-framework-hunit, test-framework-quickcheck2 + , test-framework-th + }: + mkDerivation { + pname = "doldol"; + version = "0.4.1.2"; + sha256 = "0r9ylifyyv2mg4b94ikv8q56j0z5f6qa8r2jcpqg0xzdznwxqlv5"; + revision = "1"; + editedCabalFile = "0xwbdrfzd6z3nwkgnav2drisw2sn464ggkz8fid58cym9hbfpl47"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ + base HUnit QuickCheck test-framework test-framework-hunit + test-framework-quickcheck2 test-framework-th + ]; + description = "Flag packer & handler for flaggable data"; + license = stdenv.lib.licenses.bsd3; }) {}; "dollaridoos" = callPackage @@ -67203,15 +71644,20 @@ self: { }) {}; "dom-lt" = callPackage - ({ mkDerivation, array, base, containers }: + ({ mkDerivation, array, base, containers, criterion, deepseq }: mkDerivation { pname = "dom-lt"; - version = "0.1.3"; - sha256 = "0i51d8d49jpf7mhl6c2a4565d4vmh0x5f4kam46hn5ahb1v2nrga"; + version = "0.2.0"; + sha256 = "15jf1csnqwd56izw5zk6kbp2kk6y0zkgm9ddbwrk0k3ngmdqzkli"; + revision = "1"; + editedCabalFile = "1rkjm9ssi7j2klf11b8w1wlw3hg4ybcfxdi2klik6lm5mpb52x7w"; libraryHaskellDepends = [ array base containers ]; + testHaskellDepends = [ base containers ]; + benchmarkHaskellDepends = [ base containers criterion deepseq ]; description = "The Lengauer-Tarjan graph dominators algorithm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dom-parser" = callPackage @@ -67272,6 +71718,7 @@ self: { description = "Domain authentication library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dominion" = callPackage @@ -67304,20 +71751,20 @@ self: { description = "A simple templating library using HTML5 as its template language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dot" = callPackage - ({ mkDerivation, base, impure-containers, text }: + ({ mkDerivation, base, text }: mkDerivation { pname = "dot"; - version = "0.2.2"; - sha256 = "0j4v7vbmm6gfv1y4dp0r7ajiw7iinzflhw8sp867gyafszrpb0a3"; - revision = "1"; - editedCabalFile = "1dc8piglcvaxj0nq946xv185ynh1bk5ca0czrw25p4hji9iji0w1"; - libraryHaskellDepends = [ base impure-containers text ]; - description = "Data types and encoding for graphviz dot files"; + version = "0.3"; + sha256 = "10w45ssasprag42d59lln733swr7s7a15v64ys6qzzl6ina4s55n"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base text ]; + description = "Datatypes and encoding for graphviz dot files"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "dot-linker" = callPackage @@ -67345,6 +71792,7 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dot2graphml" = callPackage @@ -67358,6 +71806,8 @@ self: { executableHaskellDepends = [ base containers graphviz hxt text ]; description = "Converter from GraphViz .dot format to yEd GraphML"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dotenv" = callPackage @@ -67367,8 +71817,8 @@ self: { }: mkDerivation { pname = "dotenv"; - version = "0.8.0.0"; - sha256 = "0b1pz7wh5kf0sjkig0y4ks6i2z5yzpvlnd6hgzl0sj4j6w2j35ly"; + version = "0.8.0.2"; + sha256 = "0an7spi0cgvzr64nyy7p8pdslyf0jlh9l2ww52jbh1habsxjn6fp"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -67387,6 +71837,7 @@ self: { description = "Loads environment variables from dotenv files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dotfs" = callPackage @@ -67419,6 +71870,7 @@ self: { description = "Filesystem to manage and parse dotfiles"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dotgen" = callPackage @@ -67499,6 +71951,7 @@ self: { description = "Doublify API toolkit for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dove" = callPackage @@ -67514,29 +71967,31 @@ self: { "dovin" = callPackage ({ mkDerivation, base, Cabal, containers, directory, filepath - , hashable, lens, mtl, parsec, tasty, tasty-discover, tasty-hunit - , tasty-quickcheck, unordered-containers + , hashable, lens, mtl, parsec, split, tasty, tasty-discover + , tasty-hunit, tasty-quickcheck, unordered-containers }: mkDerivation { pname = "dovin"; - version = "0.1.0.1"; - sha256 = "1imllaywr647vkgwk7j3ha1zv3h4bks64jpjn0y3q15mlzmrcdws"; + version = "0.2"; + sha256 = "0iy2hfmf3riwmj880if7ar30vrwnfpmyv8dhkx42hlzjb8mg538q"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal directory filepath ]; libraryHaskellDepends = [ - base containers hashable lens mtl parsec unordered-containers + base containers hashable lens mtl parsec split unordered-containers ]; executableHaskellDepends = [ - base containers hashable lens mtl parsec unordered-containers + base containers hashable lens mtl parsec split unordered-containers ]; testHaskellDepends = [ - base containers hashable lens mtl parsec tasty tasty-discover + base containers hashable lens mtl parsec split tasty tasty-discover tasty-hunit tasty-quickcheck unordered-containers ]; testToolDepends = [ tasty-discover ]; description = "A proof assistant for Magic: The Gathering puzzles"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dow" = callPackage @@ -67561,8 +72016,8 @@ self: { ({ mkDerivation, base, bytestring, feed, hspec, tagsoup, xml }: mkDerivation { pname = "download"; - version = "0.3.2.6"; - sha256 = "1wpf8kxq924482p7bm5l24nhmvrr75sjqinfjkj6x2x55hd40vd0"; + version = "0.3.2.7"; + sha256 = "1qg61d7z05dxpzfnv1gyf0dm2mpx23p29a9n5mx4pham5hfmfm3i"; libraryHaskellDepends = [ base bytestring feed tagsoup xml ]; testHaskellDepends = [ base hspec ]; description = "High-level file download based on URLs"; @@ -67598,6 +72053,7 @@ self: { description = "Simple tool to download images from RSS feeds (e.g. Flickr, Picasa)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dozenal" = callPackage @@ -67610,6 +72066,7 @@ self: { description = "A Haskell library for using Dozenal (Duodecimal - Base 12) numbers"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dozens" = callPackage @@ -67630,6 +72087,7 @@ self: { description = "dozens api library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dph-base" = callPackage @@ -67644,6 +72102,7 @@ self: { description = "Data Parallel Haskell common config and debugging functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dph-examples" = callPackage @@ -67663,6 +72122,7 @@ self: { description = "Data Parallel Haskell example programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dph-lifted-base" = callPackage @@ -67680,6 +72140,7 @@ self: { description = "Data Parallel Haskell common definitions used by other dph-lifted packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dph-lifted-copy" = callPackage @@ -67696,6 +72157,7 @@ self: { description = "Data Parallel Haskell lifted array combinators. (deprecated version)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dph-lifted-vseg" = callPackage @@ -67713,6 +72175,7 @@ self: { description = "Data Parallel Haskell lifted array combinators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dph-par" = callPackage @@ -67736,6 +72199,7 @@ self: { description = "Data Parallel Haskell segmented arrays. (abstract interface)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dph-prim-par" = callPackage @@ -67753,6 +72217,7 @@ self: { description = "Data Parallel Haskell segmented arrays. (production version)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dph-prim-seq" = callPackage @@ -67769,6 +72234,7 @@ self: { description = "Data Parallel Haskell segmented arrays. (sequential implementation)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dph-seq" = callPackage @@ -67801,6 +72267,7 @@ self: { description = "libdpkg bindings"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) dpkg; libdpkg = null;}; "dpor" = callPackage @@ -67815,6 +72282,30 @@ self: { description = "A generic implementation of dynamic partial-order reduction (DPOR) for testing arbitrary models of concurrency"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "dprox" = callPackage + ({ mkDerivation, attoparsec, base, bytestring, containers, dns + , hspec, iproute, network, optparse-applicative, streaming-commons + , unix, unordered-containers + }: + mkDerivation { + pname = "dprox"; + version = "0.1.2.1"; + sha256 = "16z7qx76qy2gjz2j630maa2jgiqhphi8vpphbdywgk1abg7iwhrz"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + attoparsec base bytestring containers dns iproute network + optparse-applicative streaming-commons unix unordered-containers + ]; + testHaskellDepends = [ + attoparsec base bytestring containers dns hspec iproute network + optparse-applicative streaming-commons unix unordered-containers + ]; + description = "a lightweight DNS proxy server"; + license = stdenv.lib.licenses.bsd3; }) {}; "drClickOn" = callPackage @@ -67827,6 +72318,7 @@ self: { description = "Monadic FRP"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dragen" = callPackage @@ -67848,6 +72340,7 @@ self: { description = "Automatic derivation of optimized QuickCheck random generators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "draw-poker" = callPackage @@ -67880,6 +72373,7 @@ self: { description = "A port of asciimoo's drawille to haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dresdner-verkehrsbetriebe" = callPackage @@ -67903,6 +72397,7 @@ self: { description = "Library and program for querying DVB (Dresdner Verkehrsbetriebe AG)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "drifter" = callPackage @@ -67911,15 +72406,14 @@ self: { }: mkDerivation { pname = "drifter"; - version = "0.2.3"; - sha256 = "0f16v4v0ff27qk71a6fsrcwy02nc53g9q1qrfscn8q3swi3rslyz"; + version = "0.2.4"; + sha256 = "012x67lncwlrf2kjmfki4lz3sclpj1gjf7wyszagwm523grp1qly"; libraryHaskellDepends = [ base containers fgl text ]; testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck text ]; description = "Simple schema management for arbitrary databases"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "drifter-postgresql" = callPackage @@ -67941,6 +72435,7 @@ self: { description = "PostgreSQL support for the drifter schema migration tool"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "drifter-sqlite" = callPackage @@ -67960,7 +72455,6 @@ self: { ]; description = "SQLite support for the drifter schema migraiton tool"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "drinkery" = callPackage @@ -67986,8 +72480,29 @@ self: { description = "A Haskell bindings to the DRMAA C library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {drmaa = null;}; + "drone" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, extensible + , formatting, hspec, microlens, req, servant-server, text, warp + }: + mkDerivation { + pname = "drone"; + version = "1.0.1"; + sha256 = "1qhgikixnzsqyywxnrgl2099klcxk17djbbz23hxvxmibay1pm8w"; + libraryHaskellDepends = [ + base bytestring containers extensible formatting microlens req text + ]; + testHaskellDepends = [ + aeson base bytestring containers extensible formatting hspec + microlens req servant-server text warp + ]; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "dropbox-sdk" = callPackage ({ mkDerivation, base, blaze-builder, bytestring, case-insensitive , certificate, conduit, HTTP, http-conduit, http-types, json @@ -68008,6 +72523,7 @@ self: { description = "A library to access the Dropbox HTTP API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dropsolve" = callPackage @@ -68027,6 +72543,7 @@ self: { description = "A command line tool for resolving dropbox conflicts. Deprecated! Please use confsolve."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ds-kanren" = callPackage @@ -68042,6 +72559,7 @@ self: { description = "A subset of the miniKanren language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dsc" = callPackage @@ -68089,6 +72607,7 @@ self: { description = "SQL backend for Database Supported Haskell (DSH)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dsmc" = callPackage @@ -68107,6 +72626,7 @@ self: { description = "DSMC library for rarefied gas dynamics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dsmc-tools" = callPackage @@ -68127,18 +72647,18 @@ self: { description = "DSMC toolkit for rarefied gas dynamics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dson" = callPackage ({ mkDerivation, base, parsec }: mkDerivation { pname = "dson"; - version = "0.3.0.0"; - sha256 = "15pqja0q1lram7xi5xk8dlcfg5m1z0l4zscqw24wm50hmqpxi09d"; + version = "0.3.0.1"; + sha256 = "1vv32n736ncjsy4psp8zlqmpp0r7mncjq65zwkhq5i99jx4chb1q"; libraryHaskellDepends = [ base parsec ]; - description = "Haskell DogeScript Object Notation Parser"; + description = "Haskell Doge Serialized Object Notation Parser"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "dson-parsec" = callPackage @@ -68151,14 +72671,15 @@ self: { description = "DSON parser"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dsp" = callPackage ({ mkDerivation, array, base, containers, QuickCheck, random }: mkDerivation { pname = "dsp"; - version = "0.2.4.1"; - sha256 = "0b748v9v9i7kw2djnb9a89yjw0nhwhb5sfml3x6ajydjhx79a8ik"; + version = "0.2.5"; + sha256 = "1lka6l0xf3p7cb9ikzvszwgr7pl3gjm0s5v312p6k4w1fqqsycl5"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ array base containers random ]; @@ -68177,6 +72698,7 @@ self: { description = "Difference strings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dtab" = callPackage @@ -68198,6 +72720,7 @@ self: { description = "Harmonix (Guitar Hero, Rock Band) DTA/DTB metadata library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dtd" = callPackage @@ -68218,6 +72741,7 @@ self: { description = "Parse and render DTD files (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dtd-text" = callPackage @@ -68234,6 +72758,7 @@ self: { description = "Parse and render XML DTDs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dtd-types" = callPackage @@ -68276,6 +72801,7 @@ self: { description = "(Fast) Dynamic Time Warping"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dual" = callPackage @@ -68288,6 +72814,7 @@ self: { description = "Dual category"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dual-game" = callPackage @@ -68298,8 +72825,8 @@ self: { pname = "dual-game"; version = "0.1.0.1"; sha256 = "1w69d7d2xbpi82n41gq08qdmldh834ka7qwvy159vsac556wwcfg"; - revision = "2"; - editedCabalFile = "077gbc640ab3846bijbiif89r3ska3aab7g2r9cd7dl9c7iy35w8"; + revision = "5"; + editedCabalFile = "1i87w3frlicplbc3gkp0msz1ck1irfmy9ym2n2ffxglv18vaczb6"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -68307,7 +72834,6 @@ self: { ]; description = "Network multiplayer 2D shooting game"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "dual-tree" = callPackage @@ -68369,7 +72895,6 @@ self: { ]; description = "XML streaming parser/renderer for the Dublin Core standard elements"; license = stdenv.lib.licenses.publicDomain; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "duckling" = callPackage @@ -68411,6 +72936,8 @@ self: { pname = "dumb-cas"; version = "0.2.0.0"; sha256 = "1zcq9r2p5gjpfivprjp9hspqpayrj9in2jck5vf5ibxpc671isb4"; + revision = "1"; + editedCabalFile = "1269wjyywvi86gmpqdpq2niv5ifns0bqr1i5229w69jdlzrc6dqg"; libraryHaskellDepends = [ base containers decimal-literals hashable template-haskell unordered-containers @@ -68418,7 +72945,6 @@ self: { testHaskellDepends = [ base tasty tasty-hunit ]; description = "A computer “algebra” system that knows nothing about algebra, at the core"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "dump" = callPackage @@ -68534,6 +73060,20 @@ self: { description = "Frontend development build tool"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "dura" = callPackage + ({ mkDerivation, base, bytestring, directory, filepath }: + mkDerivation { + pname = "dura"; + version = "0.1"; + sha256 = "0sm5f8678lym1maavvx0jsl0px3phry6687wsvf5askbrdyla84m"; + revision = "1"; + editedCabalFile = "018pwi48hx6jcy9gkbbc4gcbjxa2n8b4lbfmd18mnm49ymwyyqlv"; + libraryHaskellDepends = [ base bytestring directory filepath ]; + description = "durable/atomic file system writes (from rio package)"; + license = stdenv.lib.licenses.bsd3; }) {}; "duration" = callPackage @@ -68574,6 +73114,26 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "dvault" = callPackage + ({ mkDerivation, base, bytestring, containers, crypto-rng + , data-default, directory, process, vector + }: + mkDerivation { + pname = "dvault"; + version = "0.1.0.0"; + sha256 = "1djk7c7zbkhr95nvrn4wf864yl425w0ifwgsb5f4al0gyv1cx0c9"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base bytestring containers crypto-rng data-default directory + process vector + ]; + description = "Dead simple password manager"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "dvda" = callPackage ({ mkDerivation, ad, base, containers, directory, fgl , file-location, graphviz, hashable, hashtables, mtl, process @@ -68595,6 +73155,7 @@ self: { description = "Efficient automatic differentiation and code generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dvdread" = callPackage @@ -68609,6 +73170,7 @@ self: { description = "A monadic interface to libdvdread"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {dvdread = null;}; "dvi-processing" = callPackage @@ -68621,6 +73183,7 @@ self: { description = "Read/write DVI and TFM file"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dvorak" = callPackage @@ -68680,6 +73243,7 @@ self: { description = "High-level wrapper around the dwarf library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dwergaz" = callPackage @@ -68703,7 +73267,7 @@ self: { libraryHaskellDepends = [ base Win32 ]; description = "Backend for a binding to the Microsoft DirectX 9 API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {}; "dx9d3d" = callPackage @@ -68716,7 +73280,7 @@ self: { librarySystemDepends = [ d3d9 ]; description = "A binding to the Microsoft DirectX 9 API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {d3d9 = null;}; "dx9d3dx" = callPackage @@ -68729,7 +73293,7 @@ self: { librarySystemDepends = [ d3dx9 ]; description = "A binding to the Microsoft DirectX 9 D3DX API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {d3dx9 = null;}; "dyckword" = callPackage @@ -68747,6 +73311,36 @@ self: { description = "A library for working with binary Dyck words"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "dyepack" = callPackage + ({ mkDerivation, base, generics-sop }: + mkDerivation { + pname = "dyepack"; + version = "0.1.0.0"; + sha256 = "02kdcfnagp0aadfjhn17b47pz9bknl0yisyqpnf79v7g27szb74a"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base generics-sop ]; + description = "Programatically identify space leaks in your program"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "dynamic" = callPackage + ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cassava + , containers, http-conduit, text, unordered-containers, vector + }: + mkDerivation { + pname = "dynamic"; + version = "0.1.0"; + sha256 = "186c1y2qh6fdc72icf3pcqcyp8g3yz4shsch24zfz0r7zhya5xza"; + libraryHaskellDepends = [ + aeson aeson-pretty base bytestring cassava containers http-conduit + text unordered-containers vector + ]; + description = "A dynamic type for Haskell"; + license = stdenv.lib.licenses.bsd3; }) {}; "dynamic-cabal" = callPackage @@ -68769,6 +73363,7 @@ self: { description = "Access the functions from the Cabal library without depending on it"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dynamic-graph" = callPackage @@ -68777,15 +73372,14 @@ self: { }: mkDerivation { pname = "dynamic-graph"; - version = "0.1.0.12"; - sha256 = "1jygkj2jryjxlkyf0104abhkhjmfdvjaaa4zcyz7kgpny342fhiy"; + version = "0.1.0.13"; + sha256 = "1gx3hqbps8mvhxm03j5wri7v4qy3z42kcy8rhhcxq7dd0mryd4rz"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base cairo colour GLFW-b GLUtil OpenGL pango pipes transformers ]; description = "Draw and update graphs in real time with OpenGL"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "dynamic-graphs" = callPackage @@ -68870,6 +73464,7 @@ self: { description = "Object-oriented programming with duck typing and singleton classes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dynamic-plot" = callPackage @@ -68882,10 +73477,10 @@ self: { }: mkDerivation { pname = "dynamic-plot"; - version = "0.3.0.0"; - sha256 = "0a674aqs9jnkga3a9sp24qyr3fssbizh4p1zwfvzwafnjrbmrc5c"; + version = "0.4.0.0"; + sha256 = "1klq7lwvfwwp6z842g50a2xx6cqihp8a6551f935nr2sx9hwdr94"; revision = "1"; - editedCabalFile = "0f0n6pkgvhgvqh33dlzid3mb35r87w9kirdilky6zk8bcr2li4da"; + editedCabalFile = "0x5jxjvwfkax6lxwk28hd2p903q6zmr1nxhyahrwcnqgh6ygywiw"; libraryHaskellDepends = [ base colour colour-space constrained-categories containers data-default deepseq diagrams-cairo diagrams-core diagrams-gtk @@ -68897,6 +73492,7 @@ self: { description = "Interactive diagram windows"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dynamic-pp" = callPackage @@ -68918,6 +73514,7 @@ self: { description = "A pretty-print library that employs a dynamic programming algorithm for optimal rendering"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dynamic-state" = callPackage @@ -68938,19 +73535,18 @@ self: { "dynamodb-simple" = callPackage ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-dynamodb , base, bytestring, conduit, containers, double-conversion - , exceptions, generics-sop, hashable, hspec, lens, monad-loops - , monad-supply, safe-exceptions, scientific, semigroups, tagged - , template-haskell, text, transformers, unordered-containers - , uuid-types, vector + , exceptions, generics-sop, hashable, hspec, lens, monad-loops, mtl + , safe-exceptions, scientific, semigroups, tagged, template-haskell + , text, transformers, unordered-containers, uuid-types, vector }: mkDerivation { pname = "dynamodb-simple"; - version = "0.6.0.0"; - sha256 = "0dshi4binsfjrlw7sl1jxa09a1s4qkp3g48x6hchaipk6b1nx960"; + version = "0.6.0.2"; + sha256 = "1mx2ylbvcyskv0pc053mcwlz3mycqrq3g4rgrbk4qhnywx8p7gav"; libraryHaskellDepends = [ aeson amazonka amazonka-core amazonka-dynamodb base bytestring conduit containers double-conversion exceptions generics-sop - hashable lens monad-loops monad-supply scientific semigroups tagged + hashable lens monad-loops mtl scientific semigroups tagged template-haskell text transformers unordered-containers uuid-types vector ]; @@ -68962,6 +73558,7 @@ self: { description = "Typesafe library for working with DynamoDB database"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dynloader" = callPackage @@ -69006,6 +73603,7 @@ self: { description = "your dynamic optimization buddy"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "dyre" = callPackage @@ -69034,6 +73632,42 @@ self: { description = "Bindings to the dywapitchtrack pitch tracking library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "dzen-dhall" = callPackage + ({ mkDerivation, ansi-terminal, base, bytestring, dhall, directory + , file-embed-lzma, filepath, generic-random, hashable, hourglass + , hspec, http-conduit, http-types, HUnit, megaparsec, microlens + , microlens-th, network-uri, optparse-applicative, parsec, parsers + , pipes, prettyprinter, prettyprinter-ansi-terminal, process + , QuickCheck, random, tasty, tasty-hspec, tasty-hunit + , tasty-quickcheck, template-haskell, text, transformers, unix + , unordered-containers, utf8-string, vector + }: + mkDerivation { + pname = "dzen-dhall"; + version = "1.0.0"; + sha256 = "0im78kvjwanlbi097pyvvpj2isssf3iblqbbqsk2iccvdqjyqf5z"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + ansi-terminal base bytestring dhall directory file-embed-lzma + filepath hashable hourglass http-conduit http-types megaparsec + microlens microlens-th network-uri optparse-applicative parsec + parsers pipes prettyprinter prettyprinter-ansi-terminal process + random text transformers unix unordered-containers utf8-string + vector + ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ + base dhall filepath generic-random hspec HUnit microlens + network-uri optparse-applicative parsec QuickCheck tasty + tasty-hspec tasty-hunit tasty-quickcheck template-haskell text + unordered-containers vector + ]; + description = "Configure dzen2 bars in Dhall language"; + license = stdenv.lib.licenses.bsd3; }) {}; "dzen-utils" = callPackage @@ -69046,6 +73680,7 @@ self: { description = "Utilities for creating inputs for dzen"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "each" = callPackage @@ -69106,6 +73741,7 @@ self: { description = "Ear Clipping Triangulation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ease" = callPackage @@ -69118,6 +73754,7 @@ self: { description = "Robert Penner's easing equations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "easy-api" = callPackage @@ -69134,6 +73771,7 @@ self: { description = "Utility code for building HTTP API bindings more quickly"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "easy-bitcoin" = callPackage @@ -69178,6 +73816,7 @@ self: { description = "Haskell JSON library with an emphasis on simplicity, minimal dependencies, and ease of use"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "easyplot" = callPackage @@ -69190,6 +73829,7 @@ self: { description = "A tiny plotting library, utilizes gnuplot for plotting"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "easyrender" = callPackage @@ -69204,29 +73844,34 @@ self: { }) {}; "easytensor" = callPackage - ({ mkDerivation, base, Cabal, dimensions, QuickCheck, time }: + ({ mkDerivation, base, Cabal, constraints-deriving, dimensions + , QuickCheck, template-haskell, time + }: mkDerivation { pname = "easytensor"; - version = "1.0.0.1"; - sha256 = "0ih92gikf67bq9p599vdb9p9dh4b8p7a687n3xiv3q9qm4pdc8aa"; - libraryHaskellDepends = [ base dimensions ]; - testHaskellDepends = [ base Cabal dimensions QuickCheck ]; - benchmarkHaskellDepends = [ base dimensions time ]; + version = "2.0.1.0"; + sha256 = "018g738yq7ac386ahbl18jnkjzd25jbgb744fg0kxz90734iwwdv"; + libraryHaskellDepends = [ base constraints-deriving dimensions ]; + testHaskellDepends = [ + base Cabal constraints-deriving dimensions QuickCheck + template-haskell + ]; + benchmarkHaskellDepends = [ + base constraints-deriving dimensions time + ]; description = "Pure, type-indexed haskell vector, matrix, and tensor library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "easytensor-vulkan" = callPackage ({ mkDerivation, base, dimensions, easytensor, vulkan-api }: mkDerivation { pname = "easytensor-vulkan"; - version = "1.0.0.0"; - sha256 = "1d3jxqhv0c6pd08av31mdxshban2g0msdpljhl3wi5flrj93s8m3"; + version = "2.0.1.0"; + sha256 = "0j3np8b24kr30bc2lcrvgpnv440a0mzcksjiyf37sp6l9fml65m5"; libraryHaskellDepends = [ base dimensions easytensor vulkan-api ]; description = "Use easytensor with vulkan-api"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "easytest" = callPackage @@ -69245,6 +73890,26 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "easytest_0_3" = callPackage + ({ mkDerivation, base, call-stack, directory, hedgehog, mtl + , profunctors, split, stm, tagged, transformers, unix + }: + mkDerivation { + pname = "easytest"; + version = "0.3"; + sha256 = "0hvdbc7p1wzjpzxifg70sd2bzj9s7vfznal5y2594n6h6s8nj6yf"; + libraryHaskellDepends = [ + base call-stack hedgehog mtl profunctors split stm tagged + transformers + ]; + testHaskellDepends = [ + base directory hedgehog profunctors transformers unix + ]; + description = "Simple, expressive testing library"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "ebeats" = callPackage ({ mkDerivation, base, time }: mkDerivation { @@ -69255,6 +73920,7 @@ self: { description = "Time in ebeats"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ebnf-bff" = callPackage @@ -69274,6 +73940,7 @@ self: { description = "Parser combinators & EBNF, BFFs!"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ec2-signature" = callPackage @@ -69312,22 +73979,26 @@ self: { ]; description = "A handy tool for uploading unikernels to Amazon's EC2"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eccrypto" = callPackage - ({ mkDerivation, base, bytestring, cereal, crypto-api, SHA, vector + ({ mkDerivation, base, base16-bytestring, bytestring, Cabal + , criterion, cryptohash-sha512, integer-gmp, random }: mkDerivation { pname = "eccrypto"; - version = "0.0.1"; - sha256 = "1jcwlwbcd77536ii0wxalbdslzbvv224b07g3801pgjvr38xljpx"; + version = "0.2.0"; + sha256 = "1ng9lin5cavmcrp60lrnqxfkhb5drhlk9nzrl8d6gr1g7zfj75qm"; enableSeparateDataOutput = true; libraryHaskellDepends = [ - base bytestring cereal crypto-api SHA vector + base bytestring cryptohash-sha512 integer-gmp random ]; + testHaskellDepends = [ base base16-bytestring bytestring Cabal ]; + benchmarkHaskellDepends = [ base bytestring criterion random ]; description = "Elliptic Curve Cryptography for Haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ecdsa" = callPackage @@ -69378,6 +74049,7 @@ self: { description = "A ECMA-262 interpreter library"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ecstasy" = callPackage @@ -69412,6 +74084,7 @@ self: { description = "Tools for automotive ECU development"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {canlib = null;}; "ed25519" = callPackage @@ -69460,6 +74133,7 @@ self: { description = "Command line file filtering with haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ede" = callPackage @@ -69498,6 +74172,7 @@ self: { description = "Semi-explicit parallel programming library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "edenskel" = callPackage @@ -69510,6 +74185,7 @@ self: { description = "Semi-explicit parallel programming skeleton library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "edentv" = callPackage @@ -69531,6 +74207,7 @@ self: { description = "A Tool to Visualize Parallel Functional Program Executions"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "edge" = callPackage @@ -69550,6 +74227,7 @@ self: { description = "Top view space combat arcade game"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "edges" = callPackage @@ -69578,6 +74256,7 @@ self: { description = "Tools for efficient immutable graphs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "edis" = callPackage @@ -69610,6 +74289,7 @@ self: { description = "A monad for rewriting things"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "edit-distance" = callPackage @@ -69661,6 +74341,7 @@ self: { description = "Symmetric, stateful edit lenses"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "edit-lenses-demo" = callPackage @@ -69686,6 +74367,7 @@ self: { description = "Interactive editors for Generics"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "editline" = callPackage @@ -69698,6 +74380,7 @@ self: { description = "Bindings to the editline library (libedit)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "editor-open" = callPackage @@ -69756,6 +74439,7 @@ self: { description = "A library for writing extensible algebraic effects and handlers. Similar to extensible-effects but with deep handlers."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "effect-monad" = callPackage @@ -69769,6 +74453,19 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "effect-stack" = callPackage + ({ mkDerivation, base, constraints, mtl, transformers }: + mkDerivation { + pname = "effect-stack"; + version = "0.3"; + sha256 = "08zalj8svp78ykqbf5nhd6khgygz8dplcvjd19w3hvgm08y4kxqi"; + libraryHaskellDepends = [ base constraints mtl transformers ]; + description = "Reducing the pain of transformer stacks with duplicated effects"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "effective-aspects" = callPackage ({ mkDerivation, base, Cabal, ghc-prim, hashtables, HUnit, mtl , QuickCheck, test-framework, test-framework-hunit @@ -69815,14 +74512,11 @@ self: { ({ mkDerivation, base, containers, newtype-generics, void }: mkDerivation { pname = "effects"; - version = "0.2.3"; - sha256 = "174mlzs1n2zw2jzxn95lkr8f2m2rjigvgpqljrvim9bsb991dhc0"; - revision = "1"; - editedCabalFile = "1vwywcrvb4qm3z7smxd9snvcwikyifl7fn8pxgiwchihm0ajnbvw"; + version = "0.2.4"; + sha256 = "06cx0l9vxpjpgc1cxai19hw9rxfq89m61qvf7wxp1w2xd6yqa7xk"; libraryHaskellDepends = [ base containers newtype-generics void ]; description = "Computational Effects"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "effects-parser" = callPackage @@ -69834,7 +74528,6 @@ self: { libraryHaskellDepends = [ base effects ]; description = "Parser Effect for the Control.Effects Library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "effin" = callPackage @@ -69847,31 +74540,34 @@ self: { description = "A Typeable-free implementation of extensible effects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "egison" = callPackage - ({ mkDerivation, array, base, containers, criterion, deepseq - , directory, filepath, ghc, ghc-paths, Glob, hashable, haskeline - , HUnit, lens, mtl, parallel, parsec, process, random, regex-tdfa - , split, test-framework, test-framework-hunit, text, transformers - , unordered-containers, vector + ({ mkDerivation, alex, array, base, containers, criterion, deepseq + , directory, filepath, ghc, ghc-paths, Glob, happy, hashable + , haskeline, HUnit, mtl, optparse-applicative, parallel, parsec + , process, random, regex-tdfa, split, test-framework + , test-framework-hunit, text, transformers, unordered-containers + , vector }: mkDerivation { pname = "egison"; - version = "3.7.14"; - sha256 = "0iilizs6nj901fmzfam9s0s2phz91m2292wggqvzj8p6260589iq"; + version = "3.9.1"; + sha256 = "1q4hyvr52zv2p827cvkmi4rl1d1dvrdg9bly6wykbhdv6ycbihn5"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ array base containers directory ghc ghc-paths hashable haskeline - lens mtl parallel parsec process random regex-tdfa split text + mtl parallel parsec process random regex-tdfa split text transformers unordered-containers vector ]; + libraryToolDepends = [ alex happy ]; executableHaskellDepends = [ array base containers directory filepath ghc ghc-paths haskeline - mtl parsec process regex-tdfa text transformers - unordered-containers vector + mtl optparse-applicative parsec process regex-tdfa text + transformers unordered-containers vector ]; testHaskellDepends = [ base filepath Glob HUnit mtl test-framework test-framework-hunit @@ -69882,6 +74578,8 @@ self: { ]; description = "Programming language with non-linear pattern-matching against non-free data"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "egison-quote" = callPackage @@ -69896,6 +74594,7 @@ self: { description = "A quasi quotes for using Egison expression in Haskell code"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "egison-tutorial" = callPackage @@ -69917,6 +74616,7 @@ self: { description = "A tutorial program for the Egison programming language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "egyptian-fractions" = callPackage @@ -69947,6 +74647,7 @@ self: { description = "like eruby, ehaskell is embedded haskell"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ehs" = callPackage @@ -69968,6 +74669,7 @@ self: { description = "Embedded haskell template using quasiquotes"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eibd-client-simple" = callPackage @@ -69987,6 +74689,7 @@ self: { description = "EIBd Client"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {eibclient = null;}; "eigen" = callPackage @@ -70007,21 +74710,19 @@ self: { description = "Eigen C++ library (linear algebra: matrices, sparse matrices, vectors, numerical solvers)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "either" = callPackage ({ mkDerivation, base, bifunctors, mtl, profunctors, QuickCheck - , semigroupoids, semigroups, test-framework - , test-framework-quickcheck2 + , semigroupoids, test-framework, test-framework-quickcheck2 }: mkDerivation { pname = "either"; - version = "5.0.1"; - sha256 = "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"; - revision = "1"; - editedCabalFile = "1kf0dy6nki64kkmjw8214jz3n086g1pghfm26f012b6qv0iakzca"; + version = "5.0.1.1"; + sha256 = "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"; libraryHaskellDepends = [ - base bifunctors mtl profunctors semigroupoids semigroups + base bifunctors mtl profunctors semigroupoids ]; testHaskellDepends = [ base QuickCheck test-framework test-framework-quickcheck2 @@ -70031,12 +74732,13 @@ self: { }) {}; "either-both" = callPackage - ({ mkDerivation, base }: + ({ mkDerivation, base, smallcheck, tasty, tasty-smallcheck }: mkDerivation { pname = "either-both"; - version = "0.1.0.0"; - sha256 = "1lbvahbbmhz6cazl5s4wkf66h1l20cg7380g027h53v5pjpvpdpl"; + version = "0.1.1.1"; + sha256 = "1cm6g0wvwqlm405y8svv2fi49kpxqs7hffwd4gnsvlk2rfxng93f"; libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ]; description = "Either or both"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -70052,6 +74754,7 @@ self: { description = "Functions involving lists of Either"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "either-unwrap" = callPackage @@ -70085,8 +74788,8 @@ self: { pname = "ekg"; version = "0.4.0.15"; sha256 = "1k3d5kiqm034qs04k0pcisf4zbdmx2fcgl9a6c1lzzjw96zf6aj8"; - revision = "5"; - editedCabalFile = "0jwzwqr4giinq6wvl46399454nm9vc5g6mc2k2mx4wjdcl07qbgm"; + revision = "6"; + editedCabalFile = "012y235n8k7hhx651l01xf88vgr2wskapbsn83w18ls1h1njqnzk"; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson base bytestring ekg-core ekg-json filepath network snap-core @@ -70111,7 +74814,6 @@ self: { ]; description = "Send ekg metrics to a Bosun instance"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ekg-carbon" = callPackage @@ -70145,6 +74847,8 @@ self: { ]; description = "An ekg backend for Amazon Cloudwatch"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ekg-core" = callPackage @@ -70178,6 +74882,7 @@ self: { description = "Push metrics to elastic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ekg-elasticsearch" = callPackage @@ -70196,6 +74901,7 @@ self: { description = "Push metrics to elasticsearch"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ekg-influxdb" = callPackage @@ -70213,6 +74919,7 @@ self: { description = "An EKG backend to send statistics to influxdb"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ekg-json" = callPackage @@ -70246,6 +74953,7 @@ self: { description = "Push metrics to a log file"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ekg-prometheus-adapter" = callPackage @@ -70256,6 +74964,8 @@ self: { pname = "ekg-prometheus-adapter"; version = "0.1.0.4"; sha256 = "1i9bqbn8zj7hbkc7iypmjji4sh8s2h9jix2ngp77mkmii6wblfx2"; + revision = "1"; + editedCabalFile = "1aq3x5j33bb0rwlip0p3y6ppk8m1x8k3hnrwnb7pca98gyz8fm6r"; libraryHaskellDepends = [ base containers ekg-core microlens-th prometheus text transformers unordered-containers @@ -70264,6 +74974,7 @@ self: { description = "Easily expose your EKG metrics to Prometheus"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ekg-push" = callPackage @@ -70282,6 +74993,7 @@ self: { description = "Small framework to push metric deltas to a broadcast channel using the ekg-core library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ekg-rrd" = callPackage @@ -70303,6 +75015,7 @@ self: { description = "Passes ekg statistics to rrdtool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ekg-statsd" = callPackage @@ -70313,8 +75026,8 @@ self: { pname = "ekg-statsd"; version = "0.2.4.0"; sha256 = "1nvsiblha1fzykvfaq1s0fyvfmhm32wvxdsfkn9pqd6dl5ivyx2y"; - revision = "2"; - editedCabalFile = "1l0lh77qy4kbybkys1d4gg563fc593w27wpf4k1cg9j6ix6y604x"; + revision = "3"; + editedCabalFile = "0va7fliya7g546f5qbc42bl7dyh74al38sspd2smjyl7a9d5mmlk"; libraryHaskellDepends = [ base bytestring ekg-core network text time unordered-containers ]; @@ -70415,21 +75128,10 @@ self: { description = "Immediately lifts to a desired level"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "elf" = callPackage - ({ mkDerivation, base, binary, bytestring, containers, hspec }: - mkDerivation { - pname = "elf"; - version = "0.29"; - sha256 = "1b4g98fk1p8mk0zdh6fwzm3vnzcrhvpysx4g4ahcbgbr4bqhjra2"; - libraryHaskellDepends = [ base binary bytestring ]; - testHaskellDepends = [ base bytestring containers hspec ]; - description = "An Elf parser"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "elf_0_30" = callPackage ({ mkDerivation, base, binary, bytestring, containers, hspec }: mkDerivation { pname = "elf"; @@ -70439,7 +75141,6 @@ self: { testHaskellDepends = [ base bytestring containers hspec ]; description = "An Elf parser"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "eliminators" = callPackage @@ -70448,8 +75149,8 @@ self: { }: mkDerivation { pname = "eliminators"; - version = "0.5"; - sha256 = "0d1d2pp8r2gai25q898v30gb5r82pjzi9smqndn27p1bk9xlqzzr"; + version = "0.5.1"; + sha256 = "0kqgfsa736sahcsgsjgyh7h1lwxzyn4z85klybmj7gffg9lz4rl1"; libraryHaskellDepends = [ base extra singleton-nats singletons template-haskell th-abstraction th-desugar @@ -70460,6 +75161,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "eliminators_0_6" = callPackage + ({ mkDerivation, base, extra, hspec, hspec-discover, singleton-nats + , singletons, template-haskell, th-abstraction, th-desugar + }: + mkDerivation { + pname = "eliminators"; + version = "0.6"; + sha256 = "1mxjp2ygf72k3yaiqpfi4lrmhwhx69zkm5kznrb6wainw5r6h0if"; + libraryHaskellDepends = [ + base extra singleton-nats singletons template-haskell + th-abstraction th-desugar + ]; + testHaskellDepends = [ base hspec singleton-nats singletons ]; + testToolDepends = [ hspec-discover ]; + description = "Dependently typed elimination functions using singletons"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "elision" = callPackage ({ mkDerivation, base, profunctors }: mkDerivation { @@ -70473,6 +75193,32 @@ self: { description = "Arrows with holes"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "elliptic-curve" = callPackage + ({ mkDerivation, arithmoi, base, criterion, galois-field + , MonadRandom, protolude, tasty, tasty-hunit, tasty-quickcheck + , text, wl-pprint-text + }: + mkDerivation { + pname = "elliptic-curve"; + version = "0.2.2"; + sha256 = "082q01xqfqa73c0wasmh8v0hgf76gsfg8jzd78n9vgrp69zali1n"; + libraryHaskellDepends = [ + base galois-field MonadRandom protolude tasty-quickcheck text + wl-pprint-text + ]; + testHaskellDepends = [ + arithmoi base galois-field MonadRandom protolude tasty tasty-hunit + tasty-quickcheck text wl-pprint-text + ]; + benchmarkHaskellDepends = [ + base criterion galois-field MonadRandom protolude tasty-quickcheck + text wl-pprint-text + ]; + description = "Elliptic curve library"; + license = stdenv.lib.licenses.mit; }) {}; "elm-bridge" = callPackage @@ -70481,8 +75227,8 @@ self: { }: mkDerivation { pname = "elm-bridge"; - version = "0.5.0"; - sha256 = "1laa86kkw2w4bz2z69fnp1vwyjnhz2w2zy6va93fgvxmn0cf7mj3"; + version = "0.5.2"; + sha256 = "1ls4c4lrjbmms1kcaz88nnxn3ih3wbx51adjggbvyvfj52bc5cvp"; libraryHaskellDepends = [ aeson base template-haskell ]; testHaskellDepends = [ aeson base containers hspec QuickCheck text @@ -70775,6 +75521,28 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "elm-street" = callPackage + ({ mkDerivation, aeson, base, directory, filepath, prettyprinter + , servant, servant-server, text, time, wai, warp + }: + mkDerivation { + pname = "elm-street"; + version = "0.0.1"; + sha256 = "09rc10k6g23wf7b095rk6i2d9h5axlcmfpimhmbpqhm8vyqg72l7"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base directory filepath prettyprinter text time + ]; + executableHaskellDepends = [ + base servant servant-server wai warp + ]; + testHaskellDepends = [ base ]; + doHaddock = false; + description = "Crossing the road between Haskell and Elm"; + license = stdenv.lib.licenses.mpl20; + }) {}; + "elm-websocket" = callPackage ({ mkDerivation, aeson, base, bytestring, concurrent-extra , containers, directory, formatting, hspec, http-types, lens, mtl @@ -70803,6 +75571,7 @@ self: { description = "Generate ELM code from a Wai websocket application"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "elm-yesod" = callPackage @@ -70828,8 +75597,8 @@ self: { }: mkDerivation { pname = "elm2nix"; - version = "0.1.0"; - sha256 = "140qv6zvq4860fd5pglhwgd9pnxv6nha3ah3pmp4d2x3jkvg3hcy"; + version = "0.1.1"; + sha256 = "16b7vv7ndn8mpkg05rhljpmld2dazsgl9yqg8j3mza1f5x4f6jwp"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -70845,6 +75614,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "elminator" = callPackage + ({ mkDerivation, aeson, base, containers, mtl, template-haskell + , text + }: + mkDerivation { + pname = "elminator"; + version = "0.2.4.1"; + sha256 = "0b8xn26k2pmb7m5v6yn1l2kv4fv94qjl7k8563zq2aqkrfwdm068"; + libraryHaskellDepends = [ + aeson base containers mtl template-haskell text + ]; + testHaskellDepends = [ + aeson base containers mtl template-haskell text + ]; + description = "Generate ELM types/encoders/decoders from Haskell types"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "elo" = callPackage ({ mkDerivation, base, tasty }: mkDerivation { @@ -70863,8 +75650,8 @@ self: { }: mkDerivation { pname = "elocrypt"; - version = "2.0.0"; - sha256 = "0dz5vdcg68fbwhvwz68zlsz5h2aaj1q6gacp1005hkxfb8156lp3"; + version = "2.0.1"; + sha256 = "1sb0xb4dx39vmr60slrlr85hwi6drmqdibv0faiw7k48rxvcz1ak"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base MonadRandom random ]; @@ -70879,25 +75666,26 @@ self: { }) {}; "elsa" = callPackage - ({ mkDerivation, array, base, dequeue, directory, filepath - , hashable, json, megaparsec, mtl, tasty, tasty-hunit + ({ mkDerivation, ansi-terminal, array, base, dequeue, directory + , filepath, hashable, json, megaparsec, mtl, tasty, tasty-hunit , unordered-containers }: mkDerivation { pname = "elsa"; - version = "0.2.0.1"; - sha256 = "1ipi0vi3mwxmcmqmjk93ips7z3casqxzbls80aw2ysj43ii89m21"; + version = "0.2.1.2"; + sha256 = "0qg80wck4zsia9fsih06283c47f3waiskgj1r5s0s4fms9rwg06y"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - array base dequeue directory filepath hashable json megaparsec mtl - unordered-containers + ansi-terminal array base dequeue directory filepath hashable json + megaparsec mtl unordered-containers ]; executableHaskellDepends = [ base mtl ]; testHaskellDepends = [ base directory filepath tasty tasty-hunit ]; description = "A tiny language for understanding the lambda-calculus"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "emacs-keys" = callPackage @@ -70917,6 +75705,7 @@ self: { description = "library to parse emacs style keybinding into the modifiers and the chars"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "emacs-module" = callPackage @@ -70953,6 +75742,7 @@ self: { description = "Sending eMail in Haskell made easy"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "email-header" = callPackage @@ -70975,6 +75765,7 @@ self: { description = "Parsing and rendering of email and MIME headers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "email-postmark" = callPackage @@ -70991,6 +75782,7 @@ self: { description = "A simple wrapper to send emails via the api of the service postmark (http://postmarkapp.com/)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "email-validate" = callPackage @@ -70999,8 +75791,8 @@ self: { }: mkDerivation { pname = "email-validate"; - version = "2.3.2.10"; - sha256 = "0wfk5dkpaw0gk4p0vwdpb24c6kz4gjx0z4am79v5c3k38gmb3rak"; + version = "2.3.2.11"; + sha256 = "051h1l6x4dpk2jg1bsxy32zswf8ridlix3k78k0h237gcassrfpb"; libraryHaskellDepends = [ attoparsec base bytestring template-haskell ]; @@ -71021,27 +75813,28 @@ self: { }) {}; "email-validator" = callPackage - ({ mkDerivation, base, bytestring, cmdargs, directory, dns, doctest + ({ mkDerivation, base, bytestring, cmdargs, dns, doctest , email-validate, HUnit, parallel-io, pcre-light, tasty , tasty-hunit }: mkDerivation { pname = "email-validator"; - version = "0.0.3"; - sha256 = "0ai0fj7rpq9h0i0rznrsqwvqbkkry5dgq4hgg5jc8ma3j9gym87n"; + version = "1.0.0"; + sha256 = "0l8c87kv80y1cpifcg80zhmdi884n7409w22akvc7kb9vvyp3b4v"; + revision = "1"; + editedCabalFile = "08ncdqjmgxlzsxfj8z0xaj1p5nnx4ndj4490gvfhj50kv2wx47iw"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ - base bytestring cmdargs directory dns email-validate HUnit - parallel-io pcre-light tasty tasty-hunit + base bytestring cmdargs dns email-validate HUnit parallel-io + pcre-light tasty tasty-hunit ]; testHaskellDepends = [ - base bytestring cmdargs directory dns doctest email-validate HUnit + base bytestring cmdargs dns doctest email-validate HUnit parallel-io pcre-light tasty tasty-hunit ]; description = "Perform basic syntax and deliverability checks on email addresses"; - license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; + license = stdenv.lib.licenses.agpl3; }) {}; "emailaddress" = callPackage @@ -71085,6 +75878,7 @@ self: { description = "An email parser that will parse everything"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "embeddock" = callPackage @@ -71102,6 +75896,7 @@ self: { description = "Embed the values in scope in the haddock documentation of the module"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "embeddock-example" = callPackage @@ -71114,6 +75909,18 @@ self: { description = "Example of using embeddock"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "embla" = callPackage + ({ mkDerivation, base, chronos }: + mkDerivation { + pname = "embla"; + version = "0.1"; + sha256 = "1nk689j21ghaiymqnddlf4j8pgb9z61xflfrcgxw3zrxiv5jslk6"; + libraryHaskellDepends = [ base chronos ]; + description = "execute actions periodically while avoiding drift"; + license = stdenv.lib.licenses.bsd3; }) {}; "embroidery" = callPackage @@ -71133,6 +75940,7 @@ self: { description = "support for embroidery formats in haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "emd" = callPackage @@ -71152,7 +75960,6 @@ self: { testHaskellDepends = [ base containers HUnit ]; description = "Empirical Mode Decomposition and Hilbert-Huang Transform"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "emgm" = callPackage @@ -71166,6 +75973,7 @@ self: { description = "Extensible and Modular Generics for the Masses"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "emoji" = callPackage @@ -71207,6 +76015,7 @@ self: { description = "A container that always has no values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "enchant" = callPackage @@ -71223,6 +76032,8 @@ self: { testHaskellDepends = [ base ]; description = "Binding to the Enchant library"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) enchant;}; "enclosed-exceptions" = callPackage @@ -71281,6 +76092,7 @@ self: { description = "A library for various character encodings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "encoding-io" = callPackage @@ -71295,6 +76107,7 @@ self: { description = "Encoding-aware file I/O"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "endo" = callPackage @@ -71370,6 +76183,7 @@ self: { ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "engine-io-snap" = callPackage @@ -71387,6 +76201,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "engine-io-wai" = callPackage @@ -71396,8 +76211,8 @@ self: { }: mkDerivation { pname = "engine-io-wai"; - version = "1.0.9"; - sha256 = "1zdin34gfi2059n1wjfxs4i2kfc0r53f3wpwhjd0fbp0as56h94s"; + version = "1.0.10"; + sha256 = "07vjjb7d5ndv8cailnrv5qif0d3kmi09bq1s38hwjyp5ml8dlfis"; libraryHaskellDepends = [ attoparsec base bytestring either engine-io http-types mtl text transformers transformers-compat unordered-containers wai @@ -71405,7 +76220,6 @@ self: { ]; description = "An @engine-io@ @ServerAPI@ that is compatible with @Wai@"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "engine-io-yesod" = callPackage @@ -71423,6 +76237,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "engineering-units" = callPackage @@ -71451,6 +76266,7 @@ self: { description = "An application (and library) to convert quipper circuits into Qpmc models"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "entropy" = callPackage @@ -71461,6 +76277,8 @@ self: { pname = "entropy"; version = "0.4.1.4"; sha256 = "1fgf47l9klwn1xssbcbq6by651vikd8hlfxhiwd5bqzxr1jnlgrf"; + revision = "1"; + editedCabalFile = "0h9wvpq4hw5ipn15ni0qdsrssjil0m59wm4l5hl607l3w2lif864"; setupHaskellDepends = [ base Cabal directory filepath process ]; libraryHaskellDepends = [ base bytestring unix ]; description = "A platform independent entropy source"; @@ -71472,16 +76290,16 @@ self: { , directory, exceptions, monad-loops, process, QuickCheck , quickcheck-instances, quickcheck-properties, quickcheck-text , random, retry, SafeSemaphore, semigroups, stm, text, time - , transformers, transformers-either + , transformers, transformers-either, unordered-containers }: mkDerivation { pname = "entwine"; - version = "0.0.3"; - sha256 = "0x4ghpskgpls028fp74mmxqb6hrhcfvdxbfny2bniclh9826fiij"; + version = "0.0.4"; + sha256 = "1k150jbn2jb4ckadmcb655x7ck1cw659zkv03ngwp0wmx8l51n6b"; libraryHaskellDepends = [ async base clock containers exceptions monad-loops retry SafeSemaphore semigroups stm text time transformers - transformers-either + transformers-either unordered-containers ]; testHaskellDepends = [ async base directory exceptions process QuickCheck @@ -71495,6 +76313,7 @@ self: { description = "entwine - Concurrency tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "enum-subset-generate" = callPackage @@ -71513,17 +76332,65 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "enum-text" = callPackage + ({ mkDerivation, array, base, bytestring, fmt, hashable, possibly + , text, time, unordered-containers + }: + mkDerivation { + pname = "enum-text"; + version = "0.5.1.0"; + sha256 = "0v48hmxbpzjpclg1q0avrc1dp4giglbxy2rkqnbj4f0sprp03kff"; + libraryHaskellDepends = [ + array base bytestring fmt hashable possibly text time + unordered-containers + ]; + description = "A text rendering and parsing toolkit for enumerated types"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "enum-text-rio" = callPackage + ({ mkDerivation, base, bytestring, enum-text, fmt, rio, text }: + mkDerivation { + pname = "enum-text-rio"; + version = "1.2.0.0"; + sha256 = "0cz91i1m9ibphlm153i23i03nhx41bca398hkfzf9hq904ziarna"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base bytestring enum-text fmt rio text ]; + executableHaskellDepends = [ + base bytestring enum-text fmt rio text + ]; + description = "Making fmt available with rio"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "enum-types" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "enum-types"; - version = "0.1.0.0"; - sha256 = "18qiq6nnnd1c5lkvjafsqd4ypa4xpmx99diq82dz5wy2h95ci2ri"; + version = "0.1.1.0"; + sha256 = "1m3f79acnrssz89490vwxp1dabqadzda3a95yg6gh6mpn7x0gkw5"; libraryHaskellDepends = [ base ]; description = "small enum types"; license = stdenv.lib.licenses.bsd3; }) {}; + "enum-utf8" = callPackage + ({ mkDerivation, array, base, bytestring, hashable, possibly + , render-utf8, unordered-containers + }: + mkDerivation { + pname = "enum-utf8"; + version = "0.1.0.0"; + sha256 = "0mlzlwvrii5dbkz5nqv49npfqqbgngzali2din4rz7f4im4g0bxp"; + libraryHaskellDepends = [ + array base bytestring hashable possibly render-utf8 + unordered-containers + ]; + description = "An experimental Utf8 parsing toolkit for enumerated types"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "enumerable" = callPackage ({ mkDerivation, base, control-monad-omega, tagged }: mkDerivation { @@ -71553,6 +76420,7 @@ self: { description = "enumerate all the values in a finite type (automatically)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "enumerate-function" = callPackage @@ -71574,6 +76442,7 @@ self: { description = "simple package for inverting functions and testing totality, via brute enumeration of the domain"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "enumeration" = callPackage @@ -71593,6 +76462,7 @@ self: { description = "A practical API for building recursive enumeration procedures and enumerating datatypes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "enumerator" = callPackage @@ -71610,6 +76480,7 @@ self: { description = "Reliable, high-performance processing with left-fold enumerators"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "enumerator-fd" = callPackage @@ -71622,6 +76493,7 @@ self: { description = "Enumerator instances for monads-fd classes"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "enumerator-tf" = callPackage @@ -71634,6 +76506,7 @@ self: { description = "Enumerator instances for monads-tf classes"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "enumfun" = callPackage @@ -71646,6 +76519,7 @@ self: { description = "Finitely represented /total/ EnumMaps"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "enummapmap" = callPackage @@ -71671,6 +76545,7 @@ self: { description = "Map of maps using Enum types as keys"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "enummapset" = callPackage @@ -71680,8 +76555,8 @@ self: { }: mkDerivation { pname = "enummapset"; - version = "0.6.0.1"; - sha256 = "0nljpb5fxk4piwl5mh1v23ps9bzhxxcybfhd8mmb66k20gxxxf7q"; + version = "0.6.0.2"; + sha256 = "0476rzarcfpp4qm4qsz6wdnhr11nlfhqgrnbni591kbmngqlld1v"; libraryHaskellDepends = [ base containers deepseq semigroups ]; testHaskellDepends = [ array base containers deepseq ghc-prim HUnit QuickCheck semigroups @@ -71689,7 +76564,6 @@ self: { ]; description = "IntMap and IntSet with Enum keys/elements"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "enummapset-th" = callPackage @@ -71698,12 +76572,15 @@ self: { pname = "enummapset-th"; version = "0.6.1.1"; sha256 = "0anmarswk8vvd9c8qhkhgwzmr5h2yq0bdx48ww5lbca1zf6h5hkw"; + revision = "1"; + editedCabalFile = "0fyjwcw7ibm0x5k2281q53drwm1ddsmkc890fywcv7r6b9jdx5py"; libraryHaskellDepends = [ base containers deepseq template-haskell ]; description = "TH-generated EnumSet/EnumMap wrappers around IntSet/IntMap"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "enumset" = callPackage @@ -71711,8 +76588,8 @@ self: { }: mkDerivation { pname = "enumset"; - version = "0.0.4.1"; - sha256 = "0m6ha4m9hvmzkgnwani3z3vgcllzgv6n578g56x4sb9bgxgi37az"; + version = "0.0.5"; + sha256 = "0d9lnl7mmcwydfhb4iazh6gcdbxvdh7b3gar3c9l1k5xmc4r8qii"; libraryHaskellDepends = [ base data-accessor semigroups storable-record ]; @@ -71748,6 +76625,7 @@ self: { description = "Pull configuration information from the ENV"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "envelope" = callPackage @@ -71796,6 +76674,7 @@ self: { description = "Display efficiently the state of the local environment"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "envy" = callPackage @@ -71804,8 +76683,8 @@ self: { }: mkDerivation { pname = "envy"; - version = "1.5.1.0"; - sha256 = "1r2181n5ayww1ycg7vvz5pp5cyxs6asljf4kir7g80qnj2wwpjid"; + version = "2.0.0.0"; + sha256 = "0l3rg9kvx5pp8ly1wl86g0nfp4161vdbf1cavpm2s84hahq9wg0z"; libraryHaskellDepends = [ base bytestring containers mtl text time transformers ]; @@ -71827,6 +76706,7 @@ self: { description = "Haskell binding for EPANET"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "epass" = callPackage @@ -71839,6 +76719,7 @@ self: { description = "Baisc, Erlang-like message passing supporting sockets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "epic" = callPackage @@ -71857,6 +76738,7 @@ self: { description = "Compiler for a simple functional language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "epoll" = callPackage @@ -71871,6 +76753,7 @@ self: { description = "epoll bindings"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eprocess" = callPackage @@ -71884,6 +76767,7 @@ self: { description = "Basic Erlang-like process support for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "epub" = callPackage @@ -71962,6 +76846,7 @@ self: { description = "Rename epub ebook files based on meta information"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eq" = callPackage @@ -72040,47 +76925,51 @@ self: { ]; description = "Application level triggered, and edge triggered event multiqueues"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "equivalence" = callPackage - ({ mkDerivation, base, containers, mtl, QuickCheck, STMonadTrans - , template-haskell, test-framework, test-framework-quickcheck2 - , transformers, transformers-compat + ({ mkDerivation, base, containers, fail, mtl, QuickCheck + , STMonadTrans, template-haskell, test-framework + , test-framework-quickcheck2, transformers, transformers-compat }: mkDerivation { pname = "equivalence"; - version = "0.3.3"; - sha256 = "02jhn8z1aqyxp3krylhfnwr7zzjcd17q9qriyd9653i92b7di3gf"; + version = "0.3.4"; + sha256 = "02s24624xnwq790mip5pj6828an36j8jbdj5kvx9bv5a7ap3vzn1"; libraryHaskellDepends = [ - base containers mtl STMonadTrans transformers transformers-compat + base containers fail mtl STMonadTrans transformers + transformers-compat ]; testHaskellDepends = [ - base containers mtl QuickCheck STMonadTrans template-haskell + base containers fail mtl QuickCheck STMonadTrans template-haskell test-framework test-framework-quickcheck2 transformers transformers-compat ]; description = "Maintaining an equivalence relation implemented as union-find using STT"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "erd" = callPackage - ({ mkDerivation, base, bytestring, containers, graphviz, parsec - , text + ({ mkDerivation, base, bytestring, containers, graphviz, hspec + , parsec, QuickCheck, raw-strings-qq, tasty, tasty-hunit, text }: mkDerivation { pname = "erd"; - version = "0.1.3.0"; - sha256 = "00cf1q7472kkl12z48dwnhixvyk99451by577qmfj0vhlnl1dc09"; + version = "0.2.0.0"; + sha256 = "1lxqjvsmkqhqaw63r6qp6z9kjz73ki6y3vr85bjs5i0m7ff87799"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ base bytestring containers graphviz parsec text ]; + testHaskellDepends = [ + base bytestring containers graphviz hspec parsec QuickCheck + raw-strings-qq tasty tasty-hunit text + ]; description = "An entity-relationship diagram generator from a plain text description"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "erf" = callPackage @@ -72104,6 +76993,7 @@ self: { description = "Native Haskell implementation of the interface from the erf package"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "erlang" = callPackage @@ -72132,6 +77022,7 @@ self: { description = "A text censorship library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eros-client" = callPackage @@ -72151,6 +77042,7 @@ self: { description = "DEPRECATED in favor of eros-http"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eros-http" = callPackage @@ -72171,6 +77063,7 @@ self: { description = "JSON HTTP interface to Eros"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "errno" = callPackage @@ -72196,6 +77089,20 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "error-codes" = callPackage + ({ mkDerivation, base, primitive, primitive-unlifted }: + mkDerivation { + pname = "error-codes"; + version = "0.1.0.1"; + sha256 = "0df14g66vwz56bbiyjbis86cv106rlnniaf39kqzrnrdwswx1s1d"; + libraryHaskellDepends = [ base primitive primitive-unlifted ]; + testHaskellDepends = [ base ]; + description = "Error code functions"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "error-context" = callPackage ({ mkDerivation, aeson, base, bytestring, exceptions, katip , monad-logger, mtl, resourcet, safe-exceptions, tasty, tasty-hunit @@ -72217,6 +77124,7 @@ self: { description = "Provides API for enriching errors with contexts"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "error-continuations" = callPackage @@ -72229,6 +77137,7 @@ self: { description = "Error Continuations"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "error-list" = callPackage @@ -72241,6 +77150,7 @@ self: { description = "A useful type for collecting error messages"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "error-loc" = callPackage @@ -72253,6 +77163,7 @@ self: { description = "An error replacement with call-site metadata"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "error-location" = callPackage @@ -72280,6 +77191,7 @@ self: { description = "Composable error messages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "error-util" = callPackage @@ -72338,6 +77250,7 @@ self: { description = "`bracket`-like functions for `ExceptT` over `IO` monad"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ersaconcat" = callPackage @@ -72362,18 +77275,19 @@ self: { description = "A script to concatenate AIP ERSA"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ersatz" = callPackage ({ mkDerivation, array, attoparsec, base, bytestring, Cabal - , cabal-doctest, containers, data-default, directory, doctest + , cabal-doctest, containers, data-default, directory, doctest, fail , filepath, lens, mtl, parsec, process, semigroups, temporary , transformers, unordered-containers }: mkDerivation { pname = "ersatz"; - version = "0.4.4"; - sha256 = "06d0fc5s5yxk1q54fsbnnhmvf25m5g86fqdzb42f0ckc0h3sbp22"; + version = "0.4.7"; + sha256 = "0kddsh02yrpn7xack6xcs0c93hmf4gkmh56zip2n6q7j0xgdrl6d"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -72383,12 +77297,13 @@ self: { process semigroups temporary transformers unordered-containers ]; executableHaskellDepends = [ - array base containers lens mtl parsec semigroups + array base containers fail lens mtl parsec semigroups ]; testHaskellDepends = [ array base directory doctest filepath mtl ]; description = "A monad for expressing SAT or QSAT problems using observable sharing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ersatz-toysat" = callPackage @@ -72407,6 +77322,7 @@ self: { description = "toysat driver as backend for ersatz"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ert" = callPackage @@ -72430,6 +77346,7 @@ self: { description = "Easy Runtime Templates"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "escape-artist" = callPackage @@ -72447,6 +77364,7 @@ self: { description = "ANSI Escape Sequence Text Decoration Made Easy"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "escaped" = callPackage @@ -72495,6 +77413,7 @@ self: { description = "Terminal fuzzy selector"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "esotericbot" = callPackage @@ -72519,6 +77438,7 @@ self: { description = "Esotericbot is a sophisticated, lightweight IRC bot"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "espial" = callPackage @@ -72584,6 +77504,7 @@ self: { description = "Espial is an open-source, web-based bookmarking server"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "esqueleto" = callPackage @@ -72596,8 +77517,8 @@ self: { }: mkDerivation { pname = "esqueleto"; - version = "2.6.0"; - sha256 = "1asbvcjmbyd44rfs8a645cvfqmf95b6hnb3l7lqd56kv32km69nn"; + version = "3.0.0"; + sha256 = "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy"; libraryHaskellDepends = [ base blaze-html bytestring conduit monad-logger persistent resourcet tagged text time transformers unliftio @@ -72612,6 +77533,34 @@ self: { ]; description = "Type-safe EDSL for SQL queries on persistent backends"; license = stdenv.lib.licenses.bsd3; + }) {}; + + "esqueleto_3_1_0" = callPackage + ({ mkDerivation, aeson, base, blaze-html, bytestring, conduit + , containers, exceptions, hspec, monad-logger, mysql, mysql-simple + , persistent, persistent-mysql, persistent-postgresql + , persistent-sqlite, persistent-template, postgresql-libpq + , postgresql-simple, resourcet, tagged, text, time, transformers + , unliftio, unordered-containers, vector + }: + mkDerivation { + pname = "esqueleto"; + version = "3.1.0"; + sha256 = "0x3hrh5ymv19l52634q18hsmxjranngc32ig6b2lbd5lz8d6iigy"; + libraryHaskellDepends = [ + aeson base blaze-html bytestring conduit monad-logger persistent + resourcet tagged text time transformers unliftio + unordered-containers + ]; + testHaskellDepends = [ + aeson base blaze-html bytestring conduit containers exceptions + hspec monad-logger mysql mysql-simple persistent persistent-mysql + persistent-postgresql persistent-sqlite persistent-template + postgresql-libpq postgresql-simple resourcet tagged text time + transformers unliftio unordered-containers vector + ]; + description = "Type-safe EDSL for SQL queries on persistent backends"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; }) {}; @@ -72625,6 +77574,75 @@ self: { description = "The type-level S combinator in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "essence-of-live-coding" = callPackage + ({ mkDerivation, base, foreign-store, QuickCheck, syb + , test-framework, test-framework-quickcheck2, transformers + , vector-sized + }: + mkDerivation { + pname = "essence-of-live-coding"; + version = "0.1.0.1"; + sha256 = "0804zqbl2w8cvj4n9y2qx9wdmigmw56fxdzkqrw6x2szl2qvsfjz"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base foreign-store syb transformers vector-sized + ]; + executableHaskellDepends = [ base transformers ]; + testHaskellDepends = [ + base QuickCheck syb test-framework test-framework-quickcheck2 + ]; + description = "General purpose live coding framework"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "essence-of-live-coding-gloss" = callPackage + ({ mkDerivation, base, essence-of-live-coding, foreign-store, gloss + , syb, transformers + }: + mkDerivation { + pname = "essence-of-live-coding-gloss"; + version = "0.1.0.1"; + sha256 = "0716mwww68x8v2r6fz6ah8m26w5h98kgd662rirh56nmwr219zk5"; + libraryHaskellDepends = [ + base essence-of-live-coding foreign-store gloss syb transformers + ]; + description = "General purpose live coding framework - Gloss backend"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "essence-of-live-coding-pulse" = callPackage + ({ mkDerivation, base, essence-of-live-coding, foreign-store + , pulse-simple, transformers + }: + mkDerivation { + pname = "essence-of-live-coding-pulse"; + version = "0.1.0.1"; + sha256 = "18f6wrq5ar14yb44yl6m8xfi9c721yywl4gzwcrx65n6wn3h16va"; + libraryHaskellDepends = [ + base essence-of-live-coding foreign-store pulse-simple transformers + ]; + description = "General purpose live coding framework - pulse backend"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "essence-of-live-coding-quickcheck" = callPackage + ({ mkDerivation, base, boltzmann-samplers, essence-of-live-coding + , QuickCheck, syb, transformers + }: + mkDerivation { + pname = "essence-of-live-coding-quickcheck"; + version = "0.1.0.1"; + sha256 = "0wkffsy3jxz85lxlbppi477wkzlx2zvxmjc70rgf8bjw8s631a22"; + libraryHaskellDepends = [ + base boltzmann-samplers essence-of-live-coding QuickCheck syb + transformers + ]; + description = "General purpose live coding framework - QuickCheck integration"; + license = stdenv.lib.licenses.bsd3; }) {}; "estimator" = callPackage @@ -72656,6 +77674,7 @@ self: { description = "Tool for managing probability estimation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "estreps" = callPackage @@ -72673,6 +77692,7 @@ self: { description = "Repeats from ESTs"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "etc" = callPackage @@ -72726,6 +77746,7 @@ self: { description = "everything breaking the Fairbairn threshold"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eternity" = callPackage @@ -72747,6 +77768,7 @@ self: { description = "Native event-sourcing database"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eternity-timestamped" = callPackage @@ -72765,6 +77787,7 @@ self: { description = "Automatic timestamping for Eternity"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ether" = callPackage @@ -72793,6 +77816,8 @@ self: { ]; description = "Monad transformers and classes"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ethereum-analyzer" = callPackage @@ -72817,6 +77842,7 @@ self: { description = "A Ethereum contract analyzer"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ethereum-analyzer-cli" = callPackage @@ -72845,6 +77871,7 @@ self: { description = "A CLI frontend for ethereum-analyzer"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ethereum-analyzer-deps" = callPackage @@ -72891,6 +77918,7 @@ self: { description = "A web frontend for ethereum-analyzer"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ethereum-client-haskell" = callPackage @@ -72920,6 +77948,7 @@ self: { description = "A Haskell version of an Ethereum client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ethereum-merkle-patricia-db" = callPackage @@ -72945,6 +77974,7 @@ self: { description = "A modified Merkle Patricia DB"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ethereum-rlp" = callPackage @@ -72980,6 +78010,7 @@ self: { description = "Ethereum Recursive Length Prefix Encoding"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ety" = callPackage @@ -73042,6 +78073,7 @@ self: { description = "Euler tour trees"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "euphoria" = callPackage @@ -73067,6 +78099,7 @@ self: { description = "Dynamic network FRP with events and continuous values"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eurofxref" = callPackage @@ -73085,6 +78118,7 @@ self: { description = "Free foreign exchange/currency feed from the European Central Bank"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eve" = callPackage @@ -73104,6 +78138,7 @@ self: { description = "An extensible event framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eve-cli" = callPackage @@ -73121,6 +78156,7 @@ self: { testHaskellDepends = [ base bytestring eve lens mtl text vty ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "event" = callPackage @@ -73135,6 +78171,7 @@ self: { description = "Monoidal, monadic and first-class events"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "event-driven" = callPackage @@ -73147,6 +78184,7 @@ self: { description = "library for event driven programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "event-handlers" = callPackage @@ -73194,6 +78232,7 @@ self: { description = "Event-graph simulation monad transformer"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "event-transformer" = callPackage @@ -73255,6 +78294,7 @@ self: { description = "Library for eventful DynamoDB event stores"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eventful-memory" = callPackage @@ -73297,6 +78337,7 @@ self: { description = "Postgres implementations for eventful"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eventful-sql-common" = callPackage @@ -73307,6 +78348,8 @@ self: { pname = "eventful-sql-common"; version = "0.2.0"; sha256 = "1g5f6rvb14hi81dby2hdcq444zhv2vl76ql4lsrh9gdmpf6a2vm4"; + revision = "1"; + editedCabalFile = "1w2qq0p4304zsjkwmqx79azpq5v0ajz5grg740vwkca8qvdvdq91"; libraryHaskellDepends = [ aeson base bytestring eventful-core mtl persistent persistent-template text uuid @@ -73352,21 +78395,44 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "eventlog2html" = callPackage + ({ mkDerivation, aeson, array, attoparsec, base, blaze-html + , bytestring, containers, file-embed, filepath, ghc-events + , hashtables, hvega, mtl, optparse-applicative, semigroups, text + , time + }: + mkDerivation { + pname = "eventlog2html"; + version = "0.2.0"; + sha256 = "106jydjz8lg80xmj2ahllvqz57dfkf8qybm6nqib3hrw956igy4c"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson array attoparsec base blaze-html bytestring containers + file-embed filepath ghc-events hashtables hvega mtl + optparse-applicative semigroups text time + ]; + executableHaskellDepends = [ aeson base filepath text ]; + description = "Visualise an eventlog"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "eventloop" = callPackage ({ mkDerivation, aeson, base, bytestring, concurrent-utilities , deepseq, network, stm, suspend, text, timers, websockets }: mkDerivation { pname = "eventloop"; - version = "0.8.2.7"; - sha256 = "0rqgb224v9zy2kkchk2v3zwpdwh805ff03j5y5vswmc0l52bkw7w"; + version = "0.8.2.8"; + sha256 = "1k10f8mihxb9xsvjkmzxphin4l49f5pwbfxfan1ar7wzxyv85vjj"; libraryHaskellDepends = [ aeson base bytestring concurrent-utilities deepseq network stm suspend text timers websockets ]; description = "A different take on an IO system. Based on Amanda's IO loop, this eventloop takes a function that maps input events to output events. It can easily be extended by modules that represent IO devices or join multiple modules together."; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "eventsource-api" = callPackage @@ -73411,6 +78477,7 @@ self: { description = "GetEventStore store implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eventsource-store-specs" = callPackage @@ -73427,6 +78494,8 @@ self: { ]; description = "Provides common test specification for Store implementation"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eventsource-stub-store" = callPackage @@ -73448,6 +78517,8 @@ self: { ]; description = "An in-memory stub store implementation"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "eventsourced" = callPackage @@ -73474,37 +78545,38 @@ self: { "eventstore" = callPackage ({ mkDerivation, aeson, array, async, base, bifunctors, bytestring , cereal, clock, connection, containers, dns, dotnet-timespan - , ekg-core, exceptions, fast-logger, hashable, http-client - , interpolate, lifted-async, lifted-base, machines, monad-control - , monad-logger, mono-traversable, mtl, protobuf, random, safe - , safe-exceptions, semigroups, stm, stm-chans, streaming, tasty - , tasty-hspec, tasty-hunit, text, time, transformers-base - , unordered-containers, uuid + , ekg-core, exceptions, fast-logger, file-embed, hashable + , http-client, interpolate, lifted-async, lifted-base + , monad-control, monad-logger, mono-traversable, mtl, protobuf + , random, safe, safe-exceptions, semigroups, stm, stm-chans + , streaming, tasty, tasty-hspec, tasty-hunit, text, time + , transformers-base, unordered-containers, uuid, vector }: mkDerivation { pname = "eventstore"; - version = "1.2.1"; - sha256 = "1yya52bk3sgfgrarf88a3n7i0jdwr1hd615a17ixxbb1vc9v44y8"; + version = "1.3.0"; + sha256 = "0smn5ygshmxcd8zz7zg81y4dcqysawznv3222kbj5c1gwx80lm7c"; libraryHaskellDepends = [ aeson array base bifunctors bytestring cereal clock connection containers dns dotnet-timespan ekg-core exceptions fast-logger - hashable http-client interpolate lifted-async lifted-base machines + hashable http-client interpolate lifted-async lifted-base monad-control monad-logger mono-traversable mtl protobuf random safe safe-exceptions semigroups stm stm-chans streaming text time - transformers-base unordered-containers uuid + transformers-base unordered-containers uuid vector ]; testHaskellDepends = [ aeson async base bytestring cereal connection containers - dotnet-timespan exceptions fast-logger hashable lifted-async - lifted-base monad-control mono-traversable protobuf safe - safe-exceptions semigroups stm stm-chans streaming tasty + dotnet-timespan exceptions fast-logger file-embed hashable + lifted-async lifted-base monad-control mono-traversable protobuf + safe safe-exceptions semigroups stm stm-chans streaming tasty tasty-hspec tasty-hunit text time transformers-base - unordered-containers uuid + unordered-containers uuid vector ]; description = "EventStore TCP Client"; license = stdenv.lib.licenses.bsd3; platforms = [ "x86_64-darwin" "x86_64-linux" ]; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "every" = callPackage @@ -73528,6 +78600,7 @@ self: { description = "A functional pearl on encoding and decoding using question-and-answer strategies"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ewe" = callPackage @@ -73547,7 +78620,6 @@ self: { executableToolDepends = [ alex happy uuagc ]; description = "An interpreter for EWE programming language"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ex-pool" = callPackage @@ -73569,8 +78641,8 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "exact-combinatorics"; - version = "0.2.0.8"; - sha256 = "0pj7sh6s1kawk39hb42q1sx20g2rmzanpmr3zri9yvmb16qj5a1j"; + version = "0.2.0.9"; + sha256 = "1ay98m9prmd1pi85v2n0rs2432hzb7mxizzg79sv0ln24an8amvj"; libraryHaskellDepends = [ base ]; description = "Efficient exact computation of combinatoric functions"; license = stdenv.lib.licenses.bsd3; @@ -73589,6 +78661,7 @@ self: { description = "Efficient exact cover solver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "exact-pi" = callPackage @@ -73599,13 +78672,14 @@ self: { pname = "exact-pi"; version = "0.5.0.1"; sha256 = "0q0qrkmpff835m3zz3w60i1y4sqicnzqb6vqmk13cjh4ign5d0ax"; + revision = "1"; + editedCabalFile = "1l55d7x61i2d5rlh7sh2nhn0af9cyp92gzdmqqnnjzg55d347qsm"; libraryHaskellDepends = [ base numtype-dk ]; testHaskellDepends = [ base numtype-dk QuickCheck tasty tasty-hunit tasty-quickcheck ]; description = "Exact rational multiples of pi (and integer powers of pi)"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "exact-real" = callPackage @@ -73626,6 +78700,7 @@ self: { description = "Exact real arithmetic"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "exact-real-positional" = callPackage @@ -73638,6 +78713,7 @@ self: { description = "Framework for Exact Real Arithmetic in the Positional Number System"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "except-exceptions" = callPackage @@ -73652,18 +78728,18 @@ self: { description = "Safely deal with exceptions in ExceptT"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "exception-hierarchy" = callPackage ({ mkDerivation, base, template-haskell }: mkDerivation { pname = "exception-hierarchy"; - version = "0.1.0.1"; - sha256 = "1zk06z8fwr4g701c79vvsqmagjcm2h850d9m96zrig08kz3lshm9"; + version = "0.1.0.2"; + sha256 = "1srzc1dz3cpplxsqjiw3iiy0jnwyc57qxmdgibkkymjlaksi721i"; libraryHaskellDepends = [ base template-haskell ]; description = "Exception type hierarchy with TemplateHaskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "exception-mailer" = callPackage @@ -73691,6 +78767,7 @@ self: { description = "Exception monad transformer instances for monads-fd classes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "exception-monads-tf" = callPackage @@ -73760,10 +78837,8 @@ self: { }: mkDerivation { pname = "exceptions"; - version = "0.10.0"; - sha256 = "1ms9zansv0pwzwdjncvx4kf18lnkjy2p61hvjhvxmjx5bqp93p8y"; - revision = "2"; - editedCabalFile = "0aiihbjfrlmxzw9q8idvr6mihhs7kbx9s3w1vj8x3pz27p0ncq7g"; + version = "0.10.2"; + sha256 = "0ajiq47xd1paingr7kksh69v6d072zsppfr6cy1gzjh3zg5jr34i"; libraryHaskellDepends = [ base mtl stm template-haskell transformers transformers-compat ]; @@ -73776,6 +78851,28 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "exceptions_0_10_3" = callPackage + ({ mkDerivation, base, mtl, QuickCheck, stm, template-haskell + , test-framework, test-framework-hunit, test-framework-quickcheck2 + , transformers, transformers-compat + }: + mkDerivation { + pname = "exceptions"; + version = "0.10.3"; + sha256 = "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"; + libraryHaskellDepends = [ + base mtl stm template-haskell transformers transformers-compat + ]; + testHaskellDepends = [ + base mtl QuickCheck stm template-haskell test-framework + test-framework-hunit test-framework-quickcheck2 transformers + transformers-compat + ]; + description = "Extensible optionally-pure exceptions"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "exchangerates" = callPackage ({ mkDerivation, aeson, base, containers, directory, genvalidity , genvalidity-containers, genvalidity-hspec @@ -73803,6 +78900,7 @@ self: { description = "A Haskell client for https://exchangeratesapi.io/"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "execs" = callPackage @@ -73818,6 +78916,7 @@ self: { description = "Tool to run stack exec prj-exe more easy"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "executable-hash" = callPackage @@ -73866,6 +78965,7 @@ self: { description = "Shell helpers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "exference" = callPackage @@ -73897,6 +78997,7 @@ self: { description = "Tool to search/generate (haskell) expressions with a given type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "exhaustive" = callPackage @@ -73936,6 +79037,7 @@ self: { description = "Exheres generator for cabal packages"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "exif" = callPackage @@ -73949,6 +79051,7 @@ self: { description = "A Haskell binding to a subset of libexif"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) exif;}; "exinst" = callPackage @@ -74039,6 +79142,7 @@ self: { description = "Derive instances for the `deepseq` library for your existential types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "exinst-hashable" = callPackage @@ -74053,6 +79157,7 @@ self: { description = "Derive instances for the `hashable` library for your existential types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "exinst-serialise" = callPackage @@ -74105,6 +79210,7 @@ self: { description = "Existential datatypes holding evidence of constraints"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "exit-codes" = callPackage @@ -74125,10 +79231,8 @@ self: { }: mkDerivation { pname = "exitcode"; - version = "0.1.0.1"; - sha256 = "1h4qv29g59dxwsb2i4qrnf2f96xsmzngc9rnrqfkh8nkkcr71br5"; - revision = "2"; - editedCabalFile = "0g30lnsl947bsxcw53swl0vv3qg8c7vqf8axpdnhl28mdrxa0ax9"; + version = "0.1.0.2"; + sha256 = "1w3m5ib952kiyw85ysj049v01qzc8p8mlmn9mxsm1h0x0a5axf3y"; libraryHaskellDepends = [ base lens mmorph mtl semigroupoids semigroups transformers ]; @@ -74139,6 +79243,7 @@ self: { description = "Monad transformer for exit codes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "exomizer" = callPackage @@ -74224,6 +79329,7 @@ self: { description = "Extensible Pandoc"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "expat-enumerator" = callPackage @@ -74240,6 +79346,7 @@ self: { description = "Enumerator-based API for Expat"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "expiring-cache-map" = callPackage @@ -74282,6 +79389,7 @@ self: { description = "Expiring containers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "expiring-mvar" = callPackage @@ -74309,6 +79417,7 @@ self: { description = "Show how expressions are parsed"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "explicit-constraint-lens" = callPackage @@ -74317,11 +79426,14 @@ self: { pname = "explicit-constraint-lens"; version = "0.1.0.0"; sha256 = "181frvmgv65rcjpiya4gswvpq9ahz97c8lalhgmwknx9jx5nqd98"; + revision = "1"; + editedCabalFile = "06mj6zxj1l439g6l5ibrxbsr6ff2c199i3dlf0k1yxjck1dfblv4"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base tasty tasty-hunit ]; description = "Fully-flexible polymorphic lenses, without any bizarre profunctors"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "explicit-determinant" = callPackage @@ -74334,14 +79446,15 @@ self: { description = "explicit computation of determinant of small matrices"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "explicit-exception" = callPackage ({ mkDerivation, base, deepseq, semigroups, transformers }: mkDerivation { pname = "explicit-exception"; - version = "0.1.9.2"; - sha256 = "1xj9fqh28br5xyzzc28zl23jj913ayhikvwcw9ccj3pqfybh5xk0"; + version = "0.1.10"; + sha256 = "1g7q01zqxv9aj4pqfbv4r8b2zndkilispigvmlvxnlapyzb6gm00"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base deepseq semigroups transformers ]; @@ -74359,6 +79472,7 @@ self: { description = "File handles with explicit IOModes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "explicit-iomodes-bytestring" = callPackage @@ -74371,6 +79485,7 @@ self: { description = "Extends explicit-iomodes with ByteString operations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "explicit-iomodes-text" = callPackage @@ -74383,6 +79498,7 @@ self: { description = "Extends explicit-iomodes with Text operations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "explicit-sharing" = callPackage @@ -74397,6 +79513,7 @@ self: { description = "Explicit Sharing of Monadic Effects"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "explore" = callPackage @@ -74411,6 +79528,7 @@ self: { description = "Experimental Plot data Reconstructor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "exposed-containers" = callPackage @@ -74432,6 +79550,20 @@ self: { description = "A distribution of the 'containers' package, with all modules exposed"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "express" = callPackage + ({ mkDerivation, base, leancheck, template-haskell }: + mkDerivation { + pname = "express"; + version = "0.1.2"; + sha256 = "0i6dh1kpadhh4faanmkszdq1bbsdyl2ngbyrwv7pb8kb3wqc4y6y"; + libraryHaskellDepends = [ base template-haskell ]; + testHaskellDepends = [ base leancheck ]; + benchmarkHaskellDepends = [ base leancheck ]; + description = "Dynamically-typed expressions involving applications and variables"; + license = stdenv.lib.licenses.bsd3; }) {}; "expression-parser" = callPackage @@ -74451,8 +79583,8 @@ self: { }: mkDerivation { pname = "expressions"; - version = "0.4.2"; - sha256 = "0lps0grvknsp0sfsqnd6kxfh6xf518x9ii11s7fy03qcl0v51da5"; + version = "0.5"; + sha256 = "1xp6rfiak6a8mg20xjdimcqna1g99a7gafgzrvpala3i06wjb3ia"; libraryHaskellDepends = [ attoparsec base containers free lattices singletons text transformers @@ -74460,7 +79592,6 @@ self: { testHaskellDepends = [ base singletons text ]; description = "Expressions and Formulae a la carte"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "expressions-z3" = callPackage @@ -74469,8 +79600,8 @@ self: { }: mkDerivation { pname = "expressions-z3"; - version = "0.4"; - sha256 = "1m3s9rm4767z68wpl92vryhg1sb0pllrv18x5x53amfa7kf6vrvv"; + version = "0.5"; + sha256 = "1l9h88hvbnl0y8yz5drzn2smnll3wsk6ni4qn752m51g9hm4qvjf"; libraryHaskellDepends = [ base containers expressions list-t singletons transformers z3 ]; @@ -74480,6 +79611,7 @@ self: { description = "Encode and Decode expressions from Z3 ASTs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "expresso" = callPackage @@ -74526,6 +79658,7 @@ self: { description = "Libraries for processing GHC Core"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "extemp" = callPackage @@ -74549,6 +79682,19 @@ self: { description = "automated printing for extemp speakers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "extend-record-data-th" = callPackage + ({ mkDerivation, attoparsec, base, template-haskell, text }: + mkDerivation { + pname = "extend-record-data-th"; + version = "0.1.0.2"; + sha256 = "1gy730iic17hiiqf08j4riz1086wpz6iv7i5carc04mi39zdjf4h"; + libraryHaskellDepends = [ attoparsec base template-haskell text ]; + testHaskellDepends = [ attoparsec base template-haskell text ]; + description = "TH to define a new record data type that extends the existing record data type"; + license = stdenv.lib.licenses.bsd3; }) {}; "extended-categories" = callPackage @@ -74561,6 +79707,7 @@ self: { description = "Extended Categories"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "extended-reals" = callPackage @@ -74571,8 +79718,8 @@ self: { pname = "extended-reals"; version = "0.2.3.0"; sha256 = "170nxxza6lkczh05qi2qxr8nbr3gmdjpfvl1m703gjq9xwrwg2kw"; - revision = "2"; - editedCabalFile = "020aliazf97zrhkcdpblmh9xakabdd8wdxg0667j4553rsijwqcy"; + revision = "3"; + editedCabalFile = "0v80m6cnpx1d43cfykz5jbiqkk7l51vmrd48sb8s1h8f2pp9v3dq"; libraryHaskellDepends = [ base deepseq hashable ]; testHaskellDepends = [ base deepseq HUnit QuickCheck tasty tasty-hunit tasty-quickcheck @@ -74583,22 +79730,23 @@ self: { }) {}; "extensible" = callPackage - ({ mkDerivation, aeson, base, bytestring, cassava, comonad + ({ mkDerivation, aeson, barbies, base, bytestring, cassava, comonad , constraints, deepseq, exceptions, ghc-prim, hashable, lens - , monad-skeleton, mtl, prettyprinter, primitive, profunctors - , QuickCheck, resourcet, StateVar, tagged, template-haskell, text - , th-lift, transformers, unordered-containers, vector + , membership, monad-skeleton, mtl, prettyprinter, primitive + , profunctors, QuickCheck, resourcet, StateVar, tagged + , template-haskell, text, th-lift, transformers + , unordered-containers, vector }: mkDerivation { pname = "extensible"; - version = "0.5"; - sha256 = "1nsidp8rb3fnkybirgql2ij1vwjzsy2da3qp8abjb1g8aj50ih14"; + version = "0.6.1"; + sha256 = "1h96kn622qyx27xap79ywq4kx4q82x4b3kxviakhqwxlvf2sklg2"; libraryHaskellDepends = [ - aeson base bytestring cassava comonad constraints deepseq - exceptions ghc-prim hashable monad-skeleton mtl prettyprinter - primitive profunctors QuickCheck resourcet StateVar tagged - template-haskell text th-lift transformers unordered-containers - vector + aeson barbies base bytestring cassava comonad constraints deepseq + exceptions ghc-prim hashable membership monad-skeleton mtl + prettyprinter primitive profunctors QuickCheck resourcet StateVar + tagged template-haskell text th-lift transformers + unordered-containers vector ]; testHaskellDepends = [ base lens QuickCheck template-haskell ]; description = "Extensible, efficient, optics-friendly data types and effects"; @@ -74619,6 +79767,7 @@ self: { description = "Sums/products/lists/trees which can be extended in other modules"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "extensible-effects" = callPackage @@ -74648,34 +79797,36 @@ self: { "extensible-effects-concurrent" = callPackage ({ mkDerivation, async, base, containers, data-default, deepseq - , directory, exceptions, extensible-effects, filepath, HUnit, lens - , monad-control, mtl, parallel, process, QuickCheck - , safe-exceptions, stm, tasty, tasty-discover, tasty-hunit, time - , transformers-base + , directory, exceptions, extensible-effects, filepath, hashable + , hostname, HUnit, lens, monad-control, mtl, network, pretty-types + , QuickCheck, safe-exceptions, stm, tasty, tasty-discover + , tasty-hunit, text, time, transformers-base }: mkDerivation { pname = "extensible-effects-concurrent"; - version = "0.18.1"; - sha256 = "14kx3ipwz51g2qvdmz97v4mckglh6hajw6yzbzllqysgljs243cl"; + version = "0.32.0"; + sha256 = "1zipam9jac1bj4fkzihgh0hasiwgpycidhvxb0b2b0q7ic18487a"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - async base containers data-default deepseq exceptions - extensible-effects filepath lens monad-control mtl parallel process - QuickCheck safe-exceptions stm time transformers-base + async base containers data-default deepseq directory exceptions + extensible-effects filepath hashable hostname lens monad-control + mtl network pretty-types safe-exceptions stm text time + transformers-base ]; executableHaskellDepends = [ - base data-default deepseq directory extensible-effects filepath - lens + base data-default deepseq extensible-effects lens pretty-types text ]; testHaskellDepends = [ - async base containers data-default deepseq extensible-effects HUnit - lens QuickCheck stm tasty tasty-discover tasty-hunit + async base containers data-default deepseq extensible-effects + filepath hostname HUnit lens monad-control pretty-types QuickCheck + stm tasty tasty-discover tasty-hunit text time ]; testToolDepends = [ tasty-discover ]; description = "Message passing concurrency as extensible-effect"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "extensible-exceptions" = callPackage @@ -74715,14 +79866,14 @@ self: { "extra" = callPackage ({ mkDerivation, base, clock, directory, filepath, process - , QuickCheck, time, unix + , QuickCheck, semigroups, time, unix }: mkDerivation { pname = "extra"; - version = "1.6.14"; - sha256 = "170jmwx2wnpa6bs92pcijm4ib4hq0vs4582s6v63wrcn1m9l21m6"; + version = "1.6.18"; + sha256 = "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"; libraryHaskellDepends = [ - base clock directory filepath process time unix + base clock directory filepath process semigroups time unix ]; testHaskellDepends = [ base directory filepath QuickCheck unix ]; description = "Extra functions I use"; @@ -74748,6 +79899,7 @@ self: { description = "Given a hackage package outputs the list of its dependencies"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "extractable-singleton" = callPackage @@ -74778,6 +79930,7 @@ self: { description = "Extract an ELF's metadata and sections into files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "extralife" = callPackage @@ -74793,6 +79946,8 @@ self: { ]; description = "API Client for ExtraLife team and user data"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "extrapolate" = callPackage @@ -74809,6 +79964,23 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "extrapolate_0_4_1" = callPackage + ({ mkDerivation, base, express, leancheck, speculate + , template-haskell + }: + mkDerivation { + pname = "extrapolate"; + version = "0.4.1"; + sha256 = "1rhwgbx8skq8hl1h5hnv28qavy3v1p71vdlib1kwbdp1r7niwp8l"; + libraryHaskellDepends = [ + base express leancheck speculate template-haskell + ]; + testHaskellDepends = [ base express leancheck speculate ]; + description = "generalize counter-examples of test properties"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "ez-couch" = callPackage ({ mkDerivation, aeson, attoparsec, attoparsec-conduit, base , blaze-builder, bytestring, classy-prelude, classy-prelude-conduit @@ -74831,6 +80003,7 @@ self: { description = "A high level static library for working with CouchDB"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ez3" = callPackage @@ -74844,6 +80017,19 @@ self: { libraryHaskellDepends = [ base transformers z3 ]; description = "Z3 bonds with pure interface"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "f-algebra-gen" = callPackage + ({ mkDerivation, base, template-haskell }: + mkDerivation { + pname = "f-algebra-gen"; + version = "0.1.0.2"; + sha256 = "1vxhfr4wqm2bclnq15lp4q496w3916ll9chj6mcqbn0r64bmmkn8"; + libraryHaskellDepends = [ base template-haskell ]; + description = "Generate a special f-algebra combinator from any data type"; + license = stdenv.lib.licenses.mit; }) {}; "f-ree-hack-cheats-free-v-bucks-generator" = callPackage @@ -74860,6 +80046,7 @@ self: { description = "Spam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "faceted" = callPackage @@ -74872,6 +80059,7 @@ self: { description = "Faceted computation for dynamic information flow security"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "factory" = callPackage @@ -74880,8 +80068,8 @@ self: { }: mkDerivation { pname = "factory"; - version = "0.3.2.0"; - sha256 = "1ihyqs8b2rgxny69iqaxh55a2pkamp4mb4i3gcy9c6pphjrbmyz3"; + version = "0.3.2.1"; + sha256 = "1vz273vni9335py69nlc2g92gkvy13rkfa238116g83qjjcx8w1f"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -74928,6 +80116,7 @@ self: { description = "A driver for the Factual API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fad" = callPackage @@ -74962,6 +80151,7 @@ self: { description = "Minimal library for music generation and notation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fadno-braids" = callPackage @@ -74979,6 +80169,7 @@ self: { description = "Braid representations in Haskell"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fadno-xml" = callPackage @@ -74994,6 +80185,7 @@ self: { description = "XML/XSD combinators/schemas/codegen"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fail" = callPackage @@ -75011,8 +80203,8 @@ self: { ({ mkDerivation, base, mtl, transformers }: mkDerivation { pname = "failable"; - version = "1.1.0.0"; - sha256 = "0fgvs1cs3big4771jy9svwg3pz58zplvnzrrgkqbwplhz6wilyq8"; + version = "1.2.2.0"; + sha256 = "0cwnqipq23mhcadhxgqghsh5br8lrny7r3zlxiz05l7s3in5vsdk"; libraryHaskellDepends = [ base mtl transformers ]; description = "A 'Failable' error monad class to unify failure across monads that can fail"; license = stdenv.lib.licenses.bsd3; @@ -75028,6 +80220,7 @@ self: { description = "A list-like type for lazy streams, which might terminate with an error"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "failure" = callPackage @@ -75056,6 +80249,22 @@ self: { description = "Failure Detectors implimented in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "fair" = callPackage + ({ mkDerivation, base, criterion, smallcheck, tasty + , tasty-smallcheck, util + }: + mkDerivation { + pname = "fair"; + version = "0.1.0.0"; + sha256 = "0x8nz1476pdmcaq99gvzs0ila78z1zhvdkyw886ly8ivfp49ix17"; + libraryHaskellDepends = [ base util ]; + testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ]; + benchmarkHaskellDepends = [ base criterion ]; + description = "Lists with fair choice"; + license = stdenv.lib.licenses.bsd3; }) {}; "fair-predicates" = callPackage @@ -75076,17 +80285,16 @@ self: { }: mkDerivation { pname = "fake"; - version = "0.1.1.1"; - sha256 = "0f6iqbyyrllry2q48by8qwaq0n9k7b5d00xgw5vvlr9zdvrpllgf"; + version = "0.1.1.2"; + sha256 = "0jwndfsyc5p7da97658j14x5gynbifkx7ikg8k09ym9gizkrmdd2"; revision = "1"; - editedCabalFile = "1a1rsa8hpgpyw8m2bq9ns76n4dbr4iymjhxqkiif6b6xvg8zwld5"; + editedCabalFile = "0gpqpb6vmskw7l6k3q18cfb670azxldiirj9sapz043sqd5wc3di"; libraryHaskellDepends = [ base containers generics-sop random text time ]; testHaskellDepends = [ base hspec random text time ]; description = "Randomly generated fake data"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "fake-type" = callPackage @@ -75100,8 +80308,44 @@ self: { description = "A crossplatform library to simulate keyboard input"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs.xorg) libXtst;}; + "fakedata" = callPackage + ({ mkDerivation, base, bytestring, containers, directory + , exceptions, filepath, hspec, hspec-discover, random + , template-haskell, text, time, vector, yaml + }: + mkDerivation { + pname = "fakedata"; + version = "0.2.2"; + sha256 = "11gsshxd23inh6lb3rbs0fkmh83ivffxdlcqrxsfi0ymdmzha3rr"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + base bytestring containers directory exceptions filepath random + template-haskell text time vector yaml + ]; + testHaskellDepends = [ + base bytestring containers directory exceptions filepath hspec + hspec-discover random template-haskell text time vector yaml + ]; + testToolDepends = [ hspec-discover ]; + description = "Library for producing fake data"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "fakefs" = callPackage + ({ mkDerivation, base, containers, hspec, mtl, QuickCheck }: + mkDerivation { + pname = "fakefs"; + version = "0.2.0.1"; + sha256 = "0szdjrc4m87h9dsb7qg5rpp5avnyzv47mymyihgvmxc22wiyf1c1"; + libraryHaskellDepends = [ base containers mtl ]; + testHaskellDepends = [ base containers hspec QuickCheck ]; + description = "Extensible fake file system for testing"; + license = stdenv.lib.licenses.asl20; + }) {}; + "faker" = callPackage ({ mkDerivation, base, gimlh, random, split }: mkDerivation { @@ -75121,8 +80365,8 @@ self: { }: mkDerivation { pname = "faktory"; - version = "1.0.0.0"; - sha256 = "10dvgxipik8pw2cibmw65887ri1zssy2ha72r6x57flgkr0jal0j"; + version = "1.0.1.0"; + sha256 = "0vkg1siaiq6dj1i0dnfdcdswr7fw4shn92wyfj8lxrj6krmfjrni"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -75135,6 +80379,7 @@ self: { description = "Faktory Worker for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "falling-turnip" = callPackage @@ -75155,6 +80400,7 @@ self: { description = "Falling sand game/cellular automata simulation using regular parallel arrays"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fallingblocks" = callPackage @@ -75174,6 +80420,7 @@ self: { description = "A fun falling blocks game"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "familiar-reflection" = callPackage @@ -75202,6 +80449,7 @@ self: { description = "A family tree library for the Haskell programming language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "farmhash" = callPackage @@ -75231,6 +80479,7 @@ self: { description = "Fast functions on integers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fast-builder" = callPackage @@ -75240,8 +80489,8 @@ self: { }: mkDerivation { pname = "fast-builder"; - version = "0.1.0.0"; - sha256 = "1sc5hgiagjcsblbzlymd9z140ybmq03l6xykksjdx0xkwj4sqrp2"; + version = "0.1.1.0"; + sha256 = "024n5q1zsmd1va662sjdnc42w4qj6pmqg64fsfcn0jx5zvmg62d9"; libraryHaskellDepends = [ base bytestring ghc-prim ]; testHaskellDepends = [ base bytestring process QuickCheck stm ]; benchmarkHaskellDepends = [ @@ -75270,6 +80519,7 @@ self: { description = "Fast combinatorics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fast-digits" = callPackage @@ -75303,22 +80553,23 @@ self: { ]; description = "Solve classical planning problems (STRIPS/SAS+) using Haskell & Fast Downward"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "fast-logger" = callPackage ({ mkDerivation, array, auto-update, base, bytestring, directory - , easy-file, filepath, hspec, text, unix-compat, unix-time + , easy-file, filepath, hspec, hspec-discover, text, unix-compat + , unix-time }: mkDerivation { pname = "fast-logger"; - version = "2.4.13"; - sha256 = "1ciji847kcpg8zfld964wd20c5n554y3ak5340rn07k6dx0fzm2b"; + version = "2.4.16"; + sha256 = "090wv1as2ylr7f90dzhp5g9xzagg03zv0swy1zz08kar9qx3fwhc"; libraryHaskellDepends = [ array auto-update base bytestring directory easy-file filepath text unix-compat unix-time ]; testHaskellDepends = [ base bytestring directory hspec ]; + testToolDepends = [ hspec-discover ]; description = "A fast logging system"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -75355,6 +80606,7 @@ self: { description = "Natural Numbers with no overhead"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fast-tags" = callPackage @@ -75426,6 +80678,7 @@ self: { description = "A simple, mindless parser for fasta files"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fastbayes" = callPackage @@ -75438,6 +80691,7 @@ self: { description = "Bayesian modeling algorithms accelerated for particular model structures"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fastcgi" = callPackage @@ -75474,6 +80728,7 @@ self: { description = "find nearest neighbours by edit-distance"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fastirc" = callPackage @@ -75491,6 +80746,7 @@ self: { description = "Fast Internet Relay Chat (IRC) library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fastly" = callPackage @@ -75511,6 +80767,7 @@ self: { description = "A highly experimental Fastly API client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fastparser" = callPackage @@ -75520,8 +80777,8 @@ self: { }: mkDerivation { pname = "fastparser"; - version = "0.3.1.1"; - sha256 = "0wj50rpjr69sl4kkw6zybh2s9iq9ysv6sc83k50l5kq12p28yc5d"; + version = "0.3.1.2"; + sha256 = "0hyai0v9h4zlbr8fnal6l4z9y8zrh4ghhp2wymhf6fg23lahscid"; libraryHaskellDepends = [ base bytestring bytestring-lexing containers kan-extensions microlens thyme transformers vector-space @@ -75529,7 +80786,6 @@ self: { benchmarkHaskellDepends = [ base bytestring criterion ]; description = "A fast, but bare bones, bytestring parser combinators library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "fastpbkdf2" = callPackage @@ -75553,15 +80809,17 @@ self: { }) {inherit (pkgs) openssl;}; "fastsum" = callPackage - ({ mkDerivation, base, ghc-prim, hashable, template-haskell }: + ({ mkDerivation, base, deepseq, ghc-prim, hashable + , template-haskell + }: mkDerivation { pname = "fastsum"; - version = "0.1.0.0"; - sha256 = "19an2yx0x10mj1lxwh3sqj5zs8fcwbw1zj530sxs64127l2dby57"; + version = "0.1.1.0"; + sha256 = "0fa3wjdsjl8wwlw194g1b7j8rvwix2b1hgwm1s10fq91a10mca6n"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base ghc-prim hashable template-haskell + base deepseq ghc-prim hashable template-haskell ]; description = "A fast open-union type suitable for 100+ contained alternatives"; license = stdenv.lib.licenses.bsd3; @@ -75580,6 +80838,7 @@ self: { description = "Utilities for working with DuckDuckHack's FatHead Instant Answers"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fault-tree" = callPackage @@ -75592,6 +80851,7 @@ self: { description = "A fault tree analysis library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fay" = callPackage @@ -75605,8 +80865,8 @@ self: { }: mkDerivation { pname = "fay"; - version = "0.24.0.2"; - sha256 = "00qm6n8ali6inqmm64mrcz414iwiin8zwpavq5w1hnrmvzlbazg5"; + version = "0.24.0.3"; + sha256 = "07ys208iiy28hmhc098yx2vj3rzwwxqi0q7l4xx4q61albmryf08"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -75623,19 +80883,21 @@ self: { description = "A compiler for Fay, a Haskell subset that compiles to JavaScript"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fay-base" = callPackage ({ mkDerivation, base, fay }: mkDerivation { pname = "fay-base"; - version = "0.21.1.0"; - sha256 = "1i19q04a4z3aix8njw5im8ixkw7l53xfhff0rrgx3ibnf9jy752z"; + version = "0.21.1.1"; + sha256 = "09fnivdghxc750gpsa3hr7vgj3hff21zj7k73dfkxbkaj48bpf7q"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base fay ]; description = "The base package for Fay"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fay-builder" = callPackage @@ -75654,6 +80916,7 @@ self: { description = "Compile Fay code on cabal install, and ad-hoc recompile during development"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fay-dom" = callPackage @@ -75669,6 +80932,7 @@ self: { description = "DOM FFI wrapper library for Fay"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fay-geoposition" = callPackage @@ -75682,6 +80946,7 @@ self: { description = "W3C compliant implementation of GeoPosition API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fay-hsx" = callPackage @@ -75695,6 +80960,7 @@ self: { description = "Clientside HTML generation for fay"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fay-jquery" = callPackage @@ -75708,6 +80974,7 @@ self: { description = "jQuery bindings for Fay"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fay-ref" = callPackage @@ -75721,6 +80988,7 @@ self: { description = "Like IORef but for Fay"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fay-simplejson" = callPackage @@ -75734,6 +81002,7 @@ self: { description = "SimpleJSON library for Fay"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fay-text" = callPackage @@ -75749,6 +81018,7 @@ self: { description = "Fay Text type represented as JavaScript strings"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fay-uri" = callPackage @@ -75762,6 +81032,7 @@ self: { description = "Persistent FFI bindings for using jsUri in Fay"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fay-websockets" = callPackage @@ -75775,27 +81046,25 @@ self: { description = "Websockets FFI library for Fay"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fb" = callPackage - ({ mkDerivation, aeson, attoparsec, base, base16-bytestring - , base64-bytestring, bytestring, cereal, conduit, conduit-extra - , containers, crypto-api, cryptohash, cryptohash-cryptoapi - , data-default, hspec, http-client, http-conduit, http-types, HUnit - , monad-logger, old-locale, QuickCheck, resourcet, text, time - , transformers, transformers-base, unliftio, unliftio-core - , unordered-containers + ({ mkDerivation, aeson, attoparsec, base, bytestring, conduit + , conduit-extra, containers, cryptonite, data-default, hspec + , http-client, http-conduit, http-types, HUnit, memory + , monad-logger, QuickCheck, resourcet, text, time, transformers + , transformers-base, unliftio, unliftio-core, unordered-containers }: mkDerivation { pname = "fb"; - version = "1.2.1"; - sha256 = "05ax0pd9j6c64n48r9q03k5pg2axkmv11cz6azjg7k72cfkp1mm9"; + version = "2.0.0"; + sha256 = "0z56cibxp5f616vamj4jm76g2n33w22zz8pc9hhs33lm5m0nlncw"; libraryHaskellDepends = [ - aeson attoparsec base base16-bytestring base64-bytestring - bytestring cereal conduit conduit-extra crypto-api cryptohash - cryptohash-cryptoapi data-default http-client http-conduit - http-types monad-logger old-locale resourcet text time transformers - transformers-base unliftio unliftio-core unordered-containers + aeson attoparsec base bytestring conduit conduit-extra cryptonite + data-default http-client http-conduit http-types memory + monad-logger resourcet text time transformers transformers-base + unliftio unliftio-core unordered-containers ]; testHaskellDepends = [ aeson base bytestring conduit containers data-default hspec @@ -75816,6 +81085,7 @@ self: { description = "Provides Persistent instances to Facebook types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fbmessenger-api" = callPackage @@ -75845,6 +81115,7 @@ self: { description = "High-level bindings to Facebook Messenger Platform API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fca" = callPackage @@ -75862,6 +81133,7 @@ self: { description = "Algo for Formal Concept Analysis"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fcache" = callPackage @@ -75879,6 +81151,7 @@ self: { description = "Cache a function (a -> b)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fcd" = callPackage @@ -75899,6 +81172,7 @@ self: { description = "A faster way to navigate directories using the command line"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fcg" = callPackage @@ -75912,6 +81186,7 @@ self: { description = "TBA"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fckeditor" = callPackage @@ -75924,6 +81199,7 @@ self: { description = "Server-Side Integration for FCKeditor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fclabels" = callPackage @@ -75955,6 +81231,7 @@ self: { description = "MonadLib monadic interface for the \"fclabels\" package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fcm-client" = callPackage @@ -76020,6 +81297,18 @@ self: { description = "Utilities related to freedesktop Trash standard"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "feather" = callPackage + ({ mkDerivation, base, containers, microlens-platform, mtl }: + mkDerivation { + pname = "feather"; + version = "0.1.0.0"; + sha256 = "03jpdg50g43lb3akfyfs0yh630igqfm0dg62bk4s5yv23cmbn8vf"; + libraryHaskellDepends = [ base containers microlens-platform mtl ]; + testHaskellDepends = [ base containers microlens-platform mtl ]; + license = stdenv.lib.licenses.bsd3; }) {}; "feature-flags" = callPackage @@ -76050,6 +81339,7 @@ self: { description = "A minimally obtrusive feature flag library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "feature-flipper-postgres" = callPackage @@ -76072,6 +81362,7 @@ self: { description = "A minimally obtrusive feature flag library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fec" = callPackage @@ -76089,28 +81380,56 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "fedora-dists"; - version = "1.0.0.2"; - sha256 = "0jc7kv2zflxwfbidc4wm6wad8hpwfxw7w2ri1zghk3970dkl7lnl"; + version = "1.0.1"; + sha256 = "107ykp3f1f35ghlxfv53mxl0wmj1jyr7xnil16gyg6gcyi0shbll"; libraryHaskellDepends = [ base ]; description = "Library for Fedora distribution versions"; license = stdenv.lib.licenses.gpl3; }) {}; "fedora-haskell-tools" = callPackage - ({ mkDerivation, base, csv, directory, filepath, HTTP, process + ({ mkDerivation, base, csv, directory, fedora-dists, filepath, HTTP + , optparse-applicative, process, simple-cmd, simple-cmd-args, split , time, unix }: mkDerivation { pname = "fedora-haskell-tools"; - version = "0.6"; - sha256 = "06yr6hyksdqz0nksw0m23cqik51jjr74241xx96979pvw07zcym4"; + version = "0.8"; + sha256 = "03wk335dpkbcdgxqsjiavnqc43jkw8gh7y41dyfwivwd9mr32y2w"; + revision = "1"; + editedCabalFile = "06xak96g91krd45kvz1nscnfn4rw9gdj5xxwn8simb2vmqiy6f94"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ - base csv directory filepath HTTP process time unix + base csv directory fedora-dists filepath HTTP optparse-applicative + process simple-cmd simple-cmd-args split time unix ]; description = "Building and maintenance tools for Fedora Haskell"; license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "fedora-img-dl" = callPackage + ({ mkDerivation, base, bytestring, directory, filepath + , http-directory, http-types, optparse-applicative, simple-cmd + , simple-cmd-args, text, unix, xdg-userdirs + }: + mkDerivation { + pname = "fedora-img-dl"; + version = "0.4"; + sha256 = "1wymwrcycyq0sf3vld4fxk57g8rdwhr0cgxpx2angdw9pjcmnyd7"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base bytestring directory filepath http-directory http-types + optparse-applicative simple-cmd simple-cmd-args text unix + xdg-userdirs + ]; + description = "Fedora image download tool"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fedora-packages" = callPackage @@ -76134,6 +81453,7 @@ self: { description = "Haskell interface to the Fedora Packages webapp API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fee-estimate" = callPackage @@ -76159,10 +81479,8 @@ self: { }: mkDerivation { pname = "feed"; - version = "1.0.1.0"; - sha256 = "076krkyvbh24s50chdw3nz6w2svwchys65ppjzlm8gy42ddhbgc7"; - revision = "1"; - editedCabalFile = "10xjd3syr70g3blnjy7xvd6s21y68vxsi69f6bmizpsylbfb0245"; + version = "1.2.0.0"; + sha256 = "0cakrlq1ra2gwyqmdhss4clkj0xxrwy3pc4xjzgqz4w3yd1czjg7"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base base-compat bytestring old-locale old-time safe text time @@ -76194,6 +81512,7 @@ self: { description = "A simple command line interface for creating and updating feeds like RSS"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "feed-collect" = callPackage @@ -76212,6 +81531,7 @@ self: { description = "Watch RSS/Atom feeds (and do with them whatever you like)"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "feed-crawl" = callPackage @@ -76229,6 +81549,7 @@ self: { description = "Utility for fetching feeds with redirect info and HTML link detection"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "feed-gipeda" = callPackage @@ -76268,6 +81589,7 @@ self: { description = "CI service around gipeda"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "feed-translator" = callPackage @@ -76290,6 +81612,7 @@ self: { description = "Translate syndication feeds"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "feed2lj" = callPackage @@ -76309,6 +81632,7 @@ self: { description = "(unsupported)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "feed2twitter" = callPackage @@ -76326,6 +81650,7 @@ self: { description = "Send posts from a feed to Twitter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "feldspar-compiler" = callPackage @@ -76355,6 +81680,7 @@ self: { description = "Compiler for the Feldspar language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {gcc_s = null;}; "feldspar-language" = callPackage @@ -76379,6 +81705,7 @@ self: { description = "A functional embedded language for DSP and parallelism"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "feldspar-signal" = callPackage @@ -76452,6 +81779,7 @@ self: { description = "Graph-based notetaking system"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {raptor = null;}; "fernet" = callPackage @@ -76478,6 +81806,7 @@ self: { description = "Generate and verify HMAC-based authentication tokens"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "festung" = callPackage @@ -76509,6 +81838,7 @@ self: { description = "Remote multi-db SQLCipher server"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fez-conf" = callPackage @@ -76535,6 +81865,7 @@ self: { description = "Haskell binding to the FriendFeed API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fficxx" = callPackage @@ -76590,6 +81921,7 @@ self: { description = "Minimal bindings to the FFmpeg library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) ffmpeg; libavcodec = null; libavdevice = null; libavformat = null; libswscale = null;}; @@ -76608,6 +81940,7 @@ self: { description = "Tutorials on ffmpeg usage to play video/audio"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fft" = callPackage @@ -76639,6 +81972,27 @@ self: { license = stdenv.lib.licenses.bsd3; }) {inherit (pkgs) fftw;}; + "ffunctor" = callPackage + ({ mkDerivation, aeson, base, exceptions, generic-lens, http-client + , mtl, servant, servant-client, tasty, tasty-discover, tasty-hspec + , tasty-quickcheck, time, transformers, universum + }: + mkDerivation { + pname = "ffunctor"; + version = "1.2.0"; + sha256 = "0rq60a7ximvqdxqvijw1isd1d5gwqbjagmws91y0jvxlwmsgzf6w"; + libraryHaskellDepends = [ base transformers ]; + testHaskellDepends = [ + aeson base exceptions generic-lens http-client mtl servant + servant-client tasty tasty-hspec tasty-quickcheck time universum + ]; + testToolDepends = [ tasty-discover ]; + description = "FFunctor typeclass"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "fgl" = callPackage ({ mkDerivation, array, base, containers, deepseq, hspec , microbench, QuickCheck, transformers @@ -76678,6 +82032,7 @@ self: { description = "Graph decomposition algorithms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fgl-visualize" = callPackage @@ -76691,6 +82046,19 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "fib" = callPackage + ({ mkDerivation, base-noprelude, integer-gmp, semirings }: + mkDerivation { + pname = "fib"; + version = "0.1"; + sha256 = "19ppp760993wz4d1w3i5s60k4yqcx40il7l0ak0ylcqqym619zlk"; + revision = "1"; + editedCabalFile = "1pi7hhil698v9yk17ncw7raw0sf20yj679jvs2d0p7q8ypl9b1lh"; + libraryHaskellDepends = [ base-noprelude integer-gmp semirings ]; + description = "fibonacci algebra"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "fibon" = callPackage ({ mkDerivation, attoparsec, base, bytestring, bytestring-lexing , Cabal, cereal, containers, directory, filepath, hslogger, mtl @@ -76711,6 +82079,7 @@ self: { description = "Tools for running and analyzing Haskell benchmarks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fibonacci" = callPackage @@ -76743,6 +82112,7 @@ self: { description = "update statically hosted file in a push stule through socketed"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fields" = callPackage @@ -76759,6 +82129,7 @@ self: { description = "First-class record field combinators with infix record field syntax"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fields-json" = callPackage @@ -76787,6 +82158,7 @@ self: { description = "Provides Fieldwise typeclass for operations of fields of records treated as independent components"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fig" = callPackage @@ -76799,6 +82171,7 @@ self: { description = "Manipulation of FIG files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "file-collection" = callPackage @@ -76813,6 +82186,7 @@ self: { description = "Provide a uniform interface over file archives and directories"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "file-command-qq" = callPackage @@ -76829,6 +82203,7 @@ self: { description = "Quasiquoter for system commands involving filepaths"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "file-embed" = callPackage @@ -76900,6 +82275,7 @@ self: { description = "common functions that show file location information"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "file-modules" = callPackage @@ -76981,14 +82357,15 @@ self: { description = "Diffing and patching module"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "filelock" = callPackage ({ mkDerivation, async, base, process, unix }: mkDerivation { pname = "filelock"; - version = "0.1.1.2"; - sha256 = "0g90wgm4bcfr5j44sc5s2jlcd7ggk092lph3jqjgf6f67sqxrw8g"; + version = "0.1.1.3"; + sha256 = "04qimhz78jjndk686dblkx06l9jscq2q9gyr014a4pbfj4iljgi5"; libraryHaskellDepends = [ base unix ]; testHaskellDepends = [ async base process ]; description = "Portable interface to file locking (flock / LockFileEx)"; @@ -77020,6 +82397,7 @@ self: { description = "Block thread until a file stops being modified"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "filepath_1_4_2_1" = callPackage @@ -77064,6 +82442,7 @@ self: { description = "IO Access for filepath"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "filepather" = callPackage @@ -77081,6 +82460,7 @@ self: { description = "Functions on System.FilePath"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "filepattern" = callPackage @@ -77167,6 +82547,7 @@ self: { description = "Use system-filepath data types with conduits. (deprecated)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "filesystem-enumerator" = callPackage @@ -77183,6 +82564,7 @@ self: { description = "Enumerator-based API for manipulating the filesystem"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "filesystem-trees" = callPackage @@ -77200,6 +82582,7 @@ self: { description = "Recursively manipulate and traverse filesystems as lazy rose trees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fillit" = callPackage @@ -77217,6 +82600,7 @@ self: { description = "Flexible string substitution"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "filter-logger" = callPackage @@ -77238,35 +82622,31 @@ self: { testHaskellDepends = [ base bytestring HUnit ]; description = "Filterable request logging wai middleware. Change how data is logged and when."; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "filtrable" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "filtrable"; - version = "0.1.1.0"; - sha256 = "0g1ngsbxrydbwa637sk8zvpvygppr6abj9hh87maf56ily4ki9fn"; + version = "0.1.2.0"; + sha256 = "1bgy3pydi7paiia63kygrg7fjjs7fm73jqfmlmw4szcbjmv8xq8k"; libraryHaskellDepends = [ base ]; description = "Class of filtrable containers"; license = stdenv.lib.licenses.bsd3; }) {}; "fin" = callPackage - ({ mkDerivation, base, deepseq, hashable, inspection-testing + ({ mkDerivation, base, dec, deepseq, hashable, inspection-testing , tagged }: mkDerivation { pname = "fin"; - version = "0.0.1"; - sha256 = "0mqs6qayj2n54siz3bpab9z6sk9030wdaxgvgg9g36983yaqmlil"; - revision = "1"; - editedCabalFile = "056d22f1j1xv5ka2qr7a3z5ad5w1im76qdf77v6dqdi4vaz52vd1"; - libraryHaskellDepends = [ base deepseq hashable ]; + version = "0.1"; + sha256 = "17nv26cznhslrfb1ajcgxa9g3zacvk3prmncr7f8d7rvh42g2gnn"; + libraryHaskellDepends = [ base dec deepseq hashable ]; testHaskellDepends = [ base inspection-testing tagged ]; description = "Nat and Fin: peano naturals and finite numbers"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "final" = callPackage @@ -77294,6 +82674,7 @@ self: { description = "Extensible pretty printing with semantic annotations and proportional fonts"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "find-clumpiness" = callPackage @@ -77320,6 +82701,7 @@ self: { description = "Find the clumpiness of labels in a tree"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "find-conduit" = callPackage @@ -77355,6 +82737,7 @@ self: { description = "A file-finding conduit that allows user control over traversals"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "find-source-files" = callPackage @@ -77367,6 +82750,27 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "findhttp" = callPackage + ({ mkDerivation, base, basic-prelude, bytestring, directory + , filepath, Glob, http-directory, simple-cmd-args, text + }: + mkDerivation { + pname = "findhttp"; + version = "0.1"; + sha256 = "1hw7cbmy0b01kfpfxavq3gc17vnq4vr2fy3bcvh4jnz9rizfmr9w"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base basic-prelude bytestring directory filepath Glob + http-directory simple-cmd-args text + ]; + description = "List http/html files"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fingertree" = callPackage @@ -77396,6 +82800,7 @@ self: { description = "Implementation of priority search queues as finger trees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fingertree-tf" = callPackage @@ -77408,6 +82813,7 @@ self: { description = "Generic finger-tree structure using type families"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "finite-field" = callPackage @@ -77503,6 +82909,7 @@ self: { description = "A simple example using Firefly"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "first-and-last" = callPackage @@ -77516,22 +82923,10 @@ self: { description = "First and Last generalized to return up to n values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "first-class-families" = callPackage - ({ mkDerivation, base }: - mkDerivation { - pname = "first-class-families"; - version = "0.3.0.1"; - sha256 = "07291dj197230kq8vxqdgs52zl428w12sgy18y0n5lk18g5isxib"; - revision = "1"; - editedCabalFile = "1gybi18yw6dzp3r82x0xq9364m3isqq31gvaa1agf6hk9c9szfl2"; - libraryHaskellDepends = [ base ]; - description = "First class type families"; - license = stdenv.lib.licenses.mit; - }) {}; - - "first-class-families_0_5_0_0" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "first-class-families"; @@ -77541,7 +82936,6 @@ self: { testHaskellDepends = [ base ]; description = "First class type families"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "first-class-patterns" = callPackage @@ -77571,6 +82965,7 @@ self: { description = "Defunctionalisation for Yhc Core"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fishfood" = callPackage @@ -77579,8 +82974,8 @@ self: { }: mkDerivation { pname = "fishfood"; - version = "0.0.1.8"; - sha256 = "04wqj8s8b97i6448f66ljv5wk6nhcjs80vapg96vwmlslxwcmhnc"; + version = "0.0.1.9"; + sha256 = "128m9zhn57jzz5ijkz54mlw70g0d1byp2gisw7wyrgddi0j3x3i5"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -77614,6 +83009,32 @@ self: { description = "FIT file decoder"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "fits-parse" = callPackage + ({ mkDerivation, base, binary, bytestring, data-default + , fast-logger, JuicyPixels, megaparsec, optparse-applicative + , parser-combinators, statistics, text, text-latin1, vector + }: + mkDerivation { + pname = "fits-parse"; + version = "0.0.1"; + sha256 = "13a072ribpn10hfiiqkx2bkns8rjcsf32zx4lsvxzfhm7p24p499"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base binary bytestring data-default megaparsec parser-combinators + text text-latin1 + ]; + executableHaskellDepends = [ + base bytestring fast-logger JuicyPixels optparse-applicative + statistics vector + ]; + description = "Parse FITS files"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fitsio" = callPackage @@ -77627,6 +83048,7 @@ self: { description = "A library for reading and writing data files in the FITS data format"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) cfitsio;}; "fitspec" = callPackage @@ -77652,8 +83074,8 @@ self: { }: mkDerivation { pname = "fix-imports"; - version = "2.1.0"; - sha256 = "1qi877cpfkp7lzdjwq2q6gqqkbvby63z6r22f3ydkx5362ins6kh"; + version = "2.2.0"; + sha256 = "0nwl9gxaxjdvgr0ji7r0hh9z43s473rb69dgb3p8ab3kdc3mld11"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -77678,6 +83100,7 @@ self: { description = "Simple fix-expression parser"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fix-symbols-gitit" = callPackage @@ -77690,14 +83113,15 @@ self: { description = "Gitit plugin: Turn some Haskell symbols into pretty math symbols"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixed" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "fixed"; - version = "0.2.1.1"; - sha256 = "1qhmwx8iqshns0crmr9d2f8hm65jxbcp3dvv0c39v34ra7if3a94"; + version = "0.3"; + sha256 = "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"; libraryHaskellDepends = [ base ]; description = "Signed 15.16 precision fixed point arithmetic"; license = stdenv.lib.licenses.bsd3; @@ -77738,6 +83162,7 @@ self: { description = "Binary fixed-point arithmetic"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixed-point-vector" = callPackage @@ -77750,6 +83175,7 @@ self: { description = "Unbox instances for the fixed-point package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixed-point-vector-space" = callPackage @@ -77762,6 +83188,7 @@ self: { description = "vector-space instances for the fixed-point package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixed-precision" = callPackage @@ -77778,6 +83205,7 @@ self: { description = "Fixed Precision Arithmetic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixed-storable-array" = callPackage @@ -77790,6 +83218,20 @@ self: { description = "Fixed-size wrapper for StorableArray, providing a Storable instance. Deprecated - use storable-static-array instead."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "fixed-timestep" = callPackage + ({ mkDerivation, async, base, clock, time }: + mkDerivation { + pname = "fixed-timestep"; + version = "0.2.0.1"; + sha256 = "0rk5ym38m48khss38v8x09sdfz2nyhw7bw3dbjzy5qad09nzsipl"; + libraryHaskellDepends = [ async base clock time ]; + description = "Pure Haskell library to repeat an action at a specific frequency"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixed-vector" = callPackage @@ -77819,6 +83261,7 @@ self: { description = "Binary instances for fixed-vector"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixed-vector-cborg" = callPackage @@ -77836,6 +83279,7 @@ self: { description = "Binary instances for fixed-vector"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixed-vector-cereal" = callPackage @@ -77853,6 +83297,7 @@ self: { description = "Cereal instances for fixed-vector"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixed-vector-hetero" = callPackage @@ -77876,6 +83321,7 @@ self: { description = "Fixed width subsets of an Int64/Word64"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixedprec" = callPackage @@ -77932,6 +83378,7 @@ self: { description = "A Haskell client for http://fixer.io/"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixfile" = callPackage @@ -77954,6 +83401,7 @@ self: { description = "File-backed recursive data structures"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixhs" = callPackage @@ -77979,6 +83427,7 @@ self: { description = "FIX (co)parser"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixie" = callPackage @@ -78001,6 +83450,7 @@ self: { description = "Opininated testing framework for mtl style (spies, stubs, and mocks)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fixplate" = callPackage @@ -78064,6 +83514,7 @@ self: { description = "test"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fizzbuzz-as-a-service" = callPackage @@ -78082,35 +83533,10 @@ self: { description = "FizzBuzz as a service"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flac" = callPackage - ({ mkDerivation, base, bytestring, containers, data-default-class - , directory, exceptions, filepath, FLAC, hspec, mtl, temporary - , text, transformers, vector, wave - }: - mkDerivation { - pname = "flac"; - version = "0.1.2"; - sha256 = "0adc88h5dmazf9m2xah0qkcav3pm0l3jiy8wbg9fxjv1qpgv74jn"; - revision = "5"; - editedCabalFile = "0rwwq8qrxd497rd5m0kidz4v69frj72ds7a6zrdqigj5f5471rhd"; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - base bytestring containers data-default-class directory exceptions - filepath mtl text transformers vector wave - ]; - librarySystemDepends = [ FLAC ]; - testHaskellDepends = [ - base bytestring data-default-class directory filepath hspec - temporary transformers vector wave - ]; - description = "Complete high-level binding to libFLAC"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {FLAC = null;}; - - "flac_0_2_0" = callPackage ({ mkDerivation, base, bytestring, containers, directory , exceptions, filepath, FLAC, hspec, hspec-discover, mtl, temporary , text, transformers, vector, wave @@ -78135,6 +83561,7 @@ self: { description = "Complete high-level binding to libFLAC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {FLAC = null;}; "flac-picture" = callPackage @@ -78154,6 +83581,7 @@ self: { description = "Support for writing picture to FLAC metadata blocks with JuicyPixels"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flaccuraterip" = callPackage @@ -78173,6 +83601,22 @@ self: { license = stdenv.lib.licenses.gpl3; }) {}; + "flags-applicative" = callPackage + ({ mkDerivation, base, casing, containers, hspec, mtl, network + , text + }: + mkDerivation { + pname = "flags-applicative"; + version = "0.1.0.1"; + sha256 = "1pamcfv5g6d42ksq10af0l2a6k8y997zx3y4pvf5gcy5hlxr2gwv"; + libraryHaskellDepends = [ + base casing containers mtl network text + ]; + testHaskellDepends = [ base containers hspec text ]; + description = "Applicative flag parsing"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "flamethrower" = callPackage ({ mkDerivation, base, template-haskell, text }: mkDerivation { @@ -78183,6 +83627,7 @@ self: { description = "A template engine for HTML"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flamingra" = callPackage @@ -78200,6 +83645,7 @@ self: { description = "FlameGraphs of profiling"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flat" = callPackage @@ -78233,6 +83679,7 @@ self: { description = "Strict Maybe without space and indirection overhead"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flat-mcmc" = callPackage @@ -78259,12 +83706,12 @@ self: { ({ mkDerivation, base, directory, parsec }: mkDerivation { pname = "flat-tex"; - version = "0.3.1"; - sha256 = "1msf49m61lswj9nplxm22v7xl0vhbj7m3rz5k41mlzdcii28hksp"; + version = "0.7.0"; + sha256 = "19djkalk3pw309y8ngia88qrppm3c6128db7lk7q6l0w18vrnb9d"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ base directory parsec ]; - description = "flatten a latex multi-file latex document"; + description = "flatten a latex multi-file latex document and remove all comments"; license = stdenv.lib.licenses.gpl2; }) {}; @@ -78307,6 +83754,7 @@ self: { description = "simple extension of Data.UnixTime."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flexible-unlit" = callPackage @@ -78333,6 +83781,7 @@ self: { description = "Flexible wrappers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flexiwrap-smallcheck" = callPackage @@ -78347,6 +83796,7 @@ self: { description = "SmallCheck (Serial) instances for flexiwrap"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flick-duration" = callPackage @@ -78378,6 +83828,7 @@ self: { description = "Haskell binding to the Flickr API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flight-igc" = callPackage @@ -78412,6 +83863,8 @@ self: { ]; description = "Parsing of pilot tracklogs dumped as KML"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flip-cmd" = callPackage @@ -78455,6 +83908,7 @@ self: { description = "f-lite compiler, interpreter and libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flo" = callPackage @@ -78492,6 +83946,7 @@ self: { description = "C99 printf \"%a\" style formatting and parsing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "floating-bits" = callPackage @@ -78506,6 +83961,7 @@ self: { description = "Conversions between floating and integral values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "floatshow" = callPackage @@ -78538,48 +83994,48 @@ self: { }) {}; "floskell" = callPackage - ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers - , criterion, data-default, deepseq, directory, exceptions, filepath - , ghc-prim, haskell-src-exts, hspec, monad-dijkstra, monad-loops - , mtl, optparse-applicative, text, transformers + ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring + , containers, criterion, data-default, deepseq, directory + , exceptions, filepath, ghc-prim, haskell-src-exts, hspec + , monad-dijkstra, mtl, optparse-applicative, text, transformers , unordered-containers, utf8-string }: mkDerivation { pname = "floskell"; - version = "0.9.0"; - sha256 = "0zx61l6gggblb74ydsamjdvsdm8s8gzb8bmcl8sdhrq7bdbdmbav"; - revision = "1"; - editedCabalFile = "160g42ikrrlm9kw5fahv5gzhfd1kqf7rwqdf0q5fl070ngl5ia7w"; + version = "0.10.1"; + sha256 = "1y79f6a6frcmhs70z34rdcpm5bqpgqf46bx29jnixgs313lwz229"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - aeson base bytestring containers data-default haskell-src-exts - monad-dijkstra monad-loops mtl text transformers + aeson attoparsec base bytestring containers data-default directory + filepath haskell-src-exts monad-dijkstra mtl text transformers unordered-containers utf8-string ]; executableHaskellDepends = [ - aeson aeson-pretty base bytestring directory filepath ghc-prim - haskell-src-exts optparse-applicative text unordered-containers + aeson-pretty base bytestring directory ghc-prim haskell-src-exts + optparse-applicative text ]; testHaskellDepends = [ - base bytestring deepseq directory exceptions haskell-src-exts hspec - monad-loops mtl text utf8-string + base bytestring deepseq exceptions haskell-src-exts hspec text + utf8-string ]; benchmarkHaskellDepends = [ - base bytestring criterion deepseq directory exceptions ghc-prim + base bytestring criterion deepseq exceptions ghc-prim haskell-src-exts text utf8-string ]; description = "A flexible Haskell source code pretty printer"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flow" = callPackage ({ mkDerivation, base, doctest, QuickCheck, template-haskell }: mkDerivation { pname = "flow"; - version = "1.0.17"; - sha256 = "06adx3drx4b283v0aawhzyigvjizbhig8lqxw9cgqfn1pvc1kv46"; + version = "1.0.18"; + sha256 = "1cyac1la7pg7hkpdd2lhk4clh6g1zd2n0f479xvgn14ibs6ki3ph"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base doctest QuickCheck template-haskell ]; description = "Write more understandable Haskell"; @@ -78597,6 +84053,7 @@ self: { description = "More directional operators"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flow2dot" = callPackage @@ -78615,6 +84072,7 @@ self: { description = "Library and binary to generate sequence/flow diagrams from plain text source"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flowdock" = callPackage @@ -78635,6 +84093,7 @@ self: { description = "Flowdock client library for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flowdock-api" = callPackage @@ -78672,6 +84131,7 @@ self: { description = "API integration with Flowdock"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flowdock-rest" = callPackage @@ -78700,6 +84160,7 @@ self: { description = "Flowdock REST API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flower" = callPackage @@ -78718,6 +84179,7 @@ self: { description = "Analyze 454 flowgrams (.SFF files)"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flowlocks-framework" = callPackage @@ -78731,6 +84193,7 @@ self: { description = "Generalized Flow Locks Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "flowsim" = callPackage @@ -78750,6 +84213,7 @@ self: { description = "Simulate 454 pyrosequencing"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fltkhs" = callPackage @@ -78759,8 +84223,8 @@ self: { }: mkDerivation { pname = "fltkhs"; - version = "0.6.0.0"; - sha256 = "1cbyp8rq9yzx6jrw68dbprkdyd8pkdqbxx08wajyg7bfks6j39cb"; + version = "0.8.0.2"; + sha256 = "07q7xb7h48by6gj284fczszay4gg1r0j2nr7fmffj72nkjgzzyhx"; configureFlags = [ "-fopengl" ]; isLibrary = true; isExecutable = true; @@ -78820,6 +84284,7 @@ self: { description = "Fltkhs Fluid Examples"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fltkhs-hello-world" = callPackage @@ -78842,14 +84307,15 @@ self: { }: mkDerivation { pname = "fltkhs-themes"; - version = "0.1.0.1"; - sha256 = "03awhraincinrqr1zzb9c64mkb391isw3gb87csa1dkqk846wij6"; + version = "0.2.0.2"; + sha256 = "07f21cr07kfzzrsk6j63livwjbi0ci43i5czbplj3wsy58sq8pn7"; enableSeparateDataOutput = true; setupHaskellDepends = [ base Cabal ]; libraryHaskellDepends = [ base bytestring fltkhs load-font text vector ]; librarySystemDepends = [ fontconfig ]; + description = "A set of themed widgets that provides drop in replacements to the ones in FLTKHS"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) fontconfig;}; @@ -78877,6 +84343,7 @@ self: { description = "A structured logger for Fluentd (Haskell)"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fluent-logger-conduit" = callPackage @@ -78928,7 +84395,6 @@ self: { ]; description = "The parser for fluffy to parsec the question bank in .docx type"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "fluid-idl" = callPackage @@ -78995,8 +84461,24 @@ self: { description = "Haskell bindings to FluidSynth"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) fluidsynth;}; + "flush-queue" = callPackage + ({ mkDerivation, async, atomic-primops, base, containers, deepseq + , hspec, old-time, QuickCheck, stm + }: + mkDerivation { + pname = "flush-queue"; + version = "1.0.0"; + sha256 = "17b6izgpn9rdk3zdhp4kzsna6lv1lhdr8jr6yn2xcwznddb0zb69"; + libraryHaskellDepends = [ atomic-primops base containers stm ]; + testHaskellDepends = [ async base hspec QuickCheck stm ]; + benchmarkHaskellDepends = [ async base deepseq old-time stm ]; + description = "Concurrent bouded blocking queues optimized for flushing. Both IO and STM implementations."; + license = stdenv.lib.licenses.bsd3; + }) {}; + "flux-monoid" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -79007,6 +84489,7 @@ self: { description = "A monoid for tracking changes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fmark" = callPackage @@ -79025,14 +84508,15 @@ self: { description = "A Friendly Markup language without syntax"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fmlist" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "fmlist"; - version = "0.9.2"; - sha256 = "02868865hqm189h5wjd916abvqwkhbrx5b0119s1dwp70ifvbi4g"; + version = "0.9.3"; + sha256 = "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"; libraryHaskellDepends = [ base ]; description = "FoldMap lists"; license = stdenv.lib.licenses.bsd3; @@ -79042,21 +84526,19 @@ self: { ({ mkDerivation, base, base64-bytestring, bytestring, call-stack , containers, criterion, deepseq, doctest, doctest-discover , formatting, hspec, interpolate, microlens, neat-interpolation - , text, time, time-locale-compat, vector + , QuickCheck, text, time, time-locale-compat, vector }: mkDerivation { pname = "fmt"; - version = "0.6.1.1"; - sha256 = "1bfj94ahc06xj6x5v5gmjzgw30cgxsc1vjygajqiqnanimbhn8i6"; - revision = "2"; - editedCabalFile = "1prdnb8a8n338clkvjx0c8hmbkiy8x2c9j87b94302bq6x7rmf9d"; + version = "0.6.1.2"; + sha256 = "1fcamg5vpbmn0h7y4xkyrrmpkbyqqkijpgm2bhsw82swnbfppvbq"; libraryHaskellDepends = [ base base64-bytestring bytestring call-stack containers formatting microlens text time time-locale-compat ]; testHaskellDepends = [ base bytestring call-stack containers doctest hspec - neat-interpolation text vector + neat-interpolation QuickCheck text vector ]; testToolDepends = [ doctest-discover ]; benchmarkHaskellDepends = [ @@ -79067,6 +84549,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "fmt-for-rio" = callPackage + ({ mkDerivation, base, enum-text-rio }: + mkDerivation { + pname = "fmt-for-rio"; + version = "1.0.0.0"; + sha256 = "0hxf1cgch4l5vwnsg4449ing3qi40kpfcwjg4l807sw0b18ccwar"; + libraryHaskellDepends = [ base enum-text-rio ]; + description = "Adaptor for getting fmt to work with rio"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "fmt-terminal-colors" = callPackage ({ mkDerivation, ansi-terminal, base, fmt }: mkDerivation { @@ -79118,15 +84611,22 @@ self: { description = "Extras for Fn, a functional web framework"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "focus" = callPackage - ({ mkDerivation, base, transformers }: + ({ mkDerivation, base, QuickCheck, quickcheck-instances, rerebase + , tasty, tasty-hunit, tasty-quickcheck, transformers + }: mkDerivation { pname = "focus"; - version = "1.0.1.2"; - sha256 = "00kfc71cvkrpckmhn8qi90vzc4x0mqdqha088n558hd44kyygx5d"; + version = "1.0.1.3"; + sha256 = "1g10fzy76k5bjn8ysym8ywvrqrvxvhdi4b99wabhzznhzmankddx"; libraryHaskellDepends = [ base transformers ]; + testHaskellDepends = [ + QuickCheck quickcheck-instances rerebase tasty tasty-hunit + tasty-quickcheck + ]; description = "A general abstraction for manipulating elements of container data structures"; license = stdenv.lib.licenses.mit; }) {}; @@ -79139,10 +84639,8 @@ self: { }: mkDerivation { pname = "focuslist"; - version = "0.1.0.1"; - sha256 = "1qq5ixaxrwy2wn8xz8ckva9m50bkygj2gpw89fdry4wglvkrmvpx"; - revision = "2"; - editedCabalFile = "12x38kxhcjdqfwl8y8zdrwcpv6jdm7jaqc48ww3hg6fpv8rvvd49"; + version = "0.1.0.2"; + sha256 = "06s8655l7nzpmwf6z8p11g9mngb9a0kw10riii67sq8jcanpllkq"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal cabal-doctest ]; @@ -79155,7 +84653,6 @@ self: { ]; description = "Lists with a focused element"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "fold-debounce" = callPackage @@ -79214,6 +84711,8 @@ self: { pname = "foldl"; version = "1.4.5"; sha256 = "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"; + revision = "3"; + editedCabalFile = "0ci6wq1lqmz0i5rlb4my21ic6ziq87kg35mkp3f9la9y32zbq600"; libraryHaskellDepends = [ base bytestring comonad containers contravariant hashable mwc-random primitive profunctors semigroupoids semigroups text @@ -79258,6 +84757,7 @@ self: { description = "incremental folds"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "foldl-statistics" = callPackage @@ -79283,6 +84783,7 @@ self: { description = "Statistical functions from the statistics package implemented as Folds"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "foldl-transduce" = callPackage @@ -79369,6 +84870,7 @@ self: { description = "A playground of common folds for folds"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "folgerhs" = callPackage @@ -79416,6 +84918,7 @@ self: { description = "Haskell library to follow content published on any subject"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "follow-file" = callPackage @@ -79459,6 +84962,7 @@ self: { description = "Follow Tweets anonymously"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "foma" = callPackage @@ -79472,6 +84976,7 @@ self: { description = "Simple Haskell bindings for Foma"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {foma = null;}; "font-awesome-type" = callPackage @@ -79498,6 +85003,7 @@ self: { description = "Basic4x6 font for OpenGL"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "foo" = callPackage @@ -79514,6 +85020,7 @@ self: { description = "Paper soccer, an OpenGL game"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "foobar" = callPackage @@ -79546,6 +85053,7 @@ self: { description = "Functor, Monad, MonadPlus, etc for free"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "forbidden-fruit" = callPackage @@ -79567,6 +85075,7 @@ self: { description = "A library accelerates imperative style programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "force-layout" = callPackage @@ -79597,6 +85106,7 @@ self: { description = "Run a command on files with magic substituion support (sequencing and regexp)"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "forecast-io" = callPackage @@ -79609,6 +85119,7 @@ self: { description = "A Haskell library for working with forecast.io data."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "foreign-storable-asymmetric" = callPackage @@ -79645,6 +85156,7 @@ self: { description = "Encapsulating mutatable state in external libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "forest" = callPackage @@ -79682,6 +85194,7 @@ self: { description = "Recursively delete CloudFormation stacks and their dependants"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "forger" = callPackage @@ -79697,6 +85210,7 @@ self: { description = "Library for generating fake placeholder data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "forkable-monad" = callPackage @@ -79716,8 +85230,8 @@ self: { }: mkDerivation { pname = "forma"; - version = "1.1.1"; - sha256 = "10q06yjz66h92qm0569l172v0c6mp9m3jfyakyva5v7xdqr8rvxb"; + version = "1.1.2"; + sha256 = "1ppgqwqm157ygj992r0cbarfii127g7nm63wbnrqvr9k1wmnlxx0"; libraryHaskellDepends = [ aeson base containers mtl text unordered-containers ]; @@ -79747,6 +85261,7 @@ self: { description = "A statically typed, functional programming language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "format" = callPackage @@ -79760,6 +85275,7 @@ self: { description = "Rendering from and scanning to format strings"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "format-numbers" = callPackage @@ -79790,6 +85306,7 @@ self: { description = "A utility for writing the date to dzen2"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "formattable" = callPackage @@ -79811,6 +85328,7 @@ self: { description = "Business-quality formatting of numbers, dates, and other things"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "formatting" = callPackage @@ -79854,6 +85372,7 @@ self: { description = "A statically typed, functional programming language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "formlets" = callPackage @@ -79871,6 +85390,7 @@ self: { description = "Formlets implemented in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "formlets-hsp" = callPackage @@ -79888,6 +85408,7 @@ self: { description = "HSP support for Formlets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "formura" = callPackage @@ -79910,6 +85431,7 @@ self: { description = "Formura is a simple language to describe stencil computation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "forsyde-deep" = callPackage @@ -79938,6 +85460,7 @@ self: { description = "ForSyDe's Haskell-embedded Domain Specific Language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "forsyde-shallow" = callPackage @@ -79966,6 +85489,7 @@ self: { description = "A simple eDSL for generating arrayForth code"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fortran-src" = callPackage @@ -79975,8 +85499,8 @@ self: { }: mkDerivation { pname = "fortran-src"; - version = "0.2.1.1"; - sha256 = "000i0395k6wpmzymiqc4x4xi06y6a8q4yianqplfl7zn2ghyxcsz"; + version = "0.3.0"; + sha256 = "03a1lk0c50v66jax2dya7qhjr3si2anp4yzx03vpf49am2kn2rxq"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -79995,6 +85519,7 @@ self: { description = "Parser and anlyses for Fortran standards 66, 77, 90 and 95"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fortytwo" = callPackage @@ -80010,6 +85535,7 @@ self: { description = "Interactive terminal prompt"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "forward-chan" = callPackage @@ -80041,6 +85567,7 @@ self: { description = "Foscam File format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "foscam-filename" = callPackage @@ -80061,6 +85588,7 @@ self: { description = "Foscam File format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "foscam-sort" = callPackage @@ -80088,16 +85616,15 @@ self: { description = "Foscam File format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "foundation" = callPackage ({ mkDerivation, base, basement, gauge, ghc-prim }: mkDerivation { pname = "foundation"; - version = "0.0.23"; - sha256 = "0g043cqgzn082jfg5q5y1mi4c4pa3is00j01gvggvz8937v3cq52"; - revision = "1"; - editedCabalFile = "1zdlh81dii11p3bw3ffm3sr69l7nlhj622mca81swj59klgmaxwh"; + version = "0.0.24"; + sha256 = "1yygliyg5dh06n7iyyrvy4iz2328hgb5igjp832wxrfa529pwqdk"; libraryHaskellDepends = [ base basement ghc-prim ]; testHaskellDepends = [ base basement ]; benchmarkHaskellDepends = [ base basement gauge ]; @@ -80162,6 +85689,7 @@ self: { description = "Simple interface to the FP Complete IDE API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fpe" = callPackage @@ -80227,6 +85755,7 @@ self: { description = "Example implementations for FPNLA library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fptest" = callPackage @@ -80253,6 +85782,7 @@ self: { description = "IEEE754r floating point conformance tests"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fquery" = callPackage @@ -80297,6 +85827,7 @@ self: { description = "A collection of useful fractal curve encoders"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fraction" = callPackage @@ -80323,6 +85854,7 @@ self: { description = "A 3-D First Person Shooter Game"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "frame" = callPackage @@ -80371,6 +85903,7 @@ self: { description = "A package for configuring and building Haskell software"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fraxl" = callPackage @@ -80390,7 +85923,6 @@ self: { benchmarkHaskellDepends = [ base time ]; description = "Cached and parallel data fetching"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "freddy" = callPackage @@ -80411,6 +85943,7 @@ self: { description = "RabbitMQ Messaging API supporting request-response"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "free" = callPackage @@ -80420,8 +85953,8 @@ self: { }: mkDerivation { pname = "free"; - version = "5.1"; - sha256 = "117axvibwyz429ixdws6mm3sk5vm0jygdxf45456m8yyh9f4shkh"; + version = "5.1.1"; + sha256 = "0f33n7x4z0mc733ck4gg6ljcinfmm946a20g5irv90g77c6jmmak"; libraryHaskellDepends = [ base comonad containers distributive exceptions mtl profunctors semigroupoids template-haskell transformers transformers-base @@ -80430,6 +85963,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "free_5_1_2" = callPackage + ({ mkDerivation, base, comonad, containers, distributive + , exceptions, mtl, profunctors, semigroupoids, template-haskell + , transformers, transformers-base + }: + mkDerivation { + pname = "free"; + version = "5.1.2"; + sha256 = "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"; + libraryHaskellDepends = [ + base comonad containers distributive exceptions mtl profunctors + semigroupoids template-haskell transformers transformers-base + ]; + description = "Monads for free"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "free-algebras" = callPackage ({ mkDerivation, base, constraints, containers, data-fix, dlist , free, groups, hedgehog, kan-extensions, mtl, natural-numbers @@ -80437,8 +85988,8 @@ self: { }: mkDerivation { pname = "free-algebras"; - version = "0.0.7.1"; - sha256 = "16hdc019x32azkhzag1d504ahdgqswim5cpgmacvdxj3r08havq3"; + version = "0.0.7.2"; + sha256 = "0hljd9wsv516jcqp7pkacmadjchkd9sxq42pj5j1my95hvc5apfd"; libraryHaskellDepends = [ base constraints containers data-fix dlist free groups kan-extensions mtl natural-numbers transformers @@ -80460,7 +86011,6 @@ self: { libraryHaskellDepends = [ base free-algebras ]; description = "Free category"; license = stdenv.lib.licenses.mpl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "free-concurrent" = callPackage @@ -80473,6 +86023,7 @@ self: { description = "Free monads suitable for concurrent computation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "free-er" = callPackage @@ -80525,6 +86076,7 @@ self: { description = "Create games for free"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "free-http" = callPackage @@ -80542,6 +86094,7 @@ self: { description = "An HTTP Client based on Free Monads"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "free-operational" = callPackage @@ -80558,6 +86111,7 @@ self: { description = "Operational Applicative, Alternative, Monad and MonadPlus from free types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "free-theorems" = callPackage @@ -80574,6 +86128,7 @@ self: { description = "Automatic generation of free theorems"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "free-theorems-counterexamples" = callPackage @@ -80593,6 +86148,7 @@ self: { description = "Automatically Generating Counterexamples to Naive Free Theorems"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "free-theorems-seq" = callPackage @@ -80611,6 +86167,7 @@ self: { description = "Taming Selective Strictness"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "free-theorems-seq-webui" = callPackage @@ -80630,6 +86187,7 @@ self: { description = "Taming Selective Strictness"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "free-theorems-webui" = callPackage @@ -80650,6 +86208,7 @@ self: { description = "CGI-based web interface for the free-theorems package"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "free-v-bucks-generator-no-survey" = callPackage @@ -80666,6 +86225,7 @@ self: { description = "Spam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "free-v-bucks-generator-ps4-no-survey" = callPackage @@ -80682,6 +86242,7 @@ self: { description = "Spam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "free-vector-spaces" = callPackage @@ -80692,14 +86253,15 @@ self: { pname = "free-vector-spaces"; version = "0.1.5.0"; sha256 = "0rf6yhjcd2x4yj2jvyl6yc8x55a2hqhj5mxzg4f24734agh720z1"; - revision = "1"; - editedCabalFile = "0b95827ppw0nvhaxg9axkngsij2sj8d6s06amz2vi79jgs7vbfr6"; + revision = "3"; + editedCabalFile = "09jy8kj31p6b4pmzry6glq7climw6pmpph23byhijs82a7yl609w"; libraryHaskellDepends = [ base lens linear MemoTrie pragmatic-show vector vector-space ]; description = "Instantiate the classes from the vector-space package with types from linear"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "free-vl" = callPackage @@ -80739,6 +86301,7 @@ self: { description = "A soccer game"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "freelude" = callPackage @@ -80759,6 +86322,7 @@ self: { description = "A generalisation of the Category->Functor->Applicative->Monad hierarchy and more"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "freenect" = callPackage @@ -80773,7 +86337,7 @@ self: { libraryPkgconfigDepends = [ libfreenect ]; description = "Interface to the Kinect device"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) freenect; freenect_sync = null; libfreenect = null;}; @@ -80812,6 +86376,7 @@ self: { description = "Handle effects conversely using monadic conversation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "freer-effects" = callPackage @@ -80833,6 +86398,7 @@ self: { description = "Implementation of effect system for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "freer-simple" = callPackage @@ -80871,6 +86437,7 @@ self: { description = "Checked runtime exceptions with freer-simple"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "freer-simple-http" = callPackage @@ -80892,6 +86459,7 @@ self: { description = "Make HTTP requests with freer-simple!"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "freer-simple-profiling" = callPackage @@ -80905,6 +86473,7 @@ self: { description = "Automatic profling of freer-simple programs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "freer-simple-random" = callPackage @@ -80918,6 +86487,7 @@ self: { description = "Random number generators using freer-simple"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "freer-simple-time" = callPackage @@ -80931,6 +86501,7 @@ self: { description = "freer-simple interface to IO based time functions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "freesect" = callPackage @@ -80949,6 +86520,7 @@ self: { description = "A Haskell syntax extension for generalised sections"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "freesound" = callPackage @@ -80971,6 +86543,7 @@ self: { description = "Access the Freesound Project database"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "freetype-simple" = callPackage @@ -80986,6 +86559,7 @@ self: { description = "Single line text rendering for OpenGL ES"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "freetype2" = callPackage @@ -81014,24 +86588,22 @@ self: { }) {}; "freq" = callPackage - ({ mkDerivation, base, bytestring, containers, deepseq, gauge - , hedgehog, primitive + ({ mkDerivation, base, binary, bytestring, containers, deepseq + , gauge, hedgehog, primitive }: mkDerivation { pname = "freq"; - version = "0.1.0.4"; - sha256 = "1h5lhsnm89g4g46sqiym2zf855skinirygqllf9grj6vk4qbls9n"; - isLibrary = true; - isExecutable = true; + version = "0.1.1"; + sha256 = "1n86njmj2y8qgfg3z1rw8p74glqkm36lm2zigv299fzlhqxsx907"; libraryHaskellDepends = [ - base bytestring containers deepseq primitive + base binary bytestring containers deepseq primitive ]; - executableHaskellDepends = [ base bytestring containers ]; testHaskellDepends = [ base bytestring containers hedgehog ]; benchmarkHaskellDepends = [ base bytestring containers gauge ]; description = "Are you ready to get freaky?"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fresco-binding" = callPackage @@ -81060,6 +86632,7 @@ self: { description = "Introduce fresh variables into Haskell source code"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "friday" = callPackage @@ -81082,7 +86655,6 @@ self: { ]; description = "A functional image processing library for Haskell"; license = stdenv.lib.licenses.lgpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "friday-devil" = callPackage @@ -81100,6 +86672,7 @@ self: { description = "Uses the DevIL C library to read and write images from and to files and memory buffers"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libdevil;}; "friday-juicypixels" = callPackage @@ -81116,7 +86689,6 @@ self: { ]; description = "Converts between the Friday and JuicyPixels image types"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "friday-scale-dct" = callPackage @@ -81133,6 +86705,7 @@ self: { description = "Scale Friday images with DCT"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "friendly" = callPackage @@ -81141,6 +86714,8 @@ self: { pname = "friendly"; version = "0.1.0.0"; sha256 = "0ikbfki5yvagc3xjbqwmzzp29idfviaylnan6cr39kna6fc8ajgx"; + revision = "2"; + editedCabalFile = "12j953w8zcix2iyqwkn08zpw1r1dd7jk8p8a3v5hs5rya1qb74si"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -81148,7 +86723,6 @@ self: { ]; description = "Attempt to pretty-print any input"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "friendly-time" = callPackage @@ -81202,6 +86776,27 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "front" = callPackage + ({ mkDerivation, aeson, async, base, blaze-html, blaze-markup + , bytestring, conduit, fay, fay-dom, fay-websockets, mtl, stm + , stm-lifted, text, websockets + }: + mkDerivation { + pname = "front"; + version = "0.0.0.2"; + sha256 = "106y0qnz5lyvxy69s24fapqkys6i373kl2v51bpkvfwq5ppax0b0"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson async base blaze-html blaze-markup bytestring conduit fay + fay-dom fay-websockets mtl stm stm-lifted text websockets + ]; + description = "A reactive frontend web framework"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "frontmatter" = callPackage ({ mkDerivation, attoparsec, base, bytestring, hspec, QuickCheck , text, yaml @@ -81230,6 +86825,7 @@ self: { description = "LALR(k) parser generator"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "frp-arduino" = callPackage @@ -81242,6 +86838,7 @@ self: { description = "Arduino programming without the hassle of C"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "frpnow" = callPackage @@ -81250,11 +86847,14 @@ self: { pname = "frpnow"; version = "0.18"; sha256 = "1ixhcif2db8v6k8m4bgrpiivl0ygb83padnj18w4jyy5br6s1bqz"; + revision = "1"; + editedCabalFile = "0biplda0z6pmnm28vcdnaa4k82zcbhrghynqzsy7whs0kc86zq4a"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base containers mtl transformers ]; description = "Principled practical FRP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "frpnow-gloss" = callPackage @@ -81271,6 +86871,7 @@ self: { description = "Program awesome stuff with Gloss and frpnow!"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "frpnow-gtk" = callPackage @@ -81288,6 +86889,7 @@ self: { description = "Program GUIs with GTK and frpnow!"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "frpnow-gtk3" = callPackage @@ -81302,6 +86904,7 @@ self: { description = "Program GUIs with GTK3 and frpnow!"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "frpnow-vty" = callPackage @@ -81317,6 +86920,7 @@ self: { description = "Program terminal applications with vty and frpnow!"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "frquotes" = callPackage @@ -81343,6 +86947,7 @@ self: { description = "A haskell binding to the FSEvents API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fsh-csv" = callPackage @@ -81355,6 +86960,7 @@ self: { description = "csv parser for fsh"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fsharp" = callPackage @@ -81382,6 +86988,7 @@ self: { description = "Finite state machines and FSM actions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fsnotify" = callPackage @@ -81455,6 +87062,7 @@ self: { description = "File system utilities for Haskell that are missing from built in libraries"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fswait" = callPackage @@ -81475,6 +87083,7 @@ self: { description = "Wait and observe events on the filesystem for a path, with a timeout"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fswatch" = callPackage @@ -81515,6 +87124,21 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "ft-generator" = callPackage + ({ mkDerivation, base, mtl, parsec }: + mkDerivation { + pname = "ft-generator"; + version = "1.0"; + sha256 = "1kgh8w1ny0zsrbf53vqabkap6zp6fmq2hx35nxw2hcfw7b0pvavk"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ base mtl parsec ]; + description = "implementation accompanying a WFLP'19 submission"; + license = stdenv.lib.licenses.publicDomain; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "ftdi" = callPackage ({ mkDerivation, base, base-unicode-symbols, bytestring, safe , transformers, usb @@ -81531,6 +87155,7 @@ self: { description = "A thin layer over USB to communicate with FTDI chips"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ftp-client" = callPackage @@ -81548,6 +87173,8 @@ self: { testHaskellDepends = [ base ]; description = "Transfer files with FTP and FTPS"; license = stdenv.lib.licenses.publicDomain; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ftp-client-conduit" = callPackage @@ -81564,6 +87191,8 @@ self: { testHaskellDepends = [ base ]; description = "Transfer file with FTP and FTPS with Conduit"; license = stdenv.lib.licenses.publicDomain; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ftp-conduit" = callPackage @@ -81581,6 +87210,7 @@ self: { description = "FTP client package with conduit interface based off http-conduit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ftphs" = callPackage @@ -81609,7 +87239,6 @@ self: { libraryHaskellDepends = [ base ShowF type-unary ]; description = "Depth-typed functor-based trees, both top-down and bottom-up"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ftshell" = callPackage @@ -81629,6 +87258,7 @@ self: { description = "Shell interface to the FreeTheorems library"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fugue" = callPackage @@ -81652,6 +87282,7 @@ self: { description = "a monad for protocol-typed network programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "full-text-search" = callPackage @@ -81662,6 +87293,8 @@ self: { pname = "full-text-search"; version = "0.2.1.4"; sha256 = "1qbfklpyxdf5d4d5s1ka9s5a43y892387b0lyjsx9fq3g6d2vck7"; + revision = "1"; + editedCabalFile = "0dma678xflfplrld48aca1p9kjnnwlsqdrqmkgwh9dp54wrxzxl1"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ array base containers text vector ]; @@ -81670,7 +87303,6 @@ self: { ]; description = "In-memory full text search engine"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "fullstop" = callPackage @@ -81691,6 +87323,7 @@ self: { description = "Simple sentence segmenter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "funbot" = callPackage @@ -81720,6 +87353,7 @@ self: { description = "IRC bot for fun, learning, creativity and collaboration"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "funbot-client" = callPackage @@ -81739,6 +87373,7 @@ self: { description = "Report events to FunBot over a JSON/HTTP API"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "funbot-ext-events" = callPackage @@ -81770,6 +87405,7 @@ self: { description = "Git hook which sends events to FunBot"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "funcmp" = callPackage @@ -81822,6 +87458,7 @@ self: { description = "call-by-value lambda-calculus with meta-programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "funcons-simple" = callPackage @@ -81837,7 +87474,6 @@ self: { executableHaskellDepends = [ base funcons-tools funcons-values ]; description = "A modular interpreter for executing SIMPLE funcons"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "funcons-tools" = callPackage @@ -81847,8 +87483,10 @@ self: { }: mkDerivation { pname = "funcons-tools"; - version = "0.2.0.7"; - sha256 = "132l3wzhr60xnp1zd3qh5yrz9y8fk0v6fz9i242vdvj1rbacfdhf"; + version = "0.2.0.9"; + sha256 = "0k3560521kf1krj5j1wgbcipqcnvjq3igb9fymfdsswwqr1wpx67"; + revision = "1"; + editedCabalFile = "0h68688dy1x2wj5m5gi5lc3xhskzpdnfqfk3i4bzkxvh87mak7l4"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -81861,21 +87499,21 @@ self: { ]; description = "A modular interpreter for executing funcons"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "funcons-values" = callPackage ({ mkDerivation, base, bv, containers, multiset, text, vector }: mkDerivation { pname = "funcons-values"; - version = "0.1.0.5"; - sha256 = "0wmkag1dlvk6lq2f17pvzwxlafd7hn69vxwrkr8ar02vb1yvnb2q"; + version = "0.1.0.7"; + sha256 = "0jdgwv44gs4zr8z5pg6lzikrgn3dzna8z0vriq71anlifjyci8yq"; + revision = "1"; + editedCabalFile = "1aam84wminmcy530vkv8g2qkag6gz45yyx5xks7gq1y7jifm1kkb"; libraryHaskellDepends = [ base bv containers multiset text vector ]; description = "Library providing values and operations on values in a fixed universe"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "function-builder" = callPackage @@ -81900,6 +87538,7 @@ self: { description = "Combining functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "function-instances-algebra" = callPackage @@ -81912,6 +87551,7 @@ self: { description = "Instances of the Algebra.* classes for functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "functional-arrow" = callPackage @@ -81924,6 +87564,7 @@ self: { description = "Combinators that allow for a more functional/monadic style of Arrow programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "functional-kmp" = callPackage @@ -81949,6 +87590,7 @@ self: { description = "Functors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "functor-apply" = callPackage @@ -81970,8 +87612,8 @@ self: { pname = "functor-classes-compat"; version = "1"; sha256 = "0vrnl5crr7d2wsm4ryx26g98j23dpk7x5p31xrbnckd78i7zj4gg"; - revision = "3"; - editedCabalFile = "1jx552ysdnxvd8wdvsf4bgxlsgldpb7a8zi54abyjmxv6mkp98ys"; + revision = "4"; + editedCabalFile = "1531cmcfgcgry254dn5mx7h5l6nd4afxz6lhlcr0lbbm4y1v59mk"; libraryHaskellDepends = [ base containers hashable unordered-containers vector ]; @@ -81979,6 +87621,33 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "functor-combinators" = callPackage + ({ mkDerivation, base, bifunctors, comonad, constraints, containers + , dependent-sum, deriving-compat, free, hedgehog, kan-extensions + , mmorph, mtl, natural-transformation, nonempty-containers, pointed + , profunctors, semigroupoids, tagged, tasty, tasty-hedgehog, these + , transformers, trivial-constraint, vinyl + }: + mkDerivation { + pname = "functor-combinators"; + version = "0.1.1.1"; + sha256 = "1bs1xqlndbzi91z9048clmgmgkjyyrkgcmz6s864villy0s9h90c"; + libraryHaskellDepends = [ + base bifunctors comonad constraints containers deriving-compat free + kan-extensions mmorph mtl natural-transformation + nonempty-containers pointed profunctors semigroupoids tagged these + transformers trivial-constraint vinyl + ]; + testHaskellDepends = [ + base bifunctors dependent-sum free hedgehog nonempty-containers + semigroupoids tasty tasty-hedgehog transformers + ]; + description = "Tools for functor combinator-based program design"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "functor-combo" = callPackage ({ mkDerivation, base, base-orphans, containers, data-inttrie, lub , type-unary, TypeCompose @@ -82030,6 +87699,19 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; + "functor-products" = callPackage + ({ mkDerivation, base, microlens, singletons, text, vinyl }: + mkDerivation { + pname = "functor-products"; + version = "0.1.0.0"; + sha256 = "18yxsqah4afyvhcgi9fp6zmn511kgnw8cx02ig2kaypl2j4bnsxp"; + libraryHaskellDepends = [ base microlens singletons text vinyl ]; + description = "General functor products for various Foldable instances"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "functor-utils" = callPackage ({ mkDerivation, base, ghc-prim, lens }: mkDerivation { @@ -82051,6 +87733,7 @@ self: { description = "Data.FunctorM (compatibility package)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "functors" = callPackage @@ -82101,6 +87784,7 @@ self: { description = "Workflows with arrows"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "funflow-nix" = callPackage @@ -82123,6 +87807,23 @@ self: { description = "Utility functions for using funflow with nix"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "fungll-combinators" = callPackage + ({ mkDerivation, array, base, containers, gll, pretty + , regex-applicative, text, time, TypeCompose + }: + mkDerivation { + pname = "fungll-combinators"; + version = "0.1.0.1"; + sha256 = "111cjr8jznm3jrf70jr89jhy36yhvikzdgv2vybqj43b1l2g8v4q"; + libraryHaskellDepends = [ + array base containers gll pretty regex-applicative text time + TypeCompose + ]; + description = "GLL parser with simple combinator interface"; + license = stdenv.lib.licenses.bsd3; }) {}; "funion" = callPackage @@ -82141,6 +87842,7 @@ self: { description = "A unioning file-system using HFuse"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "funnyprint" = callPackage @@ -82156,6 +87858,8 @@ self: { benchmarkHaskellDepends = [ base criterion hscolour ipprint ]; description = "funnyPrint function to colorize GHCi output"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "funpat" = callPackage @@ -82168,6 +87872,7 @@ self: { description = "A generalization of pattern matching"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "funsat" = callPackage @@ -82190,29 +87895,62 @@ self: { description = "A modern DPLL-style SAT solver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "funspection" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "funspection"; + version = "1.0.0.0"; + sha256 = "0jbzvn06d5kfyiav3fjd6k8sk8dy00pwk2g711nrbmlrljbw7f39"; + libraryHaskellDepends = [ base ]; + description = "Type-level function utilities"; + license = stdenv.lib.licenses.bsd3; }) {}; "fused-effects" = callPackage - ({ mkDerivation, base, deepseq, doctest, hspec, MonadRandom - , QuickCheck, random + ({ mkDerivation, base, criterion, deepseq, doctest, hspec + , inspection-testing, MonadRandom, QuickCheck, random, transformers + , unliftio-core }: mkDerivation { pname = "fused-effects"; - version = "0.1.2.1"; - sha256 = "00lr52zfi1k52z0iqg8wb2a40x80kpwhbvmasp8c4s8c8jx4s9yn"; - libraryHaskellDepends = [ base deepseq MonadRandom random ]; - testHaskellDepends = [ base doctest hspec QuickCheck ]; + version = "0.5.0.0"; + sha256 = "1s1jvxdmwnjyxcx7zhspv1qkfy1dvcj0c92az2njqjibldbvqsa4"; + libraryHaskellDepends = [ + base deepseq MonadRandom random transformers unliftio-core + ]; + testHaskellDepends = [ + base doctest hspec inspection-testing QuickCheck transformers + ]; + benchmarkHaskellDepends = [ base criterion ]; description = "A fast, flexible, fused effect system"; license = stdenv.lib.licenses.bsd3; }) {}; + "fused-effects-exceptions" = callPackage + ({ mkDerivation, base, fused-effects, safe-exceptions + , unliftio-core + }: + mkDerivation { + pname = "fused-effects-exceptions"; + version = "0.2.0.0"; + sha256 = "1hgvl48vdrgcb45izmwad40x5jgxiaf3rdhhm5x0gjd9848drmbb"; + libraryHaskellDepends = [ + base fused-effects safe-exceptions unliftio-core + ]; + description = "Handle exceptions thrown in IO with fused-effects"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "fused-effects-lens" = callPackage - ({ mkDerivation, base, fused-effects, hspec, lens }: + ({ mkDerivation, base, fused-effects, hspec, lens, microlens }: mkDerivation { pname = "fused-effects-lens"; - version = "0.1.0.0"; - sha256 = "010gavgbv5zvszvn6gizz7sx405fclfh6ik58a2sd0kf8mvsgzs8"; - libraryHaskellDepends = [ base fused-effects lens ]; + version = "0.2.0.0"; + sha256 = "199afrkhb1dhah3jy3xyq5k71cqbzf9m8ninyh95qmam600r8q0m"; + libraryHaskellDepends = [ base fused-effects microlens ]; testHaskellDepends = [ base fused-effects hspec lens ]; description = "Monadic lens combinators for fused-effects"; license = stdenv.lib.licenses.bsd3; @@ -82231,63 +87969,46 @@ self: { description = "Effectful streaming library based on shortcut fusion techniques"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "futhark" = callPackage - ({ mkDerivation, aeson, alex, ansi-terminal, array, base - , bifunctors, binary, blaze-html, bytestring, containers - , data-binary-ieee754, directory, directory-tree, dlist, extra - , file-embed, filepath, free, gitrev, happy, haskeline, http-client - , http-client-tls, http-conduit, HUnit, language-c-quote - , mainland-pretty, markdown, megaparsec, mtl, neat-interpolation - , parallel, parser-combinators, process, process-extras, QuickCheck - , random, raw-strings-qq, regex-tdfa, srcloc, tasty, tasty-hunit - , tasty-quickcheck, template-haskell, temporary, text - , th-lift-instances, time, transformers, vector + ({ mkDerivation, aeson, alex, ansi-terminal, array, base, binary + , blaze-html, bytestring, containers, data-binary-ieee754 + , directory, directory-tree, dlist, file-embed, filepath, free + , gitrev, happy, haskeline, http-client, http-client-tls + , http-conduit, language-c-quote, mainland-pretty, markdown + , megaparsec, mtl, neat-interpolation, parallel, parser-combinators + , process, process-extras, QuickCheck, random, regex-tdfa, srcloc + , tasty, tasty-hunit, tasty-quickcheck, template-haskell, temporary + , terminal-size, text, time, transformers, utf8-string, vector , vector-binary-instances, versions, zip-archive, zlib }: mkDerivation { pname = "futhark"; - version = "0.8.1"; - sha256 = "18qha0bai5zf4shcz2a6lixkhx6mk395njm81ds2zcp1iilwgih2"; + version = "0.12.1"; + sha256 = "00f95mhw6z5hz5jg6mnpgklkm548gp6nr3c49qhr661n8xl1fpyr"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - ansi-terminal array base bifunctors binary blaze-html bytestring - containers data-binary-ieee754 directory directory-tree dlist extra - file-embed filepath free gitrev http-client http-client-tls - http-conduit language-c-quote mainland-pretty markdown megaparsec - mtl neat-interpolation parallel parser-combinators process - process-extras raw-strings-qq regex-tdfa srcloc template-haskell - text th-lift-instances time transformers vector - vector-binary-instances versions zip-archive zlib - ]; - libraryToolDepends = [ alex happy ]; - executableHaskellDepends = [ - aeson ansi-terminal array base bifunctors binary blaze-html - bytestring containers data-binary-ieee754 directory directory-tree - dlist extra file-embed filepath free gitrev haskeline http-client + aeson ansi-terminal array base binary blaze-html bytestring + containers data-binary-ieee754 directory directory-tree dlist + file-embed filepath free gitrev haskeline http-client http-client-tls http-conduit language-c-quote mainland-pretty markdown megaparsec mtl neat-interpolation parallel - parser-combinators process process-extras random raw-strings-qq - regex-tdfa srcloc template-haskell temporary text th-lift-instances - time transformers vector vector-binary-instances versions - zip-archive zlib + parser-combinators process process-extras random regex-tdfa srcloc + template-haskell temporary terminal-size text time transformers + utf8-string vector vector-binary-instances versions zip-archive + zlib ]; + libraryToolDepends = [ alex happy ]; + executableHaskellDepends = [ base text ]; testHaskellDepends = [ - ansi-terminal array base bifunctors binary blaze-html bytestring - containers data-binary-ieee754 directory directory-tree dlist extra - file-embed filepath free gitrev http-client http-client-tls - http-conduit HUnit language-c-quote mainland-pretty markdown - megaparsec mtl neat-interpolation parallel parser-combinators - process process-extras QuickCheck raw-strings-qq regex-tdfa srcloc - tasty tasty-hunit tasty-quickcheck template-haskell text - th-lift-instances time transformers vector vector-binary-instances - versions zip-archive zlib + base containers megaparsec mtl parser-combinators QuickCheck tasty + tasty-hunit tasty-quickcheck text ]; description = "An optimising compiler for a functional, array-oriented language"; license = stdenv.lib.licenses.isc; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "futun" = callPackage @@ -82302,6 +88023,7 @@ self: { description = "Simple IP-over-UDP tunnel using TUNTAP"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "future" = callPackage @@ -82314,6 +88036,7 @@ self: { description = "Supposed to mimics and enhance proposed C++ \"future\" features"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "future-resource" = callPackage @@ -82399,6 +88122,7 @@ self: { description = "Translates high-level definitions of \"fuzzily\" scheduled objects (e.g. play this commercial 10 times per hour between 9:00-13:00) to a list of accurately scheduled objects using glpk-hs."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fuzzyset" = callPackage @@ -82407,8 +88131,8 @@ self: { }: mkDerivation { pname = "fuzzyset"; - version = "0.1.0.8"; - sha256 = "096izffsa3fgdi8qiz7n6l2fl2rbiq6kv5h1xljmq0nkaig5m5wv"; + version = "0.1.1"; + sha256 = "1r23xp3c4f1y0kx0kcg4z83rfxl6swciysb3cy7z6yv35fs8bs4q"; libraryHaskellDepends = [ base base-unicode-symbols data-default lens text text-metrics unordered-containers vector @@ -82451,6 +88175,7 @@ self: { description = "Game engine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fwgl-glfw" = callPackage @@ -82468,6 +88193,7 @@ self: { description = "FWGL GLFW backend"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fwgl-javascript" = callPackage @@ -82484,6 +88210,7 @@ self: { description = "FWGL GHCJS backend"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "fx" = callPackage @@ -82509,6 +88236,54 @@ self: { description = "Generate Gentoo ebuilds from NodeJS/npm packages"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "g2" = callPackage + ({ mkDerivation, array, base, bytestring, Cabal, concurrent-extra + , containers, directory, extra, filepath, ghc, ghc-paths, hashable + , hpc, HTTP, liquid-fixpoint, liquidhaskell, MissingH, mtl, parsec + , process, reducers, regex-base, regex-compat, split, tagged, tasty + , tasty-hunit, template-haskell, temporary-rc, text, time + , unordered-containers + }: + mkDerivation { + pname = "g2"; + version = "0.1.0.1"; + sha256 = "0bknkpnyqmd2sxbbc9634rrd42ay3gp84g4wd6fb7h8zqww0icnq"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + array base bytestring Cabal concurrent-extra containers directory + extra filepath ghc ghc-paths hashable hpc HTTP liquid-fixpoint + liquidhaskell MissingH mtl parsec process reducers regex-base + regex-compat split template-haskell temporary-rc text time + unordered-containers + ]; + executableHaskellDepends = [ + base containers filepath ghc hpc text time unordered-containers + ]; + testHaskellDepends = [ + base containers filepath ghc ghc-paths hashable hpc tagged tasty + tasty-hunit text time unordered-containers + ]; + description = "Haskell symbolic execution engine"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "g2q" = callPackage + ({ mkDerivation, base, g2 }: + mkDerivation { + pname = "g2q"; + version = "0.1.0.0"; + sha256 = "1g42xkc4jc1a94s1krr1yrn191f8d6rmcpwk9ndwzk3nwby9v1vf"; + libraryHaskellDepends = [ base g2 ]; + description = "G2Q allows constraint programming, via writing Haskell predicates"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "g4ip" = callPackage @@ -82522,6 +88297,7 @@ self: { description = "A theorem prover for propositional logic that uses G4ip"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "g4ip-prover" = callPackage @@ -82557,6 +88333,57 @@ self: { description = "General Alignment Clustering Tool"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "galois-field" = callPackage + ({ mkDerivation, base, criterion, integer-gmp, MonadRandom + , protolude, tasty, tasty-quickcheck, wl-pprint-text + }: + mkDerivation { + pname = "galois-field"; + version = "0.3.0"; + sha256 = "0c4n37rf6kfpyxdmqk4hdgmjc8fvxwynq0izgrhrqinv4z4l97v7"; + libraryHaskellDepends = [ + base integer-gmp MonadRandom protolude tasty-quickcheck + wl-pprint-text + ]; + testHaskellDepends = [ + base integer-gmp MonadRandom protolude tasty tasty-quickcheck + wl-pprint-text + ]; + benchmarkHaskellDepends = [ + base criterion integer-gmp MonadRandom protolude tasty-quickcheck + wl-pprint-text + ]; + description = "Galois field library"; + license = stdenv.lib.licenses.mit; + }) {}; + + "galois-field_0_4_1" = callPackage + ({ mkDerivation, base, criterion, integer-gmp, MonadRandom, poly + , protolude, semirings, tasty, tasty-quickcheck, vector + , wl-pprint-text + }: + mkDerivation { + pname = "galois-field"; + version = "0.4.1"; + sha256 = "1q577m518gb3q7z7l84pf2ghw786p86sjx7b5mr3xhrvplwdvhcl"; + libraryHaskellDepends = [ + base integer-gmp MonadRandom poly protolude semirings + tasty-quickcheck vector wl-pprint-text + ]; + testHaskellDepends = [ + base integer-gmp MonadRandom poly protolude semirings tasty + tasty-quickcheck vector wl-pprint-text + ]; + benchmarkHaskellDepends = [ + base criterion integer-gmp MonadRandom poly protolude semirings + tasty-quickcheck vector wl-pprint-text + ]; + description = "Galois field library"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "game-of-life" = callPackage @@ -82583,6 +88410,7 @@ self: { description = "Simple probability library for dice rolls, card games and similar"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "game-tree" = callPackage @@ -82608,6 +88436,41 @@ self: { description = "Game clock that shows two analog clock faces"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "gamgee" = callPackage + ({ mkDerivation, aeson, base, base64-bytestring, bytestring + , cryptonite, directory, filepath, Hclip, memory + , optparse-applicative, polysemy, QuickCheck, quickcheck-instances + , relude, safe-exceptions, tasty, tasty-golden, tasty-quickcheck + , text, time, unix + }: + mkDerivation { + pname = "gamgee"; + version = "1.1.0"; + sha256 = "0ip6y8l2dmw15494d77s771aqmn7awrqnlmbcc7dd2lqwq5s5wgr"; + revision = "1"; + editedCabalFile = "1lg04ps7m85x4py844vcc53a3r6ijaqzjrggrwp53iv2ga1m88sr"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base base64-bytestring bytestring cryptonite memory polysemy + relude safe-exceptions text time + ]; + executableHaskellDepends = [ + aeson base directory filepath Hclip optparse-applicative polysemy + relude safe-exceptions text time unix + ]; + testHaskellDepends = [ + aeson base bytestring cryptonite filepath memory polysemy + QuickCheck quickcheck-instances relude tasty tasty-golden + tasty-quickcheck text time + ]; + description = "Tool for generating TOTP MFA tokens"; + license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gamma" = callPackage @@ -82628,6 +88491,8 @@ self: { ]; description = "Gamma function and related functions"; license = stdenv.lib.licenses.publicDomain; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gang-of-threads" = callPackage @@ -82654,6 +88519,7 @@ self: { description = "reverse prefix notation calculator and calculation library"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "garfield" = callPackage @@ -82681,6 +88547,7 @@ self: { description = "Automatically spin up and spin down local daemons"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gargoyle-postgresql" = callPackage @@ -82702,6 +88569,7 @@ self: { description = "Manage PostgreSQL servers with gargoyle"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "garlic-bread" = callPackage @@ -82737,6 +88605,7 @@ self: { description = "Limit how many steps a program may take"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gasp" = callPackage @@ -82783,21 +88652,16 @@ self: { description = "planar graph embedding into a plane"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gc" = callPackage - ({ mkDerivation, base, Cabal, cabal-doctest, directory, doctest - , filepath, hlint, parallel - }: + ({ mkDerivation, base }: mkDerivation { pname = "gc"; - version = "0.0.2"; - sha256 = "03637njk3pqbqvng7zf370ykykm3nnsxvmp09qcfp6iihz45mk1r"; - setupHaskellDepends = [ base Cabal cabal-doctest ]; + version = "0.0.3"; + sha256 = "0cql0csrwqddpw28qmpr47mcnszmdc2szwvbnardr86pmjhvgwph"; libraryHaskellDepends = [ base ]; - testHaskellDepends = [ - base directory doctest filepath hlint parallel - ]; description = "Poor Richard's Memory Manager"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -82817,6 +88681,7 @@ self: { description = "a wai application to show GHC.GCStats"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gcodehs" = callPackage @@ -82844,6 +88709,7 @@ self: { description = "GCode processor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gconf" = callPackage @@ -82860,7 +88726,6 @@ self: { libraryToolDepends = [ gtk2hs-buildtools ]; description = "Binding to the GNOME configuration database system"; license = stdenv.lib.licenses.lgpl21; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs.gnome2) GConf;}; "gd" = callPackage @@ -82915,6 +88780,7 @@ self: { description = "API Wrapping for Coinbase's GDAX exchange"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gdiff" = callPackage @@ -82942,6 +88808,7 @@ self: { description = "Generic diff for the instant-generics library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gdiff-th" = callPackage @@ -82961,6 +88828,7 @@ self: { description = "Generate gdiff GADTs and Instances"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gdo" = callPackage @@ -83024,6 +88892,7 @@ self: { description = "Parser for the GEDCOM genealogy file format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "geek" = callPackage @@ -83045,6 +88914,7 @@ self: { description = "Geek blog engine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "geek-server" = callPackage @@ -83069,6 +88939,7 @@ self: { description = "Geek blog engine server"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gegl" = callPackage @@ -83090,6 +88961,7 @@ self: { description = "Haskell bindings to GEGL library"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) gegl;}; "gelatin" = callPackage @@ -83109,6 +88981,7 @@ self: { description = "A graphics description language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gelatin-freetype2" = callPackage @@ -83127,6 +89000,7 @@ self: { description = "FreeType2 based text rendering for the gelatin realtime rendering system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gelatin-fruity" = callPackage @@ -83139,6 +89013,7 @@ self: { description = "Gelatin's support for rendering TTF outlines, using FontyFruity"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gelatin-gl" = callPackage @@ -83161,6 +89036,7 @@ self: { description = "OpenGL rendering routines for the gelatin-picture graphics EDSL"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gelatin-sdl2" = callPackage @@ -83179,6 +89055,7 @@ self: { description = "An SDL2 backend for the gelatin renderer"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gelatin-shaders" = callPackage @@ -83192,6 +89069,7 @@ self: { description = "Gelatin's OpenGL shaders"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gemstone" = callPackage @@ -83210,6 +89088,7 @@ self: { description = "A simple library of helpers for SDL+GL games"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gen-imports" = callPackage @@ -83226,6 +89105,7 @@ self: { description = "Code to generate instances for the package \"ghc-instances\""; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gen-passwd" = callPackage @@ -83244,6 +89124,7 @@ self: { description = "Create wordlist-based passwords easily"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gencheck" = callPackage @@ -83261,6 +89142,7 @@ self: { description = "A testing framework inspired by QuickCheck and SmallCheck"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gender" = callPackage @@ -83277,6 +89159,7 @@ self: { description = "Identify a persons gender by their first name"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "genders" = callPackage @@ -83293,6 +89176,7 @@ self: { description = "Bindings to libgenders"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {genders = null;}; "gendocs" = callPackage @@ -83339,6 +89223,7 @@ self: { description = "Prelude replacement using generalized type classes where possible"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "generator" = callPackage @@ -83362,6 +89247,7 @@ self: { description = "Actually useful monadic random value generators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "generic-accessors" = callPackage @@ -83382,6 +89268,7 @@ self: { description = "stringly-named getters for generic data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "generic-aeson" = callPackage @@ -83390,17 +89277,14 @@ self: { }: mkDerivation { pname = "generic-aeson"; - version = "0.2.0.9"; - sha256 = "1jw4rmfsky8r8551ddjy0i3va3dj37flzf23gxniyam7zy8kzh9l"; - revision = "4"; - editedCabalFile = "0m2m2wfv9nhq8m7xl1nrmj4wy3yip3s31b4448za58ryrwkdgjzd"; + version = "0.2.0.10"; + sha256 = "0dz7kib81234xmp7lzwww4vfnbpkq1pdalzvxxxqcjj31l0i803c"; libraryHaskellDepends = [ aeson attoparsec base generic-deriving mtl tagged text unordered-containers vector ]; description = "Derivation of Aeson instances using GHC generics"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "generic-arbitrary" = callPackage @@ -83424,6 +89308,7 @@ self: { description = "Generic Data.Binary derivation using GHC generics."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "generic-church" = callPackage @@ -83440,41 +89325,39 @@ self: { description = "Automatically convert Generic instances to and from church representations"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "generic-constraints" = callPackage + ({ mkDerivation, base, HUnit, template-haskell, th-abstraction }: + mkDerivation { + pname = "generic-constraints"; + version = "1.1.1"; + sha256 = "0ifia4yw495ikkvjn70c386z3w40vyl2wracmcij025yc9bz4w9q"; + libraryHaskellDepends = [ base template-haskell th-abstraction ]; + testHaskellDepends = [ base HUnit ]; + description = "Constraints via Generic"; + license = stdenv.lib.licenses.bsd3; }) {}; "generic-data" = callPackage - ({ mkDerivation, base, base-orphans, contravariant - , show-combinators, tasty, tasty-hunit + ({ mkDerivation, base, base-orphans, contravariant, criterion + , deepseq, generic-lens, one-liner, show-combinators, tasty + , tasty-hunit }: mkDerivation { pname = "generic-data"; - version = "0.3.0.0"; - sha256 = "0n53z9vmwfmb8h1x86wm9lcqrkfi1lvlfvm6kcw79d2xxx6l90jc"; - libraryHaskellDepends = [ - base base-orphans contravariant show-combinators - ]; - testHaskellDepends = [ base tasty tasty-hunit ]; - description = "Utilities for GHC.Generics"; - license = stdenv.lib.licenses.mit; - }) {}; - - "generic-data_0_5_0_0" = callPackage - ({ mkDerivation, base, base-orphans, contravariant, generic-lens - , one-liner, show-combinators, tasty, tasty-hunit - }: - mkDerivation { - pname = "generic-data"; - version = "0.5.0.0"; - sha256 = "1hy43a1f5y1ymszilz908sl7an7hj7sz7yzchhxh83ki2sf0ya7s"; + version = "0.7.0.0"; + sha256 = "156d8zx425bpghp903260x1fdgnvwkyd7483mdjdg5l54ff9via8"; libraryHaskellDepends = [ base base-orphans contravariant show-combinators ]; testHaskellDepends = [ base generic-lens one-liner tasty tasty-hunit ]; - description = "Utilities for GHC.Generics"; + benchmarkHaskellDepends = [ base criterion deepseq ]; + description = "Deriving instances with GHC.Generics and related utilities"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "generic-data-surgery" = callPackage @@ -83524,8 +89407,10 @@ self: { }: mkDerivation { pname = "generic-deriving"; - version = "1.12.3"; - sha256 = "14k6yilr8x3ymwmgv51rjkqnzgm64b538gi80lj3z8p6wfjdgvfv"; + version = "1.12.4"; + sha256 = "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"; + revision = "1"; + editedCabalFile = "16z0748pw4j28ib6vg5yzjm8wrarqkclr7l597q5zjxabjdn1ygj"; libraryHaskellDepends = [ base containers ghc-prim template-haskell th-abstraction ]; @@ -83535,6 +89420,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "generic-deriving_1_13" = callPackage + ({ mkDerivation, base, containers, ghc-prim, hspec, hspec-discover + , template-haskell, th-abstraction + }: + mkDerivation { + pname = "generic-deriving"; + version = "1.13"; + sha256 = "0k4av4jamgpavn82q54g345la5i2ckfbq2w9nnf2a6vhvk1lnw8g"; + libraryHaskellDepends = [ + base containers ghc-prim template-haskell th-abstraction + ]; + testHaskellDepends = [ base hspec template-haskell ]; + testToolDepends = [ hspec-discover ]; + description = "Generic programming library for generalised deriving"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "generic-enum" = callPackage ({ mkDerivation, array, base, bytestring, hspec }: mkDerivation { @@ -83546,6 +89449,18 @@ self: { description = "An Enum class that fixes some deficiences with Prelude's Enum"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "generic-env" = callPackage + ({ mkDerivation, base, containers, text }: + mkDerivation { + pname = "generic-env"; + version = "0.1.1.0"; + sha256 = "084rfdmcw071dslnw86n2w58xiqhkaldf7qjcmlizykqc15si5xh"; + libraryHaskellDepends = [ base containers text ]; + description = "Generic Environment Generator"; + license = stdenv.lib.licenses.mit; }) {}; "generic-lens" = callPackage @@ -83565,6 +89480,25 @@ self: { ]; description = "Generically derive traversals, lenses and prisms"; license = stdenv.lib.licenses.bsd3; + }) {}; + + "generic-lens_1_2_0_0" = callPackage + ({ mkDerivation, base, criterion, deepseq, doctest, HUnit + , inspection-testing, lens, profunctors, QuickCheck, tagged, text + }: + mkDerivation { + pname = "generic-lens"; + version = "1.2.0.0"; + sha256 = "0qf49s01xkbhlfclc4a3ybhhf65g6mmigkkqj2psdjndgjdaxhb2"; + libraryHaskellDepends = [ base profunctors tagged text ]; + testHaskellDepends = [ + base doctest HUnit inspection-testing lens profunctors + ]; + benchmarkHaskellDepends = [ + base criterion deepseq lens QuickCheck + ]; + description = "Generically derive traversals, lenses and prisms"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; }) {}; @@ -83578,6 +89512,7 @@ self: { description = "GHC.OverloadedLabels.IsLabel instance for lenses from ghc-generics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "generic-lucid-scaffold" = callPackage @@ -83590,6 +89525,7 @@ self: { description = "General-purpose web page scaffold for Lucid"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "generic-maybe" = callPackage @@ -83612,6 +89548,7 @@ self: { description = "A generic version of Data.Maybe"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "generic-monoid" = callPackage @@ -83642,6 +89579,7 @@ self: { description = "Pretty printing for Generic value"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "generic-random" = callPackage @@ -83691,6 +89629,7 @@ self: { description = "Generic implementation of Storable"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "generic-tree" = callPackage @@ -83703,6 +89642,7 @@ self: { description = "Generic Tree data type"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "generic-trie" = callPackage @@ -83731,6 +89671,7 @@ self: { description = "Marshalling Haskell values to/from XML"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "generic-xmlpickler" = callPackage @@ -83750,6 +89691,7 @@ self: { description = "Generic generation of HXT XmlPickler instances using GHC Generics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "generics-eot" = callPackage @@ -83758,8 +89700,8 @@ self: { }: mkDerivation { pname = "generics-eot"; - version = "0.4"; - sha256 = "16yfzv9aqyizm57r5m5ddwdnlh05fvlrxjn6m3vqz33kvy3drgjs"; + version = "0.4.0.1"; + sha256 = "0s6zhs6l1xcig66757664f1bchzlm4f1ijvg5dsnacq05jbdxrlv"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base directory doctest filepath hspec interpolate markdown-unlit @@ -83774,8 +89716,8 @@ self: { ({ mkDerivation, base, containers, mtl, template-haskell }: mkDerivation { pname = "generics-mrsop"; - version = "1.2.2"; - sha256 = "0xlvvcnmv24f0j3j4jaaymhdgz7klfdx15lxi9214d4ak4fnxjyv"; + version = "2.1.0"; + sha256 = "1ynzwpwry6fqzjmz3n0iwdp5ra3c402jg1g8sdf7vbpaw9ilyrng"; libraryHaskellDepends = [ base containers mtl template-haskell ]; description = "Generic Programming with Mutually Recursive Sums of Products"; license = stdenv.lib.licenses.mit; @@ -83800,14 +89742,34 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "generics-sop_0_5_0_0" = callPackage + ({ mkDerivation, base, criterion, deepseq, ghc-prim, sop-core + , template-haskell + }: + mkDerivation { + pname = "generics-sop"; + version = "0.5.0.0"; + sha256 = "18dkdain2g46b1637f3pbv0fkzg4b1a8frm16hfqvhpfk46i7rzc"; + revision = "1"; + editedCabalFile = "10zfjhcipm77zfx32ls7bc8vk3affa5v7cyphwpw93d6sfqc9wym"; + libraryHaskellDepends = [ + base ghc-prim sop-core template-haskell + ]; + testHaskellDepends = [ base ]; + benchmarkHaskellDepends = [ + base criterion deepseq template-haskell + ]; + description = "Generic Programming using True Sums of Products"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "generics-sop-lens" = callPackage ({ mkDerivation, base, generics-sop, lens }: mkDerivation { pname = "generics-sop-lens"; - version = "0.1.2.1"; - sha256 = "0p2ji955hy9r6c1wmiziga9pbbli24my3vmx19gf4i8db36d8jaf"; - revision = "6"; - editedCabalFile = "0j4j3kk2nsl5n5gp0vrzqdc5y9ly31b4nvhq0bpgcpzibvik7ssw"; + version = "0.2"; + sha256 = "0cm3xnz5h1pxhvbgl8mm16fg8y339m6wvm6nlqmsm0jh37gvqc2a"; libraryHaskellDepends = [ base generics-sop lens ]; description = "Lenses for types in generics-sop"; license = stdenv.lib.licenses.bsd3; @@ -83824,6 +89786,7 @@ self: { description = "Serialization library using Data.Generics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "genesis" = callPackage @@ -83852,6 +89815,7 @@ self: { description = "Opinionated bootstrapping for Haskell web services"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "genesis-test" = callPackage @@ -83876,6 +89840,7 @@ self: { description = "Opinionated bootstrapping for Haskell web services"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "genetics" = callPackage @@ -83890,6 +89855,7 @@ self: { description = "A Genetic Algorithm library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "geni-gui" = callPackage @@ -83914,6 +89880,7 @@ self: { description = "GenI graphical user interface"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "geni-util" = callPackage @@ -83938,6 +89905,7 @@ self: { description = "Companion tools for use with the GenI surface realiser"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "geniconvert" = callPackage @@ -83958,6 +89926,7 @@ self: { description = "Conversion utility for the GenI generator"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "genifunctors" = callPackage @@ -83982,6 +89951,7 @@ self: { description = "Use Template Haskell to generate Uniplate-like functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "geniplate-mirror" = callPackage @@ -83990,8 +89960,8 @@ self: { pname = "geniplate-mirror"; version = "0.7.6"; sha256 = "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"; - revision = "1"; - editedCabalFile = "1pyz2vdkr5w9wadmb5v4alx408dqamny3mkvl4x8v2pf549qn37k"; + revision = "2"; + editedCabalFile = "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh"; libraryHaskellDepends = [ base mtl template-haskell ]; description = "Use Template Haskell to generate Uniplate-like functions"; license = stdenv.lib.licenses.bsd3; @@ -84017,6 +89987,7 @@ self: { description = "Simple HTTP server for GenI results"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "genprog" = callPackage @@ -84029,6 +90000,7 @@ self: { description = "Genetic programming library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gentlemark" = callPackage @@ -84042,14 +90014,15 @@ self: { description = "Gentle markup language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "genvalidity" = callPackage ({ mkDerivation, base, hspec, hspec-core, QuickCheck, validity }: mkDerivation { pname = "genvalidity"; - version = "0.7.0.0"; - sha256 = "1bjsqqyr1n306icfdl8sh3amqq95zpr5hawwbv46nbf0rxci88w1"; + version = "0.8.0.0"; + sha256 = "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"; libraryHaskellDepends = [ base QuickCheck validity ]; testHaskellDepends = [ base hspec hspec-core QuickCheck ]; description = "Testing utilities for the validity library"; @@ -84064,8 +90037,8 @@ self: { }: mkDerivation { pname = "genvalidity-aeson"; - version = "0.2.0.2"; - sha256 = "1c77lbw4y6fmrsdzxwm38la161n6k3zvjwisg17ssz0a1bm4y96i"; + version = "0.3.0.0"; + sha256 = "0l8n7k9v32izir9x0qrsnk4zkv3qhpghjzzpig4mk861cgycd42h"; libraryHaskellDepends = [ aeson base genvalidity genvalidity-scientific genvalidity-text genvalidity-unordered-containers genvalidity-vector QuickCheck @@ -84076,7 +90049,6 @@ self: { ]; description = "GenValidity support for aeson"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-bytestring" = callPackage @@ -84086,8 +90058,8 @@ self: { }: mkDerivation { pname = "genvalidity-bytestring"; - version = "0.3.0.1"; - sha256 = "1jc3hd5aad5vblb1mmb1xzgfdcnk37w50vxyznr1m16rdfg1xrz8"; + version = "0.5.0.0"; + sha256 = "0lcgkq9dlf0k687ccg07jan9f1ba1iag6l8yc9xbnf7vignqz0ma"; libraryHaskellDepends = [ base bytestring genvalidity QuickCheck validity validity-bytestring ]; @@ -84097,7 +90069,6 @@ self: { ]; description = "GenValidity support for ByteString"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-containers" = callPackage @@ -84106,8 +90077,8 @@ self: { }: mkDerivation { pname = "genvalidity-containers"; - version = "0.5.1.1"; - sha256 = "1z7bmbwi07nylkgm3dysmnv57z1iww2sjy2zv88jpg6nvq9r9ffg"; + version = "0.6.0.0"; + sha256 = "1ql8fmy6vpp0w52kkihfc3xzqsm4gdfm1j7mshirdw8vwa7y441q"; libraryHaskellDepends = [ base containers genvalidity QuickCheck validity validity-containers ]; @@ -84116,7 +90087,6 @@ self: { ]; description = "GenValidity support for containers"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-hspec" = callPackage @@ -84125,8 +90095,8 @@ self: { }: mkDerivation { pname = "genvalidity-hspec"; - version = "0.6.2.2"; - sha256 = "1npy88slf7immafk1vgl6w9gp526xdlvhr96qnrc8phf7b7bfkrf"; + version = "0.7.0.0"; + sha256 = "0cp0scxrkqmpscndxa68a1ij26i86qvblvb5fipwwyky76xhjsgg"; libraryHaskellDepends = [ base genvalidity genvalidity-property hspec hspec-core QuickCheck transformers validity @@ -84137,7 +90107,6 @@ self: { ]; description = "Standard spec's for GenValidity instances"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-hspec-aeson" = callPackage @@ -84148,8 +90117,8 @@ self: { }: mkDerivation { pname = "genvalidity-hspec-aeson"; - version = "0.3.0.1"; - sha256 = "0x5ja3d6vab2gmcqif3cvvbvmdpxp4hrc4ygzns5pw91nlrf5lm2"; + version = "0.3.1.0"; + sha256 = "0ainmqs2i2q1bgcy8k3h2j4gm3730ll3b56p5pkydrgxhkdkxk9b"; libraryHaskellDepends = [ aeson base bytestring deepseq genvalidity genvalidity-hspec hspec QuickCheck @@ -84160,7 +90129,6 @@ self: { ]; description = "Standard spec's for aeson-related instances"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-hspec-binary" = callPackage @@ -84180,7 +90148,6 @@ self: { ]; description = "Standard spec's for binary-related Instances"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-hspec-cereal" = callPackage @@ -84200,7 +90167,6 @@ self: { ]; description = "Standard spec's for cereal-related instances"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-hspec-hashable" = callPackage @@ -84210,8 +90176,8 @@ self: { }: mkDerivation { pname = "genvalidity-hspec-hashable"; - version = "0.2.0.3"; - sha256 = "0lb1aiv07fbbkyhh8ig2lhqgm9yibrny2bw9qwbdkwwsi6hk4566"; + version = "0.2.0.4"; + sha256 = "1vyd14cmsj54kbfbidgsy8r695zza635bxwg2i95gl1i314dzy1n"; libraryHaskellDepends = [ base genvalidity genvalidity-hspec genvalidity-property hashable hspec QuickCheck validity @@ -84222,7 +90188,6 @@ self: { ]; description = "Standard spec's for Hashable instances"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-hspec-optics" = callPackage @@ -84242,7 +90207,6 @@ self: { ]; description = "Standard spec's for optics"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-mergeless" = callPackage @@ -84265,9 +90229,7 @@ self: { typed-uuid uuid ]; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - broken = true; - }) {genvalidity-typed-uuid = null; typed-uuid = null;}; + }) {}; "genvalidity-path" = callPackage ({ mkDerivation, base, criterion, genvalidity, genvalidity-hspec @@ -84286,7 +90248,6 @@ self: { ]; description = "GenValidity support for Path"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-property" = callPackage @@ -84295,8 +90256,8 @@ self: { }: mkDerivation { pname = "genvalidity-property"; - version = "0.3.0.0"; - sha256 = "03cpmkqmfqypj9kydrdzs0pyix0ffwrlx8idzvgyrqiyhg03rsis"; + version = "0.4.0.0"; + sha256 = "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"; libraryHaskellDepends = [ base genvalidity hspec QuickCheck validity ]; @@ -84321,7 +90282,6 @@ self: { ]; description = "GenValidity support for Scientific"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-text" = callPackage @@ -84330,8 +90290,8 @@ self: { }: mkDerivation { pname = "genvalidity-text"; - version = "0.5.1.0"; - sha256 = "0j7fx2zzv6ljqk87148h1rq3yg6vvy0dsl7kfl3f2p6ghnz7wggg"; + version = "0.6.0.0"; + sha256 = "01684mmf2vk4kvk4nanrlsa237jlx1713cqrsgrnwvb1n8x0z2ja"; libraryHaskellDepends = [ array base genvalidity QuickCheck text validity validity-text ]; @@ -84340,7 +90300,6 @@ self: { ]; description = "GenValidity support for Text"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-time" = callPackage @@ -84357,7 +90316,26 @@ self: { testHaskellDepends = [ base genvalidity-hspec hspec time ]; description = "GenValidity support for time"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "genvalidity-typed-uuid" = callPackage + ({ mkDerivation, base, genvalidity, genvalidity-hspec + , genvalidity-hspec-aeson, genvalidity-uuid, hspec, QuickCheck + , typed-uuid + }: + mkDerivation { + pname = "genvalidity-typed-uuid"; + version = "0.0.0.0"; + sha256 = "17lxwdb94lqprbymqsrm8xkgmgxaff6a3cczb1mzid9c91s1ym88"; + libraryHaskellDepends = [ + base genvalidity genvalidity-uuid QuickCheck typed-uuid + ]; + testHaskellDepends = [ + base genvalidity genvalidity-hspec genvalidity-hspec-aeson + genvalidity-uuid hspec QuickCheck typed-uuid + ]; + description = "Generators for Phantom-Typed version of UUID"; + license = stdenv.lib.licenses.mit; }) {}; "genvalidity-unordered-containers" = callPackage @@ -84367,8 +90345,8 @@ self: { }: mkDerivation { pname = "genvalidity-unordered-containers"; - version = "0.2.0.4"; - sha256 = "0rkvwm5imbgl8cx5pdk16dc4wzhcndw6g3wwxs0blykiri32wl3q"; + version = "0.3.0.0"; + sha256 = "0dln4mba85vi8dlw0l7qqvcayazs12jy4a8ri3brf3kz9vhvi9rh"; libraryHaskellDepends = [ base genvalidity hashable QuickCheck unordered-containers validity validity-unordered-containers @@ -84379,7 +90357,6 @@ self: { ]; description = "GenValidity support for unordered-containers"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-uuid" = callPackage @@ -84398,7 +90375,6 @@ self: { ]; description = "GenValidity support for UUID"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "genvalidity-vector" = callPackage @@ -84407,8 +90383,8 @@ self: { }: mkDerivation { pname = "genvalidity-vector"; - version = "0.2.0.3"; - sha256 = "161w5shgj1k8691mmi9ddhxrnrqhsp502ywln2h0sk55zqcj1i5k"; + version = "0.3.0.0"; + sha256 = "11qvacfhf60rdya2v5c7j94jgvyinz7ydhl5f8l0h1xrlw2n7w3h"; libraryHaskellDepends = [ base genvalidity QuickCheck validity validity-vector vector ]; @@ -84417,7 +90393,6 @@ self: { ]; description = "GenValidity support for vector"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "geo-resolver" = callPackage @@ -84441,6 +90416,7 @@ self: { description = "Performs geo location lookups and parses the results"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "geo-uk" = callPackage @@ -84500,18 +90476,20 @@ self: { description = "Geodetic calculations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "geodetic-types" = callPackage ({ mkDerivation, base, dimensional, lens, semigroups }: mkDerivation { pname = "geodetic-types"; - version = "0.0.1"; - sha256 = "0sj82sz20zfys2h4g74wj9gwfyc2c4jkzazw882xrr18g8zx82p8"; + version = "0.0.4"; + sha256 = "1v7dl3nl9gp8pj469sk41k8nz34s1dngpinif06v8bbpms31i0bd"; libraryHaskellDepends = [ base dimensional lens semigroups ]; description = "Types for geodetic operations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "geodetics" = callPackage @@ -84531,7 +90509,6 @@ self: { ]; description = "Terrestrial coordinate systems and geodetic calculations"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "geohash" = callPackage @@ -84564,17 +90541,15 @@ self: { "geojson" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, deepseq , hlint, lens, scientific, semigroups, tasty, tasty-hspec - , tasty-quickcheck, text, transformers, validation + , tasty-quickcheck, text, transformers, validation, vector }: mkDerivation { pname = "geojson"; - version = "3.0.4"; - sha256 = "0dnk9cb7y8wgnx8wzzln635r9pijljd9h5rinl0s9g4bjhw0rcw5"; - revision = "1"; - editedCabalFile = "1dp2hmnh77il2nx809bbkhhq4bz7ycy38ai5bhyklagc4k5bxl1c"; + version = "4.0.1"; + sha256 = "100k6j57r14yxxhfpqlgm9q1x5hrj3qdzm7cpbs5rfyqi5g7kyrj"; libraryHaskellDepends = [ aeson base containers deepseq lens scientific semigroups text - transformers validation + transformers validation vector ]; testHaskellDepends = [ aeson base bytestring containers hlint tasty tasty-hspec @@ -84582,6 +90557,8 @@ self: { ]; description = "A thin GeoJSON Layer above the aeson library"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "geojson-types" = callPackage @@ -84594,6 +90571,7 @@ self: { description = "GeoJSON data types including JSON/BSON conversion"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "geolite-csv" = callPackage @@ -84613,6 +90591,7 @@ self: { description = "Geolite CSV Parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "geom2d" = callPackage @@ -84626,6 +90605,7 @@ self: { description = "package for geometry in euklidean 2d space"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "geos" = callPackage @@ -84634,8 +90614,8 @@ self: { }: mkDerivation { pname = "geos"; - version = "0.2.1"; - sha256 = "15dhxhqswi9h8zas0x27hma7pz4c7rn40pppjraax29pi4alaiq9"; + version = "0.2.2"; + sha256 = "15mmgn5c2ls87ajpz11zybv5i3nzva60snws2gxjh19prkhydl5c"; libraryHaskellDepends = [ base bytestring mtl transformers vector ]; @@ -84645,6 +90625,7 @@ self: { description = "Bindings for GEOS"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {geos_c = null;}; "getemx" = callPackage @@ -84664,6 +90645,7 @@ self: { description = "Fetch from emusic using .emx files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "getflag" = callPackage @@ -84676,6 +90658,7 @@ self: { description = "Command-line parser"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "getopt-generics" = callPackage @@ -84756,6 +90739,7 @@ self: { description = "A type checker and runtime system of rCOS/g (impl. of ggts-FCS)."; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gh-labeler" = callPackage @@ -84773,7 +90757,6 @@ self: { ]; description = "Github Standard Labeler"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gh-pocket-knife" = callPackage @@ -84795,35 +90778,34 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "ghc_8_6_1" = callPackage - ({ mkDerivation, alex, array, base, binary, bytestring, containers + "ghc_8_6_5" = callPackage + ({ mkDerivation, array, base, binary, bytestring, containers , deepseq, directory, filepath, ghc-boot, ghc-boot-th, ghc-heap - , ghci, happy, hpc, process, template-haskell, terminfo, time + , ghci, hpc, process, template-haskell, terminfo, time , transformers, unix }: mkDerivation { pname = "ghc"; - version = "8.6.1"; - sha256 = "1s4iggkyki6fd1wv9l5qgpnkyf1wgyf2mcncj6jwl4whrii3r7br"; + version = "8.6.5"; + sha256 = "13sh7f40pib5v00wd5bdxrwz7m5q398l93kky0z14q47130mpp20"; libraryHaskellDepends = [ array base binary bytestring containers deepseq directory filepath ghc-boot ghc-boot-th ghc-heap ghci hpc process template-haskell terminfo time transformers unix ]; - libraryToolDepends = [ alex happy ]; description = "The GHC API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; }) {}; - "ghc-boot_8_6_1" = callPackage + "ghc-boot_8_6_5" = callPackage ({ mkDerivation, base, binary, bytestring, directory, filepath , ghc-boot-th }: mkDerivation { pname = "ghc-boot"; - version = "8.6.1"; - sha256 = "0dy9p2vz7ccwrhk9l4vs4fhfg6w9p7pk88iy44i46089svzx0wja"; + version = "8.6.5"; + sha256 = "1sxar25ji02a4yaz6s5hksf7b8pbl66vv9nb3bfc7fxq6gzj5n4b"; libraryHaskellDepends = [ base binary bytestring directory filepath ghc-boot-th ]; @@ -84832,14 +90814,14 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; - "ghc-boot-th_8_6_1" = callPackage + "ghc-boot-th_8_6_5" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "ghc-boot-th"; - version = "8.6.1"; - sha256 = "0z3d9niqzsv1zihazs1ghdwag53fcmdigj77z37licc5q0g0lc49"; + version = "8.6.5"; + sha256 = "18gjvxp3668np9n3c5l65q03nlqhgfjhh9wizvifmk673g0cl7n9"; libraryHaskellDepends = [ base ]; - description = "Shared functionality between GHC and the @template-haskell@ library"; + description = "Shared functionality between GHC and the `template-haskell` library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; }) {}; @@ -84915,6 +90897,7 @@ self: { description = "A small-step semantics for Core"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-datasize" = callPackage @@ -84927,21 +90910,22 @@ self: { description = "Determine the size of data structures in GHC's memory"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-dump-core" = callPackage - ({ mkDerivation, base, bytestring, filepath, ghc, serialise, text + ({ mkDerivation, base, bytestring, directory, filepath, ghc + , serialise, text }: mkDerivation { pname = "ghc-dump-core"; - version = "0.1.0.0"; - sha256 = "036hpykq1ibnnb4sm0k4ljcqj2m7qf8kdycdmids9qfhz3kldms2"; + version = "0.1.1.0"; + sha256 = "0mksk6qhsnjd19yx79nw3dygfsfkyq52mdywikg21s67j8d4dxv5"; libraryHaskellDepends = [ - base bytestring filepath ghc serialise text + base bytestring directory filepath ghc serialise text ]; description = "An AST and compiler plugin for dumping GHC's Core representation"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ghc-dump-tree" = callPackage @@ -84967,6 +90951,7 @@ self: { description = "Dump GHC's parsed, renamed, and type checked ASTs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-dump-util" = callPackage @@ -84976,8 +90961,8 @@ self: { }: mkDerivation { pname = "ghc-dump-util"; - version = "0.1.0.0"; - sha256 = "0d8d5nc9nnfk0qnxjg7mdfc1cfalycwi1bb8x3m1f9ndy29hzrb1"; + version = "0.1.1.0"; + sha256 = "0x93y0ymf3fl977j3c3liz1c52q5b2fw5h1ivsw3dazpmrm62n7m"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -84990,7 +90975,6 @@ self: { ]; description = "Handy tools for working with @ghc-dump@ dumps"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ghc-dup" = callPackage @@ -85003,6 +90987,7 @@ self: { description = "Explicitly prevent sharing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-events" = callPackage @@ -85011,8 +90996,8 @@ self: { }: mkDerivation { pname = "ghc-events"; - version = "0.8.0.1"; - sha256 = "1658lr4av48y8m0p5fs3sjxkkbdkwdf6m02byzw69gqg3xzz1i99"; + version = "0.9.0"; + sha256 = "004dfjqhqy0lpmadjmvz270ja6k2dmwbprnispdxmlg8rc5y3m10"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -85046,6 +91031,7 @@ self: { description = "Analyze and visualize event logs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-events-parallel" = callPackage @@ -85070,6 +91056,7 @@ self: { description = "Library and tool for parsing .eventlog files from parallel GHC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-exactprint" = callPackage @@ -85079,8 +91066,8 @@ self: { }: mkDerivation { pname = "ghc-exactprint"; - version = "0.5.8.2"; - sha256 = "18wlhvgpbk7ym1vbi8fkdwbjhcplgr7zcqm328yi4v7rilbxw7cn"; + version = "0.6.1"; + sha256 = "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -85118,25 +91105,26 @@ self: { description = "Derived instances of GHC.Generic of the GHC AST"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-heap-view" = callPackage ({ mkDerivation, base, binary, bytestring, Cabal, containers - , deepseq, filepath, ghc, template-haskell, transformers + , deepseq, filepath, ghc-heap, template-haskell, transformers }: mkDerivation { pname = "ghc-heap-view"; - version = "0.5.10"; - sha256 = "0wb4311k8pyvgmhlxsdr8ss497nlgr8hawkm0fi930s3y4xxak1f"; + version = "0.6.0"; + sha256 = "1j2ygig1m7xq1y5gsaaxbgywv382yzlp1nbf3cp98yias0s61vcr"; enableSeparateDataOutput = true; setupHaskellDepends = [ base Cabal filepath ]; libraryHaskellDepends = [ - base binary bytestring containers ghc template-haskell transformers + base binary bytestring containers ghc-heap template-haskell + transformers ]; testHaskellDepends = [ base deepseq ]; description = "Extract the heap representation of Haskell values and thunks"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ghc-hotswap" = callPackage @@ -85186,6 +91174,7 @@ self: { description = "Find the Haddock documentation for a symbol"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-instances" = callPackage @@ -85208,6 +91197,7 @@ self: { description = "Easily import all instances contained in GHC distributed libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-justdoit" = callPackage @@ -85224,19 +91214,19 @@ self: { "ghc-lib" = callPackage ({ mkDerivation, alex, array, base, binary, bytestring, containers - , deepseq, directory, filepath, ghc-prim, happy, haskeline, hpc - , pretty, process, time, transformers, unix + , deepseq, directory, filepath, ghc-lib-parser, ghc-prim, happy + , haskeline, hpc, pretty, process, time, transformers, unix }: mkDerivation { pname = "ghc-lib"; - version = "0.20190204"; - sha256 = "1983wg1in81b2wvqgl8431rgfdzzafqzl2x5bzlanvhiv0vjwcqy"; + version = "8.8.0.20190424"; + sha256 = "03f1racabmixc4jk3mn6k6cnhapaplswa8fbb9yajrzj56ag16wm"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ array base binary bytestring containers deepseq directory filepath - ghc-prim hpc pretty process time transformers unix + ghc-lib-parser ghc-prim hpc pretty process time transformers unix ]; libraryToolDepends = [ alex happy ]; executableHaskellDepends = [ @@ -85247,6 +91237,91 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "ghc-lib_8_8_1" = callPackage + ({ mkDerivation, alex, array, base, binary, bytestring, containers + , deepseq, directory, filepath, ghc-lib-parser, ghc-prim, happy + , haskeline, hpc, pretty, process, time, transformers, unix + }: + mkDerivation { + pname = "ghc-lib"; + version = "8.8.1"; + sha256 = "0lilr12pamss6x2vkqb700zy7yd15vd4y8f0h4q8fdp068bxn177"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + array base binary bytestring containers deepseq directory filepath + ghc-lib-parser ghc-prim hpc pretty process time transformers unix + ]; + libraryToolDepends = [ alex happy ]; + executableHaskellDepends = [ + array base bytestring containers deepseq directory filepath + ghc-prim haskeline process time transformers unix + ]; + description = "The GHC API, decoupled from GHC versions"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "ghc-lib-parser" = callPackage + ({ mkDerivation, alex, array, base, binary, bytestring, containers + , deepseq, directory, filepath, ghc-prim, happy, hpc, pretty + , process, time, transformers, unix + }: + mkDerivation { + pname = "ghc-lib-parser"; + version = "8.8.0.20190424"; + sha256 = "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + array base binary bytestring containers deepseq directory filepath + ghc-prim hpc pretty process time transformers unix + ]; + libraryToolDepends = [ alex happy ]; + description = "The GHC API, decoupled from GHC versions"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "ghc-lib-parser_8_8_0_20190723" = callPackage + ({ mkDerivation, alex, array, base, binary, bytestring, containers + , deepseq, directory, filepath, ghc-prim, happy, hpc, pretty + , process, time, transformers, unix + }: + mkDerivation { + pname = "ghc-lib-parser"; + version = "8.8.0.20190723"; + sha256 = "0szrv98h2c1db3400cbb7vbhqnwagqncgpllzd9jiw74rq6y8mjq"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + array base binary bytestring containers deepseq directory filepath + ghc-prim hpc pretty process time transformers unix + ]; + libraryToolDepends = [ alex happy ]; + description = "The GHC API, decoupled from GHC versions"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "ghc-lib-parser_8_8_1" = callPackage + ({ mkDerivation, alex, array, base, binary, bytestring, containers + , deepseq, directory, filepath, ghc-prim, happy, hpc, pretty + , process, time, transformers, unix + }: + mkDerivation { + pname = "ghc-lib-parser"; + version = "8.8.1"; + sha256 = "12aicsvc45ld2hv2qq0wdky4qa2mg8s6hhamilavcbp0da2s6wnh"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + array base binary bytestring containers deepseq directory filepath + ghc-prim hpc pretty process time transformers unix + ]; + libraryToolDepends = [ alex happy ]; + description = "The GHC API, decoupled from GHC versions"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "ghc-make" = callPackage ({ mkDerivation, base, process, shake, unordered-containers }: mkDerivation { @@ -85274,6 +91349,7 @@ self: { description = "Generate a bash completion from the GHC manpage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-mod" = callPackage @@ -85321,6 +91397,7 @@ self: { description = "Happy Haskell Hacking"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-mtl" = callPackage @@ -85385,29 +91462,27 @@ self: { description = "A parallel wrapper for 'ghc --make'"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-parser" = callPackage ({ mkDerivation, base, cpphs, ghc, happy }: mkDerivation { pname = "ghc-parser"; - version = "0.2.0.2"; - sha256 = "1130fpddf3jx84k558gsc83j3166qy15jp878w2d3lwgzxjcqx5v"; + version = "0.2.0.3"; + sha256 = "0j0injpah571chhgm2gzrim7908l859mgppvxp966bwla3i7j1aj"; libraryHaskellDepends = [ base ghc ]; libraryToolDepends = [ cpphs happy ]; description = "Haskell source parser from GHC"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ghc-paths" = callPackage ({ mkDerivation, base, Cabal, directory }: mkDerivation { pname = "ghc-paths"; - version = "0.1.0.9"; - sha256 = "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"; - revision = "4"; - editedCabalFile = "1fp0jyvi6prqsv0dxn010c7q4mmiwlcy1xk6ppd4d539adxxy67d"; + version = "0.1.0.12"; + sha256 = "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"; setupHaskellDepends = [ base Cabal directory ]; libraryHaskellDepends = [ base ]; description = "Knowledge of GHC's installation directories"; @@ -85430,6 +91505,7 @@ self: { description = "Simple utility to fix BROKEN package dependencies for cabal-install"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-pkg-lib" = callPackage @@ -85445,6 +91521,7 @@ self: { description = "Provide library support for ghc-pkg information"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-prim_0_5_3" = callPackage @@ -85535,6 +91612,7 @@ self: { description = "GHC plugin to prove program equations by simplification"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-server" = callPackage @@ -85566,6 +91644,7 @@ self: { description = "Simplified GHC API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-simple" = callPackage @@ -85582,6 +91661,19 @@ self: { description = "Simplified interface to the GHC API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "ghc-source-gen" = callPackage + ({ mkDerivation, base, ghc, ghc-paths, tasty, tasty-hunit }: + mkDerivation { + pname = "ghc-source-gen"; + version = "0.1.0.0"; + sha256 = "0sw62jjbd7h9i96hn0srl9m8p0qip6hnm1am6if7snqdm5b4ki3k"; + libraryHaskellDepends = [ base ghc ]; + testHaskellDepends = [ base ghc ghc-paths tasty tasty-hunit ]; + description = "Constructs Haskell syntax trees for the GHC API"; + license = stdenv.lib.licenses.bsd3; }) {}; "ghc-srcspan-plugin" = callPackage @@ -85594,6 +91686,7 @@ self: { description = "Generic GHC Plugin for annotating Haskell code with source location data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-syb" = callPackage @@ -85606,6 +91699,7 @@ self: { description = "Data and Typeable instances for the GHC API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-syb-utils" = callPackage @@ -85618,14 +91712,15 @@ self: { description = "Scrap Your Boilerplate utilities for the GHC API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-syntax-highlighter" = callPackage ({ mkDerivation, base, ghc, hspec, hspec-discover, text }: mkDerivation { pname = "ghc-syntax-highlighter"; - version = "0.0.3.0"; - sha256 = "077cvrx25qdl04qgp3wl7c3jxrakw1k873dwgybfwkhgfj2g8dx1"; + version = "0.0.4.0"; + sha256 = "1kw1h7n4ydn1klzll24nwwg405j23wry9hg8g96vba51vah0wc47"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base ghc text ]; testHaskellDepends = [ base hspec text ]; @@ -85640,8 +91735,8 @@ self: { pname = "ghc-tcplugins-extra"; version = "0.3"; sha256 = "0k1ph8za52mx6f146xhaakn630xrzk42ylchv4b9r04hslhzvb1h"; - revision = "1"; - editedCabalFile = "0x2d4bp5lhyfrqjshmgbirdn2ihc057a8a6khqmz91jj9zlhf7vb"; + revision = "2"; + editedCabalFile = "1hrbvixm25x1dx1ljy9x7f63kcan4ffz885xj6qsl8l070wj96s1"; libraryHaskellDepends = [ base ghc ]; description = "Utilities for writing GHC type-checker plugins"; license = stdenv.lib.licenses.bsd2; @@ -85665,6 +91760,7 @@ self: { description = "Library for parsing GHC time and allocation profiling reports"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-timers" = callPackage @@ -85689,6 +91785,7 @@ self: { description = "Faster replacements for traceEvent and traceMarker"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-typelits-extra" = callPackage @@ -85712,6 +91809,30 @@ self: { license = stdenv.lib.licenses.bsd2; }) {}; + "ghc-typelits-extra_0_3_1" = callPackage + ({ mkDerivation, base, containers, ghc, ghc-prim + , ghc-tcplugins-extra, ghc-typelits-knownnat + , ghc-typelits-natnormalise, integer-gmp, tasty, tasty-hunit + , transformers + }: + mkDerivation { + pname = "ghc-typelits-extra"; + version = "0.3.1"; + sha256 = "0v29lqz6q6wsdrhbcljyvcfdz1i7bvrp341816m2n5kbrkrk48ha"; + libraryHaskellDepends = [ + base containers ghc ghc-prim ghc-tcplugins-extra + ghc-typelits-knownnat ghc-typelits-natnormalise integer-gmp + transformers + ]; + testHaskellDepends = [ + base ghc-typelits-knownnat ghc-typelits-natnormalise tasty + tasty-hunit + ]; + description = "Additional type-level operations on GHC.TypeLits.Nat"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "ghc-typelits-knownnat" = callPackage ({ mkDerivation, base, ghc, ghc-tcplugins-extra , ghc-typelits-natnormalise, tasty, tasty-hunit, tasty-quickcheck @@ -85732,6 +91853,27 @@ self: { license = stdenv.lib.licenses.bsd2; }) {}; + "ghc-typelits-knownnat_0_7" = callPackage + ({ mkDerivation, base, ghc, ghc-prim, ghc-tcplugins-extra + , ghc-typelits-natnormalise, tasty, tasty-hunit, tasty-quickcheck + , template-haskell, transformers + }: + mkDerivation { + pname = "ghc-typelits-knownnat"; + version = "0.7"; + sha256 = "00f8m3kmp572r8jr246m8r6lwzxmiqj4hml06w09l9n3lzvjwv7b"; + libraryHaskellDepends = [ + base ghc ghc-prim ghc-tcplugins-extra ghc-typelits-natnormalise + template-haskell transformers + ]; + testHaskellDepends = [ + base ghc-typelits-natnormalise tasty tasty-hunit tasty-quickcheck + ]; + description = "Derive KnownNat constraints from other KnownNat constraints"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "ghc-typelits-natnormalise" = callPackage ({ mkDerivation, base, ghc, ghc-tcplugins-extra, integer-gmp, tasty , tasty-hunit, template-haskell, transformers @@ -85748,6 +91890,23 @@ self: { license = stdenv.lib.licenses.bsd2; }) {}; + "ghc-typelits-natnormalise_0_7" = callPackage + ({ mkDerivation, base, containers, ghc, ghc-tcplugins-extra + , integer-gmp, tasty, tasty-hunit, template-haskell, transformers + }: + mkDerivation { + pname = "ghc-typelits-natnormalise"; + version = "0.7"; + sha256 = "1rfw67hhhka3ga8v3224ain7jvdc390glz5cr7vvxm1yqs1wgwx4"; + libraryHaskellDepends = [ + base containers ghc ghc-tcplugins-extra integer-gmp transformers + ]; + testHaskellDepends = [ base tasty tasty-hunit template-haskell ]; + description = "GHC typechecker plugin for types of kind GHC.TypeLits.Nat"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "ghc-typelits-presburger" = callPackage ({ mkDerivation, base, containers, equational-reasoning, ghc , ghc-tcplugins-extra, mtl, pretty, reflection, singletons, syb @@ -85766,6 +91925,7 @@ self: { description = "Presburger Arithmetic Solver for GHC Type-level natural numbers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-usage" = callPackage @@ -85781,6 +91941,7 @@ self: { description = "Print minimal export lists"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghc-vis" = callPackage @@ -85800,17 +91961,18 @@ self: { description = "Live visualization of data structures in GHCi"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "ghci_8_6_1" = callPackage + "ghci_8_6_5" = callPackage ({ mkDerivation, array, base, binary, bytestring, containers , deepseq, filepath, ghc-boot, ghc-boot-th, ghc-heap , template-haskell, transformers, unix }: mkDerivation { pname = "ghci"; - version = "8.6.1"; - sha256 = "0ffv5xmq63y53fhfldx37g6881l07nvlgdsp9kfqz70flh0c1wm8"; + version = "8.6.5"; + sha256 = "0h011kixzv5x5bjb2i71bl9dnffc6if7k6jmsncbyvj0vvchrrn8"; libraryHaskellDepends = [ array base binary bytestring containers deepseq filepath ghc-boot ghc-boot-th ghc-heap template-haskell transformers unix @@ -85820,6 +91982,26 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "ghci-dap" = callPackage + ({ mkDerivation, array, base, bytestring, containers, deepseq + , directory, filepath, ghc, ghc-boot, ghc-paths, ghci, haskeline + , haskell-dap, process, text, time, transformers, unix + }: + mkDerivation { + pname = "ghci-dap"; + version = "0.0.12.0"; + sha256 = "1a5jcwvxw7fsjdn3p8lrn3ww24bwdjj6x09zi0pc6fzwwjrjkk2d"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + array base bytestring containers deepseq directory filepath ghc + ghc-boot ghc-paths ghci haskeline haskell-dap process text time + transformers unix + ]; + description = "ghci-dap is a GHCi having DAP interface"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "ghci-diagrams" = callPackage ({ mkDerivation, base, cairo, colour, diagrams, gtk }: mkDerivation { @@ -85830,6 +92012,7 @@ self: { description = "Display simple diagrams from ghci"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghci-haskeline" = callPackage @@ -85849,16 +92032,17 @@ self: { description = "An implementation of ghci using the Haskeline line-input library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghci-hexcalc" = callPackage - ({ mkDerivation, base, doctest, QuickCheck }: + ({ mkDerivation, base, binary, doctest, QuickCheck }: mkDerivation { pname = "ghci-hexcalc"; - version = "0.1.0.1"; - sha256 = "1mwh4wz3ccmh0fi0k0y19bk33vn8p6ylmkklidpw5vg7k3v9d7s2"; - libraryHaskellDepends = [ base ]; - testHaskellDepends = [ base doctest QuickCheck ]; + version = "0.1.1.0"; + sha256 = "1kjkx8w1rq1fkzl0ffvp71xjb2q5pmlgnm19g0avim7isrjy87kh"; + libraryHaskellDepends = [ base binary ]; + testHaskellDepends = [ base binary doctest QuickCheck ]; description = "GHCi as a Hex Calculator interactive"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -85874,6 +92058,7 @@ self: { description = "parse output of ghci \":history\" command"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghci-lib" = callPackage @@ -85886,6 +92071,7 @@ self: { description = "A library for interactively evaluating Haskell code"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghci-ng" = callPackage @@ -85908,6 +92094,7 @@ self: { description = "Next generation GHCi"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghci-pretty" = callPackage @@ -85921,6 +92108,22 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "ghci-websockets" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, foreign-store + , text, wai, wai-app-static, warp, websockets + }: + mkDerivation { + pname = "ghci-websockets"; + version = "0.0.2"; + sha256 = "0x3hwgsihsr780hxsmjbxhxlw98rv1aws30myh117l7gjmj5lvzg"; + libraryHaskellDepends = [ + aeson base bytestring containers foreign-store text wai + wai-app-static warp websockets + ]; + description = "A websocket server that survives GHCi reloads"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "ghcid" = callPackage ({ mkDerivation, ansi-terminal, base, cmdargs, containers , directory, extra, filepath, fsnotify, process, tasty, tasty-hunit @@ -85928,8 +92131,8 @@ self: { }: mkDerivation { pname = "ghcid"; - version = "0.7.1"; - sha256 = "06n37dv51i2905v8nwwv1ilm0zlx6zblrkfic1mp491ws2sijdx7"; + version = "0.7.5"; + sha256 = "0ics4ibkr9p8pd81hfr7wk1wi10rjbsmwqcln8sda61p9v46pdh4"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -86004,6 +92207,7 @@ self: { description = "Allow GHCJS projects to compile under GHC and develop using intero"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghcjs-codemirror" = callPackage @@ -86019,18 +92223,18 @@ self: { }) {}; "ghcjs-dom" = callPackage - ({ mkDerivation, base, ghcjs-dom-jsaddle, text, transformers }: + ({ mkDerivation, base, containers, ghcjs-dom-jsaddle, text + , transformers + }: mkDerivation { pname = "ghcjs-dom"; - version = "0.9.2.0"; - sha256 = "0yhvnxrh68rc33h3m6zg6vzc4byr1yg09zfxn7g39skzn1mrj0aa"; + version = "0.9.4.0"; + sha256 = "0vw3b45shbj1xvx729rrzjanb2wy49l182j11kv8hid1jcb9mwnl"; libraryHaskellDepends = [ - base ghcjs-dom-jsaddle text transformers + base containers ghcjs-dom-jsaddle text transformers ]; - doHaddock = false; description = "DOM library that supports both GHCJS and GHC"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ghcjs-dom-hello" = callPackage @@ -86059,24 +92263,24 @@ self: { ({ mkDerivation, jsaddle-dom }: mkDerivation { pname = "ghcjs-dom-jsaddle"; - version = "0.9.2.0"; - sha256 = "05ings3n2zlgnwg9a17s21yzh4pnag1cz62yyddaxbqpxn4xkj6l"; + version = "0.9.4.0"; + sha256 = "059qhv1y0q5cgk72fl9spc2l2mxwyw8wzkbmhyliwr6869az48f7"; libraryHaskellDepends = [ jsaddle-dom ]; doHaddock = false; description = "DOM library that supports both GHCJS and GHC using jsaddle"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ghcjs-dom-jsffi" = callPackage ({ mkDerivation }: mkDerivation { pname = "ghcjs-dom-jsffi"; - version = "0.9.2.0"; - sha256 = "1xj94izrypxnb91lgsq0lfzqqs11sxbs24nkw8sn2wkmmh5pd8vd"; + version = "0.9.4.0"; + sha256 = "02m0qszdl3kxyhjrzj1ph9gwbr9jkzak2v1b47v6ywsm7hmjgn7w"; description = "DOM library using JSFFI and GHCJS"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghcjs-dom-webkit" = callPackage @@ -86110,6 +92314,7 @@ self: { description = "GHCJS bindings for the JavaScript Fetch API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghcjs-hplay" = callPackage @@ -86127,6 +92332,7 @@ self: { description = "Client-side web EDSL for transient nodes running in the web browser"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghcjs-perch" = callPackage @@ -86150,6 +92356,7 @@ self: { description = "Bidirectional bidings to javascript's promise"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghcjs-vdom" = callPackage @@ -86199,6 +92406,7 @@ self: { description = "XmlHttpRequest (\"AJAX\") bindings for GHCJS"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghclive" = callPackage @@ -86226,6 +92434,27 @@ self: { description = "Interactive Haskell interpreter in a browser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "ghcprofview" = callPackage + ({ mkDerivation, aeson, base, containers, ghc-prof, gi-gtk + , haskell-gi-base, regex-tdfa, regex-tdfa-text, scientific, text + }: + mkDerivation { + pname = "ghcprofview"; + version = "0.1.0.0"; + sha256 = "103186dik439sdzz1w6dr98s1sfghjxdkp51mh18wrcwdbdb9r3a"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + aeson base containers ghc-prof gi-gtk haskell-gi-base regex-tdfa + regex-tdfa-text scientific text + ]; + description = "GHC .prof files viewer"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ghczdecode" = callPackage @@ -86275,6 +92504,7 @@ self: { description = "Trivial routines for inspecting git repositories"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gi-atk" = callPackage @@ -86284,15 +92514,14 @@ self: { }: mkDerivation { pname = "gi-atk"; - version = "2.0.15"; - sha256 = "1vmzby12nvbrka6f44pr1pjwccl0p6s984pxvibajzp72x2knxc9"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "2.0.21"; + sha256 = "0npcz82l5ssbrgzr99a94nlirmfdy9z5p2k0nrk7357bawpiv7sk"; + setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ atk ]; - doHaddock = false; description = "Atk bindings"; license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs) atk;}; @@ -86304,15 +92533,14 @@ self: { }: mkDerivation { pname = "gi-cairo"; - version = "1.0.17"; - sha256 = "1ax7aly9ahvb18m3zjmy0dk47qfdx5yl15q52c3wp4wa0c5aggax"; + version = "1.0.23"; + sha256 = "1y479ll6pzf5qjf18ziqgvfi6zq4jyajkq9zlggmh9pjhxpwj8nh"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ cairo ]; - doHaddock = false; preCompileBuildDriver = '' PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig" setupCompileFlags+=" $(pkg-config --libs cairo-gobject)" @@ -86334,6 +92562,8 @@ self: { ]; description = "Bridge between packages gi-* and cairo-core"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gi-cairo-connector" = callPackage @@ -86359,6 +92589,8 @@ self: { pname = "gi-cairo-render"; version = "0.0.1"; sha256 = "0arbynn7ilrc3shddff1rxcvlg6k3m617lrq4fdsqfas3amxarm4"; + revision = "1"; + editedCabalFile = "10lpmb8js19zfgnph31yz4nzyv7kbqvq1lx07w12q702khqcqb7z"; libraryHaskellDepends = [ array base bytestring haskell-gi-base mtl text utf8-string ]; @@ -86375,15 +92607,14 @@ self: { }: mkDerivation { pname = "gi-dbusmenu"; - version = "0.4.1"; - sha256 = "0fi07jf6bsrxsk101ffpyv17lirjgyx4afz26lhbpkqadnpc3kp4"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "0.4.7"; + sha256 = "0av2628vylmkk566f2zbzbwygni4rawrk14yamc6m9s9rsw2scf9"; + setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ libdbusmenu ]; - doHaddock = false; description = "Dbusmenu bindings"; license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs) libdbusmenu;}; @@ -86396,19 +92627,21 @@ self: { }: mkDerivation { pname = "gi-dbusmenugtk3"; - version = "0.4.2"; - sha256 = "0wflxyicav2p1z2sqdrjpvkf4blsilg7psvbr0cfl0r7vmy6nx4w"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "0.4.8"; + sha256 = "0ncn2i0bvsqsi785bjhdxr77hyxsp2dm26ihn7nxbvdkvn0mafhz"; + setupHaskellDepends = [ + base Cabal gi-atk gi-dbusmenu gi-gdk gi-gdkpixbuf gi-glib + gi-gobject gi-gtk haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-atk gi-dbusmenu gi-gdk gi-gdkpixbuf gi-glib gi-gobject gi-gtk haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ gtk3 libdbusmenu-gtk3 ]; - doHaddock = false; description = "DbusmenuGtk bindings"; license = stdenv.lib.licenses.lgpl21; - }) {gtk3 = pkgs.gnome3.gtk; inherit (pkgs) libdbusmenu-gtk3;}; + }) {inherit (pkgs) gtk3; inherit (pkgs) libdbusmenu-gtk3;}; "gi-gdk" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo @@ -86418,9 +92651,12 @@ self: { }: mkDerivation { pname = "gi-gdk"; - version = "3.0.16"; - sha256 = "0jp3d3zfm20b4ax1g5k1wzh8fxxzsw4ssw7zqx0d13167m4smc3y"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "3.0.22"; + sha256 = "0a6qkikk31n5qc85zp8l8kcaf0804c52gp02hban3c8a9rbq1lgr"; + setupHaskellDepends = [ + base Cabal gi-cairo gi-gdkpixbuf gi-gio gi-glib gi-gobject gi-pango + haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-cairo gi-gdkpixbuf gi-gio gi-glib gi-gobject gi-pango haskell-gi haskell-gi-base @@ -86429,27 +92665,53 @@ self: { libraryPkgconfigDepends = [ gtk3 ]; description = "Gdk bindings"; license = stdenv.lib.licenses.lgpl21; - }) {gtk3 = pkgs.gnome3.gtk;}; + }) {inherit (pkgs) gtk3;}; + + "gi-gdk_4_0_1" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo + , gi-gdkpixbuf, gi-gio, gi-glib, gi-gobject, gi-pango, gtk4 + , haskell-gi, haskell-gi-base, haskell-gi-overloading, text + , transformers + }: + mkDerivation { + pname = "gi-gdk"; + version = "4.0.1"; + sha256 = "1b2azv7c3c9ni9f258ag2cxy97sh8ax78v0hym0gpvrky741vqwq"; + setupHaskellDepends = [ + base Cabal gi-cairo gi-gdkpixbuf gi-gio gi-glib gi-gobject gi-pango + haskell-gi + ]; + libraryHaskellDepends = [ + base bytestring containers gi-cairo gi-gdkpixbuf gi-gio gi-glib + gi-gobject gi-pango haskell-gi haskell-gi-base + haskell-gi-overloading text transformers + ]; + libraryPkgconfigDepends = [ gtk4 ]; + description = "Gdk bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + }) {gtk4 = null;}; "gi-gdkpixbuf" = callPackage - ({ mkDerivation, base, bytestring, Cabal, containers, gdk_pixbuf + ({ mkDerivation, base, bytestring, Cabal, containers, gdk-pixbuf , gi-gio, gi-glib, gi-gobject, haskell-gi, haskell-gi-base , haskell-gi-overloading, text, transformers }: mkDerivation { pname = "gi-gdkpixbuf"; - version = "2.0.18"; - sha256 = "1b9ypv07siyr9gry471skc3qlaiwqf055ywz8nib5x39vs6rfcpj"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "2.0.23"; + sha256 = "0jphrxqdbls3l73is1k93fizghbxgkf14q57l4w3m559vgk34anp"; + setupHaskellDepends = [ + base Cabal gi-gio gi-glib gi-gobject haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-gio gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; - libraryPkgconfigDepends = [ gdk_pixbuf ]; - doHaddock = false; + libraryPkgconfigDepends = [ gdk-pixbuf ]; description = "GdkPixbuf bindings"; license = stdenv.lib.licenses.lgpl21; - }) {inherit (pkgs) gdk_pixbuf;}; + }) {inherit (pkgs) gdk-pixbuf;}; "gi-gdkx11" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo @@ -86458,19 +92720,20 @@ self: { }: mkDerivation { pname = "gi-gdkx11"; - version = "3.0.4"; - sha256 = "0pm1jnmal4vy53icndzzs76vcvxzn3lm31dfwg6nb6fnch5p4036"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "3.0.9"; + sha256 = "0z3vwwpv8a85nvg2bc4cdaa8w4jmdl5mm5bxfpwmssyxcnm1xdnc"; + setupHaskellDepends = [ + base Cabal gi-cairo gi-gdk gi-gio gi-gobject gi-xlib haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-cairo gi-gdk gi-gio gi-gobject gi-xlib haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ gtk3 ]; - doHaddock = false; description = "GdkX11 bindings"; license = stdenv.lib.licenses.lgpl21; - }) {gtk3 = pkgs.gnome3.gtk;}; + }) {inherit (pkgs) gtk3;}; "gi-ggit" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio @@ -86479,18 +92742,19 @@ self: { }: mkDerivation { pname = "gi-ggit"; - version = "1.0.2"; - sha256 = "17449xz5v5n1i6c7vgrszq395v78q2hp2zjlnc85zxj5qlnkwz64"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "1.0.8"; + sha256 = "151qgcwp2spa957nr3jdb9ac35f1r1gyi2d5vzgxy8xzc3993wmq"; + setupHaskellDepends = [ + base Cabal gi-gio gi-glib gi-gobject haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-gio gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ libgit2-glib ]; - doHaddock = false; description = "libgit2-glib bindings"; license = stdenv.lib.licenses.lgpl21; - }) {inherit (pkgs.gnome3) libgit2-glib;}; + }) {inherit (pkgs) libgit2-glib;}; "gi-gio" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib @@ -86499,9 +92763,9 @@ self: { }: mkDerivation { pname = "gi-gio"; - version = "2.0.18"; - sha256 = "0h7liqxf63wmhjzgbjshv7pa4fx743jpvkphn5yyjkc0bnfcvsqk"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "2.0.25"; + sha256 = "0w42ls035a69c2wyf050zvqxwyql3ln3ifwn9k4m187icj345qnz"; + setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers @@ -86518,18 +92782,17 @@ self: { }: mkDerivation { pname = "gi-girepository"; - version = "1.0.16"; - sha256 = "1kb7vyqks6br8z2bjp9wzj0dvh76s35dbx93iijgl138270ikww6"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "1.0.22"; + sha256 = "1m7gnam8a46zbbnxgcszv1wn8zgzdrpki6k3fgy5xjnb4gp5pvpj"; + setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ gobject-introspection ]; - doHaddock = false; description = "GIRepository (gobject-introspection) bindings"; license = stdenv.lib.licenses.lgpl21; - }) {inherit (pkgs.gnome3) gobject-introspection;}; + }) {inherit (pkgs) gobject-introspection;}; "gi-glib" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, glib @@ -86538,8 +92801,8 @@ self: { }: mkDerivation { pname = "gi-glib"; - version = "2.0.17"; - sha256 = "0rxbkrwlwnjf46z0qpw0vjw1nv9kl91xp7k2098rqs36kl5bwylx"; + version = "2.0.23"; + sha256 = "1wsix558lj58i8mdwikb2q78941dxl3pchhd75xkk5hq8rknp37x"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers haskell-gi haskell-gi-base @@ -86557,19 +92820,65 @@ self: { }: mkDerivation { pname = "gi-gobject"; - version = "2.0.16"; - sha256 = "1bgn4ywx94py0v213iv7mbjjvvy3y7gvpgw4wpn38s2np7al8y65"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "2.0.22"; + sha256 = "0c1ia60793dly5y5xd2s1qs5a37f0r3jypzc21r0yswgqdlsi7g6"; + setupHaskellDepends = [ base Cabal gi-glib haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-glib haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ glib ]; - doHaddock = false; description = "GObject bindings"; license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs) glib;}; + "gi-graphene" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib + , gi-gobject, graphene-gobject, haskell-gi, haskell-gi-base + , haskell-gi-overloading, text, transformers + }: + mkDerivation { + pname = "gi-graphene"; + version = "1.0.1"; + sha256 = "04aiq9zqjxaky48j57nakx0alhc9j1g6ydki7fww7r4jajmf6pjv"; + setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ]; + libraryHaskellDepends = [ + base bytestring containers gi-glib gi-gobject haskell-gi + haskell-gi-base haskell-gi-overloading text transformers + ]; + libraryPkgconfigDepends = [ graphene-gobject ]; + description = "Graphene bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {graphene-gobject = null;}; + + "gi-gsk" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo + , gi-gdk, gi-glib, gi-gobject, gi-graphene, gi-pango, gtk4 + , haskell-gi, haskell-gi-base, haskell-gi-overloading, text + , transformers + }: + mkDerivation { + pname = "gi-gsk"; + version = "4.0.1"; + sha256 = "0645dyifg6d3x03zrzf2andfah32s878rcyqzw891prn2dvga3nx"; + setupHaskellDepends = [ + base Cabal gi-cairo gi-gdk gi-glib gi-gobject gi-graphene gi-pango + haskell-gi + ]; + libraryHaskellDepends = [ + base bytestring containers gi-cairo gi-gdk gi-glib gi-gobject + gi-graphene gi-pango haskell-gi haskell-gi-base + haskell-gi-overloading text transformers + ]; + libraryPkgconfigDepends = [ gtk4 ]; + description = "Gsk bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {gtk4 = null;}; + "gi-gst" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib , gi-gobject, gstreamer, haskell-gi, haskell-gi-base @@ -86577,15 +92886,14 @@ self: { }: mkDerivation { pname = "gi-gst"; - version = "1.0.16"; - sha256 = "0yygachni7ybb14sj8fqlb831154i1v4b7wn2z1qva6yx1h9gr3l"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "1.0.22"; + sha256 = "0qicgvy9wm1xs5y6fda8sxdilwfg2y6albdqy3jg2n5qn7c9p0f6"; + setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ gstreamer ]; - doHaddock = false; description = "GStreamer bindings"; license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs.gst_all_1) gstreamer;}; @@ -86597,15 +92905,16 @@ self: { }: mkDerivation { pname = "gi-gstaudio"; - version = "1.0.15"; - sha256 = "0yw6z11d0wgfa19446s34hr260mfasbsd1h7mzfyd690nzicyh8p"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "1.0.21"; + sha256 = "0zrcplkd0hfdfvwq7gbg8wyvsk2an8k5yj342adq1ar0zgfh064n"; + setupHaskellDepends = [ + base Cabal gi-glib gi-gobject gi-gst gi-gstbase haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ gst-plugins-base ]; - doHaddock = false; description = "GStreamerAudio bindings"; license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs.gst_all_1) gst-plugins-base;}; @@ -86617,15 +92926,16 @@ self: { }: mkDerivation { pname = "gi-gstbase"; - version = "1.0.16"; - sha256 = "1pqkiqlhvwjkw9b9i36md7nhi8205940d4jbcvaqywa82hv7k2aa"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "1.0.22"; + sha256 = "1y7hf5kcm4kj185glb298zr6x39m61hvqrdwskk9043nrd8ifcxx"; + setupHaskellDepends = [ + base Cabal gi-glib gi-gobject gi-gst haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject gi-gst haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ gst-plugins-base ]; - doHaddock = false; description = "GStreamerBase bindings"; license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs.gst_all_1) gst-plugins-base;}; @@ -86638,19 +92948,22 @@ self: { }: mkDerivation { pname = "gi-gstpbutils"; - version = "1.0.15"; - sha256 = "161wh4rn4f6lsnk8x12fwzn016fv4pymfb3vg6zlfijyj3avhdh9"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "1.0.21"; + sha256 = "15kg01g8cgaw98khf6nrr9sjbfss3a3d43g9zgbbv5h5qnzvjazb"; + setupHaskellDepends = [ + base Cabal gi-glib gi-gobject gi-gst gi-gstaudio gi-gsttag + gi-gstvideo haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject gi-gst gi-gstaudio gi-gsttag gi-gstvideo haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ gstreamer-pbutils ]; - doHaddock = false; description = "GStreamer Plugins Base Utils bindings"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {gstreamer-pbutils = null;}; "gi-gsttag" = callPackage @@ -86660,18 +92973,20 @@ self: { }: mkDerivation { pname = "gi-gsttag"; - version = "1.0.15"; - sha256 = "1i5wqrhipyagsv94yfjfg6wmdbgnjg03mjxbfq5mx09g61iznl2r"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "1.0.21"; + sha256 = "061xy3vx41pgyyg6mcbc7saj50n5zwfc72l8dw54kgv09vykp7ji"; + setupHaskellDepends = [ + base Cabal gi-glib gi-gobject gi-gst gi-gstbase haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ gstreamer-tag ]; - doHaddock = false; description = "GStreamer Tag bindings"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {gstreamer-tag = null;}; "gi-gstvideo" = callPackage @@ -86681,15 +92996,16 @@ self: { }: mkDerivation { pname = "gi-gstvideo"; - version = "1.0.16"; - sha256 = "0g6z15di4lk3l6hxpl6yqffw23kya3r2khxs4ah6vmkdn42wcalw"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "1.0.22"; + sha256 = "0fr9pfcfsjajl5cd6p05a4kp83acmllzzdm0kc2nxnr0kmjifi5v"; + setupHaskellDepends = [ + base Cabal gi-glib gi-gobject gi-gst gi-gstbase haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ gst-plugins-base ]; - doHaddock = false; description = "GStreamerVideo bindings"; license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs.gst_all_1) gst-plugins-base;}; @@ -86702,9 +93018,12 @@ self: { }: mkDerivation { pname = "gi-gtk"; - version = "3.0.27"; - sha256 = "1i8xrq56lp8ha87zykr3hgp13yp8amsxal320mknr2s29x6iw1kr"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "3.0.32"; + sha256 = "0div9lqmirys1f3dy6bskvai72hb82g6rvcg0kwg1im974xp5m8l"; + setupHaskellDepends = [ + base Cabal gi-atk gi-cairo gi-gdk gi-gdkpixbuf gi-gio gi-glib + gi-gobject gi-pango haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf gi-gio gi-glib gi-gobject gi-pango haskell-gi haskell-gi-base @@ -86713,26 +93032,56 @@ self: { libraryPkgconfigDepends = [ gtk3 ]; description = "Gtk bindings"; license = stdenv.lib.licenses.lgpl21; - }) {gtk3 = pkgs.gnome3.gtk;}; + }) {inherit (pkgs) gtk3;}; + + "gi-gtk_4_0_1" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk + , gi-cairo, gi-gdk, gi-gdkpixbuf, gi-gio, gi-glib, gi-gobject + , gi-graphene, gi-gsk, gi-pango, gtk4, haskell-gi, haskell-gi-base + , haskell-gi-overloading, text, transformers + }: + mkDerivation { + pname = "gi-gtk"; + version = "4.0.1"; + sha256 = "1brn4pyjvnc00bwqwf3d77dhbiknak5yjqs9xyk9mknw2pb98ppv"; + setupHaskellDepends = [ + base Cabal gi-atk gi-cairo gi-gdk gi-gdkpixbuf gi-gio gi-glib + gi-gobject gi-graphene gi-gsk gi-pango haskell-gi + ]; + libraryHaskellDepends = [ + base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf + gi-gio gi-glib gi-gobject gi-graphene gi-gsk gi-pango haskell-gi + haskell-gi-base haskell-gi-overloading text transformers + ]; + libraryPkgconfigDepends = [ gtk4 ]; + description = "Gtk bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + }) {gtk4 = null;}; "gi-gtk-declarative" = callPackage - ({ mkDerivation, base, criterion, gi-gdk, gi-glib, gi-gobject - , gi-gtk, haskell-gi, haskell-gi-base, haskell-gi-overloading, mtl - , random, text, unordered-containers, vector + ({ mkDerivation, async, base, data-default-class, gi-gdk, gi-glib + , gi-gobject, gi-gtk, haskell-gi, haskell-gi-base + , haskell-gi-overloading, hedgehog, mtl, safe-exceptions, stm, text + , unordered-containers, vector }: mkDerivation { pname = "gi-gtk-declarative"; - version = "0.4.2"; - sha256 = "0ps400bw7vsb0g67b5k0hzka3li389mmlwvlivkhi7l5a1cz751j"; + version = "0.5.0"; + sha256 = "0nhacfja1wrz0sa5pbz069sbpyzp8jnlrp078gg9gydwhlmh2k2h"; libraryHaskellDepends = [ - base gi-glib gi-gobject gi-gtk haskell-gi haskell-gi-base - haskell-gi-overloading mtl text unordered-containers vector + base data-default-class gi-glib gi-gobject gi-gtk haskell-gi + haskell-gi-base haskell-gi-overloading mtl text + unordered-containers vector ]; - benchmarkHaskellDepends = [ - base criterion gi-gdk gi-glib gi-gtk random text vector + testHaskellDepends = [ + async base gi-gdk gi-glib gi-gobject gi-gtk hedgehog + safe-exceptions stm text unordered-containers vector ]; description = "Declarative GTK+ programming in Haskell"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gi-gtk-declarative-app-simple" = callPackage @@ -86742,8 +93091,8 @@ self: { }: mkDerivation { pname = "gi-gtk-declarative-app-simple"; - version = "0.4.1"; - sha256 = "0m6x1pwfzrd2d1jkj777i10f736fzbsj9cw5wdfglakf5j2flb8p"; + version = "0.5.0"; + sha256 = "0vl9gqgdbqr4hipr7ka01hyvyz9n8by0ry890w4n2c5w9rghgvva"; libraryHaskellDepends = [ async base gi-gdk gi-glib gi-gobject gi-gtk gi-gtk-declarative haskell-gi haskell-gi-base haskell-gi-overloading pipes @@ -86751,6 +93100,8 @@ self: { ]; description = "Declarative GTK+ programming in Haskell in the style of Pux"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gi-gtk-hs" = callPackage @@ -86760,8 +93111,8 @@ self: { }: mkDerivation { pname = "gi-gtk-hs"; - version = "0.3.6.3"; - sha256 = "0xnrssnfaz57akrkgpf1cm3d4lg3cmlh0b8yp6w9pdsbp0lld2ay"; + version = "0.3.8.0"; + sha256 = "0cpykq24fjpidxb1hh6qi74xv5lh6nrz8q1l4iqy8jx26qlzri5l"; libraryHaskellDepends = [ base base-compat containers gi-gdk gi-gdkpixbuf gi-glib gi-gobject gi-gtk haskell-gi-base mtl text transformers @@ -86777,18 +93128,20 @@ self: { }: mkDerivation { pname = "gi-gtkosxapplication"; - version = "2.0.15"; - sha256 = "1znsrbzin2fxdb7gkip0qhr335f9pinaszn2r320j05sz6k8qdfw"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "2.0.17"; + sha256 = "1h6j61wg9krvd3kqbkafd90vk534hhz9mrlvj2h182f5kp5rybl8"; + setupHaskellDepends = [ + base Cabal gi-gdkpixbuf gi-gobject gi-gtk haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-gdkpixbuf gi-gobject gi-gtk haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ gtk-mac-integration-gtk3 ]; - doHaddock = false; description = "GtkosxApplication bindings"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {gtk-mac-integration-gtk3 = null;}; "gi-gtksource" = callPackage @@ -86799,19 +93152,47 @@ self: { }: mkDerivation { pname = "gi-gtksource"; - version = "3.0.16"; - sha256 = "0fm5bnyq4f9icyhxkyxf42mmanmc2klbdgin75dcdq5r92gipfcp"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "3.0.22"; + sha256 = "08b3ffjdgyr5xapx37kkwx3z8fsd42ydvdwk3nvh2ysfq9q86cjh"; + setupHaskellDepends = [ + base Cabal gi-atk gi-cairo gi-gdk gi-gdkpixbuf gi-gio gi-glib + gi-gobject gi-gtk gi-pango haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf gi-gio gi-glib gi-gobject gi-gtk gi-pango haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ gtksourceview3 ]; - doHaddock = false; description = "GtkSource bindings"; license = stdenv.lib.licenses.lgpl21; - }) {gtksourceview3 = pkgs.gnome3.gtksourceview;}; + }) {inherit (pkgs) gtksourceview3;}; + + "gi-handy" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk + , gi-gdk, gi-gio, gi-glib, gi-gobject, gi-gtk, haskell-gi + , haskell-gi-base, haskell-gi-overloading, libhandy, text + , transformers + }: + mkDerivation { + pname = "gi-handy"; + version = "0.0.6"; + sha256 = "134dspf2vhwl76g25mjjj3gmdis748qg3rschmypd9w4zr2l651w"; + setupHaskellDepends = [ + base Cabal gi-atk gi-gdk gi-gio gi-glib gi-gobject gi-gtk + haskell-gi + ]; + libraryHaskellDepends = [ + base bytestring containers gi-atk gi-gdk gi-gio gi-glib gi-gobject + gi-gtk haskell-gi haskell-gi-base haskell-gi-overloading text + transformers + ]; + libraryPkgconfigDepends = [ libhandy ]; + description = "libhandy bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {inherit (pkgs) libhandy;}; "gi-javascriptcore" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib @@ -86820,19 +93201,18 @@ self: { }: mkDerivation { pname = "gi-javascriptcore"; - version = "4.0.16"; - sha256 = "0kihq9sp42k2k9j8qrwgja62i5pzwhc1z1yy6h19n56aikddfc2z"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "4.0.21"; + sha256 = "0zl2lanysqir9qhndai7v4yp6sq671115mi5k9q58rwkmvkm6w04"; + setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ webkitgtk ]; - doHaddock = false; description = "JavaScriptCore bindings"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs.gnome3) webkitgtk;}; + }) {inherit (pkgs) webkitgtk;}; "gi-notify" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-gdkpixbuf @@ -86841,18 +93221,20 @@ self: { }: mkDerivation { pname = "gi-notify"; - version = "0.7.15"; - sha256 = "1lk27dw7kyiikknmj858g4hv9p48161ixs3qq8pb08jkjlzcwfw8"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "0.7.21"; + sha256 = "13ifi60jlfm9jypf6gam224s5rgq2kd1cj98wfl1dg9crahghbls"; + setupHaskellDepends = [ + base Cabal gi-gdkpixbuf gi-glib gi-gobject haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-gdkpixbuf gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ libnotify ]; - doHaddock = false; description = "Libnotify bindings"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libnotify;}; "gi-ostree" = callPackage @@ -86862,18 +93244,19 @@ self: { }: mkDerivation { pname = "gi-ostree"; - version = "1.0.6"; - sha256 = "04pq0vz2dcyyq03l2gr0mms1l0dvh4ci17kcla6h1nw1lq5f1l6m"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "1.0.12"; + sha256 = "0j7nd4ylz4whnsdfbn6ra7kvvnx6l6bqv2y57rgk1nnac3cc6201"; + setupHaskellDepends = [ + base Cabal gi-gio gi-glib gi-gobject haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-gio gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ ostree ]; - doHaddock = false; description = "OSTree bindings"; license = stdenv.lib.licenses.lgpl21; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) ostree;}; "gi-pango" = callPackage @@ -86883,9 +93266,9 @@ self: { }: mkDerivation { pname = "gi-pango"; - version = "1.0.16"; - sha256 = "1x3q1q4ww1v6v42p1wcaghxsja8cigqaqvklkfg4gxyp2f2cdg57"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "1.0.22"; + sha256 = "09dz13wai7cyp24vhc6wxyyg2g89dsqq40r80j56xgpyvfki8yf2"; + setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers @@ -86897,7 +93280,7 @@ self: { ''; description = "Pango bindings"; license = stdenv.lib.licenses.lgpl21; - }) {inherit (pkgs) cairo; inherit (pkgs.gnome2) pango;}; + }) {inherit (pkgs) cairo; inherit (pkgs) pango;}; "gi-pangocairo" = callPackage ({ mkDerivation, base, bytestring, Cabal, cairo, containers @@ -86907,22 +93290,23 @@ self: { }: mkDerivation { pname = "gi-pangocairo"; - version = "1.0.17"; - sha256 = "1ysf9an7cmacyz7hzw0p7zshrn466v51d0dpqbkn2j1p2akr2v1a"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "1.0.23"; + sha256 = "0la2ga1hprwm4fnia48y0q1cg8il0aq42nwvaj5gndx6id42a1i6"; + setupHaskellDepends = [ + base Cabal gi-cairo gi-glib gi-gobject gi-pango haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-cairo gi-glib gi-gobject gi-pango haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ cairo pango ]; - doHaddock = false; preCompileBuildDriver = '' PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig" setupCompileFlags+=" $(pkg-config --libs cairo-gobject)" ''; description = "PangoCairo bindings"; license = stdenv.lib.licenses.lgpl21; - }) {inherit (pkgs) cairo; inherit (pkgs.gnome2) pango;}; + }) {inherit (pkgs) cairo; inherit (pkgs) pango;}; "gi-poppler" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo @@ -86931,18 +93315,20 @@ self: { }: mkDerivation { pname = "gi-poppler"; - version = "0.18.15"; - sha256 = "1qbsmgx0nfn3pm6ffkhaq1wy26jdwnq5zjsxs32cf8ipdzlhg3cv"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "0.18.21"; + sha256 = "1mfi3yn7yrwg2cdpqp0av4cabmmqpmm2hywsrm5d78cxix4z1s7f"; + setupHaskellDepends = [ + base Cabal gi-cairo gi-gio gi-glib gi-gobject haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-cairo gi-gio gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ poppler ]; - doHaddock = false; description = "Poppler bindings"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) poppler;}; "gi-secret" = callPackage @@ -86952,18 +93338,19 @@ self: { }: mkDerivation { pname = "gi-secret"; - version = "0.0.5"; - sha256 = "0jwdv8fmc7wbwbh3nc1may4ij078xz9xc55rkr62x1szxi6ihdq5"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "0.0.11"; + sha256 = "1s3vwy0aff4m1rvkbcvfa4zwbbalaiz46ij3ymmsx319v2mwwiib"; + setupHaskellDepends = [ + base Cabal gi-gio gi-glib gi-gobject haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-gio gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ libsecret ]; - doHaddock = false; description = "Libsecret bindings"; license = stdenv.lib.licenses.lgpl21; - }) {inherit (pkgs.gnome3) libsecret;}; + }) {inherit (pkgs) libsecret;}; "gi-soup" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio @@ -86972,18 +93359,19 @@ self: { }: mkDerivation { pname = "gi-soup"; - version = "2.4.16"; - sha256 = "01qsq8hy974j8i35spac1iyc46jrl4p0nnlx666nlxqa08a1f438"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "2.4.22"; + sha256 = "0vgvcq9nysw9xfyjddi1qzngw7pfrfx4g1f3zngf56jcvxf8q6rw"; + setupHaskellDepends = [ + base Cabal gi-gio gi-glib gi-gobject haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-gio gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ libsoup ]; - doHaddock = false; description = "Libsoup bindings"; license = stdenv.lib.licenses.lgpl21; - }) {inherit (pkgs.gnome2) libsoup;}; + }) {inherit (pkgs) libsoup;}; "gi-vte" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk @@ -86993,9 +93381,12 @@ self: { }: mkDerivation { pname = "gi-vte"; - version = "2.91.19"; - sha256 = "1hnhidjr7jh7i826lj6kdn264i592sfl5kwvymnpiycmcb37dd4y"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "2.91.25"; + sha256 = "0h6kqbbdr7zgpq6sfqs2pfx99c7wj1aabpzna9fryn6zhaha8j3c"; + setupHaskellDepends = [ + base Cabal gi-atk gi-gdk gi-gio gi-glib gi-gobject gi-gtk gi-pango + haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-atk gi-gdk gi-gio gi-glib gi-gobject gi-gtk gi-pango haskell-gi haskell-gi-base haskell-gi-overloading @@ -87004,7 +93395,7 @@ self: { libraryPkgconfigDepends = [ vte_291 ]; description = "Vte bindings"; license = stdenv.lib.licenses.lgpl21; - }) {vte_291 = pkgs.gnome3.vte;}; + }) {vte_291 = pkgs.vte;}; "gi-webkit" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk @@ -87037,43 +93428,47 @@ self: { }: mkDerivation { pname = "gi-webkit2"; - version = "4.0.19"; - sha256 = "1hnxp1vk2qhi7shr4qd7khi2nq0vpn58f1g6j7dkl0h23266fwz2"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "4.0.25"; + sha256 = "1xg4xy24nnz0ngv46m58jkmaka72nv4954g03f6ixpvwappim0vm"; + setupHaskellDepends = [ + base Cabal gi-atk gi-cairo gi-gdk gi-gio gi-glib gi-gobject gi-gtk + gi-javascriptcore gi-soup haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-atk gi-cairo gi-gdk gi-gio gi-glib gi-gobject gi-gtk gi-javascriptcore gi-soup haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ webkitgtk ]; - doHaddock = false; description = "WebKit2 bindings"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs.gnome3) webkitgtk;}; + }) {inherit (pkgs) webkitgtk;}; "gi-webkit2webextension" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio , gi-gobject, gi-gtk, gi-javascriptcore, gi-soup, haskell-gi , haskell-gi-base, haskell-gi-overloading, text, transformers - , webkitgtk-web-extension + , webkitgtk }: mkDerivation { pname = "gi-webkit2webextension"; - version = "4.0.17"; - sha256 = "0lpz5a9395bqfmxbhfjfbqi4832a68ybbr1y0c475r8ya6pnx4cq"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "4.0.24"; + sha256 = "0lnf173c6myrswk0kdnwkhs925imvcpyvpmy50krqljnv6f2ksxn"; + setupHaskellDepends = [ + base Cabal gi-gio gi-gobject gi-gtk gi-javascriptcore gi-soup + haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-gio gi-gobject gi-gtk gi-javascriptcore gi-soup haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; - libraryPkgconfigDepends = [ webkitgtk-web-extension ]; - doHaddock = false; + libraryPkgconfigDepends = [ webkitgtk ]; description = "WebKit2-WebExtension bindings"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; - }) {webkitgtk-web-extension = null;}; + }) {inherit (pkgs) webkitgtk;}; "gi-wnck" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk @@ -87083,20 +93478,22 @@ self: { }: mkDerivation { pname = "gi-wnck"; - version = "3.0.1"; - sha256 = "06l1gqnznpa7rgimk1l49i3yfzdaawb26vqz3baswrksmi9mhrhh"; - setupHaskellDepends = [ base Cabal haskell-gi ]; + version = "3.0.7"; + sha256 = "02kgbp3h5ny7y0qmddsfng0a1gqpdmadl6yy45hmk98ws02rk9bx"; + setupHaskellDepends = [ + base Cabal gi-atk gi-gdk gi-gdkpixbuf gi-gobject gi-gtk haskell-gi + ]; libraryHaskellDepends = [ base bytestring containers gi-atk gi-gdk gi-gdkpixbuf gi-gobject gi-gtk haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ libwnck ]; - doHaddock = false; description = "Wnck bindings"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs.gnome2) libwnck;}; + broken = true; + }) {inherit (pkgs) libwnck;}; "gi-xlib" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, haskell-gi @@ -87105,15 +93502,14 @@ self: { }: mkDerivation { pname = "gi-xlib"; - version = "2.0.2"; - sha256 = "0w9dwnd7a9hh1qn3swa48i8hp4gx9kznc92zjf198lrmrbkamp22"; + version = "2.0.8"; + sha256 = "0gixgql24zx04sph7kn4n5gmgmz5xbw2f15mqfw0i5igad2pvsj3"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; libraryPkgconfigDepends = [ xlibsWrapper ]; - doHaddock = false; description = "xlib bindings"; license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs) xlibsWrapper;}; @@ -87136,6 +93532,7 @@ self: { description = "Fuzzy finder for cabal executables"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gimlh" = callPackage @@ -87151,15 +93548,15 @@ self: { "ginger" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, bytestring - , data-default, filepath, http-types, mtl, parsec, process - , regex-tdfa, safe, scientific, tasty, tasty-hunit + , data-default, filepath, http-types, mtl, optparse-applicative + , parsec, process, regex-tdfa, safe, scientific, tasty, tasty-hunit , tasty-quickcheck, text, time, transformers, unordered-containers , utf8-string, vector, yaml }: mkDerivation { pname = "ginger"; - version = "0.8.4.0"; - sha256 = "0mk0jmw0qvbv73n7g8n14shnyxjkkq6wp3vnk1gx1dnmbk20vdm7"; + version = "0.9.1.0"; + sha256 = "0qlsqbkxwyc4hi8228l0mgiylnc0q9i02i46043m1390mdmp34qz"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -87169,8 +93566,8 @@ self: { unordered-containers utf8-string vector ]; executableHaskellDepends = [ - aeson base bytestring data-default process text transformers - unordered-containers yaml + aeson base bytestring data-default optparse-applicative process + text transformers unordered-containers utf8-string yaml ]; testHaskellDepends = [ aeson base bytestring data-default mtl tasty tasty-hunit @@ -87224,6 +93621,7 @@ self: { description = "Ginsu Gale Client"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) openssl;}; "gio" = callPackage @@ -87242,7 +93640,6 @@ self: { libraryPkgconfigDepends = [ system-glib ]; description = "Binding to GIO"; license = stdenv.lib.licenses.lgpl21; - hydraPlatforms = stdenv.lib.platforms.none; }) {system-glib = pkgs.glib;}; "gipeda" = callPackage @@ -87266,6 +93663,7 @@ self: { description = "Git Performance Dashboard"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "giphy-api" = callPackage @@ -87292,6 +93690,7 @@ self: { description = "Giphy HTTP API wrapper and CLI search tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gist" = callPackage @@ -87310,6 +93709,7 @@ self: { description = "A reliable command-line client for gist.github.com"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "git" = callPackage @@ -87334,7 +93734,6 @@ self: { doCheck = false; description = "Git operations in haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "git-all" = callPackage @@ -87359,30 +93758,30 @@ self: { ({ mkDerivation, aeson, async, attoparsec, aws, base, blaze-builder , bloomfilter, bup, byteable, bytestring, Cabal, case-insensitive , clientsession, concurrent-output, conduit, connection, containers - , crypto-api, cryptonite, curl, data-default, DAV, dbus, directory - , disk-free-space, dlist, edit-distance, exceptions, fdo-notify - , feed, filepath, free, git, gnupg, hinotify, hslogger, http-client - , http-client-tls, http-conduit, http-types, IfElse, lsof, magic - , memory, microlens, monad-control, monad-logger, mountpoints, mtl - , network, network-info, network-multicast, network-uri, old-locale - , openssh, optparse-applicative, path-pieces, perl, persistent - , persistent-sqlite, persistent-template, process, QuickCheck - , random, regex-tdfa, resourcet, rsync, SafeSemaphore, sandi - , securemem, shakespeare, socks, split, stm, stm-chans, tagsoup - , tasty, tasty-hunit, tasty-quickcheck, tasty-rerun - , template-haskell, text, time, torrent, transformers, unix - , unix-compat, unordered-containers, utf8-string, uuid, vector, wai - , wai-extra, warp, warp-tls, wget, which, yesod, yesod-core - , yesod-form, yesod-static + , crypto-api, cryptonite, curl, data-default, DAV, dbus, deepseq + , directory, disk-free-space, dlist, edit-distance, exceptions + , fdo-notify, feed, filepath, free, git, gnupg, hinotify, hslogger + , http-client, http-client-tls, http-conduit, http-types, IfElse + , lsof, magic, memory, microlens, monad-control, monad-logger + , mountpoints, mtl, network, network-info, network-multicast + , network-uri, old-locale, openssh, optparse-applicative + , path-pieces, perl, persistent, persistent-sqlite + , persistent-template, process, QuickCheck, random, regex-tdfa + , resourcet, rsync, SafeSemaphore, sandi, securemem, shakespeare + , socks, split, stm, stm-chans, tagsoup, tasty, tasty-hunit + , tasty-quickcheck, tasty-rerun, template-haskell, text, time + , torrent, transformers, unix, unix-compat, unordered-containers + , utf8-string, uuid, vector, wai, wai-extra, warp, warp-tls, wget + , which, yesod, yesod-core, yesod-form, yesod-static }: mkDerivation { pname = "git-annex"; - version = "7.20190129"; - sha256 = "0gsi1ymv7dmx429vhv58979hfh23zrfvrsam6saf16ckh5hd0n81"; + version = "7.20190819"; + sha256 = "1fvyxx47qx7yr8xfan398jlixbawblpz5h69kqsw1z7kh6plnycy"; configureFlags = [ "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime" - "-fpairing" "-fproduction" "-fs3" "-ftorrentparser" "-fwebapp" - "-fwebdav" + "-f-networkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser" + "-fwebapp" "-fwebdav" ]; isLibrary = false; isExecutable = true; @@ -87394,39 +93793,62 @@ self: { aeson async attoparsec aws base blaze-builder bloomfilter byteable bytestring case-insensitive clientsession concurrent-output conduit connection containers crypto-api cryptonite data-default DAV dbus - directory disk-free-space dlist edit-distance exceptions fdo-notify - feed filepath free hinotify hslogger http-client http-client-tls - http-conduit http-types IfElse magic memory microlens monad-control - monad-logger mountpoints mtl network network-info network-multicast - network-uri old-locale optparse-applicative path-pieces persistent - persistent-sqlite persistent-template process QuickCheck random - regex-tdfa resourcet SafeSemaphore sandi securemem shakespeare - socks split stm stm-chans tagsoup tasty tasty-hunit - tasty-quickcheck tasty-rerun template-haskell text time torrent - transformers unix unix-compat unordered-containers utf8-string uuid - vector wai wai-extra warp warp-tls yesod yesod-core yesod-form - yesod-static + deepseq directory disk-free-space dlist edit-distance exceptions + fdo-notify feed filepath free hinotify hslogger http-client + http-client-tls http-conduit http-types IfElse magic memory + microlens monad-control monad-logger mountpoints mtl network + network-info network-multicast network-uri old-locale + optparse-applicative path-pieces persistent persistent-sqlite + persistent-template process QuickCheck random regex-tdfa resourcet + SafeSemaphore sandi securemem shakespeare socks split stm stm-chans + tagsoup tasty tasty-hunit tasty-quickcheck tasty-rerun + template-haskell text time torrent transformers unix unix-compat + unordered-containers utf8-string uuid vector wai wai-extra warp + warp-tls yesod yesod-core yesod-form yesod-static ]; executableSystemDepends = [ bup curl git gnupg lsof openssh perl rsync wget which ]; preConfigure = "export HOME=$TEMPDIR; patchShebangs ."; - installPhase = "make PREFIX=$out BUILDER=: install"; - checkPhase = '' + postBuild = '' ln -sf dist/build/git-annex/git-annex git-annex ln -sf git-annex git-annex-shell - export PATH+=":$PWD" - git-annex test ''; + installPhase = "make PREFIX=$out BUILDER=: install install-completions"; + checkPhase = ''PATH+=":$PWD" git-annex test''; enableSharedExecutables = false; description = "manage files with git, without checking their contents into git"; - license = stdenv.lib.licenses.gpl3; + license = stdenv.lib.licenses.agpl3; maintainers = with stdenv.lib.maintainers; [ peti ]; }) {inherit (pkgs) bup; inherit (pkgs) curl; inherit (pkgs) git; inherit (pkgs) gnupg; inherit (pkgs) lsof; inherit (pkgs) openssh; inherit (pkgs) perl; inherit (pkgs) rsync; inherit (pkgs) wget; inherit (pkgs) which;}; + "git-brunch" = callPackage + ({ mkDerivation, base, brick, hspec, microlens, process, vector + , vty + }: + mkDerivation { + pname = "git-brunch"; + version = "1.0.5.0"; + sha256 = "0bnag71l6vjygn5bbfav229pk44xn491jzj13n7m8xdc7nvh7zz1"; + isLibrary = false; + isExecutable = true; + libraryHaskellDepends = [ + base brick microlens process vector vty + ]; + executableHaskellDepends = [ + base brick microlens process vector vty + ]; + testHaskellDepends = [ + base brick hspec microlens process vector vty + ]; + doHaddock = false; + description = "git checkout command-line tool"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "git-checklist" = callPackage ({ mkDerivation, base, directory, filepath, optparse-applicative , parsec, pretty, process @@ -87444,6 +93866,7 @@ self: { description = "Maintain per-branch checklists in Git"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "git-config" = callPackage @@ -87466,6 +93889,7 @@ self: { description = "A simple parser for Git configuration files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "git-date" = callPackage @@ -87487,6 +93911,7 @@ self: { description = "Bindings to the date parsing from Git"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "git-embed" = callPackage @@ -87525,6 +93950,7 @@ self: { description = "Custom git command for formatting code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "git-freq" = callPackage @@ -87568,6 +93994,7 @@ self: { description = "More intelligent push-to-GitHub utility"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "git-jump" = callPackage @@ -87582,6 +94009,23 @@ self: { description = "Move a git branch"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "git-lfs" = callPackage + ({ mkDerivation, aeson, base, bytestring, case-insensitive + , containers, http-client, http-types, network-uri, text + }: + mkDerivation { + pname = "git-lfs"; + version = "1.0.0"; + sha256 = "0ryxi43sng5nwb9brdirvvxcs2j6bmg1x9vdx9fq5r4dch62b1zy"; + libraryHaskellDepends = [ + aeson base bytestring case-insensitive containers http-client + http-types network-uri text + ]; + description = "git-lfs protocol"; + license = stdenv.lib.licenses.agpl3; }) {}; "git-mediate" = callPackage @@ -87623,7 +94067,6 @@ self: { ]; description = "Passively snapshots working tree changes efficiently"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "git-object" = callPackage @@ -87641,6 +94084,40 @@ self: { description = "Git object and its parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "git-remote-ipfs" = callPackage + ({ mkDerivation, aeson, async, attoparsec, base, bytestring + , conduit, conduit-extra, cryptonite, filepath, formatting + , generics-sop, git, http-client, ipfs-api, ipld-cid, lens + , lens-aeson, mtl, multibase, multihash-cryptonite, network-uri + , optparse-applicative, primitive, safe-exceptions, servant + , servant-client, stm, text, transformers, typed-process + , unordered-containers, vector + }: + mkDerivation { + pname = "git-remote-ipfs"; + version = "0.1.0.0"; + sha256 = "1zh7wbyd01p17c7lxx4xvj0rhnzqkpqcjdj1a3kynak2zi8wf6k2"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson async attoparsec base bytestring conduit cryptonite filepath + formatting generics-sop git http-client ipfs-api ipld-cid lens + lens-aeson mtl multibase multihash-cryptonite network-uri + optparse-applicative primitive safe-exceptions servant + servant-client stm text transformers typed-process + unordered-containers vector + ]; + executableHaskellDepends = [ + attoparsec base bytestring conduit conduit-extra mtl + optparse-applicative text + ]; + description = "Git remote helper to store git objects on IPFS"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "git-repair" = callPackage @@ -87669,6 +94146,7 @@ self: { description = "repairs a damanged git repisitory"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "git-sanity" = callPackage @@ -87689,6 +94167,7 @@ self: { description = "A sanity checker for your git history"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "git-vogue" = callPackage @@ -87718,7 +94197,6 @@ self: { testToolDepends = [ git ]; description = "A framework for pre-commit checks"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gitHUD" = callPackage @@ -87775,6 +94253,7 @@ self: { description = "Create Github issues out of TODO comments in code"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "githash" = callPackage @@ -87798,33 +94277,32 @@ self: { "github" = callPackage ({ mkDerivation, aeson, base, base-compat, base16-bytestring - , binary, binary-orphans, byteable, bytestring, containers - , cryptohash, deepseq, deepseq-generics, exceptions, file-embed - , hashable, hspec, hspec-discover, http-client, http-client-tls + , binary, binary-instances, bytestring, containers, cryptohash-sha1 + , deepseq, deepseq-generics, exceptions, file-embed, hashable + , hspec, hspec-discover, http-client, http-client-tls , http-link-header, http-types, iso8601-time, mtl, network-uri - , semigroups, text, time, tls, transformers, transformers-compat + , tagged, text, time, tls, transformers, transformers-compat , unordered-containers, vector, vector-instances }: mkDerivation { pname = "github"; - version = "0.20"; - sha256 = "0gyinmrdwbqd6h5bvlv5jkv2rfp48p11088w5ayms8h361ck3kdp"; + version = "0.22"; + sha256 = "15py79qcpj0k331i42njgwkirwyiacbc5razmxnm4672dvvip2qk"; libraryHaskellDepends = [ - aeson base base-compat base16-bytestring binary binary-orphans - byteable bytestring containers cryptohash deepseq deepseq-generics + aeson base base-compat base16-bytestring binary binary-instances + bytestring containers cryptohash-sha1 deepseq deepseq-generics exceptions hashable http-client http-client-tls http-link-header - http-types iso8601-time mtl network-uri semigroups text time tls + http-types iso8601-time mtl network-uri tagged text time tls transformers transformers-compat unordered-containers vector vector-instances ]; testHaskellDepends = [ - aeson base base-compat bytestring file-embed hspec + aeson base base-compat bytestring file-embed hspec tagged text unordered-containers vector ]; testToolDepends = [ hspec-discover ]; description = "Access to the GitHub API, v3"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "github-backup" = callPackage @@ -87853,6 +94331,7 @@ self: { description = "backs up everything github knows about a repository, to the repository"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) git;}; "github-data" = callPackage @@ -87877,6 +94356,7 @@ self: { description = "Access to the GitHub API, v3"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "github-post-receive" = callPackage @@ -87936,6 +94416,7 @@ self: { description = "Various Github helper utilities"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "github-types" = callPackage @@ -87967,6 +94448,7 @@ self: { description = "Useful functions that use the GitHub API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "github-webhook-handler" = callPackage @@ -87986,6 +94468,7 @@ self: { description = "GitHub WebHook Handler"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "github-webhook-handler-snap" = callPackage @@ -88005,6 +94488,7 @@ self: { description = "GitHub WebHook Handler implementation for Snap"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "github-webhooks" = callPackage @@ -88026,21 +94510,26 @@ self: { }) {}; "githud" = callPackage - ({ mkDerivation, base, mtl, parsec, process, tasty, tasty-hunit - , tasty-quickcheck, tasty-smallcheck, text, unix + ({ mkDerivation, base, bytestring, daemons, data-default, directory + , mtl, network, parsec, process, tasty, tasty-hunit + , tasty-quickcheck, tasty-smallcheck, text, unix, utf8-string }: mkDerivation { pname = "githud"; - version = "2.1.0"; - sha256 = "19j0vy427n3rzi1nfmh7kjn8jj1ji3xrbrs957hyns9sy4wwrfly"; + version = "3.1.0"; + sha256 = "0shdb3a73w0n0p9pl0j7gmsqjwvniah3l251cgn27sp1cm33li8r"; isLibrary = true; isExecutable = true; - libraryHaskellDepends = [ base mtl parsec process text unix ]; + libraryHaskellDepends = [ + base bytestring daemons data-default directory mtl network parsec + process text unix utf8-string + ]; executableHaskellDepends = [ base ]; testHaskellDepends = [ - base mtl parsec tasty tasty-hunit tasty-quickcheck tasty-smallcheck + base daemons mtl parsec tasty tasty-hunit tasty-quickcheck + tasty-smallcheck ]; - description = "More efficient replacement to the great git-radar"; + description = "Heads up, and you see your GIT context"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -88061,6 +94550,7 @@ self: { description = "Apply GitHub .gitignore templates to already existing repositories."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gitit" = callPackage @@ -88097,6 +94587,7 @@ self: { description = "Wiki using happstack, git or darcs, and pandoc"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gitlab-api" = callPackage @@ -88114,6 +94605,23 @@ self: { description = "Gitlab Web API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "gitlab-haskell" = callPackage + ({ mkDerivation, aeson, base, bytestring, connection, http-conduit + , http-types, text, transformers, unliftio, unliftio-core + }: + mkDerivation { + pname = "gitlab-haskell"; + version = "0.1.0.2"; + sha256 = "16dj3m038fgxf8w69g8qldnsk2xrk83lkkgdapwv7qz9c9jd0nh1"; + libraryHaskellDepends = [ + aeson base bytestring connection http-conduit http-types text + transformers unliftio unliftio-core + ]; + description = "A Haskell library for the GitLab web API"; + license = stdenv.lib.licenses.bsd3; }) {}; "gitlib" = callPackage @@ -88181,6 +94689,7 @@ self: { description = "Run tests between repositories"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gitlib-libgit2" = callPackage @@ -88207,7 +94716,6 @@ self: { ]; description = "Libgit2 backend for gitlib"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gitlib-s3" = callPackage @@ -88238,6 +94746,7 @@ self: { description = "Gitlib repository backend for storing Git objects in Amazon S3"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gitlib-sample" = callPackage @@ -88260,8 +94769,8 @@ self: { }: mkDerivation { pname = "gitlib-test"; - version = "3.1.1"; - sha256 = "1h8kqqj298bb0bj7w4rw18jf3bz0h1rqdg8fngmp4p35c1k1kjzi"; + version = "3.1.2"; + sha256 = "17v84igqyhc808nzv2qsyylk9ls4kzfd9hdx1avj4vb4gc5gblzz"; libraryHaskellDepends = [ base bytestring conduit conduit-combinators exceptions gitlib hspec hspec-expectations HUnit tagged text time transformers @@ -88269,7 +94778,6 @@ self: { ]; description = "Test library for confirming gitlib backend compliance"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gitlib-utils" = callPackage @@ -88289,6 +94797,7 @@ self: { description = "Generic utility functions for working with Git repositories"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gitrev" = callPackage @@ -88330,6 +94839,7 @@ self: { description = "A document store library for Git + JSON"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gitter" = callPackage @@ -88338,14 +94848,13 @@ self: { }: mkDerivation { pname = "gitter"; - version = "0.4"; - sha256 = "0lvsjpb1iakpbvh8prnwd90p8fp7hhj5120yp2w5ra9pm5fqcl49"; + version = "0.5"; + sha256 = "13whv4bv7b69vzq1c6xdcim9mlsr4qsnsjiwv36g7fykcvbr72rl"; libraryHaskellDepends = [ aeson base bytestring exceptions lens lens-aeson mtl text wreq ]; description = "Gitter.im API client"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "givegif" = callPackage @@ -88374,6 +94883,7 @@ self: { description = "CLI Giphy search tool with previews in iTerm 2"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gjk" = callPackage @@ -88400,18 +94910,14 @@ self: { }) {}; "gl" = callPackage - ({ mkDerivation, base, Cabal, containers, directory, filepath - , fixed, half, hxt, libGL, transformers + ({ mkDerivation, base, containers, fixed, half, libGL, transformers }: mkDerivation { pname = "gl"; - version = "0.8.0"; - sha256 = "0f8l1ra05asqjnk97sliqb3wqvr6lic18rfs1f9dm1kw2lw2hkda"; - revision = "2"; - editedCabalFile = "0zbpf559ajlcwnylpbm6dbi4m3g3s08fciqfp5am3i2vrmw0wpi9"; - setupHaskellDepends = [ - base Cabal containers directory filepath hxt transformers - ]; + version = "0.9"; + sha256 = "1kb1igc9cyjavf3f3ccv9xhhsfn46pcrsw47qd9m5793nnmg13ii"; + revision = "1"; + editedCabalFile = "19qyb9m2fy9qyirmhhayg51scas42n3i2rx7jcw6v3ra8c8r9rwr"; libraryHaskellDepends = [ base containers fixed half transformers ]; @@ -88438,8 +94944,8 @@ self: { }: mkDerivation { pname = "glabrous"; - version = "1.0.1"; - sha256 = "11s7fhlv3aq80h20jf2l447bmxy95dy7dqvzqfp0myy4hgsasks3"; + version = "2.0.0"; + sha256 = "001w81x2xmmd4vwp0m0142xgwyx60pr3mjx76czbc3by6iv41l5b"; libraryHaskellDepends = [ aeson aeson-pretty attoparsec base bytestring cereal cereal-text either text unordered-containers @@ -88466,6 +94972,7 @@ self: { description = "Binding to the glade library"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs.gnome2) libglade;}; "gladexml-accessor" = callPackage @@ -88478,6 +94985,7 @@ self: { description = "Automagically declares getters for widget handles in specified interface file"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "glambda" = callPackage @@ -88519,6 +95027,7 @@ self: { description = "An OpenGL micro framework"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "glasso" = callPackage @@ -88580,6 +95089,7 @@ self: { description = "A threaded rendering framework using glaizer and pipes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "glazier-react" = callPackage @@ -88600,6 +95110,7 @@ self: { description = "ReactJS binding using Glazier.Command."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "glazier-react-examples" = callPackage @@ -88625,6 +95136,7 @@ self: { description = "Examples of using glazier-react"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "glazier-react-widget" = callPackage @@ -88645,6 +95157,7 @@ self: { description = "Generic widget library using glazier-react"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gli" = callPackage @@ -88670,6 +95183,7 @@ self: { description = "Tiny cli to fetch PR info from gitlab"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "glib" = callPackage @@ -88687,7 +95201,6 @@ self: { libraryPkgconfigDepends = [ glib ]; description = "Binding to the GLIB library for Gtk2Hs"; license = stdenv.lib.licenses.lgpl21; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) glib;}; "glicko" = callPackage @@ -88705,6 +95218,7 @@ self: { description = "Glicko-2 implementation in Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "glider-nlp" = callPackage @@ -88718,6 +95232,7 @@ self: { description = "Natural Language Processing library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "glintcollider" = callPackage @@ -88739,15 +95254,14 @@ self: { , bytestring, Cabal, config-schema, config-value, containers , directory, filepath, free, gitrev, hashable, hookup, HsOpenSSL , HUnit, irc-core, kan-extensions, lens, network, process, psqueues - , regex-tdfa, semigroupoids, split, stm, template-haskell, text - , time, transformers, unix, unordered-containers, vector, vty + , regex-tdfa, regex-tdfa-text, semigroupoids, split, stm + , template-haskell, text, time, transformers, unix + , unordered-containers, vector, vty }: mkDerivation { pname = "glirc"; - version = "2.29"; - sha256 = "04i6dzb6fgvx1vxpn8syzc9pa4mq2m62mrgq4iraqwgkzl54ahgx"; - revision = "2"; - editedCabalFile = "0s37m39c3vnwskvbsiziysm9ck7l30bfkp2jg0l49dhi8v01q6cs"; + version = "2.32"; + sha256 = "0rlqmmjxvynd4a2kxjyw7dm5i2rd27jgj7sm57pbh2nig2rbbbyj"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal filepath ]; @@ -88755,8 +95269,9 @@ self: { async attoparsec base base64-bytestring bytestring config-schema config-value containers directory filepath free gitrev hashable hookup HsOpenSSL irc-core kan-extensions lens network process - psqueues regex-tdfa semigroupoids split stm template-haskell text - time transformers unix unordered-containers vector vty + psqueues regex-tdfa regex-tdfa-text semigroupoids split stm + template-haskell text time transformers unix unordered-containers + vector vty ]; executableHaskellDepends = [ base lens text vty ]; testHaskellDepends = [ base HUnit ]; @@ -88786,8 +95301,8 @@ self: { }: mkDerivation { pname = "glob-posix"; - version = "0.1.0.1"; - sha256 = "1brw6vd6k787z5n56sdz8c5f35iv0w6m2qpgb2lyxb7bfwn3hi9j"; + version = "0.2.0.1"; + sha256 = "1h9my41nhq0xxlwvajwijbgpranyn2ffabbjvx1pbr7vdb4zp8q3"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base directory filepath tasty tasty-expected-failure tasty-hunit @@ -88797,6 +95312,7 @@ self: { description = "Haskell bindings for POSIX glob library"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "global" = callPackage @@ -88815,6 +95331,7 @@ self: { description = "Library enabling unique top-level declarations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "global-config" = callPackage @@ -88836,6 +95353,7 @@ self: { description = "Global mutable configuration"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "global-lock" = callPackage @@ -88859,6 +95377,7 @@ self: { description = "Namespaced, global, and top-level mutable variables without unsafePerformIO"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "glome-hs" = callPackage @@ -88883,6 +95402,7 @@ self: { description = "ray tracer"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gloss_1_9_2_1" = callPackage @@ -88924,10 +95444,11 @@ self: { pname = "gloss-accelerate"; version = "2.0.0.1"; sha256 = "106z8kax0m3hzk0381l8m7gxdapl3wf0fdr1ljwb5fgcjc00pac2"; + revision = "1"; + editedCabalFile = "0349yyzxn7r82mz4vr71dibzp0sh45b4a06hm0c0z9d7vlxj0sjj"; libraryHaskellDepends = [ accelerate base gloss gloss-rendering ]; description = "Extras to interface Gloss and Accelerate"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gloss-algorithms" = callPackage @@ -88955,6 +95476,7 @@ self: { description = "An Interface for gloss in terms of a reactive-banana Behavior"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gloss-devil" = callPackage @@ -88967,6 +95489,7 @@ self: { description = "Display images in Gloss using libdevil for decoding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gloss-examples" = callPackage @@ -89006,6 +95529,7 @@ self: { description = "Export Gloss pictures to png, bmp, tga, tiff, gif and juicy-pixels-image"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gloss-game" = callPackage @@ -89018,6 +95542,7 @@ self: { description = "Gloss wrapper that simplifies writing games"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gloss-juicy" = callPackage @@ -89064,8 +95589,8 @@ self: { pname = "gloss-raster-accelerate"; version = "2.0.0.0"; sha256 = "1i0qx9wybr66i1x4n3p8ai2z6qx0k5lac422mhh4rvimcjx2bc9d"; - revision = "2"; - editedCabalFile = "0k0a562qa8khj39zpgp4sr8kh8h2q4krjjhbvpbsll4r83067ahj"; + revision = "3"; + editedCabalFile = "0nk901zy01x7v7faa20j0yawqfw3nfl27xr19ip7bn3agmq4sqq2"; libraryHaskellDepends = [ accelerate base colour-accelerate gloss gloss-accelerate ]; @@ -89078,10 +95603,8 @@ self: { ({ mkDerivation, base, bmp, bytestring, containers, GLUT, OpenGL }: mkDerivation { pname = "gloss-rendering"; - version = "1.13.0.2"; - sha256 = "0ivzijqkxn0r4iqk0rmq0bzdzzgv9a8fgwy3gwnfibmvhhm9jfq0"; - revision = "1"; - editedCabalFile = "0r57zc8ryxgjb4ydcdlmq19hl3nj6gjm3z85wrmdkn0wrx16mqih"; + version = "1.13.1.1"; + sha256 = "1pkzm7zzfdya8cz3h66akx8785h3vxbnyb815liw4nilvwg01d9x"; libraryHaskellDepends = [ base bmp bytestring containers GLUT OpenGL ]; @@ -89099,6 +95622,7 @@ self: { description = "A Sodium interface to the Gloss drawing package"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "glpk-hs" = callPackage @@ -89113,6 +95637,7 @@ self: { description = "Comprehensive GLPK linear programming bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) glpk;}; "glue" = callPackage @@ -89143,6 +95668,7 @@ self: { description = "Make better services"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "glue-common" = callPackage @@ -89153,8 +95679,8 @@ self: { }: mkDerivation { pname = "glue-common"; - version = "0.6.2"; - sha256 = "063y0q6iz4s5hqjc4cpd2y49w9zq6w3lcnvxlv73miysb9q16a4b"; + version = "0.6.3"; + sha256 = "12lvq3lc52ggflcb8m6j8xxxi4p5mspfwbc4fxb34h1076gxhdd1"; libraryHaskellDepends = [ base hashable lifted-base monad-control text time transformers transformers-base unordered-containers @@ -89167,7 +95693,6 @@ self: { testToolDepends = [ hspec-discover ]; description = "Make better services and clients"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "glue-core" = callPackage @@ -89178,8 +95703,8 @@ self: { }: mkDerivation { pname = "glue-core"; - version = "0.6.2"; - sha256 = "0z6il1ff3cgzk0bvgp2c1lp7qn4ws0nd2asm1x15cb8498iyqlaa"; + version = "0.6.3"; + sha256 = "06bjmhnm2g9vmxjrw661ips3c6160xbw1qj4527radif51lskf6i"; libraryHaskellDepends = [ base glue-common hashable lifted-base monad-control text time transformers transformers-base unordered-containers @@ -89192,7 +95717,6 @@ self: { testToolDepends = [ hspec-discover ]; description = "Make better services and clients"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "glue-ekg" = callPackage @@ -89203,8 +95727,8 @@ self: { }: mkDerivation { pname = "glue-ekg"; - version = "0.6.2"; - sha256 = "10a2ma35mk3plwcsn80ccc879ajz0ifyl8xqifn0kfz3dpk7g0y7"; + version = "0.6.3"; + sha256 = "1z93jflgnj5ja17gpa8ab0i8lvm2x4vcqbmil3zca2djnbg61257"; libraryHaskellDepends = [ base ekg-core glue-common hashable lifted-base monad-control text time transformers transformers-base unordered-containers @@ -89217,7 +95741,6 @@ self: { testToolDepends = [ hspec-discover ]; description = "Make better services and clients"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "glue-example" = callPackage @@ -89227,8 +95750,8 @@ self: { }: mkDerivation { pname = "glue-example"; - version = "0.6.2"; - sha256 = "182ky7k17wfc0cijyhib8j0ajw963yrbq9y91lsvvd7vnjfwds1x"; + version = "0.6.3"; + sha256 = "0pczlmny8brmr24v6zfdkarx4sy530j4454p9agswrc7s37fhf5n"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -89238,7 +95761,6 @@ self: { ]; description = "Make better services and clients"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gluturtle" = callPackage @@ -89268,6 +95790,7 @@ self: { description = "Composable maps and generic tries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gmndl" = callPackage @@ -89287,6 +95810,7 @@ self: { description = "Mandelbrot Set explorer using GTK"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gmpint" = callPackage @@ -89315,24 +95839,25 @@ self: { description = "Randomly set a picture as the GNOME desktop background"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gnome-keyring" = callPackage ({ mkDerivation, base, bytestring, c2hs, gnome-keyring - , libgnome_keyring, text, time + , libgnome-keyring, text, time }: mkDerivation { pname = "gnome-keyring"; - version = "0.3.1"; - sha256 = "08fayi4ixqyzin7lxyx2s3yap377y6nrdf4fmv7bi895j2k642l8"; + version = "0.3.1.1"; + sha256 = "044bbgy8cssi1jc8wwb0kvxpw6d7pwxackkzvw7p9r8ybmgv4d0b"; libraryHaskellDepends = [ base bytestring text time ]; librarySystemDepends = [ gnome-keyring ]; - libraryPkgconfigDepends = [ libgnome_keyring ]; + libraryPkgconfigDepends = [ libgnome-keyring ]; libraryToolDepends = [ c2hs ]; description = "Bindings for libgnome-keyring"; license = stdenv.lib.licenses.gpl3; }) {inherit (pkgs.gnome3) gnome-keyring; - inherit (pkgs) libgnome_keyring;}; + inherit (pkgs) libgnome-keyring;}; "gnomevfs" = callPackage ({ mkDerivation, array, base, containers, glib, gnome-vfs @@ -89350,6 +95875,7 @@ self: { description = "Binding to the GNOME Virtual File System library"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {gnome-vfs = null; gnome-vfs_module = null;}; "gnss-converters" = callPackage @@ -89378,6 +95904,7 @@ self: { description = "GNSS Converters"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gnuidn" = callPackage @@ -89401,30 +95928,10 @@ self: { description = "Bindings for GNU IDN"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libidn;}; "gnuplot" = callPackage - ({ mkDerivation, array, base, containers, data-accessor - , data-accessor-transformers, deepseq, filepath, process - , semigroups, temporary, time, transformers, utility-ht - }: - mkDerivation { - pname = "gnuplot"; - version = "0.5.5.3"; - sha256 = "0105ajc5szgrh091x5fxdcydc96rdh75gg2snyfr2y2rhf120x2g"; - isLibrary = true; - isExecutable = true; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - array base containers data-accessor data-accessor-transformers - deepseq filepath process semigroups temporary time transformers - utility-ht - ]; - description = "2D and 3D plots using gnuplot"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "gnuplot_0_5_6" = callPackage ({ mkDerivation, array, base, containers, data-accessor , data-accessor-transformers, deepseq, filepath, process , semigroups, temporary, time, transformers, utility-ht @@ -89443,7 +95950,6 @@ self: { ]; description = "2D and 3D plots using gnuplot"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gnutls" = callPackage @@ -89492,6 +95998,7 @@ self: { description = "Core imports for Geometric Optimization Libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "goal-geometry" = callPackage @@ -89507,6 +96014,7 @@ self: { description = "Scientific computing on geometric objects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "goal-probability" = callPackage @@ -89527,6 +96035,7 @@ self: { description = "Manifolds of probability distributions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "goal-simulation" = callPackage @@ -89551,6 +96060,7 @@ self: { description = "Mealy based simulation tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "goat" = callPackage @@ -89586,6 +96096,7 @@ self: { description = "A monadic take on a 2,500-year-old board game - library"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "goatee-gtk" = callPackage @@ -89607,6 +96118,7 @@ self: { description = "A monadic take on a 2,500-year-old board game - GTK+ UI"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gochan" = callPackage @@ -89629,6 +96141,7 @@ self: { description = "Go-style channels"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "godot-haskell" = callPackage @@ -89663,6 +96176,7 @@ self: { description = "The Gofer 2.30 standard prelude"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "goggles" = callPackage @@ -89713,8 +96227,8 @@ self: { }: mkDerivation { pname = "gogol"; - version = "0.4.0"; - sha256 = "1w6bxhgdsilv6z1q0m2qidv1in10i9p5biz733v2nqg2pflj8qgh"; + version = "0.5.0"; + sha256 = "1aah3db2ws07q4z2pka4gmsagpwlimv19xq0p6y0bznq86yy7i1q"; libraryHaskellDepends = [ aeson base bytestring case-insensitive conduit conduit-extra cryptonite directory exceptions filepath gogol-core http-client @@ -89731,8 +96245,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-abusiveexperiencereport"; - version = "0.4.0"; - sha256 = "0jlpybzl1p6jifrj3cdc5wndjg1ds15liz844wl3vmx45p5bj2mq"; + version = "0.5.0"; + sha256 = "1c701rajjybggf04rvmj39mn5ryq27kvz79jacxhk9ia1g48lfbb"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Abusive Experience Report SDK"; license = "unknown"; @@ -89743,20 +96257,32 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-acceleratedmobilepageurl"; - version = "0.4.0"; - sha256 = "0bd34zw60bzx4h2iczz02ynn7vm2pma3b1x419nafr70jlil11bc"; + version = "0.5.0"; + sha256 = "0mr77fifnjl9r1jvmdzr7nvbxrh18n1c7m5yahlg4gsph9jzxg6i"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Accelerated Mobile Pages (AMP) URL SDK"; license = "unknown"; hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "gogol-accessapproval" = callPackage + ({ mkDerivation, base, gogol-core }: + mkDerivation { + pname = "gogol-accessapproval"; + version = "0.5.0"; + sha256 = "062377i1nrhynsqyg53fkczhj9ljxa1ms062zykyxq4inv7d9r2a"; + libraryHaskellDepends = [ base gogol-core ]; + description = "Google Access Approval SDK"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "gogol-accesscontextmanager" = callPackage ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-accesscontextmanager"; - version = "0.4.0"; - sha256 = "1rq8q9av1vj0v7y7av6y92isyf0rrr0v5dqihx2ryhsxcn9bly4m"; + version = "0.5.0"; + sha256 = "0nglp371pxal59p33bb50r1vck6mc662z2yrqsq326w77dc24k6z"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Access Context Manager SDK"; license = "unknown"; @@ -89767,8 +96293,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-adexchange-buyer"; - version = "0.4.0"; - sha256 = "056896r5iq343bam9qzd41x1iaqa0p31x20w6zspn3v9r8i1x76b"; + version = "0.5.0"; + sha256 = "0a2v15z4x0a6dbc789s1j78qcsfqypdf65ydw0gxzgajl136ni7x"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Ad Exchange Buyer SDK"; license = "unknown"; @@ -89779,8 +96305,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-adexchange-seller"; - version = "0.4.0"; - sha256 = "17pvmi371xx06qav5c4fsq5il9a54478jwjfk7wh1snifxwsg3dn"; + version = "0.5.0"; + sha256 = "02y7sz24flvm6fayfjjvdrywsqy0qw3wrqkfg4jcwa1093j2x3g9"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Ad Exchange Seller SDK"; license = "unknown"; @@ -89791,8 +96317,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-adexchangebuyer2"; - version = "0.4.0"; - sha256 = "0bsxix42viyg74yvw03bhn19c9rcav1hby63fjlcg9zvs9pqx9a2"; + version = "0.5.0"; + sha256 = "0sy40qp8z47d364dml5fafdy34xwlaa8lwn86n076i0xr0a2c3sc"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Ad Exchange Buyer API II SDK"; license = "unknown"; @@ -89803,8 +96329,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-adexperiencereport"; - version = "0.4.0"; - sha256 = "0n9gg9rgwyj7x115dpp73gqsz61qjkph8iwlf51ak0dflvhpcirc"; + version = "0.5.0"; + sha256 = "1sk083dkiwzr39w7bgqv3klvnx0jb8xqz1v3x0val3dzhfhd0rg0"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Ad Experience Report SDK"; license = "unknown"; @@ -89815,8 +96341,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-admin-datatransfer"; - version = "0.4.0"; - sha256 = "0i0zrz1wgwdqxisq47icaa9rz1vawgkwk80pg8lzraaf82scxsd2"; + version = "0.5.0"; + sha256 = "149h3kg68xqanpzyqxbjxq1nskigv1310fq17inkl3bqm7mk0d3s"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Admin Data Transfer SDK"; license = "unknown"; @@ -89827,8 +96353,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-admin-directory"; - version = "0.4.0"; - sha256 = "0nikrrv152xnr4b8542vlmnqazq8cvq89mi004nzd8pfl0a7nz5m"; + version = "0.5.0"; + sha256 = "0kinbhz4j11nd6s5w4jg13dpbq6hgf6acnqi6hvmn4m4yjm6qs5i"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Admin Directory SDK"; license = "unknown"; @@ -89851,8 +96377,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-admin-reports"; - version = "0.4.0"; - sha256 = "0ncx9knx8lnkbg0zcc5ak1ywgk1nqdqvplri247wxxlyn582xx2b"; + version = "0.5.0"; + sha256 = "17m4924mqr0wiq07n3ada8jqc2kbwn2apzmbkpcsf6ns8qpw4r4k"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Admin Reports SDK"; license = "unknown"; @@ -89863,8 +96389,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-adsense"; - version = "0.4.0"; - sha256 = "0ahw3mapm93krj2lkzvcxqg3n7v912drfqb40afjl9p572hppl0w"; + version = "0.5.0"; + sha256 = "07v6sgp6dqvgcmni4579c6iyxqbbn24lyp64zfdv88s4wjhjbdjj"; libraryHaskellDepends = [ base gogol-core ]; description = "Google AdSense Management SDK"; license = "unknown"; @@ -89875,8 +96401,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-adsense-host"; - version = "0.4.0"; - sha256 = "03pm68sksb2r51a7962bjypaf0ycbjsqwdyzl338v2l03jwp4d3w"; + version = "0.5.0"; + sha256 = "1s9dsrz6svnm8jjl13w3v72gyyg2xc5sxg6piw087c8j1sqfx131"; libraryHaskellDepends = [ base gogol-core ]; description = "Google AdSense Host SDK"; license = "unknown"; @@ -89899,8 +96425,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-alertcenter"; - version = "0.4.0"; - sha256 = "0sb4r4xbcfmrygz92xy1b0qps32mvw4kxlgixzmx5lhabhmh19rg"; + version = "0.5.0"; + sha256 = "0d114xkvdjzfgl63gyc1a56jfdacbr5chdz80199jp85zp04h3wi"; libraryHaskellDepends = [ base gogol-core ]; description = "Google G Suite Alert Center SDK"; license = "unknown"; @@ -89911,8 +96437,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-analytics"; - version = "0.4.0"; - sha256 = "0vbz4ydkkglradhmrs1s3ldz8isz65lvfw84imhrmfrnbj8mvwsr"; + version = "0.5.0"; + sha256 = "1bfm1z13hvijln3f92n4i8042dd56z6wian6scnbfcndnsfwsrc9"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Analytics SDK"; license = "unknown"; @@ -89923,8 +96449,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-analyticsreporting"; - version = "0.4.0"; - sha256 = "0wcnvdf02l3s81f53v33f6vy3ksnpcyhdls4jf6939x2pz7frrld"; + version = "0.5.0"; + sha256 = "0ih63njgb3612myqfc1impas9jc5gx5hlmhvjzw0bp6rn7dv5qvm"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Analytics Reporting SDK"; license = "unknown"; @@ -89935,8 +96461,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-android-enterprise"; - version = "0.4.0"; - sha256 = "0pq3krv5gncwpiblrkqsabrkqldjl1gardkf279qqc8z7qw74wn8"; + version = "0.5.0"; + sha256 = "0qxvqv3i21k9g0mgy67073xb2yd8m357c2806v18inh7cikhndgy"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Play EMM SDK"; license = "unknown"; @@ -89947,8 +96473,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-android-publisher"; - version = "0.4.0"; - sha256 = "0f9s1zss2i5xq67mv7wgvgbbba0fybqmnyr4vxjg28c2y5kvvggv"; + version = "0.5.0"; + sha256 = "05dz12615l74y4iqasgn84vi79i1m7wv11gz5sfbmmmddizjdxy4"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Play Developer SDK"; license = "unknown"; @@ -89959,8 +96485,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-androiddeviceprovisioning"; - version = "0.4.0"; - sha256 = "0zynvy8720b26sp884da98cfnx9g7rcwgrj6n27lqmpw3lqmfh4r"; + version = "0.5.0"; + sha256 = "1yc88s0h6v8ipw26a90ds0wdmsg78zpp3pqrybip9fh8grzbplv5"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Android Device Provisioning Partner SDK"; license = "unknown"; @@ -89971,8 +96497,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-androidmanagement"; - version = "0.4.0"; - sha256 = "16xarhr93vpxawd7mg59zc53bl7xh63hpqjz869vhnf481vn4pmq"; + version = "0.5.0"; + sha256 = "0j68bbdyb3qnjylkb7fyv162pxfjx6802cnb63kryl7wbzcvf02s"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Android Management SDK"; license = "unknown"; @@ -89983,8 +96509,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-appengine"; - version = "0.4.0"; - sha256 = "14pf281j7q05dlz8i08m8082qixx1d5fjyi3zm19blsghx7hsn6a"; + version = "0.5.0"; + sha256 = "1p4cxp4f417m0llw58zslaabfswp5s9b9xlxfn3qrl3mdghs8lvk"; libraryHaskellDepends = [ base gogol-core ]; description = "Google App Engine Admin SDK"; license = "unknown"; @@ -89995,8 +96521,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-apps-activity"; - version = "0.4.0"; - sha256 = "1iv4q10h5n8mbkjgw2v7j9d9y4zvl0srpkw1kwd98h1chgg7hyhi"; + version = "0.5.0"; + sha256 = "0frs0976h57gckraxhipbsd1ps39ddw5bcsxrya9mczyh31aqn4w"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Drive Activity SDK"; license = "unknown"; @@ -90007,8 +96533,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-apps-calendar"; - version = "0.4.0"; - sha256 = "1dbxva37p8ww835y4sg1v01f12kr049ralsfqs3hkv516lsh7kxr"; + version = "0.5.0"; + sha256 = "1q68zbqk7pkh7clvlyjlkdy7i3zwrh8rl7ksyxd9x8wvla91qc34"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Calendar SDK"; license = "unknown"; @@ -90019,8 +96545,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-apps-licensing"; - version = "0.4.0"; - sha256 = "1sbbr7ihl415zx7axjwlvbfp646gr3fbb90n27wxh8pl4h2hlzkf"; + version = "0.5.0"; + sha256 = "1x86ssslmksdlfmf8rasavpn9dg5kpk416zf001mb896lh6r5dlq"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Enterprise License Manager SDK"; license = "unknown"; @@ -90031,8 +96557,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-apps-reseller"; - version = "0.4.0"; - sha256 = "038qfmfpw3wi5v9x9wgbpv2agbjab8z5q0idwzfih8xjckfxd520"; + version = "0.5.0"; + sha256 = "0zxjp7apiqd12bcj6fwwrlx8j466pavfgmv35d2alvmb83n1h8gw"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Enterprise Apps Reseller SDK"; license = "unknown"; @@ -90043,8 +96569,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-apps-tasks"; - version = "0.4.0"; - sha256 = "1nfzl9hqsh2dwgxhwwx5w6yr6vvcbx0j72iprb42bp6hsv5lh5nx"; + version = "0.5.0"; + sha256 = "0cb61wqjq8za2d44i0h561hzp2nmyynr2fy24mbhj2gb0zcd14bc"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Tasks SDK"; license = "unknown"; @@ -90055,8 +96581,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-appstate"; - version = "0.4.0"; - sha256 = "1z6k2kx20jgankjb1ynyhr0s9q8n2wln5ng8w0bd2gnflxnh26l7"; + version = "0.5.0"; + sha256 = "1gx52lnrp6mdsf168x0viwkj8pr49a0npf98a402ij3gndsn28aq"; libraryHaskellDepends = [ base gogol-core ]; description = "Google App State SDK"; license = "unknown"; @@ -90079,8 +96605,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-bigquery"; - version = "0.4.0"; - sha256 = "1c1gr2pwy9a0chysfi6v1imy15f5k689ys5lfnrgnl65ff0hqifq"; + version = "0.5.0"; + sha256 = "1z3rdh9qrabycxnxrzay6ddw5l97qws48hn78g5pkbn73z1dh22z"; libraryHaskellDepends = [ base gogol-core ]; description = "Google BigQuery SDK"; license = "unknown"; @@ -90091,8 +96617,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-bigquerydatatransfer"; - version = "0.4.0"; - sha256 = "0gccvjc81c3kz88iy4kd7ihp57z5p2a83ma23c1rishfl2cr3p00"; + version = "0.5.0"; + sha256 = "13pbbhk4ryg7vpkhkdvkjhc4sjnizdpjll4x9inb0zm8k1ki21ws"; libraryHaskellDepends = [ base gogol-core ]; description = "Google BigQuery Data Transfer SDK"; license = "unknown"; @@ -90103,8 +96629,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-bigtableadmin"; - version = "0.4.0"; - sha256 = "10hcaalxhx2ds2drjqry27kk416q87hcd020nvfzsnj4hl0msl5q"; + version = "0.5.0"; + sha256 = "0nxrcyf3spmhchmmjbszpv935lcwb979zfil9iwdigymq5wvfzgx"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Bigtable Admin SDK"; license = "unknown"; @@ -90115,8 +96641,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-billing"; - version = "0.4.0"; - sha256 = "0ilfy5bn1wk95wg4496ap9szl9lp6sh1sdr9ngg6vral05jjf7ck"; + version = "0.5.0"; + sha256 = "1zx7k5qhasvjz1568znasix6xrkxhsfhcsqwv6r1zd5a3pnzvaxm"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Billing SDK"; license = "unknown"; @@ -90127,8 +96653,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-binaryauthorization"; - version = "0.4.0"; - sha256 = "182ghkavwbi6y759235wrifwywyq2r7vc45xpgk979kcgk5jnjlk"; + version = "0.5.0"; + sha256 = "19gbql17mrxn4xgdbl96f245fckaj5gwwggn5f7xa59ahzbgfgay"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Binary Authorization SDK"; license = "unknown"; @@ -90139,8 +96665,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-blogger"; - version = "0.4.0"; - sha256 = "16yv9rld0q2hi553k72c9z6854r7n8h3yx2hf8fam3zmkcr1qad4"; + version = "0.5.0"; + sha256 = "027g8vj7msdzmkb7sjbd9s0p3zpxyal1l0daxbw1bhwr9lrd8j94"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Blogger SDK"; license = "unknown"; @@ -90151,8 +96677,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-books"; - version = "0.4.0"; - sha256 = "1zkz32mwarmfcjbqzjm3lpmdibfhgpra68cad2rh68bm2jkj71yf"; + version = "0.5.0"; + sha256 = "07rd2592hqvbx1lkz9hgrqjfy91a6g5vhy6d88yqzzyl1mkwq405"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Books SDK"; license = "unknown"; @@ -90163,8 +96689,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-chat"; - version = "0.4.0"; - sha256 = "12af5z86s3xxhn8ci4aqls3h2q52msmnh5ygd0igmdq0vn0278ij"; + version = "0.5.0"; + sha256 = "0dxwfml51xh3a04ghhr41dbaayq1c36klaiwams3rq95ak7mnq6i"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Hangouts Chat SDK"; license = "unknown"; @@ -90175,8 +96701,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-civicinfo"; - version = "0.4.0"; - sha256 = "1cvb0wbmv7a78d3bannd2n3ymny90dbnn68d979qgd8nz45r0k5z"; + version = "0.5.0"; + sha256 = "04kv6rnaiq1bxn46ir1l5w6w5qysb6f85ly3c9jksf0m5607gxxr"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Civic Information SDK"; license = "unknown"; @@ -90187,8 +96713,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-classroom"; - version = "0.4.0"; - sha256 = "0fyq54ddh2a8l0ai29x1dz4kcisx671mcg74p3c103iynfqnlyzr"; + version = "0.5.0"; + sha256 = "0hh6kbknnz7drd6ba1irr9wk5vhf51pgiskydgcav3f251j31sx4"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Classroom SDK"; license = "unknown"; @@ -90199,8 +96725,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-cloudasset"; - version = "0.4.0"; - sha256 = "0ki8r45p59hdakhdpz4sxxkfgnm908limvsd8z8afrnw5jg2h9ac"; + version = "0.5.0"; + sha256 = "0368lmz0nsffs9pj1v4ab5yx5xhfh1g27c9l3fs49aihdrvij3yk"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Asset SDK"; license = "unknown"; @@ -90211,8 +96737,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-clouderrorreporting"; - version = "0.4.0"; - sha256 = "1ixc67805bv4klz1sxgjg83zydar1712n4zdpps6wnccl8rh0f3p"; + version = "0.5.0"; + sha256 = "1hsgrpc9cbazn5a1g6lsg5azd8bgl45b95djwy13bc6vi9xwsr28"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Stackdriver Error Reporting SDK"; license = "unknown"; @@ -90223,8 +96749,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-cloudfunctions"; - version = "0.4.0"; - sha256 = "1fz3yxhaffgn8414ak95qkliwwkd8k7kxv7kyx2sdahhk6f7gckw"; + version = "0.5.0"; + sha256 = "1pv7h53zyqlp7wbw48hxxp3x9n515v0jdkjnpxqbszfhza28jsy9"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Functions SDK"; license = "unknown"; @@ -90235,8 +96761,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-cloudidentity"; - version = "0.4.0"; - sha256 = "1zfyc73xbdzwcmzn9pd8y118bwwgw02igd5knjwsvlv7jdjrsghh"; + version = "0.5.0"; + sha256 = "1z4ncvzggpn52r75bl7y9mk19vdpsimxfflggvzz1lgy941ciyil"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Identity SDK"; license = "unknown"; @@ -90247,8 +96773,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-cloudiot"; - version = "0.4.0"; - sha256 = "0h30a94vj2g58y87l6k8amzxpxr71q94jli48pq81ddas78486i3"; + version = "0.5.0"; + sha256 = "07zw4p2pi9gb90fzfg899xqbv50iwxc7rsb705wbpiyj80ynd85b"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud IoT SDK"; license = "unknown"; @@ -90259,8 +96785,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-cloudkms"; - version = "0.4.0"; - sha256 = "14rhdja6wwrcdhh67avbi395n870rmyrnzfx7cqyfvvngpp4321v"; + version = "0.5.0"; + sha256 = "0wpjmxrp1gl663sqcfgalrgjqw90wcahjlsg9bm6ay9y7g8mic0m"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Key Management Service (KMS) SDK"; license = "unknown"; @@ -90279,12 +96805,36 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "gogol-cloudprivatecatalog" = callPackage + ({ mkDerivation, base, gogol-core }: + mkDerivation { + pname = "gogol-cloudprivatecatalog"; + version = "0.5.0"; + sha256 = "0y0z6wmsr2qsgj6wh4y37ph68fayk5szzk02xv0ncggrn5pbpm07"; + libraryHaskellDepends = [ base gogol-core ]; + description = "Google Cloud Private Catalog SDK"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "gogol-cloudprivatecatalogproducer" = callPackage + ({ mkDerivation, base, gogol-core }: + mkDerivation { + pname = "gogol-cloudprivatecatalogproducer"; + version = "0.5.0"; + sha256 = "1zq8pb3jm6gpp116q4x8i69jihgwnbyafdrnw5jxyl3ynr6bwll0"; + libraryHaskellDepends = [ base gogol-core ]; + description = "Google Cloud Private Catalog Producer SDK"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "gogol-cloudprofiler" = callPackage ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-cloudprofiler"; - version = "0.4.0"; - sha256 = "188c11fn4cqf32d6jp0dfql4cg4fwn85hlw59q54i2yvpkxmw666"; + version = "0.5.0"; + sha256 = "022d1ix4a4n3kk108jl1yl2x13q57ahg4c9gvbxlvm7g3skz2rda"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Stackdriver Profiler SDK"; license = "unknown"; @@ -90295,8 +96845,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-cloudscheduler"; - version = "0.4.0"; - sha256 = "13yx14k78vmfdslhj5wcd8kqnh77dy0svc1d2hhbb6qazs523liq"; + version = "0.5.0"; + sha256 = "1vb3xwnn59b3fzybp09lxpysij37q8rxg3392gnf09mqg57vlcpw"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Scheduler SDK"; license = "unknown"; @@ -90307,8 +96857,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-cloudsearch"; - version = "0.4.0"; - sha256 = "01ra2xwqp33v1izmsx08xwxnif3qmgz51hsgmib1l409p425bzy0"; + version = "0.5.0"; + sha256 = "05nwvrdilz79hdlbzl853h3aj4gqcwql251slmzgg3s92haz0ygx"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Search SDK"; license = "unknown"; @@ -90319,8 +96869,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-cloudshell"; - version = "0.4.0"; - sha256 = "0j1f9b050vifnsdp8hby3sry77wfvx7856z92xal2adgv23qcrv1"; + version = "0.5.0"; + sha256 = "08hngcd8v08j7gp7pfyx6jm10p1g5w80ljq511f0jg5i5s6pkpr9"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Shell SDK"; license = "unknown"; @@ -90331,8 +96881,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-cloudtasks"; - version = "0.4.0"; - sha256 = "02dg92n6q6j5fzvm018dsa09n1ks1dx1bh6sjl74d8wqksnzsnfr"; + version = "0.5.0"; + sha256 = "1rgm3m1nsvfc96vipsqjaci6h21j8lxk0qb9jxs7qmifyhlycr5a"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Tasks SDK"; license = "unknown"; @@ -90343,20 +96893,32 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-cloudtrace"; - version = "0.4.0"; - sha256 = "0jgpx5aln442m1zgwp44c2hlwygjkvzlxyb9lh8jb1m4yvigwmrd"; + version = "0.5.0"; + sha256 = "12yh4ks9mwfk48qqgkp38vv7xrrlqlnx1d41x851xwb7hw61288r"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Stackdriver Trace SDK"; license = "unknown"; hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "gogol-commentanalyzer" = callPackage + ({ mkDerivation, base, gogol-core }: + mkDerivation { + pname = "gogol-commentanalyzer"; + version = "0.5.0"; + sha256 = "1psy2vd6xj2rlnacay6srp0lcy4bvfnkpqjg5yvl41qx74w11dc9"; + libraryHaskellDepends = [ base gogol-core ]; + description = "Google Perspective Comment Analyzer SDK"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "gogol-composer" = callPackage ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-composer"; - version = "0.4.0"; - sha256 = "0r28qibn9sin49gfnzqwkxd86lp4jczq3s10ry3j84rnjn6rnwf6"; + version = "0.5.0"; + sha256 = "1hzdnrchczaha310sr5ndk7bwykvv6qy70hh2jcw6s5fg6kjmpi5"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Composer SDK"; license = "unknown"; @@ -90367,8 +96929,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-compute"; - version = "0.4.0"; - sha256 = "16cfb8z1aycc9zgdasfp1xxihdnb92wh0kg5gw7xkfbqxvh1gbfy"; + version = "0.5.0"; + sha256 = "1z0l373qb3swnli6987r5s6l1kkrrh4m3hc8mghchviz16hpwm30"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Compute Engine SDK"; license = "unknown"; @@ -90379,8 +96941,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-consumersurveys"; - version = "0.4.0"; - sha256 = "0ssk3b4iq6977ivs3zki6i4bnvwcyr9sf6pay3yi17g9r4g3fxqc"; + version = "0.5.0"; + sha256 = "13az55a4hdpgrsfa4s4x2l40yjlfl01ypba3p1z36ckv70yqvmax"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Consumer Surveys SDK"; license = "unknown"; @@ -90391,8 +96953,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-container"; - version = "0.4.0"; - sha256 = "1jx33ziy5lmdaxiipdd6hb3qzhy1zflc3jmzhjax9lsvla8j2krx"; + version = "0.5.0"; + sha256 = "06pjabcch02pknn8rqq2kl4zyb331v89iq3l6i279i5prqp8jkh2"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Kubernetes Engine SDK"; license = "unknown"; @@ -90403,8 +96965,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-containeranalysis"; - version = "0.4.0"; - sha256 = "0hqkm4xjbw927pazvcawa87kfyzk7x97k3ic85q8a8zy2gc30vsg"; + version = "0.5.0"; + sha256 = "059nkdz6zb9ffi5731dfrppk2cv5mcvh84x8b30yhfp63vs083dp"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Container Analysis SDK"; license = "unknown"; @@ -90415,8 +96977,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-containerbuilder"; - version = "0.4.0"; - sha256 = "18ggnqngj564mbm3zm5ip8kpc1diwgvxbr51qz60jcymwlgrzk50"; + version = "0.5.0"; + sha256 = "04jrblg8z1sji9xg6qbypxkbwzidx76hwy2c9kdgchjj298xifcc"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Build SDK"; license = "unknown"; @@ -90432,8 +96994,8 @@ self: { }: mkDerivation { pname = "gogol-core"; - version = "0.4.0"; - sha256 = "1bfmdhlf5l612mwln1may5l2vqlps2k8hhxsbkx8h4n1gblriic2"; + version = "0.5.0"; + sha256 = "0xvlrx4hzhwp3slinh8apnxlgxmispjjnmwsfbpi4p9n451ilx93"; libraryHaskellDepends = [ aeson attoparsec base bifunctors bytestring case-insensitive conduit dlist exceptions hashable http-api-data http-client @@ -90450,8 +97012,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-customsearch"; - version = "0.4.0"; - sha256 = "1iq951qmm264w1lkq958fw90fcvzjsq4skz73kim4xvgiwr4q7kj"; + version = "0.5.0"; + sha256 = "1rfc932v4pwffry7864in7q9g68xzqz2sharzwfn8ql04la88fg7"; libraryHaskellDepends = [ base gogol-core ]; description = "Google CustomSearch SDK"; license = "unknown"; @@ -90462,20 +97024,32 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-dataflow"; - version = "0.4.0"; - sha256 = "0k2dlr938ilqbj56z5p75fs6yl8q6qbkfld7rbay1pnx9ss6yf67"; + version = "0.5.0"; + sha256 = "0k27idpz6n8gilpm5cb1yz6x6x89qlnpqg7jzpp4ipld1h4m6xp1"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Dataflow SDK"; license = "unknown"; hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "gogol-datafusion" = callPackage + ({ mkDerivation, base, gogol-core }: + mkDerivation { + pname = "gogol-datafusion"; + version = "0.5.0"; + sha256 = "0g90fa6mdicv4fyv999vild0accvsd4kr7mj9b008b5f4x286wpn"; + libraryHaskellDepends = [ base gogol-core ]; + description = "Google Cloud Data Fusion SDK"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "gogol-dataproc" = callPackage ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-dataproc"; - version = "0.4.0"; - sha256 = "0h3y503chr8srqjnk1hgvn4naayp09yvp0gf9np8da9mdxwk98c6"; + version = "0.5.0"; + sha256 = "0v1h6621v0aj415c8d11rfgri40vh3d1h3wl5i40nnz81qa11d5j"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Dataproc SDK"; license = "unknown"; @@ -90486,8 +97060,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-datastore"; - version = "0.4.0"; - sha256 = "018qjg7vwspd86fdzxsag732d1x81yag6h8bw5arq38cq50ak3fx"; + version = "0.5.0"; + sha256 = "17raqp9la38r2jbx5438hxi12blkckzfdgmfvnw05isdwnz1azjl"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Datastore SDK"; license = "unknown"; @@ -90498,8 +97072,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-debugger"; - version = "0.4.0"; - sha256 = "1q3nsda0w6zkl0j49l1ry6mr030b65mzf6hylny1gxxdy2mypq3l"; + version = "0.5.0"; + sha256 = "0a29kcihp90s6zvc8f9733rylsnf6098vkvqx7nsrg78x7qcz48p"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Stackdriver Debugger SDK"; license = "unknown"; @@ -90510,8 +97084,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-deploymentmanager"; - version = "0.4.0"; - sha256 = "123m18nqjfgdmgrbl6b6kwppnq16bd7i3gn7mjdlrk6dm6wh84j0"; + version = "0.5.0"; + sha256 = "0l52j1vlnhm5dnz9jfld2rixs511l567gw7dbd2ylnx77632fvsw"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Deployment Manager SDK"; license = "unknown"; @@ -90522,8 +97096,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-dfareporting"; - version = "0.4.0"; - sha256 = "0jsv73zmdkm1lz0kk41yqayy07cfz4c2xn7q3vlg85ksv7jnn5ha"; + version = "0.5.0"; + sha256 = "0s7s5cm7kdigx1212abzyv69p4gzpx4dkxvycip60p27chsiv47p"; libraryHaskellDepends = [ base gogol-core ]; description = "Google DCM/DFA Reporting And Trafficking SDK"; license = "unknown"; @@ -90534,8 +97108,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-dialogflow"; - version = "0.4.0"; - sha256 = "1qma0gilizalyrwafw7rvpqmyc5vcsg4pds6f089qhxm42jwcmlk"; + version = "0.5.0"; + sha256 = "02q9qj713gz75gzdvqlladddniyk0waf2gbfqnh7dyirn8l67k6a"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Dialogflow SDK"; license = "unknown"; @@ -90546,8 +97120,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-digitalassetlinks"; - version = "0.4.0"; - sha256 = "1lvgk9ba0l5i39zvswqbmwhhpsq0bijis6gp6n9wq30bgzf9a8vq"; + version = "0.5.0"; + sha256 = "04mfan610hzi9ar7rpmdwn4hw2m4v4n5hfz00si648vx6grn3835"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Digital Asset Links SDK"; license = "unknown"; @@ -90558,10 +97132,10 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-discovery"; - version = "0.4.0"; - sha256 = "1nvhmh95k1z9q4s1lfv078dlv33lm1qkwq5hkd0nysqaibfgql5x"; + version = "0.5.0"; + sha256 = "14igx8cs86v88vfvdw3fr090yk3f5dnpiggai1w2xnshbvg3gfdd"; libraryHaskellDepends = [ base gogol-core ]; - description = "Google APIs Discovery Service SDK"; + description = "Google API Discovery Service SDK"; license = "unknown"; hydraPlatforms = stdenv.lib.platforms.none; }) {}; @@ -90570,8 +97144,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-dlp"; - version = "0.4.0"; - sha256 = "1hbd1bld98k7am5gr0569vsdzgd9w95nx3z40lhbr23f6fybv3w7"; + version = "0.5.0"; + sha256 = "0wd5l1bjiaw5cp78ppz81ab3cb9dpgjw5iy3hz9cg0y6y8x6smm5"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Data Loss Prevention (DLP) SDK"; license = "unknown"; @@ -90582,20 +97156,32 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-dns"; - version = "0.4.0"; - sha256 = "1y0n41pq031kcphpxvr4fzrvdgy4imfmkb5frazgb3acx874pqwc"; + version = "0.5.0"; + sha256 = "0wzlbpkaqd94dkgbg5nqss9kbyx2lqk0jbd97l9jmka1pmm0c30a"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud DNS SDK"; license = "unknown"; hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "gogol-docs" = callPackage + ({ mkDerivation, base, gogol-core }: + mkDerivation { + pname = "gogol-docs"; + version = "0.5.0"; + sha256 = "1ig79q8iwfmyrjy7jb27fcdd05zjgpi0aikw597gkjj9vga5jzms"; + libraryHaskellDepends = [ base gogol-core ]; + description = "Google Docs SDK"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "gogol-doubleclick-bids" = callPackage ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-doubleclick-bids"; - version = "0.4.0"; - sha256 = "1f1x12gcab5lz1yig3p7b9fxdwr1mj4c5r7w1c97awg4wa4qyv61"; + version = "0.5.0"; + sha256 = "1jk725c2viyvbi4i12zlvwnz855jnpjjfc9qp5rbbfkkyf8904n3"; libraryHaskellDepends = [ base gogol-core ]; description = "Google DoubleClick Bid Manager SDK"; license = "unknown"; @@ -90606,8 +97192,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-doubleclick-search"; - version = "0.4.0"; - sha256 = "0mzwg6njbdvn0y3qqnal919gsj5fi8fcdsn6f438dfg481g93igk"; + version = "0.5.0"; + sha256 = "1kd0x3xb365r30gaz74wksny20dp96ynr9xvds2z4jnmabhlc1fx"; libraryHaskellDepends = [ base gogol-core ]; description = "Google DoubleClick Search SDK"; license = "unknown"; @@ -90618,8 +97204,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-drive"; - version = "0.4.0"; - sha256 = "1k2ndnqrnc1y5ymic1g6jpigg2vg3k6y1j3mm413zh5p7lvx4ngy"; + version = "0.5.0"; + sha256 = "0qbdchfni89h0l28db37dl5ysjlzckby59ng7026xhjkk5c8iyrl"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Drive SDK"; license = "unknown"; @@ -90630,20 +97216,32 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-driveactivity"; - version = "0.4.0"; - sha256 = "0d4mbp7jryma7lr63cy819986q3plc4cgqfn217gydq7ajdzpqds"; + version = "0.5.0"; + sha256 = "1n2frzhrz1rfbxm6lcxyd13q99wwlyp7c6n4pjy87skvd332xqsg"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Drive Activity SDK"; license = "unknown"; hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "gogol-factchecktools" = callPackage + ({ mkDerivation, base, gogol-core }: + mkDerivation { + pname = "gogol-factchecktools"; + version = "0.5.0"; + sha256 = "1bga1plk1v57v6lpyk292ia0fzxks6lj0jq9d5gqz7k22yaqwzl5"; + libraryHaskellDepends = [ base gogol-core ]; + description = "Google Fact Check Tools SDK"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "gogol-file" = callPackage ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-file"; - version = "0.4.0"; - sha256 = "161xmzxsjynnfd51df7q553bmdzgmyvddd2dn84b3hc82n3xj4km"; + version = "0.5.0"; + sha256 = "1k0mc2vavnfpxx6h878iib3a15bp2h2mx7wq9pa3527syh5d424p"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Filestore SDK"; license = "unknown"; @@ -90654,8 +97252,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-firebase-dynamiclinks"; - version = "0.4.0"; - sha256 = "0qckmvkrgwa79c0zg1dlr0ihz666yfg2kilanjir0yylax2w87lb"; + version = "0.5.0"; + sha256 = "1hbknisl0358iznc45hhjixhdb3kh2b5chxiyq028ayl5w1p4rvn"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Firebase Dynamic Links SDK"; license = "unknown"; @@ -90666,8 +97264,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-firebase-rules"; - version = "0.4.0"; - sha256 = "0j8wd8vwbpiwkhijrlh9d4c004sqy0m99qxz9sv23nakmnmq04d0"; + version = "0.5.0"; + sha256 = "06779qj9vjhvzw0d60ddxlzmij7sjjv67npav670xkgs3q71b655"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Firebase Rules SDK"; license = "unknown"; @@ -90678,8 +97276,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-firebasehosting"; - version = "0.4.0"; - sha256 = "1g05b90fpyl2wqi3w0w6zp4qmzc82j4qvlja0ra5vnid129l5ll2"; + version = "0.5.0"; + sha256 = "0h2k4ymqn0r5vpgqb1pzcydmcwx2s0x4yim5j47b963qqwrwb7yc"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Firebase Hosting SDK"; license = "unknown"; @@ -90690,8 +97288,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-firebaseremoteconfig"; - version = "0.4.0"; - sha256 = "0x6k93d8gdff2byjwk47z84rmdbsr676nml1638mvq6vwx1d4zv1"; + version = "0.5.0"; + sha256 = "1qpv689lrizcv308303ajzjvkh9z4hs256ibnmlk0835xzwcw1qc"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Firebase Remote Config SDK"; license = "unknown"; @@ -90702,8 +97300,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-firestore"; - version = "0.4.0"; - sha256 = "07x7ksyx91wisah8lmmq3p4cln1wx1wzbyc2cwb5wp0n78r83hdh"; + version = "0.5.0"; + sha256 = "13y9g4h21mis26x663pv9lhi9i3r4s6x4pcnnwsk20a0s83k8x2k"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Firestore SDK"; license = "unknown"; @@ -90714,8 +97312,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-fitness"; - version = "0.4.0"; - sha256 = "0170r4pph2pfsp4phfq8sjj63cz6sn5nwlqsv8810zli4ghzrcsa"; + version = "0.5.0"; + sha256 = "0pbz6kjkrwcb1mz83gfmyf1mcdp6lsbdp450h79083xlpbwz0kwx"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Fitness SDK"; license = "unknown"; @@ -90726,8 +97324,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-fonts"; - version = "0.4.0"; - sha256 = "11cjwnil31sskinfzfgqcq1p5d8c7gzackba5ap5kydvs9l7k6hf"; + version = "0.5.0"; + sha256 = "0cgkdgvs65znknf1dpdr2jxn3wan705i89bwfzfwavwykacsjqbk"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Fonts Developer SDK"; license = "unknown"; @@ -90750,8 +97348,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-fusiontables"; - version = "0.4.0"; - sha256 = "0rb3h779wy1rw1hh0y1sdvz8wg31dbsa0980wbj12jlna13qaw82"; + version = "0.5.0"; + sha256 = "1bi9cjm7xn5dq74a7r5y95snbfjwljmfjl5pxfh2cjshpjgdpd67"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Fusion Tables SDK"; license = "unknown"; @@ -90762,8 +97360,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-games"; - version = "0.4.0"; - sha256 = "0asy79mx2aixh9fylzczr0d8wghzgkhf1xvssmc65w41gdw9w2gg"; + version = "0.5.0"; + sha256 = "0kdqw6l1fr37amhd830lyqrh87znbbbs2lxh7cbqr831gwj4qnpk"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Play Game Services SDK"; license = "unknown"; @@ -90774,8 +97372,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-games-configuration"; - version = "0.4.0"; - sha256 = "08g29wc9x872mq2179r9sq8sy7b8mbl4q2ak0z9wcknckn6ziq0c"; + version = "0.5.0"; + sha256 = "0j2psg58f6ilvnvdq88vmq1b462dpfssij1pa6y5xmm62gvvv6i5"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Play Game Services Publishing SDK"; license = "unknown"; @@ -90786,8 +97384,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-games-management"; - version = "0.4.0"; - sha256 = "1j43bfb0b4xmbjhzh732mncwqlz0j0vfx032kscfy4sx9hbb2kva"; + version = "0.5.0"; + sha256 = "0bnkv9vic8rly2ga4k73s8cnhvird3kv5nmy17560pw4q40a5d9n"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Play Game Services Management SDK"; license = "unknown"; @@ -90798,8 +97396,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-genomics"; - version = "0.4.0"; - sha256 = "1n0iqmfryqzslhq14h7sg2fxis8wbl0lkxbmcb6v51yi3cbp3ckv"; + version = "0.5.0"; + sha256 = "0cygvkm388g0scmy51b2dmkj6kzpcdwpxd0w98dfmwhgvln3xgl2"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Genomics SDK"; license = "unknown"; @@ -90810,8 +97408,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-gmail"; - version = "0.4.0"; - sha256 = "0fwayrrd510jm1qvsnqckar3hhvq7s2sbpzqxkj4hpgh221rmi7f"; + version = "0.5.0"; + sha256 = "053l0k1h2wmwgqzywswhhmwh2275n6psiy8bk684dkzvdj1msbkz"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Gmail SDK"; license = "unknown"; @@ -90822,8 +97420,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-groups-migration"; - version = "0.4.0"; - sha256 = "1d3r5qkcj9370ykg54lcfh0qmj5fs0al6k8zdjpqybr1rpfb2pnn"; + version = "0.5.0"; + sha256 = "1sbmnq1ivy8dcgngfprd7g5g08fvzgwhr5hrixg4gmw95hwplafi"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Groups Migration SDK"; license = "unknown"; @@ -90834,20 +97432,32 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-groups-settings"; - version = "0.4.0"; - sha256 = "0z7ljg2k99n0rmgy85sp1wqvmybl48y2cv91p5b2kz9jrn3bvg60"; + version = "0.5.0"; + sha256 = "0l1bwgwic8q252idfv8d6jamfqfghwxq4jkaan3dwwlgjc2b6b3a"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Groups Settings SDK"; license = "unknown"; hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "gogol-healthcare" = callPackage + ({ mkDerivation, base, gogol-core }: + mkDerivation { + pname = "gogol-healthcare"; + version = "0.5.0"; + sha256 = "1ny184rhkjs571ibnwznxhc8zxqc2bag7z0lj922v53js4bvbrld"; + libraryHaskellDepends = [ base gogol-core ]; + description = "Google Cloud Healthcare SDK"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "gogol-iam" = callPackage ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-iam"; - version = "0.4.0"; - sha256 = "04r8igvai15rh61pskg6pa4zgrl5ik0v4xk3kqqp8z9i927h1k1d"; + version = "0.5.0"; + sha256 = "1hxzg3v9b8va2s76q3jizz84vfjnjrckv5ysy9193dv6yk68h48p"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Identity and Access Management (IAM) SDK"; license = "unknown"; @@ -90858,8 +97468,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-iamcredentials"; - version = "0.4.0"; - sha256 = "0a5mx6fxp6k675bhysdpr2lg2i02y7x8a9w06gqqy77wa7p7a1jj"; + version = "0.5.0"; + sha256 = "021x1rgmws8r2mj1ji6wpj8lspn70m1pzal6zmj3j8cbgmvbzgra"; libraryHaskellDepends = [ base gogol-core ]; description = "Google IAM Service Account Credentials SDK"; license = "unknown"; @@ -90870,8 +97480,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-iap"; - version = "0.4.0"; - sha256 = "0ri312mp793ki23bp5kdlhpww2xj56p3zh5j865jvbsphm0jccvz"; + version = "0.5.0"; + sha256 = "04cph84f8h7qcg8jmz442qciq81ra2yw3jrffy8apyhy78x8zxlc"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Identity-Aware Proxy SDK"; license = "unknown"; @@ -90882,8 +97492,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-identity-toolkit"; - version = "0.4.0"; - sha256 = "0sw4ddfbd9x3h2w76y7r3l1rjmqdw1zv1haacsi21ipv1ic5jgf3"; + version = "0.5.0"; + sha256 = "12yqcxcqvmlcrjla1qx6j78dk5qnfa8mia4nv1rr9y728w0k2ski"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Identity Toolkit SDK"; license = "unknown"; @@ -90894,8 +97504,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-indexing"; - version = "0.4.0"; - sha256 = "0l3g0lyldf6m83jzrpk3h0jvz6h6w9jah2ink9p7d9pszjvnwwq5"; + version = "0.5.0"; + sha256 = "1vyxrl7abwkz1mc08id08ncm9f1qgpkwc9mriyx3hlr9cvdj2fb0"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Indexing SDK"; license = "unknown"; @@ -90906,8 +97516,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-jobs"; - version = "0.4.0"; - sha256 = "0d0mr7fmikxkwxws77cnsf2mvs2g6lsa993bbxlzn2qpal9h9qrs"; + version = "0.5.0"; + sha256 = "1azggfjas13dqhl9kzqpr8bvks1gbjg1q7ia64ssxdj19mx1d5ii"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Talent Solution SDK"; license = "unknown"; @@ -90918,8 +97528,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-kgsearch"; - version = "0.4.0"; - sha256 = "080391qg2vzw8ana00azdwjdrkwx0k7a1n0l341dgmdqcj0w02rh"; + version = "0.5.0"; + sha256 = "0ynll6mm551x0jbx6bar5p97hy29g6nfq9mshlapmv82n9i2qqk4"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Knowledge Graph Search SDK"; license = "unknown"; @@ -90930,8 +97540,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-language"; - version = "0.4.0"; - sha256 = "0j0z2x4h3db2gr1pham390xx66rili6yi68slr9hydfj5brm9129"; + version = "0.5.0"; + sha256 = "0hw181ha949q97yyg35yvwwshign43wxb2xkg482g4fq86b2iy3h"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Natural Language SDK"; license = "unknown"; @@ -90954,8 +97564,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-libraryagent"; - version = "0.4.0"; - sha256 = "0b90mvy1wj6dv6403wvm5qh0qdzfdf3ck9h8cd0bvf95iraknxly"; + version = "0.5.0"; + sha256 = "1jk46i3a9z5i1451gyjzmqahcjg3r1w03y2x64dfpc309zwivaar"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Library Agent SDK"; license = "unknown"; @@ -90966,8 +97576,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-logging"; - version = "0.4.0"; - sha256 = "1ln3m7n0lksjd8sbdy3dvnrixq0gv86jh643chnpdif24yradkqp"; + version = "0.5.0"; + sha256 = "0795dsyq28w3kgw3f96w99ax6v24lbahmr0mvyql1cx4z2slqp82"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Stackdriver Logging SDK"; license = "unknown"; @@ -90978,8 +97588,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-manufacturers"; - version = "0.4.0"; - sha256 = "0qar60zzbnpnpy1154ccynwn2k0sdkmrvxvlscjswsqhgdpbrziw"; + version = "0.5.0"; + sha256 = "1l7dpp39yszay5aykiq81qi1f7l3fyz2s8zskyl37lvb46mv9ywr"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Manufacturer Center SDK"; license = "unknown"; @@ -91014,8 +97624,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-mirror"; - version = "0.4.0"; - sha256 = "1vfwziz3jyhz7k96hdrrlvndxnnvqysl9bg0ipcss2h2aiha5yd0"; + version = "0.5.0"; + sha256 = "1nb7wydv7z5ip7jnj1928kfk57sk67ng3dhz9hq136lajl0lqy4r"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Mirror SDK"; license = "unknown"; @@ -91026,8 +97636,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-ml"; - version = "0.4.0"; - sha256 = "198hid538lxwav21r0pxkb57rlb6wzzgyjfylc20m02p72790858"; + version = "0.5.0"; + sha256 = "01n7jhi8p0db7dhbjm7ll3r6yqw0cfi6l48r1ms0kcrscdfij93v"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Machine Learning Engine SDK"; license = "unknown"; @@ -91038,8 +97648,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-monitoring"; - version = "0.4.0"; - sha256 = "0k0fxnym1xg0jvvssys76xvdx39jicd6cd507qg47izww0vzv618"; + version = "0.5.0"; + sha256 = "1754cssjhcfxn6g71vvq7jspgbwqn2a1821lhhn2ybhq8ngiay8i"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Stackdriver Monitoring SDK"; license = "unknown"; @@ -91050,8 +97660,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-oauth2"; - version = "0.4.0"; - sha256 = "07vjw6xwbrvihwhsy7v28gw9ww71skvscc0h21lgdibhksza2mzb"; + version = "0.5.0"; + sha256 = "0pnwmm0vn0hcdnww13b65ii5wapy8638svkf3srh2ap161ijf443"; libraryHaskellDepends = [ base gogol-core ]; description = "Google OAuth2 SDK"; license = "unknown"; @@ -91062,8 +97672,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-oslogin"; - version = "0.4.0"; - sha256 = "0k8g6lmclzhccdz5zyb4pnzv71d9cn429gi6px1jrls3w0ai8jih"; + version = "0.5.0"; + sha256 = "02gzg06qlli84wvq6cr1xch8qxk70r5kgs5hqaqfqsr7rg79vfvd"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud OS Login SDK"; license = "unknown"; @@ -91074,8 +97684,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-pagespeed"; - version = "0.4.0"; - sha256 = "0jgkvkpk1lw7jcjc04n8p4dw7m1by4jzi6i0c3r72sjiflmvxds3"; + version = "0.5.0"; + sha256 = "116diwib3xi34znhl9b2hx3y4m3nqyqfkry0zh2aqknrxx3mpyl7"; libraryHaskellDepends = [ base gogol-core ]; description = "Google PageSpeed Insights SDK"; license = "unknown"; @@ -91086,8 +97696,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-partners"; - version = "0.4.0"; - sha256 = "1035fn0ifypfv69ks9z1c960g28vkwkcfix1d01cmkmzn4a0m0wa"; + version = "0.5.0"; + sha256 = "12wfzjf3hvwba4ccnymxrqwk2hzi1zcw5h53iqk33yscx6s30jzm"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Partners SDK"; license = "unknown"; @@ -91098,8 +97708,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-people"; - version = "0.4.0"; - sha256 = "1x5vz0i722fj6ps7ggmjb2xnxbbyrln2s3940w575gb79c0lfji3"; + version = "0.5.0"; + sha256 = "01msa1r6p96kgz9isnnqy6ndsrh579c25m9sw43azsij8l1dd43j"; libraryHaskellDepends = [ base gogol-core ]; description = "Google People SDK"; license = "unknown"; @@ -91122,8 +97732,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-play-moviespartner"; - version = "0.4.0"; - sha256 = "0wrhx81pph7yw0a613k66l1p9h21y9vadi3ax8ah5ciy1vxnymh8"; + version = "0.5.0"; + sha256 = "0cjkikknkk4la3nlw8mn1r0xdq871sd9wakyvsznm9wjqrzysn97"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Play Movies Partner SDK"; license = "unknown"; @@ -91134,8 +97744,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-playcustomapp"; - version = "0.4.0"; - sha256 = "1hb0498mm8fxl93bwjr633yi371kib27nrd7ba3nylrnv21bxp8k"; + version = "0.5.0"; + sha256 = "0dfiwncjngfaj5i3sf38q3qkrlggvpiw9d08xpwr5rbcbi9qp43i"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Play Custom App Publishing SDK"; license = "unknown"; @@ -91146,8 +97756,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-plus"; - version = "0.4.0"; - sha256 = "0n546pnmvsfjp32xy2xcqlns1f06ipx0ll0kiblsalrq16gd2bcr"; + version = "0.5.0"; + sha256 = "00njgd754pzyss5n3ilnaqr1qd1f4rfz1q9m4x1a3g73fja1yzgh"; libraryHaskellDepends = [ base gogol-core ]; description = "Google + SDK"; license = "unknown"; @@ -91158,8 +97768,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-plus-domains"; - version = "0.4.0"; - sha256 = "07nz7chwi9mls8i3h949p1ip7bfd39n61f1928x1ffik3kzrybpv"; + version = "0.5.0"; + sha256 = "1p3qdj0vjz01yrkdjxsikriy755028v4yhw1d27ypriqh7k5widk"; libraryHaskellDepends = [ base gogol-core ]; description = "Google + Domains SDK"; license = "unknown"; @@ -91170,8 +97780,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-poly"; - version = "0.4.0"; - sha256 = "1ixidwaczgsys7pnj4pf67j61pa250nhvb9ip0fb9lb93l0ykijd"; + version = "0.5.0"; + sha256 = "1da600ahg4x5k8vsw37cr5wrqrz8sq3mhir874fk5xpf2kdqdmkp"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Poly SDK"; license = "unknown"; @@ -91182,8 +97792,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-prediction"; - version = "0.4.0"; - sha256 = "06miyjhxvyp05nvdni56h4ldhs0ca3sl3n4nrx8fc6s2dam83q8b"; + version = "0.5.0"; + sha256 = "17dkm1wi5im1an1izcca2v432c2d86i74h6wlcyy92g7a86ajc2f"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Prediction SDK"; license = "unknown"; @@ -91194,8 +97804,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-proximitybeacon"; - version = "0.4.0"; - sha256 = "17gmd37mrg86afbx3rn4y4c48k8mi81dwrc4697rbhripviqf4fm"; + version = "0.5.0"; + sha256 = "1n49i32isjx3iljj035yc4y1lv3d01mpf15ab4ji49x01a0qfs5a"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Proximity Beacon SDK"; license = "unknown"; @@ -91206,8 +97816,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-pubsub"; - version = "0.4.0"; - sha256 = "0cjdmfzhxk3rb55q2aza8vs0p1p51j1i5ypnafwcnhvx90910074"; + version = "0.5.0"; + sha256 = "1pfw3pz8yr7slbyhp9rf32brqck2l2a60lx3ysz4pjjmfc72rahz"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Pub/Sub SDK"; license = "unknown"; @@ -91218,8 +97828,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-qpxexpress"; - version = "0.4.0"; - sha256 = "02p4jncgfcr8jbwldjyc2zn7p6nwbjccw8la1dy9dy2c863pvjrj"; + version = "0.5.0"; + sha256 = "1xqlqv680w1rr3sqzq5k8kk1xcxagh8zk5g6rqs83xjr1j5lfmsr"; libraryHaskellDepends = [ base gogol-core ]; description = "Google QPX Express SDK"; license = "unknown"; @@ -91230,8 +97840,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-redis"; - version = "0.4.0"; - sha256 = "1jka9qfnhsrg3i7d7adcigwimffp3w3fm65dvz905d5sk0fkja0j"; + version = "0.5.0"; + sha256 = "0x774h1pryr12s6ndcgdvbwqx1nw2sc8yln147hjf4mg3fva6gkc"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Memorystore for Redis SDK"; license = "unknown"; @@ -91242,8 +97852,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-remotebuildexecution"; - version = "0.4.0"; - sha256 = "1p2llw3l79313hp3lmd2gvbfhxgyzw6g4yw08psi0zb3iqz5gqaj"; + version = "0.5.0"; + sha256 = "037biha22xv1ayb3zxx5dc7a86sbmr5zwmg1m24f3bbsgjfnn5ms"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Remote Build Execution SDK"; license = "unknown"; @@ -91254,8 +97864,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-replicapool"; - version = "0.4.0"; - sha256 = "1xdspcwbcfd48gf80i6dwnhllnbm4rh8c1wfk31gs52y5w3haxgd"; + version = "0.5.0"; + sha256 = "173ywr9vc69jf5s5vncwjby75mgfbfxw3m42jyi7dcyrxc4jbg68"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Replica Pool SDK"; license = "unknown"; @@ -91266,8 +97876,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-replicapool-updater"; - version = "0.4.0"; - sha256 = "0xw7js7b1w633z56bq7lz4kw7m2gz7c4my3gc868s4xv4a4hzsga"; + version = "0.5.0"; + sha256 = "1wi8x5zj61daln96dqlhq8ki57kl2k6jjz4sm1lbqffcgq66743d"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Compute Engine Instance Group Updater SDK"; license = "unknown"; @@ -91278,8 +97888,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-resourcemanager"; - version = "0.4.0"; - sha256 = "04kvnzf20km94dx6znx3zravqi3khl3kws6y9rxwjivhiyim11dp"; + version = "0.5.0"; + sha256 = "1sd8zaigvpbq591nwsjyxf9jf9hxc00mjhwfc0i6mahbgax73764"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Resource Manager SDK"; license = "unknown"; @@ -91298,12 +97908,24 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "gogol-run" = callPackage + ({ mkDerivation, base, gogol-core }: + mkDerivation { + pname = "gogol-run"; + version = "0.5.0"; + sha256 = "0219vjrlpq16akzwsbk8kfh7p8gc8kkczcvg5a3l6lssxjp87lfg"; + libraryHaskellDepends = [ base gogol-core ]; + description = "Google Cloud Run SDK"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "gogol-runtimeconfig" = callPackage ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-runtimeconfig"; - version = "0.4.0"; - sha256 = "16nykcs4iknqnyj3p1wdqvdb5sbmg0mqf1qvm291q3vsf9hsapjb"; + version = "0.5.0"; + sha256 = "057qlad1mipdyif8n6wmhwinknnf0qgb65wbw0484b2yzcdj3zd1"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Runtime Configuration SDK"; license = "unknown"; @@ -91314,8 +97936,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-safebrowsing"; - version = "0.4.0"; - sha256 = "1lw498y5dbb2yq9zigsw9cq5rkhzvvix94m4ir9d4ifa29xi9fmp"; + version = "0.5.0"; + sha256 = "0690xz81mz8gn0qgkg11y5sx57kjmvd4lryqw8rblrh7ixypn8wb"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Safe Browsing SDK"; license = "unknown"; @@ -91326,8 +97948,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-script"; - version = "0.4.0"; - sha256 = "08w8xln6wcvcp911vmfaixzgwfmg4jxazprkyrr8mwg4l45nr15s"; + version = "0.5.0"; + sha256 = "1ckjj9i8fqd3igz7bnjmri5pgj3risqarcivrr3nmd1d045rx1zx"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Apps Script SDK"; license = "unknown"; @@ -91338,20 +97960,32 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-searchconsole"; - version = "0.4.0"; - sha256 = "1m49h2kcs2xkxk5hy3kvyi2s3wfylkdwkfh8ckkv0nfcjxz0nxvx"; + version = "0.5.0"; + sha256 = "0k971p9c4yhscnxxfhxlb5wnkzjxd2k9q8qnxlbnvp7ch7z1yv00"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Search Console URL Testing Tools SDK"; license = "unknown"; hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "gogol-securitycenter" = callPackage + ({ mkDerivation, base, gogol-core }: + mkDerivation { + pname = "gogol-securitycenter"; + version = "0.5.0"; + sha256 = "1axvvz60vdvjpd9bd0516fhbqnk8cjb3x52sgf42fq00dhwxy3mj"; + libraryHaskellDepends = [ base gogol-core ]; + description = "Google Cloud Security Command Center SDK"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "gogol-servicebroker" = callPackage ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-servicebroker"; - version = "0.4.0"; - sha256 = "15cd8hscgddwzafjcl5zj47qbv5pfs5x44h3h39315xyabps3l01"; + version = "0.5.0"; + sha256 = "13726hq8c3g7gqwz2zrzx0k6vywv5ggd6bl90kkw09118zvyc13a"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Service Broker SDK"; license = "unknown"; @@ -91362,8 +97996,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-serviceconsumermanagement"; - version = "0.4.0"; - sha256 = "0mql8dlw07dmqrs98yb7wpgpz2dsa4y6npp9brakxpglnhqnncgi"; + version = "0.5.0"; + sha256 = "1pln47lpr1wb9w84z8lmskbn49456k9h4awi67mdfg10jzh4n46j"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Service Consumer Management SDK"; license = "unknown"; @@ -91374,8 +98008,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-servicecontrol"; - version = "0.4.0"; - sha256 = "08xy568njzlpgs7crrxizv0nv2j9jrm3f28mv2zc3pvpi6hvf6in"; + version = "0.5.0"; + sha256 = "01vfjg16x6vpabvb1q2ipnv04j7r7fxxvcbjgq08phq0fnnk8sd1"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Service Control SDK"; license = "unknown"; @@ -91386,8 +98020,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-servicemanagement"; - version = "0.4.0"; - sha256 = "1z9km7g6550kpwb9g0x43960xra2p0zaqc5kiy0pxzg84spwx300"; + version = "0.5.0"; + sha256 = "0bzcv7z5n2ykkydq4wc5ka11cc82y17x4rb26k3hbsak62qx67j2"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Service Management SDK"; license = "unknown"; @@ -91398,8 +98032,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-servicenetworking"; - version = "0.4.0"; - sha256 = "15f09ixf7lw0knb3vclj27fp8y7x818rhpkdvs2a22crsk7wai31"; + version = "0.5.0"; + sha256 = "1aja2maxgjhxgqf6agngbx37w02ifb1b5ypnqdwwpi1615qxvrsh"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Service Networking SDK"; license = "unknown"; @@ -91410,8 +98044,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-serviceusage"; - version = "0.4.0"; - sha256 = "1dc56jlz9qyq3x2acpgb55hjdxdgq73bgik9yc57h0cr237g46pp"; + version = "0.5.0"; + sha256 = "0zvnd7pl5q73kzdx2x19zrw0rk334l8xlqawlbl5p1zimvvsbpkl"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Service Usage SDK"; license = "unknown"; @@ -91422,8 +98056,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-serviceuser"; - version = "0.4.0"; - sha256 = "04akaaw9in2s1q4mf6w7isg3p8ck5mg904lanmidbsz01x70mflq"; + version = "0.5.0"; + sha256 = "1xfgp5nm23c8hjzkjamk4qc6qs5j4q3z5pxrlsbnir7lqv73jnwf"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Service User SDK"; license = "unknown"; @@ -91434,8 +98068,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-sheets"; - version = "0.4.0"; - sha256 = "12v7lrp6b0jiv7rcicxw7p9b7jr768wamhddvglib98ravcjr5n3"; + version = "0.5.0"; + sha256 = "0wl00f6p5qylbffhm3jw0123aqfc3acls91150nj3ncfl55q0g28"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Sheets SDK"; license = "unknown"; @@ -91446,8 +98080,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-shopping-content"; - version = "0.4.0"; - sha256 = "1pkh3f7yjh9g1crqkxpxl6fac4ca9rlnf6d4v2nhmjrjr8spwrmr"; + version = "0.5.0"; + sha256 = "0b7i6vc5cw1sigvkpn8k1q8k06alx36h7fw520swhyk2p3v5shmh"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Content API for Shopping SDK"; license = "unknown"; @@ -91458,8 +98092,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-siteverification"; - version = "0.4.0"; - sha256 = "1z4f8lmw5pgzj5h6pdayrgs83yhxbslkhp2c69ykl4n85qzsrdvk"; + version = "0.5.0"; + sha256 = "0lapqji0cwf0gqp4855wqg8h1xd61bncya5b7b25lnqlld7gnp9w"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Site Verification SDK"; license = "unknown"; @@ -91470,8 +98104,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-slides"; - version = "0.4.0"; - sha256 = "0br96z0lvdqbbd4jr9qjisjx83a8w76hrqs68pxiyrpkdkq5vd81"; + version = "0.5.0"; + sha256 = "0b76hx0bllbpb25d59pqlz0clcv34pkw8rpd7g7g1916sqrsd7dx"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Slides SDK"; license = "unknown"; @@ -91482,8 +98116,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-sourcerepo"; - version = "0.4.0"; - sha256 = "1r57m08ggz8j9r6wya7wkhvnb8answ7mkvm9vsw7sp6vh6bfqn30"; + version = "0.5.0"; + sha256 = "0j3hcc9fq2aksx1nrvrb0g6xwv86a4n8l2vfgyyzji3gknbqx9ff"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Source Repositories SDK"; license = "unknown"; @@ -91494,8 +98128,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-spanner"; - version = "0.4.0"; - sha256 = "1zk0078ig63rmqdxm02bw4x8a4a0dmlqw8f3cmay0w85991m0kkz"; + version = "0.5.0"; + sha256 = "0z9aycaqp3rb798mcrmrni9jfa8r9j2gjgmlxjx9icg9wh4bs5h4"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Spanner SDK"; license = "unknown"; @@ -91506,8 +98140,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-spectrum"; - version = "0.4.0"; - sha256 = "1x8z4h7g7a60pkdb4j7j85i0wvn4vpi3zjm2g0m91gzghgwankx0"; + version = "0.5.0"; + sha256 = "12h0rgnldgjf6qkvjbjsjcbw9vn3wlbs02baybyf70hmp58n8f0k"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Spectrum Database SDK"; license = "unknown"; @@ -91518,10 +98152,10 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-speech"; - version = "0.4.0"; - sha256 = "1syq64vrdbvyi3ch4ppz2aczf37nc0whns00hv8rg7v2w6mwa3kf"; + version = "0.5.0"; + sha256 = "1snmajsca1fdq1c98f1pqvghlwgff6vsmz47wvwsjjjqz15nx9j1"; libraryHaskellDepends = [ base gogol-core ]; - description = "Google Cloud Speech SDK"; + description = "Google Cloud Speech-to-Text SDK"; license = "unknown"; hydraPlatforms = stdenv.lib.platforms.none; }) {}; @@ -91530,8 +98164,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-sqladmin"; - version = "0.4.0"; - sha256 = "1vqwylh42bi1rz8fykrpkdfsy06d901mnz5k8bikbq3fv5hc853m"; + version = "0.5.0"; + sha256 = "0yyamr3mgwg1gxy1w258gg6gvzcymmqmknkabgxp2p5kkqsyqgv1"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud SQL Admin SDK"; license = "unknown"; @@ -91542,8 +98176,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-storage"; - version = "0.4.0"; - sha256 = "1cn41jzrwxyxwmb96wgb42pbslhh3rnydnyc6yvi37n6ngp49gab"; + version = "0.5.0"; + sha256 = "0jsmgb311iinbmj12chbch3z0d56k9vqqvhjzfcilx05m1pm9xan"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Storage JSON SDK"; license = "unknown"; @@ -91554,8 +98188,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-storage-transfer"; - version = "0.4.0"; - sha256 = "0vdqqlv0c45k0xp1plxj8jzrb5xbkj258v7q50zi1jijv0rqnj2i"; + version = "0.5.0"; + sha256 = "1zlfszkh59p4pca2n2scxa02ln4va6k5vjz41186350lfxqwba4r"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Storage Transfer SDK"; license = "unknown"; @@ -91566,8 +98200,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-streetviewpublish"; - version = "0.4.0"; - sha256 = "0gyxs1kawqvbz851hd587zw999vbggv0z4hc5glc3saskl41nvpf"; + version = "0.5.0"; + sha256 = "07w3s049sglcvh8s94kbhj8l3irscji9s14bl493p7bwj1n3dbsb"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Street View Publish SDK"; license = "unknown"; @@ -91578,8 +98212,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-surveys"; - version = "0.4.0"; - sha256 = "1x15hdm3p7zfqadb5xnms0d6cp1gg1kk0xc81zls4hg6ryzpw43k"; + version = "0.5.0"; + sha256 = "0p9qkqxddgv8m24h2g58hiwhcpwndxl9r9gifjgpbh4mlcsx42q1"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Surveys SDK"; license = "unknown"; @@ -91590,8 +98224,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-tagmanager"; - version = "0.4.0"; - sha256 = "0faihzsl4i4h7ns618c1dsih9a9xplvpixmnivpxyq4z18c7mzip"; + version = "0.5.0"; + sha256 = "116wc01i63q519bbqdi7ln12cvbfdsf6jdfbxrmz7zrzj4zw27l5"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Tag Manager SDK"; license = "unknown"; @@ -91614,8 +98248,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-testing"; - version = "0.4.0"; - sha256 = "1qfv2qi7l2dqv7bqj1ajbmpi77a4gcr2hywjyk2s3ixyv8m97j8g"; + version = "0.5.0"; + sha256 = "1fawwvbcy51ri9szfiknkrqvhapdhfw2qpbvdf10mjn5jpiqmj39"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Testing SDK"; license = "unknown"; @@ -91626,8 +98260,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-texttospeech"; - version = "0.4.0"; - sha256 = "18jxvrfr90jza5k75bmnf8g2z06z5m7c14hjshi39vf8x45sh8bv"; + version = "0.5.0"; + sha256 = "0na9qf1307lg9bf23pd20wic530hy8hdqy95g65gdjz9g2969flk"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Text-to-Speech SDK"; license = "unknown"; @@ -91638,8 +98272,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-toolresults"; - version = "0.4.0"; - sha256 = "1kh3vyzgg21sy4pl9gxx06g2pvyd4n6b6m0slq0wi160zhwnbm3b"; + version = "0.5.0"; + sha256 = "1m84mv6nbbf142ss1dgk91qhciy9wlfshf3hybb364wxqf4bkq93"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Tool Results SDK"; license = "unknown"; @@ -91650,8 +98284,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-tpu"; - version = "0.4.0"; - sha256 = "0wf8arqp75rzs862s9b6jg9s2g39kmrw60mgx1n5fn13vj88i931"; + version = "0.5.0"; + sha256 = "1w6qcqz13sgk05i49nkx6pkxgsyc8pxy0rjyqlbribiwy30isxv3"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud TPU SDK"; license = "unknown"; @@ -91662,8 +98296,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-tracing"; - version = "0.4.0"; - sha256 = "10k5fr7m8m60z5bd87y54j68kq09ybh95mnaw5fzy44xr3w7jbwy"; + version = "0.5.0"; + sha256 = "12f84mhfyckic7kq92xyry4xfipic50znzm4q37vphjfsv9m9r4i"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Tracing SDK"; license = "unknown"; @@ -91674,8 +98308,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-translate"; - version = "0.4.0"; - sha256 = "0vkls4digsig95d54fzc6s222h9zvyqrivnyksyir6d897awfagn"; + version = "0.5.0"; + sha256 = "1ida8wkwp0fqvzsnbd99c842b6a3bcg5nw84aicffn95vwbl9rma"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Translation SDK"; license = "unknown"; @@ -91686,8 +98320,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-urlshortener"; - version = "0.4.0"; - sha256 = "05in4ydrjd9xjijb1mvzyn1z2caijg1jyby3lmd11i8bmwdjllq3"; + version = "0.5.0"; + sha256 = "0a5fxcrmwjncxz6l9mhgj44i8lk8rnbgqacvkdmmhylc0yh3al2l"; libraryHaskellDepends = [ base gogol-core ]; description = "Google URL Shortener SDK"; license = "unknown"; @@ -91710,8 +98344,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-vault"; - version = "0.4.0"; - sha256 = "16jrgigvhcl05fykxfh6qa4zdbibdf9rhig2i367h121k28l56lw"; + version = "0.5.0"; + sha256 = "1dzk79y10396qq6l3y7zs9jm5rga02yxvdhp8dm7af9lb3izmjnc"; libraryHaskellDepends = [ base gogol-core ]; description = "Google G Suite Vault SDK"; license = "unknown"; @@ -91722,8 +98356,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-videointelligence"; - version = "0.4.0"; - sha256 = "0xpayfcxcaq3lgbnr1q5yl8nx635kly6y1cdc18dq9a7y79fhxzb"; + version = "0.5.0"; + sha256 = "16jczzbvk4ww8li0yyk6clx4l2b28g48pxsckic9sdsqy5xj709c"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Video Intelligence SDK"; license = "unknown"; @@ -91734,8 +98368,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-vision"; - version = "0.4.0"; - sha256 = "0w5jini2yhm33pa38mkqkw2lpxjrxal9q6h1dh6kmr2lh489lcb0"; + version = "0.5.0"; + sha256 = "1h71p2a35lwj3p8zw6mvzxas9yyw5diss0lyg2w2nqsx8cynh7rb"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Cloud Vision SDK"; license = "unknown"; @@ -91746,8 +98380,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-webmaster-tools"; - version = "0.4.0"; - sha256 = "1ahjxr2m4x3bn5hjk7sygkpwnh7cy75cw7jap3p8qr9akqc5pb48"; + version = "0.5.0"; + sha256 = "029kbgzsbqyd8mbflkca8djmavmphddcldkjf8ds5jkp1qpqnnha"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Search Console SDK"; license = "unknown"; @@ -91758,8 +98392,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-websecurityscanner"; - version = "0.4.0"; - sha256 = "1z6dk8a538ljkba82k9x8jlvwb9qxhc1wfm5h9fgyhwa671fhj3y"; + version = "0.5.0"; + sha256 = "1mcr0cs8pnlbwwsmlwjmkclvcwdwzhg2zqw9bqljw3iism43m9dq"; libraryHaskellDepends = [ base gogol-core ]; description = "Google Web Security Scanner SDK"; license = "unknown"; @@ -91770,8 +98404,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-youtube"; - version = "0.4.0"; - sha256 = "1vi8mmiagfq4i34q7hcw85mz02l7pjd9ri8g5vk62b8n1kki46lf"; + version = "0.5.0"; + sha256 = "0gamhcnhvxkybsnikwrlmin0fkf1h3fcflk4vg1zcm1sg7sk9xlj"; libraryHaskellDepends = [ base gogol-core ]; description = "Google YouTube Data SDK"; license = "unknown"; @@ -91782,8 +98416,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-youtube-analytics"; - version = "0.4.0"; - sha256 = "1hq2g199i8wpr7br21ijsryk2dgv5rr7zryv5xsrql04mqiwq9d0"; + version = "0.5.0"; + sha256 = "0fnrmabcw5kfl8s5nam6wl8qr6ri693wk6wlhvynj1skc54v6l4s"; libraryHaskellDepends = [ base gogol-core ]; description = "Google YouTube Analytics SDK"; license = "unknown"; @@ -91794,8 +98428,8 @@ self: { ({ mkDerivation, base, gogol-core }: mkDerivation { pname = "gogol-youtube-reporting"; - version = "0.4.0"; - sha256 = "060bha9j7fsyhbq94md5c26dg2xqfzsfkw0jmqv3shsbjd1k4993"; + version = "0.5.0"; + sha256 = "0cb88q2g67cx9zndf40a0c62cw7r32g1ps12a2ks0gz863bq53vn"; libraryHaskellDepends = [ base gogol-core ]; description = "Google YouTube Reporting SDK"; license = "unknown"; @@ -91812,6 +98446,7 @@ self: { description = "Graphical user interfaces that are renderable, change over time and eventually produce a value"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "google-cloud" = callPackage @@ -91832,6 +98467,7 @@ self: { description = "Client for the Google Cloud APIs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "google-dictionary" = callPackage @@ -91867,6 +98503,7 @@ self: { description = "Google Drive API access"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "google-html5-slide" = callPackage @@ -91886,6 +98523,7 @@ self: { description = "Google HTML5 Slide generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "google-isbn" = callPackage @@ -91917,6 +98555,7 @@ self: { description = "Write GMail filters and output to importable XML"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "google-maps-geocoding" = callPackage @@ -91934,6 +98573,7 @@ self: { description = "Bindings to the Google Geocoding API (formerly Maps Geocoding API)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "google-oauth2" = callPackage @@ -91955,6 +98595,7 @@ self: { description = "Google OAuth2 token negotiation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "google-oauth2-easy" = callPackage @@ -91975,6 +98616,7 @@ self: { description = "Opininated use of Google Authentication for ease"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "google-oauth2-for-cli" = callPackage @@ -92019,6 +98661,7 @@ self: { description = "EDSL for Google and GMail search expressions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "google-server-api" = callPackage @@ -92031,8 +98674,8 @@ self: { }: mkDerivation { pname = "google-server-api"; - version = "0.3.1.0"; - sha256 = "12n3cd4k515z8shi6klxa2s3cbccqk8h38y45h1lqk1j8ydp3r21"; + version = "0.3.1.1"; + sha256 = "0rkjwib59iz07pcjlq7b16i8zivf8wpy4p0l2i6wr13vfhkq75js"; libraryHaskellDepends = [ aeson aeson-casing base base64-bytestring bytestring HsOpenSSL http-api-data http-client http-client-tls mime-mail monad-control @@ -92041,7 +98684,6 @@ self: { ]; description = "Google APIs for server to server applications"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "google-static-maps" = callPackage @@ -92062,6 +98704,7 @@ self: { description = "Bindings to the Google Maps Static API (formerly Static Maps API)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "google-translate" = callPackage @@ -92079,6 +98722,7 @@ self: { description = "Google Translate API bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "googleplus" = callPackage @@ -92097,6 +98741,7 @@ self: { description = "Haskell implementation of the Google+ API v1"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "googlepolyline" = callPackage @@ -92116,6 +98761,7 @@ self: { description = "Google Polyline Encoder/Decoder"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gopher-proxy" = callPackage @@ -92125,8 +98771,8 @@ self: { }: mkDerivation { pname = "gopher-proxy"; - version = "0.1.1.1"; - sha256 = "0kfg995ng54sf4lndz9grl5vxyxms0xxmcgq1xhcgmhis8bwr1cd"; + version = "0.1.1.2"; + sha256 = "1ji7gfvcagvnv716ii6hwlv3g1np9iif7dk94mg42k265j30h4gh"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -92136,7 +98782,6 @@ self: { ]; description = "proxy gopher over http"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gopherbot" = callPackage @@ -92155,6 +98800,7 @@ self: { description = "Spidering robot to download files from Gopherspace"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gore-and-ash" = callPackage @@ -92174,6 +98820,7 @@ self: { description = "Core of FRP game engine called Gore&Ash"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gore-and-ash-actor" = callPackage @@ -92192,6 +98839,7 @@ self: { description = "Gore&Ash engine extension that implements actor style of programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gore-and-ash-async" = callPackage @@ -92215,6 +98863,7 @@ self: { description = "Core module for Gore&Ash engine that embeds async IO actions into game loop"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gore-and-ash-demo" = callPackage @@ -92241,6 +98890,7 @@ self: { description = "Demonstration game for Gore&Ash game engine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gore-and-ash-glfw" = callPackage @@ -92258,6 +98908,7 @@ self: { description = "Core module for Gore&Ash engine for GLFW input events"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gore-and-ash-lambdacube" = callPackage @@ -92278,6 +98929,7 @@ self: { description = "Core module for Gore&Ash engine that do something"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gore-and-ash-logging" = callPackage @@ -92297,6 +98949,7 @@ self: { description = "Core module for gore-and-ash with logging utilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gore-and-ash-network" = callPackage @@ -92319,6 +98972,7 @@ self: { description = "Core module for Gore&Ash engine with low level network API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gore-and-ash-sdl" = callPackage @@ -92338,6 +98992,7 @@ self: { description = "Gore&Ash core module for integration with SDL library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gore-and-ash-sync" = callPackage @@ -92358,6 +99013,26 @@ self: { description = "Gore&Ash module for high level network synchronization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "gothic" = callPackage + ({ mkDerivation, aeson, base, binary, bytestring, connection + , exceptions, hashable, http-client, http-client-tls, http-conduit + , http-types, lens, lens-aeson, scientific, text, unix + , unordered-containers, vector + }: + mkDerivation { + pname = "gothic"; + version = "0.1.1"; + sha256 = "0bm8m77lcvi9c8smv0z4n23f6gw3aw47g0q47aqjcpipwmjcqvhm"; + libraryHaskellDepends = [ + aeson base binary bytestring connection exceptions hashable + http-client http-client-tls http-conduit http-types lens lens-aeson + scientific text unix unordered-containers vector + ]; + description = "A Haskell Vault KVv2 secret engine client"; + license = stdenv.lib.licenses.bsd3; }) {}; "gotta-go-fast" = callPackage @@ -92376,6 +99051,7 @@ self: { description = "A command line utility for practicing typing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gpah" = callPackage @@ -92397,6 +99073,7 @@ self: { description = "Generic Programming Use in Hackage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gpcsets" = callPackage @@ -92418,6 +99095,8 @@ self: { pname = "gpio"; version = "0.1.0.3"; sha256 = "1ky4i7hyx2cmxj75kx34b8w4rxrvags88xm7fbfjsb76bs1m9z10"; + revision = "1"; + editedCabalFile = "076vk0xf92ijl0yr1mcfnzmdlgm76nzk4s8k1xwmf6b1vj8240s7"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -92460,6 +99139,7 @@ self: { description = "For manipulating GPS coordinates and trails"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gps2htmlReport" = callPackage @@ -92481,6 +99161,7 @@ self: { description = "GPS to HTML Summary Report"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gpx-conduit" = callPackage @@ -92498,6 +99179,36 @@ self: { description = "Read GPX files using conduits"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "grab" = callPackage + ({ mkDerivation, base, criterion, hedgehog }: + mkDerivation { + pname = "grab"; + version = "0.0.0.1"; + sha256 = "1jsi8g538w4a441w412siqvrkzmvx8sff74nax93b5paiaqfwcrf"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base hedgehog ]; + benchmarkHaskellDepends = [ base criterion ]; + description = "Applicative non-linear consumption"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "grab-form" = callPackage + ({ mkDerivation, base, containers, grab, hedgehog, text }: + mkDerivation { + pname = "grab-form"; + version = "0.0.0.2"; + sha256 = "1mi21d3p7jwmwmn69f7xy6zkks0w11kkwwvzmhxsd84zsafnis8k"; + libraryHaskellDepends = [ base containers grab text ]; + testHaskellDepends = [ base containers hedgehog text ]; + description = "Applicative parsers for form parameter lists"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graceful" = callPackage @@ -92515,6 +99226,20 @@ self: { description = "Library to write graceful shutdown / upgrade service"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "grafana" = callPackage + ({ mkDerivation, aeson, aeson-pretty, base, bytestring, text }: + mkDerivation { + pname = "grafana"; + version = "0.1"; + sha256 = "0k8a8bwyn9hvn4j3wn4crqdjg2xh36zxlka0ddx3qj6fmbfl1lps"; + libraryHaskellDepends = [ + aeson aeson-pretty base bytestring text + ]; + description = "grafana datatypes for dashboards"; + license = stdenv.lib.licenses.bsd3; }) {}; "graflog" = callPackage @@ -92534,6 +99259,7 @@ self: { description = "Monadic correlated log events"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "grakn" = callPackage @@ -92558,6 +99284,7 @@ self: { description = "A Haskell client for Grakn"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "grammar-combinators" = callPackage @@ -92576,6 +99303,7 @@ self: { description = "A parsing library of context-free grammar combinators"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "grammatical-parsers" = callPackage @@ -92586,8 +99314,8 @@ self: { }: mkDerivation { pname = "grammatical-parsers"; - version = "0.3.2"; - sha256 = "1xmxjds8jpg8q3vmmrypcz3gcjwv9sxyxmpkcrlrjm0wziv175x7"; + version = "0.4"; + sha256 = "0cn912rq65k234y12wwbh07wfps107i43s374lddajb853jq3wr6"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -92608,6 +99336,7 @@ self: { description = "parsers that combine into grammars"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "grapefruit-examples" = callPackage @@ -92625,6 +99354,7 @@ self: { description = "Examples using the Grapefruit library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "grapefruit-frp" = callPackage @@ -92643,6 +99373,7 @@ self: { description = "Functional Reactive Programming core"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "grapefruit-records" = callPackage @@ -92655,6 +99386,7 @@ self: { description = "A record system for Functional Reactive Programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "grapefruit-ui" = callPackage @@ -92674,6 +99406,7 @@ self: { description = "Declarative user interface programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "grapefruit-ui-gtk" = callPackage @@ -92694,6 +99427,7 @@ self: { description = "GTK+-based backend for declarative user interface programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph" = callPackage @@ -92762,6 +99496,7 @@ self: { description = "An implementation of algorithms for matchings in graphs"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph-rewriting" = callPackage @@ -92776,6 +99511,7 @@ self: { description = "Monadic graph rewriting of hypergraphs with ports and multiedges"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph-rewriting-cl" = callPackage @@ -92796,6 +99532,7 @@ self: { description = "Interactive graph rewriting system implementing various well-known combinators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph-rewriting-gl" = callPackage @@ -92813,6 +99550,7 @@ self: { description = "OpenGL interface for interactive port graph rewriting"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph-rewriting-lambdascope" = callPackage @@ -92835,6 +99573,7 @@ self: { description = "Lambdascope, an optimal evaluator of the lambda calculus, as an interactive graph-rewriting system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph-rewriting-layout" = callPackage @@ -92851,6 +99590,7 @@ self: { description = "Force-directed node placement intended for incremental graph drawing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph-rewriting-ski" = callPackage @@ -92871,6 +99611,7 @@ self: { description = "Two evalutors of the SKI combinator calculus as interactive graph rewrite systems"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph-rewriting-strategies" = callPackage @@ -92887,6 +99628,7 @@ self: { description = "Evaluation strategies for port-graph rewriting systems"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph-rewriting-trs" = callPackage @@ -92909,6 +99651,7 @@ self: { description = "Evaluate first-order applicative term rewrite systems interactively using graph reduction"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph-rewriting-ww" = callPackage @@ -92930,6 +99673,7 @@ self: { description = "Evaluator of the lambda-calculus in an interactive graph rewriting system with explicit sharing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph-serialize" = callPackage @@ -92942,6 +99686,7 @@ self: { description = "Serialization of data structures with references"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph-utils" = callPackage @@ -92958,6 +99703,7 @@ self: { description = "A simple wrapper & quasi quoter for fgl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph-visit" = callPackage @@ -92974,6 +99720,7 @@ self: { description = "Graph walk abstraction"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graph-wrapper" = callPackage @@ -93008,6 +99755,7 @@ self: { description = "A declarative, monadic graph construction language for small graphs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graphene" = callPackage @@ -93025,6 +99773,7 @@ self: { description = "A minimal Graph Theory library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graphics-drawingcombinators" = callPackage @@ -93043,6 +99792,7 @@ self: { description = "A functional interface to 2D drawing in OpenGL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graphics-formats-collada" = callPackage @@ -93059,6 +99809,7 @@ self: { description = "Load 3D geometry in the COLLADA format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graphicsFormats" = callPackage @@ -93071,6 +99822,7 @@ self: { description = "Classes for renderable objects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graphicstools" = callPackage @@ -93090,6 +99842,7 @@ self: { description = "Tools for creating graphical UIs, based on wxHaskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graphite" = callPackage @@ -93099,8 +99852,8 @@ self: { }: mkDerivation { pname = "graphite"; - version = "0.10.0.0"; - sha256 = "0cgsn0nwixgcamg9yp4qsz88dmm3rdmkcl7ahlnpvksgw7llnxa8"; + version = "0.10.0.1"; + sha256 = "1aqadpg3jm9f1z43ylpmh512gi320kqnnfl6qksp2l1w26lnd0vs"; libraryHaskellDepends = [ base bytestring cassava containers deepseq graphviz hashable process QuickCheck random semigroups text unordered-containers @@ -93110,6 +99863,8 @@ self: { benchmarkHaskellDepends = [ base criterion deepseq ]; description = "Graphs and networks library"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graphmod" = callPackage @@ -93118,8 +99873,8 @@ self: { }: mkDerivation { pname = "graphmod"; - version = "1.4.2"; - sha256 = "196647zh8cz7gpm7z18wqsx0rad3mvq7qrl20varvi34hxck6fwq"; + version = "1.4.3"; + sha256 = "1hcj1pmb65a4wkdn2d1p6b7hf91p4dqb9gprihrldfc6xii3hc3z"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -93149,16 +99904,25 @@ self: { }) {}; "graphql" = callPackage - ({ mkDerivation, attoparsec, base, tasty, tasty-hunit, text }: + ({ mkDerivation, aeson, base, hspec, hspec-expectations, megaparsec + , raw-strings-qq, text, transformers, unordered-containers + }: mkDerivation { pname = "graphql"; - version = "0.3"; - sha256 = "18hb8bwcwx98vrr9nzr8965i4c1y6dh10ilijksbldf10yaiq53z"; + version = "0.5.0.0"; + sha256 = "01466hfw3mkiz557r5ch3rn01w6wys38n580hdqmkhsqysgsqzqa"; enableSeparateDataOutput = true; - libraryHaskellDepends = [ attoparsec base text ]; - testHaskellDepends = [ attoparsec base tasty tasty-hunit text ]; + libraryHaskellDepends = [ + aeson base megaparsec text transformers unordered-containers + ]; + testHaskellDepends = [ + aeson base hspec hspec-expectations megaparsec raw-strings-qq text + transformers + ]; description = "Haskell GraphQL implementation"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graphql-api" = callPackage @@ -93184,18 +99948,19 @@ self: { ]; description = "GraphQL API"; license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graphql-w-persistent" = callPackage ({ mkDerivation, base, containers, json, text }: mkDerivation { pname = "graphql-w-persistent"; - version = "0.3.1.1"; - sha256 = "1cfq41s18n73fpn0zzwrvw0b2n7l2h7i71dz9wvifsjxrpla50q1"; + version = "0.5.0.0"; + sha256 = "12z4fws4vz88j8xj1xvzl8jv6s4i3vnca7xln2q4ssn23a025fcg"; libraryHaskellDepends = [ base containers json text ]; - description = "Haskell GraphQL query parser-interpreter-data processor"; + description = "GraphQL interface middleware for (SQL) databases"; license = stdenv.lib.licenses.isc; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "graphs" = callPackage @@ -93242,6 +100007,7 @@ self: { description = "A simple tool to illustrate dependencies between Haskell types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "graphviz" = callPackage @@ -93286,6 +100052,7 @@ self: { description = "Execute Graql queries on a Grakn graph"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "grasp" = callPackage @@ -93311,6 +100078,7 @@ self: { description = "GRASP implementation for the AMMM project"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gravatar" = callPackage @@ -93340,6 +100108,7 @@ self: { description = "Gray code encoder/decoder"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gray-extended" = callPackage @@ -93348,8 +100117,8 @@ self: { }: mkDerivation { pname = "gray-extended"; - version = "1.5.6"; - sha256 = "13a18vri2akfahp8k7s5sg6knn0plcsf6lqdzy05628wymiia2s3"; + version = "1.5.7"; + sha256 = "0j2lzy15jiykz9b6cqzh7xhpf1idwxp8illvy3r50g1g4hc8zvyp"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base QuickCheck test-framework test-framework-quickcheck2 @@ -93393,6 +100162,7 @@ self: { description = "GreenCard, a foreign function pre-processor for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "greencard-lib" = callPackage @@ -93406,6 +100176,7 @@ self: { description = "A foreign function interface pre-processor library for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "greenclip" = callPackage @@ -93426,7 +100197,6 @@ self: { executablePkgconfigDepends = [ libXau xcb xdmcp xlibsWrapper ]; description = "Simple clipboard manager to be integrated with rofi"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs.xorg) libXau; xcb = null; xdmcp = null; inherit (pkgs) xlibsWrapper;}; @@ -93444,6 +100214,7 @@ self: { description = "A scalable distributed logger with a high-precision global time axis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gremlin-haskell" = callPackage @@ -93468,6 +100239,7 @@ self: { description = "Graph database client for TinkerPop3 Gremlin Server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "grenade" = callPackage @@ -93492,6 +100264,7 @@ self: { description = "Practical Deep Learning in Haskell"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "greplicate" = callPackage @@ -93539,8 +100312,8 @@ self: { }: mkDerivation { pname = "greskell-core"; - version = "0.1.2.4"; - sha256 = "11agvhvpv94rnylc5ch5cg90w5z1i0ywdw47yca83503lmv3y790"; + version = "0.1.2.6"; + sha256 = "0p68kwcwccmqn58dx1vyy4k1sc9zk2n2l8hiligik6zpbv4vmkdz"; libraryHaskellDepends = [ aeson base containers hashable scientific semigroups text unordered-containers uuid vector @@ -93591,6 +100364,30 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "grid-proto" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, linear, sdl2 + , sdl2-fps, sdl2-gfx, sdl2-mixer, sdl2-ttf, StateVar, text, vector + }: + mkDerivation { + pname = "grid-proto"; + version = "0.1.0.0"; + sha256 = "0jwwgnzv27af5wcynfi2rm1xnp5lvqrnaqi1asw27ng4413y3jqk"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base bytestring containers linear sdl2 sdl2-fps sdl2-gfx + sdl2-mixer sdl2-ttf StateVar text vector + ]; + executableHaskellDepends = [ + aeson base bytestring containers linear sdl2 sdl2-fps sdl2-gfx + sdl2-mixer sdl2-ttf StateVar text vector + ]; + description = "Grid-based prototyping framework"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "gridbounds" = callPackage ({ mkDerivation, base, earclipper, gjk, gridbox, hspec }: mkDerivation { @@ -93602,6 +100399,7 @@ self: { description = "Collision detection for GridBox"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gridbox" = callPackage @@ -93651,6 +100449,7 @@ self: { description = "Grid-based multimedia engine"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "grids" = callPackage @@ -93659,8 +100458,8 @@ self: { }: mkDerivation { pname = "grids"; - version = "0.3.0.0"; - sha256 = "01i6izwlgkv4pc6sfywn8fg2s01x15q0lwxag3kzzhb63nm20kli"; + version = "0.5.0.1"; + sha256 = "0ji1j40jriixli0l2gn74wnkbjkrdzmgrgn493vla92492i5rgzf"; libraryHaskellDepends = [ adjunctions base comonad deepseq distributive singletons vector ]; @@ -93673,7 +100472,6 @@ self: { vector ]; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "grm" = callPackage @@ -93696,6 +100494,7 @@ self: { description = "grm grammar converter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "groom" = callPackage @@ -93760,6 +100559,7 @@ self: { description = "Command line utility to manage AWS ECS resources"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gross" = callPackage @@ -93775,6 +100575,7 @@ self: { description = "A spoof on gloss for terminal animation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "groundhog" = callPackage @@ -93813,6 +100614,7 @@ self: { description = "Extended Converter Library for groundhog embedded types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "groundhog-inspector" = callPackage @@ -93913,8 +100715,8 @@ self: { }: mkDerivation { pname = "group-by-date"; - version = "0.1.0.2"; - sha256 = "09x5wag0s6bkmhqcdbrzcibpwjqg5jr8lfm9vcbwi0qyv2nn7f5h"; + version = "0.1.0.3"; + sha256 = "0lz2ygmzxanrcnhzpqcxi1fqh75c349fcrkd13jgih10zkgk86jh"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -93940,6 +100742,7 @@ self: { description = "Classify objects by key-generating function, like SQL GROUP BY"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "groupBy" = callPackage @@ -93965,14 +100768,13 @@ self: { }: mkDerivation { pname = "grouped-list"; - version = "0.2.2.0"; - sha256 = "0733wmdflxpd2ryrdx4ygizyclxmbd8xmkdfs7d7s4x8hffk0k5x"; + version = "0.2.2.1"; + sha256 = "1bs8rkdrg82v3k08icl6fsgdyfz8m0vkvsbxpm3iym01xcfmzzal"; libraryHaskellDepends = [ base binary containers deepseq pointed ]; testHaskellDepends = [ base QuickCheck tasty tasty-quickcheck ]; benchmarkHaskellDepends = [ base criterion ]; description = "Grouped lists. Equal consecutive elements are grouped."; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "groupoid" = callPackage @@ -94029,6 +100831,7 @@ self: { description = "A revised version of the scotty library that attempts to be simpler and more performant"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "grpc-api-etcd" = callPackage @@ -94040,6 +100843,8 @@ self: { libraryHaskellDepends = [ base proto-lens proto-lens-runtime ]; description = "Generated messages and instances for etcd gRPC"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "grpc-etcd-client" = callPackage @@ -94057,8 +100862,39 @@ self: { description = "gRPC client for etcd"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; + "grpc-haskell" = callPackage + ({ mkDerivation, async, base, bytestring, clock, containers + , criterion, grpc-haskell-core, managed, pipes, proto3-suite + , proto3-wire, QuickCheck, random, safe, tasty, tasty-hunit + , tasty-quickcheck, text, time, transformers, turtle, unix + }: + mkDerivation { + pname = "grpc-haskell"; + version = "0.0.0.0"; + sha256 = "1d1njhrg6sfwy9f6xaxj0p8bbp2g6qjsa4cq7zq43h3vc1lkb0ii"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + async base bytestring grpc-haskell-core managed proto3-suite + proto3-wire + ]; + testHaskellDepends = [ + async base bytestring clock containers managed pipes proto3-suite + QuickCheck safe tasty tasty-hunit tasty-quickcheck text time + transformers turtle unix + ]; + benchmarkHaskellDepends = [ + async base bytestring criterion proto3-suite random + ]; + description = "Haskell implementation of gRPC layered on shared C library"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {grpc-haskell-core = null;}; + "gruff" = callPackage ({ mkDerivation, base, bytestring, containers, directory, filepath , FTGL, gtk, gtkglext, mtl, old-locale, OpenGL, OpenGLRaw, parallel @@ -94079,6 +100915,7 @@ self: { description = "fractal explorer GUI using the ruff library"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gruff-examples" = callPackage @@ -94098,6 +100935,7 @@ self: { description = "Mandelbrot Set examples using ruff and gruff"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gsasl" = callPackage @@ -94122,6 +100960,7 @@ self: { description = "Generic implementation of Gerstein/Sonnhammer/Chothia weighting"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gscholar-rss" = callPackage @@ -94129,8 +100968,8 @@ self: { }: mkDerivation { pname = "gscholar-rss"; - version = "0.2.1.0"; - sha256 = "0a4hhcggfbgxraq2jj40gvrg64nw37h7y6jj7pgswa623m85040j"; + version = "0.2.2.0"; + sha256 = "1h8zg9yyyckyp5irw9gcbzfysav67hn2rlrkwakyh3ghb1rnl71k"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -94139,6 +100978,7 @@ self: { description = "scrapes google scholar, provides RSS feed"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gsl-random" = callPackage @@ -94152,6 +100992,7 @@ self: { description = "Bindings the the GSL random number generation facilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gsl-random-fu" = callPackage @@ -94164,6 +101005,7 @@ self: { description = "Instances for using gsl-random with random-fu"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gsmenu" = callPackage @@ -94229,6 +101071,7 @@ self: { description = "Generic implementation of Storable"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gstreamer" = callPackage @@ -94248,7 +101091,6 @@ self: { libraryToolDepends = [ gtk2hs-buildtools ]; description = "Binding to the GStreamer open source multimedia framework"; license = stdenv.lib.licenses.lgpl21; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) gst-plugins-base; inherit (pkgs) gstreamer;}; "gt-tools" = callPackage @@ -94283,6 +101125,7 @@ self: { description = "The General Transit Feed Specification format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gtfs-realtime" = callPackage @@ -94316,8 +101159,7 @@ self: { libraryPkgconfigDepends = [ gtk2 ]; description = "Binding to the Gtk+ graphical user interface library"; license = stdenv.lib.licenses.lgpl21; - hydraPlatforms = stdenv.lib.platforms.none; - }) {gtk2 = pkgs.gnome2.gtk;}; + }) {inherit (pkgs) gtk2;}; "gtk-helpers" = callPackage ({ mkDerivation, array, base, gio, glib, gtk, mtl, process @@ -94332,7 +101174,6 @@ self: { ]; description = "A collection of auxiliary operations and widgets related to Gtk+"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gtk-jsinput" = callPackage @@ -94344,7 +101185,6 @@ self: { libraryHaskellDepends = [ base gtk json transformers ]; description = "A simple custom form widget for gtk which allows inputing of JSON values"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gtk-largeTreeStore" = callPackage @@ -94361,7 +101201,6 @@ self: { testHaskellDepends = [ base containers gtk3 hspec ]; description = "Large TreeStore support for gtk2hs"; license = stdenv.lib.licenses.lgpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gtk-mac-integration" = callPackage @@ -94378,7 +101217,7 @@ self: { libraryPkgconfigDepends = [ gtk-mac-integration-gtk2 ]; description = "Bindings for the Gtk/OS X integration library"; license = stdenv.lib.licenses.lgpl21; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = [ "x86_64-darwin" ]; }) {inherit (pkgs) gtk-mac-integration-gtk2;}; "gtk-serialized-event" = callPackage @@ -94397,7 +101236,8 @@ self: { description = "GTK+ Serialized event"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; - }) {gtk2 = pkgs.gnome2.gtk;}; + broken = true; + }) {inherit (pkgs) gtk2;}; "gtk-simple-list-view" = callPackage ({ mkDerivation, base, gtk }: @@ -94408,7 +101248,6 @@ self: { libraryHaskellDepends = [ base gtk ]; description = "A simple custom form widget for gtk which allows single LOC creation/updating of list views"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gtk-sni-tray" = callPackage @@ -94439,8 +101278,7 @@ self: { ]; description = "A standalone StatusNotifierItem/AppIndicator tray"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {gtk3 = pkgs.gnome3.gtk;}; + }) {inherit (pkgs) gtk3;}; "gtk-strut" = callPackage ({ mkDerivation, base, gi-gdk, gi-gtk, text, transformers }: @@ -94462,7 +101300,6 @@ self: { libraryHaskellDepends = [ base gtk ]; description = "A simple custom form widget for gtk which allows single LOC creation/updating of toggle button lists"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gtk-toy" = callPackage @@ -94475,6 +101312,7 @@ self: { description = "Convenient Gtk canvas with mouse and keyboard input"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gtk-traymanager" = callPackage @@ -94487,7 +101325,6 @@ self: { libraryPkgconfigDepends = [ xlibsWrapper ]; description = "A wrapper around the eggtraymanager library for Linux system trays"; license = stdenv.lib.licenses.lgpl21; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) xlibsWrapper;}; "gtk2hs-buildtools" = callPackage @@ -94509,7 +101346,6 @@ self: { executableHaskellDepends = [ base ]; description = "Tools to build the Gtk2Hs suite of User Interface libraries"; license = stdenv.lib.licenses.gpl2; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "gtk2hs-cast-glade" = callPackage @@ -94629,6 +101465,7 @@ self: { description = "Gtk2Hs Hello World, an example package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gtk2hs-rpn" = callPackage @@ -94641,6 +101478,7 @@ self: { description = "Adds a module to gtk2hs allowing layouts to be defined using reverse polish notation"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gtk3" = callPackage @@ -94661,7 +101499,6 @@ self: { libraryPkgconfigDepends = [ gtk3 ]; description = "Binding to the Gtk+ 3 graphical user interface library"; license = stdenv.lib.licenses.lgpl21; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) gtk3;}; "gtk3-mac-integration" = callPackage @@ -94679,6 +101516,7 @@ self: { description = "Bindings for the Gtk/OS X integration library"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {gtk-mac-integration-gtk3 = null;}; "gtkglext" = callPackage @@ -94698,6 +101536,7 @@ self: { description = "Binding to the GTK+ OpenGL Extension"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) gtk2; inherit (pkgs.gnome2) gtkglext; inherit (pkgs) libGLU; inherit (pkgs.xorg) libICE; inherit (pkgs.xorg) libSM; inherit (pkgs.xorg) libXmu; @@ -94720,6 +101559,7 @@ self: { description = "Binding to the GtkImageView library"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) gtkimageview;}; "gtkrsync" = callPackage @@ -94739,6 +101579,7 @@ self: { description = "Gnome rsync progress display"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gtksourceview2" = callPackage @@ -94759,7 +101600,8 @@ self: { description = "Binding to the GtkSourceView library"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs.gnome2) gtksourceview;}; + broken = true; + }) {inherit (pkgs) gtksourceview;}; "gtksourceview3" = callPackage ({ mkDerivation, array, base, Cabal, containers, glib @@ -94779,7 +101621,8 @@ self: { description = "Binding to the GtkSourceView library"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; - }) {gtksourceview3 = pkgs.gnome3.gtksourceview;}; + broken = true; + }) {inherit (pkgs) gtksourceview3;}; "guarded-allocation" = callPackage ({ mkDerivation, base }: @@ -94802,6 +101645,7 @@ self: { description = "Datatype-generic rewriting with preconditions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "guess-combinator" = callPackage @@ -94814,6 +101658,7 @@ self: { description = "Generate simple combinators given their type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "guid" = callPackage @@ -94827,6 +101672,7 @@ self: { description = "A simple wrapper around uuid"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gulcii" = callPackage @@ -94842,6 +101688,7 @@ self: { description = "graphical untyped lambda calculus interactive interpreter"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gutenberg-fibonaccis" = callPackage @@ -94855,6 +101702,19 @@ self: { license = stdenv.lib.licenses.gpl3; }) {}; + "gw" = callPackage + ({ mkDerivation, base, unix }: + mkDerivation { + pname = "gw"; + version = "0.1"; + sha256 = "055pkk3gg74r4yzh3fxq1zvp1fv3i8cd53jscy1b2n3mmzhbzahv"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ base unix ]; + description = "ghcWithPackages cmdline util"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "gyah-bin" = callPackage ({ mkDerivation, base, extra, GiveYouAHead }: mkDerivation { @@ -94867,6 +101727,7 @@ self: { description = "A binary version of GiveYouAHead"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "gym-http-api" = callPackage @@ -94888,7 +101749,6 @@ self: { ]; description = "REST client to the gym-http-api project"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "h-booru" = callPackage @@ -94913,6 +101773,7 @@ self: { description = "Haskell library for retrieving data from various booru image sites"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "h-gpgme" = callPackage @@ -94937,6 +101798,7 @@ self: { description = "High Level Binding for GnuPG Made Easy (gpgme)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "h-reversi" = callPackage @@ -94961,6 +101823,7 @@ self: { description = "Reversi game in haskell/blank-canvas"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "h2048" = callPackage @@ -94983,6 +101846,7 @@ self: { description = "a haskell implementation of Game 2048"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "h2c" = callPackage @@ -94995,6 +101859,7 @@ self: { description = "Bindings to Linux I2C with support for repeated-start transactions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hArduino" = callPackage @@ -95011,6 +101876,7 @@ self: { description = "Control your Arduino board from Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hBDD" = callPackage @@ -95038,6 +101904,7 @@ self: { description = "An FFI binding to CMU/Long's BDD library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {bdd = null; mem = null;}; "hBDD-CUDD" = callPackage @@ -95054,6 +101921,7 @@ self: { description = "An FFI binding to the CUDD library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {cudd = null; epd = null; inherit (pkgs) mtr; inherit (pkgs) st; util = null;}; @@ -95086,6 +101954,7 @@ self: { description = "interface to CSound API"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {csound64 = null; inherit (pkgs) libsndfile;}; "hDFA" = callPackage @@ -95098,6 +101967,7 @@ self: { description = "A simple library for representing and minimising DFAs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hF2" = callPackage @@ -95111,6 +101981,7 @@ self: { description = "F(2^e) math for cryptography"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hGelf" = callPackage @@ -95170,6 +102041,7 @@ self: { description = "Library to interact with the @Mollom anti-spam service"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hOff-display" = callPackage @@ -95211,8 +102083,8 @@ self: { }: mkDerivation { pname = "hOpenPGP"; - version = "2.7.4.1"; - sha256 = "0fcm87rkf1c94w68ad2zkd3r2pbxzqa82kh3d2ky87rc1wqnia0s"; + version = "2.8"; + sha256 = "1n6cpwgg934ii3b4ap2gp347q3k4b64dc9x37d4bj51hs6910pmw"; libraryHaskellDepends = [ aeson asn1-encoding attoparsec base base16-bytestring base64-bytestring bifunctors binary binary-conduit bytestring bzlib @@ -95264,6 +102136,7 @@ self: { description = "Protein Databank file format library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hPDB-examples" = callPackage @@ -95291,6 +102164,7 @@ self: { description = "Examples for hPDB library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hPushover" = callPackage @@ -95307,6 +102181,7 @@ self: { description = "Pushover.net API functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hR" = callPackage @@ -95319,6 +102194,7 @@ self: { description = "R bindings and interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hRESP" = callPackage @@ -95366,6 +102242,7 @@ self: { description = "A Haskell library to scrape and crawl web-pages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hSimpleDB" = callPackage @@ -95383,6 +102260,7 @@ self: { description = "Interface to Amazon's SimpleDB service"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hTalos" = callPackage @@ -95397,6 +102275,7 @@ self: { description = "Parser, print and manipulate structures in PDB file format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hTensor" = callPackage @@ -95409,6 +102288,7 @@ self: { description = "Multidimensional arrays and simple tensor computations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hVOIDP" = callPackage @@ -95425,6 +102305,7 @@ self: { description = "Optimal variable selection in chain graphical model"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) blas; inherit (pkgs) liblapack;}; "hXmixer" = callPackage @@ -95442,7 +102323,6 @@ self: { ]; description = "A Gtk mixer GUI application for FreeBSD"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haar" = callPackage @@ -95460,6 +102340,7 @@ self: { description = "Haar wavelet transforms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "habit" = callPackage @@ -95485,6 +102366,7 @@ self: { description = "Haskell message bot framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hable" = callPackage @@ -95498,6 +102380,26 @@ self: { license = stdenv.lib.licenses.publicDomain; }) {}; + "hablo" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, directory + , filepath, lucid, mtl, optparse-applicative, parsec, template + , text, time, unix + }: + mkDerivation { + pname = "hablo"; + version = "1.0.1.0"; + sha256 = "1jbbh8d2xdcdgm4kq4yn6i6h9g996m2zqklg8s5b5h5jlzk7hfvs"; + isLibrary = false; + isExecutable = true; + enableSeparateDataOutput = true; + executableHaskellDepends = [ + aeson base bytestring containers directory filepath lucid mtl + optparse-applicative parsec template text time unix + ]; + description = "A minimalist static blog generator"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "hablog" = callPackage ({ mkDerivation, base, bifunctors, blaze-html, blaze-markup , bytestring, containers, directory, filepath, markdown, mime-types @@ -95518,7 +102420,6 @@ self: { executableHaskellDepends = [ base optparse-applicative text ]; description = "A blog system"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hacanon-light" = callPackage @@ -95562,6 +102463,7 @@ self: { description = "Hack contrib"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack-contrib-press" = callPackage @@ -95579,6 +102481,7 @@ self: { description = "Hack helper that renders Press templates"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack-frontend-happstack" = callPackage @@ -95597,6 +102500,7 @@ self: { description = "hack-frontend-happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack-frontend-monadcgi" = callPackage @@ -95620,6 +102524,7 @@ self: { description = "Hack handler using CGI protocol. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack-handler-epoll" = callPackage @@ -95639,6 +102544,7 @@ self: { description = "hack handler implementation using epoll"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack-handler-evhttp" = callPackage @@ -95658,6 +102564,7 @@ self: { description = "Hack EvHTTP (libevent) Handler"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {event = null;}; "hack-handler-fastcgi" = callPackage @@ -95671,6 +102578,7 @@ self: { description = "Hack handler direct to fastcgi (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) fcgi;}; "hack-handler-happstack" = callPackage @@ -95689,6 +102597,7 @@ self: { description = "Hack Happstack server handler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack-handler-hyena" = callPackage @@ -95706,6 +102615,7 @@ self: { description = "Hyena hack handler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack-handler-kibro" = callPackage @@ -95721,6 +102631,7 @@ self: { description = "Hack Kibro handler"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack-handler-simpleserver" = callPackage @@ -95737,6 +102648,7 @@ self: { description = "A simplistic HTTP server handler for Hack. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack-middleware-cleanpath" = callPackage @@ -95751,6 +102663,7 @@ self: { description = "Applies some basic redirect rules to get cleaner paths. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack-middleware-clientsession" = callPackage @@ -95767,6 +102680,7 @@ self: { description = "Middleware for easily keeping session data in client cookies. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack-middleware-gzip" = callPackage @@ -95794,6 +102708,7 @@ self: { description = "Automatic wrapping of JSON responses to convert into JSONP. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack2" = callPackage @@ -95857,6 +102772,7 @@ self: { description = "Hack2 Happstack server handler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack2-handler-mongrel2-http" = callPackage @@ -95878,6 +102794,7 @@ self: { description = "Hack2 Mongrel2 HTTP handler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack2-handler-snap-server" = callPackage @@ -95897,6 +102814,7 @@ self: { description = "Hack2 Snap server handler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack2-handler-warp" = callPackage @@ -95914,6 +102832,7 @@ self: { description = "Hack2 warp handler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hack2-interface-wai" = callPackage @@ -95969,6 +102888,7 @@ self: { description = "Compare the public API of different versions of a Hackage library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hackage-mirror" = callPackage @@ -95999,6 +102919,7 @@ self: { description = "Simple mirroring utility for Hackage"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hackage-plot" = callPackage @@ -96031,6 +102952,7 @@ self: { description = "Process 00-index.tar.gz from Hackage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hackage-proxy" = callPackage @@ -96055,6 +102977,7 @@ self: { description = "Provide a proxy for Hackage which modifies responses in some way. (deprecated)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hackage-repo-tool" = callPackage @@ -96066,8 +102989,8 @@ self: { pname = "hackage-repo-tool"; version = "0.1.1.1"; sha256 = "05r4i7zhwbsv9ci4yid57fnb5lkx254pch9arq5a11dvwsvdzvzw"; - revision = "1"; - editedCabalFile = "1ay6b522lblmwy1439z9cb2y3p4rwzav2yz0pn9m5q4wqr8x7rxr"; + revision = "2"; + editedCabalFile = "04ghg9chkqj3s4g24jszcpb4m8fi9qbgs04bbb1kny3c6ihin93x"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -96077,6 +103000,7 @@ self: { description = "Utility to manage secure file-based package repositories"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hackage-security" = callPackage @@ -96090,8 +103014,8 @@ self: { pname = "hackage-security"; version = "0.5.3.0"; sha256 = "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"; - revision = "3"; - editedCabalFile = "07h13j203wafvimfhswpjl2a43iaavy9579hm16z5m565m7f8hwy"; + revision = "6"; + editedCabalFile = "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay"; libraryHaskellDepends = [ base base16-bytestring base64-bytestring bytestring Cabal containers cryptohash-sha256 directory ed25519 filepath ghc-prim @@ -96122,6 +103046,7 @@ self: { description = "Hackage security bindings against the HTTP library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hackage-server" = callPackage @@ -96161,6 +103086,7 @@ self: { description = "The Hackage web server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hackage-sparks" = callPackage @@ -96211,6 +103137,7 @@ self: { description = "Convert Hackage RSS feeds to wiki format for publishing on Haskell.org"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hackage2twitter" = callPackage @@ -96225,6 +103152,7 @@ self: { description = "Send new Hackage releases to Twitter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hackager" = callPackage @@ -96243,6 +103171,7 @@ self: { description = "Hackage testing tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hackernews" = callPackage @@ -96268,6 +103197,7 @@ self: { description = "API for Hacker News"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hackertyper" = callPackage @@ -96276,8 +103206,8 @@ self: { pname = "hackertyper"; version = "0.1.0.1"; sha256 = "17c77f687874bfwahmzcz2v6k8z9p4fv555r5r1f38snsdi825gf"; - revision = "1"; - editedCabalFile = "1slyp8ncpiv204yxb2p7z0kwz4xhqv8czfrx4p78cbbhrlkmgnpm"; + revision = "3"; + editedCabalFile = "0g8nw9sqya5ycamprc2wiq3ri90hp228csj235lg2mc56pllzpmv"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -96305,6 +103235,7 @@ self: { description = "Generate useful files for Haskell projects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hackport" = callPackage @@ -96318,8 +103249,8 @@ self: { }: mkDerivation { pname = "hackport"; - version = "0.5.6"; - sha256 = "0im76n8487q08rmw8bn536qncrdhz9pjir5cxlf2myh7prrrrczs"; + version = "0.6"; + sha256 = "1fi3f90jd7s10iw1lcqhy8vfv27794sfsp7bjlb9rgab7jqf3wqv"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -96337,7 +103268,6 @@ self: { ]; description = "Hackage and Portage integration tool"; license = "GPL"; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hactor" = callPackage @@ -96355,6 +103285,7 @@ self: { description = "Lightweight Erlang-style actors for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hactors" = callPackage @@ -96367,6 +103298,7 @@ self: { description = "Practical actors for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haddock_2_16_1" = callPackage @@ -96419,7 +103351,6 @@ self: { preCheck = "unset GHC_PACKAGE_PATH"; description = "A documentation-generation tool for Haskell libraries"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haddock-api_2_15_0_2" = callPackage @@ -96505,7 +103436,17 @@ self: { testToolDepends = [ hspec-discover ]; description = "A documentation-generation tool for Haskell libraries"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "haddock-cheatsheet" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "haddock-cheatsheet"; + version = "0.1.0.1"; + sha256 = "1nqq7k8ssl6h1d501d8ayzsdlihnbfrqy4l5z43msc6lr7ffvz2r"; + libraryHaskellDepends = [ base ]; + description = "A documentation-only package exemplifying haddock markup features"; + license = stdenv.lib.licenses.mit; }) {}; "haddock-leksah" = callPackage @@ -96525,6 +103466,7 @@ self: { description = "A documentation-generation tool for Haskell libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haddock-library_1_2_1" = callPackage @@ -96595,6 +103537,7 @@ self: { description = "Test utilities for Haddock"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haddocset" = callPackage @@ -96617,34 +103560,37 @@ self: { description = "Generate docset of Dash by Haddock haskell documentation tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hadolint" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, directory - , filepath, gitrev, hspec, HUnit, language-docker, megaparsec, mtl - , optparse-applicative, ShellCheck, split, text, void, yaml + , filepath, gitrev, hspec, HsYAML, HUnit, language-docker + , megaparsec, mtl, optparse-applicative, ShellCheck, split, text + , void }: mkDerivation { pname = "hadolint"; - version = "1.15.0"; - sha256 = "13xpbwnh6xs3lj6vgqanww3ipz8bsfh3q305rkrb7kgl338nqgsm"; + version = "1.17.1"; + sha256 = "199kpx6wfshky0slgjv0h6ckibrsywy3r3j393r9ln4wcjzs31yi"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base bytestring containers directory filepath language-docker - megaparsec mtl ShellCheck split text void yaml + aeson base bytestring containers directory filepath HsYAML + language-docker megaparsec mtl ShellCheck split text void ]; executableHaskellDepends = [ base containers gitrev language-docker megaparsec optparse-applicative text ]; testHaskellDepends = [ - aeson base bytestring hspec HUnit language-docker megaparsec + aeson base bytestring hspec HsYAML HUnit language-docker megaparsec ShellCheck split text ]; description = "Dockerfile Linter JavaScript API"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hadoop-formats" = callPackage @@ -96663,6 +103609,7 @@ self: { description = "Read/write file formats commonly used by Hadoop"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) snappy;}; "hadoop-rpc" = callPackage @@ -96684,6 +103631,7 @@ self: { description = "Use the Hadoop RPC interface from Haskell"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hadoop-tools" = callPackage @@ -96711,22 +103659,26 @@ self: { description = "Fast command line tools for working with Hadoop"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haeredes" = callPackage ({ mkDerivation, base, bytestring, cmdargs, dns, doctest, filemanip - , iproute, MissingH, parallel-io + , iproute, parallel-io, process }: mkDerivation { pname = "haeredes"; - version = "0.4.4"; - sha256 = "1b3455grm9dy6m4yf2y5mncrjdplq2kslljszgqd8l3c2xml9hmx"; + version = "0.5.1"; + sha256 = "1y4r487z2k6l7xi5bi1rb3rz0i7yki2j2mmpnpfdy2bba1s51a6n"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ - base bytestring cmdargs dns iproute MissingH parallel-io + base bytestring cmdargs dns iproute parallel-io + ]; + testHaskellDepends = [ + base bytestring cmdargs dns doctest filemanip iproute parallel-io + process ]; - testHaskellDepends = [ base doctest filemanip ]; description = "Confirm delegation of NS and MX records"; license = stdenv.lib.licenses.agpl3; }) {}; @@ -96756,6 +103708,7 @@ self: { description = "A static site generator with blogging/comments support"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haha" = callPackage @@ -96788,6 +103741,7 @@ self: { description = "Analytic Hierarchy Process"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haiji" = callPackage @@ -96798,8 +103752,8 @@ self: { }: mkDerivation { pname = "haiji"; - version = "0.2.1.2"; - sha256 = "0jzyf5mqmigsjmif1nxysqk2rg1ad9d3590qmw71gx6d83qm4w2z"; + version = "0.3.0.0"; + sha256 = "079q3m3c39ip86hpirq9c5l3b9hw030zd5slwi2bssbmq2bhfv5i"; libraryHaskellDepends = [ aeson attoparsec base data-default mtl scientific tagged template-haskell text transformers unordered-containers vector @@ -96811,6 +103765,7 @@ self: { description = "A typed template engine, subset of jinja2"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hail" = callPackage @@ -96832,6 +103787,7 @@ self: { description = "A service for pull-based continuous deployment based on hydra"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hailgun" = callPackage @@ -96841,8 +103797,8 @@ self: { }: mkDerivation { pname = "hailgun"; - version = "0.4.1.8"; - sha256 = "1hyww94b0ndfypk47iffvfxm96m24ygrbm26a820arpcmxkp7k4x"; + version = "0.4.2"; + sha256 = "15sbg5dnpc6g3649zy4ndbama1535xpf7dnnqlv22rdvy40ch5kl"; libraryHaskellDepends = [ aeson base bytestring email-validate exceptions filepath http-client http-client-tls http-types tagsoup text time @@ -96850,6 +103806,8 @@ self: { ]; description = "Mailgun REST api interface for Haskell"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hailgun-send" = callPackage @@ -96866,6 +103824,7 @@ self: { description = "A program to send emails throught the Mailgun api"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hailgun-simple" = callPackage @@ -96881,6 +103840,8 @@ self: { ]; description = "Easy-to-use wrapper for the hailgun package"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hails" = callPackage @@ -96971,6 +103932,7 @@ self: { description = "A JSON REST API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakaru" = callPackage @@ -97001,6 +103963,7 @@ self: { description = "A probabilistic programming embedded DSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hake" = callPackage @@ -97029,6 +103992,7 @@ self: { description = "Akismet spam protection library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakka" = callPackage @@ -97044,6 +104008,7 @@ self: { description = "Minimal akka-inspired actor library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hako" = callPackage @@ -97061,6 +104026,7 @@ self: { description = "A mako-like quasi-quoter template library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll" = callPackage @@ -97076,8 +104042,8 @@ self: { }: mkDerivation { pname = "hakyll"; - version = "4.12.5.1"; - sha256 = "0zxl99qrzzngc6z08hpl4rxssb7djqdbccjay76sgq8akw40x720"; + version = "4.12.5.2"; + sha256 = "13dc8hj3xnnpyb395pbplwxb4pj4gzckdd8r5wcwg1ln0gd6w7d5"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -97098,7 +104064,6 @@ self: { testToolDepends = [ utillinux ]; description = "A static website compiler library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) utillinux;}; "hakyll-R" = callPackage @@ -97114,6 +104079,7 @@ self: { description = "A package allowing to write Hakyll blog posts in Rmd"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-agda" = callPackage @@ -97131,6 +104097,7 @@ self: { description = "Wrapper to integrate literate Agda files with Hakyll"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-blaze-templates" = callPackage @@ -97143,6 +104110,7 @@ self: { description = "Blaze templates for Hakyll"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-contrib" = callPackage @@ -97159,6 +104127,7 @@ self: { description = "Extra modules for the hakyll website compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-contrib-csv" = callPackage @@ -97176,6 +104145,7 @@ self: { description = "Generate Html tables from Csv files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-contrib-elm" = callPackage @@ -97195,6 +104165,7 @@ self: { description = "Compile Elm code for inclusion in Hakyll static site"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-contrib-hyphenation" = callPackage @@ -97207,6 +104178,7 @@ self: { description = "automatic hyphenation for Hakyll"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-contrib-links" = callPackage @@ -97227,6 +104199,7 @@ self: { description = "A hakyll library that helps maintain a separate links database"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-convert" = callPackage @@ -97249,6 +104222,7 @@ self: { description = "Convert from other blog engines to Hakyll"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-dhall" = callPackage @@ -97258,8 +104232,8 @@ self: { }: mkDerivation { pname = "hakyll-dhall"; - version = "0.2.2.2"; - sha256 = "0w2vhma28904mg7bymk0qd3gzwirbjkjkw862jxg2zzcnsg8m04i"; + version = "0.2.3.0"; + sha256 = "1a8aq1gmj6mwpv43s2vr7asp6v6bflms1vhd9dvs04jfnw3jbvpz"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -97270,6 +104244,7 @@ self: { description = "Dhall compiler for Hakyll"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-dir-list" = callPackage @@ -97285,6 +104260,7 @@ self: { description = "Allow Hakyll to create hierarchical menues from directories"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-elm" = callPackage @@ -97314,6 +104290,7 @@ self: { testHaskellDepends = [ base ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-filestore" = callPackage @@ -97329,6 +104306,7 @@ self: { description = "FileStore utilities for Hakyll"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-images" = callPackage @@ -97338,10 +104316,8 @@ self: { }: mkDerivation { pname = "hakyll-images"; - version = "0.4.2"; - sha256 = "0la1c25jlqw0y0zfcskkj4mlmkpamr2psqfnsrgz52zvmhy2ha2p"; - revision = "1"; - editedCabalFile = "1kmvb0cxvphmx0f1bgjq636yga58n4g2lqrg2xg5xfpwf8r956qf"; + version = "0.4.4"; + sha256 = "0d837i2nsg6drwfsrxfnpzmzmzxqxvabjlrlml38z99pyp7m3h9b"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base binary bytestring hakyll JuicyPixels JuicyPixels-extra @@ -97353,6 +104329,7 @@ self: { description = "Hakyll utilities to work with images"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-ogmarkup" = callPackage @@ -97365,6 +104342,7 @@ self: { description = "Integrate ogmarkup document with Hakyll"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-sass" = callPackage @@ -97381,6 +104359,7 @@ self: { description = "Hakyll SASS compiler over hsass"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-series" = callPackage @@ -97393,6 +104372,7 @@ self: { description = "Adds series functionality to hakyll"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-shakespeare" = callPackage @@ -97411,6 +104391,7 @@ self: { description = "Hakyll Hamlet compiler"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hakyll-shortcode" = callPackage @@ -97433,6 +104414,27 @@ self: { description = "A shortcode extension module for Hakyll"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hakyll-shortcut-links" = callPackage + ({ mkDerivation, base, hakyll, hspec, megaparsec, mtl, pandoc + , pandoc-types, shortcut-links, text + }: + mkDerivation { + pname = "hakyll-shortcut-links"; + version = "0.0.0.0"; + sha256 = "1bzkq83rcpvx0cah77q6p27fd7f0l9hrnk8jyzpmngrnvgyjb2sz"; + revision = "1"; + editedCabalFile = "0ds3pb90djvqgz1z1w1kp2zdmwvbqkkgvwm05i34a9rh84lh8y8p"; + libraryHaskellDepends = [ + base hakyll megaparsec mtl pandoc-types shortcut-links text + ]; + testHaskellDepends = [ base hspec mtl pandoc text ]; + description = "Use shortcut-links in markdown file for Hakyll"; + license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hal" = callPackage @@ -97441,17 +104443,16 @@ self: { }: mkDerivation { pname = "hal"; - version = "0.1.2"; - sha256 = "0fflx0xism12cfdifwpiv0caxkm4f46yqhcwyrdwrdmq6q0pxdk2"; + version = "0.3.0"; + sha256 = "1mc7h9fnf75dw7ph4b2iqqvx23xw6wm0ls6c90804vdqcpjzapqh"; revision = "1"; - editedCabalFile = "09ng464s88dsfdwk4zdzi0yagy5mm41035p4glwiyhdqxc5n60yg"; + editedCabalFile = "08pfvlqvsslfrxfk7zmvqc3b2dzar2az9l8w5mwrxv7flskzr7ii"; libraryHaskellDepends = [ aeson base bytestring containers envy exceptions http-conduit http-types mtl text time ]; description = "A runtime environment for Haskell applications running on AWS Lambda"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "halberd" = callPackage @@ -97481,6 +104482,7 @@ self: { description = "A tool to generate missing import statements for Haskell modules"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "half" = callPackage @@ -97518,6 +104520,7 @@ self: { description = "The HAskelL File System (\"halfs\" -- intended for use on the HaLVM)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "halipeto" = callPackage @@ -97526,38 +104529,44 @@ self: { pname = "halipeto"; version = "2.4.1"; sha256 = "1anyf6mh13rmj5a0lsayrcxzvm3zk0a2943pzkgz06y3aqgmcbdb"; + revision = "1"; + editedCabalFile = "0x30z8l7kfxvw4qzva7qgqair76v2ml8lgmd7lh4pkihq11f678q"; libraryHaskellDepends = [ base directory HaXml pandoc ]; description = "Haskell Static Web Page Generator"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "halive" = callPackage ({ mkDerivation, base, bytestring, containers, directory, filepath - , foreign-store, fsnotify, ghc, ghc-boot, ghc-paths, gl, linear - , mtl, process, random, sdl2, signal, stm, text, time, transformers + , foreign-store, fsnotify, ghc, ghc-boot, ghc-paths, gl, hspec + , lens, linear, mtl, pretty-show, process, random, sdl2, signal + , stm, text, time, transformers }: mkDerivation { pname = "halive"; - version = "0.1.3"; - sha256 = "0rffds6m31b80vv2l2qpbzx3pfya4kz6nlp9w6frc6k94zdba378"; + version = "0.1.6"; + sha256 = "19mlbl8psb5gxw6xsgiw5kxw4fvmfl552acalj05s6h9gsl4hcnh"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base containers directory filepath foreign-store fsnotify ghc - ghc-boot ghc-paths mtl process signal stm time transformers + ghc-boot ghc-paths mtl process signal stm text time transformers ]; executableHaskellDepends = [ base directory filepath fsnotify ghc ghc-paths process stm transformers ]; testHaskellDepends = [ - base bytestring containers filepath foreign-store gl linear mtl - random sdl2 stm text time + base bytestring containers directory filepath foreign-store ghc + ghc-paths gl hspec lens linear mtl pretty-show random sdl2 stm text + time ]; description = "A live recompiler"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hall-symbols" = callPackage @@ -97575,6 +104584,7 @@ self: { description = "Symmetry operations generater of Hall Symbols"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "halma" = callPackage @@ -97614,6 +104624,7 @@ self: { description = "GTK application for playing Halma"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "halma-telegram-bot" = callPackage @@ -97639,6 +104650,7 @@ self: { description = "Telegram bot for playing Halma"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haltavista" = callPackage @@ -97665,6 +104677,7 @@ self: { description = "Split or combine data structures to and from halves, quarters, eighths"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "halvm-web" = callPackage @@ -97753,6 +104766,7 @@ self: { description = "Haskell macro preprocessor"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hamsql" = callPackage @@ -97777,6 +104791,7 @@ self: { description = "Interpreter for SQL-structure definitions in YAML (YamSql)"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hamtmap" = callPackage @@ -97791,6 +104806,7 @@ self: { description = "A purely functional and persistent hash map"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hamtsolo" = callPackage @@ -97832,6 +104848,7 @@ self: { description = "Library to handle abstract music"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "han2zen" = callPackage @@ -97885,6 +104902,7 @@ self: { description = "Library and command-line utility for accessing Google services and APIs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "handa-geodata" = callPackage @@ -97932,6 +104950,7 @@ self: { description = "HandleLike class"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "handsy" = callPackage @@ -97953,6 +104972,7 @@ self: { description = "A DSL to describe common shell operations and interpeters for running them locally and remotely"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "handwriting" = callPackage @@ -98012,6 +105032,7 @@ self: { description = "Simple Continuous Integration/Deployment System"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hans" = callPackage @@ -98036,6 +105057,7 @@ self: { description = "Network Stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hans-pcap" = callPackage @@ -98048,6 +105070,7 @@ self: { description = "Driver for real ethernet devices for HaNS"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hans-pfq" = callPackage @@ -98080,6 +105103,7 @@ self: { description = "Graphviz code generation with Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hapistrano" = callPackage @@ -98090,8 +105114,8 @@ self: { }: mkDerivation { pname = "hapistrano"; - version = "0.3.9.2"; - sha256 = "04a0r5q6vlwxkp1gwp10fmi22brb77w02psz44zbvqbm02jf7vhd"; + version = "0.3.9.3"; + sha256 = "1kp2gdr0xjzr0qi584lqiqh7hjk8vymz04af2zcgdhbw68brj2cx"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -98110,6 +105134,7 @@ self: { description = "A deployment library for Haskell applications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happindicator" = callPackage @@ -98129,6 +105154,7 @@ self: { description = "Binding to the appindicator library"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libappindicator-gtk2;}; "happindicator3" = callPackage @@ -98144,6 +105170,7 @@ self: { description = "Binding to the appindicator library"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libappindicator-gtk3;}; "happlets" = callPackage @@ -98162,6 +105189,7 @@ self: { description = "\"Haskell Applets\" provides an event handler and a canvas for building simple GUI apps"; license = "AGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happlets-lib-gtk" = callPackage @@ -98184,6 +105212,7 @@ self: { description = "The \"Haskell Applets\" Gtk+ ver. 2 back-end for \"happlets\"."; license = "AGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happraise" = callPackage @@ -98198,6 +105227,7 @@ self: { description = "A small program for counting the comments in haskell source"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happs-hsp" = callPackage @@ -98212,6 +105242,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happs-hsp-template" = callPackage @@ -98229,6 +105260,7 @@ self: { description = "Utilities for using HSP templates in HAppS applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happs-tutorial" = callPackage @@ -98254,6 +105286,7 @@ self: { description = "A Happstack Tutorial that is its own web 2.0-type demo."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack" = callPackage @@ -98269,6 +105302,7 @@ self: { description = "The haskell application server stack + code generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-auth" = callPackage @@ -98288,6 +105322,7 @@ self: { description = "A Happstack Authentication Suite"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-authenticate" = callPackage @@ -98303,8 +105338,8 @@ self: { }: mkDerivation { pname = "happstack-authenticate"; - version = "2.3.4.15"; - sha256 = "1vgyzclziis403d08x4s26ml7ay0icwymixddbm409c99p6l8lif"; + version = "2.4.0"; + sha256 = "1q4k8x6mwh9g7y5njcjd1xyn79yjnjv01nk4xa5q9yspmsa4685m"; enableSeparateDataOutput = true; libraryHaskellDepends = [ acid-state aeson authenticate base base64-bytestring boomerang @@ -98318,6 +105353,7 @@ self: { description = "Happstack Authentication Library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-clientsession" = callPackage @@ -98335,6 +105371,7 @@ self: { description = "client-side session data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-contrib" = callPackage @@ -98356,6 +105393,7 @@ self: { description = "Web related tools and services"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-data" = callPackage @@ -98378,6 +105416,7 @@ self: { description = "Happstack data manipulation libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-dlg" = callPackage @@ -98396,6 +105435,7 @@ self: { description = "Cross-request user interactions for Happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-facebook" = callPackage @@ -98422,6 +105462,7 @@ self: { description = "A package for building Facebook applications using Happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-fastcgi" = callPackage @@ -98438,6 +105479,8 @@ self: { ]; description = "Happstack extension for use with FastCGI"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-fay" = callPackage @@ -98454,6 +105497,7 @@ self: { description = "Support for using Fay with Happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-fay-ajax" = callPackage @@ -98467,6 +105511,7 @@ self: { description = "Support for using Fay with Happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-foundation" = callPackage @@ -98487,6 +105532,8 @@ self: { ]; description = "Glue code for using Happstack with acid-state, web-routes, reform, and HSP"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-hamlet" = callPackage @@ -98499,6 +105546,7 @@ self: { description = "Support for Hamlet HTML templates in Happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-heist" = callPackage @@ -98516,6 +105564,7 @@ self: { description = "Support for using Heist templates in Happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-helpers" = callPackage @@ -98540,6 +105589,7 @@ self: { description = "Convenience functions for Happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-hsp" = callPackage @@ -98556,6 +105606,8 @@ self: { ]; description = "Support for using HSP templates in Happstack"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-hstringtemplate" = callPackage @@ -98572,6 +105624,7 @@ self: { description = "Support for using HStringTemplate in Happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-ixset" = callPackage @@ -98591,6 +105644,7 @@ self: { description = "Efficient relational queries on Haskell sets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-jmacro" = callPackage @@ -98609,6 +105663,7 @@ self: { description = "Support for using JMacro with Happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-lite" = callPackage @@ -98623,6 +105678,7 @@ self: { description = "Happstack minus the useless stuff"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-monad-peel" = callPackage @@ -98639,6 +105695,7 @@ self: { description = "monad-peel instances for Happstack types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-plugins" = callPackage @@ -98655,6 +105712,7 @@ self: { description = "The haskell application server stack + reload"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-server" = callPackage @@ -98670,6 +105728,8 @@ self: { pname = "happstack-server"; version = "7.5.1.3"; sha256 = "0agxmrf2njd3whvgw4in0ixgss1qlmi6cdi9fglhs7nhykpkgllk"; + revision = "1"; + editedCabalFile = "15ira63nilqyq9ggl2jy5ip26aprw79sv5k1hp9n4wp9byhzzyjw"; libraryHaskellDepends = [ base base64-bytestring blaze-html bytestring containers directory exceptions extensible-exceptions filepath hslogger html @@ -98683,6 +105743,8 @@ self: { ]; description = "Web related tools and services"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-server-tls" = callPackage @@ -98701,6 +105763,8 @@ self: { librarySystemDepends = [ openssl ]; description = "extend happstack-server with https:// support (TLS/SSL)"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) openssl;}; "happstack-server-tls-cryptonite" = callPackage @@ -98719,6 +105783,7 @@ self: { description = "Extend happstack-server with native HTTPS support (TLS/SSL)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-state" = callPackage @@ -98740,6 +105805,7 @@ self: { description = "Event-based distributed state"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-static-routing" = callPackage @@ -98755,6 +105821,8 @@ self: { ]; description = "Support for static URL routing with overlap detection for Happstack"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-util" = callPackage @@ -98779,6 +105847,7 @@ self: { description = "Web framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happstack-yui" = callPackage @@ -98801,6 +105870,7 @@ self: { description = "Utilities for using YUI3 with Happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happy_1_19_5" = callPackage @@ -98829,10 +105899,8 @@ self: { }: mkDerivation { pname = "happy"; - version = "1.19.9"; - sha256 = "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y"; - revision = "3"; - editedCabalFile = "0kwlh964nyqvfbm02np8vpc28gbhsby0r65jhz1918rm0wip9izq"; + version = "1.19.11"; + sha256 = "0xszsjl4943kp7cjzlpf7g5lx6yzqxj8xmgzy4s0m66vs2gd354h"; isLibrary = false; isExecutable = true; setupHaskellDepends = [ base Cabal directory filepath ]; @@ -98842,6 +105910,19 @@ self: { license = stdenv.lib.licenses.bsd2; }) {}; + "happy-hour" = callPackage + ({ mkDerivation, base, Chart, Chart-diagrams }: + mkDerivation { + pname = "happy-hour"; + version = "0.0.0.1"; + sha256 = "1dhqgv7q2qw9fc19mpsnfkc4y3h0d68433p2mrpx5fz81slfy4cf"; + revision = "1"; + editedCabalFile = "1yvz6nbqwxjyw7ffs95na7x75xc9ap8hp6m5jdvfqlgqcwlzmd6j"; + libraryHaskellDepends = [ base Chart Chart-diagrams ]; + description = "Generate simple okay-looking bar plots without much effort"; + license = stdenv.lib.licenses.mit; + }) {}; + "happy-meta" = callPackage ({ mkDerivation, array, base, containers, happy, haskell-src-meta , mtl, template-haskell @@ -98859,6 +105940,7 @@ self: { description = "Quasi-quoter for Happy parsers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happybara" = callPackage @@ -98876,6 +105958,7 @@ self: { description = "Acceptance test framework for web applications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happybara-webkit" = callPackage @@ -98896,6 +105979,7 @@ self: { description = "WebKit Happybara driver"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "happybara-webkit-server" = callPackage @@ -98908,6 +105992,7 @@ self: { description = "WebKit Server binary for Happybara (taken from capybara-webkit)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hapstone" = callPackage @@ -98927,6 +106012,7 @@ self: { description = "Capstone bindings for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) capstone;}; "haquery" = callPackage @@ -98943,6 +106029,7 @@ self: { description = "jQuery for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haquil" = callPackage @@ -98965,6 +106052,7 @@ self: { description = "A Haskell implementation of the Quil instruction set for quantum computing"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "har" = callPackage @@ -98998,6 +106086,7 @@ self: { description = "Networked content addressed backup and restore software"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) openssl; inherit (pkgs) sqlite;}; "hardware-edsl" = callPackage @@ -99016,6 +106105,29 @@ self: { description = "Deep embedding of hardware descriptions with code generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "harg" = callPackage + ({ mkDerivation, aeson, barbies, base, bytestring, directory + , higgledy, markdown-unlit, optparse-applicative, text, yaml + }: + mkDerivation { + pname = "harg"; + version = "0.1.0.1"; + sha256 = "11qkyx9axd8vybkb1kq7vs5v5xf594wgkbpbfpvj0hah7iw9wb95"; + libraryHaskellDepends = [ + aeson barbies base bytestring directory higgledy + optparse-applicative text yaml + ]; + testHaskellDepends = [ + aeson barbies base higgledy optparse-applicative + ]; + testToolDepends = [ markdown-unlit ]; + description = "Haskell program configuration from multiple sources"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hark" = callPackage @@ -99035,6 +106147,7 @@ self: { description = "A Gentoo package query tool"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "harmony" = callPackage @@ -99061,6 +106174,7 @@ self: { description = "A web service specification compiler that generates implementation and tests"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haroonga" = callPackage @@ -99078,6 +106192,7 @@ self: { description = "Low level bindings for Groonga"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) groonga;}; "haroonga-httpd" = callPackage @@ -99097,6 +106212,7 @@ self: { description = "Yet another Groonga http server"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "harp" = callPackage @@ -99125,6 +106241,7 @@ self: { description = "Runtime code generation for x86 machine code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "harvest-api" = callPackage @@ -99146,20 +106263,20 @@ self: { description = "Bindings for Harvest API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "has" = callPackage ({ mkDerivation, base, QuickCheck }: mkDerivation { pname = "has"; - version = "0.5.0.1"; - sha256 = "0zydwhr2ac66knmrlf0b9vsys61w6370g9rid2gag2dvmy7xqp2s"; + version = "0.6.0.1"; + sha256 = "1w2pdc4vyxd0wl700ba077d5aw7nkjw7nqhm8ydnsjgrv3xvhgah"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base QuickCheck ]; description = "Entity based records"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "has-th" = callPackage @@ -99172,22 +106289,21 @@ self: { description = "Template Haskell function for Has records"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasbolt" = callPackage ({ mkDerivation, base, binary, bytestring, connection, containers - , data-binary-ieee754, data-default, hex, hspec, network - , QuickCheck, text, transformers + , data-binary-ieee754, data-default, hex, hspec, mtl, network + , QuickCheck, text }: mkDerivation { pname = "hasbolt"; - version = "0.1.3.2"; - sha256 = "14sq3iqbrfkwyswdka2285cdhwx3c6srfhn5qb7yw1nfjx2bdb1i"; - revision = "3"; - editedCabalFile = "10h7pbkrkc9cdxx09zk0s8ygcdva2xy646zq3k8czph3vdaffzqx"; + version = "0.1.3.4"; + sha256 = "06z47djpg6sar1cadzrn86cmn092jhf7cwnjv402sx00i4r2v5dh"; libraryHaskellDepends = [ base binary bytestring connection containers data-binary-ieee754 - data-default network text transformers + data-default mtl network text ]; testHaskellDepends = [ base bytestring containers hex hspec QuickCheck text @@ -99204,8 +106320,8 @@ self: { }: mkDerivation { pname = "hasbolt-extras"; - version = "0.0.0.16"; - sha256 = "1759pk8w5vvgm194lbfj1z9vxwh19d1s36lwpwni1qk7l1lpvvm6"; + version = "0.0.0.19"; + sha256 = "11g6rlgyxi57bvmr862ly7yfwiiph1kckr056b5khz8v8k6fhhpv"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -99218,7 +106334,6 @@ self: { ]; description = "Extras for hasbolt library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hascal" = callPackage @@ -99282,6 +106397,7 @@ self: { description = "Cassandra driver for haskell"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hascat" = callPackage @@ -99377,6 +106493,7 @@ self: { description = "Hashing tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hash-store" = callPackage @@ -99392,6 +106509,8 @@ self: { ]; description = "Hash as cache"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hash-tree" = callPackage @@ -99440,6 +106559,32 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "hashable_1_3_0_0" = callPackage + ({ mkDerivation, base, bytestring, criterion, deepseq, ghc-prim + , HUnit, integer-gmp, QuickCheck, random, siphash, test-framework + , test-framework-hunit, test-framework-quickcheck2, text, unix + }: + mkDerivation { + pname = "hashable"; + version = "1.3.0.0"; + sha256 = "1d4sn4xjf0swrfg8pl93ipavbj12ch3a9aykhkl6mjnczc9m8bl2"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring deepseq ghc-prim integer-gmp text + ]; + testHaskellDepends = [ + base bytestring ghc-prim HUnit QuickCheck random test-framework + test-framework-hunit test-framework-quickcheck2 text unix + ]; + benchmarkHaskellDepends = [ + base bytestring criterion ghc-prim integer-gmp siphash text + ]; + description = "A class for types that can be converted to a hash value"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "hashable-extras" = callPackage ({ mkDerivation, base, bifunctors, bytestring, directory, doctest , filepath, hashable, transformers, transformers-compat @@ -99458,6 +106603,7 @@ self: { description = "Higher-rank Hashable"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hashable-generics" = callPackage @@ -99477,6 +106623,7 @@ self: { description = "Automatically generates Hashable instances with GHC.Generics."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hashable-orphans" = callPackage @@ -99490,7 +106637,6 @@ self: { libraryHaskellDepends = [ base hashable sorted-list time ]; description = "Provides instances missing from Hashable"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hashable-time" = callPackage @@ -99499,6 +106645,8 @@ self: { pname = "hashable-time"; version = "0.2.0.2"; sha256 = "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"; + revision = "2"; + editedCabalFile = "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz"; libraryHaskellDepends = [ base hashable time ]; description = "Hashable instances for Data.Time"; license = stdenv.lib.licenses.bsd3; @@ -99521,6 +106669,7 @@ self: { description = "Principled, portable & extensible hashing of data and types, including an implementation of the FNV-1a and SipHash algorithms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hashed-storage" = callPackage @@ -99540,6 +106689,7 @@ self: { description = "Hashed file storage support code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hashflare" = callPackage @@ -99554,6 +106704,7 @@ self: { description = "A library for working with HashFlare.io contracts and hashrates"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hashids" = callPackage @@ -99633,6 +106784,7 @@ self: { description = "Efficient consistent hashing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hashtable-benchmark" = callPackage @@ -99657,8 +106809,8 @@ self: { ({ mkDerivation, base, ghc-prim, hashable, primitive, vector }: mkDerivation { pname = "hashtables"; - version = "1.2.3.1"; - sha256 = "1giw9caajr07slf09j7zry9b0kvm4yj9q78zy1mawzi6gk3wglcg"; + version = "1.2.3.4"; + sha256 = "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"; libraryHaskellDepends = [ base ghc-prim hashable primitive vector ]; @@ -99686,6 +106838,7 @@ self: { description = "Extensions for a \"hashtables\" library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasim" = callPackage @@ -99698,6 +106851,7 @@ self: { description = "Process-Based Discrete Event Simulation library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hask" = callPackage @@ -99716,6 +106870,7 @@ self: { description = "Categories"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hask-home" = callPackage @@ -99735,6 +106890,7 @@ self: { description = "Generate homepages for cabal packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskades" = callPackage @@ -99815,6 +106971,7 @@ self: { description = "A dialect of haskell with order of execution based on dependency resolution"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskbot-core" = callPackage @@ -99836,6 +106993,7 @@ self: { description = "Easily-extensible chatbot for Slack messaging service"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskdeep" = callPackage @@ -99861,6 +107019,7 @@ self: { description = "Computes and audits file hashes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskdogs" = callPackage @@ -99898,6 +107057,7 @@ self: { description = "A small scheme interpreter"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskeline_0_7_5_0" = callPackage @@ -99928,6 +107088,7 @@ self: { description = "Class interface for working with Haskeline"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskeline-repl" = callPackage @@ -99952,6 +107113,7 @@ self: { description = "Write Emacs module in Haskell, using Emacs 25's Dynamic Module feature"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-abci" = callPackage @@ -99978,6 +107140,7 @@ self: { description = "Haskell Application BlockChain Interface (ABCI) Server Library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-aliyun" = callPackage @@ -100001,6 +107164,7 @@ self: { description = "haskell client of aliyun service"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-awk" = callPackage @@ -100034,6 +107198,7 @@ self: { description = "Transform text from the command-line using Haskell expressions"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-bcrypt" = callPackage @@ -100073,6 +107238,7 @@ self: { description = "Complete BitMEX Client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-bitmex-rest" = callPackage @@ -100101,6 +107267,7 @@ self: { description = "Auto-generated bitmex API Client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-brainfuck" = callPackage @@ -100121,30 +107288,35 @@ self: { description = "BrainFuck interpreter"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-ci" = callPackage - ({ mkDerivation, ansi-terminal, base, bytestring, Cabal, containers - , deepseq, Diff, directory, filepath, tasty, tasty-golden - , transformers + ({ mkDerivation, ansi-terminal, base, base-compat, bytestring + , Cabal, containers, deepseq, Diff, directory, filepath + , generic-lens, HsYAML, microlens, optparse-applicative, parsec + , pretty, ShellCheck, tasty, tasty-golden, text, transformers }: mkDerivation { pname = "haskell-ci"; - version = "0.1.0.0"; - sha256 = "1bfl9k0ypak7p39xkx0zslamd9cd5jvvxf57wqigbcpgcmsd7z40"; - isLibrary = true; + version = "0.2.1"; + sha256 = "07h99vq4bmphrpi1ggm7h06ard7hyxkmsxypicghvv24cgzl3c70"; + isLibrary = false; isExecutable = true; libraryHaskellDepends = [ - base Cabal containers deepseq directory filepath transformers + base base-compat bytestring Cabal containers deepseq directory + filepath generic-lens HsYAML microlens optparse-applicative parsec + pretty ShellCheck text transformers ]; executableHaskellDepends = [ base ]; testHaskellDepends = [ ansi-terminal base bytestring Diff directory filepath tasty tasty-golden transformers ]; + doHaddock = false; description = "Cabal package script generator for Travis-CI"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + maintainers = with stdenv.lib.maintainers; [ peti ]; }) {}; "haskell-cnc" = callPackage @@ -100166,6 +107338,7 @@ self: { description = "Library for parallel programming in the Intel Concurrent Collections paradigm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-coffee" = callPackage @@ -100178,6 +107351,7 @@ self: { description = "Simple CoffeeScript API"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-compression" = callPackage @@ -100198,6 +107372,7 @@ self: { description = "compress files"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-conll" = callPackage @@ -100206,14 +107381,13 @@ self: { }: mkDerivation { pname = "haskell-conll"; - version = "0.1.0.1"; - sha256 = "09lgj70lk2xh75rq4gdmfacmb465r0xn03v8cnk82bx52c7jwiga"; + version = "0.1.0.2"; + sha256 = "05w90jlidxr55r5j1hihfhdcwjkzw85xipwxdd3i6kmskin2pv1v"; libraryHaskellDepends = [ base containers lens pretty-show protolude split text ]; description = "Core Types for NLP"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + license = stdenv.lib.licenses.mit; }) {}; "haskell-course-preludes" = callPackage @@ -100226,6 +107400,7 @@ self: { description = "Small modules for a Haskell course in which Haskell is taught by implementing Prelude functionality"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-dap" = callPackage @@ -100235,21 +107410,52 @@ self: { }: mkDerivation { pname = "haskell-dap"; - version = "0.0.10.1"; - sha256 = "187blp0s8grabi11qpv06ckrys84ia51chf9h01449jxcw53fa76"; - revision = "1"; - editedCabalFile = "16kxaa0b9law55c3v9m664wpb8zafldh2wpl0brznq5bjwg1pqz5"; + version = "0.0.13.0"; + sha256 = "1hyy1jx5b7k3rhk3xmr4nsx2ay7jgq70nxy01a7ap1y4gzy9pjns"; isLibrary = true; isExecutable = true; - libraryHaskellDepends = [ base ]; + libraryHaskellDepends = [ base containers ]; executableHaskellDepends = [ array base bytestring containers deepseq directory filepath ghc ghc-boot ghc-paths ghci haskeline process text time transformers unix ]; - description = "haskell-dap is a GHCi having DAP interface"; + description = "Haskell implementation of the DAP interface data"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "haskell-debug-adapter" = callPackage + ({ mkDerivation, aeson, async, base, bytestring, Cabal, clock + , cmdargs, conduit, conduit-extra, containers, data-default + , directory, filepath, fsnotify, haskell-dap, hslogger, hspec, lens + , MissingH, mtl, parsec, process, resourcet, safe-exceptions, text + }: + mkDerivation { + pname = "haskell-debug-adapter"; + version = "0.0.31.0"; + sha256 = "1qxbpllkcf9ybp94f3bhy2w5l6164na0j72c2d4r1va0bzmni4lp"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson async base bytestring Cabal clock cmdargs conduit + conduit-extra containers data-default directory filepath fsnotify + haskell-dap hslogger lens MissingH mtl parsec process resourcet + safe-exceptions text + ]; + executableHaskellDepends = [ + aeson async base bytestring Cabal clock cmdargs conduit + conduit-extra containers data-default directory filepath fsnotify + haskell-dap hslogger lens MissingH mtl parsec process resourcet + safe-exceptions text + ]; + testHaskellDepends = [ + aeson async base bytestring Cabal clock cmdargs conduit + conduit-extra containers data-default directory filepath fsnotify + haskell-dap hslogger hspec lens MissingH mtl parsec process + resourcet safe-exceptions text + ]; + description = "Haskell Debug Adapter"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haskell-disque" = callPackage @@ -100267,29 +107473,30 @@ self: { description = "Client library for the Disque datastore"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-docs" = callPackage ({ mkDerivation, aeson, base, base16-bytestring, bytestring, Cabal , containers, cryptohash, directory, filepath, ghc, ghc-paths - , haddock-api, monad-loops, process, text, unordered-containers + , haddock-api, haddock-library, monad-loops, process, text + , unordered-containers }: mkDerivation { pname = "haskell-docs"; - version = "4.2.8"; - sha256 = "00a93rva9mpg0wf3fj0h9l4ljz566vx1dv9hh4xhc5n1zqijycpz"; + version = "4.2.9"; + sha256 = "10pgziq2f9wx92afmwh1m4bwxcyygpf4xg99vghm6r4ilh1fbkg7"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson base base16-bytestring bytestring Cabal containers cryptohash - directory filepath ghc ghc-paths haddock-api monad-loops process - text unordered-containers + directory filepath ghc ghc-paths haddock-api haddock-library + monad-loops process text unordered-containers ]; executableHaskellDepends = [ base ghc text ]; testHaskellDepends = [ base ]; description = "A program to find and display the docs and type of a name"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haskell-eigen-util" = callPackage @@ -100303,6 +107510,7 @@ self: { description = "Some utility functions for haskell-eigen library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-exp-parser" = callPackage @@ -100333,13 +107541,13 @@ self: { "haskell-formatter" = callPackage ({ mkDerivation, base, containers, directory, directory-tree , doctest, filemanip, filepath, haskell-src-exts, hlint - , optparse-applicative, scientific, tasty, tasty-hunit, text - , unordered-containers, yaml + , optparse-applicative, QuickCheck, scientific, tasty, tasty-hunit + , text, unordered-containers, yaml }: mkDerivation { pname = "haskell-formatter"; - version = "1.0.0"; - sha256 = "0mrcd57g3pnn11smgak51pikxxf5zsi7h06f270pmf2r1vv2977b"; + version = "2.0.1"; + sha256 = "17cwpvc8yfflzvlhyvdk2kgqpi2k3s55kz1435axgn02ajvdlr75"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -100351,11 +107559,12 @@ self: { ]; testHaskellDepends = [ base containers directory-tree doctest filemanip filepath hlint - tasty tasty-hunit + QuickCheck tasty tasty-hunit ]; description = "Haskell source code formatter"; - license = stdenv.lib.licenses.gpl3; + license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-ftp" = callPackage @@ -100383,6 +107592,7 @@ self: { description = "A Haskell ftp server with configurable backend"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-generate" = callPackage @@ -100400,6 +107610,7 @@ self: { description = "Typesafe generation of haskell source code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-gettext" = callPackage @@ -100421,7 +107632,6 @@ self: { ]; description = "GetText runtime library implementation in pure Haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haskell-gi" = callPackage @@ -100432,8 +107642,8 @@ self: { }: mkDerivation { pname = "haskell-gi"; - version = "0.21.5"; - sha256 = "1rvi9bmgxq7q6js8yb5yb156yxmnm9px9amgjwzxmr7sxz31dl8j"; + version = "0.23.0"; + sha256 = "04d2lxmbbq7g0yrc5rz9n7zscza9g63vvbz0qv3427y7hbq1xn4a"; libraryHaskellDepends = [ attoparsec base bytestring Cabal containers directory filepath haskell-gi-base mtl pretty-show process regex-tdfa safe text @@ -100443,15 +107653,14 @@ self: { testHaskellDepends = [ base doctest process ]; description = "Generate Haskell bindings for GObject Introspection capable libraries"; license = stdenv.lib.licenses.lgpl21; - }) {inherit (pkgs) glib; - inherit (pkgs.gnome3) gobject-introspection;}; + }) {inherit (pkgs) glib; inherit (pkgs) gobject-introspection;}; "haskell-gi-base" = callPackage ({ mkDerivation, base, bytestring, containers, glib, text }: mkDerivation { pname = "haskell-gi-base"; - version = "0.21.5"; - sha256 = "1pxnwljicxyxr83c7d8xvla7zbp2krv1n6fp4i2zh8bqwln3fkgh"; + version = "0.23.0"; + sha256 = "1f22d4pvmyy52w9hqa36b6psw34j562rayqgk052ng1ax9yvwzn0"; libraryHaskellDepends = [ base bytestring containers text ]; libraryPkgconfigDepends = [ glib ]; description = "Foundation for libraries generated by haskell-gi"; @@ -100493,6 +107702,7 @@ self: { description = "Go and Checkers game in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-google-trends" = callPackage @@ -100514,15 +107724,17 @@ self: { }) {}; "haskell-holes-th" = callPackage - ({ mkDerivation, base, template-haskell }: + ({ mkDerivation, base, template-haskell, transformers }: mkDerivation { pname = "haskell-holes-th"; - version = "1.0.0.0"; - sha256 = "13xyxck9f15mwi641zs9zw77cnrgh30p2771f66haby96k8wx9jf"; - libraryHaskellDepends = [ base template-haskell ]; + version = "2.0.0.0"; + sha256 = "045spgarz68bay5yqd5cfllkmzja2jax9swcqhxc7gw5msfgxxw1"; + libraryHaskellDepends = [ base template-haskell transformers ]; + testHaskellDepends = [ base template-haskell transformers ]; description = "Infer haskell code by given type"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-igraph" = callPackage @@ -100564,6 +107776,8 @@ self: { executableHaskellDepends = [ base ]; description = "create haskell import graph for graphviz"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-in-space" = callPackage @@ -100578,6 +107792,7 @@ self: { description = "'Asteroids' arcade games"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-kubernetes" = callPackage @@ -100598,6 +107813,7 @@ self: { description = "Haskell bindings to the Kubernetes API (via swagger-codegen)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-lexer" = callPackage @@ -100612,31 +107828,30 @@ self: { }) {}; "haskell-lsp" = callPackage - ({ mkDerivation, aeson, base, bytestring, containers, data-default - , directory, filepath, hashable, haskell-lsp-types, hslogger, hspec - , lens, mtl, network-uri, parsec, sorted-list, stm, text, time - , transformers, unordered-containers, vector, yi-rope + ({ mkDerivation, aeson, async, attoparsec, base, bytestring + , containers, data-default, directory, filepath, hashable + , haskell-lsp-types, hslogger, hspec, hspec-discover, lens, mtl + , network-uri, QuickCheck, quickcheck-instances, rope-utf16-splay + , sorted-list, stm, temporary, text, time, unordered-containers }: mkDerivation { pname = "haskell-lsp"; - version = "0.8.0.1"; - sha256 = "1lvrqxp6v5xvha88l8r6n86ydvlszzxmi7fazvjxz4bixy9zvw8q"; + version = "0.15.0.0"; + sha256 = "111c0hdlpnj979p3avlhswziyc6vh6apij5b2nhhi8wlfhqwrpcg"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base bytestring containers data-default directory filepath - hashable haskell-lsp-types hslogger lens mtl network-uri parsec - sorted-list stm text time unordered-containers yi-rope - ]; - executableHaskellDepends = [ - aeson base bytestring containers data-default directory filepath - hslogger lens mtl network-uri parsec stm text time transformers - unordered-containers vector yi-rope + aeson async attoparsec base bytestring containers data-default + directory filepath hashable haskell-lsp-types hslogger lens mtl + network-uri rope-utf16-splay sorted-list stm temporary text time + unordered-containers ]; testHaskellDepends = [ aeson base bytestring containers data-default directory filepath - hashable hspec lens network-uri sorted-list stm text yi-rope + hashable hspec lens network-uri QuickCheck quickcheck-instances + rope-utf16-splay sorted-list stm text ]; + testToolDepends = [ hspec-discover ]; description = "Haskell library for the Microsoft Language Server Protocol"; license = stdenv.lib.licenses.mit; }) {}; @@ -100660,19 +107875,20 @@ self: { description = "A haskell package to build your own Language Server client"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-lsp-types" = callPackage - ({ mkDerivation, aeson, base, bytestring, data-default, filepath - , hashable, lens, network-uri, scientific, text + ({ mkDerivation, aeson, base, bytestring, data-default, deepseq + , filepath, hashable, lens, network-uri, scientific, text , unordered-containers }: mkDerivation { pname = "haskell-lsp-types"; - version = "0.8.0.1"; - sha256 = "0czh6fqrzzp5xkawwiia5n437pmch41rnkp166lpvglfqg4gx8y8"; + version = "0.15.0.0"; + sha256 = "1ky20lpgbdiijh3z6ilf7jn7cyxl2kshqnm2p4dgabfh97gbf8bb"; libraryHaskellDepends = [ - aeson base bytestring data-default filepath hashable lens + aeson base bytestring data-default deepseq filepath hashable lens network-uri scientific text unordered-containers ]; description = "Haskell library for the Microsoft Language Server Protocol, data types"; @@ -100708,6 +107924,7 @@ self: { description = "Machine learning in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-modbus" = callPackage @@ -100732,6 +107949,7 @@ self: { description = "Correctly-rounded arbitrary-precision floating-point arithmetic"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-mpi" = callPackage @@ -100754,30 +107972,6 @@ self: { }) {open-pal = null; open-rte = null; inherit (pkgs) openmpi;}; "haskell-names" = callPackage - ({ mkDerivation, aeson, base, bytestring, containers - , data-lens-light, filemanip, filepath, haskell-src-exts, mtl - , pretty-show, tasty, tasty-golden, transformers - , traverse-with-class, uniplate - }: - mkDerivation { - pname = "haskell-names"; - version = "0.9.4"; - sha256 = "0dbf5rxysm57jn018wd3dfz3m621n0347mbpgv7q2yb77cwrlg8y"; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - aeson base bytestring containers data-lens-light filepath - haskell-src-exts mtl transformers traverse-with-class uniplate - ]; - testHaskellDepends = [ - base containers filemanip filepath haskell-src-exts mtl pretty-show - tasty tasty-golden traverse-with-class - ]; - description = "Name resolution library for Haskell"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "haskell-names_0_9_6" = callPackage ({ mkDerivation, aeson, base, bytestring, containers , data-lens-light, filemanip, filepath, haskell-src-exts, mtl , pretty-show, tasty, tasty-golden, transformers @@ -100798,7 +107992,6 @@ self: { ]; description = "Name resolution library for Haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haskell-neo4j-client" = callPackage @@ -100831,6 +108024,7 @@ self: { description = "A Haskell neo4j client"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-openflow" = callPackage @@ -100846,6 +108040,7 @@ self: { description = "OpenFlow protocol in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-overridez" = callPackage @@ -100868,6 +108063,7 @@ self: { description = "Manage nix overrides for haskell packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-packages" = callPackage @@ -100887,6 +108083,7 @@ self: { description = "Haskell suite library for package management and integration with Cabal"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-pdf-presenter" = callPackage @@ -100907,6 +108104,7 @@ self: { description = "Tool for presenting PDF-based presentations"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-platform-test" = callPackage @@ -100936,6 +108134,7 @@ self: { description = "A test system for the Haskell Platform environment"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-player" = callPackage @@ -100958,6 +108157,7 @@ self: { description = "A terminal music player based on afplay"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-plot" = callPackage @@ -100975,6 +108175,7 @@ self: { description = "A library for generating 2D plots painlessly"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-postal" = callPackage @@ -100991,8 +108192,32 @@ self: { description = "Haskell binding for the libpostal library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {libpostal = null;}; + "haskell-postgis" = callPackage + ({ mkDerivation, aeson, base, binary, bytestring, bytestring-lexing + , cpu, data-binary-ieee754, hspec, mtl, placeholders, text + , unordered-containers, vector + }: + mkDerivation { + pname = "haskell-postgis"; + version = "0.1.0.2"; + sha256 = "0p3zdrzfsz3qj3rcx3yihg7vffa261ig5lywrfls5qvqihw62m41"; + libraryHaskellDepends = [ + aeson base binary bytestring bytestring-lexing cpu + data-binary-ieee754 mtl placeholders text unordered-containers + vector + ]; + testHaskellDepends = [ + aeson base binary bytestring bytestring-lexing cpu + data-binary-ieee754 hspec mtl placeholders text + unordered-containers vector + ]; + description = "A haskell library for PostGIS geometry types"; + license = stdenv.lib.licenses.mit; + }) {}; + "haskell-proxy-list" = callPackage ({ mkDerivation, base, base64-string, bytestring, lens, random , regex-base, regex-posix, text, wreq @@ -101034,6 +108259,7 @@ self: { description = "Opens a temporary file on the system's EDITOR and returns the resulting edits"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-reflect" = callPackage @@ -101051,6 +108277,7 @@ self: { description = "Reflect Haskell types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-rules" = callPackage @@ -101063,6 +108290,7 @@ self: { description = "A DSL for expressing natural deduction rules in Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-snake" = callPackage @@ -101137,26 +108365,6 @@ self: { }) {}; "haskell-src-exts" = callPackage - ({ mkDerivation, array, base, containers, directory, filepath - , ghc-prim, happy, mtl, pretty, pretty-show, smallcheck, tasty - , tasty-golden, tasty-smallcheck - }: - mkDerivation { - pname = "haskell-src-exts"; - version = "1.20.3"; - sha256 = "1a74s4zarxdvhnflkxy13pawbfcdhyrb6gkdx0si8spv66knhgj3"; - libraryHaskellDepends = [ array base ghc-prim pretty ]; - libraryToolDepends = [ happy ]; - testHaskellDepends = [ - base containers directory filepath mtl pretty-show smallcheck tasty - tasty-golden tasty-smallcheck - ]; - doCheck = false; - description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "haskell-src-exts_1_21_0" = callPackage ({ mkDerivation, array, base, containers, directory, filepath , ghc-prim, happy, mtl, pretty, pretty-show, smallcheck, tasty , tasty-golden, tasty-smallcheck @@ -101174,7 +108382,6 @@ self: { doCheck = false; description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haskell-src-exts-observe" = callPackage @@ -101189,6 +108396,7 @@ self: { description = "Observable orphan instances for haskell-src-exts"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-src-exts-prisms" = callPackage @@ -101203,6 +108411,7 @@ self: { description = "Prisms with newtype wrappers for haskell-src-exts"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-src-exts-qq" = callPackage @@ -101220,6 +108429,7 @@ self: { description = "A quasiquoter for haskell-src-exts"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-src-exts-sc" = callPackage @@ -101234,14 +108444,15 @@ self: { description = "Pretty print haskell code with comments"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-src-exts-simple" = callPackage ({ mkDerivation, base, haskell-src-exts }: mkDerivation { pname = "haskell-src-exts-simple"; - version = "1.20.0.0"; - sha256 = "0p79ppmwb14lj2a1wy42zgm3z3zk5jbyn7rfgwxsyw2g424bw1dk"; + version = "1.21.0.0"; + sha256 = "0h8m1w995mpdca9is7lwv9n1w7khr5cnxzam21x7w47i546wm9rm"; libraryHaskellDepends = [ base haskell-src-exts ]; description = "A simplified view on the haskell-src-exts AST"; license = stdenv.lib.licenses.mit; @@ -101253,8 +108464,8 @@ self: { }: mkDerivation { pname = "haskell-src-exts-util"; - version = "0.2.4"; - sha256 = "1xbf28aisqizy3a0sy42p3rwib2s7jaqi6dcr6lp4b1j54xazf5y"; + version = "0.2.5"; + sha256 = "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"; libraryHaskellDepends = [ base containers data-default haskell-src-exts semigroups transformers uniplate @@ -101264,22 +108475,20 @@ self: { }) {}; "haskell-src-meta" = callPackage - ({ mkDerivation, base, haskell-src-exts, HUnit, pretty, syb - , template-haskell, test-framework, test-framework-hunit + ({ mkDerivation, base, containers, haskell-src-exts, HUnit, pretty + , syb, template-haskell, test-framework, test-framework-hunit , th-orphans }: mkDerivation { pname = "haskell-src-meta"; - version = "0.8.0.3"; - sha256 = "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"; - revision = "2"; - editedCabalFile = "0dp5v0yd0wgijzaggr22glgjswpa65hy84h8awdzd9d78g2fjz6c"; + version = "0.8.2"; + sha256 = "0vqnq668c88x4amvbs34rxiwdpnxqxr40jy998fc4vd9z6gd4w3r"; libraryHaskellDepends = [ base haskell-src-exts pretty syb template-haskell th-orphans ]; testHaskellDepends = [ - base haskell-src-exts HUnit pretty template-haskell test-framework - test-framework-hunit + base containers haskell-src-exts HUnit pretty syb template-haskell + test-framework test-framework-hunit ]; description = "Parse source to template-haskell abstract syntax"; license = stdenv.lib.licenses.bsd3; @@ -101300,6 +108509,7 @@ self: { description = "Parse source to template-haskell abstract syntax"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-stack-trace-plugin" = callPackage @@ -101315,6 +108525,7 @@ self: { description = "haskell-stack-trace-plugin"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-time-range" = callPackage @@ -101351,6 +108562,7 @@ self: { description = "Utilities to tie up tokens to an AST"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-tools-ast" = callPackage @@ -101367,7 +108579,6 @@ self: { ]; description = "Haskell AST for efficient tooling"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haskell-tools-ast-fromghc" = callPackage @@ -101386,6 +108597,7 @@ self: { description = "Creating the Haskell-Tools AST from GHC's representations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-tools-ast-gen" = callPackage @@ -101403,6 +108615,7 @@ self: { description = "Facilities for generating new parts of the Haskell-Tools AST"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-tools-ast-trf" = callPackage @@ -101419,6 +108632,7 @@ self: { description = "Conversions on Haskell-Tools AST to prepare for refactorings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-tools-backend-ghc" = callPackage @@ -101436,7 +108650,6 @@ self: { ]; description = "Creating the Haskell-Tools AST from GHC's representations"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haskell-tools-builtin-refactorings" = callPackage @@ -101469,6 +108682,7 @@ self: { description = "Refactoring Tool for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-tools-cli" = callPackage @@ -101505,6 +108719,7 @@ self: { description = "Command-line frontend for Haskell-tools Refact"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-tools-daemon" = callPackage @@ -101539,6 +108754,7 @@ self: { description = "Background process for Haskell-tools that editors can connect to"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-tools-debug" = callPackage @@ -101564,6 +108780,7 @@ self: { description = "Debugging Tools for Haskell-tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-tools-demo" = callPackage @@ -101595,6 +108812,7 @@ self: { description = "A web-based demo for Haskell-tools Refactor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-tools-experimental-refactorings" = callPackage @@ -101626,6 +108844,7 @@ self: { description = "Refactoring Tool for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-tools-prettyprint" = callPackage @@ -101642,7 +108861,6 @@ self: { ]; description = "Pretty printing of Haskell-Tools AST"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haskell-tools-refactor" = callPackage @@ -101673,6 +108891,7 @@ self: { description = "Refactoring Tool for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-tools-rewrite" = callPackage @@ -101695,6 +108914,7 @@ self: { description = "Facilities for generating new parts of the Haskell-Tools AST"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-tor" = callPackage @@ -101729,6 +108949,7 @@ self: { description = "A Haskell Tor Node"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-type-exts" = callPackage @@ -101743,6 +108964,7 @@ self: { description = "A type checker for Haskell/haskell-src-exts"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-typescript" = callPackage @@ -101755,6 +108977,7 @@ self: { description = "Simple TypeScript API"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-tyrant" = callPackage @@ -101767,6 +108990,7 @@ self: { description = "Haskell implementation of the Tokyo Tyrant binary protocol"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell-updater" = callPackage @@ -101803,6 +109027,7 @@ self: { description = "Haskell XMPP (eXtensible Message Passing Protocol, a.k.a. Jabber) library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell2010" = callPackage @@ -101815,6 +109040,7 @@ self: { description = "Compatibility with Haskell 2010"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell2020" = callPackage @@ -101842,6 +109068,7 @@ self: { description = "Compatibility with Haskell 98"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskell98libraries" = callPackage @@ -101858,6 +109085,7 @@ self: { description = "Compatibility with Haskell 98"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb" = callPackage @@ -101874,6 +109102,7 @@ self: { description = "A library of combinators for generating and executing SQL statements"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-connect-hdbc" = callPackage @@ -101886,6 +109115,7 @@ self: { description = "Bracketed HDBC session for HaskellDB"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-connect-hdbc-catchio-mtl" = callPackage @@ -101902,6 +109132,7 @@ self: { description = "Bracketed HaskellDB HDBC session using MonadCatchIO-mtl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-connect-hdbc-catchio-tf" = callPackage @@ -101919,6 +109150,7 @@ self: { description = "Bracketed HaskellDB HDBC session using MonadCatchIO-transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-connect-hdbc-catchio-transformers" = callPackage @@ -101936,6 +109168,7 @@ self: { description = "Bracketed HaskellDB HDBC session using MonadCatchIO-transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-connect-hdbc-lifted" = callPackage @@ -101953,6 +109186,7 @@ self: { description = "Bracketed HaskellDB HDBC session using lifted-base"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-dynamic" = callPackage @@ -101968,6 +109202,7 @@ self: { description = "HaskellDB support for the dynamically loaded drivers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-flat" = callPackage @@ -101986,6 +109221,7 @@ self: { description = "An experimental HaskellDB back-end in pure Haskell (no SQL)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-hdbc" = callPackage @@ -102002,6 +109238,7 @@ self: { description = "HaskellDB support for HDBC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-hdbc-mysql" = callPackage @@ -102020,6 +109257,7 @@ self: { description = "HaskellDB support for the HDBC MySQL driver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-hdbc-odbc" = callPackage @@ -102038,6 +109276,7 @@ self: { description = "HaskellDB support for the HDBC ODBC driver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-hdbc-postgresql" = callPackage @@ -102057,6 +109296,7 @@ self: { description = "HaskellDB support for the HDBC PostgreSQL driver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) postgresql;}; "haskelldb-hdbc-sqlite3" = callPackage @@ -102075,6 +109315,7 @@ self: { description = "HaskellDB support for the HDBC SQLite driver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-hsql" = callPackage @@ -102087,6 +109328,7 @@ self: { description = "HaskellDB support for HSQL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-hsql-mysql" = callPackage @@ -102105,6 +109347,7 @@ self: { description = "HaskellDB support for the HSQL MySQL driver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-hsql-odbc" = callPackage @@ -102123,6 +109366,7 @@ self: { description = "HaskellDB support for the HSQL ODBC driver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-hsql-oracle" = callPackage @@ -102160,6 +109404,7 @@ self: { description = "HaskellDB support for the HSQL PostgreSQL driver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-hsql-sqlite" = callPackage @@ -102197,6 +109442,7 @@ self: { description = "HaskellDB support for the HSQL SQLite3 driver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-th" = callPackage @@ -102209,6 +109455,7 @@ self: { description = "Template Haskell utilities for HaskellDB"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelldb-wx" = callPackage @@ -102220,6 +109467,7 @@ self: { description = "HaskellDB support for WXHaskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskellscrabble" = callPackage @@ -102244,6 +109492,7 @@ self: { description = "A scrabble library capturing the core game logic of scrabble"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskellscript" = callPackage @@ -102262,6 +109511,7 @@ self: { description = "Command line tool for running Haskell scripts with a hashbang"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskelm" = callPackage @@ -102311,6 +109561,21 @@ self: { description = "CP in Haskell through MiniZinc"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "haskeme" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "haskeme"; + version = "0.1.0.4"; + sha256 = "0lis0ni0l52x691adm2da7mzjam4g414gc0d0i9f6i050ra02g3j"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base ]; + executableHaskellDepends = [ base ]; + description = "Compiler from I- to S-Expressions for the Scheme Programming Language"; + license = stdenv.lib.licenses.bsd3; }) {}; "haskey" = callPackage @@ -102339,6 +109604,7 @@ self: { description = "A transactional, ACID compliant, embeddable key-value store"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskey-btree" = callPackage @@ -102349,8 +109615,8 @@ self: { }: mkDerivation { pname = "haskey-btree"; - version = "0.3.0.0"; - sha256 = "0nj6jhigzgjac45cg0qjbjamn152n7rvir5clkwj5yraisd7sf4h"; + version = "0.3.0.1"; + sha256 = "11zkj4a5j2f7g9kann4f0ab27aq30v6yn8cyn9hn7mhc3gslrx9m"; libraryHaskellDepends = [ base binary bytestring containers hashable mtl semigroups text transformers vector @@ -102383,6 +109649,7 @@ self: { description = "A monad transformer supporting Haskey transactions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskgame" = callPackage @@ -102395,6 +109662,7 @@ self: { description = "Haskell game library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskheap" = callPackage @@ -102412,6 +109680,7 @@ self: { description = "Haskell bindings to refheap"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskhol-core" = callPackage @@ -102432,6 +109701,7 @@ self: { description = "The core logical system of HaskHOL, an EDSL for HOL theorem proving"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskintex" = callPackage @@ -102452,7 +109722,6 @@ self: { executableHaskellDepends = [ base ]; description = "Haskell Evaluation inside of LaTeX code"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haskmon" = callPackage @@ -102470,6 +109739,7 @@ self: { description = "A haskell wrapper for PokeAPI.co (www.pokeapi.co)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskoin" = callPackage @@ -102494,6 +109764,7 @@ self: { description = "Implementation of the Bitcoin protocol"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskoin-bitcoind" = callPackage @@ -102512,6 +109783,7 @@ self: { description = "An adapter for haskoin to network-bitcoin"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskoin-core" = callPackage @@ -102523,8 +109795,8 @@ self: { }: mkDerivation { pname = "haskoin-core"; - version = "0.8.4"; - sha256 = "0hpabz26wyxvpkvc2xv1xscmbvn0yfj2nnd41ysaf4xgfnh4c9sw"; + version = "0.9.0"; + sha256 = "1kwk3ycb4hjybsj43fg5khg2i5rgfrlwcmp7hknyzgzyshmwj1bx"; libraryHaskellDepends = [ aeson array base base16-bytestring bytestring cereal conduit containers cryptonite entropy hashable memory mtl murmur3 network @@ -102561,33 +109833,39 @@ self: { description = "Implementation of Bitcoin cryptographic primitives"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskoin-node" = callPackage ({ mkDerivation, base, bytestring, cereal, conduit, conduit-extra - , data-default, hashable, haskoin-core, hspec, hspec-discover - , HUnit, monad-logger, mtl, network, nqe, random, resourcet - , rocksdb-haskell, rocksdb-query, safe, string-conversions, text - , time, transformers, unliftio, unordered-containers + , containers, data-default, hashable, haskoin-core, hspec + , hspec-discover, HUnit, monad-logger, mtl, network, nqe, random + , resourcet, rocksdb-haskell, rocksdb-query, safe + , string-conversions, text, time, transformers, unliftio + , unordered-containers }: mkDerivation { pname = "haskoin-node"; - version = "0.9.5"; - sha256 = "1c0nms9q9x0fsg1hkn5kz8jpal79b0143yca156nb563bdlx0pfd"; + version = "0.9.10"; + sha256 = "05pnj7caia2ifr793pryfdc8q8p203rii4agrgy4i123mcfmxqjq"; libraryHaskellDepends = [ - base bytestring cereal conduit conduit-extra data-default hashable - haskoin-core monad-logger mtl network nqe random resourcet - rocksdb-haskell rocksdb-query string-conversions text time - transformers unliftio unordered-containers + base bytestring cereal conduit conduit-extra containers + data-default hashable haskoin-core monad-logger mtl network nqe + random resourcet rocksdb-haskell rocksdb-query string-conversions + text time transformers unliftio unordered-containers ]; testHaskellDepends = [ - base bytestring cereal haskoin-core hspec HUnit monad-logger mtl - network nqe random rocksdb-haskell safe unliftio + base bytestring cereal conduit conduit-extra containers + data-default hashable haskoin-core hspec HUnit monad-logger mtl + network nqe random resourcet rocksdb-haskell rocksdb-query safe + string-conversions text time transformers unliftio + unordered-containers ]; testToolDepends = [ hspec-discover ]; description = "Haskoin Node P2P library for Bitcoin and Bitcoin Cash"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskoin-protocol" = callPackage @@ -102609,6 +109887,7 @@ self: { description = "Implementation of the Bitcoin network protocol messages"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskoin-script" = callPackage @@ -102632,41 +109911,49 @@ self: { description = "Implementation of Bitcoin script parsing and evaluation"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskoin-store" = callPackage - ({ mkDerivation, aeson, base, binary, bytestring, cereal, conduit - , containers, data-default, directory, filepath, hashable - , haskoin-core, haskoin-node, hspec, http-types, monad-logger, mtl - , network, nqe, optparse-applicative, random, rocksdb-haskell - , rocksdb-query, scotty, string-conversions, text, time - , transformers, unliftio, unordered-containers + ({ mkDerivation, aeson, base, bytestring, cereal, conduit + , containers, data-default, filepath, hashable, haskoin-core + , haskoin-node, hspec, hspec-discover, http-types, monad-logger + , mtl, network, nqe, optparse-applicative, random, resourcet + , rocksdb-haskell, rocksdb-query, scotty, string-conversions, text + , time, transformers, unliftio, unordered-containers, wai }: mkDerivation { pname = "haskoin-store"; - version = "0.10.1"; - sha256 = "0z9qsjnzkvzgf0asrdigyph4i3623hkq10542xh0kjq56hnglcn2"; + version = "0.17.1"; + sha256 = "19vzwxy27xkkkx3lmq554kkyh6iclrxdhbp901vb0rh9v8l3cc74"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson base bytestring cereal conduit containers data-default - hashable haskoin-core haskoin-node monad-logger mtl network nqe - random rocksdb-haskell rocksdb-query string-conversions text time - transformers unliftio unordered-containers + hashable haskoin-core haskoin-node http-types monad-logger mtl + network nqe random resourcet rocksdb-haskell rocksdb-query scotty + string-conversions text time transformers unliftio + unordered-containers wai ]; executableHaskellDepends = [ - aeson base binary bytestring cereal conduit data-default directory - filepath haskoin-core haskoin-node http-types monad-logger nqe - optparse-applicative rocksdb-haskell scotty string-conversions text - transformers unliftio unordered-containers + aeson base bytestring cereal conduit containers data-default + filepath hashable haskoin-core haskoin-node http-types monad-logger + mtl network nqe optparse-applicative random resourcet + rocksdb-haskell rocksdb-query scotty string-conversions text time + transformers unliftio unordered-containers wai ]; testHaskellDepends = [ - base data-default haskoin-core haskoin-node hspec monad-logger mtl - nqe rocksdb-haskell transformers unliftio unordered-containers + aeson base bytestring cereal conduit containers data-default + hashable haskoin-core haskoin-node hspec http-types monad-logger + mtl network nqe random resourcet rocksdb-haskell rocksdb-query + scotty string-conversions text time transformers unliftio + unordered-containers wai ]; + testToolDepends = [ hspec-discover ]; description = "Storage and index for Bitcoin and Bitcoin Cash"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskoin-util" = callPackage @@ -102688,6 +109975,7 @@ self: { description = "Utility functions for the Network.Haskoin project"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskoin-wallet" = callPackage @@ -102731,6 +110019,7 @@ self: { description = "Implementation of a Bitcoin SPV Wallet with BIP32 and multisig support"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskoon" = callPackage @@ -102749,6 +110038,7 @@ self: { description = "Web Application Abstraction"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskoon-httpspec" = callPackage @@ -102765,6 +110055,7 @@ self: { description = "Integrating HttpSpec with Haskoon"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskoon-salvia" = callPackage @@ -102783,6 +110074,7 @@ self: { description = "Integrating HttpSpec with Haskoon"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskore" = callPackage @@ -102808,6 +110100,7 @@ self: { description = "The Haskore Computer Music System"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskore-realtime" = callPackage @@ -102826,6 +110119,7 @@ self: { description = "Routines for realtime playback of Haskore songs"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskore-supercollider" = callPackage @@ -102848,6 +110142,7 @@ self: { description = "Haskore back-end for SuperCollider"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskore-synthesizer" = callPackage @@ -102868,6 +110163,7 @@ self: { description = "Music rendering coded in Haskell"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskore-vintage" = callPackage @@ -102960,6 +110256,7 @@ self: { description = "Torch for tensors and neural networks in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasktorch-codegen" = callPackage @@ -103024,6 +110321,7 @@ self: { description = "Bindings to Torch"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {ATen = null;}; "hasktorch-ffi-thc" = callPackage @@ -103047,6 +110345,7 @@ self: { description = "Bindings to Cutorch"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {ATen = null;}; "hasktorch-indef" = callPackage @@ -103076,6 +110375,7 @@ self: { description = "Core Hasktorch abstractions wrapping FFI bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasktorch-signatures" = callPackage @@ -103102,6 +110402,7 @@ self: { description = "Backpack signatures for Tensor operations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasktorch-signatures-partial" = callPackage @@ -103118,6 +110419,7 @@ self: { description = "Functions to partially satisfy tensor signatures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasktorch-signatures-support" = callPackage @@ -103135,6 +110437,7 @@ self: { description = "Signatures for support tensors in hasktorch"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasktorch-signatures-types" = callPackage @@ -103196,20 +110499,21 @@ self: { description = "Neural architectures in hasktorch"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskus-binary" = callPackage ({ mkDerivation, base, bytestring, cereal, criterion, directory - , doctest, ghc-prim, haskus-utils, haskus-utils-data + , doctest, filepath, ghc-prim, haskus-utils, haskus-utils-data , haskus-utils-types, megaparsec, mtl, primitive, QuickCheck, tasty , tasty-quickcheck, template-haskell, transformers }: mkDerivation { pname = "haskus-binary"; - version = "1.3"; - sha256 = "06smbrvkpiz3rwmlsrxv6a5zh5952ivpl7wg85li6bc90dnz04rm"; + version = "1.4"; + sha256 = "0riqgfy9ai1vb7555l1w9rfcp10ylg7sbk46ph1f2y00pjbxsmv3"; libraryHaskellDepends = [ - base bytestring cereal directory ghc-prim haskus-utils + base bytestring cereal directory filepath ghc-prim haskus-utils haskus-utils-data haskus-utils-types megaparsec mtl primitive template-haskell transformers ]; @@ -103221,6 +110525,7 @@ self: { description = "Haskus binary format manipulation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskus-system-build" = callPackage @@ -103230,8 +110535,8 @@ self: { }: mkDerivation { pname = "haskus-system-build"; - version = "1.0"; - sha256 = "1xzl5f8wilmdq9bg37zzdcv59cqp8kxnhbm6fd8pzqnj8w1pkwdk"; + version = "1.1"; + sha256 = "1krclfcv2hj7y9hapfm8xmc2q41v54r2pkh3rfhdnxffgcszad1z"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -103241,6 +110546,7 @@ self: { description = "Haskus system build tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskus-utils" = callPackage @@ -103262,6 +110568,7 @@ self: { description = "Haskus utility modules"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskus-utils-compat" = callPackage @@ -103278,6 +110585,8 @@ self: { ]; description = "Compatibility modules with other external packages (ByteString, etc.)"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskus-utils-data" = callPackage @@ -103294,17 +110603,17 @@ self: { ]; description = "Haskus utility modules"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haskus-utils-types" = callPackage - ({ mkDerivation, base }: + ({ mkDerivation, base, doctest }: mkDerivation { pname = "haskus-utils-types"; - version = "1.3.1"; - sha256 = "1qsji8pcncwqj7dgww7azlfk4vdjbalsspkj53cbwxfcib1nmcsw"; + version = "1.4.1"; + sha256 = "0nypn55fj86llpgdlsbr5qk7jkix5qazz03f8c5a8kn787n2bkpz"; libraryHaskellDepends = [ base ]; - description = "Haskus utility modules"; + testHaskellDepends = [ base doctest ]; + description = "Haskus types utility modules"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -103315,8 +110624,8 @@ self: { }: mkDerivation { pname = "haskus-utils-variant"; - version = "2.5"; - sha256 = "1nbaq2f33a2q2qpxalvq52sqn47bil41klkp84qdan3rfzh8a7rh"; + version = "2.6.1"; + sha256 = "1zq76dsp29warrr0ym4lp9lrgar7yairwp91qklf3k6qb8h41qw8"; libraryHaskellDepends = [ base deepseq exceptions haskus-utils-data haskus-utils-types template-haskell transformers @@ -103326,6 +110635,7 @@ self: { description = "Variant and EADT"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskus-web" = callPackage @@ -103342,6 +110652,8 @@ self: { ]; description = "Haskus web"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haskyapi" = callPackage @@ -103388,6 +110700,7 @@ self: { description = "Loan calculator engine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasloGUI" = callPackage @@ -103407,6 +110720,7 @@ self: { description = "Loan calculator Gtk GUI. Based on haslo (Haskell Loan) library."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasmin" = callPackage @@ -103447,6 +110761,7 @@ self: { description = "This package enables to write SPARQL queries to remote endpoints"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haspell" = callPackage @@ -103464,30 +110779,28 @@ self: { "hasql" = callPackage ({ mkDerivation, attoparsec, base, base-prelude, bug, bytestring , bytestring-strict-builder, contravariant, contravariant-extras - , criterion, data-default-class, dlist, hashable, hashtables - , loch-th, mtl, placeholders, postgresql-binary, postgresql-libpq - , profunctors, QuickCheck, quickcheck-instances, rebase, rerebase - , tasty, tasty-hunit, tasty-quickcheck, text, text-builder - , transformers, vector + , criterion, dlist, hashable, hashtables, loch-th, mtl + , placeholders, postgresql-binary, postgresql-libpq, profunctors + , QuickCheck, quickcheck-instances, rebase, rerebase, tasty + , tasty-hunit, tasty-quickcheck, text, text-builder, transformers + , vector }: mkDerivation { pname = "hasql"; - version = "1.3.0.3"; - sha256 = "01vl4p67yhcm8cmbmajgyd7ggj3p5f6350f8sky8kv3dn31wg6ji"; - revision = "2"; - editedCabalFile = "14063k0dald0i2cqk70kdja1df587vn8vrzgw3rb62nxwycr0r9b"; + version = "1.4"; + sha256 = "0j2arb96i1dinpz1yxl2cjl4qhbljk9yph52cj9az50mvl8vx3w4"; libraryHaskellDepends = [ attoparsec base base-prelude bytestring bytestring-strict-builder - contravariant contravariant-extras data-default-class dlist - hashable hashtables loch-th mtl placeholders postgresql-binary - postgresql-libpq profunctors text text-builder transformers vector + contravariant contravariant-extras dlist hashable hashtables + loch-th mtl placeholders postgresql-binary postgresql-libpq + profunctors text text-builder transformers vector ]; testHaskellDepends = [ - bug data-default-class QuickCheck quickcheck-instances rebase - rerebase tasty tasty-hunit tasty-quickcheck + bug QuickCheck quickcheck-instances rebase rerebase tasty + tasty-hunit tasty-quickcheck ]; benchmarkHaskellDepends = [ bug criterion rerebase ]; - description = "An efficient PostgreSQL driver and a flexible mapping API"; + description = "An efficient PostgreSQL driver with a flexible mapping API"; license = stdenv.lib.licenses.mit; }) {}; @@ -103506,6 +110819,7 @@ self: { description = "API for backends of \"hasql\""; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasql-class" = callPackage @@ -103529,6 +110843,7 @@ self: { description = "Encodable and Decodable classes for hasql"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasql-cursor-query" = callPackage @@ -103539,8 +110854,8 @@ self: { }: mkDerivation { pname = "hasql-cursor-query"; - version = "0.4.4.2"; - sha256 = "1h57x0az7hlmkbwmhdm0y4c63ypx48gkkw07rb2lj5sizn9j2qq9"; + version = "0.4.4.3"; + sha256 = "1f4qa5gfqllw3k5qxmlp247vby3g9gy8pb2mhhfrslhr2xynzxp1"; libraryHaskellDepends = [ base base-prelude bytestring contravariant foldl hasql hasql-cursor-transaction hasql-transaction profunctors @@ -103552,6 +110867,7 @@ self: { description = "A declarative abstraction over PostgreSQL Cursor"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasql-cursor-transaction" = callPackage @@ -103561,8 +110877,8 @@ self: { }: mkDerivation { pname = "hasql-cursor-transaction"; - version = "0.6.3.1"; - sha256 = "05d01gb7ag9rcpk8vwizsbyi0lxd1fh6r6y4a6pvinj5sa2qn1hn"; + version = "0.6.4"; + sha256 = "00g365n4ai1bl8d7yipach1ivxs9apvzdfb9zcv59hnyhdn28wgr"; libraryHaskellDepends = [ base base-prelude bytestring bytestring-tree-builder contravariant contravariant-extras hasql hasql-transaction transformers @@ -103571,6 +110887,28 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "hasql-dynamic-statements" = callPackage + ({ mkDerivation, base, bytestring, containers, hasql + , hasql-implicits, ptr, QuickCheck, quickcheck-instances, rerebase + , tasty, tasty-hunit, tasty-quickcheck + }: + mkDerivation { + pname = "hasql-dynamic-statements"; + version = "0.2.0.1"; + sha256 = "087zkb89cr0d3brjrpq414jpwswvzvxkbzvw63ahcvmv7lfgaknh"; + libraryHaskellDepends = [ + base bytestring containers hasql hasql-implicits ptr + ]; + testHaskellDepends = [ + hasql QuickCheck quickcheck-instances rerebase tasty tasty-hunit + tasty-quickcheck + ]; + description = "Toolkit for constructing Hasql statements dynamically"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "hasql-generic" = callPackage ({ mkDerivation, aeson, base, binary-parser, bytestring, containers , contravariant, generics-sop, hasql, postgresql-binary, scientific @@ -103588,6 +110926,25 @@ self: { description = "Generic encoder and decoder deriving for Hasql"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hasql-implicits" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, hasql + , network-ip, ptr, scientific, text, time, uuid, vector + }: + mkDerivation { + pname = "hasql-implicits"; + version = "0.1.0.1"; + sha256 = "1b9j2za960h3sp48mxqk8lxhjsbhs47lnsvyah8p9wahf69qki5f"; + libraryHaskellDepends = [ + aeson base bytestring containers hasql network-ip ptr scientific + text time uuid vector + ]; + description = "Implicit definitions for Hasql, such as default codecs for standard types"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasql-migration" = callPackage @@ -103609,6 +110966,7 @@ self: { description = "PostgreSQL Schema Migrations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasql-optparse-applicative" = callPackage @@ -103617,27 +110975,29 @@ self: { }: mkDerivation { pname = "hasql-optparse-applicative"; - version = "0.3.0.3"; - sha256 = "0d33y3bzy3q5yj4vizi9i2xwwnw1lzyxq72jk2daqjs347dc7d33"; + version = "0.3.0.5"; + sha256 = "0q5ggbx3xlzq0lv6i6wac9zsf0x4k91cf1n5rg6q96wg90f0dxxq"; libraryHaskellDepends = [ base-prelude hasql hasql-pool optparse-applicative ]; description = "\"optparse-applicative\" parsers for \"hasql\""; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasql-pool" = callPackage ({ mkDerivation, base-prelude, hasql, hspec, resource-pool, time }: mkDerivation { pname = "hasql-pool"; - version = "0.5.0.1"; - sha256 = "1isnn3klvqcr13wvq6fsj3b5sysjs6xlll9s3ysihd1x4v87zii8"; + version = "0.5.1"; + sha256 = "0agl5ilp0amsp9pidhmgivdyaq43x3xi7hb80c91n9l92pv6163k"; libraryHaskellDepends = [ base-prelude hasql resource-pool time ]; testHaskellDepends = [ base-prelude hasql hspec ]; description = "A pool of connections for Hasql"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasql-postgres" = callPackage @@ -103674,6 +111034,7 @@ self: { description = "A \"PostgreSQL\" backend for the \"hasql\" library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasql-postgres-options" = callPackage @@ -103689,6 +111050,7 @@ self: { description = "An \"optparse-applicative\" parser for \"hasql-postgres\""; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasql-simple" = callPackage @@ -103706,6 +111068,7 @@ self: { description = "A somewhat opinionated \"simpler\" API to hasql"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hasql-th" = callPackage @@ -103723,16 +111086,16 @@ self: { }) {}; "hasql-transaction" = callPackage - ({ mkDerivation, async, base, base-prelude, bytestring - , bytestring-tree-builder, contravariant, contravariant-extras - , hasql, mtl, rebase, transformers + ({ mkDerivation, async, base, bytestring, bytestring-tree-builder + , contravariant, contravariant-extras, hasql, mtl, rebase + , transformers }: mkDerivation { pname = "hasql-transaction"; - version = "0.7"; - sha256 = "1kvzj16mw471z2vgm27k0nfwfgf5cq3w6qaqwqz4247p11dkrjyy"; + version = "0.7.2"; + sha256 = "13d5zisr34bdbiypvpcb114d4c9yi6pyb9wnhigqpwd90vzpzsb5"; libraryHaskellDepends = [ - base base-prelude bytestring bytestring-tree-builder contravariant + base bytestring bytestring-tree-builder contravariant contravariant-extras hasql mtl transformers ]; testHaskellDepends = [ async hasql rebase ]; @@ -103767,6 +111130,7 @@ self: { description = "Haskell implementation of Mustache templates"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hastache-aeson" = callPackage @@ -103784,6 +111148,7 @@ self: { description = "render hastache templates using aeson values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haste" = callPackage @@ -103798,6 +111163,7 @@ self: { description = "A universal pastebin tool, written in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haste-app" = callPackage @@ -103818,6 +111184,7 @@ self: { description = "Framework for type-safe, distributed web applications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haste-compiler" = callPackage @@ -103881,6 +111248,7 @@ self: { description = "Base libraries for haste-compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haste-markup" = callPackage @@ -103896,6 +111264,7 @@ self: { description = "A port of blaze-markup and blaze-html to Haste"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haste-perch" = callPackage @@ -103920,6 +111289,7 @@ self: { description = "Low level primitives for the Haste compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hastily" = callPackage @@ -104003,6 +111373,7 @@ self: { description = "HaTeX User's Guide"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hath" = callPackage @@ -104011,8 +111382,8 @@ self: { }: mkDerivation { pname = "hath"; - version = "0.4.2"; - sha256 = "1x8xmrsircrpk19jz2w5n2nq29qq576ci4pq1vx0ps3w1pkzh9ds"; + version = "0.5.0"; + sha256 = "16597w35xbv0hq14bdz4g8w52iy7z54wrqfmd929xrzbxbnc41r6"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -104054,6 +111425,7 @@ self: { description = "Haskell client for the NATS messaging system"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hatt" = callPackage @@ -104077,6 +111449,7 @@ self: { description = "A truth table generator for classical propositional logic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haven" = callPackage @@ -104086,8 +111459,8 @@ self: { }: mkDerivation { pname = "haven"; - version = "0.2.0.1"; - sha256 = "15q9cgfifz87ns730agv2vzc8rp5lqggiclc91khpckm2qppk6yd"; + version = "0.2.0.2"; + sha256 = "0n92h5gjy6ax0c5f2k80j21ymf741vzhsm1kdav86hphhxdlw8ng"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -104096,7 +111469,6 @@ self: { ]; description = "Recursively retrieve maven dependencies"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "haverer" = callPackage @@ -104122,6 +111494,7 @@ self: { description = "Implementation of the rules of Love Letter"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hawitter" = callPackage @@ -104144,6 +111517,7 @@ self: { description = "A twitter client for GTK+. Beta version."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hax" = callPackage @@ -104170,6 +111544,7 @@ self: { description = "Haskell cash-flow and tax simulation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haxl" = callPackage @@ -104180,8 +111555,8 @@ self: { }: mkDerivation { pname = "haxl"; - version = "2.0.1.1"; - sha256 = "1wfnwi3impv4cv359a65yh50c6kdfxhvbwycf5h76w3cvqdhvwsr"; + version = "2.1.2.0"; + sha256 = "1lwm9rs9r0qs32n3nw49j3sz41qzq2wxv0a9gpiziaw0sjlk00jy"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -104213,6 +111588,7 @@ self: { description = "Haxl data source for accessing AWS services through amazonka"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haxl-facebook" = callPackage @@ -104236,6 +111612,7 @@ self: { description = "An example Haxl data source for accessing the Facebook Graph API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haxparse" = callPackage @@ -104261,6 +111638,7 @@ self: { description = "Readable HaxBall replays"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haxr" = callPackage @@ -104284,6 +111662,7 @@ self: { description = "XML-RPC client and server library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haxr-th" = callPackage @@ -104296,6 +111675,7 @@ self: { description = "Automatic deriving of XML-RPC structs for Haskell records"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "haxy" = callPackage @@ -104313,6 +111693,7 @@ self: { description = "A simple HTTP proxy server library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hayland" = callPackage @@ -104334,6 +111715,7 @@ self: { description = "Haskell bindings for the C Wayland library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libGL; inherit (pkgs) wayland;}; "hayoo-cli" = callPackage @@ -104353,6 +111735,7 @@ self: { description = "Hayoo CLI"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hback" = callPackage @@ -104372,6 +111755,7 @@ self: { description = "N-back memory game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hbayes" = callPackage @@ -104402,6 +111786,7 @@ self: { description = "Bayesian Networks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hbb" = callPackage @@ -104419,6 +111804,7 @@ self: { description = "Haskell Busy Bee, a backend for text editors"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hbcd" = callPackage @@ -104464,6 +111850,7 @@ self: { description = "A simple step sequencer GUI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) SDL_mixer;}; "hbf" = callPackage @@ -104501,6 +111888,7 @@ self: { description = "An optimizing Brainfuck compiler and evaluator"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hblas" = callPackage @@ -104517,6 +111905,7 @@ self: { description = "Human friendly BLAS and Lapack bindings for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) blas; inherit (pkgs) liblapack;}; "hblock" = callPackage @@ -104537,6 +111926,7 @@ self: { description = "A mutable vector that provides indexation on the datatype fields it stores"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hbro" = callPackage @@ -104625,6 +112015,7 @@ self: { description = "Haskell Bottom Up Rewrite Generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hcc" = callPackage @@ -104639,6 +112030,7 @@ self: { description = "A toy C compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hcg-minus" = callPackage @@ -104652,6 +112044,7 @@ self: { description = "haskell cg (minus)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hcg-minus-cairo" = callPackage @@ -104668,6 +112061,7 @@ self: { description = "haskell cg (minus) (cairo rendering)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hcheat" = callPackage @@ -104681,6 +112075,41 @@ self: { description = "A collection of code cheatsheet"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hcheckers" = callPackage + ({ mkDerivation, aeson, array, base, binary, bits, bytes + , bytestring, clock, concurrent-extra, containers, data-default + , directory, ekg, ekg-core, exceptions, fast-logger, filepath + , hashable, hashtables, heavy-logger, hsyslog, http-types + , megaparsec, microlens, monad-metrics, mtl, mwc-random + , optparse-applicative, psqueues, random, random-access-file + , scotty, stm, stm-containers, store, template-haskell, text + , text-format-heavy, unix, unix-bytestring, unordered-containers + , yaml + }: + mkDerivation { + pname = "hcheckers"; + version = "0.1.0.0"; + sha256 = "17px41lgaqxpwmmj315s49hnchq5pn017k58wcla8cmw4n3a2aw0"; + revision = "1"; + editedCabalFile = "1bfm9wndgwz18gxws456h4faw3fa6d1020kxjc7b3rzb9c0nr2vq"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + aeson array base binary bits bytes bytestring clock + concurrent-extra containers data-default directory ekg ekg-core + exceptions fast-logger filepath hashable hashtables heavy-logger + hsyslog http-types megaparsec microlens monad-metrics mtl + mwc-random optparse-applicative psqueues random random-access-file + scotty stm stm-containers store template-haskell text + text-format-heavy unix unix-bytestring unordered-containers yaml + ]; + description = "Implementation of checkers (\"draughts\") board game - server application"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hchesslib" = callPackage @@ -104698,6 +112127,7 @@ self: { description = "Chess library"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hcltest" = callPackage @@ -104719,6 +112149,7 @@ self: { description = "A testing library for command line applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hcoap" = callPackage @@ -104742,6 +112173,7 @@ self: { description = "CoAP implementation for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hcobs" = callPackage @@ -104777,6 +112209,7 @@ self: { description = "Haskell COM support library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hcoord" = callPackage @@ -104795,6 +112228,7 @@ self: { description = "Easily convert between latitude/longitude, UTM and OSGB"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hcron" = callPackage @@ -104812,6 +112246,7 @@ self: { description = "A simple job scheduler, which just runs some IO action at a given time"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hcube" = callPackage @@ -104833,6 +112268,7 @@ self: { description = "Virtual Rubik's cube of arbitrary size"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hcwiid" = callPackage @@ -104845,7 +112281,7 @@ self: { librarySystemDepends = [ bluetooth cwiid ]; description = "Library to interface with the wiimote"; license = stdenv.lib.licenses.gpl2; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {bluetooth = null; inherit (pkgs) cwiid;}; "hdaemonize" = callPackage @@ -104877,6 +112313,7 @@ self: { description = "Library to handle the details of writing daemons for UNIX"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdbc-aeson" = callPackage @@ -104894,6 +112331,7 @@ self: { description = "Deserialize from HDBC rows to FromJSON instances"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdbc-postgresql-hstore" = callPackage @@ -104906,6 +112344,7 @@ self: { description = "Manipulate data in PostgreSQL \"hstore\" columns"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdbc-tuple" = callPackage @@ -104945,6 +112384,7 @@ self: { description = "Haskell Database Independent interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdbi-conduit" = callPackage @@ -104966,6 +112406,7 @@ self: { description = "Conduit glue for HDBI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdbi-postgresql" = callPackage @@ -104994,6 +112435,7 @@ self: { description = "PostgreSQL driver for hdbi"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdbi-sqlite" = callPackage @@ -105014,6 +112456,7 @@ self: { description = "SQlite driver for HDBI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdbi-tests" = callPackage @@ -105034,6 +112477,7 @@ self: { description = "test suite for testing HDBI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdevtools" = callPackage @@ -105043,8 +112487,8 @@ self: { }: mkDerivation { pname = "hdevtools"; - version = "0.1.7.0"; - sha256 = "188ayzn8yvlr3jl478ff1fadj766mq06fgb4xr4szpilppg8l3kg"; + version = "0.1.8.0"; + sha256 = "161wq1l7kxr9wbikfvi2szicfg02s4ihcjdhjxwh95zvqfjqarif"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -105053,7 +112497,6 @@ self: { ]; description = "Persistent GHC powered background server for FAST haskell development tools"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hdf" = callPackage @@ -105072,6 +112515,7 @@ self: { description = "HDF: Uniform Rate Audio Signal Processing in Haskell"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdf5-lite" = callPackage @@ -105107,6 +112551,7 @@ self: { description = "Server-side HTTP Digest (RFC2617) in the CGI monad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdirect" = callPackage @@ -105126,6 +112571,7 @@ self: { description = "An IDL compiler for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdis86" = callPackage @@ -105138,6 +112584,7 @@ self: { description = "Interface to the udis86 disassembler for x86 and x86-64 / AMD64"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdiscount" = callPackage @@ -105151,6 +112598,7 @@ self: { description = "Haskell bindings to the Discount markdown library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {markdown = null;}; "hdm" = callPackage @@ -105165,6 +112613,7 @@ self: { description = "a small display manager"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdo" = callPackage @@ -105193,6 +112642,7 @@ self: { description = "A Digital Ocean client in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdocs" = callPackage @@ -105202,8 +112652,8 @@ self: { }: mkDerivation { pname = "hdocs"; - version = "0.5.3.1"; - sha256 = "0nxvkmhxpxx3500sy7kzpqyp45rq83hjm6gkj10vglxgjk32vzp4"; + version = "0.5.3.2"; + sha256 = "0x899pa5dw1jrc0vcw8aa1f3cx2xz8z0zqhplivji81lpjnajfgv"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -105217,7 +112667,6 @@ self: { testHaskellDepends = [ base containers mtl ]; description = "Haskell docs tool"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hdph" = callPackage @@ -105245,6 +112694,7 @@ self: { description = "Haskell distributed parallel Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdph-closure" = callPackage @@ -105261,6 +112711,7 @@ self: { description = "Explicit closures in Haskell distributed parallel Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hdr-histogram" = callPackage @@ -105281,6 +112732,7 @@ self: { description = "Haskell implementation of High Dynamic Range (HDR) Histograms"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "headergen" = callPackage @@ -105301,6 +112753,7 @@ self: { description = "Creates a header for a haskell source file"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "heap" = callPackage @@ -105313,7 +112766,6 @@ self: { testHaskellDepends = [ base QuickCheck ]; description = "Heaps in Haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "heaps" = callPackage @@ -105350,6 +112802,7 @@ self: { description = "Heartbeats for io-streams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "heatitup" = callPackage @@ -105362,8 +112815,8 @@ self: { }: mkDerivation { pname = "heatitup"; - version = "0.5.3.3"; - sha256 = "1bqindh91i4ra67516nl0c5i98fgm9bwsjy7vv0qjzmfqk3bqp84"; + version = "0.5.4.0"; + sha256 = "07qwsmk2hszm2q7ky4avmpwmd2j4xqprid7kvcrhh1s6d9f8nbz2"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -105380,6 +112833,7 @@ self: { description = "Find and annotate ITDs"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "heatitup-complete" = callPackage @@ -105389,8 +112843,8 @@ self: { }: mkDerivation { pname = "heatitup-complete"; - version = "0.5.3.3"; - sha256 = "1djs5hni6s4mzs4fniamfz6k7590l34mgvd1d2kglmdpb5m22pcz"; + version = "0.5.4.0"; + sha256 = "0zxyxwvpj0mkz10y4rf793cpxmd0bmlz3d4p8c0icgainacs6dsg"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -105404,6 +112858,7 @@ self: { description = "Find and annotate ITDs with assembly or read pair joining"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "heatshrink" = callPackage @@ -105424,6 +112879,21 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "heavy-log-shortcuts" = callPackage + ({ mkDerivation, base, fast-logger, heavy-logger, monad-control + , text, text-format-heavy + }: + mkDerivation { + pname = "heavy-log-shortcuts"; + version = "1.0.1"; + sha256 = "1fgfsp4999cdzwx6h945wj75fnmg0gw8iqs4xgah4255ld42a28r"; + libraryHaskellDepends = [ + base fast-logger heavy-logger monad-control text text-format-heavy + ]; + description = "Simle api for heavy logger"; + license = stdenv.lib.licenses.mit; + }) {}; + "heavy-logger" = callPackage ({ mkDerivation, attoparsec, base, bytestring, containers , data-default, fast-logger, hsyslog, lifted-base, monad-control @@ -105458,6 +112928,8 @@ self: { ]; description = "heavy-logger compatibility with amazonka-core logging"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "heavy-logger-instances" = callPackage @@ -105481,23 +112953,6 @@ self: { }) {}; "hebrew-time" = callPackage - ({ mkDerivation, base, HUnit, QuickCheck, test-framework - , test-framework-hunit, test-framework-quickcheck2, time - }: - mkDerivation { - pname = "hebrew-time"; - version = "0.1.1"; - sha256 = "0ckridxf4rvhhp0k1mckbbbpzfs32l4mwg7n9mrmsggldpl7x6f7"; - libraryHaskellDepends = [ base time ]; - testHaskellDepends = [ - base HUnit QuickCheck test-framework test-framework-hunit - test-framework-quickcheck2 time - ]; - description = "Hebrew dates and prayer times"; - license = stdenv.lib.licenses.mit; - }) {}; - - "hebrew-time_0_1_2" = callPackage ({ mkDerivation, base, hspec, QuickCheck, time }: mkDerivation { pname = "hebrew-time"; @@ -105507,7 +112962,6 @@ self: { testHaskellDepends = [ base hspec QuickCheck time ]; description = "Hebrew dates and prayer times"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hecc" = callPackage @@ -105521,6 +112975,7 @@ self: { description = "Elliptic Curve Cryptography for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "heckle" = callPackage @@ -105541,33 +112996,33 @@ self: { description = "Jekyll in Haskell (feat. LaTeX)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hedgehog" = callPackage ({ mkDerivation, ansi-terminal, async, base, bytestring - , concurrent-output, containers, directory, exceptions + , concurrent-output, containers, directory, exceptions, fail , lifted-async, mmorph, monad-control, mtl, pretty-show, primitive - , random, resourcet, semigroups, stm, template-haskell, text - , th-lift, time, transformers, transformers-base, unix - , wl-pprint-annotated + , random, resourcet, semigroups, stm, template-haskell, text, time + , transformers, transformers-base, wl-pprint-annotated }: mkDerivation { pname = "hedgehog"; - version = "0.6.1"; - sha256 = "0xz10ycdm5vk9nrcym1fi83k19frfwqz18bz8bnpzwvaj0j41yfj"; - revision = "3"; - editedCabalFile = "11ifv3yymhrzin3cmlrw298lyggqc1sxmbw6n5kpjrv8cnkw28x6"; + version = "1.0"; + sha256 = "1np9xg58x20kalfci9dxbd4wsg0sl3ka56ragzy3i9p0nx29pmns"; + revision = "2"; + editedCabalFile = "0sbw4hwcza5pb02cndl5f30cyqjl44mn5y3i72n4x8s8mknsy3a4"; libraryHaskellDepends = [ ansi-terminal async base bytestring concurrent-output containers - directory exceptions lifted-async mmorph monad-control mtl + directory exceptions fail lifted-async mmorph monad-control mtl pretty-show primitive random resourcet semigroups stm - template-haskell text th-lift time transformers transformers-base - unix wl-pprint-annotated + template-haskell text time transformers transformers-base + wl-pprint-annotated ]; testHaskellDepends = [ - base containers pretty-show semigroups text transformers + base containers mmorph mtl pretty-show semigroups text transformers ]; - description = "Hedgehog will eat all your bugs"; + description = "Release with confidence"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -105585,6 +113040,7 @@ self: { testHaskellDepends = [ base either hedgehog ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hedgehog-checkers-lens" = callPackage @@ -105597,25 +113053,29 @@ self: { testHaskellDepends = [ base hedgehog hedgehog-checkers lens ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hedgehog-classes" = callPackage - ({ mkDerivation, aeson, base, containers, hedgehog, pretty-show - , transformers, wl-pprint-annotated + ({ mkDerivation, aeson, base, binary, comonad, containers, hedgehog + , pretty-show, semirings, silently, transformers + , wl-pprint-annotated }: mkDerivation { pname = "hedgehog-classes"; - version = "0.1.1.0"; - sha256 = "1fi4n7g6daf9a8dzc876830jqdlc6pl5nyb9q7q9rffiv43sbmv2"; - revision = "2"; - editedCabalFile = "0m1ajqbg5k9k7xmgq5xm7s6l3lckr634bfsnbm9ydkr0cgs8rwcc"; + version = "0.2.3"; + sha256 = "0ww1ll557iapbxg6rwhimf5fh8gngk15zlm4mlrh3p3j3xx9f22p"; libraryHaskellDepends = [ - aeson base containers hedgehog pretty-show transformers - wl-pprint-annotated + aeson base binary comonad containers hedgehog pretty-show semirings + silently transformers wl-pprint-annotated + ]; + testHaskellDepends = [ + aeson base binary comonad containers hedgehog ]; - testHaskellDepends = [ aeson base containers hedgehog ]; description = "Hedgehog will eat your typeclass bugs"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hedgehog-corpus" = callPackage @@ -105633,10 +113093,8 @@ self: { ({ mkDerivation, base, contravariant, hedgehog, transformers }: mkDerivation { pname = "hedgehog-fn"; - version = "0.6"; - sha256 = "0xi1y2cv2kkyxav261qaw9a4r4q8ng91187bdwi4rqlpp9zvc0pv"; - revision = "1"; - editedCabalFile = "19v7amg8l6s1gadnya8nxkcbi0vd3wqc7h6gvqvs099qaqm7zbb1"; + version = "1.0"; + sha256 = "05drd7jsz54kgwxr5z9vifmql6xif7ma7878qddw2nss5s6wa2qp"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -105669,16 +113127,28 @@ self: { description = "JSON generators for Hedgehog"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hedgehog-generic" = callPackage + ({ mkDerivation, base, hedgehog }: + mkDerivation { + pname = "hedgehog-generic"; + version = "0.1"; + sha256 = "1166jwk3f4bfw54qaxk3q3gxrfmffwwfkmd8xyvwj7i3whwzxq0f"; + libraryHaskellDepends = [ base hedgehog ]; + description = "GHC Generics automatically derived hedgehog generators"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hedgehog-quickcheck" = callPackage ({ mkDerivation, base, hedgehog, QuickCheck, transformers }: mkDerivation { pname = "hedgehog-quickcheck"; - version = "0.1"; - sha256 = "04l4dyk662wf6a0p6bnv9n2x2qi5sqm65ni5bdznakfvzk6mq2k1"; - revision = "3"; - editedCabalFile = "08pglka9hc7q3fql7fsmqn17wm1xmixkpqfslv86l79hn4y3rfq3"; + version = "0.1.1"; + sha256 = "1z2ja63wqz83qhwzh0zs98k502v8fjdpnsnhqk3srypx2nw5vdlp"; libraryHaskellDepends = [ base hedgehog QuickCheck transformers ]; description = "Use QuickCheck generators in Hedgehog and vice versa"; license = stdenv.lib.licenses.bsd3; @@ -105692,8 +113162,8 @@ self: { }: mkDerivation { pname = "hedis"; - version = "0.10.10"; - sha256 = "0hbjhccipvg2i1cyinvhlk4jgscam9y5897ib1fh6rc0qwnlblhs"; + version = "0.12.7"; + sha256 = "1q59g99mv4axwm77f8m5fmlnq04qy04c6s1aj57jvfq7p31iq05a"; libraryHaskellDepends = [ async base bytestring bytestring-lexing deepseq errors HTTP mtl network network-uri resource-pool scanner stm text time tls @@ -105708,31 +113178,6 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "hedis_0_12_0" = callPackage - ({ mkDerivation, async, base, bytestring, bytestring-lexing - , deepseq, doctest, errors, HTTP, HUnit, mtl, network, network-uri - , resource-pool, scanner, stm, test-framework, test-framework-hunit - , text, time, tls, unordered-containers, vector - }: - mkDerivation { - pname = "hedis"; - version = "0.12.0"; - sha256 = "0p4blmyilc4piw9riripsix5v61r24y4ikr58b9gwwnvxdm99190"; - libraryHaskellDepends = [ - async base bytestring bytestring-lexing deepseq errors HTTP mtl - network network-uri resource-pool scanner stm text time tls - unordered-containers vector - ]; - testHaskellDepends = [ - async base bytestring doctest HUnit mtl stm test-framework - test-framework-hunit text time - ]; - benchmarkHaskellDepends = [ base mtl time ]; - description = "Client library for the Redis datastore: supports full command set, pipelining"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "hedis-config" = callPackage ({ mkDerivation, aeson, base, bytestring, hedis, scientific, text , time @@ -105747,6 +113192,7 @@ self: { description = "Easy trivial configuration for Redis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hedis-monadic" = callPackage @@ -105800,6 +113246,7 @@ self: { description = "Caching mandatory data with Redis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hedis-simple" = callPackage @@ -105812,6 +113259,7 @@ self: { description = "A simplified API for hedis"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hedis-tags" = callPackage @@ -105830,30 +113278,10 @@ self: { description = "Tags for hedis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hedn" = callPackage - ({ mkDerivation, base, containers, deepseq, deriving-compat - , hedgehog, megaparsec, parser-combinators, prettyprinter - , scientific, template-haskell, text, time, uuid, vector - }: - mkDerivation { - pname = "hedn"; - version = "0.2.0.0"; - sha256 = "1yi7j2ikpd1lv32hzgv38v1r4wzh7ffq71js2648d4j1v9jhq1sj"; - libraryHaskellDepends = [ - base containers deepseq deriving-compat megaparsec - parser-combinators prettyprinter scientific template-haskell text - time uuid vector - ]; - testHaskellDepends = [ - base containers hedgehog megaparsec text time uuid vector - ]; - description = "EDN parsing and encoding"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "hedn_0_2_0_1" = callPackage ({ mkDerivation, base, containers, deepseq, deriving-compat , hedgehog, megaparsec, parser-combinators, prettyprinter , scientific, template-haskell, text, time, uuid-types, vector @@ -105862,6 +113290,8 @@ self: { pname = "hedn"; version = "0.2.0.1"; sha256 = "16yi4x6g27zabgqwd4xckp5zibxq882919mmyyr95g56r7pm8v1j"; + revision = "1"; + editedCabalFile = "1wr3zv0bj1714y1ip40va34zysmypicd6qp0l50bg9wj2db0misz"; libraryHaskellDepends = [ base containers deepseq deriving-compat megaparsec parser-combinators prettyprinter scientific template-haskell text @@ -105872,7 +113302,21 @@ self: { ]; description = "EDN parsing and encoding"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "hedn-functor" = callPackage + ({ mkDerivation, base, containers, hedn, recursion-schemes, text + , vector + }: + mkDerivation { + pname = "hedn-functor"; + version = "0.1.0.0"; + sha256 = "1s90az6akimfq6jwiyicns7v34ryp8riymj0ski1sl4ljjm4r4fi"; + libraryHaskellDepends = [ + base containers hedn recursion-schemes text vector + ]; + description = "Base functor for EDN AST"; + license = stdenv.lib.licenses.bsd3; }) {}; "hedra" = callPackage @@ -105907,6 +113351,7 @@ self: { description = "An extensible build helper for haskell, in the vein of leiningen"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "heist" = callPackage @@ -105948,6 +113393,7 @@ self: { description = "An Haskell template system supporting both HTML5 and XML"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "heist-aeson" = callPackage @@ -105965,6 +113411,7 @@ self: { description = "Use JSON directly from Heist templates"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "heist-async" = callPackage @@ -105979,6 +113426,7 @@ self: { description = "Adding support for asynchronous updates (\"AJAX\") with heist"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "helf" = callPackage @@ -106025,6 +113473,7 @@ self: { description = "New Relic® agent SDK wrapper for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {newrelic-collector-client = null; newrelic-common = null; newrelic-transaction = null;}; @@ -106044,6 +113493,7 @@ self: { description = "New Relic® agent SDK wrapper for wai"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "helisp" = callPackage @@ -106058,6 +113508,7 @@ self: { description = "An incomplete Elisp compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "helium" = callPackage @@ -106082,6 +113533,7 @@ self: { description = "The Helium Compiler"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "helium-overture" = callPackage @@ -106122,6 +113574,7 @@ self: { description = "Web development micro framework for haskell with typesafe URLs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hell" = callPackage @@ -106147,6 +113600,7 @@ self: { description = "A Haskell shell based on shell-conduit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hellage" = callPackage @@ -106167,6 +113621,7 @@ self: { description = "Distributed hackage mirror"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hellnet" = callPackage @@ -106192,6 +113647,7 @@ self: { description = "Simple, distributed, anonymous data sharing network"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hello" = callPackage @@ -106227,7 +113683,6 @@ self: { testHaskellDepends = [ base hspec ]; description = "A functionally reactive game engine"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "help-esb" = callPackage @@ -106245,6 +113700,7 @@ self: { description = "A Haskell client for the Help.com team's ESB."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hemkay" = callPackage @@ -106263,6 +113719,7 @@ self: { description = "A module music mixer and player"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hemkay-core" = callPackage @@ -106304,6 +113761,7 @@ self: { description = "Haskell port of the Emokit EEG project"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hen" = callPackage @@ -106325,6 +113783,7 @@ self: { description = "Haskell bindings to Xen hypervisor interface"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {xenctrl = null;}; "henet" = callPackage @@ -106340,6 +113799,7 @@ self: { description = "Bindings and high level interface for to ENet v1.3.9"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hepevt" = callPackage @@ -106352,6 +113812,7 @@ self: { description = "HEPEVT parser"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "her-lexer" = callPackage @@ -106364,6 +113825,7 @@ self: { description = "A lexer for Haskell source code"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "her-lexer-parsec" = callPackage @@ -106376,6 +113838,7 @@ self: { description = "Parsec frontend to \"her-lexer\" for Haskell source code"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "herbalizer" = callPackage @@ -106394,6 +113857,7 @@ self: { description = "HAML to ERB translator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "here" = callPackage @@ -106428,8 +113892,8 @@ self: { }: mkDerivation { pname = "heredocs"; - version = "0.1.4"; - sha256 = "0vy5d7z58vspjgncfiy10nalm70xqqdhy8ba1rkqzn9l5w79p1rz"; + version = "0.1.5"; + sha256 = "1bmih3jwmx8dv128rb9w1682fp3w0f6i7hhyyakswy7a04q34ryi"; libraryHaskellDepends = [ base bytestring doctest parsec template-haskell text ]; @@ -106437,6 +113901,7 @@ self: { description = "heredocument"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "herf-time" = callPackage @@ -106479,6 +113944,7 @@ self: { description = "Haskell Equational Reasoning Model-to-Implementation Tunnel"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hermit-syb" = callPackage @@ -106495,6 +113961,7 @@ self: { description = "HERMIT plugin for optimizing Scrap-Your-Boilerplate traversals"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "herms" = callPackage @@ -106516,6 +113983,7 @@ self: { description = "A command-line manager for delicious kitchen recipes"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hero-club-five-tenets" = callPackage @@ -106578,6 +114046,7 @@ self: { description = "A library for compiling and serving static web assets"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "herringbone-embed" = callPackage @@ -106595,6 +114064,7 @@ self: { description = "Embed preprocessed web assets in your executable with Template Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "herringbone-wai" = callPackage @@ -106612,6 +114082,7 @@ self: { description = "Wai adapter for the Herringbone web asset preprocessor"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hesh" = callPackage @@ -106639,6 +114110,7 @@ self: { description = "the Haskell Extensible Shell: Haskell for Bash-style scripts"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hesql" = callPackage @@ -106657,6 +114129,7 @@ self: { description = "Haskell's embedded SQL"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hetero-dict" = callPackage @@ -106678,6 +114151,7 @@ self: { description = "Fast heterogeneous data structures"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hetero-map" = callPackage @@ -106720,6 +114194,7 @@ self: { description = "Allows the use of tuples as literals for Heterogeneous collections"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "heterolist" = callPackage @@ -106738,6 +114213,7 @@ self: { description = "A heterogeneous list type"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hetris" = callPackage @@ -106755,6 +114231,7 @@ self: { description = "Text Tetris"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) ncurses;}; "heukarya" = callPackage @@ -106770,6 +114247,7 @@ self: { description = "A genetic programming based on tree structure"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hevm" = callPackage @@ -106818,6 +114296,7 @@ self: { description = "Ethereum virtual machine evaluator"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) secp256k1;}; "hevolisa" = callPackage @@ -106835,6 +114314,7 @@ self: { description = "Genetic Mona Lisa problem in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hevolisa-dph" = callPackage @@ -106854,6 +114334,7 @@ self: { description = "Genetic Mona Lisa problem in Haskell - using Data Parallel Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hex" = callPackage @@ -106890,6 +114371,7 @@ self: { description = "Haskell scripting interface for HexChat"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hexdump" = callPackage @@ -106914,6 +114396,7 @@ self: { description = "Reading Exif data form a JPEG file with Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hexmino" = callPackage @@ -106933,6 +114416,7 @@ self: { description = "A small game based on domino-like hexagonal tiles"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hexml" = callPackage @@ -106966,6 +114450,7 @@ self: { description = "Lenses for the hexml package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hexpat" = callPackage @@ -107001,6 +114486,7 @@ self: { description = "Chunked XML parsing using iteratees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hexpat-lens" = callPackage @@ -107016,7 +114502,6 @@ self: { ]; description = "Lenses for Hexpat"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hexpat-pickle" = callPackage @@ -107051,6 +114536,7 @@ self: { description = "Picklers for de/serialising Generic data types to and from XML"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hexpat-tagsoup" = callPackage @@ -107077,6 +114563,7 @@ self: { description = "A framework for symbolic, homoiconic languages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hexpress" = callPackage @@ -107095,6 +114582,7 @@ self: { description = "An express-like http framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hexquote" = callPackage @@ -107111,6 +114599,7 @@ self: { description = "Hexadecimal ByteString literals, with placeholders that bind variables"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hexstring" = callPackage @@ -107145,6 +114634,7 @@ self: { description = "a text classification library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "heyefi" = callPackage @@ -107177,6 +114667,7 @@ self: { description = "A server for Eye-Fi SD cards"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "heyting-algebras" = callPackage @@ -107199,6 +114690,7 @@ self: { description = "Heyting and Boolean algebras"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hfann" = callPackage @@ -107215,6 +114707,7 @@ self: { description = "Haskell binding to the FANN library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {doublefann = null; fann = null;}; "hfd" = callPackage @@ -107234,6 +114727,7 @@ self: { description = "Flash debugger"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hfiar" = callPackage @@ -107250,6 +114744,7 @@ self: { description = "Four in a Row in Haskell!!"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hflags" = callPackage @@ -107291,6 +114786,7 @@ self: { description = "Haskell source code formatter"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hfoil" = callPackage @@ -107311,6 +114807,7 @@ self: { description = "Hess-Smith panel code for inviscid 2-d airfoil analysis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hformat" = callPackage @@ -107339,6 +114836,7 @@ self: { description = "Field-of-view calculation for low-resolution 2D raster grids"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hfractal" = callPackage @@ -107358,6 +114856,7 @@ self: { description = "OpenGL fractal renderer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hfsevents" = callPackage @@ -107374,7 +114873,6 @@ self: { description = "File/folder watching for OS X"; license = stdenv.lib.licenses.bsd3; platforms = [ "x86_64-darwin" ]; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa; inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;}; @@ -107390,6 +114888,7 @@ self: { description = "A library for fusing a subset of Haskell programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hg-buildpackage" = callPackage @@ -107409,6 +114908,7 @@ self: { description = "Tools to help manage Debian packages with Mercurial"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgal" = callPackage @@ -107432,6 +114932,7 @@ self: { description = "Haskell Genetic Algorithm Library"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgdbmi" = callPackage @@ -107451,6 +114952,7 @@ self: { description = "GDB Machine Interface: program-driven control of GDB"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgearman" = callPackage @@ -107469,6 +114971,7 @@ self: { description = "A Gearman client for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgen" = callPackage @@ -107485,6 +114988,7 @@ self: { description = "Random generation of modal and hybrid logic formulas"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgeometric" = callPackage @@ -107497,6 +115001,7 @@ self: { description = "A geometric library with bindings to GPC"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgeometry" = callPackage @@ -107513,6 +115018,8 @@ self: { pname = "hgeometry"; version = "0.8.0.0"; sha256 = "0hypd5936kssw435lcvqj9d7whdzfdfbhvi5hhbi90k5x89xfx6f"; + revision = "1"; + editedCabalFile = "1hln65kfw2ji43pkwipyg12i0lq9ly6p3hv2xd7vzp4pzkcpy3zz"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -107536,6 +115043,7 @@ self: { description = "Geometric Algorithms, Data structures, and Data types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgeos" = callPackage @@ -107551,6 +115059,7 @@ self: { description = "Simple Haskell bindings to GEOS C API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {geos_c = null;}; "hgettext" = callPackage @@ -107574,6 +115083,7 @@ self: { description = "Bindings to libintl.h (gettext, bindtextdomain)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgis" = callPackage @@ -107586,6 +115096,8 @@ self: { pname = "hgis"; version = "1.0.0.3"; sha256 = "00s87mna6lxr1q3275jg7ya17qhksr9bmfg2nw9mgadb05j6h2v8"; + revision = "1"; + editedCabalFile = "1p44ngzglxp8kdj6jlczgfjpms889r3fs7waz69zf50cbqq2am0c"; libraryHaskellDepends = [ ansi-wl-pprint base binary bytestring Chart Chart-cairo Chart-diagrams colour composition-prelude data-binary-ieee754 @@ -107596,6 +115108,7 @@ self: { description = "Library and for GIS with Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgithub" = callPackage @@ -107617,6 +115130,7 @@ self: { description = "Haskell bindings to the GitHub API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgl-example" = callPackage @@ -107642,12 +115156,14 @@ self: { pname = "hgmp"; version = "0.1.1"; sha256 = "1hisbcpz47x2lbqf8vzwis7qw7xhvx22lv7dcyhm9vsmsh5741dr"; - revision = "3"; - editedCabalFile = "0z2xbqzyrgm9apy3xl353wgwhbnc3hdb1giw2j6fyvv705fmpb62"; + revision = "4"; + editedCabalFile = "00rg7f223716dlqk0w92ixnyj7a9imj6yqcs5qx833jv7lk8lbyj"; libraryHaskellDepends = [ base ghc-prim integer-gmp ]; testHaskellDepends = [ base QuickCheck ]; description = "Haskell interface to GMP"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgom" = callPackage @@ -107667,6 +115183,7 @@ self: { description = "An haskell port of the java version of gom"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgopher" = callPackage @@ -107679,6 +115196,7 @@ self: { description = "Gopher server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgrep" = callPackage @@ -107702,6 +115220,7 @@ self: { description = "Search Haskell source code from the command line"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgrev" = callPackage @@ -107718,6 +115237,7 @@ self: { description = "Compile Mercurial (hg) version info into Haskell code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hgrib" = callPackage @@ -107737,6 +115257,7 @@ self: { description = "Unofficial bindings for GRIB API"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {grib_api = null;}; "hharp" = callPackage @@ -107750,29 +115271,30 @@ self: { description = "Binding to libharp"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {harp = null;}; "hhp" = callPackage ({ mkDerivation, base, Cabal, containers, deepseq, directory - , doctest, filepath, ghc, hlint, hspec, io-choice, process, syb + , doctest, filepath, ghc, ghc-boot, hlint, hspec, process, syb }: mkDerivation { pname = "hhp"; - version = "0.0.0"; - sha256 = "1520cax79wrf5a183630pji3bypz6qck73fa3p0x63vgcv3p5rwk"; + version = "0.0.1"; + sha256 = "0b3hliz1ags0c17kjwvsvl56ms4ga8wvaf5c7nmfiyzf0s6h0lp0"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - base Cabal containers deepseq directory filepath ghc hlint - io-choice process syb + base Cabal containers deepseq directory filepath ghc ghc-boot hlint + process syb ]; executableHaskellDepends = [ base containers directory filepath ghc ]; testHaskellDepends = [ - base Cabal containers deepseq directory doctest filepath ghc hlint - hspec io-choice process syb + base Cabal containers deepseq directory doctest filepath ghc + ghc-boot hlint hspec process syb ]; description = "Happy Haskell Programming"; license = stdenv.lib.licenses.bsd3; @@ -107808,6 +115330,20 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "hi-file-parser" = callPackage + ({ mkDerivation, base, binary, bytestring, hspec, rio, vector }: + mkDerivation { + pname = "hi-file-parser"; + version = "0.1.0.0"; + sha256 = "09gs26z0jvkkhb1r43gj27pq0k5fc4i6fpr59g397vz4sm86gb2l"; + revision = "2"; + editedCabalFile = "1bm98h0v4wf9vmdng15c2r48yz06118jxlprsnk0z3jw0d95ij9z"; + libraryHaskellDepends = [ base binary bytestring rio vector ]; + testHaskellDepends = [ base binary bytestring hspec rio vector ]; + description = "Parser for GHC's hi files"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "hi3status" = callPackage ({ mkDerivation, aeson, base, binary, bytestring, dbus, dyre , network, prefix-units, process, regex-pcre-builtin, text, time @@ -107827,6 +115363,7 @@ self: { description = "Status line for i3bar"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hiccup" = callPackage @@ -107847,6 +115384,7 @@ self: { description = "Relatively efficient Tcl interpreter with support for basic operations"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hichi" = callPackage @@ -107861,6 +115399,7 @@ self: { description = "haskell robot for IChat protocol"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hid" = callPackage @@ -107908,6 +115447,7 @@ self: { description = "Examples to accompany the book \"Haskell in Depth\""; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hidapi" = callPackage @@ -107950,6 +115490,7 @@ self: { description = "Automated clustering of arbitrary elements in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hierarchical-clustering" = callPackage @@ -107957,13 +115498,14 @@ self: { }: mkDerivation { pname = "hierarchical-clustering"; - version = "0.4.6"; - sha256 = "1cfcrnxqczqzqgpyipsw9dwfw1j75zd11vpd12i533f3p44pzwbm"; + version = "0.4.7"; + sha256 = "15fiqvhcd0i5l1w4s5liggfbdknasdpvyxd54qrjjdp41qb4d3qk"; libraryHaskellDepends = [ array base containers ]; testHaskellDepends = [ base hspec HUnit QuickCheck ]; description = "Fast algorithms for single, average/UPGMA and complete linkage clustering"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hierarchical-clustering-diagrams" = callPackage @@ -107984,6 +115526,7 @@ self: { description = "Draw diagrams of dendrograms made by hierarchical-clustering"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hierarchical-exceptions" = callPackage @@ -107996,11 +115539,12 @@ self: { description = "Template Haskell functions to easily create exception hierarchies"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hierarchical-spectral-clustering" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cassava - , clustering, containers, eigen, fgl, filepath + , clustering, containers, directory, fgl, filepath , hierarchical-clustering, hmatrix, lens, managed, modularity, mtl , optparse-generic, safe, sparse-linear-algebra , spectral-clustering, streaming, streaming-bytestring @@ -108009,24 +115553,25 @@ self: { }: mkDerivation { pname = "hierarchical-spectral-clustering"; - version = "0.3.0.0"; - sha256 = "0n4rs9s7gavzm9ms2rgxw4jri0n10x5y9jg1vkcmkkklp8n04w70"; + version = "0.4.1.3"; + sha256 = "1vhndwkny2sjh7c7m8qym6iasqacsaim0rkihdq3x58mdm2848n7"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base cassava clustering containers eigen fgl + aeson base cassava clustering containers fgl hierarchical-clustering hmatrix managed modularity mtl safe sparse-linear-algebra spectral-clustering streaming streaming-bytestring streaming-cassava streaming-with text tree-fun vector ]; executableHaskellDepends = [ - aeson aeson-pretty base bytestring cassava containers filepath - hmatrix lens optparse-generic safe text text-show vector + aeson aeson-pretty base bytestring cassava containers directory + filepath hmatrix lens optparse-generic safe text text-show vector ]; description = "Hierarchical spectral clustering of a graph"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hierarchy" = callPackage @@ -108050,6 +115595,7 @@ self: { description = "Predicated traversal of generated trees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hiernotify" = callPackage @@ -108066,6 +115612,7 @@ self: { description = "Notification library for a filesystem hierarchy"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hifi" = callPackage @@ -108088,6 +115635,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "higgledy" = callPackage + ({ mkDerivation, barbies, base, doctest, generic-lens, hspec, lens + , QuickCheck + }: + mkDerivation { + pname = "higgledy"; + version = "0.3.0.0"; + sha256 = "11kcysplf8jzym5g6kd194p72i67scprxsd6hirhacvl8qypy8d6"; + libraryHaskellDepends = [ barbies base generic-lens QuickCheck ]; + testHaskellDepends = [ + barbies base doctest hspec lens QuickCheck + ]; + description = "Partial types as a type constructor"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "highWaterMark" = callPackage ({ mkDerivation, base, ghc }: mkDerivation { @@ -108101,6 +115666,7 @@ self: { description = "Memory usage statistics"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "higher-leveldb" = callPackage @@ -108136,6 +115702,7 @@ self: { description = "Some higher order functions for Bool and []"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "highjson" = callPackage @@ -108154,6 +115721,7 @@ self: { description = "Spec based JSON parsing/serialisation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "highjson-swagger" = callPackage @@ -108173,6 +115741,7 @@ self: { description = "Derive swagger instances from highjson specs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "highjson-th" = callPackage @@ -108194,6 +115763,7 @@ self: { description = "Template Haskell helpers for highjson specs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "highlight" = callPackage @@ -108242,6 +115812,7 @@ self: { description = "Highlight package versions which differ from the latest version on Hackage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "highlighter" = callPackage @@ -108309,8 +115880,8 @@ self: { pname = "hills"; version = "0.1.2.6"; sha256 = "0ggdppg7mbq3ljrb4hvracdv81m9jqnsrl6iqy56sba118k7m0jh"; - revision = "2"; - editedCabalFile = "11f4mmhxivxkdcn4wdcz1hszfyi3hdggls22x2q0m3jxq3lw0izg"; + revision = "3"; + editedCabalFile = "10l4hx0j8il66h3m9flhwsqm9v52qmpj4cyjih4c6cnng6vjsfnj"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -108360,6 +115931,7 @@ self: { description = "Simple gtk2hs image viewer. Point it at an image and fire away."; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "himpy" = callPackage @@ -108382,6 +115954,7 @@ self: { description = "multithreaded snmp poller for riemann"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hindent" = callPackage @@ -108392,8 +115965,8 @@ self: { }: mkDerivation { pname = "hindent"; - version = "5.2.7"; - sha256 = "06p7rn689ynlxxgpy7ix8r69zwz4iwp7rfvcjxa6kxayfiq3hc2w"; + version = "5.3.1"; + sha256 = "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -108412,7 +115985,7 @@ self: { ]; benchmarkHaskellDepends = [ base bytestring criterion deepseq directory exceptions ghc-prim - haskell-src-exts utf8-string + haskell-src-exts mtl utf8-string ]; description = "Extensible Haskell pretty printer"; license = stdenv.lib.licenses.bsd3; @@ -108433,6 +116006,7 @@ self: { description = "Template for Hindley-Milner based languages"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hinduce-associations-apriori" = callPackage @@ -108460,6 +116034,7 @@ self: { description = "Interface and utilities for classifiers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hinduce-classifier-decisiontree" = callPackage @@ -108478,6 +116053,7 @@ self: { description = "Decision Tree Classifiers for hInduce"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hinduce-examples" = callPackage @@ -108498,6 +116074,7 @@ self: { description = "Example data for hInduce"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hinduce-missingh" = callPackage @@ -108596,6 +116173,7 @@ self: { description = "Generate armet style query strings"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hinstaller" = callPackage @@ -108612,23 +116190,25 @@ self: { description = "Installer wrapper for Haskell applications"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hint" = callPackage - ({ mkDerivation, base, directory, exceptions, extensible-exceptions - , filepath, ghc, ghc-boot, ghc-paths, HUnit, mtl, random, temporary - , unix + ({ mkDerivation, base, containers, directory, exceptions + , extensible-exceptions, filepath, ghc, ghc-boot, ghc-paths, HUnit + , mtl, random, temporary, unix }: mkDerivation { pname = "hint"; - version = "0.9.0"; - sha256 = "1g7q4clzc2pdnbvmm265dindjpynabsykd088qjjzlk6590sy9bl"; + version = "0.9.0.1"; + sha256 = "15cnam704p7ynk70lqz3nvy91src5bd9amfdknvkfzpi5yf2825b"; libraryHaskellDepends = [ base directory exceptions filepath ghc ghc-boot ghc-paths mtl random temporary unix ]; testHaskellDepends = [ - base directory exceptions extensible-exceptions filepath HUnit unix + base containers directory exceptions extensible-exceptions filepath + HUnit unix ]; description = "Runtime Haskell interpreter (GHC API wrapper)"; license = stdenv.lib.licenses.bsd3; @@ -108648,6 +116228,7 @@ self: { description = "A server process that runs hint"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hinter" = callPackage @@ -108668,6 +116249,7 @@ self: { description = "Runtime Haskell interpreter (GHC API wrapper)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hinterface" = callPackage @@ -108679,8 +116261,8 @@ self: { }: mkDerivation { pname = "hinterface"; - version = "0.9.0"; - sha256 = "0hkz9p3ljfqvmf07pkkijav3lppvwvyp5hvlqbqcfplmv9n84wdb"; + version = "0.10.0"; + sha256 = "0a89h3vn8arms93fj3p3ip208wamljkdxikkg7dlrf143iymcs8n"; libraryHaskellDepends = [ array async base binary bytestring containers cryptonite deepseq exceptions lifted-async lifted-base memory monad-control @@ -108694,6 +116276,7 @@ self: { description = "Haskell / Erlang interoperability library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hinvaders" = callPackage @@ -108709,6 +116292,7 @@ self: { description = "Space Invaders"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hinze-streams" = callPackage @@ -108721,6 +116305,7 @@ self: { description = "Streams and Unique Fixed Points"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hip" = callPackage @@ -108743,7 +116328,6 @@ self: { ]; description = "Haskell Image Processing (HIP) Library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hipbot" = callPackage @@ -108769,6 +116353,7 @@ self: { description = "A library for building HipChat Bots"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hipchat-hs" = callPackage @@ -108788,6 +116373,7 @@ self: { description = "Hipchat API bindings in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hipe" = callPackage @@ -108804,6 +116390,7 @@ self: { description = "Support for reading and writing ipe7 files (http://ipe7.sourceforge.net)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hips" = callPackage @@ -108838,6 +116425,7 @@ self: { description = "IRC client"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hirt" = callPackage @@ -108859,6 +116447,7 @@ self: { description = "Calculates IRT 2PL and 3PL models"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hissmetrics" = callPackage @@ -108875,6 +116464,7 @@ self: { description = "Unofficial API bindings to KISSmetrics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hist-pl" = callPackage @@ -108899,6 +116489,7 @@ self: { description = "Umbrella package for the historical dictionary of Polish"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hist-pl-dawg" = callPackage @@ -108914,6 +116505,7 @@ self: { description = "A generic, DAWG-based dictionary"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hist-pl-fusion" = callPackage @@ -108931,6 +116523,7 @@ self: { description = "Merging historical dictionary with PoliMorf"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hist-pl-lexicon" = callPackage @@ -108948,6 +116541,7 @@ self: { description = "A binary representation of the historical dictionary of Polish"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hist-pl-lmf" = callPackage @@ -108960,6 +116554,7 @@ self: { description = "LMF parsing for the historical dictionary of Polish"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hist-pl-transliter" = callPackage @@ -108983,6 +116578,7 @@ self: { description = "Types in the historical dictionary of Polish"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "histogram-fill" = callPackage @@ -109037,6 +116633,7 @@ self: { description = "Extract the interesting bits from shell history"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hit" = callPackage @@ -109055,7 +116652,6 @@ self: { ]; description = "Git like program in haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hit-graph" = callPackage @@ -109072,6 +116668,30 @@ self: { description = "Use graph algorithms to access and manipulate Git repos"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hit-on" = callPackage + ({ mkDerivation, ansi-terminal, base, base-noprelude, directory + , github, gitrev, hspec, optparse-applicative, process, relude + , shellmet, text, vector + }: + mkDerivation { + pname = "hit-on"; + version = "0.1.0.0"; + sha256 = "13pxn9xqyfd5n53bl57bk0wc8qlnl5dsh1xq5y49arsnk2g86ir5"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + ansi-terminal base-noprelude directory github gitrev + optparse-applicative process relude shellmet text vector + ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ base github hspec text ]; + description = "Haskell Git Helper Tool"; + license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hjcase" = callPackage @@ -109089,6 +116709,7 @@ self: { description = "Jcase library for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hjpath" = callPackage @@ -109119,6 +116740,7 @@ self: { description = "JavaScript Parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hjsmin" = callPackage @@ -109163,6 +116785,7 @@ self: { description = "library for querying from JSON"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hjsonpointer" = callPackage @@ -109185,6 +116808,7 @@ self: { description = "JSON Pointer library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hjsonschema" = callPackage @@ -109198,8 +116822,8 @@ self: { pname = "hjsonschema"; version = "1.9.0"; sha256 = "051i5y557g82hd5zcn63f65jyxk07d9wnvfmwdps391zxza8ifki"; - revision = "1"; - editedCabalFile = "1kxn0smmcmzysvi1bw9v0j6j68fk4s36nqyqmvbkl61pgm6bs803"; + revision = "2"; + editedCabalFile = "0110dyc8lbd8x0cbmxgwwbvzckxkfj84krd5p51p0jaixvrrl53r"; libraryHaskellDepends = [ aeson base bytestring containers file-embed filepath hashable hjsonpointer http-client http-client-tls http-types pcre-heavy @@ -109214,6 +116838,7 @@ self: { description = "JSON Schema library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hjugement" = callPackage @@ -109223,8 +116848,8 @@ self: { }: mkDerivation { pname = "hjugement"; - version = "2.0.0.20181030"; - sha256 = "063d484ns520prgvb2b1szq33wx569fgbgrzvfrgpfcznra638fi"; + version = "2.0.2.20190414"; + sha256 = "0w9qmsy7b118wzdhz8ggyw2608sjhsaxzaw121lhzr8vbaznh6pi"; libraryHaskellDepends = [ base containers hashable unordered-containers ]; @@ -109236,6 +116861,83 @@ self: { license = stdenv.lib.licenses.gpl3; }) {}; + "hjugement-cli" = callPackage + ({ mkDerivation, aeson, base, base64-bytestring, binary, bytestring + , containers, cryptonite, deepseq, directory, filepath, ghc-prim + , hjugement, hjugement-protocol, lens-family-core, memory, pipes + , pipes-aeson, pipes-bytestring, pipes-group, pipes-parse + , pipes-safe, pipes-text, random, reflection, symantic-cli + , symantic-document, terminal-size, text, time, transformers, unix + , unordered-containers + }: + mkDerivation { + pname = "hjugement-cli"; + version = "0.0.0.20190815"; + sha256 = "1ard95f5zs5bkj24qk3wwkgcz99xkwjqs35gfrslf3yd14davy2w"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + aeson base base64-bytestring binary bytestring containers + cryptonite deepseq directory filepath ghc-prim hjugement + hjugement-protocol lens-family-core memory pipes pipes-aeson + pipes-bytestring pipes-group pipes-parse pipes-safe pipes-text + random reflection symantic-cli symantic-document terminal-size text + time transformers unix unordered-containers + ]; + description = "Majority Judgment and Helios-C command line tool"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hjugement-protocol" = callPackage + ({ mkDerivation, aeson, base, base64-bytestring, binary, bytestring + , containers, criterion, cryptonite, deepseq, memory, QuickCheck + , random, reflection, tasty, tasty-hunit, tasty-quickcheck, text + , transformers, unordered-containers + }: + mkDerivation { + pname = "hjugement-protocol"; + version = "0.0.7.20190815"; + sha256 = "0b356pi6s3ih47d42ns50irgwsblwd9hvasav6sswzww3qlrnbrz"; + libraryHaskellDepends = [ + aeson base base64-bytestring binary bytestring containers + cryptonite deepseq memory random reflection text transformers + unordered-containers + ]; + testHaskellDepends = [ + aeson base containers QuickCheck random tasty tasty-hunit + tasty-quickcheck text transformers + ]; + benchmarkHaskellDepends = [ + base containers criterion QuickCheck random text transformers + ]; + description = "A cryptographic protocol for the Majority Judgment"; + license = stdenv.lib.licenses.gpl3; + }) {}; + + "hkd-delta" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "hkd-delta"; + version = "0.0.1"; + sha256 = "0qb20y6nca61h4mpgyhi6xfcwxf4q92pscr5zqd8yklfcz4qqyz9"; + libraryHaskellDepends = [ base ]; + description = "Definition of \"Delta structures\" for higher kinded data"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "hkd-lens" = callPackage + ({ mkDerivation, base, profunctors }: + mkDerivation { + pname = "hkd-lens"; + version = "0.0.1"; + sha256 = "0s3siyp85k84c9j1srg8y78ia6yj9s6vls9y1hnkgsmg1mx755qg"; + libraryHaskellDepends = [ base profunctors ]; + description = "Generic lens/prism/traversal-kinded data"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "hkdf" = callPackage ({ mkDerivation, base, byteable, bytestring, cryptohash, hspec }: mkDerivation { @@ -109248,6 +116950,23 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "hkgr" = callPackage + ({ mkDerivation, base, directory, filepath, simple-cabal + , simple-cmd, simple-cmd-args + }: + mkDerivation { + pname = "hkgr"; + version = "0.2.2"; + sha256 = "1wz2yy3fiwy4601p0ir24dvv7yzfrqf99z07m8whc6gr2ypsnfjc"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base directory filepath simple-cabal simple-cmd simple-cmd-args + ]; + description = "Simple Hackage release workflow for package maintainers"; + license = stdenv.lib.licenses.gpl3; + }) {}; + "hkt" = callPackage ({ mkDerivation, base, hspec, inspection-testing, protolude, text }: @@ -109281,6 +117000,7 @@ self: { description = "A library to build valid LaTeX files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hlbfgsb" = callPackage @@ -109300,6 +117020,7 @@ self: { description = "Haskell binding to L-BFGS-B version 3.0"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) gfortran;}; "hlcm" = callPackage @@ -109322,6 +117043,7 @@ self: { description = "Fast algorithm for mining closed frequent itemsets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hleap" = callPackage @@ -109330,8 +117052,8 @@ self: { }: mkDerivation { pname = "hleap"; - version = "0.1.2.7"; - sha256 = "1qpfwg69dzwzaf09q3pzkzwanzc9kb5zx733ck27g5xdsi79slsf"; + version = "0.2.0.0"; + sha256 = "0hh9r884kjw8gi7mcg74kzixzxxwzs1h67mg9z108kmlmnb742ry"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -109344,7 +117066,6 @@ self: { ]; description = "Web Socket interface to Leap Motion controller"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hledger" = callPackage @@ -109360,8 +117081,8 @@ self: { }: mkDerivation { pname = "hledger"; - version = "1.13.2"; - sha256 = "0dxw5zhynhdhangib5awcciz7qlgmnx9km4dph7nrw2ikj6ffmwv"; + version = "1.14.2"; + sha256 = "1si9zqparkdq77yji87lhcsrf11fr3gisqwsv82cabhrhc36x6l4"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -109410,8 +117131,10 @@ self: { }: mkDerivation { pname = "hledger-api"; - version = "1.13"; - sha256 = "1pkim0qxgakbngnslw04lhlmv2ad195lw60hxz5iyrxywizkiwp3"; + version = "1.14"; + sha256 = "18zpclm3nh2zq6cqa10vm232ndg22r8s4h3ffmn2m4fg05172ymd"; + revision = "1"; + editedCabalFile = "05jlbpp4p45q8bd3152l0fm4xz9yvz07ip2cd0kplzvwnmy8sfrg"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -109423,6 +117146,7 @@ self: { description = "Web API server for the hledger accounting tool"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hledger-chart" = callPackage @@ -109442,6 +117166,7 @@ self: { description = "A pie chart image generator for the hledger accounting tool"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hledger-diff" = callPackage @@ -109457,6 +117182,31 @@ self: { license = stdenv.lib.licenses.gpl3; }) {}; + "hledger-flow" = callPackage + ({ mkDerivation, base, containers, foldl, HUnit + , optparse-applicative, stm, text, time, turtle + }: + mkDerivation { + pname = "hledger-flow"; + version = "0.12.3.1"; + sha256 = "1a7idnrqjn7pcvskm1yd9ynlvsza9ql3qfd8d8ycb6z8gpc30fq0"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base containers foldl stm text time turtle + ]; + executableHaskellDepends = [ + base optparse-applicative text turtle + ]; + testHaskellDepends = [ + base containers foldl HUnit stm text turtle + ]; + description = "An hledger workflow focusing on automated statement import and classification"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "hledger-iadd" = callPackage ({ mkDerivation, base, brick, containers, directory, free , hledger-lib, hspec, hspec-discover, megaparsec, microlens @@ -109466,8 +117216,10 @@ self: { }: mkDerivation { pname = "hledger-iadd"; - version = "1.3.8"; - sha256 = "02dfi6drhipj1an2smalhgjp52scmcy6ndixakjk5y0zpvkxzzbx"; + version = "1.3.9"; + sha256 = "07g48w4099m4vm7z5hrg9zzd2v2yhy7kcv40902njz6v8cklgdgq"; + revision = "1"; + editedCabalFile = "18qjkl79gwmdgk6vl8cg3m94wm0qw30kxn4lvlnj9n6gnv2p0b3k"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -109497,6 +117249,8 @@ self: { pname = "hledger-interest"; version = "1.5.3"; sha256 = "1ff113z2ir07ihdvfa5fca4x326zwm2jd7sjy6hjpr4qgi1mszvs"; + revision = "1"; + editedCabalFile = "1myqv7hci32hvm98d4fn2zqdvkxsdx1g821n1fwr6814yn89kwjj"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -109523,6 +117277,7 @@ self: { description = "computes the internal rate of return of an investment"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hledger-lib" = callPackage @@ -109536,8 +117291,8 @@ self: { }: mkDerivation { pname = "hledger-lib"; - version = "1.13.1"; - sha256 = "1g98gikpvx002zjc1smj21lz4x9ghfa2965rb0vlnqmwcz5pqak7"; + version = "1.14.1"; + sha256 = "1w6qp01cak6spnpldm01czlm6i5a2alw47w76875l2nagrc4rfp2"; libraryHaskellDepends = [ ansi-terminal array base base-compat-batteries blaze-markup bytestring call-stack cassava cassava-megaparsec cmdargs containers @@ -109559,6 +117314,27 @@ self: { license = stdenv.lib.licenses.gpl3; }) {}; + "hledger-makeitso" = callPackage + ({ mkDerivation, base, containers, foldl, HUnit, stm, text, time + , turtle + }: + mkDerivation { + pname = "hledger-makeitso"; + version = "0.10.0.0"; + sha256 = "1gwlrh248vd9m07388ijvd1dxrsbhlf6jj5s0715ph9h1hrlb1jq"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base containers foldl stm text time turtle + ]; + executableHaskellDepends = [ base text turtle ]; + testHaskellDepends = [ + base containers foldl HUnit stm text turtle + ]; + description = "An hledger workflow focusing on automated statement import and classification"; + license = stdenv.lib.licenses.gpl3; + }) {}; + "hledger-ui" = callPackage ({ mkDerivation, ansi-terminal, async, base, base-compat-batteries , brick, cmdargs, containers, data-default, directory, filepath @@ -109568,8 +117344,8 @@ self: { }: mkDerivation { pname = "hledger-ui"; - version = "1.13.1"; - sha256 = "0jafgvnc88r24zab8kijj1v0jj8y2481ybsya3gnf3bfcb7p7xyp"; + version = "1.14.2"; + sha256 = "0bhixvzxv7d0kwb4ppv3sc98wjkc58kna9f91202s63sbikahlcr"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -109600,30 +117376,32 @@ self: { description = "A curses-style console interface for the hledger accounting tool"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hledger-web" = callPackage - ({ mkDerivation, base, blaze-html, blaze-markup, bytestring + ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring , case-insensitive, clientsession, cmdargs, conduit, conduit-extra - , data-default, directory, filepath, hjsmin, hledger, hledger-lib - , http-client, http-conduit, json, megaparsec, mtl, semigroups - , shakespeare, template-haskell, text, time, transformers, wai - , wai-extra, wai-handler-launch, warp, yaml, yesod, yesod-core - , yesod-form, yesod-static + , containers, data-default, Decimal, directory, filepath, hjsmin + , hledger, hledger-lib, http-client, http-conduit, http-types, json + , megaparsec, mtl, semigroups, shakespeare, template-haskell, text + , time, transformers, wai, wai-extra, wai-handler-launch, warp + , yaml, yesod, yesod-core, yesod-form, yesod-static }: mkDerivation { pname = "hledger-web"; - version = "1.13"; - sha256 = "045bhllvxs92r96hx9aaipc9hpaqhv7b3dm2nxc1912iq761wqnp"; + version = "1.14.1"; + sha256 = "0w59nr7mj0nx8z44cvhy1rhlj5rmx0wq4p5nfl4dycfmp7jwvsm1"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base blaze-html blaze-markup bytestring case-insensitive - clientsession cmdargs conduit conduit-extra data-default directory - filepath hjsmin hledger hledger-lib http-client http-conduit json - megaparsec mtl semigroups shakespeare template-haskell text time - transformers wai wai-extra wai-handler-launch warp yaml yesod - yesod-core yesod-form yesod-static + aeson base blaze-html blaze-markup bytestring case-insensitive + clientsession cmdargs conduit conduit-extra containers data-default + Decimal directory filepath hjsmin hledger hledger-lib http-client + http-conduit http-types json megaparsec mtl semigroups shakespeare + template-haskell text time transformers wai wai-extra + wai-handler-launch warp yaml yesod yesod-core yesod-form + yesod-static ]; executableHaskellDepends = [ base ]; description = "Web interface for the hledger accounting tool"; @@ -109644,6 +117422,7 @@ self: { description = "Haskell binding to libBladeRF SDR library"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libbladeRF;}; "hlibev" = callPackage @@ -109657,6 +117436,7 @@ self: { description = "FFI interface to libev"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {ev = null;}; "hlibfam" = callPackage @@ -109670,6 +117450,7 @@ self: { description = "FFI interface to libFAM"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) fam;}; "hlibgit2" = callPackage @@ -109704,22 +117485,22 @@ self: { "hlint" = callPackage ({ mkDerivation, aeson, ansi-terminal, base, bytestring, cmdargs , containers, cpphs, data-default, directory, extra, filepath - , haskell-src-exts, haskell-src-exts-util, hscolour, process - , refact, text, transformers, uniplate, unordered-containers - , vector, yaml + , ghc-lib-parser, haskell-src-exts, haskell-src-exts-util, hscolour + , process, refact, text, transformers, uniplate + , unordered-containers, vector, yaml }: mkDerivation { pname = "hlint"; - version = "2.1.14"; - sha256 = "0arz6x0r4pji37papdrc6brybcd2a2sackvhzmhy89ycgy0k04kk"; + version = "2.2.2"; + sha256 = "1v10xcz4vdzk1a3gjlvqbdckldax2643sg7s3xkm3dnlj5hg05yp"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson ansi-terminal base bytestring cmdargs containers cpphs - data-default directory extra filepath haskell-src-exts - haskell-src-exts-util hscolour process refact text transformers - uniplate unordered-containers vector yaml + data-default directory extra filepath ghc-lib-parser + haskell-src-exts haskell-src-exts-util hscolour process refact text + transformers uniplate unordered-containers vector yaml ]; executableHaskellDepends = [ base ]; description = "Source code suggestions"; @@ -109766,6 +117547,8 @@ self: { ]; description = "Client library for the Apache Livy REST API"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hlogger" = callPackage @@ -109778,6 +117561,7 @@ self: { description = "Simple, concurrent, extendable and easy-to-use logging library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hlongurl" = callPackage @@ -109797,6 +117581,7 @@ self: { description = "Library and utility interfacing to longurl.org"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hlrdb" = callPackage @@ -109806,17 +117591,14 @@ self: { }: mkDerivation { pname = "hlrdb"; - version = "0.2.0.1"; - sha256 = "0rrpn3gsh2ck3skpc9d6mdprcac8xdxxc71m8y5jfi0yzh6priga"; - revision = "1"; - editedCabalFile = "0464nxq1q7cccfcm0wi9l3gjgppbpzg4vgm61g21x0l8fnvyv42q"; + version = "0.3.0.0"; + sha256 = "0pc3hqi6v9b78fijisnarfs59w6mw8jgyww25r1wmblgwyakl5ab"; libraryHaskellDepends = [ base base64-bytestring bytestring cryptonite hashable hedis hlrdb-core memory random store time unordered-containers ]; description = "High-level Redis Database"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hlrdb-core" = callPackage @@ -109825,15 +117607,14 @@ self: { }: mkDerivation { pname = "hlrdb-core"; - version = "0.1.3.0"; - sha256 = "1rjvhgy1bv5kzf8xkmpjndzclq16gc1ihalzn3swg8iyh91pqh89"; + version = "0.1.4.0"; + sha256 = "1sn23347mm9r4j45ba2jz4vw7swh6jgn5fds9xnwgr8rch9b0ljc"; libraryHaskellDepends = [ base bytestring hashable hedis lens mtl profunctors random time unordered-containers ]; description = "High-level Redis Database Core API"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hls" = callPackage @@ -109847,6 +117628,7 @@ self: { description = "Haskell Lindenmayer Systems"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hlwm" = callPackage @@ -109863,6 +117645,7 @@ self: { description = "Bindings to the herbstluftwm window manager"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hly" = callPackage @@ -109878,6 +117661,7 @@ self: { description = "Haskell LilyPond"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmark" = callPackage @@ -109897,6 +117681,7 @@ self: { description = "A tool and library for Markov chains based text generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmarkup" = callPackage @@ -109911,6 +117696,7 @@ self: { description = "Simple wikitext-like markup format implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmatrix" = callPackage @@ -109920,10 +117706,8 @@ self: { }: mkDerivation { pname = "hmatrix"; - version = "0.19.0.0"; - sha256 = "10jd69nby29dggghcyjk6ykyr5wrn97nrv1dkpyrp0y5xm12xssj"; - revision = "1"; - editedCabalFile = "0krx0ds5mcj28y6zpg0r50lljn8681wi4c5lqcdz2c71nhixfq8h"; + version = "0.20.0.0"; + sha256 = "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"; configureFlags = [ "-fdisable-default-paths" "-fopenblas" ]; libraryHaskellDepends = [ array base binary bytestring deepseq random semigroups split @@ -109942,8 +117726,8 @@ self: { }: mkDerivation { pname = "hmatrix-backprop"; - version = "0.1.2.5"; - sha256 = "1m6imvvcg8cjlqlcj2qhk5k0g88w853mw9r2mky54rmxfd86xfsf"; + version = "0.1.3.0"; + sha256 = "1nknwamc51f3d1syy1wi8fkvlx40riwi7x94yh34y0fzgddgjl2k"; libraryHaskellDepends = [ backprop base ghc-typelits-knownnat ghc-typelits-natnormalise hmatrix hmatrix-vector-sized microlens vector vector-sized vinyl @@ -109955,19 +117739,23 @@ self: { description = "hmatrix operations lifted for backprop"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmatrix-banded" = callPackage ({ mkDerivation, base, hmatrix, liblapack, transformers }: mkDerivation { pname = "hmatrix-banded"; - version = "0.0.0.2"; - sha256 = "0civscp7bqqcdfnz33ypg86ly98d42f1jhyz3fyi667g9rfq4fyb"; + version = "0.0.0.3"; + sha256 = "1vmvgxvyllqgp7cb2yrfqir99gcxn50s7gc9117g2fq8m3dqq34f"; + revision = "1"; + editedCabalFile = "0q58d297a555xb9mrpri9p30wyr5jmi46afixrh3hlvldddkw663"; libraryHaskellDepends = [ base hmatrix transformers ]; librarySystemDepends = [ liblapack ]; description = "HMatrix interface to LAPACK functions for banded matrices"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) liblapack;}; "hmatrix-csv" = callPackage @@ -110014,8 +117802,8 @@ self: { }: mkDerivation { pname = "hmatrix-gsl-stats"; - version = "0.4.1.7"; - sha256 = "1gslgk58lzin43cvbpivhw7nrn9qyaa6qwhy1z9ypvyal5p8n3sa"; + version = "0.4.1.8"; + sha256 = "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"; libraryHaskellDepends = [ base binary hmatrix storable-complex vector ]; @@ -110034,6 +117822,7 @@ self: { description = "Memory map Vector from disk into memory efficiently"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmatrix-morpheus" = callPackage @@ -110055,6 +117844,7 @@ self: { description = "Low-level machine learning auxiliary functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) blas; inherit (pkgs) liblapack;}; "hmatrix-nipals" = callPackage @@ -110069,6 +117859,7 @@ self: { description = "NIPALS method for Principal Components Analysis on large data-sets"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmatrix-nlopt" = callPackage @@ -110118,6 +117909,7 @@ self: { description = "Sparse linear solver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {mkl_core = null; mkl_intel = null; mkl_sequential = null;}; "hmatrix-special" = callPackage @@ -110145,31 +117937,36 @@ self: { description = "hmatrix with vector and matrix sizes encoded in types"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmatrix-sundials" = callPackage - ({ mkDerivation, base, containers, diagrams-lib - , diagrams-rasterific, hmatrix, hspec, inline-c, lens, plots + ({ mkDerivation, base, bytestring, cassava, clock, containers + , deepseq, diagrams-lib, diagrams-rasterific, hmatrix, hspec + , inline-c, lens, optparse-applicative, plots, split , sundials_arkode, sundials_cvode, template-haskell, vector }: mkDerivation { pname = "hmatrix-sundials"; - version = "0.19.1.0"; - sha256 = "1vbpx8661nnj15vrg177qwaylfvlp0fxdnpzncwkm4ka81v65hb5"; - revision = "1"; - editedCabalFile = "0vl85crf6zpbjpvrkydi5qk7ziaxcwr3bpm15cbxw6k94a3y9lvx"; + version = "0.20.1.0"; + sha256 = "0ysh3zamv8vm3i1a9bz0iqikfdxpmh95g4b0k8kgayjchhs3l6yn"; libraryHaskellDepends = [ - base containers hmatrix inline-c template-haskell vector + base containers deepseq hmatrix inline-c split template-haskell + vector ]; librarySystemDepends = [ sundials_arkode sundials_cvode ]; testHaskellDepends = [ base containers diagrams-lib diagrams-rasterific hmatrix hspec - inline-c lens plots template-haskell vector + inline-c lens plots split template-haskell vector ]; testSystemDepends = [ sundials_arkode sundials_cvode ]; + benchmarkHaskellDepends = [ + base bytestring cassava clock hmatrix optparse-applicative + ]; description = "hmatrix interface to sundials"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {sundials_arkode = null; sundials_cvode = null;}; "hmatrix-svdlibc" = callPackage @@ -110185,6 +117982,8 @@ self: { benchmarkHaskellDepends = [ base criterion hmatrix vector ]; description = "SVDLIBC bindings for HMatrix"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmatrix-syntax" = callPackage @@ -110201,6 +118000,7 @@ self: { description = "MATLAB-like syntax for hmatrix vectors and matrices"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmatrix-tests" = callPackage @@ -110219,6 +118019,7 @@ self: { description = "Tests for hmatrix"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmatrix-vector-sized" = callPackage @@ -110227,8 +118028,8 @@ self: { }: mkDerivation { pname = "hmatrix-vector-sized"; - version = "0.1.1.2"; - sha256 = "0zj31xm0d2d7bzky9qxxs5jb5snjivdjknghpwmf8s1b85zim646"; + version = "0.1.2.0"; + sha256 = "0n9pylrxz0pkdlha1rqi2xabfjxpiya9kcyx6qlcqal1q57wh2bc"; libraryHaskellDepends = [ base hmatrix vector vector-sized ]; testHaskellDepends = [ base ghc-typelits-knownnat hedgehog hmatrix vector vector-sized @@ -110251,6 +118052,7 @@ self: { description = "Haskell Meapsoft Parser"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmeap-utils" = callPackage @@ -110271,6 +118073,7 @@ self: { description = "Haskell Meapsoft Parser Utilities"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmemdb" = callPackage @@ -110300,6 +118103,7 @@ self: { description = "CLI fuzzy finder and launcher"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmep" = callPackage @@ -110319,6 +118123,8 @@ self: { testHaskellDepends = [ base HUnit vector ]; description = "HMEP Multi Expression Programming – a genetic programming variant"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmidi" = callPackage @@ -110350,6 +118156,7 @@ self: { description = "A make alternative based on Plan9's mk"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmm" = callPackage @@ -110366,6 +118173,7 @@ self: { description = "A hidden markov model library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmm-hmatrix" = callPackage @@ -110385,20 +118193,21 @@ self: { description = "Hidden Markov Models using HMatrix primitives"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmm-lapack" = callPackage - ({ mkDerivation, base, boxes, comfort-array, containers, deepseq + ({ mkDerivation, base, comfort-array, containers, deepseq , explicit-exception, fixed-length, lapack, lazy-csv, netlib-ffi , non-empty, prelude-compat, QuickCheck, random, semigroups, tfp , transformers, utility-ht }: mkDerivation { pname = "hmm-lapack"; - version = "0.3.0.2"; - sha256 = "1rwxp4gjk2z8k42k7l1g3sy07jl2rhc7xgypjripb3chmfkp6zvn"; + version = "0.4"; + sha256 = "0f0xf1fjsqqfimxx7skdwddw8zbdmas3l31y6921mxzy1syys30w"; libraryHaskellDepends = [ - base boxes comfort-array containers deepseq explicit-exception + base comfort-array containers deepseq explicit-exception fixed-length lapack lazy-csv netlib-ffi non-empty prelude-compat QuickCheck random semigroups tfp transformers utility-ht ]; @@ -110406,6 +118215,7 @@ self: { description = "Hidden Markov Models using LAPACK primitives"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmp3" = callPackage @@ -110427,6 +118237,7 @@ self: { description = "An ncurses mp3 player written in Haskell"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) ncurses;}; "hmpfr" = callPackage @@ -110462,7 +118273,6 @@ self: { ]; description = "Haskell Music Theory"; license = "GPL"; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hmt-diagrams" = callPackage @@ -110481,6 +118291,7 @@ self: { description = "Haskell Music Theory Diagrams"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hmumps" = callPackage @@ -110500,6 +118311,7 @@ self: { description = "Interpreter for the MUMPS langugae"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hnetcdf" = callPackage @@ -110530,67 +118342,125 @@ self: { description = "Haskell NetCDF library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) netcdf;}; "hnix" = callPackage - ({ mkDerivation, aeson, ansi-wl-pprint, array, base - , base16-bytestring, binary, bytestring, containers, criterion + ({ mkDerivation, aeson, array, base, base16-bytestring, binary + , bytestring, comonad, containers, contravariant, criterion , cryptohash-md5, cryptohash-sha1, cryptohash-sha256 - , cryptohash-sha512, data-fix, deepseq, deriving-compat, Diff - , directory, exceptions, filepath, generic-random, Glob, hashable - , hashing, haskeline, hedgehog, hspec-discover, http-client - , http-client-tls, http-types, interpolate, lens-family - , lens-family-core, lens-family-th, logict, megaparsec, monadlist - , mtl, optparse-applicative, pretty-show, process, regex-tdfa - , regex-tdfa-text, repline, scientific, semigroups, serialise - , split, syb, tasty, tasty-hedgehog, tasty-hunit, tasty-quickcheck - , tasty-th, template-haskell, text, these, time, transformers, unix - , unordered-containers, vector, xml + , cryptohash-sha512, data-fix, deepseq, dependent-sum + , deriving-compat, Diff, directory, exceptions, filepath, free + , generic-random, Glob, hashable, hashing, haskeline, hedgehog + , hnix-store-core, http-client, http-client-tls, http-types + , interpolate, lens-family, lens-family-core, lens-family-th + , logict, megaparsec, monad-control, monadlist, mtl + , optparse-applicative, parser-combinators, pretty-show + , prettyprinter, process, ref-tf, regex-tdfa, regex-tdfa-text + , repline, scientific, semigroups, serialise, split, syb, tasty + , tasty-hedgehog, tasty-hunit, tasty-quickcheck, tasty-th + , template-haskell, text, these, time, transformers + , transformers-base, unix, unordered-containers, vector, xml }: mkDerivation { pname = "hnix"; - version = "0.5.2"; - sha256 = "059l2zqbqi5826qq1dq00vl7f1kfyr0wrs9imsx36yfbr9ac9wqk"; + version = "0.6.1"; + sha256 = "0q79wdrm3z88mknq6nf7cpg7lwgbx355k95k11rz3iz0sgk9hjwi"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson ansi-wl-pprint array base base16-bytestring binary bytestring - containers cryptohash-md5 cryptohash-sha1 cryptohash-sha256 - cryptohash-sha512 data-fix deepseq deriving-compat directory - exceptions filepath hashable hashing haskeline http-client - http-client-tls http-types interpolate lens-family lens-family-core - lens-family-th logict megaparsec monadlist mtl optparse-applicative - pretty-show process regex-tdfa regex-tdfa-text scientific - semigroups serialise split syb template-haskell text these time - transformers unix unordered-containers vector xml + aeson array base base16-bytestring binary bytestring comonad + containers contravariant cryptohash-md5 cryptohash-sha1 + cryptohash-sha256 cryptohash-sha512 data-fix deepseq dependent-sum + deriving-compat directory exceptions filepath free hashable hashing + haskeline hnix-store-core http-client http-client-tls http-types + interpolate lens-family lens-family-core lens-family-th logict + megaparsec monad-control monadlist mtl optparse-applicative + parser-combinators pretty-show prettyprinter process ref-tf + regex-tdfa regex-tdfa-text scientific semigroups serialise split + syb template-haskell text these time transformers transformers-base + unix unordered-containers vector xml ]; executableHaskellDepends = [ - aeson ansi-wl-pprint base base16-bytestring bytestring containers + aeson base base16-bytestring bytestring comonad containers cryptohash-md5 cryptohash-sha1 cryptohash-sha256 cryptohash-sha512 - data-fix deepseq exceptions filepath hashing haskeline mtl - optparse-applicative pretty-show repline serialise template-haskell - text time transformers unordered-containers + data-fix deepseq exceptions filepath free hashing haskeline mtl + optparse-applicative pretty-show prettyprinter ref-tf repline + serialise template-haskell text time transformers + unordered-containers ]; testHaskellDepends = [ - ansi-wl-pprint base base16-bytestring bytestring containers - cryptohash-md5 cryptohash-sha1 cryptohash-sha256 cryptohash-sha512 - data-fix deepseq Diff directory exceptions filepath generic-random - Glob hashing hedgehog interpolate megaparsec mtl - optparse-applicative pretty-show process serialise split tasty - tasty-hedgehog tasty-hunit tasty-quickcheck tasty-th + base base16-bytestring bytestring containers cryptohash-md5 + cryptohash-sha1 cryptohash-sha256 cryptohash-sha512 data-fix + deepseq dependent-sum Diff directory exceptions filepath + generic-random Glob hashing hedgehog interpolate megaparsec mtl + optparse-applicative pretty-show prettyprinter process serialise + split tasty tasty-hedgehog tasty-hunit tasty-quickcheck tasty-th template-haskell text time transformers unix unordered-containers ]; - testToolDepends = [ hspec-discover ]; benchmarkHaskellDepends = [ - ansi-wl-pprint base base16-bytestring bytestring containers - criterion cryptohash-md5 cryptohash-sha1 cryptohash-sha256 - cryptohash-sha512 data-fix deepseq exceptions filepath hashing mtl + base base16-bytestring bytestring containers criterion + cryptohash-md5 cryptohash-sha1 cryptohash-sha256 cryptohash-sha512 + data-fix deepseq exceptions filepath hashing mtl optparse-applicative serialise template-haskell text time transformers unordered-containers ]; description = "Haskell implementation of the Nix language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hnix-store-core" = callPackage + ({ mkDerivation, base, base16-bytestring, base64-bytestring, binary + , bytestring, containers, cryptohash-md5, cryptohash-sha1 + , cryptohash-sha256, directory, filepath, hashable, mtl, process + , regex-base, regex-tdfa-text, tasty, tasty-discover, tasty-hspec + , tasty-hunit, tasty-quickcheck, temporary, text, unix + , unordered-containers, vector + }: + mkDerivation { + pname = "hnix-store-core"; + version = "0.1.0.0"; + sha256 = "1xrx3ly6qsh3j6naqxdv9v759fbmksd2yfdgnzppcnskrcfrm347"; + libraryHaskellDepends = [ + base base16-bytestring binary bytestring containers cryptohash-md5 + cryptohash-sha1 cryptohash-sha256 directory filepath hashable mtl + regex-base regex-tdfa-text text unix unordered-containers vector + ]; + testHaskellDepends = [ + base base64-bytestring binary bytestring containers directory + process tasty tasty-discover tasty-hspec tasty-hunit + tasty-quickcheck temporary text + ]; + testToolDepends = [ tasty-discover ]; + description = "Core effects for interacting with the Nix store"; + license = stdenv.lib.licenses.asl20; + }) {}; + + "hnix-store-remote" = callPackage + ({ mkDerivation, base, base64-bytestring, binary, bytestring + , containers, hnix-store-core, mtl, network, pretty-simple, text + , unix, unordered-containers + }: + mkDerivation { + pname = "hnix-store-remote"; + version = "0.1.0.0"; + sha256 = "04dmql5235z05hq36wnbgc3sk0izqryv7n8dh8r3dq2j87zvv3y8"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base base64-bytestring binary bytestring containers hnix-store-core + mtl network text unix unordered-containers + ]; + executableHaskellDepends = [ + base bytestring hnix-store-core mtl pretty-simple + unordered-containers + ]; + description = "Remote hnix store"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hnn" = callPackage @@ -110662,6 +118532,7 @@ self: { description = "Log message normalisation tool producing structured JSON messages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ho-rewriting" = callPackage @@ -110678,6 +118549,7 @@ self: { description = "Generic rewrite rules with safe treatment of variables and binders"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoauth" = callPackage @@ -110696,6 +118568,7 @@ self: { description = "A Haskell implementation of OAuth 1.0a protocol."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoauth2" = callPackage @@ -110705,8 +118578,8 @@ self: { }: mkDerivation { pname = "hoauth2"; - version = "1.8.4"; - sha256 = "0k7ibzd5q4bh46m6b46x155n09dd474375k4605d7fl034i16lsx"; + version = "1.8.9"; + sha256 = "03yggs3if14saxiz5m02p17crl7askh8qjky6h1jqpxric49alv7"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -110715,7 +118588,6 @@ self: { ]; description = "Haskell OAuth2 authentication client"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hob" = callPackage @@ -110744,6 +118616,7 @@ self: { description = "A source code editor aiming for the convenience of use"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hobbes" = callPackage @@ -110762,6 +118635,7 @@ self: { description = "A small file watcher for OSX"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hobbits" = callPackage @@ -110779,6 +118653,7 @@ self: { description = "A library for canonically representing terms with binding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hocilib" = callPackage @@ -110799,6 +118674,7 @@ self: { description = "FFI binding to OCILIB"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {ocilib = null;}; "hocker" = callPackage @@ -110841,6 +118717,7 @@ self: { description = "Interact with the docker registry and generate nix build instructions"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hodatime" = callPackage @@ -110863,6 +118740,7 @@ self: { description = "A fully featured date/time library based on Nodatime"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoe" = callPackage @@ -110911,6 +118789,7 @@ self: { description = "Simple IRC logger bot"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hogg" = callPackage @@ -110929,6 +118808,7 @@ self: { description = "Library and tools to manipulate the Ogg container format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoggl" = callPackage @@ -110955,6 +118835,7 @@ self: { description = "Bindings to the Toggl.com REST API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hogre" = callPackage @@ -110971,6 +118852,7 @@ self: { description = "Haskell binding to a subset of OGRE"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {OGRE = null; OgreMain = null; cgen-hs = null; grgen = null;}; "hogre-examples" = callPackage @@ -110987,6 +118869,7 @@ self: { description = "Examples for using Hogre"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {OgreMain = null;}; "hois" = callPackage @@ -111003,6 +118886,7 @@ self: { description = "OIS bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {OIS = null;}; "hoist-error" = callPackage @@ -111047,6 +118931,7 @@ self: { description = "Higher order logic"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hold-em" = callPackage @@ -111059,6 +118944,7 @@ self: { description = "An engine for Texas hold'em Poker"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hole" = callPackage @@ -111071,6 +118957,7 @@ self: { description = "Higher kinded type removal"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "holey-format" = callPackage @@ -111117,6 +119004,7 @@ self: { description = "Start your Haskell project with cabal, git and tests"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "homeomorphic" = callPackage @@ -111129,6 +119017,7 @@ self: { description = "Homeomorphic Embedding Test"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hommage" = callPackage @@ -111143,6 +119032,7 @@ self: { description = "Haskell Offline Music Manipulation And Generation EDSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hommage-ds" = callPackage @@ -111156,7 +119046,7 @@ self: { ]; description = "DirectSound extension (Windows) for the Hommage sound library"; license = "GPL"; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {}; "homoiconic" = callPackage @@ -111170,6 +119060,7 @@ self: { description = "Constructs FAlgebras from typeclasses, making Haskell functions homoiconic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "homplexity" = callPackage @@ -111199,6 +119090,7 @@ self: { description = "Haskell code quality tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "honi" = callPackage @@ -111216,6 +119108,7 @@ self: { description = "OpenNI 2 binding"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {OpenNI2 = null; inherit (pkgs) freenect;}; "honk" = callPackage @@ -111246,6 +119139,7 @@ self: { description = "Simple tool for fetching and merging hoogle data"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hood" = callPackage @@ -111259,6 +119153,7 @@ self: { description = "Debugging by observing in place"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hood-off" = callPackage @@ -111271,6 +119166,7 @@ self: { description = "Dummy package to disable Hood without having to remove all the calls to observe"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hood2" = callPackage @@ -111283,6 +119179,7 @@ self: { description = "Debugging by observing in place"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoodie" = callPackage @@ -111301,6 +119198,7 @@ self: { description = "A small, toy roguelike"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoodle" = callPackage @@ -111322,6 +119220,7 @@ self: { description = "Executable for hoodle"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoodle-builder" = callPackage @@ -111339,6 +119238,7 @@ self: { description = "text builder for hoodle file format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoodle-core" = callPackage @@ -111372,6 +119272,7 @@ self: { description = "Core library for hoodle"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXi;}; "hoodle-extra" = callPackage @@ -111398,6 +119299,7 @@ self: { description = "extra hoodle tools"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoodle-parser" = callPackage @@ -111416,6 +119318,7 @@ self: { description = "Hoodle file parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoodle-publish" = callPackage @@ -111443,6 +119346,7 @@ self: { description = "publish hoodle files as a static web site"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoodle-render" = callPackage @@ -111464,6 +119368,7 @@ self: { description = "Hoodle file renderer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoodle-types" = callPackage @@ -111481,6 +119386,7 @@ self: { description = "Data types for programs for hoodle file format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoogle_5_0_14" = callPackage @@ -111518,28 +119424,30 @@ self: { }) {}; "hoogle" = callPackage - ({ mkDerivation, aeson, base, binary, bytestring, cmdargs, conduit - , conduit-extra, connection, containers, deepseq, directory, extra - , filepath, foundation, hashable, haskell-src-exts, http-conduit - , http-types, js-flot, js-jquery, mmap, network-uri, old-locale - , process-extras, QuickCheck, resourcet, storable-tuple, tar - , template-haskell, text, time, transformers, uniplate, utf8-string - , vector, wai, wai-logger, warp, warp-tls, zlib + ({ mkDerivation, aeson, base, binary, blaze-html, blaze-markup + , bytestring, cmdargs, conduit, conduit-extra, connection + , containers, deepseq, directory, extra, filepath, foundation + , hashable, haskell-src-exts, http-conduit, http-types, js-flot + , js-jquery, mmap, old-locale, process-extras, QuickCheck + , resourcet, storable-tuple, tar, template-haskell, text, time + , transformers, uniplate, utf8-string, vector, wai, wai-logger + , warp, warp-tls, zlib }: mkDerivation { pname = "hoogle"; - version = "5.0.17.5"; - sha256 = "1vpx6v8b0jixn82iqz085w2qpyj5pl2qyhrcd0a4p0vs5qmplf60"; + version = "5.0.17.11"; + sha256 = "1svp8z9pad8z2j386pr0dda0ds8ddxab0salnz4gm51q877w93p1"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - aeson base binary bytestring cmdargs conduit conduit-extra - connection containers deepseq directory extra filepath foundation - hashable haskell-src-exts http-conduit http-types js-flot js-jquery - mmap network-uri old-locale process-extras QuickCheck resourcet - storable-tuple tar template-haskell text time transformers uniplate - utf8-string vector wai wai-logger warp warp-tls zlib + aeson base binary blaze-html blaze-markup bytestring cmdargs + conduit conduit-extra connection containers deepseq directory extra + filepath foundation hashable haskell-src-exts http-conduit + http-types js-flot js-jquery mmap old-locale process-extras + QuickCheck resourcet storable-tuple tar template-haskell text time + transformers uniplate utf8-string vector wai wai-logger warp + warp-tls zlib ]; executableHaskellDepends = [ base ]; testTarget = "--test-option=--no-net"; @@ -111565,6 +119473,7 @@ self: { description = "Easily generate Hoogle indices for installed packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hooks-dir" = callPackage @@ -111577,6 +119486,7 @@ self: { description = "run executables in a directory as hooks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hookup" = callPackage @@ -111585,10 +119495,10 @@ self: { }: mkDerivation { pname = "hookup"; - version = "0.2.2"; - sha256 = "1q9w8j4g8j9ijfvwpng4i3k2b8pkf4ln27bcdaalnp9yyidmxlqf"; - revision = "4"; - editedCabalFile = "1l52m4pl1l0mrnl4czx25i8xvba03l7bvqskk59cgwfk8q1kk935"; + version = "0.2.3"; + sha256 = "03svzlzkykz4yqwq4vfgwdq6jdz8zzqhy1ggz3wps9cbx6yrl4cj"; + revision = "1"; + editedCabalFile = "1pc0ijak6psp5db1q29nzhp8pw0h15y2g8ssa1xxmlfjdl1c509d"; libraryHaskellDepends = [ attoparsec base bytestring HsOpenSSL HsOpenSSL-x509-system network ]; @@ -111615,6 +119525,7 @@ self: { description = "A library to support dataflow analysis and optimization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoovie" = callPackage @@ -111639,6 +119550,7 @@ self: { description = "Haskell Media Server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hopencc" = callPackage @@ -111656,6 +119568,7 @@ self: { description = "Haskell binding to libopencc"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) opencc;}; "hopencl" = callPackage @@ -111676,6 +119589,7 @@ self: { description = "Haskell bindings for OpenCL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {OpenCL = null;}; "hopenpgp-tools" = callPackage @@ -111708,6 +119622,8 @@ self: { executableToolDepends = [ alex happy ]; description = "hOpenPGP-based command-line tools"; license = stdenv.lib.licenses.agpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hopenssl" = callPackage @@ -111716,6 +119632,8 @@ self: { pname = "hopenssl"; version = "2.2.4"; sha256 = "0wbnibaffpmk453jbvh95r1d1scz1ivkj59ddrbd3hf4iwr6rx4x"; + revision = "1"; + editedCabalFile = "14bs0wjrqnnn1v8c4yznfzggvmgypm2lssgl0cr498kmp54if0lf"; libraryHaskellDepends = [ base bytestring ]; librarySystemDepends = [ openssl ]; testHaskellDepends = [ base bytestring HUnit ]; @@ -111754,6 +119672,7 @@ self: { description = "Hopfield Networks, Boltzmann Machines and Clusters"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {MagickCore = null; inherit (pkgs) imagemagick;}; "hopfield-networks" = callPackage @@ -111805,6 +119724,7 @@ self: { description = "C++ FFI generator - Documentation"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoppy-generator" = callPackage @@ -111821,6 +119741,7 @@ self: { description = "C++ FFI generator - Code generator"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoppy-runtime" = callPackage @@ -111835,6 +119756,7 @@ self: { description = "C++ FFI generator - Runtime support"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoppy-std" = callPackage @@ -111850,6 +119772,7 @@ self: { description = "C++ FFI generator - Standard library bindings"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hops" = callPackage @@ -111883,6 +119806,7 @@ self: { description = "Handy Operations on Power Series"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hoq" = callPackage @@ -111903,6 +119827,7 @@ self: { description = "A language based on homotopy type theory with an interval type"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hora" = callPackage @@ -111920,7 +119845,6 @@ self: { ]; description = "date time"; license = stdenv.lib.licenses.publicDomain; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "horizon" = callPackage @@ -111933,6 +119857,7 @@ self: { description = "Sunrise and sunset UTC approximations from latitude and longitude coordinates"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "horname" = callPackage @@ -111941,10 +119866,8 @@ self: { }: mkDerivation { pname = "horname"; - version = "0.1.3.0"; - sha256 = "067jnyqk4lwrr23hvc30rqjmd400n9vd8wvj9bq67w47paqcz9p9"; - revision = "1"; - editedCabalFile = "10cgcxvpl0s4hs2r5g34kcdiy676azz751j3w5703m54mpz9irwl"; + version = "0.2.0.0"; + sha256 = "1qcvgjwasrgi760sv5rxl5klincgw34xczd3mqz32id183s57164"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -111954,6 +119877,7 @@ self: { description = "Rename function definitions returned by SMT solvers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hosc" = callPackage @@ -111990,6 +119914,7 @@ self: { description = "Haskell Open Sound Control JSON Serialisation"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hosc-utils" = callPackage @@ -112052,6 +119977,7 @@ self: { description = "An dns server which is extremely easy to config"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hothasktags" = callPackage @@ -112071,6 +119997,7 @@ self: { description = "Generates ctags for Haskell, incorporating import lists and qualified imports"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hotswap" = callPackage @@ -112083,6 +120010,7 @@ self: { description = "Simple code hotswapping"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hourglass" = callPackage @@ -112114,6 +120042,7 @@ self: { description = "A small library for parsing more human friendly date/time formats"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hourglass-orphans" = callPackage @@ -112160,6 +120089,7 @@ self: { description = "A Haskell implementation of Foreman"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hp2any-core" = callPackage @@ -112177,6 +120107,7 @@ self: { description = "Heap profiling helper library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hp2any-graph" = callPackage @@ -112199,6 +120130,7 @@ self: { description = "Real-time heap graphing utility and profile stream server with a reusable graphing module"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) freeglut; inherit (pkgs) libGL; inherit (pkgs) libGLU;}; @@ -112221,6 +120153,7 @@ self: { description = "A utility to visualise and compare heap profiles"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hp2html" = callPackage @@ -112265,8 +120198,8 @@ self: { }: mkDerivation { pname = "hpack"; - version = "0.31.1"; - sha256 = "0fipbmmj4x588z7vh635mizhym9krydfxr49bgaf7xir4fsb4fmc"; + version = "0.31.2"; + sha256 = "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -112323,6 +120256,7 @@ self: { description = "Convert Cabal manifests into hpack's package.yamls"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpack-dhall" = callPackage @@ -112333,8 +120267,8 @@ self: { }: mkDerivation { pname = "hpack-dhall"; - version = "0.5.1"; - sha256 = "0rgdk1jiczl4rwa66irbfcif4rvkrcyzk29lmpwr2kkqjz0zi7kk"; + version = "0.5.2"; + sha256 = "16mnh9hwp0224cn3rlpbjgqklgvbaffbzjskyksakpgxc0phk1zi"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -112353,6 +120287,8 @@ self: { ]; description = "hpack's dhalling"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpaco" = callPackage @@ -112371,6 +120307,7 @@ self: { description = "Modular template compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpaco-lib" = callPackage @@ -112389,6 +120326,7 @@ self: { description = "Modular template compiler library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpage" = callPackage @@ -112411,6 +120349,7 @@ self: { description = "A scrapbook for Haskell developers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpapi" = callPackage @@ -112424,6 +120363,7 @@ self: { description = "Binding for the PAPI library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) papi;}; "hpaste" = callPackage @@ -112452,6 +120392,7 @@ self: { description = "Haskell paste web site"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpasteit" = callPackage @@ -112472,6 +120413,7 @@ self: { description = "A command-line client for hpaste.org"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpath" = callPackage @@ -112534,7 +120476,6 @@ self: { testHaskellDepends = [ base HUnit ]; description = "Coveralls.io support for Haskell."; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hpc-strobe" = callPackage @@ -112582,6 +120523,7 @@ self: { description = "Tracer with AJAX interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpdft" = callPackage @@ -112590,16 +120532,20 @@ self: { }: mkDerivation { pname = "hpdft"; - version = "0.1.0.4"; - sha256 = "1rxr2qfs6cvk0hyvvq7w0jsq8vjf8b84ay5jzfhqyk8qk73ppfji"; + version = "0.1.0.5"; + sha256 = "1wcbkxcfwnmfbwfa3dqlqgf825b00x0fvmp4fp3jfxs6s5dyi6lh"; + isLibrary = true; + isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ attoparsec base binary bytestring containers directory file-embed parsec text utf8-string zlib ]; + executableHaskellDepends = [ base bytestring utf8-string ]; description = "A tool for looking through PDF file using Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpg" = callPackage @@ -112614,6 +120560,7 @@ self: { description = "a simple password generator"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpio" = callPackage @@ -112644,6 +120591,7 @@ self: { description = "Monads for GPIO in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hplayground" = callPackage @@ -112676,6 +120624,7 @@ self: { description = "Application for managing playlist files on a music player"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpodder" = callPackage @@ -112696,6 +120645,7 @@ self: { description = "Podcast Aggregator (downloader)"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpp" = callPackage @@ -112720,21 +120670,21 @@ self: { "hpqtypes" = callPackage ({ mkDerivation, aeson, async, base, bytestring, Cabal, containers - , data-default-class, directory, exceptions, filepath, HUnit - , lifted-base, monad-control, mtl, postgresql, QuickCheck, random - , resource-pool, scientific, semigroups, test-framework - , test-framework-hunit, text, text-show, time, transformers - , transformers-base, unordered-containers, vector + , directory, exceptions, filepath, HUnit, lifted-base + , monad-control, mtl, postgresql, QuickCheck, random, resource-pool + , scientific, semigroups, test-framework, test-framework-hunit + , text, text-show, time, transformers, transformers-base + , unordered-containers, vector }: mkDerivation { pname = "hpqtypes"; - version = "1.6.1.0"; - sha256 = "02vh9l86dnayccvfq3cqmk6gbbwyqglnpg3mhr3v72vraxymm7jn"; + version = "1.7.0.0"; + sha256 = "0vk6yj7rw3cqdvyfmpjis10av1apj79v0b8d9hagc8v8zzfp0wki"; setupHaskellDepends = [ base Cabal directory filepath ]; libraryHaskellDepends = [ - aeson async base bytestring containers data-default-class - exceptions lifted-base monad-control mtl resource-pool semigroups - text text-show time transformers transformers-base vector + aeson async base bytestring containers exceptions lifted-base + monad-control mtl resource-pool semigroups text text-show time + transformers transformers-base vector ]; librarySystemDepends = [ postgresql ]; testHaskellDepends = [ @@ -112746,22 +120696,23 @@ self: { description = "Haskell bindings to libpqtypes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) postgresql;}; "hpqtypes-extras" = callPackage ({ mkDerivation, base, base16-bytestring, bytestring, containers - , cryptohash, data-default, exceptions, fields-json, hpqtypes - , lifted-base, log-base, monad-control, mtl, safe, semigroups - , tasty, tasty-hunit, text, text-show, transformers + , cryptohash, exceptions, fields-json, hpqtypes, lifted-base + , log-base, monad-control, mtl, safe, semigroups, tasty + , tasty-hunit, text, text-show, transformers }: mkDerivation { pname = "hpqtypes-extras"; - version = "1.7.1.0"; - sha256 = "0fxa92lvw61d48dbgk24bcx2kjbw8k8gpzbbi7z2d8k3z2b9alfk"; + version = "1.9.0.1"; + sha256 = "04qlcs5vdzyxfdmamz65lhw1bjbm8rl9h5qf4xback6lcxr2h5q7"; libraryHaskellDepends = [ - base base16-bytestring bytestring containers cryptohash - data-default exceptions fields-json hpqtypes lifted-base log-base - monad-control mtl safe semigroups text text-show + base base16-bytestring bytestring containers cryptohash exceptions + fields-json hpqtypes lifted-base log-base monad-control mtl safe + semigroups text text-show ]; testHaskellDepends = [ base exceptions hpqtypes lifted-base log-base monad-control tasty @@ -112770,6 +120721,7 @@ self: { description = "Extra utilities for hpqtypes library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hprotoc" = callPackage @@ -112797,6 +120749,8 @@ self: { executableToolDepends = [ alex ]; description = "Parse Google Protocol Buffer specifications"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hprotoc-fork" = callPackage @@ -112826,6 +120780,30 @@ self: { description = "Parse Google Protocol Buffer specifications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hprox" = callPackage + ({ mkDerivation, async, base, base64-bytestring, binary, bytestring + , case-insensitive, conduit, conduit-extra, http-client + , http-reverse-proxy, http-types, optparse-applicative, tls, unix + , wai, wai-extra, warp, warp-tls + }: + mkDerivation { + pname = "hprox"; + version = "0.1.0.2"; + sha256 = "0ajyv9zmi6nr8add7admfxavd691g3rvyy8ll6gra6hhpn0lwp0m"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + async base base64-bytestring binary bytestring case-insensitive + conduit conduit-extra http-client http-reverse-proxy http-types + optparse-applicative tls unix wai wai-extra warp warp-tls + ]; + description = "a lightweight HTTP proxy server, and more"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hps" = callPackage @@ -112839,6 +120817,7 @@ self: { description = "Haskell Postscript"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hps-cairo" = callPackage @@ -112855,6 +120834,7 @@ self: { description = "Cairo rendering for the haskell postscript library"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hps-kmeans" = callPackage @@ -112867,6 +120847,7 @@ self: { description = "A nice implementation of the k-Means algorithm"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpuz" = callPackage @@ -112896,6 +120877,7 @@ self: { description = "Highlight source code using Pygments"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpylos" = callPackage @@ -112912,6 +120894,7 @@ self: { description = "AI of Pylos game with GLUT interface"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpyrg" = callPackage @@ -112928,6 +120911,7 @@ self: { description = "pyrg utility done right"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hpython" = callPackage @@ -112939,8 +120923,8 @@ self: { }: mkDerivation { pname = "hpython"; - version = "0.2"; - sha256 = "1c9ryyfm3cdhl3n5vqhzsxi31jl0vg5qaq1n8li1cy843bjgl63a"; + version = "0.3"; + sha256 = "1vbjvx87n4d6fhvgz6hbbpyfh2276d3dlq0v39jq85qsb1274ip2"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -112958,6 +120942,7 @@ self: { description = "Python language tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hquantlib" = callPackage @@ -112988,6 +120973,7 @@ self: { description = "HQuantLib is a port of essencial parts of QuantLib to Haskell"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hquantlib-time" = callPackage @@ -113030,6 +121016,7 @@ self: { description = "Basic utility for ranking a list of items"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hreader" = callPackage @@ -113066,6 +121053,18 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "hrfsize" = callPackage + ({ mkDerivation, base, process, tasty, tasty-hunit }: + mkDerivation { + pname = "hrfsize"; + version = "0.0.2"; + sha256 = "1vffw7r3lx80ny2v19ykfj76xswqpsijp1mri4kmd4jnlv5z2nin"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base process tasty tasty-hunit ]; + description = "File size in human readable format"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "hricket" = callPackage ({ mkDerivation, base, containers }: mkDerivation { @@ -113078,6 +121077,7 @@ self: { description = "A Cricket scoring application"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hriemann" = callPackage @@ -113104,6 +121104,7 @@ self: { description = "A Riemann Client for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hruby" = callPackage @@ -113113,8 +121114,8 @@ self: { }: mkDerivation { pname = "hruby"; - version = "0.3.6"; - sha256 = "068mvb6bf583bldx07whc3cc0s3xbjlibi55r0ajjq9v4kxv98yx"; + version = "0.3.8"; + sha256 = "0x72gh0lzwrr10w7lply72yqz5q0hxq39virhm2sqqsmy9r305k8"; setupHaskellDepends = [ base Cabal process ]; libraryHaskellDepends = [ aeson attoparsec base bytestring scientific stm text @@ -113171,6 +121172,7 @@ self: { description = "A cryptohash-inspired library for blake2"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libb2;}; "hs-brotli" = callPackage @@ -113193,8 +121195,8 @@ self: { license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; broken = true; - }) {brotli = null; brotlidec = null; brotlienc = null; - libbrotlidec = null; libbrotlienc = null;}; + }) {brotlidec = null; brotlienc = null; libbrotlidec = null; + libbrotlienc = null;}; "hs-captcha" = callPackage ({ mkDerivation, base, bytestring, gd, random }: @@ -113235,6 +121237,7 @@ self: { description = "Example Monte Carlo simulations implemented with Carbon"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-cdb" = callPackage @@ -113251,6 +121254,7 @@ self: { description = "A library for reading CDB (Constant Database) files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-conllu" = callPackage @@ -113272,6 +121276,7 @@ self: { description = "Conllu validating parser and utils"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-di" = callPackage @@ -113302,6 +121307,7 @@ self: { description = "Dependency Injection library for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-dotnet" = callPackage @@ -113315,23 +121321,26 @@ self: { description = "Pragmatic .NET interop for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {ole32 = null; oleaut32 = null;}; "hs-duktape" = callPackage - ({ mkDerivation, aeson, aeson-qq, base, bytestring, hspec - , hspec-expectations-pretty-diff, raw-strings-qq, template-haskell - , text, transformers, unordered-containers, vector + ({ mkDerivation, aeson, aeson-qq, base, bytestring, Cabal + , directory, hspec, hspec-expectations-pretty-diff, process + , raw-strings-qq, template-haskell, text, time, transformers + , unordered-containers, vector }: mkDerivation { pname = "hs-duktape"; - version = "0.1.5"; - sha256 = "1x430rj39j33v98dbn0nz7ic0a8zgpsdqyib7p868k21lzwa2vki"; + version = "1.0.0"; + sha256 = "1bbxp7285vw39jbqpl80jqg46vwycva5fzn4prk3a2fs419xdxzm"; + setupHaskellDepends = [ base Cabal directory process ]; libraryHaskellDepends = [ aeson base bytestring text transformers unordered-containers vector ]; testHaskellDepends = [ aeson aeson-qq base bytestring hspec hspec-expectations-pretty-diff - raw-strings-qq template-haskell text + raw-strings-qq template-haskell text time ]; description = "Haskell bindings for a very compact embedded ECMAScript (JavaScript) engine"; license = stdenv.lib.licenses.mit; @@ -113351,6 +121360,7 @@ self: { description = "HS-Excelx provides basic read-only access to Excel 2007 and 2010 documents in XLSX format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-ffmpeg" = callPackage @@ -113363,6 +121373,7 @@ self: { description = "Bindings to FFMPEG library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-fltk" = callPackage @@ -113377,14 +121388,15 @@ self: { description = "Binding to GUI library FLTK"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) fltk; fltk_images = null;}; "hs-functors" = callPackage ({ mkDerivation, base, transformers }: mkDerivation { pname = "hs-functors"; - version = "0.1.3.0"; - sha256 = "1j7g5s82f8c1j4hans28m63bwi612j8kfrb7n9cdqqzlc1r804ik"; + version = "0.1.4.0"; + sha256 = "0crih1v1zg0w1m4xcsz1v00j4x2w82fdd17bkhiqa1d56kx3d1af"; libraryHaskellDepends = [ base transformers ]; description = "Functors from products of Haskell and its dual to Haskell"; license = stdenv.lib.licenses.bsd3; @@ -113401,6 +121413,7 @@ self: { description = "Haskell wrapper for the Google Chart API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-gen-iface" = callPackage @@ -113420,6 +121433,7 @@ self: { description = "Utility to generate haskell-names interface files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-gizapp" = callPackage @@ -113436,6 +121450,7 @@ self: { description = "Haskell wrapper around the GIZA++ toolkit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-inspector" = callPackage @@ -113468,6 +121483,7 @@ self: { description = "Java .class files assembler/disassembler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-json-rpc" = callPackage @@ -113482,6 +121498,7 @@ self: { description = "JSON-RPC client library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-logo" = callPackage @@ -113509,6 +121526,7 @@ self: { description = "Logo interpreter written in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-mesos" = callPackage @@ -113534,6 +121552,7 @@ self: { ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) mesos; inherit (pkgs) protobuf;}; "hs-multiaddr" = callPackage @@ -113568,6 +121587,7 @@ self: { description = "Name generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-pgms" = callPackage @@ -113588,6 +121608,7 @@ self: { description = "Programmer's Mine Sweeper in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-php-session" = callPackage @@ -113613,6 +121634,7 @@ self: { description = "Create pkg-config configuration files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-pkpass" = callPackage @@ -113634,6 +121656,7 @@ self: { description = "A library for Passbook pass creation & signing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-popen" = callPackage @@ -113650,6 +121673,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "hs-profunctors" = callPackage + ({ mkDerivation, base, hs-functors }: + mkDerivation { + pname = "hs-profunctors"; + version = "0.1.0.0"; + sha256 = "09iylf1xjxsikjyaib9902na33bkfs8nv3wasyvikg4g82xqay5y"; + libraryHaskellDepends = [ base hs-functors ]; + description = "Profunctors from Haskell to Haskell"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "hs-re" = callPackage ({ mkDerivation, array, base, regex-base, regex-posix }: mkDerivation { @@ -113660,6 +121694,23 @@ self: { description = "Easy to use Regex"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hs-rqlite" = callPackage + ({ mkDerivation, aeson, base, bifunctors, bytestring, containers + , HTTP, scientific, text, unordered-containers + }: + mkDerivation { + pname = "hs-rqlite"; + version = "0.1.2.0"; + sha256 = "1xfsbpfcy0s340jzdkl0bnx7isgx8dxhxvfdkrr9fpsga4s0l9bd"; + libraryHaskellDepends = [ + aeson base bifunctors bytestring containers HTTP scientific text + unordered-containers + ]; + description = "A Haskell client for RQlite"; + license = stdenv.lib.licenses.bsd3; }) {}; "hs-rs-notify" = callPackage @@ -113681,6 +121732,7 @@ self: { description = "Experimental! Wraps this awesome rust library so you can use it in haskell. https://docs.rs/crate/notify"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {notifier = null;}; "hs-scrape" = callPackage @@ -113702,6 +121754,7 @@ self: { description = "Simple and easy web scraping and automation in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-server-starter" = callPackage @@ -113709,15 +121762,14 @@ self: { }: mkDerivation { pname = "hs-server-starter"; - version = "0.1.0.1"; - sha256 = "03rqiq40r8vh1kp8fbpj77q1p71h1jh53awsc9v1l28z3680h4kf"; + version = "0.1.0.2"; + sha256 = "1fykxrhh6s2w722jknz87in3ni3a9spjhbbrqm1vw5r5mcsv29gh"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base directory network ]; testHaskellDepends = [ base HUnit network temporary unix ]; description = "Write a server supporting Server::Starter's protocol in Haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hs-snowtify" = callPackage @@ -113735,6 +121787,7 @@ self: { description = "snowtify send your result of `stack build` (`stack test`) to notify-daemon :dog2:"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-twitter" = callPackage @@ -113745,12 +121798,15 @@ self: { pname = "hs-twitter"; version = "0.2.8"; sha256 = "1r8bd5q7d5mxmd6012mpp1yx353wzib174xd9v0mvkbb009b4mph"; + revision = "1"; + editedCabalFile = "05cd5qcmjgaddi4999lr20i0qkdc5c8i3b1hxfl3kbvl6309fm70"; libraryHaskellDepends = [ base HTTP json mime network old-locale old-time random utf8-string ]; description = "Haskell binding to the Twitter API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-twitterarchiver" = callPackage @@ -113766,6 +121822,7 @@ self: { description = "Commandline Twitter feed archiver"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-vcard" = callPackage @@ -113778,6 +121835,7 @@ self: { description = "Implements the RFC 2426 vCard 3.0 spec"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs-watchman" = callPackage @@ -113798,6 +121856,27 @@ self: { description = "Client library for Facebook's Watchman tool"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hs-zstd" = callPackage + ({ mkDerivation, base, bytestring, criterion, deepseq, ghc-prim + , QuickCheck, test-framework, test-framework-quickcheck2, zlib + }: + mkDerivation { + pname = "hs-zstd"; + version = "0.1.1.1"; + sha256 = "1510r677j4vf9yrih3mimjrw31vgwcnw3wli41cddvghinm9paih"; + libraryHaskellDepends = [ base bytestring deepseq ghc-prim ]; + testHaskellDepends = [ + base bytestring QuickCheck test-framework + test-framework-quickcheck2 + ]; + benchmarkHaskellDepends = [ + base bytestring criterion ghc-prim zlib + ]; + description = "Haskell bindings to the Zstandard compression algorithm"; + license = stdenv.lib.licenses.bsd3; }) {}; "hs2048" = callPackage @@ -113866,6 +121945,7 @@ self: { description = "Haskell to Brainfuck compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hs2dot" = callPackage @@ -113909,6 +121989,7 @@ self: { description = "I2C access for Haskell and Linux"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsPID" = callPackage @@ -113938,6 +122019,7 @@ self: { description = "Sqlite3 bindings"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsXenCtrl" = callPackage @@ -113951,6 +122033,7 @@ self: { description = "FFI bindings to the Xen Control library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {xenctrl = null;}; "hsakamai" = callPackage @@ -113961,8 +122044,8 @@ self: { }: mkDerivation { pname = "hsakamai"; - version = "0.1.0.0"; - sha256 = "1wg0jw7m0hvvv6b5xz0y012kgnx4zxfms53gvryw0zk6ll841h3i"; + version = "0.1.0.1"; + sha256 = "1a4qz14b5z72nvvcnrymlqw6nwfxyl0y76lr3a93qqwi5zkah94s"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -113996,6 +122079,8 @@ self: { pname = "hsaml2"; version = "0.1"; sha256 = "0mpw13cicx16zhsk7km2qsndah9cdmyylz4r5ank5cxj0rzmkjck"; + revision = "1"; + editedCabalFile = "0xvyzq2y94za0ggrlcxvpz4g29jxdcjp3ga8f77hr0f4hfz4z10l"; libraryHaskellDepends = [ asn1-encoding asn1-types base base64-bytestring bytestring cryptonite data-default http-types hxt hxt-charproperties @@ -114009,6 +122094,7 @@ self: { description = "OASIS Security Assertion Markup Language (SAML) V2.0"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libxml2;}; "hsass" = callPackage @@ -114046,6 +122132,7 @@ self: { description = "(ab)Use Google Translate as a speech synthesiser"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsb2hs" = callPackage @@ -114082,6 +122169,7 @@ self: { description = "simple utility for rolling filesystem backups"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsbc" = callPackage @@ -114096,6 +122184,7 @@ self: { description = "A command line calculator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsbencher" = callPackage @@ -114119,6 +122208,7 @@ self: { description = "Launch and gather data from Haskell and non-Haskell benchmarks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsbencher-codespeed" = callPackage @@ -114138,6 +122228,7 @@ self: { description = "Backend for uploading benchmark data to CodeSpeed"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsbencher-fusion" = callPackage @@ -114162,6 +122253,7 @@ self: { description = "Backend for uploading benchmark data to Google Fusion Tables"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc2hs" = callPackage @@ -114172,8 +122264,8 @@ self: { pname = "hsc2hs"; version = "0.68.4"; sha256 = "07qzyr1j76gxrrsds65vivm5cx33paxpifvxdlmkxprrm3s4z7z6"; - revision = "1"; - editedCabalFile = "1wab9n4wy3bffxly0b0v1ppzf6sfn6aqc8pi1r8jnwb4rzy94c3i"; + revision = "2"; + editedCabalFile = "178jimc9qwrjmiiz8f0kk7gv2jaf51vv1n40rp42ggmi8mvf0m4v"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -114183,6 +122275,29 @@ self: { testHaskellDepends = [ base tasty tasty-hspec ]; description = "A preprocessor that helps with writing Haskell bindings to C code"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hsc2hs_0_68_6" = callPackage + ({ mkDerivation, base, containers, directory, filepath, process + , tasty, tasty-hspec + }: + mkDerivation { + pname = "hsc2hs"; + version = "0.68.6"; + sha256 = "1clj6bgs9vmiv3mjzp82lvyyik5zr5411nxab7hydbrgq94pbk70"; + isLibrary = false; + isExecutable = true; + enableSeparateDataOutput = true; + executableHaskellDepends = [ + base containers directory filepath process + ]; + testHaskellDepends = [ base tasty tasty-hspec ]; + description = "A preprocessor that helps with writing Haskell bindings to C code"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3" = callPackage @@ -114218,6 +122333,7 @@ self: { description = "Haskell SuperCollider Auditor"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-cairo" = callPackage @@ -114231,6 +122347,7 @@ self: { description = "haskell supercollider cairo drawing"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-data" = callPackage @@ -114249,6 +122366,7 @@ self: { description = "haskell supercollider data"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-db" = callPackage @@ -114262,6 +122380,7 @@ self: { description = "Haskell SuperCollider Unit Generator Database"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-dot" = callPackage @@ -114275,6 +122394,7 @@ self: { description = "haskell supercollider graph drawing"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-forth" = callPackage @@ -114295,6 +122415,7 @@ self: { description = "FORTH SUPERCOLLIDER"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-graphs" = callPackage @@ -114320,6 +122441,7 @@ self: { description = "Haskell SuperCollider Graphs"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-lang" = callPackage @@ -114341,6 +122463,7 @@ self: { description = "Haskell SuperCollider Language"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-lisp" = callPackage @@ -114361,6 +122484,7 @@ self: { description = "LISP SUPERCOLLIDER"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-plot" = callPackage @@ -114379,6 +122503,7 @@ self: { description = "Haskell SuperCollider Plotting"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-process" = callPackage @@ -114399,6 +122524,7 @@ self: { description = "Create and control scsynth processes"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-rec" = callPackage @@ -114412,6 +122538,7 @@ self: { description = "Haskell SuperCollider Record Variants"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-rw" = callPackage @@ -114430,6 +122557,7 @@ self: { description = "hsc3 re-writing"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-server" = callPackage @@ -114457,6 +122585,7 @@ self: { description = "SuperCollider server resource management and synchronization"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-sf" = callPackage @@ -114470,6 +122599,7 @@ self: { description = "Haskell SuperCollider SoundFile"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-sf-hsndfile" = callPackage @@ -114487,6 +122617,7 @@ self: { description = "Haskell SuperCollider SoundFile"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-unsafe" = callPackage @@ -114500,6 +122631,7 @@ self: { description = "Unsafe Haskell SuperCollider"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsc3-utils" = callPackage @@ -114522,6 +122654,7 @@ self: { description = "Haskell SuperCollider Utilities"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hscaffold" = callPackage @@ -114549,6 +122682,7 @@ self: { description = "Very simple file/directory structure scaffolding writer monad EDSL"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hscamwire" = callPackage @@ -114564,6 +122698,7 @@ self: { description = "Haskell bindings to IIDC1394 cameras, via Camwire"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {camwire_1394 = null; dc1394_control = null; raw1394 = null;}; "hscassandra" = callPackage @@ -114581,6 +122716,7 @@ self: { description = "cassandra database interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hscd" = callPackage @@ -114596,6 +122732,7 @@ self: { description = "Command line client and library for SoundCloud.com"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hscharm" = callPackage @@ -114705,6 +122842,7 @@ self: { description = "An elegant analog clock using Haskell, GTK and Cairo"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hscolour" = callPackage @@ -114743,6 +122881,7 @@ self: { description = "cscope like browser for Haskell code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hscrtmpl" = callPackage @@ -114778,6 +122917,7 @@ self: { description = "Collision-resistant IDs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hscurses" = callPackage @@ -114851,9 +122991,10 @@ self: { description = "Haskell development library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "hsdev_0_3_3_0" = callPackage + "hsdev_0_3_3_4" = callPackage ({ mkDerivation, aeson, aeson-pretty, array, async, attoparsec , base, bytestring, Cabal, containers, cpphs, data-default, deepseq , direct-sqlite, directory, exceptions, filepath, fsnotify, ghc @@ -114867,8 +123008,8 @@ self: { }: mkDerivation { pname = "hsdev"; - version = "0.3.3.0"; - sha256 = "17pylby88xmr8hibhpiyygzdnjwznh1zss4969z6w2dk2489lkrz"; + version = "0.3.3.4"; + sha256 = "1hj2krdq4ybs1vcy9gw6p56sznzi7wrhkaaya4560kjyijvvfdml"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -114894,6 +123035,7 @@ self: { description = "Haskell development library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsdif" = callPackage @@ -114907,6 +123049,7 @@ self: { description = "Haskell SDIF"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsdip" = callPackage @@ -114922,38 +123065,23 @@ self: { description = "hsdip - a Diplomacy parser/renderer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsdns" = callPackage - ({ mkDerivation, adns, base, containers, network }: - mkDerivation { - pname = "hsdns"; - version = "1.7.1"; - sha256 = "0i50p31zxsrkx9hv3mqcl2042lf922b1fsswmd99d66ybkl01kag"; - revision = "1"; - editedCabalFile = "0w4hrmj7ph5dgarl82xpa0g77ncjdqk0wc9wp771pry98xxihzl8"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base containers network ]; - librarySystemDepends = [ adns ]; - description = "Asynchronous DNS Resolver"; - license = stdenv.lib.licenses.lgpl3; - maintainers = with stdenv.lib.maintainers; [ peti ]; - }) {inherit (pkgs) adns;}; - - "hsdns_1_8" = callPackage ({ mkDerivation, adns, base, containers, network }: mkDerivation { pname = "hsdns"; version = "1.8"; sha256 = "0jxnfgzsshhaf3n8ywhxy84l6ldhz5cdwaayr61v26iqgm3c3qk0"; + revision = "1"; + editedCabalFile = "09ixj0xywmbigfhqmq58dwqns8l3w6wprykafg52fx69bvhg9yph"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base containers network ]; librarySystemDepends = [ adns ]; description = "Asynchronous DNS Resolver"; license = stdenv.lib.licenses.lgpl3; - hydraPlatforms = stdenv.lib.platforms.none; maintainers = with stdenv.lib.maintainers; [ peti ]; }) {inherit (pkgs) adns;}; @@ -114971,6 +123099,7 @@ self: { description = "Caching asynchronous DNS resolver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hse-cpp" = callPackage @@ -115001,14 +123130,14 @@ self: { }) {}; "hsemail" = callPackage - ({ mkDerivation, base, doctest, hspec, mtl, old-time, parsec }: + ({ mkDerivation, base, hspec, parsec, time, time-compat }: mkDerivation { pname = "hsemail"; - version = "2"; - sha256 = "1nd8pzsdan6zxddm96xswcm67g43zkbj1rm3m3wx3as4jj3qmw7m"; - libraryHaskellDepends = [ base mtl old-time parsec ]; - testHaskellDepends = [ base doctest hspec mtl old-time parsec ]; - description = "Parsec parsers for the RFC2822 Internet Message format"; + version = "2.2.0"; + sha256 = "0078n2snnrgsnl6az7c6jpmgyfsls4k1zr09f7ny7kn6g33g5z84"; + libraryHaskellDepends = [ base parsec time time-compat ]; + testHaskellDepends = [ base hspec parsec time ]; + description = "Parsec parsers for the Internet Message format (e-mail)"; license = stdenv.lib.licenses.bsd3; maintainers = with stdenv.lib.maintainers; [ peti ]; }) {}; @@ -115044,6 +123173,7 @@ self: { description = "Virtual Haskell Environment builder"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hserv" = callPackage @@ -115101,6 +123231,7 @@ self: { description = "A small and ugly library that emulates the output of the puppet facter program"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsfcsh" = callPackage @@ -115117,6 +123248,7 @@ self: { description = "Incremental builder for flash"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsfilt" = callPackage @@ -115131,6 +123263,30 @@ self: { description = "Z-decoder"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hsforce" = callPackage + ({ mkDerivation, aeson, base, bytestring, fast-tagsoup, HaXml + , http-conduit, network-uri, regex-posix, tagsoup, template-haskell + , text, unordered-containers, uri-encode + }: + mkDerivation { + pname = "hsforce"; + version = "0.1.0.1"; + sha256 = "1n4zg3g0287j7z7vmmafv4gjwjl6f5dljl5gbhm9kr0ailsr1dr3"; + libraryHaskellDepends = [ + aeson base bytestring fast-tagsoup HaXml http-conduit network-uri + regex-posix tagsoup template-haskell text unordered-containers + uri-encode + ]; + testHaskellDepends = [ + aeson base bytestring fast-tagsoup HaXml http-conduit network-uri + regex-posix tagsoup template-haskell text unordered-containers + uri-encode + ]; + description = "Salesforce API Client"; + license = stdenv.lib.licenses.bsd3; }) {}; "hsgnutls" = callPackage @@ -115144,6 +123300,7 @@ self: { description = "Library wrapping the GnuTLS API"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {gcrypt = null; inherit (pkgs) gnutls;}; "hsgnutls-yj" = callPackage @@ -115157,6 +123314,7 @@ self: { description = "Library wrapping the GnuTLS API"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {gcrypt = null; inherit (pkgs) gnutls;}; "hsgsom" = callPackage @@ -115170,6 +123328,7 @@ self: { description = "An implementation of the GSOM clustering algorithm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsgtd" = callPackage @@ -115218,6 +123377,7 @@ self: { description = "Signal processing and EEG data analysis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) blas; inherit (pkgs) gsl; inherit (pkgs) liblapack;}; @@ -115244,8 +123404,8 @@ self: { }: mkDerivation { pname = "hsimport"; - version = "0.8.8"; - sha256 = "0q6348iz4w8zfdrzv98vydw5rdxlhqapdqhxrnhd6dqlcjq3rf1j"; + version = "0.10.0"; + sha256 = "0l98yylpmpnlq6ahicpz86p4khg02yjjcg19nyf9rgml3qdw6829"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -115256,9 +123416,11 @@ self: { testHaskellDepends = [ base filepath haskell-src-exts tasty tasty-golden ]; - description = "A command line program for extending the import list of a Haskell source file"; + doHaddock = false; + description = "Extend the import list of a Haskell source file"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsini" = callPackage @@ -115269,6 +123431,8 @@ self: { pname = "hsini"; version = "0.5.1.2"; sha256 = "1r6qksnrmk18ndxs5zaga8b7kvmk34kp0kh5hwqmq797qrlax9pa"; + revision = "1"; + editedCabalFile = "0wkvajjgs64l4wlw8s6sn3pbwx3ni41p1260chp67a16innr1qp6"; libraryHaskellDepends = [ base bytestring containers mtl parsec ]; testHaskellDepends = [ base bytestring containers mtl parsec tasty tasty-hunit @@ -115278,6 +123442,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "hsinspect" = callPackage + ({ mkDerivation, base, directory, ghc, ghc-boot, ghc-paths, time }: + mkDerivation { + pname = "hsinspect"; + version = "0.0.3"; + sha256 = "11jn8knnh859wvzfqljkhlsaqsrm20m4ryf3ncg7rhs6jcm3vknr"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base directory ghc ghc-boot time ]; + executableHaskellDepends = [ + base directory ghc ghc-boot ghc-paths time + ]; + description = "Inspect Haskell source files"; + license = stdenv.lib.licenses.gpl3Plus; + }) {}; + "hsinstall" = callPackage ({ mkDerivation, base, Cabal, directory, filepath, heredoc, process , safe-exceptions @@ -115306,6 +123486,7 @@ self: { description = "Skeleton for new Haskell programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hslackbuilder" = callPackage @@ -115322,6 +123503,7 @@ self: { description = "HSlackBuilder automatically generates slackBuild scripts from a cabal package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hslibsvm" = callPackage @@ -115336,6 +123518,7 @@ self: { description = "A FFI binding to libsvm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {svm = null;}; "hslinks" = callPackage @@ -115353,6 +123536,7 @@ self: { description = "Resolves links to Haskell identifiers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hslogger" = callPackage @@ -115372,6 +123556,23 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "hslogger_1_3_0_0" = callPackage + ({ mkDerivation, base, bytestring, containers, HUnit, network + , network-bsd, old-locale, time, unix + }: + mkDerivation { + pname = "hslogger"; + version = "1.3.0.0"; + sha256 = "1gnnqyd5hr59agqjcbim3kys5zarwsj7b1kfdbhy5qmjjwnpyzs8"; + libraryHaskellDepends = [ + base bytestring containers network network-bsd old-locale time unix + ]; + testHaskellDepends = [ base HUnit ]; + description = "Versatile logging framework"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "hslogger-reader" = callPackage ({ mkDerivation, attoparsec, base, hslogger, optparse-applicative , text, text-icu, time @@ -115389,6 +123590,7 @@ self: { description = "Parsing hslogger-produced logs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hslogger-template" = callPackage @@ -115439,6 +123641,7 @@ self: { description = "A library to work with, or as, a logstash server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hslua" = callPackage @@ -115448,8 +123651,8 @@ self: { }: mkDerivation { pname = "hslua"; - version = "1.0.2"; - sha256 = "0w2gcp66ny3crxip0gn86abz8psz2z14nx2z2wna0s8p0n8v5agx"; + version = "1.0.3.2"; + sha256 = "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"; configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ]; libraryHaskellDepends = [ base bytestring containers exceptions fail mtl text @@ -115473,6 +123676,8 @@ self: { pname = "hslua-aeson"; version = "1.0.0"; sha256 = "0wvcf0adv2b5fn7mvi8p6ydzsyzbn43qyk1kjvvi9achrgvc59zz"; + revision = "1"; + editedCabalFile = "1ysgh5s99zv0khkwqw1kcli2r2vi77r7wz3yc0y0i7qr35shzklh"; libraryHaskellDepends = [ aeson base hashable hslua scientific text unordered-containers vector @@ -115485,13 +123690,29 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "hslua-module-system" = callPackage + ({ mkDerivation, base, containers, directory, exceptions, hslua + , tasty, tasty-hunit, temporary, text + }: + mkDerivation { + pname = "hslua-module-system"; + version = "0.2.1"; + sha256 = "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"; + libraryHaskellDepends = [ + base containers directory exceptions hslua temporary + ]; + testHaskellDepends = [ base hslua tasty tasty-hunit text ]; + description = "Lua module wrapper around Haskell's System module"; + license = stdenv.lib.licenses.mit; + }) {}; + "hslua-module-text" = callPackage ({ mkDerivation, base, bytestring, hslua, tasty, tasty-hunit, text }: mkDerivation { pname = "hslua-module-text"; - version = "0.2.0"; - sha256 = "0zlgin87cck5ccw82jf0bfjcrpdnqlylh4sfqifbdjgspswha5vi"; + version = "0.2.1"; + sha256 = "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"; libraryHaskellDepends = [ base bytestring hslua text ]; testHaskellDepends = [ base hslua tasty tasty-hunit text ]; description = "Lua module for text"; @@ -115509,6 +123730,7 @@ self: { description = "HSLuv conversion utility"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsmagick" = callPackage @@ -115533,6 +123755,7 @@ self: { description = "FFI bindings for the GraphicsMagick library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {GraphicsMagick = null; inherit (pkgs) bzip2; freetype2 = null; inherit (pkgs) jasper; inherit (pkgs) lcms; inherit (pkgs) libjpeg; inherit (pkgs) libpng; @@ -115571,6 +123794,7 @@ self: { description = "Tool for generating .dir-locals.el for intero"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsmtpclient" = callPackage @@ -115583,6 +123807,7 @@ self: { description = "Simple SMTP Client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsndfile" = callPackage @@ -115640,6 +123865,7 @@ self: { description = "Nock 5K interpreter"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsnoise" = callPackage @@ -115665,6 +123891,7 @@ self: { description = "a miniature network sniffer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsnsq" = callPackage @@ -115684,6 +123911,7 @@ self: { description = "Haskell NSQ client"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsntp" = callPackage @@ -115701,6 +123929,7 @@ self: { description = "Libraries to use SNTP protocol and small client/server implementations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsoptions" = callPackage @@ -115726,6 +123955,7 @@ self: { description = "Haskell library that supports command-line flag processing"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsoz" = callPackage @@ -115765,6 +123995,7 @@ self: { description = "Iron, Hawk, Oz: Web auth protocols"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsp" = callPackage @@ -115788,6 +124019,7 @@ self: { description = "Facilitates running Haskell Server Pages web pages as CGI programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsparklines" = callPackage @@ -115821,6 +124053,7 @@ self: { description = "A SPARQL query generator and DSL, and a client to query a SPARQL server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspear" = callPackage @@ -115837,6 +124070,7 @@ self: { description = "Haskell Spear Parser"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspec" = callPackage @@ -115845,8 +124079,8 @@ self: { }: mkDerivation { pname = "hspec"; - version = "2.6.1"; - sha256 = "1jkfqhdymr62rzqmlmc22mpla23p67rnls3v3zs30ggxbgs4dxlb"; + version = "2.7.1"; + sha256 = "1x8rcr7j1azcaw0fg1xzp8j0gr4ias36z09aj24i4xp8pnyfp341"; libraryHaskellDepends = [ base hspec-core hspec-discover hspec-expectations QuickCheck ]; @@ -115854,22 +124088,6 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "hspec_2_7_0" = callPackage - ({ mkDerivation, base, hspec-core, hspec-discover - , hspec-expectations, QuickCheck - }: - mkDerivation { - pname = "hspec"; - version = "2.7.0"; - sha256 = "1qbikvd91cimbn439zwsdcrz0hsl7n2w4cl0vlcw8kbf94nm6z7z"; - libraryHaskellDepends = [ - base hspec-core hspec-discover hspec-expectations QuickCheck - ]; - description = "A Testing Framework for Haskell"; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "hspec-attoparsec" = callPackage ({ mkDerivation, attoparsec, base, bytestring, hspec , hspec-expectations, text @@ -115922,8 +124140,8 @@ self: { }: mkDerivation { pname = "hspec-core"; - version = "2.6.1"; - sha256 = "0xg43kan7p6ahi5827qwcyiic6bq0bp8n0n8h3j4kh87qhdl4avv"; + version = "2.7.1"; + sha256 = "08vk8588lap00hsln8zl64dazbb28lzk4b4h5vnm7xvhg7r21k1c"; libraryHaskellDepends = [ ansi-terminal array base call-stack clock deepseq directory filepath hspec-expectations HUnit QuickCheck quickcheck-io random @@ -115941,34 +124159,6 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "hspec-core_2_7_0" = callPackage - ({ mkDerivation, ansi-terminal, array, base, call-stack, clock - , deepseq, directory, filepath, hspec-expectations, hspec-meta - , HUnit, process, QuickCheck, quickcheck-io, random, setenv - , silently, stm, temporary, tf-random, transformers - }: - mkDerivation { - pname = "hspec-core"; - version = "2.7.0"; - sha256 = "1y4j0ivngz7jrff1riyy2iirnb5kc9p4cr619wdrsrvrm3blgzrz"; - libraryHaskellDepends = [ - ansi-terminal array base call-stack clock deepseq directory - filepath hspec-expectations HUnit QuickCheck quickcheck-io random - setenv stm tf-random transformers - ]; - testHaskellDepends = [ - ansi-terminal array base call-stack clock deepseq directory - filepath hspec-expectations hspec-meta HUnit process QuickCheck - quickcheck-io random setenv silently stm temporary tf-random - transformers - ]; - testToolDepends = [ hspec-meta ]; - testTarget = "--test-option=--skip --test-option='Test.Hspec.Core.Runner.hspecResult runs specs in parallel'"; - description = "A Testing Framework for Haskell"; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "hspec-dirstream" = callPackage ({ mkDerivation, base, dirstream, filepath, hspec, hspec-core , pipes, pipes-safe, system-filepath, text @@ -115992,8 +124182,8 @@ self: { }: mkDerivation { pname = "hspec-discover"; - version = "2.6.1"; - sha256 = "189gj8drfzdf3j3xm8gbj9hjc1ha95ajhi47s9r440yjhyarlmlx"; + version = "2.7.1"; + sha256 = "0r47fm94wa6qrhp8cc1zzkjrxc32rnagfn9m9ga4dm6p6ydw4c8b"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base directory filepath ]; @@ -116006,26 +124196,6 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "hspec-discover_2_7_0" = callPackage - ({ mkDerivation, base, directory, filepath, hspec-meta, QuickCheck - }: - mkDerivation { - pname = "hspec-discover"; - version = "2.7.0"; - sha256 = "1n3by0dn3x3kfy7vnyfdz0dr2wwwj82m0ijlm9s1n6aa976xddhw"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base directory filepath ]; - executableHaskellDepends = [ base directory filepath ]; - testHaskellDepends = [ - base directory filepath hspec-meta QuickCheck - ]; - testToolDepends = [ hspec-meta ]; - description = "Automatically discover and run Hspec tests"; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "hspec-expectations" = callPackage ({ mkDerivation, base, call-stack, HUnit, nanospec }: mkDerivation { @@ -116080,6 +124250,7 @@ self: { description = "An hspec expectation that asserts a value matches a pattern"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspec-expectations-pretty" = callPackage @@ -116096,6 +124267,7 @@ self: { description = "hspec-expectations with pretty printing on failure"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspec-expectations-pretty-diff" = callPackage @@ -116125,6 +124297,24 @@ self: { description = "An experimental DSL for testing on top of Hspec"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hspec-golden" = callPackage + ({ mkDerivation, base, directory, hspec, hspec-core, silently + , simple-get-opt + }: + mkDerivation { + pname = "hspec-golden"; + version = "0.1.0.0"; + sha256 = "191z6pxks4ic1b8lzyfd8f3kw3zwmywvj8psd17lb65z121grj46"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base directory hspec-core ]; + executableHaskellDepends = [ base directory simple-get-opt ]; + testHaskellDepends = [ base directory hspec hspec-core silently ]; + description = "Golden tests for hspec"; + license = stdenv.lib.licenses.mit; }) {}; "hspec-golden-aeson" = callPackage @@ -116175,6 +124365,7 @@ self: { description = "Hedgehog support for the Hspec testing framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspec-jenkins" = callPackage @@ -116187,6 +124378,7 @@ self: { description = "Jenkins-friendly XML formatter for Hspec"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspec-laws" = callPackage @@ -116220,10 +124412,8 @@ self: { }: mkDerivation { pname = "hspec-megaparsec"; - version = "2.0.0"; - sha256 = "0c4vb0c2y8yar0jjhh24wkkp1g7pbg2wc8h8nw3avfznbil6zyd8"; - revision = "1"; - editedCabalFile = "15hpf1v1d4dwzdvk7xhgj37yd37pcyj6yzw750k1fcj6j0hk4rb7"; + version = "2.0.1"; + sha256 = "0w8nn2rh01lkiwsiyqh3gviklhfmy0245rakj94dmliyljw8skfg"; libraryHaskellDepends = [ base containers hspec-expectations megaparsec ]; @@ -116274,6 +124464,7 @@ self: { description = "Orphan instances of MonadBase and MonadBaseControl for SpecM"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspec-multicheck" = callPackage @@ -116306,6 +124497,20 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "hspec-parsec" = callPackage + ({ mkDerivation, base, hspec, hspec-expectations, parsec }: + mkDerivation { + pname = "hspec-parsec"; + version = "0"; + sha256 = "1q5484dzc9vpbwv7bpx83xha9ly7lsbwn4zjd6z8z5j4p8r5mk6y"; + revision = "1"; + editedCabalFile = "03nsxwc5p6whq21dqwba0289g8fqqqws453kyanwgb6vvg1f0s9l"; + libraryHaskellDepends = [ base hspec-expectations parsec ]; + testHaskellDepends = [ base hspec parsec ]; + description = "Hspec expectations for testing Parsec parsers"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "hspec-pg-transact" = callPackage ({ mkDerivation, base, bytestring, hspec, pg-transact , postgresql-simple, resource-pool, text, tmp-postgres @@ -116321,6 +124526,7 @@ self: { description = "Helpers for creating database tests with hspec and pg-transact"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspec-server" = callPackage @@ -116369,6 +124575,7 @@ self: { description = "Add an hspec test-suite in one command"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspec-shouldbe" = callPackage @@ -116381,6 +124588,7 @@ self: { description = "Convenience wrapper and utilities for hspec"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspec-slow" = callPackage @@ -116421,8 +124629,8 @@ self: { }: mkDerivation { pname = "hspec-snap"; - version = "1.0.0.2"; - sha256 = "0d2mr14ksyjvzaprakfqb5pdrsdgxi8jlfa4a2bwd3yfsdmj8pp5"; + version = "1.0.1.0"; + sha256 = "0r7isf3vi8mc6h50s6n8cbmvbdmklk3v8d7wwb1ikzjl4izhimkn"; libraryHaskellDepends = [ aeson base bytestring containers digestive-functors HandsomeSoup hspec hspec-core HUnit hxt lens mtl snap snap-core text @@ -116436,6 +124644,7 @@ self: { description = "A library for testing with Hspec and the Snap Web Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspec-stack-rerun" = callPackage @@ -116458,6 +124667,7 @@ self: { libraryHaskellDepends = [ base hspec ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspec-test-framework" = callPackage @@ -116559,6 +124769,7 @@ self: { description = "Write end2end web application tests using webdriver and hspec"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspec2" = callPackage @@ -116567,12 +124778,13 @@ self: { pname = "hspec2"; version = "0.6.1"; sha256 = "0zlvm7r46q8yhgx2kx9mfrf6x2f5amdbi3a59fh69dsqs4lbgmf4"; - revision = "1"; - editedCabalFile = "0zqh0f7d89aw3ib7mx2wlkpc166f3zipgka4m54y2shcz3rbl7nl"; + revision = "2"; + editedCabalFile = "1q0pw1ggki7h839jicf2k0lllbm219qjcr3407hvcih9vfkbw03j"; libraryHaskellDepends = [ base hspec hspec-discover ]; description = "Alpha version of Hspec 2.0"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspecVariant" = callPackage @@ -116585,6 +124797,7 @@ self: { description = "Spec for testing properties for variant types"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspkcs11" = callPackage @@ -116604,6 +124817,7 @@ self: { description = "Wrapper for PKCS #11 interface"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspr-sh" = callPackage @@ -116631,6 +124845,7 @@ self: { description = "A client library for the spread toolkit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hspresent" = callPackage @@ -116646,6 +124861,7 @@ self: { description = "A terminal presentation tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsprocess" = callPackage @@ -116672,6 +124888,7 @@ self: { description = "The Haskell Stream Processor command line utility"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsql" = callPackage @@ -116684,6 +124901,7 @@ self: { description = "Database access from Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsql-mysql" = callPackage @@ -116699,6 +124917,7 @@ self: { description = "MySQL driver for HSQL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {mysqlclient = null;}; "hsql-odbc" = callPackage @@ -116712,6 +124931,7 @@ self: { description = "A Haskell Interface to ODBC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) unixODBC;}; "hsql-postgresql" = callPackage @@ -116725,6 +124945,7 @@ self: { description = "A Haskell Interface to PostgreSQL via the PQ library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) postgresql;}; "hsql-sqlite3" = callPackage @@ -116738,6 +124959,7 @@ self: { description = "SQLite3 driver for HSQL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) sqlite;}; "hsqml" = callPackage @@ -116760,6 +124982,7 @@ self: { description = "Haskell binding for Qt Quick"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {qt5 = null;}; "hsqml-datamodel" = callPackage @@ -116773,6 +124996,7 @@ self: { description = "HsQML (Qt5) data model"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {qt5 = null;}; "hsqml-datamodel-vinyl" = callPackage @@ -116789,6 +125013,7 @@ self: { description = "HsQML DataModel instances for Vinyl Rec"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsqml-demo-manic" = callPackage @@ -116806,6 +125031,7 @@ self: { description = "HsQML-based clone of Pipe Mania"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsqml-demo-morris" = callPackage @@ -116825,6 +125051,7 @@ self: { description = "HsQML-based implementation of Nine Men's Morris"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsqml-demo-notes" = callPackage @@ -116844,6 +125071,7 @@ self: { description = "Sticky notes example program implemented in HsQML"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsqml-demo-samples" = callPackage @@ -116859,6 +125087,7 @@ self: { description = "HsQML sample programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsqml-morris" = callPackage @@ -116878,6 +125107,7 @@ self: { description = "HsQML-based implementation of Nine Men's Morris"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsreadability" = callPackage @@ -116902,6 +125132,7 @@ self: { description = "Access to the Readability API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsrelp" = callPackage @@ -116930,6 +125161,7 @@ self: { description = "Haskell bindings to libseccomp"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {seccomp = null;}; "hssh" = callPackage @@ -116989,8 +125221,8 @@ self: { }: mkDerivation { pname = "hssqlppp"; - version = "0.6.1"; - sha256 = "06rqf8gkz2f1ay1vd3ba0nzv9n1098vxm9sc9ls4dk2ismab7cgz"; + version = "0.6.2"; + sha256 = "0lzy6laqxi6v6hlz9j2kvxm9rc4i89m9lnffymfkfwxlrgq7wg0s"; libraryHaskellDepends = [ base containers mtl parsec pretty pretty-show syb text transformers uniplate @@ -117001,7 +125233,6 @@ self: { ]; description = "SQL parser and type checker"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hssqlppp-th" = callPackage @@ -117010,8 +125241,8 @@ self: { }: mkDerivation { pname = "hssqlppp-th"; - version = "0.6.1"; - sha256 = "09mxb2pmnk43bvdl7f58r8wxaw3h372sy174p42k8pphlss9amkg"; + version = "0.6.2"; + sha256 = "1p17srzz09iikxn47yr7qmv5g6z7c5kc5svlszmxlhs5j0kgahb0"; libraryHaskellDepends = [ base hssqlppp syb template-haskell text ]; @@ -117020,7 +125251,6 @@ self: { ]; description = "hssqlppp extras which need template-haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hstatistics" = callPackage @@ -117039,6 +125269,7 @@ self: { description = "Statistics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hstats" = callPackage @@ -117051,6 +125282,7 @@ self: { description = "Statistical Computing in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hstatsd" = callPackage @@ -117080,6 +125312,7 @@ self: { description = "Runs tests via QuickCheck1 and HUnit; like quickCheck-script but uses GHC api"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hstidy" = callPackage @@ -117094,6 +125327,7 @@ self: { description = "Takes haskell source on stdin, parses it, then prettyprints it to stdout"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hstorchat" = callPackage @@ -117123,6 +125357,7 @@ self: { description = "Distributed instant messaging over Tor"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hstox" = callPackage @@ -117151,6 +125386,7 @@ self: { description = "A Tox protocol implementation in Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hstradeking" = callPackage @@ -117176,6 +125412,7 @@ self: { description = "Tradeking API bindings for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hstyle" = callPackage @@ -117194,6 +125431,7 @@ self: { description = "Checks Haskell source code for style compliance"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hstzaar" = callPackage @@ -117215,6 +125453,7 @@ self: { description = "A two player abstract strategy game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsubconvert" = callPackage @@ -117237,6 +125476,7 @@ self: { description = "One-time, faithful conversion of Subversion repositories to Git"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsudoku" = callPackage @@ -117266,6 +125506,7 @@ self: { description = "Sudoku game with a GTK3 interface"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsverilog" = callPackage @@ -117298,6 +125539,7 @@ self: { description = "embedding prolog in haskell"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) ncurses; inherit (pkgs) readline; swipl = null;}; @@ -117315,6 +125557,7 @@ self: { description = "HSX (Haskell Source with XML) allows literal XML syntax in Haskell source code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsx-jmacro" = callPackage @@ -117329,6 +125572,7 @@ self: { description = "hsp+jmacro support"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsx-xhtml" = callPackage @@ -117341,6 +125585,7 @@ self: { description = "XHTML utilities to use together with HSX"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsx2hs" = callPackage @@ -117359,6 +125604,8 @@ self: { ]; description = "HSX (Haskell Source with XML) allows literal XML syntax in Haskell source code"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsyscall" = callPackage @@ -117371,6 +125618,7 @@ self: { description = "FFI to syscalls"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsyslog" = callPackage @@ -117379,6 +125627,8 @@ self: { pname = "hsyslog"; version = "5.0.2"; sha256 = "1kkypn0dd92aqv8dr112bhkr9k9r9mchnyyvy41kvhj2zg447v1y"; + revision = "1"; + editedCabalFile = "0k1j46nk3z64zw4bqmvw5lgy16ih200m66rv4b6ygjqv7nglqq0b"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base ]; @@ -117401,6 +125651,7 @@ self: { description = "syslog over TCP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hsyslog-udp" = callPackage @@ -117418,6 +125669,7 @@ self: { description = "Log to syslog over a network via UDP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hszephyr" = callPackage @@ -117431,6 +125683,7 @@ self: { description = "Simple libzephyr bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {com_err = null; zephyr = null;}; "htaglib" = callPackage @@ -117481,6 +125734,7 @@ self: { description = "Command-line tar archive utility"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "htaut" = callPackage @@ -117494,6 +125748,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "htdp-image" = callPackage + ({ mkDerivation, AC-Angle, base, gloss, HUnit, test-framework + , test-framework-hunit + }: + mkDerivation { + pname = "htdp-image"; + version = "1.1.0.0"; + sha256 = "17123nqkg8yk0pssmshdza0ipc42rx818q9gidig1d1camiyrfl4"; + libraryHaskellDepends = [ AC-Angle base gloss ]; + testHaskellDepends = [ + base gloss HUnit test-framework test-framework-hunit + ]; + description = "Beginner friendly graphics library"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "htestu" = callPackage ({ mkDerivation, base, gcc, random }: mkDerivation { @@ -117508,6 +125778,7 @@ self: { description = "A library for testing correctness of pseudo random number generators in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) gcc;}; "htiled" = callPackage @@ -117525,6 +125796,7 @@ self: { description = "Import from the Tiled map editor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "htime" = callPackage @@ -117566,6 +125838,7 @@ self: { description = "Heterogenous Set"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "html" = callPackage @@ -117602,6 +125875,7 @@ self: { description = "Determine character encoding of HTML documents/fragments"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "html-conduit_1_2_1_2" = callPackage @@ -117668,14 +125942,13 @@ self: { }: mkDerivation { pname = "html-entities"; - version = "1.1.4.2"; - sha256 = "1ryfslp60s0d0ygmnxfgw9p8s7l2xq1i5kmj86g2ghdljf8hq6hn"; + version = "1.1.4.3"; + sha256 = "0mjmmnh3mfi0ccl5wi5b65afi66wj5xdvva13qw22naa31ibbsnf"; libraryHaskellDepends = [ attoparsec base base-prelude text unordered-containers ]; description = "A codec library for HTML-escaped text and HTML-entities"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "html-entity" = callPackage @@ -117724,6 +125997,7 @@ self: { description = "HTML rewrite engine, using KURE"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "html-minimalist" = callPackage @@ -117772,6 +126046,7 @@ self: { description = "Perform traversals of HTML structures using sets of rules"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "html-tokenizer" = callPackage @@ -117795,6 +126070,7 @@ self: { description = "An \"attoparsec\"-based HTML tokenizer"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "html-truncate" = callPackage @@ -117916,6 +126192,8 @@ self: { ]; description = "Parser for TOML files"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "htoml-megaparsec" = callPackage @@ -117940,6 +126218,8 @@ self: { doHaddock = false; description = "Parser for TOML files"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "htrace" = callPackage @@ -117964,6 +126244,7 @@ self: { description = "Haskell Music Typesetting"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "htsn" = callPackage @@ -117988,6 +126269,7 @@ self: { description = "Parse XML files from The Sports Network feed"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "htsn-common" = callPackage @@ -118031,6 +126313,7 @@ self: { description = "Import XML files from The Sports Network into an RDBMS"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "htssets" = callPackage @@ -118060,22 +126343,22 @@ self: { ({ mkDerivation, attoparsec, attoparsec-iso8601, base, base-compat , bytestring, Cabal, cabal-doctest, containers, cookie, directory , doctest, filepath, hashable, hspec, hspec-discover, http-types - , HUnit, nats, QuickCheck, quickcheck-instances, tagged, text, time - , time-locale-compat, unordered-containers, uuid-types + , HUnit, nats, QuickCheck, quickcheck-instances, tagged, text + , time-compat, unordered-containers, uuid-types }: mkDerivation { pname = "http-api-data"; - version = "0.4"; - sha256 = "12ja2rrs6dvajw300agp4fms21859a7n193m7nicmwixy8wkyzl3"; + version = "0.4.1"; + sha256 = "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ attoparsec attoparsec-iso8601 base base-compat bytestring - containers cookie hashable http-types tagged text time - time-locale-compat unordered-containers uuid-types + containers cookie hashable http-types tagged text time-compat + unordered-containers uuid-types ]; testHaskellDepends = [ base base-compat bytestring cookie directory doctest filepath hspec - HUnit nats QuickCheck quickcheck-instances text time + HUnit nats QuickCheck quickcheck-instances text time-compat unordered-containers uuid-types ]; testToolDepends = [ hspec-discover ]; @@ -118093,6 +126376,7 @@ self: { description = "Attoparsec parsers for http-types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-client" = callPackage @@ -118104,10 +126388,8 @@ self: { }: mkDerivation { pname = "http-client"; - version = "0.5.14"; - sha256 = "0irnvrxlsr9f7ybvzbpv24zbq3lhxjzh6bavjnl527020jbl0l4f"; - revision = "1"; - editedCabalFile = "0xw5ac4cvcd4hcwl7j12adi7sgffjryqhk0x992k3qs1cxyv5028"; + version = "0.6.4"; + sha256 = "1n9rnbp8lwkd4whi2anniywi4y1bn9kx6nzfigfvz28d7pn7i4in"; libraryHaskellDepends = [ array base blaze-builder bytestring case-insensitive containers cookie deepseq exceptions filepath ghc-prim http-types memory @@ -118124,36 +126406,6 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "http-client_0_6_1" = callPackage - ({ mkDerivation, array, async, base, blaze-builder, bytestring - , case-insensitive, containers, cookie, deepseq, directory - , exceptions, filepath, ghc-prim, hspec, http-types, memory - , mime-types, monad-control, network, network-uri, random, stm - , streaming-commons, text, time, transformers, zlib - }: - mkDerivation { - pname = "http-client"; - version = "0.6.1"; - sha256 = "0ryj5far7744c297ji9aaqcm56rpm2fyma8mbghli086nq4xiryl"; - revision = "1"; - editedCabalFile = "10fihwn9vvk4mdjppmzhxz7iacm8av03xv8hshiwnz3wg6bfh813"; - libraryHaskellDepends = [ - array base blaze-builder bytestring case-insensitive containers - cookie deepseq exceptions filepath ghc-prim http-types memory - mime-types network network-uri random stm streaming-commons text - time transformers - ]; - testHaskellDepends = [ - async base blaze-builder bytestring case-insensitive containers - deepseq directory hspec http-types monad-control network - network-uri streaming-commons text time transformers zlib - ]; - doCheck = false; - description = "An HTTP client engine"; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "http-client-auth" = callPackage ({ mkDerivation, base, base64-string, blaze-builder, bytestring , case-insensitive, conduit, crypto-conduit, http-client @@ -118171,6 +126423,7 @@ self: { description = "HTTP authorization (both basic and digest) done right"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-client-conduit" = callPackage @@ -118218,6 +126471,7 @@ self: { description = "Optics for http-client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-client-multipart" = callPackage @@ -118253,6 +126507,28 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "http-client-overrides" = callPackage + ({ mkDerivation, aeson, base, bytestring, http-client + , http-client-tls, http-types, network-uri, tasty, tasty-hunit + , text, yaml + }: + mkDerivation { + pname = "http-client-overrides"; + version = "0.1.0.0"; + sha256 = "1s6qblbw4z9afzdy43hk8rfhgxj3k60x03p3y0dmp1l2i712x89g"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base bytestring http-client http-types network-uri text yaml + ]; + executableHaskellDepends = [ base http-client http-client-tls ]; + testHaskellDepends = [ + base bytestring http-client tasty tasty-hunit text + ]; + description = "HTTP client overrides"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "http-client-request-modifiers" = callPackage ({ mkDerivation, base, bytestring, exceptions, http-client , http-media, http-types, network, network-uri @@ -118268,6 +126544,7 @@ self: { description = "Convenient monadic HTTP request modifiers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-client-restricted" = callPackage @@ -118284,6 +126561,8 @@ self: { ]; description = "restricting the servers that http-client will use"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-client-session" = callPackage @@ -118300,6 +126579,7 @@ self: { description = "A simple abstraction over the \"http-client\" connection manager"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-client-streams" = callPackage @@ -118317,6 +126597,7 @@ self: { description = "http-client for io-streams supporting openssl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-client-tls" = callPackage @@ -118393,7 +126674,7 @@ self: { }) {}; "http-conduit" = callPackage - ({ mkDerivation, aeson, base, blaze-builder, bytestring + ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring , case-insensitive, conduit, conduit-extra, connection, cookie , data-default-class, hspec, http-client, http-client-tls , http-types, HUnit, mtl, network, resourcet, streaming-commons @@ -118402,12 +126683,12 @@ self: { }: mkDerivation { pname = "http-conduit"; - version = "2.3.5"; - sha256 = "0hbdsp5x7mwxcjkshkf0hqfgkjcsy1g34m4im5v078izhv3fzad9"; + version = "2.3.7.1"; + sha256 = "1xnjbwvil1an5crffcwapdqyinbvvss25rcdra05isqixcs26h39"; revision = "1"; - editedCabalFile = "03yfl2n04blmmqca18b18jwplmcz7qjzqjgzrrzbd1nr290ivqjz"; + editedCabalFile = "0mmlaxnpxpgm4kzxid3xlwwqd53djx8n9a07nhvk5awyql1h9yj5"; libraryHaskellDepends = [ - aeson base bytestring conduit conduit-extra http-client + aeson attoparsec base bytestring conduit conduit-extra http-client http-client-tls http-types mtl resourcet transformers unliftio-core ]; testHaskellDepends = [ @@ -118447,6 +126728,7 @@ self: { description = "Browser interface to the http-conduit package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-conduit-downloader" = callPackage @@ -118456,8 +126738,8 @@ self: { }: mkDerivation { pname = "http-conduit-downloader"; - version = "1.0.31"; - sha256 = "1ng41s2y176223blzxdywlv7hmbdh7i5nwr63la7jfnd9rcdr83c"; + version = "1.0.33"; + sha256 = "07pn2p143rfmvax3zx53hlgh0rfynn60g0z6cw6vazrxap4v3pr3"; libraryHaskellDepends = [ base bytestring conduit connection data-default HsOpenSSL http-client http-conduit http-types mtl network network-uri @@ -118483,6 +126765,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "http-directory" = callPackage + ({ mkDerivation, base, bytestring, hspec, html-conduit, http-client + , http-client-tls, http-date, http-types, text, time, xml-conduit + }: + mkDerivation { + pname = "http-directory"; + version = "0.1.5"; + sha256 = "075crysy7avf97vlskwlk8813q2bnqw9p3q29c5yb2yhmykrpwyn"; + libraryHaskellDepends = [ + base bytestring html-conduit http-client http-client-tls http-date + http-types text time xml-conduit + ]; + testHaskellDepends = [ base hspec ]; + description = "http directory listing library"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "http-dispatch" = callPackage ({ mkDerivation, aeson, base, base64-bytestring, bytestring , case-insensitive, hspec, http-client, http-client-tls, http-types @@ -118499,6 +126800,35 @@ self: { description = "High level HTTP client for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "http-download" = callPackage + ({ mkDerivation, base, base64-bytestring, bytestring, conduit + , conduit-extra, cryptonite, cryptonite-conduit, directory + , exceptions, filepath, hspec, hspec-discover, http-client + , http-conduit, http-types, memory, path, path-io, retry, rio + , rio-prettyprint + }: + mkDerivation { + pname = "http-download"; + version = "0.1.0.0"; + sha256 = "0wip7l6cls734ag306s5l0683qqh273b3lk5ibig66racmysjqyb"; + revision = "4"; + editedCabalFile = "1s20zjh52whs6hfhr90zyyy7g78zv1pw9hry1nwlzdv4hg97cbdh"; + libraryHaskellDepends = [ + base base64-bytestring bytestring conduit conduit-extra cryptonite + cryptonite-conduit directory exceptions filepath http-client + http-conduit http-types memory path path-io retry rio + rio-prettyprint + ]; + testHaskellDepends = [ + base cryptonite hspec hspec-discover http-client path path-io retry + rio rio-prettyprint + ]; + testToolDepends = [ hspec-discover ]; + description = "Verified downloads with retries"; + license = stdenv.lib.licenses.bsd3; }) {}; "http-encodings" = callPackage @@ -118541,6 +126871,7 @@ self: { description = "HTTP client package with enumerator interface and HTTPS support. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-grammar" = callPackage @@ -118553,6 +126884,7 @@ self: { description = "Attoparsec-based parsers for the RFC-2616 HTTP grammar rules"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-io-streams" = callPackage @@ -118574,7 +126906,6 @@ self: { ]; description = "HTTP client based on io-streams"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "http-kinder" = callPackage @@ -118598,6 +126929,7 @@ self: { description = "Generic kinds and types for working with HTTP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-kit" = callPackage @@ -118666,8 +126998,10 @@ self: { }: mkDerivation { pname = "http-media"; - version = "0.7.1.3"; - sha256 = "0kqjzvh5y8r6x5rw2kgd816w2963c6cbyw2qjvaj2mv59zxzqkrr"; + version = "0.8.0.0"; + sha256 = "0lww5cxrc9jlvzsysjv99lca33i4rb7cll66p3c0rdpmvz8pk0ir"; + revision = "1"; + editedCabalFile = "01kb67m99jl3b8k06bp84sxiwxygz48ci5wkll42688qgsjb3rab"; libraryHaskellDepends = [ base bytestring case-insensitive containers utf8-string ]; @@ -118697,6 +127031,7 @@ self: { description = "Monad abstraction for HTTP allowing lazy transfer and non-I/O simulation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-pony" = callPackage @@ -118733,6 +127068,7 @@ self: { description = "Serve a WAI application with http-pony"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-pony-transformer-case-insensitive" = callPackage @@ -118783,8 +127119,8 @@ self: { }: mkDerivation { pname = "http-proxy"; - version = "0.1.0.6"; - sha256 = "0ixj9bcz8pw6rgdlzbp7p12v43vrkajbmr5b8fnsmzwcz6s3i3zg"; + version = "0.1.1.0"; + sha256 = "1nzihn2qxm066avzgill1nxa0174ggv54bacsn871a0ai7n03079"; libraryHaskellDepends = [ async base blaze-builder bytestring bytestring-lexing case-insensitive conduit conduit-extra http-client http-conduit @@ -118800,6 +127136,7 @@ self: { description = "A library for writing HTTP and HTTPS proxies"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-querystring" = callPackage @@ -118817,6 +127154,7 @@ self: { description = "The HTTP query builder"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-response-decoder" = callPackage @@ -118837,6 +127175,7 @@ self: { description = "Declarative DSL for parsing an HTTP response"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-reverse-proxy" = callPackage @@ -118890,6 +127229,7 @@ self: { description = "A simple websever with an interact style API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-streams" = callPackage @@ -118922,6 +127262,8 @@ self: { ]; description = "An HTTP client using io-streams"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http-test" = callPackage @@ -118968,8 +127310,8 @@ self: { }: mkDerivation { pname = "http-types"; - version = "0.12.2"; - sha256 = "01ck5wmzvl5cqd3w2kwkrmp18n78474a3lngk6ry28w9pbbh4caj"; + version = "0.12.3"; + sha256 = "05j00b9nqmwh9zaq9y9x50k81v2pd3j7a71kd91zlnbl8xk4m2jf"; libraryHaskellDepends = [ array base bytestring case-insensitive text ]; @@ -118990,18 +127332,20 @@ self: { description = "Provide a simple HTTP client interface by wrapping the wget command line tool. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http2" = callPackage - ({ mkDerivation, aeson, aeson-pretty, array, base, bytestring - , case-insensitive, containers, criterion, directory, doctest - , filepath, Glob, heaps, hex, hspec, mwc-random, network-byte-order - , psqueues, stm, text, unordered-containers, vector, word8 + ({ mkDerivation, aeson, aeson-pretty, array, base + , base16-bytestring, bytestring, case-insensitive, containers + , criterion, directory, doctest, filepath, Glob, heaps, hspec + , mwc-random, network-byte-order, psqueues, stm, text + , unordered-containers, vector, word8 }: mkDerivation { pname = "http2"; - version = "1.6.4"; - sha256 = "0rhy7z67bmbb15kxq9fmpgvqmc3npsbf1ym04cg07ymq9ihxvjig"; + version = "1.6.5"; + sha256 = "1vlmy8vnp6ml2n2pr11aa5fzigldsscgzmibrni64ykgfvpd3sqn"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -119009,8 +127353,8 @@ self: { network-byte-order psqueues stm ]; testHaskellDepends = [ - aeson aeson-pretty array base bytestring case-insensitive - containers directory doctest filepath Glob hex hspec + aeson aeson-pretty array base base16-bytestring bytestring + case-insensitive containers directory doctest filepath Glob hspec network-byte-order psqueues stm text unordered-containers vector word8 ]; @@ -119022,16 +127366,52 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "http2_2_0_3" = callPackage + ({ mkDerivation, aeson, aeson-pretty, array, base + , base16-bytestring, bytestring, case-insensitive, containers + , directory, doctest, filepath, gauge, Glob, heaps, hspec + , http-types, mwc-random, network, network-byte-order, psqueues + , stm, text, time-manager, unordered-containers, vector + }: + mkDerivation { + pname = "http2"; + version = "2.0.3"; + sha256 = "14qh1g0f0m0gj8ciww7rh9mcsxxjyvp5sv3ggyyxb0qf3prhalds"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + array base bytestring case-insensitive containers http-types + network network-byte-order psqueues stm time-manager + ]; + testHaskellDepends = [ + aeson aeson-pretty array base base16-bytestring bytestring + case-insensitive containers directory doctest filepath Glob hspec + http-types network network-byte-order psqueues stm text + time-manager unordered-containers vector + ]; + benchmarkHaskellDepends = [ + array base bytestring case-insensitive containers gauge heaps + mwc-random network-byte-order psqueues stm + ]; + description = "HTTP/2 library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "http2-client" = callPackage ({ mkDerivation, async, base, bytestring, containers, deepseq - , http2, network, stm, time, tls + , http2, lifted-async, lifted-base, mtl, network, stm, time, tls + , transformers-base }: mkDerivation { pname = "http2-client"; - version = "0.8.0.2"; - sha256 = "16m4amw7xq7psvxix76z7g1dvllkfs9pzpnig5rfhbgfvbf5pydw"; + version = "0.9.0.0"; + sha256 = "1z46an4sign2ashjsj2y07vkf73i2wzx5x10qsdaf4av5ib8ykxq"; + revision = "1"; + editedCabalFile = "00fg9a62qkjwp7rb38j7z7yy6dk3mkh6mgwspd79v2ycmn4mr25q"; libraryHaskellDepends = [ - async base bytestring containers deepseq http2 network stm time tls + async base bytestring containers deepseq http2 lifted-async + lifted-base mtl network stm time tls transformers-base ]; testHaskellDepends = [ base ]; description = "A native HTTP2 client library"; @@ -119040,17 +127420,18 @@ self: { "http2-client-exe" = callPackage ({ mkDerivation, async, base, bytestring, data-default-class, http2 - , http2-client, optparse-applicative, time, tls + , http2-client, lifted-async, lifted-base, optparse-applicative + , time, tls }: mkDerivation { pname = "http2-client-exe"; - version = "0.1.0.1"; - sha256 = "1z1y52253dybliwplybwd71a1ssmma34zcylv54aj6x7grrj37hm"; + version = "0.2.0.0"; + sha256 = "15yvg3nmsajc7q63c2qsmmckw3v4h37364zdxqi3dk9r0xkpssjy"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ async base bytestring data-default-class http2 http2-client - optparse-applicative time tls + lifted-async lifted-base optparse-applicative time tls ]; description = "A command-line http2 client"; license = stdenv.lib.licenses.bsd3; @@ -119059,20 +127440,22 @@ self: { "http2-client-grpc" = callPackage ({ mkDerivation, async, base, binary, bytestring, case-insensitive , data-default-class, http2, http2-client, http2-grpc-types, lens - , proto-lens, text, tls + , lifted-async, lifted-base, proto-lens, text, tls }: mkDerivation { pname = "http2-client-grpc"; - version = "0.5.0.4"; - sha256 = "1277qp7gvwvqb12pz6j2nm08zdgx9nia4zak9d4pyw147dcf9qwv"; + version = "0.7.0.0"; + sha256 = "1iy825wrn2ai2qpbkq4p9k2amc5rarr57b9sa2vm8vqdrclcvzn1"; libraryHaskellDepends = [ async base binary bytestring case-insensitive data-default-class - http2 http2-client http2-grpc-types lens proto-lens text tls + http2 http2-client http2-grpc-types lens lifted-async lifted-base + proto-lens text tls ]; testHaskellDepends = [ base ]; description = "Implement gRPC-over-HTTP2 clients"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "http2-grpc-types" = callPackage @@ -119081,10 +127464,8 @@ self: { }: mkDerivation { pname = "http2-grpc-types"; - version = "0.3.0.0"; - sha256 = "0r3gfc8alm535hqmyy39hd7nhpp3dmba52l4wf38bj7j3ckggpy5"; - revision = "2"; - editedCabalFile = "0b3dpd1krsaxxbg08vp9m2r2f2w4ab1dylb6bp945dfyr7fl6c1c"; + version = "0.4.0.0"; + sha256 = "1h15smbncifn0c9n0dmwzpwr0fnb3jby9zch71rmsnsirclycsb5"; libraryHaskellDepends = [ base binary bytestring case-insensitive proto-lens zlib ]; @@ -119093,16 +127474,14 @@ self: { }) {}; "httpd-shed" = callPackage - ({ mkDerivation, base, network, network-uri }: + ({ mkDerivation, base, network, network-bsd, network-uri }: mkDerivation { pname = "httpd-shed"; - version = "0.4.0.3"; - sha256 = "064jy1mqhnf1hvq6s04wlhmp916rd522x58djb9qixv13vc8gzxh"; - revision = "2"; - editedCabalFile = "12y9qf8s0aq4dc80wrvh14cjvvm4mcygrqq72w4z8w9n8mp8jg9p"; + version = "0.4.1.1"; + sha256 = "19dgdimpzr7pxk7pqvyin6j87gmvnf0rm35gzhmna8qr835wy3sr"; isLibrary = true; isExecutable = true; - libraryHaskellDepends = [ base network network-uri ]; + libraryHaskellDepends = [ base network network-bsd network-uri ]; description = "A simple web-server with an interact style API"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -119129,6 +127508,7 @@ self: { description = "High-level access to HTTPS Everywhere rulesets"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "https-everywhere-rules-raw" = callPackage @@ -119144,6 +127524,7 @@ self: { description = "Low-level (i.e. XML) access to HTTPS Everywhere rulesets."; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "httpspec" = callPackage @@ -119162,6 +127543,7 @@ self: { description = "Specification of HTTP request/response generators and parsers"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "htune" = callPackage @@ -119176,6 +127558,7 @@ self: { description = "harmonic analyser and tuner for musical instruments"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "htvm" = callPackage @@ -119204,6 +127587,7 @@ self: { description = "Bindings for TVM machine learning framework"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {tvm_runtime = null;}; "htzaar" = callPackage @@ -119218,6 +127602,7 @@ self: { description = "A two player abstract strategy game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hub" = callPackage @@ -119249,6 +127634,7 @@ self: { description = "A haskell wrap for Ubigraph"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hubris" = callPackage @@ -119295,6 +127681,7 @@ self: { description = "huck"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "huckleberry" = callPackage @@ -119327,6 +127714,7 @@ self: { description = "A fast-foward-based planner"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "huffman" = callPackage @@ -119339,6 +127727,7 @@ self: { description = "Pure Haskell implementation of the Huffman encoding algorithm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hugs2yc" = callPackage @@ -119356,6 +127745,7 @@ self: { description = "Hugs Front-end to Yhc Core"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hulk" = callPackage @@ -119383,6 +127773,7 @@ self: { description = "IRC server written in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "human-parse" = callPackage @@ -119395,16 +127786,17 @@ self: { description = "A lawless typeclass for parsing text entered by humans"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "human-readable-duration" = callPackage - ({ mkDerivation, base, criterion, doctest, Glob }: + ({ mkDerivation, base, criterion, doctest, Glob, time }: mkDerivation { pname = "human-readable-duration"; - version = "0.2.1.3"; - sha256 = "1zq85v9knc73ck9lqrn4k0w121ifpjg7j053qmhgam0605j89236"; + version = "0.2.1.4"; + sha256 = "06yw7bab1hk8287d2zdg45m46pgp87fivh0cb2x1nxivvn1qfs6c"; libraryHaskellDepends = [ base ]; - testHaskellDepends = [ base doctest Glob ]; + testHaskellDepends = [ base doctest Glob time ]; benchmarkHaskellDepends = [ base criterion ]; description = "Provide duration helper"; license = stdenv.lib.licenses.bsd3; @@ -119420,6 +127812,7 @@ self: { description = "A lawless typeclass for converting values to human-friendly text"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hums" = callPackage @@ -119445,6 +127838,7 @@ self: { description = "Haskell UPnP Media Server"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hunch" = callPackage @@ -119473,25 +127867,13 @@ self: { ({ mkDerivation, base, dejafu, exceptions, HUnit }: mkDerivation { pname = "hunit-dejafu"; - version = "1.2.1.0"; - sha256 = "075xx6rz1bxyj00plkrfz04wfq1rim8nkn43xj0d7js86qhvqyrc"; + version = "2.0.0.1"; + sha256 = "0n7npk8ksp14f2ib47navmc50rlnqrcsgdnxmd5qylg431h15sfz"; libraryHaskellDepends = [ base dejafu exceptions HUnit ]; description = "Deja Fu support for the HUnit test framework"; license = stdenv.lib.licenses.mit; }) {}; - "hunit-dejafu_2_0_0_0" = callPackage - ({ mkDerivation, base, dejafu, exceptions, HUnit }: - mkDerivation { - pname = "hunit-dejafu"; - version = "2.0.0.0"; - sha256 = "0j48wg6nq90hgl3jfdiy020az5m8vcpbnfvxcpjci3vzd24c4gx9"; - libraryHaskellDepends = [ base dejafu exceptions HUnit ]; - description = "Deja Fu support for the HUnit test framework"; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "hunit-gui" = callPackage ({ mkDerivation, base, cairo, gtk, haskell98, HUnit }: mkDerivation { @@ -119506,6 +127888,7 @@ self: { description = "A GUI testrunner for HUnit"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hunit-parsec" = callPackage @@ -119530,6 +127913,7 @@ self: { description = "HUnit support for rematch"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hunp" = callPackage @@ -119549,6 +127933,7 @@ self: { description = "Unpacker tool with DWIM"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hunspell-hs" = callPackage @@ -119566,6 +127951,7 @@ self: { description = "Hunspell thread-safe FFI bindings for spell checking"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) hunspell;}; "hunt-searchengine" = callPackage @@ -119598,6 +127984,7 @@ self: { description = "A search and indexing engine"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hunt-server" = callPackage @@ -119622,6 +128009,7 @@ self: { description = "A search and indexing engine server"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hunt-server-cli" = callPackage @@ -119677,7 +128065,6 @@ self: { ]; description = "Upload packages or documentation to a hackage server"; license = stdenv.lib.licenses.bsd2; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hurdle" = callPackage @@ -119694,6 +128081,7 @@ self: { description = "Extract function names from Windows DLLs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hurriyet" = callPackage @@ -119713,6 +128101,7 @@ self: { description = "Haskell bindings for Hurriyet API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "husk-scheme" = callPackage @@ -119738,6 +128127,7 @@ self: { description = "R5RS Scheme interpreter, compiler, and library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "husk-scheme-libs" = callPackage @@ -119754,6 +128144,7 @@ self: { description = "Extra libraries for the husk Scheme platform"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "husky" = callPackage @@ -119772,6 +128163,7 @@ self: { description = "A simple command line calculator"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hutton" = callPackage @@ -119793,6 +128185,7 @@ self: { description = "A program for the button on Reddit"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "huttons-razor" = callPackage @@ -119807,6 +128200,7 @@ self: { description = "Quick implemention of Hutton's Razor"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "huzzy" = callPackage @@ -119819,6 +128213,7 @@ self: { description = "Fuzzy logic library with support for T1, IT2, GT2"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hvect" = callPackage @@ -119837,13 +128232,24 @@ self: { ({ mkDerivation, aeson, base, text, vector }: mkDerivation { pname = "hvega"; - version = "0.1.0.3"; - sha256 = "0hh5izmw6ss4yznr665674p48lwxgzf3kspl86sy4sfrbab5jxqa"; + version = "0.3.0.1"; + sha256 = "04qrlqzi065r9b83wyw1zymnyjvpy5jhlzxxqd2j6m9zsngh7hl1"; libraryHaskellDepends = [ aeson base text vector ]; - description = "Create Vega and Vega-Lite visualizations"; + description = "Create Vega-Lite visualizations (version 3) in Haskell"; license = stdenv.lib.licenses.bsd3; }) {}; + "hvega-theme" = callPackage + ({ mkDerivation, base, hvega, text }: + mkDerivation { + pname = "hvega-theme"; + version = "0.1.0.0"; + sha256 = "03rm4fl8vgl3yv60wx6vrj1dfbwsxwksm1dbiz0wzz1scdax1gc4"; + libraryHaskellDepends = [ base hvega text ]; + description = "Theme for hvega"; + license = stdenv.lib.licenses.gpl3; + }) {}; + "hw-aeson" = callPackage ({ mkDerivation, aeson, base, hedgehog, hspec, text }: mkDerivation { @@ -119857,36 +128263,72 @@ self: { }) {}; "hw-balancedparens" = callPackage - ({ mkDerivation, base, criterion, hspec, hw-bits, hw-excess - , hw-prim, hw-rankselect-base, QuickCheck, vector + ({ mkDerivation, base, criterion, deepseq, hspec, hspec-discover + , hw-bits, hw-excess, hw-prim, hw-rankselect-base, QuickCheck + , vector }: mkDerivation { pname = "hw-balancedparens"; - version = "0.2.0.2"; - sha256 = "0paphyp5icawflbybm40mn8r9ka7a6x128vwqagpiz6mb5zpa8hn"; + version = "0.2.0.4"; + sha256 = "166vb5armxah2r1qwa9yzzd5abd3dnssybgwl6kjzl8q43r0n84h"; libraryHaskellDepends = [ - base hw-bits hw-excess hw-prim hw-rankselect-base vector + base deepseq hw-bits hw-excess hw-prim hw-rankselect-base vector ]; testHaskellDepends = [ base hspec hw-bits hw-prim hw-rankselect-base QuickCheck vector ]; + testToolDepends = [ hspec-discover ]; benchmarkHaskellDepends = [ base criterion hw-bits hw-prim vector ]; description = "Balanced parentheses"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hw-balancedparens_0_3_0_0" = callPackage + ({ mkDerivation, base, criterion, deepseq, hedgehog, hspec + , hspec-discover, hw-bits, hw-excess, hw-fingertree + , hw-hspec-hedgehog, hw-prim, hw-rankselect-base, transformers + , vector + }: + mkDerivation { + pname = "hw-balancedparens"; + version = "0.3.0.0"; + sha256 = "1xb2pyhmcwl927v4hc7nfi31bf9lvlz9mnqdbb7mzpl6bdlg7xc7"; + revision = "1"; + editedCabalFile = "1a8zs7j05vxbamcc63fi1xf6vvz7bg1zf0a72930xh4y4bd2m0qk"; + libraryHaskellDepends = [ + base deepseq hedgehog hspec hw-bits hw-excess hw-fingertree hw-prim + hw-rankselect-base vector + ]; + testHaskellDepends = [ + base hedgehog hspec hw-bits hw-hspec-hedgehog hw-prim + hw-rankselect-base transformers vector + ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + base criterion hedgehog hw-bits hw-prim vector + ]; + doHaddock = false; + description = "Balanced parentheses"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-bits" = callPackage ({ mkDerivation, base, bytestring, criterion, hedgehog, hspec - , hw-hspec-hedgehog, hw-int, hw-prim, hw-string-parse, QuickCheck - , safe, vector + , hspec-discover, hw-hspec-hedgehog, hw-int, hw-prim + , hw-string-parse, QuickCheck, safe, vector }: mkDerivation { pname = "hw-bits"; - version = "0.7.0.5"; - sha256 = "1p3bqkzsmmz66chrwykj8pawgg7m5dvzsqmr9lrsdxldgqq62i8s"; + version = "0.7.0.6"; + sha256 = "0c3bfr4x52fvvp3yin54xbfxz7nq936v2ac89vcim1gscyw51hvm"; + revision = "1"; + editedCabalFile = "0yl5b2qcrb2bjncwv2k9j006582cwxmpfgsggcyk5vw7i6iwhmhb"; libraryHaskellDepends = [ base bytestring hw-int hw-prim hw-string-parse safe vector ]; @@ -119894,10 +128336,35 @@ self: { base bytestring hedgehog hspec hw-hspec-hedgehog hw-prim QuickCheck vector ]; - benchmarkHaskellDepends = [ base criterion hw-prim vector ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ base criterion vector ]; description = "Bit manipulation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hw-ci-assist" = callPackage + ({ mkDerivation, base, hedgehog, hspec, hspec-discover, hw-hedgehog + , hw-hspec-hedgehog, optparse-applicative + }: + mkDerivation { + pname = "hw-ci-assist"; + version = "0.1.0.0"; + sha256 = "0r7ng4is9y2d9bh2fmww2b66zc7m7a8k98g9nw7fwbvb5z02q8yd"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base ]; + executableHaskellDepends = [ base optparse-applicative ]; + testHaskellDepends = [ + base hedgehog hspec hw-hedgehog hw-hspec-hedgehog + ]; + testToolDepends = [ hspec-discover ]; + doHaddock = false; + description = "CI Assistant for Haskell projects"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-conduit" = callPackage @@ -119943,8 +128410,8 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "hw-diagnostics"; - version = "0.0.0.5"; - sha256 = "0cfrgcjj7c2bi5l4qan23ipylfa73qh19xc9x03sbia6qh0yrsjw"; + version = "0.0.0.7"; + sha256 = "1wfmrdpkvk2p045xchvwhnd1glq527ksgg0bs2qg5r0nyhsg55zi"; libraryHaskellDepends = [ base ]; description = "Diagnostics library"; license = stdenv.lib.licenses.bsd3; @@ -119952,15 +128419,17 @@ self: { "hw-dsv" = callPackage ({ mkDerivation, base, bits-extra, bytestring, cassava, criterion - , deepseq, directory, ghc-prim, hedgehog, hspec, hw-bits - , hw-hspec-hedgehog, hw-prim, hw-rankselect, hw-rankselect-base - , hw-simd, lens, mmap, optparse-applicative, resourcet, text - , vector, weigh + , deepseq, directory, generic-lens, ghc-prim, hedgehog, hspec + , hspec-discover, hw-bits, hw-hspec-hedgehog, hw-prim + , hw-rankselect, hw-rankselect-base, hw-simd, lens, mmap + , optparse-applicative, resourcet, text, vector, weigh }: mkDerivation { pname = "hw-dsv"; - version = "0.3.4"; - sha256 = "0bp9c2023iyalsgf5ih9aray1ifbmarqkl88whwrkh333lys946f"; + version = "0.3.5"; + sha256 = "15dy96ah7frs79g102vvsrihzlk2qc5c773y7bqdcm66mjhin3x2"; + revision = "1"; + editedCabalFile = "1i67wr9yhks9bzpcr0dqhqgvv2i94izv4p6wrcb2vbjl7wzzgs1v"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -119968,8 +128437,8 @@ self: { hw-rankselect hw-rankselect-base hw-simd vector ]; executableHaskellDepends = [ - base bits-extra bytestring deepseq ghc-prim hedgehog hw-bits - hw-prim hw-rankselect hw-rankselect-base hw-simd lens + base bits-extra bytestring deepseq generic-lens ghc-prim hedgehog + hw-bits hw-prim hw-rankselect hw-rankselect-base hw-simd lens optparse-applicative resourcet vector ]; testHaskellDepends = [ @@ -119977,6 +128446,7 @@ self: { hedgehog hspec hw-bits hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base hw-simd text vector weigh ]; + testToolDepends = [ hspec-discover ]; benchmarkHaskellDepends = [ base bits-extra bytestring cassava criterion deepseq directory ghc-prim hw-bits hw-prim hw-rankselect hw-rankselect-base hw-simd @@ -119985,6 +128455,7 @@ self: { description = "Unbelievably fast streaming DSV file parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-dump" = callPackage @@ -120015,60 +128486,84 @@ self: { description = "File Dump"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-eliasfano" = callPackage - ({ mkDerivation, base, hspec, hw-bits, hw-int, hw-packed-vector - , hw-prim, QuickCheck, safe, vector + ({ mkDerivation, base, binary, bytestring, criterion, deepseq + , generic-lens, hedgehog, hspec, hspec-discover, hw-bits + , hw-hedgehog, hw-hspec-hedgehog, hw-int, hw-packed-vector, hw-prim + , hw-rankselect, hw-rankselect-base, lens, mmap + , optparse-applicative, vector }: mkDerivation { pname = "hw-eliasfano"; - version = "0.1.0.1"; - sha256 = "1rj8435fyg882f69cw0p20j8q9j6jlyvf3gshgkbyi2fzv5hnw8l"; + version = "0.1.1.0"; + sha256 = "0q3lrpw72krsbfbykjkkm55aca43ravyl4b1d3k0wgh5wv340a3v"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ - base hw-bits hw-int hw-packed-vector hw-prim safe vector + base deepseq hw-bits hw-int hw-packed-vector hw-prim hw-rankselect + hw-rankselect-base vector + ]; + executableHaskellDepends = [ + base binary bytestring generic-lens hw-packed-vector lens + optparse-applicative vector ]; testHaskellDepends = [ - base hspec hw-bits hw-int hw-prim QuickCheck vector + base hedgehog hspec hw-bits hw-hedgehog hw-hspec-hedgehog hw-int + hw-packed-vector hw-prim vector + ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + base bytestring criterion hedgehog hspec hw-bits hw-hedgehog + hw-hspec-hedgehog hw-int hw-packed-vector hw-prim mmap vector ]; description = "Elias-Fano"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-excess" = callPackage - ({ mkDerivation, base, hspec, hw-bits, hw-prim, hw-rankselect-base - , QuickCheck, safe, vector + ({ mkDerivation, base, bytestring, criterion, hedgehog, hspec + , hspec-discover, hw-bits, hw-hspec-hedgehog, hw-prim + , hw-rankselect-base, QuickCheck, safe, vector }: mkDerivation { pname = "hw-excess"; - version = "0.2.0.2"; - sha256 = "1xm1nwab2zhlyd0n536pd5sny4miqr8p41pasl9mqvg89v6x0db7"; + version = "0.2.2.0"; + sha256 = "07d6q5m98z6r7p4hhzzm8ihn9sbd05hhf40a0hcq3ixxrdz7yyrb"; libraryHaskellDepends = [ base hw-bits hw-prim hw-rankselect-base safe vector ]; testHaskellDepends = [ - base hspec hw-bits hw-prim QuickCheck vector + base hedgehog hspec hw-bits hw-hspec-hedgehog hw-prim QuickCheck + vector + ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + base bytestring criterion hw-prim vector ]; description = "Excess"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-fingertree" = callPackage - ({ mkDerivation, base, deepseq, hedgehog, hspec, HUnit - , hw-hspec-hedgehog, QuickCheck, test-framework - , test-framework-hunit, test-framework-quickcheck2 + ({ mkDerivation, base, deepseq, hedgehog, hspec, hspec-discover + , hw-hspec-hedgehog, hw-prim }: mkDerivation { pname = "hw-fingertree"; - version = "0.1.0.1"; - sha256 = "1nlla161156w21g3kdcv42bm5rfz9aslh5lw7rmlw8pdrgg6g3f3"; - libraryHaskellDepends = [ base deepseq ]; + version = "0.1.1.0"; + sha256 = "096lj6bhyk3pyal3jnif8cm6yprir1kpr5cvjl576kbfhyxdnhmy"; + libraryHaskellDepends = [ base deepseq hw-prim ]; testHaskellDepends = [ - base deepseq hedgehog hspec HUnit hw-hspec-hedgehog QuickCheck - test-framework test-framework-hunit test-framework-quickcheck2 + base deepseq hedgehog hspec hw-hspec-hedgehog ]; + testToolDepends = [ hspec-discover ]; description = "Generic finger-tree structure, with example instances"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -120095,8 +128590,10 @@ self: { ({ mkDerivation, base, hedgehog, vector }: mkDerivation { pname = "hw-hedgehog"; - version = "0.1.0.2"; - sha256 = "0fk5qgn011j7cb75xi434vk0vq4bl8w9lrs6hpf45c8mv4c48vby"; + version = "0.1.0.3"; + sha256 = "0cck3kxxc7fxfqji9jv15vc9v1zpqz7rzacxfcjc0i6s1ll9vbv2"; + revision = "1"; + editedCabalFile = "1wvjv13pznqxzhix7ikjx2gpqc3ppn7z20yl7l6z80yslalh7pm2"; libraryHaskellDepends = [ base hedgehog vector ]; testHaskellDepends = [ base ]; description = "Extra hedgehog functionality"; @@ -120104,20 +128601,6 @@ self: { }) {}; "hw-hspec-hedgehog" = callPackage - ({ mkDerivation, base, call-stack, hedgehog, hspec, HUnit }: - mkDerivation { - pname = "hw-hspec-hedgehog"; - version = "0.1.0.4"; - sha256 = "1vlrrskalip7a477px7imwy9yifvdx7c03zrgk90rlarivwkggaq"; - revision = "2"; - editedCabalFile = "1jh0p4i87c2bn926s0d7qx6ykssjj26fia0d24grlklkd14bnmpq"; - libraryHaskellDepends = [ base call-stack hedgehog hspec HUnit ]; - testHaskellDepends = [ base hedgehog hspec ]; - description = "Interoperability between hspec and hedgehog"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "hw-hspec-hedgehog_0_1_0_7" = callPackage ({ mkDerivation, base, call-stack, hedgehog, hspec, hspec-discover , HUnit, transformers }: @@ -120125,6 +128608,8 @@ self: { pname = "hw-hspec-hedgehog"; version = "0.1.0.7"; sha256 = "0445b5ycr622qjann2yyri8ghkhkw0vqaqn2rlar9wq2ni3b85rv"; + revision = "1"; + editedCabalFile = "0gcfhqasff8ij0xr5wq74blp90ldzgv992agadp63bs4ikg4rajm"; libraryHaskellDepends = [ base call-stack hedgehog hspec HUnit transformers ]; @@ -120132,7 +128617,6 @@ self: { testToolDepends = [ hspec-discover ]; description = "Interoperability between hspec and hedgehog"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hw-int" = callPackage @@ -120147,73 +128631,48 @@ self: { }) {}; "hw-ip" = callPackage - ({ mkDerivation, appar, base, containers, generic-lens, hedgehog - , hspec, hw-bits, hw-hspec-hedgehog, iproute, text + ({ mkDerivation, appar, base, binary, bytestring, containers + , generic-lens, hedgehog, hspec, hspec-discover, hw-bits + , hw-hspec-hedgehog, iproute, lens, optparse-applicative, text }: mkDerivation { pname = "hw-ip"; - version = "2.0.1.0"; - sha256 = "1r1ck890id7x9b1dpp23h656mvh24bacxdbvxhgkdjiryklrjsqr"; + version = "2.3.4.1"; + sha256 = "023wv7dvpyw2nnlrdqhp3nqrbbh9af074fz12y8510br2gfdyamd"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ appar base containers generic-lens hw-bits iproute text ]; + executableHaskellDepends = [ + appar base binary bytestring generic-lens lens optparse-applicative + text + ]; testHaskellDepends = [ appar base generic-lens hedgehog hspec hw-bits hw-hspec-hedgehog text ]; + testToolDepends = [ hspec-discover ]; description = "Library for manipulating IP addresses and CIDR blocks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-json" = callPackage ({ mkDerivation, ansi-wl-pprint, array, attoparsec, base - , bytestring, containers, criterion, directory, dlist, hspec - , hw-balancedparens, hw-bits, hw-mquery, hw-parser, hw-prim - , hw-rankselect, hw-rankselect-base, lens, mmap - , optparse-applicative, text, vector, word8 - }: - mkDerivation { - pname = "hw-json"; - version = "0.9.0.1"; - sha256 = "00prvi3jrb02g92vq1ghyxpdpqangj482x1k3l13s385804grgqw"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - ansi-wl-pprint array attoparsec base bytestring containers dlist - hw-balancedparens hw-bits hw-mquery hw-parser hw-prim hw-rankselect - hw-rankselect-base mmap text vector word8 - ]; - executableHaskellDepends = [ - base bytestring criterion dlist hw-balancedparens hw-bits hw-mquery - hw-prim hw-rankselect hw-rankselect-base lens mmap - optparse-applicative vector - ]; - testHaskellDepends = [ - attoparsec base bytestring containers hspec hw-balancedparens - hw-bits hw-prim hw-rankselect hw-rankselect-base mmap vector - ]; - benchmarkHaskellDepends = [ - base bytestring criterion directory hw-balancedparens hw-bits - hw-prim hw-rankselect hw-rankselect-base mmap vector - ]; - description = "Memory efficient JSON parser"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "hw-json_1_0_0_1" = callPackage - ({ mkDerivation, ansi-wl-pprint, array, attoparsec, base - , bits-extra, bytestring, criterion, directory, dlist, hedgehog - , hspec, hspec-discover, hw-balancedparens, hw-bits + , bits-extra, bytestring, criterion, directory, dlist, generic-lens + , hedgehog, hspec, hspec-discover, hw-balancedparens, hw-bits , hw-hspec-hedgehog, hw-json-simd, hw-mquery, hw-parser, hw-prim , hw-rankselect, hw-rankselect-base, hw-simd, lens, mmap , optparse-applicative, text, transformers, vector, word8 }: mkDerivation { pname = "hw-json"; - version = "1.0.0.1"; - sha256 = "1svynix1vilp6w5azm0nlkx3b92m5x8plnj8jnw4k6ybr4mdw32b"; + version = "1.0.0.2"; + sha256 = "0lb38kfxhamvdhp6z3aw4as57nc6jxf6wj7nr3lmiry6h2gx15js"; + revision = "1"; + editedCabalFile = "1laxwrcjdjrpym4gghnqa39xvdvbxsp2sbpzcc703ac3kj7v2b6h"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -120222,8 +128681,8 @@ self: { hw-rankselect-base hw-simd mmap text vector word8 ]; executableHaskellDepends = [ - base bytestring dlist hw-balancedparens hw-json-simd hw-mquery - hw-prim hw-rankselect hw-rankselect-base lens mmap + base bytestring dlist generic-lens hw-balancedparens hw-json-simd + hw-mquery hw-prim hw-rankselect hw-rankselect-base lens mmap optparse-applicative vector ]; testHaskellDepends = [ @@ -120238,6 +128697,51 @@ self: { description = "Memory efficient JSON parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hw-json_1_3_0_1" = callPackage + ({ mkDerivation, aeson, ansi-wl-pprint, attoparsec, base + , bits-extra, bytestring, criterion, directory, dlist, generic-lens + , hedgehog, hspec, hspec-discover, hw-balancedparens, hw-bits + , hw-hspec-hedgehog, hw-json-simd, hw-json-simple-cursor + , hw-json-standard-cursor, hw-mquery, hw-parser, hw-prim + , hw-rankselect, hw-rankselect-base, hw-simd, lens, mmap + , optparse-applicative, scientific, text, transformers, vector + , word8 + }: + mkDerivation { + pname = "hw-json"; + version = "1.3.0.1"; + sha256 = "10m4f4jv3wb4n4na1d1a26s81n7clxgmj2745xs9yrax1wvqnjg0"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson ansi-wl-pprint attoparsec base bits-extra bytestring dlist + hw-balancedparens hw-bits hw-json-simple-cursor + hw-json-standard-cursor hw-mquery hw-parser hw-prim hw-rankselect + hw-rankselect-base hw-simd mmap text vector word8 + ]; + executableHaskellDepends = [ + base bytestring dlist generic-lens hw-balancedparens hw-json-simd + hw-json-simple-cursor hw-json-standard-cursor hw-mquery hw-prim + hw-rankselect hw-rankselect-base lens mmap optparse-applicative + text vector + ]; + testHaskellDepends = [ + aeson attoparsec base bytestring hedgehog hspec hw-balancedparens + hw-bits hw-hspec-hedgehog hw-json-simple-cursor + hw-json-standard-cursor hw-prim hw-rankselect hw-rankselect-base + scientific text transformers vector + ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + base bytestring criterion directory hw-json-standard-cursor mmap + ]; + description = "Memory efficient JSON parser"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-json-lens" = callPackage @@ -120257,6 +128761,7 @@ self: { description = "Lens for hw-json"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-json-simd" = callPackage @@ -120265,8 +128770,8 @@ self: { }: mkDerivation { pname = "hw-json-simd"; - version = "0.1.0.1"; - sha256 = "0pi67lyx9ysvgfsk75a4yzmfrn65f7i65pp2m6z5hd5svali37sw"; + version = "0.1.0.2"; + sha256 = "13i41ppi3ncisfyl3jvpgf4cbx86gyy0maq1xm0jipplkr78844w"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base bytestring hw-prim lens vector ]; @@ -120277,7 +128782,79 @@ self: { testHaskellDepends = [ base bytestring hw-prim lens vector ]; description = "SIMD-based JSON semi-indexer"; license = stdenv.lib.licenses.bsd3; + }) {}; + + "hw-json-simple-cursor" = callPackage + ({ mkDerivation, base, bytestring, criterion, directory + , generic-lens, hedgehog, hspec, hspec-discover, hw-balancedparens + , hw-bits, hw-hspec-hedgehog, hw-json-simd, hw-prim, hw-rankselect + , hw-rankselect-base, lens, mmap, optparse-applicative, text + , vector, word8 + }: + mkDerivation { + pname = "hw-json-simple-cursor"; + version = "0.1.0.1"; + sha256 = "0asvkzz0dgcc5cjrn3wqhn3svxi13wfzxi0ggc8mzzmfci07jigy"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring hw-balancedparens hw-bits hw-prim hw-rankselect + hw-rankselect-base vector word8 + ]; + executableHaskellDepends = [ + base bytestring generic-lens hw-balancedparens hw-json-simd hw-prim + hw-rankselect hw-rankselect-base lens mmap optparse-applicative + text vector + ]; + testHaskellDepends = [ + base bytestring hedgehog hspec hw-balancedparens hw-bits + hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base vector + ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + base bytestring criterion directory mmap + ]; + description = "Memory efficient JSON parser"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hw-json-standard-cursor" = callPackage + ({ mkDerivation, array, base, bits-extra, bytestring, criterion + , directory, generic-lens, hedgehog, hspec, hspec-discover + , hw-balancedparens, hw-bits, hw-hspec-hedgehog, hw-json-simd + , hw-prim, hw-rankselect, hw-rankselect-base, lens, mmap + , optparse-applicative, text, vector, word8 + }: + mkDerivation { + pname = "hw-json-standard-cursor"; + version = "0.2.1.1"; + sha256 = "0z0lxzciyw6b49w1s88yx9lcqgk0fjmh1zv7qs3jnn9sk0bqldh5"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + array base bits-extra bytestring hw-balancedparens hw-bits + hw-json-simd hw-prim hw-rankselect hw-rankselect-base mmap vector + word8 + ]; + executableHaskellDepends = [ + base bytestring generic-lens hw-balancedparens hw-json-simd hw-prim + hw-rankselect hw-rankselect-base lens mmap optparse-applicative + text vector + ]; + testHaskellDepends = [ + base bytestring hedgehog hspec hw-balancedparens hw-bits + hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base vector + ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + base bytestring criterion directory mmap + ]; + description = "Memory efficient JSON parser"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-kafka-avro" = callPackage @@ -120288,8 +128865,8 @@ self: { }: mkDerivation { pname = "hw-kafka-avro"; - version = "4.0.0"; - sha256 = "0khqvd1l44bx4mnrv7hbvr0qbak6n17l4qqk3lwga21qnchnlgak"; + version = "4.0.1"; + sha256 = "1x0mq3sn05iwrn444kzyl66056xm8203hq0ajx9f8r85faq3v1ir"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -120353,31 +128930,6 @@ self: { }) {}; "hw-mquery" = callPackage - ({ mkDerivation, ansi-wl-pprint, base, dlist, hedgehog, hspec - , hspec-discover, hw-hspec-hedgehog, lens, QuickCheck, semigroups - }: - mkDerivation { - pname = "hw-mquery"; - version = "0.1.0.3"; - sha256 = "0i020vl1f2nkk80rd1fmx9ilkrzyggp01ka3bz9n0365mcq5g3s5"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - ansi-wl-pprint base dlist lens semigroups - ]; - executableHaskellDepends = [ - ansi-wl-pprint base dlist lens semigroups - ]; - testHaskellDepends = [ - ansi-wl-pprint base dlist hedgehog hspec hw-hspec-hedgehog lens - QuickCheck semigroups - ]; - testToolDepends = [ hspec-discover ]; - description = "Monadic query DSL"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "hw-mquery_0_2_0_1" = callPackage ({ mkDerivation, ansi-wl-pprint, base, dlist, hedgehog, hspec , hspec-discover, hw-hspec-hedgehog, lens, semigroups }: @@ -120385,6 +128937,8 @@ self: { pname = "hw-mquery"; version = "0.2.0.1"; sha256 = "04jkhnljyirbjg1b693bacfnaa3i854rg1dgy3mifr7sbmk0xgnn"; + revision = "1"; + editedCabalFile = "0n6zicz4cdr9z7lzlagj8gamj9gnv3nhvjz7srw4wg1cnagimi0s"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -120397,64 +128951,109 @@ self: { testToolDepends = [ hspec-discover ]; description = "Monadic query DSL"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hw-packed-vector" = callPackage - ({ mkDerivation, base, bytestring, hspec, hw-bits, hw-int, hw-prim - , hw-string-parse, QuickCheck, safe, vector + ({ mkDerivation, base, bytestring, criterion, deepseq, directory + , hedgehog, hspec, hspec-discover, hw-bits, hw-hedgehog + , hw-hspec-hedgehog, hw-prim, vector }: mkDerivation { pname = "hw-packed-vector"; - version = "0.0.0.1"; - sha256 = "0ca9073b79ifh5rhif6ph6fqq5aad0pk1djbka46xk93rf00m65n"; + version = "0.0.0.3"; + sha256 = "1l021x4sya6fmdhz6nsqh4nvvc3bbb29y30ari0qvn5789nwxzv3"; libraryHaskellDepends = [ - base bytestring hw-bits hw-int hw-prim hw-string-parse safe vector + base bytestring deepseq hw-bits hw-prim vector ]; testHaskellDepends = [ - base bytestring hspec hw-bits hw-prim QuickCheck vector + base bytestring hedgehog hspec hw-bits hw-hedgehog + hw-hspec-hedgehog hw-prim vector + ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + base criterion directory hedgehog hspec hw-prim vector ]; description = "Packed Vector"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hw-packed-vector_0_2_0_0" = callPackage + ({ mkDerivation, base, binary, bytestring, criterion, deepseq + , directory, generic-lens, hedgehog, hspec, hspec-discover, hw-bits + , hw-hedgehog, hw-hspec-hedgehog, hw-prim, lens + , optparse-applicative, vector + }: + mkDerivation { + pname = "hw-packed-vector"; + version = "0.2.0.0"; + sha256 = "1nspd5hwn32fjgxmg08bq8hmyxzh61gc72zgd24mcpy94kzq58xd"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring deepseq hw-bits hw-prim vector + ]; + executableHaskellDepends = [ + base binary bytestring generic-lens hw-bits hw-prim lens + optparse-applicative vector + ]; + testHaskellDepends = [ + base bytestring hedgehog hspec hw-bits hw-hedgehog + hw-hspec-hedgehog hw-prim vector + ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + base criterion directory hedgehog hspec hw-prim vector + ]; + description = "Packed Vector"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-parser" = callPackage - ({ mkDerivation, attoparsec, base, bytestring, hw-prim, text }: + ({ mkDerivation, attoparsec, base, bytestring, hedgehog, hspec + , hspec-discover, hw-hspec-hedgehog, hw-prim, text + }: mkDerivation { pname = "hw-parser"; - version = "0.1.0.0"; - sha256 = "14ck19m0fizv7zpqxnpgv7fah9x3fp0p5ax5a5zxr5s52b52mq2x"; + version = "0.1.0.1"; + sha256 = "0df3238y4ld9j9w4p1x4lcv13lip9cf3fqn88z98xqjqmfzjdffn"; + revision = "1"; + editedCabalFile = "1nf0s726vr90dggcjxp1qz1msnvckjj908rsc4f991524gz4ygh7"; libraryHaskellDepends = [ attoparsec base bytestring hw-prim text ]; + testHaskellDepends = [ base hedgehog hspec hw-hspec-hedgehog ]; + testToolDepends = [ hspec-discover ]; description = "Simple parser support"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hw-prim" = callPackage ({ mkDerivation, base, bytestring, criterion, directory, exceptions - , hedgehog, hspec, hw-hspec-hedgehog, mmap, QuickCheck, semigroups - , transformers, vector + , ghc-prim, hedgehog, hspec, hspec-discover, hw-hspec-hedgehog + , mmap, QuickCheck, semigroups, transformers, unliftio-core, vector }: mkDerivation { pname = "hw-prim"; - version = "0.6.2.22"; - sha256 = "16dfajzylki7g7p8q2a79dvx3xymxkrpckajdks9k3q4rxsc6k0i"; + version = "0.6.2.31"; + sha256 = "00xfakvwnj3zys2ilpc9w9z5qzw1ng3cc65jfa1860z6yr7xdp59"; libraryHaskellDepends = [ - base bytestring mmap semigroups transformers vector + base bytestring ghc-prim mmap semigroups transformers unliftio-core + vector ]; testHaskellDepends = [ base bytestring directory exceptions hedgehog hspec hw-hspec-hedgehog mmap QuickCheck semigroups transformers vector ]; + testToolDepends = [ hspec-discover ]; benchmarkHaskellDepends = [ base bytestring criterion mmap semigroups transformers vector ]; description = "Primitive functions and data types"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hw-prim-bits" = callPackage @@ -120479,15 +129078,17 @@ self: { "hw-rankselect" = callPackage ({ mkDerivation, base, bytestring, conduit, criterion, deepseq - , directory, hedgehog, hspec, hw-balancedparens, hw-bits - , hw-hedgehog, hw-hspec-hedgehog, hw-prim, hw-rankselect-base, lens - , mmap, mtl, optparse-applicative, QuickCheck, resourcet - , transformers, vector + , directory, generic-lens, hedgehog, hspec, hspec-discover + , hw-balancedparens, hw-bits, hw-hedgehog, hw-hspec-hedgehog + , hw-prim, hw-rankselect-base, lens, mmap, mtl + , optparse-applicative, QuickCheck, resourcet, transformers, vector }: mkDerivation { pname = "hw-rankselect"; - version = "0.12.0.4"; - sha256 = "0l27pfsqvil9l4p7hk2bvgxsa35z88179w88wbwvmjf4vsmpiqkh"; + version = "0.13.0.0"; + sha256 = "13cdsrg7akizf5gcjvpwr8mwhl6ds9n3y7ql559w52xy5s8viqzv"; + revision = "1"; + editedCabalFile = "17f9zdy7620d36mrrcakpr9rhzzr7rkv8hd5n47cqllmhzvns5mg"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -120495,13 +129096,14 @@ self: { vector ]; executableHaskellDepends = [ - base directory hw-bits hw-prim hw-rankselect-base lens mmap mtl - optparse-applicative vector + base directory generic-lens hw-bits hw-prim hw-rankselect-base lens + mmap mtl optparse-applicative vector ]; testHaskellDepends = [ base directory hedgehog hspec hw-bits hw-hedgehog hw-hspec-hedgehog hw-prim hw-rankselect-base mmap QuickCheck transformers vector ]; + testToolDepends = [ hspec-discover ]; benchmarkHaskellDepends = [ base bytestring conduit criterion directory hw-bits hw-prim hw-rankselect-base mmap resourcet vector @@ -120509,6 +129111,44 @@ self: { description = "Rank-select"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hw-rankselect_0_13_2_0" = callPackage + ({ mkDerivation, base, bytestring, conduit, criterion, deepseq + , directory, generic-lens, hedgehog, hspec, hspec-discover + , hw-balancedparens, hw-bits, hw-fingertree, hw-hedgehog + , hw-hspec-hedgehog, hw-prim, hw-rankselect-base, lens, mmap, mtl + , optparse-applicative, QuickCheck, resourcet, transformers, vector + }: + mkDerivation { + pname = "hw-rankselect"; + version = "0.13.2.0"; + sha256 = "00k163jalapxdlcmcvi4ddk60bsj34f7ng05agvh1374kybqscb4"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base deepseq hedgehog hspec hw-balancedparens hw-bits hw-fingertree + hw-prim hw-rankselect-base vector + ]; + executableHaskellDepends = [ + base directory generic-lens hw-bits hw-prim hw-rankselect-base lens + mmap mtl optparse-applicative vector + ]; + testHaskellDepends = [ + base directory hedgehog hspec hw-bits hw-hedgehog hw-hspec-hedgehog + hw-prim hw-rankselect-base mmap QuickCheck transformers vector + ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + base bytestring conduit criterion directory hw-bits hw-prim + hw-rankselect-base mmap resourcet vector + ]; + doHaddock = false; + description = "Rank-select"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-rankselect-base" = callPackage @@ -120520,6 +129160,8 @@ self: { pname = "hw-rankselect-base"; version = "0.3.2.1"; sha256 = "0q4kywln4bls2dvazhqh2acw4yqnabnx0mdkhldgg70q8amnq2nj"; + revision = "2"; + editedCabalFile = "0djyix1fp00s8j0qjja4557wdflgixpz4fvrmwiw7x294zr9f9fw"; libraryHaskellDepends = [ base bits-extra hw-bits hw-int hw-prim hw-string-parse safe vector ]; @@ -120533,18 +129175,21 @@ self: { description = "Rank-select base"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-simd" = callPackage ({ mkDerivation, base, bits-extra, bytestring, c2hs, cassava , containers, criterion, deepseq, directory, hedgehog, hspec - , hw-bits, hw-hedgehog, hw-hspec-hedgehog, hw-prim, hw-rankselect - , hw-rankselect-base, lens, mmap, text, vector + , hspec-discover, hw-bits, hw-hedgehog, hw-hspec-hedgehog, hw-prim + , hw-rankselect, hw-rankselect-base, lens, mmap, text, vector }: mkDerivation { pname = "hw-simd"; - version = "0.1.1.3"; - sha256 = "0wryx86ycpcyw1dyp2ks1j0rk7pk6yqihmwsa1sij1pf36qdkbrq"; + version = "0.1.1.4"; + sha256 = "1rc4zzp3h87zqrdsgwvc9vxydv200jk7q02vcqfk23wqg0sxvpw0"; + revision = "1"; + editedCabalFile = "00a1wr7sbz6hyapd26asx4zs3g1r8x2y61zdckfb2dxxhyhs2kjw"; libraryHaskellDepends = [ base bits-extra bytestring deepseq hw-bits hw-prim hw-rankselect hw-rankselect-base vector @@ -120555,6 +129200,7 @@ self: { hw-hedgehog hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base lens text vector ]; + testToolDepends = [ hspec-discover ]; benchmarkHaskellDepends = [ base bits-extra bytestring cassava containers criterion deepseq directory hw-bits hw-prim hw-rankselect hw-rankselect-base mmap @@ -120563,6 +129209,7 @@ self: { description = "SIMD library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-streams" = callPackage @@ -120575,6 +129222,8 @@ self: { pname = "hw-streams"; version = "0.0.0.10"; sha256 = "08ghjvgyd13b1mby213j86p9b8fbk3j3jbj1n9czq4w9sbsbpxxw"; + revision = "1"; + editedCabalFile = "141vh52p5mwxv77gdnbs6n0k9kkapz4wnwdbm4jpirmhl45bxzph"; libraryHaskellDepends = [ base bytestring ghc-prim hw-bits hw-prim mmap primitive semigroups transformers vector @@ -120592,6 +129241,7 @@ self: { description = "Primitive functions and data types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-string-parse" = callPackage @@ -120623,6 +129273,33 @@ self: { description = "Succint datastructures"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "hw-uri" = callPackage + ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3 + , antiope-core, antiope-s3, base, bytestring, directory, exceptions + , filepath, hedgehog, hspec, hspec-discover, http-client + , http-types, hw-hspec-hedgehog, lens, mtl, resourcet, text + }: + mkDerivation { + pname = "hw-uri"; + version = "0.1.1.0"; + sha256 = "1f96632k6pcaxhy2nrm13s9kdb0dz3vsav6hzf94wlv7zdlncn8x"; + libraryHaskellDepends = [ + aeson amazonka amazonka-core amazonka-s3 antiope-core antiope-s3 + base bytestring directory exceptions filepath http-client + http-types lens mtl resourcet text + ]; + testHaskellDepends = [ + aeson antiope-core antiope-s3 base bytestring filepath hedgehog + hspec http-types hw-hspec-hedgehog lens text + ]; + testToolDepends = [ hspec-discover ]; + description = "Supports IO on URIs"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hw-vector" = callPackage @@ -120637,7 +129314,6 @@ self: { testHaskellDepends = [ base hspec QuickCheck vector ]; description = "Vector type with convenient typeclass instances"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hw-xml" = callPackage @@ -120650,8 +129326,8 @@ self: { }: mkDerivation { pname = "hw-xml"; - version = "0.1.0.4"; - sha256 = "1ay4qz30m1aiych3rypbmpfbsc8wjal5w4l7h1zm44hl9ghiap9d"; + version = "0.3.0.0"; + sha256 = "1f7q4vqrj5iv2c2dcgc6cld6zaqqp8d575fnali1lg3fv5n1g69k"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -120678,6 +129354,7 @@ self: { description = "Conduits for tokenizing streams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hwall-auth-iitk" = callPackage @@ -120697,6 +129374,7 @@ self: { description = "Initial version of firewall Authentication for IITK network"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hweblib" = callPackage @@ -120720,6 +129398,7 @@ self: { description = "Haskell Web Library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hwhile" = callPackage @@ -120728,8 +129407,8 @@ self: { }: mkDerivation { pname = "hwhile"; - version = "0.1.1.3"; - sha256 = "1cd5a6szangr456dsw6j4zf8cgg30lw4dkhsjhw02lag9ips6v7s"; + version = "0.1.1.6"; + sha256 = "1cbb4djd0dnawbvjxnnsw6k7kz6gv79gkywvvvdbzri0krzb9isk"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -120741,6 +129420,7 @@ self: { description = "An implementation of Neil D. Jones' While language"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hworker" = callPackage @@ -120763,6 +129443,7 @@ self: { description = "A reliable at-least-once job queue built on top of redis"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hworker-ses" = callPackage @@ -120780,28 +129461,28 @@ self: { description = "Library for sending email with Amazon's SES and hworker"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hwormhole" = callPackage ({ mkDerivation, aeson, async, base, binary, binary-conduit , bytestring, conduit, conduit-extra, containers, cryptonite - , directory, filepath, haskeline, hedgehog, hex, hspec - , magic-wormhole, memory, mtl, network, network-info - , optparse-applicative, pathwalk, protolude, random, saltine - , spake2, temporary, text, transformers, unix-compat, zip + , directory, filepath, haskeline, hedgehog, hspec, magic-wormhole + , memory, mtl, network, network-info, optparse-applicative + , pathwalk, pgp-wordlist, protolude, random, saltine, spake2 + , temporary, text, transformers, unix-compat, zip }: mkDerivation { pname = "hwormhole"; - version = "0.2.0.0"; - sha256 = "0y0wg4zxq8wzym8x7b103h0ai2z5ji22vvqz4i64pnzq83ksmxym"; + version = "0.2.0.1"; + sha256 = "1y3x13lh1g048a1myk5kkm078b34p4rdfhjcvfc991ys5zc46sir"; isLibrary = true; isExecutable = true; - enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson async base binary bytestring conduit conduit-extra containers - cryptonite directory filepath haskeline hex magic-wormhole memory - mtl network network-info pathwalk protolude random saltine spake2 - temporary text transformers unix-compat zip + cryptonite directory filepath haskeline magic-wormhole memory mtl + network network-info pathwalk pgp-wordlist protolude random saltine + spake2 temporary text transformers unix-compat zip ]; executableHaskellDepends = [ aeson base binary bytestring optparse-applicative protolude text @@ -120814,6 +129495,7 @@ self: { description = "magic-wormhole client"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hws" = callPackage @@ -120833,6 +129515,7 @@ self: { description = "Simple Haskell Web Server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hwsl2" = callPackage @@ -120853,6 +129536,7 @@ self: { description = "Hashing with SL2"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hwsl2-bytevector" = callPackage @@ -120865,6 +129549,7 @@ self: { description = "A hashed byte-vector based on algebraic hashes and finger trees"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hwsl2-reducers" = callPackage @@ -120879,6 +129564,7 @@ self: { description = "Semigroup and Reducer instances for Data.Hash.SL2"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hx" = callPackage @@ -120909,6 +129595,7 @@ self: { description = "Haskell XMPP (Jabber Client) Command Line Interface (CLI)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hxournal" = callPackage @@ -120936,6 +129623,7 @@ self: { description = "A pen notetaking program written in haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hxt" = callPackage @@ -120945,8 +129633,8 @@ self: { }: mkDerivation { pname = "hxt"; - version = "9.3.1.16"; - sha256 = "1qq3ykgn355rx242xjcbqqksgvwr6k2fdj5phw4iv28qqxff6m8d"; + version = "9.3.1.18"; + sha256 = "0836k65px3w9c5h1h2bmzq5a7mp6ajxwvfg3pfr2kbxwkgc0j63j"; libraryHaskellDepends = [ base binary bytestring containers deepseq directory filepath hxt-charproperties hxt-regex-xmlschema hxt-unicode mtl network-uri @@ -120993,8 +129681,8 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "hxt-charproperties"; - version = "9.2.0.1"; - sha256 = "1mml8wglvagqq891rchgli6r8rnkwrqhgsxfl6kb5403pzb18rp4"; + version = "9.4.0.0"; + sha256 = "1bk88hj2pqlvcnyfncqyb9j7w9vvdxcq3cgr0w2l09c0abas23pm"; libraryHaskellDepends = [ base ]; description = "Character properties and classes for XML and Unicode"; license = stdenv.lib.licenses.mit; @@ -121092,6 +129780,7 @@ self: { description = "Utility functions for using HXT picklers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hxt-regex-xmlschema" = callPackage @@ -121102,6 +129791,8 @@ self: { pname = "hxt-regex-xmlschema"; version = "9.2.0.3"; sha256 = "1c4jr0439f5yc05h7iz53fa47g6l2wrvqp6gvwf01mlqajk3nx7l"; + revision = "1"; + editedCabalFile = "0vg9vnfjmq1ma6zwwv4yvfih6wbslksvsvy9b41i4f81l0hh7ia8"; libraryHaskellDepends = [ base bytestring hxt-charproperties parsec text ]; @@ -121197,6 +129888,7 @@ self: { description = "Helper functions for HXT"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hxweb" = callPackage @@ -121209,6 +129901,7 @@ self: { description = "Minimal webframework using fastcgi, libxml2 and libxslt"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hyahtzee" = callPackage @@ -121223,6 +129916,7 @@ self: { description = "A Yahtzee game implementation in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hyakko" = callPackage @@ -121245,6 +129939,7 @@ self: { description = "Literate-style Documentation Generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hybrid" = callPackage @@ -121262,6 +129957,7 @@ self: { description = "A implementation of a type-checker for Lambda-H"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hybrid-vectors" = callPackage @@ -121270,6 +129966,8 @@ self: { pname = "hybrid-vectors"; version = "0.2.2"; sha256 = "1mw69xjdncj6kqa2mvag8xc79y4jijnh2qg6ahrhifb4vxqw7ij1"; + revision = "1"; + editedCabalFile = "16wpgh7cxgmap5acyccbff02b2jvhqiad5m3fknribpbahvmkk88"; libraryHaskellDepends = [ base deepseq primitive semigroups vector ]; @@ -121289,6 +129987,7 @@ self: { description = "Haskell binding to the Sixense SDK for the Razer Hydra"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {sixense_x64 = null;}; "hydra-print" = callPackage @@ -121321,6 +130020,7 @@ self: { description = "NCurses interface to view multiple ByteString streams in parallel"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hydrogen" = callPackage @@ -121338,6 +130038,7 @@ self: { description = "An alternate Prelude"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hydrogen-cli" = callPackage @@ -121359,6 +130060,7 @@ self: { description = "Hydrogen Data"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hydrogen-cli-args" = callPackage @@ -121375,6 +130077,7 @@ self: { description = "Hydrogen Command Line Arguments Parser"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hydrogen-data" = callPackage @@ -121387,6 +130090,7 @@ self: { description = "Hydrogen Data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hydrogen-multimap" = callPackage @@ -121399,6 +130103,7 @@ self: { description = "Hydrogen Multimap"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hydrogen-parsing" = callPackage @@ -121413,6 +130118,7 @@ self: { description = "Hydrogen Parsing Utilities"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hydrogen-prelude" = callPackage @@ -121433,6 +130139,7 @@ self: { description = "Hydrogen Prelude"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hydrogen-prelude-parsec" = callPackage @@ -121445,6 +130152,7 @@ self: { description = "Hydrogen Prelude /w Parsec"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hydrogen-syntax" = callPackage @@ -121462,6 +130170,7 @@ self: { description = "Hydrogen Syntax"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hydrogen-util" = callPackage @@ -121477,6 +130186,7 @@ self: { description = "Hydrogen Tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hydrogen-version" = callPackage @@ -121506,6 +130216,7 @@ self: { description = "Simple web application server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hylide" = callPackage @@ -121528,6 +130239,7 @@ self: { description = "WebGL live-coding environment for writing shaders with Hylogen"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hylogen" = callPackage @@ -121547,14 +130259,15 @@ self: { }: mkDerivation { pname = "hylolib"; - version = "1.5.3"; - sha256 = "1jpmgpw7cln4r1y4jc4rn17b8wm3vw4dbbzj1fcvljdi73z5yg4b"; + version = "1.5.4"; + sha256 = "0vznqq8z4f42plidagmg2d099gvfk3pwv4xclar8d0gp6dsbks6v"; libraryHaskellDepends = [ array base containers mtl pretty random uniplate ]; description = "Tools for hybrid logics related programs"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hylotab" = callPackage @@ -121570,6 +130283,7 @@ self: { description = "Tableau based theorem prover for hybrid logics"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hyloutils" = callPackage @@ -121586,6 +130300,7 @@ self: { description = "Very small programs for hybrid logics"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hyper" = callPackage @@ -121631,6 +130346,7 @@ self: { description = "Server back-end for the HyperHaskell graphical Haskell interpreter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hyperdrive" = callPackage @@ -121650,6 +130366,7 @@ self: { description = "a fast, trustworthy HTTP(s) server built"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hyperfunctions" = callPackage @@ -121666,6 +130383,7 @@ self: { description = "Hyperfunctions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hyperion" = callPackage @@ -121694,6 +130412,7 @@ self: { description = "Reliable performance measurement with robust data export"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hyperloglog" = callPackage @@ -121707,6 +130426,8 @@ self: { pname = "hyperloglog"; version = "0.4.2"; sha256 = "0j0hbzpap3f92kvywsxjahxmqrdj51275jdv0h7f9lf9qby3rf7m"; + revision = "1"; + editedCabalFile = "1zh47rrwih6933hhq9vd0ly5s42w0bn196znkg9l8q6r6drl7xsf"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ approximate base binary bits bytes cereal cereal-vector comonad @@ -121736,6 +130457,7 @@ self: { description = "Approximate cardinality estimation using constant space"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hyperpublic" = callPackage @@ -121752,6 +130474,7 @@ self: { description = "A thin wrapper for the Hyperpublic API"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hyphenate" = callPackage @@ -121767,18 +130490,16 @@ self: { "hyphenation" = callPackage ({ mkDerivation, base, bytestring, Cabal, cabal-doctest, containers - , doctest, unordered-containers, zlib + , doctest, text, unordered-containers, zlib }: mkDerivation { pname = "hyphenation"; - version = "0.7.1"; - sha256 = "1h5i07v2zlka29dj4zysc47p747j88x6z4zm3zwcr5i8yirm0p52"; - revision = "4"; - editedCabalFile = "0pp7qm40alsfd9z5dvp6l2c7dp9zp0skl9g0iib3jahxs3n8qcrr"; + version = "0.8"; + sha256 = "09c9xpygjnq7kqcaybls91s7g1cv40rg54dn9w1svk973h0lgyii"; enableSeparateDataOutput = true; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ - base bytestring containers unordered-containers zlib + base bytestring containers text unordered-containers zlib ]; testHaskellDepends = [ base containers doctest unordered-containers @@ -121815,6 +130536,7 @@ self: { description = "A Haskell neo4j client"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "hyraxAbif" = callPackage @@ -121825,6 +130547,8 @@ self: { pname = "hyraxAbif"; version = "0.2.3.15"; sha256 = "1wfmlqgk751ij30x0dkyc9fyc6j1a96l0s7fjj1sywdvawd8cfh1"; + revision = "1"; + editedCabalFile = "07i4ippga6cnwr9yl6nkrhakl9sim73fprf29lnmsvdc8ynbifcd"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -121925,6 +130649,7 @@ self: { description = "A haskell wrapper for the Zulip API"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "i18n" = callPackage @@ -121946,6 +130671,47 @@ self: { description = "Internationalization for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "i3blocks-hs-contrib" = callPackage + ({ mkDerivation, aeson, attoparsec, base, lens, lens-aeson, text + , time, transformers, turtle, wreq + }: + mkDerivation { + pname = "i3blocks-hs-contrib"; + version = "1.0.0"; + sha256 = "1lg60cgmyavlmn5a9ywa45vxskndqfbpy18vc6r6kxl49xgcqmpn"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base text turtle ]; + executableHaskellDepends = [ + aeson attoparsec base lens lens-aeson text time transformers turtle + wreq + ]; + description = "Base i3blocks written in haskell"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "i3ipc" = callPackage + ({ mkDerivation, aeson, base, binary, bytestring, containers, hspec + , network, text, typed-process, vector + }: + mkDerivation { + pname = "i3ipc"; + version = "0.1.0.0"; + sha256 = "05bpp6gz4hdjifs2q3m5b5i45438b82mxf3yq4dp100ypg6pa705"; + libraryHaskellDepends = [ + aeson base binary bytestring containers network text typed-process + vector + ]; + testHaskellDepends = [ aeson base bytestring hspec ]; + description = "A type-safe wrapper around i3's IPC"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iCalendar" = callPackage @@ -121965,6 +130731,7 @@ self: { description = "iCalendar data types, parser, and printer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iException" = callPackage @@ -121994,6 +130761,7 @@ self: { description = "A simple wrapper of In-App-Purchase receipt validate APIs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ib-api" = callPackage @@ -122011,6 +130779,7 @@ self: { description = "An API for the Interactive Brokers Trading Workstation written in pure Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iban" = callPackage @@ -122030,6 +130799,7 @@ self: { description = "Validate and generate IBANs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ibus-hs" = callPackage @@ -122063,6 +130833,7 @@ self: { description = "iCalendar format parser and org-mode converter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "icon-fonts" = callPackage @@ -122102,6 +130873,7 @@ self: { description = "Type safe iconv wrapper"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ide-backend" = callPackage @@ -122149,6 +130921,7 @@ self: { description = "An IDE backend library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ide-backend-common" = callPackage @@ -122174,6 +130947,7 @@ self: { description = "Shared library used be ide-backend and ide-backend-server"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ide-backend-rts" = callPackage @@ -122209,6 +130983,7 @@ self: { description = "An IDE backend server"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ideas" = callPackage @@ -122229,6 +131004,7 @@ self: { description = "Feedback services for intelligent tutoring systems"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ideas-math" = callPackage @@ -122247,6 +131023,7 @@ self: { description = "Interactive domain reasoner for logic and mathematics"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "idempotent" = callPackage @@ -122260,6 +131037,7 @@ self: { description = "Idempotent monoids"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "identicon" = callPackage @@ -122292,6 +131070,8 @@ self: { pname = "identicon-style-squares"; version = "0.1.0.1"; sha256 = "1x456v7fb211f7ciipp2bfn9fvh5w4i34bl5mjw7bkn7hgsaa3x6"; + revision = "2"; + editedCabalFile = "1bi5sn62z23j9n7bxlaz5qiwk52v7sfr70bk0by9vk6nlylli8r1"; libraryHaskellDepends = [ base identicon JuicyPixels polyvariadic ]; @@ -122325,6 +131105,7 @@ self: { description = "Numeric identifiers for values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "idiii" = callPackage @@ -122351,6 +131132,7 @@ self: { description = "ID3v2 (tagging standard for MP3 files) library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "idna" = callPackage @@ -122374,6 +131156,7 @@ self: { description = "Converts Unicode hostnames into ASCII"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "idringen" = callPackage @@ -122402,15 +131185,16 @@ self: { , blaze-html, blaze-markup, bytestring, Cabal, cheapskate , code-page, containers, deepseq, directory, filepath, fingertree , fsnotify, gmp, haskeline, ieee754, libffi, megaparsec, mtl - , network, optparse-applicative, pretty, process, regex-tdfa, safe - , split, tagged, tasty, tasty-golden, tasty-rerun, terminal-size - , text, time, transformers, uniplate, unix, unordered-containers - , utf8-string, vector, vector-binary-instances, zip-archive + , network, optparse-applicative, parser-combinators, pretty + , process, regex-tdfa, safe, split, tagged, tasty, tasty-golden + , tasty-rerun, terminal-size, text, time, transformers, uniplate + , unix, unordered-containers, utf8-string, vector + , vector-binary-instances, zip-archive }: mkDerivation { pname = "idris"; - version = "1.3.1"; - sha256 = "0fn9h58l592j72njwma1ia48h8h87wi2rjqfxs7j2lfmvgfv18fi"; + version = "1.3.2"; + sha256 = "0wychzkg0yghd2pp8fqz78vp1ayzks191knfpl7mhh8igsmb6bc7"; configureFlags = [ "-fcurses" "-fexeconly" "-fffi" "-fgmp" ]; isLibrary = true; isExecutable = true; @@ -122421,8 +131205,8 @@ self: { base base64-bytestring binary blaze-html blaze-markup bytestring cheapskate code-page containers deepseq directory filepath fingertree fsnotify haskeline ieee754 libffi megaparsec mtl network - optparse-applicative pretty process regex-tdfa safe split - terminal-size text time transformers uniplate unix + optparse-applicative parser-combinators pretty process regex-tdfa + safe split terminal-size text time transformers uniplate unix unordered-containers utf8-string vector vector-binary-instances zip-archive ]; @@ -122437,7 +131221,6 @@ self: { ]; description = "Functional Programming Language with Dependent Types"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) gmp;}; "ieee" = callPackage @@ -122461,6 +131244,7 @@ self: { description = "ieee-utils"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ieee-utils-tempfix" = callPackage @@ -122495,6 +131279,25 @@ self: { license = "GPL"; }) {}; + "iexcloud" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, http-conduit + , HUnit, semigroups, stocks, unordered-containers + }: + mkDerivation { + pname = "iexcloud"; + version = "0.0.0.1"; + sha256 = "15qn3h1bz75bykcnyra6gg4d33gmr6ywc485hk2gmi4k6hbl6amf"; + libraryHaskellDepends = [ + aeson base bytestring containers http-conduit semigroups + unordered-containers + ]; + testHaskellDepends = [ base bytestring HUnit stocks ]; + description = "Library for the IEX Trading API"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "if" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -122519,6 +131322,7 @@ self: { description = "put if statements within type constraints"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iff" = callPackage @@ -122568,6 +131372,7 @@ self: { description = "Bindings to Instagram's API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ige" = callPackage @@ -122591,6 +131396,7 @@ self: { description = "An keyboard-driven interactive graph editor"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ige-mac-integration" = callPackage @@ -122610,6 +131416,7 @@ self: { description = "Bindings for the Gtk/OS X integration library"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {ige-mac-integration = null;}; "ignore" = callPackage @@ -122630,6 +131437,7 @@ self: { description = "Handle ignore files of different VCSes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "igraph" = callPackage @@ -122648,6 +131456,7 @@ self: { description = "Bindings to the igraph C library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) igraph;}; "igrf" = callPackage @@ -122662,6 +131471,7 @@ self: { description = "International Geomagnetic Reference Field"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell" = callPackage @@ -122669,14 +131479,15 @@ self: { , cmdargs, containers, directory, filepath, ghc, ghc-boot , ghc-parser, ghc-paths, haskeline, haskell-src-exts, here, hlint , hspec, hspec-contrib, http-client, http-client-tls, HUnit - , ipython-kernel, mtl, parsec, process, random, setenv, shelly - , split, stm, strict, system-argv0, text, transformers, unix - , unordered-containers, utf8-string, uuid, vector + , ipython-kernel, mtl, parsec, process, random, raw-strings-qq + , setenv, shelly, split, stm, strict, system-argv0, text, time + , transformers, unix, unordered-containers, utf8-string, uuid + , vector }: mkDerivation { pname = "ihaskell"; - version = "0.9.1.0"; - sha256 = "1r71bijgfcsgsymg9aqjkgplg8c9g65zddr7dqf7d3mv2bpb5ain"; + version = "0.10.0.0"; + sha256 = "0fmz0l2mpl6qwh4c00ppryxs2nfacmi1n3k21645v62vyhk0favp"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -122685,19 +131496,20 @@ self: { directory filepath ghc ghc-boot ghc-parser ghc-paths haskeline haskell-src-exts hlint http-client http-client-tls ipython-kernel mtl parsec process random shelly split stm strict system-argv0 text - transformers unix unordered-containers utf8-string uuid vector + time transformers unix unordered-containers utf8-string uuid vector ]; executableHaskellDepends = [ aeson base bytestring containers directory ghc ipython-kernel - process strict text transformers unix + process strict text transformers unix unordered-containers ]; testHaskellDepends = [ - base directory ghc ghc-paths here hspec hspec-contrib HUnit setenv - shelly text transformers + base directory ghc ghc-paths here hspec hspec-contrib HUnit + raw-strings-qq setenv shelly text transformers ]; description = "A Haskell backend kernel for the IPython project"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-aeson" = callPackage @@ -122714,6 +131526,7 @@ self: { description = "IHaskell display instances for Aeson"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-basic" = callPackage @@ -122726,6 +131539,7 @@ self: { description = "IHaskell display instances for basic types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-blaze" = callPackage @@ -122738,6 +131552,7 @@ self: { description = "IHaskell display instances for blaze-html types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-charts" = callPackage @@ -122755,6 +131570,7 @@ self: { description = "IHaskell display instances for charts types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-diagrams" = callPackage @@ -122772,6 +131588,7 @@ self: { description = "IHaskell display instances for diagram types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-display" = callPackage @@ -122784,6 +131601,7 @@ self: { description = "IHaskell display instances for basic types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-gnuplot" = callPackage @@ -122796,6 +131614,20 @@ self: { description = "IHaskell display instance for Gnuplot (from gnuplot package)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "ihaskell-graphviz" = callPackage + ({ mkDerivation, base, bytestring, ihaskell, process }: + mkDerivation { + pname = "ihaskell-graphviz"; + version = "0.1.0.0"; + sha256 = "1min39vd75rn7vwpmggf8a30fhlv5zphhmckb5a4g6lqg5v1kf1y"; + libraryHaskellDepends = [ base bytestring ihaskell process ]; + description = "IHaskell display instance for GraphViz (external binary)"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-hatex" = callPackage @@ -122808,18 +131640,20 @@ self: { description = "IHaskell display instances for hatex"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-hvega" = callPackage ({ mkDerivation, aeson, base, hvega, ihaskell, text }: mkDerivation { pname = "ihaskell-hvega"; - version = "0.1.0.3"; - sha256 = "0dkqw6hs2388jgghpq5xgdsh3gwvv274axj84nawg2blpqf3d4fb"; + version = "0.2.0.2"; + sha256 = "0xbv8801wxslcs9fsjssvdldz6nq8zmxm6l4pwkv8zpasqzq4k9q"; libraryHaskellDepends = [ aeson base hvega ihaskell text ]; description = "IHaskell display instance for hvega types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-inline-r" = callPackage @@ -122838,6 +131672,7 @@ self: { description = "Embed R quasiquotes and plots in IHaskell notebooks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-juicypixels" = callPackage @@ -122853,6 +131688,7 @@ self: { description = "IHaskell - IHaskellDisplay instances of the image types of the JuicyPixels package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-magic" = callPackage @@ -122870,6 +131706,7 @@ self: { description = "IHaskell display instances for bytestrings"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-parsec" = callPackage @@ -122886,6 +131723,7 @@ self: { description = "IHaskell display instances for Parsec"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-plot" = callPackage @@ -122898,6 +131736,7 @@ self: { description = "IHaskell display instance for Plot (from plot package)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-rlangqq" = callPackage @@ -122916,6 +131755,7 @@ self: { description = "a rDisp quasiquote to show plots from Rlang-QQ in IHaskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihaskell-widgets" = callPackage @@ -122925,8 +131765,8 @@ self: { }: mkDerivation { pname = "ihaskell-widgets"; - version = "0.2.3.2"; - sha256 = "18kp3s534k241ld1s0ds5hln47pc863dfs3i6r9w67adnf6qhff8"; + version = "0.2.3.3"; + sha256 = "1b4v8ng9y9n9wkadjj06iab71gbqkfr7plxxn1a9fn6qgnnlmdg8"; libraryHaskellDepends = [ aeson base containers ihaskell ipython-kernel scientific singletons text unix unordered-containers vector vinyl @@ -122934,6 +131774,7 @@ self: { description = "IPython standard widgets for IHaskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ihs" = callPackage @@ -122966,6 +131807,7 @@ self: { description = "Incremental HTTP iteratee"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ilist" = callPackage @@ -123004,6 +131846,7 @@ self: { description = "A fast syntax highlighting library built with alex"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "image-type" = callPackage @@ -123073,6 +131916,7 @@ self: { description = "Command-line image paste utility"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "imagesize-conduit" = callPackage @@ -123120,6 +131964,7 @@ self: { description = "An efficient IMAP client library, with SSL and streaming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "imapget" = callPackage @@ -123138,6 +131983,7 @@ self: { description = "Downloads email from imap SSL servers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "imbib" = callPackage @@ -123160,6 +132006,22 @@ self: { description = "Minimalistic reference manager"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "imgur" = callPackage + ({ mkDerivation, base, data-default-class, http-client, req, text + , xml-conduit, xml-lens + }: + mkDerivation { + pname = "imgur"; + version = "1.0"; + sha256 = "140n07ygfjnyxfqbq2vzfgsk93b3j5m2s61jcivx74z6sc7g867h"; + libraryHaskellDepends = [ + base data-default-class http-client req text xml-conduit xml-lens + ]; + description = "A function to post an image to imgur"; + license = stdenv.lib.licenses.asl20; }) {}; "imgurder" = callPackage @@ -123181,6 +132043,7 @@ self: { description = "Uploader for Imgur"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "imj-animation" = callPackage @@ -123194,6 +132057,7 @@ self: { description = "Animation Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "imj-base" = callPackage @@ -123219,6 +132083,7 @@ self: { description = "Game engine with geometry, easing, animated text, delta rendering"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "imj-game-hamazed" = callPackage @@ -123240,6 +132105,7 @@ self: { description = "A game with flying numbers and 8-bit color animations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "imj-measure-stdout" = callPackage @@ -123256,6 +132122,7 @@ self: { description = "An application to determine the maximum capacity of stdout buffer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "imj-prelude" = callPackage @@ -123268,42 +132135,49 @@ self: { description = "Prelude library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "imm" = callPackage - ({ mkDerivation, aeson, atom-conduit, base, base-noprelude + ({ mkDerivation, aeson, async, atom-conduit, base-noprelude, binary , blaze-html, blaze-markup, bytestring, case-insensitive, conduit - , connection, containers, directory, dyre, fast-logger, filepath + , connection, containers, dhall, directory, fast-logger, filepath , hashable, HaskellNet, HaskellNet-SSL, http-client , http-client-tls, http-types, microlens, mime-mail, monad-time - , monoid-subclasses, mtl, network, opml-conduit - , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal - , refined, relude, rss-conduit, safe-exceptions, stm - , streaming-bytestring, streaming-with, streamly, text, time - , timerep, tls, transformers-base, uri-bytestring, xml, xml-conduit - , xml-types + , msgpack, network, opml-conduit, optparse-applicative + , prettyprinter, prettyprinter-ansi-terminal, refined, relude + , rss-conduit, safe-exceptions, stm, stm-chans + , streaming-bytestring, streaming-with, text, time, timerep, tls + , typed-process, uri-bytestring, xml-conduit, xml-types }: mkDerivation { pname = "imm"; - version = "1.5.0.0"; - sha256 = "005idmw68z28pfj8q6x6al809w5hd83m0jykg5m8m1xy9fv1plja"; + version = "1.7.0.0"; + sha256 = "0slgfg4ay8j1kcvskl60gd2xbwllxcip6104wg36hcmb1symgdf1"; isLibrary = true; isExecutable = true; + enableSeparateDataOutput = true; libraryHaskellDepends = [ - aeson atom-conduit base-noprelude blaze-html blaze-markup - bytestring case-insensitive conduit connection containers directory - dyre fast-logger filepath hashable HaskellNet HaskellNet-SSL - http-client http-client-tls http-types microlens mime-mail - monad-time monoid-subclasses mtl network opml-conduit - optparse-applicative prettyprinter prettyprinter-ansi-terminal - refined relude rss-conduit safe-exceptions stm streaming-bytestring - streaming-with streamly text time timerep tls transformers-base - uri-bytestring xml xml-conduit xml-types + aeson async atom-conduit base-noprelude binary conduit containers + dhall directory filepath hashable http-types microlens monad-time + msgpack prettyprinter prettyprinter-ansi-terminal refined relude + rss-conduit safe-exceptions text time timerep tls uri-bytestring + xml-conduit xml-types ]; - executableHaskellDepends = [ base ]; - description = "Execute arbitrary actions for each unread element of RSS/Atom feeds"; - license = stdenv.lib.licenses.publicDomain; + executableHaskellDepends = [ + aeson async atom-conduit base-noprelude blaze-html blaze-markup + bytestring case-insensitive conduit connection containers dhall + directory fast-logger filepath HaskellNet HaskellNet-SSL + http-client http-client-tls mime-mail msgpack network opml-conduit + optparse-applicative prettyprinter prettyprinter-ansi-terminal + refined relude rss-conduit safe-exceptions stm stm-chans + streaming-bytestring streaming-with text time typed-process + uri-bytestring xml-conduit xml-types + ]; + description = "Execute arbitrary callbacks for each element of RSS/Atom feeds"; + license = stdenv.lib.licenses.cc0; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "immortal" = callPackage @@ -123342,6 +132216,7 @@ self: { description = "Multi-platform parser analyzer and generator"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "imperative-edsl" = callPackage @@ -123353,8 +132228,8 @@ self: { }: mkDerivation { pname = "imperative-edsl"; - version = "0.7.1"; - sha256 = "0cia9yq5z7h3024kwhwjzzaq97281aib1nwimj6b4rp425yfybfr"; + version = "0.8"; + sha256 = "0mz6yy472wvcg4ywjhaaqi0cxyy9l437pw4rkwd2j392n6hlfbar"; libraryHaskellDepends = [ array base BoundedChan containers data-default-class deepseq directory exception-transformers ghc-prim language-c-quote @@ -123368,6 +132243,7 @@ self: { description = "Deep embedding of imperative programs with code generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "imperative-edsl-vhdl" = callPackage @@ -123385,6 +132261,7 @@ self: { description = "Deep embedding of VHDL programs with code generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "impl" = callPackage @@ -123397,6 +132274,8 @@ self: { doHaddock = false; description = "Framework for defaulting superclasses"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "implicit" = callPackage @@ -123444,6 +132323,7 @@ self: { description = "A logging framework built around implicit parameters"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "implicit-params" = callPackage @@ -123456,6 +132336,7 @@ self: { description = "Named and unnamed implicit parameters with defaults"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "importify" = callPackage @@ -123489,6 +132370,7 @@ self: { description = "Tool for haskell imports refactoring"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "imports" = callPackage @@ -123502,6 +132384,7 @@ self: { description = "Generate code for importing directories automatically"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "impossible" = callPackage @@ -123582,6 +132465,7 @@ self: { description = "An imperative, verifiable programming language for high assurance applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "impure-containers" = callPackage @@ -123594,6 +132478,8 @@ self: { pname = "impure-containers"; version = "0.5.0"; sha256 = "0rwk7wsymga61192mmjj42079v209dj9gdcjpwjmji1ivxwzy13p"; + revision = "1"; + editedCabalFile = "1lazk77rxrbmkyyrlwvbr25n47n5ncl5r32aiafkjfhv90nl4y2g"; libraryHaskellDepends = [ base containers ghc-prim hashable primitive vector ]; @@ -123605,6 +132491,7 @@ self: { description = "Mutable containers in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "inc-ref" = callPackage @@ -123639,6 +132526,7 @@ self: { description = "A type-checker for Haskell with integer constraints"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "inchworm" = callPackage @@ -123651,6 +132539,7 @@ self: { description = "Simple parser combinators for lexical analysis"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "include-file" = callPackage @@ -123669,16 +132558,19 @@ self: { benchmarkHaskellDepends = [ base bytestring criterion ]; description = "Inclusion of files in executables at compile-time"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "incremental" = callPackage - ({ mkDerivation, base, containers, deepseq, semigroups }: + ({ mkDerivation, aeson, base, containers, deepseq, extensible + , semigroups, text + }: mkDerivation { pname = "incremental"; - version = "0"; - sha256 = "01fvc963gln6svash9cf9v2wbfnssh4j5r49l6y23zmnmqnzxs8x"; - libraryHaskellDepends = [ base containers deepseq semigroups ]; + version = "0.1"; + sha256 = "03yax3xkp1mlipi1vn97ljz05c6fxflpvz9myqvlxcj658p9f3kh"; + libraryHaskellDepends = [ + aeson base containers deepseq extensible semigroups text + ]; testHaskellDepends = [ base ]; description = "incremental update library"; license = stdenv.lib.licenses.bsd3; @@ -123703,6 +132595,7 @@ self: { description = "Incremental computing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "incremental-maps" = callPackage @@ -123727,6 +132620,7 @@ self: { description = "Package for doing incremental computations on maps"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "incremental-parser" = callPackage @@ -123735,8 +132629,8 @@ self: { }: mkDerivation { pname = "incremental-parser"; - version = "0.3.2.1"; - sha256 = "07banm2lnrhjvihs0iaij0kqgff198qcbah02s3cjyyl70cmllfr"; + version = "0.3.2.2"; + sha256 = "0mnqi0fnh5sl1fp74gcwvfm6mxhzrs1x7yl235yl0dhcyjp3vfx7"; libraryHaskellDepends = [ base monoid-subclasses ]; testHaskellDepends = [ base checkers monoid-subclasses QuickCheck tasty tasty-quickcheck @@ -123777,6 +132671,21 @@ self: { description = "type classes for incremental updates to data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "indent" = callPackage + ({ mkDerivation, base, containers, optparse-applicative, text }: + mkDerivation { + pname = "indent"; + version = "0.0.5"; + sha256 = "0xqvdns8rqdfqw872rcmnbiwnms8dkdp15vkczcypsxic1bliv5w"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base containers text ]; + executableHaskellDepends = [ base optparse-applicative text ]; + description = "Fix your indentation"; + license = stdenv.lib.licenses.bsd3; }) {}; "indentation" = callPackage @@ -123860,6 +132769,7 @@ self: { description = "indentation sensitive parser-combinators for parsec"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "index-core" = callPackage @@ -123893,6 +132803,7 @@ self: { description = "Tools for entity indexation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "indexed" = callPackage @@ -123967,6 +132878,7 @@ self: { description = "A series of type families and constraints for \"indexable\" types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "indian-language-font-converter" = callPackage @@ -123978,7 +132890,6 @@ self: { libraryHaskellDepends = [ base gtk HDBC HDBC-sqlite3 ]; description = "Indian Language Font Converter"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "indices" = callPackage @@ -123995,6 +132906,7 @@ self: { description = "Multi-dimensional statically bounded indices"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "indieweb-algorithms" = callPackage @@ -124021,6 +132933,7 @@ self: { description = "A collection of implementations of IndieWeb algorithms"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "inf-interval" = callPackage @@ -124034,6 +132947,7 @@ self: { description = "Non-contiguous interval data types with potentially infinite ranges"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "infer-license" = callPackage @@ -124070,6 +132984,7 @@ self: { description = "Find the repository from where a given repo was forked"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "infernu" = callPackage @@ -124091,6 +133006,7 @@ self: { description = "Type inference and checker for JavaScript (experimental)"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "infinite-search" = callPackage @@ -124118,6 +133034,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "infix" = callPackage @@ -124130,6 +133047,7 @@ self: { description = "Infix expression re-parsing (for HsParser library)"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "inflections" = callPackage @@ -124162,19 +133080,20 @@ self: { description = "An infinite list type and operations thereon"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "influxdb" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal , cabal-doctest, clock, containers, doctest, foldl, http-client - , http-types, lens, network, optional-args, QuickCheck, scientific - , tagged, template-haskell, text, time, unordered-containers - , vector + , http-types, lens, network, optional-args, raw-strings-qq + , scientific, tagged, tasty, tasty-hunit, template-haskell, text + , time, unordered-containers, vector }: mkDerivation { pname = "influxdb"; - version = "1.6.1.2"; - sha256 = "1bzy78amw6k02bi2fjm2i8vah9lwxpy2fdlq35gdsffhwrif29mg"; + version = "1.7.1"; + sha256 = "1nny63rd9bw7ijg9l09cd467whfaa1n3ph8dqdy7bp6kcbvdwnzn"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal cabal-doctest ]; @@ -124183,7 +133102,10 @@ self: { http-types lens network optional-args scientific tagged text time unordered-containers vector ]; - testHaskellDepends = [ base doctest QuickCheck template-haskell ]; + testHaskellDepends = [ + base containers doctest raw-strings-qq tasty tasty-hunit + template-haskell time + ]; description = "Haskell client library for InfluxDB"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -124198,6 +133120,8 @@ self: { pname = "informative"; version = "0.1.0.27"; sha256 = "05h69883lmj9d80h847yig0ryl1a49y7pckdhq8gl9ahx3hzsgyh"; + revision = "1"; + editedCabalFile = "1bcdaykax075cal066v7j3f1jmbhkqpql0wkj3dny6ww9jdvq1ws"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -124213,24 +133137,10 @@ self: { description = "A yesod subsite serving a wiki"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ini" = callPackage - ({ mkDerivation, attoparsec, base, text, unordered-containers }: - mkDerivation { - pname = "ini"; - version = "0.3.6"; - sha256 = "1n9wsl7nz910bc8jx9ps7pvpql4hlnryjkqbdpfq0phjb9sf7fzw"; - revision = "1"; - editedCabalFile = "0gfikdal67aws20i5r4wg4r0lgn844glykcn3nnmbmyvwsks049l"; - libraryHaskellDepends = [ - attoparsec base text unordered-containers - ]; - description = "Quick and easy configuration files in the INI format"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "ini_0_4_1" = callPackage ({ mkDerivation, attoparsec, base, hspec, text , unordered-containers }: @@ -124244,7 +133154,6 @@ self: { testHaskellDepends = [ base hspec unordered-containers ]; description = "Quick and easy configuration files in the INI format"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ini-qq" = callPackage @@ -124259,6 +133168,8 @@ self: { testHaskellDepends = [ base HUnit ini raw-strings-qq text ]; description = "Quasiquoter for INI"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "inilist" = callPackage @@ -124279,6 +133190,7 @@ self: { description = "Processing for .ini files with duplicate sections and options"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "initialize" = callPackage @@ -124342,6 +133254,7 @@ self: { description = "Monadic functions with injected parameters"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "inline-c_0_5_6_1" = callPackage @@ -124398,6 +133311,32 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "inline-c_0_8_0_1" = callPackage + ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers + , hashable, hspec, mtl, parsec, parsers, QuickCheck, raw-strings-qq + , regex-posix, template-haskell, transformers, unordered-containers + , vector + }: + mkDerivation { + pname = "inline-c"; + version = "0.8.0.1"; + sha256 = "1w8njc8k1g8kmpk8c8q5p7m8adgpv5v4k4643hsi5422jdaq0g3i"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + ansi-wl-pprint base bytestring containers hashable mtl parsec + parsers template-haskell transformers unordered-containers vector + ]; + testHaskellDepends = [ + ansi-wl-pprint base containers hashable hspec parsers QuickCheck + raw-strings-qq regex-posix template-haskell transformers + unordered-containers vector + ]; + description = "Write Haskell source files including C code inline. No FFI required."; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "inline-c-cpp_0_1_0_0" = callPackage ({ mkDerivation, base, inline-c, template-haskell }: mkDerivation { @@ -124417,8 +133356,8 @@ self: { }: mkDerivation { pname = "inline-c-cpp"; - version = "0.3.0.1"; - sha256 = "00q4f2rv6ny5cnfyfdwqvmngw2w40jfs5zb1x7zs574w4l31g701"; + version = "0.3.0.2"; + sha256 = "03dfikf43mmx4vzlp6nd6f1c3niklh2f9mq1s2fwsikh8x8x3qp6"; libraryHaskellDepends = [ base inline-c safe-exceptions template-haskell ]; @@ -124459,6 +133398,7 @@ self: { description = "Java interop via inline Java code in Haskell modules"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "inline-r" = callPackage @@ -124472,10 +133412,8 @@ self: { }: mkDerivation { pname = "inline-r"; - version = "0.9.2"; - sha256 = "1h2gwrh8kzx3przx29gcl4wffni3bxy1yrfabf88bdxjwj79s7z0"; - revision = "1"; - editedCabalFile = "01cxsjdxy5brdnw966928bcdivc8ab7kq91vdqkg2q801jf5jj9g"; + version = "0.10.2"; + sha256 = "1lwdmdd4mx800zmiyg5z8nkpg2x31lqw74pgb515kyb9v97jykr4"; libraryHaskellDepends = [ aeson base bytestring containers data-default-class deepseq exceptions inline-c mtl pretty primitive process reflection setenv @@ -124495,7 +133433,6 @@ self: { ]; description = "Seamlessly call R from Haskell and vice versa. No FFI required."; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) R;}; "inliterate" = callPackage @@ -124540,10 +133477,8 @@ self: { }: mkDerivation { pname = "insert-ordered-containers"; - version = "0.2.1.0"; - sha256 = "1612f455dw37da9g7bsd1s5kyi84mnr1ifnjw69892amyimi47fp"; - revision = "9"; - editedCabalFile = "02d4zqyb9dbahkpcbpgxylrc5xxc0zbw1awj5w0jyrql2g2b6a5f"; + version = "0.2.2"; + sha256 = "1ikjhg0pdfpnx1d645r92k2dwlk7y935j1w5lcsk23nzpwhbkxja"; libraryHaskellDepends = [ aeson base base-compat hashable lens semigroupoids semigroups text transformers unordered-containers @@ -124555,7 +133490,6 @@ self: { ]; description = "Associative containers retaining insertion order for traversals"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "inserts" = callPackage @@ -124568,6 +133502,7 @@ self: { description = "Stupid simple bytestring templates"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "inspection-proxy" = callPackage @@ -124593,8 +133528,8 @@ self: { }: mkDerivation { pname = "inspection-testing"; - version = "0.4.1.1"; - sha256 = "1liysxim5lhf0a09asvv7j9hin60bljhp1p642j5j1j0hh2jax4l"; + version = "0.4.2.1"; + sha256 = "1aw6yj7aikzlisjk5w0gfvby1hqdxm7vj5a65haxs41nxfyifrfd"; libraryHaskellDepends = [ base containers ghc mtl template-haskell transformers ]; @@ -124624,6 +133559,7 @@ self: { description = "Create benchmarks from the HAR files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "instana-haskell-trace-sdk" = callPackage @@ -124636,8 +133572,8 @@ self: { }: mkDerivation { pname = "instana-haskell-trace-sdk"; - version = "0.2.0.0"; - sha256 = "1yl8k10win4r06rfqxl1vfp4zb78lijrzsn6zpmlqycnpfm00zp0"; + version = "0.3.0.0"; + sha256 = "0dy947230ing6mv4xvd8ahiwfhkz557n2mrvi86whns8jbb71nbv"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -124648,7 +133584,8 @@ self: { ]; executableHaskellDepends = [ aeson base binary bytestring hslogger http-client http-types - servant servant-server text time transformers unix wai warp + servant servant-server text time transformers unix + unordered-containers wai warp ]; testHaskellDepends = [ aeson aeson-extra base bytestring directory ekg-core exceptions @@ -124657,6 +133594,8 @@ self: { ]; description = "SDK for adding custom Instana tracing support to Haskell applications"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "instance-control" = callPackage @@ -124701,6 +133640,7 @@ self: { description = "Generic Aeson instances through instant-generics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "instant-bytes" = callPackage @@ -124718,6 +133658,7 @@ self: { description = "Generic Serial instances through instant-generics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "instant-deepseq" = callPackage @@ -124730,6 +133671,7 @@ self: { description = "Generic NFData instances through instant-generics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "instant-generics" = callPackage @@ -124744,6 +133686,7 @@ self: { description = "Generic programming library with a sum of products view"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "instant-hashable" = callPackage @@ -124756,6 +133699,7 @@ self: { description = "Generic Hashable instances through instant-generics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "instant-zipper" = callPackage @@ -124770,6 +133714,7 @@ self: { description = "Heterogenous Zipper in Instant Generics"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "instapaper-sender" = callPackage @@ -124790,6 +133735,7 @@ self: { description = "Basic HTTP gateway to save articles to Instapaper"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "instinct" = callPackage @@ -124802,14 +133748,15 @@ self: { description = "Fast artifical neural networks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "instrument-chord" = callPackage ({ mkDerivation, array, base, containers, music-diatonic }: mkDerivation { pname = "instrument-chord"; - version = "0.1.0.10"; - sha256 = "1bbpjxr8ya46zrhx3nkxkmylbhzkmkav9a7gydz3g2j9ynp4l2fn"; + version = "0.1.0.11"; + sha256 = "1fc3vgxxzk6rw0y6d40jiyrc66fd1ig7nk4bdmfn1q595q5iwnz3"; libraryHaskellDepends = [ array base containers music-diatonic ]; description = "Render Instrument Chords"; license = stdenv.lib.licenses.gpl3; @@ -124853,6 +133800,7 @@ self: { description = "A data structure that associates each Int key with a set of values"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "integer-gmp_1_0_2_0" = callPackage @@ -124874,10 +133822,10 @@ self: { }: mkDerivation { pname = "integer-logarithms"; - version = "1.0.2.2"; - sha256 = "1hvzbrh8fm1g9fbavdym52pr5n9f2bnfx1parkfizwqlbj6n51ms"; + version = "1.0.3"; + sha256 = "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"; revision = "1"; - editedCabalFile = "1684dkh8j2xqsd85bfsmhv3iam37hasjg4x79mvl6xh7scmpfdbw"; + editedCabalFile = "1z6z63jr42jn073fd9ns7jcrw7n5lwx076q4b5rgzak7q1ixw2i8"; libraryHaskellDepends = [ array base ghc-prim integer-gmp ]; testHaskellDepends = [ base QuickCheck smallcheck tasty tasty-hunit tasty-quickcheck @@ -124896,6 +133844,7 @@ self: { description = "A pure-Haskell implementation of arbitrary-precision Integers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "integer-simple" = callPackage @@ -124945,6 +133894,7 @@ self: { description = "Integrate different assays"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "intel-aes" = callPackage @@ -124964,6 +133914,7 @@ self: { description = "Hardware accelerated AES encryption and Random Number Generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {intel_aes = null;}; "interchangeable" = callPackage @@ -125051,6 +134002,8 @@ self: { pname = "intern"; version = "0.9.2"; sha256 = "081fyiq00cvx4nyagr34kwnag9njv65wdps5j4ydin6sjq7b58wk"; + revision = "1"; + editedCabalFile = "1mav591qx20p9dx4rg4xwpavqw8rciva82n7q0icdgvc1ayy7sl5"; libraryHaskellDepends = [ array base bytestring hashable text unordered-containers ]; @@ -125075,6 +134028,7 @@ self: { description = "Shell command for constructing custom stamps for German Post"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "intero" = callPackage @@ -125085,8 +134039,8 @@ self: { }: mkDerivation { pname = "intero"; - version = "0.1.38"; - sha256 = "1s7si6rw6xlgczismyj9wh40ym39fcskpbyf1ldab6krwxykf65v"; + version = "0.1.40"; + sha256 = "09p5bjjqagbz1xkcfd5psmgxbg3z057kyv39j0i63g4q484zznz3"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -125102,6 +134056,38 @@ self: { description = "Complete interactive development program for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "interp" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, hspec + , megaparsec, mtl, optparse-applicative, parser-combinators + , random-fu, rvar, semigroups, text, transformers + , unordered-containers, vector + }: + mkDerivation { + pname = "interp"; + version = "1.0.0.2"; + sha256 = "036j44vrvgvxvnlj57mkg4h8cc6dycxfrszmgai70mybr3bxvhd5"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base bytestring containers hspec megaparsec mtl + optparse-applicative parser-combinators random-fu rvar semigroups + text transformers unordered-containers vector + ]; + executableHaskellDepends = [ + aeson base bytestring containers hspec megaparsec mtl + optparse-applicative parser-combinators random-fu rvar semigroups + text transformers unordered-containers vector + ]; + testHaskellDepends = [ + aeson base bytestring containers hspec megaparsec mtl + optparse-applicative parser-combinators random-fu rvar semigroups + text transformers unordered-containers vector + ]; + description = "Tracery-like randomized text interpolation"; + license = stdenv.lib.licenses.bsd3; }) {}; "interpol" = callPackage @@ -125126,6 +134112,7 @@ self: { description = "GHC preprocessor and library to enable variable interpolation in strings"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "interpolate" = callPackage @@ -125176,6 +134163,7 @@ self: { description = "QuasiQuoter for Ruby-style multi-line interpolated strings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "interpolatedstring-qq-mwotton" = callPackage @@ -125192,14 +134180,33 @@ self: { description = "DO NOT USE THIS. interpolatedstring-qq works now."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "interpolatedstring-qq2" = callPackage + ({ mkDerivation, base, bytestring, haskell-src-meta, HUnit + , template-haskell, text + }: + mkDerivation { + pname = "interpolatedstring-qq2"; + version = "0.1.0.0"; + sha256 = "0d7xq1pdrhfl1vfl1axhzpv04hbc9yhvfagisrfq42hj6mbh8djx"; + libraryHaskellDepends = [ + base bytestring haskell-src-meta template-haskell text + ]; + testHaskellDepends = [ + base bytestring haskell-src-meta HUnit template-haskell text + ]; + description = "QuasiQuoter for multi-line interpolated strings"; + license = stdenv.lib.licenses.bsd3; }) {}; "interpolation" = callPackage ({ mkDerivation, array, base, containers, QuickCheck, utility-ht }: mkDerivation { pname = "interpolation"; - version = "0.1.0.3"; - sha256 = "0j9hdzi59lqq92773f8h17awrm9ghr45k876qc7krq87pgbr95z2"; + version = "0.1.1.1"; + sha256 = "081xlf59xp0j1svigkqfcz5an3yl3p8f5402i6492hz9rpv5qwy5"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base utility-ht ]; @@ -125210,23 +134217,6 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "interpolation_0_1_1" = callPackage - ({ mkDerivation, array, base, containers, QuickCheck, utility-ht }: - mkDerivation { - pname = "interpolation"; - version = "0.1.1"; - sha256 = "0rpzilzcld0xwcfz9pkhq9sx9qd8ysz9yy3znpdslk4ia8i507y7"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base utility-ht ]; - testHaskellDepends = [ - array base containers QuickCheck utility-ht - ]; - description = "piecewise linear and cubic Hermite interpolation"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "interpolator" = callPackage ({ mkDerivation, aeson, base, containers, either, hspec , mono-traversable, mtl, product-profunctors, profunctors @@ -125234,8 +134224,8 @@ self: { }: mkDerivation { pname = "interpolator"; - version = "0.1.1"; - sha256 = "13symhhxvv2dxn7449p8b9g7p37p98icj0ql63y9qkdg6s7b8rf0"; + version = "1.0.0"; + sha256 = "0kkasycgba525mag4362w8kirnxjydrmh7gjqk5xs6zgcp1ralb7"; libraryHaskellDepends = [ aeson base containers either mono-traversable mtl product-profunctors profunctors QuickCheck template-haskell text @@ -125279,6 +134269,7 @@ self: { description = "Monad transformers that can be run and resumed later, conserving their context"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "interspersed" = callPackage @@ -125305,6 +134296,7 @@ self: { description = "Intervals with adherences"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "intervals" = callPackage @@ -125327,6 +134319,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "intervals_0_9" = callPackage + ({ mkDerivation, array, base, Cabal, cabal-doctest, directory + , distributive, doctest, filepath, ghc-prim, QuickCheck + , template-haskell + }: + mkDerivation { + pname = "intervals"; + version = "0.9"; + sha256 = "0v5z5h0lcsfxiz5m876b1pwygxic5l5p0ijnhzibbpzpqg1lahs4"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ array base distributive ghc-prim ]; + testHaskellDepends = [ + base directory doctest filepath QuickCheck template-haskell + ]; + description = "Interval Arithmetic"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "intricacy" = callPackage ({ mkDerivation, array, base, binary, bytestring, containers , crypto-api, crypto-pubkey-types, cryptohash, directory, filepath @@ -125348,7 +134359,6 @@ self: { ]; description = "A game of competitive puzzle-design"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "intrinsic-superclasses" = callPackage @@ -125375,6 +134385,8 @@ self: { pname = "intro"; version = "0.5.2.1"; sha256 = "0i5cpa5jx82nb1gi1wdhgnbmxlb7s4nbya46k6byajf7g50i5qp8"; + revision = "1"; + editedCabalFile = "19zndrl4rgzjrg97cbc2cyiqih15gaijgibz0vppphcbmn7v9fl8"; libraryHaskellDepends = [ base bytestring containers deepseq dlist extra hashable mtl safe text transformers unordered-containers writer-cps-mtl @@ -125402,6 +134414,7 @@ self: { description = "Intro reexported as Prelude"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "introduction" = callPackage @@ -125423,6 +134436,7 @@ self: { description = "A prelude for safe new projects"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "introduction-test" = callPackage @@ -125443,6 +134457,7 @@ self: { description = "A prelude for the tests of safe new projects"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "intset" = callPackage @@ -125455,6 +134470,7 @@ self: { description = "Pure, mergeable, succinct Int sets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "intset-imperative" = callPackage @@ -125479,21 +134495,18 @@ self: { "invariant" = callPackage ({ mkDerivation, array, base, bifunctors, comonad, containers , contravariant, ghc-prim, hspec, hspec-discover, profunctors - , QuickCheck, semigroups, StateVar, stm, tagged, template-haskell + , QuickCheck, StateVar, stm, tagged, template-haskell , th-abstraction, transformers, transformers-compat , unordered-containers }: mkDerivation { pname = "invariant"; - version = "0.5.1"; - sha256 = "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"; - revision = "1"; - editedCabalFile = "100gsacbpal53khj94m5qs4aq70hbsp4dz4065czfm49ysd4yqq4"; + version = "0.5.3"; + sha256 = "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"; libraryHaskellDepends = [ array base bifunctors comonad containers contravariant ghc-prim - profunctors semigroups StateVar stm tagged template-haskell - th-abstraction transformers transformers-compat - unordered-containers + profunctors StateVar stm tagged template-haskell th-abstraction + transformers transformers-compat unordered-containers ]; testHaskellDepends = [ base hspec QuickCheck template-haskell ]; testToolDepends = [ hspec-discover ]; @@ -125528,15 +134541,14 @@ self: { pname = "invertible-grammar"; version = "0.1.2"; sha256 = "1nf7dchcxs8wwd2hgfpf04qd63ws22pafjwb5911lq7da8k1y57j"; - revision = "1"; - editedCabalFile = "1qk0pi8n45mbzwr6i6sly59b74njk0akzm6k0vnr262lqahy0hdl"; + revision = "2"; + editedCabalFile = "0j6zmj0dlhiq4qjrbjbvdsmky1l4z1qwqikixk1b9dpa05n01ykf"; libraryHaskellDepends = [ base bifunctors containers mtl prettyprinter profunctors semigroups tagged template-haskell text transformers ]; description = "Invertible parsing combinators framework"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "invertible-hlist" = callPackage @@ -125549,6 +134561,7 @@ self: { description = "invertible functions and instances for HList"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "invertible-hxt" = callPackage @@ -125592,6 +134605,7 @@ self: { description = "Capture IO actions' stdout and stderr"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "io-choice" = callPackage @@ -125663,6 +134677,7 @@ self: { description = "An API for generating TIMBER style reactive objects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "io-region" = callPackage @@ -125782,6 +134797,8 @@ self: { pname = "ioctl"; version = "0.0.1"; sha256 = "0rwh7mlwdd24ndzz4b4vd5b5daz9cga47m9nz6g75m03iyy237qs"; + revision = "1"; + editedCabalFile = "15i0plam5pr3zkvmmy0g5q9v1fwvp49r4gsyx3y5j89svyffwqaq"; libraryHaskellDepends = [ base network unix ]; description = "Type-safe I/O control package"; license = stdenv.lib.licenses.mit; @@ -125806,6 +134823,7 @@ self: { description = "EDSL for concurrent, realtime, embedded programming on top of Ivory"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ioref-stable" = callPackage @@ -125829,6 +134847,7 @@ self: { description = "A class of strings that can be involved in IO"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iothread" = callPackage @@ -125841,6 +134860,7 @@ self: { description = "run IOs in a single thread"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iotransaction" = callPackage @@ -125853,33 +134873,37 @@ self: { description = "Supports the automatic undoing of IO operations when an exception is thrown"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ip" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring, criterion - , deepseq, doctest, hashable, hspec, HUnit, primitive, QuickCheck - , quickcheck-classes, test-framework, test-framework-hunit - , test-framework-quickcheck2, text, vector + , deepseq, doctest, hashable, hspec, hspec-discover, HUnit + , primitive, QuickCheck, quickcheck-classes, test-framework + , test-framework-hunit, test-framework-quickcheck2, text, vector + , wide-word }: mkDerivation { pname = "ip"; - version = "1.4.1"; - sha256 = "0nzc2xb6xha2sql3aiwhchl2hhfzndlvdm1hc8pbrjw27jcz3hpi"; + version = "1.5.1"; + sha256 = "1crnn76vxhqq13556nc0537bh8xi5jzklyp24dqqfamxmfbwkzll"; libraryHaskellDepends = [ aeson attoparsec base bytestring deepseq hashable primitive text - vector + vector wide-word ]; testHaskellDepends = [ attoparsec base bytestring doctest hspec HUnit QuickCheck quickcheck-classes test-framework test-framework-hunit - test-framework-quickcheck2 text + test-framework-quickcheck2 text wide-word ]; + testToolDepends = [ hspec-discover ]; benchmarkHaskellDepends = [ attoparsec base bytestring criterion text ]; description = "Library for IP and MAC addresses"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ip-quoter" = callPackage @@ -125900,24 +134924,26 @@ self: { ({ mkDerivation, base, binary, bytestring, iproute }: mkDerivation { pname = "ip2location"; - version = "8.0.4"; - sha256 = "0fry56zk9nbpqp58qvm1xxbq53pjiahkb58gh2h8dax80q3iczh4"; + version = "8.1.0"; + sha256 = "07n5xnspl318hrmff4gr274zpgszgviilwhjd7vdrhm1sq9sdir8"; libraryHaskellDepends = [ base binary bytestring iproute ]; description = "IP2Location Haskell package for IP geolocation"; - license = stdenv.lib.licenses.lgpl3; + license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ip2proxy" = callPackage ({ mkDerivation, base, binary, bytestring, iproute }: mkDerivation { pname = "ip2proxy"; - version = "1.0.0"; - sha256 = "0f1plyy6hxkk7xz9m4fv7p56vqmvnna9frg21ms1n3f99wfimldx"; + version = "2.1.0"; + sha256 = "0qcmqy8p13hg9aih8m9w7qpbr6zcbvgc9y6bzh2cqm2sbx7ksvqm"; libraryHaskellDepends = [ base binary bytestring iproute ]; description = "IP2Proxy Haskell package for proxy detection"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ip6addr" = callPackage @@ -125950,6 +134976,7 @@ self: { description = "interactive patch editor"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ipc" = callPackage @@ -125966,6 +134993,7 @@ self: { description = "High level inter-process communication library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ipcvar" = callPackage @@ -125984,6 +135012,44 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "ipfs-api" = callPackage + ({ mkDerivation, aeson, base, bytestring, http-media, http-types + , servant, text + }: + mkDerivation { + pname = "ipfs-api"; + version = "0.1.0.0"; + sha256 = "1fvvb36vfqpzbhsyp8ps0y9qpizj1b4xygiwxiqzf6g813yl53b8"; + libraryHaskellDepends = [ + aeson base bytestring http-media http-types servant text + ]; + description = "Auto-generated IPFS HTTP API"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "ipld-cid" = callPackage + ({ mkDerivation, base, binary, binary-varint, bytestring + , cryptonite, deepseq, hashable, hedgehog, multibase + , multihash-cryptonite, text + }: + mkDerivation { + pname = "ipld-cid"; + version = "0.1.0.0"; + sha256 = "1y08j0ibcrpfcm0zv1h17zdgbl3hm3sjvm0w9bk1lzdipd6p6cwj"; + libraryHaskellDepends = [ + base binary binary-varint bytestring cryptonite deepseq hashable + multibase multihash-cryptonite text + ]; + testHaskellDepends = [ + base bytestring cryptonite hedgehog multibase multihash-cryptonite + text + ]; + description = "IPLD Content-IDentifiers "; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "ipopt-hs" = callPackage ({ mkDerivation, ad, ansi-wl-pprint, base, c2hs, containers, ipopt , lens, mtl, nlopt, template-haskell, uu-parsinglib, vector @@ -126004,6 +135070,7 @@ self: { description = "haskell binding to ipopt and nlopt including automatic differentiation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) ipopt; inherit (pkgs) nlopt;}; "ipprint" = callPackage @@ -126053,6 +135120,7 @@ self: { description = "iptables rules parser/printer library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iptadmin" = callPackage @@ -126078,6 +135146,7 @@ self: { description = "web-interface for iptables"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ipynb" = callPackage @@ -126104,25 +135173,25 @@ self: { }) {}; "ipython-kernel" = callPackage - ({ mkDerivation, aeson, base, bytestring, cereal, containers - , cryptonite, directory, filepath, memory, mtl, process, temporary - , text, transformers, unordered-containers, uuid, zeromq4-haskell + ({ mkDerivation, aeson, base, bytestring, cereal, cereal-text + , containers, cryptonite, directory, filepath, memory, mtl, process + , temporary, text, transformers, unordered-containers, uuid + , zeromq4-haskell }: mkDerivation { pname = "ipython-kernel"; - version = "0.9.1.0"; - sha256 = "0944riw00i3m8n3cab0g9c14b24xryf9w8ddlddnmxgys4sn8qak"; + version = "0.10.0.0"; + sha256 = "1dqvii2h0vc32ladxmrzli5ch5m3is41bgalas34fh0gcc00p7qa"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - aeson base bytestring cereal containers cryptonite directory - filepath memory mtl process temporary text transformers + aeson base bytestring cereal cereal-text containers cryptonite + directory filepath memory mtl process temporary text transformers unordered-containers uuid zeromq4-haskell ]; description = "A library for creating kernels for IPython frontends"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "irc" = callPackage @@ -126161,8 +135230,8 @@ self: { }: mkDerivation { pname = "irc-client"; - version = "1.1.0.5"; - sha256 = "13qc5acpkgd80nazlpac3q2viqp76fhq6qjk7fp5dp1w6bhj9qi7"; + version = "1.1.1.0"; + sha256 = "1f2lqg37ig3f23066c4179vcym6p3ylmxsywqhmb0n078kix6kfb"; libraryHaskellDepends = [ base bytestring conduit connection containers contravariant exceptions irc-conduit irc-ctcp mtl network-conduit-tls old-locale @@ -126191,8 +135260,8 @@ self: { }: mkDerivation { pname = "irc-conduit"; - version = "0.3.0.1"; - sha256 = "0lividbrrc2yydqp55xqji8q6wigb49skrzw9vki6iivxcszka5h"; + version = "0.3.0.3"; + sha256 = "1wbgczkiwnbpcwwcpsv9zf8n7nisv0iv2kivpjrxnhin2j4c48y1"; libraryHaskellDepends = [ async base bytestring conduit conduit-extra connection irc irc-ctcp network-conduit-tls profunctors text time tls transformers @@ -126208,10 +135277,8 @@ self: { }: mkDerivation { pname = "irc-core"; - version = "2.5.0"; - sha256 = "124zfp6s8hj7z3m873145bnr0z8xlkbr1qgj2hvasd2qs2zrb8y8"; - revision = "1"; - editedCabalFile = "06n7shnd8ij4wlzm5xhxdqv26b3am8mgbqfcvsqppk6hgmmyvggq"; + version = "2.7.1"; + sha256 = "0syhcb1q9j68pcxzbv45pah6bkfvnqjzkpzn2356ci7jpb9qpbbn"; libraryHaskellDepends = [ attoparsec base base64-bytestring bytestring hashable primitive text time vector @@ -126255,6 +135322,7 @@ self: { description = "A DCC message parsing and helper library for IRC clients"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "irc-fun-bot" = callPackage @@ -126276,6 +135344,7 @@ self: { description = "Library for writing fun IRC bots"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "irc-fun-client" = callPackage @@ -126295,6 +135364,7 @@ self: { description = "Another library for writing IRC clients"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "irc-fun-color" = callPackage @@ -126312,6 +135382,7 @@ self: { description = "Add color and style decorations to IRC messages"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "irc-fun-messages" = callPackage @@ -126326,6 +135397,7 @@ self: { description = "Types and functions for working with the IRC protocol"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "irc-fun-types" = callPackage @@ -126338,6 +135410,7 @@ self: { description = "Common types for IRC related packages"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ircbot" = callPackage @@ -126361,6 +135434,7 @@ self: { description = "A library for writing IRC bots"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ircbouncer" = callPackage @@ -126410,6 +135484,7 @@ self: { description = "RFC-based resource identifier library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iridium" = callPackage @@ -126438,6 +135513,7 @@ self: { description = "Automated Local Cabal Package Testing and Uploading"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iron-mq" = callPackage @@ -126450,6 +135526,7 @@ self: { description = "Iron.IO message queueing client library"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ironforge" = callPackage @@ -126460,6 +135537,8 @@ self: { pname = "ironforge"; version = "0.1.0.36"; sha256 = "11fsph447c3cml0805zdf8454skd7v12ip0cflma6llp3cnfbbl6"; + revision = "1"; + editedCabalFile = "09xmdl9d92jg3l9b2j7crf2kkyhf7zw9vysvr8qfbrhwkkq8d56z"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -126471,6 +135550,7 @@ self: { description = "A technical demo for Antisplice"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "irt" = callPackage @@ -126483,6 +135563,7 @@ self: { description = "Item Response Theory functions for use in computerized adaptive testing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "is" = callPackage @@ -126515,6 +135596,7 @@ self: { description = "An executable and library to determine if a file is a DICOM file"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "isevaluated" = callPackage @@ -126527,6 +135609,7 @@ self: { description = "Check whether a value has been evaluated"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "isiz" = callPackage @@ -126540,7 +135623,6 @@ self: { executableHaskellDepends = [ base gtk3 ]; description = "A program to show the size of image and whether suitable for wallpaper"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "islink" = callPackage @@ -126569,6 +135651,7 @@ self: { description = "Advanced ESMTP library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iso3166-country-codes" = callPackage @@ -126629,6 +135712,7 @@ self: { description = "Types and parser for ISO8601 durations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iso8601-time" = callPackage @@ -126691,6 +135775,7 @@ self: { description = "A (bytestring-) builder for the ISO-14496-12 base media file format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "isohunt" = callPackage @@ -126708,6 +135793,7 @@ self: { description = "Bindings to the isoHunt torrent search API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "isotope" = callPackage @@ -126727,6 +135813,7 @@ self: { description = "Isotopic masses and relative abundances"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ispositive" = callPackage @@ -126747,8 +135834,8 @@ self: { }: mkDerivation { pname = "itanium-abi"; - version = "0.1.1.0"; - sha256 = "01fhzxgarbaccmkixn6l09wrbl5xr23kxcq3pf21k13zq6p971d8"; + version = "0.1.1.1"; + sha256 = "1dmr6sz4mf24781md81jjrwjsp431zyh7alkz71jlb224phc81nz"; libraryHaskellDepends = [ base boomerang text transformers unordered-containers ]; @@ -126776,6 +135863,7 @@ self: { description = "Issue Tracker for the CLI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "itemfield" = callPackage @@ -126804,6 +135892,7 @@ self: { description = "A brick Widget for selectable summary of many elements on a terminal"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iter-stats" = callPackage @@ -126823,6 +135912,7 @@ self: { description = "iteratees for statistical processing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iterIO" = callPackage @@ -126842,6 +135932,7 @@ self: { description = "Iteratee-based IO with pipe operators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) zlib;}; "iterable" = callPackage @@ -126886,6 +135977,7 @@ self: { description = "Iteratee-based I/O"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iteratee-compress" = callPackage @@ -126899,6 +135991,7 @@ self: { description = "Enumeratees for compressing and decompressing streams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) bzip2; inherit (pkgs) zlib;}; "iteratee-mtl" = callPackage @@ -126917,6 +136010,7 @@ self: { description = "Iteratee-based I/O"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iteratee-parsec" = callPackage @@ -126933,6 +136027,7 @@ self: { description = "Package allowing parsec parser initeratee"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iteratee-stm" = callPackage @@ -126947,6 +136042,7 @@ self: { description = "Concurrent iteratees using STM"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iterio-server" = callPackage @@ -126964,6 +136060,7 @@ self: { description = "Library for building servers with IterIO"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iterm-show" = callPackage @@ -127012,6 +136109,8 @@ self: { pname = "ival"; version = "0.2.0.0"; sha256 = "1djgkxz6npymkzf5802hdcvr40jlc16pmyxd3qpi98f1c1h4rg5x"; + revision = "1"; + editedCabalFile = "0hgvsmjkblbawwv7kfa3imnbjvv330gccv2n245nd0vhfgsbpvxa"; libraryHaskellDepends = [ alg base ]; testHaskellDepends = [ alg base smallcheck tasty tasty-smallcheck @@ -127048,6 +136147,7 @@ self: { description = "Theorem proving library based on dependent type theory"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ivory" = callPackage @@ -127057,8 +136157,8 @@ self: { }: mkDerivation { pname = "ivory"; - version = "0.1.0.8"; - sha256 = "0nwn5h1fnnh9a6fkznscix50yvzqpw50hai7rslfzgizpbnzckrk"; + version = "0.1.0.9"; + sha256 = "1gml49dhjjciw71h0g7pn9bw5irghs5kkl6zgabyk4isfh9dllr1"; libraryHaskellDepends = [ array base base-compat containers dlist filepath monadLib pretty template-haskell text th-abstraction th-lift @@ -127067,6 +136167,7 @@ self: { description = "Safe embedded C programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ivory-artifact" = callPackage @@ -127103,6 +136204,7 @@ self: { description = "Ivory C backend"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ivory-bitdata" = callPackage @@ -127122,6 +136224,7 @@ self: { description = "Ivory bit-data support"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ivory-eval" = callPackage @@ -127130,8 +136233,8 @@ self: { }: mkDerivation { pname = "ivory-eval"; - version = "0.1.0.5"; - sha256 = "0qpn6iaixispg6fzhmpx63fl859skacr05n2nm5prxz1ryl13605"; + version = "0.1.0.6"; + sha256 = "0009sndrv9m672wzkd8klmi10yc8ckzcszx1d224xm0qs2hhy0v3"; libraryHaskellDepends = [ base base-compat containers ivory monadLib ]; @@ -127141,6 +136244,7 @@ self: { description = "Simple concrete evaluator for Ivory programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ivory-examples" = callPackage @@ -127164,6 +136268,7 @@ self: { description = "Ivory examples"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ivory-hw" = callPackage @@ -127177,6 +136282,7 @@ self: { description = "Ivory hardware model (STM32F4)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ivory-opts" = callPackage @@ -127194,6 +136300,7 @@ self: { description = "Ivory compiler optimizations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ivory-quickcheck" = callPackage @@ -127216,6 +136323,7 @@ self: { description = "QuickCheck driver for Ivory"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ivory-serialize" = callPackage @@ -127224,8 +136332,8 @@ self: { }: mkDerivation { pname = "ivory-serialize"; - version = "0.1.0.5"; - sha256 = "16hsvfrcrvqwcj75d1xdpb9njh0j66wy7vf4yv7q6vk7papvrwsf"; + version = "0.1.0.6"; + sha256 = "1v8gf92z7g8ihcbnqalpjbbsm1z24242ysar9cg0dfq8n5if226a"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base base-compat filepath ivory ivory-artifact monadLib @@ -127233,6 +136341,7 @@ self: { description = "Serialization library for Ivory"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ivory-stdlib" = callPackage @@ -127246,6 +136355,7 @@ self: { description = "Ivory standard library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ivy-web" = callPackage @@ -127262,6 +136372,7 @@ self: { description = "A lightweight web framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iwlib" = callPackage @@ -127299,6 +136410,7 @@ self: { description = "A preprocessor for expanding \"ixdo\" notation for indexed monads"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ixmonad" = callPackage @@ -127313,6 +136425,7 @@ self: { description = "Embeds effect systems into Haskell using parameteric effect monads"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ixset" = callPackage @@ -127367,6 +136480,7 @@ self: { description = "A shallow embedding of the OpenGL Shading Language in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "iyql" = callPackage @@ -127387,6 +136501,7 @@ self: { description = "CLI (command line interface) to YQL"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "j2hs" = callPackage @@ -127408,6 +136523,7 @@ self: { description = "j2hs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ja-base-extra" = callPackage @@ -127453,6 +136569,7 @@ self: { description = "DEPRECATED Bindings to the JACK Audio Connection Kit"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libjack2;}; "jackminimix" = callPackage @@ -127465,6 +136582,7 @@ self: { description = "control JackMiniMix"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jacobi-roots" = callPackage @@ -127478,6 +136596,7 @@ self: { description = "Roots of two shifted Jacobi polynomials (Legendre and Radau) to double precision"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jaeger-flamegraph" = callPackage @@ -127487,20 +136606,24 @@ self: { }: mkDerivation { pname = "jaeger-flamegraph"; - version = "1.1.0"; - sha256 = "01aa2wk95hwkdh6b3m4c9j73ym2xl1ndys81fvvam6wq0dwf9k14"; - isLibrary = false; + version = "1.3.2"; + sha256 = "1m7vs4zi1cm5xj3wn8zr44rdx1l99ra59xwr64y9bdrs1raga7k3"; + revision = "1"; + editedCabalFile = "003h3aqdkpvpqqyv7ypv3shvfiqcwq7cfihqv38bp2iq5vin938q"; + isLibrary = true; isExecutable = true; - libraryHaskellDepends = [ base QuickCheck ]; + libraryHaskellDepends = [ aeson base containers QuickCheck text ]; executableHaskellDepends = [ aeson base bytestring containers extra optparse-applicative text ]; - testHaskellDepends = [ base tasty tasty-hspec tasty-quickcheck ]; + testHaskellDepends = [ + aeson base containers tasty tasty-hspec tasty-quickcheck text + ]; testToolDepends = [ tasty-discover ]; - doHaddock = false; description = "Generate flamegraphs from Jaeger .json dumps."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jail" = callPackage @@ -127517,6 +136640,7 @@ self: { description = "Jailed IO monad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jailbreak-cabal" = callPackage @@ -127545,6 +136669,7 @@ self: { description = "Convert Jalaali and Gregorian calendar systems to each other"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jalla" = callPackage @@ -127568,36 +136693,35 @@ self: { description = "Higher level functions for linear algebra. Wraps BLAS and LAPACKE."; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) blas; cblas = null; lapacke = null;}; "jammittools" = callPackage ({ mkDerivation, base, boxes, bytestring, conduit, conduit-audio - , containers, directory, filepath, HPDF, JuicyPixels, process - , resourcet, temporary, text, transformers, vector, xml + , containers, directory, filepath, JuicyPixels, process, resourcet + , text, transformers, vector, xml }: mkDerivation { pname = "jammittools"; - version = "0.5.5.1"; - sha256 = "1q660fvnvrj8cb9rzj7b5qmrbmqy8krq2w1bg824mf6pmvlw52z6"; + version = "0.5.5.2"; + sha256 = "0x7zyyn7q9j5d74bkvf5pbm5i6kcxv7v107j1z26x5m42gibs9kv"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base bytestring conduit conduit-audio containers directory filepath - HPDF JuicyPixels process resourcet temporary text transformers - vector xml + JuicyPixels process resourcet text transformers vector xml ]; executableHaskellDepends = [ base boxes directory filepath ]; description = "Export sheet music and audio from Windows/Mac app Jammit"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "japanese-calendar" = callPackage ({ mkDerivation, base, hspec, QuickCheck, time }: mkDerivation { pname = "japanese-calendar"; - version = "0.1.0.2"; - sha256 = "1dkfp2qj588nnd5r3ad37145n3mjm76h9pc2y7ga9s76cvi52xqy"; + version = "0.1.1.0"; + sha256 = "0nii20qc7w0m2kjbbhg91iad497hlrd35l29xri0lrjmk9s1hsnw"; libraryHaskellDepends = [ base time ]; testHaskellDepends = [ base hspec QuickCheck time ]; description = "Data type of Japanese Calendar (Wareki)"; @@ -127605,17 +136729,14 @@ self: { }) {}; "japanese-holidays" = callPackage - ({ mkDerivation, base, doctest, hspec, QuickCheck - , quickcheck-instances, time - }: + ({ mkDerivation, base, doctest, hspec, hspec-discover, time }: mkDerivation { pname = "japanese-holidays"; - version = "0.1.1.0"; - sha256 = "1xcamcv6n6k2pmbhxy9dbzff94cr2ijf2ykvyrc3s2idk6jhd2bh"; + version = "0.2.0.0"; + sha256 = "13v8ibbz0sb7rw8y8v1dnyfpc3mc83x63dijnrl45xglwmi2qnjk"; libraryHaskellDepends = [ base time ]; - testHaskellDepends = [ - base doctest hspec QuickCheck quickcheck-instances time - ]; + testHaskellDepends = [ base doctest hspec time ]; + testToolDepends = [ hspec-discover ]; description = "Japanese holidays utility"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -127639,6 +136760,7 @@ self: { description = "Tool for searching java classes, members and fields in classfiles and JAR archives"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jarify" = callPackage @@ -127661,6 +136783,7 @@ self: { description = "Jarification of Haskell sources"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jason" = callPackage @@ -127681,6 +136804,7 @@ self: { description = "A fast JASONETTE-iOS JSON combinator library for haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "java-adt" = callPackage @@ -127721,6 +136845,7 @@ self: { description = "Bindings to the JNI and a high level interface generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "java-bridge-extras" = callPackage @@ -127733,6 +136858,7 @@ self: { description = "Utilities for working with the java-bridge package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "java-character" = callPackage @@ -127745,6 +136871,7 @@ self: { description = "Functions to simulate Java's Character class"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "java-poker" = callPackage @@ -127771,6 +136898,7 @@ self: { description = "Tools for reflecting on Java classes"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "javaclass" = callPackage @@ -127813,6 +136941,7 @@ self: { description = "Extra javascript functions when using GHCJS"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "javasf" = callPackage @@ -127834,6 +136963,7 @@ self: { description = "A utility to print the SourceFile attribute of one or more Java class files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "javav" = callPackage @@ -127851,6 +136981,7 @@ self: { description = "A utility to print the target version of Java class files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jbi" = callPackage @@ -127873,6 +137004,7 @@ self: { description = "Just Build It - a \"do what I mean\" abstraction for Haskell build tools"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jcdecaux-vls" = callPackage @@ -127889,6 +137021,7 @@ self: { description = "JCDecaux self-service bicycles API client"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jdi" = callPackage @@ -127908,6 +137041,7 @@ self: { description = "Implementation of Java Debug Interface"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jenga" = callPackage @@ -127930,6 +137064,7 @@ self: { description = "Generate a cabal freeze file from a stack.yaml"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jenkinsPlugins2nix" = callPackage @@ -127954,6 +137089,7 @@ self: { description = "Generate nix for Jenkins plugins"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jespresso" = callPackage @@ -127984,6 +137120,7 @@ self: { description = "Extract all JavaScript from an HTML page and consolidate it in one script"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jinquantities" = callPackage @@ -128007,6 +137144,7 @@ self: { description = "Unit conversion and manipulation library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jmacro" = callPackage @@ -128019,6 +137157,8 @@ self: { pname = "jmacro"; version = "0.6.16"; sha256 = "1kyrvxg5fwwrwv72aby694ar071yl2xmnfkjyrwi5wbc7hsb8rda"; + revision = "1"; + editedCabalFile = "0g7fn738ljrhh6ydmvkigj9znhh2szdvp79kqxw62m4ryqan23qq"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -128034,6 +137174,7 @@ self: { description = "QuasiQuotation library for programmatic generation of Javascript code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jmacro-rpc" = callPackage @@ -128053,6 +137194,7 @@ self: { description = "JSON-RPC clients and servers using JMacro, and evented client-server Reactive Programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jmacro-rpc-happstack" = callPackage @@ -128070,6 +137212,7 @@ self: { description = "Happstack backend for jmacro-rpc"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jmacro-rpc-snap" = callPackage @@ -128086,6 +137229,7 @@ self: { description = "Snap backend for jmacro-rpc"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jml-web-service" = callPackage @@ -128107,6 +137251,7 @@ self: { description = "Common utilities for running a web service"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jmonkey" = callPackage @@ -128120,6 +137265,7 @@ self: { description = "Jmonkey is very restricted but handy EDSL for JavaScript"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jni" = callPackage @@ -128139,6 +137285,7 @@ self: { description = "Complete JNI raw bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) jdk;}; "jobqueue" = callPackage @@ -128165,6 +137312,7 @@ self: { description = "A job queue library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "join" = callPackage @@ -128178,6 +137326,7 @@ self: { description = "Parallel Join Patterns with Guards and Propagation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "join-api" = callPackage @@ -128192,6 +137341,7 @@ self: { description = "Bindings for Join push notifications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "joinlist" = callPackage @@ -128204,6 +137354,18 @@ self: { description = "Join list - symmetric list type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "joint" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "joint"; + version = "0.1.0"; + sha256 = "0hzbczwy1w1mw8c4lf52nm6ighjlpiyj91siy9fmqih4fv22a1p2"; + libraryHaskellDepends = [ base ]; + description = "Trying to compose non-composable"; + license = stdenv.lib.licenses.bsd3; }) {}; "jonathanscard" = callPackage @@ -128220,6 +137382,7 @@ self: { description = "An implementation of the Jonathan's Card API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jord" = callPackage @@ -128256,13 +137419,12 @@ self: { , bytestring, concise, containers, cryptonite, hspec, lens, memory , monad-time, mtl, network-uri, QuickCheck, quickcheck-instances , safe, semigroups, tasty, tasty-hspec, tasty-quickcheck - , template-haskell, text, time, unix, unordered-containers, vector - , x509 + , template-haskell, text, time, unordered-containers, vector, x509 }: mkDerivation { pname = "jose"; - version = "0.8.0.0"; - sha256 = "027698xq5l8in420x3sc5zqwp16i1jzjcy8rlh546j8acxcvrqc4"; + version = "0.8.1.0"; + sha256 = "02xg8axy6whbkn0mzg1gjy6b1mhxlmsh1x7vjk1fiawvg9nwzrkl"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -128271,9 +137433,6 @@ self: { QuickCheck quickcheck-instances safe semigroups template-haskell text time unordered-containers vector x509 ]; - executableHaskellDepends = [ - aeson base bytestring lens mtl semigroups text unix - ]; testHaskellDepends = [ aeson attoparsec base base64-bytestring bytestring concise containers cryptonite hspec lens memory monad-time mtl network-uri @@ -128337,6 +137496,7 @@ self: { description = "A library for decoding JPEG files written in pure Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jps" = callPackage @@ -128350,6 +137510,19 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "js-dgtable" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "js-dgtable"; + version = "0.5.2"; + sha256 = "1b10kx703kbkb5q1ggdpqcrxqjb33kh24khk21rb30w0xrdxd3g2"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base ]; + description = "Obtain minified jquery.dgtable code"; + license = stdenv.lib.licenses.mit; + }) {}; + "js-flot" = callPackage ({ mkDerivation, base, HTTP }: mkDerivation { @@ -128373,6 +137546,7 @@ self: { description = "Javascript: The Good Parts -- AST & Pretty Printer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "js-jquery" = callPackage @@ -128408,7 +137582,6 @@ self: { ]; description = "Interface for JavaScript that works with GHCJS and GHC"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "jsaddle-clib" = callPackage @@ -128424,23 +137597,22 @@ self: { ]; description = "Interface for JavaScript that works with GHCJS and GHC"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "jsaddle-dom" = callPackage - ({ mkDerivation, base, base-compat, exceptions, jsaddle, lens, text - , transformers + ({ mkDerivation, base, base-compat, Cabal, exceptions, jsaddle + , lens, text, transformers }: mkDerivation { pname = "jsaddle-dom"; - version = "0.9.3.1"; - sha256 = "0ifbddp4vjpbl89bwczfp7ivnhfayg8317l8qk6h84p9vd1km44z"; + version = "0.9.3.2"; + sha256 = "1qc135w1y4f2mbky36dmb0ggcbwkv1vnmszw5lkhkxhkcag2sf07"; + setupHaskellDepends = [ base Cabal ]; libraryHaskellDepends = [ base base-compat exceptions jsaddle lens text transformers ]; description = "DOM library that uses jsaddle to support both GHCJS and GHC"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "jsaddle-hello" = callPackage @@ -128455,6 +137627,7 @@ self: { description = "JSaddle Hello World, an example package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jsaddle-warp" = callPackage @@ -128482,6 +137655,7 @@ self: { description = "Interface for JavaScript that works with GHCJS and GHC"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jsaddle-webkit2gtk" = callPackage @@ -128538,6 +137712,7 @@ self: { description = "Interface for JavaScript that works with GHCJS and GHC"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jsc" = callPackage @@ -128567,6 +137742,7 @@ self: { description = "Javascript Monadic Writer base package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json" = callPackage @@ -128602,8 +137778,8 @@ self: { }: mkDerivation { pname = "json-api"; - version = "0.1.1.2"; - sha256 = "092x0zldcz6dsvvsxs2zr4cp4mbwjsrdpcassrl5i715x9rb5fmm"; + version = "0.1.4.0"; + sha256 = "1xswmpkwr1f49kf4hmp9014lwv4lcnyjj161ylfh5ihjfr30w0yb"; libraryHaskellDepends = [ aeson base containers data-default lens lens-aeson text unordered-containers url @@ -128614,7 +137790,30 @@ self: { ]; description = "Utilities for generating JSON-API payloads"; license = stdenv.lib.licenses.mit; + }) {}; + + "json-api-lib" = callPackage + ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers + , data-default, hspec, hspec-discover, lens, lens-aeson, text + , unordered-containers, uri-encode + }: + mkDerivation { + pname = "json-api-lib"; + version = "0.1.1.1"; + sha256 = "096n08y80rkjn090w9pybwbfbwamfdig451nbgd48x0nrk6c091n"; + libraryHaskellDepends = [ + aeson base containers data-default lens lens-aeson text + unordered-containers uri-encode + ]; + testHaskellDepends = [ + aeson aeson-pretty base bytestring containers data-default hspec + lens lens-aeson text unordered-containers uri-encode + ]; + testToolDepends = [ hspec-discover ]; + description = "Utilities for generating JSON-API payloads"; + license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-assertions" = callPackage @@ -128663,6 +137862,7 @@ self: { description = "Encoders of JSON AST"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-ast-quickcheck" = callPackage @@ -128678,6 +137878,7 @@ self: { description = "Compatibility layer for \"json-ast\" and \"QuickCheck\""; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-autotype" = callPackage @@ -128735,6 +137936,7 @@ self: { description = "JSON parser that uses byte strings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-builder" = callPackage @@ -128754,6 +137956,7 @@ self: { description = "Data structure agnostic JSON serialization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-bytes-builder" = callPackage @@ -128772,6 +137975,7 @@ self: { description = "Direct-to-bytes JSON Builder"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-encoder" = callPackage @@ -128807,6 +138011,7 @@ self: { description = "Pure-Haskell utilities for dealing with JSON with the enumerator package. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-extra" = callPackage @@ -128824,6 +138029,7 @@ self: { description = "Utility functions to extend Aeson"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-feed" = callPackage @@ -128865,6 +138071,7 @@ self: { description = "Generic JSON serialization / deserialization"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-incremental-decoder" = callPackage @@ -128890,6 +138097,7 @@ self: { description = "Incremental JSON parser with early termination and a declarative DSL"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-litobj" = callPackage @@ -128903,6 +138111,7 @@ self: { description = "Extends Text.JSON to handle literal JS objects."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-pointer" = callPackage @@ -128916,7 +138125,6 @@ self: { libraryHaskellDepends = [ attoparsec base base-prelude text ]; description = "JSON Pointer parsing and interpretation utilities"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "json-pointer-aeson" = callPackage @@ -128932,7 +138140,6 @@ self: { ]; description = "Integration layer for \"json-pointer\" and \"aeson\""; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "json-pointer-hasql" = callPackage @@ -128950,6 +138157,7 @@ self: { description = "JSON Pointer extensions for Hasql"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-python" = callPackage @@ -128967,6 +138175,7 @@ self: { description = "Call python inline from haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) python;}; "json-qq" = callPackage @@ -129027,8 +138236,8 @@ self: { pname = "json-rpc-client"; version = "0.2.5.0"; sha256 = "177lrw5m9dxdk6mcay0f92rwyih8q7znwb8m6da6r3zsn30gajak"; - revision = "9"; - editedCabalFile = "04b65m8lhk2g2d5x5i637ff3wkgvf4z6dhn5x1pizsj9y3aq35zm"; + revision = "10"; + editedCabalFile = "19vf7gibvqgcm27b5n0ls4s7wi1kr87crn776ifqc9gbr2l9bfpi"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -129112,6 +138321,7 @@ self: { description = "Types and type classes for defining JSON schemas"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-sop" = callPackage @@ -129120,10 +138330,8 @@ self: { }: mkDerivation { pname = "json-sop"; - version = "0.2.0.3"; - sha256 = "0ay2cymy4aar23cixcyqam91bs9x4z0vqiw2k0nvgy9nyqfz2r9h"; - revision = "2"; - editedCabalFile = "1lclvvcfvicr05v2nf1xkf21qry2g2bqjhd7gfhza89d571aq3gp"; + version = "0.2.0.4"; + sha256 = "0q1p15whyyzpggfnqm4vy9p8l12xlxmnc4d82ykxl8rxzhbjkh0i"; libraryHaskellDepends = [ aeson base generics-sop lens-sop tagged text time transformers unordered-containers vector @@ -129183,6 +138391,7 @@ self: { description = "Effectful parsing of JSON documents"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-tools" = callPackage @@ -129202,6 +138411,7 @@ self: { description = "A collection of JSON tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-tracer" = callPackage @@ -129226,6 +138436,7 @@ self: { description = "A polymorphic, type-safe, json-structured tracing library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json-types" = callPackage @@ -129254,6 +138465,7 @@ self: { description = "Library provides support for JSON"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json2-hdbc" = callPackage @@ -129270,6 +138482,7 @@ self: { description = "Support JSON for SQL Database"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "json2-types" = callPackage @@ -129296,6 +138509,21 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "json5hs" = callPackage + ({ mkDerivation, array, base, bytestring, containers, mtl, pretty + , syb, text + }: + mkDerivation { + pname = "json5hs"; + version = "0.1.2.2"; + sha256 = "19r1ripvalrhvlqdk0pvm18b4a8sibdwlc60i2yj7da10rdx5cv1"; + libraryHaskellDepends = [ + array base bytestring containers mtl pretty syb text + ]; + description = "Serialising to and from JSON5"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "jsonextfilter" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring, containers , monads-tf, optparse-applicative, process, scientific, string-qq @@ -129315,6 +138543,30 @@ self: { description = "Filter select values in JSON objects to unix programs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "jsonpath" = callPackage + ({ mkDerivation, aeson, aeson-casing, attoparsec, base, bytestring + , file-embed, hspec, hspec-attoparsec, hspec-discover, text + , unordered-containers, vector + }: + mkDerivation { + pname = "jsonpath"; + version = "0.1.0.1"; + sha256 = "0wp5516g33spb9ilphjkzamr88xl64fb6y9zjfci1kac5vkl4qqk"; + revision = "2"; + editedCabalFile = "04jw3ayvcabsfcqazksnn0rg0i1326d0gjdx1zl8rk955g2qlwam"; + libraryHaskellDepends = [ + aeson attoparsec base text unordered-containers vector + ]; + testHaskellDepends = [ + aeson aeson-casing attoparsec base bytestring file-embed hspec + hspec-attoparsec text unordered-containers vector + ]; + testToolDepends = [ hspec-discover ]; + description = "Library to parse and execute JSONPath"; + license = stdenv.lib.licenses.bsd3; }) {}; "jsonresume" = callPackage @@ -129331,6 +138583,7 @@ self: { description = "Parser and datatypes for the JSON Resume format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jsonrpc-conduit" = callPackage @@ -129352,6 +138605,7 @@ self: { description = "JSON-RPC 2.0 server over a Conduit."; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jsons-to-schema" = callPackage @@ -129384,6 +138638,7 @@ self: { description = "JSON to JSON Schema"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jsonschema-gen" = callPackage @@ -129404,6 +138659,7 @@ self: { description = "JSON Schema generator from Algebraic data type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jsonsql" = callPackage @@ -129425,6 +138681,7 @@ self: { description = "Interpolate JSON object values into SQL strings"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jsontsv" = callPackage @@ -129446,6 +138703,7 @@ self: { description = "JSON to TSV transformer"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jsonxlsx" = callPackage @@ -129467,6 +138725,7 @@ self: { description = "json to xlsx converter"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jspath" = callPackage @@ -129483,6 +138742,7 @@ self: { description = "Extract substructures from JSON by following a path"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "juandelacosa" = callPackage @@ -129507,7 +138767,6 @@ self: { ]; description = "Manage users in MariaDB >= 10.1.1"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "judge" = callPackage @@ -129535,6 +138794,7 @@ self: { description = "Tableau-based theorem prover for justification logic"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "judy" = callPackage @@ -129551,6 +138811,7 @@ self: { description = "Fast, scalable, mutable dynamic arrays, maps and hashes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {Judy = null;}; "juicy-draw" = callPackage @@ -129586,6 +138847,7 @@ self: { description = "SVG to G-Code converter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jukebox" = callPackage @@ -129661,6 +138923,7 @@ self: { description = "A library for creating and using Jupyter kernels"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "justified-containers" = callPackage @@ -129699,6 +138962,7 @@ self: { description = "Call JVM methods from Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jvm-batching" = callPackage @@ -129724,31 +138988,31 @@ self: { description = "Provides batched marshalling of values between Java and Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jvm-binary" = callPackage ({ mkDerivation, attoparsec, base, binary, bytestring, containers , criterion, data-binary-ieee754, deepseq, deriving-compat - , directory, filepath, generic-random - , hspec-expectations-pretty-diff, mtl, QuickCheck, tasty - , tasty-discover, tasty-hspec, tasty-quickcheck, template-haskell - , text, vector + , directory, filepath, generic-random, hspec, hspec-discover + , hspec-expectations-pretty-diff, mtl, QuickCheck, template-haskell + , text, vector, zip-archive }: mkDerivation { pname = "jvm-binary"; - version = "0.3.0"; - sha256 = "0qbhxd13hmzmr5mn20rcm63sxy4wm1y794b7vznz028j2krlyv5w"; + version = "0.5.0"; + sha256 = "0v54x0015im3gbd2rsf87kmppkasd8780sb4pl8mqc82dbf4v18z"; libraryHaskellDepends = [ attoparsec base binary bytestring containers data-binary-ieee754 deepseq deriving-compat mtl template-haskell text vector ]; testHaskellDepends = [ attoparsec base binary bytestring containers data-binary-ieee754 - deepseq deriving-compat directory filepath generic-random - hspec-expectations-pretty-diff mtl QuickCheck tasty tasty-discover - tasty-hspec tasty-quickcheck template-haskell text vector + deepseq deriving-compat directory filepath generic-random hspec + hspec-discover hspec-expectations-pretty-diff mtl QuickCheck + template-haskell text vector zip-archive ]; - testToolDepends = [ tasty-discover ]; + testToolDepends = [ hspec-discover ]; benchmarkHaskellDepends = [ attoparsec base binary bytestring containers criterion data-binary-ieee754 deepseq deriving-compat mtl template-haskell @@ -129757,6 +139021,7 @@ self: { description = "A library for reading Java class-files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jvm-parser" = callPackage @@ -129774,6 +139039,7 @@ self: { description = "A parser for JVM bytecode files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jvm-streaming" = callPackage @@ -129797,6 +139063,7 @@ self: { description = "Expose Java iterators as streams from the streaming package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "jwt" = callPackage @@ -129808,10 +139075,10 @@ self: { }: mkDerivation { pname = "jwt"; - version = "0.9.0"; - sha256 = "1glkaahp3jq744s61y0ja5fdggwac9p1dwia4c19k1ld6qhd5395"; + version = "0.10.0"; + sha256 = "1a1fqmqfm2ajq75mq2x6la8jb2g5hzl4dk8cgx9xsrikp8c7n75w"; revision = "1"; - editedCabalFile = "1vpd4pq8mh4dha7i2pfv4iqpw411yachzkf7p9rnfyicipj53pw2"; + editedCabalFile = "0agwck6lidcxlixk5jgw0pw162xrsnlsgj8y8jwlyhjpqfq52ifi"; libraryHaskellDepends = [ aeson base bytestring containers cryptonite http-types memory network-uri scientific semigroups text time unordered-containers @@ -129847,6 +139114,7 @@ self: { description = "An implementation of the Kademlia DHT Protocol"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kafka" = callPackage @@ -129878,6 +139146,7 @@ self: { description = "Low-level Haskell client library for Apache Kafka 0.7."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kafka-device" = callPackage @@ -129886,8 +139155,8 @@ self: { }: mkDerivation { pname = "kafka-device"; - version = "0.2.1.2"; - sha256 = "0fs6k04cchlsmrcn2sm9sdq07waia4ff8hhhqx24yjjab5ai2798"; + version = "1.0.2.1"; + sha256 = "1ig1qbb1yrizff4f807pw2lqqy0nvn5hy89xf4v20p02zvy0w673"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -129898,22 +139167,20 @@ self: { ]; description = "UI device events via a Kafka message broker"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "kafka-device-glut" = callPackage ({ mkDerivation, base, GLUT, kafka-device, OpenGL }: mkDerivation { pname = "kafka-device-glut"; - version = "0.2.1.2"; - sha256 = "0in1hwmhbj41cvcwysbzbda7idbdpnlq2zggw2smlxjv078zp939"; + version = "1.0.2.1"; + sha256 = "0rz2xlrvhpqafb7m3svfykr1aa2fwrz0qpwzdxjfhpnd85ccfmzi"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base GLUT kafka-device OpenGL ]; executableHaskellDepends = [ base GLUT kafka-device OpenGL ]; description = "GLUT events via a Kafka message broker"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "kafka-device-joystick" = callPackage @@ -129922,8 +139189,8 @@ self: { }: mkDerivation { pname = "kafka-device-joystick"; - version = "0.2.1.2"; - sha256 = "17plqjbl2jh185yjbphgw1viim7w52ib8sjv1g93i460ggpwsyp0"; + version = "1.0.2.1"; + sha256 = "053whqf4yh3gjhamjfh383ijsw2brajid2q0wsyf0qbsd2y6pikl"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -129934,15 +139201,14 @@ self: { ]; description = "Linux joystick events via a Kafka message broker"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "kafka-device-leap" = callPackage ({ mkDerivation, aeson, base, hleap, kafka-device, websockets }: mkDerivation { pname = "kafka-device-leap"; - version = "0.2.1.2"; - sha256 = "14wn3ywa462nf4snjl78bnxjf9jfqj39zkiay2z594yplqp2qsy1"; + version = "1.0.2.1"; + sha256 = "1dm49kwk4nyvfzz6aj9h80pj510xnczfd15yamajfwwszalrj432"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -129953,7 +139219,6 @@ self: { ]; description = "Leap Motion events via a Kafka message broker"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "kafka-device-spacenav" = callPackage @@ -129962,8 +139227,8 @@ self: { }: mkDerivation { pname = "kafka-device-spacenav"; - version = "0.2.1.2"; - sha256 = "0drpf4frlnf17qa92rppjdnxpsks8v3q0h3jad5lyvcvmpssrw1r"; + version = "1.0.2.1"; + sha256 = "0x8fwawlzzwip7v950d1m613h0p57lyy8qa2ps29alk4fj31rcik"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -129974,22 +139239,20 @@ self: { ]; description = "Linux SpaceNavigator events via a Kafka message broker"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "kafka-device-vrpn" = callPackage ({ mkDerivation, base, kafka-device, vrpn }: mkDerivation { pname = "kafka-device-vrpn"; - version = "0.2.1.2"; - sha256 = "0zmiyfvdn16rd2jg44xvdpfm08fi8ivv0af6hdhc46l5q4zd9p4s"; + version = "1.0.2.1"; + sha256 = "1jy9qqhj4yq2ry42yab7c8d9ipczv9rd09l8ixzqx4yclswzgi0x"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base kafka-device vrpn ]; executableHaskellDepends = [ base kafka-device vrpn ]; description = "VRPN events via a Kafka message broker"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "kaleidoscope" = callPackage @@ -130013,6 +139276,7 @@ self: { description = "Haskell Kaleidoscope tutorial"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kalman" = callPackage @@ -130033,6 +139297,7 @@ self: { description = "Kalman and particle filters and smoothers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kan-extensions" = callPackage @@ -130063,6 +139328,7 @@ self: { description = "Binary parsing with random access"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kanji" = callPackage @@ -130072,10 +139338,8 @@ self: { }: mkDerivation { pname = "kanji"; - version = "3.4.0"; - sha256 = "1wc17b5515vb19ah7wm1zwmpf7b3jgjzrhk21hk8ysr14pcxwifr"; - revision = "2"; - editedCabalFile = "1bcc3kh6kndmkqi3vaxp27mg1qb7xbg1h8pgjc1kk1iawnhl930j"; + version = "3.4.0.2"; + sha256 = "017j8nwmwfbkxyaxjfp75js578kv6g5k7szsc46kidbw4l68dwmy"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -130091,7 +139355,6 @@ self: { benchmarkHaskellDepends = [ aeson base containers criterion text ]; description = "Perform 漢字検定 (Japan Kanji Aptitude Test) level analysis on Japanese Kanji"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "kansas-comet" = callPackage @@ -130102,8 +139365,8 @@ self: { pname = "kansas-comet"; version = "0.4"; sha256 = "1q9rffh6589a5am8mvfzxzwws34vg08rdjxggfabhmg9y9jla6hz"; - revision = "16"; - editedCabalFile = "1fnncjd9wjwrnl0247gizlvwklihjbfk21pad6a4mqnaa3li5672"; + revision = "17"; + editedCabalFile = "1qnjg28rkwxwn2f8xisbx4f8pqxw2d70mczrjbrbyvx6gkdqzvri"; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson base containers data-default-class scotty stm text time @@ -130111,7 +139374,6 @@ self: { ]; description = "A JavaScript push mechanism based on the comet idiom"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "kansas-lava" = callPackage @@ -130135,6 +139397,7 @@ self: { description = "Kansas Lava is a hardware simulator and VHDL generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kansas-lava-cores" = callPackage @@ -130155,6 +139418,7 @@ self: { description = "FPGA Cores Written in Kansas Lava"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kansas-lava-papilio" = callPackage @@ -130174,6 +139438,7 @@ self: { description = "Kansas Lava support files for the Papilio FPGA board"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kansas-lava-shake" = callPackage @@ -130191,6 +139456,7 @@ self: { description = "Shake rules for building Kansas Lava projects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "karakuri" = callPackage @@ -130207,6 +139473,7 @@ self: { description = "Good stateful automata"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "karps" = callPackage @@ -130235,6 +139502,7 @@ self: { description = "Haskell bindings for Spark Dataframes and Datasets"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "karver" = callPackage @@ -130267,10 +139535,8 @@ self: { }: mkDerivation { pname = "katip"; - version = "0.7.0.0"; - sha256 = "1z4533952sal5ma71xpsrwbi9pniy1cciw20w31igrx9rw9kx98b"; - revision = "1"; - editedCabalFile = "1lzla1iv5ll9iks5xh8399vs2mjxb33pbdg115kqbq9r5z3h84qp"; + version = "0.8.3.0"; + sha256 = "0wpqchpgrp7awrf7hirg0768g8nnqrydnwcw8xgxw6w47zcb71d0"; libraryHaskellDepends = [ aeson async auto-update base bytestring containers either hostname microlens microlens-th monad-control mtl old-locale resourcet @@ -130292,42 +139558,6 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "katip_0_8_0_0" = callPackage - ({ mkDerivation, aeson, async, auto-update, base, blaze-builder - , bytestring, containers, criterion, deepseq, directory, either - , filepath, hostname, microlens, microlens-th, monad-control, mtl - , old-locale, quickcheck-instances, regex-tdfa, resourcet - , safe-exceptions, scientific, semigroups, stm, string-conv, tasty - , tasty-golden, tasty-hunit, tasty-quickcheck, template-haskell - , text, time, time-locale-compat, transformers, transformers-base - , transformers-compat, unix, unliftio-core, unordered-containers - }: - mkDerivation { - pname = "katip"; - version = "0.8.0.0"; - sha256 = "0964vw38cws9fn22r4zgkd9m97rfzxbb5m8l46bym81izh56fy6s"; - libraryHaskellDepends = [ - aeson async auto-update base bytestring containers either hostname - microlens microlens-th monad-control mtl old-locale resourcet - safe-exceptions scientific semigroups stm string-conv - template-haskell text time transformers transformers-base - transformers-compat unix unliftio-core unordered-containers - ]; - testHaskellDepends = [ - aeson base bytestring containers directory microlens - quickcheck-instances regex-tdfa safe-exceptions stm tasty - tasty-golden tasty-hunit tasty-quickcheck template-haskell text - time time-locale-compat unordered-containers - ]; - benchmarkHaskellDepends = [ - aeson async base blaze-builder criterion deepseq directory filepath - safe-exceptions text time transformers unix - ]; - description = "A structured logging framework"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "katip-datadog" = callPackage ({ mkDerivation, aeson, async, attoparsec, base, binary, bytestring , conduit, conduit-extra, connection, containers, katip, network @@ -130380,6 +139610,7 @@ self: { description = "ElasticSearch scribe for the Katip logging framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "katip-kafka" = callPackage @@ -130393,23 +139624,25 @@ self: { ]; description = "Katip scribe to send logs to Kafka"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "katip-logzio" = callPackage ({ mkDerivation, aeson, async, base, bytestring, errors, hedgehog , hostname, http-client, http-client-tls, http-types, katip, retry - , safe-exceptions, scientific, scotty, stm, tasty, tasty-hedgehog - , tasty-hunit, template-haskell, text, time, unix + , safe-exceptions, scientific, scotty, stm, stm-chans, tasty + , tasty-hedgehog, tasty-hunit, template-haskell, text, time, unix , unordered-containers, uri-bytestring, vector, warp }: mkDerivation { pname = "katip-logzio"; - version = "0.1.0.0"; - sha256 = "09i11zk9rdhq60d8sllc9w971mkc65lngn02rwfa89m7h95sm8wc"; + version = "0.1.1.0"; + sha256 = "1br8phxjf7w2pa6wiig8n054w3qrp2yvsm2vhnkf2syi50mziin0"; libraryHaskellDepends = [ aeson async base bytestring errors http-client http-client-tls - http-types katip retry safe-exceptions scientific stm text time - unix unordered-containers uri-bytestring + http-types katip retry safe-exceptions scientific stm stm-chans + text time unix unordered-containers uri-bytestring ]; testHaskellDepends = [ aeson async base bytestring hedgehog hostname http-types katip @@ -130436,6 +139669,7 @@ self: { description = "Katip scribe that logs to Rollbar"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "katip-scalyr-scribe" = callPackage @@ -130455,6 +139689,7 @@ self: { description = "A katip scribe for logging to json"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "katip-syslog" = callPackage @@ -130472,6 +139707,7 @@ self: { description = "Syslog Katip Scribe"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "katt" = callPackage @@ -130494,6 +139730,7 @@ self: { description = "Client for the Kattis judge system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "katydid" = callPackage @@ -130527,6 +139764,8 @@ self: { ]; description = "A haskell implementation of Katydid"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kawa" = callPackage @@ -130574,6 +139813,7 @@ self: { description = "Utilities for serving static sites and blogs with Wai/Warp"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kawhi" = callPackage @@ -130596,6 +139836,8 @@ self: { ]; description = "stats.NBA.com library"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kazura-queue" = callPackage @@ -130618,7 +139860,6 @@ self: { ]; description = "Fast concurrent queues much inspired by unagi-chan"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "kbq-gu" = callPackage @@ -130667,6 +139908,7 @@ self: { description = "A simple k-d tree implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kdesrc-build-extra" = callPackage @@ -130686,6 +139928,7 @@ self: { description = "Build profiles for kdesrc-build"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kdt" = callPackage @@ -130704,7 +139947,6 @@ self: { ]; description = "Fast and flexible k-d trees for various types of point queries"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "keccak" = callPackage @@ -130732,6 +139974,7 @@ self: { description = "cryptographic functions based on the sponge construction"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keenser" = callPackage @@ -130787,6 +140030,7 @@ self: { description = "Rapid Gtk Application Development - I18N"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keera-hails-mvc-controller" = callPackage @@ -130815,6 +140059,7 @@ self: { description = "Haskell on Gtk rails - Gtk-based global environment for MVC applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keera-hails-mvc-model-lightmodel" = callPackage @@ -130832,6 +140077,7 @@ self: { description = "Rapid Gtk Application Development - Reactive Protected Light Models"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keera-hails-mvc-model-protectedmodel" = callPackage @@ -130849,6 +140095,7 @@ self: { description = "Rapid Gtk Application Development - Protected Reactive Models"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keera-hails-mvc-solutions-config" = callPackage @@ -130860,7 +140107,6 @@ self: { libraryHaskellDepends = [ base directory filepath MissingK ]; description = "Haskell on Gtk rails - Easy handling of configuration files"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "keera-hails-mvc-solutions-gtk" = callPackage @@ -130883,6 +140129,7 @@ self: { description = "Haskell on Gtk rails - Common solutions to recurrent problems in Gtk applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keera-hails-mvc-view" = callPackage @@ -130907,7 +140154,6 @@ self: { ]; description = "Haskell on Gtk rails - Gtk-based View for MVC applications"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "keera-hails-reactive-fs" = callPackage @@ -130924,6 +140170,7 @@ self: { description = "Haskell on Rails - Files as Reactive Values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keera-hails-reactive-gtk" = callPackage @@ -130932,8 +140179,8 @@ self: { }: mkDerivation { pname = "keera-hails-reactive-gtk"; - version = "0.3"; - sha256 = "0b3j9h0d4sw1hhgihnlqpiyc9bwfk5qd6jl64jij3q3rjy97wr3v"; + version = "0.5"; + sha256 = "014d9hr2321gs6ska8ykrgh59k92c6kxf0a3gqvrfj3rck28izb9"; libraryHaskellDepends = [ base bytestring cairo glib gtk gtk-helpers keera-hails-reactivevalues mtl transformers @@ -130941,20 +140188,24 @@ self: { description = "Haskell on Gtk rails - Reactive Fields for Gtk widgets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keera-hails-reactive-network" = callPackage - ({ mkDerivation, base, keera-hails-reactivevalues, network }: + ({ mkDerivation, base, bytestring, keera-hails-reactivevalues + , network, network-bsd + }: mkDerivation { pname = "keera-hails-reactive-network"; - version = "0.0.3.3"; - sha256 = "1379djvy5nn6k67ds7mk9jjh03zd6sj0v8sf5agmk3pf5cyp0xa3"; + version = "0.1"; + sha256 = "1d1r9p5ray60yfrxs89byc7rmdsm340k2b8klv25k0wh2fvrx2yw"; libraryHaskellDepends = [ - base keera-hails-reactivevalues network + base bytestring keera-hails-reactivevalues network network-bsd ]; description = "Haskell on Rails - Sockets as Reactive Values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keera-hails-reactive-polling" = callPackage @@ -130970,6 +140221,7 @@ self: { description = "Haskell on Rails - Polling based Readable RVs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keera-hails-reactive-wx" = callPackage @@ -130984,6 +140236,7 @@ self: { description = "Haskell on Rails - Reactive Fields for WX widgets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keera-hails-reactive-yampa" = callPackage @@ -131000,6 +140253,7 @@ self: { description = "Haskell on Rails - FRP Yampa Signal Functions as RVs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keera-hails-reactivelenses" = callPackage @@ -131012,6 +140266,7 @@ self: { description = "Reactive Haskell on Rails - Lenses applied to Reactive Values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keera-hails-reactivevalues" = callPackage @@ -131031,6 +140286,7 @@ self: { description = "Haskell on Rails - Reactive Values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keera-posture" = callPackage @@ -131090,6 +140346,30 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "kerry" = callPackage + ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers + , errors, hedgehog, hedgehog-corpus, mmorph, mtl, process + , resourcet, temporary-resourcet, text, transformers + , transformers-bifunctors + }: + mkDerivation { + pname = "kerry"; + version = "0.1.1"; + sha256 = "1b42mmwjvw39fyqi9b6gv67qpmswg6biabar55vggsxi8j43s76z"; + libraryHaskellDepends = [ + aeson aeson-pretty base bytestring containers errors mmorph text + transformers transformers-bifunctors + ]; + testHaskellDepends = [ + aeson base bytestring containers hedgehog hedgehog-corpus mmorph + mtl process resourcet temporary-resourcet text transformers + ]; + description = "Manage and abstract your packer configurations"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "keter" = callPackage ({ mkDerivation, aeson, array, async, attoparsec, base , blaze-builder, bytestring, case-insensitive, conduit @@ -131122,6 +140402,7 @@ self: { description = "Web application deployment manager, focusing on Haskell web frameworks"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kevin" = callPackage @@ -131143,6 +140424,18 @@ self: { description = "a dAmn ↔ IRC proxy"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "key" = callPackage + ({ mkDerivation, base, transformers }: + mkDerivation { + pname = "key"; + version = "0.1.1.0"; + sha256 = "15n53kq13hhc659s1hq9wdr530da3h2mg5psncq1d2snkkdswqxf"; + libraryHaskellDepends = [ base transformers ]; + description = "Type-safe unconstrained dynamic typing"; + license = stdenv.lib.licenses.bsd3; }) {}; "key-state" = callPackage @@ -131165,15 +140458,16 @@ self: { }: mkDerivation { pname = "keycloak-hs"; - version = "0.0.0.4"; - sha256 = "1b4h0qn5gmc3h7k301f6fg4dh56w91fbi6jmk06mh8mqwg15qbdl"; + version = "0.1.1"; + sha256 = "1ags7q66g37qr2l3cd5bzhvy4i2q1knwjaswx49v2r50klqxbzyd"; libraryHaskellDepends = [ aeson aeson-casing base base64-bytestring bytestring containers exceptions hslogger http-api-data http-client http-types jwt lens mtl string-conversions text word8 wreq ]; - testHaskellDepends = [ base ]; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keycode" = callPackage @@ -131182,8 +140476,8 @@ self: { pname = "keycode"; version = "0.2.2"; sha256 = "046k8d1h5wwadf5z4pppjkc3g7v2zxlzb06s1xgixc42y5y41yan"; - revision = "3"; - editedCabalFile = "18dgbpf3xwdm3x9j63vsr5q7l028qvifgc6jmjf1ar4p2wv1fzz0"; + revision = "4"; + editedCabalFile = "081spzhywygv90i7jwhbcm7p1aqz6qqph02ddxvqncghar5kjc7n"; libraryHaskellDepends = [ base containers ghc-prim template-haskell ]; @@ -131201,6 +140495,7 @@ self: { description = "Generic indexing for many data structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keyring" = callPackage @@ -131215,6 +140510,7 @@ self: { description = "Keyring access"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keys" = callPackage @@ -131224,8 +140520,10 @@ self: { }: mkDerivation { pname = "keys"; - version = "3.12.1"; - sha256 = "1yqm4gpshsgswx6w78z64c83gpydh6jhgslx2lnc10nzhy0s9kkz"; + version = "3.12.2"; + sha256 = "1mw4c0dd21hmzhidf84p6fxrin7k05l2iz8iar3m7k5vbxihlldj"; + revision = "1"; + editedCabalFile = "1cx5bwd32mpqdgllrkld254a8ydks196m3j9dvm3razg8mxnz2x6"; libraryHaskellDepends = [ array base comonad containers free hashable semigroupoids semigroups tagged transformers transformers-compat @@ -131263,6 +140561,7 @@ self: { description = "back up a secret key securely to the cloud"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keystore" = callPackage @@ -131295,6 +140594,7 @@ self: { description = "Managing stores of secret things"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keyvaluehash" = callPackage @@ -131312,6 +140612,7 @@ self: { description = "Pure Haskell key/value store implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "keyword-args" = callPackage @@ -131334,6 +140635,7 @@ self: { description = "Extract data from a keyword-args config file format"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "khph" = callPackage @@ -131354,6 +140656,7 @@ self: { description = "Command-line file tagging and organization tool"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kibro" = callPackage @@ -131387,6 +140690,7 @@ self: { description = "Parser and writer for KiCad files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kickass-torrents-dump-parser" = callPackage @@ -131405,6 +140709,7 @@ self: { description = "Parses kat.ph torrent dumps"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kickchan" = callPackage @@ -131424,6 +140729,7 @@ self: { description = "Kick Channels: bounded channels with non-blocking writes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kif-parser" = callPackage @@ -131443,14 +140749,15 @@ self: { description = "Process KIF iOS test logs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kind-apply" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "kind-apply"; - version = "0.3.0.0"; - sha256 = "1k4plkf7j0spjvi565zfg25fshm2lkh6xjb5a0mr9c5nmq3cp2q7"; + version = "0.3.1.0"; + sha256 = "1rvm0zw5gxn4jfy7ndplrzi2k77mciiisylf9adppy1an8q4zw3d"; libraryHaskellDepends = [ base ]; description = "Utilities to work with lists of types"; license = stdenv.lib.licenses.bsd3; @@ -131473,8 +140780,8 @@ self: { }: mkDerivation { pname = "kind-generics-th"; - version = "0.1.0.0"; - sha256 = "1dbx24yb8imy7sn9x6372ckdzhslxv9i0svzlwslaavbycpqyvzd"; + version = "0.1.1.0"; + sha256 = "0pwhids2d9wfmycaxn5qm04jp1qjj8ji8casgk7d7k36fs15qgkl"; libraryHaskellDepends = [ base kind-generics template-haskell th-abstraction ]; @@ -131513,26 +140820,28 @@ self: { description = "A dependency manager for Xcode (Objective-C) projects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kleene" = callPackage - ({ mkDerivation, base, base-compat-batteries, containers, lattices - , MemoTrie, QuickCheck, range-set-list, regex-applicative - , step-function, text, transformers + ({ mkDerivation, attoparsec, base, base-compat, bytestring + , containers, lattices, MemoTrie, QuickCheck, range-set-list + , regex-applicative, semigroupoids, step-function, text + , transformers }: mkDerivation { pname = "kleene"; - version = "0"; - sha256 = "00hbrmsm19azxxql14y6k7h7z8k4azlmy4y0gimyqbx4nb7swln6"; + version = "0.1"; + sha256 = "00w1gywdhqyy2k3y238gfjs9h2w4pjanmi45bna5lj215n0jb0hg"; revision = "1"; - editedCabalFile = "1izdmr7a2d7qssnj732m2qc02inm3hrc882x9nyvz68648pvwwsx"; + editedCabalFile = "0cirgqhbwz849szrzmyvs47pzja9wnmz5rc2ccylgdikkv4mg3bb"; libraryHaskellDepends = [ - base base-compat-batteries containers lattices MemoTrie QuickCheck - range-set-list regex-applicative step-function text transformers + attoparsec base base-compat bytestring containers lattices MemoTrie + QuickCheck range-set-list regex-applicative semigroupoids + step-function text transformers ]; description = "Kleene algebra"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "kmeans" = callPackage @@ -131566,6 +140875,7 @@ self: { description = "Sequential and parallel implementations of Lloyd's algorithm"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kmeans-vector" = callPackage @@ -131583,6 +140893,7 @@ self: { description = "An implementation of the kmeans clustering algorithm based on the vector package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kmp-dfa" = callPackage @@ -131596,23 +140907,25 @@ self: { description = "KMP algorithm implementation, based on Deterministic Finite State Automata"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "knead" = callPackage - ({ mkDerivation, base, bool8, llvm-extra, llvm-tf, storable-record - , storable-tuple, tfp, transformers, utility-ht + ({ mkDerivation, base, bool8, comfort-array, llvm-extra, llvm-tf + , storable-record, storable-tuple, tfp, transformers, utility-ht }: mkDerivation { pname = "knead"; - version = "0.3"; - sha256 = "0pghy04z5ps1m3v6qmq7pilnflrcswm83c68k2f8d4g56v9lcp40"; + version = "0.4"; + sha256 = "1p1zfa2mihy2di5wjb189mdq6kygr47y19194ycxdx47sh8y6s6y"; libraryHaskellDepends = [ - base bool8 llvm-extra llvm-tf storable-record storable-tuple tfp - transformers utility-ht + base bool8 comfort-array llvm-extra llvm-tf storable-record + storable-tuple tfp transformers utility-ht ]; description = "Repa-like array processing using LLVM JIT"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "knead-arithmetic" = callPackage @@ -131627,6 +140940,40 @@ self: { description = "Linear algebra and interpolation using LLVM JIT"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "knit-haskell" = callPackage + ({ mkDerivation, aeson-pretty, base, base64-bytestring + , blaze-colonnade, blaze-html, bytestring, case-insensitive + , colonnade, constraints, containers, diagrams-lib, diagrams-svg + , directory, Glob, here, http-client, http-client-tls, http-types + , hvega, logging-effect, lucid, mtl, network, network-uri, pandoc + , plots, polysemy, polysemy-plugin, polysemy-RandomFu, polysemy-zoo + , prettyprinter, random, random-fu, random-source, svg-builder + , text, time + }: + mkDerivation { + pname = "knit-haskell"; + version = "0.6.0.1"; + sha256 = "0wsbi614sjn62ri4msdmav7kx9k11h35dkjpxsd2ndvky2njzi33"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson-pretty base base64-bytestring blaze-colonnade blaze-html + bytestring case-insensitive colonnade constraints containers + diagrams-lib diagrams-svg directory Glob http-client + http-client-tls http-types hvega logging-effect lucid mtl network + network-uri pandoc polysemy polysemy-plugin polysemy-zoo + prettyprinter random random-fu random-source svg-builder text time + ]; + testHaskellDepends = [ + base blaze-html colonnade containers here hvega mtl plots polysemy + polysemy-plugin polysemy-RandomFu random-fu random-source text + ]; + description = "a minimal Rmarkdown sort-of-thing for haskell, by way of Pandoc"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "knob" = callPackage @@ -131657,6 +141004,7 @@ self: { description = "Khovanov homology computations"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "koellner-phonetic" = callPackage @@ -131671,6 +141019,7 @@ self: { description = "\"map German words to code representing pronunciation\""; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kontra-config" = callPackage @@ -131687,6 +141036,8 @@ self: { ]; description = "JSON config file parsing based on unjson"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kontrakcja-templates" = callPackage @@ -131732,6 +141083,25 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "korea-holidays" = callPackage + ({ mkDerivation, aeson, base, hspec, monad-extras, split + , template-haskell, time, yaml + }: + mkDerivation { + pname = "korea-holidays"; + version = "0.1.0.4"; + sha256 = "11yiip6nv84k8q4n37w9kn1w57vizlcggszh0pnrkkx36xwwk9ll"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson base monad-extras split template-haskell time yaml + ]; + testHaskellDepends = [ + aeson base hspec monad-extras split template-haskell time yaml + ]; + description = "Korea Holidays"; + license = stdenv.lib.licenses.mit; + }) {}; + "korfu" = callPackage ({ mkDerivation, base, bio, bytestring, haskell98, simpleargs }: mkDerivation { @@ -131746,6 +141116,7 @@ self: { description = "The Korfu ORF Utility"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kqueue" = callPackage @@ -131762,6 +141133,7 @@ self: { description = "A binding to the kqueue event library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kraken" = callPackage @@ -131805,6 +141177,7 @@ self: { description = "Haskell bindings for Spark Dataframes and Datasets"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "krpc" = callPackage @@ -131831,6 +141204,7 @@ self: { description = "KRPC protocol implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ks-test" = callPackage @@ -131842,6 +141216,8 @@ self: { libraryHaskellDepends = [ base gamma random-fu roots vector ]; description = "Kolmogorov distribution and Kolmogorov-Smirnov test"; license = stdenv.lib.licenses.publicDomain; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ksystools" = callPackage @@ -131866,8 +141242,69 @@ self: { description = "A binding for libktx from Khronos"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {egl = null; inherit (pkgs) glew;}; + "kubernetes-client" = callPackage + ({ mkDerivation, aeson, base, bytestring, connection, containers + , data-default-class, hspec, http-client, http-client-tls + , kubernetes-client-core, microlens, mtl, pem, safe-exceptions + , streaming-bytestring, text, tls, x509, x509-store, x509-system + , x509-validation, yaml + }: + mkDerivation { + pname = "kubernetes-client"; + version = "0.1.0.1"; + sha256 = "0fzilm4k7cq3k6vlx01c5gzg4lnrgpfdldbiml4rbiv42f13pr7j"; + libraryHaskellDepends = [ + aeson base bytestring connection containers data-default-class + http-client http-client-tls kubernetes-client-core microlens mtl + pem safe-exceptions streaming-bytestring text tls x509 x509-store + x509-system x509-validation + ]; + testHaskellDepends = [ + aeson base bytestring connection containers data-default-class + hspec http-client http-client-tls kubernetes-client-core microlens + mtl pem safe-exceptions streaming-bytestring text tls x509 + x509-store x509-system x509-validation yaml + ]; + description = "Client library for Kubernetes"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "kubernetes-client-core" = callPackage + ({ mkDerivation, aeson, base, base64-bytestring, bytestring + , case-insensitive, containers, deepseq, exceptions, hspec + , http-api-data, http-client, http-client-tls, http-media + , http-types, iso8601-time, katip, microlens, mtl, network + , QuickCheck, random, safe-exceptions, semigroups, text, time + , transformers, unordered-containers, vector + }: + mkDerivation { + pname = "kubernetes-client-core"; + version = "0.1.0.1"; + sha256 = "08sxsc9a9vdsqp71zxnc309cng75k3c57mcmmryhpwwyscvgfnsk"; + revision = "1"; + editedCabalFile = "0qzh7zq36q57yfccna1izi1gz9fpki9ngnl8dgf3m6halrxwqlc7"; + libraryHaskellDepends = [ + aeson base base64-bytestring bytestring case-insensitive containers + deepseq exceptions http-api-data http-client http-client-tls + http-media http-types iso8601-time katip microlens mtl network + random safe-exceptions text time transformers unordered-containers + vector + ]; + testHaskellDepends = [ + aeson base bytestring containers hspec iso8601-time mtl QuickCheck + semigroups text time transformers unordered-containers vector + ]; + description = "Auto-generated kubernetes-client-core API Client"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "kure" = callPackage ({ mkDerivation, base, dlist, transformers }: mkDerivation { @@ -131880,6 +141317,7 @@ self: { description = "Combinators for Strategic Programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kure-your-boilerplate" = callPackage @@ -131892,6 +141330,41 @@ self: { description = "Generator for Boilerplate KURE Combinators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "kurita" = callPackage + ({ mkDerivation, aeson, approximate, async, atomic-write, base + , bits, broadcast-chan, bytes, bytestring, containers, delay + , double-metaphone, hashable, http-types, hyperloglog, lens + , linklater, megaparsec, monad-loops, mtl, parser-combinators + , random, reflection, siphash, sorted-list, split, stm, text, time + , unordered-containers, uri-bytestring, vector, wai, wai-websockets + , warp, websockets, wreq, wuss + }: + mkDerivation { + pname = "kurita"; + version = "0"; + sha256 = "1drm9jbp8ypisg3smhrjlcpls7m7h4dxc5zv570wvjkfxhfkvf6d"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson approximate async atomic-write base broadcast-chan bytestring + containers delay double-metaphone hashable http-types hyperloglog + lens linklater megaparsec monad-loops mtl parser-combinators random + reflection sorted-list split stm text time unordered-containers + uri-bytestring vector wai wai-websockets websockets wreq wuss + ]; + executableHaskellDepends = [ + aeson async base bits bytes bytestring containers delay linklater + monad-loops siphash stm text time warp websockets + ]; + testHaskellDepends = [ base ]; + description = "Find the alpha emoji"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "kyotocabinet" = callPackage @@ -131917,6 +141390,7 @@ self: { description = "Bindings to L-BFGS-B, Fortran code for limited-memory quasi-Newton bound-constrained optimization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {lbfgsb = null;}; "l10n" = callPackage @@ -131940,6 +141414,7 @@ self: { description = "Labeled graph structure"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "labeled-tree" = callPackage @@ -131986,6 +141461,7 @@ self: { description = "an experiment management framework"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "labsat" = callPackage @@ -132010,6 +141486,7 @@ self: { description = "LabSat TCP Interface Wrapper"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "labyrinth" = callPackage @@ -132032,6 +141509,7 @@ self: { description = "A complicated turn-based game"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "labyrinth-server" = callPackage @@ -132066,14 +141544,15 @@ self: { description = "A complicated turn-based game - Web server"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lackey" = callPackage ({ mkDerivation, base, hspec, servant, servant-foreign, text }: mkDerivation { pname = "lackey"; - version = "1.0.8"; - sha256 = "0nryr2bsl7wn80nfwpvs45nyf02micq422b95dhw8ln79knpa4vm"; + version = "1.0.9"; + sha256 = "0prkaxa9f03m5a333zsl75jdv2hi48w9ghv1ff1r68gnqf4hbvlr"; libraryHaskellDepends = [ base servant servant-foreign text ]; testHaskellDepends = [ base hspec servant servant-foreign text ]; description = "Generate Ruby clients from Servant APIs"; @@ -132110,6 +141589,7 @@ self: { description = "Solve Lagrange multiplier problems"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "laika" = callPackage @@ -132130,6 +141610,7 @@ self: { description = "Minimalistic type-checked compile-time template engine"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambda-ast" = callPackage @@ -132156,6 +141637,7 @@ self: { description = "A bridge from Haskell (on a CPU) to VHDL on a FPGA"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambda-calculator" = callPackage @@ -132176,6 +141658,7 @@ self: { description = "A lambda calculus interpreter"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambda-calculus-interpreter" = callPackage @@ -132203,6 +141686,7 @@ self: { description = "Educational drawing canvas for FP explorers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambda-devs" = callPackage @@ -132230,18 +141714,23 @@ self: { description = "a Paralell-DEVS implementaion based on distributed-process"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambda-options" = callPackage - ({ mkDerivation, base, containers, mtl, read-bounded }: + ({ mkDerivation, base, containers, funspection, mtl, read-bounded + }: mkDerivation { pname = "lambda-options"; - version = "0.9.1.0"; - sha256 = "0rylch5v4lpd5ynyhrzzj72npqdv6q8mp2rx9v7p641r0njw5r5n"; - libraryHaskellDepends = [ base containers mtl read-bounded ]; - description = "Declarative command line parser using type-driven pattern matching"; - license = stdenv.lib.licenses.bsd2; + version = "1.0.0.0"; + sha256 = "1cpd5s0m10d09mqbpy1qxnrpy8np21ci6fcd09d01xj7lx8p2yzx"; + libraryHaskellDepends = [ + base containers funspection mtl read-bounded + ]; + description = "Declarative command-line parser using type-driven pattern matching"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambda-placeholders" = callPackage @@ -132283,6 +141772,7 @@ self: { description = "An application to work with the lambda calculus (for learning)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambda2js" = callPackage @@ -132297,6 +141787,7 @@ self: { description = "Untyped Lambda calculus to JavaScript compiler"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdaBase" = callPackage @@ -132309,6 +141800,7 @@ self: { testHaskellDepends = [ base parsec ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdaFeed" = callPackage @@ -132323,6 +141815,7 @@ self: { description = "RSS 2.0 feed generator"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdaLit" = callPackage @@ -132341,6 +141834,7 @@ self: { description = "..."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdabot" = callPackage @@ -132351,8 +141845,8 @@ self: { }: mkDerivation { pname = "lambdabot"; - version = "5.1.0.4"; - sha256 = "1pywangzqf85pqhh5sn10vpk0wrd7ff5p29jrsi6sxdz5lyb7svk"; + version = "5.2"; + sha256 = "1ay873mnp4jzjsawxm6k17h6ciyw022a3fviqm83d0l6d1yjnyzm"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -132364,32 +141858,36 @@ self: { description = "Lambdabot is a development tool and advanced IRC bot"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdabot-core" = callPackage ({ mkDerivation, base, binary, bytestring, containers , dependent-map, dependent-sum, dependent-sum-template, directory , edit-distance, filepath, haskeline, hslogger, HTTP, lifted-base - , monad-control, mtl, network, parsec, prim-uniq, random, random-fu - , random-source, regex-tdfa, SafeSemaphore, split, syb - , template-haskell, time, transformers, transformers-base, unix - , utf8-string, zlib + , monad-control, mtl, network, network-bsd, parsec, prim-uniq + , random, random-fu, random-source, regex-tdfa, SafeSemaphore + , split, syb, template-haskell, time, transformers + , transformers-base, unix, utf8-string, zlib }: mkDerivation { pname = "lambdabot-core"; - version = "5.1.0.4"; - sha256 = "1cnp0w47fp0s1zlyb0d90xj5ynwfmlnzm5inc5lhbichwgqcwfzk"; + version = "5.2"; + sha256 = "1wh87wwb8hk3hn2lmdqi1hv77qbdmwqcwjslichygmvac8fjhjss"; + revision = "1"; + editedCabalFile = "1srdkvyw1b0cpv2gq497x11zmqkiqpxkhhdhkd0363wayqjpg21s"; libraryHaskellDepends = [ base binary bytestring containers dependent-map dependent-sum dependent-sum-template directory edit-distance filepath haskeline - hslogger HTTP lifted-base monad-control mtl network parsec - prim-uniq random random-fu random-source regex-tdfa SafeSemaphore - split syb template-haskell time transformers transformers-base unix - utf8-string zlib + hslogger HTTP lifted-base monad-control mtl network network-bsd + parsec prim-uniq random random-fu random-source regex-tdfa + SafeSemaphore split syb template-haskell time transformers + transformers-base unix utf8-string zlib ]; description = "Lambdabot core functionality"; license = "GPL"; - maintainers = with stdenv.lib.maintainers; [ peti ]; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdabot-haskell-plugins" = callPackage @@ -132403,8 +141901,8 @@ self: { }: mkDerivation { pname = "lambdabot-haskell-plugins"; - version = "5.1.0.4"; - sha256 = "19fl14c1j7p9qaf26g1qkmxvmw9r7hvxqmp9jxmmwbp7xlc3664v"; + version = "5.2"; + sha256 = "0slq4bfkjpb13k9r9dzfhzsaz39f4ji81f8zfqs37b3r6vfvabbb"; libraryHaskellDepends = [ array arrows base bytestring containers data-memocombinators directory filepath haskell-src-exts-simple hoogle HTTP IOSpec @@ -132416,6 +141914,7 @@ self: { description = "Lambdabot Haskell plugins"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdabot-irc-plugins" = callPackage @@ -132425,19 +141924,20 @@ self: { }: mkDerivation { pname = "lambdabot-irc-plugins"; - version = "5.1.0.4"; - sha256 = "0kscksdqjysk9amxwb1xjh475pbwq22mf9as5kqwn72c8s75ngaf"; + version = "5.2"; + sha256 = "0m0dmggmri8imzm15qf5xhzha5ww0qxzg9r3w826z57fwpsql5kh"; libraryHaskellDepends = [ base bytestring containers directory filepath lambdabot-core lifted-base mtl network SafeSemaphore split time ]; description = "IRC plugins for lambdabot"; license = "GPL"; - maintainers = with stdenv.lib.maintainers; [ peti ]; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdabot-misc-plugins" = callPackage - ({ mkDerivation, base, bytestring, containers, filepath, hstatsd + ({ mkDerivation, base, bytestring, containers, filepath , lambdabot-core, lifted-base, mtl, network, network-uri, parsec , process, random, random-fu, random-source, regex-tdfa , SafeSemaphore, split, tagsoup, template-haskell, time @@ -132445,17 +141945,18 @@ self: { }: mkDerivation { pname = "lambdabot-misc-plugins"; - version = "5.1.0.4"; - sha256 = "169grwgg5x63qhls16c7xd0p78da38r275mar27il78az7qfgn8d"; + version = "5.2"; + sha256 = "1bl33np4ajiasafchqp2cf0jgb4r8s5phh2nifd82wqg4g4ajw6a"; libraryHaskellDepends = [ - base bytestring containers filepath hstatsd lambdabot-core - lifted-base mtl network network-uri parsec process random random-fu - random-source regex-tdfa SafeSemaphore split tagsoup - template-haskell time transformers transformers-base unix - utf8-string zlib + base bytestring containers filepath lambdabot-core lifted-base mtl + network network-uri parsec process random random-fu random-source + regex-tdfa SafeSemaphore split tagsoup template-haskell time + transformers transformers-base unix utf8-string zlib ]; description = "Lambdabot miscellaneous plugins"; license = "GPL"; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdabot-novelty-plugins" = callPackage @@ -132465,14 +141966,16 @@ self: { }: mkDerivation { pname = "lambdabot-novelty-plugins"; - version = "5.1.0.4"; - sha256 = "1m6n0asp8pn12wif5jv0nvjipzgh7mzzxa17j4mzd7mdqi4dma7z"; + version = "5.2"; + sha256 = "171zx2sicl2c5i0mq2aj82dy146i474l18958qw6nwnx9qxc023a"; libraryHaskellDepends = [ base binary brainfuck bytestring containers dice directory lambdabot-core misfortune process random-fu regex-tdfa unlambda ]; description = "Novelty plugins for Lambdabot"; license = "GPL"; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdabot-reference-plugins" = callPackage @@ -132482,14 +141985,16 @@ self: { }: mkDerivation { pname = "lambdabot-reference-plugins"; - version = "5.1.0.4"; - sha256 = "0qavp784p5qdb2plhhgk1idrjxcazzn4a94pg8syymb24fzjvm1w"; + version = "5.2"; + sha256 = "0z4hx2knj7y5cslrx3rbd2gzm1qyan4gi1v45c91nlg2g54z5cf3"; libraryHaskellDepends = [ base bytestring containers HTTP lambdabot-core mtl network network-uri oeis process regex-tdfa split tagsoup utf8-string ]; description = "Lambdabot reference plugins"; license = "GPL"; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdabot-social-plugins" = callPackage @@ -132498,21 +142003,23 @@ self: { }: mkDerivation { pname = "lambdabot-social-plugins"; - version = "5.1.0.4"; - sha256 = "0kjjsnrrsrcdvkn75dsbw7afx8y87i36i6lk54hs6cg88zndailz"; + version = "5.2"; + sha256 = "04gg7cnzahqfy69sp0wr0h1kgy6l0m0dkjbynrx2rmi5w6v4zgkl"; libraryHaskellDepends = [ base binary bytestring containers lambdabot-core mtl split time ]; description = "Social plugins for Lambdabot"; license = "GPL"; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdabot-trusted" = callPackage ({ mkDerivation, base, oeis, QuickCheck, QuickCheck-safe }: mkDerivation { pname = "lambdabot-trusted"; - version = "5.1.0.4"; - sha256 = "1mlyhxc93d3466xhxqlyzg1c8988spzbyk4d5l0c05l1m0xlq77j"; + version = "5.2"; + sha256 = "0cc1x3yxmpnhgl47y8zvbhqiryp3db30b0i89h0zb112kf8mvw5k"; libraryHaskellDepends = [ base oeis QuickCheck QuickCheck-safe ]; description = "Lambdabot trusted code"; license = "GPL"; @@ -132537,6 +142044,7 @@ self: { description = "Utility libraries for the advanced IRC bot, Lambdabot"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdabot-xmpp" = callPackage @@ -132584,6 +142092,7 @@ self: { description = "Lambdabot for Zulip Chat"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdacat" = callPackage @@ -132628,6 +142137,7 @@ self: { description = "LambdaCms 'core' subsite for Yesod apps"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdacms-media" = callPackage @@ -132645,6 +142155,7 @@ self: { description = "LambdaCms \"media\" extension"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdacube" = callPackage @@ -132659,6 +142170,7 @@ self: { description = "A simple lambda cube type checker"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdacube-bullet" = callPackage @@ -132673,6 +142185,7 @@ self: { description = "Example for combining LambdaCube and Bullet"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdacube-compiler" = callPackage @@ -132698,6 +142211,7 @@ self: { description = "LambdaCube 3D is a DSL to program GPUs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdacube-core" = callPackage @@ -132714,6 +142228,7 @@ self: { description = "LambdaCube 3D IR"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdacube-edsl" = callPackage @@ -132731,6 +142246,7 @@ self: { description = "LambdaCube 3D EDSL definition"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdacube-engine" = callPackage @@ -132751,6 +142267,7 @@ self: { description = "3D rendering engine written entirely in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdacube-examples" = callPackage @@ -132768,6 +142285,7 @@ self: { description = "Examples for LambdaCube"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdacube-gl" = callPackage @@ -132787,6 +142305,7 @@ self: { description = "OpenGL 3.3 Core Profile backend for LambdaCube 3D"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdacube-ir" = callPackage @@ -132799,6 +142318,7 @@ self: { description = "LambdaCube 3D intermediate representation of 3D graphics pipelines"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdacube-samples" = callPackage @@ -132821,6 +142341,7 @@ self: { description = "Samples for LambdaCube 3D"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdatex" = callPackage @@ -132842,6 +142363,7 @@ self: { description = "Type-Safe LaTeX EDSL"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdatwit" = callPackage @@ -132868,6 +142390,7 @@ self: { description = "Lambdabot running as a twitter bot. Similar to the @fsibot f# bot."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdaya-bus" = callPackage @@ -132882,6 +142405,7 @@ self: { description = "Fpga bus core and serialization for RedPitaya"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lambdiff" = callPackage @@ -132900,35 +142424,10 @@ self: { description = "Diff Viewer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lame" = callPackage - ({ mkDerivation, base, bytestring, data-default-class, directory - , exceptions, filepath, hspec, htaglib, mp3lame, temporary, text - , transformers, wave - }: - mkDerivation { - pname = "lame"; - version = "0.1.1"; - sha256 = "0j35zpfhppb09m6h23awxgsawisvgsnrw7d99f5z3xq2bjihjq5k"; - revision = "4"; - editedCabalFile = "0r364limqm570a8xd82wwpcvmcx2j7nfndg5kad022vz2v5n0smz"; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - base bytestring data-default-class directory exceptions filepath - text transformers wave - ]; - librarySystemDepends = [ mp3lame ]; - testHaskellDepends = [ - base data-default-class directory filepath hspec htaglib temporary - text - ]; - description = "Fairly complete high-level binding to LAME encoder"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {mp3lame = null;}; - - "lame_0_2_0" = callPackage ({ mkDerivation, base, bytestring, directory, exceptions, filepath , hspec, hspec-discover, htaglib, mp3lame, temporary, text , transformers, wave @@ -132950,6 +142449,7 @@ self: { description = "Fairly complete high-level binding to LAME encoder"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {mp3lame = null;}; "lame-tester" = callPackage @@ -132967,6 +142467,7 @@ self: { description = "A strange and unnecessary selective test-running library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lang" = callPackage @@ -132979,6 +142480,23 @@ self: { description = "A Lisp"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "language-asn" = callPackage + ({ mkDerivation, aeson, base, bytestring, contravariant, hashable + , pretty, primitive, text, vector + }: + mkDerivation { + pname = "language-asn"; + version = "0.1.1.0"; + sha256 = "0ynqpfws2ga2v79cmlxxg1nl7w228mz9znbxj4mxpsbqyc9j25zg"; + libraryHaskellDepends = [ + aeson base bytestring contravariant hashable pretty primitive text + vector + ]; + description = "ASN.1 encoding and decoding"; + license = stdenv.lib.licenses.bsd3; }) {}; "language-asn1" = callPackage @@ -133002,8 +142520,8 @@ self: { }: mkDerivation { pname = "language-ats"; - version = "1.7.0.5"; - sha256 = "1vdn1f5bx395jynacmpsvfsyyr29jgpg1y25i1jmbkzjdzkb0h2b"; + version = "1.7.1.2"; + sha256 = "057gskb5y57jvh6z71d35qq228kpvf0wk09wf175mgy9qc78vg9p"; enableSeparateDataOutput = true; libraryHaskellDepends = [ ansi-wl-pprint array base composition-prelude containers deepseq @@ -133035,6 +142553,7 @@ self: { description = "Parsing and pretty-printing Bash shell scripts"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-boogie" = callPackage @@ -133058,6 +142577,7 @@ self: { description = "Interpreter and language infrastructure for Boogie"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-c" = callPackage @@ -133092,6 +142612,7 @@ self: { description = "Extracting comments from C code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-c-inline" = callPackage @@ -133109,6 +142630,7 @@ self: { description = "Inline C & Objective-C code in Haskell for language interoperability"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-c-quote" = callPackage @@ -133137,6 +142659,41 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "language-c99" = callPackage + ({ mkDerivation, base, pretty }: + mkDerivation { + pname = "language-c99"; + version = "0.1.1"; + sha256 = "1a6n9n3jzplwgm6136rvhm6zmkvnhxz0nw1bfplikg8kkfgbp5al"; + libraryHaskellDepends = [ base pretty ]; + description = "An implementation of the C99 AST that strictly follows the standard"; + license = stdenv.lib.licenses.mit; + }) {}; + + "language-c99-simple" = callPackage + ({ mkDerivation, base, language-c99, language-c99-util, mtl }: + mkDerivation { + pname = "language-c99-simple"; + version = "0.1.2"; + sha256 = "0v0y50n2ks8jp91y37az6q46ax6dqx1igmlkb4b7c76qngak88xi"; + libraryHaskellDepends = [ + base language-c99 language-c99-util mtl + ]; + description = "C-like AST to simplify writing C99 programs"; + license = stdenv.lib.licenses.mit; + }) {}; + + "language-c99-util" = callPackage + ({ mkDerivation, base, language-c99 }: + mkDerivation { + pname = "language-c99-util"; + version = "0.1.1"; + sha256 = "0rdwb29d2aa9mqkn5b4acwviymxy18sjfmzr01j7n3j4n3q4d2lz"; + libraryHaskellDepends = [ base language-c99 ]; + description = "Utilities for language-c99"; + license = stdenv.lib.licenses.mit; + }) {}; + "language-cil" = callPackage ({ mkDerivation, base, bool-extras }: mkDerivation { @@ -133170,6 +142727,23 @@ self: { description = "Conf parsers and pretty-printers for the Haskell programming language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "language-csharp" = callPackage + ({ mkDerivation, alex, array, base, parsec, pretty, text }: + mkDerivation { + pname = "language-csharp"; + version = "0.0.1"; + sha256 = "1sg7i0mpq98nfwnq3rfmhd9y1lvjff99843fprif3r3ww62clp2c"; + revision = "1"; + editedCabalFile = "1x5pn0zr2wzhmcfs2rcdy5wjjwp2xhfg4fjs4zhglfh3svvlwpqx"; + libraryHaskellDepends = [ array base parsec pretty text ]; + libraryToolDepends = [ alex ]; + description = "C# source code manipulation"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-css" = callPackage @@ -133182,6 +142756,7 @@ self: { description = "CSS 2.1 syntax"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-dart" = callPackage @@ -133195,6 +142770,7 @@ self: { description = "Manipulating Dart source: abstract syntax and pretty-printer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-docker" = callPackage @@ -133204,10 +142780,8 @@ self: { }: mkDerivation { pname = "language-docker"; - version = "8.0.0"; - sha256 = "00zryknsc0717ysq8g1ip5dm70v8b33lfrscbzpdcw5dd2j32k7n"; - revision = "1"; - editedCabalFile = "0pzlrc2rgsr6533spij42kpr8kgsvi6sc3c1yzs06n47lsxzjb1f"; + version = "8.0.2"; + sha256 = "00fgxddlim1h7xcklr1q38sxbf8zh1m84mha6yzab5as1x14lhij"; libraryHaskellDepends = [ base bytestring containers free megaparsec mtl prettyprinter split template-haskell text th-lift time @@ -133248,6 +142822,7 @@ self: { description = "Dockerfile linter, parser, pretty-printer and embedded DSL"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-dot" = callPackage @@ -133264,6 +142839,7 @@ self: { description = "A library for the analysis and creation of Graphviz DOT files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-ecmascript" = callPackage @@ -133305,6 +142881,7 @@ self: { description = "JavaScript static analysis library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-eiffel" = callPackage @@ -133324,6 +142901,7 @@ self: { description = "Parser and pretty printer for the Eiffel language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-elm" = callPackage @@ -133342,6 +142920,7 @@ self: { description = "Generate elm code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-fortran" = callPackage @@ -133367,6 +142946,7 @@ self: { description = "Something similar to Dijkstra's guarded command language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-glsl" = callPackage @@ -133400,6 +142980,7 @@ self: { description = "A library for analysis and synthesis of Go code"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-guess" = callPackage @@ -133413,6 +142994,7 @@ self: { description = "Guess at which language a text is written in using trigrams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-haskell-extract" = callPackage @@ -133449,6 +143031,7 @@ self: { description = "HCL parsers and pretty-printers for the Haskell programming language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-java" = callPackage @@ -133486,6 +143069,7 @@ self: { description = "Parser for Java .class files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-javascript" = callPackage @@ -133495,8 +143079,8 @@ self: { }: mkDerivation { pname = "language-javascript"; - version = "0.6.0.11"; - sha256 = "0hv1rj3yarv035mpnnnbqys4sgd0awqlm5hyf29wp051r6dnwxfl"; + version = "0.6.0.13"; + sha256 = "0dzvbnzkrxg9v78x2g7mhhr76viyxcgjyqpksaw7l0p1x7brjsck"; libraryHaskellDepends = [ array base blaze-builder bytestring containers mtl text utf8-string ]; @@ -133543,6 +143127,7 @@ self: { description = "Parser and serializer for the Kort information language"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-lua" = callPackage @@ -133568,6 +143153,7 @@ self: { description = "Lua parser and pretty-printer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-lua-qq" = callPackage @@ -133585,6 +143171,7 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-lua2" = callPackage @@ -133611,6 +143198,7 @@ self: { description = "Lua parser and pretty printer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-mixal" = callPackage @@ -133626,6 +143214,7 @@ self: { description = "Parser, pretty-printer, and AST types for the MIXAL assembly language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-ninja" = callPackage @@ -133665,6 +143254,7 @@ self: { description = "A library for dealing with the Ninja build language"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-nix" = callPackage @@ -133716,6 +143306,7 @@ self: { description = "Parser, pretty-printer, and type checker for the Oberon programming language"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-objc" = callPackage @@ -133734,6 +143325,7 @@ self: { description = "Analysis and generation of Objective C code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-ocaml" = callPackage @@ -133760,6 +143352,7 @@ self: { description = "Language tools for manipulating OCaml programs in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) zlib;}; "language-openscad" = callPackage @@ -133777,6 +143370,7 @@ self: { description = "A simple parser for OpenSCAD"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-pig" = callPackage @@ -133798,6 +143392,7 @@ self: { description = "Pig parser in haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-puppet" = callPackage @@ -133814,8 +143409,8 @@ self: { }: mkDerivation { pname = "language-puppet"; - version = "1.4.2"; - sha256 = "0bdi51cjl8m48clkqj6lb9vyxdagx2a4q6f48a1q4b50mpinx5qq"; + version = "1.4.5"; + sha256 = "1bn5gj89pxzxb8blj6v9pv8n03ksvxqrai0iin4syvyb10r7sxrq"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -133841,7 +143436,6 @@ self: { ]; description = "Tools to parse and evaluate the Puppet DSL"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "language-python" = callPackage @@ -133861,6 +143455,7 @@ self: { description = "Parsing and pretty printing of Python code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-python-colour" = callPackage @@ -133877,6 +143472,7 @@ self: { description = "Generate coloured XHTML for Python code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-python-test" = callPackage @@ -133891,6 +143487,7 @@ self: { description = "testing code for the language-python library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-qux" = callPackage @@ -133908,6 +143505,7 @@ self: { description = "Utilities for working with the Qux language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-rust" = callPackage @@ -133966,6 +143564,7 @@ self: { description = "A package for parsing shell scripts"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-slice" = callPackage @@ -134005,6 +143604,7 @@ self: { description = "Various tools to detect/correct mistakes in words"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-sqlite" = callPackage @@ -134021,6 +143621,7 @@ self: { description = "Full parser and generator for SQL as implemented by SQLite3"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-thrift" = callPackage @@ -134044,6 +143645,7 @@ self: { description = "Parser and pretty printer for the Thrift IDL format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-typescript" = callPackage @@ -134056,6 +143658,7 @@ self: { description = "A library for working with TypeScript Definition files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-vhdl" = callPackage @@ -134068,6 +143671,7 @@ self: { description = "VHDL AST and pretty printer in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "language-webidl" = callPackage @@ -134081,25 +143685,24 @@ self: { description = "Parser and Pretty Printer for WebIDL"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lapack" = callPackage - ({ mkDerivation, base, blas-ffi, boxes, ChasingBottoms + ({ mkDerivation, base, blas-ffi, blaze-html, boxes, ChasingBottoms , comfort-array, data-ref, deepseq, fixed-length - , guarded-allocation, lapack-ffi, lazyio, monoid-transformer + , guarded-allocation, hyper, lapack-ffi, lazyio, monoid-transformer , netlib-ffi, non-empty, QuickCheck, quickcheck-transformer, random - , semigroups, tfp, transformers, unique-logic-tf, utility-ht + , semigroups, text, tfp, transformers, unique-logic-tf, utility-ht }: mkDerivation { pname = "lapack"; - version = "0.2.4"; - sha256 = "16rgcxinkrkv1h35pfyrgg9xihkhpk3i2xd5f3xw29b1hahsb9hv"; - isLibrary = true; - isExecutable = true; + version = "0.3.1"; + sha256 = "1w8nndh3gj6vrildxjn13lmi7aqjwbhpqkdj7d21fsfbmhjlgwvr"; libraryHaskellDepends = [ - base blas-ffi boxes comfort-array deepseq fixed-length - guarded-allocation lapack-ffi lazyio netlib-ffi non-empty - semigroups tfp transformers utility-ht + base blas-ffi blaze-html boxes comfort-array deepseq fixed-length + guarded-allocation hyper lapack-ffi lazyio netlib-ffi non-empty + semigroups text tfp transformers utility-ht ]; testHaskellDepends = [ base ChasingBottoms comfort-array data-ref monoid-transformer @@ -134109,6 +143712,7 @@ self: { description = "Numerical Linear Algebra using LAPACK"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lapack-carray" = callPackage @@ -134133,8 +143737,8 @@ self: { }: mkDerivation { pname = "lapack-comfort-array"; - version = "0.0"; - sha256 = "06pzjr9n5pn0aqgf1p7njls65m10zfryzld3sxlr9ybailmnsa2j"; + version = "0.0.0.1"; + sha256 = "0kn9bb3q772sbzm54rdqbqrmp21kck2gvc0xagi974dq7b1wilh1"; libraryHaskellDepends = [ base comfort-array lapack-ffi netlib-comfort-array netlib-ffi storable-complex transformers @@ -134163,8 +143767,8 @@ self: { }: mkDerivation { pname = "lapack-ffi-tools"; - version = "0.1.2"; - sha256 = "14wfnddya7ch8hm3wgabd7nma7ahcgv6h2innfbp1ck92isn2s0q"; + version = "0.1.2.1"; + sha256 = "0hk54psm066acgn24mw5dbbhz4a0nqvyks75302cabijbp524gdh"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -134240,6 +143844,7 @@ self: { description = "Tool to track security alerts on LWN"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "latest-npm-version" = callPackage @@ -134271,6 +143876,7 @@ self: { description = "Find the latest version of a package on npm"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "latex" = callPackage @@ -134299,6 +143905,7 @@ self: { description = "Use actual LaTeX to render formulae inside Hakyll pages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "latex-formulae-image" = callPackage @@ -134316,6 +143923,7 @@ self: { description = "A library for rendering LaTeX formulae as images using an actual LaTeX installation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "latex-formulae-pandoc" = callPackage @@ -134338,6 +143946,7 @@ self: { description = "Render LaTeX formulae in pandoc documents to images with an actual LaTeX installation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "latex-function-tables" = callPackage @@ -134360,7 +143969,6 @@ self: { testHaskellDepends = [ base ]; description = "Function table specifications in latex"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "latex-live-snippets" = callPackage @@ -134380,29 +143988,26 @@ self: { "lattices" = callPackage ({ mkDerivation, base, base-compat, containers, deepseq, hashable - , QuickCheck, quickcheck-instances, semigroupoids, tagged, tasty - , tasty-quickcheck, transformers, universe-base - , universe-instances-base, universe-reverse-instances - , unordered-containers + , integer-logarithms, QuickCheck, quickcheck-instances + , semigroupoids, tagged, tasty, tasty-quickcheck, transformers + , universe-base, universe-reverse-instances, unordered-containers }: mkDerivation { pname = "lattices"; - version = "1.7.1.1"; - sha256 = "1byx2hmmh2213afdcsjxf3mvq3h9bwkl5wrvzxv1yqvd9jiqjz3r"; - revision = "1"; - editedCabalFile = "18182vlzaz5kzcn2j0k1jmdl8kgqmnpjc3ynsi7v6jdl3vig89dr"; + version = "2.0.1"; + sha256 = "0c7n7fh89llg8ijylwc14ikqrg077vcqcgph5h9nar6i5dyaprfy"; libraryHaskellDepends = [ - base base-compat containers deepseq hashable semigroupoids tagged - universe-base universe-reverse-instances unordered-containers + base base-compat containers deepseq hashable integer-logarithms + QuickCheck semigroupoids tagged transformers universe-base + universe-reverse-instances unordered-containers ]; testHaskellDepends = [ base base-compat containers QuickCheck quickcheck-instances tasty - tasty-quickcheck transformers universe-instances-base - unordered-containers + tasty-quickcheck transformers universe-base + universe-reverse-instances unordered-containers ]; description = "Fine-grained library for constructing and manipulating lattices"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "launchpad-control" = callPackage @@ -134421,6 +144026,7 @@ self: { description = "High and low-level interface to the Novation Launchpad midi controller"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lawful" = callPackage @@ -134454,6 +144060,7 @@ self: { description = "Concurrent networked stream transducers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lax" = callPackage @@ -134499,6 +144106,7 @@ self: { description = "Modular type class machinery for monad transformer stacks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "layers-game" = callPackage @@ -134519,6 +144127,7 @@ self: { description = "A prototypical 2d platform game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "layout" = callPackage @@ -134531,6 +144140,7 @@ self: { description = "Turn values into pretty text or markup"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "layout-bootstrap" = callPackage @@ -134543,6 +144153,7 @@ self: { description = "Template and widgets for Bootstrap2 to use with Text.Blaze.Html5"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "layout-rules" = callPackage @@ -134557,6 +144168,7 @@ self: { description = "A collection of different layout implementations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "layouting" = callPackage @@ -134573,6 +144185,7 @@ self: { description = "General layouting library. Currently supports layouting 2D areas and can be used as a backend for text pretty printing or automatic windows layouting managers."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lazy" = callPackage @@ -134608,8 +144221,8 @@ self: { pname = "lazy-hash"; version = "0.1.0.0"; sha256 = "1xa2c8gxk5l4njbs58zpq2ybdvjd4y214p71nfmfrzw0arwz49pa"; - revision = "1"; - editedCabalFile = "07sn3q7q29zkxpillprx2d05pybjpvpglz8s7jq07akdhwmwx9mk"; + revision = "2"; + editedCabalFile = "0j46blbddl9y4chccyns7cixbxb0a4pkmdkbd5z09510ddz3jqm3"; libraryHaskellDepends = [ base constrained-categories hashable haskell-src-meta tagged template-haskell vector-space @@ -134617,6 +144230,7 @@ self: { description = "Identifiers for not-yet-computed values"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lazy-hash-cache" = callPackage @@ -134628,6 +144242,8 @@ self: { pname = "lazy-hash-cache"; version = "0.1.0.0"; sha256 = "1bdq2fbxpmlva1qbxbiznnjmz7yv7qzcr8wdgds0rdzwhjn97mp4"; + revision = "1"; + editedCabalFile = "1m42wsj93vpb6v1dcj2lc5z04qc2np8i7n3w82jwwk4wbgl5q35j"; libraryHaskellDepends = [ base base16-bytestring binary bytestring data-default-class directory filepath hashable lazy-hash microlens microlens-th @@ -134636,6 +144252,7 @@ self: { description = "Storing computed values for re-use when the same program runs again"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lazy-io" = callPackage @@ -134659,6 +144276,7 @@ self: { description = "Get lazy with your io-streams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lazy-search" = callPackage @@ -134682,6 +144300,28 @@ self: { description = "Efficient implementation of lazy monolithic arrays (lazy in indexes)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "lazyboy" = callPackage + ({ mkDerivation, aeson, base, hspec, microstache, text + , transformers + }: + mkDerivation { + pname = "lazyboy"; + version = "0.2.2.0"; + sha256 = "1kmiilikq4z003ngy3sk8j3973g0wh1jx7mvla68q12pii34p9gp"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson base hspec microstache text transformers + ]; + testHaskellDepends = [ + aeson base hspec microstache text transformers + ]; + description = "An EDSL for programming the Game Boy"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lazyio" = callPackage @@ -134713,6 +144353,7 @@ self: { description = "Set and Map from lazy/infinite lists"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lazysmallcheck" = callPackage @@ -134735,7 +144376,6 @@ self: { libraryHaskellDepends = [ base ]; description = "Differential solving with lazy splines"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "lbfgs" = callPackage @@ -134785,6 +144425,7 @@ self: { description = "Data structures for representing arbitrary intervals"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lda" = callPackage @@ -134801,25 +144442,25 @@ self: { description = "Online Latent Dirichlet Allocation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ldap-client" = callPackage ({ mkDerivation, asn1-encoding, asn1-types, async, base, bytestring - , connection, containers, hspec, network, process, semigroups, stm - , text + , connection, containers, fail, hspec, network, process, semigroups + , stm, text }: mkDerivation { pname = "ldap-client"; - version = "0.2.0"; - sha256 = "0vs6n3q9svwhcp6853ipxmw1anmy8qfy3xajjsf7h4pjnqzy7g88"; + version = "0.3.0"; + sha256 = "0fii1yi3mn1dqvzbsx63fqrb53v81a7d2gqn3xma8v9vsp9nxv7v"; libraryHaskellDepends = [ asn1-encoding asn1-types async base bytestring connection - containers network semigroups stm text + containers fail network semigroups stm text ]; testHaskellDepends = [ base bytestring hspec process semigroups ]; description = "Pure Haskell LDAP Client Library"; license = stdenv.lib.licenses.bsd2; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ldapply" = callPackage @@ -134839,6 +144480,7 @@ self: { description = "LDIF idempotent apply tool"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ldif" = callPackage @@ -134862,6 +144504,7 @@ self: { description = "The LDAP Data Interchange Format (LDIF) tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "leaf" = callPackage @@ -134881,6 +144524,7 @@ self: { description = "A simple portfolio generator"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "leaky" = callPackage @@ -134900,21 +144544,27 @@ self: { description = "Robust space leak, and its strictification"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "lean" = callPackage + ({ mkDerivation, base, base-unicode-symbols, text-utf8 + , transformers, util + }: + mkDerivation { + pname = "lean"; + version = "0.0.0.1"; + sha256 = "1i1xkaipjaczp32hn5g5g4x9a3ml98hamb4qaycy7rlcfbildiga"; + libraryHaskellDepends = [ + base base-unicode-symbols text-utf8 transformers util + ]; + description = "Bonds to Lean theorem prover"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "leancheck" = callPackage - ({ mkDerivation, base, template-haskell }: - mkDerivation { - pname = "leancheck"; - version = "0.8.0"; - sha256 = "1lblxlg881asqgbdv6sivzxryis7cgkpclgyyks598ii06vd0z1s"; - libraryHaskellDepends = [ base template-haskell ]; - testHaskellDepends = [ base ]; - description = "Enumerative property-based testing"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "leancheck_0_9_1" = callPackage ({ mkDerivation, base, template-haskell }: mkDerivation { pname = "leancheck"; @@ -134924,7 +144574,6 @@ self: { testHaskellDepends = [ base ]; description = "Enumerative property-based testing"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "leancheck-enum-instances" = callPackage @@ -134995,6 +144644,8 @@ self: { ]; description = "Use the Leanpub API via Wreq"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "leapseconds" = callPackage @@ -135009,6 +144660,7 @@ self: { testHaskellDepends = [ base tasty tasty-hunit time ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "leapseconds-announced" = callPackage @@ -135033,6 +144685,7 @@ self: { description = "Learning Algorithms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "learn-physics" = callPackage @@ -135041,8 +144694,8 @@ self: { }: mkDerivation { pname = "learn-physics"; - version = "0.6.3"; - sha256 = "0nhc53l963fsviw3yqz7yxwbjwxsrp8s4jckffbg6hl8npakhirh"; + version = "0.6.4"; + sha256 = "06f1p3rcb37lh0miih2c697w8jiciby3qgjcbjagmf91svx25mm0"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -135053,7 +144706,6 @@ self: { ]; description = "Haskell code for learning physics"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "learn-physics-examples" = callPackage @@ -135072,6 +144724,7 @@ self: { description = "examples for learn-physics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "learning-hmm" = callPackage @@ -135102,6 +144755,7 @@ self: { description = "Leetify text"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "left4deadrl" = callPackage @@ -135137,6 +144791,7 @@ self: { description = "Distributed, stateful, homogeneous microservice framework"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "legion-discovery" = callPackage @@ -135163,6 +144818,7 @@ self: { description = "A discovery service based on Legion"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "legion-discovery-client" = callPackage @@ -135183,6 +144839,7 @@ self: { description = "Client library for communicating with legion-discovery"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "legion-extra" = callPackage @@ -135205,6 +144862,7 @@ self: { description = "Extra non-essential utilities for building legion applications"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "leksah" = callPackage @@ -135243,7 +144901,7 @@ self: { description = "Haskell IDE written in Haskell"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; - }) {gtk3 = pkgs.gnome3.gtk;}; + }) {inherit (pkgs) gtk3;}; "leksah-server" = callPackage ({ mkDerivation, aeson, attoparsec, base, base-compat, binary @@ -135281,6 +144939,7 @@ self: { description = "Metadata collection for leksah"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lendingclub" = callPackage @@ -135298,6 +144957,7 @@ self: { description = "Bindings for the LendingClub marketplace API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lens" = callPackage @@ -135310,20 +144970,22 @@ self: { , tagged, template-haskell, test-framework, test-framework-hunit , test-framework-quickcheck2, test-framework-th, text , th-abstraction, transformers, transformers-compat - , unordered-containers, vector, void + , unordered-containers, vector }: mkDerivation { pname = "lens"; - version = "4.17"; - sha256 = "1k087zfy10rijr3cikalj8p58d8ypfmhb4d29bsbw8qhakg68dj7"; + version = "4.17.1"; + sha256 = "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"; + revision = "2"; + editedCabalFile = "1bh868l69nisdhw8qw5y51nj2w0pbbq7mxqiwf42iq0vcb6h0ybv"; setupHaskellDepends = [ base Cabal cabal-doctest filepath ]; libraryHaskellDepends = [ array base base-orphans bifunctors bytestring call-stack comonad containers contravariant distributive exceptions filepath free ghc-prim hashable kan-extensions mtl parallel profunctors - reflection semigroupoids semigroups tagged template-haskell text + reflection semigroupoids tagged template-haskell text th-abstraction transformers transformers-compat - unordered-containers vector void + unordered-containers vector ]; testHaskellDepends = [ base bytestring containers deepseq directory doctest filepath @@ -135351,7 +145013,6 @@ self: { libraryHaskellDepends = [ accelerate base lens ]; description = "Instances to mix lens with accelerate"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "lens-action" = callPackage @@ -135407,6 +145068,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "lens-errors" = callPackage + ({ mkDerivation, base, containers, either, hspec, lens }: + mkDerivation { + pname = "lens-errors"; + version = "0.2.2.0"; + sha256 = "0wr5wfzrmacf0s53511p9dg5ymx0wk2d5771jd90pgk7v3cr39j6"; + libraryHaskellDepends = [ base either lens ]; + testHaskellDepends = [ base containers either hspec lens ]; + description = "Error handling in lens chains"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "lens-family" = callPackage ({ mkDerivation, base, containers, lens-family-core, mtl , transformers @@ -135422,6 +145095,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "lens-family_2_0_0" = callPackage + ({ mkDerivation, base, containers, lens-family-core, mtl + , transformers + }: + mkDerivation { + pname = "lens-family"; + version = "2.0.0"; + sha256 = "1nq3dwkrjyqafbv4gvwwgz6ih8y4x9bks11jhljh43q3qnjz54v7"; + libraryHaskellDepends = [ + base containers lens-family-core mtl transformers + ]; + description = "Lens Families"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "lens-family-core" = callPackage ({ mkDerivation, base, containers, transformers }: mkDerivation { @@ -135433,6 +145122,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "lens-family-core_2_0_0" = callPackage + ({ mkDerivation, base, containers, transformers }: + mkDerivation { + pname = "lens-family-core"; + version = "2.0.0"; + sha256 = "0ni6s873hy2h3b316835ssmlyr05yinb3a8jq5b01p9ppp9zrd0r"; + libraryHaskellDepends = [ base containers transformers ]; + description = "Haskell 2022 Lens Families"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "lens-family-th" = callPackage ({ mkDerivation, base, hspec, template-haskell, transformers }: mkDerivation { @@ -135445,6 +145146,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "lens-filesystem" = callPackage + ({ mkDerivation, base, directory, filepath, hspec, lens + , lens-action + }: + mkDerivation { + pname = "lens-filesystem"; + version = "0.0.0.0"; + sha256 = "0295n9hfdq72c1knx170ccfyi93wp09szahb2q5jym0mcryvdls8"; + libraryHaskellDepends = [ + base directory filepath lens lens-action + ]; + testHaskellDepends = [ + base directory filepath hspec lens lens-action + ]; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "lens-labels_0_1_0_2" = callPackage ({ mkDerivation, base, ghc-prim }: mkDerivation { @@ -135506,6 +145226,26 @@ self: { description = "Alternate prelude that exports lens combinators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "lens-process" = callPackage + ({ mkDerivation, base, Cabal, cabal-doctest, doctest, filepath + , lens, process, tasty, tasty-hunit + }: + mkDerivation { + pname = "lens-process"; + version = "0.3.0.0"; + sha256 = "1bp2mw38qvlq98596pn1illb6c1l8prd6qrzrg0g6xin98sqigb0"; + revision = "1"; + editedCabalFile = "1wwj258gq4qg97dx7pn2sxj8znrlb5sm2xcidwkhyrs45r75500b"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ base filepath lens process ]; + testHaskellDepends = [ + base doctest filepath lens process tasty tasty-hunit + ]; + description = "Optics for system processes"; + license = stdenv.lib.licenses.bsd3; }) {}; "lens-properties" = callPackage @@ -135514,8 +145254,8 @@ self: { pname = "lens-properties"; version = "4.11.1"; sha256 = "1caciyn75na3f25q9qxjl7ibjam22xlhl5k2pqfiak10lxsmnz2g"; - revision = "2"; - editedCabalFile = "1b14fcncz2yby0d4jhx2h0ma6nx0fd1z7hrg1va4h7zn06m99482"; + revision = "3"; + editedCabalFile = "1ll8j0zymxnr2xxp2h1aaqfcwd6ihjdllk5b7q02r5kw2b8a266b"; libraryHaskellDepends = [ base lens QuickCheck transformers ]; description = "QuickCheck properties for lens"; license = stdenv.lib.licenses.bsd3; @@ -135541,6 +145281,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "lens-regex-pcre" = callPackage + ({ mkDerivation, base, bytestring, hspec, lens, pcre-heavy + , pcre-light, template-haskell, text + }: + mkDerivation { + pname = "lens-regex-pcre"; + version = "0.3.1.0"; + sha256 = "1fbhwzs7mwz9c0l3p34zcgfvqxwxlhr3abz9gawlraiiypmz0iby"; + libraryHaskellDepends = [ + base bytestring lens pcre-heavy pcre-light template-haskell text + ]; + testHaskellDepends = [ + base hspec lens pcre-heavy pcre-light template-haskell text + ]; + description = "A lensy interface to regular expressions"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "lens-simple" = callPackage ({ mkDerivation, base, lens-family, lens-family-core , lens-family-th, mtl, transformers @@ -135560,10 +145318,8 @@ self: { ({ mkDerivation, base, fclabels, generics-sop, transformers }: mkDerivation { pname = "lens-sop"; - version = "0.2.0.2"; - sha256 = "16bd95cwqiprz55s5272mv6wiw5pmv6mvihviiwbdbilhq400s3z"; - revision = "1"; - editedCabalFile = "0k7xdwj64kd56kjh7ghjwm79rjwjqxlw5nwzwj0cq5q56vb340jm"; + version = "0.2.0.3"; + sha256 = "0vgh6bj43qmhca6ij4b0bxqirhhfvxqd7xx5pryfs79fjghc47vv"; libraryHaskellDepends = [ base fclabels generics-sop transformers ]; @@ -135581,6 +145337,7 @@ self: { description = "Isomorphisms and prisms for text <=> bytestring conversions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lens-time" = callPackage @@ -135593,6 +145350,7 @@ self: { description = "lens for Data.Time"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lens-toml-parser" = callPackage @@ -135609,19 +145367,22 @@ self: { ]; description = "Lenses for toml-parser"; license = stdenv.lib.licenses.isc; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lens-tutorial" = callPackage ({ mkDerivation, base, doctest, lens }: mkDerivation { pname = "lens-tutorial"; - version = "1.0.3"; - sha256 = "1x6lbmylfp1gbik32ssfq643nmkhvhliryz70fsvcmscscm0chxp"; + version = "1.0.4"; + sha256 = "1xcadr4ynnpdm1sdv1idvs15f7d2gbr75565csvwaid2a1hz6agj"; libraryHaskellDepends = [ base lens ]; testHaskellDepends = [ base doctest ]; description = "Tutorial for the lens library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lens-typelevel" = callPackage @@ -135687,35 +145448,33 @@ self: { description = "References which can be joined and on which lenses can be applied"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lentil" = callPackage - ({ mkDerivation, ansi-wl-pprint, base, csv, directory, filemanip - , filepath, hspec, natural-sort, optparse-applicative, parsec - , pipes, regex-tdfa, semigroups, terminal-progress-bar, text - , transformers + ({ mkDerivation, ansi-wl-pprint, base, csv, deepseq, directory + , dlist, filemanip, filepath, hspec, megaparsec, mtl, natural-sort + , optparse-applicative, regex-tdfa, semigroups + , terminal-progress-bar, text }: mkDerivation { pname = "lentil"; - version = "1.1.1.1"; - sha256 = "00ydjvvpqil044wjb52cf804qn8fdqvf3rn3jghinb10y8i4a62k"; - revision = "1"; - editedCabalFile = "1vamkgjrngsdq8k820xkr0h613ly2s3lpf0hdqkvqkynywmd2ing"; + version = "1.3.0.0"; + sha256 = "15z32gk4ki0iz5mcakajyd70bcyn5impp0i322sc905j1wivvcz2"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ - ansi-wl-pprint base csv directory filemanip filepath natural-sort - optparse-applicative parsec pipes regex-tdfa semigroups - terminal-progress-bar text transformers + ansi-wl-pprint base csv deepseq directory dlist filemanip filepath + megaparsec mtl natural-sort optparse-applicative regex-tdfa + semigroups terminal-progress-bar text ]; testHaskellDepends = [ - ansi-wl-pprint base csv directory filemanip filepath hspec - natural-sort optparse-applicative parsec pipes regex-tdfa - semigroups terminal-progress-bar text transformers + ansi-wl-pprint base csv deepseq directory dlist filemanip filepath + hspec megaparsec mtl natural-sort optparse-applicative regex-tdfa + semigroups terminal-progress-bar text ]; description = "frugal issue tracker"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "lenz" = callPackage @@ -135724,8 +145483,8 @@ self: { }: mkDerivation { pname = "lenz"; - version = "0.3.0.0"; - sha256 = "17a3d91az0qv138q7x8wbka797z9pfxl3mbyydcr7i7p87dk48k3"; + version = "0.3.1.0"; + sha256 = "1c87m35wvsk9dyfp9d8ar6qb4gz534xmg1rf8xahsjkryn9vjqfn"; libraryHaskellDepends = [ base base-unicode-symbols hs-functors transformers ]; @@ -135741,8 +145500,8 @@ self: { pname = "lenz-template"; version = "0.2.0.0"; sha256 = "0g073wfh8522hvmy80dp8an5jr6qjnkfj3119ms3sir7dkfzljqn"; - revision = "2"; - editedCabalFile = "0vd1xir15fizd2j575lgbr99gdm83n998w645cr0pzv3li6a56jq"; + revision = "3"; + editedCabalFile = "1ydlnn3cppjr3c0ink0k0668dmxk057gild2k84j8f27hcyb0w2j"; libraryHaskellDepends = [ base base-unicode-symbols containers lenz template-haskell ]; @@ -135761,6 +145520,7 @@ self: { description = "Non-Determinism Monad for Level-Wise Search"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "leveldb-haskell" = callPackage @@ -135820,6 +145580,7 @@ self: { description = "An implementation of the Levenberg-Marquardt algorithm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "levmar-chart" = callPackage @@ -135834,6 +145595,7 @@ self: { description = "Plots the results of the Levenberg-Marquardt algorithm in a chart"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lexer-applicative" = callPackage @@ -135863,6 +145625,7 @@ self: { description = "L-Fuzzy Set Theory implementation in Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lgtk" = callPackage @@ -135891,6 +145654,7 @@ self: { description = "Lens GUI Toolkit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lha" = callPackage @@ -135903,6 +145667,7 @@ self: { description = "Data structures for the Les Houches Accord"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lhae" = callPackage @@ -135923,6 +145688,7 @@ self: { description = "Simple spreadsheet program"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lhc" = callPackage @@ -135937,6 +145703,7 @@ self: { description = "LHC Haskell Compiler"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lhe" = callPackage @@ -135949,6 +145716,7 @@ self: { description = "Parser and writer for Les-Houches event files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lhs2TeX-hl" = callPackage @@ -135968,6 +145736,7 @@ self: { description = "Literate highlighter preprocessor for lhs2tex"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lhs2html" = callPackage @@ -136018,6 +145787,7 @@ self: { description = "Tool for using pdflatex with .lhs files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "libGenI" = callPackage @@ -136035,17 +145805,25 @@ self: { description = "A natural language generator (specifically, an FB-LTAG surface realiser)"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "libarchive" = callPackage - ({ mkDerivation, base, bytestring, filepath, libarchive }: + ({ mkDerivation, base, bytestring, c2hs, composition-prelude, dlist + , filepath, libarchive + }: mkDerivation { pname = "libarchive"; - version = "0.2.0.0"; - sha256 = "14kad23r22bx65h2iq0n0cbxhzzwj56gwpi73vciycjg0i5w04yd"; - libraryHaskellDepends = [ base bytestring filepath ]; + version = "1.0.5.1"; + sha256 = "1fchnvs03hg513v7a45a3qbfr3kbh3nmqjqljzr2y1mg2ghkr7cz"; + revision = "4"; + editedCabalFile = "0wzw962gl9lm5faaa86z4q7s9cbzqn346cmlbhr518dbnw7nv31d"; + libraryHaskellDepends = [ + base bytestring composition-prelude dlist filepath + ]; libraryPkgconfigDepends = [ libarchive ]; - description = "Haskell bindings for libarchive"; + libraryToolDepends = [ c2hs ]; + description = "Haskell interface to libarchive"; license = stdenv.lib.licenses.bsd3; }) {inherit (pkgs) libarchive;}; @@ -136084,6 +145862,7 @@ self: { description = "Haskell bindings to libconfig"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libconfig;}; "libcspm" = callPackage @@ -136105,6 +145884,7 @@ self: { description = "A library providing a parser, type checker and evaluator for CSPM"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "libexpect" = callPackage @@ -136118,6 +145898,7 @@ self: { description = "Library for interacting with console applications via pseudoterminals"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) expect; inherit (pkgs) tcl;}; "libffi" = callPackage @@ -136133,6 +145914,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {ffi = null; inherit (pkgs) libffi;}; + "libffi-dynamic" = callPackage + ({ mkDerivation, base, contravariant, ffi, hashable, intern }: + mkDerivation { + pname = "libffi-dynamic"; + version = "0.0.0.2"; + sha256 = "012dy9jcxfhxxwzfc5iky491mdgcimz71cd236bshsppscyinzkn"; + libraryHaskellDepends = [ base contravariant hashable intern ]; + librarySystemDepends = [ ffi ]; + description = "LibFFI interface with dynamic bidirectional type-driven binding generation"; + license = stdenv.lib.licenses.publicDomain; + }) {ffi = null;}; + "libgit" = callPackage ({ mkDerivation, base, mtl, process }: mkDerivation { @@ -136183,6 +145976,7 @@ self: { description = "Backend for text editors to provide better Haskell editing support"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "libinfluxdb" = callPackage @@ -136202,6 +145996,7 @@ self: { description = "libinfluxdb"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "libjenkins" = callPackage @@ -136231,6 +146026,7 @@ self: { description = "Jenkins API interface"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "liblastfm" = callPackage @@ -136258,6 +146054,7 @@ self: { description = "Lastfm API interface"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "liblawless" = callPackage @@ -136294,6 +146091,7 @@ self: { description = "Prelude based on protolude for GHC 8 and beyond"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "liblinear-enumerator" = callPackage @@ -136308,6 +146106,7 @@ self: { description = "liblinear iteratee"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "libltdl" = callPackage @@ -136322,8 +146121,21 @@ self: { description = "FFI interface to libltdl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; + "libmodbus" = callPackage + ({ mkDerivation, base, bytestring, data-default, modbus, vector }: + mkDerivation { + pname = "libmodbus"; + version = "1.1.0"; + sha256 = "0fhx0cda803sad7489dp09lrxhwwsbldssjq4jkaprnqjvhj32al"; + libraryHaskellDepends = [ base bytestring data-default vector ]; + librarySystemDepends = [ modbus ]; + description = "Haskell bindings to the C modbus library"; + license = stdenv.lib.licenses.bsd2; + }) {modbus = null;}; + "libmolude" = callPackage ({ mkDerivation, aeson, base, base-unicode-symbols, binary , bytestring, concurrent-machines, containers @@ -136355,6 +146167,7 @@ self: { description = "Prelude based on protolude for GHC 8 and beyond"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "libmpd" = callPackage @@ -136366,6 +146179,8 @@ self: { pname = "libmpd"; version = "0.9.0.9"; sha256 = "1931m23iqb4wddpdidm4ph746zpaw41kkjzmb074j7yyfpk7x1jv"; + revision = "1"; + editedCabalFile = "16pzbmhyzlpxy2djmxrs0wrv8mad3ahb040lx5kmf57say3qxgdl"; libraryHaskellDepends = [ attoparsec base bytestring containers data-default-class filepath mtl network old-locale text time utf8-string @@ -136406,7 +146221,6 @@ self: { librarySystemDepends = [ libnotify ]; description = "Bindings to libnotify library"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) libnotify;}; "libnvvm" = callPackage @@ -136434,8 +146248,8 @@ self: { }: mkDerivation { pname = "liboath-hs"; - version = "0.0.1.0"; - sha256 = "1cmgr9075li4r6p8ljklqh1zi6phynj9yhim5rz78n9vsiijfang"; + version = "0.0.1.1"; + sha256 = "0ikh4rch2zdv9xan70qkf68m9hdz8k86ji7jw9xci1cvg318zd1k"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -136448,6 +146262,7 @@ self: { description = "Bindings to liboath"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {liboath = null; oath = null;}; "liboleg" = callPackage @@ -136464,6 +146279,7 @@ self: { description = "An evolving collection of Oleg Kiselyov's Haskell modules"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "libpafe" = callPackage @@ -136478,6 +146294,7 @@ self: { description = "Wrapper for libpafe"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {pafe = null;}; "libpq" = callPackage @@ -136491,91 +146308,60 @@ self: { description = "libpq binding for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) postgresql;}; "libraft" = callPackage - ({ mkDerivation, attoparsec, base, bytestring, cereal, concurrency - , containers, dejafu, directory, exceptions, haskeline - , hunit-dejafu, mtl, network, network-simple, parsec, protolude - , QuickCheck, random, repline, stm, tasty, tasty-dejafu - , tasty-discover, tasty-expected-failure, tasty-hunit - , tasty-quickcheck, text, time, transformers, word8 - }: - mkDerivation { - pname = "libraft"; - version = "0.1.1.0"; - sha256 = "1kjrrpgci6f1wsb75xrndp7xx50xgw8fgh4f6l345wyy2xxlpj8c"; - revision = "1"; - editedCabalFile = "0bzfkay18wphlqfm0i6rmr7rm1d6s16nxvrmc4wp0szim1k9k0gh"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - attoparsec base bytestring cereal concurrency containers directory - exceptions haskeline mtl network network-simple parsec protolude - random repline text time transformers word8 - ]; - executableHaskellDepends = [ - attoparsec base bytestring cereal concurrency containers directory - exceptions haskeline mtl network network-simple parsec protolude - random repline stm text time transformers word8 - ]; - testHaskellDepends = [ - attoparsec base bytestring cereal concurrency containers dejafu - directory exceptions haskeline hunit-dejafu mtl network - network-simple parsec protolude QuickCheck random repline tasty - tasty-dejafu tasty-discover tasty-expected-failure tasty-hunit - tasty-quickcheck text time transformers word8 - ]; - testToolDepends = [ tasty-discover ]; - description = "Raft consensus algorithm"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "libraft_0_3_0_0" = callPackage ({ mkDerivation, async, atomic-write, attoparsec, base , base16-bytestring, bytestring, cereal, concurrency, containers - , cryptohash-sha256, dejafu, directory, exceptions, file-embed - , haskeline, hunit-dejafu, lifted-base, monad-control, mtl, network - , network-simple, parsec, postgresql-simple, process, protolude - , QuickCheck, quickcheck-state-machine, random, repline, stm, tasty - , tasty-dejafu, tasty-discover, tasty-expected-failure, tasty-hunit - , tasty-quickcheck, text, time, transformers, transformers-base - , tree-diff, word8 + , cryptohash-sha256, dejafu, directory, ekg, ekg-core, exceptions + , file-embed, filepath, haskeline, lifted-base, monad-control + , monad-metrics, mtl, network, network-simple, optparse-applicative + , parsec, postgresql-simple, postgresql-simple-url, process + , protolude, QuickCheck, quickcheck-state-machine, random, repline + , stm, tasty, tasty-dejafu, tasty-discover, tasty-expected-failure + , tasty-hunit, tasty-quickcheck, text, time, transformers + , transformers-base, tree-diff, unordered-containers, word8 }: mkDerivation { pname = "libraft"; - version = "0.3.0.0"; - sha256 = "0mfp5m4kz3hfj96c2056wpm9rgn3frrry5jfvswq9bch3092bm2l"; + version = "0.5.0.0"; + sha256 = "13wk2dk0hs3ds5sa301v35i4g7frq1d7nj6c2957cbd9xwwyrksc"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ async atomic-write attoparsec base base16-bytestring bytestring cereal concurrency containers cryptohash-sha256 dejafu directory - exceptions file-embed haskeline lifted-base monad-control mtl - network network-simple parsec postgresql-simple protolude random - repline stm text time transformers transformers-base word8 + ekg ekg-core exceptions file-embed filepath haskeline lifted-base + monad-control monad-metrics mtl network network-simple parsec + postgresql-simple protolude random repline stm text time + transformers transformers-base unordered-containers word8 ]; executableHaskellDepends = [ async atomic-write attoparsec base base16-bytestring bytestring cereal concurrency containers cryptohash-sha256 dejafu directory - exceptions file-embed haskeline lifted-base monad-control mtl - network network-simple parsec postgresql-simple protolude random - repline stm text time transformers transformers-base word8 + ekg ekg-core exceptions file-embed filepath haskeline lifted-base + monad-control monad-metrics mtl network network-simple + optparse-applicative parsec postgresql-simple postgresql-simple-url + protolude random repline stm text time transformers + transformers-base unordered-containers word8 ]; testHaskellDepends = [ async atomic-write attoparsec base base16-bytestring bytestring cereal concurrency containers cryptohash-sha256 dejafu directory - exceptions file-embed haskeline hunit-dejafu lifted-base - monad-control mtl network network-simple parsec postgresql-simple - process protolude QuickCheck quickcheck-state-machine random - repline stm tasty tasty-dejafu tasty-discover - tasty-expected-failure tasty-hunit tasty-quickcheck text time - transformers transformers-base tree-diff word8 + ekg ekg-core exceptions file-embed filepath haskeline lifted-base + monad-control monad-metrics mtl network network-simple parsec + postgresql-simple process protolude QuickCheck + quickcheck-state-machine random repline stm tasty tasty-dejafu + tasty-discover tasty-expected-failure tasty-hunit tasty-quickcheck + text time transformers transformers-base tree-diff + unordered-containers word8 ]; testToolDepends = [ tasty-discover ]; description = "Raft consensus algorithm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "librandomorg" = callPackage @@ -136588,6 +146374,7 @@ self: { description = "Wrapper to Random.org API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "librato" = callPackage @@ -136609,6 +146396,7 @@ self: { description = "Bindings to the Librato API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "libravatar" = callPackage @@ -136627,7 +146415,17 @@ self: { ]; description = "Use Libravatar, the decentralized avatar delivery service"; license = stdenv.lib.licenses.publicDomain; - hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "librdkafka" = callPackage + ({ mkDerivation }: + mkDerivation { + pname = "librdkafka"; + version = "0.0.0.0"; + sha256 = "09iyvp3271l5a1idklzxdcs3wxmjxqigkn1cjjv4vk8vww6zwzkb"; + doHaddock = false; + description = "TBA"; + license = stdenv.lib.licenses.bsd3; }) {}; "libretls" = callPackage @@ -136732,6 +146530,7 @@ self: { description = "Haskell bindings for libsystemd-daemon"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {libsystemd-daemon = null; systemd-daemon = null;}; "libsystemd-journal" = callPackage @@ -136741,8 +146540,8 @@ self: { }: mkDerivation { pname = "libsystemd-journal"; - version = "1.4.3"; - sha256 = "1n79f0fzgrqyr9lw1qy8fzxsh74ai899pydpzpl6pfh2gfp7qvaq"; + version = "1.4.4"; + sha256 = "1114fv3dvljxkwgxyx9ycpks8bwzj401d4ziri80rkf2ycl0pxc7"; libraryHaskellDepends = [ base bytestring hashable hsyslog pipes pipes-safe semigroups text transformers uniplate unix-bytestring unordered-containers uuid @@ -136751,7 +146550,6 @@ self: { libraryPkgconfigDepends = [ systemd ]; description = "Haskell bindings to libsystemd-journal"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) systemd;}; "libtagc" = callPackage @@ -136767,6 +146565,7 @@ self: { description = "Binding to TagLib C library"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) taglib;}; "libtelnet" = callPackage @@ -136787,8 +146586,8 @@ self: { ({ mkDerivation, base, c2hs, libvirt, syb, unix }: mkDerivation { pname = "libvirt-hs"; - version = "0.2.1"; - sha256 = "02klbgyxsy5al0gmbq5g4p8vpna443kn7h8khnhglbddag6cgkdx"; + version = "0.2.2"; + sha256 = "1zrc7z0v3zarmbfhasv1mk2wcyhg8azhdpk7q4aayhrb9hcq3i0n"; libraryHaskellDepends = [ base syb unix ]; libraryPkgconfigDepends = [ libvirt ]; libraryToolDepends = [ c2hs ]; @@ -136817,6 +146616,7 @@ self: { description = "Bindings to libxls"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "libxml" = callPackage @@ -136848,6 +146648,7 @@ self: { description = "Enumerator-based API for libXML's SAX interface"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "libxml-sax" = callPackage @@ -136874,20 +146675,10 @@ self: { description = "Binding to libxslt"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {xslt = null;}; "libyaml" = callPackage - ({ mkDerivation, base, bytestring, conduit, resourcet }: - mkDerivation { - pname = "libyaml"; - version = "0.1.0.0"; - sha256 = "01vgzf05ad1v8h65n12fwd2whldnqhlv7cbcaf08m3ck2viqimlw"; - libraryHaskellDepends = [ base bytestring conduit resourcet ]; - description = "Low-level, streaming YAML interface"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "libyaml_0_1_1_0" = callPackage ({ mkDerivation, base, bytestring, conduit, resourcet }: mkDerivation { pname = "libyaml"; @@ -136896,7 +146687,6 @@ self: { libraryHaskellDepends = [ base bytestring conduit resourcet ]; description = "Low-level, streaming YAML interface"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "libzfs" = callPackage @@ -136936,6 +146726,21 @@ self: { description = "A license compatibility helper"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "lie" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "lie"; + version = "0.1.0.0"; + sha256 = "1kvy0zsgwq2kgdbiz7z88q9d3ldhb9z9fb057x7mnhli7b3hd8fh"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base ]; + executableHaskellDepends = [ base ]; + description = "Lie Algebras"; + license = stdenv.lib.licenses.bsd3; }) {}; "life" = callPackage @@ -136978,6 +146783,7 @@ self: { testToolDepends = [ tasty-discover ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lift-generics" = callPackage @@ -136988,8 +146794,8 @@ self: { pname = "lift-generics"; version = "0.1.2"; sha256 = "0kk05dp6n93jgxq4x1lrckjrca6lrwa7qklr3vpzc6iyrlbvv7qf"; - revision = "2"; - editedCabalFile = "171f8cpn0kw9psikx3n7cdwyqfwg8rr8gf1hja6g7pnm0683l5l8"; + revision = "3"; + editedCabalFile = "0ackkmjfqxyxhy9w03zlqvmi68la9yv4jf0sc8qdhyr5y30ac68s"; libraryHaskellDepends = [ base generic-deriving ghc-prim template-haskell ]; @@ -137018,8 +146824,8 @@ self: { }: mkDerivation { pname = "lifted-async"; - version = "0.10.0.3"; - sha256 = "131bh83yc3jhy0hwgslvs9p9clgl4i2hhvwz2xgx7igpbhsrrl43"; + version = "0.10.0.4"; + sha256 = "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"; libraryHaskellDepends = [ async base constraints lifted-base monad-control transformers-base ]; @@ -137073,6 +146879,7 @@ self: { description = "lifted IO operations from the base library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lifted-protolude" = callPackage @@ -137091,6 +146898,7 @@ self: { description = "A sensible set of defaults for writing lifted custom Preludes"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lifted-stm" = callPackage @@ -137141,6 +146949,7 @@ self: { description = "A boulderdash-like game and solution validator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ligature" = callPackage @@ -137153,6 +146962,7 @@ self: { description = "Expand ligatures in unicode text"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ligd" = callPackage @@ -137200,6 +147010,7 @@ self: { description = "Haskell client for lightning-viz REST API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lighttpd-conf" = callPackage @@ -137217,6 +147028,7 @@ self: { description = "Lighttpd configuration file tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lighttpd-conf-qq" = callPackage @@ -137234,6 +147046,7 @@ self: { description = "A QuasiQuoter for lighttpd configuration files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lilypond" = callPackage @@ -137251,6 +147064,7 @@ self: { description = "Bindings to Lilypond"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "limp" = callPackage @@ -137285,6 +147099,7 @@ self: { description = "bindings for integer linear programming solver Coin/CBC"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lin-alg" = callPackage @@ -137308,6 +147123,7 @@ self: { description = "LINear Discriminant Analysis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linden" = callPackage @@ -137338,6 +147154,7 @@ self: { description = "Zen gardening, based on l-systems"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lindenmayer" = callPackage @@ -137372,7 +147189,44 @@ self: { ]; description = "Haskell SDK for the LINE API"; license = stdenv.lib.licenses.bsd3; + }) {}; + + "line-bot-sdk" = callPackage + ({ mkDerivation, aeson, aeson-qq, base, base64-bytestring + , bytestring, cryptohash-sha256, errors, exceptions, free, hspec + , hspec-expectations, hspec-wai, http-api-data, http-client + , http-client-tls, http-types, monad-control, mtl, scientific + , servant, servant-client, servant-client-core, servant-server + , streaming, string-conversions, text, time, transformers + , transformers-base, wai, wai-extra, warp + }: + mkDerivation { + pname = "line-bot-sdk"; + version = "0.5.0.2"; + sha256 = "0b33z5h22mbzxa812phpi73nmilzyvdslh355802wv625br3ljq5"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base base64-bytestring bytestring cryptohash-sha256 errors + exceptions http-api-data http-client http-client-tls http-types + monad-control mtl scientific servant servant-client + servant-client-core servant-server streaming string-conversions + text time transformers transformers-base wai wai-extra + ]; + executableHaskellDepends = [ + base servant servant-client servant-server time transformers wai + wai-extra warp + ]; + testHaskellDepends = [ + aeson aeson-qq base base64-bytestring bytestring cryptohash-sha256 + free hspec hspec-expectations hspec-wai http-client http-types + servant servant-client servant-client-core servant-server text time + transformers wai warp + ]; + description = "Haskell SDK for LINE Messaging API"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "line-break" = callPackage @@ -137388,6 +147242,18 @@ self: { license = stdenv.lib.licenses.gpl3; }) {}; + "line-drawing" = callPackage + ({ mkDerivation, base, hspec }: + mkDerivation { + pname = "line-drawing"; + version = "0.1.0.0"; + sha256 = "19hdx810mraygd1li8bw9l3i18ygbzmyxsqkyvh6q90saayglr4f"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base hspec ]; + description = "raster line drawing"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "line-size" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -137426,8 +147292,10 @@ self: { }: mkDerivation { pname = "linear"; - version = "1.20.8"; - sha256 = "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"; + version = "1.20.9"; + sha256 = "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"; + revision = "1"; + editedCabalFile = "13ff7xvw25fpsikcvf0nly2ca614wzv10qyg4sh378p5r8rvfgka"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ adjunctions base base-orphans binary bytes cereal containers @@ -137460,7 +147328,6 @@ self: { testHaskellDepends = [ base doctest ]; description = "Lifting linear vector spaces into Accelerate"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "linear-algebra-cblas" = callPackage @@ -137482,6 +147349,7 @@ self: { description = "A linear algebra library with bindings to BLAS and LAPACK"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linear-circuit" = callPackage @@ -137491,8 +147359,8 @@ self: { }: mkDerivation { pname = "linear-circuit"; - version = "0.1"; - sha256 = "0rvmnk8fwyns645rs8s0nwyfcyk2nc0z8jk03raasrk4kv3f26z3"; + version = "0.1.0.2"; + sha256 = "0cf2lq8p2yppns8qn732drky8ghhd4ri9zxv7nbvas10ha0p19lm"; libraryHaskellDepends = [ base comfort-array comfort-graph containers lapack netlib-ffi transformers utility-ht @@ -137504,6 +147372,7 @@ self: { description = "Compute resistance of linear electrical circuits"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linear-code" = callPackage @@ -137530,6 +147399,7 @@ self: { description = "A simple library for linear codes (coding theory, error correction)"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linear-grammar" = callPackage @@ -137557,6 +147427,7 @@ self: { description = "Finite maps for linear use"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linear-opengl" = callPackage @@ -137573,6 +147444,7 @@ self: { description = "Isomorphisms between linear and OpenGL types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linear-socket" = callPackage @@ -137585,6 +147457,8 @@ self: { testHaskellDepends = [ base hspec network tasty-hspec ]; description = "Typed sockets"; license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linear-vect" = callPackage @@ -137597,6 +147471,7 @@ self: { description = "A low-dimensional linear algebra library, operating on the Num typeclass"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linearEqSolver" = callPackage @@ -137608,6 +147483,8 @@ self: { libraryHaskellDepends = [ base sbv ]; description = "Use SMT solvers to solve linear systems over integers and rationals"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linearmap-category" = callPackage @@ -137620,8 +147497,8 @@ self: { pname = "linearmap-category"; version = "0.3.5.0"; sha256 = "0qmd0nz343j3j3kprbhwfkglcswfcawfy0y6g4ai6nzdga42nfrf"; - revision = "1"; - editedCabalFile = "15yqlsx8wdp8lxkr8pgr1cfrjpy5v1zsgpi584bcd7szwm76mmsw"; + revision = "3"; + editedCabalFile = "0b4m77csdsi5wgvbclza2arps5s0xgg0iibiy8kwax55ml04kkvp"; libraryHaskellDepends = [ base call-stack constrained-categories containers free-vector-spaces ieee754 lens linear manifolds-core semigroups @@ -137630,6 +147507,7 @@ self: { description = "Native, complete, matrix-free linear algebra"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linearscan" = callPackage @@ -137644,6 +147522,7 @@ self: { description = "Linear scan register allocator, formally verified in Coq"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linearscan-hoopl" = callPackage @@ -137665,6 +147544,7 @@ self: { description = "Makes it easy to use the linearscan register allocator with Hoopl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linebreak" = callPackage @@ -137688,6 +147568,26 @@ self: { description = "Lines of Action, 2-player strategy board game"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "lingo" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, directory + , filepath, hspec, raw-strings-qq, text, yaml + }: + mkDerivation { + pname = "lingo"; + version = "0.1.0.1"; + sha256 = "1yany2pi06yvkmgz808gji6yk9v0wbl5vnaijhb8vqd152zmmzb4"; + setupHaskellDepends = [ + base bytestring Cabal containers directory filepath text yaml + ]; + libraryHaskellDepends = [ + base bytestring containers filepath raw-strings-qq text yaml + ]; + testHaskellDepends = [ base hspec ]; + description = "File extension based programming language detection"; + license = stdenv.lib.licenses.bsd3; }) {}; "linguistic-ordinals" = callPackage @@ -137714,7 +147614,6 @@ self: { ]; description = "Use web link relation types (RFC 5988) in Haskell"; license = stdenv.lib.licenses.publicDomain; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "linkchk" = callPackage @@ -137733,6 +147632,7 @@ self: { description = "linkchk is a network interface link ping monitor"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linkcore" = callPackage @@ -137750,6 +147650,7 @@ self: { description = "Combines multiple GHC Core modules into a single module"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linked-list-with-iterator" = callPackage @@ -137763,6 +147664,7 @@ self: { description = "A pure linked list which is mutable through iterators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linkedhashmap" = callPackage @@ -137786,6 +147688,7 @@ self: { description = "Persistent LinkedHashMap data structure"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linklater" = callPackage @@ -137808,7 +147711,48 @@ self: { ]; description = "A Haskell library for the Slack API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "linnet" = callPackage + ({ mkDerivation, base, bytestring, bytestring-conversion + , case-insensitive, either, exceptions, hspec, http-types + , io-streams, mtl, QuickCheck, quickcheck-classes + , quickcheck-instances, text, transformers, uri-encode, wai, warp + }: + mkDerivation { + pname = "linnet"; + version = "0.1.0.1"; + sha256 = "074np5a8xx25k88c82spmvmwiwcm993pvfbwfhjjkcqjqxwwgglf"; + libraryHaskellDepends = [ + base bytestring bytestring-conversion case-insensitive either + exceptions http-types io-streams mtl text transformers uri-encode + wai warp + ]; + testHaskellDepends = [ + base bytestring bytestring-conversion case-insensitive either + exceptions hspec http-types io-streams mtl QuickCheck + quickcheck-classes quickcheck-instances text transformers + uri-encode wai warp + ]; + description = "Lightweight library for building HTTP API"; + license = stdenv.lib.licenses.asl20; + }) {}; + + "linnet-aeson" = callPackage + ({ mkDerivation, aeson, base, bytestring, hspec, linnet, QuickCheck + , quickcheck-classes, quickcheck-instances, text + }: + mkDerivation { + pname = "linnet-aeson"; + version = "0.1.0.1"; + sha256 = "1syfi3ha3z2l1g8qdy5rpla6xafw6dqcwicgns1xy9q9d8jrcjs3"; + libraryHaskellDepends = [ aeson base bytestring linnet ]; + testHaskellDepends = [ + aeson base bytestring hspec linnet QuickCheck quickcheck-classes + quickcheck-instances text + ]; + description = "Aeson JSON support for Linnet"; + license = stdenv.lib.licenses.asl20; }) {}; "linode" = callPackage @@ -137830,6 +147774,8 @@ self: { ]; description = "Bindings to the Linode API"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linode-v4" = callPackage @@ -137847,6 +147793,7 @@ self: { description = "Haskell wrapper for the Linode v4 API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linux-blkid" = callPackage @@ -137864,6 +147811,7 @@ self: { description = "Linux libblkid"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {blkid = null;}; "linux-cgroup" = callPackage @@ -137876,6 +147824,7 @@ self: { description = "Very basic interface to the Linux CGroup Virtual Filesystem"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linux-evdev" = callPackage @@ -137914,6 +147863,7 @@ self: { description = "Thinner binding to the Linux Kernel's inotify interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linux-kmod" = callPackage @@ -137927,6 +147877,7 @@ self: { description = "Linux kernel modules support"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {libkmod = null;}; "linux-mount" = callPackage @@ -137972,6 +147923,7 @@ self: { description = "Read files generated by perf on Linux"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linux-ptrace" = callPackage @@ -137990,6 +147942,7 @@ self: { description = "Wrapping of Linux' ptrace(2)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "linux-xattr" = callPackage @@ -138022,6 +147975,7 @@ self: { description = "Implementation of the Enea LINX gateway protocol"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lio" = callPackage @@ -138034,6 +147988,7 @@ self: { description = "Labeled IO Information Flow Control Library"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lio-eci11" = callPackage @@ -138051,6 +148006,7 @@ self: { description = "Labeled IO library"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lio-fs" = callPackage @@ -138066,7 +148022,9 @@ self: { ]; description = "Labeled File System interface for LIO"; license = "GPL"; + platforms = [ "i686-linux" "x86_64-linux" ]; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lio-simple" = callPackage @@ -138092,6 +148050,7 @@ self: { description = "LIO support for the Simple web framework"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lipsum-gen" = callPackage @@ -138104,6 +148063,7 @@ self: { description = "Generators for random sequences of English-like nonsense text"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "liquid" = callPackage @@ -138129,6 +148089,7 @@ self: { description = "Liquid template language library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "liquid-fixpoint" = callPackage @@ -138165,7 +148126,7 @@ self: { doCheck = false; description = "Predicate Abstraction-based Horn-Clause/Implication Constraint Solver"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + maintainers = with stdenv.lib.maintainers; [ peti ]; }) {inherit (pkgs) git; inherit (pkgs) nettools; inherit (pkgs) ocaml; inherit (pkgs) z3;}; @@ -138208,33 +148169,35 @@ self: { testSystemDepends = [ z3 ]; description = "Liquid Types for Haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + maintainers = with stdenv.lib.maintainers; [ peti ]; }) {inherit (pkgs) z3;}; "liquidhaskell-cabal" = callPackage - ({ mkDerivation, base, Cabal, filepath }: + ({ mkDerivation, base, Cabal, directory, filepath }: mkDerivation { pname = "liquidhaskell-cabal"; - version = "0.1.1.0"; - sha256 = "0qwpssjq2xiajhkx4jdmzkcvlhi6921dkgplih5jiq4i64av50zy"; - libraryHaskellDepends = [ base Cabal filepath ]; - description = "Liquid Haskell integration for Cabal and stack"; + version = "0.2.1.0"; + sha256 = "1150y4dqdg735jysyak4nfrc0lbmk94mwf6dw5s9lsp73pq6gy9n"; + revision = "1"; + editedCabalFile = "0c76lchw32dzfn8q4qckxqjzcnw909x7niiwlzadas8mv9p93ybl"; + libraryHaskellDepends = [ base Cabal directory filepath ]; + description = "Liquid Haskell integration for Cabal and Stack"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "liquidhaskell-cabal-demo" = callPackage - ({ mkDerivation, base, liquidhaskell-cabal }: + ({ mkDerivation, base, Cabal, liquidhaskell-cabal }: mkDerivation { pname = "liquidhaskell-cabal-demo"; - version = "0.1.1.0"; - sha256 = "08hyyh2sjamb7qsmy85j4dg0szvifkzazhi8v9qi1pxw1mivc727"; + version = "0.2.1.1"; + sha256 = "11k2j13gclnmj0ky8pd7cgzps8ip8gygkj25gnbrg7kqj5jbvj5x"; isLibrary = true; isExecutable = true; + setupHaskellDepends = [ base Cabal liquidhaskell-cabal ]; libraryHaskellDepends = [ base liquidhaskell-cabal ]; executableHaskellDepends = [ base liquidhaskell-cabal ]; - description = "Demo of Liquid Haskell integration for Cabal and stack"; - license = stdenv.lib.licenses.bsd3; + description = "Demo of Liquid Haskell integration for Cabal and Stack"; + license = "unknown"; hydraPlatforms = stdenv.lib.platforms.none; }) {}; @@ -138271,6 +148234,7 @@ self: { description = "testing list fusion for success"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "list-grouping" = callPackage @@ -138294,6 +148258,7 @@ self: { description = "List Multiplexing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "list-prompt" = callPackage @@ -138315,6 +148280,7 @@ self: { description = "A simple list prompt UI for the terminal"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "list-remote-forwards" = callPackage @@ -138342,6 +148308,7 @@ self: { description = "List all remote forwards for mail accounts stored in a SQL database"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "list-t" = callPackage @@ -138377,6 +148344,7 @@ self: { description = "An \"attoparsec\" adapter for \"list-t\""; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "list-t-html-parser" = callPackage @@ -138401,6 +148369,7 @@ self: { description = "Streaming HTML parser"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "list-t-http-client" = callPackage @@ -138417,6 +148386,7 @@ self: { description = "A streaming HTTP client"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "list-t-libcurl" = callPackage @@ -138453,6 +148423,7 @@ self: { description = "A streaming text codec"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "list-transformer" = callPackage @@ -138485,6 +148456,41 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "list-witnesses" = callPackage + ({ mkDerivation, base, decidable, microlens, profunctors + , singletons, vinyl + }: + mkDerivation { + pname = "list-witnesses"; + version = "0.1.1.1"; + sha256 = "13h5gckpysf4p5wjfnq7l5v66rmxi3i9cmykf18ld3hnilgd7wa7"; + libraryHaskellDepends = [ + base decidable microlens profunctors singletons vinyl + ]; + description = "Witnesses for working with type-level lists"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "list-witnesses_0_1_3_2" = callPackage + ({ mkDerivation, base, decidable, functor-products, microlens + , profunctors, singletons, vinyl + }: + mkDerivation { + pname = "list-witnesses"; + version = "0.1.3.2"; + sha256 = "1hzm8ijx8id5ij199dg362ai1wmdrs8mr10qkv57639hv61almyq"; + libraryHaskellDepends = [ + base decidable functor-products microlens profunctors singletons + vinyl + ]; + description = "Witnesses for working with type-level lists"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "list-zip-def" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -138517,6 +148523,7 @@ self: { description = "A list zipper"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "listenbrainz-client" = callPackage @@ -138535,6 +148542,7 @@ self: { description = "A client library to the ListenBrainz project"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "listlike-instances" = callPackage @@ -138547,6 +148555,7 @@ self: { description = "Extra instances of the ListLike class"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lists" = callPackage @@ -138604,6 +148613,8 @@ self: { ]; description = "Append only key-list database"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lit" = callPackage @@ -138624,6 +148635,7 @@ self: { description = "A simple tool for literate programming"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "literals" = callPackage @@ -138636,6 +148648,7 @@ self: { description = "Non-overloaded functions for concrete literals"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "live-sequencer" = callPackage @@ -138664,6 +148677,7 @@ self: { description = "Live coding of MIDI music"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "liveplot" = callPackage @@ -138700,6 +148714,7 @@ self: { librarySystemDepends = [ picosat ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) picosat;}; "llrbtree" = callPackage @@ -138732,6 +148747,7 @@ self: { description = "An implementation of the LLSD data system"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm" = callPackage @@ -138749,6 +148765,7 @@ self: { description = "Bindings to the LLVM compiler toolkit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-analysis" = callPackage @@ -138777,6 +148794,7 @@ self: { description = "A Haskell library for analyzing LLVM bitcode"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-base" = callPackage @@ -138789,6 +148807,7 @@ self: { description = "FFI bindings to the LLVM compiler toolkit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-base-types" = callPackage @@ -138810,6 +148829,7 @@ self: { description = "The base types for a mostly pure Haskell LLVM analysis library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-base-util" = callPackage @@ -138822,6 +148842,7 @@ self: { description = "Utilities for bindings to the LLVM compiler toolkit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-data-interop" = callPackage @@ -138843,41 +148864,44 @@ self: { description = "A low-level data interoperability binding for LLVM"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-extra" = callPackage - ({ mkDerivation, base, bifunctors, bool8, containers, cpuid - , llvm-tf, non-empty, tfp, transformers, unsafe, utility-ht + ({ mkDerivation, base, bool8, containers, cpuid, llvm-tf, non-empty + , prelude-compat, tfp, transformers, unsafe, utility-ht }: mkDerivation { pname = "llvm-extra"; - version = "0.8.0.1"; - sha256 = "0hnad3cqrvaijnczjy0krbf0szxf0573c5g37746xspwsjy42srd"; + version = "0.8.0.3"; + sha256 = "1cqxfrjhfgliwxjgbmjkbpcy4dlv0fwwqzdd9jd8fiq96njfqfvp"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base bifunctors bool8 containers cpuid llvm-tf non-empty tfp + base bool8 containers cpuid llvm-tf non-empty prelude-compat tfp transformers unsafe utility-ht ]; description = "Utility functions for the llvm interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-ffi" = callPackage - ({ mkDerivation, base, enumset, llvm }: + ({ mkDerivation, base, enumset, LLVM }: mkDerivation { pname = "llvm-ffi"; - version = "3.8.1"; - sha256 = "1j949vdscz7rcblfm1bz73dq347y7a16zmjyq2jvy7rx0f1aydnn"; + version = "3.8.1.1"; + sha256 = "1l74yyxgi3ndj9ffjk46wnzifgcn39gj19h9rcsbb8zvbcxw0lw6"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base enumset ]; - libraryPkgconfigDepends = [ llvm ]; + librarySystemDepends = [ LLVM ]; description = "FFI bindings to the LLVM compiler toolkit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (self.llvmPackages) llvm;}; + broken = true; + }) {LLVM = null;}; "llvm-ffi-tools" = callPackage ({ mkDerivation, base, bytestring, containers, regex-posix @@ -138921,6 +148945,7 @@ self: { description = "General purpose LLVM bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {llvm-config = null;}; "llvm-general-pure" = callPackage @@ -138942,6 +148967,7 @@ self: { description = "Pure Haskell LLVM functionality (no FFI)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-general-quote" = callPackage @@ -138966,6 +148992,7 @@ self: { description = "QuasiQuoting llvm code for llvm-general"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-hs" = callPackage @@ -138977,10 +149004,8 @@ self: { }: mkDerivation { pname = "llvm-hs"; - version = "7.0.1"; - sha256 = "1ghgmmks22ra6ivhwhy65yj9ihr51lbhwdghm52pna5f14brhlyy"; - revision = "1"; - editedCabalFile = "0nxyjcnsph4mlyxqy47m67ayd4mnpxx3agy5vx7f4v74bg4xx44a"; + version = "8.0.0"; + sha256 = "15ykcxxdvrwyb9jqqr4z3wxhy9r1py1k1hvb9icphzjknpx9z66h"; setupHaskellDepends = [ base Cabal containers ]; libraryHaskellDepends = [ array attoparsec base bytestring containers exceptions llvm-hs-pure @@ -138994,7 +149019,6 @@ self: { ]; description = "General purpose LLVM bindings"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {llvm-config = null;}; "llvm-hs-pretty" = callPackage @@ -139004,8 +149028,8 @@ self: { }: mkDerivation { pname = "llvm-hs-pretty"; - version = "0.6.1.0"; - sha256 = "12w1rkkaf50jl2vdkyk4xpvjmsxzjbfkdyklaq5p6b8ykw872pda"; + version = "0.6.2.0"; + sha256 = "0inljys97b3vmb0006p75kzsm922w1r9721df2h7nfqp0in28c14"; libraryHaskellDepends = [ array base bytestring llvm-hs-pure prettyprinter text ]; @@ -139016,6 +149040,7 @@ self: { description = "A pretty printer for LLVM IR"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-hs-pure" = callPackage @@ -139025,8 +149050,8 @@ self: { }: mkDerivation { pname = "llvm-hs-pure"; - version = "7.0.0"; - sha256 = "1b82cin889qkyp9qv5p3yk7wq7ibnx2v9pk0mpvk6k9ca7fpr7dg"; + version = "8.0.0"; + sha256 = "1srlac1vdpxddvbf560npxhldkq27hkxwb2lg4qdwvks55l38nfc"; libraryHaskellDepends = [ attoparsec base bytestring containers fail mtl template-haskell transformers unordered-containers @@ -139052,6 +149077,7 @@ self: { description = "Bindings to the LLVM compiler toolkit with some custom extensions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-pkg-config" = callPackage @@ -139071,6 +149097,7 @@ self: { description = "Generate Pkg-Config configuration file for LLVM"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-pretty" = callPackage @@ -139083,6 +149110,7 @@ self: { description = "A pretty printing library inspired by the llvm binding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-pretty-bc-parser" = callPackage @@ -139110,6 +149138,7 @@ self: { description = "LLVM bitcode parsing library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-tf" = callPackage @@ -139130,6 +149159,7 @@ self: { description = "Bindings to the LLVM compiler toolkit using type families"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "llvm-tools" = callPackage @@ -139158,6 +149188,7 @@ self: { description = "Useful tools built on llvm-analysis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lmdb" = callPackage @@ -139228,6 +149259,7 @@ self: { description = "LMonad is an Information Flow Control (IFC) framework for Haskell applications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lmonad-yesod" = callPackage @@ -139249,6 +149281,7 @@ self: { description = "LMonad for Yesod integrates LMonad's IFC with Yesod web applications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "load-balancing" = callPackage @@ -139261,6 +149294,7 @@ self: { description = "Client-side load balancing utilities"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "load-env" = callPackage @@ -139269,8 +149303,8 @@ self: { }: mkDerivation { pname = "load-env"; - version = "0.2.0.2"; - sha256 = "063zd2nbwbyndfy1hrir9x270f99wzbyarfj561r9dddak2754w1"; + version = "0.2.1.0"; + sha256 = "184l0km1i6rfliq9nsj9p67ynsx6nlq466hf056lbgmrzvx6vv73"; libraryHaskellDepends = [ base directory filepath parsec ]; testHaskellDepends = [ base directory doctest hspec parsec temporary @@ -139294,6 +149328,7 @@ self: { description = "A cross platform library for loading bundled fonts into your application"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "loadavg" = callPackage @@ -139356,6 +149391,7 @@ self: { description = "Generalised local search within Haskell, for applications in combinatorial optimisation"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "localization" = callPackage @@ -139385,7 +149421,6 @@ self: { ]; description = "GNU Gettext-based messages localization library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "located" = callPackage @@ -139398,6 +149433,7 @@ self: { description = "Source location helpers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "located-base" = callPackage @@ -139423,6 +149459,7 @@ self: { description = "Location-aware logging without Template Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "locators" = callPackage @@ -139454,6 +149491,7 @@ self: { description = "Support for precise error locations in source files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "loch-th" = callPackage @@ -139507,6 +149545,7 @@ self: { description = "Very simple poll lock"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lockfree-queue" = callPackage @@ -139565,21 +149604,23 @@ self: { description = "Structured logging solution with multiple backends"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "log-base" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, bytestring, deepseq , exceptions, mmorph, monad-control, monad-time, mtl, semigroups - , stm, text, time, transformers-base, unordered-containers + , stm, text, time, transformers-base, unliftio-core + , unordered-containers }: mkDerivation { pname = "log-base"; - version = "0.7.4.0"; - sha256 = "06rzvh3g294hpwpxw2syvywrw3rms1chjxqhki8b97ml1nlfnrs0"; + version = "0.8.0.0"; + sha256 = "15539v6y6s46kgb86ns13rh17c1qnidwdajk26yaxyqky58yx2m6"; libraryHaskellDepends = [ aeson aeson-pretty base bytestring deepseq exceptions mmorph monad-control monad-time mtl semigroups stm text time - transformers-base unordered-containers + transformers-base unliftio-core unordered-containers ]; description = "Structured logging solution (base package)"; license = stdenv.lib.licenses.bsd3; @@ -139594,8 +149635,8 @@ self: { pname = "log-domain"; version = "0.12"; sha256 = "0zin3zgxrx8v69blqzkd5gjk0nmpmg58caqz2xa8qd4v1fjcp4bi"; - revision = "3"; - editedCabalFile = "19xc24jwfhzy3v26689sc4ma50w4ylqd378dpxphl0nrxili645z"; + revision = "4"; + editedCabalFile = "1z7p87dl1rj0v2gnfwfa7zmgaxccd093hvjkijc56whyg4b4az4y"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base binary bytes cereal comonad deepseq distributive hashable @@ -139614,15 +149655,20 @@ self: { }: mkDerivation { pname = "log-effect"; - version = "1.1.1"; - sha256 = "10fd3xnkybca8pi7nw2hq1ggk5g89z8b2ml3avqi1x91chqdqi85"; + version = "1.2.0"; + sha256 = "0d9vwwvbf9dkwppv5hz5g2lp96807adn5kjifmx3pqm0kf59bzfn"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ base bytestring extensible-effects monad-control text transformers-base ]; + executableHaskellDepends = [ + base bytestring extensible-effects monad-control text + transformers-base + ]; description = "An extensible log effect using extensible-effects"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "log-effect-syslog" = callPackage @@ -139631,15 +149677,14 @@ self: { }: mkDerivation { pname = "log-effect-syslog"; - version = "0.1.0"; - sha256 = "0db4pgl0np1yyl9arq5cvdp3njdlw62dnbldggjc9p0q6dh3hspc"; + version = "0.2.0"; + sha256 = "04r96hpngw4p0k3g3fcm7dpc69ncsmi9varm7rp3agg4d4zcxkhm"; libraryHaskellDepends = [ base bytestring extensible-effects hsyslog log-effect monad-control transformers-base ]; description = "Syslog functions for log-effect"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "log-elasticsearch" = callPackage @@ -139650,8 +149695,8 @@ self: { }: mkDerivation { pname = "log-elasticsearch"; - version = "0.10.0.1"; - sha256 = "1nnchsrkcm08r1lrlldr7icqnzsz3g024dlwg2z9la66n9d0fvl0"; + version = "0.10.1.0"; + sha256 = "10a7p0z9bqjfmc04xvqsflwqrhhnxk72kbhk62sh8l1is0i94vcs"; libraryHaskellDepends = [ aeson aeson-pretty base base64-bytestring bloodhound bytestring deepseq http-client http-client-tls log-base semigroups text @@ -139660,6 +149705,7 @@ self: { description = "Structured logging solution (Elasticsearch back end)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "log-postgres" = callPackage @@ -139670,10 +149716,8 @@ self: { }: mkDerivation { pname = "log-postgres"; - version = "0.7.0.2"; - sha256 = "16v3wli0jll5j24pdzmya90lyawqv3rcvsfd4z88kgcchds07iji"; - revision = "1"; - editedCabalFile = "1f18nzrh3bxnb58cmd3zyqpwaw2jyfl92dg6qd30zhlvlnkz1q7q"; + version = "0.7.1.1"; + sha256 = "1mx43qbv9rbzzkxz7qgwgp26aq00a97rwka7a823l5hm5hamx74k"; libraryHaskellDepends = [ aeson aeson-pretty base base64-bytestring bytestring deepseq hpqtypes http-client lifted-base log-base mtl semigroups split text @@ -139682,6 +149726,7 @@ self: { description = "Structured logging solution (PostgreSQL back end)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "log-utils" = callPackage @@ -139705,6 +149750,7 @@ self: { description = "Utils for working with logs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "log-warper" = callPackage @@ -139741,6 +149787,7 @@ self: { description = "Flexible, configurable, monadic and pretty logging"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "log2json" = callPackage @@ -139755,6 +149802,34 @@ self: { description = "Turn log file records into JSON"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "log4hs" = callPackage + ({ mkDerivation, aeson, aeson-qq, base, containers, criterion + , data-default, directory, filepath, generic-lens, hspec + , hspec-core, lens, process, QuickCheck, template-haskell, text + , time + }: + mkDerivation { + pname = "log4hs"; + version = "0.1.0.0"; + sha256 = "12crsq6gxhvamsn9ks3qn2r7aihf92aw1fcvck2wzjw9vps0y3ra"; + libraryHaskellDepends = [ + aeson base containers data-default directory filepath generic-lens + lens template-haskell text time + ]; + testHaskellDepends = [ + aeson aeson-qq base containers data-default directory filepath + generic-lens hspec hspec-core lens process QuickCheck + template-haskell text time + ]; + benchmarkHaskellDepends = [ + aeson aeson-qq base containers criterion data-default directory + filepath generic-lens lens template-haskell text time + ]; + description = "A python logging style log library"; + license = stdenv.lib.licenses.bsd3; }) {}; "logentries" = callPackage @@ -139775,6 +149850,7 @@ self: { description = "Request logger middleware for Logentries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "logfloat" = callPackage @@ -139804,6 +149880,7 @@ self: { description = "Fast & extensible logging framework"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "logger-thread" = callPackage @@ -139850,8 +149927,8 @@ self: { }: mkDerivation { pname = "logging-effect"; - version = "1.3.3"; - sha256 = "10pighhav1zmg54gvfnvxcvz83698ziaq9ccs3zqc7jxahmyaslr"; + version = "1.3.4"; + sha256 = "10xgh61ghwri21j7jr6svkd24h2s9nmawc33xkzjc6d4nbg261jf"; libraryHaskellDepends = [ async base exceptions free monad-control mtl prettyprinter semigroups stm stm-delay text time transformers transformers-base @@ -139883,6 +149960,7 @@ self: { description = "Supplemental packages for `logging-effect`"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "logging-effect-extra-file" = callPackage @@ -139902,6 +149980,7 @@ self: { description = "TH splices to augment log messages with file info"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "logging-effect-extra-handler" = callPackage @@ -139921,6 +150000,7 @@ self: { description = "Handy logging handler combinators"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "logging-facade" = callPackage @@ -139952,7 +150032,6 @@ self: { ]; description = "Journald back-end for logging-facade"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "logging-facade-syslog" = callPackage @@ -139984,6 +150063,7 @@ self: { description = "Import, export etc. for TPTP, a syntax for first-order logic"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "logic-classes" = callPackage @@ -140006,6 +150086,7 @@ self: { description = "Framework for propositional and first order logic, theorem proving"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "logicst" = callPackage @@ -140020,12 +150101,13 @@ self: { }) {}; "logict" = callPackage - ({ mkDerivation, base, mtl }: + ({ mkDerivation, base, mtl, tasty, tasty-hunit }: mkDerivation { pname = "logict"; - version = "0.6.0.2"; - sha256 = "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"; + version = "0.7.0.2"; + sha256 = "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"; libraryHaskellDepends = [ base mtl ]; + testHaskellDepends = [ base mtl tasty tasty-hunit ]; description = "A backtracking logic-programming monad"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -140064,6 +150146,7 @@ self: { description = "Parse Heroku application/logplex documents"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "logsink" = callPackage @@ -140099,6 +150182,7 @@ self: { description = "Useful utilities for the Lojban language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lojbanParser" = callPackage @@ -140114,6 +150198,7 @@ self: { description = "lojban parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lojbanXiragan" = callPackage @@ -140129,6 +150214,7 @@ self: { description = "lojban to xiragan"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lojysamban" = callPackage @@ -140143,6 +150229,7 @@ self: { description = "Prolog with lojban"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lol" = callPackage @@ -140169,6 +150256,7 @@ self: { description = "A library for lattice cryptography"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lol-apps" = callPackage @@ -140202,6 +150290,7 @@ self: { description = "Lattice-based cryptographic applications using ."; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lol-benches" = callPackage @@ -140219,6 +150308,7 @@ self: { description = "A library for benchmarking ."; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lol-calculus" = callPackage @@ -140241,6 +150331,7 @@ self: { description = "Calculus for LOL (λω language)"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lol-cpp" = callPackage @@ -140260,6 +150351,7 @@ self: { description = "A fast C++ backend for ."; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lol-repa" = callPackage @@ -140280,6 +150372,7 @@ self: { description = "A repa backend for ."; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lol-tests" = callPackage @@ -140300,6 +150393,7 @@ self: { description = "A library for testing ."; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lol-typing" = callPackage @@ -140325,6 +150419,7 @@ self: { description = "Type inferencer for LOL (λω language)"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "loli" = callPackage @@ -140343,6 +150438,7 @@ self: { description = "A minimum web dev DSL in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "long-double" = callPackage @@ -140351,8 +150447,8 @@ self: { pname = "long-double"; version = "0.1"; sha256 = "072yfv1kv83k8qc9apks2czr9p6znk46bbbjmsdbcpzyb8byh64j"; - revision = "1"; - editedCabalFile = "12vmzzrxgb4yqf9axf1fildl4m0dfm3zqxk4vg6k6m5qi6haz1yn"; + revision = "2"; + editedCabalFile = "03x83ycib19k2lmd3spwq2zmylfl5ihammb406fxxqqbyv4jw1mg"; libraryHaskellDepends = [ base integer-gmp ]; description = "FFI bindings for C long double"; license = stdenv.lib.licenses.bsd3; @@ -140368,6 +150464,7 @@ self: { description = "Dependently-typed linked list implementation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lookup-tables" = callPackage @@ -140383,6 +150480,7 @@ self: { description = "Statically generate lookup tables using Template Haskell"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "loop" = callPackage @@ -140411,6 +150509,7 @@ self: { description = "control-monad-loop port for effin"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "loop-while" = callPackage @@ -140423,6 +150522,41 @@ self: { description = "A monad transformer supporting various styles of while loop"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "loopbreaker" = callPackage + ({ mkDerivation, base, containers, ghc, hspec, hspec-discover + , inspection-testing, syb + }: + mkDerivation { + pname = "loopbreaker"; + version = "0.1.1.0"; + sha256 = "1hyw750r0kwyj5hb424dcxh2m11p7k694dfhgd2vadnqn80g0w5s"; + libraryHaskellDepends = [ base containers ghc syb ]; + testHaskellDepends = [ + base containers ghc hspec inspection-testing syb + ]; + testToolDepends = [ hspec-discover ]; + description = "inline self-recursive definitions"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "looper" = callPackage + ({ mkDerivation, aeson, base, hspec, optparse-applicative, text + , time, unliftio + }: + mkDerivation { + pname = "looper"; + version = "0.0.0.2"; + sha256 = "0w4aancb0lbfgmk2drnbc1w6bxlbdkhg0zy1qj7xp3kvgc76vqli"; + libraryHaskellDepends = [ + aeson base optparse-applicative text time unliftio + ]; + testHaskellDepends = [ + aeson base hspec optparse-applicative text time unliftio + ]; + license = stdenv.lib.licenses.bsd3; }) {}; "loops" = callPackage @@ -140441,6 +150575,7 @@ self: { description = "Fast imperative-style loops"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "loopy" = callPackage @@ -140460,6 +150595,7 @@ self: { description = "Find all biological feedback loops within an ecosystem graph"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lord" = callPackage @@ -140501,6 +150637,7 @@ self: { description = "A command line interface to online radios"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lorem" = callPackage @@ -140516,6 +150653,7 @@ self: { description = "Library for generating filler text"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "loris" = callPackage @@ -140530,6 +150668,7 @@ self: { description = "interface to Loris API"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {loris = null;}; "loshadka" = callPackage @@ -140549,6 +150688,7 @@ self: { description = "Minecraft 1.7 server proxy that answers to queries when the server is offline"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lostcities" = callPackage @@ -140567,6 +150707,7 @@ self: { description = "An implementation of an adictive two-player card game"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "loup" = callPackage @@ -140588,6 +150729,7 @@ self: { description = "Amazon Simple Workflow Service Wrapper for Work Pools"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lowgl" = callPackage @@ -140600,6 +150742,7 @@ self: { description = "Basic gl wrapper and reference"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lp-diagrams" = callPackage @@ -140609,8 +150752,8 @@ self: { }: mkDerivation { pname = "lp-diagrams"; - version = "2.1.0"; - sha256 = "1gipdhbnyb7sll30ffcl42k8rqqwphi970ls7rn2g98yb39jk498"; + version = "2.1.1"; + sha256 = "0dynm0kib4lgyz00gbg4gi0ds5cgpbdx40davk53cknwxv7icri0"; libraryHaskellDepends = [ base containers gasp graphviz labeled-tree lens mtl parsek polynomials-bernstein process reflection text typography-geometry @@ -140619,6 +150762,7 @@ self: { description = "An EDSL for diagrams based based on linear constraints"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lp-diagrams-svg" = callPackage @@ -140639,6 +150783,7 @@ self: { description = "SVG Backend for lp-diagrams"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lrucache" = callPackage @@ -140660,8 +150805,8 @@ self: { pname = "lrucaching"; version = "0.3.3"; sha256 = "192a2zap1bmxa2y48n48rmngf18fr8k0az4a230hziv3g795yzma"; - revision = "6"; - editedCabalFile = "1zkf8ss6siai3py4drb5hr0m3np2kk3vrzb6kcxhq0vxxz3xynjh"; + revision = "8"; + editedCabalFile = "11ad87kg09s9md9lqzhbcw19kmzvii4v97nw49q0wb0rs0qizpki"; libraryHaskellDepends = [ base base-compat deepseq hashable psqueues vector ]; @@ -140689,6 +150834,7 @@ self: { description = "List USB devices"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lscabal" = callPackage @@ -140707,24 +150853,25 @@ self: { description = "List exported modules from a set of .cabal files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lsp-test" = callPackage - ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base + ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base , bytestring, conduit, conduit-parse, containers, data-default , Diff, directory, filepath, haskell-lsp, hspec, lens, mtl - , parser-combinators, process, text, transformers, unix - , unordered-containers, yi-rope + , parser-combinators, process, rope-utf16-splay, text, transformers + , unix, unordered-containers }: mkDerivation { pname = "lsp-test"; - version = "0.5.0.2"; - sha256 = "0g5kw8y59bdyzj7zzwif1810q7wk87d7q53idpw250g6s4dwycxa"; + version = "0.6.1.0"; + sha256 = "195p9m4992l01k8xsc8yxwsx3g74xfn6rdi00bwlzxw4ijy06lfi"; libraryHaskellDepends = [ - aeson aeson-pretty ansi-terminal base bytestring conduit + aeson aeson-pretty ansi-terminal async base bytestring conduit conduit-parse containers data-default Diff directory filepath - haskell-lsp lens mtl parser-combinators process text transformers - unix unordered-containers yi-rope + haskell-lsp lens mtl parser-combinators process rope-utf16-splay + text transformers unix unordered-containers ]; testHaskellDepends = [ aeson base data-default haskell-lsp hspec lens text @@ -140733,6 +150880,7 @@ self: { description = "Functional test framework for LSP servers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lss" = callPackage @@ -140771,6 +150919,7 @@ self: { description = "Paint an L-System Grammar"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ltext" = callPackage @@ -140802,6 +150951,8 @@ self: { ]; description = "Parameterized file evaluator"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ltiv1p1" = callPackage @@ -140842,7 +150993,8 @@ self: { description = "Leksah tool kit"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; - }) {gtk3 = pkgs.gnome3.gtk;}; + broken = true; + }) {inherit (pkgs) gtk3;}; "ltl" = callPackage ({ mkDerivation, base, vcd }: @@ -140872,6 +151024,7 @@ self: { description = "Lua bytecode parser"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lua-bytecode" = callPackage @@ -140905,6 +151058,7 @@ self: { description = "Library functions for reading and writing Lua chunks"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "luautils" = callPackage @@ -140927,6 +151081,7 @@ self: { description = "Helpers for Haskell integration with Lua"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lub" = callPackage @@ -140980,15 +151135,13 @@ self: { }: mkDerivation { pname = "lucid-extras"; - version = "0.1.0.1"; - sha256 = "0wyb5pqhphfckmzpnl0xp6fy8fmnwqjqim3h3f3sdjqkqdly5iaw"; - revision = "1"; - editedCabalFile = "030mj3yddbia6dkbl8d6mssi42l3z8gs79z50r78gwiif6mh5dny"; + version = "0.2.2"; + sha256 = "0zi48ly2729rs3rsbnwj3z5zk9zgzmva0d3dvp448726r62ryfc3"; libraryHaskellDepends = [ aeson base blaze-builder bytestring lucid text ]; testHaskellDepends = [ base directory lucid ]; - description = "Generate more HTML with Lucid"; + description = "Generate more HTML with Lucid - Bootstrap, Rdash, Vega-Lite, Leaflet JS, Email"; license = stdenv.lib.licenses.mit; }) {}; @@ -141012,14 +151165,13 @@ self: { ({ mkDerivation, base, blaze-builder, lucid, text, transformers }: mkDerivation { pname = "lucid-svg"; - version = "0.7.0.0"; - sha256 = "0sqzgmadm7a0lydsc9p7632sd37152f8xf8x4abdfnakqpdvni3m"; + version = "0.7.1"; + sha256 = "1crfq5z0acv8ci7cj62dg1sy9hmsgpzhjwrjky9rkfnjs2brbf0n"; libraryHaskellDepends = [ base blaze-builder lucid text transformers ]; description = "DSL for SVG using lucid for HTML"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "lucienne" = callPackage @@ -141042,6 +151194,7 @@ self: { description = "Server side feed aggregator/reader"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "luhn" = callPackage @@ -141069,6 +151222,7 @@ self: { description = "Purely FunctionaL User Interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "luis-client" = callPackage @@ -141084,6 +151238,7 @@ self: { description = "An unofficial client for the LUIS NLP service"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "luka" = callPackage @@ -141098,6 +151253,7 @@ self: { description = "Simple ObjectiveC runtime binding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {objc = null;}; "luminance" = callPackage @@ -141115,6 +151271,7 @@ self: { description = "Type-safe, type-level and stateless graphics framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "luminance-samples" = callPackage @@ -141134,6 +151291,7 @@ self: { description = "Luminance samples"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lushtags" = callPackage @@ -141148,6 +151306,7 @@ self: { description = "Create ctags compatible tags files for Haskell programs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "luthor" = callPackage @@ -141161,6 +151320,7 @@ self: { description = "Tools for lexing and utilizing lexemes that integrate with Parsec"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lvish" = callPackage @@ -141189,6 +151349,7 @@ self: { description = "Parallel scheduler, LVar data structures, and infrastructure to build more"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lvmlib" = callPackage @@ -141212,6 +151373,7 @@ self: { description = "The Lazy Virtual Machine (LVM)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lvmrun" = callPackage @@ -141236,6 +151398,7 @@ self: { description = "High level Haskell bindings to LXC (Linux containers)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lxd-client" = callPackage @@ -141266,6 +151429,7 @@ self: { description = "LXD client written in Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lxd-client-config" = callPackage @@ -141304,6 +151468,7 @@ self: { description = "A Lilypond-compiling music box"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lz4" = callPackage @@ -141345,6 +151510,7 @@ self: { description = "LZ4 compression for conduits"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "lzma" = callPackage @@ -141418,6 +151584,7 @@ self: { description = "Enumerator interface for lzma/xz compression"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) lzma;}; "lzma-streams" = callPackage @@ -141439,6 +151606,7 @@ self: { description = "IO-Streams interface for lzma/xz compression"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mDNSResponder-client" = callPackage @@ -141456,6 +151624,7 @@ self: { description = "Library for talking to the mDNSResponder daemon"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "maam" = callPackage @@ -141473,6 +151642,7 @@ self: { description = "Monadic Abstracting Abstract Machines (MAAM) built on Galois Transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mac" = callPackage @@ -141510,6 +151680,7 @@ self: { description = "Macbeth - A beautiful and minimalistic FICS client"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "maccatcher" = callPackage @@ -141542,6 +151713,7 @@ self: { description = "Arrow based stream transducers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "machines" = callPackage @@ -141568,6 +151740,31 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "machines_0_7" = callPackage + ({ mkDerivation, adjunctions, base, Cabal, cabal-doctest, comonad + , conduit, containers, criterion, distributive, doctest, mtl, pipes + , pointed, profunctors, semigroupoids, semigroups, streaming + , transformers, transformers-compat, void + }: + mkDerivation { + pname = "machines"; + version = "0.7"; + sha256 = "1zipij9y913j5s6pyhycv0srias9fqyvnbky3a432qb5p9sgmh0b"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + adjunctions base comonad containers distributive mtl pointed + profunctors semigroupoids semigroups transformers + transformers-compat void + ]; + testHaskellDepends = [ base doctest ]; + benchmarkHaskellDepends = [ + base conduit criterion mtl pipes streaming + ]; + description = "Networked stream transducers"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "machines-amazonka" = callPackage ({ mkDerivation, amazonka, amazonka-autoscaling, amazonka-core , amazonka-ec2, amazonka-s3, amazonka-sts, base @@ -141588,6 +151785,7 @@ self: { description = "Machine transducers for Amazonka calls"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "machines-attoparsec" = callPackage @@ -141684,6 +151882,7 @@ self: { description = "Process (system) utilities for the machines library"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "machines-zlib" = callPackage @@ -141699,6 +151898,7 @@ self: { description = "Decompression support for machines"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "macho" = callPackage @@ -141734,6 +151934,8 @@ self: { ]; description = "An API client library for Mackerel"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "maclight" = callPackage @@ -141759,6 +151961,7 @@ self: { description = "Control screen and keyboard backlights on MACs under Linux"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "macos-corelibs" = callPackage @@ -141775,6 +151978,7 @@ self: { description = "Haskell bindings to C-based Mac OS SDK frameworks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "macosx-make-standalone" = callPackage @@ -141795,6 +151999,7 @@ self: { description = "Make a macosx app standalone deployable"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "madlang" = callPackage @@ -141807,8 +152012,8 @@ self: { }: mkDerivation { pname = "madlang"; - version = "4.0.2.14"; - sha256 = "1fpqs3cyb0iwld53gljkzsz7xhwamkd4g2irk7j3z6pxvn36bhin"; + version = "4.0.2.15"; + sha256 = "0fv2p6f6gj9jg72kmlf56nymvs3sf6hn98jh4q0ighn6k5dkhbf3"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal cli-setup ]; @@ -141826,6 +152031,7 @@ self: { description = "Randomized templating language DSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mage" = callPackage @@ -141842,6 +152048,7 @@ self: { description = "Rogue-like"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) ncurses;}; "magic" = callPackage @@ -141856,6 +152063,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {inherit (pkgs) file;}; + "magic-tyfams" = callPackage + ({ mkDerivation, base, ghc, ghc-tcplugins-extra, syb }: + mkDerivation { + pname = "magic-tyfams"; + version = "0.1.1.0"; + sha256 = "1vgbbmv2807cyi6hh2137nw6dldn84qall828d64lg2ja6zj6xii"; + libraryHaskellDepends = [ base ghc ghc-tcplugins-extra syb ]; + description = "Write plugins for magic type families with ease"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "magic-wormhole" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, cryptonite , hashable, hedgehog, memory, network, network-uri @@ -141865,8 +152083,8 @@ self: { }: mkDerivation { pname = "magic-wormhole"; - version = "0.2.1"; - sha256 = "1wdn5nykn4wqb65xdhkpy8gpz216a5wi3nngadf58c7acym60gyx"; + version = "0.3.3"; + sha256 = "1wsm7y05k8byxizkmkyl7bciyz6f3jwxiwqc0gvsqi31kkqajxqn"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -141885,6 +152103,7 @@ self: { description = "Interact with Magic Wormhole"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "magicbane" = callPackage @@ -141916,6 +152135,7 @@ self: { description = "A web framework that integrates Servant, RIO, EKG, fast-logger, wai-cli…"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "magico" = callPackage @@ -141924,8 +152144,8 @@ self: { }: mkDerivation { pname = "magico"; - version = "0.0.2"; - sha256 = "0hm160w9d89qhfzq84mpb6gm6586pcxdwa7njxww21g6b0l49qmw"; + version = "0.0.2.1"; + sha256 = "1kcqa7xcz378q6v8aypg3ngcmiwj5c730n58rnfi3ywwl01l0x4x"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -141934,6 +152154,7 @@ self: { description = "Compute solutions for Magico puzzle"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "magma" = callPackage @@ -141946,6 +152167,7 @@ self: { description = "magma is an algebraic structure consisting a set together with an binary operation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mahoro" = callPackage @@ -141967,6 +152189,7 @@ self: { description = "ImageBoards to XMPP gate"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "maid" = callPackage @@ -141989,6 +152212,31 @@ self: { description = "A simple static web server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "mail-pool" = callPackage + ({ mkDerivation, base, HaskellNet, HaskellNet-SSL, microlens + , mime-mail, network, optparse-applicative, resource-pool, time + }: + mkDerivation { + pname = "mail-pool"; + version = "2.1.0"; + sha256 = "1cjl7y6djiwr94h6vhrmwjv381xp89y8hv1zmbzz8fy0dywsiyiz"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base HaskellNet HaskellNet-SSL microlens mime-mail network + optparse-applicative resource-pool time + ]; + executableHaskellDepends = [ + base HaskellNet HaskellNet-SSL microlens mime-mail network + optparse-applicative resource-pool time + ]; + description = "Preconfigured email connection pool on top of smtp"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mailbox-count" = callPackage @@ -142014,6 +152262,7 @@ self: { description = "Count mailboxes in a SQL database"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mailchimp" = callPackage @@ -142033,6 +152282,7 @@ self: { description = "Bindings for the MailChimp API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mailchimp-subscribe" = callPackage @@ -142052,28 +152302,28 @@ self: { description = "MailChimp subscription request handler"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mailgun" = callPackage - ({ mkDerivation, base, bytestring, conduit, exceptions, failure - , http-client, http-client-multipart, http-conduit, monad-control - , network, text, transformers + ({ mkDerivation, aeson, aeson-filthy, ascii, base, bytestring + , containers, exceptions, filepath, ini, lens, lens-aeson, machines + , mime-mail, mime-types, mtl, text, these, time, transformers + , unordered-containers, wreq }: mkDerivation { pname = "mailgun"; - version = "0.1.0.4"; - sha256 = "01xcr0dwbkpryavk054y52fdk9qis4s6df8d0yxz05kdl8b5nczq"; - isLibrary = true; - isExecutable = true; + version = "0.2"; + sha256 = "10gmic7hks35wanzy16ivrnc9zqx586yjxiqmcmhvmkiwrpha3yi"; libraryHaskellDepends = [ - base bytestring conduit exceptions failure http-client - http-client-multipart http-conduit monad-control network text - transformers + aeson aeson-filthy ascii base bytestring containers exceptions + filepath ini lens lens-aeson machines mime-mail mime-types mtl text + these time transformers unordered-containers wreq ]; - executableHaskellDepends = [ base http-conduit text transformers ]; - description = "Connector to Rackspace's Mailgun Service"; - license = stdenv.lib.licenses.mit; + description = "API binding for Mailgun"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "main-tester" = callPackage @@ -142082,8 +152332,8 @@ self: { }: mkDerivation { pname = "main-tester"; - version = "0.2.0.0"; - sha256 = "0iqb7p90hsygpscyddpvrxdaxka8hdc5xk3acacfns0didc7icnc"; + version = "0.2.0.1"; + sha256 = "0hkqllckiq74mhnd76jd0cv5az6n0cf70xncy9r1jkip9s9za1ng"; libraryHaskellDepends = [ base bytestring directory ]; testHaskellDepends = [ base bytestring hspec hspec-core QuickCheck text @@ -142140,6 +152390,7 @@ self: { description = "Majordomo protocol for ZeroMQ"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "majority" = callPackage @@ -142152,6 +152403,7 @@ self: { description = "Boyer-Moore Majority Vote Algorithm"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "make-hard-links" = callPackage @@ -142170,6 +152422,7 @@ self: { description = "Change duplicated files into hard-links"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "make-monofoldable-foldable" = callPackage @@ -142182,6 +152435,7 @@ self: { description = "Make a MonoFoldable type into an ordinary Foldable type"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "make-package" = callPackage @@ -142203,6 +152457,7 @@ self: { description = "Make a cabalized package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "makedo" = callPackage @@ -142215,6 +152470,7 @@ self: { description = "Helper for writing redo scripts in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "makefile" = callPackage @@ -142233,6 +152489,7 @@ self: { description = "Simple Makefile parser and generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mallard" = callPackage @@ -142261,6 +152518,7 @@ self: { description = "Database migration and testing as a library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mameya" = callPackage @@ -142308,6 +152566,7 @@ self: { description = "The Haskell/Gtk+ Integrated Live Environment"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manatee-all" = callPackage @@ -142355,6 +152614,7 @@ self: { description = "Multithread interactive input/search framework for Manatee"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manatee-browser" = callPackage @@ -142399,6 +152659,7 @@ self: { description = "The core of Manatee"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manatee-curl" = callPackage @@ -142422,6 +152683,7 @@ self: { description = "Download Manager extension for Manatee"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manatee-editor" = callPackage @@ -142443,6 +152705,7 @@ self: { description = "Editor extension for Manatee"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manatee-filemanager" = callPackage @@ -142464,6 +152727,7 @@ self: { description = "File manager extension for Manatee"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manatee-imageviewer" = callPackage @@ -142485,6 +152749,7 @@ self: { description = "Image viewer extension for Manatee"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manatee-ircclient" = callPackage @@ -142510,6 +152775,7 @@ self: { description = "IRC client extension for Manatee"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manatee-mplayer" = callPackage @@ -142532,6 +152798,7 @@ self: { description = "Mplayer client extension for Manatee"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manatee-pdfviewer" = callPackage @@ -142553,6 +152820,7 @@ self: { description = "PDF viewer extension for Manatee"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manatee-processmanager" = callPackage @@ -142573,6 +152841,7 @@ self: { description = "Process manager extension for Manatee"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manatee-reader" = callPackage @@ -142614,6 +152883,7 @@ self: { description = "Template code to create Manatee application"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manatee-terminal" = callPackage @@ -142634,6 +152904,7 @@ self: { description = "Terminal Emulator extension for Manatee"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manatee-welcome" = callPackage @@ -142654,6 +152925,7 @@ self: { description = "Welcome module to help user play Manatee quickly"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mancala" = callPackage @@ -142678,8 +152950,8 @@ self: { }: mkDerivation { pname = "mandrill"; - version = "0.5.3.5"; - sha256 = "0yh7r3wrzpzm3iv0zvs6nzf36hwv0y7xlsz6cy3dlnyrr5jbsb1i"; + version = "0.5.3.6"; + sha256 = "1jvgxhc3x7867cryvsbpj7hks9syhpqbwyh4y0v6b0yp0xil8qrl"; libraryHaskellDepends = [ aeson base base64-bytestring blaze-html bytestring containers email-validate http-client http-client-tls http-types microlens-th @@ -142692,6 +152964,7 @@ self: { description = "Library for interfacing with the Mandrill JSON API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mandulia" = callPackage @@ -142711,6 +152984,7 @@ self: { description = "A zooming visualisation of the Mandelbrot Set as many Julia Sets"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mangopay" = callPackage @@ -142750,6 +153024,7 @@ self: { description = "Bindings to the MangoPay API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manifold-random" = callPackage @@ -142758,8 +153033,8 @@ self: { }: mkDerivation { pname = "manifold-random"; - version = "0.5.0.0"; - sha256 = "19p2yh8yrav6dljmw8mz3xnghxf2h9a5z5wqxnb6zsrl11mds95g"; + version = "0.5.0.3"; + sha256 = "12k5h3r6wnqjy5vzia3hypwjrh953cc5n912k1rfdwm4m4pznq03"; libraryHaskellDepends = [ base constrained-categories linearmap-category manifolds random-fu semigroups vector-space @@ -142767,10 +153042,11 @@ self: { description = "Sampling random points on general manifolds"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manifolds" = callPackage - ({ mkDerivation, array, base, call-stack, comonad + ({ mkDerivation, array, base, binary, call-stack, comonad , constrained-categories, containers, deepseq, free , free-vector-spaces, ieee754, lens, linear, linearmap-category , manifolds-core, MemoTrie, number-show, placeholders @@ -142780,11 +153056,13 @@ self: { }: mkDerivation { pname = "manifolds"; - version = "0.5.0.1"; - sha256 = "1l2rbf0axlbyvxdd62dhik4pk8n9jf2c6pxl86yi48hhvc3wyx07"; + version = "0.5.0.3"; + sha256 = "16g0xfs99xcccyngknplgmargz4y4ncfw0wjm7sinjcrfd7js9fb"; + revision = "2"; + editedCabalFile = "0l76g7aqjfpp8s9wxdap4lhp3m06hfghz9lgdkr5nfjx60bgy69x"; libraryHaskellDepends = [ - array base call-stack comonad constrained-categories containers - deepseq free free-vector-spaces ieee754 lens linear + array base binary call-stack comonad constrained-categories + containers deepseq free free-vector-spaces ieee754 lens linear linearmap-category manifolds-core MemoTrie number-show placeholders pragmatic-show QuickCheck semigroups spatial-rotations tagged transformers vector vector-space void @@ -142797,18 +153075,18 @@ self: { description = "Coordinate-free hypersurfaces"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "manifolds-core" = callPackage ({ mkDerivation, base, call-stack, tagged, vector-space }: mkDerivation { pname = "manifolds-core"; - version = "0.5.0.1"; - sha256 = "0bq102vfxq47if5nf0az92inzxgbla9by09nggi2nww4gqrd37v3"; + version = "0.5.0.3"; + sha256 = "1r459qjbdqygxplv06bnqrysfl0xvmx5i7jkwgah1blpmipr4nwz"; libraryHaskellDepends = [ base call-stack tagged vector-space ]; description = "The basic classes for the manifolds hierarchy"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "map-classes" = callPackage @@ -142840,6 +153118,38 @@ self: { description = "Extensions to Data.Map"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "map-reduce-folds" = callPackage + ({ mkDerivation, base, containers, criterion, deepseq + , discrimination, foldl, hashable, hashtables, hedgehog, parallel + , profunctors, random, split, streaming, streamly, text + , unordered-containers, vector + }: + mkDerivation { + pname = "map-reduce-folds"; + version = "0.1.0.1"; + sha256 = "0jvgg1wk8qaxd7w3d5y7hr62xswy7xqs7b12jdjwzxm7d6k47lvq"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base containers discrimination foldl hashable hashtables parallel + profunctors split streaming streamly text unordered-containers + vector + ]; + executableHaskellDepends = [ + base containers foldl profunctors text unordered-containers + ]; + testHaskellDepends = [ base containers foldl hedgehog ]; + benchmarkHaskellDepends = [ + base containers criterion deepseq foldl profunctors random text + unordered-containers + ]; + description = "foldl wrappers for map-reduce"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "map-syntax" = callPackage @@ -142859,6 +153169,7 @@ self: { description = "Syntax sugar for defining maps"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mapalgebra" = callPackage @@ -142883,6 +153194,8 @@ self: { ]; description = "Efficient, polymorphic Map Algebra"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mappy" = callPackage @@ -142906,6 +153219,7 @@ self: { description = "A functional programming language focused around maps"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mapquest-api" = callPackage @@ -142955,6 +153269,7 @@ self: { description = "A study of marionetta movements"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "markdown" = callPackage @@ -143001,6 +153316,7 @@ self: { description = "Convert Markdown to HTML, with XSS protection"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "markdown-pap" = callPackage @@ -143013,6 +153329,7 @@ self: { description = "markdown parser with papillon"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "markdown-unlit" = callPackage @@ -143052,6 +153369,7 @@ self: { description = "markdown to svg converter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "marked-pretty" = callPackage @@ -143065,6 +153383,7 @@ self: { description = "Pretty-printing library, with scoping, based on pretty"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "markov" = callPackage @@ -143089,6 +153408,25 @@ self: { license = "GPL"; }) {}; + "markov-chain-usage-model" = callPackage + ({ mkDerivation, base, doctest, matrix, tasty, tasty-discover + , tasty-hunit, vector + }: + mkDerivation { + pname = "markov-chain-usage-model"; + version = "0.0.0"; + sha256 = "14r73bvh6w7qz7rqb97ky2iyf2z2j7y14iy4fcr8mjyxag3mk3jc"; + libraryHaskellDepends = [ base matrix vector ]; + testHaskellDepends = [ + base doctest matrix tasty tasty-discover tasty-hunit vector + ]; + testToolDepends = [ tasty-discover ]; + description = "Computations for Markov chain usage models"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "markov-processes" = callPackage ({ mkDerivation, assertions, base, bifunctors, memoize, MonadRandom , random @@ -143104,6 +153442,21 @@ self: { description = "Hidden Markov processes"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "markov-realization" = callPackage + ({ mkDerivation, base, comonad, HTF, MonadRandom }: + mkDerivation { + pname = "markov-realization"; + version = "0.3.2"; + sha256 = "08zsqpsklffp26ccrqf3kja2x5p8njn9vpy24ysha01f4j9y7has"; + libraryHaskellDepends = [ base comonad MonadRandom ]; + testHaskellDepends = [ base HTF ]; + description = "Realizations of Markov chains"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "markup" = callPackage @@ -143123,6 +153476,7 @@ self: { description = "Abstraction for HTML-embedded content"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "markup-preview" = callPackage @@ -143172,6 +153526,7 @@ self: { description = "Upload packages to Marmalade"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "marquise" = callPackage @@ -143207,6 +153562,7 @@ self: { description = "Client library for Vaultaire"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mars" = callPackage @@ -143223,6 +153579,7 @@ self: { description = "Generates mountainous terrain using a random walk algorithm"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "marvin" = callPackage @@ -143258,6 +153615,7 @@ self: { description = "A framework for modular, portable chat bots"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "marvin-interpolate" = callPackage @@ -143275,6 +153633,7 @@ self: { description = "Compile time string interpolation a la Scala and CoffeeScript"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "marxup" = callPackage @@ -143284,8 +153643,8 @@ self: { }: mkDerivation { pname = "marxup"; - version = "3.1.0.0"; - sha256 = "0bszb1czqm7pvz8m24z06irzfrw4ch8bm8g59apdgvmp8y0yvp91"; + version = "3.1.1.0"; + sha256 = "0b22mf14qajkpf7hlm6086d951g0wgihlyiw93m0nh4yl1kmgf5q"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -143299,6 +153658,7 @@ self: { description = "Markup language preprocessor for Haskell"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "masakazu-bot" = callPackage @@ -143322,27 +153682,32 @@ self: { description = "@minamiyama1994_bot on haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "massiv" = callPackage - ({ mkDerivation, base, bytestring, data-default, data-default-class - , deepseq, ghc-prim, hspec, primitive, QuickCheck, safe-exceptions - , vector + ({ mkDerivation, base, bytestring, Cabal, cabal-doctest + , data-default-class, deepseq, doctest, exceptions + , mersenne-random-pure64, primitive, QuickCheck, random, scheduler + , splitmix, template-haskell, unliftio-core, vector }: mkDerivation { pname = "massiv"; - version = "0.2.7.0"; - sha256 = "080pdghb6yf08addkysdpgdgzf60lc90z580vk2igjfc23w9xwc7"; + version = "0.4.0.0"; + sha256 = "077w18fxgq50h1ylbalf6lbam2rcqp4a3b6qr21ac63514dyvyfz"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ - base bytestring data-default-class deepseq ghc-prim primitive - vector + base bytestring data-default-class deepseq exceptions primitive + scheduler unliftio-core vector ]; testHaskellDepends = [ - base bytestring data-default deepseq hspec QuickCheck - safe-exceptions vector + base doctest mersenne-random-pure64 QuickCheck random splitmix + template-haskell ]; description = "Massiv (Массив) is an Array Library"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "massiv-io" = callPackage @@ -143351,14 +153716,59 @@ self: { }: mkDerivation { pname = "massiv-io"; - version = "0.1.5.0"; - sha256 = "1vgq6rdmnh3v2rgch9k46sw9jfwhfpngxxl4cz0w1pjsjq7sp2fw"; + version = "0.1.6.0"; + sha256 = "0ggl24w7y9bhlf0dh379raiq8fi2gb29whypp3jy37h8m6ldsngn"; libraryHaskellDepends = [ base bytestring data-default deepseq directory filepath JuicyPixels massiv netpbm process vector ]; description = "Import/export of Image files into massiv Arrays"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "massiv-scheduler" = callPackage + ({ mkDerivation, atomic-primops, base, Cabal, cabal-doctest + , deepseq, doctest, exceptions, hspec, QuickCheck, template-haskell + , unliftio, unliftio-core + }: + mkDerivation { + pname = "massiv-scheduler"; + version = "0.1.1.0"; + sha256 = "1i2j1gapkpx4n7x2s3nnsmns55hl4nrk4csgxak05gnj66p938v3"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + atomic-primops base deepseq exceptions unliftio-core + ]; + testHaskellDepends = [ + base deepseq doctest hspec QuickCheck template-haskell unliftio + ]; + description = "Work stealing scheduler for Massiv (Массив) and other parallel applications"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "massiv-test" = callPackage + ({ mkDerivation, base, bytestring, containers, data-default + , data-default-class, deepseq, exceptions, genvalidity-hspec, hspec + , massiv, primitive, QuickCheck, scheduler, unliftio, vector + }: + mkDerivation { + pname = "massiv-test"; + version = "0.1.0"; + sha256 = "08rs0j773c3jxnj6akh8gaywfz2g10w1ddmcqpkci5bqqjmqqf85"; + libraryHaskellDepends = [ + base bytestring data-default-class deepseq exceptions hspec massiv + primitive QuickCheck scheduler unliftio vector + ]; + testHaskellDepends = [ + base bytestring containers data-default deepseq genvalidity-hspec + hspec massiv QuickCheck scheduler vector + ]; + description = "Library that contains generators, properties and tests for Massiv Array Library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "master-plan" = callPackage @@ -143384,6 +153794,7 @@ self: { description = "The project management tool for hackers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mastermind" = callPackage @@ -143423,12 +153834,16 @@ self: { pname = "matchable-th"; version = "0.1.0.0"; sha256 = "1381zpnpzgng7iwx326bjwi1i3300a0aa0hhp1j5wr0mxad8hyr3"; + revision = "1"; + editedCabalFile = "0az3cwf4gy0vhv0zqdvqpvk3j6ckhf1h2946kklvmij7z46x17ql"; libraryHaskellDepends = [ base matchable template-haskell th-abstraction ]; testHaskellDepends = [ base containers matchable ]; description = "Generates Matchable instances using TemplateHaskell"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "matcher" = callPackage @@ -143457,6 +153872,7 @@ self: { description = "Text matchers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) pcre;}; "math-functions" = callPackage @@ -143494,6 +153910,30 @@ self: { testHaskellDepends = [ array base containers hspec random ]; description = "Library containing graph data structures and graph algorithms"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "math-interpolate" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "math-interpolate"; + version = "0.1.0.1"; + sha256 = "0l8jv0zm1mar6848n5jyd6dzy02q0cvkgvgnry9db382i1r4g9bq"; + libraryHaskellDepends = [ base ]; + description = "Class for interpolation of values"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "math-metric" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "math-metric"; + version = "0.1.0.1"; + sha256 = "092qbl1x0l6hcm9vn3nx3gyxnqcfx3z2kkfkqw5zmmmyn9zkjsgx"; + libraryHaskellDepends = [ base ]; + description = "Typeclass for metric spaces"; + license = stdenv.lib.licenses.bsd3; }) {}; "mathblog" = callPackage @@ -143521,6 +153961,7 @@ self: { description = "A program for creating and managing a static weblog with LaTeX math and diagrams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mathexpr" = callPackage @@ -143552,6 +153993,7 @@ self: { description = "Dependently typed tensorflow modeler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mathgenealogy" = callPackage @@ -143571,6 +154013,8 @@ self: { ]; description = "Discover your (academic) ancestors!"; license = stdenv.lib.licenses.gpl2; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mathista" = callPackage @@ -143611,6 +154055,7 @@ self: { description = "Write Mathematica packages in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "matlab" = callPackage @@ -143628,44 +154073,29 @@ self: { "matplotlib" = callPackage ({ mkDerivation, ad, aeson, base, bytestring, containers, deepseq - , filepath, process, random, raw-strings-qq, split, tasty - , tasty-expected-failure, tasty-golden, tasty-hunit, temporary + , directory, filepath, process, random, raw-strings-qq, split + , tasty, tasty-expected-failure, tasty-golden, tasty-hunit + , temporary }: mkDerivation { pname = "matplotlib"; - version = "0.6.0"; - sha256 = "105rqbqpqgnsgqxvzqgp203bp4bckf35z7cncqg7nwypgf10ipvd"; + version = "0.7.4"; + sha256 = "0vpvi0iigmajz3dn0kx5kk9i7ccpbxs1f9fg4qymy3v18zd3wiqg"; libraryHaskellDepends = [ aeson base bytestring containers deepseq filepath process split temporary ]; testHaskellDepends = [ - ad base bytestring process random raw-strings-qq split tasty - tasty-expected-failure tasty-golden tasty-hunit temporary + ad base bytestring directory process random raw-strings-qq split + tasty tasty-expected-failure tasty-golden tasty-hunit temporary ]; description = "Bindings to Matplotlib; a Python plotting library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "matrices" = callPackage - ({ mkDerivation, base, criterion, deepseq, primitive, tasty - , tasty-hunit, tasty-quickcheck, vector - }: - mkDerivation { - pname = "matrices"; - version = "0.4.5"; - sha256 = "15vkkd3jwfdp648lfhskzhnisb1bzqia3asw8fmanpk71l9nyf9d"; - libraryHaskellDepends = [ base deepseq primitive vector ]; - testHaskellDepends = [ - base tasty tasty-hunit tasty-quickcheck vector - ]; - benchmarkHaskellDepends = [ base criterion vector ]; - description = "native matrix based on vector"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "matrices_0_5_0" = callPackage ({ mkDerivation, base, criterion, deepseq, primitive, tasty , tasty-hunit, tasty-quickcheck, vector }: @@ -143680,7 +154110,6 @@ self: { benchmarkHaskellDepends = [ base criterion vector ]; description = "native matrix based on vector"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "matrix" = callPackage @@ -143716,6 +154145,7 @@ self: { description = "Read and Display representation of matrix like \"x,y,z\""; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "matrix-market" = callPackage @@ -143797,6 +154227,7 @@ self: { description = "ncurses XMPP client"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "matterhorn" = callPackage @@ -143814,8 +154245,8 @@ self: { }: mkDerivation { pname = "matterhorn"; - version = "50200.1.1"; - sha256 = "1s022iyid3msyvpimd88bs7684nvlxmalhwsp7bjxv4mlx3fz0zp"; + version = "50200.4.0"; + sha256 = "0b4y48z3hn55y8q61l8zp7x8pf0fyps4inv1s52y1yg7b2rpyfzb"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -143840,26 +154271,27 @@ self: { description = "Terminal client for the Mattermost chat system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mattermost-api" = callPackage ({ mkDerivation, aeson, base, binary, bytestring, connection - , containers, gitrev, hashable, HTTP, HUnit, memory, microlens - , microlens-th, mtl, network-uri, pretty-show, process - , resource-pool, stm, tasty, tasty-hunit, template-haskell, text - , time, unordered-containers, websockets + , containers, gitrev, hashable, HTTP, http-media, HUnit, memory + , microlens, microlens-th, mtl, network-uri, pretty-show, process + , resource-pool, split, stm, tasty, tasty-hunit, template-haskell + , text, time, unordered-containers, websockets }: mkDerivation { pname = "mattermost-api"; - version = "50200.1.0"; - sha256 = "1adqh3s34zw74x4idjy1ln8qq9qlqq146kb9b4gd2lijrr8zrjn7"; + version = "50200.2.0"; + sha256 = "1c0d2djv3a374k9avbg95sm2f22bhz8ssafw76dnphkk7yasr8h6"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson base binary bytestring connection containers gitrev hashable - HTTP memory microlens microlens-th network-uri pretty-show process - resource-pool stm template-haskell text time unordered-containers - websockets + HTTP http-media memory microlens microlens-th network-uri + pretty-show process resource-pool split stm template-haskell text + time unordered-containers websockets ]; testHaskellDepends = [ aeson base containers HUnit mtl pretty-show stm tasty tasty-hunit @@ -143875,8 +154307,8 @@ self: { }: mkDerivation { pname = "mattermost-api-qc"; - version = "50200.1.0"; - sha256 = "1rlzq0dqpqqnwzz1sknf8zfnsbqpz1w51ik9k4hi8qydkpbf3sdz"; + version = "50200.2.0"; + sha256 = "0wryvjx9s5p1gvvkp1kzdfgrvwrmfpy81caqc85p6mwnr18ybrbq"; libraryHaskellDepends = [ base containers mattermost-api QuickCheck text time ]; @@ -143898,6 +154330,7 @@ self: { description = "An interface to the Maude rewriting system"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "maxent" = callPackage @@ -143920,6 +154353,7 @@ self: { description = "Compute Maximum Entropy Distributions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "maxent-learner-hw" = callPackage @@ -143944,6 +154378,7 @@ self: { description = "Hayes and Wilson's maxent learning algorithm for phonotactic grammars"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "maxent-learner-hw-gui" = callPackage @@ -143966,6 +154401,7 @@ self: { description = "GUI for maxent-learner-hw"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "maximal-cliques" = callPackage @@ -143999,6 +154435,7 @@ self: { description = "Maximal sharing of terms in the lambda calculus with letrec"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "maybe-justify" = callPackage @@ -144030,6 +154467,7 @@ self: { description = "Automated benchmarking tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mbox" = callPackage @@ -144062,20 +154500,21 @@ self: { description = "A collection of tools to process mbox files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mbox-utility" = callPackage - ({ mkDerivation, base, bytestring, hsemail, non-empty, old-time - , parsec, spreadsheet, utility-ht + ({ mkDerivation, base, bytestring, hsemail, non-empty, parsec + , spreadsheet, time, utility-ht }: mkDerivation { pname = "mbox-utility"; - version = "0.0.1"; - sha256 = "1y792np4i24jlyxfsm4dw3m1bvij5wxj77dkqj2hvclm7kw0kq75"; + version = "0.0.3.1"; + sha256 = "0vh9ibh4g3fssq9jfzrmaa56sk4k35r27lmz2xq4fhc62fmkia92"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ - base bytestring hsemail non-empty old-time parsec spreadsheet + base bytestring hsemail non-empty parsec spreadsheet time utility-ht ]; description = "List contents of an mbox file containing e-mails"; @@ -144123,6 +154562,8 @@ self: { ]; description = "download bugs mailboxes"; license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mcl" = callPackage @@ -144150,6 +154591,7 @@ self: { description = "Bindings to mcl, a generic and fast pairing-based cryptography library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) gmpxx; mcl = null; inherit (pkgs) openssl;}; "mcm" = callPackage @@ -144170,6 +154612,7 @@ self: { description = "Machine Configuration Manager"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mcmaster-gloss-examples" = callPackage @@ -144183,6 +154626,7 @@ self: { executableHaskellDepends = [ base gloss ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mcmc-samplers" = callPackage @@ -144199,6 +154643,7 @@ self: { description = "Combinators for MCMC sampling"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mcmc-synthesis" = callPackage @@ -144211,6 +154656,7 @@ self: { description = "MCMC applied to probabilistic program synthesis"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mcmc-types" = callPackage @@ -144239,6 +154685,7 @@ self: { description = "Connect to MineCraft running on a Raspberry PI"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mdapi" = callPackage @@ -144258,6 +154705,7 @@ self: { description = "Haskell interface to Fedora's mdapi"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mdcat" = callPackage @@ -144278,6 +154726,7 @@ self: { description = "Markdown viewer in your terminal"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mdo" = callPackage @@ -144308,6 +154757,7 @@ self: { description = "Tools for solving Markov Decision Processes"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mealstrom" = callPackage @@ -144330,6 +154780,7 @@ self: { description = "Manipulate FSMs and store them in PostgreSQL"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "means" = callPackage @@ -144354,6 +154805,7 @@ self: { description = "A Haskell binding to MeCab"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) mecab;}; "mech" = callPackage @@ -144366,6 +154818,7 @@ self: { description = "mecha are the most complex composite machines known to humanity, lets build them well!"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mecha" = callPackage @@ -144391,6 +154844,7 @@ self: { description = "mecha are the most complex composite machines known to humanity, lets build them well!"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "med-module" = callPackage @@ -144399,8 +154853,8 @@ self: { }: mkDerivation { pname = "med-module"; - version = "0.1.1"; - sha256 = "1qzffgcg29gjc6j0dl9ablgzad3lry28n9kv55kp5lgqm3xp92gp"; + version = "0.1.2.1"; + sha256 = "0f1yjdix89g6z2kigj08iq88jmi0x59la7764ixfha5sbjnwz0pp"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -144409,6 +154863,7 @@ self: { description = "Parse song module files from Amiga MED and OctaMED"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mediabus" = callPackage @@ -144440,6 +154895,7 @@ self: { description = "Multimedia streaming on top of Conduit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mediabus-fdk-aac" = callPackage @@ -144468,6 +154924,7 @@ self: { description = "Mediabus plugin for the Frauenhofer ISO-14496-3 AAC FDK"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {fdk-aac = null;}; "mediabus-rtp" = callPackage @@ -144506,6 +154963,7 @@ self: { description = "Receive and Send RTP Packets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "median-stream" = callPackage @@ -144518,7 +154976,6 @@ self: { testHaskellDepends = [ base QuickCheck ]; description = "Constant-time queries for the median of a stream of numeric data"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "mediawiki" = callPackage @@ -144538,6 +154995,7 @@ self: { description = "Interfacing with the MediaWiki API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mediawiki2latex" = callPackage @@ -144566,6 +155024,7 @@ self: { description = "Convert MediaWiki text to LaTeX"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "medium-sdk-haskell" = callPackage @@ -144583,6 +155042,7 @@ self: { description = "Haskell SDK for communicating with the Medium API"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "meep" = callPackage @@ -144606,70 +155066,38 @@ self: { }) {}; "mega-sdist" = callPackage - ({ mkDerivation, base, bytestring, conduit, conduit-extra - , http-conduit, optparse-simple, rio, rio-orphans, tar-conduit - , yaml + ({ mkDerivation, base, bytestring, optparse-simple, pantry, path + , path-io, rio, rio-orphans, yaml }: mkDerivation { pname = "mega-sdist"; - version = "0.3.3.2"; - sha256 = "0jhlaww753spj5k2mrzrizcb408265wglc7gycdicnashsxc7qd4"; + version = "0.4.0.1"; + sha256 = "191saxmdh3705rhci7lz7qzcdzv2zvw9bwa7f5d62500azi13j8v"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ - base bytestring conduit conduit-extra http-conduit optparse-simple - rio rio-orphans tar-conduit yaml + base bytestring optparse-simple pantry path path-io rio rio-orphans + yaml ]; description = "Handles uploading to Hackage from mega repos"; license = stdenv.lib.licenses.mit; - }) {}; - - "megaparsec_6_5_0" = callPackage - ({ mkDerivation, base, bytestring, case-insensitive, containers - , criterion, deepseq, hspec, hspec-discover, hspec-expectations - , mtl, parser-combinators, QuickCheck, scientific, text - , transformers, weigh - }: - mkDerivation { - pname = "megaparsec"; - version = "6.5.0"; - sha256 = "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"; - revision = "4"; - editedCabalFile = "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1"; - libraryHaskellDepends = [ - base bytestring case-insensitive containers deepseq mtl - parser-combinators scientific text transformers - ]; - testHaskellDepends = [ - base bytestring containers hspec hspec-expectations mtl QuickCheck - scientific text transformers - ]; - testToolDepends = [ hspec-discover ]; - benchmarkHaskellDepends = [ base criterion deepseq text weigh ]; - description = "Monadic parser combinators"; - license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "megaparsec" = callPackage ({ mkDerivation, base, bytestring, case-insensitive, containers - , criterion, deepseq, hspec, hspec-expectations, mtl - , parser-combinators, QuickCheck, scientific, text, transformers - , weigh + , criterion, deepseq, mtl, parser-combinators, scientific, text + , transformers, weigh }: mkDerivation { pname = "megaparsec"; - version = "7.0.4"; - sha256 = "1hg83m85f4v78mqdkznd1ddk9y32hnrv0bgva7ir3vydx37aanrj"; + version = "7.0.5"; + sha256 = "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"; libraryHaskellDepends = [ base bytestring case-insensitive containers deepseq mtl parser-combinators scientific text transformers ]; - testHaskellDepends = [ - base bytestring case-insensitive containers hspec - hspec-expectations mtl parser-combinators QuickCheck scientific - text transformers - ]; benchmarkHaskellDepends = [ base containers criterion deepseq text weigh ]; @@ -144677,6 +155105,32 @@ self: { license = stdenv.lib.licenses.bsd2; }) {}; + "megaparsec-tests" = callPackage + ({ mkDerivation, base, bytestring, case-insensitive, containers + , hspec, hspec-discover, hspec-expectations, hspec-megaparsec + , megaparsec, mtl, parser-combinators, QuickCheck, scientific, text + , transformers + }: + mkDerivation { + pname = "megaparsec-tests"; + version = "7.0.5"; + sha256 = "11kwf122bq38qvkpvhb1pkqzbv7yk9wi7klmg9yvls29x66shiyq"; + revision = "1"; + editedCabalFile = "1mayv955ipg94hbsix3dvpp1c2aay860h9zpg38qjmfiaks4zpjj"; + libraryHaskellDepends = [ + base bytestring containers hspec hspec-expectations + hspec-megaparsec megaparsec mtl QuickCheck text transformers + ]; + testHaskellDepends = [ + base bytestring case-insensitive containers hspec + hspec-expectations hspec-megaparsec megaparsec mtl + parser-combinators QuickCheck scientific text transformers + ]; + testToolDepends = [ hspec-discover ]; + description = "Test utilities and the test suite of Megaparsec"; + license = stdenv.lib.licenses.bsd2; + }) {}; + "meldable-heap" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -144709,6 +155163,7 @@ self: { description = "Control physical access devices"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mellon-gpio" = callPackage @@ -144721,6 +155176,7 @@ self: { description = "GPIO support for mellon"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mellon-web" = callPackage @@ -144763,6 +155219,7 @@ self: { description = "A REST web service for Mellon controllers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "melody" = callPackage @@ -144785,6 +155242,37 @@ self: { description = "A functional scripting language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "membership" = callPackage + ({ mkDerivation, base, constraints, deepseq, hashable + , prettyprinter, template-haskell, th-lift + }: + mkDerivation { + pname = "membership"; + version = "0"; + sha256 = "0hdy0yv64gcwja2kr6akfms21jgq6lqhzbxap603nhiwvf7n8ayv"; + libraryHaskellDepends = [ + base constraints deepseq hashable prettyprinter template-haskell + th-lift + ]; + description = "Indices for type level lists"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "membrain" = callPackage + ({ mkDerivation, base, doctest, Glob, hedgehog, hspec, type-spec }: + mkDerivation { + pname = "membrain"; + version = "0.0.0.0"; + sha256 = "01wv5i3kgbpmwjnjk5xgkpm3j5wazlz1f05kmm523wf34xivp498"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ + base doctest Glob hedgehog hspec type-spec + ]; + description = "Type-safe memory units"; + license = stdenv.lib.licenses.mpl20; }) {}; "memcache" = callPackage @@ -144826,6 +155314,7 @@ self: { description = "Conduit library for memcache procotol"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "memcache-haskell" = callPackage @@ -144849,6 +155338,7 @@ self: { description = "Memcache procotol library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "memcached" = callPackage @@ -144884,6 +155374,23 @@ self: { description = "memcached client using binary protocol"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "memdb" = callPackage + ({ mkDerivation, base, bytestring, cereal, hspec, QuickCheck + , vector + }: + mkDerivation { + pname = "memdb"; + version = "1.0.0.3"; + sha256 = "082i381qyba51zkv4fqkn3mdhmya39pz8pw69m02c3hnp5vr4n4c"; + libraryHaskellDepends = [ base bytestring cereal vector ]; + testHaskellDepends = [ + base bytestring cereal hspec QuickCheck vector + ]; + description = "Efficient in memory indexed database"; + license = stdenv.lib.licenses.mit; }) {}; "memexml" = callPackage @@ -144907,6 +155414,7 @@ self: { description = "Library for reading `/proc/meminfo`"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "memis" = callPackage @@ -144933,6 +155441,7 @@ self: { description = "Memis Efficient Manual Image Sorting"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "memo-ptr" = callPackage @@ -144945,6 +155454,7 @@ self: { description = "Pointer equality memoization"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "memo-sqlite" = callPackage @@ -144973,6 +155483,7 @@ self: { description = "Utilities for memoizing functions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "memoize" = callPackage @@ -144995,8 +155506,8 @@ self: { }: mkDerivation { pname = "memorable-bits"; - version = "0.1.0.0"; - sha256 = "0jxx1i0x4lh16027cqbg3qha2acpjw8bc37ifjfjr8y12wgmkhvs"; + version = "0.1.0.1"; + sha256 = "13czmdwg3006xwpac1sngyy8qm5qcm6jbfglqbyy9w85i7qacpf9"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -145013,7 +155524,6 @@ self: { benchmarkHaskellDepends = [ base bytestring criterion random ]; description = "Generate human memorable strings from binary data"; license = stdenv.lib.licenses.bsd2; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "memory" = callPackage @@ -145048,6 +155558,7 @@ self: { description = "basic memory pool outside of haskell heap/GC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "memscript" = callPackage @@ -145090,6 +155601,7 @@ self: { description = "Haskell binding for Menoh DNN inference library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {menoh = null;}; "menshen" = callPackage @@ -145098,8 +155610,8 @@ self: { }: mkDerivation { pname = "menshen"; - version = "0.0.1"; - sha256 = "1i4h5s3d57466hzyp7mag1z7dbp306qm2sf4k3a0frpsz2n2ijsw"; + version = "0.0.3"; + sha256 = "0zx530ksb0zmczbl6k70xg6pxgr2wfga2pg0ghgmpgd9f307xrwb"; libraryHaskellDepends = [ base regex-tdfa scientific text ]; testHaskellDepends = [ aeson base hspec QuickCheck regex-tdfa scientific text @@ -145116,8 +155628,8 @@ self: { pname = "mercury-api"; version = "0.1.0.2"; sha256 = "0ybpc1kai85rflgdr80jd8cvwxaxmbphv82nz2p17502jrmdfkhg"; - revision = "1"; - editedCabalFile = "00qvar25y8fkr5vgavjkpy24nck8njy92fiq9fxfzl0yk2c1dr0g"; + revision = "3"; + editedCabalFile = "0v0fag8y821nr825cn9bqpmrr55zr6dqiqg5q1rfvifflmq73d37"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -145132,7 +155644,6 @@ self: { ]; description = "Haskell binding to Mercury API for ThingMagic RFID readers"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "merge-bash-history" = callPackage @@ -145169,6 +155680,29 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "merkle-log" = callPackage + ({ mkDerivation, base, bytestring, cereal, criterion, cryptonite + , deepseq, exceptions, hash-tree, memory, merkle-tree, mwc-random + , QuickCheck, random, random-bytestring, text + }: + mkDerivation { + pname = "merkle-log"; + version = "0.1.0.0"; + sha256 = "07q0ifgwq8agwm62k1k83sdrln4zbj6ln90nw9p9g3pgxnp3inia"; + libraryHaskellDepends = [ + base bytestring cryptonite deepseq exceptions memory text + ]; + testHaskellDepends = [ + base bytestring cryptonite deepseq exceptions memory QuickCheck + ]; + benchmarkHaskellDepends = [ + base bytestring cereal criterion cryptonite deepseq hash-tree + memory merkle-tree mwc-random QuickCheck random random-bytestring + ]; + description = "Merkle Tree Logs"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "merkle-patricia-db" = callPackage ({ mkDerivation, aeson, ansi-wl-pprint, base, base16-bytestring , binary, bytestring, containers, cryptonite, data-default @@ -145194,6 +155728,7 @@ self: { description = "A modified Merkle Patricia DB"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "merkle-tree" = callPackage @@ -145259,7 +155794,6 @@ self: { ]; description = "Serialize instance for Message Pack Object"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "messagepack-rpc" = callPackage @@ -145278,6 +155812,7 @@ self: { description = "Message Pack RPC over TCP"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "messente" = callPackage @@ -145292,6 +155827,7 @@ self: { description = "Messente SMS Gateway"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "meta-misc" = callPackage @@ -145304,6 +155840,7 @@ self: { description = "Utility library providing miscellaneous meta-programming utilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "meta-par" = callPackage @@ -145321,6 +155858,7 @@ self: { description = "Provides the monad-par interface, but based on modular scheduler \"mix-ins\""; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "meta-par-accelerate" = callPackage @@ -145339,6 +155877,7 @@ self: { description = "Support for integrated Accelerate computations within Meta-par"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "metadata" = callPackage @@ -145351,6 +155890,7 @@ self: { description = "metadata library for semantic web"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "metamorphic" = callPackage @@ -145375,23 +155915,25 @@ self: { description = "a tiny ghc api wrapper"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "metar" = callPackage - ({ mkDerivation, base, checkers, deriving-compat, HTTP, lens - , network-uri, QuickCheck, semigroupoids, semigroups, tagsoup - , tagsoup-selection, tasty, tasty-hunit, tasty-quickcheck - , transformers + ({ mkDerivation, base, bytestring, checkers, deriving-compat, HTTP + , http-client, lens, network-uri, QuickCheck, semigroupoids + , semigroups, tagsoup, tagsoup-selection, tasty, tasty-hunit + , tasty-quickcheck, transformers, wreq }: mkDerivation { pname = "metar"; - version = "0.0.2"; - sha256 = "1iaqjzy1a7hkvcni6ijkwwcsb433j3gkx9f7z8ng1yhlbcr9a556"; + version = "0.0.3"; + sha256 = "15irfjx9knfy977b0ka2hiwl6gh7cl3x39by4zkbc0njnqk68vvh"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base deriving-compat HTTP lens network-uri semigroupoids semigroups - tagsoup tagsoup-selection transformers + base bytestring deriving-compat HTTP http-client lens network-uri + semigroupoids semigroups tagsoup tagsoup-selection transformers + wreq ]; executableHaskellDepends = [ base ]; testHaskellDepends = [ @@ -145400,6 +155942,7 @@ self: { description = "Australian METAR"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "metar-http" = callPackage @@ -145425,6 +155968,7 @@ self: { description = "HTTP for METAR"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "metric" = callPackage @@ -145444,6 +155988,7 @@ self: { description = "Metric spaces"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "metrics" = callPackage @@ -145478,6 +156023,7 @@ self: { description = "Client for the metrics aggregator Metricsd"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "metronome" = callPackage @@ -145492,6 +156038,7 @@ self: { description = "Time Synchronized execution"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mezzo" = callPackage @@ -145513,6 +156060,7 @@ self: { description = "Typesafe music composition"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mezzolens" = callPackage @@ -145525,6 +156073,7 @@ self: { description = "Pure Profunctor Functional Lenses"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mfsolve" = callPackage @@ -145555,6 +156104,7 @@ self: { description = "Generics with multiple parameters"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mi" = callPackage @@ -145571,6 +156121,7 @@ self: { description = "Multiple Instance for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "miconix-test" = callPackage @@ -145587,6 +156138,7 @@ self: { description = "spam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "micro-recursion-schemes" = callPackage @@ -145597,12 +156149,15 @@ self: { pname = "micro-recursion-schemes"; version = "5.0.2.2"; sha256 = "17jybjra4s1hapjz6i8bwlv8y6rm70g72vl7cd2y7xrq4vrd3p9v"; + revision = "1"; + editedCabalFile = "0zdyg5w4fhdps5cirp21wpd6056v09381lmdf9mizfxilhx4wziy"; libraryHaskellDepends = [ base template-haskell th-abstraction ]; libraryToolDepends = [ cpphs ]; testHaskellDepends = [ base HUnit template-haskell ]; description = "Simple recursion schemes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "microaeson" = callPackage @@ -145627,6 +156182,7 @@ self: { description = "A tiny JSON library with light dependency footprint"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "microbench" = callPackage @@ -145689,7 +156245,6 @@ self: { ]; description = "A Microformats 2 parser"; license = stdenv.lib.licenses.publicDomain; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "microformats2-types" = callPackage @@ -145706,6 +156261,7 @@ self: { description = "Microformats 2 types (with Aeson instances)"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "microgroove" = callPackage @@ -145718,6 +156274,7 @@ self: { description = "Array-backed extensible records"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "microlens" = callPackage @@ -145731,6 +156288,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "microlens_0_4_11_2" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "microlens"; + version = "0.4.11.2"; + sha256 = "1z6zdprpr193a56r5s67q75554rrqyp2kk6srxn1gif7fd54sj2f"; + libraryHaskellDepends = [ base ]; + description = "A tiny lens library with no dependencies"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "microlens-aeson" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring, deepseq , hashable, microlens, scientific, tasty, tasty-hunit, text @@ -145738,10 +156307,8 @@ self: { }: mkDerivation { pname = "microlens-aeson"; - version = "2.3.0.1"; - sha256 = "1ncb0dhhr62yw8808c1h43cl48ib6clifklcrfx7acj5j482ikcs"; - revision = "1"; - editedCabalFile = "18490w9yvsn8rx18wb29bg1wj5vxa7il3gsi3cz2myx9iawhnnxq"; + version = "2.3.0.4"; + sha256 = "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"; libraryHaskellDepends = [ aeson attoparsec base bytestring deepseq hashable microlens scientific text unordered-containers vector @@ -145775,6 +156342,7 @@ self: { description = "'each' for microlens"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "microlens-ghc" = callPackage @@ -145792,6 +156360,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "microlens-ghc_0_4_11_1" = callPackage + ({ mkDerivation, array, base, bytestring, containers, microlens + , transformers + }: + mkDerivation { + pname = "microlens-ghc"; + version = "0.4.11.1"; + sha256 = "19h3rgh3xhp7zgnhpqhpihca05s69mimzkx0sh30lg96p99wx69r"; + libraryHaskellDepends = [ + array base bytestring containers microlens transformers + ]; + description = "microlens + array, bytestring, containers, transformers"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "microlens-mtl" = callPackage ({ mkDerivation, base, microlens, mtl, transformers , transformers-compat @@ -145807,6 +156391,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "microlens-mtl_0_2_0_1" = callPackage + ({ mkDerivation, base, microlens, mtl, transformers + , transformers-compat + }: + mkDerivation { + pname = "microlens-mtl"; + version = "0.2.0.1"; + sha256 = "0ijy7xyd5lbc3calhcrhy8czkf3fjcxrv68p7kd2a5b352rfi7fp"; + libraryHaskellDepends = [ + base microlens mtl transformers transformers-compat + ]; + description = "microlens support for Reader/Writer/State from mtl"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "microlens-platform" = callPackage ({ mkDerivation, base, hashable, microlens, microlens-ghc , microlens-mtl, microlens-th, text, unordered-containers, vector @@ -145815,6 +156415,8 @@ self: { pname = "microlens-platform"; version = "0.3.11"; sha256 = "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"; + revision = "1"; + editedCabalFile = "14v7ffibzsa1fhf4pwvpw9ia67kgmk8wmxwibj7vr9rayrxy1ffv"; libraryHaskellDepends = [ base hashable microlens microlens-ghc microlens-mtl microlens-th text unordered-containers vector @@ -145823,6 +156425,40 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "microlens-platform_0_4_0" = callPackage + ({ mkDerivation, base, hashable, microlens, microlens-ghc + , microlens-mtl, microlens-th, text, unordered-containers, vector + }: + mkDerivation { + pname = "microlens-platform"; + version = "0.4.0"; + sha256 = "0q90qsrcr6pa0nvzk46573ykxrf21lr4xm0jp5sp5pd30kx21fmx"; + libraryHaskellDepends = [ + base hashable microlens microlens-ghc microlens-mtl microlens-th + text unordered-containers vector + ]; + description = "microlens + all batteries included (best for apps)"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "microlens-process" = callPackage + ({ mkDerivation, base, Cabal, cabal-doctest, doctest, filepath + , microlens, process + }: + mkDerivation { + pname = "microlens-process"; + version = "0.2.0.0"; + sha256 = "05bkm3nhiv2mprds9xlmmnzll91hn76navb9h9kc9nl5rnq4nwrn"; + revision = "4"; + editedCabalFile = "00dhcr2czcx986a4lijmlbrxk2wm059mmbh63qs48wb6z4rrsg7y"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ base filepath microlens process ]; + testHaskellDepends = [ base doctest microlens process ]; + description = "Micro-optics for the process library"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "microlens-th" = callPackage ({ mkDerivation, base, containers, microlens, template-haskell , th-abstraction, transformers @@ -145831,6 +156467,8 @@ self: { pname = "microlens-th"; version = "0.4.2.3"; sha256 = "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"; + revision = "1"; + editedCabalFile = "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6"; libraryHaskellDepends = [ base containers microlens template-haskell th-abstraction transformers @@ -145840,6 +156478,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "microlens-th_0_4_3_2" = callPackage + ({ mkDerivation, base, containers, microlens, template-haskell + , th-abstraction, transformers + }: + mkDerivation { + pname = "microlens-th"; + version = "0.4.3.2"; + sha256 = "0wz27ir4fs4231a20iiy2ghnyyg4qd75h45k6602017pww1hv44x"; + libraryHaskellDepends = [ + base containers microlens template-haskell th-abstraction + transformers + ]; + testHaskellDepends = [ base microlens ]; + description = "Automatic generation of record lenses for microlens"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "micrologger" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, hspec, lens , text, text-format, time, transformers @@ -145856,6 +156512,7 @@ self: { description = "A super simple logging module"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "microsoft-translator" = callPackage @@ -145874,6 +156531,7 @@ self: { description = "Bindings to the Microsoft Translator API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "microspec" = callPackage @@ -145896,8 +156554,8 @@ self: { pname = "microstache"; version = "1.0.1.1"; sha256 = "0851sqr1ppdj6m822635pa3j6qzdf25gyrhkjs25zdry6518bsax"; - revision = "3"; - editedCabalFile = "1pq0h64vxc7zlncn2ld6k02wi6rfa5ccqc4z0hfkvaldj41y2sb1"; + revision = "4"; + editedCabalFile = "0rkc0zmwi2vx47l4ssjkxlyd54fxz0w3xrgdhn7baf66gr90nrc7"; libraryHaskellDepends = [ aeson base bytestring containers deepseq directory filepath parsec text transformers unordered-containers vector @@ -145950,6 +156608,7 @@ self: { description = "Language for algorithmic generation of MIDI files"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "midair" = callPackage @@ -145996,27 +156655,26 @@ self: { ]; description = "Convert between datatypes of the midi and the alsa packages"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {}; "midi-music-box" = callPackage ({ mkDerivation, base, containers, diagrams-lib - , diagrams-postscript, event-list, midi, non-empty - , optparse-applicative, utility-ht + , diagrams-postscript, event-list, midi, optparse-applicative + , utility-ht }: mkDerivation { pname = "midi-music-box"; - version = "0.0.0.5"; - sha256 = "1zgskam31akqi58wvjxqfgag937fczskyvzanivvxd7p6gvj5l0g"; + version = "0.0.1.1"; + sha256 = "15i28iw6ssl7f8iivqyxgd8rg3vg76hspsyv347195d74xb5s7zb"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ base containers diagrams-lib diagrams-postscript event-list midi - non-empty optparse-applicative utility-ht + optparse-applicative utility-ht ]; description = "Convert MIDI file to music box punch tape"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "midi-simple" = callPackage @@ -146038,6 +156696,8 @@ self: { benchmarkHaskellDepends = [ base bytestring criterion ]; description = "A simple and fast library for working with MIDI messages"; license = stdenv.lib.licenses.lgpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "midi-util" = callPackage @@ -146045,10 +156705,8 @@ self: { }: mkDerivation { pname = "midi-util"; - version = "0.2.0.1"; - sha256 = "0s37csd1x039q0cb487pd811jz7h0i26chvvbmwffh11bc2icjzc"; - revision = "1"; - editedCabalFile = "0a3hasbhvd327m65yqqyjah7y8r48l65bqg1ymcrc0s2zff10gl5"; + version = "0.2.1"; + sha256 = "0ajmjwxa2g5fjgb9zhil63mszsalmg4fqdv62zabf774z8k1x1ry"; libraryHaskellDepends = [ base containers event-list midi non-negative ]; @@ -146071,6 +156729,7 @@ self: { description = "Utilities for working with MIDI data"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "midimory" = callPackage @@ -146091,6 +156750,7 @@ self: { description = "A Memory-like (Concentration, Pairs, ...) game for tones"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "midisurface" = callPackage @@ -146109,6 +156769,7 @@ self: { description = "A control midi surface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mighttpd" = callPackage @@ -146130,27 +156791,28 @@ self: { description = "Simple Web Server in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mighttpd2" = callPackage ({ mkDerivation, array, async, auto-update, base, byteorder , bytestring, case-insensitive, conduit, conduit-extra, directory - , filepath, hspec, http-client, http-date, http-types, io-choice - , network, old-locale, parsec, resourcet, streaming-commons, time + , filepath, hspec, http-client, http-date, http-types, network + , old-locale, parsec, resourcet, streaming-commons, time , transformers, unix, unix-time, unordered-containers, wai , wai-app-file-cgi, wai-http2-extra, wai-logger, warp }: mkDerivation { pname = "mighttpd2"; - version = "3.4.3"; - sha256 = "0afa25kaagdznfg1kbm5hbmlfk75p7rws0x9fjb505wrr12jipbh"; + version = "3.4.6"; + sha256 = "0wg4cbgpsr997ag1vba0cpqq151l5fnhq0w63icq2lp4l172c57y"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ array async auto-update base byteorder bytestring case-insensitive conduit conduit-extra directory filepath http-date http-types - io-choice network parsec resourcet streaming-commons unix unix-time + network parsec resourcet streaming-commons unix unix-time unordered-containers wai wai-app-file-cgi warp ]; executableHaskellDepends = [ @@ -146162,6 +156824,8 @@ self: { testHaskellDepends = [ base hspec http-client ]; description = "High performance web server on WAI/warp"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mighty-metropolis" = callPackage @@ -146180,6 +156844,7 @@ self: { description = "The Metropolis algorithm"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mikmod" = callPackage @@ -146194,6 +156859,7 @@ self: { description = "MikMod bindings"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mikrokosmos" = callPackage @@ -146220,6 +156886,7 @@ self: { description = "Lambda calculus interpreter"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "miku" = callPackage @@ -146237,6 +156904,7 @@ self: { description = "A minimum web dev DSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "milena" = callPackage @@ -146260,7 +156928,6 @@ self: { ]; description = "A Kafka client for Haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "mime" = callPackage @@ -146269,6 +156936,8 @@ self: { pname = "mime"; version = "0.4.0.2"; sha256 = "0x9qx8adradc5irfwfn4xs4j9pd228j1b3lpngap2qxabhz2iyp7"; + revision = "1"; + editedCabalFile = "07r4kyjm2bk8knyhbfivgxlxnxp7qqlcnzp61f2hi7d1s7clg290"; libraryHaskellDepends = [ base text ]; description = "Working with MIME types"; license = stdenv.lib.licenses.bsd3; @@ -146288,6 +156957,7 @@ self: { description = "A library for parsing/printing the text/directory mime type"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mime-mail" = callPackage @@ -146296,10 +156966,8 @@ self: { }: mkDerivation { pname = "mime-mail"; - version = "0.4.14"; - sha256 = "0gmapbjci8nclwm8syg5xfci4nj8cpchb9ry1b7gwhcp9kaw6cln"; - revision = "1"; - editedCabalFile = "14zadyz63gjpf58h6v36w3jwwpxpg86czw19r4211wprqfclvr92"; + version = "0.5.0"; + sha256 = "0vs302vbdf8y58nxky0m2w7cbqs4laljk969sfnbxl8zq7k3ic0h"; libraryHaskellDepends = [ base base64-bytestring blaze-builder bytestring filepath process random text @@ -146356,6 +157024,36 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "min-max-pqueue" = callPackage + ({ mkDerivation, base, containers, criterion, hedgehog + , integer-logarithms, random + }: + mkDerivation { + pname = "min-max-pqueue"; + version = "0.1.0.0"; + sha256 = "142cfiybs6slzrdhc0k91rr5xxzi07saxcr834iic304cpbzcdrv"; + libraryHaskellDepends = [ base containers ]; + testHaskellDepends = [ base containers hedgehog ]; + benchmarkHaskellDepends = [ + base containers criterion integer-logarithms random + ]; + description = "Double-ended priority queues"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "minecraft" = callPackage + ({ mkDerivation }: + mkDerivation { + pname = "minecraft"; + version = "0.0.0.0"; + sha256 = "07h6hgq4k1wm4ldwb29fgmmbl9ygrlbq3qv3ymfvc25l5rvgss4h"; + doHaddock = false; + description = "TBA"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "minecraft-data" = callPackage ({ mkDerivation, array, base, bytestring, cereal, containers, lens , mtl, nbt, pipes, pipes-bytestring, pipes-cereal, pipes-parse @@ -146363,8 +157061,8 @@ self: { }: mkDerivation { pname = "minecraft-data"; - version = "0.1.0.0"; - sha256 = "1p0lci3b3lwcd6j13bvsscz7ar5vskvhkpj8gy4fp8d1pak2adwr"; + version = "0.1.0.1"; + sha256 = "02ispnzvxjazjy76bqpils6jmy37l4v61l1wcklvvsvkb72yc39n"; libraryHaskellDepends = [ array base bytestring cereal containers lens mtl nbt pipes pipes-bytestring pipes-cereal pipes-parse pipes-zlib text text-show @@ -146373,6 +157071,7 @@ self: { description = "a DSL for generating minecraft commands and levels"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mines" = callPackage @@ -146408,6 +157107,7 @@ self: { description = "Minesweeper game which is always solvable without guessing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "miniball" = callPackage @@ -146441,6 +157141,7 @@ self: { description = "Miniature FORTH-like interpreter"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "minilens" = callPackage @@ -146457,6 +157158,40 @@ self: { description = "A minimalistic lens library, providing only the simplest, most basic lens functionality"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "minilight" = callPackage + ({ mkDerivation, aeson, aeson-diff, base, caster, containers + , exceptions, FontyFruity, fsnotify, hashable, hashtables, lens + , linear, microlens, mtl, mwc-random, scientific, sdl2, sdl2-gfx + , sdl2-image, sdl2-ttf, tasty, tasty-discover, tasty-hspec + , template-haskell, text, transformers, trifecta + , unordered-containers, uuid, vector, yaml + }: + mkDerivation { + pname = "minilight"; + version = "0.4.0"; + sha256 = "1ishxvijigfjfvrqiibbds2l7bb5vp51lsy933q4nphapvqrhk2m"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson aeson-diff base caster containers exceptions FontyFruity + fsnotify hashable hashtables lens linear mtl mwc-random scientific + sdl2 sdl2-gfx sdl2-image sdl2-ttf template-haskell text + transformers trifecta unordered-containers uuid vector yaml + ]; + executableHaskellDepends = [ + base linear microlens mtl mwc-random sdl2 sdl2-ttf text vector + ]; + testHaskellDepends = [ + aeson base tasty tasty-hspec trifecta vector yaml + ]; + testToolDepends = [ tasty-discover ]; + description = "A SDL2-based graphics library, batteries-included"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "minimal-configuration" = callPackage @@ -146501,38 +157236,44 @@ self: { description = "Shows how to run grabber on Mac OS X"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "minio-hs" = callPackage - ({ mkDerivation, aeson, base, base64-bytestring, bytestring - , case-insensitive, conduit, conduit-extra, containers, cryptonite - , cryptonite-conduit, directory, filepath, http-client - , http-conduit, http-types, ini, memory, protolude, QuickCheck - , resourcet, tasty, tasty-hunit, tasty-quickcheck, tasty-smallcheck - , temporary, text, time, transformers, unliftio, unliftio-core - , xml-conduit + ({ mkDerivation, aeson, base, base64-bytestring, binary, bytestring + , case-insensitive, conduit, conduit-extra, connection, cryptonite + , cryptonite-conduit, digest, directory, exceptions, filepath + , http-client, http-client-tls, http-conduit, http-types, ini + , memory, protolude, QuickCheck, raw-strings-qq, resourcet, retry + , tasty, tasty-hunit, tasty-quickcheck, tasty-smallcheck, temporary + , text, time, transformers, unliftio, unliftio-core + , unordered-containers, xml-conduit }: mkDerivation { pname = "minio-hs"; - version = "1.2.0"; - sha256 = "14qhaiki7g09gkakl1irf0a5fnrcaj2x84vvh09g3dfsgybr851i"; + version = "1.5.0"; + sha256 = "0qp8zl7f055lpchg8abcc27jq4s0nn14qp474qrj4wdmynfi8bc8"; libraryHaskellDepends = [ - aeson base base64-bytestring bytestring case-insensitive conduit - conduit-extra containers cryptonite cryptonite-conduit directory - filepath http-client http-conduit http-types ini memory protolude - resourcet text time transformers unliftio unliftio-core xml-conduit + aeson base base64-bytestring binary bytestring case-insensitive + conduit conduit-extra connection cryptonite cryptonite-conduit + digest directory exceptions filepath http-client http-client-tls + http-conduit http-types ini memory protolude raw-strings-qq + resourcet retry text time transformers unliftio unliftio-core + unordered-containers xml-conduit ]; testHaskellDepends = [ - aeson base base64-bytestring bytestring case-insensitive conduit - conduit-extra containers cryptonite cryptonite-conduit directory - filepath http-client http-conduit http-types ini memory protolude - QuickCheck resourcet tasty tasty-hunit tasty-quickcheck + aeson base base64-bytestring binary bytestring case-insensitive + conduit conduit-extra connection cryptonite cryptonite-conduit + digest directory exceptions filepath http-client http-client-tls + http-conduit http-types ini memory protolude QuickCheck + raw-strings-qq resourcet retry tasty tasty-hunit tasty-quickcheck tasty-smallcheck temporary text time transformers unliftio - unliftio-core xml-conduit + unliftio-core unordered-containers xml-conduit ]; - description = "A Minio Haskell Library for Amazon S3 compatible cloud storage"; + description = "A MinIO Haskell Library for Amazon S3 compatible cloud storage"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "minions" = callPackage @@ -146549,6 +157290,7 @@ self: { description = "A fast parallel ssh tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "minioperational" = callPackage @@ -146566,6 +157308,7 @@ self: { description = "fast and simple operational monad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "miniplex" = callPackage @@ -146583,6 +157326,7 @@ self: { description = "simple 1-to-N interprocess communication"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "minirotate" = callPackage @@ -146603,6 +157347,7 @@ self: { description = "Minimalistic file rotation utility"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "minisat" = callPackage @@ -146645,6 +157390,21 @@ self: { description = "an interpreter for an operational semantics for the STG machine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "minitypeset-opengl" = callPackage + ({ mkDerivation, base, containers, filepath, OpenGL, stb-truetype + }: + mkDerivation { + pname = "minitypeset-opengl"; + version = "0.3.0.0"; + sha256 = "10q5071gm98vc16k5mdck1gcdf6p8aa6612wlsqwawnq3f2hj7d0"; + libraryHaskellDepends = [ + base containers filepath OpenGL stb-truetype + ]; + description = "Layout and render text with TrueType fonts using OpenGL"; + license = stdenv.lib.licenses.bsd3; }) {}; "miniutter" = callPackage @@ -146690,6 +157450,7 @@ self: { description = "Read and write IDX data that is used in e.g. the MINST database."; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mintty" = callPackage @@ -146725,6 +157486,7 @@ self: { description = "A Minisat-based CDCL SAT solver in Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mirror-tweet" = callPackage @@ -146744,6 +157506,7 @@ self: { description = "Tweet mirror"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "misfortune" = callPackage @@ -146879,8 +157642,8 @@ self: { }: mkDerivation { pname = "miso"; - version = "0.21.2.0"; - sha256 = "061bjvxcs6psh8hj947p4jm9ki9ngrwvn23szvk8i3x4xd87jbfm"; + version = "1.2.0.0"; + sha256 = "08yhr5hxrvgqdc32yz2j3mix7s8q5bzycld3kd4rfcy2h4h72962"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -146891,6 +157654,33 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "miso-action-logger" = callPackage + ({ mkDerivation, aeson, base, ghcjs-base, miso }: + mkDerivation { + pname = "miso-action-logger"; + version = "0.1.0.1"; + sha256 = "02xcj7ic4fh3h08h89naa2rl0rkksqx426wx8k8v0zl0d7rd12jc"; + libraryHaskellDepends = [ aeson base ghcjs-base miso ]; + description = "Miso state transition logger"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "miso-examples" = callPackage + ({ mkDerivation }: + mkDerivation { + pname = "miso-examples"; + version = "1.2.0.0"; + sha256 = "1wg4nli3qzq0dw9il4hqw78mpvcsbj22i2vdv2n9gafv9qsb6r68"; + isLibrary = false; + isExecutable = true; + description = "A tasty Haskell front-end framework"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "miss" = callPackage ({ mkDerivation, attoparsec, base, base16-bytestring, bytestring , ChasingBottoms, containers, cryptohash-sha1, deepseq, digest @@ -146920,6 +157710,7 @@ self: { description = "A Haskell git implimentation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "miss-porcelain" = callPackage @@ -146937,6 +157728,7 @@ self: { description = "Useability extras built on top of miss"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "missing-foreign" = callPackage @@ -146963,6 +157755,30 @@ self: { description = "Haskell interface to Python"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "miv" = callPackage + ({ mkDerivation, aeson, async, base, concurrent-output, directory + , ghc-prim, hashable, hspec, monad-parallel, process, text, time + , unordered-containers, yaml + }: + mkDerivation { + pname = "miv"; + version = "0.3.0"; + sha256 = "1s4xkr6mrlwvmxh4v63yzljsz96v5fy9mws8xwmbybqrlpqgc5qy"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + aeson async base concurrent-output directory ghc-prim hashable + monad-parallel process text time unordered-containers yaml + ]; + testHaskellDepends = [ + aeson base directory ghc-prim hashable hspec monad-parallel process + text time unordered-containers yaml + ]; + description = "Manage Vim plugins with command"; + license = stdenv.lib.licenses.mit; }) {}; "mix-arrows" = callPackage @@ -146991,18 +157807,19 @@ self: { description = "Find optimal mixed strategies for two-player games"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mixed-types-num" = callPackage - ({ mkDerivation, base, convertible, hspec, hspec-smallcheck - , QuickCheck, smallcheck, template-haskell + ({ mkDerivation, base, hspec, hspec-smallcheck, mtl, QuickCheck + , smallcheck, template-haskell }: mkDerivation { pname = "mixed-types-num"; - version = "0.3.1.5"; - sha256 = "0n60s5vy6l6mbc5z7di91whb3hn0qav2c98fmb7l7inxq8abzw3w"; + version = "0.4.0.1"; + sha256 = "10fkqb4d534nr5yqdybmvrbg3alfjvki4qxg20ma8mwxyiz4wc5g"; libraryHaskellDepends = [ - base convertible hspec hspec-smallcheck QuickCheck smallcheck + base hspec hspec-smallcheck mtl QuickCheck smallcheck template-haskell ]; testHaskellDepends = [ base hspec hspec-smallcheck QuickCheck ]; @@ -147010,24 +157827,6 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "mixed-types-num_0_3_2" = callPackage - ({ mkDerivation, base, convertible, hspec, hspec-smallcheck - , QuickCheck, smallcheck, template-haskell - }: - mkDerivation { - pname = "mixed-types-num"; - version = "0.3.2"; - sha256 = "1jr9kdsrv90laspiy5l99apd1rd197jzlvlsz8xdgcm8rpffizs9"; - libraryHaskellDepends = [ - base convertible hspec hspec-smallcheck QuickCheck smallcheck - template-haskell - ]; - testHaskellDepends = [ base hspec hspec-smallcheck QuickCheck ]; - description = "Alternative Prelude with numeric and logic expressions typed bottom-up"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "mixpanel-client" = callPackage ({ mkDerivation, aeson, base, base64-bytestring, bytestring, hspec , hspec-discover, http-client, http-client-tls, markdown-unlit @@ -147035,20 +157834,22 @@ self: { }: mkDerivation { pname = "mixpanel-client"; - version = "0.1.1"; - sha256 = "1dr7h8ss3msnabz6nisq3q4khi48b4ahmghil9sz4in4s1dvn9am"; + version = "0.2.1"; + sha256 = "1gangs1ivbg0hyc804flmxq7fgai3qlf2fnsw1r9dyjb5d91smp1"; libraryHaskellDepends = [ aeson base base64-bytestring bytestring http-client http-client-tls servant servant-client string-conv text time ]; testHaskellDepends = [ aeson base base64-bytestring bytestring hspec http-client - http-client-tls servant servant-client string-conv text time + http-client-tls markdown-unlit servant servant-client string-conv + text time ]; testToolDepends = [ hspec-discover markdown-unlit ]; description = "Mixpanel client"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mkbndl" = callPackage @@ -147064,6 +157865,7 @@ self: { description = "Makes an OS X .app bundle from a binary."; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mkcabal" = callPackage @@ -147083,6 +157885,7 @@ self: { description = "Generate cabal files for a Haskell project"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ml-w" = callPackage @@ -147098,6 +157901,7 @@ self: { description = "Minimal ML language to to demonstrate the W type infererence algorithm"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mlist" = callPackage @@ -147110,6 +157914,7 @@ self: { description = "Monadic List alternative to lazy I/O"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mltool" = callPackage @@ -147134,6 +157939,7 @@ self: { description = "Machine Learning Toolbox"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mmap" = callPackage @@ -147152,15 +157958,14 @@ self: { "mmark" = callPackage ({ mkDerivation, aeson, base, case-insensitive, containers , criterion, deepseq, dlist, email-validate, foldl, hashable, hspec - , hspec-discover, hspec-megaparsec, html-entity-map, lucid - , megaparsec, microlens, microlens-th, modern-uri, mtl - , parser-combinators, QuickCheck, text, text-metrics - , unordered-containers, weigh, yaml + , hspec-megaparsec, html-entity-map, lucid, megaparsec, microlens + , microlens-th, modern-uri, mtl, parser-combinators, QuickCheck + , text, text-metrics, unordered-containers, weigh, yaml }: mkDerivation { pname = "mmark"; - version = "0.0.6.1"; - sha256 = "0riizf8qg6938w9vvf0lwaflsc3lpbqmbiqdfv8d7fhxpk10qaxw"; + version = "0.0.7.1"; + sha256 = "0apc582ck0g5ih0rpcljsfvss646ng62bjm37nj5z6k48symh16n"; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson base case-insensitive containers deepseq dlist email-validate @@ -147172,7 +157977,6 @@ self: { aeson base foldl hspec hspec-megaparsec lucid megaparsec modern-uri QuickCheck text ]; - testToolDepends = [ hspec-discover ]; benchmarkHaskellDepends = [ base criterion text weigh ]; description = "Strict markdown processor for writers"; license = stdenv.lib.licenses.bsd3; @@ -147188,6 +157992,8 @@ self: { pname = "mmark-cli"; version = "0.0.5.0"; sha256 = "15qrp2q1flx9csqvj8zx9w1jqg8pwfi0v7wpia7n7vg09jgydhby"; + revision = "1"; + editedCabalFile = "11yrsr4hpl5vxrfav1nfg3gidcr1qy0rjv5mkh5hqsxdpxy6c7aj"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -147200,26 +158006,6 @@ self: { }) {}; "mmark-ext" = callPackage - ({ mkDerivation, base, foldl, ghc-syntax-highlighter, hspec - , hspec-discover, lucid, microlens, mmark, modern-uri, skylighting - , text - }: - mkDerivation { - pname = "mmark-ext"; - version = "0.2.1.1"; - sha256 = "01av7d9n75mg9yzkxszrvbxjbsv4n0gsdmg3n2620zn40j5lwmcq"; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - base foldl ghc-syntax-highlighter lucid microlens mmark modern-uri - skylighting text - ]; - testHaskellDepends = [ base hspec lucid mmark skylighting text ]; - testToolDepends = [ hspec-discover ]; - description = "Commonly useful extensions for the MMark markdown processor"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "mmark-ext_0_2_1_2" = callPackage ({ mkDerivation, base, foldl, ghc-syntax-highlighter, hspec , hspec-discover, lucid, microlens, mmark, modern-uri, skylighting , text @@ -147228,6 +158014,8 @@ self: { pname = "mmark-ext"; version = "0.2.1.2"; sha256 = "1s44vznj8hkk7iymnzczbglxnw1q84gmm8q9yiwh0jkiw4kdi91c"; + revision = "1"; + editedCabalFile = "10dlh96l6fdbpl1slr8v022735z9zkdszd1aziid5ml3gf63ssd8"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base foldl ghc-syntax-highlighter lucid microlens mmark modern-uri @@ -147237,15 +158025,14 @@ self: { testToolDepends = [ hspec-discover ]; description = "Commonly useful extensions for the MMark markdown processor"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "mmorph" = callPackage ({ mkDerivation, base, mtl, transformers, transformers-compat }: mkDerivation { pname = "mmorph"; - version = "1.1.2"; - sha256 = "1gjz1ib968lqybma7my1n19qq6cdj6a7nskrlnwy4jy9jrwzs2n9"; + version = "1.1.3"; + sha256 = "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"; libraryHaskellDepends = [ base mtl transformers transformers-compat ]; @@ -147272,6 +158059,7 @@ self: { description = "Macromolecular Transmission Format implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mmtl" = callPackage @@ -147284,6 +158072,7 @@ self: { description = "Modular Monad transformer library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mmtl-base" = callPackage @@ -147296,6 +158085,7 @@ self: { description = "MonadBase type-class for mmtl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mnist-idx" = callPackage @@ -147326,6 +158116,25 @@ self: { description = "Language-agnostic analyzer for positional morphosyntactic tags"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "mockazo" = callPackage + ({ mkDerivation, base, constraints, hspec, multistate, relude + , template-haskell + }: + mkDerivation { + pname = "mockazo"; + version = "0.1.1"; + sha256 = "113z5mmka7wkih0gm7x7d3l75ayql9217168b5pbyq7yvyh5f10m"; + libraryHaskellDepends = [ + base constraints multistate relude template-haskell + ]; + testHaskellDepends = [ + base constraints hspec multistate relude template-haskell + ]; + description = "Mock records of functions easily"; + license = stdenv.lib.licenses.mit; }) {}; "mockery" = callPackage @@ -147364,22 +158173,20 @@ self: { "model" = callPackage ({ mkDerivation, base, containers, convertible, deepseq, doctest , either, filemanip, ghc-prim, pretty, tasty, tasty-hunit - , tasty-quickcheck, transformers + , transformers }: mkDerivation { pname = "model"; - version = "0.4.4"; - sha256 = "1mmv1m78ychgqp0mblm56fszfmnxap3jwvxviy0h06s6wl2adq24"; + version = "0.5"; + sha256 = "0yynva6zk986yl04ilkr171m2m8k649fihc2z1lkvfn6vl8qpw0d"; libraryHaskellDepends = [ base containers convertible deepseq either pretty transformers ]; testHaskellDepends = [ base containers doctest filemanip ghc-prim pretty tasty tasty-hunit - tasty-quickcheck ]; description = "Derive a model of a data type using Generics"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "modelicaparser" = callPackage @@ -147397,6 +158204,7 @@ self: { description = "A parser for the modelica language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "modern-uri" = callPackage @@ -147407,10 +158215,8 @@ self: { }: mkDerivation { pname = "modern-uri"; - version = "0.3.0.1"; - sha256 = "01a5jnv8kbl2c9ka9dgqm4a8b7n6frmg7yi8f417qcnwgn1lbs78"; - revision = "1"; - editedCabalFile = "13q0lapxk1v3ci3bqv21942jf2fw87frbbam53apd3i2iv69bqyr"; + version = "0.3.1.0"; + sha256 = "1pi7la2rrpfa9qszz7zm4dd7dihakm4kjrhjzvxpbp4n34ihl8h5"; libraryHaskellDepends = [ base bytestring containers contravariant deepseq exceptions megaparsec mtl profunctors QuickCheck reflection tagged @@ -147449,6 +158255,7 @@ self: { description = "Modify fasta (and CLIP) files in several optional ways"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "modsplit" = callPackage @@ -147470,6 +158277,7 @@ self: { description = "Haskell source splitter driven by special comments"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "modular" = callPackage @@ -147481,7 +158289,6 @@ self: { libraryHaskellDepends = [ base ghc-typelits-knownnat ]; description = "Type-safe modular arithmetic"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "modular-arithmetic" = callPackage @@ -147494,7 +158301,6 @@ self: { testHaskellDepends = [ base doctest ]; description = "A type for integers modulo some constant"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "modular-prelude" = callPackage @@ -147513,6 +158319,7 @@ self: { description = "A new Prelude featuring first class modules"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "modular-prelude-classy" = callPackage @@ -147525,22 +158332,24 @@ self: { description = "Reifying ClassyPrelude a la ModularPrelude"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "modularity" = callPackage - ({ mkDerivation, base, eigen, hmatrix, sparse-linear-algebra + ({ mkDerivation, base, hmatrix, sparse-linear-algebra , spectral-clustering, vector }: mkDerivation { pname = "modularity"; - version = "0.2.1.0"; - sha256 = "1xs9hdxsdpylhq3dzmyxfycwyqzy3v1zz48gvzpfcamfivxxpdph"; + version = "0.2.1.1"; + sha256 = "0s7n6z48wi2cc51i9aj8c35p02jsj2g1z1lbrsa0gpk684wzg8nq"; libraryHaskellDepends = [ - base eigen hmatrix sparse-linear-algebra spectral-clustering vector + base hmatrix sparse-linear-algebra spectral-clustering vector ]; description = "Find the modularity of a network"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "module-management" = callPackage @@ -147572,6 +158381,7 @@ self: { description = "Clean up module imports, split and merge modules"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "modulespection" = callPackage @@ -147589,6 +158399,7 @@ self: { description = "Template Haskell for introspecting a module's declarations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "modulo" = callPackage @@ -147609,6 +158420,7 @@ self: { description = "Modular C code generator"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "moe" = callPackage @@ -147625,6 +158437,7 @@ self: { description = "html with style"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "moesocks" = callPackage @@ -147670,6 +158483,7 @@ self: { description = "Modular Haskell Web Server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mole" = callPackage @@ -147701,6 +158515,7 @@ self: { description = "A glorified string replacement tool"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mollie-api-haskell" = callPackage @@ -147720,6 +158535,7 @@ self: { description = "Mollie API client for Haskell http://www.mollie.com"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-abort-fd" = callPackage @@ -147748,6 +158564,7 @@ self: { description = "Monadically convert object to unique integers and back"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-atom-simple" = callPackage @@ -147760,6 +158577,7 @@ self: { description = "Monadically map objects to unique ints"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-batcher" = callPackage @@ -147796,6 +158614,22 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; + "monad-chronicle" = callPackage + ({ mkDerivation, base, data-default-class, mtl, semigroupoids + , these, transformers, transformers-compat + }: + mkDerivation { + pname = "monad-chronicle"; + version = "1"; + sha256 = "03x19683pm99zcw7gkipmdkrqwaspcyvy7yv68nlh6g4swl31a0l"; + libraryHaskellDepends = [ + base data-default-class mtl semigroupoids these transformers + transformers-compat + ]; + description = "These as a transformer, ChronicleT"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "monad-classes" = callPackage ({ mkDerivation, base, conduit, data-lens-light, ghc-prim, mmorph , monad-control, peano, reflection, tasty, tasty-hunit @@ -147845,6 +158679,7 @@ self: { description = "Monadic conversion between complex data structures and unique integers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-connect" = callPackage @@ -147915,6 +158750,8 @@ self: { pname = "monad-dijkstra"; version = "0.1.1.2"; sha256 = "1890rnypk3ra4f0f3m7nr31df3x6pmpw6ivid77wj7h9mdp0bdb6"; + revision = "1"; + editedCabalFile = "0dwcwwlfkhjl31asr35cy1m26nacz9xjry01cnq1dyaqcg53xjjb"; libraryHaskellDepends = [ base containers free mtl psqueues transformers ]; @@ -147922,6 +158759,7 @@ self: { description = "A monad transformer for weighted graph searches"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-exception" = callPackage @@ -147939,6 +158777,7 @@ self: { description = "Exstensible monadic exceptions"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-extras" = callPackage @@ -147982,6 +158821,7 @@ self: { description = "Type class for monads which support a fork operation"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-gen" = callPackage @@ -148031,6 +158871,7 @@ self: { description = "A class of monads which can do http requests"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-interleave" = callPackage @@ -148043,6 +158884,7 @@ self: { description = "Monads with an unsaveInterleaveIO-like operation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-io-adapter" = callPackage @@ -148091,6 +158933,7 @@ self: { description = "Specific levels of monad transformers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-lgbt" = callPackage @@ -148110,6 +158953,7 @@ self: { description = "Monad transformers for combining local and global state"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-log" = callPackage @@ -148173,8 +159017,8 @@ self: { }: mkDerivation { pname = "monad-logger-prefix"; - version = "0.1.10"; - sha256 = "0xfrl084b45nq7598239ax3v0qck56d75p4jcqlykn8k7822vb53"; + version = "0.1.11"; + sha256 = "0zw591nqgyqy37vj0vmyyd2m7v6cyx8bgwfm1xhf1ppbxhjx38nv"; libraryHaskellDepends = [ base exceptions monad-control monad-logger mtl resourcet text transformers transformers-base @@ -148241,6 +159085,7 @@ self: { description = "a monad to calculate linear recursive sequence"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-markov" = callPackage @@ -148279,7 +159124,6 @@ self: { ]; description = "Memoization monad transformer"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "monad-mersenne-random" = callPackage @@ -148294,6 +159138,7 @@ self: { description = "An efficient random generator monad, based on the Mersenne Twister"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-metrics" = callPackage @@ -148302,8 +159147,8 @@ self: { }: mkDerivation { pname = "monad-metrics"; - version = "0.2.1.2"; - sha256 = "0zxvdx75psdninvh7f7wqj498wav2cjmn94n5a3f5g8nvrs0n4rq"; + version = "0.2.1.4"; + sha256 = "0h83kh1qc3wf9i0l8k998zib6fvf8fpwzn3qiz0d6z7az0i947cf"; libraryHaskellDepends = [ base clock ekg-core exceptions hashable microlens mtl text transformers unordered-containers @@ -148313,6 +159158,26 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "monad-metrics-extensible" = callPackage + ({ mkDerivation, base, dependent-map, dependent-sum, ekg, ekg-core + , exceptions, hspec, mtl, stm, text + }: + mkDerivation { + pname = "monad-metrics-extensible"; + version = "0.1.0.1"; + sha256 = "044hvhnf7wsgd18cac2j3bfw2vbxfnra736l6qndfx07mkv1nz5n"; + libraryHaskellDepends = [ + base dependent-map dependent-sum ekg ekg-core exceptions mtl stm + text + ]; + testHaskellDepends = [ + base dependent-map dependent-sum ekg ekg-core exceptions hspec mtl + stm text + ]; + description = "An extensible and type-safe wrapper around EKG metrics"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "monad-mock" = callPackage ({ mkDerivation, base, constraints, exceptions, haskell-src-exts , haskell-src-meta, hspec, monad-control, mtl, template-haskell @@ -148330,6 +159195,7 @@ self: { description = "A monad transformer for mocking mtl-style typeclasses"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-open" = callPackage @@ -148342,6 +159208,7 @@ self: { description = "Open recursion for when you need it"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-ox" = callPackage @@ -148422,6 +159289,7 @@ self: { description = "Parallel execution of monadic computations with a progress bar"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-param" = callPackage @@ -148507,6 +159375,7 @@ self: { description = "Fast monads and monad transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-recorder" = callPackage @@ -148524,6 +159393,7 @@ self: { description = "Record and replay the results of monadic actions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-resumption" = callPackage @@ -148536,6 +159406,7 @@ self: { description = "Resumption and reactive resumption monads for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-skeleton" = callPackage @@ -148574,6 +159445,7 @@ self: { description = "Utility library for monads, particularly those involving state"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-statevar" = callPackage @@ -148587,6 +159459,7 @@ self: { description = "Concise, overloaded accessors for IORef, STRef, TVar"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-ste" = callPackage @@ -148597,13 +159470,14 @@ self: { pname = "monad-ste"; version = "0.1.0.0"; sha256 = "0yqkx7rlrfms7wiymb41y5nxh8fyi4049729iamwablx6hdpsrw6"; - revision = "1"; - editedCabalFile = "17xfha8zn0snlqwi8cr44my3d1zbyvhh83qlmb747dblhmj1rdi1"; + revision = "2"; + editedCabalFile = "0dcdf3nifq26v63r6l1bxx4zv3ldgq7dxijf07ba9dliizwj2nr8"; libraryHaskellDepends = [ base exceptions ghc-prim primitive ]; testHaskellDepends = [ base hspec HUnit ]; description = "ST monad with efficient explicit errors"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-stlike-io" = callPackage @@ -148619,6 +159493,7 @@ self: { description = "ST-like monad capturing variables to regions and supporting IO"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-stlike-stm" = callPackage @@ -148631,6 +159506,7 @@ self: { description = "ST-like monad capturing variables to regions and supporting STM"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-stm" = callPackage @@ -148654,6 +159530,7 @@ self: { description = "Stateful supply monad"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-task" = callPackage @@ -148695,6 +159572,7 @@ self: { description = "Monad transformer for recording timing events"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-tx" = callPackage @@ -148707,6 +159585,7 @@ self: { description = "A transactional state monad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-unify" = callPackage @@ -148721,6 +159600,7 @@ self: { description = "Generic first-order unification"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-unlift" = callPackage @@ -148755,6 +159635,26 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "monad-validate" = callPackage + ({ mkDerivation, aeson, aeson-qq, base, exceptions, hspec + , monad-control, mtl, scientific, text, transformers + , transformers-base, unordered-containers, vector + }: + mkDerivation { + pname = "monad-validate"; + version = "1.2.0.0"; + sha256 = "1wqiifcwm24mfshlh0xaq9b4blpsccqxglwgjqmg4jqbav3143zm"; + libraryHaskellDepends = [ + base exceptions monad-control mtl transformers transformers-base + ]; + testHaskellDepends = [ + aeson aeson-qq base exceptions hspec monad-control mtl scientific + text transformers transformers-base unordered-containers vector + ]; + description = "A monad transformer for data validation"; + license = stdenv.lib.licenses.isc; + }) {}; + "monad-var" = callPackage ({ mkDerivation, base, base-compat, stm }: mkDerivation { @@ -148765,6 +159665,7 @@ self: { description = "Generic operations over variables"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monad-wrap" = callPackage @@ -148777,6 +159678,7 @@ self: { description = "Wrap functions such as catch around different monads"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monadIO" = callPackage @@ -148796,6 +159698,8 @@ self: { pname = "monadLib"; version = "3.9"; sha256 = "1vibzls4ld4v7rib14nb9blni1c42csv4b1igaplks85xyr5grrm"; + revision = "1"; + editedCabalFile = "1vxd4ncwbg77vvny77b771lbh0xjdwim3lmpd14zcfqqpy0gn9bj"; libraryHaskellDepends = [ base ]; description = "A collection of monad transformers"; license = stdenv.lib.licenses.bsd3; @@ -148811,18 +159715,18 @@ self: { description = "Arrow-like monad composition for monadLib"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monadacme" = callPackage - ({ mkDerivation, base }: + ({ mkDerivation, base, transformers }: mkDerivation { pname = "monadacme"; - version = "0.0.2"; - sha256 = "1qam6k3gax2kf9zbf0q2mbsknkmx8y73i9qshbylj8wrpf896y97"; - libraryHaskellDepends = [ base ]; + version = "0.1.0.0"; + sha256 = "1k1jqi0q2n34xd07qp3fd4jw48iq4909m1pq2dm90sg46n6003sr"; + libraryHaskellDepends = [ base transformers ]; description = "The Acme and AcmeT monads"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "monadbi" = callPackage @@ -148894,6 +159798,7 @@ self: { description = "Constraint Programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monadiccp-gecode" = callPackage @@ -148913,6 +159818,7 @@ self: { description = "Constraint Programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {gecodeint = null; gecodekernel = null; gecodesearch = null; gecodeset = null; gecodesupport = null;}; @@ -148965,6 +159871,7 @@ self: { description = "A preprocessor for generating monadic call traces"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monadlog" = callPackage @@ -148985,6 +159892,7 @@ self: { description = "A simple and fast logging monad"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monadoid" = callPackage @@ -149012,6 +159920,7 @@ self: { description = "Haskell98 partial maps and filters over MonadPlus"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monads-fd" = callPackage @@ -149024,6 +159933,7 @@ self: { description = "Monad classes, using functional dependencies"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monads-tf" = callPackage @@ -149065,6 +159975,7 @@ self: { description = "Monadic interface for TokyoTyrant"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mondo" = callPackage @@ -149089,6 +160000,7 @@ self: { description = "Haskell bindings for the Mondo API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monetdb-mapi" = callPackage @@ -149101,6 +160013,7 @@ self: { description = "Mid-level bindings for the MonetDB API (mapi)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "money" = callPackage @@ -149114,6 +160027,7 @@ self: { description = "Money"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mongoDB" = callPackage @@ -149126,8 +160040,8 @@ self: { }: mkDerivation { pname = "mongoDB"; - version = "2.4.0.0"; - sha256 = "06g7mvazsymbyzm1zhsyfpbmhvlizidb4lp5l6axfw2wh90h5f7x"; + version = "2.5.0.0"; + sha256 = "15zlh2ws9vs2d5rp1g299b4lrpj6a4gcdm1zqiig452w7m1bsyzd"; libraryHaskellDepends = [ array base base16-bytestring base64-bytestring binary bson bytestring conduit conduit-extra containers cryptohash @@ -149165,6 +160079,7 @@ self: { description = "message queue using MongoDB"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mongrel2-handler" = callPackage @@ -149183,6 +160098,7 @@ self: { description = "Mongrel2 Handler Library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monitor" = callPackage @@ -149197,6 +160113,7 @@ self: { description = "Do things when files change"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monky" = callPackage @@ -149222,6 +160139,7 @@ self: { description = "A system state collecting library and application"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mono-foldable" = callPackage @@ -149234,6 +160152,7 @@ self: { description = "Folds for monomorphic containers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mono-traversable" = callPackage @@ -149244,8 +160163,8 @@ self: { }: mkDerivation { pname = "mono-traversable"; - version = "1.0.11.0"; - sha256 = "1lipj4ld99cb3sc9i8va9w7cfki89h436dysyr5ifcb1l0kxg861"; + version = "1.0.12.0"; + sha256 = "1h586myaayxg73lc1fx18axlq2bw761fypyy7mii1h0h75d8fyry"; libraryHaskellDepends = [ base bytestring containers hashable split text transformers unordered-containers vector vector-algorithms @@ -149326,6 +160245,7 @@ self: { description = "A library for (left, right) zero monoids and backtracking with cut"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monoid-extras" = callPackage @@ -149354,6 +160274,7 @@ self: { description = "a practical monoid implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monoid-record" = callPackage @@ -149384,6 +160305,7 @@ self: { description = "Monoids for calculation of statistics of sample"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monoid-subclasses" = callPackage @@ -149432,6 +160354,23 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "monoidal-containers_0_6" = callPackage + ({ mkDerivation, aeson, base, containers, deepseq, hashable, lens + , newtype, semialign, semigroups, these, unordered-containers + }: + mkDerivation { + pname = "monoidal-containers"; + version = "0.6"; + sha256 = "1ii09s068g6bj2j10ig3g3ymv1ci6zg596pmmaw6als15j9bybc9"; + libraryHaskellDepends = [ + aeson base containers deepseq hashable lens newtype semialign + semigroups these unordered-containers + ]; + description = "Containers with monoidal accumulation"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "monoidplus" = callPackage ({ mkDerivation, base, contravariant, semigroups, transformers }: mkDerivation { @@ -149444,6 +160383,7 @@ self: { description = "Extra classes/functions about monoids"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monoids" = callPackage @@ -149460,6 +160400,7 @@ self: { description = "Deprecated: Use 'reducers'"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monomorphic" = callPackage @@ -149488,6 +160429,7 @@ self: { description = "Well-typed paths"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "montage" = callPackage @@ -149554,6 +160496,7 @@ self: { description = "A monad and transformer for Monte Carlo calculations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "monus" = callPackage @@ -149594,6 +160537,7 @@ self: { description = "Haskell bindings for the Monzo API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "moo" = callPackage @@ -149616,6 +160560,7 @@ self: { description = "Genetic algorithm library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "moonshine" = callPackage @@ -149633,19 +160578,19 @@ self: { description = "A web service framework for Haskell, similar in purpose to dropwizard"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "more-containers" = callPackage - ({ mkDerivation, base, containers, hspec }: + ({ mkDerivation, base, binary, containers, hspec }: mkDerivation { pname = "more-containers"; - version = "0.1.2.0"; - sha256 = "0q3ljqjzzrx1y0vbsgvrnmbmvysxkfk2ky5xxix1kirpn1q45yjj"; - libraryHaskellDepends = [ base containers ]; - testHaskellDepends = [ base containers hspec ]; + version = "0.2.1.2"; + sha256 = "104ffslcjr8rfbsjy2g49v8l3nx9xrfqglmwcsfgar0n0xnh62ds"; + libraryHaskellDepends = [ base binary containers ]; + testHaskellDepends = [ base binary containers hspec ]; description = "A few more collections"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "more-extensible-effects" = callPackage @@ -149678,6 +160623,7 @@ self: { description = "A tool for supervised learning of morphology"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "morfeusz" = callPackage @@ -149696,8 +160642,70 @@ self: { description = "Bindings to the morphological analyser Morfeusz"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {morfeusz = null;}; + "morley" = callPackage + ({ mkDerivation, aeson, aeson-options, aeson-pretty, base-noprelude + , base16-bytestring, base58-bytestring, binary, bytestring + , constraints, containers, cryptonite, data-default, directory + , filepath, fmt, formatting, generic-arbitrary, ghc-prim, hex-text + , hspec, hspec-expectations, HUnit, lens, megaparsec, memory + , morley-prelude, mtl, named, optparse-applicative + , parser-combinators, pretty-simple, qm-interpolated-string + , QuickCheck, quickcheck-arbitrary-adt, quickcheck-instances + , singletons, syb, tasty, tasty-ant-xml, tasty-discover + , tasty-hspec, tasty-quickcheck, template-haskell, text, time + , timerep, transformers-compat, vector, vinyl, wl-pprint-text + }: + mkDerivation { + pname = "morley"; + version = "0.3.0.1"; + sha256 = "042kzx6n7jc6chqjvm7l14gpyywvy2s193xsnsvax5cisppm752m"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson aeson-options aeson-pretty base-noprelude base16-bytestring + base58-bytestring binary bytestring constraints containers + cryptonite data-default filepath fmt formatting ghc-prim hex-text + hspec lens megaparsec memory morley-prelude mtl named + parser-combinators QuickCheck quickcheck-arbitrary-adt + quickcheck-instances singletons syb tasty tasty-ant-xml + template-haskell text time timerep transformers-compat vector vinyl + wl-pprint-text + ]; + executableHaskellDepends = [ + base-noprelude data-default directory filepath fmt megaparsec + morley-prelude named optparse-applicative pretty-simple text + ]; + testHaskellDepends = [ + aeson base-noprelude bytestring containers data-default directory + filepath fmt formatting generic-arbitrary hex-text hspec + hspec-expectations HUnit lens megaparsec morley-prelude mtl + qm-interpolated-string QuickCheck quickcheck-arbitrary-adt + quickcheck-instances singletons syb tasty tasty-hspec + tasty-quickcheck text + ]; + testToolDepends = [ tasty-discover ]; + description = "Developer tools for the Michelson Language"; + license = stdenv.lib.licenses.agpl3Plus; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "morley-prelude" = callPackage + ({ mkDerivation, base-noprelude, universum }: + mkDerivation { + pname = "morley-prelude"; + version = "0.2.0.1"; + sha256 = "0dc0hi1gnw5ri7m0fl0pk3frgsnav1al4b6h4kwamhz4qh3av9b2"; + libraryHaskellDepends = [ base-noprelude universum ]; + description = "A custom prelude used in Morley"; + license = stdenv.lib.licenses.agpl3Plus; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "morph" = callPackage ({ mkDerivation, aeson, base, bytestring, directory, filepath , optparse-applicative, postgresql-simple, text, yaml @@ -149716,6 +160724,42 @@ self: { description = "A simple database migrator for PostgreSQL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "morpheus-graphql" = callPackage + ({ mkDerivation, aeson, attoparsec, base, bytestring, containers + , filepath, lens, megaparsec, mtl, optparse-applicative, scientific + , scotty, tasty, tasty-hunit, template-haskell, text, transformers + , unordered-containers, utf8-string, uuid, vector, wai + , wai-websockets, warp, websockets + }: + mkDerivation { + pname = "morpheus-graphql"; + version = "0.2.1"; + sha256 = "1qdd21mwxsn3yw9c0vxcsmx6ixp90lpy2ghk6ix2s06cs4d5s3h9"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson attoparsec base bytestring containers lens megaparsec mtl + scientific template-haskell text transformers unordered-containers + utf8-string uuid vector wai-websockets websockets + ]; + executableHaskellDepends = [ + aeson attoparsec base bytestring containers filepath lens + megaparsec mtl optparse-applicative scientific scotty + template-haskell text transformers unordered-containers utf8-string + uuid vector wai wai-websockets warp websockets + ]; + testHaskellDepends = [ + aeson attoparsec base bytestring containers lens megaparsec mtl + scientific tasty tasty-hunit template-haskell text transformers + unordered-containers utf8-string uuid vector wai-websockets + websockets + ]; + description = "Morpheus GraphQL"; + license = stdenv.lib.licenses.bsd3; }) {}; "morphisms" = callPackage @@ -149738,6 +160782,7 @@ self: { description = "Functors, theirs compositions and transformations"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "morphisms-functors-inventory" = callPackage @@ -149750,6 +160795,7 @@ self: { description = "Inventory is state and store"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "morphisms-objects" = callPackage @@ -149762,6 +160808,7 @@ self: { description = "Algebraic structures"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "morte" = callPackage @@ -149796,6 +160843,7 @@ self: { description = "A bare-bones calculus of constructions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mosaico-lib" = callPackage @@ -149815,6 +160863,7 @@ self: { description = "Generación interactiva de mosaicos"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mosquitto-hs" = callPackage @@ -149867,7 +160916,6 @@ self: { ]; description = "General purpose migrations library"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "moto-postgresql" = callPackage @@ -149883,7 +160931,6 @@ self: { ]; description = "PostgreSQL-based migrations registry for moto"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "motor" = callPackage @@ -149892,8 +160939,8 @@ self: { }: mkDerivation { pname = "motor"; - version = "0.3.0"; - sha256 = "0yx0gwdqny8p5nggigk5w57cyf2qjdjb5ypppwd84qjm663na9bh"; + version = "0.4.0"; + sha256 = "1mwvq4rzfj4fl5mcbg9cfk8x0c21p9w3wbx0h0fkm6m16k94b4p6"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -149913,8 +160960,8 @@ self: { }: mkDerivation { pname = "motor-diagrams"; - version = "0.3.0"; - sha256 = "1rvlb3gvnzdqzwrg3nm21vw6j33c4aqp6npsz8cdbh24ijc46jbr"; + version = "0.4.0"; + sha256 = "12niyizqd3hvi6g30fa38b8b2m2cxbdxzcpr95wbpdxzhvbqxs0h"; libraryHaskellDepends = [ base motor motor-reflection template-haskell text ]; @@ -149932,8 +160979,8 @@ self: { }: mkDerivation { pname = "motor-reflection"; - version = "0.3.0"; - sha256 = "1mac2ywknribmzs79dpjigk45nzrwsx7as0zi1zaqrq2vy45xl8y"; + version = "0.4.0"; + sha256 = "1n66pylcgfnmrbfbgljzx16siwv38y5j752m8yimnlg1kny1a0i6"; libraryHaskellDepends = [ base motor template-haskell text ]; testHaskellDepends = [ base hspec hspec-discover indexed motor row-types @@ -149953,6 +161000,7 @@ self: { description = "Mounts and umounts filesystems"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mountpoints" = callPackage @@ -149988,6 +161036,7 @@ self: { description = "Plays videos using GStreamer and GTK+"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "moving-averages" = callPackage @@ -150007,12 +161056,12 @@ self: { , daemons, directory, exceptions, filepath, gi-glib, gi-gobject , gi-gst, haskell-gi-base, haskell-gi-overloading, lens, MissingH , mtl, network, random, resourcet, simple-ui, template-haskell - , text, utf8-string, vty + , text, unix, utf8-string, vty }: mkDerivation { pname = "mp"; - version = "1.0.2"; - sha256 = "07npcr1rjypjbxrv3hccqfac3piq00psc7yxgh7iw8pl8izqrwl7"; + version = "1.1.0"; + sha256 = "1msy52c1702q16pmbzc69iyj7bj9xdh4c72d15sigblh9hwvipmm"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -150020,11 +161069,12 @@ self: { async base binary ConfigFile containers daemons directory exceptions filepath gi-glib gi-gobject gi-gst haskell-gi-base haskell-gi-overloading lens MissingH mtl network random resourcet - simple-ui template-haskell text utf8-string vty + simple-ui template-haskell text unix utf8-string vty ]; description = "Music player for linux"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mp3decoder" = callPackage @@ -150057,6 +161107,7 @@ self: { description = "MPD/PowerMate executable"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mpg123-bindings" = callPackage @@ -150092,6 +161143,7 @@ self: { description = "MPI bindings for Haskell"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) openmpi;}; "mpppc" = callPackage @@ -150106,6 +161158,7 @@ self: { description = "Multi-dimensional parametric pretty-printer with color"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mpretty" = callPackage @@ -150123,6 +161176,7 @@ self: { description = "a monadic, extensible pretty printing library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mpris" = callPackage @@ -150135,6 +161189,7 @@ self: { description = "Interface for MPRIS"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mprover" = callPackage @@ -150153,6 +161208,7 @@ self: { description = "Simple equational reasoning for a Haskell-ish language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mps" = callPackage @@ -150173,6 +161229,35 @@ self: { description = "simply oo"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "mptcp-pm" = callPackage + ({ mkDerivation, aeson, base, bytestring, bytestring-conversion + , c2hs, c2hsc, cereal, containers, fast-logger, HUnit, ip, netlink + , optparse-applicative, process + }: + mkDerivation { + pname = "mptcp-pm"; + version = "0.0.1"; + sha256 = "0sknhb9i0hshyjc33g301l7lxy5cigilhzdmwc6bi0gxhnkgycki"; + isLibrary = true; + isExecutable = true; + libraryToolDepends = [ c2hs ]; + executableHaskellDepends = [ + aeson base bytestring bytestring-conversion c2hsc cereal containers + fast-logger ip netlink optparse-applicative process + ]; + executableToolDepends = [ c2hs ]; + testHaskellDepends = [ + aeson base bytestring cereal containers HUnit ip netlink + ]; + testToolDepends = [ c2hs ]; + doHaddock = false; + description = "A work in progress Multipath TCP path manager"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mpvguihs" = callPackage @@ -150192,6 +161277,7 @@ self: { description = "A minimalist mpv GUI written in I/O heavy Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mqtt" = callPackage @@ -150221,6 +161307,7 @@ self: { description = "An MQTT protocol implementation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mqtt-hs" = callPackage @@ -150238,6 +161325,7 @@ self: { description = "A MQTT client library"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mrifk" = callPackage @@ -150252,6 +161340,7 @@ self: { description = "Decompiles Glulx files"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mrm" = callPackage @@ -150264,6 +161353,7 @@ self: { description = "Modular Refiable Matching, first-class matches"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ms" = callPackage @@ -150285,30 +161375,52 @@ self: { description = "metric spaces"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "ms-tds" = callPackage + ({ mkDerivation, array, base, binary, bytestring, crypto-random + , data-default-class, mtl, network, template-haskell, text, time + , tls, uuid-types, x509-store, x509-system + }: + mkDerivation { + pname = "ms-tds"; + version = "0.4.0.0"; + sha256 = "0smdr7inwix9hbllj5r217pa17i6ha0wbciqnq9cjsjs9wjnybhh"; + libraryHaskellDepends = [ + array base binary bytestring crypto-random data-default-class mtl + network template-haskell text time tls uuid-types x509-store + x509-system + ]; + testHaskellDepends = [ + array base binary bytestring crypto-random data-default-class mtl + network template-haskell text time tls uuid-types x509-store + x509-system + ]; + description = "TDS Protocol implemented in Haskell"; + license = stdenv.lib.licenses.bsd3; }) {}; "msgpack" = callPackage - ({ mkDerivation, base, binary, blaze-builder, bytestring - , containers, data-binary-ieee754, deepseq, hashable, mtl - , QuickCheck, tasty, tasty-quickcheck, text, unordered-containers - , vector + ({ mkDerivation, async, base, binary, bytestring, containers + , data-binary-ieee754, deepseq, hashable, mtl, QuickCheck, tasty + , tasty-quickcheck, text, unordered-containers, vector }: mkDerivation { pname = "msgpack"; - version = "1.0.0"; - sha256 = "0kk6nqn290sh0l0hhglccs0cqgk0fb3xdjzqz19yw9wb8aw01xh8"; - revision = "1"; - editedCabalFile = "0fg5hragvpil7212w7pyyiws0zlf4imas9sjj235lb1wjpka52qp"; + version = "1.0.1.0"; + sha256 = "1ljb9rdhdbxqs32brrwd42c8v3z7yrl6pr4mzmid1rfqdipard77"; libraryHaskellDepends = [ - base binary blaze-builder bytestring containers data-binary-ieee754 - deepseq hashable mtl text unordered-containers vector + base binary bytestring containers data-binary-ieee754 deepseq + hashable mtl text unordered-containers vector ]; testHaskellDepends = [ - base bytestring QuickCheck tasty tasty-quickcheck + async base bytestring QuickCheck tasty tasty-quickcheck ]; description = "A Haskell implementation of MessagePack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "msgpack-aeson" = callPackage @@ -150328,6 +161440,7 @@ self: { description = "Aeson adapter for MessagePack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "msgpack-idl" = callPackage @@ -150350,6 +161463,7 @@ self: { description = "An IDL Compiler for MessagePack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "msgpack-rpc" = callPackage @@ -150361,6 +161475,8 @@ self: { pname = "msgpack-rpc"; version = "1.0.0"; sha256 = "00m5hpj5cd521j3jzsaw49asbpxvka0x1zi2qs26si82wxgnpjkn"; + revision = "2"; + editedCabalFile = "10vhvch66vk12gxgvivzz7x829ml8v08qcw9phylf4icwrgirn0p"; libraryHaskellDepends = [ base binary binary-conduit bytestring conduit conduit-extra exceptions monad-control msgpack mtl network random text @@ -150369,6 +161485,7 @@ self: { description = "A MessagePack-RPC Implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "msh" = callPackage @@ -150386,6 +161503,7 @@ self: { description = "Object-Oriented Programming in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "msi-kb-backlit" = callPackage @@ -150400,6 +161518,27 @@ self: { description = "A command line tool to change backlit colors of your MSI keyboards"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "mssql-simple" = callPackage + ({ mkDerivation, base, binary, bytestring, hostname, ms-tds, mtl + , network, template-haskell, text, time, tls, uuid-types + }: + mkDerivation { + pname = "mssql-simple"; + version = "0.5.0.0"; + sha256 = "0k0j87h37hya42fv045z44p9issic0a0wswy75ymclizsbip1fl4"; + libraryHaskellDepends = [ + base binary bytestring hostname ms-tds mtl network template-haskell + text time tls uuid-types + ]; + testHaskellDepends = [ + base binary bytestring hostname ms-tds mtl network template-haskell + text time tls uuid-types + ]; + description = "SQL Server client library implemented in Haskell"; + license = stdenv.lib.licenses.bsd3; }) {}; "mstate" = callPackage @@ -150455,6 +161594,7 @@ self: { description = "Library to communicate with Mt.Gox"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mtl_2_1_3_1" = callPackage @@ -150496,10 +161636,8 @@ self: { ({ mkDerivation, base, mtl }: mkDerivation { pname = "mtl-compat"; - version = "0.2.1.3"; - sha256 = "15388p9ybdn6digk6cpdsw6havd0yva8vvwl3p7fnc9sb59wln34"; - revision = "4"; - editedCabalFile = "1mfrx8cpx0502sjv0bmlfkl0h46c4krldg8m89k4fj6iawwg2ab5"; + version = "0.2.2"; + sha256 = "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"; libraryHaskellDepends = [ base mtl ]; doHaddock = false; description = "Backported Control.Monad.Except module from mtl"; @@ -150520,6 +161658,7 @@ self: { description = "Instances for the mtl classes for all monad transformers"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mtl-extras" = callPackage @@ -150532,6 +161671,7 @@ self: { description = "Higher order versions of MTL classes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mtl-prelude_1_0_3" = callPackage @@ -150567,6 +161707,7 @@ self: { description = "Monad Transformer Library with Type Families"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mtl-unleashed" = callPackage @@ -150609,6 +161750,7 @@ self: { description = "Monad transformer library with type indexes, providing 'free' copies"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mtp" = callPackage @@ -150622,6 +161764,7 @@ self: { description = "Bindings to libmtp"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {mtp = null;}; "mtree" = callPackage @@ -150669,6 +161812,7 @@ self: { description = "Multi-version deployer for web applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mudbath" = callPackage @@ -150760,6 +161904,7 @@ self: { description = "An intermediate language designed to perform advanced code analysis"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multext-east-msd" = callPackage @@ -150772,6 +161917,7 @@ self: { description = "MULTEXT-East morphosyntactic descriptors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multi-cabal" = callPackage @@ -150794,6 +161940,26 @@ self: { description = "A tool supporting multi cabal project builds"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "multi-containers" = callPackage + ({ mkDerivation, base, containers, directory, extra, filepath + , hspec + }: + mkDerivation { + pname = "multi-containers"; + version = "0.1.0.2"; + sha256 = "1az9drnj6kd6x8r8gycfndqw9mhv0arvi4mkmqcazjg3lr7rxvpa"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base containers ]; + executableHaskellDepends = [ + base containers directory extra filepath + ]; + testHaskellDepends = [ base containers hspec ]; + description = "A few multimap variants"; + license = stdenv.lib.licenses.bsd3; }) {}; "multi-instance" = callPackage @@ -150806,7 +161972,6 @@ self: { testHaskellDepends = [ base doctest ]; description = "Typeclasses augmented with a phantom type parameter"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "multi-trie" = callPackage @@ -150840,6 +162005,7 @@ self: { description = "A network address format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multiarg" = callPackage @@ -150859,6 +162025,31 @@ self: { description = "Command lines for options that take multiple arguments"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "multibase" = callPackage + ({ mkDerivation, aeson, base, base16-bytestring + , base32-z-bytestring, base58-bytestring, base64-bytestring + , bytestring, Cabal, cabal-doctest, deepseq, doctest, formatting + , hashable, QuickCheck, sandi, serialise, tagged, template-haskell + , text + }: + mkDerivation { + pname = "multibase"; + version = "0.1.0.0"; + sha256 = "1gvbqq4kd94n7dmcbjb3k24z0qrv13qmi8lhs3yxwch3y13qv60m"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + aeson base base16-bytestring base32-z-bytestring base58-bytestring + base64-bytestring bytestring deepseq formatting hashable sandi + serialise tagged text + ]; + testHaskellDepends = [ base doctest QuickCheck template-haskell ]; + description = "Self-identifying base encodings, implementation of "; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multifile" = callPackage @@ -150867,8 +162058,8 @@ self: { }: mkDerivation { pname = "multifile"; - version = "0.1.0.6"; - sha256 = "054nh8g4ngg1d4ik41iagp72qdp8p6nbvr2kjrzk9a30a0k4akar"; + version = "0.1.0.7"; + sha256 = "0nc19swda1v8fz3fhd2vkkr6a4nd7519qkgpcbhpm2hplkan6csn"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -150877,7 +162068,6 @@ self: { ]; description = "create many files from one"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "multifocal" = callPackage @@ -150904,6 +162094,7 @@ self: { description = "Bidirectional Two-level Transformation of XML Schemas"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multihash" = callPackage @@ -150928,6 +162119,45 @@ self: { description = "Multihash library and CLI executable"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "multihash-cryptonite" = callPackage + ({ mkDerivation, base, binary, binary-varint, bytestring, Cabal + , cabal-doctest, cryptonite, deepseq, doctest, hashable, hedgehog + , memory + }: + mkDerivation { + pname = "multihash-cryptonite"; + version = "0.1.0.0"; + sha256 = "0gl13kjqz14lnwz7x162fad3j99qs1xa3zabpr30q53pkzk8adsi"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + base binary binary-varint bytestring cryptonite deepseq hashable + memory + ]; + testHaskellDepends = [ base cryptonite doctest hedgehog ]; + description = "Self-identifying hashes, implementation of "; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "multihash-serialise" = callPackage + ({ mkDerivation, base, bytestring, cryptonite, hedgehog, memory + , multibase, multihash-cryptonite, serialise + }: + mkDerivation { + pname = "multihash-serialise"; + version = "0.1.0.0"; + sha256 = "1bvh0fm26nnbfykimp3j2934lxwh7kgk6jkk9v8yjpn0k9rxnkrb"; + libraryHaskellDepends = [ + base bytestring cryptonite memory multibase multihash-cryptonite + serialise + ]; + testHaskellDepends = [ base cryptonite hedgehog serialise ]; + description = "CBOR encoding of multihashes"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multihashmap" = callPackage @@ -150961,6 +162191,7 @@ self: { description = "Comprehensive and efficient (multi)linear algebra implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multilinear-io" = callPackage @@ -150985,6 +162216,7 @@ self: { description = "Conduit-based input/output capability for multilinear package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multimap" = callPackage @@ -151040,6 +162272,7 @@ self: { description = "Folding data with multiple named passes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multipath" = callPackage @@ -151052,6 +162285,7 @@ self: { description = "Parser and builder for unix-path-like objects"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multiplate" = callPackage @@ -151079,6 +162313,7 @@ self: { description = "Shorter, more generic functions for Multiplate"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multiplicity" = callPackage @@ -151103,8 +162338,8 @@ self: { }: mkDerivation { pname = "multipool"; - version = "0.1.0.1"; - sha256 = "1mcdsn4ja9w8bnxrz4dglwbzq6bxg5xq2iik8da49n8l8ah2xq78"; + version = "0.2.0.0"; + sha256 = "18yqwwys9rf65zshc7wzxzs5x3viq6a9cvdx09k40sxywj5253xx"; libraryHaskellDepends = [ base bytestring hashable monad-logger mtl persistent resource-pool text unordered-containers @@ -151118,18 +162353,20 @@ self: { }) {}; "multipool-persistent" = callPackage - ({ mkDerivation, base, mtl, multipool, persistent, unliftio-core - , unordered-containers + ({ mkDerivation, base, mtl, multipool, persistent, resource-pool + , unliftio-core, unordered-containers }: mkDerivation { pname = "multipool-persistent"; - version = "0.1.0.1"; - sha256 = "0nw56wpgwvzk8ib3av42zkpj5xviw3m3qlig791rl4074yj60wn2"; + version = "0.2.0.0"; + sha256 = "0n5q2yhyf2w6v1abxlaqai8i62r1vxjcka1lnq50ci9b2l9q7sdm"; libraryHaskellDepends = [ - base mtl multipool persistent unliftio-core unordered-containers + base mtl multipool persistent resource-pool unliftio-core + unordered-containers ]; testHaskellDepends = [ - base mtl multipool persistent unliftio-core unordered-containers + base mtl multipool persistent resource-pool unliftio-core + unordered-containers ]; description = "Read and write from appropriate persistent sql instances in replicated environments"; license = stdenv.lib.licenses.bsd3; @@ -151143,8 +162380,8 @@ self: { }: mkDerivation { pname = "multipool-persistent-postgresql"; - version = "0.1.1.0"; - sha256 = "0hna597qbsa81rly8cmxj45ix6iyw83w9v4ai9gpm5yb5g21bdf9"; + version = "0.2.0.0"; + sha256 = "1wc4wl471lnz0v04jzl3f8kdx59bw0ylb1hp544afxvpmp44q1gr"; libraryHaskellDepends = [ base monad-logger mtl multipool multipool-persistent persistent persistent-postgresql persistent-qq postgresql-common-persistent @@ -151166,8 +162403,8 @@ self: { }: mkDerivation { pname = "multipool-postgresql-simple"; - version = "0.1.0.2"; - sha256 = "0hm31i06pvx0yj5in44wqsxrghjb4m1rkf9ccmdy0x2g7643rlv5"; + version = "0.2.0.0"; + sha256 = "05l8a06jjdz8j789axpf5w9mpzv1q2jpjvsi4sf75ysrkgaqbwyh"; libraryHaskellDepends = [ base bytestring mtl multipool postgresql-simple resource-pool unliftio-core unordered-containers @@ -151179,6 +162416,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "multiprocess" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "multiprocess"; + version = "0.0.0"; + sha256 = "06f1yq4x9jc7cv8nxsqbm47xbv6b2cp1q8xkbhlqr9dbz8cvf5my"; + libraryHaskellDepends = [ base ]; + description = "Multiprocess architecture library"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "multirec" = callPackage ({ mkDerivation, base, template-haskell }: mkDerivation { @@ -151205,6 +162453,7 @@ self: { description = "Alternative multirec instances deriver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multirec-binary" = callPackage @@ -151217,6 +162466,7 @@ self: { description = "Generic Data.Binary instances using MultiRec."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multiset" = callPackage @@ -151244,7 +162494,6 @@ self: { libraryHaskellDepends = [ base containers transformers ]; description = "Combinatorial algorithms over multisets"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "multisetrewrite" = callPackage @@ -151258,6 +162507,7 @@ self: { description = "Multi-set rewrite rules with guards and a parallel execution scheme"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multistate" = callPackage @@ -151266,8 +162516,8 @@ self: { }: mkDerivation { pname = "multistate"; - version = "0.8.0.1"; - sha256 = "1s9fs29ki3l1df0ddi04ckbich1xid413sm2zx59aqp92dfpimvm"; + version = "0.8.0.2"; + sha256 = "0hypksjacpjgpkgvjn76fd5rgdz7hi6ri36ihdy0bdhpi83jnhn5"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -151276,7 +162526,6 @@ self: { testHaskellDepends = [ base hspec transformers ]; description = "like mtl's ReaderT / WriterT / StateT, but more than one contained value/type"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "multivariant" = callPackage @@ -151308,6 +162557,7 @@ self: { description = "Multivariant assignments generation language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "multivector" = callPackage @@ -151347,6 +162597,7 @@ self: { description = "Static blog generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "murder" = callPackage @@ -151364,6 +162615,7 @@ self: { description = "MUtually Recursive Definitions Explicitly Represented"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "murmur" = callPackage @@ -151390,6 +162642,7 @@ self: { description = "Simple CUI Twitter Client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "murmur-hash" = callPackage @@ -151431,6 +162684,7 @@ self: { description = "32-bit non-cryptographic hashing"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mushu" = callPackage @@ -151458,6 +162712,7 @@ self: { description = "Minimalist MPD client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "music-articulation" = callPackage @@ -151523,6 +162778,7 @@ self: { description = "Diagrams-based visualization of musical data structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "music-parts" = callPackage @@ -151546,6 +162802,7 @@ self: { description = "Musical instruments, parts and playing techniques"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "music-pitch" = callPackage @@ -151564,6 +162821,7 @@ self: { description = "Musical pitch representation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "music-pitch-literal" = callPackage @@ -151605,6 +162863,7 @@ self: { description = "Some useful preludes for the Music Suite"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "music-score" = callPackage @@ -151629,6 +162888,7 @@ self: { description = "Musical score and part representation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "music-sibelius" = callPackage @@ -151649,6 +162909,7 @@ self: { description = "Interaction with Sibelius"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "music-suite" = callPackage @@ -151669,6 +162930,7 @@ self: { description = "A set of libraries for composition, analysis and manipulation of music"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "music-util" = callPackage @@ -151687,6 +162949,7 @@ self: { description = "Utility for developing the Music Suite"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "musicbrainz-email" = callPackage @@ -151721,6 +162984,7 @@ self: { description = "Send an email to all MusicBrainz editors"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "musicxml" = callPackage @@ -151737,6 +163001,7 @@ self: { description = "MusicXML format encoded as Haskell type and functions of reading and writting"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "musicxml2" = callPackage @@ -151755,6 +163020,7 @@ self: { description = "A representation of the MusicXML format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mustache" = callPackage @@ -151809,6 +163075,7 @@ self: { description = "Straight implementation of mustache templates"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mustache2hs" = callPackage @@ -151863,6 +163130,7 @@ self: { description = "iteratees based upon mutable buffers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mute-unmute" = callPackage @@ -151882,6 +163150,7 @@ self: { description = "Watches your screensaver and (un)mutes music when you (un)lock the screen"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mvar-lock" = callPackage @@ -151894,6 +163163,7 @@ self: { description = "A trivial lock based on MVar"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mvc" = callPackage @@ -151911,6 +163181,7 @@ self: { description = "Model-view-controller"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mvc-updates" = callPackage @@ -151923,6 +163194,7 @@ self: { description = "Concurrent and combinable updates"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mvclient" = callPackage @@ -151942,16 +163214,15 @@ self: { description = "Client library for metaverse systems like Second Life"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mwc-probability" = callPackage ({ mkDerivation, base, mwc-random, primitive, transformers }: mkDerivation { pname = "mwc-probability"; - version = "2.0.4"; - sha256 = "0msi72qp5aps3n4ji565r4rzyjg7svwilsh8lch59y2b4q7fvscz"; - revision = "1"; - editedCabalFile = "1b4wbxkxx0szjgzgn5jc1qap80zx6ispxrd51yxs4z7llv15w5k6"; + version = "2.1.0"; + sha256 = "0ac4pr2l0p48a0n6jym445c8h7n2nf1pqkhrz6cd1rjbmrk5mbm3"; libraryHaskellDepends = [ base mwc-random primitive transformers ]; description = "Sampling function-based probability distributions"; license = stdenv.lib.licenses.mit; @@ -152001,7 +163272,6 @@ self: { libraryHaskellDepends = [ accelerate base mwc-random ]; description = "Generate Accelerate arrays filled with high quality pseudorandom numbers"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "mwc-random-monad" = callPackage @@ -152038,6 +163308,7 @@ self: { description = "MXNet interface in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) mxnet;}; "mxnet-dataiter" = callPackage @@ -152056,6 +163327,7 @@ self: { description = "mxnet dataiters"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mxnet-examples" = callPackage @@ -152070,6 +163342,7 @@ self: { description = "Examples for MXNet in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mxnet-nn" = callPackage @@ -152096,6 +163369,7 @@ self: { description = "Train a neural network with MXNet in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mxnet-nnvm" = callPackage @@ -152110,6 +163384,7 @@ self: { description = "NNVM interface in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) mxnet;}; "my-package-testing" = callPackage @@ -152135,6 +163410,7 @@ self: { description = "spam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "my-test-docs" = callPackage @@ -152160,6 +163436,7 @@ self: { description = "spam"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "myTestlll" = callPackage @@ -152185,6 +163462,7 @@ self: { description = "None"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "myanimelist-export" = callPackage @@ -152209,6 +163487,7 @@ self: { description = "Export from MyAnimeList"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mybitcoin-sci" = callPackage @@ -152246,6 +163525,7 @@ self: { description = "Haskell binding to the Myo armband"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mysnapsession" = callPackage @@ -152263,6 +163543,7 @@ self: { description = "Sessions and continuations for Snap web apps"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mysnapsession-example" = callPackage @@ -152283,6 +163564,7 @@ self: { description = "Example projects using mysnapsession"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mysql" = callPackage @@ -152316,6 +163598,7 @@ self: { description = "An extensible mysql effect using extensible-effects and mysql-simple"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mysql-haskell" = callPackage @@ -152371,6 +163654,7 @@ self: { description = "TLS support for mysql-haskell package using openssl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mysql-simple" = callPackage @@ -152405,6 +163689,7 @@ self: { description = "Quasi-quoter for use with mysql-simple"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mysql-simple-typed" = callPackage @@ -152413,14 +163698,15 @@ self: { }: mkDerivation { pname = "mysql-simple-typed"; - version = "0.1.1.3"; - sha256 = "1gfj7s9rxp8n0fws8x6f94z3mi7kysa0vscvm6hky9awq83avbv4"; + version = "0.1.2.0"; + sha256 = "160pyhcazmg3qnqsvzl05gc4xrm0cd1s622zv4z8n9z2w7xqh5qa"; libraryHaskellDepends = [ base mysql mysql-simple template-haskell typedquery utf8-string ]; description = "Typed extension to mysql simple"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mystem" = callPackage @@ -152440,6 +163726,7 @@ self: { description = "Bindings for Mystem morphological analyzer executabe"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "mywatch" = callPackage @@ -152464,7 +163751,6 @@ self: { ]; description = "Web application to view and kill MySQL queries"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "mzv" = callPackage @@ -152477,6 +163763,7 @@ self: { description = "Implementation of the \"Monads, Zippers and Views\" (Schrijvers and Oliveira, ICFP'11)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "n-ary-functor" = callPackage @@ -152485,11 +163772,12 @@ self: { pname = "n-ary-functor"; version = "0.1.0.0"; sha256 = "1v1ki6mfgj7jhj7w94w15sisd57akwlb0c2s3bczvj47f7f8p7vi"; + revision = "1"; + editedCabalFile = "1pnl2kx406l99icyii50mr3vdaa6hxcsbgh37sh43my3l5dkfl57"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base doctest doctest-discover ]; description = "An n-ary version of Functor"; license = stdenv.lib.licenses.publicDomain; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "n-m" = callPackage @@ -152517,6 +163805,7 @@ self: { description = "Homogeneous tuples of arbitrary length"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "n2o" = callPackage @@ -152595,6 +163884,20 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "nagios-config" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "nagios-config"; + version = "0.1.0.0"; + sha256 = "1m6phv3w8rbdz6xk2ar803r2m8fhdij9a26v5jz1s87f3hy6d5g6"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base ]; + executableHaskellDepends = [ base ]; + description = "EDSL to specify Nagios configuration files"; + license = stdenv.lib.licenses.gpl3; + }) {}; + "nagios-perfdata" = callPackage ({ mkDerivation, attoparsec, base, bifunctors, bytestring , containers, hspec, HUnit, MissingH, mtl, transformers @@ -152635,6 +163938,7 @@ self: { description = "Monitor ekg metrics via Nagios"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nakadi-client" = callPackage @@ -152674,6 +163978,7 @@ self: { description = "Client library for the Nakadi Event Broker"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "namecoin-update" = callPackage @@ -152694,10 +163999,8 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "named"; - version = "0.2.0.0"; - sha256 = "17ldvxypf099wj5phzh2aymzfwmyiyzhz24h1aj2s21nrys5n6n0"; - revision = "2"; - editedCabalFile = "0h9d74h6g685g1g0ylqf7kws1ancdy3q6fi39vinf5alkqa7kxwd"; + version = "0.3.0.0"; + sha256 = "03pg2xdx86c7ns8p04gn8l4nwpjx538545f0fjq0j3mlhn09qrh7"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base ]; description = "Named parameters (keyword arguments) for Haskell"; @@ -152729,6 +164032,7 @@ self: { description = "A named lock that is created on demand"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "named-records" = callPackage @@ -152742,6 +164046,18 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "named-sop" = callPackage + ({ mkDerivation, base, singletons, tasty, tasty-hunit, text }: + mkDerivation { + pname = "named-sop"; + version = "0.2.0.0"; + sha256 = "1yz4cp19nf44cscfzhwsw7xigq07sxbvzfw5v5l3jgsjxi5xw9ad"; + libraryHaskellDepends = [ base singletons text ]; + testHaskellDepends = [ base tasty tasty-hunit ]; + description = "Dependently-typed sums and products, tagged by field name"; + license = stdenv.lib.licenses.mit; + }) {}; + "namelist" = callPackage ({ mkDerivation, base, case-insensitive, data-default-class, parsec , QuickCheck, tasty, tasty-hunit, tasty-quickcheck @@ -152759,6 +164075,7 @@ self: { description = "fortran90 namelist parser/pretty printer"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "names" = callPackage @@ -152793,7 +164110,6 @@ self: { testHaskellDepends = [ base ]; description = "A Generic Haskell library for managing namespaces"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "nano-cryptr" = callPackage @@ -152835,6 +164151,7 @@ self: { description = "Bindings to OpenSSL HMAC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) openssl;}; "nano-md5" = callPackage @@ -152850,6 +164167,7 @@ self: { description = "Efficient, ByteString bindings to OpenSSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) openssl;}; "nanoAgda" = callPackage @@ -152881,6 +164199,7 @@ self: { description = "Simple Curses binding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) ncurses;}; "nanomsg" = callPackage @@ -152894,6 +164213,7 @@ self: { description = "nanomsg - scalability protocols library"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) nanomsg;}; "nanomsg-haskell" = callPackage @@ -152919,6 +164239,7 @@ self: { description = "Bindings to the nanomsg library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) nanomsg;}; "nanoparsec" = callPackage @@ -152931,6 +164252,7 @@ self: { description = "An implementation of attoparsec-like parser around list-like"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nanospec" = callPackage @@ -152965,6 +164287,7 @@ self: { description = "Haskell bindings for nanovg"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {GLEW = null; inherit (pkgs) glew; inherit (pkgs) libGL; inherit (pkgs) libGLU;}; @@ -152984,6 +164307,7 @@ self: { description = "Simple interface to rendering with NanoVG"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nanq" = callPackage @@ -153004,6 +164328,7 @@ self: { description = "Performs 漢字検定 (Japan Kanji Aptitude Test) level analysis on given Kanji"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "naperian" = callPackage @@ -153024,18 +164349,21 @@ self: { }) {}; "naqsha" = callPackage - ({ mkDerivation, base, bytestring, groups, hspec, HUnit, QuickCheck - , vector + ({ mkDerivation, base, bytestring, groups, hspec, hspec-discover + , HUnit, QuickCheck, vector }: mkDerivation { pname = "naqsha"; - version = "0.2.0.1"; - sha256 = "154wydlz7y6mic4d1670dwn9g1c7z92v6bydll0shn6z05324ha9"; + version = "0.3.0.1"; + sha256 = "0wg2vvik0yhaqyla64m3mcrv0fkrs92dgkrq5pzq78xjycnm7q1r"; libraryHaskellDepends = [ base bytestring groups vector ]; - testHaskellDepends = [ base groups hspec HUnit QuickCheck ]; - description = "A library for working with geospatial data types"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + testHaskellDepends = [ + base bytestring groups hspec hspec-discover HUnit QuickCheck vector + ]; + testToolDepends = [ hspec-discover ]; + doHaddock = false; + description = "A library for working with anything map related"; + license = "(Apache-2.0 OR BSD-3-Clause)"; }) {}; "narc" = callPackage @@ -153048,6 +164376,7 @@ self: { description = "Query SQL databases using Nested Relational Calculus embedded in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nat" = callPackage @@ -153072,6 +164401,7 @@ self: { description = "Variable-sized numbers from type-level nats"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nationstates" = callPackage @@ -153089,6 +164419,7 @@ self: { description = "NationStates API client"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "native" = callPackage @@ -153117,8 +164448,8 @@ self: { pname = "nats"; version = "1.1.2"; sha256 = "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"; - revision = "1"; - editedCabalFile = "1jzyysf758lfindlclqpzqcd0lrgrdv0rnz2lg8g1rvv07x2n7zh"; + revision = "3"; + editedCabalFile = "02ww45nskca28fsbh74iy0z4rm0yshws7lrxld45y053hrn1jdzc"; doHaddock = false; description = "Natural numbers"; license = stdenv.lib.licenses.bsd3; @@ -153168,6 +164499,8 @@ self: { ]; description = "Haskell API for NATS messaging system"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "natural" = callPackage @@ -153187,6 +164520,7 @@ self: { description = "Natural number"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "natural-induction" = callPackage @@ -153215,6 +164549,7 @@ self: { description = "Natural numbers tagged with a type-level representation of the number"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "natural-numbers" = callPackage @@ -153293,6 +164628,7 @@ self: { description = "Interface to Naver Translate"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nbt" = callPackage @@ -153330,7 +164666,6 @@ self: { ]; description = "CPU load and memory usage indicators for i3bar"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ncurses" = callPackage @@ -153376,6 +164711,7 @@ self: { description = "A Fast Retargetable Template Engine"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "neat-interpolation" = callPackage @@ -153409,6 +164745,7 @@ self: { description = "ASCII-fied arrow notation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "neet" = callPackage @@ -153426,6 +164763,7 @@ self: { description = "A NEAT library for Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nehe-tuts" = callPackage @@ -153446,6 +164784,7 @@ self: { description = "Port of the NeHe OpenGL tutorials to Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "neil" = callPackage @@ -153476,6 +164815,7 @@ self: { description = "Provide versions of Either with good monad and applicative instances. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "neko-lib" = callPackage @@ -153497,6 +164837,7 @@ self: { description = "Neko VM code generation and disassembly library"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "neko-obfs" = callPackage @@ -153519,6 +164860,7 @@ self: { description = "a TCP tunnel with packet length obfuscation"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nemesis" = callPackage @@ -153552,6 +164894,7 @@ self: { description = "A collection of Nemesis tasks to bootstrap a Haskell project with a focus on continuous integration"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nerf" = callPackage @@ -153575,6 +164918,7 @@ self: { description = "Nerf, the named entity recognition tool based on linear-chain CRFs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nero" = callPackage @@ -153594,6 +164938,7 @@ self: { description = "Lens-based HTTP toolkit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nero-wai" = callPackage @@ -153610,6 +164955,7 @@ self: { description = "WAI adapter for Nero server applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nero-warp" = callPackage @@ -153622,6 +164968,7 @@ self: { description = "Run Nero server applications with Warp"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nest" = callPackage @@ -153638,6 +164985,7 @@ self: { testHaskellDepends = [ base bytestring containers hedgehog text ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nested-routes" = callPackage @@ -153668,6 +165016,7 @@ self: { description = "Declarative, compositional Wai responses"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nested-sequence" = callPackage @@ -153685,6 +165034,7 @@ self: { description = "List-like data structures with O(log(n)) random access"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nested-sets" = callPackage @@ -153714,6 +165064,7 @@ self: { description = "A library for nested maps"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "net-concurrent" = callPackage @@ -153741,8 +165092,8 @@ self: { }: mkDerivation { pname = "net-mqtt"; - version = "0.2.4.0"; - sha256 = "130dsj8qvf3yi29saz1l52dy15gsj2vr8hd118br137l1zf2g3g0"; + version = "0.2.4.1"; + sha256 = "0s0drakh05ygwkvlcd8z0f5168hvk8qmvdq3mg2bk1p2fjd2hfb2"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -153760,29 +165111,92 @@ self: { ]; description = "An MQTT Protocol Implementation"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "net-spider" = callPackage ({ mkDerivation, aeson, base, containers, data-interval, doctest , doctest-discover, extended-reals, greskell, greskell-websocket - , hashable, hspec, monad-logger, safe-exceptions, text, time - , unordered-containers, vector + , hashable, hspec, monad-logger, safe-exceptions, scientific, text + , time, unordered-containers, vector }: mkDerivation { pname = "net-spider"; - version = "0.2.0.0"; - sha256 = "0xka2fa5zxznm2fg5xmc2c2ppamwybdlmh5jqy00ivxjmliy20s0"; + version = "0.3.2.0"; + sha256 = "0b9k2gxb9nmjd59pcz7x8jrk2vycf8jk448ifpfc9spk6ylkh4gh"; libraryHaskellDepends = [ aeson base containers data-interval extended-reals greskell - greskell-websocket hashable monad-logger safe-exceptions text time - unordered-containers vector + greskell-websocket hashable monad-logger safe-exceptions scientific + text time unordered-containers vector ]; testHaskellDepends = [ - base doctest doctest-discover hspec vector + aeson base doctest doctest-discover hspec text vector ]; description = "A graph database middleware to maintain a time-varying graph"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "net-spider-cli" = callPackage + ({ mkDerivation, aeson, base, doctest, doctest-discover + , greskell-core, hashable, hspec, net-spider, optparse-applicative + , text + }: + mkDerivation { + pname = "net-spider-cli"; + version = "0.1.0.1"; + sha256 = "1qfzdfkiri3v344mk5zkc8mhxig3xmplcbw8382hkhsdmy4ny4ga"; + libraryHaskellDepends = [ + aeson base greskell-core hashable net-spider optparse-applicative + text + ]; + testHaskellDepends = [ + base doctest doctest-discover hspec net-spider optparse-applicative + ]; + description = "CLI option parsers for NetSpider objects"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "net-spider-pangraph" = callPackage + ({ mkDerivation, base, bytestring, doctest, doctest-discover + , greskell, hspec, net-spider, pangraph, text, time + }: + mkDerivation { + pname = "net-spider-pangraph"; + version = "0.1.1.0"; + sha256 = "1j3s379ri05jg3bzhiz6d8fjvxlkz00l7mrphqmr46j4y8d9vrkv"; + libraryHaskellDepends = [ + base bytestring greskell net-spider pangraph text time + ]; + testHaskellDepends = [ + base doctest doctest-discover hspec net-spider pangraph text + ]; + description = "Conversion between net-spider and pangraph"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "net-spider-rpl" = callPackage + ({ mkDerivation, aeson, base, greskell, hashable, hspec, ip + , net-spider, text, time + }: + mkDerivation { + pname = "net-spider-rpl"; + version = "0.2.1.0"; + sha256 = "07f51ym5v1mpa1v6249sgkxqd8y52fdgs8l2r59mxil1ph6al7x1"; + libraryHaskellDepends = [ + aeson base greskell hashable ip net-spider text time + ]; + testHaskellDepends = [ base hspec net-spider text ]; + description = "NetSpider data model and utility for RPL networks"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "netclock" = callPackage @@ -153797,6 +165211,7 @@ self: { description = "Netclock protocol"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "netcore" = callPackage @@ -153829,6 +165244,7 @@ self: { description = "The NetCore compiler and runtime system for OpenFlow networks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "netease-fm" = callPackage @@ -153858,6 +165274,7 @@ self: { description = "NetEase Cloud Music FM client in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "netlib-carray" = callPackage @@ -153877,8 +165294,8 @@ self: { ({ mkDerivation, base, comfort-array, netlib-ffi, transformers }: mkDerivation { pname = "netlib-comfort-array"; - version = "0.0"; - sha256 = "1lr28jpv4yznkfak9jvcmjnxfy6334bplvq8rkf7nsqs6jbjx3al"; + version = "0.0.0.1"; + sha256 = "0v4p1l8gjqkxncjrp6bv664x6xs3y6n5h76pvgccsja5rammwbp3"; libraryHaskellDepends = [ base comfort-array netlib-ffi transformers ]; @@ -153918,6 +165335,7 @@ self: { description = "Enumerator tools for text-based network protocols"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "netlink" = callPackage @@ -153967,10 +165385,8 @@ self: { }: mkDerivation { pname = "netpbm"; - version = "1.0.2"; - sha256 = "1my2zi26wspzh0pplfhgwj9vmkv41hwvrzl8k1virqsbm6y08sl4"; - revision = "1"; - editedCabalFile = "1vhwjv5c5gxn9l9982da54nzczbmj8rl09xn8ac7rix0zmmyvl50"; + version = "1.0.3"; + sha256 = "17cxh15wf7m9ljg0scd5i71ki95fiz8qhrfk4w1zvk4pf2gb7z38"; libraryHaskellDepends = [ attoparsec attoparsec-binary base bytestring storable-record unordered-containers vector vector-th-unbox @@ -153997,7 +165413,6 @@ self: { ]; description = "Parser for .netrc files"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "netrium" = callPackage @@ -154018,6 +165433,7 @@ self: { description = "Contract normaliser and simulator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "netspec" = callPackage @@ -154035,6 +165451,7 @@ self: { description = "Simplify static Networking tasks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "netstring-enumerator" = callPackage @@ -154049,6 +165466,7 @@ self: { description = "Enumerator-based netstring parsing"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nettle" = callPackage @@ -154061,6 +165479,8 @@ self: { pname = "nettle"; version = "0.3.0"; sha256 = "0pbxpxr9xdw3ha5lm9vnsbsvq0kzzsqv6gfk041ijllf1sc0hgyg"; + revision = "1"; + editedCabalFile = "1j8h6m4cj1ykxrsxmjiyb1c4mv6cawssgb8phl0aijrjn3b79f2b"; libraryHaskellDepends = [ base byteable bytestring crypto-cipher-types securemem tagged ]; @@ -154089,6 +165509,7 @@ self: { description = "FRP for controlling networks of OpenFlow switches"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nettle-netkit" = callPackage @@ -154105,6 +165526,7 @@ self: { description = "DSL for describing OpenFlow networks, and a compiler generating NetKit labs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nettle-openflow" = callPackage @@ -154122,6 +165544,7 @@ self: { description = "OpenFlow protocol messages, binary formats, and servers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "netwire" = callPackage @@ -154182,6 +165605,7 @@ self: { description = "JavaScript instance of netwire-input"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "netwire-vinylglfw-examples" = callPackage @@ -154205,6 +165629,7 @@ self: { description = "Netwire/GLFW/VinylGL input handling demo"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network_2_6_3_1" = callPackage @@ -154225,30 +165650,47 @@ self: { }) {}; "network" = callPackage - ({ mkDerivation, base, bytestring, directory, doctest, hspec, HUnit - , unix - }: - mkDerivation { - pname = "network"; - version = "2.8.0.0"; - sha256 = "00skcish0xmm67ax999nv1nll9rm3gqmn92099iczd73nxl55468"; - libraryHaskellDepends = [ base bytestring unix ]; - testHaskellDepends = [ - base bytestring directory doctest hspec HUnit - ]; - description = "Low-level networking interface"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "network_3_0_1_0" = callPackage - ({ mkDerivation, base, bytestring, deepseq, directory, hspec + ({ mkDerivation, base, bytestring, directory, doctest, hspec , hspec-discover, HUnit, unix }: mkDerivation { pname = "network"; - version = "3.0.1.0"; - sha256 = "1dk1dabj779sppjl8vbi4kw8l5da5yfc7x5yn0mjy9zrzlfwqq3l"; - libraryHaskellDepends = [ base bytestring deepseq unix ]; + version = "2.8.0.1"; + sha256 = "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"; + libraryHaskellDepends = [ base bytestring unix ]; + testHaskellDepends = [ + base bytestring directory doctest hspec HUnit + ]; + testToolDepends = [ hspec-discover ]; + description = "Low-level networking interface"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "network_3_0_1_1" = callPackage + ({ mkDerivation, base, bytestring, deepseq, directory, hspec + , hspec-discover, HUnit + }: + mkDerivation { + pname = "network"; + version = "3.0.1.1"; + sha256 = "1xacvl5wf47cz61igb94zf961b9ks0yhr02myxgjf53clm70dg6j"; + libraryHaskellDepends = [ base bytestring deepseq ]; + testHaskellDepends = [ base bytestring directory hspec HUnit ]; + testToolDepends = [ hspec-discover ]; + description = "Low-level networking interface"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "network_3_1_0_1" = callPackage + ({ mkDerivation, base, bytestring, deepseq, directory, hspec + , hspec-discover, HUnit + }: + mkDerivation { + pname = "network"; + version = "3.1.0.1"; + sha256 = "0r4x5ad7pl9fk7jknnv2wnizb83mi2ljambpavvarpj52b3mdwjs"; + libraryHaskellDepends = [ base bytestring deepseq ]; testHaskellDepends = [ base bytestring directory hspec HUnit ]; testToolDepends = [ hspec-discover ]; description = "Low-level networking interface"; @@ -154273,6 +165715,7 @@ self: { description = "IP data structures and textual representation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-anonymous-i2p" = callPackage @@ -154296,6 +165739,7 @@ self: { description = "Haskell API for I2P anonymous networking"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-anonymous-tor" = callPackage @@ -154325,6 +165769,8 @@ self: { ]; description = "Haskell API for Tor anonymous networking"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-api-support" = callPackage @@ -154343,6 +165789,7 @@ self: { description = "Toolkit for building http client libraries over Network.Http.Conduit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-arbitrary" = callPackage @@ -154364,6 +165811,8 @@ self: { testToolDepends = [ hspec-discover ]; description = "Arbitrary Instances for Network Types"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-attoparsec" = callPackage @@ -154411,11 +165860,25 @@ self: { }) {}; "network-bsd" = callPackage + ({ mkDerivation, base, network }: + mkDerivation { + pname = "network-bsd"; + version = "2.8.0.0"; + sha256 = "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"; + libraryHaskellDepends = [ base network ]; + doHaddock = false; + description = "Network.BSD"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "network-bsd_2_8_1_0" = callPackage ({ mkDerivation, base, deepseq, network }: mkDerivation { pname = "network-bsd"; version = "2.8.1.0"; sha256 = "0kid0811lv4x761fd5gv6lsc8p5j2bn41rfd366pjb642p562jfr"; + revision = "2"; + editedCabalFile = "1cqb720gl960zfzbzxakc2wvrvw8plncgarbb1v1hdzmdxw07js7"; libraryHaskellDepends = [ base deepseq network ]; description = "POSIX network database () API"; license = stdenv.lib.licenses.bsd3; @@ -154442,14 +165905,15 @@ self: { description = "Linux NetworkNameSpace Builder"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-byte-order" = callPackage ({ mkDerivation, base, bytestring, doctest }: mkDerivation { pname = "network-byte-order"; - version = "0.0.0.0"; - sha256 = "0wfy57ip87ksppggpz26grk4w144yld95mf2y0c6mhcs1l8z3div"; + version = "0.1.1.0"; + sha256 = "16prqgaqxn1h56gw9r446cq5a4jyaiplg50pjy1ji4k7cvcpx5vk"; libraryHaskellDepends = [ base bytestring ]; testHaskellDepends = [ base bytestring doctest ]; description = "Network byte order utilities"; @@ -154468,6 +165932,7 @@ self: { description = "Fast, memory-efficient, low-level networking"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-carbon" = callPackage @@ -154529,6 +165994,7 @@ self: { description = "A wrapper around a generic stream-like connection"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-data" = callPackage @@ -154595,6 +166061,7 @@ self: { description = "Enumerators for network sockets"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-fancy" = callPackage @@ -154618,6 +166085,7 @@ self: { description = "HaNS to Network shims for easier HaNS integration"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-house" = callPackage @@ -154637,6 +166105,8 @@ self: { pname = "network-info"; version = "0.2.0.10"; sha256 = "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"; + revision = "1"; + editedCabalFile = "07kiw56lhc56kqrnvpa11f5nnnid6by3aq00jrkcbbg7w0q71a6d"; libraryHaskellDepends = [ base ]; description = "Access the local computer's basic network configuration"; license = stdenv.lib.licenses.bsd3; @@ -154652,6 +166122,7 @@ self: { description = "Haskell bindings for the ifreq structure"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-ip" = callPackage @@ -154681,8 +166152,8 @@ self: { }: mkDerivation { pname = "network-messagepack-rpc"; - version = "0.1.1.0"; - sha256 = "13q3dr0l5a5yd693hb2h5nw86kxcw7vbm41dw3lbky7jr8hh2r0h"; + version = "0.1.1.1"; + sha256 = "1cmll84ida19f53cdvwi8nqym6bax8f0g40nq1a1gkh6mljby5a4"; libraryHaskellDepends = [ base bytestring data-msgpack safe-exceptions text unordered-containers @@ -154710,6 +166181,7 @@ self: { description = "WebSocket backend for MessagePack RPC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-metrics" = callPackage @@ -154746,6 +166218,7 @@ self: { description = "A ByteString based library for writing HTTP(S) servers and clients"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-msg" = callPackage @@ -154781,15 +166254,16 @@ self: { description = "A MessagePack-RPC Implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-multicast" = callPackage - ({ mkDerivation, base, network }: + ({ mkDerivation, base, network, network-bsd }: mkDerivation { pname = "network-multicast"; - version = "0.2.0"; - sha256 = "1wkmx5gic0zqghxxdyyrcysfaj1aknj53v50qq6c40d4qfmm0fqg"; - libraryHaskellDepends = [ base network ]; + version = "0.3.2"; + sha256 = "0whvi0pbwjy6dbwfdf9rv1j3yr3lcmfp3q7a8pwq63g537l4l2l3"; + libraryHaskellDepends = [ base network network-bsd ]; description = "Simple multicast library"; license = stdenv.lib.licenses.publicDomain; }) {}; @@ -154809,6 +166283,7 @@ self: { description = "Haskell bindings for low-level packet sockets (AF_PACKET)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-pgi" = callPackage @@ -154842,6 +166317,7 @@ self: { description = "Client library for the XMPP protocol"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-rpca" = callPackage @@ -154860,6 +166336,20 @@ self: { description = "A cross-platform RPC library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "network-run" = callPackage + ({ mkDerivation, base, network }: + mkDerivation { + pname = "network-run"; + version = "0.1.0"; + sha256 = "16n7d0vgzcp6qq3y2vs1wjlj81xdi3a1kyk9qncmj3h7djav3r5b"; + libraryHaskellDepends = [ base network ]; + description = "Simple network runner library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-server" = callPackage @@ -154875,6 +166365,7 @@ self: { description = "A light abstraction over sockets & co. for servers"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-service" = callPackage @@ -154891,20 +166382,20 @@ self: { description = "Provide a service at the data type level"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-simple" = callPackage - ({ mkDerivation, base, bytestring, network, safe-exceptions, socks - , transformers + ({ mkDerivation, base, bytestring, network, network-bsd + , safe-exceptions, socks, transformers }: mkDerivation { pname = "network-simple"; - version = "0.4.3"; - sha256 = "0a4hag26ry6lg90q4ppchvrm5xaij50jd4633mhfkfq8scgczm8d"; - revision = "1"; - editedCabalFile = "1xyz4b24vgnidvd43cfmf0k6090dayhfcp6n8x894ibd2mq3vash"; + version = "0.4.5"; + sha256 = "17hpgcwrsx2h8lrb2wwzy0anp33mn80dnwcgnqmb8prajwjvz807"; libraryHaskellDepends = [ - base bytestring network safe-exceptions socks transformers + base bytestring network network-bsd safe-exceptions socks + transformers ]; description = "Simple network sockets usage patterns"; license = stdenv.lib.licenses.bsd3; @@ -154924,6 +166415,7 @@ self: { description = "network-simple for resolved addresses"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-simple-tls" = callPackage @@ -154933,8 +166425,8 @@ self: { }: mkDerivation { pname = "network-simple-tls"; - version = "0.3.1"; - sha256 = "12kwi2jc8g310wrw7ynq2hfhkxhh95qn0fy205g7a48xrw75npyj"; + version = "0.3.2"; + sha256 = "09fw7ynvry0wjc2nip6kwncl662f7glzq1akiwgh09bwnpbswxsh"; libraryHaskellDepends = [ base bytestring data-default network network-simple safe-exceptions tls transformers x509 x509-store x509-system x509-validation @@ -154943,6 +166435,38 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "network-simple-ws" = callPackage + ({ mkDerivation, base, bytestring, case-insensitive, network-simple + , safe-exceptions, websockets + }: + mkDerivation { + pname = "network-simple-ws"; + version = "0.1"; + sha256 = "04a0q4q7idah834dvgkl4j1a8fjgrw9qkxppmk5jnvdphq6sxxzd"; + libraryHaskellDepends = [ + base bytestring case-insensitive network-simple safe-exceptions + websockets + ]; + description = "Simple interface to WebSockets"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "network-simple-wss" = callPackage + ({ mkDerivation, base, bytestring, network-simple-tls + , network-simple-ws, safe-exceptions, websockets + }: + mkDerivation { + pname = "network-simple-wss"; + version = "0.1"; + sha256 = "1wmicn9zyf4308spf1s7dd4xbi8hfwksdigf62jdm87ywv8jd6rj"; + libraryHaskellDepends = [ + base bytestring network-simple-tls network-simple-ws + safe-exceptions websockets + ]; + description = "Simple interface to TLS secured WebSockets"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "network-socket-options" = callPackage ({ mkDerivation, base, network }: mkDerivation { @@ -154969,6 +166493,7 @@ self: { description = "ByteString and Text streams for networking"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-topic-models" = callPackage @@ -154991,6 +166516,7 @@ self: { description = "A few network topic model implementations for bayes-stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-transport" = callPackage @@ -154999,8 +166525,8 @@ self: { }: mkDerivation { pname = "network-transport"; - version = "0.5.2"; - sha256 = "0m4hixari440lymj43l9q4485gz6i9a768g7mnzwfynn8cmng5g7"; + version = "0.5.4"; + sha256 = "0izcqi3zl7ynav0qqrrfmiax8vziqwrhflprddhjj6x6nkzhp1sv"; libraryHaskellDepends = [ base binary bytestring deepseq hashable transformers ]; @@ -155032,6 +166558,7 @@ self: { description = "AMQP-based transport layer for distributed-process (aka Cloud Haskell)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-transport-composed" = callPackage @@ -155064,6 +166591,7 @@ self: { description = "In-memory instantiation of Network.Transport"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-transport-tcp" = callPackage @@ -155083,6 +166611,7 @@ self: { description = "TCP instantiation of Network.Transport"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-transport-tests" = callPackage @@ -155100,6 +166629,7 @@ self: { description = "Unit tests for Network.Transport implementations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-transport-zeromq" = callPackage @@ -155128,7 +166658,6 @@ self: { ]; description = "ZeroMQ backend for network-transport"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "network-uri" = callPackage @@ -155170,8 +166699,8 @@ self: { }: mkDerivation { pname = "network-uri-json"; - version = "0.3.0.0"; - sha256 = "15qw2knzj5b90vb4rhzxiv9wxdv41f5l75hpp4y0ycc60q5xja27"; + version = "0.3.1.1"; + sha256 = "0akyhgi79pzhvfq47risrqmr6hi409fnz1ivwpwwfc4laimf3mky"; libraryHaskellDepends = [ aeson base network-uri text ]; testHaskellDepends = [ aeson base hspec network-arbitrary network-uri test-invariant text @@ -155179,15 +166708,17 @@ self: { testToolDepends = [ hspec-discover ]; description = "FromJSON and ToJSON Instances for Network.URI"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-uri-lenses" = callPackage - ({ mkDerivation, base, lens, network-uri }: + ({ mkDerivation, base, network-uri }: mkDerivation { pname = "network-uri-lenses"; - version = "0.2.0.0"; - sha256 = "08yvcvpqwibxpqjz3qbkvks1aqgbshdc9chnj8b49yd1vdrzx41p"; - libraryHaskellDepends = [ base lens network-uri ]; + version = "0.2.1.0"; + sha256 = "1z4qqdr2b64pf5xx73bqgjrlqnvi0x6ziqqbzc7x1ka736cdak2w"; + libraryHaskellDepends = [ base network-uri ]; description = "Lenses for network-uri"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -155219,6 +166750,7 @@ self: { description = "VoiceText Web API wrapper"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-wai-router" = callPackage @@ -155231,6 +166763,7 @@ self: { description = "A routing library for wai"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "network-websocket" = callPackage @@ -155245,6 +166778,7 @@ self: { description = "WebSocket library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "networked-game" = callPackage @@ -155263,6 +166797,7 @@ self: { description = "Networked-game support library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "neural" = callPackage @@ -155296,6 +166831,7 @@ self: { description = "Neural Networks in native Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "neural-network-base" = callPackage @@ -155327,6 +166863,7 @@ self: { description = "Yet Another High Performance and Extendable Neural Network in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "neural-network-hmatrix" = callPackage @@ -155345,8 +166882,42 @@ self: { description = "Yet Another High Performance and Extendable Neural Network in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) blas;}; + "newhope" = callPackage + ({ mkDerivation, AES, base, bytestring, containers, deepseq, hspec + , HUnit, mtl, parallel, QuickCheck, raw-strings-qq, statistics + , system-fileio, system-filepath, tasty, tasty-expected-failure + , tasty-hunit, tasty-quickcheck, text, trifecta, vector + }: + mkDerivation { + pname = "newhope"; + version = "0.1.0.0"; + sha256 = "1yqxdir74mdi2dkccl1wcr2xzxrvg6y8ssskdq0laxb3q8xyzpwa"; + revision = "1"; + editedCabalFile = "18508knx0m46k9wpcxdvb1kahg5vrqc734ifwam9q5kljpm9l0sy"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + AES base bytestring containers deepseq mtl vector + ]; + executableHaskellDepends = [ + AES base bytestring containers deepseq mtl system-fileio + system-filepath tasty-quickcheck text vector + ]; + testHaskellDepends = [ + AES base bytestring containers deepseq hspec HUnit mtl parallel + QuickCheck raw-strings-qq statistics system-fileio system-filepath + tasty tasty-expected-failure tasty-hunit tasty-quickcheck text + trifecta vector + ]; + description = "Library implementing the NewHope cryptographic key-exchange protocol"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "newports" = callPackage ({ mkDerivation, base, directory, old-time }: mkDerivation { @@ -155359,19 +166930,67 @@ self: { description = "List ports newer than N days on a FreeBSD system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "newsletter" = callPackage + ({ mkDerivation, aeson, base, blaze-html, bytestring, clientsession + , email-validate, http-api-data, lens, machines, mime-mail, mtl + , network-uri, psqueues, random, servant, servant-blaze + , servant-server, stm, text, time, unordered-containers, warp + }: + mkDerivation { + pname = "newsletter"; + version = "0"; + sha256 = "1cpc0g8bzx7dzvvs3pn76q8y7fkcz2jbh26jfss8bpfy5rwnfmd1"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base blaze-html bytestring clientsession email-validate + http-api-data lens machines mime-mail mtl network-uri psqueues + random servant servant-blaze servant-server stm text time + unordered-containers + ]; + executableHaskellDepends = [ + aeson base blaze-html bytestring clientsession email-validate + http-api-data lens machines mime-mail mtl network-uri psqueues + random servant servant-blaze servant-server stm text time + unordered-containers warp + ]; + description = "A basic newsletter implimentation, using various backends"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "newsletter-mailgun" = callPackage + ({ mkDerivation, base, exceptions, lens, machines, mailgun + , mime-mail, mtl, newsletter, text + }: + mkDerivation { + pname = "newsletter-mailgun"; + version = "0"; + sha256 = "1xzi6kb1mvvj0541l3dvyxwhlhwhw7iyrxqw585lhhinqzkp6zy0"; + libraryHaskellDepends = [ + base exceptions lens machines mailgun mime-mail mtl newsletter text + ]; + description = "A mailgun backend for the newsletter package"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "newsynth" = callPackage - ({ mkDerivation, base, containers, fixedprec, random, superdoc - , time + ({ mkDerivation, base, Cabal, containers, fixedprec, random + , superdoc, time }: mkDerivation { pname = "newsynth"; - version = "0.3.0.4"; - sha256 = "0w31h7xqv9sk0jb1mdviv107w8y7v018bzdvdw8gcrjyvp47307q"; + version = "0.4.0.0"; + sha256 = "1whipzp8gw08kgy3jyf4bvvjc69nbh2wpm4bv4ymf5m4fb0ikrvh"; isLibrary = true; isExecutable = true; - setupHaskellDepends = [ base superdoc ]; + setupHaskellDepends = [ base Cabal superdoc ]; libraryHaskellDepends = [ base containers fixedprec random ]; executableHaskellDepends = [ base random time ]; description = "Exact and approximate synthesis of quantum circuits"; @@ -155397,14 +167016,15 @@ self: { description = "A trivially simple app to create things from simple templates"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "newtype" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "newtype"; - version = "0.2"; - sha256 = "0ng4i5r73256gzwl6bw57h0abqixj783c3ggph1hk2wsplx0655p"; + version = "0.2.1.0"; + sha256 = "03fr1yfip09dvwff87dssy7r0vrv4rv184flxnp9gjzbg6h9byvb"; libraryHaskellDepends = [ base ]; description = "A typeclass and set of functions for working with newtypes"; license = stdenv.lib.licenses.bsd3; @@ -155425,6 +167045,7 @@ self: { description = "Instance derivers for newtype wrappers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "newtype-generics" = callPackage @@ -155460,6 +167081,7 @@ self: { description = "A template haskell deriver to create Control.Newtype instances."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "newtyper" = callPackage @@ -155484,6 +167106,7 @@ self: { description = "A concurrency primitive for a slow consumer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nextstep-plist" = callPackage @@ -155496,6 +167119,7 @@ self: { description = "NextStep style plist parser and printer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nf" = callPackage @@ -155523,6 +167147,7 @@ self: { description = "libnfc bindings"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {nfc = null;}; "ngram" = callPackage @@ -155563,6 +167188,7 @@ self: { description = "Ngrams loader based on http://www.ngrams.info format"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ngx-export" = callPackage @@ -155571,8 +167197,8 @@ self: { }: mkDerivation { pname = "ngx-export"; - version = "1.7.0.1"; - sha256 = "0gaj4v8hzjjljr5v3l1by6rhin2k8a2wsaff61s5g77gdkcmi2i5"; + version = "1.7.1"; + sha256 = "0dylj1i6370r1yz2rgjpjs5ynsvaqshgvz71200r0q2hqqznax6d"; libraryHaskellDepends = [ async base binary bytestring deepseq monad-loops template-haskell unix @@ -155587,8 +167213,8 @@ self: { }: mkDerivation { pname = "ngx-export-tools"; - version = "0.4.4.0"; - sha256 = "19x6qzryjdac1alq4wsmy0as6258ga9b3ga3iszqwvqjdpc89a6n"; + version = "0.4.6.0"; + sha256 = "0bvyh1b8q2mh2labaykc7lndr2rfhzmkw8c7b56pxsa2fypfl232"; libraryHaskellDepends = [ aeson base binary bytestring ngx-export safe template-haskell ]; @@ -155596,6 +167222,23 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "ngx-export-tools-extra" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers + , enclosed-exceptions, http-client, ngx-export-tools, snap-core + , snap-server, template-haskell, text, time + }: + mkDerivation { + pname = "ngx-export-tools-extra"; + version = "0.1.0.0"; + sha256 = "0j3bfrmic9zrivsnaf4kzf5bf0inianmnn7v0c21s5ip775k5jy8"; + libraryHaskellDepends = [ + aeson base bytestring containers enclosed-exceptions http-client + ngx-export-tools snap-core snap-server template-haskell text time + ]; + description = "More extra tools for Nginx haskell module"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "niagra" = callPackage ({ mkDerivation, base, ghc-prim, HUnit, mtl, primitive, QuickCheck , text, transformers @@ -155611,6 +167254,7 @@ self: { description = "High performance CSS EDSL"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nibblestring" = callPackage @@ -155632,6 +167276,7 @@ self: { description = "Packed, strict nibble arrays with a list interface (ByteString for nibbles)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nice-html" = callPackage @@ -155656,6 +167301,7 @@ self: { description = "A fast and nice HTML templating library with distinct compilation/rendering phases"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nicify" = callPackage @@ -155703,6 +167349,7 @@ self: { description = "Nico Nico Douga (ニコニコ動画) Comment Translator"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nikepub" = callPackage @@ -155724,18 +167371,18 @@ self: { description = "Command line utility publishes Nike+ runs on blogs and Twitter"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nimber" = callPackage - ({ mkDerivation, arithmoi, base }: + ({ mkDerivation, base, integer-logarithms }: mkDerivation { pname = "nimber"; - version = "0.1.3"; - sha256 = "0350fmddnfp09051i89fl5ibrxqy36cx5560l00cjssx2gs2dh8w"; - libraryHaskellDepends = [ arithmoi base ]; + version = "0.1.4"; + sha256 = "1k177w8lccpqq4mwj089v7fbqvbrqskqxqj0gaingm0kmskggaaj"; + libraryHaskellDepends = [ base integer-logarithms ]; description = "Finite nimber arithmetic"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "nirum" = callPackage @@ -155775,6 +167422,7 @@ self: { description = "IDL compiler and RPC/distributed object framework for microservices"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nist-beacon" = callPackage @@ -155800,6 +167448,35 @@ self: { description = "Haskell bindings for Nitro"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "niv" = callPackage + ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory + , file-embed, filepath, github, hashable, mtl, optparse-applicative + , process, string-qq, tasty, tasty-hunit, text, unliftio + , unordered-containers + }: + mkDerivation { + pname = "niv"; + version = "0.1.1"; + sha256 = "1vrn5b753i949nf28g1wckqiax7pn4qx2xk5z7wdbx0w212nps8w"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson aeson-pretty base bytestring directory file-embed filepath + github hashable mtl optparse-applicative process string-qq tasty + tasty-hunit text unliftio unordered-containers + ]; + executableHaskellDepends = [ + aeson aeson-pretty base bytestring directory file-embed filepath + github hashable mtl optparse-applicative process string-qq tasty + text unliftio unordered-containers + ]; + description = "Easy dependency management for Nix projects"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nix-delegate" = callPackage @@ -155868,8 +167545,8 @@ self: { }: mkDerivation { pname = "nix-diff"; - version = "1.0.6"; - sha256 = "0ls3zh769ibba1f5igwxvm49nyp2iljx9msgawi6g01s4469yzxv"; + version = "1.0.7"; + sha256 = "0zf09wffmzkk6rbk5nx4qhygpb6m492mz422w9a71dzv1icxkbfs"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -155886,14 +167563,13 @@ self: { }: mkDerivation { pname = "nix-eval"; - version = "0.3.3.0"; - sha256 = "1c8hg66s66hkn7f31ynw0km4bpdzhv0zdslzkpycvd36m3jm1wjb"; + version = "0.4.1.0"; + sha256 = "12krdqvkfxk587nnnddwmch5v0gpyfhmhjiwyjbf60aby0yj0xb4"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base hindent process strict ]; testHaskellDepends = [ base QuickCheck tasty tasty-quickcheck ]; description = "Evaluate Haskell expressions using Nix to get packages"; license = "GPL"; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "nix-paths" = callPackage @@ -155934,6 +167610,7 @@ self: { description = "Generate nix expressions from npm packages"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nixos-types" = callPackage @@ -155969,7 +167646,6 @@ self: { ]; description = "Tool for semi-automatic updating of nixpkgs repository"; license = stdenv.lib.licenses.publicDomain; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "nkjp" = callPackage @@ -155989,6 +167665,7 @@ self: { description = "Manipulating the National Corpus of Polish (NKJP)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nlopt-haskell" = callPackage @@ -156014,6 +167691,7 @@ self: { description = "Scoring functions commonly used for evaluation in NLP and IR"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nlp-scores-scripts" = callPackage @@ -156030,6 +167708,7 @@ self: { description = "NLP scoring command-line programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nm" = callPackage @@ -156047,6 +167726,7 @@ self: { description = "Network Manager, binding to libnm-glib"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {g = null; inherit (pkgs) glib; libnm-glib = null; nm-glib = null;}; @@ -156088,6 +167768,8 @@ self: { testHaskellDepends = [ base tasty tasty-hspec tasty-quickcheck ]; description = "A tiny neural network"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nntp" = callPackage @@ -156104,6 +167786,7 @@ self: { description = "Library to connect to an NNTP Server"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "no-buffering-workaround" = callPackage @@ -156128,6 +167811,18 @@ self: { description = "Role annotations without -XRoleAnnotations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "no-value" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "no-value"; + version = "1.0.0.0"; + sha256 = "1jczx8d4ah74wiishdcv335hlr0330wwq0vfb5rv4gmrvbpkgllf"; + libraryHaskellDepends = [ base ]; + description = "A type class for choosing sentinel-like values"; + license = stdenv.lib.licenses.bsd3; }) {}; "noether" = callPackage @@ -156151,6 +167846,7 @@ self: { description = "Math in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nofib-analyse" = callPackage @@ -156165,6 +167861,7 @@ self: { description = "Parse and compare nofib runs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nofib-analyze" = callPackage @@ -156179,6 +167876,7 @@ self: { description = "Parse and compare nofib runs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "noise" = callPackage @@ -156203,6 +167901,7 @@ self: { description = "A friendly language for graphic design"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nominal" = callPackage @@ -156358,11 +168057,12 @@ self: { }: mkDerivation { pname = "non-empty"; - version = "0.3.1"; - sha256 = "0118vf88pzx1spzx4amc9sxz5vdrmfpryp816fh9l7k5hnzhy0bh"; + version = "0.3.2"; + sha256 = "0j47d1xaxi2ynsa3wckapjbcvzr66cwca74xpzi554ba70agq40v"; libraryHaskellDepends = [ base containers deepseq QuickCheck utility-ht ]; + testHaskellDepends = [ base containers QuickCheck utility-ht ]; description = "List-like structures with static restrictions on the number of elements"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -156412,6 +168112,7 @@ self: { description = "The Zipper for NonEmpty"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "non-negative" = callPackage @@ -156471,8 +168172,8 @@ self: { }: mkDerivation { pname = "nonempty-containers"; - version = "0.1.1.0"; - sha256 = "1vhpanz5n7fljc86kxif9kp9fr75wr87wy1fmawd7c5qmhk1b61k"; + version = "0.3.1.0"; + sha256 = "15flyfv6w4078wk69d2nb2lx21b76xr6c34rxs0w8jz1mb497f6l"; libraryHaskellDepends = [ base comonad containers deepseq semigroupoids these ]; @@ -156482,7 +168183,22 @@ self: { ]; description = "Non-empty variants of containers data types, with full API"; license = stdenv.lib.licenses.bsd3; + }) {}; + + "nonempty-lift" = callPackage + ({ mkDerivation, base, comonad, hedgehog, hedgehog-classes + , semigroupoids + }: + mkDerivation { + pname = "nonempty-lift"; + version = "0.1"; + sha256 = "0zz6kh0ihbpjsigs2ssqcif6i85y9ykpx739yzpqz0drqn4013g8"; + libraryHaskellDepends = [ base comonad semigroupoids ]; + testHaskellDepends = [ base hedgehog hedgehog-classes ]; + description = "nonempty structure"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nonemptymap" = callPackage @@ -156516,7 +168232,6 @@ self: { libraryHaskellDepends = [ base primitive vector ]; description = "Various iterative algorithms for optimization of nonlinear functions"; license = "GPL"; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "nonlinear-optimization-ad" = callPackage @@ -156536,7 +168251,6 @@ self: { ]; description = "Wrapper of nonlinear-optimization package for using with AD package"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "noodle" = callPackage @@ -156587,6 +168301,7 @@ self: { description = "Normalization insensitive string comparison"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "normalize" = callPackage @@ -156656,6 +168371,7 @@ self: { description = "examples for not-gloss"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "not-in-base" = callPackage @@ -156681,20 +168397,46 @@ self: { description = "Avoiding the C preprocessor via cunning use of Template Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "notmuch" = callPackage - ({ mkDerivation, base, bytestring, c2hs, deepseq, mtl, notmuch - , profunctors, tagged, talloc, text, time + "notifications-tray-icon" = callPackage + ({ mkDerivation, aeson, async, base, bytestring, containers, dbus + , gi-dbusmenu, gi-gio, gi-glib, github, haskeline, hslogger + , http-conduit, http-types, optparse-applicative, process + , regex-compat, status-notifier-item, text, transformers, tuple + , vector }: mkDerivation { - pname = "notmuch"; - version = "0.2.0.0"; - sha256 = "1w3g4747q02m0r0n8l5bkfp8icwwnvkp4bf9amkh7h80vidzmspy"; + pname = "notifications-tray-icon"; + version = "0.1.0.0"; + sha256 = "0w047kwqccwkcykmryn3dmf3kkpjkcffz0slsmyf52va604kk7x4"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base bytestring deepseq mtl profunctors tagged text time + aeson async base bytestring containers dbus gi-dbusmenu gi-gio + gi-glib github hslogger http-conduit http-types process + regex-compat status-notifier-item text transformers vector + ]; + executableHaskellDepends = [ + base bytestring github haskeline hslogger optparse-applicative text + transformers tuple + ]; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "notmuch" = callPackage + ({ mkDerivation, base, bytestring, c2hs, deepseq, filepath, mtl + , notmuch, profunctors, tagged, talloc, text, time + }: + mkDerivation { + pname = "notmuch"; + version = "0.3.0.0"; + sha256 = "0f4sq7wajxr9d614gyw727g2zbsbfbaw4spni1hgs9c9rllxrmsn"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring deepseq filepath mtl profunctors tagged text time ]; librarySystemDepends = [ notmuch talloc ]; libraryToolDepends = [ c2hs ]; @@ -156719,6 +168461,7 @@ self: { description = "Binding for notmuch MUA library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) notmuch;}; "notmuch-web" = callPackage @@ -156757,6 +168500,7 @@ self: { description = "A web interface to the notmuch email indexer"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "notzero" = callPackage @@ -156776,6 +168520,44 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "now-haskell" = callPackage + ({ mkDerivation, aeson, aeson-pretty, aws-lambda-runtime, base + , base64-bytestring, bytestring, Cabal, case-insensitive + , containers, deepseq, directory, exceptions, filepath + , fused-effects, ghc-lib-parser, hspec, http-api-data, http-client + , http-client-tls, http-media, http-types, iso8601-time, katip + , memory, microlens, mtl, network, QuickCheck, random + , safe-exceptions, semigroups, stack, text, time, transformers + , unordered-containers, vector, wai, yaml + }: + mkDerivation { + pname = "now-haskell"; + version = "0.1.0.0"; + sha256 = "1246jc17bcsm5jmpcbn9w5l5mnq2vvkya1q7jrw7ip5wwi6vaw7m"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base base64-bytestring bytestring case-insensitive containers + deepseq exceptions http-api-data http-client http-client-tls + http-media http-types iso8601-time katip memory microlens mtl + network random safe-exceptions text time transformers + unordered-containers vector wai + ]; + executableHaskellDepends = [ + aeson aeson-pretty base bytestring Cabal containers directory + filepath fused-effects ghc-lib-parser stack text yaml + ]; + testHaskellDepends = [ + aeson aws-lambda-runtime base bytestring containers hspec + iso8601-time mtl QuickCheck semigroups text time transformers + unordered-containers vector + ]; + description = "Zeit Now haskell-side integration and introspection tools"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "nowdoc" = callPackage ({ mkDerivation, base, bytestring, template-haskell }: mkDerivation { @@ -156801,7 +168583,6 @@ self: { libraryHaskellDepends = [ base containers numeric-prelude primes ]; description = "NumericPrelude extras"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "np-linear" = callPackage @@ -156818,6 +168599,7 @@ self: { description = "Linear algebra for the numeric-prelude framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nptools" = callPackage @@ -156837,6 +168619,7 @@ self: { description = "A collection of random tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nqe" = callPackage @@ -156864,8 +168647,8 @@ self: { }: mkDerivation { pname = "nsis"; - version = "0.3.2"; - sha256 = "1jhmiydkiii350h6gdj8f6k8d0drsbp6a2dji4nik72nca6mp65r"; + version = "0.3.3"; + sha256 = "12vp44g56x6lkagh9qm5rf0hfrn7kqk4jxsswlml60iji7r8x9mx"; libraryHaskellDepends = [ base transformers uniplate ]; testHaskellDepends = [ base directory process transformers uniplate @@ -156911,6 +168694,8 @@ self: { testHaskellDepends = [ base containers hspec pretty ]; description = "A tiny statically typed functional programming language"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nthable" = callPackage @@ -156964,6 +168749,7 @@ self: { description = "NTRIP client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ntype" = callPackage @@ -156993,6 +168779,7 @@ self: { description = "HTML5 Canvas Graphics Library - forked Blank Canvas"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nullary" = callPackage @@ -157005,6 +168792,7 @@ self: { description = "A package for working with nullary type classes"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nullpipe" = callPackage @@ -157018,6 +168806,7 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "num-non-negative" = callPackage @@ -157067,8 +168856,8 @@ self: { pname = "number-show"; version = "0.1.0.0"; sha256 = "01lywbcqg46wrd3qy0jikkh1p45yflypf1vcmrw75qpwji2afjry"; - revision = "1"; - editedCabalFile = "0wzim9xpm78rd71jcgfrz427rjvyvrb7qilkcvw78si7mj9wsxcc"; + revision = "2"; + editedCabalFile = "1lsxi6704g6svw0834haggp6j97kb6r51583lr2a3kn1ni2zh60c"; libraryHaskellDepends = [ base microlens microlens-th ]; description = "Flexible and accurate (for a given precision) numerical->string conversion"; license = stdenv.lib.licenses.gpl3; @@ -157080,10 +168869,13 @@ self: { pname = "numbered-semigroups"; version = "0.1.0.0"; sha256 = "100r6k3cwycl75mj9g1x4w4qv064v8bdaan5rsj2vnvx4w1jrhp2"; + revision = "2"; + editedCabalFile = "04wkhb2r275nax8wh00w6c4pxfaky190g2bsviw39jyi7wr2f33c"; libraryHaskellDepends = [ base call-stack semigroups ]; description = "A sequence of semigroups, for composing stuff in multiple spatial directions"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "numbering" = callPackage @@ -157133,6 +168925,7 @@ self: { description = "Convert numbers to number words"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "numerals-base" = callPackage @@ -157155,6 +168948,7 @@ self: { description = "Convert numbers to number words"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "numeric-extras" = callPackage @@ -157206,6 +169000,7 @@ self: { description = "Ode solvers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "numeric-prelude" = callPackage @@ -157243,6 +169038,7 @@ self: { description = "Quasi-quoters for numbers of different bases"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "numeric-quest" = callPackage @@ -157270,6 +169066,7 @@ self: { description = "A framework for numeric ranges"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "numeric-tools" = callPackage @@ -157304,6 +169101,7 @@ self: { description = "core package for Numerical Haskell project"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "numericpeano" = callPackage @@ -157321,33 +169119,52 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "numhask"; - version = "0.2.3.1"; - sha256 = "04f1gzfhaikwazvdz0aigf6lz8yk75p8ji9pjb0wsdyxs8mly21k"; + version = "0.3.0.0"; + sha256 = "1zkiqav683mmghxz0hj0wjzg3sf95zfd4ghicw674d9j3vl4gmcw"; libraryHaskellDepends = [ base ]; description = "numeric classes"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "numhask-array" = callPackage ({ mkDerivation, adjunctions, base, deepseq, dimensions - , distributive, doctest, numhask-prelude, protolude, QuickCheck - , singletons, tasty, tasty-quickcheck, vector + , distributive, doctest, hedgehog, numhask-hedgehog + , numhask-prelude, protolude, singletons, vector }: mkDerivation { pname = "numhask-array"; - version = "0.2.1.0"; - sha256 = "0d800ghafzfyz6afnaqza6b44pmjh8zq0gbxvxg2ach2wfcknd0h"; + version = "0.3.0.1"; + sha256 = "02pcjnj1y3q053czra9697b4xgyq8dr9ynp7yz3lj9ksnn8dpx5n"; libraryHaskellDepends = [ adjunctions base deepseq dimensions distributive numhask-prelude - protolude QuickCheck singletons vector + protolude singletons vector ]; testHaskellDepends = [ - base doctest numhask-prelude tasty tasty-quickcheck + adjunctions base dimensions doctest hedgehog numhask-hedgehog + numhask-prelude ]; description = "n-dimensional arrays"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "numhask-hedgehog" = callPackage + ({ mkDerivation, base, hedgehog, numhask, numhask-prelude + , numhask-space + }: + mkDerivation { + pname = "numhask-hedgehog"; + version = "0.3"; + sha256 = "0f7h2ah0z63v40hnk4fcxhj4b8qzi1fy8hipxwvi29g0mvpkxjds"; + libraryHaskellDepends = [ + base hedgehog numhask numhask-prelude numhask-space + ]; + testHaskellDepends = [ base hedgehog numhask numhask-prelude ]; + description = "Laws and tests for numhask"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "numhask-histogram" = callPackage @@ -157365,19 +169182,22 @@ self: { description = "See readme.md"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "numhask-prelude" = callPackage - ({ mkDerivation, base, doctest, numhask, protolude }: + ({ mkDerivation, base, doctest, numhask, numhask-space, protolude + }: mkDerivation { pname = "numhask-prelude"; - version = "0.1.0.1"; - sha256 = "0px2ijdzll1912h652dvncvjhapwrg2z1dni87w2afzk477mpwdi"; - libraryHaskellDepends = [ base numhask protolude ]; + version = "0.3.1"; + sha256 = "1j9da7ldacfzkw4yxrc84p0diygvbglj4xdqj9bam8ld2hv5i1mq"; + libraryHaskellDepends = [ base numhask numhask-space protolude ]; testHaskellDepends = [ doctest ]; description = "A numeric prelude"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "numhask-range" = callPackage @@ -157399,6 +169219,22 @@ self: { description = "Numbers that are range representations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "numhask-space" = callPackage + ({ mkDerivation, adjunctions, base, distributive, numhask + , semigroupoids + }: + mkDerivation { + pname = "numhask-space"; + version = "0.1.1"; + sha256 = "1rf86fbyrbs2a1dxrbr35a2dhfimclindlb4iimijs28is0zdz8s"; + libraryHaskellDepends = [ + adjunctions base distributive numhask semigroupoids + ]; + description = "numerical spaces"; + license = stdenv.lib.licenses.bsd3; }) {}; "numhask-test" = callPackage @@ -157416,6 +169252,7 @@ self: { description = "Laws and tests for numhask"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nums" = callPackage @@ -157505,43 +169342,39 @@ self: { "nvim-hs" = callPackage ({ mkDerivation, base, bytestring, cereal, cereal-conduit, conduit - , containers, data-default, deepseq, directory, dyre, filepath - , foreign-store, hslogger, hspec, hspec-discover, HUnit, megaparsec - , messagepack, mtl, network, optparse-applicative, prettyprinter - , prettyprinter-ansi-terminal, process, QuickCheck, resourcet - , setenv, stm, streaming-commons, template-haskell, text, time - , time-locale-compat, transformers, transformers-base, unliftio - , unliftio-core, utf8-string, void + , containers, data-default, deepseq, foreign-store, hslogger, hspec + , hspec-discover, HUnit, megaparsec, messagepack, mtl, network + , optparse-applicative, path, path-io, prettyprinter + , prettyprinter-ansi-terminal, QuickCheck, resourcet, stm + , streaming-commons, template-haskell, text, time + , time-locale-compat, transformers, transformers-base + , typed-process, unliftio, unliftio-core, utf8-string, vector, void }: mkDerivation { pname = "nvim-hs"; - version = "1.0.0.3"; - sha256 = "07pnabrb9hs2l8ajrzcs3wz1m9vfq88wqjirf84ygmmnnd8dva71"; - isLibrary = true; - isExecutable = true; + version = "2.1.0.2"; + sha256 = "0amlvrh213n9cfqax5gcy7zq3fd8q9hcskhjkbayvzsyf5hhr1rn"; libraryHaskellDepends = [ base bytestring cereal cereal-conduit conduit containers - data-default deepseq directory dyre filepath foreign-store hslogger - megaparsec messagepack mtl network optparse-applicative - prettyprinter prettyprinter-ansi-terminal process resourcet setenv - stm streaming-commons template-haskell text time time-locale-compat - transformers transformers-base unliftio unliftio-core utf8-string - void + data-default deepseq foreign-store hslogger megaparsec messagepack + mtl network optparse-applicative path path-io prettyprinter + prettyprinter-ansi-terminal resourcet stm streaming-commons + template-haskell text time time-locale-compat transformers + transformers-base typed-process unliftio unliftio-core utf8-string + vector void ]; - executableHaskellDepends = [ base data-default ]; testHaskellDepends = [ base bytestring cereal cereal-conduit conduit containers - data-default directory dyre filepath foreign-store hslogger hspec - hspec-discover HUnit megaparsec messagepack mtl network - optparse-applicative prettyprinter prettyprinter-ansi-terminal - process QuickCheck resourcet setenv stm streaming-commons - template-haskell text time time-locale-compat transformers - transformers-base unliftio unliftio-core utf8-string + data-default foreign-store hslogger hspec hspec-discover HUnit + megaparsec messagepack mtl network optparse-applicative path + path-io prettyprinter prettyprinter-ansi-terminal QuickCheck + resourcet stm streaming-commons template-haskell text time + time-locale-compat transformers transformers-base typed-process + unliftio unliftio-core utf8-string vector ]; testToolDepends = [ hspec-discover ]; description = "Haskell plugin backend for neovim"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "nvim-hs-contrib" = callPackage @@ -157552,8 +169385,8 @@ self: { }: mkDerivation { pname = "nvim-hs-contrib"; - version = "1.0.0.0"; - sha256 = "150kg8gkai4cz7yv42vgn3b6rl6p44vfksq897kjaa3b12yjwd5x"; + version = "2.0.0.0"; + sha256 = "0xqwvvhs2bpa146dnf4nkihx9lk9flwj3fyar2d4fchdfyszrbzr"; libraryHaskellDepends = [ base bytestring data-default directory filepath messagepack mtl nvim-hs prettyprinter prettyprinter-ansi-terminal text time @@ -157565,7 +169398,6 @@ self: { testToolDepends = [ hspec-discover ]; description = "Haskell plugin backend for neovim"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "nvim-hs-ghcid" = callPackage @@ -157575,15 +169407,17 @@ self: { }: mkDerivation { pname = "nvim-hs-ghcid"; - version = "1.0.0.0"; - sha256 = "06yz73sx2z86dm1yhs3pqpi8g88157885fpm8hd6gkl2q4pjcwc8"; + version = "2.0.0.0"; + sha256 = "0i9wc6mgxxzymw1smjvin70i4ynqsn2k3ig36pxmbb6qd0ci0hwg"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ base bytestring containers directory filepath ghcid nvim-hs nvim-hs-contrib resourcet transformers unliftio yaml ]; + executableHaskellDepends = [ base nvim-hs ]; description = "Neovim plugin that runs ghcid to update the quickfix list"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "nvvm" = callPackage @@ -157633,6 +169467,7 @@ self: { description = "Client for the Nylas API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "nymphaea" = callPackage @@ -157652,6 +169487,33 @@ self: { description = "An interactive GUI for manipulating L-systems"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "nyx-game" = callPackage + ({ mkDerivation, async, base, bytestring, containers, deepseq + , dlist, lens, mtl, optparse-generic, random, sdl2, sdl2-image + , sdl2-mixer, sdl2-ttf, stm, text, vector + }: + mkDerivation { + pname = "nyx-game"; + version = "1.0.0.0"; + sha256 = "16a1bkw8i81qcp7diblgkc17snxppdsfqly6diirm0sxpbsx5d8s"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + async base bytestring containers deepseq dlist lens mtl + optparse-generic random sdl2 sdl2-image sdl2-mixer sdl2-ttf stm + text vector + ]; + executableHaskellDepends = [ + async base bytestring containers deepseq dlist lens mtl + optparse-generic random sdl2 sdl2-image sdl2-mixer sdl2-ttf stm + text vector + ]; + description = "A bullet-hell game made with SDL2"; + license = stdenv.lib.licenses.asl20; }) {}; "o-clock" = callPackage @@ -157676,6 +169538,7 @@ self: { description = "Type-safe time library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "oanda-rest-api" = callPackage @@ -157701,6 +169564,7 @@ self: { description = "Client to the OANDA REST API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "oasis-xrd" = callPackage @@ -157724,6 +169588,7 @@ self: { description = "Extensible Resource Descriptor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "oauth10a" = callPackage @@ -157769,6 +169634,7 @@ self: { description = "OAuth2 jwt-bearer client flow as per rfc7523"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "oauthenticated" = callPackage @@ -157795,6 +169661,7 @@ self: { description = "Simple OAuth for http-client"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "obd" = callPackage @@ -157820,6 +169687,7 @@ self: { description = "Communicate to OBD interfaces over ELM327"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "obdd" = callPackage @@ -157837,6 +169705,7 @@ self: { description = "Ordered Reduced Binary Decision Diagrams"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "oberon0" = callPackage @@ -157857,6 +169726,7 @@ self: { description = "Oberon0 Compiler"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "obj" = callPackage @@ -157877,6 +169747,7 @@ self: { description = "Reads and writes obj models"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "objectid" = callPackage @@ -157898,6 +169769,7 @@ self: { description = "Rather unique identifier for things that need to be stored"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "objective" = callPackage @@ -157919,6 +169791,7 @@ self: { description = "Composable objects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "oblivious-transfer" = callPackage @@ -157942,6 +169815,8 @@ self: { testToolDepends = [ tasty-discover ]; description = "An implementation of the Oblivious Transfer protocol in Haskell"; license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "observable" = callPackage @@ -157975,8 +169850,8 @@ self: { }: mkDerivation { pname = "ocaml-export"; - version = "0.9.0.0"; - sha256 = "1wqgvaf8198p1avq3vlmi256a6wk5w76m4hvlhvmdv0kzad3iw25"; + version = "0.13.0"; + sha256 = "1pfy648qrx7s0qmli9cjs0c0bnnvirilicaydy08zj3w4rvjfdb4"; libraryHaskellDepends = [ aeson base bytestring containers directory file-embed filepath formatting hspec hspec-golden-aeson mtl QuickCheck @@ -157992,6 +169867,7 @@ self: { description = "Convert Haskell types in OCaml types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ochintin-daicho" = callPackage @@ -158033,6 +169909,7 @@ self: { description = "Parse Rocket League replays"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "octohat" = callPackage @@ -158064,6 +169941,7 @@ self: { description = "A tested, minimal wrapper around GitHub's API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "octopus" = callPackage @@ -158085,6 +169963,7 @@ self: { description = "Lisp with more dynamism, more power, more simplicity"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "oculus" = callPackage @@ -158102,6 +169981,7 @@ self: { description = "Oculus Rift ffi providing head tracking data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXinerama; ovr = null; inherit (pkgs) systemd;}; @@ -158133,6 +170013,7 @@ self: { description = "Haskell binding to the ODBC API, aimed at SQL Server driver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) unixODBC;}; "oden-go-packages" = callPackage @@ -158149,28 +170030,29 @@ self: { description = "Provides Go package metadata"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "odpic-raw" = callPackage ({ mkDerivation, base, binary, bytestring, c2hs, conduit, hspec - , odpic, resourcet, scientific, time + , resourcet, scientific, time }: mkDerivation { pname = "odpic-raw"; - version = "0.4.0"; - sha256 = "0kdsmjksy2dcsc1dgwx8r8fcv1czap06fy8n3wlg29759md1bchm"; + version = "0.5.0"; + sha256 = "1cgg4yvcdysh1l1h8nv9jcn26hfcyx5hxqaqpvfd292c0spylary"; libraryHaskellDepends = [ base binary bytestring conduit resourcet scientific time ]; - librarySystemDepends = [ odpic ]; libraryToolDepends = [ c2hs ]; testHaskellDepends = [ base binary bytestring conduit hspec resourcet scientific time ]; + testToolDepends = [ c2hs ]; description = "Oracle Database Bindings"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs) odpic;}; + }) {}; "oeis" = callPackage ({ mkDerivation, base, HTTP, HUnit, network, network-uri @@ -158196,8 +170078,8 @@ self: { }: mkDerivation { pname = "oeis2"; - version = "1.0.1"; - sha256 = "0vw0k1lvh8fq4ivr7dq14ilydyaps010cz7wxk2m9sc6i2qq4jbf"; + version = "1.0.2"; + sha256 = "1pmyx9w3jg3wsfhqp4hby6px05g09a91s6fiazyvm9yxmhaaxhxd"; libraryHaskellDepends = [ aeson base containers http-conduit lens lens-aeson text vector ]; @@ -158208,6 +170090,7 @@ self: { description = "Interface for Online Encyclopedia of Integer Sequences (OEIS)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "off-simple" = callPackage @@ -158220,6 +170103,7 @@ self: { description = "A parser for simplified-syntax OFF files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ofx" = callPackage @@ -158251,6 +170135,7 @@ self: { description = "A lightweight markup language for story writers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ohloh-hs" = callPackage @@ -158275,6 +170160,7 @@ self: { description = "Interface to the Ohloh API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "oi" = callPackage @@ -158292,30 +170178,34 @@ self: { description = "Library for purely functional lazy interactions with the outer world"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "oidc-client" = callPackage - ({ mkDerivation, aeson, attoparsec, base, bytestring, exceptions - , hspec, http-client, http-client-tls, http-types, jose-jwt - , network, network-uri, text, time, tls + ({ mkDerivation, aeson, attoparsec, base, bytestring, cryptonite + , exceptions, hspec, http-client, http-client-tls, http-types + , jose-jwt, network, network-uri, scientific, text, time, tls }: mkDerivation { pname = "oidc-client"; - version = "0.3.0.1"; - sha256 = "0wk1lx3kqgza9dah89p10bza1iasdj4bnbax5x66h2a7imn7c4sk"; + version = "0.4.0.1"; + sha256 = "0761m8yi8yrqspf9hig6pbdzchz8nvc9qn995wz4v0wklcypiagr"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson attoparsec base bytestring exceptions http-client - http-client-tls jose-jwt network network-uri text time tls + aeson attoparsec base bytestring cryptonite exceptions http-client + http-client-tls jose-jwt network network-uri scientific text time + tls ]; testHaskellDepends = [ - aeson base bytestring exceptions hspec http-client http-client-tls - http-types jose-jwt network-uri text time + aeson base bytestring cryptonite exceptions hspec http-client + http-client-tls http-types jose-jwt network-uri scientific text + time ]; description = "OpenID Connect 1.0 library for RP"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ois-input-manager" = callPackage @@ -158329,6 +170219,7 @@ self: { description = "wrapper for OIS input manager for use with hogre"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {OIS = null;}; "old-locale" = callPackage @@ -158393,6 +170284,7 @@ self: { description = "An OpenLayers JavaScript Wrapper and Webframework with snaplet-fay"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "om-elm" = callPackage @@ -158402,15 +170294,14 @@ self: { }: mkDerivation { pname = "om-elm"; - version = "1.0.0.3"; - sha256 = "0i674vjbp03nkr76fdi7bjylv264nxwnxw0ija11fkpd1rdg045g"; + version = "2.0.0.0"; + sha256 = "0xg9wcmgsxc0rn9fvdma8zs3a588qsppcrxbvpnaa5j1h70nh2qb"; libraryHaskellDepends = [ base bytestring Cabal containers directory http-types safe safe-exceptions template-haskell text unix wai ]; description = "Haskell utilities for building embedded Elm programs"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "omaketex" = callPackage @@ -158429,6 +170320,7 @@ self: { description = "A simple tool to generate OMakefile for latex files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ombra" = callPackage @@ -158449,6 +170341,7 @@ self: { description = "Render engine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "omega" = callPackage @@ -158468,6 +170361,7 @@ self: { description = "A purely functional programming language and a proof system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "omnicodec" = callPackage @@ -158514,6 +170408,7 @@ self: { description = "A pretty-printer wrapper to faciliate ease of formatting during development"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "on-a-horse" = callPackage @@ -158533,6 +170428,7 @@ self: { description = "\"Haskell on a Horse\" - A combinatorial web framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "on-demand-ssh-tunnel" = callPackage @@ -158565,6 +170461,7 @@ self: { description = "HTML-parsing primitives for Parsec"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "once" = callPackage @@ -158669,6 +170566,7 @@ self: { description = "A never-empty list type"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "online" = callPackage @@ -158687,6 +170585,7 @@ self: { description = "online statistics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "only" = callPackage @@ -158712,6 +170611,7 @@ self: { description = "partition lenses"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "onu-course" = callPackage @@ -158724,6 +170624,7 @@ self: { description = "Code for the Haskell course taught at the Odessa National University in 2012"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "oo-prototypes" = callPackage @@ -158747,10 +170648,8 @@ self: { }: mkDerivation { pname = "opaleye"; - version = "0.6.7003.1"; - sha256 = "1lj4vz1526l11b0mc5y7j9sxf7v6kkzl8c1jymvb1vrqj2qkgxsx"; - revision = "1"; - editedCabalFile = "0nwyz9s81hfziwy7a18gpi0663xy6cfc6fl4vx8a1vkwdyfcjjli"; + version = "0.6.7004.0"; + sha256 = "1p897zswmxil3yrxgdnjszbafi01gib8rl0y9lay4vqj1mrwa14m"; libraryHaskellDepends = [ aeson base base16-bytestring bytestring case-insensitive contravariant postgresql-simple pretty product-profunctors @@ -158760,7 +170659,7 @@ self: { testHaskellDepends = [ aeson base containers contravariant dotenv hspec hspec-discover multiset postgresql-simple product-profunctors profunctors - QuickCheck semigroups text time transformers + QuickCheck semigroups text time transformers uuid ]; testToolDepends = [ hspec-discover ]; description = "An SQL-generating DSL targeting PostgreSQL"; @@ -158784,6 +170683,7 @@ self: { description = "Opaleye wrapped up in classy MTL attire"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "opaleye-sqlite" = callPackage @@ -158809,6 +170709,7 @@ self: { description = "An SQL-generating DSL targeting SQLite"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "opaleye-trans" = callPackage @@ -158833,6 +170734,7 @@ self: { description = "A monad transformer for Opaleye"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "open-adt" = callPackage @@ -158895,6 +170797,7 @@ self: { description = "Open haddock HTML documentation"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "open-pandoc" = callPackage @@ -158918,6 +170821,7 @@ self: { description = "Conversion between markup formats"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "open-signals" = callPackage @@ -158931,6 +170835,7 @@ self: { description = "A mechanism similar to checked exceptions that integrates with MTL and transformer stacks"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "open-symbology" = callPackage @@ -158959,6 +170864,7 @@ self: { description = "Open type representations and dynamic types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "open-union" = callPackage @@ -159002,8 +170908,8 @@ self: { }: mkDerivation { pname = "openapi-petstore"; - version = "0.0.3.0"; - sha256 = "1zm76djxnr2hrws3rhby144m2hqgwfk57cm3my2r26py76lf8c5i"; + version = "0.0.4.0"; + sha256 = "0ihrzkbkq03six73ir30hy1dbi53wrl6bns27m5dphl9qdlcc1mi"; libraryHaskellDepends = [ aeson base base64-bytestring bytestring case-insensitive containers deepseq exceptions http-api-data http-client http-client-tls @@ -159018,18 +170924,18 @@ self: { description = "Auto-generated openapi-petstore API Client"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "opench-meteo" = callPackage ({ mkDerivation, aeson, base, data-default, text, time }: mkDerivation { pname = "opench-meteo"; - version = "0.2.0.2"; - sha256 = "0xj9v7xl11j6p4kk5dz64kqpmyc5d68sldakiaby0j8qvyw7sf9r"; + version = "0.2.0.3"; + sha256 = "1cvcqv6fx9jszrlv46xn7b3rfxk4bymzc42ndzzvnpwj592yd55i"; libraryHaskellDepends = [ aeson base data-default text time ]; description = "A Haskell implementation of the Swiss Meteo Net data API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "opencog-atomspace" = callPackage @@ -159111,6 +171017,7 @@ self: { description = "Raw Haskell bindings to OpenCV >= 2.0"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) opencv;}; "opendatatable" = callPackage @@ -159123,6 +171030,7 @@ self: { description = "A library for working with Open Data Tables"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "openexchangerates" = callPackage @@ -159230,6 +171138,7 @@ self: { description = "Functional interface for OpenGL 4.1+ and OpenGL ES 2.0+"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {EGL = null; GLESv2 = null;}; "openid" = callPackage @@ -159302,8 +171211,8 @@ self: { }: mkDerivation { pname = "openpgp-asciiarmor"; - version = "0.1.1"; - sha256 = "01zna9zifixnzgalr3k21g9dv143cn49imawm4q9x37i2r9kybxr"; + version = "0.1.2"; + sha256 = "1g99llkpqp7r01xlbq9m9nrii33yagiy1ah4fgdcmjnkmqg64hjk"; libraryHaskellDepends = [ attoparsec base base64-bytestring binary bytestring ]; @@ -159313,7 +171222,7 @@ self: { ]; benchmarkHaskellDepends = [ base bytestring criterion ]; description = "OpenPGP (RFC4880) ASCII Armor codec"; - license = stdenv.lib.licenses.isc; + license = stdenv.lib.licenses.mit; }) {}; "openpgp-crypto-api" = callPackage @@ -159356,6 +171265,7 @@ self: { description = "Haskell OpenSoundControl utilities"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "opensource" = callPackage @@ -159398,6 +171308,7 @@ self: { description = "Fetch OpenSSH keys from a GitHub team"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "openssh-protocol" = callPackage @@ -159414,6 +171325,8 @@ self: { testHaskellDepends = [ base cereal hedgehog time ]; description = "Haskell implementation of openssh protocol primitives"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "openssl-createkey" = callPackage @@ -159511,6 +171424,7 @@ self: { description = "Unicode characters"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "opentheory-divides" = callPackage @@ -159677,6 +171591,7 @@ self: { description = "An OpenTok SDK for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "opentype" = callPackage @@ -159695,6 +171610,7 @@ self: { description = "Opentype loading and writing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "openweathermap" = callPackage @@ -159716,6 +171632,7 @@ self: { description = "Access data at OpenWeatherMap"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "operate-do" = callPackage @@ -159785,6 +171702,7 @@ self: { description = "Interpretation functions and simple instruction sets for operational"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "opml" = callPackage @@ -159799,37 +171717,6 @@ self: { }) {}; "opml-conduit" = callPackage - ({ mkDerivation, base, bytestring, case-insensitive, conduit - , conduit-combinators, containers, data-default, lens-simple - , mono-traversable, monoid-subclasses, mtl, parsers, QuickCheck - , quickcheck-instances, resourcet, safe-exceptions, semigroups - , tasty, tasty-hunit, tasty-quickcheck, text, time, timerep - , uri-bytestring, xml-conduit, xml-types - }: - mkDerivation { - pname = "opml-conduit"; - version = "0.6.0.4"; - sha256 = "07axacfa0wik2cnpzcnjjp9w6ws8sjhinzxdc4vrxdxaj1v5a2s8"; - revision = "1"; - editedCabalFile = "160sazqsrmm2755642c5y5i38miiglqb66cy5k0hy4k2jkdmjfbi"; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - base case-insensitive conduit conduit-combinators containers - lens-simple mono-traversable monoid-subclasses safe-exceptions - semigroups text time timerep uri-bytestring xml-conduit xml-types - ]; - testHaskellDepends = [ - base bytestring conduit conduit-combinators containers data-default - lens-simple mono-traversable mtl parsers QuickCheck - quickcheck-instances resourcet semigroups tasty tasty-hunit - tasty-quickcheck text time uri-bytestring xml-conduit - ]; - description = "Streaming parser/renderer for the OPML 2.0 format."; - license = stdenv.lib.licenses.publicDomain; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "opml-conduit_0_7_0_0" = callPackage ({ mkDerivation, base, bytestring, case-insensitive, conduit , conduit-combinators, containers, data-default, lens-simple , monoid-subclasses, mtl, parsers, QuickCheck, quickcheck-instances @@ -159856,6 +171743,7 @@ self: { description = "Streaming parser/renderer for the OPML 2.0 format."; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "opn" = callPackage @@ -159874,6 +171762,8 @@ self: { ]; description = "Open files or URLs using associated programs"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "optima" = callPackage @@ -159882,8 +171772,8 @@ self: { }: mkDerivation { pname = "optima"; - version = "0.3.0.2"; - sha256 = "116h7rdv7g2h5bjxr883s15hg9l194q3nkyn045w2ygapk4xsimg"; + version = "0.3.0.3"; + sha256 = "1m6lbwy5y8nmgadqx6lax1laqgs90gbg9waffbd962n2xscbwbww"; libraryHaskellDepends = [ attoparsec attoparsec-data base optparse-applicative text text-builder @@ -159892,6 +171782,7 @@ self: { description = "Simple command line interface arguments parser"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "optimal-blocks" = callPackage @@ -159917,6 +171808,7 @@ self: { description = "Optimal Block boundary determination for rsync-like behaviours"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "optimization" = callPackage @@ -159933,6 +171825,7 @@ self: { description = "Numerical optimization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "optimusprime" = callPackage @@ -159952,6 +171845,7 @@ self: { description = "A supercompiler for f-lite"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "option" = callPackage @@ -159978,6 +171872,7 @@ self: { description = "Using type-classes for optional function arguments"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "optional-args" = callPackage @@ -159986,6 +171881,8 @@ self: { pname = "optional-args"; version = "1.0.2"; sha256 = "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"; + revision = "1"; + editedCabalFile = "0fda6mhm44qpbc9hfkf6jxnm3a7qszabywsmxa2iw0dz734a9xl3"; libraryHaskellDepends = [ base ]; description = "Optional function arguments"; license = stdenv.lib.licenses.bsd3; @@ -160018,6 +171915,7 @@ self: { description = "Command-line option types for dates and times"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "optparse-applicative" = callPackage @@ -160028,6 +171926,8 @@ self: { pname = "optparse-applicative"; version = "0.14.3.0"; sha256 = "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"; + revision = "2"; + editedCabalFile = "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp"; libraryHaskellDepends = [ ansi-wl-pprint base process transformers transformers-compat ]; @@ -160036,14 +171936,31 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "optparse-applicative_0_15_0_0" = callPackage + ({ mkDerivation, ansi-wl-pprint, base, bytestring, process + , QuickCheck, transformers, transformers-compat + }: + mkDerivation { + pname = "optparse-applicative"; + version = "0.15.0.0"; + sha256 = "0210rv7scp2063n8pr39bzy7dbl2777zwdnnx6kp3c34jilssjxg"; + libraryHaskellDepends = [ + ansi-wl-pprint base process transformers transformers-compat + ]; + testHaskellDepends = [ base bytestring QuickCheck ]; + description = "Utilities and combinators for parsing command line options"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "optparse-applicative-simple" = callPackage ({ mkDerivation, attoparsec, attoparsec-data, base-prelude , optparse-applicative, rerebase, text }: mkDerivation { pname = "optparse-applicative-simple"; - version = "1.0.3"; - sha256 = "07v47fa2yc3rxdn1lbgbsq8ggfd7zlknz2ib8wf628g95n0dl7ya"; + version = "1.1.0.2"; + sha256 = "0vpb2y9niy00msxbz11r6v3qc399lr2rl3x0ih6hpxrm8iihypv7"; libraryHaskellDepends = [ attoparsec attoparsec-data base-prelude optparse-applicative text ]; @@ -160051,6 +171968,7 @@ self: { description = "Simple command line interface arguments parser"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "optparse-declarative" = callPackage @@ -160064,6 +171982,20 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "optparse-enum" = callPackage + ({ mkDerivation, base, enum-text, fmt, optparse-applicative, text + }: + mkDerivation { + pname = "optparse-enum"; + version = "1.0.0.0"; + sha256 = "0d3wpfss1nm42hjn8l7x34ksa7yx5ccc4iglbfvln0rkbqdsjh13"; + libraryHaskellDepends = [ + base enum-text fmt optparse-applicative text + ]; + description = "An enum-text based toolkit for optparse-applicative"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "optparse-generic" = callPackage ({ mkDerivation, base, bytestring, Only, optparse-applicative , semigroups, system-filepath, text, time, transformers, void @@ -160072,6 +172004,8 @@ self: { pname = "optparse-generic"; version = "1.3.0"; sha256 = "13rr3hq26dpmbami8vb6d1ig9ywk6jia22sp5dkp6jkfc1c9k4l0"; + revision = "2"; + editedCabalFile = "1ldkzq0g70y2w69ywg2d5agrd74y7c4iblg3yflyvmzifr11d1ls"; libraryHaskellDepends = [ base bytestring Only optparse-applicative semigroups system-filepath text time transformers void @@ -160099,8 +172033,8 @@ self: { }: mkDerivation { pname = "optparse-simple"; - version = "0.1.1.1"; - sha256 = "0nqr81q5rvzpgl3r79rrmf30jzkds8gwdir2w1c9775jy2wslssl"; + version = "0.1.1.2"; + sha256 = "1r00hkri42vyx552l8hcd1779fxiyl9w4k0pql915zsprirn8w82"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -160149,6 +172083,7 @@ self: { description = "Orchestration-style co-ordination EDSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "orchestrate" = callPackage @@ -160173,6 +172108,7 @@ self: { description = "An API client for http://orchestrate.io/."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "orchid" = callPackage @@ -160194,6 +172130,7 @@ self: { description = "Haskell Wiki Library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "orchid-demo" = callPackage @@ -160214,6 +172151,7 @@ self: { description = "Haskell Wiki Demo"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ord-adhoc" = callPackage @@ -160242,6 +172180,7 @@ self: { description = "Algorithms for the order maintenance problem with a safe interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "order-statistic-tree" = callPackage @@ -160275,6 +172214,7 @@ self: { description = "L-Estimators for robust statistics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ordered" = callPackage @@ -160293,8 +172233,8 @@ self: { ({ mkDerivation, base, containers }: mkDerivation { pname = "ordered-containers"; - version = "0.1.1"; - sha256 = "0m86imawwvr0bl18bbv9np8hlhs8ssn4l2dvxswa8f83fm61ai5a"; + version = "0.2.2"; + sha256 = "1j92dm36s0cfhc7s4k3dk36ibkvr6w1nhaq6q1m5vkbh1qrwfnn7"; libraryHaskellDepends = [ base containers ]; description = "Set- and Map-like types that remember the order elements were inserted"; license = stdenv.lib.licenses.bsd3; @@ -160310,6 +172250,7 @@ self: { description = "basic orders"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ordrea" = callPackage @@ -160325,6 +172266,7 @@ self: { description = "Push-pull implementation of discrete-time FRP"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "org2anki" = callPackage @@ -160352,6 +172294,7 @@ self: { description = "Organize scala imports"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "orgmode" = callPackage @@ -160372,6 +172315,7 @@ self: { description = "Org Mode library for haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "orgmode-parse" = callPackage @@ -160381,8 +172325,8 @@ self: { }: mkDerivation { pname = "orgmode-parse"; - version = "0.3.0"; - sha256 = "0p1lb3ba060nnr3msqzqy0ymbm4i0nkmwix8xx5zz6hir74ix3y9"; + version = "0.2.2"; + sha256 = "1f6wcxkln5ddaa2z7wbkp6wndgq38qv9h1wnn27gqcms02758v2r"; libraryHaskellDepends = [ aeson attoparsec base bytestring containers free hashable old-locale semigroups text thyme unordered-containers @@ -160394,28 +172338,28 @@ self: { ]; description = "A collection of Attoparsec combinators for parsing org-mode flavored documents"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "orgstat" = callPackage ({ mkDerivation, aeson, ansi-terminal, attoparsec, base, boxes , bytestring, colour, containers, data-default, diagrams-lib , diagrams-svg, directory, exceptions, filepath, fmt, formatting - , hashable, hspec, HUnit, lens, linear, mtl, optparse-simple - , orgmode-parse, QuickCheck, quickcheck-text, text, time - , transformers, turtle, universum, yaml + , hashable, hspec, HUnit, lens, mtl, optparse-simple, orgmode-parse + , process, QuickCheck, quickcheck-text, text, time, transformers + , turtle, universum, yaml }: mkDerivation { pname = "orgstat"; - version = "0.1.5"; - sha256 = "00zkn7d45q9wbbpkygkz8fslals6z5d90hvg1jgna4vw87zqwkdz"; + version = "0.1.6"; + sha256 = "1w6nbgq29bdx0skqsy7h46x46g6rzpsgp2n5ldxv2nmbwbhq6bib"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson ansi-terminal attoparsec base boxes bytestring colour containers data-default diagrams-lib diagrams-svg directory - exceptions filepath fmt formatting hashable lens linear mtl - optparse-simple orgmode-parse text time turtle universum yaml + exceptions filepath fmt formatting hashable lens mtl + optparse-simple orgmode-parse process text time turtle universum + yaml ]; executableHaskellDepends = [ base bytestring directory exceptions filepath formatting @@ -160428,6 +172372,7 @@ self: { description = "Statistics visualizer for org-mode"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "origami" = callPackage @@ -160447,6 +172392,26 @@ self: { description = "An un-SYB framework for transforming heterogenous data through folds"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "orion-hs" = callPackage + ({ mkDerivation, aeson, aeson-better-errors, aeson-casing, base + , base64-bytestring, bytestring, containers, exceptions, hslogger + , http-api-data, http-client, http-types, iso8601-time, lens, mtl + , string-conversions, text, time, unordered-containers, word8, wreq + }: + mkDerivation { + pname = "orion-hs"; + version = "0.1.3"; + sha256 = "1q99s1yd4qk51lxv6ahbcw9wmy1asd9aymw2yw2802c3yvzyypx4"; + libraryHaskellDepends = [ + aeson aeson-better-errors aeson-casing base base64-bytestring + bytestring containers exceptions hslogger http-api-data http-client + http-types iso8601-time lens mtl string-conversions text time + unordered-containers word8 wreq + ]; + license = stdenv.lib.licenses.bsd3; }) {}; "orizentic" = callPackage @@ -160469,6 +172434,7 @@ self: { description = "Token-based authentication and authorization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "os-release" = callPackage @@ -160502,6 +172468,7 @@ self: { description = "A library to handle messages in the OSC protocol"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "oscpacking" = callPackage @@ -160514,6 +172481,7 @@ self: { description = "Implements an osculatory packing (kissing circles) algorithm and display"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "osdkeys" = callPackage @@ -160533,7 +172501,6 @@ self: { executableHaskellDepends = [ base process ]; description = "Show keys pressed with an on-screen display (Linux only)"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "oset" = callPackage @@ -160570,6 +172537,7 @@ self: { description = "Parse and operate on OSM data in efficient way"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "osm-download" = callPackage @@ -160592,6 +172560,7 @@ self: { description = "Download Open Street Map tiles"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "oso2pdf" = callPackage @@ -160611,6 +172580,7 @@ self: { description = "Better conversion of Oxford Scholarship Online material to PDF"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "osx-ar" = callPackage @@ -160644,6 +172614,7 @@ self: { description = "Real-time collaborative editing with Operational Transformation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "otp-authenticator" = callPackage @@ -160673,6 +172644,7 @@ self: { description = "OTP Authenticator (a la google) command line client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ottparse-pretty" = callPackage @@ -160690,7 +172662,30 @@ self: { ]; description = "Pretty-printer for Ott parse trees"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "outsort" = callPackage + ({ mkDerivation, async, base, bytestring, conduit + , conduit-algorithms, conduit-combinators, conduit-extra + , containers, deepseq, directory, exceptions, filemanip, filepath + , MissingH, primitive, resourcet, safe, safeio, temporary, text + , transformers, transformers-base, vector, vector-algorithms + }: + mkDerivation { + pname = "outsort"; + version = "0.1.0"; + sha256 = "13iw9hgsmz1j4lm4ahpi9kjgf3pcayll9fpi3fga48474hpz7gff"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + async base bytestring conduit conduit-algorithms + conduit-combinators conduit-extra containers deepseq directory + exceptions filemanip filepath MissingH primitive resourcet safe + safeio temporary text transformers transformers-base vector + vector-algorithms + ]; + description = "External sorting package based on Conduit"; + license = stdenv.lib.licenses.mit; }) {}; "overhang" = callPackage @@ -160739,6 +172734,7 @@ self: { description = "Overloaded Records based on current GHC proposal"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "overture" = callPackage @@ -160753,6 +172749,7 @@ self: { description = "An alternative to some of the Prelude"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pack" = callPackage @@ -160769,6 +172766,7 @@ self: { description = "Bidirectional fast ByteString packer/unpacker"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "package-description-remote" = callPackage @@ -160784,6 +172782,7 @@ self: { description = "Fetches a 'GenericPackageDescription' from Hackage"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "package-o-tron" = callPackage @@ -160803,6 +172802,7 @@ self: { description = "Utilities for working with cabal packages and your package database"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "package-vt" = callPackage @@ -160819,14 +172819,15 @@ self: { description = "Haskell Package Versioning Tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "packcheck" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "packcheck"; - version = "0.4.1"; - sha256 = "056sjs771gdfvbyynb3vaxgabqj747hyhnbfjq83d0nnqyks8rdy"; + version = "0.4.2"; + sha256 = "0za6ravq945g9gdm6sbxqklnkg56saap0kjg5ra42dabd1ma4iys"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base ]; benchmarkHaskellDepends = [ base ]; @@ -160855,6 +172856,7 @@ self: { description = "Check your cabal packages for lagging dependencies"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "packed" = callPackage @@ -160899,6 +172901,7 @@ self: { description = "Generation and traversal of highly compressed directed acyclic word graphs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "packed-multikey-map" = callPackage @@ -160909,6 +172912,8 @@ self: { pname = "packed-multikey-map"; version = "0.1.0.0"; sha256 = "19bh697xazsi22krwjgy83hv1pscnaqx544d5pk0q71wnync5m89"; + revision = "1"; + editedCabalFile = "1z6bx1qga02f33l194k2m45gs9cddq9q7q52b2vhv408n09jixrn"; libraryHaskellDepends = [ base constraints containers QuickCheck transformers vector ]; @@ -160916,6 +172921,7 @@ self: { description = "Efficient “spreadsheet table” like maps with multiple marginals"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "packedstring" = callPackage @@ -160930,6 +172936,7 @@ self: { description = "(Deprecated) Packed Strings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "packer" = callPackage @@ -160964,6 +172971,8 @@ self: { ]; description = "MessagePack Serialization an Deserialization for Packer"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "packman" = callPackage @@ -160984,6 +172993,7 @@ self: { description = "Serialization library for GHC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "packunused" = callPackage @@ -161005,6 +173015,7 @@ self: { description = "Tool for detecting redundant Cabal package dependencies"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pacman-memcache" = callPackage @@ -161019,6 +173030,7 @@ self: { description = "Read whole Pacman database which pushes it into the memory cache"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "padKONTROL" = callPackage @@ -161035,38 +173047,36 @@ self: { description = "Controlling padKONTROL native mode"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pads-haskell" = callPackage - ({ mkDerivation, base, byteorder, bytestring, Cabal, containers - , directory, Glob, haskell-src, haskell-src-meta, HUnit - , mainland-pretty, mtl, normaldistribution, old-locale, parsec + ({ mkDerivation, base, byteorder, bytestring, containers, ghc-prim + , haskell-src-meta, HUnit, mainland-pretty, mtl, mwc-random, parsec , QuickCheck, random, regex-posix, syb, template-haskell , test-framework, test-framework-hunit, test-framework-quickcheck2 , th-lift, time, transformers }: mkDerivation { pname = "pads-haskell"; - version = "0.0.0.1"; - sha256 = "1glf9zfzl8lg6hvqzh76y7kpi1d8jhxgxplnkzz4pdzrh1dfzm9a"; - revision = "1"; - editedCabalFile = "1nfh2i2g4xzqr534hkwa7gygkgsdvyjk4g075n78dp6r48zynbz6"; + version = "0.1.0.0"; + sha256 = "0c4by0amwp5kki7h46pygd6p6f5yx0zzlbzcfhd68h5ka0alkfdf"; libraryHaskellDepends = [ - base byteorder bytestring containers Glob haskell-src - haskell-src-meta HUnit mainland-pretty normaldistribution - old-locale parsec random regex-posix syb template-haskell th-lift - time transformers + base byteorder bytestring containers ghc-prim haskell-src-meta + HUnit mainland-pretty mtl mwc-random parsec random regex-posix syb + template-haskell th-lift time transformers ]; testHaskellDepends = [ - base byteorder bytestring Cabal containers directory Glob - haskell-src haskell-src-meta HUnit mainland-pretty mtl old-locale - parsec QuickCheck regex-posix syb template-haskell test-framework + base byteorder bytestring containers ghc-prim haskell-src-meta + HUnit mainland-pretty mtl mwc-random parsec QuickCheck random + regex-posix syb template-haskell test-framework test-framework-hunit test-framework-quickcheck2 th-lift time transformers ]; description = "PADS data description language for Haskell"; - license = stdenv.lib.licenses.bsd3; + license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pagarme" = callPackage @@ -161086,6 +173096,7 @@ self: { description = "Pagarme API wrapper"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pager" = callPackage @@ -161161,6 +173172,7 @@ self: { description = "Receive hooks from pagure and do things with them"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "paint" = callPackage @@ -161176,43 +173188,81 @@ self: { }) {}; "pairing" = callPackage - ({ mkDerivation, base, bytestring, criterion, cryptonite, memory - , protolude, QuickCheck, random, tasty, tasty-discover, tasty-hunit - , tasty-quickcheck, wl-pprint-text + ({ mkDerivation, arithmoi, base, binary, bytestring, criterion + , errors, galois-field, hexstring, integer-logarithms, memory + , MonadRandom, protolude, QuickCheck, quickcheck-instances, random + , tasty, tasty-discover, tasty-hunit, tasty-quickcheck + , wl-pprint-text }: mkDerivation { pname = "pairing"; - version = "0.1.4"; - sha256 = "13g1waqb32by4qlrl2hy3mgrr3lmfwkixy0745xv33vvw8wmm36c"; + version = "0.4.1"; + sha256 = "0phw8caxrxyr2wlk8gcmrr8k03d0vnc4rq5c88dh3bb9jz4fdpcw"; libraryHaskellDepends = [ - base bytestring cryptonite memory protolude QuickCheck random + arithmoi base binary bytestring errors galois-field + integer-logarithms memory MonadRandom protolude QuickCheck random wl-pprint-text ]; testHaskellDepends = [ - base bytestring cryptonite memory protolude QuickCheck random tasty - tasty-discover tasty-hunit tasty-quickcheck wl-pprint-text + arithmoi base binary bytestring errors galois-field hexstring + integer-logarithms memory MonadRandom protolude QuickCheck + quickcheck-instances random tasty tasty-discover tasty-hunit + tasty-quickcheck wl-pprint-text ]; testToolDepends = [ tasty-discover ]; benchmarkHaskellDepends = [ - base bytestring criterion cryptonite memory protolude QuickCheck - random tasty tasty-hunit tasty-quickcheck wl-pprint-text + arithmoi base binary bytestring criterion errors galois-field + integer-logarithms memory MonadRandom protolude QuickCheck + quickcheck-instances random tasty tasty-hunit tasty-quickcheck + wl-pprint-text ]; - description = "Optimal ate pairing over Barreto-Naehrig curves"; + description = "Bilinear pairings"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "pairing_0_5_0" = callPackage + ({ mkDerivation, base, bytestring, criterion, elliptic-curve + , errors, galois-field, MonadRandom, protolude, QuickCheck + , quickcheck-instances, tasty, tasty-hunit, tasty-quickcheck + , wl-pprint-text + }: + mkDerivation { + pname = "pairing"; + version = "0.5.0"; + sha256 = "0qnwkkfzd1jiqg4b989knvzzf05aljqjfqv1z35nl2ms46sqdv1b"; + libraryHaskellDepends = [ + base bytestring elliptic-curve errors galois-field MonadRandom + protolude QuickCheck wl-pprint-text + ]; + testHaskellDepends = [ + base bytestring elliptic-curve errors galois-field MonadRandom + protolude QuickCheck quickcheck-instances tasty tasty-hunit + tasty-quickcheck wl-pprint-text + ]; + benchmarkHaskellDepends = [ + base bytestring criterion elliptic-curve errors galois-field + MonadRandom protolude QuickCheck quickcheck-instances tasty + tasty-hunit tasty-quickcheck wl-pprint-text + ]; + description = "Bilinear pairings"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "palette" = callPackage ({ mkDerivation, array, base, colour, containers, MonadRandom }: mkDerivation { pname = "palette"; - version = "0.3.0.1"; - sha256 = "0ylwgb7a0mhffz00hmhx93y4kyjb9xgm96jrfcxl464x8cjka5gi"; + version = "0.3.0.2"; + sha256 = "0820n3cj4zy9s46diln2rrs4lrxbipkhdw74p2w42gc7k1nlj54i"; libraryHaskellDepends = [ array base colour containers MonadRandom ]; description = "Utilities for choosing and creating color schemes"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "palindromes" = callPackage @@ -161239,7 +173289,9 @@ self: { libraryToolDepends = [ c2hs ]; description = "Haskell binding for C PAM API"; license = stdenv.lib.licenses.bsd3; + platforms = [ "i686-linux" "x86_64-linux" ]; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {pam = null;}; "panda" = callPackage @@ -161261,102 +173313,48 @@ self: { description = "A simple static blog engine"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pandoc" = callPackage - ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring - , binary, blaze-html, blaze-markup, bytestring, Cabal + ({ mkDerivation, aeson, aeson-pretty, attoparsec, base + , base64-bytestring, binary, blaze-html, blaze-markup, bytestring , case-insensitive, cmark-gfm, containers, criterion, data-default , deepseq, Diff, directory, doctemplates, exceptions , executable-path, filepath, Glob, haddock-library, hslua - , hslua-module-text, HsYAML, HTTP, http-client, http-client-tls - , http-types, JuicyPixels, mtl, network, network-uri, pandoc-types - , parsec, process, QuickCheck, random, safe, SHA, skylighting - , split, syb, tagsoup, tasty, tasty-golden, tasty-hunit - , tasty-quickcheck, temporary, texmath, text, time - , unicode-transforms, unix, unordered-containers, vector, weigh - , xml, zip-archive, zlib + , hslua-module-system, hslua-module-text, HsYAML, HTTP, http-client + , http-client-tls, http-types, ipynb, JuicyPixels, mtl, network + , network-uri, pandoc-types, parsec, process, QuickCheck, random + , safe, scientific, SHA, skylighting, split, syb, tagsoup, tasty + , tasty-golden, tasty-hunit, tasty-lua, tasty-quickcheck, temporary + , texmath, text, time, unicode-transforms, unix + , unordered-containers, vector, weigh, xml, zip-archive, zlib }: mkDerivation { pname = "pandoc"; - version = "2.5"; - sha256 = "0bi26r2qljdfxq26gaxj1xnhrawrfndfavs3f3g098x0g3dwazfm"; - revision = "2"; - editedCabalFile = "1z44hcwqqmkmhfak7svrrf950amf008gzhnlxkhwdyjpnpqp21sm"; - configureFlags = [ "-fhttps" "-f-trypandoc" ]; - isLibrary = true; - isExecutable = true; - enableSeparateDataOutput = true; - setupHaskellDepends = [ base Cabal ]; - libraryHaskellDepends = [ - aeson aeson-pretty base base64-bytestring binary blaze-html - blaze-markup bytestring case-insensitive cmark-gfm containers - data-default deepseq directory doctemplates exceptions filepath - Glob haddock-library hslua hslua-module-text HsYAML HTTP - http-client http-client-tls http-types JuicyPixels mtl network - network-uri pandoc-types parsec process random safe SHA skylighting - split syb tagsoup temporary texmath text time unicode-transforms - unix unordered-containers vector xml zip-archive zlib - ]; - executableHaskellDepends = [ base ]; - testHaskellDepends = [ - base base64-bytestring bytestring containers Diff directory - executable-path filepath Glob hslua pandoc-types process QuickCheck - tasty tasty-golden tasty-hunit tasty-quickcheck temporary text time - xml zip-archive - ]; - benchmarkHaskellDepends = [ - base bytestring containers criterion mtl text time weigh - ]; - postInstall = '' - mkdir -p $out/share - mv $data/*/*/man $out/share/ - ''; - description = "Conversion between markup formats"; - license = stdenv.lib.licenses.gpl2; - maintainers = with stdenv.lib.maintainers; [ peti ]; - }) {}; - - "pandoc_2_6" = callPackage - ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring - , binary, blaze-html, blaze-markup, bytestring, case-insensitive - , cmark-gfm, containers, criterion, data-default, deepseq, Diff - , directory, doctemplates, exceptions, executable-path, filepath - , Glob, haddock-library, hslua, hslua-module-text, HsYAML, HTTP - , http-client, http-client-tls, http-types, ipynb, JuicyPixels, mtl - , network, network-uri, pandoc-types, parsec, process, QuickCheck - , random, safe, SHA, skylighting, split, syb, tagsoup, tasty - , tasty-golden, tasty-hunit, tasty-quickcheck, temporary, texmath - , text, time, unicode-transforms, unix, unordered-containers - , vector, weigh, xml, zip-archive, zlib - }: - mkDerivation { - pname = "pandoc"; - version = "2.6"; - sha256 = "046vya7ivngv0hp5chnfxc1dm5n3krbgm0883ph45l31c7liyxma"; - revision = "1"; - editedCabalFile = "1m0xna696r38g2nk7whhyzh52lyyg0vsr236n8dafbwqj0k66652"; + version = "2.7.3"; + sha256 = "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"; configureFlags = [ "-fhttps" "-f-trypandoc" ]; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - aeson aeson-pretty base base64-bytestring binary blaze-html - blaze-markup bytestring case-insensitive cmark-gfm containers - data-default deepseq directory doctemplates exceptions filepath - Glob haddock-library hslua hslua-module-text HsYAML HTTP - http-client http-client-tls http-types ipynb JuicyPixels mtl - network network-uri pandoc-types parsec process random safe SHA - skylighting split syb tagsoup temporary texmath text time - unicode-transforms unix unordered-containers vector xml zip-archive - zlib + aeson aeson-pretty attoparsec base base64-bytestring binary + blaze-html blaze-markup bytestring case-insensitive cmark-gfm + containers data-default deepseq directory doctemplates exceptions + filepath Glob haddock-library hslua hslua-module-system + hslua-module-text HsYAML HTTP http-client http-client-tls + http-types ipynb JuicyPixels mtl network network-uri pandoc-types + parsec process random safe scientific SHA skylighting split syb + tagsoup temporary texmath text time unicode-transforms unix + unordered-containers vector xml zip-archive zlib ]; executableHaskellDepends = [ base ]; testHaskellDepends = [ base base64-bytestring bytestring containers Diff directory executable-path filepath Glob hslua pandoc-types process QuickCheck - tasty tasty-golden tasty-hunit tasty-quickcheck temporary text time - xml zip-archive + tasty tasty-golden tasty-hunit tasty-lua tasty-quickcheck temporary + text time xml zip-archive ]; benchmarkHaskellDepends = [ base bytestring containers criterion mtl text time weigh @@ -161367,46 +173365,10 @@ self: { ''; description = "Conversion between markup formats"; license = stdenv.lib.licenses.gpl2; - hydraPlatforms = stdenv.lib.platforms.none; maintainers = with stdenv.lib.maintainers; [ peti ]; }) {}; "pandoc-citeproc" = callPackage - ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring - , Cabal, containers, data-default, directory, filepath, hs-bibutils - , mtl, old-locale, pandoc, pandoc-types, parsec, process, rfc5051 - , setenv, split, syb, tagsoup, temporary, text, time - , unordered-containers, vector, xml-conduit, yaml - }: - mkDerivation { - pname = "pandoc-citeproc"; - version = "0.15.0.1"; - sha256 = "1y4jmralmcikmk75cf5bjlv4ymr42x35a6174ybqa99jmlm5znr9"; - isLibrary = true; - isExecutable = true; - enableSeparateDataOutput = true; - setupHaskellDepends = [ base Cabal ]; - libraryHaskellDepends = [ - aeson base bytestring containers data-default directory filepath - hs-bibutils mtl old-locale pandoc pandoc-types parsec rfc5051 - setenv split syb tagsoup text time unordered-containers vector - xml-conduit yaml - ]; - executableHaskellDepends = [ - aeson aeson-pretty attoparsec base bytestring filepath pandoc - pandoc-types syb text yaml - ]; - testHaskellDepends = [ - aeson base bytestring containers directory filepath mtl pandoc - pandoc-types process temporary text yaml - ]; - doCheck = false; - description = "Supports using pandoc with citeproc"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "pandoc-citeproc_0_16_1" = callPackage ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring , Cabal, containers, data-default, directory, filepath, hs-bibutils , libyaml, mtl, network, old-locale, pandoc, pandoc-types, parsec @@ -161415,8 +173377,10 @@ self: { }: mkDerivation { pname = "pandoc-citeproc"; - version = "0.16.1"; - sha256 = "0vn3kydzyx7r9zhhk4bgp8ljyi8a65fjlik52d6d536wz3p2pwd3"; + version = "0.16.2"; + sha256 = "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"; + revision = "2"; + editedCabalFile = "0z7ia0f89lamrvnr75j7r6jhklkly0qcyplws9ww9rpbj9j7shyk"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -161438,7 +173402,6 @@ self: { doCheck = false; description = "Supports using pandoc with citeproc"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pandoc-citeproc-preamble" = callPackage @@ -161446,8 +173409,8 @@ self: { }: mkDerivation { pname = "pandoc-citeproc-preamble"; - version = "1.2.3"; - sha256 = "1ip5z2zyich5f4h8arwmi67nlzwfd0hfpz3ixgisips3mz2d5hl2"; + version = "1.2.4"; + sha256 = "0bdarf6rjncd8lfap4xn479675vsvqzxrmdqd367l2gxfi1nmrv5"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -161466,10 +173429,8 @@ self: { }: mkDerivation { pname = "pandoc-crossref"; - version = "0.3.4.0"; - sha256 = "15vfqpfkw4wnsg98804l5ylqbc926s2j5z4ik5zhval4d3kiamgz"; - revision = "2"; - editedCabalFile = "18mnjhv578n5xz6yjzw1mymndscv8qxi6y41scljzwqs557ird7g"; + version = "0.3.4.1"; + sha256 = "19hs4akqsg7nlspnbdbyncq8irj0a3h8akmyfzxmi2yb35x7c8ny"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -161493,15 +173454,14 @@ self: { ]; description = "Pandoc filter for cross-references"; license = stdenv.lib.licenses.gpl2; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pandoc-csv2table" = callPackage ({ mkDerivation, base, csv, pandoc, pandoc-types, text }: mkDerivation { pname = "pandoc-csv2table"; - version = "1.0.6"; - sha256 = "0yv58p7l0cdk8xnn0nczmnff189dci04jr9psxzsj1yfkrvpc32h"; + version = "1.0.7"; + sha256 = "0b6ycr50n24cjlli7jk3dh1shfsl9wqykvmdgabk1s8n2w1ps8sa"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -161509,7 +173469,6 @@ self: { executableHaskellDepends = [ base csv pandoc pandoc-types ]; description = "Convert CSV to Pandoc Table Markdown"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pandoc-emphasize-code" = callPackage @@ -161535,6 +173494,8 @@ self: { testToolDepends = [ tasty-discover ]; description = "A Pandoc filter for emphasizing code in fenced blocks"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pandoc-filter-graphviz" = callPackage @@ -161554,7 +173515,6 @@ self: { ]; description = "A Pandoc filter to use graphviz"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pandoc-highlighting-extensions" = callPackage @@ -161592,6 +173552,7 @@ self: { description = "Include other Markdown files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pandoc-include-code" = callPackage @@ -161601,10 +173562,11 @@ self: { }: mkDerivation { pname = "pandoc-include-code"; - version = "1.3.0.0"; - sha256 = "1klmshyakhli0g9prqnllyrh9hsj67lps5b1cxh3jjlb6mxg5ic4"; + version = "1.4.0.0"; + sha256 = "0s3dayslfpnivr5h6napcrdh35bay7797z8nxjhr7c78ni7gdax9"; isLibrary = true; isExecutable = true; + enableSeparateDataOutput = true; libraryHaskellDepends = [ base filepath mtl pandoc-types process text unordered-containers ]; @@ -161616,6 +173578,7 @@ self: { description = "A Pandoc filter for including code from source files"; license = stdenv.lib.licenses.mpl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pandoc-japanese-filters" = callPackage @@ -161636,6 +173599,7 @@ self: { description = "Japanese-specific markup filters for pandoc"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pandoc-lens" = callPackage @@ -161648,6 +173612,34 @@ self: { description = "Lenses for Pandoc documents"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "pandoc-markdown-ghci-filter" = callPackage + ({ mkDerivation, aeson, base, containers, ghcid, pandoc + , pandoc-types, QuickCheck, tasty, tasty-hunit, tasty-quickcheck + , text + }: + mkDerivation { + pname = "pandoc-markdown-ghci-filter"; + version = "0.1.0.0"; + sha256 = "1m5hiqwkn1a0y3awrk8s7b9wwasspjaa3gdnck6w9xf7vgb5bgza"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base containers ghcid pandoc pandoc-types text + ]; + executableHaskellDepends = [ + aeson base containers ghcid pandoc pandoc-types text + ]; + testHaskellDepends = [ + aeson base containers ghcid pandoc pandoc-types QuickCheck tasty + tasty-hunit tasty-quickcheck text + ]; + description = "Pandoc-filter to evaluate `code` section in markdown and auto-embed output"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pandoc-placetable" = callPackage @@ -161658,6 +173650,7 @@ self: { pname = "pandoc-placetable"; version = "0.5.1"; sha256 = "0zfqmsq86jvwm4kpjb02whcdxk5xpgaj1sbdh471kr2vz8q4p112"; + configureFlags = [ "-finlineMarkdown" ]; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -161690,50 +173683,39 @@ self: { description = "Render and insert PlantUML diagrams with Pandoc"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pandoc-pyplot" = callPackage - ({ mkDerivation, base, containers, directory, filepath - , pandoc-types, temporary, typed-process + ({ mkDerivation, base, containers, data-default-class, deepseq + , directory, filepath, hashable, hspec, hspec-expectations + , open-browser, optparse-applicative, pandoc, pandoc-types, tasty + , tasty-hspec, tasty-hunit, template-haskell, temporary, text + , typed-process, yaml }: mkDerivation { pname = "pandoc-pyplot"; - version = "1.0.3.0"; - sha256 = "0nzpww21j79s1ww2q26856m6zq325pz32jjd4hanki7ch0ni2kg2"; + version = "2.1.5.1"; + sha256 = "100mn7q5nz7xvhbnhjsfmcf9n6x1gjl71akrnc5j8k2j57bk1kkf"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base containers directory filepath pandoc-types temporary - typed-process + base containers data-default-class directory filepath hashable + pandoc pandoc-types temporary text typed-process yaml ]; - executableHaskellDepends = [ base pandoc-types ]; - description = "A Pandoc filter for including figures generated from Matplotlib"; - license = stdenv.lib.licenses.mit; - }) {}; - - "pandoc-pyplot_1_1_0_0" = callPackage - ({ mkDerivation, base, containers, directory, filepath, hspec - , hspec-expectations, pandoc-types, tasty, tasty-hspec, tasty-hunit - , temporary, typed-process - }: - mkDerivation { - pname = "pandoc-pyplot"; - version = "1.1.0.0"; - sha256 = "0c04ayg4rnlycsw16gafiwvixxwc66wxfm4nk25bclbl67zyw8qj"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - base containers directory filepath pandoc-types temporary - typed-process + executableHaskellDepends = [ + base data-default-class deepseq directory filepath open-browser + optparse-applicative pandoc pandoc-types template-haskell temporary + text ]; - executableHaskellDepends = [ base pandoc-types ]; testHaskellDepends = [ - base directory filepath hspec hspec-expectations pandoc-types tasty - tasty-hspec tasty-hunit temporary + base data-default-class directory filepath hspec hspec-expectations + pandoc-types tasty tasty-hspec tasty-hunit temporary text ]; - description = "A Pandoc filter for including figures generated from Matplotlib"; + description = "A Pandoc filter to include figures generated from Python code blocks"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pandoc-sidenote" = callPackage @@ -161748,7 +173730,6 @@ self: { executableHaskellDepends = [ base pandoc-types ]; description = "Convert Pandoc Markdown-style footnotes into sidenotes"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pandoc-stylefrommeta" = callPackage @@ -161757,8 +173738,8 @@ self: { }: mkDerivation { pname = "pandoc-stylefrommeta"; - version = "0.2.0.2"; - sha256 = "12yvbh8cx5r6llx0gnz70n1b3zwm3zc8bdciq3cxyfivci5iks2r"; + version = "0.2.1.1"; + sha256 = "0jqgpgz1yx85zhm4f6qjaqcj94zi71ab0gam5vdz0jad79szr5l8"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -161766,7 +173747,6 @@ self: { ]; description = "Pandoc filter to customize links, images and paragraphs"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pandoc-types" = callPackage @@ -161777,8 +173757,8 @@ self: { }: mkDerivation { pname = "pandoc-types"; - version = "1.17.5.4"; - sha256 = "09wk2zskr0r2llsyif3s0x7vix05l1ya7qacsmmkrlhba5naib1j"; + version = "1.17.6"; + sha256 = "1c4yf284wd2zbskhrqk0lhqkdyry40db087cdy86b5ywr0yy1li7"; libraryHaskellDepends = [ aeson base bytestring containers deepseq ghc-prim QuickCheck syb transformers @@ -161804,6 +173784,7 @@ self: { description = "Literate Haskell support for GitHub's Markdown flavor"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pandoc-vimhl" = callPackage @@ -161828,8 +173809,8 @@ self: { ({ mkDerivation }: mkDerivation { pname = "pandora"; - version = "0.1.3"; - sha256 = "067x0kklbqfi65hy9rq593z1fwr62sp0d01ili2wywkwq2m2dq32"; + version = "0.2.0"; + sha256 = "0p46z3imh618v7i2734b5nlg9nx3hw4imjchqsx2l7nvkrpkgn64"; description = "A box of patterns and paradigms"; license = stdenv.lib.licenses.mit; }) {}; @@ -161852,6 +173833,7 @@ self: { description = "A super-pang clone"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pango" = callPackage @@ -161871,8 +173853,7 @@ self: { libraryPkgconfigDepends = [ pango ]; description = "Binding to the Pango text rendering engine"; license = stdenv.lib.licenses.lgpl21; - hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs.gnome2) pango;}; + }) {inherit (pkgs) pango;}; "pangraph" = callPackage ({ mkDerivation, algebraic-graphs, attoparsec, base, bytestring @@ -161890,6 +173871,7 @@ self: { description = "A set of parsers for graph languages and conversions to graph libaries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "panhandle" = callPackage @@ -161946,6 +173928,7 @@ self: { description = "Pandoc filter to execute code blocks"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pansite" = callPackage @@ -161974,9 +173957,169 @@ self: { testHaskellDepends = [ base doctest Glob hspec QuickCheck ]; description = "Pansite: a simple web site management tool"; license = stdenv.lib.licenses.mit; + }) {}; + + "pantry" = callPackage + ({ mkDerivation, aeson, ansi-terminal, array, base, base-orphans + , base64-bytestring, bytestring, Cabal, conduit, conduit-extra + , containers, contravariant, cryptonite, cryptonite-conduit + , deepseq, digest, directory, exceptions, filelock, filepath + , generic-deriving, ghc-prim, hackage-security, hashable, hedgehog + , hpack, hspec, http-client, http-client-tls, http-conduit + , http-download, http-types, integer-gmp, memory, mono-traversable + , mtl, network, network-uri, path, path-io, persistent + , persistent-sqlite, persistent-template, primitive, QuickCheck + , raw-strings-qq, resourcet, rio, rio-orphans, rio-prettyprint + , safe, syb, tar-conduit, template-haskell, text, text-metrics + , th-lift, th-lift-instances, th-orphans, th-reify-many + , th-utilities, time, transformers, unix-compat, unliftio + , unordered-containers, vector, yaml, zip-archive + }: + mkDerivation { + pname = "pantry"; + version = "0.1.1.1"; + sha256 = "082p2shapgnv10qjm77bpn0y6p6582n38xcgirh2l8mhs1yqflyg"; + libraryHaskellDepends = [ + aeson ansi-terminal array base base-orphans base64-bytestring + bytestring Cabal conduit conduit-extra containers contravariant + cryptonite cryptonite-conduit deepseq digest directory filelock + filepath generic-deriving ghc-prim hackage-security hashable hpack + http-client http-client-tls http-conduit http-download http-types + integer-gmp memory mono-traversable mtl network network-uri path + path-io persistent persistent-sqlite persistent-template primitive + resourcet rio rio-orphans rio-prettyprint safe syb tar-conduit + template-haskell text text-metrics th-lift th-lift-instances + th-orphans th-reify-many th-utilities time transformers unix-compat + unliftio unordered-containers vector yaml zip-archive + ]; + testHaskellDepends = [ + aeson ansi-terminal array base base-orphans base64-bytestring + bytestring Cabal conduit conduit-extra containers contravariant + cryptonite cryptonite-conduit deepseq digest directory exceptions + filelock filepath generic-deriving ghc-prim hackage-security + hashable hedgehog hpack hspec http-client http-client-tls + http-conduit http-download http-types integer-gmp memory + mono-traversable mtl network network-uri path path-io persistent + persistent-sqlite persistent-template primitive QuickCheck + raw-strings-qq resourcet rio rio-orphans rio-prettyprint safe syb + tar-conduit template-haskell text text-metrics th-lift + th-lift-instances th-orphans th-reify-many th-utilities time + transformers unix-compat unliftio unordered-containers vector yaml + zip-archive + ]; + description = "Content addressable Haskell package management"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "pantry_0_1_1_2" = callPackage + ({ mkDerivation, aeson, ansi-terminal, array, base, base-orphans + , base64-bytestring, bytestring, Cabal, conduit, conduit-extra + , containers, contravariant, cryptonite, cryptonite-conduit + , deepseq, digest, directory, exceptions, filelock, filepath + , generic-deriving, ghc-prim, hackage-security, hashable, hedgehog + , hpack, hspec, http-client, http-client-tls, http-conduit + , http-download, http-types, integer-gmp, memory, mono-traversable + , mtl, network, network-uri, path, path-io, persistent + , persistent-sqlite, persistent-template, primitive, QuickCheck + , raw-strings-qq, resourcet, rio, rio-orphans, rio-prettyprint + , safe, syb, tar-conduit, template-haskell, text, text-metrics + , th-lift, th-lift-instances, th-orphans, th-reify-many + , th-utilities, time, transformers, unix-compat, unliftio + , unordered-containers, vector, yaml, zip-archive + }: + mkDerivation { + pname = "pantry"; + version = "0.1.1.2"; + sha256 = "1m1sps9kc7y8zpba486lv5z8an3z8493zxb1qhghql6pybsprsgi"; + libraryHaskellDepends = [ + aeson ansi-terminal array base base-orphans base64-bytestring + bytestring Cabal conduit conduit-extra containers contravariant + cryptonite cryptonite-conduit deepseq digest directory filelock + filepath generic-deriving ghc-prim hackage-security hashable hpack + http-client http-client-tls http-conduit http-download http-types + integer-gmp memory mono-traversable mtl network network-uri path + path-io persistent persistent-sqlite persistent-template primitive + resourcet rio rio-orphans rio-prettyprint safe syb tar-conduit + template-haskell text text-metrics th-lift th-lift-instances + th-orphans th-reify-many th-utilities time transformers unix-compat + unliftio unordered-containers vector yaml zip-archive + ]; + testHaskellDepends = [ + aeson ansi-terminal array base base-orphans base64-bytestring + bytestring Cabal conduit conduit-extra containers contravariant + cryptonite cryptonite-conduit deepseq digest directory exceptions + filelock filepath generic-deriving ghc-prim hackage-security + hashable hedgehog hpack hspec http-client http-client-tls + http-conduit http-download http-types integer-gmp memory + mono-traversable mtl network network-uri path path-io persistent + persistent-sqlite persistent-template primitive QuickCheck + raw-strings-qq resourcet rio rio-orphans rio-prettyprint safe syb + tar-conduit template-haskell text text-metrics th-lift + th-lift-instances th-orphans th-reify-many th-utilities time + transformers unix-compat unliftio unordered-containers vector yaml + zip-archive + ]; + description = "Content addressable Haskell package management"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "pantry-tmp" = callPackage + ({ mkDerivation, aeson, ansi-terminal, array, base, base-orphans + , base64-bytestring, bytestring, Cabal, conduit, conduit-extra + , containers, contravariant, cryptonite, cryptonite-conduit + , deepseq, digest, directory, exceptions, filelock, filepath + , generic-deriving, ghc-prim, hackage-security, hashable, hedgehog + , hpack, hspec, http-client, http-client-tls, http-conduit + , http-download, http-types, integer-gmp, memory, mono-traversable + , mtl, network, network-uri, path, path-io, persistent + , persistent-sqlite, persistent-template, primitive, QuickCheck + , raw-strings-qq, resourcet, rio, rio-orphans, rio-prettyprint + , safe, syb, tar-conduit, template-haskell, text, text-metrics + , th-lift, th-lift-instances, th-orphans, th-reify-many + , th-utilities, time, transformers, unix-compat, unliftio + , unordered-containers, vector, yaml, zip-archive + }: + mkDerivation { + pname = "pantry-tmp"; + version = "0.1.0.0"; + sha256 = "18b2ac5kb6xzkxa2c5hhl6n37npxcxzxghi0p5wnv5rps3ahsmnn"; + revision = "4"; + editedCabalFile = "0hiashi78cak635jk74bk6m1dwdgyp8m0j5bzg18i776mb1zn09y"; + libraryHaskellDepends = [ + aeson ansi-terminal array base base-orphans base64-bytestring + bytestring Cabal conduit conduit-extra containers contravariant + cryptonite cryptonite-conduit deepseq digest directory filelock + filepath generic-deriving ghc-prim hackage-security hashable hpack + http-client http-client-tls http-conduit http-download http-types + integer-gmp memory mono-traversable mtl network network-uri path + path-io persistent persistent-sqlite persistent-template primitive + resourcet rio rio-orphans rio-prettyprint safe syb tar-conduit + template-haskell text text-metrics th-lift th-lift-instances + th-orphans th-reify-many th-utilities time transformers unix-compat + unliftio unordered-containers vector yaml zip-archive + ]; + testHaskellDepends = [ + aeson ansi-terminal array base base-orphans base64-bytestring + bytestring Cabal conduit conduit-extra containers contravariant + cryptonite cryptonite-conduit deepseq digest directory exceptions + filelock filepath generic-deriving ghc-prim hackage-security + hashable hedgehog hpack hspec http-client http-client-tls + http-conduit http-download http-types integer-gmp memory + mono-traversable mtl network network-uri path path-io persistent + persistent-sqlite persistent-template primitive QuickCheck + raw-strings-qq resourcet rio rio-orphans rio-prettyprint safe syb + tar-conduit template-haskell text text-metrics th-lift + th-lift-instances th-orphans th-reify-many th-utilities time + transformers unix-compat unliftio unordered-containers vector yaml + zip-archive + ]; + description = "Content addressable Haskell package management"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "papa" = callPackage ({ mkDerivation, base, papa-base, papa-base-export , papa-base-implement, papa-bifunctors, papa-bifunctors-export @@ -162093,6 +174236,7 @@ self: { description = "Reasonable default import"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "papa-implement" = callPackage @@ -162115,6 +174259,7 @@ self: { description = "Reasonable default import"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "papa-include" = callPackage @@ -162132,6 +174277,7 @@ self: { description = "Third party libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "papa-lens" = callPackage @@ -162184,6 +174330,7 @@ self: { description = "Prelude with only useful functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "papa-prelude-core" = callPackage @@ -162201,6 +174348,7 @@ self: { description = "Prelude with only useful functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "papa-prelude-lens" = callPackage @@ -162218,6 +174366,7 @@ self: { description = "Prelude with only useful functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "papa-prelude-semigroupoids" = callPackage @@ -162235,6 +174384,7 @@ self: { description = "Prelude with only useful functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "papa-prelude-semigroups" = callPackage @@ -162252,6 +174402,7 @@ self: { description = "Prelude with only useful functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "papa-semigroupoids" = callPackage @@ -162336,6 +174487,7 @@ self: { description = "A passphrase generator"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "papillon" = callPackage @@ -162357,6 +174509,7 @@ self: { description = "packrat parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pappy" = callPackage @@ -162371,6 +174524,7 @@ self: { description = "Packrat parsing; linear-time parsers for grammars in TDPL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "paprika" = callPackage @@ -162394,6 +174548,18 @@ self: { description = "The Haskell library and examples for the kids programming robot paprika"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "par-traverse" = callPackage + ({ mkDerivation, base, directory, filepath, parallel-io }: + mkDerivation { + pname = "par-traverse"; + version = "0.2.0.0"; + sha256 = "1cbanrhaad3fq2kkpdkb3rh7c8qrc1v7by8v6mg4lrgghdx3msk8"; + libraryHaskellDepends = [ base directory filepath parallel-io ]; + description = "Traverse a directory in parallel"; + license = stdenv.lib.licenses.bsd3; }) {}; "para" = callPackage @@ -162433,6 +174599,7 @@ self: { description = "Paragon"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parallel_3_2_0_3" = callPackage @@ -162489,6 +174656,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parallel-tree-search" = callPackage @@ -162513,6 +174681,7 @@ self: { description = "Parameterized/indexed monoids and monads using only a single parameter type variable"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parameterized-data" = callPackage @@ -162527,18 +174696,18 @@ self: { }) {}; "parameterized-utils" = callPackage - ({ mkDerivation, base, containers, deepseq, ghc-prim, hashable - , hashtables, lens, mtl, QuickCheck, tasty, tasty-ant-xml + ({ mkDerivation, base, constraints, containers, deepseq, ghc-prim + , hashable, hashtables, lens, mtl, QuickCheck, tasty, tasty-ant-xml , tasty-hunit, tasty-quickcheck, template-haskell, text , th-abstraction, vector }: mkDerivation { pname = "parameterized-utils"; - version = "1.0.1"; - sha256 = "0pcn1jiv5rhdm5nk6lg1xcr7cx7vsbl25n8slpf257khq23fjp6m"; + version = "2.0"; + sha256 = "0wbgjpwmiqll5pjfcf3p2ds3jaqvwx4m2v12a4r658fv18s9c14n"; libraryHaskellDepends = [ - base containers deepseq ghc-prim hashable hashtables lens mtl - template-haskell text th-abstraction vector + base constraints containers deepseq ghc-prim hashable hashtables + lens mtl template-haskell text th-abstraction vector ]; testHaskellDepends = [ base ghc-prim hashable hashtables lens mtl QuickCheck tasty @@ -162547,6 +174716,7 @@ self: { description = "Classes and data structures for working with data-kind indexed types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "paramtree" = callPackage @@ -162557,13 +174727,14 @@ self: { pname = "paramtree"; version = "0.1.1.1"; sha256 = "0ls9wzmz5lk7gyl8lx9cjs49zpwhrv955fs5q6ypv7bpbvjbchs1"; + revision = "1"; + editedCabalFile = "0p7zb0xvx88i72garnlihp2q1x5lpsr73jp2qh8lgasy12gy7g0q"; libraryHaskellDepends = [ base containers ]; testHaskellDepends = [ base bytestring tasty tasty-golden tasty-hunit temporary ]; description = "Generate labelled test/benchmark trees from sets of parameters"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "paranoia" = callPackage @@ -162590,6 +174761,7 @@ self: { description = "http proxy server"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parco" = callPackage @@ -162602,6 +174774,7 @@ self: { description = "Generalised parser combinators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parco-attoparsec" = callPackage @@ -162614,6 +174787,7 @@ self: { description = "Generalised parser combinators - Attoparsec interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parco-parsec" = callPackage @@ -162626,6 +174800,7 @@ self: { description = "Generalised parser combinators - Parsec interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parcom-lib" = callPackage @@ -162670,6 +174845,7 @@ self: { description = "Examples to accompany the book \"Parallel and Concurrent Programming in Haskell\""; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pareto" = callPackage @@ -162682,6 +174858,7 @@ self: { description = "A library for cause-effect relationships"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "paripari" = callPackage @@ -162692,6 +174869,8 @@ self: { pname = "paripari"; version = "0.6.0.0"; sha256 = "1604py5ms14xhmvsxdqx56xfbs3g4wkhjd8f5gsmhpqwz7acy511"; + revision = "2"; + editedCabalFile = "074z7wrb1p4c8wxwmqv3nxs6kp835r9pxmmnspqaajj0rag70ny3"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -162745,6 +174924,7 @@ self: { description = "generate command line arguments from a --help output"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parseargs" = callPackage @@ -162760,18 +174940,18 @@ self: { testHaskellDepends = [ base process ]; description = "Parse command-line arguments"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "parsec_3_1_13_0" = callPackage + "parsec_3_1_14_0" = callPackage ({ mkDerivation, base, bytestring, HUnit, mtl, test-framework , test-framework-hunit, text }: mkDerivation { pname = "parsec"; - version = "3.1.13.0"; - sha256 = "1wc09pyn70p8z6llink10c8pqbh6ikyk554911yfwxv1g91swqbq"; - revision = "2"; - editedCabalFile = "032sizm03m2vdqshkv4sdviyka05gqf8gs6r4hqf9did177i0qnm"; + version = "3.1.14.0"; + sha256 = "132waj2cpn892midbhpkfmb74qq83v0zv29v885frlp1gvh94b67"; libraryHaskellDepends = [ base bytestring mtl text ]; testHaskellDepends = [ base HUnit mtl test-framework test-framework-hunit @@ -162817,6 +174997,7 @@ self: { description = "Parsec API encoded as a deeply-embedded DSL, for debugging and analysis"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parsec-numbers" = callPackage @@ -162861,6 +175042,7 @@ self: { description = "Parsing instances for Parsec"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parsec-permutation" = callPackage @@ -162888,6 +175070,7 @@ self: { description = "Pratt Parser combinator for Parsec"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parsec-tagsoup" = callPackage @@ -162989,6 +175172,7 @@ self: { description = "Adds and Eq instance for Parsec's ParseError if needed"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parsek" = callPackage @@ -163011,19 +175195,78 @@ self: { libraryHaskellDepends = [ base mtl parsec ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parser-combinators" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "parser-combinators"; - version = "1.0.1"; - sha256 = "0cpa1j1r7gpyj1n9b1kam4wq6fjn6qh2a1w7m95k614sls7spxgd"; + version = "1.1.0"; + sha256 = "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"; libraryHaskellDepends = [ base ]; description = "Lightweight package providing commonly useful parser combinators"; license = stdenv.lib.licenses.bsd3; }) {}; + "parser-combinators_1_2_0" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "parser-combinators"; + version = "1.2.0"; + sha256 = "18kfg4sxighqzd64ad98xhc62sh7pd63pv7xhcj601pw922iappa"; + libraryHaskellDepends = [ base ]; + description = "Lightweight package providing commonly useful parser combinators"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "parser-combinators-tests" = callPackage + ({ mkDerivation, base, hspec, hspec-discover, hspec-expectations + , hspec-megaparsec, megaparsec, megaparsec-tests + , parser-combinators, QuickCheck + }: + mkDerivation { + pname = "parser-combinators-tests"; + version = "1.1.0"; + sha256 = "0m3xgdi1q3q638zfvgpdqyrhfq9abqwjripvbdx5z9rai4whzqmz"; + revision = "1"; + editedCabalFile = "0adgbzpylvk9p7ylxynsdrmqhhbh5pm8ww1s3nz3czl79y8lhh47"; + isLibrary = false; + isExecutable = false; + testHaskellDepends = [ + base hspec hspec-expectations hspec-megaparsec megaparsec + megaparsec-tests parser-combinators QuickCheck + ]; + testToolDepends = [ hspec-discover ]; + description = "Test suite of parser-combinators"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "parser-combinators-tests_1_2_0" = callPackage + ({ mkDerivation, base, hspec, hspec-discover, hspec-expectations + , hspec-megaparsec, megaparsec, megaparsec-tests + , parser-combinators, QuickCheck + }: + mkDerivation { + pname = "parser-combinators-tests"; + version = "1.2.0"; + sha256 = "0ainpyrxm03brn6z27jkqp65rc1z3lza00k6mg10506qk83fa52l"; + isLibrary = false; + isExecutable = false; + testHaskellDepends = [ + base hspec hspec-expectations hspec-megaparsec megaparsec + megaparsec-tests parser-combinators QuickCheck + ]; + testToolDepends = [ hspec-discover ]; + description = "Test suite of parser-combinators"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "parser-helper" = callPackage ({ mkDerivation, aeson, base, bytestring, haskell-src-exts, text }: mkDerivation { @@ -163038,6 +175281,7 @@ self: { description = "Prints Haskell parse trees in JSON"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parser241" = callPackage @@ -163053,6 +175297,7 @@ self: { description = "An interface to create production rules using augmented grammars"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parsergen" = callPackage @@ -163075,6 +175320,7 @@ self: { description = "TH parser generator for splitting bytestring into fixed-width fields"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parsers" = callPackage @@ -163085,8 +175331,8 @@ self: { }: mkDerivation { pname = "parsers"; - version = "0.12.9"; - sha256 = "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"; + version = "0.12.10"; + sha256 = "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"; libraryHaskellDepends = [ attoparsec base base-orphans binary charset containers mtl parsec scientific semigroups text transformers unordered-containers @@ -163135,6 +175381,7 @@ self: { description = "NMR-STAR file format parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "parsimony" = callPackage @@ -163155,8 +175402,8 @@ self: { }: mkDerivation { pname = "parsix"; - version = "0.1.0.2"; - sha256 = "0dg48xycw7dl3700ws9qi49i8095nqag6wr9n1jan2w2gd0vchy1"; + version = "0.2.1.0"; + sha256 = "1282mzlriyl4gi0l2ds4a3prjh6q0vl5cv14ms03999hmygpnr3l"; libraryHaskellDepends = [ base containers fingertree mtl parsers prettyprinter prettyprinter-ansi-terminal text transformers @@ -163166,7 +175413,6 @@ self: { ]; description = "Parser combinators with slicing, error recovery, and syntax highlighting"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "partage" = callPackage @@ -163186,6 +175432,7 @@ self: { description = "Parsing factorized"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "partial" = callPackage @@ -163235,6 +175482,7 @@ self: { description = "Haskell 98 Partial Lenses"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "partial-order" = callPackage @@ -163253,39 +175501,27 @@ self: { description = "Provides typeclass suitable for types admitting a partial order"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "partial-semigroup" = callPackage ({ mkDerivation, base, doctest, hedgehog }: mkDerivation { pname = "partial-semigroup"; - version = "0.5.0.0"; - sha256 = "03wfizykalpnv2i2qmj2vm27ajs1s8kmzy7ynsh8b2l43nafixqm"; + version = "0.5.1.1"; + sha256 = "1n0nr7yprkg9ca86yd1w8d42zqjjdf6k7bbk818kfwbh72csxl0q"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base doctest hedgehog ]; description = "A partial binary associative operator"; license = stdenv.lib.licenses.asl20; }) {}; - "partial-semigroup_0_5_1_0" = callPackage - ({ mkDerivation, base, doctest, hedgehog }: - mkDerivation { - pname = "partial-semigroup"; - version = "0.5.1.0"; - sha256 = "15rg80dgawmjz0gzfsspbb0b1045l6w5vvhwd4dgr7vv4hwj9gs9"; - libraryHaskellDepends = [ base ]; - testHaskellDepends = [ base doctest hedgehog ]; - description = "A partial binary associative operator"; - license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "partial-semigroup-hedgehog" = callPackage ({ mkDerivation, base, hedgehog, partial-semigroup }: mkDerivation { pname = "partial-semigroup-hedgehog"; - version = "0.6.0.0"; - sha256 = "1qd9bg9qv0n80asfkrycvqwv92cdyy590871ypgkl82kx8x7qgbf"; + version = "0.6.0.1"; + sha256 = "0wn5gdgjza17qhxqmkp8mkj77ky2q39xs1gpjx4nrs5af34pavpy"; libraryHaskellDepends = [ base hedgehog partial-semigroup ]; description = "Property testing for partial semigroups using Hedgehog"; license = stdenv.lib.licenses.asl20; @@ -163336,6 +175572,7 @@ self: { description = "Inspect, create, and alter MBRs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "passage" = callPackage @@ -163355,6 +175592,7 @@ self: { description = "Parallel code generation for hierarchical Bayesian modeling"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "passman" = callPackage @@ -163429,6 +175667,40 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "password" = callPackage + ({ mkDerivation, base, doctest, QuickCheck, quickcheck-instances + , scrypt, text + }: + mkDerivation { + pname = "password"; + version = "0.1.0.0"; + sha256 = "097zpb3brl7qib2a7di4y5lpkgzyqanhcyfchpf1xng199k2bwp3"; + libraryHaskellDepends = [ base scrypt text ]; + testHaskellDepends = [ + base doctest QuickCheck quickcheck-instances + ]; + description = "plain-text password and hashed password datatypes and functions"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "password-instances" = callPackage + ({ mkDerivation, aeson, base, doctest, http-api-data, password + , persistent, QuickCheck, quickcheck-instances + }: + mkDerivation { + pname = "password-instances"; + version = "0.3.0.0"; + sha256 = "1ll5c9dpw23v4r3zf3v7rc6y5cjh55myjdg5mvyi1d5kb95pbwp9"; + libraryHaskellDepends = [ + aeson base http-api-data password persistent + ]; + testHaskellDepends = [ + base doctest QuickCheck quickcheck-instances + ]; + description = "typeclass instances for password package"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "passwords" = callPackage ({ mkDerivation, base, containers, MonadRandom, random }: mkDerivation { @@ -163439,6 +175711,7 @@ self: { description = "Password generation/validation library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pasta" = callPackage @@ -163456,6 +175729,7 @@ self: { description = "PostgreSQL Abstract Syntax Tree Assember"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pastis" = callPackage @@ -163468,6 +175742,7 @@ self: { description = "Interface to the past.is URL shortening service"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pasty" = callPackage @@ -163482,6 +175757,7 @@ self: { description = "A simple command line pasting utility"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "patat" = callPackage @@ -163493,8 +175769,8 @@ self: { }: mkDerivation { pname = "patat"; - version = "0.8.2.2"; - sha256 = "03k4njhn7sasr02446qj8x69hh8af7l35900lrvxr7qv741rc006"; + version = "0.8.2.5"; + sha256 = "1hss18gb71xrjgncjr4g5935k7kcwxpxxb6j52i32ans43xavhiv"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -163506,6 +175782,7 @@ self: { description = "Terminal-based presentations using Pandoc"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "patch-combinators" = callPackage @@ -163524,26 +175801,26 @@ self: { ({ mkDerivation, accelerate, accelerate-arithmetic , accelerate-cufft, accelerate-fourier, accelerate-io , accelerate-llvm-ptx, accelerate-utility, array, base, bool8 - , bytestring, Cabal, carray, cassava, containers, dsp, enumset - , explicit-exception, fft, filepath, gnuplot, JuicyPixels, knead - , llvm-extra, llvm-tf, non-empty, pqueue, prelude-compat - , semigroups, storable-complex, storable-tuple, tfp + , bytestring, Cabal, carray, cassava, comfort-array, containers + , dsp, enumset, explicit-exception, fft, filepath, gnuplot + , JuicyPixels, knead, llvm-extra, llvm-tf, non-empty, pqueue + , prelude-compat, semigroups, storable-complex, storable-tuple, tfp , unordered-containers, utility-ht, vector }: mkDerivation { pname = "patch-image"; - version = "0.3.2.1"; - sha256 = "1z8m3lfdd2izb6riqzscc40kk8wc7588l24214sg0bkampss1ysg"; + version = "0.3.3"; + sha256 = "0jm723xrbiwpq7sci67z0vilsv8a8i2ndm795ssyqkgqm7g1psby"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ accelerate accelerate-arithmetic accelerate-cufft accelerate-fourier accelerate-io accelerate-llvm-ptx accelerate-utility array base bool8 bytestring Cabal carray cassava - containers dsp enumset explicit-exception fft filepath gnuplot - JuicyPixels knead llvm-extra llvm-tf non-empty pqueue - prelude-compat semigroups storable-complex storable-tuple tfp - unordered-containers utility-ht vector + comfort-array containers dsp enumset explicit-exception fft + filepath gnuplot JuicyPixels knead llvm-extra llvm-tf non-empty + pqueue prelude-compat semigroups storable-complex storable-tuple + tfp unordered-containers utility-ht vector ]; description = "Compose a big image from overlapping parts"; license = stdenv.lib.licenses.bsd3; @@ -163567,6 +175844,7 @@ self: { description = "Patches (diffs) on vectors: composable, mergeable, and invertible"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "path" = callPackage @@ -163609,27 +175887,6 @@ self: { }) {}; "path-io" = callPackage - ({ mkDerivation, base, containers, directory, dlist, exceptions - , filepath, hspec, path, temporary, time, transformers, unix-compat - }: - mkDerivation { - pname = "path-io"; - version = "1.4.1"; - sha256 = "0v5zwdsy8dd2ljidjm2rr8wfpvjlgk1g7c5xf40ddzjn9ghykk2p"; - revision = "1"; - editedCabalFile = "1qb9b3rvzpdm6xp2xljmp2izz0x26bj3zvai22iyl914pzph3181"; - libraryHaskellDepends = [ - base containers directory dlist exceptions filepath path temporary - time transformers unix-compat - ]; - testHaskellDepends = [ - base directory exceptions hspec path transformers unix-compat - ]; - description = "Interface to ‘directory’ package for users of ‘path’"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "path-io_1_4_2" = callPackage ({ mkDerivation, base, containers, directory, dlist, exceptions , filepath, hspec, path, temporary, time, transformers, unix-compat }: @@ -163646,7 +175903,6 @@ self: { ]; description = "Interface to ‘directory’ package for users of ‘path’"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "path-pieces" = callPackage @@ -163705,6 +175961,7 @@ self: { description = "A toy pathfinding library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "paths" = callPackage @@ -163774,10 +176031,8 @@ self: { ({ mkDerivation, base, containers }: mkDerivation { pname = "patience"; - version = "0.2.1.0"; - sha256 = "0mfkqf5kwxqva6pizj967gv7m8zvjvwnli5ala0qvv7jq8gqnfsf"; - revision = "1"; - editedCabalFile = "0zr4w80zx7gw7amj2mlxl0k7lvczxnl0i13mijvxnb0g15sa5clg"; + version = "0.3"; + sha256 = "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"; libraryHaskellDepends = [ base containers ]; description = "Patience diff and longest increasing subsequence"; license = stdenv.lib.licenses.bsd3; @@ -163795,6 +176050,7 @@ self: { description = "A webpage scraper for Patreon which dumps a list of patrons to a text file"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pattern-arrows" = callPackage @@ -163808,6 +176064,18 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "pattern-matcher" = callPackage + ({ mkDerivation, base, containers, mtl, QuickCheck }: + mkDerivation { + pname = "pattern-matcher"; + version = "0.1.0.1"; + sha256 = "1wk4kjdr5a3s6cwzw5cr52bij9ix5apn3vixrj3iycar7zsyzxgz"; + libraryHaskellDepends = [ base containers ]; + testHaskellDepends = [ base containers mtl QuickCheck ]; + description = "A library for compiling pattern-matching to decision trees"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "pattern-trie" = callPackage ({ mkDerivation, base, bytestring, containers, criterion, deepseq , doctest, hashable, mtl, QuickCheck, tasty, tasty-quickcheck, text @@ -163849,6 +176117,7 @@ self: { description = "Common patterns in message-oriented applications"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "paymill" = callPackage @@ -163886,6 +176155,7 @@ self: { description = "Client for a limited part of PayPal's Adaptive Payments API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "paypal-api" = callPackage @@ -163903,6 +176173,7 @@ self: { description = "PayPal API, currently supporting \"ButtonManager\""; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "paypal-rest-client" = callPackage @@ -163920,6 +176191,7 @@ self: { description = "A client to connect to PayPal's REST API (v1)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pb" = callPackage @@ -163936,6 +176208,7 @@ self: { description = "pastebin command line application"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pb-next" = callPackage @@ -163956,6 +176229,7 @@ self: { description = "Utility CLI for working with protobuf files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pbc4hs" = callPackage @@ -163968,6 +176242,7 @@ self: { description = "pbc for HsLua"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pbkdf" = callPackage @@ -164025,6 +176300,7 @@ self: { description = "Convert a pcap into an enumerator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pcd-loader" = callPackage @@ -164050,6 +176326,7 @@ self: { description = "PCD file loader"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pcf" = callPackage @@ -164068,6 +176345,7 @@ self: { description = "A one file compiler for PCF"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pcf-font" = callPackage @@ -164100,13 +176378,14 @@ self: { }) {}; "pcg-random" = callPackage - ({ mkDerivation, base, bytestring, doctest, entropy, primitive - , random + ({ mkDerivation, base, bytestring, Cabal, cabal-doctest, doctest + , entropy, primitive, random }: mkDerivation { pname = "pcg-random"; - version = "0.1.3.5"; - sha256 = "1920g1babivacds27m0gbjs9mylwiknjykvbrpagzq7r0n4gyhyy"; + version = "0.1.3.6"; + sha256 = "1m8xnic207ajbpz0q81h7xr9xmp1dzm6474vyvack6iidbzi4l08"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base bytestring entropy primitive random ]; @@ -164182,6 +176461,7 @@ self: { description = "pcre-light extra functionality"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pcre-utils" = callPackage @@ -164224,6 +176504,7 @@ self: { description = "Tool to generate PDF from haskintex templates and YAML input"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pdf-slave-server" = callPackage @@ -164275,6 +176556,7 @@ self: { description = "Template format definition for pdf-slave tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pdf-toolbox-content" = callPackage @@ -164292,6 +176574,7 @@ self: { description = "A collection of tools for processing PDF files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pdf-toolbox-core" = callPackage @@ -164309,6 +176592,7 @@ self: { description = "A collection of tools for processing PDF files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pdf-toolbox-document" = callPackage @@ -164328,6 +176612,7 @@ self: { description = "A collection of tools for processing PDF files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pdf-toolbox-viewer" = callPackage @@ -164349,6 +176634,7 @@ self: { description = "Simple pdf viewer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pdf2line" = callPackage @@ -164399,6 +176685,7 @@ self: { description = "Name a PDF file using information from the pdfinfo command"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pdfsplit" = callPackage @@ -164415,6 +176702,7 @@ self: { description = "split two-column PDFs, so there is one column per page"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pdynload" = callPackage @@ -164432,6 +176720,7 @@ self: { description = "pdynload is polymorphic dynamic linking library"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "peakachu" = callPackage @@ -164448,6 +176737,7 @@ self: { description = "Experiemental library for composable interactive programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "peano" = callPackage @@ -164498,6 +176788,7 @@ self: { description = "pec embedded compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pecoff" = callPackage @@ -164544,6 +176835,7 @@ self: { description = "A pedestrian implementation of directed acyclic graphs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "peg" = callPackage @@ -164562,6 +176854,7 @@ self: { description = "a lazy non-deterministic concatenative programming language"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "peggy" = callPackage @@ -164581,6 +176874,7 @@ self: { description = "The Parser Generator for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pell" = callPackage @@ -164599,6 +176893,7 @@ self: { description = "Package to solve the Generalized Pell Equation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pem" = callPackage @@ -164626,17 +176921,20 @@ self: { }: mkDerivation { pname = "pencil"; - version = "0.1.3"; - sha256 = "0kga9i19qxp6g51dyavnybfs6znsija87hxsfrxblsyi4gqs9hbp"; + version = "1.0.1"; + sha256 = "0a1lb0dclv6p6qkd6nd3zp665n6spkv10yd1i2m67rrqabg802cl"; + revision = "1"; + editedCabalFile = "012afvs4wghdw7adz0hw01pmi8ai89r8jhpykdwfyf4ignbrfpvq"; libraryHaskellDepends = [ base data-default directory edit-distance filepath hashable hsass mtl pandoc parsec semigroups text time unordered-containers vector xml yaml ]; - testHaskellDepends = [ base doctest text unordered-containers ]; + testHaskellDepends = [ + base doctest mtl text unordered-containers + ]; description = "Static site generator"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "penn-treebank" = callPackage @@ -164677,6 +176975,7 @@ self: { description = "Extensible double-entry accounting system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "penny-bin" = callPackage @@ -164696,6 +176995,7 @@ self: { description = "Deprecated - use penny package instead"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "penny-lib" = callPackage @@ -164718,25 +177018,44 @@ self: { description = "Deprecated - use penny package instead"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "penrose" = callPackage - ({ mkDerivation, ad, aeson, base, containers, gloss, megaparsec - , old-time, random, text, websockets + ({ mkDerivation, ad, aeson, alex, ansi-terminal, array, base + , bytestring, containers, directory, docopt, extra, hmatrix + , hslogger, http-types, megaparsec, mtl, multimap, network + , old-time, parser-combinators, pretty, pretty-show + , pretty-terminal, process, random, random-shuffle, scotty, split + , tasty, tasty-hunit, tasty-quickcheck, tasty-smallcheck, text + , unordered-containers, uuid, websockets }: mkDerivation { pname = "penrose"; - version = "0.1.0.2"; - sha256 = "0yva42b0av532a99kl0ldcfi229vs2m09w445r981i30xlilg5is"; - isLibrary = false; + version = "0.1.1.1"; + sha256 = "0fak9lsa7gz1q2sbkwd76i01zi5aigi3p7q7gqlmz32y8sxsc8q0"; + isLibrary = true; isExecutable = true; - executableHaskellDepends = [ - ad aeson base containers gloss megaparsec old-time random text - websockets + libraryHaskellDepends = [ + ad aeson ansi-terminal array base bytestring containers directory + docopt extra hmatrix hslogger http-types megaparsec mtl multimap + network old-time parser-combinators pretty pretty-show + pretty-terminal process random random-shuffle scotty split text + unordered-containers uuid websockets ]; - description = "A system that automatically visualize mathematics"; + libraryToolDepends = [ alex ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ + ad aeson ansi-terminal array base bytestring containers directory + docopt extra hmatrix hslogger http-types megaparsec mtl multimap + network old-time parser-combinators pretty pretty-show + pretty-terminal process random random-shuffle scotty split tasty + tasty-hunit tasty-quickcheck tasty-smallcheck text uuid websockets + ]; + description = "Create beautiful diagrams just by typing mathematical notation in plain text"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "peparser" = callPackage @@ -164749,6 +177068,7 @@ self: { description = "A parser for PE object files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "percent-format" = callPackage @@ -164773,6 +177093,32 @@ self: { description = "The perceptron learning algorithm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "perceptual-hash" = callPackage + ({ mkDerivation, base, containers, cpphs, criterion, filepath, hip + , hspec, optparse-applicative, par-traverse, primitive, repa, stm + , vector, vector-algorithms + }: + mkDerivation { + pname = "perceptual-hash"; + version = "0.1.2.0"; + sha256 = "0wj5bnm4f2n2fd1ykf0n5cbf974x34nzy16dh7z2wxv2yn7b4f9r"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + base hip primitive repa vector vector-algorithms + ]; + executableHaskellDepends = [ + base containers filepath optparse-applicative par-traverse stm + ]; + testHaskellDepends = [ base hspec ]; + benchmarkHaskellDepends = [ base criterion filepath ]; + benchmarkToolDepends = [ cpphs ]; + description = "Find duplicate images"; + license = stdenv.lib.licenses.bsd3; }) {}; "perdure" = callPackage @@ -164820,6 +177166,7 @@ self: { description = "Database migration support for use in other libraries"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "perf" = callPackage @@ -164837,6 +177184,7 @@ self: { description = "Low-level run time measurement"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "perf-analysis" = callPackage @@ -164861,6 +177209,7 @@ self: { description = "analysis example using perf"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "perfect-hash-generator" = callPackage @@ -164892,6 +177241,27 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; + "perfect-vector-shuffle" = callPackage + ({ mkDerivation, base, MonadRandom, primitive, QuickCheck + , quickcheck-instances, random, tasty, tasty-quickcheck, vector + }: + mkDerivation { + pname = "perfect-vector-shuffle"; + version = "0.1.1"; + sha256 = "1r9w8792r25fgyf7q7jdpnw4rmdvrjfg7g4dn2dk1d3gy4lbabig"; + libraryHaskellDepends = [ + base MonadRandom primitive random vector + ]; + testHaskellDepends = [ + base QuickCheck quickcheck-instances random tasty tasty-quickcheck + vector + ]; + description = "Library for performing vector shuffles"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "perfecthash" = callPackage ({ mkDerivation, array, base, bytestring, cmph, containers , criterion, deepseq, hspec, QuickCheck, random, time @@ -164914,6 +177284,7 @@ self: { description = "A perfect hashing library for mapping bytestrings to values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "perhaps" = callPackage @@ -164932,6 +177303,7 @@ self: { description = "Perhaps, a monad"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "period" = callPackage @@ -164969,6 +177341,7 @@ self: { description = "A reliable at-least-once periodic job scheduler backed by redis"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "perm" = callPackage @@ -164986,6 +177359,7 @@ self: { description = "permutation Applicative and Monad with many mtl instances"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "permutation" = callPackage @@ -165022,6 +177396,7 @@ self: { description = "Permutations of finite sets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "permute" = callPackage @@ -165034,6 +177409,7 @@ self: { description = "Generalised permutation parser combinator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persist" = callPackage @@ -165042,8 +177418,8 @@ self: { }: mkDerivation { pname = "persist"; - version = "0.1.1.1"; - sha256 = "1r14xfaa4rncv7sgrm6lznab8yyj6wh65yvzh2j2prwpjqswy5b7"; + version = "0.1.1.3"; + sha256 = "0lcjk2q9x0qclc3znwv9xrqqwbczw2ryvamfqa6hvabr618lmi4p"; libraryHaskellDepends = [ base bytestring containers text ]; testHaskellDepends = [ base bytestring QuickCheck test-framework @@ -165067,6 +177443,7 @@ self: { description = "Transforms persist's quasi-quoted syntax into ER format"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistable-record" = callPackage @@ -165153,10 +177530,8 @@ self: { }: mkDerivation { pname = "persistent"; - version = "2.9.1"; - sha256 = "1b6shb1d8p7dapj428glmsy7w69424bxrvgf7ws8jd266h4gshk7"; - revision = "1"; - editedCabalFile = "1ing9cdpafmfx0mpvrl3xzfvmw5aw2lpiq69nnhrsmlhb9pi8ni0"; + version = "2.9.2"; + sha256 = "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9"; libraryHaskellDepends = [ aeson attoparsec base base64-bytestring blaze-html blaze-markup bytestring conduit containers fast-logger http-api-data @@ -165176,6 +177551,35 @@ self: { maintainers = with stdenv.lib.maintainers; [ psibi ]; }) {}; + "persistent_2_10_1" = callPackage + ({ mkDerivation, aeson, attoparsec, base, base64-bytestring + , blaze-html, bytestring, conduit, containers, fast-logger, hspec + , http-api-data, monad-logger, mtl, path-pieces, resource-pool + , resourcet, scientific, silently, template-haskell, text, time + , transformers, unliftio-core, unordered-containers, vector + }: + mkDerivation { + pname = "persistent"; + version = "2.10.1"; + sha256 = "1wwka7pxyym12hcvf45qr15n3ig9zyz5y2wl30vgcvwnhawmrsbg"; + libraryHaskellDepends = [ + aeson attoparsec base base64-bytestring blaze-html bytestring + conduit containers fast-logger http-api-data monad-logger mtl + path-pieces resource-pool resourcet scientific silently + template-haskell text time transformers unliftio-core + unordered-containers vector + ]; + testHaskellDepends = [ + aeson attoparsec base base64-bytestring blaze-html bytestring + containers hspec http-api-data path-pieces scientific text time + transformers unordered-containers vector + ]; + description = "Type-safe, multi-backend data serialization"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + maintainers = with stdenv.lib.maintainers; [ psibi ]; + }) {}; + "persistent-audit" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring , getopt-generics, hashable, hspec, mongoDB, persistent @@ -165204,6 +177608,7 @@ self: { description = "Parses a Persist Model file and produces Audit Models"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistent-cereal" = callPackage @@ -165216,6 +177621,7 @@ self: { description = "Helper functions for writing Persistent instances"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistent-database-url" = callPackage @@ -165236,6 +177642,29 @@ self: { description = "Parse DATABASE_URL into configuration types for Persistent"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "persistent-documentation" = callPackage + ({ mkDerivation, base, containers, hspec, hspec-discover, mtl + , persistent, persistent-template, template-haskell, text + }: + mkDerivation { + pname = "persistent-documentation"; + version = "0.1.0.1"; + sha256 = "027fxb3ggzyxg2ykml7sdk2hycacd237161yr3w5cwi320b9ghyg"; + libraryHaskellDepends = [ + base containers mtl persistent template-haskell text + ]; + testHaskellDepends = [ + base containers hspec hspec-discover persistent persistent-template + text + ]; + testToolDepends = [ hspec-discover ]; + description = "Documentation DSL for persistent entities"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistent-equivalence" = callPackage @@ -165248,6 +177677,7 @@ self: { description = "Persistent equivalence relations (aka union-find)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistent-hssqlppp" = callPackage @@ -165265,6 +177695,7 @@ self: { description = "Declare Persistent entities using SQL SELECT query syntax"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistent-instances-iproute" = callPackage @@ -165309,6 +177740,7 @@ self: { description = "A thread-safe (STM) persistency interface for finite map types"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistent-migration" = callPackage @@ -165334,26 +177766,36 @@ self: { description = "Manual migrations for the persistent library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistent-mongoDB" = callPackage - ({ mkDerivation, aeson, attoparsec, base, bson, bytestring, cereal - , conduit, containers, http-api-data, mongoDB, network, path-pieces - , persistent, resource-pool, resourcet, text, time, transformers - , unliftio-core + ({ mkDerivation, aeson, base, blaze-html, bson, bytestring, cereal + , conduit, containers, hspec, http-api-data, HUnit, mongoDB + , network, path-pieces, persistent, persistent-qq + , persistent-template, persistent-test, process, QuickCheck + , resource-pool, resourcet, template-haskell, text, time + , transformers, unliftio-core }: mkDerivation { pname = "persistent-mongoDB"; - version = "2.8.0"; - sha256 = "12hp7cqdz672r5rhad6xvjpxhrs8v1swiz0d9n7xbn41g11a247l"; + version = "2.9.0"; + sha256 = "1xahxmr1rwi2sj809zfqs50kss7ii6df9k52rqr2zxp8q2ipkrx9"; libraryHaskellDepends = [ - aeson attoparsec base bson bytestring cereal conduit containers - http-api-data mongoDB network path-pieces persistent resource-pool - resourcet text time transformers unliftio-core + aeson base bson bytestring cereal conduit http-api-data mongoDB + network path-pieces persistent resource-pool resourcet text time + transformers unliftio-core + ]; + testHaskellDepends = [ + base blaze-html bytestring containers hspec HUnit mongoDB + persistent persistent-qq persistent-template persistent-test + process QuickCheck template-haskell text time transformers + unliftio-core ]; description = "Backend for the persistent library using mongoDB"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistent-mysql" = callPackage @@ -165365,6 +177807,8 @@ self: { pname = "persistent-mysql"; version = "2.9.0"; sha256 = "0aa1ia4r49vy5hfg59rbrfmfwdyaix0l32drdjnj9xxqbayifjzf"; + revision = "1"; + editedCabalFile = "0xvis08x4ajayp73f6j0czpksn309f3anv5kklxa9r6j8j5qkhvz"; libraryHaskellDepends = [ aeson base blaze-builder bytestring conduit containers monad-logger mysql mysql-simple persistent resource-pool resourcet text @@ -165374,6 +177818,33 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "persistent-mysql_2_10_1" = callPackage + ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit + , containers, fast-logger, hspec, HUnit, monad-logger, mysql + , mysql-simple, persistent, persistent-qq, persistent-template + , persistent-test, QuickCheck, quickcheck-instances, resource-pool + , resourcet, text, time, transformers, unliftio-core + }: + mkDerivation { + pname = "persistent-mysql"; + version = "2.10.1"; + sha256 = "0a75zqfhcd8xigcifi4ksdn5xwyq5qnif1r3yvnkhp5f3vjzm9vj"; + libraryHaskellDepends = [ + aeson base blaze-builder bytestring conduit containers monad-logger + mysql mysql-simple persistent resource-pool resourcet text + transformers unliftio-core + ]; + testHaskellDepends = [ + base bytestring containers fast-logger hspec HUnit monad-logger + mysql persistent persistent-qq persistent-template persistent-test + QuickCheck quickcheck-instances resourcet text time transformers + unliftio-core + ]; + description = "Backend for the persistent library using MySQL database server"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "persistent-mysql-haskell" = callPackage ({ mkDerivation, aeson, base, bytestring, conduit, containers , io-streams, monad-logger, mysql-haskell, network, persistent @@ -165418,6 +177889,28 @@ self: { description = "Backend for the persistent library using ODBC"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "persistent-pagination" = callPackage + ({ mkDerivation, base, conduit, containers, esqueleto, foldl, hspec + , hspec-discover, microlens, mtl, persistent, persistent-sqlite + , persistent-template, QuickCheck, time + }: + mkDerivation { + pname = "persistent-pagination"; + version = "0.1.1.0"; + sha256 = "1g2mn2gv9dygx4rrpxi81421dyyy9pdnzrdpqcb5sygcjsqi17ha"; + libraryHaskellDepends = [ + base conduit esqueleto foldl microlens mtl persistent + ]; + testHaskellDepends = [ + base conduit containers esqueleto hspec hspec-discover mtl + persistent persistent-sqlite persistent-template QuickCheck time + ]; + testToolDepends = [ hspec-discover ]; + description = "Efficient and correct pagination for persistent or esqueleto queries"; + license = stdenv.lib.licenses.bsd3; }) {}; "persistent-parser" = callPackage @@ -165440,10 +177933,10 @@ self: { }: mkDerivation { pname = "persistent-postgresql"; - version = "2.9.0"; - sha256 = "1rqlbdz7wwjl1d3xqp01sz5xnn8hff35hgkhx6c66lzrfyl9q0mx"; + version = "2.9.1"; + sha256 = "02i5lq6j79cv1y6n7c3lzipngkwaqfa96i4nvnkrs535x9xbxlpq"; revision = "1"; - editedCabalFile = "0xrnww7n6kwr2371fj5xklslbx0114yj3pxcpdzwalmin5wm8vah"; + editedCabalFile = "186fbykla4hpsl14l1ccjr3rfdabl47c9x28m290477ilaygk685"; libraryHaskellDepends = [ aeson base blaze-builder bytestring conduit containers monad-logger persistent postgresql-libpq postgresql-simple resource-pool @@ -165454,6 +177947,36 @@ self: { maintainers = with stdenv.lib.maintainers; [ psibi ]; }) {}; + "persistent-postgresql_2_10_0" = callPackage + ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit + , containers, fast-logger, hspec, hspec-expectations, HUnit + , monad-logger, persistent, persistent-qq, persistent-template + , persistent-test, postgresql-libpq, postgresql-simple, QuickCheck + , quickcheck-instances, resource-pool, resourcet, text, time + , transformers, unliftio-core, unordered-containers, vector + }: + mkDerivation { + pname = "persistent-postgresql"; + version = "2.10.0"; + sha256 = "00kc14zf6ggblyps68qvg7d0s4wbsz0iv96sdvjv5rsqwblrav18"; + libraryHaskellDepends = [ + aeson base blaze-builder bytestring conduit containers monad-logger + persistent postgresql-libpq postgresql-simple resource-pool + resourcet text time transformers unliftio-core + ]; + testHaskellDepends = [ + aeson base bytestring containers fast-logger hspec + hspec-expectations HUnit monad-logger persistent persistent-qq + persistent-template persistent-test QuickCheck quickcheck-instances + resourcet text time transformers unliftio-core unordered-containers + vector + ]; + description = "Backend for the persistent library using postgresql"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + maintainers = with stdenv.lib.maintainers; [ psibi ]; + }) {}; + "persistent-protobuf" = callPackage ({ mkDerivation, base, bytestring, persistent, protocol-buffers , protocol-buffers-descriptor, template-haskell, text @@ -165469,6 +177992,7 @@ self: { description = "Template-Haskell helpers for integrating protobufs with persistent"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistent-qq" = callPackage @@ -165477,10 +178001,8 @@ self: { }: mkDerivation { pname = "persistent-qq"; - version = "2.9.0"; - sha256 = "02dvsmlamfy93490qhb9qq25vq8wrqhzzza5q5shvak1n7wgjvh0"; - revision = "1"; - editedCabalFile = "15zkam90rfq33549kqpwyllrjpdvgkcpwnv16y6n439xd96vyyci"; + version = "2.9.1"; + sha256 = "1zwvdm94sl4wlycyz5xm41p8g4b10qra53g9pxcfq6b7gl15cggd"; libraryHaskellDepends = [ base haskell-src-meta mtl persistent template-haskell text ]; @@ -165498,6 +178020,7 @@ self: { description = "A library for rate limiting activities with a persistent backend"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistent-redis" = callPackage @@ -165536,21 +178059,23 @@ self: { description = "Haskell references backed by an IntMap for persistence and reversibility"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistent-relational-record" = callPackage - ({ mkDerivation, base, conduit, containers, hlint, HUnit, mtl - , persistable-record, persistent, persistent-template - , relational-query, resourcet, template-haskell, test-framework - , test-framework-hunit, test-framework-th, text, time + ({ mkDerivation, array, base, conduit, containers, hlint, HUnit + , mtl, names-th, persistable-record, persistent + , persistent-template, relational-query, resourcet + , template-haskell, test-framework, test-framework-hunit + , test-framework-th, text, time }: mkDerivation { pname = "persistent-relational-record"; - version = "0.1.2.0"; - sha256 = "1xbrkf7vw872hxk6g7bv4c5hx0708x6sqf38a4qm0m9bf2qiakgd"; + version = "0.3.0"; + sha256 = "0cbm9klj9z7lrkp8b9s3z6ij1apbmjxqmxaakmykz1fqc483h9g1"; libraryHaskellDepends = [ - base conduit containers mtl persistable-record persistent - relational-query resourcet template-haskell text + array base conduit containers mtl names-th persistable-record + persistent relational-query resourcet template-haskell text ]; testHaskellDepends = [ base hlint HUnit persistent-template relational-query @@ -165558,7 +178083,6 @@ self: { ]; description = "relational-record on persisten backends"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "persistent-spatial" = callPackage @@ -165620,8 +178144,8 @@ self: { }: mkDerivation { pname = "persistent-sqlite"; - version = "2.9.2"; - sha256 = "1pmmy1a1zi64c0v9sfawd3mz8qfidrrc3i9ghdhrmfqq1d0kir8g"; + version = "2.9.3"; + sha256 = "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq"; configureFlags = [ "-fsystemlib" ]; isLibrary = true; isExecutable = true; @@ -165640,6 +178164,39 @@ self: { maintainers = with stdenv.lib.maintainers; [ psibi ]; }) {inherit (pkgs) sqlite;}; + "persistent-sqlite_2_10_5" = callPackage + ({ mkDerivation, aeson, base, bytestring, conduit, containers + , exceptions, fast-logger, hspec, HUnit, microlens-th, monad-logger + , persistent, persistent-template, persistent-test, QuickCheck + , resource-pool, resourcet, sqlite, system-fileio, system-filepath + , temporary, text, time, transformers, unliftio-core + , unordered-containers + }: + mkDerivation { + pname = "persistent-sqlite"; + version = "2.10.5"; + sha256 = "1sghp7ffi383bzlgm83g0l5bzjbs67m6lxn3fsz74y0yy9ix33ha"; + configureFlags = [ "-fsystemlib" ]; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base bytestring conduit containers microlens-th monad-logger + persistent resource-pool resourcet text time transformers + unliftio-core unordered-containers + ]; + librarySystemDepends = [ sqlite ]; + testHaskellDepends = [ + base bytestring containers exceptions fast-logger hspec HUnit + monad-logger persistent persistent-template persistent-test + QuickCheck resourcet system-fileio system-filepath temporary text + time transformers unliftio-core + ]; + description = "Backend for the persistent library using sqlite3"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + maintainers = with stdenv.lib.maintainers; [ psibi ]; + }) {inherit (pkgs) sqlite;}; + "persistent-template" = callPackage ({ mkDerivation, aeson, aeson-compat, base, bytestring, containers , ghc-prim, hspec, http-api-data, monad-control, monad-logger @@ -165648,10 +178205,10 @@ self: { }: mkDerivation { pname = "persistent-template"; - version = "2.5.4"; - sha256 = "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"; - revision = "3"; - editedCabalFile = "12f4pqxwfv2li78sd9s56p66xd0w465cmjycpkqvg8n1rjxkc8vs"; + version = "2.6.0"; + sha256 = "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"; + revision = "1"; + editedCabalFile = "1p7j3lz0jrczrl25bw7cg0vskhxki065x8r6913sh8l1kvrdbkk8"; libraryHaskellDepends = [ aeson aeson-compat base bytestring containers ghc-prim http-api-data monad-control monad-logger path-pieces persistent @@ -165665,23 +178222,27 @@ self: { maintainers = with stdenv.lib.maintainers; [ psibi ]; }) {}; - "persistent-template_2_6_0" = callPackage - ({ mkDerivation, aeson, aeson-compat, base, bytestring, containers - , ghc-prim, hspec, http-api-data, monad-control, monad-logger - , path-pieces, persistent, QuickCheck, tagged, template-haskell - , text, transformers, unordered-containers + "persistent-template_2_7_2" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, criterion + , deepseq, deepseq-generics, file-embed, hspec, http-api-data + , monad-control, monad-logger, path-pieces, persistent, QuickCheck + , template-haskell, text, transformers, unordered-containers }: mkDerivation { pname = "persistent-template"; - version = "2.6.0"; - sha256 = "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"; + version = "2.7.2"; + sha256 = "04fpxsbj78gy51bl3jcfg70aaha92v0r48bjwq4pg7ln3cic95i8"; libraryHaskellDepends = [ - aeson aeson-compat base bytestring containers ghc-prim - http-api-data monad-control monad-logger path-pieces persistent - tagged template-haskell text transformers unordered-containers + aeson base bytestring containers http-api-data monad-control + monad-logger path-pieces persistent template-haskell text + transformers unordered-containers ]; testHaskellDepends = [ - aeson base bytestring hspec persistent QuickCheck text transformers + aeson base bytestring hspec persistent QuickCheck text + ]; + benchmarkHaskellDepends = [ + base criterion deepseq deepseq-generics file-embed persistent + template-haskell text ]; description = "Type-safe, non-relational, multi-backend persistence"; license = stdenv.lib.licenses.mit; @@ -165708,45 +178269,83 @@ self: { description = "Generate classy lens field accessors for persistent models"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistent-test" = callPackage - ({ mkDerivation, aeson, aeson-compat, attoparsec, base - , base64-bytestring, blaze-builder, blaze-html, blaze-markup - , bytestring, cereal, conduit, containers, exceptions, fast-logger - , hashable, hspec, hspec-expectations, http-api-data, HUnit - , lifted-base, monad-logger, mtl, network, old-locale, path-pieces - , persistent, persistent-sqlite, persistent-template, QuickCheck - , quickcheck-instances, random, resource-pool, resourcet - , scientific, semigroups, silently, system-fileio, system-filepath - , tagged, template-haskell, text, time, transformers - , transformers-base, unliftio, unliftio-core, unordered-containers - , vector + ({ mkDerivation, aeson, base, blaze-html, bytestring, conduit + , containers, exceptions, hspec, hspec-expectations, HUnit + , monad-control, monad-logger, path-pieces, persistent + , persistent-template, QuickCheck, quickcheck-instances, random + , resourcet, text, time, transformers, transformers-base, unliftio + , unliftio-core, unordered-containers }: mkDerivation { pname = "persistent-test"; - version = "2.0.0.3"; - sha256 = "1xjjbr780ipzxkbnj8cly0xl8wxbvqjvm293aqm0rnkyqwndhbn3"; - isLibrary = true; - isExecutable = true; + version = "2.0.3.0"; + sha256 = "1bspcv64qhcqiam964kxfxlc9afbns41dffh00k36dl2akr7p99a"; libraryHaskellDepends = [ - aeson aeson-compat attoparsec base base64-bytestring blaze-builder - blaze-html blaze-markup bytestring cereal conduit containers - exceptions fast-logger hashable hspec hspec-expectations - http-api-data HUnit lifted-base monad-logger mtl network old-locale - path-pieces persistent persistent-sqlite persistent-template - QuickCheck quickcheck-instances random resource-pool resourcet - scientific semigroups silently tagged template-haskell text time - transformers transformers-base unliftio unliftio-core - unordered-containers vector - ]; - executableHaskellDepends = [ - base hspec persistent resourcet scientific system-fileio - system-filepath + aeson base blaze-html bytestring conduit containers exceptions + hspec hspec-expectations HUnit monad-control monad-logger + path-pieces persistent persistent-template QuickCheck + quickcheck-instances random resourcet text time transformers + transformers-base unliftio unliftio-core unordered-containers ]; description = "Tests for Persistent"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "persistent-typed-db" = callPackage + ({ mkDerivation, aeson, base, bytestring, conduit, esqueleto, hspec + , http-api-data, monad-logger, path-pieces, persistent + , persistent-template, resource-pool, resourcet, template-haskell + , text, transformers + }: + mkDerivation { + pname = "persistent-typed-db"; + version = "0.0.1.1"; + sha256 = "0cn9dyv5gzkjn9jbv2srw94akz1rpgxsvn1hv1ik90a8sl3drh9n"; + revision = "1"; + editedCabalFile = "106dkixvzg2zia8hzxsw5fb458v7bka69szlnfxnffa5sdbm8him"; + libraryHaskellDepends = [ + aeson base bytestring conduit http-api-data monad-logger + path-pieces persistent persistent-template resource-pool resourcet + template-haskell text transformers + ]; + testHaskellDepends = [ + aeson base bytestring conduit esqueleto hspec http-api-data + monad-logger path-pieces persistent persistent-template + resource-pool resourcet template-haskell text transformers + ]; + description = "Type safe access to multiple database schemata"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "persistent-typed-db_0_1_0_0" = callPackage + ({ mkDerivation, aeson, base, bytestring, conduit, esqueleto, hspec + , http-api-data, monad-logger, path-pieces, persistent + , persistent-template, resource-pool, resourcet, template-haskell + , text, transformers + }: + mkDerivation { + pname = "persistent-typed-db"; + version = "0.1.0.0"; + sha256 = "0wlz2d6v4ks376amp26fxw5wj381kqaghp25mry073krc7yqz6yv"; + libraryHaskellDepends = [ + aeson base bytestring conduit http-api-data monad-logger + path-pieces persistent persistent-template resource-pool resourcet + template-haskell text transformers + ]; + testHaskellDepends = [ + aeson base bytestring conduit esqueleto hspec http-api-data + monad-logger path-pieces persistent persistent-template + resource-pool resourcet template-haskell text transformers + ]; + description = "Type safe access to multiple database schemata"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "persistent-vector" = callPackage @@ -165765,6 +178364,7 @@ self: { description = "A persistent sequence based on array mapped tries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persistent-zookeeper" = callPackage @@ -165795,6 +178395,7 @@ self: { description = "Backend for persistent library using Zookeeper"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persona" = callPackage @@ -165812,6 +178413,7 @@ self: { description = "Persona (BrowserID) library"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "persona-idp" = callPackage @@ -165834,6 +178436,7 @@ self: { description = "Persona (BrowserID) Identity Provider"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pesca" = callPackage @@ -165849,6 +178452,7 @@ self: { description = "Proof Editor for Sequent Calculus"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "peyotls" = callPackage @@ -165876,6 +178480,7 @@ self: { description = "Pretty Easy YOshikuni-made TLS library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "peyotls-codec" = callPackage @@ -165894,6 +178499,7 @@ self: { description = "Codec parts of Pretty Easy YOshikuni-made TLS library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pez" = callPackage @@ -165911,6 +178517,7 @@ self: { description = "A Pretty Extraordinary Zipper library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pg-harness" = callPackage @@ -165931,6 +178538,7 @@ self: { description = "REST service and library for creating/consuming temporary PostgreSQL databases"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pg-harness-client" = callPackage @@ -165950,8 +178558,8 @@ self: { }: mkDerivation { pname = "pg-harness-server"; - version = "0.6.1"; - sha256 = "1943rjcj4hbqdpg6vy7pcpq6575iag7bm15z2pdz4r8gfhq9z8an"; + version = "0.6.2"; + sha256 = "1wkr0vp41mjvq84q4gr29mwhrs1a805cipan0gamijhsjl2m75yc"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -165961,7 +178569,6 @@ self: { ]; description = "REST service for creating temporary PostgreSQL databases"; license = stdenv.lib.licenses.agpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pg-recorder" = callPackage @@ -165988,6 +178595,7 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pg-store" = callPackage @@ -166012,6 +178620,7 @@ self: { description = "Simple storage interface to PostgreSQL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pg-transact" = callPackage @@ -166035,6 +178644,7 @@ self: { description = "Another postgresql-simple transaction monad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pgdl" = callPackage @@ -166061,6 +178671,7 @@ self: { description = "browse directory listing webpages and download files from them"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pgm" = callPackage @@ -166080,8 +178691,8 @@ self: { }: mkDerivation { pname = "pgp-wordlist"; - version = "0.1.0.2"; - sha256 = "0ri4m4a18kmnpw2a3vcw7zgjagccqr3snw2qgljg3b92abl6z2z2"; + version = "0.1.0.3"; + sha256 = "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"; libraryHaskellDepends = [ base bytestring containers text vector ]; testHaskellDepends = [ base bytestring deepseq doctest HUnit tasty tasty-hunit @@ -166109,6 +178720,7 @@ self: { description = "A mid-level PostgreSQL client library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pgstream" = callPackage @@ -166134,6 +178746,7 @@ self: { description = "Streaming Postgres bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "phantom-state" = callPackage @@ -166161,6 +178774,7 @@ self: { description = "Freezing, thawing, and copy elision"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "phaser" = callPackage @@ -166233,6 +178847,7 @@ self: { description = "Deprecated - ghci debug viewer with simple editor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "phoityne-vscode" = callPackage @@ -166284,6 +178899,7 @@ self: { description = "Haskell bindings to the libphonenumber library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {phonenumber = null; inherit (pkgs) protobuf;}; "phone-push" = callPackage @@ -166302,6 +178918,7 @@ self: { description = "Push notifications for Android and iOS"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "phonetic-code" = callPackage @@ -166329,6 +178946,7 @@ self: { description = "Functional user interfaces"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "photoname" = callPackage @@ -166351,6 +178969,7 @@ self: { description = "Rename photo image files based on EXIF shoot date"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "phraskell" = callPackage @@ -166365,6 +178984,7 @@ self: { description = "A fractal viewer"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "phybin" = callPackage @@ -166398,6 +179018,7 @@ self: { description = "Utility for clustering phylogenetic trees in Newick format based on Robinson-Foulds distance"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "physics" = callPackage @@ -166430,6 +179051,7 @@ self: { description = "Applied pi-calculus interpreter"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pi-forall" = callPackage @@ -166454,6 +179076,7 @@ self: { description = "Demo implementation of typechecker for dependently-typed language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pi-hoole" = callPackage @@ -166480,6 +179103,7 @@ self: { description = "Lightweight access control solution for the pijul vcs"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pi-lcd" = callPackage @@ -166490,6 +179114,8 @@ self: { pname = "pi-lcd"; version = "0.1.1.0"; sha256 = "0120zkza698ww8ng6svp54qywkrvn35pylvcgplfldw4ajln00vn"; + revision = "1"; + editedCabalFile = "0gkpx56dq7lqhlw9iq8zv1kqhpwpd7hkpvld2k86v0zyal526jms"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -166520,6 +179146,7 @@ self: { description = "Set up port forwarding with the Private Internet Access VPN service"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pianola" = callPackage @@ -166543,6 +179170,7 @@ self: { description = "Remotely controlling Java Swing applications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "picedit" = callPackage @@ -166558,6 +179186,18 @@ self: { description = "simple image manipulation functions"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "pickle" = callPackage + ({ mkDerivation, base, containers, network, text }: + mkDerivation { + pname = "pickle"; + version = "0.1.0.0"; + sha256 = "1jai9ys9mznc8v6z9jsh1yc4xdf12cr3gw7ci2nx9xzjspn4qy8z"; + libraryHaskellDepends = [ base containers network text ]; + description = "Instant StatsD in Haskell"; + license = stdenv.lib.licenses.mit; }) {}; "picologic" = callPackage @@ -166581,6 +179221,7 @@ self: { description = "Utilities for symbolic predicate logic expressions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "picoparsec" = callPackage @@ -166595,6 +179236,8 @@ self: { pname = "picoparsec"; version = "0.1.2.3"; sha256 = "0l4i5s0yh4jcagcywcx2bwpvky6xy4hisbvwbghjvxpsirkyviwf"; + revision = "1"; + editedCabalFile = "0hr042sd52mxkg1s0j4abl0nfqcciz12868r074mq81kj3nbf3g0"; libraryHaskellDepends = [ array base bytestring containers deepseq monoid-subclasses scientific text @@ -166612,6 +179255,7 @@ self: { description = "Fast combinator parsing for bytestrings and text"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "picosat" = callPackage @@ -166625,6 +179269,7 @@ self: { description = "Bindings to the PicoSAT solver"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pictikz" = callPackage @@ -166639,6 +179284,7 @@ self: { description = "Converts a svg image to tikz code"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pid1" = callPackage @@ -166661,12 +179307,11 @@ self: { ({ mkDerivation, base, unix }: mkDerivation { pname = "pidfile"; - version = "0.1.0.3"; - sha256 = "12m477kinanyxi5612wz0n72qb0cymjb2x9pp0ggsngfpkqzp1j6"; + version = "0.1.0.4"; + sha256 = "0z0k923gb0b01r35x1qp4i1743mcn84cj3m12ss7jbxql768jigf"; libraryHaskellDepends = [ base unix ]; description = "Run an IO action protected by a pidfile"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pier" = callPackage @@ -166688,6 +179333,7 @@ self: { description = "Yet another Haskell build system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pier-core" = callPackage @@ -166708,6 +179354,7 @@ self: { description = "A library for writing forwards-declared build systems in haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "piet" = callPackage @@ -166722,6 +179369,7 @@ self: { description = "A Piet interpreter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pig" = callPackage @@ -166739,6 +179387,7 @@ self: { description = "dice game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "piki" = callPackage @@ -166779,6 +179428,28 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "pinboard-notes-backup" = callPackage + ({ mkDerivation, aeson, ansi-wl-pprint, base, bytestring + , containers, http-client, http-types, mtl, optparse-applicative + , req, sqlite-simple, text, time, transformers + }: + mkDerivation { + pname = "pinboard-notes-backup"; + version = "1.0.4.1"; + sha256 = "1a0lw43pjfz18aplm2frljwaww37pm2ashxi59j6l5n32lg5573j"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + aeson ansi-wl-pprint base bytestring containers http-client + http-types mtl optparse-applicative req sqlite-simple text time + transformers + ]; + description = "Back up the notes you've saved to Pinboard"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "pinch" = callPackage ({ mkDerivation, array, base, bytestring, containers, deepseq , ghc-prim, hashable, hspec, hspec-discover, QuickCheck, semigroups @@ -166786,20 +179457,20 @@ self: { }: mkDerivation { pname = "pinch"; - version = "0.3.4.0"; - sha256 = "10rmk6f9cb2l7dyybwpbin0i5dqdg59d17m627kj9abyrlhcyf8a"; + version = "0.3.4.1"; + sha256 = "1yrw0g68j7jl9q19byq10nfg4rvn3wr49sganx8k4mr46j8pa0sk"; libraryHaskellDepends = [ array base bytestring containers deepseq ghc-prim hashable semigroups text unordered-containers vector ]; + libraryToolDepends = [ hspec-discover ]; testHaskellDepends = [ - base bytestring containers hspec hspec-discover QuickCheck - semigroups text unordered-containers vector + base bytestring containers hspec QuickCheck semigroups text + unordered-containers vector ]; testToolDepends = [ hspec-discover ]; description = "An alternative implementation of Thrift for Haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pinchot" = callPackage @@ -166819,23 +179490,27 @@ self: { description = "Write grammars, not parsers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ping" = callPackage ({ mkDerivation, base, cpu, ip, posix-api, primitive - , primitive-containers, stm, transformers + , primitive-addr, primitive-containers, stm, transformers }: mkDerivation { pname = "ping"; - version = "0.1.0.1"; - sha256 = "0zrs98927wfnxw00125pssgw8i8yz7hlrd9043dmw7fviajay6n0"; + version = "0.1.0.3"; + sha256 = "1h57p53vakjxm3g6inp9wvj5pp71qb0mpcrxbaa707w8v9lyvwwi"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ - base cpu ip posix-api primitive primitive-containers stm - transformers + base cpu ip posix-api primitive primitive-addr primitive-containers + stm transformers ]; description = "icmp echo requests"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ping-parser-attoparsec" = callPackage @@ -166915,6 +179590,7 @@ self: { description = "A gateway for various cloud notification services"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipe-enumerator" = callPackage @@ -166927,6 +179603,7 @@ self: { description = "A bidirectional bridge between pipes and iteratees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipeclip" = callPackage @@ -166945,6 +179622,40 @@ self: { license = stdenv.lib.licenses.bsd2; }) {}; + "piped" = callPackage + ({ mkDerivation, base, conduit, gauge, microlens-platform, mtl + , quickcheck-instances, tasty, tasty-discover, tasty-golden + , tasty-hunit, tasty-quickcheck + }: + mkDerivation { + pname = "piped"; + version = "0.1.0.0"; + sha256 = "0f7j4mzdcmw7lnmq73hr6wfi64jjg350bmf0w1pf1rgma2wb9cl0"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base mtl ]; + testHaskellDepends = [ + base conduit gauge microlens-platform mtl quickcheck-instances + tasty tasty-discover tasty-golden tasty-hunit tasty-quickcheck + ]; + testToolDepends = [ tasty-discover ]; + description = "Conduit with a smaller core"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "pipeline" = callPackage + ({ mkDerivation, base, transformers }: + mkDerivation { + pname = "pipeline"; + version = "0.1.0"; + sha256 = "1bz7pfyfgc1cps5pwy31m5z3r6kxi5c4661qa60q333y0rd2y2j1"; + libraryHaskellDepends = [ base transformers ]; + description = "Continuation patterns"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "pipes" = callPackage ({ mkDerivation, base, criterion, exceptions, mmorph, mtl , optparse-applicative, QuickCheck, semigroups, test-framework @@ -166952,10 +179663,8 @@ self: { }: mkDerivation { pname = "pipes"; - version = "4.3.9"; - sha256 = "1jqs4x3xw2ya3834p36p1ycx8nxjgn2ypaibhdv97xcw3wsxlk2w"; - revision = "1"; - editedCabalFile = "0mkwbbn8vlrsvm3pl2cyaw1qr9hbjqfm831naj7cbrmiksf2l5aa"; + version = "4.3.11"; + sha256 = "0h70djd6x306rci8zp356klqj6376xry6mkhyr12301adfhag8vv"; libraryHaskellDepends = [ base exceptions mmorph mtl semigroups transformers void ]; @@ -166970,6 +179679,30 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "pipes_4_3_12" = callPackage + ({ mkDerivation, base, criterion, exceptions, mmorph, mtl + , optparse-applicative, QuickCheck, semigroups, test-framework + , test-framework-quickcheck2, transformers, void + }: + mkDerivation { + pname = "pipes"; + version = "4.3.12"; + sha256 = "0ni5szs9jl4map05lcyl97dgb69g2xk1a1rdiw8p4024vfyskp8c"; + libraryHaskellDepends = [ + base exceptions mmorph mtl semigroups transformers void + ]; + testHaskellDepends = [ + base mtl QuickCheck test-framework test-framework-quickcheck2 + transformers + ]; + benchmarkHaskellDepends = [ + base criterion mtl optparse-applicative transformers + ]; + description = "Compositional pipelines"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "pipes-aeson" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring, pipes , pipes-attoparsec, pipes-bytestring, pipes-parse, transformers @@ -167005,6 +179738,7 @@ self: { description = "A higher-level interface to using concurrency with pipes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-attoparsec" = callPackage @@ -167045,6 +179779,7 @@ self: { description = "Streaming parsing in the pipes-core framework with Attoparsec"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-bgzf" = callPackage @@ -167061,6 +179796,7 @@ self: { description = "Blocked GZip"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-binary" = callPackage @@ -167100,6 +179836,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "pipes-brotli" = callPackage + ({ mkDerivation, base, brotli, bytestring, pipes, pipes-bytestring + , QuickCheck + }: + mkDerivation { + pname = "pipes-brotli"; + version = "0.0.0.0"; + sha256 = "0qld1j404sddw850pdm5y65n8rld5vqzpr38kq9xcnlxmfs29zhp"; + libraryHaskellDepends = [ base brotli bytestring pipes ]; + testHaskellDepends = [ + base bytestring pipes pipes-bytestring QuickCheck + ]; + description = "Brotli (RFC7932) compressors and decompressors for the Pipes package"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "pipes-bytestring" = callPackage ({ mkDerivation, base, bytestring, pipes, pipes-group, pipes-parse , stringsearch, transformers @@ -167154,6 +179908,7 @@ self: { description = "Pipes for Noise-secured network connections"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-category" = callPackage @@ -167170,6 +179925,27 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "pipes-cborg" = callPackage + ({ mkDerivation, base, bytestring, cborg, ghc-prim, pipes + , pipes-bytestring, pipes-parse, QuickCheck, serialise, tasty + , tasty-quickcheck, transformers + }: + mkDerivation { + pname = "pipes-cborg"; + version = "0.1"; + sha256 = "1ihngg2gvlyq40wnpajhbb7xpj028pk1k08xay19ir4n9mmx4jrn"; + libraryHaskellDepends = [ + base bytestring cborg ghc-prim pipes pipes-bytestring pipes-parse + serialise transformers + ]; + testHaskellDepends = [ + base bytestring cborg pipes pipes-bytestring QuickCheck serialise + tasty tasty-quickcheck transformers + ]; + description = "Encode and decode cborg streams using the pipes and cborg libraries"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "pipes-cellular" = callPackage ({ mkDerivation, base, bytestring, data-cell, pipes }: mkDerivation { @@ -167209,6 +179985,7 @@ self: { description = "Encode and decode binary streams using the pipes and cereal libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-cereal-plus" = callPackage @@ -167225,6 +180002,7 @@ self: { description = "A streaming serialization library on top of \"pipes\" and \"cereal-plus\""; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-cliff" = callPackage @@ -167252,8 +180030,8 @@ self: { pname = "pipes-concurrency"; version = "2.0.12"; sha256 = "17aqh6p1az09n6b6vs06pxcha5aq6dvqjwskgjcdiz7221vwchs3"; - revision = "1"; - editedCabalFile = "1c1rys2pp7a2z6si925ps610q8a38a6m26s182phwa5nfhyggpaw"; + revision = "2"; + editedCabalFile = "1c06nypirrd76jg5y508517smxh3izy98y6kj89k79kbpi5rncbj"; libraryHaskellDepends = [ async base contravariant pipes semigroups stm void ]; @@ -167272,6 +180050,7 @@ self: { description = "Conduit adapters"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-core" = callPackage @@ -167288,6 +180067,7 @@ self: { description = "Compositional pipelines"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-courier" = callPackage @@ -167300,6 +180080,7 @@ self: { description = "Pipes utilities for interfacing with the courier message-passing framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-csv" = callPackage @@ -167333,6 +180114,7 @@ self: { description = "Integration between pipes and errors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-extra" = callPackage @@ -167361,6 +180143,7 @@ self: { description = "Various basic utilities for Pipes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-extras" = callPackage @@ -167420,6 +180203,7 @@ self: { description = "Fast traversal of directory trees using pipes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-fluid" = callPackage @@ -167442,7 +180226,6 @@ self: { ]; description = "Reactively combines Producers so that a value is yielded as soon as possible"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pipes-group" = callPackage @@ -167453,6 +180236,8 @@ self: { pname = "pipes-group"; version = "1.0.12"; sha256 = "1issfj3syi6lfbcdn3bhlbnlh86s92ldsb04c4ac69xipsgyhwqk"; + revision = "1"; + editedCabalFile = "0ws99n692c9km68n9y3x0b5bqdg3b47sva04nx9a4xdqr8p5akps"; libraryHaskellDepends = [ base free pipes pipes-parse transformers ]; @@ -167490,6 +180275,7 @@ self: { description = "Illumina NGS data processing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-interleave" = callPackage @@ -167516,6 +180302,7 @@ self: { description = "Stateful IO streams based on pipes"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-kafka" = callPackage @@ -167557,6 +180344,7 @@ self: { description = "Streaming processing of CSV files preceded by key-value pairs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-lines" = callPackage @@ -167662,6 +180450,31 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "pipes-network-ws" = callPackage + ({ mkDerivation, base, bytestring, network-simple-ws, pipes }: + mkDerivation { + pname = "pipes-network-ws"; + version = "0.1"; + sha256 = "1jb59wl3xh0jkp4njj7xhybhnanwrx6h0zzj647lgxg6wpf8f704"; + libraryHaskellDepends = [ + base bytestring network-simple-ws pipes + ]; + description = "WebSockets support for pipes"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "pipes-ordered-zip" = callPackage + ({ mkDerivation, base, foldl, pipes }: + mkDerivation { + pname = "pipes-ordered-zip"; + version = "1.0.1"; + sha256 = "10ywi5ykp398mghc3mvcy2alz1lp6kah0yxmn5pz1l6nbsv7wyk5"; + libraryHaskellDepends = [ base pipes ]; + testHaskellDepends = [ base foldl pipes ]; + description = "merge two ordered Producers into a new Producer"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "pipes-p2p" = callPackage ({ mkDerivation, async, base, binary, bytestring, errors , exceptions, mtl, network, network-simple-sockaddr, pipes @@ -167678,6 +180491,7 @@ self: { description = "P2P network nodes with pipes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-p2p-examples" = callPackage @@ -167697,6 +180511,7 @@ self: { description = "Examples using pipes-p2p"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-parse" = callPackage @@ -167748,20 +180563,18 @@ self: { description = "Alternate Prelude for the pipes ecosystem"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-random" = callPackage ({ mkDerivation, base, mwc-random, pipes, vector }: mkDerivation { pname = "pipes-random"; - version = "1.0.0.4"; - sha256 = "17k510v2f5ziysqh7sknyw3rgxf8iblw800z3hh8gymaszkhfajl"; - revision = "2"; - editedCabalFile = "0czw2qfi05d5kbnwzhzr75j1ag6hfbn9nvbjyifdjradfzjxl2s9"; + version = "1.0.0.5"; + sha256 = "1xsb0cxksrrkv81yk9qb7b3g7niz3sc7sz0960hxn16hwjymkv5k"; libraryHaskellDepends = [ base mwc-random pipes vector ]; description = "Producers for handling randomness"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pipes-rt" = callPackage @@ -167777,6 +180590,7 @@ self: { description = "A few pipes to control the timing of yields"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-s3" = callPackage @@ -167800,6 +180614,7 @@ self: { description = "A simple interface for streaming data to and from Amazon S3"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-safe" = callPackage @@ -167810,6 +180625,8 @@ self: { pname = "pipes-safe"; version = "2.3.1"; sha256 = "0dfdd3fccfd7wfn5228hbfj3h10xq01sddpy1v2ds63wlg84kwly"; + revision = "1"; + editedCabalFile = "0qyx585dvyvnpkb6hmdml4ndl8sk0d1z747d40gfr0m7c320wjzm"; libraryHaskellDepends = [ base containers exceptions monad-control mtl pipes primitive transformers transformers-base @@ -167837,6 +180654,7 @@ self: { description = "Create proper Pipes from System.Process"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-sqlite-simple" = callPackage @@ -167851,6 +180669,7 @@ self: { description = "Functions that smash Pipes and sqlite-simple together"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-text" = callPackage @@ -167869,6 +180688,7 @@ self: { description = "properly streaming text"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-transduce" = callPackage @@ -167893,6 +180713,7 @@ self: { description = "Interfacing pipes with foldl folds"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-vector" = callPackage @@ -167959,6 +180780,7 @@ self: { description = "Pipes integration for ZeroMQ messaging"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pipes-zlib" = callPackage @@ -167999,6 +180821,7 @@ self: { description = "A dependently typed core language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pit" = callPackage @@ -168022,6 +180845,7 @@ self: { description = "Account management tool"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pitchtrack" = callPackage @@ -168043,6 +180867,7 @@ self: { description = "Pitch tracking library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pivotal-tracker" = callPackage @@ -168067,6 +180892,7 @@ self: { description = "A library and a CLI tool for accessing Pivotal Tracker API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pixela" = callPackage @@ -168112,6 +180938,7 @@ self: { description = "A library and application for generating pixelated avatars"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "piyo" = callPackage @@ -168169,6 +180996,7 @@ self: { description = "PKCS#10 library"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pkcs7" = callPackage @@ -168182,6 +181010,7 @@ self: { description = "PKCS #7 padding in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pkggraph" = callPackage @@ -168196,6 +181025,27 @@ self: { description = "Package dependency graph for installed packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "pkgtreediff" = callPackage + ({ mkDerivation, async, base, directory, filepath, Glob + , http-directory, simple-cmd, simple-cmd-args, text + }: + mkDerivation { + pname = "pkgtreediff"; + version = "0.3"; + sha256 = "0n39cn75cdxzk39hn6fiimb7rm1qrvksmqidy5fgnx997y78z8s9"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + async base directory filepath Glob http-directory simple-cmd + simple-cmd-args text + ]; + description = "Package tree diff tool"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pktree" = callPackage @@ -168231,6 +181081,7 @@ self: { description = "plaimi's prelude"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plan-applicative" = callPackage @@ -168252,6 +181103,7 @@ self: { description = "Applicative/Arrow for resource estimation and progress tracking"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plan-b" = callPackage @@ -168271,6 +181123,7 @@ self: { description = "Failure-tolerant file and directory editing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "planar-graph" = callPackage @@ -168288,30 +181141,30 @@ self: { description = "A representation of planar graphs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "planb-token-introspection" = callPackage ({ mkDerivation, aeson, aeson-casing, base, bytestring, containers , exceptions, http-client, http-client-tls, http-types, lens, mtl - , random, safe-exceptions, tasty, tasty-hunit, text, th-format - , transformers, unliftio-core + , random, safe-exceptions, tasty, tasty-hunit, text, transformers + , unliftio-core }: mkDerivation { pname = "planb-token-introspection"; - version = "0.1.3.0"; - sha256 = "1n7ck623ik3rss5vhby9wz8q5r1kfww678d3yiqkx7pg5fn4rwmk"; + version = "0.1.4.0"; + sha256 = "0rgjvxs1bb6qz02g2y8b4cldmgn05kfzjbb81ny57724yv60xyp7"; libraryHaskellDepends = [ aeson aeson-casing base bytestring containers http-client http-client-tls http-types mtl safe-exceptions text transformers ]; testHaskellDepends = [ aeson base bytestring containers exceptions http-client http-types - lens mtl random safe-exceptions tasty tasty-hunit text th-format + lens mtl random safe-exceptions tasty tasty-hunit text unliftio-core ]; description = "Token Introspection for PlanB"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "planet-mitchell" = callPackage @@ -168367,6 +181220,7 @@ self: { description = "Planet Mitchell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "planet-mitchell-test" = callPackage @@ -168384,6 +181238,7 @@ self: { description = "Planet Mitchell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plankton" = callPackage @@ -168396,6 +181251,7 @@ self: { description = "The core of a numeric prelude, taken from numhask"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plat" = callPackage @@ -168410,6 +181266,7 @@ self: { description = "Simple templating library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "platinum-parsing" = callPackage @@ -168434,6 +181291,7 @@ self: { description = "General Framework for compiler development"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "playlists" = callPackage @@ -168465,8 +181323,8 @@ self: { }: mkDerivation { pname = "playlists-http"; - version = "0.2.1.0"; - sha256 = "1kzc1awfqk979h2hmpqh2pjiy33v140pibbp703hqbq0fkrynj2k"; + version = "0.2.1.1"; + sha256 = "1smshj9ib0fp9kd7bsj15nq6vglzrdy8wzs3l6pi1rf6sjhjhb3l"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -168529,6 +181387,7 @@ self: { description = "Remote monad for editing plists"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plivo" = callPackage @@ -168563,6 +181422,7 @@ self: { description = "plot data from stdin through socketed"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plot" = callPackage @@ -168579,6 +181439,7 @@ self: { description = "A plotting library, exportable as eps/pdf/svg/png or renderable with gtk"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plot-gtk" = callPackage @@ -168591,6 +181452,7 @@ self: { description = "GTK plots and interaction with GHCi"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plot-gtk-ui" = callPackage @@ -168608,6 +181470,7 @@ self: { description = "A quick way to use Mathematica like Manipulation abilities"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plot-gtk3" = callPackage @@ -168622,6 +181485,7 @@ self: { description = "GTK3 plots and interaction with GHCi"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plot-lab" = callPackage @@ -168639,6 +181503,7 @@ self: { description = "A plotting tool with Mathematica like Manipulation abilities"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plot-light" = callPackage @@ -168678,6 +181543,7 @@ self: { description = "Example binaries for plot-light"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plotfont" = callPackage @@ -168737,10 +181603,8 @@ self: { }: mkDerivation { pname = "plots"; - version = "0.1.0.2"; - sha256 = "0kdn2s686rfanqq4qfkbjfys53zzf2hgc2jx3m9zpfzjb3wabhg5"; - revision = "1"; - editedCabalFile = "1n3qzplpis1h90kw4x8fi4d8qhqy1xxxflv1d38516ikffwvai9x"; + version = "0.1.1.2"; + sha256 = "01w56qhyw8w6g8xffrvkp7d6k8l4w9as8v900v29jaq7gz680fhs"; libraryHaskellDepends = [ adjunctions base base-orphans colour containers data-default diagrams-core diagrams-lib directory distributive filepath @@ -168750,7 +181614,6 @@ self: { ]; description = "Diagrams based plotting library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "plotserver-api" = callPackage @@ -168779,6 +181642,7 @@ self: { description = "Dynamic linking for Haskell and C objects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plugins-auto" = callPackage @@ -168796,6 +181660,7 @@ self: { description = "Automatic recompilation and reloading of haskell modules"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plugins-multistage" = callPackage @@ -168815,6 +181680,7 @@ self: { description = "Dynamic linking for embedded DSLs with staged compilation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plumbers" = callPackage @@ -168839,6 +181705,7 @@ self: { description = "Plurality monad: Zero, one, or at least two"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "plural" = callPackage @@ -168852,6 +181719,7 @@ self: { description = "Pluralize"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ply-loader" = callPackage @@ -168887,6 +181755,7 @@ self: { description = "read/write png file"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pngload" = callPackage @@ -168904,6 +181773,7 @@ self: { description = "Pure Haskell loader for PNG images"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pngload-fixed" = callPackage @@ -168917,6 +181787,7 @@ self: { description = "Pure Haskell loader for PNG images"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pnm" = callPackage @@ -168945,6 +181816,7 @@ self: { description = "Bindings for the Pocket API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pocket-dns" = callPackage @@ -168980,6 +181852,7 @@ self: { description = "Multi-backend (zookeeper and sqlite) DNS Server using persistent-library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "point-octree" = callPackage @@ -168999,6 +181872,7 @@ self: { description = "Point octree, with bounding boxes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pointed" = callPackage @@ -169010,8 +181884,8 @@ self: { pname = "pointed"; version = "5.0.1"; sha256 = "1p91a762xglckscnhpflxzav8byf49a02mli3983i4kpr2jkaimr"; - revision = "1"; - editedCabalFile = "1ccjmzz3jf5ybrzv7qdwm3qb8rz0yskvi4ackrixyhdk8bg5f3nc"; + revision = "2"; + editedCabalFile = "00m4f6rgxa3qa72j3jzpg6rrd9k9n4ll2idxlyybil3lxd63r80w"; libraryHaskellDepends = [ base comonad containers data-default-class hashable kan-extensions semigroupoids semigroups stm tagged transformers @@ -169049,8 +181923,8 @@ self: { }: mkDerivation { pname = "pointfree"; - version = "1.1.1.4"; - sha256 = "03jnhppm39zdfrmg1784p1y5r7r5wd5di2ddq5d71slifq7j5wd1"; + version = "1.1.1.5"; + sha256 = "1h5igixmn36k9b4mnc7lgalc4i88yg71h396wzqnh041jz28y6wc"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -169074,8 +181948,8 @@ self: { }: mkDerivation { pname = "pointfree-fancy"; - version = "1.1.1.11"; - sha256 = "0kxk9kxqlxl0j1cq5jvcsgcfggc3xz0qi7a1qw6w1l83gs2vjjrk"; + version = "1.1.1.13"; + sha256 = "0f761h5a8byfpkf8nby4wkhra64qv7fzs3rx6gf4v07w9b2s5ph8"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -169087,6 +181961,7 @@ self: { description = "Tool for refactoring expressions into pointfree form"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pointful" = callPackage @@ -169097,6 +181972,8 @@ self: { pname = "pointful"; version = "1.0.11.0"; sha256 = "0kz786xp2sjl6ldbbfg3ln8l6nib6i8lw0d15hqr6yawrnf32qr2"; + revision = "2"; + editedCabalFile = "0zdhhflhz853iwlcjfxh57bx1wf8capij4b0ysjgmp7bi8hw5ww0"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -169105,7 +181982,6 @@ self: { executableHaskellDepends = [ base ]; description = "Pointful refactoring tool"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pointless-fun" = callPackage @@ -169144,6 +182020,7 @@ self: { description = "Pointless Lenses library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pointless-rewrite" = callPackage @@ -169160,6 +182037,7 @@ self: { description = "Pointless Rewrite library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pokemon-go-protobuf-types" = callPackage @@ -169177,6 +182055,7 @@ self: { description = "Haskell types for the Pokemon Go protobuf protocol"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "poker-eval" = callPackage @@ -169190,6 +182069,7 @@ self: { description = "Binding to libpoker-eval"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {poker-eval = null;}; "pokitdok" = callPackage @@ -169208,6 +182088,7 @@ self: { description = "PokitDok Platform API Client for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "polar" = callPackage @@ -169232,6 +182113,7 @@ self: { description = "Fork of ConfigFile for Polar Game Engine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "polar-shader" = callPackage @@ -169245,6 +182127,7 @@ self: { description = "High-level shader compiler framework"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "polh-lexicon" = callPackage @@ -169264,6 +182147,7 @@ self: { description = "A library for manipulating the historical dictionary of Polish (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "polimorf" = callPackage @@ -169278,6 +182162,7 @@ self: { description = "Working with the PoliMorf dictionary"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "poll" = callPackage @@ -169291,6 +182176,27 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "poly" = callPackage + ({ mkDerivation, base, gauge, primitive, QuickCheck + , quickcheck-classes, semirings, tasty, tasty-quickcheck, vector + , vector-algorithms + }: + mkDerivation { + pname = "poly"; + version = "0.3.1.0"; + sha256 = "1c8xnkqxwzbpx01clz9spz9zwa18qhsbvscrc381r0f46cjax2ph"; + libraryHaskellDepends = [ + base primitive semirings vector vector-algorithms + ]; + testHaskellDepends = [ + base QuickCheck quickcheck-classes semirings tasty tasty-quickcheck + vector + ]; + benchmarkHaskellDepends = [ base gauge semirings vector ]; + description = "Polynomials"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "poly-arity" = callPackage ({ mkDerivation, base, constraints }: mkDerivation { @@ -169323,6 +182229,7 @@ self: { description = "This package provides abstraction for polymorphic controls, like PolyMonads or PolyApplicatives"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "polyToMonoid" = callPackage @@ -169353,6 +182260,7 @@ self: { description = "Wrap together data and it's constraints"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "polydata-core" = callPackage @@ -169365,6 +182273,7 @@ self: { description = "Core data definitions for the \"polydata\" package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "polymap" = callPackage @@ -169409,6 +182318,8 @@ self: { pname = "polynomial"; version = "0.7.3"; sha256 = "0wl9wdaqrs6hs83xi27m879j7i2q04v14jqkrwns2qy3f2yhq2rr"; + revision = "1"; + editedCabalFile = "1cn1fj9hlzwvk65rpn60n74bdzk2bdicwp2rqb34ps5sccvbm1ij"; libraryHaskellDepends = [ base deepseq pretty vector vector-space vector-th-unbox ]; @@ -169419,6 +182330,7 @@ self: { description = "Polynomials"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "polynomials-bernstein" = callPackage @@ -169443,6 +182355,150 @@ self: { license = "LGPL"; }) {}; + "polyparse_1_13" = callPackage + ({ mkDerivation, base, bytestring, text }: + mkDerivation { + pname = "polyparse"; + version = "1.13"; + sha256 = "0yvhg718dlksiw3v27m2d8m1sn4r4f5s0p56zq3lynhy1sc74k0w"; + libraryHaskellDepends = [ base bytestring text ]; + description = "A variety of alternative parser combinator libraries"; + license = "LGPL"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "polysemy" = callPackage + ({ mkDerivation, async, base, containers, criterion, doctest + , first-class-families, free, freer-simple, hspec, hspec-discover + , inspection-testing, mtl, syb, template-haskell, th-abstraction + , transformers, type-errors, type-errors-pretty, unagi-chan + }: + mkDerivation { + pname = "polysemy"; + version = "1.0.0.0"; + sha256 = "1y63vwrmmany62ci2sdd8kfmkrigk0vds2kjpxmyh9nsvw5fv576"; + libraryHaskellDepends = [ + async base containers first-class-families mtl syb template-haskell + th-abstraction transformers type-errors type-errors-pretty + unagi-chan + ]; + testHaskellDepends = [ + async base containers doctest first-class-families hspec + inspection-testing mtl syb template-haskell th-abstraction + transformers type-errors type-errors-pretty unagi-chan + ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + async base containers criterion first-class-families free + freer-simple mtl syb template-haskell th-abstraction transformers + type-errors type-errors-pretty unagi-chan + ]; + description = "Higher-order, low-boilerplate, zero-cost free monads"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "polysemy_1_1_0_0" = callPackage + ({ mkDerivation, async, base, containers, criterion, doctest + , first-class-families, free, freer-simple, hspec, hspec-discover + , inspection-testing, mtl, stm, syb, template-haskell + , th-abstraction, transformers, type-errors, type-errors-pretty + , unagi-chan + }: + mkDerivation { + pname = "polysemy"; + version = "1.1.0.0"; + sha256 = "1slc177ygphiaaxr301nmn47q7jl71rmzcw8h9q7az2s2f3gy83p"; + libraryHaskellDepends = [ + async base containers first-class-families mtl stm syb + template-haskell th-abstraction transformers type-errors + type-errors-pretty unagi-chan + ]; + testHaskellDepends = [ + async base containers doctest first-class-families hspec + inspection-testing mtl stm syb template-haskell th-abstraction + transformers type-errors type-errors-pretty unagi-chan + ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + async base containers criterion first-class-families free + freer-simple mtl stm syb template-haskell th-abstraction + transformers type-errors type-errors-pretty unagi-chan + ]; + description = "Higher-order, low-boilerplate, zero-cost free monads"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "polysemy-RandomFu" = callPackage + ({ mkDerivation, base, hspec, hspec-discover, polysemy + , polysemy-plugin, polysemy-zoo, random-fu, random-source, text + , vector + }: + mkDerivation { + pname = "polysemy-RandomFu"; + version = "0.3.0.0"; + sha256 = "17qh2p7nh091kgywdzfd8ckzk6vczm9zxyp9vs94c1ld9qxrhkv8"; + libraryHaskellDepends = [ + base polysemy polysemy-plugin polysemy-zoo random-fu random-source + ]; + testHaskellDepends = [ + base hspec polysemy polysemy-plugin polysemy-zoo random-fu + random-source text vector + ]; + testToolDepends = [ hspec-discover ]; + description = "Experimental, RandomFu effect and interpreters for polysemy"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "polysemy-plugin" = callPackage + ({ mkDerivation, base, containers, doctest, ghc + , ghc-tcplugins-extra, hspec, hspec-discover, inspection-testing + , polysemy, should-not-typecheck, syb, transformers + }: + mkDerivation { + pname = "polysemy-plugin"; + version = "0.2.2.0"; + sha256 = "1z8dyhcg2r9vb8m93khjzvmzc3lk7zaj64yjjdsnjmzzv13k8hl5"; + libraryHaskellDepends = [ + base containers ghc ghc-tcplugins-extra polysemy syb transformers + ]; + testHaskellDepends = [ + base containers doctest ghc ghc-tcplugins-extra hspec + inspection-testing polysemy should-not-typecheck syb transformers + ]; + testToolDepends = [ hspec-discover ]; + description = "Disambiguate obvious uses of effects"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "polysemy-zoo" = callPackage + ({ mkDerivation, async, base, binary, bytestring, constraints + , containers, ghc-prim, hedis, hspec, hspec-discover, mtl, polysemy + , polysemy-plugin, random, reflection + }: + mkDerivation { + pname = "polysemy-zoo"; + version = "0.5.0.1"; + sha256 = "06ggm3qinabwp5bha858anwdvw726wzl738wpgf1kd9mgivbv53w"; + libraryHaskellDepends = [ + async base binary bytestring constraints containers ghc-prim hedis + mtl polysemy polysemy-plugin random reflection + ]; + testHaskellDepends = [ + async base binary bytestring constraints containers ghc-prim hedis + hspec mtl polysemy polysemy-plugin random reflection + ]; + testToolDepends = [ hspec-discover ]; + description = "Experimental, user-contributed effects and interpreters for polysemy"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "polyseq" = callPackage ({ mkDerivation, array, base, bytestring, cgi, containers , free-theorems, haskell-src, mtl, network, old-locale, old-time @@ -169462,6 +182518,7 @@ self: { description = "Taming Selective Strictness"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "polysoup" = callPackage @@ -169476,6 +182533,7 @@ self: { description = "Online XML parsing with polyparse and tagsoup"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "polytypeable" = callPackage @@ -169488,6 +182546,7 @@ self: { description = "Typeable for polymorphic types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "polytypeable-utils" = callPackage @@ -169500,6 +182559,7 @@ self: { description = "Utilities for polytypeable"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "polyvariadic" = callPackage @@ -169508,8 +182568,8 @@ self: { pname = "polyvariadic"; version = "0.3.0.3"; sha256 = "0zf7znslayjmcnajmsymc79f0lyyk7ph9zfczq78inirg0hv7hq1"; - revision = "3"; - editedCabalFile = "10lqcrp16v1h0lzr931haramkxkxz2bkfsyadxnc7ki73k39g11p"; + revision = "5"; + editedCabalFile = "1pzqc1hppzlj03wr2hrlm7liq9kcf650mpsrm4chr6msq491na9c"; libraryHaskellDepends = [ base containers ]; testHaskellDepends = [ base ]; description = "Creation and application of polyvariadic functions"; @@ -169523,8 +182583,10 @@ self: { }: mkDerivation { pname = "pomaps"; - version = "0.0.2.0"; - sha256 = "08mlj61archpiqq8375gi5ha9mpxgpnsfpsx3kqja92dgj0aq5q6"; + version = "0.0.2.1"; + sha256 = "1p0sqh87scpff1j4q4mpb3dyml0vsh2yrhdc7hv0rbm0vhy2bvla"; + revision = "1"; + editedCabalFile = "0v1s35ddx697rzgp08p6brn801w7gky73w1qll3d10vy4qbhs435"; libraryHaskellDepends = [ base containers deepseq ghc-prim lattices ]; @@ -169538,6 +182600,7 @@ self: { description = "Maps and sets of partial orders"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pomodoro" = callPackage @@ -169557,6 +182620,7 @@ self: { description = "pomodoro timer"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pomohoro" = callPackage @@ -169581,6 +182645,7 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ponder" = callPackage @@ -169593,6 +182658,7 @@ self: { description = "PEG parser combinator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pong-server" = callPackage @@ -169611,6 +182677,7 @@ self: { description = "A simple embedded pingable server that runs in the background"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pontarius-mediaserver" = callPackage @@ -169670,7 +182737,6 @@ self: { benchmarkHaskellDepends = [ base criterion ]; description = "An XMPP client library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "pontarius-xpmn" = callPackage @@ -169714,6 +182780,7 @@ self: { description = "Thread-safe resource pools. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pool-conduit" = callPackage @@ -169732,6 +182799,7 @@ self: { description = "Resource pool allocations via ResourceT. (deprecated)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pooled-io" = callPackage @@ -169775,11 +182843,12 @@ self: { description = "popenhs is a popen-like library for Haskell"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "poppler" = callPackage ({ mkDerivation, array, base, bytestring, Cabal, cairo, containers - , gdk_pixbuf, glib, gtk, gtk2, gtk2hs-buildtools, mtl, pango + , gdk-pixbuf, glib, gtk, gtk2, gtk2hs-buildtools, mtl, pango , poppler }: mkDerivation { @@ -169791,13 +182860,14 @@ self: { libraryHaskellDepends = [ array base bytestring cairo containers glib gtk mtl ]; - libraryPkgconfigDepends = [ gdk_pixbuf gtk2 pango poppler ]; + libraryPkgconfigDepends = [ gdk-pixbuf gtk2 pango poppler ]; libraryToolDepends = [ gtk2hs-buildtools ]; description = "Binding to the Poppler"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs) gdk_pixbuf; gtk2 = pkgs.gnome2.gtk; - inherit (pkgs.gnome2) pango; inherit (pkgs) poppler;}; + broken = true; + }) {inherit (pkgs) gdk-pixbuf; inherit (pkgs) gtk2; + inherit (pkgs) pango; inherit (pkgs) poppler;}; "populate-setup-exe-cache" = callPackage ({ mkDerivation, base }: @@ -169814,8 +182884,8 @@ self: { ({ mkDerivation, async, base, hspec, network, stm, transformers }: mkDerivation { pname = "port-utils"; - version = "0.2.0.0"; - sha256 = "1lvalwbizmvrrpbl2l1lblbv0c3qln1ln61x61zn26jxq2h8p7g1"; + version = "0.2.1.0"; + sha256 = "1phpf6n7bjg3a22syh45xsiczqlay82z3isdn6dq5alxdaa31y5n"; libraryHaskellDepends = [ base network ]; testHaskellDepends = [ async base hspec network stm transformers ]; description = "Utilities for creating and waiting on ports"; @@ -169862,6 +182932,7 @@ self: { description = "DSL for configuring Gentoo portage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "portaudio" = callPackage @@ -169893,18 +182964,18 @@ self: { description = "FreeBSD ports index search and analysis tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "porter" = callPackage - ({ mkDerivation, haskell2010 }: + ({ mkDerivation, base }: mkDerivation { pname = "porter"; - version = "0.1"; - sha256 = "0aw1gq7z3h5ag5vzl6crw7vijg9w25s0jvxr4rkniv4jk0wlfmnk"; - libraryHaskellDepends = [ haskell2010 ]; + version = "0.1.0.2"; + sha256 = "12pvav3xx4mdjnvza15yhkdcphxlsjns2s1i66h2nfgbb9lc8h0q"; + libraryHaskellDepends = [ base ]; description = "Implementation of the Porter stemming algorithm"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ports" = callPackage @@ -169917,6 +182988,7 @@ self: { description = "The Haskell Ports Library"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ports-tools" = callPackage @@ -169975,19 +183047,27 @@ self: { description = "Support for Posix ACL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) acl;}; "posix-api" = callPackage - ({ mkDerivation, base, primitive, tasty, tasty-hunit }: + ({ mkDerivation, base, primitive, primitive-addr, primitive-offset + , primitive-unlifted, tasty, tasty-hunit + }: mkDerivation { pname = "posix-api"; - version = "0.2.0.0"; - sha256 = "059b5zip3i7cfa977kz0jzxc7b8nws9libkxwf8pnvxk70i7apq1"; - libraryHaskellDepends = [ base primitive ]; - testHaskellDepends = [ base primitive tasty tasty-hunit ]; + version = "0.3.2.0"; + sha256 = "1ki45p31cc1zplzsi9kln85rm556rwk5yvwgsb75bcgqwg6xpcl8"; + libraryHaskellDepends = [ + base primitive primitive-addr primitive-offset primitive-unlifted + ]; + testHaskellDepends = [ + base primitive primitive-unlifted tasty tasty-hunit + ]; description = "posix bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "posix-error-codes" = callPackage @@ -170056,7 +183136,6 @@ self: { testHaskellDepends = [ base bytestring process ]; description = "Pseudo terminal interaction with subprocesses"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {util = null;}; "posix-realtime" = callPackage @@ -170069,6 +183148,7 @@ self: { description = "POSIX Realtime functionality"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "posix-socket" = callPackage @@ -170110,6 +183190,7 @@ self: { description = "Low-level wrapping of POSIX waitpid(2)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "possible" = callPackage @@ -170123,6 +183204,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "possibly" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "possibly"; + version = "1.0.0.0"; + sha256 = "08pannfx1831xp4zj4q3qp64vjr208df83qdwvzzlrn9ffc9ikaj"; + libraryHaskellDepends = [ base ]; + description = "type Possibly a = Either String a"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "post-mess-age" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -170144,6 +183236,7 @@ self: { description = "A library that gets postcode information from the uk-postcodes.com"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postgres-embedded" = callPackage @@ -170163,6 +183256,18 @@ self: { description = "Library for easily running embedded PostgreSQL server for tests"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "postgres-options" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "postgres-options"; + version = "0.1.0.0"; + sha256 = "17a2w4fb85mp9v1rghgkm0cvgzxvvahcvfi3vmlzrdqhlsm0si7c"; + libraryHaskellDepends = [ base ]; + description = "An Options type representing options for postgres connections"; + license = stdenv.lib.licenses.bsd3; }) {}; "postgres-tmp" = callPackage @@ -170175,6 +183280,7 @@ self: { description = "Create a temporary database that is deleted after performing some operation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postgres-websockets" = callPackage @@ -170210,6 +183316,7 @@ self: { description = "Middleware to map LISTEN/NOTIFY messages to Websockets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postgresql-binary" = callPackage @@ -170223,8 +183330,8 @@ self: { }: mkDerivation { pname = "postgresql-binary"; - version = "0.12.1.2"; - sha256 = "10h5299fxqmfz0kxyvivfy396q35gzg60spnjagyha33kx5m3bc3"; + version = "0.12.1.3"; + sha256 = "0y2irx1fw0xqs77qpaa3lk06r2q7j7wzbzriyc274h6lmn85sjdw"; libraryHaskellDepends = [ aeson base base-prelude binary-parser bytestring bytestring-strict-builder containers loch-th network-ip @@ -170318,6 +183425,7 @@ self: { description = "Format data to feed to a PostgreSQL COPY FROM statement"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postgresql-cube" = callPackage @@ -170362,15 +183470,14 @@ self: { }: mkDerivation { pname = "postgresql-lo-stream"; - version = "0.1.1.0"; - sha256 = "196f6lz8i8y0cfnd4lqjky69wpi0mc2jfs7jz5v0j3r15jbs5212"; + version = "0.1.1.1"; + sha256 = "0m2s717qb42ywiqvdi18nybjadkivygfi2pbflip5rvphqfc8k8x"; libraryHaskellDepends = [ base bytestring io-streams lifted-base monad-loops mtl postgresql-simple ]; description = "Utilities for streaming PostgreSQL LargeObjects"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "postgresql-named" = callPackage @@ -170389,6 +183496,7 @@ self: { description = "Generic deserialization of PostgreSQL rows based on column names"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postgresql-orm" = callPackage @@ -170414,7 +183522,6 @@ self: { executableHaskellDepends = [ base filepath ]; description = "An ORM (Object Relational Mapping) and migrations DSL for PostgreSQL"; license = "GPL"; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "postgresql-query" = callPackage @@ -170429,10 +183536,8 @@ self: { }: mkDerivation { pname = "postgresql-query"; - version = "3.5.0"; - sha256 = "1sh8kgfqy1kipz99v74xkxzfggbxxjq2gwswa94m1spy6r7k7avp"; - revision = "1"; - editedCabalFile = "11clkx7j4k3wgk6h1g0flq7frvkfxhh4dhbjjrchc5f7rd5gmjbp"; + version = "3.6.0"; + sha256 = "1mf9441yb72jl1gm9zpfgwwjdiipcl0gghnazf1871dgvahbx3jz"; libraryHaskellDepends = [ aeson attoparsec base blaze-builder bytestring containers data-default exceptions file-embed haskell-src-meta hreader hset @@ -170449,6 +183554,7 @@ self: { description = "Sql interpolating quasiquote plus some kind of primitive ORM using it"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postgresql-schema" = callPackage @@ -170475,14 +183581,17 @@ self: { "postgresql-simple" = callPackage ({ mkDerivation, aeson, attoparsec, base, base16-bytestring , bytestring, bytestring-builder, case-insensitive, containers - , cryptohash, filepath, hashable, HUnit, Only, postgresql-libpq - , scientific, tasty, tasty-golden, tasty-hunit, template-haskell - , text, time, transformers, uuid-types, vector + , cryptohash-md5, filepath, hashable, HUnit, inspection-testing + , Only, postgresql-libpq, scientific, tasty, tasty-golden + , tasty-hunit, template-haskell, text, time, transformers + , uuid-types, vector }: mkDerivation { pname = "postgresql-simple"; - version = "0.6"; - sha256 = "1jp08vg040p2qbgy2hldkac1qy1m2k1r6r67hh6dziw5ak1kjs69"; + version = "0.6.2"; + sha256 = "15pkflx48mgv4fjmnagyfh06q065k8m8c98bysc3gm6m4srz5ypv"; + revision = "1"; + editedCabalFile = "0v8a7ylnbl8iv6v3blahrsnggk3kldvrq2gpq1fxni8y2jmc96d6"; libraryHaskellDepends = [ aeson attoparsec base bytestring bytestring-builder case-insensitive containers hashable Only postgresql-libpq @@ -170491,8 +183600,8 @@ self: { ]; testHaskellDepends = [ aeson base base16-bytestring bytestring case-insensitive containers - cryptohash filepath HUnit tasty tasty-golden tasty-hunit text time - vector + cryptohash-md5 filepath HUnit inspection-testing postgresql-libpq + tasty tasty-golden tasty-hunit text time vector ]; benchmarkHaskellDepends = [ base vector ]; description = "Mid-Level PostgreSQL client library"; @@ -170518,6 +183627,22 @@ self: { description = "FFI-like bindings for PostgreSQL stored functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "postgresql-simple-interpolate" = callPackage + ({ mkDerivation, base, haskell-src-meta, mtl, parsec + , postgresql-simple, template-haskell + }: + mkDerivation { + pname = "postgresql-simple-interpolate"; + version = "0.1"; + sha256 = "0nq4j1lbylklsz3fhc4y7rh6c4lfzzfyha65g6i22mbpx51vdf30"; + libraryHaskellDepends = [ + base haskell-src-meta mtl parsec postgresql-simple template-haskell + ]; + description = "Interpolated SQL queries via quasiquotation"; + license = stdenv.lib.licenses.bsd3; }) {}; "postgresql-simple-migration" = callPackage @@ -170543,6 +183668,27 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "postgresql-simple-named" = callPackage + ({ mkDerivation, base, bytestring, doctest, Glob, hspec, mtl + , postgresql-simple, resource-pool, text, transformers + }: + mkDerivation { + pname = "postgresql-simple-named"; + version = "0.0.1.0"; + sha256 = "1lp7bq7w3l127cb4js3gmmp8c9nvxabs64c200c73lqg5mw9fkfp"; + libraryHaskellDepends = [ + base bytestring mtl postgresql-simple text + ]; + testHaskellDepends = [ + base bytestring doctest Glob hspec postgresql-simple resource-pool + transformers + ]; + description = "Implementation of named parameters for `postgresql-simple` library"; + license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "postgresql-simple-opts" = callPackage ({ mkDerivation, base, bytestring, data-default, either , generic-deriving, hspec, optparse-applicative, optparse-generic @@ -170563,7 +183709,6 @@ self: { ]; description = "An optparse-applicative parser for postgresql-simple's connection options"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "postgresql-simple-queue" = callPackage @@ -170590,6 +183735,7 @@ self: { description = "A PostgreSQL backed queue"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postgresql-simple-sop" = callPackage @@ -170602,6 +183748,7 @@ self: { description = "Generic functions for postgresql-simple"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postgresql-simple-typed" = callPackage @@ -170619,6 +183766,7 @@ self: { description = "Typed extension for PostgreSQL simple"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postgresql-simple-url" = callPackage @@ -170640,6 +183788,7 @@ self: { description = "Parse postgres:// url into ConnectInfo"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postgresql-syntax" = callPackage @@ -170672,26 +183821,32 @@ self: { "postgresql-typed" = callPackage ({ mkDerivation, aeson, array, attoparsec, base, binary, bytestring - , containers, convertible, cryptonite, haskell-src-meta, HDBC - , HUnit, memory, network, old-locale, postgresql-binary, QuickCheck - , scientific, template-haskell, text, time, utf8-string, uuid + , containers, convertible, criterion, cryptonite, data-default + , haskell-src-meta, HDBC, HUnit, memory, network, old-locale + , postgresql-binary, QuickCheck, scientific, template-haskell, text + , time, tls, utf8-string, uuid, x509, x509-store, x509-validation }: mkDerivation { pname = "postgresql-typed"; - version = "0.5.3.0"; - sha256 = "0apq662lhkjc1xl4alpz20yz20x6mf3gz6li7wb86sp94441rh5k"; + version = "0.6.0.1"; + sha256 = "1kdapjx3mz7g6a35g21xql0wswrgnmp6x0hm2zpis3wp4ig503kk"; libraryHaskellDepends = [ aeson array attoparsec base binary bytestring containers cryptonite - haskell-src-meta HDBC memory network old-locale postgresql-binary - scientific template-haskell text time utf8-string uuid + data-default haskell-src-meta HDBC memory network old-locale + postgresql-binary scientific template-haskell text time tls + utf8-string uuid x509 x509-store x509-validation ]; testHaskellDepends = [ base bytestring containers convertible HDBC HUnit network - QuickCheck time + QuickCheck time tls + ]; + benchmarkHaskellDepends = [ + base bytestring criterion network time tls ]; description = "PostgreSQL interface with compile-time SQL type checking, optional HDBC backend"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postgresql-typed-lifted" = callPackage @@ -170709,31 +183864,32 @@ self: { description = "postgresql-typed operations lifted to any instance of MonadBase or MonadBaseControl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postgrest" = callPackage ({ mkDerivation, aeson, aeson-qq, ansi-wl-pprint, async , auto-update, base, base64-bytestring, bytestring - , case-insensitive, cassava, configurator-ng, containers - , contravariant, contravariant-extras, cookie, either, gitrev - , hasql, hasql-pool, hasql-transaction, heredoc, hjsonschema, hspec + , case-insensitive, cassava, configurator-pg, containers + , contravariant, contravariant-extras, cookie, directory, either + , gitrev, hasql, hasql-pool, hasql-transaction, heredoc, hspec , hspec-wai, hspec-wai-json, HTTP, http-types , insert-ordered-containers, interpolatedstring-perl6, jose, lens - , lens-aeson, monad-control, network-uri, optparse-applicative - , parsec, process, protolude, Ranged-sets, regex-tdfa, retry - , scientific, swagger2, text, time, transformers-base, unix - , unordered-containers, vector, wai, wai-cors, wai-extra - , wai-middleware-static, warp + , lens-aeson, monad-control, network, network-uri + , optparse-applicative, parsec, process, protolude, Ranged-sets + , regex-tdfa, retry, scientific, swagger2, text, time + , transformers-base, unix, unordered-containers, vector, wai + , wai-cors, wai-extra, wai-middleware-static, warp }: mkDerivation { pname = "postgrest"; - version = "5.2.0"; - sha256 = "0h4167jr0k398paf2sgnxkm4iziqf3a9i61cbh7d0ix86z2v8a53"; + version = "6.0.0"; + sha256 = "0m0zplw8f1ncnbmrnsylq2z7pv8r86hsndsgbld52wfdc85b3r0z"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson ansi-wl-pprint base base64-bytestring bytestring - case-insensitive cassava configurator-ng containers contravariant + case-insensitive cassava configurator-pg containers contravariant contravariant-extras cookie either gitrev hasql hasql-pool hasql-transaction heredoc HTTP http-types insert-ordered-containers interpolatedstring-perl6 jose lens lens-aeson network-uri @@ -170742,19 +183898,21 @@ self: { wai-cors wai-extra wai-middleware-static ]; executableHaskellDepends = [ - auto-update base base64-bytestring bytestring hasql hasql-pool - hasql-transaction protolude retry text time unix warp + auto-update base base64-bytestring bytestring directory hasql + hasql-pool hasql-transaction network protolude retry text time unix + warp ]; testHaskellDepends = [ aeson aeson-qq async auto-update base base64-bytestring bytestring case-insensitive cassava containers contravariant hasql hasql-pool - hasql-transaction heredoc hjsonschema hspec hspec-wai - hspec-wai-json http-types lens lens-aeson monad-control process - protolude regex-tdfa time transformers-base wai wai-extra + hasql-transaction heredoc hspec hspec-wai hspec-wai-json http-types + lens lens-aeson monad-control process protolude regex-tdfa text + time transformers-base wai wai-extra ]; description = "REST API for any Postgres database"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postgrest-ws" = callPackage @@ -170791,6 +183949,7 @@ self: { description = "PostgREST extension to map LISTEN/NOTIFY messages to Websockets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postie" = callPackage @@ -170811,6 +183970,7 @@ self: { description = "SMTP server library to receive emails from within Haskell programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postmark" = callPackage @@ -170830,6 +183990,7 @@ self: { description = "Library for postmarkapp.com HTTP Api"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postmark-streams" = callPackage @@ -170838,8 +183999,8 @@ self: { }: mkDerivation { pname = "postmark-streams"; - version = "0.1.0.2"; - sha256 = "00d6rnijlr2095nd1d0vqgbsy5k8w6admi2bn69vdmj39cahgca2"; + version = "0.1.0.3"; + sha256 = "1qcyh34rjfgjxi6cs7jrfhr1qdp2chngga1p71jxisbgfd7rk2b4"; libraryHaskellDepends = [ aeson attoparsec base base64-bytestring binary bytestring http-streams io-streams text time @@ -170847,6 +184008,7 @@ self: { description = "Send email via Postmark using io-streams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "postmaster" = callPackage @@ -170857,6 +184019,8 @@ self: { pname = "postmaster"; version = "0.3.3"; sha256 = "05608xvaig1d67j3h8ykw7a11yr1mqkw98p0ii7gbp4mp3d9kncd"; + revision = "1"; + editedCabalFile = "00rp6mdds4kssvcyc9n6iz1asgkhv96050x50jwvg3wp3pp69fg2"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -170880,6 +184044,7 @@ self: { description = "Command line Dreamcast VMU filesystem toolset"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "potoki" = callPackage @@ -170892,6 +184057,7 @@ self: { description = "Simple streaming in IO"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "potoki-cereal" = callPackage @@ -170915,6 +184081,7 @@ self: { description = "Streaming serialization"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "potoki-conduit" = callPackage @@ -170938,6 +184105,7 @@ self: { description = "Integration of \"potoki\" and \"conduit\""; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "potoki-core" = callPackage @@ -170966,6 +184134,7 @@ self: { description = "Low-level components of \"potoki\""; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "potoki-hasql" = callPackage @@ -170982,6 +184151,7 @@ self: { description = "Integration of \"potoki\" and \"hasql\""; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "potoki-zlib" = callPackage @@ -170996,6 +184166,7 @@ self: { description = "Streaming ZLib decompression"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "potrace" = callPackage @@ -171051,6 +184222,7 @@ self: { description = "Tools for PowerPC programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "powerqueue" = callPackage @@ -171065,6 +184237,7 @@ self: { description = "A flexible job queue with exchangeable backends"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "powerqueue-distributed" = callPackage @@ -171084,6 +184257,7 @@ self: { description = "A distributed worker backend for powerqueu"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "powerqueue-levelmem" = callPackage @@ -171111,6 +184285,7 @@ self: { description = "A high performance in memory and LevelDB backend for powerqueue"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) leveldb; inherit (pkgs) snappy;}; "powerqueue-sqs" = callPackage @@ -171125,6 +184300,7 @@ self: { description = "A Amazon SQS backend for powerqueue"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ppm" = callPackage @@ -171171,6 +184347,7 @@ self: { description = "Parallel batch driver for QuickCheck"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pqueue" = callPackage @@ -171179,6 +184356,8 @@ self: { pname = "pqueue"; version = "1.4.1.2"; sha256 = "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"; + revision = "1"; + editedCabalFile = "1la186z2np3nv06p0485xwg342gyjp7a2ikg73qs7mbg086352zs"; libraryHaskellDepends = [ base deepseq ]; testHaskellDepends = [ base deepseq QuickCheck ]; description = "Reliable, persistent, fast priority queues"; @@ -171199,6 +184378,7 @@ self: { description = "Fully encapsulated monad transformers with queuelike functionality"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "practice-room" = callPackage @@ -171218,6 +184398,7 @@ self: { description = "Practice Room"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "praglude" = callPackage @@ -171239,6 +184420,7 @@ self: { description = "A pragmatic Prelude"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pragmatic-show" = callPackage @@ -171249,6 +184431,8 @@ self: { pname = "pragmatic-show"; version = "0.1.2.0"; sha256 = "1nkwimmnk10p0pnv2hr3mxgfs1r2rjfhiaccmhd68a6279whp6p7"; + revision = "1"; + editedCabalFile = "17rs7ms62aisnk5wsdp67v3cgv5ph734iswv7137ibv339dlkl82"; libraryHaskellDepends = [ base containers ]; testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck vector-space @@ -171256,6 +184440,7 @@ self: { description = "Alternative Show class that gives shorter view if possible"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "preamble" = callPackage @@ -171313,6 +184498,7 @@ self: { description = "Prelude replacement"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pred-set" = callPackage @@ -171353,6 +184539,7 @@ self: { description = "Predicative tries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "predicate-class" = callPackage @@ -171365,6 +184552,7 @@ self: { description = "Helper class for passing context along a predicate value"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "predicates" = callPackage @@ -171409,6 +184597,7 @@ self: { description = "Evaluate and display trees of predicates"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prednote-test" = callPackage @@ -171432,6 +184621,7 @@ self: { description = "Tests and QuickCheck generators to accompany prednote"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prefetch" = callPackage @@ -171496,6 +184686,7 @@ self: { description = "A library for building a prefork-style server quickly"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pregame" = callPackage @@ -171537,14 +184728,15 @@ self: { description = "A larger alternative to the Prelude"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prelude-compat" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "prelude-compat"; - version = "0.0.0.1"; - sha256 = "1m20zczq6hz6qv48g5pa6spd9p4ylq6w0vc60rzshrbjbdfqgp3v"; + version = "0.0.0.2"; + sha256 = "1mv00d5k5wqb39iyghdbf4lfqznwb1whcc9a564ly4wzka70y9f1"; libraryHaskellDepends = [ base ]; description = "Provide Prelude and Data.List with fixed content across GHC versions"; license = stdenv.lib.licenses.bsd3; @@ -171582,6 +184774,7 @@ self: { description = "Another kind of alternate Prelude file"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prelude-plus" = callPackage @@ -171596,6 +184789,7 @@ self: { description = "Prelude for rest of us"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prelude-prime" = callPackage @@ -171660,6 +184854,7 @@ self: { description = "Preprocess Haskell Repositories"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "preprocessor" = callPackage @@ -171681,6 +184876,7 @@ self: { description = "Remove cpp annotations to get the source ready for static analysis"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "preprocessor-tools" = callPackage @@ -171700,13 +184896,14 @@ self: { pname = "presburger"; version = "1.3.1"; sha256 = "15yhqc6gk14dsqr4b0x87i1xw0sc3iscw28grg4vmcspsjxil0l6"; - revision = "1"; - editedCabalFile = "0pabxck7iyhyj7wf1bflg86xb2jip4vaspf080rfdc5s2cg0d23w"; + revision = "2"; + editedCabalFile = "0295mpzywmg6qrp90fnl51pvr7nwzc2n5p51w90j735il0pqpa3q"; libraryHaskellDepends = [ base containers pretty ]; testHaskellDepends = [ base QuickCheck ]; description = "A decision procedure for quantifier-free linear arithmetic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "present" = callPackage @@ -171730,6 +184927,7 @@ self: { description = "Text template library targeted at the web / HTML generation"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "presto-hdbc" = callPackage @@ -171750,6 +184948,7 @@ self: { description = "An HDBC connector for Presto"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prettify" = callPackage @@ -171835,6 +185034,30 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; + "pretty-ghci" = callPackage + ({ mkDerivation, alex, array, base, directory, filepath + , haddock-library, happy, prettyprinter + , prettyprinter-ansi-terminal, process, text + }: + mkDerivation { + pname = "pretty-ghci"; + version = "0.2.0.0"; + sha256 = "1ng4ypjz3yq2f536pd89bkwsdc2icfkw54ys5j5kzm75khgkhqg1"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + array base haddock-library prettyprinter + prettyprinter-ansi-terminal text + ]; + libraryToolDepends = [ alex happy ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ + base directory filepath prettyprinter process + ]; + description = "Functionality for beautifying GHCi"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "pretty-hex" = callPackage ({ mkDerivation, base, bytestring }: mkDerivation { @@ -171846,6 +185069,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "pretty-loc" = callPackage + ({ mkDerivation, base, text }: + mkDerivation { + pname = "pretty-loc"; + version = "0.1.0.1"; + sha256 = "196slpa651p7yq8107c4pkwdfkfmg2bn6ibyqz22c46psklyrisb"; + libraryHaskellDepends = [ base text ]; + description = "Tracking and highlighting of locations in source files"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "pretty-ncols" = callPackage ({ mkDerivation, base, pretty }: mkDerivation { @@ -171856,6 +185090,7 @@ self: { description = "A implementation of multi-column layout w/ Text.PrettyPrint"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pretty-relative-time" = callPackage @@ -171874,6 +185109,7 @@ self: { description = "Pretty relative time"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pretty-show" = callPackage @@ -171931,15 +185167,39 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "pretty-simple_3_1_0_0" = callPackage + ({ mkDerivation, ansi-terminal, base, Cabal, cabal-doctest + , containers, criterion, doctest, Glob, mtl, QuickCheck + , template-haskell, text, transformers + }: + mkDerivation { + pname = "pretty-simple"; + version = "3.1.0.0"; + sha256 = "0p3p5i2rjwv19hzgqyarv7x6g6hvam159y50irvs0dd5wwphd2pa"; + isLibrary = true; + isExecutable = true; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + ansi-terminal base containers mtl text transformers + ]; + testHaskellDepends = [ + base doctest Glob QuickCheck template-haskell + ]; + benchmarkHaskellDepends = [ base criterion text ]; + description = "pretty printer for data types with a 'Show' instance"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "pretty-sop" = callPackage - ({ mkDerivation, base, generics-sop, pretty-show }: + ({ mkDerivation, base, generics-sop, markdown-unlit, pretty-show }: mkDerivation { pname = "pretty-sop"; - version = "0.2.0.2"; - sha256 = "0x1j5ngxwk176kr1qb0vr7zzjph1jxjc3bpzqcnph3rn2j6z4kyn"; - revision = "2"; - editedCabalFile = "04hzf2ajlnh3ynk72xr5s396v8y0d8fkr4pf11nqss7yf60dkxwi"; + version = "0.2.0.3"; + sha256 = "10vybwbkqgr3fi13c5qwwhrwns9sdj7zvlkz6vag966pk238gnxy"; libraryHaskellDepends = [ base generics-sop pretty-show ]; + testHaskellDepends = [ base generics-sop pretty-show ]; + testToolDepends = [ markdown-unlit ]; description = "A generic pretty-printer using generics-sop"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -171972,18 +185232,6 @@ self: { }) {}; "pretty-types" = callPackage - ({ mkDerivation, base, hspec, mtl, tagged }: - mkDerivation { - pname = "pretty-types"; - version = "0.2.3.1"; - sha256 = "0kvqp39q1qydgf6rlrabgjcgv53irdh9xvw2p7hazbls178ljv75"; - libraryHaskellDepends = [ base mtl tagged ]; - testHaskellDepends = [ base hspec tagged ]; - description = "A small pretty printing DSL for complex types"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "pretty-types_0_3_0_1" = callPackage ({ mkDerivation, base, hspec, mtl, tagged }: mkDerivation { pname = "pretty-types"; @@ -171993,7 +185241,6 @@ self: { testHaskellDepends = [ base hspec tagged ]; description = "A small pretty printing DSL for complex types"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "prettyFunctionComposing" = callPackage @@ -172025,13 +185272,13 @@ self: { }: mkDerivation { pname = "prettyprinter"; - version = "1.2.1"; - sha256 = "1kvza7jp5n833m8rj0bc35bd2p8wx3fq0iqflm9nbh3wm05kwrg7"; + version = "1.2.1.1"; + sha256 = "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base text ]; testHaskellDepends = [ - base bytestring doctest pgp-wordlist tasty tasty-hunit + base bytestring doctest pgp-wordlist QuickCheck tasty tasty-hunit tasty-quickcheck text ]; benchmarkHaskellDepends = [ @@ -172042,6 +185289,32 @@ self: { license = stdenv.lib.licenses.bsd2; }) {}; + "prettyprinter_1_3_0" = callPackage + ({ mkDerivation, ansi-wl-pprint, base, base-compat, bytestring + , containers, criterion, deepseq, doctest, mtl, pgp-wordlist + , QuickCheck, random, tasty, tasty-hunit, tasty-quickcheck, text + , transformers + }: + mkDerivation { + pname = "prettyprinter"; + version = "1.3.0"; + sha256 = "1dc43z53s8pbrv6wf2mq6zvggd67lk415zqg8q9bcd1ld5m9h2x4"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base text ]; + testHaskellDepends = [ + base bytestring doctest pgp-wordlist tasty tasty-hunit + tasty-quickcheck text + ]; + benchmarkHaskellDepends = [ + ansi-wl-pprint base base-compat containers criterion deepseq mtl + QuickCheck random text transformers + ]; + description = "A modern, easy to use, well-documented, extensible pretty-printer"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "prettyprinter-ansi-terminal" = callPackage ({ mkDerivation, ansi-terminal, base, doctest, prettyprinter, text }: @@ -172129,6 +185402,7 @@ self: { description = "prettyprinter backend for vty"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "preview" = callPackage @@ -172145,6 +185419,7 @@ self: { description = "The method of previewing data (instead of wholly show-ing it)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prim-array" = callPackage @@ -172159,24 +185434,19 @@ self: { description = "Primitive byte array with type variable"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prim-instances" = callPackage - ({ mkDerivation, base, base-orphans, primitive, QuickCheck - , quickcheck-classes, quickcheck-instances, tasty, tasty-quickcheck - }: + ({ mkDerivation, base, primitive, QuickCheck, quickcheck-classes }: mkDerivation { pname = "prim-instances"; - version = "0.1.0.0"; - sha256 = "1l2dvq5mrbxghzrcfd1ik49lzfvly3bq15jrmn1hilvjrsscx7nf"; + version = "0.2"; + sha256 = "0dx5byf61725220hvwd72k2yc2n1x0qpl6rj3gfdldww98g700iq"; libraryHaskellDepends = [ base primitive ]; - testHaskellDepends = [ - base base-orphans primitive QuickCheck quickcheck-classes - quickcheck-instances tasty tasty-quickcheck - ]; - description = "prim typeclass instances"; + testHaskellDepends = [ base QuickCheck quickcheck-classes ]; + description = "Prim typeclass instances"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "prim-ref" = callPackage @@ -172239,6 +185509,7 @@ self: { description = "Type-safe prime numbers"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "primesieve" = callPackage @@ -172254,7 +185525,6 @@ self: { executableSystemDepends = [ primesieve ]; description = "FFI bindings for the primesieve library"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) primesieve;}; "primitive_0_5_1_0" = callPackage @@ -172284,41 +185554,90 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "primitive_0_7_0_0" = callPackage + ({ mkDerivation, base, base-orphans, ghc-prim, QuickCheck + , semigroups, tagged, tasty, tasty-quickcheck, transformers + , transformers-compat + }: + mkDerivation { + pname = "primitive"; + version = "0.7.0.0"; + sha256 = "0xhmin3z2vp8jina1wzxg11nqiz8x63wisv2nw2ggji8lgz48skq"; + libraryHaskellDepends = [ base ghc-prim transformers ]; + testHaskellDepends = [ + base base-orphans ghc-prim QuickCheck semigroups tagged tasty + tasty-quickcheck transformers transformers-compat + ]; + description = "Primitive memory-related operations"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "primitive-addr" = callPackage + ({ mkDerivation, base, primitive }: + mkDerivation { + pname = "primitive-addr"; + version = "0.1.0.2"; + sha256 = "06r1p56wm8rbjxnlaqbmc3rbsj1rsv5scwnh80lsn0xw56jc70a2"; + libraryHaskellDepends = [ base primitive ]; + description = "Addresses to unmanaged memory"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "primitive-atomic" = callPackage + ({ mkDerivation, base, primitive, primitive-unlifted }: + mkDerivation { + pname = "primitive-atomic"; + version = "0.1.0.1"; + sha256 = "0q7lgirw0a75cd0157xq705wnns45d4nx2gfgmvvx0qi6rzvx45s"; + libraryHaskellDepends = [ base primitive primitive-unlifted ]; + testHaskellDepends = [ base primitive primitive-unlifted ]; + description = "Wrappers for primops around atomic operations"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "primitive-checked" = callPackage ({ mkDerivation, base, primitive }: mkDerivation { pname = "primitive-checked"; - version = "0.6.4.1"; - sha256 = "02jac6ra9qws5lp2zwqhz87zqy5j9vhs2hinwp43nnpjd4kngms1"; + version = "0.7.0.0"; + sha256 = "1h4gsririgjw8p72dz2p91yq8mxr37qca8rshmxmkmmds8yv6w1s"; libraryHaskellDepends = [ base primitive ]; description = "primitive functions with bounds-checking"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "primitive-containers" = callPackage - ({ mkDerivation, aeson, base, containers, contiguous, deepseq - , gauge, ghc-prim, hashable, HUnit, primitive, primitive-sort - , quantification, QuickCheck, quickcheck-classes, random, tasty - , tasty-hunit, tasty-quickcheck, text, unordered-containers, vector + ({ mkDerivation, base, containers, contiguous, deepseq, gauge + , ghc-prim, hashable, HUnit, primitive, primitive-sort + , primitive-unlifted, QuickCheck, quickcheck-classes, random, tasty + , tasty-hunit, tasty-quickcheck, text }: mkDerivation { pname = "primitive-containers"; - version = "0.3.1"; - sha256 = "0ikpnci6lk6nmalyr5kkqwrr12kpclr8ka001hlz0mcy8rrxncq3"; + version = "0.4.0"; + sha256 = "0ljb6np2yxnclqvz2sbpvjs027z701nsdhvmgy607am95sskxlrz"; + revision = "1"; + editedCabalFile = "18pxbfqjy2kfxgq1033bp3ci6xjj1ilnik2v5dzdcqlxr923zvkc"; libraryHaskellDepends = [ - aeson base contiguous deepseq hashable primitive primitive-sort - quantification text unordered-containers vector + base contiguous deepseq hashable primitive primitive-sort + primitive-unlifted ]; testHaskellDepends = [ - aeson base containers HUnit primitive quantification QuickCheck + base containers HUnit primitive primitive-unlifted QuickCheck quickcheck-classes tasty tasty-hunit tasty-quickcheck text ]; benchmarkHaskellDepends = [ - base containers gauge ghc-prim primitive random + base containers gauge ghc-prim primitive primitive-unlifted random ]; description = "containers backed by arrays"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "primitive-extras" = callPackage @@ -172329,8 +185648,10 @@ self: { }: mkDerivation { pname = "primitive-extras"; - version = "0.7.1"; - sha256 = "1xfvp63qi21iiz1905l61726vp2nnx3sffpphwf53j8yn193c33n"; + version = "0.7.1.1"; + sha256 = "1hffgvqdrsxml2z834jb1mpywkflcnlymmxp9dmapwg8pcadjzdm"; + revision = "1"; + editedCabalFile = "10z7fnz907s7ar15lk3kq62p11bbsksdb0nmg5y7ii0n97mqni96"; libraryHaskellDepends = [ base bytestring cereal deferred-folds focus foldl list-t primitive profunctors vector @@ -172343,6 +185664,41 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "primitive-extras_0_8" = callPackage + ({ mkDerivation, base, bytestring, cereal, deferred-folds, focus + , foldl, list-t, primitive, primitive-unlifted, profunctors + , QuickCheck, quickcheck-instances, rerebase, tasty, tasty-hunit + , tasty-quickcheck, vector + }: + mkDerivation { + pname = "primitive-extras"; + version = "0.8"; + sha256 = "0g3b7b842wbdh7hqr6ikvycdwk1n3in9dq5yb09g744ydpmvg24r"; + libraryHaskellDepends = [ + base bytestring cereal deferred-folds focus foldl list-t primitive + primitive-unlifted profunctors vector + ]; + testHaskellDepends = [ + cereal deferred-folds focus primitive QuickCheck + quickcheck-instances rerebase tasty tasty-hunit tasty-quickcheck + ]; + description = "Extras for the \"primitive\" library"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "primitive-foreign" = callPackage + ({ mkDerivation, base, primitive, QuickCheck }: + mkDerivation { + pname = "primitive-foreign"; + version = "0.1"; + sha256 = "0qznygyj4fsgdggrb02nc78nfjyvfjsdaznw01a0sw2b1yld0zqg"; + libraryHaskellDepends = [ base primitive ]; + testHaskellDepends = [ base primitive QuickCheck ]; + description = "using the `Prim` interface for the FFI"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "primitive-indexed" = callPackage ({ mkDerivation, base, doctest, primitive, QuickCheck }: mkDerivation { @@ -172353,6 +185709,7 @@ self: { testHaskellDepends = [ base doctest QuickCheck ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "primitive-maybe" = callPackage @@ -172370,7 +185727,17 @@ self: { ]; description = "Arrays of Maybes"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "primitive-offset" = callPackage + ({ mkDerivation, base, primitive }: + mkDerivation { + pname = "primitive-offset"; + version = "0.2.0.0"; + sha256 = "0aspdlzx1xaw1fyiy8vnzadbklpg7hn2mb1g9qmw2vpkxglpspmi"; + libraryHaskellDepends = [ base primitive ]; + description = "Types for offsets into unboxed arrays"; + license = stdenv.lib.licenses.bsd3; }) {}; "primitive-simd" = callPackage @@ -172386,6 +185753,7 @@ self: { description = "SIMD data types and functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "primitive-sort" = callPackage @@ -172397,8 +185765,8 @@ self: { pname = "primitive-sort"; version = "0.1.0.0"; sha256 = "147y4y8v00yggfgyf70kzd3pd9r6jvgxkzjsy3xpbp6mjdnzrbm3"; - revision = "2"; - editedCabalFile = "1yn5nwdw5jmzg603ln626gz2ifjn8fssgzq17g4nyriscqfg1aki"; + revision = "3"; + editedCabalFile = "1ld4wm2p75nl0qvzmgz1isgl1w59gk9ydg6hq0mijq362vx4ih2w"; libraryHaskellDepends = [ base contiguous ghc-prim primitive ]; testHaskellDepends = [ base containers doctest HUnit primitive QuickCheck smallcheck tasty @@ -172407,6 +185775,45 @@ self: { benchmarkHaskellDepends = [ base gauge ghc-prim primitive random ]; description = "Sort primitive arrays"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "primitive-stablename" = callPackage + ({ mkDerivation, base, primitive }: + mkDerivation { + pname = "primitive-stablename"; + version = "0.1"; + sha256 = "1kdrzam5m2svxrpa7k3byg061i5xs0lc6q12hwgiq6l09savql6j"; + libraryHaskellDepends = [ base primitive ]; + description = "primitive operations on StableNames"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "primitive-unaligned" = callPackage + ({ mkDerivation, base, primitive }: + mkDerivation { + pname = "primitive-unaligned"; + version = "0.1.1.0"; + sha256 = "1dkxm1m22vap0xaw2ssqfqs19lmk41db09rkngbiid0by2yla1gp"; + libraryHaskellDepends = [ base primitive ]; + testHaskellDepends = [ base primitive ]; + description = "Unaligned access to primitive arrays"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "primitive-unlifted" = callPackage + ({ mkDerivation, base, primitive, stm }: + mkDerivation { + pname = "primitive-unlifted"; + version = "0.1.2.0"; + sha256 = "1zq5fx032shxsk23hlyj9js8jdbg4r17l0gigsrbrnlajnwk4683"; + libraryHaskellDepends = [ base primitive ]; + testHaskellDepends = [ base primitive stm ]; + description = "Primitive GHC types with unlifted types inside"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "primula-board" = callPackage @@ -172430,6 +185837,7 @@ self: { description = "ImageBoard on Happstack and HSP"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "primula-bot" = callPackage @@ -172449,6 +185857,7 @@ self: { description = "Jabber-bot for primula-board ImageBoard"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pringletons" = callPackage @@ -172466,6 +185875,7 @@ self: { description = "Classes and data structures complementing the singletons library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "print-debugger" = callPackage @@ -172478,6 +185888,7 @@ self: { description = "Debug print formatting library"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "printcess" = callPackage @@ -172495,6 +185906,7 @@ self: { description = "Pretty printing with indentation, mixfix operators, and automatic line breaks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "printf-mauke" = callPackage @@ -172561,6 +185973,7 @@ self: { description = "Simple implementation of a priority queue"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "priority-sync" = callPackage @@ -172578,7 +185991,6 @@ self: { executableHaskellDepends = [ base ]; description = "Cooperative task prioritization"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "private-hackage-uploader" = callPackage @@ -172655,8 +186067,8 @@ self: { pname = "probable"; version = "0.1.3"; sha256 = "196m3v30818q034x7jdnqdwfqffx5pfj64yyw0q2blhwzkhc0f9n"; - revision = "2"; - editedCabalFile = "01cah34a5bzqlf76aqpc3038gxq7iy4krrzrj788c11ybawq0mgn"; + revision = "3"; + editedCabalFile = "0fvvf9l4vkmnv7qffvkxd0rajv7n64v0550nd7cpjazns41y4lz2"; libraryHaskellDepends = [ base mtl mwc-random primitive statistics transformers vector ]; @@ -172665,6 +186077,8 @@ self: { ]; description = "Easy and reasonably efficient probabilistic programming and random generation"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "proc" = callPackage @@ -172684,6 +186098,7 @@ self: { description = "Parse process information for Linux"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "proc-net" = callPackage @@ -172692,6 +186107,8 @@ self: { pname = "proc-net"; version = "1.0.0.2"; sha256 = "04zx462sj8kh21a8n7kk3jpcvdh6s64pvgdb0la0sxq0jycfybzz"; + revision = "1"; + editedCabalFile = "1ng8xnvzylj2f635kfwmdwhgjshbsmcm1x5c7bscz2m9x10brmhn"; libraryHaskellDepends = [ attoparsec base bytestring network unix ]; @@ -172699,14 +186116,14 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "process_1_6_5_0" = callPackage + "process_1_6_5_1" = callPackage ({ mkDerivation, base, bytestring, deepseq, directory, filepath , unix }: mkDerivation { pname = "process"; - version = "1.6.5.0"; - sha256 = "0a04jch13d0va47yhkf1ni7pk9hxsdr3m4h8645r4qs0mzvsby60"; + version = "1.6.5.1"; + sha256 = "1x9vdcj4g19ibf34w96nzgv2blxx727z0xb7dq012ky04ssblx8j"; libraryHaskellDepends = [ base deepseq directory filepath unix ]; testHaskellDepends = [ base bytestring directory ]; description = "Process libraries"; @@ -172733,6 +186150,7 @@ self: { description = "Conduits for processes (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "process-extras" = callPackage @@ -172769,6 +186187,7 @@ self: { description = "IterIO Process Library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "process-leksah" = callPackage @@ -172781,6 +186200,7 @@ self: { description = "Process libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "process-listlike" = callPackage @@ -172798,6 +186218,7 @@ self: { description = "Process extras"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "process-progress" = callPackage @@ -172815,6 +186236,7 @@ self: { description = "Run a process and do reportsing on its progress"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "process-qq" = callPackage @@ -172832,6 +186254,7 @@ self: { description = "Quasi-Quoters for exec process"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "process-streaming" = callPackage @@ -172864,6 +186287,7 @@ self: { description = "Streaming interface to system processes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "processing" = callPackage @@ -172883,6 +186307,7 @@ self: { description = "Web graphic applications with processing.js."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "processing-for-haskell" = callPackage @@ -172938,6 +186363,7 @@ self: { description = "Haskell values that cannot be evaluated immediately"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "procstat" = callPackage @@ -172950,6 +186376,7 @@ self: { description = "get information on processes in Linux"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "proctest" = callPackage @@ -172986,6 +186413,7 @@ self: { description = "Simple streaming datatype"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "product" = callPackage @@ -172997,7 +186425,6 @@ self: { libraryHaskellDepends = [ base category ]; description = "Product category"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "product-isomorphic" = callPackage @@ -173020,8 +186447,8 @@ self: { pname = "product-profunctors"; version = "0.10.0.0"; sha256 = "0s0ssl2900r16992mgl0idkryg3l7psp8nljyg9brr7fqa3pd3dd"; - revision = "1"; - editedCabalFile = "17zi38fzg7yf9i5da2hlch6jw2qhmjcvs9wwkhyvra520605mlya"; + revision = "2"; + editedCabalFile = "0sarkc9sch60f5j1xjy30yrgycvmp5bqx1iynmlsfzdx7rvk5s29"; libraryHaskellDepends = [ base bifunctors contravariant profunctors tagged template-haskell ]; @@ -173058,6 +186485,7 @@ self: { description = "Convert GHC profiles into GraphViz's dot format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prof2pretty" = callPackage @@ -173077,6 +186505,7 @@ self: { description = "generate pretty source from time/allocation profiles"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "profiterole" = callPackage @@ -173104,8 +186533,8 @@ self: { }: mkDerivation { pname = "profiteur"; - version = "0.4.5.0"; - sha256 = "18wyq1czj99zxgqmv6v2qpwlax3a4r7d93pc24ihzg5v8ps6iz89"; + version = "0.4.5.1"; + sha256 = "0mq2fal93v42rkgiq0xwqzqc413dgkiawa09bxgv0sgajzslqx80"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -173115,7 +186544,6 @@ self: { ]; description = "Treemap visualiser for GHC prof files"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "profunctor-extras" = callPackage @@ -173154,6 +186582,8 @@ self: { pname = "profunctors"; version = "5.3"; sha256 = "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"; + revision = "1"; + editedCabalFile = "1ynskm55fynsli6lpz6v5py344yhf1mq5xz2b1p7arvf2xqrx4kv"; libraryHaskellDepends = [ base base-orphans bifunctors comonad contravariant distributive semigroups tagged transformers @@ -173162,6 +186592,23 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "profunctors_5_4" = callPackage + ({ mkDerivation, base, base-orphans, bifunctors, comonad + , contravariant, distributive, tagged, transformers + }: + mkDerivation { + pname = "profunctors"; + version = "5.4"; + sha256 = "1b5hidvd3rd8ilzr5ipzw0mg0a2x0ldrrcx6bacalafg7407bfhh"; + libraryHaskellDepends = [ + base base-orphans bifunctors comonad contravariant distributive + tagged transformers + ]; + description = "Profunctors"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "progress" = callPackage ({ mkDerivation, base, time }: mkDerivation { @@ -173172,6 +186619,7 @@ self: { description = "Simple progress tracking & projection library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "progress-meter" = callPackage @@ -173184,6 +186632,7 @@ self: { description = "Live diagnostics for concurrent activity"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "progress-reporting" = callPackage @@ -173211,6 +186660,7 @@ self: { description = "Progressbar API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "progression" = callPackage @@ -173228,6 +186678,7 @@ self: { description = "Automates the recording and graphing of criterion benchmarks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "progressive" = callPackage @@ -173247,6 +186698,7 @@ self: { description = "Multilabel classification model which learns sequentially (online)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "proj4-hs-bindings" = callPackage @@ -173260,6 +186712,7 @@ self: { description = "Haskell bindings for the Proj4 C dynamic library"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) proj;}; "project-m36" = callPackage @@ -173331,6 +186784,7 @@ self: { description = "Relational Algebra Engine"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "project-template" = callPackage @@ -173374,6 +186828,7 @@ self: { description = "Go to README.md"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "projection" = callPackage @@ -173415,7 +186870,6 @@ self: { ]; description = "A Prolog interpreter written in Haskell"; license = stdenv.lib.licenses.publicDomain; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "prolog-graph" = callPackage @@ -173434,6 +186888,7 @@ self: { description = "A command line tool to visualize query resolution in Prolog"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prolog-graph-lib" = callPackage @@ -173446,6 +186901,7 @@ self: { description = "Generating images of resolution trees for Prolog queries"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prologue" = callPackage @@ -173480,10 +186936,8 @@ self: { }: mkDerivation { pname = "prometheus"; - version = "2.1.1"; - sha256 = "09g3xi6x6m6h15p3ibwyabfq15rhcaphq7ix2w23aphjwc64ll97"; - revision = "1"; - editedCabalFile = "1jbs0p3ji5jz0qglkdw6gpr6x3i7ig044rcz58mcil04bsswymgq"; + version = "2.1.2"; + sha256 = "1qr8nnijzlp0rwz3rab7y49kxwa4ka7ipix9dix5d1mzqpa1sj5m"; libraryHaskellDepends = [ atomic-primops base bytestring containers http-client http-types network-uri text transformers wai warp @@ -173491,6 +186945,7 @@ self: { description = "Prometheus Haskell Client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prometheus-client" = callPackage @@ -173545,6 +187000,7 @@ self: { description = "Instrument applications with metrics and publish/push to Prometheus"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prometheus-metrics-ghc" = callPackage @@ -173564,15 +187020,16 @@ self: { }) {}; "prometheus-proc" = callPackage - ({ mkDerivation, base, filepath, prometheus-client - , regex-applicative, unix, unix-memory + ({ mkDerivation, base, directory, filepath, prometheus-client + , regex-applicative, text, unix, unix-memory }: mkDerivation { pname = "prometheus-proc"; - version = "0.1.0.0"; - sha256 = "1384kcsnhby17ivjlii2ixqw1qhas6y4l1h8vq3lzaxqydbidhbm"; + version = "0.1.1.0"; + sha256 = "1mygx1kjjgrlqbi43g6867ylcynhqki52d9kjl4fi83smrjkhxa9"; libraryHaskellDepends = [ - base filepath prometheus-client regex-applicative unix unix-memory + base directory filepath prometheus-client regex-applicative text + unix unix-memory ]; description = "Export metrics from /proc for the current process"; license = stdenv.lib.licenses.bsd3; @@ -173588,6 +187045,7 @@ self: { description = "A monadic interface for async"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "promises" = callPackage @@ -173631,6 +187089,7 @@ self: { description = "A library for interfacing with the CMU Pronouncing Dictionary"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "proof-combinators" = callPackage @@ -173643,6 +187102,7 @@ self: { description = "Proof Combinators used in Liquid Haskell for Theorem Proving"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "propane" = callPackage @@ -173659,29 +187119,29 @@ self: { description = "Functional synthesis of images and animations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "propellor" = callPackage ({ mkDerivation, ansi-terminal, async, base, bytestring, containers , directory, exceptions, filepath, hashable, hslogger, IfElse, mtl - , network, process, split, stm, text, time, transformers, unix - , unix-compat + , network, process, split, stm, text, time, transformers + , type-errors, unix, unix-compat }: mkDerivation { pname = "propellor"; - version = "5.6.1"; - sha256 = "1wbh9vc0jkdqsrqfnxvz2498awqkr0jph9qv6c0zwbqm7zbjzn04"; + version = "5.9.1"; + sha256 = "1v4cpj4kbmhl4xkxm7gxm2z9pqf6zmr4psawaxixvsav6xpxgphr"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ ansi-terminal async base bytestring containers directory exceptions filepath hashable hslogger IfElse mtl network process split stm - text time transformers unix unix-compat + text time transformers type-errors unix unix-compat ]; executableHaskellDepends = [ base ]; description = "property-based host configuration management in haskell"; license = stdenv.lib.licenses.bsd2; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "properties" = callPackage @@ -173694,6 +187154,7 @@ self: { description = "check quickCheck properties in real time"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "property-list" = callPackage @@ -173714,6 +187175,7 @@ self: { description = "Apple property list parser"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "proplang" = callPackage @@ -173726,6 +187188,7 @@ self: { description = "A library for functional GUI development"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "props" = callPackage @@ -173774,6 +187237,7 @@ self: { description = "Bindings to the Prosper marketplace API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "proteaaudio" = callPackage @@ -173829,6 +187293,7 @@ self: { description = "neovim project manager"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "proto-lens_0_2_2_0" = callPackage @@ -173850,24 +187315,6 @@ self: { }) {}; "proto-lens" = callPackage - ({ mkDerivation, attoparsec, base, bytestring, containers, deepseq - , lens-family, lens-labels, parsec, pretty, text, transformers - , void - }: - mkDerivation { - pname = "proto-lens"; - version = "0.4.0.1"; - sha256 = "1ryz183ds1k28nvw6y1w84k29aq5mgrpv5yyqarj0g463gp137cm"; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - attoparsec base bytestring containers deepseq lens-family - lens-labels parsec pretty text transformers void - ]; - description = "A lens-based implementation of protocol buffers in Haskell"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "proto-lens_0_5_0_0" = callPackage ({ mkDerivation, base, bytestring, containers, deepseq, ghc-prim , lens-family, parsec, pretty, primitive, profunctors, QuickCheck , tagged, test-framework, test-framework-quickcheck2, text @@ -173875,8 +187322,8 @@ self: { }: mkDerivation { pname = "proto-lens"; - version = "0.5.0.0"; - sha256 = "1h0ng6vymdswapc88c84rp7d4l2l19d9kg7v10a0zbj093k9m98s"; + version = "0.5.1.0"; + sha256 = "1jv88j9spv3q679syq0fbpbq8xjggaww5644as31gmvihjfaxby1"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base bytestring containers deepseq ghc-prim lens-family parsec @@ -173888,7 +187335,6 @@ self: { ]; description = "A lens-based implementation of protocol buffers in Haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "proto-lens-arbitrary" = callPackage @@ -173897,8 +187343,8 @@ self: { }: mkDerivation { pname = "proto-lens-arbitrary"; - version = "0.1.2.6"; - sha256 = "1ij221zy2m7g9wp05ksk7labminvp6zynylfh4bc7z50qmhbwgr3"; + version = "0.1.2.7"; + sha256 = "092gdxw1jbhp0pxzgyg8jmcwiimyhzvhxh29h7c7vmvb6m956d0f"; libraryHaskellDepends = [ base bytestring containers lens-family proto-lens QuickCheck text ]; @@ -173926,6 +187372,7 @@ self: { description = "Utilities functions to proto-lens"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "proto-lens-descriptors" = callPackage @@ -173943,6 +187390,7 @@ self: { description = "Protocol buffers for describing the definitions of messages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "proto-lens-optparse" = callPackage @@ -173977,23 +187425,6 @@ self: { }) {inherit (pkgs) protobuf;}; "proto-lens-protobuf-types" = callPackage - ({ mkDerivation, base, Cabal, lens-labels, proto-lens - , proto-lens-runtime, proto-lens-setup, protobuf, text - }: - mkDerivation { - pname = "proto-lens-protobuf-types"; - version = "0.4.0.1"; - sha256 = "091284pyp4b36hnvfjsrsg6zlgw1payzwfbsy66sgbbi285mwira"; - setupHaskellDepends = [ base Cabal proto-lens-setup ]; - libraryHaskellDepends = [ - base lens-labels proto-lens proto-lens-runtime text - ]; - libraryToolDepends = [ protobuf ]; - description = "Basic protocol buffer message types"; - license = stdenv.lib.licenses.bsd3; - }) {inherit (pkgs) protobuf;}; - - "proto-lens-protobuf-types_0_5_0_0" = callPackage ({ mkDerivation, base, Cabal, lens-family, proto-lens , proto-lens-runtime, proto-lens-setup, protobuf, text }: @@ -174008,7 +187439,6 @@ self: { libraryToolDepends = [ protobuf ]; description = "Basic protocol buffer message types"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) protobuf;}; "proto-lens-protoc_0_2_2_3" = callPackage @@ -174039,28 +187469,6 @@ self: { }) {inherit (pkgs) protobuf;}; "proto-lens-protoc" = callPackage - ({ mkDerivation, base, bytestring, containers, filepath - , haskell-src-exts, lens-family, pretty, proto-lens, protobuf, text - }: - mkDerivation { - pname = "proto-lens-protoc"; - version = "0.4.0.2"; - sha256 = "1kvbv7c42qcynh25mh1vzwdzk4fhvjai031hwmsrmpqywgbgknmm"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - base containers filepath haskell-src-exts lens-family pretty - proto-lens text - ]; - libraryToolDepends = [ protobuf ]; - executableHaskellDepends = [ - base bytestring containers lens-family proto-lens text - ]; - description = "Protocol buffer compiler for the proto-lens library"; - license = stdenv.lib.licenses.bsd3; - }) {inherit (pkgs) protobuf;}; - - "proto-lens-protoc_0_5_0_0" = callPackage ({ mkDerivation, base, bytestring, containers, filepath , haskell-src-exts, lens-family, pretty, proto-lens, protobuf, text }: @@ -174080,26 +187488,9 @@ self: { ]; description = "Protocol buffer compiler for the proto-lens library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) protobuf;}; "proto-lens-runtime" = callPackage - ({ mkDerivation, base, bytestring, containers, deepseq, filepath - , lens-family, lens-labels, proto-lens, text - }: - mkDerivation { - pname = "proto-lens-runtime"; - version = "0.4.0.2"; - sha256 = "1k6biy5z890nn5b76sd3xr086sbrqr09rx1r2a7jxra2l2ymc4sr"; - libraryHaskellDepends = [ - base bytestring containers deepseq filepath lens-family lens-labels - proto-lens text - ]; - doHaddock = false; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "proto-lens-runtime_0_5_0_0" = callPackage ({ mkDerivation, base, bytestring, containers, deepseq, filepath , lens-family, proto-lens, text, vector }: @@ -174113,7 +187504,6 @@ self: { ]; doHaddock = false; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "proto-lens-setup" = callPackage @@ -174132,6 +187522,69 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "proto3-suite" = callPackage + ({ mkDerivation, aeson, aeson-pretty, attoparsec, base + , base64-bytestring, binary, bytestring, cereal, containers + , contravariant, deepseq, doctest, filepath, foldl, hashable + , haskell-src, insert-ordered-containers, lens, mtl + , neat-interpolation, optparse-generic, parsec, parsers, pretty + , pretty-show, proto3-wire, QuickCheck, quickcheck-instances + , range-set-list, safe, semigroups, swagger2, system-filepath + , tasty, tasty-hunit, tasty-quickcheck, text, transformers, turtle + , vector + }: + mkDerivation { + pname = "proto3-suite"; + version = "0.3.0.0"; + sha256 = "1dmblb640jc2smm023py3sg49k07v85qmalir5swkj154vlszgli"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson aeson-pretty attoparsec base base64-bytestring binary + bytestring cereal containers contravariant deepseq filepath foldl + hashable haskell-src insert-ordered-containers lens mtl + neat-interpolation parsec parsers pretty pretty-show proto3-wire + QuickCheck quickcheck-instances safe semigroups swagger2 + system-filepath text transformers turtle vector + ]; + executableHaskellDepends = [ + base containers optparse-generic proto3-wire range-set-list + system-filepath text turtle + ]; + testHaskellDepends = [ + aeson attoparsec base base64-bytestring bytestring cereal + containers doctest pretty-show proto3-wire QuickCheck semigroups + swagger2 tasty tasty-hunit tasty-quickcheck text transformers + turtle vector + ]; + description = "A low level library for writing out data in the Protocol Buffers wire format"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "proto3-wire" = callPackage + ({ mkDerivation, base, bytestring, cereal, containers, deepseq + , doctest, hashable, QuickCheck, safe, tasty, tasty-hunit + , tasty-quickcheck, text, unordered-containers + }: + mkDerivation { + pname = "proto3-wire"; + version = "1.0.0"; + sha256 = "1r090s4mqmx0ixr8y6xyzkgcwv0sfjwah7jhb4vr75zpzsvx0bqk"; + libraryHaskellDepends = [ + base bytestring cereal containers deepseq hashable QuickCheck safe + text unordered-containers + ]; + testHaskellDepends = [ + base bytestring cereal doctest QuickCheck tasty tasty-hunit + tasty-quickcheck text + ]; + description = "A low-level implementation of the Protocol Buffers (version 3) wire format"; + license = stdenv.lib.licenses.asl20; + }) {}; + "protobuf" = callPackage ({ mkDerivation, base, base-orphans, bytestring, cereal, containers , data-binary-ieee754, deepseq, hex, HUnit, mtl, QuickCheck, tagged @@ -174175,6 +187628,7 @@ self: { description = "Protocol Buffers via C++"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "protobuf-simple" = callPackage @@ -174248,6 +187702,7 @@ self: { description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "protocol-buffers-fork" = callPackage @@ -174265,6 +187720,7 @@ self: { description = "Parse Google Protocol Buffer specifications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "protocol-radius" = callPackage @@ -174289,8 +187745,8 @@ self: { }: mkDerivation { pname = "protocol-radius-test"; - version = "0.0.1.0"; - sha256 = "185d85d9gfylcg575rvr43p4p8wzh0mi9frvkm2cn3liwwarmk5m"; + version = "0.1.0.0"; + sha256 = "1zgfq76k86jf1jpm14mpb8iaiya0d6vz0lrmbwc0fn34hqhkcd88"; libraryHaskellDepends = [ base bytestring cereal containers protocol-radius QuickCheck quickcheck-simple transformers @@ -174330,6 +187786,7 @@ self: { description = "Protolude with lifted-base and lifted-async"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "proton-haskell" = callPackage @@ -174349,6 +187806,7 @@ self: { description = "Simple XML templating library"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prototype" = callPackage @@ -174361,6 +187819,7 @@ self: { description = "prototype-based programming on Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "prove-everywhere-server" = callPackage @@ -174382,14 +187841,15 @@ self: { description = "The server for ProveEverywhere"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "proxied" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "proxied"; - version = "0.3"; - sha256 = "09pbvf40qykrzmg4lrk5krhx30gzsldk1bz2i6bb6d18bx14skak"; + version = "0.3.1"; + sha256 = "0ldcyvzg5i4axkn5qwgkc8vrc0f0715842ca41d7237p1bh98s4r"; libraryHaskellDepends = [ base ]; description = "Make functions consume Proxy instead of undefined"; license = stdenv.lib.licenses.bsd3; @@ -174416,6 +187876,7 @@ self: { description = "A library for kind-polymorphic manipulation and inspection of Proxy values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "proxy-mapping" = callPackage @@ -174428,6 +187889,7 @@ self: { description = "Mapping of Proxy Types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "psc-ide" = callPackage @@ -174458,6 +187920,7 @@ self: { description = "Language support for the PureScript programming language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pseudo-boolean" = callPackage @@ -174494,6 +187957,7 @@ self: { description = "A tagged rose-tree with short circuited unique leaves"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pseudomacros" = callPackage @@ -174534,19 +187998,17 @@ self: { "psqueues" = callPackage ({ mkDerivation, array, base, containers, criterion, deepseq , fingertree-psqueue, ghc-prim, hashable, HUnit, mtl, PSQueue - , QuickCheck, random, tagged, test-framework, test-framework-hunit - , test-framework-quickcheck2, unordered-containers + , QuickCheck, random, tagged, tasty, tasty-hunit, tasty-quickcheck + , unordered-containers }: mkDerivation { pname = "psqueues"; - version = "0.2.7.1"; - sha256 = "1hcfxb977lzxsmd47z0snjj4xdhiwnqzif8xkpwzw28dspn44zh4"; - revision = "1"; - editedCabalFile = "0336d9ckixv4n23vy5l3xk0wavfn3z9xk105gig0zv70b3jh3r3y"; + version = "0.2.7.2"; + sha256 = "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"; libraryHaskellDepends = [ base deepseq ghc-prim hashable ]; testHaskellDepends = [ - array base deepseq ghc-prim hashable HUnit QuickCheck tagged - test-framework test-framework-hunit test-framework-quickcheck2 + array base deepseq ghc-prim hashable HUnit QuickCheck tagged tasty + tasty-hunit tasty-quickcheck ]; benchmarkHaskellDepends = [ base containers criterion deepseq fingertree-psqueue ghc-prim @@ -174574,14 +188036,13 @@ self: { ({ mkDerivation, base, generic-deriving, hspec, hspec-discover }: mkDerivation { pname = "pthread"; - version = "0.2.0"; - sha256 = "12130fpdskml0mdgbr38zki48n5ffid0diiixyn89kzcq948vvmn"; + version = "0.2.1"; + sha256 = "03whwpcf9ycdy6bhnw6k0xcwrlf5q92lcfzvh45j3wkksccf8vm6"; libraryHaskellDepends = [ base generic-deriving ]; testHaskellDepends = [ base hspec hspec-discover ]; testToolDepends = [ hspec-discover ]; description = "Bindings for the pthread library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ptr" = callPackage @@ -174592,19 +188053,20 @@ self: { }: mkDerivation { pname = "ptr"; - version = "0.16.6"; - sha256 = "1makksw42pb6088i3s755q0wyfismfq5avpwbcfvfbzcasn2kncs"; + version = "0.16.6.1"; + sha256 = "0d0ghvg2wx4z5bha33wb868wja28iafh3z5g5vsyy729nj7fp69k"; libraryHaskellDepends = [ base base-prelude bug bytestring contravariant mtl profunctors semigroups text time transformers vector ]; testHaskellDepends = [ - bug QuickCheck quickcheck-instances rerebase tasty tasty-hunit + QuickCheck quickcheck-instances rerebase tasty tasty-hunit tasty-quickcheck ]; description = "Abstractions for operations on pointers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pub" = callPackage @@ -174631,14 +188093,13 @@ self: { }: mkDerivation { pname = "publicsuffix"; - version = "0.20190115"; - sha256 = "1w73kpqb8s6yc7h66cam89gcmz6qnsgis2fqvyr9vrqs466k3j01"; + version = "0.20190826"; + sha256 = "1z6apxnp88jjpf5q7zg04r18lja7rafwlx1w2cy7d74qfrh1v2b7"; libraryHaskellDepends = [ base filepath template-haskell ]; testHaskellDepends = [ base hspec ]; benchmarkHaskellDepends = [ base criterion random ]; description = "The publicsuffix list exposed as proper Haskell types"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "publicsuffixlist" = callPackage @@ -174676,28 +188137,35 @@ self: { description = "Create the publicsuffixlist package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "publish" = callPackage - ({ mkDerivation, base, bytestring, chronologique, directory - , filepath, hinotify, pandoc, pandoc-types, template-haskell, text - , typed-process, unbeliever, unix, unordered-containers + ({ mkDerivation, base, bytestring, chronologique, deepseq + , directory, filepath, hinotify, hspec, megaparsec, pandoc + , pandoc-types, template-haskell, text, typed-process, unbeliever + , unix, unordered-containers }: mkDerivation { pname = "publish"; - version = "0.3.2"; - sha256 = "1jkmp5wsd8ffrxvj965z9pch5g8vxkfwv70hxa3lipdh46k6ll7l"; - revision = "1"; - editedCabalFile = "136hi1c3ap2dvhn79dqdn29dfq5ncilg6qap41d0wf4jp7p419a8"; + version = "2.0.1"; + sha256 = "12jhwihg6nlhs1q2cf4ivd7qw724qz1wk1i5rmi4akfga8ad7n4l"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ - base bytestring chronologique directory filepath hinotify pandoc - pandoc-types template-haskell text typed-process unbeliever unix - unordered-containers + base bytestring chronologique deepseq directory filepath hinotify + megaparsec pandoc pandoc-types template-haskell text typed-process + unbeliever unix unordered-containers + ]; + testHaskellDepends = [ + base bytestring chronologique deepseq directory filepath hinotify + hspec megaparsec pandoc pandoc-types template-haskell text + typed-process unbeliever unix unordered-containers ]; description = "Publishing tools for papers, books, and presentations"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pubnub" = callPackage @@ -174731,6 +188199,7 @@ self: { description = "PubNub Haskell SDK"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pubsub" = callPackage @@ -174750,6 +188219,7 @@ self: { description = "A library for Google/SixApart pubsub hub interaction"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "puffytools" = callPackage @@ -174780,6 +188250,7 @@ self: { description = "A CLI assistant"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pugixml" = callPackage @@ -174797,6 +188268,7 @@ self: { description = "pugixml binding"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pugs-DrIFT" = callPackage @@ -174821,6 +188293,7 @@ self: { description = "DrIFT with pugs-specific rules"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pugs-HsSyck" = callPackage @@ -174854,6 +188327,7 @@ self: { description = "Portable Haskell/POSIX layer for Pugs"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pugs-hsregex" = callPackage @@ -174866,6 +188340,7 @@ self: { description = "Haskell PCRE binding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pulse" = callPackage @@ -174922,6 +188397,7 @@ self: { description = "Multilingual unsupervised sentence tokenization with Punkt"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "punycode" = callPackage @@ -174957,6 +188433,7 @@ self: { description = "A program that displays the puppet resources associated to a node given .pp files."; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pure-cdb" = callPackage @@ -174976,6 +188453,7 @@ self: { description = "Another pure-haskell CDB (Constant Database) implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pure-fft" = callPackage @@ -174995,10 +188473,13 @@ self: { pname = "pure-io"; version = "0.2.1"; sha256 = "0pzvkd8jxw859s187n972yaq5wmwi00cxwhivgffr7z29hr0zvx9"; + revision = "1"; + editedCabalFile = "04r055y62f46lxhm4wbfmdk115fslw7lapw06r16lzb1l48m0phj"; libraryHaskellDepends = [ base containers mtl safe ]; description = "Pure IO monad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pure-priority-queue" = callPackage @@ -175011,6 +188492,7 @@ self: { description = "A pure priority queue"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pure-priority-queue-tests" = callPackage @@ -175030,6 +188512,7 @@ self: { description = "Tests for the pure-priority-queue package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pure-shuffle" = callPackage @@ -175100,8 +188583,8 @@ self: { }: mkDerivation { pname = "purebred-email"; - version = "0.1.0.0"; - sha256 = "01r6pzv0c49lk2z68jz6z9fppdhdjyg7igl6ji44w1rmgpiaircj"; + version = "0.2.0.0"; + sha256 = "1jjdia8qlwdibmfrqasyvm6qq01pxc9r66qmbyjmhz9bhdkqdd61"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -175119,67 +188602,72 @@ self: { }) {}; "purescript" = callPackage - ({ mkDerivation, aeson, aeson-better-errors, ansi-terminal - , ansi-wl-pprint, base, base-compat, blaze-html, bower-json, boxes - , bytestring, Cabal, cheapskate, clock, containers, data-ordlist - , deepseq, directory, dlist, edit-distance, file-embed, filepath - , fsnotify, gitrev, Glob, haskeline, hspec, hspec-discover - , http-types, HUnit, language-javascript, lifted-base + ({ mkDerivation, aeson, aeson-better-errors, aeson-pretty + , ansi-terminal, ansi-wl-pprint, array, base, base-compat + , blaze-html, bower-json, boxes, bytestring, Cabal, cheapskate + , clock, containers, data-ordlist, deepseq, directory, dlist + , edit-distance, file-embed, filepath, fsnotify, gitrev, Glob + , happy, haskeline, hspec, hspec-discover, http-types, HUnit + , language-javascript, lifted-async, lifted-base , microlens-platform, monad-control, monad-logger, mtl, network , optparse-applicative, parallel, parsec, pattern-arrows, process , protolude, regex-tdfa, safe, scientific, semigroups, sourcemap - , split, stm, stringsearch, syb, tasty, tasty-hspec, text, time - , transformers, transformers-base, transformers-compat - , unordered-containers, utf8-string, vector, wai, wai-websockets - , warp, websockets + , split, stm, stringsearch, syb, tasty, tasty-golden, tasty-hspec + , tasty-quickcheck, text, time, transformers, transformers-base + , transformers-compat, unordered-containers, utf8-string, vector + , wai, wai-websockets, warp, websockets }: mkDerivation { pname = "purescript"; - version = "0.12.2"; - sha256 = "1y7bcfj6fdlwmisdd75xcdkz7grch0pcmb9xsh6zwyvi6c40a3g2"; + version = "0.13.3"; + sha256 = "05cz0ilxawrcn4hm6mbd0qpkbfp0g8mcqvcscl4ghagjljgimaqv"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson aeson-better-errors ansi-terminal base base-compat blaze-html - bower-json boxes bytestring Cabal cheapskate clock containers - data-ordlist deepseq directory dlist edit-distance file-embed - filepath fsnotify Glob haskeline language-javascript lifted-base - microlens-platform monad-control monad-logger mtl parallel parsec - pattern-arrows process protolude regex-tdfa safe scientific - semigroups sourcemap split stm stringsearch syb text time - transformers transformers-base transformers-compat - unordered-containers utf8-string vector - ]; - executableHaskellDepends = [ - aeson aeson-better-errors ansi-terminal ansi-wl-pprint base + aeson aeson-better-errors aeson-pretty ansi-terminal array base base-compat blaze-html bower-json boxes bytestring Cabal cheapskate clock containers data-ordlist deepseq directory dlist edit-distance - file-embed filepath fsnotify gitrev Glob haskeline http-types - language-javascript lifted-base microlens-platform monad-control - monad-logger mtl network optparse-applicative parallel parsec - pattern-arrows process protolude regex-tdfa safe scientific - semigroups sourcemap split stm stringsearch syb text time - transformers transformers-base transformers-compat - unordered-containers utf8-string vector wai wai-websockets warp - websockets - ]; - testHaskellDepends = [ - aeson aeson-better-errors ansi-terminal base base-compat blaze-html - bower-json boxes bytestring Cabal cheapskate clock containers - data-ordlist deepseq directory dlist edit-distance file-embed - filepath fsnotify Glob haskeline hspec hspec-discover HUnit - language-javascript lifted-base microlens-platform monad-control + file-embed filepath fsnotify Glob haskeline language-javascript + lifted-async lifted-base microlens-platform monad-control monad-logger mtl parallel parsec pattern-arrows process protolude regex-tdfa safe scientific semigroups sourcemap split stm - stringsearch syb tasty tasty-hspec text time transformers + stringsearch syb text time transformers transformers-base + transformers-compat unordered-containers utf8-string vector + ]; + libraryToolDepends = [ happy ]; + executableHaskellDepends = [ + aeson aeson-better-errors aeson-pretty ansi-terminal ansi-wl-pprint + array base base-compat blaze-html bower-json boxes bytestring Cabal + cheapskate clock containers data-ordlist deepseq directory dlist + edit-distance file-embed filepath fsnotify gitrev Glob haskeline + http-types language-javascript lifted-async lifted-base + microlens-platform monad-control monad-logger mtl network + optparse-applicative parallel parsec pattern-arrows process + protolude regex-tdfa safe scientific semigroups sourcemap split stm + stringsearch syb text time transformers transformers-base + transformers-compat unordered-containers utf8-string vector wai + wai-websockets warp websockets + ]; + executableToolDepends = [ happy ]; + testHaskellDepends = [ + aeson aeson-better-errors aeson-pretty ansi-terminal array base + base-compat blaze-html bower-json boxes bytestring Cabal cheapskate + clock containers data-ordlist deepseq directory dlist edit-distance + file-embed filepath fsnotify Glob haskeline hspec hspec-discover + HUnit language-javascript lifted-async lifted-base + microlens-platform monad-control monad-logger mtl parallel parsec + pattern-arrows process protolude regex-tdfa safe scientific + semigroups sourcemap split stm stringsearch syb tasty tasty-golden + tasty-hspec tasty-quickcheck text time transformers transformers-base transformers-compat unordered-containers utf8-string vector ]; - testToolDepends = [ hspec-discover ]; + testToolDepends = [ happy hspec-discover ]; doCheck = false; description = "PureScript Programming Language Compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "purescript-bridge" = callPackage @@ -175247,6 +188735,7 @@ self: { description = "Isomorphic trivial data type definitions over JSON"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "purescript-tsd-gen" = callPackage @@ -175255,8 +188744,8 @@ self: { }: mkDerivation { pname = "purescript-tsd-gen"; - version = "0.2.0.0"; - sha256 = "1l00xyz501gaig3fci9dyz28qdd2zdajzfwnp6hj17c46g8g95f6"; + version = "0.3.0.0"; + sha256 = "0246pxgwrqbrhsgixx6mp9w1h355qz29gx1b7bmdxxxafyn2il6n"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -175270,6 +188759,7 @@ self: { description = "TypeScript Declaration File (.d.ts) generator for PureScript"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pursuit-client" = callPackage @@ -175288,6 +188778,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "push-notifications" = callPackage + ({ mkDerivation, aeson, base, base16-bytestring, binary, bytestring + , casing, conduit, convertible, data-default, HsOpenSSL + , http-conduit, http-types, network, resourcet, text, time + , transformers + }: + mkDerivation { + pname = "push-notifications"; + version = "0.2.1"; + sha256 = "004f947kmj5qq3hhs21ydgrpdh0g2cd0hk4cflabqjlxix2bs65f"; + libraryHaskellDepends = [ + aeson base base16-bytestring binary bytestring casing conduit + convertible data-default HsOpenSSL http-conduit http-types network + resourcet text time transformers + ]; + description = "Push notifications for Android and iOS"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "push-notify" = callPackage ({ mkDerivation, aeson, async, attoparsec-conduit, base , base16-bytestring, bytestring, cereal, certificate, conduit @@ -175310,6 +188819,7 @@ self: { description = "A server-side library for sending push notifications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "push-notify-apn" = callPackage @@ -175335,6 +188845,8 @@ self: { testHaskellDepends = [ aeson base hspec ]; description = "Send push notifications to mobile iOS devices"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "push-notify-ccs" = callPackage @@ -175355,6 +188867,7 @@ self: { description = "A server-side library for sending/receiving push notifications through CCS (Google Cloud Messaging)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "push-notify-general" = callPackage @@ -175374,6 +188887,7 @@ self: { description = "A general library for sending/receiving push notif. through dif. services."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pushbullet" = callPackage @@ -175423,6 +188937,7 @@ self: { description = "A Pusher.com client written in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pusher-http-haskell" = callPackage @@ -175433,8 +188948,8 @@ self: { }: mkDerivation { pname = "pusher-http-haskell"; - version = "1.5.1.7"; - sha256 = "01p168y4hwn38b4lpf3pi7pv5w46pd8gmli42q7bs3jxd6jhhppc"; + version = "1.5.1.9"; + sha256 = "020f7dxlamc02r312z3nkr9r4q69z5dw5ly3ilfy0mrzngi8dvg3"; libraryHaskellDepends = [ aeson base base16-bytestring bytestring cryptonite hashable http-client http-types memory text time transformers @@ -175467,6 +188982,7 @@ self: { description = "Implementation of the Pusher WebSocket protocol"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pushme" = callPackage @@ -175493,6 +189009,7 @@ self: { description = "Tool to synchronize directories with rsync, zfs or git-annex"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pushover" = callPackage @@ -175530,6 +189047,7 @@ self: { description = "Put-based lens library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "puzzle-draw" = callPackage @@ -175562,6 +189080,7 @@ self: { description = "Creating graphics for pencil puzzles"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "puzzle-draw-cmdline" = callPackage @@ -175581,6 +189100,7 @@ self: { description = "Creating graphics for pencil puzzles, command line tools"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "pvd" = callPackage @@ -175601,6 +189121,7 @@ self: { description = "A photo viewer daemon application with remote controlling abilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libdevil;}; "pvss" = callPackage @@ -175706,6 +189227,7 @@ self: { description = "Call python inline from haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) python;}; "pyfi" = callPackage @@ -175723,6 +189245,7 @@ self: { description = "Call python inline from haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) python;}; "python-pickle" = callPackage @@ -175747,6 +189270,7 @@ self: { description = "Serialization/deserialization using Python Pickle format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "q4c12-twofinger" = callPackage @@ -175766,6 +189290,7 @@ self: { description = "Efficient alternating finger trees"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "qc-oi-testgenerator" = callPackage @@ -175780,6 +189305,7 @@ self: { description = "Compile time generation of operation invariance tests for QuickCheck"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "qchas" = callPackage @@ -175809,6 +189335,7 @@ self: { description = "double-double and quad-double number type via libqd"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {qd = null;}; "qd-vec" = callPackage @@ -175821,6 +189348,7 @@ self: { description = "'Vec' instances for 'qd' types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "qed" = callPackage @@ -175840,6 +189368,7 @@ self: { description = "Simple prover"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "qhull-simple" = callPackage @@ -175853,6 +189382,7 @@ self: { description = "Simple bindings to Qhull, a library for computing convex hulls"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) qhull;}; "qif" = callPackage @@ -175873,6 +189403,7 @@ self: { description = "A simple QIF file format parser / printer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "qm-interpolated-string" = callPackage @@ -175899,8 +189430,8 @@ self: { }: mkDerivation { pname = "qnap-decrypt"; - version = "0.3.4"; - sha256 = "0s263zkdns50bvanjiaiavdk6bpd1ccqbckdmxwbbl2sxp2s3jxz"; + version = "0.3.5"; + sha256 = "1mm08bm2jzcnh1zal7zdiyryl3z5z91ch2vyyl0p29nbwl2q06xb"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -175928,6 +189459,8 @@ self: { pname = "qq-literals"; version = "0.1.0.0"; sha256 = "1fsl1639jzik9zrkks1badx6pd303rjdm3dmnb6cfjjb1jg50cqr"; + revision = "1"; + editedCabalFile = "1ckapl1mca1w61ifrfmaw2x06cy86chbicyb96kgp1hzkcpnx97k"; libraryHaskellDepends = [ base template-haskell ]; testHaskellDepends = [ base network-uri template-haskell ]; description = "Compile-time checked literal values via QuasiQuoters"; @@ -175936,8 +189469,8 @@ self: { "qr-imager" = callPackage ({ mkDerivation, base, binary, bytestring, cryptonite, directory - , haskell-qrencode, hspec, jose-jwt, JuicyPixels, libqrencode - , microlens, process, split, vector + , haskell-qrencode, hspec, jose-jwt, JuicyPixels, microlens + , process, qrencode, split, vector }: mkDerivation { pname = "qr-imager"; @@ -175947,12 +189480,13 @@ self: { base binary bytestring cryptonite directory haskell-qrencode jose-jwt JuicyPixels microlens process split vector ]; - libraryPkgconfigDepends = [ libqrencode ]; + libraryPkgconfigDepends = [ qrencode ]; testHaskellDepends = [ base hspec ]; description = "Library to generate images"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs) libqrencode;}; + broken = true; + }) {inherit (pkgs) qrencode;}; "qr-repa" = callPackage ({ mkDerivation, aeson, base, bytestring, cryptonite, directory @@ -175972,6 +189506,7 @@ self: { description = "Library to generate QR codes from bytestrings and objects and scale image files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "qrcode" = callPackage @@ -175992,8 +189527,8 @@ self: { }: mkDerivation { pname = "qrcode-core"; - version = "0.9.0"; - sha256 = "1kbd88p0px9p8w9v9jgxv03xsl2b7ksjsf6m5c5xffpmjilij9b4"; + version = "0.9.1"; + sha256 = "1mklz3r4z2ifzsl061rqjhrnis1a1fyvaxlp6dws4y95dy4slm92"; libraryHaskellDepends = [ base binary bytestring case-insensitive containers dlist primitive text vector @@ -176061,6 +189596,7 @@ self: { description = "Qt bindings for Haskell - C++ library"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs.qt5) qtbase;}; "qtah-examples" = callPackage @@ -176079,6 +189615,7 @@ self: { description = "Example programs for Qtah Qt bindings"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "qtah-generator" = callPackage @@ -176102,6 +189639,7 @@ self: { description = "Generator for Qtah Qt bindings"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "qtah-qt5" = callPackage @@ -176122,6 +189660,7 @@ self: { description = "Qt bindings for Haskell"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs.qt5) qtbase;}; "quack" = callPackage @@ -176144,20 +189683,15 @@ self: { }: mkDerivation { pname = "quadratic-irrational"; - version = "0.0.6"; - sha256 = "02hdxi9kjp7dccmb7ix3a0yqr7fvl2vpc588ibxq6gjd5v3716r0"; - revision = "1"; - editedCabalFile = "0i7dsl7zm9r7sgfs2cwmic3qbk15lc7kbhjd53vin89p21fh8mzm"; - libraryHaskellDepends = [ - arithmoi base containers mtl transformers - ]; + version = "0.1.0"; + sha256 = "0kfgvixvcawfhw4vv0zg2r0d6hrlak01q9isqc3n3lc63qaifxgy"; + libraryHaskellDepends = [ arithmoi base containers transformers ]; testHaskellDepends = [ - base directory doctest filepath mtl numbers QuickCheck tasty - tasty-quickcheck + arithmoi base directory doctest filepath mtl numbers QuickCheck + tasty tasty-quickcheck ]; description = "An implementation of quadratic irrationals"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "quandl-api" = callPackage @@ -176195,6 +189729,7 @@ self: { description = "Quant finance library in pure Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quantification" = callPackage @@ -176245,6 +189780,7 @@ self: { description = "An embedding of quantum computation as a Haskell arrow"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quantum-random" = callPackage @@ -176268,6 +189804,7 @@ self: { description = "Retrieve, store and manage real quantum random data"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "qudb" = callPackage @@ -176287,6 +189824,7 @@ self: { description = "Quite Useless DB"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quenya-verb" = callPackage @@ -176310,6 +189848,7 @@ self: { description = "Quenya verb conjugator"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "queryparser" = callPackage @@ -176330,6 +189869,7 @@ self: { description = "Analysis and parsing library for SQL queries"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "queryparser-demo" = callPackage @@ -176347,6 +189887,7 @@ self: { description = "Demo package containing queryparser examples"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "queryparser-hive" = callPackage @@ -176367,6 +189908,7 @@ self: { description = "Parsing for Hive SQL queries"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "queryparser-presto" = callPackage @@ -176387,6 +189929,7 @@ self: { description = "Parsing for Presto SQL queries"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "queryparser-vertica" = callPackage @@ -176407,6 +189950,7 @@ self: { description = "Parsing for Vertica SQL queries"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "querystring-pickle" = callPackage @@ -176441,6 +189985,7 @@ self: { description = "A package for prompting values from the command-line"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "queue" = callPackage @@ -176464,6 +190009,7 @@ self: { description = "A library of queuelike data structures, both functional and stateful"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quick-generator" = callPackage @@ -176495,6 +190041,7 @@ self: { description = "Slimmed down json schema language and validator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickbench" = callPackage @@ -176534,6 +190081,7 @@ self: { description = "QuickBooks API binding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickcheck-arbitrary-adt" = callPackage @@ -176558,8 +190106,8 @@ self: { }: mkDerivation { pname = "quickcheck-arbitrary-template"; - version = "0.2.0.0"; - sha256 = "1bn0g3gg7cpjwap1vgvahw91yjn0v8sy1hiy60w54gdg5rrll5j9"; + version = "0.2.1.0"; + sha256 = "1g9b39bhjcx44l8mwj5hwbjkd575prd46v16jz895q4f3ibqnfvp"; libraryHaskellDepends = [ base QuickCheck safe template-haskell ]; testHaskellDepends = [ base QuickCheck safe tasty tasty-golden tasty-hunit @@ -176567,7 +190115,6 @@ self: { ]; description = "Generate QuickCheck Gen for Sum Types"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "quickcheck-assertions" = callPackage @@ -176591,6 +190138,8 @@ self: { pname = "quickcheck-classes"; version = "0.6.1.0"; sha256 = "01mqsffks1d0wf3vwrlmalqxqha2gfqa389gqq0zr5b9y7ka5a8h"; + revision = "1"; + editedCabalFile = "1n68f8qw8if3db7x7b49lfvs0hpdvlmq0bhdjf1dvmaz0wmw932i"; libraryHaskellDepends = [ aeson base base-orphans bifunctors containers fail primitive QuickCheck semigroupoids semigroups semirings tagged transformers @@ -176602,9 +190151,48 @@ self: { ]; description = "QuickCheck common typeclasses"; license = stdenv.lib.licenses.bsd3; + }) {}; + + "quickcheck-classes_0_6_3_0" = callPackage + ({ mkDerivation, aeson, base, base-orphans, bifunctors, containers + , contravariant, fail, primitive, primitive-addr, QuickCheck + , quickcheck-classes-base, semigroupoids, semigroups, semirings + , tagged, tasty, tasty-quickcheck, transformers, vector + }: + mkDerivation { + pname = "quickcheck-classes"; + version = "0.6.3.0"; + sha256 = "0rbrxs79naffzp809523452xprh7z33j6p256qs0cnni9v9zfgjf"; + libraryHaskellDepends = [ + aeson base base-orphans bifunctors containers contravariant fail + primitive primitive-addr QuickCheck quickcheck-classes-base + semigroupoids semigroups semirings tagged transformers vector + ]; + testHaskellDepends = [ + aeson base base-orphans containers primitive QuickCheck + semigroupoids tagged tasty tasty-quickcheck transformers vector + ]; + description = "QuickCheck common typeclasses"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "quickcheck-classes-base" = callPackage + ({ mkDerivation, base, base-orphans, bifunctors, containers + , contravariant, fail, QuickCheck, semigroups, tagged, transformers + }: + mkDerivation { + pname = "quickcheck-classes-base"; + version = "0.6.0.0"; + sha256 = "193jbr3fy2451gx0hzw82xrzxp6mxz5ics6yaybbz1a3dhlz53yx"; + libraryHaskellDepends = [ + base base-orphans bifunctors containers contravariant fail + QuickCheck semigroups tagged transformers + ]; + description = "QuickCheck common typeclasses from `base`"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "quickcheck-combinators" = callPackage ({ mkDerivation, base, QuickCheck, unfoldable-restricted }: mkDerivation { @@ -176613,6 +190201,8 @@ self: { sha256 = "0qdjls949kmcv8wj3a27p4dz8nb1dq4i99zizkw7qyqn47r9ccxd"; libraryHaskellDepends = [ base QuickCheck unfoldable-restricted ]; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickcheck-enum-instances" = callPackage @@ -176629,22 +190219,26 @@ self: { "quickcheck-instances" = callPackage ({ mkDerivation, array, base, base-compat, bytestring , case-insensitive, containers, hashable, old-time, QuickCheck - , scientific, tagged, text, time, transformers, transformers-compat - , unordered-containers, uuid-types, vector + , scientific, splitmix, tagged, text, time, time-compat + , transformers, transformers-compat, unordered-containers + , uuid-types, vector }: mkDerivation { pname = "quickcheck-instances"; - version = "0.3.19"; - sha256 = "0mls8095ylk5pq2j787ary5lyn4as64414silq3zn4sky3zsx92p"; + version = "0.3.22"; + sha256 = "14asr9r7da3w7p4hjj51w2yb002nz8x0np8hdz9z4yjvi60vyrax"; + revision = "1"; + editedCabalFile = "1ln7zp6rx7ya7iwcbh8m1s1y1pdh28f64nga74f2lszmpmmd512w"; libraryHaskellDepends = [ array base base-compat bytestring case-insensitive containers - hashable old-time QuickCheck scientific tagged text time - transformers transformers-compat unordered-containers uuid-types - vector + hashable old-time QuickCheck scientific splitmix tagged text time + time-compat transformers transformers-compat unordered-containers + uuid-types vector ]; testHaskellDepends = [ base containers QuickCheck tagged uuid-types ]; + benchmarkHaskellDepends = [ base bytestring QuickCheck ]; description = "Common quickcheck instances"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -176675,6 +190269,7 @@ self: { description = "Automating QuickCheck for polymorphic and overlaoded properties"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickcheck-properties" = callPackage @@ -176698,6 +190293,7 @@ self: { description = "Combinators for Quickcheck Property construction and diagnostics"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickcheck-property-monad" = callPackage @@ -176710,6 +190306,7 @@ self: { description = "A monad for generating QuickCheck properties without Arbitrary instances"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickcheck-regex" = callPackage @@ -176726,6 +190323,7 @@ self: { description = "Generate regex-constrained strings for QuickCheck"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickcheck-relaxng" = callPackage @@ -176742,6 +190340,7 @@ self: { description = "Generate RelaxNG-constrained XML documents for QuickCheck"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickcheck-rematch" = callPackage @@ -176755,6 +190354,7 @@ self: { description = "QuickCheck support for rematch"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickcheck-report" = callPackage @@ -176771,6 +190371,7 @@ self: { description = "Customizable reports for quickcheck properties"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickcheck-script" = callPackage @@ -176790,8 +190391,8 @@ self: { ({ mkDerivation, base, QuickCheck }: mkDerivation { pname = "quickcheck-simple"; - version = "0.1.0.4"; - sha256 = "0524xkhx2qa6wfl7wf9qdjscr2djl0l08a1bk6ikigcpdabbb3l0"; + version = "0.1.1.1"; + sha256 = "0ah32y1p39p3d0696zp4mlf4bj67ggh73sb8nvf21snkwll86dai"; libraryHaskellDepends = [ base QuickCheck ]; description = "Test properties and default-mains for QuickCheck"; license = stdenv.lib.licenses.bsd3; @@ -176811,37 +190412,6 @@ self: { }) {}; "quickcheck-state-machine" = callPackage - ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers - , directory, doctest, exceptions, filelock, filepath, http-client - , lifted-async, matrix, monad-control, monad-logger, mtl, network - , persistent, persistent-postgresql, persistent-template - , pretty-show, process, QuickCheck, quickcheck-instances, random - , resourcet, servant, servant-client, servant-server, split, stm - , strict, string-conversions, tasty, tasty-hunit, tasty-quickcheck - , text, tree-diff, vector, wai, warp - }: - mkDerivation { - pname = "quickcheck-state-machine"; - version = "0.4.3"; - sha256 = "0f9hsjhrnab8gy51m4m1fn5i594ixx1qw14hsfwsakbn8f78aarx"; - libraryHaskellDepends = [ - ansi-wl-pprint base containers exceptions lifted-async matrix - monad-control mtl pretty-show QuickCheck split stm tree-diff vector - ]; - testHaskellDepends = [ - base bytestring directory doctest filelock filepath http-client - lifted-async matrix monad-control monad-logger mtl network - persistent persistent-postgresql persistent-template process - QuickCheck quickcheck-instances random resourcet servant - servant-client servant-server stm strict string-conversions tasty - tasty-hunit tasty-quickcheck text tree-diff vector wai warp - ]; - description = "Test monadic programs using state machine based models"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "quickcheck-state-machine_0_6_0" = callPackage ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers , directory, doctest, exceptions, filelock, filepath, http-client , matrix, monad-logger, mtl, network, persistent @@ -176871,6 +190441,7 @@ self: { description = "Test monadic programs using state machine based models"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickcheck-state-machine-distributed" = callPackage @@ -176895,6 +190466,7 @@ self: { description = "Test monadic programs using state machine based models"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickcheck-string-random" = callPackage @@ -176903,8 +190475,8 @@ self: { }: mkDerivation { pname = "quickcheck-string-random"; - version = "0.1.1.0"; - sha256 = "1dxazyn5h2njhjs41x2cb5nwydf87a29yxgy7wv40s6fq6ajj084"; + version = "0.1.2.0"; + sha256 = "0n5h7nlicgm8xn23pvrsxrw4y2f4j1ammpbccl6z1c37yasf1xm7"; libraryHaskellDepends = [ base QuickCheck string-random text ]; testHaskellDepends = [ base QuickCheck tasty tasty-quickcheck text @@ -176912,6 +190484,7 @@ self: { description = "Helper to build generators with Text.StringRandom"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickcheck-text" = callPackage @@ -176930,8 +190503,8 @@ self: { ({ mkDerivation, base, QuickCheck, random, transformers }: mkDerivation { pname = "quickcheck-transformer"; - version = "0.3"; - sha256 = "1lj6w1ywy8bixiwvapgb7ng5yy0nrxgvr8y9dn4kl3yvah936k4j"; + version = "0.3.1"; + sha256 = "1jbn17gp2f5ppm83vs2gd3fcbkv3km45qfjgr6qz532ks1a8k0fl"; libraryHaskellDepends = [ base QuickCheck random transformers ]; description = "A GenT monad transformer for QuickCheck library"; license = stdenv.lib.licenses.mit; @@ -176958,14 +190531,15 @@ self: { description = "Utilities for using WebDriver with QuickCheck"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickcheck-with-counterexamples" = callPackage ({ mkDerivation, base, QuickCheck, template-haskell }: mkDerivation { pname = "quickcheck-with-counterexamples"; - version = "1.1"; - sha256 = "13vnr98g9cds2jbg76z528lji5mfcxghwjj4sry0011wlrwrx1fd"; + version = "1.2"; + sha256 = "0shigzw0r59cwa22f56522qfv0lsaq1z2861lgy1lhhclzswr6zg"; libraryHaskellDepends = [ base QuickCheck template-haskell ]; description = "Get counterexamples from QuickCheck as Haskell values"; license = stdenv.lib.licenses.bsd3; @@ -177002,6 +190576,7 @@ self: { description = "Generate Main module with QuickCheck tests"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickselect" = callPackage @@ -177028,6 +190603,7 @@ self: { description = "Very fast and memory-compact query-only set and map structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickson" = callPackage @@ -177048,8 +190624,8 @@ self: { }: mkDerivation { pname = "quickspec"; - version = "2.1"; - sha256 = "0xzb442pjm26khdp46vjkzza1gyb01jzhghv3hxff2pwjs3jjsyy"; + version = "2.1.2"; + sha256 = "0igqwa195qgps5vla2a4f83rq4vdq739i94kbzzmbnniylx9wgdw"; libraryHaskellDepends = [ base constraints containers data-lens-light dlist QuickCheck quickcheck-instances random spoon template-haskell transformers @@ -177091,6 +190667,7 @@ self: { description = "A reflective batch tester for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quickwebapp" = callPackage @@ -177110,6 +190687,7 @@ self: { description = "A quick webapp generator for any file processing tool"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quipper" = callPackage @@ -177127,6 +190705,7 @@ self: { description = "An embedded, scalable functional programming language for quantum computing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quipper-core" = callPackage @@ -177143,6 +190722,7 @@ self: { description = "An embedded, scalable functional programming language for quantum computing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quipper-rendering" = callPackage @@ -177160,6 +190740,7 @@ self: { description = "An embedded, scalable functional programming language for quantum computing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quiver" = callPackage @@ -177188,6 +190769,7 @@ self: { description = "Binary serialisation support for Quivers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quiver-bytestring" = callPackage @@ -177237,6 +190819,7 @@ self: { description = "Bridge between Quiver and Iteratee paradigms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quiver-groups" = callPackage @@ -177250,6 +190833,7 @@ self: { description = "Group and chunk values within a Quiver"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quiver-http" = callPackage @@ -177268,6 +190852,7 @@ self: { description = "Adapter to stream over HTTP(s) with quiver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quiver-instances" = callPackage @@ -177284,6 +190869,7 @@ self: { description = "Extra instances for Quiver"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quiver-interleave" = callPackage @@ -177297,6 +190883,7 @@ self: { description = "Interleave values from multiple Quivers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quiver-sort" = callPackage @@ -177321,6 +190908,7 @@ self: { description = "Sort the values in a quiver"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "quoridor-hs" = callPackage @@ -177346,6 +190934,7 @@ self: { description = "A Quoridor implementation in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "qux" = callPackage @@ -177365,6 +190954,33 @@ self: { description = "Command line binary for working with the Qux language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "r3x-haskell-sdk" = callPackage + ({ mkDerivation, aeson, base, blaze-html, bytestring + , case-insensitive, containers, cookie, http-types, mtl, regex-pcre + , text, transformers, wai, warp + }: + mkDerivation { + pname = "r3x-haskell-sdk"; + version = "0.1.0.0"; + sha256 = "0yf9id71g4nkgmncplv3irs4aww1yd1il9i1gfl63266wy9h871k"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base blaze-html bytestring case-insensitive containers cookie + http-types mtl regex-pcre text transformers wai warp + ]; + executableHaskellDepends = [ + aeson base blaze-html bytestring case-insensitive containers cookie + http-types mtl regex-pcre text transformers wai warp + ]; + testHaskellDepends = [ + aeson base blaze-html bytestring case-insensitive containers cookie + http-types mtl regex-pcre text transformers wai warp + ]; + license = stdenv.lib.licenses.bsd3; }) {}; "raaz" = callPackage @@ -177374,8 +190990,8 @@ self: { }: mkDerivation { pname = "raaz"; - version = "0.2.0"; - sha256 = "0841p4yw0hd1mjx0ida662n6apfhmjyw76ar9gaysivbgh75dw4y"; + version = "0.2.1"; + sha256 = "17wbnagrikmhkn4pgbwsj9n3k37xnq1a3j58280xikph2iy4mrcq"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base bytestring deepseq vector ]; @@ -177390,7 +191006,6 @@ self: { ]; description = "The raaz cryptographic library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "rabocsv2qif" = callPackage @@ -177421,6 +191036,7 @@ self: { description = "Reverse Automatic Differentiation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "radian" = callPackage @@ -177429,11 +191045,12 @@ self: { pname = "radian"; version = "0.1"; sha256 = "150vb9wk73avh8rrsz92y1fcwlm30w4k23lbdncb8ivinqhdi4pv"; + revision = "1"; + editedCabalFile = "1mkk17rrg2z6s1qkzz7qcm6q6qvgmcmvii9rzjzgn73m1x1l5rim"; libraryHaskellDepends = [ base profunctors ]; testHaskellDepends = [ base HUnit lens ]; description = "Isomorphisms for measurements that use radians"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "radium" = callPackage @@ -177451,6 +191068,7 @@ self: { description = "Chemistry"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "radium-formula-parser" = callPackage @@ -177467,6 +191085,7 @@ self: { description = "Chemistry"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "radius" = callPackage @@ -177475,10 +191094,8 @@ self: { }: mkDerivation { pname = "radius"; - version = "0.6.0.1"; - sha256 = "19c2bv0iq4j0709rf9k9jk5q2s756bvjnr1gy630mcgp92rg8d9j"; - revision = "1"; - editedCabalFile = "1a4q1kz21v2m4wfdfaawdlkfnq9s8c5iijzcrdprrgsbi3kplrdi"; + version = "0.6.0.3"; + sha256 = "01mj0b0pasx60d93pi843vzhj31949wgf41l59jd2ps6ykhayx5b"; libraryHaskellDepends = [ base binary bytestring cryptonite iproute memory ]; @@ -177498,6 +191115,7 @@ self: { description = "Command-line tool for emitting numbers in various bases"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "radix-tree" = callPackage @@ -177543,6 +191161,8 @@ self: { attoparsec base criterion deepseq QuasiText text vector ]; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rados-haskell" = callPackage @@ -177567,6 +191187,7 @@ self: { description = "librados haskell bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {rados = null;}; "raft" = callPackage @@ -177576,8 +191197,8 @@ self: { }: mkDerivation { pname = "raft"; - version = "0.3.11.0"; - sha256 = "0rc4gvhfcslwb01lxbwmd1j3hbcbkyflm0qg43ccdkf2pj2gibz8"; + version = "0.4.0.0"; + sha256 = "07lfjq2dz9vki7pvjg6p3mp2ifazhmidcx9pbsfxnhj1h8xb80bp"; libraryHaskellDepends = [ aeson attoparsec base binary bytestring cereal containers data-default ghc-prim mtl parallel scientific split stm text time @@ -177586,6 +191207,7 @@ self: { description = "Miscellaneous Haskell utilities for data structures and data manipulation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rail-compiler-editor" = callPackage @@ -177609,6 +191231,7 @@ self: { description = "Compiler and editor for the esolang rail"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rails-session" = callPackage @@ -177633,6 +191256,7 @@ self: { description = "Decrypt Ruby on Rails sessions in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rainbow" = callPackage @@ -177667,6 +191291,7 @@ self: { description = "Tests and QuickCheck generators to accompany rainbow"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rainbox" = callPackage @@ -177728,6 +191353,7 @@ self: { description = "distributed-process node"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rakhana" = callPackage @@ -177745,6 +191371,7 @@ self: { description = "Stream based PDF library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rakuten" = callPackage @@ -177770,6 +191397,7 @@ self: { description = "The Rakuten API in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ralist" = callPackage @@ -177778,11 +191406,15 @@ self: { pname = "ralist"; version = "0.2.1.1"; sha256 = "0fy8c36ygdn609nq6wasc685y3z7g188nkhym7bpb7rigi1si7xj"; + revision = "1"; + editedCabalFile = "187idyc9b2q476xxxnpgglf818vp701ww0ir5j4dn96g0qwni8xb"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base hspec ]; benchmarkHaskellDepends = [ base criterion deepseq ]; description = "Random access list with a list compatible interface"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rallod" = callPackage @@ -177796,6 +191428,7 @@ self: { description = "'$' in reverse"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "raml" = callPackage @@ -177812,6 +191445,7 @@ self: { description = "RESTful API Modeling Language (RAML) library for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ramus" = callPackage @@ -177838,6 +191472,7 @@ self: { description = "Random variable library, with Functor, Applicative and Monad instances"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "randfile" = callPackage @@ -177857,6 +191492,7 @@ self: { description = "Program for picking a random file"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rando" = callPackage @@ -177872,6 +191508,7 @@ self: { description = "Easy-to-use randomness for livecoding"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "random" = callPackage @@ -177888,6 +191525,28 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "random-access-file" = callPackage + ({ mkDerivation, base, bytestring, concurrent-extra, containers + , criterion, directory, lrucaching, mwc-random, random, stm, unix + , unix-bytestring, unix-memory, vector + }: + mkDerivation { + pname = "random-access-file"; + version = "0.1.0.0"; + sha256 = "1cs62f6hswyzmq730y79sv0c7iifqm5v91mkam36iaigz3i2xpv0"; + libraryHaskellDepends = [ + base bytestring concurrent-extra containers directory lrucaching + stm unix unix-bytestring unix-memory + ]; + benchmarkHaskellDepends = [ + base bytestring concurrent-extra containers criterion directory + lrucaching mwc-random random stm unix unix-bytestring unix-memory + vector + ]; + description = "Random file access methods, supporting application-level page cache"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "random-access-list" = callPackage ({ mkDerivation, array, base, containers }: mkDerivation { @@ -177898,6 +191557,7 @@ self: { description = "Random-access lists in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "random-bytestring" = callPackage @@ -177906,10 +191566,8 @@ self: { }: mkDerivation { pname = "random-bytestring"; - version = "0.1.3.1"; - sha256 = "1d0f3y8n87fyyvlkn1c87d47xi50qn4cn11bnsn052860kyjda1k"; - revision = "1"; - editedCabalFile = "0gk5hcx1j06rklfd2cv63kh5dzjk8hr184riam784c7s9zg3s9a4"; + version = "0.1.3.2"; + sha256 = "16mjdb1sy7ppfbj5hshjpyrly6mklzvxip8vrqcvsfm869pkzayw"; libraryHaskellDepends = [ base bytestring mwc-random pcg-random ]; benchmarkHaskellDepends = [ async base bytestring criterion cryptonite entropy ghc-prim @@ -177940,6 +191598,7 @@ self: { description = "A Template Haskell helper for deriving Random instances"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "random-eff" = callPackage @@ -177952,6 +191611,7 @@ self: { description = "A simple random generator library for extensible-effects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "random-effin" = callPackage @@ -177964,6 +191624,7 @@ self: { description = "A simple random generator library for effin"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "random-extras" = callPackage @@ -178001,15 +191662,12 @@ self: { ({ mkDerivation, base, hmatrix, mtl, random-fu }: mkDerivation { pname = "random-fu-multivariate"; - version = "0.1.2.0"; - sha256 = "11hss3d1aa917g7w7k76zcakk82ras3046vb768yh5kayrb6a347"; - revision = "2"; - editedCabalFile = "13frafm1fdlgir64qsqy97158mv5chx98y23pdzdqiannf10w4by"; + version = "0.1.2.1"; + sha256 = "01r3jgjmhcj7wrc9ighwm0sbndsrz92l20gxh9p4rm2l90n0vxqc"; libraryHaskellDepends = [ base hmatrix mtl random-fu ]; testHaskellDepends = [ base ]; description = "Multivariate distributions for random-fu"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "random-hypergeometric" = callPackage @@ -178028,6 +191686,7 @@ self: { description = "Random variate generation from hypergeometric distributions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "random-names" = callPackage @@ -178079,6 +191738,7 @@ self: { description = "An infinite stream of random data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "random-string" = callPackage @@ -178213,17 +191873,14 @@ self: { }: mkDerivation { pname = "range-set-list"; - version = "0.1.3"; - sha256 = "1pwnriv5r093qvqzzg9s868613nf92d3h8qmqaqc5qq95hykj6z5"; - revision = "1"; - editedCabalFile = "00ddj7if8lcrqf5c882m4slm15sdwcghz7d2fz222c7jcw1ahvdr"; + version = "0.1.3.1"; + sha256 = "0m8c8qhpk9vaykqfy6gsv1csmvdclm27zv9l56ipv152k75xks0j"; libraryHaskellDepends = [ base containers deepseq hashable ]; testHaskellDepends = [ base containers deepseq hashable tasty tasty-quickcheck ]; description = "Memory efficient sets with ranges of elements"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "range-space" = callPackage @@ -178245,6 +191902,7 @@ self: { description = "A Range type with vector-space instances"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rangemin" = callPackage @@ -178257,6 +191915,7 @@ self: { description = "Linear range-min algorithms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ranges" = callPackage @@ -178305,6 +191964,7 @@ self: { description = "Like Data.Dynamic/Data.Typeable but with support for rank-1 polymorphic types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rank2classes" = callPackage @@ -178313,8 +191973,8 @@ self: { }: mkDerivation { pname = "rank2classes"; - version = "1.2.1"; - sha256 = "0dbg5hc8vy0nikyw9h99d9z5jpwfzqb3jwg1li5h281fi5cm4nb0"; + version = "1.3"; + sha256 = "1mwwismxafz43qjqh74gjd8d1hiflkilkxkwfvwhq0gx4h4i0rq1"; libraryHaskellDepends = [ base distributive template-haskell transformers ]; @@ -178324,6 +191984,7 @@ self: { description = "standard type constructor class hierarchy, only with methods of rank 2 types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rapid" = callPackage @@ -178332,12 +191993,13 @@ self: { pname = "rapid"; version = "0.1.4"; sha256 = "0f86j4r3sm74w49v9x9s58wahgcgick6z7awl6piq83iqaiy4sh7"; + revision = "1"; + editedCabalFile = "1np33ba4d7crwsknw91igrrmkvzwsfmfijirsa7dxmap5npvn3ap"; libraryHaskellDepends = [ async base containers foreign-store stm ]; description = "Rapid prototyping with GHCi: hot reloading of running components and reload-surviving values"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "rapid-term" = callPackage @@ -178354,6 +192016,7 @@ self: { description = "External terminal support for rapid"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rasa" = callPackage @@ -178379,6 +192042,7 @@ self: { description = "A modular text editor"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rasa-example-config" = callPackage @@ -178399,6 +192063,7 @@ self: { description = "Example user config for Rasa"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rasa-ext-bufs" = callPackage @@ -178414,6 +192079,7 @@ self: { description = "Rasa Ext for useful buffer utilities"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rasa-ext-cmd" = callPackage @@ -178429,6 +192095,7 @@ self: { description = "Rasa Ext for running commands"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rasa-ext-cursors" = callPackage @@ -178445,6 +192112,7 @@ self: { description = "Rasa Ext adding cursor(s)"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rasa-ext-files" = callPackage @@ -178462,6 +192130,7 @@ self: { description = "Rasa Ext for filesystem actions"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rasa-ext-logger" = callPackage @@ -178474,6 +192143,7 @@ self: { description = "Rasa Ext for logging state/actions"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rasa-ext-slate" = callPackage @@ -178491,6 +192161,7 @@ self: { description = "Rasa extension for rendering to terminal with vty"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rasa-ext-status-bar" = callPackage @@ -178503,6 +192174,7 @@ self: { description = "Rasa Ext for populating status-bar"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rasa-ext-style" = callPackage @@ -178515,6 +192187,7 @@ self: { description = "Rasa Ext managing rendering styles"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rasa-ext-views" = callPackage @@ -178532,6 +192205,7 @@ self: { description = "Rasa Ext managing rendering views"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rasa-ext-vim" = callPackage @@ -178551,6 +192225,7 @@ self: { description = "Rasa Ext for vim bindings"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rascal" = callPackage @@ -178580,6 +192255,7 @@ self: { description = "A command-line client for Reddit"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rasterific-svg" = callPackage @@ -178592,6 +192268,8 @@ self: { pname = "rasterific-svg"; version = "0.3.3.2"; sha256 = "1i0pl1hin1ipi3l0074ywd1khacpbvz3x0frx0j0hmbfiv4n3nq2"; + revision = "1"; + editedCabalFile = "19i9wlk951d85dqnmbgrnz0fg4xcw7cbv9cs2h8b440lycj3p4cv"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -178647,8 +192325,8 @@ self: { }: mkDerivation { pname = "ratel-wai"; - version = "1.0.5"; - sha256 = "07k2gzc2by6zhsk1zqp0kjk37zc6ikigdp0j5d38pd7x30a7qk7x"; + version = "1.1.0"; + sha256 = "1wgmlcazfbz4y4q9k6367i76l8cal1qgqhqbh2p69ca365w9pf56"; libraryHaskellDepends = [ base bytestring case-insensitive containers http-client ratel wai ]; @@ -178658,24 +192336,26 @@ self: { "rating-chgk-info" = callPackage ({ mkDerivation, aeson, base-noprelude, bytestring, cassava - , containers, gauge, http-client, iconv, lens, network - , optparse-generic, relude, servant, servant-client, servant-js - , servant-server, servant-swagger, swagger2, text, time, vector - , wai, warp, wreq + , containers, directory, gauge, http-client, http-client-tls, iconv + , lens, network, optparse-generic, relude, servant, servant-client + , servant-js, servant-server, servant-swagger, swagger2, tagsoup + , text, time, vector, wai, warp, wreq }: mkDerivation { pname = "rating-chgk-info"; - version = "0.3.6.3"; - sha256 = "0mwivwh33lmm7a0h2kc06n3453vbbkxzhjvm0xrb8qrrjk8mi1df"; + version = "0.3.6.5"; + sha256 = "08qfrrhc8kg95jvhv5m99zrb062w64z1jzm46zm4ah6mdjlpac18"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson base-noprelude bytestring cassava containers http-client - iconv lens network optparse-generic relude servant servant-client - servant-js servant-server servant-swagger swagger2 text time vector - wai warp wreq + http-client-tls iconv lens network optparse-generic relude servant + servant-client servant-js servant-server servant-swagger swagger2 + tagsoup text time vector wai warp wreq + ]; + executableHaskellDepends = [ + aeson base-noprelude directory relude text time ]; - executableHaskellDepends = [ base-noprelude relude text time ]; testHaskellDepends = [ base-noprelude relude ]; benchmarkHaskellDepends = [ base-noprelude gauge relude ]; description = "Client for rating.chgk.info API and CSV tables (documentation in Russian)"; @@ -178704,68 +192384,59 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "rattletrap" = callPackage - ({ mkDerivation, aeson, aeson-pretty, base, binary, binary-bits - , bytestring, clock, containers, filepath, http-client - , http-client-tls, HUnit, template-haskell, temporary, text - , transformers + "rattle" = callPackage + ({ mkDerivation, base, bytestring, cryptohash-sha256, deepseq + , directory, extra, filepath, filepattern, hashable, shake, time + , transformers, unordered-containers }: mkDerivation { - pname = "rattletrap"; - version = "6.0.2"; - sha256 = "1904g1s61zazhg6zn189m7y9v5aap39zd0gfypzd9jrk6489aqi1"; - isLibrary = true; - isExecutable = true; + pname = "rattle"; + version = "0.1"; + sha256 = "10ra58lqhi9pn92rgyv6lkz7036kbq9gr6ly5w1lqdayla10fqhr"; + revision = "1"; + editedCabalFile = "1ppli9l28b4pg6h57kx7vvy0wqacn4vx86bvrgjcwwlvlir49scw"; libraryHaskellDepends = [ - aeson aeson-pretty base binary binary-bits bytestring containers - filepath http-client http-client-tls template-haskell text - transformers + base bytestring cryptohash-sha256 deepseq directory extra filepath + hashable shake time transformers unordered-containers ]; - executableHaskellDepends = [ - aeson aeson-pretty base binary binary-bits bytestring containers - filepath http-client http-client-tls template-haskell text - transformers - ]; - testHaskellDepends = [ - aeson aeson-pretty base binary binary-bits bytestring clock - containers filepath http-client http-client-tls HUnit - template-haskell temporary text transformers - ]; - description = "Parse and generate Rocket League replays"; - license = stdenv.lib.licenses.mit; + testHaskellDepends = [ base directory extra filepattern shake ]; + description = "Forward build system, with caching and speculation"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "rattletrap_6_2_1" = callPackage + "rattletrap" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, binary, binary-bits - , bytestring, clock, containers, filepath, http-client - , http-client-tls, HUnit, template-haskell, temporary, text + , bytestring, containers, filepath, http-client, http-client-tls + , HUnit, scientific, template-haskell, temporary, text , transformers }: mkDerivation { pname = "rattletrap"; - version = "6.2.1"; - sha256 = "0pygwgq5q6mvpbkis2xiw6ac65fn8q9452qql5dc21p4mi27bwka"; + version = "9.0.1"; + sha256 = "0b6w0zb5vzm0zp5lv00n599dqsqmvxbm96zdlnw4y9gx579qxpc6"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson aeson-pretty base binary binary-bits bytestring containers - filepath http-client http-client-tls template-haskell text - transformers + filepath http-client http-client-tls scientific template-haskell + text transformers ]; executableHaskellDepends = [ aeson aeson-pretty base binary binary-bits bytestring containers - filepath http-client http-client-tls template-haskell text - transformers + filepath http-client http-client-tls scientific template-haskell + text transformers ]; testHaskellDepends = [ - aeson aeson-pretty base binary binary-bits bytestring clock - containers filepath http-client http-client-tls HUnit + aeson aeson-pretty base binary binary-bits bytestring containers + filepath http-client http-client-tls HUnit scientific template-haskell temporary text transformers ]; description = "Parse and generate Rocket League replays"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "raven-haskell" = callPackage @@ -178802,6 +192473,7 @@ self: { description = "Sentry http interface for Scotty web server"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "raw-feldspar" = callPackage @@ -178812,10 +192484,8 @@ self: { }: mkDerivation { pname = "raw-feldspar"; - version = "0.2.1"; - sha256 = "1z2qk62p6bjcj5p7r9xdc992cacdi9f5bwxzrxiqz3m3zj7qn63w"; - revision = "1"; - editedCabalFile = "1y7n3l959ydvwypb27vdkkkgfglk2jwkjblnq8kqn3540jl7qfhr"; + version = "0.3"; + sha256 = "0kxnl7vvqkmrq2cjwgrb4342bvr8a57v652f2pd5yvndamcz5m3w"; libraryHaskellDepends = [ array base constraints containers data-default-class data-hash imperative-edsl language-c-quote mtl operational-alacarte @@ -178828,6 +192498,7 @@ self: { description = "Resource-Aware Feldspar"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "raw-strings-qq" = callPackage @@ -178870,6 +192541,7 @@ self: { description = "Anonymous extensible records"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rawstring-qm" = callPackage @@ -178899,6 +192571,7 @@ self: { description = "Random Access Zippers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "razom-text-util" = callPackage @@ -178918,6 +192591,7 @@ self: { description = "Common text/parsing tools for Razom language packages"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rbpcp-api" = callPackage @@ -178954,6 +192628,7 @@ self: { description = "Mask nucleotide (EST) sequences in Fasta format"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rc" = callPackage @@ -178978,6 +192653,7 @@ self: { description = "Reservoir Computing, fast RNNs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rclient" = callPackage @@ -178997,14 +192673,14 @@ self: { "rcu" = callPackage ({ mkDerivation, atomic-primops, base, Cabal, cabal-doctest - , containers, criterion, deepseq, doctest, fail, ghc-prim, hlint + , containers, criterion, deepseq, doctest, fail, ghc-prim , optparse-applicative, parallel, primitive, rdtsc, time , transformers }: mkDerivation { pname = "rcu"; - version = "0.2.3"; - sha256 = "17w0y843z5mr095cazfrz1jnf731zjsnd6vhgkx8ppras05vs371"; + version = "0.2.4"; + sha256 = "1zl6gl6b9x2ppxzrvb356216f7gi1kpwxsqb0w220f86wyzf9gbr"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal cabal-doctest ]; @@ -179012,14 +192688,13 @@ self: { atomic-primops base fail ghc-prim parallel primitive transformers ]; executableHaskellDepends = [ base transformers ]; - testHaskellDepends = [ base doctest hlint parallel ]; + testHaskellDepends = [ base doctest parallel ]; benchmarkHaskellDepends = [ base containers criterion deepseq ghc-prim optparse-applicative primitive rdtsc time transformers ]; description = "Read-Copy-Update for Haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "rdf" = callPackage @@ -179028,8 +192703,10 @@ self: { }: mkDerivation { pname = "rdf"; - version = "0.1.0.2"; - sha256 = "0vqznprx5r7lqyj8b850pfyy7mvin55l1v4krmi1wyacynv977c8"; + version = "0.1.0.3"; + sha256 = "0bypvzr4xj3nvq839slhjcl6lzs4zp34yg6q3hdkwa5vgall6x2s"; + revision = "1"; + editedCabalFile = "0x5zdjbyrpap5qs40yl0m96fcgy11f6s5r3v0n8n5904cxa5sqy3"; libraryHaskellDepends = [ attoparsec base bytestring deepseq dlist fgl text transformers ]; @@ -179038,7 +192715,6 @@ self: { ]; description = "Representation and Incremental Processing of RDF Data"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "rdf4h" = callPackage @@ -179068,6 +192744,7 @@ self: { description = "A library for RDF processing in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rdioh" = callPackage @@ -179091,6 +192768,7 @@ self: { description = "A Haskell wrapper for Rdio's API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rdtsc" = callPackage @@ -179145,6 +192823,7 @@ self: { description = "A binding to React based on the Flux application architecture for GHCJS"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "react-flux-servant" = callPackage @@ -179157,6 +192836,7 @@ self: { description = "Allow react-flux stores to send requests to a servant server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "react-haskell" = callPackage @@ -179175,6 +192855,7 @@ self: { description = "Haskell React bindings"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "react-tutorial-haskell-server" = callPackage @@ -179193,6 +192874,7 @@ self: { description = "react-tutorial web server"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reaction-logic" = callPackage @@ -179208,6 +192890,7 @@ self: { description = "pluggable pure logic serializable reactor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reactive" = callPackage @@ -179238,6 +192921,7 @@ self: { description = "FRP (functional reactive programming) framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reactive-balsa" = callPackage @@ -179259,7 +192943,6 @@ self: { ]; description = "Programmatically edit MIDI events via ALSA and reactive-banana"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "reactive-banana" = callPackage @@ -179282,7 +192965,6 @@ self: { ]; description = "Library for functional reactive programming (FRP)"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "reactive-banana-automation" = callPackage @@ -179291,8 +192973,8 @@ self: { }: mkDerivation { pname = "reactive-banana-automation"; - version = "0.5.1"; - sha256 = "0wflw7rpknjj6qpf2ma1cxd03xg5v25rmfrmnli472h55jdcwdnz"; + version = "0.5.2"; + sha256 = "1gd6d3r0dsawi6zkr4fnkyrszikg1xzgfavxsaaswl4rw09znr7x"; libraryHaskellDepends = [ base reactive-banana stm time transformers ]; @@ -179300,6 +192982,7 @@ self: { description = "home (etc) automation using reactive-banana"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reactive-banana-bunch" = callPackage @@ -179315,7 +192998,6 @@ self: { ]; description = "Extend reactive-banana to multiple events per time point"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "reactive-banana-gi-gtk" = callPackage @@ -179333,6 +193015,7 @@ self: { description = "Simple reactive programming with GTK GObject Introspection"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reactive-banana-sdl" = callPackage @@ -179350,6 +193033,7 @@ self: { description = "Reactive Banana bindings for SDL"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reactive-banana-sdl2" = callPackage @@ -179363,6 +193047,7 @@ self: { description = "Reactive Banana integration with SDL2"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reactive-banana-threepenny" = callPackage @@ -179378,6 +193063,7 @@ self: { description = "Examples for the reactive-banana library, using threepenny-gui"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reactive-banana-wx" = callPackage @@ -179396,6 +193082,7 @@ self: { description = "Examples for the reactive-banana library, using wxHaskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reactive-fieldtrip" = callPackage @@ -179413,6 +193100,7 @@ self: { description = "Connect Reactive and FieldTrip"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reactive-glut" = callPackage @@ -179429,6 +193117,7 @@ self: { description = "Connects Reactive and GLUT"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reactive-haskell" = callPackage @@ -179471,7 +193160,6 @@ self: { ]; description = "Process MIDI events via reactive-banana and JACK"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "reactive-midyim" = callPackage @@ -179491,7 +193179,6 @@ self: { ]; description = "Process MIDI events via reactive-banana"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "reactive-thread" = callPackage @@ -179509,6 +193196,7 @@ self: { description = "Reactive programming via imperative threads"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reactivity" = callPackage @@ -179526,7 +193214,7 @@ self: { ]; description = "An alternate implementation of push-pull FRP"; license = "GPL"; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = stdenv.lib.platforms.none; }) {}; "reactor" = callPackage @@ -179544,14 +193232,15 @@ self: { description = "Reactor - task parallel reactive programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "read-bounded" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "read-bounded"; - version = "0.1.1.1"; - sha256 = "0l4hhnk1s1a5hqda2bw9dgmid0xcqy40wa49dwv2p6314r9074gx"; + version = "0.1.1.2"; + sha256 = "1h525al4aavplyimhxsvk96cajl8m7rnlqq3wxh9gqlc1sy4ywcg"; libraryHaskellDepends = [ base ]; description = "Class for reading bounded values"; license = stdenv.lib.licenses.bsd3; @@ -179593,6 +193282,7 @@ self: { description = "Read IO library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "readable" = callPackage @@ -179641,28 +193331,28 @@ self: { description = "Readline with variables (setX/getY) wrapped in state vars"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "readme-lhs" = callPackage - ({ mkDerivation, attoparsec, base, containers, filepath, foldl - , HUnit, optparse-applicative, protolude, tasty, tasty-hunit, text + ({ mkDerivation, base, containers, doctest, optparse-generic + , pandoc, pandoc-types, protolude, tasty, text }: mkDerivation { pname = "readme-lhs"; - version = "0.1.0.0"; - sha256 = "1pn0an37w4kgcn93a6qm0jxqsj882mhjwrnvl7hc5vp1960nqs6j"; + version = "0.2.0"; + sha256 = "0xwc2gqf23g87mi16miyi0nxy4wh33rki324biv3wh7xbpj03kpx"; isLibrary = true; isExecutable = true; - libraryHaskellDepends = [ attoparsec base foldl protolude text ]; + libraryHaskellDepends = [ + base containers pandoc pandoc-types protolude text + ]; executableHaskellDepends = [ - base containers filepath foldl optparse-applicative protolude text + base optparse-generic pandoc protolude ]; - testHaskellDepends = [ - base HUnit protolude tasty tasty-hunit text - ]; - description = "See readme.lhs"; + testHaskellDepends = [ base doctest protolude tasty ]; + description = "See readme.md"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "readpyc" = callPackage @@ -179677,6 +193367,7 @@ self: { description = "Read and pretty print Python bytecode (.pyc) files."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "readshp" = callPackage @@ -179695,6 +193386,7 @@ self: { description = "Code for reading ESRI Shapefiles"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "real-day-end" = callPackage @@ -179723,6 +193415,74 @@ self: { description = "A really simple XML parser"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "reanimate" = callPackage + ({ mkDerivation, attoparsec, base, bytestring, containers + , cubicbezier, diagrams, diagrams-contrib, diagrams-core + , diagrams-lib, diagrams-svg, directory, filepath, fsnotify + , hashable, JuicyPixels, lens, linear, matrices, matrix, mtl + , open-browser, palette, parallel, process, reanimate-svg + , svg-builder, text, time, websockets, xml + }: + mkDerivation { + pname = "reanimate"; + version = "0.1.5.0"; + sha256 = "1jh9inlx92qn3klzi9385nfvphrwmmdbbs2gql019bdwmyhd815x"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + attoparsec base bytestring containers cubicbezier diagrams + diagrams-contrib diagrams-core diagrams-lib diagrams-svg directory + filepath fsnotify hashable JuicyPixels lens linear matrices matrix + mtl open-browser palette parallel process reanimate-svg svg-builder + text time websockets xml + ]; + description = "Animation library based on SVGs"; + license = stdenv.lib.licenses.publicDomain; + }) {}; + + "reanimate-svg" = callPackage + ({ mkDerivation, attoparsec, base, bytestring, containers, hspec + , JuicyPixels, lens, linear, mtl, scientific, svg-tree, text + , transformers, vector, xml + }: + mkDerivation { + pname = "reanimate-svg"; + version = "0.9.0.0"; + sha256 = "0x4d06vsxz3845w05d4qnfbmws2bc7vxpny8hiqbv1wwgjwig327"; + libraryHaskellDepends = [ + attoparsec base bytestring containers JuicyPixels lens linear mtl + scientific text transformers vector xml + ]; + testHaskellDepends = [ + attoparsec base hspec linear scientific svg-tree + ]; + description = "SVG file loader and serializer"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "reason-export" = callPackage + ({ mkDerivation, base, bytestring, containers, Diff, directory + , formatting, hashable, hspec, hspec-core, HUnit, mtl, QuickCheck + , quickcheck-instances, text, time, wl-pprint-text + }: + mkDerivation { + pname = "reason-export"; + version = "0.1.2.0"; + sha256 = "0mgzpkxm38r4ghi418cp5axksh9lz3l6d439h8987rsf5n5bcndy"; + libraryHaskellDepends = [ + base bytestring containers directory formatting hashable mtl text + time wl-pprint-text + ]; + testHaskellDepends = [ + base bytestring containers Diff hashable hspec hspec-core HUnit + QuickCheck quickcheck-instances text time + ]; + description = "Generate Reason types from Haskell"; + license = stdenv.lib.licenses.mit; }) {}; "reasonable-lens" = callPackage @@ -179735,6 +193495,7 @@ self: { description = "Lens implementation. It is more small but adequately."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reasonable-operational" = callPackage @@ -179759,10 +193520,8 @@ self: { }: mkDerivation { pname = "rebase"; - version = "1.3"; - sha256 = "02g14vv4qbzq9vakkr55960r386jmkivgm5ld782b1bqyvpfsfh7"; - revision = "1"; - editedCabalFile = "1yz51pghns6xanzdnlkagghpzwnkl7wjqnqcp5gs0zs1iywrbl45"; + version = "1.3.1.1"; + sha256 = "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"; libraryHaskellDepends = [ base base-prelude bifunctors bytestring containers contravariant contravariant-extras deepseq dlist either fail hashable mtl @@ -179809,6 +193568,7 @@ self: { description = "Anonymous records"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "record-aeson" = callPackage @@ -179826,19 +193586,22 @@ self: { description = "Instances of \"aeson\" classes for the \"record\" types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "record-dot-preprocessor" = callPackage - ({ mkDerivation, base, extra, filepath }: + ({ mkDerivation, base, extra, filepath, ghc, record-hasfield + , uniplate + }: mkDerivation { pname = "record-dot-preprocessor"; - version = "0.1.5"; - sha256 = "1vap09g7gh9nsr4x4bfysx3ha8kc9vpx252j0fdmffbivyj5d2wl"; - revision = "1"; - editedCabalFile = "1hggzp6fh071f2d11pn1y2rgczgxgvcfw86717gpxsm34kr60pgb"; - isLibrary = false; + version = "0.2"; + sha256 = "1k2bdinvygn00l12am5n8m2i3vqp6h555mcj6d8xshy320v85np8"; + isLibrary = true; isExecutable = true; - executableHaskellDepends = [ base extra filepath ]; + libraryHaskellDepends = [ base extra ghc uniplate ]; + executableHaskellDepends = [ base extra ]; + testHaskellDepends = [ base extra filepath record-hasfield ]; description = "Preprocessor to allow record.field syntax"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -179858,6 +193621,7 @@ self: { description = "Generic encoding of records"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "record-gl" = callPackage @@ -179882,6 +193646,19 @@ self: { description = "Utilities for working with OpenGL's GLSL shading language and Nikita Volkov's \"Record\"s"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "record-hasfield" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "record-hasfield"; + version = "1.0"; + sha256 = "1jlyhj4nlj4hrypdcv7393nccjmfjnh1311incgqhm5wzigjygaj"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base ]; + description = "A version of GHC.Records as available in future GHCs."; + license = stdenv.lib.licenses.bsd3; }) {}; "record-preprocessor" = callPackage @@ -179902,6 +193679,7 @@ self: { description = "Compiler preprocessor introducing a syntactic extension for anonymous records"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "record-syntax" = callPackage @@ -179926,6 +193704,19 @@ self: { description = "A library for parsing and processing the Haskell syntax sprinkled with anonymous records"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "record-wrangler" = callPackage + ({ mkDerivation, base, template-haskell }: + mkDerivation { + pname = "record-wrangler"; + version = "0.1.1.0"; + sha256 = "1lxbmb73k2ah663na2r7rgj6gxa6z971f6k8gcjbkbf095di1xlc"; + libraryHaskellDepends = [ base template-haskell ]; + testHaskellDepends = [ base ]; + description = "Alter your records with ease"; + license = stdenv.lib.licenses.asl20; }) {}; "records" = callPackage @@ -179940,6 +193731,7 @@ self: { description = "A flexible record system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "records-sop" = callPackage @@ -179948,10 +193740,8 @@ self: { }: mkDerivation { pname = "records-sop"; - version = "0.1.0.2"; - sha256 = "187x3cq7h1rkmbv8qp810fcnr5y4byqwgw329v7f0s0px2vmg4h5"; - revision = "1"; - editedCabalFile = "082f4dmdvbnv6jq28mrva8clxif366vcbn9m8d1bb8lcf9h3qxjb"; + version = "0.1.0.3"; + sha256 = "120kb6z4si5wqkahbqxqhm3qb8xpc9ivwg293ymz8a4ri1hdr0a5"; libraryHaskellDepends = [ base deepseq generics-sop ghc-prim ]; testHaskellDepends = [ base deepseq generics-sop hspec should-not-typecheck @@ -179975,14 +193765,15 @@ self: { description = "Template Haskell declarations for the records package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "recursion" = callPackage ({ mkDerivation, base, composition-prelude }: mkDerivation { pname = "recursion"; - version = "2.2.2.0"; - sha256 = "1ij7yxh06zb7fjkba2ghq88kvhr1rw4jlc0miwqfl53f6ssvcklf"; + version = "2.2.4.0"; + sha256 = "0n50nv1lzahy2mfvia5v41f8jx9w2yygzq584xbkirazhj73sjbx"; libraryHaskellDepends = [ base composition-prelude ]; description = "A recursion schemes library for GHC"; license = stdenv.lib.licenses.bsd3; @@ -179994,35 +193785,17 @@ self: { }: mkDerivation { pname = "recursion-schemes"; - version = "5.1.1"; - sha256 = "0qw112jkl6jzy3wcyxvv5liv16mxiiqi5v5zyzazl9p8h2wy1rb0"; - libraryHaskellDepends = [ - base base-orphans comonad free template-haskell th-abstraction - transformers - ]; - testHaskellDepends = [ base HUnit template-haskell transformers ]; - description = "Representing common recursion patterns as higher-order functions"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "recursion-schemes_5_1_1_1" = callPackage - ({ mkDerivation, base, base-orphans, comonad, free, HUnit - , template-haskell, th-abstraction, transformers - }: - mkDerivation { - pname = "recursion-schemes"; - version = "5.1.1.1"; - sha256 = "0f9f1x1vjdqk6bzgsiqv7z7fq955dlkca3m0l4sc2mnpds3b0cgj"; + version = "5.1.3"; + sha256 = "0a0mkwy3sxg5f1mdlblpn0xl3lwgilnmzs94jqab0pqx9gjkc5xj"; revision = "1"; - editedCabalFile = "19sqa4v3knasdmfzwmal1pi0yfj3zllrdr6n1chjvy1b6fa5za7z"; + editedCabalFile = "0zxcmga4fy42arbyv1kzbyfnsghnll3prkpva58x654x4cg4diwk"; libraryHaskellDepends = [ base base-orphans comonad free template-haskell th-abstraction transformers ]; testHaskellDepends = [ base HUnit template-haskell transformers ]; description = "Representing common recursion patterns as higher-order functions"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + license = stdenv.lib.licenses.bsd2; }) {}; "recursion-schemes-ext" = callPackage @@ -180059,7 +193832,6 @@ self: { ]; description = "Count lines in files and display them hierarchically"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "recursors" = callPackage @@ -180073,6 +193845,7 @@ self: { description = "Auto-generate final encodings and their isomorphisms using Template Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "red-black-record" = callPackage @@ -180081,13 +193854,14 @@ self: { }: mkDerivation { pname = "red-black-record"; - version = "1.1.0.0"; - sha256 = "12q3b44qcb8zp5m0zrbj88kigk00rm6ljrnpwd29wv1gdwzd15af"; + version = "2.0.4.0"; + sha256 = "1wcg8a3aql1jmnfl7q5gzjgxl4z6780zgp8w10v3g52ilcdq4myn"; libraryHaskellDepends = [ base sop-core ]; testHaskellDepends = [ aeson base bytestring doctest profunctors sop-core tasty tasty-hunit text ]; + doHaddock = false; description = "Extensible records and variants indexed by a type-level Red-Black tree"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -180144,6 +193918,7 @@ self: { description = "Library for interfacing with Reddit's API"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "redis" = callPackage @@ -180161,6 +193936,7 @@ self: { description = "A driver for Redis key-value database"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "redis-hs" = callPackage @@ -180240,6 +194016,7 @@ self: { description = "Simple redis bindings for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "redland" = callPackage @@ -180253,6 +194030,7 @@ self: { description = "Redland RDF library bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {raptor2 = null; redland = null;}; "redo" = callPackage @@ -180296,6 +194074,7 @@ self: { description = "Simplify a set of equations by removing redundancies"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reducers" = callPackage @@ -180307,6 +194086,8 @@ self: { pname = "reducers"; version = "3.12.3"; sha256 = "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"; + revision = "1"; + editedCabalFile = "1v0r75wkaahxdv4y0sqgcikvgwymiz12fa8nkk59n1g4x9nng9wb"; libraryHaskellDepends = [ array base bytestring containers fingertree hashable semigroupoids semigroups text transformers unordered-containers @@ -180341,6 +194122,7 @@ self: { description = "Reed-Solomon Erasure Coding in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reenact" = callPackage @@ -180355,6 +194137,7 @@ self: { description = "A reimplementation of the Reactive library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reexport-crypto-random" = callPackage @@ -180377,6 +194160,7 @@ self: { description = "Generic Mutable Ref Abstraction Layer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ref-fd" = callPackage @@ -180389,6 +194173,7 @@ self: { description = "A type class for monads with references using functional dependencies"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ref-mtl" = callPackage @@ -180401,6 +194186,7 @@ self: { description = "A type class for monads with references compatible with the mtl2 library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ref-tf" = callPackage @@ -180414,7 +194200,6 @@ self: { libraryHaskellDepends = [ base stm transformers ]; description = "A type class for monads with references using type families"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "refact" = callPackage @@ -180448,6 +194233,7 @@ self: { description = "Container with element counts"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reference" = callPackage @@ -180499,22 +194285,44 @@ self: { description = "A command-line tool for pasting to https://www.refheap.com"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "refined" = callPackage - ({ mkDerivation, base, deepseq, exceptions, mtl, prettyprinter - , template-haskell, transformers + ({ mkDerivation, aeson, base, deepseq, doctest, exceptions, mtl + , prettyprinter, QuickCheck, template-haskell, transformers }: mkDerivation { pname = "refined"; - version = "0.3.0.0"; - sha256 = "106gh7wv6nldgl8rw722n7cam59x34vnr2an6l9hkivfp4pgkkks"; + version = "0.4.2.2"; + sha256 = "1gdfhmj8f1abxflxmqyfibz0hdaayr932f04vchygdvdb812av60"; libraryHaskellDepends = [ - base deepseq exceptions mtl prettyprinter template-haskell - transformers + aeson base deepseq exceptions mtl prettyprinter QuickCheck + template-haskell transformers ]; + testHaskellDepends = [ base doctest ]; description = "Refinement types with static and runtime checking"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "refinery" = callPackage + ({ mkDerivation, base, containers, exceptions, mmorph, mtl, pipes + , semigroupoids + }: + mkDerivation { + pname = "refinery"; + version = "0.1.0.0"; + sha256 = "1g18ih1122h61jxgi72kxc9b4x7nvfxl807km46x150x1f3m7wvl"; + libraryHaskellDepends = [ + base containers exceptions mmorph mtl pipes semigroupoids + ]; + testHaskellDepends = [ + base containers exceptions mmorph mtl pipes semigroupoids + ]; + description = "Toolkit for building proof automation systems"; + license = stdenv.lib.licenses.bsd3; }) {}; "reflection" = callPackage @@ -180523,11 +194331,29 @@ self: { pname = "reflection"; version = "2.1.4"; sha256 = "0kf4a5ijw6jfnfibjcrpdy9vzh1n6v2pxia8dhyyqdissiwc8bzj"; + revision = "1"; + editedCabalFile = "05ibi4ivvh87d96xl09yh0day08p5www5vp568mvn2dp37rxyngc"; libraryHaskellDepends = [ base template-haskell ]; description = "Reifies arbitrary terms into types that can be reflected back into terms"; license = stdenv.lib.licenses.bsd3; }) {}; + "reflection_2_1_5" = callPackage + ({ mkDerivation, base, hspec, hspec-discover, QuickCheck + , template-haskell + }: + mkDerivation { + pname = "reflection"; + version = "2.1.5"; + sha256 = "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"; + libraryHaskellDepends = [ base template-haskell ]; + testHaskellDepends = [ base hspec QuickCheck ]; + testToolDepends = [ hspec-discover ]; + description = "Reifies arbitrary terms into types that can be reflected back into terms"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "reflection-extras" = callPackage ({ mkDerivation, aeson, base, constraints, lens, reflection, tagged }: @@ -180541,6 +194367,7 @@ self: { description = "Utilities for the reflection package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reflection-without-remorse" = callPackage @@ -180556,33 +194383,32 @@ self: { }) {}; "reflex" = callPackage - ({ mkDerivation, base, bifunctors, comonad, containers, criterion - , data-default, deepseq, dependent-map, dependent-sum, directory - , exception-transformers, filemanip, filepath, haskell-src-exts - , haskell-src-meta, hlint, lens, loch-th, MemoTrie, monad-control - , monoidal-containers, mtl, prim-uniq, primitive, process, random - , ref-tf, reflection, semigroupoids, semigroups, split, stm, syb - , template-haskell, these, time, transformers, transformers-compat - , unbounded-delays + ({ mkDerivation, base, bifunctors, comonad, constraints-extras + , containers, criterion, data-default, deepseq, dependent-map + , dependent-sum, directory, exception-transformers, filemanip + , filepath, haskell-src-exts, haskell-src-meta, hlint, lens + , loch-th, MemoTrie, monad-control, monoidal-containers, mtl + , prim-uniq, primitive, process, profunctors, random, ref-tf + , reflection, semialign, semigroupoids, split, stm, syb + , template-haskell, these, these-lens, time, transformers + , unbounded-delays, witherable }: mkDerivation { pname = "reflex"; - version = "0.5"; - sha256 = "0c9idjkbnw822ky7dn374vq43kivdy0znf2k2w43q7yw7snjh09r"; - revision = "1"; - editedCabalFile = "1l5xsinln6wyj726ilqvvg4y0qk645j5ffiyhmda8qi9rmyk2a2x"; + version = "0.6.2.4"; + sha256 = "1gm8w2ri16apy3b13i2f17pk1nsrsi0vbcrkckd1abbm4r4i16cd"; libraryHaskellDepends = [ - base bifunctors comonad containers data-default dependent-map - dependent-sum exception-transformers haskell-src-exts + base bifunctors comonad constraints-extras containers data-default + dependent-map dependent-sum exception-transformers haskell-src-exts haskell-src-meta lens MemoTrie monad-control monoidal-containers - mtl prim-uniq primitive random ref-tf reflection semigroupoids - semigroups stm syb template-haskell these time transformers - transformers-compat unbounded-delays + mtl prim-uniq primitive profunctors random ref-tf reflection + semialign semigroupoids stm syb template-haskell these time + transformers unbounded-delays witherable ]; testHaskellDepends = [ base bifunctors containers deepseq dependent-map dependent-sum directory filemanip filepath hlint lens monoidal-containers mtl - ref-tf semigroups split these transformers + ref-tf semialign split these these-lens transformers ]; benchmarkHaskellDepends = [ base containers criterion deepseq dependent-map dependent-sum @@ -180591,6 +194417,7 @@ self: { description = "Higher-order Functional Reactive Programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reflex-animation" = callPackage @@ -180608,6 +194435,51 @@ self: { description = "Continuous animations support for reflex"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "reflex-backend-wai" = callPackage + ({ mkDerivation, base, containers, http-types, mtl, reflex + , reflex-basic-host, stm, wai, warp + }: + mkDerivation { + pname = "reflex-backend-wai"; + version = "0.1.0.0"; + sha256 = "1x8lagl5p7jgrzivar35l4gcsfisskvh4dnxfiqwd5vd9ghibpia"; + revision = "1"; + editedCabalFile = "199p3v0gmp5yah30jb6z9s7cv3w8cc356wh7f6nagkg76kg25p43"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base containers mtl reflex reflex-basic-host stm wai warp + ]; + executableHaskellDepends = [ base http-types reflex wai ]; + description = "Reflex interface to `wai`"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "reflex-basic-host" = callPackage + ({ mkDerivation, base, dependent-map, dependent-sum, mtl, primitive + , ref-tf, reflex, stm + }: + mkDerivation { + pname = "reflex-basic-host"; + version = "0.1"; + sha256 = "0fxd46i6jp71dcdmgl1r5hbd9a85fkl5bxhi0dr1gzhy1b9aqc1g"; + revision = "1"; + editedCabalFile = "0pqp4fi1qxcivm61x9lsvwny5yv0vrnb1n2v9zx06rqw914yriam"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base dependent-map dependent-sum mtl primitive ref-tf reflex stm + ]; + executableHaskellDepends = [ base mtl reflex ]; + description = "A basic `reflex` host for backend work"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reflex-dom" = callPackage @@ -180616,8 +194488,8 @@ self: { }: mkDerivation { pname = "reflex-dom"; - version = "0.4"; - sha256 = "0l559x7w1r1mz8j3ln6x0l2kkl1l494q8zm5gai0rcpz9r1nqn9z"; + version = "0.5"; + sha256 = "167yghrwf6fay03y46xf87p9bhr6s3rlxn0yk5vnx1s5i95ps1x5"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -180666,33 +194538,42 @@ self: { "reflex-dom-core" = callPackage ({ mkDerivation, aeson, base, bifunctors, bimap, blaze-builder - , bytestring, constraints, containers, contravariant, data-default - , dependent-map, dependent-sum, dependent-sum-template, directory - , exception-transformers, ghcjs-dom, hlint, jsaddle, jsaddle-warp - , keycode, lens, linux-namespaces, monad-control, mtl, network-uri - , primitive, process, ref-tf, reflex, semigroups, stm - , template-haskell, temporary, text, these, transformers, unix - , zenc + , bytestring, chrome-test-utils, constraints, constraints-extras + , containers, contravariant, data-default, dependent-map + , dependent-sum, dependent-sum-template, directory + , exception-transformers, exceptions, filepath, ghcjs-dom, hlint + , hspec, hspec-webdriver, http-types, HUnit, jsaddle, jsaddle-warp + , keycode, lens, lifted-base, monad-control, mtl, network + , network-uri, primitive, process, random, ref-tf, reflex + , semigroups, silently, stm, template-haskell, temporary, text + , these, transformers, unix, wai, wai-websockets, warp, webdriver + , websockets, zenc }: mkDerivation { pname = "reflex-dom-core"; - version = "0.4"; - sha256 = "1p844d99zj3v54cn8ys12hbyan4f0y3nhgi42b03cq10az2pvsdv"; + version = "0.5"; + sha256 = "1vzlrqgl48krvm58w4mg5s3xwyc565rgjy7f2g1rxxljr30z95p4"; libraryHaskellDepends = [ aeson base bifunctors bimap blaze-builder bytestring constraints containers contravariant data-default dependent-map dependent-sum dependent-sum-template directory exception-transformers ghcjs-dom - jsaddle keycode lens monad-control mtl network-uri primitive ref-tf - reflex semigroups stm template-haskell text these transformers unix - zenc + jsaddle keycode lens monad-control mtl network-uri primitive random + ref-tf reflex semigroups stm template-haskell text these + transformers unix zenc ]; testHaskellDepends = [ - base hlint jsaddle jsaddle-warp linux-namespaces process reflex - temporary unix + aeson base bytestring chrome-test-utils constraints + constraints-extras containers dependent-map dependent-sum + dependent-sum-template directory exceptions filepath ghcjs-dom + hlint hspec hspec-webdriver http-types HUnit jsaddle jsaddle-warp + lens lifted-base network process random ref-tf reflex silently + temporary text wai wai-websockets warp webdriver websockets ]; description = "Functional Reactive Web Apps with Reflex"; license = stdenv.lib.licenses.bsd3; - }) {}; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {chrome-test-utils = null;}; "reflex-dom-fragment-shader-canvas" = callPackage ({ mkDerivation, base, containers, ghcjs-dom, jsaddle, lens @@ -180714,20 +194595,39 @@ self: { }) {}; "reflex-dom-helpers" = callPackage - ({ mkDerivation, base, reflex, reflex-dom, template-haskell }: + ({ mkDerivation, base, reflex, reflex-dom-core, template-haskell + , text + }: mkDerivation { pname = "reflex-dom-helpers"; - version = "0.1.0.0"; - sha256 = "0fzvw9wd8465a0i0qnvnqngfs2fql13skxsrr9m1qivr3n3h7jhi"; + version = "0.2.0.1"; + sha256 = "1c0sa8i4rln7whmivmwlmivrj8zc45v25zsi1qwqx5d00mjbmkyk"; libraryHaskellDepends = [ - base reflex reflex-dom template-haskell + base reflex reflex-dom-core template-haskell text ]; testHaskellDepends = [ base ]; - description = "Element tag helpers for working with reflex-dom"; + description = "Html tag helpers for reflex-dom"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "reflex-dom-svg" = callPackage + ({ mkDerivation, base, containers, lens, reflex, reflex-dom-core + , safe, text + }: + mkDerivation { + pname = "reflex-dom-svg"; + version = "0.3.2.0"; + sha256 = "0xmhccim3n6qk1dj4qyf6rhaygrpb2wzhl00rwm74cqw7ljrf5y9"; + libraryHaskellDepends = [ + base containers lens reflex reflex-dom-core safe text + ]; + description = "Reflex functions for SVG elements"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "reflex-gloss" = callPackage ({ mkDerivation, base, dependent-sum, gloss, mtl, reflex , transformers @@ -180742,6 +194642,7 @@ self: { description = "An reflex interface for gloss"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reflex-gloss-scene" = callPackage @@ -180770,6 +194671,7 @@ self: { description = "A simple scene-graph using reflex and gloss"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reflex-jsx" = callPackage @@ -180804,6 +194706,7 @@ self: { description = "Useful missing instances for Reflex"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reflex-sdl2" = callPackage @@ -180812,18 +194715,19 @@ self: { }: mkDerivation { pname = "reflex-sdl2"; - version = "0.2.0.0"; - sha256 = "1aqcmj9gv1dhm8vqykawphk41fi24k4k061ynvfnpdypakldlvvw"; + version = "0.3.0.0"; + sha256 = "1mjynfdxnjdd308jp2gcpl8x00pmzshm81ramls7hzmkkvfm2xdb"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ async base containers dependent-sum exception-transformers mtl primitive ref-tf reflex sdl2 stm ]; - executableHaskellDepends = [ base ]; + executableHaskellDepends = [ base mtl reflex ]; description = "SDL2 and reflex FRP"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reflex-transformers" = callPackage @@ -180840,14 +194744,40 @@ self: { description = "Collections and switchable Monad transformers for Reflex"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "reflex-vty" = callPackage + ({ mkDerivation, base, bimap, containers, data-default + , dependent-map, dependent-sum, exception-transformers, mtl + , primitive, ref-tf, reflex, stm, text, time, transformers, vty + }: + mkDerivation { + pname = "reflex-vty"; + version = "0.1.1.1"; + sha256 = "1qhmpdfwavr4vip39p1ih3hz0yb1b308g3m24w80n3zw7xqnqz6j"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bimap containers data-default dependent-map dependent-sum + exception-transformers mtl primitive ref-tf reflex stm text time + transformers vty + ]; + executableHaskellDepends = [ + base containers reflex text time transformers vty + ]; + description = "Reflex FRP host and widgets for vty applications"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reform" = callPackage ({ mkDerivation, base, containers, mtl, semigroups, text }: mkDerivation { pname = "reform"; - version = "0.2.7.3"; - sha256 = "18aqpbssm2cxjry567qc7ccvs0wy18gm292gjf5vgzl7gjk7k2n2"; + version = "0.2.7.4"; + sha256 = "0dl0jz5ibcj4vafpf0a0v52rac4nmmif69817g7qgxavc093nq82"; libraryHaskellDepends = [ base containers mtl semigroups text ]; description = "reform is a type-safe HTML form generation and validation library"; license = stdenv.lib.licenses.bsd3; @@ -180892,6 +194822,8 @@ self: { ]; description = "Happstack support for reform"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reform-hsp" = callPackage @@ -180903,6 +194835,19 @@ self: { libraryHaskellDepends = [ base hsp hsx2hs reform text ]; description = "Add support for using HSP with Reform"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "reform-lucid" = callPackage + ({ mkDerivation, base, lucid, path-pieces, reform, text }: + mkDerivation { + pname = "reform-lucid"; + version = "0.1.0.0"; + sha256 = "1a3jfk0i87vqwxxlspzy44lf2i3bxxxy20pnbysczzf8i113y9zi"; + libraryHaskellDepends = [ base lucid path-pieces reform text ]; + description = "Add support for using lucid with Reform"; + license = stdenv.lib.licenses.bsd3; }) {}; "reformat" = callPackage @@ -180915,6 +194860,7 @@ self: { description = "The parser and render to parsec and render the string"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "refresht" = callPackage @@ -180931,6 +194877,7 @@ self: { description = "Environment Monad with automatic resource refreshment"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "refty" = callPackage @@ -180971,6 +194918,7 @@ self: { description = "Tools for maintaining a database"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regex" = callPackage @@ -180994,18 +194942,19 @@ self: { }) {}; "regex-applicative" = callPackage - ({ mkDerivation, base, containers, smallcheck, tasty, tasty-hunit - , tasty-smallcheck, transformers + ({ mkDerivation, base, containers, criterion, smallcheck, tasty + , tasty-hunit, tasty-smallcheck, transformers }: mkDerivation { pname = "regex-applicative"; - version = "0.3.3"; - sha256 = "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"; + version = "0.3.3.1"; + sha256 = "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"; libraryHaskellDepends = [ base containers transformers ]; testHaskellDepends = [ base containers smallcheck tasty tasty-hunit tasty-smallcheck transformers ]; + benchmarkHaskellDepends = [ base criterion ]; description = "Regex-based parsing with applicative interface"; license = stdenv.lib.licenses.mit; }) {}; @@ -181029,6 +194978,8 @@ self: { pname = "regex-base"; version = "0.93.2"; sha256 = "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"; + revision = "1"; + editedCabalFile = "1ijzh7yz7i6hvn8xlgyrc75l7zzn0z3kd4ks2yjfih4iir63y4ns"; libraryHaskellDepends = [ array base bytestring containers mtl ]; description = "Replaces/Enhances Text.Regex"; license = stdenv.lib.licenses.bsd3; @@ -181072,6 +195023,7 @@ self: { description = "Replaces/Enhances Text.Regex. Implementing regular expression matching using Brzozowski's Deriviatives"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regex-dfa" = callPackage @@ -181084,6 +195036,7 @@ self: { description = "Replaces/Enhances Text.Regex"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regex-do" = callPackage @@ -181173,6 +195126,7 @@ self: { description = "Generate a random string from a PCRE"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regex-genex" = callPackage @@ -181204,6 +195158,7 @@ self: { description = "Replaces/Enhances Text.Regex"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regex-pcre" = callPackage @@ -181266,6 +195221,7 @@ self: { description = "Replaces/Enhances Text.Regex. Implementing regular expression matching using Antimirov's partial derivatives."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regex-posix" = callPackage @@ -181305,8 +195261,8 @@ self: { }: mkDerivation { pname = "regex-tdfa"; - version = "1.2.3.1"; - sha256 = "0l7ajnh4hpgggf2a1r9dg0hx2fy679vd2kada5y7r02hy3nfxala"; + version = "1.2.3.2"; + sha256 = "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"; libraryHaskellDepends = [ array base bytestring containers ghc-prim mtl parsec regex-base ]; @@ -181328,6 +195284,7 @@ self: { description = "Parse with regular expressions on Producers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regex-tdfa-quasiquoter" = callPackage @@ -181340,6 +195297,7 @@ self: { description = "Quasi-quoter for TDFA (extended POSIX) regular expressions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regex-tdfa-rc" = callPackage @@ -181356,6 +195314,7 @@ self: { description = "Replaces/Enhances Text.Regex"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regex-tdfa-text" = callPackage @@ -181403,6 +195362,7 @@ self: { description = "This combines regex-tdfa with utf8-string to allow searching over UTF8 encoded lazy bytestrings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regex-tre" = callPackage @@ -181416,6 +195376,7 @@ self: { description = "Replaces/Enhances Text.Regex"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) tre;}; "regex-type" = callPackage @@ -181428,6 +195389,7 @@ self: { description = "Type-level regular expressions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regex-with-pcre" = callPackage @@ -181458,6 +195420,7 @@ self: { description = "A regular expression library for W3C XML Schema regular expressions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regexchar" = callPackage @@ -181467,8 +195430,8 @@ self: { }: mkDerivation { pname = "regexchar"; - version = "0.9.0.16"; - sha256 = "01bn4vazmnqvng8a989l50v7vy9bd7g57x9v44d6cn78q773vfzh"; + version = "0.9.0.17"; + sha256 = "1vkljfqilk0sfwnww1b907lqsdqxd8fdy64kf4vg26r89rzcd5i9"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -181491,8 +195454,8 @@ self: { }: mkDerivation { pname = "regexdot"; - version = "0.12.2.0"; - sha256 = "12vbdljm38nnl76byik6fzar51v0nyjm1dp4ky8fh16f5ghnm5b8"; + version = "0.12.2.1"; + sha256 = "0s8jbkhhlhhdadwf7d8hy1cjs05mlf1r3czc861llwqrshys3c8c"; libraryHaskellDepends = [ base data-default deepseq extra parallel parsec toolshed ]; @@ -181514,6 +195477,7 @@ self: { description = "Regular Expressions on Tries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regexpr" = callPackage @@ -181538,6 +195502,7 @@ self: { description = "Regular expressions via symbolic manipulation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regexqq" = callPackage @@ -181552,6 +195517,7 @@ self: { description = "A quasiquoter for PCRE regexes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regional-pointers" = callPackage @@ -181567,6 +195533,7 @@ self: { description = "Regional memory pointers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regions" = callPackage @@ -181583,6 +195550,7 @@ self: { description = "Provides the region monad for safely opening and working with scarce resources"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regions-monadsfd" = callPackage @@ -181599,6 +195567,7 @@ self: { description = "Monads-fd instances for the RegionT monad transformer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regions-monadstf" = callPackage @@ -181615,6 +195584,7 @@ self: { description = "Monads-tf instances for the RegionT monad transformer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regions-mtl" = callPackage @@ -181627,6 +195597,7 @@ self: { description = "mtl instances for the RegionT monad transformer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "register-machine-typelevel" = callPackage @@ -181639,31 +195610,63 @@ self: { description = "A computationally universal register machine implementation at the type-level"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "registry" = callPackage - ({ mkDerivation, async, base, containers, exceptions, hashable - , hedgehog, hedgehog-corpus, io-memoize, MonadRandom, mtl - , protolude, random, resourcet, semigroupoids, semigroups, tasty - , tasty-discover, tasty-hedgehog, tasty-th, text, transformers-base + ({ mkDerivation, async, base, bytestring, containers, directory + , exceptions, generic-lens, hashable, hedgehog, io-memoize, mmorph + , MonadRandom, mtl, multimap, protolude, random, resourcet + , semigroupoids, semigroups, tasty, tasty-discover, tasty-hedgehog + , tasty-th, template-haskell, text, transformers-base, universum }: mkDerivation { pname = "registry"; - version = "0.1.2.6"; - sha256 = "0szzmk7rclzisz0ihs7cz6180wsfv6rkrfvvqk1v6das444y1bw3"; + version = "0.1.7.0"; + sha256 = "14da74d1fijib9w6xi2x904c9iqhdja685lq63c0wc6zgi7ss2ln"; libraryHaskellDepends = [ - base containers exceptions hashable mtl protolude resourcet - semigroupoids semigroups text transformers-base + base containers exceptions hashable mmorph mtl protolude resourcet + semigroupoids semigroups template-haskell text transformers-base ]; testHaskellDepends = [ - async base containers exceptions hashable hedgehog hedgehog-corpus - io-memoize MonadRandom mtl protolude random resourcet semigroupoids - semigroups tasty tasty-discover tasty-hedgehog tasty-th text - transformers-base + async base bytestring containers directory exceptions generic-lens + hashable hedgehog io-memoize mmorph MonadRandom mtl multimap + protolude random resourcet semigroupoids semigroups tasty + tasty-discover tasty-hedgehog tasty-th template-haskell text + transformers-base universum ]; testToolDepends = [ tasty-discover ]; description = "data structure for assembling components"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "registry-hedgehog" = callPackage + ({ mkDerivation, base, containers, generic-lens, hedgehog, mmorph + , multimap, protolude, registry, tasty, tasty-discover + , tasty-hedgehog, tasty-th, template-haskell, text, transformers + , universum, unordered-containers + }: + mkDerivation { + pname = "registry-hedgehog"; + version = "0.2.1.0"; + sha256 = "1gx7grxy7p08bbvmxrhr3ciw9jg7isz3xsa2ha3s3pg4ifas4g59"; + libraryHaskellDepends = [ + base containers hedgehog mmorph multimap protolude registry tasty + tasty-discover tasty-hedgehog tasty-th template-haskell text + transformers universum unordered-containers + ]; + testHaskellDepends = [ + base containers generic-lens hedgehog mmorph multimap protolude + registry tasty tasty-discover tasty-hedgehog tasty-th + template-haskell text transformers universum unordered-containers + ]; + testToolDepends = [ tasty-discover ]; + description = "utilities to work with Hedgehog generators and `registry`"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regress" = callPackage @@ -181676,6 +195679,7 @@ self: { description = "Linear and logistic regression through automatic differentiation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regular" = callPackage @@ -181690,6 +195694,7 @@ self: { description = "Generic programming library for regular datatypes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regular-extras" = callPackage @@ -181702,6 +195707,7 @@ self: { description = "Additional functions for regular: arbitrary, coarbitrary, and binary get/put"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regular-web" = callPackage @@ -181718,6 +195724,7 @@ self: { description = "Generic programming for the web"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "regular-xmlpickler" = callPackage @@ -181730,6 +195737,7 @@ self: { description = "Generic generation of HXT XmlPickler instances using Regular"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reheat" = callPackage @@ -181745,6 +195753,7 @@ self: { description = "to make notes and reduce impact on idle time on writing other programms"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rehoo" = callPackage @@ -181780,6 +195789,7 @@ self: { description = "Process lists easily"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reified-records" = callPackage @@ -181792,6 +195802,7 @@ self: { description = "Reify records to Maps and back again"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reify" = callPackage @@ -181808,6 +195819,7 @@ self: { description = "Serialize data"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reinterpret-cast" = callPackage @@ -181835,6 +195847,7 @@ self: { description = "A relation data structure"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "relapse" = callPackage @@ -181854,18 +195867,26 @@ self: { description = "Sensible RLP encoding"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "relation" = callPackage - ({ mkDerivation, array, base, containers, groom }: + ({ mkDerivation, base, containers, hedgehog, hspec, hspec-discover + , hw-hspec-hedgehog + }: mkDerivation { pname = "relation"; - version = "0.2.1"; - sha256 = "03h6l8v3ppxbwg9ddgg121yx3i2v4vbcpwrv1vg3mgbw5pwq7x4c"; - libraryHaskellDepends = [ array base containers groom ]; + version = "0.5"; + sha256 = "13vzx6hq7ncd9z05ikvls60xp5dc4f7qb926s8df26zll4ayndlb"; + libraryHaskellDepends = [ base containers ]; + testHaskellDepends = [ + base containers hedgehog hspec hw-hspec-hedgehog + ]; + testToolDepends = [ hspec-discover ]; description = "A data structure representing Relations on Sets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "relational-postgresql8" = callPackage @@ -181884,6 +195905,7 @@ self: { description = "PostgreSQL v8.x driver for haskell-relational-record"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "relational-query" = callPackage @@ -181894,8 +195916,8 @@ self: { }: mkDerivation { pname = "relational-query"; - version = "0.12.1.0"; - sha256 = "1mdd3lh4kpqaa7l0aqnsnwgi95hbwh9p8dx61js8011wl50j9l9k"; + version = "0.12.2.2"; + sha256 = "0768cw6c5chzdcwshjjniysik5d1yj7zvhwncqnn0wgy4gp6kzjv"; libraryHaskellDepends = [ array base bytestring containers dlist names-th persistable-record product-isomorphic sql-words template-haskell text th-reify-compat @@ -181917,8 +195939,8 @@ self: { }: mkDerivation { pname = "relational-query-HDBC"; - version = "0.7.1.1"; - sha256 = "0lgzkqx4nhvwrrgdrr423d4yyadf6x8l664030l2xi4zrxjws2mk"; + version = "0.7.2.0"; + sha256 = "0gzgjqh6pp4nf2zkc77xmm9sm02h2hya1bn339z1sa71nxs0ksc3"; libraryHaskellDepends = [ base containers convertible dlist HDBC HDBC-session names-th persistable-record product-isomorphic relational-query @@ -181951,13 +195973,13 @@ self: { "relational-record-examples" = callPackage ({ mkDerivation, base, HDBC, HDBC-session, HDBC-sqlite3 - , persistable-record, relational-query, relational-query-HDBC - , relational-schemas, template-haskell + , persistable-record, product-isomorphic, relational-query + , relational-query-HDBC, relational-schemas, template-haskell, time }: mkDerivation { pname = "relational-record-examples"; - version = "0.5.1.1"; - sha256 = "0ll6yjp0scbv2fl18b8qplj488a4wp985dr2km0hf4zjb1mri0i0"; + version = "0.6.0.0"; + sha256 = "1f37pzz60zrg5z09vf6sdp9in5f78kyvxag6gbyanapi7iki14k3"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -181965,6 +195987,9 @@ self: { relational-query relational-query-HDBC relational-schemas template-haskell ]; + executableHaskellDepends = [ + base product-isomorphic relational-query template-haskell time + ]; description = "Examples of Haskell Relationa Record"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -181975,8 +196000,8 @@ self: { }: mkDerivation { pname = "relational-schemas"; - version = "0.1.6.2"; - sha256 = "1c578lz7k06clwn92wi3xl20imn8ddivqblxn0vqrnn5hfkfy8jm"; + version = "0.1.7.0"; + sha256 = "1yhgn2sjq7530s31fyyaxms5vnqwl03pwvsn0sm8f6yyzjvwm38b"; libraryHaskellDepends = [ base bytestring containers relational-query template-haskell time ]; @@ -181997,14 +196022,15 @@ self: { description = "Durations and generalized time parsing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "relevant-time" = callPackage ({ mkDerivation, aeson, base, chronos, text, torsor }: mkDerivation { pname = "relevant-time"; - version = "0.1.0.0"; - sha256 = "0i9g6rqq31y6y9jnc9bi0vfrpxmjr3vqfjz2w4q7jc87dplyd2qk"; + version = "0.1.1.0"; + sha256 = "0978g03dlkgx45hxzk3lwl68iln8jnf0hldchac4yqp4c9rsxf22"; libraryHaskellDepends = [ aeson base chronos text torsor ]; description = "humanised relevant time"; license = stdenv.lib.licenses.bsd3; @@ -182055,23 +196081,27 @@ self: { description = "A web based Haskell IDE"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "relude" = callPackage ({ mkDerivation, base, bytestring, containers, deepseq, doctest - , gauge, ghc-prim, Glob, hashable, hedgehog, mtl, stm, tasty - , tasty-hedgehog, text, transformers, unordered-containers + , gauge, ghc-prim, Glob, hashable, hedgehog, mtl, QuickCheck, stm + , tasty, tasty-hedgehog, text, transformers, unordered-containers }: mkDerivation { pname = "relude"; - version = "0.4.0"; - sha256 = "03z8ji8hssb811d1xvmv2zlnq7h7dsr801x05xydhfl1srbg5i9f"; + version = "0.5.0"; + sha256 = "108xd4ybfj7v0cc0h71cym0z31fzsi17aad2l3s17j11h6ainhbm"; + revision = "1"; + editedCabalFile = "0qw27rmf14dn44lics58mqdf4wfcnx5z5zrwi13bsbf8qicmd7cb"; libraryHaskellDepends = [ base bytestring containers deepseq ghc-prim hashable mtl stm text transformers unordered-containers ]; testHaskellDepends = [ - base bytestring doctest Glob hedgehog tasty tasty-hedgehog text + base bytestring doctest Glob hedgehog QuickCheck tasty + tasty-hedgehog text ]; benchmarkHaskellDepends = [ base containers gauge unordered-containers @@ -182098,6 +196128,7 @@ self: { description = "A DSL for marking student work"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "remarks" = callPackage @@ -182120,6 +196151,7 @@ self: { description = "A DSL for marking student work"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rematch" = callPackage @@ -182162,6 +196194,7 @@ self: { description = "Cloud Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "remote-debugger" = callPackage @@ -182178,6 +196211,7 @@ self: { description = "Interface to ghci debugger"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "remote-json" = callPackage @@ -182203,6 +196237,7 @@ self: { description = "Remote Monad implementation of the JSON RPC protocol"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "remote-json-client" = callPackage @@ -182221,6 +196256,7 @@ self: { description = "Web client wrapper for remote-json"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "remote-json-server" = callPackage @@ -182239,6 +196275,7 @@ self: { description = "Web server wrapper for remote-json"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "remote-monad" = callPackage @@ -182262,6 +196299,7 @@ self: { description = "An parametrizable Remote Monad, and parametrizable Applicative Functor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "remotion" = callPackage @@ -182295,6 +196333,22 @@ self: { description = "A library for client-server applications based on custom protocols"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "render-utf8" = callPackage + ({ mkDerivation, base, bytestring, fmt, semigroups, text + , transformers + }: + mkDerivation { + pname = "render-utf8"; + version = "0.1.0.0"; + sha256 = "1mp52cv3mf6px1f4f9zdba2y1q6zssc64ny24a3h7dd8axmn1szg"; + libraryHaskellDepends = [ + base bytestring fmt semigroups text transformers + ]; + description = "Simple Utf8 wrapper for ByteString Builder with conversion classes"; + license = stdenv.lib.licenses.bsd3; }) {}; "renderable" = callPackage @@ -182343,8 +196397,8 @@ self: { pname = "repa"; version = "3.4.1.4"; sha256 = "17m3wl4hvf04fxwm4fflhnv41yl9bm263hnbpxc8x6xqwifplq23"; - revision = "1"; - editedCabalFile = "1c5rf3ky5lw9q1ji2y37m721gs7m5liw3j84159ib0w0bb3ddzmi"; + revision = "2"; + editedCabalFile = "16kyy7ck3yki0mlcap0bbiadcn18yn6x90m4s2prkasi9ip0pcs8"; libraryHaskellDepends = [ base bytestring ghc-prim QuickCheck template-haskell vector ]; @@ -182379,6 +196433,7 @@ self: { description = "Bulk array representations and operators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repa-bytestring" = callPackage @@ -182392,6 +196447,7 @@ self: { description = "(deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repa-convert" = callPackage @@ -182408,6 +196464,7 @@ self: { description = "Packing and unpacking flat tables"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repa-devil" = callPackage @@ -182421,6 +196478,7 @@ self: { description = "Support for image reading and writing of Repa arrays using in-place FFI calls"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libdevil;}; "repa-eval" = callPackage @@ -182433,6 +196491,7 @@ self: { description = "Low-level parallel operators on bulk random-accessble arrays"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repa-examples" = callPackage @@ -182443,8 +196502,8 @@ self: { pname = "repa-examples"; version = "3.4.1.2"; sha256 = "1lqqnk3prvw1pr2wi4rhymb8ij6mjp9mcsvjcllnxv567mz9gr4d"; - revision = "1"; - editedCabalFile = "00w3cyd3r2jp1z962fwchsg4ffqfhq99mnl4anwcylxdkp15jv0l"; + revision = "2"; + editedCabalFile = "0aghk6pav63hx13dzmp9v9izq7zv4kdc0vbbv2wr14i234ghljh9"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -182492,6 +196551,7 @@ self: { description = "Data-parallel data flows"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repa-io" = callPackage @@ -182521,6 +196581,7 @@ self: { description = "HMatrix operations for Repa"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repa-plugin" = callPackage @@ -182538,6 +196599,7 @@ self: { description = "Data Flow Fusion GHC Plugin"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repa-scalar" = callPackage @@ -182546,14 +196608,13 @@ self: { }: mkDerivation { pname = "repa-scalar"; - version = "4.2.3.2"; - sha256 = "1w5q7b38zy08s13nllwjisxx6mxx9pnqhh3v5ydi1b32hrkyfk7c"; + version = "4.2.3.3"; + sha256 = "1qjzrmz010gm50in0yja817r6wl0n2iybd00dsfpcspdaq91ahvb"; libraryHaskellDepends = [ base bytestring double-conversion primitive time vector ]; description = "Scalar data types and conversions"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "repa-series" = callPackage @@ -182566,6 +196627,7 @@ self: { description = "Series Expressionss API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repa-sndfile" = callPackage @@ -182596,6 +196658,7 @@ self: { description = "Stream functions not present in the vector library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repa-v4l2" = callPackage @@ -182616,6 +196679,7 @@ self: { description = "Provides high-level access to webcams"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repl" = callPackage @@ -182630,6 +196694,7 @@ self: { description = "IRC friendly REPL library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repl-toolkit" = callPackage @@ -182650,6 +196715,41 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; + "replace-megaparsec" = callPackage + ({ mkDerivation, base, bytestring, Cabal, megaparsec, text }: + mkDerivation { + pname = "replace-megaparsec"; + version = "1.0.1.0"; + sha256 = "18aipcrmic0xgfjg1cia6zs7m5a9xq7srm1r713qxri9pm5ynqd6"; + libraryHaskellDepends = [ base megaparsec ]; + testHaskellDepends = [ base bytestring Cabal megaparsec text ]; + description = "Stream editing with parsers"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "replica" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, Diff + , file-embed, http-types, QuickCheck, quickcheck-instances + , template-haskell, text, wai, wai-websockets, websockets + }: + mkDerivation { + pname = "replica"; + version = "0.1.0.0"; + sha256 = "0q583krjbx8x45y8hy7vpw7b5y5c9bdfmyp0wh4bk3g8y7xxvvib"; + libraryHaskellDepends = [ + aeson base bytestring containers Diff file-embed http-types + template-haskell text wai wai-websockets websockets + ]; + testHaskellDepends = [ + aeson base bytestring containers Diff file-embed http-types + QuickCheck quickcheck-instances template-haskell text wai + wai-websockets websockets + ]; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "replicant" = callPackage ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, attoparsec , base, bytestring, containers, either, exceptions, fast-logger @@ -182675,15 +196775,18 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repline" = callPackage - ({ mkDerivation, base, containers, haskeline, mtl, process }: + ({ mkDerivation, base, containers, fail, haskeline, mtl, process }: mkDerivation { pname = "repline"; - version = "0.2.0.0"; - sha256 = "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc"; - libraryHaskellDepends = [ base containers haskeline mtl process ]; + version = "0.2.1.0"; + sha256 = "0yxfn6p4gprnv8hzpzh7872fs3l661d587v4kkp51mjyydpiihs5"; + libraryHaskellDepends = [ + base containers fail haskeline mtl process + ]; description = "Haskeline wrapper for GHCi-like REPL interfaces"; license = stdenv.lib.licenses.mit; }) {}; @@ -182715,6 +196818,7 @@ self: { description = "Blogging module using blaze html for markup"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repr" = callPackage @@ -182731,6 +196835,7 @@ self: { description = "Render overloaded expressions to their textual representation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "repr-tree-syb" = callPackage @@ -182761,6 +196866,7 @@ self: { description = "Representable functors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "representable-profunctors" = callPackage @@ -182792,6 +196898,7 @@ self: { description = "Tries from representations of polynomial functors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reprinter" = callPackage @@ -182807,6 +196914,7 @@ self: { description = "Scrap Your Reprinter"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reproject" = callPackage @@ -182820,41 +196928,10 @@ self: { description = "Define and combine \"materialized\" projections"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "req" = callPackage - ({ mkDerivation, aeson, authenticate-oauth, base, blaze-builder - , bytestring, case-insensitive, connection, data-default-class - , hspec, hspec-core, hspec-discover, http-api-data, http-client - , http-client-tls, http-types, monad-control, mtl, QuickCheck - , retry, text, time, transformers, transformers-base - , unordered-containers - }: - mkDerivation { - pname = "req"; - version = "1.2.1"; - sha256 = "1s8gjifc9jixl4551hay013fwyhlamcyrxjb00qr76wwikqa0g8k"; - revision = "3"; - editedCabalFile = "1sbm2rk2q56gma2wja47q1rc8a2pizl8487g5z4fy1zynxm5inyj"; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - aeson authenticate-oauth base blaze-builder bytestring - case-insensitive connection data-default-class http-api-data - http-client http-client-tls http-types monad-control mtl retry text - time transformers transformers-base - ]; - testHaskellDepends = [ - aeson base blaze-builder bytestring case-insensitive - data-default-class hspec hspec-core http-client http-types - monad-control mtl QuickCheck text time unordered-containers - ]; - testToolDepends = [ hspec-discover ]; - doCheck = false; - description = "Easy-to-use, type-safe, expandable, high-level HTTP client library"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "req_2_0_0" = callPackage ({ mkDerivation, aeson, authenticate-oauth, base, blaze-builder , bytestring, case-insensitive, connection, hspec, hspec-core , hspec-discover, http-api-data, http-client, http-client-tls @@ -182863,8 +196940,8 @@ self: { }: mkDerivation { pname = "req"; - version = "2.0.0"; - sha256 = "0avwvslsb689p9afbh3k0zwmqwkrqagicz26xcyfjsd5648mh3wr"; + version = "2.1.0"; + sha256 = "07sm483bkwqq7fvhwqysl4ac0nw1mvhkywawwpgq0c1gw2wnv56n"; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson authenticate-oauth base blaze-builder bytestring @@ -182881,7 +196958,6 @@ self: { doCheck = false; description = "Easy-to-use, type-safe, expandable, high-level HTTP client library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "req-conduit" = callPackage @@ -182907,6 +196983,7 @@ self: { description = "Conduit helpers for the req HTTP client library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "req-oauth2" = callPackage @@ -182929,30 +197006,11 @@ self: { testHaskellDepends = [ base hspec ]; description = "Provides OAuth2 authentication for use with Req"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "req-url-extra" = callPackage - ({ mkDerivation, aeson, base, data-default-class, hspec, modern-uri - , req, text - }: - mkDerivation { - pname = "req-url-extra"; - version = "0.1.0.0"; - sha256 = "113xsf37kra3k3jhf2wh37rsgphxz24rsn3dy8zw1cwzsim2dpmk"; - revision = "2"; - editedCabalFile = "0srj9fcbm9y8ddqgs8wc6caxamhgnic54y8qpxwnqdxrggdfkk67"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base modern-uri req ]; - executableHaskellDepends = [ - aeson base data-default-class modern-uri req text - ]; - testHaskellDepends = [ base hspec modern-uri req ]; - description = "Provides URI/URL helper functions for use with Req"; - license = stdenv.lib.licenses.mit; - }) {}; - - "req-url-extra_0_1_1_0" = callPackage ({ mkDerivation, aeson, base, hspec, modern-uri, req, text }: mkDerivation { pname = "req-url-extra"; @@ -182966,6 +197024,7 @@ self: { description = "Provides URI/URL helper functions for use with Req"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reqcatcher" = callPackage @@ -182974,8 +197033,8 @@ self: { }: mkDerivation { pname = "reqcatcher"; - version = "0.1.1.0"; - sha256 = "15qpd11ijbip88pf7sn1cmms369cv963l2xdp3wxg7qvlf362ns8"; + version = "0.1.2.0"; + sha256 = "0vwk4cl3jcahwg9sggic1rac2l2ia3nv3f4ri8iv8qknwah8mf5n"; libraryHaskellDepends = [ base http-types network text wai warp ]; testHaskellDepends = [ base http-client http-types HUnit lens tasty tasty-hunit wai wreq @@ -182983,6 +197042,7 @@ self: { description = "A local http server to catch the HTTP redirect"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "request-monad" = callPackage @@ -182995,6 +197055,7 @@ self: { description = "A transformer for generic requests"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "require" = callPackage @@ -183026,14 +197087,15 @@ self: { description = "Scrap your qualified import clutter"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rerebase" = callPackage ({ mkDerivation, rebase }: mkDerivation { pname = "rerebase"; - version = "1.3"; - sha256 = "16c5r69shz9zg01awjpwh7jpw3hqy81p4hh22rwdm0scdc45n5fa"; + version = "1.3.1.1"; + sha256 = "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"; libraryHaskellDepends = [ rebase ]; description = "Reexports from \"base\" with a bunch of other standard libraries"; license = stdenv.lib.licenses.mit; @@ -183048,6 +197110,8 @@ self: { pname = "reroute"; version = "0.5.0.0"; sha256 = "1wl7g4z37rwghckwpi34qgg5b3rdy9h1zyf8dcgrm6hdfaabp65r"; + revision = "2"; + editedCabalFile = "1lyrm0ca4a9312b26a5gsi1s9vr6b6vlizwblc49h33hviy78q1k"; libraryHaskellDepends = [ base deepseq hashable http-api-data hvect mtl text unordered-containers @@ -183085,6 +197149,7 @@ self: { description = "Reserve reloads web applications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reservoir" = callPackage @@ -183097,6 +197162,7 @@ self: { description = "Unweighted reservoir sampling"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "resin" = callPackage @@ -183108,23 +197174,26 @@ self: { libraryHaskellDepends = [ base ghc-prim ralist semigroupoids ]; description = "High performance variable binders"; license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "resistor-cube" = callPackage ({ mkDerivation, base, comfort-array, lapack }: mkDerivation { pname = "resistor-cube"; - version = "0.0.1"; - sha256 = "0gx2b45wyp61pqf0cwnmq1fznyvl6s3xcq9l38vggf9g90gs4fvz"; + version = "0.0.1.2"; + sha256 = "1jdpyxpbqhlbd66gy1qlrjqm31mhvg636yp8nrm9qbksllzdi6n6"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ base comfort-array lapack ]; description = "Compute total resistance of a cube of resistors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "resolv" = callPackage + "resolv_0_1_1_2" = callPackage ({ mkDerivation, base, base16-bytestring, binary, bytestring , containers, directory, filepath, tasty, tasty-hunit }: @@ -183140,6 +197209,25 @@ self: { ]; description = "Domain Name Service (DNS) lookup via the libresolv standard library routines"; license = stdenv.lib.licenses.gpl2; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "resolv" = callPackage + ({ mkDerivation, base, base16-bytestring, binary, bytestring + , containers, directory, filepath, tasty, tasty-hunit + }: + mkDerivation { + pname = "resolv"; + version = "0.1.1.3"; + sha256 = "10y9x63m2w87qfmx9fxjfliq9881cp1x8zkf94sb0hq52rgxd3r4"; + libraryHaskellDepends = [ + base base16-bytestring binary bytestring containers + ]; + testHaskellDepends = [ + base bytestring directory filepath tasty tasty-hunit + ]; + description = "Domain Name Service (DNS) lookup via the libresolv standard library routines"; + license = stdenv.lib.licenses.gpl2Plus; }) {}; "resolve" = callPackage @@ -183158,6 +197246,7 @@ self: { description = "A name resolusion library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "resolve-trivial-conflicts" = callPackage @@ -183177,6 +197266,7 @@ self: { description = "Remove trivial conflict markers in a git repository"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "resource-effect" = callPackage @@ -183196,6 +197286,7 @@ self: { description = "A port of the package 'resourcet' for extensible effects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "resource-embed" = callPackage @@ -183210,6 +197301,7 @@ self: { description = "Embed data files via C and FFI"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "resource-pool" = callPackage @@ -183243,6 +197335,7 @@ self: { description = "Fork of resource-pool, with a MonadCatchIO constraint"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "resource-pool-monad" = callPackage @@ -183275,6 +197368,7 @@ self: { description = "Allocate resources which are guaranteed to be released"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "resourcet_1_1_11" = callPackage @@ -183341,6 +197435,7 @@ self: { description = "process and route HTTP requests and generate responses on top of WAI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rest-client" = callPackage @@ -183363,6 +197458,7 @@ self: { description = "Utility library for use in generated API client libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rest-core" = callPackage @@ -183391,6 +197487,7 @@ self: { description = "Rest API library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rest-example" = callPackage @@ -183414,6 +197511,7 @@ self: { description = "Example project for rest"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rest-gen" = callPackage @@ -183442,6 +197540,7 @@ self: { description = "Documentation and client generation from rest definition"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rest-happstack" = callPackage @@ -183460,6 +197559,7 @@ self: { description = "Rest driver for Happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rest-snap" = callPackage @@ -183478,6 +197578,7 @@ self: { description = "Rest driver for Snap"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rest-stringmap" = callPackage @@ -183495,6 +197596,7 @@ self: { description = "Maps with stringy keys that can be transcoded to JSON and XML"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rest-types" = callPackage @@ -183515,6 +197617,7 @@ self: { description = "Silk Rest Framework Types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rest-wai" = callPackage @@ -183535,6 +197638,7 @@ self: { description = "Rest driver for WAI applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "restful-snap" = callPackage @@ -183555,6 +197659,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "restless-git" = callPackage @@ -183592,6 +197697,7 @@ self: { description = "Running worker processes under system resource restrictions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "restyle" = callPackage @@ -183607,6 +197713,7 @@ self: { description = "Convert between camel case and separated words style"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "result" = callPackage @@ -183655,6 +197762,7 @@ self: { description = "A driver for RethinkDB 2.2"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rethinkdb-client-driver" = callPackage @@ -183684,6 +197792,7 @@ self: { description = "Client driver for RethinkDB"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rethinkdb-model" = callPackage @@ -183700,6 +197809,7 @@ self: { description = "Useful tools for modeling data with rethinkdb"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rethinkdb-wereHamster" = callPackage @@ -183720,37 +197830,18 @@ self: { description = "RethinkDB driver for Haskell"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "retry" = callPackage - ({ mkDerivation, base, data-default-class, exceptions, ghc-prim - , hedgehog, HUnit, mtl, random, stm, tasty, tasty-hedgehog - , tasty-hunit, time, transformers - }: - mkDerivation { - pname = "retry"; - version = "0.7.7.0"; - sha256 = "0v6irf01xykhv0mwr1k5i08jn77irqbz8h116j8p435d11xc5jrw"; - libraryHaskellDepends = [ - base data-default-class exceptions ghc-prim random transformers - ]; - testHaskellDepends = [ - base data-default-class exceptions ghc-prim hedgehog HUnit mtl - random stm tasty tasty-hedgehog tasty-hunit time transformers - ]; - description = "Retry combinators for monadic actions that may fail"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "retry_0_8_0_0" = callPackage ({ mkDerivation, base, exceptions, ghc-prim, hedgehog, HUnit, mtl , random, stm, tasty, tasty-hedgehog, tasty-hunit, time , transformers }: mkDerivation { pname = "retry"; - version = "0.8.0.0"; - sha256 = "0m44firqn9bkspj2jjf88kksf7mjmbi00xz0855lnflc8b3377cf"; + version = "0.8.0.1"; + sha256 = "0x63grjv0r96gv8ksh6r6aja6fvnwr06bypigvkskzhjjbk3fhcx"; libraryHaskellDepends = [ base exceptions ghc-prim random transformers ]; @@ -183760,7 +197851,6 @@ self: { ]; description = "Retry combinators for monadic actions that may fail"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "retryer" = callPackage @@ -183775,6 +197865,7 @@ self: { description = "Retry failed commands"; license = stdenv.lib.licenses.mpl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rev-state" = callPackage @@ -183840,6 +197931,7 @@ self: { description = "Simple reverse geocoding using OpenStreeMap"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "reversi" = callPackage @@ -183854,6 +197946,7 @@ self: { description = "Text-only reversi (aka othelo) game"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rewrite" = callPackage @@ -183870,6 +197963,28 @@ self: { description = "open file and rewrite it with new contents"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "rewrite-inspector" = callPackage + ({ mkDerivation, base, binary, brick, containers, data-default + , hashable, microlens, microlens-th, prettyprinter, text, vty + }: + mkDerivation { + pname = "rewrite-inspector"; + version = "0.1.0.9"; + sha256 = "1f7jn46b311hlyb6zghrmqcg323235njisk4j31lf4kvbl848sn6"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base binary brick containers data-default hashable microlens + microlens-th prettyprinter text vty + ]; + executableHaskellDepends = [ base prettyprinter ]; + description = "Inspection of rewriting steps"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rewriting" = callPackage @@ -183882,6 +197997,7 @@ self: { description = "Generic rewriting library for regular datatypes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rex" = callPackage @@ -183918,6 +198034,7 @@ self: { description = "Github resume generator"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rfc" = callPackage @@ -183952,6 +198069,7 @@ self: { description = "Robert Fischer's Common library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rfc-env" = callPackage @@ -183964,6 +198082,7 @@ self: { description = "Environment variable support from the Robert Fischer Commons"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rfc-http-client" = callPackage @@ -183982,6 +198101,7 @@ self: { description = "The HTTP client extensions from the Robert Fischer Commons"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rfc-prelude" = callPackage @@ -184006,6 +198126,7 @@ self: { description = "The Prelude from the Robert Fischer Commons"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rfc-psql" = callPackage @@ -184023,6 +198144,7 @@ self: { description = "The PostgreSQL extensions from the Robert Fischer Commons"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rfc-redis" = callPackage @@ -184035,6 +198157,7 @@ self: { description = "The Redis extensions from the Robert Fischer Commons"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rfc-servant" = callPackage @@ -184057,6 +198180,7 @@ self: { description = "The Servant extensions from the Robert Fischer Commons"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rfc1413-server" = callPackage @@ -184124,6 +198248,27 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "rg" = callPackage + ({ mkDerivation, array, base, fmt, possibly, tasty, tasty-hunit + , text, unordered-containers, vector + }: + mkDerivation { + pname = "rg"; + version = "1.4.0.0"; + sha256 = "1cnh3pmq80vziwr2rnz2zinlhak5abrkcpcrrs6x6jz0aq9npnj7"; + libraryHaskellDepends = [ + array base fmt possibly text unordered-containers vector + ]; + testHaskellDepends = [ + array base fmt possibly tasty tasty-hunit text unordered-containers + vector + ]; + description = "A dynamic/unbounded alternative to Bounded Enum"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "rgb-color-model" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -184136,34 +198281,33 @@ self: { }) {}; "rhine" = callPackage - ({ mkDerivation, base, containers, deepseq, dunai, free, time - , transformers, vector-sized + ({ mkDerivation, base, containers, deepseq, dunai, free + , MonadRandom, random, time, transformers, vector-sized }: mkDerivation { pname = "rhine"; - version = "0.5.0.1"; - sha256 = "0mxqr441bav2gs856qmvivl9cd53gh28ycary112vxinalijjh23"; + version = "0.5.1.0"; + sha256 = "026hnakysi7xqhc630c5mbxs0y4j3wkyk71771mlrf7q2l94vh79"; libraryHaskellDepends = [ - base containers deepseq dunai free time transformers vector-sized + base containers deepseq dunai free MonadRandom random time + transformers vector-sized ]; description = "Functional Reactive Programming with type-level clocks"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "rhine-gloss" = callPackage ({ mkDerivation, base, dunai, gloss, rhine }: mkDerivation { pname = "rhine-gloss"; - version = "0.5.0.1"; - sha256 = "0pj0in2xyz3g81rf175m65gwbwndabd0k2icsdcp3jcyqakzwari"; + version = "0.5.1.0"; + sha256 = "0nq5m74ivkdk15qcqpqs8bp816454k3k2big0av6lq2dzk8cjrll"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base dunai gloss rhine ]; executableHaskellDepends = [ base ]; description = "Gloss backend for Rhine"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "rhythm-game-tutorial" = callPackage @@ -184183,6 +198327,7 @@ self: { description = "Haskell rhythm game tutorial"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "riak" = callPackage @@ -184197,8 +198342,8 @@ self: { }: mkDerivation { pname = "riak"; - version = "1.1.2.5"; - sha256 = "1ln7qm6rl8nr4fc1109pk0jmnqhw4dm3q2jfmvd4a34whplzwln7"; + version = "1.1.2.6"; + sha256 = "0dialr56k5406zav54hk4lx6dr9yisv8yq0hrjjga5my08ga5v4y"; libraryHaskellDepends = [ aeson async attoparsec base bifunctors binary blaze-builder bytestring containers data-default-class deepseq @@ -184224,8 +198369,8 @@ self: { }: mkDerivation { pname = "riak-protobuf"; - version = "0.23.0.0"; - sha256 = "0cyarnp2yqlj98zdbd51krpz3ls75vcl8am6h4wf98b6vdmx1jsx"; + version = "0.24.0.0"; + sha256 = "175sww7s8r1brl3iz2m3vxx8ffk059ciyvzxqfn47cwf8yljw10s"; libraryHaskellDepends = [ array base parsec protocol-buffers protocol-buffers-descriptor ]; @@ -184240,8 +198385,8 @@ self: { }: mkDerivation { pname = "riak-protobuf-lens"; - version = "0.23.0.0"; - sha256 = "0i01p6ix5304hd9alahq5bpmcf1rzc9k2qqy6n7c002fmnwsw2zw"; + version = "0.24.0.0"; + sha256 = "1qmpa4vg5mxkx804c2bl6dnsgwrvv9hj62a208ns2smps6fnbndh"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -184256,33 +198401,125 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "rib" = callPackage + ({ mkDerivation, aeson, async, base, binary, bytestring, clay + , cmdargs, containers, data-default, fsnotify, http-types, lens + , lens-aeson, lucid, mtl, pandoc, pandoc-include-code, pandoc-types + , safe, shake, skylighting, text, time, wai, wai-app-static + , wai-extra, warp + }: + mkDerivation { + pname = "rib"; + version = "0.3.0.0"; + sha256 = "1dw86xrz310vrapgln48r46z0ss35jm85c0r95pqvnq4smbwiw18"; + libraryHaskellDepends = [ + aeson async base binary bytestring clay cmdargs containers + data-default fsnotify http-types lens lens-aeson lucid mtl pandoc + pandoc-include-code pandoc-types safe shake skylighting text time + wai wai-app-static wai-extra warp + ]; + description = "Static site generator using Shake"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "ribbit" = callPackage + ({ mkDerivation, base, Only, postgresql-simple, text, time }: + mkDerivation { + pname = "ribbit"; + version = "0.3.0.1"; + sha256 = "0n2xgwwff1bgpqza2l0d5j7agynkz2ps3vc0y73rrpxwc0kn8z3n"; + libraryHaskellDepends = [ base Only postgresql-simple text time ]; + description = "Type-level Relational DB combinators"; + license = stdenv.lib.licenses.mit; + }) {}; + "ribosome" = callPackage - ({ mkDerivation, aeson, ansi-terminal, base, bytestring, containers - , data-default-class, deepseq, directory, either, filepath - , hslogger, HTF, lens, messagepack, MissingH, mtl, nvim-hs - , pretty-terminal, prettyprinter, process, resourcet, safe, split - , stm, strings, text, time, transformers, unliftio, utf8-string + ({ mkDerivation, aeson, ansi-terminal, base-noprelude, bytestring + , cereal, cereal-conduit, chiasma, composition, composition-extra + , conduit, conduit-extra, containers, cornea, data-default, deepseq + , directory, either, exceptions, filepath, free, hslogger, lens + , lifted-async, lifted-base, messagepack, MissingH, monad-control + , monad-loops, mtl, nvim-hs, path, path-io, pretty-terminal + , prettyprinter, prettyprinter-ansi-terminal, process, relude + , resourcet, safe, split, stm, stm-chans, stm-conduit + , template-haskell, text, th-abstraction, time, transformers + , transformers-base, typed-process, unix, unliftio, unliftio-core + , utf8-string }: mkDerivation { pname = "ribosome"; - version = "0.1.2.0"; - sha256 = "0sx4c7inv7dgy68wjnl13wmx6ybfjwl6flf2x9wz5aw1v5ssaw8z"; + version = "0.3.0.1"; + sha256 = "1dka9hqh48nib7y0rz4bxr6d3iqavzw0163q64xwcjxaib293kks"; libraryHaskellDepends = [ - aeson ansi-terminal base bytestring containers data-default-class - deepseq directory either filepath hslogger lens messagepack - MissingH mtl nvim-hs pretty-terminal prettyprinter process - resourcet safe split stm strings text time transformers unliftio - utf8-string - ]; - testHaskellDepends = [ - aeson ansi-terminal base bytestring containers data-default-class - deepseq directory either filepath hslogger HTF lens messagepack - MissingH mtl nvim-hs pretty-terminal prettyprinter process - resourcet safe split stm strings text time transformers unliftio + aeson ansi-terminal base-noprelude bytestring cereal cereal-conduit + chiasma composition composition-extra conduit conduit-extra + containers cornea data-default deepseq directory either exceptions + filepath free hslogger lens lifted-async lifted-base messagepack + MissingH monad-control monad-loops mtl nvim-hs path path-io + pretty-terminal prettyprinter prettyprinter-ansi-terminal process + relude resourcet safe split stm stm-chans stm-conduit + template-haskell text th-abstraction time transformers + transformers-base typed-process unix unliftio unliftio-core utf8-string ]; description = "api extensions for nvim-hs"; - license = stdenv.lib.licenses.mit; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "ribosome-root" = callPackage + ({ mkDerivation, aeson, ansi-terminal, base-noprelude, bytestring + , chiasma, composition-extra, conduit, containers, cornea + , data-default, deepseq, directory, either, exceptions, filepath + , hslogger, HTF, lens, lifted-base, messagepack, MissingH + , monad-control, mtl, nvim-hs, pretty-terminal, prettyprinter + , prettyprinter-ansi-terminal, process, relude, resourcet, ribosome + , ribosome-test, safe, split, stm, template-haskell, text + , th-abstraction, time, transformers, transformers-base + , typed-process, unix, unliftio, unliftio-core, utf8-string + }: + mkDerivation { + pname = "ribosome-root"; + version = "0.3.0.0"; + sha256 = "0x2mgx4wsx3ridvvsjf5pssdgdj1af9bvgc4gmwf4vll43b9x603"; + isLibrary = false; + isExecutable = false; + testHaskellDepends = [ + aeson ansi-terminal base-noprelude bytestring chiasma + composition-extra conduit containers cornea data-default deepseq + directory either exceptions filepath hslogger HTF lens lifted-base + messagepack MissingH monad-control mtl nvim-hs pretty-terminal + prettyprinter prettyprinter-ansi-terminal process relude resourcet + ribosome ribosome-test safe split stm template-haskell text + th-abstraction time transformers transformers-base typed-process + unix unliftio unliftio-core utf8-string + ]; + description = "api extensions for nvim-hs"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "ribosome-test" = callPackage + ({ mkDerivation, base-noprelude, bytestring, chiasma, cornea + , data-default, directory, exceptions, filepath, free, hslogger + , HTF, lifted-base, messagepack, monad-control, mtl, nvim-hs + , process, relude, resourcet, ribosome, text, transformers + , typed-process, unix, unliftio, unliftio-core + }: + mkDerivation { + pname = "ribosome-test"; + version = "0.3.0.1"; + sha256 = "18pmb6db23ak29y5vqzvblvq3yqpi2zn8qk0cp7825sbahqxn320"; + libraryHaskellDepends = [ + base-noprelude bytestring chiasma cornea data-default directory + exceptions filepath free hslogger HTF lifted-base messagepack + monad-control mtl nvim-hs process relude resourcet ribosome text + transformers typed-process unix unliftio unliftio-core + ]; + description = "test helpers for ribosome"; + license = "unknown"; hydraPlatforms = stdenv.lib.platforms.none; }) {}; @@ -184324,6 +198561,7 @@ self: { description = "Quick metrics to grow your app strong"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ridley-extras" = callPackage @@ -184342,6 +198580,7 @@ self: { description = "Handy metrics that don't belong to ridley"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "riemann" = callPackage @@ -184372,6 +198611,7 @@ self: { description = "A Riemann client for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "riff" = callPackage @@ -184391,6 +198631,23 @@ self: { description = "RIFF parser for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "rigel-viz" = callPackage + ({ mkDerivation, aeson, base, bytestring, colour, containers, hspec + , QuickCheck, text + }: + mkDerivation { + pname = "rigel-viz"; + version = "0.2.0.0"; + sha256 = "0z6c6hynisf5165c4izh31bfr4zcdik13ww5c4ylpqzxsig2z5xs"; + libraryHaskellDepends = [ + aeson base bytestring colour containers text + ]; + testHaskellDepends = [ base hspec QuickCheck ]; + description = "A mid-level wrapper for vega-lite"; + license = stdenv.lib.licenses.bsd3; }) {}; "ring-buffer" = callPackage @@ -184406,32 +198663,73 @@ self: { description = "A concurrent, mutable ring-buffer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "ring-buffers" = callPackage + ({ mkDerivation, base, contiguous, primitive, semirings }: + mkDerivation { + pname = "ring-buffers"; + version = "0.1.0.1"; + sha256 = "1k67nsphmk6x3lvym5n6i1vbv1rfzwgrcxszivjjsy6nxsl00m52"; + libraryHaskellDepends = [ base contiguous primitive semirings ]; + description = "mutable ring buffers with atomic updates in GHC Haskell"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rio" = callPackage ({ mkDerivation, base, bytestring, containers, deepseq, directory , exceptions, filepath, hashable, hspec, microlens, mtl, primitive - , process, text, time, typed-process, unix, unliftio - , unordered-containers, vector + , process, QuickCheck, text, time, typed-process, unix, unliftio + , unliftio-core, unordered-containers, vector }: mkDerivation { pname = "rio"; - version = "0.1.8.0"; - sha256 = "1qgmvfc8whhg0qd6zh4jaqqbx5c4p11r8dskybanj6hs482ds4x0"; + version = "0.1.11.0"; + sha256 = "17p3zr1fncwqc1rz181mfbxi9dlyd2cd8xcxhnxm3fgnq6i9cj4l"; libraryHaskellDepends = [ base bytestring containers deepseq directory exceptions filepath hashable microlens mtl primitive process text time typed-process - unix unliftio unordered-containers vector + unix unliftio unliftio-core unordered-containers vector ]; testHaskellDepends = [ base bytestring containers deepseq directory exceptions filepath - hashable hspec microlens mtl primitive process text time - typed-process unix unliftio unordered-containers vector + hashable hspec microlens mtl primitive process QuickCheck text time + typed-process unix unliftio unliftio-core unordered-containers + vector ]; description = "A standard library for Haskell"; license = stdenv.lib.licenses.mit; }) {}; + "rio_0_1_12_0" = callPackage + ({ mkDerivation, base, bytestring, containers, deepseq, directory + , exceptions, filepath, hashable, hspec, microlens, mtl, primitive + , process, QuickCheck, text, time, typed-process, unix, unliftio + , unliftio-core, unordered-containers, vector + }: + mkDerivation { + pname = "rio"; + version = "0.1.12.0"; + sha256 = "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"; + libraryHaskellDepends = [ + base bytestring containers deepseq directory exceptions filepath + hashable microlens mtl primitive process text time typed-process + unix unliftio unliftio-core unordered-containers vector + ]; + testHaskellDepends = [ + base bytestring containers deepseq directory exceptions filepath + hashable hspec microlens mtl primitive process QuickCheck text time + typed-process unix unliftio unliftio-core unordered-containers + vector + ]; + description = "A standard library for Haskell"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "rio-orphans" = callPackage ({ mkDerivation, base, exceptions, fast-logger, hspec , monad-control, monad-logger, resourcet, rio, transformers-base @@ -184452,6 +198750,24 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "rio-prettyprint" = callPackage + ({ mkDerivation, aeson, annotated-wl-pprint, ansi-terminal, array + , base, Cabal, colour, mtl, path, rio, text + }: + mkDerivation { + pname = "rio-prettyprint"; + version = "0.1.0.0"; + sha256 = "0n8ldc73i0954c6s8jh0hibxrisp84yh5pcxv3x3q0wg4v2xvr0m"; + revision = "2"; + editedCabalFile = "1hvhjqy7kfk7fglx1rw8axscy0dfzqwd1564awnwdhvmf8silkkn"; + libraryHaskellDepends = [ + aeson annotated-wl-pprint ansi-terminal array base Cabal colour mtl + path rio text + ]; + description = "Pretty-printing for RIO"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "riot" = callPackage ({ mkDerivation, base, containers, directory, haskell98, mtl , ncurses, old-locale, packedstring, process, unix @@ -184470,6 +198786,7 @@ self: { description = "Riot is an Information Organisation Tool"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) ncurses;}; "ripple" = callPackage @@ -184540,6 +198857,7 @@ self: { description = "Reduced instruction set i386 simulator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "riscv-isa" = callPackage @@ -184555,6 +198873,7 @@ self: { description = "Haskell representation of the RISC-V instruction set architecture"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rison" = callPackage @@ -184587,6 +198906,7 @@ self: { description = "Rivers are like Streams, but different"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rivet" = callPackage @@ -184601,6 +198921,7 @@ self: { description = "A project management tool for Haskell applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rivet-adaptor-postgresql" = callPackage @@ -184649,6 +198970,7 @@ self: { description = "Postgresql migration support for project management tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rivet-simple-deploy" = callPackage @@ -184661,6 +198983,7 @@ self: { description = "Basic deployment support for project management tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rl-satton" = callPackage @@ -184687,6 +199010,7 @@ self: { description = "Collection of Reinforcement Learning algorithms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rlglue" = callPackage @@ -184710,6 +199034,7 @@ self: { description = "A Haskell codec for RL-Glue"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rlist" = callPackage @@ -184746,6 +199071,7 @@ self: { description = "Ring-LWE/LWR challenges using Lol"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rmonad" = callPackage @@ -184763,6 +199089,7 @@ self: { description = "Restricted monad library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rncryptor" = callPackage @@ -184791,7 +199118,6 @@ self: { benchmarkHaskellDepends = [ base bytestring criterion ]; description = "Haskell implementation of the RNCryptor file format"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "rng-utils" = callPackage @@ -184809,6 +199135,8 @@ self: { benchmarkHaskellDepends = [ base criterion ]; description = "RNG within an IORef for convenient concurrent use"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rob" = callPackage @@ -184831,6 +199159,7 @@ self: { description = "Simple projects generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "robin" = callPackage @@ -184851,6 +199180,7 @@ self: { description = "A build daemon for Haskell development"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "robot" = callPackage @@ -184885,6 +199215,7 @@ self: { description = "Parser for robots.txt"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "roc-cluster" = callPackage @@ -184900,6 +199231,7 @@ self: { description = "ROC online clustering algorithm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "roc-cluster-demo" = callPackage @@ -184918,6 +199250,7 @@ self: { description = "Gloss interactive demo for roc-cluster package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "roc-id" = callPackage @@ -184939,6 +199272,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "rock" = callPackage + ({ mkDerivation, base, dependent-map, dependent-sum + , deriving-compat, mtl, protolude, transformers + }: + mkDerivation { + pname = "rock"; + version = "0.1.0.1"; + sha256 = "1a70c55k10algfbc77maaa8p2l16xkml6kddza52ab0vv8dn98d3"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base dependent-map dependent-sum deriving-compat mtl protolude + transformers + ]; + description = "A build system for incremental, parallel, and demand-driven computations"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "rocksdb-haskell" = callPackage ({ mkDerivation, base, binary, bytestring, data-default, directory , filepath, hspec, hspec-expectations, process, QuickCheck @@ -185064,6 +199415,7 @@ self: { description = "Bindings to Roku's External Control API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "roles" = callPackage @@ -185114,6 +199466,7 @@ self: { description = "Core Rollbar data types and APIs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "roller" = callPackage @@ -185135,6 +199488,7 @@ self: { description = "Playing with applicatives and dice!"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rolling-queue" = callPackage @@ -185181,20 +199535,20 @@ self: { "ron" = callPackage ({ mkDerivation, aeson, attoparsec, base, binary, bytestring , containers, criterion, deepseq, hashable, integer-gmp, mtl - , template-haskell, text, time, unordered-containers + , scientific, template-haskell, text, time, unordered-containers }: mkDerivation { pname = "ron"; - version = "0.5"; - sha256 = "1czcpcc52sv1m4wj66wsbjscb5g2wrg22spvi1qsxgpjjs3grj1f"; + version = "0.8"; + sha256 = "1j5agf0367ldn3jb1jwgi9x9r4sss4jb93j6sgw5w9yzgqj23i8w"; libraryHaskellDepends = [ aeson attoparsec base binary bytestring containers hashable - integer-gmp mtl template-haskell text time unordered-containers + integer-gmp mtl scientific template-haskell text time + unordered-containers ]; benchmarkHaskellDepends = [ base criterion deepseq integer-gmp ]; description = "RON"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ron-rdt" = callPackage @@ -185203,8 +199557,8 @@ self: { }: mkDerivation { pname = "ron-rdt"; - version = "0.5"; - sha256 = "0djqbr5wiillk0ksbhvnswrxq3jz8cfd7m2kw0g1207kd29vvbd3"; + version = "0.8"; + sha256 = "1k8xyxi5s3c1q45j51s7ssghqq5m5ka3hn29z4wb7inyzllz6ifx"; libraryHaskellDepends = [ base containers Diff hashable integer-gmp mtl ron text time transformers unordered-containers @@ -185220,8 +199574,8 @@ self: { }: mkDerivation { pname = "ron-schema"; - version = "0.5"; - sha256 = "13i7hnl3l890r5y106b957nlvv3v2h6l2gmkq77pizlqlyv73jzi"; + version = "0.8"; + sha256 = "1hqf9wpiwckaj25ljfyfl6dkp53jg31x3wyryc0vwfdy269v8lfb"; libraryHaskellDepends = [ base bytestring containers hedn integer-gmp megaparsec mtl ron ron-rdt template-haskell text transformers @@ -185232,15 +199586,16 @@ self: { "ron-storage" = callPackage ({ mkDerivation, base, bytestring, containers, directory, filepath - , integer-gmp, mtl, network-info, ron, ron-rdt, text, transformers + , integer-gmp, mtl, network-info, ron, ron-rdt, stm, text + , transformers }: mkDerivation { pname = "ron-storage"; - version = "0.5"; - sha256 = "17gq7pxnniigvg7jk6kn87fd5m9bg0glv0mrahhralsb3zdp4klq"; + version = "0.9"; + sha256 = "0bvmy5mya2v64cj3sxvr0mlfp4zc0xy4q33qr6hk3r6k5jwdfqwx"; libraryHaskellDepends = [ base bytestring containers directory filepath integer-gmp mtl - network-info ron ron-rdt text transformers + network-info ron ron-rdt stm text transformers ]; description = "RON Storage"; license = stdenv.lib.licenses.bsd3; @@ -185269,6 +199624,7 @@ self: { description = "Tools for manipulating fingertrees of bytestrings with optional annotations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rope-utf16-splay" = callPackage @@ -185277,8 +199633,8 @@ self: { }: mkDerivation { pname = "rope-utf16-splay"; - version = "0.2.0.0"; - sha256 = "078hkv21maydvks57pz6z3qyz0r4s1c6ypdmlr4xlmakyldrdlc3"; + version = "0.3.1.0"; + sha256 = "1ilcgwmdwqnp95vb7652fc03ji9dnzy6cm24pvbiwi2mhc4piy6b"; libraryHaskellDepends = [ base text ]; testHaskellDepends = [ base QuickCheck tasty tasty-hunit tasty-quickcheck text @@ -185333,6 +199689,7 @@ self: { description = "A collection of rose tree structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rose-trie" = callPackage @@ -185349,6 +199706,7 @@ self: { description = "Trees with polymorphic paths to nodes, combining properties of Rose Trees and Tries"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rosezipper" = callPackage @@ -185393,6 +199751,7 @@ self: { description = "Haskell support for the ROS robotics framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rosmsg" = callPackage @@ -185411,6 +199770,7 @@ self: { description = "ROS message parser, render, TH"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rosmsg-bin" = callPackage @@ -185429,6 +199789,7 @@ self: { description = "ROS message management tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rospkg" = callPackage @@ -185461,6 +199822,7 @@ self: { description = "General purpose utility library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rot13" = callPackage @@ -185526,6 +199888,7 @@ self: { description = "Correctly-rounded arbitrary-precision floating-point arithmetic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) gmp; inherit (pkgs) mpfr;}; "rounding" = callPackage @@ -185538,6 +199901,7 @@ self: { description = "Explicit floating point rounding mode wrappers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "roundtrip" = callPackage @@ -185556,6 +199920,7 @@ self: { description = "Bidirectional (de-)serialization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "roundtrip-aeson" = callPackage @@ -185577,6 +199942,7 @@ self: { description = "Un-/parse JSON with roundtrip invertible syntax definitions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "roundtrip-string" = callPackage @@ -185589,6 +199955,7 @@ self: { description = "Bidirectional (de-)serialization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "roundtrip-xml" = callPackage @@ -185611,6 +199978,7 @@ self: { description = "Bidirectional (de-)serialization for XML"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "route-generator" = callPackage @@ -185646,6 +200014,7 @@ self: { description = "A library and utilities for creating a route"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "row" = callPackage @@ -185665,17 +200034,18 @@ self: { }) {}; "row-types" = callPackage - ({ mkDerivation, base, constraints, criterion, deepseq, hashable - , text, unordered-containers + ({ mkDerivation, base, constraints, criterion, deepseq + , generic-lens, hashable, profunctors, text, unordered-containers }: mkDerivation { pname = "row-types"; - version = "0.2.3.0"; - sha256 = "1dihp1bd6aw2hn2jbrg9kgq0rvbspbfwvcx6vv9zrq2j0jbbq250"; + version = "0.3.0.0"; + sha256 = "1w1xzkvg9fakz1d8a3dkfyi32gm52abrbky2knf8vhz6k5xc645i"; libraryHaskellDepends = [ - base constraints deepseq hashable text unordered-containers + base constraints deepseq generic-lens hashable profunctors text + unordered-containers ]; - testHaskellDepends = [ base ]; + testHaskellDepends = [ base generic-lens ]; benchmarkHaskellDepends = [ base criterion deepseq ]; description = "Open Records and Variants"; license = stdenv.lib.licenses.mit; @@ -185715,6 +200085,7 @@ self: { description = "Build records from lists of strings, as from CSV files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rpc" = callPackage @@ -185732,6 +200103,7 @@ self: { description = "type safe rpcs provided as basic IO actions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rpc-framework" = callPackage @@ -185751,6 +200123,7 @@ self: { description = "a remote procedure call framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rpf" = callPackage @@ -185771,6 +200144,7 @@ self: { description = "Receiver Policy Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rpm" = callPackage @@ -185785,6 +200159,7 @@ self: { description = "Cozy little project to question unruly rpm packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rpmbuild-order" = callPackage @@ -185823,6 +200198,7 @@ self: { description = "The RogueStar Animation and Graphics Library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rsagl-frp" = callPackage @@ -185839,6 +200215,7 @@ self: { description = "The RogueStar Animation and Graphics Library: Functional Reactive Programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rsagl-math" = callPackage @@ -185856,6 +200233,7 @@ self: { description = "The RogueStar Animation and Graphics Library: Mathematics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rset" = callPackage @@ -185881,6 +200259,7 @@ self: { description = "A Rational Street Performer Protocol solver"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rss" = callPackage @@ -185923,6 +200302,7 @@ self: { description = "Streaming parser/renderer for the RSS standard"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rss2irc" = callPackage @@ -185947,6 +200327,7 @@ self: { description = "watches an RSS/Atom feed and writes it to an IRC channel"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rstream" = callPackage @@ -185968,8 +200349,8 @@ self: { }: mkDerivation { pname = "rtcm"; - version = "0.2.36"; - sha256 = "0gvkah51mnqpy20v2f3n1gvad1abmbkxljm4pz3yh3x9mkscnc2m"; + version = "0.2.39"; + sha256 = "1hqsbi1bazdsy62qp1rmwmrqsp3dhm9i9iksj7d5iyfndciijpjs"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -186011,27 +200392,29 @@ self: { libraryToolDepends = [ c2hs ]; description = "Bindings to librtlsdr"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) rtl-sdr;}; "rtnetlink" = callPackage - ({ mkDerivation, base, bytestring, cereal, hspec, monad-loops, mtl - , pretty-hex, random, socket, transformers, unix + ({ mkDerivation, base, bits-bytestring, bytestring, cereal + , exceptions, hspec, linux-namespaces, pretty-hex, random, socket + , transformers, unix }: mkDerivation { pname = "rtnetlink"; - version = "0.1.0.4"; - sha256 = "0z07ckrjkycfsh7a4llz7sr0fp9p1890kn5nd3imgmrs1d5s0wir"; + version = "0.2.0.1"; + sha256 = "1ly3cgkbnz24p33vlgbllmxx25f0b3d1rzr05gzcnhjlg7nxwwga"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base bytestring cereal monad-loops mtl pretty-hex random socket - transformers unix + base bits-bytestring bytestring cereal exceptions pretty-hex random + socket transformers unix + ]; + testHaskellDepends = [ + base bytestring exceptions hspec linux-namespaces socket unix ]; - testHaskellDepends = [ base hspec socket unix ]; description = "Manipulate network devices, addresses, and routes on Linux"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "rtorrent-rpc" = callPackage @@ -186049,6 +200432,7 @@ self: { description = "A library for communicating with RTorrent over its XML-RPC interface"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rtorrent-state" = callPackage @@ -186089,6 +200473,7 @@ self: { description = "Dynamically load Haskell libraries"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rubberband" = callPackage @@ -186106,7 +200491,7 @@ self: { testHaskellDepends = [ base ]; description = "Binding to the C++ audio stretching library Rubber Band"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) rubberband;}; "ruby-marshal" = callPackage @@ -186115,8 +200500,8 @@ self: { }: mkDerivation { pname = "ruby-marshal"; - version = "0.1.2"; - sha256 = "13s017sqim92yz9r3x8zc4by1hksncikavsn12kf42vv58k95g1p"; + version = "0.1.3"; + sha256 = "0syjd9fmp55cfkq1kb78pvx0vg9dk43s5w4q2a8ndd1fkg194jwx"; libraryHaskellDepends = [ base bytestring cereal containers mtl string-conv vector ]; @@ -186126,6 +200511,7 @@ self: { description = "Parse a subset of Ruby objects serialised with Marshal.dump."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ruby-qq" = callPackage @@ -186143,6 +200529,7 @@ self: { description = "rubyish quasiquoters"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ruff" = callPackage @@ -186176,6 +200563,7 @@ self: { description = "Pliable records"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ruler" = callPackage @@ -186195,6 +200583,7 @@ self: { description = "Ruler tool for UHC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ruler-core" = callPackage @@ -186213,6 +200602,20 @@ self: { ]; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "run-st" = callPackage + ({ mkDerivation, base, primitive, primitive-unlifted }: + mkDerivation { + pname = "run-st"; + version = "0.1.0.0"; + sha256 = "0gy5qkq8g7azfp170nsvbfdmj4k058zzfz6imvm2yvbqsny6i77a"; + libraryHaskellDepends = [ base primitive primitive-unlifted ]; + description = "runST without boxing penalty"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rungekutta" = callPackage @@ -186225,6 +200628,7 @@ self: { description = "A collection of explicit Runge-Kutta methods of various orders"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "runghc" = callPackage @@ -186260,6 +200664,7 @@ self: { description = "Run multiple commands, interleaving output and errors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "runmemo" = callPackage @@ -186283,6 +200688,7 @@ self: { description = "Runtime generation of Arbitrary values"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "rv" = callPackage @@ -186346,6 +200752,7 @@ self: { description = "Packet Generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "s-cargot" = callPackage @@ -186388,6 +200795,7 @@ self: { description = "simple general-purpose s-expressions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "s3-signer" = callPackage @@ -186433,6 +200841,7 @@ self: { description = "A simple environment to control access to data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safe-buffer-monad" = callPackage @@ -186449,6 +200858,7 @@ self: { description = "A monadic buffer resilient to exceptions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safe-coerce" = callPackage @@ -186462,6 +200872,23 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "safe-decimal" = callPackage + ({ mkDerivation, base, deepseq, exceptions, hspec, hspec-discover + , QuickCheck, scientific + }: + mkDerivation { + pname = "safe-decimal"; + version = "0.1.0.0"; + sha256 = "10y618swfxvz38fm95i6jbki5ax6w6xxhrdizqlrbwnqdjlsj681"; + revision = "1"; + editedCabalFile = "0449df25rah097rsbrbkb8sb4n80yms06isg0g8mp7v8ah4ssrs3"; + libraryHaskellDepends = [ base deepseq exceptions scientific ]; + testHaskellDepends = [ base deepseq hspec QuickCheck scientific ]; + testToolDepends = [ hspec-discover ]; + description = "Safe and very efficient arithmetic operations on fixed decimal point numbers"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "safe-exceptions" = callPackage ({ mkDerivation, base, deepseq, exceptions, hspec, transformers , void @@ -186519,6 +200946,7 @@ self: { description = "control-monad-exception Instances for safe-failure"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safe-foldable" = callPackage @@ -186542,6 +200970,7 @@ self: { description = "Support for safely freezing multiple arrays in the ST monad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safe-globals" = callPackage @@ -186554,6 +200983,33 @@ self: { description = "Safe top-level mutable variables which scope like ordinary values"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "safe-json" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, dlist + , generic-arbitrary, hashable, quickcheck-instances, scientific + , tasty, tasty-hunit, tasty-quickcheck, temporary, text, time + , unordered-containers, uuid, uuid-types, vector + }: + mkDerivation { + pname = "safe-json"; + version = "0.1.0"; + sha256 = "17h5z20fcqp6gsmml1zqhckxgvc7jrx4mzdcqbsjlmpy52hb0lxq"; + libraryHaskellDepends = [ + aeson base bytestring containers dlist hashable scientific tasty + tasty-hunit tasty-quickcheck text time unordered-containers + uuid-types vector + ]; + testHaskellDepends = [ + aeson base bytestring containers dlist generic-arbitrary hashable + quickcheck-instances scientific tasty tasty-hunit tasty-quickcheck + temporary text time unordered-containers uuid uuid-types vector + ]; + description = "Automatic JSON format versioning"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safe-lazy-io" = callPackage @@ -186569,6 +201025,7 @@ self: { description = "A library providing safe lazy IO features"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safe-length" = callPackage @@ -186587,6 +201044,7 @@ self: { description = "Tired of accidentally calling length on tuples? Relief at last!"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safe-money" = callPackage @@ -186596,8 +201054,8 @@ self: { }: mkDerivation { pname = "safe-money"; - version = "0.7"; - sha256 = "1cwha4s0dckdb7xrh1snxrismzr5gq586l9vmih9gmy2nrrw69y9"; + version = "0.9"; + sha256 = "0c3xpsydqgcz183klmhgdn3xdagrj0falfqb63cmknk77z610s7f"; libraryHaskellDepends = [ base binary constraints deepseq hashable QuickCheck text vector-space @@ -186608,7 +201066,6 @@ self: { ]; description = "Type-safe and lossless encoding and manipulation of money, fiat currencies, crypto currencies and precious metals"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "safe-money-aeson" = callPackage @@ -186617,8 +201074,8 @@ self: { }: mkDerivation { pname = "safe-money-aeson"; - version = "0.1"; - sha256 = "0qifhkyjgxfnfmbmysc4ma3hvyi2l0c238c75wlf5x1hz8q1ka8p"; + version = "0.1.1"; + sha256 = "1m8wwgxz632l5palqzjigk34c62qkbhqdy36wfnj50vh3d675c23"; libraryHaskellDepends = [ aeson base safe-money text ]; testHaskellDepends = [ aeson base bytestring safe-money tasty tasty-hunit tasty-quickcheck @@ -186626,7 +201083,6 @@ self: { ]; description = "Instances from the aeson library for the safe-money library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "safe-money-cereal" = callPackage @@ -186635,8 +201091,8 @@ self: { }: mkDerivation { pname = "safe-money-cereal"; - version = "0.1"; - sha256 = "02bzl1r4vymnb0xyagzrcgb2kxr892wivyasp7dkn41shgafaqzb"; + version = "0.1.1"; + sha256 = "0ppsaryp1pzbikjf3v5v73gjy8dg3h73yk72xcm3xmhna4msvia4"; libraryHaskellDepends = [ base cereal safe-money ]; testHaskellDepends = [ base bytestring cereal safe-money tasty tasty-hunit @@ -186644,7 +201100,6 @@ self: { ]; description = "Instances from the cereal library for the safe-money library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "safe-money-serialise" = callPackage @@ -186653,8 +201108,8 @@ self: { }: mkDerivation { pname = "safe-money-serialise"; - version = "0.1"; - sha256 = "16h8yf622szzc3v5xa2s7fsjaxk7cx9hqngjn796sdcg681g7xf5"; + version = "0.1.1"; + sha256 = "1v3pqsnjid6fyxr7ybxdyn6f4c3z9kh2s1f3hh75q5adgw80pbp6"; libraryHaskellDepends = [ base bytestring safe-money serialise ]; testHaskellDepends = [ base bytestring safe-money serialise tasty tasty-hunit @@ -186662,7 +201117,6 @@ self: { ]; description = "Instances from the serialise library for the safe-money library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "safe-money-store" = callPackage @@ -186671,8 +201125,8 @@ self: { }: mkDerivation { pname = "safe-money-store"; - version = "0.1"; - sha256 = "0hbqichsmxd3xw1abcdyyyg1rrzfkfmywgj47f4yv6pmmvihrkh8"; + version = "0.1.1"; + sha256 = "1hav6sk8vnfpn773a1baqclklq04c4dhz6ihirwlbxaz7wdl78qj"; libraryHaskellDepends = [ base bytestring safe-money store ]; testHaskellDepends = [ base bytestring safe-money store tasty tasty-hunit tasty-quickcheck @@ -186681,6 +201135,7 @@ self: { description = "Instances from the store library for the safe-money library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safe-money-xmlbf" = callPackage @@ -186689,8 +201144,8 @@ self: { }: mkDerivation { pname = "safe-money-xmlbf"; - version = "0.1"; - sha256 = "022mcl1gwvwjpjv56938bpklc15r9m6xvsyjhxmnb6d8apjzhpxk"; + version = "0.1.2"; + sha256 = "04jpv05w1q2xdmh78i5xy3j48vk7qsnb0dpjr3zfbqs0qwpc9vld"; libraryHaskellDepends = [ base safe-money text xmlbf ]; testHaskellDepends = [ base bytestring safe-money tasty tasty-hunit tasty-quickcheck text @@ -186698,7 +201153,6 @@ self: { ]; description = "Instances from the xmlbf library for the safe-money library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "safe-plugins" = callPackage @@ -186715,6 +201169,7 @@ self: { description = "A small wrapper over hs-plugins to allow loading safe plugins"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safe-printf" = callPackage @@ -186735,6 +201190,7 @@ self: { description = "Well-typed, flexible and variadic printf for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safecopy" = callPackage @@ -186798,6 +201254,7 @@ self: { description = "Binary serialization with version control"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safeint" = callPackage @@ -186816,6 +201273,7 @@ self: { description = "overflow-checked Int type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safeio" = callPackage @@ -186851,6 +201309,7 @@ self: { description = "Safe Paths in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safer-file-handles" = callPackage @@ -186868,6 +201327,7 @@ self: { description = "Type-safe file handling"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safer-file-handles-bytestring" = callPackage @@ -186885,6 +201345,7 @@ self: { description = "Extends safer-file-handles with ByteString operations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "safer-file-handles-text" = callPackage @@ -186901,6 +201362,7 @@ self: { description = "Extends safer-file-handles with Text operations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "saferoute" = callPackage @@ -186913,6 +201375,7 @@ self: { description = "A simple type-safe routing library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sai-shape-syb" = callPackage @@ -186929,6 +201392,7 @@ self: { description = "Obtain homogeneous values from arbitrary values, transforming or culling data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sajson" = callPackage @@ -186952,6 +201416,7 @@ self: { description = "Fast JSON parsing powered by Chad Austin's sajson library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sakuraio-platform" = callPackage @@ -186975,48 +201440,108 @@ self: { }) {}; "salak" = callPackage - ({ mkDerivation, aeson, base, directory, filepath, hspec, menshen - , mtl, QuickCheck, scientific, stm, text, transformers - , unordered-containers, vector, yaml + ({ mkDerivation, base, bytestring, containers, criterion + , data-default, directory, dlist, exceptions, filepath, hashable + , heaps, hspec, hspec-discover, megaparsec, menshen, mtl + , QuickCheck, random, scientific, text, time, unliftio-core + , unordered-containers }: mkDerivation { pname = "salak"; - version = "0.1.8"; - sha256 = "1y8vssnp8q9hmhf3jckj8c7pgjmvz4wmvm8m5xwlnn9ll8csxs0q"; + version = "0.3.5.1"; + sha256 = "0g41h9a89cp24cm99q1lgiyz794szf85hinybbjz75s33a3lykgv"; libraryHaskellDepends = [ - aeson base directory filepath menshen mtl scientific stm text - transformers unordered-containers vector yaml + base bytestring containers data-default directory dlist exceptions + filepath hashable heaps megaparsec menshen mtl scientific text time + unliftio-core unordered-containers ]; testHaskellDepends = [ - aeson base directory filepath hspec menshen mtl QuickCheck - scientific stm text transformers unordered-containers vector yaml + base bytestring containers data-default directory dlist exceptions + filepath hashable heaps hspec megaparsec menshen mtl QuickCheck + random scientific text time unliftio-core unordered-containers ]; - description = "Configuration Loader"; - license = stdenv.lib.licenses.bsd3; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + base bytestring containers criterion data-default directory dlist + exceptions filepath hashable heaps megaparsec menshen mtl + scientific text time unliftio-core unordered-containers + ]; + description = "Configuration (re)Loader and Parser"; + license = stdenv.lib.licenses.mit; }) {}; - "salak_0_2_3" = callPackage - ({ mkDerivation, aeson, base, directory, filepath, hspec, menshen - , mtl, QuickCheck, scientific, stm, text, transformers - , unordered-containers, vector, yaml + "salak_0_3_5_2" = callPackage + ({ mkDerivation, base, bytestring, containers, criterion + , data-default, directory, dlist, exceptions, filepath, hashable + , heaps, hspec, hspec-discover, megaparsec, menshen, mtl + , QuickCheck, random, scientific, text, time, unliftio-core + , unordered-containers }: mkDerivation { pname = "salak"; - version = "0.2.3"; - sha256 = "1ifa4gvwm3sri6nmgqsi7vrl7vafyzraz9v2y3a8k7gmn0izkmb5"; + version = "0.3.5.2"; + sha256 = "1zz1dy3350amn9mbkmpysk4ykz8x40bmhrbbkbswrqf5kaa2d7xn"; libraryHaskellDepends = [ - aeson base directory filepath menshen mtl scientific stm text - transformers unordered-containers vector yaml + base bytestring containers data-default directory dlist exceptions + filepath hashable heaps megaparsec menshen mtl scientific text time + unliftio-core unordered-containers ]; testHaskellDepends = [ - aeson base directory filepath hspec menshen mtl QuickCheck - scientific stm text transformers unordered-containers vector yaml + base hspec mtl QuickCheck random scientific text + unordered-containers ]; - description = "Configuration Loader"; - license = stdenv.lib.licenses.bsd3; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + base criterion data-default mtl text time + ]; + description = "Configuration (re)Loader and Parser"; + license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "salak-toml" = callPackage + ({ mkDerivation, base, criterion, exceptions, hspec, mtl + , QuickCheck, salak, text, time, tomland, unordered-containers + }: + mkDerivation { + pname = "salak-toml"; + version = "0.3.5.1"; + sha256 = "1clgsr1aqz2zfnsazhql6m125161yxbfp6q0lc4dllbvdhjygmrf"; + libraryHaskellDepends = [ + base salak text time tomland unordered-containers + ]; + testHaskellDepends = [ + base exceptions hspec mtl QuickCheck salak text time tomland + unordered-containers + ]; + benchmarkHaskellDepends = [ + base criterion salak text time tomland unordered-containers + ]; + description = "Configuration Loader for toml"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "salak-yaml" = callPackage + ({ mkDerivation, base, conduit, criterion, exceptions, hspec + , libyaml, mtl, QuickCheck, salak, text + }: + mkDerivation { + pname = "salak-yaml"; + version = "0.3.5.1"; + sha256 = "1qzpbv2g7ds3dbcfi90ncjrk66vm1kxdkkdx1i49jq9g2xcai9n6"; + libraryHaskellDepends = [ base conduit libyaml salak text ]; + testHaskellDepends = [ + base conduit exceptions hspec libyaml mtl QuickCheck salak text + ]; + benchmarkHaskellDepends = [ + base conduit criterion libyaml salak text + ]; + description = "Configuration Loader for yaml"; + license = stdenv.lib.licenses.mit; + }) {}; + "saltine" = callPackage ({ mkDerivation, base, bytestring, libsodium, profunctors , QuickCheck, semigroups, test-framework @@ -187054,6 +201579,7 @@ self: { description = "Quickcheck implementations for some NaCl data"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libsodium;}; "salve" = callPackage @@ -187087,6 +201613,7 @@ self: { description = "Modular web application framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "salvia-demo" = callPackage @@ -187110,6 +201637,7 @@ self: { description = "Demo Salvia servers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "salvia-extras" = callPackage @@ -187131,6 +201659,7 @@ self: { description = "Collection of non-fundamental handlers for the Salvia web server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "salvia-protocol" = callPackage @@ -187148,6 +201677,7 @@ self: { description = "Salvia webserver protocol suite supporting URI, HTTP, Cookie and MIME"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "salvia-sessions" = callPackage @@ -187166,6 +201696,7 @@ self: { description = "Session support for the Salvia webserver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "salvia-websocket" = callPackage @@ -187183,6 +201714,7 @@ self: { description = "Websocket implementation for the Salvia Webserver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sample-frame" = callPackage @@ -187242,6 +201774,7 @@ self: { description = "Binding to the C samtools library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) zlib;}; "samtools-conduit" = callPackage @@ -187263,6 +201796,7 @@ self: { description = "Conduit interface to SAM/BAM format files through samtools"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "samtools-enumerator" = callPackage @@ -187279,6 +201813,7 @@ self: { description = "Enumerator interface to SamTools library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "samtools-iteratee" = callPackage @@ -187296,6 +201831,7 @@ self: { description = "Iteratee interface to SamTools library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sandi" = callPackage @@ -187306,6 +201842,8 @@ self: { pname = "sandi"; version = "0.5"; sha256 = "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"; + revision = "1"; + editedCabalFile = "1aj9i1ir6ks3bdb47yvqlxv2azrz09p69ggr73m0cxvir9rd0y5j"; libraryHaskellDepends = [ base bytestring conduit exceptions ]; testHaskellDepends = [ base bytestring tasty tasty-hunit tasty-quickcheck tasty-th @@ -187325,6 +201863,7 @@ self: { description = "SAND data serialization and manipulation library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sandman" = callPackage @@ -187355,6 +201894,7 @@ self: { description = "audio library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sarsi" = callPackage @@ -187383,6 +201923,7 @@ self: { description = "A universal quickfix toolkit and his protocol"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sasl" = callPackage @@ -187400,6 +201941,7 @@ self: { description = "SASL implementation using simple-pipe"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sat" = callPackage @@ -187414,6 +201956,7 @@ self: { description = "CNF SATisfier"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sat-micro-hs" = callPackage @@ -187432,6 +201975,7 @@ self: { description = "A minimal SAT solver"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "satchmo" = callPackage @@ -187451,6 +201995,7 @@ self: { description = "SAT encoding monad"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "satchmo-backends" = callPackage @@ -187467,6 +202012,7 @@ self: { description = "driver for external satchmo backends"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "satchmo-examples" = callPackage @@ -187485,6 +202031,7 @@ self: { description = "examples that show how to use satchmo"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "satchmo-funsat" = callPackage @@ -187501,6 +202048,7 @@ self: { description = "funsat driver as backend for satchmo"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "satchmo-minisat" = callPackage @@ -187513,6 +202061,7 @@ self: { description = "minisat driver as backend for satchmo"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "satchmo-toysat" = callPackage @@ -187529,6 +202078,7 @@ self: { description = "toysat driver as backend for satchmo"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "savage" = callPackage @@ -187548,6 +202098,7 @@ self: { description = "re-export of the random generators from Hedgehog"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sax" = callPackage @@ -187567,6 +202118,7 @@ self: { description = "Monadic streaming XML parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "say" = callPackage @@ -187589,15 +202141,16 @@ self: { }) {}; "sbp" = callPackage - ({ mkDerivation, aeson, array, base, base64-bytestring - , basic-prelude, binary, binary-conduit, bytestring, conduit - , conduit-extra, data-binary-ieee754, lens, lens-aeson, monad-loops - , resourcet, tasty, tasty-hunit, template-haskell, text, time, yaml + ({ mkDerivation, aeson, aeson-pretty, array, base + , base64-bytestring, basic-prelude, binary, binary-conduit + , bytestring, cmdargs, conduit, conduit-extra, data-binary-ieee754 + , lens, lens-aeson, monad-loops, resourcet, tasty, tasty-hunit + , template-haskell, text, time, yaml }: mkDerivation { pname = "sbp"; - version = "2.4.7"; - sha256 = "1ik254jzgazlbjm09nms8imansk8nb7hhghzyqjcgywg45i119i3"; + version = "2.6.3"; + sha256 = "03d2wa73lg5l417c39di742x5x00bjjbqp7wkyr2vkpy04ilqvii"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -187606,8 +202159,8 @@ self: { text ]; executableHaskellDepends = [ - aeson base basic-prelude binary-conduit bytestring conduit - conduit-extra resourcet time yaml + aeson aeson-pretty base basic-prelude binary-conduit bytestring + cmdargs conduit conduit-extra resourcet time yaml ]; testHaskellDepends = [ base basic-prelude tasty tasty-hunit ]; description = "SwiftNav's SBP Library"; @@ -187635,33 +202188,6 @@ self: { }) {}; "sbv" = callPackage - ({ mkDerivation, array, async, base, bytestring, containers - , crackNum, deepseq, directory, doctest, filepath, generic-deriving - , ghc, Glob, hlint, mtl, pretty, process, QuickCheck, random, syb - , tasty, tasty-golden, tasty-hunit, tasty-quickcheck - , template-haskell, time, z3 - }: - mkDerivation { - pname = "sbv"; - version = "7.13"; - sha256 = "0bk400swnb4s98c5p71ml1px6jndaiqhf5dj7zmnliyplqcgpfik"; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - array async base containers crackNum deepseq directory filepath - generic-deriving ghc mtl pretty process QuickCheck random syb - template-haskell time - ]; - testHaskellDepends = [ - base bytestring containers crackNum directory doctest filepath Glob - hlint mtl QuickCheck random syb tasty tasty-golden tasty-hunit - tasty-quickcheck template-haskell - ]; - testSystemDepends = [ z3 ]; - description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving"; - license = stdenv.lib.licenses.bsd3; - }) {inherit (pkgs) z3;}; - - "sbv_8_0" = callPackage ({ mkDerivation, array, async, base, bytestring, containers , crackNum, deepseq, directory, doctest, filepath, generic-deriving , ghc, Glob, hlint, mtl, pretty, process, QuickCheck, random, syb @@ -187670,8 +202196,8 @@ self: { }: mkDerivation { pname = "sbv"; - version = "8.0"; - sha256 = "1bv5vf8r892q5ykh4xnzrczay6i423rbyk3rdz3z5ch4fyisvlrj"; + version = "8.3"; + sha256 = "0d2ph3wr6qga3x43w7xlrvdr63zzsx4x3xn8p7l994b6i7d6rdzd"; enableSeparateDataOutput = true; libraryHaskellDepends = [ array async base containers crackNum deepseq directory filepath @@ -187687,6 +202213,7 @@ self: { description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) z3;}; "sbvPlugin" = callPackage @@ -187707,6 +202234,7 @@ self: { description = "Formally prove properties of Haskell programs using SBV/SMT"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sc2-lowlevel" = callPackage @@ -187726,6 +202254,8 @@ self: { ]; description = "Low-level Starcraft II API"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sc2-proto" = callPackage @@ -187745,6 +202275,8 @@ self: { libraryToolDepends = [ proto-lens-protoc protoc ]; description = "A protocol buffer model for the Starcraft II bot API"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {protoc = null;}; "sc2-support" = callPackage @@ -187802,6 +202334,7 @@ self: { description = "Haskell bindings to sc3-rdu (sc3 rd ugens)"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scalable-server" = callPackage @@ -187820,6 +202353,7 @@ self: { description = "Library for writing fast/scalable TCP-based services"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scaleimage" = callPackage @@ -187834,6 +202368,7 @@ self: { description = "Scale an image to a new geometry"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scalendar" = callPackage @@ -187851,6 +202386,7 @@ self: { description = "This is a library for handling calendars and resource availability based on the \"top-nodes algorithm\" and set operations"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scalp-webhooks" = callPackage @@ -187878,24 +202414,10 @@ self: { description = "Test webhooks locally"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scalpel" = callPackage - ({ mkDerivation, base, bytestring, curl, data-default, scalpel-core - , tagsoup, text - }: - mkDerivation { - pname = "scalpel"; - version = "0.5.1"; - sha256 = "03cbc0yahs8pzp1jz0mvfnd9sl80zd3ql18l9xswm8kh6m1ndpr0"; - libraryHaskellDepends = [ - base bytestring curl data-default scalpel-core tagsoup text - ]; - description = "A high level web scraping library for Haskell"; - license = stdenv.lib.licenses.asl20; - }) {}; - - "scalpel_0_6_0" = callPackage ({ mkDerivation, base, bytestring, case-insensitive, data-default , http-client, http-client-tls, scalpel-core, tagsoup, text }: @@ -187909,29 +202431,9 @@ self: { ]; description = "A high level web scraping library for Haskell"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "scalpel-core" = callPackage - ({ mkDerivation, base, bytestring, containers, criterion - , data-default, fail, HUnit, regex-base, regex-tdfa, tagsoup, text - , vector - }: - mkDerivation { - pname = "scalpel-core"; - version = "0.5.1"; - sha256 = "1a99wazrgpvnjzsjk5az61f54hvppdxrrp2487nzndxpadlbh1cc"; - libraryHaskellDepends = [ - base bytestring containers data-default fail regex-base regex-tdfa - tagsoup text vector - ]; - testHaskellDepends = [ base HUnit regex-base regex-tdfa tagsoup ]; - benchmarkHaskellDepends = [ base criterion tagsoup text ]; - description = "A high level web scraping library for Haskell"; - license = stdenv.lib.licenses.asl20; - }) {}; - - "scalpel-core_0_6_0" = callPackage ({ mkDerivation, base, bytestring, containers, criterion , data-default, fail, HUnit, pointedlist, regex-base, regex-tdfa , tagsoup, text, vector @@ -187948,7 +202450,6 @@ self: { benchmarkHaskellDepends = [ base criterion tagsoup text ]; description = "A high level web scraping library for Haskell"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "scan" = callPackage @@ -187964,6 +202465,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "scan-metadata" = callPackage + ({ mkDerivation, aeson, antiope-core, antiope-s3, base, bytestring + , containers, generic-lens, hw-aeson, hw-ip, lens, mtl, text, thyme + , unliftio-core + }: + mkDerivation { + pname = "scan-metadata"; + version = "0.2.1.0"; + sha256 = "0qkvx4mpa8pmsfakxg6nl711qzpsc7jx0jcwsmnsf9ms6ij1gvya"; + libraryHaskellDepends = [ + aeson antiope-core antiope-s3 base bytestring containers + generic-lens hw-aeson hw-ip lens mtl text thyme unliftio-core + ]; + description = "Metadata types for Albedo Scanners"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "scan-vector-machine" = callPackage ({ mkDerivation, accelerate, array, base, dph-base, HUnit }: mkDerivation { @@ -187975,6 +202495,7 @@ self: { description = "An implementation of the Scan Vector Machine instruction set in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scanf" = callPackage @@ -188039,7 +202560,6 @@ self: { ]; description = "Generates unique passwords for various websites from a single password"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "scc" = callPackage @@ -188073,6 +202593,7 @@ self: { description = "Streaming component combinators"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scenegraph" = callPackage @@ -188090,6 +202611,7 @@ self: { description = "Scene Graph"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scgi" = callPackage @@ -188123,6 +202645,7 @@ self: { description = "Marge schedules and show EVR"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "schedule-planner" = callPackage @@ -188143,6 +202666,33 @@ self: { description = "Find the ideal lesson layout"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "scheduler" = callPackage + ({ mkDerivation, async, atomic-primops, base, Cabal, cabal-doctest + , criterion, deepseq, doctest, exceptions, fib, genvalidity-hspec + , hspec, monad-par, mwc-random, parallel, primitive, QuickCheck + , streamly, template-haskell, unliftio, unliftio-core, vector + }: + mkDerivation { + pname = "scheduler"; + version = "1.4.2"; + sha256 = "0px7k4lq758s8303fx690pzzigqi26m45wxpapj9pgl4kar45jzc"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + atomic-primops base deepseq exceptions primitive unliftio-core + ]; + testHaskellDepends = [ + base deepseq doctest genvalidity-hspec hspec mwc-random QuickCheck + template-haskell unliftio vector + ]; + benchmarkHaskellDepends = [ + async base criterion deepseq fib monad-par parallel streamly + unliftio + ]; + description = "Work stealing scheduler"; + license = stdenv.lib.licenses.bsd3; }) {}; "schedyield" = callPackage @@ -188155,6 +202705,7 @@ self: { description = "Exposes standard POSIX function sched_yield"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "schema" = callPackage @@ -188178,8 +202729,8 @@ self: { }: mkDerivation { pname = "schematic"; - version = "0.4.2.0"; - sha256 = "0k63pnv8mip8kn623s5n7w24bd4spjmi1a9h280nf7wd1q8z72n4"; + version = "0.5.0.0"; + sha256 = "0mq38m08gj90gyk38lj4vyyfz0d6qrpxlpqjizqvyj4k3hqqy4ka"; libraryHaskellDepends = [ aeson base bytestring containers hjsonschema mtl profunctors regex-tdfa regex-tdfa-text scientific singletons smallcheck tagged @@ -188196,6 +202747,7 @@ self: { description = "JSON-biased spec and validation tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scholdoc" = callPackage @@ -188241,6 +202793,7 @@ self: { description = "Converts ScholarlyMarkdown documents to HTML5/LaTeX/Docx format"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scholdoc-citeproc" = callPackage @@ -188275,6 +202828,7 @@ self: { description = "Scholdoc fork of pandoc-citeproc"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scholdoc-texmath" = callPackage @@ -188298,6 +202852,7 @@ self: { description = "Scholdoc fork of texmath"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scholdoc-types" = callPackage @@ -188314,6 +202869,7 @@ self: { description = "Scholdoc fork of pandoc-types"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "schonfinkeling" = callPackage @@ -188339,6 +202895,39 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "scidb-hquery" = callPackage + ({ mkDerivation, alex, array, base, BNFC, bytestring, Cabal + , connection, cryptonite, data-default-class, directory, exceptions + , filepath, happy, haskeline, hostname-validate, HTTP, http-client + , http-client-tls, http-conduit, http-types, memory, mtl, network + , process, regex, safe, split, terminal-size, text, tls, x509-store + }: + mkDerivation { + pname = "scidb-hquery"; + version = "2.8.0.434"; + sha256 = "0q994ac1krcw312nklxxjr9d4r231s50lb2crbpph1swv6h8jwrq"; + isLibrary = true; + isExecutable = true; + setupHaskellDepends = [ base Cabal filepath ]; + libraryHaskellDepends = [ + array base bytestring connection cryptonite data-default-class + exceptions haskeline hostname-validate HTTP http-client + http-client-tls http-conduit http-types memory mtl network process + regex safe split terminal-size text tls x509-store + ]; + libraryToolDepends = [ alex BNFC happy ]; + executableHaskellDepends = [ + array base bytestring connection cryptonite data-default-class + directory exceptions filepath haskeline hostname-validate HTTP + http-client http-client-tls http-conduit http-types memory mtl + network process regex safe split terminal-size text tls x509-store + ]; + description = "Haskell query for SciDB via shim"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "science-constants" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -188363,6 +202952,7 @@ self: { description = "Mathematical/physical/chemical constants"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scientific" = callPackage @@ -188412,6 +203002,7 @@ self: { description = "Haskell IDE library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scion-browser" = callPackage @@ -188447,6 +203038,7 @@ self: { description = "Command-line interface for browsing and searching packages documentation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scons2dot" = callPackage @@ -188461,6 +203053,7 @@ self: { description = "Generates graphviz file of scons dependency information"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scope" = callPackage @@ -188479,6 +203072,7 @@ self: { description = "An interactive renderer for plotting time-series data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scope-cairo" = callPackage @@ -188503,6 +203097,7 @@ self: { description = "An interactive renderer for plotting time-series data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scottish" = callPackage @@ -188521,6 +203116,7 @@ self: { description = "scotty with batteries included"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scotty" = callPackage @@ -188533,10 +203129,10 @@ self: { }: mkDerivation { pname = "scotty"; - version = "0.11.3"; - sha256 = "14570k1klrlwra58zz7ip3j41nc75gaswrp8m4xwlrjzgpdqm70a"; + version = "0.11.4"; + sha256 = "13z0zmginaa1y5iywbbygvb9q3cmfgjkv6n2drs8gfbv3sirrf7i"; revision = "1"; - editedCabalFile = "0pcaw6wr8nqs7pl64pb00zxd359np5x35159lqkqlcziiv0n2g3b"; + editedCabalFile = "1kzp19ff7mh30y6mdqrxngyv7ph3rc95sahlnjzv9wj8j2fb66vn"; libraryHaskellDepends = [ aeson base blaze-builder bytestring case-insensitive data-default-class exceptions fail http-types monad-control mtl @@ -188550,7 +203146,6 @@ self: { testToolDepends = [ hspec-discover ]; description = "Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "scotty-binding-play" = callPackage @@ -188570,6 +203165,7 @@ self: { description = "The Play Framework style data binding in Scotty"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scotty-blaze" = callPackage @@ -188585,6 +203181,7 @@ self: { description = "blaze-html integration for Scotty"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scotty-cookie" = callPackage @@ -188603,7 +203200,6 @@ self: { ]; description = "Cookie management helper functions for Scotty framework"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "scotty-fay" = callPackage @@ -188627,6 +203223,22 @@ self: { description = "Fay integration for Scotty"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "scotty-form" = callPackage + ({ mkDerivation, base, ditto, ditto-lucid, lucid, scotty, text }: + mkDerivation { + pname = "scotty-form"; + version = "0.2.0.0"; + sha256 = "048vfcvi2wmpmg0ldm4fjkszsx498m22fsg0p8xdanbfbfzrzwwa"; + libraryHaskellDepends = [ + base ditto ditto-lucid lucid scotty text + ]; + description = "Html form validation using `ditto`"; + license = stdenv.lib.licenses.gpl2; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scotty-format" = callPackage @@ -188644,6 +203256,7 @@ self: { description = "Response format helper for the Scotty web framework"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scotty-hastache" = callPackage @@ -188661,6 +203274,7 @@ self: { description = "Easy Mustache templating support for Scotty"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scotty-params-parser" = callPackage @@ -188677,7 +203291,6 @@ self: { ]; description = "HTTP-request's query parameters parser abstraction for \"scotty\""; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "scotty-path-normalizer" = callPackage @@ -188690,7 +203303,6 @@ self: { testHaskellDepends = [ base doctest ]; description = "Redirect to a normalized path"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "scotty-resource" = callPackage @@ -188707,6 +203319,7 @@ self: { description = "A Better way of modeling web resources"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scotty-rest" = callPackage @@ -188733,6 +203346,7 @@ self: { description = "Webmachine-style REST library for scotty"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scotty-session" = callPackage @@ -188752,6 +203366,7 @@ self: { description = "Adding session functionality to scotty"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scotty-tls" = callPackage @@ -188765,7 +203380,6 @@ self: { ]; description = "TLS for Scotty"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "scotty-view" = callPackage @@ -188783,6 +203397,7 @@ self: { executableHaskellDepends = [ base scotty text transformers ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scp-streams" = callPackage @@ -188805,6 +203420,7 @@ self: { description = "An SCP protocol implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scrabble-bot" = callPackage @@ -188825,6 +203441,7 @@ self: { description = "Scrabble play generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scrapbook" = callPackage @@ -188852,6 +203469,8 @@ self: { ]; description = "Automatically derive Kotlin class to query servant webservices"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scrape-changes" = callPackage @@ -188879,6 +203498,7 @@ self: { description = "Scrape websites for changes"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "script-monad" = callPackage @@ -188906,6 +203526,7 @@ self: { description = "Stack of error, reader, writer, state, and prompt monad transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scrobble" = callPackage @@ -188929,6 +203550,7 @@ self: { description = "Scrobbling server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scroll" = callPackage @@ -189026,6 +203648,7 @@ self: { description = "Fast CSV lexing on ByteString"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "scyther-proof" = callPackage @@ -189048,6 +203671,7 @@ self: { description = "Automatic generation of Isabelle/HOL correctness proofs for security protocols"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sde-solver" = callPackage @@ -189067,6 +203691,7 @@ self: { description = "Distributed SDE solver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sdf2p1-parser" = callPackage @@ -189092,8 +203717,8 @@ self: { }: mkDerivation { pname = "sdl2"; - version = "2.4.1.0"; - sha256 = "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"; + version = "2.5.0.0"; + sha256 = "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -189103,7 +203728,7 @@ self: { librarySystemDepends = [ SDL2 ]; libraryPkgconfigDepends = [ SDL2 ]; testHaskellDepends = [ base deepseq linear vector weigh ]; - description = "Both high- and low-level bindings to the SDL library (version 2.0.4+)."; + description = "Both high- and low-level bindings to the SDL library (version 2.0.6+)."; license = stdenv.lib.licenses.bsd3; }) {inherit (pkgs) SDL2;}; @@ -189116,7 +203741,6 @@ self: { libraryHaskellDepends = [ base cairo linear sdl2 ]; description = "Render with Cairo on SDL textures"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "sdl2-cairo-image" = callPackage @@ -189133,6 +203757,7 @@ self: { description = "An image loading and rendering library for sdl2 / sdl2-cairo"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sdl2-compositor" = callPackage @@ -189143,6 +203768,8 @@ self: { pname = "sdl2-compositor"; version = "1.2.0.7"; sha256 = "1yfbqxrfhy951qdcf43vx9gxd4jj3l2dq5bz04blchpq4qzm4876"; + revision = "1"; + editedCabalFile = "0hyf1m8vi1zm88fbp4g3l4iz2lhm53mywppr3i72j78dxksyrl3l"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -189155,6 +203782,7 @@ self: { description = "image compositing with sdl2 - declarative style"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sdl2-fps" = callPackage @@ -189163,9 +203791,13 @@ self: { pname = "sdl2-fps"; version = "0.0.2"; sha256 = "0lid8c2fdy43i9qjjn60mzn6mrcfnn1jflmbwfl93gc6ab5fwz63"; + revision = "1"; + editedCabalFile = "09bgygx1il6j4s243frlm4xl0z5drpdqn8fdgsid8m5b2m8c48ya"; libraryHaskellDepends = [ base sdl2 ]; description = "Run of the mill, frames per second timer implementation"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sdl2-gfx" = callPackage @@ -189177,6 +203809,8 @@ self: { pname = "sdl2-gfx"; version = "0.2"; sha256 = "03f541vrp1ifn26kzakamlc5f8pr9rfcf808cp6q5mvmlsvi07lc"; + revision = "1"; + editedCabalFile = "1gdasf1rq7gszfhin521cni8bxfzanvssznfi8m2fkgwz6ichhpv"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -189197,6 +203831,8 @@ self: { pname = "sdl2-image"; version = "2.0.0"; sha256 = "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"; + revision = "1"; + editedCabalFile = "0471p3d1ws5n7r072xgk38n3vzs6ijjkmpv1r05vxn6qninlnq6m"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -189216,6 +203852,8 @@ self: { pname = "sdl2-mixer"; version = "1.1.0"; sha256 = "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"; + revision = "1"; + editedCabalFile = "06h708gbvl5z590p6fn10ck6yxjzyjjbmvk6mxcwgygbj76sw2f8"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -189226,7 +203864,7 @@ self: { libraryPkgconfigDepends = [ SDL2_mixer ]; description = "Bindings to SDL2_mixer"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) SDL2_mixer;}; "sdl2-sprite" = callPackage @@ -189237,6 +203875,8 @@ self: { pname = "sdl2-sprite"; version = "0.0.1"; sha256 = "12xlq32sjvz064fll14ymbxbk52akcp24dm5vfa1x0s41z0x6fnq"; + revision = "1"; + editedCabalFile = "13s78cd2z14ja0cdy4p0j7y45rkj8brlv477jq3fd1v6x10wkrcy"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base sdl2 sdl2-image ]; @@ -189263,7 +203903,7 @@ self: { libraryPkgconfigDepends = [ SDL2 SDL2_ttf ]; description = "Bindings to SDL2_ttf"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) SDL2; inherit (pkgs) SDL2_ttf;}; "sdnv" = callPackage @@ -189288,8 +203928,8 @@ self: { }: mkDerivation { pname = "sdr"; - version = "0.1.0.11"; - sha256 = "0gkf7ql1a40vpb4qaivcyygvlykp4whljmhp2jy37bk56zr45yvv"; + version = "0.1.0.12"; + sha256 = "0nikrpcyb5mihc70cfvxy24bl80jjnabc8dc8y056yx54759jkk8"; libraryHaskellDepends = [ array base bytestring cairo cereal Chart Chart-cairo colour containers Decimal dynamic-graph fftwRaw GLFW-b mwc-random OpenGL @@ -189308,6 +203948,7 @@ self: { license = stdenv.lib.licenses.bsd3; platforms = [ "x86_64-darwin" "x86_64-linux" ]; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "seacat" = callPackage @@ -189344,6 +203985,7 @@ self: { description = "Pure SQL layer on top of other libraries"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "seakale-postgresql" = callPackage @@ -189360,6 +204002,7 @@ self: { description = "PostgreSQL backend for Seakale"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "seakale-tests" = callPackage @@ -189376,6 +204019,7 @@ self: { description = "Helpers to test code using Seakale"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "seal-module" = callPackage @@ -189411,13 +204055,14 @@ self: { ({ mkDerivation, base, containers, doctest, hspec }: mkDerivation { pname = "search-algorithms"; - version = "0.3.0"; - sha256 = "046v424bvfnvf3hw38k9isdn9f05l4jk8k1fb2p3zn5zgb4h77aa"; + version = "0.3.1"; + sha256 = "1803pmk78l29nlgh68y7hndhlmlsabddf78hsva1bq87yhzz1rlv"; libraryHaskellDepends = [ base containers ]; testHaskellDepends = [ base containers doctest hspec ]; description = "Common graph search algorithms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sec" = callPackage @@ -189430,6 +204075,7 @@ self: { description = "Semantic Editor Combinators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "secd" = callPackage @@ -189461,6 +204107,7 @@ self: { description = "SECDH Machine Simulator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "seclib" = callPackage @@ -189473,6 +204120,7 @@ self: { description = "A simple library for static information-flow security in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "second-transfer" = callPackage @@ -189501,6 +204149,7 @@ self: { description = "Second Transfer HTTP/2 web server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "secp256k1" = callPackage @@ -189525,6 +204174,7 @@ self: { description = "Bindings for secp256k1 library from Bitcoin Core"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) secp256k1;}; "secp256k1-haskell" = callPackage @@ -189566,6 +204216,7 @@ self: { description = "Secret Santa game assigner using QR-Codes"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "secret-sharing" = callPackage @@ -189589,6 +204240,7 @@ self: { description = "Information-theoretic secure secret sharing"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "secrm" = callPackage @@ -189603,6 +204255,7 @@ self: { description = "Example of writing \"secure\" file removal in Haskell rather than C"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "secure-sockets" = callPackage @@ -189659,53 +204312,65 @@ self: { description = "Sedna C API XML Binding"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {sedna = null;}; "selda" = callPackage - ({ mkDerivation, base, bytestring, exceptions, hashable, mtl - , psqueues, text, time, unordered-containers + ({ mkDerivation, base, bytestring, containers, exceptions, mtl + , random, text, time, uuid-types }: mkDerivation { pname = "selda"; - version = "0.3.4.0"; - sha256 = "1ww4v30ywmdshcf4fpgqj5ycd9c197xdlvnby366hzsm7byqq8wj"; + version = "0.4.0.0"; + sha256 = "1dqxwhipfran95gknbgab3a2nxxyg7x7m69mxs4jnn2ly97gpvbi"; libraryHaskellDepends = [ - base bytestring exceptions hashable mtl psqueues text time - unordered-containers + base bytestring containers exceptions mtl random text time + uuid-types ]; description = "Multi-backend, high-level EDSL for interacting with SQL databases"; license = stdenv.lib.licenses.mit; }) {}; + "selda-json" = callPackage + ({ mkDerivation, aeson, base, bytestring, selda, text }: + mkDerivation { + pname = "selda-json"; + version = "0.1.0.0"; + sha256 = "0m4qcnj7bplh1wpxnfx5mcpxyy2gpd00886lwmlxfdpch0qg2bd0"; + revision = "1"; + editedCabalFile = "1sgqscdibw80qsm02kxgx01rzh810rj3rwi1ksjq6d2j6yb1snaj"; + libraryHaskellDepends = [ aeson base bytestring selda text ]; + description = "JSON support for the Selda database library"; + license = stdenv.lib.licenses.mit; + }) {}; + "selda-postgresql" = callPackage - ({ mkDerivation, base, bytestring, exceptions, postgresql-libpq - , selda, text + ({ mkDerivation, base, bytestring, exceptions, postgresql-binary + , postgresql-libpq, selda, selda-json, text, time, uuid-types }: mkDerivation { pname = "selda-postgresql"; - version = "0.1.7.3"; - sha256 = "0ardh6ds8fmqy09y74nflsb8r5y4cvl2ddxcla0vzaf5xppx4czc"; - revision = "2"; - editedCabalFile = "1zrj412hkjjka4cvl5zj6gdpvdafmcny6xighi1glg67n8cmpb67"; + version = "0.1.8.0"; + sha256 = "0x7ncc8593lialllgsjdy759cinvgwh4spq2aarfd0j3zv78yvdi"; libraryHaskellDepends = [ - base bytestring exceptions postgresql-libpq selda text + base bytestring exceptions postgresql-binary postgresql-libpq selda + selda-json text time uuid-types ]; description = "PostgreSQL backend for the Selda database EDSL"; license = stdenv.lib.licenses.mit; }) {}; "selda-sqlite" = callPackage - ({ mkDerivation, base, direct-sqlite, directory, exceptions, selda - , text + ({ mkDerivation, base, bytestring, direct-sqlite, directory + , exceptions, selda, text, time, uuid-types }: mkDerivation { pname = "selda-sqlite"; - version = "0.1.6.1"; - sha256 = "1qqrgqzcfwqzlcklm0qjvdy3ndn3zg8s5mp8744v76bd6z2xwq4d"; - revision = "2"; - editedCabalFile = "0gb8raqmy8r8xwjpx238mqar5gdfd4194si2ms1a9ndcrilkkqja"; + version = "0.1.7.0"; + sha256 = "0qiagfsd45v3vk1npdm8g28mlbdbnrp3drvb6hdnxyp3b5cmyzik"; libraryHaskellDepends = [ - base direct-sqlite directory exceptions selda text + base bytestring direct-sqlite directory exceptions selda text time + uuid-types ]; description = "SQLite backend for the Selda database EDSL"; license = stdenv.lib.licenses.mit; @@ -189733,6 +204398,23 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "selective" = callPackage + ({ mkDerivation, base, containers, mtl, QuickCheck, tasty + , tasty-expected-failure, tasty-quickcheck, transformers + }: + mkDerivation { + pname = "selective"; + version = "0.3"; + sha256 = "135lq99h1iaip44d5kh7wpb3fcf8f6ypn5rxngm5agazy6ia42as"; + libraryHaskellDepends = [ base containers transformers ]; + testHaskellDepends = [ + base containers mtl QuickCheck tasty tasty-expected-failure + tasty-quickcheck transformers + ]; + description = "Selective applicative functors"; + license = stdenv.lib.licenses.mit; + }) {}; + "selectors" = callPackage ({ mkDerivation, alex, array, base, containers, happy , template-haskell, text, xml-conduit @@ -189748,6 +204430,7 @@ self: { description = "CSS Selectors for DOM traversal"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "selenium" = callPackage @@ -189760,6 +204443,7 @@ self: { description = "Test web applications through a browser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "selenium-server" = callPackage @@ -189780,6 +204464,7 @@ self: { description = "Run the selenium standalone server for usage with webdriver"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "self-extract" = callPackage @@ -189799,7 +204484,6 @@ self: { executableHaskellDepends = [ base ]; description = "A Haskell library to make self-extracting executables"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "selfrestart" = callPackage @@ -189824,8 +204508,20 @@ self: { description = "SELinux bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {selinux = null;}; + "semantic" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "semantic"; + version = "0.0.0"; + sha256 = "17vfwyjr3pxzjf35lhqqxid5bds52vk0gdqmnq4hvbjin3l07l98"; + libraryHaskellDepends = [ base ]; + description = "Framework and service for analyzing and diffing untrusted code"; + license = stdenv.lib.licenses.mit; + }) {}; + "semaphore-plus" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -189856,6 +204552,7 @@ self: { description = "Evaluate code snippets in Literate Haskell"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "semi-iso" = callPackage @@ -189872,6 +204569,40 @@ self: { description = "Weakened partial isomorphisms, reversible computations"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "semialign" = callPackage + ({ mkDerivation, base, base-compat, containers, hashable + , semigroupoids, tagged, these, transformers, unordered-containers + , vector + }: + mkDerivation { + pname = "semialign"; + version = "1"; + sha256 = "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"; + libraryHaskellDepends = [ + base base-compat containers hashable semigroupoids tagged these + transformers unordered-containers vector + ]; + description = "Align and Zip type-classes from the common Semialign ancestor"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "semialign-indexed" = callPackage + ({ mkDerivation, base, containers, hashable, lens, semialign, these + , unordered-containers, vector + }: + mkDerivation { + pname = "semialign-indexed"; + version = "1"; + sha256 = "0m37c4bfvph7w241cgr2adp3x13ffgnw2l66wyn7y9rdvm2983k2"; + libraryHaskellDepends = [ + base containers hashable lens semialign these unordered-containers + vector + ]; + description = "SemialignWithIndex, i.e. izip and ialign"; + license = stdenv.lib.licenses.bsd3; }) {}; "semibounded-lattices" = callPackage @@ -189885,6 +204616,7 @@ self: { description = "A Haskell implementation of semibounded lattices"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "semigroupoid-extras" = callPackage @@ -189908,6 +204640,8 @@ self: { pname = "semigroupoids"; version = "5.3.2"; sha256 = "01cxdcflfzx674bhdclf6c7lwgjpbj5yqv8w1fi9dvipyhyj3a31"; + revision = "1"; + editedCabalFile = "1r88pi1bvc1w0nys810p3drra6na02zhbaf257dl4lyxl8iv5466"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base base-orphans bifunctors comonad containers contravariant @@ -189919,6 +204653,28 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "semigroupoids_5_3_3" = callPackage + ({ mkDerivation, base, base-orphans, bifunctors, Cabal + , cabal-doctest, comonad, containers, contravariant, distributive + , doctest, hashable, tagged, template-haskell, transformers + , transformers-compat, unordered-containers + }: + mkDerivation { + pname = "semigroupoids"; + version = "5.3.3"; + sha256 = "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + base base-orphans bifunctors comonad containers contravariant + distributive hashable tagged template-haskell transformers + transformers-compat unordered-containers + ]; + testHaskellDepends = [ base doctest ]; + description = "Semigroupoids: Category sans id"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "semigroupoids-syntax" = callPackage ({ mkDerivation, base, comonad, containers, contravariant , directory, distributive, doctest, filepath, QuickCheck @@ -189938,6 +204694,7 @@ self: { description = "RebindableSyntax using the semigroupoids package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "semigroups" = callPackage @@ -189946,11 +204703,25 @@ self: { pname = "semigroups"; version = "0.18.5"; sha256 = "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"; + revision = "1"; + editedCabalFile = "1inqcxrzzs8xz60pvbmznyi6g6xwzpxv7p6dqlcwariz31grzvs1"; libraryHaskellDepends = [ base ]; description = "Anything that associates"; license = stdenv.lib.licenses.bsd3; }) {}; + "semigroups_0_19_1" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "semigroups"; + version = "0.19.1"; + sha256 = "0j36cha1wb9vxnd8axfna92b2q5hnrn3ap8d8yin89c69gk63rvr"; + libraryHaskellDepends = [ base ]; + description = "Anything that associates"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "semigroups-actions" = callPackage ({ mkDerivation, base, containers, semigroups }: mkDerivation { @@ -189961,6 +204732,7 @@ self: { description = "Semigroups actions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "semilattices" = callPackage @@ -189980,6 +204752,7 @@ self: { description = "Semilattices"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "semiring" = callPackage @@ -189994,6 +204767,7 @@ self: { description = "Semirings, ring-like structures used for dynamic programming applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "semiring-num" = callPackage @@ -190022,6 +204796,7 @@ self: { description = "Basic semiring class and instances"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "semiring-simple" = callPackage @@ -190037,44 +204812,30 @@ self: { "semirings" = callPackage ({ mkDerivation, base, containers, hashable, integer-gmp - , unordered-containers, vector + , unordered-containers }: mkDerivation { pname = "semirings"; - version = "0.2.1.1"; - sha256 = "0s28qq6fk2zqzz6y76fa1ddrrmpax99mlkxhz89mw15hx04mnsjp"; + version = "0.4.2"; + sha256 = "0bfcbi9hs9mv06ahkvq3bpf4vw6jprlssc9s8yjfb05p151qnx5j"; + revision = "1"; + editedCabalFile = "1wrkcfblq3j2688xg8f1ial05sijkssmdm2rv9sw6jfxiays60vq"; libraryHaskellDepends = [ - base containers hashable integer-gmp unordered-containers vector + base containers hashable integer-gmp unordered-containers ]; description = "two monoids as one, in holy haskimony"; license = stdenv.lib.licenses.bsd3; }) {}; - "semirings_0_3_1_1" = callPackage - ({ mkDerivation, base, containers, hashable, integer-gmp - , unordered-containers, vector - }: - mkDerivation { - pname = "semirings"; - version = "0.3.1.1"; - sha256 = "050vs4dn20llsj1nkf6jyni8798vj2bdxfp6d5icdr6xm2hlpkn4"; - libraryHaskellDepends = [ - base containers hashable integer-gmp unordered-containers vector - ]; - description = "two monoids as one, in holy haskimony"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "semver" = callPackage - ({ mkDerivation, attoparsec, base, criterion, deepseq, tasty - , tasty-hunit, text + ({ mkDerivation, attoparsec, base, criterion, deepseq, hashable + , tasty, tasty-hunit, text }: mkDerivation { pname = "semver"; - version = "0.3.3.1"; - sha256 = "1cf8dcxq4s479f826drncqc4hd07hv330zsipkrn0vc30sbkdlrn"; - libraryHaskellDepends = [ attoparsec base deepseq text ]; + version = "0.3.4"; + sha256 = "0swffqyqraz2nxn64mwxp29zfdq7135q2j815yzwh2pk135xmns2"; + libraryHaskellDepends = [ attoparsec base deepseq hashable text ]; testHaskellDepends = [ base tasty tasty-hunit text ]; benchmarkHaskellDepends = [ base criterion text ]; description = "Representation, manipulation, and de/serialisation of Semantic Versions"; @@ -190088,8 +204849,8 @@ self: { }: mkDerivation { pname = "semver-range"; - version = "0.2.7"; - sha256 = "04492jx61yj4vq9bf1jg3xnviy22wb03d1kf358dy7w6xx1zzlfc"; + version = "0.2.8"; + sha256 = "1df663zkcf7y7a8cf5llf111rx4bsflhsi3fr1f840y4kdgxlvkf"; libraryHaskellDepends = [ base classy-prelude parsec text unordered-containers ]; @@ -190099,17 +204860,14 @@ self: { ]; description = "An implementation of semver and semantic version ranges"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "sendfile" = callPackage ({ mkDerivation, base, bytestring, network }: mkDerivation { pname = "sendfile"; - version = "0.7.10"; - sha256 = "1wnfmq64sq13siig0rrnln2bmk1aygnsgdwh5dh32agv9csrk4ab"; - revision = "1"; - editedCabalFile = "08k4clhyfa4h5ja9bz1mzg2wdx5337cg8bxd6lz25781f65llq7d"; + version = "0.7.11.1"; + sha256 = "0988snmx3bylpw3kcq8hsgji8idc6xcrcfp275qjv3apfdgc9rp0"; libraryHaskellDepends = [ base bytestring network ]; description = "A portable sendfile library"; license = stdenv.lib.licenses.bsd3; @@ -190130,6 +204888,7 @@ self: { description = "Sengrid API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sendgrid-v3" = callPackage @@ -190145,6 +204904,7 @@ self: { description = "Sendgrid v3 API library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sensei" = callPackage @@ -190173,6 +204933,7 @@ self: { description = "Automatically run Hspec tests on file modifications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sensenet" = callPackage @@ -190191,6 +204952,7 @@ self: { description = "Distributed sensor network for the raspberry pi"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sensu-run" = callPackage @@ -190201,8 +204963,8 @@ self: { }: mkDerivation { pname = "sensu-run"; - version = "0.6.1"; - sha256 = "1anxb5b8kmwf4bjzh49yxgnx3kkx37ydr4aw2xd46dph1gdk07mb"; + version = "0.7.0.3"; + sha256 = "1afn67bxmxch2gpjar89dkagchp3h0rqbv8jkglgfzjc137047dc"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -190226,6 +204988,7 @@ self: { description = "Easily generating message of japanese natural language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sentiwordnet-parser" = callPackage @@ -190263,6 +205026,7 @@ self: { description = "Process monitoring tool written and configured in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "senza" = callPackage @@ -190321,6 +205085,7 @@ self: { description = "Dynamic strictness control, including space leak repair"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "seqalign" = callPackage @@ -190344,6 +205109,7 @@ self: { description = "Sequence ID production and consumption"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "seqid" = callPackage @@ -190356,6 +205122,7 @@ self: { description = "Sequence ID production and consumption"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "seqid-streams_0_1_0" = callPackage @@ -190368,6 +205135,7 @@ self: { description = "Sequence ID IO-Streams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "seqid-streams" = callPackage @@ -190380,6 +205148,7 @@ self: { description = "Sequence ID IO-Streams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "seqloc" = callPackage @@ -190401,6 +205170,7 @@ self: { description = "Handle sequence locations for bioinformatics"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "seqloc-datafiles" = callPackage @@ -190435,6 +205205,7 @@ self: { description = "Read and write BED and GTF format genome annotations"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sequence" = callPackage @@ -190449,6 +205220,31 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "sequence-formats" = callPackage + ({ mkDerivation, attoparsec, base, bytestring, containers, errors + , exceptions, foldl, lens-family, pipes, pipes-attoparsec + , pipes-bytestring, pipes-safe, tasty, tasty-hunit, transformers + , vector + }: + mkDerivation { + pname = "sequence-formats"; + version = "1.3.2.1"; + sha256 = "0fl3sg4znmnil08vbjf50xcbs5blh9pvg1jakbhikj1aab68vpp5"; + libraryHaskellDepends = [ + attoparsec base bytestring containers errors exceptions foldl + lens-family pipes pipes-attoparsec pipes-bytestring pipes-safe + transformers vector + ]; + testHaskellDepends = [ + base bytestring containers foldl pipes pipes-safe tasty tasty-hunit + transformers vector + ]; + description = "A package with basic parsing utilities for several Bioinformatic data formats"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "sequent-core" = callPackage ({ mkDerivation, base, bytestring, containers, ghc, transformers }: mkDerivation { @@ -190463,6 +205259,7 @@ self: { description = "Alternative Core language for GHC plugins"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sequential-index" = callPackage @@ -190498,6 +205295,7 @@ self: { description = "A sequence labeler based on Collins's sequence perceptron"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "serf" = callPackage @@ -190557,6 +205355,8 @@ self: { pname = "serialise"; version = "0.2.1.0"; sha256 = "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"; + revision = "1"; + editedCabalFile = "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6"; libraryHaskellDepends = [ array base bytestring cborg containers ghc-prim half hashable primitive text time unordered-containers vector @@ -190583,14 +205383,15 @@ self: { pname = "serialize-instances"; version = "0.1.0.0"; sha256 = "1m88jd5w68vpk7z2x2fffd5ljrzr93y20246dkkzn1md9ky0fclw"; - revision = "2"; - editedCabalFile = "1jbp16c0zg0g85m4cmn0wd5zm6z13ks93wm3q7qhxcaa1qrm8mgr"; + revision = "3"; + editedCabalFile = "1apx6j68l0gyicf8bxh010r1xy6sp2nbw3zj79lfqbw7fm3swv52"; libraryHaskellDepends = [ base cereal hashable semigroups unordered-containers ]; description = "Instances for Serialize of cereal"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "serialport" = callPackage @@ -190634,6 +205435,7 @@ self: { description = "General-purpose functions by Serokell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "serpentine" = callPackage @@ -190653,6 +205455,7 @@ self: { description = "Simple project template from stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "serv" = callPackage @@ -190667,6 +205470,7 @@ self: { description = "Dependently typed API framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "serv-wai" = callPackage @@ -190692,30 +205496,32 @@ self: { description = "Dependently typed API servers with Serv"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant" = callPackage ({ mkDerivation, aeson, attoparsec, base, base-compat, bifunctors - , bytestring, Cabal, cabal-doctest, case-insensitive, doctest - , hspec, hspec-discover, http-api-data, http-media, http-types - , mmorph, mtl, network-uri, QuickCheck, quickcheck-instances - , singleton-bool, string-conversions, tagged, text, transformers - , vault + , bytestring, Cabal, cabal-doctest, case-insensitive, deepseq + , doctest, hspec, hspec-discover, http-api-data, http-media + , http-types, mmorph, mtl, network-uri, QuickCheck + , quickcheck-instances, singleton-bool, string-conversions, tagged + , text, transformers, vault }: mkDerivation { pname = "servant"; - version = "0.15"; - sha256 = "0fgsddg8yn23izk3g4bmax6rlh56qhx13j8h5n6fxr7mq34kagsg"; + version = "0.16.2"; + sha256 = "0yzl1yklbbymlh8jdc4ncrdxkalx2z349v4msbd6wxxrxfkxbz6n"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ aeson attoparsec base base-compat bifunctors bytestring - case-insensitive http-api-data http-media http-types mmorph mtl - network-uri QuickCheck singleton-bool string-conversions tagged + case-insensitive deepseq http-api-data http-media http-types mmorph + mtl network-uri QuickCheck singleton-bool string-conversions tagged text transformers vault ]; testHaskellDepends = [ - aeson base base-compat bytestring doctest hspec mtl QuickCheck - quickcheck-instances string-conversions text transformers + aeson base base-compat bytestring doctest hspec http-media mtl + QuickCheck quickcheck-instances string-conversions text + transformers ]; testToolDepends = [ hspec-discover ]; description = "A family of combinators for defining webservices APIs"; @@ -190768,6 +205574,7 @@ self: { description = "generic tests for aeson serialization in servant"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-auth" = callPackage @@ -190787,18 +205594,17 @@ self: { ({ mkDerivation, aeson, base, bytestring, containers, hspec , hspec-discover, http-client, http-types, jose, QuickCheck , servant, servant-auth, servant-auth-server, servant-client - , servant-client-core, servant-server, text, time, transformers - , wai, warp + , servant-client-core, servant-server, time, transformers, wai + , warp }: mkDerivation { pname = "servant-auth-client"; - version = "0.3.3.0"; - sha256 = "1pxkwpg1in3anamfvrp8gd7iihng0ikhl4k7ymz5d75ma1qwa2j9"; - revision = "2"; - editedCabalFile = "05ibhx700r0xn746g691ypysnjgxqb0lkq2gjrih5ylzc7nfvv2s"; + version = "0.4.0.0"; + sha256 = "1kh4kq3cc9fn49vmh304zyzn7idb4k1j0803yp7a6qc733panf9g"; + revision = "1"; + editedCabalFile = "0cynalya2y5bfnhkc49vwf0ldxg4km6nklk77nlxjcrvwas21g7z"; libraryHaskellDepends = [ base bytestring containers servant servant-auth servant-client-core - text ]; testHaskellDepends = [ aeson base bytestring hspec http-client http-types jose QuickCheck @@ -190839,6 +205645,7 @@ self: { description = "Authentication via encrypted cookies"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-auth-docs" = callPackage @@ -190850,8 +205657,8 @@ self: { pname = "servant-auth-docs"; version = "0.2.10.0"; sha256 = "0j1ynnrb6plrhpb2vzs2p7a9jb41llp0j1jwgap7hjhkwhyc7wxd"; - revision = "2"; - editedCabalFile = "0309a6pc8jj24xwqmzj1yslgij9g212hnaqh2qkcvlm6k6riffil"; + revision = "3"; + editedCabalFile = "0in6rhgwn5idc2rsl4zbh6kkhxq471iczjd3i6ap60xg46ciymga"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base lens servant servant-auth servant-docs text @@ -190863,7 +205670,6 @@ self: { testToolDepends = [ hspec-discover ]; description = "servant-docs/servant-auth compatibility"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-auth-hmac" = callPackage @@ -190900,6 +205706,7 @@ self: { description = "Authentication via HMAC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-auth-server" = callPackage @@ -190912,8 +205719,10 @@ self: { }: mkDerivation { pname = "servant-auth-server"; - version = "0.4.3.0"; - sha256 = "1kzh4j6118qjzhfbxlszwi6ixgg9g4zn903n9qwrb5z8c2y6b9bl"; + version = "0.4.4.0"; + sha256 = "13196aknmb125ri3szqx8z5hdkk8lglv4795ck5glpn953vgq51c"; + revision = "1"; + editedCabalFile = "1wxiakkcx7d0j6zasjd84y7k98j94sy5nkj0vngjpd2jzlv79bb0"; libraryHaskellDepends = [ aeson base base64-bytestring blaze-builder bytestring case-insensitive cookie data-default-class entropy http-types jose @@ -190922,8 +205731,8 @@ self: { ]; testHaskellDepends = [ aeson base bytestring case-insensitive hspec http-client http-types - jose lens lens-aeson mtl QuickCheck servant-auth servant-server - time transformers wai warp wreq + jose lens lens-aeson mtl QuickCheck servant servant-auth + servant-server time transformers wai warp wreq ]; testToolDepends = [ hspec-discover markdown-unlit ]; description = "servant-server/servant-auth compatibility"; @@ -190938,8 +205747,8 @@ self: { pname = "servant-auth-swagger"; version = "0.2.10.0"; sha256 = "04ndbbhdmpgb8yshki6q2j46a5q8fzvlb4nn8x8gv0mqkriq79sh"; - revision = "1"; - editedCabalFile = "105rniz4cmmwr0ynyv75s4ap1fgfwxy2k5mvvj66gwpvzmj55cnx"; + revision = "2"; + editedCabalFile = "1vr0qss87gi6r9z876v9vnmfhr4m58n5x44fgzpmjkn7wlh1i6m7"; libraryHaskellDepends = [ base lens servant servant-auth servant-swagger swagger2 text ]; @@ -190950,7 +205759,6 @@ self: { testToolDepends = [ hspec-discover ]; description = "servant-swagger/servant-auth compatibility"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-auth-token" = callPackage @@ -190971,6 +205779,7 @@ self: { description = "Servant based API and server for token based authorisation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-auth-token-acid" = callPackage @@ -190993,6 +205802,7 @@ self: { description = "Acid-state backend for servant-auth-token server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-auth-token-api" = callPackage @@ -191010,6 +205820,7 @@ self: { description = "Servant based API for token based authorisation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-auth-token-leveldb" = callPackage @@ -191032,6 +205843,7 @@ self: { description = "Leveldb backend for servant-auth-token server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-auth-token-persistent" = callPackage @@ -191052,6 +205864,7 @@ self: { description = "Persistent backend for servant-auth-token server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-auth-token-rocksdb" = callPackage @@ -191075,6 +205888,7 @@ self: { description = "RocksDB backend for servant-auth-token server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-auth-wordpress" = callPackage @@ -191083,8 +205897,8 @@ self: { }: mkDerivation { pname = "servant-auth-wordpress"; - version = "1.0.0.0"; - sha256 = "0ns744n58irm2la9xz4nqxz3yyb69vwbw2h9nqcfhr66dmqd80ar"; + version = "1.0.0.1"; + sha256 = "08ngbgmzksp27n8znigrj5i2nvsqjansn4vv3my38vdqqgzm09w8"; libraryHaskellDepends = [ base mtl servant-server text time wai wordpress-auth ]; @@ -191110,22 +205924,6 @@ self: { }) {}; "servant-blaze" = callPackage - ({ mkDerivation, base, blaze-html, http-media, servant - , servant-server, wai, warp - }: - mkDerivation { - pname = "servant-blaze"; - version = "0.8"; - sha256 = "155f20pizgkhn0hczwpxwxw1i99h0l6kfwwhs2r6bmr305aqisj6"; - revision = "2"; - editedCabalFile = "1cfla60vn4kk5gb7fawlp34jr2k6b2fprysq05561wdfv990x4bj"; - libraryHaskellDepends = [ base blaze-html http-media servant ]; - testHaskellDepends = [ base blaze-html servant-server wai warp ]; - description = "Blaze-html support for servant"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "servant-blaze_0_9" = callPackage ({ mkDerivation, base, blaze-html, http-media, servant , servant-server, wai, warp }: @@ -191133,11 +205931,12 @@ self: { pname = "servant-blaze"; version = "0.9"; sha256 = "1pfnpc6m7i8knndc1734fbzpfgmvdcpkd8cj0jyw139b70siz63r"; + revision = "2"; + editedCabalFile = "0icqk00h03d6slfha8ylb07jj69y4chnhczxk8zskvgc89f6jl97"; libraryHaskellDepends = [ base blaze-html http-media servant ]; testHaskellDepends = [ base blaze-html servant-server wai warp ]; description = "Blaze-html support for servant"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-cassava" = callPackage @@ -191148,8 +205947,8 @@ self: { pname = "servant-cassava"; version = "0.10"; sha256 = "03jnyghwa5kjbl5j55njmp7as92flw91zs9cgdvb4jrsdy85sb4v"; - revision = "4"; - editedCabalFile = "0kk7vqnh5ycrvhrvhi3ahva6v56fvi17k3qrh8a8qnhx25094jaj"; + revision = "5"; + editedCabalFile = "1hidradrcdcchbr0hn9y7y1bc0i0gxzfbganyy7p2z8ip2czddvj"; libraryHaskellDepends = [ base base-compat bytestring cassava http-media servant vector ]; @@ -191162,57 +205961,84 @@ self: { }) {}; "servant-checked-exceptions" = callPackage - ({ mkDerivation, aeson, base, bytestring, deepseq, hspec-wai - , http-media, http-types, profunctors, servant + ({ mkDerivation, base, bytestring, hspec-wai, http-types, servant , servant-checked-exceptions-core, servant-client - , servant-client-core, servant-docs, servant-server, tagged, tasty - , tasty-hspec, tasty-hunit, text, wai, world-peace + , servant-client-core, servant-server, tasty, tasty-hspec + , tasty-hunit, wai, world-peace }: mkDerivation { pname = "servant-checked-exceptions"; - version = "2.0.0.0"; - sha256 = "127nav7z2zkgfgzpjjprqb6s55mbdj9z2p05knjx3mangs2q5wm7"; + version = "2.2.0.0"; + sha256 = "1shbnrjk2d0lq9nskl95jkfgr4ad79nx4k87zjg4c4m6m09nf5bh"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base bytestring deepseq http-media http-types profunctors - servant servant-checked-exceptions-core servant-client - servant-client-core servant-docs servant-server tagged text wai - world-peace + base bytestring http-types servant servant-checked-exceptions-core + servant-client servant-client-core servant-server wai world-peace ]; testHaskellDepends = [ - base bytestring hspec-wai http-types servant servant-server tasty - tasty-hspec tasty-hunit wai + base hspec-wai http-types servant servant-server tasty tasty-hspec + tasty-hunit wai ]; description = "Checked exceptions for Servant APIs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-checked-exceptions-core" = callPackage - ({ mkDerivation, aeson, base, bytestring, deepseq, doctest, Glob - , http-media, http-types, profunctors, servant, servant-docs - , tagged, text, world-peace + ({ mkDerivation, aeson, base, bytestring, contravariant, doctest + , Glob, http-media, http-types, mtl, profunctors, servant + , servant-docs, tagged, text, transformers, world-peace }: mkDerivation { pname = "servant-checked-exceptions-core"; - version = "2.0.0.0"; - sha256 = "0j5j7ai1b7nnsvzal27jy6hamwx5i2pyc1f6mmmb06r40cs53lxa"; + version = "2.2.0.0"; + sha256 = "1irakwsdj6f0yjp0cpgai6x01yq99qd2rwy1w3pb7xwiksdnxx6c"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base bytestring deepseq http-media http-types profunctors - servant servant-docs tagged text world-peace + aeson base bytestring contravariant http-media http-types mtl + profunctors servant servant-docs tagged text transformers + world-peace ]; testHaskellDepends = [ base doctest Glob ]; description = "Checked exceptions for Servant APIs"; license = stdenv.lib.licenses.bsd3; + }) {}; + + "servant-cli" = callPackage + ({ mkDerivation, aeson, base, bytestring, case-insensitive + , containers, filepath, free, functor-combinators, http-client + , http-types, optparse-applicative, profunctors, random + , recursion-schemes, servant, servant-client, servant-client-core + , servant-docs, servant-server, text, transformers, vinyl, warp + }: + mkDerivation { + pname = "servant-cli"; + version = "0.1.0.1"; + sha256 = "12d18ca90b7mijaav3glx60b9c9qd1f2g4p5m4m7hzz2m22dyimn"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring case-insensitive containers filepath free + functor-combinators http-types optparse-applicative profunctors + recursion-schemes servant servant-client-core servant-docs text + transformers vinyl + ]; + executableHaskellDepends = [ + aeson base bytestring containers http-client optparse-applicative + random servant servant-client servant-server text vinyl warp + ]; + description = "Command line interface for Servant API clients"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-client" = callPackage ({ mkDerivation, aeson, base, base-compat, bytestring, containers - , deepseq, entropy, exceptions, generics-sop, hspec, hspec-discover + , deepseq, entropy, exceptions, hspec, hspec-discover , http-api-data, http-client, http-media, http-types, HUnit , kan-extensions, markdown-unlit, monad-control, mtl, network , QuickCheck, semigroupoids, servant, servant-client-core @@ -191221,10 +206047,10 @@ self: { }: mkDerivation { pname = "servant-client"; - version = "0.15"; - sha256 = "098aaickq6j6f0d7bl2y72fcl53xp2w29qg3gy7yls4z8wd76v1a"; - revision = "1"; - editedCabalFile = "1h3j8mpnrbpc1i4appf8g4zn7h30f6ybg6fg3w057kz18bk9y76f"; + version = "0.16"; + sha256 = "0641fqlvqkm5075pcgcg5q81j7jil79sjpifg1snagfisrsxifxj"; + revision = "2"; + editedCabalFile = "0xdrs79farfhw12azl9jmkwvqslassnrjqvbgz0xjnnqnb0b9l86"; libraryHaskellDepends = [ base base-compat bytestring containers deepseq exceptions http-client http-media http-types kan-extensions monad-control mtl @@ -191232,32 +206058,32 @@ self: { transformers transformers-base transformers-compat ]; testHaskellDepends = [ - aeson base base-compat bytestring entropy generics-sop hspec - http-api-data http-client http-types HUnit kan-extensions - markdown-unlit mtl network QuickCheck servant servant-client-core - servant-server tdigest text transformers transformers-compat wai - warp + aeson base base-compat bytestring entropy hspec http-api-data + http-client http-types HUnit kan-extensions markdown-unlit mtl + network QuickCheck servant servant-client-core servant-server stm + tdigest text transformers transformers-compat wai warp ]; testToolDepends = [ hspec-discover markdown-unlit ]; description = "Automatic derivation of querying functions for servant"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-client-core" = callPackage ({ mkDerivation, aeson, base, base-compat, base64-bytestring - , bytestring, containers, deepseq, exceptions, free, generics-sop - , hspec, hspec-discover, http-media, http-types, network-uri - , QuickCheck, safe, servant, template-haskell, text, transformers + , bytestring, containers, deepseq, exceptions, free, hspec + , hspec-discover, http-media, http-types, network-uri, QuickCheck + , safe, servant, template-haskell, text, transformers }: mkDerivation { pname = "servant-client-core"; - version = "0.15"; - sha256 = "0q3rrbdplzzj90kdb7cmb6qknsbd9dy4w5lkqcb95nndwgjlk3lv"; + version = "0.16"; + sha256 = "0cvv9a7z6ahwjp433c4sxa9i1ifabbih63bx71r9gvqzl85pb3dz"; + revision = "1"; + editedCabalFile = "1hanl8sz14z11441ng8vkzpxrl6igk3xzp6fcm6wg59fsb30fh29"; libraryHaskellDepends = [ aeson base base-compat base64-bytestring bytestring containers - deepseq exceptions free generics-sop http-media http-types - network-uri safe servant template-haskell text transformers + deepseq exceptions free http-media http-types network-uri safe + servant template-haskell text transformers ]; testHaskellDepends = [ base base-compat deepseq hspec QuickCheck ]; testToolDepends = [ hspec-discover ]; @@ -191272,10 +206098,8 @@ self: { }: mkDerivation { pname = "servant-client-namedargs"; - version = "0.1.0.0"; - sha256 = "0smf6ahmzkbsnvgkji5jzj99sy8bgqz0zxx5k1y1ar82pd6m4qnd"; - revision = "1"; - editedCabalFile = "0kfhrikja6rvrn3m4c6w7dg28l17f2jx8rwswxiwzvmg2zmwbc1n"; + version = "0.1.1.1"; + sha256 = "1byk3baams1kg1zfnp0y02s2kbg1w62gsri0z43x56g33pgwbsrp"; libraryHaskellDepends = [ base named servant servant-client-core servant-namedargs text ]; @@ -191287,6 +206111,7 @@ self: { description = "Automatically derive API client functions with named and optional parameters"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-conduit" = callPackage @@ -191298,6 +206123,8 @@ self: { pname = "servant-conduit"; version = "0.15"; sha256 = "0mpnkqcls4mrxfd3ksy53k7vvm0hildj21b8mdy53z993wq1blfz"; + revision = "1"; + editedCabalFile = "0l6pv8bqca88k8wjx7qczagka6l99zd7xyz1ma95004665gc56x6"; libraryHaskellDepends = [ base bytestring conduit mtl resourcet servant unliftio-core ]; @@ -191307,7 +206134,6 @@ self: { ]; description = "Servant Stream support for conduit"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-csharp" = callPackage @@ -191328,6 +206154,7 @@ self: { description = "Generate servant client library for C#"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-db" = callPackage @@ -191340,6 +206167,7 @@ self: { description = "Servant types for defining API with relational DBs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-db-postgresql" = callPackage @@ -191366,6 +206194,7 @@ self: { description = "Derive a postgres client to database API specified by servant-db"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-dhall" = callPackage @@ -191375,10 +206204,10 @@ self: { }: mkDerivation { pname = "servant-dhall"; - version = "0.1.0.1"; - sha256 = "1yriifnflvh4f0vv2mrfv6qw0cv35isrq03q4h43g096ml2wl3ll"; - revision = "3"; - editedCabalFile = "13mq4pwffxqpjirb6rfhzd2xqhm0xyycl98h6kf4j0ic38g3saz1"; + version = "0.1.0.2"; + sha256 = "09fvyhkqpypg73cxs7y2asvlch83i4sqzh2w0d5ix0zl5i7f6rz3"; + revision = "1"; + editedCabalFile = "19jdp0xj1nl21wzfnk2y3qrzi7cag1m3wk0zqvqayc2czq9h0k08"; libraryHaskellDepends = [ base base-compat bytestring dhall http-media megaparsec prettyprinter servant text @@ -191390,6 +206219,7 @@ self: { description = "Servant Dhall content-type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-docs" = callPackage @@ -191403,6 +206233,8 @@ self: { pname = "servant-docs"; version = "0.11.3"; sha256 = "0cys1h3m0aq77aw0szj7k6p7zqcr8074zrxzsjp58lss1daqisq7"; + revision = "3"; + editedCabalFile = "0hknxp6vxjmc6d4acwfs8ic9n915ldldz4ja8d86pzwv8vh5jzfv"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -191419,7 +206251,6 @@ self: { ]; description = "generate API docs for your servant webservice"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-ede" = callPackage @@ -191446,46 +206277,48 @@ self: { }) {}; "servant-ekg" = callPackage - ({ mkDerivation, aeson, base, ekg, ekg-core, hspec, http-client - , http-types, process, servant, servant-client, servant-server - , text, time, transformers, unordered-containers, wai, warp + ({ mkDerivation, aeson, base, ekg, ekg-core, hashable, hspec + , hspec-discover, http-client, http-types, process, servant + , servant-client, servant-server, text, time, transformers + , unordered-containers, wai, warp }: mkDerivation { pname = "servant-ekg"; - version = "0.2.0.0"; - sha256 = "1crsd5yirv5rygc6855qcz31c7abjakzklgxg6c6qnkyx1h4xd82"; - isLibrary = true; - isExecutable = true; + version = "0.3"; + sha256 = "0kqsvpqh36ripps7lvqlg5d407yhh3rzccgyn8zkbrir0ifjfy2l"; libraryHaskellDepends = [ - base ekg-core http-types servant text time unordered-containers wai - ]; - executableHaskellDepends = [ - aeson base ekg ekg-core process servant-server text wai warp + base ekg-core hashable http-types servant text time + unordered-containers wai ]; testHaskellDepends = [ aeson base ekg ekg-core hspec http-client servant servant-client servant-server text transformers unordered-containers wai warp ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + aeson base ekg ekg-core process servant-server text wai warp + ]; description = "Helpers for using ekg with servant"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-elm" = callPackage - ({ mkDerivation, aeson, base, Diff, elm-export, hspec, HUnit, lens - , servant, servant-foreign, text, wl-pprint-text + ({ mkDerivation, aeson, base, Diff, directory, elm-bridge, hspec + , HUnit, lens, servant, servant-client, servant-foreign, text + , wl-pprint-text }: mkDerivation { pname = "servant-elm"; - version = "0.5.0.0"; - sha256 = "0l5rjml46qbnq4p3d7zjk8zl9gnpz8m5n6n8yf8kgy89ybm6xnfr"; + version = "0.6.0.2"; + sha256 = "1ayj0gdl8z9ns6agm64i37w0j8r51ydw4zxn8kcwsn1akswrzz3z"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base elm-export lens servant servant-foreign text wl-pprint-text + aeson base directory elm-bridge lens servant servant-foreign text + wl-pprint-text ]; testHaskellDepends = [ - aeson base Diff elm-export hspec HUnit servant text + aeson base Diff elm-bridge hspec HUnit servant servant-client text ]; description = "Automatically derive Elm functions to query servant webservices"; license = stdenv.lib.licenses.bsd3; @@ -191512,6 +206345,7 @@ self: { description = "Example programs for servant"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-exceptions" = callPackage @@ -191532,6 +206366,21 @@ self: { aeson base exceptions http-types servant-server text warp ]; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "servant-fiat-content" = callPackage + ({ mkDerivation, base, bytestring, http-media, servant, text }: + mkDerivation { + pname = "servant-fiat-content"; + version = "1.0.0"; + sha256 = "1108npqddwsbplxzf65hq0w3aqnyfrk8lcdffkszwx3g8s8xblg7"; + libraryHaskellDepends = [ + base bytestring http-media servant text + ]; + description = "Fiat content types"; + license = stdenv.lib.licenses.mit; }) {}; "servant-flatten" = callPackage @@ -191553,6 +206402,8 @@ self: { pname = "servant-foreign"; version = "0.15"; sha256 = "0wxx9drycam46vcmf3kxp2lq1drlpxb1b6fxbxyb6dd7349py6gi"; + revision = "1"; + editedCabalFile = "1amvhixa0zwjipmv6iv97pfzlr83p0b0kvxif2d2l7akcdgd2ddz"; libraryHaskellDepends = [ base base-compat http-types lens servant text ]; @@ -191574,6 +206425,7 @@ self: { description = "Utilities for generating mock server implementations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-generic" = callPackage @@ -191591,6 +206443,7 @@ self: { description = "Specify Servant APIs with records"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-github" = callPackage @@ -191615,6 +206468,7 @@ self: { description = "Bindings to GitHub API using servant"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-github-webhook" = callPackage @@ -191625,8 +206479,8 @@ self: { }: mkDerivation { pname = "servant-github-webhook"; - version = "0.4.1.0"; - sha256 = "0v6gd7swhl58x3sqbb5cmn5ac6x1p5mg7jqbwk9ny9bzggz9pglb"; + version = "0.4.2.0"; + sha256 = "1z80h42zp781p49bskw5ilb49dnhs7y4j2g0v4xdyrrabj2m885g"; libraryHaskellDepends = [ aeson base base16-bytestring bytestring cryptonite github github-webhooks http-types memory servant servant-server @@ -191637,7 +206491,6 @@ self: { ]; description = "Servant combinators to facilitate writing GitHub webhooks"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-haxl-client" = callPackage @@ -191666,6 +206519,7 @@ self: { description = "automatical derivation of querying functions for servant webservices"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-hmac-auth" = callPackage @@ -191693,6 +206547,44 @@ self: { description = "Servant authentication with HMAC"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "servant-http-streams" = callPackage + ({ mkDerivation, aeson, base, base-compat, bytestring + , case-insensitive, containers, deepseq, entropy, exceptions, hspec + , hspec-discover, http-api-data, http-common, http-media + , http-streams, http-types, HUnit, io-streams, kan-extensions + , markdown-unlit, monad-control, mtl, network, QuickCheck + , semigroupoids, servant, servant-client-core, servant-server, stm + , tdigest, text, time, transformers, transformers-base + , transformers-compat, wai, warp + }: + mkDerivation { + pname = "servant-http-streams"; + version = "0.16"; + sha256 = "1gkgk13zxi8y071i9dx0i1kbs14rgp8cfnfcd7rpg86pffxkx6cp"; + revision = "2"; + editedCabalFile = "10bpkdwlbg66zi9hzh7vbfwrcilvkav8rc0300xfmpbpw43z4iy0"; + libraryHaskellDepends = [ + base base-compat bytestring case-insensitive containers deepseq + exceptions http-common http-media http-streams http-types + io-streams kan-extensions monad-control mtl semigroupoids servant + servant-client-core text time transformers transformers-base + transformers-compat + ]; + testHaskellDepends = [ + aeson base base-compat bytestring deepseq entropy hspec + http-api-data http-streams http-types HUnit kan-extensions + markdown-unlit mtl network QuickCheck servant servant-client-core + servant-server stm tdigest text transformers transformers-compat + wai warp + ]; + testToolDepends = [ hspec-discover markdown-unlit ]; + description = "Automatic derivation of querying functions for servant"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-http2-client" = callPackage @@ -191718,6 +206610,7 @@ self: { description = "Generate HTTP2 clients from Servant API descriptions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-iCalendar" = callPackage @@ -191727,14 +206620,15 @@ self: { pname = "servant-iCalendar"; version = "0.1.0.1"; sha256 = "15gqlb60r8msn3k1j8wjxq89qg6d790lnb751wabg2lsxybmdzas"; - revision = "3"; - editedCabalFile = "0bcab5xk354glypz15lnlzvr157pbvh4mjfd5ln59hr3ip84bzi9"; + revision = "7"; + editedCabalFile = "0yf5gccdilswzabzysc2mrxxq84xdx7k18a647bksimwd44x2i68"; libraryHaskellDepends = [ base data-default http-media iCalendar servant ]; description = "Servant support for iCalendar"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-jquery" = callPackage @@ -191754,6 +206648,7 @@ self: { description = "Automatically derive (jquery) javascript functions to query servant webservices"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-js" = callPackage @@ -191765,6 +206660,8 @@ self: { pname = "servant-js"; version = "0.9.4"; sha256 = "041wigqgn5ygcs49ndc39rk66j5bcvgpihshxk678jk470ysfszq"; + revision = "1"; + editedCabalFile = "09nd1wlpaj20pyp6jzp2hsnyl02lvbi5vvvymhfhqf3rjxxpnyyr"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -191786,8 +206683,8 @@ self: { }: mkDerivation { pname = "servant-kotlin"; - version = "0.1.1.6"; - sha256 = "0v16y6f956yf64npq8fm1q6j1q8yygci3amsxyvrggs1rdd8hi31"; + version = "0.1.1.8"; + sha256 = "0w68sfsf7x0wvj67klbl464jzkibr8p78knxix5fqxxd5kb5d25r"; libraryHaskellDepends = [ base containers directory formatting lens servant servant-foreign text time wl-pprint-text @@ -191805,22 +206702,6 @@ self: { }) {}; "servant-lucid" = callPackage - ({ mkDerivation, base, http-media, lucid, servant, servant-server - , text, wai, warp - }: - mkDerivation { - pname = "servant-lucid"; - version = "0.8.1"; - sha256 = "0g8icz12ydyxyv710fhixswdphiri0b44pw5p0dr21cvwbaxawb6"; - revision = "1"; - editedCabalFile = "0jna96jy6nmhk6w5zxdd3qn3vlrnhnvh4s3f2bqkn3c0had5py7d"; - libraryHaskellDepends = [ base http-media lucid servant text ]; - testHaskellDepends = [ base lucid servant-server wai warp ]; - description = "Servant support for lucid"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "servant-lucid_0_9" = callPackage ({ mkDerivation, base, http-media, lucid, servant, servant-server , text, wai, warp }: @@ -191828,11 +206709,12 @@ self: { pname = "servant-lucid"; version = "0.9"; sha256 = "1xamwcijd03cynml5c2hr577qairybyrqd90ixyb1a94lql6agbf"; + revision = "2"; + editedCabalFile = "17p1xxzmr3ya0k4cy9n5mqf356gm35jdcm8mw1cxg2v80sd6nr4j"; libraryHaskellDepends = [ base http-media lucid servant text ]; testHaskellDepends = [ base lucid servant-server wai warp ]; description = "Servant support for lucid"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-machines" = callPackage @@ -191844,6 +206726,8 @@ self: { pname = "servant-machines"; version = "0.15"; sha256 = "137c0svvwvkh3ad8cc5q5vygci3c5951hbwlhk09znqaqycck35i"; + revision = "2"; + editedCabalFile = "0x7dw8mcvgaag53ai5c9nagc5dik4r06wxdhvp72q8f09pvabxxf"; libraryHaskellDepends = [ base bytestring machines mtl servant ]; testHaskellDepends = [ base base-compat bytestring http-client http-media machines servant @@ -191851,7 +206735,6 @@ self: { ]; description = "Servant Stream support for machines"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-match" = callPackage @@ -191889,6 +206772,7 @@ self: { description = "Matrix parameter combinator for servant"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-mock" = callPackage @@ -191901,6 +206785,8 @@ self: { pname = "servant-mock"; version = "0.8.5"; sha256 = "10bvqwyp5ca53k47a1xfbihdv22gjlj97spr1bn5plf5vlk70m5f"; + revision = "2"; + editedCabalFile = "0269d0yr8sa043wc2ymg3fv60c9pr4jxfy9sar2qqccvngpa1vf5"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -191927,22 +206813,21 @@ self: { }: mkDerivation { pname = "servant-multipart"; - version = "0.11.3"; - sha256 = "0xkzzsi4d3hjn33zfrqadxjv7ymp4z7r5g37fidj3ryhwc1l6d9v"; - isLibrary = true; - isExecutable = true; + version = "0.11.4"; + sha256 = "0vcwrdzj1xyjg11yvfcds9rql3gcwgdcdq4z085g44fpabjxj50s"; + revision = "1"; + editedCabalFile = "0sf5vmzdcfzy01d65dd2f5l4k67znmjvp86d4xgkrmqsqmgxcgpg"; libraryHaskellDepends = [ base bytestring directory http-media lens resourcet servant servant-docs servant-foreign servant-server text transformers wai wai-extra ]; - executableHaskellDepends = [ + testHaskellDepends = [ base bytestring http-client network servant servant-server text transformers wai warp ]; description = "multipart/form-data (e.g file upload) support for servant"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-named" = callPackage @@ -191967,15 +206852,14 @@ self: { ({ mkDerivation, base, hspec, named, QuickCheck, servant, text }: mkDerivation { pname = "servant-namedargs"; - version = "0.1.0.1"; - sha256 = "0ylxcl11wmi3il5bpl7qc32qh2s210xfp37vfhhvnlxzgdzj84vh"; - revision = "1"; - editedCabalFile = "0nr11syaq0l04qdwh5ac0gnpfcgi9vakfjgv5i6p6kraag8za5k7"; + version = "0.1.1.1"; + sha256 = "15fdqk89si2ri63cpdndvp8kjlanf783fwgra899ldwizf637ka7"; libraryHaskellDepends = [ base named servant text ]; testHaskellDepends = [ base hspec named QuickCheck servant ]; description = "Combinators for servant providing named parameters"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-nix" = callPackage @@ -191998,6 +206882,7 @@ self: { description = "Servant Nix content-type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-options" = callPackage @@ -192021,8 +206906,8 @@ self: { }: mkDerivation { pname = "servant-pagination"; - version = "2.2.0"; - sha256 = "15imbn6iyvbi80yainpi59q2r621r43d6cim3aydf6bbmz9pgnxd"; + version = "2.2.2"; + sha256 = "00ki2crhrp87m0dwyrb6rv25cfyag51igm772a54zvgi713qj7rr"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -192049,6 +206934,7 @@ self: { description = "Use Pandoc to render servant API documentation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-pipes" = callPackage @@ -192060,6 +206946,8 @@ self: { pname = "servant-pipes"; version = "0.15"; sha256 = "04ypy9vjrfggrk7dg3sxwj9nav50v85vpr5mnp5r2c9ka6xn4v90"; + revision = "1"; + editedCabalFile = "1q4w4fnvpi4m62yhv37pcg5sj21m4s02glsa5q56vc51bjbx8xi4"; libraryHaskellDepends = [ base bytestring monad-control mtl pipes pipes-safe servant ]; @@ -192070,7 +206958,6 @@ self: { ]; description = "Servant Stream support for pipes"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-pool" = callPackage @@ -192085,6 +206972,7 @@ self: { description = "Utility functions for creating servant 'Context's with \"context/connection pooling\" support"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-postgresql" = callPackage @@ -192102,6 +206990,7 @@ self: { description = "Useful functions and instances for using servant with a PostgreSQL context"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-proto-lens" = callPackage @@ -192125,6 +207014,7 @@ self: { description = "Servant Content-Type for proto-lens protobuf modules"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-purescript" = callPackage @@ -192135,8 +207025,8 @@ self: { }: mkDerivation { pname = "servant-purescript"; - version = "0.9.0.2"; - sha256 = "1axj4rar4ncy20xiwa231hc67vpz6yi2vzddq8m6nswmdg6kja7p"; + version = "0.9.0.3"; + sha256 = "16ygfj1h9wrxxv5wcxh8rqn9icgx7xxy0yrgfdv5k6pmpxmgmi84"; libraryHaskellDepends = [ aeson base bytestring containers directory filepath http-types lens mainland-pretty purescript-bridge servant servant-foreign @@ -192149,6 +207039,7 @@ self: { description = "Generate PureScript accessor functions for you servant API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-pushbullet-client" = callPackage @@ -192169,6 +207060,7 @@ self: { description = "Bindings to the Pushbullet API using servant-client"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-py" = callPackage @@ -192191,6 +207083,7 @@ self: { description = "Automatically derive python functions to query servant webservices"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-quickcheck" = callPackage @@ -192203,8 +207096,8 @@ self: { }: mkDerivation { pname = "servant-quickcheck"; - version = "0.0.7.3"; - sha256 = "0d904xfw5q7qcwkp5n7v18drc1idssvfwic2ksfmqlxisnxmyp5r"; + version = "0.0.7.4"; + sha256 = "1z47fgzdwfqb0byr8wa0s9n3g8hcbf112nbgaifm0zmxx6w4jlcf"; libraryHaskellDepends = [ aeson base base-compat-batteries bytestring case-insensitive clock data-default-class hspec http-client http-media http-types mtl @@ -192220,6 +207113,7 @@ self: { description = "QuickCheck entire APIs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-rawm" = callPackage @@ -192231,8 +207125,8 @@ self: { }: mkDerivation { pname = "servant-rawm"; - version = "0.3.0.0"; - sha256 = "09va9glqkyarxsq9296br55ka8j5jd5nlb833hndpf4ib10yxzp9"; + version = "0.3.1.0"; + sha256 = "055ys4gkywy1ld0d736fsmc39fix2b4ad4myb7qn0sbax6y9zn3q"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -192249,6 +207143,53 @@ self: { description = "Embed a raw 'Application' in a Servant API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "servant-reason" = callPackage + ({ mkDerivation, aeson, base, Diff, directory, hspec, HUnit + , interpolate, lens, mockery, process, reason-export, servant + , servant-foreign, text, wl-pprint-text + }: + mkDerivation { + pname = "servant-reason"; + version = "0.1.2.0"; + sha256 = "0c8nwdi1xrym5q7k13qqa7mznbww9kc1ffimfpj8vr13r62j19ql"; + libraryHaskellDepends = [ + base lens reason-export servant servant-foreign text wl-pprint-text + ]; + testHaskellDepends = [ + aeson base Diff directory hspec HUnit interpolate lens mockery + process reason-export servant servant-foreign text wl-pprint-text + ]; + description = "Derive Reason types to interact with a Haskell backend"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "servant-reflex" = callPackage + ({ mkDerivation, base, bytestring, case-insensitive, containers + , data-default, exceptions, ghcjs-dom, http-api-data, http-media + , jsaddle, mtl, network-uri, reflex, reflex-dom-core, safe, servant + , servant-auth, string-conversions, text, transformers + }: + mkDerivation { + pname = "servant-reflex"; + version = "0.3.4"; + sha256 = "1k7dkzs2lsdjj94ai7p225zm09l9sgbxpb4av14xgy9m54rih5kk"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring case-insensitive containers data-default exceptions + ghcjs-dom http-api-data http-media jsaddle mtl network-uri reflex + reflex-dom-core safe servant servant-auth string-conversions text + transformers + ]; + description = "servant API generator for reflex apps"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-response" = callPackage @@ -192282,6 +207223,7 @@ self: { description = "Servant router for non-server applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-ruby" = callPackage @@ -192315,6 +207257,7 @@ self: { description = "Generate a web service for servant 'Resource's using scotty and JSON"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-server" = callPackage @@ -192329,8 +207272,8 @@ self: { }: mkDerivation { pname = "servant-server"; - version = "0.15"; - sha256 = "1qlkdgls2z71sx09lbkrqcxwx1wam3hn7dnyps6z2i7qixhlw0wq"; + version = "0.16.2"; + sha256 = "1l4kgjg5z775bi76hy7cb70qwvmkai4rxqkgp0ildsjgsvf8qb80"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal cabal-doctest ]; @@ -192355,22 +207298,22 @@ self: { }) {}; "servant-server-namedargs" = callPackage - ({ mkDerivation, base, http-api-data, http-types, named, servant - , servant-namedargs, servant-server, string-conversions, text, wai + ({ mkDerivation, base, bytestring, http-api-data, http-types, named + , servant, servant-namedargs, servant-server, string-conversions + , text, wai }: mkDerivation { pname = "servant-server-namedargs"; - version = "0.1.0.0"; - sha256 = "0ncrrl91b8bcih4qf7gwl7m2qqmx6glwgvwcd4rvi1kdjrry8w0y"; - revision = "1"; - editedCabalFile = "1yf69y0w8miwcgdq9f88c2vabmqbn85rqsr8pqhijz24byyxnnl7"; + version = "0.1.1.1"; + sha256 = "16lgnsq66rrjnky409c49pdr1dfq6d8p96gd1dhph2vwq2156fsd"; libraryHaskellDepends = [ - base http-api-data http-types named servant servant-namedargs - servant-server string-conversions text wai + base bytestring http-api-data http-types named servant + servant-namedargs servant-server string-conversions text wai ]; description = "Automatically derive API server functions with named and optional parameters"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-smsc-ru" = callPackage @@ -192394,47 +207337,46 @@ self: { description = "Servant client for smsc.ru service for sending SMS to cell phones"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-snap" = callPackage ({ mkDerivation, aeson, attoparsec, base, base64-bytestring , bytestring, case-insensitive, containers, digestive-functors - , directory, either, errors, exceptions, filepath, heist, hspec - , hspec-core, hspec-snap, http-api-data, http-client, http-media - , http-types, HUnit, io-streams, lens, map-syntax, mmorph, mtl - , network, network-uri, parsec, process, QuickCheck, servant - , servant-client, snap, snap-core, snap-cors, snap-server - , string-conversions, temporary, text, time, transformers, word8 + , directory, errors, exceptions, filepath, heist, hspec, hspec-core + , hspec-snap, http-api-data, http-media, http-types, HUnit + , io-streams, lens, map-syntax, mmorph, mtl, network, network-uri + , parsec, process, QuickCheck, servant, snap, snap-core + , snap-server, string-conversions, tagged, temporary, text, time + , transformers, word8 }: mkDerivation { pname = "servant-snap"; - version = "0.8.2"; - sha256 = "0iyiifr9przbayqjs7ydwbzwad5m79379ypmmfiyvcw9m14syhyk"; - revision = "1"; - editedCabalFile = "1lycc0iagcc2yd4hq778g2mkqh5fig6vcd3fv4s48wjgw4nic9qf"; + version = "0.8.4.1"; + sha256 = "1649s1n313rd8h409bfz2jkq2ch7ffw06y120j95rjcp6r8xgfv2"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson attoparsec base base64-bytestring bytestring case-insensitive - containers either filepath http-api-data http-media http-types - io-streams mmorph mtl network-uri servant snap snap-core - snap-server string-conversions text transformers word8 + containers filepath http-api-data http-media http-types io-streams + mmorph mtl network-uri servant snap snap-core snap-server + string-conversions tagged text transformers word8 ]; executableHaskellDepends = [ - aeson base bytestring either errors heist http-client lens - map-syntax servant servant-client snap snap-core snap-cors - snap-server text transformers + aeson base bytestring errors heist lens map-syntax servant snap + snap-core snap-server text transformers ]; testHaskellDepends = [ aeson base base64-bytestring bytestring case-insensitive containers - digestive-functors directory either exceptions hspec hspec-core - hspec-snap http-types HUnit io-streams lens mtl network parsec - process QuickCheck servant snap snap-core snap-cors snap-server - string-conversions temporary text time transformers + digestive-functors directory exceptions hspec hspec-core hspec-snap + http-types HUnit io-streams lens mtl network parsec process + QuickCheck servant snap snap-core snap-server string-conversions + temporary text time transformers ]; description = "A family of combinators for defining webservices APIs and serving them"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-stache" = callPackage @@ -192483,6 +207425,8 @@ self: { ]; description = "Embed a directory of static files in your Servant server"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-streaming" = callPackage @@ -192497,6 +207441,8 @@ self: { testHaskellDepends = [ base hspec http-types QuickCheck servant ]; description = "Servant combinators for the 'streaming' package"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-streaming-client" = callPackage @@ -192523,6 +207469,7 @@ self: { description = "Client instances for the 'servant-streaming' package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-streaming-docs" = callPackage @@ -192541,6 +207488,7 @@ self: { description = "Client instances for the 'servant-docs' package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-streaming-server" = callPackage @@ -192568,6 +207516,7 @@ self: { description = "Server instances for the 'servant-streaming' package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-subscriber" = callPackage @@ -192595,19 +207544,21 @@ self: { description = "When REST is not enough ..."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-swagger" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring , Cabal, cabal-doctest, directory, doctest, filepath, hspec , hspec-discover, http-media, insert-ordered-containers, lens - , QuickCheck, servant, singleton-bool, swagger2, template-haskell - , text, time, unordered-containers, utf8-string + , lens-aeson, QuickCheck, servant, singleton-bool, swagger2 + , template-haskell, text, time, unordered-containers, utf8-string + , vector }: mkDerivation { pname = "servant-swagger"; - version = "1.1.7"; - sha256 = "0dnyh4g55x70cb6xwksm0rk23v5lawdws5bxgq27ja1walh106p3"; + version = "1.1.7.1"; + sha256 = "0vdjvn5bsd26q8wx1qdwn7vdfnd9jk8m9jzzm251gyn1ijxv8ild"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ aeson aeson-pretty base base-compat bytestring hspec http-media @@ -192616,12 +207567,30 @@ self: { ]; testHaskellDepends = [ aeson base base-compat directory doctest filepath hspec lens - QuickCheck servant swagger2 template-haskell text time utf8-string + lens-aeson QuickCheck servant swagger2 template-haskell text time + utf8-string vector ]; testToolDepends = [ hspec-discover ]; - description = "Generate Swagger specification for your servant API"; + description = "Generate a Swagger/OpenAPI/OAS 2.0 specification for your servant API."; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "servant-swagger-tags" = callPackage + ({ mkDerivation, base, containers, lens, servant, servant-mock + , servant-server, servant-swagger, swagger2, text + }: + mkDerivation { + pname = "servant-swagger-tags"; + version = "0.1.0.0"; + sha256 = "1938kr3jcpwy8imias0bk7xqp0v3ijajpdfdpgibyphklfqnck64"; + libraryHaskellDepends = [ + base containers lens servant servant-mock servant-server + servant-swagger swagger2 text + ]; + description = "Swagger Tags for Servant"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-swagger-ui" = callPackage @@ -192630,17 +207599,14 @@ self: { }: mkDerivation { pname = "servant-swagger-ui"; - version = "0.3.2.3.19.3"; - sha256 = "0s2y6fhm26gzs344ig86nh6d1sy2dxfqpwpgz6c2dcg65jcbbpc7"; - revision = "1"; - editedCabalFile = "0k2s6y93ii3d1myacq70ifpjf9q0mglxdr97wmxll6ixzsn7fjpl"; + version = "0.3.4.3.22.2"; + sha256 = "0ig05xzh4iybnwzh7bx8i7a337j0xfmsxbmfi9iaiz4g6f9s5clm"; libraryHaskellDepends = [ base bytestring file-embed-lzma servant servant-server servant-swagger-ui-core swagger2 text ]; description = "Servant swagger ui"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-swagger-ui-core" = callPackage @@ -192650,10 +207616,8 @@ self: { }: mkDerivation { pname = "servant-swagger-ui-core"; - version = "0.3.2"; - sha256 = "1a1wk90vm6mq8byxz4syr03l1rf6qj8zhda7lnp23pn5d270xkd2"; - revision = "2"; - editedCabalFile = "02yxnvd54wcykhswivhg5sr67njz0p3raxmp5nqmijwwxh0iqdvc"; + version = "0.3.3"; + sha256 = "0gpdjnclbjjr6gwc0gyx1d4w06cjf6z5b2ngjfcgbn885wqllwh3"; libraryHaskellDepends = [ base blaze-markup bytestring http-media servant servant-blaze servant-server swagger2 text transformers transformers-compat @@ -192661,7 +207625,6 @@ self: { ]; description = "Servant swagger ui core components"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-swagger-ui-jensoleg" = callPackage @@ -192670,17 +207633,14 @@ self: { }: mkDerivation { pname = "servant-swagger-ui-jensoleg"; - version = "0.3.2"; - sha256 = "1ybkwa6dyi9v1rcqd0gzl1hqkinkmsqwz0ang0cmsa6d8ym3zmii"; - revision = "1"; - editedCabalFile = "1n735zxdkfnhr0vh6r3cgw97pggp0lnpd6bq6fspzv5bbylg3mkc"; + version = "0.3.3"; + sha256 = "02zwymqxq54xwc8wmzhbcfgx9plvk0n4kp1907sbl98mhh2frwrw"; libraryHaskellDepends = [ base bytestring file-embed-lzma servant servant-server servant-swagger-ui-core swagger2 text ]; description = "Servant swagger ui: Jens-Ole Graulund theme"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-swagger-ui-redoc" = callPackage @@ -192689,17 +207649,14 @@ self: { }: mkDerivation { pname = "servant-swagger-ui-redoc"; - version = "0.3.2.1.22.2"; - sha256 = "0d4r6rp48lkgd4903hfja14mlar1h17hrb4fhq05p3wga7kik6g0"; - revision = "1"; - editedCabalFile = "030zf1z5h96d40ifwagxblz1dij2ypbcqyy0wpqvjqbianyqgcim"; + version = "0.3.3.1.22.2"; + sha256 = "0qkh4h5ijhizlnps79gg75jy533rpc1vcw7v7yxika585srndim1"; libraryHaskellDepends = [ base bytestring file-embed-lzma servant servant-server servant-swagger-ui-core swagger2 text ]; description = "Servant swagger ui: ReDoc theme"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "servant-tracing" = callPackage @@ -192733,25 +207690,27 @@ self: { }) {}; "servant-waargonaut" = callPackage - ({ mkDerivation, attoparsec, base, bytestring, http-media - , http-types, lens, servant, servant-server, tasty, tasty-wai, text - , transformers, waargonaut, wai, wl-pprint-annotated + ({ mkDerivation, base, bytestring, http-media, http-types, lens + , servant, servant-server, tasty, tasty-wai, text, transformers + , waargonaut, wai, wl-pprint-annotated }: mkDerivation { pname = "servant-waargonaut"; - version = "0.5.0.1"; - sha256 = "05j4d99nl5165fr5799fpfw9xxadn77gmx1zcvsi075piacf0s2k"; + version = "0.6.0.0"; + sha256 = "17igh9s4bmzsx10qscrqpqd8djkmr2krfc660nhdsi7cx5hmlwl3"; libraryHaskellDepends = [ - attoparsec base bytestring http-media lens servant text waargonaut + base bytestring http-media lens servant text waargonaut wl-pprint-annotated ]; testHaskellDepends = [ - attoparsec base bytestring http-media http-types lens servant - servant-server tasty tasty-wai text transformers waargonaut wai + base bytestring http-media http-types lens servant servant-server + tasty tasty-wai text transformers waargonaut wai wl-pprint-annotated ]; description = "Servant Integration for Waargonaut JSON Package"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-websockets" = callPackage @@ -192774,6 +207733,8 @@ self: { ]; description = "Small library providing WebSocket endpoints for servant"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-xml" = callPackage @@ -192782,14 +207743,15 @@ self: { }: mkDerivation { pname = "servant-xml"; - version = "1.0.1.3"; - sha256 = "0f033s1nmhw5xsmnvj3rqmrw6zd0ywbr7v6v9dxlx9daim4jps1v"; + version = "1.0.1.4"; + sha256 = "0jzzw4bwjcnax53xx8yjfldd21zgbvynpagf1ikxpzq3sgqhdl2x"; libraryHaskellDepends = [ base bytestring http-media servant xmlbf xmlbf-xeno ]; description = "Servant support for the XML Content-Type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-yaml" = callPackage @@ -192800,6 +207762,8 @@ self: { pname = "servant-yaml"; version = "0.1.0.1"; sha256 = "00gnbdlcq6cvmhsga8h0csd35pnfib038rqlhm445l4wa0cp8m01"; + revision = "2"; + editedCabalFile = "0scpm5dshnb7izn1xx8q3xm1m5f52y1s7nzgp7sa7zcv3pp6n7lw"; libraryHaskellDepends = [ base bytestring http-media servant yaml ]; @@ -192821,6 +207785,7 @@ self: { description = "Types and definitions of servant-zeppelin combinators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-zeppelin-client" = callPackage @@ -192845,6 +207810,7 @@ self: { description = "Client library for servant-zeppelin combinators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-zeppelin-server" = callPackage @@ -192869,6 +207835,7 @@ self: { description = "Server library for servant-zeppelin combinators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "servant-zeppelin-swagger" = callPackage @@ -192891,6 +207858,7 @@ self: { description = "Swagger instances for servant-zeppelin combinators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "server-generic" = callPackage @@ -192907,6 +207875,7 @@ self: { description = "Auto-generate a server for your datatype"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "serverless-haskell" = callPackage @@ -192918,8 +207887,8 @@ self: { }: mkDerivation { pname = "serverless-haskell"; - version = "0.8.5"; - sha256 = "0jnq2z5h7bqzbrppznw38vq9ibbijddw3jkx3vhrf0jzvk50gqqg"; + version = "0.8.10"; + sha256 = "1gvswqkdk5awnvjqzvhbrvdmsyj73kiph872fvplmmdyvq8hb8gy"; libraryHaskellDepends = [ aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis amazonka-s3 base bytestring case-insensitive http-types iproute @@ -192935,6 +207904,7 @@ self: { description = "Deploying Haskell code onto AWS Lambda using Serverless"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "serversession" = callPackage @@ -193024,6 +207994,8 @@ self: { ]; description = "Storage backend for serversession using Redis"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "serversession-frontend-snap" = callPackage @@ -193042,6 +208014,7 @@ self: { description = "Snap bindings for serversession"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "serversession-frontend-wai" = callPackage @@ -193078,6 +208051,7 @@ self: { description = "Yesod bindings for serversession"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "services" = callPackage @@ -193096,6 +208070,7 @@ self: { description = "Tools for building services"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "serviette" = callPackage @@ -193145,6 +208120,8 @@ self: { ]; description = "Send HTML formatted emails using Amazon's SES REST API with blaze"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ses-html-snaplet" = callPackage @@ -193162,6 +208139,7 @@ self: { description = "Snaplet for the ses-html package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sessions" = callPackage @@ -193177,6 +208155,7 @@ self: { description = "Session Types for Haskell"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sessiontypes" = callPackage @@ -193199,6 +208178,7 @@ self: { description = "Session types library"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sessiontypes-distributed" = callPackage @@ -193222,6 +208202,7 @@ self: { description = "Session types distributed"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "set-cover" = callPackage @@ -193241,7 +208222,6 @@ self: { ]; description = "Solve exact set cover problems like Sudoku, 8 Queens, Soma Cube, Tetris Cube"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "set-extra" = callPackage @@ -193275,7 +208255,6 @@ self: { libraryHaskellDepends = [ base containers ]; description = "Sets of fixed size, with typelits"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "set-with" = callPackage @@ -193294,6 +208273,7 @@ self: { description = "Set of elements sorted by a different data type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "setdown" = callPackage @@ -193314,6 +208294,7 @@ self: { description = "Treating files as sets to perform rapid set manipulation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "setenv" = callPackage @@ -193344,6 +208325,7 @@ self: { description = "A console interface to the game of Set"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "setlocale" = callPackage @@ -193374,6 +208356,7 @@ self: { description = "A Haskell implementation of setoid"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "setop" = callPackage @@ -193439,6 +208422,7 @@ self: { description = "Ducktyped set interface for Haskell containers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "setters" = callPackage @@ -193453,6 +208437,7 @@ self: { description = "Small (TH) library to declare setters for typical `record' data type fields"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "settings" = callPackage @@ -193489,6 +208474,7 @@ self: { description = "S-Expression parsing/printing made fun and easy"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sexp-grammar" = callPackage @@ -193517,6 +208503,34 @@ self: { ]; description = "Invertible grammar combinators for S-expressions"; license = stdenv.lib.licenses.bsd3; + }) {}; + + "sexp-grammar_2_1_0" = callPackage + ({ mkDerivation, alex, array, base, bytestring, containers + , criterion, deepseq, happy, invertible-grammar, prettyprinter + , QuickCheck, recursion-schemes, scientific, semigroups, tasty + , tasty-hunit, tasty-quickcheck, text, utf8-string + }: + mkDerivation { + pname = "sexp-grammar"; + version = "2.1.0"; + sha256 = "139sqr50bba74h2r6gdivzsgkqjwq1gcah54zw2jkwzhlfk03fm1"; + libraryHaskellDepends = [ + array base bytestring containers deepseq invertible-grammar + prettyprinter recursion-schemes scientific semigroups text + utf8-string + ]; + libraryToolDepends = [ alex happy ]; + testHaskellDepends = [ + base containers invertible-grammar prettyprinter QuickCheck + scientific semigroups tasty tasty-hunit tasty-quickcheck text + utf8-string + ]; + benchmarkHaskellDepends = [ + base bytestring criterion deepseq text + ]; + description = "Invertible grammar combinators for S-expressions"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; }) {}; @@ -193567,6 +208581,24 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "sexpr-parser_0_2_0_0" = callPackage + ({ mkDerivation, base, bytestring, data-default, hspec, megaparsec + , process + }: + mkDerivation { + pname = "sexpr-parser"; + version = "0.2.0.0"; + sha256 = "0cgfmnv72n5li15k8dq4w2rvfx0ahbyb7h2g51a5i4x9w70dyllg"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base data-default megaparsec ]; + executableHaskellDepends = [ base bytestring megaparsec process ]; + testHaskellDepends = [ base data-default hspec megaparsec ]; + description = "Simple s-expression parser"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "sext" = callPackage ({ mkDerivation, base, bytestring, tasty, tasty-hunit , template-haskell, text, vector @@ -193584,6 +208616,7 @@ self: { description = "Lists, Texts, ByteStrings and Vectors with type-encoded length"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sfml-audio" = callPackage @@ -193609,6 +208642,7 @@ self: { description = "SIMD-oriented Fast Mersenne Twister(SFMT) binding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sfnt2woff" = callPackage @@ -193630,24 +208664,33 @@ self: { description = "A command line tool to convert TrueType/OpenType fonts to WOFF format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) zlib;}; "sgd" = callPackage - ({ mkDerivation, base, binary, bytestring, containers, deepseq - , filepath, lazy-io, logfloat, monad-par, mtl, primitive, random - , temporary, vector + ({ mkDerivation, ad, base, binary, bytestring, containers + , data-default, deepseq, filepath, hmatrix, logfloat, monad-par + , mtl, parallel, pipes, primitive, random, random-shuffle, tasty + , tasty-hunit, temporary, vector }: mkDerivation { pname = "sgd"; - version = "0.4.0.1"; - sha256 = "05ngij0zigjxplw76qaczpd4dmdmqj23h8bfls5cd5s5sbxv5irb"; + version = "0.8.0.2"; + sha256 = "1lzfnzk2iqjrsp6xksfa4qm7a2qh4q1y10mdqigl8slr5nsy9045"; libraryHaskellDepends = [ - base binary bytestring containers deepseq filepath lazy-io logfloat - monad-par mtl primitive random temporary vector + base binary bytestring containers data-default deepseq filepath + hmatrix logfloat monad-par mtl parallel pipes primitive random + random-shuffle temporary vector ]; - description = "Stochastic gradient descent"; + testHaskellDepends = [ + ad base binary bytestring containers data-default deepseq filepath + hmatrix logfloat monad-par mtl parallel pipes primitive random + random-shuffle tasty tasty-hunit temporary vector + ]; + description = "Stochastic gradient descent library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sgf" = callPackage @@ -193665,6 +208708,7 @@ self: { description = "SGF (Smart Game Format) parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sgrep" = callPackage @@ -193679,6 +208723,7 @@ self: { description = "Sgrep - grep Fasta files for sequences matching a regular expression"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sh2md" = callPackage @@ -193706,6 +208751,7 @@ self: { description = "Record your shell session and print in the markdown format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sha-streams" = callPackage @@ -193721,6 +208767,7 @@ self: { description = "SHA hashes for io-streams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shade" = callPackage @@ -193735,6 +208782,7 @@ self: { description = "A control structure used to combine heterogenous types with delayed effects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shadower" = callPackage @@ -193758,6 +208806,7 @@ self: { description = "An automated way to run doctests in files that are changing"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shadowsocks" = callPackage @@ -193827,31 +208876,32 @@ self: { "shake" = callPackage ({ mkDerivation, base, binary, bytestring, deepseq, directory - , extra, filepath, filepattern, hashable, heaps, js-flot, js-jquery - , primitive, process, QuickCheck, random, time, transformers, unix - , unordered-containers, utf8-string + , extra, filepath, filepattern, hashable, heaps, js-dgtable + , js-flot, js-jquery, primitive, process, QuickCheck, random, time + , transformers, unix, unordered-containers, utf8-string }: mkDerivation { pname = "shake"; - version = "0.17.6"; - sha256 = "17vyd7qd9x2ild3mpwbqhsy9270bl5pdpjrhracs9p83isw4sa1k"; + version = "0.18.3"; + sha256 = "0ywcdzxly8zvz2p3v5b3lp5bnkwsqxvdas7ysrhgxbhi3bnjvzjf"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ base binary bytestring deepseq directory extra filepath filepattern - hashable heaps js-flot js-jquery primitive process random time - transformers unix unordered-containers utf8-string + hashable heaps js-dgtable js-flot js-jquery primitive process + random time transformers unix unordered-containers utf8-string ]; executableHaskellDepends = [ base binary bytestring deepseq directory extra filepath filepattern - hashable heaps js-flot js-jquery primitive process random time - transformers unix unordered-containers utf8-string + hashable heaps js-dgtable js-flot js-jquery primitive process + random time transformers unix unordered-containers utf8-string ]; testHaskellDepends = [ base binary bytestring deepseq directory extra filepath filepattern - hashable heaps js-flot js-jquery primitive process QuickCheck - random time transformers unix unordered-containers utf8-string + hashable heaps js-dgtable js-flot js-jquery primitive process + QuickCheck random time transformers unix unordered-containers + utf8-string ]; description = "Build system library, like Make, but more accurate dependencies"; license = stdenv.lib.licenses.bsd3; @@ -193864,8 +208914,8 @@ self: { }: mkDerivation { pname = "shake-ats"; - version = "1.10.2.0"; - sha256 = "0kc7yy2qv4d2n3j0qwsg37ga9yyb380d6zni08l1jabrl84maly8"; + version = "1.10.2.2"; + sha256 = "070vvzz0nmdal9ja43l8s4dll2iwxjzd3lmlynkdm1v9qzj0iw67"; libraryHaskellDepends = [ base binary dependency directory hs2ats language-ats microlens shake shake-c shake-cabal shake-ext text @@ -193878,23 +208928,24 @@ self: { ({ mkDerivation, base, cdeps, composition-prelude, shake }: mkDerivation { pname = "shake-c"; - version = "0.4.0.0"; - sha256 = "1n8pm0431dxbrk3fqn1mijgvqbz4i7jcc8pqy60cj76p88kdn24q"; + version = "0.4.3.0"; + sha256 = "1cnmwn63kx43khgy3n00sqla8pw11h7almir31zm0dzgld11znix"; libraryHaskellDepends = [ base cdeps composition-prelude shake ]; description = "Library for building C code with shake"; license = stdenv.lib.licenses.bsd3; }) {}; "shake-cabal" = callPackage - ({ mkDerivation, base, Cabal, composition-prelude, directory - , filepath, shake + ({ mkDerivation, base, binary, Cabal, composition-prelude, deepseq + , directory, filepath, hashable, shake }: mkDerivation { pname = "shake-cabal"; - version = "0.2.0.0"; - sha256 = "13fzc57jl52c6j1wjmp4z39jwbqrnlwl5l8vxqk6hz814apsd555"; + version = "0.2.1.1"; + sha256 = "0d3c1v7pj568fj65fz7dd4h72wpnzz75n1k974nmjbx12vphfd1i"; libraryHaskellDepends = [ - base Cabal composition-prelude directory filepath shake + base binary Cabal composition-prelude deepseq directory filepath + hashable shake ]; description = "Shake library for use with cabal"; license = stdenv.lib.licenses.bsd3; @@ -193914,6 +208965,7 @@ self: { description = "Utility for building Shake build systems using Cabal sandboxes"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shake-ccjs" = callPackage @@ -193942,8 +208994,8 @@ self: { ({ mkDerivation, base, directory, shake }: mkDerivation { pname = "shake-ext"; - version = "3.1.0.0"; - sha256 = "1lbdz4bv95d0rwfpk1l494lrfd5qp029awbfiv1wpydbvvspdvx6"; + version = "3.1.0.2"; + sha256 = "04nhjq2s7iycjabh33jwbdc8pxdyxnfrwjvl1mxmwrx0zx96dbi9"; libraryHaskellDepends = [ base directory shake ]; description = "Helper functions for linting with shake"; license = stdenv.lib.licenses.bsd3; @@ -193963,6 +209015,7 @@ self: { description = "Extra utilities for shake build systems"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shake-google-closure-compiler" = callPackage @@ -193998,8 +209051,8 @@ self: { ({ mkDerivation, base, cpphs, shake }: mkDerivation { pname = "shake-literate"; - version = "0.1.0.0"; - sha256 = "1kliv9i9libcyzm0bccxi226rd69kvjxi9hi3n4y7zjbbp40cqgd"; + version = "0.1.0.1"; + sha256 = "0wx3mh62b8kq20qw15zg35nl4l066i11mzgj0vxlvys5a6902ijn"; libraryHaskellDepends = [ base cpphs shake ]; description = "Rules for building literate programs in shake"; license = stdenv.lib.licenses.bsd3; @@ -194017,6 +209070,20 @@ self: { description = "Shake Minify Rules"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "shake-minify-css" = callPackage + ({ mkDerivation, base, directory, filepath, hasmin, shake, text }: + mkDerivation { + pname = "shake-minify-css"; + version = "0.1.0.0"; + sha256 = "0gy3h108gbv93jr74sp3wa3r3vkm8k53wr3z9bmm6c9rg7zwr2q7"; + libraryHaskellDepends = [ + base directory filepath hasmin shake text + ]; + description = "Shake rules for CSS"; + license = stdenv.lib.licenses.bsd3; }) {}; "shake-pack" = callPackage @@ -194029,6 +209096,7 @@ self: { description = "Shake File Pack Rule"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shake-path" = callPackage @@ -194041,6 +209109,7 @@ self: { description = "path alternatives to shake functions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shake-persist" = callPackage @@ -194059,6 +209128,7 @@ self: { description = "Shake build system on-disk caching"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shaker" = callPackage @@ -194088,6 +209158,7 @@ self: { description = "simple and interactive command-line build tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shakers" = callPackage @@ -194144,6 +209215,7 @@ self: { description = "compile es2015"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shakespeare-css" = callPackage @@ -194196,6 +209268,7 @@ self: { description = "SASS support for Shakespeare and Yesod"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shakespeare-text" = callPackage @@ -194268,6 +209341,7 @@ self: { description = "Generics using @(,)@ and @Either@, with algebraic operations and typed conversions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shapes" = callPackage @@ -194366,6 +209440,7 @@ self: { description = "A circular buffer built on shared memory"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shared-fields" = callPackage @@ -194380,6 +209455,7 @@ self: { description = "a tiny library for using shared lens fields"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shared-memory" = callPackage @@ -194420,6 +209496,7 @@ self: { description = "A Haskell preprocessor adding miscellaneous features"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shelduck" = callPackage @@ -194451,6 +209528,7 @@ self: { description = "Test webhooks locally"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shell-conduit" = callPackage @@ -194514,6 +209592,18 @@ self: { description = "Pipe streams through external shell commands"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "shell-utility" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "shell-utility"; + version = "0.0"; + sha256 = "1s3482vxllmmjbcqbwsrql9ka6zng7qbbqk3kfjs6dvkcs710hbs"; + libraryHaskellDepends = [ base ]; + description = "Utility functions for writing command-line programs"; + license = stdenv.lib.licenses.bsd3; }) {}; "shellish" = callPackage @@ -194531,6 +209621,7 @@ self: { description = "shell-/perl- like (systems) programming in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shellmate" = callPackage @@ -194548,6 +209639,7 @@ self: { description = "Simple interface for shell scripting in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shellmate-extras" = callPackage @@ -194567,6 +209659,23 @@ self: { description = "Extra functionality for shellmate"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "shellmet" = callPackage + ({ mkDerivation, base, markdown-unlit, process, text }: + mkDerivation { + pname = "shellmet"; + version = "0.0.2.0"; + sha256 = "04ylwpwzd2g3604xyqr4g8zd9dp13hrb8kajajrymv6hafm85m3i"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base process text ]; + executableHaskellDepends = [ base text ]; + executableToolDepends = [ markdown-unlit ]; + testHaskellDepends = [ base ]; + description = "Out of the shell solution for scripting in Haskell"; + license = stdenv.lib.licenses.mpl20; }) {}; "shellout" = callPackage @@ -194613,41 +209722,9 @@ self: { testHaskellDepends = [ base hspec ]; description = "Parse strings into words, like a shell would"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "shelly" = callPackage - ({ mkDerivation, async, base, bytestring, containers, directory - , enclosed-exceptions, exceptions, filepath, hspec, hspec-contrib - , HUnit, lifted-async, lifted-base, monad-control, mtl, process - , system-fileio, system-filepath, text, time, transformers - , transformers-base, unix-compat - }: - mkDerivation { - pname = "shelly"; - version = "1.8.0"; - sha256 = "1y08pdw49yk4hbipgfwjab0wa85ng0mkypch5l0p53frykjm2zvk"; - revision = "1"; - editedCabalFile = "17achybammxg5i7zcmwlfcb7xk77q3lfvck3gqa9ljfb6ksgrxb7"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - async base bytestring containers directory enclosed-exceptions - exceptions lifted-async lifted-base monad-control mtl process - system-fileio system-filepath text time transformers - transformers-base unix-compat - ]; - testHaskellDepends = [ - async base bytestring containers directory enclosed-exceptions - exceptions filepath hspec hspec-contrib HUnit lifted-async - lifted-base monad-control mtl process system-fileio system-filepath - text time transformers transformers-base unix-compat - ]; - description = "shell-like (systems) programming in Haskell"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "shelly_1_8_1" = callPackage ({ mkDerivation, async, base, bytestring, containers, directory , enclosed-exceptions, exceptions, filepath, hspec, hspec-contrib , HUnit, lifted-async, lifted-base, monad-control, mtl, process @@ -194676,7 +209753,6 @@ self: { ]; description = "shell-like (systems) programming in Haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "shelly-extra" = callPackage @@ -194714,41 +209790,62 @@ self: { }) {}; "shh" = callPackage - ({ mkDerivation, async, base, deepseq, directory, filepath, mtl - , process, split, tasty, tasty-hunit, tasty-quickcheck - , template-haskell, unix + ({ mkDerivation, async, base, bytestring, containers, deepseq + , directory, doctest, filepath, markdown-unlit, mtl, process, split + , stringsearch, tasty, tasty-hunit, tasty-quickcheck + , template-haskell, temporary, unix, utf8-string }: mkDerivation { pname = "shh"; - version = "0.2.0.0"; - sha256 = "1r3giir4l1l2pn4kamgmdqsw1j8qz9aaw741lq761yk1s3lciwim"; + version = "0.7.0.4"; + sha256 = "10gnkk0645aznkry063kl5m68n7ip88m8cf97lwffj1y86iazk5b"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - async base deepseq directory filepath mtl process split - template-haskell unix + async base bytestring containers deepseq directory filepath mtl + process split stringsearch template-haskell unix utf8-string ]; - executableHaskellDepends = [ base ]; - testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ]; + executableHaskellDepends = [ + async base bytestring deepseq directory temporary unix + ]; + testHaskellDepends = [ + async base bytestring directory doctest filepath markdown-unlit + tasty tasty-hunit tasty-quickcheck utf8-string + ]; + testToolDepends = [ markdown-unlit ]; description = "Simple shell scripting from Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "shh-extras" = callPackage + ({ mkDerivation, base, hostname, shh, tasty, time }: + mkDerivation { + pname = "shh-extras"; + version = "0.1.0.1"; + sha256 = "0w4ddjszs0lrpr4zcggcwb80bg3yd8lr628jngmh4a05ypv3hxkk"; + libraryHaskellDepends = [ base hostname shh time ]; + testHaskellDepends = [ base tasty ]; + description = "Utility functions for using shh"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shift" = callPackage ({ mkDerivation, ansi-terminal, base, binary, bytestring - , composition-prelude, microlens, optparse-applicative - , system-fileio, system-filepath, text, turtle + , composition-prelude, directory, filepath, optparse-applicative }: mkDerivation { pname = "shift"; - version = "0.2.1.1"; - sha256 = "1sxzgbdha8caf4xhsma45wiqagzga1zifkp14a5s01a2013pdizm"; + version = "0.2.1.2"; + sha256 = "1g3qvk3b6qiawrjvzxv6nbr71zxb8c5rsi4agjhq8d1d6g9m9f42"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ - ansi-terminal base binary bytestring composition-prelude microlens - optparse-applicative system-fileio system-filepath text turtle + ansi-terminal base binary bytestring composition-prelude directory + filepath optparse-applicative ]; description = "A tool to quickly switch between directories"; license = stdenv.lib.licenses.mit; @@ -194792,7 +209889,6 @@ self: { ]; description = "The Reflective Lambda Machine"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "shine" = callPackage @@ -194803,6 +209899,8 @@ self: { pname = "shine"; version = "0.2.0.3"; sha256 = "16h5igycgas28qk22yg08qkfwsrar9g4bw7q8p94vmf993p4542k"; + revision = "1"; + editedCabalFile = "0af20y679gqd8dzsfjhiaag1dc25dlvgml2jdkqnp6mi28sbz3n1"; libraryHaskellDepends = [ base ghcjs-dom ghcjs-prim keycode mtl time transformers ]; @@ -194819,8 +209917,8 @@ self: { pname = "shine-varying"; version = "0.1.0.0"; sha256 = "13mnzf8i9y7ifn73mvsrzv0dh01vc20cymqli29j384z1491sc40"; - revision = "3"; - editedCabalFile = "1icg7mcfw6zrdf884kh2g0ss2lki0zf0b3r0yqzmz4h2cwvxl910"; + revision = "4"; + editedCabalFile = "1q46j41fxi8y52vzx7g18izndwrckcny56xdzyzrj5455znhwrsy"; libraryHaskellDepends = [ base ghcjs-dom keycode shine varying ]; testHaskellDepends = [ base ghcjs-dom keycode shine varying ]; description = "FRP interface for shine using the varying package"; @@ -194842,6 +209940,7 @@ self: { description = "Implementation of Shivers' Control-Flow Analysis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shoap" = callPackage @@ -194854,6 +209953,7 @@ self: { description = "A very basic SOAP package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shopify" = callPackage @@ -194875,6 +209975,7 @@ self: { description = "A haskell API binding for shopify.com"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shortcircuit" = callPackage @@ -194921,6 +210022,7 @@ self: { description = "Shorten a variety of string-like types adding ellipsis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "should-not-typecheck" = callPackage @@ -194976,17 +210078,19 @@ self: { }) {}; "show-prettyprint" = callPackage - ({ mkDerivation, ansi-wl-pprint, base, doctest, prettyprinter - , trifecta + ({ mkDerivation, ansi-wl-pprint, base, containers, doctest + , prettyprinter, trifecta }: mkDerivation { pname = "show-prettyprint"; - version = "0.2.2"; - sha256 = "0mdgx484vgf2lif4a58vm8yl8zghxh0533038r76l5xlkc5qczgh"; + version = "0.3.0.1"; + sha256 = "030dzprz07ib41f8pg2409zdxymvkk8jq4m0vczvgaajq3gghkdk"; libraryHaskellDepends = [ ansi-wl-pprint base prettyprinter trifecta ]; - testHaskellDepends = [ base doctest ]; + testHaskellDepends = [ + base containers doctest prettyprinter trifecta + ]; description = "Robust prettyprinter for output of auto-generated Show instances"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -195015,23 +210119,27 @@ self: { description = "A simple gtk based Russian Roulette game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shower" = callPackage - ({ mkDerivation, base, containers, directory, filepath, megaparsec - , pretty, process, tasty, tasty-golden, temporary + ({ mkDerivation, aeson, base, containers, directory, filepath + , megaparsec, pretty, process, QuickCheck, tasty, tasty-golden + , tasty-quickcheck, temporary, text, unordered-containers + , utf8-string, vector }: mkDerivation { pname = "shower"; - version = "0.1"; - sha256 = "1jnj0v8h01sb5znc3rlfrplkyis9aflxgwg01l9a5293l19jgs4r"; + version = "0.2.0.1"; + sha256 = "13qxddl6v3kcfgyr5q281hrr4xkflnc3nafbs3jq0w5k6njn7djb"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base megaparsec pretty ]; executableHaskellDepends = [ base ]; testHaskellDepends = [ - base containers directory filepath process tasty tasty-golden - temporary + aeson base containers directory filepath process QuickCheck tasty + tasty-golden tasty-quickcheck temporary text unordered-containers + utf8-string vector ]; description = "Clean up the formatting of 'show' output"; license = stdenv.lib.licenses.bsd3; @@ -195052,6 +210160,7 @@ self: { description = "Web automation library in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shplit" = callPackage @@ -195102,6 +210211,7 @@ self: { description = "Shuffle tool for UHC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "shunya-library" = callPackage @@ -195138,6 +210248,7 @@ self: { description = "An interface to the Silicon Labs Si5351 clock chip"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sibe" = callPackage @@ -195164,6 +210275,7 @@ self: { description = "Machine Learning algorithms"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sieve" = callPackage @@ -195199,6 +210311,7 @@ self: { description = "Simple, visual, functional language for learning about recursion"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sifflet-lib" = callPackage @@ -195218,6 +210331,7 @@ self: { description = "Library of modules shared by sifflet and its tests and its exporters"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {gdk_x11 = null; gtk_x11 = null;}; "siggy-chardust" = callPackage @@ -195237,6 +210351,8 @@ self: { ]; description = "Rounding rationals to significant digits and decimal places"; license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sigma-ij" = callPackage @@ -195259,6 +210375,7 @@ self: { description = "Thom polynomials of second order Thom-Boardman singularities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sign" = callPackage @@ -195282,6 +210399,7 @@ self: { description = "Arithmetic over signs and sets of signs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "signal" = callPackage @@ -195313,6 +210431,7 @@ self: { description = "Synchronous signal processing for DSLs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "signed-multiset" = callPackage @@ -195325,14 +210444,15 @@ self: { description = "Multisets with negative membership"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "silently" = callPackage ({ mkDerivation, base, deepseq, directory, nanospec, temporary }: mkDerivation { pname = "silently"; - version = "1.2.5"; - sha256 = "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"; + version = "1.2.5.1"; + sha256 = "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"; libraryHaskellDepends = [ base deepseq directory ]; testHaskellDepends = [ base deepseq directory nanospec temporary ]; description = "Prevent or capture writing to stdout and other handles"; @@ -195355,6 +210475,7 @@ self: { description = "A generator for different kinds of data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simd" = callPackage @@ -195367,6 +210488,7 @@ self: { description = "simple interface to GHC's SIMD instructions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simgi" = callPackage @@ -195385,6 +210507,7 @@ self: { description = "stochastic simulation engine"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple" = callPackage @@ -195396,8 +210519,8 @@ self: { }: mkDerivation { pname = "simple"; - version = "0.11.2"; - sha256 = "05069qjgzm4j22p0q6i75qpsvzpw52b7bh2x2b6jcxnlvqp6flzg"; + version = "0.11.3"; + sha256 = "0qifp6wacsmykb09ddx03yv4pbk7c1rhs16jjlfafm2wc2025rac"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -195419,7 +210542,6 @@ self: { ]; description = "A minimalist web framework for the WAI server interface"; license = stdenv.lib.licenses.lgpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "simple-actors" = callPackage @@ -195435,6 +210557,7 @@ self: { description = "A library for more structured concurrent programming, based on the Actor Model"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-affine-space" = callPackage @@ -195452,6 +210575,7 @@ self: { description = "A simple library for affine and vector spaces"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-atom" = callPackage @@ -195464,6 +210588,7 @@ self: { description = "Atom (or symbol) datatype for fast comparision and sorting"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-bluetooth" = callPackage @@ -195477,6 +210602,7 @@ self: { description = "Simple Bluetooth API for Windows and Linux (bluez)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {bluetooth = null;}; "simple-c-value" = callPackage @@ -195500,19 +210626,42 @@ self: { description = "A simple C value type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "simple-cabal" = callPackage + ({ mkDerivation, base, Cabal, directory, filepath }: + mkDerivation { + pname = "simple-cabal"; + version = "0.0.0.1"; + sha256 = "17v22v9sb8z2jbr76vv577hxcvypfkpmji2k8yzwd2kxjssxpjrn"; + libraryHaskellDepends = [ base Cabal directory filepath ]; + description = "Cabal file wrapper library"; + license = stdenv.lib.licenses.bsd3; }) {}; "simple-cmd" = callPackage - ({ mkDerivation, base, directory, filepath, process }: + ({ mkDerivation, base, directory, filepath, process, unix }: mkDerivation { pname = "simple-cmd"; - version = "0.1.2"; - sha256 = "10jdyl1ghzczxw5bi8s1694fla42s1aknmj5grxndidwzf95b8g6"; - libraryHaskellDepends = [ base directory filepath process ]; + version = "0.2.0.1"; + sha256 = "0kd0kr27q72ay5jzrnyqnbbfl4q1lyrlq13s74iphxx4s2yzn03p"; + libraryHaskellDepends = [ base directory filepath process unix ]; description = "Simple String-based process commands"; license = stdenv.lib.licenses.bsd3; }) {}; + "simple-cmd-args" = callPackage + ({ mkDerivation, base, optparse-applicative }: + mkDerivation { + pname = "simple-cmd-args"; + version = "0.1.2"; + sha256 = "1vj5yvqvch8ckf1jzp77d7l6g89wxzb8ngqn6iw3m215f8xl77p8"; + libraryHaskellDepends = [ base optparse-applicative ]; + description = "Simple command args parsing and execution"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "simple-conduit" = callPackage ({ mkDerivation, base, bifunctors, bytestring, CC-delcont , chunked-data, conduit, conduit-combinators, conduit-extra @@ -195543,6 +210692,7 @@ self: { description = "A simple streaming I/O library based on monadic folds"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-config" = callPackage @@ -195561,6 +210711,7 @@ self: { description = "Simple config file parser generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-css" = callPackage @@ -195577,6 +210728,7 @@ self: { description = "simple binding of css and html"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-download" = callPackage @@ -195593,6 +210745,7 @@ self: { description = "A simple wrapper of http-conduit for file download"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-effects" = callPackage @@ -195616,6 +210769,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "simple-enumeration" = callPackage + ({ mkDerivation, base, doctest, integer-gmp }: + mkDerivation { + pname = "simple-enumeration"; + version = "0.2"; + sha256 = "0792fcn7mxvhdvsqgc335lcyp89zcdk3fbfqyckz9fsmf6382hv4"; + libraryHaskellDepends = [ base integer-gmp ]; + testHaskellDepends = [ base doctest ]; + description = "Finite or countably infinite sequences of values"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "simple-eval" = callPackage ({ mkDerivation, base, parsec, text, transformers }: mkDerivation { @@ -195629,6 +210794,7 @@ self: { description = "Evaluate a Text to an Integer: \"1 + 1\" -> 2"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-firewire" = callPackage @@ -195641,6 +210807,7 @@ self: { description = "Simplified interface for firewire cameras"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-form" = callPackage @@ -195673,6 +210840,7 @@ self: { description = "Simple parallel genetic algorithm implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-genetic-algorithm-mr" = callPackage @@ -195699,8 +210867,8 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "simple-get-opt"; - version = "0.2.0"; - sha256 = "1xx751j2vszqr8x9nf4f56aj5b6v0j8qdf90pd1xdasrfc67af9c"; + version = "0.3"; + sha256 = "1kcngbcl8kv6v9762z1f6kp4x7kary8n4zqpky6d7kxpv5zqrnfy"; libraryHaskellDepends = [ base ]; description = "A simple library for processing command-line options"; license = stdenv.lib.licenses.bsd3; @@ -195720,6 +210888,7 @@ self: { description = "Allows simple indexation on any data type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-log" = callPackage @@ -195730,8 +210899,8 @@ self: { }: mkDerivation { pname = "simple-log"; - version = "0.9.11"; - sha256 = "1mqibcpcnwc0hqbcbvl32vv4458n02f2k2bnparh8ajm5n9h0cjk"; + version = "0.9.12"; + sha256 = "1038asbw9yi1wz3di0ggx62nazljh9m07dvf3lmjrvj1k8i7842w"; libraryHaskellDepends = [ async base base-unicode-symbols containers data-default deepseq directory exceptions filepath hformat microlens microlens-platform @@ -195752,6 +210921,7 @@ self: { description = "Syslog backend for simple-log"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-logger" = callPackage @@ -195786,6 +210956,20 @@ self: { description = "Logging effect to plug into the simple-effects framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "simple-ltl" = callPackage + ({ mkDerivation, base, criterion, deepseq, tasty, tasty-hunit }: + mkDerivation { + pname = "simple-ltl"; + version = "2.1.0"; + sha256 = "1hq9s9s9rslsq0ccdi92mjcxvvv3ficdfbfbbplgclzmlwbmwqzw"; + libraryHaskellDepends = [ base deepseq ]; + testHaskellDepends = [ base tasty tasty-hunit ]; + benchmarkHaskellDepends = [ base criterion ]; + description = "A simple LTL checker"; + license = stdenv.lib.licenses.bsd3; }) {}; "simple-money" = callPackage @@ -195798,6 +210982,7 @@ self: { description = "Simple library to handle and interexchange money"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-neural-networks" = callPackage @@ -195818,6 +211003,7 @@ self: { description = "Simple parallel neural networks implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-nix" = callPackage @@ -195840,6 +211026,7 @@ self: { description = "Simple parsing/pretty printing for Nix expressions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-observer" = callPackage @@ -195869,6 +211056,7 @@ self: { description = "Simplified Pascal language to SSVM compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-pipe" = callPackage @@ -195888,6 +211076,7 @@ self: { description = "simple pipeline library like conduit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-postgresql-orm" = callPackage @@ -195905,7 +211094,6 @@ self: { ]; description = "Connector package for integrating postgresql-orm with the Simple web framework"; license = stdenv.lib.licenses.lgpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "simple-reflect" = callPackage @@ -195929,6 +211117,7 @@ self: { description = "Memory-efficient strings with concatenation and splitting"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-sendfile" = callPackage @@ -195939,6 +211128,8 @@ self: { pname = "simple-sendfile"; version = "0.2.28"; sha256 = "0w4qn8dslcky7cq36jjjnlqwl2s46m8q1cwk3hc9cf0wsiwhp059"; + revision = "2"; + editedCabalFile = "16pyj7b4i1dzpzqbarzjamcjdyiy8j6lh5vf1ggchx69x44dqcr3"; libraryHaskellDepends = [ base bytestring network unix ]; testHaskellDepends = [ base bytestring conduit conduit-extra directory hspec HUnit network @@ -195979,7 +211170,6 @@ self: { ]; description = "Cookie-based session management for the Simple web framework"; license = stdenv.lib.licenses.lgpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "simple-sessions" = callPackage @@ -195999,26 +211189,24 @@ self: { pname = "simple-smt"; version = "0.9.4"; sha256 = "0sbwgyw2a5p85yddvmvzk85709qjqny3xgps7zg9k17m9d5bwdm0"; + revision = "1"; + editedCabalFile = "13y564gh7qndkdxnrdx5zbqnkcb5bgg074al92c9rqxd9c66wx4k"; libraryHaskellDepends = [ base process ]; description = "A simple way to interact with an SMT solver process"; license = stdenv.lib.licenses.bsd3; }) {}; "simple-sql-parser" = callPackage - ({ mkDerivation, base, HUnit, mtl, parsec, pretty, test-framework - , test-framework-hunit - }: + ({ mkDerivation, base, mtl, parsec, pretty, tasty, tasty-hunit }: mkDerivation { pname = "simple-sql-parser"; - version = "0.4.4"; - sha256 = "1j1p94mfb7kzrayi39xcwmagxcf5j9lvxi7niqxc5jr70958csnl"; + version = "0.5.0"; + sha256 = "0d063wyrz8qynngy499i00hjkacd0xg01qni1wx2cbrcxg0xwcpd"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base mtl parsec pretty ]; - testHaskellDepends = [ - base HUnit mtl parsec pretty test-framework test-framework-hunit - ]; - description = "A parser for SQL queries"; + testHaskellDepends = [ base mtl parsec pretty tasty tasty-hunit ]; + description = "A parser for SQL"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -196035,6 +211223,8 @@ self: { testHaskellDepends = [ base extra tasty tasty-hunit text ]; description = "source code editing utilities"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-stacked-vm" = callPackage @@ -196064,6 +211254,7 @@ self: { description = "Simple tabular-text formatter"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-tar" = callPackage @@ -196080,6 +211271,7 @@ self: { description = "Simple, pure, file-system-free reading of tar files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-templates" = callPackage @@ -196088,8 +211280,8 @@ self: { }: mkDerivation { pname = "simple-templates"; - version = "0.8.0.1"; - sha256 = "13na1f29fvc0j452kh0a3fjig3fq4qbklcpdv6bm1fr0cf8hzq98"; + version = "0.9.0.0"; + sha256 = "09s81syr45dvrqski4gz96ynmv8gb3zwyy4n6a7frv49z843phda"; libraryHaskellDepends = [ aeson attoparsec base scientific text unordered-containers vector ]; @@ -196098,7 +211290,6 @@ self: { ]; description = "A basic template language for the Simple web framework"; license = stdenv.lib.licenses.lgpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "simple-text-format" = callPackage @@ -196123,8 +211314,8 @@ self: { }: mkDerivation { pname = "simple-ui"; - version = "0.1.1"; - sha256 = "1phag0frz7l4xgrgjc72x9iwjl1z1l6mpz7lnifjgn7zp3wdkwzs"; + version = "0.1.2"; + sha256 = "106fcxl97gnkpv2bc50bg5zv8j7f1cdyxbl1l99p3rsq6wr6mr0m"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base data-default-class exceptions lens mtl stm template-haskell @@ -196132,7 +211323,17 @@ self: { ]; description = "UI library for terminal"; license = stdenv.lib.licenses.gpl2; - hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "simple-units" = callPackage + ({ mkDerivation, base, first-class-families }: + mkDerivation { + pname = "simple-units"; + version = "1.0.1.1"; + sha256 = "1dzsr15lq32dqsbhb639vzlx2d6m2kx0qax75ik2z765r5h9f9sa"; + libraryHaskellDepends = [ base first-class-families ]; + description = "Simple arithmetic with SI units using type-checked dimensional analysis"; + license = stdenv.lib.licenses.mit; }) {}; "simple-vec3" = callPackage @@ -196141,8 +211342,8 @@ self: { }: mkDerivation { pname = "simple-vec3"; - version = "0.4.0.10"; - sha256 = "0dyr9bg3y8613hd0zz7knkniq7p0hxm7w9pjs0jjhq586g0qh5ql"; + version = "0.6"; + sha256 = "1vw03xlnf8hj6rlcgpblg3swcbvqj4qp04zdv3a9j2a47j780qhh"; libraryHaskellDepends = [ base QuickCheck vector ]; testHaskellDepends = [ base doctest doctest-driver-gen tasty tasty-quickcheck @@ -196151,6 +211352,7 @@ self: { description = "Three-dimensional vectors of doubles with basic operations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simple-zipper" = callPackage @@ -196164,6 +211366,7 @@ self: { description = "Zippers made slightly easier"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simpleargs" = callPackage @@ -196177,6 +211380,7 @@ self: { description = "Provides a more flexible getArgs function with better error reporting"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simpleconfig" = callPackage @@ -196194,6 +211398,7 @@ self: { description = "Short description of your package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simpleirc" = callPackage @@ -196211,6 +211416,7 @@ self: { description = "Simple IRC Library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simpleirc-lens" = callPackage @@ -196223,6 +211429,7 @@ self: { description = "Lenses for simpleirc types"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simplemesh" = callPackage @@ -196251,6 +211458,7 @@ self: { description = "Haskell interface for the simplenote API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simpleprelude" = callPackage @@ -196270,6 +211478,7 @@ self: { description = "A simplified Haskell prelude for teaching"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simplesmtpclient" = callPackage @@ -196303,15 +211512,14 @@ self: { }: mkDerivation { pname = "simplest-sqlite"; - version = "0.1.0.0"; - sha256 = "0vjx01bls2z99hmynqhxm4j2cq17334wz3pz0gm5saxslkldw2sz"; + version = "0.1.0.1"; + sha256 = "06ccads286air3m6xys60aap5dckjimp6rvchk3v6927z9vgrn0v"; libraryHaskellDepends = [ base bytestring exception-hierarchy template-haskell text ]; librarySystemDepends = [ sqlite ]; description = "Simplest SQLite3 binding"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) sqlite;}; "simplex" = callPackage @@ -196352,6 +211560,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "simplistic-generics" = callPackage + ({ mkDerivation, base, comonad, kind-apply }: + mkDerivation { + pname = "simplistic-generics"; + version = "0.1.0.0"; + sha256 = "11z02m4dr9p2y29xwhy6a3l2cz2np164c8cwp0a0b9vkhphw4y1j"; + libraryHaskellDepends = [ base comonad kind-apply ]; + description = "Generic programming without too many type classes"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "simseq" = callPackage ({ mkDerivation, base, bio, bytestring, random }: mkDerivation { @@ -196365,6 +211584,7 @@ self: { description = "Simulate sequencing with different models for priming and errors"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "simtreelo" = callPackage @@ -196417,14 +211637,12 @@ self: { }) {inherit (pkgs.xorg) libXft;}; "singleton-bool" = callPackage - ({ mkDerivation, base }: + ({ mkDerivation, base, dec }: mkDerivation { pname = "singleton-bool"; - version = "0.1.4"; - sha256 = "0apvzb6ym0fnm4rx7paz6ivv72ahzn2bxhvyd1drw50ypvicd581"; - revision = "1"; - editedCabalFile = "0ccd49z9xwa8gr8sclmmn0zc4xq39yyjws4zr6lrw3xjql130nsx"; - libraryHaskellDepends = [ base ]; + version = "0.1.5"; + sha256 = "17w9vv6arn7vvc7kykqcx81q2364ji43khrryl27r1cjx9yxapa0"; + libraryHaskellDepends = [ base dec ]; description = "Type level booleans"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -196439,6 +211657,7 @@ self: { description = "Typelevel balanced search trees via a singletonized Data.Map"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "singleton-nats" = callPackage @@ -196452,6 +211671,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "singleton-nats_0_4_3" = callPackage + ({ mkDerivation, base, singletons }: + mkDerivation { + pname = "singleton-nats"; + version = "0.4.3"; + sha256 = "0xj5w6dszm832y90qxmwqnyiwpav30q199cjcdbdxr7q1d4klszi"; + libraryHaskellDepends = [ base singletons ]; + description = "Unary natural numbers relying on the singletons infrastructure"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "singleton-typelits" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -196462,6 +211693,7 @@ self: { description = "Singletons and induction over GHC TypeLits"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "singletons" = callPackage @@ -196483,6 +211715,28 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "singletons_2_6" = callPackage + ({ mkDerivation, base, Cabal, containers, directory, filepath + , ghc-boot-th, mtl, pretty, process, syb, tasty, tasty-golden + , template-haskell, text, th-desugar, transformers, turtle + }: + mkDerivation { + pname = "singletons"; + version = "2.6"; + sha256 = "1lc6p1f3h0j4nq5ppqwjihrjlgcwl5sx5fsw449m9lvs07vp39xy"; + setupHaskellDepends = [ base Cabal directory filepath ]; + libraryHaskellDepends = [ + base containers ghc-boot-th mtl pretty syb template-haskell text + th-desugar transformers + ]; + testHaskellDepends = [ + base filepath process tasty tasty-golden text turtle + ]; + description = "A framework for generating singleton types"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "singnal" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -196493,6 +211747,7 @@ self: { description = "Singnal"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sink" = callPackage @@ -196505,6 +211760,7 @@ self: { description = "An alternative to lazy I/O that doesn't conflate execution with evaluation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "siphash" = callPackage @@ -196530,18 +211786,19 @@ self: { "siphon" = callPackage ({ mkDerivation, attoparsec, base, bytestring, colonnade , contravariant, doctest, either, HUnit, pipes, profunctors - , QuickCheck, streaming, test-framework, test-framework-hunit - , test-framework-quickcheck2, text, transformers, vector + , QuickCheck, semigroups, streaming, test-framework + , test-framework-hunit, test-framework-quickcheck2, text + , transformers, vector }: mkDerivation { pname = "siphon"; - version = "0.8.1"; - sha256 = "0f0i6clnlzkmks7l7pjxyvv2xq7lcd45fmdpzr7xqfwdn17mq6sx"; - revision = "2"; - editedCabalFile = "0kw20g5qghyh1nh9x8dm70frx3jl89npylr2aypvw8igffwsj531"; + version = "0.8.1.1"; + sha256 = "1l8asyjbhhzj0zccf86g0scm2h8hp42c3v3wyymcvfwmd2wspnfr"; + revision = "1"; + editedCabalFile = "0xdl110lvjq23vd7p6q0fc68yspk72m5ixs90yc8j2g7fi52izsx"; libraryHaskellDepends = [ - attoparsec base bytestring colonnade streaming text transformers - vector + attoparsec base bytestring colonnade semigroups streaming text + transformers vector ]; testHaskellDepends = [ base bytestring colonnade contravariant doctest either HUnit pipes @@ -196551,6 +211808,7 @@ self: { description = "Encode and decode CSV files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "siren-json" = callPackage @@ -196561,8 +211819,8 @@ self: { }: mkDerivation { pname = "siren-json"; - version = "0.3.0.0"; - sha256 = "096a4ls4kqpslqsh499ykh7mkvnz3q7n00w1par69kmj4x3g9v0j"; + version = "0.3.1.1"; + sha256 = "0idkblh14jz1l2miphb07lynpw8n1bshxf3q37chclc25wr156zk"; libraryHaskellDepends = [ aeson base bytestring containers http-media http-types network-uri network-uri-json text unordered-containers @@ -196576,6 +211834,7 @@ self: { description = "Siren Tools for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sirkel" = callPackage @@ -196593,6 +211852,7 @@ self: { description = "Sirkel, a Chord DHT"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sitemap" = callPackage @@ -196610,21 +211870,22 @@ self: { ({ mkDerivation, aeson, base, bytestring, containers, directory , exceptions, filepath, Glob, lens, lens-aeson, megaparsec , MissingH, mtl, mustache, optparse-applicative, pandoc, parsec - , shelly, text, unordered-containers, yaml + , shelly, text, transformers, unordered-containers, yaml }: mkDerivation { pname = "sitepipe"; - version = "0.3.0.2"; - sha256 = "0f26sqpf8rjrbpk6q9hp0q705hhmhyp71jyj5w9jgq6mnj34rxy8"; + version = "0.4.0.0"; + sha256 = "0y8llic3imc1zs53glig24vjm59f2dnw4sw32gzkvlzq33689s7s"; libraryHaskellDepends = [ aeson base bytestring containers directory exceptions filepath Glob lens lens-aeson megaparsec MissingH mtl mustache - optparse-applicative pandoc parsec shelly text unordered-containers - yaml + optparse-applicative pandoc parsec shelly text transformers + unordered-containers yaml ]; description = "A simple to understand static site generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sixfiguregroup" = callPackage @@ -196642,6 +211903,7 @@ self: { description = "A six figure group of time"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sixty-five-oh-two" = callPackage @@ -196688,6 +211950,7 @@ self: { description = "Sized sequence data-types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sized-grid" = callPackage @@ -196713,6 +211976,7 @@ self: { description = "Multidimensional grids with sized specified at compile time"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sized-types" = callPackage @@ -196732,6 +211996,7 @@ self: { description = "Sized types in Haskell using the GHC Nat kind"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sized-vector" = callPackage @@ -196749,6 +212014,7 @@ self: { description = "Size-parameterized vector types and functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sizes" = callPackage @@ -196769,6 +212035,7 @@ self: { description = "Recursively show space (size and i-nodes) used in subdirectories"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sjsp" = callPackage @@ -196791,6 +212058,7 @@ self: { description = "Simple JavaScript Profiler"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "skein" = callPackage @@ -196828,6 +212096,7 @@ self: { description = "Skeletal set - a set with equivalence relation different from equality"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "skeleton" = callPackage @@ -196847,6 +212116,7 @@ self: { description = "a tool to access the OSX keychain"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "skeletons" = callPackage @@ -196866,6 +212136,7 @@ self: { description = "Manage project skeletons"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "skell" = callPackage @@ -196882,6 +212153,7 @@ self: { description = "An overly complex Haskell web framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "skemmtun" = callPackage @@ -196901,6 +212173,7 @@ self: { description = "A MyAnimeList.net client."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "skews" = callPackage @@ -196909,10 +212182,8 @@ self: { }: mkDerivation { pname = "skews"; - version = "0.1.0.1"; - sha256 = "03dn42hj50g4if1biln8m9rzf54iccqivkdciw06yrvx7q64hi5m"; - revision = "1"; - editedCabalFile = "0zvqfr9dfcap3ljpkq5hq95npmhrmndlh0gs4pa2zm8bwrh1nl66"; + version = "0.1.0.2"; + sha256 = "0xw9zlv7f77048c47kc3kymwxv9whg286d270n9d1k52c0df8h0p"; libraryHaskellDepends = [ base bytestring deque websockets ]; testHaskellDepends = [ async base bytestring deque envy hspec network websockets @@ -196920,6 +212191,7 @@ self: { description = "A very quick-and-dirty WebSocket server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "skip-list" = callPackage @@ -196957,6 +212229,7 @@ self: { description = "Eclectic collection of utility functions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "skylark-client" = callPackage @@ -196980,6 +212253,7 @@ self: { description = "Skylark client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "skylighting" = callPackage @@ -196991,8 +212265,8 @@ self: { }: mkDerivation { pname = "skylighting"; - version = "0.7.6"; - sha256 = "0dzwk8603xd7wasxw0hg7pr18kfdb4f6gjqh42j6ldbn89w00d4f"; + version = "0.8.2"; + sha256 = "0a81hd4f0xlc8as5lh454gkbyxndaxyj7lblkfk92j173nyx69cz"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -197015,8 +212289,8 @@ self: { }: mkDerivation { pname = "skylighting-core"; - version = "0.7.6"; - sha256 = "02jhla474vpr56dn0573j29lngqi2v167n7bxlra20ywlgbj5mn7"; + version = "0.8.2"; + sha256 = "1nd11170r7xwv0hy21bx9nz7173ijbqkh7r8504ixjkwckgr2zs0"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -197079,6 +212353,7 @@ self: { description = "Skype Desktop API binding for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "skypelogexport" = callPackage @@ -197117,6 +212392,7 @@ self: { description = "Haskell API for interacting with Slack"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "slack-api" = callPackage @@ -197187,8 +212463,8 @@ self: { }: mkDerivation { pname = "slack-web"; - version = "0.2.0.10"; - sha256 = "0dcvy6x08xm3kgxh65p7kvp7r4f1n819g933vna37sjwy94mmqh1"; + version = "0.2.0.11"; + sha256 = "14ngln71sn5i26041m4v614vq4qhr44pzlgyxliyqw08dxn25la7"; libraryHaskellDepends = [ aeson base containers errors http-api-data http-client http-client-tls megaparsec mtl servant servant-client @@ -197200,7 +212476,6 @@ self: { ]; description = "Bindings for the Slack web API"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "slate" = callPackage @@ -197210,8 +212485,8 @@ self: { }: mkDerivation { pname = "slate"; - version = "0.13.0.0"; - sha256 = "0b1mk6d79h4mkh71kgg208i15bik97a29hzs1j57qxipici680rj"; + version = "0.13.1.0"; + sha256 = "08d6i7dacfcgsc4iijhs4sbkfhy720hk3m0v9d1gwg5ycjys1qdr"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -197228,6 +212503,8 @@ self: { ]; description = "A note taking CLI tool"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "slave-thread" = callPackage @@ -197248,6 +212525,8 @@ self: { ]; description = "A fundamental solution to ghost threads and silent exceptions"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sleep" = callPackage @@ -197282,6 +212561,30 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "sliceofpy" = callPackage + ({ mkDerivation, base, bytestring, containers, lens, process, split + , tasty, tasty-hspec, template-haskell, text + }: + mkDerivation { + pname = "sliceofpy"; + version = "1.0.0"; + sha256 = "0jc6abvgyrljyvzxw3v3nhxzqw3fjh2r51xag2v2xg3zb9qx8fra"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring lens process split template-haskell text + ]; + executableHaskellDepends = [ + base bytestring lens process split template-haskell text + ]; + testHaskellDepends = [ + base bytestring containers lens process split tasty tasty-hspec + template-haskell text + ]; + description = "Python-ish slicing traversals for Haskell"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "slick" = callPackage ({ mkDerivation, aeson, base, binary, bytestring, containers, lens , lens-aeson, mustache, pandoc, shake, text, time @@ -197299,7 +212602,6 @@ self: { pandoc shake text time ]; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "slidemews" = callPackage @@ -197319,6 +212621,7 @@ self: { description = "ws convert markdown to reveal-js"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "slim" = callPackage @@ -197335,6 +212638,19 @@ self: { description = "Functional reactive user interface programming"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "slist" = callPackage + ({ mkDerivation, base, doctest, Glob }: + mkDerivation { + pname = "slist"; + version = "0.0.0"; + sha256 = "0w9rgy0afma2gk36jbk7r8kyvl4vfhd0pfbv6ank2pr6kd5a4a0z"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base doctest Glob ]; + description = "Sized list"; + license = stdenv.lib.licenses.mpl20; }) {}; "sloane" = callPackage @@ -197357,6 +212673,7 @@ self: { description = "A command line interface to Sloane's OEIS"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "slope-field" = callPackage @@ -197375,7 +212692,6 @@ self: { ]; description = "Visualize mathematical function's slope fields"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "slot-lambda" = callPackage @@ -197393,6 +212709,7 @@ self: { description = "Write lambdas without naming the parameters"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sloth" = callPackage @@ -197405,6 +212722,7 @@ self: { description = "Testing for minimal strictness"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "slotmap" = callPackage @@ -197439,6 +212757,30 @@ self: { description = "Type-safe slugs for Yesod ecosystem"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "small-bytearray-builder" = callPackage + ({ mkDerivation, base, byteslice, bytestring, gauge, primitive + , primitive-offset, QuickCheck, run-st, tasty, tasty-quickcheck + , vector + }: + mkDerivation { + pname = "small-bytearray-builder"; + version = "0.1.1.0"; + sha256 = "1i3b77mczfy9f0gp5ckqln1vdhnqflz8lajfiygx5spxf9kraf9d"; + libraryHaskellDepends = [ + base byteslice primitive primitive-offset run-st vector + ]; + testHaskellDepends = [ + base byteslice bytestring primitive QuickCheck tasty + tasty-quickcheck vector + ]; + benchmarkHaskellDepends = [ base gauge primitive ]; + description = "Serialize to a small byte arrays"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smallarray" = callPackage @@ -197451,6 +212793,7 @@ self: { description = "low-level unboxed arrays, with minimal features"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smallcaps" = callPackage @@ -197459,8 +212802,8 @@ self: { }: mkDerivation { pname = "smallcaps"; - version = "0.6.0.5"; - sha256 = "06cqknha64gmf3rjjmcr3358fd5rii6xlgph5fvan0h25cnlk7nw"; + version = "0.6.0.6"; + sha256 = "10853yxysjzv3nq2z4p0klqz2jakcdknbwmdfvppzp604v7ip4jm"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -197473,7 +212816,6 @@ self: { ]; description = "Flatten camel case text in LaTeX files"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "smallcheck" = callPackage @@ -197497,6 +212839,7 @@ self: { description = "SmallCheck properties for common laws"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smallcheck-lens" = callPackage @@ -197513,6 +212856,7 @@ self: { description = "SmallCheck properties for lens"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smallcheck-series" = callPackage @@ -197523,13 +212867,14 @@ self: { pname = "smallcheck-series"; version = "0.6.1"; sha256 = "07kjbci4wxi6g9m0k0fqpxm8p2kxspyrcmg175vb3bp008vqb931"; + revision = "2"; + editedCabalFile = "1944nax2aq32cd8i335nc511zis3lcwkclkh5caigsfs34kwwglg"; libraryHaskellDepends = [ base bytestring containers logict smallcheck text transformers ]; testHaskellDepends = [ base doctest Glob ]; description = "Extra SmallCheck series and utilities"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "smallpt-hs" = callPackage @@ -197544,6 +212889,7 @@ self: { description = "A Haskell port of the smallpt path tracer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smallstring" = callPackage @@ -197560,6 +212906,7 @@ self: { description = "A Unicode text type, optimized for low memory overhead"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smaoin" = callPackage @@ -197577,6 +212924,37 @@ self: { license = stdenv.lib.licenses.publicDomain; }) {}; + "smap" = callPackage + ({ mkDerivation, attoparsec, base, bytestring, hashable, memory + , mmorph, optparse-applicative, resourcet, streaming + , streaming-bytestring, strict, text, transformers + , unordered-containers + }: + mkDerivation { + pname = "smap"; + version = "0.3.3"; + sha256 = "17qdn1ag4pdizgdng1747jdpad6xca208w7633pw24j5nkfy72dx"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + attoparsec base bytestring hashable memory mmorph + optparse-applicative resourcet streaming streaming-bytestring + strict text transformers unordered-containers + ]; + executableHaskellDepends = [ + attoparsec base bytestring hashable memory mmorph + optparse-applicative resourcet streaming streaming-bytestring + strict text transformers unordered-containers + ]; + testHaskellDepends = [ + attoparsec base bytestring hashable memory mmorph + optparse-applicative resourcet streaming streaming-bytestring + strict text transformers unordered-containers + ]; + description = "A command line tool for working with sets and maps"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "smartGroup" = callPackage ({ mkDerivation, base, bytestring, containers, template-haskell }: mkDerivation { @@ -197589,6 +212967,7 @@ self: { description = "group strings or bytestrings by words in common"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smartcheck" = callPackage @@ -197610,6 +212989,7 @@ self: { description = "A smarter QuickCheck"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smartconstructor" = callPackage @@ -197622,6 +213002,7 @@ self: { description = "A package exposing a helper function for generating smart constructors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smartword" = callPackage @@ -197639,6 +213020,7 @@ self: { description = "Web based flash card for Word Smart I and II vocabularies"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smcdel" = callPackage @@ -197667,6 +213049,7 @@ self: { description = "Symbolic Model Checking for Dynamic Epistemic Logic"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sme" = callPackage @@ -197679,6 +213062,7 @@ self: { description = "A library for Secure Multi-Execution in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smerdyakov" = callPackage @@ -197698,6 +213082,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smiles" = callPackage @@ -197710,6 +213095,7 @@ self: { testHaskellDepends = [ base hspec megaparsec QuickCheck text ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smith-cli" = callPackage @@ -197733,6 +213119,8 @@ self: { ]; description = "Command line tool for ."; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smith-client" = callPackage @@ -197756,6 +213144,8 @@ self: { ]; description = "API client for ."; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smoothie" = callPackage @@ -197785,6 +213175,7 @@ self: { description = "SMSAero API and HTTP client based on servant library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smt-lib" = callPackage @@ -197797,6 +213188,7 @@ self: { description = "Parsing and printing SMT-LIB"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smtLib" = callPackage @@ -197841,6 +213233,7 @@ self: { description = "Dump the communication with an SMT solver for debugging purposes"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smtlib2-pipe" = callPackage @@ -197863,6 +213256,7 @@ self: { description = "A type-safe interface to communicate with an SMT solver"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smtlib2-quickcheck" = callPackage @@ -197879,6 +213273,7 @@ self: { description = "Helper functions to create SMTLib expressions in QuickCheck"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smtlib2-timing" = callPackage @@ -197894,15 +213289,18 @@ self: { "smtp-mail" = callPackage ({ mkDerivation, array, base, base16-bytestring, base64-bytestring - , bytestring, cryptohash, filepath, mime-mail, network, text + , bytestring, connection, cryptohash, filepath, mime-mail, network + , network-bsd, text }: mkDerivation { pname = "smtp-mail"; - version = "0.1.4.6"; - sha256 = "1g0lsbd9h8bhk4xddgzm96i8fy233904jnqnl4i94ld2hzpwpnl6"; + version = "0.2.0.0"; + sha256 = "0qazfkh03rnrijan037bjspskbsma5x04gcavmn0g744f7xldcaz"; + revision = "1"; + editedCabalFile = "1kv84kywyj8f7iypzdq6a32wwkk8318khhy4x3p9q6mlvgv8275r"; libraryHaskellDepends = [ array base base16-bytestring base64-bytestring bytestring - cryptohash filepath mime-mail network text + connection cryptohash filepath mime-mail network network-bsd text ]; description = "Simple email sending via SMTP"; license = stdenv.lib.licenses.bsd3; @@ -197927,6 +213325,7 @@ self: { description = "An SMTP client EDSL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smtp2mta" = callPackage @@ -197960,6 +213359,7 @@ self: { description = "Gmail SMTP Client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "smuggler" = callPackage @@ -197970,6 +213370,8 @@ self: { pname = "smuggler"; version = "0.1.0"; sha256 = "0iyisn5s39haik3g1wld67pdpnl8h3zafxhkgyd3ajx9lg9nf741"; + revision = "1"; + editedCabalFile = "1lbkir8l81f6dq3d2q9h6a1bpi03cq69qg3xr6h9ppx8ksswsw1d"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -197981,6 +213383,7 @@ self: { description = "GHC Source Plugin that helps to manage imports"; license = stdenv.lib.licenses.mpl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snake" = callPackage @@ -197995,6 +213398,7 @@ self: { description = "A basic console snake game"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snake-game" = callPackage @@ -198007,6 +213411,7 @@ self: { description = "Snake Game Using OpenGL"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snap" = callPackage @@ -198023,6 +213428,8 @@ self: { pname = "snap"; version = "1.1.2.0"; sha256 = "05da0dg0p6djcsinycih50hjnircibmicarwg2vr14a7zbrhynps"; + revision = "1"; + editedCabalFile = "07k5sq44w09cq7w8y128ifkm7837nyklgp9i1ydnavnhf044ah2n"; libraryHaskellDepends = [ aeson attoparsec base bytestring cereal clientsession configurator containers directory directory-tree dlist fail filepath hashable @@ -198043,6 +213450,7 @@ self: { description = "Top-level package for the Snap Web Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snap-accept" = callPackage @@ -198058,6 +213466,8 @@ self: { ]; description = "Accept header branching for the Snap web framework"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snap-app" = callPackage @@ -198090,6 +213500,7 @@ self: { description = "Command-line tool to manage Snap AuthManager database"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snap-blaze" = callPackage @@ -198113,6 +213524,7 @@ self: { description = "blaze-html-clay integration for Snap"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snap-configuration-utilities" = callPackage @@ -198127,6 +213539,7 @@ self: { description = "Methods to manipulate Configurator objects for Snap & Snaplets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snap-core" = callPackage @@ -198206,6 +213619,7 @@ self: { description = "Collect errors in batches and dispatch them"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snap-extras" = callPackage @@ -198219,8 +213633,8 @@ self: { }: mkDerivation { pname = "snap-extras"; - version = "0.12.2.1"; - sha256 = "0mzvw49v6i77ysdlxfrdva5kn0vj9p5h2br6qlwvhdwqq8269gqp"; + version = "0.12.3.0"; + sha256 = "0r21fmmhn90rjvgxmlcq5f1q8dxd1y2zr62z2llcnl206a2hpm2x"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -198238,6 +213652,7 @@ self: { description = "A collection of useful helpers and utilities for Snap web applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snap-language" = callPackage @@ -198246,14 +213661,13 @@ self: { }: mkDerivation { pname = "snap-language"; - version = "0.1.0.4"; - sha256 = "144l44s587hizsxkh38bqrabyjndwacipklsg30hiwk8cdhqa8f4"; + version = "0.1.0.5"; + sha256 = "04zn5d8qz17gm1c77xmas059hvl4ach8sayh81q676fkadiwk3x7"; libraryHaskellDepends = [ attoparsec base bytestring containers snap-core ]; description = "Language handling for Snap"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "snap-loader-dynamic" = callPackage @@ -198327,51 +213741,10 @@ self: { description = "Typesafe URLs for Snap applications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snap-server" = callPackage - ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder - , bytestring, bytestring-builder, case-insensitive, clock - , containers, criterion, deepseq, directory, filepath, HsOpenSSL - , http-common, http-streams, HUnit, io-streams, io-streams-haproxy - , lifted-base, monad-control, mtl, network, old-locale - , openssl-streams, parallel, QuickCheck, random, snap-core - , test-framework, test-framework-hunit, test-framework-quickcheck2 - , text, threads, time, transformers, unix, unix-compat, vector - }: - mkDerivation { - pname = "snap-server"; - version = "1.1.0.0"; - sha256 = "0vvw9n8xs272qdlrf3dxhnva41zh3awi7pf022rrjj75lj8a77i4"; - revision = "3"; - editedCabalFile = "0a9d3nqb5rvgm25nak68lp6yj9m6cwhbgdbg5l7ib5i2czcg7yjh"; - configureFlags = [ "-fopenssl" ]; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - attoparsec base blaze-builder bytestring bytestring-builder - case-insensitive clock containers filepath HsOpenSSL io-streams - io-streams-haproxy lifted-base mtl network old-locale - openssl-streams snap-core text time unix unix-compat vector - ]; - testHaskellDepends = [ - attoparsec base base16-bytestring blaze-builder bytestring - bytestring-builder case-insensitive clock containers deepseq - directory filepath HsOpenSSL http-common http-streams HUnit - io-streams io-streams-haproxy lifted-base monad-control mtl network - old-locale openssl-streams parallel QuickCheck random snap-core - test-framework test-framework-hunit test-framework-quickcheck2 text - threads time transformers unix unix-compat vector - ]; - benchmarkHaskellDepends = [ - attoparsec base blaze-builder bytestring bytestring-builder - criterion io-streams io-streams-haproxy snap-core vector - ]; - description = "A web server for the Snap Framework"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "snap-server_1_1_1_1" = callPackage ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder , bytestring, bytestring-builder, case-insensitive, clock , containers, criterion, deepseq, directory, filepath, HsOpenSSL @@ -198385,6 +213758,8 @@ self: { pname = "snap-server"; version = "1.1.1.1"; sha256 = "0lw475wp0lnrbgc3jcfif3qjjc3pmrh2k74d8cgpnc1304g6a2s5"; + revision = "1"; + editedCabalFile = "094b7ll47lxd4lvr6kd59jyw0vz686gw5cx16w758d6fli0cy3x3"; configureFlags = [ "-fopenssl" ]; isLibrary = true; isExecutable = true; @@ -198409,7 +213784,6 @@ self: { ]; description = "A web server for the Snap Framework"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "snap-stream" = callPackage @@ -198426,6 +213800,7 @@ self: { description = "Streaming Snap handlers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snap-templates" = callPackage @@ -198437,6 +213812,8 @@ self: { pname = "snap-templates"; version = "1.0.0.2"; sha256 = "1gz410718j77plw4lx5l0ajgb6ics1nd6msdk88zj1lanbfwnz7l"; + revision = "1"; + editedCabalFile = "0p2vkq4d8wci18z7fqnhlz9k9zv5wgv1p95x5fcl0dafkyylgx41"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -198445,7 +213822,6 @@ self: { ]; description = "Scaffolding CLI for the Snap Framework"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "snap-testing" = callPackage @@ -198470,6 +213846,7 @@ self: { description = "A library for BDD-style testing with the Snap Web Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snap-utils" = callPackage @@ -198488,6 +213865,7 @@ self: { description = "Snap Framework utilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snap-web-routes" = callPackage @@ -198504,6 +213882,7 @@ self: { description = "Type safe URLs for Snap"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-acid-state" = callPackage @@ -198518,6 +213897,7 @@ self: { description = "acid-state snaplet for Snap Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-actionlog" = callPackage @@ -198543,6 +213923,7 @@ self: { description = "Generic action log snaplet for the Snap Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-amqp" = callPackage @@ -198561,6 +213942,7 @@ self: { description = "Snap framework snaplet for the AMQP library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-auth-acid" = callPackage @@ -198582,6 +213964,7 @@ self: { description = "Provides an Acid-State backend for the Auth Snaplet"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-coffee" = callPackage @@ -198600,6 +213983,7 @@ self: { description = "CoffeeScript for Snap, auto-compilation and pre-compilation"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-css-min" = callPackage @@ -198617,6 +214001,7 @@ self: { description = "A Snaplet for CSS minification"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-customauth" = callPackage @@ -198630,6 +214015,8 @@ self: { pname = "snaplet-customauth"; version = "0.1.2"; sha256 = "0y1a8c9j1q1pzby5v4ajnafm6dr9fvxvvkiynvscyjsf73gp2myb"; + revision = "1"; + editedCabalFile = "1dh8vmrnndg06l5yr3fbmxlzf164nvcy923mafc624bxcr6iip9f"; libraryHaskellDepends = [ aeson base base64-bytestring binary binary-orphans bytestring configurator containers errors heist hoauth2 http-client @@ -198639,6 +214026,7 @@ self: { description = "Alternate authentication snaplet"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-environments" = callPackage @@ -198656,6 +214044,7 @@ self: { description = "DEPRECATED! You should use standard Snap >= 0.9 \"environments\" functionality. It provided ability to easly read configuration based on given app environment given at command line, envs are defined in app configuration file"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-fay" = callPackage @@ -198676,6 +214065,7 @@ self: { description = "Fay integration for Snap with request- and pre-compilation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-ghcjs" = callPackage @@ -198693,6 +214083,7 @@ self: { description = "Serve javascript files compiled with GHCJS"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-hasql" = callPackage @@ -198711,6 +214102,7 @@ self: { description = "A Hasql snaplet"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-haxl" = callPackage @@ -198727,6 +214119,7 @@ self: { description = "Snaplet for Facebook's Haxl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-hdbc" = callPackage @@ -198748,6 +214141,7 @@ self: { description = "HDBC snaplet for Snap Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-hslogger" = callPackage @@ -198765,6 +214159,7 @@ self: { description = "Snap framework snaplet for the Logger API library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-i18n" = callPackage @@ -198789,6 +214184,7 @@ self: { description = "snaplet-i18n"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-influxdb" = callPackage @@ -198808,6 +214204,7 @@ self: { description = "Snap framework snaplet for the InfluxDB library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-lss" = callPackage @@ -198841,6 +214238,7 @@ self: { description = "Snap framework snaplet for the Mandrill API library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-mongoDB" = callPackage @@ -198861,6 +214259,7 @@ self: { description = "Snap Framework MongoDB support as Snaplet"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-mongodb-minimalistic" = callPackage @@ -198876,6 +214275,7 @@ self: { description = "Minimalistic MongoDB Snaplet"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-mysql-simple" = callPackage @@ -198897,6 +214297,7 @@ self: { description = "mysql-simple snaplet for the Snap Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-oauth" = callPackage @@ -198923,6 +214324,7 @@ self: { description = "snaplet-oauth"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-persistent" = callPackage @@ -198946,6 +214348,7 @@ self: { description = "persistent snaplet for the Snap Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-postgresql-simple" = callPackage @@ -198956,8 +214359,8 @@ self: { }: mkDerivation { pname = "snaplet-postgresql-simple"; - version = "1.1.0.0"; - sha256 = "0k82g3540jx7bddg0x6764c8xr955y8v5rc69kagi01nvhh7n2z5"; + version = "1.2.0.0"; + sha256 = "0an9b72vfnb562k49bz5wh72s637r3vrbm4x9brwf483rrmlmvrf"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -198969,6 +214372,7 @@ self: { description = "postgresql-simple snaplet for the Snap Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-postmark" = callPackage @@ -198986,6 +214390,7 @@ self: { description = "Postmark snaplet for the Snap Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-purescript" = callPackage @@ -198994,8 +214399,8 @@ self: { }: mkDerivation { pname = "snaplet-purescript"; - version = "0.5.2.0"; - sha256 = "19d6w59c37p8na9l6xa085x9jsxnndizhd9f76fabwa70yghml71"; + version = "0.5.2.3"; + sha256 = "1da5yx6ghqkknkzgarnn0dx2za711sn8gl3ai0ahyy2wa9mdv6kd"; libraryHaskellDepends = [ base configurator mtl raw-strings-qq shelly snap snap-core string-conv text transformers @@ -199003,6 +214408,7 @@ self: { description = "Automatic (re)compilation of purescript projects"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-recaptcha" = callPackage @@ -199021,6 +214427,7 @@ self: { description = "A ReCAPTCHA verification snaplet with Heist integration and connection sharing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-redis" = callPackage @@ -199041,6 +214448,7 @@ self: { description = "Redis support for Snap Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-redson" = callPackage @@ -199061,6 +214469,7 @@ self: { description = "CRUD for JSON data with Redis storage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-rest" = callPackage @@ -199079,6 +214488,7 @@ self: { description = "REST resources for the Snap web framework"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-riak" = callPackage @@ -199097,6 +214507,7 @@ self: { description = "A Snaplet for the Riak database"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-sass" = callPackage @@ -199115,6 +214526,7 @@ self: { description = "Sass integration for Snap with request- and pre-compilation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-scoped-session" = callPackage @@ -199132,6 +214544,7 @@ self: { description = "Modularised session state for Snaplets, in a Snaplet"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-sedna" = callPackage @@ -199149,6 +214562,7 @@ self: { description = "Snaplet for Sedna Bindings. Essentailly a rip of snaplet-hdbc."; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-ses-html" = callPackage @@ -199166,6 +214580,7 @@ self: { description = "Snaplet for the ses-html package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-sqlite-simple" = callPackage @@ -199197,6 +214612,7 @@ self: { description = "sqlite-simple snaplet for the Snap Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-sqlite-simple-jwt-auth" = callPackage @@ -199217,6 +214633,7 @@ self: { description = "Snaplet for JWT authentication with snaplet-sqlite-simple"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-stripe" = callPackage @@ -199236,6 +214653,7 @@ self: { description = "Stripe snaplet for the Snap Framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-tasks" = callPackage @@ -199253,6 +214671,7 @@ self: { description = "Snaplet for Snap Framework enabling developers to administrative tasks akin to Rake tasks from Ruby On Rails framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-typed-sessions" = callPackage @@ -199271,6 +214690,7 @@ self: { description = "Typed session snaplets and continuation-based programming for the Snap web framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snaplet-wordpress" = callPackage @@ -199298,6 +214718,7 @@ self: { description = "A snaplet that communicates with wordpress over its api"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snappy" = callPackage @@ -199328,6 +214749,7 @@ self: { description = "Conduit bindings for Snappy (see snappy package)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snappy-framing" = callPackage @@ -199351,6 +214773,7 @@ self: { description = "An enumeratee that uses Google's snappy compression library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sndfile-enumerators" = callPackage @@ -199370,6 +214793,7 @@ self: { description = "Audio file reading/writing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sneakyterm" = callPackage @@ -199386,6 +214810,7 @@ self: { description = "Tiny, declarative wrapper around ncurses"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sneathlane-haste" = callPackage @@ -199409,7 +214834,6 @@ self: { libraryHaskellDepends = [ base containers pandoc process text ]; description = "Markdown tester"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "snippet-extractor" = callPackage @@ -199445,26 +214869,25 @@ self: { description = "The Simple Nice-Looking Manual Generator"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snmp" = callPackage - ({ mkDerivation, asn1-encoding, asn1-parse, asn1-types, async, base - , binary, bytestring, cipher-aes, cipher-des, containers - , crypto-cipher-types, cryptohash, mtl, network, network-info - , random, securemem, text, time + ({ mkDerivation, base, bytestring, containers, cryptonite, ip + , language-asn, memory, network, stm, vector }: mkDerivation { pname = "snmp"; - version = "0.2.1.1"; - sha256 = "1944ffsmw4hamjpzb9prlcnz6l9lgggbsgi6ilj0v84r8bydcdq7"; + version = "0.3.1.0"; + sha256 = "0lkvhghrcmjfy2dhwybx04j5rip0d1dpyv62f8n3viad8x2djhkr"; libraryHaskellDepends = [ - asn1-encoding asn1-parse asn1-types async base binary bytestring - cipher-aes cipher-des containers crypto-cipher-types cryptohash mtl - network network-info random securemem text time + base bytestring containers cryptonite ip language-asn memory + network stm vector ]; - description = "API for write snmp client"; + description = "SNMP protocol library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snorkels" = callPackage @@ -199488,6 +214911,7 @@ self: { description = "Strategic board game of medium complexity"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snow-white" = callPackage @@ -199501,6 +214925,7 @@ self: { description = "encode any binary instance to white space"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snowball" = callPackage @@ -199549,6 +214974,7 @@ self: { description = "twitter's snowflake"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snowflake-server" = callPackage @@ -199568,6 +214994,7 @@ self: { description = "snowflake http server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "snowglobe" = callPackage @@ -199602,6 +215029,7 @@ self: { description = "snowtify send your result of `stack build` (`stack test`) to notify-daemon :dog2:"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "soap" = callPackage @@ -199644,6 +215072,7 @@ self: { description = "TLS-enabled SOAP transport (using openssl bindings)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "soap-tls" = callPackage @@ -199655,6 +215084,8 @@ self: { pname = "soap-tls"; version = "0.1.1.4"; sha256 = "051shlb128lsacd2cjm4kpyqkmzdcwcj7ppl7l4n1k5j9g6k72yf"; + revision = "1"; + editedCabalFile = "11djy824gaw3cbsvphq263hxjrn1b3v5p1kdivsvlyn7q9bgvms9"; libraryHaskellDepends = [ base configurator connection data-default http-client http-client-tls soap text tls x509 x509-store x509-validation @@ -199759,6 +215190,7 @@ self: { description = "STCP socket extensions library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) lksctp-tools;}; "socket-unix" = callPackage @@ -199776,6 +215208,7 @@ self: { description = "Unix domain sockets"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "socketed" = callPackage @@ -199803,6 +215236,7 @@ self: { description = "simpe tool to serve piped data over http and websocket"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "socketio" = callPackage @@ -199832,24 +215266,39 @@ self: { description = "Socket.IO server"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sockets" = callPackage - ({ mkDerivation, async, base, ip, posix-api, primitive, tasty - , tasty-hunit + ({ mkDerivation, async, base, byteslice, bytestring, entropy + , error-codes, ip, posix-api, primitive, primitive-addr + , primitive-offset, primitive-unlifted, stm, tasty, tasty-hunit + , text }: mkDerivation { pname = "sockets"; - version = "0.1.0.0"; - sha256 = "000j2bfjsa33l73pg57g4rignl7dy0jl072r3h9wl4d1f4qc3sim"; + version = "0.5.0.0"; + sha256 = "0pxrdxmiqyp5xs24sp22b4rldhzm1rahkdq5lc24m30g4p609xa3"; + revision = "1"; + editedCabalFile = "1ji60m0wj3jwdfwdjaxzic41rwdnq72m9xspn64f66c872lx137d"; isLibrary = true; isExecutable = true; - libraryHaskellDepends = [ base ip posix-api primitive ]; - testHaskellDepends = [ async base ip primitive tasty tasty-hunit ]; - benchmarkHaskellDepends = [ base ip primitive ]; + libraryHaskellDepends = [ + base byteslice bytestring error-codes ip posix-api primitive + primitive-addr primitive-offset primitive-unlifted stm text + ]; + testHaskellDepends = [ + async base byteslice bytestring ip primitive primitive-addr + primitive-unlifted stm tasty tasty-hunit + ]; + benchmarkHaskellDepends = [ + base byteslice bytestring entropy ip primitive + ]; + doHaddock = false; description = "High-level network sockets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "socketson" = callPackage @@ -199876,17 +215325,18 @@ self: { description = "A small websocket backend provider"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "socks" = callPackage - ({ mkDerivation, base, bytestring, cereal, network }: + ({ mkDerivation, base, basement, bytestring, cereal, network }: mkDerivation { pname = "socks"; - version = "0.5.6"; - sha256 = "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"; - revision = "1"; - editedCabalFile = "19f6yzalxbvw0zi1z8wi0vz7s21p5anvfaqsaszppnkgk6j6nnvn"; - libraryHaskellDepends = [ base bytestring cereal network ]; + version = "0.6.0"; + sha256 = "10bkf2gw5l48j6g1i2slndcg4nzdqj8syrnbj21gjz6sms3zlqlp"; + libraryHaskellDepends = [ + base basement bytestring cereal network + ]; description = "Socks proxy (ver 5)"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -199901,6 +215351,7 @@ self: { description = "Sodium Reactive Programming (FRP) System"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "soegtk" = callPackage @@ -199914,6 +215365,7 @@ self: { description = "GUI functions as used in the book \"The Haskell School of Expression\""; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "softfloat-hs" = callPackage @@ -199927,8 +215379,22 @@ self: { description = "Haskell bindings for SoftFloat"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {softfloat = null;}; + "solar" = callPackage + ({ mkDerivation, base, time }: + mkDerivation { + pname = "solar"; + version = "0.1.0.0"; + sha256 = "1dyg4g89bxnik3hqzqbwmlv6278w8d6gpmjwm06af248vn34kvhk"; + revision = "1"; + editedCabalFile = "0r4786crxih8z4dwi0grpga2kp8ivvnmwa0lhddmn16bfqwa16s9"; + libraryHaskellDepends = [ base time ]; + description = "Simple library for solar calculations"; + license = stdenv.lib.licenses.mit; + }) {}; + "solga" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, hashable , hspec, hspec-wai, hspec-wai-json, http-types, QuickCheck @@ -199951,6 +215417,7 @@ self: { description = "Simple typesafe web routing"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "solga-swagger" = callPackage @@ -199969,6 +215436,7 @@ self: { description = "Swagger generation for Solga"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "solr" = callPackage @@ -199994,6 +215462,7 @@ self: { description = "A minimal Solr client library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "solve" = callPackage @@ -200030,6 +215499,7 @@ self: { description = "Sonic Visualiser"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sop-core" = callPackage @@ -200043,6 +215513,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "sop-core_0_5_0_0" = callPackage + ({ mkDerivation, base, deepseq }: + mkDerivation { + pname = "sop-core"; + version = "0.5.0.0"; + sha256 = "12zqdr0g4s3fr6710ngph0fr06lbc12c849izcl4cjj4g9w3v3zz"; + libraryHaskellDepends = [ base deepseq ]; + description = "True Sums of Products"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "sophia" = callPackage ({ mkDerivation, base, binary, bindings-sophia, bytestring , criterion, directory, tasty, tasty-hunit @@ -200099,6 +215581,7 @@ self: { description = "Efficient, type-safe sorted sequences"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sorted-list" = callPackage @@ -200113,6 +215596,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "sortee" = callPackage + ({ mkDerivation, base, hspec, HUnit, QuickCheck }: + mkDerivation { + pname = "sortee"; + version = "0.1.0.1"; + sha256 = "0lnjxryiqnkmsdqjam37ld1xqk50l3qh6lmmpsw5fnw48c8hlyzs"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base hspec HUnit QuickCheck ]; + description = "Generate string for sort key"; + license = stdenv.lib.licenses.gpl3; + }) {}; + "sorting" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -200123,6 +215618,7 @@ self: { description = "Utils for sorting"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sorty" = callPackage @@ -200137,6 +215633,7 @@ self: { description = "Sort lines per file size"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sound-collage" = callPackage @@ -200160,6 +215657,7 @@ self: { description = "Approximate a song from other pieces of sound"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sounddelay" = callPackage @@ -200173,6 +215671,8 @@ self: { executableHaskellDepends = [ base containers parseargs WAVE ]; description = "Audio delay line"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "soundgen" = callPackage @@ -200186,6 +215686,8 @@ self: { executableHaskellDepends = [ base split WAVE ]; description = "sound generator"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "source-code-server" = callPackage @@ -200210,6 +215712,7 @@ self: { description = "The server backend for the source code iPhone app"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sourcemap" = callPackage @@ -200252,6 +215755,7 @@ self: { description = "Source/Sink/Transform: An alternative to lazy IO and iteratees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sox" = callPackage @@ -200308,6 +215812,7 @@ self: { description = "DCPU-16 architecture utilities for Notch's 0x10c game"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "space" = callPackage @@ -200329,6 +215834,29 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; + "spacecookie" = callPackage + ({ mkDerivation, aeson, attoparsec, base, bytestring, containers + , directory, fast-logger, filepath, hxt-unicode, mtl, socket + , transformers, unix + }: + mkDerivation { + pname = "spacecookie"; + version = "0.2.0.1"; + sha256 = "04gghnfkbb26xykgksif8xx5s9pv9f1rjgznlx5mpniwk11ij940"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + attoparsec base bytestring containers directory fast-logger + filepath hxt-unicode mtl socket transformers unix + ]; + executableHaskellDepends = [ + aeson attoparsec base bytestring containers directory filepath mtl + socket transformers unix + ]; + description = "gopher server daemon"; + license = stdenv.lib.licenses.gpl3; + }) {}; + "spacefill" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -200351,6 +215879,7 @@ self: { description = "Space partition data structures. Currently only a QuadTree."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spaceprobe" = callPackage @@ -200396,6 +215925,7 @@ self: { description = "Implementation of the SPAKE2 Password-Authenticated Key Exchange algorithm"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spanout" = callPackage @@ -200414,6 +215944,7 @@ self: { description = "A breakout clone written in netwire and gloss"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sparkle" = callPackage @@ -200440,6 +215971,7 @@ self: { description = "Distributed Apache Spark applications in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sparql-protocol" = callPackage @@ -200486,6 +216018,7 @@ self: { description = "Unified streaming data-dependency framework for web apps"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sparse" = callPackage @@ -200514,6 +216047,7 @@ self: { description = "A playground of sparse linear algebra primitives using Morton ordering"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sparse-lin-alg" = callPackage @@ -200532,6 +216066,7 @@ self: { description = "Effective linear algebra on sparse matrices"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sparse-linear-algebra" = callPackage @@ -200556,6 +216091,54 @@ self: { license = stdenv.lib.licenses.gpl3; }) {}; + "sparse-tensor" = callPackage + ({ mkDerivation, ad, base, bytestring, Cabal, cereal, containers + , deepseq, ghc-typelits-knownnat, ghc-typelits-natnormalise + , hmatrix, parallel, QuickCheck, tasty, tasty-hunit + , tasty-quickcheck, tf-random, zlib + }: + mkDerivation { + pname = "sparse-tensor"; + version = "0.2.1"; + sha256 = "10950cp07m1p011n3a14bka2rpfrmn20k0kjb1cvca7dnxn2iv2f"; + setupHaskellDepends = [ base Cabal ]; + libraryHaskellDepends = [ + ad base bytestring cereal containers deepseq ghc-typelits-knownnat + ghc-typelits-natnormalise hmatrix parallel tf-random zlib + ]; + testHaskellDepends = [ + base hmatrix QuickCheck tasty tasty-hunit tasty-quickcheck + ]; + description = "typesafe tensor algebra library"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "sparse-tensor_0_2_1_1" = callPackage + ({ mkDerivation, ad, base, bytestring, Cabal, cereal, containers + , deepseq, ghc-typelits-knownnat, ghc-typelits-natnormalise + , hmatrix, parallel, QuickCheck, tasty, tasty-hunit + , tasty-quickcheck, tf-random, zlib + }: + mkDerivation { + pname = "sparse-tensor"; + version = "0.2.1.1"; + sha256 = "1bjia89as14i2cif9nf7rsifazg305l7cl040gb7xbi3szlc621y"; + setupHaskellDepends = [ base Cabal ]; + libraryHaskellDepends = [ + ad base bytestring cereal containers deepseq ghc-typelits-knownnat + ghc-typelits-natnormalise hmatrix parallel tf-random zlib + ]; + testHaskellDepends = [ + base hmatrix QuickCheck tasty tasty-hunit tasty-quickcheck + ]; + description = "typesafe tensor algebra library"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "sparsebit" = callPackage ({ mkDerivation, base, haskell98 }: mkDerivation { @@ -200566,6 +216149,7 @@ self: { description = "Sparse bitmaps for pattern match coverage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sparsecheck" = callPackage @@ -200578,6 +216162,7 @@ self: { description = "A Logic Programming Library for Test-Data Generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sparser" = callPackage @@ -200594,6 +216179,7 @@ self: { description = "Lightweight parsing library based on partial functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spata" = callPackage @@ -200607,6 +216193,7 @@ self: { description = "brainless form validation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spatial-math" = callPackage @@ -200637,8 +216224,8 @@ self: { pname = "spatial-rotations"; version = "0.1.0.1"; sha256 = "02nysw4dbg5l37j83kdybxkrdzgjxn20h3lknnphwz0hr0n489ii"; - revision = "1"; - editedCabalFile = "1g2ib60nhwwdb9fjdnmn7z0bzrsac6xcsl6bs7wi6s5rr991pp1c"; + revision = "3"; + editedCabalFile = "03kjhr51w600cnm1jgdc9nbm9ay66fxq93z7r6xgph1a4dmcjvg4"; libraryHaskellDepends = [ base linear manifolds-core vector-space ]; @@ -200648,7 +216235,6 @@ self: { ]; description = "Rotate about any suitable axis"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "spawn" = callPackage @@ -200668,8 +216254,8 @@ self: { }: mkDerivation { pname = "spdx"; - version = "1"; - sha256 = "1vw6pqj86slgzgbrd6kmsn5xlbxln0cys9qxxa47ypfy4spxmfkd"; + version = "1.0.0.1"; + sha256 = "00j0dqx9hrlpqy1jml85nykg0xl108q45ljan385bzb5nnap36l6"; libraryHaskellDepends = [ base Cabal containers transformers ]; testHaskellDepends = [ base base-compat Cabal tasty tasty-quickcheck @@ -200703,6 +216289,7 @@ self: { description = "Control.Applicative, Data.Foldable, Data.Traversable (compatibility package)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "special-keys" = callPackage @@ -200721,6 +216308,7 @@ self: { description = "Simple data types that help me here and there"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "special-values" = callPackage @@ -200761,6 +216349,7 @@ self: { description = "Create specialized types from polymorphic ones using TH"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "species" = callPackage @@ -200779,25 +216368,25 @@ self: { ]; description = "Computational combinatorial species"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "spectral-clustering" = callPackage - ({ mkDerivation, base, clustering, containers, eigen, hmatrix + ({ mkDerivation, base, clustering, containers, hmatrix , hmatrix-svdlibc, mwc-random, safe, sparse-linear-algebra , statistics, vector }: mkDerivation { pname = "spectral-clustering"; - version = "0.3.0.1"; - sha256 = "08q0wbpy0s1lvfyff0h8fxd54shhhvgy9zm298x2n022lvvap893"; + version = "0.3.1.3"; + sha256 = "0izf0lvk989y4d04240hbnsr5lc5lbl9200c5km0p72lv1v07mgf"; libraryHaskellDepends = [ - base clustering containers eigen hmatrix hmatrix-svdlibc mwc-random - safe sparse-linear-algebra statistics vector + base clustering containers hmatrix hmatrix-svdlibc mwc-random safe + sparse-linear-algebra statistics vector ]; description = "Library for spectral clustering"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "speculate" = callPackage @@ -200813,6 +216402,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "speculate_0_4_1" = callPackage + ({ mkDerivation, base, cmdargs, containers, express, leancheck }: + mkDerivation { + pname = "speculate"; + version = "0.4.1"; + sha256 = "1fyj6kizwwb2vpvn17s7gx4swmzsziwmf6mmxaldbrzkha46y9hn"; + libraryHaskellDepends = [ + base cmdargs containers express leancheck + ]; + testHaskellDepends = [ base express leancheck ]; + benchmarkHaskellDepends = [ base express leancheck ]; + description = "discovery of properties about Haskell functions"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "speculation" = callPackage ({ mkDerivation, base, ghc-prim, stm, transformers }: mkDerivation { @@ -200823,6 +216428,7 @@ self: { description = "A framework for safe, programmable, speculative parallelism"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "speculation-transformers" = callPackage @@ -200836,6 +216442,7 @@ self: { description = "Merged into 'speculation'. Use that instead."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "speechmatics" = callPackage @@ -200867,6 +216474,7 @@ self: { description = "Speechmatics api client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "speedy-slice" = callPackage @@ -200885,6 +216493,7 @@ self: { description = "Speedy slice sampling"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spelling-suggest" = callPackage @@ -200907,14 +216516,15 @@ self: { description = "Spelling suggestion tool with library and command-line interfaces"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spherical" = callPackage ({ mkDerivation, base, composition-prelude }: mkDerivation { pname = "spherical"; - version = "0.1.2.1"; - sha256 = "0c6c5pf39dd9zpk8g3kcbg6hagsjvxcmqxmfk1imv5fmd2g8cv8p"; + version = "0.1.2.2"; + sha256 = "014fmxgzymyfa82qabc90avjyv4yp7c0s88kkmp02pvpkmjd6p24"; libraryHaskellDepends = [ base composition-prelude ]; description = "Geometry on a sphere"; license = stdenv.lib.licenses.bsd3; @@ -200934,6 +216544,7 @@ self: { description = "Orbotix Sphero client library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sphinx" = callPackage @@ -200964,6 +216575,7 @@ self: { description = "Sphinx CLI and demo of Haskell Sphinx library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sphinxesc" = callPackage @@ -200983,6 +216595,7 @@ self: { description = "Transform queries for sphinx input"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spice" = callPackage @@ -201000,6 +216613,7 @@ self: { description = "An FRP-based game engine written in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spike" = callPackage @@ -201021,7 +216635,7 @@ self: { description = "Experimental web browser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs.gnome2) libsoup;}; + }) {inherit (pkgs) libsoup;}; "spine" = callPackage ({ mkDerivation, base }: @@ -201044,25 +216658,35 @@ self: { description = "Some utilities for reading and writing SPIR-V files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spiros" = callPackage - ({ mkDerivation, base, bytestring, containers, data-default-class - , deepseq, directory, hashable, mtl, process, safe, semigroups - , split, stm, text, time, transformers, unordered-containers - , vector, vinyl, wl-pprint-text + ({ mkDerivation, base, bytestring, case-insensitive, containers + , cpuinfo, data-default-class, deepseq, directory, doctest + , exceptions, filepath, generic-deriving, hashable, mtl + , prettyprinter, process, safe, semigroups, split, stm, string-conv + , template-haskell, text, th-lift-instances, time, transformers + , unix-compat, unordered-containers }: mkDerivation { pname = "spiros"; - version = "0.0.0"; - sha256 = "06j9wcc6zcnbpf11356b64ikq1irdmp60h0bihf1bsgg0lh7mcff"; + version = "0.4.2"; + sha256 = "0wgyqy2kdjzb481c24hcgbsc8wllb3z1w3kk2nqv3isj5kbjr3c3"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ - base bytestring containers data-default-class deepseq directory - hashable mtl process safe semigroups split stm text time - transformers unordered-containers vector vinyl wl-pprint-text + base bytestring case-insensitive containers cpuinfo + data-default-class deepseq directory exceptions filepath + generic-deriving hashable mtl prettyprinter process safe semigroups + split stm string-conv template-haskell text th-lift-instances time + transformers unix-compat unordered-containers ]; - description = "my custom prelude"; - license = stdenv.lib.licenses.bsd3; + testHaskellDepends = [ base doctest ]; + description = "Spiros Boosalis's Custom Prelude"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "splay" = callPackage @@ -201075,6 +216699,7 @@ self: { description = "Generic splay-based sequence representation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "splaytree" = callPackage @@ -201093,6 +216718,7 @@ self: { description = "Provides an annotated splay tree"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "splice" = callPackage @@ -201113,8 +216739,8 @@ self: { }: mkDerivation { pname = "spline3"; - version = "0.0.2"; - sha256 = "112agbhn11wpy4dn0g3j9mrqcja5hhql55swmwh3lbm26hcvwjpq"; + version = "1.0.0"; + sha256 = "02sj4mqgjakmk24fv8swwr06rpl4idgmwwnjwqf257hzlns6lriw"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -201126,8 +216752,7 @@ self: { tasty tasty-hunit tasty-quickcheck vector ]; description = "A parallel implementation of the Sorokina/Zeilfelder spline scheme"; - license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; + license = stdenv.lib.licenses.agpl3; }) {}; "splines" = callPackage @@ -201150,6 +216775,7 @@ self: { description = "B-Splines, other splines, and NURBS"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "split_0_1_4_3" = callPackage @@ -201170,8 +216796,8 @@ self: { pname = "split"; version = "0.2.3.3"; sha256 = "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"; - revision = "1"; - editedCabalFile = "0vz2ylx81nfq2981msig080j7n41xf2lrxzf3hj1x3g3cllb3izi"; + revision = "2"; + editedCabalFile = "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base QuickCheck ]; description = "Combinator library for splitting lists"; @@ -201189,6 +216815,20 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "split-morphism" = callPackage + ({ mkDerivation, base, invariant, lens, QuickCheck }: + mkDerivation { + pname = "split-morphism"; + version = "0.1.0.0"; + sha256 = "08mrnaj03j5z9ihayqikb06rw1fvrbjrqq0ysz28nlzawhz8x970"; + libraryHaskellDepends = [ base invariant lens ]; + testHaskellDepends = [ base invariant lens QuickCheck ]; + description = "Split Epimorphisms and Monomorphisms"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "split-record" = callPackage ({ mkDerivation, base, numeric-prelude, soxlib, storablevector , synthesizer-core, transformers, utility-ht @@ -201220,22 +216860,20 @@ self: { "splitmix" = callPackage ({ mkDerivation, async, base, base-compat-batteries, bytestring - , containers, criterion, deepseq, process, random, tf-random, time - , vector + , clock, containers, criterion, deepseq, HUnit, process, random + , tf-random, time, vector }: mkDerivation { pname = "splitmix"; - version = "0.0.1"; - sha256 = "0bvpx3hnyhz449s2c2mi5h78024yysnqldfwp7m0qr21m41q0v1a"; - revision = "1"; - editedCabalFile = "0c38sajdpqcmicdh4lfy6vpg8wnzpiyamvbximdsqs605frs3mqs"; + version = "0.0.3"; + sha256 = "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"; libraryHaskellDepends = [ base deepseq random time ]; testHaskellDepends = [ - async base base-compat-batteries bytestring deepseq process random - tf-random vector + async base base-compat-batteries bytestring deepseq HUnit process + random tf-random vector ]; benchmarkHaskellDepends = [ - base containers criterion random tf-random + base clock containers criterion random tf-random ]; description = "Fast Splittable PRNG"; license = stdenv.lib.licenses.bsd3; @@ -201255,6 +216893,7 @@ self: { description = "Use numerical ranges to split out certain lines from a file"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "splot" = callPackage @@ -201275,6 +216914,7 @@ self: { description = "A tool for visualizing the lifecycle of many concurrent multi-staged processes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spool" = callPackage @@ -201317,6 +216957,7 @@ self: { description = "Spoon's utilities. Simple testing and nice looking error reporting."; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spoty" = callPackage @@ -201334,6 +216975,7 @@ self: { description = "Spotify web API wrapper"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spreadsheet" = callPackage @@ -201394,6 +217036,7 @@ self: { description = "JSON API to HTML website wrapper"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spritz" = callPackage @@ -201406,6 +217049,7 @@ self: { description = "An implementation of the Spritz RC4-like stream cipher in Haskell"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sproxy" = callPackage @@ -201455,7 +217099,6 @@ self: { ]; description = "Web interface to sproxy database"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "sproxy2" = callPackage @@ -201501,6 +217144,7 @@ self: { description = "Simultaneous Perturbation Stochastic Approximation Optimization Algorithm"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "spy" = callPackage @@ -201527,6 +217171,7 @@ self: { description = "A compact file system watcher for Mac OS X, Linux and Windows"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sql-simple" = callPackage @@ -201544,6 +217189,7 @@ self: { description = "common middle-level sql client"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sql-simple-mysql" = callPackage @@ -201560,6 +217206,7 @@ self: { description = "mysql backend for sql-simple"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sql-simple-pool" = callPackage @@ -201577,6 +217224,7 @@ self: { description = "conection pool for sql-simple"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sql-simple-postgresql" = callPackage @@ -201593,6 +217241,7 @@ self: { description = "postgresql backend for sql-simple"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sql-simple-sqlite" = callPackage @@ -201605,14 +217254,15 @@ self: { description = "sqlite backend for sql-simple"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sql-words" = callPackage ({ mkDerivation, base, QuickCheck, quickcheck-simple }: mkDerivation { pname = "sql-words"; - version = "0.1.6.2"; - sha256 = "0f7bvmz2ppq6pwgi3klxzpilnj899ssrsf52r99g9apqz065lsiz"; + version = "0.1.6.3"; + sha256 = "11z6g85dzrvkhnz0g6rhv5s2ssqcyyzbi2pp5rwzp30xp0ivsx95"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base QuickCheck quickcheck-simple ]; description = "SQL keywords data constructors into OverloadedString"; @@ -201636,6 +217286,7 @@ self: { description = "Haskell binding to sqlcipher"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) openssl;}; "sqlcli" = callPackage @@ -201677,6 +217328,7 @@ self: { description = "Haskell binding to sqlite3"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) sqlite;}; "sqlite-simple" = callPackage @@ -201727,6 +217379,7 @@ self: { description = "Typed extension to sqlite simple"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sqlvalue-list" = callPackage @@ -201739,6 +217392,7 @@ self: { description = "Class and instances for conversion to list of SqlValue"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sqsd-local" = callPackage @@ -201761,40 +217415,38 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.mpl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "squeal-postgresql" = callPackage ({ mkDerivation, aeson, base, binary-parser, bytestring , bytestring-strict-builder, deepseq, doctest, generics-sop, hspec - , lifted-base, mmorph, monad-control, mtl, network-ip - , postgresql-binary, postgresql-libpq, records-sop, resource-pool - , scientific, text, time, transformers, transformers-base - , uuid-types, vector + , mmorph, mtl, network-ip, postgresql-binary, postgresql-libpq + , records-sop, resource-pool, scientific, text, time, transformers + , unliftio, unliftio-pool, uuid-types, vector }: mkDerivation { pname = "squeal-postgresql"; - version = "0.4.0.0"; - sha256 = "10z1rq6jz8g6sv52bh9hjmjsw0pml9m4l04gzi19zxnwa597xk2b"; + version = "0.5.1.0"; + sha256 = "139a93b2zy3wximrziqxl5m9mqd66d7awzprrymwrxhxgrlrf27q"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson base binary-parser bytestring bytestring-strict-builder - deepseq generics-sop lifted-base mmorph monad-control mtl - network-ip postgresql-binary postgresql-libpq records-sop - resource-pool scientific text time transformers transformers-base - uuid-types vector + deepseq generics-sop mmorph mtl network-ip postgresql-binary + postgresql-libpq records-sop resource-pool scientific text time + transformers unliftio unliftio-pool uuid-types vector ]; executableHaskellDepends = [ - base bytestring generics-sop mtl text transformers - transformers-base vector + base bytestring generics-sop mtl text transformers vector ]; testHaskellDepends = [ - base bytestring doctest generics-sop hspec text transformers - transformers-base vector + base bytestring doctest generics-sop hspec text transformers vector ]; description = "Squeal PostgreSQL Library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "squeeze" = callPackage @@ -201803,8 +217455,8 @@ self: { }: mkDerivation { pname = "squeeze"; - version = "1.0.4.16"; - sha256 = "0ywlxh7988i87qxpmja79a98ri9myzk4648d2j3aihsfdm34w2cr"; + version = "1.0.4.17"; + sha256 = "10nm5jim5cw7qmkdr1j7665g646kay53w8n5rcsp1jz3lglpymdw"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -201856,6 +217508,7 @@ self: { description = "Build and install Debian packages completely from source"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "srcloc" = callPackage @@ -201897,6 +217550,7 @@ self: { description = "text UI for scanning with SANE"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sscgi" = callPackage @@ -201915,6 +217569,7 @@ self: { description = "Simple SCGI Library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sscript" = callPackage @@ -201957,6 +217612,7 @@ self: { description = "A pure-Haskell SSH server library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ssh-known-hosts" = callPackage @@ -201995,6 +217651,7 @@ self: { description = "Proxy http-client via ssh tunnel"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sshd-lint" = callPackage @@ -202016,6 +217673,7 @@ self: { description = "Check sshd configuration for adherence to best practices"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sshtun" = callPackage @@ -202064,6 +217722,7 @@ self: { description = "HTTP proxy for S3"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sstable" = callPackage @@ -202083,6 +217742,7 @@ self: { description = "SSTables in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ssv" = callPackage @@ -202125,6 +217785,7 @@ self: { description = "Purely functional stable heaps (fair priority queues)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stable-maps" = callPackage @@ -202137,6 +217798,7 @@ self: { description = "Heterogeneous maps keyed by StableNames"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stable-marriage" = callPackage @@ -202149,6 +217811,7 @@ self: { description = "algorithms around stable marriage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stable-memo" = callPackage @@ -202163,6 +217826,7 @@ self: { description = "Memoization based on argument identity"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stable-tree" = callPackage @@ -202188,6 +217852,7 @@ self: { description = "Trees whose branches are resistant to change"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stache" = callPackage @@ -202219,31 +217884,59 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "stache_2_1_0" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, criterion + , deepseq, directory, file-embed, filepath, hspec, hspec-discover + , hspec-megaparsec, megaparsec, mtl, template-haskell, text + , unordered-containers, vector, yaml + }: + mkDerivation { + pname = "stache"; + version = "2.1.0"; + sha256 = "1q34h46px7miy2kx1yzaj785ai70mkchmijpdq2iih1fffir8kvk"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson base bytestring containers deepseq directory filepath + megaparsec mtl template-haskell text unordered-containers vector + ]; + testHaskellDepends = [ + aeson base bytestring containers file-embed hspec hspec-megaparsec + megaparsec template-haskell text yaml + ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + aeson base criterion deepseq megaparsec text + ]; + description = "Mustache templates for Haskell"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "stack" = callPackage - ({ mkDerivation, aeson, annotated-wl-pprint, ansi-terminal, async - , attoparsec, base, base64-bytestring, bindings-uname, bytestring - , Cabal, conduit, conduit-extra, containers, cryptonite + ({ mkDerivation, aeson, annotated-wl-pprint, ansi-terminal, array + , async, attoparsec, base, base64-bytestring, bytestring, Cabal + , colour, conduit, conduit-extra, containers, cryptonite , cryptonite-conduit, deepseq, directory, echo, exceptions, extra , file-embed, filelock, filepath, fsnotify, generic-deriving - , hackage-security, hashable, hpack, hpc, hspec, http-client - , http-client-tls, http-conduit, http-types, memory, microlens - , mintty, monad-logger, mono-traversable, mtl, mustache - , neat-interpolation, network-uri, open-browser - , optparse-applicative, path, path-io, persistent + , hackage-security, hashable, hi-file-parser, hpack, hpc, hspec + , http-client, http-client-tls, http-conduit, http-download + , http-types, memory, microlens, mintty, mono-traversable, mtl + , mustache, neat-interpolation, network-uri, open-browser + , optparse-applicative, pantry, path, path-io, persistent , persistent-sqlite, persistent-template, pretty, primitive - , process, project-template, QuickCheck, regex-applicative-text - , resourcet, retry, rio, semigroups, smallcheck, split, stm, store - , store-core, streaming-commons, tar, template-haskell, temporary - , text, text-metrics, th-reify-many, time, tls, transformers - , typed-process, unicode-transforms, unix, unix-compat, unliftio - , unordered-containers, vector, yaml, zip-archive, zlib + , process, project-template, QuickCheck, raw-strings-qq + , regex-applicative-text, resource-pool, resourcet, retry, rio + , rio-prettyprint, semigroups, smallcheck, split, stm + , streaming-commons, tar, template-haskell, temporary + , terminal-size, text, text-metrics, th-reify-many, time, tls + , transformers, typed-process, unicode-transforms, unix + , unix-compat, unliftio, unordered-containers, vector, yaml + , zip-archive, zlib }: mkDerivation { pname = "stack"; - version = "1.9.3"; - sha256 = "01lbr9gp3djr5bzlchzb2rdw20855aganmczvq76fzzjyway64cf"; - revision = "6"; - editedCabalFile = "1gz2p16jdbx27kd7p7xfbplviqvv9ybhzjfyjaxh9f9z9gj0n8gr"; + version = "2.1.3.1"; + sha256 = "1q2nagnc24fvyj3hwnpgyp3rqhxswhscyw4pw2dazqx34ad3d0zr"; configureFlags = [ "-fdisable-git-info" "-fhide-dependency-versions" "-fsupported-build" @@ -202252,55 +217945,58 @@ self: { isExecutable = true; setupHaskellDepends = [ base Cabal filepath ]; libraryHaskellDepends = [ - aeson annotated-wl-pprint ansi-terminal async attoparsec base - base64-bytestring bindings-uname bytestring Cabal conduit - conduit-extra containers cryptonite cryptonite-conduit deepseq - directory echo exceptions extra file-embed filelock filepath - fsnotify generic-deriving hackage-security hashable hpack hpc - http-client http-client-tls http-conduit http-types memory - microlens mintty monad-logger mono-traversable mtl mustache + aeson annotated-wl-pprint ansi-terminal array async attoparsec base + base64-bytestring bytestring Cabal colour conduit conduit-extra + containers cryptonite cryptonite-conduit deepseq directory echo + exceptions extra file-embed filelock filepath fsnotify + generic-deriving hackage-security hashable hi-file-parser hpack hpc + http-client http-client-tls http-conduit http-download http-types + memory microlens mintty mono-traversable mtl mustache neat-interpolation network-uri open-browser optparse-applicative - path path-io persistent persistent-sqlite persistent-template - pretty primitive process project-template regex-applicative-text - resourcet retry rio semigroups split stm store store-core - streaming-commons tar template-haskell temporary text text-metrics + pantry path path-io persistent persistent-sqlite + persistent-template pretty primitive process project-template + regex-applicative-text resource-pool resourcet retry rio + rio-prettyprint semigroups split stm streaming-commons tar + template-haskell temporary terminal-size text text-metrics th-reify-many time tls transformers typed-process unicode-transforms unix unix-compat unliftio unordered-containers vector yaml zip-archive zlib ]; executableHaskellDepends = [ - aeson annotated-wl-pprint ansi-terminal async attoparsec base - base64-bytestring bindings-uname bytestring Cabal conduit - conduit-extra containers cryptonite cryptonite-conduit deepseq - directory echo exceptions extra file-embed filelock filepath - fsnotify generic-deriving hackage-security hashable hpack hpc - http-client http-client-tls http-conduit http-types memory - microlens mintty monad-logger mono-traversable mtl mustache + aeson annotated-wl-pprint ansi-terminal array async attoparsec base + base64-bytestring bytestring Cabal colour conduit conduit-extra + containers cryptonite cryptonite-conduit deepseq directory echo + exceptions extra file-embed filelock filepath fsnotify + generic-deriving hackage-security hashable hi-file-parser hpack hpc + http-client http-client-tls http-conduit http-download http-types + memory microlens mintty mono-traversable mtl mustache neat-interpolation network-uri open-browser optparse-applicative - path path-io persistent persistent-sqlite persistent-template - pretty primitive process project-template regex-applicative-text - resourcet retry rio semigroups split stm store store-core - streaming-commons tar template-haskell temporary text text-metrics + pantry path path-io persistent persistent-sqlite + persistent-template pretty primitive process project-template + regex-applicative-text resource-pool resourcet retry rio + rio-prettyprint semigroups split stm streaming-commons tar + template-haskell temporary terminal-size text text-metrics th-reify-many time tls transformers typed-process unicode-transforms unix unix-compat unliftio unordered-containers vector yaml zip-archive zlib ]; testHaskellDepends = [ - aeson annotated-wl-pprint ansi-terminal async attoparsec base - base64-bytestring bindings-uname bytestring Cabal conduit - conduit-extra containers cryptonite cryptonite-conduit deepseq - directory echo exceptions extra file-embed filelock filepath - fsnotify generic-deriving hackage-security hashable hpack hpc hspec - http-client http-client-tls http-conduit http-types memory - microlens mintty monad-logger mono-traversable mtl mustache + aeson annotated-wl-pprint ansi-terminal array async attoparsec base + base64-bytestring bytestring Cabal colour conduit conduit-extra + containers cryptonite cryptonite-conduit deepseq directory echo + exceptions extra file-embed filelock filepath fsnotify + generic-deriving hackage-security hashable hi-file-parser hpack hpc + hspec http-client http-client-tls http-conduit http-download + http-types memory microlens mintty mono-traversable mtl mustache neat-interpolation network-uri open-browser optparse-applicative - path path-io persistent persistent-sqlite persistent-template - pretty primitive process project-template QuickCheck - regex-applicative-text resourcet retry rio semigroups smallcheck - split stm store store-core streaming-commons tar template-haskell - temporary text text-metrics th-reify-many time tls transformers - typed-process unicode-transforms unix unix-compat unliftio - unordered-containers vector yaml zip-archive zlib + pantry path path-io persistent persistent-sqlite + persistent-template pretty primitive process project-template + QuickCheck raw-strings-qq regex-applicative-text resource-pool + resourcet retry rio rio-prettyprint semigroups smallcheck split stm + streaming-commons tar template-haskell temporary terminal-size text + text-metrics th-reify-many time tls transformers typed-process + unicode-transforms unix unix-compat unliftio unordered-containers + vector yaml zip-archive zlib ]; doCheck = false; preCheck = "export HOME=$TMPDIR"; @@ -202336,6 +218032,20 @@ self: { description = "Dead simple version bumping for hpack packages"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "stack-fix" = callPackage + ({ mkDerivation, base, options, text, turtle }: + mkDerivation { + pname = "stack-fix"; + version = "0.1.0.0"; + sha256 = "13x4pd1h2f2akpja5mxnqx0pw1ax57r2q76gsb3fs1f6kxykypwl"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ base options text turtle ]; + description = "Console program used to fix Stack build errors automatically"; + license = stdenv.lib.licenses.agpl3; }) {}; "stack-hpc-coveralls" = callPackage @@ -202363,6 +218073,7 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stack-lib" = callPackage @@ -202379,6 +218090,7 @@ self: { description = "Wrapper to use stack as a library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stack-network" = callPackage @@ -202421,6 +218133,7 @@ self: { description = "A program for extending Stack to add distributed capabilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stack-prism" = callPackage @@ -202440,6 +218153,7 @@ self: { description = "Stack prisms"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stack-run" = callPackage @@ -202460,6 +218174,7 @@ self: { description = "An equivalent to cabal run for stack"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stack-run-auto" = callPackage @@ -202488,6 +218203,7 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stack-tag" = callPackage @@ -202521,6 +218237,7 @@ self: { description = "The basic stack type"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stack-yaml" = callPackage @@ -202545,8 +218262,8 @@ self: { }: mkDerivation { pname = "stack2cabal"; - version = "1.0.2"; - sha256 = "0zdyjf55zda465ai6bjp13a4f4khgz59smmaa2nlbbrjknlb1kbl"; + version = "1.0.3"; + sha256 = "1bmghzb866p3225ai3w4xxy3s2qic3vr4srcx7xb113qjvmadran"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -202556,22 +218273,23 @@ self: { description = "Convert stack projects to cabal.project + cabal.project.freeze"; license = stdenv.lib.licenses.gpl3Plus; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stack2nix" = callPackage - ({ mkDerivation, async, base, Cabal, cabal2nix, containers - , directory, distribution-nixpkgs, filepath, hackage-db, hspec - , language-nix, lens, optparse-applicative, path, pretty, process - , regex-pcre, SafeSemaphore, stack, temporary, text, time + ({ mkDerivation, async, base, bytestring, Cabal, cabal2nix + , containers, directory, distribution-nixpkgs, filepath, hackage-db + , hspec, language-nix, lens, optparse-applicative, path, pretty + , process, regex-pcre, SafeSemaphore, stack, temporary, text, time }: mkDerivation { pname = "stack2nix"; - version = "0.2.2"; - sha256 = "0x5dsgq9mdibbbilc0wn86qqkdgjkm606y4ix57vwxpfgrgkd3wm"; + version = "0.2.3"; + sha256 = "0vc87jb5vam47ghh2bzs20wfsnxjs133j9qrxa6kzbw0s2ff75p3"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - async base Cabal cabal2nix containers directory + async base bytestring Cabal cabal2nix containers directory distribution-nixpkgs filepath hackage-db language-nix lens optparse-applicative path pretty process regex-pcre SafeSemaphore stack temporary text time @@ -202582,6 +218300,8 @@ self: { testHaskellDepends = [ base hspec ]; description = "Convert stack.yaml files into Nix build instructions."; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stackage" = callPackage @@ -202601,6 +218321,7 @@ self: { description = "Dummy package forcing installation of other Stackage packages"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stackage-build-plan" = callPackage @@ -202626,6 +218347,7 @@ self: { description = "Calculate and print (in different formats) Stackage build plans"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stackage-cabal" = callPackage @@ -202647,6 +218369,7 @@ self: { description = "A CLI executable for cabal-based stackage commands"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stackage-cli" = callPackage @@ -202669,6 +218392,7 @@ self: { description = "A CLI library for stackage commands"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stackage-curator" = callPackage @@ -202714,6 +218438,7 @@ self: { description = "Tools for curating Stackage bundles"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stackage-install" = callPackage @@ -202763,26 +218488,32 @@ self: { description = "DEPRECATED Grab current metadata for all packages"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stackage-query" = callPackage - ({ mkDerivation, aeson, base, Cabal, containers, directory - , exceptions, filepath, hashable, optparse-applicative, process - , safe, semigroups, text, time, unordered-containers, vector, yaml + ({ mkDerivation, aeson, base, bytestring, Cabal, containers + , directory, exceptions, filepath, hashable, http-directory + , optparse-applicative, process, safe, semigroups, simple-cmd + , simple-cmd-args, text, time, unix, unordered-containers, vector + , yaml }: mkDerivation { pname = "stackage-query"; - version = "0.1.3"; - sha256 = "01fjxgxbyd7hxr2js7jpa7gm6d0bdm58gxz4pzzwsgnbchm50q25"; + version = "0.2.0"; + sha256 = "1aqra70mfnxxirbv61q71ia00jnrcdfyhrrswnzrd4jf7ar2ja02"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ - aeson base Cabal containers directory exceptions filepath hashable - optparse-applicative process safe semigroups text time + aeson base bytestring Cabal containers directory exceptions + filepath hashable http-directory optparse-applicative process safe + semigroups simple-cmd simple-cmd-args text time unix unordered-containers vector yaml ]; - description = "Stackage package query"; + description = "Tool for querying Stackage"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stackage-sandbox" = callPackage @@ -202804,6 +218535,7 @@ self: { description = "Work with shared stackage sandboxes"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stackage-setup" = callPackage @@ -202828,6 +218560,7 @@ self: { description = "An executable for downloading a Haskell setup"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stackage-to-hackage" = callPackage @@ -202837,8 +218570,8 @@ self: { }: mkDerivation { pname = "stackage-to-hackage"; - version = "1.1.0"; - sha256 = "165g5vyxck8hh2523v4h0cwjl3yvp4wwzlsdrs9wvg9ca3ij0v85"; + version = "1.1.1"; + sha256 = "10zd3wqla54mfnwv65gklvmglhcpzhanqfka0l0ilnbkqlgx4acm"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -202852,6 +218585,7 @@ self: { description = "Convert stack.yaml to cabal.project + cabal.project.freeze"; license = stdenv.lib.licenses.gpl3Plus; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stackage-types" = callPackage @@ -202863,6 +218597,8 @@ self: { pname = "stackage-types"; version = "1.2.0"; sha256 = "1jzlxnibl4fn6mqbxv9c8hw4zp7adyicwwkknr5w1am5k825a0n0"; + revision = "1"; + editedCabalFile = "0myabw8i41607z2yk5zz5y4mm0bm37qxp2zmnlfnb4267qq15klz"; libraryHaskellDepends = [ aeson base Cabal containers exceptions hashable safe semigroups text time unordered-containers vector @@ -202870,6 +218606,7 @@ self: { description = "Shared data types between various Stackage packages"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stackage-update" = callPackage @@ -202907,6 +218644,7 @@ self: { description = "A more secure version of cabal upload which uses HTTPS"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stackage2nix" = callPackage @@ -202938,6 +218676,7 @@ self: { description = "Convert Stack files into Nix build instructions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stacked-dag" = callPackage @@ -202957,6 +218696,8 @@ self: { testHaskellDepends = [ base containers doctest graphviz text ]; description = "Ascii DAG(Directed acyclic graph) for visualization of dataflow"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "staf" = callPackage @@ -203004,6 +218745,7 @@ self: { description = "This package will derive class instance along the data type declaration tree"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "standalone-haddock" = callPackage @@ -203012,8 +218754,8 @@ self: { }: mkDerivation { pname = "standalone-haddock"; - version = "1.1.4.5"; - sha256 = "1ssfxkzjpprjn9smrgrgskr07zjj8zjs2wgvzcfpk9j0nvps0p9d"; + version = "1.3.0.0"; + sha256 = "1s9b2frpsgvc7nghi314adga8z8rmj1x40j7cic2m3m88nqz3g77"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -203021,7 +218763,6 @@ self: { ]; description = "Generate standalone haddock documentation for a set of packages"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "star" = callPackage @@ -203071,6 +218812,7 @@ self: { description = "A memcached client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "starrover2" = callPackage @@ -203118,6 +218860,7 @@ self: { description = "To be written"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "state" = callPackage @@ -203130,6 +218873,7 @@ self: { description = "Data.State"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "state-bag" = callPackage @@ -203147,6 +218891,7 @@ self: { description = "Monad transformers for holding bags of state"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "state-codes" = callPackage @@ -203173,6 +218918,7 @@ self: { description = "MonadPlus for StateT"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "state-record" = callPackage @@ -203185,6 +218931,7 @@ self: { description = "Better records for State monad states"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stateWriter" = callPackage @@ -203206,6 +218953,7 @@ self: { description = "A faster variant of the RWS monad transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "statechart" = callPackage @@ -203231,6 +218979,7 @@ self: { description = "Typeclass instances for monad transformer stacks with an ST thread at the bottom"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stateref" = callPackage @@ -203301,6 +219050,7 @@ self: { description = "DSL to generate HTML5 Canvas javascript"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "static-closure" = callPackage @@ -203318,6 +219068,7 @@ self: { description = "Serialisable static pointers to functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "static-hash" = callPackage @@ -203374,6 +219125,7 @@ self: { description = "Tensors of statically known size"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "static-text" = callPackage @@ -203396,6 +219148,7 @@ self: { description = "Lists, Texts, ByteStrings and Vectors of statically known length"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "staticanalysis" = callPackage @@ -203450,6 +219203,7 @@ self: { description = "Functions for working with Dirichlet densities and mixtures on vectors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "statistics-fusion" = callPackage @@ -203462,6 +219216,7 @@ self: { description = "An implementation of high performance, minimal statistics functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "statistics-hypergeometric-genvar" = callPackage @@ -203478,6 +219233,7 @@ self: { description = "Random variate generation from hypergeometric distributions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "statistics-linreg" = callPackage @@ -203507,6 +219263,7 @@ self: { description = "command line statistics"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "statsd" = callPackage @@ -203523,6 +219280,7 @@ self: { description = "StatsD API"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "statsd-client" = callPackage @@ -203541,6 +219299,7 @@ self: { description = "Statsd UDP client"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "statsd-datadog" = callPackage @@ -203580,29 +219339,30 @@ self: { description = "A lovely [Dog]StatsD implementation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "status-notifier-item" = callPackage - ({ mkDerivation, base, bytestring, containers, dbus, dbus-hslogger - , filepath, hslogger, lens, network, optparse-applicative, spool - , template-haskell, text, transformers, vector + ({ mkDerivation, base, bytestring, bytestring-to-vector, containers + , dbus, dbus-hslogger, filepath, hslogger, lens, network + , optparse-applicative, template-haskell, text, transformers + , vector }: mkDerivation { pname = "status-notifier-item"; - version = "0.3.0.1"; - sha256 = "0wrw635r7c2qdb90hpm5lg3kb16c3dkw88ypbszf18m02f4dsk8h"; + version = "0.3.0.4"; + sha256 = "0abck5zvk46kng28qjhvqkxj485zw3l6bsakxpjijb58d1i0g667"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base bytestring containers dbus filepath hslogger lens network - spool template-haskell text transformers vector + base bytestring bytestring-to-vector containers dbus filepath + hslogger lens network template-haskell text transformers vector ]; executableHaskellDepends = [ base dbus dbus-hslogger hslogger optparse-applicative ]; description = "A wrapper over the StatusNotifierItem/libappindicator dbus specification"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "statvfs" = callPackage @@ -203625,8 +219385,8 @@ self: { }: mkDerivation { pname = "staversion"; - version = "0.2.3.0"; - sha256 = "012j2gcmcyjqsmfcpll2y61j7n191y8wipdki49p7i0d2n4ak88v"; + version = "0.2.3.1"; + sha256 = "0y3x0bylpiad1l87gzdwbgbaizqas6r9l83cngg3anqsg1gpd7a6"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -203642,7 +219402,6 @@ self: { ]; description = "What version is the package X in stackage lts-Y.ZZ?"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "stb-image" = callPackage @@ -203667,18 +219426,64 @@ self: { description = "Image loading and writing microlibrary"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stb-truetype" = callPackage ({ mkDerivation, array, base, bytestring, containers }: mkDerivation { pname = "stb-truetype"; - version = "0.1.2"; - sha256 = "1hbbi7hax5fw5zb7ashfs5paixqzqrrr64lwisda80dskdazld4m"; + version = "0.1.4"; + sha256 = "1fk9qkra5f18wql76vakdq9796z0dbg1d4apv2zjj47rla43ii38"; libraryHaskellDepends = [ array base bytestring containers ]; description = "A wrapper around Sean Barrett's TrueType rasterizer library"; license = stdenv.lib.licenses.publicDomain; + }) {}; + + "stc-lang" = callPackage + ({ mkDerivation, abstract-par, aeson, base, BoundedChan, bytestring + , clock, deepseq, ghc-prim, hashable, hashtables, hedis, HUnit + , hw-kafka-client, microlens, microlens-aeson, monad-par + , monad-par-extras, mtl, random, test-framework + , test-framework-hunit, text, time, transformers, uuid-types + , vector, yaml + }: + mkDerivation { + pname = "stc-lang"; + version = "1.0.0"; + sha256 = "1x11q696f3598g3ph3shiia0xwxqjaydp27inmfqz01p891xhj5w"; + revision = "1"; + editedCabalFile = "1fjkr2k0j2463vifmaqm6d8pk3r66wrmf74g8lypgf9p4vbsv53m"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + abstract-par base BoundedChan bytestring deepseq microlens + monad-par monad-par-extras mtl transformers + ]; + executableHaskellDepends = [ + aeson base BoundedChan bytestring clock deepseq hashable hashtables + hedis hw-kafka-client microlens microlens-aeson mtl random text + transformers uuid-types vector yaml + ]; + testHaskellDepends = [ + base deepseq ghc-prim HUnit microlens mtl test-framework + test-framework-hunit time transformers + ]; + description = "A library for implicit, monadic dataflow parallelism"; + license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "std" = callPackage + ({ mkDerivation }: + mkDerivation { + pname = "std"; + version = "0"; + sha256 = "0ldn5yxpj99yhhp5x7zlxjmd9qgqyjg68avr19k7argwcf3nr9y9"; + doHaddock = false; + description = "TBA"; + license = stdenv.lib.licenses.bsd3; }) {}; "stdata" = callPackage @@ -203691,6 +219496,7 @@ self: { description = "Structure Data Library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stdf" = callPackage @@ -203714,24 +219520,25 @@ self: { description = "Parse Structured Test Data Format (STDF)"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stdio" = callPackage ({ mkDerivation, base, case-insensitive, deepseq, exceptions , ghc-prim, hashable, hspec, hspec-discover, HUnit, integer-gmp - , primitive, QuickCheck, quickcheck-instances, scientific, stm - , template-haskell, time, transformers, uv, word8 + , libuv, primitive, QuickCheck, quickcheck-instances, scientific + , stm, tagged, template-haskell, time, unordered-containers, word8 }: mkDerivation { pname = "stdio"; - version = "0.1.0.0"; - sha256 = "1y98y92n30sxn8hk4nwfh8jjrwnc2v0cqd766r5dgd1rq6rlf6yv"; + version = "0.2.0.0"; + sha256 = "0j2ywcrzwx2q9fwa8slx7clzgrmfsnfz22ma08b77ii0yg0za271"; libraryHaskellDepends = [ base case-insensitive deepseq exceptions ghc-prim hashable - integer-gmp primitive scientific stm template-haskell time - transformers word8 + integer-gmp primitive QuickCheck scientific stm tagged + template-haskell time unordered-containers ]; - librarySystemDepends = [ uv ]; + libraryPkgconfigDepends = [ libuv ]; libraryToolDepends = [ hspec-discover ]; testHaskellDepends = [ base hashable hspec HUnit integer-gmp primitive QuickCheck @@ -203739,7 +219546,9 @@ self: { ]; description = "A simple and high performance IO toolkit for Haskell"; license = stdenv.lib.licenses.bsd3; - }) {uv = null;}; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {inherit (pkgs) libuv;}; "steambrowser" = callPackage ({ mkDerivation, base, directory, parsec, transformers }: @@ -203753,6 +219562,7 @@ self: { description = "List and launch steam games from the cli"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "steeloverseer" = callPackage @@ -203797,6 +219607,7 @@ self: { description = "Generator and verifier for steganographic numbers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stemmer" = callPackage @@ -203809,6 +219620,7 @@ self: { description = "Haskell bindings to the Snowball stemming library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stemmer-german" = callPackage @@ -203823,6 +219635,7 @@ self: { description = "Extract the stem of a German inflected word form"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "step-function" = callPackage @@ -203833,8 +219646,8 @@ self: { pname = "step-function"; version = "0.2"; sha256 = "1mg7zqqs32zdh1x1738kk0yydyksbhx3y3x8n31f7byk5fvzqq6j"; - revision = "1"; - editedCabalFile = "03ga9vwaxsf0c73fciavkm925l7lkgya1a6xghyb8ainrav0bfq4"; + revision = "2"; + editedCabalFile = "074399mj4p0sk49rqc9a3fikpsly95mndnmm71ya7wy34nxyafzv"; libraryHaskellDepends = [ base base-compat-batteries containers deepseq QuickCheck ]; @@ -203852,6 +219665,26 @@ self: { libraryHaskellDepends = [ base containers mtl ]; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "stern-brocot" = callPackage + ({ mkDerivation, alg, base, criterion, smallcheck, tasty + , tasty-smallcheck, universe-base + }: + mkDerivation { + pname = "stern-brocot"; + version = "0.1.0.0"; + sha256 = "0x3d6k1vbwa0gn41z3lq877l70mghq1gic37l6vg1v4s5cyx0w6m"; + libraryHaskellDepends = [ alg base universe-base ]; + testHaskellDepends = [ + base smallcheck tasty tasty-smallcheck universe-base + ]; + benchmarkHaskellDepends = [ base criterion ]; + description = "Positive rational numbers represented as paths in the Stern-Brocot tree"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stgi" = callPackage @@ -203881,6 +219714,7 @@ self: { description = "Educational implementation of the STG (Spineless Tagless G-machine)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stickyKeysHotKey" = callPackage @@ -203959,6 +219793,7 @@ self: { description = "Chunked Communication Queues"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stm-conduit" = callPackage @@ -203993,17 +219828,19 @@ self: { }: mkDerivation { pname = "stm-containers"; - version = "1.1.0.2"; - sha256 = "1yhivblfxycr2vk09gwg904n6fqkzn5g5rvg3whm40fnabdfa9av"; + version = "1.1.0.4"; + sha256 = "0mcn4v9gjkqp27xcwvqphiqnaj4grvxpsflhq0rwqp5ymnzlccyl"; libraryHaskellDepends = [ base deferred-folds focus hashable list-t stm-hamt transformers ]; testHaskellDepends = [ - deferred-folds focus foldl free HTF QuickCheck quickcheck-text - rerebase + deferred-folds focus foldl free HTF list-t QuickCheck + quickcheck-text rerebase ]; description = "Containers for STM"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stm-delay" = callPackage @@ -204046,6 +219883,7 @@ self: { description = "Conduits and STM operations for fire hoses"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stm-hamt" = callPackage @@ -204056,8 +219894,8 @@ self: { }: mkDerivation { pname = "stm-hamt"; - version = "1.2.0.2"; - sha256 = "17ywv40vxclkg2lgl52r3j30r1n0jcvahamcfnr3n5a1lh86149w"; + version = "1.2.0.4"; + sha256 = "0hlzi1zg58mgnb77982hkssm86ds66fs5nf1g2hcjjbjawchx3mj"; libraryHaskellDepends = [ base deferred-folds focus hashable list-t primitive primitive-extras transformers @@ -204072,6 +219910,8 @@ self: { ]; description = "STM-specialised Hash Array Mapped Trie"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stm-io-hooks" = callPackage @@ -204086,20 +219926,18 @@ self: { description = "STM with IO hooks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stm-lifted" = callPackage ({ mkDerivation, base, stm, transformers }: mkDerivation { pname = "stm-lifted"; - version = "0.1.1.0"; - sha256 = "1xp3cfpkhkhpva170vwwrwqm0spwm2g778s98gwbil24icx0p32c"; - revision = "1"; - editedCabalFile = "0mh0gdfwky4qxyhxrysqj1sr913pffvf420mf8cl9i53fsx4f255"; + version = "2.5.0.0"; + sha256 = "0zsah3s288cgb2h4gdjqvby1c3xp95nvgd561sdhigxcwlxk2658"; libraryHaskellDepends = [ base stm transformers ]; description = "Software Transactional Memory lifted to MonadIO"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "stm-linkedlist" = callPackage @@ -204135,6 +219973,7 @@ self: { description = "Simple STM Promises for IO computations and external processes"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stm-queue-extras" = callPackage @@ -204182,6 +220021,7 @@ self: { description = "retry statistics for STM transactions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stm-supply" = callPackage @@ -204197,6 +220037,7 @@ self: { description = "STM wrapper around Control.Concurrent.Supply."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stm-tlist" = callPackage @@ -204221,6 +220062,7 @@ self: { description = "Control communication among retrying transactions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stochastic" = callPackage @@ -204237,6 +220079,7 @@ self: { description = "Monadic composition of probabilistic functions and sampling"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stocks" = callPackage @@ -204322,8 +220165,8 @@ self: { ({ mkDerivation, base, clock, hspec, transformers }: mkDerivation { pname = "stopwatch"; - version = "0.1.0.5"; - sha256 = "0q9l27cpfz5hs3ggxij0lk8p3vrgkjg1binhv2nwss4dvygdc7j6"; + version = "0.1.0.6"; + sha256 = "1gvlh58hkg02a5814lm5f123p853z92dlmv4r5mhhlg5j6g7c62h"; libraryHaskellDepends = [ base clock transformers ]; testHaskellDepends = [ base clock hspec ]; description = "A simple stopwatch utility"; @@ -204340,6 +220183,7 @@ self: { description = "Storable type class for variable-sized data"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "storable-complex" = callPackage @@ -204391,6 +220235,7 @@ self: { description = "Statically-sized array wrappers with Storable instances for FFI marshaling"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "storable-tuple" = callPackage @@ -204454,6 +220299,7 @@ self: { description = "Conversion between storablevector and stream-fusion lists with fusion"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "store" = callPackage @@ -204470,8 +220316,8 @@ self: { }: mkDerivation { pname = "store"; - version = "0.5.0.1"; - sha256 = "0dpm7752p8lhlwq5nlhqxwq1c5nyi97rnj83j2im3i9wvs2qb3i3"; + version = "0.5.1.2"; + sha256 = "1abwlcj0z17hj5h94cbg1sgqfdsdgjhgfgd2aaspsn4zdfk5bjc5"; libraryHaskellDepends = [ array async base base-orphans base64-bytestring bifunctors bytestring containers contravariant cryptohash deepseq directory @@ -204484,18 +220330,7 @@ self: { ]; testHaskellDepends = [ array async base base-orphans base64-bytestring bifunctors - bytestring cereal cereal-vector clock containers contravariant - criterion cryptohash deepseq directory filepath free ghc-prim - hashable hspec hspec-smallcheck integer-gmp lifted-base - monad-control mono-traversable network primitive resourcet safe - semigroups smallcheck store-core syb template-haskell text th-lift - th-lift-instances th-orphans th-reify-many th-utilities time - transformers unordered-containers vector vector-binary-instances - void weigh - ]; - benchmarkHaskellDepends = [ - array async base base-orphans base64-bytestring bifunctors - bytestring containers contravariant criterion cryptohash deepseq + bytestring clock containers contravariant cryptohash deepseq directory filepath free ghc-prim hashable hspec hspec-smallcheck integer-gmp lifted-base monad-control mono-traversable network primitive resourcet safe semigroups smallcheck store-core syb @@ -204503,6 +220338,17 @@ self: { th-reify-many th-utilities time transformers unordered-containers vector void ]; + benchmarkHaskellDepends = [ + array async base base-orphans base64-bytestring bifunctors + bytestring cereal cereal-vector containers contravariant criterion + cryptohash deepseq directory filepath free ghc-prim hashable hspec + hspec-smallcheck integer-gmp lifted-base monad-control + mono-traversable network primitive resourcet safe semigroups + smallcheck store-core syb template-haskell text th-lift + th-lift-instances th-orphans th-reify-many th-utilities time + transformers unordered-containers vector vector-binary-instances + void weigh + ]; description = "Fast binary serialization"; license = stdenv.lib.licenses.mit; }) {}; @@ -204557,6 +220403,7 @@ self: { description = "Simple Theorem Prover"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "str" = callPackage @@ -204574,6 +220421,7 @@ self: { description = "A type class to abstract between many different string types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stratosphere" = callPackage @@ -204583,8 +220431,8 @@ self: { }: mkDerivation { pname = "stratosphere"; - version = "0.29.1"; - sha256 = "0j3mb09k498xynhc82cnsknzkbjwn9lvvanrz78jpx4fhh73zrlz"; + version = "0.40.0"; + sha256 = "0xj8bclyfvhdw12jfndg6pivzrbhqjf2qky383n0w6if11cfli1z"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -204600,15 +220448,15 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "stratosphere_0_30_1" = callPackage + "stratosphere_0_41_0" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers , hashable, hspec, hspec-discover, lens, template-haskell, text , unordered-containers }: mkDerivation { pname = "stratosphere"; - version = "0.30.1"; - sha256 = "1j2k4z5chi41fjf1shhci8yf6x5fyj1z5wa077n3n3m7hrlf3r76"; + version = "0.41.0"; + sha256 = "1prwkvlc9qglc0465gibv26h1nd06bdiayp22i91dw3ws3mbhzs5"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -204644,90 +220492,96 @@ self: { description = "Client for Stratum protocol"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stratux" = callPackage - ({ mkDerivation, base, directory, doctest, filepath, QuickCheck - , stratux-http, stratux-types, stratux-websockets, template-haskell + ({ mkDerivation, base, stratux-http, stratux-types + , stratux-websockets }: mkDerivation { pname = "stratux"; - version = "0.0.9"; - sha256 = "17jy7svf74k3r87p8xlp0hi9z95f5npmnn28jlwx4rb68dn63aly"; + version = "0.0.10"; + sha256 = "0km05c7i6yxlxy4fa39rrll1xmf5yzb6vk1b8s8rmh19520dzb07"; libraryHaskellDepends = [ base stratux-http stratux-types stratux-websockets ]; - testHaskellDepends = [ - base directory doctest filepath QuickCheck template-haskell - ]; description = "A library for stratux"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "stratux-demo" = callPackage + ({ mkDerivation, base, lens, network-uri, optparse-applicative + , stratux, text, time, transformers + }: + mkDerivation { + pname = "stratux-demo"; + version = "0.0.12"; + sha256 = "0rarr1z6rk6idjyxzb0053p90rpixqwc767bslcm6dvj9rxbgsvp"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base lens network-uri optparse-applicative stratux text time + transformers + ]; + executableHaskellDepends = [ + base lens network-uri optparse-applicative stratux text time + transformers + ]; + description = "A demonstration of the stratux library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stratux-http" = callPackage - ({ mkDerivation, aeson, base, directory, doctest, either, filepath - , HTTP, network-uri, QuickCheck, stratux-types, template-haskell - , utf8-string + ({ mkDerivation, aeson, base, HTTP, network-uri, stratux-types + , transformers, utf8-string }: mkDerivation { pname = "stratux-http"; - version = "0.0.9"; - sha256 = "121pansnd8pdhv9ki2qdav93cwldmnxnykjldhbkb2bkyr0skdyb"; - revision = "1"; - editedCabalFile = "0paq3zs9c39dcjxxyz975q4nccmgdxxay839wa60gka75hix34gs"; + version = "0.0.11"; + sha256 = "056fz3fs1giwlh9yfj462p0bg98gzikbqvkkwcyrmyqpxjsala15"; libraryHaskellDepends = [ - aeson base either HTTP network-uri stratux-types utf8-string - ]; - testHaskellDepends = [ - base directory doctest filepath QuickCheck template-haskell + aeson base HTTP network-uri stratux-types transformers utf8-string ]; description = "A library for using HTTP with stratux"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "stratux-types" = callPackage - ({ mkDerivation, aeson, base, bytestring, directory, doctest - , filepath, lens, QuickCheck, scientific, template-haskell, text + ({ mkDerivation, aeson, base, bytestring, lens, scientific, text , time }: mkDerivation { pname = "stratux-types"; - version = "0.0.9"; - sha256 = "06d4qagcmzch25zkxpnvw04h5aav5wbdrfyi6xvzvndj12hvayza"; + version = "0.0.11"; + sha256 = "0ps9y9rfjk5xzikkl4rsv203rfqc1yqa8alp5hx37lqgcnymw4hy"; libraryHaskellDepends = [ aeson base bytestring lens scientific text time ]; - testHaskellDepends = [ - base directory doctest filepath QuickCheck template-haskell - ]; description = "A library for reading JSON output from stratux"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "stratux-websockets" = callPackage - ({ mkDerivation, aeson, base, directory, doctest, either, filepath - , network, QuickCheck, stratux-types, template-haskell, text + ({ mkDerivation, aeson, base, either, network, stratux-types, text , transformers, websockets }: mkDerivation { pname = "stratux-websockets"; - version = "0.0.9"; - sha256 = "0076n4i250frv71w9sysw935g5aq0py8shwaqrhjrv4jp6mb2k3q"; - revision = "1"; - editedCabalFile = "0863p5spgs68q6ddp3v9azm7x01wky1480yp3rrjxpkgay1ha4db"; + version = "0.0.11"; + sha256 = "0602y8h37zplp1g0fmdim1f8pmdz713jydc4qsh6ii3x58i8klj5"; libraryHaskellDepends = [ aeson base either network stratux-types text transformers websockets ]; - testHaskellDepends = [ - base directory doctest filepath QuickCheck template-haskell - ]; description = "A library for using websockets with stratux"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stream" = callPackage @@ -204748,6 +220602,7 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stream-fusion" = callPackage @@ -204762,6 +220617,7 @@ self: { description = "Faster Haskell lists using stream fusion"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stream-monad" = callPackage @@ -204776,6 +220632,7 @@ self: { description = "Simple, Fair and Terminating Backtracking Monad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "streamdeck" = callPackage @@ -204788,6 +220645,7 @@ self: { description = "Control library for the Elgato Stream Deck"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "streamed" = callPackage @@ -204807,6 +220665,7 @@ self: { description = "Programmatically edit MIDI event streams via ALSA"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "streaming" = callPackage @@ -204817,6 +220676,8 @@ self: { pname = "streaming"; version = "0.2.2.0"; sha256 = "04fdw4f51yb16bv3b7z97vqxbns8rv2ag2aphglm29jsd527fsss"; + revision = "1"; + editedCabalFile = "1sq8blxh4s1lsvxkc64x7drxwn75kszxicjhvw4cg505fp9bfc7y"; libraryHaskellDepends = [ base containers ghc-prim mmorph mtl semigroups transformers transformers-base @@ -204831,10 +220692,8 @@ self: { }: mkDerivation { pname = "streaming-attoparsec"; - version = "1.0.0"; - sha256 = "00k1vwqr7ns7s4r6xvq59kpwimqd0f02jj0ay4zg167dd5994a7z"; - revision = "2"; - editedCabalFile = "07hqs8nn1rhsqckqmw46yp19kd0vk35q139al6yq0k1dzpvsrcsx"; + version = "1.0.0.1"; + sha256 = "151gjivqbadh1wfbj53d0ahw4cjax4nnhg1v0l1piqnp1mbz7j8y"; libraryHaskellDepends = [ attoparsec base bytestring streaming streaming-bytestring ]; @@ -204847,23 +220706,24 @@ self: { }) {}; "streaming-base64" = callPackage - ({ mkDerivation, base, safe-exceptions, streaming - , streaming-bytestring, tasty, tasty-hunit, transformers + ({ mkDerivation, base, base-compat-batteries, filepath + , safe-exceptions, streaming, streaming-bytestring, streaming-with + , tasty, tasty-golden, transformers }: mkDerivation { pname = "streaming-base64"; - version = "0.1.0.0"; - sha256 = "0w6xj80z1z21pgxadwc48w15a08g94i4g7qkgv5gvq46kpl44bq6"; - revision = "1"; - editedCabalFile = "0mc71ncw2mw3yfryk0g2iq86wba7i3khy8fbsjaz5dr22hkkzh9r"; + version = "0.1.1.0"; + sha256 = "0yyjdld05i4bfx73maf5vzdrp7hx65784sv7bnnw4xfal1k20vlj"; libraryHaskellDepends = [ - base safe-exceptions streaming streaming-bytestring transformers + base base-compat-batteries safe-exceptions streaming + streaming-bytestring transformers ]; testHaskellDepends = [ - base streaming-bytestring tasty tasty-hunit + base base-compat-batteries filepath streaming-bytestring + streaming-with tasty tasty-golden ]; description = "Streaming conversion from/to base64"; - license = stdenv.lib.licenses.cc0; + license = stdenv.lib.licenses.publicDomain; }) {}; "streaming-benchmarks" = callPackage @@ -204889,7 +220749,6 @@ self: { ]; description = "Benchmarks to compare streaming packages"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "streaming-binary" = callPackage @@ -204927,6 +220786,28 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "streaming-brotli" = callPackage + ({ mkDerivation, base, brotli, bytestring, HUnit, QuickCheck + , streaming, streaming-bytestring, test-framework + , test-framework-hunit, test-framework-quickcheck2 + }: + mkDerivation { + pname = "streaming-brotli"; + version = "0.0.0.0"; + sha256 = "12bp033sjcjf3l16ihg2xa69yl7ai0886jriqpipsddfkcjnx7mr"; + libraryHaskellDepends = [ + base brotli bytestring streaming streaming-bytestring + ]; + testHaskellDepends = [ + base bytestring HUnit QuickCheck streaming streaming-bytestring + test-framework test-framework-hunit test-framework-quickcheck2 + ]; + description = "Streaming interface for Brotli (RFC7932) compression"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "streaming-bytestring" = callPackage ({ mkDerivation, base, bytestring, deepseq, exceptions, mmorph, mtl , resourcet, smallcheck, streaming, tasty, tasty-smallcheck @@ -204968,6 +220849,7 @@ self: { description = "Cassava support for the streaming ecosystem"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "streaming-commons" = callPackage @@ -204977,8 +220859,8 @@ self: { }: mkDerivation { pname = "streaming-commons"; - version = "0.2.1.0"; - sha256 = "13fn6qmpiggwpn8lczyydgp77cyzfypwds7wxskrwir4i5cgxlfq"; + version = "0.2.1.1"; + sha256 = "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"; libraryHaskellDepends = [ array async base bytestring directory network process random stm text transformers unix zlib @@ -204999,8 +220881,8 @@ self: { }: mkDerivation { pname = "streaming-concurrency"; - version = "0.3.1.2"; - sha256 = "0ra4svn595qx08rfg3qz2n30y6dsv2xj2kdl4s61xbhi4cmff819"; + version = "0.3.1.3"; + sha256 = "07fk9kdfh2983qawl78sy0ibqa8ngwna2slz3ckbm1fgc8sybzip"; libraryHaskellDepends = [ base exceptions lifted-async monad-control stm streaming streaming-with transformers-base @@ -205014,7 +220896,6 @@ self: { ]; description = "Concurrency support for the streaming ecosystem"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "streaming-conduit" = callPackage @@ -205032,6 +220913,7 @@ self: { description = "Bidirectional support between the streaming and conduit libraries"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "streaming-eversion" = callPackage @@ -205068,6 +220950,7 @@ self: { description = "online streaming fft"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "streaming-histogram" = callPackage @@ -205086,54 +220969,67 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; + "streaming-lzma" = callPackage + ({ mkDerivation, base, bytestring, HUnit, lzma, QuickCheck + , streaming, streaming-bytestring, test-framework + , test-framework-hunit, test-framework-quickcheck2 + }: + mkDerivation { + pname = "streaming-lzma"; + version = "0.0.0.0"; + sha256 = "0nqy6400fzr7mrl70wshcdfzz531wxy5x1mqg8zixg128xc0cnfb"; + libraryHaskellDepends = [ + base bytestring lzma streaming streaming-bytestring + ]; + testHaskellDepends = [ + base bytestring HUnit QuickCheck streaming streaming-bytestring + test-framework test-framework-hunit test-framework-quickcheck2 + ]; + description = "Streaming interface for LZMA/XZ compression"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "streaming-osm" = callPackage ({ mkDerivation, attoparsec, base, bytestring, containers - , criterion, streaming, streaming-bytestring, streaming-utils + , resourcet, streaming, streaming-attoparsec, streaming-bytestring , tasty, tasty-hunit, text, transformers, vector, zlib }: mkDerivation { pname = "streaming-osm"; - version = "1.0.0"; - sha256 = "1z1wpwmsgc4viy0w3zcmf5d88nylyynb359r1p2naajg65kbb46h"; + version = "1.0.0.1"; + sha256 = "0zf9f079ssmm1gy1ngcqz1faxyardv91ynv5lc5xfh8fhgk9a65c"; libraryHaskellDepends = [ - attoparsec base bytestring containers streaming - streaming-bytestring streaming-utils text transformers vector zlib + attoparsec base bytestring containers resourcet streaming + streaming-attoparsec streaming-bytestring text transformers vector + zlib ]; testHaskellDepends = [ - attoparsec base bytestring streaming tasty tasty-hunit vector zlib - ]; - benchmarkHaskellDepends = [ - attoparsec base bytestring criterion streaming vector zlib + attoparsec base bytestring resourcet streaming tasty tasty-hunit + vector zlib ]; description = "A hand-written streaming byte parser for OpenStreetMap Protobuf data"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "streaming-pcap" = callPackage - ({ mkDerivation, attoparsec, base, bytestring, criterion, pcap - , streaming, streaming-bytestring, streaming-utils, tasty + ({ mkDerivation, attoparsec, base, bytestring, pcap, resourcet + , streaming, streaming-attoparsec, streaming-bytestring, tasty , tasty-hunit }: mkDerivation { pname = "streaming-pcap"; - version = "1.1.1"; - sha256 = "1riw6n3n5rbzfqlm0z6qbznlx2lc8bk2s1qjy8a9zx90wbys0xp1"; + version = "1.1.1.1"; + sha256 = "1qzll7n2h9jgwhnx0gvrxzi19dkhqxy0fymbc414hwsn27f8sh8b"; libraryHaskellDepends = [ - attoparsec base bytestring pcap streaming streaming-bytestring - streaming-utils + attoparsec base bytestring pcap resourcet streaming + streaming-attoparsec streaming-bytestring ]; testHaskellDepends = [ - attoparsec base bytestring pcap streaming streaming-bytestring - streaming-utils tasty tasty-hunit - ]; - benchmarkHaskellDepends = [ - attoparsec base bytestring criterion pcap streaming - streaming-bytestring streaming-utils + attoparsec base bytestring pcap resourcet streaming + streaming-attoparsec streaming-bytestring tasty tasty-hunit ]; description = "Stream packets via libpcap"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "streaming-png" = callPackage @@ -205155,6 +221051,7 @@ self: { description = "Perfectly streaming PNG image decoding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "streaming-postgresql-simple" = callPackage @@ -205173,6 +221070,7 @@ self: { description = "Stream postgresql-query results using the streaming library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "streaming-process" = callPackage @@ -205198,6 +221096,7 @@ self: { description = "Streaming support for running system process"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "streaming-sort" = callPackage @@ -205220,6 +221119,7 @@ self: { description = "Sorting streams"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "streaming-utils" = callPackage @@ -205239,7 +221139,6 @@ self: { ]; description = "http, attoparsec, pipes and other utilities for the streaming libraries"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "streaming-wai" = callPackage @@ -205276,57 +221175,27 @@ self: { }) {}; "streamly" = callPackage - ({ mkDerivation, atomic-primops, base, clock, containers, deepseq + ({ mkDerivation, atomic-primops, base, containers, deepseq , exceptions, gauge, ghc-prim, heaps, hspec, lockfree-queue , monad-control, mtl, QuickCheck, random, transformers , transformers-base }: mkDerivation { pname = "streamly"; - version = "0.5.2"; - sha256 = "1pla9356yhf6zv2yz4mh8g1dslzdkkych4jrjyi4rw66frvw0jg6"; + version = "0.6.1"; + sha256 = "141xc4c4ng0cxwlmjcw7v9a7wpi6kdidzwr4wify571ghql75gf2"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - atomic-primops base clock containers exceptions ghc-prim heaps + atomic-primops base containers deepseq exceptions ghc-prim heaps lockfree-queue monad-control mtl transformers transformers-base ]; testHaskellDepends = [ base containers exceptions hspec mtl QuickCheck random transformers ]; - benchmarkHaskellDepends = [ - atomic-primops base clock containers deepseq exceptions gauge - ghc-prim heaps lockfree-queue monad-control mtl random transformers - transformers-base - ]; - description = "Beautiful Streaming, Concurrent and Reactive Composition"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "streamly_0_6_0" = callPackage - ({ mkDerivation, atomic-primops, base, clock, containers, deepseq - , exceptions, gauge, ghc-prim, heaps, hspec, lockfree-queue - , monad-control, mtl, QuickCheck, random, transformers - , transformers-base - }: - mkDerivation { - pname = "streamly"; - version = "0.6.0"; - sha256 = "05gwyzp03lz2gv5civg5dkqx1vab261iasrvfvr7sqi4xyj0kzns"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - atomic-primops base clock containers deepseq exceptions ghc-prim - heaps lockfree-queue monad-control mtl transformers - transformers-base - ]; - testHaskellDepends = [ - base containers exceptions hspec mtl QuickCheck random transformers - ]; benchmarkHaskellDepends = [ base deepseq gauge random ]; description = "Beautiful Streaming, Concurrent and Reactive Composition"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "streamproc" = callPackage @@ -205335,6 +221204,8 @@ self: { pname = "streamproc"; version = "1.6.2"; sha256 = "1wl44n4nav4h203mzfdf1bd5nh4v23dib54lvxka1rl3zymgyvp7"; + revision = "1"; + editedCabalFile = "19c51gks028x8mnywkx1nz0s6bwn2mxs5ddmaj2q8n9l5pvfkcgs"; libraryHaskellDepends = [ base ]; description = "Stream Processer Arrow"; license = stdenv.lib.licenses.bsd3; @@ -205361,21 +221232,22 @@ self: { , base64-bytestring, bifunctors, bytestring , bytestring-tree-builder, hashable, http-media, mtl, scientific , semigroups, strelka-core, text, text-builder, time, transformers - , unordered-containers, url-decoders + , unordered-containers, url-decoders, uuid }: mkDerivation { pname = "strelka"; - version = "2.0.2.2"; - sha256 = "14n4wk7xzqrl795flxvks7kzf9mm93b626r2x657xjsy7rwkw7y3"; + version = "2.0.5"; + sha256 = "04z2ibka7gzgkcwqjg6xi0cj42hmix1pm4r8kmfqbb68a39hqbp6"; libraryHaskellDepends = [ attoparsec attoparsec-data base base-prelude base64-bytestring bifunctors bytestring bytestring-tree-builder hashable http-media mtl scientific semigroups strelka-core text text-builder time - transformers unordered-containers url-decoders + transformers unordered-containers url-decoders uuid ]; description = "A simple, flexible and composable web-router"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "strelka-core" = callPackage @@ -205485,6 +221357,7 @@ self: { description = "A collection of commonly used strict data structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "strict-ghc-plugin" = callPackage @@ -205522,6 +221395,23 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "strict-list" = callPackage + ({ mkDerivation, base, QuickCheck, quickcheck-instances, rerebase + , semigroupoids, tasty, tasty-hunit, tasty-quickcheck + }: + mkDerivation { + pname = "strict-list"; + version = "0.1.4"; + sha256 = "0jh158yjly9p54fgbxjxspdnicryik1ax3mlc6i7351v564yc7cz"; + libraryHaskellDepends = [ base semigroupoids ]; + testHaskellDepends = [ + QuickCheck quickcheck-instances rerebase tasty tasty-hunit + tasty-quickcheck + ]; + description = "Strict linked list"; + license = stdenv.lib.licenses.mit; + }) {}; + "strict-tuple" = callPackage ({ mkDerivation, base, deepseq, hashable }: mkDerivation { @@ -205587,6 +221477,7 @@ self: { description = "Combinators for strictifying functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "string" = callPackage @@ -205666,6 +221557,32 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "string-interpolate" = callPackage + ({ mkDerivation, base, bytestring, criterion, formatting + , haskell-src-meta, hspec, interpolate, interpolatedstring-perl6 + , QuickCheck, quickcheck-instances, quickcheck-text + , template-haskell, text, text-conversions, utf8-string + }: + mkDerivation { + pname = "string-interpolate"; + version = "0.1.0.1"; + sha256 = "0gk5driazck1h1hnpp17kw0ylgp15s9jnnmz53wxz4rjqy6g3z4c"; + libraryHaskellDepends = [ + base bytestring haskell-src-meta template-haskell text + text-conversions utf8-string + ]; + testHaskellDepends = [ + base bytestring hspec QuickCheck quickcheck-instances + quickcheck-text text + ]; + benchmarkHaskellDepends = [ + base bytestring criterion formatting interpolate + interpolatedstring-perl6 QuickCheck text + ]; + description = "Haskell string/text/bytestring interpolation that just works"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "string-isos" = callPackage ({ mkDerivation, base, bytestring, mono-traversable, safe, text , type-iso @@ -205680,6 +221597,7 @@ self: { description = "Tools for working with isomorphisms of strings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "string-qq" = callPackage @@ -205716,8 +221634,8 @@ self: { }: mkDerivation { pname = "string-random"; - version = "0.1.1.0"; - sha256 = "0gypx0lg9kz8s2aksj2qg238m41cnl49k4bxwz7sgf94h12nhil2"; + version = "0.1.2.0"; + sha256 = "1jw05cvzzmma28xvak517y8gb7gjsdmr5iafgz5snxikcjzav0l2"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -205730,7 +221648,6 @@ self: { ]; description = "A library for generating random string from a regular experession"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "string-similarity" = callPackage @@ -205754,8 +221671,8 @@ self: { }: mkDerivation { pname = "string-transform"; - version = "1.1.0"; - sha256 = "1f76aiimm2knc68g08dc9j495mjkas87jw8w27silrsq3pzayzad"; + version = "1.1.1"; + sha256 = "08ay7r8ln4jwn7iq6smbny5lby3xgzlrlqj02yp61n1cn0sgzbhw"; libraryHaskellDepends = [ base bytestring text utf8-string ]; testHaskellDepends = [ base bytestring tasty tasty-hunit tasty-smallcheck text utf8-string @@ -205778,6 +221695,7 @@ self: { description = "Type-level Chars and Strings, with decidable equality"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stringable" = callPackage @@ -205819,6 +221737,7 @@ self: { description = "Transformations to several string-like types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stringprep" = callPackage @@ -205872,6 +221791,7 @@ self: { description = "Memoize Strings as Atoms for fast comparison and sorting, with maps and sets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "strio" = callPackage @@ -205889,6 +221809,20 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "strip-ansi-escape" = callPackage + ({ mkDerivation, attoparsec, base, hspec, QuickCheck, text }: + mkDerivation { + pname = "strip-ansi-escape"; + version = "0.1.0.0"; + sha256 = "0yxz4ygckhzav8s2vbd6355gclk1zs6xk0s0s90nxd7yxhahfpx8"; + revision = "2"; + editedCabalFile = "0pzp5wya73l732waxjl3fza3kkr7ip7bgsj6xhvsi1k0n69yvwh8"; + libraryHaskellDepends = [ attoparsec base text ]; + testHaskellDepends = [ base hspec QuickCheck text ]; + description = "Strip ANSI escape code from string"; + license = stdenv.lib.licenses.asl20; + }) {}; + "stripe" = callPackage ({ mkDerivation, aeson, base, bytestring, http-conduit, http-types , mtl, text, time, unordered-containers, utf8-string @@ -205904,14 +221838,15 @@ self: { description = "A Haskell implementation of the Stripe API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stripe-concepts" = callPackage ({ mkDerivation, base, bytestring, text }: mkDerivation { pname = "stripe-concepts"; - version = "1.0.0.0"; - sha256 = "0s518mlb181407w2gmlhaayaf3ypn03lzw3fmkzkiqz2c89kd1rw"; + version = "1.0.1.0"; + sha256 = "1bpxsi9dpazxjh3m5lbkvm7aszylmhvkpazw8hdgpdnkv3gryjv5"; libraryHaskellDepends = [ base bytestring text ]; description = "Types for the Stripe API"; license = stdenv.lib.licenses.mit; @@ -205923,8 +221858,8 @@ self: { }: mkDerivation { pname = "stripe-core"; - version = "2.4.1"; - sha256 = "1ab3smzvm9qw4g1b5prin7njifwfls51c4cb625aaziljmpwyg27"; + version = "2.5.0"; + sha256 = "06b5qx20zkvaqvn98jqmq0vqrpkgfvab5wjq7lwlcdm9nn7nrsgi"; libraryHaskellDepends = [ aeson base bytestring mtl text time transformers unordered-containers @@ -205937,12 +221872,13 @@ self: { ({ mkDerivation, base, stripe-core, stripe-http-client }: mkDerivation { pname = "stripe-haskell"; - version = "2.4.1"; - sha256 = "041kj0dh6qzpmcwb6wm5ii9l6dwdpja3big57n0134z41hw0p45f"; + version = "2.5.0"; + sha256 = "0qazqygkg6hlfvz6wg3gk2am7qnxzsfqjqh6mgyandz9l141pyx5"; libraryHaskellDepends = [ base stripe-core stripe-http-client ]; description = "Stripe API for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stripe-http-client" = callPackage @@ -205951,8 +221887,8 @@ self: { }: mkDerivation { pname = "stripe-http-client"; - version = "2.4.1"; - sha256 = "1x7720awkh97wpkyn6mbqb788a07lfshd8w55qwywfxlp42qg4a3"; + version = "2.5.0"; + sha256 = "1386d2bhql56kazxx89icl1j5ikhhza2cv934x19s5lqsl8089yi"; libraryHaskellDepends = [ aeson base bytestring http-client http-client-tls http-types stripe-core text @@ -205963,6 +221899,7 @@ self: { description = "Stripe API for Haskell - http-client backend"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stripe-http-streams" = callPackage @@ -205983,6 +221920,8 @@ self: { doCheck = false; description = "Stripe API for Haskell - http-streams backend"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stripe-scotty" = callPackage @@ -206001,19 +221940,19 @@ self: { ]; description = "Listen for Stripe webhook events with Scotty"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "stripe-signature" = callPackage - ({ mkDerivation, base, bytestring, cryptonite, hex-text, memory - , stripe-concepts, text + ({ mkDerivation, base, base16-bytestring, bytestring, cryptonite + , memory, stripe-concepts, text }: mkDerivation { pname = "stripe-signature"; - version = "1.0.0.0"; - sha256 = "0hg5l9fyfr6yhna2awcyrfr38zlpd1q58b6q6fc3aq8qhbwk8zps"; + version = "1.0.0.1"; + sha256 = "1l5gw1lv63mpi8f2z70wv4b5809ljsi2zzdgj2mwc2zrdqfnharn"; libraryHaskellDepends = [ - base bytestring cryptonite hex-text memory stripe-concepts text + base base16-bytestring bytestring cryptonite memory stripe-concepts + text ]; testHaskellDepends = [ base bytestring text ]; description = "Verification of Stripe webhook signatures"; @@ -206027,14 +221966,16 @@ self: { }: mkDerivation { pname = "stripe-tests"; - version = "2.4.1"; - sha256 = "1lq2m450y7ylalcimy2fm2c6vhl0m3pyj7m52cni5dm398qskmr6"; + version = "2.5.0"; + sha256 = "0jqxzdriaysf2lya8p9lc1ind2m4b4nz15dn7vb3sx74vw6lp4s3"; libraryHaskellDepends = [ aeson base bytestring free hspec hspec-core mtl random stripe-core text time transformers unordered-containers ]; description = "Tests for Stripe API bindings for Haskell"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stripe-wreq" = callPackage @@ -206090,6 +222031,37 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "strongswan-sql" = callPackage + ({ mkDerivation, asn1-encoding, asn1-types, attoparsec, base + , bytestring, data-default, failable, haskeline, io-streams + , iproute, lens, mtl, mysql-haskell, network, structured-cli, text + , transformers + }: + mkDerivation { + pname = "strongswan-sql"; + version = "1.3.0.1"; + sha256 = "1n61xxgp4saljyq6zywi5x5nlcwzp3i9vhwlmib790wr19znnxky"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + asn1-encoding asn1-types attoparsec base bytestring data-default + failable haskeline io-streams iproute lens mtl mysql-haskell + network structured-cli text transformers + ]; + executableHaskellDepends = [ + asn1-encoding asn1-types attoparsec base bytestring data-default + failable haskeline io-streams iproute lens mtl mysql-haskell + network structured-cli text transformers + ]; + testHaskellDepends = [ + asn1-encoding asn1-types attoparsec base bytestring data-default + failable haskeline io-streams iproute lens mtl mysql-haskell + network structured-cli text transformers + ]; + description = "Interface library for strongSwan SQL backend"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "strptime" = callPackage ({ mkDerivation, base, bytestring, text, time }: mkDerivation { @@ -206103,21 +222075,22 @@ self: { "structs" = callPackage ({ mkDerivation, base, Cabal, cabal-doctest, deepseq, directory - , doctest, filepath, ghc-prim, hlint, parallel, primitive - , template-haskell + , doctest, filepath, ghc-prim, parallel, primitive, QuickCheck + , tasty, tasty-hunit, tasty-quickcheck, template-haskell }: mkDerivation { pname = "structs"; - version = "0.1.1"; - sha256 = "0hdajhvd6i81dchdyd42fa17pm53jd7g3irqjfardbbmjx0sqq6z"; - revision = "2"; - editedCabalFile = "1v9gmnj17cm4p491rizvw9xdj255lk1y24gz6s8bqcz56sdb4d4s"; + version = "0.1.2"; + sha256 = "0myv13g48y8vn397lvg45lb942fmw4n9gs80v5nnjfvgika7qbw4"; + revision = "1"; + editedCabalFile = "1snsprlbv9npn06iliy937vxqpsjpcmv880bnkbzj3nz4c6c59pa"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base deepseq ghc-prim primitive template-haskell ]; testHaskellDepends = [ - base directory doctest filepath hlint parallel + base directory doctest filepath parallel primitive QuickCheck tasty + tasty-hunit tasty-quickcheck ]; description = "Strict GC'd imperative object-oriented programming with cheap pointers"; license = stdenv.lib.licenses.bsd3; @@ -206142,6 +222115,7 @@ self: { description = "Instantiate structural induction schemas for algebraic data types"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "structural-traversal" = callPackage @@ -206155,6 +222129,7 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "structured-cli" = callPackage @@ -206163,8 +222138,8 @@ self: { }: mkDerivation { pname = "structured-cli"; - version = "2.5.0.3"; - sha256 = "14kmsh3n4d6zgpqkv1v4laz2sd52317i840szp9mw3i72f012gj0"; + version = "2.5.1.0"; + sha256 = "023mpmnkjc7z0fyzn5xp43jwnjzd4hhixz56fmyx5j7sal2lrj92"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -206213,6 +222188,7 @@ self: { description = "Structured MongoDB interface"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "structures" = callPackage @@ -206244,6 +222220,7 @@ self: { description = "\"Advanced\" Data Structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stt" = callPackage @@ -206261,6 +222238,7 @@ self: { description = "A monad transformer version of the ST monad"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stunclient" = callPackage @@ -206305,6 +222283,7 @@ self: { description = "A revival of the classic game Stunts (LambdaCube tech demo)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "stutter" = callPackage @@ -206332,7 +222311,6 @@ self: { ]; description = "(Stutter Text|String)-Utterer"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "stylish-cabal" = callPackage @@ -206370,8 +222348,8 @@ self: { }: mkDerivation { pname = "stylish-haskell"; - version = "0.9.2.1"; - sha256 = "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"; + version = "0.9.2.2"; + sha256 = "1zs624xqp6j8vrl6pfv18dm8vz8hvz25grri65ximxhcizgwhnax"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -206391,6 +222369,27 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "stylist" = callPackage + ({ mkDerivation, base, css-syntax, hashable, hspec, network-uri + , QuickCheck, text, unordered-containers + }: + mkDerivation { + pname = "stylist"; + version = "1.0.0.0"; + sha256 = "0lh8x8wqq4rsy4zn025qhs6jr9iaw65xqpbrk233h620prj23525"; + libraryHaskellDepends = [ + base css-syntax hashable network-uri text unordered-containers + ]; + testHaskellDepends = [ + base css-syntax hashable hspec network-uri QuickCheck text + unordered-containers + ]; + description = "Apply CSS styles to a document tree"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "stylized" = callPackage ({ mkDerivation, ansi-terminal, base }: mkDerivation { @@ -206401,6 +222400,7 @@ self: { description = "Ways to output stylized text on ANSI consoles"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "styx" = callPackage @@ -206422,31 +222422,26 @@ self: { }) {}; "suavemente" = callPackage - ({ mkDerivation, base, blaze-markup, bytestring, diagrams-core - , diagrams-lib, diagrams-svg, interpolatedstring-perl6, lens, mtl - , servant, servant-blaze, servant-server, servant-websockets, stm - , streaming, svg-builder, transformers, warp, websockets + ({ mkDerivation, aeson, base, blaze-markup, bytestring, colour + , containers, diagrams-core, diagrams-lib, diagrams-svg + , interpolatedstring-perl6, lens, mtl, servant, servant-blaze + , servant-server, servant-websockets, stm, streaming, svg-builder + , text, transformers, warp, websockets }: mkDerivation { pname = "suavemente"; - version = "0.1.0.0"; - sha256 = "1595jc7lqvdk60p0cc3vjag7lgd90ayfwb16n70i1j9sz3b2qvva"; - isLibrary = true; - isExecutable = true; + version = "0.2.0.0"; + sha256 = "0m5sfa3sx67mx1wsps0vpr4g4vq64rmdml6p930r1jp3b4rd41wa"; libraryHaskellDepends = [ - base blaze-markup bytestring diagrams-core diagrams-lib - diagrams-svg interpolatedstring-perl6 lens mtl servant + aeson base blaze-markup bytestring colour containers diagrams-core + diagrams-lib diagrams-svg interpolatedstring-perl6 lens mtl servant servant-blaze servant-server servant-websockets stm streaming - svg-builder transformers warp websockets - ]; - executableHaskellDepends = [ - base blaze-markup bytestring diagrams-core diagrams-lib - diagrams-svg interpolatedstring-perl6 lens mtl servant - servant-blaze servant-server servant-websockets stm streaming - svg-builder transformers warp websockets + svg-builder text transformers warp websockets ]; description = "An applicative functor that seamlessly talks to HTML inputs"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sub-state" = callPackage @@ -206465,6 +222460,7 @@ self: { description = "Get the total, put a single element"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "subhask" = callPackage @@ -206492,6 +222488,7 @@ self: { description = "Type safe interface for programming in subcategories of Hask"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "subleq-toolchain" = callPackage @@ -206514,6 +222511,7 @@ self: { description = "Toolchain of subleq computer"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "submark" = callPackage @@ -206536,6 +222534,7 @@ self: { description = "Extract a part from CommonMark/Markdown docs"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "subnet" = callPackage @@ -206566,6 +222565,7 @@ self: { description = "Subsample data"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "substring-parser" = callPackage @@ -206584,7 +222584,6 @@ self: { ]; description = "Match / replace substrings with a parser combinators"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "subtitleParser" = callPackage @@ -206622,6 +222621,7 @@ self: { description = "Subword graph implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "subzero" = callPackage @@ -206661,6 +222661,7 @@ self: { description = "An applicative functor to manage successors"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "suffix-array" = callPackage @@ -206682,6 +222683,7 @@ self: { description = "Simple and moderately efficient suffix array implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "suffixarray" = callPackage @@ -206697,6 +222699,7 @@ self: { description = "n log n implementation of suffix array"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "suffixtree" = callPackage @@ -206733,6 +222736,7 @@ self: { description = "Abstract over the constraints on the parameters to type constructors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sum-type-boilerplate" = callPackage @@ -206751,27 +222755,53 @@ self: { ({ mkDerivation, aeson, ansi-terminal, base, base-noprelude , bytestring, directory, filepath, generic-deriving, gitrev , hedgehog, hspec, neat-interpolation, optparse-applicative - , process, relude, text, time, tomland + , process, relude, shellmet, text, time, tomland, tree-diff }: mkDerivation { pname = "summoner"; - version = "1.2.0"; - sha256 = "04shi46j44g81zylmrm807rlinfx6sjpdwvxxyw9rhnpx56b8r34"; + version = "1.3.0.1"; + sha256 = "1m08n2ip9rjx06mcwcv636ncicmpxcmhx82i3p4yc5vylibxr57s"; + revision = "4"; + editedCabalFile = "1vjk95n2wqybigy8p55gs7qkiv5v1lwf8qmri1f9bk29599sh74k"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson ansi-terminal base-noprelude bytestring directory filepath generic-deriving gitrev neat-interpolation optparse-applicative - process relude text time tomland + process relude shellmet text time tomland ]; executableHaskellDepends = [ base ]; testHaskellDepends = [ - base-noprelude filepath hedgehog hspec neat-interpolation relude - tomland + base-noprelude directory filepath hedgehog hspec neat-interpolation + relude tomland tree-diff ]; - description = "Tool for scaffolding completely configured production Haskell projects"; + description = "Tool for scaffolding fully configured batteries-included production-level Haskell projects"; license = stdenv.lib.licenses.mpl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "summoner-tui" = callPackage + ({ mkDerivation, base, base-noprelude, brick, directory, filepath + , microlens, microlens-th, relude, summoner, text, vty + }: + mkDerivation { + pname = "summoner-tui"; + version = "0.1.0"; + sha256 = "0ic9faw55qjljwz8r0nz8jmdw2pcc40nqc0zp07hshqh8qbiswl9"; + revision = "1"; + editedCabalFile = "0rjnrhh62m2jy74dqdiywkk2gqs1dds97h55qxc50qysdiiwmmal"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base-noprelude brick directory filepath microlens microlens-th + relude summoner text vty + ]; + executableHaskellDepends = [ base ]; + description = "Tool for scaffolding fully configured batteries-included production-level Haskell projects using TUI"; + license = stdenv.lib.licenses.mpl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sump" = callPackage @@ -206790,6 +222820,7 @@ self: { description = "A Haskell interface to SUMP-compatible logic analyzers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sundown" = callPackage @@ -206818,6 +222849,7 @@ self: { description = "Test Cabalized package against multiple dependency versions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sunroof-compiler" = callPackage @@ -206836,6 +222868,7 @@ self: { description = "Monadic Javascript Compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sunroof-examples" = callPackage @@ -206858,6 +222891,7 @@ self: { description = "Tests for Sunroof"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sunroof-server" = callPackage @@ -206880,6 +222914,7 @@ self: { description = "Monadic Javascript Compiler - Server Utilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "super-user-spark" = callPackage @@ -206891,8 +222926,8 @@ self: { }: mkDerivation { pname = "super-user-spark"; - version = "0.4.0.1"; - sha256 = "0pxkvc1vjarh4p5rqnai6nlsqxv9as8jvqs2vpywl1525nsfyvy5"; + version = "0.4.0.3"; + sha256 = "0z2alc67p8nvvwaxxrgwhkwfki1iw7ycs3ay8kyfw0wh01d2cmgk"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -206910,6 +222945,7 @@ self: { description = "Configure your dotfile deployment with a DSL"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "superbubbles" = callPackage @@ -206925,6 +222961,7 @@ self: { description = "Find \"superbubbles\", as described in https://arxiv.org/abs/1307.7925"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "superbuffer" = callPackage @@ -206943,6 +222980,7 @@ self: { description = "Efficiently build a bytestring from smaller chunks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "supercollider-ht" = callPackage @@ -206961,6 +222999,7 @@ self: { description = "Haskell SuperCollider utilities"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "supercollider-midi" = callPackage @@ -206984,6 +223023,7 @@ self: { description = "Demonstrate how to control SuperCollider via ALSA-MIDI"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "superconstraints" = callPackage @@ -207001,6 +223041,7 @@ self: { description = "Access an instance's constraints"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "superdoc" = callPackage @@ -207041,6 +223082,7 @@ self: { description = "A simple opinionated event store implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "supermonad" = callPackage @@ -207058,6 +223100,7 @@ self: { description = "Plugin and base library to support supermonads in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "supero" = callPackage @@ -207077,6 +223120,7 @@ self: { description = "A Supercompiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "superrecord" = callPackage @@ -207110,6 +223154,7 @@ self: { description = "Control an internal monad execution for trace generation, backtrakcking, testing and other purposes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "supervisors" = callPackage @@ -207126,6 +223171,8 @@ self: { testHaskellDepends = [ base hspec ]; description = "Monitor groups of threads with non-hierarchical lifetimes"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "supplemented" = callPackage @@ -207145,6 +223192,7 @@ self: { description = "Early termination for monads"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "surjective" = callPackage @@ -207157,6 +223205,7 @@ self: { description = "An output coverage checker"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "suspend" = callPackage @@ -207179,8 +223228,10 @@ self: { }: mkDerivation { pname = "sv"; - version = "1.3"; - sha256 = "19mf3sf3smza4yk21k98wb39mk3jg0nxr93nl924ivsyv514flgx"; + version = "1.3.1"; + sha256 = "0j92jgma41ggfjvd8a1la1wi2vms8ia1y6aqf6l7casavcn5vf2k"; + revision = "2"; + editedCabalFile = "1c0q010bpzdmjlncjn58fvz50l5z2wqp4hjpj0isvdr5iq96pgza"; libraryHaskellDepends = [ attoparsec base bifunctors bytestring contravariant hw-dsv semigroupoids sv-core transformers utf8-string validation @@ -207197,6 +223248,37 @@ self: { description = "Encode and decode separated values (CSV, PSV, ...)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "sv_1_4" = callPackage + ({ mkDerivation, attoparsec, base, bifunctors, bytestring, cassava + , contravariant, criterion, deepseq, hedgehog, hw-dsv, lens, Only + , parsers, semigroupoids, semigroups, sv-core, tasty + , tasty-hedgehog, tasty-hunit, text, transformers, trifecta + , utf8-string, validation, vector + }: + mkDerivation { + pname = "sv"; + version = "1.4"; + sha256 = "02ymnnknfppx59b922y62grkmarwsyy77iv6bmyp2bzm8vbvnvd5"; + libraryHaskellDepends = [ + attoparsec base bifunctors bytestring contravariant hw-dsv + semigroupoids sv-core transformers utf8-string validation + ]; + testHaskellDepends = [ + base bytestring cassava contravariant hedgehog lens Only parsers + semigroupoids semigroups tasty tasty-hedgehog tasty-hunit text + trifecta utf8-string validation vector + ]; + benchmarkHaskellDepends = [ + attoparsec base bytestring criterion deepseq hw-dsv lens text + vector + ]; + description = "Encode and decode separated values (CSV, PSV, ...)"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sv-cassava" = callPackage @@ -207207,8 +223289,8 @@ self: { pname = "sv-cassava"; version = "0.3"; sha256 = "1c4wacp7k5sgr5fy73h9if98d08apmcs6p4p3f3fvpqkm8jmf71b"; - revision = "1"; - editedCabalFile = "01xfdl296jcdh7c4yirzf6z0787z941h6p58dn5xhnsr965sncg1"; + revision = "3"; + editedCabalFile = "13414sn9rllq842bz0lv8qzdy6fxv72jbhmk64krrxq2xmw7wkhb"; libraryHaskellDepends = [ attoparsec base bytestring cassava sv-core utf8-string validation vector @@ -207222,20 +223304,22 @@ self: { "sv-core" = callPackage ({ mkDerivation, attoparsec, base, bifunctors, bytestring - , containers, contravariant, deepseq, lens, mtl, parsec - , profunctors, QuickCheck, readable, semigroupoids, semigroups - , tasty, tasty-quickcheck, text, transformers, trifecta + , containers, contravariant, deepseq, double-conversion, lens, mtl + , parsec, profunctors, QuickCheck, readable, semigroupoids + , semigroups, tasty, tasty-quickcheck, text, transformers, trifecta , utf8-string, validation, vector, void }: mkDerivation { pname = "sv-core"; - version = "0.3.1"; - sha256 = "08j8qin7q04jvrb1gd870cylix7p81f4rws1k31b3azby2mdja6h"; + version = "0.4.1"; + sha256 = "1brjdh22sarg9v0qak8xgzyhpcilwn0czab9mh65l2izp3nzkfn7"; + revision = "2"; + editedCabalFile = "05h0lsj434qv81b2fvnm80wyb7272wcwly3jfk4l1qp5hjyq6917"; libraryHaskellDepends = [ attoparsec base bifunctors bytestring containers contravariant - deepseq lens mtl parsec profunctors readable semigroupoids - semigroups text transformers trifecta utf8-string validation vector - void + deepseq double-conversion lens mtl parsec profunctors readable + semigroupoids semigroups text transformers trifecta utf8-string + validation vector void ]; testHaskellDepends = [ base bytestring profunctors QuickCheck semigroupoids semigroups @@ -207245,7 +223329,7 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "sv-core_0_4" = callPackage + "sv-core_0_5" = callPackage ({ mkDerivation, attoparsec, base, bifunctors, bytestring , containers, contravariant, deepseq, double-conversion, lens, mtl , parsec, profunctors, QuickCheck, readable, semigroupoids @@ -207254,8 +223338,8 @@ self: { }: mkDerivation { pname = "sv-core"; - version = "0.4"; - sha256 = "0m87rffkv5716dh6v00p4gc257fdc81fahjafs02kkf8fbiivmkh"; + version = "0.5"; + sha256 = "1x5gmv2pbn3hx1dhpkigivjkbg6n6xy7lc36wmccsw2qqn9r5qxa"; libraryHaskellDepends = [ attoparsec base bifunctors bytestring containers contravariant deepseq double-conversion lens mtl parsec profunctors readable @@ -207279,14 +223363,15 @@ self: { pname = "sv-svfactor"; version = "0.2"; sha256 = "1fjgryypq6i4r3w9zdb282aq5lqp4577mzzycafklphc0d2ancgb"; - revision = "1"; - editedCabalFile = "0g0bswas1y06k1yg9lgzwm36pyxd05s3pji3nsiqff6bhfph3d37"; + revision = "2"; + editedCabalFile = "1igmg66d7zs8pcia4j7nhr7iivnbanqz34wcpfx967823vc2whpw"; libraryHaskellDepends = [ base bytestring lens profunctors sv-core svfactor validation ]; description = "sv-core + svfactor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "svfactor" = callPackage @@ -207311,6 +223396,7 @@ self: { description = "Syntax-preserving CSV manipulation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "svg-builder" = callPackage @@ -207344,6 +223430,7 @@ self: { description = "DSL for building SVG"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "svg-tree" = callPackage @@ -207353,8 +223440,8 @@ self: { }: mkDerivation { pname = "svg-tree"; - version = "0.6.2.3"; - sha256 = "0snvv2l7fpj7nl1sxnpxz5h2xpskjxxl0l2c7bqkwhcj7571br99"; + version = "0.6.2.4"; + sha256 = "1hhs2w6fmd1m6768p1bfhj6vi4br4ray0g9f1hv8g19pqgip3r2c"; libraryHaskellDepends = [ attoparsec base bytestring containers JuicyPixels lens linear mtl scientific text transformers vector xml @@ -207379,6 +223466,7 @@ self: { description = "Code generation tool for Quartz code from a SVG"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "svgcairo" = callPackage @@ -207396,8 +223484,7 @@ self: { libraryToolDepends = [ gtk2hs-buildtools ]; description = "Binding to the libsvg-cairo library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs.gnome3) librsvg;}; + }) {inherit (pkgs) librsvg;}; "svgutils" = callPackage ({ mkDerivation, base, filepath, xml }: @@ -207412,6 +223499,7 @@ self: { description = "Helper functions for dealing with SVG files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "svm" = callPackage @@ -207431,12 +223519,11 @@ self: { pname = "svm-light-utils"; version = "0.1.4"; sha256 = "01wz59ldv5n0xwl3d1sll11n3yy3wf2qrm67v4cskmrl7rib7177"; - revision = "1"; - editedCabalFile = "1yqvr9i681wv7y4qjqmyg617sjbgcpmkhxkf2r77xh1kv0zagylv"; + revision = "2"; + editedCabalFile = "0mrnfxg1h3mrbx192n8hl7m9i64n8cfrai2yksvhkgp6b8qxqnma"; libraryHaskellDepends = [ attoparsec base bytestring containers ]; description = "Parsers and formatters for the SVMlight input file format"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "svm-simple" = callPackage @@ -207454,6 +223541,7 @@ self: { description = "Medium level, simplified, bindings to libsvm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "svndump" = callPackage @@ -207473,6 +223561,7 @@ self: { description = "Library for reading Subversion dump files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "swagger" = callPackage @@ -207518,6 +223607,7 @@ self: { description = "Auto-generated openapi-petstore API Client"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "swagger-test" = callPackage @@ -207548,6 +223638,7 @@ self: { description = "Testing of Swagger APIs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "swagger2" = callPackage @@ -207561,8 +223652,8 @@ self: { }: mkDerivation { pname = "swagger2"; - version = "2.3.1.1"; - sha256 = "19fslhjqcnk0da1c8sdflnnxjzbbzqb0nbknpgyd45q0psxr6xs7"; + version = "2.4"; + sha256 = "0m08l7nz53h6ix6xgzynnh3cf6l61437da9swdbsz8avx0rq2wci"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ aeson base base-compat-batteries bytestring containers cookie @@ -207580,7 +223671,6 @@ self: { testToolDepends = [ hspec-discover ]; description = "Swagger 2.0 data model"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "swapper" = callPackage @@ -207599,6 +223689,7 @@ self: { description = "Transparently swapping data from in-memory structures to disk"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) tokyocabinet;}; "swearjure" = callPackage @@ -207619,6 +223710,7 @@ self: { description = "Clojure without alphanumerics"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "swf" = callPackage @@ -207631,6 +223723,7 @@ self: { description = "A library for creating Shockwave Flash (SWF) files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "swift-lda" = callPackage @@ -207647,6 +223740,7 @@ self: { description = "Online sampler for Latent Dirichlet Allocation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "swish" = callPackage @@ -207711,8 +223805,8 @@ self: { ({ mkDerivation, base, containers, HUnit, mtl }: mkDerivation { pname = "syb"; - version = "0.7"; - sha256 = "1da2zz7gqm4xbkx5vpd74dayx1svaxyl145fl14mq15lbb77sxdq"; + version = "0.7.1"; + sha256 = "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base containers HUnit mtl ]; description = "Scrap Your Boilerplate"; @@ -207731,6 +223825,7 @@ self: { description = "Higher order versions of the Scrap Your Boilerplate classes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "syb-with-class" = callPackage @@ -207758,6 +223853,7 @@ self: { description = "Scrap Your Boilerplate With Class Text instance"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "syfco" = callPackage @@ -207779,6 +223875,7 @@ self: { description = "Synthesis Format Conversion Tool / Library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sylvia" = callPackage @@ -207805,6 +223902,7 @@ self: { description = "Lambda calculus visualization"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sym" = callPackage @@ -207818,6 +223916,7 @@ self: { description = "Permutations, patterns, and statistics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sym-plot" = callPackage @@ -207830,6 +223929,7 @@ self: { description = "Plot permutations; an addition to the sym package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "symantic" = callPackage @@ -207838,31 +223938,30 @@ self: { }: mkDerivation { pname = "symantic"; - version = "6.3.2.20180208"; - sha256 = "1a6ifwhrn35wfx0lf2gbq203rb882p7hl0yji7rwfrvxrp4ax518"; + version = "6.3.4.20190712"; + sha256 = "0khx7ddr9cdwyqz22xai8vmjn37c3w9gf4mlzil8lqvdf2cwk6wk"; libraryHaskellDepends = [ base containers mono-traversable symantic-document symantic-grammar text transformers ]; description = "Library for Typed Tagless-Final Higher-Order Composable DSL"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "symantic-cli" = callPackage - ({ mkDerivation, base, containers, megaparsec, symantic-document - , text, transformers + ({ mkDerivation, base, bytestring, containers, megaparsec + , symantic-document, text, transformers }: mkDerivation { pname = "symantic-cli"; - version = "0.0.0.20180410"; - sha256 = "0025rgjjz198sh6gb8zzy7283pnb6vza3q3d7x5xl27c77mpivpx"; + version = "2.4.0.20190719"; + sha256 = "0ca3c309wxby99sy3xa96i04q2r7wxcgk4amy8z86xaz1r78a60d"; libraryHaskellDepends = [ - base containers megaparsec symantic-document text transformers + base bytestring containers megaparsec symantic-document text + transformers ]; - description = "Library for Command Line Interface (CLI)"; + description = "Symantics for parsing and documenting a CLI"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "symantic-document" = callPackage @@ -207871,8 +223970,8 @@ self: { }: mkDerivation { pname = "symantic-document"; - version = "0.1.2.20180831"; - sha256 = "1vlxgn9gdd03azqf2csxjiyqsplg68wv3qr6d08zj5dvqskz27by"; + version = "1.5.0.20190711"; + sha256 = "01vza9k4ic6xwgj4jqihcfm5a5q8n6svi1988v851pi40dg8m03s"; libraryHaskellDepends = [ ansi-terminal base text transformers ]; testHaskellDepends = [ base containers tasty tasty-hunit text transformers @@ -207887,15 +223986,142 @@ self: { }: mkDerivation { pname = "symantic-grammar"; - version = "0.3.1.20180831"; - sha256 = "0n2x5sb5gv9lkhfmq9yfjxfk6q19h71xqbskkg7ar8nglz0jhldp"; + version = "0.3.3.20190614"; + sha256 = "1vrf1kmvs7x8lzbnm90kmy114d2yd81fqw6i1j9nys8yq1z40v8a"; libraryHaskellDepends = [ base text ]; testHaskellDepends = [ base megaparsec tasty tasty-hunit text transformers ]; description = "Library for symantic grammars"; license = stdenv.lib.licenses.gpl3; + }) {}; + + "symantic-http" = callPackage + ({ mkDerivation, base, bytestring, http-api-data, http-media + , http-types, network-uri, stm, text, transformers + }: + mkDerivation { + pname = "symantic-http"; + version = "0.1.1.20190410"; + sha256 = "15lqcvz5l3rkmzrsdzbm4sd06gkbfbx2vxilzhxgsy9b1micr5c8"; + libraryHaskellDepends = [ + base bytestring http-api-data http-media http-types network-uri stm + text transformers + ]; + description = "Symantic combinators for deriving clients or a server from an HTTP API"; + license = stdenv.lib.licenses.gpl3; + }) {}; + + "symantic-http-client" = callPackage + ({ mkDerivation, base, base64-bytestring, bytestring, containers + , http-api-data, http-client, http-media, http-types, monad-classes + , network-uri, stm, symantic-http, text, time, transformers, word8 + }: + mkDerivation { + pname = "symantic-http-client"; + version = "0.0.1.20190410"; + sha256 = "0nzah75fbfq696k3r7sgxxykwp924dv6zmxn8ni6s1qra5r989wy"; + libraryHaskellDepends = [ + base base64-bytestring bytestring containers http-api-data + http-client http-media http-types monad-classes network-uri stm + symantic-http text time transformers word8 + ]; + description = "symantic-http applied to the derivation of HTTP clients"; + license = stdenv.lib.licenses.gpl3; + }) {}; + + "symantic-http-demo" = callPackage + ({ mkDerivation, base, base64-bytestring, bytestring, containers + , http-api-data, http-client, http-media, http-types, monad-classes + , network, network-uri, pipes, pipes-bytestring, pipes-safe + , symantic-http, symantic-http-client, symantic-http-pipes + , symantic-http-server, text, time, transformers, wai, wai-extra + , warp + }: + mkDerivation { + pname = "symantic-http-demo"; + version = "0.0.0.0"; + sha256 = "09fkni3zal4bvhf00b57qpf83bk7azcxps4s9nd01zsmnzvhlfs7"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base pipes symantic-http text ]; + executableHaskellDepends = [ + base base64-bytestring bytestring containers http-api-data + http-client http-media http-types monad-classes network network-uri + pipes pipes-bytestring pipes-safe symantic-http + symantic-http-client symantic-http-pipes symantic-http-server text + time transformers wai wai-extra warp + ]; + description = "Demo for symantic-http and its companion libraries"; + license = stdenv.lib.licenses.gpl3; + }) {}; + + "symantic-http-pipes" = callPackage + ({ mkDerivation, base, base64-bytestring, bytestring, containers + , http-api-data, http-media, http-types, lens-family-core + , monad-classes, network-uri, pipes, pipes-bytestring, pipes-group + , pipes-parse, pipes-safe, stm, symantic-http, text, time + , transformers, word8 + }: + mkDerivation { + pname = "symantic-http-pipes"; + version = "0.0.0.20190324"; + sha256 = "0c44vcvcpjlpj2wc58mqaaky68s3cjqa8gimv3nnj634m2avmsll"; + libraryHaskellDepends = [ + base base64-bytestring bytestring containers http-api-data + http-media http-types lens-family-core monad-classes network-uri + pipes pipes-bytestring pipes-group pipes-parse pipes-safe stm + symantic-http text time transformers word8 + ]; + description = "Streaming support through pipes for symantic-http"; + license = stdenv.lib.licenses.gpl3; + }) {}; + + "symantic-http-server" = callPackage + ({ mkDerivation, base, base64-bytestring, bytestring, containers + , http-api-data, http-media, http-types, monad-classes, network-uri + , stm, symantic-http, text, time, transformers, wai, warp, word8 + }: + mkDerivation { + pname = "symantic-http-server"; + version = "0.1.1.20190410"; + sha256 = "00573566hxngsly5gknrn7vjvpspia6bz2f8zjzz591dw2169i7i"; + libraryHaskellDepends = [ + base base64-bytestring bytestring containers http-api-data + http-media http-types monad-classes network-uri stm symantic-http + text time transformers wai warp word8 + ]; + description = "symantic-http applied to the derivation of HTTP servers"; + license = stdenv.lib.licenses.gpl3; + }) {}; + + "symantic-http-test" = callPackage + ({ mkDerivation, base, base64-bytestring, bytestring, containers + , deepseq, filepath, hashable, hspec, hspec-wai, http-api-data + , http-client, http-media, http-types, monad-classes, network + , network-uri, pipes, pipes-bytestring, pipes-safe, symantic-http + , symantic-http-client, symantic-http-pipes, symantic-http-server + , tasty, tasty-hspec, tasty-hunit, text, time, transformers, wai + , wai-extra, warp + }: + mkDerivation { + pname = "symantic-http-test"; + version = "0.0.1.20190410"; + sha256 = "1nqvg801wbh2w1minb4hrfjasia823lqdyyh8dr3287wvdkwb74v"; + isLibrary = false; + isExecutable = false; + testHaskellDepends = [ + base base64-bytestring bytestring containers deepseq filepath + hashable hspec hspec-wai http-api-data http-client http-media + http-types monad-classes network network-uri pipes pipes-bytestring + pipes-safe symantic-http symantic-http-client symantic-http-pipes + symantic-http-server tasty tasty-hspec tasty-hunit text time + transformers wai wai-extra warp + ]; + description = "Test symantic-http and its companion libraries"; + license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "symantic-lib" = callPackage @@ -207905,8 +224131,8 @@ self: { }: mkDerivation { pname = "symantic-lib"; - version = "0.0.4.20180831"; - sha256 = "1agqlz7drckjm8a2swvqiryy7y6kdahq8d24rwkbzn3nw1bnyvk1"; + version = "0.0.5.20190614"; + sha256 = "02rzm43h71ivdx8vwbsa8ij5vv7jkf2y78f568lvkwgr1av84hz9"; libraryHaskellDepends = [ base containers mono-traversable symantic symantic-grammar text transformers @@ -207918,7 +224144,31 @@ self: { ]; description = "Symantics for common types"; license = stdenv.lib.licenses.gpl3; + }) {}; + + "symantic-xml" = callPackage + ({ mkDerivation, base, bytestring, containers, data-default-class + , deepseq, filepath, hashable, hxt-charproperties, megaparsec, safe + , tasty, tasty-golden, text, transformers, treeseq + , unordered-containers + }: + mkDerivation { + pname = "symantic-xml"; + version = "1.0.0.20190223"; + sha256 = "0mqx0ysp9c4zzljjgl0w68k5r8qgv2h35cfq0mqvijcjq5dgiflp"; + libraryHaskellDepends = [ + base bytestring containers data-default-class filepath hashable + hxt-charproperties megaparsec safe text transformers treeseq + unordered-containers + ]; + testHaskellDepends = [ + base bytestring containers data-default-class deepseq filepath + hashable megaparsec tasty tasty-golden text transformers treeseq + ]; + description = "Library for reading, validating and writing a subset of the XML format"; + license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "symbol" = callPackage @@ -207934,6 +224184,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "symbolic-link" = callPackage + ({ mkDerivation, base, directory, tasty, tasty-hunit, unix }: + mkDerivation { + pname = "symbolic-link"; + version = "0.1.1.1"; + sha256 = "1g5w67kviqzz5q9xpln6nh8g86yh1v2wmgmgjmn5ai1qj4x80rf8"; + libraryHaskellDepends = [ base directory unix ]; + testHaskellDepends = [ base tasty tasty-hunit unix ]; + description = "Symlink functions"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "symbols" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -207959,7 +224221,9 @@ self: { description = "SymEngine symbolic mathematics engine for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs) gmp; inherit (pkgs) gmpxx; symengine = null;}; + broken = true; + }) {inherit (pkgs) gmp; inherit (pkgs) gmpxx; + inherit (pkgs) symengine;}; "symengine-hs" = callPackage ({ mkDerivation, base, gmp, gmpxx, symengine }: @@ -207977,7 +224241,9 @@ self: { description = "SymEngine symbolic mathematics engine for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs) gmp; inherit (pkgs) gmpxx; symengine = null;}; + broken = true; + }) {inherit (pkgs) gmp; inherit (pkgs) gmpxx; + inherit (pkgs) symengine;}; "symmetric-properties" = callPackage ({ mkDerivation, base, containers, hspec, HUnit }: @@ -207989,7 +224255,6 @@ self: { testHaskellDepends = [ base hspec HUnit ]; description = "Monoids for sameness and uniqueness"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "symon" = callPackage @@ -208017,6 +224282,7 @@ self: { description = "A fast implementation of synchronous channels with a CML-like API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sync-mht" = callPackage @@ -208055,6 +224321,7 @@ self: { description = "Fast incremental file transfer using Merkle-Hash-Trees"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "synchronous-channels" = callPackage @@ -208094,6 +224361,7 @@ self: { description = "Haskell bindings for the Syncthing REST API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "synt" = callPackage @@ -208124,25 +224392,26 @@ self: { "syntactic" = callPackage ({ mkDerivation, base, constraints, containers, criterion , data-hash, deepseq, mtl, QuickCheck, syb, tagged, tasty - , tasty-golden, tasty-quickcheck, tasty-th, template-haskell - , tree-view, utf8-string + , tasty-golden, tasty-hunit, tasty-quickcheck, tasty-th + , template-haskell, tree-view, utf8-string }: mkDerivation { pname = "syntactic"; - version = "3.7.1"; - sha256 = "06k2n84dn9rp59rcv29hqkrm5mri6hyhh0hdbh7qfqxa7m06sl6w"; + version = "3.8.1"; + sha256 = "0560h3k360316q05wwylpbcvadp9dxzywbp206xm2wslpl1d9m8v"; libraryHaskellDepends = [ base constraints containers data-hash deepseq mtl syb template-haskell tree-view ]; testHaskellDepends = [ base containers mtl QuickCheck tagged tasty tasty-golden - tasty-quickcheck tasty-th utf8-string + tasty-hunit tasty-quickcheck tasty-th utf8-string ]; benchmarkHaskellDepends = [ base criterion deepseq ]; description = "Generic representation and manipulation of abstract syntax"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "syntactical" = callPackage @@ -208172,6 +224441,7 @@ self: { description = "Reversible parsing and pretty-printing"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "syntax-attoparsec" = callPackage @@ -208188,6 +224458,7 @@ self: { description = "Syntax instances for Attoparsec"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "syntax-example" = callPackage @@ -208207,6 +224478,7 @@ self: { description = "Example application using syntax, a library for abstract syntax descriptions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "syntax-example-json" = callPackage @@ -208226,6 +224498,7 @@ self: { description = "Example JSON parser/pretty-printer"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "syntax-pretty" = callPackage @@ -208241,6 +224514,7 @@ self: { description = "Syntax instance for pretty, the pretty printing library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "syntax-printer" = callPackage @@ -208258,6 +224532,7 @@ self: { description = "Text and ByteString printers for 'syntax'"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "syntax-trees" = callPackage @@ -208274,6 +224549,7 @@ self: { description = "Convert between different Haskell syntax trees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "syntax-trees-fork-bairyn" = callPackage @@ -208290,6 +224566,7 @@ self: { description = "Convert between different Haskell syntax trees. Bairyn's fork."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "syntaxnet-haskell" = callPackage @@ -208309,6 +224586,7 @@ self: { description = "Working with Google's SyntaxNet output files - CoNLL, Tree"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "synthesizer" = callPackage @@ -208331,6 +224609,7 @@ self: { description = "Audio signal processing coded in Haskell"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "synthesizer-alsa" = callPackage @@ -208446,21 +224725,21 @@ self: { "synthesizer-llvm" = callPackage ({ mkDerivation, base, containers, event-list, llvm-extra, llvm-tf , midi, non-empty, non-negative, numeric-prelude, pathtype - , QuickCheck, random, sox, storable-record, storable-tuple - , storablevector, synthesizer-core, synthesizer-midi, tfp - , transformers, unsafe, utility-ht, vault + , QuickCheck, random, semigroups, sox, storable-record + , storable-tuple, storablevector, synthesizer-core + , synthesizer-midi, tfp, transformers, unsafe, utility-ht, vault }: mkDerivation { pname = "synthesizer-llvm"; - version = "0.8.1.2"; - sha256 = "1rklmaibicc4fwcz22cw6vp5qm74b5vn5ymflwk4gi3knsn7mzi9"; + version = "0.8.2"; + sha256 = "0vf0p1ajs7k327cc1dwm6ja2qyby865g1bqc6mzrjn826dv2vric"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base containers event-list llvm-extra llvm-tf midi non-empty - non-negative numeric-prelude pathtype random sox storable-record - storable-tuple storablevector synthesizer-core synthesizer-midi tfp - transformers unsafe utility-ht vault + non-negative numeric-prelude pathtype random semigroups sox + storable-record storable-tuple storablevector synthesizer-core + synthesizer-midi tfp transformers unsafe utility-ht vault ]; testHaskellDepends = [ base llvm-extra llvm-tf numeric-prelude QuickCheck random @@ -208469,6 +224748,7 @@ self: { description = "Efficient signal processing using runtime compilation"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "synthesizer-midi" = callPackage @@ -208529,6 +224809,7 @@ self: { description = "A replacement for System.Exit and System.Process."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "sysinfo" = callPackage @@ -208569,6 +224850,7 @@ self: { description = "Abstract data type for canonical paths with some utilities"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "system-command" = callPackage @@ -208588,6 +224870,7 @@ self: { description = "A replacement for System.Exit and System.Process"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "system-error" = callPackage @@ -208614,6 +224897,7 @@ self: { description = "A bunch of system utilities used by other projects"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "system-fileio" = callPackage @@ -208709,6 +224993,7 @@ self: { description = "Lifted versions of System functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "system-linux-proc" = callPackage @@ -208726,6 +225011,7 @@ self: { description = "A library for accessing the /proc filesystem in Linux"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "system-locale" = callPackage @@ -208780,6 +225066,7 @@ self: { description = "Random number generation for extensible effects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "system-test" = callPackage @@ -208858,8 +225145,8 @@ self: { ({ mkDerivation, base, bytestring, network, transformers, unix }: mkDerivation { pname = "systemd"; - version = "1.1.2"; - sha256 = "11wjsfnnsfgrffsxy9s5yqlzb7zxlrjg92mhanq66jvbnqh1jijr"; + version = "1.2.0"; + sha256 = "04jzgixwy267bx75byi1pavfgic2h3znn42psb70i6l6xvwn875g"; libraryHaskellDepends = [ base bytestring network transformers unix ]; @@ -208868,6 +225155,21 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "systemd_2_1_0" = callPackage + ({ mkDerivation, base, bytestring, network, transformers, unix }: + mkDerivation { + pname = "systemd"; + version = "2.1.0"; + sha256 = "1m6z5f3zaxxn9jcbd02b16rzgbifzwlwvpbw8v16qh5q8sy074dc"; + libraryHaskellDepends = [ + base bytestring network transformers unix + ]; + testHaskellDepends = [ base network unix ]; + description = "Systemd facilities (Socket activation, Notify)"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "systemstats" = callPackage ({ mkDerivation, base, micrologger, optparse-applicative, statgrab , text, text-format, transformers @@ -208885,6 +225187,7 @@ self: { description = "An application that regularly logs system stats for later analysis"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "syz" = callPackage @@ -208914,6 +225217,7 @@ self: { description = "Matchers and grammars using tree regular expressions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "t3-client" = callPackage @@ -208926,6 +225230,7 @@ self: { description = "tic-tac-toe Rexports for client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "t3-game" = callPackage @@ -208962,6 +225267,7 @@ self: { description = "tic-tac-toe server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ta" = callPackage @@ -208978,6 +225284,7 @@ self: { description = "Transito Abierto: convenience library when using Takusen and Oracle"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tabl" = callPackage @@ -209008,6 +225315,7 @@ self: { description = "Simple tool to generate tables from DSV input"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "table-layout" = callPackage @@ -209016,8 +225324,8 @@ self: { }: mkDerivation { pname = "table-layout"; - version = "0.8.0.3"; - sha256 = "03q3icqgxiwbyl9bhqzhdwsdirr9r40k20k1j8z1barg2309r2aa"; + version = "0.8.0.4"; + sha256 = "160ns7fd3xivlfirir7lk0ghv1f63b6cyfvnk8p2cn3jjfdp9xb3"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -209033,6 +225341,7 @@ self: { description = "Layout text as grid or table"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "table-tennis" = callPackage @@ -209045,6 +225354,7 @@ self: { description = "A table tennis game tracking engine"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tableaux" = callPackage @@ -209063,6 +225373,7 @@ self: { description = "An interactive theorem prover based on semantic tableaux"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tables" = callPackage @@ -209087,6 +225398,7 @@ self: { description = "In-memory storage with multiple keys using lenses and traversals"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tablestorage" = callPackage @@ -209108,6 +225420,7 @@ self: { description = "Azure Table Storage REST API Wrapper"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tablize" = callPackage @@ -209145,6 +225458,7 @@ self: { description = "View the output of shell commands in a table"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tabs" = callPackage @@ -209160,6 +225474,7 @@ self: { description = "Indents source files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tabular" = callPackage @@ -209174,45 +225489,48 @@ self: { }) {}; "taffybar" = callPackage - ({ mkDerivation, base, bytestring, ConfigFile, containers, dbus - , dbus-hslogger, directory, dyre, either, enclosed-exceptions - , filepath, gi-cairo, gi-cairo-connector, gi-cairo-render, gi-gdk - , gi-gdkpixbuf, gi-gdkx11, gi-glib, gi-gtk, gi-gtk-hs, gi-pango - , gtk-sni-tray, gtk-strut, gtk3, haskell-gi, haskell-gi-base - , hslogger, HStringTemplate, http-client, http-client-tls - , http-types, multimap, network, network-uri, old-locale - , optparse-applicative, parsec, process, rate-limit, regex-compat - , safe, scotty, split, status-notifier-item, stm, template-haskell - , text, time, time-locale-compat, time-units, transformers - , transformers-base, tuple, unix, utf8-string, X11, xdg-basedir - , xml, xml-helpers, xmonad + ({ mkDerivation, ansi-terminal, base, broadcast-chan, bytestring + , ConfigFile, containers, dbus, dbus-hslogger, directory, dyre + , either, enclosed-exceptions, filepath, gi-cairo + , gi-cairo-connector, gi-cairo-render, gi-gdk, gi-gdkpixbuf + , gi-gdkx11, gi-glib, gi-gtk, gi-gtk-hs, gi-pango, gtk-sni-tray + , gtk-strut, gtk3, haskell-gi, haskell-gi-base, hslogger + , HStringTemplate, http-client, http-client-tls, http-types + , multimap, network, network-uri, old-locale, optparse-applicative + , parsec, process, rate-limit, regex-compat, safe, scotty, split + , status-notifier-item, stm, template-haskell, text, time + , time-locale-compat, time-units, transformers, transformers-base + , tuple, unix, utf8-string, X11, xdg-basedir, xml, xml-helpers + , xmonad }: mkDerivation { pname = "taffybar"; - version = "3.1.2"; - sha256 = "11k34kcxh2v8k7pr2nm1kib097n4l3klza6q8w9qp2dm31iww8y1"; + version = "3.2.1"; + sha256 = "1bha6b8p46pr6hw9iawbffdg8lf6cmv1ryw96r2qn1jfikl6h39v"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - base bytestring ConfigFile containers dbus dbus-hslogger directory - dyre either enclosed-exceptions filepath gi-cairo - gi-cairo-connector gi-cairo-render gi-gdk gi-gdkpixbuf gi-gdkx11 - gi-glib gi-gtk gi-gtk-hs gi-pango gtk-sni-tray gtk-strut haskell-gi - haskell-gi-base hslogger HStringTemplate http-client - http-client-tls http-types multimap network network-uri old-locale - parsec process rate-limit regex-compat safe scotty split - status-notifier-item stm template-haskell text time - time-locale-compat time-units transformers transformers-base tuple - unix utf8-string X11 xdg-basedir xml xml-helpers xmonad + ansi-terminal base broadcast-chan bytestring ConfigFile containers + dbus dbus-hslogger directory dyre either enclosed-exceptions + filepath gi-cairo gi-cairo-connector gi-cairo-render gi-gdk + gi-gdkpixbuf gi-gdkx11 gi-glib gi-gtk gi-gtk-hs gi-pango + gtk-sni-tray gtk-strut haskell-gi haskell-gi-base hslogger + HStringTemplate http-client http-client-tls http-types multimap + network network-uri old-locale parsec process rate-limit + regex-compat safe scotty split status-notifier-item stm + template-haskell text time time-locale-compat time-units + transformers transformers-base tuple unix utf8-string X11 + xdg-basedir xml xml-helpers xmonad ]; libraryPkgconfigDepends = [ gtk3 ]; - executableHaskellDepends = [ base hslogger optparse-applicative ]; + executableHaskellDepends = [ + base directory hslogger optparse-applicative + ]; executablePkgconfigDepends = [ gtk3 ]; description = "A desktop bar similar to xmobar, but with more GUI"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {gtk3 = pkgs.gnome3.gtk;}; + }) {inherit (pkgs) gtk3;}; "tag-bits" = callPackage ({ mkDerivation, base, ghc-prim }: @@ -209224,6 +225542,7 @@ self: { description = "Provides access to the dynamic pointer tagging bits used by GHC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tag-stream" = callPackage @@ -209240,6 +225559,7 @@ self: { description = "streamlined html tag parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tagchup" = callPackage @@ -209273,6 +225593,8 @@ self: { pname = "tagged"; version = "0.8.6"; sha256 = "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"; + revision = "1"; + editedCabalFile = "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh"; libraryHaskellDepends = [ base deepseq template-haskell transformers ]; @@ -209305,14 +225627,15 @@ self: { description = "Reflect exceptions using phantom types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tagged-identity" = callPackage ({ mkDerivation, base, mtl, transformers }: mkDerivation { pname = "tagged-identity"; - version = "0.1.2"; - sha256 = "0402snxl1cpi7yq03aqkp036hjcrrqiy0if3c3bz6ljls7yxfvci"; + version = "0.1.3"; + sha256 = "1n5jafvcck6mq14fb1wrgclkrkxz4vd1x09y028awz66makn5v1c"; libraryHaskellDepends = [ base mtl transformers ]; description = "Trivial monad transformer that allows identical monad stacks have different types"; license = stdenv.lib.licenses.bsd3; @@ -209336,6 +225659,7 @@ self: { description = "Lists tagged with a type-level natural number representing their length"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tagged-th" = callPackage @@ -209350,6 +225674,7 @@ self: { description = "QuasiQuoter and Template Haskell splices for creating proxies at higher-kinds"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tagged-timers" = callPackage @@ -209364,6 +225689,7 @@ self: { description = "Simple wrappers for timing IO actions (single-threaded)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tagged-transformer" = callPackage @@ -209467,6 +225793,7 @@ self: { description = "An FFI layer over TagLib's C bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) taglib;}; "tagset-positional" = callPackage @@ -209501,8 +225828,8 @@ self: { }: mkDerivation { pname = "tagsoup"; - version = "0.14.7"; - sha256 = "09gcy5fd5nsk1b7zdrf7yb329fyr8hq5apd6w3cyh3nxd60z504r"; + version = "0.14.8"; + sha256 = "1m9sx6gr9y9yxvkmcap8xsks8cnhznvma1mrfl39zljkv005azms"; libraryHaskellDepends = [ base bytestring containers text ]; testHaskellDepends = [ base bytestring deepseq directory process QuickCheck time @@ -209533,6 +225860,7 @@ self: { description = "alternative parser for the tagsoup package"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tagsoup-megaparsec" = callPackage @@ -209550,6 +225878,26 @@ self: { description = "A Tag token parser and Tag specific parsing combinators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tagsoup-navigate" = callPackage + ({ mkDerivation, base, deriving-compat, lens, mmorph, mtl + , semigroupoids, semigroups, tagsoup, tagsoup-selection + , transformers + }: + mkDerivation { + pname = "tagsoup-navigate"; + version = "0.1.0.2"; + sha256 = "16n0s9vpwrnbknm9yfsh3qv2j3k1h579fwfqjbr1kzjn40729348"; + libraryHaskellDepends = [ + base deriving-compat lens mmorph mtl semigroupoids semigroups + tagsoup tagsoup-selection transformers + ]; + description = "Tagsoup Navigate"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tagsoup-parsec" = callPackage @@ -209562,6 +225910,7 @@ self: { description = "Tokenizes Tag, so [ Tag ] can be used as parser input"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tagsoup-selection" = callPackage @@ -209574,6 +225923,7 @@ self: { description = "Selecting subtrees from TagSoup's TagTrees using CSS selectors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tagstream-conduit" = callPackage @@ -209604,12 +225954,13 @@ self: { pname = "tai"; version = "0"; sha256 = "1kp7m9mhawi2fbdsir4kg9z6hbmlw4kmp3kjvlk4qkhvckgl3pxw"; + revision = "1"; + editedCabalFile = "0m95bx120pjigxncbdb28y3cv4d6x05vgpjgny86vk0lkslk130y"; libraryHaskellDepends = [ base clock lens mtl parsers time trifecta wreq ]; description = "Support library to enable TAI usage on systems with time kept in UTC"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "tai64" = callPackage @@ -209629,6 +225980,7 @@ self: { description = "Tai64 Labels for Haskell"; license = stdenv.lib.licenses.mpl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tailfile-hinotify" = callPackage @@ -209702,6 +226054,7 @@ self: { description = "create slide for presentation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "takusen-oracle" = callPackage @@ -209717,6 +226070,7 @@ self: { description = "Database library with left-fold interface for Oracle"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {clntsh = null;}; "tal" = callPackage @@ -209733,6 +226087,7 @@ self: { description = "An implementation of Typed Assembly Language (Morrisett, Walker, Crary, Glew)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tamarin-prover" = callPackage @@ -209763,6 +226118,7 @@ self: { description = "The Tamarin prover for security protocol analysis"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tamarin-prover-term" = callPackage @@ -209782,6 +226138,7 @@ self: { description = "Term manipulation library for the tamarin prover"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tamarin-prover-theory" = callPackage @@ -209804,6 +226161,7 @@ self: { description = "Term manipulation library for the tamarin prover"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tamarin-prover-utils" = callPackage @@ -209822,6 +226180,7 @@ self: { description = "Utility library for the tamarin prover"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tamper" = callPackage @@ -209834,6 +226193,7 @@ self: { description = "Blaze-style HTML templates as a Monad Transformer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tao" = callPackage @@ -209917,6 +226277,31 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "tar_0_5_1_1" = callPackage + ({ mkDerivation, array, base, bytestring, bytestring-handle + , containers, criterion, deepseq, directory, filepath, QuickCheck + , tasty, tasty-quickcheck, time + }: + mkDerivation { + pname = "tar"; + version = "0.5.1.1"; + sha256 = "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"; + libraryHaskellDepends = [ + array base bytestring containers deepseq directory filepath time + ]; + testHaskellDepends = [ + array base bytestring bytestring-handle containers deepseq + directory filepath QuickCheck tasty tasty-quickcheck time + ]; + benchmarkHaskellDepends = [ + array base bytestring containers criterion deepseq directory + filepath time + ]; + description = "Reading, writing and manipulating \".tar\" archive files."; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "tar-conduit" = callPackage ({ mkDerivation, base, bytestring, conduit, conduit-combinators , conduit-extra, containers, criterion, deepseq, directory @@ -209992,6 +226377,7 @@ self: { description = "Generate test-suites from refinement types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) z3;}; "tart" = callPackage @@ -210003,6 +226389,8 @@ self: { pname = "tart"; version = "0.1.2"; sha256 = "1ik86xbai9513gr9k60m55xf5pj5bdw3wbjc0gd260j9k9j4p73k"; + revision = "1"; + editedCabalFile = "04xkrc0xfbx2kk6f8b41zf611s4k848ahczbbs85pd9lqqpkbhzj"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -210014,6 +226402,8 @@ self: { ]; description = "Terminal Art"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "task" = callPackage @@ -210034,6 +226424,7 @@ self: { description = "A command line tool for keeping track of tasks you worked on"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "task-distribution" = callPackage @@ -210071,34 +226462,38 @@ self: { description = "Distributed processing of changing tasks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "taskell" = callPackage - ({ mkDerivation, aeson, base, brick, bytestring, classy-prelude - , config-ini, containers, directory, file-embed, fold-debounce - , http-client, http-conduit, http-types, lens, mtl, tasty - , tasty-discover, tasty-expected-failure, tasty-hunit - , template-haskell, text, time, vty + ({ mkDerivation, aeson, attoparsec, base, brick, bytestring + , classy-prelude, config-ini, containers, directory, file-embed + , fold-debounce, http-client, http-conduit, http-types, lens, mtl + , raw-strings-qq, tasty, tasty-discover, tasty-expected-failure + , tasty-hunit, template-haskell, text, time, vty }: mkDerivation { pname = "taskell"; - version = "1.3.5.0"; - sha256 = "13ln9djap9kzm0s82r01qrygsg7w5pm6wvy25i7b6lakqy4az0x3"; + version = "1.5.0.0"; + sha256 = "0v66297i3d36r0k2jpp1cl3g3wj83k3s2dq5n50cm7zrrg0mc7sq"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base brick bytestring classy-prelude config-ini containers - directory file-embed fold-debounce http-client http-conduit - http-types lens mtl template-haskell text time vty + aeson attoparsec base brick bytestring classy-prelude config-ini + containers directory file-embed fold-debounce http-client + http-conduit http-types lens mtl template-haskell text time vty ]; executableHaskellDepends = [ base classy-prelude ]; testHaskellDepends = [ - aeson base classy-prelude containers file-embed lens tasty - tasty-discover tasty-expected-failure tasty-hunit text time + aeson base classy-prelude containers file-embed lens raw-strings-qq + tasty tasty-discover tasty-expected-failure tasty-hunit text time + vty ]; testToolDepends = [ tasty-discover ]; description = "A command-line kanban board/task manager"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "taskpool" = callPackage @@ -210126,8 +226521,8 @@ self: { }: mkDerivation { pname = "tasty"; - version = "1.2"; - sha256 = "05w3bl5kah238pds818sxp9x58rp1nszbiicb1l21hf9k83mw66n"; + version = "1.2.3"; + sha256 = "0qpn0avpw4w1qq5r2gwh2piipj0llqq6ylagr3xnqiraq6mhg8cc"; libraryHaskellDepends = [ ansi-terminal async base clock containers mtl optparse-applicative stm tagged unbounded-delays unix wcwidth @@ -210136,24 +226531,6 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "tasty_1_2_1" = callPackage - ({ mkDerivation, ansi-terminal, async, base, clock, containers, mtl - , optparse-applicative, stm, tagged, unbounded-delays, unix - , wcwidth - }: - mkDerivation { - pname = "tasty"; - version = "1.2.1"; - sha256 = "0yw8bb92x723md31nisd75mdbfsq9can1h5r4gchdjvwafxy98ia"; - libraryHaskellDepends = [ - ansi-terminal async base clock containers mtl optparse-applicative - stm tagged unbounded-delays unix wcwidth - ]; - description = "Modern and extensible testing framework"; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "tasty-ant-xml" = callPackage ({ mkDerivation, base, containers, directory, filepath , generic-deriving, ghc-prim, mtl, stm, tagged, tasty, transformers @@ -210161,8 +226538,8 @@ self: { }: mkDerivation { pname = "tasty-ant-xml"; - version = "1.1.5"; - sha256 = "1px562a9c3vn0qxy8zs8mkp73nfqca17hdwhv5p7qgawpjafxk32"; + version = "1.1.6"; + sha256 = "13qqpl1prr9dda87dp45mqybay24n8rhxxgvpc9j34kh72g8j5qw"; libraryHaskellDepends = [ base containers directory filepath generic-deriving ghc-prim mtl stm tagged tasty transformers xml @@ -210190,31 +226567,20 @@ self: { description = "Auto discovery for Tasty with support for ingredients and test tree generation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tasty-dejafu" = callPackage ({ mkDerivation, base, dejafu, random, tagged, tasty }: mkDerivation { pname = "tasty-dejafu"; - version = "1.2.1.0"; - sha256 = "0a0iqc9vnrj4a44h77larcprydipwxy9qkh3zb6zk9mpn9fas498"; + version = "2.0.0.1"; + sha256 = "19cgzr1gcy1khvw2a6bfd620zmrc4szkdwyf3rfyacxgbgqy1b1z"; libraryHaskellDepends = [ base dejafu random tagged tasty ]; description = "Deja Fu support for the Tasty test framework"; license = stdenv.lib.licenses.mit; }) {}; - "tasty-dejafu_2_0_0_0" = callPackage - ({ mkDerivation, base, dejafu, random, tagged, tasty }: - mkDerivation { - pname = "tasty-dejafu"; - version = "2.0.0.0"; - sha256 = "1jy1rh26xr64kwvywcfmb55x088hbrg8dhcixy9lhw76xrzjpkia"; - libraryHaskellDepends = [ base dejafu random tagged tasty ]; - description = "Deja Fu support for the Tasty test framework"; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "tasty-discover" = callPackage ({ mkDerivation, base, containers, directory, filepath, Glob , hedgehog, tasty, tasty-hedgehog, tasty-hspec, tasty-hunit @@ -210269,6 +226635,7 @@ self: { description = "Adds the ability to fail a tasty test suite on first test failure"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tasty-golden" = callPackage @@ -210308,6 +226675,7 @@ self: { description = "Tasty Tests for groundhog converters"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tasty-hedgehog" = callPackage @@ -210316,10 +226684,8 @@ self: { }: mkDerivation { pname = "tasty-hedgehog"; - version = "0.2.0.0"; - sha256 = "10m1akbiblnjq9ljk469725k30b254d36d267rk51z2f171py42s"; - revision = "6"; - editedCabalFile = "0d7s1474pvnyad6ilr5rvpama7s468ya9ns4ksbl0827z9vvga43"; + version = "1.0.0.1"; + sha256 = "1mbg5q0c0xfrk4npfj60pi693igb7r5l78x6xf9fk2jglw0nmxhz"; libraryHaskellDepends = [ base hedgehog tagged tasty ]; testHaskellDepends = [ base hedgehog tasty tasty-expected-failure @@ -210337,8 +226703,8 @@ self: { pname = "tasty-hedgehog-coverage"; version = "0.1.0.0"; sha256 = "1d2hnhkpk71k0xjw63jsn6fa4ih01xqn4dgdbflp6yrs0zw6p95c"; - revision = "1"; - editedCabalFile = "1p3d9w24q39fnljv9m5a8anpv3j3cvazbca4d3hqrjx5w06ik42f"; + revision = "2"; + editedCabalFile = "10fzklan91gyd3bs5qgyv83v7xflxdfcjlvqgcv15bzwplzngclx"; libraryHaskellDepends = [ base containers hedgehog mtl tagged tasty tasty-hedgehog text transformers wl-pprint-annotated @@ -210349,6 +226715,7 @@ self: { description = "Coverage tracking for Hedgehog Property-Based Testing via Tasty"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tasty-hspec" = callPackage @@ -210359,8 +226726,8 @@ self: { pname = "tasty-hspec"; version = "1.1.5.1"; sha256 = "0i9kdzjpk750sa078jj3iyhp72k0177zk7vxl131r6dkyz09x27y"; - revision = "2"; - editedCabalFile = "1xrb7gyidbgbd1c94c1wa5dazsllp23xi4w7flsws09r267q8qpc"; + revision = "3"; + editedCabalFile = "1wgz3z5bnq5qml8d0i18gvz30dmmax3686lmqz3vf4hxd3vqfkpj"; libraryHaskellDepends = [ base hspec hspec-core QuickCheck tasty tasty-quickcheck tasty-smallcheck @@ -210391,8 +226758,8 @@ self: { ({ mkDerivation, base, call-stack, tasty }: mkDerivation { pname = "tasty-hunit"; - version = "0.10.0.1"; - sha256 = "0j3hgga6c3s8h5snzivb8a75h96207ia2rlbxzj07xbf4zpkp44g"; + version = "0.10.0.2"; + sha256 = "1xvf5xs0r8xqkcg354klz4wyzwyzvinalyl6f4fnxwqmzrgch8s8"; libraryHaskellDepends = [ base call-stack tasty ]; description = "HUnit support for the Tasty test framework"; license = stdenv.lib.licenses.mit; @@ -210438,6 +226805,7 @@ self: { description = "automated integration of QuickCheck properties into tasty suites"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tasty-jenkins-xml" = callPackage @@ -210458,6 +226826,7 @@ self: { description = "Render tasty output to both console and XML for Jenkins"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tasty-kat" = callPackage @@ -210492,6 +226861,7 @@ self: { description = "Test common laws"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tasty-leancheck" = callPackage @@ -210521,6 +226891,25 @@ self: { description = "Tasty TestTrees for Lens validation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tasty-lua" = callPackage + ({ mkDerivation, base, bytestring, directory, file-embed, filepath + , hslua, tasty, tasty-hunit, text + }: + mkDerivation { + pname = "tasty-lua"; + version = "0.2.0.1"; + sha256 = "0xlj36rrhkx312h7smx6ay20rhlhxvw2ma2ckdnzv1pvmdn6p5qx"; + libraryHaskellDepends = [ + base bytestring file-embed hslua tasty text + ]; + testHaskellDepends = [ + base directory filepath hslua tasty tasty-hunit + ]; + description = "Write tests in Lua, integrate into tasty"; + license = stdenv.lib.licenses.mit; }) {}; "tasty-program" = callPackage @@ -210543,10 +226932,10 @@ self: { }: mkDerivation { pname = "tasty-quickcheck"; - version = "0.10"; - sha256 = "0vr6szbbz3s5461i0zr8zpq347zfvidfzv5gf3xwxhm0yk731z8h"; + version = "0.10.1"; + sha256 = "0k4vvd5vmrncv1s6gdf03l4xijwlk428sb9jfx8n1zaz02971msh"; revision = "1"; - editedCabalFile = "1ndkkywcqgb2wj339vgckjv5915da5kd4ixlkaww9fsba3qsrnwx"; + editedCabalFile = "1ms8ph2vp8x1icqiw468zlpsj4pii7xjm6g3k6ikkcy7cx3vnv4s"; libraryHaskellDepends = [ base optparse-applicative QuickCheck random tagged tasty ]; @@ -210594,8 +226983,8 @@ self: { }: mkDerivation { pname = "tasty-silver"; - version = "3.1.12"; - sha256 = "0s6cz0z8xmhc3gqyb68lkx0j94kagbdgc5gagknmfj6an2i33fly"; + version = "3.1.13"; + sha256 = "1sd9xgjcvlnw338dn5rcy5la7gw15yvg4xl85ym7aav5fr97apfs"; libraryHaskellDepends = [ ansi-terminal async base bytestring containers deepseq directory filepath mtl optparse-applicative process process-extras regex-tdfa @@ -210634,6 +227023,7 @@ self: { description = "Collect statistics of your Tasty testsuite"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tasty-tap" = callPackage @@ -210651,6 +227041,7 @@ self: { description = "TAP (Test Anything Protocol) Version 13 formatter for tasty"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tasty-test-vector" = callPackage @@ -210680,17 +227071,34 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "tasty-tmux" = callPackage + ({ mkDerivation, base, bytestring, mtl, regex-posix, tasty + , tasty-hunit, text, typed-process + }: + mkDerivation { + pname = "tasty-tmux"; + version = "0.1.0.0"; + sha256 = "1k7xc2fvfjrv48hml1jlhjrdrnb9sjaar7xrbwbj1275s09b51h8"; + libraryHaskellDepends = [ + base bytestring mtl regex-posix tasty tasty-hunit text + typed-process + ]; + description = "Terminal user acceptance testing (UAT) via tmux"; + license = stdenv.lib.licenses.agpl3; + }) {}; + "tasty-travis" = callPackage ({ mkDerivation, base, tasty, tasty-hunit }: mkDerivation { pname = "tasty-travis"; version = "0.2.0.2"; sha256 = "0g1qwmr11rgpvm964367mskgrjzbi34lbxzf9c0knx5ij9565gfg"; + revision = "2"; + editedCabalFile = "0m8h9r1cv38sva9k5aws1l4py4xzzmlfwik2avhm8avdr0hl71dk"; libraryHaskellDepends = [ base tasty ]; testHaskellDepends = [ base tasty tasty-hunit ]; description = "Fancy Travis CI output for tasty tests"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "tasty-wai" = callPackage @@ -210764,6 +227172,7 @@ self: { description = "Transactional variables and data structures with IO hooks"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tcache-AWS" = callPackage @@ -210780,6 +227189,7 @@ self: { description = "tcache using Amazon Web Services as default persistence mechanism"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tccli" = callPackage @@ -210798,6 +227208,7 @@ self: { description = "TokyoCabinet CLI interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tce-conf" = callPackage @@ -210832,6 +227243,7 @@ self: { description = "Bindings to libtcod roguelike engine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {tcod = null;}; "tconfig" = callPackage @@ -210855,6 +227267,7 @@ self: { description = "A purely functional TCP implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tcp-streams" = callPackage @@ -210899,6 +227312,7 @@ self: { description = "Tcp streams using openssl for tls support"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tdd-util" = callPackage @@ -210927,6 +227341,7 @@ self: { description = "Test framework wrapper"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tdigest" = callPackage @@ -210938,8 +227353,8 @@ self: { pname = "tdigest"; version = "0.2.1"; sha256 = "0kmqmzjcs406hv2fv9bkfayxpsd41dbry8bpkhy4y1jdgh33hvnl"; - revision = "1"; - editedCabalFile = "1jrq22j9jbvx31pspwjvyb539gix7vfb8cinqkkb2abmr0jrhibn"; + revision = "2"; + editedCabalFile = "1q517siz4l55l7ssrbc3rm0szf41k7wy4p26lch03i57lzldf2hf"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base base-compat binary deepseq reducers semigroupoids transformers @@ -210951,7 +227366,6 @@ self: { ]; description = "On-line accumulation of rank-based statistics"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "tdigest-Chart" = callPackage @@ -210962,6 +227376,8 @@ self: { pname = "tdigest-Chart"; version = "0.2"; sha256 = "1ciq7d187as9sk1dpccm2s02b6jdhij1l477wff0a7labgw21l0l"; + revision = "1"; + editedCabalFile = "1095k2sgyjd5m38j1qxa1df9izzdpjl80lrsmwhjm1jw4lmk8cys"; libraryHaskellDepends = [ base base-compat Chart colour lens semigroupoids tdigest ]; @@ -210971,7 +227387,6 @@ self: { ]; description = "Chart generation from tdigest"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "tdoc" = callPackage @@ -210989,6 +227404,29 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "tds" = callPackage + ({ mkDerivation, attoparsec, attoparsec-binary, base, bytestring + , hostname, mtl, network, stm, streaming, streaming-attoparsec + , streaming-bytestring, tardis, text, transformers, unix, vector + }: + mkDerivation { + pname = "tds"; + version = "0.1.0.0"; + sha256 = "1irgp0sv20vlzvyc09wa8ycf3k120ab623r901n638hrwvrwmz43"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + attoparsec attoparsec-binary base bytestring hostname mtl network + stm streaming streaming-attoparsec streaming-bytestring tardis text + transformers unix vector + ]; + executableHaskellDepends = [ base ]; + description = "Pure Haskell TDS protocol implementation. Mainly for beam-mssql and beam-sybase"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "teams" = callPackage ({ mkDerivation, base, containers, fgl, graphviz }: mkDerivation { @@ -210999,6 +227437,7 @@ self: { description = "Graphical modeling tools for sequential teams"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "teardown" = callPackage @@ -211020,7 +227459,6 @@ self: { ]; description = "Build safe and composable teardown sub-routines for resources"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "teeth" = callPackage @@ -211033,6 +227471,7 @@ self: { description = "Dental data types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "telegram" = callPackage @@ -211049,6 +227488,7 @@ self: { description = "Telegram API client"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "telegram-api" = callPackage @@ -211077,6 +227517,7 @@ self: { description = "Telegram Bot API bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "telegram-bot" = callPackage @@ -211098,6 +227539,7 @@ self: { description = "Telegram Bot microframework for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "telegram-bot-simple" = callPackage @@ -211130,6 +227572,7 @@ self: { description = "Easy to use library for building Telegram bots"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "teleport" = callPackage @@ -211151,6 +227594,7 @@ self: { description = "A tool to quickly switch between directories"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "teleshell" = callPackage @@ -211174,6 +227618,7 @@ self: { description = "Telnet client and other things"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tellbot" = callPackage @@ -211194,6 +227639,7 @@ self: { description = "IRC tellbot"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tempered" = callPackage @@ -211238,6 +227684,7 @@ self: { description = "declaring Default instances just got even easier"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "template-haskell_2_14_0_0" = callPackage @@ -211256,12 +227703,11 @@ self: { ({ mkDerivation, base, base-prelude, template-haskell }: mkDerivation { pname = "template-haskell-compat-v0208"; - version = "0.1.1"; - sha256 = "1dgxfcz68h583r15vc3zmj2fchsv5v4n2v55fz2ccw6sl3kyvlp3"; + version = "0.1.1.1"; + sha256 = "0il2bm5bwa4majddlzckc6jlcwx4w1kmymz9szj11hwjchgd1w3l"; libraryHaskellDepends = [ base base-prelude template-haskell ]; description = "A backwards compatibility layer for Template Haskell newer than 2.8"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "template-haskell-util" = callPackage @@ -211276,6 +227722,7 @@ self: { description = "Some utilities for template Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "template-hsml" = callPackage @@ -211297,6 +227744,7 @@ self: { description = "Haskell's Simple Markup Language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "template-toolkit" = callPackage @@ -211328,6 +227776,7 @@ self: { description = "Process template file"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "templateify" = callPackage @@ -211342,6 +227791,7 @@ self: { description = "Make template from website"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "templatepg" = callPackage @@ -211360,6 +227810,7 @@ self: { description = "A PostgreSQL access library with compile-time SQL type inference"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "templater" = callPackage @@ -211415,6 +227866,7 @@ self: { description = "A small Haskell wrapper around the TempoDB api"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "temporal-csound" = callPackage @@ -211433,6 +227885,7 @@ self: { description = "library to make electronic music, brings together temporal-music-notation and csound-expression packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "temporal-media" = callPackage @@ -211534,7 +227987,6 @@ self: { ]; description = "Portable temporary files and directories with automatic deletion"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "tempus" = callPackage @@ -211556,6 +228008,7 @@ self: { description = "Interpreter for the FRP language Tempus"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tempus-fugit" = callPackage @@ -211584,6 +228037,30 @@ self: { description = "A completely type-safe library for linear algebra"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tensor-safe" = callPackage + ({ mkDerivation, base, casing, cmdargs, containers, extra + , formatting, ghc-typelits-extra, hint, singletons, text, vector + , vector-sized + }: + mkDerivation { + pname = "tensor-safe"; + version = "0.1.0.1"; + sha256 = "1b69k6mbhd0qbxjij44fgaw8xdnripr27x7xy106192cj7x3q9xf"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base casing cmdargs containers extra formatting ghc-typelits-extra + hint singletons text vector vector-sized + ]; + executableHaskellDepends = [ + base casing cmdargs containers extra formatting ghc-typelits-extra + hint singletons text vector vector-sized + ]; + description = "Create valid deep neural network architectures"; + license = stdenv.lib.licenses.bsd3; }) {}; "tensorflow" = callPackage @@ -211613,6 +228090,7 @@ self: { description = "TensorFlow bindings"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libtensorflow;}; "tensorflow-core-ops" = callPackage @@ -211634,6 +228112,7 @@ self: { description = "Haskell wrappers for Core Tensorflow Ops"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tensorflow-logging" = callPackage @@ -211663,6 +228142,7 @@ self: { description = "TensorBoard related functionality"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tensorflow-mnist" = callPackage @@ -211716,6 +228196,7 @@ self: { description = "Code generation for TensorFlow operations"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tensorflow-ops" = callPackage @@ -211746,6 +228227,7 @@ self: { description = "Friendly layer around TensorFlow bindings"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tensorflow-proto" = callPackage @@ -211764,6 +228246,7 @@ self: { description = "TensorFlow protocol buffers"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) protobuf;}; "tensorflow-records" = callPackage @@ -211810,17 +228293,18 @@ self: { }) {}; "tensors" = callPackage - ({ mkDerivation, base, hspec, QuickCheck, reflection, singletons - , vector + ({ mkDerivation, base, criterion, deepseq, hspec, QuickCheck + , reflection, vector }: mkDerivation { pname = "tensors"; - version = "0.1.2"; - sha256 = "19r1jjpb8vbjmjbcs0sgnn83mniihw2v1dwhpkm6alrxqdai1637"; - libraryHaskellDepends = [ base reflection singletons vector ]; + version = "0.1.4"; + sha256 = "1wiq38px85ypnfpvbr3hcawrag457z0jvd4jr1bh7jf6qw6jqpfn"; + libraryHaskellDepends = [ base deepseq vector ]; testHaskellDepends = [ - base hspec QuickCheck reflection singletons vector + base deepseq hspec QuickCheck reflection vector ]; + benchmarkHaskellDepends = [ base criterion deepseq vector ]; description = "Tensor in Haskell"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -211846,10 +228330,8 @@ self: { ({ mkDerivation, array, base, c2hs }: mkDerivation { pname = "termbox"; - version = "0.1.0"; - sha256 = "1wylp818y65rwdrzmh596sn8csiwjma6gh6wm4fn9m9zb1nvzbsa"; - revision = "1"; - editedCabalFile = "0qwab9ayd9b8gmcnvy6pbbp16vwnqdzji9qi71jmgvviayqdlly5"; + version = "0.2.0"; + sha256 = "04y1wj65c6nhv08jd83ihvph45fs5279px4ivm5cinnz5m721jqg"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ array base ]; @@ -211860,15 +228342,18 @@ self: { }) {}; "termbox-banana" = callPackage - ({ mkDerivation, base, reactive-banana, stm, termbox }: + ({ mkDerivation, base, reactive-banana, termbox }: mkDerivation { pname = "termbox-banana"; - version = "0.1.0"; - sha256 = "0qyr2zykplxdg2x7k4xcg0cnv7lxx60lr55k8fs29556zalkgcgz"; - libraryHaskellDepends = [ base reactive-banana stm termbox ]; + version = "0.2.0"; + sha256 = "1n4775ahmm4h1vn1michsqp5l2j62py5wddnvcipb8225dcq8xsi"; + revision = "1"; + editedCabalFile = "123hndfs6x2ljwfh7izpikyv5v2d9hq122ddkk5nncnpbnb4bba5"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base reactive-banana termbox ]; description = "reactive-banana + termbox"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "termbox-bindings" = callPackage @@ -211885,6 +228370,7 @@ self: { description = "Bindings to the Termbox library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "termcolor" = callPackage @@ -211899,7 +228385,6 @@ self: { executableHaskellDepends = [ base cli ]; description = "Composable terminal colors"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "terminal" = callPackage @@ -211928,16 +228413,14 @@ self: { }: mkDerivation { pname = "terminal-progress-bar"; - version = "0.4.0.1"; - sha256 = "0xz2kbjh83hcxxx6iaijckddfqawjziiwhqyapwq77fdrc7p5af5"; - revision = "1"; - editedCabalFile = "08wp7ac11qq1zbq0axb4xvzz6grl1jgg54sgq7i9dx3c1a7035zg"; + version = "0.4.1"; + sha256 = "092yx9hal3xxcvpjwyqbfqww277l4gf83272pcnp3k6aj86a2756"; libraryHaskellDepends = [ base deepseq terminal-size text time ]; testHaskellDepends = [ base HUnit test-framework test-framework-hunit text time ]; benchmarkHaskellDepends = [ base criterion time ]; - description = "A simple progress bar in the terminal"; + description = "A progress bar in the terminal"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -211958,6 +228441,7 @@ self: { description = "Simple terminal-based time tracker"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "terminal-size" = callPackage @@ -211985,6 +228469,7 @@ self: { description = "Text data type for styled terminal output, including all standard ANSI effects (bold, italic, blinking) and ANSI / 256 / truecolor colors support for Unix and Windows (whenever possible)"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "termination-combinators" = callPackage @@ -211997,6 +228482,7 @@ self: { description = "Termination combinators for forcing non-terminating algorithms to terminate"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "terminfo_0_4_1_4" = callPackage @@ -212034,14 +228520,15 @@ self: { , directory, distributive, doctest, dyre, filepath, focuslist , genvalidity-containers, genvalidity-hspec, gi-gdk, gi-gio , gi-glib, gi-gtk, gi-pango, gi-vte, gtk3, haskell-gi-base - , hedgehog, lens, mono-traversable, pretty-simple, QuickCheck - , singletons, tasty, tasty-hedgehog, tasty-hspec, template-haskell - , vte_291, xml-conduit, xml-html-qq + , hedgehog, inline-c, lens, libpcre2, mono-traversable + , pretty-simple, QuickCheck, singletons, tasty, tasty-hedgehog + , tasty-hspec, template-haskell, text, vte_291, xml-conduit + , xml-html-qq }: mkDerivation { pname = "termonad"; - version = "1.1.0.0"; - sha256 = "1xji47lpw560lj0lx79vab5bxcf96zgzsdjg0iyb02rsvjcsl5h4"; + version = "2.0.0.0"; + sha256 = "0rprqn5vcvhbqqg0grrmz0ijjpkrprza88la4mbdg6skb34fjsp0"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -212049,11 +228536,11 @@ self: { libraryHaskellDepends = [ adjunctions base classy-prelude colour constraints containers data-default directory distributive dyre filepath focuslist gi-gdk - gi-gio gi-glib gi-gtk gi-pango gi-vte haskell-gi-base lens - mono-traversable pretty-simple QuickCheck singletons xml-conduit - xml-html-qq + gi-gio gi-glib gi-gtk gi-pango gi-vte haskell-gi-base inline-c lens + mono-traversable pretty-simple QuickCheck singletons text + xml-conduit xml-html-qq ]; - libraryPkgconfigDepends = [ gtk3 vte_291 ]; + libraryPkgconfigDepends = [ gtk3 libpcre2 vte_291 ]; executableHaskellDepends = [ base ]; testHaskellDepends = [ base doctest genvalidity-containers genvalidity-hspec hedgehog lens @@ -212061,8 +228548,7 @@ self: { ]; description = "Terminal emulator configurable in Haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {gtk3 = pkgs.gnome3.gtk; vte_291 = pkgs.gnome3.vte;}; + }) {inherit (pkgs) gtk3; libpcre2 = null; vte_291 = pkgs.vte;}; "termplot" = callPackage ({ mkDerivation, base, brick, data-default, optparse-applicative @@ -212081,6 +228567,7 @@ self: { description = "Plot time series in your terminal using commands stdout"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "terntup" = callPackage @@ -212099,6 +228586,7 @@ self: { description = "a ternary library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "terrahs" = callPackage @@ -212112,6 +228600,7 @@ self: { description = "A Haskell GIS Programming Environment"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {terralib4c = null; translib = null;}; "tersmu" = callPackage @@ -212133,6 +228622,7 @@ self: { description = "A semantic parser for lojban"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "test-fixture" = callPackage @@ -212155,6 +228645,7 @@ self: { description = "Test monadic side-effects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "test-framework" = callPackage @@ -212166,8 +228657,8 @@ self: { pname = "test-framework"; version = "0.8.2.0"; sha256 = "1hhacrzam6b8f10hyldmjw8pb7frdxh04rfg3farxcxwbnhwgbpm"; - revision = "2"; - editedCabalFile = "1kmv576j1zbms6p3vffripvas87ca3ypdb42h7pqkxsxxfi1gb8j"; + revision = "3"; + editedCabalFile = "0qg8zr0ga2kq8qrs9vckxmk11zrp105cbybcb9ra3dk4linngjw3"; libraryHaskellDepends = [ ansi-terminal ansi-wl-pprint base containers hostname old-locale random regex-posix time xml @@ -212196,6 +228687,7 @@ self: { description = "Test.Framework wrapper for DocTest"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "test-framework-golden" = callPackage @@ -212266,6 +228758,7 @@ self: { description = "QuickCheck support for the test-framework package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "test-framework-quickcheck2" = callPackage @@ -212276,6 +228769,8 @@ self: { pname = "test-framework-quickcheck2"; version = "0.3.0.5"; sha256 = "0ngf9vvby4nrdf1i7dxf5m9jn0g2pkq32w48xdr92n9hxka7ixn9"; + revision = "1"; + editedCabalFile = "1vmpk70h1594h9s216d3ngkb399fpny1d3sh4gg0vrc75p4as68d"; libraryHaskellDepends = [ base extensible-exceptions QuickCheck random test-framework ]; @@ -212302,6 +228797,7 @@ self: { description = "test-sandbox support for the test-framework package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "test-framework-skip" = callPackage @@ -212322,6 +228818,7 @@ self: { description = "Functions for conveniently marking some of the tests in a suite as being skipped"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "test-framework-smallcheck" = callPackage @@ -212348,6 +228845,7 @@ self: { description = "A test framework provider for testing-feat"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "test-framework-th" = callPackage @@ -212437,6 +228935,8 @@ self: { executableHaskellDepends = [ base simple-get-opt ]; description = "A library to make a quick test-runner script"; license = stdenv.lib.licenses.isc; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "test-pkg" = callPackage @@ -212449,6 +228949,7 @@ self: { description = "Just tests Hackage"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "test-sandbox" = callPackage @@ -212508,6 +229009,7 @@ self: { description = "Lightweight development enviroments using test-sandbox"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "test-sandbox-hunit" = callPackage @@ -212520,6 +229022,7 @@ self: { description = "HUnit convenience functions for use with test-sandbox"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "test-sandbox-quickcheck" = callPackage @@ -212549,6 +229052,7 @@ self: { description = "Catchy combinators for HUnit"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "test-simple" = callPackage @@ -212568,6 +229072,7 @@ self: { description = "Simple Perl inspired testing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "testCom" = callPackage @@ -212586,6 +229091,7 @@ self: { description = "Write your tests in comments"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "testPkg" = callPackage @@ -212603,25 +229109,26 @@ self: { }) {}; "testbench" = callPackage - ({ mkDerivation, base, bytestring, cassava, criterion, deepseq - , dlist, HUnit, optparse-applicative, process, statistics - , streaming, streaming-cassava, streaming-with, temporary - , transformers, weigh + ({ mkDerivation, base, bytestring, cassava, criterion + , criterion-measurement, deepseq, dlist, HUnit + , optparse-applicative, process, statistics, streaming + , streaming-cassava, streaming-with, temporary, transformers, weigh }: mkDerivation { pname = "testbench"; - version = "0.2.1.2"; - sha256 = "1mvqvc7k9a7nwx4m1bqhsykmdc4zq3myma2b2vq7s8a88bm8w10r"; + version = "0.2.1.3"; + sha256 = "1fx4r8z87rv3kg5xznrvgv7drsvn82zapxzmiv5440r4gbqw5y0b"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base bytestring cassava criterion deepseq dlist HUnit - optparse-applicative process statistics streaming streaming-cassava - streaming-with temporary transformers weigh + base bytestring cassava criterion criterion-measurement deepseq + dlist HUnit optparse-applicative process statistics streaming + streaming-cassava streaming-with temporary transformers weigh ]; description = "Create tests and benchmarks together"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "testing-feat" = callPackage @@ -212667,6 +229174,7 @@ self: { description = "Quick feedback loop for test suites"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "testpack" = callPackage @@ -212684,6 +229192,7 @@ self: { description = "Test Utililty Pack for HUnit and QuickCheck (unmaintained)"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "testpattern" = callPackage @@ -212699,6 +229208,7 @@ self: { description = "Display a monitor test pattern"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "testrunner" = callPackage @@ -212714,6 +229224,7 @@ self: { description = "Easy unit test driver framework"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tetris" = callPackage @@ -212743,6 +229254,7 @@ self: { description = "LaTeX to plain-text conversion"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "texbuilder" = callPackage @@ -212764,6 +229276,7 @@ self: { description = "View your latex output while editing"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "texmath" = callPackage @@ -212773,8 +229286,8 @@ self: { }: mkDerivation { pname = "texmath"; - version = "0.11.2"; - sha256 = "12jkv3wa5lmlik516fp6i429vlznzybhhw4843d55hdid5yhvihf"; + version = "0.11.2.2"; + sha256 = "11qhp37ghz70bbpapzafd1ksvzqrd1p0fi7fjlyfs10i02pj8kpy"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -212810,23 +229323,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "text_1_2_3_1" = callPackage + "text_1_2_4_0" = callPackage ({ mkDerivation, array, base, binary, bytestring, deepseq , directory, ghc-prim, HUnit, integer-gmp, QuickCheck - , quickcheck-unicode, random, test-framework, test-framework-hunit - , test-framework-quickcheck2 + , quickcheck-unicode, random, template-haskell, test-framework + , test-framework-hunit, test-framework-quickcheck2 }: mkDerivation { pname = "text"; - version = "1.2.3.1"; - sha256 = "19j725g8xma1811avl3nz2vndwynsmpx3sqf6bd7iwh1bm6n4q43"; + version = "1.2.4.0"; + sha256 = "0k739i0sjrbl029y5j8n5v1hqa68z00xazvrahjhyl69mp4s5qna"; libraryHaskellDepends = [ array base binary bytestring deepseq ghc-prim integer-gmp + template-haskell ]; testHaskellDepends = [ array base binary bytestring deepseq directory ghc-prim HUnit - integer-gmp QuickCheck quickcheck-unicode random test-framework - test-framework-hunit test-framework-quickcheck2 + integer-gmp QuickCheck quickcheck-unicode random template-haskell + test-framework test-framework-hunit test-framework-quickcheck2 ]; doCheck = false; description = "An efficient packed Unicode text type"; @@ -212847,6 +229361,7 @@ self: { description = "Everything Data.Text related in one package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-and-plots" = callPackage @@ -212864,6 +229379,7 @@ self: { description = "EDSL to create HTML documents with plots based on the C3.js library."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-ansi" = callPackage @@ -212896,8 +229412,8 @@ self: { }: mkDerivation { pname = "text-builder"; - version = "0.6.5"; - sha256 = "1kf5r4cr4qw3awfshycnh9l7p3phssknlvwmkglabmdj3zf1xz5q"; + version = "0.6.5.1"; + sha256 = "0g40s5md7kfmhqsxxrfliwb3p4whg3m2wp31bai051nx1ddkkvay"; libraryHaskellDepends = [ base base-prelude bytestring deferred-folds semigroups text transformers @@ -212932,6 +229448,7 @@ self: { description = "Memory-efficient string-indexed container types"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-conversions" = callPackage @@ -212957,8 +229474,8 @@ self: { }: mkDerivation { pname = "text-cp437"; - version = "0.2.1"; - sha256 = "1fzsb341yr1jiv9wflr35ra1z1cd41wmyp0y5dv2p0fq10kxcfgs"; + version = "0.2.2"; + sha256 = "1lv1nhkrwdrs3ji7x2qv1r33dipgchr1fl2znmmkhxksbhlwi0x9"; libraryHaskellDepends = [ base bytestring text ]; testHaskellDepends = [ base bytestring QuickCheck quickcheck-text text @@ -213034,6 +229551,7 @@ self: { description = "A generic, derivable, haskell pretty printer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-icu" = callPackage @@ -213078,6 +229596,7 @@ self: { description = "Dealing with Strict Text in NFC normalization"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-icu-translit" = callPackage @@ -213162,6 +229681,7 @@ self: { description = "Lenses for operating over text"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-lips" = callPackage @@ -213200,6 +229720,7 @@ self: { description = "Encode and decode Text to/from ByteString using TextEncoding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-manipulate" = callPackage @@ -213232,6 +229753,7 @@ self: { description = "A data structure for mapping metadata to text subsequences"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-metrics" = callPackage @@ -213266,6 +229788,7 @@ self: { description = "Unicode-normalized text"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-plus" = callPackage @@ -213283,6 +229806,7 @@ self: { description = "Utils for text"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-position" = callPackage @@ -213298,6 +229822,7 @@ self: { description = "Handling positions in text and position-tagging it"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-postgresql" = callPackage @@ -213322,8 +229847,8 @@ self: { }: mkDerivation { pname = "text-printer"; - version = "0.5"; - sha256 = "02sadjd19dbxzawr1q8z3j7w6vhp5mvz1dbssk118hsvl6k0234g"; + version = "0.5.0.1"; + sha256 = "065m64f5l4yyccb04c7bwax09wk6aafm2v9sl3w8w1asqw7ni9sq"; libraryHaskellDepends = [ base bytestring pretty semigroups text text-latin1 ]; @@ -213378,6 +229903,7 @@ self: { description = "A Haskell implementation of the 1# Text Register Machine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-render" = callPackage @@ -213406,6 +229932,8 @@ self: { testHaskellDepends = [ base hedgehog neat-interpolation text ]; description = "Simple text replacements from a list of search/replace pairs"; license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-short" = callPackage @@ -213415,10 +229943,8 @@ self: { }: mkDerivation { pname = "text-short"; - version = "0.1.2"; - sha256 = "0rqiwgjkgyfy8596swl0s0x2jqk6ddh2h02qxa32az2cs5kviwmk"; - revision = "1"; - editedCabalFile = "00w77idkh44m88vivkqsys0y1bbxrflh06yq66liq0wgjhhzdppj"; + version = "0.1.3"; + sha256 = "0xyrxlb602z8bc9sr2y1fag0x56a20yj5qrkvy7iwc6hnznrynxz"; libraryHaskellDepends = [ base binary bytestring deepseq ghc-prim hashable text ]; @@ -213441,10 +229967,8 @@ self: { }: mkDerivation { pname = "text-show"; - version = "3.7.5"; - sha256 = "1by89i3c6qyjh7jjld06wb2sphb236rbvwb1mmvq8f6mxliiyf1r"; - revision = "1"; - editedCabalFile = "1v8czpi9mn54850k0pilqh1f3yfr5n5vykmg5k57wmrdpx25vkws"; + version = "3.8.2"; + sha256 = "0n46q5gjlxz3g4flj5mn8s78dpdfd65fjl7b5174pykanwqsqqwz"; libraryHaskellDepends = [ array base base-compat-batteries bifunctors bytestring bytestring-builder containers contravariant generic-deriving @@ -213469,28 +229993,28 @@ self: { , containers, directory, generic-deriving, ghc-boot-th, ghc-prim , haskeline, hpc, hspec, hspec-discover, old-locale, old-time , pretty, QuickCheck, quickcheck-instances, random, semigroups - , tagged, template-haskell, terminfo, text, text-show, th-orphans - , time, transformers, transformers-compat, unix + , tagged, template-haskell, terminfo, text, text-short, text-show + , th-orphans, time, transformers, transformers-compat, unix , unordered-containers, vector, xhtml }: mkDerivation { pname = "text-show-instances"; - version = "3.7"; - sha256 = "1bwpj8fdrfhmhlgdql59f75bkcfng7fx9m409m8k0dq9ymawmj5c"; + version = "3.8.1"; + sha256 = "1z54vgw1rsck3lr6jnl5vdd0aq1hni1wy0fag985d6b73qmxlm1l"; libraryHaskellDepends = [ base base-compat-batteries bifunctors binary containers directory ghc-boot-th haskeline hpc old-locale old-time pretty random - semigroups tagged template-haskell terminfo text text-show time - transformers transformers-compat unix unordered-containers vector - xhtml + semigroups tagged template-haskell terminfo text text-short + text-show time transformers transformers-compat unix + unordered-containers vector xhtml ]; testHaskellDepends = [ base base-compat-batteries bifunctors binary containers directory generic-deriving ghc-boot-th ghc-prim haskeline hpc hspec old-locale old-time pretty QuickCheck quickcheck-instances random - tagged template-haskell terminfo text-show th-orphans time - transformers transformers-compat unix unordered-containers vector - xhtml + tagged template-haskell terminfo text-short text-show th-orphans + time transformers transformers-compat unix unordered-containers + vector xhtml ]; testToolDepends = [ hspec-discover ]; description = "Additional instances for text-show"; @@ -213528,6 +230052,24 @@ self: { description = "Library for Time parsing from Text into UTCTime"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "text-trie" = callPackage + ({ mkDerivation, base, binary, bytestring, bytestring-trie, HUnit + , microbench, QuickCheck, silently, smallcheck, text + }: + mkDerivation { + pname = "text-trie"; + version = "0.2.5.0"; + sha256 = "00i92zlhcn31ll163alm1s1j3f6bkc80nhz3vpqcivjdg7cwy5nj"; + libraryHaskellDepends = [ base binary text ]; + testHaskellDepends = [ + base binary bytestring bytestring-trie HUnit microbench QuickCheck + silently smallcheck text + ]; + description = "An efficient finite map from Text to values, based on bytestring-trie"; + license = stdenv.lib.licenses.bsd3; }) {}; "text-utf7" = callPackage @@ -213570,6 +230112,7 @@ self: { description = "An efficient packed UTF-8 backed Unicode text type"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-utils" = callPackage @@ -213611,6 +230154,7 @@ self: { description = "Quasiquoter for xml. XML DSL in Haskell."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text-zipper" = callPackage @@ -213637,6 +230181,7 @@ self: { description = "Monadic interface to the text-zipper package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "text1" = callPackage @@ -213653,6 +230198,8 @@ self: { ]; description = "Non-empty values of `Data.Text`."; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "textPlot" = callPackage @@ -213694,6 +230241,7 @@ self: { description = "A simple Haskell program to provide tags for Haskell code completion in TextMate"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "textocat-api" = callPackage @@ -213715,6 +230263,7 @@ self: { description = "Unofficial Haskell SDK for Textocat API -- http://textocat.com"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "texts" = callPackage @@ -213738,6 +230287,7 @@ self: { description = "Textual type class for data that represent text"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tf-random" = callPackage @@ -213773,6 +230323,7 @@ self: { description = "Template-Haskell code for tfp"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tftp" = callPackage @@ -213798,6 +230349,7 @@ self: { description = "A library for building tftp servers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tga" = callPackage @@ -213810,14 +230362,15 @@ self: { description = "Reading and writing of tga image files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "th-abstraction" = callPackage ({ mkDerivation, base, containers, ghc-prim, template-haskell }: mkDerivation { pname = "th-abstraction"; - version = "0.2.10.0"; - sha256 = "1bql46ylr111g0pncdsf5mbhn6cpaw9xlqby89bz417dlk5gzny9"; + version = "0.3.1.0"; + sha256 = "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"; libraryHaskellDepends = [ base containers ghc-prim template-haskell ]; @@ -213844,6 +230397,18 @@ self: { description = "Alpha equivalence for TH Exp"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "th-bang-compat" = callPackage + ({ mkDerivation, base, template-haskell }: + mkDerivation { + pname = "th-bang-compat"; + version = "0.0.1.0"; + sha256 = "0p5zpiqk8141a4n362m3kpd92sx0192gpv172ixdnfgabk07gn1z"; + libraryHaskellDepends = [ base template-haskell ]; + description = "Compatibility for bang-type template"; + license = stdenv.lib.licenses.bsd3; }) {}; "th-build" = callPackage @@ -213856,6 +230421,7 @@ self: { description = "More convenient construction of TH ASTs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "th-cas" = callPackage @@ -213903,6 +230469,7 @@ self: { description = "Test instance context"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "th-data-compat" = callPackage @@ -213916,6 +230483,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "th-data-compat_0_1_0_0" = callPackage + ({ mkDerivation, base, template-haskell }: + mkDerivation { + pname = "th-data-compat"; + version = "0.1.0.0"; + sha256 = "03d5ddbxzfn60ysxxn17q7gzdlls8hvlsvhzai4mn0qfjpwi6ljx"; + libraryHaskellDepends = [ base template-haskell ]; + description = "Compatibility for data definition template of TH"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "th-desugar" = callPackage ({ mkDerivation, base, containers, hspec, HUnit, mtl, syb , template-haskell, th-expand-syns, th-lift, th-orphans @@ -213936,6 +230515,30 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "th-desugar_1_10" = callPackage + ({ mkDerivation, base, containers, fail, ghc-prim, hspec, HUnit + , mtl, ordered-containers, semigroups, syb, template-haskell + , th-abstraction, th-expand-syns, th-lift, th-orphans + , transformers-compat + }: + mkDerivation { + pname = "th-desugar"; + version = "1.10"; + sha256 = "1g3v427qlpxl1m4klsbqzg2xas5sj4059j5pdx0vpbshpq9v3x8v"; + libraryHaskellDepends = [ + base containers fail ghc-prim mtl ordered-containers semigroups syb + template-haskell th-abstraction th-lift th-orphans + transformers-compat + ]; + testHaskellDepends = [ + base containers hspec HUnit mtl syb template-haskell th-expand-syns + th-lift th-orphans + ]; + description = "Functions to desugar Template Haskell"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "th-dict-discovery" = callPackage ({ mkDerivation, base, constraints, template-haskell }: mkDerivation { @@ -213946,6 +230549,20 @@ self: { description = "Automatically discover available dictionaries at compile time"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "th-env" = callPackage + ({ mkDerivation, base, markdown-unlit, template-haskell }: + mkDerivation { + pname = "th-env"; + version = "0.1.0.0"; + sha256 = "19br06iq4cmnyk7s23s08yq6v2llzi9zq26yi2pigk6spwb4pyjn"; + libraryHaskellDepends = [ base template-haskell ]; + testHaskellDepends = [ base markdown-unlit ]; + testToolDepends = [ markdown-unlit ]; + description = "Template Haskell splice that expands to an environment variable"; + license = stdenv.lib.licenses.bsd3; }) {}; "th-expand-syns" = callPackage @@ -213983,6 +230600,7 @@ self: { description = "TH fold generator"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "th-format" = callPackage @@ -214000,6 +230618,7 @@ self: { description = "Template Haskell based support for format strings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "th-inline-io-action" = callPackage @@ -214032,6 +230651,7 @@ self: { description = "Fixed versions of instances reification functions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "th-instances" = callPackage @@ -214056,6 +230676,7 @@ self: { description = "A place to collect orphan instances for Template Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "th-kinds" = callPackage @@ -214087,6 +230708,7 @@ self: { description = "Automated kind inference in Template Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "th-lift" = callPackage @@ -214094,8 +230716,8 @@ self: { }: mkDerivation { pname = "th-lift"; - version = "0.7.11"; - sha256 = "131360zxb0hazbqwbkk6ab2p77jkxr79bwwm618mrwrwkm3x2g6m"; + version = "0.8.0.1"; + sha256 = "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"; libraryHaskellDepends = [ base ghc-prim template-haskell th-abstraction ]; @@ -214104,35 +230726,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "th-lift-instances_0_1_11" = callPackage - ({ mkDerivation, base, bytestring, containers, QuickCheck - , template-haskell, text, th-lift, vector - }: - mkDerivation { - pname = "th-lift-instances"; - version = "0.1.11"; - sha256 = "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"; - libraryHaskellDepends = [ - base bytestring containers template-haskell text th-lift vector - ]; - testHaskellDepends = [ - base bytestring containers QuickCheck template-haskell text vector - ]; - description = "Lift instances for template-haskell for common data types"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "th-lift-instances" = callPackage ({ mkDerivation, base, bytestring, containers, QuickCheck - , template-haskell, text, vector + , template-haskell, text, th-lift, transformers, vector }: mkDerivation { pname = "th-lift-instances"; - version = "0.1.12"; - sha256 = "1kjfwfmkn7r35qlsa0n4la3103jlfbjf3ia1pvsgizgrwxr1zjid"; + version = "0.1.14"; + sha256 = "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"; libraryHaskellDepends = [ - base bytestring containers template-haskell text vector + base bytestring containers template-haskell text th-lift + transformers vector ]; testHaskellDepends = [ base bytestring containers QuickCheck template-haskell text vector @@ -214152,21 +230756,24 @@ self: { testToolDepends = [ markdown-unlit ]; description = "Template Haskell splice that expands to current time"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "th-orphans" = callPackage - ({ mkDerivation, base, hspec, hspec-discover, mtl, template-haskell - , th-lift, th-lift-instances, th-reify-many + ({ mkDerivation, base, bytestring, ghc-prim, hspec, hspec-discover + , mtl, template-haskell, th-lift, th-lift-instances, th-reify-many }: mkDerivation { pname = "th-orphans"; - version = "0.13.6"; - sha256 = "0sfl3pn9kq9da3ji3lsgzgzy82vz6yvsg80dmakc1jvk7awycibp"; + version = "0.13.7"; + sha256 = "0qqxrm04nqh062cw6a2p6grvvfpg0nxkj3aymmar29yky17y8vgy"; + revision = "1"; + editedCabalFile = "1gf2rmphwgnqbbk4qcwfiprmsqp2d30xqlcxgs9h9ymazkwlh203"; libraryHaskellDepends = [ base mtl template-haskell th-lift th-lift-instances th-reify-many ]; - testHaskellDepends = [ base hspec template-haskell ]; + testHaskellDepends = [ + base bytestring ghc-prim hspec template-haskell th-lift + ]; testToolDepends = [ hspec-discover ]; description = "Orphan instances for TH datatypes"; license = stdenv.lib.licenses.bsd3; @@ -214220,8 +230827,8 @@ self: { }: mkDerivation { pname = "th-reify-many"; - version = "0.1.8"; - sha256 = "0hzy6hvhvcd6i60vx5cp2b7ggmnnjh9rx4h8bm8xw4grglcaxjnf"; + version = "0.1.9"; + sha256 = "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"; libraryHaskellDepends = [ base containers mtl safe template-haskell th-expand-syns ]; @@ -214240,6 +230847,7 @@ self: { description = "Binding group analysis in Template Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "th-strict-compat" = callPackage @@ -214253,6 +230861,22 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; + "th-test-utils" = callPackage + ({ mkDerivation, base, tasty, tasty-hunit, template-haskell + , transformers + }: + mkDerivation { + pname = "th-test-utils"; + version = "1.0.0"; + sha256 = "1kpkf6h0vr06z7iphkcjva9x28mfjg967hrih4im527g9vw5mdq6"; + libraryHaskellDepends = [ base template-haskell transformers ]; + testHaskellDepends = [ + base tasty tasty-hunit template-haskell transformers + ]; + description = "Utility functions for testing Template Haskell code"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "th-to-exp" = callPackage ({ mkDerivation, base, hspec, template-haskell }: mkDerivation { @@ -214264,6 +230888,7 @@ self: { description = "Provides a way to persist data from compile-time to runtime"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "th-traced" = callPackage @@ -214276,6 +230901,7 @@ self: { description = "Tracing Q monad computation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "th-typegraph" = callPackage @@ -214304,6 +230930,7 @@ self: { description = "Graph of the subtype relation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "th-utilities" = callPackage @@ -214312,8 +230939,8 @@ self: { }: mkDerivation { pname = "th-utilities"; - version = "0.2.1.0"; - sha256 = "1kc3zv43948whv47cpmwnqw90iz68dmi1bmw9b183bnd0yr7wnfb"; + version = "0.2.3.0"; + sha256 = "0bl4j81k7szn0lza8rnn1db6glc57dsn63ni0hwbwr3kxa3pb4x4"; libraryHaskellDepends = [ base bytestring containers directory filepath primitive syb template-haskell text th-orphans @@ -214347,6 +230974,7 @@ self: { description = "Give your dependencies stars on GitHub!"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "theatre" = callPackage @@ -214362,6 +230990,8 @@ self: { ]; description = "Minimalistic actor library"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "themoviedb" = callPackage @@ -214371,8 +231001,8 @@ self: { }: mkDerivation { pname = "themoviedb"; - version = "1.1.5.0"; - sha256 = "05za904yimkf9vpkksyxw6j488xyd0wigjdkj25hf2xx4nw36j0v"; + version = "1.1.5.2"; + sha256 = "0pp603wvq03m56w0y12abjqbfv712aj3k6ki69jq60l9pxj4nni4"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -214387,7 +231017,6 @@ self: { ]; description = "Haskell API bindings for http://themoviedb.org"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "themplate" = callPackage @@ -214435,6 +231064,7 @@ self: { description = "All-in-one session handling for servant-based frontends"; license = "AGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "theoremquest" = callPackage @@ -214447,6 +231077,7 @@ self: { description = "A common library for TheoremQuest, a theorem proving game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "theoremquest-client" = callPackage @@ -214461,9 +231092,10 @@ self: { description = "A simple client for the TheoremQuest theorem proving game"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "these" = callPackage + "these_0_7_6" = callPackage ({ mkDerivation, aeson, base, base-compat, bifunctors, binary , containers, data-default-class, deepseq, hashable, keys, lens , mtl, QuickCheck, quickcheck-instances, semigroupoids, tasty @@ -214490,16 +231122,46 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "these" = callPackage + ({ mkDerivation, aeson, assoc, base, base-compat, binary, deepseq + , hashable, QuickCheck, semigroupoids, unordered-containers + }: + mkDerivation { + pname = "these"; + version = "1.0.1"; + sha256 = "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"; + libraryHaskellDepends = [ + aeson assoc base base-compat binary deepseq hashable QuickCheck + semigroupoids unordered-containers + ]; + description = "An either-or-both data type"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "these-lens" = callPackage + ({ mkDerivation, base, base-compat, lens, these }: + mkDerivation { + pname = "these-lens"; + version = "1"; + sha256 = "144ly13qng95mwnfis8dm7n3843z3w2vp4212qawbpw8hw921c7y"; + libraryHaskellDepends = [ base base-compat lens these ]; + description = "Lenses for These"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "these-skinny" = callPackage ({ mkDerivation, base, deepseq }: mkDerivation { pname = "these-skinny"; version = "0.7.4"; sha256 = "0hlxf94ir99y0yzm9pq8cvs7vbar4bpj1w1ibs96hrx2biwfbnkr"; + revision = "1"; + editedCabalFile = "057hgdbc5ch43cn5qz0kr02iws9p1l24z23pifll29iazzl1jk6c"; libraryHaskellDepends = [ base deepseq ]; description = "A fork of the 'these' package without the dependency bloat"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "thespian" = callPackage @@ -214537,6 +231199,7 @@ self: { description = "Typing Haskell In Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "thimk" = callPackage @@ -214556,6 +231219,7 @@ self: { description = "Command-line spelling word suggestion tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "thorn" = callPackage @@ -214575,6 +231239,7 @@ self: { description = "Datatype Manipulation with Template Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "thread-hierarchy" = callPackage @@ -214625,6 +231290,7 @@ self: { description = "(deprecated in favor of 'threads') Simple thread management"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "threads" = callPackage @@ -214668,18 +231334,18 @@ self: { }) {}; "threads-supervisor" = callPackage - ({ mkDerivation, base, bytestring, QuickCheck, retry, stm, tasty - , tasty-hunit, tasty-quickcheck, time, transformers + ({ mkDerivation, base, bytestring, clock, QuickCheck, retry, stm + , tasty, tasty-hunit, tasty-quickcheck, time, transformers , unordered-containers }: mkDerivation { pname = "threads-supervisor"; - version = "1.1.0.0"; - sha256 = "0vnf6rwghhfvj4cq6d46dhhydyqqrj6jd0dwkg2vqj150y6mg5r2"; + version = "1.2.0.1"; + sha256 = "013j28ma6bwmf50n05ywli9pf5r4vyg8w4liv4yibr459207k31m"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base retry stm time unordered-containers + base clock retry stm time transformers unordered-containers ]; executableHaskellDepends = [ base stm time unordered-containers ]; testHaskellDepends = [ @@ -214688,7 +231354,6 @@ self: { ]; description = "Simple, IO-based library for Erlang-style thread supervision"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "threadscope" = callPackage @@ -214711,6 +231376,7 @@ self: { description = "A graphical tool for profiling parallel Haskell programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "threefish" = callPackage @@ -214784,6 +231450,7 @@ self: { description = "Write simple nested context menus for threepenny-gui"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "threepenny-gui-flexbox" = callPackage @@ -214799,6 +231466,7 @@ self: { description = "Flexbox layouts for Threepenny-gui"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "thrift" = callPackage @@ -214822,6 +231490,7 @@ self: { description = "Haskell bindings for the Apache Thrift RPC system"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "thrist" = callPackage @@ -214885,6 +231554,7 @@ self: { description = "Loop over an action but throttle it to a certain rate"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "through-text" = callPackage @@ -214893,12 +231563,13 @@ self: { pname = "through-text"; version = "0.1.0.0"; sha256 = "1kdl36n98kajaa7v7js2sy8bi09p8rrxmlfcclcfc1l92bd2aclk"; - revision = "3"; - editedCabalFile = "1gia9j7zq3g74kqvkzwp68d690nhddix1kpmj23d5a3zns3rxasn"; + revision = "4"; + editedCabalFile = "1clc4g6rg5970654fd596ygly79axkhyzn773by1wi4grvhw96fi"; libraryHaskellDepends = [ base bytestring case-insensitive text ]; description = "Convert textual types through Text without needing O(n^2) instances"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "throwable-exceptions" = callPackage @@ -214917,6 +231588,8 @@ self: { testToolDepends = [ tasty-discover ]; description = "throwable-exceptions gives the easy way to throw exceptions"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "thumbnail" = callPackage @@ -214952,6 +231625,7 @@ self: { description = "Generate thumbnails easily and safely"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "thyme" = callPackage @@ -215020,18 +231694,18 @@ self: { description = "A desktop bar based on WebKit"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; - }) {gtk3 = pkgs.gnome3.gtk; inherit (pkgs.gnome3) webkitgtk;}; + }) {inherit (pkgs) gtk3; inherit (pkgs) webkitgtk;}; "tibetan-utils" = callPackage - ({ mkDerivation, base, composition-prelude, either, hspec - , hspec-megaparsec, megaparsec, text, text-show + ({ mkDerivation, base, composition-prelude, hspec, hspec-megaparsec + , megaparsec, text }: mkDerivation { pname = "tibetan-utils"; - version = "0.1.1.9"; - sha256 = "04xpncn9nnc51mzyvw1naydk47acbpkzpxipq1fgvvgclzda2gn8"; + version = "0.1.1.10"; + sha256 = "11bzcan2vfhdz6lwfvfgiyycqf30p4kdkzn47pm4ydr6bbpz8aia"; libraryHaskellDepends = [ - base composition-prelude either megaparsec text text-show + base composition-prelude megaparsec text ]; testHaskellDepends = [ base hspec hspec-megaparsec megaparsec text @@ -215053,6 +231727,7 @@ self: { description = "Useful if reading \"Why FP matters\" by John Hughes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ticker" = callPackage @@ -215090,6 +231765,7 @@ self: { description = "A port of @Data.Binary@"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tictactoe3d" = callPackage @@ -215102,24 +231778,25 @@ self: { description = "3D Tic-Tac-Toe game"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tidal" = callPackage - ({ mkDerivation, base, bifunctors, colour, containers, hosc - , microspec, mwc-random, network, parsec, text, transformers - , vector + ({ mkDerivation, base, bifunctors, bytestring, clock, colour + , containers, criterion, deepseq, hosc, microspec, mwc-random + , network, parsec, primitive, text, transformers, vector, weigh }: mkDerivation { pname = "tidal"; - version = "1.0.7"; - sha256 = "1p2h3g9fa3jd3133ryhcdpkb6a3a3994hrbr1ryd0gza8gd3bgv1"; - revision = "1"; - editedCabalFile = "16ingdhhc38zj1gixj3c7b01lr9lbnxkr8pf0x2j8z1jpbl7jg4a"; + version = "1.4.3"; + sha256 = "1nj5pgzan7q070c8qhcq51mnrwpkxi51ixmmp7b4n4fxfc80v68g"; + enableSeparateDataOutput = true; libraryHaskellDepends = [ - base bifunctors colour containers hosc mwc-random network parsec - text transformers vector + base bifunctors bytestring clock colour containers deepseq hosc + mwc-random network parsec primitive text transformers vector ]; testHaskellDepends = [ base containers microspec parsec ]; + benchmarkHaskellDepends = [ base criterion weigh ]; description = "Pattern language for improvised music"; license = stdenv.lib.licenses.gpl3; }) {}; @@ -215140,6 +231817,7 @@ self: { description = "MIDI support for tidal"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tidal-serial" = callPackage @@ -215154,18 +231832,29 @@ self: { description = "Serial support for tidal"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tidal-vis" = callPackage - ({ mkDerivation, base, cairo, colour, tidal }: + ({ mkDerivation, async, base, cairo, colour, containers, gloss + , hashable, hosc, mtl, network, SDL, SDL-gfx, SDL-image, SDL-ttf + , tidal, time, unagi-chan + }: mkDerivation { pname = "tidal-vis"; - version = "0.9.3"; - sha256 = "1sj17czyzpfrq0a8kalr170dw1zcphix0dnhdf6ggryskb1wswdp"; - libraryHaskellDepends = [ base cairo colour tidal ]; - description = "Visual rendering for Tidal patterns"; + version = "1.0.14"; + sha256 = "1l924nqv8ljd9ljpy05r18j0rc5if3k5lvpifv2g8fn967gi0nfs"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + async base cairo colour containers gloss hashable hosc mtl network + SDL SDL-gfx SDL-image SDL-ttf tidal time unagi-chan + ]; + executableHaskellDepends = [ base ]; + description = "Visual rendering for Tidal patterns and osc messages"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tie-knot" = callPackage @@ -215178,6 +231867,7 @@ self: { description = "\"Ties the knot\" on a given set of structures that reference each other by keys"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tiempo" = callPackage @@ -215190,6 +231880,7 @@ self: { description = "Specify time intervals in different units (secs, mins, hours, etc.)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tiger" = callPackage @@ -215207,6 +231898,7 @@ self: { description = "Tiger Compiler of Universiteit Utrecht"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tight-apply" = callPackage @@ -215235,6 +231927,7 @@ self: { description = "Nice API for a Slackbot"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tighttp" = callPackage @@ -215254,6 +231947,7 @@ self: { description = "Tiny and Incrementally-Growing HTTP library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tile" = callPackage @@ -215297,16 +231991,17 @@ self: { description = "The Timber Compiler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; - "time_1_9_2" = callPackage + "time_1_9_3" = callPackage ({ mkDerivation, base, deepseq, QuickCheck, random, tasty , tasty-hunit, tasty-quickcheck, unix }: mkDerivation { pname = "time"; - version = "1.9.2"; - sha256 = "05d0n44rwpqkjkns9nlgw2gpfv643a0bzp9cx97az0wmn31618nx"; + version = "1.9.3"; + sha256 = "03n7lsapydivwj7lv2azb5i31ph8365kzh7zbl3kcgzzmiz9cnsp"; libraryHaskellDepends = [ base deepseq ]; testHaskellDepends = [ base deepseq QuickCheck random tasty tasty-hunit tasty-quickcheck @@ -215333,13 +232028,21 @@ self: { }) {}; "time-compat" = callPackage - ({ mkDerivation, base, old-time, time }: + ({ mkDerivation, base, base-compat, base-orphans, deepseq, HUnit + , QuickCheck, tagged, tasty, tasty-hunit, tasty-quickcheck, time + }: mkDerivation { pname = "time-compat"; - version = "0.1.0.3"; - sha256 = "0zqgzr8yjn36rn6gflwh5s0c92vl44xzxiw0jz8d5h0h8lhi21sr"; - libraryHaskellDepends = [ base old-time time ]; - description = "Compatibility with old-time for the time package"; + version = "1.9.2.2"; + sha256 = "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"; + revision = "1"; + editedCabalFile = "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r"; + libraryHaskellDepends = [ base base-orphans deepseq time ]; + testHaskellDepends = [ + base base-compat deepseq HUnit QuickCheck tagged tasty tasty-hunit + tasty-quickcheck time + ]; + description = "Compatibility package for time"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -215353,6 +232056,7 @@ self: { description = "Data instances for the time package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "time-exts" = callPackage @@ -215398,6 +232102,7 @@ self: { description = "Parse and format HTTP/1.1 Date and Time strings"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "time-interval" = callPackage @@ -215421,6 +232126,7 @@ self: { description = "IO Access for time"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "time-lens" = callPackage @@ -215467,6 +232173,18 @@ self: { description = "A library to mock the current time"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "time-manager" = callPackage + ({ mkDerivation, auto-update, base }: + mkDerivation { + pname = "time-manager"; + version = "0.0.0"; + sha256 = "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"; + libraryHaskellDepends = [ auto-update base ]; + description = "Scalable timer"; + license = stdenv.lib.licenses.mit; }) {}; "time-out" = callPackage @@ -215492,10 +232210,8 @@ self: { }: mkDerivation { pname = "time-parsers"; - version = "0.1.2.0"; - sha256 = "091wpcqj1kjvyjgj1y1invn0g5lhdxc92az2bcbwbrpq2c7x8l2f"; - revision = "3"; - editedCabalFile = "0im963wjcmwf6ii9a00mbi8lhmx5cy7cs6rmp0qi2j2jddba78j2"; + version = "0.1.2.1"; + sha256 = "102k6l9888kbgng045jk170qjbmdnwv2lbzlc12ncybfk2yk7wdv"; libraryHaskellDepends = [ base parsers template-haskell time ]; testHaskellDepends = [ attoparsec base bifunctors parsec parsers tasty tasty-hunit @@ -215503,7 +232219,6 @@ self: { ]; description = "Parsers for types in `time`"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "time-patterns" = callPackage @@ -215548,6 +232263,7 @@ self: { description = "Quasi-quoters for dates and times"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "time-recurrence" = callPackage @@ -215566,6 +232282,7 @@ self: { description = "Generate recurring dates"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "time-series" = callPackage @@ -215581,6 +232298,7 @@ self: { description = "Time series analysis"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "time-series-lib" = callPackage @@ -215595,6 +232313,7 @@ self: { description = "Library for Time Series processing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "time-units" = callPackage @@ -215620,6 +232339,7 @@ self: { description = "Parse, format and convert W3C Date and Time"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "time-warp" = callPackage @@ -215658,6 +232378,7 @@ self: { description = "Distributed systems execution emulation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "timecalc" = callPackage @@ -215671,14 +232392,15 @@ self: { executableHaskellDepends = [ base haskeline uu-parsinglib ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "timeconsole" = callPackage ({ mkDerivation, base, process, time }: mkDerivation { pname = "timeconsole"; - version = "0.1.0.4"; - sha256 = "0kk16hpf7adb2bz4bs3rr4gv6gdw3jki3bz7ln5034b3hrzbf0a1"; + version = "0.1.0.5"; + sha256 = "1p4h007c4x7mybc4bx9bbnwrxhxn6s1nlkbwg5ixhdb4siknqasi"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ base process time ]; @@ -215794,6 +232516,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "timeout" = callPackage @@ -215811,6 +232534,7 @@ self: { description = "Generalized sleep and timeout functions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "timeout-control" = callPackage @@ -215838,6 +232562,7 @@ self: { description = "Runs a time-limited computation alowing it to return intermediate results"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "timeparsers" = callPackage @@ -215854,6 +232579,7 @@ self: { description = "Attoparsec parsers for various Date/Time formats"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "timeplot" = callPackage @@ -215875,6 +232601,7 @@ self: { description = "A tool for visualizing time series from log files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "timeprint" = callPackage @@ -215887,40 +232614,19 @@ self: { description = "Prints timestamps after each line evaluated"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "timer-wheel" = callPackage - ({ mkDerivation, atomic-primops, base, ghc-prim, primitive - , psqueues - }: + ({ mkDerivation, atomic-primops, base, psqueues, random, vector }: mkDerivation { pname = "timer-wheel"; - version = "0.1.0"; - sha256 = "0wjm767yxf3hg3p80nd0hi0bfvdssq0f3lj9pzkmrsnsqafngs2j"; - revision = "1"; - editedCabalFile = "0vk0p21x90wiazss30zkbzr5fnsc4gih9a6xaa9myyycw078600v"; - libraryHaskellDepends = [ - atomic-primops base ghc-prim primitive psqueues - ]; - description = "A timer wheel"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "timer-wheel_0_2_0" = callPackage - ({ mkDerivation, atomic-primops, base, ghc-prim, primitive - , psqueues, random - }: - mkDerivation { - pname = "timer-wheel"; - version = "0.2.0"; - sha256 = "0i1n9qbichgalrw9sp6qwhd9p4179havlp4gqbck2w9sbans05hp"; - libraryHaskellDepends = [ - atomic-primops base ghc-prim primitive psqueues - ]; + version = "0.2.0.1"; + sha256 = "1m3bv095kbm4ksva3plhggkq2c0jf441wm994l57jfmlcng2i4xy"; + libraryHaskellDepends = [ atomic-primops base psqueues vector ]; testHaskellDepends = [ base random ]; description = "A timer wheel"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "timerep" = callPackage @@ -215960,13 +232666,14 @@ self: { ({ mkDerivation, base, hspec }: mkDerivation { pname = "timers-tick"; - version = "0.4.0.0"; - sha256 = "02da32j9jz21awmsf38rrj3l3ks7s9a6vvqadr98c35shx3sxzcq"; + version = "0.4.1.0"; + sha256 = "1dbkgsvzfxgf4cgkzlmn1dcjw3rb7rrx56ix7n5r1k42n0wsyfsg"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base hspec ]; description = "tick based timers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "timers-updatable" = callPackage @@ -215998,6 +232705,7 @@ self: { description = "Library for Time Series processing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "timespan" = callPackage @@ -216010,6 +232718,7 @@ self: { description = "Useful timespan datatype and functions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "timestamp" = callPackage @@ -216057,6 +232766,23 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "timeutils" = callPackage + ({ mkDerivation, base, brick, hspec, microlens, time, vty }: + mkDerivation { + pname = "timeutils"; + version = "0.1.0"; + sha256 = "12i331hvnbzbln8c38wqj7a7836l40zm4p1b3lb10q81qk4wnygi"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base microlens time ]; + executableHaskellDepends = [ base brick microlens time vty ]; + testHaskellDepends = [ base hspec microlens time ]; + description = "Time utilities"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "timezone-olson" = callPackage ({ mkDerivation, base, binary, bytestring, extensible-exceptions , time, timezone-series @@ -216117,6 +232843,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "timing-convenience" = callPackage @@ -216132,18 +232859,18 @@ self: { "tintin" = callPackage ({ mkDerivation, base, clay, containers, data-has, directory - , frontmatter, inliterate, lucid, optparse-generic, process - , require, temporary, text, universum, yaml + , frontmatter, inflections, inliterate, lucid, optparse-generic + , process, require, temporary, text, universum, yaml }: mkDerivation { pname = "tintin"; - version = "1.9.5"; - sha256 = "1z7yvp0c10gkxljg6lkn26niigx0wkdmzs7pqjd666lgzk0ji5hy"; + version = "1.10.0"; + sha256 = "04946h5jr7pbj8n46vbipj46n5klqb83az9nasq7smkv1kdz6dv6"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base clay containers data-has directory frontmatter inliterate - lucid process require temporary text universum yaml + base clay containers data-has directory frontmatter inflections + inliterate lucid process require temporary text universum yaml ]; libraryToolDepends = [ require ]; executableHaskellDepends = [ @@ -216154,6 +232881,7 @@ self: { description = "A softer alternative to Haddock"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tiny-scheduler" = callPackage @@ -216166,6 +232894,7 @@ self: { description = "tiny no-brainer job scheduler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tinyMesh" = callPackage @@ -216182,6 +232911,7 @@ self: { description = "TinyMesh - communicating with auto-meshing sensor network"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tinyXml" = callPackage @@ -216207,6 +232937,7 @@ self: { description = "A fast DOM parser for a subset of XML"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tinyfiledialogs" = callPackage @@ -216227,8 +232958,8 @@ self: { }: mkDerivation { pname = "tinylog"; - version = "0.14.1"; - sha256 = "01yz41l45qmc878gzhbchzkvr4ha2cfmvvjv31hwivgwgl8rcgni"; + version = "0.15.0"; + sha256 = "0pwdymx4kx3im9pzah0lmh64x7agdklf6dwqpjx93ybswi61cwfb"; libraryHaskellDepends = [ base bytestring containers double-conversion fast-logger text transformers unix-time @@ -216249,6 +232980,7 @@ self: { description = "A tiny text templating library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tip-haskell-frontend" = callPackage @@ -216274,6 +233006,7 @@ self: { description = "Convert from Haskell to Tip"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tip-lib" = callPackage @@ -216298,6 +233031,7 @@ self: { description = "tons of inductive problems - support library and tools"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tiphys" = callPackage @@ -216328,6 +233062,7 @@ self: { description = "Testing Infrastructure for Temporal AbstractioNs"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "titlecase" = callPackage @@ -216363,6 +233098,7 @@ self: { description = "Simple Presentation Utility"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tkyprof" = callPackage @@ -216390,6 +233126,7 @@ self: { description = "A web-based visualizer for GHC Profiling Reports"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tld" = callPackage @@ -216457,6 +233194,34 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "tls_1_5_1" = callPackage + ({ mkDerivation, asn1-encoding, asn1-types, async, base, bytestring + , cereal, cryptonite, data-default-class, gauge, hourglass, memory + , mtl, network, QuickCheck, tasty, tasty-quickcheck, transformers + , x509, x509-store, x509-validation + }: + mkDerivation { + pname = "tls"; + version = "1.5.1"; + sha256 = "1fs5q494ip8hi2jdp34wy93hmdd42lwkh1hi0jg3ngdnilpg33yi"; + libraryHaskellDepends = [ + asn1-encoding asn1-types async base bytestring cereal cryptonite + data-default-class hourglass memory mtl network transformers x509 + x509-store x509-validation + ]; + testHaskellDepends = [ + asn1-types async base bytestring cryptonite data-default-class + hourglass QuickCheck tasty tasty-quickcheck x509 x509-validation + ]; + benchmarkHaskellDepends = [ + asn1-types async base bytestring cryptonite data-default-class + gauge hourglass QuickCheck tasty-quickcheck x509 x509-validation + ]; + description = "TLS/SSL protocol native implementation (Server and Client)"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "tls-debug" = callPackage ({ mkDerivation, base, bytestring, cryptonite, data-default-class , network, pem, time, tls, x509, x509-store, x509-system @@ -216476,6 +233241,26 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "tls-debug_0_4_7" = callPackage + ({ mkDerivation, base, bytestring, cryptonite, data-default-class + , network, pem, tls, tls-session-manager, x509, x509-store + , x509-system, x509-validation + }: + mkDerivation { + pname = "tls-debug"; + version = "0.4.7"; + sha256 = "1p3ihky5vznjv66f1mbpj33ahkg8g0xgfknldzmgllwsmh533dji"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base bytestring cryptonite data-default-class network pem tls + tls-session-manager x509 x509-store x509-system x509-validation + ]; + description = "Set of programs for TLS testing and debugging"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "tls-extra" = callPackage ({ mkDerivation, base, bytestring, certificate, cipher-aes , cipher-rc4, crypto-pubkey, crypto-random, cryptohash, mtl @@ -216494,15 +233279,20 @@ self: { description = "TLS extra default values and helpers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tls-session-manager" = callPackage - ({ mkDerivation, auto-update, base, clock, psqueues, tls }: + ({ mkDerivation, auto-update, base, basement, bytestring, clock + , memory, psqueues, tls + }: mkDerivation { pname = "tls-session-manager"; - version = "0.0.0.2"; - sha256 = "0rvmln545vghsx8zhxp44f0f6pzma8cylarmfhhysy55ipywr1n5"; - libraryHaskellDepends = [ auto-update base clock psqueues tls ]; + version = "0.0.3"; + sha256 = "0k57flqp2b4bipafiyfipnqmdqv04ky39yr4s4s9sx577zz2j2yi"; + libraryHaskellDepends = [ + auto-update base basement bytestring clock memory psqueues tls + ]; description = "In-memory TLS session manager"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -216543,16 +233333,17 @@ self: { }) {}; "tmp-postgres" = callPackage - ({ mkDerivation, base, bytestring, directory, hspec, hspec-discover - , network, postgresql-simple, process, temporary, unix + ({ mkDerivation, async, base, bytestring, directory, hspec + , hspec-discover, network, port-utils, postgresql-simple, process + , temporary, unix }: mkDerivation { pname = "tmp-postgres"; - version = "0.1.1.1"; - sha256 = "0qz85flbg2ihkcsjdhambgj07xrz75pgpiz8wpapj0gnady5ap9c"; + version = "0.2.0.0"; + sha256 = "08w88rh8yap7dmh2jn3x8rd918jxscw46jzljfbdyda9rzfz7kq4"; libraryHaskellDepends = [ - base bytestring directory network postgresql-simple process - temporary unix + async base bytestring directory network port-utils + postgresql-simple process temporary unix ]; testHaskellDepends = [ base bytestring directory hspec hspec-discover postgresql-simple @@ -216561,6 +233352,8 @@ self: { testToolDepends = [ hspec-discover ]; description = "Start and stop a temporary postgres for testing"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tmpl" = callPackage @@ -216599,6 +233392,7 @@ self: { description = "A simple daily journal program"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tnet" = callPackage @@ -216613,6 +233407,25 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "to" = callPackage + ({ mkDerivation, base, bytestring, containers, gauge, hashable + , text, unordered-containers, utf8-string, vector + }: + mkDerivation { + pname = "to"; + version = "1.2.0"; + sha256 = "13y4vxfm76929c4nj6rp06y81nm30m3v52r927k41nbb0fdx8z7y"; + libraryHaskellDepends = [ + base bytestring containers hashable text unordered-containers + utf8-string vector + ]; + benchmarkHaskellDepends = [ + base containers gauge text unordered-containers + ]; + description = "Simple, safe, boring type conversions"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "to-haskell" = callPackage ({ mkDerivation, base, containers, haskell-src-exts, transformers }: @@ -216626,6 +233439,7 @@ self: { description = "A type class and some utilities for generating Haskell code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "to-string-class" = callPackage @@ -216634,10 +233448,13 @@ self: { pname = "to-string-class"; version = "0.1.2"; sha256 = "0l2hj0cbc0dhd7m5bn6xqgzkdf2z4knirmv8c65hsjig9mpsvsxf"; + revision = "1"; + editedCabalFile = "1p5q59gswv86pk7hxpg1n81q4szhwx8rwfx5hsibdz9i9mgz2bbs"; libraryHaskellDepends = [ base ]; description = "Converting string-like types to Strings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "to-string-instances" = callPackage @@ -216650,6 +233467,7 @@ self: { description = "Instances for the ToString class"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "toboggan" = callPackage @@ -216669,18 +233487,18 @@ self: { description = "Twitter bot generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "todo" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "todo"; - version = "0.2.0.1"; - sha256 = "0paxykbni3gwxgs25lkjsb8jfk4bc5gwnrfp16v189smqj1slc3g"; + version = "0.2.0.2"; + sha256 = "1gh2jdrxph0x9cc03kk8xxjyicivwcqfs9qv2nfr7mn570cmjrmw"; libraryHaskellDepends = [ base ]; description = "A todo bottom"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "todos" = callPackage @@ -216707,6 +233525,7 @@ self: { description = "Easy-to-use TODOs manager"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tofromxml" = callPackage @@ -216726,6 +233545,7 @@ self: { description = "Reading and writing Haskell data from and to XML"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "toilet" = callPackage @@ -216744,6 +233564,7 @@ self: { description = "Manage the toilet queue at the IMO"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "token-bucket" = callPackage @@ -216760,6 +233581,22 @@ self: { license = stdenv.lib.licenses.gpl3; }) {}; + "token-limiter" = callPackage + ({ mkDerivation, async, base, clock, ghc-prim, QuickCheck, tasty + , tasty-hunit, text + }: + mkDerivation { + pname = "token-limiter"; + version = "0.1.0.0"; + sha256 = "1ypvc44h68kshy4nsngxhqip6040cabrf6nf6p48ccav3s5497a2"; + libraryHaskellDepends = [ base clock ghc-prim ]; + testHaskellDepends = [ + async base clock QuickCheck tasty tasty-hunit text + ]; + description = "Fast rate limiting using the token bucket algorithm (BSD)"; + license = stdenv.lib.licenses.bsd2; + }) {}; + "tokenify" = callPackage ({ mkDerivation, base, containers, text }: mkDerivation { @@ -216770,6 +233607,7 @@ self: { description = "A regex lexer"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tokenize" = callPackage @@ -216797,7 +233635,6 @@ self: { libraryHaskellDepends = [ base bytestring text ]; description = "An efficient and easy-to-use tokenizer monad"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "tokenizer-streaming" = callPackage @@ -216829,6 +233666,7 @@ self: { description = "TokTok C code style checker"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "toktok" = callPackage @@ -216844,6 +233682,7 @@ self: { executableHaskellDepends = [ base bytestring gf iconv ]; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tokyocabinet-haskell" = callPackage @@ -216857,6 +233696,7 @@ self: { description = "Haskell binding of Tokyo Cabinet"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) tokyocabinet;}; "tokyotyrant-haskell" = callPackage @@ -216870,7 +233710,9 @@ self: { librarySystemDepends = [ tokyocabinet tokyotyrant ]; description = "FFI bindings to libtokyotyrant"; license = stdenv.lib.licenses.bsd3; + platforms = [ "i686-linux" "x86_64-linux" ]; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) tokyocabinet; inherit (pkgs) tokyotyrant;}; "tomato-rubato-openal" = callPackage @@ -216883,6 +233725,7 @@ self: { description = "Easy to use library for audio programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "toml" = callPackage @@ -216900,6 +233743,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "toml-parser" = callPackage @@ -216918,38 +233762,7 @@ self: { "tomland" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, deepseq - , gauge, hashable, hedgehog, hspec-megaparsec, htoml - , htoml-megaparsec, megaparsec, mtl, parsec, parser-combinators - , tasty, tasty-discover, tasty-hedgehog, tasty-hspec, tasty-silver - , text, time, transformers, unordered-containers - }: - mkDerivation { - pname = "tomland"; - version = "0.5.0"; - sha256 = "001gw3yj0ibg3dm4q5wz8akjpcdx6zj3jza1y6gq7m5h13fzrvgf"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - base bytestring containers deepseq hashable megaparsec mtl - parser-combinators text time transformers unordered-containers - ]; - executableHaskellDepends = [ base text time unordered-containers ]; - testHaskellDepends = [ - base hedgehog hspec-megaparsec megaparsec tasty tasty-hedgehog - tasty-hspec tasty-silver text time unordered-containers - ]; - testToolDepends = [ tasty-discover ]; - benchmarkHaskellDepends = [ - aeson base deepseq gauge htoml htoml-megaparsec parsec text time - ]; - description = "Bidirectional TOML parser"; - license = stdenv.lib.licenses.mpl20; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "tomland_1_0_0" = callPackage - ({ mkDerivation, aeson, base, bytestring, containers, deepseq - , gauge, hashable, hedgehog, hspec-megaparsec, htoml + , directory, gauge, hashable, hedgehog, hspec-megaparsec, htoml , htoml-megaparsec, markdown-unlit, megaparsec, mtl, parsec , parser-combinators, tasty, tasty-discover, tasty-hedgehog , tasty-hspec, tasty-silver, text, time, toml-parser, transformers @@ -216957,10 +233770,10 @@ self: { }: mkDerivation { pname = "tomland"; - version = "1.0.0"; - sha256 = "0zxal12gn6d2657a14idzzjxymwmnrzkkicf7gqwlgwpn0lnr4p6"; + version = "1.1.0.1"; + sha256 = "0ihz8pvcnr33mydz4n7gsayikh50pn1bg3km2h3nlv054lff7kai"; revision = "1"; - editedCabalFile = "14n2zgnzfdg549pjrj7f8v02wz68mp5lr9gnyx3w1hv96jb9ksx6"; + editedCabalFile = "16382q0q77bv9zlahmgbmc90hvl1b23g9fxk4dl2f1lhlfqjkxnw"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -216970,9 +233783,9 @@ self: { executableHaskellDepends = [ base text time unordered-containers ]; executableToolDepends = [ markdown-unlit ]; testHaskellDepends = [ - base bytestring containers hashable hedgehog hspec-megaparsec - megaparsec tasty tasty-hedgehog tasty-hspec tasty-silver text time - unordered-containers + base bytestring containers directory hashable hedgehog + hspec-megaparsec megaparsec tasty tasty-hedgehog tasty-hspec + tasty-silver text time unordered-containers ]; testToolDepends = [ tasty-discover ]; benchmarkHaskellDepends = [ @@ -216981,7 +233794,6 @@ self: { ]; description = "Bidirectional TOML serialization"; license = stdenv.lib.licenses.mpl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "tomlcheck" = callPackage @@ -216990,8 +233802,8 @@ self: { }: mkDerivation { pname = "tomlcheck"; - version = "0.1.0.39"; - sha256 = "1kz3bbrymh23b8iadq8baircqh11r3q3zv75390ymxiz3ns26vh8"; + version = "0.1.0.40"; + sha256 = "0r56fzmngylwcnykhn22hnlaj553m5l29rsjplmlhy3b2rdb10hj"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -216999,6 +233811,8 @@ self: { ]; description = "Command-line tool to check syntax of TOML files"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tonalude" = callPackage @@ -217046,8 +233860,8 @@ self: { }: mkDerivation { pname = "tonatona-google-server-api"; - version = "0.1.1.0"; - sha256 = "094la1rd8527a398607rsq9z2hiay59biy9fnfiw7qyigwf4zlr0"; + version = "0.1.2.0"; + sha256 = "1pmpmmyqs41anm0b2cmf0fj75lz31w5s1bidjqjyqymznpna0i0j"; libraryHaskellDepends = [ base google-server-api monad-logger persistent persistent-sqlite resource-pool servant-client tonalude tonaparser tonatona @@ -217059,7 +233873,6 @@ self: { ]; description = "tonatona plugin for google-server-api"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "tonatona-logger" = callPackage @@ -217121,8 +233934,8 @@ self: { }: mkDerivation { pname = "tonatona-servant"; - version = "0.1.0.1"; - sha256 = "1202fxvjkmvj9sgy576y0ghpcqdca1bhagsxrrz3hcdkyvd2lr9s"; + version = "0.1.0.2"; + sha256 = "1r0xh69wzzj8h846vi7kp8gkd9i0xfyrcjj8ggliz5h7pvrfwvbl"; libraryHaskellDepends = [ base exceptions http-types monad-logger rio servant servant-server tonaparser tonatona tonatona-logger wai wai-extra warp @@ -217143,17 +233956,17 @@ self: { , diversity, fgl, filepath, find-clumpiness, foldl, graphviz , hierarchical-clustering, hierarchical-spectral-clustering , hmatrix, inline-r, lens, managed, matrix-market-attoparsec - , mltool, modularity, mtl, optparse-generic, palette, parallel - , plots, safe, scientific, sparse-linear-algebra - , spectral-clustering, split, statistics, streaming - , streaming-bytestring, streaming-cassava, streaming-utils - , streaming-with, SVGFonts, temporary, terminal-progress-bar, text - , text-show, transformers, vector, vector-algorithms, zlib + , modularity, mtl, optparse-generic, palette, parallel, plots, safe + , scientific, sparse-linear-algebra, spectral-clustering, split + , statistics, streaming, streaming-bytestring, streaming-cassava + , streaming-utils, streaming-with, SVGFonts, temporary + , terminal-progress-bar, text, text-show, transformers, vector + , vector-algorithms, zlib }: mkDerivation { pname = "too-many-cells"; - version = "0.1.3.0"; - sha256 = "0p73crss0jdn7qbz7qvhpvs988g0w6x819f9gyyx21lnkvm1qlhn"; + version = "0.1.12.4"; + sha256 = "02qgin4x0vmj56y4yv3zb4fimd6zaqnx344gyj9lrq11fnr202yr"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -217161,9 +233974,9 @@ self: { diagrams diagrams-cairo diagrams-graphviz diagrams-lib differential directory diversity fgl filepath find-clumpiness foldl graphviz hierarchical-clustering hierarchical-spectral-clustering hmatrix - inline-r lens managed matrix-market-attoparsec mltool modularity - mtl palette parallel plots safe scientific sparse-linear-algebra - split statistics streaming streaming-bytestring streaming-cassava + inline-r lens managed matrix-market-attoparsec modularity mtl + palette parallel plots safe scientific sparse-linear-algebra split + statistics streaming streaming-bytestring streaming-cassava streaming-with SVGFonts temporary text text-show vector vector-algorithms zlib ]; @@ -217171,46 +233984,52 @@ self: { aeson base birch-beer bytestring cassava colour containers diagrams-cairo diagrams-lib directory fgl filepath find-clumpiness graphviz hierarchical-spectral-clustering inline-r lens - matrix-market-attoparsec mtl optparse-generic palette plots - spectral-clustering streaming streaming-bytestring streaming-utils - terminal-progress-bar text text-show transformers vector + matrix-market-attoparsec modularity mtl optparse-generic palette + plots spectral-clustering streaming streaming-bytestring + streaming-utils terminal-progress-bar text text-show transformers + vector ]; description = "Cluster single cells and analyze cell clade relationships"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "toodles" = callPackage - ({ mkDerivation, aeson, base, blaze-html, cmdargs, directory, extra - , hspec, hspec-expectations, megaparsec, MissingH, regex-posix - , servant, servant-blaze, servant-server, strict, text, wai, warp - , yaml + ({ mkDerivation, aeson, base, base64-bytestring, blaze-html + , bytestring, cmdargs, directory, extra, filepath, hspec + , hspec-expectations, megaparsec, MissingH, process, regex-posix + , RSA, servant, servant-blaze, servant-server, strict, text, time + , wai, warp, yaml }: mkDerivation { pname = "toodles"; - version = "1.0.3"; - sha256 = "1nzrfdbwz5ykiim76jr3v1666acrhh76k4q4gwix9bixcm8al2zf"; + version = "1.2.3"; + sha256 = "0b6sznzkcjhs5fw920ivmvh6n6walamy16602bxid7sjrlgdjzcf"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - aeson base blaze-html cmdargs directory extra hspec - hspec-expectations megaparsec MissingH regex-posix servant - servant-blaze servant-server strict text wai warp yaml + aeson base base64-bytestring blaze-html bytestring cmdargs + directory extra megaparsec MissingH process regex-posix RSA servant + servant-blaze servant-server strict text time wai warp yaml ]; executableHaskellDepends = [ - aeson base blaze-html cmdargs directory extra hspec - hspec-expectations megaparsec MissingH regex-posix servant - servant-blaze servant-server strict text wai warp yaml + aeson base base64-bytestring blaze-html bytestring cmdargs + directory extra filepath megaparsec MissingH process regex-posix + RSA servant servant-blaze servant-server strict text time wai warp + yaml ]; testHaskellDepends = [ - aeson base blaze-html cmdargs directory extra hspec - hspec-expectations megaparsec MissingH regex-posix servant - servant-blaze servant-server strict text wai warp yaml + aeson base base64-bytestring blaze-html bytestring cmdargs + directory extra hspec hspec-expectations megaparsec MissingH + process regex-posix servant servant-blaze servant-server strict + text time wai warp yaml ]; description = "Manage the TODO entries in your code"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "toolshed" = callPackage @@ -217219,8 +234038,8 @@ self: { }: mkDerivation { pname = "toolshed"; - version = "0.18.0.0"; - sha256 = "0x8sn6gvmns81xjkzs1r5jfaar3qjhcyl6q9dbniyglk5y7w35gm"; + version = "0.18.0.1"; + sha256 = "0sw7fxcqr1pfb7kjzvra56ji6nl02175rscb1s4bvw6rrq7xjb6v"; libraryHaskellDepends = [ array base containers data-default deepseq directory filepath QuickCheck random @@ -217253,6 +234072,7 @@ self: { description = "Top (typed oriented protocol) API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "topkata" = callPackage @@ -217272,6 +234092,22 @@ self: { description = "OpenGL Arcade Game"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "topograph" = callPackage + ({ mkDerivation, base, base-compat, base-orphans, containers + , vector + }: + mkDerivation { + pname = "topograph"; + version = "1"; + sha256 = "0vm7ja5f677lpphfmggx68h144k0fzj0n6r6ypf5474da405xad7"; + libraryHaskellDepends = [ + base base-compat base-orphans containers vector + ]; + description = "Directed acyclic graphs"; + license = stdenv.lib.licenses.bsd3; }) {}; "torch" = callPackage @@ -217284,6 +234120,7 @@ self: { description = "Simple unit test library (or framework)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "torrent" = callPackage @@ -217355,6 +234192,7 @@ self: { description = "Finitely represented /total/ maps"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "total-maps" = callPackage @@ -217386,6 +234224,7 @@ self: { description = "Library (and cli) to execute a procedure on file change"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tower" = callPackage @@ -217429,6 +234268,7 @@ self: { description = "Haskell bindings to the C reference implementation of Tox"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {toxcore = null;}; "toxiproxy-haskell" = callPackage @@ -217449,6 +234289,7 @@ self: { description = "Client library for Toxiproxy: a TCP failure testing proxy"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "toysolver" = callPackage @@ -217468,6 +234309,8 @@ self: { pname = "toysolver"; version = "0.5.0"; sha256 = "0dr34aknbh8p500zj4lcll5mi1km16jxyvjx1gdrp63csdfi1ich"; + revision = "1"; + editedCabalFile = "19qbl75mn7kwyvygwc0ad73vj4vkaj5mnkmwpx9mavwl7px2kzps"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -217501,6 +234344,7 @@ self: { description = "Assorted decision procedures for SAT, SMT, Max-SAT, PB, MIP, etc"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tpar" = callPackage @@ -217538,6 +234382,7 @@ self: { description = "simple, parallel job scheduling"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tpb" = callPackage @@ -217564,6 +234409,7 @@ self: { description = "Applications for interacting with the Pushbullet API"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tpdb" = callPackage @@ -217573,8 +234419,8 @@ self: { }: mkDerivation { pname = "tpdb"; - version = "2.1.1"; - sha256 = "0hk592dki8hp15a84pnqnjdwql2zczfask71gxf833i0vrph38yb"; + version = "2.2.0"; + sha256 = "1hrnfvp49rny9rznnhlhvgw4ffmn9nbbdiknsbwxgjfh1ixir1vf"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -217585,7 +234431,25 @@ self: { testHaskellDepends = [ base pretty text ]; description = "Data Type for Rewriting Systems"; license = "GPL"; - hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "tptp" = callPackage + ({ mkDerivation, attoparsec, base, Cabal, directory, doctest, extra + , generic-random, prettyprinter, QuickCheck, scientific, text + }: + mkDerivation { + pname = "tptp"; + version = "0.1.0.3"; + sha256 = "1h00g4263akyfgirvdw5ylbiskl3hhrx58jar59blj57k0i969wi"; + libraryHaskellDepends = [ + attoparsec base prettyprinter scientific text + ]; + testHaskellDepends = [ + attoparsec base Cabal directory doctest extra generic-random + prettyprinter QuickCheck scientific text + ]; + description = "A parser and a pretty printer for the TPTP language"; + license = stdenv.lib.licenses.gpl3; }) {}; "trace" = callPackage @@ -217603,6 +234467,7 @@ self: { description = "A monad transformer for tracing provenience of errors"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "trace-call" = callPackage @@ -217615,6 +234480,7 @@ self: { description = "functions for logging the arguments and results of function calls"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "trace-function-call" = callPackage @@ -217627,6 +234493,7 @@ self: { description = "Easy lightweight tracing of function arguments and results for ad hoc debugging"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "traced" = callPackage @@ -217639,6 +234506,7 @@ self: { description = "Simple evaluation trace"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tracer" = callPackage @@ -217669,6 +234537,30 @@ self: { description = "Visualize Haskell data structures as edge-labeled trees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tracing" = callPackage + ({ mkDerivation, aeson, base, base16-bytestring, bytestring + , case-insensitive, containers, hspec, http-client, ip, mtl + , network, random, stm, text, time, transformers, unliftio + }: + mkDerivation { + pname = "tracing"; + version = "0.0.4.0"; + sha256 = "1l0sh9rmbysjysh169902hzx86dahiffgss8wnac8vcz95kc5qjb"; + libraryHaskellDepends = [ + aeson base base16-bytestring bytestring case-insensitive containers + http-client ip mtl network random stm text time transformers + unliftio + ]; + testHaskellDepends = [ + base containers hspec mtl stm text unliftio + ]; + description = "Distributed tracing"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tracker" = callPackage @@ -217681,6 +234573,7 @@ self: { description = "Client library for Tracker metadata database, indexer and search tool"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "trackit" = callPackage @@ -217689,8 +234582,8 @@ self: { }: mkDerivation { pname = "trackit"; - version = "0.6"; - sha256 = "0944m0s1r2f53m9cmfw7jzv4xxgrfppy0cnh0a98j129n6xn39sq"; + version = "0.6.2"; + sha256 = "13xydhv9aaw0yk2wa0r2izwn98b0vgsx4vr2r8zpg0qxlhhriidv"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -217699,7 +234592,6 @@ self: { ]; description = "A command-line tool for live monitoring"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "traction" = callPackage @@ -217709,8 +234601,8 @@ self: { }: mkDerivation { pname = "traction"; - version = "0.0.1"; - sha256 = "15sl663zk2fys3f5r5vizazid64ij2kwya2p8yk3gyhmnklccqmn"; + version = "0.3.0"; + sha256 = "1y0l02hcbxmc3vidg477z7dlbikalmi448dv8dl5pl7zpflcp7di"; libraryHaskellDepends = [ base bytestring containers exceptions mmorph postgresql-simple resource-pool syb template-haskell text time transformers @@ -217719,8 +234611,10 @@ self: { testHaskellDepends = [ base hedgehog mmorph postgresql-simple resource-pool text ]; + description = "Tools for postgresql-simple"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tracy" = callPackage @@ -217733,6 +234627,7 @@ self: { description = "Convenience wrappers for non-intrusive debug tracing"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "traildb" = callPackage @@ -217757,6 +234652,7 @@ self: { description = "TrailDB bindings for Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {Judy = null; traildb = null;}; "trajectory" = callPackage @@ -217780,6 +234676,41 @@ self: { description = "Tools and a library for working with Trajectory"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "trans-fx-core" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "trans-fx-core"; + version = "0.0.1"; + sha256 = "0hkwl1dygghym6w5qci53ylkhk298bzddfvahisr2gw5wibknrfs"; + libraryHaskellDepends = [ base ]; + description = "Monadic effect framework"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "trans-fx-data" = callPackage + ({ mkDerivation, base, trans-fx-core }: + mkDerivation { + pname = "trans-fx-data"; + version = "0.0.1"; + sha256 = "0y4hnn1ixgsqd9x829cxyn0n2psxpjczxxaa99jv9wrfwfvssgid"; + libraryHaskellDepends = [ base trans-fx-core ]; + description = "Monadic effect framework"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "trans-fx-io" = callPackage + ({ mkDerivation, base, time, trans-fx-core, trans-fx-data }: + mkDerivation { + pname = "trans-fx-io"; + version = "0.0.1"; + sha256 = "1yf3j35q0j5if1hpl11083bwrcyyr378wwnp98m1f5gsrlj62qpw"; + libraryHaskellDepends = [ base time trans-fx-core trans-fx-data ]; + testHaskellDepends = [ base time trans-fx-core ]; + description = "Monadic effect framework"; + license = stdenv.lib.licenses.bsd3; }) {}; "transaction" = callPackage @@ -217810,6 +234741,7 @@ self: { description = "Transactional events, based on Concurrent ML semantics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "transf" = callPackage @@ -217829,6 +234761,7 @@ self: { description = "Text transformer and interpreter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "transfer-db" = callPackage @@ -217858,6 +234791,7 @@ self: { description = "ODBC database transfer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "transformations" = callPackage @@ -217879,6 +234813,7 @@ self: { description = "Generic representation of tree transformations"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "transformers_0_4_3_0" = callPackage @@ -217944,6 +234879,8 @@ self: { pname = "transformers-bifunctors"; version = "0.1"; sha256 = "01s8516m9cybx5gqxk8g00fnkbwpfi5vrm1pgi62pxk1cgbx699w"; + revision = "1"; + editedCabalFile = "1vjyk2ldwfi2pkvk79p37ii5xgg1399kxqhkq3l4wvag4j5p4afs"; libraryHaskellDepends = [ base mmorph transformers ]; description = "Bifunctors over monad transformers"; license = stdenv.lib.licenses.bsd3; @@ -217953,8 +234890,8 @@ self: { ({ mkDerivation, base, ghc-prim, transformers }: mkDerivation { pname = "transformers-compat"; - version = "0.6.2"; - sha256 = "1gp4a8kvniwgm8947ghb4iwv4b7wd6ry4kvv4nfnym4agf5j41nw"; + version = "0.6.5"; + sha256 = "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"; libraryHaskellDepends = [ base ghc-prim transformers ]; description = "A small compatibility shim for the transformers library"; license = stdenv.lib.licenses.bsd3; @@ -217970,6 +234907,7 @@ self: { description = "Arrow-like / category-like composition for transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "transformers-continue" = callPackage @@ -218000,6 +234938,7 @@ self: { description = "Sensible conversions between some of the monad transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "transformers-eff" = callPackage @@ -218033,6 +234972,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "transformers-except" = callPackage + ({ mkDerivation, base, exceptions, text, transformers }: + mkDerivation { + pname = "transformers-except"; + version = "0.1.1"; + sha256 = "1i89k4bml223f7m3pin73vrz51xb2j7q7rr39x9v587hmm40mvkm"; + libraryHaskellDepends = [ base exceptions text transformers ]; + description = "An Except monad transformer with"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "transformers-fix" = callPackage ({ mkDerivation, base, transformers }: mkDerivation { @@ -218063,15 +235013,15 @@ self: { ({ mkDerivation, base, transformers, writer-cps-transformers }: mkDerivation { pname = "transformers-lift"; - version = "0.2.0.1"; - sha256 = "17g03r5hpnygx0c9ybr9za6208ay0cjvz47rkyplv1r9zcivzn0b"; - revision = "3"; - editedCabalFile = "0rkbjlpn460gn93qr0l7025ggkgj46j6pkcil6m2chkzk91cpk9i"; + version = "0.2.0.2"; + sha256 = "1w6wb8f8ad41l3gl4879289rb22jsgsj4qdaygf0wff45d04mq94"; libraryHaskellDepends = [ base transformers writer-cps-transformers ]; description = "Ad-hoc type classes for lifting"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "transformers-runnable" = callPackage @@ -218084,6 +235034,7 @@ self: { description = "A unified interface for the run operation of monad transformers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "transformers-supply" = callPackage @@ -218099,15 +235050,15 @@ self: { "transient" = callPackage ({ mkDerivation, atomic-primops, base, bytestring, containers - , directory, mtl, random, stm, time, transformers + , directory, mtl, primitive, random, stm, time, transformers }: mkDerivation { pname = "transient"; - version = "0.6.0.1"; - sha256 = "1k3zh4ahzzmj5ni0jyahzhfhbnvksa1ybq93541faa4g98h44ggy"; + version = "0.6.3"; + sha256 = "02zy60hilgagxa08j7bvd35wkpap5dzffc5af258hxiy0gdpdw0a"; libraryHaskellDepends = [ - atomic-primops base bytestring containers directory mtl random stm - time transformers + atomic-primops base bytestring containers directory mtl primitive + random stm time transformers ]; testHaskellDepends = [ atomic-primops base bytestring containers directory mtl random stm @@ -218116,6 +235067,7 @@ self: { description = "composing programs with multithreading, events and distributed computing"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "transient-universe" = callPackage @@ -218149,6 +235101,7 @@ self: { description = "Remote execution and map-reduce: distributed computing for Transient"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "transient-universe-tls" = callPackage @@ -218166,6 +235119,7 @@ self: { description = "transient with secure communications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "translatable-intset" = callPackage @@ -218180,6 +235134,7 @@ self: { description = "Integer sets with a constant time translate operation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "translate" = callPackage @@ -218193,6 +235148,7 @@ self: { description = "Haskell binding to Google's AJAX Language API for Translation and Detection"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "translate-cli" = callPackage @@ -218211,50 +235167,84 @@ self: { description = "Translation cli tool"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "trasa" = callPackage ({ mkDerivation, base, binary, bytestring, doctest, hashable - , http-media, http-types, tasty, tasty-hunit, tasty-quickcheck - , text, unordered-containers, vinyl - }: - mkDerivation { - pname = "trasa"; - version = "0.3"; - sha256 = "0v1srhmzwc8vdkwwpik91bvrq73driryl0lyazx7zvpvmqhxkmi6"; - libraryHaskellDepends = [ - base binary bytestring hashable http-media http-types text - unordered-containers vinyl - ]; - testHaskellDepends = [ - base bytestring doctest tasty tasty-hunit tasty-quickcheck text - vinyl - ]; - description = "Type Safe Web Routing"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "trasa-client" = callPackage - ({ mkDerivation, aeson, base, binary, bytestring, case-insensitive - , containers, http-client, http-media, http-types, ip, text, trasa + , http-media, http-types, quantification, text , unordered-containers }: + mkDerivation { + pname = "trasa"; + version = "0.4.1"; + sha256 = "0nnr72h6ylx52ni6l7r0nnv02d540agzfhyjfjrxywbx7xz70q5c"; + libraryHaskellDepends = [ + base binary bytestring hashable http-media http-types + quantification text unordered-containers + ]; + testHaskellDepends = [ base doctest ]; + description = "Type Safe Web Routing"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "trasa-client" = callPackage + ({ mkDerivation, base, binary, bytestring, case-insensitive + , containers, http-client, http-media, http-types, text, trasa + }: mkDerivation { pname = "trasa-client"; - version = "0.3"; - sha256 = "1cq0wbjv0kbhvprrggbkqqy6h6ixywfr816b9pd2qqmsnw4lq6ns"; + version = "0.4"; + sha256 = "0xfqjvc1a4vbm8kvw1s11n174sc33hb7psd5lwpa6hipifw3kmb1"; libraryHaskellDepends = [ base binary bytestring case-insensitive containers http-client http-media http-types text trasa ]; - testHaskellDepends = [ - aeson base http-client http-types ip text trasa - unordered-containers - ]; description = "Type safe http requests"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "trasa-extra" = callPackage + ({ mkDerivation, aeson, base, bytestring, case-insensitive + , containers, cookie, http-types, mtl, path-pieces, quantification + , text, trasa, trasa-server + }: + mkDerivation { + pname = "trasa-extra"; + version = "0.1.0.0"; + sha256 = "0ka5w55zzx7cy17pwdwcjf20yl0lmpg6bqv874k0ia7hihl6sx6c"; + libraryHaskellDepends = [ + aeson base bytestring case-insensitive containers cookie http-types + mtl path-pieces quantification text trasa trasa-server + ]; + description = "Extra functions for trasa"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "trasa-form" = callPackage + ({ mkDerivation, base, bytestring, cookie, ditto, ditto-lucid + , http-api-data, http-types, lucid, mtl, quantification, text + , trasa, trasa-server, unordered-containers + }: + mkDerivation { + pname = "trasa-form"; + version = "0.4"; + sha256 = "0d3fkwvjjwvjzaw5n9n4j4mrrrf8zwrg1882gyqjg0bglsd27xzx"; + libraryHaskellDepends = [ + base bytestring cookie ditto ditto-lucid http-api-data http-types + lucid mtl quantification text trasa trasa-server + unordered-containers + ]; + description = "generate forms using lucid, ditto and trasa"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "trasa-reflex" = callPackage @@ -218276,24 +235266,38 @@ self: { "trasa-server" = callPackage ({ mkDerivation, base, bytestring, case-insensitive, containers - , doctest, http-client, http-media, http-types, mtl, tasty - , tasty-hunit, tasty-quickcheck, text, trasa, vinyl, wai, warp + , http-media, http-types, mtl, text, trasa, wai }: mkDerivation { pname = "trasa-server"; - version = "0.2"; - sha256 = "1jiqlsmiz82xh0mxj72bm0daqjvn5h5wb44i50q4pbsijaqgvsyy"; + version = "0.5.4"; + sha256 = "1z3cq2zfygxf1v7ifga23mf7zn750925cvghmb3i54a9r0wafmb2"; libraryHaskellDepends = [ base bytestring case-insensitive containers http-media http-types mtl text trasa wai ]; - testHaskellDepends = [ - base bytestring doctest http-client tasty tasty-hunit - tasty-quickcheck text trasa vinyl warp - ]; description = "Type safe web server"; - license = stdenv.lib.licenses.bsd3; + license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "trasa-th" = callPackage + ({ mkDerivation, base, containers, megaparsec, template-haskell + , trasa + }: + mkDerivation { + pname = "trasa-th"; + version = "0.4"; + sha256 = "1jfnm0im5qk6s6a9fbdrz228mic5ribi53fyl7nnk8gsr5lrl22z"; + libraryHaskellDepends = [ + base containers megaparsec template-haskell trasa + ]; + testHaskellDepends = [ base trasa ]; + description = "Template Haskell to generate trasa routes"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "traverse-with-class" = callPackage @@ -218326,6 +235330,7 @@ self: { description = "A simple client implementation using Travis CI API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "travis-meta-yaml" = callPackage @@ -218356,6 +235361,7 @@ self: { description = ".travis.yml preprocessor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "travis-pogodi" = callPackage @@ -218389,6 +235395,7 @@ self: { description = "A tool for finding haddocks"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "traypoweroff" = callPackage @@ -218404,33 +235411,46 @@ self: { description = "Tray Icon application to PowerOff / Reboot computer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "treap" = callPackage + ({ mkDerivation, base, deepseq, doctest, Glob, hspec, hspec-core + , mersenne-random-pure64 + }: + mkDerivation { + pname = "treap"; + version = "0.0.0.0"; + sha256 = "0zq2jislk5fg7lshya6iivcksxh5wgb54kgllgqqra07w0sp6bd9"; + libraryHaskellDepends = [ base deepseq mersenne-random-pure64 ]; + testHaskellDepends = [ base doctest Glob hspec hspec-core ]; + description = "Efficient implementation of the implicit treap data structure"; + license = stdenv.lib.licenses.mpl20; }) {}; "tree-diff" = callPackage ({ mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, base - , base-compat, bytestring, containers, generics-sop, hashable - , MemoTrie, parsec, parsers, pretty, QuickCheck, scientific, tagged - , tasty, tasty-golden, tasty-quickcheck, text, time, trifecta + , base-compat, bytestring, bytestring-builder, containers, hashable + , parsec, parsers, pretty, QuickCheck, scientific, tagged, tasty + , tasty-golden, tasty-quickcheck, text, time, trifecta , unordered-containers, uuid-types, vector }: mkDerivation { pname = "tree-diff"; - version = "0.0.2"; - sha256 = "0zlviaikyk50l577q7h06w5z058v1ngjlhwzfn965xkp978hnsgq"; - revision = "1"; - editedCabalFile = "1rl12a2ydg744s289lna4zb0sj0b16abmrngp6qd1kfkih2ygml0"; + version = "0.1"; + sha256 = "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"; libraryHaskellDepends = [ aeson ansi-terminal ansi-wl-pprint base base-compat bytestring - containers generics-sop hashable MemoTrie parsec parsers pretty + bytestring-builder containers hashable parsec parsers pretty QuickCheck scientific tagged text time unordered-containers uuid-types vector ]; testHaskellDepends = [ ansi-terminal ansi-wl-pprint base base-compat parsec QuickCheck - tasty tasty-golden tasty-quickcheck trifecta + tagged tasty tasty-golden tasty-quickcheck trifecta ]; description = "Diffing of (expression) trees"; - license = stdenv.lib.licenses.bsd3; + license = stdenv.lib.licenses.gpl2Plus; }) {}; "tree-fun" = callPackage @@ -218455,6 +235475,159 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "tree-sitter" = callPackage + ({ mkDerivation, aeson, base, bytestring, directory, filepath + , fused-effects, hedgehog, hspec, split, template-haskell, text + , unordered-containers + }: + mkDerivation { + pname = "tree-sitter"; + version = "0.1.0.0"; + sha256 = "16yanr4k3zc55xgm5yajka7wgy475x2aq9lfv4j5lmxk0z7m9n9m"; + libraryHaskellDepends = [ + aeson base bytestring directory filepath fused-effects hedgehog + split template-haskell text unordered-containers + ]; + testHaskellDepends = [ base hedgehog hspec ]; + description = "Unstable bindings for the tree-sitter parsing library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tree-sitter-go" = callPackage + ({ mkDerivation, base, template-haskell, tree-sitter }: + mkDerivation { + pname = "tree-sitter-go"; + version = "0.1.0.0"; + sha256 = "0lpj6sphc8gfyy8yz4pkrykwvrly3vdhy7j9n7jiacjsxnbw33ag"; + libraryHaskellDepends = [ base template-haskell tree-sitter ]; + doHaddock = false; + description = "Tree-sitter grammar/parser for Go"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tree-sitter-haskell" = callPackage + ({ mkDerivation, base, template-haskell, tree-sitter }: + mkDerivation { + pname = "tree-sitter-haskell"; + version = "0.1.0.0"; + sha256 = "0jglvy6p4xwdwpk7jn9sh83j0zv51crvzfc45l10s8lflprydk1m"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base template-haskell tree-sitter ]; + doHaddock = false; + description = "Tree-sitter grammar/parser for Haskell (with GHC extensions)"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tree-sitter-java" = callPackage + ({ mkDerivation, base, template-haskell, tree-sitter }: + mkDerivation { + pname = "tree-sitter-java"; + version = "0.1.0.0"; + sha256 = "1npa7i8c24hb0ds52cphfhn5cw087f8iq5w56x5wsjkvm531zblr"; + libraryHaskellDepends = [ base template-haskell tree-sitter ]; + doHaddock = false; + description = "Tree-sitter grammar/parser for Java"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tree-sitter-json" = callPackage + ({ mkDerivation, base, template-haskell, tree-sitter }: + mkDerivation { + pname = "tree-sitter-json"; + version = "0.1.0.0"; + sha256 = "0agmr5nj4rjdlwcf64ijjwbmkpgl10gbgg26v8bpnx84cxhfjpa3"; + libraryHaskellDepends = [ base template-haskell tree-sitter ]; + doHaddock = false; + description = "Tree-sitter grammar/parser for JSON"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tree-sitter-php" = callPackage + ({ mkDerivation, base, template-haskell, tree-sitter }: + mkDerivation { + pname = "tree-sitter-php"; + version = "0.1.0.0"; + sha256 = "0a8sp6kvw2qxx5mmfyp08fgi65fvchizrw47ay985vbrkmmqgip5"; + libraryHaskellDepends = [ base template-haskell tree-sitter ]; + doHaddock = false; + description = "Tree-sitter grammar/parser for PHP"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tree-sitter-python" = callPackage + ({ mkDerivation, aeson, base, directory, filepath, template-haskell + , tree-sitter + }: + mkDerivation { + pname = "tree-sitter-python"; + version = "0.1.0.1"; + sha256 = "0pq4cl4fb14x9dfnc83glpvzq65li4bvl0jidbsji34v9hzkr2x1"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson base directory filepath template-haskell tree-sitter + ]; + doHaddock = false; + description = "Tree-sitter grammar/parser for Python"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tree-sitter-ruby" = callPackage + ({ mkDerivation, base, template-haskell, tree-sitter }: + mkDerivation { + pname = "tree-sitter-ruby"; + version = "0.1.0.0"; + sha256 = "1rcaqib1ly4p54vqwm2mivijqirc031w18hgkccrnyv97yxrbhw9"; + libraryHaskellDepends = [ base template-haskell tree-sitter ]; + doHaddock = false; + description = "Tree-sitter grammar/parser for Ruby"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tree-sitter-tsx" = callPackage + ({ mkDerivation, base, template-haskell, tree-sitter }: + mkDerivation { + pname = "tree-sitter-tsx"; + version = "0.1.0.0"; + sha256 = "0jsc5kx5dw4b686dfs7n3vdafyg8mpf94cq2mscwmcyv9w1f3gma"; + libraryHaskellDepends = [ base template-haskell tree-sitter ]; + doHaddock = false; + description = "Tree-sitter grammar/parser for TSX"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tree-sitter-typescript" = callPackage + ({ mkDerivation, base, template-haskell, tree-sitter }: + mkDerivation { + pname = "tree-sitter-typescript"; + version = "0.1.0.0"; + sha256 = "1mpk1vhahbva8733anx624vl66fg3h6l9lsby87kf98yrp55ycbn"; + libraryHaskellDepends = [ base template-haskell tree-sitter ]; + doHaddock = false; + description = "Tree-sitter grammar/parser for TypeScript"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "tree-traversals" = callPackage ({ mkDerivation, base, containers, doctest, mtl }: mkDerivation { @@ -218466,6 +235639,7 @@ self: { description = "Functions and newtype wrappers for traversing Trees"; license = stdenv.lib.licenses.cc0; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tree-view" = callPackage @@ -218530,6 +235704,7 @@ self: { description = "Generates HTML for Data.Tree as TreeMap"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "treemap-html-tools" = callPackage @@ -218550,6 +235725,7 @@ self: { description = "Treemap related commands for producing foldable TreeMap HTML"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "treersec" = callPackage @@ -218602,6 +235778,7 @@ self: { description = "Library for polling Tremulous servers"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "trhsx" = callPackage @@ -218613,6 +235790,7 @@ self: { description = "Deprecated"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "triangulation" = callPackage @@ -218629,6 +235807,7 @@ self: { description = "triangulation of polygons"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "trie-simple" = callPackage @@ -218647,6 +235826,7 @@ self: { description = "Simple Map-based Trie"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tries" = callPackage @@ -218677,6 +235857,7 @@ self: { description = "Various trie implementations in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "trifecta" = callPackage @@ -218691,8 +235872,8 @@ self: { pname = "trifecta"; version = "2"; sha256 = "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"; - revision = "1"; - editedCabalFile = "1qqkiwy0yvnj4yszsw9jrv83qf5hw87jdqdb34401dskaf81gwrm"; + revision = "2"; + editedCabalFile = "1ihw0dm0sjn7cql6rb3y0gb5kxy1ca3ggflm4lxlmhm3gfrj2sxc"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ ansi-terminal ansi-wl-pprint array base blaze-builder blaze-html @@ -218725,6 +235906,7 @@ self: { description = "Trigger is a cross platform file system watcher for super fast build-and-restart workflows"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "trim" = callPackage @@ -218740,6 +235922,8 @@ self: { testHaskellDepends = [ base hspec ]; description = "A command-line tool for trimming whitespace"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "trimpolya" = callPackage @@ -218754,6 +235938,7 @@ self: { description = "Search for, annotate and trim poly-A tail"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tripLL" = callPackage @@ -218770,6 +235955,7 @@ self: { description = "A very simple triple store"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "triplesec" = callPackage @@ -218778,8 +235964,8 @@ self: { }: mkDerivation { pname = "triplesec"; - version = "0.2.2.0"; - sha256 = "1gxks45hjr3a1lnr2v75cl0iwsmlzaq3yzd3p9s0pn5227f34zh7"; + version = "0.2.2.1"; + sha256 = "0wfrb1qkisbypfw4djm2cwlzrb1xhmkkv6cy8wyxvyrhqs5zzdrs"; libraryHaskellDepends = [ base cryptonite memory mtl transformers ]; @@ -218789,7 +235975,6 @@ self: { ]; description = "TripleSec is a simple, triple-paranoid, symmetric encryption library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "trivia" = callPackage @@ -218802,14 +235987,15 @@ self: { description = "The trivial monad and comonad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "trivial-constraint" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "trivial-constraint"; - version = "0.4.0.0"; - sha256 = "1hc6vjgw32sz5x40zifgxy1zd107d4gyfi6mmmdqr87a5f4ldz0p"; + version = "0.6.0.0"; + sha256 = "0y0iyll7ml5qz271cqa0dc3w2j3w1d8jjaxwaf2flcidigws69z5"; libraryHaskellDepends = [ base ]; description = "Constraints that any type, resp. no type fulfills"; license = stdenv.lib.licenses.gpl3; @@ -218825,6 +236011,7 @@ self: { description = "A library for tropical mathematics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "true-name" = callPackage @@ -218852,6 +236039,8 @@ self: { executableHaskellDepends = [ base containers parseargs WAVE ]; description = "Audio file compressor-limiter"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "trurl" = callPackage @@ -218875,6 +236064,7 @@ self: { description = "Haskell template code generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "truthful" = callPackage @@ -218900,6 +236090,7 @@ self: { description = "A Transaction Framework for Web Applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tsession-happstack" = callPackage @@ -218914,6 +236105,7 @@ self: { description = "A Transaction Framework for Happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tsetchan" = callPackage @@ -218940,6 +236132,7 @@ self: { description = "A Skip List Implementation in Software Transactional Memory (STM)"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tslib" = callPackage @@ -219008,6 +236201,7 @@ self: { description = "Real time TSP tour visualization"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tsparse" = callPackage @@ -219026,6 +236220,7 @@ self: { description = "Parses U.S. federal Thrift Savings Plan PDF quarterly statements"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tst" = callPackage @@ -219058,6 +236253,7 @@ self: { description = "Interacts with tesseract to ease reading of RAW Japanese manga"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tsv2csv" = callPackage @@ -219091,6 +236287,37 @@ self: { description = "Template tsv into SQL"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "tsweb" = callPackage + ({ mkDerivation, base, beam-core, beam-postgres, bytestring, clay + , cryptonite, http-api-data, hvect, postgresql-simple + , pretty-simple, reroute, resource-pool, Spock, Spock-core + , stm-containers, superrecord, tagged, text, time, transformers + }: + mkDerivation { + pname = "tsweb"; + version = "0.1.2"; + sha256 = "00akn8nj068pd3c8zhd49n3v9y2a8slykwx8sc3mcj363bwin8ad"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base beam-core beam-postgres bytestring clay cryptonite + http-api-data hvect postgresql-simple pretty-simple reroute + resource-pool Spock Spock-core stm-containers superrecord tagged + text time transformers + ]; + executableHaskellDepends = [ + base beam-core beam-postgres bytestring clay cryptonite + http-api-data hvect postgresql-simple pretty-simple reroute + resource-pool Spock Spock-core stm-containers superrecord tagged + text time transformers + ]; + description = "An API binding Web.Spock to Database.Beam"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ttask" = callPackage @@ -219114,6 +236341,7 @@ self: { description = "This is task management tool for yourself, that inspired by scrum"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ttl-hashtables" = callPackage @@ -219122,10 +236350,8 @@ self: { }: mkDerivation { pname = "ttl-hashtables"; - version = "1.3.0.0"; - sha256 = "1qlwwxylj9d2p4jm4bi0a3x60cfzd6g982v6q0crs323zn8q5cj5"; - revision = "1"; - editedCabalFile = "0nbf825s51pls4y0nc9jzik8z6szfvqd66dfjp6ybbywrrdzckf3"; + version = "1.3.1.0"; + sha256 = "0ny9iynlhpaqvqip7i9n5as21mk0kzm6akbcy7xgkams8dv76k5h"; libraryHaskellDepends = [ base clock containers data-default failable hashable hashtables mtl transformers @@ -219178,6 +236404,7 @@ self: { description = "TheThingsNetwork client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ttrie" = callPackage @@ -219216,8 +236443,10 @@ self: { }: mkDerivation { pname = "tttool"; - version = "1.8"; - sha256 = "0j4lgkjg28i7wlz5rnlrii6mzx2bqsagrg3wiiw1z2ncik6qm472"; + version = "1.8.1"; + sha256 = "0y33vflq6l51yvv7ilkvra75lhia18gmif0jc5gaqigxl1adfkw1"; + revision = "1"; + editedCabalFile = "1rppvnlrgc6kk5k8m0jn0ckyv0bq0l3h2r4gvkbjbd25mj0ls7gh"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -219229,6 +236458,7 @@ self: { description = "Working with files for the Tiptoi® pen"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tubes" = callPackage @@ -219257,6 +236487,7 @@ self: { description = "Interface to TUN/TAP drivers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tuntap-simple" = callPackage @@ -219285,6 +236516,7 @@ self: { description = "Homogeneous tuples"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tuple" = callPackage @@ -219308,6 +236540,7 @@ self: { description = "Enum instances for tuples where the digits increase with the same speed"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tuple-generic" = callPackage @@ -219343,6 +236576,7 @@ self: { description = "Stock FieldN combos and generators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tuple-morph" = callPackage @@ -219357,6 +236591,7 @@ self: { description = "Morph between tuples, or convert them from and to HLists"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tuple-ops" = callPackage @@ -219369,6 +236604,7 @@ self: { description = "various operations on n-ary tuples via GHC.Generics"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tuple-sop" = callPackage @@ -219404,6 +236640,7 @@ self: { description = "Functor, Applicative and Monad for n-ary tuples"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tuples-homogenous-h98" = callPackage @@ -219439,6 +236676,7 @@ self: { description = "A simple simulator for Turing machines"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "turing-music" = callPackage @@ -219469,6 +236707,7 @@ self: { description = "An implementation of Turing Machine and Automaton"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "turkish-deasciifier" = callPackage @@ -219519,8 +236758,10 @@ self: { }: mkDerivation { pname = "turtle"; - version = "1.5.13"; - sha256 = "1124yhw0l8924cwkmap1qn2z0hf4vn3r73h4pmi9icahg8zpc1hg"; + version = "1.5.14"; + sha256 = "10sxbmis82z5r2ksfkik5kryz5i0xwihz9drc1dzz4fb76kkb67z"; + revision = "3"; + editedCabalFile = "0rmmfqsphhv7h72a8lbdbpqi3rc4k6k83x8p9mamh57108qrs3xy"; libraryHaskellDepends = [ ansi-wl-pprint async base bytestring clock containers directory exceptions foldl hostname managed optional-args @@ -219548,6 +236789,7 @@ self: { description = "Collection of command line options and parsers for these options"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tw" = callPackage @@ -219573,6 +236815,7 @@ self: { description = "A library for incremental computing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twee" = callPackage @@ -219592,6 +236835,7 @@ self: { description = "An equational theorem prover"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twee-lib" = callPackage @@ -219636,6 +236880,7 @@ self: { description = "Command-line tool for twitter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twentefp" = callPackage @@ -219665,6 +236910,7 @@ self: { description = "Used as Lab Assignments Environment at the University of Twente"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twentefp-eventloop-trees" = callPackage @@ -219676,7 +236922,6 @@ self: { libraryHaskellDepends = [ base eventloop ]; description = "Tree type and show functions for lab assignment of University of Twente. Contains RoseTree and RedBlackTree"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "twentefp-graphs" = callPackage @@ -219689,6 +236934,7 @@ self: { description = "Lab Assignments Environment at Univeriteit Twente"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twentefp-number" = callPackage @@ -219715,6 +236961,7 @@ self: { description = "RoseTree type and show functions for lab assignment of University of Twente"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twentefp-trees" = callPackage @@ -219727,6 +236974,7 @@ self: { description = "Tree type and show functions for lab assignment of University of Twente. Contains RoseTree and ParseTree"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twentefp-websockets" = callPackage @@ -219746,6 +236994,7 @@ self: { description = "A fork of the popular websockets package. It is used for the practical assignments of the University of Twente. A sensible and clean way to write WebSocket-capable servers in Haskell."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twentyseven" = callPackage @@ -219776,6 +237025,7 @@ self: { description = "Rubik's cube solver"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twfy-api-client" = callPackage @@ -219802,6 +237052,7 @@ self: { description = "They Work For You API Client Library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twhs" = callPackage @@ -219833,6 +237084,7 @@ self: { description = "CLI twitter client"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twidge" = callPackage @@ -219854,6 +237106,7 @@ self: { description = "Unix Command-Line Twitter and Identica Client"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twilight-stm" = callPackage @@ -219866,6 +237119,7 @@ self: { description = "STM library with safe irrevocable I/O and inconsistency repair"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twilio" = callPackage @@ -219893,6 +237147,7 @@ self: { description = "Twilio REST API library for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twill" = callPackage @@ -219912,6 +237167,7 @@ self: { description = "Twilio API interaction"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twiml" = callPackage @@ -219945,6 +237201,7 @@ self: { description = "very simple template language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twisty" = callPackage @@ -219999,6 +237256,7 @@ self: { description = "A Haskell-based CLI Twitter client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twitter-conduit" = callPackage @@ -220033,6 +237291,7 @@ self: { description = "Twitter API package with conduit interface and Streaming API support"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twitter-enumerator" = callPackage @@ -220052,6 +237311,7 @@ self: { description = "Twitter API package with enumerator interface and Streaming API support"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twitter-feed" = callPackage @@ -220074,30 +237334,31 @@ self: { description = "Client for fetching Twitter timeline via Oauth"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twitter-types" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring, derive - , directory, filepath, HUnit, old-locale, QuickCheck - , template-haskell, test-framework, test-framework-hunit - , test-framework-quickcheck2, text, time, unordered-containers + , directory, filepath, HUnit, QuickCheck, template-haskell + , test-framework, test-framework-hunit, test-framework-quickcheck2 + , text, time, unordered-containers }: mkDerivation { pname = "twitter-types"; - version = "0.7.2.2"; - sha256 = "0n3d3j24kk2rdc61sl9lfanwcv8f0ri7ihiy0zs5rjaxzilyi3kn"; + version = "0.8.0"; + sha256 = "1ijvmra797hnhhi5ag7yfqrzyyjkqk9if565054c8743jlhd3xzk"; libraryHaskellDepends = [ aeson base text time unordered-containers ]; testHaskellDepends = [ aeson attoparsec base bytestring derive directory filepath HUnit - old-locale QuickCheck template-haskell test-framework - test-framework-hunit test-framework-quickcheck2 text time - unordered-containers + QuickCheck template-haskell test-framework test-framework-hunit + test-framework-quickcheck2 text time unordered-containers ]; description = "Twitter JSON parser and types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "twitter-types-lens" = callPackage @@ -220106,16 +237367,15 @@ self: { }: mkDerivation { pname = "twitter-types-lens"; - version = "0.7.2"; - sha256 = "04mjrwd5f960kd7v5xq4wlyzksw06d3qj52ql1lhjki3f3papzjg"; - revision = "1"; - editedCabalFile = "0rag7vz1irirnqxh18xwvp8rg7ysx4lwrb9ysv5wcfjdggp6b6gs"; + version = "0.8.1"; + sha256 = "0yxhvl54zd33wg0lhk6278jcgi521k8j94i293h61i9jg8ywkaiq"; libraryHaskellDepends = [ base lens template-haskell text time twitter-types ]; description = "Twitter JSON types (lens powered)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tx" = callPackage @@ -220132,6 +237392,7 @@ self: { description = "Persistent transactions on top of STM"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "txt" = callPackage @@ -220140,8 +237401,8 @@ self: { }: mkDerivation { pname = "txt"; - version = "0.0.2.1"; - sha256 = "0cdng6qlskycpmr1yxvr25q5j876nji5iw3hlx2xb7n0rvk3ylh5"; + version = "0.0.3.0"; + sha256 = "0fi16fpzcskcffri7adpnbf6qj2ksv7vnxwyl8nw1qg55rlj3c5y"; libraryHaskellDepends = [ base bytestring deepseq utf8-string util ]; @@ -220149,6 +237410,7 @@ self: { description = "Text"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "txt-sushi" = callPackage @@ -220191,6 +237453,7 @@ self: { description = "Deprecated in favor of eros"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ty" = callPackage @@ -220216,6 +237479,7 @@ self: { description = "Provide proof witnesses for closed type family evaluation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "typalyze" = callPackage @@ -220235,6 +237499,7 @@ self: { description = "Analyzes Haskell source files for easy reference"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-aligned" = callPackage @@ -220260,6 +237525,7 @@ self: { description = "Runtime type assertions for testing"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-booleans" = callPackage @@ -220287,6 +237553,7 @@ self: { description = "Utilities for caching type families results. Sometimes complex type families take long time to compile, so it is proficient to cache them and use the final result without the need of re-computation."; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-cereal" = callPackage @@ -220304,6 +237571,7 @@ self: { description = "Type-level serialization of type constructors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-combinators" = callPackage @@ -220316,6 +237584,7 @@ self: { description = "A collection of data types for type-level programming"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-combinators-quote" = callPackage @@ -220332,6 +237601,7 @@ self: { description = "Quasiquoters for the 'type-combinators' package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-combinators-singletons" = callPackage @@ -220344,6 +237614,7 @@ self: { description = "Interop between /type-combinators/ and /singletons/"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-digits" = callPackage @@ -220356,6 +237627,7 @@ self: { description = "Arbitrary-base type-level digits"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-eq" = callPackage @@ -220371,6 +237643,7 @@ self: { description = "Type equality evidence you can carry around"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-equality" = callPackage @@ -220395,6 +237668,37 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "type-errors" = callPackage + ({ mkDerivation, base, doctest, first-class-families, syb + , template-haskell, th-abstraction + }: + mkDerivation { + pname = "type-errors"; + version = "0.2.0.0"; + sha256 = "1d1fi4ij18q39rpibc056mgvly75zqixkba4l8bn307c62f50k8p"; + libraryHaskellDepends = [ + base first-class-families syb template-haskell th-abstraction + ]; + testHaskellDepends = [ + base doctest first-class-families syb template-haskell + th-abstraction + ]; + description = "Tools for writing better type errors"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "type-errors-pretty" = callPackage + ({ mkDerivation, base, doctest, Glob }: + mkDerivation { + pname = "type-errors-pretty"; + version = "0.0.0.0"; + sha256 = "0yj8c91maanihyl9506ihpxv3zyfvprr359dvd2b9ym3py50kncs"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base doctest Glob ]; + description = "Combinators for writing pretty type errors easily"; + license = stdenv.lib.licenses.mpl20; + }) {}; + "type-fun" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -220450,6 +237754,7 @@ self: { description = "Queues with verified and unverified versions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-int" = callPackage @@ -220462,6 +237767,7 @@ self: { description = "Type Level 2s- and 16s- Complement Integers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-interpreter" = callPackage @@ -220475,16 +237781,20 @@ self: { description = "Interpreter for Template Haskell types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-iso" = callPackage - ({ mkDerivation, base, data-default, nats, numericpeano, text }: + ({ mkDerivation, base, containers, data-default, nats, numericpeano + , text, vector, vector-builder + }: mkDerivation { pname = "type-iso"; - version = "1.0.0.0"; - sha256 = "11xcadzvvp9y7gm54k0nfsnx0hfr3g5bd8g8f8mlfqy24p0mq1m1"; + version = "1.0.1.0"; + sha256 = "1jhkx115jv36v1bbws061f4bn4apr6ps9zlisasfwfry3hd34cf6"; libraryHaskellDepends = [ - base data-default nats numericpeano text + base containers data-default nats numericpeano text vector + vector-builder ]; description = "Typeclasses for injective relations and isomorphisms between types"; license = stdenv.lib.licenses.asl20; @@ -220511,6 +237821,7 @@ self: { description = "type-level binary search trees in haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-level-integers" = callPackage @@ -220560,6 +237871,7 @@ self: { description = "High-level combinators for performing inductive operations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-level-natural-number-operations" = callPackage @@ -220572,6 +237884,7 @@ self: { description = "Basic operations on type-level natural numbers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-level-numbers" = callPackage @@ -220620,6 +237933,7 @@ self: { description = "Operations on type-level lists and tuples"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-map" = callPackage @@ -220654,6 +237968,7 @@ self: { description = "Type-level natural and proofs of their properties"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-of-html" = callPackage @@ -220693,8 +238008,8 @@ self: { ({ mkDerivation, base, ghc-prim }: mkDerivation { pname = "type-operators"; - version = "0.1.0.4"; - sha256 = "0x0bshb13b7i4imn0pgpljcj109c9z5mgw84mjmlcg62d3ryvg6v"; + version = "0.2.0.0"; + sha256 = "1cm3vfarjpwm885i5w5mjyg1ibg9bm5q34hbacpl3c9q9l1vwl4j"; libraryHaskellDepends = [ base ghc-prim ]; description = "Various type-level operators"; license = stdenv.lib.licenses.bsd3; @@ -220712,6 +238027,7 @@ self: { description = "Type-level comparison operator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-ord-spine-cereal" = callPackage @@ -220728,6 +238044,7 @@ self: { description = "Generic type-level comparison of types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-prelude" = callPackage @@ -220740,6 +238057,19 @@ self: { description = "Partial port of prelude to the type level. Requires GHC 7.6.1."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "type-sets" = callPackage + ({ mkDerivation, base, cmptype }: + mkDerivation { + pname = "type-sets"; + version = "0.1.1.0"; + sha256 = "0ryrivrhpplck0h6h7d8pfl5bg7lbv2519icz317yp2qy8r3g2l7"; + libraryHaskellDepends = [ base cmptype ]; + testHaskellDepends = [ base cmptype ]; + description = "Type-level sets"; + license = stdenv.lib.licenses.bsd3; }) {}; "type-settheory" = callPackage @@ -220756,21 +238086,10 @@ self: { description = "Sets and functions-as-relations in the type system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-spec" = callPackage - ({ mkDerivation, base, pretty }: - mkDerivation { - pname = "type-spec"; - version = "0.3.0.1"; - sha256 = "0hd2lgfp6vydynr2ip4zy4kg2jzrfkrrqj1vnx1fn4zwkqqimkdf"; - libraryHaskellDepends = [ base pretty ]; - testHaskellDepends = [ base ]; - description = "Type Level Specification by Example"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "type-spec_0_4_0_0" = callPackage ({ mkDerivation, base, pretty }: mkDerivation { pname = "type-spec"; @@ -220780,7 +238099,6 @@ self: { testHaskellDepends = [ base ]; description = "Type Level Specification by Example"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "type-spine" = callPackage @@ -220793,6 +238111,7 @@ self: { description = "A spine-view on types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-structure" = callPackage @@ -220820,6 +238139,7 @@ self: { description = "Type structure analysis"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-sub-th" = callPackage @@ -220845,6 +238165,7 @@ self: { description = "Substitute types for other types with Template Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "type-tree" = callPackage @@ -220894,6 +238215,7 @@ self: { description = "Automatic deriving of TypeableN instances with Template Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "typed-admin" = callPackage @@ -220921,7 +238243,6 @@ self: { ]; description = "Admin console framework"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "typed-duration" = callPackage @@ -220941,18 +238262,18 @@ self: { "typed-process" = callPackage ({ mkDerivation, async, base, base64-bytestring, bytestring, hspec - , process, stm, temporary, transformers + , process, stm, temporary, transformers, unliftio-core }: mkDerivation { pname = "typed-process"; - version = "0.2.4.0"; - sha256 = "02xvyaq4sxwjqbmkn29n5x58l4rni6gbqp526r3q7wn6jalgazwr"; + version = "0.2.6.0"; + sha256 = "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"; libraryHaskellDepends = [ - async base bytestring process stm transformers + async base bytestring process stm transformers unliftio-core ]; testHaskellDepends = [ async base base64-bytestring bytestring hspec process stm temporary - transformers + transformers unliftio-core ]; description = "Run external processes, with strong typing of streams"; license = stdenv.lib.licenses.mit; @@ -220976,6 +238297,7 @@ self: { description = "Typed and composable spreadsheets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "typed-streams" = callPackage @@ -220998,6 +238320,23 @@ self: { description = "A stream based replacement for lists"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "typed-uuid" = callPackage + ({ mkDerivation, aeson, base, binary, bytestring, deepseq, hashable + , http-api-data, random, text, uuid, validity, validity-uuid + }: + mkDerivation { + pname = "typed-uuid"; + version = "0.0.0.0"; + sha256 = "1v862wfmd03ssch7p5hr5cmzc38gzmxvw22swdfs2blfxv13cdc8"; + libraryHaskellDepends = [ + aeson base binary bytestring deepseq hashable http-api-data random + text uuid validity validity-uuid + ]; + description = "Phantom-Typed version of UUID"; + license = stdenv.lib.licenses.mit; }) {}; "typed-wire" = callPackage @@ -221023,6 +238362,7 @@ self: { description = "Language-independent type-safe communication"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "typed-wire-utils" = callPackage @@ -221053,6 +238393,7 @@ self: { description = "Typed frontend to TensorFlow and higher-order deep learning"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "typedquery" = callPackage @@ -221070,6 +238411,7 @@ self: { description = "Parser for SQL augmented with types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "typehash" = callPackage @@ -221082,6 +238424,7 @@ self: { description = "Create a unique hash value for a type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "typelevel" = callPackage @@ -221116,15 +238459,16 @@ self: { description = "Tensors whose ranks and dimensions type-inferred and type-checked"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "typelits-witnesses" = callPackage - ({ mkDerivation, base, constraints, reflection }: + ({ mkDerivation, base, dependent-sum }: mkDerivation { pname = "typelits-witnesses"; - version = "0.3.0.3"; - sha256 = "078r9pbkzwzm1q821zqisj0wrx1rdk9w8c3ip0g1m5j97zzlmpaf"; - libraryHaskellDepends = [ base constraints reflection ]; + version = "0.4.0.0"; + sha256 = "1khy5nacmsl7h4vg7driv4yb9m3zvkhbf8divyhd249i6bdmql70"; + libraryHaskellDepends = [ base dependent-sum ]; description = "Existential witnesses, singletons, and classes for operations on GHC TypeLits"; license = stdenv.lib.licenses.mit; }) {}; @@ -221169,6 +238513,7 @@ self: { description = "Lens-like interface for type level parameters; allows unboxed unboxed vectors and supercompilation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "typerep-map" = callPackage @@ -221179,10 +238524,10 @@ self: { }: mkDerivation { pname = "typerep-map"; - version = "0.3.1"; - sha256 = "1ycyk47h578vf4kpf1y708zg9cc6i028jv1fdaw3zy59wrbl8y74"; - revision = "2"; - editedCabalFile = "0zcvg2kr3kcnhxdndw6fcjdd1421ncglr34mc8d9sw1hjjcb5w38"; + version = "0.3.2"; + sha256 = "0s77hj0m9jiqgybccdfl1x88j05fx7grkg16q6kldd1lgqrvrgb0"; + revision = "3"; + editedCabalFile = "032y3parcz7ffmsqichmshczk7zxkg66dciwvr5d7fznqvy3sg1s"; libraryHaskellDepends = [ base containers deepseq ghc-prim primitive vector ]; @@ -221198,6 +238543,8 @@ self: { doHaddock = false; description = "Efficient implementation of a dependent map with types as keys"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "types-compat" = callPackage @@ -221212,6 +238559,7 @@ self: { description = "ghc-7.6/7.8 compatible GHC.TypeLits, Data.Typeable and Data.Proxy."; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "typesafe-endian" = callPackage @@ -221232,8 +238580,8 @@ self: { }: mkDerivation { pname = "typesafe-precure"; - version = "0.7.2.1"; - sha256 = "1fdn7l9dayaii03n63cv3jgaqmblhskfyq3g3qrqw79z1jl755bk"; + version = "0.7.5.1"; + sha256 = "0n2cnd15gwixk17jqcz4hxishikscwbcn2gnrkcz3a295ng68ins"; libraryHaskellDepends = [ aeson aeson-pretty autoexporter base bytestring dlist monad-skeleton template-haskell text th-data-compat @@ -221243,6 +238591,7 @@ self: { description = "Type-safe transformations and purifications of PreCures (Japanese Battle Heroine)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "typescript-docs" = callPackage @@ -221263,6 +238612,7 @@ self: { description = "A documentation generator for TypeScript Definition files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "typical" = callPackage @@ -221301,6 +238651,7 @@ self: { description = "Just let me draw nice text already"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "typography-geometry" = callPackage @@ -221309,14 +238660,15 @@ self: { }: mkDerivation { pname = "typography-geometry"; - version = "1.0.0.1"; - sha256 = "1mrack0n940idy5rv7mm0gfif8xri6z59npxwkq1kgi606vazbpd"; + version = "1.0.1.0"; + sha256 = "0vi2ggpvvarqimrga985cks5wq67dqyrr5nh3a0ghy0mbdrb72ps"; libraryHaskellDepends = [ base containers parallel polynomials-bernstein vector ]; description = "Drawings for printed text documents"; - license = "GPL"; + license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tyro" = callPackage @@ -221338,6 +238690,7 @@ self: { description = "Type derived JSON parsing using Aeson"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "tz" = callPackage @@ -221374,8 +238727,8 @@ self: { }: mkDerivation { pname = "tzdata"; - version = "0.1.20181026.0"; - sha256 = "0b531ydcb63q44zjpcd2l70xp2hgkxqppnfld7n16ifh9vrxm6gf"; + version = "0.1.20190325.0"; + sha256 = "0vxisw10a414kh2rn0maj6zvcs8vi5kacfwxs0smjspvm513bkb2"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base bytestring containers deepseq vector @@ -221405,6 +238758,7 @@ self: { description = "Haskell Universal Two Factor helper toolbox library thing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uAgda" = callPackage @@ -221483,6 +238837,7 @@ self: { description = "Uber client for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uberlast" = callPackage @@ -221495,6 +238850,7 @@ self: { description = "Generate overloaded lenses from plain data declaration"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ucam-webauth" = callPackage @@ -221508,8 +238864,8 @@ self: { pname = "ucam-webauth"; version = "0.1.0.0"; sha256 = "14l989aasyqdw1x7aq9ikhcq9p3s1ax4qk53rd5s53wdgbc20n9k"; - revision = "3"; - editedCabalFile = "01j0296a60hpw0n5d50327hnqpkxwzz7pngxq8da5ram0q13cfzw"; + revision = "6"; + editedCabalFile = "1dammzdhin226byx8p287kdnn9pc7s49hfxcdmflly6hsy1psnvy"; libraryHaskellDepends = [ aeson attoparsec base bytestring containers cryptonite errors http-api-data http-types microlens microlens-mtl mtl @@ -221535,8 +238891,8 @@ self: { pname = "ucam-webauth-types"; version = "0.1.0.0"; sha256 = "0jq66amdmrbkg69m0cbbw7xfvsc9iy74khn1k39n7jkq821pzjni"; - revision = "3"; - editedCabalFile = "1png0b60pfhx5gfwbmxxq42nfy9yj2zrcw8krq0vm45qgjw4gd8g"; + revision = "4"; + editedCabalFile = "1lb0yq1051fi71qrbnkyg39c7rn5x62w2qkqvp88ih4wzdib8fzv"; libraryHaskellDepends = [ aeson base base64-bytestring bytestring case-insensitive containers deepseq http-types microlens microlens-mtl mtl text time timerep @@ -221558,6 +238914,7 @@ self: { description = "String encoding conversion with ICU"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) icu;}; "udbus" = callPackage @@ -221619,6 +238976,7 @@ self: { license = stdenv.lib.licenses.bsd3; platforms = [ "i686-linux" "x86_64-linux" ]; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) systemd;}; "udp-conduit" = callPackage @@ -221635,6 +238993,7 @@ self: { description = "Simple fire-and-forget conduit UDP wrappers"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "udp-streaming" = callPackage @@ -221687,6 +239046,7 @@ self: { description = "Part of UHC packaged as cabal/hackage installable library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uhc-util" = callPackage @@ -221707,6 +239067,7 @@ self: { description = "UHC utilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uhexdump" = callPackage @@ -221721,22 +239082,22 @@ self: { description = "hex dumper for UTF-8 text"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uhttpc" = callPackage ({ mkDerivation, async, base, bytestring, bytestring-lexing - , deepseq, network, network-uri, optparse-applicative + , deepseq, network, network-bsd, network-uri, optparse-applicative }: mkDerivation { pname = "uhttpc"; - version = "0.1.1.0"; - sha256 = "1knf8r8zq8nnidmbj1blazjxkpngczs55jjx0phnnxlc026ppynb"; - revision = "4"; - editedCabalFile = "0g4rcm7kbanayv18bad7pakrnghqg2qpxq4aib1n4d8h7ximgly2"; + version = "0.1.1.1"; + sha256 = "01plkj4n34s1xbdaky61xzqnc7z2zfx6dzqdlv21np8rk6lirr7d"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base bytestring bytestring-lexing deepseq network network-uri + base bytestring bytestring-lexing deepseq network network-bsd + network-uri ]; executableHaskellDepends = [ async base bytestring bytestring-lexing deepseq network @@ -221758,6 +239119,7 @@ self: { description = "A framework for friendly commandline programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uid" = callPackage @@ -221833,6 +239195,7 @@ self: { description = "A fast, cache-efficient, concurrent bloom filter"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unagi-chan" = callPackage @@ -221841,10 +239204,8 @@ self: { }: mkDerivation { pname = "unagi-chan"; - version = "0.4.1.0"; - sha256 = "0nya6srsnj7f10jim3iqlmdi71n6fl8ly9sqpccgnivnd8i5iavb"; - revision = "1"; - editedCabalFile = "0hfyjcngxj7wksjpkpf20w94xjbisi690bzx9clclqillzcqvq4p"; + version = "0.4.1.2"; + sha256 = "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"; libraryHaskellDepends = [ atomic-primops base ghc-prim primitive ]; testHaskellDepends = [ atomic-primops base containers ghc-prim primitive @@ -221864,6 +239225,7 @@ self: { description = "Unagi Chan IO-Streams"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unamb" = callPackage @@ -221891,43 +239253,27 @@ self: { description = "Functional concurrency with unamb using a custom scheduler"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unbeliever" = callPackage - ({ mkDerivation, aeson, async, base, bytestring, Cabal - , chronologique, containers, deepseq, directory, exceptions - , fingertree, gauge, hashable, hourglass, hspec, mtl, prettyprinter - , prettyprinter-ansi-terminal, safe-exceptions, scientific, stm - , template-haskell, terminal-size, text, text-short, transformers - , unix, unordered-containers, vector + ({ mkDerivation, base, bytestring, core-data, core-program + , core-text, fingertree, gauge, hspec, safe-exceptions, text + , text-short }: mkDerivation { pname = "unbeliever"; - version = "0.8.0.0"; - sha256 = "1cq7w09320nz6jcdg8gcapbsajlihx1836502m36rgm4w9vbxvqi"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - aeson async base bytestring Cabal chronologique containers deepseq - directory exceptions fingertree hashable hourglass mtl - prettyprinter prettyprinter-ansi-terminal safe-exceptions - scientific stm template-haskell terminal-size text text-short - transformers unix unordered-containers vector - ]; + version = "0.10.0.1"; + sha256 = "0fmv76xmi4ansrksa07vidqvxiqgdmvvampkqngi1ma7g3k2n29x"; + libraryHaskellDepends = [ base core-data core-program core-text ]; testHaskellDepends = [ - aeson async base bytestring Cabal chronologique containers deepseq - directory exceptions fingertree hashable hourglass hspec mtl - prettyprinter prettyprinter-ansi-terminal safe-exceptions - scientific stm template-haskell terminal-size text text-short - transformers unix unordered-containers vector + base bytestring core-data core-program core-text fingertree hspec + safe-exceptions text text-short ]; benchmarkHaskellDepends = [ - aeson async base bytestring Cabal chronologique containers deepseq - directory exceptions fingertree gauge hashable hourglass mtl - prettyprinter prettyprinter-ansi-terminal safe-exceptions - scientific stm template-haskell terminal-size text text-short - transformers unix unordered-containers vector + base bytestring core-data core-program core-text gauge text ]; + doHaddock = false; description = "Opinionated Haskell Interoperability"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -221950,6 +239296,7 @@ self: { description = "Generic support for programming with names and binders"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unbound-generics" = callPackage @@ -221995,6 +239342,7 @@ self: { description = "Thread delays and timeouts using proper time units"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unboxed" = callPackage @@ -222018,6 +239366,7 @@ self: { description = "Self-optimizing unboxed sets using view patterns and data families"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unboxed-ref" = callPackage @@ -222032,6 +239381,28 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "unboxing-vector" = callPackage + ({ mkDerivation, base, deepseq, HUnit, mono-traversable, primitive + , should-not-typecheck, vector + }: + mkDerivation { + pname = "unboxing-vector"; + version = "0.1.1.0"; + sha256 = "0i2d5gzvrdi5alaj8inw0jzlh0kkd23pg5dwm24h8jyqh0kmnhj8"; + libraryHaskellDepends = [ + base deepseq mono-traversable primitive vector + ]; + testHaskellDepends = [ + base deepseq HUnit mono-traversable primitive should-not-typecheck + vector + ]; + benchmarkHaskellDepends = [ + base deepseq mono-traversable primitive vector + ]; + description = "A newtype-friendly variant of unboxed vectors"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "unbreak" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring , bytestring, cereal, cmdargs, cryptonite, memory, process, text @@ -222051,6 +239422,7 @@ self: { description = "Secure and resilient remote file storage utility"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uncertain" = callPackage @@ -222142,6 +239514,8 @@ self: { ]; description = "Class of data structures that can be unfolded"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unfoldable-restricted" = callPackage @@ -222158,6 +239532,8 @@ self: { ]; description = "An alternative to the Unfoldable typeclass"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ungadtagger" = callPackage @@ -222196,6 +239572,7 @@ self: { description = "Graphs"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uni-htk" = callPackage @@ -222258,6 +239635,7 @@ self: { description = "Graphs binding"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uni-util" = callPackage @@ -222314,6 +239692,7 @@ self: { description = "Unicode normalization using the ICU library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) icu;}; "unicode-prelude" = callPackage @@ -222356,6 +239735,7 @@ self: { description = "print and show in unicode"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unicode-symbols" = callPackage @@ -222368,6 +239748,7 @@ self: { description = "Unicode alternatives for common functions and operators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unicode-transforms" = callPackage @@ -222377,8 +239758,10 @@ self: { }: mkDerivation { pname = "unicode-transforms"; - version = "0.3.5"; - sha256 = "0gm0dwbhr666s7xx71qdrha5r3qwfyyv0wsrvq8jxva3mcwd3xy9"; + version = "0.3.6"; + sha256 = "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ base bitarray bytestring text ]; testHaskellDepends = [ base deepseq getopt-generics QuickCheck split text @@ -222453,6 +239836,7 @@ self: { description = "Uniform IO over files, network, anything"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) openssl;}; "uniform-pair" = callPackage @@ -222479,14 +239863,16 @@ self: { pname = "union"; version = "0.1.2"; sha256 = "1i4fvlwkw1wx64a6l8342aqfqsdq7fqa4p24g3i5gn5704lxrsb3"; - revision = "2"; - editedCabalFile = "170dhg4z4jzi50nh4xx75r9k8zz5br7j2iqjjw2r1dx29ajqbcw9"; + revision = "3"; + editedCabalFile = "160jc4ykqvkzw79sb9j95mw7hsnknpfhkbbd75xmkpx08vnv4d76"; libraryHaskellDepends = [ base deepseq hashable profunctors tagged vinyl ]; benchmarkHaskellDepends = [ base criterion deepseq lens ]; description = "Extensible type-safe unions"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "union-find" = callPackage @@ -222523,6 +239909,18 @@ self: { description = "Heterogeneous map by open unions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "unipatterns" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "unipatterns"; + version = "0.0.0.0"; + sha256 = "07jl3an9y4gbpmsq2gcbp3xwyvrnvkjcxcpq1702cc320c8zq542"; + libraryHaskellDepends = [ base ]; + description = "Helpers which allow safe partial pattern matching in lambdas"; + license = stdenv.lib.licenses.bsd3; }) {}; "uniplate" = callPackage @@ -222533,6 +239931,8 @@ self: { pname = "uniplate"; version = "1.6.12"; sha256 = "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"; + revision = "1"; + editedCabalFile = "0gsrs2mk58jg3x36dyzxi4y46isd5p6q0rd6m9l834h5r7ds6a54"; libraryHaskellDepends = [ base containers hashable syb unordered-containers ]; @@ -222548,8 +239948,8 @@ self: { pname = "uniprot-kb"; version = "0.1.2.0"; sha256 = "0hh6fnnmr6i4mgli07hgaagswdipa0p3ckr3jzzfcw4y5x98036l"; - revision = "3"; - editedCabalFile = "1a532yhvgs7n096f6mjwm7811d2c6xbgr45gscg7d4ys042c0586"; + revision = "4"; + editedCabalFile = "1g4qds20lwsbn5hqrgbhb4yd5w5vx2gkw47mjvxr8z8nj20g2pii"; libraryHaskellDepends = [ attoparsec base text ]; testHaskellDepends = [ attoparsec base hspec neat-interpolation QuickCheck text @@ -222577,8 +239977,8 @@ self: { pname = "unique"; version = "0"; sha256 = "140a9avcxs1fkj1v2awplq6prd1g13yg0kckccw6i1qpgcdigyz3"; - revision = "1"; - editedCabalFile = "0pq3a5y8ddgd37x21vafwxpyi079ir7k9g96y99pygmxwibkg4v8"; + revision = "2"; + editedCabalFile = "0ydjjd6j7gr4mibky6j5rqwhy9frvfii0sr4g8shaxnph3y0kb6b"; libraryHaskellDepends = [ base ghc-prim hashable ]; description = "Fully concurrent unique identifiers"; license = stdenv.lib.licenses.bsd3; @@ -222618,7 +240018,6 @@ self: { ]; description = "Solve simple simultaneous equations"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "uniqueid" = callPackage @@ -222631,6 +240030,7 @@ self: { description = "Splittable Unique Identifier Supply"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uniquely-represented-sets" = callPackage @@ -222648,6 +240048,7 @@ self: { benchmarkHaskellDepends = [ base criterion random ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unit" = callPackage @@ -222693,7 +240094,6 @@ self: { ]; description = "A domain-specific type system for dimensional analysis"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "units-attoparsec" = callPackage @@ -222710,18 +240110,18 @@ self: { description = "Attoparsec parsers for the units package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "units-defs" = callPackage ({ mkDerivation, base, template-haskell, units }: mkDerivation { pname = "units-defs"; - version = "2.0.1.1"; - sha256 = "0p99gchk3m4ibmhr6jws57sv083q142rhxjavq9laz97gjm2r9w2"; + version = "2.1.0.1"; + sha256 = "1ck50r8mhcvjyfx3wdkn8s89rrzjkxpn439zarg5s2vqmqji7gyy"; libraryHaskellDepends = [ base template-haskell units ]; description = "Definitions for use with the units package"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "units-parser" = callPackage @@ -222752,6 +240152,7 @@ self: { description = "An extendable library for type-safe computations including units"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unity-testresult-parser" = callPackage @@ -222775,6 +240176,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unitym" = callPackage @@ -222813,6 +240215,7 @@ self: { description = "Implementation of the unity monad for the Yesod framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "universal" = callPackage @@ -222844,94 +240247,106 @@ self: { }) {}; "universe" = callPackage - ({ mkDerivation, universe-instances-base - , universe-instances-extended, universe-instances-trans - , universe-reverse-instances + ({ mkDerivation, universe-base, universe-dependent-sum + , universe-instances-extended, universe-reverse-instances }: mkDerivation { pname = "universe"; - version = "1.0"; - sha256 = "19zr9zcqc5sfp5qfn8slkk2732j1814m3j1jkbim739limwf900z"; + version = "1.1"; + sha256 = "0zghqcv6jyl9x3qfmbnqyfvr4pkf3m6lil0vg66m16xlrgz68hds"; + revision = "1"; + editedCabalFile = "0639gsf8irhpgcp69lq9l7987lsh4wnw3z9ai0dqrvx5ixpg3k5h"; libraryHaskellDepends = [ - universe-instances-base universe-instances-extended - universe-instances-trans universe-reverse-instances + universe-base universe-dependent-sum universe-instances-extended + universe-reverse-instances ]; - description = "Classes for types where we know all the values"; + description = "A class for finite and recursively enumerable types"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "universe-base" = callPackage - ({ mkDerivation, base }: + ({ mkDerivation, base, containers, QuickCheck, tagged, transformers + }: mkDerivation { pname = "universe-base"; - version = "1.0.2.1"; - sha256 = "0ldvk0bj16hl1v824vvsich3rzx84xm3sbppd5ahpp5cmx887i07"; - libraryHaskellDepends = [ base ]; - description = "A class for finite and recursively enumerable types and some helper functions for enumerating them"; + version = "1.1.1"; + sha256 = "1a6yyvrzkz7jnjz4lyp8aw0r5hci1nx8c06v3dicgfqs3frk1v8x"; + libraryHaskellDepends = [ base containers tagged transformers ]; + testHaskellDepends = [ base containers QuickCheck ]; + description = "A class for finite and recursively enumerable types"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "universe-dependent-sum" = callPackage + ({ mkDerivation, base, dependent-sum, template-haskell + , th-abstraction, transformers, universe-base + }: + mkDerivation { + pname = "universe-dependent-sum"; + version = "1.1.0.1"; + sha256 = "1mfvfh7rnk8lnd5lgxbhi40y31sar11dmgh5s7g2kgsprzmg1qpi"; + revision = "1"; + editedCabalFile = "0mvb919ig57zpvhpmqjsznwjd2wzglwk16w7hkfxzp73p4a21821"; + libraryHaskellDepends = [ + base dependent-sum template-haskell th-abstraction transformers + universe-base + ]; + testHaskellDepends = [ + base dependent-sum template-haskell universe-base + ]; + description = "Universe instances for types from dependent-sum"; license = stdenv.lib.licenses.bsd3; }) {}; "universe-instances-base" = callPackage - ({ mkDerivation, base, containers, universe-base }: + ({ mkDerivation, base, universe-base }: mkDerivation { pname = "universe-instances-base"; - version = "1.0"; - sha256 = "04njgl32lk5a0masjdjkm4l2wsyrr29g0fsp599864mp7gp504d2"; - revision = "2"; - editedCabalFile = "0c9zxmifhy2qjvsikgm168n8k8ka8ia88ldy8qjqkz5pqknlr9sj"; - libraryHaskellDepends = [ base containers universe-base ]; + version = "1.1"; + sha256 = "17g4xf7zcxd9a2am0p401b0l87ynxwpm3c2lqc4vmw4sz071kccb"; + revision = "1"; + editedCabalFile = "0hjrjjl6v5q9f7cmxhrdxfdk1l86im0b8anxkpgrry7s8q998979"; + libraryHaskellDepends = [ base universe-base ]; description = "Universe instances for types from the base package"; license = stdenv.lib.licenses.bsd3; }) {}; "universe-instances-extended" = callPackage - ({ mkDerivation, adjunctions, base, comonad - , universe-instances-base, void - }: + ({ mkDerivation, adjunctions, base, comonad, universe-base }: mkDerivation { pname = "universe-instances-extended"; - version = "1.0.0.1"; - sha256 = "15y9f0hbxqsksclxrssj4h08y0yb3nm9clqasjw6nsmi04kjfnv6"; - revision = "3"; - editedCabalFile = "1f7mzwn97kmnm1p1hscz5mzly700q2pw5awwdzzsxfkxv3law7xn"; - libraryHaskellDepends = [ - adjunctions base comonad universe-instances-base void - ]; - description = "Universe instances for types from select extra packages"; + version = "1.1"; + sha256 = "12ads0n5md27wznrv7ah668ip2pp3gryn8d6my74kyhsz6g2fn5q"; + revision = "1"; + editedCabalFile = "02267na4xac77q4rnsy53h8nh0gfcmjzkb89qmi4qmvpps8h15y5"; + libraryHaskellDepends = [ adjunctions base comonad universe-base ]; + description = "Universe instances for types from selected extra packages"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "universe-instances-trans" = callPackage - ({ mkDerivation, base, mtl, transformers, universe-base - , universe-instances-base - }: + ({ mkDerivation, base, universe-base }: mkDerivation { pname = "universe-instances-trans"; - version = "1.0.0.1"; - sha256 = "03iix0bdhfi4qlgwr8sl3gsqck6lsbkqgx245w2z5yaaxgqpq10d"; + version = "1.1"; + sha256 = "0dp37rb61g5mqj4kfkgi6zxcjhrm9npz197sksqwg1skgjdgbbn6"; revision = "1"; - editedCabalFile = "0dcwgbgmbkjwzbxlncpl1b5hgjrmkl73djknjkhbnh02pysbwv69"; - libraryHaskellDepends = [ - base mtl transformers universe-base universe-instances-base - ]; + editedCabalFile = "0pyqcg8mfw6gg7gxxd46xq3hnhcpd39g7jb9q1awcdipzq7xjrh2"; + libraryHaskellDepends = [ base universe-base ]; description = "Universe instances for types from the transformers and mtl packages"; license = stdenv.lib.licenses.bsd3; }) {}; "universe-reverse-instances" = callPackage - ({ mkDerivation, base, containers, universe-instances-base }: + ({ mkDerivation, base, containers, universe-base }: mkDerivation { pname = "universe-reverse-instances"; - version = "1.0"; - sha256 = "0jcd7qyvzq8xxv9d3hfi0f1h48xdsy9r9xnxgxc7ggga4szirm79"; - revision = "2"; - editedCabalFile = "0cpnsip1iakwkgnwnd21gwrc8qbifzpff6agjwm34jgkq9j646k8"; - libraryHaskellDepends = [ - base containers universe-instances-base - ]; - description = "instances of standard classes that are made possible by enumerations"; + version = "1.1"; + sha256 = "0pdmv146ap0dh38mxhjf11jx3fbr9im7mc0zxb3bsnwpfrv1kfqd"; + revision = "1"; + editedCabalFile = "1v8cqdx20b5a2lrmyyvig8fkwl4ljycmf78g8rap5gngvhfz30rk"; + libraryHaskellDepends = [ base containers universe-base ]; + description = "Instances of standard classes that are made possible by enumerations"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -222956,6 +240371,7 @@ self: { description = "Construct a Dec's ancestor list"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "universum" = callPackage @@ -222983,6 +240399,7 @@ self: { description = "Custom prelude used in Serokell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unix_2_7_2_2" = callPackage @@ -222991,8 +240408,8 @@ self: { pname = "unix"; version = "2.7.2.2"; sha256 = "1b6ygkasn5bvmdci8g3zjkahl34kfqhf5jrayibvnrcdnaqlxpcq"; - revision = "2"; - editedCabalFile = "0d6dv944rp8g69p336b1ik9xl1f182jd8lz82ykhfjhasw8d1waf"; + revision = "3"; + editedCabalFile = "1bbn41bx46b9h8hbri50rw69996h75nfhm9zgyvnr8lzgfhnk4p6"; libraryHaskellDepends = [ base bytestring time ]; description = "POSIX functionality"; license = stdenv.lib.licenses.bsd3; @@ -223014,8 +240431,8 @@ self: { ({ mkDerivation, base, unix }: mkDerivation { pname = "unix-compat"; - version = "0.5.1"; - sha256 = "0llwl7rp63fy2ychwdclz1afj45pbin5pfl01dvn6rwhvmwhr7d3"; + version = "0.5.2"; + sha256 = "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"; libraryHaskellDepends = [ base unix ]; description = "Portable POSIX-compatibility layer"; license = stdenv.lib.licenses.bsd3; @@ -223033,6 +240450,7 @@ self: { description = "Comprehensive bindings to fcntl(2)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unix-handle" = callPackage @@ -223045,6 +240463,7 @@ self: { description = "POSIX operations on Handles"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unix-io-extra" = callPackage @@ -223095,6 +240514,7 @@ self: { description = "Run processes on Unix systems, with a conduit interface (deprecated)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unix-pty-light" = callPackage @@ -223114,8 +240534,8 @@ self: { }: mkDerivation { pname = "unix-time"; - version = "0.4.5"; - sha256 = "1bwg132x2613k93wxka17461fc72wrjy5vmgcyami0nn5b30ay7y"; + version = "0.4.7"; + sha256 = "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"; libraryHaskellDepends = [ base binary bytestring old-time ]; testHaskellDepends = [ base bytestring hspec old-locale old-time QuickCheck time @@ -223146,6 +240566,8 @@ self: { ]; description = "Bidirectional JSON parsing and generation"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unlambda" = callPackage @@ -223174,25 +240596,25 @@ self: { }) {}; "unliftio" = callPackage - ({ mkDerivation, async, base, containers, deepseq, directory - , filepath, gauge, hspec, process, QuickCheck, stm, time + ({ mkDerivation, async, base, bytestring, containers, deepseq + , directory, filepath, gauge, hspec, process, QuickCheck, stm, time , transformers, unix, unliftio-core }: mkDerivation { pname = "unliftio"; - version = "0.2.10"; - sha256 = "0p0vrw8yxfc5d31zybx08mp302fafs0a6lwq3n40qd1wiy2nw78l"; + version = "0.2.12"; + sha256 = "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"; libraryHaskellDepends = [ - async base deepseq directory filepath process stm time transformers - unix unliftio-core + async base bytestring deepseq directory filepath process stm time + transformers unix unliftio-core ]; testHaskellDepends = [ - async base containers deepseq directory filepath hspec process - QuickCheck stm time transformers unix unliftio-core + async base bytestring containers deepseq directory filepath hspec + process QuickCheck stm time transformers unix unliftio-core ]; benchmarkHaskellDepends = [ - async base deepseq directory filepath gauge process stm time - transformers unix unliftio-core + async base bytestring deepseq directory filepath gauge process stm + time transformers unix unliftio-core ]; description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)"; license = stdenv.lib.licenses.mit; @@ -223204,8 +240626,8 @@ self: { pname = "unliftio-core"; version = "0.1.2.0"; sha256 = "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"; - revision = "1"; - editedCabalFile = "0s6xfg9d0i3sfil5gjbamlq017wdxa69csk73bcqjkficg43vm29"; + revision = "2"; + editedCabalFile = "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz"; libraryHaskellDepends = [ base transformers ]; description = "The MonadUnliftIO typeclass for unlifting monads to IO"; license = stdenv.lib.licenses.mit; @@ -223231,8 +240653,8 @@ self: { }: mkDerivation { pname = "unliftio-streams"; - version = "0.1.0.0"; - sha256 = "0ylyk1g00isqzr7nbhrkf3m0yc36lfjb020lb1ip4s3ymlvkkp22"; + version = "0.1.1.0"; + sha256 = "0qp78c610anqpgpd13pz24x68kcpc69z2wjrz6a3qixvqjvp72bw"; libraryHaskellDepends = [ base bytestring io-streams text unliftio-core ]; @@ -223268,6 +240690,7 @@ self: { description = "A Library for the manipulation of images"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unmed2" = callPackage @@ -223284,29 +240707,6 @@ self: { }) {}; "unordered-containers" = callPackage - ({ mkDerivation, base, bytestring, ChasingBottoms, containers - , criterion, deepseq, deepseq-generics, hashable, hashmap, HUnit - , mtl, QuickCheck, random, test-framework, test-framework-hunit - , test-framework-quickcheck2 - }: - mkDerivation { - pname = "unordered-containers"; - version = "0.2.9.0"; - sha256 = "0l4264p0av12cc6i8gls13q8y27x12z2ar4x34n3x59y99fcnc37"; - libraryHaskellDepends = [ base deepseq hashable ]; - testHaskellDepends = [ - base ChasingBottoms containers hashable HUnit QuickCheck - test-framework test-framework-hunit test-framework-quickcheck2 - ]; - benchmarkHaskellDepends = [ - base bytestring containers criterion deepseq deepseq-generics - hashable hashmap mtl random - ]; - description = "Efficient hashing-based container types"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "unordered-containers_0_2_10_0" = callPackage ({ mkDerivation, base, bytestring, ChasingBottoms, containers , criterion, deepseq, deepseq-generics, hashable, hashmap, HUnit , mtl, QuickCheck, random, test-framework, test-framework-hunit @@ -223316,6 +240716,8 @@ self: { pname = "unordered-containers"; version = "0.2.10.0"; sha256 = "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"; + revision = "1"; + editedCabalFile = "01727lm2spbqfn0rl89zv9zhpsmnls0kmizyckqf5nc3j9d0k6sy"; libraryHaskellDepends = [ base deepseq hashable ]; testHaskellDepends = [ base ChasingBottoms containers hashable HUnit QuickCheck @@ -223327,7 +240729,6 @@ self: { ]; description = "Efficient hashing-based container types"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "unordered-containers-rematch" = callPackage @@ -223347,6 +240748,7 @@ self: { description = "Rematch support for unordered containers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unordered-graphs" = callPackage @@ -223363,6 +240765,7 @@ self: { description = "Graph library using unordered-containers"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unordered-intmap" = callPackage @@ -223380,6 +240783,7 @@ self: { description = "A specialization of `HashMap Int v`"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unpack-funcs" = callPackage @@ -223396,6 +240800,7 @@ self: { description = "Monad transformers that mirror worker-wrapper transformations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unpacked-containers" = callPackage @@ -223426,6 +240831,7 @@ self: { description = "An unpacked either data type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unpacked-maybe" = callPackage @@ -223439,6 +240845,7 @@ self: { description = "An unpacked maybe data type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unpacked-maybe-numeric" = callPackage @@ -223452,6 +240859,7 @@ self: { description = "maybes of numeric values with fewer indirections"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unpacked-these" = callPackage @@ -223469,6 +240877,7 @@ self: { description = "An unpacked these data type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unpacked-validation" = callPackage @@ -223486,6 +240895,7 @@ self: { description = "An unpacked validation data type"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unparse-attoparsec" = callPackage @@ -223518,6 +240928,7 @@ self: { description = "Compiler plugin for loop unrolling"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unsafe" = callPackage @@ -223555,6 +240966,7 @@ self: { description = "Flexible access control for unsafe operations and instances"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unsafeperformst" = callPackage @@ -223586,6 +240998,7 @@ self: { description = "Solve Boggle-like word games"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unsequential" = callPackage @@ -223605,6 +241018,7 @@ self: { description = "An extension removing the sequentiality from monads"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unusable-pkg" = callPackage @@ -223647,6 +241061,7 @@ self: { description = "A command line tool to identify unused code"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "unwrapped-functors" = callPackage @@ -223677,6 +241092,7 @@ self: { description = "Units of measure as a GHC typechecker plugin"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "up" = callPackage @@ -223685,16 +241101,17 @@ self: { }: mkDerivation { pname = "up"; - version = "1.0.0.4"; - sha256 = "03rlzqaj148mmxlr0h783z4cm2p7qsdzhx7s861mkfnra8pp84il"; + version = "1.0.0.5"; + sha256 = "1b41pqj2v6j0vgj7j18wlparbbkvf92xcfr59lvgf9k8xvarl43k"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ base directory filepath lambda-options mtl split ]; - description = "Command line tool to generate pathnames to facilitate moving upward in a file system"; + description = "Command-line tool to generate paths for moving upward in a file system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "up-grade" = callPackage @@ -223740,6 +241157,7 @@ self: { description = "A program to update fetchgit values in Nix expressions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "update-repos" = callPackage @@ -223779,6 +241197,7 @@ self: { description = "Haskell client for Uploadcare"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uploadtest" = callPackage @@ -223802,6 +241221,7 @@ self: { description = "Binding to upskirt"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ureader" = callPackage @@ -223826,6 +241246,7 @@ self: { description = "Minimalistic CLI RSS reader"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "urembed" = callPackage @@ -223847,6 +241268,7 @@ self: { description = "Ur/Web static content generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uri" = callPackage @@ -223859,6 +241281,7 @@ self: { description = "Library for working with URIs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uri-bytestring" = callPackage @@ -223888,7 +241311,6 @@ self: { ]; description = "Haskell URI parsing as ByteStrings"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "uri-bytestring-aeson" = callPackage @@ -223902,7 +241324,6 @@ self: { ]; description = "Aeson instances for URI Bytestring"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "uri-conduit" = callPackage @@ -223921,6 +241342,7 @@ self: { description = "Read and write URIs (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uri-encode" = callPackage @@ -223954,6 +241376,7 @@ self: { description = "Read and write URIs (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uri-enumerator-file" = callPackage @@ -223973,6 +241396,7 @@ self: { description = "uri-enumerator backend for the file scheme (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uri-parse" = callPackage @@ -223990,6 +241414,7 @@ self: { description = "A simple library for parsing and generating URIs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uri-template" = callPackage @@ -224005,6 +241430,7 @@ self: { description = "URI template library for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uri-templater" = callPackage @@ -224062,6 +241488,7 @@ self: { description = "Decoders for URL-encoding (aka Percent-encoding)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "url-generic" = callPackage @@ -224076,6 +241503,7 @@ self: { description = "Parse/format generic key/value URLs from record data types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "urlcheck" = callPackage @@ -224094,6 +241522,7 @@ self: { description = "Parallel link checker"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "urldecode" = callPackage @@ -224108,6 +241537,7 @@ self: { description = "Decode percent-encoded strings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "urldisp-happstack" = callPackage @@ -224120,6 +241550,7 @@ self: { description = "Simple, declarative, expressive URL routing -- on happstack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "urlencoded" = callPackage @@ -224129,13 +241560,12 @@ self: { pname = "urlencoded"; version = "0.4.2.0"; sha256 = "1i88qf5dq52ra7hl29ka1i0bhyfic3sg7ksm1n6bpb2hj38hr139"; - revision = "2"; - editedCabalFile = "1ylbxfd7p8kdlmsfbqsnisgdxk9livncin1bckp8m5a1mrw5ywk3"; + revision = "5"; + editedCabalFile = "1c9af5bzz5lkppqgd4bfynjxdqwps59n391fiw73nx3aq2nr7m0i"; libraryHaskellDepends = [ base mtl network network-uri split ]; testHaskellDepends = [ base network network-uri QuickCheck ]; description = "Generate or process x-www-urlencoded data"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "urlpath" = callPackage @@ -224156,6 +241586,7 @@ self: { description = "Painfully simple URL deployment"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "urn" = callPackage @@ -224169,6 +241600,7 @@ self: { description = "Universal Resource Names"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "urn-random" = callPackage @@ -224186,6 +241618,7 @@ self: { description = "A package for updatable discrete distributions"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "urxml" = callPackage @@ -224204,6 +241637,18 @@ self: { description = "XML parser-printer supporting Ur/Web syntax extensions"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "usa-holidays" = callPackage + ({ mkDerivation, base, doctest, doctest-discover, hspec, time }: + mkDerivation { + pname = "usa-holidays"; + version = "0.1.0.1"; + sha256 = "04biw4l5rpfcflrmcn45hlirq26bpzs27745jhyr32gl6mpnqb12"; + libraryHaskellDepends = [ base time ]; + testHaskellDepends = [ base doctest doctest-discover hspec time ]; + license = stdenv.lib.licenses.bsd3; }) {}; "usb" = callPackage @@ -224236,6 +241681,7 @@ self: { description = "Iteratee enumerators for the usb package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "usb-hid" = callPackage @@ -224250,6 +241696,7 @@ self: { description = "Parser and request Library for USB HIDs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "usb-id-database" = callPackage @@ -224270,6 +241717,7 @@ self: { description = "A database of USB identifiers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "usb-iteratee" = callPackage @@ -224287,6 +241735,7 @@ self: { description = "Iteratee enumerators for the usb package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "usb-safe" = callPackage @@ -224304,6 +241753,21 @@ self: { description = "Type-safe communication with USB devices"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "useragents" = callPackage + ({ mkDerivation, base, random-fu, text }: + mkDerivation { + pname = "useragents"; + version = "1.0.0"; + sha256 = "1n4n4mhikzgx2a9qq8rify5wwhngnz0qip32fnhshham5yyldmy6"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base random-fu text ]; + executableHaskellDepends = [ base random-fu text ]; + description = "A collection of user agents"; + license = stdenv.lib.licenses.mit; }) {}; "userid" = callPackage @@ -224319,6 +241783,8 @@ self: { ]; description = "The UserId type and useful instances for web development"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "users" = callPackage @@ -224354,6 +241820,7 @@ self: { description = "A mysql-haskell backend for the users library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "users-persistent" = callPackage @@ -224375,6 +241842,7 @@ self: { description = "A persistent backend for the users package"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "users-postgresql-simple" = callPackage @@ -224423,6 +241891,7 @@ self: { description = "A pragmatic time and date library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "utf8-env" = callPackage @@ -224460,6 +241929,7 @@ self: { description = "Variants of Prelude and System.IO with UTF8 text I/O operations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "utf8-string" = callPackage @@ -224491,14 +241961,15 @@ self: { description = "Constant-space UTF8 validator for ByteStrings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "util" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "util"; - version = "0.1.11.0"; - sha256 = "16qi0w19hy7y4az4dxnsvn5cjc7lg5zb9vv0jjzifky9dkssbicb"; + version = "0.1.13.0"; + sha256 = "15b5m2v1v4ab65cfd6ppwinq2pnv5212g1qwnyw6rwyiaac8k3gd"; libraryHaskellDepends = [ base ]; description = "Utilities"; license = stdenv.lib.licenses.bsd3; @@ -224514,6 +241985,7 @@ self: { description = "Exceptional utilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "util-plus" = callPackage @@ -224542,6 +242014,7 @@ self: { description = "Primitive memory-related utilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "util-primitive-control" = callPackage @@ -224558,6 +242031,7 @@ self: { description = "Utilities for stateful primitive types and types based on them"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "util-universe" = callPackage @@ -224574,6 +242048,8 @@ self: { testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ]; description = "Utilities for universal types"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "utility-ht" = callPackage @@ -224598,6 +242074,7 @@ self: { description = "Utilities for compiler construction: core functionality"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uu-cco-examples" = callPackage @@ -224612,6 +242089,7 @@ self: { description = "Utilities for compiler construction: example programs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uu-cco-hut-parsing" = callPackage @@ -224624,6 +242102,7 @@ self: { description = "Utilities for compiler construction: Feedback wrapper around parser in uulib"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uu-cco-uu-parsinglib" = callPackage @@ -224636,6 +242115,7 @@ self: { description = "Utilities for compiler construction: Feedback wrapper around parser in uu-parsinglib"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uu-interleaved" = callPackage @@ -224695,8 +242175,8 @@ self: { }: mkDerivation { pname = "uuagc"; - version = "0.9.52.1"; - sha256 = "1191a1jr1s76wjdrfzafy1ibf7a7xpg54dvwhwz4kr1jrc9jn2cq"; + version = "0.9.52.2"; + sha256 = "1wqva95nmz9yx9b60jjwkpb73pq9m4g9l4iq739xnj6llwckpb8y"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -224706,7 +242186,6 @@ self: { executableHaskellDepends = [ base uuagc-cabal ]; description = "Attribute Grammar System of Universiteit Utrecht"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "uuagc-bootstrap" = callPackage @@ -224730,6 +242209,7 @@ self: { description = "Attribute Grammar System of Universiteit Utrecht"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uuagc-cabal" = callPackage @@ -224745,7 +242225,6 @@ self: { ]; description = "Cabal plugin for UUAGC"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "uuagc-diagrams" = callPackage @@ -224758,6 +242237,7 @@ self: { description = "Utility for drawing attribute grammar pictures with the diagrams package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uuagd" = callPackage @@ -224815,6 +242295,7 @@ self: { description = "Aeson types for UUID instances"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uuid-crypto" = callPackage @@ -224852,13 +242333,15 @@ self: { }: mkDerivation { pname = "uuid-orphans"; - version = "1.4.2"; - sha256 = "1rsaskv8xhj773abijsq3xi3maa0ixw1k2qywcmw4bdm25pyxsr2"; + version = "1.4.3"; + sha256 = "0bfjyc6dg0k7vrd0i1w7ijdld3ns46jdy3dhybh9r2k08kr7fkgy"; libraryHaskellDepends = [ base safecopy text th-lift uuid-types web-routes ]; description = "Orphan instances for the UUID datatype"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uuid-quasi" = callPackage @@ -224881,8 +242364,8 @@ self: { pname = "uuid-types"; version = "1.0.3"; sha256 = "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"; - revision = "1"; - editedCabalFile = "0iwwj07gp28g357hv76k4h8pvlzamvchnw003cv3qk778pcpx201"; + revision = "2"; + editedCabalFile = "1lmlmng4lph57cljga3r9jy2axdls5mllsb2xzcwy2a34wgidarc"; libraryHaskellDepends = [ base binary bytestring deepseq hashable random text ]; @@ -224905,7 +242388,6 @@ self: { libraryHaskellDepends = [ base ghc-prim ]; description = "Haskell Utrecht Tools Library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "uvector" = callPackage @@ -224920,6 +242402,7 @@ self: { description = "Fast unboxed arrays with a flexible interface"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uvector-algorithms" = callPackage @@ -224932,6 +242415,7 @@ self: { description = "Efficient algorithms for uvector unboxed arrays"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uxadt" = callPackage @@ -224944,6 +242428,7 @@ self: { description = "Cross-language extensible representation for algebraic data type instances"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "uzbl-with-source" = callPackage @@ -224972,6 +242457,7 @@ self: { description = "interface to Video For Linux Two (V4L2)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "v4l2-examples" = callPackage @@ -224986,6 +242472,7 @@ self: { description = "video for linux two examples"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vabal" = callPackage @@ -225008,6 +242495,7 @@ self: { description = "the cabal companion"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vabal-lib" = callPackage @@ -225037,6 +242525,7 @@ self: { description = "Graph representation of the GHC heap"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vacuum-cairo" = callPackage @@ -225054,6 +242543,7 @@ self: { description = "Visualize live Haskell data structures using vacuum, graphviz and cairo"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vacuum-graphviz" = callPackage @@ -225066,6 +242556,7 @@ self: { description = "A library for transforming vacuum graphs into GraphViz output"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vacuum-opengl" = callPackage @@ -225086,6 +242577,7 @@ self: { description = "Visualize live Haskell data structures using vacuum, graphviz and OpenGL"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vacuum-ubigraph" = callPackage @@ -225098,6 +242590,7 @@ self: { description = "Visualize Haskell data structures using vacuum and Ubigraph"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vado" = callPackage @@ -225106,8 +242599,8 @@ self: { }: mkDerivation { pname = "vado"; - version = "0.0.10"; - sha256 = "04rdjhc1ny2xwmwvbf70bwjgyv5kzl8s83m79qr3i04vicax14gd"; + version = "0.0.11"; + sha256 = "1cx8qdzfg2wn6q6q3vhkh6lmwqfkyf8ypvbbv6kyjai1smb1qfac"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -225121,7 +242614,17 @@ self: { ]; description = "Runs commands on remote machines using ssh"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "valid" = callPackage + ({ mkDerivation, base, util }: + mkDerivation { + pname = "valid"; + version = "0.1.1.0"; + sha256 = "1c029mb3szixs9rr5i7ri2nm0ya5gv5r6bv8hzsyw90ys5nbgcz5"; + libraryHaskellDepends = [ base util ]; + description = "Type isomorphic to `Either` with `Applicative` instance which combines errors"; + license = stdenv.lib.licenses.bsd3; }) {}; "valid-names" = callPackage @@ -225134,6 +242637,7 @@ self: { description = "Valid operator/module characters"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "validate" = callPackage @@ -225165,6 +242669,7 @@ self: { description = "Input validation combinator library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "validated-literals" = callPackage @@ -225175,6 +242680,8 @@ self: { pname = "validated-literals"; version = "0.3.0"; sha256 = "1k77jp19kl7h4v9hl2jhsmbq8dhzl8z9sgkw1jxx1rblm3fszjx1"; + revision = "1"; + editedCabalFile = "1l6b488pnarmx4a1cysbx0lpcx0kvrs4x3bc4sinpnzv0r5az4z4"; libraryHaskellDepends = [ base template-haskell ]; testHaskellDepends = [ base bytestring deepseq tasty tasty-hunit tasty-travis @@ -225182,7 +242689,6 @@ self: { ]; description = "Compile-time checking for partial smart-constructors"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "validated-types" = callPackage @@ -225196,6 +242702,7 @@ self: { description = "Type-level constraints on strings and other input"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "validation" = callPackage @@ -225204,10 +242711,10 @@ self: { }: mkDerivation { pname = "validation"; - version = "1"; - sha256 = "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"; + version = "1.1"; + sha256 = "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"; revision = "1"; - editedCabalFile = "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3"; + editedCabalFile = "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp"; libraryHaskellDepends = [ base bifunctors deepseq lens semigroupoids semigroups ]; @@ -225236,6 +242743,7 @@ self: { description = "A nice way to define field validations in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "validationt" = callPackage @@ -225253,14 +242761,16 @@ self: { ]; description = "Straightforward validation monad"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "validity" = callPackage ({ mkDerivation, base, hspec }: mkDerivation { pname = "validity"; - version = "0.9.0.0"; - sha256 = "1rm0gw049v7f9i5rqn8f8ps4ksawmmggmhw9yclgh4qhhql7gz3q"; + version = "0.9.0.1"; + sha256 = "112wchq5l39fi9bkfkljic7bh1rd5gvz4lwjjw9pajg0zj51pyib"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base hspec ]; description = "Validity typeclass"; @@ -225287,8 +242797,8 @@ self: { ({ mkDerivation, base, bytestring, validity }: mkDerivation { pname = "validity-bytestring"; - version = "0.4.0.0"; - sha256 = "0zf722rm2s5p64bs1vl7fw1swa2svz2lk8w51bh235zds8bg11jc"; + version = "0.4.1.0"; + sha256 = "0jyqsvi12673pz2dz88v9j1i1vh0fxv77n0xyjh30lhl8s9y3vvd"; libraryHaskellDepends = [ base bytestring validity ]; description = "Validity instances for bytestring"; license = stdenv.lib.licenses.mit; @@ -225319,7 +242829,6 @@ self: { ]; description = "Validity instances for Path"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "validity-primitive" = callPackage @@ -225445,6 +242954,7 @@ self: { description = "Analyze and visualize expression trees"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "var" = callPackage @@ -225463,6 +242973,7 @@ self: { description = "Mutable variables and tuples"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "var-monad" = callPackage @@ -225493,6 +243004,7 @@ self: { description = "Process mpileup output to identify significant differences"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "variable-precision" = callPackage @@ -225510,6 +243022,7 @@ self: { description = "variable-precision floating point"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "variables" = callPackage @@ -225523,6 +243036,7 @@ self: { description = "Monads with variables, without deep magic"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "variation" = callPackage @@ -225538,6 +243052,7 @@ self: { description = "nominal value with possible variations"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "varying" = callPackage @@ -225564,8 +243079,8 @@ self: { }: mkDerivation { pname = "vault"; - version = "0.3.1.2"; - sha256 = "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"; + version = "0.3.1.3"; + sha256 = "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"; libraryHaskellDepends = [ base containers hashable semigroups unordered-containers ]; @@ -225579,15 +243094,14 @@ self: { }: mkDerivation { pname = "vault-tool"; - version = "0.1.0.0"; - sha256 = "00hnbd34chi7nm8vwq80vhl0629gklfkyfwic80q7i17kzsdvx90"; + version = "0.1.0.1"; + sha256 = "13bxbzamd3mca5bngmzn82fzk66b4vp5crw33bzg01nmbprxfcbb"; libraryHaskellDepends = [ aeson base bytestring http-client http-client-tls http-types text unordered-containers ]; description = "Client library for HashiCorp's Vault tool (via HTTP API)"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "vault-tool-server" = callPackage @@ -225596,8 +243110,8 @@ self: { }: mkDerivation { pname = "vault-tool-server"; - version = "0.1.0.0"; - sha256 = "06h4cslkb54p3yydcnkzlzysn54cy801i5fwc02hc4gi3kvia84k"; + version = "0.1.0.1"; + sha256 = "0svgjr2qxsiwx5i0lrwzfcmaikgavls8vc9p0wcj3w1ndrbjk1y5"; libraryHaskellDepends = [ aeson async base bytestring filepath http-client process temporary text vault-tool @@ -225608,6 +243122,7 @@ self: { description = "Utility library for spawning a HashiCorp Vault process"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vault-trans" = callPackage @@ -225625,6 +243140,7 @@ self: { description = "A monad transformer for vault-tool"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vaultaire-common" = callPackage @@ -225649,6 +243165,7 @@ self: { description = "Common types and instances for Vaultaire"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vcache" = callPackage @@ -225694,6 +243211,7 @@ self: { description = "A library for parsing/printing vCards from/to various formats"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vcatt" = callPackage @@ -225709,6 +243227,7 @@ self: { description = "Recursively check that a directory is under version control"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vcd" = callPackage @@ -225737,6 +243256,7 @@ self: { description = "A package to parse VCF files inspired in similar python libraries"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vcs-revision" = callPackage @@ -225783,6 +243303,7 @@ self: { description = "GUI library for source code management systems"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vcswrapper" = callPackage @@ -225807,28 +243328,26 @@ self: { description = "Wrapper for source code management systems"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vec" = callPackage ({ mkDerivation, adjunctions, base, base-compat, criterion, deepseq , distributive, fin, hashable, inspection-testing, lens - , semigroupoids, tagged, vector + , semigroupoids, tagged, transformers, vector }: mkDerivation { pname = "vec"; - version = "0.1"; - sha256 = "0m70ld5vy96vca4wdm45q1ixwznl3yfj8jzil2kjfkzzac5fym5y"; - revision = "3"; - editedCabalFile = "093q5qlhlia12ckhvax322lyy3sb554pg46ghabvsvx8znixw2hh"; + version = "0.1.1.1"; + sha256 = "0gzypyi4vv5ajysbmnpicm8r2qh95nmmrj9l6hp30b95i36cb5as"; libraryHaskellDepends = [ adjunctions base base-compat deepseq distributive fin hashable lens - semigroupoids + semigroupoids transformers ]; testHaskellDepends = [ base fin inspection-testing tagged ]; benchmarkHaskellDepends = [ base criterion fin vector ]; description = "Vec: length-indexed (sized) list"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "vect" = callPackage @@ -225852,6 +243371,7 @@ self: { description = "A low-dimensional linear algebra library, operating on the Floating typeclass"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vect-floating-accelerate" = callPackage @@ -225866,6 +243386,7 @@ self: { description = "Accelerate instances for vect-floating types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vect-opengl" = callPackage @@ -225878,6 +243399,7 @@ self: { description = "OpenGL support for the `vect' low-dimensional linear algebra library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vector_0_10_9_3" = callPackage @@ -225899,8 +243421,10 @@ self: { }: mkDerivation { pname = "vector"; - version = "0.12.0.2"; - sha256 = "1wy0pfa3ks6s2dkp1fwrl1s9d3wjmqy9d09icnwfs2zimyn9vs2j"; + version = "0.12.0.3"; + sha256 = "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"; + revision = "2"; + editedCabalFile = "1kjs6jnbxziv1q0md2jiqic0r19ry8xlg7wdr8b52rz7yjyb08hl"; libraryHaskellDepends = [ base deepseq ghc-prim primitive ]; testHaskellDepends = [ base base-orphans HUnit primitive QuickCheck random @@ -225919,6 +243443,8 @@ self: { pname = "vector-algorithms"; version = "0.8.0.1"; sha256 = "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"; + revision = "2"; + editedCabalFile = "0ms473xd1d81dbg47kjr9gxqs11ipg2j1kk99q37rhvrbr5xv5l4"; libraryHaskellDepends = [ base bytestring primitive vector ]; testHaskellDepends = [ base bytestring containers QuickCheck vector @@ -226014,6 +243540,7 @@ self: { description = "ByteStrings as type synonyms of Storable Vectors of Word8s"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vector-clock" = callPackage @@ -226034,6 +243561,7 @@ self: { description = "Vector clocks for versioning message flows"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vector-conduit" = callPackage @@ -226053,6 +243581,23 @@ self: { description = "Conduit utilities for vectors"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "vector-endian" = callPackage + ({ mkDerivation, base, cpu, deepseq, vector, zenhack-prelude }: + mkDerivation { + pname = "vector-endian"; + version = "0.1.0.0"; + sha256 = "0qfs19l2d56w6jl8niiq8vsjldb8mabf56xfsj45ai7ipi92cx13"; + libraryHaskellDepends = [ + base cpu deepseq vector zenhack-prelude + ]; + doHaddock = false; + description = "Storable vectors with cpu-independent representation"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vector-extras" = callPackage @@ -226061,15 +243606,14 @@ self: { }: mkDerivation { pname = "vector-extras"; - version = "0.2.1"; - sha256 = "1s9syai0bfdmwzj5r9snxi5plfl2bwnjyyh8dd2w7jmgdy0pkbiz"; + version = "0.2.1.1"; + sha256 = "0q5wm0hfk84hr9rgbb084d222ys0k1hab5cydwnnrpb7wy42199p"; libraryHaskellDepends = [ base containers deferred-folds foldl hashable unordered-containers vector ]; description = "Utilities for the \"vector\" library"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "vector-fftw" = callPackage @@ -226099,6 +243643,7 @@ self: { description = "vectors that perform the fmap operation in constant time"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vector-heterogenous" = callPackage @@ -226111,6 +243656,7 @@ self: { description = "A type-safe library for vectors whose elements can be of any type, or any type satisfying some constraints"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vector-instances" = callPackage @@ -226140,6 +243686,7 @@ self: { description = "Instances of the Data.Collections classes for Data.Vector.*"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vector-mmap" = callPackage @@ -226168,6 +243715,7 @@ self: { description = "Generate vectors filled with high quality pseudorandom numbers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vector-read-instances" = callPackage @@ -226180,6 +243728,7 @@ self: { description = "(deprecated) Read instances for 'Data.Vector'"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vector-shuffling" = callPackage @@ -226200,8 +243749,8 @@ self: { }: mkDerivation { pname = "vector-sized"; - version = "1.2.0.0"; - sha256 = "04r43b30vayg56n88b5r3b5krh2kjxnqgmr4kx052bgpl8k6zh54"; + version = "1.2.0.1"; + sha256 = "1l7d9nzazxh372pc7fwvbxib7hfmgkjg8c5iv7m5d240n1qk13pj"; libraryHaskellDepends = [ adjunctions base comonad deepseq distributive finite-typelits hashable indexed-list-literals primitive vector @@ -226211,19 +243760,6 @@ self: { }) {}; "vector-space" = callPackage - ({ mkDerivation, base, Boolean, MemoTrie, NumInstances }: - mkDerivation { - pname = "vector-space"; - version = "0.15"; - sha256 = "03swlbn0x8gfb7bilxmh3zckprjc6v64bildmhwzlimjvd1v8jb8"; - revision = "1"; - editedCabalFile = "19549mrhg3x0d1ancrxyvrskd6p4x11iprnv0b0d84q7sc40fa8w"; - libraryHaskellDepends = [ base Boolean MemoTrie NumInstances ]; - description = "Vector & affine spaces, linear maps, and derivatives"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "vector-space_0_16" = callPackage ({ mkDerivation, base, Boolean, MemoTrie, NumInstances }: mkDerivation { pname = "vector-space"; @@ -226232,7 +243768,6 @@ self: { libraryHaskellDepends = [ base Boolean MemoTrie NumInstances ]; description = "Vector & affine spaces, linear maps, and derivatives"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "vector-space-map" = callPackage @@ -226245,6 +243780,8 @@ self: { testHaskellDepends = [ base doctest ]; description = "vector-space operations for finite maps using Data.Map"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vector-space-opengl" = callPackage @@ -226263,6 +243800,7 @@ self: { description = "Instances of vector-space classes for OpenGL types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vector-space-points" = callPackage @@ -226276,7 +243814,6 @@ self: { libraryHaskellDepends = [ base vector-space ]; description = "A type for points, as distinct from vectors"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "vector-split" = callPackage @@ -226305,6 +243842,7 @@ self: { description = "Statically checked sizes on Data.Vector"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vector-strategies" = callPackage @@ -226375,6 +243913,7 @@ self: { description = "GIS Vector Tiles, as defined by Mapbox"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "verbalexpressions" = callPackage @@ -226387,15 +243926,20 @@ self: { description = "Regular expressions made easy"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "verbosity" = callPackage - ({ mkDerivation, base, binary, data-default-class, deepseq }: + ({ mkDerivation, base, binary, data-default-class, deepseq, dhall + , generic-lens, serialise + }: mkDerivation { pname = "verbosity"; - version = "0.2.3.0"; - sha256 = "0r7jj2h7xzz3i8ck00z19h4bfr4r4nxfzi6ya9kppcda92myak4b"; - libraryHaskellDepends = [ base binary data-default-class deepseq ]; + version = "0.3.0.0"; + sha256 = "0wzhkzgd6yxzdkmd2n8hwhrfyh5n88xs0hkil9l98wjh3mnn1qja"; + libraryHaskellDepends = [ + base binary data-default-class deepseq dhall generic-lens serialise + ]; description = "Simple enum that encodes application verbosity"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -226416,6 +243960,7 @@ self: { description = "Validation framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "verdict-json" = callPackage @@ -226437,6 +243982,7 @@ self: { description = "JSON instances and JSON Schema for verdict"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "verifiable-expressions" = callPackage @@ -226445,14 +243991,15 @@ self: { }: mkDerivation { pname = "verifiable-expressions"; - version = "0.4.0"; - sha256 = "0s0wqhss8155xy2gkdwylvp61cn0ra5245fa5l2k9rvqr8xxrfkd"; + version = "0.6.0"; + sha256 = "1drb5zkpm5zn765fkp2p7jq69q50f9577rz9bs76cp0gvccan8my"; libraryHaskellDepends = [ base containers lens mtl sbv transformers union vinyl ]; description = "An intermediate language for Hoare logic style verification"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "verify" = callPackage @@ -226476,6 +244023,7 @@ self: { description = "A new Haskeleton package"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "verilog" = callPackage @@ -226489,6 +244037,7 @@ self: { description = "Verilog preprocessor, parser, and AST"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "versioning" = callPackage @@ -226502,6 +244051,7 @@ self: { description = "Type-safe data versioning"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "versioning-servant" = callPackage @@ -226523,6 +244073,7 @@ self: { description = "Servant combinators for the versioning library"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "versions" = callPackage @@ -226532,10 +244083,8 @@ self: { }: mkDerivation { pname = "versions"; - version = "3.5.0"; - sha256 = "1g6db0ah78yk1m5wyxp0az7bzlbxsfkychqjcj423wzx90z7ww4w"; - revision = "1"; - editedCabalFile = "13gb4n3bdkbgf199q3px7ihaqycbx76cb8isrs3qn16n67mx5b2f"; + version = "3.5.1"; + sha256 = "1qbihyqw99wkdmslvxqkj6h8x0ih9w86h4s7k51maaicmgijm94w"; libraryHaskellDepends = [ base deepseq hashable megaparsec text ]; testHaskellDepends = [ base base-prelude checkers megaparsec microlens QuickCheck tasty @@ -226545,6 +244094,28 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "vflow-types" = callPackage + ({ mkDerivation, aeson, base, bytestring, ip, json-alt + , json-autotype, neat-interpolation, QuickCheck, quickcheck-classes + , scientific, text + }: + mkDerivation { + pname = "vflow-types"; + version = "0.1"; + sha256 = "01iycni552yrikn59lh6mvsf16aq52kcgwapqk6al8y623vqg5hi"; + libraryHaskellDepends = [ + aeson base ip json-alt json-autotype scientific text + ]; + testHaskellDepends = [ + aeson base bytestring ip json-alt neat-interpolation QuickCheck + quickcheck-classes text + ]; + description = "types for ingesting vflow data with aeson"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "vfr-waypoints" = callPackage ({ mkDerivation, base, containers, dimensional, fuzzy , geodetic-types, lens, monoid-subclasses, optparse-applicative @@ -226565,6 +244136,7 @@ self: { description = "VFR waypoints, as published in the AIP (ERSA)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vgrep" = callPackage @@ -226595,6 +244167,7 @@ self: { description = "A pager for grep"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vhd" = callPackage @@ -226621,6 +244194,7 @@ self: { description = "Provides functions to inspect and manipulate virtual hard disk (VHD) files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vhdl" = callPackage @@ -226633,6 +244207,7 @@ self: { description = "VHDL AST and pretty printer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vicinity" = callPackage @@ -226649,6 +244224,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "viewprof" = callPackage @@ -226657,8 +244233,8 @@ self: { }: mkDerivation { pname = "viewprof"; - version = "0.0.0.27"; - sha256 = "0yfrh7ifgn4vw9yqn0rif040sabbgs2j42rkds48fam30cdr12v6"; + version = "0.0.0.28"; + sha256 = "1l2cjisay7vbqb64xd4lkz594x2ji2gs249h9j4anbifzg6bbjb2"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -226667,7 +244243,6 @@ self: { ]; description = "Text-based interactive GHC .prof viewer"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "views" = callPackage @@ -226680,6 +244255,7 @@ self: { description = "Views allow you to run a State monad on part of a state"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vigilance" = callPackage @@ -226721,6 +244297,7 @@ self: { description = "An extensible dead-man's switch system"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vimeta" = callPackage @@ -226732,8 +244309,8 @@ self: { }: mkDerivation { pname = "vimeta"; - version = "0.2.5.0"; - sha256 = "03ykd8pz7wn9dcj78zgq15ip04g8b4b7945g6fj5a7bfz0y9asbf"; + version = "0.2.5.1"; + sha256 = "1v46b0215mcyhxma3ascg3paz683j8xqsf4czs8syx4amyls36qg"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -226745,7 +244322,6 @@ self: { executableHaskellDepends = [ base ]; description = "Frontend for video metadata tagging tools"; license = stdenv.lib.licenses.bsd2; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "vimus" = callPackage @@ -226776,6 +244352,7 @@ self: { description = "An MPD client with vim-like key bindings"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) ncurses;}; "vintage-basic" = callPackage @@ -226797,31 +244374,10 @@ self: { description = "Interpreter for microcomputer-era BASIC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vinyl" = callPackage - ({ mkDerivation, aeson, array, base, criterion, doctest, ghc-prim - , hspec, lens, lens-aeson, linear, microlens, mtl, mwc-random - , primitive, should-not-typecheck, singletons, tagged, text - , unordered-containers, vector - }: - mkDerivation { - pname = "vinyl"; - version = "0.10.0.1"; - sha256 = "1x2x40cgyhj3yzw4kajssjvlnwlcrrnz7vaa8as2k9xmv9x76ig4"; - libraryHaskellDepends = [ array base ghc-prim ]; - testHaskellDepends = [ - aeson base doctest hspec lens lens-aeson microlens mtl - should-not-typecheck singletons text unordered-containers vector - ]; - benchmarkHaskellDepends = [ - base criterion linear microlens mwc-random primitive tagged vector - ]; - description = "Extensible Records"; - license = stdenv.lib.licenses.mit; - }) {}; - - "vinyl_0_11_0" = callPackage ({ mkDerivation, aeson, array, base, criterion, doctest, ghc-prim , hspec, lens, lens-aeson, linear, microlens, mtl, mwc-random , primitive, should-not-typecheck, singletons, tagged, text @@ -226842,6 +244398,26 @@ self: { description = "Extensible Records"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "vinyl-generics" = callPackage + ({ mkDerivation, aeson, base, generics-sop, hspec, hspec-core + , QuickCheck, records-sop, text, vinyl + }: + mkDerivation { + pname = "vinyl-generics"; + version = "0.1.0.0"; + sha256 = "1rxv1wgckq5a3c65lvniizmv5f55gbnngxx76wa93h8lgrhf6ac0"; + libraryHaskellDepends = [ base generics-sop records-sop vinyl ]; + testHaskellDepends = [ + aeson base generics-sop hspec hspec-core QuickCheck records-sop + text vinyl + ]; + description = "Convert plain records to vinyl (and vice versa), generically"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vinyl-gl" = callPackage @@ -226863,6 +244439,8 @@ self: { ]; description = "Utilities for working with OpenGL's GLSL shading language and vinyl records"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vinyl-json" = callPackage @@ -226880,6 +244458,20 @@ self: { description = "Provide json instances automagically to vinyl types"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "vinyl-named-sugar" = callPackage + ({ mkDerivation, base, vinyl }: + mkDerivation { + pname = "vinyl-named-sugar"; + version = "0.1.0.0"; + sha256 = "19wbdavf5zb967r4qkw6ksd2yakp4cnlq1hffzzywssm50zakc3h"; + libraryHaskellDepends = [ base vinyl ]; + description = "Syntax sugar for vinyl records using overloaded labels"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vinyl-operational" = callPackage @@ -226895,6 +244487,7 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vinyl-plus" = callPackage @@ -226915,6 +244508,7 @@ self: { description = "Vinyl records utilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vinyl-utils" = callPackage @@ -226927,6 +244521,7 @@ self: { description = "Utilities for vinyl"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vinyl-vectors" = callPackage @@ -226946,6 +244541,7 @@ self: { description = "Vectors for vinyl vectors"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "virthualenv" = callPackage @@ -226966,6 +244562,7 @@ self: { description = "Virtual Haskell Environment builder"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "visibility" = callPackage @@ -226978,6 +244575,7 @@ self: { description = "Simple computation of visibility polygons"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vision" = callPackage @@ -227000,6 +244598,7 @@ self: { description = "An XMMS2 client"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "visual-graphrewrite" = callPackage @@ -227028,6 +244627,7 @@ self: { description = "Visualize the graph-rewrite steps of a Haskell program"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "visual-prof" = callPackage @@ -227047,6 +244647,7 @@ self: { description = "Create a visual profile of a program's source code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "visualize-cbn" = callPackage @@ -227067,6 +244668,7 @@ self: { description = "Visualize CBN reduction"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vivid" = callPackage @@ -227087,6 +244689,7 @@ self: { description = "Sound synthesis with SuperCollider"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vivid-osc" = callPackage @@ -227119,6 +244722,7 @@ self: { description = "Implementation of SuperCollider server specifications"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vk-aws-route53" = callPackage @@ -227137,6 +244741,7 @@ self: { description = "Amazon Route53 DNS service plugin for the aws package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vk-posix-pty" = callPackage @@ -227189,14 +244794,15 @@ self: { description = "Upload audio files to voicebase to get a transcription"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "void" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "void"; - version = "0.7.2"; - sha256 = "0aygw0yb1h3yhmfl3bkwh5d3h0l4mmsxz7j53vdm6jryl1kgxzyk"; + version = "0.7.3"; + sha256 = "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"; libraryHaskellDepends = [ base ]; description = "A Haskell 98 logically uninhabited data type"; license = stdenv.lib.licenses.bsd3; @@ -227215,6 +244821,7 @@ self: { description = "Reading of Vorbis comments from Ogg Vorbis files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vowpal-utils" = callPackage @@ -227227,6 +244834,7 @@ self: { description = "Vowpal Wabbit utilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "voyeur" = callPackage @@ -227239,6 +244847,7 @@ self: { description = "Haskell bindings for libvoyeur"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vpq" = callPackage @@ -227256,44 +244865,44 @@ self: { description = "Priority queue based on vector"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vrpn" = callPackage - ({ mkDerivation, base, vrpn }: + ({ mkDerivation, base, quat, vrpn }: mkDerivation { pname = "vrpn"; - version = "0.2.1.4"; - sha256 = "11iiwzhb9dqhk83p9gcnj4q2ya5m35bnic30a23z3l9lhsnn49b4"; + version = "0.3.0.0"; + sha256 = "1wyp8dnjag53qlbiz83d21046190kf8hv2izqk1alrniva4vz1kp"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base ]; - librarySystemDepends = [ vrpn ]; + librarySystemDepends = [ quat vrpn ]; executableHaskellDepends = [ base ]; - executableSystemDepends = [ vrpn ]; + executableSystemDepends = [ quat vrpn ]; description = "Bindings to VRPN"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs) vrpn;}; + }) {quat = null; inherit (pkgs) vrpn;}; "vt-utils" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, bytestring - , case-insensitive, directory, http-client, http-types, HUnit - , parsec, process, text, time, transformers, unordered-containers - , vector, wai, warp + , case-insensitive, directory, either, hashable, http-client + , http-types, HUnit, parsec, process, text, time, transformers + , unordered-containers, vector, wai, warp }: mkDerivation { pname = "vt-utils"; - version = "1.2.0.0"; - sha256 = "1mbc4a8s6h3f5w3da2ln95050c1ssnh7pyj4i34nvmm5gqrb3jb9"; + version = "1.3.0.0"; + sha256 = "07xn1izv59h8b6nk294gyxcfn489n2f6fcpi5g9nkscr59hmkj2v"; libraryHaskellDepends = [ aeson aeson-pretty base bytestring case-insensitive directory - http-client http-types HUnit parsec process text time transformers - unordered-containers vector wai + either hashable http-client http-types HUnit parsec process text + time transformers unordered-containers vector wai ]; testHaskellDepends = [ aeson aeson-pretty base bytestring case-insensitive directory - http-client http-types HUnit parsec process text time transformers - unordered-containers vector wai warp + either hashable http-client http-types HUnit parsec process text + time transformers unordered-containers vector wai warp ]; description = "Vector and Text utilities"; license = stdenv.lib.licenses.mit; @@ -227315,7 +244924,8 @@ self: { description = "Binding to the VTE library"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs.gnome2) vte;}; + broken = true; + }) {inherit (pkgs) vte;}; "vtegtk3" = callPackage ({ mkDerivation, base, Cabal, glib, gtk2hs-buildtools, gtk3, pango @@ -227333,7 +244943,8 @@ self: { description = "Binding to the VTE library"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs.gnome2) vte;}; + broken = true; + }) {inherit (pkgs) vte;}; "vty" = callPackage ({ mkDerivation, base, blaze-builder, bytestring, Cabal, containers @@ -227388,6 +244999,7 @@ self: { description = "Examples programs using the vty library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vty-menu" = callPackage @@ -227402,6 +245014,7 @@ self: { description = "A lib for displaying a menu and getting a selection using VTY"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vty-ui" = callPackage @@ -227424,6 +245037,7 @@ self: { description = "An interactive terminal user interface library for Vty"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vty-ui-extras" = callPackage @@ -227436,6 +245050,7 @@ self: { description = "Extra vty-ui functionality not included in the core library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "vulkan" = callPackage @@ -227449,18 +245064,18 @@ self: { description = "Bindings to the Vulkan graphics API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {vulkan = null;}; "vulkan-api" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "vulkan-api"; - version = "1.1.3.0"; - sha256 = "1sd7rasg7305dlfq1mwyxw45gwy4ria0cbcd18pnilwjgsla7kvc"; + version = "1.3.0.0"; + sha256 = "1afnj053p3azm9wwdsr49w2s82k64lb0f12ak2g2v8vgidrjl7qk"; libraryHaskellDepends = [ base ]; description = "Low-level low-overhead vulkan api bindings"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "waargonaut" = callPackage @@ -227470,32 +245085,35 @@ self: { , hedgehog-fn, hoist-error, hw-balancedparens, hw-bits, hw-json , hw-prim, hw-rankselect, lens, mmorph, mtl, nats, natural, parsers , scientific, semigroupoids, semigroups, tagged, tasty - , tasty-expected-failure, tasty-hedgehog, tasty-hunit - , template-haskell, text, transformers, vector, witherable - , wl-pprint-annotated, zippers + , tasty-expected-failure, tasty-golden, tasty-hedgehog, tasty-hunit + , template-haskell, text, transformers, unordered-containers + , vector, witherable, wl-pprint-annotated, zippers }: mkDerivation { pname = "waargonaut"; - version = "0.5.2.2"; - sha256 = "06kkgn6p28c29f9i3qs2wxmbsg449d7awi4h7giakws6ny1min95"; + version = "0.6.2.0"; + sha256 = "1s9il54r5hqp4fbxn5012f7l6ir6fy2v6xv5xf57zh1sz0ifxj2f"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ - base bifunctors bytestring containers contravariant digit - distributive errors generics-sop hoist-error hw-balancedparens - hw-bits hw-json hw-prim hw-rankselect lens mmorph mtl nats natural - parsers scientific semigroupoids semigroups tagged text - transformers vector witherable wl-pprint-annotated zippers + attoparsec base bifunctors bytestring containers contravariant + digit distributive errors generics-sop hoist-error + hw-balancedparens hw-bits hw-json hw-prim hw-rankselect lens mmorph + mtl nats natural parsers scientific semigroupoids semigroups tagged + text transformers unordered-containers vector witherable + wl-pprint-annotated zippers ]; testHaskellDepends = [ attoparsec base bytestring containers contravariant digit directory distributive doctest filepath generics-sop hedgehog hedgehog-fn - lens mtl natural scientific semigroupoids semigroups tagged tasty - tasty-expected-failure tasty-hedgehog tasty-hunit template-haskell - text vector zippers + hw-balancedparens hw-bits hw-json hw-prim hw-rankselect lens mtl + natural scientific semigroupoids semigroups tagged tasty + tasty-expected-failure tasty-golden tasty-hedgehog tasty-hunit + template-haskell text unordered-containers vector zippers ]; description = "JSON wrangling"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wacom-daemon" = callPackage @@ -227520,6 +245138,7 @@ self: { description = "Manage Wacom tablet settings profiles, including Intuos Pro ring modes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "waddle" = callPackage @@ -227543,6 +245162,7 @@ self: { description = "DOOM WAD file utilities"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wahsp" = callPackage @@ -227564,6 +245184,7 @@ self: { description = "A haskell binding of the Web Audio API ala blank-canvas"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai" = callPackage @@ -227572,8 +245193,8 @@ self: { }: mkDerivation { pname = "wai"; - version = "3.2.2"; - sha256 = "1qbzq4k8b23pg1knw5y99rdvkfywnncwqkfrkp2w7g6p054xar1a"; + version = "3.2.2.1"; + sha256 = "058871axlq6r0gcqxbjw37w57df9xbv81dmz99b1zq59wf329xzy"; libraryHaskellDepends = [ base bytestring http-types network text transformers vault ]; @@ -227607,21 +245228,20 @@ self: { ({ mkDerivation, array, attoparsec, attoparsec-conduit, base , bytestring, case-insensitive, conduit, conduit-extra, containers , data-default-class, directory, doctest, filepath, hspec, HTTP - , http-client, http-conduit, http-date, http-types, io-choice - , lifted-base, mime-types, network, process, sockaddr, static-hash - , text, transformers, unix, wai, wai-conduit, warp, word8 + , http-client, http-conduit, http-date, http-types, mime-types + , network, process, sockaddr, static-hash, text, transformers, unix + , wai, wai-conduit, warp, word8 }: mkDerivation { pname = "wai-app-file-cgi"; - version = "3.1.6"; - sha256 = "1w2hmy0q8dvg575sxmc69f9x7pcf1fx6lypzxsaxyfyazvhi4krc"; + version = "3.1.9"; + sha256 = "1knf3dmal9immsxj4cvqf2i4ijlrn17fick6slxb1mrms7f50wkq"; libraryHaskellDepends = [ array attoparsec attoparsec-conduit base bytestring case-insensitive conduit conduit-extra containers data-default-class directory filepath http-client http-conduit - http-date http-types io-choice lifted-base mime-types network - process sockaddr static-hash text transformers unix wai wai-conduit - warp word8 + http-date http-types mime-types network process sockaddr + static-hash text transformers unix wai wai-conduit warp word8 ]; testHaskellDepends = [ base bytestring conduit conduit-extra directory doctest filepath @@ -227629,42 +245249,11 @@ self: { ]; description = "File/CGI/Rev Proxy App of WAI"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-app-static" = callPackage - ({ mkDerivation, base, blaze-html, blaze-markup, bytestring - , containers, cryptonite, directory, file-embed, filepath, hspec - , http-date, http-types, memory, mime-types, mockery, network - , old-locale, optparse-applicative, template-haskell, temporary - , text, time, transformers, unix-compat, unordered-containers, wai - , wai-extra, warp, zlib - }: - mkDerivation { - pname = "wai-app-static"; - version = "3.1.6.2"; - sha256 = "0gnwq6ad5m8w8sqq4dzpz23l5rjdphfsf8h9h27lrvv1prkabc6h"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - base blaze-html blaze-markup bytestring containers cryptonite - directory file-embed filepath http-date http-types memory - mime-types old-locale optparse-applicative template-haskell text - time transformers unix-compat unordered-containers wai wai-extra - warp zlib - ]; - executableHaskellDepends = [ - base bytestring containers directory mime-types text - ]; - testHaskellDepends = [ - base bytestring filepath hspec http-date http-types mime-types - mockery network old-locale temporary text time transformers - unix-compat wai wai-extra zlib - ]; - description = "WAI application for static serving"; - license = stdenv.lib.licenses.mit; - }) {}; - - "wai-app-static_3_1_6_3" = callPackage ({ mkDerivation, base, blaze-html, blaze-markup, bytestring , containers, cryptonite, directory, file-embed, filepath, hspec , http-date, http-types, memory, mime-types, mockery, network @@ -227676,8 +245265,8 @@ self: { pname = "wai-app-static"; version = "3.1.6.3"; sha256 = "0s6bpz5gmjy797bnnw1y5mwy9761h46bjp1srnrh7cxlnvm93c4c"; - revision = "2"; - editedCabalFile = "17wd7cxqwimhww53qihchrr62hnzirggk86migi9bcwv4wjykmqc"; + revision = "3"; + editedCabalFile = "01qzkb1niv0jzbsh802gw1a9w85h0nhp1vd6hln958hsxf25n0d9"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -227697,28 +245286,9 @@ self: { ]; description = "WAI application for static serving"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "wai-cli" = callPackage - ({ mkDerivation, ansi-terminal, base, http-types, monads-tf - , network, options, socket-activation, stm, streaming-commons, unix - , wai, wai-extra, warp, warp-tls - }: - mkDerivation { - pname = "wai-cli"; - version = "0.1.1"; - sha256 = "0qi84p1x5b0hvsdgd03fn80j3ai0s0svcl340z9fvz6lrgcfnhq6"; - libraryHaskellDepends = [ - ansi-terminal base http-types monads-tf network options - socket-activation stm streaming-commons unix wai wai-extra warp - warp-tls - ]; - description = "Command line runner for Wai apps (using Warp) with TLS, CGI, socket activation & graceful shutdown"; - license = stdenv.lib.licenses.publicDomain; - }) {}; - - "wai-cli_0_2_1" = callPackage ({ mkDerivation, ansi-terminal, base, http-types, iproute , monads-tf, network, options, socket-activation, stm , streaming-commons, unix, wai, wai-extra, warp, warp-tls @@ -227736,7 +245306,6 @@ self: { ]; description = "Command line runner for Wai apps (using Warp) with TLS, CGI, socket activation & graceful shutdown"; license = stdenv.lib.licenses.publicDomain; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "wai-conduit" = callPackage @@ -227762,8 +245331,8 @@ self: { }: mkDerivation { pname = "wai-cors"; - version = "0.2.6"; - sha256 = "11m9d8hn9pb9brprz0kglldmcqj83kjkjdwdpxdbl12430ii1ina"; + version = "0.2.7"; + sha256 = "10gv3jjlkcb13031frr818p56v2s0qf6dqjsfpwlhwdxdssvx5r5"; enableSeparateDataOutput = true; libraryHaskellDepends = [ attoparsec base base-unicode-symbols bytestring case-insensitive @@ -227805,6 +245374,7 @@ self: { description = "A web server for the development of WAI compliant web applications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-digestive-functors" = callPackage @@ -227873,28 +245443,26 @@ self: { ({ mkDerivation, aeson, ansi-terminal, base, base64-bytestring , bytestring, case-insensitive, containers, cookie , data-default-class, deepseq, directory, fast-logger, hspec - , http-types, HUnit, iproute, network, old-locale, resourcet + , http-types, http2, HUnit, iproute, network, old-locale, resourcet , streaming-commons, text, time, transformers, unix, unix-compat , vault, void, wai, wai-logger, word8, zlib }: mkDerivation { pname = "wai-extra"; - version = "3.0.25"; - sha256 = "0caz1miwnyjqg6gdfgv7ibyfdyjzlq2i8v07zhan1nniv9pj3w6y"; - revision = "1"; - editedCabalFile = "1i26cmmh1qc4krni21ixfhpp12bvkpxiplhdhk8qsksyp31zqmv4"; + version = "3.0.28"; + sha256 = "0iky7k4kirngvk1p2nz19zgzffb5hppfaxdjan80v06ikc8w1wm7"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson ansi-terminal base base64-bytestring bytestring case-insensitive containers cookie data-default-class deepseq - directory fast-logger http-types iproute network old-locale + directory fast-logger http-types http2 iproute network old-locale resourcet streaming-commons text time transformers unix unix-compat vault void wai wai-logger word8 zlib ]; testHaskellDepends = [ base bytestring case-insensitive cookie fast-logger hspec - http-types HUnit resourcet text time transformers wai zlib + http-types http2 HUnit resourcet text time transformers wai zlib ]; description = "Provides some basic WAI handlers and middleware"; license = stdenv.lib.licenses.mit; @@ -227938,6 +245506,7 @@ self: { description = "Git http-backend CGI App of WAI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-graceful" = callPackage @@ -227950,6 +245519,7 @@ self: { description = "Graceful shutdown for WAI applications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-handler-devel" = callPackage @@ -227971,6 +245541,7 @@ self: { description = "WAI server that automatically reloads code after modification. (deprecated)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-handler-fastcgi" = callPackage @@ -227993,6 +245564,8 @@ self: { pname = "wai-handler-launch"; version = "3.0.2.4"; sha256 = "0019vz9ha2mvliz3drjbj62v26mwhl9bl1vqr06ki40865hrr78f"; + revision = "1"; + editedCabalFile = "1mjxbzw3a5wybcp8s4x05rx91p2qaabpfci6w2k6p6nw4rjvfijv"; libraryHaskellDepends = [ async base bytestring http-types process streaming-commons transformers wai warp @@ -228011,6 +245584,7 @@ self: { description = "Wai handler to SCGI (deprecated)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-handler-snap" = callPackage @@ -228028,6 +245602,7 @@ self: { description = "Web Application Interface handler using snap-server. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-handler-webkit" = callPackage @@ -228041,6 +245616,7 @@ self: { description = "Turn WAI applications into standalone GUIs using QtWebkit"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {QtWebKit = null;}; "wai-hastache" = callPackage @@ -228080,6 +245656,7 @@ self: { description = "hmac authentication tools for WAI apps"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-http2-extra" = callPackage @@ -228088,8 +245665,8 @@ self: { }: mkDerivation { pname = "wai-http2-extra"; - version = "0.1.0"; - sha256 = "1gqm346vr2asshb55dyml28ifiyb975zj5mklg0yfjq2hpbn97ld"; + version = "0.1.2"; + sha256 = "1f4ddgrprdnbpdbb6jj8n2ib206dlj5mgf8ar6r1ls2p90vpn6yr"; libraryHaskellDepends = [ auto-update base bytestring containers http-types wai warp word8 ]; @@ -228098,6 +245675,31 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "wai-lambda" = callPackage + ({ mkDerivation, aeson, base, binary, bytestring, case-insensitive + , directory, http-types, iproute, network, temporary, text + , unliftio, unordered-containers, vault, wai + }: + mkDerivation { + pname = "wai-lambda"; + version = "0.1.0.0"; + sha256 = "1m77i3zazvpa4jirvgxjdik5fnzarrbmavvi48d72c8a8jjwsx9x"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base binary bytestring case-insensitive directory http-types + iproute network temporary text unliftio unordered-containers vault + wai + ]; + executableHaskellDepends = [ + aeson base binary bytestring case-insensitive directory http-types + iproute network temporary text unliftio unordered-containers vault + wai + ]; + description = "Haskell Webapps on AWS Lambda"; + license = stdenv.lib.licenses.mit; + }) {}; + "wai-lens" = callPackage ({ mkDerivation, base, bytestring, http-types, lens, network, text , vault, wai @@ -228112,6 +245714,7 @@ self: { description = "Lenses for WAI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-lite" = callPackage @@ -228128,6 +245731,22 @@ self: { description = "DEPCRECATED (use package \"simple\" instead) A minimalist web framework for WAI web applications"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "wai-log" = callPackage + ({ mkDerivation, aeson, base, http-types, log-base + , string-conversions, text, time, wai + }: + mkDerivation { + pname = "wai-log"; + version = "0.1.0.0"; + sha256 = "1a0fs008nj47pbr8cjf8wh5j4dqqpgrp0dg75k2x5gx8v28d6q3n"; + libraryHaskellDepends = [ + aeson base http-types log-base string-conversions text time wai + ]; + description = "A logging middleware for WAI applications"; + license = stdenv.lib.licenses.bsd3; }) {}; "wai-logger" = callPackage @@ -228136,8 +245755,8 @@ self: { }: mkDerivation { pname = "wai-logger"; - version = "2.3.4"; - sha256 = "004ng1r1qij0frlsyps0nz9b0ijn0zlk3i6qbb7lq1f4209ikzlk"; + version = "2.3.5"; + sha256 = "05gbipyw0672irynsc3wqvvgzqixhmq69ay2mxh2phb734r8bcmm"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base byteorder bytestring fast-logger http-types network wai @@ -228169,6 +245788,7 @@ self: { description = "Buffer requets before logging them"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-logger-prefork" = callPackage @@ -228186,6 +245806,7 @@ self: { description = "A logging system for preforked WAI apps"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-make-assets" = callPackage @@ -228216,6 +245837,7 @@ self: { description = "Compiling and serving assets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-auth" = callPackage @@ -228246,7 +245868,6 @@ self: { ]; description = "Authentication middleware that secures WAI application"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "wai-middleware-brotli" = callPackage @@ -228296,6 +245917,7 @@ self: { description = "Caching middleware for WAI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-cache-redis" = callPackage @@ -228315,6 +245937,7 @@ self: { description = "Redis backend for wai-middleware-cache"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-caching" = callPackage @@ -228378,6 +246001,7 @@ self: { description = "Wai error catching middleware"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-consul" = callPackage @@ -228401,6 +246025,7 @@ self: { description = "Wai Middleware for Consul"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-content-type" = callPackage @@ -228434,6 +246059,7 @@ self: { description = "Route to different middlewares based on the incoming Accept header"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-crowd" = callPackage @@ -228492,6 +246118,7 @@ self: { description = "WAI middleware that delegates handling of requests"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-etag" = callPackage @@ -228510,6 +246137,7 @@ self: { description = "WAI ETag middleware for static files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-gunzip" = callPackage @@ -228537,6 +246165,7 @@ self: { description = "cors and addHeaders for WAI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-hmac" = callPackage @@ -228580,6 +246209,7 @@ self: { description = "WAI HMAC Authentication Middleware Client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-json-errors" = callPackage @@ -228620,7 +246250,6 @@ self: { ]; description = "A WAI middleware to collect EKG request metrics"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "wai-middleware-preprocessor" = callPackage @@ -228640,6 +246269,7 @@ self: { description = "WAI middleware for preprocessing static files"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-prometheus" = callPackage @@ -228674,6 +246304,7 @@ self: { description = "Middleware that communicates to Rollbar"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-route" = callPackage @@ -228695,6 +246326,7 @@ self: { description = "Wai dispatch middleware"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-slack-verify" = callPackage @@ -228727,8 +246359,8 @@ self: { pname = "wai-middleware-static"; version = "0.8.2"; sha256 = "1z5yapcf8j9w71f2na30snmalsajlyi8an2f9qrjdmajabyykr0b"; - revision = "1"; - editedCabalFile = "0n7i81jrjsrav8bpg31avrd18vh95l5z6bfj4fqkrdj4h1v6armi"; + revision = "2"; + editedCabalFile = "17vq38dh7x1kqzfwla1s0rldd5hzm5mcrx49sjlzy8b66gd2n3ac"; libraryHaskellDepends = [ base bytestring containers cryptonite directory expiring-cache-map filepath http-types memory mime-types mtl old-locale semigroups @@ -228755,6 +246387,7 @@ self: { description = "WAI middleware that serves requests to static files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-middleware-static-embedded" = callPackage @@ -228783,8 +246416,8 @@ self: { }: mkDerivation { pname = "wai-middleware-throttle"; - version = "0.3.0.0"; - sha256 = "16qhfqc0f5ahz2qc04a4by6iw1agxzcf14aqqkf1arf0hknvbvvv"; + version = "0.3.0.1"; + sha256 = "0mpw7b56k1a89kzwa3v4c4ff66m0py9s9p2jan2zhp8k3b8862jq"; libraryHaskellDepends = [ base bytestring bytestring-builder cache clock containers hashable http-types mtl network safe-exceptions stm text token-bucket @@ -228806,8 +246439,8 @@ self: { pname = "wai-middleware-travisci"; version = "0.1.0"; sha256 = "0a58mlgimr6137aiwcdxjk15zy3y58dds4zxffd3vvn0lkzg5jdv"; - revision = "1"; - editedCabalFile = "0fd99j9lyb562p3rsdb8d7swg31bwahzhgjm6afijc5f6i5awcw3"; + revision = "2"; + editedCabalFile = "0j1k2y75gwbny72zf5nrwzanh7sn2plscnrjd4hw5npccxi4dchx"; libraryHaskellDepends = [ aeson base base64-bytestring bytestring cryptonite http-types text transformers vault wai @@ -228875,6 +246508,7 @@ self: { description = "Declarative request parsing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-responsible" = callPackage @@ -228887,6 +246521,7 @@ self: { description = "Response interface for WAI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-route" = callPackage @@ -228921,6 +246556,7 @@ self: { description = "Provides basic routing on URL paths for WAI"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-routes" = callPackage @@ -228928,17 +246564,17 @@ self: { , case-insensitive, containers, cookie, data-default-class , filepath, hspec, hspec-wai, hspec-wai-json, http-types , mime-types, monad-loops, mtl, path-pieces, random - , template-haskell, text, vault, wai, wai-extra + , safe-exceptions, template-haskell, text, vault, wai, wai-extra }: mkDerivation { pname = "wai-routes"; - version = "0.10.3"; - sha256 = "0q7928i2y0j0z68qz1ixgzh3cx2rmyp44vpzc5jxqrrbfsb0z56k"; + version = "0.10.4"; + sha256 = "04qmwq29iqkpz1j5ffwqxlf5afxiw3ng8akwydcpdx7xlcxf72i4"; libraryHaskellDepends = [ aeson base blaze-builder bytestring case-insensitive containers cookie data-default-class filepath http-types mime-types - monad-loops mtl path-pieces random template-haskell text vault wai - wai-extra + monad-loops mtl path-pieces random safe-exceptions template-haskell + text vault wai wai-extra ]; testHaskellDepends = [ aeson base hspec hspec-wai hspec-wai-json text wai @@ -228946,6 +246582,7 @@ self: { description = "Typesafe URLs for Wai applications"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-routing" = callPackage @@ -228973,6 +246610,7 @@ self: { description = "Declarative routing for WAI"; license = stdenv.lib.licenses.mpl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-secure-cookies" = callPackage @@ -228982,8 +246620,8 @@ self: { }: mkDerivation { pname = "wai-secure-cookies"; - version = "0.1.0.3"; - sha256 = "01jqwl9z7p3vkh7jvlxzvqcq2bgkcfx559pnc87qgp7ldh018z7f"; + version = "0.1.0.4"; + sha256 = "0m77h2xnm3h3axchvmbylrhm4s7d31zxsv0bgqvmh9zhydr90d2v"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -228997,6 +246635,7 @@ self: { ]; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-session" = callPackage @@ -229032,6 +246671,7 @@ self: { description = "An alternative session middleware for WAI"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-session-clientsession" = callPackage @@ -229070,6 +246710,7 @@ self: { description = "MySQL backed Wai session store"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-session-postgresql" = callPackage @@ -229092,6 +246733,7 @@ self: { description = "PostgreSQL backed Wai session store"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-session-tokyocabinet" = callPackage @@ -229141,6 +246783,7 @@ self: { description = "A simple cache for serving static files in a WAI middleware"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-static-pages" = callPackage @@ -229185,6 +246828,7 @@ self: { description = "Thrift transport layer for Wai"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-throttler" = callPackage @@ -229201,6 +246845,7 @@ self: { description = "Wai middleware for request throttling"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wai-transformers" = callPackage @@ -229281,6 +246926,7 @@ self: { description = "A wrapping library for waitfree computation"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "waitra" = callPackage @@ -229306,6 +246952,7 @@ self: { description = "A very simple Wai router"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "waldo" = callPackage @@ -229339,6 +246986,7 @@ self: { description = "A generator of comics based on some ascertainable data about the requester"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wallpaper" = callPackage @@ -229361,6 +247009,7 @@ self: { description = "A library and executable for creating wallpaper, frieze, and rosette patterns"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "warc" = callPackage @@ -229373,8 +247022,8 @@ self: { pname = "warc"; version = "1.0.4"; sha256 = "1mxfm8kdvm0l1lnzma4n9mriz94ypckxqcz1f34fa3n1j3ckc45b"; - revision = "1"; - editedCabalFile = "1mdd3r1lg92rchy1zv4jwvrsn6x3wnplhbnwavpx0nivf3xp7m8q"; + revision = "2"; + editedCabalFile = "0vlh1wivzs2ikmp3jbx4m0zxyvkjy1rn6xhbgaz1n5vi37hid74n"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -229396,35 +247045,69 @@ self: { , bytestring, case-insensitive, containers, directory, doctest , gauge, ghc-prim, hashable, hspec, http-client, http-date , http-types, http2, HUnit, iproute, lifted-base, network, process - , QuickCheck, silently, simple-sendfile, stm, streaming-commons - , text, time, transformers, unix, unix-compat, vault, wai, word8 + , QuickCheck, simple-sendfile, stm, streaming-commons, text, time + , time-manager, transformers, unix, unix-compat, vault, wai, word8 }: mkDerivation { pname = "warp"; - version = "3.2.26"; - sha256 = "1s83313cs6w84a8yfwqkixfz4a94aszma4phsqv7x1ivi9b3i8sc"; + version = "3.2.28"; + sha256 = "0w2w3aiccpb2f8zssqiszcxzqdysihqi5xply23lwif5arz4saw7"; libraryHaskellDepends = [ array async auto-update base bsb-http-chunked bytestring case-insensitive containers ghc-prim hashable http-date http-types http2 iproute network simple-sendfile stm streaming-commons text - unix unix-compat vault wai word8 + time-manager unix unix-compat vault wai word8 ]; testHaskellDepends = [ array async auto-update base bsb-http-chunked bytestring case-insensitive containers directory doctest ghc-prim hashable hspec http-client http-date http-types http2 HUnit iproute - lifted-base network process QuickCheck silently simple-sendfile stm - streaming-commons text time transformers unix unix-compat vault wai - word8 + lifted-base network process QuickCheck simple-sendfile stm + streaming-commons text time time-manager transformers unix + unix-compat vault wai word8 ]; benchmarkHaskellDepends = [ auto-update base bytestring containers gauge hashable http-date - http-types network unix unix-compat + http-types network time-manager unix unix-compat ]; description = "A fast, light-weight web server for WAI applications"; license = stdenv.lib.licenses.mit; }) {}; + "warp_3_3_0" = callPackage + ({ mkDerivation, array, async, auto-update, base, bsb-http-chunked + , bytestring, case-insensitive, containers, directory, gauge + , ghc-prim, hashable, hspec, http-client, http-date, http-types + , http2, HUnit, iproute, lifted-base, network, process, QuickCheck + , simple-sendfile, stm, streaming-commons, text, time, time-manager + , unix, unix-compat, vault, wai, word8 + }: + mkDerivation { + pname = "warp"; + version = "3.3.0"; + sha256 = "0dqh1rrrmhw343786337qwgjwap8yk91zrxc9vxdmal6mkf1q4dq"; + libraryHaskellDepends = [ + array async auto-update base bsb-http-chunked bytestring + case-insensitive containers ghc-prim hashable http-date http-types + http2 iproute network simple-sendfile stm streaming-commons text + time-manager unix unix-compat vault wai word8 + ]; + testHaskellDepends = [ + array async auto-update base bsb-http-chunked bytestring + case-insensitive containers directory ghc-prim hashable hspec + http-client http-date http-types http2 HUnit iproute lifted-base + network process QuickCheck simple-sendfile stm streaming-commons + text time time-manager unix unix-compat vault wai word8 + ]; + benchmarkHaskellDepends = [ + auto-update base bytestring containers gauge hashable http-date + http-types network time-manager unix unix-compat + ]; + description = "A fast, light-weight web server for WAI applications"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "warp-dynamic" = callPackage ({ mkDerivation, base, data-default, dyre, http-types, wai, warp }: mkDerivation { @@ -229440,6 +247123,7 @@ self: { description = "Dynamic configurable warp HTTP server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "warp-grpc" = callPackage @@ -229458,6 +247142,8 @@ self: { ]; description = "A minimal gRPC server on top of Warp"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "warp-static" = callPackage @@ -229479,6 +247165,7 @@ self: { description = "Static file server based on Warp and wai-app-static (deprecated)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "warp-tls" = callPackage @@ -229487,8 +247174,8 @@ self: { }: mkDerivation { pname = "warp-tls"; - version = "3.2.4.3"; - sha256 = "17gj295fr98l7mkz2gdz6kahdnmja0sql3kvy2zab6q168g53kc4"; + version = "3.2.7"; + sha256 = "1h6m9jhvk4ai945p5s6sa9lxq40cn00gjfj4yiqhj2q5ymxfgfba"; libraryHaskellDepends = [ base bytestring cryptonite data-default-class network streaming-commons tls tls-session-manager wai warp @@ -229498,18 +247185,20 @@ self: { }) {}; "warp-tls-uid" = callPackage - ({ mkDerivation, base, bytestring, network, streaming-commons, unix - , wai, warp, warp-tls + ({ mkDerivation, base, bytestring, data-default, network + , streaming-commons, tls, unix, wai, warp, warp-tls, x509 }: mkDerivation { pname = "warp-tls-uid"; - version = "0.2.0.5"; - sha256 = "1b3kxpbai9nxqqv9kww4cr1vgaa0cz4fpkd3pfmj0hin10hr6mmq"; + version = "0.2.0.6"; + sha256 = "09xvwvb6nc6ymp6x389dxbllisrj24srcdli6d19h05cwlqbay4w"; libraryHaskellDepends = [ - base bytestring network streaming-commons unix wai warp warp-tls + base bytestring data-default network streaming-commons tls unix wai + warp warp-tls x509 ]; testHaskellDepends = [ - base bytestring network streaming-commons unix wai warp warp-tls + base bytestring data-default network streaming-commons tls unix wai + warp warp-tls x509 ]; description = "set group and user id before running server"; license = stdenv.lib.licenses.bsd3; @@ -229559,6 +247248,7 @@ self: { description = "WebAssembly Language Toolkit and Interpreter"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "watchdog" = callPackage @@ -229589,6 +247279,7 @@ self: { description = "Opinionated filesystem watcher"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "watchit" = callPackage @@ -229618,6 +247309,7 @@ self: { description = "File change watching utility"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wavconvert" = callPackage @@ -229634,28 +247326,6 @@ self: { }) {}; "wave" = callPackage - ({ mkDerivation, base, bytestring, cereal, containers - , data-default-class, hspec, QuickCheck, temporary, transformers - }: - mkDerivation { - pname = "wave"; - version = "0.1.5"; - sha256 = "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"; - revision = "2"; - editedCabalFile = "0zs0mw42z9xzs1r935pd5dssf0x10qbkhxlpfknv0x75n2k0azzj"; - enableSeparateDataOutput = true; - libraryHaskellDepends = [ - base bytestring cereal containers data-default-class transformers - ]; - testHaskellDepends = [ - base bytestring containers data-default-class hspec QuickCheck - temporary - ]; - description = "Work with WAVE and RF64 files"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "wave_0_2_0" = callPackage ({ mkDerivation, base, bytestring, cereal, containers, hspec , hspec-discover, QuickCheck, temporary, transformers }: @@ -229673,7 +247343,6 @@ self: { testToolDepends = [ hspec-discover ]; description = "Work with WAVE and RF64 files"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "wavefront" = callPackage @@ -229708,6 +247377,7 @@ self: { description = "Wavefront .obj file loader"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wavesurfer" = callPackage @@ -229725,6 +247395,7 @@ self: { description = "Parse WaveSurfer files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wavy" = callPackage @@ -229746,6 +247417,7 @@ self: { description = "Process WAVE files in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wcwidth" = callPackage @@ -229771,6 +247443,7 @@ self: { description = "Mutable bag backed by weak pointers to each item"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "weather-api" = callPackage @@ -229788,6 +247461,7 @@ self: { description = "Weather API implemented in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-browser-in-haskell" = callPackage @@ -229812,6 +247486,7 @@ self: { description = "Simple functions for CSS"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-encodings" = callPackage @@ -229830,6 +247505,7 @@ self: { description = "Encapsulate multiple web encoding in a single package. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-fpco" = callPackage @@ -229846,6 +247522,7 @@ self: { description = "Wrappers for web frameworks to ease usage with the FP Complete environment"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-inv-route" = callPackage @@ -229867,6 +247544,7 @@ self: { description = "Composable, reversible, efficient web routing using invertible invariants and bijections"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-mongrel2" = callPackage @@ -229886,6 +247564,7 @@ self: { description = "Bindings for the Mongrel2 web server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-output" = callPackage @@ -229905,6 +247584,7 @@ self: { description = "Library to present content to an user via their browser"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-page" = callPackage @@ -229925,6 +247605,7 @@ self: { description = "Monoidally construct web pages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-plugins" = callPackage @@ -229959,6 +247640,7 @@ self: { description = "Send messages using Web Push protocol"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-routes" = callPackage @@ -229992,6 +247674,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "web-routes-generics" = callPackage + ({ mkDerivation, base, parsec, text, web-routes }: + mkDerivation { + pname = "web-routes-generics"; + version = "0.1.0.1"; + sha256 = "16nykkzjznl9zq2qgn87lpqxkz8yx83s7949lv4vzapp4hjv04yy"; + libraryHaskellDepends = [ base parsec text web-routes ]; + description = "portable, type-safe URL routing"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "web-routes-happstack" = callPackage ({ mkDerivation, base, bytestring, happstack-server, text , web-routes @@ -230005,6 +247698,8 @@ self: { ]; description = "Adds support for using web-routes with Happstack"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-routes-hsp" = callPackage @@ -230041,6 +247736,7 @@ self: { description = "Define data types and parse/build functions for web-routes via a quasi-quoted DSL (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-routes-regular" = callPackage @@ -230053,6 +247749,7 @@ self: { description = "portable, type-safe URL routing"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-routes-th" = callPackage @@ -230069,6 +247766,8 @@ self: { testHaskellDepends = [ base hspec HUnit QuickCheck web-routes ]; description = "Support for deriving PathInfo using Template Haskell"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-routes-transformers" = callPackage @@ -230081,6 +247780,7 @@ self: { description = "Extends web-routes with some transformers instances for RouteT"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web-routes-wai" = callPackage @@ -230116,6 +247816,7 @@ self: { description = "simple routing library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "web3" = callPackage @@ -230129,8 +247830,8 @@ self: { }: mkDerivation { pname = "web3"; - version = "0.8.3.1"; - sha256 = "1pvyyvaamxjz2pyxz25sw3f8hv8605qg99qpgx40bhbhrfvg8zpi"; + version = "0.8.3.2"; + sha256 = "1yk24r1pbavvp8si8yxk4p5n4s80h1klz5rav49sgrw8zj69n3x7"; libraryHaskellDepends = [ aeson async base basement bytestring cereal cryptonite data-default exceptions generics-sop http-client http-client-tls machines memory @@ -230150,6 +247851,7 @@ self: { description = "Ethereum API for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "webapi" = callPackage @@ -230177,6 +247879,7 @@ self: { description = "WAI based library for web api"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "webapp" = callPackage @@ -230200,6 +247903,33 @@ self: { description = "Haskell web app framework based on WAI & Warp"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "webby" = callPackage + ({ mkDerivation, aeson, base, binary, bytestring, fast-logger + , formatting, http-api-data, http-types, monad-logger, protolude + , resourcet, tasty, tasty-hunit, tasty-quickcheck, text, unliftio + , unordered-containers, wai + }: + mkDerivation { + pname = "webby"; + version = "0.1.1"; + sha256 = "0415vhp8h3lr8wlfkg6a7njq19ka1wyi9klcmsd117phd9m46whb"; + libraryHaskellDepends = [ + aeson base binary bytestring fast-logger formatting http-api-data + http-types monad-logger protolude resourcet text unliftio + unordered-containers wai + ]; + testHaskellDepends = [ + aeson base binary bytestring fast-logger formatting http-api-data + http-types monad-logger protolude resourcet tasty tasty-hunit + tasty-quickcheck text unliftio unordered-containers wai + ]; + description = "A super-simple web server framework"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "webcloud" = callPackage @@ -230217,6 +247947,7 @@ self: { description = "Turn an optparse-applicative program into a CGI program!"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "webcrank" = callPackage @@ -230245,6 +247976,7 @@ self: { description = "Webmachine inspired toolkit for building http applications and services"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "webcrank-dispatch" = callPackage @@ -230261,6 +247993,7 @@ self: { description = "A simple request dispatcher"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "webcrank-wai" = callPackage @@ -230279,22 +248012,23 @@ self: { description = "Build a WAI Application from Webcrank Resources"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "webdriver" = callPackage ({ mkDerivation, aeson, attoparsec, base, base64-bytestring - , bytestring, data-default-class, directory, directory-tree - , exceptions, filepath, http-client, http-types, lifted-base - , monad-control, network, network-uri, scientific, temporary, text - , time, transformers, transformers-base, unordered-containers - , vector, zip-archive + , bytestring, call-stack, data-default-class, directory + , directory-tree, exceptions, filepath, http-client, http-types + , lifted-base, monad-control, network, network-uri, scientific + , temporary, text, time, transformers, transformers-base + , unordered-containers, vector, zip-archive }: mkDerivation { pname = "webdriver"; - version = "0.8.5"; - sha256 = "1gn168cjwlpv2f4jchj48a9pvk8zqdxsf9qpx0lsj4bl2j5pl5m8"; + version = "0.9.0.1"; + sha256 = "1w6z95swrz5ijmcxh0x3i521kpxqfp6pxgqfqwix7fc4jy450n8k"; libraryHaskellDepends = [ - aeson attoparsec base base64-bytestring bytestring + aeson attoparsec base base64-bytestring bytestring call-stack data-default-class directory directory-tree exceptions filepath http-client http-types lifted-base monad-control network network-uri scientific temporary text time transformers @@ -230323,6 +248057,8 @@ self: { ]; description = "Webdriver actions to assist with testing a webpage which uses Angular.Js"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "webdriver-snoy" = callPackage @@ -230350,6 +248086,7 @@ self: { description = "a Haskell client for the Selenium WebDriver protocol (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "webdriver-w3c" = callPackage @@ -230386,6 +248123,7 @@ self: { description = "Bindings to the WebDriver API"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "webex-teams-api" = callPackage @@ -230483,6 +248221,7 @@ self: { description = "WebFinger client library"; license = stdenv.lib.licenses.publicDomain; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "webidl" = callPackage @@ -230525,6 +248264,7 @@ self: { description = "webfont generator"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "webkit" = callPackage @@ -230559,6 +248299,7 @@ self: { description = "JavaScriptCore FFI from webkitgtk"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {webkit = null;}; "webkit2gtk3-javascriptcore" = callPackage @@ -230572,8 +248313,7 @@ self: { libraryPkgconfigDepends = [ webkitgtk ]; description = "JavaScriptCore FFI from webkitgtk"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs.gnome3) webkitgtk;}; + }) {inherit (pkgs) webkitgtk;}; "webkitgtk3" = callPackage ({ mkDerivation, base, bytestring, Cabal, cairo, glib @@ -230622,7 +248362,6 @@ self: { ]; description = "Organized and simple web page scaffold for blaze and lucid"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "webrtc-vad" = callPackage @@ -230652,6 +248391,28 @@ self: { description = "HTTP server library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "webshow" = callPackage + ({ mkDerivation, base, directory, file-embed, filepath, hscolour + , http-types, lucid, optparse-applicative, optparse-simple + , pretty-show, text, wai, warp + }: + mkDerivation { + pname = "webshow"; + version = "0.0.0"; + sha256 = "1a3ccj8q174n3b9l01a56jj9fnzyx0za9mzp97i7g0jsjwn9fxbs"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base directory file-embed filepath hscolour http-types lucid + optparse-applicative optparse-simple pretty-show text wai warp + ]; + description = "Show programming language printed values in a web UI"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "websnap" = callPackage @@ -230728,6 +248489,7 @@ self: { description = "Simple streaming RPC mechanism using WebSockets"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "websockets-simple" = callPackage @@ -230752,6 +248514,8 @@ self: { ]; description = "Composable websockets clients"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "websockets-snap" = callPackage @@ -230760,8 +248524,8 @@ self: { }: mkDerivation { pname = "websockets-snap"; - version = "0.10.3.0"; - sha256 = "1r1v6ypnaap99vy2gh3lmghqv2y3zaaq0wiv4d2bn49179c40jmk"; + version = "0.10.3.1"; + sha256 = "1hpszqb61xhbgfvxd6g56kdfxsyi14q7xh12jbdnyycbfijb9bqk"; libraryHaskellDepends = [ base bytestring bytestring-builder io-streams mtl snap-core snap-server websockets @@ -230789,6 +248553,7 @@ self: { description = "Functional reactive web framework"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wedding-announcement" = callPackage @@ -230843,12 +248608,41 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "weekdaze" = callPackage + ({ mkDerivation, array, base, bytestring, Cabal, containers + , cryptohash, data-default, deepseq, directory, extra, factory + , filepath, hxt, mtl, parallel, QuickCheck, random, time, toolshed + , unix, xhtml + }: + mkDerivation { + pname = "weekdaze"; + version = "0.0.0.1"; + sha256 = "13nxi6gqm4by2y6wd3vwj0rqjircpfng0nz5h2spci2jrbmv52d3"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + array base bytestring Cabal containers cryptohash data-default + deepseq extra factory filepath hxt mtl random toolshed xhtml + ]; + executableHaskellDepends = [ + array base Cabal containers cryptohash data-default deepseq + directory extra factory filepath hxt mtl parallel random time + toolshed unix xhtml + ]; + testHaskellDepends = [ + array base Cabal containers factory mtl QuickCheck toolshed + ]; + description = "A school-timetable problem-solver"; + license = "GPL"; + }) {}; + "weigh" = callPackage ({ mkDerivation, base, deepseq, mtl, process, split, temporary }: mkDerivation { pname = "weigh"; - version = "0.0.13"; - sha256 = "1ylfx0y9m8h3c2lwdil5l9mvngad419zd8qk7kw85s4hvnss9fp4"; + version = "0.0.14"; + sha256 = "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"; libraryHaskellDepends = [ base deepseq mtl process split temporary ]; @@ -230867,6 +248661,7 @@ self: { description = "Writer monad which uses semiring constraint"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "weighted-regexp" = callPackage @@ -230882,6 +248677,7 @@ self: { description = "Weighted Regular Expression Matcher"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "weighted-search" = callPackage @@ -230913,6 +248709,7 @@ self: { description = "Haskell web framework (because Scotty had trouble yodeling)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wembley" = callPackage @@ -230955,6 +248752,7 @@ self: { description = "A game engine for playing werewolf within an arbitrary chat client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "werewolf-slack" = callPackage @@ -230975,6 +248773,7 @@ self: { description = "A chat interface for playing werewolf in Slack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wheb-mongo" = callPackage @@ -230987,6 +248786,7 @@ self: { description = "MongoDB plugin for Wheb"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wheb-redis" = callPackage @@ -230999,6 +248799,7 @@ self: { description = "Redis connection for Wheb"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wheb-strapped" = callPackage @@ -231011,6 +248812,7 @@ self: { description = "Strapped templates for Wheb"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "while-lang-parser" = callPackage @@ -231023,6 +248825,7 @@ self: { description = "Parser for the While language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "whim" = callPackage @@ -231042,6 +248845,7 @@ self: { description = "A Haskell window manager"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "whiskers" = callPackage @@ -231054,6 +248858,7 @@ self: { description = "Mustache templates with Template Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "whitespace" = callPackage @@ -231069,6 +248874,7 @@ self: { description = "Whitespace, an esoteric programming language"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "whois" = callPackage @@ -231084,6 +248890,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "wholepixels" = callPackage + ({ mkDerivation, base, cairo, colour, directory, hsnoise + , MonadRandom, mtl, random, random-fu, random-shuffle + , random-source, relude, temporary, time + }: + mkDerivation { + pname = "wholepixels"; + version = "1.1"; + sha256 = "1xxdf0znpa54bzifj1apmc9yda4mdhy1vzdm58ihnywi9mch1c0l"; + libraryHaskellDepends = [ + base cairo colour directory hsnoise MonadRandom mtl random + random-fu random-shuffle random-source relude temporary time + ]; + license = stdenv.lib.licenses.asl20; + }) {}; + "why3" = callPackage ({ mkDerivation, alex, array, base, bytestring, containers, deepseq , directory, filepath, happy, monadLib, pretty, pretty-show @@ -231101,6 +248923,7 @@ self: { description = "Haskell support for the Why3 input format"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wide-word" = callPackage @@ -231111,6 +248934,8 @@ self: { pname = "wide-word"; version = "0.1.0.8"; sha256 = "1n6g9kn7k8gi2qi8fbik5pi2yj5mbzzj62512as1gjysv3y3l2dj"; + revision = "1"; + editedCabalFile = "189p1g51xx0a1lhxlhr0i8qv7mvr4zsjfdpb4i8ja2hfi0ssszdx"; libraryHaskellDepends = [ base deepseq primitive ]; testHaskellDepends = [ base bytestring ghc-prim hedgehog QuickCheck quickcheck-classes @@ -231118,6 +248943,8 @@ self: { ]; description = "Data types for large but fixed width signed and unsigned integers"; license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wigner-symbols" = callPackage @@ -231157,8 +248984,8 @@ self: { }: mkDerivation { pname = "wikicfp-scraper"; - version = "0.1.0.9"; - sha256 = "1qj28a53shcr4dq8i1fhyjbr4ybiyfb0kz3w0g439736mrnzsg4y"; + version = "0.1.0.11"; + sha256 = "1f6zrgjhid1fps02hbd6lmaxpi635bdzcxbsfkfk8xd7wmj0x91b"; libraryHaskellDepends = [ attoparsec base bytestring scalpel-core text time ]; @@ -231185,6 +249012,7 @@ self: { description = "Wikipedia EPUB E-Book construction from Firefox history"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wild-bind" = callPackage @@ -231193,8 +249021,8 @@ self: { }: mkDerivation { pname = "wild-bind"; - version = "0.1.2.3"; - sha256 = "1dl3vh4xn6mml2mydapyqwlg872pczgz7lv912skzwnzv55hxg12"; + version = "0.1.2.4"; + sha256 = "14cl18vfna21mq3ln9y3s6x7yvp13hynqfmjjv192z928wabyxqz"; libraryHaskellDepends = [ base containers semigroups text transformers ]; @@ -231220,6 +249048,7 @@ self: { description = "Graphical indicator for WildBind"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wild-bind-task-x11" = callPackage @@ -231237,6 +249066,7 @@ self: { description = "Task to install and export everything you need to use WildBind in X11"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wild-bind-x11" = callPackage @@ -231245,8 +249075,8 @@ self: { }: mkDerivation { pname = "wild-bind-x11"; - version = "0.2.0.6"; - sha256 = "0dqxcmdx3dinqkpwdnkb5nlc0cvn1gnwril5qmzixzshh03c8va9"; + version = "0.2.0.7"; + sha256 = "00lpx5lqahd5wx3f2rp0glhi9m5k0miys39fpq7p57iwvdzjhgxa"; libraryHaskellDepends = [ base containers fold-debounce mtl semigroups stm text transformers wild-bind X11 @@ -231294,6 +249124,7 @@ self: { description = "Domain Name Service (DNS) lookup via the /dnsapi.dll standard library"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {dnsapi = null;}; "windowslive" = callPackage @@ -231312,6 +249143,7 @@ self: { description = "Implements Windows Live Web Authentication and Delegated Authentication"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "winerror" = callPackage @@ -231324,43 +249156,43 @@ self: { description = "Error handling for foreign calls to the Windows API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "winery" = callPackage - ({ mkDerivation, aeson, base, binary, bytestring, cassava - , containers, cpu, deepseq, directory, gauge, hashable, megaparsec - , mtl, prettyprinter, prettyprinter-ansi-terminal, QuickCheck - , scientific, semigroups, serialise, text, time, transformers - , unordered-containers, vector + ({ mkDerivation, aeson, base, binary, bytestring, cereal + , containers, cpu, deepseq, directory, fast-builder, gauge + , hashable, HUnit, megaparsec, mtl, prettyprinter + , prettyprinter-ansi-terminal, QuickCheck, quickcheck-instances + , scientific, semigroups, serialise, store, text, time + , transformers, unordered-containers, vector }: mkDerivation { pname = "winery"; - version = "0.3.1"; - sha256 = "1f63fgw7ky6kd0dk41rhqjxgvi33pa5ffrv0vk2i7dr88bmc1wgy"; + version = "1.1.2"; + sha256 = "1hxs3pyv0icqmnmnjadr86d55jdi689hgcjgx3lq7skxs3hp0qf1"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base bytestring containers cpu hashable megaparsec mtl - prettyprinter prettyprinter-ansi-terminal scientific semigroups - text time transformers unordered-containers vector + aeson base bytestring containers cpu fast-builder hashable HUnit + megaparsec mtl prettyprinter prettyprinter-ansi-terminal QuickCheck + scientific semigroups text time transformers unordered-containers + vector ]; executableHaskellDepends = [ - aeson base bytestring containers cpu hashable megaparsec mtl - prettyprinter prettyprinter-ansi-terminal scientific semigroups - text time transformers unordered-containers vector + aeson base bytestring megaparsec prettyprinter + prettyprinter-ansi-terminal text ]; testHaskellDepends = [ - aeson base bytestring containers cpu hashable megaparsec mtl - prettyprinter prettyprinter-ansi-terminal QuickCheck scientific - semigroups text time transformers unordered-containers vector + base bytestring containers fast-builder QuickCheck + quickcheck-instances scientific text time unordered-containers + vector ]; benchmarkHaskellDepends = [ - aeson base binary bytestring cassava containers cpu deepseq - directory gauge hashable megaparsec mtl prettyprinter - prettyprinter-ansi-terminal scientific semigroups serialise text - time transformers unordered-containers vector + aeson base binary bytestring cereal deepseq directory gauge + serialise store text ]; - description = "Sustainable serialisation library"; + description = "A compact, well-typed seralisation format for Haskell values"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -231379,6 +249211,7 @@ self: { description = "I/O library for Windows"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {kernel32 = null; ws2_32 = null;}; "wire-streams" = callPackage @@ -231422,6 +249255,7 @@ self: { description = "Functional reactive programming library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wiring" = callPackage @@ -231439,6 +249273,7 @@ self: { description = "Wiring, promotion and demotion of types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wiringPi" = callPackage @@ -231455,16 +249290,6 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "with" = callPackage - ({ mkDerivation }: - mkDerivation { - pname = "with"; - version = "0.1.0"; - sha256 = "0jgm6w1xisyww81ak9rrrqmhgaiwdgk5rgvzax72rknzg9rb6701"; - description = "Simple open product type"; - license = stdenv.lib.licenses.bsd3; - }) {}; - "with-index" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -231494,28 +249319,28 @@ self: { }: mkDerivation { pname = "withdependencies"; - version = "0.2.4.2"; - sha256 = "04pk5giqlnls1p62fz9p0sb1288c9qk3ivsq2kb5207cjifyslgz"; + version = "0.2.4.3"; + sha256 = "1km9mrasxpzpkrm1cb5s06iwmqd33dmiwld8syx1f7rq9l3pk8d7"; libraryHaskellDepends = [ base conduit containers mtl profunctors ]; testHaskellDepends = [ base conduit hspec HUnit mtl ]; description = "Run computations that depend on one or more elements in a stream"; license = stdenv.lib.licenses.gpl3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "witherable" = callPackage ({ mkDerivation, base, base-orphans, containers, hashable - , transformers, transformers-compat, unordered-containers, vector + , monoidal-containers, transformers, transformers-compat + , unordered-containers, vector }: mkDerivation { pname = "witherable"; - version = "0.3"; - sha256 = "1h0rvygjr76avrpp8dzhama1accm2i9q3245m54543nm6yfn23v2"; + version = "0.3.2"; + sha256 = "1iqf3kc9h599lbiym8rf9b4fhj31lqwm1cxqz6x02q9dxyrcprmi"; libraryHaskellDepends = [ - base base-orphans containers hashable transformers - transformers-compat unordered-containers vector + base base-orphans containers hashable monoidal-containers + transformers transformers-compat unordered-containers vector ]; description = "filterable traversable"; license = stdenv.lib.licenses.bsd3; @@ -231551,8 +249376,8 @@ self: { ({ mkDerivation, base, transformers }: mkDerivation { pname = "wizard"; - version = "0.1.0.0"; - sha256 = "0j485hbk42ipmc14ydickfm268b7z183rs37ih3j99lbzrdm1s8l"; + version = "0.1.1"; + sha256 = "0bldcvd7zjask8myh1nwj59ml4q6wlinp2h7q6hdfjg8djf2mnca"; libraryHaskellDepends = [ base transformers ]; description = "the fantastical wizard monoid"; license = stdenv.lib.licenses.bsd3; @@ -231590,6 +249415,7 @@ self: { description = "Parsec parsers and types for geographic data in well-known text (WKT) format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wkt-geom" = callPackage @@ -231600,8 +249426,8 @@ self: { }: mkDerivation { pname = "wkt-geom"; - version = "0.0.7"; - sha256 = "0lsasdlznsmfj6b9ky448fdkgvdqhldyzx9fbnj1jgd779hlammb"; + version = "0.0.10"; + sha256 = "10hzfa063sp2f4v3ki7322x74iqn8wan0klalhddqfr554j3b1g5"; libraryHaskellDepends = [ base base16-bytestring binary bytestring containers geojson scientific trifecta utf8-string vector @@ -231613,6 +249439,8 @@ self: { ]; description = "A parser of WKT, WKB and eWKB"; license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wl-pprint" = callPackage @@ -231657,6 +249485,7 @@ self: { description = "ANSI Terminal support with wl-pprint-extras"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wl-pprint-console" = callPackage @@ -231691,7 +249520,6 @@ self: { ]; description = "A free monad based on the Wadler/Leijen pretty printer"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "wl-pprint-terminfo" = callPackage @@ -231710,6 +249538,7 @@ self: { description = "A color pretty printer with terminfo support"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wl-pprint-text" = callPackage @@ -231740,7 +249569,8 @@ self: { description = "Haskell bindings for the wlc library"; license = stdenv.lib.licenses.isc; hydraPlatforms = stdenv.lib.platforms.none; - }) {inherit (pkgs) wlc;}; + broken = true; + }) {wlc = null;}; "wobsurv" = callPackage ({ mkDerivation, aeson, attoparsec, base-prelude, bytestring @@ -231776,6 +249606,7 @@ self: { description = "A simple and highly performant HTTP file server"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "woffex" = callPackage @@ -231792,6 +249623,7 @@ self: { description = "Web Open Font Format (WOFF) unpacker"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wol" = callPackage @@ -231816,8 +249648,8 @@ self: { }: mkDerivation { pname = "wolf"; - version = "0.3.46"; - sha256 = "1d0i1611458dpqih73x8gcxq7lkwpxdc1c3pgj3hqb6gwjhjnxyj"; + version = "0.3.47"; + sha256 = "1p6d61zk0yr55f7mk7cv1fyjs23aximsy1ayjknvc3rwsijqx264"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -231829,6 +249661,7 @@ self: { description = "Amazon Simple Workflow Service Wrapper"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "woot" = callPackage @@ -231857,6 +249690,8 @@ self: { testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ]; description = "Words of arbitrary size"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "word-trie" = callPackage @@ -231942,6 +249777,7 @@ self: { description = "Reading word2vec binary models"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "word8" = callPackage @@ -231981,7 +249817,6 @@ self: { benchmarkHaskellDepends = [ base criterion pandoc text ]; description = "Get word counts and distributions"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "wordcloud" = callPackage @@ -232007,6 +249842,37 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "wordify" = callPackage + ({ mkDerivation, array, base, containers, directory, errors + , filepath, HUnit, listsafe, mtl, parsec, QuickCheck, random, safe + , semigroups, split, test-framework, test-framework-hunit + , test-framework-quickcheck2, transformers, unordered-containers + }: + mkDerivation { + pname = "wordify"; + version = "0.1.0.0"; + sha256 = "1iw3sk8sspscl29chnvd69g8l7pfz7vlpj9vyai8fkwipmc3jrwv"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + array base containers errors listsafe mtl parsec random safe + semigroups split transformers unordered-containers + ]; + executableHaskellDepends = [ + array base containers errors listsafe mtl parsec random safe + semigroups split transformers unordered-containers + ]; + testHaskellDepends = [ + array base containers directory errors filepath HUnit listsafe mtl + parsec QuickCheck random safe semigroups split test-framework + test-framework-hunit test-framework-quickcheck2 transformers + unordered-containers + ]; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "wordlist" = callPackage ({ mkDerivation, base, MonadRandom, optparse-applicative, text , vector @@ -232046,6 +249912,7 @@ self: { description = "Dictionary-based password generator"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wordpress-auth" = callPackage @@ -232091,6 +249958,7 @@ self: { description = "A word search solver library and executable"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wordsetdiff" = callPackage @@ -232124,6 +249992,7 @@ self: { description = "A library for parsing a chat-based work hour reporting scheme"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "workdays" = callPackage @@ -232137,6 +250006,7 @@ self: { description = "Workday calculations"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "workflow-extra" = callPackage @@ -232160,6 +250030,7 @@ self: { description = "Utilities (e.g. Googling the clipboard contents) for the `workflow` pacakge"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "workflow-osx" = callPackage @@ -232180,6 +250051,7 @@ self: { description = "a \"Desktop Workflow\" monad with Objective-C bindings"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "workflow-pure" = callPackage @@ -232203,6 +250075,7 @@ self: { description = "manipulate `workflow-types:Workflow`'s"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "workflow-types" = callPackage @@ -232222,6 +250095,7 @@ self: { description = "Automate keyboard\/mouse\/clipboard\/application interaction"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "workflow-windows" = callPackage @@ -232237,18 +250111,21 @@ self: { description = "Automate keyboard/mouse/clipboard/application interaction"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "world-peace" = callPackage ({ mkDerivation, aeson, base, deepseq, doctest, Glob, profunctors - , tagged + , should-not-typecheck, tagged, tasty, tasty-hunit, text }: mkDerivation { pname = "world-peace"; - version = "0.1.0.0"; - sha256 = "19anwyh9n9agpcdhzfbh0l28nm0mdn8616klihbw55yxkiwqaxkk"; + version = "1.0.1.0"; + sha256 = "1fx7y9h1yyjc5xn1mpbkwas6p6h06rivzndb545z1qnnp583vzwp"; libraryHaskellDepends = [ aeson base deepseq profunctors tagged ]; - testHaskellDepends = [ base doctest Glob ]; + testHaskellDepends = [ + base doctest Glob should-not-typecheck tasty tasty-hunit text + ]; description = "Open Union and Open Product Types"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -232267,6 +250144,7 @@ self: { description = "Subscribe to a wiki's RSS feed and archive external links"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wrap" = callPackage @@ -232310,6 +250188,7 @@ self: { description = "Lazy wrapper to HaXML, HXT, TagSoup via custom XML tree structure"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wrecker" = callPackage @@ -232329,6 +250208,8 @@ self: { pname = "wrecker"; version = "1.3.1.0"; sha256 = "0z0a9k88npw09n54mplg2aa98y4p8kmk14v8ks2dc2ilf24lrri7"; + revision = "1"; + editedCabalFile = "1wzpw1cdbrb3mz7qaissdjidwdafhv9jph14066gn9dnyffg1w02"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -232349,6 +250230,7 @@ self: { description = "An HTTP Performance Benchmarker"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wrecker-ui" = callPackage @@ -232382,49 +250264,10 @@ self: { description = "A web interface for Wrecker, the HTTP Performance Benchmarker"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wreq" = callPackage - ({ mkDerivation, aeson, aeson-pretty, attoparsec - , authenticate-oauth, base, base16-bytestring, base64-bytestring - , bytestring, Cabal, cabal-doctest, case-insensitive, containers - , cryptonite, directory, doctest, exceptions, filepath, ghc-prim - , hashable, http-client, http-client-tls, http-types, HUnit, lens - , lens-aeson, memory, mime-types, network-info, psqueues - , QuickCheck, snap-core, snap-server, template-haskell, temporary - , test-framework, test-framework-hunit, test-framework-quickcheck2 - , text, time, time-locale-compat, transformers, unix-compat - , unordered-containers, uuid, vector - }: - mkDerivation { - pname = "wreq"; - version = "0.5.3.1"; - sha256 = "1i2f2bxx84l8qzkz9v3qhx5sbl78ysc3vqadfhrxk3h0ljklwfz3"; - revision = "1"; - editedCabalFile = "016sf02sm58fjsa7nmj12y8m2rwg34md8cnn533kdxm831jc9zyb"; - isLibrary = true; - isExecutable = true; - setupHaskellDepends = [ base Cabal cabal-doctest ]; - libraryHaskellDepends = [ - aeson attoparsec authenticate-oauth base base16-bytestring - bytestring case-insensitive containers cryptonite exceptions - ghc-prim hashable http-client http-client-tls http-types lens - lens-aeson memory mime-types psqueues template-haskell text time - time-locale-compat unordered-containers - ]; - testHaskellDepends = [ - aeson aeson-pretty base base64-bytestring bytestring - case-insensitive containers directory doctest filepath hashable - http-client http-types HUnit lens lens-aeson network-info - QuickCheck snap-core snap-server temporary test-framework - test-framework-hunit test-framework-quickcheck2 text time - transformers unix-compat unordered-containers uuid vector - ]; - description = "An easy-to-use HTTP client library"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "wreq_0_5_3_2" = callPackage ({ mkDerivation, aeson, aeson-pretty, attoparsec , authenticate-oauth, base, base16-bytestring, base64-bytestring , bytestring, Cabal, cabal-doctest, case-insensitive, containers @@ -232440,6 +250283,8 @@ self: { pname = "wreq"; version = "0.5.3.2"; sha256 = "16xls71aby6jqc1frhwnlfvz1iwj1ms0rw9xzif02sn84470gn36"; + revision = "1"; + editedCabalFile = "0gz674sb266hv6si9l79c3bv7n2nbssl1262c24in79sk27887gb"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal cabal-doctest ]; @@ -232460,7 +250305,6 @@ self: { ]; description = "An easy-to-use HTTP client library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "wreq-sb" = callPackage @@ -232499,6 +250343,7 @@ self: { description = "An easy-to-use HTTP client library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wreq-stringless" = callPackage @@ -232528,6 +250373,7 @@ self: { description = "Colour space transformations and metrics"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "write-buffer-core" = callPackage @@ -232563,8 +250409,8 @@ self: { }: mkDerivation { pname = "writer-cps-exceptions"; - version = "0.1.0.0"; - sha256 = "1s44h5d0f847w3j65frvjq2g6khz2ipsch109qnq5h2vcbgxid4v"; + version = "0.1.0.1"; + sha256 = "0hzfqmndlhqhb3l84fa1g51ydkf3py5vip5c1l6rzqak7b2ms6ls"; libraryHaskellDepends = [ base exceptions transformers writer-cps-transformers ]; @@ -232580,12 +250426,16 @@ self: { pname = "writer-cps-full"; version = "0.1.0.0"; sha256 = "15ay19hmfzx994aqylk379584c5f9jpz4yfi1zbyc2s7958xylds"; + revision = "1"; + editedCabalFile = "01zizhxk6kk5z3sqv5r7dp2yxbv5q87h5wgb5kbss60ncf042661"; libraryHaskellDepends = [ base writer-cps-lens writer-cps-morph writer-cps-mtl writer-cps-transformers ]; description = "WriteT and RWST monad transformers (Reexport with all dependencies)"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "writer-cps-lens" = callPackage @@ -232602,6 +250452,8 @@ self: { ]; description = "Lens instances for the stricter CPS WriterT and RWST"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "writer-cps-monads-tf" = callPackage @@ -232617,6 +250469,8 @@ self: { ]; description = "MonadWriter orphan instances for writer-cps-transformers"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "writer-cps-morph" = callPackage @@ -232630,6 +250484,8 @@ self: { libraryHaskellDepends = [ base mmorph writer-cps-transformers ]; description = "MFunctor instance for CPS style WriterT and RWST"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "writer-cps-mtl" = callPackage @@ -232637,8 +250493,8 @@ self: { }: mkDerivation { pname = "writer-cps-mtl"; - version = "0.1.1.5"; - sha256 = "09snvqwwhp39vmiiz3jpnfyjfhvpcj8ykbnhmii0yclxxsjgamqm"; + version = "0.1.1.6"; + sha256 = "0dnx2h4pqmvbkg2hh9c6vhayn6hyzyvs12c0s7rjdba1vihgpy86"; libraryHaskellDepends = [ base mtl transformers writer-cps-transformers ]; @@ -232650,9 +250506,10 @@ self: { ({ mkDerivation, base, transformers }: mkDerivation { pname = "writer-cps-transformers"; - version = "0.1.1.4"; - sha256 = "1zc5048spzf52gvski34ffvapw5s5yfdj7znv29yr71r4178pw6n"; + version = "0.5.6.1"; + sha256 = "071jiwdpjh5d7nm5jfgmk0lgpms0x3bijwjh25nnpy7q7lfczskn"; libraryHaskellDepends = [ base transformers ]; + doHaddock = false; description = "WriteT and RWST monad transformers"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -232692,6 +250549,7 @@ self: { description = "A simple CLI utility for interacting with a websocket"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ws-chans" = callPackage @@ -232734,6 +250592,7 @@ self: { description = "WSDL parsing in Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wsedit" = callPackage @@ -232752,6 +250611,26 @@ self: { description = "A small tool to list, add and remove webseeds from a torrent file"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "wshterm" = callPackage + ({ mkDerivation, async, base, binary, bytestring, file-embed + , posix-pty, process, wai, wai-app-static, wai-websockets, warp + , websockets + }: + mkDerivation { + pname = "wshterm"; + version = "0.1.0.1"; + sha256 = "09gxc8i4j236yvmvr31w3l05k0d1pqjgm6i88yn7hw16anjn23qq"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + async base binary bytestring file-embed posix-pty process wai + wai-app-static wai-websockets warp websockets + ]; + description = "Terminal emulator over websockets"; + license = stdenv.lib.licenses.bsd3; }) {}; "wsjtx-udp" = callPackage @@ -232791,6 +250670,7 @@ self: { description = "A-little-higher-level WebSocket client"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wtk" = callPackage @@ -232803,6 +250683,7 @@ self: { description = "Wojcik Tool Kit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wtk-gtk" = callPackage @@ -232819,6 +250700,22 @@ self: { description = "GTK tools within Wojcik Tool Kit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "wu-wei" = callPackage + ({ mkDerivation, base, directory, symbolic-link, unix, yaml }: + mkDerivation { + pname = "wu-wei"; + version = "0.1.0.2"; + sha256 = "001bs5s92wpj1s7pjg7knc9w4czjq2zwm0wj6gjjxgymvvwjax7w"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base directory symbolic-link unix yaml + ]; + description = "Unimportant Unix adminstration tool"; + license = stdenv.lib.licenses.bsd3; }) {}; "wumpus-basic" = callPackage @@ -232835,6 +250732,7 @@ self: { description = "Basic objects and system code built on Wumpus-Core"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wumpus-core" = callPackage @@ -232849,6 +250747,7 @@ self: { description = "Pure Haskell PostScript and SVG generation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wumpus-drawing" = callPackage @@ -232865,6 +250764,7 @@ self: { description = "High-level drawing objects built on Wumpus-Basic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wumpus-microprint" = callPackage @@ -232881,6 +250781,7 @@ self: { description = "Microprints - \"greek-text\" pictures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wumpus-tree" = callPackage @@ -232898,6 +250799,7 @@ self: { description = "Drawing trees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wuss" = callPackage @@ -232905,8 +250807,8 @@ self: { }: mkDerivation { pname = "wuss"; - version = "1.1.12"; - sha256 = "1xnnyavkgf2cdnsm494bl1z275l9rynh9s3djq3mqk6lrr4bvsix"; + version = "1.1.14"; + sha256 = "1r0ljrp7kfksvmm4029b633cypdg5lqk5nga31si22bi5yz7fkiq"; libraryHaskellDepends = [ base bytestring connection network websockets ]; @@ -232940,6 +250842,7 @@ self: { description = "Try to avoid the asteroids with your space ship"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wxFruit" = callPackage @@ -232955,6 +250858,7 @@ self: { description = "An implementation of Fruit using wxHaskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wxSimpleCanvas" = callPackage @@ -232967,6 +250871,7 @@ self: { description = "Simple zoomable canvas for wxHaskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wxc" = callPackage @@ -233030,6 +250935,7 @@ self: { description = "helper tool for building wxHaskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wxhnotepad" = callPackage @@ -233045,6 +250951,7 @@ self: { description = "An example of how to implement a basic notepad with wxHaskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wxturtle" = callPackage @@ -233061,6 +250968,7 @@ self: { description = "turtle like LOGO with wxHaskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "wybor" = callPackage @@ -233101,6 +251009,7 @@ self: { description = "An autoresponder for Dragon Go Server"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "x-dsp" = callPackage @@ -233118,6 +251027,7 @@ self: { description = "A embedded DSL for manipulating DSP languages in Haskell"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "x11-xim" = callPackage @@ -233263,6 +251173,7 @@ self: { description = "Runtime code generation for x86 64 bit machine code"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xattr" = callPackage @@ -233281,7 +251192,7 @@ self: { ]; description = "Haskell extended file attributes interface"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs) attr;}; "xbattbar" = callPackage @@ -233306,7 +251217,6 @@ self: { libraryHaskellDepends = [ base containers mtl pretty xml ]; description = "Parses XML files used by the XCB project"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "xcffib" = callPackage @@ -233317,8 +251227,8 @@ self: { }: mkDerivation { pname = "xcffib"; - version = "0.7.0"; - sha256 = "1b9qp3z0j3qpxwh8kczkarbqa0hb6x8wxm6by6j49qhd7fn6dkin"; + version = "0.8.1"; + sha256 = "183f7rpckhr3cipwci6hfhrfilqq5jijkwp98r5wi0l43inj29jc"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -233355,6 +251265,7 @@ self: { description = "XChat"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xcp" = callPackage @@ -233371,6 +251282,7 @@ self: { description = "Partial implementation of the XCP protocol with ethernet as transport layer"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xdcc" = callPackage @@ -233397,6 +251309,7 @@ self: { description = "A wget-like utility for retrieving files from XDCC bots on IRC"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xdg-basedir" = callPackage @@ -233410,6 +251323,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "xdg-desktop-entry" = callPackage + ({ mkDerivation, base, ConfigFile, directory, either, filepath + , multimap, safe, transformers, unix + }: + mkDerivation { + pname = "xdg-desktop-entry"; + version = "0.1.1.0"; + sha256 = "0ss4marv4lyh94v9x12sy5wfdsiw0jppqpgndmg1w8b3mfk0d6s2"; + libraryHaskellDepends = [ + base ConfigFile directory either filepath multimap safe + transformers unix + ]; + description = "Parse files conforming to the xdg desktop entry spec"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "xdg-userdirs" = callPackage ({ mkDerivation, base, containers, directory, filepath, xdg-basedir }: @@ -233443,6 +251372,7 @@ self: { description = "Parse Graphviz xdot files and interactively view them using GTK and Cairo"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xeno" = callPackage @@ -233499,6 +251429,7 @@ self: { description = "FFI bindings to xfconf"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {libxfconf = null;}; "xformat" = callPackage @@ -233512,6 +251443,7 @@ self: { description = "Extensible, type-safe formatting with scanf- and printf-like functions"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xgboost-haskell" = callPackage @@ -233543,6 +251475,7 @@ self: { description = "Replaces/Enhances Text.Regex"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xhb" = callPackage @@ -233560,6 +251493,7 @@ self: { description = "X Haskell Bindings"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xhb-atom-cache" = callPackage @@ -233576,6 +251510,7 @@ self: { description = "Atom cache for XHB"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xhb-ewmh" = callPackage @@ -233593,6 +251528,7 @@ self: { description = "EWMH utilities for XHB"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xhtml_3000_2_2_1" = callPackage @@ -233636,6 +251572,7 @@ self: { description = "The Lava system for Xilinx FPGA design with layout combinators"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xine" = callPackage @@ -233651,6 +251588,7 @@ self: { description = "Bindings to xine-lib"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {libxine = null; xine = null;}; "xing-api" = callPackage @@ -233675,6 +251613,7 @@ self: { description = "Wrapper for the XING API, v1"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xinput-conduit" = callPackage @@ -233715,6 +251654,7 @@ self: { description = "Haskell bindings for libxkbcommon"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libxkbcommon;}; "xkcd" = callPackage @@ -233725,6 +251665,8 @@ self: { pname = "xkcd"; version = "0.1.1"; sha256 = "15zwx7rkxm52pnxjhx3p979h48cls1ipb7hmryxll5rcxz9aga29"; + revision = "1"; + editedCabalFile = "0sy66hmwgk5mb9nxlqh7k1nzb2r6cw617sn31aaf54hwk0gkx32m"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -233733,6 +251675,7 @@ self: { description = "Downloads the most recent xkcd comic"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xleb" = callPackage @@ -233749,6 +251692,7 @@ self: { description = "A simple monadic language for parsing XML structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xls" = callPackage @@ -233757,8 +251701,8 @@ self: { }: mkDerivation { pname = "xls"; - version = "0.1.1"; - sha256 = "0a09zw90xiaklr68w932md38s95jzwid914lw7frnf3qd8j12xq9"; + version = "0.1.2"; + sha256 = "0gpfc973g6ha9w3fqm9dy59kgl21hw20l2b444rrz0lxs9ix1wyp"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -233794,6 +251738,7 @@ self: { description = "Streaming Excel file generation and parsing"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xlsx" = callPackage @@ -233822,6 +251767,8 @@ self: { benchmarkHaskellDepends = [ base bytestring criterion ]; description = "Simple and incomplete Excel file parser/writer"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xlsx-tabular" = callPackage @@ -233838,6 +251785,8 @@ self: { testHaskellDepends = [ base ]; description = "Xlsx table cell value extraction utility"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xlsx-templater" = callPackage @@ -233857,6 +251806,7 @@ self: { description = "Simple and incomplete Excel file templater"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml" = callPackage @@ -233903,6 +251853,7 @@ self: { description = "Parse XML catalog files (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-conduit_1_7_1_2" = callPackage @@ -233970,6 +251921,7 @@ self: { description = "Historical cursors & decoding on top of xml-conduit"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-conduit-parse" = callPackage @@ -233996,6 +251948,24 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "xml-conduit-stylist" = callPackage + ({ mkDerivation, base, containers, css-syntax, network-uri, stylist + , text, unordered-containers, xml-conduit + }: + mkDerivation { + pname = "xml-conduit-stylist"; + version = "1.0.0.0"; + sha256 = "1w9ig4mr0l0kj8mk7sfsyv8p77k91l93cfpbpvmg32q9wffz2r02"; + libraryHaskellDepends = [ + base containers css-syntax network-uri stylist text + unordered-containers xml-conduit + ]; + description = "Bridge between xml-conduit/html-conduit and stylist"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + "xml-conduit-writer" = callPackage ({ mkDerivation, base, containers, data-default, dlist, mtl, text , xml-conduit, xml-types @@ -234034,6 +252004,7 @@ self: { description = "Pure-Haskell utilities for dealing with XML with the enumerator package. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-enumerator-combinators" = callPackage @@ -234052,6 +252023,7 @@ self: { description = "Parser combinators for xml-enumerator and compatible XML parsers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-extractors" = callPackage @@ -234113,6 +252085,7 @@ self: { description = "Optics for xml-conduit and html-conduit"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-html-qq" = callPackage @@ -234187,8 +252160,8 @@ self: { pname = "xml-lens"; version = "0.1.6.3"; sha256 = "1s5ivi3caz56g5yyg3pharshs3wcygcssjx1sm9aw4mv3ylz3msd"; - revision = "1"; - editedCabalFile = "1fbk4wv7zr10wsh8a0svd799im64fybnlb09rjpfl2pvb6i6h1qs"; + revision = "2"; + editedCabalFile = "1phba1j6ggxfsq4ivhd5wibzw1b9hwppqmgichyj3xg9z3widmnl"; libraryHaskellDepends = [ base case-insensitive containers lens text xml-conduit ]; @@ -234209,6 +252182,7 @@ self: { description = "Monadic extensions to the xml package"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-parsec" = callPackage @@ -234221,6 +252195,7 @@ self: { description = "Parsing XML with Parsec"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-picklers" = callPackage @@ -234250,6 +252225,7 @@ self: { description = "XML parser which uses simple-pipe"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-prettify" = callPackage @@ -234265,6 +252241,7 @@ self: { description = "Pretty print XML"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-push" = callPackage @@ -234286,6 +252263,7 @@ self: { description = "Push XML from/to client to/from server over XMPP or HTTP"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-query" = callPackage @@ -234298,6 +252276,7 @@ self: { description = "A parser-agnostic declarative API for querying XML-documents"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-query-xml-conduit" = callPackage @@ -234315,6 +252294,7 @@ self: { description = "A binding for the \"xml-query\" and \"xml-conduit\" libraries"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-query-xml-types" = callPackage @@ -234339,6 +252319,7 @@ self: { description = "An interpreter of \"xml-query\" queries for the \"xml-types\" documents"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-to-json" = callPackage @@ -234396,6 +252377,7 @@ self: { description = "Typed XML encoding for an xml-conduit backend"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-tydom-core" = callPackage @@ -234408,6 +252390,7 @@ self: { description = "Typed XML encoding (core library)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml-types" = callPackage @@ -234460,6 +252443,7 @@ self: { description = "translate xml to json"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xml2x" = callPackage @@ -234479,25 +252463,25 @@ self: { description = "Convert BLAST output in XML format to CSV or HTML"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xmlbf" = callPackage - ({ mkDerivation, base, bytestring, containers, QuickCheck - , quickcheck-instances, tasty, tasty-hunit, tasty-quickcheck, text - , transformers, unordered-containers + ({ mkDerivation, base, bytestring, containers, deepseq, QuickCheck + , quickcheck-instances, selective, tasty, tasty-hunit + , tasty-quickcheck, text, transformers, unordered-containers }: mkDerivation { pname = "xmlbf"; - version = "0.4.1"; - sha256 = "0xfw9z1l3ja4qq0lj9i2n81fdh43ggprsy8rm71pcdacnpl056hq"; - revision = "1"; - editedCabalFile = "0j5yvsz0ib5w80wp1gc0li376adw8l861xvf5paa2hdq55jkxvi6"; + version = "0.6"; + sha256 = "02wcjmpgjla568ic621hglzkgqaiq9g1s93fq4iqq4lf20yszr9y"; libraryHaskellDepends = [ - base bytestring containers text transformers unordered-containers + base bytestring containers deepseq selective text transformers + unordered-containers ]; testHaskellDepends = [ base bytestring QuickCheck quickcheck-instances tasty tasty-hunit - tasty-quickcheck text transformers unordered-containers + tasty-quickcheck text transformers ]; description = "XML back and forth! Parser, renderer, ToXml, FromXml, fixpoints"; license = stdenv.lib.licenses.asl20; @@ -234510,8 +252494,8 @@ self: { }: mkDerivation { pname = "xmlbf-xeno"; - version = "0.1.1"; - sha256 = "0cnxcw1sh92ljcpla2j7pg0md8yj7j48jgjlsn0f9ha0j90lw73c"; + version = "0.2"; + sha256 = "1x33885kjddmc39p2jxafypcgpm5fajdxzdd6l9z5bpihlpgk7ig"; libraryHaskellDepends = [ base bytestring html-entities text unordered-containers xeno xmlbf ]; @@ -234522,6 +252506,7 @@ self: { description = "xeno backend support for the xmlbf library"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xmlbf-xmlhtml" = callPackage @@ -234531,8 +252516,8 @@ self: { }: mkDerivation { pname = "xmlbf-xmlhtml"; - version = "0.1.1"; - sha256 = "0x8fr4dqa1i3ylwh98r69xavrfgl2i97s9iili14wpqap0pg8aa4"; + version = "0.2"; + sha256 = "1h2w98jdr3r9isbl5g39gd3fxlm4vqib15grqgarhx2gj1k9vlxd"; libraryHaskellDepends = [ base bytestring html-entities text unordered-containers xmlbf xmlhtml @@ -234543,7 +252528,6 @@ self: { ]; description = "xmlhtml backend support for the xmlbf library"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "xmlgen" = callPackage @@ -234555,6 +252539,8 @@ self: { pname = "xmlgen"; version = "0.6.2.2"; sha256 = "1milbbr2iqwckqbq6i9sypinvs4hs7mzqn274x350psjfy6ajvwj"; + revision = "1"; + editedCabalFile = "0vwnqd0lsw81llsn0psga5r6pw7jh69vfbj3rnz7c2fpkc0gjh3j"; libraryHaskellDepends = [ base blaze-builder bytestring containers mtl text ]; @@ -234612,6 +252598,7 @@ self: { description = "Show tv channels in the terminal"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xmms2-client" = callPackage @@ -234629,6 +252616,7 @@ self: { description = "An XMMS2 client library"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xmms2-client-glib" = callPackage @@ -234642,21 +252630,22 @@ self: { description = "An XMMS2 client library — GLib integration"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xmobar" = callPackage ({ mkDerivation, alsa-core, alsa-mixer, async, base, bytestring , containers, dbus, directory, extensible-exceptions, filepath - , hinotify, hspec, HTTP, http-conduit, http-types, iwlib, libmpd - , libXpm, libXrandr, libXrender, mtl, old-locale, parsec - , parsec-numbers, process, regex-compat, stm, temporary, time - , timezone-olson, timezone-series, transformers, unix, utf8-string - , wirelesstools, X11, X11-xft + , hinotify, hspec, http-conduit, http-types, iwlib, libmpd, libXpm + , libXrandr, libXrender, mtl, old-locale, parsec, parsec-numbers + , process, regex-compat, stm, temporary, time, timezone-olson + , timezone-series, transformers, unix, utf8-string, wirelesstools + , X11, X11-xft }: mkDerivation { pname = "xmobar"; - version = "0.29.4"; - sha256 = "08kis4pxw073cixpfv9ccnarxl425mxszsni5cqzbns1gl8qydsr"; + version = "0.30"; + sha256 = "1msyl3gy8cybdkx24k6ykcxjf95b5zid8b6vdwqmsamw1yrb3sgr"; configureFlags = [ "-fwith_alsa" "-fwith_conduit" "-fwith_datezone" "-fwith_dbus" "-fwith_inotify" "-fwith_iwlib" "-fwith_mpd" "-fwith_mpris" @@ -234667,7 +252656,7 @@ self: { isExecutable = true; libraryHaskellDepends = [ alsa-core alsa-mixer async base bytestring containers dbus - directory extensible-exceptions filepath hinotify HTTP http-conduit + directory extensible-exceptions filepath hinotify http-conduit http-types iwlib libmpd mtl old-locale parsec parsec-numbers process regex-compat stm time timezone-olson timezone-series transformers unix utf8-string X11 X11-xft @@ -234685,7 +252674,7 @@ self: { ]; description = "A Minimalistic Text Based Status Bar"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }) {inherit (pkgs.xorg) libXpm; inherit (pkgs.xorg) libXrandr; inherit (pkgs.xorg) libXrender; inherit (pkgs) wirelesstools;}; @@ -234709,8 +252698,8 @@ self: { base containers extensible-exceptions QuickCheck X11 ]; postInstall = '' - install -D man/xmonad.1 $doc/share/man/man1/xmonad.1 - install -D man/xmonad.hs $doc/share/doc/$name/sample-xmonad.hs + install -D man/xmonad.1 ''${!outputDoc}/share/man/man1/xmonad.1 + install -D man/xmonad.hs ''${!outputDoc}/share/doc/$name/sample-xmonad.hs ''; description = "A tiling window manager"; license = stdenv.lib.licenses.bsd3; @@ -234735,6 +252724,7 @@ self: { description = "A tiling window manager"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xmonad-contrib" = callPackage @@ -234774,6 +252764,7 @@ self: { description = "Third party extensions for xmonad"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xmonad-contrib-gpl" = callPackage @@ -234786,6 +252777,7 @@ self: { description = "Third party extensions for xmonad"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xmonad-entryhelper" = callPackage @@ -234819,6 +252811,7 @@ self: { description = "Module for evaluation Haskell expressions in the running xmonad instance"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xmonad-extras" = callPackage @@ -234849,7 +252842,6 @@ self: { libraryHaskellDepends = [ base gtk xmonad ]; description = "Workspaces screenshooting utility for XMonad"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "xmonad-spotify" = callPackage @@ -234898,6 +252890,7 @@ self: { description = "Custom xmonad, which builds with stack or cabal"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xmonad-volume" = callPackage @@ -234942,6 +252935,7 @@ self: { description = "A library to automatically put named windows into the DynamicLog"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xmpipe" = callPackage @@ -234959,6 +252953,7 @@ self: { description = "XMPP implementation using simple-PIPE"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xorshift" = callPackage @@ -235018,6 +253013,7 @@ self: { description = "text builder for xournal file format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xournal-convert" = callPackage @@ -235040,6 +253036,7 @@ self: { description = "convert utility for xoj files"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xournal-parser" = callPackage @@ -235060,6 +253057,7 @@ self: { description = "Xournal file parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xournal-render" = callPackage @@ -235078,6 +253076,7 @@ self: { description = "Xournal file renderer"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xournal-types" = callPackage @@ -235096,6 +253095,7 @@ self: { description = "Data types for programs for xournal file format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xpathdsv" = callPackage @@ -235130,6 +253130,7 @@ self: { description = "Cluster EST sequences"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xsd" = callPackage @@ -235147,6 +253148,7 @@ self: { description = "XML Schema data structures"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xsha1" = callPackage @@ -235171,6 +253173,7 @@ self: { description = "Binding to libxslt"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {xslt = null;}; "xss-sanitize" = callPackage @@ -235204,6 +253207,7 @@ self: { description = "eXtended & Typed Controls for wxHaskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xtest" = callPackage @@ -235249,6 +253253,7 @@ self: { description = "A Haskell implementation of the xxHash algorithm"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "xxhash-ffi" = callPackage @@ -235286,6 +253291,7 @@ self: { description = "#plaimi's all-encompassing bot"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yabi" = callPackage @@ -235294,6 +253300,8 @@ self: { pname = "yabi"; version = "0.2.0.0"; sha256 = "1iihmhq87z5k9wzv8j8ydyy100m0401yqm576z27fk01i1a6fq3x"; + revision = "1"; + editedCabalFile = "0hbmp3hbr2f64vpnqf7hg2li4yasiv7fzmafqf50wypz3zixbgmp"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ base word8 ]; @@ -235318,6 +253326,7 @@ self: { description = "Yet Another Brainfuck Interpreter"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yackage" = callPackage @@ -235342,6 +253351,7 @@ self: { description = "Personal Hackage replacement for testing new packages"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yahoo-finance-api" = callPackage @@ -235364,6 +253374,7 @@ self: { description = "Read quotes from Yahoo Finance API"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yahoo-finance-conduit" = callPackage @@ -235380,6 +253391,7 @@ self: { description = "Streaming aproach to the yahoo finance api"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yahoo-web-search" = callPackage @@ -235392,6 +253404,7 @@ self: { description = "Yahoo Web Search Services"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yajl" = callPackage @@ -235406,6 +253419,7 @@ self: { description = "Bindings for YAJL, an event-based JSON implementation"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) yajl;}; "yajl-enumerator" = callPackage @@ -235422,6 +253436,7 @@ self: { description = "Enumerator-based interface to YAJL, an event-based JSON implementation"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yak" = callPackage @@ -235430,15 +253445,14 @@ self: { }: mkDerivation { pname = "yak"; - version = "0.1.0.0"; - sha256 = "1zw522pijmad87986m663myzfkvm40y7w3g04z0f67yfzby4s19a"; + version = "0.2.0.0"; + sha256 = "1k27361n0jbixrshlf9757gvlnm7z3safkl28zg4lqflmfq95mai"; libraryHaskellDepends = [ attoparsec base bytestring lens template-haskell text time ]; testHaskellDepends = [ base bytestring hspec ]; description = "A strongly typed IRC library"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "yall" = callPackage @@ -235453,66 +253467,36 @@ self: { }) {}; "yam" = callPackage - ({ mkDerivation, base, base16-bytestring, binary, bytestring - , data-default, fast-logger, hspec, http-client, http-types, lens - , monad-logger, mtl, mwc-random, QuickCheck, reflection, salak - , scientific, servant-client, servant-server, servant-swagger - , servant-swagger-ui, swagger2, text, unliftio-core - , unordered-containers, vault, vector, wai, warp - }: - mkDerivation { - pname = "yam"; - version = "0.5.11"; - sha256 = "0k9y8zg1sbdxb6c3fdmlz0dswb8yam5x812avfw6rg3as8sp1pcf"; - libraryHaskellDepends = [ - base base16-bytestring binary bytestring data-default fast-logger - http-client http-types lens monad-logger mtl mwc-random reflection - salak scientific servant-client servant-server servant-swagger - servant-swagger-ui swagger2 text unliftio-core unordered-containers - vault vector wai warp - ]; - testHaskellDepends = [ - base base16-bytestring binary bytestring data-default fast-logger - hspec http-client http-types lens monad-logger mtl mwc-random - QuickCheck reflection salak scientific servant-client - servant-server servant-swagger servant-swagger-ui swagger2 text - unliftio-core unordered-containers vault vector wai warp - ]; - description = "Yam Web"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "yam_0_5_13" = callPackage ({ mkDerivation, aeson, base, base16-bytestring, binary, bytestring - , data-default, fast-logger, hspec, http-client, http-types, lens - , menshen, monad-logger, mtl, mwc-random, QuickCheck, reflection - , salak, scientific, servant-client, servant-server - , servant-swagger, servant-swagger-ui, swagger2, text - , unliftio-core, unordered-containers, vault, vector, wai, warp + , data-default, exceptions, fast-logger, hspec, http-client + , http-types, lens, menshen, monad-logger, mtl, mwc-random + , QuickCheck, reflection, salak, scientific, servant-client + , servant-server, servant-swagger, servant-swagger-ui, swagger2 + , text, transformers, unliftio-core, unordered-containers, vault + , vector, wai, warp }: mkDerivation { pname = "yam"; - version = "0.5.13"; - sha256 = "1l671m59vkgqv4acvg8x49wkfbzdy17bww3p3b5a8l8md1ab258r"; + version = "0.7"; + sha256 = "1b1igh82zhdbql4kfjxxh1rg1776x2yv2755hnvps5p06c2wap7z"; libraryHaskellDepends = [ aeson base base16-bytestring binary bytestring data-default - fast-logger http-client http-types lens menshen monad-logger mtl - mwc-random reflection salak scientific servant-client - servant-server servant-swagger servant-swagger-ui swagger2 text - unliftio-core unordered-containers vault vector wai warp + exceptions fast-logger http-client http-types lens menshen + monad-logger mtl mwc-random reflection salak scientific + servant-client servant-server servant-swagger servant-swagger-ui + swagger2 text transformers unliftio-core unordered-containers vault + vector wai warp ]; testHaskellDepends = [ aeson base base16-bytestring binary bytestring data-default - fast-logger hspec http-client http-types lens menshen monad-logger - mtl mwc-random QuickCheck reflection salak scientific + exceptions fast-logger hspec http-client http-types lens menshen + monad-logger mtl mwc-random QuickCheck reflection salak scientific servant-client servant-server servant-swagger servant-swagger-ui - swagger2 text unliftio-core unordered-containers vault vector wai - warp + swagger2 text transformers unliftio-core unordered-containers vault + vector wai warp ]; - description = "Yam Web"; + description = "A wrapper of servant"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "yam-app" = callPackage @@ -235555,35 +253539,20 @@ self: { }) {}; "yam-datasource" = callPackage - ({ mkDerivation, base, conduit, persistent, resource-pool - , resourcet, unliftio-core, yam + ({ mkDerivation, base, conduit, data-default, monad-logger + , persistent, resource-pool, resourcet, salak, servant-server, text + , unliftio-core, yam }: mkDerivation { pname = "yam-datasource"; - version = "0.5.11"; - sha256 = "170xpd1kw403g9zds795zbxkaz0qy7lfgzppx4q0ri42ky59z8pl"; + version = "0.7"; + sha256 = "0dkricvyypyggbmqp3mqryz7sw1z1z92ixnvz48lc8xqahvj0fsv"; libraryHaskellDepends = [ - base conduit persistent resource-pool resourcet unliftio-core yam + base conduit data-default monad-logger persistent resource-pool + resourcet salak servant-server text unliftio-core yam ]; description = "Yam DataSource Middleware"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - - "yam-datasource_0_5_13" = callPackage - ({ mkDerivation, base, conduit, persistent, resource-pool - , resourcet, unliftio-core, yam - }: - mkDerivation { - pname = "yam-datasource"; - version = "0.5.13"; - sha256 = "0vbw575g7qdha9siiyrnv3kpjw6ysz09m4qady90s9j75ymzdgnm"; - libraryHaskellDepends = [ - base conduit persistent resource-pool resourcet unliftio-core yam - ]; - description = "Yam DataSource Middleware"; - license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "yam-job" = callPackage @@ -235595,6 +253564,7 @@ self: { libraryHaskellDepends = [ base cron yam-app ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yam-logger" = callPackage @@ -235612,6 +253582,22 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "yam-redis" = callPackage + ({ mkDerivation, base, bytestring, data-default, hedis, menshen + , monad-logger, mtl, salak, servant-server, text, yam + }: + mkDerivation { + pname = "yam-redis"; + version = "0.7"; + sha256 = "0cw4prkmi2csmi1kw3k0lvvzhnl71f4fplsv3f2jxgcgviim89pw"; + libraryHaskellDepends = [ + base bytestring data-default hedis menshen monad-logger mtl salak + servant-server text yam + ]; + description = "Yam Redis Middleware"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "yam-servant" = callPackage ({ mkDerivation, aeson, base, http-types, lens, servant , servant-server, servant-swagger, servant-swagger-ui, swagger2 @@ -235627,6 +253613,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yam-transaction" = callPackage @@ -235660,6 +253647,7 @@ self: { ]; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yam-transaction-postgresql" = callPackage @@ -235704,6 +253692,7 @@ self: { description = "Yam Web"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yamemo" = callPackage @@ -235727,8 +253716,8 @@ self: { }: mkDerivation { pname = "yaml"; - version = "0.11.0.0"; - sha256 = "1gr72lb3zan7g9pxqzxn3zxcbnrkc0vapm2dvp1mdlm4576ncr76"; + version = "0.11.1.1"; + sha256 = "0zshpjggz3agzvqwirywpz79q4wq43vsz0pw1iq4dhf4ajjrmzrp"; configureFlags = [ "-fsystem-libyaml" ]; isLibrary = true; isExecutable = true; @@ -235747,6 +253736,36 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "yaml_0_11_1_2" = callPackage + ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring + , conduit, containers, directory, filepath, hspec, HUnit, libyaml + , mockery, mtl, raw-strings-qq, resourcet, scientific + , template-haskell, temporary, text, transformers + , unordered-containers, vector + }: + mkDerivation { + pname = "yaml"; + version = "0.11.1.2"; + sha256 = "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"; + configureFlags = [ "-fsystem-libyaml" ]; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson attoparsec base bytestring conduit containers directory + filepath libyaml mtl resourcet scientific template-haskell text + transformers unordered-containers vector + ]; + testHaskellDepends = [ + aeson attoparsec base base-compat bytestring conduit containers + directory filepath hspec HUnit libyaml mockery mtl raw-strings-qq + resourcet scientific template-haskell temporary text transformers + unordered-containers vector + ]; + description = "Support for parsing and rendering YAML documents"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "yaml-combinators" = callPackage ({ mkDerivation, aeson, base, bytestring, doctest, generics-sop , scientific, tasty, tasty-hunit, text, transformers @@ -235824,6 +253843,7 @@ self: { description = "Extra functionality for pretty printing Yaml documents"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yaml-rpc" = callPackage @@ -235843,6 +253863,7 @@ self: { description = "Simple library for network (HTTP REST-like) YAML RPC"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yaml-rpc-scotty" = callPackage @@ -235860,6 +253881,7 @@ self: { description = "Scotty server backend for yaml-rpc"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yaml-rpc-snap" = callPackage @@ -235877,6 +253899,7 @@ self: { description = "Snap server backend for yaml-rpc"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yaml-union" = callPackage @@ -235922,6 +253945,7 @@ self: { description = "Generate OWL schema from YAML syntax, and an RDFa template"; license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yamlkeysdiff" = callPackage @@ -235948,12 +253972,15 @@ self: { pname = "yampa-canvas"; version = "0.2.3"; sha256 = "0a1pq1psmc4490isr19z4prnqq1w3374vkfmzpw9s20s2p6k5y7r"; + revision = "2"; + editedCabalFile = "1zyb6z4q46f09lsnswk3z401p5nry65k5cp3jypbcwc8m122hgb1"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base blank-canvas stm time Yampa ]; description = "blank-canvas frontend for Yampa"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yampa-glfw" = callPackage @@ -235972,20 +253999,22 @@ self: { description = "Connects GLFW-b (GLFW 3+) with the Yampa FRP library"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yampa-gloss" = callPackage ({ mkDerivation, base, gloss, Yampa }: mkDerivation { pname = "yampa-gloss"; - version = "0.1.0.0"; - sha256 = "1h9x76swrq64add2v6935542gh5l5rpf5nqdy1nl2q78ksk6r04g"; + version = "0.2"; + sha256 = "0dbp5a4mvqvdc6pq9qdaw3656n0pspmjjg5z4a1b5q8s6dbv62zx"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base gloss Yampa ]; description = "A GLOSS backend for Yampa"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yampa-glut" = callPackage @@ -236004,6 +254033,7 @@ self: { description = "Connects Yampa and GLUT"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yampa-sdl2" = callPackage @@ -236023,6 +254053,7 @@ self: { description = "Yampa and SDL2 made easy"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yampa-test" = callPackage @@ -236042,6 +254073,7 @@ self: { description = "Testing library for Yampa"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yampa2048" = callPackage @@ -236056,6 +254088,7 @@ self: { description = "2048 game clone using Yampa/Gloss"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yandex-translate" = callPackage @@ -236074,6 +254107,7 @@ self: { description = "Bindings to Yandex translate API"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yaop" = callPackage @@ -236088,6 +254122,7 @@ self: { description = "Yet another option parser"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yap" = callPackage @@ -236100,6 +254135,7 @@ self: { description = "yet another prelude - a simplistic refactoring with algebraic classes"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yarn-lock" = callPackage @@ -236122,6 +254158,7 @@ self: { description = "Represent and parse yarn.lock files"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yarn2nix" = callPackage @@ -236175,6 +254212,7 @@ self: { description = "Yet another array library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yarr-image-io" = callPackage @@ -236188,6 +254226,7 @@ self: { description = "Image IO for Yarr library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) libdevil;}; "yate" = callPackage @@ -236208,6 +254247,7 @@ self: { description = "Yet Another Template Engine"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yavie" = callPackage @@ -236228,6 +254268,7 @@ self: { description = "yet another visual editor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yaya" = callPackage @@ -236251,6 +254292,7 @@ self: { description = "Total recursion schemes"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yaya-hedgehog" = callPackage @@ -236262,6 +254304,8 @@ self: { libraryHaskellDepends = [ base deriving-compat hedgehog yaya ]; description = "Hedgehog testing support for the Yaya recursion scheme library"; license = stdenv.lib.licenses.agpl3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yaya-unsafe" = callPackage @@ -236279,6 +254323,7 @@ self: { description = "Non-total extensions to the Yaya recursion scheme library"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ycextra" = callPackage @@ -236294,6 +254339,7 @@ self: { description = "Additional utilities to work with Yhc Core"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yeganesh" = callPackage @@ -236338,6 +254384,7 @@ self: { description = "A Yeller Client For Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yes-precure5-command" = callPackage @@ -236430,6 +254477,7 @@ self: { description = "YesQL-style SQL database abstraction (postgresql-simple backend)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod_1_4_5" = callPackage @@ -236485,8 +254533,8 @@ self: { }: mkDerivation { pname = "yesod-alerts"; - version = "0.1.2.0"; - sha256 = "0vqlkcb2q3wz6hp6ay6gj41vwlmq4x7flfbgq36ygnwwxjkwhllf"; + version = "0.1.3.0"; + sha256 = "1x7l1h4xziqg6fjjp5qnqdmbnrpiryzv37q322llnmsi1f89zvzv"; libraryHaskellDepends = [ alerts base blaze-html blaze-markup safe text yesod-core ]; @@ -236509,6 +254557,7 @@ self: { description = "Angular JS integratoin"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-angular-ui" = callPackage @@ -236529,6 +254578,7 @@ self: { description = "Angular Helpers"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-articles" = callPackage @@ -236552,6 +254602,7 @@ self: { description = "Automatically generate article previews for a yesod site"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth" = callPackage @@ -236567,8 +254618,8 @@ self: { }: mkDerivation { pname = "yesod-auth"; - version = "1.6.5"; - sha256 = "1crpqcx8zynwmas4ja5yv1jg4xvcv0hw7h11d5m8vld4fcs9dpdr"; + version = "1.6.7"; + sha256 = "0p9c26ic45bmsjvfb7kam87ja2vbd4m7qm27znvfrn9wvijhjzp9"; libraryHaskellDepends = [ aeson authenticate base base16-bytestring base64-bytestring binary blaze-builder blaze-html blaze-markup bytestring conduit @@ -236582,35 +254633,6 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "yesod-auth_1_6_6" = callPackage - ({ mkDerivation, aeson, authenticate, base, base16-bytestring - , base64-bytestring, binary, blaze-builder, blaze-html - , blaze-markup, bytestring, conduit, conduit-extra, containers - , cryptonite, data-default, email-validate, file-embed, http-client - , http-client-tls, http-conduit, http-types, memory, network-uri - , nonce, persistent, random, safe, shakespeare, template-haskell - , text, time, transformers, unliftio, unliftio-core - , unordered-containers, wai, yesod-core, yesod-form - , yesod-persistent - }: - mkDerivation { - pname = "yesod-auth"; - version = "1.6.6"; - sha256 = "0ibmv3ghxrrjjjqb9jg4wnwr7w4hl4lsvwic13ys8fihg40ln6ka"; - libraryHaskellDepends = [ - aeson authenticate base base16-bytestring base64-bytestring binary - blaze-builder blaze-html blaze-markup bytestring conduit - conduit-extra containers cryptonite data-default email-validate - file-embed http-client http-client-tls http-conduit http-types - memory network-uri nonce persistent random safe shakespeare - template-haskell text time transformers unliftio unliftio-core - unordered-containers wai yesod-core yesod-form yesod-persistent - ]; - description = "Authentication for Yesod"; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "yesod-auth-account" = callPackage ({ mkDerivation, base, blaze-html, bytestring, hspec, monad-logger , mtl, nonce, persistent, persistent-sqlite, pwstore-fast @@ -236632,6 +254654,7 @@ self: { description = "An account authentication plugin for Yesod"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-account-fork" = callPackage @@ -236657,6 +254680,7 @@ self: { description = "An account authentication plugin for Yesod"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-basic" = callPackage @@ -236674,6 +254698,7 @@ self: { description = "Yesod Middleware for HTTP Basic Authentication"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-bcrypt" = callPackage @@ -236691,6 +254716,7 @@ self: { description = "BCrypt salted and hashed passwords in a database as auth for yesod"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-bcryptdb" = callPackage @@ -236708,6 +254734,7 @@ self: { description = "Authentication plugin for Yesod"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-deskcom" = callPackage @@ -236730,6 +254757,7 @@ self: { description = "Desk.com remote authentication support for Yesod apps."; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-fb" = callPackage @@ -236748,6 +254776,7 @@ self: { description = "Authentication backend for Yesod using Facebook"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-hashdb" = callPackage @@ -236759,8 +254788,8 @@ self: { }: mkDerivation { pname = "yesod-auth-hashdb"; - version = "1.7.1"; - sha256 = "1rfz2xanm6d70fx8ywh8j8py8003akzgi10s9n7syqm8kaj2fvqd"; + version = "1.7.1.1"; + sha256 = "0a1mz7nfrrgw0dalfbj72kd76nbgr9in63zrpijl4nd1p1j99br5"; libraryHaskellDepends = [ aeson base bytestring persistent text yesod-auth yesod-core yesod-form yesod-persistent @@ -236792,6 +254821,7 @@ self: { description = "An account authentication plugin for yesod with encrypted token transfer"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-kerberos" = callPackage @@ -236810,6 +254840,7 @@ self: { description = "Kerberos Authentication for Yesod"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-ldap" = callPackage @@ -236827,6 +254858,7 @@ self: { description = "LDAP Authentication for Yesod"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-ldap-mediocre" = callPackage @@ -236843,6 +254875,7 @@ self: { description = "Very simlple LDAP auth for yesod"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-ldap-native" = callPackage @@ -236861,6 +254894,7 @@ self: { description = "Yesod LDAP authentication plugin"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-nopassword" = callPackage @@ -236878,6 +254912,7 @@ self: { description = "A plugin for Yesod to provide email-only authentication"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-oauth" = callPackage @@ -236903,8 +254938,8 @@ self: { }: mkDerivation { pname = "yesod-auth-oauth2"; - version = "0.6.1.0"; - sha256 = "148w2cn6f0mn6qyymxr2zlw8jnhyjqhzhszhy1faca8ziqsi9mas"; + version = "0.6.1.1"; + sha256 = "19y5m94njn26vglnyrpzy59614dj7f7wbgnc354syr8qmdiliczp"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -236915,7 +254950,6 @@ self: { testHaskellDepends = [ base hspec uri-bytestring ]; description = "OAuth 2.0 authentication plugins"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "yesod-auth-pam" = callPackage @@ -236932,6 +254966,7 @@ self: { description = "Provides PAM authentication module"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-smbclient" = callPackage @@ -236949,6 +254984,7 @@ self: { description = "Authentication plugin for Yesod using smbclient"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-auth-zendesk" = callPackage @@ -236968,6 +255004,7 @@ self: { description = "Zendesk remote authentication support for Yesod apps"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-bin" = callPackage @@ -237018,6 +255055,7 @@ self: { description = "Bootstrap widgets for yesod"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-colonnade" = callPackage @@ -237028,13 +255066,14 @@ self: { pname = "yesod-colonnade"; version = "1.3.0.1"; sha256 = "1x5m3xv4jq2x49fnvxw3v8bvbsx4hdccykcn32fz3cwavp4p1q1p"; + revision = "1"; + editedCabalFile = "0cgxpqqpaqy3009k5l8v7f1z4jm4162k69y9q5xb3dk1925nfqyp"; libraryHaskellDepends = [ base blaze-html blaze-markup colonnade conduit conduit-extra text yesod-core yesod-elements ]; description = "Helper functions for using yesod with colonnade"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "yesod-comments" = callPackage @@ -237054,6 +255093,7 @@ self: { description = "A generic comments interface for a Yesod application"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-content-pdf" = callPackage @@ -237064,8 +255104,8 @@ self: { }: mkDerivation { pname = "yesod-content-pdf"; - version = "0.2.0.4"; - sha256 = "1n51prhxbbjrkvnvf2v4nk6vs8zxvwrnb1826r2vkhq0j1pyyi2k"; + version = "0.2.0.5"; + sha256 = "0cfg4jvqq5ix9csla7fzawiiivhcvwh2lqmydz5rii95rfys6kww"; libraryHaskellDepends = [ base blaze-builder blaze-html bytestring conduit data-default directory network-uri process temporary transformers yesod-core @@ -237076,6 +255116,7 @@ self: { description = "PDF Content Type for Yesod"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-continuations" = callPackage @@ -237095,6 +255136,7 @@ self: { description = "Continuations for Yesod"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-core_1_4_37_3" = callPackage @@ -237144,26 +255186,27 @@ self: { "yesod-core" = callPackage ({ mkDerivation, aeson, async, auto-update, base, blaze-html - , blaze-markup, byteable, bytestring, case-insensitive, cereal - , clientsession, conduit, conduit-extra, containers, cookie - , deepseq, fast-logger, gauge, hspec, hspec-expectations - , http-types, HUnit, monad-logger, mtl, network, parsec - , path-pieces, primitive, random, resourcet, rio, shakespeare - , streaming-commons, template-haskell, text, time, transformers - , unix-compat, unliftio, unordered-containers, vector, wai - , wai-extra, wai-logger, warp, word8 + , blaze-markup, bytestring, case-insensitive, cereal, clientsession + , conduit, conduit-extra, containers, cookie, deepseq, fast-logger + , gauge, hspec, hspec-expectations, http-types, HUnit, memory + , monad-logger, mtl, network, parsec, path-pieces, primitive + , random, resourcet, rio, shakespeare, streaming-commons + , template-haskell, text, time, transformers, unix-compat, unliftio + , unordered-containers, vector, wai, wai-extra, wai-logger, warp + , word8 }: mkDerivation { pname = "yesod-core"; - version = "1.6.11"; - sha256 = "1cpl8g2sdvv751vvs68169w9nki43h6rmj2i2wqkfzijwgd8djwr"; + version = "1.6.15"; + sha256 = "0rzmx9cx2lzlmhjrbczdpzv6divwr0n6h3330rsdh15kn8wjkfr8"; libraryHaskellDepends = [ - aeson auto-update base blaze-html blaze-markup byteable bytestring + aeson auto-update base blaze-html blaze-markup bytestring case-insensitive cereal clientsession conduit conduit-extra - containers cookie deepseq fast-logger http-types monad-logger mtl - parsec path-pieces primitive random resourcet rio shakespeare - template-haskell text time transformers unix-compat unliftio - unordered-containers vector wai wai-extra wai-logger warp word8 + containers cookie deepseq fast-logger http-types memory + monad-logger mtl parsec path-pieces primitive random resourcet rio + shakespeare template-haskell text time transformers unix-compat + unliftio unordered-containers vector wai wai-extra wai-logger warp + word8 ]; testHaskellDepends = [ async base bytestring clientsession conduit conduit-extra @@ -237178,43 +255221,6 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "yesod-core_1_6_12" = callPackage - ({ mkDerivation, aeson, async, auto-update, base, blaze-html - , blaze-markup, byteable, bytestring, case-insensitive, cereal - , clientsession, conduit, conduit-extra, containers, cookie - , deepseq, fast-logger, gauge, hspec, hspec-expectations - , http-types, HUnit, monad-logger, mtl, network, parsec - , path-pieces, primitive, random, resourcet, rio, shakespeare - , streaming-commons, template-haskell, text, time, transformers - , unix-compat, unliftio, unordered-containers, vector, wai - , wai-extra, wai-logger, warp, word8 - }: - mkDerivation { - pname = "yesod-core"; - version = "1.6.12"; - sha256 = "1zyvjbphzkhch4wv8lj019dd3jnyicdj514fhy1ggwqkff3kyblj"; - libraryHaskellDepends = [ - aeson auto-update base blaze-html blaze-markup byteable bytestring - case-insensitive cereal clientsession conduit conduit-extra - containers cookie deepseq fast-logger http-types monad-logger mtl - parsec path-pieces primitive random resourcet rio shakespeare - template-haskell text time transformers unix-compat unliftio - unordered-containers vector wai wai-extra wai-logger warp word8 - ]; - testHaskellDepends = [ - async base bytestring clientsession conduit conduit-extra - containers cookie hspec hspec-expectations http-types HUnit network - path-pieces random resourcet shakespeare streaming-commons - template-haskell text transformers unliftio wai wai-extra warp - ]; - benchmarkHaskellDepends = [ - base blaze-html bytestring gauge shakespeare text - ]; - description = "Creation of type-safe, RESTful web applications"; - license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; - }) {}; - "yesod-crud" = callPackage ({ mkDerivation, base, classy-prelude, containers, MissingH , monad-control, persistent, random, safe, stm, uuid, yesod-core @@ -237231,6 +255237,7 @@ self: { description = "Generic administrative CRUD operations as a Yesod subsite"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-crud-persist" = callPackage @@ -237250,6 +255257,7 @@ self: { description = "Flexible CRUD subsite usable with Yesod and Persistent"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-csp" = callPackage @@ -237259,8 +255267,8 @@ self: { }: mkDerivation { pname = "yesod-csp"; - version = "0.2.4.0"; - sha256 = "19cjmjg2byyswdcxa9llqarclzi6jslbd0yxxkn8l3kdgn2k2pg0"; + version = "0.2.5.0"; + sha256 = "16b569jwxw7rim9fmjkl3slddclcp1x75jf8czjj89d1wp202x15"; libraryHaskellDepends = [ attoparsec base case-insensitive mono-traversable network-uri semigroups syb template-haskell text wai yesod yesod-core @@ -237298,6 +255306,7 @@ self: { description = "Yesod plugin for DataTables (jQuery grid plugin)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-default" = callPackage @@ -237336,6 +255345,7 @@ self: { description = "DSL for generating Yesod subsite to manage an RDBMS;"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-elements" = callPackage @@ -237344,8 +255354,8 @@ self: { }: mkDerivation { pname = "yesod-elements"; - version = "1.1"; - sha256 = "0rxx3lxl55q0mxdzfixwy2d0cnzmfxx2zg24k6kdgghg0k77g3d3"; + version = "1.1.1"; + sha256 = "0i2qx53jl1hspfs2dv7n28hnwskqs1hy5h7q0kpazn70691k1b9b"; libraryHaskellDepends = [ base blaze-html blaze-markup bytestring text yesod-core ]; @@ -237389,6 +255399,7 @@ self: { description = "Example programs using the Yesod Web Framework. (deprecated)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) sqlite;}; "yesod-fast-devel" = callPackage @@ -237411,6 +255422,7 @@ self: { description = "Fast live-reloading for yesod applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-fay" = callPackage @@ -237421,8 +255433,8 @@ self: { }: mkDerivation { pname = "yesod-fay"; - version = "0.9.0"; - sha256 = "186mxq6b5hl0ylsx9lajisywkc9klvbfbhq39pq497wk519ppc8s"; + version = "0.10.0"; + sha256 = "1qpcfiscwhb5rcdm335v6qi17rjxc0zc0qpv26lmyikdslj4jr9s"; libraryHaskellDepends = [ aeson base bytestring data-default directory fay fay-dom filepath monad-loops process pureMD5 shakespeare template-haskell text @@ -237431,6 +255443,7 @@ self: { description = "Utilities for using the Fay Haskell-to-JS compiler with Yesod"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-fb" = callPackage @@ -237482,8 +255495,8 @@ self: { }: mkDerivation { pname = "yesod-form"; - version = "1.6.4"; - sha256 = "0iqcrbmwhgfk78qi2n1n3i39izqr7km4i8fa1zmvplqkcbyi149c"; + version = "1.6.6"; + sha256 = "16m7m7yixsnka926znjy0xn0kp30mbvjq2f46rh987kdr28dks9p"; libraryHaskellDepends = [ aeson attoparsec base blaze-builder blaze-html blaze-markup byteable bytestring containers data-default email-validate @@ -237496,12 +255509,16 @@ self: { }) {}; "yesod-form-bootstrap4" = callPackage - ({ mkDerivation, base, text, yesod-core, yesod-form }: + ({ mkDerivation, base, blaze-html, blaze-markup, shakespeare, text + , yesod-core, yesod-form + }: mkDerivation { pname = "yesod-form-bootstrap4"; - version = "2.1.0"; - sha256 = "1wf1jbhfs4f75977rnrrkahgysxqrcas4qi1ay1ggq29hp1z4hic"; - libraryHaskellDepends = [ base text yesod-core yesod-form ]; + version = "2.1.2"; + sha256 = "1rx18ik8y55697g9mjdfpgclkny4i9d996fm874ckdmq1qwzn84k"; + libraryHaskellDepends = [ + base blaze-html blaze-markup shakespeare text yesod-core yesod-form + ]; description = "renderBootstrap4"; license = stdenv.lib.licenses.mit; }) {}; @@ -237545,6 +255562,22 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "yesod-form-multi" = callPackage + ({ mkDerivation, base, containers, network-uri, shakespeare, text + , transformers, yesod-core, yesod-form + }: + mkDerivation { + pname = "yesod-form-multi"; + version = "1.6.0"; + sha256 = "162pyvyv5kv5bicl8ikvffnsyjqc8z0n758ycgnvwly0bvskrl37"; + libraryHaskellDepends = [ + base containers network-uri shakespeare text transformers + yesod-core yesod-form + ]; + description = "Multi-input form handling for Yesod Web Framework"; + license = stdenv.lib.licenses.mit; + }) {}; + "yesod-form-richtext" = callPackage ({ mkDerivation, base, blaze-builder, blaze-html, shakespeare, text , xss-sanitize, yesod-core, yesod-form @@ -237560,6 +255593,7 @@ self: { description = "Various rich-text WYSIWYG editors for Yesod forms"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-gitrepo" = callPackage @@ -237579,19 +255613,20 @@ self: { }) {}; "yesod-gitrev" = callPackage - ({ mkDerivation, aeson, base, gitrev, template-haskell, yesod-core + ({ mkDerivation, aeson, base, githash, template-haskell, yesod-core }: mkDerivation { pname = "yesod-gitrev"; - version = "0.2.0.0"; - sha256 = "0lp0zraj6015bl8pcgi9b9w4d1yf0lb4awy25jv5xrcrc173g7yz"; - revision = "1"; - editedCabalFile = "1b0df34lz569gnwbbz0p20dml6bi2nbva9wfdsxyvva0dhvxjaz5"; + version = "0.2.1"; + sha256 = "0wd6xvq9aa11n8y4hna0a5ivqfxnbg8w2bq5lramm895xs7c8d7w"; libraryHaskellDepends = [ - aeson base gitrev template-haskell yesod-core + aeson base githash template-haskell yesod-core ]; + testHaskellDepends = [ base yesod-core ]; description = "A subsite for displaying git information"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-goodies" = callPackage @@ -237609,6 +255644,7 @@ self: { description = "A collection of various small helpers useful in any yesod application"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-ip" = callPackage @@ -237617,10 +255653,8 @@ self: { }: mkDerivation { pname = "yesod-ip"; - version = "0.5.0"; - sha256 = "0ad03220gh8l91vr8yrb8jffsrbgcf3c5dnfv81qrd4lqs05955n"; - revision = "1"; - editedCabalFile = "10qagnsbld7nw8rd3vqfsad4xkkzj3ijpfg4k01dqsb9y1gxqz15"; + version = "0.5.1"; + sha256 = "1gla2w9xi88y9d149n2r18xj5y1bmaykf258nl7x4hrkl0zgdq62"; libraryHaskellDepends = [ base http-api-data ip path-pieces persistent text yesod-core yesod-form @@ -237628,6 +255662,7 @@ self: { description = "Code for using the ip package with yesod"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-job-queue" = callPackage @@ -237650,6 +255685,7 @@ self: { description = "Background jobs library for Yesod"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-json" = callPackage @@ -237673,6 +255709,7 @@ self: { description = "A typeclass which simplifies creating link widgets throughout your site"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-lucid" = callPackage @@ -237685,6 +255722,7 @@ self: { description = "Lucid support for Yesod"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-mangopay" = callPackage @@ -237705,6 +255743,7 @@ self: { description = "Yesod library for MangoPay API access"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-markdown" = callPackage @@ -237714,8 +255753,8 @@ self: { }: mkDerivation { pname = "yesod-markdown"; - version = "0.12.6.1"; - sha256 = "00f235w631rdw5kkrkb0xqvpw18k4faiv6sjzbbn5jzzi5asscyj"; + version = "0.12.6.2"; + sha256 = "0w9fmqk49b4c9g26dhrrmbwshrfcrnwcnsba97jyhb2m8bc4s1xj"; libraryHaskellDepends = [ base blaze-html blaze-markup bytestring directory pandoc persistent shakespeare text xss-sanitize yesod-core yesod-form @@ -237723,7 +255762,6 @@ self: { testHaskellDepends = [ base blaze-html hspec text ]; description = "Tools for using markdown in a yesod application"; license = stdenv.lib.licenses.gpl2; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "yesod-media-simple" = callPackage @@ -237740,7 +255778,6 @@ self: { ]; description = "Simple display of media types, served by yesod"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "yesod-newsfeed" = callPackage @@ -237769,6 +255806,7 @@ self: { description = "Pagination for Yesod sites"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-pagination" = callPackage @@ -237788,24 +255826,28 @@ self: { description = "Pagination in Yesod"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-paginator" = callPackage ({ mkDerivation, base, blaze-markup, doctest, hspec, path-pieces - , persistent, safe, text, transformers, uri-encode, yesod-core - , yesod-test + , persistent, QuickCheck, quickcheck-classes, safe, text + , transformers, uri-encode, yesod-core, yesod-test }: mkDerivation { pname = "yesod-paginator"; - version = "1.1.0.1"; - sha256 = "140b4cikshl5f229awnp5jcbnyln0bmzlqjfcwxzxssxwnviy93f"; + version = "1.1.0.2"; + sha256 = "0r0qprsr2nkhy2b44xixmys32hp3wwhp5x521jzpcrd1jc5x38s9"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base blaze-markup path-pieces persistent safe text transformers uri-encode yesod-core ]; - testHaskellDepends = [ base doctest hspec yesod-core yesod-test ]; + testHaskellDepends = [ + base doctest hspec QuickCheck quickcheck-classes yesod-core + yesod-test + ]; description = "A pagination approach for yesod"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -237822,6 +255864,7 @@ self: { description = "Yesod plugin to use PayPal with the paypal-rest-client library"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-persistent_1_4_3" = callPackage @@ -237853,8 +255896,8 @@ self: { }: mkDerivation { pname = "yesod-persistent"; - version = "1.6.0.1"; - sha256 = "0kxxm43d64lp4p7kmmpc9c0rany9nblf5dd1424m8wg3105cr2kl"; + version = "1.6.0.2"; + sha256 = "17adw0aaj29ia7ii3jka301442860b5wvfrms079q973gzahz5fd"; libraryHaskellDepends = [ base blaze-builder conduit persistent persistent-template resource-pool resourcet transformers yesod-core @@ -237935,6 +255978,7 @@ self: { description = "Meta package for Yesod (deprecated)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-pnotify" = callPackage @@ -237956,6 +256000,7 @@ self: { description = "Yet another getMessage/setMessage using pnotify jquery plugins"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-pure" = callPackage @@ -237968,6 +256013,7 @@ self: { description = "Yesod in pure Haskell: no Template Haskell or QuasiQuotes (deprecated)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-purescript" = callPackage @@ -237988,6 +256034,7 @@ self: { description = "PureScript integration for Yesod"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-raml" = callPackage @@ -238012,6 +256059,7 @@ self: { description = "RAML style route definitions for Yesod"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-raml-bin" = callPackage @@ -238035,6 +256083,7 @@ self: { description = "The raml helper executable"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-raml-docs" = callPackage @@ -238052,6 +256101,7 @@ self: { description = "A html documentation generator library for RAML"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-raml-mock" = callPackage @@ -238076,6 +256126,7 @@ self: { description = "A mock-handler generator library from RAML"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-recaptcha" = callPackage @@ -238095,6 +256146,7 @@ self: { description = "Dead simple support for reCAPTCHA on Yesod applications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-recaptcha2" = callPackage @@ -238133,6 +256185,7 @@ self: { description = "Efficient routing for Yesod. (deprecated)"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-routes-flow" = callPackage @@ -238150,6 +256203,7 @@ self: { description = "Generate Flow routes for Yesod"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-routes-typescript" = callPackage @@ -238167,6 +256221,7 @@ self: { description = "generate TypeScript routes for Yesod"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-rst" = callPackage @@ -238184,6 +256239,7 @@ self: { description = "Tools for using reStructuredText (RST) in a yesod application"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-s3" = callPackage @@ -238201,6 +256257,7 @@ self: { description = "Simple Helper Library for using Amazon's Simple Storage Service (S3) with Yesod"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-sass" = callPackage @@ -238218,6 +256275,7 @@ self: { description = "A simple quasiquoter to include sass code in yesod"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-session-redis" = callPackage @@ -238236,6 +256294,7 @@ self: { description = "Redis-Powered Sessions for Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-sitemap" = callPackage @@ -238345,6 +256404,25 @@ self: { description = "Yesod generators for embedding AngularJs code into yesod-static at compile time"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "yesod-static-remote" = callPackage + ({ mkDerivation, base, bytestring, directory, filepath, http-client + , http-client-tls, template-haskell, yesod-static + }: + mkDerivation { + pname = "yesod-static-remote"; + version = "0.0.0.0"; + sha256 = "03ry2712hg80w97p7k1r1gspzs3xyds28mapdl7axqzk9zpw1j75"; + libraryHaskellDepends = [ + base bytestring directory filepath http-client http-client-tls + template-haskell yesod-static + ]; + testHaskellDepends = [ base yesod-static ]; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-table" = callPackage @@ -238385,6 +256463,8 @@ self: { pname = "yesod-test"; version = "1.5.9.1"; sha256 = "05l5n28azbh6r1vsi7xvz1h19if5zrwn1b3jsr2913axfs3d9r3y"; + revision = "1"; + editedCabalFile = "1s3rfrk122ag4j0jzmym8nj6iql5jxv6ilsf0671f63824x3kgas"; libraryHaskellDepends = [ attoparsec base blaze-builder blaze-html blaze-markup bytestring case-insensitive containers cookie hspec-core html-conduit @@ -238409,8 +256489,8 @@ self: { }: mkDerivation { pname = "yesod-test"; - version = "1.6.6"; - sha256 = "1h82njqkbr6h6saixkzim83srx794s6x6qrcmr0w82z5mfl2nfjf"; + version = "1.6.6.2"; + sha256 = "1c5q11f2wscapl6a16v1r5livjiy8i2iz5zvlcsx89ikrqgvfc58"; libraryHaskellDepends = [ attoparsec base blaze-builder blaze-html bytestring case-insensitive conduit containers cookie hspec-core html-conduit @@ -238441,6 +256521,7 @@ self: { description = "Utility functions for testing JSON web services written in Yesod"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-text-markdown" = callPackage @@ -238474,6 +256555,7 @@ self: { description = "Provides main functions using warp-tls for yesod projects"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-transloadit" = callPackage @@ -238519,6 +256601,7 @@ self: { description = "Simple CRUD classes for easy view creation for Yesod"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yesod-websockets" = callPackage @@ -238527,8 +256610,8 @@ self: { }: mkDerivation { pname = "yesod-websockets"; - version = "0.3.0.1"; - sha256 = "1k41qglb5fdzykyfpml4w74cg2m95ggm2jrnqy7bkj2l0fm4gjc6"; + version = "0.3.0.2"; + sha256 = "1k206l84g25xml8yg4q7i62x5aydxq2hni2fk2cc36dlvl0rgih1"; libraryHaskellDepends = [ base conduit mtl transformers unliftio wai-websockets websockets yesod-core @@ -238567,6 +256650,7 @@ self: { description = "Initial project template from stack"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yet-another-logger" = callPackage @@ -238598,6 +256682,8 @@ self: { ]; description = "Yet Another Logger"; license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yggdrasil" = callPackage @@ -238615,6 +256701,7 @@ self: { description = "Executable specifications of composable cryptographic protocols"; license = stdenv.lib.licenses.agpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yhccore" = callPackage @@ -238627,6 +256714,7 @@ self: { description = "Yhc's Internal Core language"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi" = callPackage @@ -238650,6 +256738,7 @@ self: { description = "Yi editor"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-contrib" = callPackage @@ -238669,6 +256758,7 @@ self: { description = "Add-ons to Yi, the Haskell-Scriptable Editor"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-core" = callPackage @@ -238700,6 +256790,7 @@ self: { description = "Yi editor core library"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-dynamic-configuration" = callPackage @@ -238717,6 +256808,7 @@ self: { description = "Dynamic configuration support for Yi"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-emacs-colours" = callPackage @@ -238728,6 +256820,8 @@ self: { libraryHaskellDepends = [ base containers split yi-language ]; description = "Simple mapping from colour names used in emacs to Color"; license = stdenv.lib.licenses.gpl2; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-frontend-pango" = callPackage @@ -238748,6 +256842,7 @@ self: { description = "Pango frontend for Yi editor"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-frontend-vty" = callPackage @@ -238766,6 +256861,7 @@ self: { description = "Vty frontend for Yi editor"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-fuzzy-open" = callPackage @@ -238785,6 +256881,7 @@ self: { description = "Fuzzy open plugin for yi"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-gtk" = callPackage @@ -238813,6 +256910,7 @@ self: { description = "Yi editor incremental reader"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-keymap-cua" = callPackage @@ -238829,6 +256927,7 @@ self: { description = "Cua keymap for Yi editor"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-keymap-emacs" = callPackage @@ -238847,6 +256946,7 @@ self: { description = "Emacs keymap for Yi editor"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-keymap-vim" = callPackage @@ -238874,6 +256974,7 @@ self: { description = "Vim keymap for Yi editor"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-language" = callPackage @@ -238901,6 +257002,8 @@ self: { ]; description = "Collection of language-related Yi libraries"; license = stdenv.lib.licenses.gpl2; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-misc-modes" = callPackage @@ -238919,6 +257022,7 @@ self: { description = "Yi editor miscellaneous modes"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-mode-haskell" = callPackage @@ -238937,6 +257041,7 @@ self: { description = "Yi editor haskell mode"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-mode-javascript" = callPackage @@ -238956,6 +257061,7 @@ self: { description = "Yi editor javascript mode"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-monokai" = callPackage @@ -238968,6 +257074,7 @@ self: { description = "Monokai colour theme for the Yi text editor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-rope" = callPackage @@ -239008,6 +257115,7 @@ self: { description = "Snippet support for yi"; license = stdenv.lib.licenses.gpl2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-solarized" = callPackage @@ -239020,6 +257128,7 @@ self: { description = "Solarized colour theme for the Yi text editor"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-spolsky" = callPackage @@ -239032,6 +257141,7 @@ self: { description = "Spolsky colour theme for the Yi text editor"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yi-vty" = callPackage @@ -239056,6 +257166,7 @@ self: { description = "Haskell programming interface to Yices SMT solver"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yices-easy" = callPackage @@ -239089,6 +257200,28 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) gmp; inherit (pkgs) yices;}; + "yiyd" = callPackage + ({ mkDerivation, base, bytestring, containers, hspec + , hspec-discover, mtl, optparse-applicative, random, yaml + }: + mkDerivation { + pname = "yiyd"; + version = "1.0.1"; + sha256 = "15rf8mgd938pdqn88cyc77wr8gs1siqz78g7f657wcq49sksypl0"; + isLibrary = false; + isExecutable = true; + enableSeparateDataOutput = true; + executableHaskellDepends = [ + base bytestring containers mtl optparse-applicative random yaml + ]; + testHaskellDepends = [ + base bytestring containers hspec mtl optparse-applicative random + yaml + ]; + testToolDepends = [ hspec-discover ]; + license = stdenv.lib.licenses.gpl3; + }) {}; + "yjftp" = callPackage ({ mkDerivation, base, directory, ftphs, haskeline, hsConfigure , mtl, process, unix @@ -239107,6 +257240,7 @@ self: { description = "CUI FTP client like 'ftp', 'ncftp'"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yjftp-libs" = callPackage @@ -239121,6 +257255,7 @@ self: { description = "CUI FTP client like 'ftp', 'ncftp'"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yjsvg" = callPackage @@ -239184,6 +257319,7 @@ self: { description = "Parser combinators for young padawans"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yoga" = callPackage @@ -239217,6 +257353,7 @@ self: { description = "Generic Programming with Disbanded Data Types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "york-lava" = callPackage @@ -239229,6 +257366,7 @@ self: { description = "A library for digital circuit description"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "youtube" = callPackage @@ -239270,6 +257408,7 @@ self: { description = "A YQL engine to execute Open Data Tables"; license = stdenv.lib.licenses.bsd2; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yst" = callPackage @@ -239280,8 +257419,8 @@ self: { }: mkDerivation { pname = "yst"; - version = "0.7"; - sha256 = "1dvny64v5v3qrahymn647jsjjdraa0mrkpvmqiwihh8n9xbnq1s7"; + version = "0.7.0.1"; + sha256 = "1cmdx2bghp508qm26xydnljswgldvvv5rapmzcivmnn8pzp9g9kl"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -239293,6 +257432,7 @@ self: { description = "Builds a static website from templates and data in YAML or CSV files"; license = "GPL"; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yu-auth" = callPackage @@ -239320,6 +257460,7 @@ self: { description = "The core of Yu"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yu-launch" = callPackage @@ -239336,6 +257477,7 @@ self: { description = "The launcher for Yu"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yu-tool" = callPackage @@ -239354,6 +257496,7 @@ self: { description = "Tool for Yu"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yu-utils" = callPackage @@ -239413,6 +257556,7 @@ self: { description = "A transcendental HTML parser gently wrapping the HXT library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yx" = callPackage @@ -239421,11 +257565,14 @@ self: { pname = "yx"; version = "0.0.2.0"; sha256 = "05xh7x02ddh87kwslgckzh3g5i22r01vfrb160gns3zl6fv8sj2z"; + revision = "1"; + editedCabalFile = "19px5wf8ca7awam013ij62z04rsplgn7ks56j8jzhznarsg45ksq"; libraryHaskellDepends = [ array base bytestring ]; testHaskellDepends = [ array base bytestring hspec ]; description = "Row-major coordinates"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "yxdb-utils" = callPackage @@ -239465,22 +257612,26 @@ self: { description = "Utilities for reading and writing Alteryx .yxdb files"; license = stdenv.lib.licenses.gpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "z3" = callPackage - ({ mkDerivation, base, containers, gomp, hspec, mtl, QuickCheck, z3 + ({ mkDerivation, base, containers, gomp, hspec, QuickCheck + , transformers, z3 }: mkDerivation { pname = "z3"; - version = "4.3.1"; - sha256 = "0fsddp5267bpmccg2hhra4z8isqmrdgcp0i0amrxsacgyqa4iqbv"; + version = "408.0"; + sha256 = "13qkzy9wc17rm60i24fa9sx15ywbxq4a80g33w20887gvqyc0q53"; isLibrary = true; isExecutable = true; - libraryHaskellDepends = [ base containers mtl ]; + libraryHaskellDepends = [ base containers transformers ]; librarySystemDepends = [ gomp z3 ]; testHaskellDepends = [ base hspec QuickCheck ]; description = "Bindings for the Z3 Theorem Prover"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {gomp = null; inherit (pkgs) z3;}; "z3-encoding" = callPackage @@ -239494,6 +257645,7 @@ self: { description = "High-level assertion encoding to Z3 solver"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "z85" = callPackage @@ -239518,6 +257670,7 @@ self: { description = "Implementation of the z85 binary codec"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zabt" = callPackage @@ -239531,6 +257684,7 @@ self: { description = "Simple-minded abstract binding trees"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zalgo" = callPackage @@ -239561,6 +257715,7 @@ self: { description = "A tool for checking how much work is done on group projects"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zasni-gerna" = callPackage @@ -239573,6 +257728,7 @@ self: { description = "lojban parser (zasni gerna)"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zcache" = callPackage @@ -239619,6 +257775,20 @@ self: { description = "Zendesk API for Haskell programming language"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {}; + + "zenhack-prelude" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "zenhack-prelude"; + version = "0.1.1.0"; + sha256 = "07njs4zb976zxyiwg03ijvn1wvmx188ys49gckwybg1kl824x11f"; + libraryHaskellDepends = [ base ]; + description = "@zenhack's personal custom prelude"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zeno" = callPackage @@ -239639,6 +257809,7 @@ self: { description = "An automated proof system for Haskell programs"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zephyr" = callPackage @@ -239676,14 +257847,15 @@ self: { description = "Zephyr tree shaking for PureScript Language"; license = stdenv.lib.licenses.mpl20; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zero" = callPackage ({ mkDerivation, base, semigroups }: mkDerivation { pname = "zero"; - version = "0.1.4"; - sha256 = "1mfmc7na5q2lrlz168hwzdjpmaqdqqpdlsfyk44v9f3kjqnwdk9q"; + version = "0.1.5"; + sha256 = "1yb00wcgcyckzlf8kdxsdxpqra0r1sakwdph7pv9naa6q8zhhllw"; libraryHaskellDepends = [ base semigroups ]; description = "Semigroups with absorption"; license = stdenv.lib.licenses.bsd3; @@ -239727,6 +257899,7 @@ self: { description = "Bindings to ZeroMQ 2.1.x"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) zeromq;}; "zeromq3-conduit" = callPackage @@ -239744,6 +257917,7 @@ self: { description = "Conduit bindings for zeromq3-haskell"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zeromq3-haskell" = callPackage @@ -239767,6 +257941,7 @@ self: { description = "Bindings to ZeroMQ 3.x"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {inherit (pkgs) zeromq;}; "zeromq4-clone-pattern" = callPackage @@ -239794,6 +257969,7 @@ self: { description = "Haskell implementation of the ZeroMQ clone pattern"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zeromq4-conduit" = callPackage @@ -239813,6 +257989,7 @@ self: { description = "Conduit wrapper around zeromq4-haskell"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zeromq4-haskell" = callPackage @@ -239822,8 +257999,8 @@ self: { }: mkDerivation { pname = "zeromq4-haskell"; - version = "0.7.0"; - sha256 = "17q756mldxx9b8a2nx9lvjrgvbmgjbnp896sqcgnijq7wr751m2q"; + version = "0.8.0"; + sha256 = "0sznvz842ycbd73y8q09s6hs4i3yj1b5qm00n06f69p1i5jrkgnk"; libraryHaskellDepends = [ async base bytestring containers exceptions monad-control semigroups transformers transformers-base @@ -239834,7 +258011,6 @@ self: { ]; description = "Bindings to ZeroMQ 4.x"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) zeromq;}; "zeromq4-patterns" = callPackage @@ -239859,6 +258035,7 @@ self: { description = "Haskell implementation of several ZeroMQ patterns"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zeromq4-simple" = callPackage @@ -239867,14 +258044,13 @@ self: { }: mkDerivation { pname = "zeromq4-simple"; - version = "0.0.0"; - sha256 = "04i8ksdyf19yywjb0gfkbc0mx90vzvrld5ba7lbnlxvx6iwmah66"; + version = "0.0.0.1"; + sha256 = "0h16chz3x0ipdbw935fvfhpdljbknczk1ivf87519dkrl3c1ypjv"; libraryHaskellDepends = [ aeson base bytestring constraints hashable uuid zeromq4-haskell ]; description = "More constrained extensions to zeromq4-haskell"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "zeroth" = callPackage @@ -239899,6 +258075,7 @@ self: { description = "ZeroTH - remove unnecessary TH dependencies"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zifter" = callPackage @@ -239923,6 +258100,7 @@ self: { description = "zifter"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zifter-cabal" = callPackage @@ -239939,6 +258117,7 @@ self: { description = "zifter-cabal"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zifter-git" = callPackage @@ -239951,6 +258130,7 @@ self: { description = "zifter-git"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zifter-google-java-format" = callPackage @@ -239967,6 +258147,7 @@ self: { description = "zifter-google-java-format"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zifter-hindent" = callPackage @@ -239983,6 +258164,7 @@ self: { description = "zifter-hindent"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zifter-hlint" = callPackage @@ -239998,6 +258180,7 @@ self: { description = "zifter-hlint"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zifter-stack" = callPackage @@ -240018,6 +258201,7 @@ self: { description = "zifter-stack"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zigbee-znet25" = callPackage @@ -240035,6 +258219,7 @@ self: { description = "XBee ZNet 2.5 (ZigBee) wireless modem communications"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zim-parser" = callPackage @@ -240094,10 +258279,10 @@ self: { }: mkDerivation { pname = "zip-archive"; - version = "0.4"; - sha256 = "06fs9959w807iy4xmngpnv1rps5sr1kqr2pd7b3iw6xfjlfskgjz"; + version = "0.4.1"; + sha256 = "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"; revision = "1"; - editedCabalFile = "1y4i0xblglhkj6nv2p0r2xgw8gqrhnsamkh7d389z68sf9zpgl6c"; + editedCabalFile = "1mv6jns7zf0fi7lrhzk007g12v6x7yf5ycbj67rbh83xfkf4nxsi"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -240141,6 +258326,7 @@ self: { description = "Working with zip archives via conduits"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zip-stream" = callPackage @@ -240178,6 +258364,7 @@ self: { description = "Create simple list editor interfaces"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zipkin" = callPackage @@ -240194,6 +258381,7 @@ self: { description = "Zipkin-style request tracing monad"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zipper" = callPackage @@ -240209,17 +258397,15 @@ self: { "zippers" = callPackage ({ mkDerivation, base, Cabal, cabal-doctest, criterion, doctest - , lens, profunctors, semigroupoids, semigroups + , fail, lens, profunctors, semigroupoids, semigroups }: mkDerivation { pname = "zippers"; - version = "0.2.5"; - sha256 = "11f0jx0dbm2y9y5hnpakdvk9fmsm3awr2lcxp46dyma6arr7f4id"; - revision = "3"; - editedCabalFile = "0y0klc2jaj611cjvmqi95dyj9yvribf9xhibn1andrz5rs6ysz3p"; + version = "0.3"; + sha256 = "0hrsgk8sh9g3438kl79131s6vjydhivgya04yxv3h70m7pky1dpm"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ - base lens profunctors semigroupoids semigroups + base fail lens profunctors semigroupoids semigroups ]; testHaskellDepends = [ base doctest ]; benchmarkHaskellDepends = [ base criterion lens ]; @@ -240258,6 +258444,7 @@ self: { description = "A type-safe client for the Ziptastic API for doing forward and reverse geocoding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ziptastic-core" = callPackage @@ -240278,6 +258465,7 @@ self: { description = "Core Servant specification for the Ziptastic API for doing forward and reverse geocoding"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zlib" = callPackage @@ -240297,6 +258485,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {inherit (pkgs) zlib;}; + "zlib_0_6_2_1" = callPackage + ({ mkDerivation, base, bytestring, QuickCheck, tasty, tasty-hunit + , tasty-quickcheck, zlib + }: + mkDerivation { + pname = "zlib"; + version = "0.6.2.1"; + sha256 = "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"; + libraryHaskellDepends = [ base bytestring ]; + librarySystemDepends = [ zlib ]; + testHaskellDepends = [ + base bytestring QuickCheck tasty tasty-hunit tasty-quickcheck + ]; + description = "Compression and decompression in the gzip and zlib formats"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs) zlib;}; + "zlib-bindings" = callPackage ({ mkDerivation, base, bytestring, hspec, QuickCheck, zlib }: mkDerivation { @@ -240339,6 +258545,7 @@ self: { description = "Enumerator interface for zlib compression"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zlib-lens" = callPackage @@ -240373,6 +258580,7 @@ self: { description = "Language independent, reproducible, absolute types"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zmcat" = callPackage @@ -240388,6 +258596,7 @@ self: { description = "Command-line tool for ZeroMQ"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zmidi-core" = callPackage @@ -240417,6 +258626,7 @@ self: { description = "Representing MIDI a simple score"; license = stdenv.lib.licenses.lgpl3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zmqat" = callPackage @@ -240447,6 +258657,7 @@ self: { description = "ZoneInfo library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zoom" = callPackage @@ -240466,6 +258677,7 @@ self: { description = "A rake/thor-like task runner written in Haskell"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zoom-cache" = callPackage @@ -240498,6 +258710,7 @@ self: { description = "A streamable, seekable, zoomable cache file format"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zoom-cache-pcm" = callPackage @@ -240515,6 +258728,7 @@ self: { description = "Library for zoom-cache PCM audio codecs"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zoom-cache-sndfile" = callPackage @@ -240535,6 +258749,7 @@ self: { description = "Tools for generating zoom-cache-pcm files"; license = stdenv.lib.licenses.lgpl21; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zoom-refs" = callPackage @@ -240547,6 +258762,7 @@ self: { description = "Zoom (~ Functor) and pairing (~ Applicative) for mutable references"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zot" = callPackage @@ -240592,6 +258808,7 @@ self: { description = "ZRE protocol implementation"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zsh-battery" = callPackage @@ -240606,6 +258823,7 @@ self: { description = "Ascii bars representing battery status"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zstd" = callPackage @@ -240614,8 +258832,8 @@ self: { }: mkDerivation { pname = "zstd"; - version = "0.1.0.0"; - sha256 = "1zsb8wgmd23gdzk26wf0i0q4n23qd5lagq6min7wz1yrk43q8x88"; + version = "0.1.1.2"; + sha256 = "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"; libraryHaskellDepends = [ base bytestring deepseq ghc-prim ]; testHaskellDepends = [ base bytestring QuickCheck test-framework @@ -240626,7 +258844,6 @@ self: { ]; description = "Haskell bindings to the Zstandard compression algorithm"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "zsyntax" = callPackage @@ -240642,6 +258859,7 @@ self: { description = "Automated theorem prover for the Zsyntax biochemical calculus"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "ztail" = callPackage @@ -240683,7 +258901,6 @@ self: { ]; description = "Creating and extracting arbitrary archives"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "zuramaru" = callPackage @@ -240723,6 +258940,7 @@ self: { description = "A lisp processor, An inline-lisp, in Haskell"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; + broken = true; }) {}; "zxcvbn-c" = callPackage @@ -240734,7 +258952,6 @@ self: { libraryHaskellDepends = [ base ]; description = "Password strength estimation"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; } diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix index 9f18db1e6e9..aebab7b6f04 100644 --- a/pkgs/development/haskell-modules/lib.nix +++ b/pkgs/development/haskell-modules/lib.nix @@ -161,7 +161,9 @@ rec { disableCabalFlag = drv: x: appendConfigureFlag (removeConfigureFlag drv "-f${x}") "-f-${x}"; markBroken = drv: overrideCabal drv (drv: { broken = true; hydraPlatforms = []; }); + unmarkBroken = drv: overrideCabal drv (drv: { broken = false; }); markBrokenVersion = version: drv: assert drv.version == version; markBroken drv; + markUnbroken = drv: overrideCabal drv (drv: { broken = false; }); enableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = true; }); disableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = false; }); @@ -181,6 +183,8 @@ rec { enableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = true; }); disableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = false; }); + enableSeparateBinOutput = drv: overrideCabal drv (drv: { enableSeparateBinOutput = true; }); + appendPatch = drv: x: appendPatches drv [x]; appendPatches = drv: xs: overrideCabal drv (drv: { patches = (drv.patches or []) ++ xs; }); diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index b4cd7fee311..a4c04067348 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -118,9 +118,10 @@ let inherit packages; }; + # Use cabal2nix to create a default.nix for the package sources found at 'src'. haskellSrc2nix = { name, src, sha256 ? null, extraCabal2nixOptions ? "" }: let - sha256Arg = if isNull sha256 then "--sha256=" else ''--sha256="${sha256}"''; + sha256Arg = if sha256 == null then "--sha256=" else ''--sha256="${sha256}"''; in pkgs.buildPackages.stdenv.mkDerivation { name = "cabal2nix-${name}"; nativeBuildInputs = [ pkgs.buildPackages.cabal2nix ]; @@ -174,16 +175,22 @@ in package-set { inherit pkgs stdenv callPackage; } self // { inherit (haskellLib) packageSourceOverrides; + # callHackage :: Text -> Text -> AttrSet -> HaskellPackage + # + # e.g., while overriding a package set: + # '... foo = self.callHackage "foo" "1.5.3" {}; ...' callHackage = name: version: callPackageKeepDeriver (self.hackage2nix name version); + # callHackageDirect :: Text -> Text -> AttrSet -> HaskellPackage + # # This function does not depend on all-cabal-hashes and therefore will work # for any version that has been released on hackage as opposed to only # versions released before whatever version of all-cabal-hashes you happen # to be currently using. - callHackageDirect = {pkg, ver, sha256}@args: + callHackageDirect = {pkg, ver, sha256}: let pkgver = "${pkg}-${ver}"; in self.callCabal2nix pkg (pkgs.fetchzip { - url = "http://hackage.haskell.org/package/${pkgver}/${pkgver}.tar.gz"; + url = "mirror://hackage/${pkgver}/${pkgver}.tar.gz"; inherit sha256; }); diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix index b7b057f2dc2..8b667a1e669 100644 --- a/pkgs/development/haskell-modules/non-hackage-packages.nix +++ b/pkgs/development/haskell-modules/non-hackage-packages.nix @@ -12,4 +12,5 @@ self: super: { # https://github.com/channable/vaultenv/issues/1 vaultenv = self.callPackage ../tools/haskell/vaultenv { }; + } diff --git a/pkgs/development/haskell-modules/patches/atomic-primops-Cabal-1.25.patch b/pkgs/development/haskell-modules/patches/atomic-primops-Cabal-1.25.patch deleted file mode 100644 index 712bd53092f..00000000000 --- a/pkgs/development/haskell-modules/patches/atomic-primops-Cabal-1.25.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/Setup.hs b/Setup.hs -index ddf5a02..7ad1f26 100644 ---- a/Setup.hs -+++ b/Setup.hs -@@ -1,4 +1,4 @@ -- -+{-# LANGUAGE CPP #-} - import Control.Monad (when) - import Language.Haskell.TH - import Distribution.Simple (defaultMainWithHooks, simpleUserHooks, UserHooks(postConf), Args) -@@ -6,14 +6,25 @@ import Distribution.Simple.Utils (cabalVersion) - import Distribution.Simple.LocalBuildInfo - import Distribution.Simple.Setup (ConfigFlags) - import Distribution.Version (Version(..)) -+#if MIN_VERSION_Cabal(1,25,0) -+import Distribution.Version (mkVersion) -+#endif - import Distribution.PackageDescription (PackageDescription) - import Debug.Trace - -+#if MIN_VERSION_Cabal(1,25,0) -+versionBranch :: Version -> Version -+versionBranch = id -+#else -+mkVersion :: [Int] -> Version -+mkVersion vs = Version vs [] -+#endif -+ - -- I couldn't figure out a way to do this check from the cabal file, so we drop down - -- here to do it instead: - checkGoodVersion :: IO () - checkGoodVersion = -- if cabalVersion >= Version [1,17,0] [] -+ if cabalVersion >= mkVersion [1,17,0] - then putStrLn (" [Setup.hs] This version of Cabal is ok for profiling: "++show cabalVersion) - else error (" [Setup.hs] This package should not be used in profiling mode with cabal version "++ - show (versionBranch cabalVersion)++" < 1.17.0\n"++ diff --git a/pkgs/development/haskell-modules/patches/beam-core-fix-ghc-8.6.x-build.patch b/pkgs/development/haskell-modules/patches/beam-core-fix-ghc-8.6.x-build.patch deleted file mode 100644 index e5ad00ee009..00000000000 --- a/pkgs/development/haskell-modules/patches/beam-core-fix-ghc-8.6.x-build.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/beam-core/Database/Beam/Backend/SQL.hs b/beam-core/Database/Beam/Backend/SQL.hs -index e2cd37d0..6f9db126 100644 ---- a/Database/Beam/Backend/SQL.hs -+++ b/Database/Beam/Backend/SQL.hs -@@ -10,6 +10,7 @@ - import Database.Beam.Backend.Types - - import Control.Monad.IO.Class -+import Control.Monad.Fail (MonadFail) - - -- * MonadBeam class - -@@ -29,7 +30,7 @@ - -- strategies. More complicated strategies (for example, Postgres's @COPY@) - -- are supported in individual backends. See the documentation of those - -- backends for more details. --class (BeamBackend be, Monad m, MonadIO m, Sql92SanityCheck syntax) => -+class (BeamBackend be, Monad m, MonadIO m, MonadFail m, Sql92SanityCheck syntax) => - MonadBeam syntax be handle m | m -> syntax be handle where - - {-# MINIMAL withDatabaseDebug, runReturningMany #-} -diff --git a/Database/Beam/Backend/SQL/Builder.hs b/Database/Beam/Backend/SQL/Builder.hs -index 9e734036..e9849912 100644 ---- a/Database/Beam/Backend/SQL/Builder.hs -+++ b/Database/Beam/Backend/SQL/Builder.hs -@@ -33,6 +33,7 @@ - import Data.Hashable - import Data.Int - import Data.String -+import qualified Control.Monad.Fail as Fail - #if !MIN_VERSION_base(4, 11, 0) - import Data.Semigroup - #endif -@@ -507,8 +508,10 @@ - type BackendFromField SqlSyntaxBackend = Trivial - - newtype SqlSyntaxM a = SqlSyntaxM (IO a) -- deriving (Applicative, Functor, Monad, MonadIO) -+ deriving (Applicative, Functor, Monad, MonadIO, Fail.MonadFail) - - instance MonadBeam SqlSyntaxBuilder SqlSyntaxBackend SqlSyntaxBackend SqlSyntaxM where -- withDatabaseDebug _ _ _ = fail "absurd" -- runReturningMany _ _ = fail "absurd" -+ withDatabaseDebug _ _ _ = Fail.fail "absurd" -+ runReturningMany _ _ = Fail.fail "absurd" -+ -+ -diff --git a/Database/Beam/Schema/Lenses.hs b/Database/Beam/Schema/Lenses.hs -index b21dddb6..5df0654c 100644 ---- a/Database/Beam/Schema/Lenses.hs -+++ b/Database/Beam/Schema/Lenses.hs -@@ -1,4 +1,5 @@ - {-# LANGUAGE PolyKinds #-} -+{-# LANGUAGE UndecidableInstances #-} - module Database.Beam.Schema.Lenses - ( tableLenses - , TableLens(..) -diff --git a/beam-core.cabal b/beam-core.cabal -index 4bf4ffd9..251d4d85 100644 ---- a/beam-core.cabal -+++ b/beam-core.cabal -@@ -64,8 +64,8 @@ - time >=1.6 && <1.10, - hashable >=1.1 && <1.3, - network-uri >=2.6 && <2.7, -- containers >=0.5 && <0.6, -- vector-sized >=0.5 && <1.1, -+ containers >=0.5 && <0.7, -+ vector-sized >=0.5 && <1.3, - tagged >=0.8 && <0.9 - Default-language: Haskell2010 - default-extensions: ScopedTypeVariables, OverloadedStrings, GADTs, RecursiveDo, FlexibleInstances, FlexibleContexts, TypeFamilies, diff --git a/pkgs/development/haskell-modules/patches/beam-migrate-fix-ghc-8.6.x-build.patch b/pkgs/development/haskell-modules/patches/beam-migrate-fix-ghc-8.6.x-build.patch deleted file mode 100644 index b715140be0a..00000000000 --- a/pkgs/development/haskell-modules/patches/beam-migrate-fix-ghc-8.6.x-build.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/Database/Beam/Migrate/Generics/Types.hs b/Database/Beam/Migrate/Generics/Types.hs -index 553e208b..0cf9b2c8 100644 ---- a/Database/Beam/Migrate/Generics/Types.hs -+++ b/Database/Beam/Migrate/Generics/Types.hs -@@ -1,3 +1,5 @@ -+{-# LANGUAGE UndecidableInstances #-} -+ - module Database.Beam.Migrate.Generics.Types where - - import Database.Beam.Migrate.Types -diff --git a/beam-migrate.cabal b/beam-migrate.cabal -index f53b280d..9cf3722c 100644 ---- a/beam-migrate.cabal -+++ b/beam-migrate.cabal -@@ -69,13 +69,12 @@ library - mtl >=2.2 && <2.3, - scientific >=0.3 && <0.4, - vector >=0.11 && <0.13, -- containers >=0.5 && <0.6, - unordered-containers >=0.2 && <0.3, - hashable >=1.2 && <1.3, - parallel >=3.2 && <3.3, - deepseq >=1.4 && <1.5, - ghc-prim >=0.5 && <0.6, -- containers >=0.5 && <0.6, -+ containers >=0.5 && <0.7, - haskell-src-exts >=1.18 && <1.21, - pretty >=1.1 && <1.2, - dependent-map >=0.2 && <0.3, diff --git a/pkgs/development/haskell-modules/patches/beam-postgres-fix-ghc-8.6.x-build.patch b/pkgs/development/haskell-modules/patches/beam-postgres-fix-ghc-8.6.x-build.patch deleted file mode 100644 index ede2bce1257..00000000000 --- a/pkgs/development/haskell-modules/patches/beam-postgres-fix-ghc-8.6.x-build.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/Database/Beam/Postgres/Connection.hs b/Database/Beam/Postgres/Connection.hs -index 433f55b9..5836c53d 100644 ---- a/Database/Beam/Postgres/Connection.hs -+++ b/Database/Beam/Postgres/Connection.hs -@@ -52,6 +52,8 @@ import qualified Database.PostgreSQL.Simple.Types as Pg (Null(..), Query(..)) - - import Control.Monad.Reader - import Control.Monad.State -+import Control.Monad.Fail (MonadFail) -+import qualified Control.Monad.Fail as Fail - - import Data.ByteString (ByteString) - import Data.ByteString.Builder (toLazyByteString, byteString) -@@ -302,6 +304,9 @@ deriving instance Functor PgF - newtype Pg a = Pg { runPg :: F PgF a } - deriving (Monad, Applicative, Functor, MonadFree PgF) - -+instance MonadFail Pg where -+ fail e = fail $ "Internal Error with: " <> show e -+ - instance MonadIO Pg where - liftIO x = liftF (PgLiftIO x id) - -diff --git a/beam-postgres.cabal b/beam-postgres.cabal -index e14b84f5..d29a5b67 100644 ---- a/beam-postgres.cabal -+++ b/beam-postgres.cabal -@@ -31,7 +31,7 @@ library - beam-migrate >=0.3 && <0.4, - - postgresql-libpq >=0.8 && <0.10, -- postgresql-simple >=0.5 && <0.6, -+ postgresql-simple >=0.5 && <0.7, - - text >=1.0 && <1.3, - bytestring >=0.10 && <0.11, -@@ -38,7 +38,7 @@ library - - hashable >=1.1 && <1.3, - lifted-base >=0.2 && <0.3, -- free >=4.12 && <5.1, -+ free >=4.12 && <5.2, - time >=1.6 && <1.10, - monad-control >=1.0 && <1.1, - mtl >=2.1 && <2.3, diff --git a/pkgs/development/haskell-modules/patches/beam-sqlite-fix-ghc-8.6.x-build.patch b/pkgs/development/haskell-modules/patches/beam-sqlite-fix-ghc-8.6.x-build.patch deleted file mode 100644 index ebfca8a2f65..00000000000 --- a/pkgs/development/haskell-modules/patches/beam-sqlite-fix-ghc-8.6.x-build.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/Database/Beam/Sqlite/Connection.hs b/Database/Beam/Sqlite/Connection.hs -index f034b272..4e459ea3 100644 ---- a/Database/Beam/Sqlite/Connection.hs -+++ b/Database/Beam/Sqlite/Connection.hs -@@ -37,6 +37,7 @@ import Database.SQLite.Simple.Types (Null) - - import Control.Exception (bracket_, onException, mask) - import Control.Monad (forM_, replicateM_) -+import Control.Monad.Fail (MonadFail) - import Control.Monad.Free.Church - import Control.Monad.IO.Class (MonadIO(..)) - import Control.Monad.Identity (Identity) -@@ -143,7 +144,7 @@ newtype SqliteM a - { runSqliteM :: ReaderT (String -> IO (), Connection) IO a - -- ^ Run an IO action with access to a SQLite connection and a debug logging - -- function, called or each query submitted on the connection. -- } deriving (Monad, Functor, Applicative, MonadIO) -+ } deriving (Monad, Functor, Applicative, MonadIO, MonadFail) - - newtype BeamSqliteParams = BeamSqliteParams [SQLData] - instance ToRow BeamSqliteParams where diff --git a/pkgs/development/haskell-modules/patches/graphviz-fix-ghc710.patch b/pkgs/development/haskell-modules/patches/graphviz-fix-ghc710.patch deleted file mode 100644 index e72bb793da7..00000000000 --- a/pkgs/development/haskell-modules/patches/graphviz-fix-ghc710.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -ru3 graphviz.old/Data/GraphViz/Algorithms.hs graphviz/Data/GraphViz/Algorithms.hs ---- graphviz.old/Data/GraphViz/Algorithms.hs 2015-05-18 15:21:38.379771357 +0300 -+++ graphviz/Data/GraphViz/Algorithms.hs 2015-05-18 15:01:01.940122684 +0300 -@@ -38,6 +38,7 @@ - import Data.GraphViz.Types.Canonical - import Data.GraphViz.Types.Internal.Common - -+import Prelude hiding (traverse) - import Control.Arrow (first, second, (***)) - import Control.Monad (unless) - import Control.Monad.Trans.State diff --git a/pkgs/development/haskell-modules/patches/hie-testsuite.patch b/pkgs/development/haskell-modules/patches/hie-testsuite.patch deleted file mode 100644 index 86cac15c246..00000000000 --- a/pkgs/development/haskell-modules/patches/hie-testsuite.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/test/HaRePluginSpec.hs b/test/HaRePluginSpec.hs -index 039c094..d0d1fa4 100644 ---- a/test/HaRePluginSpec.hs -+++ b/test/HaRePluginSpec.hs -@@ -326,35 +326,6 @@ hareSpec = do - $ List [TextEdit (Range (Position 4 0) (Position 8 12)) - "parseStr = char '\"' *> (many1 (noneOf \"\\\"\")) <* char '\"'"]) - Nothing) -- it "finds definition across components" $ do -- let u = filePathToUri "./app/Main.hs" -- let lreq = setTypecheckedModule u -- let req = findDef u (toPos (7,8)) -- r <- dispatchRequestPGoto $ lreq >> req -- r `shouldBe` IdeResponseOk [Location (filePathToUri $ cwd "test/testdata/gototest/src/Lib.hs") -- (Range (toPos (6,1)) (toPos (6,9)))] -- let req2 = findDef u (toPos (7,20)) -- r2 <- dispatchRequestPGoto $ lreq >> req2 -- r2 `shouldBe` IdeResponseOk [Location (filePathToUri $ cwd "test/testdata/gototest/src/Lib2.hs") -- (Range (toPos (5,1)) (toPos (5,2)))] -- it "finds definition in the same component" $ do -- let u = filePathToUri "./src/Lib2.hs" -- let lreq = setTypecheckedModule u -- let req = findDef u (toPos (6,5)) -- r <- dispatchRequestPGoto $ lreq >> req -- r `shouldBe` IdeResponseOk [Location (filePathToUri $ cwd "test/testdata/gototest/src/Lib.hs") -- (Range (toPos (6,1)) (toPos (6,9)))] -- it "finds local definitions" $ do -- let u = filePathToUri "./src/Lib2.hs" -- let lreq = setTypecheckedModule u -- let req = findDef u (toPos (7,11)) -- r <- dispatchRequestPGoto $ lreq >> req -- r `shouldBe` IdeResponseOk [Location (filePathToUri $ cwd "test/testdata/gototest/src/Lib2.hs") -- (Range (toPos (10,9)) (toPos (10,10)))] -- let req2 = findDef u (toPos (10,13)) -- r2 <- dispatchRequestPGoto $ lreq >> req2 -- r2 `shouldBe` IdeResponseOk [Location (filePathToUri $ cwd "test/testdata/gototest/src/Lib2.hs") -- (Range (toPos (9,9)) (toPos (9,10)))] - - - -- --------------------------------- diff --git a/pkgs/development/haskell-modules/patches/insert-ordered-containers-fix-test.patch b/pkgs/development/haskell-modules/patches/insert-ordered-containers-fix-test.patch deleted file mode 100644 index 1e9ac5aa66a..00000000000 --- a/pkgs/development/haskell-modules/patches/insert-ordered-containers-fix-test.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/insert-ordered-containers.cabal b/insert-ordered-containers.cabal -index 0e8923a..bfbbec4 100644 ---- a/insert-ordered-containers.cabal -+++ b/insert-ordered-containers.cabal -@@ -21,8 +21,8 @@ tested-with: - GHC==7.10.3, - GHC==8.0.1, - GHC==8.2.2, -- GHC==8.4.3, -- GHC==8.6.1 -+ GHC==8.4.4, -+ GHC==8.6.3 - - extra-source-files: - CHANGELOG.md -@@ -70,7 +70,7 @@ test-suite ins-ord-containers-tests - , unordered-containers - , base - , insert-ordered-containers -- , tasty >= 0.10.1.2 && <1.2 -+ , tasty >= 0.10.1.2 && <1.3 - , tasty-quickcheck >= 0.8.3.2 && <0.11 - , QuickCheck >=2.7.6 && <2.13 - default-language: Haskell2010 - diff --git a/pkgs/development/haskell-modules/patches/lambdabot-core-ghc-8.4.x-fix.patch b/pkgs/development/haskell-modules/patches/lambdabot-core-ghc-8.4.x-fix.patch deleted file mode 100644 index 9b7b7cfb8f9..00000000000 --- a/pkgs/development/haskell-modules/patches/lambdabot-core-ghc-8.4.x-fix.patch +++ /dev/null @@ -1,15 +0,0 @@ -index 60e134c..246d8ca 100644 ---- lambdabot-core/src/Lambdabot/Config.hs -+++ lambdabot-core/src/Lambdabot/Config.hs -@@ -29,9 +29,9 @@ import Data.Typeable - import Data.Generics (everywhere, mkT) - import Language.Haskell.TH - --data Config t where Config :: (Typeable1 k, GCompare k) => !(k t) -> t -> (t -> t -> t) -> Config t -+data Config t where Config :: (Typeable k, GCompare k) => !(k t) -> t -> (t -> t -> t) -> Config t - --cast1 :: (Typeable1 f, Typeable1 g) => f a -> Maybe (g a) -+cast1 :: (Typeable f, Typeable g) => f a -> Maybe (g a) - cast1 = fmap runIdentity . gcast1 . Identity - - instance GEq Config where diff --git a/pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch b/pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch new file mode 100644 index 00000000000..ebadd215cb7 --- /dev/null +++ b/pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch @@ -0,0 +1,82 @@ +diff --git a/src/Servant/Client/Core/Internal/HasClient.hs b/src/Servant/Client/Core/Internal/HasClient.hs +index 712007006..6be92ec6d 100644 +--- a/src/Servant/Client/Core/Internal/HasClient.hs ++++ b/src/Servant/Client/Core/Internal/HasClient.hs +@@ -16,6 +16,8 @@ module Servant.Client.Core.Internal.HasClient where + import Prelude () + import Prelude.Compat + ++import Control.Concurrent.MVar ++ (modifyMVar, newMVar) + import qualified Data.ByteString as BS + import qualified Data.ByteString.Lazy as BL + import Data.Foldable +@@ -36,13 +38,14 @@ import qualified Network.HTTP.Types as H + import Servant.API + ((:<|>) ((:<|>)), (:>), AuthProtect, BasicAuth, BasicAuthData, + BuildHeadersTo (..), Capture', CaptureAll, Description, +- EmptyAPI, FramingUnrender (..), FromSourceIO (..), Header', +- Headers (..), HttpVersion, IsSecure, MimeRender (mimeRender), ++ EmptyAPI, FramingRender (..), FramingUnrender (..), ++ FromSourceIO (..), Header', Headers (..), HttpVersion, ++ IsSecure, MimeRender (mimeRender), + MimeUnrender (mimeUnrender), NoContent (NoContent), QueryFlag, + QueryParam', QueryParams, Raw, ReflectMethod (..), RemoteHost, + ReqBody', SBoolI, Stream, StreamBody', Summary, ToHttpApiData, +- Vault, Verb, WithNamedContext, contentType, getHeadersHList, +- getResponse, toQueryParam, toUrlPiece) ++ ToSourceIO (..), Vault, Verb, WithNamedContext, contentType, ++ getHeadersHList, getResponse, toQueryParam, toUrlPiece) + import Servant.API.ContentTypes + (contentTypes) + import Servant.API.Modifiers +@@ -538,7 +541,7 @@ instance (MimeRender ct a, HasClient m api) + hoistClientMonad pm (Proxy :: Proxy api) f (cl a) + + instance +- ( HasClient m api ++ ( HasClient m api, MimeRender ctype chunk, FramingRender framing, ToSourceIO chunk a + ) => HasClient m (StreamBody' mods framing ctype a :> api) + where + +@@ -547,7 +550,39 @@ instance + hoistClientMonad pm _ f cl = \a -> + hoistClientMonad pm (Proxy :: Proxy api) f (cl a) + +- clientWithRoute _pm Proxy _req _body = error "HasClient @StreamBody" ++ clientWithRoute pm Proxy req body ++ = clientWithRoute pm (Proxy :: Proxy api) ++ $ setRequestBody (RequestBodyStreamChunked givesPopper) (contentType ctypeP) req ++ where ++ ctypeP = Proxy :: Proxy ctype ++ framingP = Proxy :: Proxy framing ++ ++ sourceIO = framingRender ++ framingP ++ (mimeRender ctypeP :: chunk -> BL.ByteString) ++ (toSourceIO body) ++ ++ -- not pretty. ++ givesPopper :: (IO BS.ByteString -> IO ()) -> IO () ++ givesPopper needsPopper = S.unSourceT sourceIO $ \step0 -> do ++ ref <- newMVar step0 ++ ++ -- Note sure we need locking, but it's feels safer. ++ let popper :: IO BS.ByteString ++ popper = modifyMVar ref nextBs ++ ++ needsPopper popper ++ ++ nextBs S.Stop = return (S.Stop, BS.empty) ++ nextBs (S.Error err) = fail err ++ nextBs (S.Skip s) = nextBs s ++ nextBs (S.Effect ms) = ms >>= nextBs ++ nextBs (S.Yield lbs s) = case BL.toChunks lbs of ++ [] -> nextBs s ++ (x:xs) | BS.null x -> nextBs step' ++ | otherwise -> return (step', x) ++ where ++ step' = S.Yield (BL.fromChunks xs) s + + + diff --git a/pkgs/development/haskell-modules/patches/xattr-fix-build.patch b/pkgs/development/haskell-modules/patches/xattr-fix-build.patch new file mode 100644 index 00000000000..4b4f370b17f --- /dev/null +++ b/pkgs/development/haskell-modules/patches/xattr-fix-build.patch @@ -0,0 +1,16 @@ +diff --git a/System/Xattr.hsc b/System/Xattr.hsc +index adaf9cb..9b49996 100644 +--- a/System/Xattr.hsc ++++ b/System/Xattr.hsc +@@ -45,11 +45,7 @@ module System.Xattr + where + + #include +-#ifdef __APPLE__ + #include +-#else +-#include +-#endif + + import Data.Functor ((<$>)) + import Foreign.C diff --git a/pkgs/development/haskell-modules/patches/xmonad-contrib-ghc-8.4.1-fix.patch b/pkgs/development/haskell-modules/patches/xmonad-contrib-ghc-8.4.1-fix.patch deleted file mode 100644 index 3917c2f0afd..00000000000 --- a/pkgs/development/haskell-modules/patches/xmonad-contrib-ghc-8.4.1-fix.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 86595e193e8d46c769ab2a1cee961e8e04dfd1b9 Mon Sep 17 00:00:00 2001 -From: Michiel Derhaeg -Date: Tue, 20 Mar 2018 22:06:18 +0100 -Subject: [PATCH] update to work with GHC 8.4.1 - ---- - XMonad/Hooks/FadeWindows.hs | 6 +++++- - XMonad/Hooks/WallpaperSetter.hs | 6 +++++- - XMonad/Layout/Mosaic.hs | 6 +++++- - xmonad-contrib.cabal | 5 +++-- - 5 files changed, 33 insertions(+), 5 deletions(-) - -diff --git a/XMonad/Hooks/FadeWindows.hs b/XMonad/Hooks/FadeWindows.hs -index 4b8e62b6..01d06792 100644 ---- a/XMonad/Hooks/FadeWindows.hs -+++ b/XMonad/Hooks/FadeWindows.hs -@@ -61,7 +61,8 @@ import Control.Monad.Reader (ask - ,asks) - import Control.Monad.State (gets) - import qualified Data.Map as M --import Data.Monoid -+import Data.Monoid hiding ((<>)) -+import Data.Semigroup - - import Graphics.X11.Xlib.Extras (Event(..)) - -@@ -134,6 +135,9 @@ instance Monoid Opacity where - r `mappend` OEmpty = r - _ `mappend` r = r - -+instance Semigroup Opacity where -+ (<>) = mappend -+ - -- | A FadeHook is similar to a ManageHook, but records window opacity. - type FadeHook = Query Opacity - -diff --git a/XMonad/Hooks/WallpaperSetter.hs b/XMonad/Hooks/WallpaperSetter.hs -index 00a3b1c3..d4f5ccb2 100644 ---- a/XMonad/Hooks/WallpaperSetter.hs -+++ b/XMonad/Hooks/WallpaperSetter.hs -@@ -41,7 +41,8 @@ import Data.Ord (comparing) - import Control.Monad - import Control.Applicative - import Data.Maybe --import Data.Monoid -+import Data.Monoid hiding ((<>)) -+import Data.Semigroup - - -- $usage - -- This module requires imagemagick and feh to be installed, as these are utilized -@@ -86,6 +87,9 @@ instance Monoid WallpaperList where - mappend (WallpaperList w1) (WallpaperList w2) = - WallpaperList $ M.toList $ (M.fromList w2) `M.union` (M.fromList w1) - -+instance Semigroup WallpaperList where -+ (<>) = mappend -+ - -- | Complete wallpaper configuration passed to the hook - data WallpaperConf = WallpaperConf { - wallpaperBaseDir :: FilePath -- ^ Where the wallpapers reside (if empty, will look in \~\/.wallpapers/) -diff --git a/XMonad/Layout/Mosaic.hs b/XMonad/Layout/Mosaic.hs -index 05655d4c..da44fc50 100644 ---- a/XMonad/Layout/Mosaic.hs -+++ b/XMonad/Layout/Mosaic.hs -@@ -38,7 +38,8 @@ import Control.Monad(mplus) - import Data.Foldable(Foldable,foldMap, sum) - import Data.Function(on) - import Data.List(sortBy) --import Data.Monoid(Monoid,mempty, mappend) -+import Data.Monoid(Monoid,mempty, mappend, (<>)) -+import Data.Semigroup - - - -- $usage -@@ -202,6 +203,9 @@ instance Monoid (Tree a) where - mappend x Empty = x - mappend x y = Branch x y - -+instance Semigroup (Tree a) where -+ (<>) = mappend -+ - makeTree :: (Num a1, Ord a1) => (a -> a1) -> [a] -> Tree a - makeTree _ [] = Empty - makeTree _ [x] = Leaf x -diff --git a/xmonad-contrib.cabal b/xmonad-contrib.cabal -index dde3ccda..c401c6e6 100644 ---- a/xmonad-contrib.cabal -+++ b/xmonad-contrib.cabal -@@ -36,7 +36,7 @@ cabal-version: >= 1.6 - build-type: Simple - bug-reports: https://github.com/xmonad/xmonad-contrib/issues - --tested-with: GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.1 -+tested-with: GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.1, GHC==8.2.2, GHC==8.4.1 - - source-repository head - type: git -@@ -66,7 +66,8 @@ library - unix, - X11>=1.6.1 && < 1.9, - xmonad>=0.13 && < 0.14, -- utf8-string -+ utf8-string, -+ semigroups - - if flag(use_xft) - build-depends: X11-xft >= 0.2 diff --git a/pkgs/development/haskell-modules/stack-hook.sh b/pkgs/development/haskell-modules/stack-hook.sh index d942662294c..44c184a5624 100644 --- a/pkgs/development/haskell-modules/stack-hook.sh +++ b/pkgs/development/haskell-modules/stack-hook.sh @@ -1,11 +1,11 @@ addStackArgs () { - if [ -d "$1/lib" ] && [[ "$STACK_IN_NIX_EXTRA_ARGS" != *"--extra-lib-dirs=$1/lib"* ]]; then + if [ -n "$(echo $1/lib/lib*)" ]; then STACK_IN_NIX_EXTRA_ARGS+=" --extra-lib-dirs=$1/lib" fi - if [ -d "$1/include" ] && [[ "$STACK_IN_NIX_EXTRA_ARGS" != *"--extra-include-dirs=$1/include"* ]]; then + if [ -d "$1/include" ]; then STACK_IN_NIX_EXTRA_ARGS+=" --extra-include-dirs=$1/include" fi } -addEnvHooks "$hostOffset" addStackArgs +addEnvHooks "$targetOffset" addStackArgs diff --git a/pkgs/development/idris-modules/build-idris-package.nix b/pkgs/development/idris-modules/build-idris-package.nix index 5e1288685a7..ac0555636be 100644 --- a/pkgs/development/idris-modules/build-idris-package.nix +++ b/pkgs/development/idris-modules/build-idris-package.nix @@ -1,5 +1,5 @@ # Build an idris package -{ stdenv, lib, idrisPackages, gmp }: +{ stdenv, lib, gmp, prelude, base, with-packages, idris }: { idrisDeps ? [] , noPrelude ? false , noBase ? false @@ -7,19 +7,23 @@ , version , ipkgName ? name , extraBuildInputs ? [] + , idrisBuildOptions ? [] + , idrisTestOptions ? [] + , idrisInstallOptions ? [] + , idrisDocOptions ? [] , ... }@attrs: let allIdrisDeps = idrisDeps - ++ lib.optional (!noPrelude) idrisPackages.prelude - ++ lib.optional (!noBase) idrisPackages.base; - idris-with-packages = idrisPackages.with-packages allIdrisDeps; + ++ lib.optional (!noPrelude) prelude + ++ lib.optional (!noBase) base; + idris-with-packages = with-packages allIdrisDeps; newAttrs = builtins.removeAttrs attrs [ "idrisDeps" "noPrelude" "noBase" "name" "version" "ipkgName" "extraBuildInputs" ] // { meta = attrs.meta // { - platforms = attrs.meta.platforms or idrisPackages.idris.meta.platforms; + platforms = attrs.meta.platforms or idris.meta.platforms; }; }; in @@ -39,22 +43,34 @@ stdenv.mkDerivation ({ buildPhase = '' runHook preBuild - idris --build ${ipkgName}.ipkg + idris --build ${ipkgName}.ipkg ${lib.escapeShellArgs idrisBuildOptions} runHook postBuild ''; checkPhase = '' runHook preCheck if grep -q tests ${ipkgName}.ipkg; then - idris --testpkg ${ipkgName}.ipkg + idris --testpkg ${ipkgName}.ipkg ${lib.escapeShellArgs idrisTestOptions} fi runHook postCheck ''; installPhase = '' runHook preInstall - idris --install ${ipkgName}.ipkg --ibcsubdir $out/libs - IDRIS_DOC_PATH=$out/doc idris --installdoc ${ipkgName}.ipkg || true + + idris --install ${ipkgName}.ipkg --ibcsubdir $out/libs ${lib.escapeShellArgs idrisInstallOptions} + + IDRIS_DOC_PATH=$out/doc idris --installdoc ${ipkgName}.ipkg ${lib.escapeShellArgs idrisDocOptions} || true + + # If the ipkg file defines an executable, install that + executable=$(grep -Po '^executable = \K.*' ${ipkgName}.ipkg || true) + # $executable intentionally not quoted because it must be quoted correctly + # in the ipkg file already + if [ ! -z "$executable" ] && [ -f $executable ]; then + mkdir -p $out/bin + mv $executable $out/bin/$executable + fi + runHook postInstall ''; diff --git a/pkgs/development/idris-modules/glfw.nix b/pkgs/development/idris-modules/glfw.nix index 535f549a5eb..882058bb185 100644 --- a/pkgs/development/idris-modules/glfw.nix +++ b/pkgs/development/idris-modules/glfw.nix @@ -10,8 +10,14 @@ build-idris-package { idrisDeps = [ effects ]; + nativeBuildInputs = [ pkgs.pkgconfig ]; extraBuildInputs = [ pkgs.glfw ]; + postPatch = '' + substituteInPlace src/MakefileGlfw \ + --replace glfw3 "glfw3 gl" + ''; + src = fetchFromGitHub { owner = "eckart"; repo = "glfw-idris"; diff --git a/pkgs/development/idris-modules/idris-wrapper.nix b/pkgs/development/idris-modules/idris-wrapper.nix index f395bcd95d7..4e1d2f9c82e 100644 --- a/pkgs/development/idris-modules/idris-wrapper.nix +++ b/pkgs/development/idris-modules/idris-wrapper.nix @@ -1,4 +1,4 @@ -{ lib, symlinkJoin, makeWrapper, idris-no-deps, gcc, gmp }: +{ stdenv, lib, symlinkJoin, makeWrapper, idris-no-deps, gmp }: symlinkJoin { inherit (idris-no-deps) name src meta; @@ -6,7 +6,9 @@ symlinkJoin { buildInputs = [ makeWrapper ]; postBuild = '' wrapProgram $out/bin/idris \ - --run 'export IDRIS_CC=''${IDRIS_CC:-${lib.getBin gcc}/bin/gcc}' \ - --suffix LIBRARY_PATH : ${lib.makeLibraryPath [ gmp ]} + --run 'export IDRIS_CC=''${IDRIS_CC:-${stdenv.cc}/bin/cc}' \ + --set NIX_CC_WRAPPER_${stdenv.cc.infixSalt}_TARGET_HOST 1 \ + --prefix NIX_CFLAGS_COMPILE " " "-I${lib.getDev gmp}/include" \ + --prefix NIX_CFLAGS_LINK " " "-L${lib.getLib gmp}/lib" ''; } diff --git a/pkgs/development/idris-modules/sdl2.nix b/pkgs/development/idris-modules/sdl2.nix index b0306040d73..e4a1fbae562 100644 --- a/pkgs/development/idris-modules/sdl2.nix +++ b/pkgs/development/idris-modules/sdl2.nix @@ -6,26 +6,33 @@ , SDL2 , SDL2_gfx }: -build-idris-package { +build-idris-package rec { name = "sdl2"; - version = "2018-01-19"; + version = "0.1.1"; idrisDeps = [ effects ]; - extraBuildInputs = [ pkgconfig SDL2 SDL2_gfx ]; + extraBuildInputs = [ + pkgconfig + SDL2 + SDL2_gfx + ]; + + prePatch = "patchShebangs ."; src = fetchFromGitHub { owner = "steshaw"; repo = "idris-sdl2"; - rev = "ebc36a0efb3e8086f2999120e7a8a8ac4952c6f6"; - sha256 = "060k0i1pjilrc4pcz7v70hbipaw2crz14yxjlyjlhn6qm03131q0"; + rev = version; + sha256 = sha256:1jslnlzyw04dcvcd7xsdjqa7waxzkm5znddv76sv291jc94xhl4a; }; meta = { description = "SDL2 binding for Idris"; homepage = https://github.com/steshaw/idris-sdl2; - maintainers = [ lib.maintainers.brainrape ]; - # Can't find file sdl2.o - broken = true; + maintainers = with lib.maintainers; [ + brainrape + steshaw + ]; }; } diff --git a/pkgs/development/idris-modules/tparsec.nix b/pkgs/development/idris-modules/tparsec.nix index 8aa413b51c3..650d843be84 100644 --- a/pkgs/development/idris-modules/tparsec.nix +++ b/pkgs/development/idris-modules/tparsec.nix @@ -4,15 +4,15 @@ }: build-idris-package { name = "tparsec"; - version = "2018-12-21"; + version = "2019-06-18"; ipkgName = "TParsec"; src = fetchFromGitHub { owner = "gallais"; repo = "idris-tparsec"; - rev = "6fafcaa894def6f2af86bc799e507013b56e7741"; - sha256 = "0alnw0hqjs200gvb5f58lb16rna48j1v6wnvq4q7zbw99dcxsxwn"; + rev = "3809afd8735b0054e5db788f18a7fa8ed71d8278"; + sha256 = "0wmgg1zg9p8gqlfvcsnww17jsifx9987cxqdq6kbdgasn26w2rqx"; }; meta = { diff --git a/pkgs/development/interpreters/acl2/default.nix b/pkgs/development/interpreters/acl2/default.nix index cc88b32119e..d53337aca1a 100644 --- a/pkgs/development/interpreters/acl2/default.nix +++ b/pkgs/development/interpreters/acl2/default.nix @@ -4,15 +4,15 @@ let hashes = { "8.0" = "1x1giy2c1y6krg3kf8pf9wrmvk981shv0pxcwi483yjqm90xng4r"; - "8.1" = "0isi75j94q79x4341rhd94c60228iwvccy71ssnyvh1025m93xcd"; + "8.2" = "1x33kv6w9cbqzvyrihn61pzmqlvnk3drm8ksd5v0arg38i95awi3"; }; revs = { "8.0" = "8.0"; - "8.1" = "8.1"; + "8.2" = "8.2"; }; in stdenv.mkDerivation rec { - name = "acl2-${version}"; - version = "8.1"; + pname = "acl2"; + version = "8.2"; src = fetchFromGitHub { owner = "acl2-devel"; diff --git a/pkgs/development/interpreters/bats/default.nix b/pkgs/development/interpreters/bats/default.nix index 85794b09ae0..744106bce5d 100644 --- a/pkgs/development/interpreters/bats/default.nix +++ b/pkgs/development/interpreters/bats/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchzip, gnugrep }: stdenv.mkDerivation rec { - name = "bats-${version}"; + pname = "bats"; version = "1.1.0"; src = fetchzip { diff --git a/pkgs/development/interpreters/clips/default.nix b/pkgs/development/interpreters/clips/default.nix index b597ba6fe78..918c577356c 100644 --- a/pkgs/development/interpreters/clips/default.nix +++ b/pkgs/development/interpreters/clips/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "6.30"; - name = "clips-${version}"; + pname = "clips"; src = fetchurl { url = "mirror://sourceforge/clipsrules/CLIPS/6.30/clips_core_source_630.tar.Z"; sha256 = "1r0m59l3mk9cwzq3nmyr5qxrlkzp3njls4hfv8ml85dmqh7n3ysy"; diff --git a/pkgs/development/interpreters/clisp/default.nix b/pkgs/development/interpreters/clisp/default.nix index f850a9f57b8..5dcfa42c92f 100644 --- a/pkgs/development/interpreters/clisp/default.nix +++ b/pkgs/development/interpreters/clisp/default.nix @@ -99,5 +99,6 @@ stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.unix; # problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062 broken = stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAarch64; + license = stdenv.lib.licenses.gpl2; }; } diff --git a/pkgs/development/interpreters/clojure/clooj.nix b/pkgs/development/interpreters/clojure/clooj.nix index 57ced325aad..369d84708dc 100644 --- a/pkgs/development/interpreters/clojure/clooj.nix +++ b/pkgs/development/interpreters/clojure/clooj.nix @@ -3,7 +3,8 @@ let version = "0.4.4"; in stdenv.mkDerivation { - name = "clooj-${version}"; + pname = "clooj"; + inherit version; jar = fetchurl { # mirrored as original mediafire.com source does not work without user interaction diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix index 6018d92bbca..b5a7c2b467e 100644 --- a/pkgs/development/interpreters/clojure/default.nix +++ b/pkgs/development/interpreters/clojure/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, jdk, rlwrap, makeWrapper }: +{ stdenv, fetchurl, jdk11, rlwrap, makeWrapper }: stdenv.mkDerivation rec { - name = "clojure-${version}"; - version = "1.10.0.411"; + pname = "clojure"; + version = "1.10.1.469"; src = fetchurl { url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz"; - sha256 = "00bhn6w9iwhgmyx89lk97q19phpm9vh45m3m1pi7d31gldb6v0zh"; + sha256 = "0hpb6rixmgllss69vl9zlpb41svm4mx4xmfbq1q7y12jsxckzgpq"; }; buildInputs = [ makeWrapper ]; @@ -14,11 +14,11 @@ stdenv.mkDerivation rec { outputs = [ "out" "prefix" ]; installPhase = let - binPath = stdenv.lib.makeBinPath [ rlwrap jdk ]; + binPath = stdenv.lib.makeBinPath [ rlwrap jdk11 ]; in '' mkdir -p $prefix/libexec cp clojure-tools-${version}.jar $prefix/libexec - cp {,example-}deps.edn $prefix + cp example-deps.edn $prefix substituteInPlace clojure --replace PREFIX $prefix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs. ''; - maintainers = with maintainers; [ the-kenny ]; + maintainers = with maintainers; [ jlesquembre ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/interpreters/clojurescript/lumo/default.nix b/pkgs/development/interpreters/clojurescript/lumo/default.nix index bc2d0e5be5a..ab8e616ac6d 100644 --- a/pkgs/development/interpreters/clojurescript/lumo/default.nix +++ b/pkgs/development/interpreters/clojurescript/lumo/default.nix @@ -119,7 +119,6 @@ let # packageJSON=./package.json; cljdeps = import ./deps.nix { inherit pkgs; }; - cljpaths = cljdeps.makePaths {}; classp = cljdeps.makeClasspaths { extraClasspaths=["src/js" "src/cljs/bundled" "src/cljs/snapshot"]; }; @@ -129,7 +128,7 @@ let # packageJSON=./package.json; in stdenv.mkDerivation rec { inherit version; - name = "lumo-${version}"; + pname = "lumo"; src = fetchurl { url = "https://github.com/anmonteiro/lumo/archive/${version}.tar.gz"; diff --git a/pkgs/development/interpreters/dart/default.nix b/pkgs/development/interpreters/dart/default.nix index fa8996f0fb5..02ac6bfbcde 100644 --- a/pkgs/development/interpreters/dart/default.nix +++ b/pkgs/development/interpreters/dart/default.nix @@ -47,7 +47,8 @@ in stdenv.mkDerivation { - name = "dart-${version}"; + pname = "dart"; + inherit version; nativeBuildInputs = [ unzip diff --git a/pkgs/development/interpreters/duktape/default.nix b/pkgs/development/interpreters/duktape/default.nix index f3b253bfd22..f968e04bbe9 100644 --- a/pkgs/development/interpreters/duktape/default.nix +++ b/pkgs/development/interpreters/duktape/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "duktape-${version}"; - version = "2.3.0"; + pname = "duktape"; + version = "2.4.0"; src = fetchurl { url = "http://duktape.org/duktape-${version}.tar.xz"; - sha256 = "1s5g8lg0dga6x3rcq328a6hsd2sk2vzwq9zfmskjh5h6n8x2yvpd"; + sha256 = "1z3i0ymnkk6q48bmbgh59g1ryrwjdv46vrf6nbnmqfv3s43r7a46"; }; buildPhase = '' diff --git a/pkgs/development/interpreters/eff/default.nix b/pkgs/development/interpreters/eff/default.nix index 258aebe8172..7c7cd9abb7e 100644 --- a/pkgs/development/interpreters/eff/default.nix +++ b/pkgs/development/interpreters/eff/default.nix @@ -4,7 +4,8 @@ let version = "5.0"; in stdenv.mkDerivation { - name = "eff-${version}"; + pname = "eff"; + inherit version; src = fetchFromGitHub { owner = "matijapretnar"; diff --git a/pkgs/development/interpreters/elixir/1.4.nix b/pkgs/development/interpreters/elixir/1.4.nix deleted file mode 100644 index 9ddd9062acd..00000000000 --- a/pkgs/development/interpreters/elixir/1.4.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ mkDerivation }: - -mkDerivation rec { - version = "1.4.5"; - sha256 = "18ivcxmh5bak13k3rjy7jjzin57rgb2nffhwnqb2wl7bpi8mrarw"; - minimumOTPVersion = "18"; -} diff --git a/pkgs/development/interpreters/elixir/1.8.nix b/pkgs/development/interpreters/elixir/1.8.nix index 40136fd22de..e240e1907e0 100644 --- a/pkgs/development/interpreters/elixir/1.8.nix +++ b/pkgs/development/interpreters/elixir/1.8.nix @@ -1,7 +1,7 @@ { mkDerivation }: mkDerivation rec { - version = "1.8.1"; - sha256 = "1npnrkn21kqqfqrsn06mr78jxs6n5l8c935jpxvnmj7iysp50pf9"; + version = "1.8.2"; + sha256 = "1n77cpcl2b773gmj3m9s24akvj9gph9byqbmj2pvlsmby4aqwckq"; minimumOTPVersion = "20"; } diff --git a/pkgs/development/interpreters/elixir/1.9.nix b/pkgs/development/interpreters/elixir/1.9.nix new file mode 100644 index 00000000000..41601eeaa11 --- /dev/null +++ b/pkgs/development/interpreters/elixir/1.9.nix @@ -0,0 +1,7 @@ +{ mkDerivation }: + +mkDerivation rec { + version = "1.9.1"; + sha256 = "106s2a3dykc5iwfrd5icqd737yfzaz1dw4x5v1j5z2fvf46h96dx"; + minimumOTPVersion = "20"; +} diff --git a/pkgs/development/interpreters/elixir/generic-builder.nix b/pkgs/development/interpreters/elixir/generic-builder.nix index 844d6eeb4fb..b7e98af2109 100644 --- a/pkgs/development/interpreters/elixir/generic-builder.nix +++ b/pkgs/development/interpreters/elixir/generic-builder.nix @@ -22,10 +22,8 @@ in buildInputs = [ erlang rebar makeWrapper ]; - LOCALE_ARCHIVE = stdenv.lib.optionalString stdenv.isLinux - "${pkgs.glibcLocales}/lib/locale/locale-archive"; - LANG = "en_US.UTF-8"; - LC_TYPE = "en_US.UTF-8"; + LANG = "C.UTF-8"; + LC_TYPE = "C.UTF-8"; setupHook = ./setup-hook.sh; diff --git a/pkgs/development/interpreters/erlang/R16B02-basho.nix b/pkgs/development/interpreters/erlang/R16B02-basho.nix index 714924514ed..c263551de2d 100644 --- a/pkgs/development/interpreters/erlang/R16B02-basho.nix +++ b/pkgs/development/interpreters/erlang/R16B02-basho.nix @@ -27,7 +27,7 @@ mkDerivation rec { installTargets = "install"; postInstall = let manpages = pkgs.fetchurl { - url = "http://www.erlang.org/download/otp_doc_man_R16B02.tar.gz"; + url = "https://www.erlang.org/download/otp_doc_man_R16B02.tar.gz"; sha256 = "12apxjmmd591y9g9bhr97z5jbd1jarqg7wj0y2sqhl21hc1yp75p"; }; in '' diff --git a/pkgs/development/interpreters/erlang/R19.nix b/pkgs/development/interpreters/erlang/R19.nix index e0d4ecbc95a..25a3f662565 100644 --- a/pkgs/development/interpreters/erlang/R19.nix +++ b/pkgs/development/interpreters/erlang/R19.nix @@ -14,6 +14,6 @@ mkDerivation rec { ]; prePatch = '' - substituteInPlace configure.in --replace '`sw_vers -productVersion`' '10.10' + substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}" ''; } diff --git a/pkgs/development/interpreters/erlang/R20.nix b/pkgs/development/interpreters/erlang/R20.nix index c408d21d9b3..016e175d6b5 100644 --- a/pkgs/development/interpreters/erlang/R20.nix +++ b/pkgs/development/interpreters/erlang/R20.nix @@ -5,6 +5,6 @@ mkDerivation rec { sha256 = "0v2iiyzss8hiih98wvj0gi2qzdmmhh7bvc9p025wlfm4k7r1109a"; prePatch = '' - substituteInPlace configure.in --replace '`sw_vers -productVersion`' '10.10' + substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}" ''; } diff --git a/pkgs/development/interpreters/erlang/R21.nix b/pkgs/development/interpreters/erlang/R21.nix index 28166dfc0b0..e21bf6dafbf 100644 --- a/pkgs/development/interpreters/erlang/R21.nix +++ b/pkgs/development/interpreters/erlang/R21.nix @@ -1,10 +1,10 @@ { mkDerivation }: mkDerivation rec { - version = "21.2.3"; - sha256 = "1v47c7bddbp31y6f8yzdjyvgcx9sskxql33k7cs0p5fmr05hhxws"; + version = "21.3.8.3"; + sha256 = "1szybirrcpqsl2nmlmpbkxjqnm6i7l7bma87m5cpwi0kpvlxwmcw"; prePatch = '' - substituteInPlace configure.in --replace '`sw_vers -productVersion`' '10.10' + substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}" ''; } diff --git a/pkgs/development/interpreters/erlang/R22.nix b/pkgs/development/interpreters/erlang/R22.nix new file mode 100644 index 00000000000..a8c05513c5a --- /dev/null +++ b/pkgs/development/interpreters/erlang/R22.nix @@ -0,0 +1,11 @@ +{ mkDerivation }: + +mkDerivation rec { + version = "22.0.4"; + sha256 = "1aqkhd6nwdn4xp5yz02zbymd4x8ij8fjw9ji8kh860n1a513k9ai"; + + prePatch = '' + substituteInPlace make/configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}" + substituteInPlace erts/configure.in --replace '-Wl,-no_weak_imports' "" + ''; +} diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix index bc0b728ecce..3f1c21cc881 100644 --- a/pkgs/development/interpreters/erlang/generic-builder.nix +++ b/pkgs/development/interpreters/erlang/generic-builder.nix @@ -1,5 +1,5 @@ { pkgs, stdenv, fetchFromGitHub, makeWrapper, gawk, gnum4, gnused -, libxml2, libxslt, ncurses, openssl, perl, autoreconfHook +, libxml2, libxslt, ncurses, openssl, perl, autoconf , openjdk ? null # javacSupport , unixODBC ? null # odbcSupport , libGLU_combined ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport @@ -18,7 +18,7 @@ , enableKernelPoll ? true , javacSupport ? false, javacPackages ? [ openjdk ] , odbcSupport ? false, odbcPackages ? [ unixODBC ] -, wxSupport ? !stdenv.isDarwin, wxPackages ? [ libGLU_combined wxGTK xorg.libX11 ] +, wxSupport ? true, wxPackages ? [ libGLU_combined wxGTK xorg.libX11 ] , preUnpack ? "", postUnpack ? "" , patches ? [], patchPhase ? "", prePatch ? "", postPatch ? "" , configureFlags ? [], configurePhase ? "", preConfigure ? "", postConfigure ? "" @@ -48,7 +48,7 @@ in stdenv.mkDerivation ({ inherit src version; - nativeBuildInputs = [ autoreconfHook makeWrapper perl gnum4 libxslt libxml2 ]; + nativeBuildInputs = [ autoconf makeWrapper perl gnum4 libxslt libxml2 ]; buildInputs = [ ncurses openssl ] ++ optionals wxSupport wxPackages2 @@ -108,8 +108,8 @@ in stdenv.mkDerivation ({ setupHook = ./setup-hook.sh; meta = with stdenv.lib; ({ - homepage = http://www.erlang.org/; - downloadPage = "http://www.erlang.org/download.html"; + homepage = https://www.erlang.org/; + downloadPage = "https://www.erlang.org/download.html"; description = "Programming language used for massively scalable soft real-time systems"; longDescription = '' diff --git a/pkgs/development/interpreters/evcxr/default.nix b/pkgs/development/interpreters/evcxr/default.nix new file mode 100644 index 00000000000..54ee243cb33 --- /dev/null +++ b/pkgs/development/interpreters/evcxr/default.nix @@ -0,0 +1,30 @@ +{ cargo, fetchFromGitHub, makeWrapper, pkgconfig, rustPlatform, stdenv, gcc, Security, zeromq }: + +rustPlatform.buildRustPackage rec { + pname = "evcxr"; + version = "0.4.4"; + + src = fetchFromGitHub { + owner = "google"; + repo = "evcxr"; + rev = "v${version}"; + sha256 = "1j2vsqgljqw7415rgjlnc1w3nmr9ghizx2mncbm1yipwj8xbrmf6"; + }; + + cargoSha256 = "0ckxpmi547y7q4w287znimpxgaj3mjkgmkcs2n9cp4m8cw143hly"; + + nativeBuildInputs = [ pkgconfig makeWrapper ]; + buildInputs = [ zeromq ] ++ stdenv.lib.optional stdenv.isDarwin Security; + postInstall = '' + wrapProgram $out/bin/evcxr --prefix PATH : ${stdenv.lib.makeBinPath [ cargo gcc ]} + rm $out/bin/testing_runtime + ''; + + meta = { + description = "An evaluation context for Rust"; + homepage = "https://github.com/google/evcxr"; + license = stdenv.lib.licenses.asl20; + maintainers = [ stdenv.lib.maintainers.protoben ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/interpreters/falcon/default.nix b/pkgs/development/interpreters/falcon/default.nix index 857a1e5cd8d..744a0f76ff0 100644 --- a/pkgs/development/interpreters/falcon/default.nix +++ b/pkgs/development/interpreters/falcon/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, zlib, sqlite }: stdenv.mkDerivation rec { - name = "falcon-${version}"; + pname = "falcon"; version = "2013-09-19"; src = fetchFromGitHub { diff --git a/pkgs/development/interpreters/gauche/default.nix b/pkgs/development/interpreters/gauche/default.nix index 5481c4e7d05..71542046af9 100644 --- a/pkgs/development/interpreters/gauche/default.nix +++ b/pkgs/development/interpreters/gauche/default.nix @@ -3,12 +3,12 @@ }: stdenv.mkDerivation rec { - name = "gauche-${version}"; - version = "0.9.7"; + pname = "gauche"; + version = "0.9.8"; src = fetchurl { url = "mirror://sourceforge/gauche/Gauche-${version}.tgz"; - sha256 = "181nycikma0rwrb1h6mi3kys11f8628pq8g5r3fg5hiz5sabscrd"; + sha256 = "0jxp1ladpy8kvfvk561c64spf1c3d6giqla6zscqkd6qa480vcry"; }; nativeBuildInputs = [ pkgconfig texinfo ]; @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { "--with-iconv=${libiconv}" "--with-dbm=gdbm" "--with-zlib=${zlib}" - "--with-ca-bundle=$SSL_CERT_FILE" + "--with-ca-bundle=$NIX_SSL_CERT_FILE" # TODO: Enable slib # Current slib in nixpkgs is specialized to Guile # "--with-slib=${slibGuile}/lib/slib" diff --git a/pkgs/development/interpreters/gnu-apl/default.nix b/pkgs/development/interpreters/gnu-apl/default.nix index f60e5d28614..7f15c2b3184 100644 --- a/pkgs/development/interpreters/gnu-apl/default.nix +++ b/pkgs/development/interpreters/gnu-apl/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, readline, gettext, ncurses }: stdenv.mkDerivation rec { - name = "gnu-apl-${version}"; - version = "1.7"; + pname = "gnu-apl"; + version = "1.8"; src = fetchurl { url = "mirror://gnu/apl/apl-${version}.tar.gz"; - sha256 = "07xq8ddlmz8psvsmwr23gar108ri0lwmw0n6kpxcv8ypas1f5xlg"; + sha256 = "1jxvv2h3y1am1fw6r5sn3say1n0dj8shmscbybl0qhqdia2lqkql"; }; buildInputs = [ readline gettext ncurses ]; diff --git a/pkgs/development/interpreters/groovy/default.nix b/pkgs/development/interpreters/groovy/default.nix index dc04e72c741..bdd13841896 100644 --- a/pkgs/development/interpreters/groovy/default.nix +++ b/pkgs/development/interpreters/groovy/default.nix @@ -3,12 +3,12 @@ # at runtime, need jdk stdenv.mkDerivation rec { - name = "groovy-${version}"; - version = "2.5.6"; + pname = "groovy"; + version = "2.5.8"; src = fetchurl { url = "http://dl.bintray.com/groovy/maven/apache-groovy-binary-${version}.zip"; - sha256 = "14lfxnc03hmakwagvl3sb6c0b298v3awcdr1gafwnmsqv03hhkdn"; + sha256 = "0hl7m9fpmrn9ppxbb3pm68048xpzig7q6hqyg121gvcziywi9ys9"; }; buildInputs = [ unzip makeWrapper ]; diff --git a/pkgs/development/interpreters/guile/1.8.nix b/pkgs/development/interpreters/guile/1.8.nix index fd270dedefc..158987d4e0e 100644 --- a/pkgs/development/interpreters/guile/1.8.nix +++ b/pkgs/development/interpreters/guile/1.8.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPackages +{ stdenv, pkgsBuildBuild, buildPackages , fetchurl, makeWrapper, gawk, pkgconfig , libtool, readline, gmp }: @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) - buildPackages.buildPackages.guile_1_8; + pkgsBuildBuild.guile_1_8; nativeBuildInputs = [ makeWrapper gawk pkgconfig ]; buildInputs = [ readline libtool ]; diff --git a/pkgs/development/interpreters/guile/2.0.nix b/pkgs/development/interpreters/guile/2.0.nix index 433271d9c85..24266d59676 100644 --- a/pkgs/development/interpreters/guile/2.0.nix +++ b/pkgs/development/interpreters/guile/2.0.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPackages +{ stdenv, pkgsBuildBuild, buildPackages , fetchpatch, fetchurl, makeWrapper, gawk, pkgconfig , libffi, libtool, readline, gmp, boehmgc, libunistring , coverageAnalysis ? null @@ -22,7 +22,7 @@ depsBuildBuild = [ buildPackages.stdenv.cc ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) - buildPackages.buildPackages.guile_2_0; + pkgsBuildBuild.guile_2_0; nativeBuildInputs = [ makeWrapper gawk pkgconfig ]; buildInputs = [ readline libtool libunistring libffi ]; @@ -46,7 +46,14 @@ }) ./riscv.patch ] ++ - (stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch); + (stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch) + ++ stdenv.lib.optionals stdenv.isDarwin [ + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gtk-osx/raw/52898977f165777ad9ef169f7d4818f2d4c9b731/patches/guile-clocktime.patch"; + sha256 = "12wvwdna9j8795x59ldryv9d84c1j3qdk2iskw09306idfsis207"; + }) + ./filter-mkostemp-darwin.patch + ]; # Explicitly link against libgcc_s, to work around the infamous # "libgcc_s.so.1 must be installed for pthread_cancel to work". diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix index 1943b10bdca..fce94ecc846 100644 --- a/pkgs/development/interpreters/guile/default.nix +++ b/pkgs/development/interpreters/guile/default.nix @@ -1,7 +1,8 @@ -{ stdenv, buildPackages +{ stdenv, pkgsBuildBuild, buildPackages , fetchurl, makeWrapper, gawk, pkgconfig , libffi, libtool, readline, gmp, boehmgc, libunistring , coverageAnalysis ? null +, fetchpatch }: # Do either a coverage analysis build or a standard build. @@ -11,11 +12,11 @@ (rec { name = "guile-${version}"; - version = "2.2.3"; + version = "2.2.6"; src = fetchurl { url = "mirror://gnu/guile/${name}.tar.xz"; - sha256 = "11j01agvnci2cx32wwpqs9078856yxmvs15gcsz7ganpkj2ahlw3"; + sha256 = "1269ymxm56j1z1lvq1y42rm961f2n7rinm3k6l00p9k52hrpcddk"; }; outputs = [ "out" "dev" "info" ]; @@ -23,7 +24,7 @@ depsBuildBuild = [ buildPackages.stdenv.cc ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) - buildPackages.buildPackages.guile; + pkgsBuildBuild.guile; nativeBuildInputs = [ makeWrapper gawk pkgconfig ]; buildInputs = [ readline libtool libunistring libffi ]; @@ -41,9 +42,11 @@ patches = [ ./eai_system.patch - ./riscv.patch - ] ++ - (stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch); + ] ++ stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch + ++ stdenv.lib.optional stdenv.isDarwin (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gtk-osx/raw/52898977f165777ad9ef169f7d4818f2d4c9b731/patches/guile-clocktime.patch"; + sha256 = "12wvwdna9j8795x59ldryv9d84c1j3qdk2iskw09306idfsis207"; + }); # Explicitly link against libgcc_s, to work around the infamous # "libgcc_s.so.1 must be installed for pthread_cancel to work". diff --git a/pkgs/development/interpreters/guile/filter-mkostemp-darwin.patch b/pkgs/development/interpreters/guile/filter-mkostemp-darwin.patch new file mode 100644 index 00000000000..8b9b853fb00 --- /dev/null +++ b/pkgs/development/interpreters/guile/filter-mkostemp-darwin.patch @@ -0,0 +1,28 @@ +Filter incompat. mkostemp(3) flags on macOS 10.12 + +macOS Sierra introduces a mkostemp(3) function which is used when +present. Contrary to the GNUlib version of mkostemp(3) that was used +previously, this version fails with 'invalid argument' when flags other +than from a specified set are passed. From mktemp(3): + +| The mkostemp() function is like mkstemp() but allows specifying +| additional open(2) flags (defined in ). The permitted flags +| are O_APPEND, O_SHLOCK, O_EXLOCK and O_CLOEXEC. + +Signed-off-by: Clemens Lang +Upstream-Status: Submitted [https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24862#23] +--- a/libguile/filesys.c.orig 2017-01-09 00:53:27.000000000 +0100 ++++ b/libguile/filesys.c 2017-01-09 00:54:48.000000000 +0100 +@@ -1486,6 +1486,12 @@ + mode_bits = scm_i_mode_bits (mode); + } + ++#ifdef __APPLE__ ++ /* macOS starting with 10.12 defines mkostemp(2) which is used if defined, ++ * but only accepts some flags according to its manpage. It fails with ++ * invalid argument when other flags are passed. */ ++ open_flags &= O_APPEND | O_SHLOCK | O_EXLOCK | O_CLOEXEC; ++#endif + SCM_SYSCALL (rv = mkostemp (c_tmpl, open_flags)); + if (rv == -1) + SCM_SYSERROR; diff --git a/pkgs/development/interpreters/hy/default.nix b/pkgs/development/interpreters/hy/default.nix index 02ce07bdf47..a6acd603c81 100644 --- a/pkgs/development/interpreters/hy/default.nix +++ b/pkgs/development/interpreters/hy/default.nix @@ -1,27 +1,28 @@ { stdenv, fetchurl, pythonPackages }: pythonPackages.buildPythonApplication rec { - name = "hy-${version}"; - version = "0.15.0"; + pname = "hy"; + version = "0.17.0"; - src = fetchurl { - url = "mirror://pypi/h/hy/${name}.tar.gz"; - sha256 = "01vzaib1imr00j5d7f7xk44v800h06s3yv9inhlqm6f3b25ywpl1"; + src = pythonPackages.fetchPypi { + inherit pname version; + sha256 = "1gdbqsirsdxj320wnp7my5awzs1kfs6m4fqmkzbd1zd47qzj0zfi"; }; propagatedBuildInputs = with pythonPackages; [ appdirs astor clint + fastentrypoints funcparserlib rply ]; - meta = { + meta = with stdenv.lib; { description = "A LISP dialect embedded in Python"; - homepage = http://hylang.org/; - license = stdenv.lib.licenses.mit; - maintainers = [ stdenv.lib.maintainers.nixy ]; - platforms = stdenv.lib.platforms.all; + homepage = "http://hylang.org/"; + license = licenses.mit; + maintainers = with maintainers; [ nixy ]; + platforms = platforms.all; }; } diff --git a/pkgs/development/interpreters/icon-lang/default.nix b/pkgs/development/interpreters/icon-lang/default.nix index 3bec73ea036..0d3fe100329 100644 --- a/pkgs/development/interpreters/icon-lang/default.nix +++ b/pkgs/development/interpreters/icon-lang/default.nix @@ -1,19 +1,24 @@ -{ stdenv, fetchFromGitHub, libX11, libXt }: +{ stdenv, fetchFromGitHub, libX11, libXt , withGraphics ? true }: stdenv.mkDerivation rec { - name = "icon-lang-${version}"; + pname = "icon-lang"; version = "9.5.1"; src = fetchFromGitHub { - rev = "39d7438e8d23ccfe20c0af8bbbf61e34d9c715e9"; owner = "gtownsend"; repo = "icon"; + rev = "rel${builtins.replaceStrings ["."] [""] version}"; sha256 = "1gkvj678ldlr1m5kjhx6zpmq11nls8kxa7pyy64whgakfzrypynw"; }; - buildInputs = [ libX11 libXt ]; - configurePhase = '' - make X-Configure name=linux - ''; + buildInputs = stdenv.lib.optionals withGraphics [ libX11 libXt ]; + + configurePhase = + let + _name = if stdenv.isDarwin then "macintosh" else "linux"; + in + '' + make ${stdenv.lib.optionalString withGraphics "X-"}Configure name=${_name} + ''; installPhase = '' make Install dest=$out @@ -21,8 +26,8 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = ''A very high level general-purpose programming language''; - maintainers = with maintainers; [ vrthra ]; - platforms = platforms.linux; + maintainers = with maintainers; [ vrthra yurrriq ]; + platforms = with platforms; linux ++ darwin; license = licenses.publicDomain; homepage = https://www.cs.arizona.edu/icon/; }; diff --git a/pkgs/development/interpreters/j/default.nix b/pkgs/development/interpreters/j/default.nix index 11feb1170c2..791ac6dd338 100644 --- a/pkgs/development/interpreters/j/default.nix +++ b/pkgs/development/interpreters/j/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, readline, libedit, bc }: stdenv.mkDerivation rec { - name = "j-${version}"; + pname = "j"; version = "807"; jtype = "release"; src = fetchFromGitHub { diff --git a/pkgs/development/interpreters/janet/default.nix b/pkgs/development/interpreters/janet/default.nix new file mode 100644 index 00000000000..197127d8b6d --- /dev/null +++ b/pkgs/development/interpreters/janet/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, meson, ninja }: + +stdenv.mkDerivation rec { + pname = "janet"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "janet-lang"; + repo = pname; + rev = "v${version}"; + sha256 = "1m34j4h8gh5d773hbw55gs1gimli7ccqpwddn4dd59hzhpihwgqz"; + }; + + nativeBuildInputs = [ meson ninja ]; + mesonFlags = ["-Dgit_hash=release"]; + + doCheck = true; + + meta = with stdenv.lib; { + description = "Janet programming language"; + homepage = https://janet-lang.org/; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ andrewchambers ]; + }; +} diff --git a/pkgs/development/interpreters/jimtcl/default.nix b/pkgs/development/interpreters/jimtcl/default.nix index 704e3eb4031..91b4c0b9a9e 100644 --- a/pkgs/development/interpreters/jimtcl/default.nix +++ b/pkgs/development/interpreters/jimtcl/default.nix @@ -4,7 +4,7 @@ let makeSDLFlags = map (p: "-I${stdenv.lib.getDev p}/include/SDL"); in stdenv.mkDerivation rec { - name = "jimtcl-${version}"; + pname = "jimtcl"; version = "0.78"; src = fetchFromGitHub { diff --git a/pkgs/development/interpreters/joker/default.nix b/pkgs/development/interpreters/joker/default.nix index 21a7cfba406..4ab9427934d 100644 --- a/pkgs/development/interpreters/joker/default.nix +++ b/pkgs/development/interpreters/joker/default.nix @@ -1,8 +1,8 @@ { stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "joker-${version}"; - version = "0.10.1"; + pname = "joker"; + version = "0.12.4"; goPackagePath = "github.com/candid82/joker"; @@ -10,11 +10,13 @@ buildGoPackage rec { rev = "v${version}"; owner = "candid82"; repo = "joker"; - sha256 = "1c3p61jmlljljbiwsylmfa75pi00y7yj5wabx1rxmpswc41g5mab"; + sha256 = "1swi991khmyhxn6w6xsdqp1wbyx3qmd9d7yhpwvqasyxp8gg3szm"; }; preBuild = "go generate ./..."; + postBuild = "rm go/bin/sum256dir"; + dontInstallSrc = true; excludedPackages = "gen"; # Do not install private generators. diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix index cfefa8c95dc..6c4a9f20fa3 100644 --- a/pkgs/development/interpreters/jruby/default.nix +++ b/pkgs/development/interpreters/jruby/default.nix @@ -4,13 +4,13 @@ let # The version number here is whatever is reported by the RUBY_VERSION string rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" ""; jruby = stdenv.mkDerivation rec { - name = "jruby-${version}"; + pname = "jruby"; - version = "9.2.5.0"; + version = "9.2.8.0"; src = fetchurl { url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz"; - sha256 = "0jgkpp90x4v3izl58r53lg5ndf9pm6q6qgwqvxhkb9zcha00ibgl"; + sha256 = "1fy717xy8csc89dnz3a8j96arq1s1vs8nakkkpcaqm1z1648didp"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/development/interpreters/jython/default.nix b/pkgs/development/interpreters/jython/default.nix index e7bcef7bc3e..0e1734565f2 100644 --- a/pkgs/development/interpreters/jython/default.nix +++ b/pkgs/development/interpreters/jython/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, makeWrapper, jre }: stdenv.mkDerivation rec { - name = "jython-${version}"; + pname = "jython"; version = "2.7.1"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { buildInputs = [ makeWrapper ]; - unpackPhase = ":"; + dontUnpack = true; installPhase = '' mkdir -pv $out/bin @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { meta = { description = "Python interpreter written in Java"; - homepage = http://jython.org/; + homepage = https://jython.org/; license = stdenv.lib.licenses.psfl; platforms = jre.meta.platforms; }; diff --git a/pkgs/development/interpreters/kona/default.nix b/pkgs/development/interpreters/kona/default.nix index 03c836d9251..a9922a38765 100644 --- a/pkgs/development/interpreters/kona/default.nix +++ b/pkgs/development/interpreters/kona/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "kona-${version}"; + pname = "kona"; version = "3.21"; src = fetchurl { url = "https://github.com/kevinlawler/kona/archive/Win.${version}-64.tar.gz"; diff --git a/pkgs/development/interpreters/lolcode/default.nix b/pkgs/development/interpreters/lolcode/default.nix index 284773fe660..3ef239e89a9 100644 --- a/pkgs/development/interpreters/lolcode/default.nix +++ b/pkgs/development/interpreters/lolcode/default.nix @@ -3,7 +3,7 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "lolcode-${version}"; + pname = "lolcode"; version = "0.11.2"; src = fetchurl { diff --git a/pkgs/development/interpreters/love/0.7-gl-prototypes.patch b/pkgs/development/interpreters/love/0.7-gl-prototypes.patch new file mode 100644 index 00000000000..0b6778f6a90 --- /dev/null +++ b/pkgs/development/interpreters/love/0.7-gl-prototypes.patch @@ -0,0 +1,21 @@ +diff --unified --recursive --text love-HEAD.orig/src/modules/graphics/opengl/Framebuffer.cpp love-HEAD.new/src/modules/graphics/opengl/Framebuffer.cpp +--- love-HEAD.orig/src/modules/graphics/opengl/Framebuffer.cpp 2019-03-14 12:46:55.032982224 -0400 ++++ love-HEAD.new/src/modules/graphics/opengl/Framebuffer.cpp 2019-03-14 12:47:22.356175299 -0400 +@@ -1,3 +1,5 @@ ++#define GL_GLEXT_PROTOTYPES ++ + #include "Framebuffer.h" + #include + +diff --unified --recursive --text love-HEAD.orig/src/modules/graphics/opengl/SpriteBatch.cpp love-HEAD.new/src/modules/graphics/opengl/SpriteBatch.cpp +--- love-HEAD.orig/src/modules/graphics/opengl/SpriteBatch.cpp 2019-03-14 12:46:55.032982224 -0400 ++++ love-HEAD.new/src/modules/graphics/opengl/SpriteBatch.cpp 2019-03-14 12:47:33.346119890 -0400 +@@ -18,6 +18,8 @@ + * 3. This notice may not be removed or altered from any source distribution. + **/ + ++#define GL_GLEXT_PROTOTYPES ++ + #include "SpriteBatch.h" + + // STD diff --git a/pkgs/development/interpreters/love/0.7.nix b/pkgs/development/interpreters/love/0.7.nix index 884225b6483..7f39259c298 100644 --- a/pkgs/development/interpreters/love/0.7.nix +++ b/pkgs/development/interpreters/love/0.7.nix @@ -2,6 +2,7 @@ , SDL, libGLU_combined, openal, lua , libdevil, freetype, physfs , libmodplug, mpg123, libvorbis, libogg +, libmng }: stdenv.mkDerivation rec { @@ -11,10 +12,13 @@ stdenv.mkDerivation rec { sha256 = "0s7jywkvydlshlgy11ilzngrnybmq5xlgzp2v2dhlffwrfqdqym5"; }; + # see discussion on arch linux user repository (https://aur.archlinux.org/packages/love07/?setlang=cs#comment-684696) + patches = [ ./0.7-gl-prototypes.patch ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ SDL libGLU_combined openal lua - libdevil freetype physfs libmodplug mpg123 libvorbis libogg + libdevil freetype physfs libmodplug mpg123 libvorbis libogg libmng ]; preConfigure = '' diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix deleted file mode 100644 index b2948b392d5..00000000000 --- a/pkgs/development/interpreters/lua-5/5.1.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ stdenv, fetchurl, readline -, self -, callPackage -, packageOverrides ? (self: super: {}) -}: - -let - dsoPatch = fetchurl { - url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/lua-arch.patch?h=packages/lua51"; - sha256 = "11fcyb4q55p4p7kdb8yp85xlw8imy14kzamp2khvcyxss4vw8ipw"; - name = "lua-arch.patch"; - }; - luaPackages = callPackage ../../lua-modules {lua=self; overrides=packageOverrides;}; -in -stdenv.mkDerivation rec { - name = "lua-${version}"; - version = "5.1.5"; - luaversion = "5.1"; - - src = fetchurl { - url = "https://www.lua.org/ftp/${name}.tar.gz"; - sha256 = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333"; - }; - - LuaPathSearchPaths = luaPackages.getLuaPathList luaversion; - LuaCPathSearchPaths = luaPackages.getLuaCPathList luaversion; - setupHook = luaPackages.lua-setup-hook LuaPathSearchPaths LuaCPathSearchPaths; - - buildInputs = [ readline ]; - - patches = (if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch ]) - ++ [ ./5.1.0004-Fix-stack-overflow-in-vararg-functions.patch ]; - - configurePhase = - if stdenv.isDarwin - then '' - makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2" LDFLAGS="" CC="$CC" ) - installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.5.1.5.dylib" INSTALL_DATA='cp -d' ) - '' else '' - makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC" LDFLAGS="-fPIC" CC="$CC" AR="$AR q" RANLIB="$RANLIB" ) - installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.5.1 liblua.so.5.1.5" INSTALL_DATA='cp -d' ) - ''; - - postInstall = '' - mkdir -p "$out/share/doc/lua" "$out/lib/pkgconfig" - sed <"etc/lua.pc" >"$out/lib/pkgconfig/lua.pc" -e "s|^prefix=.*|prefix=$out|" - mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/" - rmdir $out/{share,lib}/lua/5.1 $out/{share,lib}/lua - ''; - - passthru = rec { - buildEnv = callPackage ./wrapper.nix { - lua=self; - inherit (luaPackages) requiredLuaModules; - }; - withPackages = import ./with-packages.nix { inherit buildEnv luaPackages;}; - pkgs = luaPackages; - interpreter = "${self}/bin/lua"; - }; - - meta = { - homepage = http://www.lua.org; - description = "Powerful, fast, lightweight, embeddable scripting language"; - longDescription = '' - Lua combines simple procedural syntax with powerful data - description constructs based on associative arrays and extensible - semantics. Lua is dynamically typed, runs by interpreting bytecode - for a register-based virtual machine, and has automatic memory - management with incremental garbage collection, making it ideal - for configuration, scripting, and rapid prototyping. - ''; - license = stdenv.lib.licenses.mit; - platforms = with stdenv.lib.platforms; linux ++ darwin; - hydraPlatforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/interpreters/lua-5/5.2.nix b/pkgs/development/interpreters/lua-5/5.2.nix deleted file mode 100644 index e89a2cbece6..00000000000 --- a/pkgs/development/interpreters/lua-5/5.2.nix +++ /dev/null @@ -1,95 +0,0 @@ -{ stdenv, fetchurl, readline -# compiles compatibility layer with lua5.1 -, compat ? false -, callPackage -, self -, packageOverrides ? (self: super: {}) -}: - -let - dsoPatch = fetchurl { - url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/liblua.so.patch?h=packages/lua52"; - sha256 = "1by1dy4ql61f5c6njq9ibf9kaqm3y633g2q8j54iyjr4cxvqwqz9"; - name = "lua-arch.patch"; - }; - luaPackages = callPackage ../../lua-modules {lua=self; overrides=packageOverrides;}; -in -stdenv.mkDerivation rec { - name = "lua-${version}"; - luaversion = "5.2"; - version = "${luaversion}.4"; - - LuaPathSearchPaths = luaPackages.getLuaPathList luaversion; - LuaCPathSearchPaths = luaPackages.getLuaCPathList luaversion; - setupHook = luaPackages.lua-setup-hook LuaPathSearchPaths LuaCPathSearchPaths; - - src = fetchurl { - url = "https://www.lua.org/ftp/${name}.tar.gz"; - sha256 = "0jwznq0l8qg9wh5grwg07b5cy3lzngvl5m2nl1ikp6vqssmf9qmr"; - }; - - buildInputs = [ readline ]; - - patches = if stdenv.isDarwin then [ ./5.2.darwin.patch ] else [ dsoPatch ]; - - - passthru = rec { - buildEnv = callPackage ./wrapper.nix { - lua = self; - inherit (luaPackages) requiredLuaModules; - }; - withPackages = import ./with-packages.nix { inherit buildEnv luaPackages;}; - pkgs = luaPackages; - interpreter = "${self}/bin/lua"; - }; - - enableParallelBuilding = true; - - configurePhase = - if stdenv.isDarwin - then '' - makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version} CC="$CC" ) - installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.${version}.dylib" INSTALL_DATA='cp -d' ) - '' else '' - makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version} CC="$CC" AR="$AR q" RANLIB="$RANLIB" ) - installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.${luaversion} liblua.so.${version}" INSTALL_DATA='cp -d' ) - ''; - - postInstall = '' - mkdir -p "$out/share/doc/lua" "$out/lib/pkgconfig" - mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/" - rmdir $out/{share,lib}/lua/${luaversion} $out/{share,lib}/lua - mkdir -p "$out/lib/pkgconfig" - cat >"$out/lib/pkgconfig/lua.pc" <> src/Makefile - sed -e 's/ALL_T *= */& $(LUA_SO)/' -i src/Makefile - ''; - - postBuild = stdenv.lib.optionalString (! stdenv.isDarwin) '' - ( cd src; make liblua.so "''${makeFlagsArray[@]}" ) - ''; - - postInstall = '' - mkdir -p "$out/share/doc/lua" "$out/lib/pkgconfig" - mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/" - rmdir $out/{share,lib}/lua/${luaversion} $out/{share,lib}/lua - mkdir -p "$out/lib/pkgconfig" - cat >"$out/lib/pkgconfig/lua.pc" < +, externalDeps ? lib.unique (lib.filter (drv: !drv ? luaModule) (propagatedBuildInputs ++ buildInputs)) + +# Appended to the generated luarocks config , extraConfig ? "" +# Inserted into the generated luarocks config in the "variables" table +, extraVariables ? "" +# The two above arguments have access to builder variables -- e.g. to $out # relative to srcRoot, path to the rockspec to use when using rocks , rockspecFilename ? "../*.rockspec" @@ -61,44 +69,95 @@ name ? "${attrs.pname}-${attrs.version}" # Keep extra attributes from `attrs`, e.g., `patchPhase', etc. -if disabled -then throw "${name} not supported for interpreter ${lua}" -else let - - deps_dirs= lib.concatStringsSep ", " ( - map (x: "\"${builtins.toString x}\"") external_deps - ); - - # TODO - # - add rocktrees (look at torch-distro.nix/https://github.com/luarocks/luarocks/wiki/Config-file-format) - # - silence warnings - luarocks_config = "luarocksConfig"; + # TODO fix warnings "Couldn't load rockspec for ..." during manifest + # construction -- from initial investigation, appears it will require + # upstream luarocks changes to fix cleanly (during manifest construction, + # luarocks only looks for rockspecs in the default/system tree instead of all + # configured trees) + luarocks_config = "luarocks-config.lua"; luarocks_content = '' local_cache = "" - -- array of strings - external_deps_dirs = { - ${deps_dirs} - } + -- To prevent collisions when creating environments, we install the rock + -- files into per-package subdirectories + rocks_subdir = '${rocksSubdir}' + -- Then we need to tell luarocks where to find the rock files per + -- dependency rocks_trees = { + ${lib.concatStringsSep "\n, " rocksTrees} + } + '' + lib.optionalString lua.pkgs.isLuaJIT '' + -- Luajit provides some additional functionality built-in; this exposes + -- that to luarock's dependency system + rocks_provided = { + jit='${lua.luaversion}-1'; + ffi='${lua.luaversion}-1'; + luaffi='${lua.luaversion}-1'; + bit='${lua.luaversion}-1'; + } + '' + '' + -- For single-output external dependencies + external_deps_dirs = { + ${lib.concatStringsSep "\n, " externalDepsDirs} + } + variables = { + -- Some needed machinery to handle multiple-output external dependencies, + -- as per https://github.com/luarocks/luarocks/issues/766 + ${lib.optionalString (lib.length depVariables > 0) '' + ${lib.concatStringsSep "\n " depVariables}''} + ${extraVariables} } ${extraConfig} ''; + + rocksSubdir = "${attrs.pname}-${version}-rocks"; + + externalDepsDirs = map + (x: "'${builtins.toString x}'") + (lib.filter (lib.isDerivation) externalDeps); + + rocksTrees = lib.imap0 + (i: dep: "{ name = [[dep-${toString i}]], root = '${dep}', rocks_dir = '${dep}/${dep.rocksSubdir}' }") + requiredLuaRocks; + + # Filter out the lua derivation itself from the Lua module dependency + # closure, as it doesn't have a rock tree :) + requiredLuaRocks = lib.filter (d: d ? luaModule) + (lua.pkgs.requiredLuaModules propagatedBuildInputs); + + # Explicitly point luarocks to the relevant locations for multiple-output + # derivations that are external dependencies, to work around an issue it has + # (https://github.com/luarocks/luarocks/issues/766) + depVariables = lib.concatMap ({name, dep}: [ + "${name}_INCDIR='${lib.getDev dep}/include';" + "${name}_LIBDIR='${lib.getLib dep}/lib';" + "${name}_BINDIR='${lib.getBin dep}/bin';" + ]) externalDeps'; + + # example externalDeps': [ { name = "CRYPTO"; dep = pkgs.openssl; } ] + externalDeps' = lib.filter (dep: !lib.isDerivation dep) externalDeps; in toLuaModule ( lua.stdenv.mkDerivation ( -builtins.removeAttrs attrs ["disabled" "checkInputs"] // { +builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps"] // { name = namePrefix + name; buildInputs = [ wrapLua lua.pkgs.luarocks ] ++ buildInputs ++ lib.optionals doCheck checkInputs + ++ (map (d: d.dep) externalDeps') ; # propagate lua to active setup-hook in nix-shell propagatedBuildInputs = propagatedBuildInputs ++ [ lua ]; - doCheck = false; + inherit doCheck; + + # @-patterns do not capture formal argument default values, so we need to + # explicitly inherit this for it to be available as a shell variable in the + # builder + inherit rockspecFilename; + inherit rocksSubdir; # enabled only for src.rock setSourceRoot= let @@ -117,14 +176,16 @@ builtins.removeAttrs attrs ["disabled" "checkInputs"] // { cat > ${luarocks_config} <> src/Makefile + sed -e 's/ALL_T *= */& $(LUA_SO)/' -i src/Makefile + ''; + + postBuild = stdenv.lib.optionalString (!stdenv.isDarwin) '' + ( cd src; make $makeFlags "''${makeFlagsArray[@]}" liblua.so ) + ''; + }; + + lua5_3_compat = lua5_3.override({ + compat = true; + }); + + + lua5_2 = callPackage ./interpreter.nix { + sourceVersion = { major = "5"; minor = "2"; patch = "4"; }; + hash = "0jwznq0l8qg9wh5grwg07b5cy3lzngvl5m2nl1ikp6vqssmf9qmr"; + patches = if stdenv.isDarwin then [ ./5.2.darwin.patch ] else [ dsoPatch52 ]; + }; + + lua5_2_compat = lua5_2.override({ + compat = true; + }); + + + lua5_1 = callPackage ./interpreter.nix { + sourceVersion = { major = "5"; minor = "1"; patch = "5"; }; + hash = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333"; + patches = (if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch51 ]) + ++ [ ./5.1.0004-Fix-stack-overflow-in-vararg-functions.patch ]; + }; + + luajit_2_0 = import ../luajit/2.0.nix { + self = luajit_2_0; + inherit callPackage lib; + }; + + luajit_2_1 = import ../luajit/2.1.nix { + self = luajit_2_1; + inherit callPackage; + }; + +} diff --git a/pkgs/development/interpreters/lua-5/filesystem.nix b/pkgs/development/interpreters/lua-5/filesystem.nix index 7aa41e95cc9..0ac1fa30e2f 100644 --- a/pkgs/development/interpreters/lua-5/filesystem.nix +++ b/pkgs/development/interpreters/lua-5/filesystem.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { version = "1.6.2"; - name = "lua-filesystem-${version}"; + pname = "lua-filesystem"; isLibrary = true; src = fetchurl { url = "https://github.com/keplerproject/luafilesystem/archive/v1_6_2.tar.gz"; diff --git a/pkgs/development/interpreters/lua-5/interpreter.nix b/pkgs/development/interpreters/lua-5/interpreter.nix new file mode 100644 index 00000000000..fb0021cb709 --- /dev/null +++ b/pkgs/development/interpreters/lua-5/interpreter.nix @@ -0,0 +1,114 @@ +{ stdenv, fetchurl, readline +, compat ? false +, callPackage +, packageOverrides ? (self: super: {}) +, sourceVersion +, hash +, patches ? [] +, postConfigure ? null +, postBuild ? null +}: +let +luaPackages = callPackage ../../lua-modules {lua=self; overrides=packageOverrides;}; + +self = stdenv.mkDerivation rec { + pname = "lua"; + luaversion = with sourceVersion; "${major}.${minor}"; + version = "${luaversion}.${sourceVersion.patch}"; + + src = fetchurl { + url = "https://www.lua.org/ftp/${pname}-${luaversion}.tar.gz"; + sha256 = hash; + }; + + LuaPathSearchPaths = luaPackages.getLuaPathList luaversion; + LuaCPathSearchPaths = luaPackages.getLuaCPathList luaversion; + setupHook = luaPackages.lua-setup-hook LuaPathSearchPaths LuaCPathSearchPaths; + + buildInputs = [ readline ]; + + inherit patches; + + # see configurePhase for additional flags (with space) + makeFlags = [ + "INSTALL_TOP=${placeholder "out"}" + "INSTALL_MAN=${placeholder "out"}/share/man/man1" + "R=${version}" + "LDFLAGS=-fPIC" + "V=${luaversion}" + ] ++ (if stdenv.isDarwin then [ + "PLAT=macosx" + ] else [ + "PLAT=linux" + ]) ++ (if stdenv.buildPlatform != stdenv.hostPlatform then [ + "CC=${stdenv.hostPlatform.config}-gcc" + "RANLIB=${stdenv.hostPlatform.config}-ranlib" + ] else []) + ; + + configurePhase = '' + runHook preConfigure + + makeFlagsArray+=(CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" ) + makeFlagsArray+=(${stdenv.lib.optionalString stdenv.isDarwin "CC=\"$CC\""}${stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) " 'AR=${stdenv.hostPlatform.config}-ar rcu'"}) + + installFlagsArray=( TO_BIN="lua luac" INSTALL_DATA='cp -d' \ + TO_LIB="${if stdenv.isDarwin then "liblua.${version}.dylib" else "liblua.a liblua.so liblua.so.${luaversion} liblua.so.${version}"}" ) + + runHook postConfigure + ''; + inherit postConfigure; + + inherit postBuild; + + postInstall = '' + mkdir -p "$out/share/doc/lua" "$out/lib/pkgconfig" + mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/" + rmdir $out/{share,lib}/lua/${luaversion} $out/{share,lib}/lua + mkdir -p "$out/lib/pkgconfig" + + cat >"$out/lib/pkgconfig/lua.pc" <